国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

32位ARM嵌入式處理器的調(diào)試技術(shù)

發(fā)布時(shí)間:2009-5-8 16:25    發(fā)布者:ARM
關(guān)鍵詞: 32位 , arm , 處理器 , 調(diào)試 , 嵌入式
隨著對(duì)高處理能力、實(shí)時(shí)多任務(wù)、網(wǎng)絡(luò)通信、超低功耗需求的增長(zhǎng),傳統(tǒng)8位機(jī)已遠(yuǎn)遠(yuǎn)滿足不了新產(chǎn)品的要求,高端嵌入式處理器已經(jīng)進(jìn)入了國內(nèi)開發(fā)人員的視野,并在國內(nèi)得到了普遍的重視和應(yīng)用。ARM內(nèi)核系列處理器是由英國ARM公司開發(fā)授權(quán)給其他芯片生產(chǎn)商進(jìn)行生產(chǎn)的系統(tǒng)級(jí)芯片。目前在嵌入式32位處理器市場(chǎng)中已經(jīng)達(dá)到70%的份額。筆者在對(duì)三星公司的ARM7芯片技術(shù)調(diào)試的過程中,對(duì)這些高端嵌入式系統(tǒng)的調(diào)試技術(shù)進(jìn)行了總結(jié)。

傳統(tǒng)的調(diào)試工具及方法存在過分依賴芯片引腳、不能在處理器高速運(yùn)行下正常工作、占用系統(tǒng)資源且不能實(shí)時(shí)跟蹤和硬件斷點(diǎn)、價(jià)格過于昂貴等弊端。目前嵌入式高端處理器的使用漸趨普及。這些處理器常常運(yùn)行在100MHz,并且一些內(nèi)部控制以及內(nèi)部存儲(chǔ)器的總線信號(hào)并不體現(xiàn)在外部引腳上。這種片上系統(tǒng)(System on Chip)、深度嵌入、軟件復(fù)雜的發(fā)展趨勢(shì)給傳統(tǒng)的調(diào)試工具帶來了極大的挑戰(zhàn),也給嵌入式處理器開發(fā)工程師的工作帶來了不便,這就需要更先進(jìn)的調(diào)試技術(shù)和工具進(jìn)行配套。本文將詳細(xì)介紹在ARM處理器中采用的幾種片上調(diào)試技術(shù)(on-chip debugger)。這些片上調(diào)試技術(shù)通過在芯片的硬件邏輯中加入調(diào)試模塊,從而能夠降低成本,實(shí)現(xiàn)傳統(tǒng)的在線仿真器和邏輯分析儀器的功能,并在一定的條件下實(shí)現(xiàn)實(shí)時(shí)跟蹤和分析,進(jìn)行軟件代碼的優(yōu)化。

1 邊界掃描技術(shù)(JTAG)

邊界掃描技術(shù)是為了滿足當(dāng)今深度嵌入式系統(tǒng)調(diào)試的需要而被IEEE1149.1標(biāo)準(zhǔn)所采納,全稱是標(biāo)準(zhǔn)測(cè)試訪問接口與邊界掃描結(jié)構(gòu)(Standard Test Access Portand Boundary Scan Architecture)。JTAG遵循1149.1標(biāo)準(zhǔn),是面向用戶的測(cè)試接口,是ARM處理器調(diào)試的基礎(chǔ)。本文提到的ARM的E-TRACE調(diào)試模式實(shí)際上是JTAG的增強(qiáng)版本,其它一些32位嵌入式處理器的調(diào)試方式也基本上遵循這個(gè)標(biāo)準(zhǔn)。這個(gè)用戶接口一般由4個(gè)引腳組成:測(cè)試數(shù)據(jù)輸入(TDI)、測(cè)試數(shù)據(jù)輸出(TDO)、測(cè)試時(shí)鐘(TCK)、測(cè)試模式選擇引腳(TMS),有的還加了一個(gè)異步測(cè)試復(fù)位引腳(TRST)。其體系結(jié)構(gòu)如圖1。




