
Windows CE Device Emulator screenshotThe Device Emulator provides a software simulation of a processor and related functions running Windows CE and Windows Mobile. It is a single Windows .exe file containing:
- a CPU emulator that executes the ARM instruction set by JIT-compiling (just in time) to x86 instructions
- an MMU (memory management unit) emulator that supports virtual memory and page protection
- a motherboard emulator that includes emulated RAM and NOR flash memory
- a collection of peripheral devices attached to the motherboard: serial ports, LCD controller, touchscreen, keyboard, interrupt controller, programmable timers, real-time-clock, network cards, audio, etc.
- A DMA (direct memory access) interface that allows a Win32 application running outside the emulator to communicate with a Windows CE application running inside the emulator, using a simple socket-like programming model
In a
blog post announcing the shared source release on Microsoft's developer website, software architect Barry Bond suggested several topics for experimenting with the emulator:
- create extensibility points to "plug in" new kinds of hardware
- extend or modify the ARM-to-x86 JIT compiler
- create emulators for different CPUs and motherboards
- instrument the emulator to collect performance data on applications or the OS
The Device Emulator can be built as a standalone Windows application, or as the default emulator within Visual Studio 2005 running under the Device Emulator Manager, according to Microsoft. A 473 KB compressed file containing the Device Emulator shared source code is available for download,
here.
The Shared Source Academic license can be viewed
here.
Related stories: