FreeRTOS
文章平均质量分 91
taotao830
这个作者很懒,什么都没留下…
展开
-
【stm32】stm32cubeIDE在freeRTOS无法printf float 浮点数
stm32cubeIDE在freeRTOS的时候有坑,printf浮点,HAL库 等等,记录了一下爬坑过程原创 2020-07-21 08:52:00 · 5218 阅读 · 0 评论 -
【FreeRTOS】FreeRTOS 源码学习笔记 (6)并发解决 之 临界区(中断临界区)、信号量 分析
信号量自旋锁 + 互斥锁原创 2020-05-01 10:59:21 · 1544 阅读 · 0 评论 -
【FreeRTOS】FreeRTOS 源码学习笔记 (5) 任务调度器 + vTaskStartScheduler、xPortPendSVHandler、xPortSysTickHandler
1. 引言FreeRTOS的任务调度是个大头,也是一个操作系统的核心。其实个人理解,FreeRTOS调度规则很好理解,原则就是“优先级高抢占”,因为FreeRTOS是一个抢占式实时内核,一定会保证就绪态的高优先级任务可以先运行。所有的调度都是为了实现这个目的来做的。一些个人思考可以看4.1节。2. 原理分析2.1 什么情况会任务切换个人理解,只有当一个更高优先级的任务进入到就绪列表...原创 2020-04-25 20:05:51 · 6530 阅读 · 2 评论 -
【FreeRTOS】FreeRTOS 源码学习笔记 (4) 任务创建xTaskCreate + 常用结构体TCB、xLIST
1. 引言经过上一节移植,我们已经拿到了一个可以用的工程,接下来就可以单步跟踪了。使用FreeRTOS,首先要新建一个任务,我们可以单步跟一下它的运行流程,在调试之前,还是要先把最重要的几个结构体整理一下。(本文初版为2020.4.12,FreeRTOS的代码版本为FreeRTOS Kernel V10.3.1)2. 重要结构体2.1 TCB做FreeRTOS肯定首先要把大名鼎鼎的TC...原创 2020-04-19 20:25:14 · 1657 阅读 · 0 评论 -
【FreeRTOS】FreeRTOS 源码学习笔记 (3)队列 及 xQueueGenericSend分析
引言本篇又不写调度器了,准备先整理整理“队列“,无他,就觉得这个很有用,自己写应用层代码的时候,队列要用的比较多,之前一直用一个自己写的环形buffer,里面nReadIndex,nWriteIndex,nFreeIndex来管理总觉得不够“官方”,这次看到一个如此成熟的队列,还是忍不住先分析一下。...原创 2020-04-16 23:48:11 · 4087 阅读 · 2 评论 -
【FreeRTOS】FreeRTOS 源码学习笔记 (2)列表项 +一些不容易理解的点(xItemValue、pxIndex、vListInsertEnd…)
1. 引言本来第二节想直接写任务调度的,发现调度器里很多用到的list这个结构体。freeRTOS中的list.c和list.h文件又挺短的(list.c 198行 list.h 412行),就是一个链表,所以作为一个基础知识(软柿子),先补一波。(本文FreeRTOS版本 v10.3.1)2. 结构体list.h里重要的结构体就3个。列表列表项迷你列表项2.1 xL...原创 2020-04-14 12:50:22 · 1996 阅读 · 0 评论 -
【FreeRTOS】FreeRTOS 源码学习笔记(1) 文件结构 + stm32f103c8t6移植步骤
0. 引言之前freeRTOS用过几次,但是项目赶工的急,一直没有认真的去里面看过,最近正好有空,准备到里面看下源码实现,毕竟核心文件就这么几个,认真看一下流程,对操作系统的雏形也就有一个认识了。而且一些常用的功能,队列,内存管理,信号量之类的,都有,基本上彻底弄懂一个,对以后理解别的也有帮助。1. FreeRTOS介绍FreeRTOS其实不用再多介绍了,现在太火了,主要是免费,感觉很多厂家...原创 2020-04-11 11:11:43 · 2518 阅读 · 0 评论