FreeRTOS教程

FreeRTOS 同步各类方法的对比|极客笔记

FreeRTOS 同步各类方法的对比

admin阅读(23)评论(0)赞(1)

能实现同步、互斥的内核方法有:任务通知(task notification)、队列(queue)、事件组(event group)、信号量(semaphoe)、互斥量(mutex)。 它们都有类似的操作方法:获取/释放、阻塞/唤醒、超时。比...

FreeRTOS 同步与互斥的概念

admin阅读(31)评论(0)赞(0)

一句话理解同步与互斥:我等你用完厕所,我再用厕所。 什么叫同步?就是:哎哎哎,我正在用厕所,你等会。 什么叫互斥?就是:哎哎哎,我正在用厕所,你不能进来。 同步与互斥经常放在一起讲,是因为它们之的关系很大,“互斥”操作可以使用“同步”来实现...

FreeRTOS 调度算法|极客笔记

FreeRTOS 调度算法

admin阅读(43)评论(0)赞(0)

FreeRTOS调度算法 重要概念 这些知识在前面都提到过了,这里总结一下。 正在运行的任务,被称为”正在使用处理器”,它处于运行状态。在单处理系统中,任何时间里只能有一个任务处于运行状态。 非运行状态的任务,它处于...

FreeRTOS 空闲任务及其钩子函数|极客笔记

FreeRTOS 空闲任务及其钩子函数

admin阅读(39)评论(0)赞(0)

在FreeRTOS_03_delete_task的实验里,我们体验过空闲任务(Idle任务)的作用:释放被删除的任务的内存。 除了上述目的之外,为什么必须要有空闲任务?一个良好的程序,它的任务都是事件驱动的:平时大部分时间处于阻塞状态。有可...

FreeRTOS Delay函数|极客笔记

FreeRTOS Delay函数

admin阅读(45)评论(0)赞(0)

FreeRTOS任务 两个Delay函数 有两个Delay函数: vTaskDelay:至少等待指定个数的Tick Interrupt才能变为就绪状态 vTaskDelayUntil:等待到指定的绝对时刻,才能变为就绪态。 这2个函数原型如...

FreeRTOS 任务状态|极客笔记

FreeRTOS 任务状态

admin阅读(41)评论(0)赞(0)

以前我们很简单地把任务的状态分为2中:运行(Runing)、非运行(Not Running)。 对于非运行的状态,还可以继续细分,比如前面的FreeRTOS_04_task_priority中: Task3执行vTaskDelay后:处于非...

FreeRTOS 任务优先级和Tick|极客笔记

FreeRTOS 任务优先级和Tick

admin阅读(52)评论(0)赞(0)

FreeRTOS 任务优先级 在上个示例中我们体验过优先级的使用:高优先级的任务先运行。 优先级的取值范围是:0~(configMAX_PRIORITIES – 1),数值越大优先级越高。 FreeRTOS的调度器可以使用2种方法来快速找出...

FreeRTOS 任务创建与删除|极客笔记

FreeRTOS 任务创建与删除

admin阅读(57)评论(0)赞(0)

在FreeRTOS中,任务就是一个函数,原型如下: void ATaskFunction( void *pvParameters ); 要注意的是: 这个函数不能返回 同一个函数,可以用来创建多个任务;换句话说,多个任务可以运行同一个函数 ...

FreeRTOS 任务管理基本概念|极客笔记

FreeRTOS 任务管理基本概念

admin阅读(66)评论(0)赞(0)

对于整个单片机程序,我们称之为application,应用程序。 使用FreeRTOS时,我们可以在application中创建多个任务(task),有些文档把任务也称为线程(thread)。 以日常生活为例,比如这个母亲要同时做两件事: ...

FreeRTOS Heap相关的函数

admin阅读(40)评论(0)赞(0)

pvPortMalloc/vPortFree 函数原型: void * pvPortMalloc( size_t xWantedSize ); void vPortFree( void * pv ); 作用:分配内存、释放内存。 如果分配内...

赞助商