Download STM32Cube USB device library
Transcript
Contents UM1734 Contents 1 2 3 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.1 Acronyms and abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.2 Additional Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.3 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 USB device library description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 USB device library architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.1 4 Architecture overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 USB OTG Hardware Abstraction Layer . . . . . . . . . . . . . . . . . . . . . . . . . 11 4.1 Driver architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11 4.2 USB driver programming manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 4.2.1 5 USB device library overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 5.1 6 USB device library description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 5.1.1 USB device library flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 5.1.2 USB device data flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 5.1.3 Core interface with low level driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 5.1.4 USB device library interfacing model . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 5.1.5 Configuring the USB device firmware library . . . . . . . . . . . . . . . . . . . . . 22 5.1.6 USB control functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 5.2 USB device library functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 5.3 USB device class interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 USB device library class module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 6.1 2/59 Configuring USB driver structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 HID class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 6.1.1 HID class implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 6.1.2 HID user interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 6.1.3 HID Class Driver APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 DocID025934 Rev 3