所謂邊界掃描就是將芯片內(nèi)部?jī)?nèi)科所有的引腳通過邊界掃描單元(BSC)串接起來,從 JTAG的TDI引入,TDO引出。芯片內(nèi)的邊界掃描鏈由許多的BSC組成,通過這些掃描單元,可以實(shí)現(xiàn)許多在線仿真器的功能。根據(jù)1149.1的規(guī)定,芯片內(nèi)的片上調(diào)試邏輯通常包括一個(gè)測(cè)試訪問接口控制器(TAP)。它是一個(gè)16狀態(tài)的有限狀態(tài)機(jī)以及測(cè)試指令寄存器、數(shù)據(jù)寄存器、旁路寄存器和芯片標(biāo)識(shí)寄存器等。在正常模式下,這些測(cè)試單元(BSC)是不可見的。一旦進(jìn)入調(diào)試狀態(tài),調(diào)試指令和數(shù)據(jù)從TDI進(jìn)入,沿著測(cè)試鏈通過測(cè)試單元送到芯片的各個(gè)引腳和測(cè)試寄存器中,通過不同的測(cè)試指令來完成不同的測(cè)試功能。包括用于測(cè)試外部電氣連接和外圍芯片功能的外部模式以及用于芯片內(nèi)部功能測(cè)試(對(duì)芯片生產(chǎn)商)的內(nèi)部模式,還可以訪問和修改CPU寄存器和存儲(chǔ)器,設(shè)置軟件斷點(diǎn),單步執(zhí)行,下載程序等。其優(yōu)點(diǎn)如下:

·可以通過邊界掃描操作測(cè)試整個(gè)板的電氣連接,特點(diǎn)為表面貼元件提供方便;

·各個(gè)引腳信號(hào)的采樣,并可強(qiáng)制引腳輸出用以測(cè)試外圍芯片;

·可以軟件下載、執(zhí)行、調(diào)試和控制,為復(fù)雜的實(shí)時(shí)跟蹤調(diào)試提供路徑;

·可以進(jìn)行多內(nèi)核和多處理器的板級(jí)和芯片級(jí)的調(diào)試,通過串接(如圖2),為芯片制造商提供芯片生產(chǎn)、測(cè)試的途徑。




雖然JTAG調(diào)試不占用系統(tǒng)資源,能夠調(diào)試沒有外部總線的芯片,代價(jià)也非常小;但是由于JTAG是通過串口依次傳遞數(shù)據(jù),速度比較慢,只能進(jìn)行軟件斷點(diǎn)級(jí)別的調(diào)試,自身還不能完成實(shí)時(shí)跟蹤和多種事件觸發(fā)等復(fù)雜調(diào)試功能。因此便有了幾種功能更為完善的增強(qiáng)版本。

2 ARM芯片的實(shí)時(shí)調(diào)試方案(E-TRACE)

ARM公司的內(nèi)核芯片采用E-TRACE片上調(diào)試模式。它實(shí)際上是JTAG的升級(jí)版本,通過增強(qiáng)的輔助片上調(diào)試硬件來完成實(shí)時(shí)調(diào)試,解決了許多傳統(tǒng)調(diào)試器難以解決的問題。

它的實(shí)時(shí)調(diào)試方案通過三種途徑解決:

·EmbeddedICE硬邏輯;

·實(shí)時(shí)監(jiān)控;

·實(shí)時(shí)跟蹤。

EmbeddedICE邏輯單元存在于ARM7TDMI、ARM9TDMI、ARM9E和 ARM10內(nèi)核中。它枯JTAG口的基礎(chǔ)上,增加了硬件斷點(diǎn)寄存器、比較器,通過斷點(diǎn)寄存器的值可以進(jìn)行硬件斷點(diǎn)的設(shè)置,不僅對(duì)地址還可以對(duì)數(shù)據(jù)、控制總線的信號(hào)進(jìn)行復(fù)雜的觸發(fā)控制設(shè)定,而不是單單在指令級(jí)別進(jìn)行中斷(如軟中斷),從而滿足對(duì)特定事件的中斷響應(yīng),極大的增加了靈活性,同時(shí)可以在ROM中設(shè)置斷點(diǎn)和觀察點(diǎn),極大地方便調(diào)試。其示意如圖3。

