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

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

3天內(nèi)不再提示

使用Percepio的Tracealyzer和DevAlert實現(xiàn)FreeRTOS的可觀察性

麥克泰技術(shù) ? 來源:麥克泰技術(shù) ? 2023-05-16 14:17 ? 次閱讀

Percepio是著名的Tracealyzer背后的公司。Tracealyzer是一款桌面應(yīng)用程序,方便嵌入式工程師通過追蹤直觀地診斷軟件中的問題。什么是追蹤?追蹤是一種低級日志記錄機制,可用于在執(zhí)行過程中解釋系統(tǒng)狀態(tài)。在對意外行為進行故障排除時,使用FreeRTOS分析基于微控制器的應(yīng)用程序的追蹤可以節(jié)省嵌入式工程師大量時間和精力。如需將此工具與FreeRTOS應(yīng)用程序一起使用,需要簡單集成TraceRecorder庫以捕獲追蹤。在程序執(zhí)行過程中,追蹤可以快照形式記錄并予以保存,或?qū)崟r流式傳輸。

加載追蹤后,Tracealyzer可以提供具有可配置視圖的執(zhí)行詳細信息,例如程序時間線、事件日志、CPU負載圖、內(nèi)存使用情況、任務(wù)依賴關(guān)系和許多其他有用的可視化結(jié)果。這些功能有助于實現(xiàn)可觀察性。您可以在FreeRTOS應(yīng)用程序的深層追蹤任務(wù)以及內(nèi)核API調(diào)用。下圖是在筆記本電腦上運行的 Tracealyzer的快照,其中加載了示例FreeRTOS追蹤請注意追蹤視圖面板中的FreeRTOS API調(diào)用,例如xQueueSend()和xQueueReceive()。除了代碼調(diào)試之外,您還可以看到與追蹤序列相關(guān)的CPU負載圖。

15e0a502-f3a2-11ed-90ce-dac502259ad0.jpg

已加載示例FreeRTOS追蹤的Tracealyzer

Tracealyzer可用于嵌入式應(yīng)用程序的開發(fā)和測試或?qū)ΜF(xiàn)場遇到的問題進行分類。如需詳細了解如何使用該工具,請訪問Percepio網(wǎng)站上適用于 FreeRTOS的Tracealyzer。此外,請按照實用入門指南,使用FreeRTOS應(yīng)用程序設(shè)置TraceRecorder庫。

除了Tracealyzer之外,Percepio還提供另外一款基于云的產(chǎn)品 DevAlert。DevAlert與Tracealyzer相得益彰,具有許多適用于生產(chǎn)用例的功能。從可觀察性的不同角度來看,DevAlert服務(wù)可以配置為通過云連接從遠程設(shè)備群中捕獲特定診斷。更重要的是,您可以定義有意義的特定數(shù)據(jù)元素以及要發(fā)出的警報類型。此外,設(shè)備固件和診斷數(shù)據(jù)都不需要直接發(fā)送到 DevAlert服務(wù),而是存儲在您自己的云帳戶(例如AWS S3)中。

使用分離存儲可解決隱私和安全問題,因為此數(shù)據(jù)保留在設(shè)備制造商的帳戶中,不會上傳到Percepio服務(wù)。單擊即可訪問診斷數(shù)據(jù),這得益于桌面客戶端DevAlertDispatcher所采用的混合設(shè)計。觸發(fā)DevAlert儀表板鏈接時,該客戶端會從單獨的存儲中下載請求的數(shù)據(jù)。DevAlert服務(wù)的架構(gòu)圖如下圖所示,顯示了這種分離的存儲范例。

161f5f0e-f3a2-11ed-90ce-dac502259ad0.png

DevAlert 架構(gòu)

得益于這種架構(gòu),可使用相關(guān)桌面工具實現(xiàn)多種類型的調(diào)試數(shù)據(jù)。您可以獲得Tracealyzer追蹤,查看導致檢測到異常的事件序列。此外,最近還新增了對GDB故障轉(zhuǎn)儲的支持,如下列屏幕截圖所示。

164284de-f3a2-11ed-90ce-dac502259ad0.png

GDB 故障轉(zhuǎn)儲屏幕截圖

您可以使用常規(guī)源代碼調(diào)試器更詳細地分析崩潰和其他異常,就像調(diào)試本地設(shè)備一樣。如果您有更具體的需求,也可以添加自己的診斷負載、查看器工具和腳本。

要想深入了解DevAlert功能,最簡單方法是啟動沙盒環(huán)境,Percepio 提供免費試用版。沙盒包括一個在QEMU仿真器中運行的FreeRTOS示例應(yīng)用程序,作為連接到DevAlert的虛擬設(shè)備。

