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

多核調試新方法探討

2007-12-31 00:00:00
電子產品世界 2007年12期

對于嵌入式裝置而言,多核技術可以提供更高的處理器性能、更有效的電源利用率,并且占用更少的物理空間,因而具有許多優勢。

要想充分發揮多核以及多處理解決方案的潛能,僅僅擁有高性能的芯片是不夠的,還需要采用新的編程方法、調試方法和工具。在傳統上,JTAG技術主要是用于硬件調試,如今也常常用于基于代理的調試(Agent-based debugging)。然而,在多核和多處理的環境中,片上調試(On-chip debugging)正在扮演著越來越重要的角色。

多核軟件調試的難點

多核環境顯著增加了系統復雜度,因此在對操作系統和與多核相關的硬件進行調試的時候,就必須采用一整套更有效的工具。在嵌入式軟件開發工作中,多核主要呈現為多處理器的形式,而這些處理器的內核不一定要處在同一個芯片內。不論這些處理器內核是在同一個芯片內,或者是分布在同一個電路板中的多個芯片內,甚至是同一個系統中的多個電路板內,開發人員都必須解決好多處理器環境中的調試問題。

多核與多處理器技術為系統調試帶來了許多新的挑戰,因為系統復雜度不斷增加,要通過優化硬件和軟件來充分發揮其性能潛力,難度就更大了。其中最主要的挑戰來自以下幾個方面:

有效地管理內存和外設等共享資源;

在多內核、多電路板和多操作系統的環境中對操作系統和應用代碼進行調試;

優化JTAG接口并充分利用JTAG帶寬;

調試單個芯片中的同構和異構多核,進而實現整個系統的協同調試;

有效地利用JTAG與基于代理的調試方法,確保不同調試工具之間的順暢協同;

確保多核環境中應用調試的同步機制。

在多核調試中,主要是在解決一個核心問題一由SoC廠商所提供的JTAG接口所造成的局限性。為了節省成本,許多SoC廠商都只為芯片提供單一的JTAG接口,而不管包含多少個內核。對于開發者來說,最大的挑戰就是經濟有效地使用這些接口來同步多核以及多處理的調試,而經常用到的就是采用IEEE 1149.1標準Daisy-chain(菊型鏈)方法。

在JTAG接口中有4條線:TDI、TDO、TCK和TMS。在多核調試中主要使用TDI和TDO。在Daisy-chain中,前一個內核的輸出被連接到后一個內核的輸入,以這種方式連接到所有內核。Daisy-chain方法是基于標準的,得到了廣泛的應用,并且在所有的多核環境中都是有效的。

在Daisy-chain方法中,JTAG調試器利用JTAG服務器的軟件接口來解決多核環境中經常遇到的JTAG連接受限問題。不論內核位于何處,JTAG服務器都可通過JTAG接口來實現每個內核的編址。JTAG服務器也幫助開發者實現同一個JTAG下的內核同步、進程的起始與停止以及連接的增加和移除,而且不會影響到掃描鏈中的處理器或整個系統。這種方法可以保持精確的時鐘,同時為跨越多個內核的不同操作系統或者同一個操作系統中不同進程的調試提供便利,而Daisy-chain方法的核心目標是JTAG性能和帶寬的充分利用。

Daisy-chain方法中JTAG的主要問題是,在Shift-IR(移位一指令寄存器)階段發送的數據量取決于掃描鏈中發出數據的裝置數量以及每個設備的IR長度。例如,在一個包含3個裝置的Daisy-chain中訪問一個8位m寄存器需要24bit的數據量。這類問題對于DR(數據寄存器)同樣存在,但由于一個處于旁路模式的裝置在Shift-DR階段實際上只需要1bit的數據,從而使這類問題的影響變得比較小。如果JTAG服務器能夠設計得恰如其分,幾乎就可以避免對性能造成任何影響。這也正是WindRiver(風河)公司所提供的JTAG解決方案的最大特色。

片上調試是多核調試的利器

單一調試器的主流方法仍然是JTAG多路技術。這種技術對IEEE JTAG標準規范進行了拓展,以便為通過共享JTAG接口連接起來的每個內核提供獨立的調試器。在多路技術的支持下,通過對希望調試的內核進行注冊登記,開發人員可經由單一JTAG接口訪問多個離散狀態的內核。這種解決方案的最大優勢在于它的連接和調試性能。因為多路技術單獨連接到每個內核,因而避免了Daisy-chain方法中所遇到的比特位移(Bit shifting)方面的麻煩,因而在單芯片中的多核系統中具有更高的性能。這種方式的另一個好處是不需要對開發工具進行修改,就可以順暢地應用在多個開發項目之中。

多路技術方法所存在的主要問題是,在多內核調試過程中無法同時啟動和停止內核作同步應用。如果要停止全部內核,開發人員只能順序地逐個進行,這就引發了調用延遲問題。調試過程的延遲會導致很難在內核之間運行的操作系統、中間件和應用中找到發生問題的確切位置,特別是當運行在不同內核之中的應用存在相互依賴性的時候,這個問題就更為突出。例如,某個產品包含DSP功能和ARM9內核,其中DSP用來處理視頻流,ARM9內核提供文件系統,那么內核的啟動與停止的同步將會十分關鍵。

