



Full description not available
W**N
Great book, great coverage, great index, very readable -- but not a line-by-line code example book
This is an excellent tutorial and reference with detailed coverage of all aspects of USB. It is well-organized and very readable, so it makes a good tutorial. It also has a great index to serve as a reference. What more can I say. I am not doing USB 3.0 "SuperSpeed", so I can't evaluate, but it has significant coverage of USB 3.0 in every section.It does not provide line-by-line "how to" example code, about which some reviewers complain. Any competent programmer will find this book a great complement to the usually-sparse documentation of specific USB driver libraries and USB stack APIs, and together with them will have no trouble implementing USB. The book could better serve novice programmers by including some line-by-line example code for a specific library or device stack. I did not find this lack to be a hindrance in any way.This books is focused on understanding USB, its organization, enumeration, transactions, etc., in significant detail. It includes significant detail on all of the primary and many of the secondary standard USB "Classes" (though the book doesn't focus on "Classes"). Those details tilt a bit more toward the device (embedded) side where that information is more applicable, than to the host side programming where most of the low-level implementation detail is hidden in stack and driver library implementations with which most programmers don't need get into that level of detail. It has an entire chapter dedicated to "Chip Choices", factors to consider in chip selection, and several pages each on Microchip, Cypress, and ARM USB-capable microcontrollers; and on ST-NXP Wireless, PLX Technologies, and FTDI USB controller interface chips. It also has host-related chapters on "Host Communications" (layers, drivers, etc.), "Matching Drivers to Devices", and "Detecting Devices".In summary, I've been programming professionally at all levels for over 40 years, but have never written any USB-related software until now. This book provided me all of the information I needed to implement custom software interacting with USB at all levels and transaction types from the host using a popular driver library (libusb), and to assist in the definition and implementation of custom embedded code for an ARM-based compound device. It does not, however, tell you line-by-line how to use any particular USB library or stack API.
M**R
Well written book on USB
As an embedded systems developer with 25+ years of experience in hardware and software, I bought this book as I was having trouble writing a new microcontroller USB HID interface. As a companion to the official USB 2.0 guide and HID 1.11 interface PDF specs (freely downloadable), it explained items missing or poorly documented in those specs. I found nearly every chapter of this book very readable and useful in developing working code. Although I never used the example source code provided in the interface I created, the concepts and sample code were complete and clear enough that I had no trouble pulling together my own solution that worked. I should have bought this book months ago.Highly recommended.
J**N
An overview for engineering managers
I'm wrapping up the design of my first USB enabled device plus host side application, and can now comment how this (4th ed.) book contributed. My project resources also included implementation examples supplied by device manufacturers, the industry USB spec and the MSDN library, all essential and available online for free. By comparison, this book was neither complete in the way the spec is complete, nor were implementation discussions useful to the level that free online detailed examples were useful. The more abstract discussions and the technical facts are a repeat of what is available in the spec.Its not possible that a device engineer would make suitable progress if relying solely on this book. The same conclusion would apply for a Windows application engineer. Only after I learned the subject through other means could I place the book's content into context and spot the shortcomings.The author's contributions to public developers forums proves that she is a technical subject master, so I'm guessing that this product was created and managed by the publisher and targets the technical manager. I think a more accurate title would be A Technical Overview of USB under Windows, An Engineering Manager's Guide.
J**R
Not exactly complete, but good enough
When it comes to developing USB hardware, there aren't many off-the-shelf-how-to books. This is the only one I am aware of. As a result, it wins by default.Axelson starts by covering the pros and cons of USB, and would be perfect for explaining to a non-technical manager. It covers the USB protocol, and even covers the Cypress USB development kit, which can be used to develop a USB peripheral.Simply stated, this book won't make you a USB genius, but if you are charged with developing a USB device from scratch, it can compress the time required to ramp up. It can save you hours of frustration.Unfortunately, reading this book won't make host (PC) programmers into USB geniuses, but it does explain USB reasonably well.
D**I
Great way to hit the ground running with USB!
This book tells you everything you need to know in order to get started creating a USB peripherpheral, and is also a big help if you're planning to provide the host side of USB. It is very well written and does a great job of explaining USB in a very user-friendly manner. I agree with some of the reviewers that this book doesn't tell you EVERY detail of the USB spec, but I don't see that as a problem. Read this book and you will have firm grasp on USB, then refer to the official USB specs if necessary for any minute details not covered here.
Trustpilot
1 week ago
2 months ago