成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一文帶你了解Jlink之J-Scope虛擬示波器

開發 開發工具
J-Scope是J-link的功能之一,J-Link是SEGGER公司為支持仿真ARM內核芯片推出的JTAG仿真器。簡單地說,是一個JTAG協議轉換盒。

[[422228]]

01 虛擬示波器

說到虛擬示波器,大家應該都不陌生。在學校時開發智能車,調節PID時虛擬示波器是必須的工具。虛擬示波器軟件有很多,之前我也分享過一篇文章《一個超贊的開源串口虛擬示波器項目》,基于QT的開源軟件,大家有興趣可以看一下。一般情況下虛擬示波器軟件都是通過串口接收數據的,所以要求MCU通過串口把數據打包成軟件支持的協議發給虛擬示波器軟件。

02 J-Scope是什么

J-Scope是J-link的功能之一,J-Link是SEGGER公司為支持仿真ARM內核芯片推出的JTAG仿真器。簡單地說,是一個JTAG協議轉換盒。關于J-Link可以看之前的文章《關于JTAG你知道和不知道的都在這里》《JLink cmd的使用》。

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軟件。下載鏈接如下

下載鏈接:https://pan.baidu.com/s/1KO13rZw8RVyIQPN4Qpp4-w

提取碼:eqxx

03HSS模式

首先編寫測試代碼,將程序下載到單片機內

  1. #include "main.h" 
  2. #include <math.h>       /* sin */ 
  3.  
  4. RCC_ClocksTypeDef RCC_Clocks; 
  5.  
  6. float x = 0; 
  7. double sin_o = 0; 
  8. double cos_o = 0; 
  9. int main(void) 
  10.   RCC_GetClocksFreq(&RCC_Clocks); 
  11.    
  12.   while (1) 
  13.   { 
  14.     x += 1; 
  15.     if(x >= 360) 
  16.       x = 0; 
  17.     sin_o = sin(x*3.14/180); 
  18.     cos_o = cos(x*3.14/180); 
  19.   } 

J-Scope軟件的配置

新建工程,在①處選擇USB,大部分情況下我們都是使用USB連接的Jlink的,在②處在SpecifyTargetDevice處選擇對應的單片機型號,在③處選擇不同接口,我這里使用的SWD接口,在④處選擇HSS模式,額外說明⑤處的中文亂碼是us。

特別說明,在⑥處加載keil工程生成的.axf文件或IAR工程生成的.out文件。路徑中最好不要有中文。點擊OK完成配置。

接下來選擇要觀察的變量,不僅僅如下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只能讀取全局變量的數據,我們使用硬件串口可以將函數的局部變量發給虛擬示波器。

本文提供了一種針對發布版軟件,在沒有其他“埋點”打印的情況下,如何監控全局變量的方法,之前的文章《JLink cmd的使用》也提供了一種思路解決類似的問題,有興趣的同學可以看一下。

文末說句感想,開發中使用的用具沒有好壞,只是使用場景不同,多掌握幾種工具,就可以多一些辦法解決一些刺手的問題。

本文轉載自微信公眾號「知曉編程」

【編輯推薦】

 

責任編輯:姜華 來源: 知曉編程
相關推薦

2023-11-20 08:18:49

Netty服務器

2023-11-06 08:16:19

APM系統運維

2022-11-11 19:09:13

架構

2023-10-27 08:15:45

2022-02-24 07:34:10

SSL協議加密

2023-11-08 08:15:48

服務監控Zipkin

2020-02-02 15:14:24

HTTP黑科技前端

2022-04-28 09:22:46

Vue灰度發布代碼

2022-09-29 13:09:38

DataClassPython代碼

2025-01-15 09:06:57

servlet服務器Java

2020-10-08 14:32:57

大數據工具技術

2023-03-31 08:16:53

Flutter優化內存管理

2018-10-22 08:14:04

2019-07-04 15:16:52

數據挖掘大數據算法

2022-02-18 10:13:07

SolrElasticSea開源

2023-12-06 16:28:56

2022-09-06 11:21:49

光網絡光纖

2019-08-06 09:00:00

JavaScript函數式編程前端

2024-05-07 08:49:36

Hadoop數據存儲-分布式存儲

2024-05-27 00:00:00

.NET游戲引擎C#
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲欧美中文日韩在线v日本 | 精品一区二区在线观看 | 国产精品精品视频一区二区三区 | 久久中文字幕一区 | 午夜影院在线观看免费 | 久久精品视频99 | www.日韩欧美 | 天天操天天天 | 免费激情网站 | 亚洲乱码一区二区三区在线观看 | 久久精品色欧美aⅴ一区二区 | 亚洲免费婷婷 | 91麻豆精品国产91久久久久久久久 | 夜夜爽99久久国产综合精品女不卡 | 日韩毛片 | 精品久久久av | 国产一区二区三区 | 神马福利| 国产真实精品久久二三区 | 国产精品九九九 | 伊人久久精品一区二区三区 | 999精品视频| 91精品国产91久久久久青草 | 国产精品小视频在线观看 | 欧美成人一区二区三区 | 91麻豆精品国产91久久久更新资源速度超快 | 精品久久久久香蕉网 | 精品国产乱码久久久久久蜜柚 | 天堂三级| 国产一区二区三区在线观看免费 | 日韩在线不卡视频 | 亚洲欧美日韩精品久久亚洲区 | 五月天国产在线 | 91在线精品一区二区 | 欧洲精品码一区二区三区免费看 | 国久久| 久久久久免费精品国产 | 日韩av在线免费 | 精品美女视频在免费观看 | 亚洲男女视频在线观看 | 精品一区二区三区在线观看 |