在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

STM32調試神器STM32CubeMonitor介紹

安芯教育科技 ? 來源:大國物聯網 ? 2025-03-17 10:45 ? 次閱讀

STM32CubeMonitor除了同樣可以提供變量監測的功能,還有非常豐富的組件可以搭建各種風格的圖形化界面,以及眾多免費的第三方組件可以進行功能擴展。此外,STM32CubeMonito還支持遠程監測功能。

STM32CubeMonitor變量監測及可視化工具,支持通過ST-LINK的SWD或者JTAG接口連接到目標MCU,可以在程序全速運行不被打斷的情況下,讀取需要檢測的變量值。非常適合那些需要在程序全速運行下進行調試的情況,是對傳統的通過設置斷點進行調試的方式的補充。

STM32CubeMonitor基于NODE-RED開發,有豐富的圖形開發組件,可以開發出靈活多變的可視化圖形界面。

NODE-RED作為一個開源的可視化界面開發工具,有一個活躍的開發者社區,里面有眾多開發者開發的各種功能的新節點,STMCubeMonitor支持導入這些第三方的節點來不斷擴展功能。

18e507e6-fbb3-11ef-9310-92fbcf53809c.png

STM32CubeMonitor可以通過非侵入式的方式(Direct模式)檢測程序變量,對采集的數據實時分析,協助程序診斷。除了Direct模式以外,Snapshot模式下通過往應用程序添加特定采樣代碼,可以提供更精確的采樣。變量可以根據可執行文件導入,也可以直接根據變量地址進行手動添加,還可以對采集的變量進行各種后處理運算,設置采樣觸發條件等。

STM32CubeMonitor采用圖形化的編程界面,整個編程過程通過拖拽的方式就可以完成,無需寫代碼。有大量可選的圖形化組件(儀表盤,柱狀圖,點線圖……)可用。

18fda6d4-fbb3-11ef-9310-92fbcf53809c.png

STM32CubeMonitor有兩種工作模式:設計模式和Dashboard模式。設計模式即是編輯模式,打開STM32CubeMonitor默認就是處在這個模式。設計模式下,最左邊一欄列出了所有當前可用的節點,我們可以通過拖拽不同的節點來創建或者編輯不同的邏輯數據流(Flow),來實現想要的功能。比如將要檢測的變量通過點線圖進行實時顯示,或者通過一個按鈕來控制某個GPIO口的狀態等。設計模式下最右邊一欄可以看到當前選中節點的使用說明和程序運行的調試信息等內容。

待所有的節點都編輯完成并部署運行后,可通過右上方的DASHBOARD按鈕進入Dashboard模式。在Dashboard模式下,我們可以看到在設計模式下編輯的“流”運行的結果,看到我們之前設計的界面,通過這個界面去檢測或者控制變量的值。

1916018e-fbb3-11ef-9310-92fbcf53809c.png

STM32CubeMonitor基于Node-RED,Node-RED是一個基于“流(Flow)”的開發工具。那么何為“流”?Node-RED提供了很多功能節點,這些節點可以分為輸入節點,輸出節點和功能節點。把這些節點連接起來就是一個”流”。多個“流”的組合,我們也把它叫做“流”。比如在設計模式下的標簽頁面我們也稱作“流”,它里面實際會包含多個不同功能的單個“流”。

192b51a6-fbb3-11ef-9310-92fbcf53809c.png

上圖是通過STM32CubeMonitor進行遠程監測的連接示意圖。如我們前面所說,將STM32開發板通過ST-LINK連接到本地電腦,STM32CubeMonitor可以在本地電腦(Host PC)上運行,同時也可以在其他的電腦,平板或手機上通過瀏覽器訪問host PC的IP地址(端口號1880)打開STM32CubeMonitor的界面,進行編輯或者查看Dashboard(需要在同一個局域網)。

實踐操作

前面我們已經對STM32CubeMonitor有了一些基本了解,接下來就進入實踐操作部分。

