Remote_Debugging_With_VPN

ESC East is just a couple of weeks out and I’m busy working on my session content, and demos – one of the demos I’m working on is a native code connected digital picture frame that consumes an RSS/XML feed from http://demofeed.frameit.com pulls down images, and then displays the images.

The demo won’t have a cool UI, that’s not the point of the demo, the core of the demo is to compare some of the “under the hood” work that developers typically need to implement for networking, image processing etc…

In this case the application uses Win32 WinInet APIs to get the XML feed and images, and of course I need to parse the XML to pull out the image (enclosure) URLs.

Rather than staying the office I decided to work from home in the evening, using VPN to remote into the office network, and then RDP into my laptop running the Windows CE development tools.

While that’s useful I also want to see the display of the device I’m working on (to prove that the application is working as expected), so I setup my CE6 o/s image to include the CE6 Remote Display application (SYSGEN_CERDISP), the ConManClient2 binary files (copied from \Program Files\Common Files\Microsoft Shared\CoreCon\1.0\Target\wce400\<CPU> where <CPU> is x86 in my case) – and the appropriate registry key to turn off ConMan security (HLKM\System\CoreConOverrideSecurity = 1).

So that means that I can boot my o/s image before leaving the office, use Platform Builder “Windows CE Command Prompt” to start and connect the Remote Display (s cerdisp –c), and start ConManClient2 (s conmanclient2). On the desktop I run the host side Remote Display application (C:\WINCE600\PUBLIC\COMMON\OAK\BIN\I386\cerhost.exe).

Now my development environment is setup for me to use Platform Builder to watch the o/s image, Visual Studio for Win32 application development/debugging, and CE Remote Display to watch the display output from the development board.

I captured an image of the setup (top left), the application frame is RDP to my laptop, the “gnome” image is being displayed in the CE Remote Display application.

A cool way to setup the development environment for “anywhere/any time” development and debugging.

- Mike