Books USB: The Universal Serial Bus Books Benjamin David Lunt BuyAvailable at CreateSpace, Amazon, Kindle[5], or your favorite online book sourceBuy Volume Eight of a series of books on Operating System Design Please write a reviewPlease go to the bottom of this page and write a review. Thank you.Please write a review The 2nd Edition is now available. See this .pdf for what's new Errata View the Errata 1st Ed., 2nd Ed., and additional notes Errata New ItemI have a blog about this and other similar items New Item Comments See below for customer comments Comments Facebook Visit my FaceBook page Facebook
I am still interested in your help. If you have a chance, please have a look at this page. Have a look at my Figure Eight page that shows how to create your own USB Device. Have a look at my ATTiny2313 device that doesn't "hard code" the LED's to the board. You can attach it to a bread board and use it as you please. USB: The Universal Serial BusThis book is for those who are building an operating system, writing embedded code, or just want to learn how to communicate with the USB hardware and attached devices directly through hardware programming. This book will show you how to find and initialize each of the four major USB Host Controllers, set up USB stacks, and communicate with attached devices. It has detailed information and examples of each step required to accomplish this. Detailed information for the UHCI, OHCI, EHCI, and the new Super Speed xHCI controller is easy to follow and understand.

Information Information in the book or on the CD-ROM may include Information
• quirks of different controllers • quirks of different devices • specific errors and "gotchas" to watch for • step by step instructions to get a device's descriptor(s) • Details and/or C Source code to: • Find a USB controller on the PCI(e) bus using only the PCI hardware. • Find information about the USB controller • Find a device attached • Retrieve the attached device's Device Descriptor • Read from a USB Mass Storage Devices • Read from a USB external Floppy Drive • Parse the HID device descriptor • Retrieve Mouse movement • Retrieve Keypress information • Print to a USB printer • Set up and use an External Hub Suggested information you will need prior to reading this book are readily available and may be included on the available companion CD-ROM, may include: • Specification documents for the UHCI, OHCI, EHCI, and xHCI Host Controllers • USB specification documents versions 1.1, 2.0, and 3.0 • USB HID specification • Knowledge of system programming on an Intel 80x386 based system • Knowledge of the C Language and an available C Compiler • along with other system related knowledge It is not required that you have extensive knowledge of USB or the PCI(e) bridge it resides on. This book explains in detail how to get started, even if you have little or no knowledge of this technology. Amazon now has a "Look Inside" of the first few pages of the book including the Contents showing in a bit more detail what is referenced in the book.
CD Included The Companion CD-ROM CD Included
The companion CD-ROM will not be available with the purchase of the book via book outlets and online shopping. However, with any form of proof of purchase[1], the CD-ROM can be sent to you as an .ISO image via email, or sent as a CD-ROM via USPS. (A small postage fee may be applied). I can be contacted at fys [at] fysnet [dot] net. [1] A proof of purchase would consist of, but not limited to: - Confirmation email from seller, copied/pasted to a request email to the address above - Image of a register receipt sent as an attachment to the address above - Randomly chosen chapter/page/paragraph/sentence-within-that-paragraph combination (chosen by you) I am just trying "to keep the honest honest". You know, once you have the book, I will send you the ISO. I don't question whether you have it or not. :-)
Table of Contents Table of Contents Table of Contents
Introduction Part 1 1. Overview of the USB 2. The PCI Hardware 3. The UHCI Hardware 4. The UHCI Stack 5. The OHCI Hardware 6. The OHCI Stack 7. The EHCI Hardware 8. The EHCI Stack 9. The xHCI Hardware 10. The xHCI Stack Part 2 11. Device Enumeration with the UHCI Stack Frame 12. Device Enumeration with the OHCI Stack Frame 13. Device Enumeration with the EHCI Stack Frame 14. Device Enumeration with the xHCI Part 3 15. Using the USB Mouse 16. Using the USB Keyboard 17. Using the USB Mass Storage Device 18. Using the USB Floppy Storage Device 19. Using the USB External Hub 20. Using a USB Printer Device 21. Using a USB HUB on the xHCI Root Hub 22. Using a USB 3.0 Mass Storage Device Part 4 23. Using a USB Protocol Analyzer 24. The Human Interface Device Part 5 25. Using a USB Video Camera 26. Setting Up the USB Video Camera 27. The EHCI and ISO Transfers Appendix A - Disc Contents Appendix B - Included Utilities/Source Code Appendix C - Tables and Figures Appendix D - Notes for all Controller Types/Devices Appendix E - Request Sense Return Data Appendix F - Brief History of USB Appendix G - xHCI TRB Types and Completion Codes Appendix H - USB OTG (On The Go) Appendix I - USB Class Codes Appendix J - Device Firmware Upgrade Appendix K - New Type C USB Connector Appendix Q - Building a Simple USB Device Appendix X - For More Information Bibliography A more detailed Table of Contents (pdf), stripped directly out of the book.
User Comments User Comments User Comments