《Windows CE实用开发技术》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:张冬泉,谭南林,王雪梅,焦风川编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2006
  • ISBN:7121024527
  • 页数:435 页
图书介绍:本书集多年来作者从事Windows CE技术开发和认证培训方面的经验,系统总结和概括了Windows CE的基础理论和特点,对Windows CE开发过程中所涉及到的操作系统定制开发、Boot Loader开发、OAL开发、驱动程序开发以及应用程序开发的过程与方法进行了详细论述。本书辅以大量的实用源代码帮助读者逐步加深理解,最终达到实用开发的目的。本书以最新的Windows CE 5.0开发为目标,开发工具使用最新的Platform Builder 5.0和eMbedded Visual C++ 4.0 +SP4以及Visual Studio .NET 2003应用程序开发工具。

第1章 Windows Embedded概述 1

1.1 智能设备与微软嵌入式系统 1

1.2 什么是Windows Embedded 2

1.3 Windows CE 3

1.3.1 Windows CE的设计目标 3

1.3.2 Windows CE的特征 4

1.3.3 Windows CE的版本 7

1.4 Windows CE与Windows XP Embedded 8

1.5 Windows CE与Windows Mobile 10

1.6 Windows CE与Windows Automotive 11

1.7 Windows CE的源代码共享 12

本章小结 13

第2章 深入理解Windows CE 14

2.1 系统架构 14

2.1.1 硬件层 14

2.1.2 OEM层 15

2.1.3 操作系统层 15

2.1.4 应用层 17

2.2 文件系统 18

2.2.1 对象存储 19

2.2.2 文件系统 20

2.2.3 数据库 22

2.2.4 注册表 23

2.2.5 文件管理器 24

2.3 内存管理 25

2.3.1 ROM和RAM 25

2.3.2 虚拟内存模型 26

2.3.3 虚拟地址映射 27

2.3.4 用户地址空间 30

2.4 系统调度 31

2.4.1 模块 32

2.4.2 进程 33

2.4.3 线程 35

2.4.4 纤程 40

2.4.5 同步对象 41

本章小结 47

第3章 Windows CE开发平台的构建与配置 48

3.1 开发工作站一目标设备平台 48

3.1.1 Geode X86目标设备平台 48

3.1.2 Samsung S3C2410/Intel xScale目标设备平台 48

3.2 操作系统开发平台 50

3.2.1 Platform Builder简介 50

3.1.3 Pocket PC应用程序目标设备平台 50

3.2.2 Platform Builder的安装与配置 52

3.3 应用程序开发平台 56

3.3.1 eMbedded Visual C+++简介 56

3.3.2 eMbedded Visual C+++4.0的安装与配置 57

3.3.3 Visual Studio.NET 2003简介 62

3.3.4 Visual Studio.NET 2003的安装与配置 63

3.3.5 Pocket PC应用程序开发平台的安装与配置 66

3.3.6 Smartphone应用程序开发平台的安装与配置 69

3.4.1 快速平台开发 71

3.4 Windows CE嵌入式系统开发 71

3.4.2 并行开发 73

3.4.3 典型开发周期 73

3.4.4 平台移植 74

3.4.5 递归开发过程 74

本章小结 75

第4章 Windows CE操作系统创建 77

4.1 创建一个操作系统映像设计 77

4.1.1 创建操作系统平台设计 77

4.1.2 添加必要的特征 81

4.1.3 创建基于模拟器的操作系统映像 83

4.1.4 模拟器目标平台的映像下载和调试 85

4.1.5 创建Geode目标平台操作系统映像 89

4.1.6 Geode目标平台的映像下载和调试 90

4.2 Platform Builder的目录结构 92

4.2.1 Platform Builder的安装目录 93

4.2.2 WINCE500目录 93

4.3 环境变量 97

4.3.1 什么是环境变量 97

4.3.2 查看环境变量 98

4.3.3 设置环境变量 100

4.4.1 系统编译 101

4.4 Windows CE映像的创建过程 101

4.4.2 系统产生 102

4.4.3 Release复制 103

4.4.4 映像创建 103

4.5 使用IDE创建操作系统映像 104

4.5.1 集成开发环境 104

4.5.2 Catalog窗口 104

4.5.3 Workspace 110

4.5.4 Build OS命令 113

