[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