Upad is a programmer and low level debugger for micro-controllers which
feature a background debug mode (BDM) interface.  BDM is an electronic
interface enabling debugging of embedded systems.  Specifically, it
provides in-circuit debugging in a non-intrusive manner.  The
interface appears in many Freescale and NXP products.

Upad may be used to upload programs to such products and to debug
those programs.  It requires a dedicated hardware device, but this is
inexpensive and can be easily constructed by a moderately skilled
technician.
