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.

[参考译文] AM62P:安全启动:熔断不正确? 主板坏了? 引导加载程序未引导

Guru**** 2529560 points
Other Parts Discussed in Thread: AM62P

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1565703/am62p-secure-boot-fusing-incorrect-board-bricked-bootloader-not-booting

部件号:AM62P


工具/软件:

您好 TI 支持团队:

我之前已经在 AM62x 平台上成功使用了安全启动。

现在、我已经切换到 AM62P 平台。

我已运行脚本以生成证书数据:

vari@22-04-dd7218bb:/workdir/ti/tools/mcu_plus_sdk_am62px_09_01_00_39/source/security/sbl_keywriter/scripts/cert_gen/am62px ./gen_keywr_cert.sh -t tifek/SR_10/ti_FEK_public.pem --mSv 0xC0FFE -s keys_variscite/v15/smpk.pem --smek keys_variscite/smek.key --keycnt 1 --keyrev 1.
#使用 MSV[19:0]:0x000C0FFE
#使用密钥计数:0x00000001
#使用密钥修订版:0x00000001
正在生成单个 PKCS#1v1.5 签名证书!!
Gen:生成 AES256 密钥、因为未提供
#使用 tifek 公共部分加密 AES256 密钥
#加密 SMPK-priv 签名的 AES256 密钥(哈希)与 tifek 公共部分
#使用 AES256 密钥加密 smpk-pub 哈希
#使用 AES256 密钥加密密钥(sym 密钥)
  4000 primary_cert.bin
4000  ./x509cert/final_certificate.bin
# SHA512 密钥哈希存储在 verify_hash.csv 中以供参考。

生成的证书小于 6144 字节、因此使用此证书不会出现问题。

OPT Keywriter 应用程序也可以正常运行:

正在启动 Keywriter
已启用 VPP

DMSC 固件版本 9.2.6-v09.02.06-1-gdf86f (Kool  
DMSC 固件版本 0x9
DMSC ABI 修订版 3.1

找到的密钥证书:0x43c16180  
Keywriter 调试响应:0x0  
成功编程密钥

和 R5 调试 UART 的输出(手动固定线路中断)

0x420002
0x820024
0x4003007
0x4400926
0x409031
0x800023
#
#解密扩展。
#
MPK 选项: 0x0
MEK 选项: 0x0
MPK 选项 P1: 0x0
MPK 选项 P2: 0x0
MEK 选项  : 0x0
* SMPKH Part 1 BCH 编码: 4015b659
* SMPKH Part 2 BCH 编码: 805d5266
* SMPK 哈希(部件 1、2):
80477e19bab40ac1c4b5f07bf5fd28bfc67acf287a3c483dd966ebb7815d735600
5169cb6bb910920433385f1effb2959aee999658632d777622096356cf71689500

* SMEK BCH 编码: a0baa5f9.

* SMEK 哈希: d02875397179a2a800ef07a8342f873472764a6f2dbf6e5c02540a0fb17a3045f21ff7d1748e1ce1779a17c6084cff95875b9d5acf986c7d0527b306b4620

禁用外部 OTP 扩展编程
* BCH 码& MSV: fe0fac8b

*键 CNT: 01010000

*键 REV:01010000

禁用 SWREV 扩展编程

已禁用 FW CFG REV 扩展编程

* KEYWR 版本: 0x20000

#
#编程密钥...
#

* MSV:  
[u32] BCh + mSv: 0x0
已成功编程 2/2 行
[u32] BCH + mSv: 0x8BAC0FFE

* SWREV:  
[U32] SWREV_SBL: 0x1
[u32] SWREV-SYSFW : 0x1.
禁用 SWREV 扩展编程
[U32] SWREV_SBL: 0x1
[u32] SWREV-SYSFW : 0x1.

* FW CFG REV:  
[u32] SWREV-FW-CFG-REV: 0x1
禁用 SWREV SEC BCFG 扩展编程
[u32] SWREV-FW-CFG-REV: 0x1

*外部 OTP:  
禁用外部 OTP 扩展编程

* BMPKH、BMEK:  
BMPKH 扩展编程已禁用
BMEK 扩展编程已禁用

* SMPKH、SMEK:  
已成功编程 11/11 行
已成功编程 2/2 行
已成功编程 11/11 行
已成功编程 2/2 行
已成功编程 11/11 行
已成功编程 2/2 行

* KEYCNT:  
[u32] keycnt: 0x0
已成功编程 2/2 行
[u32] keycnt: 0x1

* KEYREV:  
[u32] keyrev: 0x0
已成功编程 2/2 行
[u32] keyrev: 0x1

之后、我获取了文件 key_variscite/v15/smpk.pem 并将其包含在 Yocto 构建过程中。

我还使用 md5sum 进行了验证、因此该文件正在生成目录中使用。

问题如下:

当我使用 Yocto 构建之后收到的 SD 卡时、不会出现任何情况。

这向我表明 tiboot3.bin 验证不起作用、因为我已经从 tiboot3.bin 获得了第一个 UART 输出(正确吗?)

我已经检查了生成的 tiboot3.bin 文件是否与 hs-variante 相同(而不是来自 hs-fs 二进制文件)。

我希望您能查看提供的日志文件。

生成证书时出错了吗? 是否缺少某些(基本)内容?

我删除了电路板配置软件版本的设置(假设我不需要这些设置)(也从不在 AM62x 上设置这些设置)。

OTP Keywriter 的日志是否显示任何内容?

或者、由于熔断过程看起来正常、我是否应该重点关注构建 U-Boot 二进制文件的相关配置?

是否有方法在开发 PC 上测试生成的 tiboot3.bin?

提前感谢。

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

    对噪音表示歉意。

    我让它正常工作。

    我实际上在选择正确的引导介质时遇到问题。

    我现在可以使用已签名的 tiboot3.bin 从 SD 卡引导