Skip to main content
Visitor II
March 22, 2022
Solved

ThreadX/AZURE and USBX unable to use all available endpoints?

  • March 22, 2022
  • 3 replies
  • 1110 views

I am working on a USB device based on a STM32H743 MCU, using ThreadX/AZURE and USBX.

According to RM0433 (the reference manual for STM32H742, STM32H743/753 and STM32H750), the USB peripheral supports:

- bidirectional endpoint 0

- 8 IN endpoints

- 8 OUT endpoints

However, _ux_dcd_stm32_endpoint_create() reports a UX_NO_ED_AVAILABLE failure whenever I try to use any matching IN and OUT endpoint, for example IN8 and OUT8. 

Am I missing anything? Is it a bug? Is there a workaround?

Thanks!

Bart

    This topic has been closed for replies.
    Best answer by mohamed.ayed

    Hi @BKlus.1​ ,

    If you want to use a bidirectional endpoint, you should define UX_DEVICE_BIDIRECTIONAL_ENDPOINT_SUPPORT flag in ux_user.h 

    /* Defined, this macro enables device bi-directional-endpoint support. */

    /* #define UX_DEVICE_BIDIRECTIONAL_ENDPOINT_SUPPORT */

    Note : this flag are added in AzureRTOS USBX middleware 6.1.6 release.

    Regards.

    3 replies

    Visitor II
    March 22, 2022

    Hello @BKlus.1​ ,

    This issue has been reported internally.

    I will keep you posted.

    BeST Regards,

    Walid

    BKlus.1Author
    Visitor II
    March 23, 2022

    Thank you!

    ST Employee
    May 21, 2022

    Hi @BKlus.1​ ,

    If you want to use a bidirectional endpoint, you should define UX_DEVICE_BIDIRECTIONAL_ENDPOINT_SUPPORT flag in ux_user.h 

    /* Defined, this macro enables device bi-directional-endpoint support. */

    /* #define UX_DEVICE_BIDIRECTIONAL_ENDPOINT_SUPPORT */

    Note : this flag are added in AzureRTOS USBX middleware 6.1.6 release.

    Regards.