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.

[参考译文] TDA4VEN-Q1:TDA4VEntry SDK 10.0 出现 HS-SE 配置问题

Guru**** 2554580 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1506617/tda4ven-q1-hs-se-configuration-issue-with-tda4ventry-sdk-10-0

器件型号:TDA4VEN-Q1


工具/软件:

尊敬的 TI 专家:

我们配置了 HS-SE 的 J722S 器件遇到引导问题、从 SD 卡 (tiboot3.bin) 引导时不会出现控制台输出。 此外、我们需要澄清 HS 映像的强制构建修改。

当前状态: ​

  1. 使用 TI 提供的虚拟密钥 (SMEK/SMPK) 成功预置 HS-SE
  2. 通过以下方式验证了安全客户端 MPK 哈希与熔断的保险丝值匹配:

UART 引导日志:

02000000011a00006a3761656e0000000000000048535345000001000000010002a6000001000200b2bfda979263f596a504e3185d5c3cccae17e93b0d9d4c306fc72c91f83855bcfc8d768c07e271667f391027b4043808d7d87784dfe19f89556c5845449b85fa1f6002b07cd9b0b7c47d9ca8d1aae57b8e8784a12f636b2b760d7d98a18f189760dfd0f23e2b0cb10ec7edc7c6edac3d9bdfefe0eddc3fff7fe9ad875195527df09d6720543b829e21f29722f8be31ab43dcd6b0b865a0eeff8e349678809c59

解析输出:
jianghao@motovis:~/tda4ven/10/TDA4VENTRY_10.0sdkra/MCU_PLUS_sdk_j722s_10_00_00_25/tools/boot/signing$ openssl rsa -in custMpk_j722s.pem -pubout -outform der -out k3_dev_mpk_pub.der
正在写入 RSA 密钥
Jianghao@莫托维斯:~/tda4ven/10/TDA4VENTRY_10.0sdkra/MCU_PLUS_sdk_j722s_10_00_00_25/tools/boot/signing$ sha512sum k3_dev_mpk_pub.der
1f6002b07cd9b0b7c47d9ca8d1ae57b8e8784a12f636b2b760d7d98a18f189760dfd0f23e2b0cb10ec7edc7c6edac3d9bdffe0eddc3fff7fe9ad195527d k3_dev_mpk_pub.de875r
从中提取的哈希值custMpk_j722s.pem与刻录的安全客户 MPK 哈希值匹配。
修改和编译步骤:
  1. 修改日期mcu_plus_sdk_j722s_10_00_00_25/devconfig/devconfig.mak
    DEVICE_TYPE?=HS
  2. 将目录更改为:
    mcu_plus_sdk_j722s_10_00_00_25/examples/drivers/boot/sbl_sd_hlos/j722s-evm/wkup-r5fss0-0_nortos/ti-arm-clang/
  3. 已执行:
    make -s PROFILE=release
  4. 放在tiboot3.bin SD 卡上。

从 SD 卡引导时、根本没有输出。 如何正确编译 HS 映像?

