嵌入式系统试卷--A卷(共9页).doc
精选优质文档-倾情为你奉上班级(学生填写): 姓名: 学号:命题:符秋丽 审题: 审批: -密-封-线- (答题不能超出密封线)2011 2012 学年第 一 学期 嵌入式系统 科目考试试题A卷使用班级(老师填写):计算机08-1,2班 考务电话:题 号一二三四五六七八九总 分得 分阅卷人一 填空题(每空1分,共20分)1 嵌入式微处理器一般可分为 、 、 和 四种类型。2 嵌入式存储系统具有 和 两种数据存放格式。3 从编程的角度看,ARM微处理器一般有 和 两种工作状态。4 ARM微处理器有 种工作模式,它们分为两类: 和 ,其中用户模式属于 。5ARM微处理器复位后,PC(R15)的地址通常是 ,初始的工作模式是 。6嵌入式开发一般采用 方式,其中宿主机一般是指 。7哈佛体系结构数据空间和地址空间 ,ARM7TDMI采用 的内核架构。8ARM7TDMI采用 级流水线结构,ARM920TDMI采用 级流水线。 二 。选择题(每题1分,共20分)1ADD R0,R1,#3属于( )寻址方式。A、立即寻址 B、多寄存器寻址 C、寄存器直接寻址 D、相对寻址 2 存储一个32位数0x到2000H2003H四个字节单元中,若以小端模式存储,则2003H存储单元的内容为( )A、0x00 B、0x87 C、0x65 D、0x613Bootloader的stage2通常使用C语言实现,以完成复杂的功能,并增加可读性和可移植性,以下哪一步骤属于stage2的内容:( )A、为加载Bootloader的stage2准备RAM空间B、设置好堆栈C、硬件设备初始化D、将kernel影像和根文件系统映像从flash上读到RAM空间中4若R1=2000H,(2000H)=0x86,(2008H)=0x39,则执行指令LDR R0,R1,#8!后 R0的值为( )A、0x2000 B、0x86 C、0x2008 D、0x395寄存器R13除了可以做通用寄存器外,还可以做( ) A、程序计数器 B、链接寄存器 C、栈指针寄存器 D、基址寄存器 6FIQ中断的入口地址是( ) A、0xC B、0x C、0x D、0x7ARM指令集和Thumb指令集分别是( )位的。 A、8位,16位 B、16位,32位 C、16位,16位 D、32位,16位 8ARM寄存器组有( )个寄存器。 A、7 B、32 C、6 D、379要配置NFS服务器,在服务器端主要配置( )文件。 A、 /etc/rc.d/rc.inet1 B、/etc/rc.d/rc.m C、 /etc/exports D、/etc/rc.d/rc.S10在Linux系统中,下列哪个命令可以用来加载模块( )。 A、 insmod B、load C、init D、installmod11Linux中删除文件命令为:( )。 A、mkdir B、rmdir C、mv D、rm12NFS是( )系统。 A、 文件 B、磁盘 C、网络文件 D、操作13Linux中切换用户登录命令的是:( )。 A、ps B、su C、kill D、changeuser14下列哪个命令以文本菜单方式界面配置内核选项:( )。 A、make menuconfig B、make xconfig C、 make config D、make improper15在ARM处理器的各种工作模式中,( )模式无法访问一些被保护的系统资源。 A、用户模式 B、系统模式 C、中断模式 D、终止模式16存放linux源代码的目录是( )。 A、 /etc B、/usr/src C、 /usr D、/home17中断向量是指( )。 A、中断断点的地址 B、中断向量表起始地址 C、中断处理程序入口地址 D、中断返回地址 18如果Bootloader、内核、启动参数以及其他的系统映像四部分在固态存储设备独立存放,则其存储结构的分配顺序应当是( )。 A、文件系统、内核、启动参数、Bootloader B、启动参数、Bootloader、内核、文件系统 C、Bootloader、启动参数、内核、文件系统 D、Bootloader、内核、启动参数、文件系统19以下叙述中正确的是( )。 A、在嵌入式系统开发中,通常采用的是交叉编译器。 B、宿主机与目标机之间只需要建立逻辑连接即可。 C、在嵌入式系统中,调试器与被调试程序一般位于同一台机器上。 D、宿主机与目标机之间的通信方式只有串口和并口两种。20在CPU和物理内存之间进行地址转换时,( )将地址从虚拟(逻辑)地址空间映射到物理地址空间。班级(学生填写): 姓名: 学号: -密-封-线- (答题不能超出密封线) A、TCB B、MMU C、CHCHE D、DMA三判断题(每题1分,共10分)1嵌入式系统是看不见的计算机系统,其开发环境和运行环境一致。( )2在LINUX系统中,所有的内容都表示成文件,组织文件的各种方法便成为不同的文件系统。( )3ARM处理器是典型的CISC体系。( )4Nand Flash的特点是应用程序可以直接在闪存中运行,不需要把代码读到系统RAM中。( )5Linux中的ls命令的功能是变换工作目录到目标制定目录。( )6Bootloader是嵌入式系统运行的第一个程序。( )7由于ARM体系结构采用了多级流水线技术,因此对于ARM指令而言,PC总是指向当前指令的下一条指令的地址,即PC的值为当前指令的地址加1个字节。( )8移植操作系统时需要修改操作系统中与处理器直接相关的程序。( )9ARM处理器的运行模式可通过中断或异常处理改变。( )10嵌入式系统在开发过程中,下载bootloader采用Jtag接口,而下载嵌入式操作系统镜像文件时一般采用串口或者网口。( )四简答题 (每题4分,共20分)1ARM处理器有几种工作状态,各自的特点是什么?工作状态之间如何进行转换,异常响应时,处理器处于何种状态。2什么是初始化程序?bootloader的作用是什么?3 ARM处理器一共有几种中工作模式,分别是?哪种模式下,专业寄存器最多。4开发环境的搭建主要包括哪些步骤?以及怎样配置NFS服务?4答:搭建Linux开发环境、简历交叉编译环境、配置Minicom、TFTP以及NFS服务。安装NFS软件包:#apt-get install portmap nfs-kernel-server#apt-get install portmap nfs-common编辑/ect/exports,添加要共享的目录/source/rootfs *(rw,sync,no_root_squash)把开发板配置的根文件系统拷贝到共享目录: /souce/rootfs下重启NFS服务:#/etc/init.d/portmap restart#/etc/init.d/nfs-kernel-server restart5 怎样构建根文件系统的内容?5答:Linux的根文件系统包括支持linux系统正常运行的基本内容,至少应包括以下几项内容:u 基本的文件系统结构,如bin、dev、etc、sbin、lib、usr、proc;u 基本程序运行所需的动态库u 基本的系统配置文件;u 必要的设备文件支持u 基本的应用程序,如sh、cp、ls 等五编程题(每题10分,共20分)1以深圳英培特S3C2410实验平台为例,利用S3C2410X的GPF4、GPF5、GPF6、GPF7四个I/O管脚控制4个LED发光二极管,使其有规律的闪烁。 电路连接 LED_1LED_4分别与GPF7GPF4相连 通过GPF7GPF4引脚的高低电平来控制发光二极管的亮与灭。 当这几个引脚输出高电平的时候发光二极管熄灭, 当这几个引脚输出低电平的时候发光二极管点亮。 寄存器设置 为了实现控制LED的目的,需要通过配置GPFCON寄存器将GPF4、GPF5、GPF6、GPF7设置为输出属性。如:配置GPFCON9:8两位为“01”,可实现将GPF4设置为输出属性。 通过设置GPFDAT寄存器实现点亮与熄灭LED。如:配置GPFDAT4为“0”,可实现点亮LED4。配置GPFDAT4为“1”,可实现关闭LED4。 对于本题来说,GPFUP可以不用设置。 电路原理图如下图所示:班级(学生填写): 姓名: 学号: -密-封-线- (答题不能超出密封线)按照以上要求,编写出控制LED的程序。 #include "2410lib.h"#define rGPFCON (*(volatile unsigned *)0x) /端口F的控制寄存器#define rGPFDAT (*(volatile unsigned *)0x) /端口F的数据寄存器#define rGPFUP (*(volatile unsigned *)0x) /端口F的上拉控制寄存器void port_init(void)/= PORT F GROUP/端口: GPF7 GPF6 GPF5 GPF4 GPF3 GPF2 GPF1 GPF0/信号: LED_1 LED_2 LED_3 LED_4 PS2_INT CPLD_INT1 KEY_INT BUT_INT1/设置属性: Output Output Output Output EINT3 EINT2 EINT1 EINT0/二进制值: 01 01, 01 01, 10 10, 10 10 rGPFCON = 0x55aa; rGPFUP = 0xff; / GPF所有端口都不加上拉电阻void led_on(void) int i,nOut; nOut=0xF0; rGPFDAT=nOut & 0x70; /点亮LED1 for(i=0;i<i+); rGPFDAT=nOut & 0x30; /点亮LED1 LED2 for(i=0;i<i+); rGPFDAT=nOut & 0x10; /点亮LED1 LED2 LED3 for(i=0;i<i+); rGPFDAT=nOut & 0x00; /点亮LED1 LED2 LED3 LED4 for(i=0;i<i+);void led_off(void) int i,nOut; nOut=0; rGPFDAT = 0; for(i=0;i<i+); rGPFDAT = nOut | 0x80; /关闭LED1 for(i=0;i<i+); rGPFDAT |= nOut | 0x40; /关闭LED2 for(i=0;i<i+); rGPFDAT |= nOut | 0x20; /关闭LED3 for(i=0;i<i+); rGPFDAT |= nOut | 0x10; /关闭LED4 for(i=0;i<i+);void led_on_off(void) int i; rGPFDAT=0; /所有LED全亮 for(i=0;i<i+); rGPFDAT=0xF0; /所有LED全灭 for(i=0;i<i+);void led_test(void)led_on();led_off();led_on_off();delay(1000);rGPFCON = 0x55aa;void main(int argc,char *argv) port_init( ); while(1)led_test();2已知C语言程序有主程序模块prog.c,prog.h,其中调用了另一个模块subr.c,subr.h中的功能。试写出一个可将这两个模块编译成可执行文件pr1的makefile。 2. pr1: prog.o subr.o gcc o pr1 prog.o subr.o prog.o: prog.c prog.h gcc c o prog.o prog.c subr.o: subr.c subr.h gcc c o subr.o subr.c六阅读程序题(每题10分,共10分)1阅读下列与看门狗有关的寄存器描述,解释每一行代码的功能。看门狗定时器控制寄存器(WTCON)寄存器地址读/写描述WTCON0x读/写看门狗控制寄存器看门狗数据寄存器(WTDAT)寄存器地址读/写描述WTDAT0x读/写看门狗数据寄存器看门狗计数寄存器(WTCNT)寄存器地址读/写描述WTCNT0x读/写看门狗计数当前值#define rWTCON (*(volatile unsigned *)0x) /第1行#define rWTDAT (*(volatile unsigned *)0x) /第2行#define rWTCNT (*(volatile unsigned *)0x) /第3行void watchdog_test(void) rWTCON=(PCLK/-1)<<8)|(3<<3)|(1<<2); /第4行rWTDAT=7812; /第5行rWTCNT=7812; /第6行rWTCON|=(1<<5); /第7行答:第1-3行:定义看门狗控制寄存器、数据寄存器和计数寄存器为rWTCON、rWTDAT和rWTCNT第4行: 设置看门狗的预装比例值为,分频因素为1/28,并使能中断。第5-6行:对数据寄存器和计数寄存器赋值为7812。第7行:启动看门狗。专心-专注-专业