stm32H723 backup sram 初始化
时间: 2023-07-23 08:44:17 浏览: 99
对于STM32H723,使用Backup SRAM需要进行如下初始化步骤:
1. 使能Vbat电源时钟,例如:
```c
__HAL_RCC_PWR_CLK_ENABLE();
HAL_PWREx_EnableVbat();
```
2. 使能备份域时钟,例如:
```c
__HAL_RCC_BKPRAM_CLK_ENABLE();
```
3. 配置备份域的访问权限,例如:
```c
HAL_PWR_EnableBkUpAccess();
```
4. 配置Backup SRAM的大小,例如:
```c
HAL_PWR_EnableBkUpRegulator();
__HAL_RCC_BKPRAM_CLK_ENABLE();
HAL_RCCEx_SelectLSEClock(RCC_LSE_LOWPOWER_MODE, RCC_LSE_DIV2); // 选择LSE作为RTC时钟源
HAL_RCCEx_EnableLSECSS(); // 使能LSE时钟监测
while(!HAL_RCCEx_LSECSS_GetFlagStatus()); // 等待LSE时钟监测完成
PWR_BackupAccessCmd(ENABLE);
__HAL_RCC_BKPRAM_CLK_ENABLE();
/* 设置备份SRAM的容量为4KB */
HAL_StatusTypeDef status = HAL_PWREx_EnableBkUpReg(BKP_DR1, PWR_BKPREG_SIZE_4B);
if(status != HAL_OK) {
/* 备份SRAM初始化失败 */
while(1);
}
```
需要注意的是,备份SRAM的容量在STM32H723中通过调用`HAL_PWREx_EnableBkUpReg()`函数来设置,该函数的第一个参数为备份寄存器的地址,第二个参数为备份寄存器的大小,可以选择2B、4B或16B。在上述代码中,我们将备份SRAM的容量设置为4KB,备份寄存器的地址为BKP_DR1。
5. 读写Backup SRAM,例如:
```c
#define BKPSRAM_BASE (0x40024000UL)
#define BKPSRAM_SIZE (0x1000UL) // 4KB
uint32_t* p_bkpsram = (uint32_t*)BKPSRAM_BASE;
*p_bkpsram = 0x12345678;
```
在进行Backup SRAM的读写操作时,需要注意地址的范围不要超出备份SRAM的容量,否则会出现未定义的行为。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)