FreeRTOS系统

frertos是可剥夺内核

1. 任务

与线程类似

任务函数

void ARaskFunction(void *);
无返回值,功能在死循环中运行。

顶层任务状态

任务有两种状态,运行态,非运行态。只有调度器能进行切换。

任务优先级

调度器保证选择最好优先级的任务,并使其进入运行态。
心跳中断的周期性中断用于调度器在每一个任务结束时运行调度程序。
如果一个高优先级一个低优先级,在心跳中断下,总是执行高优先级的任务,低优先级的任务被饿死

非运行态

  1. 阻塞态:一个任务在等待某个事件,事件驱动任务。
  2. 挂起态:对调度器不可见,使用挂起vTaskSuspend()唤醒vTaskResume()
  3. 就绪态:未阻塞未挂起态

空闲任务

空闲任务是保证至少有一个任务处于运行态,拥有最低的优先级保证随时切出,不浪费资源。

钩子函数

通过(回调,hook)钩子,可以直接在空闲任务中添加应用程序相关功能
作用:1. 执行后台或需要不停处理的代码
2. 测试处理器处理裕量,了解系统有多少富裕的处理时间
3. 将处理器配置到低功耗模式

限制:不能阻塞挂起,任务被删除后,空闲任务

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值