Windows Embedded Compact 7 and Virtual PC BSP
There is a new BSP coming with Windows Embedded Compact 7 (the public CTP is available on Connect): the Virtual PC BSP. This BSP allows to build a CE image for a virtual machine running in Windows Virtual PC environment (if you are running Windows 7) or Virtual PC 2007 environment (if you are running previous versions of Windows). a Virtual image disk is provided with the BSP that will boot into the Ethernet Bootloader eboot in order to establish a connection from Visual Studio to download and debug/test a CE image on the virtual machine.
You might have experienced this if you are playing around with this: you are building your OSDesign with the Virtual PC BSP, starting the Virtual Machine that boots into eBoot, establish the connection between Platform Builder and the Virtual Machine, then start the download of your image… when… boom, download fails leaving you with a message about a TFTP timeout error. This does not happen every time and I couldn’t reproduce it (reason why I don’t have any snapshots), but it seems there is some problem with Windows Virtual PC and the network.A colleague pointed me at a workaround someone posted on a forum. I couldn’t test it myself as I cannot reproduce the issue any longer, but let me know if you are facing this issue and if turning off UDP CRC checksum on the network card (the one the Virtual Machine uses) solves it.
Comments
Anonymous
August 17, 2010
Hi, Turning off UDP CRC checksum really did the trick. Thanks for the tip.Anonymous
August 18, 2010
@Marcelo, Good to hear :-) -OlivierAnonymous
September 28, 2010
I am having the same problem but my NIC does not have this option. What is the root cause? I do not recall this being a problem with eariler releases. Has this been reported as a WEC7 bug on Connect?Anonymous
October 05, 2010
@David This issue has been brought up with Core triage but I don't know what the outcome is. From what we know, the conditions that we suspect are ripe for this time-out are - The download takes place through a congested network - Placing a router with DHCP enabled inside a network that already has a DHCP server, then getting the IP address from the router inside the network So it seems the UDP CRC checksum setting is just a workaround that would work in some specific conditions. I will update the post if I get update. -OlivierAnonymous
November 17, 2010
The comment has been removedAnonymous
November 17, 2010
@Jeff Thanks a lot for the additional hint! -OlivierAnonymous
March 06, 2011
Olivier, this hint is a real gem. It was one of thos obscure that I thought a reinstall might be required. I was able to set it in the nIC config. But that fixed it.. Note that I had to disable then renable the NIC Cheers -DavidAnonymous
July 13, 2011
hi.. for me udp chk sum disabling is not working..please help me Accept download from 107.108.199.63 port 55667 Start download RAM image, size 0x04898cbc bytes ERROR: BootTransportPb: TFTP timeout occured! ERROR: BootDownloadBin!GetDataRam: Failed read record from transport driver! *** Setting to low power state *** *** HALTAnonymous
August 08, 2011
What is the real-time performance of Compact 7 when it running in a Virtual PC on Windows 7 desktop. I am thinking that this way, we can use windows 7 desktop PC's with Compact 7 real time core for applications that require both (such as a motion control system that requires real time control but also needs to run desktop CAD applications).Anonymous
August 09, 2011
@CK You will NOT have real time behavior when running Compact 7 in a virtual machine as the virtual machine engine relies on the host OS (Windows) to access hardware and therefore goes through this OS stacks (drivers, scheduler...) As Windows is not a deterministic OS (from the hard real time perspective), you will not be able to implement the scenario you suggest -OlivierAnonymous
August 14, 2011
How do you turn off the UDP checksum? Through system Propshardware?Anonymous
August 15, 2011
@Dennis On your Windows machine, open the control panel, go into Network and Internet, then Network Connections. Right click on your Network adapter icon and click Properties. In the network card properties window, you will find a "configuer..." button under the name of the card. In the advanced tab of the new window that pops up you should be able to find the UDP checksum offload setting. -Olivier