FreeRTOS任务管理

本文介绍了FreeRTOS的抢占式多任务系统,详细讲解了时间片调度、任务的四种状态(运行态、就绪态、阻塞态、挂起态)及其转换,并探讨了任务堆栈在任务切换中恢复现场的关键作用。
摘要由CSDN通过智能技术生成

抢占式多任务系统

  FreeRTOS是一个抢占式的实时多任务系统,运行过程如下:

在这里插入图片描述

  高优先级的任务可以打断低优先级任务的运行,从而取得CPU的使用权,这样就保证了紧急任务的运行。
  可以为那些对实时性要求高的任务设置一个很高的优先级,例如自动驾驶中的障碍物检测任务。
  高优先级的任务执行完成以后,重新把CPU的使用权归还给低优先级的任务,这个就是抢占式多任务系统的基本原理。

时间片调度

  对于同等优先级任务来说,每个任务允许运行一个时间片。当前任务消耗完一个时间片后,CPU的使用权将会移交给同等优先级下的另一个任务。
  时间片的长度是由configTICK_RATE_HZ决定的。如果configTICK_RATE_HZ1000,那么一个时间片的长度就是1ms

任务状态

  FreeRTOS中的任务永远处于下面几个状态中的某一个:

运行态

  当一个任务正在运行时,那么这个任务就处于运行态。

就绪态

  就绪态是指那些已经准备就绪,随时可以运行的任务,但是目前还没有运行。<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值