Embedded 版 (精华区)

发信人: snows (花自飘零水自流), 信区: Embedded
标  题: 一些英文资料  驱动程序
发信站: 哈工大紫丁香 (2004年03月09日10:13:37 星期二), 站内信件

Drivers
----------------------------------------------------------------------------
----
WHAT IS THE WINDOWS CE DRIVER MODEL?
In the past, we have referred to two types of drivers in Windows CE -
Built-in drivers for devices built into the platform (such as Comm ports,
PCMCIA adapter, audio, etc.) and Installable drivers for devices that are
attached or inserted while the system is up and running. This high-level
description still applies to the Windows CE driver architecture, but here
we will provide a more specific description of the different drivers in
Windows CE.
"Native Drivers" are drivers for devices that are native to the platform.
These drivers follow no common interface model. They are loaded and called
directly by their "parent" process, which could be either the GWES module
or the Device Manager. These drivers could be either Layered (consisting
of a small PDD layer that is written by the OEM and an MDD layer that is
provided by Microsoft) or Monolithic (like UNIX) which the OEM writes
completely. The drivers that fit into this category are - Touch Panel,
Printers, Display, Keyboard, LED, Battery and PCMCIA.
"Stream Interface Drivers" are drivers that implement the 10 Stream
Interface functions in Windows CE. These drivers are loaded by Device
Manager and are exposed to applications through the file system. This
category of drivers could apply to both built-in and installable devices
in your platform.
Stream Interface Drivers can be loaded in a number of circumstances. Some
are loaded at boot time by the Device Manager, because of special registry
entries for those drivers - Audio and Serial drivers are examples. Some
are loaded in response to Windows CE detecting the connection of some
additional hardware, such as a PC Card. ATADISK and TrueFFS are examples.
Finally, applications can also ship with their own custom stream interface
drivers and load the drivers on the system when the application is run.
Such drivers generally sit on top of an existing driver and present the
underlying driver's services to the application. See the block diagram
below for a better understanding of the Windows CE Driver model.
----------------------------------------------------------------------------
----
WHAT IS THE IPC MECHANISM FOR DEVICE DRIVERS?
A device driver is just a DLL so regular IPC mechanisms can be used (i.e.,
messages, loopback, synchronization objects, and shared memory). For
example, to send data to the keyboard driver, the embedded customer could
use keybd_event or, if only keystrokes are required, use PostKeybdMessage.
Drivers can also open each other (i.e. one driver can do a CreateFile() of
another driver and communicate via DeviceIOControl() or
ReadFile()/WriteFile()).
----------------------------------------------------------------------------
----
IS OVERLAPPED I/O SUPPORTED? FOR EXAMPLE, CAN MULTIPLE THREADS ACCESS THE
SERIAL PORT?
Windows CE does not support the Win32? Overlapped I/O functions but our
Serial driver is written to allow multiple threads to access the serial
port at once (i.e. a thread can be blocked on a ReadFile() call while
another thread calls WriteFile()). The sample serial port also supports
multiple opens (either from the same process or multiple processes), only
one open can be Read/Write, the others must be Read Only. An OEM has the
choice of restricting multiple threads or open calls.
----------------------------------------------------------------------------
----
HOW CAN I PORT MY WINDOWS 9x OR WINDOWS NT DRIVER TO WINDOWS CE?
Windows CE client drivers are Installable Device Drivers, which are
user-mode DLLs. They all expose the same Stream Interface API. So porting
an installable driver to Windows CE might be easier than other types of
drivers. But, in general device drivers should not be looked at as
portable entities. Usually, the main functions of the driver can be ported
to Windows CE with little change, but the Windows NT IRP interface code
would need to be changed to the Stream Interface API.
----------------------------------------------------------------------------
----
DOES WINDOWS CE SUPPORT USB? WHAT FORM WILL THIS SUPPORT TAKE?
Yes, Windows CE version 2.1 added support for USB. In the Windows CE USB
subsystem, we will provide an OHCI Host Controller driver (OHCD), a USB
Driver (USBD) which exposes a complete client driver interface (USBDI) for
writing client drivers. For version 2.1, we'll also release a sample mouse
client driver on the Host side. No generic class (e.g. HID) drivers will
be provided in version 2.1. We will not be providing any USB function
drivers on the client side (i.e. in a peripheral).
----------------------------------------------------------------------------
----
WHAT DO I NEED TO TEST USB ON MY PLATFORM WITH VERSION 2.1 RELEASE?
The Embedded Toolkit ships with a sample host controller driver (OHCD) for
the PC-Based Hardware Development Platform (a.k.a. CE/PC platform). But at
the minimum, an OEM has to provide platform dependent drivers for their
own Host Controller on their platform (or use our OHCD for the CE/PC
platform), as well as client drivers for each planned USB device. For
basic verification of the OHCI host stack, the sample mouse driver could
be used. For verification of the USB device drivers, Microsoft will
provide Device Driver Test Kit (DDTK) routines in the ETK. For complete
OHCI testing on an OEM platform, an OEM will have to use the Intel 8x930Ax
Peripheral Controller kit and associated firmware. It is beyond the scope
of this FAQ to cover all possible interactions of USB testing.
----------------------------------------------------------------------------
----
WHAT USB DEVICES ARE SUPPORTED/TESTED UNDER WINDOWS CE?
Microsoft does not plan to test/support USB devices such as Printers,
Scanners, Cameras, Input devices, SCSI and other storage devices (like
Clik drives), etc. in Windows CE version 2.1. The Windows CE USB subsystem
provides full OHCI host support (on the PC-Based Hardware Development
platform), such that an OEM can write their own USB client drivers to
support planned devices. OEMs can refer to the MOUSE client driver as an
example.
----------------------------------------------------------------------------
----
WILL IEEE 1394 (FIREWIRE) BE SUPPORTED? IF SO, IN WHAT FORM?
No, IEEE 1394 (Firewire) standard bus is not supported in Windows CE. OEMs
can seek available third party solutions for 1394 support on Windows CE
(for example - 3A, Inc. recently announced support for 1394 devices on
Windows CE).
----------------------------------------------------------------------------
----
WHAT ABOUT OTHER STORAGE DRIVERS LIKE SCSI, IDE, FLOPPY DRIVERS?
Windows CE provided support for the ATA IDE interface via PCMCIA and CF
card form factors since version 1.0. But, Windows CE does not provide
separate drivers to support external SCSI, IDE, and Floppy devices. But an
OEM can implement their own drivers based on our sample drivers shipped in
the Embedded Toolkit.
----------------------------------------------------------------------------
----
IS THERE SUPPORT FOR ANY EXTERNAL VIDEO DRIVERS?
No, Microsoft does not provide any PC card video drivers. But an OEM can
write their own video drivers based on our sample drivers. There are a few
OEMs that do provide such video drivers.
----------------------------------------------------------------------------
----
IS A PARALLEL PORT DRIVER INCLUDED IN WINDOWS CE?
Yes. Windows CE version 2.1 supports a parallel port driver using the
IEEE1284 Compatibility mode in the forward direction and nibble mode in
the reverse direction. The parallel port driver is supported on our
PC-based development platform (a.k.a. CE/PC).
----------------------------------------------------------------------------
----
ARE NON-PCL PRINTER DRIVERS SUPPORTED?
In Windows CE version 2.1, we are including a PCL sample in the Embedded
Toolkit. No other sample drivers are included at this time. Third party
developers and OEMs can create and add additional printer drivers as
needed. The print subsystem is capable of handling multiple printer
drivers loaded in the system. For example, it is possible to have a PCL3
driver and a PostScript driver loaded on the Windows CE-based device. The
user can select the desired printer device using the Common Print Dialog.
----------------------------------------------------------------------------
----
IS PARALLEL PRINTING SUPPORTED? WHAT ABOUT NETWORK PRINTING?
Yes. The printer driver supports printing over Parallel, Serial, IR, and
Network printing. The Common Print Dialog allows the user to choose the
connection type. In version 2.1, we introduce basic network printing -
i.e. the print subsystem makes no attempt to figure out what type of
printer is on the other end of the wire. Rather, the user selects the
connection type and specifies the printer device using its UNC name, e.g.
\\server\share.
----------------------------------------------------------------------------
----
IS THERE FLASH FILESYSTEM SUPPORT - BOTH LINEAR FLASH PC CARDS AND
ON-BOARD FLASH?
In Windows CE version 2.1, there is support for linear flash devices via
the True Flash File System (TrueFFS) driver that Windows CE has licensed
from M-Systems. TrueFFS is a block device driver and is serviced by the
existing FAT filesystem in Windows CE. Currently, TrueFFS driver will
support linear flash devices only on PC Card, Miniature Card, and
M-Systems' DiskOnChip form factors. A future release of Windows CE will
support Resident Flash Array (RFA) device. An OEM can customize the
TrueFFS driver to include the combination of MTD, Socket layer, and
translation layer that meets the needs of their platform.
----------------------------------------------------------------------------
----
PC CARDS - (WHEN) WILL THERE BE SUPPORT FOR DMA IN CARD SERVICES?
There is no support for DMA in the version 2.1 release of the PCMCIA Card
Services interface. However, we support LockPages API, so that an OEM can
implement DMA on their own.
----------------------------------------------------------------------------
----
PC CARDS - (WHEN) WILL THERE BE SUPPORT FOR MULTIFUNCTION CARDS?
Yes, the built-in PCMCIA Socket driver supports true multifunction cards
as well as Dev/Multi cards (multiple devices of the same type, for example
DUALIO). There is a DUALIO sample that ships in the DDK to illustrate the
concept of writing a Dev/Multi driver. True Multifunction cards are
handled via the PnP ID key that is obtained from the CIS structure. Note
that /Dev/Multi cards need not be of the same type, it can be used for
loading drivers for any multifunction card that does not meet the
multifunction card specification.
----------------------------------------------------------------------------
----
IS MICROSOFT WORKING WITH PC-CARD AND OTHER MINIATURIZED CARD VENDORS TO
ENSURE LESS POWER CONSUMING I/O CARDS (MODEMS, MULTI FUNCTION CARDS,
ETC.)? WHAT ARE THE SUPPORTED CARDS?
Microsoft is working with Independent Hardware Vendors and its Technology
Partners to provide broad-based support for diverse card form factors and
card functions. For current information on the list of cards that have
undergone or are being tested for compatibility/certification, please
refer to the Microsoft Hardware Quality Lab website
http://www.microsoft.com/hwtest/.
----------------------------------------------------------------------------
----
DOES MICROSOFT PROVIDE A WAY TO INCLUDE THIRD PARTY DRIVERS IN WINDOWS CE?
We're in the process of exploring how we might create a Windows CE Driver
Library (CEDL), similar to the Windows Driver Library (WDL). Once the CEDL
is finalized and implemented, OEMs and 3rd party driver writers will be
able to submit their fully functional driver and supported hardware to the
Windows Hardware Quality Lab (WHQL) or an independent test authority for
compatibility testing and subsequent inclusion of the driver into the
CEDL. We'll post the latest information on the CEDL to the WHQL Web site,
http://www.microsoft.com/hwtest/, so OEMs should check this site for
updated information on this initiative. 
--
-
 ╭────────────────────────────╮
 │   风萧传瑟声,叶落根深处,青阶入野无归途,他乡不知顾   │
 │   泣下问和谁,叹者行已暮,寒眉傲骨今尚在,奈何入凡土   │
 ╰────────────────────────────╯
                                                                             

※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.229.154]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:210.391毫秒