CYGPKG_HAL_CORTEXM_STM32_STM3210C_EVAL — eCos Support for the STM3210C-EVAL Board


The STM3210C-EVAL board contains a STM32F107VCT microcontroller. It has connectors for one UART, I²C, MicroSD, USB, CAN, JTAG and various other devices.

For typical eCos development, a GDB stub image is programmed into internal FLASH and the CPU boots directly into that. It is then possible to download and debug stand-alone and eCos applications via the gdb debugger using USART1. Alternatively test programs may be downloaded and debugged via a JTAG debugger attached to the JTAG socket. Available RAM is limited to 64KB, so development for larger applications may also consist of programming them to flash and using JTAG to debug them from there.

This documentation describes platform-specific elements of the STM3210C-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.

Supported Hardware

The STM32 has two on-chip memory regions. A RAM region of 64KiB is present at 0x20000000. A FLASH region is present at 0x08000000 and is aliased to 0x0000000 during normal execution.

The STM32 variant HAL includes support for the five on-chip serial devices which are documented in the variant HAL. USART1 is connected to an external connector on the board marked "CN6". The UART does not have any RTS/CTS lines, but the CTS and DSR pins are connected to bootloader reset and select lines. Care must therefore be taken when connecting this board to a host to ensure that these lines are not pulled in the wrong direction. A three wire cable is recommended.

The STM32 variant HAL also includes support for the I²C bus. A single I²C device is instantiated as part of the platform port, which is for the M24C64 serial EEPROM connected via I²C. It is exported to <cyg/io/i2c.h> with the name hal_stm32_i2c_eeprom in the normal way.

Device drivers are provided for the STM32 on-chip ADC interfaces, SPI interface and Ethernet MAC. 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.

Also, while the board is fitted with a CAN interface, this is not presently supported by the HAL port; nor is the microSD card (or SDIO interface) at the present time. The STM32F1 processor and the STM3210C-EVAL board provide an extremely 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.3.2, arm-eabi-gdb version 6.8, and binutils version 2.18.