Ozone system insight
Simplify verification of complex systems using RTOS awareness and SmartView middleware support
Overview
Modern embedded systems continue to grow in complexity, which requires debug tools to condense information for simplified observability. Ozone provides RTOS awareness and SmartView middleware support. SmartView also enables developers to create their own windows or visualizations.
RTOS awareness
Debugging an RTOS-based firmware can become unfathomable without the right tools. There is not just a single loop of code execution, rather multiple tasks active in parallel. Moreover, there are system resources, communication objects, and locking items, to control them. To address the complexity of RTOS debugging, Ozone provides RTOS Awareness modules.
RTOS window
When the target is halted, the RTOS window lists all tasks of the system and extends information beyond the currently active context. For each task, information about status, priority, stack usage, and more are available. Ozone also enables selecting a task to inspect its current state of execution and call stack, as if the debugger halted there.
RTOS Awareness provides details about system resources. Checking owners and waiting tasks of mutexes and semaphores can help to find dead locks and priority inversion in the system. Inspecting mailboxes and queues reveals useful information about communication between tasks and possible bottlenecks. Access to events and software timers explains triggers and execution behavior.
Ozone's RTOS Awareness makes inspecting RTOS-based systems easy and provides full insights.
Third-party RTOS support
Ozone can be made OS aware of any RTOS, if Ozone does not support your currently used RTOS, please contact us.
SmartView
Middleware modules, such as communication stacks, file systems, or graphics libraries, can be overwhelmingly complex. Their state may be implemented in code through various structures and variables which represent the inner workings of the module.
Debugging and inspecting such middleware by looking at its code and symbols can be challenging. With externally developed modules this task can even become next to impossible.
Ozone's SmartView provides an easy-to-grasp high-level view into middleware. It enables straightforward and efficient analysis of complex modules, and can give a clear view into complete systems.

Refined system information
SmartView retrieves data from a system and analyzes it. Such data can for example be the linked list of file handle structures for opened files in a file system. Examining structures and lists can be done in the watched data window, too. This becomes easily cumbersome and complicated. The symbols windows represent data as it is used in code.
SmartView however polishes and refines the data to present them in human-readable form. The aforementioned list of opened files can be shown in a table view. While each row represents one file, the columns represent the members of the structure. Every cell displays analyzed and enriched information instead of plain values. File names are shown as full paths instead of pointers, file size is displayed in appropriate units, partition information becomes meaningful, and status flags are converted from bitfields into words.
Plugins with full target access
SmartView provides highest flexibility to users and developers to design useful views.
It bridges the gap between internal implementation with structure-heavy code requirements and external view with needs for efficient debugging. To create a SmartView Plugin Ozone provides an interface for full access to debug information and to the target system. Data can be processed in JavaScript plugin files to then populate the SmartView Window with views and content.
SmartView Plugins can define different views to organize information. Users can select the views of interest and show them in multiple flexibly arranged windows. With support for any kind of middleware, SmartView can enable visualization of the complete embedded system.
Available middleware plugins
SmartView plugins are readily available for emFile and emNet.
The emFile plugin provides views for global information, memory management, file handles and objects, volume and partition information, and file system configuration.
The plugin for emNet offers views for global overview, sockets, interfaces, and connections.
To support 3rd party middleware SmartView plugins may be created by the users or third parties.

