- 相關(guān)推薦
32位ARM嵌入式處理器的調(diào)試技術(shù)
摘要:針對(duì)32位ARM處理器開(kāi)發(fā)過(guò)程中調(diào)試技術(shù)的研究,分析了目前比較流行的基于JTAG的實(shí)時(shí)調(diào)試技術(shù),介紹了正在發(fā)展的嵌入式調(diào)試標(biāo)準(zhǔn),并展望期趨勢(shì)。關(guān)鍵詞:嵌入式 調(diào)試 處理器 JTAG Nexus ARM
隨著對(duì)高處理能力、實(shí)時(shí)多任務(wù)、網(wǎng)絡(luò)通信、超低功耗需求的增長(zhǎng),傳統(tǒng)8位機(jī)已遠(yuǎn)遠(yuǎn)滿足不了新產(chǎn)品的要求,高端嵌入式處理器已經(jīng)進(jìn)入了國(guó)內(nèi)開(kāi)發(fā)人員的視野,并在國(guó)內(nèi)得到了普遍的重視和應(yīng)用。ARM內(nèi)核系列處理器是由英國(guó)ARM公司開(kāi)發(fā)授權(quán)給其他芯片生產(chǎn)商進(jìn)行生產(chǎn)的系統(tǒng)級(jí)芯片。目前在嵌入式32位處理器市場(chǎng)中已經(jīng)達(dá)到70%的份額。筆者在對(duì)三星公司的ARM7芯片技術(shù)調(diào)試的過(guò)程中,對(duì)這些高端嵌入式系統(tǒng)的調(diào)試技術(shù)進(jìn)行了總結(jié)。
傳統(tǒng)的調(diào)試工具及方法存在過(guò)分依賴(lài)芯片引腳、不能在處理器高速運(yùn)行下正常工作、占用系統(tǒng)資源且不能實(shí)時(shí)跟蹤和硬件斷點(diǎn)、價(jià)格過(guò)于昂貴等弊端。目前嵌入式高端處理器的使用漸趨普及。這些處理器常常運(yùn)行在100MHz,并且一些內(nèi)部控制以及內(nèi)部存儲(chǔ)器的總線信號(hào)并不體現(xiàn)在外部引腳上。這種片上系統(tǒng)(System on Chip)、深度嵌入、軟件復(fù)雜的發(fā)展趨勢(shì)給傳統(tǒng)的調(diào)試工具帶來(lái)了極大的挑戰(zhàn),也給嵌入式處理器開(kāi)發(fā)工程師的工作帶來(lái)了不便,這就需要更先進(jìn)的調(diào)試技術(shù)和工具進(jìn)行配套。本文將詳細(xì)介紹在ARM處理器中采用的幾種片上調(diào)試技術(shù)(on-chip debugger)。這些片上調(diào)試技術(shù)通過(guò)在芯片的硬件邏輯中加入調(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)所采納,全稱(chēng)是標(biāo)準(zhǔn)測(cè)試訪問(wèn)接口與邊界掃描結(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)科所有的引腳通過(guò)邊界掃描單元(BSC)串接起來(lái),從JTAG的TDI引入,TDO引出。芯片內(nèi)的邊界掃描鏈由許多的BSC組成,通過(guò)這些掃描單元,可以實(shí)現(xiàn)許多在線仿真器的功能。根據(jù)1149.1的規(guī)定,芯片內(nèi)的片上調(diào)試邏輯通常包括一個(gè)測(cè)試訪問(wèn)接口控制器(TAP)。它是一個(gè)16狀態(tài)的有限狀態(tài)機(jī)以及測(cè)試指令寄存器、數(shù)據(jù)寄存器、旁路寄存器和芯片標(biāo)識(shí)寄存器等。在正常模式下,這些測(cè)試單元(BSC)是不可見(jiàn)的。一旦進(jìn)入調(diào)試狀態(tài),調(diào)試指令和數(shù)據(jù)從TDI進(jìn)入,沿著測(cè)試鏈通過(guò)測(cè)試單元送到芯片的各個(gè)引腳和測(cè)試寄存器中,通過(guò)不同的測(cè)試指令來(lái)完成不同的測(cè)試功能。包括用于測(cè)試外部電氣連接和外圍芯片功能的外部模式以及用于芯片內(nèi)部功能測(cè)試(對(duì)芯片生產(chǎn)商)的內(nèi)部模式,還可以訪問(wèn)和修改CPU寄存器和存儲(chǔ)器,設(shè)置軟件斷點(diǎn),單步執(zhí)行,下載程序等。其優(yōu)點(diǎn)如下:
·可以通過(guò)邊界掃描操作測(cè)試整個(gè)板的電氣連接,特點(diǎn)為表面貼元件提供方便;
·各個(gè)引腳信號(hào)的采樣,并可強(qiáng)制引腳輸出用以測(cè)試外圍芯片;
·可以軟件下載、執(zhí)行、調(diào)試和控制,為復(fù)雜的實(shí)時(shí)跟蹤調(diào)試提供路徑;
·可以進(jìn)行多內(nèi)核和多處理
[1] [2] [3]
【32位ARM嵌入式處理器的調(diào)試技術(shù)】相關(guān)文章:
基于ARM的嵌入式web服務(wù)器的設(shè)計(jì)04-29
SPEAr:嵌入式控制用微處理器04-26
ART270嵌入式系統(tǒng)在測(cè)井儀器調(diào)試及檢測(cè)中的應(yīng)用04-29
彈載嵌入式系統(tǒng)設(shè)計(jì)技術(shù)05-01
調(diào)試教學(xué)心境與意境俱佳的技術(shù)課04-30