完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
请问在freeRTOS 系统总是报这个错误是什么原因?
我现在只有两个任务在跑 内存溢出了嘛? 因为我有在里面使用pvmalloc 函数,但是我把任务堆栈改到4096*2 还是报这个错误 谢谢各位大神指教 |
|
相关推荐
5个回答
|
|
有木有大神啊,别沉了呀
|
|
|
|
都提示很明显了,heap_4.c的320,321行提示的错误,进去看一下是怎么提示的不久知道了
|
|
|
|
我查看了heap_4.c 发现320 321行是在vPortFree() 中报错的
/* Check the block is actually allocated. */ configASSERT( ( pxLink->xBlockSize & xBlockAllocatedBit ) != 0 ); configASSERT( pxLink->pxNextFreeBlock == NULL ); 主要是用来检查是否成功分配时候的一个断言, 然后我试着在vPortFree()前加上 if(BT_Init_pntr == NULL) vPortFree(BT_Init_pntr); 发现此时不报错了,那说明实际上我的pvMalloc()是分配成功了的,但是为什么在vPortFree()中检查的时候就报错了 |
|
|
|
同问,我的也应该是分配成功了,但是不知道为什么释放的时候就报错了
|
|
|
|
我也遇到了这个问题,我的内存是申请过的
[C] 纯文本查看 复制代码 t = pvPortMalloc(256); printf("point(t) = %prn", t); sprintf(t, "%s:%s", serverhost, serverport); // Cache Host content = pvPortMalloc(256); sprintf(content, GET, p, t); printf("%srn", content); esp8266_send_data((u8*)content, (u8*)"200 OK", 400); // printf("%srn", USART3_RX_BUF); t = strstr((char*)USART3_RX_BUF, "{"); switchUtf8ToGbk(t, content); vPortFree(t); t = NULL; |
|
|
|
只有小组成员才能发言,加入小组>>
793 浏览 0 评论
1152 浏览 1 评论
2528 浏览 5 评论
2861 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2711 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1071浏览 3评论
194浏览 2评论
456浏览 2评论
369浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
454浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 20:13 , Processed in 1.033434 second(s), Total 86, Slave 66 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号