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.

[参考译文] TMS570LS0714:FLASH_ECC_TEST_MODE_2BIT 问题

Guru**** 2468610 points
Other Parts Discussed in Thread: TMS570LS0714

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/675183/tms570ls0714-flash_ecc_test_mode_2bit-problem

器件型号:TMS570LS0714

您好!

我们使用了 TMS570LS0714并在我们的应用固件中实施了针对闪存的诊断测试。

我们定期使用测试类型 FLASH_ECC_TEST_MODE_2BIT 运行此测试、但固件在指令后挂起:

flashread =*(volatile UINT32 *) flashBadECC2;(sl_selftest.c 版本2.4.0的第1280行)

我们如何管理它?

注意:在闪存的第一部分(从0到0x0020000)、我们已经创建了一个禁用 ECC 的自定义引导加载程序版本。 这可能是一个问题吗?

谢谢你。

BR

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

    您能否提供有关固件挂起意味着什么的更多详细信息? 它是进入 while (1)循环还是 MCU 锁定? 在这种情况下、您是否能够连接调试器并查看其在代码中的位置? 此外、您对双位错误处理程序实施了哪些操作? 当检测到一个双位错误时、一个 NMI 将被触发并且 nERROR 引脚应该被置为有效。 您是否看到了这些结果中的任何一个?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    关于您的注释、我忘记了、对于启用了 ECC 的引导加载程序、您至少应该对 ECC 位进行编程、以便在运行应用程序代码时不会因推测取指令而导致中止。 您还应考虑在应用程序中初始化 MPU、以限制对存在引导代码的 Flash 存储器的访问、从而防止该区域中的意外执行。 这也有助于解决推测取指令问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢你 Chuck。

    我检查了代码、找到了错误、我是正确的。

    适用于引导加载程序信息。

    非常感谢。