當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]TD-LTE多?;鶐脚_(tái)ARM子系統(tǒng)的運(yùn)行流程控制和異常定位分析

引言

隨著多核產(chǎn)品的日益普及,對跟蹤調(diào)試系統(tǒng)解決方案的性能要求也愈來愈高。ARM公司針對復(fù)雜片上系統(tǒng)(SoC)設(shè)計(jì)推出了高度可配置的跟蹤調(diào)試解決方案ARMCoreSightSoC,它滿足了軟件開發(fā)人員在SoC設(shè)計(jì)方面需要更高可視性的要求。在嵌入式應(yīng)用系統(tǒng)復(fù)雜性越來越高的今天,跟蹤調(diào)試技術(shù)在整個(gè)系統(tǒng)開發(fā)過程中所占的比重也越來越大。因此,擁有高效、強(qiáng)大的跟蹤調(diào)試技術(shù)可以大大減少整個(gè)系統(tǒng)的開發(fā)時(shí)間,縮短產(chǎn)品面市時(shí)間,減輕系統(tǒng)開發(fā)的工作量。

TD-LTE多模基帶平臺(tái)的開發(fā)中,既要滿足多種模式(TD-LTE、TD-SCDMA和GSM)下跟蹤技術(shù)的一致性,又要滿足TD-LTE的高效率要求,更要保證跟蹤信息的有序性、正確性和實(shí)時(shí)性,這對跟蹤技術(shù)提出了更高的要求。通過對原始跟蹤技術(shù)方案與新跟蹤方案的性能進(jìn)行對比分析,來選擇更加適合TD-LTE多模基帶平臺(tái)的跟蹤軟件技術(shù)。

1 總體概述

在多模終端的開發(fā)中,跟蹤技術(shù)對終端的性能有著至關(guān)重要的作用。由于本項(xiàng)目是多模單帶芯片的開發(fā),多種系統(tǒng)的模式切換對微處理器的要求較高,鑒于ARM11系列處理器具有超強(qiáng)的性能,采用ARM新指令架構(gòu)——ARMv6設(shè)計(jì)實(shí)現(xiàn),故本項(xiàng)目采用ARM1176JZ內(nèi)核。

ARMv6架構(gòu)通過以下幾點(diǎn)來增強(qiáng)處理器的性能:

①多媒體處理擴(kuò)展,使MPEG4編碼/解碼速度和音頻處理速度加快一倍;

②增強(qiáng)的Cache結(jié)構(gòu),實(shí)地址Cache4減少Cache的刷新和重載,減少上下文切換的開銷;

③增強(qiáng)的異常和中斷處理,使實(shí)時(shí)任務(wù)的處理更加迅速;

④支持Unaligned和Mixed-endian數(shù)據(jù)訪問,使數(shù)據(jù)共享、軟件移植更簡單,也有利于節(jié)省存儲(chǔ)器空間。

在多模芯片的開發(fā)中,本項(xiàng)目將跟蹤技術(shù)作為芯片軟件開發(fā)中的一個(gè)小模塊來處理,其系統(tǒng)結(jié)構(gòu)如圖1所示。

 

 

當(dāng)其他模塊有跟蹤信息打印時(shí),其他模塊調(diào)用TRACE模塊提供的打印函數(shù)。TRACE模塊接收到打印信息后,通過設(shè)置打印參數(shù)來判斷是否需要把這些打印信息發(fā)送到PC機(jī)。如果需要,則通過UART串口將打印信息傳送到PC機(jī)的TRACE跟蹤軟件,TRACE模塊對其進(jìn)行解碼之后,通過解碼軟件顯示出來。

2 原始跟蹤方案

2.1 緩存管理機(jī)制

原方案中的緩存管理機(jī)制采用備份緩存管理機(jī)制,采用含跟蹤頭和跟蹤信息的跟蹤信息幀格式,將跟蹤信息寫入一個(gè)大小為128 KB的全局跟蹤信息緩存中。為避免在任務(wù)切換頻繁時(shí),當(dāng)前任務(wù)被高優(yōu)先級(jí)任務(wù)打斷造成數(shù)據(jù)丟失,申請一個(gè)16 KB的備份緩存用于存放高優(yōu)先級(jí)任務(wù)跟蹤信息。若當(dāng)前跟蹤源在進(jìn)行寫人操作,高優(yōu)先級(jí)任務(wù)調(diào)用跟蹤接口,當(dāng)前跟蹤源的任務(wù)就被搶占,則將高級(jí)任務(wù)的跟蹤信息寫入備份緩存中,當(dāng)前跟蹤源繼續(xù)進(jìn)行當(dāng)前未完成的寫操作。

