嵌入式期末复习题_(含答案)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
期末考试复习题
一、填空题
1. ARM微处理器有7种工作模式,它们分为两类_特权模式_、_非特权模式_其中用户模式属于_非特权模式__。
2. ARM微处理器共有__37_个__32__位寄存器,其中__31_个为通用寄存器,_6___个为状态寄存器。
3. 嵌入式系统一般哪4个部分组成( 嵌入式处理器、外围设备、嵌入式操作系统(可选)、嵌入式应用软件)
4. 协处理器主要控制:___片内的MMU __、___指令和数据缓存___、___写缓冲___。
5. ARM嵌入式系统主要由___相关支撑硬件___、___ARM处理器___和__嵌入式软件系统____构成。
6. S3C2410芯片外部寻址空间是1G,被分成___8__个存储块,每块_ 128 _MB。
SDRAM 存储器应连接到第____7或8__个存储块。
7. 操作系统是联接硬件与应用程序的系统程序,其基本功能有进程管理、内存管理、文件系统管理、I/O资源管理。
8. 常用的嵌入式外围设备有存储设备_、通信设备____和___显示设备___三类。
10. 嵌入式系统是用来控制或者监视哪些设备( )
11. 嵌入式系统的三个基本要素。
引导程序内核文件系统
12. 链接分为:(硬链接)和( 软链接)。
13. 数据寄存器,其中控制寄存器的主要功能是设置_引脚的功能_,数据寄存器的功能是从寄存器读取数据或者向寄存器写入数据。
15. 目前流行的嵌入式操作系统主要有:_ WinCE_、_ Vxworks__、_ Linux/µCLinux_和_µC/OS-II、PalmOS____。
16. 嵌入式操作系统的调试一般包括:___操作系统__调试和___应用程序__调试。
17. ARM字数据存储格式有:大端格式和小端格式。
18. 某文件的权限为:drw-r--r--,用数值形式表示该权限,则该八进制数为:( 644 ),该文件属性是( 目录)。
19. 在宿主机上使用编译器软件将嵌入式应用。
嵌入式操作系统编译成为可以在目标机上运行代码的过程,称为交叉编译。
20. 为了满足人们对性能的要求,ARM9处理器使用了哪几级流水线( ARM9为五级流水线(取指,译码,执行,缓冲/数据,回写),)
21. 全部磁盘块由四个部分组成,分别为( 引导块) 、专用块、i节点表块和( 数据存储块)。
22. 嵌入式系统的三要素是引导程序、内核、文件系统。
23. 嵌入式硬件系统是以嵌入式微处理器为核心,主要由哪5个部分组成( )
24. ARM微处理器共有7工作状态。
25. 系统交换分区是作为系统虚拟内存的一块区域。
26. 内核分为(进程调度) 、内存管理系统、I/O管理系统和虚拟文件系统等四个子系统。
27. 静态重定位是在程序装入时进行,动态重定位是在程序运行时进行。
28. Make的主要工作是读取Makefile文件的内容。
该文件描述了源程序与依赖的文件
之间的依赖关系,以及指定编译过程中使用的工具。
29. 安装Linux系统对硬盘分区时,必须有两种分区类型:文件系统分区和交换分区。
30. Linux中的设备的分类。
字符设备块设备网络设备
31.Linux系统区分不同设备的方法。
以字节为单位进行访问的设备成为字符设备,如鼠标键盘等
以块数据为单位进行访问的设备成为字符设备如硬盘SD卡等
其他的为网络设备如网卡设备网络设备不是用主次设备号来标识设备
32.ARM微处理器中寄存器的总数、分类。
ARM微处理器共有__37_个__32__位寄存器,其中__31_个为通用寄存器(包含R15:程序计数器PC),_6___个为状态寄存器。
(CPSR SPSP..........)
33.ARM7TDMI与ARM720T的重要区别。
ARM720T有存储空间管理单元(MMU)
支持标准linux。
ARM7TDMI是ARM7架构,没有MMU,不支持标准linux。
34. ARM微处理器7种运行模式。
用户、快中断、中断、管理、终止、未定义和系统模式
35. 嵌入式操作系统的调试方法。
用GDB调试。
传统的调试方法可概括为如下过程:设断点--程序暂停--观察程序状态--继续运行。
36. vi编辑器具有两种工作模式:( 命令模式) 和输入模式。
37. 可以用ls –al命令来观察文件的权限,每个文件的权限都用10位表示,并分为四段,其中第一段占_1___位,表示文件类型,第二段占__3__ 位,表示__文件拥有
者__ 对该文件的权限。
38. Linux设备可分为___字符设备___、___块设备___和__网络设备____三种。
39. 建立ARM编译环境的主要开发工具有___binutils___、___gcc___和___glibc___。
40. Linux支持多种文件系统,包括:__Romfs_、Cramfs___、___JFFS___和____JFFS2__。
41. 常用的GUI图形开发界面主要有__ X Window ____、___ MicroWindows ___、___ OpenGUI ____和MiniGUI _。
Qt/Embedded PicoGUI
选择题:
1.内核不包括的子系统是( D ) 。
A 进程管理系统
B 内存管理系统
C I/O管理系统D硬件管理系统
2.若一台计算机的内存为128MB,则交换分区的大小通常是(C) 。
A 64M
B B 128MB
C 256MB
D 512MB
3.对名为fido的文件用chmod 551 fido 进行了修改,则它的许可权是( D)。
A -rwxr-xr-x
B -rwxr--r--
C -r--r--r--
D -r-xr-x—x
4.关闭linux系统(不重新启动)可使用命令( B) 。
A Ctrl+Alt+Del
B halt
C shutdown -r now
D reboot
5.实现从IP地址到以太网MAC地址转换的命令为:( C) 。
A ping
B ifconfig
C arp
D traceroute
6. 以下哪个不是RISC架构的ARM微处理器的一般特点:(C )
A、体积小、低功耗
B、大量使用寄存器
C、采用可变长度的指令格式,灵活高效
D、寻址方式灵活简
7.下列描述不属于RISC计算机的特点的是C。
A.流水线每周期前进一步。
B.更多通用寄存器。
C.指令长度不固定,执行需要多个周期。
D.独立的Load和Store指令完成数据在寄存器和外部存储器之间的传输。
9、通常所讲的交叉编译就是在X86架构的宿主机上生成适用于ARM架构的( A )格式的可执行代码。
A、elf B 、exe C、pe D、sh
8.存储一个32位数0x2168465到2000H~2003H四个字节单元中,若以大端模式存储,则2000H存储单元的内容为 D 。
A. 0x21
B. 0x68
C. 0x65
D. 0x02
9.系统中有用户user1和user2,同属于users组。
在user1用户目录下有一文件file1,它拥有644的权限,如果user2用户想修改user1用户目录下的file1文件,应拥有( B ) 权限。
A 744 B 664 C 646 D 746
10.文件exer1的访问权限为rw-r--r--,现要增加所有用户的执行权限和同组用户的写权限,下列命令正确的是( A) 。
A chmod a+x g+w exer1
B chmod 765 exer1
C chmod o+x exer1
D chmod g+w exer1
11.下列进程状态变化中,C 变化是不可能发生的。
A.运行→就绪
B.运行→等待
C.等待→运行(时间片用完)
D. 等待→就绪
进程状态间的变迁
①就绪→执行:调度
②执行→等待:等待某个事件发生而睡眠
③等待→就绪:因等待的事件发生而唤醒
④执行→就绪:时间片用完
12.ARM寄存器组有D个寄存器。
A. 7
B. 32
C. 6
D. 37
13.若R1=2000H,(2000H)=0x28,(2008H)=0x87,则执行指令LDR R0,[R1,#8]!后R0的值为D。
A. 0x2000
B. 0x28
C. 0x2008
D. 0x87
14. 下面不属于Boot Loader 阶段1所完成的步骤的是:(C)
A、硬件设备初始化。
B、拷贝Boot Loader的阶段2到RAM空间中。
C、将kernel映像和根文件系统映像从Flash读到RAM空间中。
D、设置堆栈。
15.S3C2410X可以生成多种时钟信号,下列不属于S3C2410X生成的时钟信号是(C)。
A、FCLK
B、HCLK
C、LCLK
D、PCLK
16. 以下叙述中,不符合RISC 指令系统特点的是( D)。
A、指令长度固定,指令种类少
B、寻址方式种类丰富,指令功能尽量增强
C、设置大量通用寄存器,访问存储器指令简单
D、选取使用频率较高的一些简单指令
17.使用gdb进行程序调试时,下面哪条命令可以实现“执行一行源代码而且进入函数内部”的功能( A )。
A、next
B、step
C、break
D、list
18. 通常所说的32 位微处理器是指( C )。
A、地址总线的宽度为32 位
B、处理的数据长度只能为32 位
C、CPU 字长为32 位
D、通用寄存器数目为32 个
解释:32位是指计算机中的位数,就是说CPU一次能处理的最大位数。
32位计算机的CPU一次最多能处理32位数据
19.下列存取速度最快的是( C ) 。
A、Flash存储器
B、DRAM
C、高速缓存(CACHE)
D、磁盘
20.寄存器R15除了可以做通用寄存器外,还可以做 A 。
A. 程序计数器
B. 链接寄存器
C. 堆栈指针寄存器
D. 基址寄存器
21.嵌入式系统有硬件和软件部分构成,以下 D 不属于嵌入式系统软件。
A. 系统软件
B. 驱动
C. FPGA编程软件
D. 嵌入式中间件
22. 关闭linux系统(不重新启动)可使用命令C 。
A .Ctrl+Alt+Del B. halt
C. shutdown -r now
D. reboot
23. 若GCC编译时带上选项“-lm”表示连接文件名为什么的数学函数库?(D)
A、lm
B、m.a
C、lm.a
D、libm.a
24. 下列是虚拟文件系统的是(B )
A、proc
B、vfs
C、ext
D、fat32
25.关于实时操作系统(RTOS)的任务调度器,以下描述中正确的是( B)。
A、任务之间的公平性是最重要的调度目标
B、大多数RTOS 调度算法都是可抢占式(可剥夺式)的
C、RTOS 调度器都采用了基于时间片轮转的调度算法
D、RTOS 调度算法只是一种静态优先级调度算法
26.烧写到FLASH里的是(B)格式的文件。
A、asm
B、bin
C、obj
D、cpp
27.在实时操作系统中,两个任务并发执行,一个任务要等待其合作伙伴发来消息,或建立某个条件后再向前执行,这种制约性合作关系被称为任务的( A)。
A、同步
B、互斥
C、调度
D、执行
28.什么命令解压缩tar文件?( B)
A、tar -czvf filename.tgz
B、tar -xzvf filename.tgz
C、tar -tzvf filename.tgz
D、tar -dzvf filename.tgz
29.在ARM处理器中,哪个寄存器包括全局的中断禁止位,控制中断禁止位就可以打开或者关闭中断。
( C )
A、CPSR
B、SPSR
C、PC
D、IR
30.下面关于存储管理的叙述中,正确的是( C )。
A、在嵌入式微处理器当中,都配备有存储管理单元MMU
B、在嵌入式系统中,内核空间和用户空间必须是两个相互独立的地址空间
C、在有些嵌入式系统中,甚至不提供存储管理功能
D、在虚存系统中,只要磁盘空间无限大,任务就能拥有任意大的编址空间
31.将光盘CD-ROM(hdc)安装到文件系统的/mnt/cdrom目录下的命令是 C 。
A. mount /mnt/cdrom
B. mount /mnt/cdrom /dev/hdc
C. mount /dev/hdc /mnt/cdrom
D. mount /dev/hdc
32.对名为fido的文件用chmod 551 fido 进行了修改,则它的许可权是D 。
A. -rwxr-xr-x
B. -rwxr--r--
C. -r--r--r--
D. -r-xr-x—x
33.文件exer1的访问权限为rw-r--r--,现要增加所有用户的执行权限和同组用户的写权限,下列命令正确的是 A 。
A. chmod a+x g+w exer1
B. chmod 765 exer1
C. chmod o+x exer1
D. chmod g+w exer1
34.ARM指令集和Thumb指令集分别是( D )位的。
A、8位,16位
B、16位,32位
C、16位,16位
D、32位,16位
35.嵌入式系统软硬件协同设计从目标系统构思开始,经过( A)阶段完成。
①需求描述②软硬件划分③硬件综合、接口综合、软件编译④软硬件集成⑤软硬件协同仿真与验证
A、①、②、③、④和⑤
B、②、③、④和⑤
C、②、④和⑤
D、①、②、④和⑤
36.在ARM指令系统的各种寻址方式中,获取操作数最快的方式是( A ) 。
A、直接寻址
B、立即寻址
C、寄存器寻址
D、间接寻址
37.若操作数的地址包含在指令中,则属于( D)方式。
A、直接寻址
B、立即寻址
C、寄存器寻址
D、间接寻址
38.在CPU和物理内存之间进行地址转换时,(B )将地址从虚拟(逻辑)地址空间映射到物理地址空间。
A、TCB
B、MMU
C、CACHE
D、DMA
39.中断向量是指(C )。
A、中断断点的地址
B、中断向量表起始地址
C、中断处理程序入口地址
D、中断返回地址
判断题
1. 基于ARM架构的指令都是32位的。
( F )
2. chmod命令可用来修改处理器的运行模式。
(F)
3. LINUX是一个真正的多用户、多任务操作系统,允许多个用户在相同的机器上一次运行很多程序,并能保证相互之间的共享和安全。
(T)
4. BootLoader是嵌入式系统运行的第一个程序。
(T)
5. Linux 中的ls 命令的功能是变换工作目录到目标指定目录。
( F )
6. BootLoader属于嵌入式操作系统的一部分。
(F)
名词解释(写出以下英文简写对应的中文名称)
(1)RISC 精简指令集
(2)IP 网协
(3)ISR中断服务程序
(4)JTAG联合测试行为组织
(5)IDE集成开发环境
简答题:
1.嵌入式系统的Bootloader的功能是什么?
引导加载系统程序。
初始化硬件设备、建立内存空间的映射表,从而建立适当的系统软硬件环境,为最终调用操作系统内核做好准备。
2.简述嵌入式系统有哪些特点。
(1)其面向特定系统应用。
(2)其涉及计算机、微电子技术、电子技术、通信、和软件等行业。
(3)其硬件和软件都必须具备高度可定制性。
(4)其生命周期相当长。
(5)其不具备本地系统开发能力,需要专门的工具和环境。
3.如何编写Makefile文件,其执行过程是怎样的?
#注释
目标文件:依赖文件列表
............................................
<tab>命令列表
............................................
执行过程:(1)查找当前目录下的makefile文件。
(2)初始化文件中的变量。
(3)分析makefile中的所有规则。
(4)为所有的目标文件创建依赖关系。
(5)根据依赖关系,决定哪些目标文件要重新生成。
(6)执行生成命令。
4.表示递增和递减的满堆栈和空堆栈有哪几种组合,请比较它们的特点。
递增和递减的满堆栈和空堆栈有4种组合:(1)满递增,堆栈指针指向最后压入的数据,并且堆栈以递增方式向上生成。
(2)满递减,堆栈指针指向最后压入的数据,并且堆栈以递减方式向下生成。
(3)空递增,堆堆栈指针指向下一个将要放入的数据的空位置,并且由低地址向高地址生成。
(4)空递减,堆堆栈指针指向下一个将要放入的数据的空位置,并且由高地址向低地址生成。
5.简单描述ARM内核的四个功能模块,各自具备什么功能特点?
ARM内核有四个功能模块T、D、M、I,可供生产厂商根据不同用户的要求来配置生产ARM芯片。
其中T功能模块表示16位Thumb,可以在兼顾性能的同时减少代码尺寸。
M功能模块表示8位乘法器。
D功能模块表示Debug,该内核中放置了用于调试的结构,通常它为一个边界扫描链JTAG,可使CPU进入调试模式,从而可方便地进行断点设置、单步调试。
I功能模块表示EmbeddedICE Logic,用于实现断点观测及变量观测的逻辑电路部分,其中的TAP控制器可接入到边界扫描链。
6. 比较Nor Flash和Nand Flash存储器的优缺点。
优点:Nor Flash支持随机访问。
Nand Flash芯片价格低,存储容量大,寿命长。
缺点:Nor Flash容量小,寿命短。
Nand Flash不支持随机访问,需要专用的引导程序。
7.什么是嵌入式微控制器
在一块芯片上集成了中央处理单元(CPU)、存储器、定时器、计数器及多种输入输出等接口的组成比较完整的数字处理系统。
(就是一块SOC)
8.简述QTE应用程序开发过程
9.如何清除上一次make编译的目标文件?
使用命令——“make clean”,以此来清除所有的目标文件
10.本地编译与交叉编译的区别是什么?
本地编译,是指在PC平台上编辑程序,然后在PC上编译,编译的结果还是在PC上运行。
交叉编译,是指在PC平台上交叉编译到ARM设备上,可以在PC上编辑程序,然后在PC上编译,最后把编译的结果下载到ARM中运行。
分析题:
1.编写led_on.s程序,功能:它只是简单地点亮发光二极管LED2。
假设LED接在2410的GPF5。
(地址信息题目会给出)
_start:
LDR R0,=0x56000010 @ R0设为GPBCON寄存器。
此寄存器
@ 用于选择端口B各引脚的功能:
@ 是输出、是输入、还是其他
MOV R1,#0x00000400
STR R1,[R0] @ 设置GPB5为输出口, 位[10:9]=0b01
LDR R0,=0x56000014 @ R0设为GPBDAT寄存器。
此寄存器
@ 用于读/写端口B各引脚的数据MOV R1,#0x00000000 @ 此值改为0x00000020,
@ 可让LED2熄灭
STR R1,[R0] @ GPB5输出0,LED2点亮
2.编写一个计算1+2*3的程序,分成4个文件,一个头文件myhead.h、一个进行加法运算的myadd.c文件、一个进行乘法运算的mymul.c文件和一个result.c文件。
然后编写
一个Makefile,使它们在make工具下生成正确的可执行文件myresult。
要求写出每个文件的具体代码。
**********************************myhead.h********************
#include <stdio.h>
#include <math.h>
int myadd(int a,int b);
int mymul(int a,int b);
**********************myaddc.c*************************
#include "myhead.h"
int myadd(int a,int b)
{
return (a+b);
}
***********************mymul.c******************
{
#include "myhead.h"
int mymul(int a,int b)
{
return (a*b);
}
*****************sesult.c********************
#include "myhead.h"
int main()
{
int m;
m=mymul(2,3);
printf("the resule is %d\n",myadd(m,1) );
}
*********makefile***********************
#makefile
result:result.o mysdd.o mymul.o
gcc -o result result.o mysdd.o mymul.o
result.o:rsult.c myhead.h
gcc -c result.c
myadd.o:myadd.c myhead.h
gcc -c myadd.c
mymul.o:mumul.c myhead.h
gcc -c mymul.c
clean:
rm -rf *.o result
4. Arm-linux 的三个工具作用(gcc、glibc、binutils)?
二进制文件处理工具binutils主要应用于移植调试操作系统初期的辅助开发;编译工具gcc用于编译内核代码;glibc用于链接和运行库文件。
5. 从底层硬件到上层应用软件,试分析嵌入式计算系统的组成主要分为哪几个部分,并写出各部分所完成的功能。
(1)硬件层;搭建硬件环境
(2)操作系统层(包括引导程序,内核和文件系统);细分
引导程序:引导加载内核和文件系统
内核:初始化硬件设备和完成内存空间的映射,并挂载根文件系统
文件系统:启动第一个应用程序init,初始化控制台等设备后等待用户调用应用程序。
(3)应用层
根据需求完成所需的功能。
11。