嵌入式试卷整理_第1页
嵌入式试卷整理_第2页
嵌入式试卷整理_第3页
嵌入式试卷整理_第4页
免费预览已结束,剩余6页可下载查看

付费下载

下载本文档

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

文档简介

1、精品文档一选择题1X86 系列 PC,引导操作系统的程序是:BA. BIOSB.引导盘第一物理扇区中的引导代码C. 用户程序D.内存中的系统程序2在 uCOS-II 操作系统中,下面的哪个选项可以做任务的标识:AA. 任务的优先级 B.控制块链表 C.空控制块链表D. 中断号3下面的操作系统中,占用存储空间最小的操作系统是;DA. WindowsX B. LinuxC. WinCED. uCOS-II4 X86 系列微处理器堆栈的增长方向是:AA. 向下B.不变 C.向上D.由 SP决定5在嵌入式 ARM处理器中,中断方式优先级最高的是:DA. IRQB. 数据中止 C. FIQD. Rese

2、t6在 uCOS-II 操作系统中,定义变量OSRdydGrp,通过 OSRdydGrp再访问任务就绪表,是为了查询就绪表中任何一个任务的状态时能够:CA. 时间相等; B. 延长查询时间; C. 快速查询; D.增加调度可靠性7在 uCOS-II 操作系统中使用内存时,下面4 个选项中,正确答案是:AA. 先分区,区内分块; B. 先分块,块内分区; C. OS_MEM定义内存分区分块数据结构; D.内存控制块链表记录内存使用情况8在 uCOS-II 操作系统中,要申请一个内存块,正确函数是:BA. OSMemCreat() ; B. OSMemGet() ; C. OSMemPut() ;

3、D. OSMemQuery()9在将 uCOS-II 操作系统移植到非X86 处理器上时,需要修改的文件是:CA. OS_CORE.C; B. OSTimeGet( );C. OS_CPU.H;D. OSTaskInit10在 uCOS-II 操作系统中,下面哪个函数与时间无关。CA. OSTimeDly( )B. OSTimeGet( )C. OSIntNesting( )D. OSTimeDlyHMSM( )1. 在 uCOS-II 操作系统中,下面的选项 _A_可以做任务的标识。A. 任务的优先级 B.控制块链表 C.空控制块链表D. 中断号2.下面的操作系统中,占用存储空间最小的操作系

4、统是_C_。A. WindowsX B. LinuxC. ucos-2D. WinCE3. X86 系列微处理器堆栈的增长方向是_C_。A. 向上B.不变C.向下D.由 SP决定4. 在嵌入式 ARM处理器中,中断方式优先级最高的是 A_。A. ResetB. 数据中止 C. FIQD. IRQ5. 在 uCOS-II 操作系统中,定义变量 OSRdydGrp,通过 OSRdydGrp再访问任务就绪表,是为了查询就绪表中任何一个任务的状态时 C_。A. 时间相等; B. 延长查询时间; C. 快速查询; D. 增加调度可靠性6. 下面的嵌入式操作系统中,哪个很少用在手机上 _D_。A. Sym

5、bianB. linuxC. Win CED. VxWorks7、在 uCOS-II 操作系统中,下面4 个选项中,不正确答案是_B_。A. 先分区,区内分块; B. 先分块,块内分区; C. OS_MEM定义内存分区分块数据结构; D.内存控制块链表记录内存使用情况8、在 uCOS-II 操作系统中,要申请一个内存块,正确函数是_B_。A. OSMemCreat() ; B. OSMemGet() ; C. OSMemPut() ;D. OSMemQuery()。1欢迎下载精品文档9、在将 uCOS-II 操作系统移植到 ARM处理器上时,需要修改的文件是 _C_。 A. OS_CORE.C

6、; B. OSTimeGet( ) ;C. OS_CPU.H;D. OSTaskInit10、在 uCOS-II 操作系统中,下面哪个函数与时间无关_C_。A. OSTimeDly( )B. OSTimeGet( )C. OSIntNesting( )D. OSTimeDlyHMSM( )二判断题1嵌入式系统可以采用提供不同的时钟频率技术来降低功耗。2嵌入式系统是嵌入到对象体系内部的专用计算机系统。3嵌入式系统开发环境和运行环境不一致。4请求消息邮箱需要调用函数OSMboxDel()函数。 ×5定义 MYTASKSTKTASK_STK_SIZE为任务 MYTASK的堆栈,使用的CPU

