
快速通关FreeRTOS
文章平均质量分 94
本专栏将对FreeRTOS进行快速讲解,带你了解并使用FreeRTOS的各部分内容。
1、本专栏适用于快速了解FreeRTOS并进行开发
2、适用于快速突击面试
3、对新手小白非常友好
给生活加糖!
微电子发烧爱好者
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
FreeRTOS操作系统(详细速通篇)——— 第一章
首先,来看一下 FreeRTOS 这个名字,可以分为两部分:“Free”和“RTOS”。“Free”意味着免费、自由和不受约束,而“RTOS”则是实时操作系统(Real Time Operating System)的缩写。需要注意的是,RTOS 并不是指某一个特定的操作系统,而是一个类别,包括 μC/OS、FreeRTOS、RTX 和 RT-Thread 等等。这些都是 RTOS 类的操作系统。因此,从 FreeRTOS 这个名字中我们可以看出,它是一款免费的实时操作系统。原创 2024-07-15 09:30:00 · 3186 阅读 · 5 评论 -
FreeRTOS操作系统(详细速通篇)——— 第二章
由于运行态的任务只能有一个,运行态只能由就绪态任务进行转换,但进入就绪态的任务可以转换为其他三种状态。4.当Task3的阻塞状态解除(如延时结束或接收到信号量),Task3将恢复到就绪状态,并抢占Task2的运行。1.当Task1在运行时,若Task2变为就绪状态,抢占式调度器将使Task2抢占Task1的运行;2.当Task2在运行时,若Task3变为就绪状态,抢占式调度器将使Task3抢占Task2的运行;同样举例来说:Task4、Task5、Task6的优先级为相同的三个任务。原创 2024-07-17 09:15:00 · 1348 阅读 · 0 评论 -
FreeRTOS操作系统(详细速通篇)——— 第三章
这三个中断的中断服务函数在 HAL 库提供的文件中都有定义。根据上述步骤的修改,delay.c 文件中使用到了 FreeRTOS 的相关函数,因此就需要在delay.c文件中包含 FreeRTOS 的相关头文件,并且移除掉原本存在的 µC/OS 相关头文件。接下来修改 SYSTEM 文件夹中的最后一个文件——delay.c,delay.c 文件需要改动的地方比较多,大致可分为三个步骤:删除适用于 µC/OS 但不适用于 FreeRTOS 的相关代码、添加FreeRTOS 的相关代码、修改部分内容。原创 2024-07-18 14:15:00 · 1645 阅读 · 0 评论 -
FreeRTOS操作系统(详细速通篇)——— 第四章
静态任务创建函数详解如下所示,动态任务创建完成后也会会有一个返回值,其返回值与动态任务创建函数不同,当返回值不等于NULL时任务创建成功,若为其他值时说明任务创建失败!动态任务创建函数详解如下所示,动态任务创建完成后会有一个返回值,当返回值为pdPASS的时候说明任务创建成功,若为其他值时说明任务创建失败!空闲任务会负责释放被删除任务中由系统分配的内存,但由用户在任务删除前申请的内存, 则需要由用户在任务被删除前提前释放,否则将会导致内存泄露。静态任务创建函数很少使用,绝大部分都是动态任务创建函数。原创 2024-07-19 09:15:00 · 1175 阅读 · 0 评论 -
FreeRTOS操作系统(详细速通篇)——— 第五章
()挂起任务()恢复被挂起的任务()在中断中恢复被挂起的任务FromISR的API函数均是中断专用的函数。原创 2024-07-20 09:15:00 · 875 阅读 · 0 评论 -
FreeRTOS操作系统(详细速通篇)——— 第六章
1.1中断定义中断是 CPU 的一种常见特性,通常由硬件触发。当中断发生时,CPU 会暂停当前的程序,转而执行与该中断相关的服务程序。ARM Cortex-M 内核的微控制器(MCU)配备了嵌套向量中断控制器(NVIC,Nested Vectored Interrupt Controller),专门用于高效管理中断。简而言之,让CPU打断正常运行的程序,转而去处理紧急的事件(程序),就叫中断。原创 2024-07-21 09:15:00 · 1042 阅读 · 0 评论 -
FreeRTOS操作系统(详细速通篇)— 第七章(零碎知识篇)
此外,为了减少临界区的延迟,FreeRTOS 还提供了另一种方式,即通过设置中断优先级屏蔽(Interrupt Priority Masking),只禁用优先级较低的中断,而不是全部禁用。它是指代码中某些需要原子操作或不被打断的部分。在 FreeRTOS 中,临界代码保护区可以有效地保护共享资源,避免并发访问带来的问题。在 FreeRTOS 中,临界代码保护区通常通过禁用中断来实现。任务调度器就像它名字一样,若将其挂起,任务将无法正常调度。,我们希望在任务中对其进行修改时不被打断。来保护这些访问操作。原创 2024-07-22 09:15:00 · 1502 阅读 · 0 评论 -
FreeRTOS操作系统(详细速通篇)——— 第八章
在FreeRTOS中,列表是一个双向链表,包含多个列表项。每个列表具有一个列表根(List Root)和一个指向列表尾的指针。列表通过列表项来管理数据,每个列表项都存储了一个数值(通常是时间戳或优先级)和指向相应数据结构的指针。简而言之,列表就是数据结构,概念上和链表有点类似,列表被用来跟踪 FreeRTOS中的任务;列表项就是放在列表中的项目。列表项间的地址非连续的,是人为的连接到一起的。列表项的数目是由后期添加进来的个数决定的,随时可以改变。原创 2024-07-23 09:15:00 · 2767 阅读 · 1 评论 -
FreeRTOS操作系统(详细速通篇)——— 第九章
在之前的文章里我们已经对其进行过介绍,一共有三种调度方式。占式调度依赖任务的抢占优先级别,在FreeRTOS中抢占优先级数值越大,任务优先级越高。同等优先级任务它们轮流享有相同的运行时间(时间片),在该系统中一个时间片就相当于系统抵达定时器的一个中断周期。原创 2024-07-24 09:15:00 · 1344 阅读 · 0 评论 -
FreeRTOS操作系统(详细速通篇)——— 第十章
FreeRTOS提供的丰富API函数为开发者在任务管理、状态查询和时间统计等方面提供了强有力的支持。在实际应用中,开发者应根据项目需求选择合适的API函数,并注意相关宏定义的配置,以充分发挥FreeRTOS的功能优势。以下函数为获取任务相关数据的API函数,现在不必熟练使用,知道每个函数具体是用来做什么的即可,下文将对以下函数进行详细介绍。函数用于以表格形式获取系统中所有任务的信息。待获取状态任务的任务句柄。函数用于通过任务名获取任务的句柄。根据任务名获取该任务的任务句柄。获取任务的任务栈历史剩余最小值。原创 2024-07-25 09:15:00 · 1357 阅读 · 0 评论 -
FreeRTOS操作系统(详细速通篇)——— 第十一章
FreeRTOS中一种重要的机制,用于在任务与任务、任务与中断、中断与任务之间进行数据传递和通信。队列的主要作用是实现任务间的消息传递,以保证数据的安全性和可靠性。在队列中可以存储数量有限且大小固定的数据。队列中的每一项数据被称为“队列项目”,队列所能存储“队列项目”的最大数量称为队列的长度。在创建队列时,需要预先指定队列的长度和每个队列项目的大小。在向对列写入时候需要进入临界区在我专栏《FreeRTOS开发知识细节及问题详解》中有介绍什么为临界区),原创 2024-07-26 09:00:00 · 2136 阅读 · 0 评论 -
FreeRTOS操作系统(详细速通篇)——— 第十二章
信号量可以看作为一种工具,用于协调多个任务对共享资源的访问。在日常生活中,可以将信号量类比为停车场的停车位或者交通灯,它们帮助确保资源的有序使用和避免冲突。(1)本质二值信号量实际上是一个长度为1的队列,该队列只有空和满两种状态。(2)作用二值信号量通常用于任务同步和简单的资源互斥,但由于没有优先级继承机制,可能会导致优先级翻转的问题。因此,二值信号量更适合用于同步场景。(1)本质计数型信号量相当于长度大于1的队列,能够容纳多个资源。(2)作用计数型信号量常用于事件计数和资源管理。原创 2024-07-27 09:15:00 · 1147 阅读 · 0 评论 -
FreeRTOS操作系统(详细速通篇)——— 第十三章
函数描述使用动态方式创建事件标志组使用静态方式创建事件标志组清零事件标志位在中断中清零事件标志位设置事件标志位在中断中设置事件标志位等待事件标志位设置事件标志位,并等待事件标志位函数作用:使用动态方式创建事件标志组函数原型无返回值NULL:创建失败。其他值:事件标志组创建成功,返回其句柄。函数举例// 创建一个事件标志组// 处理创建失败的情况函数作用:清零事件标志位函数原型参数描述待操作的事件标志组句柄待清零的事件标志位返回值清零事件标志位之前事件组中事件标志位的值。函数举例。原创 2024-07-28 09:15:00 · 1169 阅读 · 0 评论 -
FreeRTOS操作系统(详细速通篇)——— 第十四章
任务通知是用来通知任务的。任务控制块(Task Control Block, TCB)中的结构体成员变量。原创 2024-07-29 09:00:51 · 1588 阅读 · 0 评论 -
FreeRTOS操作系统(详细速通篇)——— 第十五章(完结)
是一种可以在设定时间后执行某个操作的工具。想象一下,你在厨房里煮饭,需要在20分钟后关火。你可以设定一个厨房计时器(定时器),20分钟后它会提醒你去关火。原创 2024-07-30 09:00:00 · 3043 阅读 · 1 评论