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.

[参考译文] MSP-EXP430FR5994:硬件或软件断点在 CCS 12.7.0.00007 + Windows11上的 MSP430-gcc-9.3.0.31_win64中不起作用

Guru**** 2466550 points
Other Parts Discussed in Thread: MSP430FR5994

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1350253/msp-exp430fr5994-hw-or-sw-breakpoints-not-working-in-ccs-12-7-0-00007-msp430-gcc-9-3-0-31_win64-on-windows11

器件型号:MSP-EXP430FR5994
主题中讨论的其他器件:MSP430FR5994

您好!

我有同样的问题,这里(但它是在 Linux 上,很久以前):

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/653386/ccs-ccstudio-v7-4-0-00015-linux-gnu-gcc-v6-3-1-linaro-cannot-set-breakpoint-from-source-window

我通过 CCS 的应用中心安装了 GCC。

当放置在 C 源代码中时、软件或硬件断点会自动禁用、并且在调试会话期间不起作用。

只有放置在反汇编窗口中的断点才会被考虑在内。

我有相同的消息"没有与...关联的代码" 在尝试强制启用这些断点时;而我的所有文件夹都很好地位于构建配置的"源"设置中

我认为我也没有任何优化、标志集的摘要为:

"-mmcu=msp430fr5994 -mhwmult=f5series -i"C:/tools/TexasInstruments/ccs1260/ccs/ccs_base/msp430/include_gcc -i"C:dwarf"-i"C:/Users/chamb/workspace_v12/ECC_WITH_CCS_GCC -i"C:/tools/TexasInstruments/ccs1260/ccs/tools/compiler/msp430-gcc-9.3.0.31_win64/msp430-elf/include -og -g -gdwarf-3 -gstrict-dwarf -wall"

我尝试删除大内存模式标志、但没有成功。

