999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

嵌入式軟件跟蹤調試技術的研究與設計*

2012-09-25 02:59:12錢思園王瓊李暾
單片機與嵌入式系統應用 2012年2期
關鍵詞:嵌入式調試信息

錢思園,王瓊,李暾

(1.重慶郵電大學 通信與信息工程學院,重慶 400065;2.重慶重郵信科通信技術有限公司)

引 言

嵌入式系統是當今計算機軟件領域的熱點,實時性是嵌入式系統的基本要求。隨著嵌入式技術的不斷發展,在嵌入式應用的不斷增長以及嵌入式系統復雜性不斷提高的情況下,調試階段在整個系統開發過程中所占的比重越來越大。調試環境和調試技術直接影響軟件開發的效率和質量,高效的調試系統可以大大減少嵌入式系統開發的時間,減輕系統開發工作量。

跟蹤調試系統主要有JTAG在線調試和運行時跟蹤調試兩種方式。JTAG在線調試在調試實時系統時有很大的局限性[1],如通過斷點查詢完參數后系統無法再按照正常時序運行,以及無法檢測到系統順序化執行的變遷狀態。運行時跟蹤調試采用軟件插樁技術,通過在程序中嵌入跟蹤點,開發人員可以在程序運行過程中通過跟蹤點實時觀察輸出的信息,如各模塊之間進行交互的信息以及程序運行的順序等。

本項目設計的實時跟蹤系統基于運行時跟蹤調試手段,采用ARM11系列處理器作為硬件開發平臺,運行于Nucleus實時操作系統上。Nucleus實時操作系統為搶先式多任務操作系統[2],在程序執行過程中,低優先級任務會被高優先級任務搶占,可能出現跟蹤任務沖突而導致跟蹤信息相互覆蓋、亂序等問題。特別是在跟蹤信息量較大時,一旦超過傳輸峰值就會造成跟蹤信息的丟失。該實時跟蹤系統采用特殊緩存機制和解析機制,能夠解決跟蹤信息丟失的問題,實現跟蹤信息的完整、有序傳輸。

1 原始跟蹤方案

實時跟蹤系統由跟蹤信息緩存單元、傳輸控制單元和PC端解析單元組成,如圖1所示。其中,跟蹤信息緩存單元負責對跟蹤信息的組裝和跟蹤緩存的管理,傳輸控制單元負責將跟蹤信息從跟蹤緩存搬移到PC端,PC端解析單元負責對跟蹤信息進行解析。

跟蹤緩存管理機制是指如何管理該跟蹤緩存的讀寫權限,如何記錄讀寫索引的變化[3]。在有跟蹤備份緩存的跟蹤方案中,跟蹤緩存管理機制還負責對備份緩存的管理。在跟蹤系統中,所有跟蹤信息在跟蹤點輸出時被封裝成為固定幀格式(消息頭+消息內容),寫入到跟蹤信息緩存單元中同一個長度為X字節的環形隊列。

圖1 實時跟蹤系統結構

由于Nucleus多任務操作系統下實時跟蹤系統中跟蹤源主要分為低級中斷、高級中斷/定時器和任務等[4],因此在對跟蹤源中的跟蹤點進行跟蹤的過程中,不同優先級的跟蹤點可能出現對全局跟蹤信息緩存的競爭。跟蹤沖突場景如圖2所示。跟蹤信息緩存單元中僅設置了一個寫指針訪問跟蹤信息緩存,保證了跟蹤信息的有序性,但不同優先級跟蹤源進行切換時會產生沖突,需要對寫指針現場進行保護。

圖2 跟蹤沖突場景

由于阻塞高優先級任務會造成系統流程異常,在產生沖突時,為了保證跟蹤信息完整性,同時又不能阻塞高優先級任務,只能丟棄高優先級任務中的跟蹤請求。當操作系統任務頻繁切換時,會出現較多跟蹤信息丟棄的現象。跟蹤信息丟棄現象的特征是跟蹤信息整條丟失、連續丟失(主動搶占任務中的所有跟蹤),且跟蹤信息丟棄與跟蹤信息傳輸損耗無關。因此,跟蹤系統中的緩存機制有待優化。

2 跟蹤優化方案一

2.1 物理緩存管理機制

