cancel
Showing results for 
Search instead for 
Did you mean: 

Keeping peripherals in perpetual reset

SZano
Associate III

Is it ok to keep unused peripherals in perpetual reset, by leaving their RCC_APBRSTR_*RST (or similar) bit set?
Maybe differences in power consumption?
This is not for a specific STM32 family.

I'm just looking for advice by people with more experience, about possible pitfalls of doing so.

1 ACCEPTED SOLUTION

Accepted Solutions

@SZano wrote:

At startup it's better to reset everything (e.g. in case a faulty bootloader leaves some peripherals in an unknown state);


Yes you can do that.

Most of the peripherals has a synchronous reset. I cannot confirm it for all of them.

 

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.

View solution in original post

3 REPLIES 3
SofLit
ST Employee

Hello,


@SZano wrote:

Is it ok to keep unused peripherals in perpetual reset, by leaving their RCC_APBRSTR_*RST (or similar) bit set?


You can do it, but what is the purpose?

 


@SZano wrote:

Maybe differences in power consumption?


For power consumption, just do not clock the peripherals is sufficient. 

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.

At startup it's better to reset everything (e.g. in case a faulty bootloader leaves some peripherals in an unknown state); then, why not leave them in reset until you actually need them? When you do, you clock them, and then take them out of reset.

 

Isn't there anything reset-related that is asynchronous, and so could be consuming even when no clock is present?

The reset works (at least partially) even when no clock is present, so there must be some asynchronous logic in it.


@SZano wrote:

At startup it's better to reset everything (e.g. in case a faulty bootloader leaves some peripherals in an unknown state);


Yes you can do that.

Most of the peripherals has a synchronous reset. I cannot confirm it for all of them.

 

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.