《嵌入式系统》考试试卷
试题总分: 100分考试时限:120 分钟
一、填空题(每空2分,共18分)
1、PC机开机的初始化工作一般由BIOS完成,而嵌入式系统的初始化工作一般由bootloader完成。
2、ARM内核三级流水线机制是指指令运行过程中经过的取指、译码、执行三个阶段。
3、ARM寄存器SPSR被称为备份的程序状态寄存器寄存器。
4、uClinux与标准Linux的最大区别在于内存管理。
5、嵌入式系统是以应用为中心、以计算机技术为基础、软硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
6、ARM的数据存取指令Load/Store是唯一用于寄存器和存储器之间进行数据传送的指令。
7、μC/OS中,为保护任务之间的共享数据和提供任务之间的通信,提供了操作系统任务间通信方法有:信息量、邮箱、
消息队列,事件标志。
二、单项选择题(每题2分,共24分)
1、下列哪一项不属于嵌入式系统软件结构一般包含的四个层面。( )
?A. 嵌入式处理器??B. 实时操作系统(RTOS)
C. 应用程序接口(API)层
D. 实际应用程序层
2、一条ARM数据处理指令,例如“ADD R0,R1,#immed”中使用的立即数#immed 是有一定限制的,下列立即?数表示中合法的是( )。
A.0x00001234B.0xF000000FC.0x0000F008 D.0x F080000
3、μCOS-II操作系统不属于( )。
A、RTOS???B、占先式实时操作系统
C、非占先式实时操作系统D、嵌入式实时操作系统
4、ARM汇编语句“ADD R0,R2, R3,LSL#1”的作用是( A )。
A. R0= R2 +(R3<<1)
B.R0 =( R2<< 1)+ R3
C. R3= R0+ (R2<< 1)
D. (R3 <<1)= R0+R2
5、ARM寄存器组有( D )个寄存器。
A、7 ?
B、32
C、6?????D、37
6、每种嵌入式操作系统都有自身的特点以吸引相关用户,下列说法错误的是(D )。
A. 嵌入式Linux提供了完善的网络技术支持;
B. μCLinux是专门为没有MMU的ARM芯片开发的;
C. μC/OS-Ⅱ操作系统是一种实时操作系统(RTOS);
D. WinCE提供完全开放的源代码。
7、存储一个32位数0x2168465到2000H~2003H四个字节单元中,若以大端模式存储,则2000H存储单元的
内容为( D )。
A、0x21 ??
B、0x68
C、0x65????
D、0x02
8、下列不是嵌入式系统的特点的是( C)
?A.嵌入式系统需要专用开发工具和方法进行设计。??
?B.嵌入式系统是技术密集、资金密集、高度分散、不断创新的知识集成系统。
C.嵌入式系统使用的操作系统一般不是实时操作系统(RTOS),系统不具有实时约束。
D.嵌入式系统通常是面向特定任务的,而不同于一般通用PC计算平台,是“专用”的计算机系统
9、寄存器R15除了可以做通用寄存器外,还可以做( A )
A. 程序计数器???
B. 链接寄存器
C. 堆栈指针寄存器?
D. 基址寄存器
10、若R1=2000H,(2000H)=0x28,(2008H)=0x87,则执行指令LDR R0,[R1,#8]!后R0的值为( D )。
A. 0x2000???B.0x28
C.0x2008??D. 0x87
11、FIQ中断的入口地址是( A )。
A、0x0000001C???
B、0x00000008
C、0x00000018???D、0x00000014
12、ARM指令集是( B )位的。
A. 16 ??B.32
C. 8???? D. 24
三、判断题(每题2分,共14分)
1、若定义任务task1的优先级为12,则不能再定义其他任务的优先级也为12。??(T)
2、ARM处理器在未定义模式下可以处理存储器故障,实现虚拟存储器和存储器保护。???( F)
3、μCOS-II操作系统中移植成功后即可使用文件系统。??????( F )
4、在ARM的数据处理指令中,大多数均可在指令助记符后加S来设置状态寄存器的条件码。?(T)
5、ARM和Thumb之间状态的切换不影响处理器的模式或寄存器的内容。???( T )
6、当操作数寄存器Rm的状态位bit[0]为1时,执行BX Rm指令就可从ARM状态进入Thumb状态。?(T)
7、ARM处理器结构体系中具有T变种的处理器核可以工作在ARM状态和Thumb状态。?( T )
四、简答题(共16分)
1、ARM异常发生时,ARM内核对异常的响应过程是怎样的? (4分)
1、(4分)
答:1,保存CPSR到SPSR_ 2,设置CPSR相应位(1’) ?以进行模式切换,根据需要,设置IRQ和FIQ中断屏蔽位 ?3,保存异常返回地址到R14_ 4,PC跳转到异常向量表相应地址处(1’) 2、什么是BootLoader?主要有几种工作模式及主要功能是什么?(6分) 答:简单说来,Bootloa der 就是操作系统内核运行的一段小程序,完成进行初始化系统硬件设置的任务,包括CPU 、SD RRAM 、Flash 、串口等初始化,时钟的设置、存储器的映射。? 分为启动加载模式和下载模式。 (1)启动加载(Boot lao din g)模式又称为“自主”(A uto nomous )模式,是指 B oo tloader 从目标机上的某个固态存储设备上将操作系统加载到 RAM 中运行,整个过程并没有用户的介入。?(2)在下载模式下,目标机上的 B ootloa der 将先通过串口连接或网络连接等通信手段从宿主机下载文件。 3、S 3C44B 0的存储系统中,0xc000000和0x c080000的含义是什么?它们之间的512kb yte 空间做什么用? (6分) 答:0xC000000是 SD RAM 的起始地址,系统的程序存储空间从0xC080000开始。512Kbyte 的空间划分出来,作为系统的LCD 显示缓冲区使用(更新其中的数据,就可以更新LCD 的显示)。 五、分析设计(共28分) 1、改错和注释(10分) ?题目要求: ?(1)阅读下面的程序段,找出程序段中至少3处不规范的地方,并改正。(6分) ?(2)给标记①~④处的语句作注释,说明其作用。(4分) ? (1)(6分) start ?LDR R 1, =SRCSTR ???;此处start 要顶格书写;SR CS TR 要小写 ST OP: ?B STOP ;此处STOP 后应无“:” Mo v PC, L R ;此处Mov 应大小写一致 (2)(4分) ?①跳转到子程序str copy ②子程序返回 ③定义一个数据段Strings 读写属性 ④结束汇编 2、已知S3C 44B0内核频率为MC LK = 18.432MH z, ULCON0是串口0的行控制寄存器,UBRDI V0是串口0的波特率配置寄存器。请设置寄存器ULCO N0和UBR DI V0,使得S3C44B0的串口0(UA RT 0)的数据帧格式为:普通模式,波特率115200,奇偶校验无,数据位8位,停止位1位。 (6分) 2、(6分) ?? AREA INT, CODE, READONLY ENTRY start LDR R1, =SRCSTR LDR R0, =dststr BL strcopy ;① STOP : B STOP strcopy .……(此处表示省略的程序段) Mov PC, LR ;② AREA Strings, DATA, READWRITE ;③ srcstr DCB "First string - source",0 dststr Space 100 END ;④ (1)ULCO N0=0x3 (2)(2)UBR D I V0=(r o u n d_o ff)[MCLK/(b s p*16)]-1 =(r o u nd_off)[18432000/(115200*16)]–1=10-1=9? 3、在图中进行必要的连线,管脚电平设置,地址编号填写等,完成S3C44B0最小系统相关设计。(12分) ?题目要求:1)使S3C44B0的BANK0连接一片FlashROM,且总线宽度为8位。(5分) ??2)选择晶振作为时钟输入。存储器以小端模式存储字。(4分) ??3)画出复位电路图,实现上电复位功能和手动按键复位功能。(3分) ?(注:不使用的管脚打×) ? 3、(12分) (1)BANK08,位数据总线: OM1 = 0,OM0 = 0 ----(1’),? DATA[7..0] 连接 DATA[7..0](1’) nGCS0 连接nCS -----(1’),? Address[19..0](2’) (2)晶振连线:OM3=0,OM2=0-------(1’)晶振连接EXTAL0和EXTAL0---(1’) 小端模式ENDIA=0---(2’) (3)复位电路:上电低电平复位(2’)?按键复位(1’) ?