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.

[参考译文] MSP430G2553:在使用 CCS 进行调试期间手动修改 R7

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1161797/msp430g2553-manual-modification-of-r7-during-debugging-using-ccs

器件型号:MSP430G2553

您好!

我的目标是在调试期间修改寄存器 R7。

我已经在汇编程序中设置了一个断点、并运行代码到该点。 R7的值为0x0001。  然后、我手动将 R7更改为值0x0005。 这似乎是可以接受的。  当我步入下一行时、R7返回到0x0001。

这是预期的行为、还是有办法在调试期间将 R7设置为我想要的值并继续执行程序。

谢谢你。

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

    您好、Skylar、

    您能否更详细地解释一下 R7寄存器(在 CCS 中)的设置位置?

    下一行是否也对 R7寄存器进行操作? 汇编指令可能会使用之前的值重新加载寄存器。

    下面是 Code Composer Studio 12用户指南的一个片段

    此致、

    Luke

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    单击 DEBUG 并运行程序至 LINEC 处的断点后、我将手动设置 R7 (请参阅下文)。  然后、在"Registers"面板中、我单击 R7的值并将其更改为0x0005、然后按 Enter。  我的更改被接受。  
    这是我要执行的主循环。  这是一个初级阶段、目的是教我如何使用 MSP430和 CCS。
    ;这里是主循环
    ;------------------------------------------------------------------

    LAB1 mov.w #01、&0200h;在位置$0200上设置一个数字
      MOV.w #02、&0202h;在位置$0202上设置一个数字
      MOV.w #03、&0204h;在位置$0204上设置一个数字
    Linea CLR R7;清除整个 R7寄存器
      CLR R8;清除整个 R8寄存器
      CLR R9;清除整个 R9寄存器
      CLR R10;清除整个 R10寄存器
    lineb mov.w &0200h、R7;将一个字从&0200h 复制到 R7
      MOV.w &0202h、R8;将一个字从&0202h 复制到 R8
      MOV.w &0204h、R9;将一个字从&0204h 复制到 R9
    LINEC mov.b R7、R10;以值形式 R7在 R10中启动累加器
      add.b R8、R10;将内容 R8添加到其中
      add.b R9、R10;将内容 R9添加到其中
      MOV.b R10,&0206h;现在将总和存储回内存中
    Mainloop JMP Mainloop;无限循环
    以下是我采取的步骤:
    1运行程序至 LINEC 处的第一个断点
    2将 R7的寄存器值更改为0x0005
    3单击装配体步进按钮1次
    4 R7已改回0x0001。
    感谢你的帮助
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Skylar、

    我将代码复制到了我们的示例汇编代码 之一 MSP430g2xx3_P1_01.asm

    然后、我打开"Register"视图并单击"Value"、然后将 R7从0x0001更改为0x0005并继续执行代码。

    在这里、您可以看到我再单步执行一行、R10现在填充了 R7的值。

      

    在单步执行更多操作后、我得到 R10 = 0x000A 的最终结果、这是预期的结果。

    我无法重复您的问题、您使用的是 CCS 的当前版本? 对于硬件、您使用的是 Launchpad 还是定制板?

    此致、

    Luke

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

    感谢你的帮助。  我不知道发生了什么,但问题似乎已经解决。 它现在正在工作。

    我希望我知道未来的问题发生了什么变化。

    感谢你的帮助。