FreeRTOS嵌入式实时操系统查看指定任务剩余堆栈大小方法

1.找到FreeRTOSConfig.h配置文件

添加宏定义

#define INCLUDE_uxTaskGetStackHighWaterMark 1

2.定义一个变量用来存放剩余堆栈大小值

UBaseType_t  sizeFree;

3.在任务中添加获取剩余堆栈大小的函数

该函数有一个参数,传递的是要查看的任务的句柄而非任务名,通过调试或者打印输出即可得到所要查看任务大概剩余的堆栈的大小。

static void vTaskTASK3(void *pvParameters)
{
  for(;;)
  {
	  sizeFree = uxTaskGetStackHighWaterMark(xHandleTaskTASK1);
	  osDelay(300);

  }
}

由于FreeRTOS分配任务堆栈的大小是按照字(word)来分配的,查看的堆栈剩余大小也是以字(word)为单位,1字(1word)=4字节(byte)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章