I'm told by a guy on the SwiftForth mailing list that you just talk to
most USB devices through the driver as a disk drive, mike, printer, etc. For
example, a USB Flash Memory is addressed with the Open/Close/Read/Write calls
like any disk drive. I guess we all knew that, but I thought there were other
lower-level hooks to talk to.
That leaves us with the issue of the Driver (PC Host/Controller side)
and the target-side firmware required for building a widget with a USB
interface.
I ran across these guys -
tools to build the driver for the PC side.
These guys
have information on USB, Embedded Ethernet, Ye olde seriale and parallelle
portals and so on, lots of utilities and links.
Herman Griffin says: "A program by the name of "port
talk" on BeyondLogic is of
interest to a person wanting to write USB drivers!".
Microsoft provides Device Driver Kits for all of it's operating systems
which includes example USB device drivers. Buy a CD or register on MSDN (not
free either way) MicroSoft Developer Network pricelist
here.
If I were going to build some sort of peripheral which used USB to
communicate with it's host, I would probably just buy a solution.
1) embed an USB->RS232 or USB->Parallel (naughty bits) interface
(for onsies-twosies things) like USBMicro or
B&B
Electronics or
2) use a chip like the Cypress parts shown
here:
E Z-USB FX2 Programmable MCU - Fully-integrated, single-chip solution
for Hi-Speed USB peripherals
EZ-USB SX2 Intelligent SIE core automatically handles the low-level USB
protocol, shortening the USB learning curve
EZ-USB TX2 Hi-Speed UTMI-compliant transceiver
EZ-USB AT2 Fourth Generation Hi-Speed Mass Storage Fixed-Function Bridge
supporting ATA-6 hard drives
ISD-300LP Low-Power Mass-storage fixed-function device designed for
bus-powered applications like CompactFlash card readers, MP3/PVR players or
portable 2.5" hard-drives.
The
FX2
is an 8051 with a USB interface, example code and a development kit (around
$500, comes with "evaluation" C compiler)
- Intro to
USB
- Debugging
USB
- Implementers
- USB
Design by Example
- Windows API and
USB
- Windows API and USB
- Port Talk - A
Windows NT I/O Port Device Driver
USB
Complete: Everything You Need to Develop Custom USB Peripherals by Jan
Axelson
Win NT/2000/XP
Driver for DeVaSys USBLPTPD11(D) USB Development Boards