第1篇 基础篇 2
第1章 Windows CE与嵌入式系统基础 2
1.1 嵌入式系统的基本问题 3
1.1.1 什么是嵌入式系统 3
1.1.2 嵌入式系统有哪些特点 4
1.1.3 嵌入式系统组成 5
1.1.4 嵌入式系统的应用领域 6
1.2 嵌入式系统的硬件结构 7
1.2.1 处理器 8
1.2.2 存储器 11
1.2.3 输入/输出及外设 12
1.3 嵌入式系统的发展方向 13
1.3.1 嵌入式系统开发工具 13
1.3.2 嵌入式系统与网络 14
1.3.3 嵌入式系统的物理特性 14
1.3.4 其他方面的发展趋势 15
1.4 小结 15
1.5 思考练习 15
第2章 嵌入式操作系统 16
2.1 嵌入式系统的软件结构 17
2.1.1 应用软件 17
2.1.2 嵌入式操作系统 18
2.1.3 BSP 21
2.2 嵌入式操作系统 23
2.2.1 Windows CE 24
2.2.2 嵌入式Linux 26
2.2.3 VxWorks 28
2.3 小结 29
2.4 思考练习 29
第3章 Windows CE的体系结构 30
3.1 Windows CE的系列产品结构 31
3.1.1 Windows Embedded CE 6.0 31
3.1.2 Windows Mobile 6.0和Windows Automotive 5.0 35
3.1.3 Windows XP Embedded和Windows Vista Embedded 37
3.2 Windows CE的体系结构 39
3.2.1 硬件 41
3.2.2 OEM适配层 41
3.2.3 内核独立传输层 42
3.2.4 内核 42
3.2.5 CoreDLL 43
3.2.6 文件系统 43
3.2.7 图形、窗口、事件管理子系统 44
3.2.8 设备管理器 44
3.2.9 驱动程序 44
3.2.10 应用程序 45
3.3 小结 45
3.4 思考练习 45
第2篇 应用开发 48
第4章 进程和线程 48
4.1 进程 49
4.1.1 Windows CE中的进程 51
4.1.2 进程的创建与终止 53
4.1.3 系统进程 56
4.2 线程 57
4.2.1 线程与进程 57
4.2.2 线程的创建与终止 58
4.3 纤程 60
4.4 线程的调度与同步 62
4.4.1 调度 62
4.4.2 同步 66
4.5 进程间的通信 74
4.6 小结 77
4.7 思考练习 77
第5章 Windows CE的存储系统 78
5.1 内存管理 79
5.1.1 Windows CE的内存管理概况 79
5.1.2 Windows CE 5.0的虚拟内存模型 81
5.1.3 Windows Embedded CE 6.0的虚拟内存模型 84
5.2 文件系统和存储管理 90
5.2.1 对象存储 90
5.2.2 文件系统 92
5.2.3 注册表 95
5.2.4 数据库 97
5.2.5 存储管理器 98
5.3 小结 98
5.4 思考练习 99
第6章 开发环境与参考文档 100
6.1 开发环境 101
6.1.1 目标设备平台 101
6.1.2 软件开发环境 103
6.2 搭建软件开发环境 104
6.2.1 安装Visual Studio .NET 2005 105
6.2.2 安装Platform Builder for CE 6.0 110
6.3 参考文档 116
6.3.1 MSDN for Visual Studio 2005 116
6.3.2 Windows嵌入式开发中心 119
6.3.3 微软虚拟实验室 121
6.4 小结 122
6.5 思考练习 123
第7章 应用编程接口 124
7.1 应用编程接口 125
7.1.1 Windows API 126
7.1.2 MFC 128
7.1.3 ATL 130
7.1.4 .NET Compact Framework 131
7.2 特点 136
7.2.1 资源占用 136
7.2.2 开发效率 137
7.2.3 运行效率 137
7.3 小结 137
7.4 思考练习 138
第8章 映像创建过程 139
8.1 创建Windows Embedded CE的过程 140
8.1.1 编译 143
8.1.2 系统产生 143
8.1.3 Release复制 144
8.1.4 映像创建 145
8.2 命令行工具 145
8.2.1 blddemo.bat 146
8.2.2 cebuild.bat 147
8.2.3 sysgen.bat 148
8.2.4 build.exe 150
8.2.5 making.exe 151
8.3 运行时映像配置文件 152
8.3.1 二进制映像创建工具文件 152
8.3.2 数据库文件 157
8.3.3 文件系统文件 159
8.3.4 注册表文件 162
8.3.5 源代码控制文件 165
8.4 小结 166
8.5 思考练习 166
第9章 Platform Builder for CE 6.0 167
9.1 Windows Embedded CE 6.0的目录组织 168
9.1.1 PLATFORM文件夹 169
9.1.2 PUBLIC文件夹 171
9.1.3 SDK文件夹 173
9.1.4 OSDesigns文件夹 174
9.1.5 PRIVATE文件夹 174
9.1.6 OTHERS文件夹 175
9.2 Platform Builder for CE 6.0的环境变量 176
9.2.1 查看环境变量 177
9.2.2 修改环境变量 183
9.3 Platform Builder for CE用户指南 184
9.3.1 Platform Builder for CE 6.0 IDE 184
9.3.2 Catalog Item 190
9.4 小结 193
9.5 思考练习 193
第10章 定制Windows Embedded CE 194
10.1 准备 195
10.1.1 CEPC 195
10.1.2 模拟器 196
10.2 创建Windows Embedded CE 6.0 197
10.2.1 使用创建向导 197
10.2.2 编辑和修改Windows Embedded CE工程 201
10.2.3 Build 203
10.3 运行Windows Embedded CE 6.0 206
10.3.1 在模拟器上运行 206
10.3.2 在CEPC上运行 210
10.4 需要注意的问题 213
10.5 小结 214
10.6 思考练习 214
第11章 应用程序的开发与发布 215
11.1 应用程序开发基础知识 216
11.1.1 应用程序的运行 216
11.1.2 SDK 217
11.2 应用程序开发 220
11.2.1 Windows Embedded CE 6.0的改进 220
11.2.2 Hello,Windows Embedded CE 6.0 221
11.3 应用程序打包发布 224
11.3.1 inf文件 224
11.3.2 CAB Wizard 227
11.3.3 打包Hello,Windows Embedded CE 6.0 228
11.4 小结 230
11.5 思考练习 231
第12章 诊断、调试与测试 232
12.1 概述 233
12.1.1 概念与区别 233
12.1.2 Windows Embedded CE的诊断和调试机制 235
12.2 Windows Embedded CE的调试工具 236
12.2.1 内核调试器 236
12.2.2 目标设备控制调试命令 240
12.2.3 性能分析工具 241
12.2.4 远程工具 244
12.2.5 CETK 250
12.2.6 硬件辅助测试工具 252
12.3 小结 253
12.4 思考练习 253
第13章 BSP开发 254
13.1 BSP开发总览 255
13.1.1 广义BSP的概念 255
13.1.2 BSP结构 257
13.1.3 BSP开发 257
13.2 Boot Loader开发 260
13.2.1 Boot Loader的功能 260
13.2.2 Boot Loader的分类 262
13.2.3 Boot Loader的开发 265
13.3 OAL开发 267
13.3.1 OAL的功能 267
13.3.2 OAL的构成 269
13.3.3 OAL的开发 270
13.4 驱动开发 272
13.4.1 驱动程序的功能 272
13.4.2 驱动程序开发资源 273
13.4.3 设备管理器 274
13.4.4 驱动的测试 276
13.5 小结 276
13.6 思考练习 277
第14章 数据库开发基础 278
14.1 数据库基础 279
14.1.1 数据库的发展历程 279
14.1.2 数据与信息 280
14.1.3 计算机与信息处理 281
14.1.4 数据模型 281
14.1.5 数据库管理系统 286
14.1.6 数据库技术 287
14.1.7 三层模式和两级映像 289
14.2 关系数据库 290
14.2.1 基本概念 290
14.2.2 主流关系数据库 292
14.3 SQL基础 293
14.3.1 运行SQL语句 294
14.3.2 SQL基础 297
14.3.3 数据定义 302
14.3.4 数据操作 304
14.3.5 数据检索 306
14.4 小结 318
14.5 思考练习 318
第15章 SQL Server Mobile 319
15.1 SQL Server Mobile简介 320
15.1.1 SQL Server Mobile概览 320
15.1.2 三个环境 321
15.1.3 体系结构 322
15.2 SQL Server Mobile环境配置 327
15.2.1 开发机环境配置 328
15.2.2 服务器环境配置 329
15.2.3 客户端环境配置 334
15.3 SQL Server Mobile实例 336
15.3.1 合并复制实例 337
15.3.2 性能 347
15.3.3 安全性 347
15.3.4 大规模应用的网络拓扑 349
15.4 小结 350
15.5 思考练习 350
第16章 网络与通信 351
16.1 概述 352
16.1.1 通信和网络 352
16.1.2 嵌入式设备在网络中的角色 353
16.2 Windows CE中的网络 354
16.2.1 核心网络功能 354
16.2.2 远程网络 356
16.2.3 无线网络 357
16.2.4 VoIP 358
16.3 小结 359
第17章 国际化与本地化 360
17.1 概述 361
17.1.1 演绎 361
17.1.2 多语言化 361
17.1.3 本地化 361
17.1.4 汉化 362
17.1.5 国际化 362
17.2 Windows Embedded CE的国际化 363
17.2.1 Unicode 363
17.2.2 IMM 364
17.2.3 MUI 365
17.2.4 NLS 366
17.3 小结 366
17.4 思考练习 366
第18章 C#编程基础 367
18.1 概述 368
18.1.1 初识 368
18.1.2 程序结构 368
18.1.3 编程与代码习惯 372
18.1.4 运行C#程序 373
18.1.5 控制台程序和窗口程序 375
18.2 基础知识 375
18.2.1 数据类型 376
18.2.2 变量与常量 377
18.2.3 类型转换 379
18.2.4 运算符与表达式 380
18.2.5 选择结构 381
18.2.6 循环结构 383
18.2.7 异常处理 385
18.3 面向对象编程 387
18.3.1 面向对象概念 387
18.3.2 类与对象 389
18.3.3 方法与参数 391
18.3.4 构造函数 395
18.3.5 静态成员 397
18.3.6 继承与多态 399
18.4 小结 405
18.5 思考练习 406
第3篇 实践篇 408
第19章 数据库开发进阶 408
19.1 ADO.NET 409
19.1.1 概述 409
19.1.2 ADO.NET组件 410
19.1.3 ADO.NET与SQL Server Mobile 413
19.2 访问数据库 414
19.3 Visual Studio的数据库操作 422
19.4 RDA的三个方法 424
19.4.1 PULL 425
19.4.2 PUSH 426
19.4.3 SubmitSQL 427
19.5 小结 428
19.6 思考练习 428
第20章 身份证号码验证系统 429
20.1 系统分析与设计 430
20.1.1 身份证号码编码方法 430
20.1.2 系统分析 432
20.1.3 系统设计 433
20.2 系统实现 436
20.2.1 界面设计 436
20.2.2 主要方法 437
20.2.3 事件 443
20.3 系统调试与测试 448
20.3.1 测试用例设计 448
20.3.2 下载到设备测试 450
20.3.3 打包 450
20.4 小结 451
20.5 思考练习 452
第21章 日历转换系统 454
21.1 系统分析与设计 455
21.1.1 公历 455
21.1.2 农历 457
21.1.3 系统分析 458
21.1.4 系统设计 459
21.2 系统实现 463
21.2.1 界面设计 464
21.2.2 主要方法 465
21.2.3 事件 469
21.3 系统调试与测试 472
21.4 小结 473
21.5 思考练习 473
附录A 思考练习 474
参考文献 491