交叉编译环境安装

arm-linux-gcc-4.33 安装

linux

OS fedora10

kernel 2.6.30

下载一个arm-linux-gcc-4.3.3.tar.gz的压缩包

tar xvfz arm-linux-gcc-4.3.3.tar.gz -C /

注:组后的-C参数中的C是大写的参数 ,而且C与后面的斜线之间是有一个空格的


然后就是修改环境PATH

sudo gedit /etc/profile

添加上当前的路径


# Path manipulation
if [ "$EUID" = "0" ]; then
 pathmunge /sbin
 pathmunge /usr/sbin
 pathmunge /usr/local/sbin
pathmunge /opt/EmbedSky/4.3.3/bin  //add here
 # pathmunge /opt/EmbedSky/usr/local/arm/3.4.1/bin
else

 

注:linux中的PATH的分隔符是冒号“:”,而不是Windows中的分号


测试 随便在一个目录下,调用arm-linux-gcc -v 如果程序能正常运行即可

或者可以写一个ihelloworld.c 然后用此编译器编译 如果编译顺利 但是在运行时,提示can not execute ,就行了 毕竟一个i386 ,而一个是ARM架构

 

Ubuntu10.10交叉编译器配置

安装交叉编译环境
1. 安装标准的C开发环境,由于Ubuntu安装默认是不安装的,所以需要先安装一下:
sudo apt-get install gcc g++ libgcc1 libg++ make gdb
2.安装交叉编译器
交叉编译工具arm-linux-gcc-3.4.6-glibc-2.3.6.tar.bz2,解压sudo tar jxvf arm-linux-gcc-3.4.6-glibc-2.3.6.tar.bz2 -C/,然后将解压后的文件都转移到/usr/local/下,

方法一:

1.把交叉编译器的路径加入到PATH
sudo vi /etc/bash.bashrc
在后面加入如下代码:

if [ -d /usr/local/gcc-3.4.6-glibc-2.3.6/arm-linux ] ; then
PATH=/usr/local/gcc-3.4.6-glibc-2.3.6/arm-linux/bin:"${PATH}"
fi
2.使新的环境变量生效
# source /etc/profile
3.检查是否将路径加入PATH的方法:
echo $PATH
如果显示的内容中有/usr/local/gcc-3.4.6-glibc-2.3.6/arm-linux/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/game,说明已经将交叉编译器的路径加入PATH

方法二:

在 vi ~/.bashrc (vim /etc/bash.bashrc )最后加入

export PATH=$PATH:/usr/local/gcc-3.4.6-glibc-2.3.6/arm-linux/bin

要使得刚修改的环境变量生效:

source .bashrc

最后. 使用arm-linux-gcc –v 命令查看其信息

Reading specs from /usr/local/gcc-3.4.6-glibc-2.3.6/arm-linux/bin/../lib/gcc/arm-linux/3.4.6/specs

Configured with: /home/samba/armlinux/crosstool/crosstool-0.42/build/arm-linux/gcc-3.4.6-glibc-2.3.6/gcc-3.4.6/configure --target=arm-linux --host=i686-host_pc-linux-gnu --prefix=/opt/crosstool/gcc-3.4.6-glibc-2.3.6/arm-linux --with-headers=/opt/crosstool/gcc-3.4.6-glibc-2.3.6/arm-linux/arm-linux/include --with-local-prefix=/opt/crosstool/gcc-3.4.6-glibc-2.3.6/arm-linux/arm-linux --disable-nls --enable-threads=posix --enable-symvers=gnu --enable-__cxa_atexit --enable-languages=c,c++ --enable-shared --enable-c99 --enable-long-long

Thread model: posix

gcc version 3.4.6
自此,交叉编译环境安装完成。
下面我们就来测试一个简单的例子。
/*Hello.c*/
#include <stdio.h>

int main()
{
printf(hello ubuntu! );

return 0;
}
程序输好以后确认无误,保存。进入程序文件所在目录
arm-linux-gcc hello.c –o hello(-o 可以理解为“目标为生成”)
arm-linux-gcc是第一次出现,有人可能会问这个哪里来的,不妨打开刚才安装的交叉编译工具目录/usr/local/gcc-3.4.6-glibc-2.3.6/arm-linux/bin可以发现里面有一个arm-linux-gcc文件,这个就是针对arm的CPU的gcc编译器了。以后用其它编译工具链式也可以通过这种方法看看其编译器是什么了。编译好了以后就可以下载到目标机进行测试了。当然也可以先在PC机上测试正误。用gcc hello.c –o hello就可以生成PC机上程序了,在运行./hello 就可以发现终端显示hello!字样。用arm-linux-gcc编译的程序在PC机上是不能运行的,运行后给出错误报告:无法执行二进制文件。说明经过交叉编译环境编译出的文件是


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值