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.

[参考译文] TMS570LC4357:内存映射阻止读取0xBD001508

Guru**** 2468610 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1025829/tms570lc4357-memory-map-prevented-reading-0xbd001508

器件型号:TMS570LC4357

大家好、

我有以下问题:

我无法访问此 P_PtrToMutex。 程序总是在第81行崩溃。

如何解决它。

提前感谢您

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

    您好!

    我不知道该函数的用途是什么。 但指针的地址超出了该器件中闪存和 RAM 的有效范围。

    有效的闪存地址范围为:0x00000000 ~ 0x003FFFFF

    有效 RAM 地址范围为:0x08000000 ~ 0x0807FFFF

    当访问超出此范围的存储器地址时、将生成中止。

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

    我没有故意引起它。 当我在接收 UDP 数据后尝试分配高达8858字节的存储器时、就会发生这种情况。 我认为 Lwip 中的中断操作了存储器。 因为我可以在触发中断并接收到任何数据之前分配超过8858字节的存储器。 我的支持是否合理?

    否则、是否可以重新映射或增大有效 RAM 地址范围的大小?  

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

    你有计划吗? )

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

    SRAM 也映射到0x08000000、大小为0x512KB。 这些是不可更改的。

    如果使用数据段、则可以将段映射到 SRAM 中的不同位置。

    您也可以增加或减少 SRAM 中的堆栈大小。  

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

    好的、那么中断可以导致它呢? 因为此中止 (数据输入)仅在 ISR 执行后发生。

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

    异常可能是由中断 ISR 中的指令引起的。 请查看以下 FIQ:

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