嵌入式系统期末复习
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《嵌入式系统期末复习》
嵌入式系统源于微型计算机,是嵌入到对象体系中,实现嵌入对象智能化的计算机。
嵌入式系统的定义:嵌入到对象体系中的计算机中的专用计算机应用系统。(考试时一定要答到这一点)
基本特点(3个):嵌入性内含计算机专用性
{对嵌入式系统的定义多种多样,但没有一种定义是全面的。下面给出两种比较合理定义:
从技术的角度定义:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。从系统的角度定义:嵌入式系统是设计完成复杂功能的硬件和软件,并使密耦合在一起的计算机系统。术语嵌入式反映了这些系统通常是更大系统中一个完整的部分,称为嵌入的系统。嵌入的系统中可以共存多个嵌入式系统。(如果是简答题可以写一些)
嵌入式处理器可以分为以下几大类:
▪嵌入式微处理器;
▪嵌入式微控制器;
▪嵌入式DSP处理器;
▪嵌入式片上系统(SOC)。
嵌入式的运用领域:嵌入式系统在很多产业中得到了广泛的应用并逐步改变着这些产业,包括工业自动化、国防、运输和航天领域。例如
神州飞船和长征火箭中肯定有很多嵌入式系统,导弹的制导系统也是嵌入式系统,高档汽车中也有多达几十个嵌入式系统。
在日常生活中,人们使用各种嵌入式系统,但未必知道它们。事实上,几乎所有带有一点“智能”的家电(全自动洗衣机、电脑电饭煲…)都是嵌入式系统。嵌入式系统广泛的适应能力和多样性,使得视听、工作场所甚至健身设备中到处都有嵌入式系统。
基本概念
中断是一种硬件机制,用于通知CPU有个异步事件发生了。中断一旦被识别,CPU保存部分(或全部)上下文即部分或全部寄存器的值,跳转到专门的子程序,称为中断服务子程序(ISR)。中断服务子程序做事件处理,处理完成后,程序回到:
1. 在前后台系统中,程序回到后台程序;
2. 对非占先式内核而言,程序回到被中断了的任务;
3. 对占先式内核而言,让进入就绪态的优先级最高的任务开始运行。时钟节拍
时钟节拍是特定的周期性中断。这个中断可以看作是系统心脏的脉动。中断之间的时间间隔取决于不同应用,一般在10ms到200ms之间。时钟的节拍式中断使得内核可以将任务延时若干个整数时钟节拍,以及当任务等待事件发生时,提供等待超时的依据。时钟节拍率越快,系统的额外开销就越大。
RISC结构特性
RISC是精简指令集计算机的缩写,其目标是设计出在高时钟
频率下单周期执行,简单而有效的指令集。ARM内核采用RISC体系结构,因此具有RISC的结构特点:
1.具有大量的通用存储器;
2.独特的装载/保存(load-store)结构;
3.简单的寻址模式;
4. 统一和固定长度的指令格式。
ARM体系结构
为了使ARM能够更好地满足嵌入式应用的需要,ARM体系结构还有以下特点:
▪每条数据处理指令可同时包含算术逻辑单元(ALU)的运算和移位处理,实现ALU和移位器的最大利用;
▪使用地址自增和自减的寻址方式优化程序循环;
▪装载/保存指令对数据的批量传输,实现最大数据吞吐量;
▪大多数指令的条件执行,实现最快速的代码执行。
存储器的字与半字
从偶数地址开始的连续2个字节构成一个半字;
以能被4整除的地址开始的连续4个字节构成一个字;
ARM指令的长度刚好是一个(字),Thumb指令的长度刚好是一个(半字)。
ARM7TDMI
PC→0x4000 ADD PC,PC,#4 执行ADD PC,PC,#4指令后,PC 0x4004 的值为多少?
0x4008
0x400C
分析:程序计数器R15(PC)总是指向“正在取指”的指令,而不是指向“正在执行”的指令或“正在译码”的指令。一般来说,人们习惯性约定将“正在执行”的指令作为参考点,则:
PC值=当前程序执行位臵+8
注:ARM状态时,每条指令为4字节长。
PC指向0x4000地址,取指ADD指令。
PC指向0x4004地址,译码ADD指令
PC指向0x4008地址,执行ADD指令,所以指令执行的结果为: PC=PC+4=0x4008+4=0x400C。。
ARM处理器状态
ARM7TDMI处理器内核包含2套指令系统,分别为ARM指令集和Thumb指令,并且各自对应1种处理器的状态:
▪ARM状态:32位,处理器执行字方式的ARM指令,处理器默认为此状态;
▪Thumb状态:16位,处理器执行半字方式的Thumb指令。注意:两个状态之间的切换并不影响处理器模式或寄存器内容。
状态切换的一个例子
使用BX指令将ARM内核的操作状态在ARM状态和Thumb状态之间进行切换。
从ARM状态切换到Thumb状态的程序代码如下:
CODE32
LDR R0, =Lable+1 ;Lable跳转地址标号,地址最低位为1,表示切换到Thumb状态
BX R0;执行完BX指令,处理器切换到ARM状态,开始执行ARM指令
CODE16
Lable MOV R1, #12
从状态Thumb切换到ARM状态的程序代码如下:
CODE16
LDR R0, =Lable
BX R0
CODE32
Lable MOV R1, #10
ARM处理器模式
ARM体系结构支持7种处理器模式,分别为:用户模式、快中断模式、中断模式、管理模式、中止模式、未定义模式和系统模式。这样的好处是可以更好的支持操作系统并提高工作效率。ARM7TDMI完全支持这七种模式。
ARM内部寄存器
在ARM处理器内部共有37个用户可访问的寄存器,分成两大类,分别为31个通用32位寄存器和6个状态寄存器。