我的LWIP项目遇到了问题。我使用的是ST32F4 MCU,没有操作系统。网络似乎运行正常,协议全部工作,但随后(通常一两天后)堆栈才停止运行。在尝试建立新连接时似乎会发生这种情况,但我无法确认,因为我无法在代码中找到导致它的原因。
还有其他人遇到过这个问题吗?我认为它可能与this guy相同。
答案 0 :(得分:0)
你是否从任何中断处理程序调用任何LwIP函数,如UART等?
如何将数据包输入/输出LwIP?直接通过中断处理程序,还是从“主循环”中将它们推入?
锁定也可以是双重免费或免费使用pbuf的迹象。
我还体验到,当在STM32的最高频率下运行时,一个项目不稳定,随机锁定很奇怪。如果我以100MHz而不是120MHz为我的STM32计时,我所有的问题都消失了......