This is the Platform Library implementation for the STMicroelectronics STM32F4-DISCOVERY.

This platform provides both mass storage and Ethernet support using the Farnell STM32F4DIS-BB base board:

Mass Storage

Examples use the SD/MMC socket of the STM32F4DIS-BB.


Examples use the Ethernet port of the STM32F4DIS-BB.


Examples use an STM32F4DIS-LCD attached to an STM32F4DIS-BB. Note that the signals PD13, PD14, and PD15 have shared functions: they are routed to the Orange, Red, and Blue LEDS as well as being used as the LCD backlight and data bus. The Green LED is independent of the LCD. Therefore, if you intend to use graphics, make sure you initialize the built-in graphics first, which allocates those signals for the LCD and prevents them from being used for LEDs.


The STM32F4DISCOVERY is fitted with either an LIS302DL or LIS3DSH accelerometer, depending upon the revision of board you have. Revision A and B boards have the LIS302DL accelerometer and Revision C board have the LIS3DSH accelerometer. The Platform API will sense the type of accelerometer fitted to the board and initialize the correct driver for it.

Note that the accelerometer I2C/SPI interface is selected by PE3 which conflicts with the LCD where PE3 is mapped to the D/C signal. As such, it is impossible to use the accelerometer and the LCD in FSMC mode at the same time.

You can use the accelerometer and LCD sequentially, with restrictions, by configuring the LCD in GPIO mode rather than FSMC mode. In GPIO mode, PE3 can be multiplexed between LCD and accelerometer as long as both are not used from different CTL tasks. This mode also requires that the accelerometer is the only device on the SPI bus as it is selected onto the SPI bus when a command is issued to the LCD with D/C=0.

See the function platform_configure_builtin_graphics in stm32f4discover.c to select between fast FSMC LCD mode without accelerometer and GPIO mode with accelerometer.

***../../samples/STM32/ST_STM32F4DISCOVERY/platform_config.h not found ***