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 OTP Keywriter 未知调试响应代码

Guru**** 2407570 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1488583/am6442-am64x-otp-keywriter-unknown-debug-response-codes

器件型号:AM6442

工具与软件:

我在开发套件上使用 AM64x 处理器运行 OTP Keywriter。  我使用的是 OTP Keywriter 版本10.00.08和 MCU PLUS SDK 版本10.00.00.20。

我正在尝试对 SMPK 和 BMPK 字段进行编程、并且收到无法解释的调试响应。 我能够成功地对"JTAG Disable"和 MSV 字段进行编程。 我还可以告诉大家、我的 SMPK 和 BMPK 哈希已按预期进行解析。  

我已经在  SMPKH 第1部分和 BMPKH 第1部分字段中分别收到了以下调试响应:0x10000和0x800。  

我在本文档中找不到有关这些调试响应的任何信息、我一直在引用这些信息来解释调试响应代码: https://software-dl.ti.com/tisci/esd/latest/2_tisci_msgs/security/keywriter.html#otp-key-writer-error-code。

有人可以帮助解决什么问题吗? 尝试对 BMPK 和 SMPK 字段进行编程时、附件为 m3日志(为确保成功、已删除实际哈希):

#
# Decrypting extensions..
 #
  MPK Options:  0x0
   MEK Options:  0x0
MPK Opt P1:  0x0
MPK Opt P2:  0x0
MEK Opt   :  0x0
 * SMPKH Part 1 BCH code: e0fe9cbb
  * SMPKH Part 2 BCH code: 80618df2
   * SMPK Hash (part-1,2):
  <as expected>
   SMEK extension programming disabled
  * BMPKH Part 1 BCH code: 00406969
* BMPKH Part 2 BCH code: 603adee0
 * BMPK Hash (part-1,2):
<ask expected>
 BMEK extension programming disabled
EXT OTP extension programming disabled
  * BCH code & MSV: 01009053
 * KEY CNT: 03030000
KEY REV extension programming disabled
  SWREV extension programming disabled
  FW CFG REV extension programming disabled
  * KEYWR VERSION:  0x20000
#
 # Programming Keys..
 #
  * MSV:
 [u32] bch + msv:  0x53900001
 Programmed 2/2 rows successfully
 [u32] bch + msv:  0x53900001
 * JTAG DISABLE:
  [u32] JTAG DISABLE:  0x3C000
  Programmed 1/1 rows successfully
  [u32] JTAG DISABLE:  0x3C000
  * 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:
Error in programming BMPKH part 1
  debug_response:  0x800

那么、当仅尝试对 SMPK 字段进行编程时 (为确保简洁性、已删除实际哈希值):

#
# Decrypting extensions..
#
MPK Options:0x0
 MEK Options:0x0
MPK Opt P1:0x0
MPK Opt P2:0x0
MEK Opt :0x0
* SMPKH Part 1 BCH code: e0fe9cbb

* SMPKH Part 2 BCH code: 80618df2

* SMPK Hash (part-1,2):

 <as expected>

 SMEK extension programming disabled
 EXT OTP extension programming disabled
 * BCH code & MSV: 01009053

* KEY CNT: 03030000

KEY REV extension programming disabled

 SWREV extension programming disabled

FW CFG REV extension programming disabled

 * KEYWR VERSION:0x20000

#
# Programming Keys..
#

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

* JTAG DISABLE:
[u32] JTAG DISABLE:0x3C000
Programmed 1/1 rows successfully
[u32] JTAG DISABLE:0x3C000

* 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:
Error in programming SMPKH part 1
debug_response:0x10000

仅对 SMPKH 进行编程时、R5日志如下所示  

Starting Keywriting
Enabled VPP

DMSC Firmware Version 10.0.8-v10.00.08_am64x_keywrite
DMSC Firmware revision 0xa
DMSC ABI revision 4.0

keys Certificate found: 0x7001f280 
Keywriter Debug Response:0x10000 
Error occured... 

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

    您好!

    然后、当仅尝试对 SMPK 字段进行编程时 (为确保成功而删除了实际哈希):

    您能否共享用于生成此证书的命令? 另外、请分享您正在使用的 OpenSSL 版本。

    谢谢!

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

    OpenSSL 版本3.0.2

    命令

    ./gen_keywr_cert.sh -t tifek/ti_fek_public.pem --msv 0x0001 --msv-ovrd -b abby_keys/bmpk.pem -b-ovrd -s abby_keys/smpk.pem -s-ovrd --keycnt 2 --keycnt-ovrd --jtag-disable --jtag-disable-ovrd

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

    您以前是否已经对不同的 SMPK 进行了编程? 现在、您正在尝试使用"-s-OVRD"选项对不同的 SMPK 进行编程?

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

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

    我的问题是、您无法对 SMPK 或 BMPK 选项重新编程。 我有点困惑、因为 TI 密钥生成脚本确实为这些字段提供了覆盖参数。