一個典型的開發人員平均花費大約 40% 的時間來調試軟件。隨著嵌入式開發人員努力應對系統復雜性并試圖了解各種軟件組件在其系統中的交互方式,這可能會導致成本和上市時間增加。這里介紹幾種工具,它們不僅有助于了解軟件,還有助于降低成本和上市時間,讓我們來看看其中的幾個工具:
工具 #1 — 啟用跟蹤的調試器
無論是 ARM Keil ULINKplus 還是 j-Trace,這些工具都為開發人員提供了訪問流跟蹤功能和嵌入式目標內存的能力。這些高端調試器可以連接到幾種不同的可視化工具,這些工具可以讓開發人員深入了解他們的系統是如何運行的。雖然使用這些可視化工具可能并不總是需要高端工具,但它們的次要功能(例如無限斷點、備用 GPIO 引腳,甚至能量監控)可能是必不可少的。
工具 #2 – Micrium μC 探針
Micrium 的 μC Probe 可用于嵌入式應用程序中變量和數據的實時可視化。開發人員能夠自定義構建最適合他們需要的用戶界面,以監控系統的運行情況。μC Probe 幾乎可以在調試器能夠同時訪問微控制器內存的任何嵌入式系統上使用。如果開發人員使用 J-Link 或 j-Trace,此功能使該工具能夠以非侵入方式讀取內存,幾乎沒有開銷。
工具 #3 – Percepio Tracealyzer
使用 Percepio Tracealyzer 可以跟蹤嵌入式應用程序并可視化它的行為方式。Tracealyzer 可以集成到基于 RTOS 的應用程序中,以記錄應用程序中發生的事件,例如任務上下文切換、中斷、互斥鎖和解鎖,以及發生的許多其他事件。這些事件可以在代碼中圍繞特定問題區域以單次方式記錄,也可以實時流式傳輸并查看到主機。跟蹤記錄后,嵌入式開發人員可以使用 30 多個視圖來查看程序執行、任務和事件時間、通信流以及應用程序的許多其他方面。
工具 #4 – SEGGER 系統視圖
SEGGER System View 是另一個跟蹤可視化工具,可用于查看應用程序在做什么。System View 記錄 RTOS 事件并顯示一些有用的信息,例如任務時序、任務執行可視化和 CPU 負載。該工具僅包含四個視圖,但仍足以獲取有關應用程序行為方式的有用信息,這對于免費工具來說非常有用。
工具 #5 – SEGGER Ozone
對于有興趣確保他們的測試用例在其代碼庫中獲得 100% 覆蓋率的嵌入式軟件開發人員來說,指令跟蹤可能是一個重要的工具。開發人員可以與 J-Trace 結合使用的免費工具是 SEGGERs Ozone。Ozone 讓開發人員可以看到他們的代碼覆蓋率有多好,同時讓他們監控函數執行并查看代碼中已執行的每條指令。開發人員可以使用此工具從他們的應用程序中收集到許多細節。
結論
如果你看不到系統在做什么,則很難調試和驗證軟件。如果你能看到正在發生的事情,嵌入式開發人員可以更快地找到解決方案,最終節省時間和金錢。