I have been using STM32F427 for years (with ENET).
I switched to a GD32F470ZI on a new board -- using the same firmware as on the STM (changed the clock per their doc and kept the freq at 180mhz for the initial prototype test).
I have seen a compatibility doc on the GD32F1 series where there are pin assignment issues when using specific I2C or Uart peripherals -- none of those exist.
For the test .. I am ONLY using the ENET -- NO I2C, NO SPI, NO UART ... no other peripherals.
I'm using wireshark connected to a HUB.
The GD470 will transmit as seen by the DHCP Discovery request going out -- I see the "Offer" reply ... BUT - the GD470 NEVER sees the Ethernet packet.
I am using MII mode - I have scoped the RXCLK, RXDV, and RXData0-4 and all are good on the board.
As a test -- I kept the related MII-RX pins stated above as inputs and monitored them for signal activity from the PHY -- too make sure the signals could actually get into the CPU.
The ENET runs without flaw on the STM but NO Receive on the GD470.
I have 3 prototype boards all behaving the same way.
I have captured the MAC and DMA registers of the ENET and compared them when running on a STM32F427 and on the GD32F470 -- they are exactly the same.
After 5 days of debugging I'm out of ideas on debugging .. Any suggestions or comments.
Thanks.