《嵌入式系统期末考试试卷-习题.pdf》由会员分享,可在线阅读,更多相关《嵌入式系统期末考试试卷-习题.pdf(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1下面哪一种工作模式不属于ARM 特权模式(A)。A用户模式B系统模式C软中断模式DFIQ 模式2ARM7TDMI 的工作状态包括(D)。A测试状态和运行状态B挂起状态和就绪状态C就绪状态和运行状态DARM 状态和 Thumb 状态3下面哪个 Linux 操作系统是嵌入式操作系统(B).ARed-hat LinuxBuclinuxCUbuntu LinuxDSUSE Linux4使用 Host-Target联合开发嵌入式应用,(B)不是必须的。A宿主机B银河麒麟操作系统C目标机D交叉编译器5下面哪个不属于 Linux 下的一个进程在内存里的三部分的数据之一(A)。A寄存器段B代码段C堆栈段D数
2、据段选择题(共 5 小题,每题 2 分,共 10 分)1下面哪个系统属于嵌入式系统(D)。A“天河一号计算机系统BIBMX200 笔记本电脑C联想 S10 上网本DIphone 手机2在 Makefile 中的命令必须要以(A)键开始.ATab键B号键C空格键D&键3Linux 支持多种文件系统,下面哪种不属于 Linux 的文件系统格式(B).AExtBFAT32CNFSDExt34下面哪种不属于 VI 三种工作模式之一(D)。A命令行模式B插入模式C底行模式D工作模式5下面哪一项不属于 Linux 内核的配置系统的三个组成部分之一(C)。AMakefileB配置文件(config.in)C
3、makemenuconfigD配置工具1人们生活中常用的嵌入式设备有哪些?列举 4 个以上(1)手机,(2)机顶盒,(3)MP3,(4)GPS.(交换机、打印机、投影仪、无线路由器、车载媒体、PDA、GPS、智能家电等等。)2 ARM9 处理器使用了五级流水线,五级流水具体指哪五级:(5)取指,(6)译码(,7)执行,(8)缓冲/数据,(9)回写。3在 Makefile 中的命令必须要以(10)Tab键开始。4 Linux 支持多种文件系统,主要包括哪些(写出其中 4 中就行)(11)Ext,(12)VFAT,(13)JFS,(14)NFS.(JFS、ReiserFS、Ext、Ext2、Ext
4、3、ISO9660、XFS、Minx、MSDOS、UMSDOS、VFAT、NTFS、HPFS、NFS、SMB、SysV、PROC 等)5VI 的工作模式有哪三种:(15)命令行模式,(16)插入模式,(17)底行模式。第1页(共 4 页)6 Linux 下的一个进程在内存里包括三部分的数据,它们是:(18)代码段,(19)堆栈段,(20)数据段。1目前使用的嵌入式操作系统主要有哪几种(1)Linux,(2)Windows CE,(3)uc/OS II,(4)Android.(或 VxWorks,Palm OS,QNX,Symbian 等)2 如果按用途划分,嵌入式微处理器可分为哪类_(5)嵌入
5、式微控制器(MCU),又称为单片机_,_(6)嵌入式微处理器(EMPU)_,_(7)_嵌入式 DSP 处理器_,_(8)嵌入式片上系统(SOC)_。3ARM 核有两个指令集,分别是:_(9)ARM 指令集_和 _(10)Thumb 指令集_.4Makefile 里主要包括的语法规则有哪些:(11)显式规则,(12)隐晦规则,(13)变量定义,(14)文件指示,(15)注释。5大多数 Bootloader 都包含两种不同的操作模式,分别是:(16)启动加载模式,(17)下载模式。6Linux 内核的配置系统由三部分组成,它们分别是:(18)Makefile,(19)配置文件(config。in)
6、,(2)配置工具.RISC:reduced instruction set computer,精简指令集计算机MCU:Micro Controller Unit,微控制单元DSP:Digital Signal Processor,【电脑】数字信号处理器ROM:read-only memory,【电脑】只读存储器SWI:Software InterruptPC:程序计数器IRQ:外部中断请求NFS:Network File System网络文件系统SOC:System On Chip,片上系统CPSR:当前程序状态寄存器ICE:In Circuit Emulator,实时在线仿真器MMU:Mem
7、ory Management Unit,内存管理单元FIQ:快速中断请求VFS:虚拟文件系统IPC:Inter-Process Communication内部进程间通信IR:指令寄存器1、嵌入式开发环境主要包括哪些组件?答:嵌入式系统开发需要交叉编译和在线调试的开发环境,主要包括l 宿主机l 目标机(评估电路板)l 基于 JTAG 的 ICD 仿真器、或调试监控软件、或在线仿真器 ICEl 运行于宿主机的交叉编译器和链接器、以及开发工具链或软件开发环境l 嵌入式操作系统2、什么是嵌入式系统,嵌入式系统同 PC 系统相比具有哪些特点?根据电气工程师协会的定义,嵌入式系统(Embedded Sys
8、tem)是用来控制或者监视机器、装置、工厂等大规模系统的设备。一般认为嵌入式系统是以应用为中心,以计算机技术为基础,其软/硬件可裁减,可满足应用系统对功能、可靠性、成本、体积、功耗的严格要求的专用计算机系统。(1)嵌入式系统功耗低、体积小、专用性强。嵌入式系统与 PC 系统的最大不同就是嵌入式 CPU 大多工作在为特定用户群设计的系统中,能够把 PC 系统中许多由板卡完成的任务集成在芯片内部,从而使系统设计趋于小型化。(2)嵌入式系统中的软件一般都固化在存储器芯片或单片机芯片中,以提高执行速度和系统可靠性。(3)嵌入式系统的硬件和软件都经过精心设计,系统精简,其操作系统一般和应用软件集成在一起
9、。(4)软件代码质量要求高.(5)嵌入式系统开发需要专门的开发工具和开发环境。3、嵌入式硬件系统一般由哪几部分组成?其核心是什么?核心由哪几部分组成?他们之间的关系是怎样的(请用图表示出来)?嵌入式硬件系统一般由嵌入式微处理器、存储器和输入/输出部分组成.其中嵌入式微处理器是嵌入式硬件系统的核心,通常由三大部分组成:控制单元、算术逻辑单元和寄存器。第2页(共 4 页)算数逻辑单元输入控制单元寄存器输出存储器4.Boot Loader 在嵌入式系统中主要起什么作用?完成哪些主要的工作?Boot Loader 是在操作系统运行之前执行的一段程序,通过这段程序,初始化硬件设备,建立内存空间的映射表,
10、从而建立适当的系统软硬件环境,为最终调用操作系统内核做好准备。Boot Loader 的 stage1 通常包括以下工作1硬件设备初始化2.加载 Bootloader 的 stage2 准备 ARM 空间3。拷贝 Bootloader 的 stage2 到 RAM 空间中4 设置堆栈5 跳转到 stage2 的 C 入口点Boot Loader 的 stage2 通常包括以下工作1 初始化本阶段要使用到的硬件设备2 检测系统内存映射3 将内核映像和根文件系统映像从 flash 设备上复制到 RAM 空间中4 设置内核启动参数5 调用启动内核2、在进行嵌入式开发中,编写了一个多文件程序,其中包括
11、main.c,lan.c,lan.h,timer.c,timer。h,pic。c,pic.h,主程序在 main.c 中;生成目标文件确定为 fzxy_jk_ks,要求尽可能多的使用隐含规则,需要包括为目标命令,能够使用make clean 进行中间文件的清理。MAIN=jk_qz_testOBJS=main。o lan。o timer.o pic。oCC=gccINCDIRS=-I。CFLAGS=-Wall-O2g(INCDIRS)LIBSLINK=-lpthreadDEBUG_FLAG=。SUFFIXES=.o。c(MAIN):OBJSCC-o$(CFLAGS)DEBUG_FLAG$OBJ
12、S(LIBSLINK).o:(CC)g$(CFLAGS)-c$clean:/bin/rm f core*.o2、通过创建两个线程来实现对一个数的递加。要求通过int main()函数分别调用 void thread1(),void*thread2(),void thread_create(void),voidthread_wait(void)实现,得到的运行结果如下:include stdio.h#include string。h第3页(共 4 页)include define MAX 10pthread_t thread2;pthread_mutex_t mut;int number=0,i
13、;void thread1()printf(thread1:Im thread 1n);for(i=0;i MAX;i+)printf(”thread1:number=dn,number);pthread_mutex_lock(&mut);number+;pthread_mutex_unlock(&mut);sleep(2);printf(”thread1:主函数在等我完成任务吗?n);pthread_exit(NULL);void*thread2()printf(thread2:Im thread 2n);for(i=0;i MAX;i+)printf(thread2:number=dn,n
14、umber);pthread_mutex_lock(mut);number+;pthread_mutex_unlock(&mut);sleep(3);printf(”thread2:主函数在等我完成任务吗?n);pthread_exit(NULL);void thread_create(void)int temp;memset(thread,0,sizeof(thread));/comment1/创建线程/if((temp=pthread_create(thread0,NULL,thread1,NULL)!=0)/comment2printf(线程 1 创建失败!n”);else printf
15、(”线程 1 被创建n”);if(temp=pthread_create(thread1,NULL,thread2,NULL))!=0)/comment3printf(”线程 2 创建失败”);else printf(线程 2 被创建n);void thread_wait(void)/等待线程结束*/if(thread0!=0)/comment4pthread_join(thread0,NULL);printf(”线程 1 已经结束n);if(thread1!=0)/comment5pthread_join(thread1,NULL);printf(”线程 2 已经结束n”);int main()/用默认属性初始化互斥锁*/pthread_mutex_init(&mut,NULL);第4页(共 4 页)printf(我是主函数哦,我正在创建线程,呵呵n);thread_create();printf(我是主函数哦,我正在等待线程完成任务阿,呵呵n”);thread_wait();return 0;第5页(共 4 页)
限制150内