共有三种类型的复位,分别为系统复位、电源复位和备份域复位。
系统复位:
除了时钟控制寄存器CSR中的复位标志和备份域中的寄存器外,系统复位会将其他全部寄存器都复位为复位值。
只要发生以下事件之一,就会产生系统复位:
1.NRST引脚低电平(外部复位)
2.窗口看门狗计数结束(WWDG复位)
3.独立看门狗计数结束(IWDG复位)
4.软件复位(SW复位)
5.低功耗管理复位
软件复位:
可通过查看RCC时钟控制和状态寄存器(RCC_CSR)中的复位标志确定。
要对器件进行软件复位,必须将Cortex™-M4F应用中断和复位控制寄存器中的SYSRESETREQ位置1。
低功耗管理复位:
引发低功耗管理复位的方式有两种:
1.进入待机模式时产生复位:
此复位的使能方式是清零用户选项字节中的nRST_STDBY位。使能后,只要成功执行进入待机模式序列,器件就将复位,而非进入待机模式。
2.进入停止模式时产生复位:
此复位的使能方式是清零用户选项字节中的nRST_STOP位。使能后,只要成功执行进入停止模式序列,器件就将复位,而非进入停止模式。
电源复位:
只要发生以下事件之一,就会产生电源复位:
1.上电/掉电复位(POR/PDR复位)或欠压(BOR)复位
2.在退出待机模式时
这些源均作用于NRST引脚,该引脚在复位过程中始终保持低电平。RESET复位入口向量在存储器映射中固定在地址0x0000_0004。
芯片内部的复位信号会在NRST引脚上输出。脉冲发生器用于保证最短复位脉冲持续时间,可确保每个内部复位源的复位脉冲都至少持续20μs。对于外部复位,在NRST引脚处于低电平时产生复位脉冲。
备份域复位:
备份域复位会将所有RTC寄存器和RCC_BDCR寄存器复位为各自的复位值。BKPSRAM不受此复位影响。BKPSRAM的唯一复位方式是通过Flash接口将Flash保护等级从1切换到0。
只要发生以下事件之一,就会产生备份域复位:
1.软件复位,通过将RCC备份域控制寄存器(RCC_BDCR)中的BDRST位置1触发。
2.在电源VDD和VBAT都已掉电后,其中任何一个又再上电。