当前位置:首页 > 工业技术
嵌入式系统基础=ARM与Realview MDK(Keil for ARM)
嵌入式系统基础=ARM与Realview MDK(Keil for ARM)

嵌入式系统基础=ARM与Realview MDK(Keil for ARM)PDF电子书下载

工业技术

  • 电子书积分:14 积分如何计算积分?
  • 作 者:任哲,张永忠编著
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2012
  • ISBN:9787512406926
  • 页数:431 页
图书介绍:本书在介绍微型计算机一般原理的基础上,重点介绍目前在应用中流行的ARM RISC体系结构及其嵌入式处理器,同时介绍当前流行的ARM工程开发工具Realview MDK,并以开发工具为基础介绍ARM汇编语言程序设计、工程开发及RTX操作系统的简单应用。
《嵌入式系统基础=ARM与Realview MDK(Keil for ARM)》目录

第1章 微型计算机基础知识 1

1.1 微型计算机的发展历程 1

1.2 数字电路与计算机 2

1.2.1 数据在计算机中的表示——二进制 2

1.2.2 运算器及二进制数运算 2

1.2.3 数据的存储 8

1.2.4 指令及指令译码 10

1.2.5 程序及程序计数器PC 11

1.2.6 计算机执行程序的过程 12

1.3 微型计算机系统的基本组成 13

1.3.1 冯·诺依曼计算机结构 14

1.3.2 计算机的硬件系统 14

1.3.3 计算机的软件系统 17

1.4 计算机体系结构的发展 17

1.4.1 RISC 18

1.4.2 指令流水线 20

1.4.3 高速缓存 21

1.4.4 协处理器 21

1.4.5 片上系统 21

1.5 微型计算机的两种主要应用方向 21

1.5.1 桌面系统 21

1.5.2 嵌入式系统 22

1.6 计算机程序设计语言 22

1.6.1 低级语言 22

1.6.2 高级语言 23

1.7 计算机常用标准编码 23

1.7.1 ASCII码 23

1.7.2 BCD码 24

习题 24

第2章 总线、存储器和接口 26

2.1 总线 26

2.1.1 总线的基本概念 26

2.1.2 系统总线 27

2.1.3 系统总线结构 28

2.1.4 片内总线 30

2.2 存储器 30

2.2.1 半导体存储器的一般结构 31

2.2.2 随机读/写存储器 33

2.2.3 只读存储器 35

2.2.4 存储器的逻辑表示 36

2.3 外部设备及接口 37

2.3.1 外部设备及其特点 37

2.3.2 I/O接口电路的功能 38

2.3.3 I/O设备接口电路的基本结构 42

2.3.4 外部设备与处理器的联络和数据传输 43

2.4 常用接口电路 45

2.4.1 并行接口电路 45

2.4.2 串行接口电路 47

2.4.3 定时器/计数器 51

习题 53

第3章 ARM体系结构 55

3.1 ARM及其嵌入式处理器的研发与生产方式 55

3.1.1 SoC与嵌入式处理器 55

3.1.2 嵌入式处理器的研发和生产方式 56

3.2 ARM处理器核的结构 59

3.3 冯·诺依曼结构及哈佛结构在ARM中的应用 60

3.4 ARM处理器的运行模式 61

3.5 ARM的两种工作状态 62

3.6 ARM处理器的寄存器 62

3.6.1 ARM状态下寄存器的组织方式 62

3.6.2 Thumb状态下寄存器的组织方式 66

3.7 存储器的组织 67

3.8 ARM体系结构的其他特点 69

3.8.1 灵活方便的协处理器接口 69

3.8.2 嵌入式的在线仿真调试 69

3.8.3 低电压低功耗的设计 69

3.9 ARM体系结构的版本及处理器系列 69

3.9.1 ARM体系结构的版本 70

3.9.2 ARM处理器系列 71

习题 72

第4章 ARM指令系统 73

4.1 ARM指令集的常用指令 73

4.1.1 数据传送指令 74

4.1.2 ARM指令的附加操作 80

4.1.3 跳转(转移)指令 81

4.1.4 指令的条件码及条件指令 85

4.1.5 算术运算指令 88

4.1.6 逻辑运算指令 93

4.1.7 程序状态寄存器访问指令 96

4.1.8 加载/存储指令 97

4.1.9 批量数据加载/存储指令 100

