当前位置:首页 > 工业技术
Windows CE设备驱动及BSP开发指南
Windows CE设备驱动及BSP开发指南

Windows CE设备驱动及BSP开发指南PDF电子书下载

工业技术

  • 电子书积分:14 积分如何计算积分?
  • 作 者:周建设编著
  • 出 版 社:北京:中国电力出版社
  • 出版年份:2009
  • ISBN:9787508386324
  • 页数:401 页
图书介绍:本书是Windows CE项目开发实践丛书之一,是作者从事嵌入式工作几年以来在Windows CE学习与实践过程中的经验总结,较系统地介绍了Windows CE设备驱动及BSP的开发流程。本书围绕着一个BSP的实例开发为中心进行讲解,对Windows CE设备驱动程序的开发、调试、移植、Boot loader开发、OAL开发、BSP相关配置文件的设置等做了深入地剖析。此外,还在此实例BSP的基础上介绍了开发家庭智能化系统的流程。
《Windows CE设备驱动及BSP开发指南》目录

第1章 Windows CE驱动简介 1

1.1 什么是驱动 1

1.1.1 驱动的概念 1

1.1.2 驱动的角色 2

1.2 驱动的种类 2

1.2.1 单层驱动和分层驱动 2

1.2.2 内置驱动和流驱动 4

1.2.3 用户和内核模式驱动 5

1.3 何时需要驱动 6

1.4 驱动开发的步骤 6

1.5 Windows CE共享的驱动代码 7

第2章 Windows CE下驱动程序的中断处理 8

2.1 Windows CE中断的相关概念 8

2.2 中断处理 9

2.2.1 中断服务 9

2.2.2 中断屏蔽 10

2.2.3 嵌套中断处理 10

2.2.4 共享中断处理 10

2.2.5 中断处理过程分析 11

2.2.6 配置、注册、并撤消一个中断处理程序 13

2.3 中断服务例程 14

2.3.1 安装ISR和设备驱动程序 15

2.3.2 安装一个ISR并等待中断事件的产生 16

2.3.3 编译一个ISR错误分析 16

2.3.4 安装ISR和内核 17

2.4 中断服务线程(IST) 22

2.5 中断通知 25

第3章 Windows CE下驱动程序的管理 27

3.1 设备管理器的角色 27

3.2 设备管理器的架构 28

3.3 设备管理器相关注册表键 31

3.4 设备文件名称 31

3.5 I/O资源管理器 33

3.6 设备管理器相关API介绍 35

3.6.1 设备管理器枚举类型 35

3.6.2 设备管理器常用函数介绍 36

第4章 Windows CE下驱动程序的访问控制 37

4.1 DMA 37

4.1.1 Windows CE传统处理方法 37

4.1.2 Windows CE处理DMA的新方法 38

4.2 驱动程序的内存访问 40

4.3 总线无关驱动程序 43

4.4 总线相关驱动程序 48

4.4.1 总线命名 49

4.4.2 总线驱动相关注册表键介绍 49

4.4.3 总线驱动电源回调 50

4.5 总线枚举器 51

4.6 设备接口类 52

4.7 设备接口通知 54

第5章 Windows CE下流接口驱动程序设计方法 57

5.1 流接口驱动程序简介 57

5.2 流接口驱动程序架构 58

5.3 流接口驱动程序的实现 58

5.3.1 流接口驱动程序入口点 58

5.3.2 单通道和多通道 59

5.4 流接口函数介绍 59

5.5 开发一个标准流驱动程序的完整流程 63

5.5.1 创建驱动STD 63

5.5.2 注册表中注册设备驱动程序 68

5.5.3 将设备驱动程序打包到Windows CE的镜像文件中 69

5.5.4 创建设备驱动程序的.def文件 69

5.5.5 编写驱动测试程序 70

5.6 编写串口驱动程序 72

5.6.1 串口工作原理分析 72

5.6.2 编写串口驱动程序的准备工作 73

5.6.3 填写相关流接口函数 74

5.6.4 小结 75

第6章 Windows CE驱动程序的调试方法 76

6.1 使用CETK测试一个驱动程序的必要软硬件条件 76

6.2 使用CETK测试一个驱动程序的完整过程 77

6.2.1 使用CETK提供的模块测试设备驱动程序 77

6.2.2 使用自定义的模块测试设备驱动程序 86

第7章 编写GPIO驱动程序 95

7.1 Vortex86SX SoC简介 95

7.2 GPIO相关概念介绍 95

7.2.1 GPIO的概念 95

7.2.2 GPIO的特性 96

7.2.3 Vortex86SX的GPIO简介 96

7.2.4 Vortex86SX的GPIO相关寄存器介绍 97

