基於ARM的模擬器
ARM的ARMulator:
ARMulator 是一個在 ARM 公司推出的集成開發環境 ADS (ARM Developer Suite)中提供的指令集模擬器。它與運行在通用計算機(通常是x86體系結構)上的調試器相連接,模擬 ARM 微處理器體系結構和指令集,提供了開發和調試 ARM 程序的軟件仿真環境。ARMulator 不僅可以仿真 ARM 處理器的體系結構和指令集,還可以仿真存儲器和處理器外圍設備,例如中斷控制器和定時器等,這樣就模擬了一個進行嵌入式開發的最小子系統,另外使用者還可以擴展添加自己的外設。
簡介:
ARMulator 同時支持全部的標准C庫函數,這樣所有的C程序都可以在仿真器上運行。ARMulator 通過 Semihosting 方式來實現程序中輸入/輸出功能。Semihosting是指在 ARM 程序開發調試的過程中,目標系統還不具備輸入/輸出的功能,通過調試代理向調試器請求 I/O。ARMulator 就是這里所說的調試代理之一,其他還有 Angel、Multi-ICE也通過類似的方式來實現 I/O 功能。ARMulator 在 Windows 平台上實現為動態鏈接庫文件(.dll),在 Linux 或者 Solaris 系統上實現為共享庫文件(.so)。前者的使用一般是通過 ARM 公司提供的圖形界面調試器 AXD 中,選擇目標系統為 ARMulate.dll,這樣就設置了 ARMulator 作為調試代理。用戶在進行調試開發時,對於底層使用的調試代理是透明的。
SkyEye:
SkyEye是一個開源軟件(OpenSource Software)項目,中文名字是"天目"。SkyEye的目標是在通用的Linux和Windows平台上實現一個純軟件集成開發環境,模擬常見的嵌入式計算機系統(這里假定"仿真"和"模擬"的意思基本相同);可在SkyEye上運行μCLinux以及μC/OS-II等多種嵌入式操作系統和各種系統軟件(如TCP/IP,圖形子系統,文件子系統等),並可對它們進行源碼級的分析和測試。
GNU的ARMulator:
http://www.uclinux.org/pub/uClinux/utilities/armulator/
Softgun:
Softgun 是 ARM 嵌入式系統的仿真器,可模擬 ARM9 CPU ,支持 MMU、很多Netsilicon NS9750外設,PCI總線、網絡控制器、閃存以及 CAN總線。 它的目的是幫助沒有真實硬件的嵌入式系統開發。
http://sourceforge.jp/projects/sfnet_softgun/releases/?file_id=1597133
realboard:
csdn:http://blog.csdn.net/lxzhg
realboard是高速穩定的開發板平台仿真軟件,包括CPU核,硬件外設,以及必要的調試支持。它運行在win32平台,能夠代替真實的硬件開發板和調試器,使整個嵌入式項目能夠在PC端獨立完成開發調試,既能降低門檻,又能節省成本。
到目前為止,realboard能夠支持的外設,基本上覆蓋了s3c44b0x的所有功能:
a. 6個時鍾和一個看門狗
b. 中斷控制器,支持時鍾/看門狗中斷,串口收發中斷,DMA中斷,IIC中斷等
c. 串口(Demo版本僅支持UART0),包括FIFO模式和非FIFO模式,及BDMA模式
d. 4個通道DMA支持
e. 電源管理(PWM)
f. Nand/Nor Flash存貯器
g. LCD控制器
在realboard上運行ucosii操作系統效果圖:
在realboard上運行u-boot效果圖:
其他嵌入式模擬器:
QEMU:
著名的android emulator就是基於QEMU的。
QEMU是一套由Fabrice Bellard所編寫的模擬處理器的自由軟件。它與Bochs,PearPC近似,但其具有某些后兩者所不具備的特性,如高速度及跨平台的特性。經由kqemu這個開源的加速器,QEMU能模擬至接近真實電腦的速度。QEMU有兩種主要運作模傾:
- 模擬模式,亦即是使用者模式。QEMU 能啟動那些為不同中央處理器編譯的Linux程序。而Wine及Dosemu是其主要目標。
- System mode模擬模式,亦即是系統模式。QEMU能模擬整個電腦系統,包括中央處理器及其他周邊設備。它使得為系統源代碼進行測試及除錯工作變得容易。其亦能用來在一部主機上虛擬數部不同虛擬電腦。
QEMU的主體部份是在LGPL下發布的,而其系統模式模擬與kqemu加速器則是在GPL下發布。使用kqemu可使QEMU能模擬至接近實機速度,但其在虛擬的操作系統是Microsoft Windows 98或以下的情況下是無用的。
優點:
- 可以模擬 IA-32 (x86)個人電腦,AMD64個人電腦, MIPS R4000, 升陽的 SPARC sun3 與 PowerPC (PReP 及 Power Macintosh)架構
- 支持其他架構,不論在主機或虛擬系統上(請參看QEMU主頁以獲取完整的清單)
- 增加了模擬速度,某些程式甚至可以實時運行
- 可以在其他平台上運行Linux的程式
- 可以儲存及還原運行狀態(如運行中的程式)
- 可以虛擬網絡卡
- 可模擬多CPU