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.

[参考译文] RM44L520:设置后数据中止

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1184496/rm44l520-data-abort-after-setting

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

目前、我有一个 FreeRTOS 任务导致数据中止。 我将数据中止源向下跟踪到以下行:

config_reg->CONFIG_LOGICPDPWRCTRL0 = pmmREG->LOGICPDPWRCTRL0;

我能够在存储器资源管理器中读取该寄存器、并且可以在正确的自动生成 HAL 文件中找到尝试保存该寄存器的结构。 我在 Halcogen 中禁用了 MPU、并将任务提升 为特权模式、但问题仍然存在。 我还尝试增加该任务的堆栈大小、但这也不起作用。 请提供任何帮助。  

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

    尊敬的 Andrew:

    请在此处查看我的应用手册:

    http://software-dl.ti.com/hercules/hercules_docs/latest/hercules/FAQ/FAQ.html#troubleshooting-abort-exceptions

    检查 C15 DFSR 寄存器、地址寄存器和 MCU 通用寄存器 R14_abt 的值?

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

    CP15 DFSR = 0x80D  

    这似乎对应于由写入操作权限不足引起的中止。  

    CP15数据故障地址= 0x23B98

    R14 = 1D4E4

    我已经提高了任务权限 级别并在所有内核上禁用了 MPU、因此我不确定可能会出现什么其他权限问题。  

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

     您读取的存储器位置未编程。 未编程的存储器位置没有有效的 ECC 值、因此读取未编程的地址将产生不可纠正的 ECC 错误、然后数据中止。

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

    我不确定应该如何解决这个问题。 自动生成的链接器文件似乎也不引用存储器的那一部分。  

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

    请仔细检查您的代码 tris 是否读取 0x23B98处的数据。 如果禁用 RAM ECC 会发生什么情况?  

    /*在为主 RAM 执行 PBIST 之前禁用 RAM ECC */
    _coreDisableRamEcc_();