Sciopta RTOS组装错误

时间:2014-10-31 14:26:20

标签: assembly rtos

我对汇编知之甚少,但当我尝试构建一个使用Sciopta RTOS和Cortex A处理器的项目时,它产生了以下错误:

    Error[401]: Operand syntax error
    mrc     p15, #0, r0, c9, c14, #2
-----------------^

在文件cortex_a.s

有没有人对这个问题有所了解?

1 个答案:

答案 0 :(得分:1)

从错误代码和文本看起来,你看起来正在使用IAR汇编程序,但.s扩展名是GNU汇编程序约定,所以可能代码是为GNU汇编程序编写的,而不是它们IAR,它们在这方面有所不同。

我的猜测是删除#,因为除了一个立即操作数之外没有其他选项,所以它是隐式的。发行说明here支持此功能,其中包含以下注释:

  

在EWARM 6.50.2中:

     

MCR和MRC指令现在允许#在操作代码操作数之前也处于Thumb模式。

     

[EW23559]

据推测,您的EWARM版本较旧?