OpenEdv-开源电子网

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

使用CUBEMX配置Freertos+LWIP工程,移植了freemodbus做服务端,运行几十分钟后崩溃

[复制链接]

1

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
78
金钱
78
注册时间
2020-5-6
在线时间
19 小时
发表于 2021-6-22 16:01:58 | 显示全部楼层 |阅读模式
10金钱
最近在做modbustcp从站,用CubeMX配置的freertos+lwip工程,采用freemodbus源码demo中MCF5235TCP中的接口文件移植的freemodbus,硬件为阿波罗F429,程序运行一段时间后会崩溃,打印信息为:
Assertion "pcb->snd_queuelen >= pbuf_clen(next->p)" failed at line 1111 in ../Middlewares/Third_Party/LwIP/src/core/tcp_in.c
Assertion "pbuf_free: p->ref > 0" failed at line 753 in ../Middlewares/Third_Party/LwIP/src/core/pbuf.c
DEBUG: MBTCP-CLOSE: Closed connection to 192.168.0.182.
Assertion "pcb->snd_queuelen >= pbuf_clen(next->p)" failed at line 1111 in ../Middlewares/Third_Party/LwIP/src/core/tcp_in.c
DEBUG: MBTCP-ACCEPT: Accepted new client 192.168.0.182
Assertion "pcb->snd_queuelen >= pbuf_clen(next->p)" failed at line 1111 in ../Middlewares/Third_Party/LwIP/src/core/tcp_in.c
Assertion "pbuf_free: p->ref > 0" failed at line 753 in ../Middlewares/Third_Party/LwIP/src/core/pbuf.c
Assertion "mem_free: illegal memory: double free" failed at line 652 in ../Middlewares/Third_Party/LwIP/src/core/mem.c
Assertion "pbuf_free: p->ref > 0" failed at line 753 in ../Middlewares/Third_Party/LwIP/src/core/pbuf.c


有大神遇到过这种情况吗,是什么原因导致的

最佳答案

查看完整内容[请看2#楼]

问题已经解决,原因是lwip内核任务tcpip_thread的优先级设置的比modbus任务优先级高,将后者优先级设置比前者大后,运行正常,目前没有出现掉线崩溃的现象
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
78
金钱
78
注册时间
2020-5-6
在线时间
19 小时
 楼主| 发表于 2021-6-22 16:01:59 | 显示全部楼层
问题已经解决,原因是lwip内核任务tcpip_thread的优先级设置的比modbus任务优先级高,将后者优先级设置比前者大后,运行正常,目前没有出现掉线崩溃的现象
回复

使用道具 举报

1

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
78
金钱
78
注册时间
2020-5-6
在线时间
19 小时
 楼主| 发表于 2021-6-22 16:17:07 | 显示全部楼层
部分代码

lwip.zip

2.62 MB, 下载次数: 65

回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2021-6-23 01:41:05 | 显示全部楼层
帮顶
回复

使用道具 举报

6

主题

156

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
464
金钱
464
注册时间
2021-4-28
在线时间
158 小时
发表于 2021-6-23 09:49:27 | 显示全部楼层
帮顶     
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2021-6-26 01:17:51 | 显示全部楼层
18500486714 发表于 2021-6-25 08:44
问题已经解决,原因是lwip内核任务tcpip_thread的优先级设置的比modbus任务优先级高,将后者优先级设置比前 ...

谢谢分享
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

1

主题

8

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2024-2-18
在线时间
3 小时
发表于 2024-2-18 12:57:12 | 显示全部楼层
请问优先级在哪里改呀
回复

使用道具 举报

1

主题

8

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2024-2-18
在线时间
3 小时
发表于 2024-2-18 14:37:09 | 显示全部楼层
18500486714 发表于 2021-6-22 16:01
问题已经解决,原因是lwip内核任务tcpip_thread的优先级设置的比modbus任务优先级高,将后者优先级设置比前 ...

能详细说一下优先级是在哪里改的和改成什么吗?第一次用不知道怎么改
回复

使用道具 举报

1

主题

8

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2024-2-18
在线时间
3 小时
发表于 2024-2-19 13:37:57 | 显示全部楼层

可以教一下楼上说的跟换两个的优先级是怎么操作的吗
回复

使用道具 举报

1

主题

8

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2024-2-18
在线时间
3 小时
发表于 2024-3-6 11:16:20 | 显示全部楼层
qianlima 发表于 2024-2-18 14:37
能详细说一下优先级是在哪里改的和改成什么吗?第一次用不知道怎么改

解决了
https://blog.csdn.net/qq_3328827 ... 22qq_33288274%22%7D
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 21:40

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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