EMAC works to offer a full featured Windows CE build for each of our boards and can add WinCE to virtually any of our ARM or x86 based SoM Microcontrollers, PC Compatible SBCs or SIB Emebedded Servers. While also offering the ability to provide a customized build that is desiged only to meet the needs of the customer's target system.
The
Windows CE operating system is a 32-bit, multitasking, multithreaded
operating system that has a scalable, open architecture design,
providing support for a variety of devices. Windows CE is compact,
providing high performance in limited memory configurations, supporting
a range of embedded, mobile or multimedia product lines. Windows
CE also has integrated power management, enabling long battery
life on mobile devices. Standard communications support is built
into Windows CE, enabling access to the Internet to send and receive
e-mail or browse the World Wide Web. A graphical user interface
incorporating many elements of the familiar the Desk-Top Windows user interface
is also available, facilitating ease-of-use for end users.
KEY FEATURES & BENEFITS
Sub-set of Win32 API Windows CE supports more than
700 of the most-frequently-used Win32 APIs, enabling developers
to take advantage of vast amounts of third-party programming resources,
tools, software examples, and documentation for their Windows
CE-based development. With more than 500,000 developers worldwide
using Win32, there are many experienced programmers who already
know how to develop for the Microsoft Windows CE platform, which
lowers training costs and shortens your time to market.
Low-cost, familiar development tools Windows CE
requires two inexpensive, basic development tools. The first development
tool is for the operating system itself: Platform Builder which is required if you are generating your own build. If you have EMAC generate your build you will not require this relatively expensive and difficult to use tool.
Platform Builder contains all of the cross-compilers, assemblers,
remote debugger tools, boot loaders, sample device drivers (keyboard,
LCD, serial, IrDA, touch screen, etc.), sample platforms, and operating system components. The
second development tool Windows Visual Studio is used for developing applications.
Scalable, full-featured operating system Windows
CE can be customized for a product by selecting from a set of
available software modules. In addition, some of the modules are
componentizable, which means that you can further customize the
modules by selecting from a set of available components for that
module. Because the Windows CE operating system is componentized,
you can design embedded system platforms using the minimum set
of software modules and components needed to support the platform's
system requirements. This minimizes the memory footprint and maximizes
performance of the operating system. Windows CE scales from a
kernel to a full-featured OS with networking and GUI.
Extensive and Extensible Device Support Windows
CE directly supports many kinds of hardware peripherals and devices,
such as keyboards, mouse devices, touch panels, serial ports,
Ethernet, modems, USB devices, audio devices, parallel ports,
printer devices, and storage devices (ATA or flash media). At
the same time, as Windows CE extends to new industries and device
categories, there is tremendous potential for embedded developers
to easily add new device types and peripherals. This is made possible
through the simple and well-defined Windows CE Device Driver model,
which provides a well-documented set of device driver interfaces
(DDIs) and sample code that demonstrates implementation. This
model enables embedded developers (both OEMs and IHVs) to easily
implement their own driver software for a variety of devices that
run on the Microsoft Windows CE platform.
Wide microprocessor support Currently supported
processor architectures include: NEC, Philips, Toshiba MIPS 39xx
and 4xxx, Motorola PowerPC 821, 823, 850, 860, Hitachi SH3 and
SH4, Intel 486 and Pentium (and compatibles: AMD, Cyrix, SGS Thomson),
ARM, and Intel X-Scale. The wide choice enables OEMs to select
architecture with the best price/performance for their specific
application. New processors are being added regularly. For the
complete list of supported processors, including specific model
numbers, visit the Microsoft Windows CE website.
TECHNICAL OVERVIEW
OEM Adaptation Layer (OAL)
Windows CE is adapted for a specific hardware platform by creating
a thin layer of code that resides between the kernel and the hardware
platform. This layer is known as the OEM Adaptation Layer (OAL).
The OAL isolates device-specific hardware features from the kernel.
The Windows CE kernel, in turn, contains processor-specific code
to handle processor core functions. The OAL is specific for a
particular CPU and hardware platform.
The primary purpose of the OAL is to expose the target platform's
hardware to the kernel. This includes managing the hardware's
timers and device interrupts, and implementing power management
across the device's peripherals. Windows CE handles interrupts
by associating each hardware interrupt request line (IRQ) with
one interrupt service routine (ISR). When interrupts are enabled
and an interrupt occurs, the kernel calls the registered ISR for
that interrupt. The ISR, the kernel-mode-portion of interrupt
processing, is kept as short as possible. Its responsibility is
primarily to direct the kernel to schedule and launch the appropriate
interrupt service thread (IST). The IST, implemented in the device
driver software module, gets or sends data and control codes from
or to the hardware and acknowledges the device interrupt.
Device Drivers
- Built-in support for the keyboard, touch panel, notification
LED, display, audio (including Sound Blaster),
battery drivers, and a rapid development model that allows these
devices to be ported quickly to your platform.
- Support for wireless and wireline Ethernet LAN connectivity
- Statically replaceable keyboard layout
- Extended interrupt processing interface or device drivers
based on the Win32 event model
- Network printing
- Support for serial and parallel devices
- Host support for Universal Serial Bus (USB) devices
- PCMCIA Card and Socket Services for removable or built-in
storage cards
Kernel
- Multi-threaded; preemptive multitasking
- Preemptive priority-based thread scheduling based on the Win32
process and thread model; supports eight levels of thread priority
- Support for priority inheritance to correct priority inversion
- Demand paging supported by ROM, RAM, and FAT file systems
- Execute in place from ROM
- Support for synchronization objects (WaitForSingleObject,
WaitForMultipleObjects)
- Low ISR and threat latency
- Portable across microprocessors
- Heap size that is limited only by available memory
Object Store
- Available object stores include file systems, registry, and
database
- Database provides storage and retrieval of database records,
with up to four sort keys and support for transaction logging
and rollback
- File System
- Access is through Win32 API
- Supports FATFS, including multiple FAT volumes (up to 99 volumes)
- Installable block Device Drivers (ATA Flash and SRAM drivers
included)
- True Flash File System support
- Installable file systems
- Databases on mounted file systems
Registry
- Win32-like registry
- Access is through Win32 Registry API
GDI and USER
- Configurable from nothing to full-blown GDI & User, with
intermediate points:
- display-less, message passing (mininput)
- graphics but no windowing (mingdi)
- minimalist window manager (minwmgr)
- GDI - resolution-independent graphics
- Raster and TrueType Font support o1 to 32 BPP Color Pixel
depths w/ palettes
- Printing (device-side rendering)
- User - windowing, dialogs, messaging
- Additional: Controls, clipboard, cursors, caret, idle time
out, hot keys, etc.
- GDI and user export a subset of the Win32 API
Communications Support
- Windows Sockets APIs
- WinInet with FTP, HTTP and HTTPS support
- Secure Sockets Layer (SSL) with Server Gated Cryptography
support
- TCP/IP, PPP, SLIP, and IrDA, including Fast IR
- TAPI modem support
- Serial APIs
- Direct connection, dial-up and device-to-device connectivity
- LAN connectivity using NDIS and Microsoft Network client software
(to access remote file and print servers)
- Remote access services (RAS) to support remove connectivity
- Remote debugging over LAN, serial or parallel connections
- Built-in support for communication hardware (built-in modems,
Ethernet chips, etc.)
- Windows NT® LAN Manager-based
authentication
Remote Connectivity
- Remote networking
- Direct connection to PC
- Dial-up access to Internet, PCs, and Servers
Shell
- Includes a minimum shell that supports application launching
and switching
- The shell can be included to serve as the basis of an embedded
application
- Key UI components included to allow rapid development of custom
embedded shells
Internationalization/Localization
- Support for localization of the operating system, including
built-in support for French, German, Italian, Portuguese (Brazilian),
Spanish, Dutch, Swedish, Japanese and Chinese (Beta)
- Far East text support
- Input Method Manager, Input Method Editor, and Soft Input
Panel
- UNICODE support
- Support for the national language support (NLS) API, which
allows system and user locales
Additional Component Features
- ActiveX® and COM/OLE
- Microsoft Virtual Machine for Java for Windows CE
- Microsoft Foundation Classes for Windows CE
WINDOWS CE - Based HARDWARE REQUIREMENTS
At a minimum, a Windows CE-based device must have a supported
processor, memory and an internal timer for scheduling. No other
hardware is specifically referenced by the operating system, but
most devices will have a number of peripherals.
Windows CE is a small-footprint, flexible operating system. The
memory needed by a Windows CE-based system is totally dependent
on which components the designer of the system selects. A Typical CE build may require 32 Meg of Flash and 32 Meg of RAM.
Note: Windows CE Licenses sold only with hard drive or
flash drive media and SBC.
Back to Operating
Systems
|