Eclipse-Based Tool Suite Supports Embedded Linux Developers
Intel's System Studio targets the embedded developer. It combines many of the individual tools that Intel has provided from system analyzers to advanced debuggers. It integrates with the open source Eclipse IDE providing full cross-platform development support. System Studio runs on a range of platforms including Windows and Linux.
One of the major components of the system is the GDB debugger (Fig. 1) that is optimized for the Intel 64 and IA -32 architectures. It includes new feature such as a low overhead ability to detect race conditions . It is even possible to set a breakpoint to determine when this condition is detected. It requires instrumentation by the compiler. The features are open source but they have yet to move into other GDB debuggers.
The debugger can also take advantage of the System Visible Event Nexus (SVEN) technology. It is an instrumentation and API for collecting real-time, full-system visible software “event traces.” The debugging (Fig. 2) handles trace decoding or it can be done using a separate trace processing application. The trace system has user configured records and utilizes an in-memory circular buffer that can be read by JTAG.
The package contains Intel's VTune Amplifier and Inspector. The Inspector addresses race conditions, deadlocks, memory leaks and unallocated memory. It supports embedded Linux including Fedora, Wind River and a growing list of embedded Linux distributions.
The VTune Amplifier (Fig. 3) addresses power utilization. It handles multicore performance analysis including of CPU and GPU activities. Some of the activity it identifies includes events that cause a system to wake-up and what timers are triggered by an application. The system can displayCPU core frequencies and events.
Intel's C++ compiler is part of the package and supports the instrumentation features of System Studio. The compiler supports the Atom, Core and Xeon processors from Intel. It supports Intel's Cilk Plus enhancements and it is compatible with GCC. This includes support for the Yacto Project.
The Intel Integrated Performance Primitives (IPP) library is available to developers. It has been expanded to include embedded Linux OS support. The Linux OS support also extends to the Math Kernel Library (MKL). This library provides functions for linear algebra, signal processing and addresses sparse solvers. The libraries are distributed in object form.