嵌入式系统整理后题库.docx
《嵌入式系统整理后题库.docx》由会员分享,可在线阅读,更多相关《嵌入式系统整理后题库.docx(11页珍藏版)》请在冰豆网上搜索。
嵌入式系统整理后题库
2012嵌入式系统课程习题库
一.选择题
1.以下哪个不是RISC架构的ARM微处理器的一般特点:
( C)
A体积小、低功耗 B大量使用寄存器
C采用可变长度的指令格式,灵活高效 D寻址方式灵活简
2.通常所讲的交叉编译就是在X86架构的宿主机上生成适用于ARM架构的( A)格式的可执行代码。
AelfBexeCpeDsh
3.下面不属于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/tmp
B.mount-oro/mnt/tmpserver:
/tmp
C .mount-oroclient:
/mnt/tmpserver:
/tmp
D.mount-oroserver:
/tmpclient:
/mnt/tmp
7.以下叙述中,不符合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.嵌入式linuxBVxworksDPalmOSEWinCE
17.下列不属于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..cpp
22.汇编程序中的伪指令是在(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系统根文件系统的作用。
答:
根文件系统首先是一种文件系统,该文件系统不仅具有普通文件系统的存储数据文件的功能,但是相对于普通的文件系统,它的特殊之处在于,它是内核启动时所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,亦称引导加载程序,是在操作系统内核运行之前运行的一段小程序,程序的主要功能是初始化系统基本硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。
18.举列说明身边的嵌入式系统。
(说出15个以上)
19.Linux内核源码是如何组织的?
主要目录下有哪些内容?
答:
Linux内核源码组织成树形结构,主要包括如下一些目录。
/arch:
目录包括了所有和体系结构相关的核心代码。
.
/documentation:
目录下是一些文档。
/drivers:
目录中是系统中所有的设备驱动程序。
/fs:
所有的文件系统代码和各种类型的文件操作代码,它的每一个子目录支持一个文件系统,例如fat和ext2。
/include:
目录包括编译核心所需要的大部分头文件.
/init:
目录包含核心的初始化代码(不是系统的引导代码)。
/ipc:
目录包含了核心进程间的通信代码。
/Kernel:
内核经管的核心代码。
/lib:
目录包含了核心的库代码。
/mm:
目录包含了所有独立于cpu体系结构的内存经管代码。
/net:
目录里是核心的网络部分代码。
/scripts:
目录包含用于配置核心的脚本文件等
/block:
块设备驱动程序I/O调度。
/crypto:
常用加密和散列算法(如AES,SHA等),还有一些压缩和CRC校验算法。
/security:
主要包含SELinux模块。
/sound:
ALSA,OSS音频设备的驱动核心代码和常用设备驱动。
/usr:
实现了用于打包和压缩的cpio等。
20.简述Linux内核移植步骤。
答:
Linux内核移植步骤如下图所示:
21.简述嵌入式Linux根文件系统制作过程。
答:
嵌入式Linux根文件系统制作过程如下图所示:
22.Linux系统软件开发中makefile作用是什么?
答:
Makefile一种文件,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令。
makefile带来的好处就是——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。
make是一个命令工具,是一个解释makefile中指令的命令工具。
三.程序设计题
1.阅读程序,写出程序运行结果。
(1)
#!
/bin/sh
i=10。
while[[$i-gt5]]。
do
echo$i。
((i--))。
done
(2)#!
/bin/bash
for((i=1。
i<=10。
i++))。
do
echo$i
done
(3)
#!
/bin/bash
if[-d“$1”]。
then
rmdir$1
elif[-f“$1”]。
then
rm$1–rf
fi
2.编写shell程序,实现在/home目录下创建usr目录,且在usr目录下创建100个student目录,在每个目录下创建一个hello.txt文件。
3.编写一个C程序,程序功能是在root目录下创建一个hell文件,将Linux系统中/etc目录下的passwd文件。