物理緩存管理機制采用含跟蹤頭、跟蹤信息內容和跟蹤尾的跟蹤信息幀格式,在跟蹤源數據相互被打斷的過程中不考慮跟蹤信息的完整性,按照打斷的優先級順序將跟蹤信息寫入跟蹤緩存。跟蹤信息寫入場景如圖3所示。任務1跟蹤信息寫入跟蹤信息緩存過程中,被高級中斷/定時器打斷。高級中斷/定時器將其跟蹤信息頭寫入當前寫指針處,直至整條跟蹤信息寫入完成。任務1獲得執行權,其未寫完的跟蹤信息緊接著高級中斷/定時器跟蹤信息尾部寫入,直至整條跟蹤信息寫入完成。

2.2 傳輸控制機制

圖3 跟蹤寫入場景一

實時跟蹤系統通過串口進行PC端和ARM子系統之間的通信,傳輸控制單元描述了PC端和ARM子系統之間的通信流程,它采用DMA總線控制器進行跟蹤信息搬移。DMA是一種不經過ARM處理器的CPU而直接從內存中存取數據的數據交換模式。在DMA模式下,CPU只需向DMA總線控制器下達指令,使其處理數據的傳送,接收數據傳送完畢的反饋信息,從而大大減輕了CPU資源占有率。傳輸控制單元采取DMA同步中斷發送跟蹤信息,每次以等長字節傳輸,將跟蹤信息搬移至串口發送寄存器中,再通過配置串口發送寄存器,將跟蹤信息發送至PC端解析顯示單元[5]。

2.3 遞歸調用解析機制

根據圖4中的跟蹤緩存場景,為保證跟蹤信息的完整連續性,解析單元采用遞歸調用的方式解析當前碼流。

圖4 方案一跟蹤緩存場景

首先在PC端跟蹤信息解析單元開辟一個環形隊列(即循環緩存)用于存放串口輸出的跟蹤信息,通過一個讀指針訪問該循環緩存并進行遞歸調用解析。同時在PC端開辟一個大小為N×L的跟蹤緩存空間(即N個長度為L的連續緩存空間)用于存放解析出的完整跟蹤信息,每一塊長度為L的緩存存放一條完整的跟蹤信息。申請一個指針數組,用于保存每一個完整內存的起始地址,即記錄N×L緩存中每次寫指針的變化情況。跟蹤信息遞歸解析函數流程如圖5所示。

圖5 方案一跟蹤信息遞歸解析函數流程

最后將解析完成的跟蹤信息碼流轉換成為可見字符,在PC機上顯示輸出。

3 跟蹤優化方案二

3.1 備份緩存管理機制

備份緩存管理機制采用含跟蹤頭和跟蹤信息的跟蹤信息幀格式,將跟蹤信息寫入一個大小為N的全局跟蹤信息緩存中。為避免在任務切換頻繁時當前任務被高優先級任務打斷造成數據丟失,申請一個嵌套深度為M的備份緩存來存放高優先級任務跟蹤信息。其中,備份緩存區域每塊子緩存的長度均為m,設置跟蹤忙碌標識位,初始值為0。跟蹤源通過調用跟蹤系統提供的跟蹤接口函數,將跟蹤忙碌標識置1,并將當前跟蹤源跟蹤信息填入全局跟蹤信息緩存。完成當前跟蹤信息寫入操作后,將跟蹤忙碌標識置0。若當前跟蹤源在進行寫入操作,即跟蹤忙碌標識為1時,高優先級任務調用跟蹤接口,則將高級任務的跟蹤信息寫入備份緩存中,當前跟蹤源繼續進行未完成的寫操作。每次寫完當前跟蹤信息,檢查備份緩存中是否有數——若有,則將備份緩存中的跟蹤信息拷回至全局跟蹤信息緩存中(跟蹤緩存場景如圖6所示),即在當前任務跟蹤信息寫入跟蹤信息緩存時,若高級任務到來,則將高級任務跟蹤信息進行封裝并寫入備份緩存。當前跟蹤結束寫入操作輸出成功后,檢查備份緩存中是否存在跟蹤信息——若有,則將備份緩存中的跟蹤信息回拷至全局跟蹤信息緩存中,從而保證全局跟蹤信息緩存中跟蹤信息的連續性。

3.2 傳輸控制機制

同跟蹤優化方案一中傳輸控制機制。

3.3 普通查詢解析機制

根據跟蹤緩存管理機制二,由于全局跟蹤信息緩存中跟蹤信息呈完整連續分布,解碼方式采用遍歷查詢方式。

首先,在PC端跟蹤信息接收單元開辟一個環形隊列(即解析前循環緩存),用于存放從串口接收的跟蹤信息。

