单片机调试,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位局部变量 不支持 支持
命令调用 不支持 支持
相关推荐
国科安芯17 分钟前
卫星通讯导航FPGA供电单元DCDC芯片ASP4644S2B可靠性分析
单片机·嵌入式硬件·fpga开发·架构·安全性测试
易水寒陈2 小时前
单片机实现的工厂模式
单片机
别了,李亚普诺夫3 小时前
PCB设计大师篇笔记
笔记·嵌入式硬件·学习
点灯小铭4 小时前
双积分AD转换电路
单片机·毕业设计·课程设计·期末大作业
youcans_4 小时前
【动手学STM32G4】(8)STM32G431之 DAC进阶
stm32·单片机·嵌入式硬件·dma·定时器
hqwest4 小时前
码上通QT实战14--监控页面06-串口设备数据初始化-
单片机·rs232·serialport·波特率·串口设备·虚拟串口设备软件·qt项目配置文件
qq_397562314 小时前
BMI088 , 传感器的使用经验 . ( SPI 模式 )
单片机
点灯小铭5 小时前
基于单片机的智能收银机模拟系统设计
单片机·嵌入式硬件·mongodb·毕业设计·课程设计·期末大作业
TEC_INO5 小时前
STM32_9:I2C_DHT11_OLED项目
stm32·单片机·嵌入式硬件
__万波__5 小时前
STM32基于HAL 库开发包创建新的工程-编译-烧录
stm32·单片机·嵌入式硬件