0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

STM32单片机内部FLASH的编程和擦除操作

电子设计 来源:CSDN博主 作者: hurryddd 2021-02-14 16:37 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

单片机内部的FLASH除了存储固件以外,经常将其分成多个区域,用来存储一些参数或存储OTA升级的待更新的固件,这时就会涉及到单片机内部FLASH的编程和擦除操作,STM32不同系列的单片机内部FLASH特性和扇区大小都不太一样,如果不注意这些细节,那就等着爬坑吧

1、FLASH的分区以及扇区大小

FLASH擦除是按照扇区擦的,所以这个很重要,在工程中全局搜索 FLASH_PAGE_SIZE 宏就可以查看该芯片的页(扇区)大小,改宏在 stm32xxx_hal_flash.h中有定义

2、FLASH擦拭后的状态

F1和F4系列的芯片FLASH在擦除后会是0xFFFFFFFF,而L1系列的芯片FLASH在擦除后是0x00000000!!!!!

3、FLASH的编程速度

L1芯片内部FLASH编程速度比F1慢50倍!!!所以在使用L1芯片写入数据时相对于F1慢是正常的

2、STM32 F1、F4、L1系列内部FLASH分区及大小

1、STM32F1系列

对于F1系列的芯片大容量产品的FLASH主存储器每页大小为2K,如【下图】,而中容量和小容量的产品每页大小只有1K

pIYBAF_9XyWAQ1dBAAOSvMAux10854.png

2、STM32F4系列

分为2个Bank,每个Bank分为12个扇区,前4个扇区为16KB大小,第五个扇区是64KB大小,剩下的7个扇区都是128K大小

pIYBAF_9X0OAEsyVAAOvy3Hl9PQ381.png

3、STM32L1系列

3、STM32 F1、F4、L1系列内部FLASH编程时间

信息参考对应芯片的数据手册的 Electrical characteristics 章节

o4YBAF_9X1iAWgPRAAIF8YMGK0Y997.png

1、STM32F1系列

可以看出F1系列内部FLASH页擦除时间最大为40ms,半字写入的时间为52.2us,比如按字写入1024字节数据,需要26.8ms,还是比较快的

pIYBAF_9X2aAaA7-AAEGV0qnVH4638.png

2、STM32F4系列

可以看出F4系列内部不同扇区擦除时间也不一样的,字写入的时间为16us,比如按字写入1024字节数据,只需要4ms,非常快

pIYBAF_9X3iAHIhRAALOnPFcjPU077.png

3、STM32L1系列

可以看出L1系列内部FLASH页擦除和编程的时间都是3.28ms,比如按字写入1024字节数据,需要840ms,非常慢;但是擦除是比较快的

pIYBAF_9X4eATOy-AAF82rU5_UE350.png

编辑:hfy

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6078

    文章

    45576

    浏览量

    673506
  • FlaSh
    +关注

    关注

    10

    文章

    1759

    浏览量

    155888
  • 存储器
    +关注

    关注

    39

    文章

    7755

    浏览量

    172176
  • STM32
    +关注

    关注

    2313

    文章

    11191

    浏览量

    374597
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    单片机Flash是什么类型

    最近看到交流群小伙伴在讨论单片机Flash的话题,比如:Flash类型、速度等。 我们平时在单片机开发过程中也会遇到各种各样的Flash,比
    发表于 01-04 07:10

    单片机解密是什么?

    芯片的其中一个类。 单片机(MCU)一般都有内部程序区和数据区(或者其一)供用户存放程序和工作数据(或者其一)。为了防止未经授访问或拷贝单片机机内程序,大部分
    发表于 12-30 08:19

    国产SPI NOR Flash接口闪存介绍

    的存储架构,内部阵列由多个256字节的可编程页面组成,支持页编程、扇区擦除、块擦除及整片擦除等多
    的头像 发表于 12-26 11:51 643次阅读

    CW32F030 FLASH的页擦除操作

    CW32F030 FLASH 的页擦除操作的最小单位为 1 页,即 512 字节。 页擦除操作完成后,该页所有地址空间的数据内容均为0xFF
    发表于 12-15 06:26

    FPGA实现基于SPI协议的Flash驱动控制芯片擦除

    本篇博客具体包括SPI协议的基本原理、模式选择以及时序逻辑要求,采用FPGA(EPCE4),通过SPI通信协议,对flash(W25Q16BV)存储的固化程序进行芯片擦除操作
    的头像 发表于 12-02 10:00 2871次阅读
    FPGA实现基于SPI协议的<b class='flag-5'>Flash</b>驱动控制芯片<b class='flag-5'>擦除</b>

    从代码执行看单片机内存的分配

    “74H E0H”,该指令的功能是把操作数E0H送入累加器,0000H单元中已存放74H,0001H单元中已存放E0H。当单片机开始运行时,首先是进入取指阶段,其次序是: 程序计数器的内容(这时
    发表于 12-02 07:58

    单片机内部FLASH字节操作

    ] //================================================================================== [*][i][i] // 擦除FALSH对应的页,FLASH只能按页
    发表于 11-24 06:40

    请问有办法在嵌入式单片机上实现对片外Flash的数据增删功能吗?

    客户有一个需求, 想要删除已保存的数据, 单片机使用的是STM32F407, 存储的是有序的递增数据, 删除功能我一直不知道怎么做空间回收, Flash擦除寿命有影响吗,
    发表于 09-23 06:10

    STM32C011开发(3)----Flash操作

    STM32C011 系列微控制器内置 Flash 存储器,支持程序存储与数据保存,具备页面擦除、双字写入、读写保护等功能。本文将简要介绍 STM32C011 的
    的头像 发表于 09-18 16:48 5267次阅读
    <b class='flag-5'>STM32</b>C011开发(3)----<b class='flag-5'>Flash</b><b class='flag-5'>操作</b>

    请问STM32内部Flash操作是不是优先级最高?

    STM32内部Flash操作是不是优先级最高?目前在内部Flash的单独一页存储了数据,发现在
    发表于 08-13 07:03

    STM32F103RET6 FLASH擦除失败的原因?怎么解决?

    芯片不掉电,再进行擦除会出现擦不掉的情况,但是FLASH->SR寄存器未起任何异常状态,只有一个EOP置位。如果只是擦除->写入->擦除,中间不进行读的
    发表于 07-10 06:40

    第二十九章 读写内部FLASH

    本文介绍了W55MH32内部FLASH,其含主存储、系统存储等,可存储代码及掉电保存数据。读写需解锁、擦除页等步骤,标准库提供相关函数。还展示了擦除
    的头像 发表于 06-20 14:09 1363次阅读
    第二十九章 读写<b class='flag-5'>内部</b><b class='flag-5'>FLASH</b>

    STM32G473 flash擦除时程序卡死,为什么?

    我在进行双bank升级的时候,会先进行FLASH的批量擦除。在连续的升级过程中发现成功几次后出现了执行擦除flash操作时程序卡死的情况,直
    发表于 06-12 08:05

    STM32G473 flash擦除时程序卡死的原因?

    我在进行双bank升级的时候,会先进行FLASH的批量擦除。在连续的升级过程中发现成功几次后出现了执行擦除flash操作时程序卡死的情况,直
    发表于 06-09 07:23

    STM32F40xxx和STM32f41xx flash编程手册

    PM0081_STM32F40xxx and STM32F41xxx单片机编程手册
    发表于 06-06 17:02 8次下载