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.

[参考译文] TMS320F28027:将 IEC60730 STL 库集成到工程中

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1588058/tms320f28027-integrating-the-iec60730-stl-library-into-a-project

器件型号: TMS320F28027

尊敬的德克萨斯:

我们需要您的帮助、以便将 STL 库集成到我们的项目中。 我们正在使用用于计算黄金 CRC 的 STL_GENERATE_CRC () 函数。 在参考文档(TMS320F2802x 的 IEC60730 安全库)中、我们阅读了(第 4.2.5 点 7):“...任何闪存扇区都可用于运行计算 CRC 的函数。 在 简单示例中、使用了闪存 A、因为不会定期检查扇区的 CRC。“ 是否可以定期检查的扇区运行该函数? 另一个问题是:是否可以仅擦除部分扇区 (A / B / C / D)?

非常感谢您的支持

Federico

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

    通过检查代码并阅读用户指南的该部分、我不清楚为什么说 STL_generateCrc 函数应该从未被 CRC 检查的段运行。 作为 CRC 计算核心 的 Calculate_PSA_CRC () 函数总是从 RAM 最终运行。 我认为没有检查闪存 A 的更大原因是 、这就是 gGoldenCRC 表的存储位置。 我相信、如果您设置起始地址和结束地址以避开存储 gGoldenCRC 的区域、您可能仍然能够测试该扇区的其余部分。

    根据闪存 API 指南、一次可以擦除的最小闪存量是一个扇区、因此无法擦除一个扇区的一部分。

    Whitney

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

    尊敬的 Whitney:

    感谢您提供清晰全面的答案。

    我借此机会请你作进一步澄清。

    我们与 STM 微控制器进行了类似的集成工作。
    在有关 CPU 安全测试的文档中、这些测试指示了以下测试:

    • tm2: 实现算术函数的测试
    • TM3: 实现倍频器功能的测试
    • TM4: 执行控制流指令的测试
    • TM5: 执行装货/存储单元测试
    • TM6: 执行移位和旋转功能的测试
    • TM7: 实现对 MSP 和 PSP 两个栈指针的测试
    • TM8: 实现对流水线功能的测试

    您的库中是否有等效的测试?

    谢谢你

    Federico

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

    该特定 IEC 60730 库中与 CPU 相关的测试主要是测试寄存器。 我们在我们的新器件上确实进行了更广泛的 CPU 测试(请参阅本文档中的 HWBIST 和 STL 项)、但不针对 F28027。

    Whitney

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

    非常感谢您对此问题的支持!

    Federico