《嵌入式系统原理与应用》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:魏权利,李丽萍,林粤伟编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2014
  • ISBN:9787111486503
  • 页数:341 页
图书介绍:本书分为13章,内容包括:嵌入式系统概述;嵌入式处理器体系结构;微处理器ARM指令;微处理器ARM编程;微处理器S3C2410A体系结构;嵌入式应用产品开发平台;ARM9存储器扩展电路应用设计;通用I/O与中断系统应用设计;微处理器S3C2410A的定时/计数器;A/D转换、触摸屏与LCD程序设计;嵌入式系统I/0总线接口与编程;嵌入式应用程序设计举例;ARM9实验项目及内容。

第1章 嵌入式系统概述 1

1.1 嵌入式系统的概念与组成 1

1.1.1 嵌入式系统的定义 1

1.1.2 嵌入式系统的应用过程和发展趋势 1

1.1.3 嵌入式系统的组成 2

1.2 嵌入式微处理器的结构与类型 3

1.2.1 嵌入式微控制器 3

1.2.2 嵌入式DSP处理器 3

1.2.3 嵌入式微处理器 4

1.2.4 嵌入式片上系统 5

1.3 计算机组成、体系结构与嵌入式处理器 5

1.3.1 冯·诺依曼结构与哈佛结构 5

1.3.2 精简指令计算机RISC 6

1.3.3 流水线计算机 7

1.3.4 嵌入式微处理器的信息存储方式 7

1.4 嵌入式应用系统的开发流程 9

习题 10

第2章 ARM微处理器体系结构 11

2.1 ARM微处理器的体系结构与特点 11

2.1.1 ARM微处理器体系的结构 11

2.1.2 ARM微处理器体系的特点 11

2.2 ARM微处理器系列介绍及应用选型 12

2.2.1 ARM7微处理器系列 12

2.2.2 ARM9微处理器系列 13

2.2.3 ARM微处理器的应用选型 13

2.3 ARM的总线系统与接口 14

2.3.1 ARM的总线系统 14

2.3.2 ARM的JTAG调试接口 15

2.3.3 ARM的协处理器接口 16

2.4 ARM9体系结构的存储器组织 16

2.4.1 ARM体系结构的存储器空间 17

2.4.2 ARM9中的大端存储与小端存储 17

2.4.3 L/O端口的访问方式 18

2.5 ARM9微处理器的工作状态与运行模式 18

2.5.1 ARM9微处理器的工作状态 19

2.5.2 ARM9微处理器的运行模式 19

2.6 ARM9体系结构的寄存器组织 20

2.6.1 通用寄存器 21

2.6.2 程序状态寄存器 22

2.7 ARM9微处理器的异常 24

2.7.1 ARM9微处理器异常的概念 24

2.7.2 ARM体系结构的异常类型 24

2.7.3 各种异常类型的含义 25

2.7.4 异常的响应过程 25

2.7.5 应用程序中的异常处理 26

习题 27

第3章 ARM微处理器指令系统 28

3.1 ARM9的指令格式 28

3.1.1 ARM9微处理器的指令格式与特点 28

3.1.2 指令执行的条件码 30

3.2 ARM9微处理器指令的寻址方式与应用示例 31

3.2.1 立即数寻址方式 31

3.2.2 寄存器寻址方式 32

3.2.3 寄存器偏移寻址方式 32

3.2.4 寄存器间接寻址方式 34

3.2.5 基址+变址寻址方式 34

3.2.6 多寄存器寻址方式 35

3.2.7 堆栈寻址方式 36

3.2.8 块复制寻址方式 37

3.2.9 相对寻址方式 37

3.3 ARM9指令系统 38

3.3.1 ARM数据处理指令 38

3.3.2 寄存器装载及存储指令 45

3.3.3 ARM跳转指令 49

3.3.4 ARM杂项指令 51

3.3.5 ARM协处理器指令 55

3.3.6 ARM伪指令 57

习题 60

第4章 微处理器ARM程序设计 61

4.1 ARM汇编伪指令 61

4.1.1 数据常量定义伪指令EQU 61

4.1.2 数据变量定义伪指令 62

4.1.3 内存分配伪指令 63

4.1.4 汇编控制伪指令 66

4.1.5 汇编程序中常用伪指令 68

4.1.6 汇编语言中的运算符与表达式 71

4.1.7 L.inux操作系统中GNU开发环境下的伪指令 74

4.2 ARM汇编语言程序设计 76

4.2.1 ARM汇编中的源文件类型 76

4.2.2 ARM汇编语言的语句格式 76

4.2.3 ARM汇编语言的程序结构 77

4.3 ARM汇编语言与C语言混合编程 79

4.3.1 基本的ATPCS 79

4.3.2 汇编语言程序调用C语言程序 80

