Debugging is key for any software/hardware system development as well as various phases of the product.
For embedded systems this is very essential. As you would know there is a lot dependency in delivering the embedded product.
Please see small checklist:
1. Plan on proper interface for downloading the sofware to the board/or embedded systems. Always keep redundancy for downloading during development and in final product also.
2. Always keep the facility to turn on/off debugging statements in shipped code. User/service engineer can see the problem
3. Use the system LEDS (with different setting’s)
–> All LEDS on to indicate system is perfectly ok
–> Few on means some kind of problem
4. Keep hardware/kernel/OS debugging intact while development is going on. Also try to keep minimum debug features on, while shipping the product. Service engineer, when the system is faulty, can point what is the exact problem.
I found nice articles from Robert on debugging and embedded systems :
[ Wrote in Pune Jan 13th 2009]