天天看點

jlink v9可更新固件‘_Jlink+JScope顯示波形

之前的文章:分享一個很酷的上位機軟體。很多朋友都很喜歡這樣子的工具,這樣的上位機固然好用,但是這依然依賴于我們的系統資源。

本次分享另一種相似的工具、方法,不依賴于系統資源,但需要額外的硬體支援,但是這樣一個硬體就是常用的Jlink調試工具。

我們常常都隻是用Jlink來線上調試程式、下載下傳程式。其實Jlink的用處很多,我們要好好運用。本篇筆記我們就來分享一下Jlink的另一個用途:使用Jlink+JScope顯示波形。

什麼是JScope?

J-Scope 是 SEGGER 推出的波形顯示軟體,傻瓜式,簡單易上手。軟體界面如下:

jlink v9可更新固件‘_Jlink+JScope顯示波形

其有兩種方式來顯示波形,一種是 HSS 模式 ,另一種是RTT模式。這裡我們分享的是RTT模式的使用。

實驗示範(keil工程)

(1)準備工作

實驗的前提是需要有Jlink仿真器(V9或V10),其它的有些不能與JScope搭配使用 。同時要裝好Jlink驅動與JScope上位機軟體:

jlink v9可更新固件‘_Jlink+JScope顯示波形

(2)工程移植、測試代碼編寫

安裝好JScope軟體之後,在其安裝目錄下會有如下源碼:

jlink v9可更新固件‘_Jlink+JScope顯示波形

我們這裡的路徑是:

C:Program Files (x86)SEGGERJScope_V611mSampleExample Code RTT
           

複制如下三個檔案至我們的keil工程目錄下:

jlink v9可更新固件‘_Jlink+JScope顯示波形

然後在keil中添加至我們的demo工程裡,并包含頭檔案SEGGER_RTT.h即可。然後編寫如下測試代碼:

jlink v9可更新固件‘_Jlink+JScope顯示波形
jlink v9可更新固件‘_Jlink+JScope顯示波形

SEGGER_RTT_ConfigUpBuffer 函數說明:

  • 第 1 個參數要填通道 1,實際測試通道 0 不可用
  • 第 2 個參數非常重要,要使用固定的格式,字元串 JScope_是固定的,主要是下劃線後面的字元。 支援的格式如下:
jlink v9可更新固件‘_Jlink+JScope顯示波形

比如:JScope_I4I4 表示資料包格式由兩個有符号32位資料組成。

  • 最後一個參數的備選項為:
jlink v9可更新固件‘_Jlink+JScope顯示波形
  • 使用 RTT 模式的話,最後一個參數僅支援 SEGGER_RTT_MODE_NO_BLOCK_SKIP 和 SEGGER_RTT_MODE_BLOCK_IF_FIFO_FULL 。

關于SEGGER_RTT,之前已經有分享其實作列印功能的方法,感興趣的朋友可閱讀:STM32中另一種列印調試的方法

最後,編譯下載下傳到闆子裡。

(3)JScope上位機配置

首先,建立工程:

jlink v9可更新固件‘_Jlink+JScope顯示波形

設定為RTT模式:

jlink v9可更新固件‘_Jlink+JScope顯示波形

設定目标裝置(我們這裡使用的是STM32F103ZE):

jlink v9可更新固件‘_Jlink+JScope顯示波形
jlink v9可更新固件‘_Jlink+JScope顯示波形

使用Jlink連接配接目标闆(SWD方式):

jlink v9可更新固件‘_Jlink+JScope顯示波形

連接配接三根線即可,TMS、TCLK、GND。具體的JTAG接口引腳順序如:

jlink v9可更新固件‘_Jlink+JScope顯示波形

點選開始采樣(前提是程式已經跑起來):

jlink v9可更新固件‘_Jlink+JScope顯示波形

波形顯示:

jlink v9可更新固件‘_Jlink+JScope顯示波形
jlink v9可更新固件‘_Jlink+JScope顯示波形

以上就是本次的分享,希望各位喜歡!