OverviewNameeCos Support for the Embedded Artists QuickStart Boards -- Overview IntroductionThis platform HAL is designed to support the QuickStart board series from
Embedded Artists, fitted with an NXP LPC2xxx microcontroller, and optionally
connected to an Embedded Artists QuickStart Prototype Board.
The support for the QuickStart board series provided by this HAL has been
initially developed for the Embedded Artists (henceforth 'EA') LPC2148 USB
QuickStart Board. This HAL documentation therefore presently corresponds
to that particular board instance, and future supported variants will
cause this documentation to be updated accordingly.
DescriptionThe Embedded Artists QuickStart Board is fitted with
an NXP LPC2xxx processor rated at up to 60MHz, which contains up to 64KB
of SRAM and up to 512KB of FLASH, depending on choice of LPC2xxx variant.
The board itself has a single 9-pin RS-232 serial interface connected to
the LPC2xxx on-chip UART 0, an I2C EEPROM, and a USB device interface.
Refer to EA's QuickStart board documentation for full details.
Further peripheral support is available if the board is mounted on to
the EA QuickStart Prototype Board, including push buttons, LEDs, JTAG,
MMC/SD card socket, buzzer, 7-segment LED, and a further 9-pin RS-232
serial interface connected to the LPC2xxx on-chip UART 1.
The typical mode of operation for eCos development usually depends on the
amount of memory available. On LPC2xxx variants with 64Kbytes or more of
SRAM, a GDB stub ROM image is programmed into the LPC2xxx on-chip flash
memory, and the board will boot this image from reset. While RedBoot may
also be used, its larger RAM footprint requirements usually make it
unsuitable. Both RedBoot and the GDB stub ROM provide GDB stub
functionality so it is then possible to download and debug stand-alone and
eCos applications via the gdb debugger using UART 0.
On LPC2xxx variants with less than 64KBytes SRAM, such as the 32KBytes on
the LPC2148, it is typically expected that standalone applications will
be programmed directly to on-chip Flash, either using a hardware JTAG/ICE
unit via the QuickStart Prototype Board, or by serial using the on-chip
In-System Programming (ISP) mechanism included with NXP LPC2xxx
microcontrollers and a suitable host application running on a PC.
This documentation describes platform-specific elements of the EA QuickStart Board
support within eCos. Documentation on the NXP LPC2xxx variants is available separately, and should be read in
conjunction with this documentation. The LPC2xxx documentation covers various
topics including HAL support common to LPC2xxx variants, and on-chip device support.
This document complements the LPC2xxx documentation.
Supported HardwareThe NXP LPC2xxx microcontrollers on the EA QuickStart Boards have up to
512Kbytes of on-chip Flash memory. In a typical setup, the GDB stub ROM or
the user application will load and run from this internal flash. For initial
programming of the internal Flash, external support is required, such as the
NXP LPC2000 Flash Utility, the Flash Magic tool, or a hardware JTAG/ICE
unit. The latter may be used with its own in-built LPC2xxx flash programming
support if it exists, or the eCosPro® ecoflash
utility. 28Kbytes of internal flash memory should be reserved for the GDB
Stub ROM, the remainder being free for the application's use. Note that the
LPC2xxx primary boot loader and IAP code reside in boot blocks located at the
end of on-chip Flash. To determine the number and size of blocks reserved
for their use, consult the specific LPC2xxx variant's datasheet.
The first 64 bytes of on-chip SRAM are mapped by the HAL startup code
using the LPC2xxx memory mapping control to location 0x00000000. When loading
applications using the
GDB stub ROM, SRAM from location 0x40000040 to 0x40001000 is reserved for
its use. The rest of SRAM is generally available for use by the application.
Programs booted from ROM, or loaded directly into SRAM via JTAG may use all
SRAM. In all cases, if using the eCos LPC2xxx Flash driver, the last 32
bytes (or more if a separate program buffer is used) become reserved due
to the requirements of the IAP code.
The NXP LPC2xxx variant HAL includes support for the two LPC2xxx on-chip
serial devices and is documented in
the variant HAL. Although the interrupt-driven serial driver supports
the line status and modem control lines on UART 1 (UART 0 not having such
support), the QuickStart boards do not connect these pins, and so that
functionality is unavailable.
The EA QuickStart port includes support for the on-chip watchdog, RTC
(wallclock), interrupt controller (VIC) and on-chip Flash. This support is
documented in the LPC2xxx variant HAL.
ToolsThe QuickStart Board port is intended to work with GNU tools configured for an
arm-elf target. Thumb mode is supported. The original port was created using
arm-elf-gcc version 3.4.4, arm-elf-gdb version 6.3, and binutils version 2.16.
|