工具/软件:Code Composer Studio
在与打算在闪存中运行的软件的最终目标进行集成的阶段、我们将使用编译在 RAM 中运行来调试代码、以获得更多可用的断点数量。 因此、我们将使用几乎所有可用的存储器。 我们采用的编译器版本是6.4.3。
使用此设置调试应用程序的重要部分后、我们现在遇到了非法操作陷阱、无法解释原因。
当调试器在由 ESTOP0操作码组成的陷阱处理程序中停止时、Debug 窗格仅显示部分堆栈、在中断函数中(在 RPC 指向的地址处)、有一个带有"没有为定义符号"的地址
"、当我们知道中断的函数不能是"顶层"且位于时 没有代码。 在 RPC 指向的地址和周围环境中,似乎有所有有效的操作码。
我们如何调查违规操作?
作为附加信息、执行以下操作之一时、问题似乎消失:
- 通过在代码中的某些点中断来改变执行时间线;
- 更改 GSRAM 中代码的位置。
此致、
Nicola