4.6 命令行工具 113

4.6.1 Build.exe 115

4.6.4 Makimg.exe 117

4.6.5 Wince.bat 117

4.6.2 Sysgen.bat 117

4.6.3 Buildrel.bat 117

4.6.6 Blddemo.bat 118

4.6.7 Cebuild.bat 119

4.6.8 使用命令行工具创建运行时OS映像 119

4.7 映像配置文件 119

4.7.1 BIB文件 120

4.7.2 REG文件 123

4.7.3 DAT文件 125

4.7.4 DB文件 126

4.8.1 CEC文件 127

4.8 组件定义及应用 127

4.8.2 CEC编辑器 130

4.8.3 添加组件定义到Catalog 131

本章小结 132

第5章 Windows CE操作系统映像调试 133

5.1 内核调试器 133

5.2 断点 134

5.3 远程调试工具 136

5.3.1 设置平台管理器 136

5.3.2 Remote Call Profiler 138

5.3.4 Remote Performance Monitor 140

5.3.3 Remote File Viewer 140

5.3.5 Remote Registry Editor 142

5.3.6 Remote Kernel Tracker 142

5.3.7 Remote Process Viewer 144

5.3.8 Remote System Information 145

5.3.9 Remote Zoom-in 145

5.3.10 Remote Heap Walker 145

5.3.11 Remote Spy 146

5.4 IDE调试命令 147

5.4.1 Run Programs 147

5.4.2 CE Debug Zones 147

5.4.3 CE Target Control 152

5.4.4 CE Processes 153

5.4.5 CE Threads 153

5.4.6 CE Modules and Symbols 154

5.4.7 CE Exceptions 154

5.5 其他调试技术 155

5.5.1 逻辑分析仪 155

5.5.2 调试LED 156

5.5.3 JTAG 156

本章小结 157

6.1 什么是Boot Loader 158

6.1.1 PC与嵌入式系统的引导过程 158

第6章 Windows CE的Boot Loader 158

6.1.2 Boot Loader的概念 159

6.2 操作系统的引导模式 159

6.2.1 Boot Loader引导模式 159

6.2.2 非Boot Loader引导模式 160

6.3 特殊的Boot Loader 161

6.3.1 X86 BIOS Boot Loader 161

6.3.2 X86 Serial Boot Loader 163

6.3.3 X86 ROM Boot Loader 163

6.4.1 Boot Loader通信 164

6.4 引导选项 164

6.4.2 Boot Loader的功能菜单 165

6.4.3 Boot Loader的典型特征 165

6.5 Boot Loader的控制流程 167

6.5.1 Boot Loader的架构 167

6.5.2 Boot Loader的组件 168

6.5.3 Boot Loader的控制流程 169

6.6 Boot Loader的开发 173

6.6.1 确定目标设备硬件 173

6.6.2 创建Boot Loader代码文件夹 173

6.6.3 创建命令行构建环境 173

6.6.6 实现Startup函数 174

6.6.5 编译Boot Loader源代码 174

6.6.4 创建sources文件和makefile文件 174

6.6.7 实现Boot Loader的Main代码 177

6.6.8 添加Boot Loader OEM函数的定义 178

6.6.9 编辑Boot Loader的sources文件 180

6.6.10 创建Boot Loader的BIB文件 180

6.6.11 再次构建Boot Loader 182

6.6.12 实现串口调试函数 182

6.6.13 创建驱动程序全局缓冲区和启动参数 185

6.6.14 实现OEMPlatformInit函数 187

6.6.15 再次编辑Boot Loader的sources文件 197

6.6.16 实现与以太网控制器相关的函数 197

6.6.17 实现OEMPreDownload函数 199

6.6.18 测试Boot Loader的通信 201

6.6.19 验证映像文件的下载 201

6.6.20 实现OEMLaunch函数 202

6.6.21 实现OEMIsFlashAddr函数 204

6.6.22 实现OEMMapMemAddr函数 205

6.6.23 实现Flash存储器擦除操作函数 206

6.6.24 实现OEMWriteFlash函数 208

6.6.25 修改eboot.bib文件产生一个可下载的映像 210

6.6.26 添加下载进度显示支持 212

6.6.27 添加存储器校验支持 212