實(shí)時(shí)監(jiān)控則是進(jìn)一步在ARM9E和ARM10中的改進(jìn)。它改變EmbeddedICE在觸發(fā)中斷后時(shí)入調(diào)試模式狀態(tài)而停止內(nèi)核運(yùn)行的弊端,進(jìn)入一段非常小的中斷監(jiān)控程序中,得到所需要的信息后迅速把控制權(quán)轉(zhuǎn)讓給先前的任務(wù)(這是與遠(yuǎn)程監(jiān)控器最大的區(qū)別)。在監(jiān)控程序內(nèi)處理器完全可以再接收外界的中斷和其他觸事件,而不是停止運(yùn)行。這種方式綜合了JTAG和遠(yuǎn)程調(diào)試的優(yōu)點(diǎn),它可以增加以下兩個(gè)好處:

·在不禁止中斷的前提下調(diào)試前景任務(wù)(即中斷時(shí)正在運(yùn)行的任務(wù));

·不用停止處理器的運(yùn)行就可以讀寫和修改存儲(chǔ)器(對(duì)于機(jī)電設(shè)備非常重要)。

更為強(qiáng)大的是ARM的實(shí)時(shí)跟蹤解決方案,它由三部分組成:

·嵌入跟蹤微核;

·跟蹤分析儀;

·跟蹤調(diào)試軟件。

  
    通過這三種工具可實(shí)現(xiàn)完全的實(shí)時(shí)跟蹤。跟蹤微核存在于芯片,它可以不停止CPU的運(yùn)行而實(shí)時(shí)監(jiān)視芯片總線的信息,并把設(shè)定觸發(fā)范圍內(nèi)的所有信息在CPU運(yùn)行的同時(shí)通過壓縮的方式送到外部的跟蹤分析儀器里。分析跟蹤儀器從芯片外部通過跟蹤口(另外一個(gè)不同于JTAG的接口)收取信息。因?yàn)槭菈嚎s的數(shù)據(jù),所以分析儀不需要采用與跟蹤微核實(shí)時(shí)跟蹤相同的速度。這大大降低了分析的成本,并增加了存儲(chǔ)的容量。而PC端的跟蹤軟件則來自分析儀的數(shù)據(jù)重新組織起來,從而重現(xiàn)處理器的歷史狀態(tài)和數(shù)據(jù)、程序流程。同時(shí)還可以把執(zhí)行代碼與源代碼鏈接起來,使調(diào)試者快速理解跟蹤數(shù)據(jù)。ARM的這種方式通過芯片內(nèi)部的實(shí)時(shí)跟蹤硬件加上低成本的分析儀器,解決了傳統(tǒng)在線仿真器(ICE)和邏輯分析儀的諸多弊端。其示意如圖4。




3 Nexus標(biāo)準(zhǔn)

自從JTAG IEEE1149.1標(biāo)準(zhǔn)出來后,越來越多的高端嵌入芯片生產(chǎn)商開始采用這個(gè)標(biāo)準(zhǔn)。但是1149.1標(biāo)準(zhǔn)只能提供一種靜態(tài)的調(diào)試方法,如處理器的啟動(dòng)和停止、軟件斷點(diǎn)、單步執(zhí)行、修改寄存器,而不能提供處理器實(shí)時(shí)運(yùn)行時(shí)的信息。于是各個(gè)廠家在自己的芯片上,把原有的JTAG的基本功能進(jìn)行了加強(qiáng)和擴(kuò)展,如前面提到的E-TRACE、背景調(diào)試模式BDM(Background Debugging Mode)和片上仿真OnCE(On-Chip Emulation)等,在處理器不停止運(yùn)行的前提下,進(jìn)行實(shí)時(shí)的調(diào)試。

由于這些增強(qiáng)的JTAG版本之間各有差異,而且即使同一廠家的不同產(chǎn)品之間也在存著不同。所以一些芯片廠商和調(diào)試工具開發(fā)公司于1998年成立了Nexus 5001論壇,以期提出一個(gè)在JTAG之上的嵌入式處理器調(diào)度的統(tǒng)一標(biāo)準(zhǔn)。

Nexus將調(diào)試開發(fā)分成四級(jí),從第一級(jí)開始,每級(jí)的復(fù)雜度都在增加,并且上級(jí)功能覆蓋下一級(jí)。第一級(jí)使用JTAG的簡(jiǎn)單靜態(tài)調(diào)試;第二級(jí)支持編程跟蹤和實(shí)時(shí)多任務(wù)的跟蹤,并歡用戶用I/O引腳作為多路復(fù)用輔助調(diào)試口;第三級(jí)包括處理器運(yùn)行時(shí)的數(shù)據(jù)寫入跟蹤和存儲(chǔ)器的讀寫跟蹤;第四級(jí)增加了存儲(chǔ)替換并觸發(fā)復(fù)雜的硬件斷點(diǎn)。從第二級(jí)開始,Nexus規(guī)定了可變的輔助口。輔助口使用3~16個(gè)數(shù)據(jù)引腳,用來幫助其他仿真器和分析儀之類的輔助調(diào)試工具。其示意如圖5。




