cancel
Showing results for 
Search instead for 
Did you mean: 

The STM32 USB device library feels complicated

Shiina
Associate III

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.

Shiina_0-1731945993216.png

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

Shiina_0-1732001345711.jpeg

 

 

 

5 REPLIES 5
Imen.D
ST Employee

Hello @Shiina ,

I recommend you refer to the following document: UM1734: STM32Cube™ USB device library.

When your question is answered, please close this topic by clicking "Accept as Solution".
Thanks
Imen
Andrew Neil
Evangelist III

@Shiina wrote:

The structure of the stm32 usb device library feels very complex,


well, USB itself is quite complex!

 


@Shiina wrote:

This is a picture I found on a wiki


What Wiki? please give a link

gbm
Lead III

My impression is that STM USB stack with tangled pointers and bidirectional function calls between logical levels is much more complex than USB. ;)

My STM32 stuff on github - compact USB device stack and more: https://github.com/gbm-ii/gbmUSBdevice
FBL
ST Employee

Hi @Shiina 

Capturing USB traffic is an excellent recommendation! Correlate the captured USB traffic with your code to understand how specific operations in your code translate to USB packets.

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.