




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、内核实验(二)优 先 级 反 转1实验目的 掌握在基于优先级的可抢占嵌入式实时操系统的应用中,出现优先级反转现象的原理。2 高优先级任务需要等待低优先级任务释放资源,而低优先级任务又正在等待中等优先级任务,这种现象就被称为优先级反转 。优先级反转原理3 共有3个应用任务TA0,TA1,TA2; 优先级: TA0TA1TA2; TA0和TA2互斥使用资源 mutex; TA2最先获得mutex。实验设计4t1t2t4t5t6t7t8t9t10t117优先级65t123100运行流程5#define OS_LOWEST_PRIO 9 /*任务优先级不可以大于9*/#def
2、ine OS_TASK_CREATE_EN 1 /*允许使用OSTaskCreate()*/#define OS_MAX_TASKS 4 /*最多可以创建4个任务*/#define OS_TASK_STAT_EN 0 /* 禁止统计任务*/操作系统配置6#define OS_TICKS_PER_SEC 200 /*设置每秒之内的时钟节拍数目*/#define OS_SEM_EN 1 /*是否允许使用信号量功能*/#define OS_MAX_EVENTS 1 /*最多可以有1个事件*/操作系统配置7 OSTaskCreate():建立一个新任务 本实验中所用到的C/OS-II相关函数 OSTi
3、meDly():将一个任务延时若干个时钟节拍 OSSemCreate():建立并初始化一个信号量 OSSemPend():申请信号量 OSemPost():设置信号量 8、创建起始任务TaskStartOSTaskCreate(TaskStart, (void *)0, &TaskStartStkTASK_STK_SIZE - 1, 4); 源程序说明9TaskStart负责:安装时钟中断服务例程ucos_x86_idt_set_handler(0 x20,(void *)OSTickISR,0 x8e00);初始化操作系统时钟ucos_timer_init();创建应用任务TaskStart
4、CreateTasks();源程序说明102、创建应用任务Task0、Task1、Task2OSTaskCreate(Task0, (void *)&TaskData0, &TaskStk0TASK_STK_SIZE - 1, 5);OSTaskCreate(Task1, (void *)&TaskData1, &TaskStk1TASK_STK_SIZE - 1, 6);OSTaskCreate(Task2, (void *)&TaskData2, &TaskStk2TASK_STK_SIZE - 1, 7);源程序说明11void Task0 (void *pdata) for (;) /
5、* 无限循环 */ OSTimeDly(200); /* Delay 200 clock tick */ OSSemPend(mutex,0,&err); /* Acquire mutex */ OSTimeDly(200); /* Delay 200 clock tick */ OSSemPost(mutex); /* Release mutex */ 3、应用任务Task0功能:申请信号量mutex源程序说明12Task1功能:中等优先级任务,抢占Task2的CPUvoid Task (void *pdata) for (;) /* 无限循环 */ . OSTimeDly(100); .OSTimeDly(100); 源程序说明13void Task (void *pdata) for (;) /* 无限循环 */ OSSemPend(mutex,0,&err); /* Acquire mutex */ OSTimeDly(200); /* Delay 200 clock tic
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 化工助剂销售合同范本
- 公司销售授权合同范本
- 专属模特签约合同范本
- 北京新房二手房合同范本
- 上海小产权合同范本
- 刚果劳务雇佣合同范本
- 全国中图版高中信息技术必修一第四单元加工表达信息第二节《创作电子作品》教学设计
- 农村机井托管合同范本
- 办公空房出租合同范本
- 制衣小厂转让合同范本
- 生物-湖北省鄂东新领先协作体2025届高三下学期2月调考(二模)试题和答案
- 运营总监个人总结
- 社会问题(第三版)课件汇 向德平 第1-7章 社会问题概述 - 人口问题
- 深圳2025年广东深圳市公办中小学招聘事业单位工作人员178人笔试历年参考题库附带答案详解
- 2025届高考化学二轮复习:晶胞的相关性质及计算(含解析)
- 2025年陕西延长石油集团矿业公司招聘笔试参考题库含答案解析
- GB/T 44994-2024声学助听器验配管理
- 2024年沙洲职业工学院高职单招职业适应性测试历年参考题库含答案解析
- 2024年山东劳动职业技术学院高职单招语文历年参考题库含答案解析
- 融合智慧数据的图书馆数智服务平台研究
- 2025年春新人教版语文一年级下册全册课件
评论
0/150
提交评论