定制ARMForLinux交叉编译工具详细介绍

文章作者 100test 发表时间 2007:09:06 12:07:32
来源 100Test.Com百考试题网


1、 ToolChain 简介

ToolChain包含许多部件:主要之一是GCC,它可以是本机编译工具或交叉编译工具,GCC由Binuitls工具支持,Binutils是二进制代码维护工具,这些部件是编译程序的必要工具,同时他们也需要C库(glibc)支持。认真考虑一下:定制一套编译工具并不是想像中的易事!如果你还想继续看下去,必须具备如下技能:

熟悉Linux环境

熟悉Linux的必要命令和工具的使用

知道如何配置、编译核心和应用程序

以下章节将介绍怎样定制ARM交叉编译工具集,但对于大多数ARM开发者来说,没有必要亲自做这件事,完全可以用现成的工具集。除非现成的工具集不满足你的使用要求,或者你想提高开发应用的能力。总之,我们强烈建议你使用现成稳定的工具集来做应用开发!

2、 定制ToolChain

首先来看看工作的大至步骤:

决定目标的名称

决定目标的存放位置

编译、安装Binutils

编译、安装GCC

编译、安装GLIBC

让交叉编译工具支持更多编译语言

测试定制的交叉编译工具

2.1、决定目标的名称

本机编译工具集编译的代码只适用本机(大多数PC是X86)运行,对于ARM开发者来说,需要一个能在本机编译、但编译却生成ARM运行代码的一套交叉编译工具集。

因此,选择一个与本机工具集相异的特定含义的目标名称是非常有必要的。

arm-linux:是个比较受欢迎的名称,支持ELF格式(ARMLinux标准)。除Acorn用户使用老的a.out格式外。

arm-linuxaout:选择a.out格式,ARMLinux基本不支持它了。

arm-aout、arm-coff、arm-elf、arm-thumb:其它的格式名。

你也可以在其中插入版本信息,比如:

armv2:ARMV2核,支持26bit模式。

armv3l、armv3b:ARMV3核,小字节(l)或大字节(b)模式。

armv4l、armv4b:ARMV4核,如:StrongARM、ARM7TDMI、ARM8、ARM9。同样也支持小字节(l)或大字节(b)模式。

armv5l、armv5b:ARMV5核,如:XScale核ARM10。同样也支持小字节(l)或大字节(b)模式。

选择什么名称对定制ARM交叉编译工具集没太大的影响,但用大家常用的名称会比较好些。

2.2、决定目标的存放位置

既然是定制ARM交叉编译工具集,那么就不能覆盖本机的编译工具集(否则,本机将不能再编译本机运行代码!),同时还要考虑本机Linux环境的多用户、多任务特征。因此,选择一个与本机编译工具集不同的多用户共享位置是必要的。

ARM交叉编译工具集的存放位置:在本文中,我们让它等于/usr/local/arm

(本机编译工具集的存放位置通常在/usr或/usr/local)

ARM交叉编译工具集的名称:在本文中,我们让它等于 arm-pc-linux,表示在本

地pc上编译,生成的是ARM指令代码(详细规则见glibc的README文件)。

(本机编译工具集名称通常是: i686-pc-linux-gnu,表示在本地pc上编译,

生成的是i686指令代码)

ARM核心文件位置:本文中我们让它等于 ~/armlinux 。不过,~/armlinux在这里仅

是个联接而已,它指向真正ARM核心源代码位置(见2.4.1描述)。

(本机核心存放位置通常在/usr/src/linux)


相关文章


Linux系统Qmail邮件服务器安装过程解析
linux管理磁盘文件系统
用 H与PHP相连接确保数据传输的安全性
solaris常用系统管理命令
定制ARMForLinux交叉编译工具详细介绍
介绍Linux操作系统下关于声卡配置的方法
Linux操作系统下加载ISO文件的方法介绍
关于Linux系统下Grub启动流程的讨论总结
在Linux操作系统下一些不常用的进程信息
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