当前位置:学者斋 >

IT认证 >嵌入式 >

2016年嵌入式系统复习试题及答案

2016年嵌入式系统复习试题及答案

  一、填空题:

2016年嵌入式系统复习试题及答案

1、试列举三种主流的嵌入式处理器:( ARM )、( MIPS )、(PowerPC)。

2、ARM处理器共有(37)个寄存器,其中包括(31个通用寄存器)和(6个状态寄存器)。

3、寄存器R13在ARM指令中(堆栈指针SP )。R14也称(程序连接寄存器LR)在程序里的作用是(程序计数器PC的备份)。当发生中断或异常时,对应分组寄存器分别是(R14_svc、R14_irq、R14_fiq、R14_abt和R14_und用来保存R15的返回值)。

4、ARM微处理器支持两种指令集:(ARM)和(Thumb)。

5、寄存器R15用作(程序计数器PC)。该寄存器在ARM状态下,(位[1:0]为00),位[31:2]用于保存PC;在Thumb状态下,(位[0]为0),位[31:1]用于保存PC。

6、CPSR用作( 状态寄存器 ),CPSR可在任何运行模式下被访问。每一种运行模式下又都有一个专用的物理状态寄存器,称为(程序状态保存寄存器SPSR)。

7、Thumb状态下的寄存器集是ARM状态下寄存器集的一个子集,程序可以直接访问的通用寄存器是(R0—R7,PC,SP,LR,CPSR)。

8、ARM指令中条件执行功能是通过( 指令中添加条件码)来实现的,包含的条件码位于指令的最高(四)位。

9、试列举五种以上常见的嵌入式操作系统:(μC/OS-II)、(Vxworks)、(WinCE)、(Linux/μCLinux)、(PalmOS)。

10、计算机结构中,哈佛结构和冯?诺依曼结构的主要区别是(指令与数据分开),ARM7采用(冯?诺依曼结构),ARM9采用(哈佛结构)。

11、ARM处理器采用(Thumb指令)操作来访问SFR。

12、在ARM汇编语言程序设计中,语句一般是由(指令操作码)、(指令的条件码)、(目标寄存器编码)和(包含第一个操作数的寄存器编码)组成。

  二、名词解释:

ARM处理器:Advanced RISC Machine。先进的RISC指令集处理器。

交叉编译:在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,这个编译过程就叫交叉编译。

异常:是指CPU在执行指令时出现的错误,即不正常的情况。异常是与当前所执行的程序有关的。如存取数据或指令错误、计算结果溢出等。

大端格式:字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中。

小端格式:低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节。

寻址方式:处理器根据指令中给出的(地址)信息,寻找操作数(物理地址)的方式。

嵌入式系统:广义上:凡是不用于通用目的的可编程计算机设备,就可以算是嵌入式计算机系统。狭义上而言,嵌入式系统是指以应用为核心,以计算机技术为基础,软硬件可裁剪,对功能、可靠性、成本、体积和功耗严格要求的专用计算机系统。

GNU:GNU(GNU’s Not Unix),它的'目标是建立可自由发布和可移植的类Unix操作系统。

伪指令:是汇编语言程序里的特殊指令助记符,在汇编时被合适的机器指令替代。

伪操作:为汇编程序所用,在源程序进行汇编时由汇编程序处理,只在汇编过程起作用,不参与程序运行。

RTOS :实时系统,能够对外部事件做出及时响应的系统。

  三、简答题:

1、 简述采用RISC架构的ARM微处理器的特点。

a.采用固定长度的指令格式,指令规整,简单,基本寻址2~3种

b.使用单周期指令,便于流水线操作

c.大量使用寄存器,提高指令的执行效率

d.所有的指令都可以根据前面的执行后,决定是否执行从而提高指令的执行效率

e.可以加载/存储指令,批量传输数据,以提高数据的传输效率

2、 选择嵌入式微处理器时,应考虑那些因素?

调查市场上已有的CPU供应商。

CPU的处理速度

