ZHDA273 August   2026 DRA821U-Q1 , DRA829J-Q1 , DRA829V-Q1 , TDA4AH-Q1 , TDA4AL-Q1 , TDA4AP-Q1 , TDA4APE-Q1 , TDA4VE-Q1 , TDA4VH-Q1 , TDA4VL-Q1 , TDA4VM , TDA4VM-Q1 , TDA4VP-Q1 , TDA4VPE-Q1

 

  1.   1
  2.   摘要
  3.   商标
  4. 1简介
    1. 1.1 为什么需要密钥写入器
    2. 1.2 什么是密钥写入器
  5. 2密钥写入器证书 blob
    1. 2.1 证书生成概述
  6. 3生产部署方法
    1. 3.1 OSPI 引导方法
    2. 3.2 eMMC 引导方法
    3. 3.3 使用 DFU 备用方法进行 eMMC 引导
    4. 3.4 JTAG/开发引导方法
    5. 3.5 RGMI 以太网引导模式
  7. 4现场更新
    1. 4.1 SWREV(软件版本)
    2. 4.2 KEYREV(密钥版本)
  8. 5常见调试步骤
    1. 5.1 空跑测试
    2. 5.2 软件包要求
    3. 5.3 eFuse 编程设置
    4. 5.4 验证编程结果
    5. 5.5 引导失败故障排查
    6. 5.6 无唤醒 UART 时的跟踪数据收集
  9. 6总结
  10. 7参考资料

空跑测试

  • 在密钥写入器应用程序中删除/注释掉 VPP 使能逻辑,编译并运行密钥写入器工具
  • 如果禁用了 VPP,eFuse 编程将失败。
  • 请参阅 TIFS(唤醒 UART)跟踪数据,以解析验证信息以及密钥写入器 TIFS 返回的失败消息,因为实际 eFuse 烧录会失败。

以下代码显示了 J721S2 EVM 上 WKUP 和 MCU UART 的参考日志,用于生成证书 blob 的命令为:

./gen_keywr_cert.sh -t ti_fek_public.pem
-s keys/smpk.pem --smek keys/smek.key -s-rp --smek-rp
-b keys/bmpk.pem --bmek keys/bmek.key -b-rp --bmek-rp
--mek-opt 0x1 --mpk-opt 0x21
--keycnt 2 --keycnt-wp
--keyrev 1
表 5-1
MCU UART(R5 应用程序) WKUP UART(密钥写入器 TIFS)
OTP Keywriter Version: 02.00.00.00 (May 20 2026 - 16:02:05)
OTP Keywriter ver: 10.1.4-v10.01.04a-1-gf7c27 (Fie
Legacy Boot Mode

Key programming sequence initiated
Taking OTP certificate from 0x41c70004
Sciclient_otpProcessKeyCfg returns: -1
Debug response: 0x800
Key programming sequence completed
# Decrypting extensions..
#
MPK Options: 0x21
MEK Options: 0x1

MPK Opt P1: 0x1
MPK Opt P2: 0x1
MEK Opt: 0x1
* SMPKH Part 1 BCH code: 61b45b59
* SMPKH Part 2 BCH code: 417d4cb4
* SMPK Hash (part-1,2):1f6002b07cd9b0b7c47d9ca8d1aae57b8e8784a12f636b2b760d7d98a18f189701
60dfd0f23e2b0cb10ec7edc7c6edac3d9bdfefe0eddc3fff7fe9ad875195527d01* SMEK BCH code: 21224fcc

* SMEK Hash: 92785809a3dfefea57f6bbed642d730ba5d05e601222a72e815bf01ceb3a50f96ab85d282425f684436fabd4c7da624b791da411615035314103cc64e611f532
* BMPKH Part 1 BCH code: 81a4977b
* BMPKH Part 2 BCH code: 613bf931
* BMPK Hash (part-1,2):
b41865771ef3e13933568b1d1d50a72f5037a2a103c4535c713e10a61df1609c01
f6033117fbb56d5f190a17598e151141c6e413e2d853e56aae7997820639909b01
* BMEK BCH code: 21ec5cec
* BMEK Hash: 21a5ae74b64b1c9fbd1f9201e60a319fe417edf06c2f9ba71fa3e1a967d171b684a4f85a83b8a4821abffe8e322b3697e299ffa94dec921bd4ac99f8ca59dd6c
EXT OTP extension programming disabled
MSV extension programming disabled
* KEY CNT: 03030000
* KEY REV: 01010000
SWREV extension programming disabled
FW CFG REV extension programming disabled
* KEYWR VERSION: 0x20000
#
# Programming Keys..
#
* MSV:
[u32] bch + msv: 0x8BAC0FFE
MSV extension programming disabled
[u32] bch + msv: 0x8BAC0FFE
* 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: 0x0
SWREV SEC BCFG extension programming disabled
[u32] SWREV-FW-CFG-REV: 0x0
* EXT OTP:
EXT OTP extension programming disabled
* BMPKH, BMEK:
Error in programming BMPKH part 1
debug_response: 0x800