How to setup a Virtual Machine to run Windows Embedded Compact 7
Working with an emulators or a virtual environments is very useful in the embedded space as Hardware might not be available, connectivity might complicate the development process.
Up to Windows Embedded CE 6.0, an ARM emulator was provided in the box to allow for tests and debug on an emulated environment.
Windows Embedded Compact (new version of Windows CE) now comes with a Virtual PC BSP, allowing one to build, deploy and use a Virtual PC machine to do his work.
Here is a short video explaining how to setup a Virtual Machine to run a Windows Embedded CE/Compact image.
One really convenient tool used in the process is called diskprep and can be found here.
Comments
Anonymous
October 08, 2010
Hello Oli, I try to make the VHD with disk prep, but the virtual machine wound't initialize =/. I need to to an special configuration in my image? Or the default configuration will work? Tanks for attention.Anonymous
October 08, 2010
Hey Thiago Can you be more specific about what's happening? Are you trying to boot eboot, are you trying to set up a VHD with a bre-backed image? If yes, did you try this image first, booting using eboot? -OlivierAnonymous
October 09, 2010
I make a VHD with NK.bin and a boot from VHD like your second example in this video. Using the disk prep, but they stay only in black screen, before the CE logo. Before that, i try eboot and work fine. I can boot download image from eboot, but no from VHD boot.Anonymous
October 10, 2010
By default KITL is active in any build, even realeaes builds. I suspect your image has KITL active in the project settings, and when the OS boots, it waits for KITL connection. You should whether deactivate KITL in the project settings for your release build, or set the eboot settings to passive KITL. -OlivierAnonymous
January 19, 2011
Hey Olivier, I try to use this virtual machine to debug a stand alone Silverlight for Windows Embedded application. Unfortunatelly the command "ipconfig" in the virtual machine gives the message: "no IPv4 adapter found". I think that something with my image is wrong but looking through the properties I activated all things handling network connections. Is it possible that drivers are missing? -MaxAnonymous
January 20, 2011
@Max A few questions to help sorting this out: Did you setup the Networking for your VM? Are you using Windows VPC in Windows 7 or VPC in VIsta or older WIndows? In your Network Adapter settings (on the Host machine), do you have the "Virtual PC Network Filter Driver" activated? Or the Loopback Adapter?
- Olivier
Anonymous
February 06, 2011
Oliver, the video isn't playing. i checked it out in two machines, but the same issue persists .Anonymous
February 06, 2011
Hi Rama Interestingly it plays here... Do you have SIlverlight installed? Can you watch it directly on MS Showcase here:www.microsoft.com/.../800b1db1-f192-4346-be5f-46a57fe376c4 Anyone else experiencing the same issue? -OlivierAnonymous
June 14, 2011
Hello Oliver, Could you please share that VHD file with Windows Embedded Compact 7 on it? It is a loot easier to download 256MB then 47GB. Thank you in advance for all your help!Anonymous
June 15, 2011
@Matt Let me look into this. There might be some licensing issues... Stay tuned OlivierAnonymous
June 20, 2011
Hello Oliver, Did you had time to look into this matter? Or you didn't found any licensing issues and can post this VHD file for everyone?Anonymous
June 21, 2011
@Matt Still looking into it... stay tuned OlivierAnonymous
October 20, 2011
Hello Olivier, thank you very much for your blog, for me is one of the most important docs for WINCE7 setup. Following that I'm able to run and debug managed/unmanaged applications on VPC. Now it's time to drivers/services development. But there is not way for me to reach my breakpoints on XXX_Init method. If I build the the WINCE with debug configuration I receive "An unrecoverable processor error" at boot time. I'm following the official doc "Building and Testing Your Device Driver Windows Embedded Compact 7 Technical Article" Do you have any suggestion?Anonymous
October 31, 2011
@Leonardo In order to debug drivers, you need to compile a debug version of your OS image. Your XXX_Init function will be hit when the driver is mounted by the kernel, which requires that you have the right registry settings set for it. You can check if you driver is mounted by looking at registry key HKLMDriversActive -OlivierAnonymous
December 13, 2011
Nice video. PS: Where can I get your screen saver, it looks pretty cool.Anonymous
December 15, 2011
Hi Olivier, I have one problem and may be you know the solution. I want convert a .VHD to a .BIN. Could you help me? Do you know how i can do this? Thank you, Alex.Anonymous
December 16, 2011
@Charles Xu The background I was using is Rainmeter(a utility that skins our deskop background. -OlivierAnonymous
December 16, 2011
@Alex I am not sure I understand your question. If you are talking about converting the VHD file into an nk.in file, then you don't have to do this as the nk.bin file is in the VHD.
- Olivier
Anonymous
May 14, 2012
Hi Thanks for nice article it is very helpful I have got following query regarding WEC7 VPC How can I make storage persistence in VPC?Anonymous
May 15, 2012
@Vijay I have not tried that and I am not sure this is possible. Windows Embedded Compact runs in RAM and in order to have persistent storage, you need to have a storage hardware such as an IDE drive or a USB or SD storage peripheral. Even if you could tweak your VPC configuration to make this happen, you will miss the drivers to allow the volumes to be mounted by the file system. -OlivierAnonymous
August 22, 2012
Am I correct in assuming Virtual PC only runs X86 code. Is there a replacement for ARM emulator that is available in WinCE 6.0? Thanks, LiamAnonymous
August 23, 2012
@liam you are correct, the emulation available in the Windows Embedded Compact 7 tools is X86 based and there is no ARM version of the emulator for Compact 7 available to date.
- Olivier