嵌入式复习题(2012-2013-1)

更新时间:2023-11-02 18:39:02 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

嵌入式开发技术复习题

一、单项选择题

1、在使用gdb调试程序时,如果希望从程序的第5行开始运行,可使用的操作命令是( A )。

A. run 5 B. run from 5 C. c 5 D. c from 5

2、Linux系统环境下,若当前目录下有一个目录文件hello,在当前目录使用test –d hello命令得到的结果是( C )。p131

A. 正整数 B. 负整数 C. 1 D. 0

3、在Linux环境下,对文件的操作常使用open()函数来打开文件,如果文件打开成功,则该函数的返回值是( A )。p224

A. 文件描述符 B. 文件进程号 D. 1 D. 0

4、大多数bootloader都分为stage1和stage2两个阶段,依赖于处理器体系结构和板级初始化代码通常放在stage1阶段,用( )实现。

A. C语言 B. 汇编语言 C. C++语言 D. Java语言 5、编写Linux设备驱动程序时,不需要考虑的接口是( )。

A. 与系统引导的接口 B. 与具体设备的接口 C. 与Linux内核的接口 D. 与应用程序的接口 6、下列不属于嵌入式操作系统的是( )。

A. Windows XP B. Windows CE C. VxWorks D. 嵌入式Linux 7、在用ls –l命令查看文件属性时,字符设备文件类型的标志是( )

A、b B、c C、s D、l

8、下列提法中,不属于ifconfig命令的作用范围的是( )

A、配置本地回环地址 B、配置网卡的IP地址 C、激活网卡适配器 D、加载网卡到内核中

9、存储一个32位数0x876165到2000H~2003H四个字节单元中,若以小端模式存储,则2000H单元的内容为( )

A、0x00 B、0x87 C、0x65 D、0x61 10、ARM有两种工作状态,具体是( )。

A. 大端模式和小端模式 B. ARM状态和Thumb状态 C. 特权状态和用户状态 D.用户模式和系统模式

11、Linux系统下,下列能对文件进行压缩或解压缩的命令是( )。

A. tar命令 B. bz2命令 C.diff命令 D. patch命令 12、下列选项中,vi编辑器不包含的工作模式是( )。

A. 图形模式 B. 命令模式 C. 插入模式 D. 末行命令模式

13、GCC编译器的操作选项较多,如果希望编译生成的可执行程序包含调试信息,则应使用的选项是( )。

A. –E B. –o C. –c D. –g

14、Makefile文件主要包含三种字段,下列选项中不是Makefile文件字段的是( )。

A. 目标体 B. 依赖体 C. 命令 D. 模式规则 15、下列不是嵌入式系统特点的是( )。

A. 系统内核小 B. 专用性强 C. 可靠性要求高 D. 实时性要求不高 16、典型的嵌入式处理器不包括下列选项中的( )。

A. 嵌入式微处理器 B. 嵌入式微控制器 C. 嵌入式计算机 D.嵌入式DSP处理器

17、Shell系统变量中,用于表示前一个命令或函数的返回值的是( )

A. $1 B. $# C. $? D. $0

18、S3C2410X处理器片内不包含的功能模块是( )。

A. LCD控制器 B. ADC模块 C.UART模块 D.CRT模块 19、硬盘分区中,用于安装操作系统的是( )。

A. swap交换分区 B. 逻辑分区 C. 主分区 D. 扩展分区

20、对于Linux操作系统,用于存放操作系统启动时所要用到的程序的目录是( )。

A. /sys B. /boot C. /usr D. /root

21、Linux系统下,用于查看当前目录下有哪些文件的命令是( )。

A. ls命令 B. cat命令 C. su命令 D. mount命令

22、在Linux的Shell命令行提示符下,输入expr substr ―This is a test‖ 3 5,该命令执行的结果是( )。

A. is is B. 35 C. test D. substr

23、向无任何程序的目标机中写入BootLoader程序所使用的接口是( )

A. 串口 B. JTAG C. Ethernet D. USB

24、Linux下的设备驱动有三种类型,下列选项中不包括的是( )。

A. 字符设备 B. 块设备 C. 网络设备 D. 文件系统 25、在Linux环境下,用于创建一个文件的函数是( )。

A. open() B. read() C. write() D. lseek() 26、嵌入式软件层次结构中,处于最底层的是( )。

