KMD is a multi-processor debugger. It can debug with hardware boards over serial ports 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 on specific data (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.
|Tags||Emulators Software Development Testing Embedded Systems Disassemblers Debuggers Build Tools Assemblers education|
|Operating Systems||Unix POSIX|
Release Notes: An "align" command has been added to chump to ensure word alignment of instructions, along with enum allowing multiple entries for the same enumeration. There are multiple names for registers in the front interface. Memory window width varies depending on the instruction set.
Release Notes: Chump is now capable of assembling for larger word size architectures than the one it is running on. The Thumb (ARM16) architecture has been added, allowing assembly and disassembly.
Release Notes: The ability to add/change symbols from line assembler, and symbols using lists rather than arrays for easy addition and removal. Full expression parsing including hex/dec/oct/ascii/symbols. In chump, recursive calls have been fixed, line comments have been added, and there is an ASCII converter to allow strings and basic error reporting on failed "assemble and load" operations.
Release Notes: The option of using chump to compile a source file and then load it has been added. Chump can now handle some symbol generation such as labels. Currently only first pass has been implemented, so forward label reference is not yet possible. A big revamp of the user interface, especially in simple mode, has been applied, as well as keeping the file list from a previous session.
Release Notes: A symbol table extracted from the ELF loaded files is now passed to chump to allow the use of symbols in the disassembly field and the line assembler. The compile script can now pass colour codes to the log window and the resultant executable filename to automatically place into the load field.