嵌入式系统习题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1,下列哪个系统属于嵌入式系统( D )
A.“天河一号”计算机系统;
B.联想笔记本电脑;
C.联想上网本;
D.联想手机;
2,下列哪种工作模式不属于ARM处理器的特权模式( A )(P67)
A.用户模式;
B.系统模式;
C.软中断模式;
D.FIQ模式;
3,下列哪个操作系统属于嵌入式操作系统( B )(P20)
A;red hat linux ;B;uclinux; C;Ubuntu Linux ; D;SUSE Linux
4,下列可以用来删除文件或者目录的命令是( C )
A.ls;
B.mkdir;
C.rm;
D.cp;
5,下列哪个命令是用菜单方式进行配置的命令( A )
A,make menuconfig; B.make config;
C.make xconfig;
D.make defconfig;
6,系列关于嵌入式系统的驱动程序的描述,不正确的是( C )
A,没有设备驱动程序,硬件将无法正常工作;
B,应用程序是通过操作系统间接访问驱动程序的;
C,设备驱动程序和操作系统是两回事,设备驱动程序不属于操作系统的一部分;
D,驱动程序可以实现动态加载,在需要的时候加载到操作系统内核,而不需要的时候从操作系统内核中卸载;
7,每个设备文件都对应有两个设备号,用来表示该设备的种类的是( B )
A.主设备号;
B.从设备号(次设备号);
C.字符设备号;
D.块设备号
8,通常所说的32位微处理器是指( C )
A.地址总线的宽度为32;
B.处理的数据长度只能为32;
C.CPU字长为32;
D.通用寄存器数目为32个;
9,关于ARM处理器的大端模式和小端模式,正确的说法是( A )
A.一种存储字数据的方法;
B.Bootloader的工作模式
C.ARM微处理器的工作模式;
D.驱动程序的加载模式
10,通常情况下,目标机上的Boot Loader通过串口和主机之间进行文件传输,下列不属于通常使用的传输协议的是( A )
A.modem 协议;
B.xmodem协议;
C.ymodem协议;
D.zmodem协议;
11,关于BOOTLOADER,下列正确的是( C )
A.BOOTLOADER可有可无;
B.BOOTLAODER和硬件的构成没有太大关系;
C.BOOTLAODER是操作系统运行之前运行的一段小程序;
D.BOOTLOADER不依赖于CPU的体系架构
12.ARM9微处理器体系结构具有( B )级流水线。

A.三;
B.五;
C.七;
D.以上都不对;
13,一个32位寄存器,寄存器名为R1,若要将该寄存器的第7位设置为1,其他位保持不变,使用C语言,下列代码正确的是( A )
A.R1 |= 0x80;
B.R1 |= 0x40;
C.R1 &= 0x80;
D.R1&= 0x40;
14,ARM9处理器有( B )个寄存器。

A.31;
B.32;
C.37;
D.38
15,下面哪点不是嵌入式操作系统的特点。

( C )
A. 内核精简
B. 专用性强
C. 功能强大
D. 高实时性
16,NAND FLASH和NOR FLASH的区别正确的是。

( D )
A. NOR的读速度比NAND稍慢一些
B. NAND的写入速度比NOR慢很多
C. NAND的擦除速度远比NOR的慢
D.大多数写入操作需要先进行擦除操作
17,ARM嵌入式系统中,PC指向的是( B )的指令地址
A.当前指令的地址;
B.当前指令的下两条指令的地址;
C.当前指令的上两条指令的地址;
D.以上都不对;
18,在VI编辑器中,存盘并退出命令是( B )
A.q!;
B.wq;
C.w;
D.quit
19,下面哪种不属于嵌入式系统的调试方法。

( D )
A. 模拟调试
B. 软件调试
C. BDM/JTAG调试
D. 单独调试
20,嵌入式系统应用软件一般在宿主机上开发,在目标机上运行,因此,需要一个( B )环境
A.正确的;
B.交叉编译;
C.一般的编译;
D.以上都不对;
1,下列不属于嵌入式系统的是( D )
A.MP3播放器;
B. GPS接收机;
C.“银河玉衡”核心路由器;
D.“天河一号”计算机系统
2,下列哪个嵌入式处理器最适合用于工业控制( B )
A.嵌入式微处理器;
B.嵌入式微控制器;
C.DSP处理器;
D.以上都不适合;
3,嵌入式系统最常采用的数据传输方式是( B )
A.查询;
B.中断;
C.DMA ;
D.I/O处理机;
4, UCLINUX 和标准LINUX最大的区别是( B )
A.文件系统;
B.内存管理MMU;
C.任务调度算法;
D.应用开发模式;
5,嵌入式操作系统一般通过( A )手段来解决代码体积和嵌入式应用多样性的问题。

