Skip to main content
Associate
April 27, 2026
Question

STM32N657: Implementing Dual CDC ACM in USBX Standalone Mode with X-CUBE-FREERTOS

  • April 27, 2026
  • 1 reply
  • 186 views

Hi everyone,

I am developing a project on the STM32N657X0H3Q where I need to implement a Dual CDC ACM composite device.I am following the "Standalone" implementation to avoid a full ThreadX dependency, as I plan to integrate this with a FreeRTOS project (using X-CUBE-FREERTOS).
While looking at the USBX configuration in CubeMX and the ST Wiki (Introduction to USBX), I noticed the option
USBD_COMPOSITE_USE_IAD
( As seen in the picture).


MSGokul_0-1777277006875.png


If I enable USBD_COMPOSITE_USE_IAD , can I simply increase the number of CDC ACM class instances in CubeMX to 2?

Does CubeMX automatically handle the IAD grouping for the second CDC instance, or do I need to manually adjust the interface descriptors in the generated ux_device_descriptors.c ?

Can you provide an approach to configure this using MX? Which are all the files that should be edited to configure this.



1 reply

Technical Moderator
April 28, 2026

Hello @MSGokul

Enabling USBD_COMPOSITE_USE_IAD in CubeMX is not sufficient for dual CDC ACM support.

 

/* Activate the IAD option */
#define USBD_COMPOSITE_USE_IAD						1U

 

You must manually edit the descriptors (in ux_device_descriptors.c) and register both class drivers, enable USE_USBD_COMPOSITE  and add composite builder class middleware as detailed in this article

To give better visibility on the answered topics, please click on "Best answer" on the reply which solved your issue or answered your question.Best regards,FBL