电子发烧友网 > 可编程逻辑 > FPGA/ASIC技术 > 正文

FreeRTOS 中的链表和链表元素的定义

2017年11月18日 01:28 次阅读

FreeRTOS 内核中采用双向循环链表来进行任务调度,对任务总数没有限制,同一优先级的任务数也没有限制。相对于uC/OS-II 来说是一个大的优点。不过,有利必有弊。采用双向链表后代码相对来说要复杂一些。

FreeRTOS 中的链表和链表元素的定义如下:
typedef struct xLIST
{
volatile unsigned portBASE_TYPE uxNumberOfItems; // 链表中有多少元素
volaTIle xLisTItem * pxIndex;
volaTIle xMiniLisTItem xListEnd;
} xList;
struct xLIST_ITEM
{
portTickType xItemValue;
volatile struct xLIST_ITEM * pxNext;
volatile struct xLIST_ITEM * pxPrevious;
void * pvOwner;
void * pvContainer;
};typedef struct xLIST_ITEM xListItem;

先从链表元素开始分析,FreeRTOS 中的 xListItem 在其他代码中通常被称为 Node,也就是链表节点。

下载发烧友APP

打造属于您的人脉电子圈

关注电子发烧友微信

有趣有料的资讯及技术干货

关注发烧友课堂

锁定最新课程活动及技术直播

电子发烧友观察

一线报道 · 深度观察 · 最新资讯
收藏 人收藏
分享:

评论

相关推荐

RTOS那些你得知道的事儿-第4季第1部分

课程目标本课程是《朱有鹏老师单片机完全学习系列课程》第4季第1个课程,本季我们开始讲uCOS2在STM32F1上的源码和

发烧友学院 发表于 2017-12-16 00:00 5080次阅读
RTOS那些你得知道的事儿-第4季第1部分

如何才能达到uC/GUI的页面切换效果?

发表于 2019-08-07 04:35 19次阅读
如何才能达到uC/GUI的页面切换效果?

如何为物联网选择合适的 RTOS 和微控制器平台

Renesas Synergy 的 AE-Cloud1 物联网套件是专为物联网设备设计的开发板,可通...

发表于 2019-08-06 10:03 387次阅读
如何为物联网选择合适的 RTOS 和微控制器平台

如何在STM32F407单片机上使用通用的Boo...

在使用RT-Thread RTOS的时候发现官方提出了一种通用的BootLoader方案,支持F1和...

发表于 2019-08-03 09:13 358次阅读
如何在STM32F407单片机上使用通用的Boo...

【设计技巧】从单片机到操作系统(8)-RTOS临界段知识详解

发表于 2019-08-01 08:30 186次阅读
【设计技巧】从单片机到操作系统(8)-RTOS临界段知识详解

【设计技巧】从单片机到操作系统(7)-FreeRTOS延时介绍

发表于 2019-08-01 08:00 215次阅读
【设计技巧】从单片机到操作系统(7)-FreeRTOS延时介绍

【设计技巧】从单片机到操作系统(7)-FreeRTOS延时介绍

发表于 2019-08-01 08:00 215次阅读
【设计技巧】从单片机到操作系统(7)-FreeRTOS延时介绍

实时操作系统怎么选择

发表于 2019-08-01 07:08 126次阅读
实时操作系统怎么选择

【设计技巧】从单片机到操作系统(6)-FreeRTOS任务切换机制详解

发表于 2019-07-31 08:30 234次阅读
【设计技巧】从单片机到操作系统(6)-FreeRTOS任务切换机制详解

【设计技巧】从单片机到操作系统(6)-FreeRTOS任务切换机制详解

发表于 2019-07-31 08:30 234次阅读
【设计技巧】从单片机到操作系统(6)-FreeRTOS任务切换机制详解

【设计技巧】从单片机到操作系统(5)-FreeRTOS列表&列表项的源码解读

发表于 2019-07-31 08:00 216次阅读
【设计技巧】从单片机到操作系统(5)-FreeRTOS列表&列表项的源码解读

【设计技巧】从单片机到操作系统(5)-FreeRTOS列表&列表项的源码解读

发表于 2019-07-31 08:00 216次阅读
【设计技巧】从单片机到操作系统(5)-FreeRTOS列表&列表项的源码解读

【设计技巧】从单片机到操作系统(4)-FreeRTOS任务详解

发表于 2019-07-30 08:30 132次阅读
【设计技巧】从单片机到操作系统(4)-FreeRTOS任务详解

该不该用RTOS,这篇文章告诉你答案!

ucos/freertos/RT-Thread,选择这三款 OS 的原因是,它们的年限都比较长了,在...

发表于 2019-07-11 11:02 1723次阅读
该不该用RTOS,这篇文章告诉你答案!

驱动之路-内核链表的使用

kernel list展示的是内核链表的结构,normallist展示的是普通链表的结构。head是...

发表于 2019-05-15 17:24 63次阅读
驱动之路-内核链表的使用

你知道Linux内核数据结构中双向链表的作用?

Linux 内核提供一套双向链表的实现,你可以在 include/linux/list.h 中找到。...

发表于 2019-05-14 17:27 80次阅读
你知道Linux内核数据结构中双向链表的作用?

S32DS中使用SystemView分析Free...

S32DS根据提示安装即可,SystemView的PC端软件下载的是压缩文件,解压缩后运行可执行程序...

发表于 2019-04-22 15:44 574次阅读
S32DS中使用SystemView分析Free...

UCOS-II/II、FreeRTOS、RTX四...

STM32-V6是一款基于STM32F429单片机的开发板,整板采用4层板设计,本次选择它的目的,除...

发表于 2019-04-22 15:22 1264次阅读
UCOS-II/II、FreeRTOS、RTX四...

如何通过函数ioctl了解 Vxworks系统详...

我们 再进行网络关断时常会使用一个函数:“=ioctl("PNIO-CTRL",50,par1)”是...

发表于 2019-01-27 11:17 1070次阅读
如何通过函数ioctl了解 Vxworks系统详...

如何在STM32单片机上移植FreeRTOS

首先在网上看到大部分移植FreeRTOS 都是选择修改他的启动文件,我个人感觉这样不是很好,毕竟是汇...

发表于 2018-12-28 15:31 808次阅读
如何在STM32单片机上移植FreeRTOS

如何轻松理解「链表」实现「LRU缓存淘汰算法

双向链表的灵活处就是知道链表中的一个元素结构就可以向左或者向右开始遍历查找需要的元素结构。因此对于一...

发表于 2018-12-25 10:09 757次阅读
如何轻松理解「链表」实现「LRU缓存淘汰算法

从裸奔到操作系统将面对什么挑战

嵌入式设备网络化、u盘化、功能复杂化的趋势,使越来越多的、过去可以用裸奔实现的嵌入式产品,产生了应用...

发表于 2018-12-11 15:45 1035次阅读
从裸奔到操作系统将面对什么挑战

以后再也不怕别人问「单链表」的问题啦

「头指针」顾名思义,是指向链表第一个结点的指针,如果有头结点的话,那么就是指向头结点的指针。它是链表...

发表于 2018-11-23 11:30 513次阅读
以后再也不怕别人问「单链表」的问题啦

嵌入式开源软件的真正成本和弊端

俗话说得好,“得来全不费功夫”,免费当然是个好事情了。既然是免费的, 开源的实时操作系统(RTOS)...

发表于 2018-11-04 11:04 711次阅读
嵌入式开源软件的真正成本和弊端

什么是临界段 RTOS临界段的作用是什么

代码的临界段也称为临界区,指处理时不可分割的代码区域,一旦这部分代码开始执行,则不允许任何中断打断。...

发表于 2018-10-06 14:38 1528次阅读
什么是临界段 RTOS临界段的作用是什么

对实时操作系统特性的讨论

嵌入式实时系统中采用的操作系统我们称为嵌入式实时操作系统,它既是嵌入式操作系统,又是实时操作系统。

发表于 2018-09-30 09:31 1759次阅读
对实时操作系统特性的讨论

使用Percepio Tracealyzer等R...

死锁是两个或多个任务之间的循环依赖。 例如,如果任务1已经获得A,并且被阻止等待B,而任务2先前已获...

发表于 2018-09-12 16:43 2850次阅读
使用Percepio Tracealyzer等R...