7、遵守堆栈的增长方向是增地址的,则初始化堆栈时,堆栈的栈顶指针是&MYTASKSTKTASK_STK_SIZE。×6PC_DOSSaveReturn( )是保存 windows 环境向量函数。 ×7PC_VectSet(uCOS, OSCtxSw)是安装 DOS中断向量函数。 ×8OSStart( )是启动多任务管理函数。9.OSStatInit( )是初始化统计任务的函数。10OSTaskCreate(StartTask,(void*)0, &StartTaskStkTASK_STK_SIZE -1, 0)这个函数创建了MyTask任务,给任务传递

8、参数是0,设置任务堆栈栈顶是 &StartTaskStkTASK_STK_SIZE - 1,MyTask任务的优先级别为0。2不需将软件引导到 RAM中而是让其直接在 NorFlash 上运行,这种方式启动最快( X)3X86 采用的体系结构是冯 . 诺依曼结构( )6创建消息邮箱需要调用函数OSMboxCreate()函数( )7向消息邮箱发送消息需要调用函数OSMboxPost()函数( )8请求消息邮箱需要调用函数OSMboxPend()函数( )9查询消息邮箱的状态需要调用函数OSMboxQuery()函数( )10查询消息邮箱的状态需要调用函数OSMboxDel()函数( )

9、12uCOS_II.C 文件内容是 uCOS_II 的 C文件( )13OSInit( )是初始化 uCOS_II 函数()14PC_DOSSaveReturn( )是保存 Dos 环境函数()15PC_VectSet(uCOS, OSCtxSw)是安装 uCOS_II 中断函数()19所有的电子设备都属于嵌入式设备(X )20CISC将被 RISC所取代(X )三填空题1uCOS-II 的任务结构由 3 个部分构成:任务控制块、( 任务程序代码任务堆栈)、任务程序代码;2系统软件的定义是( 控制和协调计算机及外部设备 , 支持应用软件开发和运行的系统,是无需用户干预的各种程序的集合,主要功能

10、是调度,监控和维护计算机系统 );3任务控制块中OSTCBNext、( OSTCBPrev)两个变量使任务能构成双向链表;4内核负责管理各个任务,或者为每个任务分配 CPU时间,并且负责任务之间的通信,内核的基本服务是( 任务程序代码任务调度 );。2欢迎下载精品文档5在 uCOS-II 中,用信号量实现任务之间通信, 信号量的管理文件是( OS_SEM.)C;6在 uCOS-II 中,用消息邮箱实现任务之间通信,消息邮箱的管理文件是( OS_MBOX. )C;7在 uCOS-II 中,用互斥信号量实现任务之间通信,互斥信号量的管理文件是( OS_MUTEX).C;8在 uCOS-II 中,用

11、消息队列实现任务之间通信,消息队列的管理文件是( OS_Q.C);9uCOS-II 为了实现不同层次的管理,系统提供了基于分区分块的存储器访问方式。创建内存分区的原函数名是( OS_MEM *OSMemCreate(void*addr,INT32U nblks, INT32U blksize, INT8U *err);) ;10存储器内存控制块 OS_MEM的数据结构是采用结构体定义的,结构体的名字是( OS_MEM);四简答题1. 已知任务 A 的优先级是 prio ,简述将其置为就绪态的算法和过程,写出示意代码。答:设 Prio=00D5 D4 D3 D2 D1 D0OSRdyGrp中的第

12、 y 位( D5 D4 D3 位)或 1(不管原来是 1 或 0,该位置 1);第 y 组即元素 OSRdyTbly (第 y 行)的第 x 位( D2 D1 D0 位)置即 1;首先使 OSRdyGrp中的第 y 位置 1:OSRdyGrp|=OSMapTblPrio>>3;再使第 y 行的第 x 位( D2 D1 D0 位)置即 1OSRdyTblPrio>>3 |=OSMapTblPrio&0x072. 已知 OSRdTbl 和 OSRdGrp值,叙述查找任务就绪表中最高优先级任务的方法和过程,写出示意代码。答 :( 1)获得优先级别的 D5、 D4、D3

13、 位;( 2)获得优先级别的 D2、 D1、D0 位( 3) (y << 3) + x 获得就绪任务的优先级别y = OSUnMapTblOSRdyGrp;/ 获得优先级别的 D5、D4、 D3位x = OSUnMapTblOSRdyTbly; /获得优先级别的D2、D1、D0 位OSPrioHighRdy = (INT8U)(y << 3) + x);/获得就绪任务的优先级别3uCOS-II 系统中有 13 个文件,其中有 2 个文件与应用程序相关,请你写出这 13 个文件的名称,解释每个文件在系统中所起的作用 ( 解释要全面 ) ;答 :OS_CORE.C;在系统中

14、所起的作用 - 核OS_Q.C; 在系统中所起的作用 - 消息队列OS_FLAG.C; 在系统中所起的作用 - 信号量集OS_SEM.C;在系统中所起的作用 - 信号量OS_MBOX.C;在系统中所起的作用 - 消息邮箱OS_TASK.C; 在系统中所起的作用 - 任务OS_TIME.C; 在系统中所起的作用 - 时间OS_MEM.C;在系统中所起的作用 - 存储器。3欢迎下载精品文档OS_MUTEX.C;在系统中所起的作用 - 互斥型信号量uCOS.C; 在系统中所起的作用 - 定义 9 个 C 文件和一个头文件uCOS.H; 在系统中所起的作用 - 定义常数OS_CFG.H;在系统中所起的

15、作用 - 实现可裁剪性INCLUDES.H;在系统中所起的作用 - 文件中定义了 9 个头文件4. 简述 uCOS-II 的中断响应过程答:中断请求、关中断、转到中断向量、保存 CPU寄存器、通知内核进入5写出实时操作系统中任务调度器的思想;答:void OSSched (void) reentrantINT8U y;OS_ENTER_CRITICAL();if (OSLockNesting | OSIntNesting) = 0) /y = OSUnMapTblOSRdyGrp;OSPrioHighRdy = (INT8U)(y << 3) + OSUnMapTblOSRdyTb

16、ly); if (OSPrioHighRdy != OSPrioCur) OSTCBHighRdy = OSTCBPrioTblOSPrioHighRdy; OSCtxSwCtr+;OS_TASK_SW();OS_EXIT_CRITICAL();五代码题1. 设计一个有 2 个任务的应用程序 , 这两个任务是 mytask 和 youtask, 在 mytask 中创建 youtask, 当程序运行后 , 任务 mytask 的工作在显示器上显示一个 M; 任务 youtask 的工作在显示器上显示一个 Y; 运行结果是 :请你编写这个程序。/*Test*/ #include "in

17、cludes.h"#define TASK_STK_SIZE512/ 任务堆栈长度OS_STKMyTaskStkTASK_STK_SIZE;/ 定义任务堆栈区OS_STKYouTaskStkTASK_STK_SIZE;/ 定义任务堆栈区INT16Skey;/ 用于退出 uCOS_II 的键INT8U x=0,y=0;/ 字符显示位置void MyTask(void *data);/ 声明任务void YouTask(void *data);/ 声明任务/*主函数 */void main (void)。4欢迎下载精品文档char* s_M="M"/ 定义要显示的字符

18、OSInit( );/初始化 uCOS_IIPC_DOSSaveReturn( );/ 保存Dos 环境PC_VectSet(uCOS, OSCtxSw);/ 安装 uCOS_II中断OSTaskCreate(MyTask,/ 创建任务MyTasks_M,/ 给任务传递参数&MyTaskStkTASK_STK_SIZE - 1,/ 设置任务堆栈栈顶指针0/任务的优先级别为0);OSStart( );/ 启动多任务管理/*任务 MyTask*/void MyTask (void *pdata)char* s_Y="Y"/ 定义要显示的字符#if OS_CRITICAL

19、_METHOD = 3OS_CPU_SR cpu_sr;#endifpdata = pdata;OS_ENTER_CRITICAL( );PC_VectSet(0x08, OSTickISR);/ 安装时钟中断向量PC_SetTickRate(OS_TICKS_PER_SEC);/ 设置时钟频率OS_EXIT_CRITICAL( );OSStatInit( );/初始化统计任务OSTaskCreate(YouTask,s_Y,&YouTaskStkTASK_STK_SIZE - 1,2);for (;)if (x>50)x=0;y+=2;。5欢迎下载精品文档PC_DispChar