6.6.28 添加对多个BIN映像的支持 214

6.6.29 添加对映像签名的支持 215

本章小结 217

第7章 Windows CE的OAL 218

7.1 OAL与PQOAL 218

7.1.1 OAL与PQOAL的概念 218

7.1.2 PQOAL的目录结构 219

7.1.3 PQOAL的配置文件 220

7.1.4 PQOAL的架构 221

7.1.5 PQOAL的组件 222

7.2 Windows CE操作系统的启动顺序 223

7.3 OAL开发概览 225

7.3.1 必要的OAL功能 226

7.3.2 可选的OAL功能 250

7.4 OAL的电源管理 260

7.4.1 电源管理器 260

7.4.2 系统电源状态到设备电源状态的映射 261

7.4.3 电源状态间的切换 263

7.4.4 挂起状态的GWES控制 264

7.4.5 OAL中的电源管理函数 264

7.5 OAL的开发流程与实践 265

7.5.1 创建OAL文件夹 265

7.5.3 创建sources和makefile文件 266

7.5.4 编译Startup源文件 266

7.5.2 实现OAL的Startup函数 266

7.5.5 创建Kernel文件夹 267

7.5.6 创建CPU特定的OAL函数的框架 267

7.5.7 创建必要的OAL函数的框架 267

7.5.8 创建OAL电源管理函数的框架 268

7.5.9 创建OAL中断处理函数的框架 268

7.5.10 创建OAL实时时钟函数的框架 268

7.5.11 创建OEMIoControl函数的框架 268

7.5.12 创建OEMAddressTable 268

7.5.13 创建内核可执行映像 269

7.5.15 创建内核配置文件 270

7.5.14 实现OEMCacheRangeFlush函数 270

7.5.16 创建Cesysgen文件夹 271

7.5.17 创建Dirs文件 271

7.5.18 创建Nk.bin映像 271

7.5.19 实现串口调试函数 271

7.5.20 再次创建Nk.bin映像 272

7.5.21 实现OEMInit函数 272

7.5.22 实现中断相关的函数 272

7.5.23 实现电源管理函数 275

7.5.29 定制内存的用法 282

7.5.28 实现RTC函数 282

7.5.27 再一次创建Nk.bin映像 282

7.5.26 为运行时映像添加目标控制Shell 282

7.5.25 为OEMInit添加KITL初始化代码 282

7.5.24 再次创建Nk.bin映像 282

7.5.30 实现OEMIoControl函数 283

7.6 创建OAL和内核 283

本章小结 284

第8章 Windows CE的驱动程序 286

8.1 驱动程序的分类 286

8.1.1 驱动程序的概念 286

8.1.2 内建的驱动程序与可安装的驱动程序 286

8.1.3 分层的驱动程序与不分层的驱动程序 287

8.1.4 本地驱动程序与流接口驱动程序 288

8.2 驱动程序源代码 290

8.3 设备管理器 290

8.4 驱动程序的资源 291

8.4.1 资源管理器 291

8.4.2 设备驱动的中断处理和IST模型 292

8.4.3 设备驱动程序的内存管理 297

8.5 驱动程序的加载机制 302

8.5.1 驱动程序的加载过程 302

8.5.2 ActivateDeviceEx 303

8.5.3 总线枚举器 303

8.6 总线驱动 306

8.6.1 Bus Agnostic驱动 307

8.6.2 PCI总线驱动 309

8.6.3 PC Card总线驱动 311

8.7 流接口设备驱动 312

8.7.1 流接口设备驱动的架构 312

8.7.2 流接口驱动的实现 312

8.7.3 流接口函数 313

8.8 驱动程序的电源管理 318

8.8.1 电源管理的架构 319

8.8.3 电源管理接口 320

8.8.2 电源状态 320

8.8.4 在驱动程序中添加电源管理 321

8.9 CEDDK 322

8.9.1 地址映射函数 323

8.9.2 总线访问函数 323

8.9.3 DMA函数 324

8.9.4 I/O操作函数 324

8.10 驱动程序实例分析 325

8.10.1 源代码分析工具 325

8.10.2 ES1371声卡的驱动程序架构 326

8.10.3 ES1371声卡驱动程序分析 326

8.10.5 ES1371声卡驱动程序的sources文件 334

