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.

[参考译文] CCS/TMS320F28379D:断点 DONE't 在解锁处理器中工作

Guru**** 2595805 points


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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/965105/ccs-tms320f28379d-breakpoints-don-t-work-in-unlocked-processor

器件型号:TMS320F28379D

工具/软件:Code Composer Studio

您好!

我正在调试一个已锁定的器件。 我可以连接到它、解锁它、并查看闪存和 RAM。 但是当我尝试设置断点时,CCS 显示,使用下面的“控制台输出”,它无法执行该操作。 但无论如何、它似乎都能做到、因为我尝试设置它的行上的图标就在那里、而不是灰显。 但是、当代码执行并通过该例程时、断点不会触发。 我知道断点应该已经被命中、因为它位于该例程中的第一条汇编指令上、在将一些调试代码放入该例程后、我可以看到它已运行。 解锁后、我是否需要执行其他操作来使断点正常工作?

控制台输出

C28xx_CPU1:设置断点时出现问题、在0x84381处执行"保持暂停"操作:(错误-1066 @ 0x84381)无法设置/清除请求的断点。 验证断点地址是否在有效存储器中。 (仿真包8.2.0.00004)

C28xx_CPU1:断点管理器:使用 AET 断点重试  

谢谢、

ED

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

    尊敬的 Ed:

    [引用 user="Ed Sanders">但是当我尝试设置断点时,CCS 显示,使用下面的控制台输出,它无法执行该操作。 但无论如何、它似乎都能做到这一点、因为我尝试设置它的行上的图标就在那里、而不是灰显。

    [引用 user="Ed Sanders"]

    C28xx_CPU1:设置断点时出现问题、在0x84381处执行"保持暂停"操作:(错误-1066 @ 0x84381)无法设置/清除请求的断点。 验证断点地址是否在有效存储器中。 (仿真包8.2.0.00004)

    C28xx_CPU1:断点管理器:使用 AET 断点重试  

    [/报价]

    这里发生的情况是、CCS 首先尝试在地址0x84381处设置软件断点。 它之所以失败、是因为(我假设)该地址位于闪存中。 调试器随后尝试了一个硬件断点、这是成功的。 我假设 设置调试器内存映射(未使用默认的启动 GEL 文件)、否则调试器不会首先尝试软件断点。

    到目前为止、这里没有什么问题。

    [引用 USER="Ed Sanders)]但是,当代码执行并通过该例程时,不会触发断点。 我知道断点应该已经被命中、因为它位于该例程中的第一条汇编指令上、在将一些调试代码放入该例程后、我可以看到它已运行。 解锁后、我是否需要执行其他操作来使断点正常工作?

    首先检查是否启用了"跳过所有断点"选项:

    https://e2e.ti.com/support/tools/ccs/f/81/p/962924/3557794#3557794

    如果不是、您是否在目标运行时尝试设置断点? 如果是、您可能会在28x 器件中遇到此已知问题:

    https://sir.ext.ti.com/jira/browse/EXT_EP-9781

    谢谢

    Ki

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

    您好 Ki、

    Ki

    到目前为止、这里没有什么问题。

    正确的是未设置调试器内存映射。 我使用的唯一 GEL 文件是将解锁器件的文件–无需更多。 如果我正在正确读取正常的 GEL 文件,F28379D_Memory_Map 是设置内存映射的例程。 它从 OnTargetConnect 调用。 此设置的目的是在不干扰任何内容的情况下进行连接并解锁处理器。 这似乎运作良好。 如果我在 OnTargetConnect 上添加对 FWU379D_Memory_Map 的调用,我是否正确地认为它不会改变不影响系统的基本行为?

    存储器映射页面

    很好的信息 这部分信息是否将在月底消失?

    Ki

    首先检查是否启用了"跳过所有断点"选项

    我已选中,“跳过所有断点”选项已关闭。

    Ki

    如果不是、您是否在目标运行时尝试设置断点? 如果是、您可能会在28x 器件中遇到此已知问题

    我不会在目标运行时尝试设置任何断点。 实际上、要设置断点、我需要停止目标、因为我是在反汇编窗口中设置它。

     链接中提供了良好的信息。 谢谢你。

     ED

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

    [引用 user="Ed Sanders"]如果我在 OnTargetConnect 上添加对 FWU379D_Memory_Map 的调用,我是否正确地认为它不会改变不影响系统的基本行为?

    设置调试器内存映射并不重要。 但是如果你想这么做,我会把它添加到 startup()。 由于设置调试器存储器映射不会访问目标、因此应该可以。

    [引用 USER="Ed Sanders)]好的信息。 这部分信息是否将在月底消失?[/报价]

    否 仅 有关 https://processors.wiki.ti.com/的信息 将消失。  

    [报价用户="Ed Sanders"]我选中了“跳过所有断点”选项,然后关闭了该选项。

    [引用 USER="Ed Sanders)]目标运行时,我不会尝试设置任何断点。 [/报价]

    嗯。 这些通常是不触发断点的关键因素。  

    我不确定其他什么会导致断点不触发。 您能否在另一个函数中尝试断点(执行断点)并查看是否会触发其中的任何断点?

    您是否还可以设置断点、然后在以下链接中运行命令以获取所设置的所有断点的列表?

    https://e2e.ti.com/support/tools/ccs/f/81/p/628691/2325434#2325434

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

    Ki

    我会将其添加到 startup()。

    我是这样做的、当我连接时、它似乎在工作、而不会影响系统。 谢谢你。

     

    Ki

    您是否还可以设置断点、然后在以下链接中运行命令以获取所设置的所有断点的列表?

     

    遗憾的是、我需要放弃重复此问题的硬件。 我尝试在完全不同的设置上复制此内容–同一个处理器。 现在我无法复制它。 话虽如此、我确实从您发送给我的另一篇文章中注意到、当我简单地让它运行时、ANASTOP 在断点处为1、而在断点处为0。 我尝试了链接中的脚本控制台建议、可以看到返回的信息。 当我设置断点时、我可以在输出中看到有关该断点的信息。 我将保持这一状态、直到我能够再次重复该问题。

    再次感谢您的所有帮助 Ki、

    ED

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

    好的、如果您在原始设置中再次看到问题、请保持发布

    Ki