建立交叉编译环境arm-linux-gcc-4.3.2

来源:互联网 发布:中国进口数据 编辑:程序博客网 时间:2024/05/21 12:48

     首先确保安装了标准C开发环境,一句命令搞定:sudo apt-get installbuild-essential
然后在终端进入
arm-linux-gcc-4.3.2.tgz存放目录,再sudo tar -zxvfarm-linux-gcc-4.3.2.tgz -C /
(注意大写C字母后留一个空格,这样会自动解压缩到/usr/local/4.3.2目录下)
      修改环境变量,使交叉编译环境生效。我是执行如下命令:
yagerya@yagerya-desktop:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
yagerya@yagerya-desktop:~$sudo gedit /etc/environment
原文件应为PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games“将其改为PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/arm/4.3.2/bin"保存退出即可.然后注销重新登录就可使环境变量生效了。
我不推荐大家这样做,我试过了在编译内核时无论执行sudo -s后,再执行arm-linux-gcc-v也没有出现环境变量的信息,故cd /opt/FriendlyARM/mini2440后,无论make zImage或sudomake zImage 都出现无法再到arm-linux的情况!


 所以我推荐大家这样做:
yagerya@yagerya-desktop:~$ vim~/.profile
在这个文件最后添加上自己的环境变量:exportPATH=$PATH:/usr/local/arm/4.3.2/bin
然后在终端执行source ~/.profile,即可立即生效。
yagerya@yagerya-desktop:~$ arm-linux-gcc-v
Using built-inspecs.
Target:arm-none-linux-gnueabi
Configured with:/scratch/julian/lite-respin/linux/src/gcc-4.3/configure--build=i686-pc-linux-gnu --host=i686-pc-linux-gnu--target=arm-none-linux-gnueabi --enable-threads--disable-libmudflap --disable-libssp --disable-libstdcxx-pch--with-gnu-as --with-gnu-ld --enable-languages=c,c++--enable-shared --enable-symvers=gnu --enable-__cxa_atexit--with-pkgversion='Sourcery G++ Lite 2008q3-72'--with-bugurl=https://support.codesourcery.com/GNUToolchain/--disable-nls --prefix=/opt/codesourcery--with-sysroot=/opt/codesourcery/arm-none-linux-gnueabi/libc--with-build-sysroot=/scratch/julian/lite-respin/linux/install/arm-none-linux-gnueabi/libc--with-gmp=/scratch/julian/lite-respin/linux/obj/host-libs-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr--with-mpfr=/scratch/julian/lite-respin/linux/obj/host-libs-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr--disable-libgomp --enable-poison-system-directories--with-build-time-tools=/scratch/julian/lite-respin/linux/install/arm-none-linux-gnueabi/bin--with-build-time-tools=/scratch/julian/lite-respin/linux/install/arm-none-linux-gnueabi/bin
Thread model:posix
gcc version 4.3.2 (Sourcery G++Lite 2008q3-72)
yagerya@yagerya-desktop:~$

编写一个简单的C程序test.c,测试交叉工具链
yagerya@yagerya-desktop:~$ cat test.c
#include <stdio.h>
int main()
{
  printf("hello ubuntu!/n");

   return 0;
}
yagerya@yagerya-desktop:~$ arm-linux-gcc -o test test.c
yagerya@yagerya-desktop:~$ ls
arm-linux-gcc-4.3.2.tgz test                          公共的  音乐
Crosswordgame          test.c                        模板    桌面
Crosswordgame.c        test.cpp                      视频
examples.desktop        Ubuntu 9.04)20090509Beta.pdf  图片
Linux开发视频           work                          文档
yagerya@yagerya-desktop:~$
这样就生成了arm平台的可执行二进制文件,把它下载到开发板试试吧!