标题：WindowsCE实用开发技术
基本信息
一本关于WindowsCE技术开发的书
目录
第一篇 Windows CE基础
第1章 Windows Embedded概述 (3)
1.1 智能设备与微软嵌入式系统 (3)
1.2 Windows Embedded概述 (4)
1.3 深入了解Windows Embedded (7)
1.3.1 Windows Embedded Standard (8)
1.3.2 Windows Embedded for Point of Service (8)
1.3.3 Windows Embedded Enterprise (9)
1.3.4 Windows Embedded NavReady (9)
1.4 Windows CE (10)
1.4.1 Windows CE的设计目标 (10)
1.4.2 Windows CE的特征 (12)
1.4.3 Windows CE的版本 (14)
1.5 Windows CE与Windows XP Embedded (16)
1.6 Windows CE与Windows Mobile (18)
1.7 Windows CE与Windows Automotive (19)
1.8 Windows CE的源代码共享 (19)
本章小结 (21)
第2章 深入理解Windows CE (22)
2.1 系统架构 (22)
2.1.1 硬件层 (23)
2.1.2 OEM层 (23)
2.1.3 操作系统层 (23)
2.1.4 应用层 (25)
2.2 文件系统 (26)
2.2.1 对象存储 (27)
2.2.2 文件系统 (28)
2.2.3 数据库 (30)
2.2.4 注册表 (31)
2.2.5 文件管理器 (32)
2.3 内存管理 (33)
2.3.1 ROM和RAM (33)
2.3.2 虚拟内存模型 (34)
2.3.3 虚拟地址映射 (35)
2.3.4 用户地址空间 (38)
2.4 系统调度 (39)
2.4.1 模块 (40)
2.4.2 进程 (41)
2.4.3 线程 (43)
2.4.4 纤程 (47)
2.4.5 同步对象 (48)
本章小结 (54)
第3章 Windows CE开发平台的构建与配置 (55)
3.1 开发工作站——目标设备平台 (55)
3.1.1 Geode X86目标设备平台 (55)
3.1.2 Samsung S3C2410/Intel xScale目标设备平台 (55)
3.1.3 Pocket PC应用程序目标设备平台 (57)
3.2 操作系统开发平台 (57)
3.2.1 Platform Builder简介 (57)
3.2.2 Platform Builder的安装与配置 (59)
3.3 应用程序开发平台 (63)
3.3.1 eMbedded Visual C++简介 (63)
3.3.2 eMbedded Visual C++ 4.0的安装与配置 (64)
3.3.3 Visual Studio .NET 2003简介 (69)
3.3.4 Visual Studio .NET 2003的安装与配置 (70)
3.3.5 Pocket PC应用程序开发平台的安装与配置 (73)
3.3.6 Smartphone应用程序开发平台的安装与配置 (76)
3.4 Windows CE嵌入式系统开发 (78)
3.4.1 快速平台开发 (78)
3.4.2 并行开发 (80)
3.4.3 典型开发周期 (80)
3.4.4 平台移植 (81)
3.4.5 递归开发过程 (81)
本章小结 (82)
第二篇 Windows CE操作系统开发
第4章 Windows CE操作系统创建 (87)
4.1 创建一个操作系统映像设计 (87)
4.1.1 创建操作系统平台设计 (87)
4.1.2 添加必要的特征 (91)
4.1.3 创建基于模拟器的操作系统映像 (93)
4.1.4 模拟器目标平台的映像下载和调试 (95)
4.1.5 创建Geode目标平台操作系统映像 (99)
4.1.6 Geode目标平台的映像下载和调试 (100)
4.2 Platform Builder的目录结构 (102)
4.2.1 Platform Builder的安装目录 (103)
4.2.2 WINCE500目录 (103)
4.3 环境变量 (107)
4.3.1 什么是环境变量 (107)
4.3.2 查看环境变量 (108)
4.3.3 设置环境变量 (110)
4.4 Windows CE映像的创建过程 (111)
4.4.1 系统编译 (111)
4.4.2 系统产生 (112)
4.4.3 Release复制 (113)
4.4.4 映像创建 (113)
4.5 使用IDE创建操作系统映像 (114)
4.5.1 集成开发环境 (114)
4.5.2 Catalog窗口 (114)
4.5.3 Workspace (120)
4.5.4 Build OS命令 (123)
4.6 命令行工具 (123)
4.6.1 Build.exe (125)
4.6.2 Sysgen.bat (127)
4.6.3 Buildrel.bat (127)
4.6.4 Makimg.exe (127)
4.6.5 Wince.bat (127)
4.6.6 Blddemo.bat (128)
4.6.7 Cebuild.bat (129)
4.6.8 使用命令行工具创建运行时OS映像 (129)
4.7 映像配置文件 (129)
4.7.1 BIB文件 (130)
4.7.2 REG文件 (133)
4.7.3 DAT文件 (135)
4.7.4 DB文件 (136)
4.8 组件定义及应用 (137)
4.8.1 CEC文件 (137)
4.8.2 CEC编辑器 (140)
4.8.3 添加组件定义到Catalog (141)
本章小结 (142)
第5章 Windows CE操作系统映像调试 (143)
5.1 内核调试器 (143)
5.2 断点 (144)
5.3 远程调试工具 (146)
5.3.1 设置平台管理器 (146)
5.3.2 Remote Call Profiler (148)
5.3.3 Remote File Viewer (150)
5.3.4 Remote Performance Monitor (151)
5.3.5 Remote Registry Editor (152)
5.3.6 Remote Kernel Tracker (152)
5.3.7 Remote Process Viewer (154)
5.3.8 Remote System Information (155)
5.3.9 Remote Zoom-in (155)
5.3.10 Remote Heap Walker (155)
5.3.11 Remote Spy (156)
5.4 IDE调试命令 (157)
5.4.1 Run Programs (157)
5.4.2 CE Debug Zones (157)
5.4.3 CE Target Control (162)
5.4.4 CE Processes (163)
5.4.5 CE Threads (163)
5.4.6 CE Modules and Symbols (164)
5.4.7 CE Exceptions (164)
5.5 其他调试技术 (165)
5.5.1 逻辑分析仪 (165)
5.5.2 调试LED (166)
5.5.3 JTAG (166)
本章小结 (167)
第三篇 Windows CE BSP开发
第6章 Windows CE的Bootloader (171)
6.1 什么是Bootloader (171)
6.1.1 PC与嵌入式系统的引导过程 (171)
6.1.2 Bootloader的概念 (172)
6.2 操作系统的引导模式 (172)
6.2.1 Bootloader引导模式 (172)
6.2.2 非Bootloader引导模式 (173)
6.3 特殊的Bootloader (174)
6.3.1 X86 BIOS Bootloader (174)
6.3.2 X86 Serial Bootloader (176)
6.3.3 X86 ROM Bootloader (176)
6.4 引导选项 (177)
6.4.1 Bootloader通信 (177)
6.4.2 Bootloader的功能菜单 (178)
6.4.3 Bootloader的典型特征 (178)
6.5 Bootloader的控制流程 (180)
6.5.1 Bootloader的架构 (180)
6.5.2 Bootloader的组件 (181)
6.5.3 Bootloader的控制流程 (182)
6.6 Bootloader开发中的几个关键技术 (186)
6.6.1 Bootloader的开发调试方法 (186)
6.6.2 Bootloader的BIB文件 (187)
6.6.3 Bootloader的启动参数与全局缓冲区 (192)
6.6.4 Bootloader对Flash存储器的支持 (196)
本章小结 (202)
第7章 Windows CE的OAL (203)
7.1 OAL与PQOAL (203)
7.1.1 OAL与PQOAL的概念 (203)
7.1.2 PQOAL的目录结构 (204)
7.1.3 PQOAL的配置文件 (205)
7.1.4 PQOAL的架构 (206)
7.1.5 PQOAL的组件 (207)
7.2 Windows CE操作系统的启动顺序 (208)
7.3 OAL开发概览 (210)
7.3.1 必要的OAL功能 (211)
7.3.2 可选的OAL功能 (234)
7.4 OAL的电源管理 (245)
7.4.1 电源管理器 (245)
7.4.2 系统电源状态到设备电源状态的映射 (246)
7.4.3 电源状态间的切换 (247)
7.4.4 挂起状态的GWES控制 (248)
7.4.5 OAL中的电源管理函数 (249)
7.5 OAL的开发流程与实践 (249)
7.5.1 创建OAL文件夹 (250)
7.5.2 实现OAL的Startup函数 (250)
7.5.3 创建sources和makefile文件 (250)
7.5.4 编译Startup源文件 (251)
7.5.5 创建Kernel文件夹 (251)
7.5.6 创建CPU特定的OAL函数的框架 (251)
7.5.7 创建必要的OAL函数的框架 (252)
7.5.8 创建OAL电源管理函数的框架 (252)
7.5.9 创建OAL中断处理函数的框架 (252)
7.5.10 创建OAL实时时钟函数的框架 (252)
7.5.11 创建OEMIoControl函数的框架 (253)
7.5.12 创建OEMAddressTable (253)
7.5.13 创建内核可执行映像 (254)
7.5.14 实现OEMCacheRangeFlush函数 (254)
7.5.15 创建内核配置文件 (255)
7.5.16 创建Cesysgen文件夹 (255)
7.5.17 创建Dirs文件 (255)
7.5.18 创建Nk.bin映像 (255)
7.5.19 实现串口调试函数 (255)
7.5.20 再次创建Nk.bin映像 (256)
7.5.21 实现OEMInit函数 (256)
7.5.22 实现中断相关的函数 (256)
7.5.23 实现电源管理函数 (259)
7.5.24 三次创建Nk.bin映像 (266)
7.5.25 为OEMInit添加KITL初始化代码 (266)
7.5.26 为运行时映像添加目标控制Shell (266)
7.5.27 四次创建Nk.bin映像 (266)
7.5.28 实现RTC函数 (266)
7.5.29 定制内存的用法 (266)
7.5.30 实现OEMIoControl函数 (267)
7.6 创建OAL和内核 (267)
本章小结 (268)
第8章 Windows CE的驱动程序 (270)
8.1 驱动程序的分类 (270)
8.1.1 驱动程序的概念 (270)
8.1.2 内建的驱动程序与可安装的驱动程序 (270)
8.1.3 分层的驱动程序与不分层的驱动程序 (271)
8.1.4 本地驱动程序与流接口驱动程序 (272)
8.2 驱动程序源代码 (274)
8.3 设备管理器 (274)
8.4 驱动程序的资源 (275)
8.4.1 资源管理器 (275)
8.4.2 设备驱动的中断处理和IST模型 (276)
8.4.3 设备驱动程序的内存管理 (281)
8.5 驱动程序的加载机制 (286)
8.5.1 驱动程序的加载过程 (286)
8.5.2 ActivateDeviceEx (287)
8.5.3 总线枚举器 (287)
8.6 总线驱动 (290)
8.6.1 Bus Agnostic驱动 (291)
8.6.2 PCI总线驱动 (293)
8.6.3 PC Card总线驱动 (295)
8.7 流接口设备驱动 (296)
8.7.1 流接口设备驱动的架构 (296)
8.7.2 流接口驱动的实现 (296)
8.7.3 流接口函数 (297)
8.8 驱动程序的电源管理 (302)
8.8.1 电源管理的架构 (302)
8.8.2 电源状态 (303)
8.8.3 电源管理接口 (304)
8.8.4 在驱动程序中添加电源管理 (305)
8.9 CEDDK (306)
8.9.1 地址映射函数 (306)
8.9.2 总线访问函数 (307)
8.9.3 DMA函数 (307)
8.9.4 I/O操作函数 (308)
8.10 驱动程序实例分析 (308)
8.10.1 源代码分析工具 (309)
8.10.2 ES1371声卡的驱动程序架构 (309)
8.10.3 ES1371声卡驱动程序分析 (310)
8.10.4 ES1371声卡驱动程序注册表设置 (317)
8.10.5 ES1371声卡驱动程序的sources文件 (318)
8.11 USB设备驱动程序 (319)
8.11.1 USB系统的架构 (319)
8.11.2 USB设备驱动程序的结构 (321)
8.11.3 USB设备驱动程序分析 (322)
8.12 USB设备驱动程序开发实例 (331)
8.12.1 获取USB设备信息 (332)
8.12.2 创建一个操作系统设计平台 (332)
8.12.3 创建驱动程序框架 (333)
8.12.4 编写驱动程序代码 (336)
本章小结 (358)
第四篇 Windows CE应用程序开发
第9章 定制Windows CE Shell (361)
9.1 可定制的Windows CE Shell (361)
9.1.1 什么是Shell (361)
9.1.2 Shell模块和组件 (361)
9.2 Windows CE提供的Shell选项 (362)
9.2.1 命令行Shell (363)
9.2.2 标准Shell (363)
9.2.3 Windows瘦客户端Shell (364)
9.2.4 任务管理器例Shell (366)
9.3 Shell定制开发的选项 (367)
9.3.1 应用程序作为Shell (367)
9.3.2 浏览器作为Shell (367)
9.4 必要的Shell功能 (367)
9.4.1 Shell应用程序 (368)
9.4.2 桌面窗口 (368)
9.4.3 任务条窗口 (368)
9.4.4 任务相关的消息处理器 (369)
9.5 Shell组件 (370)
9.5.1 Shell相关的API (370)
9.5.2 常用对话框和常用控件 (371)
9.5.3 控制面板 (371)
9.6 安装运行一个定制的Shell (372)
9.7 处理用户界面的旋转 (373)
9.7.1 创建一个操作系统设计 (373)
9.7.2 修改注册表设置 (373)
9.7.3 创建屏幕旋转应用程序 (374)
9.7.4 创建并下载操作系统运行时映像 (376)
9.7.5 运行屏幕旋转应用程序测试屏幕旋转 (377)
9.8 定制用户界面 (377)
9.8.1 创建一个皮肤 (377)
9.8.2 可以被换肤的用户界面元素 (378)
9.8.3 附加的用户界面定制选项 (379)
9.9 Shell定制实例：IEShell (382)
9.9.1 创建一个MyShell操作系统设计 (382)
9.9.2 创建、下载并测试操作系统运行时映像 (382)
9.9.3 创建并测试IEShell应用程序 (382)
9.9.4 设置IEShell为目标设备的Shell (384)
本章小结 (386)
第10章 智能设备应用程序开发 (387)
10.1 本地应用程序与可托管应用程序 (387)
10.2 本地应用程序开发 (387)
10.2.1 从Platform Builder导出SDK (387)
10.2.2 安装SDK (391)
10.3 Windows CE下的Win32编程 (393)
10.3.1 Unicode (393)
10.3.2 Unicode转换 (394)
10.3.3 字符串输出 (395)
10.3.4 文件I/O (396)
10.4 eMbedded Visual C++应用程序开发 (396)
10.4.1 探索eMbedded Visual C++ 4.0 (396)
10.4.2 在模拟器上开发调试 (398)
10.4.3 eVC与Platform Builder的联合开发调试 (403)
10.5 .NET Compact Framework应用程序开发 (406)
10.5.1 智能设备应用程序开发 (406)
10.5.2 添加目标设备对.NET的支持 (408)
10.5.3 创建一个C#智能设备应用程序 (409)
10.5.4 在模拟器上部署Windows CE应用程序 (411)
10.5.5 在目标设备上部署智能设备应用程序 (412)
10.6 Pocket PC应用程序开发 (414)
10.6.1 创建一个简单的Pocket PC应用程序 (414)
10.6.2 在模拟器上部署Pocket PC应用程序 (416)
10.6.3 在Pocket PC设备上部署Pocket PC应用程序 (416)
10.7 Smartphone应用程序开发 (418)
10.8 在Windows CE设备上运行Pocket PC应用程序 (420)
本章小结 (421)
第11章 SQL Server CE应用程序开发 (422)
11.1 SQL Server CE简介 (422)
11.1.1 SQL Server CE的客户端-服务器环境 (422)
11.1.2 SQL Server CE的开发环境 (424)
11.2 安装和配置SQL Server CE开发环境 (425)
11.2.1 SQL Server CE安装概述 (425)
11.2.2 安装SQL Server 2000 (426)
11.2.3 安装IIS (426)
11.2.4 安装SQL Server CE 2.0 (427)
11.2.5 配置IIS服务对SQL Server CE 2.0的支持 (429)
11.3 编制远程数据库复制应用程序 (431)
11.3.1 创建SQL Server 2000数据库 (433)
11.3.2 创建SQLCECF数据库复制应用程序 (441)
11.3.3 部署并测试SQLCECF应用程序 (451)
11.3.4 SQL Server CE的数据库查询分析器 (452)
11.4 编制远程数据访问应用程序 (452)
11.4.1 RDA的架构 (453)
11.4.2 使用Pull方法 (454)
11.4.3 使用Push方法 (455)
11.4.4 使用SubmitSQL方法 (455)
本章小结 (456)
参考文献 (457)