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.

[参考译文] TMS320F280040-Q1:根本不会出现 n#39;t 断点

Guru**** 2596175 points
Other Parts Discussed in Thread: C2000WARE, SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1123149/tms320f280040-q1-doesn-t-hit-the-breakpoint-at-all

器件型号:TMS320F280040-Q1
主题中讨论的其他器件:C2000WARESysConfig

大家好、我将在 Piccolo F28004x LaunchPad 上使用 CCS12.0和板载 XDS110 USB 调试器来调试目标。 目标 使用 TM320F280040PMQR。 单步执行正常、但当我设置断点时、它不会命中任何一个、程序也不会停止。 在它被暂停后、它在无限 while 循环中停止、然后单步执行仍然有效。 现在、while 环路中只有几个简单的计算。

我在编译器和调试器上尝试了不同的设置、它保持不变。 是否有人知道缩小问题范围的方向? 输出格式为 COFF。 选择 ELF 时、将会出现链接器错误、我尚未对此进行研究。 不确定它是否与未命中中断点问题相关。

谢谢!

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

    起重机、

    您可以尝试使用 C2000Ware driverlib 示例之一吗? 您是否看到相同的行为?

    或者、这种行为仅发生 在您的自定义项目中?

    谢谢、此致、

    桑托什

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

    感谢 Santosh 的回复。 很抱歉耽误你的回复。

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

    我想知道如何打开 C2000Ware driverlib 示例? 只需从文件系统中打开一个项目、还是创建一个空项目、然后将 driverlib 示例复制到空项目?  

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

    起重机、

    导入 empty_project 后、driverlib.lib 将作为链接文件添加到项目中。 没有做任何事情。

    谢谢、此致、

    桑托什

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

    好的、我会尝试。 谢谢!

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

    是的、让我们知道它是怎么发生的。

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

    您是要从文件系统中的 C2000Ware 文件夹中打开项目、对吧? 我创建的内容与您所做的不同。 只有一个空 empty_driverlib_main.c、没有其他文件夹。 我还在看。

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

    起重机、

    您需要导入 empty_project。 它位于:

    C:/ti/C2000/C2000Ware_4_01_00_00/driverlib/f28004x/examples/empty_projects

    请参阅 C2000 Academy。 它介绍了如何开始使用空项目的分步说明。

    https://dev.ti.com/tirex/explore/node?node=ASrjG01hPgRfzY1a74A0Yg__jEBbtmC__LATEST

    谢谢、此致、

    桑托什

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

    好的、明白了。 谢谢!

    我将了解它如何与断点配合使用。

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

    您好 Santosh,和以前一样,只要 Device_initGPIO()被添加到主函数中,它就不会到达断点。

    void main (void)

    静态 uint8_t 状态;
    静态 uint8_t a = 5;
    静态 uint8_t b = 8;

    状态= a++* b++;
    status += A + status;

    //
    //配置 PLL、禁用 WD、启用外设时钟。
    //
    device_init();

    //
    //禁用引脚锁定并启用内部上拉。
    //
    DEVICE_initGPIO();

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

    您好、Crane、

    加载输出文件时,它是否会在 main()函数处停止?

    设置断点时、您能否共享屏幕?

    谢谢、此致、

    桑托什

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

    是的,它在 main()函数处停止。 单步运行正常。

    这是刚加载程序且已设置断引脚时的屏幕。

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

    我发现、内核的选择并不准确、应该是 TMS320F280040。 不确定是否重要。 请参阅屏幕截图。  

    但是在我之前运行的程序中、我在本次对话的第一篇文章中提到了这个、选择核心就是这个。 我不记得我以前是如何选择的。

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

    起重机、

    因此、在更改器件后、您是否能够可靠地设置断点或仍然存在问题?

    谢谢、此致、

    桑托什

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

    我不记得我以前是如何进行更改的。 SysConfig 文件与以前相同。 但它不会改变。 有什么想法吗?

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

    我认为这并不重要。  在基于 SysConfig 的工程中、它通过 SysCongig 构建页面进行更改、从一个部分迁移到另一个部分。 但我们通常会给出器件系列名称。

    它应该起作用、让我尝试在我的设置上运行它。 有一个问题、您是从闪存还是 RAM 运行?

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

    好的。 好极了。

    我从闪存运行。

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

    起重机、

    如果从 RAM 运行、您是否会看到相同的行为?  

    如果您从闪存运行、它将使用硬件断点、并且硬件断点存在限制。 请查看此链接、了解详情:

    https://software-dl.ti.com/ccs/esd/documents/ccs_breakpoint_watchpoint_c2000.html

    谢谢、此致、

    桑托什

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

    不、我还没有尝试从 RAM 运行。  

    好的、我将查看链接。 谢谢!

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

    我在 LaunchPad 开发套件上尝试了一个示例项目和一个空项目、并从 RAM 运行、结果相同。 只需传递断点、然后未命中。 它必须是设置不正确的内容。

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

    您能否检查项目设置:

    • 关闭优化
    • 启用完整调试符号

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

    是的、它们是屏幕截图中的内容。

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

    此屏幕截图显示了主函数以及断点的设置位置。 暂停后、它已经 在 while 循环中。

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

    起重机、

    是否可以在第63行设置断点?

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

    是的。 结果是相同的。

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

     断点被禁用。 当您加载程序时,它会在 main()函数中停止,对吧?

    如果是、那么您能否在断点窗口中的第63行启用断点。 然后按 F8键运行、它应该 在 第63行的断点处停止。

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

    我认为断点已启用。 如果您在屏幕截图中查看右侧断点窗口中的蓝色框、则会选中两个断点的两个框。 这是否意味着已启用断点?

    是的、它在 main()函数中的第一个"{"行暂停。

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

    起重机、

    您好像打开了"Skip All Breakpoints"。 请将其关闭、然后重试。

    谢谢、此致、

    桑托什

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

    请告诉我它是否可以解决您的问题、或者您在设置断点时仍有问题?

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

    好的、现在它可以工作了。 非常感谢。

    此开关的默认值是打开还是关闭?

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

    起重机。  

    默认情况下、它是关闭的、但您可能意外打开了。  

    我要将此主题标记为"已解决"

    谢谢、此致、

    桑托什

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

    好的、明白了。 非常感谢您的帮助。