每次寫完當(dāng)前跟蹤信息,檢查備份緩存中是否有數(shù)據(jù),若有,則將備份緩存中的跟蹤信息拷回至全局跟蹤信息緩存中,從而保證全局跟蹤信息緩存中跟蹤信息的連續(xù)性,原始方案跟蹤緩存場景圖如圖2所示。在本方案中,緩存機(jī)制內(nèi)部采用svnsprintf函數(shù)將跟蹤信息寫入緩存,該函數(shù)可以滿足跟蹤源打印多個(gè)變量的值,通過遍歷參數(shù)列表,找出跟蹤源需要打印參數(shù)的類型和個(gè)數(shù),這樣跟蹤源在打印動(dòng)態(tài)臨時(shí)字符串時(shí)使用統(tǒng)一的跟蹤接口,使其他模塊的跟蹤源在使用跟蹤接口時(shí)更加方便。

 

 

2.2 跟蹤控制機(jī)制

原始方案的跟蹤通過類別和進(jìn)程進(jìn)行控制,進(jìn)程的控制包括變量、主函數(shù)和子函數(shù)。PC端通過跟蹤控制工具發(fā)送相應(yīng)的AT命令,在終端的內(nèi)存中讀取相應(yīng)的設(shè)置值。若讀取的設(shè)置值與跟蹤源的值相等,則打印出該條跟蹤;若不相等,則丟棄本條跟蹤。在本方案中所有的跟蹤控制都是在跟蹤接口內(nèi)部,這樣對各種跟蹤信息的控制更加明確和具體,通過switch…case語句對跟蹤類型進(jìn)行判斷,從而決定屏蔽跟蹤信息還是打印跟蹤信息。原始跟蹤控制圖如圖3所示,每種模式的跟蹤控制都采用同樣的機(jī)制,圖3中以TDS模式下的跟蹤控制為例進(jìn)行介紹。

 

 

2.3 傳輸控制機(jī)制

實(shí)時(shí)跟蹤系統(tǒng)通過串口在PC端和ARM子系統(tǒng)之間進(jìn)行通信,采用DMA總線控制器進(jìn)行跟蹤信息搬移。DMA是一種不經(jīng)過ARM處理器的CPU,可直接從內(nèi)存中存取數(shù)據(jù)的數(shù)據(jù)交換模式。在DMA模式下,CPU只需向DMA總線控制器下達(dá)指令,就可使其處理數(shù)據(jù)的傳送,接收數(shù)據(jù)傳送完畢的反饋信息,從而大大降低了CPU資源占有率。傳輸控制單元采取DMA同步中斷發(fā)送跟蹤信息,每次以等長字節(jié)傳輸,將跟蹤信息搬移至串口發(fā)送寄存器中,再通過配置串口發(fā)送寄存器,將跟蹤信息發(fā)送至PC端解析顯示單元。

3 優(yōu)化后跟蹤方案

3.1 新跟蹤緩存的管理

本設(shè)計(jì)方案采用的緩存機(jī)制是利用所有跟蹤函數(shù)在進(jìn)入跟蹤時(shí),均能夠確切知道當(dāng)前跟蹤信息所需存儲(chǔ)空間長度的特點(diǎn),為當(dāng)前跟蹤信息預(yù)留出所需要的存儲(chǔ)空間。當(dāng)?shù)蛢?yōu)先級(jí)任務(wù)的跟蹤信息被高優(yōu)先級(jí)任務(wù)跟蹤信息搶占時(shí),內(nèi)存中已經(jīng)為低優(yōu)先級(jí)任務(wù)的跟蹤信息預(yù)留了存儲(chǔ)空間,不會(huì)導(dǎo)致跟蹤信息丟失和錯(cuò)亂的情況,新緩存機(jī)制圖如圖4所示。

 

 

通過維護(hù)兩個(gè)寫索引和一個(gè)全局讀索引來管理緩存,其中兩個(gè)寫索引分別為全局寫索引和當(dāng)前寫索引,全局寫索引用來與全局讀索引進(jìn)行匹配,通過這兩個(gè)索引來計(jì)算緩存的剩余空間和已用空間,從而判斷何時(shí)發(fā)送和寫入跟蹤信息;而當(dāng)前寫索引的作用就是為當(dāng)前的跟蹤信息預(yù)留空間。在本設(shè)計(jì)中摒棄了svnprintf函數(shù),采用memcpy函數(shù)直接將跟蹤信息寫入緩存中,并且采用固定參數(shù)的跟蹤接口,跟蹤源根據(jù)跟蹤信息的不同需求,調(diào)用相應(yīng)變量的跟蹤接口。[!--empirenews.page--]

3.2 新跟蹤控制機(jī)制

新跟蹤控制機(jī)制的所有控制都由各個(gè)模塊的跟蹤源以函數(shù)宏定義的形式對跟蹤接口進(jìn)行重新封裝,將跟蹤信息的判斷放在跟蹤接口的外部。跟蹤控制的場景不再進(jìn)行詳細(xì)的劃分,考慮采用橫向和縱向兩個(gè)方面來對跟蹤進(jìn)行控制。橫向的控制通過對跟蹤信息的重要程度來劃分,包括全開放、半開放、速率測試、用戶釋放和測試終端等方面;縱向的控制是系統(tǒng)中各個(gè)模塊的跟蹤信息的控制,當(dāng)開發(fā)人員需要查看某個(gè)或某些模塊的跟蹤信息時(shí),通過設(shè)置相應(yīng)的值來輸出預(yù)想模塊的跟蹤信息。新跟蹤控制圖如圖5所示。

 

 

