• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > ARM體系中調試系統概述

    ARM體系中調試系統概述

    作者: 時間:2012-11-22 來源:網絡 收藏
      在嵌入式系統中,通常將運行目標程序的計算機系統稱為。由于目標系統中常常沒有進行輸入/輸出處理的必要的人機接口,因此就需要在另一臺計算機上運行調試程序,這個運行調試程序的計算機通常是一臺PC,稱為宿主機(或調試機、主機)。在主機和之間需要一定的信道迸行通信。這樣一個應該包括3部分,即主機、、目標機和主機之間的通信信道。

      如圖所示為的結構。圖中各部分的含義將在下面介紹。

    ARM體系中調試系統的結構

      圖 的結構

      在主機上運行的調試程序用于接收用戶的命令,把用戶命令通過主機和目標機之間的通信信道發送到目標機,接收從目標機返回的數據并按照用戶制定的格式進行顯示。調試代理(debugagent)通常運行在目標機(ARMulator除外,它運行于主機上)上,它接收主機上調試器發來的命令,可以在目標程序中設置斷點,單步執行目標程序,顯示程序斷點處的運行狀態(寄存器和內存值)。在中,調試代理可以有下面4種方式。

      (1)ARMulator是一種比較特殊的調試代理。它與其他的調試代理運行在目標機上有所不同,它是一個指令級的仿真程序,運行在主機上。使用ARMulator,不需要硬件目標系統,就可以運行于特定ARM處理器上的應用程序。由于ARMulator可以報告各指令執行時的周期,它還可以用來進行應用程序的性能分析。

      (2)基于JTAG的ICE類型的調試代理。ARM公司的Multi-ICE及EmbeddedICE屬于這種類型的調試代理。這類調試代理利用ARM處理器中的JTAG接口及一個嵌入的調試單元可以和主機上的調試器進行通信,完成下面的工作。

      ·實時地設置基于指令地址值或基于數據值的斷點。

      ·控制程序單步執行。

      ·訪問并且可以控制ARM處理器內核。

      ·訪問ASIC系統。

      ·訪問系統中存儲器。

      ·訪問I/O系統。

      (3)Angel調試監控程序。它是一組運行在目標機上的程序,可以接收主機上調試器發送的命令,執行諸如設置斷點、單步執行目標程序、觀察或修改寄存器`存儲器內容之類的操作。與基于JTAG的調試代理不同,Angel調試監控程序需要占用一定的系統資源,如內存、串行端口等。使用Angel調試監控程序可以調試在目標系統運行的ARM程序或Thumb程序。

      (4)調試網關。通過調試網關,主機上的調試器可以使用Agilent公司的仿真模塊開發基于ARM的應用系統。在主機和目標機之間需要一定的通信信道,通常使用的是串行端口、并行端口或以太網卡。在主機和目標機之間進行數據通信時使用了一定的協議,這樣主機上的調試器就可以使用一個統一的接口與不同的調試代理進行通信。在早期使用的是一個稱為RDP(Remote Debug Protocol)的協議,它是一個基于字節流的簡單協議,沒有糾錯功能。后來廣泛使用的是稱為ADP(Angel Debug Protocol)的協議,它是一個基于數據包的通信協議,具有糾錯功能。



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 平潭县| 道孚县| 广河县| 蓝山县| 奈曼旗| 南投县| 青岛市| 龙里县| 辉南县| 巴林右旗| 玉田县| 石嘴山市| 玉屏| 金秀| 白银市| 古交市| 临夏县| 台安县| 龙州县| 龙井市| 泾川县| 罗城| 华安县| 大理市| 昭通市| 云阳县| 平塘县| 潼南县| 莱西市| 巴彦淖尔市| 翁源县| 呼玛县| 浦江县| 临清市| 镶黄旗| 米泉市| 周宁县| 贡山| 淮阳县| 临高县| 宁津县|