Software & Tools
MetaWare® Development Toolkit
Develop with Industry-Leading Software Development Tools
The ARC® MetaWare® Development Toolkit builds upon a 25-year legacy of industry-leading compiler and debugger products. With MetaWare, end-users achieve the smallest code size, fastest performance and best hardware and software visibility available anywhere.
MetaWare is targeted at professional embedded developers who need to get the most from their code, whether it’s battery life, smallest embedded memory size, or absolute fastest performance. With MetaWare, users receive all the advanced means to extract all possible performance from their software.
The MetaWare Development Toolkit consists of four main components: The compiler, debugger, integrated profiler and Eclipse-based IDE.
Benefits
- Differentiate your products with longest battery life, smallest embedded memory size, or fastest performance
- Reduce risk with proven tools with a 25-year history of innovation and stability
- Reduce time-to-market by enabling developer productivity with advanced debug and profiling features
- Enable parallel hardware and software development with integrated co-design and simulation tools
MetaWare Diagram
top
MetaWare® Compiler
The MetaWare® C/C++ Compiler is ANSI C compliant and supports C++ and Embedded C++. ARC maintains and runs an extensive suite of internal compiler verification and validation tests that are even licensed by competing compiler vendors. ARC additionally runs ANSI C validation suites from Plum Hall and Perennial prior to every product release.
The MetaWare Compiler offers many features that increase the productivity of developers, including:
- Run-time library source code for target-specific optimization
- Extensive linker command language for enhanced control
- Enhanced inline assembly and intrinsics for flexible register and instruction access
- Compiler options to help generate makefiles
- Control of memory use, alignment and code location in embedded systems
Code Size and Execution Speed Optimizations
The MetaWare Compiler offers the developer unsurpassed control of compilation options for code optimizations. Below are a handful of the many selections available to users at compile time:
- Support for ARChitect-created extensions to the ARC® instruction set
- User control of function inlining and multi-module function inlining
- Small data sections
- Loop unrolling
- Optimization of recursive function calls
- Elimination of unused function definitions across modules
The end result is that with the MetaWare Compiler’s advanced optimizations, code produced by it runs 66% faster and is 35% smaller than on industry-standard benchmarks.
top
MetaWare® Debugger
The MetaWare® C/C++ Debugger delivers a highly-detailed look at how software functions on ARC® IP. The tool allows engineers to carefully examine every individual piece of code and evaluate the translation from source-level code to assembly code. It acts as a virtual microscope to zoom in on individual pieces of code in either hardware or software components.
The graphical interface presents several views of the design, measuring performance for the current, previous and past states of the system, which allows designers to see how modifications to code will impact performance. The MetaWare Debuger has been optimized specifically for use alongside the MetaWare C/C++ Compiler, and all other ARC development tools.
Features and Benefits
- Detailed analysis of software performance allows designers to find and correct coding problems
- Graphical interface is easy and fast to master
- Optimized for use with other ARC development tools
- MQX-EP™ RTOS-aware: Displays instructions in a separate OS window
Designers implementing a processor core with DSP extensions may also use the Signal Visualization Tool, a plug-in feature of the ARC debugger device. This module displays performance data for signal-processing algorithms in the design, allowing you to attain the best DSP performance.
The MetaWare C/C++ Debugger complements other products in the ARC suite of development tools, including the xCAM cycle accurate models and the xISS Instruction Set Simulator.
top
MetaWare® Integrated Development Environment
The Metaware® Integrated Development Environment (IDE) is a state-of-the-art Eclipse-based solution that enables users to seamlessly integrate the creation, management, and debugging of embedded applications. The IDE is fully integrated with the MetaWare Compiler and Debugger, and is available as part of the MetaWare Development Toolkit.
The open framework of the MetaWare IDE means that users have the ability to incorporate additional Eclipse-compatible tools from third parties, or tools of their own design.
top
MetaWare® Integrated Profiler
The Integrated Profiler is designed to visualize data from several differing sources and provide relational information about the sources so the user can view relationships from one data source to another. For instance, the current Integrated Profiler can provide relational profiling for source code (using the MetaWare Debugger), and profiling for ARC International's MQX® RTOS™ (using TAD). Integrated Profiler can show data visualized in static charts such as bar, pie, area, or plot charts, and display synchronized real-time data in a waveform and real-time plot charts.
Integrated Profiler is a tool used to display data from any type of generator, and does not typically generate any of the data. Users connect the data generator to the Integrated Profiler using a Data Source API. The API allows the profiler to visualize any type of data you give it and relate the data to any number of other sources in order to draw relationships from one set of data to another.
top
Customer Success Story: Enabling Extremely Small Memory Footprints
A key vendor of high-volume flash memory consumer devices came to ARC with a critical business requirement: How to greatly reduce the cost of the device by reducing as much expensive RAM as possible?
ARC worked with the customer to provide an implementation that took advantage of the integration of the MetaWare Development Toolkit, libraries and the MQX RTOS. This capability is now a standard feature of the MetaWare® Development Toolkit and is called the Automatic Overlay Manager (AOM). It provides features similar to virtual memory paging but does not require an MMU. Using AOM makes it easy for ARC customers to reduce RAM size, device cost, and power consumption.
Traditionally, developers would struggle to create and support a custom overlay scheme to take advantage of using minute amounts of RAM. Using the AOM, the compiler, linker, and runtime library work together to automatically detect when overlays need to be loaded and keep the debugger in sync with what is in memory. Furthermore, the debugger has intimate knowledge of the AOM mechanism and can set breakpoints in unloaded overlays.
The result was a multi-million dollar savings in RAM costs over the life of the customer’s product line.
By combining the strengths of ARC’s technologists with the customer’s own engineers, ARC and its customer were jointly able to define a complete solution to an industry-wide problem.
top
|