工具/软件:
您好 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?
提前感谢。