《Windows CE.Net程序设计》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:姜波编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2007
  • ISBN:7111201213
  • 页数:383 页
图书介绍:本书是一本Windows CE嵌入式开发的入门教程。本书主要分为三个部分:第一部分主要介绍初级Windows CE程序设计。包括Windows CE的特点、系统结构、开发环境、内存管理、进程线程、文件系统和注册表管理、基本图形绘制函数和系统输入的基本方式;第二部分主要介绍高级Windows CE程序设计。包括Windows CE下驱动程序的组成、流驱动开发、总线结构、键盘驱动程序设计和触摸屏原理;第三部分为开发实例,包括Windows CE内核的定制过程等。

专家指导委员会 1

前言 1

第一部分 初级Windows CE .Net程序设计第1章 嵌入式系统简介 1

1.1 什么是嵌入式系统 1

1.1.1 嵌入式系统的特点 2

1.1.2 嵌入式系统软件的特点 2

1.1.3 嵌入式系统的分类 3

1.2 嵌入式系统的组成 4

1.2.1 嵌入式系统处理器的分类 4

1.2.2 嵌入式微处理器的主要系列 5

1.2.3 嵌入式系统的存储器 9

1.2.4 嵌入式系统的输入方式 10

1.3 嵌入式系统的应用领域 12

1.3.1 在消费类电子产品中的应用 12

1.3.2 在工业控制领域的应用 13

1.3.3 在通信领域的应用 13

1.3.4 在机器人、办公等其他领域的应用 14

1.4 几种常见的嵌入式操作系统 15

1.4.1 嵌入式操作系统的分类 15

1.4.2 Windows CE 16

1.4.3 Symbian 17

1.4.4 Palm OS 18

1.4.5 嵌入式Linux 21

1.4.6 VxWorks 22

第2章 Windows CE .Net简介 26

2.1 Windows CE的发展历史 26

2.2 Windows CE功能简介 27

2.2.1 Windows CE的电源管理功能 28

2.2.2 Windows CE的多任务功能 28

2.2.3 Windows CE的图形界面 28

2.2.5 Windows CE的多媒体和扩展功能 29

2.2.4 Windows CE的通信能力 29

2.2.6 Windows CE的实时功能 30

2.3 Windows CE .Net的体系结构 30

2.3.1 Windows CE .Net的层次架构 30

2.3.2 内核模块 31

2.3.3 文件系统 32

2.3.4 网络与通信模块 32

2.3.5 GWES模块 33

2.4 Windows CE的应用领域 34

2.4.1 Windows CE在移动计算领域的应用 34

2.4.2 Windows CE在嵌入式领域的应用 37

第3章 Windows CE .Net开发基础 38

3.1 Windows CE .Net的启动过程 38

3.1.1 系统复位 38

3.1.2 运行KernelStart 38

3.1.3 运行FileSys.exe 39

3.1.4 运行可选择的进程 39

3.1.5 运行shell.exe和device.exe 41

3.1.6 运行gwes.exe 42

3.1.8 运行Explorer.exe进程 43

3.1.7 运行自定义进程 43

3.2 Windows CE设备的电源特性 44

3.3 Windows CE .Net程序开发环境 44

3.3.1 Platform Builder 45

3.3.2 EVC和EVB 46

3.3.3 Visual Studio .Net 47

3.3.4 ActiveSync 48

3.3.5 模拟器 48

3.3.6 程序开发所需的硬件 50

3.4.1 Windows CE安装过程中应该注意的问题 52

3.4.2 目录解析 52

3.4 Windows CE .Net目录解析 52

第4章 Windows CE .Net开发工具简介 54

4.1 Platform Builder 54

4.1.1 Platform Builder简介 54

4.1.2 使用Platform Builder进行平台的定制 57

4.2 Embedded Visual C++ 62

4.2.1 Embedded Visual C++简介 62

4.2.2 Win32 API、MFC及ATL三种程序设计方式 65

4.2.3 在Embedded Visual C++中构建一个MFC程序 66

4.2.4 在构建好的MFC程序框架中添加消息 70

4.3 Visual Studio .Net 72

4.2.5 EVC在安装及使用过程中应该注意的问题 72

