Error: invalid constant after fixup

来源:互联网 发布:为什么外国人显老 知乎 编辑:程序博客网 时间:2024/05/23 19:19
用arm-linux-gcc编译的时候碰到了这个错误:
led_on.S:5: Error: invalid constant (5C012) after fixup
网上搜了一下,有如下解释:
MOV    R1,#0x0005C012 最好改成LDR R1,=0x0005c012 用mov的话这个数必须是由8位立即数循环右移偶得到的次得到的。

如果超过了8位,可以用ldr指令,也可以用C语言定义变量(需用上面的立即数初始化),然后传进嵌入的汇编程序。