第1章 VxWorks实时操作系统介绍 1
1.1嵌入式实时操作系统 1
1.1.1实时操作系统特点 1
1.1.2嵌入实时操作系统特点 2
1.1.3 VxWorks操作系统特点 4
1.2 VxWorks操作系统基本结构 6
1.3 VxWorks操作系统开发流程 8
第2章 Tornado交叉开发环境 10
2.1 Tornado基本介绍 10
2.2 安装Tornado 12
2.3安装WindML3.0 21
2.4 Tornado工具包介绍 27
2.4.1集成编辑器 27
2.4.2集成仿真器 28
2.4.3交叉调试器 28
2.4.4 Windsh 28
2.4.5目标机代理(Target Agent) 29
2.5创建和管理工程 29
2.6内核配置和裁剪 35
2.7 WDB调试程序方法 38
2.7.1启动和终止调试 38
2.7.2运行程序 38
2.7.3 Attach和Detach一个任务 39
2.7.4断点 40
2.7.5程序执行 42
2.7.6观察运行信息 43
2.7.7调试方法 44
第3章 VxWorks BSP在MagicARM2410上的移植 47
3.1 BSP文件结构 47
3.1.1 BSP文件组成 47
3.1.2 BSP主要文件目录及文件作用 48
3.2 BSP配置文件 50
3.2.1 config.h文件 50
3.2.2 makefile文件 54
3.3系统映像类型 56
3.3.1 VxWorks Image 57
3.3.2 BSP引导映像 58
3.4 ARM9 S3C2410A介绍 59
3.5 MagicARM2410实验箱介绍 64
3.6 BSP移植的基本流程 67
3.7 WDB相关配置 68
第4章 TTY设备驱动程序设计 73
4.1 TTY设备驱动编写概述 73
4.1.1 TTY驱动 74
4.1.2 SCC驱动:xxDrv 75
4.2串口启动和初始化过程 75
4.3 ttyDrv设备 76
4.3.1 ttyDrv()函数说明 77
4.3.2 ttyDrvCreate()函数说明 77
4.3.3 tyRead()函数说明 78
4.3.4 tyWrite()函数说明 78
4.3.5 ttyIoctle()函数说明 78
4.4 S3C2410串口驱动设计 79
4.4.1 串口初始化过程 79
4.4.2 编写处理函数 85
第5章 VxWorks块设备驱动程序设计 95
5.1 VxWorks块设备简介 95
5.2 TrueFFS机制概述 96
5.2.1 TrueFFS简介 96
5.2.2 块读写均衡机制 97
5.2.3 碎片回收机制 97
5.2.4 块分配和关联数据机制 97
5.2.5 错误恢复机制 98
5.2.6引导映象和TrueFFS共享FLASH存储空间 98
5.2.7 TrueFFS构架解析 98
5.3 Socket与MTD层 99
5.3.1 TrueFFS开发简介 99
5.3.2配置TrueFFS 99
5.3.3 FLASH的格式化函数 100
5.3.4创建TrueFFS块设备 101
5.3.5 TrueFFS建立过程中的函数调用关系 103
5.4 MagicARM2410的NOR FLASH驱动设计 105
5.4.1编写sst39vfl601MTDIdentify()函数 105
5.4.2编写sst39vfl601 MTDMap()函数 107
5.4.3编写sst39vfl601MTDErase()和sst39vfl601MTDWrite()函数 108
5.4.4编写sst39vfl60IOpOverDetect()函数 111
5.4.5注册MTD 112
5.5 MagicARM2410的NAND FLASH驱动程序设计 113
5.5.1 NAND FLASH结构解读 113
5.5.2 MagicARM2410的NAND FLASH接口电路分析 114
5.5.3 NAND FLASH编程说明 115
5.5.4 VxWorks下的NAND FLASH驱动程序 117
5.6 TrueFFS文件系统实验设计 121
5.6.1实验目的 121
5.6.2实验设备 121
5.6.3实验内容 121
5.6.4实验预习要求 121
5.6.5实验原理 121
5.6.6实验步骤 122
5.6.7 DOS下实验方法 125
5.6.8程序清单 126
第6章 网络设备驱动程序设计 149
6.1网卡设备驱动设计概述 149
6.1.1数据交换 149
6.1.2网络接口驱动程序 149
6.2 END设备驱动程序装载过程 152
6.2.1系统END设备选定 152
6.2.2装载及启动END设备 154
6.3 DM9000网络芯片 156
6.3.1 DM9000主要性能 157
6.3.2主要引脚定义 158
6.3.3 DM9000主要寄存器 161
6.3.4 DM9000芯片复位和初始化 163
6.4网络设备与系统数据交换 165
6.4.1中断处理原理 165
6.4.2中断服务程序 166
6.4.3驱动程序与协议层共享缓冲区 167
6.4.4接收数据 168
6.4.5发送数据 168
6.5网络程序编写 169
6.5.1定义设备的描述信息 173
6.5.2驱动程序的加载 174
6.5.3驱动程序清单 184
第7章 LCD液晶设备驱动程序设计 199
7.1 WindML简介 199
7.1.1 WindML结构 199
7.1.2 WindML源码架构 201
7.1.3 WindML图形设备驱动介绍 204
7.2 WindML配置 206
7.2.1 WindML配置介绍 206
7.2.2 WindML标准配置 207
7.2.3采用配置工具配置 209
7.2.4命令行配置方法 217
7.2.5修改VxWorks BSP 221
7.3 LCD液晶驱动程序设计实验 223
7.3.1实验目的 223
7.3.2实验设备 224
7.3.3实验内容 224
7.3.4实验步骤 224
7.3.5程序清单 229
第8章 I2C设备驱动程序设计 258
8.1 T2C总线概述 258
8.2 I2C总线原理 258
8.3 S3C2410的I2C结构分析 261
8.3.1 S3C2410的I2C主要结构 261
8.3.2 S3C2410的I2C主要寄存器 261
8.4 ZLG7290B特性 264
8.4.1 ZLG7290B描述与主要特性 264
8.4.2 ZLG7290B引脚功能说明 264
8.4.3 ZLG7290B寄存器说明 265
8.4.4 ZLG7290B控制命令详解 267
8.5 I2C实验设计 269
8.5.1实验目的 269
8.5.2实验设备 269
8.5.3实验内容 270
8.5.4电路原理图 270
8.5.5实验步骤 270
8.5.6程序清单 271
第9章 字符设备驱动程序设计实验 297
9.1字符设备驱动编写概述 297
9.2蜂鸣器驱动设计实验 298
9.2.1实验目的 298
9.2.2实验设备 298
9.2.3实验内容 298
9.2.4实验原理 298
9.2.5实验步骤 300
9.2.6程序清单 300
9.3 LED流水灯驱动设计实验 302
9.3.1实验目的 302
9.3.2实验设备 302
9.3.3实验内容 302
9.3.4实验原理 302
9.3.5实验步骤 302
9.3.6程序清单 303
9.4按键驱动程序设计实验 306
9.4.1实验目的 306
9.4.2实验设备 306
9.4.3实验内容 306
9.4.4实验原理 306
9.4.5实验步骤 307
9.4.6程序清单 307
9.5直流电机驱动程序设计实验 309
9.5.1实验目的 309
9.5.2实验设备 309
9.5.3实验内容 309
9.5.4实验原理 309
9.5.5实验步骤 310
9.5.6程序清单 311
9.6步进电机驱动程序设计实验 314
9.6.1实验目的 314
9.6.2实验设备 314
9.6.3实验内容 314
9.6.4实验原理 314
9.6.5实验步骤 315
9.6.6程序清单 315
9.7 ADC驱动程序设计实验 318
9.7.1实验目的 318
9.7.2实验设备 318
9.7.3实验内容 318
9.7.4实验原理 318
9.7.5实验步骤 322
9.7.6程序清单 323
第10章 VxWorks应用程序设计实验 326
10.1 Hello World实验 326
10.1.1实验目的 326
10.1.2实验设备 326
10.1.3实验内容 326
10.1.4实验原理 326
10.1.5实验步骤 327
10.1.6程序清单 327
10.2任务调度 328
10.2.1实验目的 328
10.2.2实验设备 328
10.2.3实验内容 328
10.2.4实验原理 328
10.2.5实验步骤 329
10.2.6程序清单 329
10.3信号量实验 333
10.3.1实验目的 333
10.3.2实验设备 333
10.3.3实验内容 333
10.3.4实验原理 333
10.3.5实验步骤 334
10.3.6程序清单 334
10.4 VxWorks信号 336
10.4.1实验目的 336
10.4.2实验设备 336
10.4.3实验内容 336
10.4.4实验原理 336
10.4.5实验步骤 337
10.4.6程序清单 337
10.5 VxWorks管道 341
10.5.1实验目的 341
10.5.2实验设备 341
10.5.3实验内容 341
10.5.4实验原理 341
10.5.5实验步骤 342
10.5.6程序清单 342
10.6 VxWorks消息队列 346
10.6.1实验目的 346
10.6.2实验设备 347
10.6.3实验内容 347
10.6.4实验原理 347
10.6.5实验步骤 348
10.6.6程序清单 348
10.7 VxWorks Socket通信 352
10.7.1实验目的 352
10.7.2实验设备 352
10.7.3实验内容 352
10.7.4实验原理 353
10.7.5实验步骤 353
10.7.6程序清单 353
参考文献 358