如何让FreeRTOS系统直接在芯片上运行?

相信很多朋友开始学习的时候都是参看别人写好的,可以直接使用的源代码。在正确代码工程的基础上,我们可以...

发表于 2018-09-12 14:13 1800次阅读
如何让FreeRTOS系统直接在芯片上运行?

从RTOS到嵌入式Linux的应用移植步骤以及相...

在过去几年中,Linux成功地取代了一些最主要的传统RTOS(实时操作系统)平台,成为了各种各样的...

发表于 2018-09-07 16:47 693次阅读
从RTOS到嵌入式Linux的应用移植步骤以及相...

RTOS和TSOS的分别有什么特点

举一个例子:机器人在运动过程中,突然,面前跑来一个人,撞上了。此时,系统(传感器)检测到撞上人就需要...

发表于 2018-09-04 16:28 2018次阅读
RTOS和TSOS的分别有什么特点

初学者应该选择哪一种操作系统来学习?

Visual Studio Code (简称 VS Code / VSC) 是一款免费开源的现代化轻...

发表于 2018-08-30 16:32 3275次阅读
初学者应该选择哪一种操作系统来学习?

FreeRTOS知识解密:我们为什么要学习RTO...

在嵌入式领域中,嵌入式实时操作系统正得到越来越广泛的应用。采用嵌入式实时操作系统(RTOS)可以更...

发表于 2018-08-29 16:07 6015次阅读
FreeRTOS知识解密:我们为什么要学习RTO...

基于Linux的嵌入式实时操作系统研究应如何进行...

在嵌入式产品的开发中,有必要寻找一种廉价的嵌入式实时操作系统,以降低产品的开发成本和系统复杂度。由于...

发表于 2018-08-18 09:13 433次阅读
基于Linux的嵌入式实时操作系统研究应如何进行...

处理器SDK及RTOS操作系统的作用介绍

处理器 SDK RTOS

发表于 2018-08-10 01:38 1722次阅读
处理器SDK及RTOS操作系统的作用介绍

如何在嵌入式FreeRTOS系统接口调用API?

1.在最近的嵌入式工作中很多都是学习FreeRTOS系统,由于只是会对RTOS的接口进行调用,但是很...

发表于 2018-08-04 10:39 2210次阅读
如何在嵌入式FreeRTOS系统接口调用API?

嵌入式系统是一种可靠性的低成本方法

嵌入式系统现在变得更加智能,互连程度更高,当然也比以前要复杂。要让嵌入式系统保持稳健并尽可能接近无错...

发表于 2018-08-03 09:37 3506次阅读
嵌入式系统是一种可靠性的低成本方法

一文解析FreeRTOS的OTA特性使用技巧与诀...

Amazon FreeRTOS 可帮助开发人员简化将物联网 (IoT) 设备连接到云的过程。然而,即...

发表于 2018-08-02 10:22 2922次阅读
一文解析FreeRTOS的OTA特性使用技巧与诀...

利用深入洞察分析来测试软件

嵌入式系统现在变得更加智能,互连程度更高,当然也比以前要复杂。要让嵌入式系统保持稳健并尽可能接近无错...

发表于 2018-06-27 09:29 2263次阅读
利用深入洞察分析来测试软件

一种以开源FreeRTOS内核为核心的RTOS

传统的嵌入式系统开发人员一般使用不联网的设备在裸机上工作,但 IoT 却要求系统连接到因特网。这就要...

发表于 2018-06-22 09:30 6887次阅读
一种以开源FreeRTOS内核为核心的RTOS

五种基于STM平台的且满足实时控制要求操作的嵌入...

基于STM平台且满足实时控制要求操作系统,有以下5种可供移植选择。分别为μClinux、μC/OS-...

发表于 2018-06-18 15:30 1989次阅读
五种基于STM平台的且满足实时控制要求操作的嵌入...

巧利用RTOS的好处

Meet Stella a remote controlled, self-balancing ro...

发表于 2018-06-12 04:29 1936次阅读
巧利用RTOS的好处

主打嵌入式应用的中高阶RTOS

RTOS 的种类繁多,主要设计给基于MPU或MCU的嵌入式系统所使用。例如MPU等级专用的有Inte...

发表于 2018-06-09 09:36 1952次阅读
主打嵌入式应用的中高阶RTOS

大联大推出智能家居整体解决方案,未来产品升级时无...

大联大旗下友尚推出基于瑞昱半导体(Realtek)技术的智能家居整体解决方案。此方案采用全球用量最大...

发表于 2018-06-02 08:58 422次阅读
大联大推出智能家居整体解决方案,未来产品升级时无...

RT-Thread已经拥有一个国内最大的嵌入式开...

RTT是一个开源的RTOS,其能够快速壮大,离不开作者熊大和开源社区开发大牛的力量,所以总结下过往的...

发表于 2018-06-01 09:26 6379次阅读
RT-Thread已经拥有一个国内最大的嵌入式开...

使用Amazon FreeRTOS在边缘更新固件

Amazon FreeRTOS帮助开发人员简化将物联网(IoT)设备连接到云的过程。 但是,即使采用...

发表于 2018-05-14 10:25 2483次阅读
使用Amazon FreeRTOS在边缘更新固件

ROS开发技术的twist_mux功能包的原理和...

twist_mux的原理类似于RTOS中的任务调度,需要为每个输入的话题设置优先级,不同话题也可以设...

发表于 2018-05-13 09:21 2568次阅读
ROS开发技术的twist_mux功能包的原理和...

适用于TI处理器的可扩展Linux和TI RTO...

而一般的RTOS呢,就拿大家熟悉的ucos2来说,只是包含了调度、同步、互斥、时钟等代码。如果系统工...

发表于 2018-05-09 16:59 2206次阅读
适用于TI处理器的可扩展Linux和TI RTO...

通用操作系统和实时操作系统

研究生做了两年Android应用,实习时转了嵌入式应用软件开发,拿着一块移植了RTOS的设备学习。入...

发表于 2018-05-07 10:19 2269次阅读
通用操作系统和实时操作系统

国产IoT OS在物联网时代的发展机遇

中兴事件,使得芯片产业第一次得到如此广泛的关注,在正视差距、弥补差距的同时,我们也应该看到,除了硬件...

发表于 2018-05-02 16:53 7234次阅读
国产IoT OS在物联网时代的发展机遇

使用Amazon FreeRTOS的IoT解决方...

恩智浦与嵌入式艺术家合作开发的LPC54018物联网模块是一款独立的高性能IEEE802.11微控制...

发表于 2018-04-27 13:40 5222次阅读
使用Amazon FreeRTOS的IoT解决方...

国产RTOS介绍,国产化要求给国产RTOS带来的...

djyos-是由长园深瑞继保自动化有限公司(简称深瑞)主持的开源操作系统嵌入式实时操作系统,采用BS...

发表于 2018-04-24 09:03 7623次阅读
国产RTOS介绍,国产化要求给国产RTOS带来的...

据说嵌入式工程师年薪10万是门槛 达到后你满足了...

智能机器的飞速发展,嵌入式系统依然成为最热门最有发展前途的领域之一。据调查机构调查数据显示,嵌入式工...

发表于 2018-04-18 13:51 3781次阅读
据说嵌入式工程师年薪10万是门槛 达到后你满足了...

嵌入式实时操作系统:RTOS和PC上的区别

通用操作系统中的任务调度策略一般采用基于优先级的抢先式调度策略,对于优先级相同的进程则采用时间片轮转...

发表于 2018-04-09 09:38 3439次阅读
嵌入式实时操作系统:RTOS和PC上的区别

本文讨论并演示如何使用 Amazon FreeR...

发表于 2018-03-28 16:41 3390次阅读
本文讨论并演示如何使用 Amazon FreeR...

十种典型的数据结构及其特性

链表通常由一组代表一个序列的节点组成。 每个节点包含存储的任意类型实际数据以及指向序列中下一个节点的...

发表于 2018-03-19 15:54 22530次阅读
十种典型的数据结构及其特性

如何将RTOS添加到ZYNQ SoC设计中

任何开发 ZYNQ SoC 设计有大量的操作系统可供选择,并根据最终应用程序,你可以选择一个实时版本...

发表于 2018-02-15 05:41 1939次阅读
如何将RTOS添加到ZYNQ SoC设计中

基于嵌入式软件开发的裸跑与RTOS的选用时机分析

在嵌入式软件领域,裸跑与RTOS,总是永恒茶余饭后。其实软件编程,就像治国之道,没听说过新加坡这样的...

发表于 2018-01-23 11:50 2698次阅读
基于嵌入式软件开发的裸跑与RTOS的选用时机分析

通过实例的3种方法来告诉你使用RTOS的好处

总而言之,适用的就是最好的,不要拒绝RTOS,在它适用的情况下,它工作得很好。

发表于 2018-01-19 15:07 6248次阅读
通过实例的3种方法来告诉你使用RTOS的好处

如何安装实时操作系统RTOS

要想最大限度地发挥Zynq All Programmable SoC的优势,您需要一款操作系统。本文...

发表于 2017-11-18 10:08 2294次阅读
如何安装实时操作系统RTOS

基于FreeRTOS的嵌入式实时操作系统的原理和...

FreeRTOS是一个源码公开的免费的嵌入式实时操作系统,通过研究其内核可以更好地理解嵌入式操作系统...

发表于 2017-11-18 03:34 2182次阅读
基于FreeRTOS的嵌入式实时操作系统的原理和...

FreeRTOS嵌入式开源实时操作系统介绍

FreeRTOS是一个嵌入式系统使用的开源实时操作系统。FreeRTOS被设计为“小巧,简单,和易用...

发表于 2017-11-18 03:30 971次阅读
FreeRTOS嵌入式开源实时操作系统介绍

精准解读FreeRTOS的十三大特性

实时性:FreeRTOS “可以”配置成为一个硬(Hard)实时操作系统内核。要注意这里用的是“可以...

发表于 2017-11-18 02:28 1393次阅读
精准解读FreeRTOS的十三大特性

freertos使用指南与各类型函数详细说明

FreeRTOS 内核支持优先级调度算法,每个任务可根据重要程度的不同被赋予一定的优先级,下面说明了...

发表于 2017-11-18 02:08 2390次阅读
freertos使用指南与各类型函数详细说明

FreeRTOS源代码结构与基本目录

下载的FreeRTOS包含每种处理器体系的源代码以及范例程序。把所有体系的源代码打包可以方便分发,但...

发表于 2017-11-18 02:02 1204次阅读
FreeRTOS源代码结构与基本目录

浅析FreeRTOS源代码的编程标准与命名约定

编程标准 (Coding Standard) FreeRTOS 源代码遵守 MISRA (Motor...

发表于 2017-11-18 02:01 695次阅读
浅析FreeRTOS源代码的编程标准与命名约定

关于FreeRTOS配置项操作解读

FreeRTOS 是高度可配置的。所有的可配置项都在FreeRTOSConfig.h 文件中。每一个...

发表于 2017-11-18 01:27 635次阅读
关于FreeRTOS配置项操作解读

FreeRTOS软件定时器编程教程

软件定时器本质上是一个周期性的任务或单次执行任务。

发表于 2017-11-17 13:21 526次阅读
FreeRTOS软件定时器编程教程

在Zynq平台运行SmallRTOS实时操作系统...

SmallRTOS是一个源代码开放的、易于移植的、面向深度嵌入式应用的微内核实时操作系统,主要应用领...

发表于 2017-11-17 10:51 1678次阅读
在Zynq平台运行SmallRTOS实时操作系统...

微型嵌入式实时操作系统SmallRTOS常用接口...

微型嵌入式实时操作系统SmallRTOS是一个源代码开放的、易于移植的、面向深度嵌入式应用的微内核实...

发表于 2017-11-17 07:24 572次阅读
微型嵌入式实时操作系统SmallRTOS常用接口...

周立功阐释高效的双向链表如何用

实际上循环链表,无论是头结点、尾结点还是普通结点,其本质上都是一样的。

发表于 2017-09-25 14:14 3813次阅读
周立功阐释高效的双向链表如何用

周立功新著内容分享:双向链表是什么?

单向链表的添加、删除操作,都必须找到当前结点的上一个结点,以便修改上一个结点的p_next指针完成相...

发表于 2017-09-22 18:24 4338次阅读
周立功新著内容分享:双向链表是什么?