[En-Nut-Discussion] USB Host Stack

Duane ellis ethernut at duaneellis.com
Sat Jun 25 03:04:54 CEST 2011


 >  I am working on the USB stack now.

If you do this, make certain you *READ* a number of other USB host stack 
APIs, many of these are "cross platform".

You need to have a good separation between the USBH - generic level, and 
the transport (EHCI, OHCI, or CUSTOM  SOLUTION) level.

===============================

My point #1 is this:

     NUT runs on a number of platforms.

     Read the multi-platform APIs - they are helpful to learn how to 
make a good layer separation.

     Many of these are are well thought out, well separated, and well 
abstracted, and most importantly - well documented.

I'm not saying the NetBSD stack is not well layered, reasoned, etc.  It 
sort of lack a standalone manual that is USB host API specific.

     Often the commercial PDFs have block diagrams that help explain 
some of the stuff going on.

===============================

My Point #2 is this:

for USB 2.0 (HS) many chips license a one or two USB host controllers, 
all from the same company.  Thus, have an IDENTICAL hardware API, and 
IDENTICAL internal data structures (ie: queue head, linked lists, etc). 
having more then one developer manual, or the ablity to look at 
reference code for a EHCI, or OHCI on another chip - is a very helpful 
thing!

===============================

There's plenty of things to read as reference material

Example:
http://www.segger.com/cms/admin/uploads/productDocs/UM10001_emUSBH.pdf

Example:
http://www.on-time.com/rtos-32-docs/rtusb-32/reference-manual/initialization/

Example:
http://ww1.microchip.com/downloads/en/AppNotes/USB_Host_Stack_01140a.pdf

Example:
http://www.thesycon.de/embusbhost/embusbhoststack_manual.pdf

Example:
http://cache.freescale.com/files/microcontrollers/doc/app_note/AN3492.pdf

Example:
http://ww1.microchip.com/downloads/en/AppNotes/01141a.pdf

Example:
http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/USER_MANUAL/CD00289278.pdf

Example:
http://www.radisys.com/documents/microware/usb_host.pdf

Example:
http://focus.ti.com.cn/cn/lit/ug/spmu020k/spmu020k.pdf

Example:
http://cache.freescale.com/files/microcontrollers/doc/ref_manual/MEDUSBHOSTAPIRM.pdf

Example:
http://cache.freescale.com/files/32bit/doc/ref_manual/MQXUSBHOSTAPIRM.pdf



More information about the En-Nut-Discussion mailing list