Skip to main content
Visitor II
January 29, 2020
Solved

STM32H7 Ethernet DMA Error

  • January 29, 2020
  • 2 replies
  • 2830 views

Hi,

I never used ethernet before, please excuse my ignorance. II dont want to use lwIP or FreeRTOS. My main goal is to use Ethernet hardware for fast communication between my distanced units.

created a project for my 2 piece NUCLEO-H743ZI2 board using CubeMX there are no compiling errors but when ever I tried to send a frame, sender unit goes DMA error which is DMAErrorCode 0x00055082. There aren't errors or reception at the other end.

I've added MPU Configuration as it stated in FAQ and lwIP example but still same.

Please guide me on this issue some related documents or project to increase my knowledge in order to solve the problems.

Thanks

Zeki

    This topic has been closed for replies.
    Best answer by Piranha

    Ethernet has it's own dedicated DMA and there is no option of not using it, because of performance requirements. H7 is a complex beast - check if the provided buffers are accessible by ETH DMA at all. For example, in H7 DTCM is not accessible by peripherals.

    Also take a look here: https://community.st.com/s/question/0D50X0000BOtfhnSQB/how-to-make-ethernet-and-lwip-working-on-stm32

    2 replies

    Super User
    January 30, 2020

    It looks like DMAErrorCode returns the value of the ETH_DMACSR register. So figure out what bits are set in there to find out what the errors are and go from there.

    e-zekiAuthor
    Visitor II
    January 30, 2020

    I've looked into it it gives almost every error related with transmission and reception including Fatal Bus Error. I think cubeMX doesnt automatically add dma configuration into generated code, but I coulnd't find how I should configure dma to ethernet use by hand.

    PiranhaAnswer
    Graduate II
    February 1, 2020

    Ethernet has it's own dedicated DMA and there is no option of not using it, because of performance requirements. H7 is a complex beast - check if the provided buffers are accessible by ETH DMA at all. For example, in H7 DTCM is not accessible by peripherals.

    Also take a look here: https://community.st.com/s/question/0D50X0000BOtfhnSQB/how-to-make-ethernet-and-lwip-working-on-stm32