STM32 上的 LWIP 锁定

Posted

技术标签:

【中文标题】STM32 上的 LWIP 锁定【英文标题】:LWIP lockup on STM32 【发布时间】:2018-06-21 06:36:18 【问题描述】:

我在使用 LWIP 的项目中遇到了问题。我正在使用 ST32F4 MCU 并且在没有操作系统的情况下运行。网络似乎运行良好,协议都正常工作,但随后(通常是一两天后)堆栈停止运行。尝试建立新连接时似乎会发生这种情况,但我无法确认,因为我无法在代码中找到导致它的原因。

还有其他人遇到过这个问题吗?我觉得可能和this guy一样。

【问题讨论】:

【参考方案1】:

您是否从任何中断处理程序(如 UART 等)调用任何 LwIP 函数?

如何将数据包输入/输出 LwIP?直接通过中断处理程序,还是从“主循环”中推入?

锁定也可以是双重释放的标志,或者 pbufs 释放后使用。

我还遇到过一个项目在以 STM32 的最高频率运行时不稳定,出现奇怪的随机锁定。如果我将 STM32 的时钟频率设置为 100MHz 而不是 120MHz,那么我所有的问题都消失了......

【讨论】:

以上是关于STM32 上的 LWIP 锁定的主要内容,如果未能解决你的问题,请参考以下文章

基于STM32单片机的LwIP协议LwIP 的TCP_client 上传数据温度电压数据到网络调试助手

基于STM32单片机的LwIP协议LwIP 的TCP_client 上传数据温度电压数据到网络调试助手

STM32 + LWIP - Pbuf 配置

stm32以太网的lwip怎么开dhcp

如何在 tls 中使用 STM32 lwip/mqtt api?

STM32F107移植LWIP