然后在PC端解析顯示單元開辟一個解析后循環緩存,用于存放解析后的完整跟蹤信息。使用讀指針遍歷解析前循環緩存,查詢到以跟蹤頭標識X開頭的字符串,將其后的完整跟蹤信息寫入解析后循環緩存中,直至下一次遇到跟蹤頭標識X,記錄解析前循環緩存讀索引并保存當前解析后循環緩存寫索引。循環以上操作,將解析前循環緩存中的跟蹤信息依次解析,并放入解析后循環緩存中。

最后將解析后循環緩存中解析完成的完整跟蹤信息碼流轉換成為可見字符,在PC機上顯示輸出。

4 性能分析比較

4.1 跟蹤優化方案一

將跟蹤信息按物理連續存儲方式存儲數據,即跟蹤源在單條跟蹤信息組裝過程中,通過全局寫指針控制跟蹤信息寫入。所有跟蹤點均跟蹤當前優先級秩序,對跟蹤信息緩存區進行寫操作,保證僅有一個跟蹤信息緩存,且跟蹤源相互搶占時根據優先級高低對跟蹤緩存進行寫操作。該機制跟蹤緩存中的跟蹤信息呈現嵌套、打斷的不完整碼流。

圖6 方案二跟蹤緩存場景

跟蹤信息發送機制采取跟蹤接口函數中觸發傳輸裝置搬移數據。在傳輸控制單元,通過配置DMA總線,將全局跟蹤信息緩存中的跟蹤信息搬移至串口寄存器中。PC端接收裝置從串口寄存器中取出數據,放入PC端解析單元緩存空間,通過跟蹤信息遞歸解析機制,將不完整的跟蹤信息解析為完整連續的跟蹤信息。其中每個跟蹤信息緩存區尾部都設置一個保護數據區,保護區長度為單條信息最大長度L。

該方案解決了跟蹤信息丟失問題,在PC端解析顯示單元對不連續碼流進行解碼。由于該機制在嵌入式跟蹤緩存單元中采取物理連續存儲數據方式,降低了跟蹤軟件對ARM系統資源的消耗,保證了在高速運行情況下跟蹤系統對ARM處理器CPU的消耗盡可能低。從而避免在高速運行的系統中,由于跟蹤系統占用大量CPU導致系統運行速率低。該方案適用于對ARM子系統運行速率要求較高的終端系統。

4.2 跟蹤優化方案二

在嵌入式跟蹤信息緩存單元申請一個全局跟蹤信息環緩存空間,同時申請一組備份緩存。寫指針沖突時,高級任務的跟蹤信息被寫入備份緩存中,當前跟蹤源繼續將其跟蹤信息寫入全局跟蹤信息緩存。每次寫完當前條跟蹤信息,檢查備份緩存中是否有數——若有,則將其拷回至全局緩存中。該機制根據任務優先級高低來管理寫指針,解決了寫指針沖突導致跟蹤信息不連續的問題。

在傳輸控制單元,通過配置DMA總線,設置發送目的地址及長度,將全局跟蹤信息緩存中的跟蹤信息搬移至串口寄存器中。PC端接收裝置從串口寄存器中取出數據,放入PC端解析顯示單元跟蹤信息緩存區域,通過跟蹤信息普通查詢解析機制,將以X開頭并以X結尾的完整跟蹤信息解析出來。其中每個跟蹤信息緩存區尾部都設置一個保護數據區,保護區長度為單條信息最大長度L。

該方案通過備份緩存機制解決了數據丟失問題,保證了跟蹤信息輸出的連續性和完整性。但由于備份緩存向全局跟蹤緩存進行跟蹤信息回拷過程,要大量占用ARM處理器CPU資源,導致該方案在對嵌入式系統運行速率要求高的環境中運行效率較低。

結 語

針對現有的跟蹤軟件運行速率低、跟蹤信息亂序、丟失嚴重等情況,提出了兩種解決方案。一種是在ARM端采取物理連續存儲方式進行編碼,在PC端通過遞歸調用算法對嵌套跟蹤信息進行重新組裝,最后將解析后完整的碼流轉化為可見字符串輸出。此方案適用于對ARM子系統運行速率要求較高,且PC端可用資源充足的軟件跟蹤系統。另一種方案是在ARM端將高級任務跟蹤信息寫入備份緩存,再通過數據回拷方式將備份緩存中的跟蹤信息寫入全局跟蹤信息緩存區域。該方案在PC端解碼時只需查詢跟蹤頭標識進行解碼,并將解析后連續的碼流轉化為可見字符串輸出,適用于對嵌入式系統運行速率要求不高且PC端資源有限的軟件跟蹤系統。

