【ozone工具使用指南】基于keil使用ozone创建一个调试工程

 前言:一般调试嵌入式工程代码最常见的方式是基于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工程文件夹

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/79060.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【ROS2】行为树 BehaviorTree(五):详细学习端口和黑板

1、构造函数 之前使用的行为树创建节点时,默认的构造函数形如: CalculateGoal(const std::string& name, const NodeConfig& config):SyncActionNode(name,config) {

架构思维:缓存层场景实战_读缓存(下)

文章目录 Pre业务场景缓存存储数据的时机与常见问题解决方案1. 缓存读取与存储逻辑2. 高并发下的缓存问题及解决方案3. 缓存预热(减少冷启动问题) 缓存更新策略(双写问题)1. 先更新缓存,再更新数据库(不推荐…

Odrive源码分析(七) 逆park变换

Odrive源码分析(七) Park逆变换 Odrive中FOC部分代码分散在各个对象中,并不是集中在某一块,所以试图在某一段代码就能得到FOC全貌是不现实的。 先看下FOC的整个流程: 控制变量到三相电流输出的关键部分分为Park逆变换和SVPWM。本文主要讨论…

Flink Hive Catalog最佳实践

Flink Hive Catalog 最佳实践 一、配置与初始化 依赖管理 Hive Connector 版本对齐:需确保 flink-sql-connector-hive 版本与 Hive 版本严格匹配(如 Hive 3.1.3 对应 flink-sql-connector-hive-3.1.3_2.12),同时添加 Hadoop 遮蔽…

通过人类和机器人演示进行联合逆向和正向动力学的机器人训练

25年3月来自哥伦比亚大学的论文“Train Robots in a JIF: Joint Inverse and Forward Dynamics with Human and Robot Demonstrations”。 在大型机器人演示数据集上进行预训练是学习各种操作技能的强大技术,但通常受到收集以机器人为中心数据的高成本和复杂性限制…

金融简单介绍及金融诈骗防范

在当今社会,金融学如同一股无形却强大的力量,深刻影响着我们生活的方方面面。无论是个人的日常收支、投资理财,还是国家的宏观经济调控,都与金融学紧密相连。​ 一、金融学的概念​ 金融学,简单来说,是研…

JavaScript `new Date()` 方法移动端 `兼容 ios`,ios环境new Date()返回NaN

在 iOS 环境下,new Date() 方法会返回 NaN,这通常是由于时间字符串的格式问题。iOS 的 Date 构造函数对时间字符串的格式要求比其他平台更严格。 原因:ios端不兼容“-”为连接符的时间。 解决办法: 替换时间格式 IOS 不支持某…

【网络编程】网络编程基础和Socket套接字

目录 一. 网络编程的概念 二. 网络编程基础知识 1)网卡 2)接收端和发送端 3)客户端和服务器 4)请求和响应 5)客户端和服务器的交互模式 三. Socket 套接字模型 一. 网络编程的概念 网络编程 是通过编程实现不同…

盛水最多的容器问题详解:双指针法与暴力法的对比与实现

文章目录 问题描述方法探讨方法一:暴力法(Brute Force)思路代码实现复杂度分析 方法二:双指针法(Two Pointers)思路正确性证明代码实现复杂度分析 方法对比总结 摘要 盛水最多的容器(Container …

图论-BFS搜索图/树-最短路径问题的解决

续上篇~图论--DFS搜索图/树-CSDN博客 先看第一次学习的博客!!👇👇👇👇 👉 有一些问题是广搜 和 深搜都可以解决的,例如岛屿问题,这里我们记dfs的写法就好啦,…

C++进阶——C++11_智能指针

目录 1、问题引入 2、RAII和智能指针 3、C标准库的智能指针 3.1 auto_ptr (不好) 3.2 unique_ptr 3.3 shared_ptr (重点) 3.4 weak_ptr (重点) 4、shared_ptr的循环引用问题(重点) 5、shared_ptr的线程安全问题 6、C11智能指针和boost的关系 7、内存泄漏 7.1 什么是…

数据库的基本原则

数据库的核心原则 原子性与持久性:原子性(Atomicity)确保一个事务中的所有操作要么全部完成,要么完全不执行,不会出现部分完成的情况。持久性(Durability)则保证一旦事务提交成功,即…

Java设计模式实战:装饰模式在星巴克咖啡系统中的应用

一、装饰模式简介 装饰模式(Decorator Pattern)是一种结构型设计模式,它允许向一个现有的对象添加新的功能,同时又不改变其结构。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前…

使用MPI-IO并行读写HDF5文件

使用MPI-IO并行读写HDF5文件 HDF5支持通过MPI-IO进行并行读写,这对于大规模科学计算应用非常重要。下面我将提供C和Fortran的示例程序,展示如何使用MPI-IO并行读写HDF5文件。 准备工作 在使用MPI-IO的HDF5之前,需要确保: HDF5库编译时启用…

七、自动化概念篇

自动化测试概念 自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的过程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人…

redis cluster 的通信机制

Redis Cluster 的通信机制是其分布式架构的核心,基于 Gossip 协议 和 Cluster Bus 实现节点间状态同步与数据协调。以下是其通信机制的核心要点: 二进制协议:数据以字节流形式编码(如Protobuf、Thrift、MQTT、Gossip)。…

CTF web入门之文件上传

知识点 产生文件上传漏洞的原因 原因: 对于上传文件的后缀名(扩展名)没有做较为严格的限制 对于上传文件的MIMETYPE(用于描述文件的类型的一种表述方法) 没有做检查 权限上没有对于上传的文件目录设置不可执行权限,(尤其是对于shebang类型的文件) 对于web server对于上传…

PhotoShop学习09

1.弯曲钢笔工具 PhotoShop提供了弯曲钢笔工具可以直观地创建路径,只需要对分段推拉就能够进行修改。弯曲港币工具位于工具面板中的钢笔工具里,它的快捷键为P。 在使用前,可以把填充和描边选为空颜色,并打开路径选项,勾…

tsconfig.json配置不生效

说明一下我遇到的问题,这是我的配置文件代码的 {"compilerOptions": {"module": "none","target": "ES5","outFile": "./dist/bundle.js"} } 和我想象不同的是,我编译成 js 没…

源代码加密之零日攻击

# SDC沙盒:有效防御零日攻击的多层防护体系 在当今复杂多变的网络安全环境中,零日攻击已成为企业面临的重大威胁之一。零日攻击利用尚未被公众发现或尚未被软件供应商修复的漏洞进行攻击,具有极高的隐蔽性和破坏性。SDC沙盒作为一种先进的数…