CYGPKG_HAL_CORTEXM_STM32_STM3210C_EVAL -- eCos Support for the STM3210C-EVAL Board
Description
The STM3210C-EVAL board contains a STM32F107VCT microcontroller.
It has connectors for one UART, I2C, 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.
Tools
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.