8.10.4 ES1371声卡驱动程序注册表设置 334

本章小结 335

第9章 定制Windows CE Shell 337

9.1 可定制的Windows CE Shell 337

9.1.1 什么是Shell 337

9.1.2 Shell模块和组件 337

9.2 Windows CE提供的Shell选项 338

9.2.1 命令行Shell 339

9.2.2 标准Shell 339

9.2.3 Windows瘦客户端Shell 340

9.2.4 任务管理器例Shell 342

9.3 Shell定制开发的选项 343

9.3.1 应用程序作为Shell 343

9.3.2 浏览器作为Shell 343

9.4 必要的Shell功能 344

9.4.1 Shell应用程序 344

9.4.2 桌面窗口 344

9.4.3 任务条窗口 344

9.4.4 任务相关的消息处理器 345

9.5 Shell组件 346

9.5.1 Shell相关的API 346

9.5.3 控制面板 347

9.5.2 常用对话框和常用控件 347

9.6 安装运行一个定制的Shell 348

9.7 处理用户界面的旋转 349

9.7.1 创建一个操作系统设计 349

9.7.2 修改注册表设置 350

9.7.3 创建屏幕旋转应用程序 350

9.7.4 创建并下载操作系统运行时映像 352

9.7.5 运行屏幕旋转应用程序测试屏幕旋转 353

9.8 定制用户界面 353

9.8.1 创建一个皮肤 353

9.8.2 可以被换肤的用户界面元素 354

9.8.3 附加的用户界面定制选项 356

9.9 Shell定制实例:IEShell 358

9.9.1 创建一个MyShell操作系统设计 358

9.9.2 创建、下载并测试操作系统运行时映像 359

9.9.3 创建并测试IEShell应用程序 359

9.9.4 设置IEShell为目标设备的Shell 360

本章小结 362

第10章 Windows CE应用程序开发 363

10.1 本地应用程序与可托管应用程序 363

10.2 本地应用程序开发 363

10.2.1 从Platform Builder导出SDK 363

10.2.2 安装SDK 367

10.3 Windows CE下的Win32编程 369

10.3.1 Unicode 369

10.3.2 Unicode转换 370

10.3.3 字符串输出 371

10.3.4 文件I/O 372

10.4 eMbedded Visual C+++应用程序开发 372

10.4.1 探索eMbedded Visual C+++4.0 372

10.4.2 在模拟器上开发调试 374

10.4.3 eVC与Platform Builder的联合开发调试 379

10.5.1 智能设备应用程序开发 382

10.5 .NET Compact Framework应用程序开发 382

10.5.2 添加目标设备对.NET的支持 384

10.5.3 创建一个C#智能设备应用程序 385

10.5.4 在模拟器上部署Windows CE应用程序 387

10.5.5 在目标设备上部署智能设备应用程序 388

10.6 Pocket PC应用程序开发 390

10.6.1 创建一个简单的Pocket PC应用程序 390

10.6.2 在模拟器上部署Pocket PC应用程序 392

10.6.3 在Pocket PC设备上部署Pocket PC应用程序 392

10.7 Smartphone应用程序开发 394

10.8 在Windows CE设备上运行Pocket PC应用程序 396

本章小结 397

第11章 SQL Server CE应用程序开发 398

11.1 SQL Server CE简介 398

11.1.1 SQL Server CE的客户端-服务器环境 398

11.1.2 SQL ServerCE的开发环境 400

11.2 安装和配置SQL Server CE开发环境 401

11.2.1 SQL Server CE安装概述 401

11.2.2 安装SQL Server 2000 402

11.2.3 安装IIS 402

11.2.4 安装SQL Server CE 2.0 403

11.2.5 配置IIS服务对SQL Server CE 2.0的支持 405

11.3 编制远程数据库复制应用程序 407

11.3.1 创建SQL Server 2000数据库 409

11.3.2 创建SQLCECF数据库复制应用程序 417

11.3.3 部署并测试SQLCECF应用程序 427

11.3.4 SQL Server CE的数据库查询分析器 428

11.4 编制远程数据访问应用程序 428

11.4.1 RDA的架构 429

11.4.2 使用Pull方法 430

11.4.3 使用Push方法 431

11.4.4 使用SubmitSQL方法 432

本章小结 432

参考文献 434