GRMON2 is a debug monitor for the LEON2, LEON3 and LEON4 Debug Support Unit (DSU), providing a non-intrusive debug environment on real target hardware. The LEON DSU can be controlled through any AMBA AHB master and GRMON2 therefore supports communication through a large number of interfaces.
GRMON2 has extended support for multi-core systems, such as the dual-core GR712RC device and the future ESA Next Generation Microprocessor (NGMP).
GRMON2 supports all features supported by GRMON:
- Read/write access to all LEON registers and memory
- Downloading and execution of LEON applications
- Built-in disassembler and trace buffer management
- Breakpoint and watchpoint management
- Command-line mode
- Remote connection to GNU debugger (GDB)
- Single word or burst access to AMBA on-chip bus
- GRLIB Plug & Play support
- Auto-probing and initialisation of LEON peripherals and memory settings
- Error injection for fault-tolerant LEON processors
- Supported debug interfaces: PCI, USB, Ethernet, JTAG, UART and SpaceWire
- Common Flash Interface (CFI) compatible Flash PROM programming
GRMON2 also support a wide range of improvements and additions such as:
- Tcl interactive interpreter support
- All commands have been rewritten to support Tcl syntax
- TAB-completion on Tcl variables, procedures, namespaces etc.
- Tcl scripting:
- GRMON2 commands leave return values for scripting
- Variables are exported that let the user access DSU and debug drivers without using commands
- Start-up scripts
- Extend GRMON2:
- custom AMBA cores using new Tcl-driver interface
- easy custom command implementation using Tcl
- install custom handlers (hooks) on certain events
- A new help system, all commands are documented
- Multi-core system support improvements
- Batch scripts take arguments
- Improved TAB-completion
- Improved backtrace
- Improved virtual memory handling
- Improved and faster establishment of connection through debug interface
- Improved processor/system frequency detection accuracy through debug interface
- GDB does not consume the console, i.e. it's possible to inspect registers etc. while GDB is connected
- GDB watchpoint support
- Translates virtual addresses for GDB, e.g. it's possible to debug the Linux kernel
- Expanded register information listing
- Internal design improvement for future support, such as GUI
GRMON2 does currently not support a GUI.
Please refer to GRMON for support of the above.
Supported platforms and system requirements
GRMON2 is currently provided for platforms: Linux-x86, Windows XP SP3 and Windows 7.
Documentation and download
GRMON2 user manual is available on-line.
Professional and evaluation versions of GRMON2 for Linux and Windows can be obtained from the download page.
Example of how Tcl can be used for debugging
The GRMON2 Tcl-scripting capability can be used to support advanced debugging routines. In the example below a Tcl-script is used to profile interrupt latency in a LEON3 system analysing the built-in AMBA AHB trace buffer content which is written to a file from which a graphical representation is created using a standard spread-sheet tool.
Figure: Tcl source code
Figure: GRMON2 console output
Figure: Graphics generated from GRMON2 output