模拟卷三
满分100分,考试时间120分钟
一、选择题(每题1分,共40分)
1. 下面关于嵌入式系统的叙述中,错误的是()。
- A)嵌入式系统与具体应用紧密结合, 具有很强的专用性
- B)嵌入式系统通常要求小型化、轻量化、低功耗及低成本,因此其软硬件资源受到较为严格的限制
- C)嵌入式系统大多面向控制应用,因此系统的可靠性十分重要
- D)设计嵌入式系统时,一般不需考虑实时性方面的要求
答案
答:D 【解析】设计嵌入式系统时,一般都需要考虑系统的实时性,嵌入式系统都具有一定的实时性,即必须在一个可预测和保证的时间内对外部事件作出正确的反应;本题答案为D选项。
2. 下面列出的I/O接口中,不属于串行总线式接口的是()。
- A)IEEE 1394
- B)AMBA
- C)USB 2.0/USB 3.0
- D)以太网接口
答案
答:B 【解析】AMBA总线主要有三种总线,AHB、APB总线仅支持串行通信,属于串行接口,而AXI总线的读写数据通道独立,支持并行通信,属于并行接口。本题答案为B选项。
3. 下面是关于SoC设计相关的叙述,其中错误的是()。
- A)SoC设计时的正确流程是:总体设计→综合与仿真→逻辑设计→芯片制造
- B)IP核的复用可以减少SoC研发成本,缩短研发时间,是实现SoC快速设计,尽早投放市场的有效途径
- C)按照IC设计文件的类型,IP核通常分为软核、固核和硬核三种
- D)SoC芯片中包含的CPU,它们绝大多数都是以IP核的方式集成在SoC芯片中, 很少自行单独设计开发
答案
答:A 【解析】SoC设计时的正确流程为:总体设计→逻辑设计→综合与仿真→芯片制造。本题答案为A选项。
4. 下面关于微控制器(单片机)的叙述中,错误的是()。
- A)除CPU外,微控制器芯片内还集成了程序存储器、RAM、总线、定时/计数器等多种必要的功能部件和外设接口
- B)与微处理器不同,微控制器只需要很少的外接电路就可以独立工作
- C)微控制器常可简写为MCU
- D)目前微控制器内核的位数最多为16位,没有32位的微控制器
答案
答:D 【解析】微控制器按其使用的处理器内核位数经历了1位、4位、8位、16位及32位的发展阶段。其中32位的MCU产品中,具有代表性的产品有ARM7、ARM9、ARM11和ARM Cortex-M系列。本题答案为选D选项。
5. 下列字符集编码中,后者与前者保持向下兼容的是()。
- A)ASCII码与UTF-16
- B)ASCII码与GB2312
- C)GB2312与GB18030
- D)UTF-8与UTF-16
答案
答:C 【解析】GB18030是一种变长多字节字符集,对字符集GB2312完全向后兼容,即字符集GB18030包含字符集GB2312的所有字符,且编码相同。本题答案为C选项。
6. 下列各缩写中,都属于数字音频文件格式的是()。
- A)RLE、M4A、AC3
- B)FLAC、WMA、AAC
- C)WAV、MPEG-2、APE
- D)MP3、PNG、BMP
答案
答:B 【解析】RLE是一种压缩过的位图文件格式,不属于音频文件格式,因此A选项错误;MPEG-2是基于数字存储媒体运动图像和语言的压缩标准,属于视频文件格式,因此C选项错误;PNG是一种无损压缩的图像文件格式,不属于音频文件格式,因此D选项错误;本题答案为B选项。
7. 下列关于数字图像和声音的描述中,正确的是()。
- A)WAV是一种无损压缩的数字音频编码格式
- B)如果3个颜色分量中的像素位数分别为6位、6位和4位,则该图像的像素深度为16
- C)测量每个取样点的每个分量的亮度值的过程称为量化
- D)电话通信语音的取样频率范围通常在40kHz以上
答案
答:B 【解析】WAV是一种未压缩的数字音频编码格式,因此A选项错误;测量每个取样点的每个分量的亮度值的过程称为取样,因此C选项错误;电话通信语音的采样频率范围通常为8kHz;因此D选项错误;本题答案为B选项。
8. 关于局域网中传输的数据帧格式,按照传输先后顺序叙述正确的是()。
- A)接收设备MAC地址、发送设备MAC地址、控制信息、有效载荷以及校验信息
- B)发送设备MAC地址、接收设备MAC地址、控制信息、有效载荷以及校验信息
- C)控制信息、发送设备MAC地址、接收设备MAC地址、有效载荷以及校验信息
- D)控制信息、接收设备MAC地址、发送设备MAC地址、有效载荷以及校验信息
答案
答:B 【解析】局域网采用分组交换技术,传输的数据帧的格式,按照传输先后顺序分别为:发送设备MAC地址、接收设备MAC地址、控制信息、有效载荷(传输的数据)、校验信息;本题答案为B选项。
9. ARM处理器在性能相同的情况下,代码密度最大的是()。
- A)Thumb状态
- B)Thumb-2状态
- C)ARM状态
- D)调试状态
答案
答:A 【解析】Thumb指令集的指令编码全部为16位,在保留了32位代码优势的同时,大大节省了系统的存储空间,因而其代码密度最大,而Thumb-2与ARM指令集相比,性能相同时Thumb-2的代码密度可能缩小31%;故本题答案为A选项。
10. 在ARM处理器中,对于功耗要求比较严格的应用场合,采用最合适的ARM处理器是()。
- A)ARM9
- B)ARM Cortex-A15
- C)ARM Cortex-M0
- D)ARM Cortex-R4
答案
答:C 【解析】Cortex-A系列是面向高端应用的处理器,性能好、功耗合理;Cortex-M系列是面向微控制器的处理器,性价比极高、成本极低、功耗极小;Cortex-R系列是面向实时控制应用的处理器,它的响应速度快,性能合理、功耗低;在对于功耗要求比较严格的应用场景,应当选用最低功耗的Cortex-M系列处理器,即ARM Cortex-M0处理器;本题答案为C选项。
11. 决定经典ARM处理器工作模式的寄存器是()。
- A)R13
- B)R14
- C)R15
- D)CPSR
答案
答:D 【解析】CPSR是当前程序状态寄存器,其中的T控制位可以用于切换处理器执行的指令类型。决定经典ARM处理器工作模式的寄存器是CPSR。本题答案为D选项。
12. 以下可读外设数据的指令有()。
- A)LDR R0,[R1]
- B)STRH R1,[R2]
- C)LDR R0,=0x40000200
- D)MOV R0,R1
答案
答:A 【解析】读外设数据应当使用LDR指令。A选项采用间接寻址的方式,将R1保存的地址所对应的数据,读到R0中;C选项采用直接寻址的方式,将0x40000200保存到R0中,与MOV类似;本题答案为A选项。
13. 关于经典ARM处理器异常种类,以下说法错误的是()。
- A)每种异常都有相应的优先级
- B)每种异常都有唯一的中断向量
- C)复位RESET中断向量地址为0
- D)SWI是软件中断,优先级高于外部中断
答案
答:D 【解析】软件中断属于内部中断,其优先级低于外部中断;本题答案为D选项。
14. 关于ARM的存储器格式,以下说法正确的是()。
- A)ARM有两种存储字的格式包括大端模式和小端模式
- B)大端模式是指数据字的高字节存放在高地址的一种模式
- C)小端模式是指数据字的低字节存放在高地址的一种模式
- D)大端模式和小端模式,不能切换
答案
答:A 【解析】大端模式是指字节与地址的存放顺序相反,即低地址存放高字节,高地址存放低字节,而小端模式是指字节与地址的存放顺序相同,即低地址存放低字节,高地址存放高字节,大端模式和小端模式可以切换;本题答案为A选项。
15. 执行ARM指令STR R1,[R0,#8]!后,以下说法正确的是()。
- A)R0中的值发生改变
- B)R1中的值发生改变
- C)R1的内容左移了8位
- D)内存中的数据不变
答案
答:A 【解析】本题指令是将R1的值保存在R0+8这个地址中,并且更新R0的值为R0+8。因此R0的值发生了改变,R1的值不变,内存中的数据被改变。本题答案为A选项。
16. 经典ARM程序状态寄存器CPSR格式如下:
31 30 29 28 27 26 …… 8 7 6 5 4 3 2 1 0
N
Z
C
V
Q
状态保留
I
F
T
M4
M3
M2
M1
M0
执行以下指令后: MRS R1,CPSR ORR R1,R1,#0x40 AND R1,R1,#0xFFFFFF7F MSR CPSR,R1以下说法正确的是()。
- A)允许外部中断,禁止快速中断
- B)禁止外部中断,允许快速中断
- C)允许外部中断,允许快速中断
- D)禁止外部中断,禁止快速中断
答案
答:A 【解析】先将CPSR的数据暂存到R1中;然后将R1的低8位与0100 0000取或操作,即将F控制位,置1;接着将R1的低8位与0111 1111取与操作,即将I控制位,置0;最后再保存到CPSR中;F控制位置1,表示禁止快速中断,I位置0,表示允许外部中断;本题答案为A选项。
17. 以下ARM指令正确的是()。
- A)ADD R3,R3,[R1]
- B)MOV R2,[R4]
- C)LDR R4,[R5]
- D)MOV R1,0x10
答案
答:C 【解析】ADD和MOV指令的操作数,只能是立即数或寄存器,不能是间接寻址方式的值以及纯地址;本题答案为C选项。
18. 把R1~R5,以及R8中的数据依次写入由R0指示的内存区域,且要求地址传送后递增,符合要求的指令为()。
- A)STMDB R0,{R1-R5,R8}
- B)STMIA R0,{R1-R5,R8}
- C)STMIB R0,{R1-R5,R8}
- D)STMDA R0,{R1-R5,R8}
答案
答:B 【解析】注意本题的关键字眼“传送后”和“递增”。推断应在STM后加IA;加DB为传送前递减;加IB为传送前递增;加DA为传送后递减。本题答案为B选项。
19. 设计嵌入式硬件系统的电源电路时常会采用LDO,下面是关于LDO的叙述,其中错误的是()。
- A)LDO是低压差稳压器的简称
- B)作为稳压器的78XX系列芯片是一种典型的LDO
- C)LDO的输入是直流信号
- D)不同系列的LDO,其输出电流可能不同
答案
答:B 【解析】LDO是低压差稳压器,而78XX系列芯片属于普通稳压器,不属于LDO;本题答案为B选项。
20. 讨论典型嵌入式处理器时钟电路设计方法时常会结合下面的示意图,下面是关于典型嵌入式处理器时钟电路设计方法的相关叙述,其中错误的是()。
- A)右图中的Clock是稳定的时钟信号源输出的信号
- B)左图中的Xtal为晶体振荡器
- C)右图中的X2可以输出时钟信号,而左图中的X2不能输出时钟信号
- D)嵌入式处理器时钟信号的频率频不能超过嵌入式处理器的最高工作频率,有时还要兼顾嵌入式处理器的功耗
答案
答:C 【解析】左图是使用晶体振荡器产生内部时钟信号的信号发生器,右图是使用外部时钟信号源的信号发生器,二者都可以输出时钟信号;本题答案为C选项。
21. 下面是关于ARM的AMBA的叙述,其中错误的是()。
- A)AMBA是ARM公司定义的一种用于连接和管理片上系统中功能模块的开放标准和片上互连规范
- B)从AMBA1.0发布以来,AMBA已经有多个不同的版本,其总线性能也不断提高
- C)总体而言AMBA由系统总线和外围总线组成
- D)AMBA中的系统总线常简称为APB
答案
答:D 【解析】在AMBA总线中,APB为先进外围总线,而ASB为先进系统总线;本题答案为D选项。
22. 下面是关于典型嵌入式系统硬件组成的叙述,其中错误的是()。
- A)模拟量输入接口属于典型嵌入式系统的前向通道
- B)开关量/数字量输入接口属于典型嵌入式系统的后向通道
- C)LED/LCD显示接口属于典型嵌入式系统的人机交互通道
- D)USB接口属于典型嵌入式系统的相互互连通道
答案
答:B 【解析】输入接口属于前向通道,而不是后向通道,输出接口属于后向通道。本题答案为B选项。
23. 从应用系统需求出发,选择嵌入式系统中的嵌入式处理芯片时应遵守的一个原则是参数选择原则,下面选项中,不属于参数选择原则时考虑的选项是()。
- A)ARM内核类型
- B)ARM芯片的价格
- C)系统时钟频率
- D)ARM芯片内部存储器的容量
答案
答:B 【解析】芯片的价格并不属于芯片本身的性能参数,因此在参数的选择时不需要考虑价格;本题答案为B选项。
24. 下面是关于嵌入式系统中使用的存储器的叙述,其中错误的是()。
- A)FRAM是一种铁电随机存取存储器
- B)MRAM是一种磁性随机存取存储器
- C)EEPROM是一种电可擦除可编程只读存储器
- D)DDR2 SDRAM的存取速度与DDR SDRAM一样
答案
答:D 【解析】DDR2的实际工作频率是DDR的两倍,因此DDR2 SDRAM提供了相较于DDR SDRAM更高的运行效能。本题答案为D选项。
25. 下面是关于S3C2410内含的I2C总线接口的叙述,其中错误的是()。
- A)I2C接口具有主发送模式、主接收模式、从发送模式和从接收模式
- B)涉及I2C操作的寄存器只有IICCON和IICSTAT这两个寄存器
- C)IICCON是I2C总线控制寄存器
- D)IICSTAT是I2C总线状态寄存器
答案
答:B 【解析】涉及I2C操作的寄存器有IICCON、IICSTAT、地址寄存器、数据位移寄存器等;本题答案为B选项。
26. 下述通信标准中,通信时不采用差分方式进行信号传输的是()。
- A)USB
- B)RS-485
- C)CAN
- D)RS-232
答案
答:D 【解析】RS-232采用非差分方式进行信号传输,即单端通讯;本题答案为D选项。
27. S3C2410内置ADC的结构如下图所示。下面是关于S3C2410内置ADC的叙述,其中错误的是()。
- A)内置ADC采用的是逐次逼近式ADC
- B)A/D转换结果暂存在图中的“ADC数据寄存器”中
- C)整个内置ADC只有一个模拟量输入通道
- D)A/D转换结束会产生中断请求信号
答案
答:C 【解析】S3C2410内置的ADC有8个模拟量输入通道;本题答案为C选项。
28. S3C2410内部有5个16位定时器Timer,有4个具备PWM输出。因此芯片内部有一组PWM特殊功能寄存器,其中的“定时器控制寄存器”是()。
- A)TCNTB0~ TCNTB4
- B)TCNTO0~ TCNTO4
- C)TCON
- D)TCFG0
答案
答:C 【解析】TCNTBn为定时器计数缓冲寄存器;TCNTOn为定时器观察寄存器;TCON为定时器控制寄存器;TCFGn为定时器配置寄存器。本题答案为C选项。
29. 下列关于嵌入式系统软件构成部件的各组术语中,含义最相似的是()。
- A)引导加载程序与板级支持包
- B)操作系统与中间件
- C)硬件抽象层与板级支持包
- D)应用程序与引导加载程序
答案
答:C 【解析】硬件抽象层HAL与板级支持包BSP的含义最为相似,两者都是嵌入式系统的底层软件,甚至有些文献并不区分HAL与BSP,把二者当做同义词;本题答案为C选项。
30. 下列关于BSP的描述中,正确的是()。
- A)BSP在系统上电复位之前负责系统初始软硬件环境的建立
- B)BSP一般由操作系统厂商提供
- C)BSP是嵌入式系统软件必须的组成部件
- D)如果有可能,一般会选择与所支持的硬件平台最相近的参考平台上已经有的BSP,将其移植到新平台上
答案
答:D 【解析】BSP是嵌入式系统的底层软件,只能在上电复位之后,进行系统软硬件环境的初始化,因此A选项错误;BSP一般由嵌入式软件开发人员进行开发,而HAL一般由操作系统厂商提供,因此B选项错误;BSP位于操作系统层和硬件层之间,而嵌入式系统软件中的中间件层并不需要BSP;本题答案为D选项。
31. 下列关于bootloader的陈述中,错误的是()。
- A)嵌入式系统上电复位后首先运行引导加载程序
- B)有些种类的bootloader能支持多种体系结构的处理器,但每种体系结构有其自身的版本
- C)与处理器体系结构相关的硬件初始化和板级初始化等操作通常都在第一阶段完成
- D)Windows Embedded Compact的BSP 又称为OEM适配层
答案
答:D 【解析】Windows Embedded Compact的BSP由Boot Loader OEM适配层、设备驱动程序、内核独立传输层以及镜像配置文件组成,而不单单是指OEM适配层;本题答案为D选项。
32. 下列关于驱动程序的陈述中,错误的是()。
- A)驱动程序通常以若干函数的集合的形式出现
- B)很多操作系统不允许运行在用户态的应用程序直接访问物理端口,用户的应用程序必须通过驱动程序才能访问硬件
- C)在不使用操作系统的嵌入式系统中,驱动程序和高层软件之间通常并没有严格的界限
- D)某些操作系统允许驱动程序自行运行而无需被高层软件调用
答案
答:D 【解析】驱动程序不能自行运行,必须通过高层软件的调用才能运行;本题答案为D选项。
33. 下列关于嵌入式系统底层软件的陈述中,错误的是()。
- A)μC/OS嵌入式操作系统只包括操作系统内核,不包括设备驱动程序
- B)BSP中包含硬件相关的设备驱动程序
- C)一种嵌入式操作系统的BSP不可能用于其他嵌入式操作系统
- D)Nucleus PLUS是一个规模庞大的开源bootloader软件
答案
答:D 【解析】NucleusPLUS是为实时嵌入式应用而设计的抢先式多任务操作系统内核。它不是开源bootloader软件。本题答案为D选项。
34. 下列名词术语中,与嵌入式底层软件无关的是()。
- A)BSP
- B)Bootloader
- C)HAL
- D)Dalvik
答案
答:D 【解析】Dalvik是一种虚拟机,从软件层面抽象出虚拟的硬件和系统,是应用软件层的软件,与底层软件无关。本题答案为D选项。
35. 下列关于实时操作系统的陈述中,错误的是()。
- A)实时调度机制的目标是在峰值负载条件下能满足所有任务的时限
- B)任务的实时性要求越高,其优先级也就越高
- C)在实时操作系统中必须允许用户细粒度地控制任务的优先级
- D)实时调度机制首先要选择调度方式简单、反应速度快的实时调度算法
答案
答:A 【解析】实时调度机制的目标是,在正常情况下,尽可能满足所有任务的时限;而在峰值负载条件下,保证强实时任务满足时限。本题答案为A选项。
36. 下列关于嵌入式操作系统的陈述中,正确的是()。
- A)RTEMS是软实时操作系统
- B)eCos是商业嵌入式操作系统
- C)RTEMS、μC/OS-II和FreeRTOS都是免费嵌入式操作系统
- D)一般而言,嵌入式操作系统的用户界面只向最终用户提供功能接口,不提供操作命令,因而与用户的交互性较弱
答案
答:D 【解析】RTEMS是硬实时操作系统,因此A选项错误;eCos是一种嵌入式可配置实时操作系统,不属于商业嵌入式操作系统,因此B选项错误; µC/OS-II 并不是免费软件, 用户可以自由下载全部源码并用于教学、短期评估和私下研究,但如果将其用于商业用途, 则必须从 Micriµm 公司获得商用许可,因此C选项错误。本题答案为D选项。
37. 下列关于μC/OS-II操作系统的陈述中,错误的是()。
- A)用户必须在调用OSStart()启动多任务调度以后再开启时钟节拍器
- B)周期执行的任务通常执行三步操作:任务准备工作;任务实体;自我删除函数调用
- C)事件触发执行的任务一般采用循环结构,相关事件发生一次,任务实体代码执行一次
- D)如果任务在被挂起时正在等待延时,则挂起操作将被取消
答案
答:B 【解析】单次执行的任务通常执行三步操作:任务准备工作、任务实体、自我删除函数调用;而周期执行的任务一般采用循环结构,在每次完成具体功能后调用系统延时函数等待下一个执行周期,并将处理器时间让给其他任务。本题答案为B选项。
38. 下列关于Linux操作系统的陈述中,错误的是()。
- A)Linux是多用户、多任务、支持多线程和多CPU的类Unix操作系统
- B)Linux采用了与Unix相同的宏内核结构
- C)Android是用于智能手机、平板电脑等移动设备的软件包,其核心是以Linux内核为基础的开源操作系统
- D)严格来说,Linux并不是操作系统,而是操作系统的一个组成部件。Linux内核通常与一系列应用程序、系统库和开发工具等组合成可用的完整操作系统,其确切名称为MontaVista Linux操作系统
答案
答:D 【解析】Linux只是操作系统的内核,Linux内核通常与一系列应用程序、系统库和开发工具等组合成可用的完整操作系统,这种操作系统是Linux发行版,各个发行版的目的各不相同。本题答案为D选项。
39. 嵌入式系统开发中,要想准确地定位软件和硬件中出现的错误,必须借助多种硬件和软件开发调试工具。下面所列出的仪器设备中哪个不是嵌入式系统开发时常用的调试工具。
- A)编程器(或烧写器)
- B)JTAG适配器
- C)逻辑分析仪
- D)示波器
答案
答:A 【解析】编程器(或烧写器)是用于将程序代码烧写到ROM中去,不属于调试工具。本题答案为A选项。
40. 在基于ARM微处理器为核心的硬件平台上,开发其Linux环境下的应用程序test.c。若需要编译后生成test.c对应的汇编程序,下面哪条命令是合适的。
- A)arm-linux-gcc -g -o test test.c
- B)arm-linux-gcc -o test test.c
- C)arm-linux-gcc -c test.c
- D)arm-linux-gcc -S test.c
答案
答:D 【解析】本题要求生成汇编程序,即生成test.s文件。在使用gcc命令编译时需要加入参数-S。本题答案为D选项。
二、填空题(每空2分,共40分)
41. 在UTF-8编码中,中、日、韩统一汉字使用_个字节表示(请填入阿拉伯数字),标准ASCII字符使用_个字节表示(请填入阿拉伯数字)
答案
答:【41】3 【42】1 【41】3 【42】1【解析】UTF-8是针对Unicode的一种可变长度字符编码,中、日、韩统一汉字使用3个字节表示。标准ASCII字符使用1个字节表示。2字节用于表示拉丁文、希腊文、阿拉伯文等。4字节用于表示极少使用的语言字符。
42. 一IP地址为202.101.1.128,该IP地址属于三种基本类型中的_类,其中主机号为_。
答案
答:【43】C 【44】128 【43】C 【44】128【解析】确认IP地址的类别,只需看第1字节对应的二进制形式即可。若以0开头,则属于A类;若以10开头,则属于B类;若以110开头,则属于C类。202对应的二进制为1100 1010,以110开头,属于C类IP地址;C类IP地址最低1字节表示主机号,即128。
43. 在IPv4的数据报格式中,由两个部分组成,一部分是_,另外一部分是数据区,数据报长度最多_字节。
答案
答:【45】头部【46】65536或者64K 【45】头部【46】65536或者64K【解析】IPv4的数据报由头部和数据区组成,整个数据报的长度最多为216=65536=64K字节。
44. 100条用Thumb指令集编写的汇编程序所占的程序存储器空间为_字节,200条ARM指令集编写的汇编程序占用的程序存储器空间为_字节。
答案
答:【47】200 【48】800 【47】200 【48】800【解析】每一条Thumb指令占用2字节,因此100条Thumb指令占用200字节。每一条ARM指令占用4字节,因此200条ARM指令占用800字节。
45. 在ARM 指令系统中,用于无条件写内存8位数据的指令助词符是_将一个16位数据无条件读指定I/O端口的指令助词符为_。
答案
答:【49】STRB 【50】LDRH 【49】STRB 【50】LDRH【解析】向内存中写数据应使用STR指令。题中要求写入8位数据,即1字节数据,因此应当使用STRB指令,B表示Byte(字节)。读取数据应使用LDR指令,题中要求读16位数据,即2字节数据,因此应当使用LDRH指令,H表示Half(半字)。
46. 如果R0=0xC700FE10,R1=0xC500AA10,则ARM指令ADDS R0,R0,R1执行后,R0的值为_,进位标志C的值为_。
答案
答:【51】0x8C01A820 【52】1 【51】0x8C01A820 【52】1【解析】指令是将R0和R1的值进行相加,并将结果保存到R0中。因此R0的值为0xC700 FE10+0xC500 AA10,结果为0x1 8C01 A820。由于最高位的1是进位产生的,寄存器只有32位,因此R0保存的是以32位进行截断后的结果,即0x8C01A820,而进位则通过进位标志C置1来表示。
47. 如果ARM小端模式下,执行以下指令序列:LDR R1,=0x3F001000LDR R0,=0xA1A2A3A4STR R0,[R1,#4]LDR R0,=0x1A2B3C4DSTR R0,[R1]LDMIA R1!,{R2,R3}以上指令执行后,0x3F001006中的数据字节(用十六进制表示)= _和 R2=_
答案
答:【53】0xA2 【54】0x1A2B3C4D 【53】0xA2 【54】0x1A2B3C4D【解析】分析指令,R1中保存立即数0x3F001000,R0中保存立即数0xA1A2A3A4。然后将R0的值,保存到以R1+4为地址的内存中,即将0xA1A2A3A4保存到0x3F001004中。接着将立即数0x1A2B3C4D保存到寄存器R0中。然后再将其保存到以R1为地址的内存中,即将0x1A2B3C4D保存到0x3F001000中。最后以R1为起始地址,将内存中的数据分别读取到R2和R3中,此时读到R2中的就是最后保存的0x1A2B3C4D;由于是使用小端模式保存,低地址保存低字节,高地址保存高字节,因此0x3F001004-0x3F001007中保存的数据应分别是最先保存的数据的对应字节,即0xA4 0xA3 0xA2 0xA1,即0x3F001006中保存的数据是0xA2。
48. 已知R2=0xAEEEEEFF,依次执行ARM指令:ORR R1,R2,#0x51111100 AND R0,R1,R2 ADD R0,R0,#0x1BIC R1,R0,#0xCCCCCCCC上述指令执行之后,R0的值为_,R1的值为_。
答案
答:【55】0xAEEEEF00 【56】0x22222300 【55】0xAEEEEF00 【56】0x22222300【解析】指令先将R2与立即数0x5111 1100取或操作,保存到R1中,转换为二进制为:操作数1:10101110111011101110111011111111操作数2:01010001000100010001000100000000结果为:0xFFFFFFFF,保存到R1中然后将R1和R2取与操作,保存到R0中,转换为二进制为:操作数1:11111111111111111111111111111111操作数2:10101110111011101110111011111111结果为:0xAEEEEEFF,保存到R0中然后将R0与立即数0x1相加,结果保存到R0中,转换为二进制为:操作数1:10101110111011101110111011111111操作数2:00000000000000000000000000000001结果为:0xAEEEEF00,保存到R0中最后将R0按立即数0xCCCCCCCC中二进制位为1的位,置0,结果保存到R1中,转换为二进制为:操作数1:10101110111011101110111100000000操作数2:11001100110011001100110011001100结果为:0x22222300,保存到R1中此时,R0中的值为0xAEEEEF00,R1中的值为0x22222300。
49. ARM处理芯片内部的直接存储器访问控制器常可简写为_控制器,这是一种硬件组件,使用它可将数据块从外设传输至内存、从内存传输至外设或从内存传输至_。数据传输过程中不需要CPU参与,因而可显著降低处理器的负荷。
答案
答:【57】DMA 【58】内存 【57】DMA 【58】内存【解析】直接存储器访问(Direct Memory Access,简写为DMA)可以在无需任何CPU操作的情况下,提供外设与存储器之间,以及存储器和存储器之间的高速数据传输,本题中所提到的存储器为内存。
50. NOR Flash芯片AM29LV320D的逻辑引脚及其描述如下:
该芯片的存储容量为_MB。当BYTE#=1时,存储器以_位方式存取信息。
答案
答:【59】4【60】16 【59】4【60】16【解析】芯片的地址线有22条,A0-A20是21条,其中DQ15/A-1可以充当地址线使用,因此地址线有22条,可以索引的存储容量为222=4MB。BYTE#表示其低电平有效,因此当BYTE=1时,不以字节方式存取信息,而以16位方式存取信息。
51. I2C总线空闲时,主控器件启动总线操作的条件是,当SCL线为高电平时,SDA线由高电平转为低电平,此后,主控器件在_线产生时钟信号,_线开始数据传送。
答案
答:【61】SCL 【62】SDA 【61】SCL 【62】SDA【解析】SCL是时钟线,SDA是数据线,时钟线用于产生时钟信号,而数据线用于传送数据。
52. 基于嵌入式处理器内置的UART可以实现RS 232通信接口。RS 232采用负逻辑传输逻辑信号:传输逻辑“_”时,对应的电压在+3V~+15V范围内,传输逻辑“ _”时,对应的电压在-15V~-3V范围内。
答案
答:【63】0 【64】1 【63】0 【64】1【解析】采用负逻辑传输逻辑信号,即低电平有效,高电平无效。因此在+3V~+15V范围内的高电压,对应传输逻辑0,而在-15V~-3V范围内的低电压,对应传输逻辑1。
53. LED数码管如下图(a)所示,有a、b、c、d、e、f、g、dp八个段。两种接法的数码管分别如下图中的图(b)和图(c)所示,其中图(b)为共_极接法,而图(c)为共_极接法。
答案
答:【65】阳 【66】阴 【65】阳 【66】阴【解析】根据二极管方向来判断公共端的电极,b图二极管电流从左向右导通,因此左侧是正极,右侧是负极,而8个二级管的正极为公共端,属于共阳极接法;c图二极管电流从右向左导通,因此右侧是正极,左侧是负极,而8个二级管的负极为公共端,属于共阴极接法。
54. 某数字万用表的控制软件,在每一次循环中检查旋转开关的位置或按键的状态,然后执行相应的分支程序来完成相应的测量操作,再调整结果的格式,并把结果输出到显示屏上。这种嵌入式系统的软件结构为_结构。如果在这种结构的“主循环”基础上增加中断服务程序,则称为_结构。
答案
答:【67】轮询 【68】前后台 【67】轮询 【68】前后台【解析】题中关键词为“循环”,可判断这种嵌入式系统的软件结构为轮询结构;若在轮询结构中加入中断服务程序,即后台循环,前台执行中断服务程序,这种结构称为前后台结构。
55. 系统将控制权从低优先级的任务转移到高优先级任务所花费的时间称为任务_时间,该时间通常比任务切换时间更_。
答案
答:【69】抢占 【70】长 【69】抢占 【70】长【解析】系统将控制权从低优先级的任务转移到高优先级任务所花费的时间称为任务抢占时间。由于任务抢占需要先评估正在运行的任务与请求运行的任务,优先级高低,因此该时间通常比任务切换时间更长。
56. 微软的嵌入式操作系统可以划分为两个主线:由Windows CE系列更名而来的_系列,以及基于相同版本的Windows桌面操作系统的_系列。
答案
答:【71】Windows Embedded Compact (WEC) 【72】Windows Embedded 【71】Windows Embedded Compact (WEC) 【72】Windows Embedded【解析】微软的嵌入式操作系统家族产品众多,其主流产品基本上可以划分为两类:Windows Embedded Compact(或写为WEC)和Windows Embedded。
57. 在μC/OS-II中,有多种在任务间传递信息的不同类型的信号,被统称为_。任务或者_可以通过ECB向其他任务发出信号。
答案
答:【73】事件(event) 【74】中断(ISR) 【73】事件(event) 【74】中断(ISR)【解析】在μC/OS-II中,任务间传递信息的信号被称为事件,一个任务或中断,可以通过事件控制块向其他任务发出信号。
58. 在μC/OS-II中,中断服务程序在中断返回前调用的退出中断函数为_()。该函数执行时将变量_减1。
答案
答:【75】OSIntExit 【76】OSIntNesting 【75】OSIntExit 【76】OSIntNesting【解析】中断服务程序在中断返回前调用的退出中断函数,即中断返回函数OSIntExit();μC/OS-II通过全局变量OSIntNesting标识当前是否处于中断状态,以及中断嵌套的层数,当一个中断服务程序执行完毕,调用中断返回函数后,该变量的数值会减1,表示减少一层嵌套的中断。
59. RVDS开发工具套件中,包括有_器、编译连接器、调试器和指令集仿真器。其中,调试器可支持_在线调试的功能。
答案
答:【77】工程管理 【78】:硬件 【77】工程管理 【78】:硬件【解析】RVDS开发工具套件包括:工程管理器、编译连接器、调试器、指令集仿真器;RVDS中的调试器功能强大,可支持模拟器调试和硬件在线调试仿真。
60. 片上调试技术是许多嵌入式处理器芯片采用的硬件调试技术。_标准是片上调试技术的一种国际标准,常用于芯片和电路板的调试。该标准中规定的TAP接口必须具有_根信号线。
答案
答:【79】JTAG 【80】4 【79】JTAG 【80】4【解析】JTAG标准是电子行业片上测试技术的一种国际标准,用于芯片和电路板的测试,标准中规定TAP接口可以使用5种信号线,即TCK、TMS、TDI、TDO、TRST。其中TRST是复位信号线,是可选的,因为TMS信号也可以使TAP控制器复位,因此TAP接口必须具有另外4根信号线;
三、综合题(每空1分,共20分)
61. 【综合应用题】
物流仓储系统中使用的盘点机外形如图所示,其控制器的基本功能要求如下:a、开机进入盘点系统时,需要输入用户密码,用户密码输入正确后方可进入。b、盘点时,支持二维码的扫描输入。即通过扫描产品上的二维码,可以输入产品的相关信息。c、内部具有日历时钟功能,可以自动记录盘点时的日期和时间,并保存。d、具有1个LCD显示屏,可以显示操作菜单和盘点信息。e、具有与后台PC机进行通信的功能,可以把盘点信息与后台数据库进行交互。
根据上述功能要求的描述,若采用S3C2410芯片为核心来构建该物流仓储盘点机控制器的硬件平台,请完善下面的叙述(程序)和回答有关的问题。(完善程序或回答问题所需的寄存器格式见题后的附录)。(1)在设计硬件电路时,若用户密码的输入采用5×4的简易键盘,其按键排列示意图如图所示。在设计键盘接口电路时,选用GPE0~GPE4来输出键盘行扫描信号,选用GPC0~GPC3来输入键盘列信号。应用软件设计时,设计者自行设计了下面的键盘扫描函数,请你补充完善之://KEYOUTPUT对应键盘扫描时的输出地址,KEYINPUT对应键盘读入时的地址#define KEYOUTPUT ((volatile INT8U )0x56000044)#define KEYINPUT ((volatile INT8U )0x56000024)INT16U ScanKey(){ INT16U key=0xFFFF; INT16U i; INT8U temp=0xFF,output; rGPECON= ((rGPECON & 0xFFFFFD55 ) |_); //初始化GPE0~GPE4 rGPCCON= rGPCCON & ; //初始化GPC0~GPC3 //下面循环扫描键盘(仅扫描5行),判断是否有按键按下for (i=1 ;(( i<=_)&&(i>0)); i <<= 1) { output |= 0xFF; output &= ( ); KEYOUTPUT = output; // 输出行扫描信号 temp = KEYINPUT; //读取列信号 if ((temp&0x0F)!= ____) { key = (~i); key <<= 8; key |= ((temp&0x0F)|0xF0); return (key); } } return 0xFFFF;}
根据上面的键盘扫描函数的返回值,可以判断是否有按键按下,且是哪个键按下。若有键按下,返回值是其对应的扫描码。例如:若键盘中的“5”键被按下,返回值为:_,若键盘中的“9”键按下,返回值为:。若没有键按下,返回值应为:_。(2)设计二维码扫描接口电路时,是通过设计一个图像采集电路来实现的。由于图像采集模块支持I2C总线接口,因此,可选用S3C2410芯片端口E的引脚 来分别与图像采集模块上的SDA、SCL相连。软件设计时,相关驱动程序中需要用下面语句来初始化这两个引脚的功能。rGPECON=((rGPECON | 0xA0000000) &_); // rGPECON是端口E的控制寄存器(3)盘点机内部的实时时钟,可以利用RTC部件来产生。RTC部件在读写时、分、秒等寄存器的值之前,必须用下面语句来使能RTC的读写功能: rRTCCON = (U8)rRTCCON | ; //rRTCCON是RTC的控制寄存器,仅设置寄存器中RTC使能位,其他位的值保持不变在读写完时、分、秒等寄存器的值后,应该用下面语句来关闭RTC的读写功能。 rRTCCON = (U8)rRTCCON &_ ;//注:仅设置寄存器中RTC使能位,其他位的值保持不变(4)在设计与后台PC机的通信接口时,选用S3C2410芯片内部的UART1部件来实现。假设通信波特率为115200bps,数据格式为:8位数据位、1位停止位、奇校验。那么,在相关的驱动程序中,可以用下面一组语句来进行该部件的初始化。rGPHCON=( rGPHCON & 0xFFFFF0FF) |; //rGPHCON是端口H的控制寄存器 rUFCON1=0x0; //FIFO disable rUMCON1=0x0; rULCON1=(_<< 3 ) | (<< 2 ) | (_); //设置线路控制寄存器(注:此处语句参数请用十进制) rUCON1=0x245; //设置控制寄存器 //设置波特率,小数采用四舍五入 rUBRDIV1=( (int)(PCLK/(115200 * 16)+) -1 ); //PCLK是主频(5)盘点机的软件设计者还需自行设计一个引导加载程序。在引导加载程序中需要完成异常向量表的设置,并设置各工作模式下的_指针。对于S3C2410微处理器来说,其引导加载程序中还需要完成禁止看门狗部件和禁止_,然后通过指令____来完成引导应用程序的主函数main()。 附录:综合题中完善程序或回答问题所需的寄存器格式端口C控制寄存器(GPCCON)的格式
参考答案
[81]:0x00000155 [82]:0xFFFFFF00 [83]:16 [84]:~i [85]:0x0F [86]:0xFBFD [87]:0xF7FB [88]:0xFFFF [89]:GPE15、GPE14 [90]:0xAFFFFFFF [91]:0x01 [92]:0xfe [93]:0x00000A00 [94]:4 [95]:0 [96]:3 [97]:0.5 [98]:堆栈 [99]:中断 [100]:BL __main
详细解析: 【参考答案与解析】根据题意,代码需要将GPE0~GPE4作为输出使用,将GPC0~GPC3作为输入使用 。按后表,将GPECON的低10位设置为01 0101 0101,即0x155;将GPCCON的低8位设置为0000 0000,即0x00。需要注意的是,要设置的二进制数值有1也有0,取与操作的目的,是为了将需要置0的位置0,取或操作的目的,是为了将需要置1的位置1。(1)【81】0x00000155 【82】0xFFFFFF00 【83】16【84】~i【85】0x0F【86】0xFBFD【87】0xF7FB【88】0xFFFF【81】前边将需要置0的位,置0后,还需要对0x00000155取或操作,即将需要置1的位,置1。【82】只需要将低8位全部置0,没有需要置1的二进制位,所以不存在取或操作,只需要对0xFFFFFF00取与操作,直接将低8位全部置0即可。【83】循环的初值i为1,循环迭代方式,将二进制位向左移1位,根据注释需要扫描5行,即循环5次,那么循环的条件部分应当是小于等于1的二进制位向左移4次之后的数值,即1 0000,即16(是4次而不是5次的原因是初值i也参与了一次循环,之后的循环才进行左移迭代,循环全部结束时,i一共左移了4次)。【84】在扫描行时,扫描的那行为低电平,其余行为高电平,共5行。即扫描第一行时,行扫描信号应当是1 1110,与此次循环中的i值1,转换为二进制为0 0001,正好相反,那么就可以用对i取反来进行赋值,即~i。【85】if语句的功能是:判断扫描列信号后,如果有按键按下,则执行其内部的代码。正常情况下,没有按键按下,列扫描后temp的值应当是0x0F,即低4位全部为高电平1。如果temp的值不为0x0F,即有某个位为低电平,则表示有按键按下。因此if条件应当这样解读:temp先与0x0F取与操作,将除了低4位的其他位全部置0,并判断其低4位是否全部为1,即是否和0x0F相等,若不等,则条件为真,执行内部代码。根据if内部代码,先行扫描信号,将~i保存到key中,然后将其二进制位左移8位,再将列扫描信号保存到key的低8位中,此时key的高8位中0-4位保存的是行信号,低8位的0-3位保存的是列信号。若有按键按下,则对应行、列置0,其余位全部为1。若5按下,根据图中给出的引脚,则列信号的第1位和行信号的第2位应当置0,其余位为1,即:1111 1011 1111 1101,对应的十六进制为0xFBFD,空【86】为0xFBFD。若9按下,根据图中给出的引脚,则列信号的第2位和行信号的第3位应当置0,其余位为1,即:1111 0111 1111 1011,对应的十六进制为0xF7FB,空【87】为0xF7FB。若没有按键按下,则全部位都是1,即:1111 1111 1111 1111,对应的十六进制为0xFFFF,即空【88】为0xFFFF。(2)【89】GPE15、GPE14【90】0xAFFFFFFF【89】按后表,GPE14和GPE15可以用于连接IIC总线接口。注意题中要求是“分别与SDA、SCL相连”因此要注意引脚的填写顺序,GPE15与SDA相连,GPE14与SCL相连。【90】选用GPE15和GPE14与IIC总线连接。按后表,需要将GPECON的最高4位设置为1010,即0xA,其余位保持不变,题中已经通过取或操作,将需要置1的位,置1。则还需通过对0xAFFFFFFF取与操作,将需要置0的位,置0即可。(3)【91】0x01【92】0xfe【91】按后表,设置RTC使能位,即最低位为1,其余位保持不变,只需通过对0000 0001即0x01取或操作即可。【92】按后表,设置RTC使能位,即最低位为0,其余位保持不变,只需通过对1111 1110即0xFE取与操作即可;(4)【93】0x00000A00【94】4【95】0【96】3【97】0.5【93】使用UART1部件,按后表,需要使用GPH5和GPH4两个引脚,分别作为RXD1和TXD1使用。即需要将GPHCON中的第8~11位设置为1010。题中已经通过取与操作,将需要置0的位,置0。还需通过对0x00000A00取或操作,将需要置1的位,置1即可。【94】~【96】根据题中的参数,ULCON1的值应当是0010 0011,按题中给出的二进制位移动的顺序,可以推测其顺序为:将0000 0100左移三位变为0010 0000,再与将0左移两位的结果取或操作,结果仍为0010 0000,最后再与0000 0011取或操作,即可得到所需设置的0010 0011;其中0000 0100的值是4,0即0,0000 0011的值是3;【97】由于设置波特率时需要对小数进行四舍五入,填空处的式子是通过强制类型转换四舍五入的。即直接截断小数部分。在截断小数部分之前,需要计算PCLK/(115200 * 16),计算结果+0.5。若计算结果的小数部分小于0.5,小数部分+0.5之后依旧不够1,通过强制类型转换为int直接截断小数部分即可,这样做到了舍。若计算结果的小数部分大于等于0.5,小数部分+0.5之后可以向整数部分进1位,强制类型转换为int会直接截断小数部分,就做到了入。可以达到四舍五入的目的。(4)【98】堆栈【99】中断【100】BL __main【98】对异常向量表进行设置时需要设置各工作模式下的堆栈指针。【99】在引导加载程序时需要禁用看门狗部件和中断,此过程不可中断。【100】在引导完成后,需要通过无条件跳转指令BL _main来跳转到应用程序的主函数main()中。