嵌入式习题
1、谈谈你心目中的“嵌入式系统”的主要内容和核心技术。
什么是嵌入式系统:(1)、嵌入式系统是以应用为中心,以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积以及功耗严格要求的专用计算机系统。(2)、嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统。嵌入式的三要素:
嵌入性:嵌入到对象体系中,有对象环境要求
专用性:软、硬件按对象要求裁减
计算机:实现对象的智能化功能
嵌入式系统的特性:
只执行特定功能
以微控制器、外围器件为中心,系统构成可大可小
有严格的时序性和稳定性要求
自动操作循环,等待中断控制
程序被烧录在芯片中
2、用自己的语言总结几种嵌入式处理器各自的优缺点。
(1) 嵌入式微处理器(Embedded Microprocessor Unit. EMPU)
嵌入式微处理器的基础就是通用计算机中的CPU,在应用中,是将嵌入式微处理器装配在专门设计的主板上.只保留和嵌入式应用有关的主板功能.这样可以大幅度减小系统的体积和功耗。嵌入式微处理器在工作温度、电磁兼容性以及可靠性方面的要求较通用的标准微处理器高。和工业控制计算机相比.嵌入式微处理器组成的系统具有体积小.重量轻.成本低.可靠性高的优点。但在其电路板上必须包括ROM . RAM .总线接口.各种外设等器件.从而降低了系统的可靠性.技术保密性也较差。
(2) 嵌入式微控制器(Microcontroller Unit. MCU)
嵌入式微控制器又称单片机.它将整个计算机系统集成到一块芯片中.嵌入式微控制器一般以某种微处理器内核为核心.根据某些典型的应用.在芯片内部集成了ROM/EPROM . RAM .总线.总线逻辑.定时/ 计数器.看门狗. I/O .串行口.脉宽调制输出. A/D . D/A . Flash RAM . EEPROM 等各种必要功能部件和外设.为适应不同的应用需求.对功能的设置和外设的配置进行必要的修改和裁减定制.使得一个系列的单片机具有多种衍生产品.每种衍生产品的处理器内核都相同.不同的是存储器和外设的配置及功能的设置.这样可以使单片机最大限度地和应用需求相匹配.从而减少整个系统的功耗和成本.和嵌入式微处理器相比.微控制器的单片化使应用系统的体积大大减小.从而使功耗和成本大幅度下降.可靠性提高.由于嵌入式微控制器目前在产品的品种和数量上是所有种类嵌入式处理器中最多的.而且上述诸多优点决定了微控制器是嵌入式系统应用的主流.微控制器的片上外设资源一般比较丰富.适合于控制. (3) 嵌入式DSP 处理器(Embedded Digital Signal Processor. EDSP )
一种独特的微处理器,是一种以数字信号来处理大量信息的器件。其包括有控制单元、运算单元、各种寄存器以及一定数量的存储单元。其工作原理是接受模拟信号,转换为0或1的数字信号,在对数字信号进行修改、删除、强化,并在其它系统芯片中把数字数据解译回模拟数据或实际环境格式。它具有接口方便、编程方便、稳定性好、精度高、可重复性
好、集成方便等优点。在高速小车循线、语音图像识别、工业控制等领域,DSP被广泛应用。
(4) 嵌入式片上系统(System On Chip. SOC)
通过VLSI 设计等技术将整个嵌入式系统集成到一块或几块芯片中去。这样,应用系统电路板将变得很简单、集成度高。对于减小整个应用系统体积和功耗.提高可靠性非常有利。3、嵌入式系统与PC机、单片机有何区别?
单片机只有嵌入式系统的部分结构和部分功能:(1) 单片机数据处理能力有限、处理速度有
限,不能够用于所有的嵌入式系统(2) 单片机不使用操作系统(3) 单片机无网络功能
4、嵌入式实时操作系统与普通操作系统、一般实时操作系统有何不同?
嵌入式实时操作系统:当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统作出快速响应,并控制所有实时任务协调一致运行的嵌入式操作系统。
实时操作系统所遵循的最重要的设计原则是:采用各种算法和策略,始终保证系统行为的可预测性。可预测性是指在系统运行的任何时刻,在任何情况下,实时操作系统的资源调配策略都能为争夺资源(包括CPU、内存、网络带宽等)的多个实时任务合理地分配资源,使每个实时任务的实时性要求都能得到满足。与通用操作系统不同,实时操作系统注重的不是系统的平均表现,而是要求每个实时任务在最坏情况下都要满足其实时性要求,也就是说,实时操作系统注重的是个体表现,更准确地讲是个体最坏情况表现。
由于实时操作系统与通用操作系统的基本设计原则差别很大,因此在很多资源调度策略的选择上以及操作系统实现的方法上两者都具有较大的差异
嵌入式操作系统与普通的操作系统有着很大的不同,不同的根源来自于嵌入式资源的限制,你需要在比pc小的多得多的cpu速度、内存、flash的嵌入式硬件环境中完成多任务、实时、内存访问、硬件设备操作等等复杂任务。几乎在开发的任何时候你都要考虑到如何使用最短代码、最小的内存得到最快速度的计算和操作。
5、简要介绍SoC技术
随着VLSI设计的普及化及半导体工艺的迅速发展,在一个硅片上实现一个更为复杂的系统,即为SoC。
从狭义角度讲,它是信息系统核心的芯片集成,是将系统关键部件集成在一块芯片上;从广义角度讲, SoC是一个微小型系统,如果说中央处理器(CPU)是大脑,那么SoC就是包括大脑、心脏、眼睛和手的系统。国内外学术界一般倾向将SoC定义为将微处理器、模拟IP核、数字IP核和存储器(或片外存储控制接口)集成在单一芯片上,它通常是客户定制的,或是面向特定用途的标准产品。
SoC可以分为通用和专用两类。专用SoC一般专用于某个或某类系统中,具有代表性的作品是philips的Smart XA,它将XA单片机内核和支持超过2048位复杂RSA算法的CCU单元制作在一个硅片上,形成一个可加载JA V A或C语言的专用SoC,可用于公众互联网安全方面。
1、如何进行处理器的状态切换?可否通过直接修改CPSR中的控制位T来实现?为什么?可以使用BX指令将内核的操作状态在ARM状态和Thumb状态之间进行切换,例如:
;从ARM状态切换到Thumb状态
LDR R0,=Lable+1
BX R0
;从Thumb状态切换到ARM状态
LDR R0,=Lable
BX R0
程序不能通过直接修改CPSR中T的控制位直接将程序状态切换到Thumb状态,必须通过BX等指令完成程序状态的切换,强制改变CPSR寄存器中的T位,处理器会进入一个无法预知的状态,会出现错误。
2、试从多个方面分析为什么FIQ中断的响应时间比IRQ中断的响应时间短?
IRQ异常处理过程:
备份PC、CPSR的值到LR_irq、SPSR_irq;
CPSR的I位置‘1’,F位无影响,禁止IRQ异常;
CPSR的M[4:0]赋值‘0b10010’,处理器转入到ARM状态的irq模式;
PC(R15)←0x0000 0018;
FIQ异常处理过程:
备份PC、CPSR的值到LR_fiq、SPSR_fiq;
CPSR的I位和F位置‘1’,禁止IRQ、FIQ异常;
CPSR的M[4:0]赋值‘0b10001’,处理器转入到ARM状态的fiq模式;
PC(R15)←0x0000 001C;
IRQ、FIQ异常向量地址分别是:0x0000 0018、0x0000 001C
ARM的FIQ模式提供了更多的私有寄存器,R8到R4还有SPSR,而IRQ模式就没有那么多,R8,R9,R10,R11,R12对应的私有的寄存器就没有,这就意味着在ARM的IRQ模式下,
中断处理程序自己要保存R8到R12这几个寄存器,然后退出中断处理时程序要恢复这几个寄存器,而FIQ模式由于这几个寄存器都有私有寄存器,模式切换时CPU自动保存这些值到私有寄存器,退出FIQ模式时自动恢复,所以这个过程FIQ比IRQ快.。
3、ARM为什么要支持7种模式?在处理器内部,为什么要设置37个寄存器?“状态”与“模式”有何关联?
arm嵌入式系统期末考试7种模式:用户,系统,快速中断(FIQ),外部中断(IRQ),管理(supervisor),中止模式(Abort),未定义(undef)
七种模式都是针对上层软件的,就是为上层的软件操作系统提供了硬件的接口
系统模式和用户模式共享相同的寄存器。用户、系统模式没有“保存的程序状态寄存器(SPSR)”,而其他5种模式分别有一个对应的“保存的状态寄存器(SPSR)”,即共五个SPSR,七个模式共用一个“当时程序状态寄存器(CPSR)”,即共六个状态寄存器,还有31个通用寄存器。
两个状态之间的切换并不影响处理器模式或寄存器内容