- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
eCos在基于ARM7硬件平台上的应用.doc
eCos在基于ARM7硬件平台上的应用
技术分类: 嵌入式系统? | 2008-05-07 来源:单片机及嵌入式系统应用 | 作者:北京航空航天大学 钱问发 满庆丰 耿春明
eCos(Embedded Configurable Operating System)最初是由Cygnus Solutions公司为面向嵌入式领域而开发的源码公开、具有很强的可移植性和可配置性的,适合于深度嵌入式开发的实时操作系统。现在eCos主要由eCosCentric公司和eCos开源社区共同开发维护。eCos的特性,特别是它的可配置性,能有效缩短嵌入式产品的开发周期并降低成本。 1 eCos的体系结构及可配置性
1.1 eCos体系结构
eCos采用模块化设计,将不同功能的软件分成不同的组件,使其分别位于系统的不同层次。这种层次结构实现了eCos的可配置性、可移植性、兼容性和可扩展性。图l是eCos系统的层次结构框图。硬件抽象层(HAL)使其上层次结构不必关心具体的硬件结构,因此只需对HAL进行修改就可以使整个eCos的应用移植到新的硬件平台上。
内核是eCos的一个核心组件,也是系统的一个可选组件,一些较为复杂的应用需要内核的支持。内核提供了多个可供选择的调度算法,可以很好地支持多任务处理。eCos内核提供了一组丰富的同步源语,完全能满足各种嵌入式应用的需求。内核还负责对中断和例外进行处理,它的中断滞后处理机制保证了系统的实时性。此外,内核还具有内存分配机制和定时机制,并提供多线程GDB调试支持。内核为上层软件和应用软件提供了丰富的API接口函数。
RedBoot是一个无内核的系统引导程序。是eCos的一个特殊应用。RedBoot可以加载eCos应用程序,并提供Debug支持,是开发eCos系统时非常有用的工具。设备驱动程序负责对硬件设备进行控制和管理,并完成设备数据的读/写操作。设备驱动程序自身也采用层次结构,上层驱动程序(相当于一个虚设备)可以调用下层驱动程序(物理设备)。驱动程序为上层软件提供标准的API函数,应用程序可以使用这些API函数对设备进行访问。
eCos包含的网络支持包支持完整的TCP/IP网络协议栈。eCos还提供了标准库(ANSI C库和数学库)、兼容层(POSIX兼容和uITRON兼容)、文件系统等。作为一种开放软件,eCos还可以很方便地容纳第三方软件。
1.2 可配置性原理
eCos的一个主要特性就是其可配置特性。可配置性最终是靠代码中的条件编译来完成的,条件编译是编程语言的特点,并不是eCos的原创。当一个软件工程中的条件编译项的数目和复杂性达到一定程度时,其中有一些条件编泽项就会因为存在逻辑上的依赖关系而使条件编译产生冲突。而如何发现并有效解决这种冲突才是eCos可配置性的特点,如图2所示,其可配置特性的实现主要由组件定义语言CDL(Component DefinitionLaguage)、组件仓库ecos.db、图形配置工具eonfigtool三者共同完成。
(1)组件定义语言CDL
CDL是eCos组件框架中的一个关键部分,eCos所有模块的程序包中都包含一个CDL脚本对该包进行描述并提供配置选项。以本系统中的串口驱动程序包为例,在该包对应的CDL中定义了一个名为CYGPKG_IO_SERIAL_ARM_AT91的cdl_package。在这个cdl_package中详细列出了该包的一些属性,如该包必须在工程已经包含了硬件抽象层包CYGPKG_HAL_ARM_AT9l和上层串口I/O包CYGPKG_IO_SERIAL的情况下才会被使能。另外,串口的一些常用特性,如波特率、设备名、缓冲区大小等配置选项也是必不可少的。在一些复杂的CDL中还会包含对该包中的源程序进行编译时的一些编译选项。在进行配置的时候,该包还会产生一个包含了各个可配置参数数值的头文件。当其他包使用由CYGPKG_IO_SERIAL_ARMAT9l包提供的可配置参数时,这个新产生的头文件就会被相关的源文件通过#include语法包含。
(2)组件仓库ecos.db
ecos.db是一个包含了所有可用程序包和配置模版的文本文件。在该文件中,需要注册所有的CDL包。在注册时以package关键字提供相应包的名称、CDL脚本文件的文件路径以及对该包的一个简单描述。在eCos.db中还会以target关键字生成配置模版,从而提供目标平台的一些基本组成结构,使目标平台包括所需要的已经注册了的CDL配置包。
(3)图形配置工具configtool
configtool是利用MFC编写的Windows程序,是eCos可配置性的执行者,也可以理解成是CDL脚本的解释器。一方面它读取ecos.db文件中的目
您可能关注的文档
最近下载
- 《酒店客户关系管理 》课件——项目四 酒店客户关系建立与维护.pptx VIP
- 监控报价清单表-监控报价模板.xlsx VIP
- 1.1 什么是美术作品 课件高中美术湘美版(2019)美术鉴赏.pptx
- 《酒店客户关系管理 》课件——项目二 酒店客户关系管理主体.pptx VIP
- 船舶驾驶员实用英语口语.doc VIP
- 《酒店客户关系管理 》课件——项目一 酒店客户关系管理导论.pptx VIP
- 船舶驾驶员实用英语口语5.docx VIP
- 《酒店客户关系管理 》课件——项目八 酒店客户关系数字化运营.pptx VIP
- 食材配送应急预案处理流程及响应时间.docx VIP
- 保安服务 投标方案(技术标 ).doc
文档评论(0)