![](https://img-blog.csdnimg.cn/direct/486775fddf9845a083f057b86aa1c31e.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
FreeRTOS
文章平均质量分 87
深入了解FreeRTOS:实时操作系统的核心概念和应用
爱学电子的刻刻帝
作为嵌入式学习者一员,我会分享我所学习到的东西,和遇到的问题,与大家一同探讨。
展开
-
FreeRTOS内存管理(详细到源码)
FreeRTOS提供了5种动态内存管理算法,分别为: heap_1、heap_2、heap_3、heap_4、heap_5 ,我们会详细讲解这五个heap,从源码出发,让你彻底理解单片机动态内存管理算法。原创 2024-07-17 18:37:51 · 1248 阅读 · 0 评论 -
FreeRTOS的中断管理、临界资源保护、任务调度
什么是临界段:临界段代码也叫做临界区,是指那些必须完整运行,不能被打断的代码段。临界区是直接屏蔽了中断,系统任务调度靠中断,ISR也靠中断。以上就是FreeRTOS的中断管理、资源管理、任务调度的核心内容。我讲的是关键点,不过也很片面,内部实现过程更为精妙,读者如果水平较高,可以自己去研究一下,我就不去研究了,因为确实有点难,会到这一步就够了。原创 2024-07-17 01:33:47 · 986 阅读 · 0 评论 -
FreeRTOS任务通知(Task Notifications)及内部机制
所谓"任务通知,你可以反过来读通知任务。我们使用队列、信号量、事件组等等方法时,并不知道对方是谁。使用任务通知时,可以明确指定:通知哪个任务。使用队列、信号量、事件组时,我们都要事先创建对应的结构体,双方通过中间的结构体通信。"通知。原创 2024-07-15 22:12:50 · 1093 阅读 · 0 评论 -
FreeRTOS事件组(event group)及内部机制
其实事件组和前面讲的信息量啊,互斥量啊,队列那些几乎都很像了,FreeRTOS的核心就是“调度”,只要你看懂”调度“,那么内部实现的原理你也就能迎刃而解了,当然,提醒一下,无需每条代码都要看懂,大概知道这些代码干什么的就行,毕竟,我们RTOS相比裸机开发已经很高级,越高级越不需要弄底层,大概知道就行了。原创 2024-07-14 22:40:04 · 701 阅读 · 0 评论 -
FreeRTOS信号量和互斥量
信号量是一种解决同步问题的机制,可以实现对共享资源的有序访问。前面介绍的队列(queue)可以用于传输数据:在任务之间、任务和中断之间。消息队列用于传输多个数据,但是有时候我们只需要传递状态,这个状态值需要用一个数值表示。在这种情况下我们只需要维护一个数值,使用信号量效率更高、更节省内存。原创 2024-06-28 22:06:35 · 675 阅读 · 0 评论 -
FreeRTOS消息队列(深入到源码)!!!
以上就是FreeRTOS中关于消息队列的知识,我从浅到深讲解了消息队列,不局限于单纯的去调用API函数使用消息队列,要对其内部机制有一定的了解,这才是我们学习者该做到的事情,原创 2024-06-22 18:29:38 · 949 阅读 · 0 评论 -
FreeRTOS同步互斥与通信
经过对本篇的概述,如果你以及学过的话,可以加深你对FreeRTOS的了解,如果你是初学,可以帮你对RTOS有一个大概的掌握,后续我将会对这些一个个展开讲解,并且会从内部机制来对其进行分析,让你不止会用,而且还知道为什么可以这样用。原创 2024-06-01 22:07:57 · 746 阅读 · 0 评论 -
FreeRTOS任务调度机制(源码讲解)
链表在任务调度中起着至关重要的作用,对任务的管理和调度都有着重要的影响。以下是链表在任务调度中的作用和影响的总结:1. 任务状态管理:链表用于存储不同状态的任务,如就绪状态、阻塞状态等。通过将任务按照状态存储在不同的链表中,操作系统可以高效地管理和调度任务。2. 调度算法实现:操作系统根据不同的调度算法(如优先级调度、时间片轮转调度等)从任务链表中选择下一个要执行的任务。链表提供了数据结构来组织和管理这些任务,以便调度器能够快速找到合适的任务进行调度。原创 2024-06-01 21:32:54 · 1204 阅读 · 0 评论 -
FreeRTOS任务(深入到源码进行分析)
要先理解任务的内部机制,我们首先要去知道堆栈。注意:我们经常堆栈混合着说,其实它们不是同一个东西:--堆,heap,就是一块空闲的内存,需要提供管理函数--malloc:从堆里划出一块空间给程序使用--free:用完后,再把它标记为空闲的,可以再次使用--栈,stack,函数调用时局部变量保存在栈中,当前程序的环境也是保存在栈中--可以从堆中分配一块空间用作栈--为了好叫,我们直接把栈叫为堆栈。原创 2024-05-27 18:19:10 · 915 阅读 · 0 评论 -
FreeRTOS 源码概述
FreeRTOS 目录结构FreeRTOS 目录结构使用 STM32CubeMX 创建的 FreeRTOS 工程中,FreeRTOS 相关的源码如下:主要涉及2个目录:CoreInc目录下的是配置文件Src 目录下的freertos.c是创建的默认任务根目录下是核心文件,这些文件是通用的portable 目录下是移植时需要实现的文件比如:,这表示cortexM3架构在RVDS工具上的移植文件核心文件FreeRTOS的最核心文件只有2个:1、原创 2024-05-25 21:21:20 · 303 阅读 · 0 评论 -
创建FreeRTOS工程
这就是我们用STM32CubeMX创建的最基本的一个FreeRTOS的工程。可以看到,这个与我们使用stm32开发的裸机程序有相同的地方,也有不同的地方,我们可以发现,多了不少文件,读者开始不必惊慌,后续我会逐步讲解,可以先按部就班学习,先学会怎么去使用,在此基础上,再去深入的了解内部机制。原创 2024-05-25 21:02:09 · 241 阅读 · 0 评论 -
深入了解FreeRTOS:实时操作系统的核心概念和应用(细到源码)
深入了解FreeRTOS:实时操作系统的核心概念和应用(细到源码),我不仅会把基本的知识和用法讲解出来,也会将FreeRTOS的核心通过他的源码,讲解给大家,让大家不仅会用,还理解内部的核心机制,只有真正理解核心机制,才能成为一名RTOS大神。原创 2024-05-25 20:12:29 · 1441 阅读 · 0 评论