嵌入式设计复习题答案_第1页
嵌入式设计复习题答案_第2页
嵌入式设计复习题答案_第3页
嵌入式设计复习题答案_第4页
嵌入式设计复习题答案_第5页
免费预览已结束,剩余18页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、填空题1、哈佛体系结构数据空间和地址空间(分开),ARM920冰用(哈佛)的内核架构。2、ARM7TDM采用(3)级流水线结构,ARM920TDMI用(5)级流水线。3、ARM7TDMP,T表示支持16位Thumb旨令集,D表示(在片可调式),M表示内嵌乘法器Multiplier,I表示(嵌入式ICE),支持在线断点和调试。4、“嵌入性”、“专用性”与“计算机系统”是嵌入式系统的三个基本要素。5、ARMt理器共有37个寄存器,31个通用寄存器,6个状态寄存器。寄存器R13通常用作堆栈指针,称作SP。寄存器R14用作子程序链接寄存器,也称为链接寄存器LK(LinkRegister)。6、程序

2、状态寄存器CPSR勺N、Z、C、V分别指-,I=1指-禁止IRQ中断-、F=1指-禁止FIQ中断-,M4:0用做-处理器模式选择-。7、ARM散处理器支持四种类型的堆栈,即:满递增堆栈、满递减堆栈、空递增堆栈、空递减堆栈。8、ARM散处理器有7种工作模式、它们分为两类特权模式、非特权模式。其中用户模式属于非特权模式9、ARMt持两个指令集,ARM核因运行的指令集不同,分别有两个状态ARM状态、thumb状态,状态寄存器CPSR勺T(或者1D5)位反映了处理器运行不同指令的当前状态10、ARMftt理器有两种总线架构,数据和指令使用同一接口的是冯诺依曼结构,数据和指令分开使用不同接口的是哈佛结构

