eCos Support for the Keil MCB2387 Board — Overview


The Keil MCB2387 Board is fitted with an NXP LPC2387 processor rated up to 72MHz, which contains 64KB of SRAM and 512KB of FLASH. It provides access to two on-chip UARTs, an MMC/SD card socket, and a PHY connected to the on-chip Ethernet MAC. Refer to the board documentation for full details.

For typical eCos development, a GDB StubROM image is programmed into the LPC2387 on-chip flash memory, and the board will boot this image from reset. This provides gdb stub functionality so it is then possible to download and debug stand-alone and eCos applications via the gdb debugger using UART 0.

This documentation describes platform-specific elements of the MCB2387 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 Hardware

The MCB2387 board has 512Kbyte of on-chip Flash memory. In a typical setup, the stubrom will run from this internal flash. An image must be programmed into this flash using either the FlashMagic utility, or via a JTAG debugger.

The first 64 bytes of on-chip SRAM are mapped by the HAL startup code using the LPC2387 memory mapping control to location 0x00000000 for speed of interrupt vector processing. The rest of SRAM is available for use by the application.

The NXP LPC2xxx variant HAL includes support for the on-chip serial devices which is documented in the variant HAL. While the interrupt-driven serial driver supports the line status and modem control features of the UART devices, none of these lines are made available on the COM0 or COM1 connectors.

The MCB2387 board port includes support for the on-chip watchdog, RTC (wallclock), and interrupt controller (VIC). This support is documented in the LPC2xxx variant HAL.

The on-chip Ethernet MAC is supported.

The on-chip Multimedia Card Interface (MCI) is supported to allow access to Multimedia Cards (MMC) or Secure Digital (SD) cards using the socket on the OEM board.

Drivers for I²C and SPI are present. However, since there are no on-board devices connected to these busses, they have only been tested using external devices attached to the board for the purpose.


The MCB2387 board port is intended to work with GNU tools configured for an arm-eabi target. Thumb mode is supported. The original port was done using arm-elf-gcc version 3.4.4, arm-elf-gdb version 6.3, and binutils version 2.16.