Percepio是著名的Tracealyzer背后的公司。Tracealyzer是一款桌面應用程序,方便嵌入式工程師通過追蹤直觀地診斷軟件中的問題。什么是追蹤?追蹤是一種低級日志記錄機制,可用于在執行過程中解釋系統狀態。在對意外行為進行故障排除時,使用FreeRTOS分析基于微控制器的應用程序的追蹤可以節省嵌入式工程師大量時間和精力。如需將此工具與FreeRTOS應用程序一起使用,需要簡單集成TraceRecorder庫以捕獲追蹤。在程序執行過程中,追蹤可以快照形式記錄并予以保存,或實時流式傳輸。
加載追蹤后,Tracealyzer可以提供具有可配置視圖的執行詳細信息,例如程序時間線、事件日志、CPU負載圖、內存使用情況、任務依賴關系和許多其他有用的可視化結果。這些功能有助于實現可觀察性。您可以在FreeRTOS應用程序的深層追蹤任務以及內核API調用。下圖是在筆記本電腦上運行的 Tracealyzer的快照,其中加載了示例FreeRTOS追蹤請注意追蹤視圖面板中的FreeRTOS API調用,例如xQueueSend()和xQueueReceive()。除了代碼調試之外,您還可以看到與追蹤序列相關的CPU負載圖。
已加載示例FreeRTOS追蹤的Tracealyzer
Tracealyzer可用于嵌入式應用程序的開發和測試或對現場遇到的問題進行分類。如需詳細了解如何使用該工具,請訪問Percepio網站上適用于 FreeRTOS的Tracealyzer。此外,請按照實用入門指南,使用FreeRTOS應用程序設置TraceRecorder庫。
除了Tracealyzer之外,Percepio還提供另外一款基于云的產品 DevAlert。DevAlert與Tracealyzer相得益彰,具有許多適用于生產用例的功能。從可觀察性的不同角度來看,DevAlert服務可以配置為通過云連接從遠程設備群中捕獲特定診斷。更重要的是,您可以定義有意義的特定數據元素以及要發出的警報類型。此外,設備固件和診斷數據都不需要直接發送到 DevAlert服務,而是存儲在您自己的云帳戶(例如AWS S3)中。
使用分離存儲可解決隱私和安全問題,因為此數據保留在設備制造商的帳戶中,不會上傳到Percepio服務。單擊即可訪問診斷數據,這得益于桌面客戶端DevAlertDispatcher所采用的混合設計。觸發DevAlert儀表板鏈接時,該客戶端會從單獨的存儲中下載請求的數據。DevAlert服務的架構圖如下圖所示,顯示了這種分離的存儲范例。
DevAlert 架構
得益于這種架構,可使用相關桌面工具實現多種類型的調試數據。您可以獲得Tracealyzer追蹤,查看導致檢測到異常的事件序列。此外,最近還新增了對GDB故障轉儲的支持,如下列屏幕截圖所示。
GDB 故障轉儲屏幕截圖
您可以使用常規源代碼調試器更詳細地分析崩潰和其他異常,就像調試本地設備一樣。如果您有更具體的需求,也可以添加自己的診斷負載、查看器工具和腳本。
要想深入了解DevAlert功能,最簡單方法是啟動沙盒環境,Percepio 提供免費試用版。沙盒包括一個在QEMU仿真器中運行的FreeRTOS示例應用程序,作為連接到DevAlert的虛擬設備。
首先,注冊并登錄DevAlert,然后在控制臺中點按“激活服務”。只需簡單幾步,即可在瀏覽器中訪問顯示模擬電梯項目的虛擬桌面。示例中的電梯控制器是運行FreeRTOS應用程序的虛擬設備,已配置為生成不同類型的警報。如需了解控制器在任何給定時間發生的情況,請參閱電梯動畫。
模擬電梯項目
您可以瀏覽源代碼,查看如何根據正在運行的FreeRTOS應用程序中遇到的事件類型配置警報。我們提供了一組場景引發已知問題來演示警報的作用。執行場景后,返回DevAlert控制臺并單擊儀表板。此時您可以看到問題概述,其中警報已按唯一性分組。警報發送到服務時,儀表板將更新。
DevAlert 控制臺
從儀表板的“打開”按鈕可以看出,如果想通過設備更深入地了解追蹤本身,甚至可以通過DevAlert啟動Tracelyzer。通過這種方式,這兩種工具相輔相成,為FreeRTOS 應用程序帶來全面的可觀察性。適用于FreeRTOS的Tracealyzer和DevAlert 還有很多值得探索之處,因此 請按照上述鏈接內容開始使用自己的嵌入式應用程序。快來開啟快樂追蹤之旅吧!
-
微控制器
+關注
關注
48文章
7565瀏覽量
151574 -
嵌入式
+關注
關注
5086文章
19141瀏覽量
305955 -
cpu
+關注
關注
68文章
10873瀏覽量
212090 -
內存
+關注
關注
8文章
3031瀏覽量
74119 -
FreeRTOS
+關注
關注
12文章
484瀏覽量
62223
原文標題:使用Percepio的Tracealyzer和DevAlert實現FreeRTOS的可觀察性!
文章出處:【微信號:麥克泰技術,微信公眾號:麥克泰技術】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論