cancel
Showing results for 
Search instead for 
Did you mean: 

CubeMX ethernet DMA Tx does not work

taraben
Senior
Posted on May 03, 2015 at 19:53

Hello, I have an olimex E407 board featuring stm32f407zgt. I create a simple application using cubeMX and want to ping.

The board receives packets (I can see this using LWIP_DEBUG functionality) but the TX does not work.

In xxx_hal_eth.c in the function HAL_ETH_TransmitFrame:

Tx DMA seems blocked and the code runs into this section:

  /* When Tx Buffer unavailable flag is set: clear it and resume transmission */

  if (((heth->Instance)->DMASR & ETH_DMASR_TBUS) != (uint32_t)RESET)

  {

    /* Clear TBUS ETHERNET DMA flag */

    (heth->Instance)->DMASR = ETH_DMASR_TBUS;

    /* Resume DMA transmission*/

    (heth->Instance)->DMATPDR = 0;

  }

I do not see any ETH frame being transmitted.

Any hints?

Regards, Adib.

--

#cubemx #stm32f4 #ethernet
1 REPLY 1
taraben
Senior
Posted on May 15, 2015 at 13:34

I found that once after a coldboot it works.

So poweroff/poweronn: ok.

reset: not ok.

Adib.