精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

Tracealyzer跟蹤記錄庫移植

麥克泰技術 ? 來源:麥克泰技術 ? 作者:麥克泰技術 ? 2022-11-08 11:17 ? 次閱讀

Percepio Tracealyzer是一個強大的工具,可以在運行時跟蹤和可視化分析RTOS系統。超過30種視圖,對系統的實時行為提供了驚人洞察力,加速了應用的調試、驗證和系統性能優化的過程。使用Tracealyzer,可以查看到系統的真實運行情況,為開發人員節省排除錯誤的時間。

Tracealyzer由PC應用程序和跟蹤組件組成,Percepio提供了跟蹤記錄庫(Trace Recorder library),支持多個RTOS,未來還計劃支持裸機系統。

2deae636-5f13-11ed-8abf-dac502259ad0.jpg

移植跟蹤記錄庫

使用Tracealyzer,首先要將跟蹤記錄庫集成到工程。安裝了Tracealyzer 4之后,在安裝路徑下找到以RTOS名稱命名的文件夾,將TraceRecorder子文件夾復制到自己的工程目錄中。以FreeRTOS為例:

2e089398-5f13-11ed-8abf-dac502259ad0.jpg

1、將trcKernelPort.c、

trcSnapshotRecorder.c和trcStreamingRecorder.c,3個主要源碼文件添加到工程中。

2e2bf2a2-5f13-11ed-8abf-dac502259ad0.jpg

2、將3個配置文件也添加到工程中,方便隨時修改跟蹤記錄庫的配置。建議每個工程分別使用一組配置文件,將trcConfig.h、trcSnapshotConfig.h和trcStreamingConfig.h復制到獨立的工程目錄下即可。

2e471c58-5f13-11ed-8abf-dac502259ad0.jpg

3、將TraceRecorderinclude目錄添加到頭文件路徑中。

2e68351e-5f13-11ed-8abf-dac502259ad0.jpg

4、修改配置文件trcConfig.h,刪除#error "Trace Recorder: Please include your processor's header file here and remove this line.",并#include處理器頭文件。本次以STM32F769為例:添加 #include "stm32f7xx.h"

5、將硬件移植配置為Tracealyzer針對Cortex-M提供的實現。其他架構的處理器,如果沒有現存的移植,需要用戶自行提供一個硬件定時器來產生時間戳。

#define TRC_CFG_HARDWARE_PORTTRC_HARDWARE_PORT_ARM_Cortex_M

6、將跟蹤模式設置為快照模式(Snapshot):

#define TRC_CFG_RECORDER_MODETRC_RECORDER_MODE_SNAPSHOT

快照模式是將跟蹤到是事件緩存到芯片RAM當中,然后通過工具的支持將事件緩存讀取到PC上并保存為文件,由Tracealyzer進行顯示和分析。

Note:除了快照模式,Tracealyzer還支持流模式(Streaming),實時的將跟蹤到的事件通過 (JTAG/SWD)、串口等接口傳輸到PC端進行顯示和分析。本文只使用快照模式。

7、設置所使用的FreeRTOS的版本,這里使用的是FreeRTOS v10版本。

#define TRC_CFG_FREERTOS_VERSIONTRC_FREERTOS_VERSION_10_0_0

8、修改trcSnapshotConfig.h,設置快照的模式,當事件緩存滿了之后停止跟蹤。#defineTRC_CFG_SNAPSHOT_MODE

TRC_SNAPSHOT_MODE_STOP_WHEN_FULL

9、設置事件緩存的大小,單位是字,根據芯片空余的RAM大小酌情設置。

#define TRC_CFG_EVENT_BUFFER_SIZE 10000

10、在FreeRTOSConfig.h配置文件中使能跟蹤功能:

#define configUSE_TRACE_FACILITY 1

并且在文件尾部添加包含trcRecorder.h頭文件:

#ifdef __ICCARM__

#if ( configUSE_TRACE_FACILITY == 1 )

#include "trcRecorder.h"

#endif

#endif

11、在main函數中調用vTraceEnable(TRC_START)初始化并使能跟蹤,調用的位置須在硬件完成初始化之后,第一個內核對象創建之前。

2eb52a5e-5f13-11ed-8abf-dac502259ad0.jpg

使用Tracealyzer可視化分析

構建工程,將程序下載到目標板中運行一段時間。然后打開Tracealyzer,通過J-link的支持將事件緩存讀取出來。

1、從File->Settings打開設置窗口,在J-Link Settings中設置所使用的調試接口和芯片型號。

2f0dcaf6-5f13-11ed-8abf-dac502259ad0.jpg

2、從菜單欄 Trace->Open Snapshot Tool打開Take Snapshot窗口,按“Memory Region”設置芯片的RAM起始地址和大小,然后按“Read Snapshot”即可將事件緩存讀取到PC端,然后進行顯示和分析。

2f32f89e-5f13-11ed-8abf-dac502259ad0.jpg

