一. 前言
面向A R M 微处理器构架的嵌入式操作系统的使用量将在今后五年持续增长,在各种嵌入式操作系统中,Linux是获得支持最多的第三大力量。
目前,ARM Linux 支持包括A R M 6 1 0 、A R M 7 1 0、A R M 7 2 0 Tcores、ARM920T cores、StrongARM110、StrongARM 1100、XScale 等系列的 ARM 处理器。这些处理器都具有M M U 单元,与之相对应是NO MMU 的uClinux,主要是支持ARM7TDMI 系列的微处理器。在ARM Linux 的基础上,很多开发者将其移植到了自己的硬件平台上,并提交相应的 Machine Type。
本文以实例分析完整地介绍了移植的过程,对于准备在 ARM Linux 上做应用开发的技术人员有一定的借鉴作用。
二. ARM Linux 的移植过程
将ARM Linux 移植到特定的硬件平台上,大致需要分成四个步骤:
1)首先是准备工作,包括下载源码、建立交叉编译环境等;
2)然后是配置和编译内核,必要时还要对源码做一定的修改;
3)第三步就是需要制作 RAM disk 来挂接根文件系统;
4)最后是下载、调试内核并在 RAM disk中添加自己的应用程序。
本文以StrongARM 为例,说明如何将 ARM Linux 移植到 SA1110 微处理器上。
下面分四个部分介绍移植工作:
1.内核源码及交叉编译环境的准备
2.ARM Linux 的内核配置与编译
3.制作RAM Disk
4.内核下载和运行
1.内核源码交叉编译环境和准备
1.1 内核源码下载
标准Linux 的内核源码可以从ftp://ftp.kernel.org 下载,在很多的镜像ftp 站点上也可以方便地获得,建议使用 2.4 版本的内核。ARM Linux 是基于标准Linux、内核为ARM 做的补丁,在ftp://ftp.arm.linux.org.uk上可以下载。当然也可以直接下载已经针对标准内核打好补丁的ARM Linux源码包,例如 SkyEye 上提供的 linux-2.4.18-rmk7.tar.bz2,就是基于 2.4.18内核和 rmk7 补丁,可以直接解压之后进行编译。 |