《嵌入式系统原理及应用(第2版)》从嵌入式系统的概念、发展过程、处理器分类及组成等基础知识讲起,逐步深入到嵌入式硬件体系结构内部,然后从指令系统到嵌入式系统程序设计基础,从典型的基于不同ARM核的嵌入式处理器到嵌入式应用开发,再从嵌入式操作系统及其移植到Boot Loader,最后到嵌入武系统应用设计实例,系统地介绍了嵌入式系统原理及其应用,有利于高校嵌入式系统相关课程的教学。
全书结构合理、系统、全面、实用,每章后面都有一定量的习题。可作为高等院校计算机专业、电类专业、自动化以及机电一体化专业本科生“嵌入式系统”、“嵌入式系统体系结构”、“嵌入式系统原理及应用”及“嵌入式系统设计与开发”等课程的教材和参考书,也可作为要了解和掌握嵌入式系统的技术人员的工具书。
嵌入式系统是近年来新兴的且发展很快的学科,它的应用越来越受到广大技术人员的重视。但高校嵌入式系统方面的教学还不平衡,不够系统。尽管有的学校开设嵌入式相关课程的教学较早,但总的来说仍不很成熟,原因是多方面的,有教师的原因,也有缺乏适合高校教学要求的教材的原因。虽然目前市面上嵌入式系统方面的书已经很多,也不乏经典之作,但重视工程开发,轻视讲清原理的做法非常普遍,这对于工程设计人员是有益的,但作为高校教材使用就不太适宜了。
鉴于此,在吸收国内外有关嵌入式系统大量相关资料,并结合作者科研任务及多年教学经验,进行一段时间摸索之后,从典型专用计算机系统的角度,组织编写了《嵌入式系统原理及应用》这本书。第1版已于2006年:9月正式出版,已经印刷和修订多次,第1版教材于2009。年被评为江苏省精品教材。
经过几年的使用,也发现了许多问题和不足,另外嵌入式技术的发展也要求教材不断更新,因此有必要从结构上进行合理调整,补充相关内容,使教材更加适应教学要求,这也是第2版追求的目标。
第2版在结构上有较大调整,第1章的内容更加全面,一除了在第1版嵌入式基本知识的基础上详细介绍相关概念以外,还概要性地介绍了嵌入式系统的设计方法、嵌入式软件设计技术及嵌入式系统开发与调试工具,试图使读者一开始就能对嵌入式系统的设计开发大概的了解,对于后续章节的学习可以有的放矢。对第2章嵌入式处理器体系结构,增加了CISC和RISC以及冯·诺依曼结构与哈佛结构的介绍,补充了嵌入式处理器的3级到8级指令流水线的介绍,并以ARM7、ARM9、ARM10、ARM11、Codex-A、CorteX-M、Codex-R典型内核为主线,介绍典型嵌入式处理器的内核结构及其特点。第3章改为嵌入式存储器指令系统,该章补充了Thumb-2指令系统及常用ARM处理器支持的伪指令。第4章改为嵌入式存储器程序设计基础,这一章补充了常用的嵌入式C语言基础知识,第5章改为典型.嵌入式处理器,这一章在综述常用嵌入式处理器典型厂家、典型芯片后,以ARM内核为主线,从ARM7、ARM9、XScale到Codex-M3详细介绍流行的典型嵌入式处理器,并给出其他不同厂家不同系列的嵌入式处理器性能表,以便设计开发及应用时查询使用。
第1章 嵌入式系统概论
1.1 嵌入式系统概述
1.1.1 嵌入式系统的概念
1.1.2 嵌入式系统的特点
1.1.3 嵌入式系统的发展
1.1.4 嵌入式系统的应用
1.1.5 嵌入式系统的学习方法
1.2 嵌入式处理器
1.2.1 嵌入式处理器种类
1.2.2 ARM嵌入式处理器简介
1.3 嵌入式系统的组成
1.3.1 嵌入式系统的硬件
1.3.2 嵌入式系统的软件
1.4 嵌入式操作系统
1.4.1 嵌入式操作系统及其特点
1.4.2 典型嵌入式操作系统
1.5 嵌入式系统的设计方法
1.5.1 嵌入式系统设计概述
1.5.2 嵌入式系统的设计步骤
1.5.3 嵌入式系统的传统设计方法
1.5.4 嵌入式系统的硬软件协同设计技术
1.6 嵌入式系统的软件设计
1.6.1 嵌入式系统的软件设计过程
1.6.2 嵌入式操作系统的选择
1.6.3 嵌入式软件开发工具链-的构建
1.7 嵌入式系统开发与调试工具
1.7.1 嵌入式系统硬件开发与调试工具
1.7.2 嵌入式系统软件开发工具
习题
第2章 嵌入式处理器体系结构
2.1 体系结构概述
2.1.1 CISC与RISC
2.1.2 冯·诺依曼结构与哈佛结构
2.2 嵌入式处理器内核
2.3 ARM体系结构的发展
2.4 ARM体系结构的技术特征
2.5 ARM处理器工作状态与工作模式
2.5.1 ARM处理器工作状态
2.5.2 ARM处理器工作模式
2.6 ARM处理器的寄存器组织
2.6.1 ARM状态下的寄存器组织
2.6.2 Thumb/Thumb-2状态下的寄存器组织
2.7 ARM处理器的异常中断
2.7.1 ARM异常种类及异常中断向量表
2.7.2 异常中断的优先级
2.7.3 ARM异常的中断响应过程
2.7.4 从异常处理程序中返回
2.8 ARM的存储器格式及数据类型
2.8.1 ARM的两种存储字的格式
2.8.2 ARM存储器数据类型
2.9 ARM流水线技术
2.9.1 指令流水线处理
2.9.2 ARM的3级指令流水线
2.9.3 ARM的5级指令流水线
2.9.4 ARM的6级指令流水线
2.9.5 ARM的7级指令流水线
2.9.6 ARM的8级指令流水线
2.10 ARM总线结构及MMU
2.10.1.ARM的AMBA总线体系结构
2.10.2 ARM的MMU和MPU
2.10.3 基于MMU的地址转换
2.11 典型ARM处理器核
2.11.1 ARMT.典型内核ARMTTDMI
2.11.2 ARM9典型内核ARM920T
2.11.3 ARM10典型内核
2.11.4 ARM11典型内核ARMll36JFS及ARM11 MPCORE
2.11.5 Cortex典型内核Cortex-A
2.11.6 Cortex典型内核Cortex-M
2.11.7 Cortex典型内核Cortex-R4
习题
第3章 嵌入式处理器指令系统
3.1 ARM指令分类及指令格式
3.1.1 ARM指令分类
3.1.2 ARM指令格式
3.1.3 ARM指令中操作数符号
3.1.4 ARM指令中的移位操作符
3.2 ARM指令的寻址方式
3.2.1 立即寻址
3.2.2 寄存器寻址
3.2.3 寄存器间接寻址
3.2.4 基址加变址寻址
3.2.5 相对寻址
3.2.6 堆栈寻址
3.2.7 块复制寻址
3.3 ARM指令集
3.3.1 数据处理指令
3.3.2 程序状态寄存器访问指令
3.3.3 分支指令
3.3.4 加载/存储指令
3.3.5 协处理器指令
3.3.6 异常中断指令
3.4 Thumb指令集
3.4.1 数据处理指令
3.4.2 分支指令
3.4.3 加载/存储指令
3.4.4 异常中断指令
3.5 Thumb-2指令集
3.5.1 数据处理指令
3.5.2 分支指令与程序状态指令山
3.5.3 加载与存储指令
3.5.4 提示类指令与交换类指令
3.6 ARM处理器支持的伪指令
习题
第4章 嵌入式系统程序设计基础
4.1 ARM汇编器所支持的伪指令
4.1.1 符号定义伪指令
4.1.2 数据定义伪指令
4.1.3 汇编控制伪指令
4.1.4 其他常用伪指令
4.2 汇编语言的语句格式
4.2.1 在汇编语言程序中常用的符号
4.2.2 汇编语言程序中的表达式和运算符
4.3 汇编语言的程序结构
4.3.1 汇编语言的程序结构
4.3.2 汇编语言的子程序调用
4.4 嵌入式C语言程序设计
4.4.1 嵌入式C语言设计基础
4.4.2 汇编语言与C语言的混合编程
习题
第5章 典型嵌入式处理器
5.1 典型嵌入式处理器系列概述
5.2 ARM7TDMI-S核的嵌入式微控制器LPC2000系列
5.2.1 LPC2000系列微控制器概述
5.2.2 LPC2000系列微控制器结构
5.3 ARM7TDMI核的嵌入式微处理器S3C44BOX
5.3.1 S3C44BOX嵌入式微处理器概述
5.3.2 S3C44BOX嵌入式微处理器结构
5.3.3 S3C44BOX嵌入式微处理器引脚信号
5.4 ARM920T核的嵌入式微处理器S3C2410X/S3C2440X
5.4.1 S3C2410X/S3C2440X概述
5.4.2 S3C2410X/S3C2440x嵌入式微处理器结构
5.5 XScale嵌入式微处理器
5.5.1 XScale嵌入式处理器简介
5.5.2 PXA250/PXA270嵌入式微处理器结构
5.6 Cortex-M3核的嵌入式微控制器
……
第6章 基于S3C44B0X的嵌入式系统应用开发
第7章 嵌入式操作系统及其移植
第8章 嵌入式系统设计实例
附录:关键词索引
参考文献
第1章 嵌入式系统概论
1.1 嵌入式系统概述
1.1.1 嵌入式系统的概念
通常,计算机连同一些常规的外设是作为独立的系统而存在的,并非为某一方面的专门应用而存在。如一台PC就是一个计算机系统,整个系统存在的目的就是为人们提供一台可编程、会计算、能处理数据的机器。人们可以用它作为科学计算的工具,也可以用它作为企业管理的工具。这样的计算机系统称为通用计算机系统。但是有些系统却不是这样的。如微波治疗仪、胃镜、POS机、飞机的黑匣子、汽车的导航仪,包括手机、商务通等也各是一个系统,这里面都有计算机,但是这种计算机是作为某个专用系统中的一个部件而存在的。像这样嵌入到专用系统中的计算机,称之为嵌入式计算机。所谓将计算机嵌入到系统中,一般并不是指直接把一台通用计算机原封不动地安装到目标系统中,也不只是简单地把原有的机壳拆掉并安装到机壳中,而是指为目标系统量身定制的计算机,再把它有机地植入,融入目标系统。
1.嵌入式系统的定义
嵌入式系统(Embedded System)是嵌入式计算机系统的简称。有以下几种定义:
(1)IEEE(国际电气和电子工程师协会)的定义
“Devices used to control,monitor or assist the operation of equipment,machinerlyorplants.”即为控制、监视或辅助设备、机器或者工厂运作的装置。它通常执行特定功能;以微处理器与周边构成核心;严格的时序与稳定度要求;全自动操作循环。
(2)国内公认的较全面的定义
以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
(3)简单定义
嵌入到对象体系中的专用计算机系统。
上述定义比较全面准确,并广泛被业界接受的是第二种,比较简捷的是第三种定义,而第一种定义则侧重控制领域的嵌入式设备。
2.嵌入式系统的三个要素
嵌入性、专用性和计算机系统是嵌入式系统的三个基本要素。
嵌入式系统是把计算机直接嵌入到应用系统中,它融合了计算机软/硬件技术、通信技术和微电子技术,是集成电路发展过程中的一个标志性的成果。