网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 超前科技开发网 >> 文章中心 >> 嵌入式开发 >> ARM处理器 >> ARM入门相关 >> 文章正文
  ARM与交叉编译           ★★★ 【字体:
ARM与交叉编译
作者:网络    文章来源:网络    点击数:    更新时间:2007-9-19    
LPC2368 开发板(LPC2364/LPC2368).
全功能JLINK ARM仿真器.
USB-Blaster下载电缆(支持ALTERA全系列)
LPC2148开发板.
简单地讲,交叉编译就是在一个平台上生成可以在另一个平台上执行的代码。这里的平台,实际上包含两个概念:体系结构 (Architecture) 、操作系统 (Operating System) 。同一个体系结构可以运行不同的操作系统;同样,同一个操作系统也可以在不同的体系结构上运行。举例来说,我们常说的 x86 Linux 平台实际上是 Intel x86 体系结构和 Linux for x86 操作系统的统称;而 x86 WinNT 平台实际上是 Intel x86 体系结构和 Windows NT for x86 操作系统的简称。

就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条。评论内容只代表网友观点,与本站立场无关!)
    Copyright 2003-2006 www.mcu123.com© All Rights Reserved
    版权所有 © 超前科技开发网
    粤ICP备05005262号