通過Nexus標(biāo)準(zhǔn)可以解以下問題:

·調(diào)試內(nèi)部總線沒有引出的處理器,如含有片內(nèi)內(nèi)存器的芯片;

·傳統(tǒng)在線仿真器無法實(shí)現(xiàn)的高速調(diào)試;

·深度流水線和有片上Cache的芯片,能夠探測(cè)具體哪條指令被取和最終執(zhí)行;

·可以穩(wěn)定地進(jìn)行多內(nèi)核處理器的調(diào)試。

4 調(diào)試技術(shù)的展望

通過上面的分析可以看出,目前的調(diào)試技術(shù)可以在頻率100MHz、內(nèi)部總線外部不可見、需要進(jìn)行實(shí)時(shí)跟蹤的情況下分發(fā)揮優(yōu)勢(shì),彌補(bǔ)傳統(tǒng)的遠(yuǎn)程調(diào)試器和在線仿真器的不足,并且成本非常低廉。

同時(shí),調(diào)試技術(shù)還在不停地發(fā)展,目前IEEE1149.4標(biāo)準(zhǔn)也已經(jīng)產(chǎn)生。它主要是將邊界掃描結(jié)構(gòu)用于處理模數(shù)混合芯片的調(diào)試。Nexus也已經(jīng)完成了標(biāo)準(zhǔn)的制定并有廠商開始在芯片上提供Nexus的調(diào)試硬件模塊。但是這些標(biāo)準(zhǔn)到底會(huì)不會(huì)被各個(gè)芯片廠商所采用,還有等時(shí)機(jī)的成熟。特別是兩大主流內(nèi)核公司ARM和MIPS分別采用自已獨(dú)特內(nèi)核調(diào)試技術(shù)。ARM采用基于JTAG版本的E- Trace,而MIPS則是用EJTAG——加強(qiáng)的JTAG技術(shù)。它們對(duì)Nexus的態(tài)度也是旁觀等待。
本文地址:http://www.qingdxww.cn/thread-2918-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評(píng)論 登錄 | 立即注冊(cè)

廠商推薦

  • Microchip視頻專區(qū)
  • 基于CEC1712實(shí)現(xiàn)的處理器SPI FLASH固件安全彈性方案培訓(xùn)教程
  • 無線充電基礎(chǔ)知識(shí)及應(yīng)用培訓(xùn)教程3
  • 為何選擇集成電平轉(zhuǎn)換?
  • 安靜高效的電機(jī)控制——這才是正確的方向!
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产精品秒播无毒不卡 | 国偷盗摄自产福利一区在线 | 日本a黄| 好好的曰www视频在线观看 | 久久这里只有精品66 | 亚洲精品国产精品国自产观看 | 亚洲字幕久久 | 91在线播 | 国产片在线观看播放 | 国产成人毛片毛片久久网 | 碰91精品国产91久久婷婷 | 亚洲高清一区二区三区久久 | 911精品国产91久久久久 | 久久麻豆视频 | 欧美亚洲国产精品久久久久 | 男女一边摸一边做羞羞视频免费 | 麻豆中国做受xxx实指 | 成人精品国产 | 日韩在线毛片 | 伊人狼人在线 | 日本天堂免费观看 | 老师的小兔子好大好软水好多视频 | 婷婷丁香四月 | 四虎永久免费 | 久久国产精品99精品国产987 | 一级啪啪 | 成人手机在线观看 | 欧美日韩在线免费看 | 久久久精品免费观看 | 日韩一区二区精品久久高清 | 果冻天美a∨传媒 | 成人一级黄色大片 | 亚洲人和日本人jzz护士 | 精品国产一区二区三区四 | 国产欧美国产精品第二区 | 四虎国产精品永久地址99新强 | 国产黄影院 | 欧美成人免费tv在线播放 | a一级毛片免费高清在线 | 色一情一区二区三区四区 | 久久久久久国产精品mv |