Codescape for Eclipse

Features

A fully functional C and C++ Integrated Development Environment based on the popular Eclipse IDE platform.
Support for project creation and managed build for all MIPS toolchains and standard Makefile builds including project templates
Source navigation, various source knowledge tools, include browser, macro definition browser, etc…
Code editor with syntax highlighting, folding and hyperlink navigation, source code refactoring and code generation
Simultaneous multiple debug probe connections to multi-SoC, multi-core, multi-VPE with multi-OS task support.
OS-aware debug support for Linux®, FreeRTOS, Nucleus™,  ThreadX®, RIOT, Zephyr™, MyNewt and MEOS™.
Ultra-fast debugging performance using intelligent, low latency probes e.g. < 1 sec single step even with multiple connections, VPEs, TCs & threads.  > 1 MByte/sec binary load.
Configurable, modern Eclipse based GUI.
Extensive library of plugins to support version control, testing, continuous integration, and other productivity tools.
Run external tools and user scripts at a key press.

Benefits

Free to use.
Powerful system for all members of the SoC and application development team.
Single environment for the entire development cycle.
Mature solutions that minimize design risk and reduce time to market.
Based on the popular Eclipse IDE platform and CDT development and debug tools.

Applications

IP evaluation.
SoC design.
SoC bring-up.
Application development.
Code optimization.


Host Environments

Debug Environments


The Codescape for Eclipse Development System

Codescape for Eclipse is an Integrated Development environment built on the popular Eclipse IDE platform that facilitates all stages of development alongside a low-level command-line console, built-in scripting, intelligent debug probes, emulators and simulators. For pre-hardware application development, Codescape for Eclipse works with the MIPS Instruction Accurate Simulator (IASim) and RTL Simulators. For silicon bring-up, application development, and testing on real hardware, Codescape for Eclipse can connect to MIPS’s range of debug probes supporting JTAG, cJTAG and EJTAG equipped targets or use virtual connections to Emulators or Cloud FPGA. Host connection via USB or Ethernet enables remote debugging across networks.

How the components fit together…

The Codescape for Eclipse User Interface

Codescape for Eclipse is driven from its own powerful Eclipse based GUI, running on Windows and Linux hosts. For fast, efficient debugging, it provides a host of useful debug views and features such as editable memory, drag and drop between views and real-time OS-aware debugging. For more advanced product development, Codescape for Eclipse has many state-of-the-art features such as a fully-annotated memory mapped peripheral inspector, real-time event tracing and support for multi-SoC, multi-core, multi-VPE and multi-OS task development and debugging.

What Can Codescape for Eclipse Debug ?

Codescape for Eclipse uses the powerful Codescape debug backend to support simultaneous multiple connections to multiple, heterogeneous, multi-core SoCs with hardware threads, virtual processors (VPEs), hardware thread contexts (TCs), and multiple software threads.

Semi-hosting

The MIPS Toolkit and Codescape for Eclipse provide support for semi-hosting functions from a target via a built-in API in the toolkit. Codescape for Eclipse allows you to set a root directory for semi-hosting operations so that programs running on a target can use relative address paths for file operations. No additional libraries or function calls are required. Semi-hosting operations supported include file operations such as fopen, fwrite, fread and fclose and outputs such as stdout, stderr and printf.

Debug Views & Editors

Codescape for Eclipse provides a host of useful debugging views to display data and control debugger features. Views can be pinned 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.

Source EditorFully featured syntax highlighted editor.
Disassembly ViewerCan show interleaved source and disassembly.
Register ViewerA basic register viewer.
CallstackCan unwind through interrupt handlers. Uses code reading and debug info.
MemoryShows all types of memory (RAM, DSP, CORE etc.) in many different formats.
BreakpointShows breakpoint state for all, current, or specific threads.
TriggersCreated simple or complex hardware triggers based on expressions.
VariablesAutomatically populated with variables in the current scope.
ExpressionsWatch and edit values of variables or complex expressions.
TargetRegister EditorPopulated with the core and peripheral registers. Bit fields shown/edited as mnemonics.
ICacheDisplays the ICache in a raw or decoded format.
DCacheDisplays the DCache in a raw or decoded format.
ProfilerLow impact PC capture.
MIPS Realtime TraceSetup / Display MIPS iFlow/PD Trace data.

Project Wizard

The Codescape for Eclipse project wizard makes it very easy to create and configure a project in a step-by-step manner including selecting a MIPS toolchain, selecting a source code example (or none), selecting a multilib to match your target (as shown below), and optionally setting up a debug configuration for the project.

Eclipse CDT based C Development & Debugging

Codescape for Eclipse brings the power of the popular Eclipse CDT development environment to MIPS: Code browsing, Build management, SCM integration, Powerful debugging and Bug Track integration. Explore the rich third-party ecosystem of Eclipse plugins to bring even more power to your development environment.

Target Register Editor

The Target Register Editor gives a complete view into the CP0, GPR, and all peripheral registers on the target core. Register data is captured in an text file based XML database that is easily editable and extendable so you can add additional peripheral memory mapped registers.  Register and field descriptions are hyper-linked so you can easily navigate between related resources.

Statistical Profiler

The statistical profiler provides a non-invasive sample based profiling service to help identify hot spots in your code at module, function, line, and address resolutions.  Multiple samplings can be compared to judge performance differences between different runs.

HW Triggers

The Hardware Triggers view provides advanced control over instruction and data trigger resources.

Performance Counters

Control and read performance counters on the target

Trace Viewer

View multi-core and multi-vp trace with interleaved or separate views for each core or vp with advanced filtering capabilities.


Codescape for Eclipse is free to use and is provided as part of the Codescape MIPS SDK.

For the range of MIPS debugger probes please click here.

Customer support and user forums and can be found on the MIPS Insider page.