2025-03-28 6:12 PM - edited 2025-03-28 6:13 PM
Hi all,
I've been working through this tutorial: How-To-Create to bring up LWIP + FreeRTOS on the STM32H735IGK development kit. I'm using STM32CubeIDE 1.18.0, FreeRTOS with CMSIS-v1, and STM32Cube FW_H7 version 1.12.1
I noticed that pinging is very sporadic, and the STM32 eventually stops replying to ARP requests. I've attached a couple of pictures(wireshark captures) that describe the problem.
For reference, here are relevant screenshots my MPU settings, linker script, ethernetif.c, and lwiopts.h files.
However, if I disable D-Cache, then pinging becomes stable (I'm able to ping for > 30 minutes continuously). I don't want to disable D-Cache, as my MPU should be disabling caching for the relevant memory regions.
I understand that MPU regions have priority, and I'm overlaying region 2 onto region 1, but both regions disable caching. What's going on here?
Please let me know if there additional information that you may need.
Thank you!
@Piranha, @STea, @Pavel A.
2025-03-30 3:42 AM
Looks like some RX or TX memory that should be made non-cached still is not covered by MPU settings. Have somebody to review your code.