2013年1月嵌入式系统A卷_第1页
2013年1月嵌入式系统A卷_第2页
2013年1月嵌入式系统A卷_第3页
2013年1月嵌入式系统A卷_第4页
2013年1月嵌入式系统A卷_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2013年1月嵌入式操作系统A卷一、选择题(共10分,每小题1分)1 下面操作系统中,哪一个最适合工业实时控制的操作系统_。A. VxWorksB. LinuxC. ucos-2D. WinCE2. 下面的操作系统中,哪个操作系统的内核占用存储空间最小_。A. WindowsXB. LinuxC. ucos-2D. WinCE3. 下面的调试方法中,哪种方法不是嵌入式系统的调试方法的是_。A. 模拟调试B. 软件调试C. BDM/JTAG调试D. 单独调试4. 在嵌入式ARM处理器中,中断方式优先级最高的是_。A. Reset B. 数据中止C. FIQ D. IRQ5. 在实时操作系统中,两个任务并发执行,一个任务要等待另一个任务发来消息,或建立某个条件后才能向前执行,这种制约性合作关系被称为任务的_。A. 同步B. 互斥C. 调度D. 异步6. 下面的嵌入式操作系统中,哪个很少用在手机上_。A. Symbian B. linuxC. Win CED. VxWorks7、下面4个选项中,不属于嵌入式系统软件的是_。A. 系统内核 B. FPGA 编程软件C. 驱动程序D. 不同平台的中间件8、以下方式不属于文件系统格式的是_。A. FAT B. DOS C. NTFS D. txt9、在将ucos-II操作系统移植到ARM处理器上时,不需要修改的文件是_。 A. OS_CORE.C B. include.h C. OS_CPU.HD. OSTaskInit10、下面的函数中,哪个函数不属于时间或时间延时的函数_。A. OSTimeDly( ) B. OSTimeGet( ) C. OSIntNesting( ) D. OSTimeDlyHMSM( )得分二、填空题(共10分,每空1分)11-13uCOS-II的任务结构由3个部分构成:_、_、_14 _叫系统任务; 15任务控制块中_两个变量使任务能构成双向链表;16-17内核负责管理各个任务,或者为每个任务分配CPU时间,并且负责任务之间的_,内核的基本服务是_;18.可剥夺型内核型的定义是_;19-20为了实现不同层次的管理,系统提供了基于段或页的存储器访问方式。段由_B 的存储器块构成;小页由_B 的存储器块构成; 得分三、判断题(共8分,每题1分,正确的打,不正确的打)21嵌入式系统开发环境和运行环境一致。( )22不需将软件引导到RAM中而是让其直接在NorFlash上运行,这种方式启动最快。( )23ARM采用的体系结构是冯.诺依曼结构。( )24嵌入式系统可以采用提供不同的时钟频率技术来降低功效。 ( )25嵌入式系统是嵌入到对象体系内部的专用计算机系统。( )26ARM指令集和Thumb指令集均有切换处理器状态的指令,并可在两种工作状态之间切换,在开始执行代码时,应该处于ARM状态。( )27所有的电子设备都属于嵌入式设备。( )28CISC将被RISC所取代。( )四、简答题(答案写在试卷背面,小题每小题5分,共50 分)29当异常出现后,ARM微处理器会执行的操作是什么。30简述嵌入式软件设计和调试流程。31什么是JTAG。32在基于ARM的嵌入式系统中, bootloader的作用是什么。33ARM处理器的七种模式是什么,并简述各自特点。34叙述在任务就绪表中,查找最高优先级的算法和过程,写出示意代码。35叙述已知任务A的优先级是prio,将其置为就绪态的算法和过程,写出示意代码。36已知任务B的优先级是prio1,已在就绪表中,将其脱离就绪态的算法和过程,写出示意代码。37如何在中断服务程序中激活一个任务?38uc/os-II任务转换图如图4.1所示,写出图中A、B、C、D、E各状态的名称。得分五、实验和程序分析题(答案写在试卷背面,共22分)39说明“ac_key”的作用(5分)40写出程序执行的过程(5分)41在程序执行的过程中,解释实验结果(4分)42.写出标号处的说明文档(每空1分,共8分)图4.1 uc/os-II任务转换图#include “includes.h”#define TASK_STK_SIZE 512 OS_STK MyTaskStkTASK_STK_SIZE; OS_STK YouTaskStkTASK_STK_SIZE; INT16S key; INT8U y1=0,y2=0; BOOLEAN ac_key; char *s=”原始数据”; void MyTask(void *data); void YouTask(void *data); void main(void) OSInit(); ac_key=1; /(1) PC_DOSSaveReturn(); /(2) PC_VectSet(uCOS,OSCtxSw); /(3) OSTaskCreate(MyTask, (void*)0, & MyTaskStkTASK_STK_SIZE -1, 0); OSStart(); void MyTask(void *pdata)INT8U err;pdata= pdata;OS_ENTER_CRITICAL(); /(4)PC_VectSet(0x08, OSTickISR); PC_SetTickRate(OS_TICKS_PER_SEC); OS_EXIT_CRITICAL(); OSStatInit(); /(6)OSTaskCreate(YouTask,(void*)0,&YouTaskStkTASK_STK_SIZE-1,2); /(5) for( ; ; )if(ac_key) ac_key=FALSE; s=”MyTask访问共享数据s”PC_DispStr(5,+y1,s,DISP_BGND_BLACK+DISP_FGND_WHITE); ac_key=TRUE; OSTimeDly(20); /(7) void YoyTask(void *pdata)INT8U err;pdata= pdata;for(;) if(ac_key) ac_key=FALSE; /(8) s=”YouTask访问共享数据s”PC_DispStr(28,+y2, s, DISP_BGND_BLACK+DISP_FGND_WHITE);OSTimeSet(0);while(OSTime500) PC_DispStr(55,y2, s, DISP_BGND_BLACK+DISP_FGND_WHITE);ac_key=TRUE; OSTimeDly(10); 答案部分一、单项选择题(每小题1分,共10分)题号12345678910答案ACDAADBBCD二、填空题(每空1分,共10分)11 任务程序代码、任务堆栈、任务控制块12 程序实体13OSTCBNext 、OSTCBPrev14 _大端格式_, _小端格式_ 15_通信_, _任务调度_16 总是运行优先级高的那个任务17-18_信号量 、邮箱(消息邮箱) 和 消息队列_19-20 1MB, 4KB三、判断题(正确的打,不正确的打,每题1分,共8分)题号2122232425262728答案XXXXX四、简答题(31-36小题每小题5分,37小题10分,共 40 分)29答:(1)将下一条指令的地址存入相应连接寄存器LR,以便程序在处理异常返回时能从正确的位置重新开始执行。(2)将CPSR复制到相应的SPSR中。(3)根据异常类型,强制设置CPSR的运行模式位。(4)强制PC从相关的异常向量地址取下一条指令执行,从而跳转到相应的异常处理程序处。30答:(1)编辑:创建工程;添加文件、编写程序;汇编语言加C语言(2)编译:配置编译、汇编和连接参数;编写连接脚本文件;编译(3)调试:连接调试器;下载程序;运行、调试(4)固化:通过仿真器烧写flash;专用或通用的编程器;通过bootloader烧写flash 31答:JTAG(Joint Test Action Group,联合测试行动小组)是一种国际标准测试协议,主要用于芯片内部测试及对系统进行仿真、调试。通过JTAG接口,可对芯片内部的所有部件进行访问,因而是开发调试嵌入式系统的一种简洁高效的手段。目前JTAG接口的连接有两种标准,即14针接口和20针接口。32答:BootLoader是系统加电后运行的第一段软件代码。简单地说,BootLoader就是在操作系统内核或用户应用程序运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图(有的CPU没有内存映射功能如S3C44B0),从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核或用户应用程序准备好正确的环境。从操作系统的角度看,BootLoader的总目标就是正确地调用内核来执行。33答:usr:ARM处理器正常的程序执行状态;fiq:用于高速数据传输或通道处理;irq:用于通用的中断处理;svc:操作系统使用的保护模式;abt:用于虚拟存储及存储保护;und:当出现未定义指令终止时进入该模式;sys:运行具有特权的操作系统任务34设Prio=00D5 D4 D3 D2 D1 D0y=UnMapTblOSRdyGrpx= UnMapTblOSRdyTblyOSProHighRdy=(y3)+x或:y=UnMapTblOSRdyGrpOSProHighRdy=(INT8U)(y3;OSRdyTblPrio3 |=OSMapTblPrio&0x07;36设Prio=00D5 D4 D3 D2 D1 D0第y组即元素OSRdyTbly(第y行)的第x位(D2 D1 D0位)清0,如果这时第y组即OSRdyTbly中无就绪任务则OSRdyGrp中的第y位清零;否则,第y组即OSRdyTbly中还有就绪任务,则OSRdyGrp中的第y位不清零。If(OSRdyTblPrio3&=OSMapTblPrio&0x07)= =0)OSRdyGrp&=OSMapTblPrio3);37在中断服务程序中只是通过向任务发消息的方法去激活这个任务。38答:A、睡眠态;B、就绪态;C、运行态;D、中断服务态;E、等待状态五、阅读下列程序,完成下列要求:(共20分)39ac_key是共享资源S的信号量40启动多任务;运行MyTask;修改信号量为无效;占用共享资源s;再修改信号量为有效;MyTask延时挂起20个时钟节拍;运行YouTask;修改信号量为无效;占用共享资源s;再次占用共享资源s;再修改信号量为有效;YouTask延时挂起10个时钟节拍;41MyTask访问共享数据s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论