Ozone - The J-Link Debugger
Ozone is a natural bug killer: O3 kills bugs in the wild, and the SEGGER Ozone debugger kills bugs dead in your application.
Ozone is a full-featured graphical debugger for embedded applications.
With Ozone it is possible to debug any embedded application on C source and assembly level. Ozone can load applications built with any toolchain / IDE or debug the target's resident application without any source.
Ozone includes all needed debug information windows and makes use of the best performance of J-Link debug probes.
The user interface is designed to be used intuitively and is fully configurable. All windows can be moved, re-sized and closed to fit the need of any developer.
Some features of Ozone are:
Ozone can be used with J-Link PLUS, ULTRA+, PRO and J-Trace. With other J-Link models, Ozone can be used without restriction for evaluation purposes. In evaluation mode, you will see the following screen each time a debug session is started:
Download & Installation
Ozone is currently available for Windows, Mac OS X and Linux.
The setup can be downloaded from the link below and installs Ozone with just three clicks. Multiple versions of Ozone can be installed on the same PC without any problems, as they can co-exist in different directories. Application settings are shared across the versions.
Latest Release version
Debugging with Ozone
First Run & Project generation
When starting Ozone for the first time, the New Project Wizard will guide through the setup of the first project. Target device, connection settings and the data file can be selected and the project is ready to run a debug session.
When starting Ozone again, a welcome dialog pops up, to open a recent project, or create a new one.
Debugging with Ozone can be controlled through the most common keyboard shortcuts or buttons from the toolbars, to be used intuitively.
To start debugging, a J-Link and the target have to be connected to the PC. Ozone can download the application code to the target, if there is a file selected.
A debug session is started with F5 or the green On/Off button from the toolbar.
After starting, the code is downloaded and the application is reset and runs to main(). The reset behavior can be changed via the System Variables.
Ozone features the most usable debug information windows to give full overview and control over the target application.
The Source Viewer highlights the current line of execution and gives information about the application. The instructions to be executed can also be shown in the Disassembly. Ozone allows stepping on source level, as well as on instruction level.
The Memory, Global, Local and Watched Data and the Registers Windows show information about the current state and content of the target. The data can also be written and changed from any of these windows.
Ozone includes a Terminal which allows communication with the target in the most common ways. It can display SWO data, handle semihosting commands and even show output and send input with SEGGER's Real Time Terminal.
Ozone is capable of OS-aware debugging. The current version includes OS-awareness for embOS and FreeRTOS, which allows users to show the task list of the OS and examine the current state of all tasks, including its call stack, locals and registers.
To enable awareness for embOS, add Project.SetOSPlugin("embosPlugin"); to your debugger project. After loading the project the Thread Window can be opened via View -> embOS -> Threads.
To enable awareness for FreeRTOS, add Project.SetOSPlugin("FreeRTOSPlugin"); to your debugger project. After loading the project the Thread Window can be opened via View -> FreeRTOS-> Threads.
Ozone can be controlled via keyboard shortcuts and mouse interaction with the GUI.
Additionally Ozone provides console based control commands. These commands can be executed via the Console of Ozone. Each command which is executed via keyboard or mouse action is shown in the Console to allow easy copy&paste of commands.
Ozone project files (*.jdebug) are written in a simplified C-style.
A project file can include some predefined functions which are called on specific events: On loading the project, on debug start, before and after connection, before and after download, before and after target reset.
The function OnProjectLoad() is mandatory to set up the project and includes the commands as known from previous versions of Ozone (previous to V1.65). All other functions are optional and will be called when they are present.
When creating a new project with the project wizard, all available functions will be added to the project providing users an immediate starting point to modify the project for their own requirements.