Application development on Windows Embedded Compact 2013
Windows Embedded Compact 2013 is the latest product release in the Microsoft Embedded Compact family. It was launched in 2013 and will be supported until 2023, when the end of its life cycle is scheduled.
WEC2013 introduces many new features when compared to Windows Embedded Compact 7.0 and Windows Embedded CE 6.0. The main change in this version is the possibility of using VS2012, VS2013, and VS2015 (currently supports only the native code) as the development environment, which in my opinion is one of the greatest updates since this allows the developers to use a more modern and updated IDE. Some of the new features added to the WEC2013 are listed below:
- .NET Compact Framework 3.9 supporting multicore processors
- Integrated with Visual Studio 2012/2013/2015
- Performance improvement in the File System
- New compiler supporting C ++ 11 (this is the main reason for the versions 6 & 7 being limited to VS2008)
- More information on MSDN
A major advantage of using the new Windows Embedded Compact 2013 is having the .NET Compact 3.9 and this is what we will be testing in this blog post. The cited blog post shows some of the improvements made from the previous versions, including multicore support!
What will you need to reproduce this test? You will need Visual Studio 2013 installed on your computer (Microsoft offers it at: https://www.visualstudio.com/downloads/) and you will also need Application Builder, an add-on that is provided for free by Microsoft at this link. Once Application Builder is installed, Visual Studio will offer a programming option for smart devices. The next step is to install the Embedded board SDK, either created by you when you built your own OS or provided by the hardware manufacturer. In my case, I will use a Colibri iMX6DL 512MB (NXP®/Freescale iMX6DL - Arm CortexTM-A9 and Windows Embedded Compact 2013 ported by Toradex). This Toradex CoM comes with WEC2013 licenses and the OS (production grade) image included in the hardware price (check the webshop). The OS images for Toradex modules are available for download on the developer website. Toradex also offers the WEC2013 SDK for its OS images, files, and installation instructions which are available at this link.
Once everything is installed, the Windows Embedded Compact option will appear under the new project menu (see Image 1).
Image 1: New Project Configuration
I started a new project using the traditional interface of Visual Studio to create a new application using Visual C#. On the New Project menu go to:
Visual C# > Windows Embedded Compact > Toradex 800> Device Application
When you select this option, your project will appear on the screen with the traditional Visual Studio 2013 interface: a Toolbox to drag objects on the screen, object properties menu, and other Visual Studio tools (refer Image 2).
Image 2: Application Development in Visual C #
Here, I have dragged and dropped several Panel Components to my Form1 and changed their Backcolor property to different colors (see Image 2 Red arrow). I have also created the Click Method for each of these Panels, into the code I set the Form background property to the same as the Panel Background property, this will happen for the Panel_Click method, see the code below in Image 3.
Image 3: Small piece of code to change the form backcolor property
You can initialize the debugging process by simply clicking on the Windows Embedded Compact debugger (yes, the famous play button!) At this point, some considerable differences between WinCE7 and 2013 may appear. The notable difference is that debugging cannot be done using the USB interface, but only through a network connection.
In the video below, you can check out the test running on a display and being debugged on Visual Studio 2013 at my development host. Note that in the video I also show another nice feature; I change from the Colibri iMX6DL to a Colibri VF61. Both modules are part of the Colibri pin-compatible module family, but while the first module has a dual-core Arm-A9, the other module has the Arm-A5. Once WEC2013 is started on the new module, just hit play again and the application works again on the new module and new processor even though they feature different cores.
Toradex solutions are fully scalable as Toradex already takes care of the differences for you and therefore you can focus your efforts on your product/application development. This will give you a huge advantage with time-to-market, cost optimization, and risk management when developing a new solution for the market.