当前位置:首页 > 工业技术
ARM原理与嵌入式系统实战
ARM原理与嵌入式系统实战

ARM原理与嵌入式系统实战PDF电子书下载

工业技术

  • 电子书积分:12 积分如何计算积分?
  • 作 者:范圣一著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2007
  • ISBN:711121501X
  • 页数:347 页
图书介绍:本书涉及如何设计嵌入式系统的话题。
《ARM原理与嵌入式系统实战》目录

第1章 ARM处理器概述 1

1.1 ARM公司简介 1

1.2 ARM微处理器的种类 1

1.3 ARM的广泛应用 4

1.4 如何学习ARM 5

1.5 如何使用这本书 5

1.6 参考资料 6

基础篇 7

第2章 ARM的常用存储器 7

2.1 存储器的分类与存取原理 7

2.1.1 对称式 7

2.1.2 非对称式 8

2.2 对称式存储器 9

2.2.1 ROM 9

2.2.2 SRAM 10

2.2.3 Flash Memory 12

2.3 非对称式存储器 14

2.3.1 DRAM 14

2.3.2 SDRAM 16

2.4 总结 18

第3章 ARM内核与SoC 19

3.1 ARM内核和SoC的结构 19

3.2 ARM内核、高速缓存及写入缓冲区 20

3.2.1 高速缓存的定义 21

3.2.2 写入缓冲区的定义 22

3.3 调试接口简介 22

3.4 总结 24

第4章 ADS编译器与AXD调试器 25

4.1 ADS编译器 25

4.2 AXD调试器 25

4.3 ADS的伪指令 27

4.3.1 指导性伪指令 27

4.3.2 数据定义伪指令 30

4.3.3 输出报告型伪指令 35

4.3.4 符号定义伪指令 36

4.3.5 汇编语言控制伪指令 42

4.3.6 与ARM汇编语言组合的伪指令 44

原理篇 47

第5章 ARM的硬件引导流程 47

5.1 ARM硬件引导的流程 47

5.1.1 电源 47

5.1.2 时钟 48

5.1.3 系统复位 49

5.1.4 存储器总线模式 50

5.2 ARM的存储接口 50

第6章 ARM的操作模式及寄存器 56

6.1 ARM的存储器格式及操作模式 56

6.1.1 大尾数法 56

6.1.2 小尾数法 56

6.2 ARM的寄存器 58

第7章 ARM的汇编语言 62

7.1 ARM的指令概述 62

7.1.1 ARM的指令格式 62

7.1.2 ARM的指令摘要 63

7.2 条件字段 64

7.3 ARM指令说明 65

7.3.1 跳转和交换 65

7.3.2 跳转和跳转连结指令 67

7.3.3 数据处理指令 68

7.3.4 程序状态寄存器的转移指令 75

7.3.5 乘法和乘加运算 77

7.3.6 长乘法和长乘加法运算 79

7.3.7 单笔数据转移指令 81

7.3.8 HALFWORD和有正负号的数据转移指令 84

7.3.9 整块数据转移指令 88

7.3.10 单个数据交换指令 95

7.3.11 软件中断指令 96

7.3.12 协处理器数据操作指令 97

7.3.13 协处理器的数据交换指令 99

7.3.14 协处理器寄存器的转移指令 100

7.3.15 无定义的指令 102

7.4 指令集的范例 103

7.4.1 使用条件指令 103

7.4.2 除法和余数 103

7.4.3 溢出侦测 104

7.4.4 使用位移方法来做常数的乘法 105

第8章 ARM的异常事件 106

8.1 ARM的异常事件 106

8.1.1 异常的种类和产生原因 106

8.1.2 异常向量表 107

8.2 ARM的软件引导程序 108

8.3 如何编写ARM的异常事件 111

8.4 软件中断异常 115

8.4.1 软件中断的指令分析 115

8.4.2 软件中断的动作 115

8.4.3 编写软件中断 116

8.5 总结 121

第9章 ADS编译器的设置和汇编语言的关系 122

9.1 编译器的基本概念 122

9.2 预编译 122

9.3 连接器的基本概念 124

9.4 在ADS下建立一个工程 126

9.5 ADS工程中文件所在位置及说明 133

9.6 ADS其他重要设置 135

第10章 ARM的软件引导流程 140

10.1 ADS的二进制文件格式 140

10.2 ARM引导软件的初始化 144

10.3 ARM的系统规划 147

10.4 汇编语言和C语言的窗口 148

实例篇 152

第11章 S3C44B0X的系统架构 152

11.1 时钟和电源管理 152

11.2 系统总线控制器 153

11.3 外围总线控制器 154

第12章 目标芯片的主要硬件电路 156

12.1 电源电路 156

12.2 时钟电路 156

12.3 复位电路 159

12.4 系统设定 160

12.5 内存电路 161

12.6 ROM/SRAM存储器区块操作 163

12.7 ROM/SRAM区块的电路 165

12.8 SDRAM区块电路 167

第13章 存储器控制器 170

13.1 存储器映像 170

13.2 复位前的存储器硬件设置 171

13.3 存储器控制器寄存器 172

13.4 SROM存储器控制器寄存器 173

13.5 SROM/SDRAM存储器控制器寄存器 175

13.6 存储器控制器的实例 181

