FreeRTOS
文章平均质量分 88
FreeRTOS
温人之周.
这个作者很懒,什么都没留下…
展开
-
FreeRTOS中断管理
嵌入式实时系统需要对整个系统环境产生的事件作出反应。这些事件对处理时间和响应时间都有不同的要求。事件通常采用中断方式检测,中断服务例程(ISR)中的处理量应当越短越好。 注意:只有以”FromISR”或”FROM_ISR”结束的 API 函数或宏才可以在中断服务例程中。一、二值信号量1.1、利用二值信号量对任务和中断进行同步介绍 二值信号量可以在某个特殊的中断发生时,让任务解除阻塞,相当于让任务与中断同步。这样就可以让中断事件处理量大的工作在同步任务中完成,中断服务例程(ISR)中只是快速处原创 2022-01-08 16:53:32 · 14739 阅读 · 3 评论 -
FreeRTOS 事件标志组
FreeRTOS任务可以使用信号量来完成同步,但是使用信号量来同步的话任务只能与单个的事件或任务进行同步。有时候某个任务可能会需要与多个事件或任务进行同步,此时信号量就无能为力了。 FreeRTOS 为此提供了一个可选的解决方法,那就是事件标志组。 事件位用来表明某个事件是否发生, 事件位通常用作事件标志。个事件组就是一组的事件位, 事件组中的事件位通过位编号来访问。事件标志组的数据类型为 EventGroupHandle_t, 当 configUSE_16_BIT_TICKS 为 1 的时候事件标原创 2022-01-08 15:07:20 · 14119 阅读 · 3 评论 -
FreeRTOS 队列管理
基于 FreeRTOS 的应用程序由一组独立的任务构成——每个任务都是具有独立权限的小程序。这些独立的任务之间很可能会通过相互通信以提供有用的系统功能。FreeRTOS 中所有的通信与同步机制都是基于队列实现的。...原创 2022-01-08 10:21:27 · 14215 阅读 · 2 评论 -
FreeRTOS信号量
信号量是操作系统中重要的一部分,信号量一般用来进行资源管理和任务同步, FreeRTOS中信号量又分为二值信号量、 计数型信号量、互斥信号量和递归互斥信号量。不同的信号量其应用场景不同,但有些应用场景是可以互换着使用的信号量用于控制共享资源访问的场景相当于一个上锁机制, 代码只有获得了这个锁的钥匙才能够执行。信号量的另一个重要的应用场合就是任务同步,用于任务与任务或中断与任务之间的同步。 在执行中断服务函数的时候可以通过向任务发送信号量来通知任务它所期待的事件发生了, 当退出中断服务函数以后在任务调度器原创 2022-01-07 11:14:52 · 16553 阅读 · 3 评论 -
FreeRTOS临界区
FreeRTOS临界区是指那些必须完整运行,不能被打断的代码段,比如有的外设的初始化需要严格的时序,初始化过程中不能被打断。 FreeRTOS 在进入临界区代码的时候需要关闭中断,当处理完临界区代码以后再打开中断。 FreeRTOS 系统本身就有很多的临界区代码,这些代码都加了临界区代码保护,我们在写自己的用户程序的时候有些地方也需要添加临界区代码保护。 FreeRTOS 与 临界区代 码 保 护 有 关 的 函 数 有 4 个 : taskENTER_CRITICAL() 、taskEXIT_CR原创 2022-01-05 20:37:35 · 24896 阅读 · 8 评论 -
FreeRTOS任务管理
一、任务函数务是由 C 语言函数实现的。唯一特别的只是任务的函数原型,其必须返回 void,而且带有一个 void 指针参数。每个任务都是在自己权限范围内的一个小程序。其具有程序入口,通常会运行在一个死循环中,也不会退出。void ATaskFunction( void *pvParameters ){/* 可以像普通函数一样定义变量。用这个函数创建的每个任务实例都有一个属于自己的iVarialbleExample变量。但如果iVariableExample被定义为static,这一点则不成立原创 2022-01-04 20:34:35 · 14289 阅读 · 2 评论 -
FreeRTOS调度算法 – 简述
一、任务状态FreeRTOS 中的任务永远处于下面几个状态中的某一个:二、优先级抢占式调度FreeRTOS 的任务有如下特点:1、每个任务都赋予了一个优先级。2、每个任务都可以存在于一个或多个状态。3、在任何时候都只有一个任务可以处于运行状态。4、调度器总是在所有处于就绪态的任务中选择具有最高优先级的任务来执行。这种类型的调度方案被称为”固定优先级抢占式调度”。所谓”固定优先级”是指每个任务都被赋予了一个优先级,这个优先级不能被内核本身改变(只能被任务修改)。 ”抢占式”是指当任务进入就绪原创 2022-01-02 16:42:18 · 14850 阅读 · 0 评论 -
FreeRTOS 简介
FreeRTOS 是一个 RTOS 类的嵌入式实时操作系统。它的社会占有量很高,许多半导体厂商产品的 SDK 包就使用 FreeRTOS 作为其操作系统,尤其是 WIFI、蓝牙这些带协议栈的芯片或模块。FreeRTOS 的官网为:https://www.freertos.org/ FreeRTOS 的内核支持抢占式, 合作式和时间片调度。任务与任务、 任务与中断之间可以使用任务通知、消息队列、二值信号量、数值型信号量、 递归互斥信号量和互斥信号量进行通信和同步。一、任务 RTOS 系统的核心原创 2021-12-30 11:10:14 · 23425 阅读 · 2 评论