主题中讨论的其他器件:MSPWARE、 MSP430FR5994
由于我已升级到 CCS 10.4、在一些情况 下、从断点恢复似乎不会执行任何操作、直到第二次恢复。
在所有情况下、断点都已放置在函数调用上(或至少这是我迄今为止唯一看到的断点)、但它肯定不会放置在所有函数调用上。
我仍在尝试理解这一点、但我将尝试使用特定示例中的参考来解释我看到的内容。
-代码在断点处中断、调试堆栈顶部显示 MLX_Test.c:207 0x004710
此时点击"Resume"似乎不起任何作用、但检查调试堆栈会显示 MLX_Test.c:207 0x00471C、即、几个字节位于上、但仍然是同一个源代码行
-观察呼叫周围的反汇编情况;
00470e:2019 JNE (0x4742)
207 status = MLX_Read (&ctx->mlx_context、...
004710:013C 0016 MOVA 0x0016 (SP)、R12
004714:00AC 000A ADDA #0x0000A、R12
208 &ctx->Read_data、
004718:013E 0016 MOVA 0x0016 (SP)、R14
207 status = MLX_Read (&ctx->mlx_context、...
00471c:1800 41D1 0016 0004 MOVX.A 0x00016 (SP)、0x00004 (SP)
004724:1800 40F1 462A 0000 MOVX.A #0x0462a、0x00000 (SP)
我不会假装理解这里发生的情况、但似乎已将207源代码行关联到存储器列表中的两个位置(0x4710、一个0x471C)、并且正在设法在这两个源代码上中断。
这是在 CCS 10.4上使用 GCC 工具链、其中包含 MSP430目标。 该代码直接来自 CCS 9环境、不记得以前看到过这种情况。
有什么线索可以了解这里发生了什么?
Andrew