我正在使用名為i.MX515的基于ARM Cortex-A8的處理器。有Linux Ubuntu 9.10發(fā)行版。我正在運行一個用C編寫的非常大的應用程序,并且正在使用gettimeofday();函數(shù)來衡量應用程序花費的時間。main(){gettimeofday(start);............gettimeofday(end);}該方法足以查看我的應用程序的哪些塊花費了多少時間。但是,現(xiàn)在,我正在嘗試通過計算時間的gettimeofday()方法來徹底優(yōu)化我的代碼,我發(fā)現(xiàn)連續(xù)運行之間(在優(yōu)化前后運行)之間有很大的波動,所以我無法確定實際的執(zhí)行時間,從而確定改進的影響。誰能建議我該怎么辦?如果通過訪問循環(huán)計數(shù)器(ARM網站上的Cortex-M3上的Idea建議)可以使我指向一些代碼,該代碼為我提供了訪問Cortex-A8上的定時器寄存器所必須遵循的步驟?如果此方法不太準確,請?zhí)岢鲆恍┨娲桨?。謝謝
3 回答

慕標琳琳
TA貢獻1830條經驗 獲得超9個贊
現(xiàn)在已經過去了兩年,以擴大Nils的答案!-訪問這些計數(shù)器的簡單方法是使用gator構建內核。然后,它報告計數(shù)器值以與Streamline一起使用,Streamline是ARM的性能分析工具。
它將在時間軸上顯示每個功能(從總體上概述系統(tǒng)的性能),確切顯示執(zhí)行所需的時間以及已占用的CPU百分比。您可以將其與您設置的每個計數(shù)器的圖表進行比較,以收集并遵循CPU密集型任務直至源代碼級別。
Streamline可與所有Cortex-A系列處理器一起使用。
- 3 回答
- 0 關注
- 959 瀏覽
添加回答
舉報
0/150
提交
取消