J-Scope的使用
发布日期:2021-08-26 12:38:18 浏览次数:1 分类:技术文章

本文共 2688 字,大约阅读时间需要 8 分钟。

1、硬件准备

  首先准备Jlink硬件,V8版本在J-Scope中采样频率高到50Hz,粗略的观看还可以;V9版本可以到1MHz;对于Scpoe还有一个同时观察变量的数量,V8最少,V9可观察的多一些,基本够用。

2、软件准备

segger官方网站地址:https://www.segger.com/

Scope软件下载地址:https://www.segger.com/j-link-j-scope.html

目前为Setup_JScope_V510d.exe

3、J-Scope软件配套JLink的软件版本

要想使用J-Scope,需要JLink的软件版本高一些,软件版本和Jlink的硬件本无关,只要自己的仿真器支持升级就行,所以最好下载最新的JLink驱动。

下载网站:https://www.segger.com/downloads/jlink/#J-LinkSoftwareAndDocumentationPack

目前最新的驱动:JLink_Windows_V620h.exe

4、J-Scope软件的HSS使用方法

安装完成之后,找到自己的安装目录,如图所示,会看到J-Scope的启动文件和他的帮助文件。

UM08028_JScope.pdf是官方的帮助文档,非常详细专业。

(1)启动软件

可以新建工程,或打开以前已有的工程,如下图所示。

选择新建新建,电机【OK】后的界面如图所示:

(2)J-Scope软件配置 

  a、J-Link的链接选择

    USB:大家用的基本是USB接口的

    Serial No

    TCP/IP

    Exitsting Session

  b、Specify Target Device:指明目标器件,配置过程如图

  

  c、Target Interface &Speed:目标的接口和速度

    JTAG、SWD或FINE,仿真的速度,如图

  至于选择JTAG还是SWD,需要根据自己开发板的接口来选择,与之相一致就好。

  d、Sampling Source

  

  e、Sampling Rate 单位us,最小修改为1.

    

  f、Elf File添加

  

  Elf文件是keil 生成的文件。扩展名为axf,在自己keil工程的文件夹中寻找。

  

  (3)J-Scope软件的观察变量

      

  FOC核心算法中的各个变量,勾选上即可,然后【OK】即可。

  

  连接好目标板,点击红色的圆点,即可开始采样,在采样过程中,用鼠标子在变量区点取一个变量,然后按【+】【-】键,则可以实现图形的上移、下移,如果按一下【Ctrl】键,然后在按【+】【-】,则可实现图形的放大和缩小,其实是修改了Y轴分辨率。

  采样停止后,在图形界面,鼠标左键点住拖动,可实现图形的左右移动,方便观察图像的历史记录。

  采样时或停止后均可点击放大和缩小图标,来实现采样率的改变。

  (4)J-Scope软件的保存数据文件

  【File】菜单中有数据的导出和导入功能,导出后可存为Excel文件,然后在Excel中进行处理,也可导入到Matlab中。

5、J-Scope软件RTT模式单片机工程中需要配置

  注:RTT模式选芯片型号的时候,必选对应的型号不能选内核型号。

    

  (1)下载这几个文件,也可以在Jscope的安装路径下找到。

  安装路径如下图:

  (2)将SEGGER_RTT.c,SEGGER_RTT.h,SEGGER_RTT.h添加进工程,并把SEGGER_RTT.c添加到工程。

  (3)添加缓存定义

    char JS_RTT_UpBuffer[4096];    // J-Scope RTT Buffer

    int  JS_RTT_Channel = 1;       // J-Scope RTT Channel

    上面的缓存大小可以给小点512也行。

  (4)随便找个地方初始化

     SEGGER_RTT_ConfigUpBuffer(JS_RTT_Channel, "JScope_I4I4I4", &JS_RTT_UpBuffer[0], sizeof(JS_RTT_UpBuffer), SEGGER_RTT_MODE_NO_BLOCK_SKIP);

    

  (5)

    #pragma pack(push, 1)

    struct {
        signed int Sine1;
        signed int Sine2;
        signed int Sine3;
      } acValBuffer;
    #pragma pack(pop)

    上面是你要发送的结构体,自己定义。

  (6)在你要发送的地方赋值并发送,例如中断:

      acValBuffer.Sine1 = Test_Counter1;

              acValBuffer.Sine2 = Test_Counter2;
              acValBuffer.Sine2 = Test_Counter3;

    SEGGER_RTT_Write(JS_RTT_Channel, &acValBuffer, sizeof(acValBuffer));

  (7)下面是重点!!!官方没有提到的。例如我想发四个数,两个int型,两个short型。

      #pragma pack(push, 1)

        struct {

            signed int Sine1;

            signed int Sine2;

            short Sine3;

            short Sine4;

        } acValBuffer;

        #pragma pack(pop)

  那么对应的初始化要改为"JScope_I4I4I4"这个参数就要改成"JScope_I4I4I2I2“

  (8)还有一个更重要的!那就是如果发送频率过块,快卡死,卡在一个循环里。

    SEGGER_RTT.c这个文件的WriteBlocking函数要做修改。

    

    加一句。

      if(NumBytesToWrite == 0){NumBytesToWrite = 1;}

 

  

转载于:https://www.cnblogs.com/zhaoyanan/p/7875698.html

转载地址:https://blog.csdn.net/weixin_33885253/article/details/93292797 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:E. XOR and Favorite Number
下一篇:Datables wrning(table id='example'):Cannot reinitialise DataTable.

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2024年03月06日 03时12分21秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

x86so文件装换成arm64位_64位系统正式发布说明及介绍!! 2019-04-21
for循环中取出最大最小 累加_LeetCode之长度最小的子数组 2019-04-21
如何打开老公人脸识别_【话题】南宁已有小区启用人脸识别门禁,有人点赞有人忧... 2019-04-21
makex机器人程序_机器人教育为相城青少年叩开科学世界大门 2019-04-21
一寸照纯红色底图片_Ella陈嘉桦也是“时髦精”,穿玫红色西装配拼色半身裙,高级洋气... 2019-04-21
米哈游客户端笔试题_Garena校招 游戏客户端开发通关面经 2019-04-21
airpodspro没有弹窗_使用AirPods Pro一天的主观感受 2019-04-21
创建物化视图commit_视图及范式 2019-04-21
函数传参字典_Python新手上车17:函数传递任意多个参数 2019-04-21
去掉数组最后一个元素_【一天一大 lee】在排序数组中查找元素的第一个和最后一个位置 (难度:中等) Day20201201... 2019-04-21
秦九韶算法递推公式_算法讲解之复杂度分析 2019-04-21
添加绝对路径_网站中如何添加绝对路径 2019-04-21
python房价数据分析波士顿代码数据_python数据分析-波士顿房价预测-Go语言中文社区... 2019-04-21
redis线程阻塞原因排插_Redis阻塞原因详解 2019-04-21
labview自动保存报表_基于LabVIEW的Excel报表的自动生成功能 2019-04-21
geotool 导出shp_Java 读取shape文件 2019-04-21
mysql 关联更新_MySQL UPDATE多表关联更新 2019-04-21
mysql call_mysql的call用法 call调用函数的例子 2019-04-21
python参数验证_参数验证,Python中的最佳实践 2019-04-21
python画多层网络_在pymn中修改多层网络图 2019-04-21