4.1.10 数据交换指令 104

4.1.11 协处理器指令 106

4.1.12 异常产生指令 108

4.2 Thumb指令简介 108

4.2.1 Thumb寄存器的使用 109

4.2.2 ARM-Thumb的交互 109

习题 110

第5章 ARM汇编语言基础 111

5.1 汇编器与汇编语言 111

5.2 ARM常用伪指令 112

5.2.1 段定义伪指令 112

5.2.2 符号定义伪指令 114

5.2.3 程序中的标号 117

5.2.4 数据区定义伪指令 119

5.3 宏与宏指令 122

5.3.1 宏 122

5.3.2 宏指令 126

5.4 其他伪指令 131

5.4.1 有关程序结构的一些伪指令 131

5.4.2 有关数据空间定义的一些伪指令 135

5.4.3 汇编控制伪指令 137

5.4.4 其他常用伪指令 138

5.5 汇编语言规范 139

5.5.1 汇编语句格式 139

5.5.2 汇编语言的表达式和运算符 139

5.6 ARM汇编语言程序设计 143

5.6.1 段 143

5.6.2 分支程序设计 143

5.6.3 循环程序设计 149

5.6.4 子程序及其调用 150

习题 151

第6章 ARM工程开发及MDK 153

6.1 ARM工程及其开发工具 153

6.2 映像文件及程序 158

6.2.1 程序的内存布局 158

6.2.2 程序的加载域和执行域 160

6.2.3 映像文件的结构 166

6.3 程序的分散加载 170

6.3.1 基本概念 170

6.3.2 分散加载文件 171

6.3.3 MDK生成的分散加载文件 177

6.4 ARM工程框架 185

6.4.1 初始化程序部分 185

6.4.2 初始化部分与主应用程序部分的衔接 186

6.5 C程序与汇编程序之间的函数调用 189

6.5.1 ATPCS简介 190

6.5.2 汇编程序调用C函数实例 197

6.5.3 汇编程序访问全局C变量 199

6.6 C/C++语言和汇编语言的混合编程 200

6.6.1 内联汇编 200

6.6.2 嵌入式汇编 201

6.6.3 内联汇编代码与嵌入式汇编代码之间的差异 202

习题 203

第7章 中断和异常 205

7.1 中断和异常的基本概念 205

7.1.1 中断和异常 205

7.1.2 中断请求信号的屏蔽 206

7.1.3 中断优先级及中断嵌套 207

7.1.4 中断服务程序 208

7.1.5 中断向量和中断向量表 209

7.1.6 中断的处理过程 211

7.2 ARM的中断(异常) 211

7.2.1 ARM中断(异常)的种类 211

7.2.2 ARM中断(异常)的优先级 213

7.2.3 ARM的中断(异常)向量表 214

7.2.4 中断(异常)的响应过程及返回 217

7.3 软中断SWI的应用 222

7.3.1 软中断SWI的一般应用 222

7.3.2 SWI函数(系统调用) 228

习题 231

第8章 LPC2000系列嵌入式处理器 232

8.1 LPC2000嵌入式处理器概貌 232

8.2 引脚连接模块 233

8.3 通用可编程并行数据接口GPIO 234

8.4 LPC2000的存储器 239

8.5 外部存储器的连接 242

8.5.1 EMC的结构 242

8.5.2 外部存储器的连接 244

8.6 LPC2000的时钟 246

8.6.1 LPC2000时钟模块 246

8.6.2 锁相环及处理器时钟cclk参数的设置 247

8.6.3 pclk时钟参数的设置 250

8.7 定时器 250

8.7.1 定时器的原理和功能 251

8.7.2 定时器的寄存器 252

8.7.3 定时器的初始化 254

8.8 LPC2000的脉宽调制器PWM 256

8.8.1 LPC2000脉宽调制器原理 256

8.8.2 脉宽调制器的寄存器 257

8.8.3 LPC2000脉宽调制器的使用示例 259

8.9 看门狗 260

8.9.1 看门狗的结构及原理 260

8.9.2 看门狗寄存器 261

8.9.3 看门狗的使用 261

8.10 功率控制模块 261

8.11 LPC2000的UART接口 263

8.11.1 UART接口的结构 263

8.11.2 UART接口的寄存器 264

8.11.3 UART1接口与Modem 267

8.11.4 UART接口的初始化及其应用 268

