嵌入式复习题含全部答案.pdf_第1页
嵌入式复习题含全部答案.pdf_第2页
嵌入式复习题含全部答案.pdf_第3页
嵌入式复习题含全部答案.pdf_第4页
嵌入式复习题含全部答案.pdf_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

嵌入式系统复习题 一、填空题: 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状态下寄存器集的一个子集,程序可 以直接访问的通用寄存器是(R0R7,PC,SP,LR,CPSR)。 8、ARM指令中条件执行功能是通过( 指令中添加条件码)来实现的, 包含的条件码位于指令的最高(四)位。 9、试列举五种以上常见的嵌入式操作系统:(C/OS-II)、 (Vxworks)、(WinCE)、(Linux/CLinux)、(PalmOS)。 10、计算机结构中,哈佛结构和冯?诺依曼结构的主要区别是(指令与 数据分开),ARM7采用(冯?诺依曼结构),ARM9采用(哈佛结构)。 11、ARM处理器采用(Thumb指令)操作来访问SFR。 12、在ARM汇编语言程序设计中,语句一般是由(指令操作码)、(指 令的条件码)、(目标寄存器编码)和(包含第一个操作数的寄存器编 码)组成。 二、名词解释: 1、 ARM处理器:先进的RISC指令集处理器。广泛地使用在许多嵌入式 系统设计。 2、交叉编译:在一种计算机环境中运行的编译程序,能编译出在另外 一种环境下运行的代码,这个编译过程就叫交叉编译。 3、异常:异是导致程序中断运行的一种指令流。(是指CPU在执行指令 时出现的错误,即不正常的情况。异常是与当前所执行的程序有关的, 如存取数据或指令错误、计算结果溢出等。) 4、大端格式:字数据的高字节存储在低地址中,而字数据的低字节则 存放在高地址中。 5、小端格式:低地址中存放的是字数据的低字节,高地址存放的是字 数据的高字节。 6、寻址方式:处理器根据指令中给出的(地址)信息,寻找操作数 (物理地址)的方式。 7、嵌入式系统:广义上:凡是不用于通用目的的可编程计算机设备, 就可以算是嵌入式计算机系统。狭义上而言,嵌入式系统是指以应用为 核心,以计算机技术为基础,软硬件可裁剪,对功能、可靠性、成本、 体积和功耗严格要求的专用计算机系统。 8、GNU:GNU(GNUs Not Unix),它的目标是建立可自由发布和可移 植的类Unix操作系统。 9、伪指令:是汇编语言程序里的特殊指令助记符,在汇编时被合适的 机器指令替代。 10、伪操作:为汇编程序所用,在源程序进行汇编时由汇编程序处理, 只在汇编过程起作用,不参与程序运行。 11、 RTOS :实时系统,能够对外部事件做出及时响应的系统。 12、 微控制器:俗称“单片机,它将整个计算机系统集成到一块芯 片中。 3、 简答题: 1、 请从广义和狭义两个方面简述嵌入式系统的含义。 答:嵌入式系统:Embedded System 广义上:凡是不用于通用目的的可编程计算机设备,就可以算是嵌 入式计算机系统。 狭义上:,嵌入式系统是指以应用为核心,以计算机技术为基础,软 硬件可裁剪,对功能、 可靠性、成本、体积和功耗严格要求的专用计 算机系统。 2、简述采用RISC架构的ARM微处理器的特点。 a.采用固定长度的指令格式,指令规整,简单,基本寻址23种。 b.使用单周期指令,便于流水线操作。 c.大量使用寄存器,提高指令的执行效率。 d.所有的指令都可以根据前面的执行后,决定是否执行从而提高指令 的执行效率。 e.可以加载/存储指令,批量传输数据,以提高数据的传输效率。 3、 选择嵌入式微处理器时,应考虑那些因素? a, 调查市场上已有的CPU供应商。 b, CPU的处理速度 c,技术指标。 d,处理器的低功耗。 e,处理器的软件支持工具。 f,处理器是否内置调试工具。 g,处理器供应商是否提供评估板。 h,片内存储容量。 4、简述嵌入式系统的特点。 (1)软硬件一体化,集计算机技术、微电子技术、行业技术于一体; (2)需要操作系统支持,代码少,执行速度快; (3)系统内核小、专用性强、系统精简。 (4)高实时性的系统软件(OS)是嵌入式软件的基本要求。 (5)嵌入式软件开发要想走向标准化,就必须使用多任务的操作系 统。 (6)嵌入式系统开发需要开发工具和环境。 5、画出当前主流嵌入式系统的硬件组成结构框图。 6、 比较ARM920T和ARM720T的主要异同。 ARM9 5级流水线 独立的指令总线哈佛结构 ARM7 3级流水线 数据与指令一起 冯诺依曼结构 7、ARM9指令是几级流水线,各阶段执行什么操作? 答:ARM9采用5级流水线。 取指:从指令Cache中读取指令。 译码:对指令进行译码,识别出是对哪个寄存器进行操作并从通用 寄存器中读取操作数。 执行:进行ALU运算和移位操作,如果是对存储器操作的指令,则在 ALU中计算出要 访问的存储器地址。 数据缓冲:如果是对存储器访问的指令,用来实现数据缓冲功能 (通过数据Cache) 回写:将指令运算或操作结果写回到目标寄存器中。 8、写出不少于12类嵌入式产品中的常用接口。 UART接口、SPI接口、I2C接口、ADC和触摸屏接口、USB接口、以太网接 口、外存接口、LCD接口、时钟接口、PWM接口、中断接口、JTAG接口、 VGA接口、音频接口 9、 若允许FIQ、IRQ中断,CPSR如何设置? FIQ: CPSR4:0=0B10001 IRQ: CPSR4:0=0B10010 CPSR5=0 CPSR6=0 CPSR7=0 10、举例说明ARM的各种寻址方式。 寄存器寻址:LDR R1,R2 寄存器间接寻址:LDR R1,R2 寄存器偏移寻址:LDR R1,R2,-R4,LSL#3 立即寻址:LDR,R3,#34 多寄存寻址:LDMIA R0,R1,R3,R4,R5 11、 对比说明ADR、ADRL与LDR的区别与联系。 ADR:小范围的地址读取伪指令。 ADRL:中等范围的地址读取伪指令。 LDR:大范围的地址读取伪指令。 ADR伪指令功能:将基于PC相对偏移的地址值或基于寄存器相对偏移的 地址值读取到寄存器中。 ADRL伪指令功能:将基于PC相对偏移的地址值或基于寄存器相对偏移的 地址值读取到寄存器中,比ADR伪指令可以读取更大范围的地址。 LDR伪指令功能:用于加载32位立即数或一个地址值到指定的寄存器。 12、(没找到) 13、 简述S3C2410 Nand flash存储器的启动过程。 (1)完成复位 (2)如果自动启动模式使能,NAND Flash存储器的前4KB自动复制到 Steppingstone内部缓冲器中 (3)Steppingstone映射到nGCS0 (4)CPU在Steppingstone的4KB内部缓冲器中开始执行启动代码 14、简述Bootloader启动过程。 第一阶段 (1)、基本的硬件设备初始化 (2)、为阶段2代码准备RAM空间 (3)、拷贝阶段2代码到RAM空间 (4)、设置好堆栈 (5)、跳转到阶段2的C程序入口点 第二阶段 (1)、初始化本阶段要使用到的硬件 (2)、检测系统内存映射(memory map) (3)、将kernel和根文件系统映像从flash读到RAM空间 (4)、为kernel设置启动参数 (5)、调用内核 15、请简述嵌入式软件Bootloader的两种工作模式。 (1)启动加载模式:启动加载模式称为“自举”(Autonomous)模 式。即Bootloader从目标机上的某个固态存储设备上将操作系统加载到 RAM 中运行,整个过程并没有用户的介入。启动加载模式是 Bootloader的正常工作模式,在嵌入式产品发布的时侯,Bootloader必 须工作在这种模式下。 (2)下载模式:在这种模式下,目标机上的Bootloader将通过串口连 接或网络连接等通信手段从主机下载文件。下载内容及存储:主要是下 载内核映像和根文件系统映像等。从主机下载的文件通常首先被 Bootloader保存到目标机的RAM中,然后再被 Bootloader写到目标机上 的FLASH 类固态存储设备中。 16、简述ARM9处理器的7种运行模式。 (1)用户模式(usr):非特权模式,大部分任务执行在这种模式。(正 常程序执行的模式) (2)快速中断模式(fiq):当一个高优先级(fast)中断产生时将会进入 这种模式。(高速数据传输或通道处理) (3)外部中断模式(irq):当一个低优先级(normal)中断产生时将会进 入这种模式。(通常的中断处理) (4)管理模式(svc):当复位或软中断指令执行时将会进入这种模式。 (供操作系统使用的一种保护模式) (5)中止模式(abt):当存取异常时将会进入这种模式。(虚拟存储及 存储保护) (6)未定义模式(und):当执行未定义指令时会进入这种模式。(软件 仿真硬件协处理器) (7)系统模式(sys):供需要访问系统资源的操作系统任务使用。(特 权级的操作系统任务) 17、ARM9处理器的寻址方式有那些? 立即寻址、寄存器寻址、寄存器间接寻址、基址寻址、堆栈寻址 、块 拷贝寻址、相对寻址 18、ARM9有哪些处理器模式?哪些是特权模式?哪些是异常模式? 异常模式:除用户模式、系统模式之外的五种模式称为异常模式。 特点:以各自的中断或异常方式进入,并且处理各自的中断或异常。 特权模式:除用户模式之外的工作模式又称为特权模式 特点:应 用程序可以访问所有的系统资源,可以任意地进行处理器模式的切换 19、ARM9的7种工作模式中用户模式为非特权模式,与特权模式相比有 哪些权限限制? (1)在用户模式下,应用程序不能访问受操作系统保护的系统资源, 不能进行处理器模式的切换。 (2)在特权模式下,应用程序可以访问所有的系统资源,可以任意进 行处理器模式的切换。 20、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的存储器格式,可以编程设置为大端格式,也可以设置为 小端格式。 21、ARM7在ARM状态下有多少个寄存器?通常堆栈指针使用哪个寄存 器?连接寄存器LR有什么功能? 答: 有37个32位的寄存器其中31个为通用寄存器;6个为状态寄存器。 R13:寄存器R13在ARM指令中常用作堆栈指针SP。而在Thumb指令集 中,某些指令强制性的要求使用R13作为堆栈指针。 R14:寄存器R14也称作子程序链接寄存器(Subroutine Link Register)或链接寄存器LR。当执行BL子程序调用指令时,R14中得到 R15(程序计数器PC)的备份。其他情况下,R14用作通用寄存器。 22、嵌入式处理器ARM7/9TDMI中TDMI的基本含义是什么? TDMI的基本含义为(对其它系列也适用): T: 支持16位压缩指令集Thumb,称为T变种 D: 支持片上Debug,称为D变种 M:内嵌硬件乘法器 Multiplier,称为M变种 I: 嵌入式ICE,支持片上断点和调试,称为I变种 23、简述冯诺伊曼、哈佛结构的特点 (1)冯诺曼结构特点: 必须有一个存储器;必须有一个控制器;必须有一个运算器,用于 完成算术运算和逻辑运算;必须有输入和输出设备,用于进行人机通 信。但是,这种指令和数据共享同一总线的结构,读取数据不能在同一 时刻进行,影响了数据处理速度的提高。 (2)哈佛结构的特点 使用两个独立的存储器模块,分别存储指令和数据,每个存储模块 都不允许指令和数据并存;使用独立的两条总线,分别作为CPU与每个 存储器之间的专用通信路径,而这两条总线之间毫无关联。 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、简述ARM9异常的优先级 由高到低依次为: 复位、数据中止、FIQ 、IRQ、预取中止、未定义 指令、SWI; 26、ARM处理器支持的数据类型有哪些? ARM微处理器支持字节(8位)、半字(16位)、字(32位)3种数据 类型,可以表示有符号数和无符号数。 27、Linux的主要特点有哪些? 开放性、多用户、多任务、良好的用户界面、设备独立性、丰富的 网络功能、可靠的安全系统、良好的可移植性。 28、Linux常用命令。 ls-文件及子目录名列表 cat-连续显示 cd-改变工作目录(目录切换) cp-复制文件和目录 29、Linux文件系统目录树结构是怎样的? Linux文件系统是一个目录树结构,最上层是根目录,其他的所有目 录都是从根目录出发而生成的。Linux下,任何一个目录都可以是一个 分区。因此,在分区时,必须将一个分区安装在树根下面。Linux不仅 将分区安装为一个目录,而且还将所有的硬件设备都安装成一个个设备 文件。对设备的操作是通过文件的操作完成的。 30、常用的Bootloader有那些? (1)vivi (2)RedBoot (3)U-Boot 31、Makefile和Make各实现什么功能? Makefile文件内容按照规则,对系统中本目录下的文件 (.c、.s、.o、.h、.lib等)根据相互关系和要求进行组织,设定各自 的编译方法,指定所生成的目标。 Makefile是一种文本格式文件。 Make是Makefile文件的解释器 Make对Makefile文件解释后,生成Linux的shell命令和gcc编译命 令,接着对命令执行,最终生成目标文件。 Makefile是工程系统编译批处理文件。 32、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状态进行异常处理 33、熟悉ARM9指令系统、伪指令、伪操作。 34、S3C2410有那些数据通信接口? UART接口 、SPI接口、IIC接口、JTAG接口、以太网接口、USB接口 35、简述JTAG借口、串口和以太网接口在一般嵌入式系统调试中的作用 (1) JTAG一般用于Bootloader等底层程序的调试,下载; (2)串口是在已有Bootloader/BIOS的前提下用于操作系统的调试,下 载; (3)以太网口是在操作系统内核已经调试好了的前提下用于应用文件 的调试,下载。 36、ARM所有的37个寄存器,分为哪两大类? 31个通用寄存器 和 6个状态寄存器。 37、在异常发生后,ARM9TDMI内核会做哪些工作? 在异常发生后,ARM7TDMI内核会作以下工作: 1.在适当的LR中保存下一条指令的地址 2.将CPSR复制到适当的SPSR中; 3. 将CPSR模式位强制设置为与异常类型相对应的值; 4.强制PC从相关的异常向量处取指。 38、ARM9处理器有哪些堆栈方式,各堆栈的特点是什么? (1)Full descending 满递减堆栈,堆栈首部是高地址,堆栈向低地 址增长。栈指针总是指向堆栈最后一个元素(最后一个元素是最后压入 的数据)。 (2)Full ascending 满递增堆栈,堆栈首部是低地址,堆栈向高地址 增长。栈指针总是指向堆栈最后一个元素(最后一个元素是最后压入的 数据)。 (3)Empty descending 空递减堆栈,堆栈首部是低地址,堆栈向高地 址增长。栈指针总是指向下一个将要放入数据的空位置。 (4)Empty ascending 空递增堆栈,堆栈首部是高地址,堆栈向低地 址增长。栈指针总是指向下一个将要放入数据的空位置。 39、比较Nor Flash 和Nand flash 存储器的优缺点 Nor Flash:读数据速度快,而擦写速度慢,容量小,价格高; Nand flash: 读数据速度不如Nor,但擦写速度快,容量大,价格 低。 40、gcc的整个编译过程有哪4个步骤? 预处理、编译、汇编、连接 四、编程题: 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位无符号数,若R0R1,则R0R0R1;若 R0R1,则R1R1R0;若R0R1,则R1、R0保持不变。 CMP R0,R1 SUBHS R0,R0,R1 SUBCC R1,R1,R0 7、试编写程序,实现计算2468+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,# RADCTSC = 10; RADCCDN = (114) | (496) | (ch3) | (02) | (01) | (0); 12、定时器初始化编程; ARM ADR R0,lable+1 BX R0 THUMB ThumbProg ADR R0,lable BX R0 ARM ARM

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论