此致。

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

    尊敬的 Diwakar:

    添加客户 Keywriter 认证生成命令、如下所示:

    gen_keywr_cert.sh      ext_otp_data.bin       smek.key -t tisfek/sr_10/ti_fek_public.pem --mSv 0xC0FFE --SR-sbl-1 --SR-sysfw 1 --SR-sysfw-OVRD --SR-sbl-OVRD --SR-sbl-OVRD --SR-bcfg bmek.key    

    您认为客户步骤中是否有任何错误、我找不到。  

    BR、

    Biao   

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

    尊敬的 Biao:

    目前 SDK 不支持 HS-SE 器件、该器件将在 11.0 SDK 中添加/验证。

    此致
    Diwakar

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

    尊敬的 Diwakar:

    您是否意味着客户需要等待 SDK11.0 版本并将签名脚本从 SDK11.0 移植到 SDK10.X?

    BR、

    Biao  

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

    尊敬的 Biao:

    签名 脚本不会在 不同的 SDK 版本之间更改,只有 要添加支持的 SBL 部分 会更改。

    此致
    Diwakar

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

    尊敬的 Diwakar:

    我们是否可以支持客户将此 SBL 更改从 SDK11 移植到 SDK10.x? 是否存在风险?

    BR、

    Biao  

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

    尊敬的 Biao:

    SDK 推出后、客户应该能够支持这些更改。

    此致
    Diwakar

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

    尊敬的 Biao:

    我与内部团队对此进行了检查,在评估后,似乎不需要更改来引导 HS-SE 器件。

    您能帮助我完成 您在器件上刷写的二进制文件吗? 此外、您是否在 EVM 上对其进行测试?

    此致
    Diwakar

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

    尊敬的 Diwakar:

     Dev 团队是否还验证了它?  客户正在使用客户电路板、我不会在 EVM 上尝试。

    BR、

    Biao  

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

    嗨、 Biao

    我与开发团队核实、他们表示他们已将其作为 11.0 SDK 的一部分进行了验证。

    此致
    Diwakar

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

    尊敬的 Diwakar:

    dev team 使用什么命令? Csutomer 正在使用以下命令、单次触发即可刻录所有内容。 、您能否共享 DEV TEAM 正在使用的命令? 细节步骤会更好。

    gen_keywr_cert.sh      ext_otp_data.bin       smek.key -t tisfek/sr_10/ti_fek_public.pem --mSv 0xC0FFE --SR-sbl-1 --SR-sysfw 1 --SR-sysfw-OVRD --SR-sbl-OVRD --SR-sbl-OVRD --SR-bcfg bmek.key    

    BR、

    Biao

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

    嗨、 Biao

    ./gen_keywr_cert.sh   smek.key -t tifek/sr_10/ti_fek_public.pem --mSv 0xC0FFE --sr-sl 1 -sr-smfw    

    开发团队通常直接获取虚拟密钥样本、他们不会 自行烧录密钥。

    另外、我认为用于生成 Keywriter 证书的命令没有任何问题。

    此致
    Diwakar

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

    尊敬的 Diwakar:

    我们正在研究​​J722S HS 器件​​。 ​​通过 KeyWriter 配置密钥后​​、​​加密的 SBL​将在两种 SDK 环境中成功加载。 但是、我们在加载加密的应用时会观察到不一致的行为:

    SDK 11.0 ​​:应用程序在 SBL 后正确加载/运行。 ​

    SDK 10.0 ​​:应用程序在 SBL 之后无法加载/运行。

    SDK 10.0 和 SDK 11.0 的配置

    在中 mcu_plus_sdk_j722s_10_00_00_25/devconfig/devconfig.mak、我们应用了:

    device_type ?= HS

    Enc_enabled ?=是

    DBG_ENABLED ?=是

    尽管进行了这些设置、应用程序仍无法正确加载。

    您能否在 SDK 10.0 中提供有关导致此问题的原因及其解决方法的指导?

    此致。

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

    您好、谢:

    [引述 userid=“512804" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1506617/tda4ven-q1-hs-se-configuration-issue-with-tda4ventry-sdk-10-0/5931033。] 但是、我们在加载加密应用程序时观察到不一致的行为:

    如果您只签署应用程序而不对其加密、会发生什么情况?

    在这两种情况下、我们是否也可以有 TIFS 迹线?

    要启用跟踪、您可以遵循以下常见问题解答: 【常见问题解答】系统固件调用失败或崩溃。 该怎么办? 

    此致
    Diwakar

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

    尊敬的 Diwakar:

    如果您只签署应用程序而不对其加密、会发生什么情况?

    只需签署应用程序、而不会对其加密  

    SDK 11.0 ​​:应用程序在 SBL 后正确加载/运行。 ​

    SDK 10.0 ​​:应用程序在 SBL 之后无法加载/运行。

    此致。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在这两种情况下、我们是否也有 TIFS 跟踪?

    ​​已尝试将 TIFS 从 SDK 11.0 迁移到 SDK 10.0 以构建 SBL、但应用程序仍无法正确加载。 ​

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

    您好、谢:

    [引述 userid=“512804" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1506617/tda4ven-q1-hs-se-configuration-issue-with-tda4ventry-sdk-10-0/5931738

    只需签署应用程序、而不会对其加密  

    SDK 11.0 ​​:应用程序在 SBL 后正确加载/运行。 ​

    SDK 10.0 ​​:应用程序在 SBL 之后无法加载/运行。

    [/报价]

    感谢您的实验。  

    您能向我指出您看到问题的日志、因为我能够找到 11.0 和 10.0 日志之间的差异。

    另一个问题是、您在验证映像时是否收到失败响应?

    帮助我处理 TIFS 跟踪 以及在本 回复中提到的 ,这将帮助我们了解在 TIFS 结束时发生了什么

    此致
    Diwakar

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

    尊敬的 Diwakar:

    您能否向我指出您看到问题的日志、因为我能够发现 11.0 和 10.0 日志之间的差异。

    SDK 10.0 ​​:[bootloader_profile]引导映像大小 :0 KB

    SDK 11.0 ​​: [bootloader_profile]引导映像大小 :885 KB

    10.0.log

    e2e.ti.com/.../10.log

    11.0.log

    e2e.ti.com/.../4034.log

    另一个问题是、您在验证映像时是否收到失败响应?

    未发现身份验证失败。

    帮助我处理 TIFS 跟踪 以及此 响应中提到的跟踪 、这将帮助我们了解 TIFS 结束时发生的情况。

    如何启用 TIFS 调试跟踪/日志记录?

    目前 SDK 中不支持 HS-SE 器件、我们将在 11.0 SDK 中添加/验证该器件。

    TI 是否在 SDK 10.0(特别是适用于 HS 器件)中验证了加密和签名验证工作流?

    此致。

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

    嗨、xie、

    [引述 userid=“512804" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1506617/tda4ven-q1-hs-se-configuration-issue-with-tda4ventry-sdk-10-0/5933814

    未发现身份验证失败。

    [/报价]

    你的意思是,你的意思是  bootloader_verifyMulticoreImage  函数 返回值为  SystemP_SUCCESS。

    [引述 userid=“512804" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1506617/tda4ven-q1-hs-se-configuration-issue-with-tda4ventry-sdk-10-0/5933814

    如何启用 TIFS 调试跟踪/日志记录?

    [/报价]

    按照此文档启用 TIFS 跟踪:https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-j722s/11_00_00_06/exports/docs/mcu_plus_sdk_j722s_11_00_00_12/docs/api_guide_j722s/TOOLS_SYSFW.html#BOARCFG_GEN

    您必须 在 sciclient.h 中定义 SYSFW_TRACE_ENABLE

    [引述 userid=“512804" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1506617/tda4ven-q1-hs-se-configuration-issue-with-tda4ventry-sdk-10-0/5933814

    TI 是否在 SDK 10.0(特别是适用于 HS 器件)中验证了加密和签名验证工作流?

    [/报价]

    在 10.1 SDK 上未验证安全启动、我们已经有 JIRA (jira.itg.ti.com/.../PDK-12746)、该程序在 11.0 SDK 中已关闭。 但在 11.0 上无需进行任何具体更改即可支持它。

    我们需要弄清楚为什么大小为 0、能否添加更多 print main 函数、看看通过情况与失败情况下的返回值是多少。

    此致
    Diwakar

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

    尊敬的 Diwakar:

    if (FileS[noOfFiles])== App_Openloadable P_Success)

    状态= App_loadImages();
    DebugP_log(“App_loadImages 状态:%d…\r\n“、status);
    }

    状态= SystemP_FAILURE;...
    bootloader_verifyMulticoreImage 状态:–1……
    bootloader_parseMultiCoreAppImage 状态:–1……
    app_loadImages 状态:–1……

    e2e.ti.com/.../6076.log

    此致。

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

    您好、谢:

    status = SystemP_FAILURE;...
    bootloader_verifyMulticoreImage 状态:–1……
    bootloader_parseMultiCoreAppImage 状态:–1……
    app_loadImages 状态:–1 ...

    从这些日志中、您之前的陈述似乎不正确  

    [引述 userid=“540954" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1506617/tda4ven-q1-hs-se-configuration-issue-with-tda4ventry-sdk-10-0/5934101

    未发现身份验证失败。

    你的意思是,你的意思是  bootloader_verifyMulticoreImage  函数 返回值为  SystemP_SUCCESS。

    [/报价]

    根据日志“ bootloader_verifyMulticoreImage 链路状态 :–1..."验证“验证失败、由于证书长度验证失败、呼叫甚至没有到达 TIFS。   

    您是否还可以  在通过和失败的两种情况下在 Bootloader_verifyMulticoreImage 中打印 certLen?

    此致
    Diwakar   

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

    尊敬的 Diwakar:

      在两种通过和失败的情况下、您是否还可以在 Bootloader_verifyMulticoreImage 中打印 certLen。

    *x509_cert_ptr !=(uint8_t) 0x30……
    bootloader_media_MEM ...
    certLen:0;...

    此致。

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

    您好、

    请让 Weizhen 在该线程中、我们需要 Weizhen 帮助 在 SBL 中添加一些打印内容、以找出  Bootloader_verifyMulticoreImage 中 certLen=0 的原因。

    此后、我们可以更快地找出 SDK10.0 与 SDK11.0 的差异。

    BR、

    Biao

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

    尊敬的 Diwakar:

    每次更新 Brijesh 时、需要进行一些更改以支持安全启动。 请帮助将其分享给客户尝试。 提前感谢。

    BR、Tommy

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

    尊敬的 Tommy:  

    我之前向 PDK 团队检查过这里没有任何变化、因此我们需要了解证书长度为什么为 0。

    如前所述、我们需要添加更多调试打印来进行检查。

    [quote userid=“529940" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1506617/tda4ven-q1-hs-se-configuration-issue-with-tda4ventry-sdk-10-0/5936525

    请让 Weizhen 在该线程中、我们需要 Weizhen 帮助 在 SBL 中添加一些打印内容、以找出  Bootloader_verifyMulticoreImage 中 certLen=0 的原因。

    此后、我们可以更快地找出 SDK10.0 与 SDK11.0 的差异。

    [/报价]

    此致
    Diwakar