计算机三级(嵌入式系统开发技术)机试模拟试卷166
选择题
1.以下关于ARM处理器工作状态说法错误的是( )。(B)
A. 工作状态包括ARM状态、Thumb及Thumb-2状态和调试状态三种
B. ARM状态既支持16位指令宽度也支持32位指令宽度
C. Thumb状态或Thumb-2状态下代码密度大于ARM状态,占用存储空间较小
D. ARM处理器复位后总处于ARM状态
解析:在ARM的体系结构中,处理器可以工作在3种不同的状态:①ARM状态②Thumb状态及Thumb-2状态③调试状态。除支持Thumb-2的ARM处理器外,其他所有ARM处理器都可以工作在ARM状态。ARM状态是ARM处理器工作于32位指令的状态,所有指令均为32位宽度。B选项叙述错误,故本题选择B。
2.以ARM内核为基础的嵌入式处理器芯片采用系统总线与外围总线的层次结构方式构建片上系统,下面列出的组件中,不与外围总线相连的组件是( )。(B)
A. UART
B. DMA控制器
C. ADC
D. USB设备
解析:系统总线通过桥接器与外围总线互连,外围总线连接的硬件组件包括:GPIO、UART、SPI、I2C、USB设备ADC、DAC等等。 DMA(Direct Memory Access)控制器是一种在系统内部转移数据的独特外设,可以将其视为一种能够通过一组专用总线将内部和外部存储器与每个具有DMA能力的外设连接起来的控制器。故本题选择B。
3.ARM处理器将R0中一个字的数据,存入由R1指示的内存区域,则使用的指令是( )。(A)
A. STR R0,[R1]
B. LDR R0,[R1]
C. STRH R0,[R1]
D. STRB R0,[R1]
解析:按题目要求,即将R0的值传送到以R1的值为地址的存储器中,故需采用寄存器间接寻址。故本题选A。
4.关于ARM处理器的命名,以下说法错误的是( )。(C)
A. ARM11之前的命名中TDMI中的T的含义是Thumb,即支持高密度16位Thumb指令集
B. ARM11之后,采用ARM Codex来命名
C. ARM Codex-R为高端应用型Codex处理器
D. ARM Codex-M系列处理器内部没有MMU部件
解析:此处ARM处理器命名主要是ARM内核命名。在ARM Cortex之前,ARM内核的命名中T表示支持高密度16位的Thumb指令集;ARM11以后则以Cortex命名,分为三个系列,-A,-R,-M系列,分别面向高端应用、实时控制和微控制器。其中ARM Cortex-M内部没有MMU。故本题选择C。
5.嵌入式Linux中,不属于Linux内核部分的功能是( )。(A)
A. 用户界面
B. 内存管理
C. 网络接口
D. 进程间通信
解析:Linux内核主要由5个子系统组成,进程调度(SCHED),内存管理(MM),虚拟文件系统(VFS),网络接口(NET),进程间通信(IPC)。A项用户界面并不属于内核部分的功能,故本题选择A。
6.下面是关于嵌入式系统使用的存储器的叙述,其中错误的是( )。(C)
A. 嵌入式系统使用的存储器以半导体存储器为主
B. 铁电存储器(FRAM)在嵌入式系统已得到应用
C. 静态存储器SRAM是非易失性存储器
D. 动态存储器DRAM是易失性存储器
解析:随机存取存储器包括静态和动态两种形式,即SRAM和DRAM,它们都是易失性存储器,即掉点后信息丢失。C选项错误,故本题选择C。
7.在μC/OS–Ⅱ中,OSSched()函数是任务调度的前导函数,用于判断进行任务调度的条件是否满足。下列满足条件的变量值为( )。(A)
A. OSIntN esting=0,OSLockNesting=0
B. OSintNesting=0,OSLockNesting=1
C. OSIntNesting=1,OSLckNesting=0
D. OSIntNesting=1,OSLockNesting=1
解析:OSSched()函数是任务调度的前导函数,判断进行任务调度的三个条件是否满足。这三个条件是:
(1)中断嵌套层数共享全程变量OSIntNesting=0,也就是所有的ISR已经执行完毕。
(2)任务调度加锁层数共享全程变量OSLockNesting=0,也就是调度没有被禁止。调度器上锁函数OSSchedlock()对共享变量OSLockNesting做加1操作,用于禁止任务调度,直到任务完成后,再调用给调度器开锁函数OSSchedUnlock()对共享变量OSLockNesting做减1操作。
(3)就绪表查找到的最高优先级任务的优先级比当前任务的优先级高。故本题选择A。
8.关于ARM嵌入式处理器的工作状态,以下说法正确的是( )。(C)
A. ARM状态是32位指令的状态,指令代码为16位和32位
B. Thumb状态为16位指令状态,指令长度可为16位,也可以为32位
C. Thumb-2状态兼容16位指令和32位指令编码
D. ARM状态和Thumb状态不可切换
解析:在ARM的体系结构中,处理器可以工作在3种不同的状态:①ARM状态②Thumb/Thumb-2状态③调试状态。ARM状态是ARM处理器工作于32位指令的状态,即32位状态,所有指令均为32位宽度。Thumb状态是ARM执行16位指令的状态,即16位状态。在Thumb模式下,指令代码只有16位。Thumb-2状态是ARMv7版本的ARM处理器所具有的新状态,新的Thumb-2内核技术兼有16位及32位指令长度;通过BX指令,ARM状态和Thumb状态是可以相互切换的。只有C选项正确,故本题选择C。
9.以下对伪指令的解释错误的是( )。(B)
A. DCB 0x56;在内存区域分配一个字节的内存空间并初始化为0x56
B. CODE32;伪指令通知编译器,其后的指令序列为32位的ThUmb指令
C. MyTest EQU 15000;为定义一个常量MyTest值为15000,最大数为32位
D. EXPORT;伪指令用于在程序中声明一个全局的标号,该标号可在其它的文件中引用
解析:DCB为ARM汇编器所支持的数据定义伪指令,用于分配一片连续的字节存储单元并用指定的数据初始化,A选项正确;CODE32伪指令通知编译器,其后的指令序列为32位的ARM指令,故B选项错误;EQU是等于伪指令,用于为程序中的常量、标号等定义一个等效的字符名称,最大数为32位,C选项正确;EXPORT伪指令用于在程序中声明一个全局的标号,该标号可在其他的文件中引用,可用GLOBAL代替,D选项正确,故本题选择B。
10.以下指令中不属于逻辑移位的指令是( )。(C)
A. LSL R0,R1
B. LSR R2,R3,3
C. ASR R4,R5
D. LSR R6,R7
解析:LSL是逻辑左移,LSR是逻辑右移,而ASR是算术右移,故本题选择C。
11.为用ARM芯片的一根GPIO引脚驱动一个LED(发光二极管),设计了如下图(a)~(d)共4个具体的电路。图中,设计得最合理的电路是( )。
(A)
本文档预览:3600字符,共23059字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载