一、填空(每空1分,共20分)1.嵌入式系统的组织架构是嵌入式处理器、存储器等硬件、嵌入式系统软件和应用软件所组成的。2.ARM系统复位后,第一条执行的指令在__0x02_。3.冯诺依曼体系结构的特点之一是系统内部数据和指令都存储在统一存储器中,而哈佛结构则是分开存储。4.ADDR0,R1,#3属于立即寻址方式。。5ARM指令集和Thumb指令集分别是32和16位的。6.嵌入式软件结构一般分为驱动层、OS层、中间件层和应用层。7.cache放置数据的常用地址变换算法有直接、组相联和全相联。8.嵌入式系统中电源管理器最常见的工作方式是工作、空闲和睡眠二简答(每题5分,共30分)1.嵌入式处理器一般具有以下4个特点:(1)大量使用寄存器,对实时多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时内核的执行时间减少到最低限度。结构上采用RISC结构形式。----------1分(2)具有功能很强的存储区保护功能。这是由于嵌入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断。----------1分3)可扩展的处理器结构,最迅速地扩展出满足应用的最高性能的嵌入式微处理器。支持ARM(32位)和Thumb(16位)双指令集,兼容8位/16位器件。-----------1分(4)小体积、低功耗、成本低、高性能,嵌入式处理器功耗很低,用于便携式的无线及移动的计算和通信设备中,电池供电的嵌入式系统需要功耗只有mW甚至μW级。---2分2.ARM处理器对异常中断的响应过程如下:首先,将当前程序状态寄存器CPSR的内容保存到将要执行的异常中断对应的备用程序状态寄存器SPSR中,以实现对处理器当前状态、中断屏蔽位及各条件标志位的保存。各异常中断模式都有自己相应的物理SPSR寄存器。----2分然后,将引起异常指令的下一条指令的地址保存到新的异常工作模式的R14即R14_mode中,使异常处理程序执行完后能正确返回原程序。---1分最后,给程序计数器强制赋值,使程序在对应的矢量地址开始执行中断处理程序。一般矢量地址处将包含一条指向相应程序的转移指令,从而可跳转到相应的异常中断处理程序处执行异常中断处理程序。----2分3.什么是同步?什么是异步与系列时间相关事件称为同步事件,驱动的任务为同步任务。---3分随机发生的事件称为异步事件,驱动的任务为异步任务,如中断等。----2分4简要叙述实时系统的评价指标?在实时系统中主要有三个指标来衡量系统的实时性,即响应时间(ResponseTime)、生存时间(SurvivalTime)、吞吐量(Throughput)。-----1分响应时间(ResponseTime):是计算机识别一个外部事件到作出响应的时间,在控制应用中它是最重要的指标,如果事件不能及时的处理,系统可能就会崩溃。----2分生存时间(SurvivalTime):是数据有效等待时间,在这段时间里数据是有效的。----1分吞吐量(Throughput):是在一给定时间内(秒),系统可以处理的事件总数。例如通讯控制器用每秒钟处理的字符数来表示吞吐量,吞吐量是平均响应时间的倒数。---1分5.简要叙述非占先式调度法与占先式调度法?非占先式也称作合作型多任务(cooperativemultitasking),各个任务彼此合作共享一个CPU。中断服务可以使一个高优先级的任务由挂起状态变为就绪状态。但中断服务以后控制权还是回到原来被中断了的那个任务,直到该任务主动放弃CPU的使用权时,那个高优先级的任务才能获得CPU的使用-----3分当系统响应时间很重要时,要使用占先式内核。最高优先级的任务一旦就绪,总能得到CPU的控制权。即当一个运行着的任务使一个比它优先级高的任务进入了就绪态,当前任务的CPU使用权就被剥夺了,或者说被挂起了,那个高优先级的任务立刻得到了CPU的控制权。使用占先式内核时,应用程序应使用可重入型函数,这样在被多个任务同时调用,而不必担心会破坏数据。-----2分6..简要叙述ARM处理器的7种运行模式?ARM微处理器支持7种运行模式,分别为:用户模式(USR):ARM处理器正常程序执行的模式。快速中断模式(FIQ):用于高速数据传输或通道处理用于快速中断服务程序。当处理器的快速中断请求引脚有效,且CPSR(6位)中F位为0时(开中断),会产生FIQ异常。-------1分外部中断模式(IRQ):用于通用的中断处理,当处理器的外部中断请求引脚有效,且CPSR(7位)中I位为0时(开中断),会产生IRQ异常。系统的外设可通过该异常请求中断服务。---------1分特权模式或管理员模式(SVE):操作系统使用的保护模式。当执行软件中断SWI指令和复位指令时,就进入管理模式,在对操作系统运行时工作在该模式下。---1分数据访问中止模式(ABT):用于虚拟存储器和存储保护,当存储器数据访问无效时就进入该模式。若处理器数据访问指令的地址不存在或该地址不允许当前指令访问时,也产生数据中止异常。--------------1分未定义指令中止模式(UND):用于支持硬件协处理器的软件仿真。当ARM处理器或协处理器遇到不能处理的指令时,就要产生未定义指令异常。用户可使用该异常机制进行软件仿真,即用软件来模拟硬件功能,比如浮点运算。--0.5分系统模式(SYS):运行具有特权的操作系统任务。与用户模式共用使用寄存器组,但是其使用权限要比在用户模式下高。--------0.5分三选择题(每小题2分,共20分)1、以下说法不正确的是(B)。A、任务可以有类型说明B、任务可以返回一个数值C、任务可以有形参变量D、任务是一个无限循环2下列描述不属于RISC计算机的特点的是(C)。A.流水线每周期前进一步。B.更多通用寄存器。C.指令长度不固定,执行需要多个周期。D.独立的Load和Store指令完成数据在寄存器和外部存储器之间的传输。3存储一个32位数0x2168465到2000H~2003H四个字节单元中,若以大端模式存储,则2000H存储单元的内容为(D)。A、0x21B、0x68C、0x65D、0x024μCOS-II中对关键代码段由于希望在执行的过程中不被中断干扰,通常采用关中断的方式,以下X86汇编代码正确而且不会改变关中断之前的中断开关状态的是(D)A.先CLI、执行关键代码、再STIB.先STI、执行关键代码、再CLIC.先POPF、CLI、执行关键代码、再PUSHFD.先PUSHF、CLI、执行关键代码、再POPF。5RS232-C串口通信中,表示逻辑1的电平是(D)。A、0vB、3.3vC、+5v~+15vD、-5v~-15v6ARM汇编语句“ADDR0,R2,R3,LSL#1”的作用是(A)。A.R0=R2+(R31)B.R0=(R21)+R3C.R3=R0+(R21)D.(R31)=R0+R27IRQ中断的入口地址是(C)。FIQ的入口地址为0x0000001CA、0x00000000B、0x00000008C、0x00000018D、0x000000148S3C2420XI/O口常用的控制器是(D)。(1)端口控制寄存器(GPACON-GPHCON)。(2)端口数据寄存器(GPADAT-GPHDAT)。(3)外部中断控制寄存器(EXTINTN)。(4)以上都是。9实时操作系统中,两个任务并发执行,一个任务要等待其合作伙伴发来信息,或建立某个条件后再向前执行,这种制约性合作关系被成为(A)。A.同步B.互斥C.调度D.执行10和PC系统机相比嵌入式系统不具备以下哪个特点(C)。A、系统内核小B、专用性强C、可执行多任务D、系统精简四.编程:以实验平台PXA270为设计环境,试写出一段代码,能控制八段数码管以递增方式点亮显示(15分)#includestdio.h#includeregister_variant.h#defineLED_CS2(*((volatileunsignedshortint*)(0x10300000)))//LED1andLED2#defineLED_CS3(*((volatileunsignedshortint*)(0x10400000)))//LED3andLED4voidDelay(unsignedintx){unsignedinti,j,k;for(i=0;i=x;i++)for(j=0;j0xff;j++)for(k=0;k0xff;k++);}voiddummyOs(void){LED_CS2=0x2479;//12LED_CS3=0x1930;//34while(1){Delay(300);LED_CS2=0x3024;//23LED_CS3=0x1219;//45Delay(300);LED_CS2=0x1930;//34LED_CS3=0x0212;//56Delay(300);LED_CS2=0x1219;//45LED_CS3=0x7802;//67Delay(300);LED_CS2=0x0212;//56LED_CS3=0x0078;//78Delay(300);LED_CS2=0x7802;//67LED_CS3=0x1000;//89Delay(300);LED_CS2=0x0078;//78LED_CS3=0x8f10;//90Delay(300);LED_CS2=0x1000;//89LED_CS3=0x8f8f;//00Delay(300);LED_CS2=0x8f10;//90LED_CS3=0x8f8f;//00Delay(300);LED_CS2=0x8f8f;//00LED_CS3=0x8f8f;//00Delay(300);LED_CS2=0x2479;//12LED_CS3=0x1930;//34}}五分析计算阅读以下S3C2410部分用户手册.求:当PCLK或UCLK为40MHz时,串口0的波特率为2400bps,串口1的波特率为115200bps,相应的控制寄存器如何设置.(15分)UARTBAUDRATEDIVISORREGISTERTherearethreeUARTbaudratedivisorregisters(寄存器)includingUBRDIV0,UBRDIV1andUBRDIV2intheUARTblock(模块).Thevaluestoredinthebaudratedivisorregister(UBRDIVn),isusedtodeterminetheserialTx/Rxclockrate(baudrate)asfollows:UBRDIVn=(int)(PCLK/(bpsx16))–1orUBRDIVn=(int)(UCLK/(bpsx16))–1Where,thedivisorshouldbefrom1to(216-1)andUCLKshouldbesmallerthanPCLK.RegisterAddressR/WDescriptionResetValueUBRDIV00x50000028R/WBaudratedivisorregister0–UBRDIV10x50004028R/WBaudratedivisorregister1–UBRDIV20x50008028R/WBaudratedivisorregister2–UBRDIVnBitDescriptionInitialStateUBRDIV[15:0]BaudratedivisionvalueUBRDIVn0–答:根据UBRDIVn=(int)(PCLK/(bpsx16))–1----5分寄存器UBRDIV0=(int)(40000000/2400*16)-1=1040=10000010000(B)------5分寄存器UBRDIV1=(int)(40000000/115200*16)-1=20=10100(B)------5分