|
The emUSB-Bulk stack consists of an embedded side, which
is shipped in source code form, and a driver for the PC, which is typically
shipped as executable (.sys). (The source of the PC driver can also be
ordered.)
emUSB-Bulk allows developers to quickly and painlessly
develop software for an embedded device that communicates with a PC via
USB. The communication is like a single, high speed, reliable channel
(very similar to a TCP connection). It basically allows the PC to send
data to the embedded target, the embedded target to receive these bytes
and reply with any number of bytes. The PC is the USB host, the target
is the USB client. The USB standard defines 4 types of communication:
Control, isochronous, interrupt and bulk. Experience shows, that for most
embedded devices bulk mode is the communication mode of choice. It allows
usage of the full bandwidth of the USB bus.
The Kernel mode driver (PC)
In order to communicate with a target (client) running
emUSB, an emUSB bulk kernel mode driver has to be installed on Windows
PC' s. Typically, this is done as soon as emUSB runs on target hardware.
Why is a driver necessary ?
In Microsoft 's Windows operating systems, all communication
with real hardware is implemented with kernel-mode drivers. Normal applications
run in user-mode. In user-mode, hardware access is not permitted. All
access to hardware is done through the operating system. The operating
system uses a kernel mode driver to access the actual hardware. In other
words: every piece of hardware requires one or more kernel mode drivers
to function. Windows supplies drivers for most common types of hardware,
but it does not come with a generic bulk communication driver. It comes
with drivers for certain classes of devices, such as keyboard, mouse and
mass storage device (for example, a USB stick). This makes it possible
to connect a USB mouse and not having to install a driver for it: Windows
already has a driver for it.
Unfortunately, there is no generic kernel mode driver which allows communication
to any type of device in bulk mode. This is why a kernel mode driver needs
to be supplied in order to work with emUSB-Bulk.
Supported platforms
The kernel mode driver works on all NT-type platforms.
This includes Windows 2000 and Windows XP (home and professional), Windows
2003 Server and Windows Vista. Windows NT itself does not support USB;
Win98 is not supported by the driver.
Example application
Example applications for both the target (client) and
the PC (host) are supplied. These can be used for testing the correct
installation and proper function of the device running emUSB. The application
is a modified echo server (BULK_Echo1.c); the application receives data
byte by byte, increments every single byte and sends it back to the host.


Copyright SEGGER Microcontroller GmbH & Co.KG. All
rights reserved.
For more information, please visit our web site
www.segger.com or contact us at info@segger.com
Last update:
December 7, 2007
|