4.3.3 C语言程序中调用汇编语言程序 81

4.3.4 C语言程序中内嵌汇编语言程序 82

4.3.5 在汇编程序中访问C语言程序变量 83

4.3.6 嵌入式C语言中的几个特殊关键字 84

4.4 ARM程序设计应用示例 85

习题 87

第5章 微处理器S3C2410A 89

5.1 微处理器S3C2410A介绍 89

5.1.1 微处理器S3C2410A的体系结构 89

5.1.2 微处理器S3C2410A的内部结构 89

5.1.3 微处理器S3C2410A的技术特点 90

5.2 微处理器S3C2410A存储器控制器特性与空间分布 92

5.2.1 微处理器S3C2410A存储器控制器特性 92

5.2.2 微处理器S3C2410A存储器空间分布 93

5.3 微处理器S3C2410A时钟电路与时钟频率管理 94

5.3.1 微处理器S3C2410A外部时钟电路 94

5.3.2 微处理器S3C2410A锁相环PLL 95

5.3.3 微处理器S3C2410A时钟分频控制 97

5.3.4 微处理器S3C2410A时钟频率管理 97

5.3.5 S3C2410A工作频率的设置与分频编程示例 99

5.4 微处理器S3C2410A复位电路与电源电路 101

5.4.1 微处理器S3C2410A复位电路 101

5.4.2 微处理器S3C2410A电源电路 103

5.5 微处理器S3C2410A电源功耗管理 103

5.5.1 电源功耗管理模式及时钟功率配给 104

5.5.2 慢速控制寄存器CLKSLOW的属性及其位功能 104

5.5.3 电源功耗管理状态转换图 105

习题 106

第6章 嵌入式系统应用产品开发平台 107

6.1 硬件开发平台 107

6.1.1 FL2440开发板硬件资源简介 107

6.1.2 PC与开发板的硬件连接 108

6.2 软件开发平台 108

6.2.1 交叉开发环境简介 108

6.2.2 ADS1.2集成开发环境简介 108

6.2.3 编写应用程序需要使用的头文件 110

6.2.4 Code Warrior IDE集成开发环境的使用 111

6.2.5 AXD调试器的使用 117

习题 124

第7章 嵌入式存储器系统及扩展接口电路设计 125

7.1 嵌入式存储器系统结构组成 125

7.1.1 嵌入式存储器的层次结构及特点 125

7.1.2 ARM9高速缓冲存储器Cache 126

7.1.3 S3C2410A存储器管理单元MMU 126

7.1.4 S3C2410A主存储器分布以及使用的存储器类型 128

7.2 存储器控制寄存器 129

7.2.1 存储器控制寄存器介绍 130

7.2.2 主存芯片配置编程实例 134

7.3 8位/16位/32位内存芯片扩展设计 135

7.3.1 8位存储器芯片扩展设计 135

7.3.2 16位存储器芯片扩展设计 137

7.4 Nor Flash闪存接口设计 138

7.4.1 Nor Flash与Nand Flash的区别 139

7.4.2 Nor Flash实用电路设计 140

7.5 闪存Nand Flash存储器接口设计 141

7.5.1 Nand Flash的结构组成 142

7.5.2 Nand Flash的引导、工作模式 144

7.5.3 Nand Flash控制功能寄存器 145

7.5.4 Nand Flash的实用电路与程序设计 146

7.6 SDRAM存储器的电路设计 150

习题 152

第8章 通用I/O端口和中断系统程序设计 153

8.1 S3C2410A的通用I/O端口 153

8.1.1 I/O端口的功能 153

8.1.2 通用I/O端口功能寄存器 157

8.1.3 其他端口功能寄存器 162

8.1.4 通用I/O端口程序设计示例 164

8.2 微处理器S3C2410A中断系统程序设计 166

8.2.1 S3C2410A中断系统的树型结构 167

8.2.2 S3C2410A的中断源 169

8.2.3 S3C2410A中断请求过程 169

8.2.4 ARM中断控制寄存器 170

8.2.5 子中断控制寄存器 175

8.2.6 外部中断功能寄存器 176

8.3 S3C2410A中断服务程序的设计 180

8.3.1 S3C2410A中断服务程序实现框架之一:普通实现方式 180

8.3.2 S3C2410A中断服务程序实现框架之二:基于中断向量的实现方式 182

8.3.3 子中断服务程序的实现框架 186

8.3.4 外部中断服务程序的实现框架 187

8.3.5 中断服务程序的应用示例 188

习题 190

第9章 微处理器S3C2410A的定时/计数器 191

9.1 S3C2410A定时/计数器原理 191

9.2 看门狗定时器(WATCHDOG) 192

9.2.1 看门狗定时器的工作原理 192

9.2.2 看门狗特殊功能控制寄存器 192

