无语,用arm-linux-gcc编译的时候碰到了这个错误:
led_on.S:5: Error: invalid constant (111400) after fixup
网上搜了一下,出现如下解释:
mov R1, #0xf0f0f021 最好改成LDR R1,=0xf0f0f021 用mov的话 只要立即数大于0x100后 有些数可以编译通过但是有些数就不能编译通过我用ads1.2软件做过实验 你可以试试用ldr时就不会出现这样的问题.:还真是奇怪。。。。记录下来,以后明示。。。
从上面的解释可以看出,立即数只能表示8位,超过了8位就有问题了,如果超过了8位,就只能用ldr指令了,呵呵。关于立即数为什么只能循环右移偶数位,下面这个帖子有详细解释:
阅读(8129) | 评论(0) | 转发(0) |