Skip to main content
Visitor II
May 8, 2021
Question

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

  • May 8, 2021
  • 3 replies
  • 1465 views

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

    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

    PWintAuthor
    Visitor II
    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

    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