一些查看内存相关的函数如下:
static void my_mem_test(void *_arg)
{
printf("!!!This test belongs to wch!!!start!!!\n");
size_t mem_buf[7];
void mem_unfree_dump();
mem_unfree_dump();
mem_unfree_dump();
void mem_stats(void);
mem_stats();
mem_buf[0] = memory_get_size(P_MEMORY_TOTAL);//总的mem;
printf("!!!This test belongs to wch!!!P_MEMORY_TOTAL:%d \n",mem_buf[0]);
mem_buf[1] = memory_get_size(P_MEMORY_UNUSED);
printf("!!!This test belongs to wch!!!P_MEMORY_UNUSED:%d \n",mem_buf[1]);
mem_buf[2] = memory_get_size(P_MEMORY_USED);//使用的mem
printf("!!!This test belongs to wch!!!P_MEMORY_USED:%d \n",mem_buf[2]);
mem_buf[3] = memory_get_size(P_VLT_MEMORY_TOTAL);
printf("!!!This test belongs to wch!!!P_VLT_MEMORY_TOTAL:%d \n",mem_buf[3]);
mem_buf[4] = memory_get_size(P_VLT_MEMORY_UNUSED);
printf("!!!This test belongs to wch!!!P_VLT_MEMORY_UNUSED:%d \n",mem_buf[4]);
mem_buf[5] = memory_get_size(P_VLT_MEMORY_USED);
printf("!!!This test belongs to wch!!!P_VLT_MEMORY_USED:%d \n",mem_buf[5]);
mem_buf[6] = memory_get_size(P_HEAP_SIZE);
printf("!!!This test belongs to wch!!!P_HEAP_SIZE:%d \n",mem_buf[6]);
printf("!!!This test belongs to wch!!!end!!!\n");
}
如果需要查看heap内存记录,把CONFIG_HEAP_MEMORY_TRACE的值从0改为256即可。
系统定时器调用函数如下:
sys_timer_add(NULL,my_mem_test,5000);//系统定时器
在app main.c,app_core任务里面开头加系统定时器调用上面函数,可直接用在app_task_loop()函数里面使用,如下:
读者可以自行验证一下,欢迎朋友们讨论交流。