ARM嵌入式系统结构与编程(21世纪高等学校计算机教育实用规划教材)
分類: 图书,计算机/网络,计算机体系结构,
作者: 邱铁 编著
出 版 社: 清华大学出版社
出版时间: 2009-3-1字数:版次: 1页数: 370印刷时间:开本: 16开印次:纸张:I S B N : 9787302194064包装: 平装编辑推荐
本书的编写力求将复杂问题简单化,为了说明一个问题,可能不惜篇幅,图表并用,并设有实例解析,力求使每一个嵌入式开发的初学者能快速上手,为嵌入底层开发打下坚实的基础。
本书介绍了嵌入式系统的发展历史,通过典型产品实例使读者体会嵌入式技术的研究方向和未来的发展趋势。ARM处理器的内核调试结构,重点介绍了ARM7TDMI—S、ARM9TDMI两种结构,并分析了ARM7和ARM9的三级流水线运行机制和五级流水线运行机制。ARM指令寻址方式、ARM指令系统详细解析和Thumb指令系统详细解析。ARM汇编语言伪指令,ARM汇编语言程序设计中所用的伪操作,汇编语言程序设计规范,并用大量的实例说明汇编语言程序设计方法。嵌入式C语言的编程规范,嵌入式开发中常用的位运算与控制位域以及在嵌入式C程序设计中要注意的问题,ARM汇编语言与嵌入式C语言进行相互调用标准(AAPCS),并用大量的实例说明了相互调用应注意的问题。
内容简介
本书是作者根据多年开发和教学实践经验并考察了当前嵌入式发展的最新动向编著而成。在内容设计上,本书采取了循序渐进的原则,对嵌入式底层硬件知识进行精心规划,以大量的实例说明技术难点,深入浅出,使嵌入式系统初学者能够以“ARM体系结构—指令系统—汇编程序设计—混合编程—硬件下编程”为主线,以阶梯式前进的方式,低起点、高效率地学习理论、深入实践,从而为嵌入式系统开发打下坚实的基础。
本书结构合理、实例丰富,具有很强的实践性和实用性,本书可作为高等学校计算机、电子信息类本科生、研究生进行嵌入式系统学习的教材或参考书,也适合嵌入式开发的工程技术人员和广大的嵌入式开发爱好者学习使用。
目录
第1章 绪论
1.1 嵌入式系统定义
1.1.1 嵌入式系统发展历程
1.1.2 嵌入式系统的定义与特点
1.2 嵌入式操作系统
1.2.1 嵌入式实时操作系统
1.2.2 实时操作系统的典型应用
1.3 嵌入式技术在工程领域的应用
1.4 嵌入式技术的发展趋势
思考与练习题
第2章 ARM技术与ARM体系结构
2.1 ARM体系结构版本与内核
2.1.1 ARM体系结构版本
2.1.2 ARM内核版本命名规则
2.1.3 主流ARM处理器内核系列与应用
2.2 ARM内核模块
2.3 ARM处理器的工作模式
2.4 内部寄存器
2.4.1 通用寄存器及其分布
2.4.2 程序状态寄存器
2.5 ARM异常处理
2.6 存储方式与存储器映射机制
2.7 ARM流水线技术分析
思考与练习题
第3章 ARM指令集寻址方式
3.1 ARM指令的编码格式
3.2 数据处理指令寻址方式
3.3 Load/Store指令寻址
3.3.1 地址计算方法
3.3.2 字、无符号字节寻址
3.3.3 半字、有符号字节寻址
3.4 批量Load/Store指令寻址方式
3.5 协处理器指令寻址方式
思考与练习题
第4章 ARM指令集系统
4.1 数据处理指令
4.1.1 基本数据处理指令
4.1.2 乘法指令
4.1.3 杂类的数据处理指令
4.2 ARM分支指令
4.3 加载/存储指令
4.3.1 加载/存储字、无符号字节指令
4.3.2 半字、有符号字节访问指令
4.4 批量加载/存储指令
4.4.1 基本批量字数据加载/存储指令
4.4.2 用户模式下的批量字数据加载/存储指令
4.4.3 带PSR操作的批量字数据加载指令
4.5 交换指令
4.6 程序状态寄存器PSR访问指令
4.7 协处理器操作指令
4.7.1 协处理器数据操作指令
4.7.2 协处理器加载/存储指令
4.7.3 ARM寄存器与协处理器寄存器数据传输指令
4.8 异常产生指令
思考与练习题
第5章 Thumb指令
5.1 Thumb数据处理指令
5.1.1 寄存器移位指令
5.1.2 低位寄存器算术运算指令
5.1.3 ALU操作指令
5.1.4 带高位寄存器操作的Thumb指令
5.1.5 带SP/PC的算术运算指令
5.2 Thumb存储器操作指令
5.2.1 字节、半字和字的加载/存储指令
5.2.2 批量加载/存储指令
5.3 Thumh分支指令
5.3.1 B分支指令
5.3.2 带链接的分支指令
5.3.3 带状态切换的分支指令
5.4 Thumb软中断指令
5.5 Thumb指令功能码段分析
5.5.1 Thumb与ARM实现功能比较
5.5.2 Thumb与ARM性能比较
思考与练习题
第6章 ARM汇编伪指令与伪操作
6.1 汇编语言伪指令
6.1.1 ARM汇编语言伪指令
6.1.2 Thumb汇编语言伪指令
6.2 ARM汇编语言伪操作
6.3 ARM汇编伪操作
6.3.1 符号定义伪操作
6.3.2 数据定义伪操作
6.3.3 汇编代码控制伪操作
6.3.4 汇编信息报告控制伪操作
6.3.5 指令集类型标识伪操作
6.3.6 文件包含伪操作
6.3.7 其他类型伪操作
6.4 GNU ARM汇编伪操作
6.4.1 符号定义伪操作
6.4.2 数据定义伪操作
6.4.3 汇编与反汇编代码控制伪操作
6.4.4 预定义控制伪操作
思考与练习题
第7章 汇编语言程序设计
7.1 ARM编译环境下汇编语句
7.1.1 ARM编译环境下汇编语句格式
7.1.2 ARM编译环境下汇编语句中符号规则
7.2 GNU环境下汇编语句与编译说明
7.2.1 GNU环境下ARM汇编语句格式
7.2.2 GNU环境下ARM汇编程序编译
7.3 ARM汇编语言程序设计规范
7.4 ARM汇编语言程序设计实例解析
思考与练习题
第8苹 ARM汇编语言与嵌入式c混合编程
8.1 嵌入式C编程规范
8.2 嵌入式C程序设计中的位运算
8.3 嵌入式C程序设计中的几点说明
8.3.1 Volatile限制符
8.3.2 地址强制转换与多级指针
8.3.3 预处理的使用
8.4 嵌入式C程序设计格式
8.5 过程调用标准ATPCS与AAPCS
8.5.1 寄存器使用规则
8.5.2 数据栈使用规则
8.5.3 参数传递规则
8.6 ARM汇编语言与嵌入式C混合编程
8.6.1 内嵌汇编
8.6.2 ARM汇编语言与嵌入式C程序相互调用
思考与练习题
第9章 S3C4480/S3C2410硬件结构与关键技术分析
9.1 处理器简介
9.2 S3C44BO/S3C2410存储控制器
9.2.1 S3C44BO存储控制与地址空间
9.2.2 S3C2410存储控制与地址空间
9.2.3 S3C4480/S3C2410存储位宽控制
9.2.4 S3C4480/S3C2410存储器接口时序分析
9.2.5 S3C4480/S3C2410存储控制寄存器
9.2.6 SDRAM接口电路设计
9.2.7 S3C4480存储器初始化实例
9.3 S3C2410 NAND Flash控制器
9.4 S3C44BO/S3C2410时钟电源管理
9.4.1 S3C4480/S3C2410时钟管理
9.4.2 S3C4480/S3C2410电源管理
9.4.3 S3C4480/S3c2410时钟与电源管理专用寄存器
9.5 S3C44BO/S3C2410通用I/O端口
9.5.1 端口控制描述
9.5.2 端口寄存器
9.5.3 通用I/O接口设计实例
9.6 S3C44BO/S3C2410中断机制
9.6.1 S3C4480中断控制器
9.6.2 S3C2410中断控制器
9.6.3 S3C4480/S3C2410中断控制特殊功能寄存器
9.6.4 S3C44BO/S3C2410中断控制器设计实例
思考与练习题
第10章 S3C4480/S3C2410通信与LCD接口技术
10.1 S3C4480/S3C2410 UART
10.1.1 UART原理
10.1.2 S3C44BO/S3C2410 UART模块
10.1.3 S3C4480/S3C2410 UART操作
10.1.4 UART中断与波特率的计算
10.1.5 S3C44130/S3C2410 UART专用功能寄存器
10.1.6 S3C4480/S3C2410 UART设计实例
10.2 S3C4480/S3C2410 I2C总线接口
10.2.1 I2C总线原理
10.2.2 S3C4480/S3C2410 I2C总线功能模块
10.2.3 S3C4480/S3C2410 I2C总线操作
10.2.4 S3C44BO/S3C2410 I2C专用功能寄存器
10.2.5 S3C44BO/S3C2410 I2C总线设计实例
10.3 S3C44BO/S3C2410 LCD控制器
10.3.1 LCD简介
10.3.2 S3C4480/S3C2410 LCD控制器模块
10.3.3 S3C4480/S3C2410 I2CD控制器专用功能寄存器
10.3.4 S3C44BO/S3C2410 I2CD控制器设计实例
思考与练习题
附录A S3C4480/S3C2410封装与I/O复用信息
附录B 链接定位与系统引导程序
参考文献
书摘插图
第1章绪论
本章主要介绍嵌入式系统的发展历史和相关概念,当前嵌入式技术的主要应用以及市场上最流行的嵌入式产品,通过典型产品实例使读者了解当前嵌入式技术的应用状况和研究方向。最后介绍了嵌入式技术未来的发展趋势。
1.1嵌入式系统定义
近年来,以集成电路为代表的微电子技术取得了重大突破,这使计算机技术、微控制器技术得到了迅速发展.再加上网络技术的应用与普及,加速了2l世纪工业生产、军工国防、消费电子、商业活动、科学实验和家庭生活等领域的自动化和信息化进程,这些为嵌入式技术的大规模发展提供了强大的产业支撑。嵌入式技术正是在这些领域的产业需求下产生并一步步壮大的。
1.1.1嵌入式系统发展历程
嵌入式系统从21世纪开始大规模发展起来,但这个概念在上世纪就已经出现。从20世纪70年代单片机的出现到目前各式各样的嵌入式微处理器,微控制器的大规模应用,嵌入式系统已经有了30多年的发展历史。
嵌入式系统的出现最初是基于单片机的。20世纪70年代单片机的出现,使得汽车、家电、工业机器人、通信装置以及成千上万种产品可以通过内嵌电子装置来获得更佳的使用性能:更容易使用、更快、更便宜。当时只是使用8位的芯片,执行一些简单的程序指令,不过这些装置已经初步具备了嵌入式的应用特点。
Intel公司于1971年开发出第一片具有4位总线结构的微处理器4004,当时主要用于电子玩具、家用电器,电子控制及简单的计算工具,可以说是嵌入式系统的萌芽阶段。1976年Intel公司推出功能相对较完备的单片机8048。Motorola同时推出了68HC05,Zilog公司推出了Z80系列。在80年代初,Intel又进一步完善了8048,在它的基础上研制成功了8051,这在单片机的历史上是值得纪念的一页。目前,5l系列的单片机仍然在市场上占有很大的比例,在各种产品中有着非常广泛的应用。
……