A.使用可定制的操作系统;
B.将操作系统分布在多个处理器上运行;
C.增大嵌入式系统存储设备的存储容量;
D.使用压缩软件对操作系统进行压缩;
6,下列哪一种功能单元不属于I/O接口电路( D )
B控制器;
B.UART控制器;
C.以太网控制器;
D.LCD
7,使用HOST-TARGET 开发嵌入式应用,( A )不是必须的。

A.银河麒麟操作系统;
B.宿主机;
C.目标机;
D.交叉编译器;
8,下列可以用来新建文件夹的命令是( C )
A.ls;
B. make;
C.mkdir;
D.make menuconfig;
9,下列不属于正确的配置命令的是( D )
A. make menuconfig;
B.make oldconfig;
C. make xconfig;
D. make;10, 驱动程序是内核的一部分,下面的描述不正确的是( D )
A.设备驱动完成对设备的初始化和释放;
B.设备驱动把数据从内核传送到硬件和从硬件读取数据;
C.设备驱动读取应用程序传送给设备文件的数据和回送应用程序请求的数据;
D.设备驱动程序可以使用户更加仔细的了解硬件的细节;
11,每个设备文件都对应有两个设备号,用来表示该设备所使用的驱动程序的是( A )
A.主设备号;
B.从设备号(次设备号);
C.字符设备号;
D.块设备号
12,下面的叙述中,不是嵌入式图像用户接口(GUI)的主要特点的是( D )
A.运行时占用的系统资源少;
B.模块化结构,便于移植和定制;
C.可靠性高;
D.美观华丽,图像算法复杂;
13,关于32位的微处理器,下列说法不正确的是( D )
A.寄存器的位数为32位;
B.地址总线的宽度为32;
C.处理的数据的长度可以为32;
D.处理的数据长度只能为32位;
14,关于BOOTLOADER,下列不正确的是( D )
A.BOOTLOADER第一阶段代码是用汇编语言编写;
B.BOOTLAODER第二阶段代码是用C语言编写;
C.BOOTLAODER是操作系统运行之前运行的一段小程序;
D.BOOTLOADER不依赖于CPU的体系架构以及硬件平台
15,下列有关编译的命令错误的是( C )
A.gcc –o hello hello.c ;
B.gcc hello.c –o hello;
C.gcc –o hello.c hello;
D.gcc hello.c;
16,关于Thumb指令和ARM指令,下列叙述错误的是( B )。

A.Thumb指令是ARM指令的子集; C.Thumb指令比ARM指令执行速度快;
B.Thumb指令比ARM指令执行速度慢; D.Thumb指令比ARM指令节约空间;
17嵌入式驱动程序以动态方式加载进内核,其优点是( D )
A.驱动程序按需加载,不用时节省内存;
B.驱动程序相对独立于内核,升级灵活;
C.授权方式灵活;
D.以上都正确;
18,由C语言源程序生产可执行文件需要经过下列几个过程,正确的是( B )
A. 预处理,编译,汇编,连接;
B.预处理,汇编,编译,连接;
C. 预处理,编译,连接;
D.以上都不对;
19,关于大端模式和小端模式,下列说法不正确的是( D )
A.大端模式和小端模式是寄存器存储字数据的一种方法;
B.大端模式是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中
C.小端模式,是指数据的低位保存在内存的低地址中,而数据的高位保存在内存的高地址中
D.ARM采用大端模式
20,一个32位寄存器,寄存器名为R2,若要将该寄存器的第7位设置为0,其他位保持不变,使用C语言,下列代码正确的是( D )
A.R2 |= ~(0x80);;
B.R2 |= ~(0x40);
C.R2 &= ~(0x40);
D.R2 &= ~(0x80);
1.计算机系统的三大领域分别为桌面系统,嵌入式系统和服务器系统,其中_______最有潜力,
________是具有利润最大的市场,________具有最广阔的市场。

2.嵌入式系统是指以___应用_为中心,以_计算机技术__为基础,_软硬件_可裁减,适合应用系
统对_功能_, _可靠性__, _成本_, _体积_, _功耗_等的严格要求的专用计算机系统。

3.ARM公司的企业运行模式采用________的生产模式,公司不生产也不设计芯片,而是设计出一
种高效的_________,授权给半导体公司使用。

4.ARM存储字数据的方法可以分为两种,分别是_________和__________.
5.ARM采用了大量的寄存器,共37个寄存器,其中有31个通用寄存器和6个状态寄存器,在这
些寄存器中R13通常用作___ _ ____,R14通常被用作____ ____寄存器,R15为____________。

6.Linux内核模块分为:____________,____________,____________,____________,
____________。

Linux遵循GPL,GPL的英文全称为________________________。

7.ARM支持两种指令集,分别是___________和___________.
8.使用GCC器由C语言源程序生成可执行文件需要经过以下几个过程: _____________,
_____________,_____________,_____________。

