今天进行源码编译、虽然中午编译到时候遇到来一个权限问题、很轻松到一下google、百度一下解决了
但是后面还所出来另外到一个交叉编译到问题
在Ubuntu11.10下建立eabi交叉编译环境
arm-eabi-linux 交叉编译环境
备注:我采用的是最新版本的UBUNTU 11.10,里面的gcc,gdb,libgcc等都是最新的。
???????? 我是以普通用户的身份登陆的。
1. 安装标准的C开发环境,由于Ubuntu安装默认是不安装的,所以需要先安装一下:
sudo apt-get install gcc g++ libgcc1 libg++ make gdb
其实这一步可以省去,但是最好检查一下,比较保险。
2.安装交叉编译器
我是从开源网上下载最新的支持EABI的交叉编译器cross的包,把它下载到 /home/chloe下,然后解压
sudo tar jxvf arm.tar.bz2
然后将解压后的文件都转移到/usr/local/arm下(若/usr/local/下没有arm文件夹,可先建一个 sudo mkdir? /usr/local/arm):sudo mv arm /usr/local/arm
3.把交叉编译器的路径加入到PATH
sudo vim /etc/bash.bashrc
?
在后面加入如下代码:
if [ -d /usr/local/arm/2.95.3 ] ; then
PATH=/usr/local/arm/2.95.3/bin:"${PATH}"
fi
4.使新的环境变量生效
su root
enter the passwd
then
# source /etc/profile
5.检查是否将路径加入PATH的方法:
echo $PATH
如果显示的内容中有/usr/local/arm/arm-2008q1/bin,说明已经将交叉编译器的路径加入PATH
自此,交叉编译环境安装完成。
6.测试安装是否成功
下面我们就来测试一个简单的例子。
/*Hello.c*/
#include <stdio.h>
main()
{
printf("hello world!\n");
}
程序输好以后确认无误,保存。进入程序文件所在目录执行:
arm-none-eabi-gcc hello.c –o hello
编译好了以后就可以下载到目标机进行测试了。当然也可以先在PC机上 测试正误。用gcc hello.c –o hello就可以生成PC机上程序了,在运行./hello 就可以发现终端显示hello!字样。用arm-linux-gcc编译的程序在PC机上是不能运行的,运行后给出错误报告:无法执行二进制文件。说明经 过交叉编译环境编译出的文件是硬件可执行的二进制代码文件。