硬石社区

 找回密码
 立即注册
查看: 6337|回复: 2

[其它] FreeRTOS + TCP SERVER问题

[复制链接]

2

主题

5

帖子

2277

积分

副船长

Rank: 5Rank: 5Rank: 5Rank: 5Rank: 5

积分
2277
发表于 2019-7-27 17:33:34 | 显示全部楼层 |阅读模式
本帖最后由 TECHMM 于 2019-7-27 17:39 编辑

实验程序:链接:https://pan.baidu.com/s/1HdpTHDCT6oVfaf7_ug3l7g
提取码:5x12

1、我直接编译下载运行SF4_HAL-080. 网络通信实验3. TCP Server,执行tcp_server的创建和通讯,关闭操作都正常;

img2.png

2、我将 YSF4_HAL-080. 网络通信实验3. TCP Server的tcp_echoserver移植到FreeRTOS中,创建TCP Server正常,通讯正常,
img3.png


最后关闭TCPSERVER,在执行tcp_echoserver_close()时,程序跑到Middlewares\LwIP\src\core\tcp.c的tcp_close方法时就挂掉了。
img4.png

再次断下程序,在错误那里。
img5.png

帮忙分析下是什么原因,是多任务引起吗?要怎么解决,还有这个错误捕获要怎么写才好调试呢?
err1.png
回复

使用道具 举报

3

主题

26

帖子

4259

积分

船长

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

积分
4259
发表于 2019-7-27 17:50:21 | 显示全部楼层
一般进入HardFault中断,大部分情况都是因为任务堆栈大小设置的问题,或者是数组或者指针操作越界了
回复 支持 反对

使用道具 举报

3

主题

26

帖子

4259

积分

船长

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

积分
4259
发表于 2019-7-27 17:54:49 | 显示全部楼层
在软件的call stack 窗口是可以看到进入这个HardFault函数之前的几个函数,可以逆向查找发生问题的位置,在这个语句之后才进入HardFault,并不一定就是这个语句引起
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Comsenz Inc. ( 粤ICP备16080364号

GMT+8, 2023-6-2 00:45 , Processed in 0.061204 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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