欢迎来到深圳中鲁粤科技有限公司网站!

收藏本页 | 常见问答 | 在线留言 | 网站地图

科技资讯

日本加野麦克斯Kanomax
专注某某行业十余年
咨询热线13800000000

热门关键词:示例页面

科技资讯

拼多多100元红包助力网站_pdd砍价码_1元涨1000粉丝网站

文章分类:文章中心人气:93 次访问时间:2024-05-19 02:05

自助下单地址(拼多多砍价,ks/qq/dy赞等业务):点我进入

01

虚拟示波器

说到虚拟示波器,大家应该都不陌生。 在学校开发智能汽车和调整PID时,虚拟示波器是必备工具。 有很多虚拟示波器软件。 之前也分享过一篇文章《》,是一款基于QT的开源软件。 如果你有兴趣,你可以看看。 虚拟示波器软件一般通过串口接收数据,因此需要MCU将数据打包成软件支持的协议,通过串口发送给虚拟示波器软件。

02

什么是 J-Scope

J-Scope是J-link的功能之一。 J-Link是SEGGER推出的一款支持ARM核心芯片仿真的JTAG仿真器。 简单的说就是一个JTAG协议转换盒。 关于J-Link,可以看之前的文章《》。

J-Scope 也是由 SEGGER 推出的。 使用Jlink连接MCU后,可以实时分析数据,并在目标MCU运行时图形化展示。

J-Scope可以以类似示波器的方式显示多个变量的值。 它读取 elf 或 axf 文件,并允许选择多个变量进行可视化。

只需将目标微控制器连接到J-Link并启动J-Scope,几步配置J-Scope,选择要显示的符号即可。如下图

J-Scope主要有两种工作模式:RTT和HSS。

RTT模式:用户需要在MCU上添加代码,类似于通过串口上传数据。 因为有多余的代码,需要占用MCU的资源。 优点是速度快,缺点是需要额外的代码。

HSS模式:用户无需在MCU上添加任何代码,只需要使用J_Scope加载MDK或IAR的可执行文件,即可随时链接MCU,不影响MCU的正常功能,以及不需要额外的资源。 只需使用标准的 SWD 接口即可。 优点是不需要加代码,缺点是速度比较慢,一般1K。

因为HSS模式不需要额外的代码,所以我比较喜欢HSS模式,日常开发中也经常使用HSS模式。 下面将着重讲解HSS模式。

软件准备,要使用J-Scope功能,除了一个JLink,还需要安装J-Flash和J-Scope软件。下载链接如下

下载链接:

提取码:eqxx

(温馨提示:公众号不支持外链,请复制链接到浏览器下载)

03

高速模式

先写测试代码,下载程序到单片机

#include "main.h"#include  /* sin */
RCC_ClocksTypeDef RCC_Clocks;
float x = 0;double sin_o = 0;double cos_o = 0;int main(void){ RCC_GetClocksFreq(&RCC_Clocks); while (1) { x += 1; if(x >= 360) x = 0; sin_o = sin(x*3.14/180); cos_o = cos(x*3.14/180); }}

J-Scope软件的配置

对于新项目,请在①处选择 USB。 大多数情况下,我们使用通过USB连接的Jlink。 在②处,在SpecifyTargetDevice处选择对应的MCU型号,在③处选择不同的接口。 我这里使用的SWD界面在④处是Select HSS模式,另外说明⑤处的中文乱码是us。

特别是在⑥处加载keil工程生成的.axf文件或者IAR工程生成的.out文件。 路径最好不要有中文。 单击“确定”完成配置。

接下来选择要观察的变量,不仅是下面的cos_o变量,RCC_Clocks结构体变量也可以监测。 只能选择全局变量,这也是J-Scope的局限性。

如果选择完成,需要添加其他变量,可以在折线图框内右击,点击AddSymbols添加变量,选中已经添加的变量,按del键删除。

点击红色按钮开始运行

技巧二:移动下图中①处的三角,可以快速上下移动波形。 例如,如果右键单击变量,则可以使用快捷菜单。

04

总结

个人觉得J-Scope是个不错的工具,可以很方便的查看一些数据的波形,在ADC采集,温度传感器等方面有一定的作用。

例如一种情况:MCU采集温度数据,通过串口上报给其他设备。 此时其他设备会显示很多温度异常值。 这时候就需要定位是MCU采集到了错误的数据,还是其他设备对数据进行了错误的分析。 如果还在开发中虚拟示波器使用方法,此时debug就可以了。 但是在发布的软件中,使用示波器监测和分析串口数据是一件比较麻烦的事情。 此时使用J-Scope显示MCU采集到的温度(保存在全局变量中)。 但是虚拟示波器使用方法,这需要在发布版本时保存一个.ou 文件或.axf 文件。

J-Scope这么强大,但是还是不能代替软件通过硬件串口发送给PC虚拟示波器,因为J-Scope只能读取全局变量的数据,我们可以使用硬件串口发送本地函数的变量到虚拟示波器。

本文提供了一种无需其他“埋点”打印即可监控发布软件全局变量的方法。 上一篇文章《》也提供了解决类似问题的方法。 有兴趣的同学可以看看。

在文章的最后,我想说几句。 开发使用的工具没有好坏之分,只是使用场景不同而已。 如果你掌握了几种工具,你可以用更多的方法解决一些棘手的问题。

结尾

☛必读

☛必读

关键词:, , , ,

热销产品