3、垂直時間軸視圖窗口和事件記錄窗口。

2f51ab68-5f13-11ed-8abf-dac502259ad0.jpg

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • RTOS
    +關注

    關注

    21

    文章

    809

    瀏覽量

    119433
  • 應用程序
    +關注

    關注

    37

    文章

    3243

    瀏覽量

    57600
  • 跟蹤
    +關注

    關注

    1

    文章

    38

    瀏覽量

    14295

原文標題:快速入門| Tracealyzer跟蹤記錄庫移植

文章出處:【微信號:麥克泰技術,微信公眾號:麥克泰技術】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    多維表格數據Teable的適用場景?

    Teable多維表格數據是一款功能強大的云端數據和協作工具,結合了電子表格的靈活性和數據的強大功能,適用企業內部項目管理 數據收集與整理 內容管理與創意協作 客戶關系管理 項目跟蹤
    的頭像 發表于 10-31 15:48 ?141次閱讀

    Percepio Tracealyzer 4.9版本改善Linux用戶體驗

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

    高抗噪性 電壓跟蹤

    電壓跟蹤
    jf_30741036
    發布于 :2024年09月29日 19:26:44

    從STM32移植QRCODE到ESP32,編譯報錯的原因?

    描述:從STM32移植QRCODE到ESP32,編譯報錯:警告被當做錯誤處理。 環境:1.windows7,編譯器是eclipse (QRCODE在KEIL上編譯和運行沒問題); 2.SDK
    發表于 06-20 07:31

    手把手帶你移植HAL庫函數

    在嵌入式系統開發中,硬件抽象層(HAL,HardwareAbstractionLayer)的使用可以極大地簡化開發過程,提高代碼的可移植性和維護性。本文將詳細介紹如何快速搞懂HAL移植
    的頭像 發表于 05-18 08:04 ?1679次閱讀
    手把手帶你<b class='flag-5'>移植</b>HAL庫函數

    Linux平臺移植音頻芯片實戰記錄

    本文詳細記錄在NXP I.MX6ULL+Linux平臺下進行WM8960音頻芯片移植的過程,其他平臺操作方法類似,希望為大家提供幫助。
    的頭像 發表于 05-17 14:28 ?1025次閱讀
    Linux平臺<b class='flag-5'>移植</b>音頻芯片實戰<b class='flag-5'>記錄</b>

    UGUI的移植到STM8L151C8上去跑,移植過程出現invalid narrow pointer cast的錯誤,為什么?

    最近下載了UGUI的,想移植到STM8L151C8上去跑。編譯器使用官方的STVD,移植過程出現invalid narrow pointer cast 的錯誤,官方手冊提示此錯誤意思是a cast
    發表于 04-10 07:49

    STM32F429的工程標準移植到HAL后中斷向量表異常的原因?

    STM32F429的工程標準移植到HAL后中斷向量表異常
    發表于 03-20 06:02

    移植標準CLASSB中的STM32F10x_SelfTestLib時報錯是什么原因導致的?

    軟件安全相關認證,在移植標準CLASSB中的STM32F10x_SelfTestLib時,報以下兩個錯誤,請問是什么原因導致的? 對應這兩句匯編語言:
    發表于 03-18 08:30

    移植libmodbus到米爾-全志T113-i開發板

    測試開發板在工業領域的應用,modbus作為工業領域的一個重要協議,那好就移植libmodbus
    的頭像 發表于 03-05 22:37 ?2298次閱讀
    <b class='flag-5'>移植</b>libmodbus<b class='flag-5'>庫</b>到米爾-全志T113-i開發板

    在TC275建立的hightec工程里面,怎么移植ILLD文件?

    在TC275建立的hightec工程里面,怎么移植ILLD文件,謝謝!
    發表于 01-25 06:38

    IZYTRONIQ測試軟件介紹——管理測試設備數據

    一款完整的用于管理和記錄測試過程的數據軟件IZYTRONIQ
    的頭像 發表于 01-11 11:11 ?383次閱讀
    IZYTRONIQ測試軟件介紹——管理測試設備數據<b class='flag-5'>庫</b>

    用Git命令解決常見場景記錄

    本文主要歸納一下git的學習記錄,在開發期間發現了git在sourcetree的處理不是很好,對于多選文件的丟棄這點不是很方便,所以做一個記錄,由于項目中有新建的文件,所以被識別為未跟蹤的文件,但我
    的頭像 發表于 12-20 09:44 ?429次閱讀
    用Git命令解決常見場景<b class='flag-5'>記錄</b>

    如何通過Tracealyzer實現Linux系統的跟蹤

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

    oracle數據alert日志作用

    Oracle數據的alert日志是數據引擎和實例的核心組件之一,它記錄著數據庫的運行狀況和事件。該日志對于數據的性能調優、問題排查和安全管理起著重要作用。本文將詳盡、詳實、細致地
    的頭像 發表于 12-06 10:08 ?1196次閱讀