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.

[参考译文] MSPM0G3507:通过 M0进行 XDS110调试

Guru**** 2537030 points
Other Parts Discussed in Thread: MSPM0G3507

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1286927/mspm0g3507-xds110-debug-with-m0

器件型号:MSPM0G3507

团队成员:  

 我的客户现在正在使用 MSPM0G3507器件和 XDS110 仿真器,进行调试、发现两个问题。

1.我们将全局变量 test_close_flag 设置为 uint16_t

,、当我们启动仿真器时、我们 通过表达式表来更改 test_close_flag 的值、

3.我们按如下方式尝试 执行/切换大小写,但我们发现执行功能不起作用。 表达式 show  test_close_flag 是无符号短整型。

4.当我将 test_close_flag 设置 为 bool 时、 表达式 show test_close_flag 是无符号字符类型。

当我将 test_close_flag 设置 为 uint32_t 时、  执行函数将正常运行!!, 、且表达式 show test_close_flag 为 无符号整数 类型。

您能帮助评论导致此问题的原因吗? CCS 版本为12.3.0.00005

最后一个问题是关于断点。  

演示如下:

{

如果(TEST_CLOSE_FLAG)  

 DL_Time6_startcounter...;

如果(TEST_CLOSE_FLAG =0 )则执行其他操作

 DL_time6_stopcounter...;

当我们想添加一个断点作为 标记为绿色的线、但断点将作为标记为 红色的线出现。 希望知道原因、再次说明。

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

    如果优化生效、则直线可能会失去与汇编指令的关系。 (或者它们可以完全消失!) 这可能会导致按照您所述设置断点。 尝试使用优化关闭调试、这通常会使 C 源代码和汇编指令之间的对应关系相对保持不变。

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

    您好、Allen:

    我建议关闭优化、Keith 所在的位置是、代码有时会被修改、所以您无法在特定的 C 行上断点。 编译器还将优化掉变量、尤其是在编译器没有看到代码中更新的变量时(volatile 关键字将阻止变量被优化掉)。

    取消优化后、请再次尝试调试并检查 TEST_CLOSE_FLAG、如果未达到"0"或"1"的情况、我会创建一个默认情况并在那里放置一个断点。

    此致、

    卢克