前言:一般调试嵌入式工程代码最常见的方式是基于keil上面DEBUG,使用这种最古老的方式虽然也很方便,但是一些功能并没有办法体现,比如变量的变化曲线或者波形并无法直观的显示出来,ozone这个工具就结合了上面提到的比keil多出来的功能,正是这种特性使得它成为了很多人调试ARM系列MCU keil的替代方式之一,下面先简单介绍一下这个工具的创建与使用。
1,ozone简介
1.1 介绍
Ozone 是由 SEGGER 公司推出的一款功能强大的 调试器(Debugger)和性能分析器(Profiler),专为嵌入式开发而设计,与 J-Link 调试器配合使用效果最佳。
1.2 主要功能亮点
1. ✅ 图形化调试界面
-
支持断点、单步、查看内存、寄存器、堆栈
-
可视化显示源代码与反汇编并列
-
实时观察变量、全局变量、结构体
2. 🔄 与 J-Link 紧密配合
-
通过 J-Link 实现 SWD/JTAG 硬件级调试
-
稳定、高速,比 ST-Link 稳定性更强
3. 📈 实时性能分析
-
显示各函数运行时间、占比、调用关系图(Call Graph)
-
支持 CPU 占用率分析(需系统支持 trace)
4. 📊 日志和追踪能力强
-
支持 instruction trace(需芯片支持)
-
提供完整运行日志回溯
5. 🧠 支持 RTOS aware 调试
-
内建 FreeRTOS 支持
-
实时显示任务堆栈、状态、切换记录
1.3 应用领域
2,创建调试工程的方法
选择JLink调试工具
打开加载keil已经编译过的axf文件
下面都是选择默认的选项
出现下面这个证明需要检测到加载工程里面含有RTOS,这个需要额外改动一下保存的工程文件,一会下面会有介绍。
确认之后就会车出现下面的窗口,这里的功能KEIL有的它都有,keil没有的它也有,这里需要诸位开发者们去探索了,一一介绍内容会太过繁杂。
3,番外:如何修改ozone工程可以调试上RTOS的工程
我们继续上面的步骤,先保存这个ozone工程在一个固定的目录,我一般习惯于保存在keil工程文件同在的文件夹中
Ozone调试FreeRTOS
Ozone中的console中输入命令:
Project.SetOSPlugin ("FreeRTOSPlugin_CM4.js");
使用记事本打开下面的这个ozone工程文件夹