Skip to main content
Visitor II
July 1, 2022
Question

STM32H7 Ethernet Error Callback?

  • July 1, 2022
  • 2 replies
  • 1580 views

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.

    This topic has been closed for replies.

    2 replies

    Graduate II
    July 1, 2022

    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​.

    jmorganjAuthor
    Visitor II
    July 5, 2022

    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​ 

    jmorganjAuthor
    Visitor II
    July 22, 2022

    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?