OpenScope 技术交流站
v1.13.0 下载

OPEN SCOPE · MCU 调试与数据采集 · SWD / JTAG

像示波器一样
观察你的 MCU

OpenScope 是一款专为嵌入式开发设计的高性能调试与数据采集工具,核心功能与 Vector VX1000 / CANape 类似——通过标准调试接口对目标 MCU 内存变量进行非侵入式读取、可视化监控与标定,一条 J-Link 全部搞定。

  • 5~10 kHz单变量采样率
  • 50 MHzSWD/JTAG 时钟上限
  • ≤10 MB采集内存占用
  • .dll 插件模块化架构

01 · 软件简介

一款给嵌入式工程师的
「内存变量示波器」

无需改一行代码、无需侵入固件,通过 J-Link 的 SWD / JTAG 接口直接观测目标芯片的全局变量——就像用示波器看电压波形一样,看你的 PID 输出、电机转速、编码器位置。

CH1

高性能

采用 C 语言开发,确保极速响应与最小系统资源占用。采集数据 RAM 缓冲 ≤10MB,超出自动落盘,长时间运行不再吃内存。

CH2

模块化

基于插件(.dll)架构,所有功能窗口——波形、数值等——均为独立模块。新功能只需开发一个 .dll,即可无限扩展。

CH3

智能化

集成 BMAD 自动化流程管理,全程无需人工干预指令执行;重启自动恢复布局、自动加载上次的 ELF 文件,直接回到调试现场。

02 · 快速开始

三步进入调试现场

安装、连接、加载 ELF——第三次启动时,你只需要点一下「连接」。

  1. 01

    安装与启动

    • 运行安装包 OpenScope-Setup.exe,按提示完成安装。
    • 首次启动自动加载 dll 文件夹下的全部功能插件。
    • 主界面布局与上次加载的 .elf/.out 文件自动恢复——文件被移动时仅提示警告,不弹窗打扰。
    • 随时按 F1(或菜单「帮助 → 帮助文档」)打开本说明书,再按 F1Esc 关闭。
  2. 02

    连接目标 MCU

    • 硬件连接:J-Link 仿真器连接 PC 与目标开发板。
    • 配置参数(主界面顶部工具栏):仿真接口选 SWDJTAG;时钟速度下拉选择或手动输入(如 4000 / 6000 / 12000 kHz,建议从低速开始);点击「刷新」列出所有 J-Link 并选择。
    • 点击「连接」,成功后状态栏显示「已连接」。
  3. 03

    加载变量定义文件

    • 点击「加载 ELF」选择编译生成的 .elf / .out 文件。
    • 软件自动解析全局变量结构体,展示在左侧「变量浏览器」。
    • 动态更新:重新编译工程后软件自动检测 ELF 更新并提示重新加载;变量找不到会询问是否忽略。

03 · 核心功能

每一个窗口,都是一个仪器

波形、数值、标签、消息——所有窗口独立成模块,随你的调试习惯自由组合。

波形窗口

示波器级体验
  • 缩放与导航:滚轮缩放 X 轴、Ctrl+滚轮缩放 Y 轴,平滑连续、围绕鼠标;左键框选局部放大;Ctrl+左键拖拽平移;底部滚动条快速跳转时间窗;按 F 全局显示全部波形。
  • 多坐标轴:按 Ctrl+B 每个信号独立一行(独立 Y 轴),坐标轴颜色与波形一致,再按恢复共轴显示。
  • 光标与测量:点击采样点悬浮显示(变量名、值、数据类型);拖动垂直/水平光标线,信息栏实时给出 ΔX 时间差与 ΔY 数值差。
  • 采样点显示:放大到一定程度后,每个采集点以圆点标示,采样间隔一目了然。
  • 录制与回放:开始采集即自动落盘(RAM ≤10MB,超出写时间戳 CSV);「离线回放」一次性加载全部数据整体显示,min/max 桶包络渲染,缩放平移任意区间。

数值窗口

  • 实时监控与标定:变量前复选框——勾选实时更新,取消则冻结观察特定时刻数据。
  • 在线标定:双击「值」列(或选中后按 Enter)直接写入新值,无需弹窗。
  • 极值跟踪:每变量自带「最小值 / 最大值」列,随采集实时更新、随冻结同步;支持手工修改作为新的跟踪起点——典型用法:清掉启动瞬态尖峰后重新跟踪。

变量管理与视图

  • 隐藏与展开:分隔线拖拽到底(<60px)完全隐藏;双击分隔线切换;点击左侧细条恢复。
  • 图钉模式钉住(金色)——隐藏后悬停不误弹出;自动隐藏(灰色)——鼠标移开抽屉式缩起,悬停细条自动展开。
  • 选择Ctrl 单击逐个多选、Shift 范围选择、Ctrl+A 全选。
  • 搜索Ctrl+F 模糊搜索实时过滤,选中变量右键即可添加到波形/数值窗口(对话框保持打开可连续添加)。

标签(Tab)管理

  • 新建:标签栏空白处右键,新建波形标签或数值标签。
  • 重命名:标签上双击直接输入;清空则恢复默认名 Default
  • 窗口管理:一个标签内可容纳多个波形/数值窗口;支持最大化、最小化、拖拽调整大小;悬停平铺窗口之间的分隔带(光标变 ⇔)拖拽调整列宽比例。
  • 最小化:标签右键菜单「最小化当前窗口」,折叠进底部最小化条,点击窗口标题按钮还原。

