Skip to main content
Explorer
November 28, 2024
Solved

Boot Issue with CM4 - STM32H745ZIT6

  • November 28, 2024
  • 3 replies
  • 4381 views

Hello Team,

We have a custom STM32H745 board designed and We are able to get the IC up and running on cube programmer and even set option bytes. 

The board is designed with Nucleo-H745ZI-Q schematics and we have verified everything on hardware end.

When we try to program the board with a basic blink sketch following the guide (https://www.st.com/resource/en/application_note/dm00629855-getting-started-with-projects-based-on-dualcore-stm32h7-microcontrollers-in-stm32cubeide-stmicroelectronics.pdf

M7 gets debugged and runs. Once I start with M4 I get error messages and it bricks the controller.

I have been pulling up the BOOT0 pin and performing mass erase and trying things again, still it gets bricked when I try to debug CM4.


    This topic has been closed for replies.
    Best answer by mƎALLEm

    Please comment these two lines in the main of CM4:

     

     HAL_PWREx_ClearPendingEvent();
     HAL_PWREx_EnterSTOPMode(PWR_MAINREGULATOR_ON, PWR_STOPENTRY_WFE, PWR_D2_DOMAIN);

     

    These lines make the CM4 to enter in low power mode while debugging.

    For debug, I suggest you to comment these lines but you can keep them while in standalone.

     

    3 replies

    Technical Moderator
    November 28, 2024

    Hello @Pavan-Oggu and welcome to the community,

    And if you run it without debug does the program on CM4 run?

    Explorer
    November 28, 2024

    Hello SofLit,

    It doesn't run. 

    Without debugger CM7 gets compiled and download completes.

    When I try to run CM4 then the error pops up. But it doesn't brick the controller this time.

    PavanOggu_0-1732777916341.png

     

    Technical Moderator
    November 28, 2024

    Sorry I didn't understand..

    It doesn't run or you couldn't upload the program on CM4?

    Did you disable by mistake CM4 in the option bytes? Check that using CubeProgrammer in the option bytes section.

    Technical Moderator
    November 28, 2024

    Also you said: "The board is designed with Nucleo-H745ZI-Q schematics"

    Nucleo-H745ZI-Q board is using SMPS and not LDO configuration. Could you confirm you are not using SMPS in the HW?

    SofLit_0-1732781498628.png

    If you used SMPS, that's normal and you've broken the board. In that case you need to recover it. Read this article.

    Explorer
    November 28, 2024

    We are using LDO mode and I can confirm that. I have attached our schematics for reference.

    We have missed pull down resistor on boot0 but I have added it externally on the hardware, Similarly I have also added a pull up resistor for PDR_ON pin.

    Technical Moderator
    November 28, 2024

    Hello,

    There is a mismatch between your RCC config i.e. you set an external 8MHz source in Bypass mode:

    SofLit_0-1732788844117.png

     

    While in your schematics you have an external clock with 25Mhz / Crystal/Resonator mode:

    SofLit_1-1732788967663.png

    You need to align the RCC config to fit your HW:

    SofLit_0-1732789888616.png

    SofLit_2-1732789105745.png

    Attached the updated ioc file.

     

     

    Explorer
    November 28, 2024

    Hello SofLit,

    Thank you, CM7 boots up and blink sketch works on the board.
    But CM4 remains the same. It doesn't get detected at all. Any idea why?

    PavanOggu_0-1732796192832.png

     

    mƎALLEmAnswer
    Technical Moderator
    November 28, 2024

    Please comment these two lines in the main of CM4:

     

     HAL_PWREx_ClearPendingEvent();
     HAL_PWREx_EnterSTOPMode(PWR_MAINREGULATOR_ON, PWR_STOPENTRY_WFE, PWR_D2_DOMAIN);

     

    These lines make the CM4 to enter in low power mode while debugging.

    For debug, I suggest you to comment these lines but you can keep them while in standalone.