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.

[参考译文] TDA4VM:M3 内核停滞

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1653640/tda4vm-stalling-of-m3-core

器件型号: TDA4VM

您好 TI、

请在以下主题中请求您的帮助。

背景:
在为 M3 内核开发专有系统固件的过程中、观察到以下行为。

观察到的行为:
SoC 上电时、M3 内核上运行的系统固件在上电后大约 1.5 至 1.6 秒内出现失速。
此失速的持续时间范围为 130ms 至 200ms。
在此之后、系统固件恢复正常运行、并且在后续执行期间不会再观察到停滞;
固件会继续按预期运行。

调试方法:
系统固件的执行受到 MCU 域中 M3 内核和 R5F 内核上实现的专用调试逻辑的监控。
通过 UART 输出对生成的日志数据进行分析以评估行为。  

您能否查看上述行为并就已确定失速的潜在原因向我们提供反馈。

此致、

Sarath

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

    您好 Sarath、

    我们最后还没有遇到这类问题

    为阐明这一点、上电时、公共 ROM 在 MCU R5 上执行、而安全 ROM 在 M3 上运行。 公共 ROM 的主要作用是从所选引导介质读取引导加载程序映像 (SPL/SBL) 并将其转发到安全 ROM 进行身份验证。

    您是否在 SBL 成功加载之后以及在 TIFS 加载期间遇到此问题? 如果是、您能否连接到内核以识别它当前正在执行的指令? 此外、您能否告诉我们有多少器件表现出这种行为?

    此致
    Diwakar

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

    你好、 Diwakar、

    我 和 Sarath 一起发现了这个问题。  加载我们取代 TIFS 的专有系统固件后出现问题。 但 它 与将 TIFS 初始化作为代码的一部分或将其完全删除无关。

    今天我做了一些更多的调查,并 找到了 这个问题的根本原因。

    我们使用 Lauterbach TRACE32 调试程序、并且我们的调试脚本包含一项功能、可在检测到上电时自动连接到 Jacinto。  

    M3 的停滞是由该调试脚本引起的。 它似乎在 M3 上断言调试暂停、在调试器连接后再次释放该暂停。  用于连接调试器的脚本基于我们刚才从 TI 收到的脚本。  我们后来将自动附加功能添加到脚本中。

    如果在未连接调试器的情况下启动 Jacinto、问题将消失。

    使用 M3 上的原始 TIFS 和 R5F 上的 SCI 客户端、从未观察到问题、因为(据我所见)大多数 SCI 服务会一直等待答案。 因此、几~150ms 的一次性延迟通常在引导过程中没有明显影响。

    借助我们自己的系统固件、我们引入了超时、这比失速短得多。 因此、如果在调试器连接时意外向 M3 发送了请求、则该请求及其后的整个引导过程将失败。

     

    此致

    Thomas

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

    尊敬的 Thomas:

    感谢提供根本原因分析,将关闭问题,然后如果没有关于这个主题的进一步问题。

    此致
    Diwakar