发布时间 : 星期六 文章嵌入式复习题更新完毕开始阅读e8d3f1b70912a21615792945
老师给的题:
1.已知R0=8,R2=5,执行MOV R0,R2,LSL #2后,r0=20,r2=5
2.已知r0=0x00000000,r1=0x00009000, men32[0x00009000]=0x01010101,mem32[0x00009004]=0x02020202 问执行以下指令后,r1,r0的情况 。 1) ldr r0,[r1,#0x4]! ;r0=0x02020202,r1=0x00009004 2) Ldr r0, [r1,#0x4] ;r0=0x02020202,r1=0x00009000 3) Ldr r0,[r1], #0x4 ;r0=0x01010101,r1=0x00009004 3.已知men32[0x80018]=0x03,men32[0x80014]=0x02,men32[0x80010]=0x01,r0=0x00080010, r1=0x00000000,r2=0x00000000,r3=0x00000000 问执行ldmia r0!,{r1-r3}后,r0,r1,r2,r3的情况。
答: r1=0x01,r2=0x02,r3=0x03,r0=0x80018 4.已知r1=0x00000002,r4=0x00000003,sp=0x00080014, 问执行stmfd sp!,{r1,r4}后,r1,r4,sp的情况。
答: r1=0x00000002, r4=0x00000003,sp=0x000800010 5.已知r0=0x0,cpsr=0xd3,执行以下指令后r0的情况 Mrs r0,cpsr ; r0=0xd3 Bic r0,r0,#0x80 ; r0=0x53
1、 写出嵌入式系统的定义。
答:以应用为中心、以计算机技术为基础、软硬件可裁减、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
2、ARM核中什么寄存器用于存储PC?R13通常用来存储什么?R14通常用来存储什么? 答:R15用于程序计数寄存器PC,R13通常用来做堆栈指针寄存器,R14通常用来做链接寄存器,保存函数调用的返回地址。
3.简述嵌入式系统的概念、组成及特点。 答:嵌入式系统是以应用为中心,以计算机技术为基础,采用可剪裁软硬件,适用于对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统。
组成:一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成。 其特点有:
1)是专用的计算机系统,用于特定的任务; 2)资源较少,可以裁减;
3) 功耗低,体积小,集成度高,成本低; 4)使用实时操作系统;
5) 可靠性要求更高,具有系统测试和可靠性评估体系; 6)运行环境差异大
7)大部分程序固化在 ROM中; 8) 较长的生命周期;
9)嵌入式微处理器通常包含专用调试电路 4、从嵌入式系统底层到上层应用软件,试分析嵌入式计算系统的组成主要分为哪几个部分,并写出各部分所完成的功能。
答:(1)硬件层;(2)中间层(嵌入式系统初始化,硬件相关的驱动程序);(3)软件层(操作系统、文件系统、GUI,网络及通用组件);(4)功能层.
5、ARM处理器有几种工作模式?并做说明每种工作模式的含义。 答:ARM处理器有7种工作模式:
用户模式(usr)- 正常程序执行的模式
快速中断模式(fiq)- FIQ异常响应时进入此模式 中断模式(irq)- IRQ异常响应时进入此模式
管理员模式(svc)- 系统复位和软件中断响应时进入此模式 中止模式(abt)- 用于虚拟存储及存储保护
系统模式(sys)- 与用户类似,但有直接切换到其它模式等特权 未定义模式(und)- 未定义指令异常响应时进入此模式 除了用户模式外,其他模式均可视为特权模式 7. 寄存器CPSR,SPSR的功能各是什么?
答:1)CPSR包含条件码标志、中断禁止位、当前处理器模式以及其它状态和控制信息。所有处理器模式下都可以访问当前的程序状态寄存器CPSR。
2)在每种异常模式下都有一个对应的物理寄存器——程序状态保存寄存器SPSR。当异常出现时,SPSR用于保存 CPSR的状态,以便异常返回后恢复异常发生时的工作状态。 8. ARM的异常有哪几种,各进入何种工作模式?他们退出各采用什么指令? 答:ARM微处理器的异常状态:7种异常 1)复位(Reset)异常(管理模式);
2)未定义指令(undefined instruction)异常(未定义模式); 3)软件中断(SWI)异常(管理模式);
4)指令预取中止(Prefech Abort)异常(中止模式); 5)数据访问中止(Data Abort)(中止模式); 6)快速中断请求(FIQ)(FIQ模式); 7)外部中断请求(IRQ)(IRQ模式)。 异常返回指令:
1)SWI,未定义的返回:MOVS PC,R14;
2)IRQ,FIQ,预取中止的返回:SUBS PC,R14,#4;
3)数据中止返回并重新存取:SUBS PC,R14,#8
异常中断的优先级:复位(最高优先级)--> 数据异常中止--->FIQ --> IRQ--->预取指异常 中止--->SWI---->未定义指令(包括缺协处理器)。
9.ARM体系结构的寄存器组织:37个32位寄存器,其中31个为通用寄存器,6个为状态寄存器,哪些寄存器是可编程访问的,取决微处理器的工作状态及具体的运行模式。 47.表示递增和递减的满堆栈和空堆栈有哪几种组合,请比较它们的特点。 答:有4种类型的堆栈,表示递增和递减的满堆栈和空堆栈的各种组合。 ①满递增:堆栈通过增大存储器的地址向上增长,堆栈指针指向内含有效数据项的最高地址。指令如LDMFA,STMFA等。
②空递增:堆栈通过增大存储器的地址向上增长,堆栈指针指向堆栈上的第一个空地址。指令如LDMEA,STMEA等。 ③满递减:堆栈通过减小存储器的地址向下增长,堆栈指针指向内含有效数据项的最低地址。指令如LDMFD,STMFD等。
④空递增:堆栈通过减小存储器的地址向下增长,堆栈指针指向堆栈下的第一个空地址。指令如LDMED,STMED等。
45.ARM有15个通用寄存器、一个或两个状态寄存器和PC,有些模式共用同一个寄存器,一共具有37个寄存器。
120.寄存器R14的两种特殊用途:
存放当前子程序的返回地址;当发生异常中断的时候,该模式下的特定物理R14被设置成该异常模式将要返回的地址。
124.ARM7采用的是三级流水技术,指令分为三个阶段执行:取指、译码、执行;
ARM9采用的是五级流水技术,指令分为三个阶段执行:取指、译码、执行、存储器访问、寄存器写操作。
139. 嵌入式操作系统的作用是什么?请举出3种常见的操作系统。
答:用于管理存储器分配、中断处理、任务间通信和定时器响应,以及提供多任务处理等功能。嵌入式操作系统,大大地提高了嵌入式系统硬件工作效率,并为应用软件开发提供了极大的便利。
3种常见的操作系统:WinCE、Vxworks、uClinux。
148.ARM处理器共有多少个32位寄存器,多少个为通用寄存器,多少个状态寄存器。 答:共有37个32位寄存器,其中31个为通用寄存器,可用于累加操作,6个为状态寄存器。
164.简述嵌入式操作系统与通用操作系统的区别。
答:通用操作系统是一种通用的操作系统,可运行在不同的硬件平台。而嵌入式操作系统与一般的Windows操作系统不同,其是一种专用、可定制的特点。 程序。
4.写出完成下列操作的指令 (1)R0=16 MOV R0,#16; (2)R1=R0*4 MUL R1,R0,#4; (3)R0=R1/16 MOV R0,R1,LSL#4; (4)R1=R2*7 MUL R1,R2,#7; 5.下列指令完成什么操作
(1)ADDS R0,R1,R1,LSL #2 R0=R1+(R1<<4); (2)RSB R2,R1,#0 R2=R1-0 (3)ADD R0,R1,R1,LSL #1 R0=R1+(R1<<2) (4)SUB R0,R0,R1,LSL #4 R0=R0-(R1<<16) (5)ADD R0,R0,R1,LSL #7 R0=R0+(R1<<128) (6)MLA R0,R1,R2 R0=R1×R2
(7)SMULL R0,R1,R2,R3 R0=(R2×R3)的低32位,R1=(R2×R3)的高32位 (8)BL LABEL 当程序无条件跳转到标号LABEL处执行时,同时将当前的PC值保存到R14中
12.说明指令STMIA r12!, {r0-r11}的操作功能。 将R0-R11十二个寄存器中的32位数据,存储到R12地址指针为起始地址的内存中,地址的操作方式是先操作、后增加,并更新地址。