cancel
Showing results for 
Search instead for 
Did you mean: 

MCU is reset when wake up from standby-dstandby

CBraojos
Associate II

We are working with STM32H7-Disco (Dual Core). Can we only wakeup M4 core and put the system in dstandby1 mode.

I mean, if we are in Standby mode and we use a tamper interrupt from a button, our system reset M7 core and M4 core, but we want only wakeup the M4 core and let the M7 core in dstandby, because we need use the minimal time possible to wake up with tamper and make the callback.

6 REPLIES 6
FBL
ST Employee

Hello @CBraojos​ 

You can do that. After a system reset or System Standby, CPU2 will boot and CPU1 will remain on hold until CPU2 sets BOOT_C1 to ‘1’. You may refer to table 57 in the RM0399

Since D1 exists from DStandby, the power switch setting time and Flash memory power recovery should be set.

0693W00000aHwaBQAS.pngHope this helps!

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.


I'm out of offce with limited access to my emails.
Happy New Year!
CBraojos
Associate II

Hello @F.Belaid​ 

I don´t know how make this.

I initialize all system from M7, in this case, we need initialize the system and boot frist the M4 core?

CBraojos
Associate II

Hello again @F.Belaid​ 

I am working in this solution, but when we reset the system with tamper, the M7 restart too even if we don´t enable the flag BOOT_C1.

0693W00000aI2KDQA0.png 

I made this behaviour timeline to help us. I need M7 to hold in reset when i use the tamper button, while M4 made the tamper callback, and then if I want re-boot the M7 app use HAL_RCCEx_EnalbeBootCore();

But when I made test, even not using this funtion the system reboot.

Thanks you

Regards!

CBraojos
Associate II

Hi again @F.Belaid​ 

I have found the problem. I printed the SYSCNFG->UR1, and I see that the BCM7 bit is always set to 1. But I try to change this with the function, HAL_SYSCNFG_DISABLE_BOOTCM7(); and the target dies, that is, when I use this function, the target connected from stlink, loses its energy and turns off, and I can not restart it from stlink, I have to connect it in power and load another program that does not use this instruction.

I see in the rm, that this is necessary to no boot CM7, how can i change this bit? ( BOOT_CM7)0693W00000aI76LQAS.png

FBL
ST Employee

This is strange. I will come back and try to answer your question.

Thank you for your understanding.

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.


I'm out of offce with limited access to my emails.
Happy New Year!

Hello again!

 

Now I want only boot m4 core, and then put all system in standby_mode. But when i make this and use HAL_PWR_EnterStandbyMode(), my consumption does not go down, which means that the system does not go to full standby.

How can i put all system (d3) in Standby mode