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.

[参考译文] AM625:未启用 AM625 安全启动

Guru**** 2652475 points

Other Parts Discussed in Thread: AM625

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1591997/am625-am625-secure-boot-is-not-enabled

器件型号: AM625

尊敬的 TI

我正在根据“AM62X_OTP_ADDR.11.01.00.pdf"验证“验证安全启动 Keywriter_User_Guide_

我安装了所有必需的软件包和 SDK 并执行以下命令。

4.2.3 生成 Keywriter 证书

  • ./gen_keywr_cert.sh --mSv 0xC0FFE -t tifek/ti_fek_public.pem

那么我可以在 source/sbl_keywriter/scripts/cert_gen/x509cert/中找到“final_certificate.bin"</s>“

4.2.4 编译示例

  • 使-sj clean profile=调试&&使-SJ profile=调试

然后、我可以在 source/security/sbl_keywriter/am62x-sk/r5fss0-0_nortos/ti-arm-clang 中找到 tiboot3.bin

我将 AM625_SK EVM 设置为 SD 引导模式并使用此 tiboot3.bin 引导

下面是 R5 的日志、很遗憾我错过了 M4 日志、但可以确认 DEBUG_RESPONSE 为 0x0000 和“Success Programming Keys“消息。

0x420002
0x820024
0x4003007
0x4400B17
0x409031
0x800023

# Decrypting extensions..
#
MPK Options:  0x0
MEK Options:  0x0
MPK Opt P1:  0x0
MPK Opt P2:  0x0
MEK Opt   :  0x0

SMPKH extension programming disabled
SMEK extension programming disabled
EXT OTP extension programming disabled

* BCH code & MSV: fe0fac8b
JTAG DISABLE programming disabled
KEY CNT extension programming disabled
KEY REV extension programming disabled
SWREV extension programming disabled
FW CFG REV extension programming disabled

* KEYWR VERSION:  0x20000

#
# Programming Keys..
#

* MSV:
[u32] bch + msv:  0x0
Programmed 2/2 rows successfully
[u32] bch + msv:  0x8BAC0FFE

* JTAG DISABLE:
[u32] JTAG DISABLE:  0x0
JTAG DISABLE extension programming disabled
[u32] JTAG DISABLE:  0x0

* SWREV:
[u32] SWREV-SBL:  0x1
[u32] SWREV-SYSFW:  0x1
SWREV extension programming disabled
[u32] SWREV-SBL:  0x1
[u32] SWREV-SYSFW:  0x1

* FW CFG REV:
[u32] SWREV-FW-CFG-REV:  0x1
SWREV SEC BCFG extension programming disabled
[u32] SWREV-FW-CFG-REV:  0x1

* EXT OTP:
EXT OTP extension programming disabled

* BMPKH, BMEK:
BMPKH extension programming disabled
BMEK extension programming disabled

* SMPKH, SMEK:
SMPKH extension programming disabled
SMEK extension programming disabled

* KEYCNT:
[u32] keycnt:  0x0
KEY CNT extension programming disabled
[u32] keycnt:  0x0

* KEYREV:
[u32] keyrev:  0x0
KEY REV extension programming disabled
[u32] keyrev:  0x0

但当我使用 UART 引导检查引导日志时、仍然是 HSFS

-----------------------
SoC ID Header Info:
-----------------------
NumBlocks            : 2
-----------------------
SoC ID Public ROM Info:
-----------------------
SubBlockId           : 1
SubBlockSize         : 26
DeviceName           : am62x
DeviceType           : HSFS
DMSC ROM Version     : [0, 1, 0, 1]
R5 ROM Version       : [0, 1, 0, 1]
-----------------------
SoC ID Secure ROM Info:
-----------------------
Sec SubBlockId       : 2
Sec SubBlockSize     : 166
Sec Prime            : 0
Sec Key Revision     : 0
Sec Key Count        : 0
Sec TI MPK Hash      : d68ecb2c055dff11ade95bd927e837d2a53bc23b0a2800cebce4f106bcf309df2213912d77a157a8b7c2df40672a06a918034aa4c7d603e462481475225d49b8
Sec Cust MPK Hash    : ad0bc40b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Sec Unique ID        : c090e3c49076ef1bfab52a03204c9df515e10237962b22e0c8c2fe099281ac1a

您能检查一下、让我知道如何进行调试吗?

BR

杰斯

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

    您好:

    但当我通过 UART 引导检查引导日志时、它仍然是 HSFS

    这是因为您只对 MSV 进行了编程。 您必须与某些其他字段一起对密钥进行编程、才能将设备转换为 HSSE。 请参阅 Keywriter 用户指南的“一次性编程“部分。

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

    您好 Prashant

    我根据“一次性编程“制作了一个新的密钥写入器

     ./gen_keywr_cert.sh -t tifek/ti_fek_public.pem --msv 0xC0FFE -b keys_devel/bmpk.pem --bmek keys_devel/bmek.key -s keys_devel/smpk.pem --smek keys_devel/smek.key --keycnt 2 --keyrev 1
    
    # Using MSV[19:0]: 0x000C0FFE
    # Using Key Count: 0x00000003
    # Using Key Rev: 0x00000001
    Generating Dual PKCS#1v1.5 signed certificate!!
    GEN: AES256 key generated, since not provided
    # encrypt aes256 key with tifek public part
    # encrypt SMPK-priv signed aes256 key(hash) with tifek public part
    # encrypt smpk-pub hash using aes256 key
    # encrypt smek (sym key) using aes256 key
    # encrypt BMPK-priv signed aes256 key(hash) with tifek public part
    # encrypt bmpk-pub hash using aes256 key
    # encrypt bmek (sym key) using aes256 key
    1668    secondary_cert.bin
    5413    primary_cert.bin
    7081    ../x509cert/final_certificate.bin
    # SHA512 Hashes of keys are stored in verify_hash.csv for reference..

    但当我尝试使用这个二进制文件进行引导时、会导致如下所示的错误。

    正在启动密钥写入
    已启用 VPP

    SYSFW 固件版本 11.1.7-v11.01.07_am62x_keywrite
    SYSFW 固件版本 0xb
    SYSFW ABI 修订版 4.0

    找到的密钥证书:0x43c15800
    Keywriter 调试响应:0x42000000
    发生错误...

    我使用了同一个板,我执行了二进制只编程 MSV。

    我应该使用从未执行 Keywriter 的新电路板吗?

    BR

    杰斯

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我使用的是同一个板、我只使用编程的 MSV 执行了二进制。

    由于您已经对 MSV 进行了编程、因此请在新证书中删除“--mSv"选项“选项以跳过对它进行编程。

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

    您好 Prashant

    我可以成功写入所有 OTP 数据、并使用带默认密钥的已签名映像启动电路板

    感谢你的帮助

    BR

    杰斯