第1页(共页)班级(学生填写):姓名:学号:命题:符秋丽审题:审批:-----------------------------------------------密----------------------------封---------------------------线-------------------------------------------------------(答题不能超出密封线)2011∼2012学年第一学期嵌入式系统科目考试试题A卷使用班级(老师填写):计算机08-1,2班考务电话:2923688题号一二三四五六七八九总分得分阅卷人一.填空题(每空1分,共20分)1.嵌入式微处理器一般可分为、、和四种类型。2.嵌入式存储系统具有和两种数据存放格式。3.从编程的角度看,ARM微处理器一般有和两种工作状态。4.ARM微处理器有种工作模式,它们分为两类:和,其中用户模式属于。5.ARM微处理器复位后,PC(R15)的地址通常是,初始的工作模式是。6.嵌入式开发一般采用方式,其中宿主机一般是指。7.哈佛体系结构数据空间和地址空间,ARM7TDMI采用的内核架构。8.ARM7TDMI采用级流水线结构,ARM920TDMI采用级流水线。二。选择题(每题1分,共20分)1.ADDR0,R1,#3属于()寻址方式。A、立即寻址B、多寄存器寻址C、寄存器直接寻址D、相对寻址2.存储一个32位数0x876165到2000H~2003H四个字节单元中,若以小端模式存储,则2003H存储单元的内容为()A、0x00B、0x87C、0x65D、0x613.Bootloader的stage2通常使用C语言实现,以完成复杂的功能,并增加可读性和可移植性,以下哪一步骤属于stage2的内容:()A、为加载Bootloader的stage2准备RAM空间B、设置好堆栈C、硬件设备初始化D、将kernel影像和根文件系统映像从flash上读到RAM空间中4.若R1=2000H,(2000H)=0x86,(2008H)=0x39,则执行指令LDRR0,[R1,#8]!后R0的值为()A、0x2000B、0x86C、0x2008D、0x395.寄存器R13除了可以做通用寄存器外,还可以做()A、程序计数器B、链接寄存器C、栈指针寄存器D、基址寄存器第2页(共页)6.FIQ中断的入口地址是()A、0x0000001CB、0x00000008C、0x00000018D、0x000000147.ARM指令集和Thumb指令集分别是()位的。A、8位,16位B、16位,32位C、16位,16位D、32位,16位8.ARM寄存器组有()个寄存器。A、7B、32C、6D、379.要配置NFS服务器,在服务器端主要配置()文件。A、/etc/rc.d/rc.inet1B、/etc/rc.d/rc.mC、/etc/exportsD、/etc/rc.d/rc.S10.在Linux系统中,下列哪个命令可以用来加载模块()。A、insmodB、loadC、initD、installmod11.Linux中删除文件命令为:()。A、mkdirB、rmdirC、mvD、rm12.NFS是()系统。A、文件B、磁盘C、网络文件D、操作13.Linux中切换用户登录命令的是:()。A、psB、suC、killD、changeuser14.下列哪个命令以文本菜单方式界面配置内核选项:()。A、makemenuconfigB、makexconfigC、makeconfigD、makeimproper15.在ARM处理器的各种工作模式中,()模式无法访问一些被保护的系统资源。A、用户模式B、系统模式C、中断模式D、终止模式16.存放linux源代码的目录是()。A、/etcB、/usr/srcC、/usrD、/home17.中断向量是指()。A、中断断点的地址B、中断向量表起始地址C、中断处理程序入口地址D、中断返回地址18.如果Bootloader、内核、启动参数以及其他的系统映像四部分在固态存储设备独立存放,则其存储结构的分配顺序应当是()。A、文件系统、内核、启动参数、BootloaderB、启动参数、Bootloader、内核、文件系统C、Bootloader、启动参数、内核、文件系统D、Bootloader、内核、启动参数、文件系统19.以下叙述中正确的是()。A、在嵌入式系统开发中,通常采用的是交叉编译器。B、宿主机与目标机之间只需要建立逻辑连接即可。C、在嵌入式系统中,调试器与被调试程序一般位于同一台机器上。D、宿主机与目标机之间的通信方式只有串口和并口两种。20.在CPU和物理内存之间进行地址转换时,()将地址从虚拟(逻辑)地址空间映射到第3页(共页)班级(学生填写):姓名:学号:------------------------------------------------密----------------------------封---------------------------线-----------------------------------------(答题不能超出密封线)物理地址空间。A、TCBB、MMUC、CHCHED、DMA三.判断题(每题1分,共10分)1.嵌入式系统是看不见的计算机系统,其开发环境和运行环境一致。()2.在LINUX系统中,所有的内容都表示成文件,组织文件的各种方法便成为不同的文件系统。()3.ARM处理器是典型的CISC体系。()4.NandFlash的特点是应用程序可以直接在闪存中运行,不需要把代码读到系统RAM中。()5.Linux中的ls命令的功能是变换工作目录到目标制定目录。()6.Bootloader是嵌入式系统运行的第一个程序。()7.由于ARM体系结构采用了多级流水线技术,因此对于ARM指令而言,PC总是指向当前指令的下一条指令的地址,即PC的值为当前指令的地址加1个字节。()8.移植操作系统时需要修改操作系统中与处理器直接相关的程序。()9.ARM处理器的运行模式可通过中断或异常处理改变。()10.嵌入式系统在开发过程中,下载bootloader采用Jtag接口,而下载嵌入式操作系统镜像文件时一般采用串口或者网口。()四.简答题(每题4分,共20分)1.ARM处理器有几种工作状态,各自的特点是什么?工作状态之间如何进行转换,异常响应时,处理器处于何种状态。2.什么是初始化程序?bootloader的作用是什么?3.ARM处理器一共有几种中工作模式,分别是?哪种模式下,专业寄存器最多。4.开发环境的搭建主要包括哪些步骤?以及怎样配置NFS服务?第4页(共页)4.答:搭建Linux开发环境、简历交叉编译环境、配置Minicom、TFTP以及NFS服务。安装NFS软件包:#apt-getinstallportmapnfs-kernel-server#apt-getinstallportmapnfs-common编辑/ect/exports,添加要共享的目录/source/rootfs*(rw,sync,no_root_squash)把开发板配置的根文件系统拷贝到共享目录:/souce/rootfs下重启NFS服务:#/etc/init.d/portmaprestart#/etc/init.d/nfs-kernel-serverrestart5.怎样构建根文件系统的内容?5.答:Linux的根文件系统包括支持linux系统正常运行的基本内容,至少应包括以下几项内容:基本的文件系统结构,如bin、dev、etc、sbin、lib、usr、proc;基本程序运行所需的动态库基本的系统配置文件;必要的设备文件支持基本的应用程序,如sh、cp、ls等五.编程题(每题10分,共20分)1.以深圳英培特S3C2410实验平台为例,利用S3C2410X的GPF4、GPF5、GPF6、GPF7四个I/O管脚控制4个LED发光二极管,使其有规律的闪烁。电路连接LED_1~LED_4分别与GPF7~GPF4相连通过GPF7~GPF4引脚的高低电平来控制发光二极管的亮与灭。当这几个引脚输出高电平的时候发光二极管熄灭,当这几个引脚输出低电平的时候发光二极管点亮。寄存器设置为了实现控制LED的目的,需要通过配置GPFCON寄存器将GPF4、GPF5、GPF6、GPF7设置为输出属性。如:配置GPFCON[9:8]两位为“01”,可实现将GPF4设置为输出属性。通过设置GPFDAT寄存器实现点亮与熄灭LED。如:配置GPFDAT[4]为“0”,第5页(共页)班级(学生填写):姓名:学号:------------------------------------------------密----------------------------封---------------------------线-----------------------------------------(答题不能超出密封线)可实现点亮LED4。配置GPFDAT[4]为“1”,可实现关闭LED4。对于本题来说,GPFUP可以不用设置。电路原理图如下图所示:按照以上要求,编写出控制LED的程序。#include2410lib.h#definerGPFCON(*(volatileunsigned*)0x56000050)//端口F的控制寄存器#definerGPFDAT(*(volatileunsigned*)0x56000054)//端口F的数据寄存器#definerGPFUP(*(volatileunsigned*)0x56000058)//端口F的上拉控制寄存器voidport_init(void){//===PORTFGROUP//端口:GPF7GPF6GPF5GPF4GPF3GPF2GPF1GPF0//信号:LED_1LED_2LED_3LED_4PS2_INTCPLD_INT1KEY_INTBUT_INT1//设置属性:OutputOutputOutputOutputEINT3EINT2EINT1EINT0//二进制值:0101,0101,1010,1010rGPFCON=0x55aa;rGPFUP=0xff;//GPF所有端口都不加上拉电阻}voidled_on(void)第6页(共页){inti,nOut;nOut=0xF0;rGPFDAT=nOut&0x70;//点亮LED1for(i=0;i100000;i++);rGPFDAT=nOut&0x30;//点亮LED1LED2for(i=0;i100000;i++);rGPFDAT=nOut&0x10;//点亮LED1LED2LED3for(i=0;i100000;i++);rGPFDAT=nOut&0x00;//点亮LED1LED2LED3LED4for(i=0;i100000;i++);}voidled_off(void){inti,nOut;nOut=0;rGPFDAT=0;for(i=0;i100000;i++);rGPFDAT=nOut|0x80;//关闭LED1for(i=0;i100000;i++);rGPFDAT|=nOut|0x40;//关闭LED2for(i=0;i100000;i++);rGPFDAT|=nOut|0x20;//关闭LED3for(i=0;i100000;i++);rGPFDAT|=nOut|0x10;//关闭LED4for(i=0;i100000;i++);}voidled_on_off(void){inti;rGPFDAT=0;//所有LED全亮for(i=0;i100000;i++);rGPFDAT=0xF0;//所有LED全灭for(i=0;i100000;i++);}voidled_test(void){led_on();led_off();led_on_off();第7页(共页)d