• 在線仿真

    編輯
    本詞條由“匿名用戶” 建檔。

    什么是在線仿真

    編輯

    在電路內仿真(ICE)是利用硬件裝置或電路內仿真器用于調試的軟件的的嵌入式系統。它通過使用具有支持調試操作以及執行系統主要功能的附加能力的處理器來運行。特別是對于處理器有限的舊系統,這通常涉及用硬件仿真器臨時替換處理器:更強大但更昂貴的版本。歷史上它采用外掛處理器的形式,它具有許多用于調試的內部信號。這些信號提供有關處理器狀態的信息。

    最近,該術語還涵蓋了基于聯合測試行動組(JTAG)的硬件調試器,這些調試器使用帶有標準生產芯片的片上調試硬件提供等效訪問。使用標準芯片而不是定制綁定版本使該技術無處不在且成本低廉,并消除了開發和運行環境之間的大部分差異。在這種常見情況下,在線仿真器術語用詞不當,有時會令人困惑,因為不再涉及仿真。

    嵌入式系統給程序員帶來了特殊的問題,因為它們通常缺少計算機上存在的鍵盤顯示器、磁盤驅動器和其他用戶界面。這些缺點使在線軟件調試工具成為許多常見開發任務必不可少的工具。

    在線仿真的功能

    編輯

    在線仿真器(ICE)為嵌入式系統提供了一個窗口。程序員使用仿真器將程序加載到嵌入式系統中,運行它們,緩慢地單步執行,并查看和更改系統軟件使用的數據

    一個模擬器得到它的名字,因為它模擬(模仿)的中央處理單元的嵌入式系統的計算機(CPU)。傳統上,它有一個插頭,可以插入通常放置CPU集成電路芯片的插座中。大多數現代系統直接使用目標系統的CPU,具有基于JTAG的特殊調試訪問。仿真處理器,或直接JTAG訪問它,讓ICE做處理器可以做的任何事情,但在軟件開發人員的控制下。

    在線仿真將計算機終端個人計算機(PC)連接到嵌入式系統。終端或PC為程序員提供交互式用戶界面以調查和控制嵌入式系統。例如,通常有一個帶有圖形窗口界面的源代碼級調試器,該界面通過JTAG適配器(仿真器)與沒有圖形用戶界面的嵌入式目標系統進行通信

    值得注意的是,當他們的程序失敗時,大多數嵌入式系統只會變成無功能電子設備的惰性塊。嵌入式系統通常缺乏檢測軟件故障跡象的基本功能,例如用于捕獲內存訪問錯誤的內存管理單元(MMU)。如果沒有ICE,嵌入式系統的開發可能會極其困難,因為通常無法判斷哪里出了問題。使用ICE,程序員通常可以測試代碼段,然后將故障隔離到特定代碼段,然后檢查失敗的代碼并重寫以解決問題。

    在使用中,在線仿真為程序員提供執行斷點、內存顯示和監控以及輸入/輸出控制。除此之外,可以對在線仿真進行編程,以查找要暫停的任何匹配標準范圍,以嘗試確定故障的根源。

    大多數現代微控制器使用微控制器制造版本上提供的資源進行設備編程、仿真和調試功能,而不需要目標微控制器的另一個特殊仿真版本(即綁定)。盡管它是一種具有成本效益的方法,但由于ICE單元僅管理仿真而不是實際仿真目標微控制器,因此必須進行權衡以在制造時保持較低的價格,同時為產品提供足夠的仿真功能(相對較少)仿真應用程序。

    在線仿真的優點

    編輯

    幾乎所有的嵌入式系統都有一個硬件元素和一個軟件元素,它們是分開但又緊密相關的。ICE允許軟件元素在其運行的硬件上運行和測試,但仍然允許程序員方便地幫助隔離錯誤代碼,例如源代碼級調試(顯示程序最初編寫的樣子)和單步執行(允許程序員逐步運行程序以查找錯誤)。

    大多數ICE由一個適配器單元組成,該單元位于ICE主機計算機和要測試的系統之間。排針和電纜組件將適配器連接到插槽,實際中央處理單元(CPU)或微控制器安裝在嵌入式系統中。最新的ICE使程序員能夠通過JTAG或后臺調試模式接口訪問集成到CPU中的片上調試電路(BDM)來調試嵌入式系統的軟件。這些系統通常使用標準版本的CPU芯片,并且可以簡單地連接到生產系統上的調試端口。它們有時被稱為在線調試器或ICD,以區分這樣一個事實,即它們不復制CPU的功能,而是控制現有的標準CPU。由于無需更換CPU,因此它們可以在焊接CPU且無法更換的生產單元上運行。在x86Pentium上,ICE使用一種特殊的“探測模式”來幫助調試。

    在嵌入式系統的上下文中,ICE不是模擬硬件。相反,它提供對實際CPU的直接調試訪問。被測系統處于完全控制之下,允許開發人員直接加載、調試和測試代碼。

    在線仿真

    大多數主機系統是普通的商用計算機,與用于開發的CPU無關。例如,LinuxPC可能用于為使用Freescale68HC11芯片的系統開發軟件,該芯片無法運行Linux。

    程序員通常也在主機系統上編輯和編譯嵌入式系統的代碼。主機系統將具有特殊的編譯器,為嵌入式系統生成可執行代碼,稱為交叉編譯器或交叉匯編器。

    片上調試

    編輯

    片上調試,通常被松散地稱為聯合測試行動組(JTAG),使用在生產系統中為現場硬件提供額外的調試接口。它提供與在線調試相同的功能,例如檢查內部狀態或變量,并且可能具有設置檢查點、斷點和觀察點的能力。不同之處在于,這是由生產處理器內的附加芯片提供的,而不是將處理器換成板外調試仿真器。因此,ICE的某些功能會因處理器的規格而改變。控制器板上添加了一個額外的JTAG接口,這是每個生產系統都需要的,但由于這只需要幾個信號引腳,因此額外的成本很小。JTAG接口最初是為生產測試的結束而開發的,現在仍然有用。

    英特爾

    編輯

    為了支持Intel286上的在線仿真器(ICE)調試,處理器上提供了五個額外的引腳:一個用于從外部強制執行ICE斷點的輸入引腳,(ICEBP#)和兩對可選的輸出引腳以通過ICE總線選擇操作而不是用戶內存。在80286上0F04,0F05存在兩條指令(,)將完整的CPU狀態轉儲/恢復到內存偏移量0x800,以及單字節覆蓋前綴(F1)以啟用ICE模式訪問用戶內存。

    內容由匿名用戶提供,本內容不代表www.gelinmeiz.com立場,內容投訴舉報請聯系www.gelinmeiz.com客服。如若轉載,請注明出處:http://www.gelinmeiz.com/126758/

    (2)
    詞條目錄
    1. 什么是在線仿真
    2. 在線仿真的功能
    3. 在線仿真的優點
    4. 片上調試
    5. 英特爾

    輕觸這里

    關閉目錄

    目錄
    91麻精品国产91久久久久