The STM32 USB device library feels complicated
The structure of the stm32 usb device library feels very complex, is there any tutorial to clarify the structure?
I want to implement a UVC.
This is a picture I found on a wiki, but I can't make sense of it.

For example, the file stm32xxx_ll_usb has no LL for the API name, but the USB core has LL for the API name, which is very confusing, and PCD HAL driver The name doesn't tell you what it does.
If the following structure is better applied