A. 驱动程序 B. 操作系统 C. API接口 D.应用程序 27、S3C2410A处理器的工作电源包括( )。

A. 5V和3.3V B. 5V和2.5V C. 3.3V和1.8V D. 2.5V和1.8V 28、对于Linux操作系统,超级用户登录时的主目录是( )。

A. /sys B. /boot C. /usr D. /root

29、按照2010年中国电子学会的统计,目前在市面上应用最为广泛的嵌入式操作系统是( )。

A. 嵌入式Linux B. Windows CE C.Sybian D.VxWorks 30、ARM体系结构中,增加长乘指令的是( )。

A. T变种 B. M变种 C. E变种 D. J变种

31、作为32位处理器,ARM体系结构所支持的最大寻址空间是( )。

A. 32GB B.16GB C. 4GB D.1GB 32、Linux系统下,可用来修改文件名的命令是( )。

A. cp命令 B. rm命令 C. mv命令 D. pwd命令 33、U-Boot的主要功能不包括下列选项中的( )。

A. 系统引导 B. 设备驱动 C. 上电自检 D. 系统复位 34、QT/Embedded的底层图形引擎基于下列哪种接口技术( )。

A. framebuffer B. GAL D. IAL D. GFX

35、编译Linux内核时,进入配置界面所使用的命令是( )。

A. vi Makefile B. make Makefile C. make menuconfig D.make Linux 36、vi编辑器末行模式下的存盘退出命令是( )。

A. :q B. :q! C. :wq D. :w!

37、GCC编译器的编译过程中,涉及到函数库使用的是( )。

A.预处理阶段 B编译阶段 C. 汇编阶段 D. 连接阶段 38、Linux操作系统为管理进程而设置的一个特殊的数据结构是( )。

A. 进程标识 B. 进程状态 C. 进程控制块 D. 进程号

39、在Linux环境下,可以用来使进程挂起等待指定时间(单位为秒)的系统调用函数是( )

A. wait() B. Waitpid() C. sleep() D. exec()

40、用户运行计算机里的office软件,并同时打开doc1和doc2两篇文档,请问doc1和doc2文档是office软件的( )。

A. 进程 B. 子进程 C. 父进程 D. 线程

41、QT图形界面设计中,用于对象之间的通信机制是( )。

A. 图形设计器 B. 信号和槽 C. 类库 D. ui文件

42、对名为fido的文件用chmod 551 fido 进行了修改,则它的许可权是( ) 。

A、-rwxr-xr-x B、-rwxr—r-- C、-r--r—r-- D、-r-xr-x--x 43、嵌入式Linux开发中使用GDB调试,说法错误的是:( )

A.GDB程序在宿主机上运行 B. 需要使用远程调试模式

C.需要交叉编译GDBServer D. 被调试程序在宿主机上运行 44、S3C2410X处理器采用的ARM内核是( )。

A. ARM720T B. ARM920T C. ARM7TDMI D. ATM922T 45、Linux系统下,下列能显示文件内容的命令是( )。

A. ls命令 B. cat命令 C. su命令 D. mount命令 46、下面不属于嵌入式操作系统的特征的是( )。

A. 可靠性 B. 实时性 C. 可裁剪性 D. 分时操作 47、Linux Shell中,用于查看当前内存使用情况的命令是( )。

A. ls命令 B. cat命令 C. free命令 D. rm命令 二、填空题

1、进程间最高效的进程通信方式是______________。

2、如果vi编辑器当前处于插入模式,敲击键盘上的__________键可进入命令模式。

3、大多数bootloader都包含两种不同的操作模式,具体是______________和下载模式。

4、在Linux系统里,加载和驱动模块卸载驱动模块所使用的操作命令分别是____________和________________。

5、在Linux系统的当前目录下有一个hello文件,如果想把该文件的读、写和执行权限对所有用户开放,应该使用的命令是__________________。

6、Linux是一个多用户系统,其中把具有超级权限的用户称为_________。 7、Linux文件属性的第一个字符显示文件的类型,如果该字符为c,则表明该文件是____________文件。

8、在Linux系统的当前目录下有一个hello.c文件,如果用gcc编译器编译成带gdb调试信息的hello文件,应该使用的命令是_________________。

9、免费的常见嵌入式操作系统包括_____________和_____________。 10、在Linux环境下,用于关闭一个打开的文件所使用的函数是________。

