《基于ARM的嵌入式Windows CE系统高级开发技术》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:李尚柏主编
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2011
  • ISBN:7302265016
  • 页数:450 页
图书介绍:

第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.2M41ST95实时时钟芯片简介 373

11.2.1M41ST95的SPI总线接口 373

11.2.2M41ST95的内部寄存器 375

11.3EP9315的SPI接口 377

11.3.1SPI接口寄存器 377

11.3.2SPI的工作过程 380

11.4M41ST95与EP9315的硬件、软件接口 381

11.4.1硬件接口 381

11.4.2EP9315SPI接口的初始化 382

11.4.3M41ST95的初始化 384

11.4.4M41ST95的多寄存器读写 387

11.5WindowsCE下实时时钟的内核实现 389

11.5.1WindowsCE的时钟系统及其用户接口 390

11.5.2WindowsCE实时时钟的内核实现 392

11.5.3WindowsCE实时时钟的实现步骤 394

11.5.4修改内核代码应注意的问题 397

11.6本章小结 398

11.7复习与思考 398

第12章应用实例——引导程序的修改和扩展 399

12.1概述 399

12.2EP9315的SDRAM控制器 400

12.3SDRAM接口及地址映射 403

12.3.1SDRAM存储器电路及寻址方式 403

12.3.24BankX13RowX9Co1SDRAM的地址映射 405

12.3.34BankX13RowXI0ColSDRAM的地址映射 406

12.4SDRAM的初始化 407

12.4.1SDRAM的模式寄存器 407

12.4.2SDRAM的初始化 408

12.5ARM处理器的内存管理部件MMU 412

12.5.1存储器管理部件 412

12.5.2虚拟地址到物理地址的变换 413

12.5.3内存访问过程 419

12.5.4地址映射表的程序实现 420

12.5.5SDRAM扩容后的地址映射表 426

12.6WindowsCE的存储器管理 427

12.6.1虚拟地址模型及其地址映射 427

12.6.2系统内存配置 431

12.6.3系统内存配置调整 434

12.7本章小结 435

12.8复习与思考 435

参考文献 436

附录AARM指令速查表 437

附录BThumb指令速查表 448