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.

[参考译文] RM44L920:为电路板下电上电时出现预取中止异常

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1420558/rm44l920-prefetch-abort-exception-when-power-cycling-the-board

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

工具与软件:

您好!

我遇到了 帖子中描述的相同问题 、其中 A 预取中止异常 在实现后对电路板进行下电上电时发生 SafeTI 诊断库(SDL) .

我已经实现了sys_startup与 SDL 演示应用程序完全相同的功能、虽然系统可以很好地与其他复位类型(例如、调试、swrst、CPU)配合使用、但预取中止仅在下电上电期间发生。 我已经查看了链接帖子、但找不到适用于我的设置的特定解决方案。

这是我在调试期间捕获的寄存器值。

然而、我无法确定预取中止的原因、因为我无法在反汇编中查看位于指定地址的代码。 有关如何继续或进一步调查此问题的任何指导都将有所帮助。

sys_startup处理下电上电时、代码或内存初始化中是否需要进行任何特定更改或检查? 非常感谢您提供任何见解或建议!

此致、

Ilija

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

    尊敬的  Ilija:

    我不知道该问题的确切根本原因。

    Unknown 说:
    sys_startup完全按照 SDL 演示应用程序实施了、

    您能详细解释一下您所做的更改吗?

    这样、我就要进行相同的更改并希望在电路板上重现该问题、以便进一步调试该问题。

    ——
    谢谢、此致、
    Jagadish。

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

    您好!

    这是我的 sys_startup.c 文件、我将其与 SDL Demo 中的文件进行了比较、但无法发现可能导致问题的任何差异。

    e2e.ti.com/.../sys_5F00_startup.c.txt

    谢谢、此致、

    Ilija

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

    尊敬的 Jagadish:

    您是否在此问题上取得了任何进展?

    我想添加发现的内容、中显示了一个 ESM 组2错误 Esm_Stat 2 使用值注册0x01000000。 根据 TRM、这对应于 MibSPI5 RAM 奇偶校验错误。

    我担心的是在我没有考虑到时为什么会触发这个错误 MibSPI5 项目中生成它。

    谢谢、此致、

    Ilija

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

    尊敬的  Ilija:

    我想添加我发现的内容—中显示了 ESM 组2错误 Esm_Stat 2 使用值注册0x01000000。 根据 TRM、这对应于 MibSPI5 RAM 奇偶校验错误。[/QUOT]

    您确定这件事吗?

    ESM 组2中的通道24是窗口式看门狗违例:

    ——
    谢谢、此致、
    Jagadish。

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

    您好!

    您是对的! 我回去检查了文档、你是对的、 我实际上是在看第1组。谢谢观看!

    您是否知道为什么会发生这种窗口式看门狗违例?

    此外、关于原始问题的预取条目问题、您是否发现了可以帮助解决该问题的任何新东西?

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

    尊敬的 Jagadish:

    我想继续跟进最初的问题(预取中止)。 这是一段时间了、我还没有收到回复。 如果您能提供任何更新或见解、我将不胜感激。

    在这方面是否有进展?

    谢谢、此致、

    Ilija

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

    尊敬的  Ilija:

    对不起,延迟响应,我被其他问题卡住.

    您是否知道为什么会出现这种窗口式看门狗违规?

    如果我们未能在配置的时间内复位看门狗、就会发生这种看门狗违例。

    例如、如果您验证以下代码

    在这里、我们要配置看门狗、正确计数为4095、

    这意味着到期时间将如下所示:

    这意味着我们应该在使用 dwdReset ()函数到期之前重置看门狗,否则将设置看门狗违例 ESM 标志。

    我认为这与预取错误无关、如果我们的代码未执行主循环并可能卡在其他某个位置、就会发生这种情况。

    关于预取错误、我建议您参考以下例外故障排除文档。

    (+)[常见问题解答] TMS570LC4357:Hercules 器件上的中止异常故障排除-基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛

    使用它、您可以找到发生预取错误的地址。 所以、请参阅一次、然后根据它调试工程。

    ——
    谢谢、此致、
    Jagadish。

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

    Jagedish、您好!

    感谢您的答复。

    关于预取中止问题、我已经执行了 POST 中概述的用于在调试期间排除中止异常故障的步骤。 正如我在原帖中所述、我无法指出哪个指令导致了预取中止。 当我检查 CP15_instruction_fault_address 寄存器时、显示的是0x7B86CD9A、但我无法在反汇编视图中读取此地址处的值。

    我刚刚发现此问题似乎与 SRAM 自检有关、这似乎是导致此问题的原因。

    当我删除 sl_SelfTestSRAM()函数时、没有错误。

    您能否就如何应对这种情况提供进一步的指导?

    谢谢、此致、

    Ilija

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

    尊敬的  Ilija:

    对此、我深表歉意。

    您是否仍然受困于此问题?

    ——
    谢谢、此致、
    Jagadish。

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

    尊敬的 Jagadish:

    我自己解决了这个问题。

    谢谢、此致、

    Ilija