在使用freeRTOS系统时,系统总是会报错,
Error:...FreeRTOSportableMemMangheap_4.c,320
Error:...FreeRTOSportableMemMangheap_4.c,321
我看了是在vPortFree()里的一个断言抛出的错误,主要是判断是否真正分配
/* Check the block is actually allocated. */
configASSERT( ( pxLink->xBlockSize & xBlockAllocatedBit ) != 0 );
configASSERT( pxLink->pxNextFreeBlock == NULL );
我的任务里面也只分配了没多大的空间啊,而且任务堆栈我都设置了 4096了,还是会报错
char *pntr = pvPortMalloc(20);
...
...
...
if(pntr != NULL)
vPortFree(pntr);
实在是搞不懂,有遇到过这种情况的嘛
楼主,您好,我遇到了和您差不多的问题。我是在Freertos中有出现重复的删除和创建同一个任务,结果出现了和您一样的错误,请问下您当时的问题找到原因了么?
应该是某个任务的栈分配太小了,你都先调大试试看,写个1024什么的,之后再改小
很明显你的地址t被修改了,释放的地址和原来的不一样,估计楼主也是这样的问题
一周热门 更多>