Wednesday, March 1, 2000

A survey of Auto PC 2.0 for software developers

PRODUCT PREVIEW

By Mark Moeller

At this year's Consumer Electronics Show, Microsoft formally announced Microsoft Windows CE for Automotive 2.0 (check out the press release at http://www.microsoft.com/presspass/press/2000/Jan00/WinCEAutoPR.asp). This rather lengthy name is what was formerly called Microsoft Auto PC 2.0. For the sake of brevity, I'll call it Auto PC 2.0 in this article. While there wasn't as much fanfare from Microsoft as when the first version was rolled out, the actual demonstration of the software in action by various OEMs producing Auto PCs was far more substantial (see last month's article). This month I want to take a look at the insides of Auto PC 2.0 and examine what new design changes and programming interfaces are in this new product.

Upgrading the foundation

Just as with Auto PC version 1.0, Auto PC version 2.0 is based on the Windows CE operating system. Auto PC version 2.0 uses Windows CE version 2.12 versus the Windows CE version 2.01 used on Auto PC 1.0. As you might surmise from the relatively minor version number change, there isn't a great deal of difference between the two operating systems from a functional standpoint. However, there are some key differences that allow the Auto PC 2.0 software to be more reliable and secure.

Windows CE 2.12 adds some important new APIs to give finer control of how the kernel's scheduler operates and query the resource usage of threads. Of course, a number of important bugs were found and fixed between the two versions of the OS. Windows CE also got a considerable shot in the arm with regard to documentation. Windows CE 2.12 is far better documented than any previous version, particularly in regard to device driver, video, and file system development.

Another key feature of Windows CE 2.12 is its support for the Intel x86 processor and the Hitachi SH-4 processor. These are the two processors of choice for Auto PC 2.0 manufacturers, as they're significantly faster than the SH-3 processor used in Auto PC 1.0. For example, the SH-3 had a maximum throughput of 60 million instructions per second. Compare that to the SH-4 processor at 300 million instructions per second,. then do the math. The SH-4 smokes the SH-3, and that doesn't even take into account the fact that the memory on the version 1.0 Auto PC was far slower and the processor cache much smaller than on the version 2.0 Auto PCs.

Listening to customers

Auto PC 1.0 was a great stake in the ground for Microsoft to get in place. It demonstrated that Windows CE was up to the task, and that a consumer electronics product could be manufactured and brought to market for the automobile based on the technology. Auto PC 1.0 wasn't the blow out success that others, or I, had hoped for, but it drew the attention of most every major player in the automotive industry. Since Auto PC 1.0 was originally developed in close cooperation with Clarion, little outside of Microsoft or Clarion affected the design of the Auto PC. As David Wright mentioned in my published interview with him in December's Windows CE Power, Microsoft spent much of the last year working closely with other OEMs to incorporate their feedback into the Auto PC's design. This was critical in getting broad acceptance of the Auto PC platform. From this collaborative effort, Auto PC 2.0 was born.