2022-07-01 09:04 AM
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.
2022-07-01 10:11 AM
Take a look on this topic:
Especially read the comment by @Community member.
2022-07-05 06:37 AM
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
2022-07-20 01:31 PM
2022-07-22 07:45 AM
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?