19424348-fbb3-11ef-9310-92fbcf53809c.png

在這一部分,將會通過“基本的數據采集流程”,“實時波形監測”和“利用公有云平臺進行遠程數據監控”等三個例子,來介紹STM32CubeMonitor不同功能的使用。本課程提供有三個例程所對應的MCU及CubeMonitor的程序,開發板使用的是Nucleo-L4R5ZI和X-NUCLEO-IKS01A2 傳感器擴展板(僅在第三個例程中用到)。你也可以使用其他的STM32開發板,按照每個例程的說明實現對應MCU的功能就可以。

基本數據采集

1958a4ee-fbb3-11ef-9310-92fbcf53809c.png

在第一個例程中,MCU程序中定義了一個全局變量(current_var),該變量在設定好的最大值(var_max)與最小值(var_min)之間以步長1,連續變化。現在我們要用CubeMonitor去實時監測這三個變量,并且還要實時改變最大值和最小值的限值。

通過這個例子,我們將學會:

? 如何搭建一個基本的“流”

? 了解“流”節點之間傳遞消息的基本數據結構

? 調試節點的使用

? 如何保存及導入“流”

? 如何調整Dashboard布局

196f545a-fbb3-11ef-9310-92fbcf53809c.png

這里例程的MCU相關代碼實現。拷貝到任何已有的工程,重新編譯燒錄。

其中的current_var ,var_max和 var_min這三個變量就是我們要監測的變量。

接下來就來看看CubeMonitor如何配置。

CubeMonitor配置

19802730-fbb3-11ef-9310-92fbcf53809c.png

當第一次打開CubeMonitor時,默認就打開了一個“流”。你可以基于這個“流”進行開發,也可以進入菜單import>Library, 選擇“STM32CubeMonitor_BasicFlow.json”,然后點擊“import”按鈕導入一個新的Basic流。這時,在設計模式下就會多出一個名為“Basic_Flow”的標簽頁。這個標簽頁,我們也稱為”流”。

在Library下,有兩類流可以選擇:BasicFlow和AdvancedFlow。你可以把它理解成STM32CubeMonitor已經做好的兩個流模板,方便大家上手。BasicFlow只有一個標簽頁,里面已經預先實現了啟動/停止采樣,并將結果顯示在點線圖上的基本功能。只需要將其中節點的參數更新一下即可。AdvancedFlow包括兩個標簽頁:一個標簽頁里是和STM32節點相關的流(比如設置變量地址,讀取變量值并處理,輸出到圖表等);另一個標簽頁里放的是用戶界面按鍵。兩個標簽頁的節點通過Link in和Link out節點連接。在AdvancedFlow中還可以同時連接兩個ST-LINK,同時檢測兩個STM32開發板的運行。

我們再回到BasicFlow,從圖中可以看到整個BasicFlow流由兩個流組成:上面的流由兩個button節點(Start, Stop),一個variables節點和一個acq_out節點組成。這個流完成的功能是:設置要檢測的變量地址,在Dashboard上添加兩個按鍵(Start,Stop)來啟動和停止采樣。下面的流由acq_in節點,processing節點,一個button節點和一個chart節點組成。acq_in節點接收ST-LINK發來的數據,processing節點接收acq_in的消息,將所選擇的變量數據發送到chart節點進行顯示。Clear button用來清除chart圖表的顯示。

接下來我們就來逐個說明BasicFlow中各個節點如何配置。

節點配置

199e9288-fbb3-11ef-9310-92fbcf53809c.png

首先我們先來看看myProbe_Out和myProbe_In這兩個節點。這兩個節點屬于STMicroeletronics節點組,就是其中的acq_out和acq_in。STM32CubeMonitor里的所有節點,都可以另外命名為其他更有意義的名字,方便我們理解每個節點的作用。acq_out節點的作用是定義或者選擇一個ST-LINK配置(通信協議,頻率等),打開或者關閉連接,向選擇的ST-LINK發送命令等。Acq_in節點的作用是定義或者選擇一個ST-LINK配置,并接收ST-LINK發來的數據。

