嵌入式系统的概念从技术的角度定义:
以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统
并使其紧密耦合在一起
称为嵌入
对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。从系统的角度定义:嵌入式系统是设计完成复杂功能的硬件和软件,的系统。嵌入的系统中可以共存多个嵌入式系统。
的计算机系统。术语嵌入式反映了这些系统通常是更大系统中的一个完整的部分,
嵌入式系统的一般由以下几部分组成
嵌入式微处理器外围硬件设备嵌入式操作系统应用程序
嵌入式系统的设计可以分成三个阶段:分析、设计和实现
U盘;MP3播放器;手机特点:
嵌入性,专用性,内含计算机嵌入式处理器可以分为以下几大类:嵌入式微处理器(嵌入式微控制器(嵌入式片上系统(实时操作系统的特点异步的事件响应
切换时间和中断延迟时间确定优先级中断和调度抢占式调度内存锁定连续文件同步
实时操作系统是事件驱动的,能对来自外界的作用和信号在限定的时间范围内作出响应。强调的是实时性、可靠性和灵活性。5、实时操作系统的优缺点:
(1)优点:在嵌入式实时操作系统环境下开发实时应用程序使程序的设计和扩展变得容易,不需要大的改动就可以增加新的功能。
通过将应用程序分割成若干独立的任务模块,
使
应用程序的设计过程大为简化;而且对实时性要求苛刻的事件都得到了快速、可靠的处理。通过有效的系统服务,嵌入式实时操作系统使得系统资源得到更好的利用。
(2)缺点:但是,使用嵌入式实时操作系统还需要额外的CPU额外负荷,以及内核的费用。常见的嵌入式操作系统1.uClinux 2.Windows CE
ROM/RAM
开销,2~5%的
它
EMPU);MCU);SOC)。
蓝牙耳机(2分);GPS导航仪(2
嵌入式DSP处理器(DSP);
1 / 11
3.VxWorks 4.μC/OS-II
RISC是精简指令集计算机的缩写,其目标是设计出在高时钟频率下单周期执行,简单而有效的指令集。ARM内核采用RISC体系结构,因此具有RISC的结构特点:(1)具有大量的通用存储器;
(2)独特的装载/保存(load-store)结构;(3)简单的寻址模式
;
(4)统一和固定长度的指令格式。ARM7TDMI-S
的含义
5V
基于ARM体系结构V4版本的低端ARM核,由ARM6发展而来,并能够稳定的在低于的电源电压下工作
T:支持高密度16位的Thumb指令集;D:支持片上调试;M:支持64位乘法;
I:支持EmbededICE观察硬件;S:ARM7TDMI ARM7TDMI
的可综合(synthesizable)版本(软核),对应用工程师来说其编程模型与一致;
常用的ARM处理器系列1.Cortex-M3 2.Cortex-R4 3.Cortex-R4F 4.Cortex-A8 5.ARM7 6.ARM9 7.ARM10 8.ARM11
9.XScale ARM公司Arm5TE 版内核和指令集字和半字:
从偶数地址开始的连续
2个字节构成一个半字;
4个字节构成一个字;
Thumb指令的长度刚好是一个半字。
半字对齐,否则就是非半字对齐;那么它就是字对齐,否则就是非字对
以能被4整除的地址开始的连续ARM指令的长度刚好是一个字,如果一个数据是以能被齐。流水线
RM处理器使用流水线来增加处理器指令流的速度,这样可使几个操作同时进行,和存储器系统连续操作,能提供0.9MIPS/MHz的指令执行速度pc取指:从寄存器装载一条指令Pc-4译码:识别将要被执行的指令
并使处理
冯诺依曼结构哈佛结构
如果一个数据是从偶地址开始的连续存储,那么它就是
4整除的地址开始的连续存储,
2 / 11
Pc-8执行:处理指令并将结果写回寄存器
在第1个周期,PC指向指令1,此时指令1进入三级流水线的取指阶段。在第PC指向指令2,此时指令1进入三级流水线的译码阶段,同时取出指令PC指向指令3,此时指令1进入三级流水线的执行阶段,处理。
PC指向0x4008地址,执行ADD指令,所以指令执行的结果为
+4=0x400C。
程序计数器R15(PC)总是指向“正在取指”的指令,而不是指向“正在执行”的指令或“正在译码”的指令。一般来说,人们习惯性约定将“正在执行”的指令作为参考点,则:ARM状态:PC值=当前程序执行位置+Thumb状态:PC值=当前程序执行位置+
注:ARM状态时,每条指令为
指令集
ARM指令集高效快速,具有较低密度,上的有事,是
ARM指令集的子集
ARM指令,处理器默认为此状态;
Thumb指令。
ARM状态和Thumb状态
Thumb指令集小巧灵活,保持
ARM的大多数性能
8 4
: PC=PC+4=0x4008
2个周期,
2。在第3个周期,
4的取指
指令2进入译码阶段,取出指令3。
在第4个周期,指令1执行完成,指令2和指令3流水线推进一级,同时开始指令
4字节长
ARM状态:32位,处理器执行字方式的Thumb状态:16位,处理器执行半字方式的Cpsr的控制位T=0,处理器处于进行切换。
Thumb状态切换到ARM状态代码CODE16
LDR BX R0 CODE32 Lable
MOV
R1, #10
CODE32 LDR BX R0 CODE16 Lable
MOV
R1, #12 R0, =Lable+1 R0, =Lable
ARM状态,执行ARM指令,T=1,处理器处于Thumb状
态,执行Thumb指令。使用BX指令将ARM内核的操作状态在
注意:两个状态之间的切换并不影响处理器模式或寄存器内容。模式
七个模式,用户,系统,管理,中止,快中断,中断,未定义,管理模式:只有在系统复位和软件中断响应时,才进入此模式何时进入异常模式,具体规定如下:
3 / 11
处理器复位之后进入管理模式,操作系统内核通常处于管理模式;当处理器访问存储器失败时,进入数据访问中止模式;当处理器遇到没有定义或不支持的指令时,进入未定义模式;中断模式与快速中断模式分别对
ARM处理器2种不同级别的中断作出响应。
处理器模式用户(usr)
说明
正常程序运行的工作模式
备注
不能直接从用户模式切换到其它模式
与用户模式类似,但具有可以直接切换到其它模式等特权
只有在FIQ异常响应时,才进入此模式只有在IRQ异常响应时,才进入此模式只有在系统复位和软件中断响应时,模式
在ARM7内核中没有多大用处只有在未定义指令异常响应时,
才进入此模式
才进入此
系统(sys)用于支持操作系统的特权任务等
快中断(fiq)
特权模式
异常模式
中断(irq)
快速中断请求处理中断请求处理
管理(svc)供操作系统使用的一种保护模式
中止(abt)未定义(und)
用于虚拟内存和/或存储器保护支持软件仿真的硬件协处理器
在ARM处理器内部共有37个用户可访问的寄存器,分别为31个通用32位寄存器和6个
最多可以18
状态寄存器。Cpsr,SPSR_SVC,SPSR_abt,SPSR_und,SPSR_irq,SPSR_fiq ARM处理器共有7种不同的处理器模式,个活动的寄存器。
R0和R7为未分组的通用寄存器,可以在任何处理器模式都对应与相同的R8-R12有两个分组的物理寄存器,模式
R13堆栈指针SP,用于保存待使用的寄存器的内容R14链接指针LR,在结构上有两个功能:
当使用BL指令调用子程序时,返回地址将自动存入PC中即可实现子程序返回
当发生异常是,保张异常处理程序不会破坏的返回地址保存到
R14中,子程序结束是,
R14复制到32为物理寄存器
每种模式都有一组相应的寄存器组,
一个用于除FIQ模式之外的所有寄存器,另一个用于FIQ
LR,LR保存异常程序,将异常模处理程序
LR对应的异常模式寄存器中
R15程序计数器,指向正在取值的指令CPSR和SPSR之间的关系
当一个特定的异常发生中断时,将CSPR的当前值保存到相应异常模式下的
4 / 11
SPSR,然后
设置CPSR为相应的异常模式
从异常中断程序退出并且返回时候,可以通道保存在
SPSR中的值来回复
CPSR
ARM内核包含1个CPSR和5个仅供异常处理程序使用的SPSR。CPSR反映当前处理器的
状态,其包含:
4个条件代码标志(负标志N、零标志Z、进位标志C和溢出标志V );2个中断禁止位(IRQ禁止与FIQ禁止);5个对当前处理器模式进行编码的位(M[4:0]);
1个用于指示当前执行指令的位(ARM指令还是Thumb指令)。
程序状态寄存器(
CPSR)的格式
31负标志N:运算结果的第
31位值,记录标志设置操作的结果;
30零标志Z:如果标志设置的操作为
0,则置位;
29进位标志C:记录无符号加法溢出,减法无借位,循环移位;28溢出标志V:记录标志设置操作的有符号溢出。条件代码标志:31---N:负或小于30---Z:零
29---C:进位、借位或扩展28---V:溢出控制位:
7---控制位I置位时:IRQ中断被禁止6---控制位F置位时:FIQ禁止
5---T:状态位T置位时,在Thumb状态下运行,为
0时在ARM状态下运行
5 / 11
武汉科技大学嵌入式复习要点
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)