首先,注冊并登錄DevAlert,然后在控制臺中點按“激活服務(wù)”。只需簡單幾步,即可在瀏覽器中訪問顯示模擬電梯項目的虛擬桌面。示例中的電梯控制器是運行FreeRTOS應(yīng)用程序的虛擬設(shè)備,已配置為生成不同類型的警報。如需了解控制器在任何給定時間發(fā)生的情況,請參閱電梯動畫。

167ff846-f3a2-11ed-90ce-dac502259ad0.jpg

模擬電梯項目

您可以瀏覽源代碼,查看如何根據(jù)正在運行的FreeRTOS應(yīng)用程序中遇到的事件類型配置警報。我們提供了一組場景引發(fā)已知問題來演示警報的作用。執(zhí)行場景后,返回DevAlert控制臺并單擊儀表板。此時您可以看到問題概述,其中警報已按唯一性分組。警報發(fā)送到服務(wù)時,儀表板將更新。

169994ea-f3a2-11ed-90ce-dac502259ad0.png

DevAlert 控制臺

從儀表板的“打開”按鈕可以看出,如果想通過設(shè)備更深入地了解追蹤本身,甚至可以通過DevAlert啟動Tracelyzer。通過這種方式,這兩種工具相輔相成,為FreeRTOS 應(yīng)用程序帶來全面的可觀察性。適用于FreeRTOS的Tracealyzer和DevAlert 還有很多值得探索之處,因此 請按照上述鏈接內(nèi)容開始使用自己的嵌入式應(yīng)用程序。快來開啟快樂追蹤之旅吧!

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 微控制器
    +關(guān)注

    關(guān)注

    48

    文章

    7336

    瀏覽量

    150136
  • 嵌入式
    +關(guān)注

    關(guān)注

    5046

    文章

    18821

    瀏覽量

    298631
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10702

    瀏覽量

    209422
  • 內(nèi)存
    +關(guān)注

    關(guān)注

    8

    文章

    2903

    瀏覽量

    73547
  • FreeRTOS
    +關(guān)注

    關(guān)注

    12

    文章

    483

    瀏覽量

    61730

原文標題:使用Percepio的Tracealyzer和DevAlert實現(xiàn)FreeRTOS的可觀察性!

