
FreeRTOS的个人分析笔记
通过代码理解机制
R1CHIE_L
这个作者很懒,什么都没留下…
展开
-
11.FreeRTOS延时函数
FreeRTOS延时简易分析架构:Cortex-M3版本:FreeRTOS V9.0.0前言:在很多情况,需要使用延时来达到一些效果,那么FreeRTOS的延时是怎么实现的目录FreeRTOS延时简易分析1.相对延时vTaskDelay2.绝对延时vTaskDelayUntil3 为什么说vTaskDelay是相对延时?而vTaskDelayUntil是绝对延时1.相对延...原创 2020-12-22 21:09:00 · 562 阅读 · 0 评论 -
10.FreeRTOS任务通知的简易分析
FreeRTOS任务通知架构:Cortex-M3版本:FreeRTOS V9.0.0前言:任务通知的出现,是为了代替有些场景队列和信号量的使用,为什么要替换?为什么可以替换?接下来是分析任务通知有什么优势。目录FreeRTOS任务通知1.任务通知的创建2.任务通知的发送3.任务通知的接收1.任务通知的创建任务通知并没有专门的函数创建,而是在每个任务创建的时候,任务通知就已经...原创 2020-12-22 08:32:00 · 147 阅读 · 0 评论 -
9.FreeRTOS内存管理简易分析
FreeRTOS Heap简易分析架构:Cortex-M3版本:FreeRTOS V9.0.0前言:队列、任务、信号量等都是需要内存来保存的,FreeRTOS提供了五种分配内存的方式。目录FreeRTOS Heap简易分析1.Heap1.c2.heap2.c2.1申请内存2.2释放内存2.3 重新启用被释放过的内存3.heap3.c4.heap4.c4.1 申请内存4.2...原创 2020-12-20 15:41:00 · 325 阅读 · 0 评论 -
8. FreeRTOS信号量的简易分析
FreeRTOS信号量简易分析架构:Cortex-M3版本:FreeRTOS V9.0.0前言:在多线程的系统中,通常要处理一些同步或资源竞争的问题,这时候可以使用信号量。目录FreeRTOS信号量简易分析1.二值信号量1.1二值信号量的创建1.2 释放二值信号量1.2.1 普通释放二值信号量1.2.2 中断中释放二值信号量1.3 获取二值信号量1.3.1 普通获取二值信...原创 2020-12-19 14:12:00 · 152 阅读 · 0 评论 -
7.FreeRTOS 队列的简易分析
FreeROTS队列的简易分析架构:Cortex-M3版本:FreeRTOS V9.0.0前言:很多时候,我们需要任务与任务、中断与任务通信,FreeRTOS提供了队列来实现这些操作。目录FreeROTS队列的简易分析1.队列结构体2.创建队列3.队列发送函数4.队列接收函数1.队列结构体typedef struct QueueDefinition{ int8_t ...原创 2020-12-15 23:10:00 · 275 阅读 · 0 评论 -
6. FreeRTOS任务调度
FreeRTOS任务调度架构:Cortex-M3版本:FreeRTOS V9.0.0前言:上一篇我们分析了任务的切换,其中写到了在vTaskSwitchContext里面的taskSELECT_HIGHEST_PRIORITY_TASK,计算uxTopReadyPriority 的前导零值,那么本篇尝试分析,FreeRTOS依据什么机制来操作uxTopReadyPrio...原创 2020-12-15 23:03:00 · 297 阅读 · 0 评论 -
5.FreeRTOS任务切换的简易分析
FreeRTOS任务切换的简易分析架构:Cortex-M3版本:FreeRTOS V9.0.0前言:之前分析了创建任务、启动调度器,在做完这些工作后,就是该完成所有RTOS的最核心的部分,任务的上下文切换,可以说,任务切换就是RTOS。目录FreeRTOS任务切换的简易分析1.SVC2.PendSV3.任务切换4.任务优先级选择在分析之前,先分析Cortex-M3的SVC和P...原创 2020-12-13 12:05:00 · 304 阅读 · 0 评论 -
4.FreeRTOS调度器的启动简易分析
FreeRTOS调度器的启动简易分析架构:Cortex-M3版本:FreeRTOS V9.0.0前言:上一篇我分析了关于一个任务的创建过程,既然创建了任务,自然是要用。那么FreeRTOS中对于任务的切换,调度器发挥着巨大的作用,这是一个核心。目录FreeRTOS调度器的启动简易分析1.从函数vTaskStartScheduler入手1.从函数vTaskStartSchedu...原创 2020-12-13 12:01:00 · 234 阅读 · 0 评论 -
3.FreeRTOS任务的简易分析
FreeRTOS任务的简易分析架构:Cortex-M3版本:FreeRTOS V9.0.0前言:毫无疑问,任务整个FreeRTOS的核心,所以分析起来很困难,我只能去各个地方看不同人的文档或笔记,把别人的东西变为自己的东西,最后记录这篇内容。我无法向介绍List那样把全部代码看一遍,只能把大概的流程写下来。目录FreeRTOS任务的简易分析1.任务结构体tskTaskCont...原创 2020-12-13 11:57:00 · 370 阅读 · 0 评论 -
2.FreeRTOS中断优先级和任务优先级
FreeRTOS中断优先级和任务优先级架构:Cortex-M3版本:FreeRTOS V9.0.0前言:最开始,我并没有搞清楚什么是中断优先级和任务优先级,但看了部分资料后发现这两个并没有半毛钱关系,于是便有了这篇笔记,本篇文章以Cortex-M3(STM32F103)为例子。目录FreeRTOS中断优先级和任务优先级1.Cortex-M3的中断优先级1.1 P...原创 2020-12-13 11:54:00 · 986 阅读 · 0 评论 -
1.FreeRTOS List简易分析
FreeRTOS从简单的List入手架构:Cortex-M3版本:FreeRTOS V9.0.0前言:打开List.c文件来看,200多行,并不是很多,详细看内容,其实就是一个双向链表的增和删目录FreeRTOS从简单的List入手1.结构体List_t2.结构体xLIST_ITEM3.链表的操作函数3.1链表的初始化->链表的初始化流程3.2链表项的初始化->链...原创 2020-12-10 21:09:00 · 232 阅读 · 1 评论