j-scope简介
什么是j-scope
j-scope是segger推出的一款免费软件,用于mcu运行时,实时显示数据的波形。
j-scope分为hss和rtt两种模式:
1)hss模式直接使用j-scope加载mdk或iar的可执行文件即可,操作简单但采样速度较慢; 2)rtt模式只需要在用户程序里添加segger的rtt组件,操作稍麻烦但是采样速度更快更实用。
软/硬件版本
硬件-jlink:常见的jlink base需要v9及以上版本;而jlink pro或jlink ultra使用v4及以上版本即可。
软件-mdk:mdk4或mdk5皆可。本专题配套的例程需使用mdk5。
支持的设备
1)j-scope在hss(high-speed-sampling)模式下支持的内核如下: 图1. hss模式支持的设备
2)j-scope在rtt(real-time transfer)模式下支持的内核如下:
图2. rtt模式支持的设备
不同版本jlink速度对比
截图中的数据主要对于hss模式说的,而rtt模式没有这些限制,基本jlink速度支持到多大,rtt就可以达到多大。
对于jlink base来说,基本都是截图里面的other选项,也就是说在hss模式下支持10个变量采集,采样速度1khz。
图3. j-link采样速度
j-scope环境准备
此处以mdk5为例,硬件以at32f403a为例。
j-scope安装
1)解压xxan0044_segger_jscope_on_at32_mcujscopetoolsetup_jscope_v6xxm.zip;
2)双击setup_jscope_v6xxm.exe,开始安装。
3)点击点击next,继续安装。
图4. jscope安装 点击next
4)点击i agree同意协议。
图5. jscope安装 点击i agree
5)选择快捷方式添加位置,此处选择了添加到开始菜单,然后点击next继续安装。
图6. jscope安装 点击next
6)点击browse选择安装路径。
图7. jscope安装 点击browse选择安装路径
7)在弹出的界面选择路径,然后点击确认。用户可自行选择安装路径,本示例选择安装在d: oolj_scope。
图8. jscope安装 选择安装路径
8)点击install开始安装。
图9. jscope安装 点击install
9)点击finish完成安装。
图10. jscope安装 点击finish
安装at32相关package
先解压xxan0044_segger_jscope_on_at32_mcu_2.x.xjscopetoolpacks_v2.x.x.zip;
然后再解压keil5_at32mcu_addon.zip
然后分别安装arterytek.at32f403a_407_dfp.2.x.x.packsegger_at32mcu_addon.exe。
安装arterytek.at32f403a_407_dfp.2.x.x.pack 1)双击arterytek.at32f403a_407_dfp.2.x.x.pack开始安装。
2)点击next继续安装。
图11. at32 package安装 点击next
3)点击finish完成安装。
图12. at32 package安装 点击finish 安装segger_at32mcu_addon.exe 1)双击segger_at32mcu_addon.exe开始安装。
2)在弹出界面点击browse以选择安装路径。
图13. at32 package安装 点击browse
3)选择安装路径:注意,安装路径必须选择jlink的安装路径,否则找不到jlinkdevices.xml,无法安装。
图14. at32 package安装 选择安装路径
4)点击start,开始安装。
图15. at32 package安装 点击start
5)若安装成功,会绿色字体提示安装成功。
图16. at32 package安装 安装成功
6)若安装失败,则会红色字体提示失败原因:此处是安装路径不对,因此找不到jlinkdevices.xml文件。重新安装,正确选择安装路径为jlink安装路径即可。
图17. at32 package安装 安装失败
hss(high speed sampling) 模式
hss模式简介
hss模式比较简单,仅需大家将mdk生成的可执行文件xxx.axf或者iar生成的可执行文件xxx.out文件加载到jscope软件里面即可。
硬件连接:使用标准的下载接口(vcc,gnd,swdio,swclk和nrst)或三线jlink-ob(gnd,swdio,swclk)即可。
优势:随时可以连接目标板,不影响目标板的正常功能,不需要额外资源。无需用户写目标板代码。
劣势:相对rtt模式,采样速度慢,基本固定在1khz左右,仅适用于变量变化速度低于1khz的情况。
使用方法
此处以mdk5为例,硬件以at32f403a为例。 生成可执行文件 打开mdk工程,编译、下载程序,并生成可执行文件hss.axf。 新建工程 打开j-scope后,新建工程: 图18. 新建工程(hss) 配置工程 图19. 配置工程(hss) 1)jlink接口选择:大家通常使用的jlink都是usb接口,所以此处选择usb。 2)目标器件选择:此处选择at32f403avgt7。
图20. 目标器件选择(hss)
3)目标接口和速度选择:
目标接口:根据应用程序配置,选择swd/jtag均可。本例程选择的swd,所以这里也选择swd。 jlink速度:jlink速度配置不要太高,这里选择4000khz。 图21. 接口、速度选择(hss)
4)模式选择:此处选择hss。
5)选择可执行文件:此处在mdk例程的路径里找到可执行文件(hss.axf)。
图22. 选择可执行文件(hss)
6)配置完成,点击ok,完成配置。
选择要查看的变量 1)打勾选中;
2)点击ok。
图23. 选择要查看的变量(hss) 开始运行 1)单击红点,开始显示数据。
2)此时跳出警告,点击ok即可。
图24. 开始运行(hss)
图25. 显示的波形(hss)
rtt(real time transfer) 模式
rtt模式简介
rtt模式类似于串口上传数据。需要移植rtt组件,配置上行缓冲区,发送数据等操作。 硬件连接:使用标准的下载接口(vcc,gnd,swdio,swclk和nrst)或三线jlink-ob(gnd,swdio,swclk)即可。 优势:
允许比hss更高的数据采样速度,高达2 mb/s。即使目标上有512字节的小缓冲区,也可以达到1 mb/s。
数据采集与目标板应用程序的执行同步,因为应用程序决定何时采样数据。
时间戳等数据可以添加到数据样本中。
劣势:
需要移植rtt组件等操作,较hss模式更麻烦一些。
使用方法
移植rtt组件 1)将以下4个文件复制到mdk工程路径下,并添加进工程。 图26. rtt组件(rtt) 图27. 将rtt组件添加到mdk工程(rtt) 2)使用下述函数,配置上行缓冲区:
第一个参数:buffer索引--此处选择1;
第二个参数:数据格式--固定格式为jscope_xy;
xy支持的格式如下:
表1. 数据格式 例如:
jscope_u4u2:表示包含32bit无符号数据和16bit无符号数据,且数据顺序按照u4u2的排列顺序。
jscope_t4i4u2:表示包含32bit 时间戳,32bit有符号数据和16bit无符号数据,且数据顺序按照t4i4u2的排列顺序。
第三个参数:缓冲区buffer选择;
第四个参数:buffer size;
第五个参数:模式--使用rtt模式的话,最后一个参数仅支持segger_rtt_mode_no_block_skip和segger_rtt_mode_block_if_fifo_full。此处选择segger_rtt_mode_no_block_skip。
3)调用segger_rtt_write函数发送数据: 4)编译、下载应用程序。 打开j-scope,新建工程 图28. 新建工程(rtt) 配置工程 图29. 配置工程(rtt) 1)jlink接口选择:大家通常使用的jlink都是usb接口,所以此处选择usb。
2)目标器件选择:此处选择at32f403avgt7。
图30. 目标器件选择(rtt)
3)目标接口/速度选择:
目标接口:根据应用程序配置,选择swd/jtag均可。本例程选择的swd,所以这里也选择swd。 jlink速度:这里选择默认的4000khz。 图31. 接口/速度选择(rtt)
4)模式选择:此处选择rtt。
5)配置完成,点击ok,完成配置。
开始运行 单击红点,开始显示数据。 图32. 开始运行(rtt)
图33. 显示的波形(rtt)
j-scope软件介绍
界面介绍
图34. j-scope界面介绍
数据导出
j-scope支持导出csv或原始的raw格式的数据。
1)若采样正在进行,则需要先停止运行:
图35. 停止运行
2)点击file->export data:
图36. 导出数据
3)填写文件名->点击保存:
图37. 保存数据文件
4)打开rtt.csv可以看到存储的数据,如下图:
图38. 查看数据文件
快捷键
图39. 快捷键
例程
注:所有project都是基于keil 5而建立,若用户需要在其他编译环境上使用,请参考at32xxx_firmware_library_v2.x.xprojectat_start_xxx emplates中各种编译环境(例如iar6/7,keil 4/5)进行简单修改即可。
hss模式
1)解压并打开xxan0044_segger_jscope_on_at32_mcu_2.x.xsourcecodej-scope_hss_v2.x.x。
2)应用程序定义两个全局变量test_data1,test_data2。
3)新建j-scope工程,再选中采样变量(test_data1,test_data2),再点击开始运行即可。
图40. 应用程序hss
rtt模式
1)解压并打开xxan0044_segger_jscope_on_at32_mcu_2.x.xsourcecodej-scope_rtt_v2.x.x.
2)移植rtt组件;
3)main.c包含segger_rtt.h文件;
4)定义两个全局变量test_data1,test_data2;5)上行缓冲区配置:
5)上行缓冲区配置:
6)数据输出:
7)然后新建j-scope rtt工程,再点击运行即可观察波形。
图41. 应用程序rtt
众创之源平台系统软件开发分销系统开发
选择好的云主机需了解哪些关键因素?
全球最大屏幕讯号线制造商翻转3次倒闭命运的奇迹
Tensilica与Express Logic共同宣布Thr
Altera以太网路IP核心 降低FPGA设计难度
J-Scope支持的设备
索尼发布史上最小电影摄像机FX3
有机会重回五五开:AMD份额一个季度暴涨50%狂追Intel
支持内存类型
华菱湘钢完成了我国钢铁业首次“5G+AR跨国远程装配”
基于Web的数字化劳动力平台提供RPA软件即服务(SaaS)产品
天津大学研发光电信息融合事件识别感知技术
亚马逊云科技协助大觥科技云上业务持续优化
转换器:HDMI转VGA和VGA转HDMI有什么区别呢?能否通用吗
金菱通达导热绝缘材料替代贝格斯Sil-Pad 900S
AI加速能源转型进程 看微软给出风力发电新方法
电话邦全新推出的子品牌——“电话邦数科”和“电话邦企服”
最新Z-Wave Plus v2认证的智能恒温器已经正式上市
数控机床机器人优势汇总
Zynq UltraScale+ MPSoC的多媒体功能和搭配其的处理引擎