Microsoft has released two embedded operating systems Windows CE and Windows XP embedded. Both operating systems can be used in embedded systems. However, how can we determine which device is more suitable for you?
At first glance, there seems to be no difference between Windows CE and Windows XP embedded. Both systems belong to componentized operating systems and are equipped with similar program interfaces (Win32, MFC, ATL, and.. Net Applications). Similar operating system technologies are used to support networks, Internet browsers, and media players. If you understand the design objectives of each operating system, it is easier to select.
Windows CE is a small and componentized real-time operating system that runs on a multi-processor architecture. On the other hand, you can regard Windows XP embedded as a componentized version of Windows XP Professional Service Pack 2 integrated with embedded functions. Now let's analyze some features of the two operating systems.
We already know that Windows XP embedded is a componentized version of Windows XP Professional Service Pack 2. The operating system contains nearly 12,000 independent components, about 9,000 built-in device drivers, and uses 3,000 operating system technologies. You can select the drivers, services, and applications that need to be included in the embedded operating system image. If you do not need a media player, notepad, or IE, you do not need to select a function in your operating system image. This ability to select a single component can reduce the size of the operating system, which naturally reduces the risk of malicious code attacks. For Windows XP embedded SP2, it has all the security updates in Windows XP SP2, including all the ports that are disabled by default (except HTTP ). Of course, the system builder can decide which port to open based on the device's needs. The size of a common operating system built based on the XP embedded structure increases by 40 MB, depending on the operating system components/technology included in the final image.
One advantage of using Windows XP embedded in an embedded system is that it can speed up development. Windows XP embedded-based systems run on x86 processors and PC-based hardware that we are very familiar. This means that any device driver or application of Windows 2000 or Windows XP can run on Windows XP embedded without modification. This is because the Windows XP embedded operating system has a set of pre-fabricated binary components compatible with the desktop, which ensures compatibility between applications and drivers.
A typical development process for Windows XP embedded devices is: first, use the tool named target analyzer to save the snapshot of the underlying hardware and generate an XML file, define all hardware components of the target device in this file. Then, import the XML file into the component designer tool, save it as a custom component, and then use this component to define the hardware of the device. In addition, the component designer can also import files in. inf format, so that you can easily generate components in the driver of Windows 2000 or Windows XP devices. The component designer can also be used to create custom components or define components for a custom shell or application. You can create components to define files, register settings, and dependencies between operating systems. Once the defined components are inserted into the Windows XP embedded component database, they can be used for Embedded design.
The next step for developing a Windows XP embedded operating system image is to use the target designer tool. This tool supports all the technologies and drivers of the Windows XP operating system, as well as the embedded features (which will be described below ). System developers only need to select the required components and add them to the Project workspace. Optional components include the hardware definition components created by the target analyzer and the design templates that define the starting point for many devices, including Windows based terminal (thin client), point of sale (sale) devices, and set-top boxes. You can also drag a single component in the directory to add it to the project design. During the build, the target designer runs the dependency analysis program in the project workspace to ensure that the final Operating System image includes the required operating system features. For example, a developer selects a. net design framework, adds its. NET application, and builds an operating system image. In this process, system designers can build operating system images without having to know and understand the dependencies of the. NET Framework.
As we have mentioned, Windows XP embedded has some specific embedded features, including starting and running Windows XP embedded from a CD-ROM or flash disk. In both cases, developers want to set the underlying media to read-only, because Flash only supports limited write, and the CD-ROM is read-only in that startup environment. The enhanced write filter component provided by Windows XP embedded intercepts the operating system and application write commands, instead of writing the startup media content to the built-in high-speed cache. This means that when the device is shut down, the underlying media will not produce errors and the device will always be in the optimal startup status. Because the enhanced write filtering component of Windows XP embedded allows you to use sleep files for multiple times, you will have an excellent startup environment in which, the system start time is similar to the start time of the consumer electronic product.
So how can we compare Windows XP embedded with Windows CE? Windows CE is a lightweight, real-time, hardware-embedded operating system that can run on multiple processor architectures (such as x86, MIPS, arm, and sh4. Its kernel is only kb. Of course, the operating system size depends on the components included in the design. The operating system is configured with a typical resident gateway that supports 802.11a/B/g, which can be remotely managed through a web-based interface; a security software with a capacity less than 4 MB; A fully functional handheld browser (Web pad) image (including web browsers, media players, and office file browsers. NET Compact framework; and a Windows Explorer Shell of about 18 MB.
Windows CE and Windows XP embedded have many essential differences. First, Windows CE is a 32-bit, Unicode operating system that does not support MS-DOS or Windows 3. x applications. In addition, the architecture of Windows CE is different from that of desktops. On a desktop, you can find three core operating system components: Kernel32, GDI32, and USER32. Windows CE does not have these components. components with the same functions include coredll (Kernel32), GWES, graphics indexing wing, and event subsystem (equivalent to a combination of GDI32 and USER32 ). This means that even simple desktop applications cannot run on Windows CE, and the smallest desktop applications must be re-compiled before they can run on Windows CE devices, because Windows CE devices are more suitable for running on non-x86 processors.
You may think that Windows CE can only run on handheld devices, battery-powered devices, such as Windows Mobile devices. In fact, this is only the most basic application of Windows CE. Windows CE has powerful power management capabilities, running on a Windows Mobile Device is certainly not a problem. Windows CE can run in industrial control systems, medical monitoring devices, robots, retail outlets of sales devices, and many other embedded operating systems. Windows CE is a hardware real-time embedded operating system that supports interrupt latency of less than 10 microseconds, far better than other real-time embedded systems.
Windows CE provides a complete set of tools for configuring, constructing, and debugging embedded operating system images. The Platform Builder tool is very similar to the Windows XP Embedded Target designer tool. developers can use platform wizard (similar to the Windows XP embedded design template) to perform initial configuration on the operating system, then, add or delete some features from the operating system design. Platform builder also provides support for operating system functional dependencies. For example, adding. NET Compact framework to a design also provides support for required operating system technologies.
Generally, Windows CE runs on customized hardware. The advantage of this design is that you can reduce the size of the operating system image to reduce the material used and reduce the power consumption of the processor, and reduce the number of peripherals supported, while at the same time, it enhances support for the latest operating system technology. This process usually requires porting Windows CE to a new hardware. To achieve this porting process, Windows CE loads millions of source code, which developers can use to verify how Windows CE works. In addition, correction of the source code also helps to achieve the porting process.
After a Windows CE operating system image is built, you can use many tools (such as the source code debugger, Performance Monitor, and evaluation tool) to debug or test the Windows CE operating system image.
We just outlined some of the technologies used by Windows CE and Windows XP embedded, and it is inevitable to miss a thousand. Microsoft provides Windows CE and Windows XP embedded assessment versions, you can log on to the http://www.windowsembeddedkit.com for free download. You are not required to obtain the operating system image license before you actually start to supply the device. In addition, Microsoft also provides support for the embedded operating system for up to 10 years! For your next-generation embedded product, evaluate Windows CE or Windows XP.