1.桌面系统;服务器系统;嵌入式系统;
2.应用;计算机技术;功能;可靠性;成本;体积;功耗;
3.chipless;IP核;
4.大端模式;小端模式
5.堆栈指针;链接;程序计数器;(P69)
6.进程调度模块;内存管理模块;文件系统模块;进程间通信模块;网络接口模块;
General public license
7.ARM指令集;THUMB指令集; 8.预处理;编译;汇编;链接;
1、 ARM微处理器支持7种运行模式为、、、、
、、。

(P67)
2、目前主流的32位嵌入式微处理器芯片有、和等。

3、系统初始化过程按照自底向上、从硬件到软件的次序依次可以分为、
和 3个主要环节。

4、按照响应时间分,EOS可分为和两大类。

5、使用gcc命令若想生成警告信息,应该给gcc加参数。

6、vivi文件结构中,目录包括了所有vivi支持的目标板的子目录,如s3c2410目录。

7、LINUX的文件系统采用的是目录,最上层是。

8、一般来说,嵌入式操作系统中的任务具有、和三种基本状态。

1、usr、fiq、irq、svc、abt、sys、und;
2、ARM、MIPS、PowerPC;
3、片级初始化、板级初始化、系统级初始化;
4、实时操作系统、非实时操作系统;
5、-Wall;
6、arch;
7、树型、/ ;
8、就绪、运行、阻塞
1.计算机系统包括通用计算机系统和专用计算机系统。

通用的计算机系统主要有_______________和_____ _____ _____,专用的计算机系统是___ __ ________ __,它是潜力最大的市场。

2.ARM公司的企业运行模式采用________的生产模式,公司不生产也不设计芯片,而是设计出一种高效的_________,授权给半导体公司使用。

3.交叉开发指在主机上进行________、_________程序,在目标机上________程序,这里主机指安装有linux操作系统的PC机,目标机指开发平台。

4.Cpu与外设的数据传输方式通常有以下三种:____________、____________ 和____________;
ARM系统包括两类中断:____________ 和____________。

5.在嵌入式系统开发过程中,主机和目标机之间可以采用四种连接方式,分别为:______________,______________,______________,______________。

6.以Linux-2.4内核为例,首先需要根据具体硬件的参数对内核进行配置,配置内核输入命令_________________________,配置后进行编译,编译内核命令为_______________,________________,编译后生成内核映像文件为_________________。

7.驱动程序是_____________和_____________之间的接口,驱动程序屏蔽了_______的特性,驱动程序是_________的一部分。

驱动程序可以实现动态加载进操作系统内核,加载命令为:______________,在不需要使用到时候可以卸载,命令为:_____________。

8.GUI英文全称为________ ____________,它是____________和_____________之间的接口。

1.服务器系统;桌面系统;嵌入式系统;
2.chipless;IP核;
3.编辑;编译;运行;
4.查询方式;中断方式;DMA方式;IRQ中断;FIQ中断;
5.并口;串口;网口;USB接口;
6.Make menuconfig,make dep,make zImage,zImage;
7.操作系统,硬件,硬件,内核; 8.graphic user interface;计算机;使用者;
什么是ARM的小端格式,试写出32位字数据0x23456789以小端方式在内存地址0x6000处的存储情况。

答:低字节数据存放在内存低地址处,高字节数据存放在内存高地址处,称为小端字节顺序存储法。

内存地址0x6000处的32位字数据0x23456789,按小端法存储,则其最低字节数据0x89存放在内存低地址0x6000处,最高字节数据0x23存放在内存高地址0x6003处,字节数据0x45存放在0x6002,字节数据0x67存放在0x6001中。

注:也可画图表示(0x6000)=0x89,(0x6001)=0x67,(0x6002)=0x45,(0x6003)=0x23。


简述ARM的几个特殊寄存器(R13、R14、R15、CPSR、SPSR)的作用。

R13称为SP,用作堆栈指针寄存器。

R14用作子程序链接寄存器,也称为LR。

当执行带链接分支指令BL时,作R15的备份。

R15用作程序计数器PC。

CPSR程序状态寄存器,存放当前程序状态。

SPSR程序状态保存寄存器,当异常出现时,SPSR用于保留CPSR的状态。

某文件信息如下“-rw-r—r-- 1 root root 1756 Sep 9 2011 inittab”,请说明该文件的特点及权限。

答:“-”表示这个名为inittab的文件是普通文件,所有者有读写的权限,所在组和其他人都只有读的权限,它的连接数为1,所有者及文件所属的组都是root,文件中字节数为1756,文件创建日期是2011年9月9日。

简述嵌入式系统与单片机的不同点。

(以表格形式说明)
简述嵌入式系统与通用计算机的不同点。

