多核調(diào)試新方法探討_第1頁
全文預覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、多核調(diào)試新方法探討對于裝置而言,多核技術(shù)可以提供更高的處理器性能、更有效的電源利用率,并且占用更少的物理空間,因而具有許多優(yōu)勢。要想充分發(fā)揮多核以及多處理解決計劃的潛能,僅僅擁有高性能的芯片是不夠的,還需要采納新的編程辦法、調(diào)試辦法和工具。在傳統(tǒng)上,jtag調(diào)試技術(shù)主要是用于硬件bring-up,如今也經(jīng)常被用于協(xié)作基于代理的調(diào)試(agent-based debugging)。然而,在多核和多處理的環(huán)境中,片上調(diào)試(on-chip debugging)正在飾演著越來越重要的角色。多核軟件調(diào)試的難點所在多核環(huán)境顯著增強了系統(tǒng)復雜度,因此在對操作系統(tǒng)和與多核相關(guān)的硬件舉行調(diào)試的時候,就必需采納一整

2、套更有效的工具。在嵌入式軟件開發(fā)工作中,多核主要展現(xiàn)為多處理的形式,而這些處理器的內(nèi)核不一定要處在同一個芯片之中。不論這些處理器內(nèi)核是在同一個芯片之中,或者是分布在同一個板中的多個芯片之中,甚至是同一個系統(tǒng)中的多個電路板之中,開發(fā)人員都必需解決好多處理環(huán)境中的調(diào)試問題。多核與多處理技術(shù)為系統(tǒng)調(diào)試帶來了許多新的挑戰(zhàn),由于系統(tǒng)復雜度不斷增強,要通過優(yōu)化硬件和軟件來充分發(fā)揮其中的性能潛力,難度就更大了。其中最主要的挑戰(zhàn)來自以下幾個方面:第一,有效地管理內(nèi)存和外設等分享資源;其次,在多內(nèi)核、多電路板和多操作系統(tǒng)的環(huán)境中對操作系統(tǒng)和應用代碼舉行調(diào)試;第三,優(yōu)化jtag接口并充分利用jtag帶寬;第四,調(diào)

3、試單一芯片中的同構(gòu)和異構(gòu)多核,進而實現(xiàn)囫圇系統(tǒng)的協(xié)同調(diào)試;第五,有效地利用jtag與基于代理的調(diào)試辦法,確保不同調(diào)試工具之間的順暢協(xié)同;第六,確保多核環(huán)境中應用調(diào)試的同步機制。在多核調(diào)試中,主要是在解決一個核心問題由廠商所提供的jtag接口所造成的局限性。為了節(jié)約成本,許多soc廠商都只為芯片提供單一的jtag接口,而不理睬其中包含了多少個內(nèi)核。對于開發(fā)者來說,最大的挑戰(zhàn)就是經(jīng)濟有效地用法這些接口來同步多核以及多處理的調(diào)試工作,而常常用到的就是采納ieee 1149.1標準daisy-chain辦法。在jtag接口中有4條線:tdi、tdo、tck和tms。為了在多核調(diào)試中能夠與ltag接口相

4、連,主要涉及到tdi和tdo。在daisy-chain中,前一個內(nèi)核的輸出被銜接到后一個內(nèi)核的輸入,以這種方式銜接,直到抵達全部的內(nèi)核。daisy-chain辦法是基于標準的,得到了廣泛的應用,并且在全部的多核環(huán)境中都是有效的。在daisy-chain辦法中,jtag調(diào)試器利用jtag服務器的軟件接口來解決多核環(huán)境中常常碰到的jtag銜接受限問題。不論內(nèi)核位于何處,jtag服務器都可通過jtag接口來實現(xiàn)每個內(nèi)核的編址。jtag服務器也協(xié)助開發(fā)者實現(xiàn)同一個jtag下的內(nèi)核同步、進程的起始與停止以及銜接的增強和移除,而且不會影響到掃描鏈(scan-chain)中的處理器或囫圇系統(tǒng)。這種辦法可以保

5、持精確的時鐘,同時為跨越多個內(nèi)核的不同操作系統(tǒng)或者同一個操作系統(tǒng)中不同進程的調(diào)試提供方便,而daisy-chain辦法的核心目標是性能和jtag帶寬的充分利用。daisy-chain辦法中jtag的主要問題是在shift-ir階段發(fā)送的數(shù)據(jù)量取決于在掃描鏈中發(fā)出數(shù)據(jù)的裝置數(shù)量以及每個設備的ir長度。例如,在一個包含3個裝置的daisy-chain中拜訪一個8位ir寄存器需要24bit的數(shù)據(jù)量。這類問題對于dr同樣存在,但因為一個處于bypass模式的裝置在shift-dr階段事實上只需要1bit的數(shù)據(jù),從而使這類問題的影響變得比較小。假如jtag服務器能夠設計得恰如其分,幾乎就可以避開對性能造

