查看原文
其他

物尽其用,分享一个很棒的工具

ZhengN 嵌入式大杂烩 2021-01-31

点击上方「嵌入式大杂烩」,选择「置顶公众号」第一时间查看编程笔记!


上次分享的《一个很酷的上位机软件》,很多朋友都很喜欢这样子的工具,这样的上位机固然好用,但是这依然依赖于我们的系统资源。

本次分享另一种相似的工具、方法,不依赖于系统资源,但需要额外的硬件支持,但是这样一个硬件就是常用的Jlink调试工具。

我们常常都只是用Jlink来在线调试程序、下载程序。其实Jlink的用处很多,我们要好好运用。本篇笔记我们就来分享一下Jlink的另一个用途:使用Jlink+JScope显示波形。

什么是JScope?

J-Scope  是  SEGGER 推出的波形显示软件,傻瓜式,简单易上手。软件界面如下:


其有两种方式来显示波形,一种是 HSS 模式 ,另一种是RTT模式。这里我们分享的是RTT模式的使用。

实验演示(keil工程)

(1)准备工作

实验的前提是需要有Jlink仿真器(V9或V10),其它的有些不能与JScope搭配使用 。同时要装好Jlink驱动与JScope上位机软件:


(2)工程移植、测试代码编写

安装好JScope软件之后,在其安装目录下会有如下源码:


我们这里的路径是:

C:\Program Files (x86)\SEGGER\JScope_V611m\Sample\Example Code RTT

复制如下三个文件至我们的keil工程目录下:


然后在keil中添加至我们的demo工程里,并包含头文件SEGGER_RTT.h即可。然后编写如下测试代码:


SEGGER_RTT_ConfigUpBuffer 函数说明:

  • 第 1 个参数要填通道 1,实际测试通道 0 不可用

  • 第 2 个参数非常重要,要使用固定的格式,字符串 JScope_是固定的,主要是下划线后面的字符。 支持的格式如下:


比如:JScope_I4I4  表示数据包格式由两个有符号32位数据组成。

  • 最后一个参数的备选项为:

  • 使用 RTT 模式的话,最后一个参数仅支持 SEGGER_RTT_MODE_NO_BLOCK_SKIPSEGGER_RTT_MODE_BLOCK_IF_FIFO_FULL  。

关于SEGGER_RTT,之前已经有分享其实现打印功能的方法,感兴趣的朋友可阅读《嵌入式中另一种打印调试的方法》

最后,编译下载到板子里。

(3)JScope上位机配置

首先,创建工程:


设置为RTT模式:


设置目标设备(我们这里使用的是STM32F103ZE):



使用Jlink连接目标板(SWD方式):


连接三根线即可,TMS、TCLK、GND。具体的JTAG接口引脚顺序如:


点击开始采样(前提是程序已经跑起来):


波形显示:


以上就是本次的分享,希望各位喜欢!欢迎收藏、转发、在看~

本笔记demo工程可在后台回复关键词:JScope,即可获取。

相关帖子:

1、http://www.armbbs.cn/forum.php?mod=viewthread&tid=86881&extra=page%3D1
2、http://www.armbbs.cn/forum.php?mod=viewthread&tid=83097&extra=page%3D1


猜你喜欢:

STM32串口IAP分享

ARM Cortex-M 系列 MCU错误代码自动追踪库的使用经验分享

QEMU!用它模拟开发板能替代开发板?

超详细的 Git & GitHub 实用教程

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存