11、在Linux环境下,用于获得当前进程的PID和PPID的系统调用函数分别是__________和_________。

12、处于阻塞状态的进程因等待的事件发生而被唤醒后,该进程转而进入_____状态。

13、在使用gdb调试程序时,经常使用单步运行,如果碰到有函数调用时,希望进入该函数,而不是跳过函数的单步运行命令是____________。

14、S3C2410A处理器是Samsung推出的一款_________位的RISC处理器。

15、在编写Makefile文件时,每一条命令的第一个字符必须是_______,不能使用空格符代替。

16、Linux进程之间的通信方式包括________、消息队列、____________和共享内存等方式。

17、结束进程的命令是 。

18、进行远程登录的命令是 。 19、使用gcc编译c程序生成可执行文件有时似乎是一步完成的,但实际要经历如下四步:预处理、编译、汇编和 。 四、简答题

1、请说明进程间常见的通信方式有哪些,并简述其工作方式。 2、建立嵌入式交叉开发环境需要哪些组件? 3、Linux进程通常有哪些状态?并用图形的方式表示出各个状态之间的切换关系和切换条件。

4、 简述BootLoader的作用。

5、简述嵌入式系统的概念、组成及特点。 6、简述Linux设备驱动程序的特点。 五、程序阅读题(共计20分)

1、当前目录下有test.c文件,程序清单如下。若该程序编译后的运行进程号是2222,父进程号是2221,请写出程序运行结果。

/*test.c程序清单*/ #include ―main.h‖ int main() {

printf(\ printf(\}

程序运行结果:

2、当前目录下有_exit.c文件,程序代码清单如下,请写出该程序的执行结果。假设当前的提示符为[root@vm-dev test]# (4分)

/*_exit.c程序清单*/ #include #include int main() {

printf(\

printf(\ _exit(0); }

程序运行结果:

3、请写出下列这段Shell脚本程序的运行结果(4分)

for day in Monday Wednesday Friday Sunday do echo $day

done

程序运行结果:

4、设/tmp/hello.c文件存在,其文件描述符是3,main.h已经包含了该段程序所需要的所有头文件。请写出执行结果。(6分)

#include “main.h” int main(void) {

int fd;

if((fd = open(\ O_CREAT | O_TRUNC | O_WRONLY, 600 ))<0) {

Printf(\ exit(1); }

else printf(\ if( close(fd) < 0 ) {

Printf(\ exit(1); }

else printf(\ exit(0); }

程序运行结果:

5、当前目录下有目录文件hello和shell脚本文件test.sh,子目录hello下依次有目录文件abc和源程序文件xyz.c,test.sh和xyz.c程序清单如下:请写出test.sh脚本文件的执行结果。(10分)

//test.sh程序清单 dir=hello if [ -d $dir ] then

cd $dir

for name in `ls` do

if [ -f $name ] then cat $name

echo \

else echo \ fi done

else echo \fi

//xyz.c程序清单 #include int main()

{

printf(\ return 0; }

程序运行结果:

六、编程题(共15分)

1、假设在当前目录下有hello.c和hello.h两个文件,其代码如下:请写出相应的Makefile文件,要求生成的目标是hello,并通过伪目标clean能删除hello.c和hello.h。(6分)

/*hello.c*/

#include \int main() {

printf(\}

/*hello.h*/

#include

2、一个程序有main函数,func函数和头文件func.h实现,请写一个makefile来完成该程序的编译。要求将main.c编译生成目标main.o,fun.c编译生成func.o,将main.o和func.o编译生成main,伪目标可删除main.c、func.c和func.h文件。 ⑴//func.c程序清单 #include ―fun.h‖

int max_func(int x,int y) {

if(x>=y) return x; else

return y }

⑵//main.c程序清单 #include ―func1.h‖ int main(void) {

int a,b;

printf(―please enter the number a an b\\n‖); scanf(―%d %d‖,&a,&b) int max=0

max=max_fun(a,b); return 0; }

⑶//func.h程序清单

#include

extern int max_fun(int x,int y)

3、请编写两个应用程序,分别使用exit()和_exit()函数来终止进程,并说明在程序运行结果中如何体现exit()和_exit()函数的不同之处。(9分)

本文来源:https://www.bwwdw.com/article/m152.html

Top