Monday, March 14, 2011

Overview of the LPCXpresso development platform

I got hold of the LPCXpresso development platform. This is a nice, thin 32-bit development platform with a built-in USB programmer for only 20€.

The LPCXpresso. On the right is the target board, on the left is the LPC-Link USB JTAG debugger.
An interesting design feature of the board is that the LPC-Link USB JTAG debugger portion of the board can be separated from the target and used separately to program NXP's other Cortex-M0, Cortex-M3 and ARM7/9 devices.

The separated LPC-Link debugger. Picture: NXP

There's three versions of the board. I got the one with the LPC1114 32-bit ARM Cortex-M0 microcontroller. They've also made boards with the LPC1343 and the LPC1769 Cortex-M3 controllers. Check the embedded artists homepage for more info about these. This article focuses on the LPC1114 version.

The target portion of the chip features the LPC1114, a 12 MHz crystal and some limited prototyping space.
The LPC-Link portion of the board has a LPC3154 for the debugging, three LVC125 buffers and a 10-pin JTAG header.
The LPC-Link portion of the board uses a LPC3154 for the debugging. Looking at the datasheet, this chip seems more powerful than the LPC1114 it's programming. There's also a 10-pin JTAG header for JTAG programming.

The backside of the board is bare.
Compared to for example ST's STM32VLDISCOVERY, there seems to be more customer support and there's even an official toolchain for Linux provided.

LPCXpresso development platform features (LPC1114 version)
 - LPC1114 32-bit ARM Cortex-M0 microcontroller
 - All pins of LPC1114 are accessible on expansion connector
 - Built-in LPC-Link USB JTAG debugger that can be used on it's own
 - An LED
 - Small prototyping area on board
 - Can be powered via USB or external 3V

LPC1114 features
 - 32-bit!
 - ARM Cortex-M0 architecture
 - Up to 50MHz clock frequency (12MHz crystal on board)
 - 8kB SRAM memory
 - 32kB Flash memory
 - Two 32-bit counters/timers
 - Two 16-bit counters/timers
 - A watchdog timer
 - 13 PWMs (using timers)
 - Communications: one UART, one I2C, two SSP
 - Integrated Power Management Unit (PMU) to minimize power consumption
 - Three reduced power modes: Sleep, Deep-sleep, and Deep power-down
 - Code Read Protection (CRP) with different security levels

If you want a short intro to the 1114 LPCXpresso, here's a nice slideshow presentation.


NXP's LPCXpresso homepage
LPCXpresso support page - with program examples
LPCXpresso IDE download page at Code Red
LPCXpresso official forum
LPCXpresso homepage at Embedded Artists

Datasheets, manuals
LPCXpresso - getting started (pdf)
LPCXpresso board schematics (pdf)
LPC1114 datasheet (pdf)
LPC1114 user manual (pdf)
LPC1114 erratasheet (pdf) - info on a bug in the built-in ADC
ARM Cortex-M0 technical reference manual
ARM Cortex-M0 generic user guide