如果調試過程中,在ARM內核的啟動和DSP的停止之間出現過多的延遲,DSP視頻流數據很快就會溢滿ARM文件緩沖區,而視頻流也將會中止。如果出現這種情況,就很難判斷系統的問題出在哪里。而且,多路進程也給開發人員在故障排除時帶來了許多新的問題,將會大幅度增加調試時間。

另外,如果在有多個廠商芯片組成的異構多核環境中進行調試工作,例如處理器來自一個廠商,而DSP器件來自另一個廠商,還會有更復雜的問題需要處理。此時,僅僅依靠多路技術是無法解決問題的,開發人員就需要采用可編址掃描端口(Addressable scan port),這也可能是最后僅有的方法了。

這種架構需要用到非常特殊的組件,這些組件可以讓開發人員把JTAG掃描鏈分割成多個功能組,并通過唯一的地址來訪問每個功能組。這是一種多支路架構,經常被用于底板環境中。這里,可編址掃描鏈在底板內分別實現路由,使機箱中的每個底板都擁有自己專屬的掃描鏈。這種架構的運行速度受限于可編址掃描端口的速度,典型值是25MHz。

總之,在多核開發中,JTAG調試可以承擔非常有價值的角色,有效地改善“編輯一編譯一調試”周期時間。然而,實現這一點的前提是把JTAG調試與基于標準的集成化開發環境(例如EcUpse)緊密地集成起來。最理想的技術方案是,在DaisyChain中采用遵從IEEE 1149.1 JTAG標準的單一的JTAG調試器,而JTAG的主要作用是改善系統的吞吐能力和性能。

片上調試方面,Wind River可以提供獨特的JTAG解決方案,也就是工作臺片上調試(OCD),開發人員可以同時停止或者啟動任何內核,在一個或者多個內核上設置斷點,還可以包括條件斷點。此外,Workbench EcUpse框架和基于代理的調試方式,使開發人員在單一控制臺上即可管理多內核/多處理器應用的開發。

開發人員可以在JTAG調試和基于代理調試二者之間靈活地選擇,例如在硬件Bring-Up、內核、中間件和其他應用功能調試的時候采用JTAG連接,然后在自己認為適當的時候平滑地轉移到基于代理的調試,而這些調試工作都是圍繞著同一個應用的。這些能力都會增加不同開發人員之間的協同能力,同時改善異常問題的判定效率,從而加快整個開發與調試進程。

主站蜘蛛池模板: 国产精品女人呻吟在线观看| 国产色婷婷视频在线观看| 在线免费看片a| a级毛片视频免费观看| 婷婷综合缴情亚洲五月伊| 亚洲婷婷六月| 国产精品自在在线午夜区app| 亚洲人成高清| 黄色网站不卡无码| 国产男女XX00免费观看| 亚洲天堂免费| 免费毛片视频| 制服丝袜一区二区三区在线| 国产在线一区视频| 久久国产av麻豆| 午夜精品久久久久久久无码软件| 亚洲人成网址| 成人国产精品一级毛片天堂| 色综合天天娱乐综合网| 国产高清免费午夜在线视频| 国产综合色在线视频播放线视| 91小视频在线播放| 精品欧美一区二区三区久久久| 欧美三级视频网站| 露脸真实国语乱在线观看| 久久久黄色片| 一本色道久久88综合日韩精品| 免费一级毛片| 久久国产亚洲欧美日韩精品| 天天操精品| 在线综合亚洲欧美网站| 女人18毛片一级毛片在线| 国产拍揄自揄精品视频网站| 国产精品成人AⅤ在线一二三四| 欧美精品1区| 日韩123欧美字幕| 国产h视频在线观看视频| 激情午夜婷婷| 久久综合九色综合97婷婷| 日韩精品成人在线| 日韩在线网址| 亚洲三级影院| 欧美区国产区| 午夜精品久久久久久久2023| 亚洲欧洲自拍拍偷午夜色| a免费毛片在线播放| 极品国产在线| a免费毛片在线播放| 日本免费a视频| 欧美国产在线看| 午夜激情福利视频| 中文字幕不卡免费高清视频| 美女免费黄网站| 婷婷综合缴情亚洲五月伊| 成人午夜免费视频| 在线观看国产精美视频| 日韩在线影院| 亚洲人成网线在线播放va| h网址在线观看| 99热这里只有精品5| 国产日韩欧美在线视频免费观看| 在线观看精品国产入口| 国产激爽大片高清在线观看| 真实国产乱子伦视频| 91精品国产91久久久久久三级| 美女国内精品自产拍在线播放| 国产成本人片免费a∨短片| 亚洲欧美成aⅴ人在线观看| 日韩av手机在线| 欧美亚洲国产日韩电影在线| 九色免费视频| 波多野结衣视频网站| 亚洲成人黄色在线观看| 久久无码免费束人妻| 激情爆乳一区二区| 午夜国产理论| 在线国产综合一区二区三区| 国产一级毛片网站| 欧美精品v日韩精品v国产精品| 日韩AV无码免费一二三区| 亚洲精品动漫| 免费av一区二区三区在线|