stm32闪存的理解
STM32f1xxx的闪存模块由:主存闪存、信息块和闪存存储器接口寄存器等3部分组成。
各个部分的大小因不同型号有一定的差异,数据手册可以看到
- 小容量产品主存储块1-32KB,每页1KB。系统存储2KB。
- 中容量产品主存储块64-128KB,每页1KB。系统存储2KB。
- 大容量产品主存储块256KB以上,每页2KB。系统存储2KB。
主存储器:该部分用来存放代码和数据常数(如const类型的数据)。对于大容量产品,其被划分为256页,每页2K字节。注意,小容量和中容量产品则每页只有1K字节。
信息块:该部分分为2个小部分,其中启动成熟代码,是用来存储ST自带的启动程序,用于串口下载代码,当B0接V3.3,B1接GND的时候,运行的就是这部分代码。用户选择字节,则一般用于配置写保护、读保护等功能。
闪存存储器接口寄存器:该部分用于控制闪存读写等,是整个闪存模板的控制机构。
在进行内部flash模仿eeprom时可以操作主存储器部分的空间,程序代码占一部分,留下一部分用于存储你想要存储的信息,只是模拟的eeprom的读写操作还是可以遵循flash的操作方法,另外还需要注意stm32闪存操作的流程注意事项
FLASH_Unlock();//解锁
FLASH_ClearFlag(FLASH_FLAG_EOP|FLASH_FLAG_PGERR|FLASH_FLAG_WRPRTERR);//清楚标志
FLASH_ErasePage(0x8002000);//擦除
while(count < 5)
{
FLASH_ProgramHalfWord((0x8002000 +count*2),data[count]); //flash 为一个字节存储,16位数据必须地址加2
count++;
深圳颖特新科技作为【华邦代理商】,公司拥有稳定的进货渠道,货源直接、充足,信誉第一,货真价实,优质服务,公平交易,取信于客户,向广大客户提供价格合理的优质产品。想了解更多关于Winbond系列的技术资料,请咨询 QQ:83652985
编辑:simon 最后修改时间:2019-07-07