Home Products News Company Contact Us Support Careers

CodeSymphony™

Eclipse-based IDE for embedded applications

  Download Datasheets

Introduction

CodeSymphony is an Eclipse-based integrated development environment for PowerPC embedded hardware and software systems.  Combining Eclipse technology and the pre-built GNU C/C++ cross toolchain for Linux and Windows and GDB debugger with Corelis high-speed JTAG controllers, CodeSymphony offers a full development platform to accelerate development of software and applications for embedded systems.

Eclipse IDE

Eclipse is a Java™-based, Integrated Development Environment (IDE), a vendor-neutral development platform, and application framework for building software.  The Eclipse platform is exceptionally flexible because of its open, extensible architecture that is based on plug-ins.  With this IDE, CodeSymphony provides for complete management of your project using simple graphical tools and wizards.

CodeSymphony also provides code editing and build tools.  The text editor uses color coding to distinguish between comments, variable types and code.  The editor also has context sensitive help so you immediately know what variables are required in a function call as well as completion assistance in writing your function calls.  The text editor is available in both the code generation and debug perspective.  The user can modify code while debugging, and the program can be recompiled and debugged again, all within CodeSymphony greatly reducing development time.

GDB JTAG Debugger

CodeSymphony is available with a GDBserver for using the LAN interface to the embedded processor.  For increased performance and non-intrusive access to the processor CodeSymphony’s GDB is also available with a high performance JTAG controller.   Corelis’ innovative JTAG emulator solution provides a real-time, non-intrusive development and debug environment for embedded processors using their enhanced industry standard IEEE-1149.1 (JTAG) boundary-scan test port. This interface allows for a simple, yet robust, interface to the target processor.

The processors’ on-chip boundary-scan logic allows complete, non-intrusive CPU resource access through the JTAG port, even when the processor ‘hangs’ or otherwise runs out of control. The emulator/debugger communicates with the target exclusive of serial ports or other peripheral resources.

Corelis has developed an Eclipse plug-in that will automate the debugging process within CodeSymphony.  The plug-in automatically converts the GDB commands to JTAG commands to allow GDB to connect to the target.  The developer can use the CodeSymphony GUI to step, run, halt, and perform other actions to move through the code. 

CodeSymphony’s debugging perspective allows the developer to view source code, assembly code, variables (both local and global), memory, and registers all at the same time.  It also provides full source-correlated debugging, allowing the developer to display the source for a particular line of assembly code and vice versa.

Supported features in CodeSymphony are:

  • Start and Stop program execution

  • Set breakpoints in RAM

  • Single-step source or assembly code

  • Single-step into or over function calls

  • Single-step out of function calls

  • Display and modify processor registers

  • Display, modify, and fill memory

  • Display and modify all variables

  • Display current function call stack

  • "Type-over" modification in register, memory, and variable views, where the user can simply type in a new value over the old one

CodeSymphony can display three types of variables: Local (to a function), Static (to a file) and Global.  Memory locations can be displayed in hex or decimal at any address. All variables are displayed with their type (char, int, unsigned long, etc), and all arrays and structures can be broken down into individual elements.

 

CodeSymphony Eclipse Platform
CodeSymphony Eclipse Platform
(Click image to view full size image)

 

CodeSymphony Key Features
CodeSymphony Key Features

 

CodeSymphony Debugger Perspective
CodeSymphony Debugger Perspective
(Click image to view full size image)

 

Custom Target Commands

CodeSymphony is able to add additional features and commands to compliment GDB using the GDB ‘monitor’ command. Corelis has added features such as the ability to read special purpose registers and other target specific features.  To access these commands, the developer can type the commands into the Console view within Eclipse.

JTAG Controllers

CodeSymphony is available with either a USB 2.0 JTAG controller or a LAN/USB JTAG controller to give you flexibility in designing your host and target environment.

Flash Programming

CodeSymphony’s JTAG controllers also work with the Corelis Target Assisted Flash Programmer, a separate application for in-system programming of flash memory devices.

 

Download Datasheets