8.12 LPC2000的SPI接口 270

8.12.1 SPI简介及LPC2000的SPI接口逻辑 270

8.12.2 LPC2000 SPI接口的寄存器 271

8.12.3 LPC2000 SPI接口应用实例 273

8.13 LPC2000的I2C接口 276

8.13.1 I2C总线简介 276

8.13.2 LPC2000的I2C总线接口 278

8.13.3 I2C接口的工作过程 280

8.14 A/D转换器 282

8.15 LPC2000的中断管理 286

8.15.1 外部中断通道 287

8.15.2 中断控制器VIC 289

习题 296

第9章 LPC2000外部电路 298

9.1 复位电路 298

9.2 人机交互设备 299

9.2.1 键盘与触摸屏 299

9.2.2 显示器 303

习题 308

第10章 LPC2000的固件 309

10.1 LPC2000的重映射存储区 309

10.2 LPC2000的固件及其作用 310

10.3 LPC2000引导块 313

10.3.1 LPC2000引导块的地址映射 313

10.3.2 向量表的重映射 314

10.3.3 LPC2114/2124的Boot Block的工作流程 314

10.3.4 有效用户程序的识别 316

10.4 RAM空间的重映射 317

习题 317

第11章 嵌入式操作系统基础 319

11.1 基本概念 319

11.1.1 什么是操作系统 319

11.1.2 嵌入式操作系统 324

11.2 RTX构成及其应用基础 325

11.2.1 RTX中的任务 325

11.2.2 时间片、优先级及调度 329

11.2.3 任务的状态 336

11.2.4 RTX的任务间通信 339

11.2.5 RTX的数据类型 350

习题 351

附录A LPC2148引脚说明 352

附录B MDK中的文件 356

附录C S3C44B0X处理器简介 358

C.1 S3C44B0X的结构 358

C.2 S3C44B0X的存储器 359

C.2.1 S3C44B0X存储映射 359

C.2.2 S3C44B0X用于存储管理的寄存器 360

C.3 时钟和功耗管理 363

C.3.1 时钟设置 363

C.3.2 功耗管理控制 364

C.3.3 功耗管理控制寄存器 365

C.4 中断管理 366

C.4.1 中断源与中断系统结构 366

C.4.2 中断控制寄存器 366

C.4.3 中断源优先排队模块 368

C.5 DMA控制器 370

C.5.1 ZDMA和BDMA 370

C.5.2 与ZDMA相关的寄存器 372

C.5.3 与BDMA相关的寄存器 373

C.6 LCD控制器 375

C.6.1 概述 375

C.6.2 LCD控制器的控制寄存器 378

C.6.3 帧缓冲区起始地址寄存器 379

C.7 IIS总线接口 381

C.7.1 IIS总线接口框图 381

C.7.2 IIS接口工作模式 383

C.7.3 IIS接口的特殊功能寄存器 383

C.8 S3C44B0X的引脚与I/O端口 386

C.8.1 端口配置寄存器PCON 386

C.8.2 端口数据寄存器PDATA~PDATG 387

C.8.3 上拉寄存器PUPC~PUPG 387

习题 387

附录D ARM高级存储管理 389

D.1 高速缓冲存储器 389

D.1.1 Cache的基本概念和工作原理 389

D.1.2 Cache与主存之间的关系 392

D.1.3 Cache的写缓冲器 393

D.2 协处理器 394

D.2.1 ARM的协处理器 394

D.2.2 协处理器操作指令 395

D.3 ARM存储器保护单元MPU 396

D.3.1 ARM的MPU 397

D.3.2 协处理器CP15及保护区域的定义 397

D.3.3 保护区域的重叠应用 403

D.3.4 MPU应用示例 404

D.4 虚拟存储与MMU 411

D.4.1 虚拟存储空间与物理内存空间 411

D.4.2 地址映射机构 412

D.4.3 页表的缓存——快表 416

D.4.4 页表的存储及二级页表 417

D.4.5 采用虚拟存储技术的优点 419

D.5 ARM的虚拟存储管理 420

D.5.1 ARM的页表结构 420

D.5.2 访问控制 424

D.5.3 MMU的配置 426

D.5.4 页Cache和写缓冲器的设置 426

D.5.5 快表 427

D.5.6 MMU异常 428

习题 429

参考文献 431

返回顶部