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.

[参考译文] AM623:eFuse Keywriter CAN't run

Guru**** 2551110 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1325721/am623-efuse-keywriter-can-t-run

器件型号:AM623

您好、

我们将运行 DFU 下载以烧录 eFuse。 我们的电路板可定制 AM6234。 我们发现一个电路板无法运行 tiboot3密钥写入器。 在我们下载 tiboot3密钥写入器后、它似乎会自行重置。 DFU 日志如下所示。 我们还尝试使用常规 tiboot3.bin (支持 DFU)下载到同一电路板。 我们可以从调试控制台收到调试消息并下载 tispl.bin/u-boot.bin。 您 对此电路板有什么建议吗?  

PS C:\Users\TEST\Desktop\ECSFactoryDfuTool> .\dfu-util.exe -l
dfu-util 0.11-msvc

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2021 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to sourceforge.net/.../

Found DFU: [0451:6165] ver=0200, devnum=51, cfg=1, intf=0, path="1-5.4", alt=0, name="bootloader", serial="01.00.00.00"
Found DFU: [0451:6165] ver=0200, devnum=51, cfg=1, intf=0, path="1-5.4", alt=1, name="SocId", serial="01.00.00.00"
PS C:\Users\TEST\Desktop\ECSFactoryDfuTool> .\dfu-util.exe -c 1 -i 0 -a bootloader -D C:\Users\TEST\Desktop\ECSFactoryDfuTool\tiboot3_keywriter2.bin
dfu-util 0.11-msvc

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2021 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to sourceforge.net/.../

Warning: Invalid DFU suffix signature
A valid DFU suffix will be required in a future dfu-util release
Opening DFU capable USB device...
Device ID 0451:6165
Device DFU version 0110
Claiming USB DFU Interface...
Setting Alternate Interface #0 ...
Determining device status...
DFU state(2) = dfuIDLE, status(0) = No error condition is present
DFU mode device DFU version 0110
Device returned transfer size 512
Copying data from PC to DFU device
Download        [=========================] 100%       279323 bytes
Download done.
DFU state(6) = dfuMANIFEST-SYNC, status(0) = No error condition is present
unable to read DFU status after completion (LIBUSB_ERROR_PIPE)
PS C:\Users\TEST\Desktop\ECSFactoryDfuTool> .\dfu-util.exe -l
dfu-util 0.11-msvc

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2021 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to sourceforge.net/.../

Found DFU: [0451:6165] ver=0200, devnum=59, cfg=1, intf=0, path="1-5.4", alt=0, name="bootloader", serial="01.00.00.00"
Found DFU: [0451:6165] ver=0200, devnum=59, cfg=1, intf=0, path="1-5.4", alt=1, name="SocId", serial="01.00.00.00"

此致、

