2012嵌入式系统课程习题库一.选择题1.以下哪个不是RISC架构的ARM微处理器的一般特点:(C)A体积小、低功耗B大量使用寄存器C采用可变长度的指令格式,灵活高效D寻址方式灵活简2.通常所讲的交叉编译就是在X86架构的宿主机上生成适用于ARM架构的(A)格式的可执行代码。AelfBexeCpeDsh3.下面不属于BootLoader阶段1所完成的步骤的是:(C)A.硬件设备初始化。B.拷贝BootLoader的阶段2到RAM空间中。C.将kernel映像和根文件系统映像从Flash读到RAM空间中。D.设置堆栈。4.以下哪个不是ARM的7种运行状态之一:(B)A快中断状态B挂起状态C中断状态D无定义状态6.用以下的哪个命令可以把server的/tmpmount到client的/mnt/tmp并且是(D)A.mount-oroserver:/tmp/mnt/tmpB.mount-oro/mnt/tmpserver:/tmpC.mount-oroclient:/mnt/tmpserver:/tmpD.mount-oroserver:/tmpclient:/mnt/tmp7.以下叙述中,不符合RISC指令系统特点的是(B)。A.指令长度固定,指令种类少B.寻址方式种类丰富,指令功能尽量增强C.设置大量通用寄存器,访问存储器指令简单D.选取使用频率较高的一些简单指令8.通常所说的32位微处理器是指(C)。A.地址总线的宽度为32位B.处理的数据长度只能为32位C.CPU字长为32位D.通用寄存器数目为32个9.ADDR0,R1,[R2]属于(B)。A.立即寻址B寄存器间接寻址C。寄存器寻址D。基址变址寻址10、ADDR0,R0,#1属于(A)A.立即寻址B。寄存器间接寻址C。寄存器寻址D。基址变址寻址11.典型的计算机系统结构是()A冯诺依曼体系结构B哈佛结构C单总线结构D双总线结构13.下列不是RISC指令系统特点的是(C)A大量使用寄存器B采用固定长度指令格式C使用多周期指令D寻址方式多14.与通用操作系统相比嵌入式操作系统还必须具有的特点是(A)A强稳定性,弱交互性B较强实时性C可伸缩性D功耗管理与节能15.下列那种设备不属于嵌入式系统产品(C)。A、PDABATM取款机C个人计算机D机顶盒16.下列是开源的嵌入式操作系统的是()A.嵌入式linuxBVxworksDPalmOSEWinCE17.下列不属于ARM处理器异常工作模式的是(D)A.快速中断模式B.未定义模式C.数据访问终止模式D.用户模式18.嵌入式软件开发与通用软件开发增加了(C)环节A.代码编写B.代码调试C.代码固化D.软件测试19.嵌入式系统调试方式中不占用系统资源的调试方式是(C)A模拟器方式B监控器方式CICE在线仿真器DIDE在线调试器方式20.ADDR0,R1,[R2]中的第二操作数属于(B)方式。A.立即寻址B寄存器间接寻址C.寄存器寻址D.基址变址寻址21.烧写到FLASH里的是(B)格式的文件。A..asmB..binC..objD..cpp22.汇编程序中的伪指令是在(C)阶段起作用。A.编辑B.链接C.编译D.执行23、目前嵌入式处理器的种类大约有(C)A.500多种B.800多种C.1000多种D.2000多种24.LDM和STM指令最多可以操作(C)寄存器。A.12个B.2个C.16个D.32个.二、填空题1.ARM内核有()()()()四个功能模块。2.通用寄存器R0~R15可分为以下3块:()()()3.ARM可用两种方法存储字数据:(大端模式)(小端)4.ARM体系结构支持的最大寻址空间为(4GB)。5.ARM是()的简称。6.ARMCPU体系结构中支持的特有的两种指令集是:(ARM)(Thumb)7.ARM处理器的5种异常模式是()()()()()8.BSP是()的缩写。9.JTAG是()的简称。JTAG技术是一种调试技术,它是在芯片内部封装了专门的测试电路TAP(TestAccessPort,测试访问口),通过专用的JTAG测试工具对内部节点进行测试调试技术。10.ARM汇编程序由()()()三种指令组成。11.Bootloader依赖于(硬件平台),也依赖于具体板级设备配置。12.ARM中堆栈类型有(满递增)(满递减)(空递增)(空递减)四种。13.ARM处理器具有()()两种操作状态14.ARM处理器内核型号中的字母TDMI的含义分别是()()()()。15.FLASH存储技术中两种流行的存储技术是()(),其中成本较低,而接口比较复杂的flash存储技术是()。16.ARM处理器有()()()()()()()种运行模式。其中特权模式是:()()()()()()异常模式是:()()()()()。17.ARM处理器有()个寄存器,其中系统模式和用户模式下有()物理寄存器可用其他5中模式下都有()物理寄存器可用18.ARM处理其每种模式下都有一组寄存器可用,其中(系统模式)(用户模式)具有完全一样的寄存器组。19.ARM中共有()个状态寄存器,其中一个()和五个()。20.Linux系统中的SHELL的主要功能(命令解释)(编程语言)(用户接口),是通过编写脚本文件来实现系统管理和使任务自动化的。21.linux系统中的(makefile)是linux软件开发管理工具,决定程序的编译链接规则,使工程编译链接自动化,它依赖于(make)工作。22.目前国内对嵌入式系统普遍认同的定义是:以(应用)为中心,以(计算机)为基础,(软硬件)可裁剪,适应应用系统对功能,可靠性,成本,体积功耗严格要求的专用计算机系统。23.常见的嵌入式操作系统有(Linux)(Wince)(Palm)(VxWorks),Uc/OS-II和Ecos.24.Linux一般包括四个部分(内核)(shell)(文件系统)(实用工具)。25.目前几乎所有的发行版本Linux都包含(KDE)和(Gnome)两种图形操作环境。26.Linux内核主要有(进程管理)(内存管理)(设备驱动)(文件系统驱动)(网络管理)五个子系统组成。27.Linux下常见shell有(BourneShell)(BASH)(KornShell)(CShell)等。28.Linux文件系统将文件分为(普通文件),(目录文件),(特殊文件)。29.嵌入式处理器可以分为(嵌入式微控制器),(嵌入式微处理器器)(DSP处理器)(片上系统)。30.Vi编辑器有三种模式,分别是(插入模式)(命令行模式)(底行模式)。其中(插入)模式下可以输入内容。31.用gcc编译文件生成可执行文件要经历四个相互关联的步骤:(预处理)(编译)(汇编)(链接)。32.经过编译后生成的文件后缀一般为(.O)。33.一般bootloader有两种操作模式(启动加载模式)和(下载模式),其中(下载)模式只对开发人员有意义。三.简答1.嵌入式Linux系统组成。答:自底向上主要包括硬件设备层,bootloader,Linux内核,各种驱动程序,内核之上的文件系统,各种库以及最上层的应用软件。2.简述嵌入式Linux系统开发流程。答:嵌入式Linux系统开发流程如下图所示:3.简述嵌入式Linux系统根文件系统的作用。答:根文件系统首先是一种文件系统,该文件系统不仅具有普通文件系统的存储数据文件的功能,但是相对于普通的文件系统,它的特交叉开发环境建立,交叉编译器构建造建Bootloader开发设计Linux内核裁剪移植根文件系统制作和移植应用软件开发环境构建应用软件开发和交叉测试软硬件集成测试开始殊之处在于,它是内核启动时所mount的第一个文件系统,内核代码的映像文件保存在根文件系统中,系统引导启动程序会在根文件系统挂载之后从中把一些初始化脚本(如rcS,inittab)和服务加载到内存中去运行。根文件系统和内核是完全独立的两个部分。在嵌入式linux系统中移植的内核下载到开发板上,如果没有根文件系统的支持,是没有办法真正启动Linux操作系统的,会出现无法加载文件系统的错误。4.arm系列处理器arm7tdmi中的tdmi四个字母的含义。答:5.简述哈佛体系结构和冯诺依曼体系结构的不同点。答:冯诺依曼结构是一种程序指令存储器和数据存储器合并在一起的存储器结构。哈佛体系结构是一种将程序指令存储和数据存储分开的存储器结构。Intel处理器采用冯诺依曼结构,ARM属于哈佛结构处理器。6..简述NAND_FLASH和NOR_FLASH的异同点?7.简述S3C2410与ARM920T的关系.8.嵌入式系统常用调试方法有几种,各有什么优缺点?9.常见的嵌入式操作系统有哪些?(列举五个以上),嵌入式操作系统有什么特点?10.什么是交叉开发环境?简述嵌入式linux系统交叉开发环境的构建过程?答:嵌入式系统通常是一个资源受限的系统,无法直接在嵌入式系统的硬件平台上进行相关的软件开发工作,因此必须采用一种特殊的开发模式,目前一般采用的方法就是首先在通用计算机上编写程序,然后通过交叉编译生成目标平台上可以运行的二进制代码格式,最后再通过一些特殊的下载烧写工具,将二进制程序下载烧写到目标平台上去运行,将这种开发方法叫做交叉开发嵌入式Linux系统交叉开发环境的建立是在系统硬件模板开发完成后,最先要完成的任务,主要任务是在宿主机上建立为目标系统开发系统软件和应用软件的开发环境,主要任务有两个,首先,在宿主机上安装Linux操作系统发行版,宿主机上的发行版Linux操作系统的主要任务是运行交叉编译器,为目标系统开发各类软件。其次,是在安装了Linux的PC机上,建立目标系统的交叉编译器,交叉编译器的功能是为目标系统开发各类软件,包括系统软件。宿主机Linux操作系统的选型和安装方式以方便系统开发为唯一选择标准,可以选择开发者熟悉的Linux操作系统发型版本,最好与嵌入式目标系统Linux操作系统内核版本保持一致。比如目标系统拟采用2.6内核的Linux操作系统,那么宿主机上Linux发行版最好选择2.6内核的发型版本或者更高级的版本。11.简述bootloader在嵌入式系统平台上的移植过程?12.说明linux平台下用C系统开发使用的工具。答:Linux下c语言开发主要采用GNU开发工具,主要使用编辑器,编译器,和调试器,大型项目开发使用makefile来进行项目开发管理,常用的编辑器有VI,gedit等,编译器一般用gcc,调试器使用gdb调试器。13.嵌入式系统有什么特点?1)答:嵌入式系统是面向产品,面向用户,面向应用的。2)是一个技术密集,集成度高,需要不断创新的系统。3)嵌入式系统软硬件必须是可裁剪的。14.嵌入式系统组成?答:嵌入式系统一般由嵌入式计算机和执行部件组成。其中嵌入式计算机是整个嵌入式系统的核心,主要包括硬件层、中间层、系统软件层以及应用软件层;执行部件则是接收嵌入式计算机系统发出的控制指令,执行规定的操15.嵌入式系统的发展经过那几个阶段?答:嵌入式系统发展主要经历了如下四个阶段:1)无操作系统的阶段2)以嵌入式CPU为基础,简单操作系统为核心的嵌入式系统阶段3)以通用操作系统为核心的嵌入式实时系统阶段。4)基于Internet为标志的嵌入式系统阶段。16.如何构建交叉编译工具链?答:构建交叉编译工具链有三种方法:1)分步编译和安装交叉编译工具链,从网上下载相关的源代码包,自己配置编译,生成交叉编译工具链。该方法相对比较困难,适合想深入学习构建交叉工具链的读者。.2)通过Crosstool脚本工具.Crosstool脚本由专业的公司制作的,生成交叉编译工具链的脚本程序,只需要进行简单的配置修改,就可以进行一次编译生成交叉编译工具链,该方法相对于方法一要简单许多,并且出错的机会也非常少,大多数情况下使用该方法构建交叉编译工具链。3)直接通过网上(ftp.arm.kernel.org.uk)下载已制作好的交叉编译工具链。17.什么是bootloader?答:Bootloader,亦称引导加载程序,是在操作系