Skip to main content
Visitor II
June 21, 2021
Question

how many USB end Points Possible on STM32F767?

  • June 21, 2021
  • 2 replies
  • 753 views

I am trying to make composit USB example with MSC and 2 CDC.

Can anyone suggest if its possible with STM32F767VIHx ?

I am using FreeRTOS as well.

I have already started to 5 interface but they seems to be not reliable. I can send messages from one port to another but can not send from freertos task directly.

I can loop back from CDC to Another but CDC_Transmit_FS not working from FreeRTOS task.

I have only one task running and USB interrupt priority is set to 7.

If anyone have the same issue, please let me knew.

    This topic has been closed for replies.

    2 replies

    Super User
    June 21, 2021

    The number of endpoints depends on whether you are using OTG_FS or OTG_HS (regardless of the actual PHY/speed used).

    0693W00000BbXCmQAN.pngJW

    APate.8Author
    Visitor II
    June 22, 2021

    I have configured the application as MSC+ 2 CDC, so it uses total 5 IN end points and 3 OUT end points.

    It populate correctly on windows and MSC works perfect.

    However, 2 CDC are not working. They only works if I send messages from one port to another in loopback mode. (Receive Packet will forward the messages to opposite CDC).

    I am using freertos and CubeMx to generate project code. If I send using CDC_Transmit_FS() function from freertos it doesnt work.

    USB interrupt priority set to 7 while FreeRTOS LIB Priorities from 5 to 15.

    Has anyone got the same issue?

     HAL_PCDEx_SetRxFiFo(&hpcd_USB_OTG_FS, 0x40);
     HAL_PCDEx_SetTxFiFo(&hpcd_USB_OTG_FS, 0, 0x40);
     HAL_PCDEx_SetTxFiFo(&hpcd_USB_OTG_FS, 1, 0x40);
     HAL_PCDEx_SetTxFiFo(&hpcd_USB_OTG_FS, 2, 0x20);
     HAL_PCDEx_SetTxFiFo(&hpcd_USB_OTG_FS, 3, 0x20);
     HAL_PCDEx_SetTxFiFo(&hpcd_USB_OTG_FS, 4, 0x10);
     HAL_PCDEx_SetTxFiFo(&hpcd_USB_OTG_FS, 5, 0x10);

    FIFO allocation for the application.