![]() |
|
||||||||||||||
| | 网站首页 | 文章中心 | 下载中心 | ARM技术交流社区 | 供求信息 | 在线咨询 | 数据手册 | | ||
|
||
|
|||||
| ARM与交叉编译 | |||||
作者:网络 文章来源:网络 点击数: 更新时间:2007-9-19 ![]() |
|||||
就ARM而言,之所以使用交叉编译是因为在该硬件上无法安装我们所需的编译器,只好借助于宿主机,在宿主机上对即将运行在目标机上的应用程序进行编译,生成可在目标机上运行的代码格式。 读者可以从 http://mac.os.nctu.edu.tw/->download 处下载工具链 : arm-elf-binutils-2.11-5.i386.rpm , arm-elf-gcc-2.95.3-2.i386.rpm , genromfs-0.5.1-1.i386.rpm 的文件复制到宿主机上的任一目录下。键入下面的命令来安装 rpm 包: $su # rpm – ivh *.rpm RPM(Red Hat Package Manger) 软件包管理程序,是将原本复杂的软件包安装程序,轻松利用单一操作来完成。 RPM 目前支持的平台有 3 种类型: x86(i386) , Sparc 以及 Alpha ,可以很容易的从文件名就来判断出使用的平台。像目前下载文件比如 arm-elf-binutils-2.11-5.i386.rpm , arm-elf-binutils 表示文件名, 2.11 表示版本编号, 5 表示发行序号,也就是目前已经发行的次数, i386 是指此软件包为适用于 Intel x86 的二进制 (binary) 程序,也就是已经编译并且可以直接安装的软件包,最后的 “ rpm ” 表示这是 Red Hat 的 RPM 程序。每一版的 RPM 发布后,若是发现软件有问题,都会重新进行 patch 和 build ,这样在发行序号的部分就会增加 1 ,以表示该版本是上个版本的更新。 这里在所用的命令 rpm – ivh 中, -i 表示 Installation ,就是安装指定的 RPM 软件包; -h 表示 Hash ,该参数可在安装期间出现 ”#” 符号,来显示目前的安装过程,这个符号一直持续到安装完成后才停止; -v 表示 Verbose ,显示安装时候的详细信息。 至此我们把交叉编译器已经安装到了宿主机。以后我们就可以用交叉编译器 arm-elf-gcc 编译操作系统内核和用户应用程序了。 读者也可以从网站 http://www.uclinux.org/pub/uClinux/arm-elf-tools/ 上下载最新的 arme-elf-gcc 工具 ,即脚本文件 arm-elf-tools-20030314.sh ,在宿主机上安装该工具链,在该文件所在目录下,键入: $ su # ls – l arm-elf-tools-20030314.sh 该命令显示文件的各种属性,如果该脚本文件属性的不是可执行的,则还需要输入命令:# chmod 755 arm-elf-tools-20030314.sh 以将其属性改为可执行属性,然后通过键入命令 : # sh ./arm-elf-tools-20030314.sh 就可以执行该文件。执行后 /usr/local/bin/ 路径下有 gcc, g++, binutils, genromfs, flthdr 和 elf2flt 等各种实用工具。 欢迎进入超前MCU技术论坛对 ARM与交叉编译进行讨论! |
|||||
| 文章录入:armopen 责任编辑:armopen | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| 没有相关文章 |
| 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系我们 | 友情链接 | 版权申明 | 网站公告 | |||
|