arm-linux-gcc交叉编译环境搭建

准备工作:
1、linux系统,我用的是Ubuntu 16.04 x64 64位系统。
2、arm-linux-gcc压缩包。我用的是arm-2009q3.tar
arm-2009q3.tar网盘地址:http://pan.baidu.com/s/1hs053Pq

开始搭建:
首先创建文件夹:

cd /usr/local
sudo mkdir arm
cd arm

把arm-2009q3.tar复制 /usr/local/arm里面
arm-linux-gcc交叉编译环境搭建_第1张图片
解压arm-2009q3.tar

sudo tar -xvf arm-2009q3.tar.br2

最重要的是添加环境变量
四个步骤:

A. 修改 /etc/bash.bashrc 文件
1> gedit /etc/bash.bashrc // 在这个文件后添加:
export PATH=$PATH:/usr/local/arm/arm-2009q3/bin
2> source /etc/bash.bashrc

B.修改 /etc/profile 文件
1> gedit /etc/profile //在这个文件后添加
export PATH=$PATH:/usr/local/arm/arm-2009q3/bin
2> source /etc/profile

C. 直接 export 法
直接执行命令:export PATH=$PATH:/usr/local/arm_4.4.3/bin
(注意,如果你关闭了终端,或者新建一个终端,需要重新执行一下这个命令。)

D.修改 /etc/environment 文件
1> sudo gedit /etc/environment
原文件为:
PATH=”/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games”
将其修改为:
PATH=”/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/arm/arm-2009q3/bin”
2> source /etc/environment

验证是否安装成功
1.在普通用户下查看版本号,若安装成功则显示如图

arm-none-linux-gnueabi-gcc -v

arm-linux-gcc交叉编译环境搭建_第2张图片
2.在root用户下查看版本号,若安装成功则显示如图
arm-linux-gcc交叉编译环境搭建_第3张图片

安装失败原因:
系统为64位,编译器需要32位库。
解决方法
Ubuntu16.04版本已不支持ia32-libs的软件包,而是使用了lib32ncurses5、lib32z1软件包做为替代,所以在Ubuntu16.04版本当中应该安装执行:

apt-get install lib32ncurses5 ​
apt-get install lib32z1

详细说明如下:
Ubuntu Linux 解决 bash ./ 没有那个文件或目录 的方法
经常在ubuntu 64位下运行 ./xxx 会跳出来说没有这个文件或者目录,但是ls看又有这个文件,很是奇怪。
其实原因很简单,是因为他没有32位的运行库 ia32-libs 会出这种八杆子打不着的奇怪提示。
直接安装即可。
apt-get install ia32-libs
然而,ubuntu16.04 并不再支持 ia32-libs 的软件包。
而是用 lib32ncurses5 lib32z1​软件包代替了 ia32-libs 软件包,因此,安装lib32ncurses5 lib32z1​就可以了:

apt-get install lib32ncurses5 ​
apt-get install lib32z1​

你可能感兴趣的:(linux,嵌入式驱动开发)