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.

[参考译文] LP-MSPM0G3519:调试 CSC 失败以验证应用程序映像

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1530475/lp-mspm0g3519-debug-csc-failure-to-verify-application-image

器件型号:LP-MSPM0G3519

工具/软件:

您好、

我正在测试 CSC 示例。

使用 customer_secure_simple_image 测试 CSC 时、一切均正常运行。

使用我自己的应用程序测试 CSC 时、它不起作用。 原因 似乎是它直接启动应用、而不执行在两个时隙中验证映像的第一部分。 显然它失败了。

进一步调试问题时、只需刷写 CSC、然后检查闪存中的 SYSCTL 和 BCR 配置、SYSCTL 寄存器中的 INITDONE 已设置、而无需验证映像。 但 BCR 配置显示 CSC 已启用。 下面是屏幕截图:

这是一个很大的问题。  尽管看到这一点、但稍后对于 CSC +示例映像仍然适用。 我意识到这并不是调试 CSC 的正确方法、我假设此处显示的寄存器值不是正确的值。  

我的问题是、如果我假设正确、那么这种检查 SYSCTL 值的方法不正确?

然后、我想知道在 CSC 无法验证主应用程序的唯一调试方法是检查打印到跟踪模块的信息、对吧? 还有其他方法可以做到吗?

谢谢!

吊车

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

    我 在 UART 控制台上显示了媒体间结果。 实际上、我们看到与单步调试相同的结果、程序会直接启动应用、而无需验证映像。

    此调试会显示 CSC 被视为“不存在“的结果。 但这不是在 BCR 中发布的问题中配置的内容(CSC 代码中未更改)。  

    以下两种情况会发生这种情况:

    1.当主应用程序的大小改变时。 此大小在.json 文件中相应地进行了更改。  

    2.更改主应用程序的偏移时。 我返回使用示例工程“Custome_secure_sample_image"。“。 随着 CSC 大小的更改。 json 文件中主应用程序的偏移量会相应地更改。  

    当 CSC 和主应用程序都使用示例项目时、工作正常。  

    我可以了解由于映像已更改而无法验证映像。 但现在,它根本不会验证图像,而是直接尝试启动应用程序。

    那么问题是:什么可能导致 CSC 在 BCR_Config 中将状态配置为“存在“时状态更改为“不存在“?

    谢谢!

    吊车

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

    我来检查一下。

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

    谢谢 Helic。  

    问题已得到解决。 并不是 CSC 状态“不存在“、但 BCR 尚未运行。 硬件复位后、它现在工作正常。  

    此致、

    吊车

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

    感谢您的反馈~