Codescape Debugger is Imagination’s bespoke debug environment for heterogeneous SoC
development. It has recently undergone a major overhaul to include many new features for native debugging of MIPS targets and other IP from Imagination. From Codescape Debugger you can simultaneously debug MIPS CPU cores, as well as Ensigma communications RPU cores in a single environment, with more heterogeneous processing features coming soon.
Download our factsheet from here
- Simultaneous multiple debug adapter connections to multi-SoC, multi-core,
multi-VPE with multi-OS task support
- OS-aware debug support for Linux®, ThreadX®, Nucleus™, Free RTOS and MEOS™
- Ultra-fast debugging performance using intelligent, low latency probes
(< 1 sec step with multiple connections, VPEs, TCs & threads. > 1 MByte/sec binary load).
- Configurable debug regions
- Python scripting support
- Run external tools such as make and user scripts at a key press
- Ensigma RPU support – fully-featured MCP core debugging
- Powerful and cost-effective system for all members of the SoC and application development team
- Single IDE for the entire development cycle
- Mature solutions that minimize design risk and reduce time to market
- Proven technology used by major SoC manufacturers
- IP evaluation
- SoC design
- SoC bring-up
- Driver development
- Application development
- Code optimization
For pre-hardware application development, Codescape Debugger works with the MIPS Instruction Accurate Simulator (IASim) and QEMU emulator. For silicon bring-up, application development, and testing on real hardware, Codescape Debugger can connect to Imagination’s range of debug probes supporting JTAG, cJTAG and EJTAG equipped targets. Host connection via USB or Ethernet enables remote debugging across networks.
Simultaneously connect to a variety of multi-VPE and multi-core real and simulated targets debugging multiple OSes.
View task swaps between threads with native RTOS-aware debugging.
What Codescape Debugger Can Debug
Codescape Debugger has been designed from the ground up to have multiple connections to multiple, heterogeneous, multi-core SoCs with hardware threads, virtual processors (VPEs), hardware thread contexts (TCs), and multiple software threads.
Linux Application Debug
Linux applications can be debugged via gdbserver running on Linux on the target. Connecting to gdbserver over a specified port, Codescape Debugger displays gdbserver as a target, and when debugging Linux user code with multiple threads, each pthread can be debugged just like a core.
The MIPS Toolkit and Codescape Debugger provide support for semihosting functions from a target via a built-in API in the toolkit. The Codescape Debugger allows you to set a root directory for semi-hosting operations so that programs running on a target can use relative address pathing for file operations. No additional libraries or function calls are required. Semihosting operations supported include file operations such as fopen, fwrite, fread and fclose and outputs such as stdout, stderr and printf.
Codescape Debugger provides a host of useful debugging regions to display data, and using the extensive scripting support you can create bespoke regions and plug-ins to display your data in unique ways. Regions can be tied to specific threads, or the current thread, can be docked, floating or stacked in tabbed groups. Data can be dragged between regions and targets using intelligent, contextual drag-and-drop.
Fully featured syntax highlighted editor.
Edit and display binaries in many formats.
Can show interleaved source and disassembly.
Layout is user definable and can display in different radices/formats.
Can unwind through interrupt handlers. Uses code reading and debug info.
Shows all types of memory (RAM, DSP, CORE etc) in many different formats.
Shows breakpoint state for all, current, or specific threads.
Watch and edit values of variables or complex expressions.
Automatically populated with variables in the current scope.
Populated with the peripheral registers. Bit fields shown/edited as mnemonics.
Automatically populated with RTOS data e.g. threads, mutexes, block pools
Graphically displays the Task execution captured by the RTOS.
Displays all TLB in Raw or Decoded format.
Displays the ICache in a human readable format.
Displays the DCache in a human readable format.
Create your own region using wxWidgets & Python.
VT100 emulator. Stream output to file.
Low impact PC capture. Data shown next to code.
Graphical representation of Real Time Trace data.
Setup and display data from the MIPS PDTrace system.
Shows the current status of Overlays.
Codescape Debugger’s Make Manager provides a quick and simple way to call ‘make’ and see your build log without exiting the Codescape Debugger. Multiple configurations for ‘make’ can be specified with individually-specified parameters for each configuration.
In addition to this external scripting environment, Codescape Debugger has its own internal, fully-configurable, script region that supports standard wxPython to enable advanced graphical scripting for data visualisation, input/output device emulation, and the creation of bespoke debug regions.
Trace Results Region
The Trace Results Region reads trace data saved by MIPS’ PDTrace on-chip tracing hardware. The data captured is configurable and includes processor-specific information captured from each pipeline and from non-processor-specific blocks such as the Coherence Manager block in a Coherent Multi-Processor system.
RTOS Trace Region
Codescape Debugger supports debug and trace of several common realtime operating systems, including ThreadX, FreeRTOS and MEOS. The RTOS Watch region reads, formats, and displays system variables in use by real-time operating systems, and the RTOS Trace region reads, processes, and displays thread execution order and duration.
For further information please click here.
Debug probes, customer support and user forums and can be found on the MIPS Insider page.
A range of approved development boards and vendor details are available at http://store.imgtec.com.