1. 执行arm-linux-gcc -v之后提示.../.arm-none-linux-gnueabi-gcc not found
最近开始学习嵌入式linux,按照说明文档安装交叉了编译工具并且设置了PATH,但时执行arm-linux-gcc -v之后却提示
.../.arm-none-linux-gnueabi-gcc not found
上网搜索之后发现之所以出现这个问题是因为linux主机操作系统是64位操作系统,而交叉编译工具是32位的,需要依赖
一个32位库,网上给出的解决办法是安装 lsb-core ,按照提示安装成功后再执行arm-linux-gcc -v就好了。
2.执行arm-linux-gcc 编译时出现error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or director
上网搜索之后发现出现该问题的原因是我使用的是64位ubuntu系统,而该工具链为32位,需要依赖32位库,根据提示执行
apt-get install lib32stdc++6
apt-get install lib32z1
安装这两个软件包之后便可以正常编译了
3.用arm-linux-gcc编译的时候碰到了这个错误:led_on.S:5: Error: invalid constant (111400) after fixup
网上搜了一下,出现如下解释:
mov R1, #0xf0f0f021 最好改成LDR R1,=0xf0f0f021 用mov的话 只要立即数大于0x100后 有些数可以编译通过但是有些数就不能编译通过