Exploring USB at the Hardware/Software Interface

Instructor: Allan Cruse
contact: cruse@usfca.edu


This website documents our development of some classroom materials intended
to support a future course for advanced students in Computer Science which will
investigate hardware-level programming of the UHCI and EHCI Universal Serial
Bus Host Controllers commonly found in today's Intel-based personal computers.
We also explore programming of an OHCI USB Host Controller, made available
as an 'add-in' to our Intel-based PCs.

Familiarity with the Linux operating system and the GNU development tools, and
with the x86-CPU architecture and instruction-set, will be assumed here. See our
lecture-slides and demo-programs from courses CS 630 and CS 635 for relevant
details regarding these prerequisite topics.

Initial topics:
- How to program the EHCI Hi-Speed USB 2.0 Debug Port
- Programming of Intel's EHCI and UHCI Host Controllers
- Programming an add-in card's OHCI USB Host Controller
- Exploring the eXtensible Host Controller (xHCI) for USB 3.0

      This page is under continuing construction



Systems Software



Last updated on 10/19/2011