3、11、ARMI(有多个寄存器,其中大部分用于通用寄存器,有小部分作为专用寄存器,R15寄存器用于存储PCR13通常用来存储SP(或者填堆栈指针)12、编译链接代码时,有两种存储代码和数据的字节顺序,一种是小端对齐.另一种是大端对齐13、不同的中断处理不同的处理模式,具有不同的优先级,而且每个中断都有固定的中断入口地址。当一个中断发生时,相应的R14存储中断返回地址,SPSRff储状态寄存器CPSR勺值。14、嵌入式微处理器有嵌入式微处理器、嵌入式微控制器、曲入式DSPtt理器和嵌入式片上系统四种类型。15、ARM9TDMU用5级流水线:取指、译码、执行、访存和写回16、AMBA&线结包括ASB

4、AHB?口APB总线。ASB/AHEffl于CPUW存储器、DMA空制器、总线仲裁控制器等片上系统中芯片的连接,APB用于连接低速的外围设备。17、函数的参数传递方法有两种:R0R3gf存器和堆栈二、选择题1、在嵌入式ARMt理器中,下面哪种中断方式优先级最高。(A)A.ResetB.数据中止C.FIQD.IRQ2、NANDFLAS悌口NORFLAS的区另正确的是。(D)A.NOR的读速度比NANDt慢一些B.NAND的写入速度比NOF很多C.NAND的擦除速度远比NOR勺慢D.大多数写入操作需要先进行擦除操作3、在将uaOS操作系统移植到ARMt理器上时,以下哪些文件不需要修改。(A)(A)

5、OS_CORE.C(B)INCLUDEH(C)OS_CPU.H(D)OSTsKnit4、在下列ARM处理器的各种模式中,只有A模式不可以可以自由地改变处理器的工作模式。A、用户模式(User)B、系统模式(System)C、终止模式(Abort)D、中断模式(IRQ)5、相对于ARM指令集,Thumb指令集的特点是_B_A、指令执行速度快B、16位指令集,可以得到密度更高的代码,对于需要严格控制成本的设计非常有意义C、Thumb模式有自己独立的寄存器D、16位指令集,代码密度高,加密性能好6、在ARM寄存器结构中,栈指针使用B寄存器,A、R0B、R13C、R14D、R157、下列条件码中表示无

6、符号数小于的是_D-A、HIB、LSC、CSD、CC8、下列ARM指令中,可用于满递增堆栈操作的是_D_A、STMDAB、STMIAC、STMDBD、STMIB9、下列32位数中,不可作为立即数的是_A_A、 0x81000007B、 0x04800000C、 0x00000012D、 0x800000710、ATPCS规定数据栈是_A_类型A、满递减B、满递增C、空递减D、空递增11、S3c241林用白勺是D核心A、ARM7TDMIB、ARM9TDMIC、ARM926EJ-SD、ARM920T12、在串行异步通讯中,发送端用口的TxD要和接收端用口的B相连接ATxDBRxDCnCTSDnRT

7、S13、MMU勺作用有ABA内存保护B地址转换(将虚地址转换成物理地址)C加快存取速度D安全保密E内存分配14、以下属于DMAf点的有BCA占用CPUB占用总线C不占用CPUD不占用总线15、存储一个32位数0x2168465到2000H2003H四个字节单元中,若以大端模式存储,则2000H存储单元的内容为DA、0x21B、0x68C、0x65D0x0216、RS232-C串口通信中,表示逻辑1的电平是D。A、0vB、3.3vC、+5v+15vD5v15v17、ARM匚编语句“ADDR0,R2,R3,LSL#1”的作用是A。A.R0=R2+(R31)B.R0=(R21)+R3C.R3=R0+

8、(R21)D.(R31)=R0+R218、IRQ中断的入口地址是C。FIQ的入口地址为0X0000001CA、0x00000000B0x00000008C、0x00000018D0x0000001419、S3C2420XI/O口常用的控制器是(4)(1)端口控制寄存器(GPACON-GPHCON(2)端口数据寄存器(GPADAT-GPHDAT(3)外部中断控制寄存器(EXTINTN。(4)以上都是。20、ADDRO,R1,#3属于A寻址方式。A.立即寻址B.多寄存器寻址C.寄存器直接寻址D.相对寻址21、GETft指令的含义是AA.包含一个外部文件B.定义程序的入口C.定义一个宏D.声明一个变

9、量22、cCOSII操作系统不属于CA、RTOSB占先式实时操作系统C、非占先式实时操作系统D、嵌入式实时操作系统23、若R1=2000H(2000H)=0x86,(2008H)=0x39,则执行指令LDRRO,R1,88!后R0的值为_D_0A.0x2000B.0x86C.0x2008D.0x3924、ARMJ存器组有D个寄存器。A、7B、32G6D3725、在pC/OSII系统中,OSTimeTick()函数只被以下A函数或过程所调用。A.OSTickISRB.OSShedC.OSCtxSwD.OSIntCtxSw26、下列关于存储管理单元(MMU说法错误的是B。A.MMU供的一个关键服务

10、是使各个任务作为各自独立的程序在其自己的私有存储空间中运行。B.在带MMUJ操作系统控制下,运行的任务必须知道其他与之无关的任务的存储需求情况,这就简化了各个任务的设计。C. MMUI供了一些资源以允许使用虚拟存储器。D. MMU乍为转换器,将程序和数据的虚拟地址(编译时的连接地址)转换成实际的物理地址,即在物理主存中的地址。27、下列CPSFW存器标志位的作用说法错误的是D。A. N:负数B.Z:零C.C:进位D.V:借位28、LDRR2,R3,#128的寻址方式是C。A.寄存器寻址B.寄存器移位C.变址寻址D.间接寻址29、当一个中断发生时,相应的A(LR)存储中断返回地址。A.R14B.

11、R1C.R2D.R1530、通常所说的32位微处理器是指C。A.地址总线的宽度为32位B. 处理的数据长度只能为32位C.CPU字长为32位D.通用寄存器数目为32个31、S3c2410XS处理器有以下外围资源:A个LCD控制器A.1B.2C.3D.432、S3c2410附储控制器支持大端、小端模式存储,可寻址C的空间。A.1MBB.1TBC.1GBD.1B33、S3c2410XS处理器有3个通道的UARTD个通道的DMAA.1B.2C.5D.4三、指令解析1、LDRR0,R1;从R1寄存器指向的地址中取出一个字的数据,存储到R0寄存器中2、STRR0,R1,88;将R0中的字数据写入R1为地

12、址的存储器中,并将新地址R1+8写入R13、ADDSR1,R1,#1;R1+1给R14、LDMFDR13!,R0,R4-R12,PC;将堆栈内容恢复到寄存器(R0,R4到R12,LR)。5、初始值R1=23H,R2=0FH执行指令BICR0,R1,R2,LSL#1后,寄存器R0,R1的值分别是多少?R0=21H,R1=23H,R2=1EH6、写一条ARM指令,完成操作r1=r2*3(4分)add12r2LSL#17、说明指令STMIAr12!,r0-r11的操作功能。(4分)将R0-R11十二个寄存器中的32位数据,存储到R12地址指针为起始地址的内存中,地址的操作方式是先操作、后增加,并更新

13、地址。8、ADDR0,RO,#1;将R0+1的结果送R0是保存9、ADDRO,R1,R2;将以R2中的内容为地址的单元中的值与R1相加,结果送R0保存10、LDRR0,R1+4;指令实现的功能是将R1的内容加4后送R04. LDRR0,R1+4!;将R1的内容加4后送R0,然后R1的内容自增4个字节5. BLable;程序无条件跳转到标号Lable处执行6. MOVR1,R0;指令实现的功能是将寄存器R0的值传送到寄存器R17. CMPR1,R0;寄存器R1的值与寄存器R0的值相减,根据结果设置CPSR勺标志位8. CMNR1,R0;将寄存器R1的值与寄存器R0的值相力口,根据结果设置CPSR

14、勺标志位9. ORRRQR0,#3;该指令设置R0的0、1位,其余位保持不变10. MRSR0SPSR;传送SPSR勺内容至UR011. CMPR1,R2;寄存器R1的值与寄存器R2的值相减,根据结果设置CPSR勺标志位12. MRSR0CPSR;传送SPSR勺内容至UR013. MOVR2R0;将寄存器R0的值传送到寄存器R214. ADDR1,R1,#3;将R1+3的结果送R1是保存15. ADDR2,R1,R0;将以R0中的内容为地址的单元中的值与R1相加,结果送R2保存16. LDRR1,R0+4;将R1的内容加4后送R017. LDRR1,R0+4!;将R1的内容加4后送R0,然后R

15、1的内容自增4个字节。18. ANDRO,RO,#3;保持R0的0、1位,其余位清零19. B0x1200;程序无条件跳转到0x1200处执行20. CMNR1,R2;将寄存器R1的值与寄存器R2的值相加,并根据结果设置CPSR的标志位四、看图回答1、下图是ARM9处理器的当前程序状态寄存器,请简单说明各位的功能3130292827876543210NZCVIFTM4M3M2M1M0ARM前程序状态寄存器N:负标志位,运算结果的第31位值,记录标志设置的结果。Z:零标志位,如果标志设置操作的结果为0,则置位。C:进位标志位,记录无符号加法溢出,减法无错位,循环移位。V:溢出标志位,记录标志设置

16、操作的有符号溢出。I:中断禁止标志位,置位时禁止IRQ中断,否则允许IRQ中断使能。F:中断禁止标志位,置位时禁止FIQ中断,否则允许FIQ中断使能。T:控制位,置位时处理器运行在Thumb状态下,清零时处理器运行在ARM状态下。M0M4:模式控制位,定义处理器的7中模式。其余位为保留位,留作将来使用。2、阅读下列与看门狗有关的寄存器描述,解释每一行代码的功能。看门狗定时器控制寄存器(WTCON)寄存器地址读/写描述初始值WTCON0x53000000读/写看狗定控制寄存器0x(3021WTCON的标识位WTCONBit描述初始值PrescalerValue15:8预4骷匕例值,有效范围值为0

17、-0鼠J0Reserved7:6立保E000使有,和禁止看门狗定时器WatchdogTimer50-二禁止看门狗定时器01二;使能看门狗定时器这M,位决定时钟分频因素ClockSelect4:3i0000:1/1601:1/3210:1/6411:1/128中E斤的禁止和使能InterruptGeneration20=委止中断产生01=更能中断产生Reserved1目0禁匕艮使能看门狗复位信号的输出Reset01=行门狗复位信号使能1Enable/Disable0=行门狗复位信号禁止看门狗定时器数据寄存器(WTDAT)寄存器地址t卖1写描述初始值WTDAT0x5J3000004t荚1写看;狗数

18、据寄存器0力8000看门狗计数寄存器(WTCNT)寄存器地址t荚1写描述初始值WTCNT0x5J3000008t荚1写看1狗计数器当前值0力8000#definerWTCON(*(volatileunsigned*)0x53000000)/第1行#definerWTDAT(*(volatileunsigned*)0x53000004)/第2行#definerWTCNT(*(volatileunsigned*)0x53000008)/第3行voidwatchdog_test(void)rWTCON=(PCLK/1000000-1)8)|(33)(12);/第4行rWTDAT=7812;第5行rW

19、TCNT=7812;/第6行rWTCON|=(10-ReUBUBUBUBUB答:根捌UBRDIVn=(inn(PCLK“bpsk16)-15分寄存器LBRDIVO(int)(40001KXM)/2400*16)-1=04010000010000(B)5分寄存器LBRDIV1(ini)(4(X)00000/1152OOX16)-12U=10100(B)5分五、简答题1、根据嵌入式系统的特点,写出嵌入式系统的定义。答:嵌入式系统是以应用为中心,以计算机技术为基础,软/硬件可裁减,功能。可靠性,成本,体积,功耗要求严格的专用计算机系统。2、嵌入式系统的主要应用领域有哪些?消费电子、通信设备、家庭设备

20、、汽车电了、工业控制、军事国防、医疗电了等口3、什么是RISC?什么是CISC?答:RISC是英文ReducedInstructionSetComputer的缩写,汉语意思为精简指令系统计算机。相对应的CISC就是复杂指令系统计算机”的意思。CPUA指令集的特点上可以分为两类:CISC和RISC4、ARM9TDMI中的T、D、S、I分别表示什么含义?答:T表示支持16位ThumbJt令集,D表示在片可调式(Debug),M表示内嵌乘法器Multiplier,I表示嵌入式ICE,支持在线断点和调试。4、ARM处理器模式和ARM处理器状态有什么区别?答:(1)ARM7TARM体系结构支持7种处理器

21、模式,分别为:用户模式、快中断模式、中断模式、管理模式、中止模式、未定义模式和系统模式。(2) ARM处理器状态:ARM状态、Thumb状态。(3)两种处理器状态都有这7种处理器模式;两个状态之间切换并不影响处理器模式或寄存器内容。5、ARM9TDMI有几种寻址方式?答:立即寻址寄存器寻址基地址变址寻址寄存器偏移寻址寄存器间接寻址多寄存器寻址6、ARM9的内部寄存器R13、R14、R15的主要功能和作用?推根指针,用于保存燧找的出入口处地址,保存恃使用寄存露的内容K14i连接寄存器,出使用HL指令调用于程序时.回触址将自动存入14中.当心生异常时,将R14对应的异常模式版本设置为异芳返回地力:

22、其他时候作为逋川寄存器.RI5:程序寄存器.总是指向正在攻指”的指争7、FIQ、IRQ有什么不同?向量IRQ和非向量IRQ有什么不同?答:(1)FIQ的优先级比IRQ高,对外部事件响应比IRQ快。(2) A:向量IRQ具有中等优先级,对外部事件响应比较及时;非向量IRQ优先级最低,中断延迟时间比较长。B:向量IRQ能为每个向量IRQ中断源设置服务程序地址;而所有的非向量IRQ中断都共用一个相同的服务程序入口地址。8、ARM9TDMI支持哪几种指令集,各有什么特点?支持ARM指令集和Thumb指令集两种.指。集:指令翌位,效率高,代码连度假.所有ARM指令而生皿行条列执行的二如山吐指令案:指令1

23、6苞.代鸡宗度较荷.Hiumh指令便有一豕指令具卷条(1也广功能,保打ARM的人多数性能卜的优势.任凡RXT搐令集的子步.9、ARM9TDMI有几种处理器模式,简单介绍该几种模式的工作特点?答:P45ARM7TARM体系结构支持7种处理器模式1 .用户模式:正常处理程序时的模式2 .快中断模式:响应快速中断时的处理模式3 .中断模式:响应普通中断时的模式4 .管理模式:操作系统的保护模式5 .中止模式:指令或数据预取操作中止时的模式,该模式下实现虚拟存储器或存储器保护6 .未定义模式:当执行未定义的指令时进入该模式7 .系统模式:运行特权操作系统任务时的模式ARM微处理耦支持7种运行模式分别为

24、:用户模式(USR);ARM处理器正常程序执行的模式.快速中断模式,FIQ):MF高速数据传输或通道处理用快速中断服务程享当处理舞的快速中断请求引脚有效,且CPSK4位)中F位为。时(开中断会产生F】Q异常.1分外部中断模式(IRQ):用于通用的中断处理.当处理器的外部中断请求引掷有效,且CPSR(7位)中I位为Q时(开中斯,会产生IRQ舁常.系统的外设可通过该异常请求中断账务匚1分特权模式域管理员模式(0VE):操作系统使用的保护模式,当执行软件中断SWI指令和复位指令时,就进入管理模式,在对操作系统运行时工作在该模式下,一I分数据访问中止模式(ABT):用于虚拟存储器和存储保护,当存储器数

25、据讪问无效时就进入该模式.若处理器数据应问指令的地址不存在域该地批不允许当前指令访问时r也产生数据中止异常I分未定义指令中止模式UND):用于支持硬件协处理器的软件仿真.当ARM处理器或处处理器遇到不能处理的指令时,就要产生木定义指令异常。用户可使用该异常机制进行软件仿真.即用软件来模拟硬件功能.比如浮点运算“-415分系统模式(SYS):运行其仃特权的操作系统任务。与用户模式共用使用寄存器组,但是其使用权限要比在用户模式下高,。,5分10、ARM9TDMI采用了几级流水线工作方式,简要说明。答:ARM9TDMI采用了5级流水线结构,即二取指(F)、指令译码人执行(E)、数据存循访问CM】、写

26、寄存器(WK11、ARM9TDMI支持的数据类型有几种?各有什么要求?答;ARM9TDMI虫挣的数州类型有字节岱位),半字(16位)及字行2位)数据类型。字必须是四字节边界对齐,平字必须是两字节边界对齐.12、ARM920T体系结构支持哪两种方法存储字数据?答:ARM920T体系结构支持两龄方法存他字数据即大端格式和小端格式.在大端格式中,字数据的高字H存防在低地卅单元中,而字嗷据的怔字力则存放存高地址用兀中&在小端存储格式中,低地址单元中存放的是字数据的低字1匚高地址单元存放的是字数据的高字节1t13、ARM920T体系结构所支持的哪几种异常?说明其具体含义。答:ARM以0T体系结构所支持以

27、下7种异常:口)复位*节处理嘏的双位电平有效时,产生更位屏常,程序跳料到复位界常处理程序处执行.(2)未定义指令:当八RM处理器或办处理器遇到不能处理的指令时,产生未定义指令弁常.可使用该异常机制进行软件仿其.(3)软件中断:该界常由执行SW【指令产生,可用了用户模式下的程序调用特权操作指令可使用该异常机制实现系统功能调用.(4)指令预取中止工米处理器预取指令的地址不存存,或核地址不允许当前指令访M,存储器会向处理播发出中止信号,但当预取的指令被执行时,才会产生指令慎取中止异常(5)数据中止:若处理限数据访M指令的地却不存在,或该地址不允许当前指令访问时,产生数据中止异常。(6)IRQ(外部中

28、断请求):当处理器的外部中断请求引脚有效,11CPSR中的I位为0时.产生IRQ异常,系统的外设可通过该异常请求中断服务.(7)FIQ(快速中断请求):当处理器的快速中断请求用脚有效,且PSF1中的F位为0时T产生FIQ异常口14、简述ARM处理器对异常的响应的步骤。答,当一个异常出现以后,ARM微处理器会执行以下几步操作工(1)将下条指令的地址存入相应连接宙存器LR.左异常是从ARM状态进入,LR寄存器中保存的是下条指令的地址(当前PC+4或PC+丸与异常的类型有关臭若异常是从Thumb状态进入,则在LR寄存器中保存当前PC的偏移量,.这样,异常处理程序就不需要确定异常是从何种状态进入的,程

29、序在处理异常返回时能从正确的位置重新开始执行.例如:在软件中断异常SWI中,指令MOVPC,R14_iivc总是返回到下条指令,而不管SWI是在ARM状态执行,还是在Thumb状态执行.(2)将CPSR发制到相应的SPSR中皿(3)根据异常类型,强制设置CPSR的运行模式位。(4)强制PC队相配的笄常向量地址取下条指令执行,从而跳转到相屈的异常处理程序处。还可以设置中断禁止位,以禁止中断发生.如果异常发生时,处理器处于Thumb状态,则当异常向帚地址加载入PC时,处理器自动切换到ARM状态.15、简述ARM处理器从异常返回的步骤答:异常处理完毕之后,执行以下操作从异常返回:(1)将连接寄存器L

30、R的值减去相应的偏移量后送到PC中。(2)将SPSR复制回CPSR3G)若在进入异常处理时设置了中断禁止位,要在此清除口16、写出基于ARM920T核的处理器的异常优先级(ExceptionPriorities)0答;当多个异常同时发生时,系统根据固定的优先级决定异常的处理次序.异常优先领由高到低的排列次序为工复位,数据中止、RQ“TRQ,预取指令中止、未定义指令、SWL17 .写出基于ARM920T核的处理器的异常向量(ExceptionVectors)及异常进入的模答工异常向信表地址0x0000,00000x0000,00040x0000,00080x0000,OOOC0x0000,001

31、00x0000,00140x0000,00180x0000,001C异常复位未定义模式软件中断终止(顶取指令)终止(数据)保留IRQFIQ进入模式管理模式未定义模式管理模式终止模式终止模式保留IRQFIQ18 .画出采用大端格式存放01020304H的存储器示意图05060708H的存储器示意图高地址A低地址20、ARM920TT哪些运行模式,其中哪些属于特权模式?答:ARM奠0T支持7种运行模式,分别为用户模式(usr),快速中断模式(fiq),外部中断模式(irq),管理模式(we),数据访问终止模式CabtJt系统模式(sys),未定义指令中止模式(und);除用户模式以外,其余的6种模

32、式称为特权模式.21、用ARM匚编指令写出实现64位加法和64位减法的代码段,使用的寄存器请自行分配假定低32位数存放在r0和r1里面,高32位数存放在r2和r3里面。答:加法:ADDSr0,r0,r1/加S是因为要让这个操作影响标志位ADCr2,r2,r3/ADC是带进位的加法,如果上一条指令产生进位则一起加进来减法:SUBSr0,r0,ri/加S是因为要让这个操作影响标志位SBCr2,r2,r3/SBC是带进位的减法指令22、S3c2410支持几种引导方式(或者说是内存映射方式)?简述Nand引导方式S3C2410硬件做的事情。1) norflash启动方式。2) nandflash启动方

33、式。从Nandflash启动时,S3c2410首先会执行固化在片上ROMH勺一段小程序,这段程序负责将nandflash前2K的代码搬移到片上RAM然后将PC指针指向0x0地址(注意这个时候片上RAhM映射至IJ0x0的起始地址)23、ARM散处理器内核是如何进行异常处理的?答:1)当异常产生时,ARM内核拷贝CPSRgiJSPSR_设置适当的CPSR位:改变处理器状态进入ARMS,改变处理器模式进入M应的异常模式,设置中断禁止位禁止相应中断(如果需要);保存返回地址到LR_设置PC为相应的异常向量。2)返回时,异常处理需要从SPSR_modQCPSR从LR_恢复PC,注意:这些操作只能在AR

34、MS执行。24、ARMS供的可执行映像文件的模板包括哪3个生成目标?各包含什么调试信息?答:ARM供的可执行的映像文彳的模板包括了下面3个生成目标:1) Debug使用本生成目标生成的映像文件中包含了所有的调试信息,用于在开发过程中使用;2) 2)Release使用本生成目标生成的映像文件中不包含调试信息,用于生成实际发行的软件版本;3)DebugRel使用本生成目标生成的映像文件中包含了基本的调试信息。25、为什么需要嵌入式操作系统?答:嵌入式系统与一般的系统不同,设计成为执行特定的操作,但是初期的嵌入式系统比较单纯,不需要特殊的操作系统,由人来编写程序并顺序执行,只有当中间发生中断时才会暂

