OpenEdv-开源电子网

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

STM32H7芯片使用Lwip,大数据量会卡死程序

[复制链接]

1

主题

2

帖子

0

精华

新手入门

积分
14
金钱
14
注册时间
2024-6-17
在线时间
5 小时
发表于 前天 15:53 | 显示全部楼层 |阅读模式
1金钱
128字节能正常ping通,设置512字节,ping一会就会出现程序卡死的情况,需要重启单片机才能恢复。打开lwip自己的debug功能,卡死的情况没有出现任务输出。不确定问题出在哪里,使用STM32CUBEMX+freertos,lwip配置如下:
  1. #define WITH_RTOS 1
  2. /*----- CHECKSUM_BY_HARDWARE enabled -----*/
  3. #define CHECKSUM_BY_HARDWARE 1
  4. /*-----------------------------------------------------------------------------*/

  5. /* LwIP Stack Parameters (modified compared to initialization value in opt.h) -*/
  6. /* Parameters set in STM32CubeMX LwIP Configuration GUI -*/
  7. /*----- Default value in ETH configuration GUI in CubeMx: 1524 -----*/
  8. #define ETH_RX_BUFFER_SIZE 1536
  9. /*----- Value in opt.h for MEM_ALIGNMENT: 1 -----*/
  10. #define MEM_ALIGNMENT 4
  11. /*----- Default Value for MEM_SIZE: 1600 ---*/
  12. #define MEM_SIZE 14336
  13. /*----- Default Value for H7 devices: 0x30004000 -----*/
  14. #define LWIP_RAM_HEAP_POINTER 0x30004000
  15. /*----- Value supported for H7 devices: 1 -----*/
  16. #define LWIP_SUPPORT_CUSTOM_PBUF 1
  17. /*----- Value in opt.h for LWIP_ETHERNET: LWIP_ARP || PPPOE_SUPPORT -*/
  18. #define LWIP_ETHERNET 1
  19. /*----- Value in opt.h for LWIP_DNS_SECURE: (LWIP_DNS_SECURE_RAND_XID | LWIP_DNS_SECURE_NO_MULTIPLE_OUTSTANDING | LWIP_DNS_SECURE_RAND_SRC_PORT) -*/
  20. #define LWIP_DNS_SECURE 7
  21. /*----- Value in opt.h for TCP_SND_QUEUELEN: (4*TCP_SND_BUF + (TCP_MSS - 1))/TCP_MSS -----*/
  22. #define TCP_SND_QUEUELEN 9
  23. /*----- Value in opt.h for TCP_SNDLOWAT: LWIP_MIN(LWIP_MAX(((TCP_SND_BUF)/2), (2 * TCP_MSS) + 1), (TCP_SND_BUF) - 1) -*/
  24. #define TCP_SNDLOWAT 1071
  25. /*----- Value in opt.h for TCP_SNDQUEUELOWAT: LWIP_MAX(TCP_SND_QUEUELEN)/2, 5) -*/
  26. #define TCP_SNDQUEUELOWAT 5
  27. /*----- Value in opt.h for TCP_WND_UPDATE_THRESHOLD: LWIP_MIN(TCP_WND/4, TCP_MSS*4) -----*/
  28. #define TCP_WND_UPDATE_THRESHOLD 536
  29. /*----- Default Value for LWIP_NETIF_STATUS_CALLBACK: 0 ---*/
  30. #define LWIP_NETIF_STATUS_CALLBACK 1
  31. /*----- Value in opt.h for LWIP_NETIF_LINK_CALLBACK: 0 -----*/
  32. #define LWIP_NETIF_LINK_CALLBACK 1
  33. /*----- Value in opt.h for TCPIP_THREAD_STACKSIZE: 0 -----*/
  34. #define TCPIP_THREAD_STACKSIZE 1024
  35. /*----- Value in opt.h for TCPIP_THREAD_PRIO: 1 -----*/
  36. #define TCPIP_THREAD_PRIO 24
  37. /*----- Value in opt.h for TCPIP_MBOX_SIZE: 0 -----*/
  38. #define TCPIP_MBOX_SIZE 6
  39. /*----- Value in opt.h for SLIPIF_THREAD_STACKSIZE: 0 -----*/
  40. #define SLIPIF_THREAD_STACKSIZE 1024
  41. /*----- Value in opt.h for SLIPIF_THREAD_PRIO: 1 -----*/
  42. #define SLIPIF_THREAD_PRIO 3
  43. /*----- Value in opt.h for DEFAULT_THREAD_STACKSIZE: 0 -----*/
  44. #define DEFAULT_THREAD_STACKSIZE 1024
  45. /*----- Value in opt.h for DEFAULT_THREAD_PRIO: 1 -----*/
  46. #define DEFAULT_THREAD_PRIO 3
  47. /*----- Value in opt.h for DEFAULT_UDP_RECVMBOX_SIZE: 0 -----*/
  48. #define DEFAULT_UDP_RECVMBOX_SIZE 6
  49. /*----- Value in opt.h for DEFAULT_TCP_RECVMBOX_SIZE: 0 -----*/
  50. #define DEFAULT_TCP_RECVMBOX_SIZE 6
  51. /*----- Value in opt.h for DEFAULT_ACCEPTMBOX_SIZE: 0 -----*/
  52. #define DEFAULT_ACCEPTMBOX_SIZE 6
  53. /*----- Value in opt.h for RECV_BUFSIZE_DEFAULT: INT_MAX -----*/
  54. #define RECV_BUFSIZE_DEFAULT 2000000000
  55. /*----- Value in opt.h for LWIP_STATS: 1 -----*/
  56. #define LWIP_STATS 0
  57. /*----- Value in opt.h for CHECKSUM_GEN_IP: 1 -----*/
  58. #define CHECKSUM_GEN_IP 0
  59. /*----- Value in opt.h for CHECKSUM_GEN_UDP: 1 -----*/
  60. #define CHECKSUM_GEN_UDP 0
  61. /*----- Value in opt.h for CHECKSUM_GEN_TCP: 1 -----*/
  62. #define CHECKSUM_GEN_TCP 0
  63. /*----- Value in opt.h for CHECKSUM_GEN_ICMP6: 1 -----*/
  64. #define CHECKSUM_GEN_ICMP6 0
  65. /*----- Value in opt.h for CHECKSUM_CHECK_IP: 1 -----*/
  66. #define CHECKSUM_CHECK_IP 0
  67. /*----- Value in opt.h for CHECKSUM_CHECK_UDP: 1 -----*/
  68. #define CHECKSUM_CHECK_UDP 0
  69. /*----- Value in opt.h for CHECKSUM_CHECK_TCP: 1 -----*/
  70. #define CHECKSUM_CHECK_TCP 0
  71. /*----- Value in opt.h for CHECKSUM_CHECK_ICMP6: 1 -----*/
  72. #define CHECKSUM_CHECK_ICMP6 0
  73. /*-----------------------------------------------------------------------------*/
复制代码
有接触过这方面的朋友能解答一下吗?

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

18

主题

173

帖子

0

精华

高级会员

Rank: 4

积分
770
金钱
770
注册时间
2018-11-2
在线时间
156 小时
发表于 10 小时前 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-25 22:07

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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