<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于EmJTAG的ARM嵌入式系統調試工具

基于EmJTAG的ARM嵌入式系統調試工具

作者: 時(shí)間:2012-11-10 來(lái)源:網(wǎng)絡(luò ) 收藏
引言
  嵌入式系統的大致開(kāi)發(fā)流程是:先在PC機上編寫(xiě)程序源代碼;由的交叉編譯器編譯、鏈接生成一個(gè)目標文件;然后將目標文件轉化成可以下載到目標機運行的二進(jìn)制代碼,在目標機上調試運行;最終將調試成功的二進(jìn)制文件固化在目標機中。這一系列過(guò)程中,最關(guān)鍵的步驟就是在PC機上調試在目標機上運行的程序。這就需要采用遠程調試的方式,即在PC機上運行調試器軟件,被調試程序在目標機上運行。
  本文描述了這樣一個(gè)遠程調試系統:利用USB批量傳輸的可靠性,將遠程調試協(xié)議EmRDI的報文封裝在USB數據包中;協(xié)議轉換器再根據接收到的USB數據包中的協(xié)議信息,轉換成適當的JTAG信號來(lái)控制和調試核。協(xié)議轉換器由ST公司的ST72651芯片外加一片接口驅動(dòng)芯片74LVC244來(lái)實(shí)現。ST72651內部集成了USB模塊和數據傳輸協(xié)處理器部件(DTC),通過(guò)對DTC的編程來(lái)產(chǎn)生控制ARM核的邊界掃描序列,以產(chǎn)生相應的JTAG信號。
  文章最終實(shí)現了PC機對ARM核的目標機的調試功能:PC機的調試器軟件可以下載程序至目標機,實(shí)時(shí)控制目標機上代碼的單步/全速運行或停止,以及設置斷點(diǎn)和觀(guān)察點(diǎn)、讀寫(xiě)寄存器/存儲器等。
1 系統組成及原理
  如圖1所示,整個(gè)調試系統包括三部分: PC機(調試器)、協(xié)議轉換器()以及目標板(基于A(yíng)RM核)。調試的目的是實(shí)現在PC機上控制目標板單步或全速運行,并可以實(shí)時(shí)地察看或修改寄存器及存儲器的值。
  系統設計實(shí)現了一個(gè)遠程調試協(xié)議EmRDI,它采用點(diǎn)對點(diǎn)的連接方式,以請求響應的方式進(jìn)行交互。調試請求由PC機上的調試器軟件發(fā)出,經(jīng)由USB總線(xiàn)傳輸至協(xié)議轉換器EmJTAG;EmJTAG解讀該協(xié)議請求,在執行相應的操作之后,以USB數據包的形式發(fā)送回PC機(即響應過(guò)程)。
  EmRDI協(xié)議定義了如下一些調試請求:讀/寫(xiě)核寄存器、讀/寫(xiě)存儲器、設置/清除硬件斷點(diǎn)、設置/清除軟件斷點(diǎn)、設置/清除數據觀(guān)察點(diǎn)、復位、停止運行、全速/單步運行和返回處理器狀態(tài)/設備標識符。經(jīng)驗證,這些請求的組合,可以實(shí)現PC機對目標機上ARM核的調試和控制功能。
  EmRDI協(xié)議請求格式(16字節)如下:

  EmRDI協(xié)議響應格式(8字節)如下:

  ARM核的芯片基本上都遵循JTAG規范,并帶有邊界掃描功能,此類(lèi)芯片內集成了一個(gè)JTAG電路結構。JTAG電路由TAP(測試訪(fǎng)問(wèn)端口)、TAP控制器、指令寄存器、測試數據寄存器組成。另外,ARM7TDMI核還包含了一個(gè)提供在線(xiàn)調試支持的EmbeddedICE宏單元。

