第1章 GPIO和中断控制器 3
1.1 GPIO 3
1.1.1 GPIO操作(GPIO operation) 3
1.1.2 GPIO附加功能(Alternate Function ) 3
第一部分 Intel Xscale芯片应用详解 3
1.1.3 GPIO寄存器定义 8
1.2 中断控制器 11
1.2.1 中断控制器操作 11
1.2.2中断控制器寄存器定义 12
第2章 系统时钟 18
2.1 实时时钟RTC 18
2.1.1 实时时钟的运行原理 19
2.1.2 RTC精确调整寄存器(RTTR) 19
2.1.3 RTC闹钟寄存器(RTAR) 20
2.1.5 RTC Status Register(RTSR) 21
2.1.4 RTC Counter Register(RCNR) 21
2.1.6 时间的修正 22
2.1.7 时间计算举例 23
2.2 OS时钟控制器 23
2.2.1 OS时钟匹配寄存器0~3(OSMRx) 24
2.2.2 OS时钟中断使能寄存器(OIER) 24
2.2.3 OS时钟看门狗使能寄存器(OWER) 25
2.2.4 OS时钟计数寄存器(OSCR) 25
2.2.5 OS时钟状态寄存器(OSSR) 26
2.3 PWM输出 26
2.3.1 PWM的运行原理 27
2.3.2 PWM控制寄存器(PWM CTRLn) 28
2.3.3 PWM占空比寄存器(PWM DUTYn) 29
2.3.4 PWM Period Control Register(PWM PERVALn) 29
2.3.5 PWM输出举例 30
第3章 存储控制器 31
3.1 DMA控制器(DMA Controller,DMAC) 31
3.1.1 DMAC通道 32
3.1.2 DMA信号 32
3.1.3 DMA通道优先级模型 32
3.1.4 DMA描述符 33
3.1.5 DMA通道状态 35
3.1.6读写顺序 35
3.1.7字节传输顺序 35
3.1.8传输数据 36
3.1.9 DMA控制寄存器一览 38
3.2存储控制器 42
3.2.1 SDRAM接口 43
3.2.3 内存配置寄存器 44
3.2.2 静态内存接口 44
3.3存储器管理单元(MMU)和高速缓存(Cache) 45
3.3.1 存储器管理单元(MMU) 45
3.3.2 高速缓存(Cache) 45
第4章 外设控制器 47
4.1 LCD控制器 47
4.1.1概述 47
4.1.2 LCD控制器寄存器 49
4.1.3 LCD控制器的操作 53
4.2 12S控制器 56
4.2.1 概要 56
4.2.2信号描述 57
4.2.3控制操作 58
4.2.4 串行数据时钟和采样频率 59
4.2.5数据格式 60
4.2.6寄存器列表 60
4.3UART控制器 61
4.3.1接口信号描述 62
4.3.2 UART操作方式 62
4.3.3启动UART 62
4.3.4.内部寄存器描述 63
4.4快速红外端口(FICP)控制器 66
4.4.1信号描述 66
4.4.2 FICP操作 66
4.4.3 FICP寄存器 71
4.5 USB设备控制器(USB Device Controller,UDC) 71
4.5.1概要 71
4.5.2设备配置 72
4.5.3 UDC硬件连接 73
4.5.4 UDC操作 74
4.5.5 UDC寄存器一览 79
4.6 AC'97控制器 81
4.6.1概要 81
4.6.2功能列表 81
4.6.3信号描述 82
4.6.4 AC-link数字串行接口协议 82
4.6.5 AC-link低功耗模式 84
4.6.6 AC-link的唤醒 85
4.6.7 ACUNIT操作 86
4.6.8时钟和采样频率 87
4.6.9功能描述 88
4.7时钟和电源管理功能 89
4.7.1时钟管理器介绍 89
4.7.2电源管理器介绍 89
4.7.3 电源模式 90
4.7.5 33MHz空闲模式 91
4.7.4空闲模式 91
4.7.6睡眠模式 93
4.7.7电源模式总结 94
4.7.8电源管理寄存器 96
4.7.9时钟寄存器一览 96
第二部分 WindoWS CE内核定制和驱动开发 99
第5章 Windows CE操作系统简介 99
5.1嵌入式系统 99
5.2嵌入式操作系统 99
5.3 Windows CE发展历史 100
5.4 Windows CE的主要功能 101
5.5 Windows CE的实时性能 102
5.6.2移动通信领域 103
5.6.3工业控制领域 103
5.6.1 PDA领域 103
5.6 Windows CE的应用领域 103
第6章 开发平台(Platform Builder和Embedded Visual C++)简介 104
6.1 Platform Builder介绍 104
6.2 Platform Builder的安装 106
6.3 Windows CE系统的目录结构 108
6.3.1 Public目录 109
6.3.3 Platform目录 110
6.3.2 Private目录 110
6.3.4 SDK目录和Others目录 111
6.4 Embedded Visual C++(EVC)介绍 111
6.5 Embedded Visual C++的安装 111
6.6如何添加BSP 113
6.7如何定制平台 114
6.8生成操作系统镜像 118
6.9 Windows CE.NET编译的内部结构和步骤 120
6.10调试仿真(EMULATOR)操作系统镜像 123
6.11 导出SDK 126
6.12标准SDK简介 127
第7章 Windows CE体系结构 128
7.1层次式架构 128
7.2 内核模块 131
7.2.1Windows CE中的中断体系结构 131
7.2.2 Windows CE中的进程 133
7.2.3进程间通信 142
7.3文件系统概览 149
7.4 GWES模块 153
7.4.1 用户输入系统(User Input System) 154
7.4.2 图形设备接口GDI 157
7.4.3显示驱动程序接口 159
7.5内存管理 160
7.5.1 易失性和非易失性存储器 161
7.5.2物理内存与虚拟内存概述 162
7.5.3虚拟内存的管理和访问 163
7.5.4物理内存的组织结构和访问 165
7.5.5进程地址空间结构 169
7.5.6堆和栈 169
7.5.7分页机制 170
7.5.8深入VirtualAlloc内部 171
7.5.9动态链接库的加载分析 173
7.5.10 内存相关的数据结构 180
7.6 Windows CE服务 183
7.7 Windows CE设备管理 184
7.8 Windows CE注册表 185
7.8.1为设备选择注册表 186
7.8.2基于RAM的注册表 186
7.8.3基于Hive的注册表 189
7.9电源管理 192
7.9.1 电源状态等级 193
7.9.2支持电源管理的驱动程序 194
7.9.3驱动程序电源管理API 194
7.9.4电源状态的转变 195
7.9.5应用程序电源管理API 195
第8章 调试与仿真 198
8.1模拟器 200
8.1.1模拟器的架构 200
8.1.2 Platform Manager 201
8.1.3 EVC++中的模拟器 202
8.1.4 Platform Builder中的模拟器 204
8.2远程性能评测程序 204
8.2.1 Platform Builder中的性能评测程序 204
8.3远程文件浏览程序(Remote File Viewer) 215
8.2.2 EVC中的性能评测程序 215
8.4远程堆查看程序 216
8.5远程内核跟踪程序(Remote Kernel Tracker) 217
8.6远程性能监视程序(Remote Performance Monitor) 219
8.7远程进程浏览程序 221
8.8远程注册表编辑程序 222
8.9远程桌面截取程序 222
8.10远程系统信息监控程序 223
8.11 远程消息监视程序 224
8.12 CEPC的探讨 224
第9章 Windows CE BSP及驱动程序结构分析 227
9.1 Windows CE驱动程序结构概述 227
9.1.1 本机设备驱动程序 229
9.1.2流接口驱动程序的结构 229
9.1.3流驱动程序入口的实现 230
9.1.4加载设备驱动所需要的接口 236
9.1.5 实现自己的流驱动程序 237
9.1.7注册表自举 239
9.1.6设备文件名 239
9.1.8服务与设备的比较 241
9.2 启动程序BootLoader的分析 246
9.2.1 什么是BootLoader 246
9.2.2 Boot Loader和主机之间文件传输的通信协议 247
9.2.3 BootLoader选项 247
9.2.4 实现一个BootLoader 250
9.2.5 Windows CE标准BootLoader的需求 262
9.2.6 编译BootLoader程序 263
10.1.1介绍 264
10.1.3数据结构 264
10.1.2注册表设置 264
10.1 TouchScreen驱动分析 264
第10章 案例分析 264
10.1.4驱动例程 265
10.2显示驱动分析 267
10.2.1 Windows CE DirectDraw架构 267
10.2.2如何创建DirectDraw显示驱动程序 268
10.2.3 DDGPE基类 268
10.3 USB驱动分析 270
10.3.1 Windows CE系统中USB设备的传输类型 270
10.3.2 Window CE流驱动程序应具有的导出函数 271
10.3.3设备描述符及设备配置 272
10.3.4 实现传输类型的函数接口 273
10.3.5驱动程序的测试 274
10.4 PowerButton驱动 278
10.5.1 功能介绍 280
10.5.2数据结构 280
10.5 电池驱动 280
10.5.3 注册表设置 281
10.5.4 Batterv Driver例程 282
10.5.5 PDD调用 283
10.6音频驱动 285
10.6.1主要数据结构 287
10.6.2主要接口函数 287
10.6.3输入消息 287
10.6.4输出消息 288
10.6.5 PDD 函数 288
10.6.6 WPDM消息 289
第11章 Windows CE数据库程序开发 290
11.1 SQL Server CE文件 290
11.2 SQL Server CE语法 291
11.3 SQL Server CE Query Analyzer 292
11.4创建一个SQL Server CE数据库 293
11.5 组装一个SQL Server CE数据库 294
11.6接收和显示数据 297
11.7 更新一个SQL ServerCE数据库 304
附录ARM体系结构和指令集 306
A.1 ARM公司及ARM技术简介 306
A.2 市场应用程度及发展趋势 307
A.3 ARM体系结构的版本和命名方法 307
A.3.1 ARM/Thumb体系版本及其命名格式 307
A.3.2 ARM公司处理器内核系列 308
A.3.3 Intel公司兼容改进序列 311
A.4 ARM编程模型 314
A.4.1 ARM处理器模式 314
A.4.2 ARM寄存器介绍 315
A.4.3 ARM异常系统 319
A.4.4 ARM指令集 320