史上最详细的嵌入式试题集(含答案)(4)

2020-04-17 21:11

(1) 零偏移;(2) 前索引偏移;(3) 程序相对偏移;(4) 后索引偏移。LDRB就是读出指定地址的数据并存入指定寄存器,LDRSB读出指定地址的数据,并高24位用符号位扩展,再存入指定寄存器。

(5)请指出MOV指令与LDR加载指令的区别及用途。

MOV 将 8 位图(pattern)立即数或寄存器(operand2)传送到目标寄存器(Rd),可用于移位 运算等操作。读取指定地址上的存储器单元内容,执行条件AL.

(6)CMP指令的操作是什么?写一个程序,判断R1的值是否大于0x30,是则将R1减去0x30。

CMP 指令将寄存器Rn 的值减去operand2 的值,根据操作的结果更新CPSR 中的相应条 件标志位,以便后面的指令根据相应的条件标志来判断是否执行。 CMP R1,0x30

SUBHI R1,R1,0x30

(7)调用子程序是用B还是用BL指令?请写出返回子程序的指令? BL 指令用于子程序调用。 MOV PC, R14

(8)请指出LDR伪指令的用法。指令格式与LDR加载指令的区别是什么?

LDR 伪指令用于加载 32 位的立即数或一个地址值到指定寄存器。第二个数为地址表达式。 (9)ARM状态与Thumb状态的切换指令是什么?请举例说明。 BX指令,

(10)Thumb状态与ARM状态的寄存器有区别吗?Thumb指令对哪些寄存器的访问受到一定限制?

Thumb状态下不能更新CPSR 中的ALU 状态标志。,Thumb指令对R8~R15寄存器访问受限。

(11)Thumb指令集的堆栈入栈、出栈指令是哪两条? PUSH POP

(12)Thumb指令集的BL指令转换范围为何能达到±4MB?其指令编码是怎样的?

Thumb 采用两条16 位指令组合成22 位半字偏移(符号扩展为32 位),使指令转移范围为±4MB。

2 有符号和无符号加法

下面给出A 和B 的值,您可先手动计算A+B,并预测N、Z、V 和 C 标志位的值。然后修改程序清单4.1 中R0、R1 的值,将这两个值装载到这两个寄存器中(使用LDR 伪指令, 如LDR R0,=0x FFFF0000),使其执行两个寄存器的加法操作。调试程序,每执行一次加法 操作就将标志位的状态记录下来,并将所得结果与您预先计算得出的结果相比较。如果两个 操作数看作是有符号数,如何解释所得标志位的状态?同样,如果这两个操作数看作是无符数,所得标志位又当如何理解?

0xFFFF000F 0x7FFFFFFF 67654321 (A) + 0x0000FFF1 + 0x02345678 + 23110000 (B) 结果: ( ) ( ) ( ) 3 数据访问

把下面的 C 代码转换成汇编代码。数组 a 和b 分别存放在以 0x4000 和 0x5000 为起始 地址的存储区内,类型为long(即32 位)。把编写的汇编语言进行编译连接,并进行调试。

for (i=0; i<8; i++) { a[i] = b[7-i]; }

第四章

程序清单4.1寄存器相加 ;文件名:TESTI.S

;功能:实现两个寄存器相加

;说明:使用ARMulate软件仿真调试

AREA Examplel,CODE,READONLY ;声明代码段Examplel

第 页 共 21 页

16

ENTRY ;标识程序入口

CODE32 ;声明32位ARM指令 START MOV R0,#0 ;设置参数 MOV R1,#10

LOOP BL ADD_SUB ;调用子程序ADD_SUB B LOOP ;跳转到LOOP ADD_SUB

ADDS R0,R0,R1 ;R0=R0+R1 MOV PC,LR ;子程序返回 END ;文件结束

程序清单4.2 读取SMI立即数 T_bit EQU 0X20 SWI_Handler

STMFD SP!,{R0_R3,R12,LR} ;现场保护 MRS R0,SPSR ;读取SPSR STMED SP!,{R0} ;保存SPSR TST R0,#T_bit ;测试T标志位

