其实当时买树莓派是为了学习Linux的,但既然进了嵌入式的门,相关的技术多少的都得学一点吧,但是呢,毕竟嵌入式设备就是嵌入式设备,性能还是没有早已成熟的桌面PC强,于是在桌面PC编译,在树莓派等嵌入式设备上面运行就成了自然而然的想法,今天就是交叉环境的建立了。
首先,需要了解什么是交叉编译,通俗一点来说呢就是在一个平台上的代码编译成另一个平台上的可执行代码,比如我们常见的平台有x86,x64(这两个平台的转换还不是很复杂),arm等,x86可以交叉编译arm也可以交叉编译x64,其实就是一套工具链的问题。既然今天的主角是树莓派,我们就来说说arm的交叉编译问题。
需要准备一些程序,最好是提前从网上下载好,主要有:
arm gcc交叉编译工具链,这里用的是linaro团队的,也可以用树莓派官方
gcc-linaro-arm-linux-gnueabihf-4.9-2014.07_linux.tar.xz
下载地址: 官方版:github.com/raspberrypi/tools(很慢,不推荐)
linaro版:http://releases.linaro.org/14.07/components/toolchain/binaries/(也很慢,稍好点,后面有我的网盘地址)
链接:http://pan.baidu.com/s/1bLF2I6 密码:778j
下面就正式开始了
解压:
#xz -d gcc-linaro-arm-linux-gnueabihf-4.9-2014.07_linux.tar.xz
#tar xvf gcc-linaro-arm-linux-gnueabihf-4.9-2014.07_linux.tar
添加环境变量:
#vim ~/.bashrc
更新环境变量:(一定要注意,不然系统不认)
# source .bashrc
验证:
# arm-linux-gnueabihf-gcc -v
如果配置正确会出现下图的版本提示:
PS:如果出现command not found 或者
The program 'arm-linux-gnueabihf-gcc' is currently not installed. You can install it by typing:
apt install gcc-arm-linux-gnueabihf
那就有2种可能:
1、最基本的环境变量没设置好,这个解决方法就是export解压后的arm-gcc目录下的bin到环境变量
2、没有更新环境变量(我就是犯得这个错误)