在開始配置前,我們會發現在這兩個節點的右上方分別有一個紅色的三角形和藍色的圓點。紅色的三角形表示:該節點還未配置,藍色的圓點表示:該節點更新后還未部署。

在配置這兩個節點前,先連接ST-link到PC。然后按照圖中的步驟進行配置:

1.雙擊節點,打開編輯窗口,點擊“ProbeConfig”編輯按鈕

2.在下拉菜單中選擇可用的ST-LINK(如果沒有連接任何st-link,就會看到“No results found”)

3.點擊Add,添加ST-Link

4.點擊Done,完成配置,編輯窗口自動關閉

這時節點右上方的紅色三角形消失,藍色圓點還在,表示當前節點已經配置,但還沒有部署。

用同樣的方法,完成myProbe_Out和myProbe_In這兩個節點的配置。

19b15b48-fbb3-11ef-9310-92fbcf53809c.png

接下來,配置variables節點,添加要監測的變量。有時我們需要將不同的變量送往不同的顯示組件,或者有的變量需要更精確的采樣,需要配置成不同的采樣模式,這時為了后續處理的方便,就可以在一個flow里,放置多個variables節點將變量分組。在當前這個例子里,我們只用了一個variables變量(myVariables)。

雙擊myVariables,打開編輯窗口,按圖中步驟進行配置:

1.點擊編輯按鈕

2.添加可執行文件所在目錄(直接將路徑拷貝過來)

3.在File項的下拉菜單中選擇可執行文件,CubeMonitor會自動分析并導入所有全局變量的列表

19cb25d2-fbb3-11ef-9310-92fbcf53809c.png

4. 在變量列表中列出的變量很多,可以用過濾器通過關鍵字將要監測的變量過濾出來。比如我們輸入var,這時列表中就只剩下我們想要要監測的這三個變量了

5.點擊變量前面的方框,選中這三個變量

6.為當前的配置取一個名字,這個名字代表的就是當前選擇的變量組合。在所有的variables節點中都可以通過這個名字選擇配置好的變量組合。

7.點擊Add添加變量

8.為當前的variables組命名,之后在processing節點中就可以通過該名稱來選擇某個變量組了(見后續介紹)

9.添加好變量后,還需要配置變量采樣的參數(采樣模式和采樣速度,以及是否有采樣觸發)。采樣速度一般我們選擇“sequential loop”,該配置下CubeMonitor會以最快的速度進行采樣。或者你也可以自己設定采樣頻率。采樣模式有Direct和snapshot兩種。Direct模式屬于非侵入式,通過JTAG或者SWD協議讀取存儲器的值,不需要添加任何代碼到MCU程序。Snapshot模式,需要向MCU程序添加特定的代碼,由MCU定時采樣,將結果保存在MCU的內存中,再由CubeMonitor定期讀出。Snapshot模式可以提供更精確的采樣。在當前的例子中,我們使用direct模式就可以了。關于snapshot模式,我們會在第二個例子中做進一步介紹。

10.最后點擊Done完成配置

19dd0374-fbb3-11ef-9310-92fbcf53809c.png

Processing節點的輸入連接到acq_in節點,接收從ST-link發來的數據,按不同的變量對數據進行組合,每50ms輸出一次。比如要檢測的是三個變量,那么processing節點就會每50ms輸出三條消息,里面包含了這三個變量在這段時間內的采樣數據,可能是一個,也可能是多個,跟設置的采樣速度有關。processing節點的輸出直接連接到chart節點就可以顯示了。

這個節點的配置比較簡單,只需要在GroupName的下拉列表中選擇要處理的變量組就可以了(也就是在variables節點配置的第8步設置的變量組名)。

1a34e76a-fbb3-11ef-9310-92fbcf53809c.png

最后我們來配置用到的Dashboard的圖形組件:chart節點和三個button節點。

