1.嵌入式系统定义p1嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积和功耗等严格要求的专用计算机系统。
2.嵌入式系统的组成结构,层次关系p4、板级支持包p61.硬件层硬件层由嵌入式微处理器、存储系统、通信模块、人机接口、其它I/O接口(A/D、D/A、通用I/O等)以及电源等组成。
嵌入式系统的硬件层以嵌入式微处理器为核心。
2.中间层硬件层与软件层之间为中间层,它把系统软件与底层硬件部分隔离,使得系统的底层设备驱动程序与硬件无关。
中间层一般包括:硬件抽象层(Hardware Abstract Layer,HAL)板级支持包(Board Support Package,BSP)3.软件层实时操作系统(Real Time Operating System,)文件系统图形用户接口(Graphical User Interfaces,GUI)网络系统通用组件模块RTOS是嵌入式应用软件的基础和开发平台。
4.功能层功能层由基于RTOS开发的应用程序组成,用来完成实际所需的应用功能。
功能层是面向被控对象和用户的,当需要用户操作时往往需要提供一个友好的人机界面。
3.嵌入式处理器的分类,有哪些典型的嵌入式处理器p8嵌入式处理器的分类:嵌入式微控制器(MCU),嵌入式微处理器(MPU),嵌入式DSP 处理器,SoC 片上系统。
1.嵌入式微控制器(MicroController)嵌入式微控制器又称单片机,就是将整个计算机系统集成到一块芯片中。
嵌入式微控制器将CPU、存储器(少量的RAM、ROM或两者都有)和其他外设封装在同一片集成电路里,因为其片上外设资源一般比较丰富,适合于控制,因此称为微控制器。
与嵌入式微处理器相比,微控制器的最大特点是单片化,体积大大减小,从而使功耗和成本降低、可靠性提高。
由于微控制器低廉的价格、优良的功能,所以拥有的品种和数量最多,是目前嵌入式系统工业的主流。
2.嵌入式微处理器(MicroProcessorUnit)嵌入式微处理器是由通用计算机中的CPU演变而来的。
与通用计算机处理器不同,在实际应用中,嵌入式系统将微处理器装配在专门设计的电路板上,只保留与嵌入式应用紧密相关的功能硬件,以满足嵌入式系统体积小、功耗低的特殊要求。
与工业控制计算机相比,嵌入式微处理器具有体积小、重量轻、成本低和可靠性高的优点。
3.嵌入式DSP (Digital Signal Processor )嵌入式DSP是专门用于信号处理的嵌入式芯片。
DSP处理器在系统结构和指令算法方面进行了特殊设计,使其适合于执行DSP 算法,因而能够对离散时间信号进行极快的处理计算,提高了编译效率和执行速度。
在数字滤波、FFT、频谱分析等方面,嵌入式DSP获得了大规模的应用。
嵌入式DSP处理器主要有两方面的应用:一方面,嵌入式DSP处理器经过单片化设计,通过在片上增加丰富的外设使之成为具有高性能DSP功能的片上系统;另一方面,在微处理器、微控制器或片上系统中增加DSP协处理器来实现DSP运算。
4.嵌入式片上系统(System on Chip )片上系统SoC是20世纪90年代后出现的一种新的嵌入式集成器件。
在嵌入式系统设计从“集成电路”级设计不断转向“集成系统”级设计过程中,提出了SoC的概念。
Soc追求产品系统的最大包容,已成为提高移动通信、网络、信息家电、高速计算、多媒体应用以及军用电子系统性能的核心器件。
SoC不是把系统所需要的所有集成电路简单地二次集成到一个芯片上,而是从整个系统的性能要求出发,把各层次电路器件紧密结合起来,并通过系统的软硬件协同设计,在单个芯片上实现整个系统的功能。
S oC最大的特点就是成功实现了软硬件无缝结合,直接在处理器片内嵌入操作系统的代码模块,满足了单片系统所要求的高密度、高速度、高性能、小体积、低电压和低功耗等指标。
4.ARM处理器模式p27、内核版本(T、D、M、I的含义)p21、内核体系架构p24、工作状态、寄存器组织p27、CPSR p29、SPSR p29、程序状态寄存器格式p29、程序计数器1)ARM 微处理器支持7 种运行模式。
①用户模式(usr):ARM 处理器正常的程序执行状态。
②快速中断模式(fiq):用于高速数据传输或通道处理。
③外部中断模式(irq):用于通用的中断处理。
④管理模式(svc):操作系统使用的保护模式。
⑤数据访问终止模式(abt):当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护。
⑥系统模式(sys):运行具有特权的操作系统任务。
⑦未定义指令中止模式(und):当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。
2)内核版本(T、D、M、I的含义):T—支持16 位的Thumb 指令集。
D—支持JTAG 片上调试。
M—支持用于长乘法操作(64 位结果)的ARM指令,包含快速乘法器。
I—带有嵌入式追踪宏单元ETM(Embedded Trace Macro),用来设置断点和观察点的调试硬件。
3)内核体系架构复杂指令集CISC和精简指令集RISC普林斯顿结构和哈佛结构4)工作状态:①ARM 状态(32 位,执行字对齐的32 位ARM 指令):当操作数寄存器的状态位【0】为0 时,执行BX 指令进入此状态,当ARM 处理器进行异常处理时,如果把PC 指针放入异常模式链接寄存器中,则程序从异常向量地址开始执行,也可以使处理器进入ARM 状态。
②Thumb 状态(16 位,执行半字对齐的16 位Thumb 指令):当操作数寄存器的状态位【0】为1 时,执行BX 指令进入此状态,如果ARM 处理器在Thumb 状态进入异常,则异常处理返回时,自动切换到此模式。
5)寄存器组织:共有37个寄存器:31个通用寄存器+6个状态寄存器:r0~r15:可以直接访问(可见)r0~r14:是通用寄存器R13:堆栈指针(sp)每种处理模式都有单独的堆栈R14:链接寄存器(lr)程序计数器PC(r15)CPSR:当前程序状态寄存器,包括代码标志和当前模式5个SPSRs:程序状态保存寄存器,异常发生时保存CPSR 状态不分组寄存器r0~r7:不分组意味着在所有处理器模式下,r0~r7都可被同样访问,没有体系结构所隐含的特殊用途。
分组寄存器r8~r14:分组意味着r8~r14的访问与当前处理器的模式相关。
如果要访问r8~r14,而不依赖于当前处理器的模式,就必须使用规定的寄存器名称。
名称的形式为:r8_<mode>~r14_<mode>r8~r12各有两组物理寄存器:一组为FIQ模式,另一组为FIQ以外的模式。
寄存器r8~r12没有指定特殊用途,而使用r8_fiq~r12_fiq则允许快速中断。
寄存器r13和r14的用途比较特殊:r13通常用作堆栈指针SP,被初始化成指向异常模式分配的堆栈。
r14通常用作子程序链接寄存器LR。
程序计数器r15:寄存器r15通常被用作程序计数器PC。
在ARM状态下,PC的值保存在位[31:2],而位[1:0]为0;在Thumb状态下,PC的值保存在位[31:1],而位[0]为0。
6)CPSR寄存器R16 用作当前程序状态寄存器(Current Program Status Register,CPSR),可在任何运行模式下被访问,它包括条件标志位、中断禁止位、当前处理器模式标志位,以及其他一些相关的控制和状态位。
7)SPSR每一种运行模式下又都有一个专用的物理状态寄存器,称为备份的程序状态寄存器(Saved Program Status Register,SPSR),当异常发生时,SPSR 用于保存CPSR 的当前值,当异常退出时则由SPSR 来恢复CPSR。
8)9)程序计数器寄存器r15通常被用作程序计数器PC。
在ARM状态下,PC的值保存在位[31:2],而位[1:0]为0;在Thumb状态下,PC的值保存在位[31:1],而位[0]为0。
5.异常的处理p31处理流程:当一个异常出现以后,ARM 微处理器会执行以下几步操作。
①将下一条指令的地址存入相应连接寄存器LR,以便程序在处理异常返回时能从正确的位置重新开始执行。
若异常是从ARM 状态进入,LR 寄存器中保存的是下一条指令的地址(当前PC+4 或PC+8,与异常的类型有关);若异常是从Thumb 状态进入,则在LR 寄存器中保存当前PC 的偏移量,这样,异常处理程序就不需要确定异常是从何种状态进入的。
例如,在软件中断异常SWI,指令MOV PC,R14_svc 总是返回到下一条指令,不管SWI是在ARM 状态执行,还是在Thumb 状态执行。
②将CPSR 复制到相应的SPSR 中。
③③根据异常类型,强制设置CPSR 的运行模式位。
④强制PC 从相关的异常向量地址取下一条指令执行,从而跳转到相应的异常处理程序处。
还可以设置中断禁止位,以禁止中断发生。
如果异常发生时,处理器处于Thumb 状态,则当异常向量地址加载入PC 时,处理器自动切换到ARM 状态。
ARM 微处理器对异常的响应过程用伪码描述如下:R14_<Exception_Mode> = Return LinkSPSR_<Exception_Mode> = CPSRCPSR[4:0] = Exception Mode NumberCPSR[5] = 0 ;当运行于ARM 工作状态时If <Exception_Mode> == Reset or FIQ then ;当响应FIQ 异常时,禁止新的FIQ 异常CPSR[6] = 1CPSR[7] = 1PC = Exception Vector Address⑤异常处理完毕之后,ARM 微处理器会执行以下几步操作从异常返回:将连接寄存器LR 的值减去相应的偏移量后送到PC 中;将SPSR 复制回CPSR 中;若在进入异常处理时设置了中断禁止位,要在此清除。
进入异常的操作:在相应的链接寄存器LR (r14)中保存下一条指令的地址将CPSR复制到相应的SPSR中强制使CPSR模式位设置成对应异常类型的值强制使程序计数器指向相应异常向量,取下一条指令异常返回:将连接寄存器LR的值减去相应的偏移量后送到PC中。
将SPSR复制回CPSR中。
若在进入异常处理时设置了中断禁止位,要在此清除。
应用程序总是从复位异常处开始执行程序,因此复位异常处理程序不需要返回。
优先级按照从高到低的顺序排列如下:复位数据异常中止FIQIRQ预取指异常中止SWI、未定义指令(这两种异常的指令编码互斥,不可能同时发生)6.ARM和THUMB两种指令集的基本概念p34 p48、指令寻址方式p36-38、大端小端、RISC的特点p24,哈佛和普林斯顿结构p24ARM和THUMB两种指令集的基本概念:ARM内核属RISC结构,指令长度固定,指令格式的种类少,寻址方式简单.ARM处理器内部的指令译码采用硬布线逻辑,不使用微程序控制,大部分指令可在一个时钟周期内完成。