LDRNEH R0,[LR,#_2] ;若是Thumb指令,读取指令码(16位) BICNE R0,R0,,#0xFF00 ;取得Thumb指令的8位立即数

LDREQ R0,[LR,#_4] ;若是ARM指令,读取指令码(32位) BICEQ R0,R0,#0Xff000000 ;取得ARM指令的24位立即数 ……

LDMFD SP!,{ R0_R3,R12,PC} ;SWI异常中断返回

程序清单4.3使用IRQ中断 ENABLE_IRQ

MRS R0,CPSR

BIC R0,R0,#0x80 MSR CPSR_C,R0 MOV PC,LR

程序清单4.4禁能IRQ中断 DISABLE_IRQ

MRS R0 CPSR

ORR R0,R0,#0x80 MSR CPSR_C,R0 MOV PC,LR

程序清单4.5堆栈指令初始化 INTSTACK

WOV R0,LR ;保存返回地址 ;设置管理模式堆栈

MSR CPSR_C,#0xD3 LDR SP,stacksvc ;设置中断模式堆栈

MSR CPSR_C,#0xD2 LDR SP,Stacklrq ……

程序清单4.6小范围地址的加载 ……

ADR R0,DISP_TAB ;加载转换表地址

LDRB R1,[R0,R2] ;使用R2作为参数,进行查表

第 页 共 21 页

17

……

DISP_TAB

DCB 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90

程序清单4.7中等范围地址的加载 ……

ADR LR,RETURNI

ADRL R1,Thumb_sub+1 BX R1 RETURNI

……

CODE 16 Thumb_sub

MOV R1,#10 ……

程序清单4.8加载32位立即数 ……

LDR R0,=IOPIN ;加载GPIO的寄存器IOPIN的地址 LDR R1,[R0] ;读取IOPIN寄存器的值 ……

LDR R0,=IOSET

LDR R1,=0x00500500

STR R1,[R0] ;IOSET=0x00500500 ……

程序清单4.9软件延时 …… DELAYI NOP NOP NOP

SUBS R1,R1,#1 BNE DELAYI ……

程序清单4.10 ARM到Thumb的状态切换 ;文件名:TEST8.S

;功能:使用BX指令切换处理器状态 ;说明:使用ARMulate软件仿真调试

AREA Example8,CODE,READONLY ENTRY CODE32

ARM_CODE ADR R0,THUMB_CODE+1

BX R0 ;跳转并切换处理器状态 CODE16

THUMB_CODE

MOV R0,#10 ;R0=10 MOV R1,#20 ;R1=20

ADD R0,R1 ;R0=R0+R1 B END

(一)、填空题

1、嵌入式系统的三要素是嵌入、专用、计算机。

第 页 共 21 页

18

2、从嵌入式系统设计的角度来看,嵌入式软件结构可以分为循环轮询系统、前后台系统、单 处理器多任务系统以及多处理器多任务系统等几大类。

3、衡量系统实时性的主要指标有:响应时间、生存时间、吞吐量。 4、软件一般包括:程序、数据和文档。

5、嵌入式软件的体系结构通常包括:驱动层、操作系统层、中间件层和应用层。

6、嵌入式系统中的任务管理主要包括:创建任务、删除任务、改变任务状态和查询任务状态 等功能。

7、任务由代码、数据、堆栈和任务控制块TCB构成。

8、TCB包含操作系统用来控制任务所需要的信息,如任务状态、CPU寄存器、调度信息、内 存管理信息和I/O状态信息等。

9、任务的主要特性包括:动态性、并行性和异步独立性。

10、任务的特性可能通过优先级、周期、计算时间、就绪时间和截止时间等参数来进行描述。 11、任务的三种基本状态为:等待、就绪和执行。

12、BSP的主要特点是:硬件相关性与操作系统相关性。

13、评价实时操作系统的主要指标有:系统响应时间、任务切换时间、中断延迟等。 14、实时系统与分时以及批处理系统的主要区别是高及时性和高可靠性。

15、创建任务原语的主要功能有:为任务申请一个TCB并初始化、将新建任务设置为就绪状态 并放入就绪队列中。

16、采用优先级调度算法时,一个高优先级任务由阻塞状态变为就绪状态时,可以有非抢占式

和抢占式两种处理方式。

17、一个从磁盘上读文件的任务,在得到了所需要的文件信息后,它的状态应该从阻塞转换成

就绪。

18、存储管理中,对存储空间浪费是以内部碎片和外部碎片两种形式表现出来的。 19、地址重定位可以分为静态重定位和动态重定位两种。

20、静态重定位是在程序装入时进行,动态重定位是在程序执行时进行。

21、设备管理的主要目标是:提高外部设备的利用率、为用户提供统一的使用界面。

22、信号量的物理意义是当信号量值大于零时表示可分配资源的个数;当信号量值小于零时表

示等待该资源的任务的个数。

23、用P、V操作管理临界区时,一个任务在进入临界区前应对信号量执行P操作,退出临界区 时应对信号量执行V操作。

24、在嵌入式系统中,如果被多个任务同时操作,某些资源可能会变得不确定,这些资源包括:

共享事件结构、共享文件、共享硬件设备。

25、在对一个设备进行操作之前要完成下面三步:安装设备驱动、初始化设备、打开一个设备

并得到文件描述符。

26、块设备以块为单位传输数据,字符设备以字节为单位传输数据。__ (四)、简答题

1、什么是嵌入式系统?嵌入式系统的特点是什么?

嵌入式系统是以应用为中心,以计算机技术为基础,软件硬件可裁剪,功能、可靠性、 成本、体积、功耗严格要求的专用计算机系统。 嵌入式系统的主要特点如下: 高实时性OS、系统内核小 专用性强 系统精简

实时性和可靠性要求高 嵌入式软件开发走向标准化

嵌入式系统需要专门的开发工具和环境 2、嵌入式软件的特点有哪些?

第 页 共 21 页

19

", 规模相对较小,开发难度大 ", 快速启动,直接运行 ", 实时性和可靠性要求高 ", 程序一体化 ", 两个平台

3、嵌入式系统的主要应用领域有哪些?

消费电子、通信设备、家庭设备、汽车电子、工业控制、军事国防、医疗电子等。 4、按实时性来分,嵌入式系统可分为几类?它们的特点是什么?

可分为硬实时系统和软实时系统。其中硬实时系统对响应时间有严格要求,如果系统

响应时间得不到满足,就会引起系统崩溃或致命的错误;软实时系统对响应时间有要求, 但系统响应时间得不到满足时,不会导致系统崩溃或致命的错误。 0 deadline time 1

Hard System Soft System

5、影响系统响应时间的主要因素有哪些? 影响系统响应时间的主要因素有: ", 任务调度算法 ", 任务执行时间 ", 事件发生的频率 ", 任务数量 ", 中断响应时间 ", 任务响应时间 ", 资源共享 ", 任务间通信

6、根据自己的理解描述嵌入式系统的发展趋势? 行业性嵌入式软硬件平台——标准化 互联网的普及——网络化

半导体技术的改善——小型化

3C技术的快速融合——功能多样化 使用者的需求——个性化

信息服务应用生活化——泛在化

28、请简述计数信号量的工作原理。

计数器信号量通常用于保护多实例访问的资源。计数信号量可以看成一个内存单元,

这个内存单元的内容保存一个计数值。当一个任务用semTake获取一个计数信号量时,会有 两种结果:

如果这个信号量的计数是非0的,那这个信号量的计数就会减1,调用semTake的任务也 会继续执行;

如果这个信号量的计数是0,调用semTake的任务会被阻塞,等待信号量的可用。如果

用semTake获取一个计数信号量时指定了超时,并且达到了超时值,这个任务会从阻塞队列 移出并移入到就绪队列,同时返回错误状态。有可能会有几个任务同时等待在一个计数信 号量上。

当一个任务调用semGive()释放一个计数信号量时,等待在这个计数信号量队列中的任 务会解除阻塞状态。如果没有任务等待,该信号量计数会加1。 29、简述消息队列的工作机制?工作模式?有何优缺点?

消息队列是任务之间传递信息的一种机制,允许多个任务,中断之间发送以指针方式

定义的变量或其他信息,指向的数据结构的变量类型也可以有所不同;可以看作多个邮箱 组成的数组,共用一个等待列表,可以用作计数型信号量。

第 页 共 21 页

20

主要的工作模式有两种:C/S模型、双工通信模型。 优点:可以携带少量信息,可以缓冲,防止峰值。

缺点:效率不高。传递指针信息,没有对消息进行复制,不能对原消息进行修改,效 率相对高(vxWorks会复制消息)。

30、简述管道的工作机制?与消息队列相比,各有什么优点?

管道是构筑于消息队列之上,由pipeDrv所控制的一个虚拟的I/O设备,具有标准的I/O 接口。

消息队列的优点:具有超时功能、消息有优先级、更快、可以被删除。

管道的优点:使用标准的I/O接口,如read(), write(),open(), close() ;可以通过io taskStdSet

()重定向;在Select()重可以使用文件描述符。 31、简要描述VxWorks中信号的定义和用途。

信号是一种软件通知,用以通知处理事件的任务。VxWorks支持软件信号功能,信号 异步地改变任务的控制流,任何任务都可以向另外一个任务发送信号。 信号多用于异常处理,很少用于任务间通信。

32、实时系统软件开发不同于其他软件工程的主要特征有哪些?

实时系统的设计是受资源约束的。时间是实时系统的首要资源,除此以外,其他系统 资源如内存大小等,在实现系统目标时都有可能与时间进行折衷。 实时系统是紧凑而复杂的,通常需要软件硬件协同设计。 实时系统的运行常常不需要用户的参与。

33、选择嵌入式系统处理器时主要考虑哪些因素?

主要考虑的因素有应用类型、I/O接口、主频、功耗、所支持的存储器类型、总线、价 格、封装、产品的生命力和厂家的实力、技术支持和第三方软件的支持。 34、选择嵌入式操作系统时主要考虑哪些因素? 是自建还是购买,或是使用开源软件;

应用对嵌入式操作系统的功能、性能的要求; 与硬件平台和开发工具的关系;

产品所属的应用领域是否有行业的标准或限制; 技术支持;

版税或服务费的问题。

第 页 共 21 页 21


史上最详细的嵌入式试题集(含答案)(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:三言二拍中的文人形象

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: