当前位置: 首页 > news >正文

嵌入式学习笔记 - FreeRTOS关于vApplicationGetIdleTaskMemory

这个函数的作用是获得空闲任务的堆栈以及任务控制块信息,传递给任务创建函数形参,从而FreeRTOS可以对空闲任务进行创建以及其他操作比如初始化,

那么为什么用户创建的任务时没有使用此函数,用户创建的任务完全无需使用此函数,创建任务时直接将任务的堆栈以及任务控制块带入形参即可,而空闲任务是由freeRTOS在启动调度器时由系统创建的,需要引用我们定义的这个函数,传入空闲任务的一些信息,类似回调函数

/**
  **********************************************************************
  * @brief  获取空闲任务的任务堆栈和任务控制块内存
    *                    ppxTimerTaskTCBBuffer    :        任务控制块内存
    *                    ppxTimerTaskStackBuffer    :    任务堆栈内存
    *                    pulTimerTaskStackSize    :        任务堆栈大小
  * @author  fire
  * @version V1.0
  * @date    -xx-xx
  **********************************************************************
  */ 
void vApplicationGetIdleTaskMemory(

StaticTask_t **ppxIdleTaskTCBBuffer,   /*形参为:指向 TCB_t类型指针的指针,也就是指针的地址*/
                                  

StackType_t **ppxIdleTaskStackBuffer,  /*形参为:指向  StackType_t类型指针的指针,也就是指针的地址*/
                                  

uint32_t *pulIdleTaskStackSize     /*形参为:指向 32位变量类型的指针*/

)

{
    *ppxIdleTaskTCBBuffer=&Idle_Task_TCB;/* 任务控制块内存 *//*指针ppxIdleTaskTCBBuffer指向的地址里存放的是结构体IdleTaskTCB的地址,结构体名字必须加&代表地址*/


    *ppxIdleTaskStackBuffer=Idle_Task_Stack;/* 任务堆栈内存 */ /*指针ppxIdleTaskStackBuffer指向的地址里存放的是数组IdleTaskStack的地址,数组名字直接可以代表地址*/


    *pulIdleTaskStackSize=configMINIMAL_STACK_SIZE;/* 任务堆栈大小 */ /*指针pulIdleTaskStackSize指向的地址存放的是变量configMINIMAL_STACK_SIZE*/      
}

http://www.xdnf.cn/news/770635.html

相关文章:

  • AI书签管理工具开发全记录(九):用户端页面集成与展示
  • opencv 可视化函数
  • 苹果电脑深度清理,让老旧Mac重焕新生
  • MySQL 全量 增量备份与恢复
  • 揭秘 NextJS Script 组件
  • HealthBench医疗AI评估基准:技术路径与核心价值深度分析(上)
  • Redis-6.2.9 cluster集群部署和扩容缩容
  • Flask中secret_key设置解析
  • Spring Boot Starter 自动装配原理全解析:从概念到实践
  • 通用优势估计函数(GAE,Generalized Advantage Estimation)详解
  • unity开发棋牌游戏
  • 力扣第452场周赛
  • Matlab绘图
  • odoo17 windows server布署错误分析
  • Spark-TTS: AI语音合成的“变声大师“
  • 一种在SQL Server中传递多行数据的方法
  • 8.linux文件与文件夹内处理命令cp,mv,rm
  • 铁电液晶破局 VR/AR:10000PPI 重构元宇宙显示体验
  • word中如何快速调整全部表格大小
  • Deepseek给出的8255显示例程
  • [蓝桥杯]蚂蚁感冒
  • 基于Android的拼车系统的设计与实现
  • Android Activity启动模式面试题
  • 任务25:绘制全局时间线(TimeLine)
  • 【Pytorch学习笔记】模型模块07——hook实现Grad-CAM
  • Gartner《Emerging Patterns for Building LLM-Based AIAgents》学习心得
  • AI大数据模型如何与thingsboard物联网结合
  • 嵌入式学习笔记 - freeRTOS动态创建任务时传入的任务句柄参数
  • ERP管理系统:Java+Vue,含源码及文档,涵盖采购、销售、库存等业务,优化企业运营
  • 洛雪音乐+多种音源同步更新,附带安装教程 -【PC端/安卓端】音乐软件