嵌入式培训

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

时间:2024-09-07 22:13:37 嵌入式培训 我要投稿
  • 相关推荐

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、.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控制(标志)位——反映处理器的运行状态

  M控制位——决定了处理器的运行模式

  25、S3C2410存储器组织及地址分配。

  S3C2410X的存储器管理器提供访问外部存储器的所有控制信号:26位地址信号、32位数据信号、8个片选信号、以及读/写控制信号等。

  S3C2410X的存储空间分成8组,最大容量是1GB,bank0---bank5为固定128MB,bank6和bank7的容量可编程改变,可以是2、4、8、16、32、64、128MB,并且bank7的开始地址与bank6的结束地址相连接,但是二者的容量必须相等。

  bank0可以作为引导ROM,其数据线宽只能是16位和32位,复位时由OM0、OM1引脚确定;其它存储器的数据线宽可以是8位、16位和32位。

  S3C2410X的存储器格式,可以编程设置为大端格式,也可以设置为小端格式。

  26、ARM有哪两种工作状态,怎样有指令进行切换?

  从ARM状态切换到Thumb状态

  有两种情况ARM处理器自动切换到Thumb状态。

  (1)执行BX指令,当操作数寄存器的位[0]为1时,则微处理器从ARM状态切换到Thumb状态。此为主动切换。

  (2)当处理器处于Thumb状态时发生异常(如IRQ、FIQ等),处理完异常后,在异常处理返回时,自动切换到Thumb状态。此为自动切换。

  从Thumb状态切换到ARM状态

  有两种情况ARM处理器自动切换到Thumb状态。

  (1)执行BX指令,当操作数寄存器的位[0]为0时,则微处理器从Thumb状态切换到ARM状态。

  (2)当处理器在Thumb状态时发生异常(如IRQ、FIQ等),则处理器从Thumb状态自动切换到ARM状态进行异常处理

  27、Linux常用命令。

  ls---文件及子目录名列表

  cat---连续显示

  cd---改变工作目录(目录切换)

  cp---复制文件和目录

  28、嵌入式处理器ARM7/9TDMI中TDMI的基本含义是什么?

  ARM7TMDI是目前使用最广泛的32位嵌入式RISC处理器,属低端ARM处理器核。TDMI的基本含义为(对其它系列也适用):

  T: 支持16位压缩指令集Thumb,称为T变种

  D: 支持片上Debug,称为D变种

  M:内嵌硬件乘法器 Multiplier,称为M变种

  I: 嵌入式ICE,支持片上断点和调试,称为I变种

  29、S3C2410有那些数据通信接口?

  UART接口 、SPI接口、IIC接口、JTAG接口、以太网接口、USB接口

  四、编程题:

  1、编写一个汇编程序,在ARM程序代码中调用Thumb子程序,并返回ARM程序完成其功能。

  CODE32

  --------

  BLX TSUB1

  -------

  CODE16

  TSUB1

  -------

  BX R14

  2、将存储器中0x30000000开始的200字节的数据,传送到地址从0x10000000开始的某接口电路的存储区域。

  START

  LDR R0,=0X30000000

  LDR R1,=0X10000000

  MOV R4,#0

  LKM

  LDRB R2,[R0],#1

  STRB R2,[R1],#1

  ADD R4,R4,#1

  CMP R4,#200

  BLNE LKM

  END

  3、编写一简单ARM汇编程序段,实现1+2+…+1000的累加运算。

  MOV R0,#0

  MOV R1,#0

  LKM

  ADD R0,R0,#1

  ADD R1,R1,R0

  CMP R0,#1000

  BLNE LKM

  END

  4、将内存中从0x30000FFF开始的100个字数据相加,其结果存于R3、R2中。

  LDR R0,=0X30000000

  MOV R4,#0

  MOV R2,#0

  MOV R3,#0

  LKM

  LDR R5 , [R0],#4

  ADDS R3, R3,R5

  ADDC R2, R2,#0

  ADD R4,R4,#1

  CMP R4,#100

  BLNE LKM

  END

  5、编写一程序,查找存储器从0x30000000开始的100个字中为0的数目,将其结果存到0x30000012中。

  START

  LDR R0,=0X30000000

  LDR R1,=0X30000012

  MOV R3,#0

  MOV R4,#0

  LKM

  LDR R2,[R0],#4

  ADD R3,R3,#1

  CMP R2,#0

  ADDEQ R4,R4,#1

  CMP R3,#100

  BLNE LKM

  STR R4,[R1]

  END

  6、R0和R1中有两个32位无符号数,若R0>R1,则R0=R0-R1;若R0

  CMP R0,R1

  SUBHS R0,R0,R1

  SUBCC R1,R1,R0

  7、试编写程序,实现计算2+4+6+8+…+2N的值。

  MOV R5,#0

  MOV R3,#0

  MOV R4,#0

  LABLE EQU #0X2300000

  MOV LABLE,#300

  LKM

  ADD R3,R3,#2

  ADD R4,R4,R3

  ADD R5,R5,#1

  CMP R5,#LABLE

  BLNE LKM

  END

  9、编程实现S3C2410工作模式的切换。

  MRS R0,CPRS

  BIC R0,R0,#&1F

  ORR R0,R0,#&12

  MSR CPSR_C R0

  10、UART初始化编程。

  START

  LDR R0,=UFCON0

  LDR R1,=0X0

  STR R1,[R0]

  LDR R0,=ULCON0

  LDR R1,=0X3

  STR R1,[R0]

  LDR R0,=UCON0

  LDR R1,=0X245

  STR R1,[R0]

  LDR R0,=PCLK

  MOV R1,[R0]

  考试题型

  填空20分;单项选择20分;名词解释12分;简答题20分;编程题28分。

  跳转指令:

  B BL BLX BX

  B/BL{cond} label

  BLX{cond} Rm/lable

  数据指令:

  MOV MVN 移位指令 2

  ADD ADC 加法指令 3

  SUB SBC 减法指令 3

  RSB RSC 逆向减法 3

  ORR EOR AND 逻辑 3

  CMP CMN TST TEQ 测试 2

  BIC 位测试 3

  注意:

  {cond} {s} Rd ,Rm

  {cond} {s} Rd ,Rm Rn LSL #3

  {cond} {s} Rd ,Rm,# LABLE

  TEQ (NE,EQ)

  乘法:

  MUL 32 {cond} {S} Rd, Rm ,Rs

  MLA 32 {cond} {S} Rd, Rm ,Rs

  SMULL/ SMLAL

  UMULL/UMLAL

【嵌入式系统复习试题及答案】相关文章:

2016年嵌入式系统认证复习题及答案10-31

2016最新嵌入式笔试题及答案04-28

EDA考试复习试题及答案06-08

中考物理复习试题及答案08-20

2016年嵌入式面试题及答案10-05

吉安中考语文复习试题及答案06-10

2016年嵌入式培训考试题及答案08-20

嵌入式系统简介08-22

嵌入式系统特点09-14

嵌入式系统组成10-09