一、安装ARM-Linux-GCC工具链
只需要一句命令:
sudo apt-get install gcc-arm-linux-gnueabi
前提是你的Ubuntu系统版本是官网支持的最新的版本,若不是,请升级。执行以上命令即可。
二、使用工具链
注意!这里不能使用 gcc 命令来召唤它。它的名字是 arm-linux-gnueabi-gcc 。如果出现 Command Not Found,请关闭Terminal,再重新打开。再不行,就变成超级用户,把它添加到 PATH 中。
Tips:查看安装位置。
首先你要取得超级用户权限(临时取得权限可用命令:sudo -i)
root@ql-virtual-machine:~# locate arm-linux-gnueabi-gcc /usr/bin/arm-linux-gnueabi-gcc /usr/bin/arm-linux-gnueabi-gcc-4.6 /usr/share/man/man1/arm-linux-gnueabi-gcc-4.6.1.gz /usr/share/man/man1/arm-linux-gnueabi-gcc.1.gz
参考资料:
其一,来自Stackoverflow,关于在Ubuntu或者Window安装ARM工具链的回答。
For ARM-Linux application development the preferable choice is a Linux Host(x86) machine with a ARM toolchain installed in it. In Ubuntu Desktop machine you can use the following command to install ARM toolchain:
翻译:对于ARM-Linux应用开发,最好的选择是安装了ARM工具链的x86 Linux主机。在Ubuntu桌面电脑中,你可以使用下面的命令安装ARM工具链。
apt-get install gcc-arm-linux-gnueabi
After toolchain installation you can use the following command for cross compilation:
翻译:安装完工具链后,你要用下面的命令进行交叉编译:
gcc-arm-linux-gnueabi-gcc -o hello hello.c
Using this toolchain you can cross-compile your C program using Standard C library without the need of startup code. Applications can be cross-compiled at your Host Linux(x86) platform and run on Target Linux(ARM) platform.
Windows version of ARM-Linux Toolchain is also available. You can get it from here.
Linaro Developers Wiki - an open organization focused on improving Linux on ARM, will be a good reference for your work.
翻译:使用这个工具链,你可以用C标准库来交叉编译你的C程序,而无需startup code?你的程序可以在你的x86的Linux主机上交叉编译然后直接运行在Linux(ARM)平台上。 ARM-Linux工具链的windows版本也是可用的,你可以从这里获取。 Linaro Developers Wiki - 一个致力于改进ARM平台Linux的开发组织,这对于你的工作将会是个很好的参考。
源链接:http://stackoverflow.com/questions/14564978/compiling-a-linux-program-for-arm-architecture-running-on-a-host-os
其二,来自 askUbuntu,关于在Ubuntu上如何安装ARM工具链的回答。
.....However, if you're looking for an ARM cross-compiler, there is one pre-packaged in Ubuntu, which may be easier to get running. It's in the
gcc-arm-linux-gnueabi
package - to install it:翻译:但是,如果你正在寻找一个 ARM 平台的交叉编译器,在Ubuntu中倒是有一个打包好的,它或许比较容易运行。它在 gcc-arm-linux-gnueabi 包中,你可以这样安装它:
sudo apt-get install gcc-arm-linux-gnueabi
源链接:http://askubuntu.com/questions/65630/installing-gnu-arm-toolchain
其三,来自stackoverflow。关于如何使用及添加到PATH方法。
CodeSourcery convention is to use prefix
arm-none-linux-gnueabi-
for all executables, notgcc-arm-linux-gnueabi
that you mention. So, standard name for CodeSourcery gcc would bearm-none-linux-gnueabi-gcc
.After you have installed CodeSourcery G++, you need to add CodeSourcery directory into your
PATH
.Typically, I prefer to install CodeSourcery into directory like
/opt/arm-2010q1
or something like that. If you don't know where you have installed it, you can find it usinglocate arm-none-linux-gnueabi-gcc
, however you may need to force to update your locate db usingsudo updatedb
beforelocate
will work properly.After you have identified where your CodeSourcery is installed, add it your PATH by editing
~/.bashrc
like this:PATH=/opt/arm-2010q1/bin:$PATH
Also, it is customary and very convenient to define
CROSS_COMPILE=arm-none-linux-gnueabi-
in your
.bashrc
, because withCROSS_COMPILE
defined, most tools will automatically use proper compiler for ARM compilation without you doing anything.
源链接:http://stackoverflow.com/questions/14180185/gcc-arm-linux-gnueabi-command-not-found
————————————进展——————————————
安装交叉编译器。另注:经实测,此编译链不适合mini2440。只有官方光盘里的arm-liinux-gcc4.3编译出的程序才能在mini2440上运行。
此编译器编译后的helloworld在mini2440上总是出现unexpected } 错误。