— eCos Support for the STM32F7XX-EVAL Board
The STM32F7XX-EVAL board has a STM32F746NG microcontroller that incorporates 1MiB of internal flash and 320KiB of internal SRAM. The board also has an additional 32MiB of external SDRAM, 2Mib of external SRAM, 16MiB NOR-flash, 64MiB Quad-SPI NOR-flash, and a variety of I/O devices and interfaces.
Since the board is equipped with an on-board ST-LINK/V2 hardware debugger interface (via the CN21 “USB ST-LINK” connector) for typical eCos development test programs are downloaded and debugged via the hardware debugger in conjunction with the relevant host-side tools. Alternatively the CN12 and CN15 connectors are available for connecting off-board hardware debuggers.
This documentation describes platform-specific elements of the STM32F7XX-EVAL board support within eCos. The STM32 variant HAL documentation covers various topics including HAL support common to STM32 variants, and on-chip device support. This document complements the STM32 documentation.
This HAL provides support for two variants of the STM32F7XX evaluation board. The original prototype board was essentially a STM324x9I-EVAL with the processor chip replaced. The STM32F746NG-EVAL2 board is a similar but reworked board with several differences. By default, this HAL, and this documentation concentrates on the STM32F746NG-EVAL2 board.
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). In addition, the STM32F7XX-EVAL motherboard has 32MiB of SDRAM memory mapped to address 0x60000000, 2MiB of SRAM memory mapped to address 0x64000000, 16MiB of conventional NOR-flash memory mapped to address 0xC0000000, and a 64MiB Quad-SPI NOR-flash device which, if the relevant driver is configured, can be memory mapped to address 0x90000000.
The STM32 variant HAL includes support for the eight on-chip serial devices which are documented in the variant HAL. However, the STM32F7XX-EVAL motherboard only provides a single standard DB9 UART connector CN7.
The STM32 variant HAL also includes support for the I²C buses. Devices are instantiated for the audio codec, touch panel controller and MFX IO expander. The latter is used to control various IO pins for other devices.
Similarly the STM32 variant HAL includes support for the SPI buses. Though the motherboard does not provide any SPI devices as standard.
Device drivers are also provided for the STM32 on-chip Ethernet MAC, ADC, BXCAN 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 STM32F7XX-EVAL board provide a wide variety of peripherals, but unless support is specifically indicated, it should be assumed that it is not included in this eCos port.
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.3g, arm-eabi-gdb version 7.6.1, and binutils version 2.23.2.
|2022-03-29||eCosPro Non-Commercial Public License|