LPC ARM quick start
- 32bits, 48MHz+, 3.3volts
- Cortex M3 ARM processor
- Cheap and friendly packaging (TQFP-44 and up)
- Built in USB protocol handling for HID and MSD (LPC1343)
- Programmable over USB with built-in MSD bootloader (LPC1343)
- 17xx has Ethernet
- 13xx is SWD debug only, 17xx has SWD and JTAG
- LPC1300 homepage
- LPC1311/1212/1242/1343 datasheet
- LPC13xx manual
- LPC1700 homepage
- LPC175x datasheet
- LPC176x datasheet
- LPC17xx manual
Development and programming
IDEs and compilers
- CodeSourcery Sourcery G++ Light Edition (free) GNU ARM toolchain
- CooCox ARM Cortex M3 and Cortex M0 (free) development tools
- Yagarto open source toolchain
Programmers and debuggers
- LPC17xx supports normal JTAG debug and SWD, the LPC17xx will work with common FT2232 JTAG debuggers and OpenOCD
- LPC13xx supports SWD (two-wire JTAG) only, OpenOCD does not yet support SWD
USB (LPC1343 only) and serial bootloaders are integrated into the chip. These are in the chip when it ships, and cannot be deleted.
A really cool feature of the LPC13xx is an MSD bootloader integrated into the hardware. It appears as a USB disk drive under Windows, just drag an update into the device.
LPC13xx USB MSD bootloader is well supported in Windows.
USB based LPC13xx devices appears as USB disk drive under GNU/Linux as well. But, copying .bin file does not flash the device under GNU/Linux. Use the following commands instead :
sudo mdel -i /dev/sdc ::/firmware.bin
where /dev/sdc is the LPC1343 device and default file firmware.bin is the flash content.
sudo mcopy -i /dev/sdc firmware.bin ::/
where /dev/sdc is the LPC1343 device and firmware.bin is your compiled binary file
- 3.3volt power supply
- Connect all the supply pins to power or ground.
- Put a 0.1uF decouple capacitor on each positive supply pin, and put it as close to the chip on your PCB as possible.
- RESET is the reset pin
- Reset is active low and requires an external pull-up for normal operation. A 10Kohm resistor will work.
- It's an IO: it pulls low externally on all system resets
Boot configuration pins
|1||X||Normal operating mode|
|0||1||USB MSD device|
|0||0||UART serial port ISP|
- PIO0_1=0 to enter bootloader
- PIO0_3 determines the bootloader type on USB chips
Serial bootloader only.
- Low on P2 while RESET is low enables bootloader
- LPC1343: PIO0_7 can output up to 20mA and sink 4mA. PIO0_4 and PIO0_5 can sink up to 20mA. Other IO pins can sink and source up to 4mA only.
- Requires resistors on D+ and D-
- Requires a connect notification with soft-start circuit