Cortex-M3/M4后备寄存器的妙用
嵌入式系统设计中,我们多使用片上SRAM来存储系统运行过程中的数据。(好像是一句废话啊!)但也有一些应用场景需要特殊的SRAM来存储一些特殊用途的数据,比如当前的运行状态等。今天要说的这个特殊的SRAM就是STM32的后备寄存器。它具有系统复位数据不会重置的特性。系统复位不会被重置,清零,那么我们就可以利用其传递App区的配置参数到Boot区。STM32后备寄存器的操作如下:
/* Enable PWR(电源控制) and BKP clock */ RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE); /* Enable write access to Backup domain */ PWR_BackupAccessCmd(ENABLE); /* Clear Tamper pin Event(TE) pending flag */ BKP_ClearFlag(); // 读写操作 BKP_WriteBackupRegister(BKP_DR1,Data); b1 = BKP_ReadBackupRegister(BKP_DR1);