当前位置:首页 > 常熟理工嵌入式期末考试复习大题部分
第1章
1、请说明国内普遍认同的嵌入式系统的定义,它的基本要素和特征是什么? ..
答:以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成
本、体积、功耗严格要求的专用计算机系统。嵌入式系统“嵌入”、“专用性”、“计算机”是其基本要素和特征。
2、请介绍四种常见的嵌入式操作系统,并说明它们各自的主要特点?
答μC/OS-II是一个可裁减的、源码开放的、结构小巧、可剥夺型的实时多任务
内核,是真正的实时操作系统。
VxWorks嵌入式实时操作系统,多应用于高端技术及实时要求极高的领域。 WinCE操作系统,提供与PC机类似的图形界面和主要的应用程序,它不是一
个硬实时操作系统。
Linux操作系统以内核为基础的、完全内存保护、多任务多进程的操作系统,
源码开放。 第2章
1、ARM的异常中断按引起异常事件的不同可以分为哪些?各自的向量地址是多少? .. 答:异常的种类:外部中断请求(IRQ)、快速中断请求(FIQ)、软件中断(SWI)、
中止(ABORT)、未定义指令、复位(RESET)。 异常向量——异常处理程序入口地址: 复位中断,0x00000000
未定义指令中断,0x00000004 软中断,0x00000008 预取中止,0x0000000C 数据中止,0x00000010 IRQ中断,0x00000018 快速中断,0x0000001C
3、ARM处理器在两种工作状态之间是如何切换的? .. 答:ARM处理器在两种工作状态之间切换方法: 进入Thumb状态:
当操作数寄存器Rm的状态位bit[0]为1时,执行BX Rm指令进入Thumb状态。如果处理器在Thumb状态进入异常,则当异常处理(IRQ,FIQ,Undef,Abort和SWI)返回时,自动切换到Thumb状态。 进入ARM状态:
当操作数寄存器Rm的状态位bit[0]为0时,执行BX Rm指令进入ARM状态。如果处理器进行异常处理,在此情况下,把PC放入异常模式链接寄存器LR中,从异常向量地址开始执行也可以进入ARM状态。 4、ARM寄存器R13,R14,R15,CPSR,SPSR分别作何用处? 答:R13一般用来作为堆栈指针(类似AT89S51的SP)。
R14(LR)一般用来作为调子程序的链接寄存器,当执行调子程序指令BL时,将
程序计数器R15的内容拷贝进R14保存,从子程序返回时再将R14的内容送回到程序计数器R15。
R15一般用来存放下一条将要执行指令的地址(类似AT89S51的PC)。在ARM状
态下R15的最低2位为0,在Thumb状态下R15的最低位为0。
当前程序状态寄存器CPSR与备份程序状态寄存器SPSR。当前程序状态寄存器CPSR用来保存当前的状态与控制的标志位。备份程序状态寄存器SPSR用来在操作模式切换时保存程序状态寄存器CPSR的当前值。 第6章
1、编程实现UART1的初始化。 .要求字符帧格式为7位数据位、1位停止位、偶校验、波特率取9600、采用正常工作模式、不使用中断、不使用回送、不使用错误标志状态、发送和接收采用FIFO模式,不使用自动流控制,时钟PLCK取40MHz。
UART的使用分析参考: 知识点:
S3C2410A中对UART的使用,在工作前必须对其进行初始化,即对UART的线控制寄存器(ULCON)、控制寄存器(UCON)、FIFO控制寄存器(UFCON)、Modem控制寄存器(UMCON)、波特率因子寄存器(UBRDIV)进行设置。 参考点:第6章ppt中“6.1.4 UART的初始化”中的说明。 初始化内容:
#define rULCON1 (*(volatile unsigned *)0x1d04000) #define rUCON1 (*(volatile unsigned *)0x1d04004) #define rUFCON1 (*(volatile unsigned *)0x1d04008) #define rUMCON1 (*(volatile unsigned *)0x1d0400c) #define rUBRDIV1 (*(volatile unsigned *)0x1d04028) rULCON1=0x2A rUCON1=0x05 rUFCON1=0x01 rUMCON1=0x0 rUBRDIV1=0x103 知识点:
S3C2410A中对GPIO口的配置寄存器GPACON~GPHCON,端口数据寄存器GPADAT~GPHDAT的使用。
参考点:第6章ppt中“GPIO应用举例”中的例子的分析。 第7章
1、在图中进行必要的连线,管脚电平设置,地址编号填写等,完成S3C44B0最小系统相关设计。 题目要求:1)使S3C44B0的BANK0连接一片FlashROM,且总线宽度为8位。 2)选择晶振作为时钟输入。存储器以小端模式存储字。
3)画出复位电路图,实现上电复位功能和手动按键复位功能。 (注:不使用的管脚打×) 连接参考图:
(1)BANK0,8位数据总线: OM1 = 0, OM0 = 0 DATA[7..0] 连接 DATA[7..0]
nGCS0 连接 nCS, Address[19..0]
(2)晶振连线: OM3=0,OM2=0 晶振连接EXTAL0和EXTAL0 小端模式ENDIA=0 (3)复位电路:上电低电平复位 按键复位
2、S3C44B0的存储系统中,0xc000000和0xc080000的含义是什么?它们之间的512kbyte空间做什么用?
答案参考:0xC000000是 SDRAM的起始地址,系统的程序存储空间从0xC080000开始。(2分)512Kbyte的空间划分出来,作为系统的LCD显示缓冲区使用(更新其中的数据,就可以更新LCD的显示)。
3、请简要描述S3C2410A微处理器的存储空间特点以及地址映射范围。 参考点:第7章ppt中“存储器系统”中的分析。 参考答案:
第8章
2、说明μC/OS-II中任务创建函数OSTaskCreate()的四个参数的含义? 参考点:第8章ppt中“8.3--8.μC/OS-II任务的创建”中的例子的分析。 答案参考:μC/OS-II中任务创建函数OSTaskCreate()的四个参数的含义:
OSTaskCreate(
MyTask, //(任务名称) (void *)s, //(任务参数)
&TaskStartStk【TASK_STK_SIZE - 1】, //(任务栈) 0 //(任务优先级号) );
3、画图说明μCOS-II操作系统中任务的五种状态之间是如何切换的,并举出至少一个相应的切换条件或函数。 ..
参考点:第8章ppt中“8.3—2.任务的五种状态”中的分析。参考答案:
4、以下是UCOS-II操作系统下的C语言程序,请在1)—7)的注释中填入该行语句的作用
#include\#include \#include \#include
OS_STK Main_Stack[STACKSIZE*8]={0, }; //1)定义任务栈空间 void Main_Task(void *Id);
#define Main_Task_Prio 12 // 2)定义任务优先级号 OS_EVENT *Nand_Rw_Sem; //3)定义Nand_Rw的信号量 OS_EVENT *Uart_Rw_Sem; int main(void) {
ARMTargetInit(); //开发板初始化
OSInit(); //4)ucos-ii操作系统的初始化 uHALr_ResetMMU();//复位MMU LCD_Init(); //初始化LCD模块
LCD_printf(\向液晶屏输出数据
LCD_printf(\ initOSGUI();//初始化图形界面 LoadFont();//调Unicode字库
LoadConfigSys();//使用config.sys文件配置系统设置 LCD_printf(\OSTaskCreate(Main_Task, (void *)0, (OS_STK *)&Main_Stack[STACKSIZE*8-1],
Main_Task_Prio); //5)创建Main_Task任务 OSAddTask_Init();//创建系统附加任务 LCD_printf(\ LCD_printf(\
LCD_ChangeMode(DspGraMode);//变LCD显示模式为文本模式 InitRtc();//初始化系统时钟
Nand_Rw_Sem=OSSemCreate(1); // 6)创建信号量
OSStart(); //7)OS启动,开始任务调度 return 0; }
共分享92篇相关文档