当启用 IWDG 运行以太网回调时,STM32F4 芯片会复位

STM32F4 chip resets when ethernet callback runs with IWDG enabled

我在我的设置中使用了 STM32F429ZI 芯片。我在上面使用 LWIP 来处理以太网数据包。

当控制器收到数据包时,它会运行回调函数并使用 IAP 示例之一重新编程闪存。在创建和测试此部分时,我们已禁用 IWDG。该部分有效,但是当重新启用 IWDG 时,如果仅在此特定回调示例上崩溃。

我有另一个回调,它接受一条消息并发回一些状态信息。这确实适用于启用 IWDG。

需要说明的是,开发板仅在 tftp 回调时重置。我在整个 tftp 文件中填充了许多 IWDG 计数器重置,但它没有任何改变。崩溃似乎也不同于 IWDG 重启。

见tftpserver.chere

原来我们的预分频器太低了。将它从 4 (0.125s) 提高到 16(0.5s)。给自己一个好面子。