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