尼尔

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

    您好、Neil:

    您能否检查一下应该无法正常使用 Keywriter 二进制的电路板的设备类型。

    ~/ti
    ❯ dfu-util -l
    dfu-util 0.11
    
    Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
    Copyright 2010-2021 Tormod Volden and Stefan Schmidt
    This program is Free Software and has ABSOLUTELY NO WARRANTY
    Please report bugs to sourceforge.net/.../
    
    Found DFU: [0451:6165] ver=0200, devnum=32, cfg=1, intf=0, path="1-7.3", alt=1, name="SocId", serial="01.00.00.00"
    Found DFU: [0451:6165] ver=0200, devnum=32, cfg=1, intf=0, path="1-7.3", alt=0, name="bootloader", serial="01.00.00.00"
    Found DFU: [0451:6165] ver=0200, devnum=28, cfg=1, intf=0, path="1-3.4", alt=1, name="SocId", serial="01.00.00.00"
    Found DFU: [0451:6165] ver=0200, devnum=28, cfg=1, intf=0, path="1-3.4", alt=0, name="bootloader", serial="01.00.00.00"
    
    ~/ti
    ❯ dfu-util -p 1-3.4 -a SocId -U socid.bin
    dfu-util 0.11
    
    Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
    Copyright 2010-2021 Tormod Volden and Stefan Schmidt
    This program is Free Software and has ABSOLUTELY NO WARRANTY
    Please report bugs to sourceforge.net/.../
    
    Opening DFU capable USB device...
    Device ID 0451:6165
    Device DFU version 0110
    Claiming USB DFU Interface...
    Setting Alternate Interface #1 ...
    Determining device status...
    DFU state(2) = dfuIDLE, status(0) = No error condition is present
    DFU mode device DFU version 0110
    Device returned transfer size 512
    Copying data from DFU device to PC
    Upload  [=========================] 100%          200 bytes
    Upload done.
    Received a total of 200 bytes
    
    ~/ti
    ❯ xxd socid.bin
    00000000: 0200 0000 011a 0000 616d 3632 7800 0000  ........am62x...
    00000010: 0000 0000 4853 4653 0100 0100 0100 0100  ....HSFS........
    00000020: 02a6 0000 0000 0000 d68e cb2c 055d ff11  ...........,.]..
    00000030: ade9 5bd9 27e8 37d2 a53b c23b 0a28 00ce  ..[.'.7..;.;.(..
    00000040: bce4 f106 bcf3 09df 2213 912d 77a1 57a8  ........"..-w.W.
    00000050: b7c2 df40 672a 06a9 1803 4aa4 c7d6 03e4  ...@g*....J.....
    00000060: 6248 1475 225d 49b8 ad0b c40b 0000 0000  bH.u"]I.........
    00000070: 0000 0000 0000 0000 0000 0000 0000 0000  ................
    00000080: 0000 0000 0000 0000 0000 0000 0000 0000  ................
    00000090: 0000 0000 0000 0000 0000 0000 0000 0000  ................
    000000a0: 0000 0000 0000 0000 3ce3 196f 42d0 f57f  ........<..oB...
    000000b0: 4aee 9f71 56b4 225d 2dec 3410 0458 bff5  J..qV."]-.4..X..
    000000c0: af16 e0cf 2823 2b4e                      ....(#+N
    

    此致、

    普拉桑特

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

    尊敬的  Prashant:

    按照步骤获取器件类型、即 HS-SE。 但我们以前不会在此板上烧写电子保险丝。 我们也无法使用 HS-SE 映像来引导此电路板。  这是非常奇怪的。

    00000000: 0200 0000 011a 0000 616d 3632 7800 0000  ........am62x...
    00000010: 0000 0000 4853 5345 0100 0100 0100 0100  ....HSSE........
    00000020: 02a6 0000 0100 0200 d68e cb2c 055d ff11  ...........,.]..
    00000030: ade9 5bd9 27e8 37d2 a53b c23b 0a28 00ce  ..[.'.7..;.;.(..
    00000040: bce4 f106 bcf3 09df 2213 912d 77a1 57a8  ........"..-w.W.
    00000050: b7c2 df40 672a 06a9 1803 4aa4 c7d6 03e4  ...@g*....J.....
    00000060: 6248 1475 225d 49b8 3ef5 1224 299e 8e45  bH.u"]I.>..$)..E
    00000070: 5baf 11bd 5025 d108 783a f743 2997 a6f2  [...P%..x:.C)...
    00000080: 1f60 7a1b ee5b caa6 7cd9 a589 c145 32e8  .`z..[..|....E2.
    00000090: 65d8 b514 3904 ef99 d7f4 f333 3618 91c8  e...9......36...
    000000a0: 24c5 9bcc b856 03a6 a248 9e6f 542e 3d7b  $....V...H.oT.={
    000000b0: b9ca 37e6 16be f65d 0257 f9a7 e993 c5cb  ..7....].W......
    000000c0: b90d bfd1 ae06 431d                      ......C.
    

    此致、

    尼尔

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

    您好、Neil:

    好的、这解释了 Keywriter 二进制由于只能在 HSFS 器件上引导而无法引导的原因。

    但是我们以前没有在该主板上烧写电子保险丝。

    SoC 从 TI 工厂进入 HSFS 状态。 因此、唯一的可能是您可能需要在某个时间成功运行 Keywriter 二进制并将设备转换为 HSSE、但没有注意到。

    因此、该设备是 HSSE、我们可以重点说明您无法启动 HSSE 映像的原因。

    最可能的原因是您没有使用已编程的密钥对映像签名、因此 ROM 拒绝该映像、从而导致引导失败。 您需要确认是否使用了正确的按键。 具体的方法是:

    1) 1)解析 ROM 中的 SoCId 转储、并记下活动 MPK 的 SHA512哈希("次级客户 MPK 哈希"字段)。

    /cfs-file/__key/communityserver-discussions-components-files/791/0825.uart_5F00_boot_5F00_socid.py

    ~/ti
    ❯ xxd -p -c 10000 socid.bin > socid.txt
    
    ~/ti
    ❯ python3 7080.uart_boot_socid.py socid.txt
    -----------------------
    SoC ID Header Info:
    -----------------------
    NumBlocks            : [2]
    -----------------------
    SoC ID Public ROM Info:
    -----------------------
    SubBlockId           :
    SubBlockSize         :
    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        : 3ce3196f42d0f57f4aee9f7156b4225d2dec34100458bff5af16e0cf28232b4e
    

    2)检查与您用于对图像进行签名的私钥对应的公钥的 SHA512散列值。 下面显示了有关如何提取公钥并获取 SHA512哈希的示例:

    ~/ti/otp_keywriter/am62x/09_00_00/sbl_keywriter/scripts/cert_gen/am62x/keys_devel
    ❯ openssl rsa -in smpk.pem -outform der -pubout -out smpk.pubkey
    writing RSA key
    
    ~/ti/otp_keywriter/am62x/09_00_00/sbl_keywriter/scripts/cert_gen/am62x/keys_devel
    ❯ openssl dgst -sha512 -binary smpk.pubkey | xxd -c 10000 -p
    1f6002b07cd9b0b7c47d9ca8d1aae57b8e8784a12f636b2b760d7d98a18f189760dfd0f23e2b0cb10ec7edc7c6edac3d9bdfefe0eddc3fff7fe9ad875195527d
    

    如果在步骤2中转储的 SHA512哈希与 ROM 报告的活动已编程公钥的 SHA512哈希匹配、则您使用的是正确的密钥、否则您 使用的是解释为什么无法引导映像的错误密钥。

    注意:请勿在此公共论坛上共享任何自定义密钥、尤其是私有和对称的 AES 加密密钥。

    此致、

    普拉桑特

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

    尊敬的 Prashant:

     SHA512哈希 完全相同。 我将和我们的硬件工程师讨论这个问题。 感谢您的帮助和提醒

    此致、

    尼尔

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

    您好、Neil:

    感谢您的更新。 请告诉我、以防您需要与该主题相关的进一步支持。

    此致、

    普拉桑特