FreeRTOS
文章平均质量分 78
FreeRTOS介绍
依然@Fantasy
这个作者很懒,什么都没留下…
展开
-
FreeRTOS 第十章 事件
信号量可以用来完成同步,但是使用信号量来同步的话任务只能与单个事件或者任务进行同步。有事件某个任务可能会需要与多个事件或者任务同步,此时信号量就无法满足要求了。FreeRTOS提供了一个解决方案,就是事件标记组。事件位:事件位用来表明某个事件是否发送,事件位通常用作事件标记,比如:1、当收到一条消息并且把这条消息处理掉以后就可以将某个位置1,当队列中没有消息需要处理的时候就可以将这个位置0.2、当把队列中的消息通过网络发送输出以后就可以将某个位置1,没有数据发送时将位置0.原创 2024-05-10 14:13:09 · 578 阅读 · 0 评论 -
FreeRTOS 第十一章 通知
从v8.2.0版本开始,FreeRTOS新增了任务通知(Task Notification)功能。可以使用任务通知拉代替信号量、消息队列、事件标志等。使用任务通知效率会高些。任务通知是一个可选的功能,FreeRTOS的每个任务都有一个32位的通知值。任务控制块的成员变量ulBotifiedValue就是这个值。任务通知是一个事件,假设某个任务通知的接收任务因为等待任务通知而阻塞的话,向这个接收任务通知以后就会解除这个任务的阻塞状态。原创 2024-05-13 16:30:59 · 288 阅读 · 0 评论 -
FreeRTOS 第九章 信号量
信号量用于任务同步和控制共享资源的访问。信号量按照用途分为:计数信号量、二值信号量、互斥信号量、递归互斥信号量。原创 2024-04-29 11:28:04 · 453 阅读 · 0 评论 -
FreeRTOS 第八章 queue
队列是为了任务与任务,任务与中断之间的通信而准备的。通常队列采用先进后出(FIFO)的存储缓冲机制。数据发送到队列中会导致数据拷贝,也就是将要发送的数据拷贝到队列里,这就意味着在队列里存储的是数据的原始值,而不是原始数据的引用(只传递数据的指针),这个也叫做值传递。ucos里采用的是引用传递,传递的是消息指针。采用引用传递的话消息内容就必须一直保持可见性,也就是消息的内容必须一直有效,那么局部变量这种可能会随时被删除的就不能用来传递消息,但是采用引用计数会节省时间,因为不需要对数据进行拷贝。原创 2024-04-19 16:07:56 · 469 阅读 · 0 评论 -
FreeRTOS 第七章 任务详解
之前文章分析过任务相关的创建和切换,但是理解的还不够深刻。以cortexM4为例。原创 2024-04-17 13:06:42 · 987 阅读 · 0 评论 -
FreeRTOS 第六章 任务切换
RTOS系统的核心是任务管理,而任务管理的核心是任务切换。原创 2024-04-08 15:53:27 · 592 阅读 · 0 评论 -
FreeRTPS 第二章 列表
FreeRTOS里的数据结构主要就是列表和列表项。和任务关闭密切相关。列表用来记录FreeRTOS中的任务。相关文件是list.c和list.h。代码量非常少。原创 2024-04-03 11:12:32 · 616 阅读 · 0 评论 -
FreeRTOS 第五章 调度器开启过程
指导任务的创建和删除后,那么多个任务之间是如何切换的呢。这些功能都是由调度器完成的。接下来就研究下调度器的原理。原创 2024-04-02 10:24:28 · 328 阅读 · 0 评论 -
FreeRTOS 第一章 多任务系统
在最早接触嵌入式的时候,我们编写的代码都是在一个while循环里处理所有的事务。这三个事务轮流执行。逻辑简单。但会带来一个问题:事务1在执行的时候,事务2得不到运行,如果此时事务2更紧急,却得不到运行的机会。因为三个事务轮流执行的。如果事务1和2大部分时间不需要处理,这样就浪费了时间。所以我们就引入了操作系统的概念。我们把三个事务分成3个task。同时对事务的优先级进行设定。这样紧急的任务可以获得更多的机会运行。看起来3个任务都同时在运行。但是某一时刻只能有一个任务在运行。原创 2024-04-02 11:08:03 · 418 阅读 · 1 评论 -
FreeRTOS 第四章 TCB
FreeRTOS为了实现任务调度。首先就需要定义任务调度的数据结构,来保存任务堆栈结构、任务状态、任务ID、任务的优先级等信息。这些信息集中存放在Task control block,即TCB,每个Task被分配唯一的TCB:TCB结构体定义。原创 2024-01-19 09:44:13 · 498 阅读 · 0 评论 -
FreeRTOS 第三章 任务
对于用户而言,最常用的就是任务创建,接下来对xTaskCreate()函数进行详细的描述。原创 2024-01-16 11:11:01 · 1071 阅读 · 0 评论