linux交叉开发工具链,一些现成的GNU交叉开发工具链

嵌入式设备由于不具备一定的处理器能力和存储空间,程序开发一般用PC来完成,然后将可执行文件下载到嵌入式系统中运行。这是目前嵌入式程序开发的不二选择——Host/target模式。但这引发了一个问题:由于Host和Target的处理器体系结构不同,我们不能直接用PC上既有的程序开发工具,必须使用跨平台开发工具,即在Host上生成能在Target上运行格式的目标文件。

自己建立交叉编译环境是一件很头疼的事(处理版本的依赖性, 漫长的编译过程...),如果你不想经历这样的痛苦,可以选择网上编译好了的工具链进行安装.如果你用的是Debian/Ubuntu的发行版, 可以使用. 如果使用uClinux, 也可安装. 另外, 有一个比较新的项目:, 它提供了针对linux, cygwin, MacOS平台的交叉编译工具, 有源代码形式的, 也有二进制形式的.

本blog有篇自己从源代码构建交叉编译工具的文章,  看这里!

Emdebian

Emdebian提供了binutils 2.15, gcc3.3.5 / gcc3.4.3的稳定已编译版本.

安装方法:

(1)在/etc/apt/sources.list文件中添加下列内容:

deb ./

(2)运行 $apt-get update

(3) $ apt-get install gcc-3.3-arm-linux libc6-dev-arm-cross

或 $ apt-get install gcc-3.4-arm-linux libc6-dev-arm-cross

前者安装3.3版,后者安装3.4版.我在Ubuntu上安装3.3的依赖性有问题,安装3.4的成功。

WarningThe emdebian cross development environment will install files in /usr/bin so you will have to make sure that you do not overwrite any development tools which you may already have on your system.Embedian将开发环境所用的软件放在/usr/bin目录中:

$ ls /usr/bin/arm*

arm-linux-addr2line  arm-linux-c++filt  arm-linux-gcc      arm-linux-nm       arm-linux-ranlib   arm-linux-stringsarm-linux-ar         arm-linux-cpp      arm-linux-gcc-3.4  arm-linux-objcopy  arm-linux-readelf  arm-linux-striparm-linux-as         arm-linux-cpp-3.4  arm-linux-ld       arm-linux-objdump  arm-linux-size但我最近运行 $ sudo apt-get update 时发现:

deb ./

这个源有问题了, 装不了

010.gif

ARM-ELF-TOOLS

到下载arm-elf-tools交叉编译工具安装程序。

下载之后的文件名为arm-elf-tools-20030314.sh(日期可能不同)是脚本文件,安装方法:

(1)首先看其权限,如果没有执行权限,先给它加上相应的执行权限。

(2)应该将它拷贝到根目录下,运行$ sudo sh ./arm-elf-tools-20030314.sh。默认的安装路径在usr/local目录。

到/usr/local/bin,查看目录中是否存在以arm-elf开头的文件,如果有,则说明安装成功。

注意Emdebian的arm-linux工具和uClinux的arm-elf工具区别:

1, arm-linux可视为标准工具链, arm-elf相当于针对运行uClinux的目标环境做了一些补丁.

2, arm-linux默认安装路径在/usr/bin, arm-elf默认安装路径在usr/local/bin.

3, arm-linux使用glibc库,而arm-elf使用uClibc.

一般来说,如果你用uClinux开发,则使用arm-elf工具,否则使用arm-linux工具.GNU ARM

GNU ARM 针对cygwin, GNU/Linux(x86), GNU/Linux(x86_64), MacOS提供了source, binary形式的交叉编译工具.

目前针对x86 GNU/Linux 的binary工具是:

使用它很简单, 将包放在一个合适的目录, 解压, 将bin目录添加到PATH变量, 你就可以调用了.

注意它使用的newlib, 而且带上了insight调试工具(后端是gdb).

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值