安全引导加载程序测试

⚠️
大家好. .谢谢光临论坛。令人兴奋的消息!我们现在在移动的过程中,我们的新论坛平台,将提供更好的功能和包含在主对话框的网站。所有文章和帐户已经被迁移。我们现在只接受交通新论坛,请发布任何新的线程//www.xmece.com/support。我们将修复bug /优化搜索和标签在接下来的日子里。
9新职位/ 0
最后发表
托马斯Donhauser
离线
最后看到:2个月3周前
加入:2019-10-20 10:45
安全引导加载程序测试

这就跟你问声好!

我需要测试安全引导加载程序之前OTP闪过。因此我有3个问题:

1)什么是最好的方式来测试引导加载程序本身?现在我在做它开始由SS-Studio在RAM中。但不知道这是对还是错?

2)如何写只有钥匙OTP ?我能做这cli_programmer吗?是肯定的,如何?

3)如何没有禁用JTAG我猛击USB-Kit,即使安全引导加载程序是OTP闪过。

几天以来我读文档,但很担心杀死我的重击董事会通过与OTP做错了什么。

谢谢,

托马斯。

设备:
PM_Dialog
离线
最后看到:3天2小时前
工作人员
加入:2018-02-08 11:03
你好托马斯•Donhauser

你好托马斯•Donhauser

谢谢你的问题。你能请注明DA1468x产品你使用吗?DA14680/681或DA14682/683吗?此外,这是DA14682 / DA14683安全引导教程你是指的文档?

谢谢,PM_Dialog

托马斯Donhauser
离线
最后看到:2个月3周前
加入:2019-10-20 10:45
你好,这是da14683 USB-Kit

你好,这是da14683 USB-Kit重击。我已经知道你提到的链接。但它不规定如何测试一个安全的引导加载程序。这只是一个简单描述如何用SS-IDE脚本。请详细参考我的三个问题吗?

谢谢!

PM_Dialog
离线
最后看到:3天2小时前
工作人员
加入:2018-02-08 11:03
你好托马斯•Donhauser

你好托马斯•Donhauser

