cancel
Showing results for 
Search instead for 
Did you mean: 

STM32H7 Ethernet Error Callback?

jmorganj
Associate III

I followed the directions for setting up Ethernet on the STM32H757xi-Eval board from here. I am using the Cube FW version 1.10.0. Therefore I applied the fixes for the specific issues of that firmware version. I have seen that I'm getting the call back for ETH_RX, but immediately after, the call back for a DMA error occurs.

Looking at this, the claim is a memory configuration issues, with the Ethernet not being able to access variables in DTCMRAM, but when looking at the Build Analyzer in CubeIDE, 0% of the DTCMRAM is used, and nearly 95% of D2 RAM. This would be expected since the instructions helped setup that memory configuration by rewriting the linker script and setting up where the LWIP heap pointer points to.

I have also verified that the LINK CALLBACK is seeing that the Ethernet cable is connected.

What else could I be missing? I can share any code sources and my .ioc file. I think I'm close, but I really need some help with some final debugging.

4 REPLIES 4
Piranha
Chief II

Take a look on this topic:

https://community.st.com/s/question/0D53W000019FshUSAS/stm32h7-hal-ethernet-use-of-lwipmempooldeclare

Especially read the comment by @Community member​.

Thanks @Piranha​ . Setting ETH_RX_BUFFER_CNT to ETH_RX_DESC_CNT did not remove the callback error for me. If there is any other information I can supply that may be useful in scenarios you may know of that could be happening, I can share any code or setup that is needed.

Also, setting the buffers count to a value less than the descriptors count indeed causes a hard memory fault as mentioned by @alister​ 

Thank you for the link. I'm assuming my issue is something to do with the Cache size. I'll take a look at your article. Is the solution in your article a replacement for using the MPU or should they be used together?