神器STM32CubeMonitor如何監(jiān)測(cè)程序中的變量
關(guān)注、星標(biāo)公眾號(hào),不錯(cuò)過精彩內(nèi)容
素材來源:STM32
應(yīng)該有很多嵌入式小伙伴使用過 STMStudio 來實(shí)時(shí)監(jiān)測(cè)變量,與 STMStudio 相比,STM32CubeMonitor 除了同樣可以提供變量監(jiān)測(cè)的功能,還有非常豐富的組件用來搭建各種風(fēng)格的圖形化界面;其次,眾多免費(fèi)的第三方組件可以進(jìn)行靈活的功能擴(kuò)展;此外,STM32CubeMonitor 還支持遠(yuǎn)程監(jiān)測(cè)功能。
STMStudio和STM32CubeMonitor相關(guān)的使用方法,我之前都給大家整理過:
可能很多小伙伴對(duì)這個(gè)工具還是不熟悉,今天就再次給大家分享一下,讓大家進(jìn)一步了解最新推出的STM32CubeMonitor。
回顧 STM32Cube 系列大家族
STM32Cube 系列軟件開發(fā)工具是個(gè)大家族,提供了從MCU配置、代碼生成、編譯以及調(diào)試,到程序燒錄和監(jiān)測(cè)整個(gè)軟件開發(fā)流程需要的全部功能。它們各司其職,也有功能交疊,大家合力,共同給STM32開發(fā)者搭建了一個(gè)完整的開發(fā)平臺(tái)。
▲ STM32Cube 系列軟件開發(fā)工具大家族
其中,STM32CubeMX 提供圖形化的配置界面,幫助開發(fā)者快速創(chuàng)建一個(gè)新工程(支持 STM32CubeIDE, IAR, KEIL等IDE)。
STM32CubeIDE 基于Eclipse和GCC工具鏈,提供代碼編輯,編譯,調(diào)試功能。
STM32CubeProgrammer 是STM32程序燒錄工具,可以對(duì)片上flash及片外的存儲(chǔ)器進(jìn)行擦除和編程,支持ST-LINK調(diào)試接口以及 UART/USBDFU bootloader 接口。
還有圖形化功耗測(cè)量軟件 STM32CubeMonitor-Power, STM32WBFR 性能測(cè)試軟件 STM32CubeMonitor-RF 等。
▲ 新增 STM32CubeMonitor
最新問世的 STM32CubeMonitor 將成為工程師開發(fā)旅程中的另一個(gè)里程碑。STM32CubeMonitor 變量監(jiān)測(cè)及可視化工具,支持通過 ST-LINK 的SWD或者JTAG接口連接到目標(biāo)MCU,可以在程序全速運(yùn)行不被打斷的情況下,讀取需要檢測(cè)的變量值。非常適合那些需要在程序全速運(yùn)行下進(jìn)行調(diào)試的情況,是對(duì)傳統(tǒng)的通過設(shè)置斷點(diǎn)進(jìn)行調(diào)試的方式的補(bǔ)充。除了變量檢測(cè)以外,STM32CubeMonitor 還可以作為PC端開發(fā)物聯(lián)網(wǎng)應(yīng)用程序的工具,簡(jiǎn)化開發(fā)過程。
豐富的圖形化界面
▲ STM32CubeMonitor 關(guān)鍵特性
STM32CubeMonitor可以通過非侵入式的方式(Direct模式)檢測(cè)程序變量,對(duì)采集的數(shù)據(jù)實(shí)時(shí)分析,協(xié)助程序診斷。除了Direct模式以外,Snapshot模式下通過往應(yīng)用程序添加特定采樣代碼,可以提供更精確的采樣。變量可以根據(jù)可執(zhí)行文件導(dǎo)入,也可以直接根據(jù)變量地址進(jìn)行手動(dòng)添加,還可以對(duì)采集的變量進(jìn)行各種后處理運(yùn)算,設(shè)置采樣觸發(fā)條件等。
STM32CubeMonitor 基于 NODE-RED 開發(fā),有豐富的圖形開發(fā)組件,可以開發(fā)出靈活多變的可視化圖形界面。在軟件的圖形流編輯器中,用戶只要用鼠標(biāo)不同的節(jié)點(diǎn)并進(jìn)行配置,即可創(chuàng)建自定義的儀表板,快速添加儀表、柱狀圖、點(diǎn)線圖等小工具也無需編程。
兩種工作模式
STM32CubeMonitor有兩種工作模式:設(shè)計(jì)模式和 Dashboard 模式。
▲ STM32CubeMonitor 工作模式
設(shè)計(jì)模式即是編輯模式,可以為特定應(yīng)用創(chuàng)建編輯新的監(jiān)視用戶界面。打開STM32CubeMonitor默認(rèn)就是處在這個(gè)模式。設(shè)計(jì)模式下,可以通過拖拽不同的節(jié)點(diǎn)來創(chuàng)建或者編輯不同的邏輯數(shù)據(jù)流(Flow),來實(shí)現(xiàn)想要的功能。比如將要檢測(cè)的變量通過點(diǎn)線圖進(jìn)行實(shí)時(shí)顯示,或者通過一個(gè)按鈕來控制某個(gè)GPIO口的狀態(tài)等。設(shè)計(jì)模式下可以看到當(dāng)前選中節(jié)點(diǎn)的使用說明和程序運(yùn)行的調(diào)試信息等內(nèi)容。
待所有的節(jié)點(diǎn)都編輯完成并部署運(yùn)行后,可通過DASHBOARD按鈕進(jìn)入Dashboard模式。在Dashboard模式下,可以看到在設(shè)計(jì)模式下編輯的“流”運(yùn)行的結(jié)果,看到之前設(shè)計(jì)的界面,通過這個(gè)界面去檢測(cè)或者控制變量的值,實(shí)現(xiàn)生動(dòng)的數(shù)據(jù)演示和現(xiàn)場(chǎng)測(cè)試。
靈活的可擴(kuò)展功能
NODE-RED 作為一個(gè)開源的可視化界面開發(fā)工具,有一個(gè)活躍的開發(fā)者社區(qū),里面有眾多開發(fā)者開發(fā)的各種功能的新節(jié)點(diǎn),STMCubeMonitor 支持導(dǎo)入這些第三方的節(jié)點(diǎn)來不斷擴(kuò)展功能。
▲ STM32CubeMonitor 開放社區(qū)
借助 Node-RED 和ST社區(qū),開發(fā)者可以相互分享和學(xué)習(xí)開發(fā)經(jīng)驗(yàn)。Node-RED 接口非常廣泛,可以輕松利用通用的網(wǎng)絡(luò)協(xié)議。由于有了通過電子郵件發(fā)送警報(bào)的模塊或使用MQTT模塊將數(shù)據(jù)推送到云平臺(tái),開發(fā)人員可以做的比傳統(tǒng)監(jiān)視更多。例如,可以通過運(yùn)行在PC上的 STM32CubeMonitor 將STM32開發(fā)板采集的數(shù)據(jù)上傳到云端,或者實(shí)現(xiàn)發(fā)送報(bào)警信息到郵件等物聯(lián)網(wǎng)應(yīng)用。
隨時(shí)隨地遠(yuǎn)程監(jiān)測(cè)
由于 STM32CubeMonitor 提供基于網(wǎng)頁的編程環(huán)境,因此可以在任何電腦或移動(dòng)設(shè)備的瀏覽器上打開STM32CubeMonitor。
▲ 通過 STM32CubeMonitor 進(jìn)行遠(yuǎn)程監(jiān)測(cè)
將STM32開發(fā)板通過ST-LINK連接到本地電腦,STM32CubeMonitor 可以在本地電腦(Host PC)上運(yùn)行,同時(shí)也可以在其他的電腦,平板或手機(jī)上通過瀏覽器訪問 host PC 的IP地址(端口號(hào)1880)打開 STM32CubeMonitor 的界面,進(jìn)行編輯或者查看 Dashboard (需要在同一個(gè)局域網(wǎng))。
更多相關(guān)內(nèi)容,請(qǐng)參看官方信息:
https://www.st.com/en/development-tools/stm32cubemonitor.html
長(zhǎng)按前往圖中包含的公眾號(hào)關(guān)注
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場(chǎng),如有問題,請(qǐng)聯(lián)系我們,謝謝!