文章出處:【微信號:麥克泰技術(shù),微信公眾號:麥克泰技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    如何通過Tracealyzer實現(xiàn)Linux系統(tǒng)的跟蹤?

    TracealyzerPercepio 公司開發(fā)的一款可視化跟蹤工具, 目前它提供了30多種相互關(guān)聯(lián)的運行時行為視圖,支持裸機、FreeRTOS、μC/OS-III、Zephyr、ThreadX、VxWorks、Linux系統(tǒng)
    的頭像 發(fā)表于 12-08 14:08 ?1098次閱讀
    如何通過<b class='flag-5'>Tracealyzer</b><b class='flag-5'>實現(xiàn)</b>Linux系統(tǒng)的跟蹤?

    Tracealyzer 技術(shù)分享

    FreeRTOS越來越顯示其應(yīng)用的強大。因此本文對于開發(fā)嵌入式操作的工程師有一定的幫助。帖子我會采用一點一點不定期的更新,畢竟我也是上班一族請大家見諒。以下是Tracealyzer 軟件界面
    發(fā)表于 01-04 21:10

    教你快遞入門-Tracealyzer跟蹤記錄庫移植

    。使用Tracealyzer,可以查看到系統(tǒng)的真實運行情況,為開發(fā)人員節(jié)省排除錯誤的時間。Tracealyzer由PC應(yīng)用程序和跟蹤組件組成,Percepio提供了跟蹤記錄庫(Trace Recorder
    發(fā)表于 07-31 14:08

    通過Tracealyzer用戶事件來了解應(yīng)用程序

    的時間或監(jiān)視應(yīng)用程序中的狀態(tài)機的行為,該怎么辦呢?本文研究如何在FreeRTOS記錄這樣的自定義信息,并使用Tracealyzer查看。注意,這里假定已經(jīng)在FreeRTOS中完成
    發(fā)表于 08-20 10:11

    使用Tracealyzer跟蹤FreeRTOS內(nèi)核

    程序,還需要可用于周期任務(wù)的定時機制。大多數(shù)現(xiàn)有的開源 RTOS 實現(xiàn)了基于樹或列表的機制來跟蹤哪個任務(wù)已就緒。我們知道,基于樹的機制在復雜搜索操作方面是高效和極時的,但在處理刪除和插入操作上需花費
    發(fā)表于 12-01 14:57

    如何使用Tracealyzer流模式跟蹤ThreadX?

    TracealyzerPercepio 公司開發(fā)的一款用于RTOS的嵌入式軟件系統(tǒng)的可視化跟蹤工具,提供了30多種相互關(guān)聯(lián)的可視化運行時行為視圖,本文將介紹如何使用Tracealyzer的流模式來
    發(fā)表于 09-23 13:25

    使用PercepioTracealyzerDevAlert實現(xiàn)FreeRTOS可觀察!

    ,Percepio還提供另外一款基于云的產(chǎn)品 DevAlertDevAlertTracealyzer相得益彰,具有許多適用于生產(chǎn)用例的功能。從
    發(fā)表于 05-18 13:41

    嵌入式實時操作系統(tǒng)Percepio新版本有什么改動

    Percepio趕在寒假之前發(fā)布了Tracealyzer 4.2.9,新版本有了一些改進,并對發(fā)現(xiàn)的bug進行了修復。
    的頭像 發(fā)表于 01-13 10:22 ?3525次閱讀
    嵌入式實時操作系統(tǒng)<b class='flag-5'>Percepio</b>新版本有什么改動

    提高CI/CD系統(tǒng)可觀察的四種技術(shù)

    可觀察是DevOps團隊的重要組成部分,它可以幫助組織從系統(tǒng)的輸出信息,推斷系統(tǒng)內(nèi)部狀態(tài)。它是一個持續(xù)的過程,從你的CI/CD流水線開始,并貫穿于應(yīng)用程序的整個生命周期。 可觀察的CI/CD流水線
    的頭像 發(fā)表于 08-17 09:31 ?7039次閱讀

    詳解虹科數(shù)據(jù)可觀察解決方案

    這個解決方案包括三個產(chǎn)品:Pulse、Torch、Flow。Pulse 用于監(jiān)控實時計算性能和基礎(chǔ)設(shè)施使用情況,而 Torch和Flow 通過幫助可視化數(shù)據(jù)管道來提供數(shù)據(jù)可靠和質(zhì)量。我們的產(chǎn)品了提供數(shù)據(jù)可觀察的企業(yè)解決方案。
    的頭像 發(fā)表于 03-18 10:52 ?1474次閱讀

    如何使用Tracealyzer的流模式來跟蹤ThreadX應(yīng)用

    TracealyzerPercepio 公司開發(fā)的一款用于RTOS的嵌入式軟件系統(tǒng)的可視化跟蹤工具,提供了30多種相互關(guān)聯(lián)的可視化運行時行為視圖,本文將介紹如何使用Tracealyzer的流模式來跟蹤ThreadX應(yīng)用。
    的頭像 發(fā)表于 09-16 11:14 ?1279次閱讀

    Tracealyzer跟蹤記錄庫移植

    使用Tracealyzer,首先要將跟蹤記錄庫集成到工程。安裝了Tracealyzer 4之后,在安裝路徑下找到以RTOS名稱命名的文件夾,將TraceRecorder子文件夾復制到自己的工程目錄中。以FreeRTOS為例:
    的頭像 發(fā)表于 11-08 11:17 ?1605次閱讀

    Xilinx Zynq上FreeRTOSTracealyzer

    電子發(fā)燒友網(wǎng)站提供《Xilinx Zynq上FreeRTOSTracealyzer.zip》資料免費下載
    發(fā)表于 12-07 14:59 ?5次下載
    Xilinx Zynq上<b class='flag-5'>FreeRTOS</b>的<b class='flag-5'>Tracealyzer</b>

    如何通過Tracealyzer導出的跟蹤數(shù)據(jù)對任務(wù)進行分析?

    TracealyzerPercepio 公司開發(fā)的一款用于RTOS的可視化跟蹤工具, 目前Tracealyzer提供了30多種相互關(guān)聯(lián)的運行時行為視圖,對系統(tǒng)運行時的行為提供了前所未有的洞察方法。能夠幫助開發(fā)人員加快固件的開發(fā)
    的頭像 發(fā)表于 02-06 14:13 ?979次閱讀

    如何實現(xiàn)RTOS、中間件和芯片廠商API的跟蹤可觀察

    新的Percepio Tracealyzer?SDK為RTOS、中間件和芯片廠商API提供可擴展性,使應(yīng)用程序和平臺開發(fā)人員能夠構(gòu)建自定義擴展,實現(xiàn)C/ C++應(yīng)用程序的完整跟蹤可觀察
    的頭像 發(fā)表于 10-20 15:29 ?524次閱讀
    如何<b class='flag-5'>實現(xiàn)</b>RTOS、中間件和芯片廠商API的跟蹤<b class='flag-5'>可觀察</b><b class='flag-5'>性</b>?