STM32编程手册-详尽版-工程师必备!!(请勿外泄)
### STM32F10xxx闪存编程知识点详解 #### 一、概述 **1.1 特性** STM32F10xxx系列微控制器是基于ARM Cortex-M3内核设计的产品,拥有多种不同容量的产品,从16K字节的小容量产品到512K字节的大容量产品不等。这些产品的闪存存储器具有以下特点: - **在线编程(ICP)**:可通过JTAG、SWD或Bootloader等方式进行更新。 - **在程序中编程(IAP)**:允许用户通过微控制器的各种通信接口(如USB、UART等)在程序运行过程中重新编程。 **1.2 闪存模块组织** STM32F10xxx系列微控制器的闪存存储器被组织成若干个扇区,具体数量取决于产品型号及其存储容量。例如,小容量产品通常拥有较少的扇区,而大容量产品则拥有更多的扇区。 #### 二、读/编写STM32F10xxx内置闪存 **2.1 简介** STM32F10xxx系列微控制器内置的闪存存储器提供了两种主要的操作模式:读操作和编程/擦除操作。这些操作由闪存接口控制,该接口支持AHB协议,并实现了一系列机制来加速存储器访问和确保可靠的数据编程。 **2.2 读操作** - **取指令**:CPU通过I-Code接口访问闪存以获取执行的指令。 - **D-Code接口**:数据总线用于读取闪存中的数据。 - **闪存访问控制器**:控制读操作的速度,通过预取缓存提高效率。 **2.3 闪存编程和擦除控制器(FPEC)** - **键值**:特定的密钥值用于解锁闪存编程和擦除功能。 - **解除闪存锁**:需要特定的解锁序列才能对闪存进行编程或擦除。 - **主闪存编程**:每个扇区都可以独立编程,但编程操作总是覆盖整个扇区。 - **闪存擦除**:支持全片擦除和扇区擦除两种模式。 - **选择字节编程**:某些型号支持选择字节编程,用于增强存储器的安全性和功能性。 **2.4 保护** - **写保护**:防止未经授权的写入操作。 - **读保护**:阻止未授权的读取操作。 - **选择字节块写保护**:为特定的扇区提供额外的写保护。 **2.5 选择字节说明** 选择字节是用于配置闪存特性的特殊区域,可以设置读保护、写保护等功能。 #### 三、寄存器说明 **3.1 闪存访问控制寄存器(FLASH_ACR)** - 控制闪存的等待周期数和其他访问参数。 **3.2 FPEC键寄存器(FLASH_KEYR)** - 用于存放解锁序列中的键值。 **3.3 闪存OPTKEY寄存器(FLASH_OPTKEYR)** - 存放用于配置选择字节的键值。 **3.4 闪存状态寄存器(FLASH_SR)** - 显示闪存当前的状态,包括是否正在编程、是否有错误发生等。 **3.5 闪存控制寄存器(FLASH_CR)** - 控制闪存的操作模式,如编程、擦除等。 **3.6 闪存地址寄存器(FLASH_AR)** - 指定待编程或擦除的闪存地址。 **3.7 选择字节寄存器(FLASH_OBR)** - 包含选择字节配置信息。 **3.8 写保护寄存器(FLASH_WRPR)** - 控制写保护功能。 **3.9 闪存寄存器映像** - 定义了上述寄存器在内存中的位置。 #### 四、术语 为了更好地理解文档内容,这里列出了一些关键术语: - **小容量产品**:指闪存存储器容量在16K至32K字节之间的STM32F101xx、STM32F102xx和STM32F103xx微控制器。 - **中容量产品**:指闪存存储器容量在64K至128K字节之间的STM32F101xx、STM32F102xx和STM32F103xx微控制器。 - **大容量产品**:指闪存存储器容量在256K至512K字节之间的STM32F101xx和STM32F103xx微控制器。 - **Cortex-M3内核**:集成两个调试端口——JTAG和SWD,分别提供基于JTAG协议和SWD协议的标准接口。 - **字(Word)**:32位长的数据或指令。 - **半字(HalfWord)**:16位长的数据或指令。 - **字节(Byte)**:8位长的数据或指令。 - **FPEC(FLASH Program/Erase controller)**:负责内置闪存的写操作。 - **IAP(In-Application Programming)**:允许用户在程序运行时重新编程。 - **ICP(In-Circuit Programming)**:通过JTAG协议在芯片安装到用户应用板上后对闪存编程。 - **I-Code**:指令总线与闪存程序存储器接口。 以上是对STM32F10xxx闪存编程手册的部分内容进行的详细解读,希望能够帮助读者更好地理解和掌握STM32F10xxx系列微控制器的闪存编程技术。
剩余21页未读,继续阅读
- 粉丝: 9
- 资源: 90
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助