本帖最后由 toofree 于 2018-9-18 10:44 编辑 # x( f L9 Q) S 【STM32电机培训】——9、Nucleo板上使用J-Scope工具例程 $ y9 X* Q" k8 I J: b# ]" ZJ-Scope是SEGGER公司推出的,可以在目标MCU运行时,实时分析数据并图形化显示的软件。 与ST的STMStudio类似,J-Scope也可以像示波器一样显示多个变量的值,通过读取一个ELF、axf或out文件,允许选择一定数量的变量可视化。# K' C: H: f4 V% F 用J-Scope自然是需要Jlink调试仿真器的,Nucleo板上的ST-LINK/V2-1可以通过软件刷成Jlink固件,这样就可以使用J-Scope了。3 \/ n/ S7 `1 A" ~) `6 x5 C W9 z! L 那么本贴会介绍整个使用过程,走个套路,由于文字功底有限,本贴主要以图片说明为主,也方便习惯了PPT的各位小伙伴。9 D, X4 E, _# K 在这里特别感谢坛友 @子曰好人 。我原先只听说过J-Scope,没用过,以为用起来会比较麻烦,看了@子曰好人 的帖子,让我对使用J-Scope更加有了信心,实际使用意想不到非常的顺溜。 m/ z) {0 M1 k0 B( } / a# X0 q! l" Y, J( C& D5 b/ G1 g 这里主要分四步来介绍: 1、下载软件,包括“J-link软件与文档包”、“J-Scope”、“ST-Link Reflash Utility”;- d$ v9 B" }( j0 F. e1 ^% _: R 2、刷ST-LINK/V2-1为Jlink;) L7 N5 _' w8 \8 f" d 3、创建J-Scope,并观察变量波形;$ |3 N9 e; t+ l7 } 4、善后工作,恢复ST-LINK/V2-1功能。2 O& P; N3 g* S: P5 D( y9 {+ ~& i 1、下载软件: 下载“J-link软件与文档包”。1 [- l9 V2 \) m1 w$ c6 z 打开网址“http://www.segger.com/downloads/jlink”,滚动鼠标滚轮到J-link软件与文档包下载位置。或者直接在浏览器地址栏中输入“http://www.segger.com/downloads/jlink/#J-LinkSoftwareAndDocumentationPack”。7 f9 Z* [4 c4 r+ B2 u $ D+ y, N+ C7 f* E! g) y& n0 o 按下图1到4步骤依次完成。(为什么会有第4步,而不是直接下载最新版,因为我手里还有个D盗Jlink,软件版本太高支持不了,建议非正版Jlink的小伙伴也不要安装最新版软件,否则遇坑难出来。) 步骤5,下载适合的旧版本软件,我这里选择的为V6.16C - u- O8 w* B; }- D3 W0 `: _ 下载“J-Scope”- g4 W* Q6 }1 L. u4 I 之前的页面滚动鼠标,找到J-Scope,或者直接打开网址“http://www.segger.com/downloads/jlink/#JScope”,并按下图的步骤1到4下载 ! d+ {, A! E4 N1 y% W0 d) s 下载“ST-Link Reflash Utility” 同样是之前页面内滚动鼠标滚轮,找到“ST-Link Reflash Utility”,或直接打开网址“http://www.segger.com/downloads/jlink/#STLink_Reflash”,按下图步骤1到4下载。 按默认路径安装“J-link软件与文档包”、“J-Scope”,解压“ST-Link Reflash Utility”到与前两个软件相同的根目录下。) B# T# p5 W3 X( b8 E1 x0 [' v 4 c# \. _0 T5 { 2、刷ST-LINK/V2-1为Jlink! F f! |8 l4 h 在“STLinkReflash_170807”文件下的“STLinkReflash.exe”,即为刷J-link固件的应用软件。 习惯在cmd命令行下运行一些软件。(对于程序“STLinkReflash.exe”来说,也可直接双击运行。)0 j3 p3 B% F9 q) B2 v / x8 t, T/ m3 Q' j; N 进入“STLinkReflash_170807”目录 ) e! R. |- n3 H' } 运行“STLinkReflash.exe”; J# B. P* r5 g2 W& L 输入“A”(大小写均可),确认执行 再次输入“A”,确认执行 输入“1”升级到J-Link,确认执行 ( I) L7 ?6 ^% l. X4 ]' A 执行完毕,已经将ST-LINK/V2-1升级到J-Link 9 ]! ]8 g7 h5 O7 N4 `' e 输入“0”,确认退出软件。) @' Y1 ~# M6 i+ T9 a! S ' R% E% ?9 m: O6 ^' O 在资源管理器中查看,可以看到J-Link设备1 y4 R) o: m: s+ f 3 R* z$ a' b8 p6 I6 a3 N 3、创建J-Scope,并观察变量波形8 D; v& |4 l& o7 L6 a# |* ^ 执行程序J-Scope0 o7 q( Q% N, e) g& C/ c2 Z % a# Z1 B* m9 K) o 选择创建新工程" L* E: N% w+ J % K, d- { ?# w. \! h8 b 浏览查找设置相应目标板器件" c. f1 O5 k5 ]% F1 A# V. F4 e" J- t 在我们P-NUCLEO-IHM002套件中使用的主控板NUCLEO-F302R8,主器件是STM32F302R8,因此选择STM32F302R8,并确认。 浏览加载ELF文件。 ( l7 e0 |3 S8 j" Z# X5 e 本贴使用上一贴的工程: 【STM32电机培训】——8、任务4开放性实验之:加个转速https://www.stmcu.org.cn/module/forum/forum.php?mod=viewthread&tid=617534&fromuid=307297 (出处: 意法半导体STM32/STM8技术社区) , d6 U3 C1 B) R 选择目标文件“SDK50x-P-NUCLEO-IHM001-BullRunning.out”,并确认。 9 X) X" |$ u1 V7 t 最后确认设置好的页面为如下红色框所示,不明白的选项暂不设置,确认。+ |8 ^% H# v' d" l' _ 7 D: l0 i$ F* n+ A" |+ X 确认后自动弹出要观察的变量选择列表,拖动滚动条找到要观察的变量。 找到要观察的变量“avr_speed”、“Tuning_ACD ”和“Tuning_Iqref ”,并在右列对应的选项框中打勾。 可以看到右上角的Legend窗口和正下方观察窗口,均显示已经添加的变量。 如果还要添加变量,请用鼠标右击Legend窗口,弹出列表中选择“添加符号”,或者只弹出“添加符号”选项。, w+ h) Z1 f! ?* y. A * M3 S" N# D+ S+ _3 e( E 设置好观察变量后,点击红色按钮,或快捷键F5,开始采样。 这时可能会弹出确认对话框,意思是我们的J-Link Prob版,仅支持1K/S采样。. V# y, u" n2 o0 f ?9 W0 C 2 N4 b; A# `! W9 P 回到设置窗口,在下框中输入1000,相应的采样率会自动变为1K,以后将不会再弹出上图窗口。猜想1000后面的乱码,可能是us。, e3 v- x& f! e+ T9 C9 F 下载好固件的电机套件,连接PC,并通电运行。- u+ d0 B0 `, h/ P6 d9 ]% E 7 s9 B) U. ^+ x8 g& O5 p5 B; ] J-Scope运行后,调节X-NUCLEO-IHM07M1板上蓝色电位器,观察显示波形如下图。可以通过放大缩小来缩放波形窗口,Legend窗口中显示,各变量显示单位将会自动适应。J-Scope显示波形效果似乎比STMStudio要更胜一筹。 ' j. m* ^6 Y J# i0 J1 n 保存工程,方便以后调试使用 不妨暂设置工程名为“jscope.jscope”,当然也其它的名称。% g" R) v( E! X/ V% A6 \# {3 z 3 i8 Z* R& v; r. V2 u7 W0 N+ {2 ~ & w; L$ E5 ^! D( e! G: B. V2 W/ v 至此,我们完成了J-Scope显示变量波形的完整过程。. \3 n8 i1 Y+ B; O0 u 4、善后工作,恢复ST-LINK/V2-1功能。. u9 W1 f }) _4 v" E P W 运行“STLinkReflash.exe”,两次确认后,输入“3”,恢复为ST-Link。! i2 i/ K2 @ O: N; |% @ 6 k- p* l2 W* n( Y- c# R. W- | 已成功恢复为ST-Link功能, P1 Z# P" q" B: d 1 G9 s: F8 ~9 Q+ \8 B1 H* ~ 在设备管理器中已看不到“J-Link”设备,取而代之的是“ST-Link” % O" F Q, X: c) ]$ S, T) z3 C 跑个STMStudio工程,验证一下ST-Link是否成功恢复。 经调试ST-Link功能正常,已成功恢复。 至此,本实验完成。相信观摩过本贴的上伙伴,已经可以在Nucleo板上,上手J-Scope了。感谢ST将Nucleo板载ST-Link/V2-1做的功能如此强大,也感谢SEGGER将提供了非常好的第三方支持。 测试样例文件:) z- ~! \* |8 f% B* V |
我这随便刷,不知道你为啥不行。. P- |" @5 q4 V) s9 n3 P; B
你的板卡和下载器型号是什么?
用STLinkReflash的前提,必须是Nucleo板载ST-Link/V2-1下载器,或基于此方案的其它ST-Link/V2-1。
还需要Nucleo板连接着么?' |$ q; y0 m4 d
我的是ST-Link v2,没有Nucleo板1 k \1 @: T" _5 K3 a9 z6 _+ o
有可能不支持ST-Link V2,只说支持板载的(ST-Link/V2-1)
在这篇帖子学到了如何将stlink变成jlink,感谢楼主的分享
多谢捧场,一起学习
多谢捧场
试一下用管理员权限运行cmd命令行,或reflash程序
试过了,还是一样