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.

[参考译文] CCS/TMS570LS3137:在 sys_startup.c 中启动 DWD 以防止启动失败

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/947116/ccs-tms570ls3137-starting-dwd-in-sys_startup-c-to-protect-against-startup-failure

器件型号:TMS570LS3137

工具/软件:Code Composer Studio

我想使用 DWD 来防止根据 HAL 生成的 PBIST/SYS_STARTUP 代码中的任何锁定。 我似乎无法找到 rtiInit 实际工作的正确位置。 我目前正在 RAM 中写入一个空间、我认为在发生 memoryInit 之前、该空间将是相同的。 是否有建议的方法使用 DWD 来防止 PBIST "永久运行"、因为 TRM 7.5中的注释指出、可能会出现代码错误的情况。  

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

    您好!

    1.您可以使用超时退出 while ()循环:

    unsigned int timeout = xxx;

    while (pbistIsTestCompleded ()!= true || timeout--!= 0x0)

    }/*等待*/

    2.您可以在 startup.c 中启用 RTI DWD   

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

    具体而言、在 startup.c 中、我在哪里启用 RTI? 无论我放置在哪里、它似乎都会破坏启动。 为了使 RTI 正常工作、需要初始化什么、并且执行不适用于 RTI 的自检、从而使 RTI 无法运行?

    有许多位置使用硬件位上的 while 环路进行更改、我们需要确保所有这些操作所需的时间不超过允许的时间。  

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

    您可以在 systemInit()被执行后和运行 PBIST 测试之前初始化 DWD 并启用 DWD 计数器。

    请注意、启用 DWD 后、除系统复位或上电复位外、不能禁用它。