STM32F427 Ethernet support
Posted: Mon Oct 07, 2019 1:46 pm
Hey there!
I'm running ChibiOS (and nanoFramework) on a STM32F427 based board and am trying to make the Ethernet interface work. I have an external ethernet PHY (maxim 78Q2123) which uses the MII Interface of the MAC. The communication with the PHY seems to work as the mii_write and mii_read functions during the initialization for powering down/up the PHY work fine.
But in the function mac_lld_start() in hal_mac_lld.c right after the start of the send and receive process
ETH->DMAOMR = ETH_DMAOMR_DTCEFD | ETH_DMAOMR_RSF | ETH_DMAOMR_TSF | ETH_DMAOMR_ST | ETH_DMAOMR_SR;
the Ethernet DMA state register has the value 0x3802102 which means that RX and TX process stopped and a fatal bus error occurred. The error codes say that there was an error during data transfer TxDMA, read transfer and descriptor access.
I can't find the cause of this issue. Do you have any idea?
I'm running ChibiOS (and nanoFramework) on a STM32F427 based board and am trying to make the Ethernet interface work. I have an external ethernet PHY (maxim 78Q2123) which uses the MII Interface of the MAC. The communication with the PHY seems to work as the mii_write and mii_read functions during the initialization for powering down/up the PHY work fine.
But in the function mac_lld_start() in hal_mac_lld.c right after the start of the send and receive process
ETH->DMAOMR = ETH_DMAOMR_DTCEFD | ETH_DMAOMR_RSF | ETH_DMAOMR_TSF | ETH_DMAOMR_ST | ETH_DMAOMR_SR;
the Ethernet DMA state register has the value 0x3802102 which means that RX and TX process stopped and a fatal bus error occurred. The error codes say that there was an error during data transfer TxDMA, read transfer and descriptor access.
I can't find the cause of this issue. Do you have any idea?