Home
Home
Blog
Blog
Old Projects
Old Projects
Current Projects
Current Projects
Publications and Presentations
Publications and Presentations
Fun Stuff
Fun Stuff
Chairman Miau
Chairman Miau
Pictures
Pictures
Whats Inside?
Whats Inside?
Sooty
Other People
Polls
Polls
Disclaimer

KMD

KMD

KMD

KMD is a graphical debugger written by me for The University of Manchester Computer Science Department. 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.

Quickstart

Compile

Download the latest version of KMD. unzip the archive with
tar zxf KMD-latest.tar.gz
Enter the KMD directory
cd KMD-0.9.??
Run the configure script
./configure
Run make
make

Run

The compiled programs should be in the src directory
cd src
Run KMD and specify that you are running with the defauit configuration file (-i)
and using an emulator called jimulator which is an ARM emulator (-e ./jimulator)
./kmd -i -e ./jimulator

Download

The download archive has all the available versions or you can directly get the latest version.
There is also a pointer to the last very stable version. Although none of the releases are very unstable the last stable version will allways point to the last release before new round of feature enhancements.

License

KMD is available under GNU General Public License (GPL)

Author

Charlie Brej

Updates

You can subscribe yourself for updates on freshmeat.

Libraries

KMD requires the following libraries:
GLib - Provides many useful data types, macros, type conversions, string utilities and a lexical scanner.
GDK - A wrapper for low-level windowing functions.
GTK - An advanced widget set.
BFD - the Binary File Descriptor Library. (BFD comes with GCC or binutils)
libiberty - The libiberty library is a collection of subroutines used by various GNU programs. (also comes with GCC or binutils)

Platforms

Currently KMD has been compiled for x86 Linux, MacOS X and Sparc Solaris.
KMD should compile fine on any platform that has the libraries above.

Bugs

Please send bug reports and feature requests to komodo at cs.man.ac.uk.

Manual

A manual intruducing KMD has been written by The University of New South Wales.

Changelog

Read the change log.

.komodo file

You can get my latest version of the .komodo file here. The .komodo file describes the known architectures and instruction sets.
Please contact me if you wish to add other processors to KMD.

Screen Shots

KMD Main Window
XILINX download window
Breakpoint window