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 上传数据温度电压数据到网络调试助手