您现在的位置:首页 > 知识库 > 电子信息 >从51到ARM:32位嵌入式系统入门
从51到ARM:32位嵌入式系统入门

从51到ARM:32位嵌入式系统入门

资料大小: 21.88 MB
文档格式: PDF文档
资料语言: 简体中文
资料类别: 电子信息
更新日期: 2020-05-27
下载说明:
推荐信息: 入门   系统   嵌入式   51   ARM

本地下载(30点)  备用下载(30点)

内容简介
从51到ARM:32位嵌入式系统入门
出版时间:2005
内容简介
  本书系统阐述微机测控技术,涉及面宽,包括:计算机控制理论,微机测控系统常用元器件(放大器、比较器、多路模拟开关、集成稳压器、光电耦合器、新型传感器、存储器、总线、显示器、键盘、A/D、D/A、可编程I/O接口芯片、等)应用技术,硬件电路和接口技术,控制算法和程序设计。并给出很多工程实例,包括硬件和软件,并加以分析。本书是作者在多年教学和科研的基础上写成的,有些内容是作者的科研成果。本书中所用微机包括单片机8051和8098以及IBM-PC机及其兼容机,以8051和8098为主。本书理论结合实际,重在应用。为此,尽量做到叙述详细,并给出具体参数、用法和程序清单,以便读者进行设计时引用和查阅。本书叙述由浅入深,深入浅出,便于自学,适用的读者面宽,不仅可作为高等学校工业自动化和自动控制专业的教材,也可作为高等学校计算机应用、自动化仪表、电气技术、电气测量、电子应用技术、通信技术、机电一体化、冶金、石油、化工等专业的学生和科技人员的自学用书和参考书,还可起到设计手册的作用,尤其对于正在进行毕业设计的学生。
