环境:Ubuntu 10.04 目标板:s3c2410 安装交叉编译环境
1. 安装标准的C开发环境,由于Ubuntu安装默认是不安装的,所以需要先安装一下: sudo apt-get install gcc g++ libgcc1 libg++ make gdb
2.安装交叉编译器从这里下载交叉编译器cross-3.2.tar.bz2,然后解压sudo tar jxvf /home/engelbert/cross-3.2.tar.bz2(/home/engelbert/为你存放cross-3.2.tar.bz2的路径),然后将解压后的文件都转移到/usr/local/下, sudo mv /home/engelbert/usr/local/arm /usr/local
3.把交叉编译器的路径加入到PATH sudo vi /etc/bash.bashrc 在后面加入如下代码:
if
[ -d /usr/local/arm ] ;
then PATH=/usr/local/arm/bin:"${PATH}"
fi
4.使新的环境变量生效 # source /etc/profile
5.检查是否将路径加入PATH的方法: echo $PATH 如果显示的内容中有/usr/local/arm/bin,说明已经将交叉编译器的路径加入PATH 自此,交叉编译环境安装完成。
下面我们就来测试一个简单的例子。
/*Hello.c*/ #include main() { printf(“hello ubuntu!\n”); }
程序输好以后确认无误,保存。
进入程序文件所在目录 arm-linux-gcc hello.c –o hello(-o 可以理解为“目标为生成”)
arm-linux-gcc是第一次出现,有人可能会问这个哪里来的,不妨打开刚才安装的交叉编译工具目录/usr/local/arm-linux/arm-linux/bin/可以发现里面有一个arm-linux-gcc文件,这个就是针对arm的CPU的gcc编译器了。以后用其它编译工具链式也可以通过这种方法看看其编译器是什么了。编译好了以后就可以下载到目标机进行测试了。当然也可以先在PC机上测试正误。
用gcc hello.c –o hello就可以生成PC机上程序了,在运行./hello 就可以发现终端显示hello!字样。
用arm-linux-gcc编译的程序在PC机上是不能运行的,运行后给出错误报告:无法执行二进制文件。说明经过交叉编译环境编译出的文件是硬件可执行的二进制代码文件。