汉语大全>嵌入式系统>ARM LINUX在EP7312上的移植(一)

ARM LINUX在EP7312上的移植(一)

详细内容

摘要:Linux是一种支持多种体系结构处理器的操作系统,有很强的移植性。描述了将ARMLinux移植到基于EP7312处理器的目标板上的方法与过程。首先介绍了EP7312处理器和ARM Linux,并简单说明了如何搭建移植环境,然后着重讨论了在该开发板上bootloader的设计实现以及ARMLinux内核的移植的方法,最后对在这种基于Linux的嵌入式系统环境下如何开发应用程序作了探索和展望。

1 引言
ARM处理器是一种32位的嵌入式RISC处理器。在众多同种类型的处理器中,ARM系列已经成为了当今应用范围最广的嵌入式芯片。第1枚ARM芯片诞生于1983年1O月到1985年4月之问的英国,当时属于Acorn公司,是Acorn RISC Machine的简写。为了扩展市场,ARM产品线在成为Acorn公司的核心之后,被独立分割出来,成立了ARM公司,变成了Advanced RISC Machine的缩写。
根据市场调查,2001年初,ARM的32位处理器的市场占有率已经超过了75%。
ARM公司是知识产权(Intellectual Properly)供应商,它负责ARM处理器的芯片设计,转让设计许可,由合作伙伴公司来生产使用ARM处理器核的各具特色的芯片。
ARM公司在全世界范围内有超过100个这样的合作伙伴。在芯片特点上,ARM处理器核耗电少,成本低,功能强,还特有16/32位双指令集,这使得ARM成为了移动通信、手持计算、多媒体数字消费等嵌入式解决方案的RISC标准。ARM的产品线主要包括ARM7 Thumb家族和ARM9 Thumb家族、ARM10 Thumb家族以及StrongARM家族。

2 基于ARM的EP7312处理器和ARM Linux
在本文中使用的目标平台EP7312是Cirrus Logic公司使用ARM7 Thumb家族中ARM 720T处理器内核开发的一块SoC(System-on-Chip)嵌入式微处理器。
EP7312专门为PDA、Inter设备、移动电话和手持设备等设计成超低功耗和高性能的微处理器。它的核心逻辑部件ARM720T采用了具有8K字节的4路集合关联(set-associative)独立cache和一个写缓存,并且还包含了一块加强的MMU(内存管理部件)。这些特性使得开发人员可以将Windows CE和Linux等操作系统移植到基于这块微处理器的目标系统中。
Linux是一种被广泛移植到各种嵌入式平台的开放源代码操作系统。ARM Linux是一个将Linux内核移植到各种基于ARM处理器的目标系统的项目,由Russell King主持,已经为超过100种不同的目标机器成功完成了移植工作,包括有基于AKM的计算机、网络设备和目标板等。
本文的工作主要包括bootloader的设计实现、ARMLinux内核移植、嵌入式系统应用开发方法探索3个部分。

3 移植环境的建立
嵌入式系统的开发与一般的应用开发最大的差别就在于:前者需要建立特殊的硬件环境,而后者一般基于特定的操作系统或者分布式平台。后者的平台已经对硬件或者网络媒质做了抽象,从而不需要由系统开发者来完成这些工作。而在嵌入式系统开发中,这也由开发者完成。
嵌入式系统开发环境一般分成主机端(HOST)和目标板(TARGET)两个部分。主机端是开发平台,用于运行开发过程中的各种工具;目标板是运行和测试平台,是嵌入式系统的最终驻留环境。在主机端和目标板之间需要通过某种方式进行通信,如使用RS232C串口。这种通信的目的在于发送控制指令和传输数据,同时获得反馈信息。图1是本文中系统移植工作的硬件环境:
ARM LINUX在EP7312上的移植
图1 系统移植工作的硬件环境
主机端的PC使用1和EP7312的UART1相连接,因为RS232C和UART的电气特性不同,在连接两者的串口线上使用了一块HIN232CP芯片完成电平转换。通过RS232C串口完成对目标板的必要控制功能。
EP7312开发板上配备有一块CS8900A以太网卡芯片,和主机端建立原始(raw)IP连接,使用链路层地址(以太网MAC地址)完成大批量数据的传送。
硬件环境建立之后,就需要创建软件开发环境。软件环境主要是指ARM体系结构的交叉编译环境,在主机端使用RedHatLinux 7.1操作系统,并在其上建立g的ARM体系结构的交叉开发环境。交叉编译环境所需的源代码软件包有下面这些: