ARM11的TD-LTE多?;鶐脚_中的跟蹤技術(shù)分析
摘要:在嵌入式實時操作系統(tǒng)中,由于存在多任務(wù)之間的切換,系統(tǒng)的跟蹤信息會發(fā)生亂序或丟失的情況。在TD-LTE多?;鶐脚_產(chǎn)品開發(fā)期間,進行ARM子系統(tǒng)的運行流程控制和異常定位分析,滿足LTE系統(tǒng)中高速數(shù)據(jù)業(yè)務(wù)的需求,本文在雙模跟蹤技術(shù)基礎(chǔ)上對多模的跟蹤技術(shù)進行優(yōu)化,使多模跟蹤技術(shù)可靠性更好、性能更強,系統(tǒng)效率大大提高。
關(guān)鍵詞:TD-LTE;ARM;多?;鶐脚_;跟蹤技術(shù)
引言
隨著多核產(chǎn)品的日益普及,對跟蹤調(diào)試系統(tǒng)解決方案的性能要求也愈來愈高。ARM公司針對復(fù)雜片上系統(tǒng)(SoC)設(shè)計推出了高度可配置的跟蹤調(diào)試解決方案ARMCoreSightSoC,它滿足了軟件開發(fā)人員在SoC設(shè)計方面需要更高可視性的要求。在嵌入式應(yīng)用系統(tǒng)復(fù)雜性越來越高的今天,跟蹤調(diào)試技術(shù)在整個系統(tǒng)開發(fā)過程中所占的比重也越來越大。因此,擁有高效、強大的跟蹤調(diào)試技術(shù)可以大大減少整個系統(tǒng)的開發(fā)時間,縮短產(chǎn)品面市時間,減輕系統(tǒng)開發(fā)的工作量。
在TD-LTE多?;鶐脚_的開發(fā)中,既要滿足多種模式(TD-LTE、TD-SCDMA和GSM)下跟蹤技術(shù)的一致性,又要滿足TD-LTE的高效率要求,更要保證跟蹤信息的有序性、正確性和實時性,這對跟蹤技術(shù)提出了更高的要求。通過對原始跟蹤技術(shù)方案與新跟蹤方案的性能進行對比分析,來選擇更加適合TD-LTE多模基帶平臺的跟蹤軟件技術(shù)。
1 總體概述
在多模終端的開發(fā)中,跟蹤技術(shù)對終端的性能有著至關(guān)重要的作用。由于本項目是多模單帶芯片的開發(fā),多種系統(tǒng)的模式切換對微處理器的要求較高,鑒于ARM11系列處理器具有超強的性能,采用ARM新指令架構(gòu)——ARMv6設(shè)計實現(xiàn),故本項目采用ARM1176JZ內(nèi)核。
ARMv6架構(gòu)通過以下幾點來增強處理器的性能:
①多媒體處理擴展,使MPEG4編碼/解碼速度和音頻處理速度加快一倍;
②增強的Cache結(jié)構(gòu),實地址Cache4減少Cache的刷新和重載,減少上下文切換的開銷;
③增強的異常和中斷處理,使實時任務(wù)的處理更加迅速;
④支持Unaligned和Mixed-endian數(shù)據(jù)訪問,使數(shù)據(jù)共享、軟件移植更簡單,也有利于節(jié)省存儲器空間。
在多模芯片的開發(fā)中,本項目將跟蹤技術(shù)作為芯片軟件開發(fā)中的一個小模塊來處理,其系統(tǒng)結(jié)構(gòu)如圖1所示。
當(dāng)其他模塊有跟蹤信息打印時,其他模塊調(diào)用TRACE模塊提供的打印函數(shù)。TRACE模塊接收到打印信息后,通過設(shè)置打印參數(shù)來判斷是否需要把這些打印信息發(fā)送到PC機。如果需要,則通過UART串口將打印信息傳送到PC機的TRACE跟蹤軟件,TRACE模塊對其進行解碼之后,通過解碼軟件顯示出來。
2 原始跟蹤方案
2.1 緩存管理機制
原方案中的緩存管理機制采用備份緩存管理機制,采用含跟蹤頭和跟蹤信息的跟蹤信息幀格式,將跟蹤信息寫入一個大小為128 KB的全局跟蹤信息緩存中。為避免在任務(wù)切換頻繁時,當(dāng)前任務(wù)被高優(yōu)先級任務(wù)打斷造成數(shù)據(jù)丟失,申請一個16 KB的備份緩存用于存放高優(yōu)先級任務(wù)跟蹤信息。若當(dāng)前跟蹤源在進行寫人操作,高優(yōu)先級任務(wù)調(diào)用跟蹤接口,當(dāng)前跟蹤源的任務(wù)就被搶占,則將高級任務(wù)的跟蹤信息寫入備份緩存中,當(dāng)前跟蹤源繼續(xù)進行當(dāng)前未完成的寫操作。
每次寫完當(dāng)前跟蹤信息,檢查備份緩存中是否有數(shù)據(jù),若有,則將備份緩存中的跟蹤信息拷回至全局跟蹤信息緩存中,從而保證全局跟蹤信息緩存中跟蹤信息的連續(xù)性,原始方案跟蹤緩存場景圖如圖2所示。在本方案中,緩存機制內(nèi)部采用svnsprintf函數(shù)將跟蹤信息寫入緩存,該函數(shù)可以滿足跟蹤源打印多個變量的值,通過遍歷參數(shù)列表,找出跟蹤源需要打印參數(shù)的類型和個數(shù),這樣跟蹤源在打印動態(tài)臨時字符串時使用統(tǒng)一的跟蹤接口,使其他模塊的跟蹤源在使用跟蹤接口時更加方便。
2.2 跟蹤控制機制
原始方案的跟蹤通過類別和進程進行控制,進程的控制包括變量、主函數(shù)和子函數(shù)。PC端通過跟蹤控制工具發(fā)送相應(yīng)的AT命令,在終端的內(nèi)存中讀取相應(yīng)的設(shè)置值。若讀取的設(shè)置值與跟蹤源的值相等,則打印出該條跟蹤;若不相等,則丟棄本條跟蹤。在本方案中所有的跟蹤控制都是在跟蹤接口內(nèi)部,這樣對各種跟蹤信息的控制更加明確和具體,通過switch…case語句對跟蹤類型進行判斷,從而決定屏蔽跟蹤信息還是打印跟蹤信息。原始跟蹤控制圖如圖3所示,每種模式的跟蹤控制都采用同樣的機制,圖3中以TDS模式下的跟蹤控制為例進行介紹。
評論