Name

CYGPKG_HAL_CORTEXM_SAM4E_EK — eCos Support for the SAM4E-EK Board

Description

This document covers the configuration and usage of eCos on the Atmel SAM4E-EK evaluation kits. This board is fitted with a SAM4E16 variant of the SAM4 family of microcontrollers.

For typical eCos development it is expected that programs will be downloaded and debugged via a hardware debugger (JTAG/SWD) attached to the standard ARM 20-pin JTAG (J8) connector. Use of a hardware debugging interface avoids the requirement for a debug monitor application to be present on the platform.

Supported Hardware

The SAM variant HAL includes support for the six on-chip serial devices which are documented in the variant HAL. UART0 is connected to the external connector on the board marked DBGU/J7. There is no support for hardware flow control (RTS/CTS) lines on UART0. USART1 is connected to J5 but is configured to support RS485 rather than RS232; it needs a GPIO line to be pulled low and JP11 set to a non-default setting before RS232 is enabled. USART1 supports RTS/CTS flow control.

The SAM instantiates the SPI bus, and an AT25DF321A serial NOR flash is attached to chip select 3. The platform HAL instantiates this flash driver at the virtual address of 0x70000000.

Device drivers provide support for the two I²C (TWI) interfaces, which are instantiated by the platform HAL. These have been tested using external I²C devices, the only on-board I²C device, the QTouch controller, is not supported.

A driver is available for the CAN devices present on the chip, which are connected to external RJ12 sockets.

The board provides the 10/100 Ethernet (MII/RMII) Micrel KSZ8051MNL PHY providing support via the J20 (labelled “ETHERNET”) connector.

A driver for the AFE (Analog Front-End) Controller is available. A test program that uses the V1 potentiometer is present in the platform HAL.

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.7.3e, arm-eabi-gdb version 7.6.1, and binutils version 2.23.2.