
FreeRTOS高级篇
you迅
这个作者很懒,什么都没留下…
展开
-
FreeRTOS高级篇5---FreeRTOS队列分析
FreeRTOS提供了多种任务间通讯方式,包括:任务通知(版本V8.2以及以上版本)队列二进制信号量计数信号量互斥量递归互斥量 其中,二进制信号量、计数信号量、互斥量和递归互斥量都是使用队列来实现的,因此掌握队列的运行机制,是很有必要的。 队列是FreeRTOS主要的任务间通讯方式。可以在任...转载 2021-08-04 12:43:43 · 335 阅读 · 0 评论 -
FreeRTOS高级篇4---FreeRTOS任务切换分析
FreeRTOS任务相关的代码大约占总代码的一半左右,这些代码都在为一件事情而努力,即找到优先级最高的就绪任务,并使之获得CPU运行权。任务切换是这一过程的直接实施者,为了更快的找到优先级最高的就绪任务,任务切换的代码通常都是精心设计的,甚至会用到汇编指令或者与硬件相关的特性,比如Cortex-M3的CLZ指令。因此任务切换的大部分代码是由硬件移植层提供的,...转载 2021-08-04 12:42:43 · 332 阅读 · 0 评论 -
FreeRTOS高级篇3---FreeRTOS调度器启动过程分析
使用FreeRTOS,一个最基本的程序架构如下所示:int main(void){ 必要的初始化工作; 创建任务1; 创建任务2; ... vTaskStartScheduler(); /*启动调度器*/ while(1); } 任务创建完成后,静态变量指针pxCurren...转载 2021-08-04 12:41:43 · 506 阅读 · 0 评论 -
FreeRTOS高级篇2---FreeRTOS任务创建分析
在FreeRTOS基础系列《FreeRTOS系列第10篇---FreeRTOS任务创建和删除》中介绍了任务创建API函数xTaskCreate(),我们这里先回顾一下这个函数的声明: BaseType_t xTaskCreate( TaskFunction_tp vTaskCode, ...转载 2021-08-04 12:40:41 · 737 阅读 · 0 评论 -
FreeRTOS高级篇1---FreeRTOS列表和列表项
FreeRTOS内核调度大量使用了列表(list)和列表项(list item)数据结构。我们如果想一探FreeRTOS背后的运行机制,首先遇到的拦路虎就是列表和列表项。对于FreeRTOS内核来说,列表就是它最基础的部分。我们在这一章集中讲解列表和列表项的结构以及操作函数,在下一章讲解任务创建时,会用到本章的知识点。 列表被Fr...转载 2021-08-04 12:29:45 · 341 阅读 · 0 评论