cancel
Showing results for 
Search instead for 
Did you mean: 

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

PWint
Associate III

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?

3 REPLIES 3
Imen.D
ST Employee

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! 😊

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

Imen

When your question is answered, please close this topic by clicking "Accept as Solution".
Thanks
Imen
PWint
Associate III

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

Imen.D
ST Employee

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

When your question is answered, please close this topic by clicking "Accept as Solution".
Thanks
Imen