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.

[参考译文] RM42L432:当我调用 sys_startup_s1.c 时、我的程序进入 prefetchEntry

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/567970/rm42l432-my-program-goes-into-prefetchentry-when-i-call-sys_startup_s1-c

器件型号:RM42L432
主题中讨论的其他器件: UNIFLASH

信息如下所示

IDE:CCS5.5

编译器版本:5.1.14

插座:RM42L432

 

当我调用 sys_startup.c 时、我的程序工作正常、调试正常。但是当我调用 sys_startup_s1.c 时、我的程序进入 prefetchEntry (这意味着添加诊断函数)

调试屏幕截图如下所示:

CP15寄存器屏幕截图如下所示。CP15_DATA_FAULT_STATUS=0x0000409意味着精确的分区和 ECC 错误

我 想  知道 如何  调用 sys_startup_s1.c 来避免进入 prefetchEntry?

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

    右侧屏幕截图上显示为存储器内容十六进制显示的所有"BAD0"都让我认为 ECC 编程不正确。

    您是如何对器件进行编程的? (您是否使用 CCS 或 uniflash?) 您使用的闪存编程设置是什么... 您是否使用了自动生成 ECC、或者是否禁用了此功能、并且您正在尝试使用链接器生成的 ECC?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    第二个评论-我的一位论坛同事刚刚告诉我、如果您使用的是 CCSv5、这里可能会有一个已知问题。 定义 ECC 扇区大小的 XML 文件中的错误。 因此、如果其他一切看起来都很好、尝试 CCSv6可能是一种探索途径。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Anthony

    感谢您的提醒。
    当我添加 AutoECC 时、它可以正常工作。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    超级棒!

    此 wiki 文章还介绍了如何使用链接器生成 ECC processors.wiki.ti.com/.../Linker_Generated_ECC
    从长远看、您可能会发现使用链接器生成 ECC 更稳健。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