三.在linux上安装交叉编译环境

我使用的是友善之臂的开发板,配套光盘资料,在光盘资料的 友善之臂tiny4412-A文件夹下的linux文件夹中有交叉编译工具:arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz。将这个工具包通过samba服务器拷贝到linux系统下。然后解压。

1.解压交叉编译工具链

tar -xzvf arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz

2.在/usr/local文件夹下创建arm文件夹

sudo mkdir /usr/local/arm

3.将解压后的工具链移动到刚创建的arm文件夹下

sudo rm /home/ywl/opt/FriendlyARM/toolschain/4.5.1 /usr/local/arm

4.修改环境变量

vim /etc/profile

新增arm-linux-gcc的路径。在打开的profile文件中添加  export PATH=$PATH:/usr/local/arm/4.5.1/bin,保存退出

更新profile文件,使其马上生效

source /etc/profile

5.测试工具链是否安装成功

在ywl文件夹下新建a.c文件,并添加输出hello world的代码。

运行工具链

arm-linux-gcc a.c

提示错误:long@ubuntu:/home/ywl$ -bash: /usr/local/arm/4.5.1/bin/arm-linux-gcc: No such file or directory

解决办法:linux安装的是ubuntu1604版本,是64位系统,而交叉编译工具链是32位的,因此需要安装32位库

sudo apt-get install lib32ncurses5

安装完成重新运行编译命令

arm-linux-gcc a.c

提示错误:/usr/local/arm/4.5.1/bin/../lib/gcc/arm-none-linux-gnueabi/4.5.1/../../../../arm-none-linux-gnueabi/bin/as: error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory

解决办法: sudo apt-get install lib32z1

再重新运行 arm-linux-gcc a.c,编译成功

 

你可能感兴趣的:(Linux)