单片机调试,Ozone的使用

一、前言

单片机调试,目前常态可能是直接在MDK(keil)或者IAR中,直接用IDE的调试功能。

我喜欢用Ozone,因为他进调试快,基本上秒进,而MDK每次进入都要等很久,编译还要先退出调试模式,再编译,再进入调试模式,很耽误时间。

搜了一下,全网没多少相关使用经验,我这应该算开山祖师了,哈哈哈哈。

二、Ozone简介(抄的)

Ozone是Segger公司推出的一款高性能调试器软件,专为嵌入式系统开发设计。它支持多种微控制器架构,包括ARM Cortex-M、RISC-V等,并可与J-Link调试探针无缝配合使用。

支持实时变量监控和图形化显示,开发者可以直观地观察程序运行时的数据变化。提供完整的断点管理功能,包括硬件断点、软件断点和条件断点。

具备强大的内存查看和编辑功能,支持多种数据格式显示。集成RTOS感知调试功能,能够识别和调试FreeRTOS、embOS等常见实时操作系统。

看不懂,简单说就是只专注于调试(因为专一,所以专业),MDK有的Ozone都有,Ozone有的MDK不一定有。调试速度真的很快!!!

三、适用场景

需要一个Jlink和编译后生成的文件,我常用axf,其他不知道是否支持,可以去官网确认一下。

四、调试环境

MDU:stm32F407ze

jlink:SW接口

Ozone:版本V3.40

MDK:生成axf文件

五、创建工程

网上太多,不赘述。只说一个,一定要记得选外设信息的svd文件,看寄存器很方便。SVD文件一般在DFP里面,具体的参考我图中的路径。

六、功能

6.1 查看外设寄存器

View->Registers中打开,具体内容如下图。很明显,描述信息比MDK详细很多。

如果没选好svd文件,将会丢失Peripherals的所有内容,也看不了外设的寄存器。

6.2 查看变量

View->Wathed Data

右键要查看的变量 Watch或者拖到Wathed Data窗口,或者在Wathed Data窗口直接输入变量名

右键Wathed Data窗口的变量名,可以刷新该变量,默认是不刷新的,开启刷新对查看全局变量很方便。

6.3 查看函数堆栈

View->Call Stack

双击Call Stack窗口的函数会自动跳转到该函数

6.4 查看汇编(局部变量)

View->Disassembly或者右键变量Show Disassembly(ctrl+D)。

一般来说32位(比如浮点数,int型等)的局部变量会被存储到R0~R11寄存器中,打断点后在Wathed Data窗口也无法查看,MDK一定无法查看。

但Ozone可以从汇编中查看,如下图。在Disassembly窗口中,将鼠标放在该变量对应的寄存器时,会在鼠标附近显示该寄存器的值。我这里的adaptive_kp就存在S24寄存器里,可以在寄存器窗口通过对应的寄存器也能看到。

6.5 查看断点

View->Break & Tracepoints

还可以在断点窗口设置断点属性,比如该断点需要跳过几次等

6.6 数据图形化界面

右键要图形化查看的变量,点击Graph。(嗯,应该是,还没试过,后面验证了写清楚)

6.7 通过命令直接调用函数

View->console打开命令窗口。

命令窗口输入:Debug.SetNextPC 。(嗯,应该是,等我后面抽空试一下,明确一下命令和用法)

七、遇到不支持的芯片怎么办

移步我的另一篇博文Ozone添加不支持的芯片,这里以AT32举例

八、小技巧

MDK去掉Brose Infomation可以加快编译速度,但是调试过程中不能再F12跳转,而Ozone不影响,照样能实现跳转。

九、总结

对比MDK:

项目 MDK Ozone
功能 集成开发 专注调试
图形化 不支持 支持
查看32位局部变量 不支持 支持
命令调用 不支持 支持
相关推荐
点灯小铭4 小时前
基于单片机的多功能LCD音乐播放器设计
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
shansz20206 小时前
暂时无法解决的关于STM32F103的RTC日期更新问题
stm32·嵌入式硬件·实时音视频
2501_927773076 小时前
嵌入式——时序IIC
单片机·嵌入式硬件
LS_learner9 小时前
针对VMware Workstation虚拟机无法联网问题排查
嵌入式硬件
项目題供诗9 小时前
51单片机入门(七)
单片机·嵌入式硬件·51单片机
来自晴朗的明天10 小时前
1、光耦隔离电路
单片机·嵌入式硬件·硬件工程
国科安芯11 小时前
面向星载芯片原子钟的RISC-V架构MCU抗辐照特性研究及可靠性分析
单片机·嵌入式硬件·架构·制造·risc-v·pcb工艺·安全性测试
三伏52212 小时前
Cortex-M3权威指南Cn第十章——笔记
笔记·单片机·嵌入式硬件·cortex-m3
独处东汉12 小时前
freertos开发空气检测仪之按键输入事件管理系统设计与实现
人工智能·stm32·单片机·嵌入式硬件·unity
小灰灰搞电子12 小时前
STM32/GD32 字节对齐详解
stm32·单片机·嵌入式硬件