嵌入式可配置实时操作系统eCos软件开发 - 中国高校教材图书网
内容简介: |
本书由Anthony J.Massa先生撰写,该书的英文版自出版以来就得到了很好的评价。译者在一次非常偶然的机会得到了该书,看了之后觉得写得非常好,就动了将其译为中文的念头;适逢北京航空航天大学出版社引进了该书的版权,进而与该出版社合作,从而得以实现此愿望。 随着国内计算机应用水平的不断提高,尤其是计算机嵌入式应用水平的提高,实时操作系统RTOS(Real Time Operating System)越来越得到计算机嵌入式应用人员的重视,应用也越来越广泛。出现这种局面,是因为RTOS简化了应用系统软件的设计,保证了系统实时性(响应及时性)等。在苛刻的应用环境(如反应迅速的工业应用场合以及航空、航天应用场合等),RTOS得到了非常广泛的应用,效果也非常好。例如,美国NASA自20世纪80年代末以来,就一直在航天器中采用实时操作系统,从最早的“火星登陆者”到“勇气号”都采用了RTOS(VxWorks),事实也证明了这是非常成功的。尤其是后者,还对存储器进行了格式化。 译者一直认为,要想应用好RTOS,必须深入研究RTOS,而且要研究透,要不就谈不上高水平地应用RTOS。对于不开放源代码的商业RTOS是如此,对于开放源代码的RTOS更是如此。要研究RTOS,最好从开放源代码的RTOS开始,因为对于具备基本功能的RTOS而言,其原理差别不是很大。 嵌入式可配置操作系统eCos(Embedded Configurable Operating System)是开放全部源代码的操作系统,其支持的特性很多,包括了目前通用的各种硬件特性,如PCI总线、USB总线、IPv4、IPv6、各种文件系统以及GUI接口等。它具备的这些特性对于一个有志于计算机嵌入式应用人员的“产、学、研”是非常有帮助的,这是其他开源RTOS所不具备的(一般的开源RTOS只是提供内核,要在实际工程中应用还需要做很多工作,如文件系统、GUI接口、网络协议栈等,这些都需要自己解决)。 eCos具有很强的扩展性,这与它采用的结构紧密相关。通过阅读本书后续章节就会明白,eCos采用组件来扩展其功能,因此任何符合eCos组件规范的组件代码都可以对eCos进行某方面的扩充。经常登录eCos相关网站,可找到很多非常好用的第三方组件。这些组件都是eCos爱好者或应用开发人员辛勤劳动的结晶,从另一方面也说明了eCos的扩展性和大众对eCos的参与。 尤其重要的一点是,可根据需要对eCos的代码进行裁剪。这样便可以大大减少不必要的代码,而又不降低其性能,这对于计算机嵌入式应用是很重要的。在这方面,eCos无疑是很出色的。通过配置工具,可对包含eCos内核代码在内的绝大部分代码进行裁剪,从而去掉无关代码,减小代码尺寸。这对于包括商业RTOS在内的RTOS来说都很难做到这一点。 eCos的功能非常全面,商业RTOS能提供的功能,eCos基本上都提供了。因此,可以说,任何商业RTOS能胜任的,eCos都能胜任。 eCos的性能无须质疑,全球众多的应用人员的口碑已经证实了这一点。而eCos在各种苛刻环境和条件下的正确运行,更说明了eCos非凡的品质。再者,eCos的发展非常有活力,作为eCos东家的Red Hat公司实力是不容忽视的,何况还有全球这么多爱好者在不断地发展eCos。因此,有理由相信,eCos会越来越好! 译者相信,本书对于那些有志于嵌入式应用研究或正在研究RTOS的人员有非常高的参考价值。 在本书翻译过程中得到了北京航空航天大学出版社胡晓柏老师的大力支持。本书的出版与其努力是分不开的,在此表示感谢。本书的序、前言、第4、5、8、9、10、11、12章以及所有附录由颜若麟翻译,第3、6、7章由尤伟伟翻译,第1、2、13章由中科院软件所孙晓明和林巧民翻译。由于时间紧迫,错误在所难免,希望其不至于引起意义上的误解,欢迎批评指正。 译者 2006年3月
|
作者简介: |
|
章节目录: |
第1章 走近eCos的世界 1.1 一切从这里开始——Cygnus Solutions1 1.2 eCos的由来2 1.2.1 简而言之——可配置性3 1.2.2 eCos的配置方法3 1.2.3 eCos核心组件5 1.2.4 处理器和评估板的支持6 1.2.5 eCos的支持6 1.3 eCos的体系结构7 1.3.1 组件框架9 1.3.2 组件库9 1.3.3 配置选项12 1.3.4 组件和包13 1.3.5目标机13 1.3.6 模板13 1.4 本章小结14 第2章 硬件抽象层HAL 2.1 概述15 2.1.1 HAL的目录结构17 2.1.2 HAL的宏定义20 2.1.3 HAL的配置22 2.1.4 HAL的启动过程24 2.2 本章小结27 第3章 异常与中断 3.1 异常28 3.1.1 HAL与内核异常处理30 3.1.2 应用程序异常处理35 3.2 中断36 3.2.1 eCos中断模型37 3.2.2 中断配置38 3.2.3 中断处理40 3.2.4 中断控制46 3.3 本章小结54 第4章 虚拟向量 4.1 虚拟向量55 4.1.1 虚拟向量配置57 4.1.2 虚拟向量表的初始化59 4.2 本章小结66 第5章 内核 5.1 内核67 5.1.1 内核目录结构68 5.1.2 内核启动69 5.1.3 调度器70 5.2 本章小结76 第6章 线程与同步机制 6.1 线程77 6.1.1 线程堆栈与堆栈大小86 6.2 同步机制87 6.2.1 互斥量88 6.2.2 信号量93 6.2.3 条件变量98 6.2.4 标志量103 6.2.5 消息邮箱107 6.2.6 螺旋锁112 6.3 本章小结114 第7章 其他eCos架构组件 7.1 计数器、时钟、报警器和定时器115 7.1.1 计数器119 7.1.2 时钟123 7.1.3 报警器125 7.1.4 定时器128 7.2 声明和跟踪128 7.3 ISO C和数学库133 7.4 I/O控制系统135 7.4.1 I/O子系统136 7.4.2 设备驱动程序140 7.5 本章小结142 第8章 附加组件和第三方组件 8.1 兼容层144 8.1.1 POSIX144 8.1.2 μITRON145 8.2 ROM Monitor146 8.2.1 CygMon146 8.2.2 RedBoot147 8.2.3 GDB Stub147 8.3 文件系统149 8.3.1 ROM文件系统150 8.3.2 RAM文件系统151 8.3.3 日志闪盘文件系统153 8.4 PCI总线支持154 8.4.1 PCI库API154 8.5 USB总线支持158 8.6 网络支持159 8.6.1 OpenBSD160 8.6.2 FreeBSD161 8.6.3 LwIP162 8.6.4 网络线程162 8.6.5 网络配置164 8.6.6 网络测试168 8.6.7 DNS支持170 8.7 SNMP支持170 8.8 GoAhead嵌入式Web服务器171 8.9 对称多处理器支持173 8.10 其他特性174 8.11 本章小结175 第9章 RedBoot ROM Monitor 9.1 概述176 9.2 RedBoot目录结构178 9.3 安装与配置179 9.3.1 RedBoot配置180 9.3.2 宿主机配置183 9.4 用户接口与命令集185 9.4.1 RedBoot命令186 9.5 本章小结197 第10章 宿主机开发平台 10.1 概述198 10.2 配置Windows宿主机199 10.2.1 安装Cygwin本地工具200 10.2.2 安装与平台相关的交叉开发工具209 10.2.3 安装eCos开发套件212 10.2.4 访问在线eCos源代码库218 10.3 本章小结225 第11章 eCos工具集 11.1 包226 11.1.1 包目录结构226 11.1.2 组件定义语言概述229 11.2 配置工具234 11.2.1 屏幕布局235 11.2.2 eCos库的数据库249 11.2.3 CDL脚本文件的图形表示252 11.2.4 模板的使用256 11.2.5 包的控制258 11.3 其他eCos工具259 11.3.1 包管理工具259 11.3.2 命令行配置工具261 11.4 建立eCos工具261 11.5 更多开源工具261 11.5.1 源代码导航器262 11.5.2 Splint263 11.6 本章小结263 第12章 eCos应用实例 12.1 eCos映像建立的过程265 12.1.1 更深入的研究266 12.2 示例概述269 12.2.1 开发硬件的建立270 12.2.2 eCos工具271 12.3 RedBoot271 12.3.1 建立RedBoot映像272 12.3.2 安装RedBoot映像275 12.3.3 启动RedBoot映像276 12.4 eCos278 12.4.1 建立eCos映像278 12.5 应用程序281 12.5.1 建立应用程序映像281 12.5.2 加载应用程序285 12.5.3 调试应用程序287 12.6 eCos测试291 12.7 模拟器293 12.8 本章小结295 第13章 eCos移植 13.1 移植概述296 13.2 平台移植实例297 13.2.1 PowerPC硬件抽象层目录和文件结构299 13.2.2 移植提示312 13.3 本章小结313 附录A 支持的处理器和评估板 附录B eCos授权协议 附录C Cygwin工具升级流程 附录D 建立GNU交叉开发工具
|
精彩片段: |
|
书 评: |
|
其 它: |
|
|
|