
百问网FreeRTOS学习笔记
文章平均质量分 88
笔者学习百问网韦东山老师的课程时做的课堂笔记
番茄灭世神
盖文章经国之大业,不朽之盛事
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
百问网FreeRTOS复习笔记第1到7讲
在void StartDefaultTask(void *argument)函数中讲UART-Teat()解除注释,测试结果OLED屏幕上出现了预期的打印结果,串口助手截图如下。FreeRTOS 的参数包括时基频率、任务堆栈大小、是否使能互斥锁等等,需要开发者根据自己对 FreeRTOS 的了解以及项目开发的需求,来定制参数。(1)如果想要一直FreeRTOS程序,最好预留一个TIM计时器/*而不是系统滴答计时器*/作为时钟基准,老师这里选的是TIM4,跟着选就可以了。/*注意模块之间的互斥关系。原创 2024-01-23 17:28:07 · 1093 阅读 · 1 评论 -
百问网FreeRTOS听课笔记第43到49讲
本专栏一切形式的知识转述(源码、文字以及图表)版权均归属于百问网,源码仅供学习,请勿用于商业用途*/原创 2024-03-20 17:29:34 · 1053 阅读 · 1 评论 -
百问网FreeRTOS复习笔记第29到35讲
*本文的所有源代码以及其他一切形式的知识转述(文字、图表)均出自百问网,传送门:【FreeRTOS入门与工程实践 --由浅入深带你学习FreeRTOS(FreeRTOS教程 基于STM32,以实际项目为导向)】 https://www.bilibili.com/video/BV1Jw411i7Fz/?假设我们让r=0,w自增进行写操作,w会从0开始递增到7,但如果7位置也被写入数据,会出现r==w(缓冲区为空的判断条件),这与事实并不符合。这时就需要两个变量作为读写标志位,r代表读,w代表写。原创 2024-02-20 17:27:41 · 551 阅读 · 0 评论 -
百问网FreeRTOS复习笔记第15到21讲
FreeRTOS对于被被挂起的任务提供了查询链表,找到头节点之后就可以顺藤摸瓜,这个链表中存放着任务结构体(TCB:TaskControlBlock)。内存管理即是如何使用FreeRTOS中的堆。对于堆中的内存,CubeMX做出如下图管理,首先内存分配既可以是静态的也可以是动态的,其次堆的总容量大约为3072字节,最后使用的内存调度算法是heap_4。一般使用heap_4,有多块内存使用heap_5。有关heap的函数,大家可以参考韦老师编撰的手册。这一讲的目的是分别用静态、动态的方式创建多个任务。原创 2024-01-30 17:26:38 · 467 阅读 · 1 评论 -
百问网FreeRTOS复习笔记第8到14讲
这个入口函数是调度器算法的大门,在这之前不能使用osDelay进行延时,从ST给我们写的注释里面也可以得知FreeRTOS工程里面main.c的while(1){}循环不起作用。(1)在 Core\Src\main.c 的 main 函数里,初始化了 FreeRTOS 环境、创建了任务,然后启动。因为ARM架构编程和内存四区的知识我已经在不同的课里学了好几遍。/*源代码以及其他一切形式的知识转述均出自百问网课程,仅供参考,请勿用作商业用途。宏的名字是大小,可以添加小写的前缀。(2)常用的两种数据类型。原创 2024-01-30 15:53:19 · 505 阅读 · 1 评论 -
百问网FreeRTOS听课笔记第36到42讲
笔者当时遇到的情况是编译输出窗口(Build Output)中一大串驱动接口函数都在报错,问AI然后答复是这样的:这个错误提示是在链接阶段出现的,表示在执行区域中没有足够的空间来满足某些条件。②挑一个教学裁剪FreeRTOS模板的课学习一下这个过程,一方面可以提高对内核源码的熟悉程度,另一方面如果以后遇到了使用其他MCU+RTOS组合(例如将RT-Thread移植到GD32上)的时候不至于因为不能用CubeMX而束手无措。①自己尝试用CubeMX重新写一个完整工程出来,驱动可以移植老师写的,熟悉一下流程。原创 2024-01-22 13:37:50 · 652 阅读 · 0 评论