工具/软件:Code Composer Studio
您好,
似乎忽略了STARTUP_ARMCA8.S中的断点,即使我在STARTUP.ARMCA8.S中将断点放在'Branch to main'中也是如此。
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.
工具/软件:Code Composer Studio
您好,
似乎忽略了STARTUP_ARMCA8.S中的断点,即使我在STARTUP.ARMCA8.S中将断点放在'Branch to main'中也是如此。
我的CCS版本:版本:7.3 .0.0.0019万
调试之前,我生成了项目并放置了两个断点:一个在main.c中,一个在startup_ARMCA8.S中。 我通过按“调试”按钮开始调试。 调试器不会在 STARTUP.ARMCA8.S中停止,而是在main.c (在main的开头)中停止。 当我按“恢复”按钮时,调试器将在main.c中的断点处停止(这是正确的)。
屏幕截图:
我的简单项目(我没有更改S,lds文件)
好的,(在工程师的帮助下)我已经确定了此行为的根本原因。
如果在调试会话启动之前设置了断点,然后启动调试器,则CCS将在调试器连接到CPU后尝试自动应用该断点。
但是...
对于多CPU目标(如许多Sitara设备),不会发生这种情况,因为调试器不知道应该将断点应用到哪个CPU。 因此,它将使其保持不附加状态。
要检查断点是否已取消附加,可以转到“断点”视图的菜单,并按调试上下文分组
请注意,在下面的屏幕截图中,您可以看到断点是"未附加"的
然后,您可以通过以下方式将断点“附加”到当前调试上下文中:
系统将提示您选择CPU来应用断点:
现在将应用断点(附加):
如果您终止调试器并启动另一个调试会话,断点将再次自动连接到同一CPU,因为它将记住您的上一个设置。 但是,如果删除断点,然后尝试在调试会话之外再次应用它们,则需要重复相同的步骤。
请注意,由于您已启用"自动运行至主",因此它将始终运行至主。 如果您想从装配体文件的入口点开始,您可以始终禁用此功能。
谢谢
KI