摘 要: 本文介绍了实时操作系统ECOS的特点及基本结构,并具体研究了ECOS在三星公司以ARM940T为内核的S3C2510嵌入式芯片上的移植方法。文章着重讨论了移植过程中的重点与难点部分:ECOS的硬件抽象层(HAL)移植。该移植方案已经过实际测试,系统稳定可靠,可运行多任务式应用程序。
关键词:实时操作系统;ECOS;硬件抽象层;移植;ARM
引言
ECOS(Embedded Configurable Operating COS等操作系统相比,ECOS更适合于处理实时信号的设备,如移动通信、WLAN等通信设备的开发。Clinux和SystemCONTROL ENGINEERING China版权所有,嵌入式可配置操作系统)是一种针对16位、32位和64位处理器的可移植嵌入式实时操作系统。由于其源代码是公开的CONTROL ENGINEERING China版权所有,因而有越来越多的设计人员开始关注ECOS操作系统。ECOS最大的特点是模块化,内核可配置。最小版本
图 1 ECOS操作系统结构图
ECOS底层移植的基础知识
ECOS系统的主要组成部分如图1所示。操作系统的主要功能 及特点是由其内核所决定的,底层移植一般不会涉及到系统内核的内容。由图1可见CONTROL ENGINEERING China版权所有,硬件抽象层是嵌入式操作系统和硬件直接接触的基本层,其将系统内核和具体的硬件平台彻底隔离开, 实现了系统内核与硬件的无关性,这就是操作系统具有良好可移植性的体现。因此,对于开发人员来说,移植操作系统真正的意义和工作在于移植操作系统的硬件抽象层。
硬件抽象层HAL对处理器结构和系统硬件平台进行抽象,当要在一个新的目标平台上运行ECOS时,只需要对底层的硬件抽象层进行修改,便可迅速地将整个ECOS系统移植到新的平台上。硬件抽象层主要包括三大模块——体系结构抽象层(Architecture HAL)、变体抽象层(Variant HAL)和平台抽象层(Platform HAL)。体系结构抽象层主要是指ECOS所支持的具有不同体系结构的处理器系列,如ARM系列、PowerPC系列、MIPS系列等等。变体抽象层指的是处理器系列中某款处理器在Cache、MMU和FPU等方面所具有的特殊性。如S3C2510属于ARM系列中的ARM940T,在变体抽象层中就会具体地针对ARM940T的Cache等方面作出定义。平台抽象层则是对当前系统硬件平台的抽象,包括了平台的启动、芯片选择与配置、定时设备、I/O寄存器访问以及中断寄存器等等。平台抽象层代码的编写是ECOS移植工作的重点。
HAL移植的主要步骤
建立适当的文件目录
ECOS本身有一个完整的文件目录,只有把新建的底层文件放在适当的文件目录下面,才能确保配置和编译工作的成功,也有助于利用ECOS本身已有的源代码控制工程网版权所有,如结构体系层和变体层中的许多成熟可用的代码。由于本系统中S3C2510处理器的内核是ARM940T,因而可以把S3C2510的目录建立在ECOS库路径packages/hal/arm/arm9/下。
&nbs