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/MSP432P401R:错误:此行有多个标记。对于"LDR"

Guru**** 2554160 points


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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/587354/ccs-msp432p401r-error-multiple-markers-at-this-line-for-ldr

部件号:MSP432P401R

工具/软件:Code Composer Studio

您好,

  我开始使用CCS在TI Launchpad上安装ARM组件。 在一个简单的程序中切换LED。 我收到以下错误。  

1.非法符号

2.表达式中的术语错误

3.意外的尾随操作数。

我是否在这里漏掉了一些明显的语法?

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

    ARM Cortex-M架构不支持加载32位即时值。 以下代码是GNU特定的伪指令,GNU ARM汇编程序将为其生成16位和16位以下的负载:

    LDR R0,=P1DIR 

    TI ARM汇编器不支持上述伪指令,这就是为什么会出现错误的原因。 对于TI ARM汇编器,您必须使用一对MOVW / MOVT指令执行负载,以获得较低和较高的16位值。 例如:

    MOVW R0,#P1DIR和0xFFFF
    MOVT R0,#P1DIR>>16. 

    线程 缺少LDR伪指令 包含一个宏,该宏可与TI ARM汇编器一起使用,以帮助生成MOVW / MOVT指令对。

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