![](https://img-blog.csdnimg.cn/76e31d7baac0420a8d2d3a941f1fce3e.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
详解FreeRTOS
文章平均质量分 83
本专栏基于FreeRTOS底层源码介绍了嵌入式实时操作系统的概念,FreeRTOS任务创建、任务调度、任务同步与消息传递,软件定时器、事件通知等知识。
优惠券已抵扣
余额抵扣
还需支付
¥49.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
不脱发的程序猿
嵌入式工程师,CSDN博客专家、微软IoT领域MVP、华为云云享专家、阿里云专家博主、知乎认证科学技术领域答主
展开
-
详解FreeRTOS:专栏总述
本专栏基于FreeRTOS底层源码介绍了嵌入式实时操作系统的概念,FreeRTOS任务创建、任务调度、任务同步与消息传递,软件定时器、事件通知等知识。原创 2023-12-23 21:23:52 · 1363 阅读 · 0 评论 -
详解FreeRTOS:嵌入式软件系统架构(理论篇—1)
目前常见的嵌入式软件系统架构有三种可以分为:轮询系统架构、前后台系统架构和多任务系统架构。原创 2023-04-27 19:11:32 · 2137 阅读 · 0 评论 -
详解FreeRTOS:嵌入式多任务系统的多任务机制(理论篇—2)
在单处理器(嵌入式MCU)的计算机系统中,在某一具体时刻处理器只能运行一个任务,但是可以通过将处理器运行时间分成小的时间段,多个任务按照一定的原则分享这些时间段的方法,轮流加载执行各个任务,从而从宏观上看,有多个任务在处理器上同时执行,这就是单处理器系统上的多任务机制的原理。原创 2023-05-08 22:15:34 · 1030 阅读 · 0 评论 -
详解FreeRTOS:嵌入式多任务系统的任务上下文机制(理论篇—3)
任务在处理器上运行的某一时刻,有它自己的状态,即处理器所有的寄存器的数据,这个叫作任务的上下文,可以理解为是处理器的“寄存器数据快照”。通过这些数据,操作系统可以随时打断任务的运行或者加载新的任务,从而实现不同任务的切换运行。原创 2023-05-16 18:37:48 · 800 阅读 · 0 评论 -
详解FreeRTOS:嵌入式多任务系统的任务时间片和优先级(理论篇—4)
时间片和优先级是任务的两个重要参数,分别描述了任务竞争处理器资源的能力和持有处理器时间长短的能力,这两者同时是任务抢占的重要参数。原创 2023-05-17 19:15:42 · 1407 阅读 · 0 评论 -
详解FreeRTOS:嵌入式多任务系统的任务调度机制(理论篇—5)
常见的任务调度机制主要有时间片调度算法(时分式)、优先级调度算法(抢占式)和基于优先级的时间片调度算法。原创 2023-05-18 18:25:48 · 1643 阅读 · 0 评论 -
详解FreeRTOS:嵌入式多任务系统的任务状态(理论篇—6)
FreeRTOS有运行态、就绪态 、阻塞态和挂起态四种状态。原创 2023-05-23 18:18:06 · 1301 阅读 · 0 评论 -
详解FreeRTOS:嵌入式多任务系统的同步、互斥和通信(理论篇—7)
在多任务系统中,在任务间、中断和任务间必然存在着处理器交替抢占,轮流执行的情况。除此之外,这些可执行对象也存在着其他关系,仔细观察这些对象,它们总是要“走走停停、互相照应”,这也正是多任务系统的特点,只有这样设计系统才能使得硬件资源得到最大的利用。原创 2023-05-24 20:09:50 · 2049 阅读 · 0 评论 -
详解FreeRTOS:嵌入式多任务系统的任务等待和唤醒机制(理论篇—8)
不同的访问等待机制和唤醒机制是各种操作系统的重要区别。原创 2023-05-25 21:34:11 · 2570 阅读 · 0 评论 -
详解FreeRTOS:嵌入式多任务系统的任务互斥和优先级反转(理论篇—9)
在嵌入式多任务系统中,有些资源必须是独占使用的,多个任务对这样的资源的并发访问将导致错误的发生。一般来说,对需要独占使用的资源必须使用互斥方法将对其的并发访问串行化。在优先级多任务系统中引入互斥方案,会导致任务优先级反转的问题:假如某时低优先级的任务占有资源,然后又有高优先级的任务申请资源,但因为不能满足而被挂起了,即低优先级任务阻塞了高优先级任务的运行。原创 2023-05-29 21:03:22 · 2090 阅读 · 2 评论 -
详解FreeRTOS:嵌入式多任务系统的优先级继承和优先级天花板(理论篇—10)
为了避免因为中优先级任务挟持低优先级任务从而阻塞高优先级任务的现象,可以采用优先级继承和优先级天花板算法。原创 2023-06-13 21:09:05 · 2219 阅读 · 0 评论 -
详解FreeRTOS:嵌入式多任务系统的中断机制(理论篇—11)
不同处理器上的中断处理流程大致是相同的,但也有些细微差别,通过本篇博文来学习一下嵌入式多任务系统的中断机制吧~原创 2023-06-14 20:45:16 · 1726 阅读 · 0 评论 -
详解FreeRTOS:FreeRTOS是什么?(基础篇—1)
从本篇博文开始,我们就正式接触到FreeRTOS的相关知识了,那么FreeRTOS到底是什么呢?原创 2023-06-19 20:59:51 · 3124 阅读 · 0 评论 -
详解FreeRTOS:FreeRTOS源码工程下载和说明(基础篇—2)
FreeRTOS源码工程下载和说明。原创 2023-06-25 22:16:45 · 1812 阅读 · 0 评论 -
详解FreeRTOS:移植FreeRTOS工程(基础篇—3)
如何移植FreeRTOS工程?原创 2023-06-26 22:34:51 · 1480 阅读 · 0 评论 -
详解FreeRTOS:FreeRTOS编程方法(基础篇—4)
在目前的 RTOS 中,主要有两种比较流行的编程方法,接下来我将通过伪代码的方式来讲解下这两种编程方式。原创 2023-07-17 19:59:44 · 1637 阅读 · 0 评论 -
详解FreeRTOS:FreeRTOS程序启动流程(基础篇—5)
讲一讲FreeRTOS程序启动流程。原创 2023-07-31 20:00:00 · 6373 阅读 · 1 评论 -
详解FreeRTOS:FreeRTOS中断配置(基础篇—6)
FreeRTOS的中断配置是一个很重要的内容,需要根据所使用的 MCU 来具体配置。这需要了解 MCU 架构中有关中断的知识。原创 2023-06-28 20:58:06 · 1804 阅读 · 0 评论 -
详解FreeRTOS:FreeRTOS临界段保护代码(基础篇—7)
FreeRTOS 在进入临界段代码的时候需要关闭中断,当处理完临界段代码以后再打开中断。FreeRTOS 系统本身就有很多的临界段代码,这些代码都加了临界段代码保护,在写自己的用户程序的时候有些地方也需要添加临界段代码保护。原创 2023-07-10 20:47:49 · 1507 阅读 · 0 评论 -
详解FreeRTOS:FreeRTOS任务基础知识(基础篇—8)
由于任务相关的知识很多,所以接下来将用几篇文章来讲解 FreeRTOS 的任务管理,本篇先学习一下FreeRTOS的任务基础知识。原创 2023-08-01 18:45:17 · 5843 阅读 · 0 评论 -
详解FreeRTOS:FreeRTOS任务管理程序设计思路(基础篇—9)
作为一位RTOS程序开发者,要对自己设计的嵌入式系统要了如指掌,任务的优先级信息,任务与中断的处理,任务的运行时间、逻辑、状态等都要知道,才能设计出好的系统,所以,在设计的时候需要根据需求制定框架。原创 2023-08-09 21:32:43 · 3721 阅读 · 0 评论 -
详解FreeRTOS:FreeRTOS空闲任务(基础篇—10)
当 FreeRTOS 的调度器启动以后会自动创建一个空闲任务,为什么需要空闲任务?原创 2023-08-14 18:15:28 · 3549 阅读 · 0 评论 -
详解FreeRTOS:FreeRTOS任务管理函数(基础篇—11)
本篇博文正式学习如何使用 FreeRTOS 中有关任务的 API 函数。原创 2023-08-22 20:51:22 · 2575 阅读 · 0 评论 -
详解FreeRTOS:FreeRTOS延时函数(基础篇—12)
延时功能属于 FreeRTOS 的时间管理,本篇博文我们就来学习一些 FreeRTOS 的时间管理过程,看看在调用延时函数以后究竟发生了什么?任务是如何进入阻塞态的,在延时完成以后任务又是如何从阻塞态恢复到就绪态。原创 2023-08-28 21:26:22 · 1993 阅读 · 0 评论 -
详解FreeRTOS:FreeRTOS列表和列表项 (基础篇—13)
列表和列表项是 FreeRTOS 中最基础的一种数据结构,被大量使用,它是 FreeRTOS 的基石。原创 2023-09-04 20:33:58 · 762 阅读 · 0 评论 -
详解FreeRTOS:FreeRTOS任务创建过程源码分析(进阶篇—1)
本篇博文讲解FreeRTOS中任务创建过程的源代码,帮助各位更好理解创建任务的原理和流程。原创 2023-09-12 22:13:17 · 2022 阅读 · 0 评论 -
详解FreeRTOS:FreeRTOS任务删除过程源码分析(进阶篇—2)
本篇博文讲解FreeRTOS中任务删除过程的源代码,帮助各位更好理解删除任务的原理和流程。原创 2023-09-19 19:49:38 · 830 阅读 · 0 评论 -
详解FreeRTOS:FreeRTOS任务挂起过程源码分析(进阶篇—3)
本篇博文讲解FreeRTOS中任务挂起过程的源代码,帮助各位更好理解挂起任务的原理和流程。原创 2023-09-27 22:16:15 · 215 阅读 · 0 评论 -
详解FreeRTOS:FreeRTOS任务恢复过程源码分析(进阶篇—4)
本篇博文讲解FreeRTOS中任务恢复过程的源代码,帮助各位更好理解恢复任务的原理和流程。原创 2023-10-07 20:57:30 · 174 阅读 · 0 评论 -
详解FreeRTOS:FreeRTOS任务调度器开启过程源码分析(进阶篇—5)
本篇博文将讲解FreeRTOS开启任务调度器源码,梳理开启任务调度器的原理和过程。原创 2023-10-16 22:07:11 · 200 阅读 · 0 评论 -
详解FreeRTOS:FreeRTOS任务切换过程源码分析(进阶篇—6)
RTOS系统的核心是任务管理,而任务管理的核心是任务切换,任务切换决定了任务的执行顺序,任务切换效率的高低也决定了一款系统的性能。原创 2023-10-24 22:18:46 · 225 阅读 · 0 评论 -
详解FreeRTOS:FreeRTOS时间片调度(进阶篇—7)
在FreeRTOS中允许一个任务运行一个时间片(一个时钟节拍的长度)后让出CPU的使用权,让拥有同优先级的下一个任务运行,FreeRTOS中的这种调度方法就是时间片调度。原创 2023-10-30 20:36:49 · 325 阅读 · 0 评论 -
详解FreeRTOS:系统时钟节拍(进阶篇—8)
不管是什么系统,运行都需要有个系统时钟节拍,xTickCount就是FreeRTOS的系统时钟节拍计数器。每个滴答定时器中断中xTickCount就会加一,xTickCount的具体操作过程是在函数xTaskIncrementTick()中进行的,此函数在文件tasks.c中有定义。原创 2023-11-08 22:24:02 · 371 阅读 · 0 评论 -
详解FreeRTOS:FreeRTOS消息队列(高级篇—1)
FreeRTOS提供了一个叫做“队列”的机制来完成任务与任务、任务与中断之间的消息传递。原创 2023-11-14 22:59:33 · 328 阅读 · 0 评论 -
详解FreeRTOS:二值信号量和计数信号量(高级篇—2)
信号量是操作系统中重要的一部分,信号量一般用来进行资源管理和任务同步,FreeRTOS中信号量又分为二值信号量、计数型信号量、互斥信号量和递归互斥信号量。不同的信号量其应用场景不同,有些应用场景是可以互换着使用的。原创 2023-11-20 22:14:14 · 235 阅读 · 0 评论 -
详解FreeRTOS:互斥信号量和递归互斥信号量(高级篇—3)
互斥信号量其实就是一个拥有优先级继承的二值信号量,在同步的应用中(任务与任务或中断与任务之间的同步)二值信号量最适合。原创 2023-11-27 21:23:50 · 878 阅读 · 0 评论 -
详解FreeRTOS:软件定时器(高级篇—4)
定时器可以说是每个MCU都有的外设,有的MCU其定时器功能异常强大,比如提供PWM、输入捕获等功能。但是最常用的还是定时器最基础的功能:定时,通过定时器来完成需要周期性处理的事务。原创 2023-12-04 22:41:17 · 974 阅读 · 0 评论 -
详解FreeRTOS:事件标志组(高级篇—5)
事件组可以实现一对多,多对多的同步,即一个任务可以等待多个事件的发生。任务可以通过设置事件位来实现事件的触发和等待操作,FreeRTOS的事件仅用于同步,不提供数据传输功能。原创 2023-12-12 23:06:30 · 811 阅读 · 0 评论 -
详解FreeRTOS:任务通知(高级篇—6)
FreeRTOS从v8.2.0版本开始,FreeRTOS新增了任务通知(TaskNotifictions)这个功能,可以使用任务通知来代替信号量、消息队列、事件标志组等这些东西,使用任务通知的话效率会更高。原创 2023-12-20 23:17:43 · 945 阅读 · 0 评论 -
详解FreeRTOS:低功耗Tickless模式(高级篇—7)
FreeRTOS提供了一个叫做Tickless的低功耗模式,本篇博文我们就来学习一下如何使用这个Tickless模式。原创 2023-12-25 22:29:00 · 1094 阅读 · 0 评论