OverviewNameeCos Support for the IAR KickStart Cards -- Overview IntroductionThis platform HAL is designed to support the KickStart Card series from
IAR, fitted with an NXP LPC2xxx microcontroller.
The support for the KickStart board series provided by this HAL has been
initially developed for the IAR LPC2106
KickStart Card. This HAL documentation therefore presently corresponds
to that particular board instance, and future supported variants will
cause this documentation to be updated accordingly.
DescriptionThe IAR KickStart 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 two 9-pin RS-232 serial interfaces connected to
the LPC2xxx on-chip UART 0 and UART 1, push buttons connected to interrupt
lines, LEDs, a JTAG debug port, anda prototyping area.
Refer to IAR's KickStart board documentation for full details.
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, it is typically expected
that standalone applications will be programmed directly to on-chip Flash,
either using a hardware JTAG/ICE unit, 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 IAR KickStart 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 IAR KickStart 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 KickStart boards do not connect these pins, and so that
functionality is unavailable.
The IAR KickStart 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 KickStart Board port is intended to work with GNU tools configured for an
arm-eabi 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.
|