OverviewNameeCos Support for the Atmel AT91RM9200 Development Kit/Evaluation Kit -- Overview DescriptionThis document covers the configuration and usage of eCos and RedBoot on
the Atmel AT91RM9200 Development Kit and Atmel AT91RM9200 Evaluation
Kit. The AT91RM9200 Evaluation Kit (EK board) contains the AT91RM9200
processor, 8Mbytes of SDRAM, 8Mbytes of parallel NOR flash memory, a Davicom
DM9161A PHY, a SD/MMC/DataFlash socket, a DAC, external connections
for two serial channels (one debug, one full), ethernet, USB
host/device, graphics, and the various other peripherals supported by
the AT91RM9200. The AT91RM9200 Development Kit (DK board) is similar but
also comes with a 128Kbytes TWI (I2C) EEPROM, IrDA port, and 8Mbytes of SPI
DataFlash, although only 2Mbytes of parallel NOR flash memory. eCos
support for the many devices and peripherals on the boards and the
AT91RM9200 is described below.
In this document, an EK board will be assumed for the purposes of
examples and output.
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 HardwareOn the EK board, the parallel NOR flash memory consists of 8 blocks of
8Kbytes each, followed by 127 blocks of 64Kbytes each. In a
typical setup, the first 192 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 125 blocks available between 0x60030000
and 0x607EFFFF.
There is a serial driver CYGPKG_IO_SERIAL_ARM_AT91
which supports both the Debug Unit and USART serial devices. The
debug serial port at J10 and DTE port at J14 (connected to USART
channel 1) 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 AT91RM9200-EK or AT91RM9200-DK targets.
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 EK/DK hardware. This driver
is also loaded automatically when configuring for the EK or DK targets.
There is a watchdog driver
CYGPKG_DEVICES_WATCHDOG_ARM_AT91RM9200. This driver is
also loaded automatically when configuring for the EK or DK targets.
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 EK or DK targets.
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 EK or DK targets 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 driver CYGPKG_DEVS_SPI_ARM_ATMEL_AT91RM9200_KITS
to allow access to devices on the SPI bus. This driver provides
information to the more general AT91 SPI driver
(CYGPKG_DEVS_SPI_ARM_AT91) which in turn 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 EK or DK targets.
Furthermore, the platform HAL package contains support for SPI dataflash
cards. The HAL support integrates with the
CYGPKG_DEVS_FLASH_ATMEL_DATAFLASH package as well as
the above SPI packages. That package is automatically loaded when
configuring for the EK or DK targets. Dataflash media is then accessed
as a Flash device, using the Flash I/O API within the
CYGPKG_IO_FLASH package, if that package is loaded
in the configuration.
In general, devices (Caches, PIO, UARTs, EMAC) are initialized
only as far as is necessary for eCos to run. Other devices (RTC,
I2C, 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.
ToolsThe AT91RM9200-EK and AT91RM9200-DK 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.
|