系统环境:Ubuntu 16.04 LTS(64位) 
开发板:致远IoT-A3352LI V1.00(Cortex-A8)

安装官方提供的 arm-none-linux-gnueabi

推荐使用官方提供的工具,按照官方的指导手册来做会避免很多不必要的麻烦。手动安装更新的工具,有可能会引起系统其他软件的不兼容。

解压 arm-2011.03-41-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 安装包到 /opt 目录下:


tar -zxvf arm-2011.03-41-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 /opt

arm-2011.03

修改 ~/.bashrc 文件,在 PATH 变量中增加交叉编译工具链的安装路径, 
然后运行 ~/.bashrc 文件,使设置生效。


# User specific environment and startup programsPATH=$PATH:**/home/ctools/arm-2011.03/bin** #增加交叉编译器安装路径

运行.bashrc 文件的方法,进入用户主目录,输入. .bashrc 命令( 点+空格.bashrc)。 

在终端输入 arm-none- 并按 TAB 键, 如果能够看到很多 arm-none-linux-gnueabi- 前缀的 

命令, 则基本可以确定交叉编译器安装正确。

64位系统请注意! 
上述的利用 TAB 键补全的测试方法其实不能表示交叉编译环境已配置成功,请使用命令:


arm-none-linux-gnueabi-gcc -v #任何后缀均可

arm-none-linux-gnueabi-gcc: 没有那个文件或目录 的提示,google搜索可知: 

“The problem has been solved, because I installed the amd64.iso linux system,so first must excuse apt-get install lsb-core,then you can excuse arm-linux-gcc -v”

解决方法:


apt-get install lsb-core

如配置成功会显示如下信息: 

keepalived 交叉编译 交叉编译环境配置_交叉编译

如果上述方法未成功,请再往下看(未测试) 
在 /etc/profile 中添加交叉编译环境的目录(加入到文件最后):


export PATH=$PATH:/usr/local/arm/4.2.2-eabi/usr/bin

更新一下该配置文件:


source /etc/profile

arm-none- 并按 TAB 键, 如果能够看到很多 arm-none-linux-gnueabi- 前缀的 

命令, 则基本可以确定交叉编译器安装正确。 

keepalived 交叉编译 交叉编译环境配置_linux_02

如果还未成功配置。继续配置(未测试),在 /etc/environment 中的 PATH 末尾添加 arm-2011.03 的路径:


/opt/arm-2011.03/bin

arm-none-guneabi-gcc -v

在这里,PATH 的手动输入配置该怎么写,请参考该文件中已有的字段。

使用Ubuntu软件源中的 arm-linux-gcc 工具

诸如 raspberry pi 这类的开发板,可以在线升级系统,使用最新的工具一般都没有什么问题。但还是建议以官方为准,比较稳定。

使用 Ubuntu 官方源中的 arm-linux-gcc 工具


sudo apt-get install gcc-arm-linux-gnueabi

如果提示未找到软件包,是因为Ubuntu系统版本不是官网支持的最新的版本,请升级。执行以上命令即可。

lsb-core,否则,编译好的可执行文件可能在arm板上无法运行):

arm-linux-gnueabi-gcc hello.c -o hello


keepalived 交叉编译 交叉编译环境配置_keepalived 交叉编译_03

下载到开发板上,为文件添加可执行权限,执行: 

keepalived 交叉编译 交叉编译环境配置_linux_04

ok!