您的位置:首页 > 运维架构 > Linux

ubuntu9.10下交插编译环境arm-linux-gcc的建立

2009-12-30 23:00 351 查看
最近重新硬盘安装了ubuntu9.04并升级到9.10就重新建立交叉编译环境arm-linux-gcc-4.3.2。

将arm-linux-gcc-4.3.2.tgz复制到任意路径下,我装的是双系统,现在ubuntu9.10已近很好的能管理硬盘了,这个得益于palimpsest硬盘实用工具,记得9.04版本时我的几个xp 的分区都能挂载,但识别它们的名字都是乱码,很不爽,现在可好了,ubuntu9.10带来了全新的快感!好了,我们言归正传。

首先确保安装了标准C开发环境,一句命令搞定:sudo apt-get install build-essential

然后在终端进入arm-linux-gcc-4.3.2.tgz存放目录,再sudo tar -zxvf arm-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或sudo make zImage 都出现无法再到arm-linux的情况!

所以我推荐大家这样做:

yagerya@yagerya-desktop:~$ vim ~/.profile

在这个文件最后添加上自己的环境变量:export PATH=$PATH:/usr/local/arm/4.3.2/bin

然后在终端执行source ~/.profile ,即可立即生效。

yagerya@yagerya-desktop:~$ arm-linux-gcc -v

Using built-in specs.

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 公共的 音乐

Crossword game test.c 模板 桌面

Crossword game.c test.cpp 视频

examples.desktop Ubuntu 9.04)20090509Beta.pdf 图片

Linux开发视频 work 文档

yagerya@yagerya-desktop:~$

这样就生成了arm平台的可执行二进制文件,把它下载到开发板试试吧!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: