问题描述
最近在使用使用正点原子malloc.c时,由于在程序定义一个大小为256的数组后,编译出现内存不足的错误,同时freertos的总堆栈大小也不能增大,此时malloc.h的MEM1_MAX_SIZE设置为701024,尝试设置为601024,发现程序不运行,调用malloc.c的mem_perused函数查看内存占用率,发现返回86,也就是占用了86%,也就是用了60.21024,所以我改到601024是会造成内存溢出的,查看代码发现自己用mymalloc分配了很大的数组。
解决办法
改小自己分配的数组大小或者设置MEM1_MAX_SIZE大于60.2即可。