7.3 GPIO驱动程序的编写 98

7.3.1 GPIO工作流程分析 98

7.3.2 编写串口驱动程序的准备工作 98

7.3.3 填写相关流接口函数 98

7.3.4 创建.def的文件 100

7.3.5 在注册表中注册GPID驱动程序 100

7.3.6 编写GPID驱动的测试程序 101

7.4 编写完标准GPIO驱动程序后的反思 102

7.4.1 GPIO驱动程序的另一种写法 102

7.4.2 用C#使用GPIO(调用SX_GPIO.DLL) 104

7.5 小结 110

第8章 编写看门狗驱动程序 111

8.1 看门狗简介 111

8.1.1 看门狗的概念 111

8.1.2 看门狗的工作原理 112

8.1.3 看门狗的操作流程 112

8.2 eBox2300SX看门狗介绍 113

8.2.1 Vortex86SX第一只内置看门狗WDT0介绍 113

8.2.2 Vortex86SX第二只内置看门狗WDT1介绍 118

8.3 编写看门狗驱动程序 121

8.3.1 Vortex86SX内置看门狗工作流程分析 121

8.3.2 创建Windows CE驱动工程 122

8.3.3 实现Vortex86SX内置看门狗驱动程序 123

8.3.4 创建.def的文件 125

8.3.5 编写WDT_DLL驱动子工程的注册表文件 126

8.3.6 编写WDT_DLL驱动子工程的WDT_DLL.bib文件 126

8.3.7 编写WDT_DLL驱动子工程的Sources文件 126

8.3.8 编译WDT_DLL驱动程序子工程 127

第9章 编写音频驱动程序 128

9.1 音频驱动开发基础 128

9.1.1 音频压缩管理器驱动程序 129

9.1.2 音频驱动的MDD层和PDD层 131

9.1.3 可插拔的编/解码器的要求 132

9.1.4 统一音频模型 133

9.1.5 Wavedev2音频驱动模型 135

9.2 音频驱动程序注册表设置 136

9.2.1 ACM驱动程序的注册表设置 136

9.2.2 软混频器注册表设置 136

9.3 音频驱动移植 137

9.4 音频驱动实例 137

9.4.1 ACM驱动程序实例 137

9.4.2 Wavedev驱动程序 153

9.5 音频驱动相关函数、结构体、消息介绍 154

第10章 编写块驱动程序 157

10.1 块设备驱动程序开发基础 157

10.1.1 块驱动架构 157

10.1.2 块驱动管理器 157

10.1.3 块设备文件系统 157

10.1.4 块驱动程序接口 158

10.1.5 加载块驱动程序 158

10.1.6 安装块驱动程序 159

10.1.7 侦测块驱动程序 159

10.1.8 访问块驱动程序 159

10.1.9 块设备的电源循环处理 159

10.2 块驱动程序注册表设置 160

10.2.1 自动加载块设备的名称限制 160

10.2.2 PC卡接口块驱动注册表设置 160

10.2.3 内置块驱动的注册表键设置 161

10.2.4 ATAPI块驱动注册表键设置 161

10.2.5 SD卡注册表设置 168

10.2.6 硬盘驱动程序的命名 168

10.3 块驱动程序实例 168

10.3.1 ATADISK磁盘驱动实例 168

10.3.2 ATAPI驱动实例 171

第11章 移植Windows CE其他版本的驱动到Windows CE 6.0 186

11.1 驱动移植访问权限的确认 187

11.2 驱动移植的Marshalling 188

11.3 驱动移植的安全复制 191

11.4 驱动移植的线程访问许可 191

11.5 驱动移植的用户接口 192

11.6 驱动程序的移植实例 192

第12章 板级支持包 194

12.1 BSP基本概念 194

12.1.1 BSP的由来 194

12.1.2 BSP的构成 194

12.2 Boot Loader 195

12.3 OAL 195

12.4 运行时镜像的配置文件 195

12.5 设备驱动程序 196

12.5.1 SoC驱动程序 197

12.5.2 BSP驱动程序 197

12.5.3 通用驱动程序 198

12.6 如何创建一个BSP 198

12.6.1 从零开始开发个人化BSP的流程 199

12.6.2 通过克隆相似平台的BSP开发个人BSP的流程 207

第13章 Windows CE下Boot Loader的分析 211

13.1 Boot Loader应该具备的功能 211

13.2 Boot Loader开发时考虑的硬件因素 212

13.3 Windows CE镜像的引导模式 212

13.3.1 Boot Loader引导模式 212

13.3.2 非Boot Loader引导模式 213

13.4 以太网下的Boot Loader 214