4 性能對比分析

通過原始跟蹤方案與新跟蹤方案的性能測試與對比分析得出,新跟蹤方案提高了ARM執(zhí)行效率表現(xiàn)在3個(gè)方面:

①在跟蹤控制方面,原始跟蹤方案的跟蹤控制過于細(xì)致,跟蹤判斷過程過于復(fù)雜繁瑣,多層的switch…case嵌套判斷消耗了一些處理器的時(shí)間;新跟蹤的控制采用跟蹤接口外部控制,若當(dāng)前跟蹤不需要打印時(shí),則當(dāng)前任務(wù)不會(huì)進(jìn)入跟蹤接口,直接丟棄本條跟蹤,這樣避免了函數(shù)上下文切換的過程,減少了任務(wù)棧的切換,從而提高了執(zhí)行效率。

②緩存管理方面,原始跟蹤方案采用嵌套緩存,高優(yōu)先級(jí)任務(wù)的跟蹤信息寫入嵌套緩存中,當(dāng)需要輸出跟蹤信息時(shí),需要將嵌套緩存中的數(shù)據(jù)回拷到全局跟蹤信息緩存,在回拷的過程中白白地消耗了處理器的時(shí)間。而新跟蹤緩存中,將所有的跟蹤信息全部存儲(chǔ)到一個(gè)緩存中,直接將跟蹤信息輸出,節(jié)省了回拷過程的時(shí)間,從而為處理器處理其他事件提高了效率。

③新跟蹤方案在跟蹤接口內(nèi)部摒棄了svnprintf函數(shù),直接將跟蹤數(shù)據(jù)memcpy轉(zhuǎn)移到跟蹤緩存中。原始方案中,跟蹤數(shù)據(jù)的原始碼流通過svnprintf函數(shù)在ARM內(nèi)部進(jìn)行字符串的轉(zhuǎn)化過程,再通過PC端的解碼軟件來解析原始碼流,從而轉(zhuǎn)化成可見字符串,省去了函數(shù)遍歷參數(shù)的過程(該過程消耗了ARM的執(zhí)行時(shí)間)。從變參的跟蹤接口優(yōu)化成定參跟蹤接口,這種方式大大地提高了ARM的執(zhí)行效率。

對于兩種跟蹤方案的測試分析,采用調(diào)用一條相同的跟蹤信息所消耗的TD-LTE中一個(gè)子幀的時(shí)間片來統(tǒng)計(jì)時(shí)間,從而對比原始跟蹤方案與新跟蹤方案的效率提高程度。TD-LTE的一個(gè)無線幀長為10 ms,一個(gè)無線子幀又分為兩個(gè)5 ms的半幀,每個(gè)半幀中有5個(gè)1 ms子幀,每個(gè)子幀有0x7800個(gè)時(shí)間片。

跟蹤性能分析圖如圖6所示,在原始跟蹤方案中調(diào)用5次跟蹤接口打印字符串”ts_00_tra01_01tdynamicTrace01”及相應(yīng)個(gè)數(shù)的變量的值,跟蹤信息消耗的時(shí)間為T_old=(0x5679-0x481C)×(1/0x7800)=0.119 7 ms。在新跟蹤方案中,同樣調(diào)用5次新跟蹤方案,跟蹤接口打印同樣字符串的內(nèi)容及相應(yīng)個(gè)數(shù)的變量的值,跟蹤信息消耗的時(shí)間為T_new=(0x4809-0x4188)×(1/0x7800)=0.052 6 ms。由此可見,T_old的消耗時(shí)間大約是T_new的2倍,新跟蹤方案節(jié)省了一半以上的時(shí)間,然后又多次對各種跟蹤接口進(jìn)行驗(yàn)證、測試、對比后,再次確認(rèn)了新跟蹤方案對ARM的執(zhí)行效率有很大的提高。

 

 

結(jié)語

在多?;鶐У母櫡桨钢?,由于跟蹤的傳輸通道只有一個(gè),不能在不同的系統(tǒng)模式下采用不同的跟蹤方案,并且TD_LTE多模方案中不僅要求跟蹤信息的可靠性、時(shí)序性和正確性,對跟蹤方案在ARM子系統(tǒng)中的執(zhí)行效率也有所要求,不能影響TD-LTE的高速率的業(yè)務(wù)需求。綜上考慮,本項(xiàng)目中采用新的跟蹤方案可以滿足TD-LTE多模基帶平臺(tái)下ARM子系統(tǒng)的執(zhí)行效率要求和數(shù)據(jù)業(yè)務(wù)的速率要求。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