嵌入式培训 百分网手机站

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

时间:2017-09-15 17:40:33 嵌入式培训 我要投稿

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、.lib等)根据相互关系和要求进行组织,设定各自的编译方法,指定所生成的目标。 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控制(标志)位——反映处理器的运行状态