35、时脱离此顺序程序。过去的嵌入式系统主要与简单而顺序的操作有关,使用操作系统成为浪费和不必要的举措。但是最近的嵌入式系统领域中系统本身相当庞大,网络和多媒体成为系统的基本功能,嵌入式系统要做的事情既多又复杂,顺序程序的操作变得越来越难。因而在嵌入式系统中出现了操作系统的概念,要满足其实时的要求,进而产生了实时操作系统。26、简述nC/OSII操作系统的移植条件。答:要使nc/os-ii能正常运行,处理器必须满足以下要求。(1)处理器的c编译器能产生可重入代码可重入代码是指可以被多个任务同时调用,而不会破坏数据的一段代码;或者说代码具有在执行过程中打断后再次被调用的能力。(2)处理器支持中断,并且

36、能产生定时中断arm处理器支持中断并能产生定时中断。(3)c语言可以开/关中断arm处理器核包含一个cpsr寄存器,该寄存器包括一个全局中断禁止位,控制它打开和关闭中断。(4)处理器支持一定数量的数据存储硬件堆栈对于一些只有10根地址线的8位控制器,芯片最多可访问1kb存储单元,在这样的条件下移植是比较困难的。(5)处理器有将堆栈指针以及其他cpu寄存器的内容读出并存储到堆栈或内存中去的指令arm处理器中汇编指令stmfd可以将所有寄存器压栈,对应的也有一个出栈指令ldmfdo27、简要说明嵌入式操作系统多任务通讯的常用方式。答:多任务通讯的方式:a)共享内存,主要是数据的共享;b)信号量,用

