《ARM9嵌入式系统设计原理与开发实例》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:张晓伟,刘盼盼编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2008
  • ISBN:9787121073601
  • 页数:431 页
图书介绍:本书主要介绍了如何在ARM9开发板上进行嵌入式系统的设计。全书层次由浅入深、循序渐进,详细介绍了AT91系列微控制器的体系结构、ARM内核的指令集、汇编程序编写、软件编程的开发平台、操作系统移植等内容,同时介绍了控制器的片内资源,给出了具体的实用程序和设计实例。本书不仅有详细的理论基础知识介绍,还有大量的开发案例以供参考,学习性和实用性强。

第1章 ARM概述 1

1.1 ARM技术的发展 1

1.2 ARM微处理器概述 2

1.2.1 RISC体系结构 2

1.2.2 ARM微处理器的寄存器结构 4

1.2.3 ARM微处理器的指令结构 4

1.3 ARM微处理器系列 5

1.3.1 ARM7微处理器系列 5

1.3.2 ARM9微处理器系列 6

1.3.3 ARM9E微处理器系列 6

1.3.4 ARM10E微处理器系列 7

1.3.5 SecurCore微处理器系列 7

1.3.6 StrongARM微处理器 8

1.3.7 Xscale微处理器 8

1.4 ARM微处理器的应用选型 8

1.5本章小结 11

第2章 ARM920T编程模型 11

2.1 ARM920T内核 11

2.1.1 CPU核简介 12

2.1.2流水线结构 13

2.2 ARM微处理器的工作状态 14

2.3处理器工作模式 15

2.4寄存器组织 16

2.4.1通用寄存器 17

2.4.2程序状态寄存器 19

2.4.3 Thumb状态下的寄存器组织 21

2.5异常(EXCEPTIONS) 23

2.5.1 ARM体系结构所支持的异常类型 23

2.5.2对异常的响应 24

2.5.3从异常返回 25

2.5.4外中断IRQ异常举例 26

2.6 ARM存储器接口 27

2.7 ARM体系结构的缓存(CACHE) 29

2.7.1 Cache的结构 29

2.7.2 Cache的工作原理 29

2.8 ARM体系结构的存储器管理单元(MMU) 30

2.9 CP15协处理器 32

2.9.1寄存器RO和R 1 33

2.9.2转换表基地址寄存器 35

2.9.3域访问控制寄存器 35

2.9.4故障状态寄存器 36

2.9.5故障地址寄存器 36

2.9.6 Cache操作寄存器 36

2.9.7 TLB工作寄存器 36

2.10本章小结 36

第3章 ARM指令集和汇编程序设计 37

3.1 ARM指令的寻址方式 37

3.1.1立即寻址 37

3.1.2寄存器寻址 38

3.1.3寄存器偏移寻址 38

3.1.4寄存器间接寻址 39

3.1.5基址变址寻址 39

3.1.6相对寻址 40

3.1.7多寄存器寻址 40

3.1.8堆栈寻址 41

3.1.9块复制寻址 42

3.2 ARM指令集概述 43

3.2.1 ARM指令的格式 43

3.2.2 ARM指令的分类 43

3.2.3 ARM指令的条件域 45

3.3 ARM指令集 45

3.3.1跳转指令 46

3.3.2数据处理指令 47

3.3.3乘法指令与乘加指令 48

3.3.4程序状态寄存器访问指令 49

3.3.5存储器访问指令 50

3.3.6数据交换指令 52

3.3.7移位指令 52

3.3.8异常产生指令 53

3.3.9协处理器指令 54

3.4 THUMB指令介绍 56

3.5 ARM汇编语言的伪指令与伪操作 58

3.5.1 ARM汇编语言的伪指令 58

3.5.2 ARM汇编语言的伪操作 63

3.6 ARM汇编程序设计 77

3.6.1 ARM汇编程序规范 78

3.6.2汇编语言程序设计 81

3.6.3汇编语言与C/C++语言的混合编程 87

3.7本章小结 92

第4章 基于ARM9的BOOT LOADER分析 93

4.1 BOOT LOADER概述 93

4.1.1 Boot Loader概念 94

4.1.2 Boot Loader位置 94

4.1.3 Boot Loader启动过程 94

4.2常用的BOOTLOADER 94

4.2.1 BLOB 94

