FreeRTOS|FreeRTOS列表和列表项野史趣闻

2018-09-15 19:00:31

要想看懂 FreeRTOS 源码并学习其原理,有一个东西绝对跑不了,那就是 FreeRTOS 的列表和列表项。列表和列表项是FreeRTOS 的一个数据结构,FreeRTOS 大量使用到了列表和列表项,它是 FreeRTOS 的基石。

  • 列表:

列表是 FreeRTOS 中的一个数据结构,概念上和链表有点类似,列表被用来跟踪 FreeRTOS中的任务。列表结构为List_t,在文件list.h中有如下定义:以下是我在一本书上摘抄出来的内容,感觉说的挺详细的。

  • 列表项:

列表项,列表的项目。列表项有两种:列表项(ListItem_t)和迷你列表项(MiniListItem_t),这两个列表项在list.h中有定义:

  • 迷你列表项

  • 列表项相关API函数如下表所示:

试验目的

学习使用 FreeRTOS 列表和列表项相应的操作函数的使用。

试验设计

本实验设计 3 个任务: start_task、 task1_task 和 list_task,这三个任务的任务功能如下:

start_task:用来创建其他 2 个任务。

task1_task:应用任务 1,控制 LED0 闪烁,用来提示系统正在运行。

task2_task:列表和列表项操作任务,调用列表和列表项相关的 API 函数,并且通过串口输出相应的信息来观察这些 API 函数的运行过程。

框架代码


喜欢我文章的朋友,欢迎关注、分享、点赞、评论。

本文作者:小5嵌入式(今日头条)
热门推荐