推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

stm32f407的FLASH模拟EEPROM实验

更新时间:2018-04-13 08:39:49 大小:1M 上传用户:最美葫芦娃查看TA发布的资源 标签:stm32f407flash模拟eeprom 下载积分:2分 评价赚积分 (如何评价?) 收藏 评论(1) 举报

资料介绍

花了几天研究stm32f407的FLASH模拟EEPROM,终于调试成功,现在分享一下源码:

STM32F4的闪存模块由:主存储器、系统存储器、OPT区域和选项字节等4部分组成。

主存储器,该部分用来存放代码和数据常数(如const类型的数据)。分为12个扇区,前4个扇区为16KB大小,然后扇区4是64KB大小,扇区5~11是128K大小,不同容量的STM32F4,拥有的扇区数不一样,比如我们的STM32F407ZGT6,则拥有全部12个扇区。从上图可以看出主存储器的起始地址就是0X08000000, B0、B1都接GND的时候,就是从0X08000000开始运行代码的。

系统存储器,这个主要用来存放STM32F4的bootloader代码,此代码是出厂的时候就固化在STM32F4里面了,专门来给主存储器下载代码的。当B0接V3.3,B1接GND的时候,从该存储器启动(即进入串口下载模式)。

OTP区域,即一次性可编程区域,共528字节,被分成两个部分,前面512字节(32字节为1块,分成16块),可以用来存储一些用户数据(一次性的,写完一次,永远不可以擦除!!),后面16字节,用于锁定对应块。

选项字节,用于配置读保护、BOR级别、软件/硬件看门狗以及器件处于待机或停止模式下的复位。

闪存存储器接口寄存器,该部分用于控制闪存读写等,是整个闪存模块的控制机构。

在执行闪存写操作时,任何对闪存的读操作都会锁住总线,在写操作完成后读操作才能正确地进行;既在进行写或擦除操作时,不能进行代码或数据的读取操作。


部分文件列表

文件名大小
stm32f407的FLASH模拟EEPROM实验/
stm32f407的FLASH模拟EEPROM实验/CORE/
stm32f407的FLASH模拟EEPROM实验/CORE/cmsis_armcc.h
stm32f407的FLASH模拟EEPROM实验/CORE/core_cm4.h
stm32f407的FLASH模拟EEPROM实验/CORE/core_cmFunc.h4KB
stm32f407的FLASH模拟EEPROM实验/CORE/core_cmInstr.h4KB
stm32f407的FLASH模拟EEPROM实验/CORE/core_cmSimd.h4KB
stm32f407的FLASH模拟EEPROM实验/CORE/startup_stm32f429xx.s
stm32f407的FLASH模拟EEPROM实验/HALLIB/
stm32f407的FLASH模拟EEPROM实验/HALLIB/STM32F4xx_HAL_Driver/
stm32f407的FLASH模拟EEPROM实验/HALLIB/STM32F4xx_HAL_Driver/Inc/
...

全部评论(1)

  • 2020-04-10 21:58:35zzq11986

    原子哥的代码