This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM6442:在 AM64x 上切换到备用密钥

Guru**** 2393725 points
Other Parts Discussed in Thread: UNIFLASH

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1491957/am6442-switching-to-backup-keys-on-am64x

器件型号:AM6442
主题中讨论的其他器件:UNIFLASH

工具与软件:

我已经将 SMPK 和 BMPK 哈希值编程到 AM64x 中、并将 KEYREV 设置为1。 我正在尝试切换到备份密钥、以验证在 SMPK 受损时可以切换和从备份密钥引导。  

我尝试遵循 此文档 和 论坛帖子、 但没有成功。 我采取的步骤如下:  

1. 我制作了 dual_cert_keyrev.bin 和 dual_cert_keyrev.h 文件。  我的 SMPK 和 BMPK 单独存储在安全服务器上、而不是我在其上安装了 TI MCU 和 SDK 的服务器上。 我  在安全服务器上构建 dual_cert_keyrev.bin 和 dual_cert_keyrev.h、然后将这些文件传输到安装了 TI MCU PLUS SDK 的单独服务器。

2.我将 dual_cert_keyrev.h 文件放入"mcu_plus_sdk_am64x_10_01_00_32/examples/otp/runtime_keyrev/dual_cert_keyrev.h"。  

3.我打开了"mcu_plus_sdk_am64x_10_01_00_32/devconfig/devconfig.mak"、并将"device_type?=HS"更 GP 改为"device_type?=HS"

4.我打开"mcu_plus_sdk_am64x_10_01_00_32/examples/otp/runtime_keyrev/am64x-evm/r5fss0-0_nortos/main.c"、并将"#define UPDATE_KEYREV   (0U   )"更改为"#define UPDATE_KEYREV (1U)"。

5.我从"mcu_plus_sdk_am64x_10_01_00_32/examples/otp/runtime_keyrev/am64x-evm/r5fsspython3 uart_uniflash.py -p "cmg"/dev/ttyUSB0 - cfg=default_runtime_keyrev_hs.cf0-0_nortos/ti-arm-clang/"运行"make"

6.我从"mcu_plus_sdk_am64x_10_01_00_32/examples/drivers/boot/sbl_uart_uniflash/am64x-evm/r5fss0-0_nortos/ti-arm-clang/"运行"make"

7.我将我的设备置于 UART 引导模式。

8.我运行"python uart_uniflash.py -p  -- cfg= "

我无法成功传输"runtime_keyrev.release.hs.tiimage"文件。 我收到以下错误或类似的错误、尝试传输"runtime_keyrev.release.hs.tiimage":

有人可以建议吗? 除构建  dual_cert_keyrev.bin 和 dual_cert_keyrev.h 文件之外、此过程的任何部分是否需要 SMPK 或 BPMK? 我将这些文件存储在与运行"make"命令的服务器不同的服务器上。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    映像本身需要使用活动的编程密钥进行签名。 由于您当前已将 KEYREV 设置为1、您是否确保 SBL_UART_UNIFLASH 和 KEYREV 示例映像使用正确的 SMPK 进行了签名?

    谢谢!  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您能否详细说明示例映像  是如何获得签名的? 我需要将密钥放在哪里才能签署这些图像?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我想我关于映像如何签名的问题已经解决、现在我要对"runtime_keyrev.release.hs.tiimage"和"bl_uart_uniflash.debug.hs.tiimage'都进行签名。  

    但是、我仍然无法  成功地将"runtime_keyrev.release.hs.tiimage"传输到器件。 它始终挂起在0%、并且始终不进行。

    有人能就我可能做错了什么提供建议吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    如果不是第一次刷写、您以前如何刷写映像? 另外、如何启动用于 HSFS 到 HSSE 转换的 Keywriter 图像?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Prashant、您好!  

    我可以切换到备用键。 我不知道原因、但启用 VPP 以进行 OTP 更改的逻辑返回失败。 但是、当我编辑示例代码以包括启用 VPP 但注释掉检查结果的行时、我没有问题。 我相信 VPP 已经启用、但由于某种原因、读取失败。 我不知道其他客户是否有类似的行为、所以我想指出--谢谢。