RTOS 系统篇-多任务协同与复杂消息的设计

RTOS 系统篇-多任务协同与复杂消息的设计

概述

对嵌入式系统的功能进行“任务划分”,是 RTOS 中软件设计的关键。当任务划分比较合理时,整体的软件设计就会比较简洁、高效、容易后期维护(比如增加新功能)。本小节对任务划分的基本方法进行概述,希望能给大家带来一定的启发。

任务的特性

1)独立性:一个任务的内部信息和数据是任务独有的,若要与另一个任务交互信息,最好通过通信组件(如信号量、队列)来实现。

2)动态性:任务的状态是动态变化的,即任务并不是随时都可以运行的,并且上一个过程还在运行的任务,可能下一个时间到来时就被更高优先级的任务或者中断夺走 CPU 的使用权。是的,没有 CPU 使用权(不考虑协处理器的情况)就不能运行。

3)交互性:任务之间(任务与中断之间)需要协同工作,一个任务可能涉及多个输入源(指的是向该任务发送数据、信号的任务或中断)、多个输出源(指的是该任务向其他任务发送数据、信号,使能中断)。

在这里插入图片描述

注:输入、输出部分是可选的。

任务的状态

如在RTOS任务状态总结及查看 RTOS 任务的

猜你喜欢

转载自blog.csdn.net/wangyx1234/article/details/128989479
今日推荐