新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式軟件跟蹤調(diào)試技術(shù)的研究與設(shè)計(jì)

嵌入式軟件跟蹤調(diào)試技術(shù)的研究與設(shè)計(jì)

作者: 時間:2012-02-21 來源:網(wǎng)絡(luò) 收藏

摘要:針對在實(shí)時操作系統(tǒng)環(huán)境下高低優(yōu)先級任務(wù)切換過程引起的信息亂序和丟失問題,對信息嵌套緩存機(jī)制和解析機(jī)制進(jìn)行了,提出了物理緩存管理機(jī)制與遞歸調(diào)用解析機(jī)制相結(jié)合、備份緩存管理機(jī)制與普通查詢解析機(jī)制相結(jié)合的兩種方案,解決了跟蹤信息亂序和丟失問題,提高了跟蹤系統(tǒng)的運(yùn)行效率。
關(guān)鍵詞:實(shí)時操作系統(tǒng);緩存管理;跟蹤

引言
系統(tǒng)是當(dāng)今計(jì)算機(jī)領(lǐng)域的熱點(diǎn),實(shí)時性是嵌入式系統(tǒng)的基本要求。隨著嵌入式的不斷發(fā)展,在嵌入式應(yīng)用的不斷增長以及嵌入式系統(tǒng)復(fù)雜性不斷提高的情況下,階段在整個系統(tǒng)開發(fā)過程中所占的比重越來越大。環(huán)境和調(diào)試直接影響開發(fā)的效率和質(zhì)量,高效的調(diào)試系統(tǒng)可以大大減少嵌入式系統(tǒng)開發(fā)的時間,減輕系統(tǒng)開發(fā)工作量。
跟蹤調(diào)試系統(tǒng)主要有JTAG在線調(diào)試和運(yùn)行時跟蹤調(diào)試兩種方式。JTAG在線調(diào)試在調(diào)試實(shí)時系統(tǒng)時有很大的局限性,如通過斷點(diǎn)查詢完參數(shù)后系統(tǒng)無法再按照正常時序運(yùn)行,以及無法檢測到系統(tǒng)順序化執(zhí)行的變遷狀態(tài)。運(yùn)行時跟蹤調(diào)試采用插樁,通過在程序中嵌入跟蹤點(diǎn),開發(fā)人員可以在程序運(yùn)行過程中通過跟蹤點(diǎn)實(shí)時觀察輸出的信息,如各模塊之間進(jìn)行交互的信息以及程序運(yùn)行的順序等。
本項(xiàng)目的實(shí)時跟蹤系統(tǒng)基于運(yùn)行時跟蹤調(diào)試手段,采用ARM11系列處理器作為硬件開發(fā)平臺,運(yùn)行于Nucleus實(shí)時操作系統(tǒng)上。Nucl eus實(shí)時操作系統(tǒng)為搶先式多任務(wù)操作系統(tǒng),在程序執(zhí)行過程中,低優(yōu)先級任務(wù)會被高優(yōu)先級任務(wù)搶占,可能出現(xiàn)跟蹤任務(wù)沖突而導(dǎo)致跟蹤信息相互覆蓋、亂序等問題。特別是在跟蹤信息量較大時,一旦超過傳輸峰值就會造成跟蹤信息的丟失。該實(shí)時跟蹤系統(tǒng)采用特殊緩存機(jī)制和解析機(jī)制,能夠解決跟蹤信息丟失的問題,實(shí)現(xiàn)跟蹤信息的完整、有序傳輸。

1 原始跟蹤方案
實(shí)時跟蹤系統(tǒng)由跟蹤信息緩存單元、傳輸控制單元和PC端解析單元組成,如圖1所示。其中,跟蹤信息緩存單元負(fù)責(zé)對跟蹤信息的組裝和跟蹤緩存的管理,傳輸控制單元負(fù)責(zé)將跟蹤信息從跟蹤緩存搬移到PC端,PC端解析單元負(fù)責(zé)對跟蹤信息進(jìn)行解析。

本文引用地址:http://m.butianyuan.cn/article/149589.htm

a.jpg


跟蹤緩存管理機(jī)制是指如何管理該跟蹤緩存的讀寫權(quán)限,如何記錄讀寫索引的變化。在有跟蹤備份緩存的跟蹤方案中,跟蹤緩存管理機(jī)制還負(fù)責(zé)對備份緩存的管理。在跟蹤系統(tǒng)中,所有跟蹤信息在跟蹤點(diǎn)輸出時被封裝成為固定幀格式(消息頭+消息內(nèi)容),寫入到跟蹤信息緩存單元中同一個長度為X字節(jié)的環(huán)形隊(duì)列。
由于Nucleus多任務(wù)操作系統(tǒng)下實(shí)時跟蹤系統(tǒng)中跟蹤源主要分為低級中斷、高級中斷/定時器和任務(wù)等,因此在對跟蹤源中的跟蹤點(diǎn)進(jìn)行跟蹤的過程中,不同優(yōu)先級的跟蹤點(diǎn)可能出現(xiàn)對全局跟蹤信息緩存的競爭。跟蹤沖突場景如圖2所示。跟蹤信息緩存單元中僅設(shè)置了一個寫指針訪問跟蹤信息緩存,保證了跟蹤信息的有序性,但不同優(yōu)先級跟蹤源進(jìn)行切換時會產(chǎn)生沖突,需要對寫指針現(xiàn)場進(jìn)行保護(hù)。

b.jpg


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

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁 1 2 3 4 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