Tracealyzer
Tracealyzer是一個用于RTOS系統(tǒng)的跟蹤和可視化分析工具,對系統(tǒng)運行時的行為提供了前所未有的洞察方法。以往需要幾天甚至更長時間才能解決的問題,可以使用Tracealyzer快速解決。加速了調試及減少對系統(tǒng)驗證和性能優(yōu)化所需要的時間。但不少用戶對于使用Tracealyzer時將造成多大的處理器開銷有著擔憂,本文將回答這一問題。

基于軟件的數(shù)據(jù)跟蹤始終會存在一些處理器開銷,其確切的數(shù)量為f和e的乘積f * e,其中f是平均事件頻率,e是用于存儲事件的平均執(zhí)行時間。這兩個參數(shù)的值依賴于用戶具體的應用程序和處理器。應用程序中的RTOS調用越多,則數(shù)據(jù)追蹤的處理器開銷也越大。使用的處理器運行速度越快,則開銷越少。
下面以一些具體的參數(shù)來進行分析。在32位MCU上,存儲某一事件需要耗費的時間通常為幾微秒,假設e的值為3 us。平均事件速率則通常為每秒幾千次,假設f的值約為5000 Hz。根據(jù)上述f*e的公式計算:
5000 Hz x 0.000003 s= 1.5%
由上述計算可知,基于軟件的RTOS跟蹤并不會造成過高的處理器開銷,用戶可依據(jù)自己具體的應用程序和處理器運行速度進行處理器開銷的計算。
若想進一步減少RTOS數(shù)據(jù)追蹤的處理器開銷,可嘗試以下方式:
? 確保至少開啟了低級別的編譯器優(yōu)化選項
? 如果使用快照模式進行數(shù)據(jù)追蹤,可以排除掉一些不太重要的事件的記錄
? 使用流模式而不是快照模式??煺漳J结槍却嫘蔬M行了優(yōu)化,而流模式則針對速度進行了優(yōu)化且速度明顯加快。流可以通過流端口進行自定義,用于各種目標主機接口,甚至可以令數(shù)據(jù)傳輸?shù)皆O備文件系統(tǒng)
? 如果使用流模式,請確保在緩沖區(qū)已滿的情況下數(shù)據(jù)傳輸不會阻塞。使用非阻塞傳輸模式時,如果Tracealyzer隨后報告事件丟失,則數(shù)據(jù)吞吐量過小通常是問題所在。通過調整流端口設置(如使用較大的緩沖區(qū))或使用更快的傳輸通道(如使用USB或更好的調試器)來解決此問題。
Tracealyzer不需要額外的跟蹤硬件,這意味著可以在產(chǎn)品部署時使用。用戶可嘗試在應用程序的最終版本中任保留RTOS跟蹤的設計,例如將快照模式作為系統(tǒng)運行的記錄模塊,這樣Tracealyzer記錄器就成為系統(tǒng)應用程序的一部分而不是額外的開銷了。且這樣的方式可以幫助用戶記錄一些產(chǎn)品在現(xiàn)場實際運行過程中的問題,而這些問題通常是難以復現(xiàn)的,這將對廠商解決產(chǎn)品實際問題時帶來相當大的改變。
審核編輯 :李倩
-
處理器
+關注
關注
68文章
20265瀏覽量
252725 -
RTOS
+關注
關注
25文章
866瀏覽量
123074 -
調試器
+關注
關注
1文章
329瀏覽量
25108
原文標題:Tracealyzer跟蹤RTOS需要多少處理器開銷?
文章出處:【微信號:麥克泰技術,微信公眾號:麥克泰技術】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
RTOS在嵌入式開發(fā)中的作用
使用RTOS時需要注意的幾點內容分享
選擇RTOS的要點
如何在 RTOS 中處理微控制器的低功耗特性
RTOS Crash 問題全維度分析與解決指南
利用Verdi調試協(xié)處理器的實現(xiàn)步驟
蜂鳥E203協(xié)處理器EAI指令及接口
基于E203 NICE協(xié)處理器擴展指令
Cortex-M0+處理器的HardFault錯誤介紹
新唐科技NuMicro MA35D1微處理器介紹
需要遵循哪些步驟才能在協(xié)同處理器模式下配置 FX2/FX3?
使用Tracealyzer調試Zephyr中的優(yōu)先級反轉
Tracealyzer跟蹤RTOS需要多少處理器開銷?
評論