目前,嵌入式操作系统的种类较多,其中比较流行的有VxWorks、WindowsCE、Psos、PalmOS、嵌入式Linux等。这些嵌入式操作系统在开放性、实用性以及性能等方面各有千秋,但大多数为商用产品。除了商用产品外,还有一些嵌入式操作系统,uClinux是其中比较流行的,而eCos则是另一个选择。下面由卓跃教育具体为您介绍。
1eCos的层次结构
这种层次结构的最底层是硬件抽象层(HardwareAbstractionLayer),简称为HAL,它负责对目标系统硬件平台进行操作和控制,包括对中断和例外的处理,为上层软件提供硬件操作接口。只需提供新硬件的抽象层,就可以将整个eCos系统包括基于eCos的应用移植到新的硬件平台上。
2构建eCos系统
构建eCos系统首先要搭建自己的硬件抽象层,然后创建驱动程序,之后就可以编制应用程序了。
3硬件抽象层的移植
硬件抽象层分为三个不同的子模块:体系结构抽象层(ArchitectureHAL)、变体抽象层(VariantHAL)和平台抽象层(PlatformHAL)。
体系结构抽象层。eCos所支持的不同处理器系列具有不同的体系结构,如arm系列、PowerPC系列、MIPS系列等。体系结构抽象层对CPU的基本结构进行抽象和定义,此外它还包括中断的交付处理、上下文切换、CPU启动以及该类处理器结构的指令系统等。
变体抽象层指的是处理器在该处理器系列中所具有的特殊性,这些特殊性包括Cache、MMU、FPU等。eCos的变体抽象层就是对这些特殊性进行抽象和封装。
平台抽象层是对当前系统的硬件平台进行抽象,包括平台的启动、芯片选择和配置、定时设备、I/O寄存器访问以及中断寄存器等。
硬件抽象层的这三个子模块之间没有明显的界线。对于不同的目标平台,这种区分具有一定的模糊性。例如,MMU和Cache可能在某个平台上属于 体系结构抽象层,而在另一个平台上则可能属于变体抽象层的范围;再比如,内存和中断控制器可能是一种片内设备而属于变体抽象层,也可能是片外设备而属于平台抽象层。
eCos的移植通过这三个子模块来完成,即平台抽象层的移植、变体抽象层的移植和体系结构抽象层的移植。对一个新的体系结构来说,其系统结构抽象层的建立相对来说比较困难。