【FreeRTOS】记录查询FreeRTOS的各种内存剩余量的方法

代码

使用FreeRTOS时,使用下列函数方便查看系统各内存余量,方便对系统做出调整。要使用uxTaskGetStackHighWaterMark函数的话宏INCLUDE_uxTaskGetStackHighWaterMark 必须为 1

BaseType_t val;

/* 查询系统历史剩余最小内存 */		   
printf("FreeRTOS总内存大小: %d 字节\r\n",configTOTAL_HEAP_SIZE);//打印FreeRTOS总内存大小(单位字节)
printf("当前剩余堆内存大小: %d 字节\r\n", xPortGetFreeHeapSize());//查询当前剩余堆内存大小
printf("历史剩余最小内存大小:%d 字节\r\n\r\n",xPortGetMinimumEverFreeHeapSize());//查询历史剩余最小内存大小

/* 查询任务历史剩余最小内存 */
val = uxTaskGetStackHighWaterMark(SPITask_Handler);//查询SPI任务历史剩余最小内存大小(单位字节)
printf("SPI任务历史剩余最小内存:%d 字节\r\n",(int)val*4);                             
val = uxTaskGetStackHighWaterMark(_4GTask_Handler);//查询4G任务历史剩余最小内存大小(单位字节)
printf("4G任务历史剩余最小内存:%d 字节\r\n",(int)val*4);                             
val = uxTaskGetStackHighWaterMark(MAINTask_Handler);//查询MAIN任务历史剩余最小内存大小(单位字节)
printf("MAIN任务历史剩余最小内存:%d 字节\r\n",(int)val*4);                             
val = uxTaskGetStackHighWaterMark(TCPSERVERTask_Handler);//查询TCP服务器任务历史剩余最小内存大小(单位字节)
printf("TCP任务历史剩余最小内存:%d 字节\r\n",(int)val*4);
val = uxTaskGetStackHighWaterMark(SDTask_Handler);//查询SD任务历史剩余最小内存大小(单位字节)
printf("SD任务历史剩余最小内存:%d 字节\r\n",(int)val*4);

注意

val 获得的是字而不是字节,因而打印时候要想获取字节数,要乘4.

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值