2021-06-18 09:21 AM
Hi,
We are using STM32F7 in our GUI board and we are experiencing an issue with 4 boards out of 300 where the processor is taking a longer time than usual to boot up. We have measured the time from when the board receives power to when the processor has powered up using an oscilloscope.
On a working board, the time is ~0.5s. On the failing 4 boards, it is 1-2s.
I have checked the errata documentation, reference manual and datasheet but I have not found anything which could explain this problem yet.
Does anyone have any ideas what could cause this boot delay?
Thanks in advance.
Sian
2021-06-18 09:32 AM
It's almost certainly the case that the processor begins executing code (almost) immediately after power-up and something in your program is causing the slowdown. Toggling pins in various stages of the boot-up process helps immensely with tracking down the cause.
One thing that comes to mind is if it's waiting for a clock to be stable, or waiting for another chip to begin communicating correctly.
2021-06-18 09:56 AM
+1 HSE Not starting (see also LSE, PLL)
Might also be weary of VCAP pins/caps
>>Toggling pins in various stages of the boot-up process helps immensely with tracking down the cause.
Processor is viable at Reset Handler, code some quick assembler code to enable GPIO clocks in RCC, and config/output some pins.
2021-06-18 10:06 AM
Look for bad soldered pins, resultiing in floating pins.
2021-06-18 12:29 PM
> to when the processor has powered up
What is "processor has powered up"?
JW
2021-06-18 01:10 PM
Assumption here is beyond, SystemInit(), main() entry, then SystemClock_Config() and HAL_Init() to start doing anything, so those would be candidates for closer inspection.