首先确保安装了标准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平台的可执行二进制文件,把它下载到开发板试试吧!