如果沒有專為多線程代碼設計的有效調試和分析工具,開發基于Zephyr的軟件可能更具有挑戰性。Percepio Tracealyzer可讓您快速解決問題并加快日常開發。優化您的系統以獲得可靠的實時性能,獲取免費評估非常方便,你在15分鐘內開始使用這個軟件。
簡化調試并加快開發速度
“Tracealyzer將我們的開發速度提高了一倍,使用此工具可以明顯解決需要幾天才能解決的問題,而且只是一個快速解決方案。我們一直在使用它。
—Alex Pabouctisids,Flyability首席固件工程師
厭倦了無休止地調試嵌入式C/C++代碼?告別繁瑣的故障排除,歡迎使用Percepio Tracealyzer加速開發。對于當今復雜的RTOS或Linux系統,傳統調試通常無效,并且可能會消耗40-50%的開發時間。使用Tracealyzer獲得可視化跟蹤可觀察性,以加快你的日常調試速度并解決傳統調試無法解決的問題。下面了解Tracealyzer如何簡化調試。
優化系統性能
“在運行該工具后不到5天的時間里,我們將圖形渲染引擎的性能提高了3倍”
—Serious Integrated Inc.首席執行官Terry West
Tracealyzer提供高級分析功能,顯示數字背后的事件。查明性能瓶頸并釋放硬件的全部潛力。確保你滿足產品性能目標并提供響應式用戶體驗。
對于多線程的RTOS或Linux系統來說,優化是一項挑戰。當線程速度較慢時,通常是由于源代碼中不明顯的因素造成的。可視化跟蹤可觀察性提供了完整的畫面并簡化了優化。
跟蹤你的任務
Zephyr內核提供多線程,其中每個任務都有自己的堆棧和調度優先級,這對于功能正確性和性能非常重要。Tracealyzer允許你分析不同優先級分配的行為和性能,以及任務的堆棧使用情況。如果你的堆棧太小,則可能會因堆棧溢出而出現錯誤。如果它們太大,則會浪費寶貴的RAM,而這些RAM可能是應用程序中的需要。
跟蹤視圖顯示任務調度和對內核API函數的調用。這樣,你就可以準確查看任務的激活時間、實際執行時間以及有時無法按預期執行的原因。你還可以看到一個概覽,其中顯示了哪些任務正在消耗處理器時間,如“CPU Load Graph”所示。此外,還提供了詳細的統計數據,例如任務執行時間和響應時間。
跟蹤Zephyr內核API調用
Zephyr內核提供了許多個API,用于在任務之間傳遞數據以及保護共享資源,例如隊列、信號量和互斥鎖。這些API函數可能會阻止調用任務的執行,直到另一個任務執行了匹配的操作。此類API調用可能會在任務之間形成一個依賴關系網絡,這在源代碼中并不明顯。Tracealyzer可以可視化任務交互,這使得開發者理解、調試和優化Zephyr應用程序變得更加容易。下面提供了一些示例。
應用程序日志記錄
Tracealyzer提供高級日志記錄功能。在應用程序代碼中記錄自定義事件和數據,并將其與內核跟蹤一起顯示在Tracealyzer中,并作為圖形繪圖顯示。這提供了在運行時對應用程序代碼的更深入的可觀察性。
與printf調用不同,Tracealyzer日志記錄不會將代碼速度減慢幾毫秒。與UART上的printf相比,高效的記錄功能可以消除超過99%的記錄開銷。這種低影響的日志記錄可確保你在調試中獲得正確的圖像,而不會因緩慢的日志記錄調用而產生探測影響。
例如,狀態轉換可以記錄并顯示在“logic analyzer”視圖中和狀態圖中。結果可以顯示在跟蹤視圖中(如左所示)或總結為狀態圖(右側),從而輕松發現錯誤行為。
軟件運行方式
使用Tracealyzer不需要任何特定的硬件,只需要一個合適的開發板即可。您可以從RAM中的跟蹤緩沖區捕獲最新活動的快照,或者使用以太網或SEGGER J-Link、IAR I-jet或Keil ULINK等調試探針將數據流式傳輸到主機。這樣,你可以長時間監控你的系統并捕獲任何問題。
Zephyr的Tracealyzer依賴于Percepio TraceRecorder,該記錄可在Apache 2.0許可證下的Zephyr存儲庫中使用。按照入門指南,幾分鐘內即可將其集成到你的項目中。
Tracealyzer適用于大多數嵌入式處理器(例如ARM芯片等),Percepio為常見開發工具提供插件和集成,包括Segger J-Link、GDB、STM32CubeIDE、Keil MDK、IAR和Lauterbach。
麥克泰技術代理Tracealyzer,具有豐富的RTOS分析軟件與調試工具使用方面的知識和經驗,歡迎咨詢[email protected]。
-
內核
+關注
關注
3文章
1410瀏覽量
41117 -
RTOS
+關注
關注
24文章
841瀏覽量
120780 -
代碼
+關注
關注
30文章
4887瀏覽量
70268 -
Zephyr
+關注
關注
0文章
35瀏覽量
6235
原文標題:支持Zephyr RTOS內核分析:Tracealyzer簡介
文章出處:【微信號:麥克泰技術,微信公眾號:麥克泰技術】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
如何通過Tracealyzer實現Linux系統的跟蹤?

使用Tracealyzer調試Zephyr中的優先級反轉

Tracealyzer 技術分享
教你快遞入門-Tracealyzer跟蹤記錄庫移植
Tracealyzer利用CortexM的ITM實現流跟蹤
通過Tracealyzer用戶事件來了解應用程序
如何使用Tracealyzer理解多任務調度?
如何使用Tracealyzer流模式跟蹤ThreadX?
是否需要在iMXRT1060 EVK板上執行任何特定操作才能使tracealyzer正常工作?
使用Percepio的Tracealyzer和DevAlert實現FreeRTOS的可觀察性!
Tracealyzer實現流跟蹤最簡單的方法
如何使用Tracealyzer的流模式來跟蹤ThreadX應用
Tracealyzer跟蹤記錄庫移植
Xilinx Zynq上FreeRTOS的Tracealyzer

Tracealyzer發布4.8新版本!

評論