1.1 一切从这里开始——Cygnus Solutions 1
第1章 走近eCos的世界 1
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.2 组件库 9
1.3.1 组件框架 9
1.3.3 配置选项 12
1.3.4 组件和包 13
1.3.5 目标机 13
1.3.6 模板 13
1.4 本章小结 14
第2章 硬件抽象层HAL 15
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章 异常与中断 28
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章 虚拟向量 55
4.1 虚拟向量 55
4.1.1 虚拟向量配置 57
4.1.2 虚拟向量表的初始化 59
4.2 本章小结 66
5.1 内核 67
第5章 内核 67
5.1.1 内核目录结构 68
5.1.2 内核启动 69
5.1.3 调度器 70
5.2 本章小结 76
第6章 线程与同步机制 77
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架构组件 115
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.1.1 POSIX 144
第8章 附加组件和第三方组件 144
8.1 兼容层 144
8.1.2 μITRON 145
8.2 ROM Monitor 146
8.2.1 CygMon 146
8.2.2 RedBoot 147
8.2.3 GDB Stub 147
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库API 154
8.5 USB总线支持 158
8.6 网络支持 159
8.6.1 OpenBSD 160
8.6.2 FreeBSD 161
8.6.4 网络线程 162
8.6.3 LwIP 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.1 概述 176
第9章 RedBoot ROM Monitor 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.1 概述 198
第10章 宿主机开发平台 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工具集 226
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.4 建立eCos工具 261
11.5 更多开源工具 261
11.3.2 命令行配置工具 261
11.5.1 源代码导航器 262
11.5.2 Splint 263
11.6 本章小结 263
第12章 eCos应用实例 265
12.1 eCos映像建立的过程 265
12.1.1 更深入的研究 266
12.2 示例概述 269
12.2.1 开发硬件的建立 270
12.3 RedBoot 271
12.2.2 eCos工具 271
12.3.1 建立RedBoot映像 272
12.3.2 安装RedBoot映像 275
12.3.3 启动RedBoot映像 276
12.4 eCos 278
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移植 296
13.1 移植概述 296
13.2 平台移植实例 297
13.2.1 PowerPC硬件抽象层目录和文件结构 299
13.2.2 移植提示 312
13.3 本章小结 313