嵌⼊式系统开发李宥谋答案
嵌⼊式系统开发
习题1
1.什么是嵌⼊式系统?有何特点?
答:嵌⼊式系统的概念有很多种,在嵌⼊式系统领域中⽐较认同的嵌⼊式系统的概念是:嵌⼊式
系统是以应⽤为中⼼,以计算机技术为基础,并且软硬件可裁剪,适⽤于应⽤系统对功能、可靠性、
成本、体积、功耗有严格要求的专⽤计算机系统。
嵌⼊式系统的特点:
⑴嵌⼊式系统是将先进的计算机技术、半导体技术以及电⼦技术与各个⾏业的具体应⽤相结合的
产物,这⼀点就决定了它必然是⼀个技术密集、资⾦密集、⾼度分散、不断创新的知识集成系统。
⑵系统内核⼩。由于嵌⼊式系统⼀般是应⽤于⼩型电⼦装置中,系统资源相对有限,所以内核较
之传统的操作系统要⼩得多。
⑶专⽤性强。
⑷系统精简。
⑸系统软件(OS)要求具有⾼实时性。
⑹嵌⼊式软件开发要⾛向标准化,需要使⽤多任务的操作系统。
⑺嵌⼊式系统本⾝并不具备在其上进⾏进⼀步开发的能⼒。
2.嵌⼊式系统可以分为⼏层?每⼀层各完成哪些功能?
答:嵌⼊式系统由硬件层、中间层、软件层和功能层组成。
硬件层:以嵌⼊式微处理器为核⼼,存储器⽤以存储数据和执⾏代码,相关的设备接⼝和I/O接⼝,这些组成了⼀个嵌⼊式系统的基础,实现逻辑运算,算术运算等。
中间层:将系统上层软件和底层硬件进⾏分离,封装成标准的接⼝,在上层软件开发⼈员⽆需知道底层硬件的具体情况,完成的任务是底层硬件的初始化、数据的输⼊/输出操作、硬件的配置等功能。
软件层:主要由RTOS、⽂件系统、图形⽤户接⼝、⽹络系统和通⽤的组件模块组成,是软件开发的基础。
功能层:⽤来完成被控对象的控制功能。
3.嵌⼊式系统中硬件抽象层有什么特点?
答:硬件抽象层是介于硬件层与软件层之间的中间层,它将系统上层软件与底层硬件分离开来,
具有以下两个特点:
⑴硬件相关性:因为嵌⼊式实时系统的硬件环境具有应⽤相关性,⽽作为上层软件与硬件平台之
间的接⼝,硬件抽象层需要为操作系统提供操作和控制具体硬件的⽅法。
⑵操作系统相关性:不同的操作系统具有各⾃的软件层次结构,因此,不同的操作系统具有特定
的硬件接⼝形式。
4.简述嵌⼊式处理器的硬件组成?
答:随着集成电路集成度的不断提⾼,嵌⼊式系统板级的硬件电路模块也越来越多的集成到芯⽚
内部,⽬前处理器芯⽚内部的电路模块组成如下:
⑴处理器内核,以CPU为核⼼,有的还包含MMU(存储器管理单元)、Cache(⾼速缓存)、ICE (在线仿真)等电路模块。
⑵DSP/协处理器,对于多媒体处理的处理器,内部⼀般有DSP(数字信号处理)、浮点运算、图像加速等协处理器。
⑶RAM/ROM,在单⽚机处理器中,处理器芯⽚内部⼀般集成了ROM(只读存储器)和RAM(可读可写存储器)。
⑷处理器内部控制电路,如PLL(锁相环)、复位、DMA(直接存储器存取)、中断控制器、低功耗控制、看门狗等电路。
⑸芯⽚内部接⼝电路,如GPIO(通⽤输⼊、输出)接⼝、I2C(双向两线制的串⾏总线)接⼝、IIS (⾳频总线)接⼝、
SPI(串⾏外设接⼝)、USB(通⽤串⾏总线)接⼝、LCD(液晶显⽰)接⼝、ADC/DAC (模数/数模转换)、UART(通⽤异步收发器)、IrDA(红外接⼝)、CAN(控制器局域⽹络)总线接⼝、以太⽹接⼝、Timer/RTC(定时器/计数器)接⼝等电路模块。
5.嵌⼊式处理器分那⼏类?它们有何特点?
答:⑴嵌⼊式微处理器。特点:处理能⼒强,具有较⾼的性能,价格也相应较⾼。
⑵嵌⼊式微控制器。特点:主要⽤于嵌⼊式体统⼯业的主流,跟嵌⼊式微处理器相⽐,微控制器
的最⼤特点是单⽚化,体积⼤⼤减⼩,从⽽使功耗和成本下降,可靠性提⾼。并且价格低廉,功能优良,拥有的品种和数量最多。
⑶嵌⼊式DSP处理器。特点:DSP处理器是专门⽤于信号处理⽅⾯的处理器,在系统结构和指令算法⽅⾯进⾏了特殊设计,具有很⾼的编译效率和指令的执⾏速度。
⑷SoC⽚上系统。特点:①实现了软硬件⽆缝结合,直接在处理器⽚内嵌⼊操作系统的代码模块
②具有极⾼的综合性,在⼀个硅⽚内部运⽤VHDL等硬件描述语⾔,实现⼀个复杂的系统
③绝⼤部分系统构件在系统内部,系统简洁,减少了系统的体积和功耗,提⾼了系统的可靠性跟设计⽣产效率。
6.分析⽬前市场上常⽤的⼏种嵌⼊式处理器,说明不同嵌⼊式处理器的各⾃特点?
答:⽬前市场上常⽤的嵌⼊式处理器有MCS51单⽚机,ARM处理器,MIPS处理器,PowerPC处理器,MC68000处理
器,X86处理器等。
MCS51的特点是,8位CPU,⽚内振荡器,4KBROM ,128KBRAM,21个特殊功能寄存器,32根I/O总线,⽚外可寻范围分别为64KB的外部程序和数据,两个16位的定时/计数器,⼀个全双⼯串⼝接⼝,中断结构分为两级优先级,5个中断源,适于按位逻辑运算的处理器。
ARM处理器的特点是,体积⼩,功耗低,成本低,⾼性能,⽀持16/32位双指令集,在全球有众多合作伙伴。
MIPS处理器的特点是,⾼性能,⾼档次的处理器,有32位和64位的处理器,简化硬件设计,强调软硬件协同提⾼性能。PowerPC处理器特点,具有优异的性能,低能量消耗,低散热量。
MC68000处理器,是⼀个16/32位的CISC处理器,采⽤32位总线和寄存器,这个结构对之后的32为产品保持兼容。
X86处理器的特点,可变指令长度的CISC处理器,允许不对齐访问存储器。
7.举例说明嵌⼊式处理器的性能指标?并分析对嵌⼊式系统的影响?
答:性能指标主要有主频,处理器字长,数据通路速度,运算速度,⾼速缓存和处理器的系统架构。主频,执⾏每条指令的时钟周期数⼀定,主频越⾼单位时间内执⾏的指令越多。处理器字长,处理器内部数据运算的基本位数,反映的是计算精度,以及单次处理数据的总长度;数据通路速度,读取指令数据传输计算数据的速度越⾼,处理器性能越好。运算速度,⽤
MIPS(每秒执⾏多少百万条指令)表⽰,MIPS越⼤,说明运算速度越快;⾼速缓存,突破主存访问速度的瓶颈,提⾼处理器的综合性能。
8.简述你对嵌⼊式操作系统的认识,分析嵌⼊式操作系统有哪些特点?
答:嵌⼊式操作系统EOS是⼀种⽀持嵌⼊式系统应⽤的操作系统软件,它是嵌⼊式系统(包括软硬件系统)极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接⼝、通信协议、图形界⾯、标准化浏览器等。
EOS是相对于⼀般操作系统⽽⾔的,它除具备了⼀般操作系统最基本的功能,如任务调度、同步机制、中断处理、⽂件功能等之外,还有以下特点:
⑴可装卸性,开放性、可伸缩性的体系结构。
⑵强实时性,EOS实时性⼀般较强,可⽤于各种控制系统中。
⑶统⼀的接⼝,提供各种设备驱动接⼝。
⑷操作⽅便、简单,提供友好的图形GUI,追求易学易⽤。
⑸提供强⼤的⽹络功能,⽀持TCP/IP协议及其他协议,提供TCP/UDP/IP/PPP协议⽀持及统⼀的MAC访问层接⼝,为各种移动计算设备预留接⼝。
⑹强稳定性,弱交互性。
⑺固化代码。
⑻更好地硬件适应性,也就是良好的移植性。
9.试分析实时操作系统中可抢占型和不可抢占型有何区别?并举例说明。
答:实时操作系统可分为可抢占型和不可抢占型两类。对于基于优先级的系统⽽⾔,可抢占型的
实时操作系统是指内核可以抢占正在运⾏任务的CPU使⽤权并将使⽤权交给进⼊就绪态的优先级更⾼的任务,是内核抢了CPU让别的任务运⾏。不可抢占型实时操作系统使⽤某种算法以决定让某个任务运⾏后,就把CPU的控制权完全交给该任务,直到它主动将CPU控制权还回来。
⽐如嵌⼊式操作系统uC/OS,可以根据优先级进⾏抢占使⽤CPU,优先级⾼的任务可以⽐优先级低的任务优先使⽤CPU。
10.简述嵌⼊式系统的开发过程?
答:嵌⼊式系统的开发过程可以分为需求分析、建⽴开发环境、体系结构设计、软件/硬件设计、系统集成和系统优化与测试6个阶段。如果设计的流程是从需求分析开始,然后是建⽴开发环境,依次进⾏,最后是系统优化与测试,那么就叫做⾃上⽽下的设计流程;反之就叫做⾃下⽽上的设计流程。
所有的嵌⼊式系统设计不可避免的设计这六个阶段,更重要的是到⼀个好的设计⽅法,⽬前⼀种⽐较好的设计⽅法是采⽤计算机辅助设计⼯具。
11.简述在线仿真器ICE和在线调试器ICD有何区别?
答:在线仿真器ICE是⼀种模拟CPU的设备,能执⾏CPU的全部动作。采⽤该⽅式调试时,利⽤仿真头代替⽬标板上的CPU,可以完全仿真CPU的⾏为。
在线调试器ICD是将CPU的调试功能的引脚引出来,让外部的硬件直接连接到这些引脚上去监控整个CPU的动作。
12.试分析嵌⼊式系统测试中的纯软件测试过程,举例说明实现⽅法。
答:纯软件测试过程是指⽤⼯具采⽤软件打点技术,在被测试代码中加⼊⼀些函数,这些函数⽤来完成数据的⽣成,并将数据送往⽬标机系统的共享内存中,同时,在⽬标机系统中运⾏⼀个与处理任务,⽤于完成这些数据的预处理,然后将处理过的数据通过⽬标机的串⼝,⽹⼝或者USB⼝送往宿主机测试平台。举例,可以在程序中间插⼊函数,读出当前所有寄存器内容,发送⾄⽬标机系统,测试者可以根据这些数据了解系统执⾏情况。
习题2
1.按照ARM处理器的命名规则,说明ARM7TDMI中T、D、M、I的含义。
x86架构和arm架构区别答:T:⽀持16位的Thumb指令集;D:⽀持JTAG⽚上调试;M:⽀持长乘法操作(64位结果)的ARM指令,包含快速乘法器;I:带有嵌⼊式追踪宏单元ETM(EmbeddedTraceMacro),⽤来设置断点和观察点。
2.什么是哈佛结构?与普林斯顿结构有何区别?
答:哈佛结构是⼀种将程序中指令和数据分开存储的存储器结构。即哈佛结构中程序存储器和数据存
储器是两个独⽴的存储器,每个存储器独⽴编址、独⽴访问。
普林斯顿结构(冯·诺伊曼结构)是⼀种将程序指令存储器和数据存储器合并在⼀起的存储器结构。程序指令存储地址和数据存储地址指向同⼀个存储器的不同物理位置。这便是。这便是两种结构的区
别。
3.什么是RSIC?什么是CSIC?简述他们的特点与差别。
答:RSIC是精简指令集计算机,CISC是复杂指令集计算机。两者的区别在于不同的CPU设计理念和⽅法。
对于CISC:⑴在CSIC结构的指令系统中,各种指令的使⽤频率相差悬殊。有80%的指令只在20%的运⾏时间内才会⽤到。
⑵CISC结构指令系统的复杂性带来了计算机体系结构的复杂性,这不仅增加了研制时间和成本,⽽且还容易造成设计错误。
⑶在CISC结构指令系统中,由于各条指令的功能不均衡性,不利于采⽤先进的计算机体系结构技术来提⾼系统的性能。
对于RISC:⑴简化指令集,只保留常⽤的基本指令;
⑵设计⼤量的通⽤存储器,减少访存的次数;
⑶采⽤装载/保存结构,⽀持流⽔线技术,使每个周期时间相等;
⑷采⽤简单的指令格式、规整的指令字长和简单的寻址⽅式;
⑸单机器周期指令,即⼤多数的指令都可以在⼀个机器周期内完成,并且允许处理器在同⼀时间内执⾏⼀系列的指令。
4.ARM7处理器是⼏级流⽔线?在ARM7处理器中,“PC指向的是下⼀条要执⾏的指令”,这句话
对吗?为什么?
答:ARM7处理器采⽤三级流⽔线。
“PC指向的是下⼀条要执⾏的指令”,这句话不对。在ARM处理器中将PC程序计数器定义到R15寄存器,⽆论处理器处于何种状态,PC总是指向“正在取值”指令的地址,⼀般来说,⼈们习惯性的约定将“正在执⾏的指令作为参考点”,成为当前第⼀条指令,那么PC总是指向随后的第三条指令,或者说PC总是指向当前正在执⾏的指令地址再加上2条指令的地址,即指向正在执⾏指令的下下⼀条指令,⽽不是指向下⼀条要执⾏的指令。
5.简述ARM处理器中在线仿真器模块EmbeddedICE-RT的作⽤。
答:ARM处理器中的在线仿真器模块EmbeddedICE-RT,⼀般还带有嵌⼊式宏跟踪单元模块ETM,实现ARM处理器的在线调试和运⾏过程的跟踪功能;并且具有诸多ICE功能,例如实时寻址、断点、单步、对ARMCPU的完全控制、对ASIC系统其余部分的访问,以及对主机显⽰器外设访问、键盘输⼊和磁盘存储。
6.ARM处理器的⼯作状态分为哪⼆种?ARM处理器⼜是怎么定义和标志的?
答:ARM处理器的⼯作状态分为ARM状态和Thumb状态,这两种状态有程序状态字CPSR中T标志位确定,为0时处理器⼯作在ARM状态,为1时处理器⼯作在Thumb状态。
7.ARM7TDMI⽀持哪⼏种指令集,各有什么特点?
答:ARM7TDMI处理器内核包含2套指令系统,分别为ARM指令集和Thumb指令集,两种指令集的特点是:
ARM指令集:处理器执⾏32位字对齐⽅式的ARM指令,每条ARM指令长度为32位,指令的功能强⼤。
Thumb指令集:处理器执⾏16位字对齐⽅式的Thumb指令,每条Thumb指令长度为16位,是ARM 指令功能的⼦集。
8.ARM7处理器有哪些⼯作模式?如何实现不同模式之间的切换?举例说明。
答:ARM处理器供⽀持7种⼯作模式,分别为:⽤户模式(usr);快速中断模式(fiq);外部中断模式(irq);管理模式(svc);数据访问终⽌模式(abt);系统模式(sys);未定义指令中⽌模式(und)。在7中模式中,除⽤户模式外,其他的6种模式称为特权模式,特权模式可以⾃由的切换处理器模式,⽽⽤户模式不能直接切换到别的模式。特权模式下通过修改当前程序状态寄存器CPSR中控制位M[4:0]的值,来改变处理器的运⾏模式。
例如
MSRCPSR_c,#(NoInt|SVC32Mode)//从系统模式切换到管理模式
MSRCPSR_c,#(NoInt|SYS32Mode)//从管理模式切换到系统模式
9.描述ARM7处理器的内部寄存器结构,并分别说明快速中断FIQ有何特点?
答:ARM7微处理器共有37个32位寄存器,其中31个为通⽤寄存器,6个为状态寄存器。37个寄存器定义如下:
⑴31个通⽤寄存器:R0~R15、R8_fiq、R9_fiq、R10_fiq、R11_fiq、R12_fiq、R13_fiq、R14_fiq、R13_svc、R14_svc、R13_abt、R14_abt、R13_und、R14_und、R13_irq、R14_irq。
⑵6个状态寄存器:CPSR、SPSR_abt、SPSR_svc、SPSR_irq、SPSR_fiq、SPSR_und。
快速中断FIQ,适⽤于对⼀个突发事件的快速响应,在ARM状态中,快中断有8个专⽤的寄存器,可以缩短状态切换时需要的时间。当CPSR中相应的F位清零,快速中断被使能。
10.什么是中断延时?在实时系统中如何计算中断延时时间?
答:中断延时是系统响应⼀个中断所需要的时间,即从外部中断请求信号发出到执⾏对应的中断服务
程序ISR的第1条指令所需要的时间。
FIQ的中断延时计算,当FIQ使能时,最坏的延时包括:
a)Tsyncmax:请求通过同步器的最长时间,为两个处理器周期。
b)Tldm:最长执⾏时间,最长为20个周期。
c)Texc:数据中⽌异常进⼊时间,为三个周期。
d)Tfiq:FIQ进⼊时间,为两个周期
总的延时可为27个周期。
11.在内存的数据存储过程中,什么是“字对齐”和“半字对齐”?
答:在内存数据存储过程中,⼀般分为⼩端存储格式和⼤端存储格式。下⾯以⼩端存储格式为例来说
明字对齐和半字对齐:
在⼩端存储格式中,对于地址为A的字单元,其中字节的低位字节到⾼位字节地址顺序为A,A+1,
A+2,A+3;对于地址为A的半字单元,其中字节的低位字节到⾼位字节地址顺序为A,A+1。
12.简述程序计数器(PC)在处理器⼯作中的作⽤。
答:在ARM处理器中将PC程序计数器定义到R15寄存器,⽆论处理器处于何种状态,PC总是指向“正在取值”指令的地址。
13.简述ARM处理器中的返回链接寄存器(LR)在处理器⼯作中的作⽤。
答:链接寄存器LR⽤于保存⼦程序返回地址或者异常处理程序的返回地址,LR寄存器⼀共有6个,其中⼦程序的返回地址使⽤⼀个R14,每种异常模式各⾃有⼀个专⽤的LR寄存器⽤于保存异常处理程序的返回地址,它们分别为R14_fiq、R14_svc、R14_abt、R14_und、R14_irq。
14.分别简述ARM处理器中的CPSR、SPSR在处理器⼯作中的作⽤。
答:ARM内核包含1个CPSR和5个仅供异常处理模式使⽤的SPSR。
由于所有模式全部共享⼀个程序状态寄存器CPSR,因此处理器所有的状态全部都保存在CPSR中,也就是ARM内核是通过CPSR来监视和控制内部操作的。
每种异常模式都有⼀个对应的程序状态保存寄存器SPSR,⽤于保存任务在异常发⽣之前的CPSR状态的当前值。
15.结合CPSR的结构,说明程序状态字中各个bit位的作⽤。
答:⑴条件代码标志(共计4bit)含义如下:
N:运算结果的最⾼位反映在该标志位。对于有符号⼆进制补码,结果为负数时N=1,结果为正数或零时N=0;
Z:指令结果为0时Z=1(通常表⽰⽐较结果“相等”),否则Z=0;
C:当进⾏加法运算,最⾼位产⽣进位时C=1,否则C=0。当进⾏减法运算(包括CMP指令),最⾼位产⽣借位时C=0,否则
C=1。
V:当进⾏加法/减法运算,并且发⽣有符号溢出时V=1,否则V=0,其它指令V不变。
⑵CPSR的最低8位为控制位,控制了处理器的⼯作⽅式。当发⽣异常时,这些位被硬件改变。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论