STM32 内部flash 模拟eeprom

Summer ·
更新时间:2024-09-21
· 567 次阅读

使用STM32  内部flash 模拟 EEPROM 

就是为了存放一些 掉电丢失的数据,比如 “我们设置的一些参数” 掉电后 不能丢失否则

再次上电后 这些参数我们需要用就没有办法了。

1, 如果使用库函数 对内部flash  的读写都有现成的 库函数。

2, 最最重要的是 知道自己的 选择的单片机 stm32  是哪个型号的,

      支持最大的容量 flash 的容量。这个很关键很多无法实现的工程可能就是这里出的问题。

      但是还不是最大的。

3, 最大的问题,程序按照历程 编译后 没有 出现想要的试验效果,这是因为我们选择的存放地址不对

      在说1遍 可能是 我们选择的存放位置 超界了。 或越界了

       这就需要你知道自己的编写的代码 大概有多大 

       如果计算代码由多大 如何??????

      

Memory Map of the image

  Image Entry point : 0x08000131

  Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00002774, Max: 0x00010000, ABSOLUTE, COMPRESSED[0x00002680])
  // Base 是加载到执行空间的基地址 都是 0x08000000 
  // 也正好是 STM32  内部 flash 的首地址
  // 他们大小 SIZE 分别是  
   Execution Region ER_IROM1 (Base: 0x08000000, Size: 0x00002628, Max: 0x00010000, ABSOLUTE)
//分别是  0x00002628  0x00002774 
//本历程 内部 flash 是从  0x08000000 至 (0x08000000 + 0x00002774)
//                                      0x08002774 也就是这个程序
//所占用的空间

这就是 一个.map 文件 给出的代码所占空间的大小

      切忌切忌

否则如我一样浪费了2天时间  

suk732001 原创文章 13获赞 1访问量 628 关注 私信 展开阅读全文
作者:suk732001



eeprom stm32 flash

需要 登录 后方可回复, 如果你还没有账号请 注册新账号