相信調(diào)試過RTOS的朋友們一定都有一個感悟,和裸板開發(fā)相比,調(diào)試具有多個線程,同時線程間還有各種千絲萬縷的數(shù)據(jù)通信的代碼,是一個無比痛苦的事情。
請大家不要氣餒,Zephyr就專門針對這種調(diào)試困難,提供了一個叫做Trace的功能。所謂Trace功能是一個用于實時跟蹤和調(diào)試嵌入式系統(tǒng)的子系統(tǒng),它提供了強大的工具來監(jiān)控操作系統(tǒng)的運行狀態(tài)、線程調(diào)度以及內(nèi)核服務(wù)。
功能定義
Zephyr的Trace功能是一個調(diào)試跟蹤子系統(tǒng),可以將操作系統(tǒng)的線程調(diào)度、內(nèi)核服務(wù)等信息輸出至串口或?qū)S霉ぞ咧泄┱{(diào)試分析。
支持格式
Zephyr支持多種tracing格式輸出,包括Percepio Tracealyzer格式、Segger SystemView格式、Common Trace Format(CTF)格式等。這些格式對應(yīng)不同的分析工具,如Tracealyzer,SystemView等。
主要特點
實時性:Zephyr的Trace功能可以實時地收集和傳輸調(diào)試信息,幫助開發(fā)者快速定位問題。
靈活性:支持多種輸出方式,包括串口輸出和通過JLink SWD輸出至PC上位機軟件。
可配置性:可以根據(jù)需要配置不同的tracing格式和輸出方式,以滿足不同的調(diào)試需求。
使用場景
開發(fā)調(diào)試:在嵌入式系統(tǒng)開發(fā)過程中,使用Zephyr的Trace功能可以幫助開發(fā)者實時監(jiān)控程序的運行狀態(tài),快速定位和解決問題。
性能分析:通過收集和分析Trace信息,開發(fā)者可以了解系統(tǒng)的性能瓶頸,并進行針對性的優(yōu)化。
總的來說,Zephyr的Trace功能為嵌入式系統(tǒng)開發(fā)提供了強大的實時監(jiān)控和調(diào)試能力。通過合理配置和使用Trace功能,開發(fā)者可以更加高效地進行系統(tǒng)開發(fā)、調(diào)試和優(yōu)化工作。
這里推薦兩款工具,第一個是PercepioTracealyzer:
https://docs.zephyrproject.org/latest/services/tracing/index.html
第二個是Segger SystemView:
我們以Segger的SystemView為例進行說明,添加方式可以說非常方便,我們只需要添加以下Kconfig配置屬性到工程中:
CONFIG_STDOUT_CONSOLE=y CONFIG_THREAD_NAME=y CONFIG_SEGGER_SYSTEMVIEW=y CONFIG_USE_SEGGER_RTT=y CONFIG_TRACING=y |
重新編譯工程即可添加Trace功能:
這樣一來,有了Trace功能的加持,再也不用擔(dān)心我們的bug了!!
至此,Zephyr系列就迎來了全劇終,小編在這里首先感謝下大家的支持,也相信隨著Zephyr社區(qū)的不斷發(fā)展,會有越來越多的伙伴加入到Zephyr這個大家庭中,共享Zephyr之美!
恩智浦MCU加油站
恩智浦半導(dǎo)體NXP Semiconductors N.V.(納斯達克股票代碼:NXPI)是汽車、工業(yè)物聯(lián)網(wǎng)、移動設(shè)備和通信基礎(chǔ)設(shè)施市場值得信賴的合作伙伴,致力于提供創(chuàng)新解決方案。
-
嵌入式系統(tǒng)
+關(guān)注
關(guān)注
41文章
3662瀏覽量
130622 -
RTOS
+關(guān)注
關(guān)注
24文章
837瀏覽量
120574 -
Zephyr
+關(guān)注
關(guān)注
0文章
34瀏覽量
6179
原文標(biāo)題:Zephyr高級調(diào)試篇之Trace功能
文章出處:【微信號:NXP_SMART_HARDWARE,微信公眾號:恩智浦MCU加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
恩智浦解讀Zephyr log系統(tǒng)的使用 Zephyr的shell和log功能介紹

恩智浦分享Zephyr調(diào)試技巧
請問STM32H7是否支持Trace功能?
程序的TRACE需求及功能
使用IAR ETM Trace調(diào)試功能的要求
Zephyr與FreeRTOS實時性測試比較
Trace thickness
Trace32的高級功能特性

淺談Zephyr ESP32 wifi如何使用
淺析Zephyr應(yīng)用的代碼結(jié)構(gòu)中的自定義驅(qū)動
TRACE功能概述
泰凌微電子Zephyr編譯環(huán)境搭建
Trace功能的添加、組態(tài)及測試
深入解析Zephyr RTOS的技術(shù)細節(jié)

評論