Skip to main content
_EFrie
Senior
February 11, 2026
Question

STM32H5 USB Host Cherry USB

  • February 11, 2026
  • 3 replies
  • 383 views

The current state of the CherryUSB is no stm32h5 is listed.  Does anyone know if the IP is close enough to dwc2 to be portable?

 

My needs are cdc-ecm host, and I'm looking at options.  Device is stm32h563, using FreeRTOS and not going to do threadx

 

1. Port CherryUSB 

2. Use legacy USB Host stack, copy and tweak cdc-acm

3. Use tinyusb, tweak cdc-acm

4. Use USBX and fight threadx port layer. (The ECM Layer uses threads as far as I can tell, so not trivial)

3 replies

Technical Moderator
February 12, 2026

Hi @_EFrie 

Regarding the similarity and portability between the USB controller in STM32H5 and the USB OTG controller used on other devices: on STM32H56x/57x the USB controller is not register or driver compatible with the USB OTG controller. You can certainly develop a portable or custom USB stack, but the hardware driver must be specifically implemented for the STM32H5 USB peripheral. At the USB protocol or application level (control transfers, endpoints, and USB specific classes), the behavior is of course should be standard compliant, so the higher level USB stack can be shared. Only the LL driver needs to be reworked for STM32H5.

Concerning the CherryUSB stack, ST does not provide or maintain an official port for STM32H5. If you wish to use CherryUSB, please refer to the CherryUSB documentation and support channels for integration guidance.

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.Best regards,FBL
_EFrie
_EFrieAuthor
Senior
February 12, 2026

In regards to using the legacy stack(which I already have in my project) and adding cdc-ecm, vs using usbx cdc-ecm and with FreeRTOS, do you have any suggestion which method is most realistic?

Technical Moderator
February 12, 2026

Hi @_EFrie 

You can use this USBX example with ThreadX as a quick starting point. Once you have it running, you can then port the project from ThreadX to FreeRTOS according to your requirements.

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.Best regards,FBL
February 12, 2026

Interesting question since STM32H5 uses a Synopsys USB IP similar to DWC2, CherryUSB might be portable with some low-level driver adjustments. By the way, when juggling complex projects like this and bigger life changes, services that help you sell my house fast MN can really simplify things.

Technical Moderator
February 13, 2026

Hi @_EFrie 

ST USB library supports CDC-ECM example in standalone mode without requiring RTOS.

However, USBX was integrated with NetX Duo and requires ThreadX. I'm not sure if it's compatible with LwIP and FreeRTOS. To be checked.

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.Best regards,FBL