4.2.2 Armboot 95

4.2.3 U-Boot 95

4.2.4总结 97

4.3 AT91RM9200处理器的启动过程 97

4.3.1硬件特点 97

4.3.2 AT91 RM9200处理器的启动过程 99

4.4 AT91RM9200汇编初始化程序BOOT LOADER 100

4.4.1 Boot Loader介绍 100

4.4.2 Boot Loader流程 101

4.5 BIOS FOR AT91RM9200分析 114

4.5.1通过串口下载文件 114

4.5.2 NOR Flash Boot Loader的在线升级 121

4.6 BOOT LOADER烧写和启动完整示例 124

4.7 U-BOOT的移植 125

4.7.1 U-Boot的主要目录结构 125

4.7.2 U-Boot支持的主要功能 126

4.7.3 U-Boot移植过程 126

4.7.4 Loader移植要点 127

4.7.5 Boot移植要点 128

4.7.6 U-Boot移植要点 128

4.7.7调试 129

4.8本章小结 129

第5章 AT91系列微控制器的片内资源 131

5.1 AT91 RM9200处理器简介 131

5.1.1 AT91RM9200处理器内核 131

5.1.2 AT91RM9200处理器外设 132

5.2 AT91 RM9200处理器特性 135

5.2.1 ARM920T处理器 135

5.2.2调试与测试 135

5.2.3引导程序 135

5.2.4嵌入式软件服务 136

5.2.5复位控制器 136

5.2.6存储控制器 136

5.2.7外部总线接口 136

5.2.8静态存储控制器 137

5.2.9 SDRAM控制器 137

5.2.10 Burst Flash控制器 137

5.2.11外设数据控制器 137

5.2.12中断控制器 138

5.2.13电源管理控制器 138

5.2.14系统定时器 138

5.2.15 实时时钟 138

5.2.16调试单元 139

5.2.17 PIO控制器 139

5.2.18 USB主机端口 139

5.2.19 USB器件端口 139

5.2.20以太网MAC 140

5.2.21串行外设接口 140

5.2.22两线接口 140

5.2.23 USART 140

5.2.24串行同步控制器 141

5.2.25定时/计数器 141

5.2.26多媒体卡接口 141

5.3本章小结 142

第6章 电源管理控制器 143

6.1功能介绍 143

6.1.1 PMC的主要特性 143

6.1.2工作模式定义 144

6.1.3时钟定义 144

6.1.4时钟发生器 145

6.1.5外围时钟 148

6.1.6用户接口 148

6.2程序示例 158

6.3本章小结 162

第7章 外部总线接口(EBI) 163

7.1功能介绍 163

7.1.1 EBI的主要特性 163

7.1.2外部存储器映射 165

7.1.3片选线 165

7.1.4数据总线宽度 165

7.1.5写访问 166

7.1.6写数据保持时间 167

7.1.7读访问 168

7.1.8等待状态 169

7.1.9存储器访问波形 171

7.1.10外部总线接口(EBI)用户接口 177

7.2程序示例 178

7.3本章小结 180

第8章 中断控制器 181

8.1功能介绍 181

8.1.1 AIC特性 181

8.1.2中断控制器(AIC)结构 182

8.1.3中断源 183

8.1.4向量化中断 184

8.1.5中断控制 185

8.1.6快速中断 188

8.1.7伪中断 190

8.1.8保护模式下的中断 190

8.1.9中断处理 192

8.1.10标准中断步骤 193

8.1.11快速中断步骤 194

8.2程序示例 195

8.3本章小结 199

第9章 并行口和串行口 201

9.1并行口 201

9.1.1 I/O口线复用 202

9.1.2输出选择 204

9.1.3 I/O电平 206

9.1.4输入毛刺滤波 207

9.1.5 I/O中断 208

9.1.6并行输入/输出控制器(PIO)用户接口 210

9.1.7 1/O线编程示例 212

9.2串行口 213

9.2.1串行口结构 213

9.2.2波特率发生器 215

9.2.3接收器 219

9.2.4发送器 226

9.2.5 BREAK 228

9.2.6串行口中断 229

9.2.7通道模式 232

9.3串行外围接口(SPI) 233

9.3.1串行外围接口结构 233

9.3.2主模式 235

9.3.3从模式 245

9.3.4数据传送 245

