首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

如何构建eCos嵌入式系统

如何构建eCos嵌入式系统

如何构建eCos嵌入式系统

引言

  目前,嵌入式操作系统的种类较多,其中比较流行的有VxWorks、Windows CE、Psos、Palm OS、嵌入式Linux等。这些嵌入式操作系统在开放性、实用性以及性能等方面各有千秋,但大多数为商用产品。除了商用产品外,还有一些免费的嵌入式操作系统,uClinux是其中比较流行的,而eCos则是另一个选择。嵌入式可配置操作系统eCos(Embedded Configureable Operating System)的特点是可配置性、可裁减性、可移植性和实时性。它的一个主要技术特色就是功能强大的配置系统,可以在源码级实现对系统的配置和裁减。与Linux的配置和裁减相比,eCos的配置方法更清晰、更方便;且系统层次也比Linux清晰明了,移植和增加驱动模块更加容易。正是由于这些特性,eCos引起了越来越多的关注,同时也吸引越来越多的厂家使用eCos开发其新一代嵌入式产品。

  eCos现在由Red Hat维护,可支持的处理器包括:ARM、StrongARM、XScale、SuperH、Intel X86、PowerPC、MIPS、AM3X、Motorola 68/Coldfire、SPARC、Hitachi H8/300H和NEC V850等。源代码及开发工具可在Red Hat的网站上免费下载,网页地址是http:/sources.redhat.com/ecos。

1 eCos的层次结构

  eCos采用模块化设计,由不同的功能组件构成,eCos系统的层次结构如图1所示。

  这种层次结构的最底层是硬件抽象层(Hardware Abstraction Layer),简称为HAL,它负责对目标系统硬件平台进行操作和控制,包括对中断和例外的处理,为上层软件提供硬件操作接口。只需提供新硬件的抽象层,就可以将整个eCos系统包括基于eCos的应用移植到新的硬件平台上。

2 构建eCos系统 

  构建eCos系统首先要搭建自己的硬件抽象层,然后创建驱动程序,之后就可以编制应用程序了。

3 硬件抽象层的移植

  硬件抽象层分为三个不同的子模块:体系结构抽象层(Architecture HAL)、变体抽象层(variant HAL)和平台抽象层(Platform HAL)。

  体系结构抽象层。eCos所支持的不同处理器系列具有不同的体系结构,如ARM系列、PowerPC系列、MIPS系列等。体系结构抽象层对CPU的基本结构进行抽象和定义,此外它还包括中断的交付处理、上下文切换、CPU启动以及该类处理器结构的指令系统等。

  变体抽象层指的是处理器在该处理器系列中所具有的特殊性,这些特殊性包括Cache、MMU、FPU等。eCos的变体抽象层就是对这些特殊性进行抽象和封装。

  

                    图1

  平台抽象层是对当前系统的硬件平台进行抽象,包括平台的启动、芯片选择和配置、定时设备、I/O寄存器访问以及中断寄存器等。

  硬件抽象层的这三个子模块之间没有明显的界线。对于不同的目标平台,这种区分具有一定的模糊性。例如,MMU和Cache可能在某个平台上属于体系结构抽象层,而在另一个平台上则可能属于变体抽象层的范围;再比如,内存和中断控制器可能是一种片内设备而属于变体抽象层,也可能是片外设备而属于平台抽象层。

  eCos的移植通过这三个子模块来完成,即平台抽象层的移植、变体抽象层的移植和体系结构抽象层的移植。对一个新的体系结构来说,其系统结构抽象层的建立相对来说比较困难。eCos支持大部分当前广泛使用的嵌入式CPU,已具有了支持各种体系结构的硬件抽象层。因此,eCos的移植很少需要进行体系结构抽象层的编写。
GDS1110BD PXA250BIC200 PXA255A0C400 AT91M40800 AT91RM9200

[此贴子已经被作者于2006-1-11 2:12:17编辑过]

请问楼主,你有过实际的开发经历吗?我目前也正在学习ecos的移植,对ecos的原理什么的倒是挺明白,可是因为开发环境是linux或cygwin,对这些开发环境很是不明白,现在连一个最简单的编译都没有完成过。真是郁闷阿!
有空可以多交流!
返回列表