Ethernet on STM32F4DISCOVERY using external PHY
For you who have read about the STM32F4 Cortex-M4 processor you might know that this processor family includes a 10/100 Ethernet MAC with dedicated DMA that supports supports IEEE 1588v2 hardware, MII/RMII.
This means that the only electronics needed to enable the ethernet capability is an external PHY and the Magjack connector.
On the STM3240G-EVAL evaluation board the DP83848 PHY is used and luckily for us we were able to find a simple breakout board for this chip on eBay.
To hook up this Phy to the STM32F4DISCOVERY board a slight change in the pins, compared to the connections on the evaluation board, had to be made. Because the STM32F4DISCOVERY board only contains the 100-pin version some of the full MII pins are missing so we have to use the PHY in RMII mode.
So by taking the example project files for the Webpage example on the evaluation board, changing the GPIO initialization and Ethernet BSP file a bit to match the Discovery board, we were able to get the example running on our board.
The connections between the PHY module and the STM32F4DISCOVERY board can be seen in the image below.
On the PHY Breakout board there is space for a jumper. This jumper is used for external reset and should not be installed to work in this project.
To see the Ethernet functionality in use with the webpage example loaded on the Discovery board have a look at our video below.
The GCC project for the Webpage demonstration on the STM32F4DISCOVERY board, shown in the video, together with a CooCox CoIDE project file can be downloaded from the following link: STM32F4DISCOVERY Ethernet-Phy – Webpage example
Thanks to a comment from @P_K there is a very simple way to generate your own new HTML files using the “makefsdata.exe” file found inside the “STM32F4x7_ETH_LwIP_V1.0.0\Utilities\Third_Party\PC_Software” folder.
Please read more about how to do so at the following page: http://www.aimagin.com/tgr/tgr12/amgf4connect/doc/HTML/index.html?webpage_configuration.htm
You can eventually also see the following forum post on how to get ChibiOS and their Ethernet example to work with the setup described in this post: http://forum.chibios.org/phpbb/viewtopic.php?f=3&t=23&p=8017#p8017