Home > Products > Development Tools > Enea Optima > Enea Optima

Optima and OSE a Powerful Combination

Optima Tools are designed to accelerate development products using the OSE real time operating system.  OSE has a powerful but elegant programming model that enables real time design across multiple heterogonous and homogenous processing nodes.  To learn more about OSE and the OSE family visit the OSE web page

Enea Optima

Eclipse System Debug, Profiling and Development Tools for the OSE RTOS

Enea Optima is a suite of powerful system debug and profiling tools for the Eclipse environment and the Enea OSE real-time operating system. Optima features a complete integrated development environment, including the Eclipse platform and Eclipse C/C++ development tools. Optima tools reduce the time required to develop, test, integrate and maintain application and platform software for single core, as well as multi CPU and multicore devices.

  • Overview and management tools for complex distributed systems
  • Profiling tools that show resource usage (such as CPU or heap usage) for entities such as processes or process priorities
  • Debug tools that allow the user to track execution on the level of application and operating system events
  • Multiple modes of operation allow use when the product is in service as well as during development and test
  • Open interfaces allow the infrastructure to be reused to capture and present application specific information
  • Complete C/C++ IDE and source code debug support based on open source standards such as Eclipse and GDB.

Optima’s Eclipse C/C++ development tools help developers navigate and understand large source code bases. The workspace provides an up-to-date view of the entire source code and keeps track of changes made to the version fetched from the version control software.

The Optima C/C++ debug support and OSE-optimized GDB, together with the Eclipse C/C++ development tools, provide a flexible software-based debug solution that allows developers to take control of individual threads (or groups of threads) in both program and kernel images without affecting the rest of the application.

The Optima System Browser allows users to navigate and find OS information in large, distributed applications, as well as to drill down into the details and find problems like deadlocks and resource leaks. The Optima System Browser and the Optima Pool Browser present a broad range of information, from charts of overall memory pool usage to details about individual allocated buffers.

The Optima Event Viewer allows developers to debug applications at the system event level, rather than as individual source code lines. It  provides full access to the event action mechanisms of the OSE operating system. The event action system supports operating system events such as process creation and termination, signal transactions, context switches and error conditions, as well as application-specific events signaled from instrumented code.

Industry Leadership

Enea is an associate member of the Eclipse foundation and has been working with the Eclipse platform and Eclipse C/C++ development tools since 2003.

The Optima System Profiler allows developers and integrators to monitor the CPU load, not on a source code function level, but on a per-process or per-process-priority basis. It  provides full access to the profiling mechanisms of the OSE operating system. The profiling system can be used to record statistics such as CPU load (total load, per process or per priority), heap usage (per process), and the values of application-specific counters instrumented in the source code.
 
Optima, including the C/C++ debug tools, can operate in both run mode and post-mortem mode. Unlike traditional freeze-mode solutions, Optima’s run-mode and post-mortem capabilities enable it to be used during development as well as when the product is in service.

During run-mode operation, information on the state of the system is collected while the system continues to run. During post-mortem operation, information on the state of the system is saved in a dump file when a failure occurs. The information is retrieved and used at a later point in time.

 

  • C/C++ IDE editor features outline views of file contents, source code highlighting, formatting and folding
  • Parser and indexer support searching, navigation, and dependencies.
    Search engine allows searches for references, declarations, or definitions of specified kinds of source code elements
  • Content assist supports automatic completion of source code elements. 
  • C/C++ Debug Support based on GDB with a Gateway backend for ARM, MIPS and PowerPC processors
  • Supports both run-mode and post-mortem operation. Provides automatic program relocation and performance optimizations
    Supports independent debugging of individual threads as well as groups of threads; Allows operation on entire programs or individual threads for both program and kernel images
  • Based on GDB, with a native backend for Enea’s Soft Kernel Environment, which supports freeze-mode operation
  • System Browser provides a tree view of OS objects in the system for overview and navigation; Features incremental search for names or IDs
  • Process and block editors provide detailed information, such as signal select mask and signals in the receive queue
  • Pool editor features detailed information as well as usage overview charts.
    Filtered, sortable, detailed table views of processes and blocks to find problems with number of owned signals or number of signals in receive queues
  • Pool Browser provides information about signal usage in charts to find problems with slack, fragmentation, or number of owned signals; Provides charts of stack usage to find out-of-stack problems
  • Provides filtered, detailed, sortable table views to show data on individual buffers.Features error detection to find problems like overwritten buffer end marks. Pool Optimizer features automatic buffer size configuration optimization
  • Post-Mortem Dump Support freeze-mode dumper saves state information from the target system as well as application data to the Ramdump, a RAM area that can survive resets
  • Scales from failure alerts during production to a full system and source code debug solution
  • Dumps view provides a convenient mechanism to retrieve dumps from the target
  • Dump editor shows dump contents in Eclipse format or on the command line to allow automated report generation. Features a Block formatter interface to allow clear text interpretation of application data
  • System Profiler collects and shows statistics such as total CPU load, CPU load per process, CPU load per priority level, and heap usage per process 
  • Also shows statistics collected from counters instrumented into the source code. Presents the collected data in two- or three-dimensional charts, or in tabular format; Allows the data to be saved or exported in dump or XML format for further processing
  • Event Viewer collects and shows information about operating system events such as process creation and termination, signal transactions, context switches and error conditions, as well as events signaled from instrumented code 
  • Allows the target to be set to perform specific actions each time an event matching the associated filter criteria occurs. Supported actions include recording information about the event in a circular trace buffer for later retrieval, sending the event information in notification signals to the Optima tools, or intercepting the execution of a set of processes

Supported target operating systems:
OSE 5.1.1 or later for basic support
OSE 5.3 or later for full support

Supported target processors:
Soft Kernel
PowerPC
MIPS
ARM

Supported host operating systems:

Windows: 2000, XP, Vista
Red Hat Enterprise Linux Server 4
SUSE Linux Enterprise: 9, 10
Solaris: 9, 10

Supported Eclipse versions:
Eclipse platform: 3.3.2
Eclipse C/C++ development tools: 4.0.3

Supported compilers:
ARM RVCT 3.1
GCC 3.4.4

 

Enea is a solutions member of the Eclipse foundation and has been working with the Eclipse platform and Eclipse C/C++ development tools since 2003.

Enea Optima releases include an OSE-optimized GDB port, which provides the foundation for the C/C++ debug support available in the Eclipse environment.

Enea OSE
Optima tools provide full access to the profiling and event action mechanisms of the OSE real time operating system. This allows Optima to provide a single, uniform infrastructure for controlling and presenting all of the profiling, trace and debug information required to understand and optimize the behavior of the software in an OSE system, from the application level to the device drivers.  View the OSE Web page for more information.

Enea Optima Log Analyzer
The Enea Optima Log Analyzer collects and refines information contained in logs. This is achieved by advanced post processing of log information, by fusion of different logs, by mapping recorded information to high level models, and, not the least, by bringing order to the log exploration and debugging process.  View the Enea Optima Log Analyzer page for more information.

Illuminator
The Illuminator tool suite continues to be supported for versions of the OSE real-time operating system that Optima does not support.  View the Illuminator datasheet for more information.