Trace32:嵌入式能耗軟件的優(yōu)化新技術(shù)
技術(shù)驅(qū)動
本文引用地址:http://www.ex-cimer.com/article/81530.htm開發(fā)由電池供電的設(shè)備,尤其是對設(shè)備的待機(jī)或操作時(shí)間要求比較嚴(yán)格的系統(tǒng),例如移動電話,降低系統(tǒng)整體的能耗變得越來越重要。 因此采取全面的措施來降低電池能量的消耗是設(shè)計(jì)電池供電設(shè)備的重要部分。
事實(shí)上,只有通過軟件全程的控制各個(gè)消耗電池能量的組件,充分地發(fā)揮其硬件的節(jié)能屬性,才能達(dá)到最佳的節(jié)能效果。能耗是電流、電壓和時(shí)間的乘積,控制軟件對這幾個(gè)參數(shù)都有很大的影響。因此,需要經(jīng)常不斷地嘗試確定這三個(gè)參數(shù)在不同的操作模式下的最佳配置,以達(dá)到最佳的節(jié)能目的。
軟件工程師需要可以測量、記錄和分析控制軟件的程序和數(shù)據(jù)流程,以及電流和電壓梯度;同時(shí)以一種簡單的方式把所有的記錄信息相互關(guān)聯(lián)起來的測試裝置。 2007年,作為業(yè)界領(lǐng)先的嵌入式軟件能耗分析工具生產(chǎn)廠商,勞特巴赫公司推出一種易用解決方案,解決了上述的所有問題。
技術(shù)要求
為了可以定位出每行代碼的能耗量,需要收集如下的數(shù)據(jù)信息:
·控制軟件的程序流,可以采用具有實(shí)時(shí)跟蹤能力的調(diào)試器來采集。
·程序運(yùn)行時(shí)的電流和電壓梯度,可以采用帶有模擬/數(shù)字探頭的邏輯分析儀進(jìn)行測量。
有了這些數(shù)據(jù),主要的任務(wù)是如何才能把程序流、電流和電壓梯度的信息關(guān)聯(lián)起來。但是,使用來自不同設(shè)備生產(chǎn)廠商的設(shè)備,即使可以把相關(guān)信息關(guān)聯(lián)起來,實(shí)際操作仍然十分復(fù)雜,綜合數(shù)據(jù)的分析和統(tǒng)計(jì)同樣也是相當(dāng)困難。
勞特巴赫嵌入式軟件能耗分析技術(shù)的創(chuàng)新核心就是提供上述問題的解決方案,并且開發(fā)了適用、易用的信息顯示和分析方法。
解決方案
勞特巴赫嵌入式軟件能耗測量方案,包括調(diào)試器模塊(PowerDebug)、實(shí)時(shí)跟蹤模塊(PowerTrace)和邏輯分析模塊(PowerIntergrator),每個(gè)模塊都集成了一個(gè)精確的時(shí)間計(jì)數(shù)器,所有模塊的計(jì)數(shù)器在程序開始時(shí)建立同步。每個(gè)模塊的記錄都有對應(yīng)的時(shí)間戳,因此各個(gè)模塊的記錄都可以通過時(shí)間戳關(guān)聯(lián)起來。這樣,就可以確定每行代碼的能耗。
為了獲取電流和電壓梯度數(shù)據(jù),Trace32實(shí)時(shí)跟蹤模塊或者邏輯分析模塊可以通過新型的Trace32 AnalogProbe 模塊擴(kuò)展實(shí)現(xiàn)如下功能:
·實(shí)時(shí)記錄4條電壓通道和3條電流通道的信息;
·針對電流、電壓或能耗的限制值和測量范圍實(shí)時(shí)生成觸發(fā)事件。
Trace32 AnalogProbe 測量/記錄分流電阻上的電壓值。電流、電壓和分流電阻阻值都可以通過用戶界面進(jìn)行控制。由電流和電壓計(jì)算得出的能耗也可以控制,還可以將電壓設(shè)置為固定值進(jìn)行計(jì)算。用戶界面如圖2所示。
電流、電壓和能耗可以以表格和基于時(shí)間的曲線圖表示出來,如圖3所示。所有基于時(shí)間的信息(程序流、圖表、電流、電壓、能耗)都能通過跟蹤信息同步起來。如果在一個(gè)窗口中選中/標(biāo)記某一位置,其他所有窗口都自動地刷新窗口內(nèi)容,相應(yīng)時(shí)間位置信息也被選中/標(biāo)記出來。
在如下實(shí)例中,8個(gè)LED被依次點(diǎn)亮,然后產(chǎn)生一個(gè)正弦電壓。圖中的電流-時(shí)間曲線圖(1)繪制出了電流值隨時(shí)間變化的波形,正弦電壓曲線如圖(2)所示。如果在電流圖(1)、電壓圖(2)或程序流圖(3)中,用黑色的垂直跟蹤線選中/標(biāo)記函數(shù)“LED3_on“,系統(tǒng)會自動更新“Trace.List“窗口(4)中信息,顯示出相對應(yīng)的記錄,并且通過藍(lán)色水平條標(biāo)記出來。
每次程序中止后,Trace32 軟件會自動對記錄信息進(jìn)行統(tǒng)計(jì)分析,統(tǒng)計(jì)各個(gè)執(zhí)行函數(shù)消耗能量的最小值、最大值和平均值。以及每個(gè)函數(shù)絕對能耗及其占總能耗的百分比。通過這些統(tǒng)計(jì)數(shù)據(jù),可以方便地定位出耗能最大的程序代碼/函數(shù)。
數(shù)據(jù)統(tǒng)計(jì)分析可以顯示出每個(gè)函數(shù)運(yùn)行時(shí)的耗能量,如圖4所示。從圖中(5)可以清楚地看出函數(shù)“LED8_on“運(yùn)行(所有LED都被點(diǎn)亮)時(shí)系統(tǒng)耗能量最大。
作為附加的功能,Trace32還提供了觸發(fā)單元,可以通過定義電流、電壓或能量的限制值或范圍來定義觸發(fā)事件。這些觸發(fā)事件被觸發(fā)單元用作啟動和中止跟蹤記錄(Selective Trace)的控制,或者用這些觸發(fā)信號中止程序的運(yùn)行。這樣工程師可以方便快速地定位出相關(guān)參數(shù)出現(xiàn)峰值的原因。
結(jié)語
勞特巴赫完整的嵌入式軟件能耗分析測量方案為研發(fā)工程師檢測/定位程序代碼和系統(tǒng)電流/能耗之間的相互關(guān)系提供了一個(gè)強(qiáng)有力的、易用的工具。同全球重要移動電話生產(chǎn)廠商長期緊密的合作,確保了勞特巴赫工具的實(shí)際應(yīng)用效果。Trace32 AnalogProbe作為新型的解決方案擴(kuò)展模塊,可集成于既有的勞特巴赫模塊化開發(fā)工具的系統(tǒng)中,為客戶現(xiàn)有的Trace32工具增添了新的價(jià)值。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論