圖1 系統框圖
  EmJTAG和PC機通過(guò)USB總線(xiàn)連接,與目標板則遵循JTAG調試接口標準。JTAG規范中,使用稱(chēng)為“邊界掃描單元”的基本結構。邊界掃描單元將JTAG電路與處理器邏輯電路聯(lián)系起來(lái),通過(guò)它可以將一個(gè)輸入信號加載到處理器邏輯中而不影響邏輯的其他電路,也可以將處理器邏輯的輸出信號采樣到邊界掃描單元中。若干個(gè)邊界掃描單元構成邊界掃描寄存器(BSR),也稱(chēng)為“邊界掃描鏈”。邊界掃描寄存器的數據通過(guò)JTAG接口的TDI引腳和TDO引腳串行移進(jìn)移出。
  PC機上需要實(shí)現:EmJTAG的USB驅動(dòng)程序和調試器軟件。
  EmJTAG上需要實(shí)現:USB固件程序和用于產(chǎn)生JTAG信號的邊界掃描程序。
2 硬件設計和實(shí)現
  系統的硬件部分主要是指協(xié)議轉換器EmJTAG的實(shí)現。協(xié)議轉換器的功能,就是接收PC機上調試器軟件發(fā)送的遠程調試協(xié)議信息,將它轉換成JTAG時(shí)序信號發(fā)送到目標板,然后把目標板的反饋信息或者數據返回給PC機的調試器軟件。
  EmJTAG使用意法半導體(ST)公司的ST72651芯片,原理框圖如圖2所示。它集成了1個(gè)全速(12 Mbps)USB接口模塊,1個(gè)時(shí)鐘頻率為24 MHz的數據傳輸協(xié)處理器(DTC),32 KB程序存儲空間,5 KB RAM,硬件I2C和SPI接口,多達47個(gè)可編程I/O口;工作電壓為2.7~5.5 V,由USB直接供電。

圖2 EmJTAG原理框圖
  與PC機通信方面,USB接口部分只需要將DP腳上拉一個(gè)電阻,使PC機識別到USB設備。DTC模塊產(chǎn)生4個(gè)時(shí)鐘信號作為JTAG時(shí)鐘信號(TDI、TDO、TMS和TCK),由I/O口引出,外部再加一個(gè)接口驅動(dòng)芯片74LVC244,將這4個(gè)信號連接到標準的JTAG接口上。TAP控制器復位信號nTRST和系統復位信號nSRST通過(guò)I/O邏輯直接控制。
  EmJTAG采用USB供電方式,同時(shí)在TCK引腳上連接一個(gè)指示燈BUSY,顯示系統是否處于忙狀態(tài)。接口驅動(dòng)芯片74LVC244由內部集成的電壓校準器產(chǎn)生3.3 V來(lái)提供電壓。
3 軟件設計和實(shí)現
  軟件部分主要包括: PC機上的調試器軟件,EmJTAG協(xié)議轉換器的PC端驅動(dòng)程序以及EmJTAG中的固件程序。
3.1 PC機上的調試器軟件
  采用VC++ 6.0 MFC。其主要功能是與EmJTAG的PC端驅動(dòng)程序通信,將調試命令通過(guò)USB總線(xiàn)發(fā)送至EmJTAG。
3.2 EmJTAG的PC端驅動(dòng)程序
  使用Driverstudio3.1開(kāi)發(fā)Windows下的USB驅動(dòng)程序,使EmJTAG和PC機的應用程序可以進(jìn)行數據交互。
3.3 EmJTAG中的固件程序
  固件程序使用意法半導體(ST)開(kāi)發(fā)工具STVD7 for InDART STX進(jìn)行開(kāi)發(fā)。這一部分也是調試系統最重要的部分,即如何產(chǎn)生JTAG時(shí)序信號控制ARM核。EmJTAG中的固件分成以下多個(gè)模塊實(shí)現。
3.3.1 DTC軟件插件程序模塊

圖3 DTC功能框圖

上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: EmJTAG ARM 調試工具

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>