雙擊chart節點(myChart),打開編輯窗口,設置整個圖的大小,類型和顯示的窗口時間等。

三個button節點在模板中已經配置好,所以不用再配置。但我們可以打開它們的編輯窗口看看里面是如何配置的,從圖中可以看到,這三個button節點通過設置不同的topic實現了不同的功能。

1a451478-fbb3-11ef-9310-92fbcf53809c.png

如果想調整Dashboard的布局,可以按圖中所示步驟進入布局設計界面。在這里,可以把圖形組件進行分組,改變各個組件的大小和位置。Dashboard可以有多個標簽頁(Home,Advanced),在Dashboard界面的左上角進行選擇。配置圖形組件時,需要選擇將其放在哪個標簽頁下。后面的例子,我們都是放在Home標簽頁下,就不再做特殊說明了。

1a5bd550-fbb3-11ef-9310-92fbcf53809c.png

現在所有的節點都已經配置完畢,點擊右上方的DEPLOY按鍵,部署并運行編輯好的”流“。部署后所有節點上的藍色小圓點都消失了。

1a6e6b16-fbb3-11ef-9310-92fbcf53809c.png

點擊右上方的DASHBOARD按鍵,打開dashboard就可以看到我們編輯的界面了。點擊START ACQUISITION鍵開始采集數據,就可以看到監測的三個變量的實時變化情況了。

1a86654a-fbb3-11ef-9310-92fbcf53809c.png

現在已經可以實時監測變量的變化了,要能夠實時修改變量的值,還需要添加圖中紅框中的inject,variables和write panel節點。

Write panel節點會在Dashboard里添加一個輸入框,而且Write panel節點與myProbe_Out節點相連,所以每次輸入的值都會通過myProbe_Out發送到ST-LINK。

Variables節點里設置需要修改的變量的地址。

Inject節點的作用是可以手動或按照設定的時間間隔自動向“流”注入消息,這里我們利用它在程序啟動時觸發一次消息發送,把Variables設定的變量地址發送給ST-LINK。

1a97fc1a-fbb3-11ef-9310-92fbcf53809c.png

Variables節點的設置跟前面一樣。這里我們只需要將要修改的var_max, var_min這兩個變量添加進來就可以了。

1ad2758e-fbb3-11ef-9310-92fbcf53809c.png

配置Write panel節點,選擇放在“Home”標簽頁,并設置尺寸大小。

1ae2b174-fbb3-11ef-9310-92fbcf53809c.png

Inject節點里可以配置輸出的消息負載類型(時間戳,數字,字符串等),設定消息的topic和消息發送的方式(一次性還是周期性的)。在這個例子中,我們主要是利用inject節點在程序啟動時觸發一次消息發送,所以Payload選擇timestamp即可,repeat選項設置為none,然后勾選圖中紅框標出的選項(程序啟動后觸發一次消息發送)。設置完成后,inject節點顯示的名字就會變成“timestamp”,并且右上方有一個數字1,表示只觸發一次。

1af720c8-fbb3-11ef-9310-92fbcf53809c.png

重新部署運行,進入Dashboard界面,可以看到下方多出了var_max, var_min這兩個變量值的輸入框和一個“WRITE”按鈕。在輸入框中寫入新的變量值,點擊WRITE按鈕,從上面的點線圖中就可以看到,對應的變量立刻發生變化了。

到這里,我們已經完成了所有的流編程內容。

1b2bfac8-fbb3-11ef-9310-92fbcf53809c.png

通過菜單下的Export可以將整個流保存成json文件,操作步驟見上圖。在保存的時候,可以選擇只保存選中的幾個節點(selectednodes),還是當前選中的標簽頁的整個流(current flow),也可以保存所有打開的標簽頁下的流(all flows)。

1a34e76a-fbb3-11ef-9310-92fbcf53809c.png

保存好的json文件,通過import菜單可以再次導入。見上圖操作步驟。

1b54f95a-fbb3-11ef-9310-92fbcf53809c.png