以上兩種方案均能保證輸出跟蹤信息的連續完整性,解決了Nucleus實時操作系統下低優先級任務會被高優先級任務搶占,從而可能出現的跟蹤任務沖突而導致的跟蹤信息相互覆蓋、亂序等問題,為軟件開發人員分析定位問題提供了更可靠的嵌入式軟件實時跟蹤系統,提高了其分析解決問題的效率。

[1]黃紅燕.嵌入式系統調試技術的分析與設計[D].杭州:浙江大學,2006.

[2]Accelerated Technology Inc.Nucleus PLUS Reference Manual[EB/OL].(1999-6-16)[2011-10-23].http://www.atinucleus.com.

[3]鐘耿.嵌入式系統片上調試研究[D].杭州:浙江大學,2008.

[4]R Leatherman,N Stollon.An Embedding Debugging Architecture for SoCs[J].Potentials IEEE,2005,24(1):12-16.

[5]A Milenkovic,V Uzelac,M Milenkovic,et al.Caches and Predictors for Real-Time,Unobtrusive,and Cost-Effective Program Tracing in Embedded Systems[J].IEEE Transactions on Computers,2011,60(7):992-1005.

猜你喜歡
嵌入式調試信息
基于航拍無人機的設計與調試
電子制作(2018年12期)2018-08-01 00:47:44
搭建基于Qt的嵌入式開發平臺
FOCAS功能在機床調試中的開發與應用
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
無線通信中頻線路窄帶臨界調試法及其應用
電子制作(2017年19期)2017-02-02 07:08:38
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
調壓柜的調試與試運行探討
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
Altera加入嵌入式視覺聯盟
倍福 CX8091嵌入式控制器
自動化博覽(2014年4期)2014-02-28 22:31:15
主站蜘蛛池模板: 亚洲天堂成人在线观看| 在线播放真实国产乱子伦| 婷婷五月在线| 日本精品影院| 国产在线91在线电影| 亚洲最新在线| 欧美三級片黃色三級片黃色1| 久久窝窝国产精品午夜看片| 免费jjzz在在线播放国产| 欧美a在线看| 日韩精品一区二区三区视频免费看| 久久这里只精品国产99热8| 成人在线不卡| 99久久精品无码专区免费| 色综合久久88色综合天天提莫 | 538精品在线观看| 国产精品流白浆在线观看| 成人在线视频一区| 四虎成人在线视频| 免费人成视频在线观看网站| 激情国产精品一区| 亚洲欧美日韩中文字幕一区二区三区| V一区无码内射国产| 免费又爽又刺激高潮网址| 欧美h在线观看| 国产尤物jk自慰制服喷水| 日韩无码白| 东京热高清无码精品| 97综合久久| yjizz视频最新网站在线| 99热这里只有精品国产99| 久久天天躁夜夜躁狠狠| 国产激情无码一区二区免费| 99这里只有精品在线| 99国产精品国产高清一区二区| 亚洲床戏一区| 夜精品a一区二区三区| 精品国产aⅴ一区二区三区| 午夜激情婷婷| 亚洲综合第一页| 久久久久无码国产精品不卡| 国产精品久久国产精麻豆99网站| 日韩美毛片| 狠狠综合久久| 亚洲国产天堂久久九九九| 91精品日韩人妻无码久久| 88国产经典欧美一区二区三区| 亚洲午夜国产片在线观看| 久久天天躁狠狠躁夜夜躁| 国产精品免费福利久久播放 | 国产SUV精品一区二区6| 色婷婷在线影院| 无码电影在线观看| 午夜欧美理论2019理论| 野花国产精品入口| 久久大香伊蕉在人线观看热2| 欧美在线黄| 黄色国产在线| 亚洲精品桃花岛av在线| 97亚洲色综久久精品| 亚洲日韩每日更新| 欧美丝袜高跟鞋一区二区| 波多野结衣视频一区二区 | 高潮爽到爆的喷水女主播视频| 国产www网站| 欧美不卡二区| 伊人色综合久久天天| 日本中文字幕久久网站| 色哟哟国产成人精品| 久久久亚洲色| 精品一区二区三区无码视频无码| 视频二区中文无码| 亚洲最黄视频| 亚洲一级毛片免费观看| 在线中文字幕日韩| 看国产一级毛片| 欧美一级黄片一区2区| 久久久黄色片| 久久久噜噜噜| 久久综合九色综合97网| a级免费视频| 久久久噜噜噜|