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.

[参考译文] TMS320F28069:当单步执行 Flash_Erase 函数时、代码无法正确运行

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/992537/tms320f28069-code-could-not-run-correctly-when-stepping-through-flash_erase-function

器件型号:TMS320F28069

您好!

我的客户正在构建自己的引导加载程序、当他们运行(单击绿色的"恢复"图标)他们的以下代码时、它将在0x3ff4fa ESTOP0处停止。

然后、他们尝试调试错误、进入闪存擦除函数。

但它会告诉他们找不到源文件 Flash28_Erase.c

然后、我们尝试仅使用反汇编进行调试、发现它会卡在下面的行中、

1.在哪里可以找到  Flash28_Erase.c?

2.为什么程序卡在第0x3da2dd 行?

3.我们的代码中可能会出现什么错误导致此类问题?

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

    Howard、

    0x3ff4fa ESTOP0位于 BootROM 中。  可能是 ITRAP?  您是否在 ROM 中执行闪存 API?  如果不是,如果包含软件库,是否在运行时使用 memcpy()正确复制到 RAM?

    我认为 Flash28_Erase.c 是闪存 API 源的一部分(我可以确认)。  我们不提供闪存 API 源、因此它表示无法找到它。

    谢谢、此致、
    Vamsi