Using NXP LPC ARM processors
Yet another ARM family. This one famously has some very small parts.
Hardware
Jeelabs shop might be selling some chips. There was a sale on LPC810 8DIP chips and I naturally ordered a pack.
See: blog: got LPC810 for story.
ARM Pro Mini
A very interesting project has also popped up recently: ARM Pro Mini board with NXP CM0 (LPC11U35FHI33).
Or would be if there ends up an internationally usable source for these boards or parts.
There's a thread on eevblog where the dev is quite active.
LPC810
The LPC810M021FN8 is an ARM Cortex-M0+ based, low-cost 32-bit MCU operating at CPU frequencies of up to 30 MHz. - NXP
The DIP8 LPC810 is still somewhat of a challenge to use precisely because it's so small (by ARM standards, anyway): 4KB flash and 1KB SRAM. That doesn't go far, and in reality you only have about 3KB flash to play with once you add in your startup code and get everything setup. - adafruit
The Adafruit LPC810 kit looks nice, but has a hilarious $60 shipping cost.
Pins 3 + 4 are easy to use in a project (disable SWD), then 2 + 8 (no in-circuit uploads), and lastly 1 + 5 (as long as they are high on power-up, perhaps by using them as outputs). - JCW
Toolchain
GCC should do, as usual.
The upload conundrum has introductory info on the programming interface options. There is a number of articles in the getting started section.
Seems there is a ROM bootloader that works over UART. The lpc21isp might talk to it. Seems Debian lpc21isp package exists. There are also repos around github.
There's also a script, flushmagic, which makes it look easy.
Crazily enough, it might also be possible to use stlink with lpc810 chips as well, using OpenOCD.
Firmware
Thre are sample code projects for the 810 in the embello repo lpc branch.
JCW has several tutorial pages and interesting source bits:
Links
- blog: got LPC810
- LPC810
- Baremetal for LPC1114
- Some Ubuntu advice
- LPC810 "code base" (what license? Seems to have some CMSIS.)
- simple LPC810 blink0