Tcl provides a portable scripting environment for Unix, Windows, and Macintosh that supports string processing and pattern matching, native file system access, shell-like control over other programs, TCP/IP networking, timers, and event-driven I/O. Tcl has traditional programming constructs like variables, loops, procedures, namespaces, error handling, script packages, and dynamic loading of DLLs. Tk provides portable GUIs on UNIX, Windows, and Macintosh. A powerful widget set and the concise scripting interface to Tk make it a breeze to develop sophisticated user interfaces.
Do178Builder is a documentation tool used throughout the software/hardware development effort, helping to produce the DO-178B/254 documentation much less painfully. A major obstacle to creating airborne products, for smaller developers, is the necessity to qualify the software per RTCA/DO-178B, or hardware per RTCA/DO-254. Without this qualification, airborne products cannot be deployed.
CUT is a unit-testing framework for C, C++, and Objective-C. Unlike other unit testing tools, CUT doesn't strive to be an SUnit clone. It automates a lot of the drudge work often encountered when using other unit testing packages for the C family of programming languages. CUT may also be used to unit-test assembly language software in some circumstances.
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.
J51 is a Intel MCS51 emulator with all the standard integrated peripherals. A disassembler with an integrated debugger is also included. Standard peripherals emulated are Timer 0/1 (Mode 0, 1, 2, and interrupts), serial interface in polled and interrupt mode, standard I/O, and ports 0 to 4. Microprocessors emulated are the Intel MCS 8051 (no peripherals), Intel 8051, Intel 8052, Philips LPC674, and Philips LPc900.
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.
The MetaC programming language is a 100% backward compatible extension to the C language that adds reflections and the ability to analyze and modify C source code at compile time. It has been specially designed to search for arbitrary code structures and instantiate new source code. Typical applications for MetaC based meta-programs are development tasks concerning embedded and real-time software. Examples are API abstraction and retargeting to a new API (ever been locked to a vendor-specific API?), application specific debugging and profiling on an embedded target, and WCET measurements.
JTAG-O-MAT provides a simple but highly flexible interface to JTAG hardware. Unlike similar projects, the focus is on running automatic JTAG sequences. It is mainly intended for bringing up virgin hardware, for use in an automated test environment, or to preload boards in a production environment. JTAG debugging is not supported. Currently supported hardware includes ARM7TDMI targets and Wiggler as well as Turtelizer programming adapters.