OverviewNameeCos Support for the Logic Zoom Board -- Overview Description This document covers the configuration and usage of eCos and
RedBoot on the Logic Zoom eXperimenter board. The board comes
in two versions, one fitted with an TI OMAP L138 processor and
the other with a TI Sitara AM1808 processor. The boards and
processors are functionally identical as far as eCos and this
documentation are concerned. To simplify the text below the
board is generally referred to as the Zoom and where the text
doesn't differentiate between the two processors, all references
to the OMAP-L138 should be taken to refer to either processor.
In addition, all OMAP-L138 specific processor configuration and
target names referred to below the should also be used for the
Sitara AM1808 prcoessor.
The Zoom board consists of a base board and a CPU module.
The CPU module containing either the OMAP L138 or Sitara
AM1808 processors. The base board contains the CPU module, 64Mbytes
of SDRAM, 8Mbytes of serial NOR flash memory on SPI0, a
LAN87810A PHY, a MMC/SD socket, external connections for one
serial channel, ethernet, USB host/device, and the various other
peripherals supported by the CPUs. eCos support for the
devices and peripherals on the board and the CPU is
described below.
For typical eCos development, a RedBoot image is programmed into
the SPI NOR flash memory, and the board will load 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
OMAP L1xx processor HAL documentation and further device support
and subsystems are described and documented there.
Supported Hardware The SPI NOR flash consists of 128 blocks of 64Ki bytes each. In a
typical setup, the first block is reserved for the second-level
bootstrap, the User Boot Loader. The following two blocks are
reserved for the use of the ROM RedBoot image. The topmost block
is used to manage the flash and the next block down holds RedBoot
fconfig values. The remaining blocks can be
used by application code.
Serial support is through the
CYGPKG_IO_SERIAL_GENERIC_16X5X generic driver
package which is modified by the
CYGPKG_IO_SERIAL_ARM_OMAP_L1XX driver package
for the OMAP L1xx. These packages can support all the serial
devices on the OMAP L138. However, this board only has UART2
connected to an external connector which this HAL indicates by
implementing the CYGINT_HAL_L1XX_UART2
interface. This serial channel is used by RedBoot for
communication with the host. If this device 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 Zoom-L138 target.
There is an ethernet driver
CYGPKG_DEVS_ETH_ARM_OMAP 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 Zoom-l138
board.
There is a watchdog driver
CYGPKG_DEVICES_WATCHDOG_ARM_OMAP_L1XX. This
driver is also loaded automatically when configuring for the
board.
There is a driver for the on-chip real-time clock (RTC) at
CYGPKG_DEVS_WALLCLOCK_ARM_OMAP_L1XX. This
driver is also loaded automatically when configuring for the
target.
The OMAP L1XX processor HAL contains a driver for the MultiMedia
Card Interface (MMC/SD). This driver is loaded automatically when
configuring for this target and allows use of MMC and Secure
Digital (SD) flash storage cards within eCos, exported as block
devices. Further documentation on the driver may be found in the
OMAP L1XX processor HAL documentation.
The platform HAL provides definitions to allow access to devices
on the SPI bus. The HAL provides information to the more general
OMAP SPI driver (CYGPKG_DEVS_SPI_ARM_OMAP)
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
board.
Furthermore, the platform HAL package contains support for the SPI
NOR flash. The HAL support integrates with the
CYGPKG_DEVS_FLASH_SPI_M25PXX package as well as
the above SPI packages. That package is automatically loaded when
configuring for the target. This driver is capable of supporting
the JFFS2 filesystem.
In general, devices (Caches, GPIO, UARTs) are initialized only as
far as is necessary for eCos to run. Other devices (RTC, SPI,
MMC/SD etc.) are not touched unless the appropriate driver is
loaded, although in some cases, the HAL boot sequence will set up
the appropriate power control and pin multiplexing configuration.
Tools The board support is intended to work with GNU tools configured
for an arm-eabi target. The original port was undertaken using
arm-eabi-gcc version 4.3.2, arm-eabi-gdb version 6.8, and binutils
version 2.18.
|