9.3.5中断控制 247

9.4本章小结 248

第10章 定时器 249

10.1定时器/计数器(TC) 249

10.1.1定时器/计数器结构 250

10.1.2 16位计数器 253

10.1.3时钟选择 255

10.1.4时钟控制 257

10.1.5 TC工作模式 257

10.1.6触发类型 258

10.1.7捕获模式 259

10.1.8波形工作模式 262

10.1.9中断控制 268

10.2系统定时器(ST) 271

10.3实时控制器(RTC) 278

10.3.1 RTC结构 279

10.3.2 2000年一致性 280

10.3.3功能描述 280

10.3.4计时 280

10.3.5闹钟 280

10.3.6错误检查 283

10.3.7更新时间/日历 284

10.3.8中断控制 286

10.4本章小结 288

第11章 ATMEL系列ARM开发实例 289

11.1 AT91评估板 289

11.1.1概述 289

11.1.2评估板设置 291

11.1.3评估板软件 291

11.1.4评估板上的元器件 293

11.2 AT91集成函数库 295

11.2.1 AT91库的定义规则 295

11.2.2 AT91库的层次结构 297

11.2.3 AT91库的使用 300

11.3 AT91内部资源的库函数编程 306

11.3.1并行口编程 306

11.3.2串行口编程 308

11.3.3定时器/计数器编程 313

11.3.4 A/D转化器编程 317

11.3.5 D/A转换器编程 321

11.3.6先进中断控制器编程 325

11.3.7实时时钟计数器编程 327

11.4 AT91函数库 331

11.4.1省电模块 331

11.4.2 SPI接口 334

11.4.3 EBI接口 334

11.4.4 I2 C接口 335

11.5本章小结 336

第12章 ARM开发及调试 337

12.1 ARM开发工具 337

12.1.1 ARM开发工具综述 337

12.1.2 ARM SDT 339

12.1.3 ARM ADS 341

12.1.4 MULTI2000 344

12.1.5 Nucleus UDB 345

12.1.6 visionCLICK/visionXD 346

12.1.7 Hitool for ARM 347

12.1.8 Embest IDE 348

12.1.9 BDIl000/BDI2000 348

12.1.10 Multi-ICE 349

12.1.11 JEENI仿真器 350

12.1.12 TRACE32-ICD 351

12.1.13 visionPROBE/visionICE H 351

12.2 HITOOL FOR ARM开发系统 352

12.2.1 ARM的开发方案 352

12.2.2 Hitool for ARM软件产品特征 354

12.2.3 Hitool for ARM功能及使用 355

12.3嵌入式系统开发流程 360

12.4 ANGEL调试监控程序 363

12.4.1 Angel概述 363

12.4.2 Angel系统的组成 366

12.4.3 Angel系统资源需求 368

12.4.4 Angel操作 368

12.4.5 Angel接口 370

12.4.6 Angel的通信结构 371

12.4.7 Angel调试协定 372

12.5启动代码 374

第13章 AT91微控制器开发平台 383

13.1 MICETEK的AT91微控制器开发平台 383

13.1.1 EV40评估板的组成 384

13.1.2评估板的各模块功能介绍 385

13.1.3片选信号设置及外围地址空间分配 388

13.1.4以太网接口程序设计 390

13.2 BMR的AT91微控制器开发平台 391

13.2.1 NetCARM77的结构 391

13.2.2开发套件特点 392

13.2.3 NerCARM7开发板硬件资源 393

13.2.4系统软件的移植 395

13.3本章小结 397

附录A映像文件的组成和执行机理 399

A.1 ARM的映像文件介绍 399

A.2 ARM的映像文件的加载域和运行时域 400

附录B X-Modem协议 403

B.1 X-Modem协议简介 403

B.2 X-Modem协议术语描述 403

B.3 数据帧格式与文件分解 403

B.4 X-Modem协议的启动 404

B.5 X-Modem的正常传输过程 405

附录C AT91库函数说明 407

C.l并行I/O接口 407

C.2串行口USART 408

C.3定时器/计数器 412

C.4 A/D转换器 414

C.5 D/A转换器 416

C.6先进中断控制器 417

C.7实时时钟计数器 419

C.8省电模块 426

C.9 SPI接口 427

C.10 EBI接口 428

C.11 12C接口 428