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

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

    关注

    5999

    文章

    43966

    浏览量

    620716
  • FlaSh
    +关注

    关注

    10

    文章

    1549

    浏览量

    146632
  • 存储器
    +关注

    关注

    38

    文章

    7141

    浏览量

    161967
  • STM32
    +关注

    关注

    2239

    文章

    10669

    浏览量

    348698
收藏 人收藏

    评论

    相关推荐

    flash擦除后的值是多少

    擦除后的值是指将Flash存储器中的数据全部清除,并将其重置为初始状态。Flash存储器是一种非易失性存储介质,它使用电子存储技术来存储数据。擦除后的
    的头像 发表于 01-04 15:57 698次阅读

    Nor Flash编程擦除操作的详细流程

    Nor Flash 中的编程擦除操作涉及写入数据和擦除存储单元的特定步骤。
    的头像 发表于 12-05 15:19 432次阅读

    Nor Flash编程擦除操作实践与指南

    闪存编程也不涉及将数据写入存储单元,为确保准确编程,Nor Flash 支持字节级编程,允许写入或修改单个字节,而无需擦除整个块。
    的头像 发表于 12-05 14:03 505次阅读

    STC15F2K60S2单片机内部EEPROM读写操作的介绍

    STC15系列单片机内部集成了大容量的EEPROM,其与程序空间是分开的。
    的头像 发表于 11-08 17:41 1043次阅读
    STC15F2K60S2<b class='flag-5'>单片机内部</b>EEPROM读写<b class='flag-5'>操作</b>的介绍

    讲讲STM32单片机Flash的读保护和写保护

    讲讲STM32单片机Flash的读保护和写保护
    的头像 发表于 10-26 15:52 4307次阅读
    讲讲<b class='flag-5'>STM32</b><b class='flag-5'>单片机</b><b class='flag-5'>Flash</b>的读保护和写保护

    用JLINK擦除STM32内部flash,这个擦除是一个一个数据去写入擦除的吗 ?

    用JLINK擦除STM32内部flash,这个擦除是一个一个数据去写入擦除的吗
    发表于 10-12 07:35

    STM32进行编程的时候为什么要先擦除全部的flash数据?

    STM32进行编程的时候为什么要先擦除全部的flash数据
    发表于 10-10 06:34

    关于stc8g系列单片机内部flash擦除问题

    这个单片机内部数据存储功能是字节擦除还是扇区擦除
    发表于 09-28 07:53

    单片机内部为什么没有晶振?

    我们的合封单片机可以把各种功能芯片合封到一块去,为什么我们不把晶振也合封进去呀?其实单片机内部是有时钟的,网友说的是外部晶振吧?
    的头像 发表于 09-27 09:11 446次阅读

    怎么擦除stm32单片机里面的程序呢?

    怎么擦除stm32单片机里面的程序呢? 要擦除STM32单片机内部的程序,需要以下步骤: 1.
    的头像 发表于 09-14 14:22 8528次阅读

    单片机内部EEPROM的读写原理及驱动程序编写

    。STC89C51、52 内部都自带有 2K 字节的 E2PROM。可通过对 STC 单片机内部的 E2PROM 编程来实现,这样节省了片外资源,使用也比较方便。
    发表于 08-11 16:04 3824次阅读
    <b class='flag-5'>单片机内部</b>EEPROM的读写原理及驱动程序编写

    stm32单片机存储擦除方式跟什么有关?

    之前用的stm32f1系列单片机,写数据时是按页擦除的,后来跟换stm32f407后发现写数据的时候会占用单片机很长时间,后来发现这款
    发表于 08-08 08:17

    针对单片机内部Flash大小以及SPI Flash只能存放数据的问题求解

    新唐科技针对单片机内部Flash大小以及SPI Flash只能存放数据的问题,在SPI Flash有创新的应用,新唐M480系列单片机称此功
    发表于 06-15 07:11

    存储器系统的非对齐访问

    我是之前在试验STM32G031G8U6单片机内部FLASH操作时候发现的这个问题:STM32F103的
    发表于 05-25 15:54 428次阅读
    存储器系统的非对齐访问

    基于STM32单片机内部温度传感器实验使用库文件设计源代码

    基于STM32单片机内部温度传感器实验使用库文件设计源代码
    发表于 04-26 14:41 4次下载