1 / 49
文档名称:

UCOS重点.docx

格式:docx   大小:3,774KB   页数:49页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

UCOS重点.docx

上传人:儒林 2024/5/10 文件大小:3.69 MB

下载得到文件列表

UCOS重点.docx

相关文档

文档介绍

文档介绍:该【UCOS重点 】是由【儒林】上传分享,文档一共【49】页,该文档可以免费在线阅读,需要了解更多关于【UCOS重点 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。UCOS重点任务1任务的基本概念uC/OS-II就是一个能对任务的运行进行管理和调度的多任务操作系统。(2)uC/OS-II任务的组成:任务代码:任务的执行部分任务堆栈:保存任务工作环境任务控制块:保存任务的属性(3)uC/OS-II的任务有两种:用户任务:由应用程序设计者编写的任务为解决应用问题而编写的56个系统任务:系统提供的任务为应用程序提供某种服务(预留)8个:空闲任务和统计任务用户任务的代码voidMyTask(void*pdata){for(;;){可以被中断的用户代码;OS_ENTER_CRITICAL(); //进入临界段(关中断)户任务3第4个参数prio:优先级别……OSStart(); //启动任务……}空闲任务(OSTaskIdle())在多任务系统运行时,系统经常会在某个时间内无用户任务可运行而处于空闲状态,为使CPU在没有用户任务可执行时有事可做,uC/OS-II提供了空闲任务。voidOSTaskIdle(void*pdata){#ifOS_CRITICAL_METHOD==3OS_CPU_SRcpu_sr;#endifpdata=pdata; //防止某些编译器报错for(;;){OS_ENTER_CRITIVAL(); //关中断OSdleCtr++; //计数OS_EXIT_CRITICAL(); //开中断}}统计任务(OSTaskStat())每秒计算一次CPU在单位时间内被使用的时间,并把计算结果以百分比的形式存放在变量OSCPUUsage中,以便应用程序通过访问它来了解CPU的利用率如果用户应用程序要使用统计任务,,并且必须在创建统计任务之前调用函数OSStatInit()对系统任务进行初始化最多可以对64个任务每隔个任务都已优先级别:0-::::0,1,2,…,OS_LOWEST_PRIO低任务个数:OS_LOWEST_PRIO+1OS_LOWEST_PRIO-1统计任务(存在的话)OS_LOWEST_PRIO空闲任务状态:睡眠状态就绪状态运行状态等待状态(时间、事件、手工挂起)中断服务状态uC/OS-II任务的代码结构是一个带有临界段(关中断)的无限循环结构。2任务堆栈(1)堆栈:存储器中按数据“后进先出(LIFO)”的原则组织的连续存储空间。92)任务堆栈:任务的重要组成部分每个任务都配有自己的堆栈满足任务切换和响应中断时保护CPU寄存器中的内容及存储任务私有数据的需要::保存工作环境堆栈的创建typedefunsignedintOS_STK;//该类型长度为16位OS_STKTaskStk[TASK_STK_SIZE]//定义数组使用:当调用函数OSTaskCreate()来创建一个任务时,把数组的指针传递给函数OSTaskCreate()中的堆栈栈顶参数ptos,就可以把该数组与任务关联起来而成为该任务的任务堆栈INT8UOSTaskCreate( void(*task)(void*pd),//指向任务的指针 void*pdata, //传递给任务的参数 OS_STK*ptos, //指向任务堆栈栈顶的指针 INT8Uprio //任务的优先级 )#defineMyTaskStkN64OS_STKMyTaskStk[MyTaskStkN];voidmain(void){......OSTaskCreate(MyTask, //任务的指针&MyTaskAgu, //传递给任务的参数&MyTaskStk[MyTaskStkN-1],//任务堆栈栈顶地址20 //任务的优先级);......}堆栈的增长方向(是栈顶(后放入的)在变化):向上的堆栈:向高地址向下的堆栈:向低地址(2)CPU启动运行一个任务时,各寄存器需要预置一些数据,如:指向任务的指针、PSW程序状态字任务堆栈初始化函数OSTaskStkInit()OS_STK*OSTaskStkInit(void(*task)(void*pd),只想任务的指针void*pdata,OS_STK*ptos,INT16Uopt);void*OSTaskStkInit(void(*task)(void*pd),void*ppdata,void*ptos,INT16Uopt)reentrant{OS_STK*stk;ppdata=ppdata;opt=opt;//opt没被用到,保留此语句防止告警产生stk=(OS_STK*)ptos;//用户堆栈最低有效地址*stk++=15;//用户堆栈长度*stk++=(INT16U)task&0xFF;//任务地址低8位*stk++=(INT16U)task>>8;//任务地址高8位3任务控制块(OS_TCB):1用来记录任务的堆栈指针、任务的当前状态、任务的优先级别等一系列与任务管理有关的属性的表

最近更新

羊年春节过年养生短信来报道-暖暖祝福来送到 20页

自评报告中的质量改进和教学评估的解读 26页

2024年公司培训个人总结 36页

公司歌曲征集方案 5页

2024年云南水利水电职业学院单招职业适应性测.. 57页

2024年云南省昆明市东川区融媒体中心招聘编外.. 176页

2024年保定职业技术学院单招职业适应性测试题.. 58页

传统保险运营方案 3页

会议服务方案小结 4页

会展沙龙方案 5页

2024年内蒙古通辽市科尔沁区事业单位卫生健康.. 176页

2024年内蒙古锡林郭勒苏尼特左旗乌兰牧骑招聘.. 177页

实验报告模版 二叉树基本操作与哈夫曼编码译码.. 24页

2024年北京市昌平区事业单位招聘262人历年高频.. 178页

2024年南通市通州区石港镇敬老院招聘7人历年高.. 180页

2024年吉林省白城市行政职业能力测验题库有完.. 148页

2024年安徽省宣城市行政职业能力测验题库(考.. 149页

2024年安徽省芜湖市行政职业能力测验题库(考.. 146页

2024年宝鸡职业技术学院单招职业适应性测试题.. 58页

2024年山东省泰安市行政职业能力测验题库一套.. 148页

教育学100071教育学作业(高起本)答案陕西师范.. 9页

2024年安徽省普通高中学业水平测试卷 5页

市委组织部副部长任职表态发言 2页

2023年北美电商市场研究报告 54页

车道雨棚施工方案 12页

一村(社区)一法官”“工作汇报3篇 18页

《信息技术及其应用》教学设计 4页

HSK标准教材第一册1-8课教案(英文版) 18页

【中考复习】2017年中考英语 词汇专项训练题(.. 72页

最新最全莱温斯基自传(1) 20页