Avrora is a set of tools for programs that run on the AVR series of microcontrollers produced by Atmel. It contains a flexible framework for simulating, analyzing, and optimizing assembly programs, and provides a clean Java API and infrastructure for experimentation, profiling, and analysis.
FLASH-PLAICE is a powerful in-circuit development tool that combines the features of a flash programmer, an emulator, and a high speed multi-channel logic analyzer into one device. It runs uClinux. The logic analyzer features up to 200MHz sampling rates and up to 32 input channels. The logic analyzer Java client features support for up to 200MHz sampling rates, user controlled filtering operations, time line in diagram, metadata (size, rate, and trigger position) stored in files, an ID command for device identification, configurable serial port transfer rate, user configurable drawing modes (logic level, hex value, and scope), and Java client access via almost any PC with a serial port. The Java client uses the RXTX serial library with support for 34 platforms including Linux, Windows, and Solaris. Java client plugins include an SPI and I2C bus protocol analyzer, timing analysis to state analysis conversion, and post-processing functions.
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.
Originating from GDB/Armulator, the SkyEye project aims to provide an integrated simulation environment in Linux and Windows. It can currently simulate several popular embedded systems such as Atmel AT91 boards (from ARM7TDMI to ARM920T processors), ARM720T boards, StrongARM (SA1100/SA1110), and Xscale boards. It can run several operating systems such as ARM Linux, uClinux, and uc/OS-II (ucos-ii), and analyse or debug them at source level.