6、成任何影響。這也正是wind river所提供的jtag解決計劃的最大特色。ocd是多核調(diào)試利器單一調(diào)試器的主流辦法仍然是jtag多路技術(shù)。這種技術(shù)對ieee jtag標準規(guī)范舉行了拓展,以便為通過分享jtag接口銜接起來的每個內(nèi)核提供自立的調(diào)試器。在多路技術(shù)的支持下,通過對希翼調(diào)試的內(nèi)核舉行注冊記下(registering),開發(fā)人員可經(jīng)由單一jtag接口拜訪多個離散狀態(tài)的內(nèi)核。這種解決計劃的最大優(yōu)勢在于它的銜接和調(diào)試性能。由于多路技術(shù)單獨銜接到每個內(nèi)核,因而避開了daisy-chaining辦法中所碰到的比特位移(bit shifting)方面的棘手,因而在單芯片中的多核系統(tǒng)中具有更高的性

7、能。這種方式的另一個益處是不需要對開發(fā)工具舉行修改,從而可以順暢地應用在多個開發(fā)項目之中。多路技術(shù)辦法所存在的主要問題是在多內(nèi)核調(diào)試過程中無法同時啟動和停止內(nèi)核來同步應用。假如要停止所有內(nèi)核,開發(fā)人員只能挨次地逐個舉行,這就引發(fā)了調(diào)用延遲問題。在調(diào)試過程中的延遲問題,會導致很難在內(nèi)核之間的操作系統(tǒng)、中間件和應用中找到發(fā)生問題確實切位置,特殊是當運行在不同內(nèi)核之中的應用存在互相依靠性的時候,這個問題就更為突出。例如,某個產(chǎn)品包含功能和 9內(nèi)核,其中dsp用來處理視頻流,arm 9內(nèi)核提供文件系統(tǒng),那么內(nèi)核的啟動與停止同步將會非常關(guān)鍵。假如調(diào)試過程中在arm內(nèi)核的啟動和dsp的停止之間浮現(xiàn)過多的延

8、遲,dsp視頻流數(shù)據(jù)很快就會溢滿arm文件緩沖區(qū),而視頻流也將會中止。假如浮現(xiàn)這種狀況,就很難推斷系統(tǒng)中的問題出在哪里。而且,多路進程也給開發(fā)人員在故障排解時帶來了許多新的問題,將會大幅度增強調(diào)試時光。另外,假如在有多個廠商芯片組成的異構(gòu)多核環(huán)境中舉行調(diào)試工作,例如處理器來自一個廠商,而dsp器件來自另一個廠商,還會有更復雜的問題需要處理。由于這種狀況下的多路(muxing)機制更為復雜,假如各部分之間的兼容性沒有得到保證,也就很難保證系統(tǒng)正常運行。此時,僅僅依賴多路技術(shù)是無法解決問題的,開發(fā)人員就需要采納可編址掃描端口(addressable scan port),這也可能是最后僅有的辦法了

9、。這種架構(gòu)需要用到十分特別的組件,這些組件可以讓開發(fā)人員把jtag掃描鏈分割成多個功能組,并通過唯一的地址來拜訪每個功能組。這是一種多支路(multi-drop)架構(gòu),常常被用于底板(backplane)環(huán)境之中。在這里,有一個分離可編址的掃描鏈在底板內(nèi)實現(xiàn)路由(routed),從而使機箱中的每個底板都擁有自己專屬的掃描鏈。這種架構(gòu)的運行速度受限于可編址掃描端口的速度,最典型的狀況是25mhz??傊?,在多核開發(fā)中,jtag調(diào)試可以擔當十分有價值的角色,有效地充實“編輯-編譯-調(diào)試”周期時光。然而,實現(xiàn)這一點的前提是把jtag調(diào)試與基于標準的集成化開發(fā)環(huán)境(例如eclipse)緊密地集成起來。最

10、抱負的技術(shù)計劃是,在daisy chain中采納遵從ieee 1149.1 jtag標準的單一的jtag調(diào)試器,而jtag的主要作用是充實系統(tǒng)的吞吐能力和性能。在on-chip debugging(片上調(diào)試)方面,wind river可以提供獨有的能力,在其產(chǎn)品中有效地集成了基于代理的調(diào)試技術(shù),從而協(xié)助開發(fā)人員,即使在瀕臨十分復雜的系統(tǒng)時,也可以極大地充實調(diào)試工作效率。利用wind river提供的jtag解決計劃,也就是workbench on-chip debugging,開發(fā)人員可以同時停止或者啟動任何內(nèi)核,在一個或者多個內(nèi)核上設置斷點,其中還可以包括條件斷點。此外,workbench eclipse框架和基于代理的調(diào)試方式使開發(fā)人員在單一控制臺上即可管理多內(nèi)核/多處理應用的開發(fā)。開發(fā)人員可以在jtag調(diào)試和基于

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論