The NXP lpc ARM chips contain a serial bootloader. This is a program in the chip's flash that allows a program on the host (the desktop PC) to burn a program into the chip's flash memory.
Some other manufacturers' chips also contain a bootloader.
The host-side program is often called a flash utility or a downloader. Sometimes I will used bootloader for either the host-side or the target-side program.
NXP has an official flash utility that runs only on Microsoft Windows. Fortunately, several people have written flash utilities that are more platform independent.
Another way of burning a program into flash is to use a JTAG cable in connection with a program on the host such as openOCD.
I have used the serial flash utilities by Martin Maurer and by Edwin Olson very happily. Now, I mostly use openOCD with an Olimex JTAG cable.
I started out downloading code to be burned into the onboard Flash
using the chip's built-in bootloader combined with Martin Maurer's
lpc21isp program that runs under either Linux or Microsoft Windows
(rather than using the version from
Philips NXP which runs only under
Microsoft Windows.
Martin Maurer no longer hosts lpc21isp on his web site but lpc21isp is available at Yahoo lpc21ispgroup (to download you must join the group or you might use a search engine to find it elsewhere).
I run it, e.g. to download the binary file combo.bin, with the command
lpc21isp -bin combo.bin /dev/ttyS0 115200 14746
where /dev/ttyS0
is the serial port I am using and 115200
is the
baud rate and 14746
is the speed is crystal in KHz of the board I'm
using (i.e. 14.746 MHz).
I download code to be burned into the onboard flash using the chip's built-in bootloader combined with Martin Maurer's lpc21isp program that runs under Microsoft Windows or Linux rather than the version from Philips which runs only under Microsoft Windows. You can probably just download and run the binary, but I downloaded the source, unzip it into /usr/local/scr, then compiled it, then soft linked it into the /usr/local/bin directory
gcc -o lpc21isp-1.31 lpc21.c ln /usr/local/src/lpc21isp-1.31 /usr/local/bin/lpc21isp
I run it, e.g. to download the binary file combo.bin, with the command
lpc21isp -bin combo.bin /dev/ttyS0 115200 14746
where '/dev/ttyS0' is the serial port I am using and '115200' is the baud rate and '14746' is the speed of the crystal in KHz of the board I'm using (i.e. 14.746 MHz). (On Microsoft Windows, your serial port might be named 'com1:' or 'com2:' rather than '/dev/ttyS0').
lpc21isp is available at Yahoo lpc21ispgroup (to download you must join the group or you might use a search engine to find it elsewhere).