Today Jeff Albertson and I hosted a Webinar with CMP on the topic of "Building Consumer Electronics Devices using Windows Embedded" - the webinar will be posted on the CMP site.

There were a number of questions asked that we didn't have time to answer at the end of the Webinar - here's the list of questions and answers.


What’s included with the Eval Kit?

The CE 6.0 Evaluation kit is a full version of the CE 6.0 development tools which run for 180 days, this includes everything needed to configure, build, deploy, debug, and test a CE 6.0 operating system image - More information about the evaluation kits can be found here.

In CE 6.0 can I now use Internet Explorer to browse to typical Multimedia clips on the web (, youtube, etc.) and view them with Windows Media Player, Flash,Realplayer, Quicktime? If so, what minimum processor speed is required?

Does Win 6.0 CE include the MSMQ service as a part of the standard system?
Yes, MSMQ is included in the CE 6.0 catalog.

What is the best path to start in the windows CE application developing?
CE 6.0 supports a number of application development models - C/C++ programming against the Win32 API, MFC (Microsoft Foundation Classes), and Managed development using C# or Visual Basic - there are a number of good books you should take a look at.

Programming Windows CE by Doug Boling 

.NET Compact Framework programming by Paul Yao

also check out the MSDN Virtual Labs - we have two labs, C# application development and MFC application development.

What sort of services is planned? Can we write our own service like on PC?
CE 6.0 supports applications, drivers, and services - you have a choice of how you develop your code - previously on Windows CE 5.0 you were limited to a maximum of 32 processes running at one time and each process being limited to running in a 32 MB process address space.

With CE 6.0 we have expanded the number of supported processes running at one time to 32,768 (in theory, you will probably run out of physical memory before reaching this number of processes) and each process running in a 2GB process address space.

With CE 5.0 developers may have written a service to conserve the number of processes running (since services are all loaded by one services manager) - with CE 6.0 you have a choice of writing an application or service.

Where I can find hardware reference designs to build a Windows CE system?

There are a number of reference boards available for CE 6.0 - these are available through system integrators and Silicon Vendors - more information on reference boards can be found on the Windows Embedded Partners site.

What real-time benchmarking is available on CE?
CE 6.0 provides a number of tools you can use to test the real-time performance of the operating system on your hardware, this includes ILTiming to check the interrupt latency of the operating system, and OSBench - there's also third party validation of the real-time performance of Windows CE, check out the reports from Dedicated Systems (covers ARM and x86 processors).

What types of testing tools are available?

There are a number of testing tools that ship with the CE 6.0 product - this includes the CETK (CE Test Kit) which can be used to run automated tests on your device drivers and operating system components - there are also a number of "Remote Tools" that ship with CE 6.0 that can be run from your desktop, this includes the Remote Performance Monitor, Remote Kernel Tracker, System Information, Spy, and tools within the CE 6.0 development tool that can analyze memory use, look for memory leaks etc.

How do I get more information on accessing the Source Code? Do I need  sign a contract?

There are two levels of source code available for CE 6.0, these are Shared Source and Premium Source - The Shared source ships with the CE 6.0 products (Eval and Full product), there's a "Click to Accept" End User License Agreement that you would need to read and accept before the source is installed on your development workstation - the Shared Source contains 100% of the kernel source, and source for a number of operating system components. Premium source requires that you complete an application form before having access to the source. More information on shared source is available on the Shared Source site.

How often will you release updates to CE 6.0?

We plan on releasing major versions of the CE product every two years with "Feature Pack" updates in between the major releases. Feature Packs include new features that are added to the development tools component catalog without affecting the underlying operating system drivers/kernel.

Can you explain your Partner model and how I could work with them?

We have a partner program called the Windows Embedded Partner Program - partners include silicon vendors, system integrators, trainers, hardware vendors, distributors and more.

Is CE the only OS we should look at within Windows Embedded for Consumer Electronics?

We have a range of embedded operating systems, this includes the .NET Micro Framework, Windows Embedded CE 6.0, Windows XP Embedded, and Windows Embedded for Point of Service. Each operating system has features and technologies that are appropriate for a range of embedded devices - You should evaluate the hardware and software requirements for your device to determine which operating system best fits your needs.

How long is presentation?

About an hour.

How difficult is it to adapt a Win32 application for CE 6.0

CE 6.0 exposes a subset of the desktop Win32 APIs - there are some areas that are not supported, for example we don't have/need back-compat with MS-DOS or Win16 applications - typically we expose the newer functions from the desktop - Windows CE is a full Unicode operating system which may require some changes to desktop applications that are written as ASCII/ANSI applications, we do support conversion APIs (WideCharToMultiByte and MutiByteToWideChar) to convert between ASCII/ANSI and Unicode. The porting process is somewhat abstracted if you move to a higher level API set, this could either be MFC (Microsoft Foundation Classes), or managed application development using C# or Visual Basic. 

Let me know if you have other questions from this mornings Webinar.

- Mike