![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
FreeRTOS
文章平均质量分 98
linqwer1
记录自己的学习过程~
展开
-
FreeRTOS:3.信号量
信号量(Semaphore)是一种实现任务间通信的机制,可以实现任务之间同步或临界资源的互斥访问,实现的方式主要就是依靠队列(信号量是特殊的队列)的任务阻塞机制。原创 2024-04-28 10:06:01 · 620 阅读 · 0 评论 -
FreeRTOS:3.消息队列
本文主要基于消息队列的源码进行分析,来对FreeRTOS的消息队列进一步学习。消息队列非常重要,因为后面的各种信号量基本都是基于队列的,搞清楚消息队列的源码,也就搞清楚消息队列的原理。参考链接:FreeRTOS-消息队列详解_freertos消息队列-CSDN博客消息队列是一种常用于任务间通信的数据结构,队列可以在任务与任务间、中断和任务间传递信息,实现了任务接收来自其他任务或中断的不固定长度的消息(而这个消息可以是任意类型的数据),任务能够从队列里面读取消息,也能够向队列发送消息。基于队列,FreeRTO原创 2024-04-25 16:47:22 · 585 阅读 · 0 评论 -
FreeRTOS:2.任务调度
通用方法其实就是从高优先级向低优先级遍历链表数组,找到就绪任务的最高优先级,而通用方法就是通过位图的方式,根据一个全局变量的前导0数量计算得到就绪任务中任务的最高优先级。通用方式,—配置宏定义configUSE_PORT_OPTIMISED_TASK_SELECTION 为 0:优点:1.在所有平台中都可以使用通用方式,因为支持C语言就可以了。2.可用的优先级数量不限制,最大为255个优先级缺点:1.由纯C语言编写,比优化方式效率低。原创 2024-04-23 18:48:37 · 1017 阅读 · 0 评论 -
FreeRTOS:1.通用链表分析
该系列记录学习FreeRTOS的源码的过程,基于,以及FreeRTOS源码进行学习。首先是FreeRTOS内核的通用链表实现。原创 2024-04-17 16:35:20 · 1023 阅读 · 0 评论