cancel
Showing results for 
Search instead for 
Did you mean: 

STM32H747 Works after reset but not after power cycle

peter627
Associate II

Hello all,

I have a custom board using an stm32h747bit6. I am able to flash it and it works exactly as intended, but if I power cycle it then it stops working?  If I flash it and then reset the chip it still works fine.

I tried some debugging, I configured the error handler to toggle a gpio pin on / off but it doesn't do that, the voltage just sits at ~0.8v after I power cycle it?

 

Any ideas?

1 ACCEPTED SOLUTION

Accepted Solutions
peter627
Associate II

Fixed it. I think it was a power-on race condition. On a cold boot, the CPU was starting so fast that it outran the 3.3V rail's rise time, causing the internal SMPS and voltage scaling (VOS) to fail to initialize properly. Just reseting the mcu after the board was already turned on I think worked because the power was already stable.

I fixed it by moving the VOSRDY and SMPSEXTRDY flag checks in main.c to immediately follow the SystemClock_Config() call. 

View solution in original post

1 REPLY 1
peter627
Associate II

Fixed it. I think it was a power-on race condition. On a cold boot, the CPU was starting so fast that it outran the 3.3V rail's rise time, causing the internal SMPS and voltage scaling (VOS) to fail to initialize properly. Just reseting the mcu after the board was already turned on I think worked because the power was already stable.

I fixed it by moving the VOSRDY and SMPSEXTRDY flag checks in main.c to immediately follow the SystemClock_Config() call.