第一章嵌入式系统概论1.嵌入式系统的定义是什么?答:以应用为中心,以计算机技术为基础,硬件、软件可裁剪,功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。2.简述嵌入式系统的主要特点。答:(1)功耗低、体积小、具有专用性(2)实时性强、系统内核小(3)创新性和高可靠性(4)高效率的设计(5)需要开发环境和调试工具3.嵌入式系统一般可以应用到那些领域?答:嵌入式系统可以应用在工业控制、交通管理、信息家电、家庭智能管理系统、网络及电子商务、环境监测和机器人等方面。4.简述嵌入式系统的发展趋势答:(1)嵌入式应用的开发需要强大的开发工具和操作系统的支持(2)连网成为必然趋势(3)精简系统内核、算法,设备实现小尺寸、微功耗和低成本(4)提供精巧的多媒体人机界面(5)嵌入式软件开发走向标准化5.嵌入式系统基本架构主要包括那几部分?答:嵌入式系统的组织架构是由嵌入式处理器、存储器等硬件、嵌入式系统软件和嵌入式应用软件组成。嵌入式系统一般由硬件系统和软件系统两大部分组成,其中,硬件系统包括嵌入式处理器、存储器、I/O系统和配置必要的外围接口部件;软件系统包括操作系统和应用软件。6.嵌入式操作系统按实时性分为几种类型,各自特点是什么?答:(1)具有强实时特点的嵌入式操作系统。(2)具有弱实时特点的嵌入式操作系统。(3)没有实时特点的嵌入式操作系统。第二章嵌入式系统的基础知识1.嵌入式系统体系结构有哪两种基本形式?各自特点是什么?答:冯诺依曼体系和哈佛体系。冯诺依曼体系结构的特点之一是系统内部的数据与指令都存储在同一存储器中,其二是典型指令的执行周期包含取指令TF,指令译码TD,执行指令TE,存储TS四部分,目前应用的低端嵌入式处理器。哈佛体系结构的特点是程序存储器与数据存储器分开,提供了较大的数据存储器带宽,适用于数据信号处理及高速数据处理的计算机。2.在嵌入式系统中采用了哪些先进技术?答:(1)流水线技术(2)超标量执行(3)总线和总线桥3.简述基于ARM架构的总线形式答:ARM架构总线具有支持32位数据传输和32位寻址的能力,通过先进微控制器总线架构AMBA支持将CPU、存储器和外围都制作在同一个系统板中。AMBA具体包含两条总线,一是高性能总线AHB是为高速传输而经过优化的,他直接连接到CPU上。二是连接外设的外围设备总线APB,属于本地二级总线,通过桥连接器与AHB相连,它主要用于不需要高性能流水线接口或不需要高带宽接口的设备互联。4.简述一下嵌入式存储系统的地址映像方式和组成结构。答:嵌入式存储系统一般是由高速缓存区Cache(SRAM),内部存储器(SDRAM)和外部存储器(FlashROM)组成。5.简介嵌入式存储系统的地址映像方式和工作原理。答:通常使用的方法有全相联映像:它允许内存中的每一个存储块都可以映像到Cache存储器的任何一个存储块位置上,也允许从确实已被沾满的Cache存储器中替换出任何一个旧存储块。直接映像方式:内存中的存储块与Cache中存储块有固定的对应关系。组相连映像方式:是直接映像和全相连映像方式的一种折中方案。6.闪速存储器主要由哪两种技术实现?他们的主要差别是什么?答:NOR型和NAND型两种非易失闪速存储器。差别:(1)NORFlash带有SRAM接口,具有先行寻址特性,可以很容地存取访问其内部的每一个字节,NOR类型的速度比NAND类型稍快一些。NANDFlash使用复用接口和控制IO接口对此寻址存取数据,NAND类型的擦除速度和写入速度比NOR类型块。(2)NANDFlash生产简单,成本低。存储密度大于NORFlash。(3)NANDFlash每块最多擦鞋次数是100万次,而NOR类型存储器的最多擦写次数是10W次。7.简述在嵌入式存储系统中的数据存放的格式。答:存放格式分为大端序格式和小端序格式。8.嵌入式软件系统结构包含有哪几个层面,主要完成什么功能?答:四个层面:驱动层、操作系统层、中间件层、应用层。驱动层:为上层软件提供了设备的接口操作系统层:隐藏硬件细节,而只提供给应用程序开发人员一个抽象的接口。应用层:完成特定的工作。9.简述嵌入式操作系统发展的四个阶段。答:(1)无操作系统阶段(2)简单操作系统阶段(3)实时操作系统阶段(4)面向Internet阶段10.什么是嵌入式实时操作系统?简单介绍其特点。答:在给定的时间内提供某种程度的服务,如果在规定的时间内没有得到结果,那整个的系统就是失败。特点:(1)多任务(2)任务的事件驱动(3)中断与中断优先级(4)同步与异步(5)资源与临界资源(6)容错与安全性11.非占先式与占先式调度法的区别有哪些?答:非占先式内核的任务及响应时间是不确定的,不知道什么时候高优先级的任务才能拿到CPU的控制权,完全取决于应用程序什么时候释放CPU。占先式内核最高优先级的任务一旦就绪,总能得到CPU的控制权。12简述嵌入式微处理器的中断处理过程。答:(1)保存CPSR到SPSR(2)设置当前状态寄存器CPSR中的相应位。(3)将一起异常指令的下一条指令的地址保存到新的异常工作模式的程序连接寄存器R14_mode中,使异常处理程序执行完后能正确返回原地址。(4)给程序计数器(PC)强制赋值,使程序在对应的矢量地址开始执行中断处理程序。13嵌入式硬实时操作系统与软实时操作系统有什么不同?14常用的四种嵌入式操作系统各自都有哪些特点?答:uC/OS-II:首先是公开源代码,其次是具有可移植性、可固化、可裁剪性。Linux:(1)开放源代码(2)内核小、功能强大、运行稳定、效率高(3)有大量的且不断增加的开发工具和开发环境。(4)对网络方面的支持是非常完整的(5)应用广泛。(6)包括内核和应用程序两部分。(7)包括进程调度、内存管理、文件管理、进程间通信、网络和驱动程序。WindowsCE:(1)WinCE不能运行现有的任何Windows应用程序。(2)有严格的内存限制。(3)有精简的运行库和API(4)通常没有鼠标(5)硬件并不十分标准化VxWorks:可靠性、实时性和可裁剪性。15.嵌入式系统的计算机语言主要有哪几种?分别用在什么场合?答:嵌入式系统的计算机语言主要有汇编语言,其中包括ARM/Thumb/Jazelle。应用代码一般使用C语言。16.什么是操作系统的移植?17.简述ARM指令集的基本寻址方式和分类形式?答:ARM处理器支持的基本寻址方式一共有9种,具体的有立即数寻址、寄存器寻址、寄存器间接寻址、寄存器唯一寻址、基址寻址、相对寻址、多寄存器寻址、块复制寻址、堆栈寻址方式。ARM指令集可以分为跳转指令、数据处理指令、程序状态寄存器(PSR)传输指令、Load/Store指令、异常中断产生指令和协处理器指令6类。18.简述ARM指令集同X86指令集的主要差别。答:指令格式定长4字节、不定长1-15字节程序读/写指令计数器可以、不可以状态标志位更新由指令的附加位决定、指令隐含决定按照边界对其取指令必须在4字节边界取指操作数寻址方式三地址、二地址状态位个数4/6高密度指令有、无条件判断执行几乎每一条、专用条件判断指令栈数据传输指令没有,用LDM/STM实现、有专用指令PUSH/POPDSP处理的乘加指令有、无访存体系结构Load/Store指令、算术逻辑指令也能访问内存19.ARM指令集和Thumb指令集的主要差异有哪些?答:指令工作标志:CPSR的T位=0、CPSR的T位=1操作数寻址方式:大多数指令为3地址、大多数指令为2地址指令长度:32位、16位内核指令:58条、30条条件执行:大多数指令、只有分支指令数据处理指令:访问桶形位移器和ALU、独立的桶形位移器和ALU寄存器使用:15个通用寄存器+PC(R15)、8个通用低寄存器+7个高寄存器+PC(R15)程序状态寄存器:特权模式下可读写、不能直接访问异常处理:能够全盘处理、不能处理第三章基于ARM架构的嵌入式微处理器1.基于ARM架构的微处理器有哪些特点?答:在处理器内部大量使用32位寄存器使内部的代码及实时内核的执行时间减少到最低的限度。系统内部具有很强的存储区保护功能。内部具有可扩展的处理器结构,以最短的时间和最快的速度扩展出满足应用性能的嵌入式微处理器。系统具有小体积、低功耗、低成本、高性能的特点。2.简述基于ARM架构的微处理器的内部结构。答:ARM系统架构的微处理器一般是由32位算术逻辑单元ALU、近40个32位通用及专用寄存器组、32位桶形移位寄存器、指令译码及控制逻辑、指令流水线和数据/地址寄存器等部件组成。3.ARM指令集定义了几种变种形式?答:(1)Thumb指令集(T变种)(2)长乘法指令(M变种)(3)增强型DSP指令(E变种)(4)JAVA加速器Jazelle(J变种)(5)ARM媒体功能扩展(SIMD变种)4.简述ARM微处理器的两种工作状态。答:从编程角度看,ARM微处理器的工作状态一般有ARM状态和Thumb状态两种工作状态。ARM工作状态时,处理器执行32位的字对齐和ARM指令系统。对于Thumb工作状态,此时处理器执行16位的,半字对齐的Thumb指令系统。可以通过转移指令在两种状态之间进行切换,两者之间的状态切换不影响处理器工作状态和寄存器中的内容。5.ARM微处理器有哪几种工作模式?答:ARM微处理器支持7中工作运行模式:用户模式(USR)快速中断模式(FIQ)外部中断模式(IRQ)管理模式(SVC)中止模式(ABT)未定义(UND)系统模式(SYS)6.简述ARM微处理器的寄存器组织及R13/R14/R15/CPSR/SPSR的特殊作用及使用场合。答:寄存器R13在ARM中常用作栈指针,在ARM指令集中只是一种习惯的用法,在Thumb指令集中,有一些指令强制性的使用R13作为栈指针。寄存器R14又称为连接寄存器,在ARM体系中具有下面两种特殊作用。每一种处理器模式中,自己的物理地址R14中存放在当前子程序的返回地址。当通过BL或BLX指令调用子程序时,R14被设置成盖子程序的返回地址。在子程序中,当把R14的值复制到程序计数器PC中时,子程序即返回。程序计数器R15。寄存器R15用作程序计算器(PC)。当前程序状态寄存器CRSR。包括条件标志位,中断禁止位,当前处理器标志位,以及其他一些相关的控制和状态未。程序状态寄存器SPSR。7.ARM微处理器系统控制程序执行流程有哪三种形式,都是如何工作的?答:在ARM体系微处理器中,通常有三种方式控制程序的执行流程方式。他们分别是:(1)在正常程序执行过程中,这个过程是按顺序执行的。(2)程序通过跳转指令可以跳转到特定的地址标号处执行,或者跳转到特定的子程序处执行。(3)异常(Exceptions)是当正常的程序执行流程发生暂时停止或改变时,成为异常。8.ARM体系中的异常中断有几种形式?为什么?答:ARM体系中的异常中断有如下7种形式。(1)复位(Reset)(2)未定义指令(UndefineInstruction)(3)软件中断(SoftwareInterrupt,SWI)(4)指令预取终止(PrefechAbort)(5)数据中止(DataAbort)(6)外部中断请求(IRQ)(7)快速中断模式请求(FIQ)各种异常中断具有各自的备份寄存器组。当多个异常中断同时发生时,处理器可以根据个异常中断的优先级选择响应优先级最高的异常中断。9.存储管理单元MMU主要完成哪些工作?答:MMU主要完成虚拟存储空间到物理空间的映射,ARM采用了页式虚拟存储器管理方式。其次是控制存储器访问权限,最后是设置虚拟存储空间的缓冲特性等三项工作。10.SamsunS3C44B0微处理器内部主要集成了哪些部件?答:集成了8KB的Cache、外部存储器控制器、LCD控制器、4个DMA通道、2通道UART、1个多主机I2C总线控制器、1个I2S总线控制器,5通道PWM定时器及1个内部定时器、71个通用I/O口、8个外部中断源、实时时钟、8通道10位ADC等部件。11.ARM7TDMI内核支持中断断点的设置有几种类型,各