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/LAUNCXL-CC1350:寄存器视图:显示的PC值不正确(-0x4)

Guru**** 2541610 points
Other Parts Discussed in Thread: CC1350

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/579428/ccs-launchxl-cc1350-register-view-displayed-incorrect-pc-value--0x4

部件号:LAUNCXL-CC1350
主题中讨论的其他部件:CC1350

工具/软件:Code Composer Studio

我已经:

1. LAUNCXL-CC1350 (SoC CC1350)

二,CCS 7.

我有一个简单的示例,它演示了显示不正确的PC值。

1.步骤1 -在执行"mov R6, PC"前右停。 显示的PC值为"0x292"。

2.步骤2 -执行"mov R6, PC"后,R6中的值为"0x296",而不是"0x292"

我知道为什么会发生这种情况:ARM使用"管道"来执行。 这就是PC存储当前命令而不是前面2个命令的原因。

但问题在于CCS显示的PC值不正确。 在“步骤1”上,显示的值应为“0x296”,而不是“0x292”。

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

    您好Dmitry


    您在CCS中看到的行为是预期的。 在“调试”状态下,“注册”窗口中报告的PC是“调试视图”,并指向从“调试”状态退出时将执行的指令的地址。

    希望这有所帮助。

    谢谢

    Ashwini Athalye

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

    感谢您的回答。

    是的,我认为原因是调试。

    如果你不知道有这种行为,那就有点令人困惑。 例如,如果代码中有一些全局变量。

    如果他看拆卸代码,则应记住这一点。

    示例:此处是"LDR r0,[PC,#0x10]"代码,但在"Memory Browser"中将出现错误的内存位置。

    再次感谢:)