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

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

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

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

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

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

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

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

已加載示例FreeRTOS追蹤的Tracealyzer

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

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

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

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

DevAlert 架構(gòu)

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

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

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

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

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

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

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

模擬電梯項(xiàng)目

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

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

DevAlert 控制臺(tái)

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

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

    關(guān)注

    48

    文章

    7596

    瀏覽量

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

    關(guān)注

    5088

    文章

    19158

    瀏覽量

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

    關(guān)注

    68

    文章

    10890

    瀏覽量

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

    關(guān)注

    8

    文章

    3042

    瀏覽量

    74179
  • FreeRTOS
    +關(guān)注

    關(guān)注

    12

    文章

    484

    瀏覽量

    62277

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

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

    Tracealyzer 技術(shù)分享

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Tracealyzer跟蹤記錄庫移植

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

    Xilinx Zynq上FreeRTOSTracealyzer

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

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

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

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

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

    Percepio Tracealyzer 4.9版本改善Linux用戶體驗(yàn)

    嵌入式邊緣系統(tǒng)工具解決方案的領(lǐng)先供應(yīng)商Percepio AB宣布提供Tracealyzer4.9版本——這是其嵌入式軟件旗艦可觀察工具的最新更新。
    的頭像 發(fā)表于 10-22 14:08 ?367次閱讀