What is it?
KMD is a graphical debugger written for The
University of Manchester, School of Computer Science. It is
intended primarily as a teaching aid rather than a commercial tool.
Originally intended as the `front end' of a remote monitor system it
is also capable of interfacing with local, simulated `back end'
processor models. The primary processor model included is ARM.
Some screenshots are available
Authors
The original author of KMD was Charlie Brej.
Considerable tidying and enhancement was done by Roy Schestowitz.
Most of the current maintenance is done by Jim Garside.
Input from John Zaitseff and Chris Page is also acknowledged.
Libraries
KMD requires the following, freely downloadable libraries:
GLib 1.2 - Provides many useful data
types, macros, type conversions, string utilities and a lexical scanner.
GDK - A wrapper for low-level windowing
functions.
GTK 1.2 - An advanced widget set.
Platforms
Currently KMD has been compiled for x86 Linux and Sparc Solaris.
KMD should compile fine on any platform that has the above libraries.
KMD communicates with the target system via a serial port so a Windows
version would need the appropriate drivers. When using the emulator
the port is redirected to a Unix pipe; again this would require some
changes to produce a Windows version. [We have no incentive to worry
about this at present.]
Documentation
Download
A gzipped TAR of the KMD source is available
here. It is available free for educational purposes. Please
acknowledge the University of Manchester School of Computer Science if
you use this in your classes.
Support
A supporting assembler is available.
Users
If you find this software useful, please let us know. A list of
establishments using Komodo follows:
Bugs
Please send bug reports and feature requests to
komodo@cs.man.ac.uk.
Target systems
Documentation on the ARM7 target system can be found here.
Documentation on the ARM9 target system can be found here.
.komodo file
You can get my latest version of the .komodo file here.
The .komodo file describes the known architectures and instruction
sets.
The easiest way to add another processor to the file is to copy and
amend one of the processors already there.
Please contact me if you wish to add other processors to KMD.