4.3.1 Visual Studio .Net 2003简介 73

4.3.2 使用Visual Studio .Net 2003构建Smart Device工程 74

第5章 Windows CE .Net中的内存管理 77

5.1 RAM和ROM 77

5.1.1 RAM 77

5.1.2 ROM 78

5.1.3 RAM和ROM在实际设备中的体现 78

5.2 虚存 80

5.2.1 Windows CE .Net中的虚拟内存结构 80

5.2.2 Windows CE .Net中的分页式虚拟存储 81

5.3.1 Windows CE中堆的特性 85

5.3 堆 85

5.3.2 本地堆 86

5.3.3 独立堆 87

5.4 栈 89

5.5 静态数据块 89

5.6 Windows CE下的Bootloader 90

5.6.1 Bootloader简介 90

5.6.2 Bootloader的主要功能 91

5.6.3 Bootloader的结构 91

6.1.1 进程概述 93

6.1 Windows CE .Net中的进程 93

第6章 Windows CE .Net中的进程和线程 93

6.1.2 创建进程 94

6.1.3 终止进程 96

6.1.4 其他相关函数 97

6.2 Windows CE Net中的线程 98

6.2.1 线程概述 98

6.2.2 创建线程 100

6.2.3 设置线程的优先级 101

6.2.4 查询线程的优先级别 101

6.3 进程间通信 102

6.2.5 设置线程的时间片 102

6.2.6 挂起和恢复一个线程 102

6 3.1 事件对象 103

6.3.2 线程等待 104

6.3.3 信号量 105

6.3 4 互斥 106

6.3.5 互锁函数 107

6 3.6 临界区 108

7.1 Windows CE .Net文件系统 110

7.1.1 文件系统概述 110

第7章 Windows CE .Net中的文件系统和注册表管理 110

7.1.2 对象存储 111

7.1.3 文件的输入输出 112

7.1.4 内存映射文件 117

7.1.5 文件管理 120

7.2 注册表 123

7.2.1 概述 123

7.2.2 相关API函数 124

第8章 Windows CE .Net中的屏幕绘制函数 128

8.1 Hello Windows CE 128

8.1.1 程序构建过程 128

8.2 文本显示相关的函数 133

8.1.2 代码添加 133

8.2.1 DrawText函数 134

8.2.2 ExtTextOut函数 134

8.2.3 文本的属性 135

8.2.4 SetBkColor函数 136

8.2.5 SetBkMode函数 136

8.3 字体 137

8.4 图形绘制 138

8.4.1 直线的绘制 138

8.4.2 画笔 139

8.4.4 矩形 140

8.4.3 刷子 140

8.4.5 圆 141

8.4.6 圆角矩形 142

8.5 使用Win32 API编程方式在Windows CE中显示文本 142

8.5.1 程序实例中涉及的框架函数 143

8.5.2 程序实例中涉及的文本显示函数 144

8.5.3 程序实例的运行效果 145

8.5.4 程序实例的完整代码 146

8.6 使用Win32 API编程方式在Windows CE中绘制图形 149

8.6.1 程序实例中涉及的主要函数 149

8.6.2 程序实例的运行效果 151

8.6.3 程序实例的完整代码 152

第9章 Windows CE .Net系统中的输入 155

9.1 概述 155

9.2 键盘输入 155

9.2.1 输入焦点 156

9.2 2 键盘消息 157

9.2.3 键盘测试 160

9.3 鼠标输入 160

9.4 Windows CE中的触摸屏 161

9.4.1 手写笔消息 161

9.4.3 关于输入焦点 162

9.4.2 电子墨水 162

9.4.4 右键单击 163

9.5 通过鼠标点击的方式进行屏幕绘制 164

9.5.1 程序实例中涉及的主要函数 164

9.5.2 程序实例的运行效果 165

9.5.3 程序实例的完整代码 166

9.6 在Windows CE中实现鼠标移动轨迹的绘制 170

9.6.1 程序实例中涉及的主要函数 170

9.6.2 程序实例的运行效果 172

9.6.3 程序实例的完整代码 172

10.1 中断基础知识 177

10.1.1 汇编语言与微处理器的体系结构 177

第二部分 高级Windows CE .Net程序设计第10章 Windows CE .Net中的中断处理 177

10.1.2 中断处理程序 180

10.1.3 保存和恢复上下文 181

10.1.4 中断禁止和中断延迟 182

10.1.5 共享数据问题的产生 183

10.1.6 共享数据问题的解决 186

10.2 Windows CE .Net中断的组成 186

10.2.1 中断服务例程ISR 187

10.2.2 中断服务线程IST 188

10.4 Windows CE .Net中断发生和处理的过程 189

10.3 Windows CE .Net中断处理机制的特点 189

10.5 Netarm2410-S设备中断简介 191

第11章 Windows CE .Net中的驱动程序 194

11.1 Windows CE .Net的驱动程序模型 194

11.1.1 什么是驱动程序 194

11.1.2 本机驱动程序 195

11.1.3 流接口驱动程序 195

11.1.4 Windows CE .Net中的驱动程序接口 196

11.2 驱动程序的组成 196

11.2.3 单体/分层驱动程序在Windows CE .Net中的集成 197

11.2.2 分层驱动程序 197

11.2.1 单体驱动程序 197

11.3 Windows CE .Net中的类型驱动程序 199

11.4 Windows CE简单驱动开发实例 199

11.4.1 原理及说明 199

11.4.2 步骤1:建立模拟器工具 201

11.4.3 步骤2:创建驱动程序工程 201

11.4.4 步骤3:编写驱动程序代码 203

11.4.5 步骤4:准备配置文件 205

11.4.6 步骤5:编译内核 206

11.4.7 步骤6:加载驱动 208

12.1.1 什么是流接口驱动程序 209

第12章 Windows CE .Net中的流驱动开发和相关注册表项 209

12.1 流驱动程序简介 209

12.1.2 流接口驱动程序的系统结构 210

12.2 设备文件名 211

12.2.1 设备文件名的格式 211

12.2.2 设备文件名的前缀 211

12.2.3 设备文件名的索引 212

12.3 流驱动的标准接口 212

12.3.1 常用的接口函数 212

12.3.2 接口函数的函数原型 213

12.3.3 与应用程序之间的调用关系 215

12.3.4 文件操作和设备操作函数参数间的对应关系 216

12.3.5 单访问和多访问 218

12.4 样本流接口驱动程序 219

12.5 Windows CE .Net的注册表 219

12.5.1 Windows CE .Net注册表的结构 220

12.5.2 Windows CE .Net的常用键值类型 221

12.5.3 流驱动程序用到的注册表设置 221

12.5.4 在驱动程序中访问注册表 223

12.6.1 流接口驱动程序的加载 225

12.6 流接口驱动程序的加载和卸载 225

12.6.2 流接口驱动程序的卸载 226

12.7 ADC流驱动程序 226

12.7.1 A/D转换器简介 226

12.7.2 A/D转换器的重要指标 228

12.7.3 Arm自带的十位A/D转换器 229

12.7.4 ADC驱动程序设计 231

12.7.5 操作步骤 233

第13章 Windows CE .Net中的总线 235

13.1 总线概述 235

13.2.1 总线的分类 236

13.2 总线的分类和主要参数 236

13.2.2 总线的主要参数 237

13.3 内部集成(IIC)总线 237

13.3.1 内部集成(IIC)总线的特点 238

13.3.2 传输方式 238

13.3.3 内部集成总线(IIC)与硬件设备之间的数据交换 239

13.4 PCI总线 242

13.4.1 PCI总线的主体性能及特点 242

13.4.2 PCI总线的外设自动识别 243

13.4.3 Windows CE .Net中PCI总线驱动的作用 243

13.5.1 USB结构的特点 244

13.4.4 PCIBus. dll对PCI驱动的加载 244

13.5 USB总线 244

13.5.2 USB设备的结构 245

13.5.3 USB设备的传输类型 246

13.5.4 USB设备的软件设计 247

13.5.5 Windows CE .Net下USB系统的组成 247

13.5.6 Windows CE .Net下USB设备驱动程序的编写 247

第14章 Windows CE .Net下的PS/2键盘驱动程序设计 250

14.1 PS/2电气接口概述 250

14.2 键盘及键盘协议 251

14.2.1 键盘的扫描码集 251

14.3 键盘驱动程序的工作流程 252

14.2.2 虚拟键码 252

14.3.1 键盘驱动程序的主要接口 253

14.3.2 PDD层的开发 254

14.3.3 一个典型的IST工作过程 256

14.3.4 键盘驱动程序结构图 256

第15章 Windows CE .Net下的触摸屏 258

15.1 触摸屏概述 258

15.2 触摸屏的工作原理 258

15.3 电阻类触摸屏 259

15.3.1 触摸屏的导电涂层 259

15.4 触摸屏与Windows CE .Net系统 260

15.3.2 五线电阻触摸屏 260

15.4.1 触摸屏设置函数 261

15.4.2 触摸屏使能函数 261

15.4.3 坐标转换函数 262

15.4.4 采样坐标点函数 262

第三部分 开发实例 265

第16章 用Platform Builder进行内核定制 265

16.1 Platform Builder简介 265

16.1.1 Platform Builder的主要功能 265

16.1.2 Platform Builder的用户界面 266

16.1.3 定制嵌入式系统平台主要包括的内容 269

16.2.1 进入新建Platform向导 270

16.2.2 选择板级支持包 270

16.2 使用Platform Builder建立操作系统镜像 270

16.2.3 平台配置 272

16.2.4 自定义设备 273

16.2.5 选择程序开发的类库 275

16.2.6 选择应用程序 276

16.2.7 选择操作系统的核心服务 278

16.2.8 连接服务和网络服务 280

16.2.9 选择文件系统和数据存储方式 281

16.2.11 选择所支持的国家 282

16.2.10 字体的选择 282

16.2.12 选择客户端的Internet服务 284

16.2.13 多媒体技术的选择 284

16.2.14 安全设置 286

16.2.15 选择用户界面 287

16.2.16 提示信息 287

16.2.17 完成操作系统镜像的建立 288

16.3 使用Platform Builder生成操作系统镜像 288

16.4 把操作系统镜像下载到模拟器 292

17.1.1 EVC 4.0特性简介 295

17.1 Embedded Visual C++介绍 295

第17章 用Embedded Visual C++进行Windows CE程序设计 295

17.1.2 EVC中的模拟器 298

17.1.3 EVC中的远程调试工具 300

17.2 用EVC编写俄罗斯方块的步骤 304

17.2.1 MFC程序设计和Win32程序设计的不同 304

17.2.2 程序简介 305

17.2.3 工程的建立 306

17.2.4 代码的添加 310

17.3 游戏程序界面的设计 329

17.4.1 fangkuaiDlg. h代码注释 332

17.4 源代码解释 332

17.4.2 fangkuaiDlg. cpp代码注释 333

第18章 用Visual Studio进行Pocket PC程序设计 348

18.1 Pocket PC简介 348

18.1.1 PDA的发展历史 348

18.1.2 Palm OS操作系统 352

18.1.3 Windows CE操作系统 353

18.1.4 Symbian 354

18.1.5 Linux操作系统 354

18.2 Pocket PC的发展 355

18.2.1 硬件的发展趋势 355

18.2.3 I/O设备 356

18.2.2 图形控制器 356

18.2.4 智能设备的供电解决方案 358

18.2.5 网络技术的应用 359

18.3 Visual Studio .Net 2003简介 360

18.4 程序的构建过程 362

18.5 源代码的添加 364

18.6 源代码的注释 373

18.6.1 全局量的声明 373

18.6.2 相关按键和菜单的处理 374

18.6.4 游戏的初始化 375

18.6.5 游戏的重置 375

18.6.3 方块的下落 375

18.6.6 游戏开始 376

18.6.7 游戏的暂停和退出 376

18.6.8 进行游戏数据的加载 376

18.6.9 方块的加载 377

18.6.10 方块的放置 377

18.6.11 方块的旋转 378

18.6.12 方块的移动和落定函数 379

18.6.13 判断移除整行 379

18.6.14 分数和等级的设定 381

18.6.15 程序画面的实现 381