circuitcellar.com
Magazine Support   Digital Library   Products & Services   Suppliers Directory 
 
 





 

Issue 117April 2000
Under the Covers
Part 1: Get Embed(ded) with Windowa NT 4.0


WHY NT4 EMBEDDED OVER CE?

If I developed embedded Windows programs for a living, the very first thing I would ask myself is "Why do I have to use Windows NT Embedded 4.0 for anything embedded?" If I want to embed in Bill’s world, I already have other embedded operating systems, including a Windows-based Windows CE. One answer is the size of the embedded device you are writing to. What I mean by size here is size in the physical or in the hardware, such as memory size or data storage size.

Another answer is security. Will your design be used by the military or by kids on the block? Yet another answer may lie in functionality. What does your device have to communicate with? Does it participate in a LAN, or does it just dial up the ’Net and browse the web? Without bashing CE or Windows NT Embedded 4.0, let’s explore the possibilities.

CE supports quite a few more processors than Windows NT Embedded 4.0. They share ’x86 compatibility, but that’s about all. CE can do MIPS, ARM, and PowerPC to name a few. Windows NT Embedded 4.0 tends to lean toward Pentium class processors like the AMD K5 and K6. Windows NT Embedded 4.0 also supports Cyrix 5x86 and 6x86 CPUs.

As far as CPU speed, CE runs the gamut. The recommended speed for Windows NT Embedded 4.0 is 200 MHz and above. You can see this in my Ampro Little Board/P5x SBC, which is clocking in at 266 MHz. I have no doubt that the Ampro Little Board/P5x SBC running Windows NT Embedded 4.0 with a 166-MHz CPU would perform well also.

CE was designed for small single-processor mobile and palm-top type embedded applications. Because Windows NT Embedded 4.0 is a binary equivalent, configurable subset of Windows NT 4.0, just like it’s desktop brother, Windows NT Embedded 4.0 can handle a number of CPUs in a multiprocessor configuration. Thus, the overhead of supporting multiple CPUs makes Windows NT Embedded 4.0 bigger as far as code goes.

The same size comparison can describe the multitasking capabilities of each product. Both CE and Windows NT Embedded 4.0 do preemptive multitasking, and both support threads. However, CE is limited to 32 concurrent applications. Windows NT Embedded 4.0 is limited only by the amount of storage it can grab.

Memory requirements are another factor that makes Windows NT Embedded 4.0 big when compared to CE. Windows NT Embedded 4.0 requires a minimum of 12 MB to play in and 8 MB of available storage, if you don’t factor in networking. With networking installed, those numbers increase to 16 MB of play space and additional 16 MB of available storage. CE does its thing in 1 MB of play space and doesn’t require any additional storage.

There’s really not much difference in usability between CE and Windows NT Embedded 4.0. Both operating systems have a gaggle of built-in utilities like Internet Explorer, Windows Explorer, and Command Shell, and both operating systems can be configured to work without the seemingly ever-present GUI.

On CE and Windows NT Embedded 4.0, this GUI-less mode is called headless support. Headless simply means that you can generate your Windows NT Embedded 4.0 or CE system without a display. In this mode you talk to your embedded sweetheart via a telnet server or a web-based management interface.

Although the Windows NT Embedded 4.0 implementation could be run in headless mode, the Ampro system has its hat on, so I can show you things via screenshots. Speaking of screenshots, CE being optimized for smaller applications is also optimized for smaller displays. You can stop your resolution count at 800 × 600 for CE. Windows NT Embedded 4.0 starts at 640 × 480 and goes up from there.

Communications protocols for CE include TCP/IP, PPP, SLIP, PAP, CHAP, HTTP, and IrDA. Windows NT Embedded 4.0 protocols are all of those you had to know about to pass the Workstation Exam for your MCP or MCSE. The notable protocol exceptions contained in Windows NT Embedded 4.0 and not in CE are AppleTalk, Netbeui, and IPX/SPX. This says to me that if you want to network off-the-shelf with the legacy big boys, don’t design your device with CE, or be prepared to write some interface code.

For those of you who design in sensitive environments, the security features offered by NTFS make Windows NT Embedded 4.0 a good candidate for your projects. NTFS allows the administrator to control access down to the file level. CE has no inherent security features.

In addition to NTFS, Windows NT Embedded 4.0 also supports FAT and compressed data formats. CE does FAT and the "Kryptonite" FAT32. (Windows NT Embedded 4.0 can’t do or coexist with FAT32.) These data formats can be stored in ATA flash memory, M-Systems DiskOnChip, IDE hard disks, and bootable CDROM using Windows NT Embedded 4.0. Our Ampro Little Board/P5x SBC steps up to include CompactFlash and the IBM Microdrive mini-spinner. CE can do all of that, too.

Power management is a must on CE-equipped mobile computing platforms, and CE has features to allow for extensive battery management. On Windows NT Embedded 4.0 platforms, the power management capabilities are generally left to the hardware. For example, the Ampro Little Board/P5x SBC offers "green PC" power-saving modes using APM (advanced power management) BIOS functions.

(Click here to enlarge)

Photo 3—How about that! This is the last operating system I would have expected to see on the same page with the word "embedded."

 

NT4 IN YOUR FUTURE

I’ve nearly run out of paper here. I did some more exploring while you were reading. Seems like the Ampro engineers felt sorry for me. Not only did they load Windows NT Embedded 4.0, I see QNX and Linux as boot options on the Windows NT Embedded 4.0 loader screen, too. Looks like the IBM Microdrive is also loaded with a version of Bill’s MS-DOS. We’re going to have a good time next month!

Next time, I’ll continue my investigation of Windows NT Embedded 4.0 and try to run an application or two. If I can figure out how to make those other two operating systems tick, I might do something there, too. Until then, I’ll leave you with Photo 3 which proves that even Bill G. thinks it doesn’t have to be complicated (or CE) to be embedded.