写一个STM32 BootLoader-3

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

1. 概述

本文的内容相对简单点,主要介绍STM32 备份寄存器的读写和FLASH烧写过程。

2. 备份寄存器读写

STM32的引脚上有一个Vbat的引脚,如果在主电源掉电的情况下,有某些重要的数据需要保存,则在可以在这个引脚上外接一个电池。主电源掉电时,该电池的供电可以保持备份寄存器里面的数据不会丢失。这样,当系统再次上电唤醒时,备份寄存器中的数据又可以再次使用。

备份寄存器有一个重要的特性,就是STM32进行软件复位的时候,并不会复位备份寄存器中的数据。

由数据手册可以知道,STM32F1VET6总共有42个备份寄存器,共84个字节。

对备份寄存器操作也比较简单,首先需要使能PWR和BKP的时钟,然后再解锁备份寄存器的操作,最后再将数据写入或者读出相应的寄存器中。代码如下:

void BKPSRAM_WrHalfWord(uint16_t addr, uint16_t data)
{
   
   
	if ((addr >= BKP_DR1) && (addr <= BKP_DR42)) {
   
   
	
		RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE);
		PWR_BackupAccessCmd(ENABLE)

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值