消息窗口

  • 支持 Ctrl / Shift 多选消息。
  • 右键菜单:复制所选消息、清除全部消息。
  • 窗口顶部/底部边缘拖拽调整高度,方便翻看历史记录。

界面风格

  • 「设置」菜单一键切换白色(默认)黑色(IAR / Notepad++ 风格)两种主题,深夜调参不刺眼。
  • 关闭软件自动记录页面布局,下次启动原样恢复。
  • 布局文件可单独另存,分享给团队其他成员使用。

04 · 性能优化

采得够快,记得够久

针对早期固定 20ms 采样间隔的问题,采集链路全面重写。

5~10 kHz 单变量轮询采样率
3~10 kHz 连续地址多变量
~20k 分散变量样本/s(速度感知块读合并)
≤10 MB RAM 缓冲,超出自动落盘
  1. 移除固定延时——采集线程不再 Sleep(20ms),改为「读完立即下一周期」。
  2. 批量块读取——连续地址变量合并为一次 USB 读取事务;合并距离随 SWD/JTAG 时钟速度自适应(时钟越高合并越积极,日志中「次读/周期」可见合并效果)。
  3. UI 刷新限频——采集与界面渲染分离,UI 仅以 30~60Hz 刷新,避免消息队列阻塞。
  4. 时钟速度自由输入——预置档位最高 50MHz(J-Link Pro 的 SWD/JTAG 上限)。
  5. 长时间采集自动落盘——数据按时间戳写入 CSV(%LOCALAPPDATA%\OpenScope\records\),采集停止即完整落盘,回放全量加载整体显示。

需要 µs 级采样?片上缓冲(XCP 风格)已在路线图上,将在后续版本支持。

05 · 修复记录与常见问题

一直在修的,和常被问的

已修复问题日志

问题现象状态
添加变量后应用异常退出已修复 · 重写内存管理逻辑
正常关闭后界面不显示已修复 · 修正窗口恢复机制句柄错误
高速采集(≥12000 kHz)失败或数据为 0已修复 · 优化通信时序,支持手动输入时钟
波形采样点固定 20ms 间隔已优化 · 移除固定延时,实现批量读取
多变量时波形值始终为 0已修复 · 更正缓冲区索引映射
变量列表无法多选已支持 · 完整实现 Ctrl/Shift 标准多选
仍弹出芯片型号选择窗已移除 · 仅需选择核心架构(如 Cortex-M0+)
安装包显示旧版本号已修复 · 修正安装包版本信息
变量列表窗口无法自动隐藏已修复 · 抽屉式自动缩起/弹出
波形缩放存在跳变已优化 · 平滑连续缩放,新增框选放大
长录制(超 600 点)停止后只能显示一小段波形已修复 · 全量数据范围与可见窗口解耦
变量栏隐藏后自动弹回(钉住态悬停误展开)已修复 · 钉住模式隐藏后保持隐藏
搜索列表右键添加变量后菜单二次弹出已修复 · 统一 WM_CONTEXTMENU 单一路径
长时间采集内存占用大、易崩溃已修复 · 自动落盘(RAM ≤10MB → 时间戳 CSV)
重启软件需重新选择 ELF 文件已支持 · 启动自动加载上次 .elf/.out

请依次检查:① J-Link 仿真器是否正确连接 PC 并已供电;② 驱动是否已正确安装(驱动目录:C:\Program Files\SEGGER\JLink_V966);③ 点击工具栏「刷新」按钮重新扫描设备。

请尝试使用 4000 kHz 或更低速度连接。部分高速设置(如 12000 kHz)可能因通信不稳定导致读取失败,建议从较低速度逐步上调。

该问题已在当前版本修复。如仍出现,请检查:是否加载了正确的 .elf 文件、变量地址是否有效;内存占用是否过高,尝试减少同时观测的变量数量。

当前版本已优化轮询机制,单变量可达 5~10kHz。如需 µs 级采样,后续版本将支持片上缓冲(XCP 风格)方案。

06 · 下载

获取 OpenScope

免费使用。Windows 10 / 11 x64,支持历史版本与 SHA256 校验。

最新版本 v1.13.0 2026-08-10 · 9.9 MB

OpenScope —— MCU 变量采集与标定工具。支持 SWD/JTAG 接口,实时采集、记录回放、波形/数值窗口。

如浏览器提示「未知发布者」,请选择「仍要下载/运行」,或右键安装包 → 属性 → 解除阻止。

OpenScope-Setup-1.13.0.exe
bb614695c905b579acb998815edf1e3449e1295ba16945caffe3fd761ceefb0d

07 · 技术交流

有问题,来交流

欢迎嵌入式同行交流调试经验、反馈使用问题。源码完全开放。

OpenScope 技术交流公众号二维码

微信公众号

扫码关注公众号,获取使用技巧与版本更新通知。

免责声明:本软件仅供开发调试使用,对于因使用本软件造成的任何数据丢失或硬件损坏,开发者不承担任何责任。