目录
目录
第1章 几个基本概念
1.1 从51系列单片机到ARM处理器1
1.2 ARM不是单片机2
1.3 51系列单片机和ARM处理器的比较3
1.4 以ARM为核的单片机4
1.4.1 处理器内核只和外部地址相关4
1.4.2 ARM怎样组成一个单片机6
1.4.3 一点启示7
第2章 ARM处理器基础
2.1 ARM处理器的数据格式8
2.1.1 基础知识8
2.1.2 ARM处理器的存储器结构9
2.1.3 ARM处理器的指令存储或数据存储13
2.1.4 地址对准15
2.2 处理器模式15
2.3 ARM内部寄存器17
2.3.1 ARM状态时的寄存器17
2.3.2 Thumb状态下的寄存器25
2.4 异常27
第3章 ARM7TDMI简介
3.1 概述29
3.2 结构和框图30
3.3.3 级流水线结构33
3.4 ARM处理器的寻址方式35
3.4.1 51系列与ARM系列寻址方法的比较35
3.4.2 寄存器寻址36
3.4.3 立即寻址36
3.4.4 寄存器移位寻址37
3.4.5 寄存器间接寻址39
3.4.6 变址寻址40
3.4.7 多寄存器寻址42
3.4.8 堆栈寻址42
3.4.9 寻址方式的应用43
3.4.1 0ARM指令寻址一览表44
第4章 异常和中断
4.1 概述45
4.2 复位异常46
4.3 未定义指令异常47
4.4 软件中断异常49
4.5 预取指中止异常49
4.6 数据中止异常50
4.7 中断请求(IRQ)异常 51
4.8 快速中断(FIQ)请求异常52
4.9 中断源和中断优先级53
4.10 异常中断的进入和退出54
第5章 ARM指令集
5.1 概述56
5.2 指令可选后缀59
5.2.1 S后缀60
5.2.2 后缀60
5.2.3 B后缀61
5.2.4 T后缀61
5.2.5 条件后缀62
5.3 ARM数据传送指令(存储器访问指令)64
5.3.1 关于数据传送64
5.3.2 数据传送中的几个问题66
5.3.3 ARM数据传送指令代码表70
5.3.4 数据传送指令代码详述71
5.4 ARM分支指令93
5.4.1 关于程序分支93
5.4.2 ARM分支指令详解94
5.5 ARM数据处理指令98
5.5.1 ARM数据处理指令的特点98
5.5.2 第2操作数99
5.5.3 ARM数据处理指令代码表101
5.5.4 ARM数据处理指令详述103
5.6 ARM指令集中和协处理器有关的指令120
5.7 ARM指令集中的软件中断指令125
第6章 Thumb指令集
6.1 Thumb指令的特点129
6.2 Thumb指令和ARM指令的比较132
6.3 Thumb指令集中的数据传送类指令134
6.4 Thumb指令集中的分支指令146
6.5 Thumb指令集中的数据处理指令152
6.6 Thumb指令集中的软件中断指令164
第7章 伪指令
7.1 伪指令概述166
7.2 与ARM指令相关的伪指令167
7.3 与Thumb指令相关的伪指令177
7.4 通用伪指令180
7.4.1 为变量定义和赋值的伪指令180
7.4.2 定义各类寄存器名称的伪指令184
7.4.3 数据定义伪指令187
7.4.4 控制程序流向的伪指令196
7.4.5 其他伪指令201
第8章 ARM系统设计和程序设计
8.1 关于ARM处理器,我们学到了什么?207
8.2 程序设计的几个问题209
8.3 ARM指令和 Thumb指令的兼容性214
8.4 汇编程序规则221
8.4.1 组成222
8.4.2 书写格式223
8.4.3 汇编语言中的表达式224
8.5 汇编程序举例231
第9章 C和C++语言的应用
9.1 汇编语言与C/C++语言的比较237
9.2 C/C++语言的编程规范238
9.2.1 注释238
9.2.2 命名239
9.2.3 编辑风格239
9.3 如何编写针对ARM的高效C语言程序240
9.3.1 以空间换时间240
9.3.2 使用数学方法解决问题242
9.3.3 使用位操作242
9.3.4 嵌入汇编243
9.4 C、C++语言与汇编语言的混合编程244
9.4.1 在C、C++程序中使用内嵌的汇编指令的语法格式244
9.4.2 在C、C++程序中使用内嵌的汇编指令的注意事项245
9.4.3 内嵌汇编指令的应用举例247
9.4.4 从汇编程序中访问C程序变量248
9.4.5 在C++程序中使用C程序头文件249
9.4.6 汇编程序、C程序以及C++程序的相互调用举例250
第10章 程序的编辑和编译
10.1 程序设计过程254
10.1.1 编辑程序254
10.1.2 编译程序255
10.1.3 连接和调试程序257
10.2 ARM处理器开发工具介绍258
10.2.1 ARM处理器仿真系统特点258
10.2.2 ADS集成开发环境259
10.2.3 ADS开发系统的系统资源261
10.2.4 系统软件开发的步骤263
10.3 程序的编辑263
10.3.1 源程序是可移植的263
10.3.2 在CodeWarrior for ADS环境下编辑源文件266
10.3.3 建立工程项目总结271
10.3.4 建立C语言和C++语言源文件271
10.3.5 文件的管理272
10.3.6 编辑画面的设置273
10.3.7 ADS编辑功能介绍279
10.3.8 屏幕分割设置282
10.4 程序的编译283
10.4.1 有两种方式可以实现程序的编译283
10.4.2 命令行中的可选项和图形方式中的可选项286
10.4.3 ADS中的可选项290
10.5 汇编器的应用291
10.5.1 ARM汇编器armasm中的可选项291
10.5.2 ARM汇编器应用298
10.5.3 应用举例300
10.6 编译器的应用303
10.6.1 ARM编译器中的可选项303
10.6.2 ARM编译器的应用317
第11章 程序的连接
11.1 几个与连接有关的概念320
11.2 连接器的应用326
11.3 连接器选项设置334
11.4 连接器应用举例347
第12章 ARM调试工具AXD
12.1 调试工具AXD361
12.1.1 ARM调试工具介绍361
12.1.2 调试工具AXD的使用方法363
12.2 在调试过程中使用断点371
12.2.1 设置断点371
12.2.2 执行到断点处374
12.2.3 查找和修改断点374
12.2.4 断点管理下拉菜单374
12.2.5 观察断点375
12.2.6 删除断点376
12.3 AXD中其他工具介绍376
12.3.1 使用观测项376
12.3.2 在调试程序时观察变量381
12.3.3 在调试程序时使用符号表383
12.3.4 使用观测点384
12.3.5 工具栏中的工具387
12.4 数据格式389
12.4.1 设置数据格式389
12.4.2 设置默认的数据显示格式393
参考文献