cancel
Showing results for 
Search instead for 
Did you mean: 

LWIP + FreeRTOS Ping Issues

merakian
Associate II

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.

arp_stops_responding.png

ping_intermittent_wireshark.png

intermittent_ping.png

For reference, here are relevant screenshots my MPU settings, linker script, ethernetif.c, and lwiopts.h files.

 

ethernetif.png

linker.png

lwiopts.png

mpu.png

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. 

    

1 REPLY 1
Pavel A.
Evangelist III

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.