Windows CE vs. Windows Mobile – Part Three

Over on Mikehall’s Embedded WEblog is another post about the differences between Windows Mobile and Windows Embedded CE. It sounds like there is still confusion about the two RTOS.

In short, Windows Embedded CE is a hard real-time, componentized operating system that can be used to build embedded devices. With Embedded CE, developers can select the components they want to use in the device they are designing. On the other hand, Windows Mobile uses Windows Embedded CE as the underlying RTOS and features a standard set of applications, shell and APIs. Developers cannot select the components for the Windows Mobile device they are building. Here’s a helpful chart from Mike Hall:

  Windows Embedded CE Windows Mobile
Processors ARM, MIPS, x86, SH4 ARM
Componentized Yes No
Headless Yes No
Consistent API No Yes
Licensed by Distributors Microsoft

[We wrote this post before Mobile 6 was released last month.] One other note, the current version of Windows Embedded CE is 6.0. Windows Mobile 5.0 (6.0 has not been released yet) is based on Embedded CE 5.0. This means Windows Mobile devices are still limited to a maximum of 32 processes and 32MB virtual address space for each process. CE 6.0 can run 32,768 processes at one time with 2GB virtual address space for each process.

More info: