《基于ARM的嵌入式Windows CE系统高级开发技术》是2011年清华大学出版社出版的图书,作者是李尚柏、钟睿、粟思科。
基本介绍
- 书名:基于ARM的嵌入式Windows CE系统高级开发技术
- 作者:李尚柏、钟睿、粟思科
- ISBN:9787302265016
- 页数:450
- 出版社:清华大学出版社
- 出版时间:2011 年10月
- 开本:16
内容简介
《基于ARM的嵌入式Windows CE系统高级开发技术》是2011 年10月清华大学出版社出版的图书,作者是李尚柏、钟睿、粟思科。
嵌入式系统涉及嵌入式硬体设备、嵌入式作业系统和嵌入式套用软体等多种技术和概念。本书从嵌入式系统设计和套用开发的角度,系统、全面、详细地介绍了基于windows ce的嵌入式系统的设计原理、开发步骤和高级套用开发技术。全书共12章,分为3部分,第1~3章为基础和概念部分,介绍了嵌入式系统的基本概念、嵌入式微处理器及其主要的片内外设;第4~8章为windows ce操作部分,介绍了windows ce嵌入式作业系统的特性、体系结构、系统原理、设计方法、驱动程式开发以及应用程式开发;第9~12章为提高部分,在介绍基本原理、设计方法的基础上,为了加深读者对嵌入式系统基本概念和原理的理解,提高读者的设计水平,以套用实例分析的形式,重点讨论了嵌入式系统开发中常见但不易解决的技术难题,包括无作业系统的应用程式开发、windows ce中断驱动程式的开发、windows ce核心的修改和扩展以及嵌入式系统引导程式的修改和扩展等。
《基于arm的嵌入式windows ce系统高级开发技术》採用循序渐进、深入浅出、理论联繫实际的写作理念,既有理论分析,又有丰富生动的套用实例,使读者能够快速、全面地掌握嵌入式系统设计与开发中的基本技能。
《基于arm的嵌入式windows ce系统高级开发技术》採用循序渐进、深入浅出、理论联繫实际的写作理念,既有理论分析,又有丰富生动的套用实例,使读者能够快速、全面地掌握嵌入式系统设计与开发中的基本技能。
《基于arm的嵌入式windows ce系统高级开发技术》可作为从事嵌入式系统开发的工程技术人员的参考用书,也可作为高等院校电子工程、计算机、微电子、自动控制等相关专业本科生和研究生的教材。
图书目录
第1章 嵌入式系统概论 1
1.1 概述 1
1.2 嵌入式系统简介 1
1.3 嵌入式微处理器 2
1.3.1 arm嵌入式微处理器 3
1.3.2 其他类型的嵌入式微处理器 4
1.3.3 嵌入式微处理器的选型 4
1.4 嵌入式作业系统 6
1.4.1 嵌入式作业系统的特点 7
1.4.2 嵌入式作业系统分类 7
1.4.3 常见嵌入式作业系统简介 8
1.4.4 常用嵌入式作业系统特徵比较 9
1.5 本章小结 10
1.6 複习与思考 10
第2章 arm微处理器基础 11
2.1 概述 11
2.2 arm处理器简介 11
2.2.1 arm处理器结构特点 12
2.2.2 arm的版本 13
.2.2.3 arm结构的变体 14
2.2.4 常见arm型号简介 15
2.2.5 arm9tdmi核心 17
2.2.6 arm9流水线结构 18
2.3 arm微处理器的编程模型 19
2.3.1 数据类型 19
2.3.2 存储格式 20
2.3.3 存储器组成 21
2.3.4 工作状态 22
2.3.5 工作模式 22
2.3.6 arm暂存器 23
2.4 arm的中断与异常 26
2.4.1 arm异常种类 27
2.4.2 异常的回响与处理 28
2.4.3 异常优先权与异常向量 30
2.5 arm编程技术和套用实例 30
2.5.1 异常处理程式的安装 30
2.5.2 软体中断异常 33
2.5.3 内嵌式彙编的使用 39
2.6 本章小结 41
2.7 複习与思考 41
第3章 arm9核心处理器常用资源 42
3.1 概述 42
3.2 arm920t核心及其处理器简介 42
3.3 boot rom 45
3.3.1 boot rom地址映射 46
3.3.2 boot rom引导过程 46
3.3.3 启动状态硬体配置 48
3.4 系统控制器 49
3.4.1 系统的复位与启动 50
3.4.2 时钟控制 51
3.4.3 电源管理 53
3.5 向量中断控制器 53
3.5.1 中断优先权 54
3.5.2 中断源 54
3.5.3 关于中断的进一步讨论 56
3.6 lcd控制器 58
3.7 图形加速器 60
3.8 maverickcrunch数字协处理器 61
3.9 dma控制器 61
3.10 usb控制器 62
3.11 存储控制器 64
3.12 gpio 65
3.13 本章小结 66
3.14 複习与思考 67
第4章 windows ce作业系统 68
4.1 概述 68
4.2 windows ce作业系统简介 68
4.2.1 windows ce的版本和发展史 69
4.2.2 windows ce与windows xp embedded 69
4.3 windows ce系统特点 70
4.3.1 系统功能模组化 70
4.3.2 稳定的实时性支持 71
4.3.3 良好的兼容性和平台支持 72
4.3.4 丰富的多媒体支持 72
4.3.5 广泛的全球性支持 73
4.3.6 强大的开发平台支持 73
4.3.7 广阔的套用前景 73
4.4 windows ce开发概述 74
4.4.1 windows ce开发类型 74
4.4.2 windows ce开发流程 74
4.5 windows ce的开发工具 76
4.5.1 platform builder简介 76
4.5.2 evc简介 82
4.5.3 visual studio 84
4.5.4 windows ce标準sdk简介 85
4.6 远程访问工具 86
4.6.1 远程工具的连线 87
4.6.2 远程档案浏览工具 87
4.6.3 远程注册表编辑器 88
4.6.4 远程系统信息查看工具 89
4.6.5 远程测评工具 89
4.6.6 远程核心跟蹤工具 90
4.6.7 远程堆查看工具 91
4.6.8 远程进程浏览工具 91
4.6.9 远程讯息监视工具 92
4.7 本章小结 93
4.8 複习与思考 93
第5章 windows ce体系结构 94
5.1 概述 94
5.2 wince作业系统模型 95
5.2.1 硬体层 96
5.2.2 oem层 96
5.2.3 作业系统层 97
5.2.4 应用程式层 99
5.3 进程和执行绪 99
5.3.1 进程 99
5.3.2 执行绪 103
5.3.3 执行绪同步 109
5.3.4 进程间的通信 120
5.4 记忆体管理 123
5.4.1 rom与ram 123
5.4.2 物理记忆体与虚拟记忆体 124
5.4.3 记忆体的组织结构 125
5.4.4 进程地址空间结构 127
5.4.5 堆和栈 128
5.4.6 记忆体管理函式 130
5.5 档案管理与注册表 131
5.5.1 档案系统 131
5.5.2 wince档案i/o函式 132
5.5.3 对象存储 133
5.5.4 注册表 134
5.6 用户界面和图形子系统简介 140
5.6.1 图形系统 140
5.6.2 视窗系统 141
5.6.3 事件系统 141
5.7 套用实例:进程间的通信方法 144
5.7.1 剪贴簿 145
5.7.2 wm_copydata讯息 147
5.7.3 记忆体映射档案 149
5.7.4 点到点讯息伫列 152
5.8 本章小结 155
5.9 複习与思考 156
第6章 windows ce的核心定製 157
6.1 概述 157
6.2 板级支持包 157
6.2.1 bsp的基本概念 158
6.2.2 bsp包的内容 158
6.2.3 bsp的安装 159
6.3 windows ce核心定製 160
6.3.1 windows ce基本核心定製 160
6.3.2 核心的编译 171
6.3.3 核心下载 173
6.3.4 作业系统映像的调试 174
6.4 作业系统映像的配置档案 179
6.4.1 bib档案 180
6.4.2 reg档案 184
6.4.3 dat档案 184
6.4.4 db档案 185
6.5 sdk的生成与导出 186
6.6 核心定製範例 186
6.6.1 添加人机接口组件 186
6.6.2 存储设备支持 187
6.7 本章小结 188
6.8 複习与思考 188
第7章 windows ce驱动程式 189
7.1 概述 189
7.1.1 驱动开发的硬体基础 190
7.1.2 驱动开发前的必要準备 191
7.2 wince驱动程式 192
7.2.1 驱动程式分类 192
7.2.2 wince设备驱动概览 195
7.3 设备管理器 198
7.3.1 设备注册信息 199
7.3.2 设备命名 201
7.3.3 设备索引 201
7.3.4 设备管理api 202
7.3.5 驱动程式载入 202
7.4 驱动程式的资源 204
7.4.1 i/o资源管理器 204
7.4.2 中断处理 205
7.4.3 记忆体管理和使用 211
7.5 流接口设备驱动 217
7.5.1 流接口驱动的结构 217
7.5.2 流接口驱动的访问 223
7.5.3 流接口驱动的访问方式 225
7.6 pcmcia设备驱动程式剖析 225
7.6.1 wince的pcmcia卡设备驱动结构 226
7.6.2 ep9315的pcmcia汇流排接口 227
7.6.3 pcmcia卡设备驱动的实现 229
7.7 本章小结 244
7.8 複习与思考 244
第8章 windows ce应用程式开发 245
8.1 概述 245
8.2 wince mfc与标準桌面系统mfc的差异 245
8.2.1 完全支持的mfc类 246
8.2.2 不完全支持的mfc类 248
8.2.3 不支持的类 252
8.2.4 wince专用类 253
8.3 wince数据结构差异 254
8.3.1 支持的数据结构 254
8.3.2 不支持的数据结构 256
8.4 字元及字元串处理差异 256
8.4.1 ansi字元串和unicode字元串 257
8.4.2 字元串处理函式 257
8.4.3 ansi字元串与unicode字元串之间的转换 258
8.4.4 mfc类cstring对字元串的处理 260
8.5 网路编程 260
8.5.1 winsock网路编程接口 261
8.5.2 wince网路编程函式 262
8.5.3 udp编程 264
8.5.4 tcp编程 270
8.6 ftp编程 284
8.6.1 ftp伺服器注册表设定 285
8.6.2 ftp编程函式 286
8.6.3 ftp编程实例 287
8.7 资源共享编程 297
8.7.1 smb伺服器的注册表设定 297
8.7.2 资源共享编程函式 300
8.7.3 磁碟共享编程实例 301
8.8 本章小结 308
8.9 複习与思考 309
第9章 套用实例——无作业系统的应用程式开发 310
9.1 概述 310
9.2 ads开发环境简介 310
9.2.1 codewarrior 311
9.2.2 axd 312
9.2.3 multi-ice 313
9.3 ads应用程式开发 314
9.3.1 建立工程项目 314
9.3.2 产生源档案代码 316
9.3.3 编译项目 317
9.3.4 项目的软体调试 320
9.4 嵌入式系统引导程式 325
9.4.1 bootloader的任务和开发方式 325
9.4.2 ep9315开发板的启动配置 326
9.4.3 bootloader代码分析 327
9.5 无作业系统应用程式的生成和调试 334
9.5.1 无作业系统应用程式的生成 334
9.5.2 无作业系统应用程式的下载 337
9.5.3 无作业系统应用程式的引导和测试 337
9.5.4 应用程式中异常中断处理 339
9.6 本章小结 341
9.7 複习与思考 341
第10章 套用实例——windows ce中断驱动程式开发 342
10.1 概述 342
10.1.1 创建驱动程式工程 343
10.1.2 流驱动程式接口代码 345
10.1.3 模组定义档案(*.def档案) 347
10.1.4 驱动程式注册表 348
10.1.5 驱动程式的产生、载入和测试 348
10.1.6 应用程式接口测试 349
10.2 驱动程式中断的使用 350
10.2.1 windows ce逻辑中断 350
10.2.2 硬体中断到逻辑中断映射的实现 352
10.2.3 中断的安装 353
10.2.4 egpio中断的映射 355
10.2.5 egpio中断的安装 356
10.3 驱动程式中数据的输入和输出 358
10.3.1 驱动程式中物理记忆体的映射 358
10.3.2 驱动程式中记忆体的使用 359
10.3.3 在中断中获取设备的数据 361
10.3.4 应用程式从驱动中读取数据 362
10.3.5 从应用程式获取数据 362
10.4 驱动程式共享应用程式的地址空间 363
10.4.1 应用程式记忆体到驱动程式地址空间的映射 363
10.4.2 驱动程式中使用应用程式的地址空间 367
10.4.3 在驱动程式中向应用程式发讯息 369
10.4.4 在应用程式中回响驱动程式的讯息 370
10.5 本章小结 370
10.6 複习与思考 371
第11章 套用实例——核心驱动的修改和扩展 372
11.1 概述 372
11.2 m41st95实时时钟晶片简介 373
11.2.1 m41st95的spi汇流排接口 373
11.2.2 m41st95的内部暂存器 375
11.3 ep9315的spi接口 377
11.3.1 spi接口暂存器 377
11.3.2 spi的工作过程 380
11.4 m41st95与ep9315的硬体、软体接口 381
11.4.1 硬体接口 381
11.4.2 ep9315 spi接口的初始化 382
11.4.3 m41st95的初始化 384
11.4.4 m41st95的多暂存器读写 387
11.5 windows ce下实时时钟的核心实现 389
11.5.1 windows ce的时钟系统及其用户接口 390
11.5.2 windows ce实时时钟的核心实现 392
11.5.3 windows ce实时时钟的实现步骤 394
11.5.4 修改核心代码应注意的问题 397
11.6 本章小结 398
11.7 複习与思考 398
第12章 套用实例——引导程式的修改和扩展 399
12.1 概述 399
12.2 ep9315的sdram控制器 400
12.3 sdram接口及地址映射 403
12.3.1 sdram存储器电路及定址方式 403
12.3.2 4bank×13row×9col sdram的地址映射 405
12.3.3 4bank×13row×10col sdram的地址映射 406
12.4 sdram的初始化 407
12.4.1 sdram的模式暂存器 407
12.4.2 sdram的初始化 408
12.5 arm处理器的记忆体管理部件mmu 412
12.5.1 存储器管理部件 412
12.5.2 虚拟地址到物理地址的变换 413
12.5.3 记忆体访问过程 419
12.5.4 地址映射表的程式实现 420
12.5.5 sdram扩容后的地址映射表 426
12.6 windows ce的存储器管理 427
12.6.1 虚拟地址模型及其地址映射 427
12.6.2 系统记忆体配置 431
12.6.3 系统记忆体配置调整 434
12.7 本章小结 435
12.8 複习与思考 435
参考文献 436
附录a arm指令速查表 437
附录b thumb指令速查表 448