FreeRTOS笔记(一)基础知识

裸机:不带操作系统,一个任务结束在执行下一个

RTOS:实时操作系统

  • 任务切换执行,实时性
  • 延时函数,任务调度
  • 抢占式,高优先级抢占低优先级任务
  • 任务堆栈:每个任务都有自己的栈空间
  • 中断可以打断任意任务

以上实现均是软件层的实现,中断是内核层

FreeRTOS是一种免费的嵌入式实时操作系统

学习资料:官网https://www.freertos.org/

一 任务调度器

任务调度器:使用相关任务调度算法调度当前需要执行的任务

调度方式有三种:

  • 抢占式调度:优先级不同的任务,优先级高的任务可以抢占优先级低的任务。(数值越大,优先级越高)
  • 时间片调度:优先级相同的任务,在每个时间节拍切换任务。轮流使用相同CPU时间(时间片),一个时间片 = SysTick中断周期
  • 协程式调度:官方不再更新。

二 任务状态

总共4种状态

  • 运行态:正在运行的任务,在STM32中,同一时间仅有一个任务处于运行态
  • 就绪态:即将执行的任务
  • 阻塞态:任务延时或者等待外部时间发生
  • 挂起态:暂停,调用相关函数,vTaskSuspend():挂起,vTaskResume():解挂

除了运行态,其他三种都有任务状态列表,类似链表

  • 就序列表
  • 阻塞列表
  • 挂起列表

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值