CYGPKG_HAL_CORTEXM_STM32_STM32F746G_DISCO — eCos Support for the STM32F746G-DISCO Board


This documentation describes the platform-specific elements of the STM32F746G-DISCO board support within eCos. It should be read in conjunction with the STM32 variant HAL section, which covers the common functionality shared by all STM32 variants, including eCos HAL features and on-chip device support. In addition ST's “Discovery kit for STM32F7 Series with STM32F746NG MCU” (ST User Manual id: UM1907) should be consulted for hardware setup and settings.

The board is equipped with an on-board ST-LINK/V2-1 hardware debugger interface (via the CN14 “USB ST-LINK” connector), which is typically used for eCos application development.

Supported Hardware

The STM32F746NG has two main on-chip memory regions. The device has a SRAM region of 320KiB present at 0x20000000, and a 1MiB FLASH region present at 0x08000000 (which is aliased to 0x00000000 during normal execution). Also, the STM32F746G-DISCO motherboard has 8MiB of SDRAM memory mapped to address 0x60000000.

The STM32 variant HAL includes support for the eight on-chip serial devices which are documented in the variant HAL. However, the STM32F746G-DISCO motherboard only provides access to a single UART (no flow control signals, no RS-232 transceiver) via the CN4 connector.

The STM32 variant HAL also includes support for the I²C buses. Two I²C devices are instantiated as part of the platform port, one for the RK043FN48H touch-panel sensor and another for the WM8994 audio codec. Both are connected via bus I²C3. The descriptors are exported in the normal way via <cyg/io/i2c.h>, with the names hal_stm32f746g_disco_touchpanel and hal_stm32f746g_disco_audiocodec respectively.

Similarly the STM32 variant HAL includes support for the SPI buses. Though the discovery board does not provide any SPI devices as standard.

USB host and peripheral modes are supported on both the FS OTG (connector CN13) and HS OTG (connector CN12) controllers available on the evaluation board. Consult the STM32 variant HAL documentation for USB driver details.

Device drivers are also provided for the STM32 on-chip Ethernet MAC, ADC and SDIO interfaces. Additionally, support is provided for the on-chip watchdog, RTC (wallclock) and a Flash driver exists to permit management of the STM32's on-chip Flash.


The STM32 variant HAL support for the SDIO interface is currently limited to supporting MMC/SD cards. If the multi-bit MMC/SD support is used it is recommended that on-chip SRAM transfer buffers are used to avoid RX overrun or TX underrun due to the slow external SDRAM access speed.

The STM32F7 processor and the STM32F746G-DISCO board provide a wide variety of peripherals, but unless support is specifically indicated, it should be assumed that it is not included.


The board port is intended to work with GNU tools configured for an arm-eabi target. The original port was done using arm-eabi-gcc version 4.7.3j, arm-eabi-gdb version 7.8.2, and binutils version 2.23.2.