主题中讨论的其他器件: MSP430FR5994
工具/软件:Code Composer Studio
TI 编译器 MSP430运行时库包含 _lock 和 _unlock 函数指针、以便能够插入互斥。 编译器生成 一个"CALLA &abs20"指令来调用这些函数指针。
将 CCS 8.3.0.00009与 TI MSP430工具链9.0.1一起使用时发现、尝试单步执行对此类函数指针的调用似乎会导致调试器在下一个断点之前自由运行、而不是单步执行函数调用。
使用随附的可在 MSP-EXP430FR5994上运行的示例:
1.启动调试会话,并在第一个 malloc()调用之后的行上设置断点:
2.进入 malloc()调用。
3.步骤直到在 malloc 中转到_lock()调用:
4.使用 Step Over,该步骤应该是单步执行 malloc()中的 text 语句。 但是、Step Over 会使程序运行到在主函数中设置的下一个断点:
这是错误还是预期行为?
e2e.ti.com/.../3058.MSP430FR5994_5F00_max_5F00_heap_5F00_size.zip