Cosmic's ZAP debugger is a full featured C and Assembly language source-level debugger for embedded applications. ZAP's intuitive graphical interface is uniform for all targets and execution environments. ZAP typical features include:
ANSI C Debugging
Provides easy access to any C object including Enums, Bit Fields, Structs, Floats, Strings etc.
Assembly Source Debugging
Debug mixed C and assembly applications at the C or Assembly source level including coordinated source and disassembly displays.
Nonintrusive "Optimizer On" Debugging
ZAP does not modify or augment the user code in any way. The code used by ZAP is the same optimized code that will be used in the final product. All debug symbols are stored in a separate section on the host (e.g. PC). Debug symbols are never stored on the target.
In addition to the graphical interface, ZAP offers a robust command and scripting language which can be used to create automated test scripts including:
Record and Playback - Save a debugging session and play it back later
Multiple File Simulated I/O - Interactively open, read and write to multiple input and output files on the host system.
Browse and set breakpoints in any source windows.
Includes Using ZAP, C Language Syntax and C library Functions to provide a complete debugging environment on the host.
OS Support plug-in
Some versions of ZAP are Kernel-aware via a plugin provided by Cosmic (example: OSEK for the HC12)
Cosmic provides a simulator for virtually all the architectures supported. ZAP simulator features include
MCU Cycle Counter
ZAP accurately counts MCU cycles to provide valuable timing information.
ZAP provides a configurable mechanism to simulate MCU interrupts.
Graphical Performance Analysis
Displays code coverage and timing information on a file by file or function by function basis.
Generate reports for code executed or not executed.
Displays a time-line of function calls to track program execution.
ZAP is available for the most common development boards and emulators for every architecture. Check the microcontroller-specific pages for more information.