13.6.1 硬件架构 181

13.6.2 存储器寄存器设置实例 183

13.7 存储器控制器软件设置实例 187

第14章 目标芯片的系统配置 192

14.1 内部存储器 192

14.2 非高速缓存区域 193

14.3 写入缓冲区 194

14.4 目标芯片系统配置的特殊寄存器 194

14.5 系统配置软件设定实例 197

第15章 时钟和电源管理 199

15.1 功能概述 199

15.2 相位锁相回路 200

15.3 时钟控制逻辑操作 201

15.3.1 相位锁相回路的锁定时间 201

15.3.2 电源复位 201

15.3.3 一般模式下改变相位锁相回路的设置 202

15.4 时钟电路架构 202

15.5 时钟和相位锁相回路产生器的使用条件 203

15.6 电源管理 203

15.6.1 正常模式 203

15.6.2 空闲模式 203

15.6.3 停止模式 203

15.6.4 慢速空闲模式 205

15.6.5 慢速模式 205

15.6.6 唤醒与解冻状态 207

15.6.7 电源管理设置注意事项 207

15.6.8 电源管理状态模式转换 208

15.7 时钟及电源管理寄存器 209

15.8 软件设置实例 211

第16章 目标芯片的看门狗定时器 213

16.1 看门狗定时器操作原理 213

16.2 看门狗定时器的特殊寄存器 214

16.3 看门狗定时器的特殊寄存器 216

第17章 目标芯片的引导程序(不含中断) 217

17.1 软件引导流程 217

17.2 Init.s程序说明 217

17.3 Init1.s程序说明 224

17.4 Memcfg.s定义文件说明 229

17.5 Option.s定义文件说明 232

17.6 Init1工程的存储器使用 233

第18章 目标芯片的中断控制器 236

18.1 中断控制器的操作方法 236

18.1.1 程序状态寄存器中的F-bit和I-bit 236

18.1.2 中断模式 237

18.1.3 未处理中断寄存器 237

18.1.4 中断屏蔽寄存器 237

18.2 中断源 237

18.3 中断优先级产生模块 238

18.4 中断优先级顺序 239

18.5 向量式中断模式——仅提供中断请求 239

18.6 向量式中断的范例 240

18.7 非向量式中断的范例 246

18.8 中断控制器的特殊寄存器 247

第19章 目标芯片的引导程序 258

第20章 进入C语言之前 268

20.1 存储器规划 268

20.2 第一个以C为主的工程 269

20.2.1 再论ADS的设置 269

20.2.2 44b0工程内容及路径 269

20.2.3 C语言(44b0.c)与汇编语言(SYSInit.s)的关系 270

20.2.4 44b0.h 271

20.2.5 什么是volatile 271

20.3 加入以调试为主的程序(44blib.c)及通用头文件(stdafx.h) 274

第21章 目标芯片的输入输出端口 276

21.1 目标芯片端口结构总览 276

21.2 端口的控制叙述 279

21.2.1 端口的结构寄存器 279

21.2.2 端口的数据寄存器 279

21.2.3 端口的上拉寄存器 279

21.2.4 外部中断控制寄存器 279

21.3 输入输出端口控制寄存器 280

21.3.1 端口A控制寄存器 280

21.3.2 端口B控制寄存器 280

21.3.3 端口C控制寄存器 281

21.3.4 端口D控制寄存器 282

21.3.5 端口E控制寄存器 283

21.3.6 端口F控制寄存器 284

21.3.7 端口G控制寄存器 285

21.3.8 特殊上拉电阻控制寄存器 286

21.3.9 外部中断控制寄存器 287

21.3.10 外部中断未处理寄存器 288

21.4 目标板对输入输出端口的设定 289

21.4.1 端口A的设定 289

21.4.2 端口B的设定 290

21.4.3 端口C的设定 291

21.4.4 端口D的设定 291

21.4.5 端口E的设定 291

21.4.6 端口F的设定 292

21.4.7 端口G的设定 293

21.5 PortInit函数 293

21.6 新增System.c到BootC.mcp 294

21.7 设定系统定义控制器 295

第22章 C语言的异常处理和中断处理程序 296

22.1 C语言的异常处理 296

22.2 C语言的中断处理 299

第23章 异步串行收发器控制器 306

23.1 异步串行收发器的操作原理 306

23.1.1 数据发送 306

23.1.2 数据接收 307

23.1.3 自动流量控制 308

23.1.4 无自动流量控制 308

23.2 中断或直接内存存取的操作 309

23.3 异步串行收发器的先进先出缓冲区的错误状态指示 310

23.4 波特率的产生 311

23.5 回路检查模式 311

23.6 中止信号 312

23.7 红外线模式 312

23.8 异步串行收发器控制器的特殊寄存器 312

23.9 异步串行收发器的实例 319

23.9.1 波特率 319

23.9.2 异步串行收发器数据的帧 320

23.9.3 以轮询的方法来操作异步串行收发器 322

23.9.4 用中断的方法来操作异步串行收发器 327

23.9.5 异步串行收发器的其他操作 335

23.9.6 加入Uart.c 335

第24章 存储器控制器实例 338

24.1 LED的电路及其原理 338

24.2 Debug_LED函数 339

24.3 总结 339

附录 341

返回顶部