μC/OS-III——任务管理

作者: 老干妈拌雪梨喂张学友 | 来源:发表于2019-07-20 20:08 被阅读0次

多任务管理:在多个任务间调度和切换CPU使用权的过程


任务类型

1、运行至完成型:完成工作后结束运行,在嵌入式系统中最好少用

void MyTask(void *p_arg)

{

        OS_ERR err;

        /*局部变量*/

        /*处理p_arg*/

        /*任务初始化*/

        /*任务主体*/

        OSTaskDel((OS_TCB *)0. &err);

}

2、无限循环型

        用while(1)或for(;;)的方式实现无限循环,但必须调用μC/OS-III服务函数使得任务等待某个事件的状态

        任务等待一个事件时,不会占用CPU时间。


任务相关资源

        每个任务有其优先级,μC/OS-III可配置64个不同优先级,每个优先级可以有数十个任务;

        每个任务必须有自己的栈空间;

        若频繁创建删除任务,存储器最终会布满碎片,导致无法再使用存储器管理函数给任务分配栈空间。


        系统设计的重要原则:CPU的利用率应为60%~70%

        嵌入式系统通用原则:不要使用递归调用

        任务实际分配的栈空间大小与具体应用相关,应在计算值的基础上乘以一个安全系数,一般取值在1.5~2之间


可供应用程序调用的任务管理函数:

任务管理函数

任务的五种基本状态:休眠态、等待态、就绪态、中断服务态、运行态

任务的五种基本状态

μC/OS-III的内部任务转换图:

μC/OS-III内部任务状态机

任务管理——系统内部任务(初始化时必须至少创建两个任务——空闲任务、时钟节拍任务)

1、空闲任务(当所有其他任务未就绪时,运行空闲任务

优先级:OS_CFG_PRIO_MAX - 1(唯一可使用该优先级的任务)

空闲活跃度:OSIdleTaskCtr,由统计任务控制,统计程序运行时CPU利用情况

2、时钟节拍任务(跟踪任务延时和任务等待超时

优先级:一般设置为相对较高,应比系统中最重要的任务优先级略低;

时钟节拍ISR与时钟节拍任务的关系

时钟节拍列表:由一个数据表计数器组成;

全空的时钟节拍表

任务插入时间列表公式:

  MatchValue = OSTickCtr + dly

    Index into OsCfg_TickWheel[ ] = MatchValue % OS_CFG_TICK_WHEEL_SIZE

3、统计任务

4、定时任务

时钟节拍ISR和定时任务间的关系

5、中断服务管理任务

中断服务管理任务

相关文章

  • μC/OS-III——任务管理

    多任务管理:在多个任务间调度和切换CPU使用权的过程 任务类型: 1、运行至完成型:完成工作后结束运行,在嵌入式系...

  • μC/OS-III——任务调度

    时间片轮转调度 当两个或多个任务具有相同优先级时,μC/OS-III允许一个任务运行一段指定的时间片然后轮到下一任...

  • μC/OS-III——任务切换

    任务切换:μC/OS-III需要从当前任务切换到另一个任务时,它将保存当前任务的现场到当前任务的堆栈中,主要是CP...

  • μC/OS-III——任务就绪表

    任务就绪表(包括就绪优先级位映射表、就绪任务列表) 优先级 某一优先级有任务就绪,则映射表中该优先级对应的位被置1...

  • μC/OS-III——任务挂起表

    当一个任务等待信号量、互斥型信号量、事件标志组或消息队列时,该任务就被放入任务挂起表或等待表中。 任务挂起表记录的...

  • μC/OS-III——中断管理

    CPU在确认中断后,将其部分或全部寄存器入栈保存,并跳转执行一个特殊的函数,这个函数成为中断服务程序。 中...

  • μC/OS-III——时间管理

    1. OSTimeDly(): 该函数有三种模式:相对模式、周期模式和绝对模式。 1)相对模式 相对模式下...

  • GCD

    GCD 是苹果APP开发(Objective-c)中管理线程的一种方式! 任务: 任务就是需要执行的...

  • iOS-多线程:GCD

    一、概述 多核并行运算,自动管理线程的声明周期,基于C语言编写 二、任务、队列 任务: 任务就是要执行的操作,要做...

  • μC/OS-III——临界段代码(临界区)

    临界段代码(临界区):必须完整连续运行,不可被打断的代码段。 保护方式: 1、关中断: 使用场景:中断处理程序和任...

网友评论

    本文标题:μC/OS-III——任务管理

    本文链接:https://www.haomeiwen.com/subject/lxgulctx.html