2026-02-11 5:16 AM
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)
2026-02-12 2:39 AM
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.
2026-02-12 4:03 AM
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?
2026-02-12 7:38 AM
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.
2026-02-12 8:55 AM
Hmm, are you saying the cdc-ecm is runnable without an rtos?
2026-02-13 2:23 AM
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.