stm32闪存的理解

STM32f1xxx的闪存模块由:主存储器、信息块和闪存存储器接口寄存器等3部分组成。

各个部分的大小因不同型号有一定的差异,数据手册中可以看到

 

小容量产品主存储块1-32KB,每页1KB。系统存储器2KB。

中容量产品主存储块64-128KB,每页1KB。系统存储器2KB。

大容量产品主存储块256KB以上,每页2KB。系统存储器2KB。

 

主存储器:该部分用来存放代码和数据常数(如const类型的数据)。对于大容量产品,其被划分为256页,每页2K字节。注意,小容量和中容量产品则每页只有1K字节。从上图     可以看出主存储器的起始地址就是0X08000000, B0、B1都接GND的时候,就是从0X08000000开始运行代码的。

信息块:该部分分为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++;
 
 }

 FLASH_Lock();//加锁

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值