ARM体系考试试题.docx
《ARM体系考试试题.docx》由会员分享,可在线阅读,更多相关《ARM体系考试试题.docx(9页珍藏版)》请在冰豆网上搜索。
ARM体系考试试题
(密封线内勿答题)学校专业姓名身份证号(密封线内勿答题)
(考试时间:
120分钟)
题号
一
二
三
四
五
六
总分
分数
一、选择题(本大题共10个小题,每小题1分,共10分)
得分
评阅人
1、和PC机系统相比,下列哪点不是嵌入式系统所特有的:
()
A、系统内核小B、专用性强
C、可执行多任务D、系统精简
2、ADDR0,R1,#3属于()寻址方式。
A、立即寻址B、多寄存器寻址
C、寄存器直接寻址D、相对寻址
3、GET伪指令的含义是:
()
A、包含一个外部文件B、定义程序的入口
C、定义一个宏D、声明一个变量
4、存储一个32位数0x876165到2000H~2003H四个字节单元中,若以小端模式存
储,则2000H存储单元的内容为:
()
A、0x00B、0x87
C、0x65D、0x61
5、μCOS-II操作系统不属于:
()
A、RTOSB、占先式实时操作系统
C、非占先式实时操作系统D、嵌入式实时操作系统
6、若R1=2000H,(2000H)=0x86,(2008H)=0x39,则执行指令LDRR0,[R1,#8]!
后R0的值为:
()
A、0x2000B、0x86
C、0x2008D、0x39
7、寄存器R13除了可以做通用寄存器外,还可以做:
()
A、程序计数器B、链接寄存器
C、栈指针寄存器D、基址寄存器
8、FIQ中断的入口地址是:
()
A、0x0000001CB、0x00000008
C、0x00000018D、0x00000014
9、ARM指令集和Thumb指令集分别是()位的。
A、8位,16位B、16位,32位
C、16位,16位D、32位,16位
10、ARM寄存器组有()个寄存器。
A、7B、32
C、6D、37
二、填空题(本大题共24个空,每空1分,共24分)
得分
评阅人
11、一个嵌入式系统结构有典型的四层组成,包括:
、、和
。
12、一个FAT文件系统卷有四部分组成,包括:
、、和。
13、事件控制块ECB中OSEventType表示,OSEventCnt表示。
14、串行通信方式有三中通信、通信和通信。
15、OSTaskSuspend(self)可把正在运行的任务,参数self指。
用此函数挂起的任务可通过函数唤醒。
16、如果信号量用于表示打印机是否可用,那么该信号量属于型信号量。
17、若一个优先级为48的任务就绪,则在就绪表中,OSRdyTbl[]的置位,变量OSRdyGrp的置位。
18、Socket接口是TCP/IP网络的________,定义了许多函数或例程。
常用的Socket类型有两种为________Socket和________Socket。
其中________Socket是面向连接的,________Socket是面向无连接的。
三、简答题(本大题共4个小题,每小题5分,共20分)
得分
评阅人
19、ARM处理器有几种工作模式?
并做说明每种工作模式的含义。
20、什么是操作系统?
操作系统在“硬件、操作系统、应用程序、硬件驱动”四者中,处于哪两层之间?
?
21、什么是μCOS-II操作系统的时钟节拍?
22、简述任务切换的过程。
四、程序填空题(本大题共2个小题,每小题6分,共12分)
得分
评阅人
23、在划线处添加代码,完成下面的程序,实现在task1中计算1到10的平均值,完成后向task2发送信号量。
Task2无限期等待信号量,等到后在LCD上显示收到平均值。
__________________________;
VoidTask1()
{inti,average=0,sum=0;
_________________
for(i=1;i<=10;i++)
{
sum=sum+i;
}
average=sum/10;
__________________;
for(;;)
{OSTimeDly(100);}
}
voidtask2()
{____________________;
for(;;)
{________________________;
LCD_printf("wegettheaverage!
\n");
________________________;
}
}
24、在划横线处添加代码,完成下面创建一个任务的过程,要求优先级为36,任务栈大小为256。
OS_STK[256]={0,};
voidtask1(void*Id);
#define
;//操作系统初始化
(task1,(void*)0,(OS_STK*)&task1_Stack[256-1],task1_Prio);
;//操作系统任务调度开始
五、程序分析题(本大题共3个小题,每小题6分,共18分)
得分
评阅人
25、仔细阅读下面的信号量应用程序,画出各任务的程序流程图,并说明程序要实现的功能是什么。
OS_EVENT*week_Sem;
week_Sem=OSSemCreate(0);
voidtask1()
{
LCDPrintf(“TodayisMonday.\n”);
OSSemPost(math_Sem);
}
voidtask2()
{U8err;
OSSemPend(math_Sem,0,&err);
LCDPrintf(“whatdayistaday?
.\n”);
}
26、仔细阅读下面的文本框应用程序,画出程序流程图,并说明程序要实现的主要功能是什么。
(假设数字键6、数字键8和del键的键值分别为6、8和10)
PTextCtrlpText1;
voidTask1()
{POSMSGpMsg=0;
structRECTrect;
SetRect(&rect,100,30,160,50);
pText1=CreateTextCtrl(ID_MainTextCtrl,&rect,FONTSIZE_MIDDLE,\
CTRL_STYLE_FRAME,NULL,NULL);
SetTextCtrlEdit(pText1,TRUE);
for(;;){
pMsg=WaitMessage(0);
switch(pMsg->Message){
caseOSM_KEY:
onKey(pMsg->WParam,pMsg->LParam);
break;
}
DeleteMessage(pMsg);
}
}
onKey(intnkey,intfnkey)
{switch(nkey){
case6:
AppendChar2TextCtrl(pTextCtrl,0x36,TRUE);
break;
case8:
AppendChar2TextCtrl(pTextCtrl,0x38,TRUE);
break;
case10:
TextCtrlDeleteChar(pTextCtrl,TRUE);
break;
}
}
27、认真阅读下面的列表框控件应用程序,画出程序流程图,并说明程序要实现的主要功能是什么。
(假设上移和下移键的键值分别为11和12)
PListCtrlpList1
charstr1[]=”monday”;
charstr2[]=”tuesday”;
voidMain_Task(void*Id)
{POSMSGpMsg=0;
structRECTrect;
SetRect(&rect,100,30,160,50);
pList1=CreateListCtrl(ID_MainListBox,&rect,100,FONTSIZE_MIDDLE,\
CTRL_STYLE_DBFRAME,NULL);
strChar2Unicode(Ustr,str1);
AddStringListCtrl(pList1,Ustr);
strChar2Unicode(Ustr,str2);
AddStringListCtrl(pList1,Ustr);
ReDrawOSCtrl();
for(;;){
pMsg=WaitMessage(0);
switch(pMsg->Message){
caseOSM_KEY:
onKey(pMsg->WParam,pMsg->LParam);
break;
}
DeleteMessage(pMsg);
}
}
onKey(intnkey,intfnkey)
{charUstr[];
switch(nkey){
case11:
ListCtrlSelMove(pMainListCtrl,-1,TRUE);
break;
case12:
ListCtrlSelMove(pMainListCtrl,1,TRUE);
break;
}
ReDrawOSCtrl();
}
六、系统设计题(本大题共2个小题,每小题8分,共16分)
28、实现CAN总线通信需要哪两个芯片?
画出S3C44B0利用CAN总线进行通信的硬件连接示意图。
要实现两个开发平台间通过CAN总线双机通信,应如何设计程序(给出软件设计思路或程序流程图)。
29、给出S3C44B0通过驱动器控制步进电机的硬件连接示意图;已知步进电机正转时的控制顺序为A→AB→B→BC→C→CD→D→DA,以列表的形式给出各I/O控制口的值。
可以通过哪个宏来设置I/O控制口的值。