STM32内部flash可以用作EEPROM,用于保存用户数据。

1、一般来说,stm32的flash擦写寿命只有10万次,如果在同一位置擦写过于频繁,在产品质保期内FLASH就会达到寿命极限,保存数据出现异常。

2、stm32G0系列,一页flash的容量是2KB,往flash写数据(写0)的时候可以在任意位置写入任意长度的字节(当然不超过2KB),但是擦除(写1)的时候必须整页擦除,只有十万次的擦除寿命、

3、用户保存的字节一般只有几十个字节,可以在同一页flash里的逐个区域保存数据(写0),直到使用完一整页,才擦除整页,这样就可以延长擦写寿命。

4、代码原理不细说,代码原理都要了解了才用,那生命效率太低了,直接告诉你们怎么使用吧,十分钟上手。

5、使用HAL库和LL库混合编程。

/**用户在此定义需要保存的数据**/
u8      user_data1;
u16     user_data2;
u32     user_data3;
float   user_data4;
double  user_data5;
/**************************/#define     d_FLASH_Page_Size       2048//一页flash2KB
#define     d_FLASH_Data_maxbyte    32  //用户的数据长度,32 byte,必须是8的倍数,多余的字节填0x5A
#define     d_FLASH_Data_maxDWord   4   //用户的数据长度,4 double word=4*64bit=32 byte,直接用上面32/8 就是这个数字了typedef union

STM32G0系列将内部FLASH作为EEPROM使用,巧妙编程,可延长Flash擦写寿命上百倍,已用于量产产品。相关推荐

  1. STM32 FLASH的擦写寿命

    这个问题,其实从STM32各个型号的datasheet就可以看出来. 对比了几个文档之后,我发现STM32F10x系列的不同型号,他们的最少擦写寿命不一样.仔细对比了下,原来是版本的问题.在老版本中, ...

  2. flash 和 eeprom 区别和关系、nor flash和nand flash区别

    1.FLASH存储器和EEPROM存储器的区别 2.EEPROM介绍及与Flash区别_VirtuousLiu的博客-CSDN博客_eeprom 3.基础--ROM, RAM, FLASH, SSD, ...

  3. STM32F407 内部自带FLASH 模拟 EEPROM

    STM32F407 内部自带FLASH 模拟 EEPROM 一.STM32F407自带FLASH STM32F4 本身没有自带 EEPROM,但是 STM32F4 具有 IAP(在应用编程)功能,所以 ...

  4. Flash、EEPROM、SRAM的区别与理解

    Flash.EEPROM.SRAM的区别与理解 1. Flash.EEPROM.SRAM的区别 (1) Flash存储器 Flash适用于速度要求高.容量要求大.掉电时要求数据不丢失的场合. (2) ...

  5. nand flash 经典 全面 ------如何编写Linux下Nand Flash驱动

    Crifan Li 摘要 本文先解释了Nand Flash相关的一些名词,再从Flash硬件机制开始,介绍到Nand Flash的常见的物理特性,且深入介绍了Nand Flash的一些高级功能,然后开 ...

  6. 海思系列量产硬件调试记录

    前言   本文主要介绍的是海思系列批量生产出现硬件问题的定位和维修,主要使用工具是海思的烧写工具HiTool,烧写的Uboot,内核,文件系统均为调试后正确版本.   海思的烧写流程大致可分为①通过调 ...

  7. 已量产!华为Mate 30系列新机现身地铁:屏幕震撼

    北京时间昨日凌晨4点,三星在纽约召开Unpacked 2019发布会,正式推出了全新一代Galaxy Note 10系列旗舰,拉开了下半年旗舰大战的序幕.而在接下来的众多主角中,全新的华为Mate30 ...

  8. 互联网日报 | 7月20日 星期二 | 华为P50系列7月29日发布;盒马NB事业部成立;FF91量产版开启预订...

    ‍ ‍ 今日看点 ✦ 阿里巴巴启动史上最大规模校招,45种岗位首次对应届生开放 ✦ 华为官宣7月29日举行旗舰新品发布会,P50系列将亮相 ✦ 百度Apollo Robotaxi广州全面开放试运营,站 ...

  9. STC8学习笔记(一)stc8内部储存器分类(SRAM、ROM、FLASH、EEPROM)

    基于stc8A8K的内部储存分类 数据储存器--RAM 内部 RAM 内部扩展RAM 外部扩展RAM 程序储存器--ROM stc8a8k 将 数据定义到ROM EEPROM FLASH与EEPROM ...

最新文章

  1. Dockerfile 常用指令 - 每天5分钟玩转 Docker 容器技术(16)
  2. 6.1 无监督学习-机器学习笔记-斯坦福吴恩达教授
  3. 机器视觉 · 工业镜头
  4. Linux下C++连MySQL数据库
  5. CentOS 7 源码编译MariaDB 5.5.46
  6. javaweb下载文件
  7. 11.16 模拟:总结
  8. #region的快捷键+++从一个页面中弹出一个新窗口,当新窗口关闭时刷新原窗口!...
  9. 移除动态view android,请教Android,动态添加到控件能动态删除吗?
  10. 头条用户人均985,月入过万?看完真实的数据可视化,我有了答案
  11. 腾讯回应“QQ 冻结”;高德上线“家人地图”惹争议;Linux 内核讨论引入 Rust 代码| 极客头条...
  12. Extjs4.0 视频教程
  13. 【计算几何各种小模板总结贴】[不定期更新]
  14. 关于pict工具进行测试用例的自动生成过程中:使用 pict.exe test.txt >test.xsl 导出为xls格式的表格文件时,出现拒绝访问的提示解决方案
  15. 视频转gif软件哪个好
  16. 四六级得分技巧备考和心态
  17. 网易云信七年:「连接者」背后的「放大器」
  18. python snmp_cmds库snmpwalk 中文正常显示方法
  19. 求索NoSQL的现在与未来,第五届 Techo TVP 开发者峰会圆满落幕
  20. 毫米波雷达的硬件架构与射频前端

热门文章

  1. if-else 语句优雅处理
  2. 平凡人的一生的意义是什么?
  3. 分析波形信号解决开发板串口连PC后无输出或输出乱码的问题
  4. 数值计算方法 matlab用二分法或简单迭代法求_牛顿法和二分法介绍及其在空气处理当中的应用...
  5. git pull 代码库时提示冲突需Merge 快速解决代码同步遇到的冲突问题 so easy的方法
  6. 2023年黑马Java入门到精通教程--Java基础入门
  7. routeros无线网桥网卡型号匹配表
  8. 【vue设计与实现】解析器 - 解析文本与解码HTML实体
  9. 华为HCIE有什么方向?哪个最热门
  10. TwinCAT3之Ads通讯——1、控制器和控制器间通讯