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.

[参考译文] SK-AM69:对 SMPKH 第1部分进行编程时出现 Keywriter 错误

Guru**** 1706760 points
Other Parts Discussed in Thread: SK-AM69, AM69
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1364095/sk-am69-keywriter-error-in-programming-smpkh-part-1

器件型号:SK-AM69
主题中讨论的其他器件: AM69TEST2

在尝试对 OTP 存储器进行编程以测试在安全启动过程中烧录 TI 开发密钥时、目前遇到问题。

我已经使用 gen_keywr_cert.sh 生成 final_certificate.bin、然后清理并重新编译 Keywriter 二进制、但我不断从调试日志中的器件获得 debug_response:0x1000。

寻求有关如何前进的建议。  我也包含来自器件的调试日志。

e2e.ti.com/.../MCU_5F00_UART0.loge2e.ti.com/.../uart_5F00_boot.txte2e.ti.com/.../WKUP_5F00_UART0.log

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

    我应注意的是、我将使用 OTP-J784S4版本9.02.00.05构建 PROCESSOR-SDK-RTOS 写入器、并且已在该 SDK 上安装了写入器 SR1.0内容。

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

    你好、Wayne  

    您能否检查某个较旧线程中的响应是否在任何方面对您有所帮助。

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1317252/sk-am69-wkup_gpio0-control-on-sk-am69/5015761#5015761

    此致
    Diwakar

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

    您好 Diwakar、我没有找到可以帮助解决我问题的较旧主题。

    我检查了您提供的链接、但在使用9.01版本的 Processor RTOS SDK 时确实出现了该问题。  我将此修复集成到我的9.01版本的 Keywriter 中、并允许应用程序实际开始检查 Keywriter 证书内容。  在修复之前、它甚至不会检查证书内容。  转到9.02版本、这些修复程序似乎已经到位。  

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

    你好、Wayne  

    您是否在 EVM 或定制电路板上尝试过此功能?

    您能否添加覆盖标志来写入 SMPKH、查看其是否正在工作。

    您尝试过多少个样本?

    此致
    Diwakar

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

    感谢您的答复。

    您正在 EVM 或定制电路板上试用此功能?

    我在 SK-AM69 EVM 板上尝试这一点。 (https://www.ti.com/tool/SK-AM69)

    您能否添加用于写入 SMPKH 的覆盖标志并查看其是否在工作。

    已按照建议尝试覆盖标志、但出现了相同的结果。

    关于您尝试过多少个样片?

    有三个不同的板、它们具有同一个 EVM。

    我一直在使用 J784S4 RTOS SDK 为 AM69-EVM 平台构建 Keywriter。  是这样吗?  

    将器件置于 UART 引导模式时、我看到器件名称显示为"j7aep"。  四处搜索、这似乎与 j721s2电路板相关。  对于为 SK-AM69板构建 Keywriter、正确的 RTOS SDK 是什么?

    ceslab-tda4.gitHub.io/.../mcusw_c_ug_top.html

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

    你好、Wayne  

    请允许我花一些时间在内部检查这目前我们没有任何官方支持的 Keywriter 上 AM69。

    获得一些内部对齐后、它将返回给您。

    此致
    Diwakar

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

    还有另一个论坛问题引用了具有相同器件名称的 AM69电路板、成功使用 Keywriter 对电子保险丝进行编程。   https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1319925/sk-am69-keywriter-error-validating-bmpk-key。

    这表明 AM69板支持 Keywriter。

    不过、我已验证我没有遇到本主题中出现的任何问题。  因此在清除问题时没有帮助、而只是证明 AM69似乎具有 Keywriter 支持。

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

    你好、Wayne  

    您执行了哪些步骤来生成 Keywriter 映像、以便我们可以验证这些步骤是否正确。

    此致
    Diwakar

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

    Diwakar、

    我主要按照此 PDF 中列出的步骤操作。  https://www.ti.com/lit/an/sprad04/sprad04.pdf

    但我也尝试了 PDK 上列出的步骤- Jacinto 用户指南 https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/07_03_00_07/exports/docs/pdk_jacinto_07_03_00_29/docs/userguide/jacinto/modules/keywriter.html

    使用  PROCESSOR-SDK-RTOS J784S4版本9.02.00.05时:

    驱动程序

    • ./ gen_keywr_cert.sh -g
    • 复制 J784S4 RTOS SDK 中提供的 TI 虚拟密钥
    • ./ gen_keywr_cert.sh -s keys/smpk.pem --- smek keys/smek.key -t keys/tifekpub.pem -a keys/aes256.key
    • 将 keywriter_img_clean
    • 创建 keywriter_img
    • 将输出 tiimage 作为 tiboot3.bin 复制到 SDCard
    • 引导

    在 Ubuntu 的多个版本(18.04、20.04和22.04)中也执行了此操作、并获得了类似的结果。  

    我还尝试按照最初的建议使用-OVRD 标志。

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

    你好、Wayne  

    感谢您分享步骤、您尝试了一个简短的问题 mSv 或者您只是尝试了 SMPK 哈希。

    如果不能,你可以快速尝试?

    生成测试用例的更简单的方法是  

    • CD / /packages/ti/build
    • 使 keywriter_cfg_test_gen Board=j7284s4_evm
    • 它将 生成不同的测试二进制文件、在电子保险丝中写入不同的字段  

    • 之后、它将使用脚本在文件夹下生成测试图像  generate_test_binaries.sh

      可以获取下的测试图像 /packages/ti/boot/keywriter/binary/j784s4/test_images 文件夹中找到  

      您可以使用任何引导介质使用任何测试映像进行刷写  

    此致
    Diwakar

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

    我按照提供的步骤操作、看到了相同的故障。  虽然我尚未使用所有 Keywriter 测试二进制、但我尝试的4种都导致  对该内容进行编程时出现故障指示灯。  "Debug Response:(调试响应)"指示器与尝试从该 Keywriter 二进制进行编程的功能以及产生的故障相匹配。

    在此消息时、尝试了测试用例(03、11、13和 test2序列2)。  和两个输出。

     WKUP_UART0 输出示例:

    OTP Keywriter ver: 8.6.5--v08.06.05 (Chill Capybar
    OTP_VppEn
    检测到 AM69 SK!!
    WKUP_GPIO0_VPP_CTRL 输出高电平
    已初始化密钥编程序列
    从0x41c7f004获取 OTP 证书
    Sciclient_otpProcessKeyCfg 返回:-1
    调试响应:0x10000
    钥匙编程序列已完成
    OTP Keywriter 版本:02.00.00.00 (2024年5月23日- 16:08:31)

    OTP Keywriter ver: 8.6.5--v08.06.05 (Chill Capybar
    OTP_VppEn
    检测到 AM69 SK!!
    WKUP_GPIO0_VPP_CTRL 输出高电平
    已初始化密钥编程序列
    从0x41c7f004获取 OTP 证书
    Sciclient_otpProcessKeyCfg 返回:-1
    调试响应:0x800
    钥匙编程序列已完成

    OTP Keywriter ver: 8.6.5--v08.06.05 (Chill Capybar
    OTP_VppEn
    检测到 AM69 SK!!
    WKUP_GPIO0_VPP_CTRL 输出高电平
    已初始化密钥编程序列
    从0x41c7f004获取 OTP 证书
    Sciclient_otpProcessKeyCfg 返回:-1
    调试响应:0x2000000
    钥匙编程序列已完成
    OTP Keywriter 版本:02.00.00.00 (2024年5月23日- 16:08:31)

    OTP Keywriter ver: 8.6.5--v08.06.05 (Chill Capybar
    OTP_VppEn
    检测到 AM69 SK!!
    WKUP_GPIO0_VPP_CTRL 输出高电平
    已初始化密钥编程序列
    从0x41c7f004获取 OTP 证书
    Sciclient_otpProcessKeyCfg 返回:-1
    调试响应:0x800
    钥匙编程序列已完成
    OTP Keywriter 版本:02.00.00.00 (2024年5月23日- 16:08:31)

    有趣的是:当尝试对 BMPKH、BMEK 部分进行编程时、似乎有些小进展、但并未完全成功。 而在其他编程值中、尝试将立即失败。

    MCU_UART0调试

    * BMPKH、BMEK:
    已成功编程11/11行
    已成功编程2/2行
    已成功编程11/11行
    已成功编程2/2行
    对 BMPKH 第1部分进行编程时出错
    DEBUG_RESPONSE:0x800

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

    你好、Wayne  

    我在末尾对图像(kw_test03.tiimage)进行了相同的实验、并可以将值刻录到 电子保险丝中

    TIFS 日志:

    KEY CNT extension disabled
    
    KEY REV extension disabled
    
    SWREV extension disabled
    
    FW CFG REV extension disabled
    
    * KEYWR VERSION:  0x20000
    
    #
    # Programming Keys..
    #
    
    * MSV: 
    [u32] bch + msv:  0x0
    Programmed 2/2 rows successfully
    [u32] bch + msv:  0x8BAC0FFE
    
    * SWREV: 
    [u32] SWREV-SBL:  0x1
    [u32] SWREV-SYSFW  :  0x1
    SWREV extension disabled
    [u32] SWREV-SBL:  0x1
    [u32] SWREV-SYSFW  :  0x1
    
    * FW CFG REV: 
    [u32] SWREV-FW-CFG-REV:  0x1
    SWREV SEC BCFG extension disabled
    [u32] SWREV-FW-CFG-REV:  0x1
    
    * EXT OTP: 
    EXT OTP extension disabled
    
    * BMPKH, BMEK: 
    BMPKH extension disabled
    BMEK extension disabled
    
    * SMPKH, SMEK: 
    SMPKH extension disabled
    SMEK extension disabled
    
    * KEYCNT: 
    [u32] keycnt:  0x0
    KEY CNT extension disabled
    [u32] keycnt:  0x0
    
    * KEYREV: 
    [u32] keyrev:  0x0
    KEY REV extension disabled
    [u32] keyrev:  0x0
    

    MCU UART 日志。

    OTP Keywriter Version: 02.00.00.00 (Jun 4 2024 - 14:52:11)
    
    OTP Keywriter ver: 8.6.5--v08.06.05 (Chill Capybar
    OTP_VppEn
    AM69 SK Detected!!
    WKUP_GPIO0_VPP_CTRL output high
    Key programming sequence initialted
    Taking OTP certificate from 0x41c7f004
    Debug response: 0x0
    Key programming sequence completed

    [报价 userid="596428" url="~/support/processors-group/processors/f/processors-forum/1364095/sk-am69-keywriter-error-in-programming-smpkh-part-1/5230584 #5230584"]

    MCU_UART0调试

    * BMPKH、BMEK:
    已成功编程11/11行
    已成功编程2/2行
    已成功编程11/11行
    已成功编程2/2行
    对 BMPKH 第1部分进行编程时出错
    DEBUG_RESPONSE:0x800

    [报价]

    这是非常奇怪的,你看到这种问题在所有的主板上,你有?

    您能告诉我 在启用 VPP 时所做的更改吗?  

    此致
    Diwakar

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

    我在我们拥有的3个不同 SK-AM69 EVM 板上也看到了相同的信号。   

    我的理解是、在使用9.02.00.05版本的 SDK 时、必须进行 VPP 更改才能实现这个目标。

    参考您之前调用的论坛条目、我检查了 Keywriter 实现、该修复似乎已在9.02版本的 SDK 上实施。  这不正确吗? 是否需要进行其他更改?

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

    韦恩、您好!

    [报价 userid="596428" url="~/support/processors-group/processors/f/processors-forum/1364095/sk-am69-keywriter-error-in-programming-smpkh-part-1/5232923 #5232923"]

    我的理解是、在使用9.02.00.05版本的 SDK 时、必须进行 VPP 更改才能实现这个目标。

    [报价]

    让我来看看这个  

    同时、您可以使用此图像进行测试、看看它是否适合您。

    e2e.ti.com/.../kw_5F00_test03.tiimage

    此致
    Diwakar

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

    您好 Diwakar:

    我在上一个响应中运行了提供的映像、该映像成功地对 MSV 进行了编程。  我不确定从哪里开始。  您是否知道我使用9.02版 SDK 生成的内容与我一直尝试生成的内容之间存在什么差异?

    OTP Keywriter 版本:02.00.00.00 (2024年6月4日- 14:52:11)

    OTP Keywriter ver: 8.6.5--v08.06.05 (Chill Capybar
    OTP_VppEn
    检测到 AM69 SK!!
    WKUP_GPIO0_VPP_CTRL 输出高电平
    已初始化密钥编程序列
    从0x41c7f004获取 OTP 证书
    调试响应:0x0
    钥匙编程序列已完成

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

    在两个不同的器件上确认、kw_test03.tiimage 用于对 MSV 进行编程。

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

    你好、Wayne  

    我基于 SDK 9.1生成了映像、除此之外、我应用了参考线程中所述的补丁  

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1317252/sk-am69-wkup_gpio0-control-on-sk-am69/5015761#5015761

    我们需要查看这些更改是否已纳入 SDK 9.2。

    此致
    Diwakar