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:当代码发生更改时、在费用写入操作下预取中止。

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1527626/tms570lc4357-prefetch-abort-at-fee-write-operation-when-the-code-is-changed

器件型号:TMS570LC4357

工具/软件:

您好:

通常、我可以使用 TI 费用写入操作来避免出现问题。 但是、每当我更改与收费代码无关的代码时、写函数都会导致在 (0xF0200578) 处出现预取中止。 我意识到、如果加载的代码大小 (.text) 是某个特定的值(例如 0x455b0)、它就可以正常工作。  在不工作的代码中、加载的代码大小小于此值、例如 0x37e84。 即使对代码进行了小幅更改、 调试器中加载的代码也会发生 49KB 的更改。

就会看到链接器映射文件。 我意识到、在 不工作的代码中、.text 和.const 行之间的段分配映射中有一个额外的行。 因此 fee_text_section 和 fee_const_section  看起来未加载。 由于网络原因、我无法共享屏幕截图。

我不使用任何操作系统。 我正在尝试写入银行 7。

如果您能帮助我解决这个问题、我将不胜感激。

谢谢、
此致

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

    尊敬的 Bilal:

    我怀疑此问题可能是由于闪存中的收费部分放置不正确造成的。 但是、调试此问题需要代码。 是否至少可以共享一个涉及此问题的演示工程以便在我这边进行快速调试

    --
    此致、
    Jagadish。