KMD is a graphical debugger. It can debug hardware over
serial ports such as the Manchester ARM Board or with software
emulators (ARM and MIPS emulators are included in the project). Using the
pipe option you can debug over the network or any other communication
medium. It can load many executable formats such as ELF and display and
follow the original source even from multiple source file programs. There
is support for breakpoints and watchpoints which can trap specific
instructions (such as loading or executing specific instructions).
Support for other features such as FPGA's is also available, allowing
loading or any control required to drive a specific hardware device. The
project uses chump to allow
disassembly and line assembly. Chump also allows
new architectures to be easily added without the need to recompile the
system. Communication with the backend is done using two pipes/fifos using
a simple set of codes. Back end communication program can be created using
very little memory on the target device.