仿真器檢視原始碼討論檢視歷史
仿真器 |
仿真器(emulator)以某一系統復現另一系統的功能。與計算機模擬系統(Computer Simulation)的區別在於,仿真器致力於模仿系統的外在表現、行為,而不是模擬系統的抽象模型。請參閱仿真和模擬詞條。
簡介
仿真器可以替代你的目標系統中的MCU,仿真其運行。 仿真器運行起來和實際的目標處理器一樣,但是增加了其它功能,使你能夠通過桌面計算機或其它調試界面來觀察MCU中的程序和數據,並控制MCU的運行。隨着IC和軟件集成平台的飛速發展,仿真器也不斷賦予新的內容和新的挑戰,因為它的發展必須與CPU同步,要想在總線速度為150Mhz 64bit的情況下實現TRACE已經成為不可能。1).商用CPU這是一種最簡單的實現方式,直接採用最普通的商用CPU去設計仿真器。一般來說,CPU都有一些資源,如非屏蔽中斷,NMI,TRAP指令,Ready信號等等。在用商用CPU去設計仿真器時,基本上都會採用這些指令式信號,以達到單步Step,全速運行Go,斷點Breakpoint的功能。用商用CPU去設計仿真器,一般來說其CPU的速度不能很快,如像8051,196等是可以採用這種方式的。若CPU的速度很快,則無法去實現。因為仿真器要在CPU的地址,數據總線上截取或插入某些資訊。CPU的速度太快,則根本無法在時序上去做截取或插入資訊的動作。用商用CPU去做仿真CPU,一般來說會碰到I/O管腳重整的困難,就像最簡單的8051或83C196,其A/D總線都可復用成I/O。而仿真器是要提供所有有關CPU的資料給用戶。所以,實際上CPU是以地址/數據總線的方式在運行。如用戶的設計是用I/O方式的話,仿真器就一定要重新整合一套I/O線路出來。這一點是最麻煩的地方,往往有些簡單的仿真器就不能做到這一點。2)採用特殊的仿真模式有的商用CPU會提供一些特殊的仿真模式,其CPU還是採用商用CPU。但當CPU在上電或復位時,如果在CPU的某些管腳上灌一些特殊的電平或序列,則CPU就會進入一種特殊的仿真模式,如Philips的8051CPU,就是有一種叫「Hooks」的模式。進入這種模式之後,CPU會在地址數據總線上分時地提供一些用於I/O重建的信息。有了這種特殊的仿真模式,仿真器進行I/O重建相對來說比較簡單一些,但往往會存在着一些時序方面的問題。畢竟進入仿真模式之後的CPU的時序與普通CPU是有所不同的。如果用戶的設計非常苛刻的話,有時會存在連不上目標板的問題,並且,這時的CPU在跑很高的時鐘頻率會遇到困難。
評價
單片機仿真器是一種在電子產品開發階段代替單片機芯片進行軟硬件調試的開發工具。配合集成開發環境使用仿真器可以對單片機程序進行單步跟蹤調試,也可以使用斷點、全速等調試手段,並可觀察各種變量、RAM及寄存器的實時數據,跟蹤程序的執行情況。同時還可以對硬件電路進行實時的調試。利用單片機仿真器可以迅速找到並排除程序中的邏輯錯誤,大大縮短單片機開發的周期。在現場只利用燒錄器反覆燒寫單片機,通過肉眼觀察結果進行開發的方法大大增加了調試的難度,延長了整個開發周期,並且不容易發現程序中許多隱含的錯誤,特別對於單片機開發經驗不豐富的初學者來說更加困難,由此可見,單片機仿真器單片機系統開發中發揮着重要的作用。[1]