Skip to main content
baptor
Associate III
May 11, 2022
Solved

STM32H757 Eval Board locked in illegal power configuration. How to unlock ?

  • May 11, 2022
  • 3 replies
  • 1993 views

Hi,

I dont know how this happened, but my Eval board STM32H757 can not go after :

SystemClock_Config() ==> HAL_PWREx_ConfigSupply() ==> while (__HAL_PWR_GET_FLAG (PWR_FLAG_ACTVOSRDY) == 0U)

The progam stay in the while loop :

 while (__HAL_PWR_GET_FLAG (PWR_FLAG_ACTVOSRDY) == 0U)

from what I see, the

 MODIFY_REG (PWR->CR3, PWR_SUPPLY_CONFIG_MASK, SupplySource);

doesn't modify SMPSEN or LDOEN. They are bot to state "1". In the datasheet ( with STANDBY =0 and SMPSLEVEL =0 ), it is an illegal setup:

"Illegal combination, the default configuration is kept. (write

data will be ignored)."

the Programm is directly outputed from cubemx ( default perepheral setup )

So I am stuck here, and I dont know how to move forward.

Does anybody know the path to recover this?

Thank you

    This topic has been closed for replies.
    Best answer by Tesla DeLorean

    Strap BOOT0 HIGH and POWER CYCLE the board several times.

    A reset is not typically enough, you need to remove all power, and then reapply.

    Erase the Flash, then use one of the example projects designed for the board. Confirm that works properly

    3 replies

    baptor
    baptorAuthor
    Associate III
    May 11, 2022

    I also did the dead lock recover procedure that didn't changed CR3 register values, so did not solved the problem.

    Tesla DeLorean
    Tesla DeLoreanBest answer
    Guru
    May 11, 2022

    Strap BOOT0 HIGH and POWER CYCLE the board several times.

    A reset is not typically enough, you need to remove all power, and then reapply.

    Erase the Flash, then use one of the example projects designed for the board. Confirm that works properly

    Tips, Buy me a coffee, or three.. PayPal VenmoUp vote any posts that you find helpful, it shows what's working..
    baptor
    baptorAuthor
    Associate III
    May 11, 2022

    Thank you, it did the job. Now registers are SMPS = 1 and LDOEN =0. The code is running well.