使用 TI 编译器而不是 GCC 时、断点确实有效。

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

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

    在主函数中调用函数(您放置了断点)?

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

    可以,即使是在 main ()的开头的断点也会被忽略;而对相同行的运行到行也可以工作。

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

    您好!

    Unknown 说:
    我收到了相同的消息"没有与...相关联的代码" 在尝试强制启用这些断点时

    源代码相关性似乎存在一些问题。 您是否能够为项目提供此问题?

    谢谢

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

    是的、谢谢、这里是该项目的代码

    https://sharing.prolifik.net/MSP430-ECC_WITH_CCS_GCC.zip

    我设法让一个断点在 main ()中工作一次,没有理由,但其余时间我得到这自动禁用的硬件/软件断点和上面提到的错误消息

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

    您好!

    感谢您提供测试用例。 使用 CCS 12.7.0、我能够导入工程并将可执行文件加载到我的 FR5994 LaunchPad。 我没有看到源代码行断点有任何问题:

    您能否在编辑器中关闭 randombytes.c 文件、然后查看您是否单击 Modules 视图中的"randombytes"函数、如果这会在编辑器中打开正确的文件。

    如果您从未使用过模块视图、请访问: https://dev.ti.com/tirex/explore/node?node=A__APVIzRhtpuf-7AMAb9iu3w__ccs_devtools__FUz-xrs__LATEST

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

    我尝试了"模块"面板、实际上可以从此处正确打开代码的文件和函数

    但是、当在项目根目录 C 文件中设置断点时、我刚发现它可以用。
    就像有一些 C 文件在一个"test/"子目录中中断了它们的断点系统一样:??

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我尝试过模块面板,但实际上可以从此处正确打开代码的文件和功能

    那么源代码相关性似乎是可以的。

    好像在"test/"子目录中有一些 C 文件中断了它们的断点系统:?

    正如您在我的屏幕截图中所看到的、我可以在./test/randombytes.c.中设置源代码行断点  

    在最新的屏幕截图中、CCS IDE 看起来稍有不同。 例如、在我的默认 CCS IDE 环境中、编辑器中的选项卡和某些视图中的边缘比尖锐的方形边缘多。 您是否使用了不同的主题或观点?

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

    我使用的是默认的编辑和调试视图,是因为 Windows 11面板有点不同吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我使用的是编辑和调试的默认视图

    您是指 CCS Edit 和 CCS Debug?

    是因为 Windows 11面板有点不同吗?

    我不这么认为、但我需要在 Windows 11 PC 上进行检查以确认

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我不这么认为,但我需要在 Windows 11 PC 上检查以确认

    在 Windows 11上、一切都运行正常(看起来也正常)。

    您能否尝试清理环境和工作区(9.4.2和9.4.3): https://software-dl.ti.com/ccs/esd/documents/users_guide/ccs_troubleshooting.html#general-ide

    还可以尝试执行步骤9.7.3、9.7.4和9.7.5?

    https://software-dl.ti.com/ccs/esd/documents/users_guide/ccs_troubleshooting.html#delete-the-debug-launch-configuration

    谢谢

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

    是的、我使用的是 CCS 编辑/调试视图

    我已尝试上述所有操作/重置、9.4.2和9.4.3以及9.7.3和9.7.4以及9.7.5

    错误的项目现在是我的工作区中唯一启用的项目,但我仍然有非根源文件的断点错误 。

    我已经检查了我的路径;其中没有奇怪的 MinGW/gcc 安装、因此这也不是这种冲突

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

    当我检查模块视图时、我没有看到列出的比较.c 文件或比较函数。 它看起来与构建中使用的不符。 或者调试符号中至少不存在该符号。 因此、在本例中、您看到的误差是预期的。

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

    我的模块选项卡中有"compare.c"文件和函数,断点可以与它们一起工作;

    只有当我尝试从 test/*文件启用断点时,例如 test/test.c 的 le main(),我才会得到错误消息,而所有这些文件/符号在 Modules 选项卡中也很好。

    这真的很奇怪。  

    不过、使用 TI 编译器我没有问题、只能使用 GCC

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

    我的模块选项卡中有"compare.c"文件和函数,断点可以与它们一起工作;

    只有当我尝试从 test/*文件启用断点时,例如 test/test.c 的 le main(),我才会得到错误消息,而所有这些文件/符号在 Modules 选项卡中也很好。

    这真的很奇怪。  

    [/报价]

    这很奇怪、我遇到了反向问题。 我无法在 compare.c 中设置断点、它在模块视图中是不可见的。 因此、我也无法在那里设置断点。

    我在 test.c 中设置断点没有问题

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

    HM 与 CCS for MSP430中的 GCC 有明显的问题、但即使不在相同的文件上(并且在 Modules 面板上有差异)、我们在这里有一个可重现的错误。

    上报此问题的最佳方式是什么?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    HM CCS for MSP430中的 GCC 肯定有问题、但即使在相同的文件上没有问题(模块面板上也有问题)、我们这里有一个可重现的错误。

    我不相信有错误。 我看了一下你发送给我的示例项目,我看不到 compare()曾经调用过。 因此、在调试符号中不引用该符号是合理的。 您是否使用不同的示例? 我可以步入各种函数、而 CCS 可以找到所有源代码、并且我可以在所有源代码中设置源断点。  

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

    啊,对于 compare.c 我确实修改了 main ()来调用 compare()函数,从而测试其中的断点。

    在本例中、您可能没有错误、只是正常的优化停用的函数

    但在我的一侧,我不能得到为什么 main ()-它被称为:D -得到这个断点错误,就好像它在符号中不可用 :????

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

    为了让我们调试问题、我需要一个可重现的测试用例。 我还不知道源代码关联为什么不起作用。

    下面的视频是我正在执行的操作:

    e2e.ti.com/.../ECC_5F00_WITH_5F00_CCS_5F00_GCC.mp4

    在编辑器中关闭所有源文件。 然后、当程序被载入并运行到 main 时、它应该打开 test.c 并在 main 中暂停。 在 CCS 打开的 test.c 中、不能像我在视频中所做的那样在任何源代码行上设置断点? 您的优化设置是-og、对吗?

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

    是的、我的操作与您的操作完全相同、我的优化标志是 Well -og

    我偶然发现了一些新的东西,在我的"编译器"首选项中找到了2个 GCC 编译器,一个嵌入 CCS (GCC 9.3.0),另一个是我单独安装用于 CLI 测试的 GCC 编译器(GCC 9.3.1)。 这些都不能使用断点。

    但我删除了 CLI GCC 包、然后断点开始在所有地方工作(不仅在 compare.c 中、而且在 test.c 中也是如此)。 没有更多错误的断点

    我已读取 CLI GCC、现在断点继续工作、无论我选择的编译器是内部编译器还是 CLI 编译器。

    我不能再重现这个错误,所以它似乎有一个混合的两个 GCC 包? 路径错误,两个独立安装的二进制文件之间发生冲突?

    有时我已经把 C:\ti\msp430-gcc 添加到了我的系统路径中、但有一段时间、它已经不再在我的路径中了、难道 CCS 会"缓存"系统路径吗、甚至是通过清理/重建?

    令人不满意的是,错误仍然存在,但我想我们可以得出结论:"如果发生这种情况,修补已安装的 GCC 编译器,并刷新"已覆盖的工具",直到它再次运行"?

    顺便说一下、非常感谢输入 Ki、

    我 ^^如果我们不能重现这一点、我将不得不关闭该线程、因为它是 μ F"

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我不能再重现错误了,所以似乎两个 GCC 包之间混在一起了? [/报价]

    如果两者都起作用、我不确定冲突是如何发生的。

    在任何情况下、编译器只用于构建、而不用于调试。 例如、我最初使用的是您在 zip 中提供的可执行文件。 在您看到问题时在您的计算机上编译的代码。  

    令人不满意的是错误仍然存在,但我想我们可以得出结论:"如果发生这种情况,修补已安装的 GCC 编译器,并刷新"已覆盖的工具",直到它再次运行"?[/报价]

    这确实让我感到困惑、因为发现的工具列表只会影响工程编译、而不会影响调试。

    实际上、我不明白为什么从发现的列表中删除编译器会对调试有所帮助。

    我想如果我们不能重现这一点,我必须关闭该主题,因为它是 ^^'
    [/quote]

    我很高兴事情正在为你工作,我希望我能提供一些更明确的答案,为什么你看到了你所看到的问题。 但我没有。

    现在我们关闭该主题、如果它再次发生、我们可以重新讨论、并且您有更多详细信息可分享。

    谢谢

    [/quote][/quote]