LPC2148 QuickStart Guide
Basic tutorials to help get you started developing software with the ARM7-based LPC2148.
In order to help you get started as quickly (and painlessly) as possible with ARM7 microcontrollers, we've decided to create a series of articles on using NXP's LPC2148. We've chosen this particular microcontroller because it's popular (there are many resources on the Internet for this chip family), it has more than enough memory and flash storage for almost any beginner or intermediate-level project, and it has a full range of advanced internal peripherals such as full-speed USB 2.0, analog-to-digital/digital-to-analog converters, and standard serial buses like UART, SPI, and I2C. Perhaps most importantly, NXP provides excellent documentation for their microcontrollers, and the LPC214x Datasheet and User Manual contain full and thorough descriptions of all of the peripherals available in this well rounded ARM7 chip.
Much of the code we will use and discuss is based on J.C. Wren's excellent and very thorough LPC2148 Demo Code (a heartfelt thanks to him for providing this and allowing us to use it!). If you want to follow along with the tutorials, you will find zipped archives of all the code discussed in each tutorial at the bottom of the appropriate tutorial page. While all of the solutions we provide are created in Rowley's excellent Crossworks for ARM (free 30-day trial version available), all of our code is 100% GCC compatible, meaning you can use any precompiled GCC toolchain to compile your examples. If you are completely new to embedded development, though, we recommend starting with the free trial of Crossworks rather than a free Eclipse-based toolchain (WinARM, Yagarto, etc.), simply because (in most cases) it works 'out-of-box'. All of this will be discussed in our first tutorial, though, "Getting Started".