37、于基本的互斥和任务同步;c)消息队列和管道,单CPU的消息彳专迭;d)Socket和远程过程调用,用于网络间任务消息传送。28、嵌入式开发环境主要包括哪些组件?嵌入式系统开发需要交叉编译和在线调试的开发环境,主要包括宿主机目标机(评估电路板)基于JTAG的ICD仿真器、或调试监控软件、或在线仿真器ICE运行于宿主机的交叉编译器和链接器、以及开发工具链或软件开发环境嵌入式操作系统29、在进行基于ARMR的嵌入式系统软件开发时,调用如下函数:intdo_something(intarg1,void*arg2,chararg3,int*arg4)这四个参数通过什么方式从调用程序传入被调函数?根据AT

38、PCS编程规范,调用函数和子程序通过R0R3四个寄存器传递参数,超过四个参数使用堆栈传递。因此arg1通过R0传入,arg2,通过R1传入,arg3通过R2传入,arg4通过R3传入30、简述MMUJ含义及主要工作。答:MMU也就是“内存管理单元”(memorymanagementunit)。其主要作用是两个方面:一是地址映射;二是对地址访问的保护和限制。31、ARM9TDMK中TDMI的基本含义是:P42T表示支持16位Thumb旨令集,D表示在片可调式(Debugj),M表示内嵌乘法器Multiplier,I表示嵌入式ICE,支持在线断点和调试。32、简述ARh处理器支持的指令集。ARM散

