Skip to main content
PWint
Associate III
May 8, 2021
Question

How do I get CDC Standalone example working on NUCLEO-H743ZI Board

I have a Nucleo-H743ZI board and want to get the CDC example working so that I can use it in my own code.

I created a new STM32 Project from STMCubeIDE and selected the CDC Standalone example (It is for LUCLEO-L552ZE-Q board).

I had to disable BSP_LED_Init since it uses an I2C IO expander but rest of the code seems to be OK for the H743ZI board. There is sadly now response when I plug-in the USB port, so something still seems to be missing.

Any idea of what could be wrong and how can I fix it of how I can get the USB CDC example going on H743ZI board?

This topic has been closed for replies.

3 replies

ST Technical Moderator
May 11, 2021

Hello @PWint​ ,

There is a "CDC-Standalone" application within STM32CubeH7 package and runs on STM32H743xx devices:

STM32Cube_FW_H7_V1.9.0\Projects\STM32H743I-EVAL\Applications\USB_Device\CDC_Standalone

You may update this working application according to your needs, and you find there a readme file describing how to use and run the example.

Hope my answer helped you! :smiling_face_with_smiling_eyes:

When your question is answered, please close this topic by choosing "Select as Best".

Imen

In order to give better visibility on the answered topics, please click on 'Best answer' on the reply which solved your issue or answered your question. Thanks
PWint
PWintAuthor
Associate III
May 11, 2021

Hi @Imen DAHMEN​,

Thank you very much for getting back to me. I did use the CDC-Standalone application but maybe my method is sending me down the wrong track.

I used STM32Cube to create a new example project:

1.     File > New STM32 Project.

2.     Under__Example Selector__ tab, in __Name__ field, type “CDC_Standalone�?.

3.     Select “STM32H743I-EVAL�?.

4.     Give project a name and press __Finish__.

5.     When asked “Initialise all Peripherals with default Mode?�?, selected __Yes__.

This gives me a project for a different development board and strangely, it does not seem to have any CDC code in it. main.c initialises all the peripherals (almost all of which I do not need). Running this code on my platform predictably causes hard faults.

I’ve copied the folder from the example path you provided and then imported the STM32H743I-EVAL-FS project in STMCube. main.c in this code contains calls to USBD_RegisterClass() but I cannot build this project.

Should I be creating a new project from scratch and then manually pull in the code from the example project, or is there a simpler way that I am missing?

Regards,

PWInt

ST Technical Moderator
May 17, 2021

Hi @PWint​ ,

Sorry for the delayed reply on this, as I was on leave.

>> but I cannot build this project.

Do you get an error message ?

Did you checked the pin configuration ?

I suggest you to debug, localize where the code hangs and identify when the problem occurs.

Imen

In order to give better visibility on the answered topics, please click on 'Best answer' on the reply which solved your issue or answered your question. Thanks