STM32学习:BKP功能详解与数据保存策略

0 下载量 136 浏览量 更新于2024-08-04 收藏 104KB DOC 举报
本篇STM32学习笔记主要探讨了STM32微控制器的备份区域(BKP)功能以及相关的数据保存和保护机制。BKP是一个特殊功能块,用于存储重要的16位寄存器数据,总共84字节,由电池供电维持,确保在电源中断或系统复位后数据不丢失。BKP的设计考虑到了安全性,允许用户通过"侵入检测"(TAMPER)机制来防止恶意获取或篡改数据,这涉及到外部引脚PC13的监控。 TAMPER功能的作用是检测潜在的入侵行为,当该引脚信号变化时,会触发一次系统复位,从而销毁BKP中的数据。然而,如果不需要侵入检测,PC13引脚也可以用于RTC(实时时钟)校准,这部分内容将在后续章节进一步讨论。 STM32F10xxx系列支持三种类型的复位:系统复位、电源复位(POR/PDR)和备份区域复位。系统复位会清除大部分寄存器,但不会影响BKP区域。电源复位则只复位除BKP之外的所有寄存器,且复位入口矢量固定在地址0x0000_0004。 调试期间,可以通过RCC_CSR寄存器检查复位原因,例如NRST管脚的低电平或看门狗计数器的中断都会触发系统复位。此外,RCC提供了函数RCC_GetFlagStatus(RCC_FLAG_PORRST)来检测是否发生了电源复位。 总结来说,本章内容深入介绍了STM32的BKP功能及其在数据保护和安全方面的应用,同时涵盖了复位机制的多种类型和检测方法。对于STM32开发者而言,理解和掌握这些特性对保证系统稳定性和数据完整性至关重要。