2026-03-02 11:43 AM
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?
Solved! Go to Solution.
2026-03-04 7:58 AM
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.
2026-03-04 7:58 AM
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.