隨著嵌入式系統規模和復雜度不斷提升,傳統的調試手段已難以滿足對系統運行狀態的精細化分析需求。為提升開發效率、優化系統性能,RT-Thread 推出了一款全新調試工具 ——RT-Trace。該工具基于SWO 技術實現對操作系統運行狀態的實時跟蹤,無需安裝額外軟件,即可通過 Web 頁面直觀查看線程切換、中斷響應等關鍵信息,極大降低了調試門檻。
本文將以實際開發板為基礎,展示 RT-Trace 的Trace 功能在調試Cortex-M4 平臺中的應用效果,包括配置流程、可視化分析、時間測量等操作體驗,幫助開發者更全面地了解該工具在項目開發中的應用價值。

1.
進入RT-Trace配置頁面
在板子的右下角是有Trace的IP地址,我們在瀏覽器中輸入該地址進入配置頁面。
擺在第一行的就是Trace功能的介紹。可以看到有如下特點:
基于SWO 的 RT-Thread OS 跟蹤 (Trace) 功能,無需額外安裝軟件,捕獲線程關系。
免安裝的 Web UI,直接在瀏覽器中實時顯示線程間的調用關系。
以高速 SWO Trace 為基礎,后續升級固件支持持久化線程運行記錄,統計各線程用量與 CPU 隨時間的工作負載。
后續升級支持 TPIU Trace 接口,可以觀察到更多內部信息。
從介紹捕獲線程功能來看,RT-Trace應該是定位一款專用工具,因為不同RTOS的線程控制塊是不一樣的,需要人力物力去適配。
2.
Trace 配置
點擊左側的Trace Config選項進入配置頁面。
本次調試的板子是Cortex-M4內核的STM32F407,使用的是RT-Thread的星火一號開發板。板子鏈接至星火一號開發板預留的Trace接口。
進入頁面后,首先配置選擇JTAG,Cortex(RISC-V的芯片選擇RISC-V),頻率默認,然后點擊提交即可,此時在右上角可以顯示芯片的ID,顯示正確則表示連接成功。
然后依次點擊下述兩個自動探測選項,探測線程的地址與MCU主頻(這里比較好奇線程地址是怎么探測出來的,是否有大佬解答一二),然后swo的頻率可以調高一些,這里配置為21,最后點擊提交配置就可以啦。下面是配置完成的頁面。
然后點擊左側的Trace Viewer選項進入Trace頁面。
3.
Trace Viewer
進入Trace Viewer頁面如下。
點擊左上角的Start選項進行Trace,適當時間后點擊stop選項,完成Trace,點擊左側的perfett0-trace選項出現下述頁面。
接下來將探測出的波形圖局部放大進行觀察。
局部放大后可以直觀的看到各個線程與中斷的運行情況,看來這個對調試RT-Thread項目是個不錯的選擇。有時候我們期望看一下某個線程的執行時間,比如這里看一下shell線程的執行時間,點擊左鍵選擇shell線程的起始位置,便可以看到shell線程當前一次執行的時間為10us,這個功能很不錯呀。
我們知道在cortex-m系列的MCU,RTOS的切換大多由pendsv中斷實現,,那么框選下述部分我們便可以看到當前一個線程切換到另一個不同的線程的時間。下圖當前運行過程從shell線程到idle線程用時5.3us。
當然想看一下某個中斷到線程的切換時間也是同樣的道理。比如下述從pendsv中斷到idle線程用時1.5us。
這期體驗就到這里啦,最后總結一下使用感受吧。
4.
體驗總結
優點:
直觀的將系統的線程運行狀態展示出來便于調試以及對項目線程的優化
原生支持RT-Thread無需其他額外適配工作,探測功能很方便
時間測量功能很方便,可以知道線程到線程,線程到中斷,線程的執行時間,中斷服務函數的執行時間等等,方便優化自己的項目
缺點:
當前主要支持ARM系列的芯片,相對使用其他架構的RT-Thread的項目就有點可惜,未來會支持?
是否可以加一個一鍵出報告的功能,不需要用戶一個一個去點去測量,針對一些RTOS的指標可以一鍵輸出?
-
嵌入式系統
+關注
關注
41文章
3676瀏覽量
131254 -
操作系統
+關注
關注
37文章
7135瀏覽量
125425 -
開發板
+關注
關注
25文章
5650瀏覽量
104063
發布評論請先 登錄

IAR EWARM的SWO Trace調試功能
使用IAR ETM Trace調試功能的要求
Cortex-M4處理器教程之Cortex-M4培訓課件免費下載

Cortex-M4內核處理器的技術參考手冊

trace32 for rt-thread support的基本使用及系統插件原理
J-Link和J-Trace用戶指南免費下載

IAR下使用J_Trace進行指令跟蹤

ARM Cortex-M4內核MCU

詳解CoreSight技術中的調試和跟蹤功能
Trace功能的添加、組態及測試
如何在i.MX RT11xx系列上使能ETM Trace
重磅預售!RT-Trace調試工具

評論