文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>一些现成的GNU交叉开发工具链

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

时间:2006-05-23  来源:zzzppp

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

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

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


Emdebian

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

安装方法:
(1)在/etc/apt/sources.list文件中添加下列内容:
deb http://www.emdebian.org/emdebian-tools/stable ./

(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的成功。

Warning
The 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-strings
arm-linux-ar         arm-linux-cpp      arm-linux-gcc-3.4  arm-linux-objcopy  arm-linux-readelf  arm-linux-strip
arm-linux-as         arm-linux-cpp-3.4  arm-linux-ld       arm-linux-objdump  arm-linux-size

但我最近运行 $ sudo apt-get update 时发现:
deb http://www.emdebian.org/emdebian-tools/stable ./
这个源有问题了, 装不了

ARM-ELF-TOOLS

到http://www.uclinux.org/pub/uClinux/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工具是:
GNU/Linux (x86) binutils-2.15, gcc-3.4.3-c-c++-java, newlib-1.12.0, insight-6.1, TAR BZ2 [56.0MB] 使用它很简单, 将包放在一个合适的目录, 解压, 将bin目录添加到PATH变量, 你就可以调用了.

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

排行榜 更多 +
空中跑酷汉化版

空中跑酷汉化版

赛车竞速 下载
修仙传说

修仙传说

角色扮演 下载
魔界零之迷宫

魔界零之迷宫

冒险解谜 下载