9.2.3 看门狗定时器应用示例 194

9.3 具有脉宽调制(PWM)的定时器(TIMER) 195

9.3.1 定时器TIMER概述 195

9.3.2 TIMER部件的操作 195

9.3.3 TIMER特殊功能控制寄存器 199

9.3.4 定时器TIMER应用示例 201

9.4 实时时钟RTC 203

9.4.1 RTC概述 203

9.4.2 RTC功能寄存器 204

9.4.3 RTC应用程序设计 206

习题 209

第10章 A-D转换、触摸屏与LCD程序设计 211

10.1 S3C2410A的模-数转换器与程序设计 211

10.1.1 ADC的分类与工作原理 211

10.1.2 ADC的主要技术参数 214

10.1.3 S3C2410A模-数转换器ADC主要性能指标 214

10.1.4 S3C2410A模-数转换器ADC和触摸屏接口电路 215

10.1.5 S3C2410A中ADC的功能寄存器 216

10.1.6 S3C2410A的ADC编程示例 218

10.2 LCD触摸屏原理与程序设计 219

10.2.1 LCD电阻式触摸屏的工作原理 219

10.2.2 S3C2410A与LCD触摸屏接口电路 220

10.2.3 使用触摸屏的配置过程 221

10.2.4 触摸屏编程接口模式 221

10.2.5 S3C2410A的LCD触摸屏编程示例 222

10.3 液晶显示器LCD与程序设计 224

10.3.1 LCD的显示原理与分类 225

10.3.2 S3C2410ALCD控制器的特性 226

10.3.3 S3C2410A LCD控制器的内部结构和显示数据格式 227

10.3.4 S3C2410A LCD功能控制寄存器 229

10.3.5 TFT-LCD控制器操作 237

10.3.6 LCD控制寄存器的配置 242

10.3.7 S3C2410A的LCD显示程序设计 242

习题 252

第11章 嵌入式系统I/O总线接口与编程 253

11.1 串行通信接口原理与S3C2410A的UART编程 253

11.1.1 数字通信的分类与特点 253

11.1.2 串行通信标准 254

11.1.3 S3C2410A的UART简介与结构 258

11.1.4 S3C2410A的UART操作 259

11.1.5 S3C2410A的UART功能寄存器 261

11.1.6 S3C2410A的UART编程示例 266

11.2 I2C接口原理与编程 275

11.2.1 I2C总线接口原理 275

11.2.2 I2C的总线协议 276

11.2.3 S3C2410A的I2C接口 277

11.2.4 I2C总线专用寄存器 279

11.2.5 S3C2410A处理器I2C总线与E2PROM芯片AT24C02应用编程示例 281

11.2.6 仿真I2C总线的MCS-51单片机实现程序 287

11.3 SPI接口原理与编程 288

11.3.1 SPI接口原理 288

11.3.2 S3C2410A的SPI接口电路 290

11.3.3 SPI功能寄存器 292

11.3.4 SPI总线接口编程流程 295

11.3.5 S3C2410A的SPI与内置E2PROM的看门狗芯片X5045应用编程示例 296

习题 303

第12章 嵌入式系统应用程序设计举例 305

12.1 嵌入式系统启动引导程序 305

12.1.1 启动引导程序的作用 305

12.1.2 启动引导程序任务 306

12.1.3 引导程序的启动流程 306

12.2 系统启动引导程序的设计 307

12.2.1 外部文件的引用 307

12.2.2 常量的定义 308

12.2.3 S3C2410A的异常处理 310

12.2.4 主体程序 314

12.2.5 调用C语言程序 317

12.3 应用程序Main函数的实现 317

12.3.1 应用程序中的文件引用和变量定义 318

12.3.2 实时时钟RTC主要函数代码 318

12.3.3 触摸屏主要函数代码 319

12.3.4 数字温度传感器DS18B20主要函数设计 321

12.3.5 LCD主要函数设计 325

12.3.6 应用系统测试函数的设计 327

习题 327

第13章 ARM9实验项目及内容 329

13.1 汇编语言实验项目及内容 329

13.1.1 熟悉开发环境与汇编编程 329

13.1.2 ARM乘法指令实验 330

13.1.3 寄存器装载及存储汇编指令实验 331

13.1.4 算术加/减法汇编指令实验 332

13.1.5 ARM微处理器工作模式与堆栈指针设置实验 334

13.2 C语言实验项目及内容 336

13.2.1 ARM C/C++语言实验1 336

13.2.2 ARM C/C++语言实验2 337

13.3 混合编程实验项目及内容 338

13.3.1 汇编-C语言数据块拷贝编程实验 338

13.3.2 C-汇编语言整型4参数加法编程实验 339

13.3.3 汇编-C语言BCD码编程实验 339

13.4 FL2440开发板实验 340

参考文献 341