Beginning of Microsoft embedded operating system


Before you get into this, if you not aware on Microsoft on embedded line, please see my blog . Also please verify or consult correct documentation specific to you are looking. This is article is generic article on various feature’s covered over the releases and version of the Windows CE/

The versions ………..

There are various versions and flavors windows CE from the beginning, do not worry too much on the versions.

The following diagram shows  from 1996 to 2007.

Add caption

What is Windows CE?

  • Componentized operating system exposing the Win32 API
  • Optimized to run in “small” environments
  •  Smallest image is about 200KB – just the kernel
  • Actual image size depends on options selected
  • Typical processor speeds 100MHz to 300MHz
  • Also used on desktop x86 processors with GHz speeds
  • Runs on x86, ARM, MIPS, and SHx architectures
  • Support for security, networking and multimedia
  • Also supports COM, ATL, .NET programming

processors supported 

Intel SA1110
Intel Xscale
NEC Vr4122
NEC Vr5432
SH3-7729 (CE 4.x)
NS Geode, STPC

Frequently used Terms

  • BSP (Board Support Package) – The software package that is specific to a given hardware configuration, typically includes the boot loader, OAL, and device drivers
  • Catalog – A collection of Components
  • Catalog Item – A component that you can add to an OS design by selecting it from the Catalog
  • CEPC – Windows CE running on standard a PC
  • Component – Smallest unit of functionality that you can add to an OS design
  • KITL – Kernel Independent Transport Layer – Used as a link for downloading and debugging target programs

Underlying architecture. 

From 1996 to till date, Microsoft added various pieces together changed the part of the systems here and there, but underlying principle are still the same . 
1.The Microsoft made component based system, underlying principles are form “desktop” cousin’s. As you would know, Microsoft has Win32 SDK API’s .Same API’s are ported, re-written for windows ce. version version form the desktop version (The Simplest Windows Program)
2. What you would do in desktop differs in embedded world. As desktop will be based on “power supply” mode. Where as these devices are “battery operated”. This needs careful work, to charge the battery, and also “optimum battery usage “
3. Memory usage also need to be tuned, as these device should be able use lightweight battery’s as well coding needs be written such way that battery consumption to be minimal.

4. The way the devices are programmed needs to worked on compared to desktop version

5. Also these embedded devices should support various memory/processor/controller and architecture suited the small devices.

Processors: ARM, MIPS, SH, X86
Various other devices (the following image shows screenshot of tool, which will tell you what devices , hardware, Processors are supported )

6. Modular portability

7. Connectivity

Version compatibility 

Many of the problems you might have can be categorized into one of the three following areas: 
  • Misunderstanding the different components that make up Windows CE, and the different versions of those components; 
  • Communication between the device and the desktop computer; 
  • Managing memory on the device. 
    • “If for some reason you install a program and it doesn’t run, verify that you are installing the version that’s for the processor in your device.”
    • “Some programs have Handheld and Palm-sized PC version, so be sure you download the version for the type of device you have.”

High level architecture. 

Device Driver Architecture
Fig 1: High level architecture 

For Architecture reference , please read blog


Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s