20、(x,y,*(char*)pdata,DISP_BGND_BLACK+DISP_FGND_WHITE );x += 1;if (PC_GetKey(&key) = TRUE)/如果按下 Esc 键则退出 uCOS_IIif (key = 0x1B)PC_DOSReturn( );/ 恢复 Dos 环境OSTimeDlyHMSM(0, 0, 3, 0);/ 等待 3 秒/* 任务 YouTask*/ void YouTask (void *pdata)#if OS_CRITICAL_METHOD = 3OS_CPU_SR cpu_sr;#endifpdata = pdata;for (;

21、)if (x>50)x=0;y+=2; PC_DispChar(x,y,*(char*)pdata,DISP_BGND_BLACK+DISP_FGND_WHITE );x += 1;OSTimeDlyHMSM(0, 0, 1, 0);/ 等待 1 秒/*End*/2. 程序分析题(共 20 分)1指出程序中的共享资源和信号量答:“ ac_key”是信号量, S 是共享资源2分析程序执行过程,按程序执行的先后顺序,用箭头连接语句标号,例如:答:1 2 3 4 5 6 7 8 9 10 11 12 13 若干次 2 3 413 若干次 2 3 4 OSTime>=500 2 3 4 5

22、 6 7 8 9 10 11 12 13 若干次2 3 413若干次2 3 4 OSTime>=5003写出打印屏幕的结果:答案,参考教材P1074对屏幕打印的结果做详细解释:答案, MyTask打印的行数是YouTask行数的一半;#include "includes.h"。6欢迎下载精品文档#define TASK_STK_SIZE512OS_STK MyTaskStkTASK_STK_SIZE;OS_STK YouTaskStkTASK_STK_SIZE;INT16S key;INT8U y1=0,y2=0;BOOLEAN ac_key;char* s=&quo

23、t; 原始数据 "voidMyTask(void *data);voidYouTask(void *data);voidmain (void)OSInit( );ac_key=1;( 1 )PC_DOSSaveReturn( );PC_VectSet(uCOS, OSCtxSw);OSTaskCreate(MyTask, (void*)0,&MyTaskStkTASK_STK_SIZE - 1, 0);OSStart( );voidMyTask (void *pdata)(2)#if OS_CRITICAL_METHOD = 3OS_CPU_SR cpu_sr;#endifI

24、NT8U err; pdata = pdata; OS_ENTER_CRITICAL( );PC_VectSet(0x08, OSTickISR);PC_SetTickRate(OS_TICKS_PER_SEC);OS_EXIT_CRITICAL( );OSStatInit( );OSTaskCreate(YouTask,(void*)0,&YouTaskStkTASK_STK_SIZE - 1,2);for (;)(3 )if(ac_key)(4)ac_key=FALSE;(5)s="MyTask 访问共享数据 s"( 6 )PC_DispStr(5, +y1,s

25、,ISP_BGND_BLACK+DISP_FGND_WHITE);ac_key=TRUE;(7 )if (PC_GetKey(&key) = TRUE) if (key = 0x1B) PC_DOSReturn( ); OSTimeDly(20);void YouTask (void *pdata)(8 )#if OS_CRITICAL_METHOD = 3OS_CPU_SR cpu_sr;#endifINT8U err;。7欢迎下载精品文档pdata = pdata;for (;)if(ac_key)(9 )ac_key=FALSE;(10 )s="YouTask 访问共享

26、数据 s"( 11 )PC_DispStr(28, +y2,s,DISP_BGND_BLACK+DISP_FGND_WHITE );OSTimeSet(0);(12 )while(OSTime<500)(13 )PC_DispStr(55, y2,s,DISP_BGND_BLACK+DISP_FGND_WHITE );ac_key=TRUE;(14 )OSTimeDly(10);3. 结合实时操作系统创建任务和任务之间通信的实验 , 编写一个创建 2-3 个任务,并实现任务之间通信的程序,程序尽可能完整,丢失关键代码扣分#include "includes.h"#define TASK_STK_SIZE512/ 任务堆栈长度OS_STKTaskStartStkTASK_STK_SIZE; /定义任务堆栈区INT16Skey;/ 用于退出 uCOS_II 的键INT8Ux=0,y=0;

温馨提示

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

评论

0/150

提交评论