【发布时间】:2018-06-21 06:36:18
【问题描述】:
我在使用 LWIP 的项目中遇到了问题。我正在使用 ST32F4 MCU 并且在没有操作系统的情况下运行。网络似乎运行良好,协议都正常工作,但随后(通常是一两天后)堆栈停止运行。尝试建立新连接时似乎会发生这种情况,但我无法确认,因为我无法在代码中找到导致它的原因。
还有其他人遇到过这个问题吗?我觉得可能和this guy一样。
【问题讨论】:
我在使用 LWIP 的项目中遇到了问题。我正在使用 ST32F4 MCU 并且在没有操作系统的情况下运行。网络似乎运行良好,协议都正常工作,但随后(通常是一两天后)堆栈停止运行。尝试建立新连接时似乎会发生这种情况,但我无法确认,因为我无法在代码中找到导致它的原因。
还有其他人遇到过这个问题吗?我觉得可能和this guy一样。
【问题讨论】:
您是否从任何中断处理程序(如 UART 等)调用任何 LwIP 函数?
如何将数据包输入/输出 LwIP?直接通过中断处理程序,还是从“主循环”中推入?
锁定也可以是双重释放的标志,或者 pbufs 释放后使用。
我还遇到过一个项目在以 STM32 的最高频率运行时不稳定,出现奇怪的随机锁定。如果我将 STM32 的时钟频率设置为 100MHz 而不是 120MHz,那么我所有的问题都消失了......
【讨论】: