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:AM644EVM-SK:OTP Keywriter 不会从 OSPI 启动/器件保持 HS-OTP FS

Guru**** 2905430 points

Other Parts Discussed in Thread: TCA9538, UNIFLASH, AM6442, SYSCONFIG

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1643408/am6442-am6442-sk-otp-keywriter-does-not-start-from-ospi-device-remains-hs-fs

器件型号: AM6442
Thread 中讨论的其他器件: TCA9538UNIFLASHSYSCONFIG

您好 TI 支持团队:

我目前正在使用  AM6442-SK Rev. B 板上的 AM64x/AM243x OTP Keywriter(版本 10.00.08)。

我正在使用 MCU+ SDK 10.00.00.20 并遵循此常见问题解答:

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1198808/faq-how-to-run-otp-keywriter-on-sk-am64b

更具体地说、我添加了两个 ioexp_tca9538 文件(和)ioexp_tca9538.h ioexp_tca9538.c board.c 、并根据常见问题解答中的说明进行了修改。  

要编译 FAQ 代码、我必须进行两处小更改:

  1. 在中 ioexp_tca9538.c、我替换 slavetarget
  2. ioexp_tca9538.c 我向中添加了
    source/board/makefile.am64x.r5f.ti-arm-clang

完成这些更改后、已成功重建完整的 MCU+ SDK 库。

然后、我遵循了 OTP Keywriter 用户指南。 我生成和测试的两个变体 tiboot3.bin:

  • BOOT_MODE=LEGACY
  • BOOT_MODE=COMBINED

我还进行了 keywr_sbl_am64x.cfg 相应的调整、并使用 UART Uniflash 来编程 tiboot3.bin 到电路板。 刷写/编程步骤成功完成。

但是、当我将电路板切换到 OSPI 引导模式 并从 OSPI 闪存引导时、没有任何反应。 没有可见的输出、器件保持 FS 状态。

您能帮助我澄清以下几点吗?

1.除了常见问题解答中的 IO 扩展器更改之外、是否需要任何额外的 SK Rev. B 特定更改?  

2.对于 AM6442-SK 版本 B、Keywriter tiboot3.bin BOOT_MODE=LEGACY BOOT_MODE=COMBINED是否应该使用或构建?  

3.哪个 UART 端口应显示 AM6442-SK Rev. B 上的 Keywriter 日志?  

对于 AM6442 + OTP Keywriter 的任何指导或已知的可使用设置都将非常有帮助。  

此致、
Elvira Rafikova

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

    您好:

    请浏览以下主题、其中讨论了您需要的其他更改

    e2e.ti.com/.../sk-am64b-enable-secure-boot

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

    您好 Prashant、

    感谢您的快速答复。

    我知道我这边还缺少什么 — 我必须在 SysConfig 中禁用 eMMC。

    之后、我 tiboot3.bin 再次重建并使用 UART Uniflash 成功对其编程。 在 OSPI 闪存引导模式下引导时、我最终可以看到 Keywriter 的输出、包括一条类似于以下内容的消息:

    Success Programming Keys

    但是、当我稍后在 FS 引导模式下再次检查器件状态时、器件仍报告为 HS-UART。

    之后、我尝试在 OSPI 引导模式下再次启动 Keywriter 二进制、但现在它不再起作用。 相反、我收到以下错误:

    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: 0x7001a900
    Keywriter Debug Response: 0x42000000
    Error occurred...

    这是否表明在上一次运行期间某些 OTP 字段已经成功编程、即使器件仍报告为 HS-OTP FS?

    我还想了解我在程序过程中可能做得不正确。 我计划在新电路板上重复 OTP Keywriter 过程、但我想避免因 OTP 编程错误而对器件造成永久损坏 (“快速“)。

    更新:  

    我注意到我生成的证书是使用文档第 4.1.3 节中的以下命令创建的:

    ./gen_keywr_cert.sh --msv 0xC0FFE -t tifek/ti_fek_public.pem

    据我目前所知、这个示例仅生成一个包含 MSV 数据的证书、不对 FS 进行编程或执行最终的 HS-REV→HS-SE 转换。

    因此、似乎有可能:

    • 第一次执行 Keywriter 成功地对与 MSV 相关的 OTP 字段进行编程:
    • 器件正确保持在 FS 状态、
    • 第二次执行现在失败、因为在上次运行期间已对 MSV OTP 字段进行了编程。

    此致、
    Elvira Rafikova

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    但是、当我稍后在 FS 引导模式下再次检查器件状态时、器件仍报告为 HS-UART。

    可能您只对 MSV 字段进行了编程、而对其他字段不进行编程。 请参阅 Keywriter 用户指南、了解如何对将器件转换为 HSSE 所需的字段进行编程。