CYGPKG_HAL_CORTEXM_STM32_STM32H735_DISCO — eCos Support for the STM32H735-DISCO Board


This documentation describes the platform-specific elements of the STM32H735-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 with STM32H735IG MCU” (ST User Manual id: UM2679) 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 CN15 “USB ST-LINK” connector), which is typically used for eCos application development.

Supported Hardware

The STM32H735IG has two main on-chip memory regions. The device has a SRAM region of 320KiB present at 0x24000000, and a 1MiB FLASH region present at 0x08000000 (which is aliased to 0x00000000 during normal execution). A 512Mbit MX25LM51245G Octo SPI flash device is available through the OCTOSPI controller.

The STM32 variant HAL includes support for the eleven on-chip serial devices which are documented in the variant HAL. However, the STM32H735-DISCO motherboard only provides direct access to a single UART (no flow control signals, no RS-232 transceiver) via the CN8 connector. Indirect access to another UART is available via the ST-LINK hardware debugger.

The STM32 variant HAL also includes support for the I²C buses. There are no I²C devices on the board that eCos supports. I²C bus 4 is available on CN4.

Similarly the STM32 variant HAL includes support for the SPI buses. The discovery board does not provide any SPI devices as standard, but SPI bus 5 is available on CN4.

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

The STM32H7 processor and the STM32H735-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 7.3.0d, arm-eabi-gdb version 8.1, and binutils version 2.30.