(以表格形式说明)
比较ARM7与ARM9的流水线结构,并详细说明ARM9的流水线的5个过程。

ARM7采用3级流水线,分别为取址,译码,执行。

ARM9采用5级流水线,每级的过程如下所示:
取指:从存储器中取出指令,并将其放入指令流水线
译码:对指令进行译码
执行:把一个操作数移位,产生ALU的结果
缓冲/数据:如果需要,则访问数据存储器;否则ALU的结果只是简单的缓冲1个时钟周期,以便所有的指令具有相同的流水线流程.
回写:将指令产生的结果回写到寄存器堆,包括任何从寄存器中读取的数据.
简述Bootloader代码的stage1和stage2的工作流程。

Stage1:包含依赖于CPU的体系结构硬件初始化的代码,通常用汇编语言来实现,具体包括以下过程:
基本的硬件设备初始化(屏蔽所有的中断,关闭指令/数据Cache)
为第二阶段准备RAM空间
如果是从某个固态存储媒质中,则复制Bootloader的第二阶段代码到RAM
设置堆栈
跳转到第二阶段的C语言入口点
Stage2:用C语言编写,可以实现更多复杂功能,也提高程序的可读性和可移植性,具体包括以下过程:
初始化本阶段要使用的硬件设备
检测系统内存映射
将内核映象和根文件系统映象从Flash读到RAM
为内核设置启动参数
调用内核
Bootloader在嵌入式系统中主要起什么作用?完成哪些主要工作?
Bootloader是操作系统运行之前运行的一段小程序
主要作用是引导操作系统,让操作系统能够正常运行
主要完成的工作包括:初始化需要的意见设备;初始化堆栈;给操作系统准备足够的可以使用的内存空间;复制操作系统的代码到内存;把控制权交给操作系统;
简述嵌入式系统的概念,组成和特点。

嵌入式系统概念:
•以应用为中心
•以计算机技术为基础
•软硬件可裁减
•适应应用系统对功能,可靠性,成本,体积,功耗等的严格要求
•专用计算机系统
嵌入式系统组成:
•嵌入式处理器系统
–嵌入式处理器
–各类存储器
–模拟电路及电源
–接口控制器及接插件
•嵌入式软件系统
–实时操作系统(RTOS)
–板级支持包(BSP)
–设备驱动(Device Driver)
–协议栈(Protocol Stack)
–应用程序(Application)
嵌入式系统特点:
•专用性强
•可裁减(软件,硬件)
•专用的操作系统(Linux,UC/OS,Vxworks等)
•软件要求固化(存储器芯片)
•专用的开发工具和环境(基于通用计算机上的软硬件设备以及各种逻辑分析仪、信号示波器等 )
•知识集成系统:计算机技术、半导体技术和电子技术等
•不可垄断: PC行业被垄断(体系结构,处理器,操作系统)
•较长生命周期
叙述linux驱动程序和应用程序的区别
驱动程序:
①驱动程序是内核的一部分,运行在内核空间,驱动程序向内核添加一些函数,如open,
read等供系统调用
②驱动程序执行与否是有操作系统决定,当有应用程序调用操作系统的系统函数时,
如果运行操作则操作系统去调用相应的驱动设备的驱动函数。

③驱动程序可以对硬件直接访问
应用程序:
①应用程序不属于内核,因此运行在用户空间
②应用程序执行与否由用户决定,从main函数开始执行,main函数返回则执行结束
③应用程序不能直接操作硬件,只能通过操作系统去调用驱动程序从而访问硬件。

程序分析。

下面是某设备hardware的驱动程序,请在空格处填上正确的代码
static int hardware_open(struct inode *inode,struct file *file)
{
printk ("the device will be opened\n "); //打印
return 0;
}
static int hardware_write (struct file * file, const char * buffer, size_t count, loff_t *ppos)
{
……….
}
static struct file_operations hardware_fops = {
_open: ___ hardware_open _______,
_write:____ hardware_write ______,
};
static int __init hardware_init(void)
{
int ret;
ret = register_chrdev (hardware_MAJOR , DEVICE_NAME , & hardware_fops );//注册函数
if (ret < 0) {
………..
}
return 0;
}
static void __exit hardware_exit(void)
{
unregister_chrdev (hardware_MAJOR , DEVICE_NAME );//取消注册
}
module_init(hardware_init);
module_exit(hardware_exit);
MODULE_LICENSE("GPL");
编程题
根据以下文件之间的关系编写一个makefile文件。

test:test1.o test2.o
arm-linux-gcc -o test test1.o test2.o
test1.o : test1.c test1.h
arm-linux-gcc -o test1.o -c test1.c
test2.o : test2.c test2.h
arm-linux-gcc -o test2.o -c test2.ch
clean :
rm -f *.o。

相关文档
最新文档