嵌入式系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
嵌入式系统原理与应用技术
嵌入式系统概述
嵌入式系统是以应用为中心,以计算机技术为基础,并且软/硬件可裁剪,并满足应用系统对功能、可靠性、成本、体积和功耗有严格要求的专用计算机系统。
与通用计算机相比,嵌入式系统具有以下特征:
通常是面向特定应用的。具有功耗低、体积小和集成度高等特点。
硬件和软件都必须高效率的设计,量体裁衣,力争在同样的硅片面积上实现更高的性能,这样才能满足功能、可靠性和功耗的苛刻要求。
实时操作系统支持。
嵌入式系统与具体应用有机结合在一起,升级换代也是同步进行的。因此,嵌入式系统产品一旦进入市场,具有较长的生命周期。
为了提高运行速度和系统可靠性,嵌入式系统中软件一般都固化在存储器芯片中。
专门开发工具的支持。
嵌入式系统一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户应用软件四个部分组成,用于实现对其他设备的控制、监视和管理等功能。
嵌入式微处理器是嵌入式系统的核心。嵌入式微处理器的体系结构可以采用冯·诺依曼体系结构或哈佛体系结构,指令系统可以选用精简指令集系统RISC或复杂指令集系统CISC。
外围硬件设备是指在嵌入式硬件系统中,除嵌入式微处理器以外的完成存储、显示、通信、调试等功能的部件。根据外围设备的功能可分为存储器和接口两大类。
嵌入式操作系统EOS是一种用途广泛的系统软件,它负责嵌入式系统的全部软、硬件资源的分配、调度、控制和协调。
嵌入式操作系统除了具有一般操作系统的最基本特点外,还具有以下特点:
强稳定性,弱交互性。
较强的实时性。
可伸缩性。
外围硬件接口的统一性。
由于嵌入式系统中的存储器容量有限,嵌入式系统的核心通常较小。
嵌入式系统的应用软件是设计人员针对专门的应用领域而设计的应用程序。
从应用角度看,嵌入式处理器可分为:嵌入式微处理器、嵌入式微控制器、嵌入式数字信号处理器、嵌入式片上系统。
一般从应用角度考虑嵌入式微处理器的选型,需考虑的主要因素有:功能、性能、价格、熟悉程度及开发资源、操作系统支持、升级、供货情况、多处理器应用。
ARM微处理器的选型:ARM微处理器内核的选择、系统的工作频率的选择、芯片内存储器容量的选择、片内外围电路的选择。
嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统极为重要的组成部分。使用最多的嵌入式操作系统有Linux、WindowsCE、μC/OS-Ⅱ、PalmOS和VxWorks等。
ARM9体系结构
ARM9系列嵌入式微处理器主要有ARM9 TDMI、ARM9E-S等系列。ARM9处理能力的提高是通过提高时钟频率和缩短指令执行周期实现的。
ARM9中1条指令的执行可以分为以下几个阶段:取指-译码-执行-访存(缓冲/数据)-回写。
ARM嵌入式微处理器使用的是AMBA总线体系结构。AMBA是ARM公司颁布的总线
标准,该标准定义了以下3种总线:AHB、ASB总线、APB总线。
ARM9的指令集是依据RISC原理而设计的,指令集和相关译码机制较为简单。ARM 指令集为32位指令集,可以实现ARM架构下所有功能。Thumb指令集是对32位ARM指令集的扩充,它的目标是为了实现更高的代码密度。
ARM9体系结构采用32位长度地址,存储器的地址空间可被看成是从0地址单元开始的字节的线性组合,即一个地址对应于一个存储字节。ARM9体系结构允许使用现有的存储器和I/O器件进行各种存储器的系统设计。ARM9体系结构可以有两种格式存储字数据,分别为大端格式和小端格式。
I/O端口的访问方式有两种,一种是端口地址和存储器统一编码,即存储器映射方式;另一种是I/O端口地址与存储器分开独立编址,即I/O映射方式。ARM9体系结构使用存储器映射方式实现I/O端口的访问。从存储器映射的I/O加载即是输入,而向存储器映射的I/O 地址存储即是输出。
ARM9处理器内部共有37个32位寄存器,可分为通用寄存器和状态寄存器两大类。通用寄存器用于保存数据和地址,共有31个;状态寄存器用来标识或设置存储器的工作模式或工作状态等功能,共有6个,每个状态寄存器只使用了其中的12位。
通用寄存器用于保存数据或地址,用字母R前缀加该寄存器的编号来标识。通用寄存器包括R0~R15寄存器,可分为未分组寄存器、分组寄存器和程序计数器3种。
所谓异常(异常中断)是指处理器由于内部或外部的原因,停止执行当前的程序,转而处理特定的事件,处理完毕返回原来的程序继续执行。只要正常的程序流程被暂时停止,则异常发生。
ARM9的异常有7种类型,异常发生后,处理器的PC值将被强制赋予该异常所对应的存储器地址,处理器从此地址处开始执行程序,这些存储器地址称为异常向量,简称向量。
7种异常包括:复位异常、未定义指令异常、软件中断异常、指令欲取中止、数据中止、IRQ(中断请求)和FIQ(快速中断请求)。处理器进入异常处理程序前,应该保存其当前的状态,以便当异常处理程序完成后,处理器能回到原来程序的断点处继续执行。
ARM指令系统
ARM处理器具有ARM和Thumb两种工作状态。因此其指令系统也对应有32位的ARM 指令和16位的Thumb指令。
ARM嵌入式微处理器的指令集是加载、存储型的,即指令集中仅能处理寄存器中的数据,而且处理结果都要写回寄存器中,而对存储器的访问则需要通过专门的加载、存储指令来完成。ARM指令可分为以下6类:数据处理指令、程序状态访问指令、分支指令、访存指令、异常产生指令、协处理器指令。
ARM数据处理指令基本格式为:
ARM处理器支持几种常见的寻址方式:寄存器寻址、立即寻址、寄存器移位寻址、寄存器间接寻址、变址寻址、多寄存器寻址、堆栈寻址、块复制寻址、相对寻址。
ARM数据处理指令主要完成寄存器中数据的算术和逻辑运算操作。ARM数据处理指令包括:①数据传送指令(MOV和MVN);②算术指令(ADD,ADC,SUB,SBC,RSB 和RSC);③逻辑指令(AND,ORR,EOR和BIC);④比较指令(CMP,CMN,TST和TEQ);⑤乘法指令(MLA,MUL,SMLAL,SMULL,UMALA和UMULL)。
访存指令分为单数据访存指令、多数据访存指令和数据交换操作指令3大类。
异常指令可分为以下几种:SWI软件中断指令、BKPT断点指令、CLZ前导0计数。
ARM协处理器指令主要分为协处理器数据处理指令、ARM寄存器与协处理器寄存器的