OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3481|回复: 1

求助!!!移植LWIP的问题

[复制链接]

8

主题

47

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
452
金钱
452
注册时间
2019-5-20
在线时间
65 小时
发表于 2019-11-14 00:10:17 | 显示全部楼层 |阅读模式

Assertion "pbuf_free: p->ref > 0" failed at line 650 in ..\LWIP\lwip-1.4.1\src\core\pbuf.c


STM32F407做TCP服务器,连接的第一次没问题,不断开就没事,一断开就出事了,后续过了几分钟就会卡住程序死机,调试时奇怪不会死机
串口打印出现这条语句
翻译断言“pbuf_free: p->ref > 0”在..\LWIP\ LWIP -1.4.1\src\core\pbuf.c的第650行失败
这是释放pbuf发生的问题吗,是不是内存不够
用的是FreeRTOS
代码和官方几乎一样
除了这下面这些是移植参考网友的,有经验的大佬请教一下,问题大致是哪里出的

//当消息指针为空时,指向一个常量pvNullPointer所指向的值.
//在UCOS中如果OSQPost()中的msg==NULL会返回一条OS_ERR_POST_NULL
//错误,而在lwip中会调用sys_mbox_post(mbox,NULL)发送一条空消息,我们
//在本函数中把NULL变成一个常量指针0Xffffffff
const void * const pvNullPointer = (mem_ptr_t*)0xffffffff;


//创建一个消息邮箱
//*mbox:消息邮箱
//size:邮箱大小
//返回值:ERR_OK,创建成功
//         其他,创建失败
err_t sys_mbox_new( sys_mbox_t *mbox, int size)
{
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

8

主题

47

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
452
金钱
452
注册时间
2019-5-20
在线时间
65 小时
 楼主| 发表于 2019-11-14 18:35:01 | 显示全部楼层
移植要注意sys_arch的内容,开、关中断换成临界区。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-24 16:27

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表