Free ARM Emulators
ARM microprocessors are used in embedded devices as well as portable devices like PDAs and some phones. The software ARM emulators listed on this page allow you to run an emulated ARM device on your main computer system, be it Windows, Linux or some other operating system. This allows you to develop and test software using your desktop, and only move the software to a real device when it is more complete.
The information provided on this page comes without any warranty whatsoever. Use it at your own risk. Just because a program, book, document or service is listed here or has a good review does not mean that I endorse or approve of the program or of any of its contents. All the other standard disclaimers also apply.
Free ARM Emulators / Software ARM Device Emulators
SkyEye simulates embedded computer systems that run on the ARM microprocessors and the Blackfin DSP Processor, specifically, the ARM7TDMI, ARM720T, StrongARM, XScale, and the Blackfin CPU cores. Application CPUs simulated include the Atmel AT91X40/AT91RM9200, Cirrus Logic EP7312/EP9312 CS89712, Intel SA1100/SA1110 and PXA 25x/27x, Samsung 4510B/44B0/2410/2440, the Sharp LH7xxxx, NS9750, and the Philips LPC22xx, BF533. The emulator is also able to simulate chips like the timer, UART, NIC, LCD, touchscreen, and so on. Operating systems to run in SkyEye include uC/OS-II 2.x (ucos-ii), uClinux, ARM Linux, Nucleus, Rtems, Ecos, IwiP on uC/OSII, etc. The emulator works on Linux, Windows (with the help of Cygwin) and FreeBSD. The program is licensed under the GNU General Public License, that is, it is open source and is distributed in source form.
ARMware provies an emulation environment for the ARM platform. At the time this review was written, it is able to emulate StrongARM SA-110, although Intel Xscale support is currently being developed as well. The emulated environment is similar to that of the HP iPaq H3600. The emulator works on Linux and Windows. The project is licensed under the GNU General Public License.
- Microsoft Device Emulator 3.0 (Standalone Release)
The Microsoft Device Emulator standalone release emulates ARM-based devices, primarily so that you can develop and test your programs for portable devices in your Windows system. Also available are Windows Mobile 6.1 emulator images (both Windows Mobile 6.1 Professional and Windows Mobile 6.1 Standard) and Windows Mobile 6 localized emulator images (again both Professional and Standard). If you want older Windows Mobile versions, you may want to check out the earlier version Microsoft Device Emulator 1.0, which comes with Windows Mobile 5. The emulators are primarily designed for development with Microsoft Visual Studio (see the Free C/C++ Compilers and Interpreters page), so I'm not sure if it's usable with any other compiler.
- Softgun - the Software ARM
This software ARM runs Linux blob and u-boot for NS9750 Freescale i.MX21 and Atmel AT91RM9200. It emulates an ARM-9 with MMU (Memory Management Unit) and a variety of Netsilicon NS9750 peripherals, Flash, PCI, CAN-Bus and network (information obtained from the Sourceforge summary). The detailed list can be found on the site itself. The emulator runs on Linux and probably other POSIX systems as well.
- QEMU on Windows
QEMU on Windows is an emulator for x86, ARM, SPARC and PowerPC (see elsewhere on this page for more information). This site contains a Windows port with downloadable binaries.
- QEMU CPU Emulator
QEMU supports the emulation of x86 processors, ARM, SPARC and PowerPC. Host CPUs (processors that can run the QEMU emulator) include x86, PowerPC, Alpha, Sparc32, ARM, S390, Sparc64, ia64, and m68k (some of these are still in development). When emulating a PC (x86), supported guest operating systems include MSDOS, FreeDOS, Windows 3.11, Windows 98SE, Windows 2000, Linux, SkyOS, ReactOS, NetBSD, Minix, etc. When emulating a PowerPC, currently tested guest OSes include Debian Linux.