I’ve just created an ARM Windows CE 5.0 Emulator image and SDK that mimics the JE200 hardware and has some other useful additions like a Command Line console and other network tools. This emulator has some advantages over the old offered by Microsoft: it is an arm4i emulator that integrates into new Visual Studio way of manage emulators. Old one is a Virtual PC x86 emulator that cannot be integrated into new VS versions.
To work with this you need:
- My Image Emulator that you can download from here.
- Visual Studio 2005/2008 Standard or upper (Express versions does not work). I recommend Visual Studio 2008SP1.
The only restriction I impose is that only non commercial development can be done with this image. It has been made with a Platform Builder legal copy owned by the company I work for. Then I can add any reasonable feature you will want, but only for homebrew, Open Source or free programs.
To install this image you need to follow the next steps.
- Have a working Visual Studio installation.
- Deactivate UAC and restart if you are using Vista or Windows 7. Don’t be afraid, once installed you will reactivate UAC. This is caused by a limitation in the installer, which has a script that fails silently if UAC is active. Does not matter if you have accepted UAC elevation in program installation: the script fails.
- Install the SDK with a full installation.
- Restart your computer.
- Launch Visual Studio. Close Visual Studio (this is to force any pending script upgrade).
- Activate UAC.
- Restart your computer.
- Done! Now you have a new Device in your Visual Studio that says “WindowsCE5Emulator”.
Now, the best way is to test the image. Open Visual Studio, go to “Tools -> Connect to device” and select “WindowsCE5Emulator” Platform. In Devices select “Windows CE 5.0 Emulator” and click in “Connect” button. After some seconds you will have a Windows CE emulated session with a Windows Mobile screen size and in the “Connecting” dialog box you will see “Connection succeeded”.
In the Devices list you can see two devices: the one described and other called “Microsoft DeviceEmulator: ARMV4I_Release” and if you try to use that device it won’t work. It is for Microsoft eMbedded Visual C++ 4sp4 and older Visual Studio versions that connect via TCP/IP layer and we can ignore it.
Some customizations for JE100/JE200. Once we have the emulator installed, we can customize it to obtain a device like the JE100/JE200. We need to open Visual Studio and go to “Tools -> Options” and select “Device Tools”, open the tree and click in “Devices”.
Now open the combo “Show devices for platform” and select “WindowsCE5Emulator”. Select “Windows CE 5.0 Emulator” and click “Save as…”. Type a useful name like “JE200 Emulator”. Now we have 3 emulators available.
Select the new one, click in “Properties…” and be sure that “DMA Transport” and “Device Emulation Startup Provider” is selected. Now click in “Emulator Options…” and you can personalize it. For example, to mimic a JE200, you need to select “Specify RAM size” in “General” tab and type 64. Go to Display tab and select “Video” option and type 480 as screen width, 800 has screen height and 16 to color depth.
You need to specify 16 bit color depth because an emulator software limitation: the video memory is limited to 1 MB. It seems there is a hack to avoid this but it is untested and you need to mess in depth source code of Windows CE.
And finally you have a device emulator similar to JE100/JE200. Of course you can specify and play with any screen size or any other characteristic that will offer the emulator. And as it has a persistent registry you can copy the JE files and have exactly the same device, but then you need to save your personalization.