Yahoo Groups archive

Lpc2000

Index last updated: 2026-04-28 23:31 UTC

Message

Re: Some worthless talk, A request and Need help

2005-12-14 by rtstofer

The process is known as 'stepwise refinement' and I'll credit it to 
Niklaus Wirth because I first saw it described in his 
book "Algorithms + Data Structures = Programs".

First you get a development board with some type of development tool 
chain.  It doesn't much matter which one.

Next you run the simple examples.  For an embedded platform this is 
usually a blinking LED.  For a computer platform this is "Hello 
World!".  Both are sufficient to show that the tool chain and 
development board are working.

Then you study all of the files that make up the example.  The 
startup code, the main program, etc.  You look at every statement 
and, using the device datasheet and board schematic, try to learn 
exactly what it does.

In the embedded world there will be some startup code you just take 
on faith because it will be a long time before you need to worry 
about it.  But, things like setting up the IODIR register and then 
using IOSET and IOCLR to turn things on and off are fundamental to 
microcontrollers.

Now that the blinking LED is understood, the next step is to get the 
serial port working and create the "Hello World!" example.  This may 
be included with the software.  Nevertheless, it is the second step 
and it is important because, while JTAG debugging is glamorous, 
printf debugging is also useful.

Then it is time to move on to I2C or SPI.  Perhaps hang an MMC/SD 
card on the bus and implement a file system.  Maybe hang an MP3 
CODEC on the SPI bus and build a complete MP3 player.  That ought to 
do it:  there is a little bit of everything in a project like that.

One step at a time...

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.