在启用了安全启动,BootROM禁用JTAG默认情况下。您可以从您的应用程序通过配置实现JTAG的SYS_CTRL_REG [DEBUGGER_ENABLE]设置为了获得调试器。然而“安全启动”的概念是没有JTAG访问,通过这种方式,系统将变得不安全。如果您想启用JTAG从您的应用程序,因为您启用了安全引导机制,应该注意以下:

  • 如果SECURE_BOOT_REG [FORCE_DEBUGGER_OFF由应用程序设置为1,系统调试器门限是完全禁用。没有办法恢复。
  • 如果安全设备(0 x7f8ea68)字段写入0 xaa OTP的头,然后设备是安全的,所有安全装备包括启用
  • 应用图像应该全功能之前安全引导机制。如果不恢复这个功能没有任何方法。如果是功能性和你想重写QSPI Flash,这应该是用相同的密钥存储在OTP和通过JTAG。
  • 我强烈推荐有一些额外的开发板,以防安全启动失败。这种机制应用于图像使应用程序访问和脆弱。
  • 确保应用程序固件功能齐全,启用调试器设置。请跟随本教程一步一步。请记住,这是我们这边的双重考验。

希望我的评论将帮助你。如果你有任何其他跟进的问题,请让我知道。

谢谢,PM_Dialog

托马斯Donhauser
离线
最后看到:2个月3周前
加入:2019-10-20 10:45
你好,

你好,

谢谢你的说。很抱歉,但你的雁属不能帮助。本教程mentoniend上面的步骤怎么做它与SS-Studio interessting信息隐藏在脚本。但是对于生产是不推荐这样做。脚本运行太多步骤在ar没有记录在某种程度上我觉得comfable。所以我猜我堵塞分析脚本工具来获取所需的信息。我是一个真正的球迷的SS-Studio da14683我#米满意。唯一的缺点是文档。至少,任何描述任何地方但我把所有部分信息稳定的画面。

如果你看我的三个问题你会发现非回答为止。给我提示教程就像你很没有经验。因为我'f读他们已经在我问你在支持。你在芯片的人做得很好,但是你在记录interessting部分给搞砸了!

PM_Dialog
离线
最后看到:3天2小时前
工作人员
加入:2018-02-08 11:03
你好托马斯•Donhauser

你好托马斯•Donhauser

我在你的查询和回到你很快。

谢谢,PM_Dialog

托马斯Donhauser
离线
最后看到:2个月3周前
加入:2019-10-20 10:45
谢谢,太好了!

谢谢,太好了!

PM_Dialog
离线
最后看到:3天2小时前
工作人员
加入:2018-02-08 11:03
亲爱的托马斯•Donhauser

亲爱的托马斯•Donhauser

请在下面找到我的碧眼。极

问题1:是的,你是正确的。这是正确的方法来测试引导加载程序本身。你应该通过SS-Studio RAM执行它。

问题2:是的,你可以使用cli_programmer为了写只有OTP的钥匙。请打开cli-programmer。exe和执行命令的帮助:

cli-programmer。exe -返回语法:…write_key < sym | asym > < key_idx > <键>写对称或非对称密钥及其反演的OTP存储器。< key_idx >是一个关键的OTP(和反键)指数。这个论点有效范围为0 - 3为非对称密钥和鹿对称密钥。<键>是一个关键的十六进制字符串没有任何前缀如00112233 aabbccdd。非对称密钥必须从32到64字节长度和对称密钥必须有32个字节的长度。read_key [< sym | asym > [key_idx]]读对称或非对称密钥。如果不通过(key_idx)然后读所有的非对称和对称密钥(类型选择< sym | asym >)。如果< sym | asym >不通过,那么所有的非对称和对称密钥读取……

如何编写一个关键OTP

程序只有一个关键OTP,使用下面的命令语法(gdbserver开始后下面的语法,否则可以使用UART)下面的例子:

cli_programmer gdbserver write_otp 0 x07f8e8c0 8 0 x2b7e1516 0 x28aed2a6 0 xabf71588 0 x09cf4f3c 0 x809079e5 0 x62f8ead2 0 x522c6b7b 0 xc810f32b

你可以读回钥匙使用命令语法:

cli_programmer gdbserver read_otp 0 x07f8e8c0 20

读取的结果:

1 d18 16 15 7 e 2 b A6 D2 AE 28 . . ~ +…(1 d19 88 15 F7 AB 3 c 4 f CF 09年.... < O . .62年1 d1a E5 79 90 80 D2 EA F8 .y .....1 d1b 7 b 6 b 2 c 52 2 b F3 C8 {10 k, R +……

从UART写作过程安全启动设备

这是一个从UART写作过程安全启动设备。GDB服务器也可以使用,而不是UART与cli_programmer命令行。

  • 编写安全的橄榄球员的OTP使用的cli_programmer命令write_otp_exec
  • 写作的关键的OTP使用cli_programmer命令write_key

为了你的方便,你会发现附加一个文件夹作为参考。请检查的命令。批处理文件的执行顺序是显而易见的从他们的名字(我让他们从订单号)

操作准备安全的引导设备分为两(2)段:

段# 1:准备工作的开发人员

  1. 生成product_keys.xml文件写在产品的关键。生成的密钥和文件可以SmartSnippets工作室,或使用mkimage。exe(见mkimage.exe的帮助),或者手动。唯一重要的事情是保持格式。

重要:不要失去这个文件。如果这是失去了就不可能创建一个新的有效的图像的设备。

  1. 生成secure_img_cfg.xml。生成的文件可以SmartSnippets工作室,或使用一个批处理文件的附加或者手动。唯一重要的事情是保持格式。

  1. 构建应用程序图像(例如pxp_reporter)。最重要的是与SUOTA建立这个功能

  1. 为OTP构建安全引导加载程序。最重要的是使用相同的分区表上面的应用程序。

  1. sw_version。h的二进制文件,批处理文件和XML文件以避免长路径

段# 2:步骤运行在大规模生产或试验台。

  1. 程序的闪光:
    1. 弗兰克-威廉姆斯的图像
    2. 图片标题
    3. 的资源
  2. OTP程序的关键
  3. 程序安全OTP的引导加载程序
  4. 启用安全OTP的启动和生产模式

在附带的ZIP文件的批处理文件参考上面所有的步骤。

非常重要的注意:

libprogrammer必须与下面的修正补丁,然后重建libprogrammercli_programmer.exe之前项目设备在安全的引导。

没有这个补丁可能会有超时OTP的钥匙和写作时失败。

diff - git /工具/ cli_programmer / libprogrammer / protocol_cmds。c b /工具/ cli_programmer / libprogrammer / protocol_cmds。c指数e2f592a . .6609 e23 100644 - - - /工具/ cli_programmer / libprogrammer / protocol_cmds。c + + + b /工具/ cli_programmer / libprogrammer / protocol_cmds。c @@ -733 7 + 733 7 @@ int protocol_cmd_write_otp (uint32_t地址,const uint32_t * buf uint32_t len)返回错误;}-呃= wait_for_ack (150);+呃= wait_for_ack (1500);返回错误;}

问题3:如前所述在我之前的评论,是的,你可以在应用程序代码中启用它。罗橄榄球员不会使它在安全模式启动。

生产线工具(PLT)

对话框设计了一个生产测试和编程单元,使您能够降低成本,增加单位体积的吞吐量测试和编程。

易于集成:基于DLL的命令

-灵活的编程OTP / Flash / eepm(安全引导还支持)

——低成本的测试设备

-高度的并行化和短的测试时间。

- 16倍并行编程和测试

请看看我们的PLT支持网页

//www.xmece.com/亚博电竞菠菜products/production-line-tool

最好的问候,

PM_Dialog

托马斯Donhauser
离线
最后看到:2个月3周前
加入:2019-10-20 10:45
亲爱的PM_Dialog !

亲爱的PM_Dialog !

非常感谢!你周末的详细回答抬起我的心灵。我将验证每个提示并执行你的建议与反馈回来之后。

问候,
托马斯。