What may first come to mind when planning the development of an embedded application is the burden of learning a new suite of concepts and tools. For instance, you might think that enabling your existing Windows application to run on a smart camera will mean learning all the basics from scratch. Well, I admit that I’ve already felt that fear a few times in the past until I discovered Windows CE. If you are a somewhat experienced Windows developer, you are certainly looking for an OS that will allow you to achieve a seamless porting process.
Besides the fact that your smart device may require some level of driver development to enable the non-standard embedded devices (e.g. acquisition device, flash memory, GPIO) the application level (e.g. image processing, signal processing, data analysis, etc) can all be ported to an embedded processor easily. For example a C++ based image processing application written for Windows/x86 in Visual Studio could be ported to WinCE/ARM environment with very little effort.
The Windows CE OS image is created by the Windows CE platform builder according to a target processor and a selection of tools such as Telnet, FTP, Windows Explorer, Registry Editor, Remote Display, etc. The picture below shows how files are copied from the PC to the embedded device using FTP inside Windows Explorer.
In today’s Windows development world, Visual Studio remains the common denominator for most of us. As a matter of fact Visual Studio offers a high level of integration for embedded platforms. From a development point of view, Windows CE platform SDK is delivered in the form of an add-on that integrates into the Visual Studio IDE. Below is an example of a Teledyne DALSA WinCE / ARM platform that adds up to the list of built-in platforms in Visual Studio.
In addition to being able to compile your embedded application in a seamless way you can go even further and step through your code inside Visual Studio as if you were debugging a PC-based application. Once the Visual Studio Remote Debugging tool is initialized (in a few steps such as running the debugger on the remote device and connecting to it through an IP address) you are ready to launch your embedded application and see inside its veins!
Now that you’ve learned that porting applications from Windows to Windows CE can be as easy as 1-2-3, I hope this limits any apprehension you may have have about embedded application development.