list.h

列表结构List_t

列表:主要看三个
xLIST:
1、5检查列表完整性的。但是需要开启。默认不开启

2:记录列表中列表项的 数量:
3:记录当前列表项 索引号;
4:列表中的最后一个 列表项。//用来表示列表结束 变量类型是mini

列表项:主要看五个
1、7检查列表完整性。默认不开启

2:xItemVlaue 列表项的值,列表根据这个值连接起来,这个值决定顺序
3:指向列表项结构体的 指针(后)
4:指向列表项结构体的 指针(前)//相当于双向链表
5:空指针 pvOwner 描述 此列表项归谁拥有,通常是 任务控制块 (任务控制块中会有列表项属性)
//任务控制块中有两个成员state、event,的变量类型是 列表项
6:列表指针 pvContainer 描述此列表项归哪个列表。 //5+6 确定列表项的定位

在任务控制块中会有两个列表项
状态列表项和事件列表项//xStateListItem xEventListItem
创建了任务后,该xStateListItem 列表项的 pvOwner会指向这个任务控制块。
任务就绪态之后,xStateListItem 列表项的 pvContainer 会指向 就绪列表。

这两个列表项 用于 将某个任务放到某个列表中。//个人理解:这个列表项 = 一种任务属性 属于 属性列表
//如就绪列表、延时列表、阻塞列表、挂起列表等

当前任务,处于某种状态,就会将这个 列表项添加到对应的列表中去
如果这任务是在等待某个状态,就把这个任务,加到事件列表中去。

迷你列表项:
前面一样,没有56
它的意义:不需要全功能,不浪费内存。列表中的最后一个列表项:xListEnd,其类型为mini类型

API 函数
列表初始化:
列表项初始化
列表项插入
列表项末位插入
列表项删除
列表的遍历

遍历:freertos 提供了一个函数可以遍历列表
每调用一次这个函数,列表的pxIndex就不会指向下一个列表项。
并返回pxOwner 的变量值

vTaskList
该函数将统计到的信息放入一个表格:
创建任务名字,
任务状态:B 阻塞态 R 就绪态 S 挂起态 D 删除态
任务优先级
任务堆栈的“高水位线”:即堆栈历史最小剩余大小
任务编号:唯一

需要提供一个内存去保存。参数就是内存(*pcWriteBuffer)

配置:
使用这个功能,需将config的两个宏定义为1

最新文章

  1. Web App 压力测试
  2. fir.im Weekly - 如何进行 Android App 性能优化
  3. iOS -[PFPASIDataCompressor compressBytes:length:error:shouldFinish:] in PFPGZIPInvocationCompressor.o
  4. HTML标签----图文详解
  5. 与Status Bar和Navigation Bar相关的一些东西
  6. JavaScript内的类型转换
  7. hihocoder 1037 数字三角形
  8. 021QTP之焦点(多思考)
  9. java对图片的裁剪(包括来自网络的图片)
  10. 5 个在 Linux 中管理文件类型和系统时间的有用命令
  11. CCI_chapter 8 Recurision
  12. vijos1060 隔板法
  13. tablespace
  14. 基于Struts2,Spring4,Hibernate4框架的系统架构设计与示例系统实现
  15. 尝试Java,从入门到Kotlin(上)
  16. python学习第4天
  17. 右键菜单添加打开CMD选项
  18. 6.25python线程问题
  19. (转) Ringbuffer为什么这么快?
  20. 理解load averages

热门文章

  1. css权重及计算
  2. the import javax.jms cannot be resolved问题
  3. PP: Deep r -th Root of Rank Supervised Joint Binary Embedding for Multivariate Time Series Retrieval
  4. 立即关机C++源码
  5. nice-validator判断表单是否验证通过
  6. redis string类型 增删改查
  7. JS调用函数的两种方式
  8. SpringBoot学习- 5、整合Redis
  9. [JZOJ4899] 雪之国度
  10. SQL语句性能分析