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.

[参考译文] TMS570LS1227:SafeTIDiagnostic Library 2.3.1 TMS570LS1227_Noos&'t run

Guru**** 2461000 points
Other Parts Discussed in Thread: TMS570LS1227, HALCOGEN

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/650592/tms570ls1227-safetidiagnostic-library-2-3-1-tms570ls1227_noos-can-t-run

器件型号:TMS570LS1227
主题中讨论的其他器件:HALCOGEN

大家好、

 我的客户现在使用 TMS570LS1227 作为牵引逆变器控制器、这需要至少 ASIL-C 级别。 当客户使用 safeTI 诊断库2.3.1了解如何实施安全库时、但报告库提供的演示在 void _expt_vec_abort_pref ()内运行到 while (1)的问题; 但是、在连接仿真器并逐步进行调试的情况下、代码将得到很好的执行。 请就此问题发表意见。 PS:演示文件路径:C:\ti\hercules\SafeTI Diagnostic Library\2.3.1\build\TMS570LS1227_Noos;期待您的回复、谢谢。 此致 Benjamin

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

    我已将您的问题转发给我们的软件专家、您将很快得到回复。 谢谢
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Benjamin、

    由于 CortexR4随机分支预测逻辑、我已经看到这个问题的原因、我认为取指令是操作码所在的闪存区域、因为 ECC 被启用、并且这些位置没有生成相应的 ECC、所以这在预取中止中结束。  

    有两种方法可以解决、

    1) 1)请尝试使用链接器命令文件填充整个闪存区域(请参阅以下链接器存储器以供参考)

    2) 2)禁用 ECC (不推荐)  

    如果您仍然看到问题、请尝试并告知我。

    --------  

    存储器

      引导程序(X) :origin=0x00000000 length=0x00000020

      FLASH0 (RX):origin=0x00000020 length=0x0013FFE0 fill = 0xffffffff

      堆栈 (RW):origin=0x08000000 length=0x00001800

      RAM (RW):origin=0x08001800 length=0x0000AB00

      profile (RW):origin=0x0800C300 length=0x00007D00 //已添加以用于分析目的*/

      日志(RW):origin=0x08014000 length=0x00002000 ffill=0xDEADBEF/*已添加用于记录目的*/

      FEE (R):origin=0xF0200000 length=0x00000064 fill=0xDEADBEF/*用于 FEE 测试,仅对示例应用有效*/

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Prathap、
    客户已尝试此选项、但仍被同一问题阻止。
    您可以直接与我分享安全库以及已在电路板中验证的编译器版本和项目配置吗?
    期待您的回复、谢谢。

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

    我使用了 SDL 版本2.3.1中的示例,使用了编译器版本5.0.4,我在 EVM (内部)板上执行了此操作,该板只是一个 Bearb熊 金属硅结账板。

    用于调试。 在预取异常矢量处有一个到自身的循环代码、对代码进行编程、运行代码、连接调试器以从 LR 寄存器中找出引发异常的位置。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Prathap、
    客户尝试在 TI EVM 板中使用相同的 SDL 2.3.1和编译器版本5.0.4、但仍然无法解决。 您是否可以提供压缩的.zip 文件?

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

    与2.3.1中提供的文件相比、我没有任何不同的文件。 版本。

    我能够重现、当我进行加电/断电时、我可以多次按_expt_vec_abort_pref ()一次。 调试时、LR 显示一些随机值、这变得非常难调试。

    我现在正在研究这一问题,目前还不能找到根本原因。
    这意味着客户可以使用常规 HALCoGen 启动并在主程序中调用 SafeTI 诊断库 API。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Prathap、
    预期您的进一步进展。 当前客户正在使用 HALCoGen、它启用了安全功能;

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

    您好 Benjamin、

    您能否在 startup.c 文件中注释出函数 vimParityCheck(),并尝试运行测试?

    我还没有找到根本原因、但我注意到一些 ESM FIQ 中断的发生也注意到载入到 VIM 模块的 ISR 地址损坏。 我正在研究它以进一步了解,同时请在 startup.c 中注释 vimParityCheck ()