13.4.1 以太网下Boot Loader代码的执行 214

13.4.2 启动和初始化代码的执行 217

13.4.3 构建Boot Loader镜像相关文件 218

13.4.4 编译Boot Loader镜像 218

13.5 专用的Boot Loader 219

13.5.1 x86 BIOS Boot Loader 219

13.5.2 x86串口Boot Loader 228

13.5.3 x86 ROM Boot Loader 228

13.6 Boot Loader支持库 228

13.6.1 BLCOMMON代码库 228

13.6.2 eboot代码库 229

13.6.3 Bootpart代码库 229

13.6.4 以太网调试库 229

第14章 开发Boot Loader 231

14.1 Boot Loader的设计 231

14.2 设立命令行构建环境 232

14.3 为Boot Loader的StartUp()函数创建一个文件 233

14.4 创建Boot Loader的Makefile文件和Sources文件 233

14.5 编译Boot Loader源代码 234

14.6 实现Boot Loader的StartUp()函数 234

14.7 创建Boot Loader的Main()函数 236

14.8 为Boot Loader OEM函数创建占位程序 236

14.9 编辑Boot Loader的Sources文件 237

14.10 创建Boot Loader的.bib文件 237

14.11 重新构建Boot Loader 239

14.12 实现串口调试函数 239

14.13 创建驱动程序全局缓冲区和启动参数 242

14.14 实现OEMPlatformInit()函数 244

14.15 实现与以太网控制器相关的函数 251

14.16 实现OEMPreDownload()函数 253

14.17 为下载Windows CE镜像创建一个测试BIN文件并验证 256

14.18 实现OEMLaunch函数 256

14.19 Flash相关存储器函数的实现 261

14.19.1 OEMMapMemAddr()函数介绍 261

14.19.2 OEMWriteFlash()函数介绍 262

14.19.3 OEMIsFlashAddr()函数介绍 263

14.19.4 OEMShowProgress()函数介绍 263

14.19.5 Flash存储器擦除操作相关函数介绍 263

14.20 添加存储器确认支持 264

第15章 Windows CE下OAL的分析 266

15.1 内核架构分析 266

15.2 内核调度 267

15.2.1 线程调度计时器 267

15.2.2 内核全局变量调度 267

15.3 内核状态 268

15.3.1 挂起状态 268

15.3.2 OEM断电状态 269

15.3.3 唤醒状态 269

15.3.4 OEM唤醒状态 269

15.4 内核独立传输层 270

15.4.1 KITL传输通信 270

15.4.2 中断和轮询传输 270

15.4.3 KITL的工作模式 271

15.4.4 以太网调试服务 272

15.5 可变时钟调度器的实现 275

15.6 产品质量级OAL 277

第16章 如何开发OAL 279

16.1 Windows CE的OAL设计框架 279

16.1.1 OAL结构OEMGLOBAL分析 281

16.1.2 Kernel结构NKGLOBAL分析 286

16.2 OAL的启动过程分析 290

16.2.1 初始化CPU 290

16.2.2 内核初始化 292

16.2.3 初始化调试串口 298

16.2.4 初始化硬件平台 298

16.2.5 第一个线程调度前重新初始化内核 307

16.2.6 启动内核 307

16.2.7 第一线程调度后重新初始化内核 310

16.3 开发OAL的流程 311

第17章 创建Windows CE配置文件 342

17.1 源代码配置文件 342

17.1.1 Dirs文件 342

17.1.2 Makefile文件 343

17.1.3 Sources文件 344

17.2 CE镜像配置文件 350

17.2.1 二进制镜像构建文件 350

17.2.2 注册表文件 362

17.2.3 文件系统文件 366

17.2.4 数据库文件 367

第18章 项目实例——家庭智能化系统开发 370

18.1 定制Windows CE操作系统 370

18.1.1 新建一个项目工程 373

18.1.2 进入定制操作系统的向导 373

18.1.3 选择BSP 374

18.1.4 选择操作系统设计的模板 374

18.1.5 选择模板中的相关组件 375

18.1.6 添加Catalog组件 376

18.1.7 添加外部驱动程序 378

18.1.8 选择编译模式 379

18.1.9 选择Windows CE镜像的默认语言支持 380

18.1.10 选择编译选项 380

18.1.11 添加环境变量 381

18.1.12 关闭调试串口 382

18.1.13 生成Windows CE操作系统的镜像 384

18.1.14 下载Windows CE镜像到目标设备 385

18.2 家庭智能化应用程序的开发 388

18.2.1 为家庭智能化系统的开发安装SDK 388

18.2.2 开发家庭智能化系统的应用程序 390

参考文献 401

跋 402

返回顶部