技术指标

处理器的低功耗。

处理器的软件支持工具。

处理器是否内置调试工具。

处理器供应商是否提供评估板

片内存储容量

3、 若允许FIQ、IRQ中断,CPSR如何设置?

FIQ: CPSR[4:0]=0B10001 IRQ: CPSR[4:0]=0B10010

CPSR[5]=0

CPSR[6]=0

CPSR[7]=0

4、 举例说明ARM的各种寻址方式。

寄存器寻址:LDR R1,R2

寄存器间接寻址:LDR R1,[R2]

寄存器偏移寻址:LDR R1,[R2,-R4,LSL#3]

立即寻址:LDR,R3,#34

多寄存寻址:LDMIA R0,{R1,R3,R4,R5}

5、 对比说明ADR、ADRL与LDR的区别与联系。

ADR:小范围的地址读取伪指令。

ADRL:中等范围的地址读取伪指令。

LDR:大范围的地址读取伪指令。

ADR伪指令功能:将基于PC相对偏移的地址值或基于寄存器相对偏移的地址值读取到寄存器中。

ADRL伪指令功能:将基于PC相对偏移的地址值或基于寄存器相对偏移的地址值读取到寄存器中,比ADR伪指令可以读取更大范围的地址。

LDR伪指令功能:用于加载32位立即数或一个地址值到指定的寄存器。

6、 比较ARM920T和ARM720T的主要异同。

ARM9 5级流水线 独立的指令总线哈佛结构

ARM7 3级流水线 数据与指令一起 冯·诺依曼结构

8、 简述S3C2410 Nand flash存储器的启动过程。

(1)完成复位

(2)如果自动启动模式使能,NAND Flash存储器的前4KB自动复制到Steppingstone内部缓冲器中

(3)Steppingstone映射到nGCS0

(4)CPU在Steppingstone的4KB内部缓冲器中开始执行启动代码

9、 请从广义和狭义两个方面简述嵌入式系统的含义。

答案:嵌入式系统:Embedded System

广义上:凡是不用于通用目的的可编程计算机设备,就可以算是嵌入式计算机系统。

狭义上而言,嵌入式系统是指以应用为核心,以计算机技术为基础,软硬件可裁剪,对功能、可靠性、成本、体积和功耗严格要求的专用计算机系统。

10、简述Bootloader启动过程。

1、第一阶段

(1)、基本的硬件设备初始化

(2)、为阶段2代码准备RAM空间

(3)、拷贝阶段2代码到RAM空间

(4)、设置好堆栈

(5)、跳转到阶段2的C程序入口点

2、第二阶段

(1)、初始化本阶段要使用到的硬件

(2)、检测系统内存映射(memory map)

(3)、将kernel和根文件系统映像从flash读到RAM空间

(4)、为kernel设置启动参数

(5)、调用内核

12、ARM7指令是几级流水线,各阶级执行什么操作?

ARM7的三级流水线

1取指:从程序存储器中取指令,放入指令流水线。(占用存储器访问操作)

2译码:指令译码。(占用译码逻辑)

3执行:执行指令/读写REG。(占用ALU及数据路径)

13、请简述嵌入式软件Bootloader的两种工作模式。

启动加载模式:启动加载模式称为“自举”(Autonomous)模式。即Bootloader从目标机上的某个固态存储设备上将操作系统加载到 RAM 中运行,整个过程并没有用户的介入。启动加载模式是 Bootloader的正常工作模式,在嵌入式产品发布的时侯,Bootloader必须工作在这种模式下。

下载模式:在这种模式下,目标机上的Bootloader将通过串口连接或网络连接等通信手段从主机下载文件。下载内容及存储:主要是下载内核映像和根文件系统映像等。从主机下载的文件通常首先被Bootloader保存到目标机的RAM中,然后再被 Bootloader写到目标机上的FLASH 类固态存储设备中。

14、写出不少于12类嵌入式产品中的常用接口。

UART接口、SPI接口、I2C接口、ADC和触摸屏接口、USB接口、以太网接口、外存接口、LCD接口、时钟接口、PWM接口、中断接口、JTAG接口、VGA接口、音频接口

15、简述ARM9处理器的7种运行模式。

1、用户模式(usr):非特权模式,大部分任务执行在这种模式。——正常程序执行的模式

2、快速中断模式(fiq):当一个高优先级(fast)中断产生时将会进入这种模式。——高速数据传输或通道处理

3、外部中断模式(irq):当一个低优先级(normal)中断产生时将会进入这种模式。——通常的中断处理

4、管理模式(svc):当复位或软中断指令执行时将会进入这种模式。——供操作系统使用的一种保护模式

5、中止模式(abt):当存取异常时将会进入这种模式。——虚拟存储及存储保护

6、未定义模式(und):当执行未定义指令时会进入这种模式——软件仿真硬件协处理器

7、系统模式(sys):供需要访问系统资源的操作系统任务使用——特权级的操作系统任务

16、ARM9处理器的寻址方式有那些?

立即寻址、寄存器寻址、寄存器间接寻址、基址寻址、堆栈寻址 、块拷贝寻址、相对寻址

17、ARM9有哪些处理器模式?哪些是特权模式?哪些是异常模式?

异常模式:除用户模式、系统模式之外的五种模式称为异常模式。特点:以各自的中断或异常方式进入,并且处理各自的中断或异常。

特权模式:除用户模式之外的工作模式又称为特权模式 特点:应用程序可以访问所有的系统资源,可以任意地进行处理器模式的切换

18、ARM7在ARM状态下有多少个寄存器?通常堆栈指针使用哪个寄存器?连接寄存器LR有什么功能?

有37个32位的寄存器其中31个为通用寄存器;6个为状态寄存器。

R13:寄存器R13在ARM指令中常用作堆栈指针SP。而在Thumb指令集中,某些指令强制性的要求使用R13作为堆栈指针。

R14:寄存器R14也称作子程序链接寄存器(Subroutine Link Register)或链接寄存器LR。当执行BL子程序调用指令时,R14中得到R15(程序计数器PC)的备份。其他情况下,R14用作通用寄存器。

19、见28

20、Linux的主要特点有那些?

开放性、多用户、多任务、良好的用户界面、设备独立性、丰富的网络功能、可靠的安全系统、良好的可移植性。

21、常用的Bootloader有那些?

1、vivi

2、RedBoot

3、U-Boot

22、Makefile和Make各实现什么功能?

Makefile文件内容 按照规则,对系统中本目录下的文件(.c、.s、.o、.h、等)根据相互关系和要求进行组织,设定各自的编译方法,指定所生成的目标。 Makefile是一种文本格式文件。

Make是Makefile文件的解释器

Make对Makefile文件解释后,生成Linux的shell命令和gcc编译命令,接着对命令执行,最终生成目标文件。

Makefile是工程系统编译批处理文件。

23、Linux文件系统目录树结构是怎样的?

Linux文件系统是一个目录树结构,最上层是根目录,其他的所有目录都是从根目录出发而生成的。Linux下,任何一个目录都可以是一个分区。因此,在分区时,必须将一个分区安装在树根下面。Linux不仅将分区安装为一个目录,而且还将所有的硬件设备都安装成一个个设备文件。对设备的操作是通过文件的操作完成的。

24、CPSR各位的含义及作用。

31 30 29 28 27 … 8 7 6 5 4 3 2 1 0

N Z C V (保留) I F T M4 M3 M2 M1 M0

1、条件码标志位(保存ALU中的当前操作信息)

N:正负号/大小 标志位

Z:零标志位

C:进位/借位/移出位

V:溢出标志位

2、控制位

I、F中断控制位——控制允许和禁止中断

T控制(标志)位——反映处理器的运行状态

  • 文章版权属于文章作者所有,转载请注明 https://xuezhezhai.com/itrz/qianrushi/xw1kl6.html