2023-09-27 03:41 AM - last edited on 2023-10-06 08:41 AM by KDJEM.1
Hallo,
according to RM0433 6.4.1 "System supply startup" at point 5.
"The software shall then initialize the system including supply configuration
programming in PWR control register 3 (PWR_CR3). Once the supply configuration
has been configured, the ACTVOSRDY bit in PWR control status register 1
(PWR_CSR1) shall be checked to guarantee valid voltage levels"
How should I understand it? Should the software always wait for ACTVOSRDY bit or should it only if PWR_CR3 is modified?
Early start-up in Reset_Handler routine delivered by Cube-MX in /Startup/startup_stm32h7xx.s writes already to SRAM without checking the ACTVOSRDY bit.
Quite late initialization in Cube-MX inside SystemClock_Config() does wait for ACTVOSRDY bit with help of:
" while(!__HAL_PWR_GET_FLAG(PWR_FLAG_VOSRDY)) {} "
but there are no writes to PWR_CSR1 at this place. Moreover, two lines befere there is SRAM access what should not work if exactly ACTVOSRDY is not set as stated in RM0433 in 6.4.1.5.a):
"As long as ACTVOSRDY indicates that voltage levels are invalid, the system is in
Run* mode, write accesses to the RAMs are not permitted and VOS shall not be
changed."
Who is wrong, Cube-MX or Reference manual?