一、片内Flash特性
1.1 FLash结构简图
我的开发板是stm32f103xx,所以片内flash主存储器大小128K,单页为1K。不同的芯片flash大小不同,页大小也不同。
主存储器
用来存储Rom程序,烧写的区域。当然也可以存一些其他东西,比如做nvram使用。
信息块
这个区域分两个部分。
存储区,用户不可写区域,用来存储ISP下载时用到的程序。当用ISP模式进行烧写时,自动调用里面的程序下载数据并烧写到flash里。
用户选项字,存储硬件配置信息。某些复用的外设可能在上电复位后就要立即知道它被用作其中哪个用途。
用户选项字默认不可写,它上电自动加锁。只有通过向FLASH_OPTKEYR依次写入约定解锁码KEY1和KEY2后才能解锁
寄存器
FPEC控制器
FPEC键寄存器(FLASH_KEYR) 写入键值解锁。
选项字节键寄存器(FLASH_OPTKEYR) 写入键值解锁选项字节操作。
闪存控制寄存器(FLASH_CR) 选择并启动闪存操作。
闪存状态寄存器(FLASH_SR) 查询闪存操作状态。
闪存地址寄存器(FLASH_AR) 存储闪存操作地址。
选项字节寄存器(FLASH_OBR) 选项字节中主要数据的映象。
写保护寄存器(FLASH_WRPR) 选项字节中写保护字节的映象。