Colibri Application Development

 
Compare with Revision




Subscribe for Content Update

Delivered by FeedBurner

Application development for Windows CE on the Colibri module is a straight forward affair. The development tools are the same tools you would use to develop a application for a PC running a desktop version of Windows. However, instead of running and debugging the code directly on the development PC, the application is deployed directly to the Colibri (aka the "target"). Connection to the target can be via USB or Embedded Visual C++ over Ethernet.

Please have a look at our "Hello World" video tutorial here.

It is even possible to develop applications which run 1:1 on an x86 development PC and the Colibri module if your application is written in managed code to run under the .NET Compact Framework.

Development Environments

Toradex tested and recommends the Microsoft Development tools, but there are also other tools available which support the development for Windows CE.

Visual Studio 2008

VS2008 allows you to develop native code or managed code for the .NET Compact Framework 3.5.

Please note that not all versions support "Smart Device" development which is required for Windows CE.

Windows CE 5 and CE 6, and Windows Embedded Compact 7 are supported.

Supported Architecture is ARMv4.

If you installed the Platform Builder plugin, you can also compile code specially optimized for the ARMv6 and ARMv7 architectures.

Support exists for the VFP Floating Point architecture.

Microsoft offers a free 90 days trial version of VS2008
English: http://download.microsoft.com/download/8/1/d/81d3f35e-fa03-485b-953b-ff952e402520/VS2008ProEdition90dayTrialENUX1435622.iso
German: http://download.microsoft.com/download/c/4/a/c4a75cc0-4f7d-46ed-8ff2-1e4cd9d0f94a/VS2008ProEdition90DayTrialDEUX1435986.iso

When you switch from the trial version to a licensed version please be aware that you have to reinstall the SDKs.

Please make sure that you always install the latest Microsoft updates:

eMbedded Visual C++ 4.0

The eMbedded Visual C++ IDE is free of charge. It can be download here.

It can be used to developer applications for Windows CE 5 and Windows CE 6 operating systems (Please have a look here for more information about support for Windows CE 6).

You can only develop native code (ASM,C,C++) as opposed to managed code which runs under the .NET framework.

Supported architectures are ARMv4.

Please have a look at our "Hello World" video tutorial here.

Visual Studio 2005

VS2005 allows you to develop native code or managed code for the .NET Compact Framework 2.0.

Please note that not all versions support "Smart Device" development which is required for Windows CE.

Windows CE 5 and CE 6, and Windows Embedded Compact 7 are supported.

Supported Architectures are ARMv4 and ARMv5.

Please note that there is no native support for the VFP Floating Point architecture.

In case you are using .Net, make sure that you installed the .Net CF Framework 2.0 SP 1

Visual Studio 2010

VS2010 does not support "Smart Device" development and therefore can not be used for Windows CE application development.

Visual Studio 2012

VS2012 allows you to develop native code or managed code for the .NET Compact Framework 3.9. It also integrates with LightSwitch for HTML5 programming and Expression Blend for XAML.

Please note that not all versions support "Smart Device" development which is required for Windows CE.

Only Windows Embedded Compact 2013 is supported.

Supported Architectures are only ARMv7 with VFP-D32.

Form more information see our article about Windows Embedded Compact 2013

Multi Core Support in Visual Studio 2008 / 2005

Windows Embedded Compact 7 support multi core systems. To use multiple cores in your application, you need to build it for Windows CE 7. If you use the Windows CE 7 SDK, the linker should be automatically configured for multi-core support. If not, you will need to configure the following settings:

  • Go to "Project -> Properties"
  • Choose "Configuration Properties -> Linker -> Commandline"
  • If there is already a "/Subsystem" parameter, delete it
  • Add the following string: /subsystem:windowsce,7.00

Now, your application should be able to make use of both cores. You can easily verify this with our Colibri Monitor.

For an MulitCore API see OpenMP

Samples

Toradex provides free samples and libraries to get you started. You can find more information here. The sample projects are for eMbedded Visual C++ but can be easily imported into other IDEs, such as Visual Studio 2005/2008.

MFC / ATL

MFC and ATL are supported. However, there is currently a Microsoft bug which causes problems running such application which make use of MFC or ATL on a Windows CE 7 multi core system. To avoid problems, you need to configure the linker for Windows CE 6.

  • Go to "Project -> Properties"
  • Now choose: Configuration "Properties -> Linker -> Commandline"
  • If there is already a "/Subsystem" parameter delete it
  • Add the following string: /subsystem:windowsce,6.00

For more information see: [2]

Silverlight / XAML

Microsoft Silverlight is available in Windows CE 6 and Windows Embedded Compact 7. In Windows Embedded Compact 7 on the Colibri T20 it is fully hardware accelerated. Check out our demo video

Optimization Tips