These provide a link to your target board that implements a debugging environment. In general they rely on a communications connection between the target board and the PC.
In modern chips this is provided by a Background Debug Mode (BDM or
JTAG) link but in it's simplest form this can be the built-in serial port of the microcontroller. Code to be debugged can be downloaded via this communications link to RAM/Flash on the target.
With the code now in the target breakpoints may be inserted and the values held in registers, variables etc
can be displayed on the PC and the user can even run or single step
through the application.
Hardware on the Kinetis, ColdFire, Qorivva, Power PC, 68HCS08, 68HC(S)12, HC16, CPU32
and MCORE processors uses a small number of pins to communicate with built-in debug facilities on the chip.
A monitor on the PC interacts via the BDM to provide Reading and
writing aces to the chip which can be used for on chip programming.
PEmicro provide a very low-cost solution. Many of the 68HC08 chips include an on chip monitor MON08 and
PEmicro's MON08 board interfaces
link to it both for development and programming purposes.
Like BDM/SDI this requires specific hardware support on the chip. JTAG
was originally devised to provides a mechanism for testing and programming complex
components such as PLDs and Flash memories in situ and in this case
it is used to communicate with a part of the CPU that can start and
stop execution as well as accessing the busses. It looks like it's the way
Program development support is going as CPUs
are getting faster and more complex while bondout chips are just not available. PEmicro provide JTAG ports for
ARM Cortex and Nexus. These interfaces are often used with
GDB the debugger supplied with the GCC