嵌入式系统考试试题A与答案.docx
《嵌入式系统考试试题A与答案.docx》由会员分享,可在线阅读,更多相关《嵌入式系统考试试题A与答案.docx(9页珍藏版)》请在冰豆网上搜索。
嵌入式系统考试试题A与答案
题号
三
四
五
总分
阅卷人
核分人
得分
试题总分:
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数据处理指令,例如“ADDR0,R1,#immed”中使用的立即数#immed是有一定限制的,下列立即数表示中合法的是()。
A.0x00001234B.0xF000000FC.0x0000F008D.0xF080000
3、μCOS-II操作系统不属于()。
A、RTOSB、占先式实时操作系统
C、非占先式实时操作系统D、嵌入式实时操作系统
4、ARM汇编语句“ADDR0,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、7B、32
C、6
D、37
6、每种嵌入式操作系统都有自身的特点以吸引相关用户,下列说法错误的是(D)
A.
嵌入式Linux提供了完善的网络技术支持;
B.
CLinux是专门为没有MMU的ARM芯片开发的;
C.
C/OS-Ⅱ操作系统是一种实时操作系统(RTOS);
第1页/共4
页
D.WinCE提供完全开放的源代码。
7、存储一个32位数0x2168465到2000H~2003H四个字节单元中,若以大端模式存储,则
2000H存储单元的内容
为(D
A、0x21
B、0x68
C、0x65D、0x02
8、下列不是嵌入式系统的特点的是(C)
A.嵌入式系统需要专用开发工具和方法进行设计
B.嵌入式系统是技术密集、资金密集、高度分散、不断创新的知识集成系统。
C.嵌入式系统使用的操作系统一般不是实时操作系统(RTOS),系统不具有实时约束。
D.嵌入式系统通常是面向特定任务的,而不同于一般通用PC计算平台,是“专用”的计算机系统9、寄存器R15除了可以做通用寄存器外,还可以做(A)
A.程序计数器B.链接寄存器
C.堆栈指针寄存器D.基址寄存器
10、若R1=2000H,(2000H)=0x28,
(2008H)=0x87,则执行指令LDRR0,[R1,#8]!
后R0的值为
A.0x2000
B.0x28
C.0x2008
11、FIQ中断的入口地址是(
A、0x0000001C
C、0x00000018
12、ARM指令集是(B
A.16
C.8
D.0x87
A)。
B、0x00000008
D、0x00000014)位的。
B.32
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时,执行BXRm指令就可从ARM状态进入Thumb状
态。
(T)
7、ARM处理器结构体系中具有T变种的处理器核可以工作在ARM状态和Thumb状态。
(T)
四、简答题(共16分)
1、ARM异常发生时,ARM内核对异常的响应过程是怎样(4
的?
分)
1、(4分)
答:
1,保存CPSR到SPSR_
(1')
2,设置CPSR相应位(1')
以进行模式切换,根据需要,设置IRQ和FIQ中断屏蔽位3,保存异常返回地址到R14_(1')4,PC跳转到异常向量表相应地址处(1')
2、什么是BootLoader?
主要有几种工作模式及主要功能是什么?
(6分)
答:
简单说来,Bootloader就是操作系统内核运行的一段小程序,完成进行初始化系统硬件设置的任务,包括CPU、SDRRAM、Flash、串口等初始化,时钟的设置、存储器的映射。
分为启动加载模式和下载模式
(1)启动加载(Bootlaoding)模式又称为“自主”(Autonomous)模式,是指Bootloader从目标机上的某个固态存储设备上将操作系统加载到RAM中运行,整个过程并没有用户的介入。
(2)在下载模式下,目标机上的Bootloader将先通过串口连接或网络连接等通信手段从宿主机下载文件。
3、S3C44B0的存储系统中,0xc000000和0xc080000的含义是什么?
它们之间的512kbyte空间做什么用?
(6分)答:
0xC000000是SDRAM的起始地址,系统的程序存储空间从0xC080000开始。
512Kbyte的空间划分出来,作为系统的LCD显示缓冲区使用(更新其中的数据,就可以更新LCD的显示)。
五、分析设计(共28分)
1、改错和注释(10分)题目要求:
1)阅读下面的程序段,找出程序段中至少3处不规范的地方,并改正。
(6分)
2)给标记①~④处的语句作注释,说明其作用。
(4分)
start
AREAENTRYLDRLDRBL
INT,CODE,READONLY
R1,=SRCSTR
R0,=dststrstrcopy
;①
STOP:
BSTOP
strcopy
.,,(
此处表示省略的程序段)
Mov
PC,LR
;②
AREA
Strings,DATA,READWRITE
;③
srcstr
DCB
"Firststring-source",0
dststr
Space
100
END
;④
(1)(6分)
startLDRR1,=SRCSTR;此处start要顶格书写;SRCSTR要小写
STOP:
BSTOP;此处STOP后应无“:
”
MovPC,LR;此处Mov应大小写一致
(2)(4分)
1跳转到子程序strcopy
2子程序返回
3定义一个数据段Strings读写属性
4结束汇编
2、已知S3C44B0内核频率为MCLK=18.432MHz,ULCON0是串口0的行控制寄存器,UBRDIV0是串口0的波特率配置寄存器。
请设置寄存器ULCON0和UBRDIV0,使得S3C44B0的串口0(UART0)的数据帧格式为:
普通模式,波特率115200
奇偶校验无,数据位8位,停止位1位。
(6分)
2、(6分)
1)ULCON0=0x3
2)(
UBRDIV0=(round_off)[MCLK/(bsp*16)
)
]-1
–1=10
=(round_off)[18432000/(115200*16)]
-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')
第4页/共4页