在這個例子的最后,我們來了解一下節點之間傳遞消息的數據結構和debug節點。

將一個節點的輸出連接到另一個節點的輸入后,這兩個節點就可以傳遞消息了。CubeMonitor節點之間的消息采用json格式,包括payload,topic,msgid等字段。在每一個節點的說明中可以看到它的輸入消息和輸出消息的字段定義,除了前面提到的這三個字段,各個節點根據所實現的功能不同,消息中包含的字段也有所不同。大部分節點都會用到payload和topic字段中的一個或者兩個都用。在調試時我們一般關注的也是payload和topic這兩個字段。

debug節點是一個非常好用的調試工具,它可以連接到任何節點的輸出,來觀察實際運行時消息傳遞的情況。在debug窗口(點擊右邊的小爬蟲圖標)可以看到所有Debug節點的輸出,系統的出錯信息也會輸出在這里。

現在我們用兩個debug節點分別連接到START按鍵和myVariables節點的輸出。Debug節點配置成輸出完整的消息內容。重新部署運行,然后在debug窗口就可以看到這兩個節點的輸出信息了。按下START按鍵,此時START節點輸出了一個topic為“start”的消息來通知ST-LINK開始采樣。START節點的輸出消息先經過myVariables節點,再送到myProbe_out節點。

myVariables節點輸出的消息包含:所有需要監測的變量的名稱,地址,類型以及設定的采樣參數等,并將topic設置為接受到的START節點消息中的topic內容。所有這些信息都可以通過debug節點看得清清楚楚。ST-LINK接收到消息就知道應該對哪些變量啟動采樣了。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • mcu
    mcu
    +關注

    關注

    146

    文章

    17494

    瀏覽量

    354857
  • 接口
    +關注

    關注

    33

    文章

    8783

    瀏覽量

    152460
  • STM32
    +關注

    關注

    2277

    文章

    10956

    瀏覽量

    359331
  • JTAG
    +關注

    關注

    6

    文章

    403

    瀏覽量

    72157
  • 圖形界面
    +關注

    關注

    0

    文章

    38

    瀏覽量

    7442

原文標題:數據圖形化上位機軟件,STM32調試神器STM32CubeMonitor