39、处理器支持32位的ARM旨令集和16位的Thumb令集。ARM旨令集效率高,但代码密度低;Thumbs令集具有较高的代码密度,可保持ARM勺大多数性能上的优势,可看做是ARM旨令集白子集。ARMS序和Thumb序可以相互调用,且没有状态切换开销。33、解释以下标识符的作用ENTRY:程序的入口;EXPORT士指叨将导出该程序供C或者其他语言使用:AREA;一段塔不符.格式;AREA段名,属性:END;程序的终止;MACRO:宏定义的开始;ENTRYEXPORTAREAENDMACRO33、描述嵌入式系统中存储系统结构,存储器分类以及各类存储器的常规用途分类:随机存储器(RAM):方便读写,但掉

40、电后信息丢失。只读存储器(ROM):读取方便,但写入需要特殊时序,掉电后信息不丢失。寄存器cache主存储器辅助存储器34、最小系统框图原理时钟模块复位模块JTAG4寄存器cachecacheqL,l丁WtJFT主存何命辅助存储器LL辅助存储器.ARM*FLASH模块HJSDRAM模块时钟模块:为ARM工作提供时钟JTAG:实现代码的下载与调试FLASH模块:存放启动代码,操作系统,SDRAM模块:为程序提供存储空间复位模块:实现复位UART:实现对调试信息的终端显示用户程序编程题1、编程题1.用汇编语言编写程序读取存储器0x40003100地址上的数据,将数据加1,若结果小于10则使用STR

41、指令把结果写回原地址,若结果大于等于10,则把0写回原地址。CtJUKTUr4LN|JCK:定乂个犯量.是址为以41MM小川AREAFxnni曰M,CdDERFNT7ONIY:吉匕代码国FMmpl2ENTRY;标识程序凡nCODEJ2;出明骁位ARM指令STARTl.DRRlrCOLTNT:RL-COLJNTMOVROM;KUotJSKR.(J.KLJ;lRl=KUf即雎8UNJ为01.DRH1,=11JKTLDRRO.|RI|ADDRO.RQ.flrl;R0Rtt+1IMF;EW。1。比较,战碗事件码标UMUVHX艮山闻,RCAJu1则此指令也匕R0-0STRR1).RI;RI。RO,L保存COUNTLOOPnloopEND2、用汇编语言调用C语言实现n个数相加,n为C函数的参数,由汇编语言传递,结果存放在R5寄存器中。C程序:cW:mtallhwnfintIintjl|j|rntnHbm=他MfE2+乂wtiiilf=-七Rtura汇编程序:力索沃AKLACOD

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论