10电科计科专业嵌入式试题 (B卷)附答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
贵州大学2012-2013学年第一学期考试试卷 B
嵌入式系统原理及应用试卷
(2010电子信息科学与技术)
注意事项:
1.请考生按要求在试卷装订线内填写姓名、学号和年级专业。
2.请仔细阅读各种题目的回答要求,在规定的位置填写答案。
3.不要在试卷上乱写乱画,不要在装订线内填写无关的内容。
(C)程序存储和数据存储分为同一个物理空间的两个部分;
(D)程序存储和数据存储分为两个独立的物理存储空间;
3.ARM处理器的特权模式不包括下列的那一种运行模式()。
(A)管理模式。
(B)中断模式。
(C)系统模式。
(D)用户模式。
4.ARM处理器支持4种类型的堆栈工作方式,其中空递增堆栈是()。
(A)堆栈指针指向最后压入的数据,且由低地址向高地址生长;
(B)堆栈指针指向下一个空位置,且由低地址向高地址生长;
(C)堆栈指针指向最后压入的数据,且由高地址向低地址生长;
(D)堆栈指针指向下一个空位置,且由高地址向低地址生长;
5.当ARM微处理器使用16bit的数据总线时,存储器的地址与ARM微处理器的地址的连接方式
应该是()
(A)存储器的A0与ARM的
(B)存储器的A0与ARM的
(C)存储器的A0与ARM的
(D)存储器的A0与ARM的
6.S3C2440A的启动代码Bootloader
都可以(B)Bank0
MMU主要完成的功能是()。
之间的高速缓存;
的管理单元;
(C)从虚拟地址到物理地址的映射;
(D)存储器块Bank的管理单元;
8.抢占式实时操作系统总是()。
(A)运行就绪状态下排在最前面的任务(B)运行时间片轮转到的任务
(C)运行优先级最高的任务(D)运行就绪状态下优先级最高的
9.从Thumb 状态进入到ARM 状态可通过()代码实现。
(A )ADRR0,Back_ARM+1(B)ADRR0,Back_ARM
BXR0BLR0
(C)ADRR0,Back_ARM+1(D)ADRR0,Back_ARM
BLR0BXR0;
10.STMDBR1!,{R0,R2,R3}指令执行后,R1的值变为()。
(A)R1—>R1;(C)R1﹣8—>R1;
returnRdURXH0();
else
return0;
}
MOVpc,lr 四、编程题(本大题共12分)利用S3C2410的UART 波特率系数寄存器UBRDDIVn ,设计一个波特率为115200bps ,系统时钟MCLK 为40MHz 的波特率发生器,要求算出分频值,并对分频寄存器进行初始化。
五、设计题(本大题共14分)蜂鸣器可通过I/O 口GPB0通过NPN 型三级管的基极控制。
当三极管的基极加高电平,即GPB0为高电平时,蜂鸣器会响,
反之则不响。
试编写一程序,让蜂鸣器发声。
六、编程题(本大题共14分)将K1、K2按键开关分别接S3C2440A 的EINT0和EINT2,利用K1、K2作为外部中EINT0、EINT2,设计一外部中断程序。
七、编程题(本大题共16分,每小题8分)有4个LED 分别由GPF4、GPF5、GPF6、GPF7驱动控制,试设计一个接口电路,要求:(1)画出LED 接口电路
原理图;(2)用(2010B 一、(1)B (2)D (6)B (7)C (811~2FIFO 模式)。
3分
DataReception )
1个起始位,5~8个数据位、1个可ULCONn )确定。
接收器可以帧错
FIFO 模式RxFIFO 不空时,产生接收暂停状态。
3
分
控制器发出DMA 请求。
(2)DMA 控制器向CPU 发出总线请求信号。
2分
(3)CPU 执行完现行的总线周期后,向DMA 控制器发出响应请求的回答信号。
(4)CPU 将控制总线、地址总线及数据总线让出,由DMA 控制器进行控制。
(5)DMA 控制器向外部设备发出DMA 请求回答信号。
2分
(6)进行DMA 传送。
(7)数据传送完毕,DMA 控制器通过中断请求线发出中断信号。
CPU 在接收到中断信号后,
转人中断处理程序进行后续处理。
(8)中断处理结束后,CPU 返回到被中断的程序继续执行。
CPU 重新获得总线控制权。
2
分
三、
1、通过0号串口接收数据6分
2、将r1指向的字符串复制到r0。
6分
四、
分频寄存器UBRDIVn的值通过下式决定:
UBRDIVn=(round_off)(MCLK/(bpsx16))-16分
式中分频寄存器(UBRDIVn)的值从1~(2^16-1).例如,如果要使波特率为115200bps,MCLK是40MHz,则
UBRDIVn应为:
UBRDIVn=(取整/(115200x16)+0.5)-1
=(取整)(21.7+0.5)-16分
=22-1=21
}
}
分
{
}
六、
staticvoid__irqEint0_ISR(void)
{
Delay(10);
ClearPending(BIT_EINT0);4分
Uart_Printf("EINT0isoccurred.\n");
}
staticvoid__irqEint2_ISR(void)
{
Delay(10);
ClearPending(BIT_EINT2);
Uart_Printf("EINT2isoccurred.\n");
}
//中断初始化函数
voidEint_Init(void)
{
rGPFCON=rGPFCON&~(3)|(1<<1);//GPF0设置为EINT0 rGPFCON=rGPFCON&~(3<<4)|(1<<5);//GPF2设置为EINT2 rGPFUP|=(1<<0);//disableGPF0pullup5分
rGPFUP|=(1<<2);//disableGPF2pullup
8分#defineGPFCON(*(volatileunsigned
#defineGPFDAT(*(volatileunsigned
#defineGPFUP(*(volatileunsigned
Intmain()
{
GPFCON=(GPFCON|0xff00)&ffff55ff);
GPFUP|=0xf0;
While(1)
{
inti=0;
GPFDAT=(GPFDAT&ffffff0f)|0xe0;
Delay(100);
GPFDAT=(GPFDAT&ffffff0f)|0xd0;4分
Delay(100);
GPFDAT=(GPFDAT&ffffff0f)|0xb0;
Delay(100);。