文章出處:【微信號:Ithingedu,微信公眾號:安芯教育科技】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    請問STM32CubeMonitor不能在debug時使用嗎?

    STM32CubeMonitor是不是不能在debug時使用?
    發表于 04-10 06:59

    STM32應用筆記: 使用STM32CubeMonitor實時監測變量

    相對通用的變量觀測和計算功能,而且支持Linux, Mac和Windows三個平臺。這篇應用筆記簡要的介紹STM32CubeMon的使用方法。STM32CubeMonitor有以下功能和特點
    發表于 05-11 11:42

    STM32CubeMonitor介紹背景功能及特點

    使用教程大綱STM32CubeMonitor介紹背景功能及特點下載安裝功能1:變量監控先有一個stm32的工程STM32CubeMonitor配置配置myVariables添加可執行文
    發表于 08-06 09:49

    STM32CubeMonitor V1.0.0介紹

    關注、星標公眾號,不錯過精彩內容作者:黃工公眾號:strongerHuang最近ST官網悄悄新上線了一款比較強大的工具:STM32CubeMonitor V1.0.0。經過我研究和使用之...
    發表于 08-11 09:17

    該如何去使用STM32CubeMonitor工具呢

    STM32CubeMonitor是什么?STM32CubeMonitor工具的功能及特點有哪些?
    發表于 11-05 07:43

    STM32CubeMonitor這個工具是干什么的呢

    用于STM32產品的STM32CubeMonitor運行時變量監視和可視化工具大家如果經常關注ST官網 就可以發現最近上線了一種新的工具(STM32CubeMonitor),這個工具是干什么的呢?其實我們看ST官網的路徑就可以很
    發表于 03-01 07:11

    有什么方法才能是STM32CubeMonitor V1.2.0版本工具保持最新呢?

    有什么方法才能是STM32CubeMonitor V1.2.0版本工具保持最新呢?
    發表于 12-07 07:23

    如何在STM32CubeMonitor中查看/顯示變量表呢

    如何在 STM32CubeMonitor 中查看/顯示變量表,就像在 STM Studio 中一樣?
    發表于 12-07 07:35

    STM32CubeMonitor如何獲取 *.out 文件?

    當我使用 STM32CubeMonitor 時,我無法理解添加一些值。stm32工程調試時沒有創建*.out文件?如何獲取此文件或知道值的起始地址?
    發表于 01-10 08:21

    如何更改STM32CubeMonitor中圖形的位置?

    如何更改STM32CubeMonitor中圖形(如START按鈕、GAUGE面板)的位置?謝謝。
    發表于 01-16 07:55

    STM32CubeMonitor使用教程(持續更新)

    使用教程大綱STM32CubeMonitor介紹背景功能及特點下載安裝功能1:變量監控先有一個stm32的工程STM32CubeMonitor配置配置myVariables添加可執行文
    發表于 12-27 18:41 ?21次下載
    <b class='flag-5'>STM32CubeMonitor</b>使用教程(持續更新)

    STM32CubeProgrammer和STM32CubeMonitor的新功能

    ST 近期推出新版本的 STM32CubeProgrammer、STM32CubeMonitorSTM32CubeMonitor-RF 和 STM32CubeMonitor-UCPD
    的頭像 發表于 03-25 11:29 ?4541次閱讀

    STM32CubeMonitor 發布 v1.3.0

    STM32CubeMonitor 發布 v1.3.0
    發表于 11-23 08:24 ?0次下載
    <b class='flag-5'>STM32CubeMonitor</b> 發布 v1.3.0

    如何用STM32CubeMonitor圖形化顯示LoRa節點信息

    電子發燒友網站提供《如何用STM32CubeMonitor圖形化顯示LoRa節點信息.pdf》資料免費下載
    發表于 09-19 14:59 ?0次下載
    如何用<b class='flag-5'>STM32CubeMonitor</b>圖形化顯示LoRa節點信息

    通過STM32CubeMonitor,實現對MCU數據監控

    STM32CubeMonitor 系列工具通過實時讀取和可視化變量,幫助在運行時微調和診斷 STM32 應用程序。除了專用版本(電源、射頻、USB-PD)之外,多功能
    的頭像 發表于 01-27 08:00 ?278次閱讀
    通過<b class='flag-5'>STM32CubeMonitor</b>,實現對MCU數據監控
    主站蜘蛛池模板: 国产天美| 国产精品一级毛片不收费 | 免费国产网站 | 国产一区二区三区夜色 | 天天操综 | 国产午夜精品片一区二区三区 | 在线免费你懂的 | 两性色午夜视频免费老司机 | 亚洲 欧美 校园 | 久久综合五月开心婷婷深深爱 | 日本sese| 欧洲freexxxx性| 天天操天天玩 | 视频在线观看网站免费 | 欧美极品另类xxx | 亚洲国产美女精品久久 | 亚洲三级免费观看 | 天天视频官网天天视频在线 | 国产一区二卡三区四区 | 亚洲精品自拍区在线观看 | 插插插叉叉叉 | 国产精品成人四虎免费视频 | 香蕉久久精品 | 男女无遮挡一进一出性视频 | 日韩精品亚洲一级在线观看 | 国产精品亚洲色图 | 国产美女在线观看 | 四虎永久在线精品 | 四虎免费影院4hu永久免费 | 国产免费啪啪 | 狠狠色噜噜狠狠狠狠97老肥女 | 色婷婷丁香 | www.91在线播放| 97se狠狠狠狠狼亚洲综合网 | 亚洲色图在线视频 | 嫩草影院www| 你懂得的在线观看免费视频 | 色妞色综合久久夜夜 | 国产资源在线播放 | 久久影院午夜伦手机不四虎卡 | 四虎在线永久视频观看 |