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/TMS570LC4357:调试模式下的 SafeTI 库

Guru**** 2481465 points
Other Parts Discussed in Thread: TMS570LC4357

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/882846/ccs-tms570lc4357-safeti-library-in-debug-mode

器件型号:TMS570LC4357

工具/软件:Code Composer Studio

尊敬的团队

我的客户 使用 SafeTI 诊断库的 TMS570LC4357演示板和演示程序进行实验。

他们发现以下问题:

1 当计算机连接到 TMS570LC4357演示板进行调试时、TMS570LC4357芯片的 nERROR 引脚自动激活(低电平)、演示板的错误指示灯亮起。

2 SafeTI 诊断库在 sl_priv.c 文件的_sl_HoldNClear_nError ()函数中进入了无限 while 循环(true = sl_ESM_nError_Active ())。 SafeTI 诊断库无法执行安全自检。

那么、如何解决 TMS570LC4357芯片无法在 调试模式下运行 SafeTI 诊断库的问题?  

BR、

Susan

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

    您好 Susan、

    Cortex R5F CPU 可以生成推测取指令、将其取指令到闪存存储器空间内的任何位置。 对具有无效 ECC 的位置的推测取指令(随后未使用)将为可纠正或不可纠正的错误设置 ESM 标志。 不可纠正的错误将无条件地导致 nERROR 引脚切换为低电平。 因此、必须注意为整个闪存空间生成正确的 ECC、包括段和任何未使用或空白闪存区域之间的空洞。

    请使用链接器 cmd 文件为整个闪存生成 ECC。  https://processors.wiki.ti.com/index.php/Linker_Generated_ECC

    当发生不可纠正的错误时、ESM 组3中的相应位被置位。 代码将位于 sys_startup.c 中的循环中

    /*检查加电期间是否存在 ESM 组3错误。
    *这些可能发生在电子保险丝自动加载期间或从闪存 OTP 读取期间
    *在加电期间。 器件运行不可靠、不建议这样做
    *。 *
    if ((esmREG->SR1[2])!= 0U)

      esmGroup3Notification (esmREG、esmREG->SR1[2]);

    #pragma weak (esmGroup3通知)
    void esmGroup3通知(esmBASE-t * ESM、uint32通道)

    /*在用户代码开始和用户代码结束之间输入用户代码。 *
    /*用户代码开始(5)*/
    /*用户代码结束*/
       for (;;)
       {
       }/*等待*/
    /*用户代码开始(6)*/
    /*用户代码结束*/