Name
eCos Support for the SSV DNP/9200 with DNP/EVA9 Evaluation Board — Overview
Description
This document covers the configuration and usage of eCos and RedBoot on the DNP/9200 with DNP/EVA9 evaluation board as provided in the SSV SK23 starter kit. This kit provides the AT91RM9200 processor, 32Mbytes of SDRAM, 16Mbytes of parallel NOR flash memory, a Davicom DM9161A PHY, a SD/MMC/DataFlash socket, a DAC, external connections for two serial channels, ethernet, USB host/device and the various other peripherals supported by the AT91RM9200. eCos support for the many devices and peripherals on the boards and the AT91RM9200 is described below.
For typical eCos development, a RedBoot image is programmed into the flash memory, and the board will boot into this image from reset. RedBoot provides gdb stub functionality so it is then possible to download and debug stand-alone and eCos applications via the gdb debugger. This can happen over either a serial line or over ethernet.
This documentation is expected to be read in conjunction with the AT91RM9200 processor HAL documentation and further device support and subsystems are described and documented there.
Supported Hardware
The parallel NOR flash memory consists of 128 blocks of 128Kbytes each. In a typical setup, the first 256 Kbytes are reserved for the use of the ROMRAM RedBoot image. The topmost block is used to manage the flash and hold RedBoot fconfig values. The remaining blocks can be used by application code. There are 126 blocks available between 0x60030000 and 0x60FDFFFF.
There is a serial driver CYGPKG_IO_SERIAL_ARM_AT91
which supports both the Debug Unit and USART serial devices. The
serial port at J6 COM1 (connected to USART channel 1) and DTE port at
J7 COM2 (connected to USART
channel 2) can be used by RedBoot for communication with the host. If
either of these devices is needed by the application, either directly
or via the serial driver, then it cannot also be used for RedBoot
communication. Another communication channel such as ethernet should
be used instead. The serial driver package is loaded automatically
when configuring for the DNP/9200 target.
There is an ethernet driver
CYGPKG_DEVS_ETH_ARM_AT91RM9200
for the on-chip
ethernet device. The platform HAL package is responsible for
configuring this generic driver to the hardware. This driver
is also loaded automatically when configuring for the DNP/9200 target.
There is a watchdog driver
CYGPKG_DEVICES_WATCHDOG_ARM_AT91RM9200
. This driver is
also loaded automatically when configuring for the DNP/9200 target.
There is a driver for the on-chip real-time clock (RTC) at
CYGPKG_DEVICES_WALLCLOCK_ARM_AT91
. This driver is
also loaded automatically when configuring for the DNP/9200 target.
The AT91RM9200 processor HAL contains a driver for the Two-Wire Interface (TWI) controller on the AT91RM9200. This type of bus is also known as I²C®. Further documentation may be found in the AT91RM9200 processor HAL documentation.
The AT91RM9200 processor HAL contains a driver for the MultiMedia Card Interface (MCI). This driver is loaded automatically when configuring for the DNP/9200 target and allows use of MMC and Secure Digital (SD) flash storage cards within eCos, exported as block devices. Further documentation may be found in the AT91RM9200 processor HAL documentation.
There is a general AT91 SPI driver
(CYGPKG_DEVS_SPI_ARM_AT91
) which provides the
underlying implementation for the SPI API layer in the
CYGPKG_IO_SPI
package. All these packages are
automatically loaded when configuring for the DNP/9200 target.
In general, devices (Caches, PIO, UARTs, EMAC) are initialized only as far as is necessary for eCos to run. Other devices (RTC, I²C, SPI, MCI etc.) are not touched unless the appropriate driver is loaded, although in some cases, the HAL boot sequence will set up the appropriate PIO configuration.
Tools
The DNP/9200 support is intended to work with GNU tools configured for an arm-eabi target. The original port was undertaken using arm-elf-gcc version 3.4.4, arm-elf-gdb version 6.3, and binutils version 2.15.
2024-12-10 | eCosPro License |