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

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

    关注

    6035

    文章

    44554

    浏览量

    634660
  • FlaSh
    +关注

    关注

    10

    文章

    1633

    浏览量

    147944
  • 存储器
    +关注

    关注

    38

    文章

    7484

    浏览量

    163765
  • STM32
    +关注

    关注

    2270

    文章

    10895

    浏览量

    355744
收藏 人收藏

    评论

    相关推荐

    stm32单片机用什么软件编程

    STM32单片机是一种广泛应用于嵌入式系统领域的微控制器,具有高性能、低功耗、丰富的外设接口等特点。要对STM32单片机进行编程,需要选择合
    的头像 发表于 09-02 10:16 1261次阅读

    stm32单片机烧录程序会擦除原来的程序吗

    STM32单片机烧录程序的过程中, 通常情况下会擦除原来的程序 ,并将新程序写入单片机的闪存(Flash)中。这一过程是通过烧录工具(如S
    的头像 发表于 09-02 09:42 1911次阅读

    Ti60F100 内外flash操作方案

    有客户认为Ti60F100内部flash容量比较小,只有16Mb,需要外挂flash.这里我们提供了内部flash和外部
    的头像 发表于 05-20 16:42 1553次阅读
    Ti60F100 内外<b class='flag-5'>flash</b><b class='flag-5'>操作</b>方案

    51、STM32单片机编程方式一样吗?

    STM32和51单片机是两种常见的单片机系列,它们在硬件架构、性能特点和编程方式等方面有所不同。但是从c语言编程的角度来说,我认为是大同小异
    的头像 发表于 05-18 08:04 2182次阅读
    51、<b class='flag-5'>STM32</b><b class='flag-5'>单片机</b>的<b class='flag-5'>编程</b>方式一样吗?

    STM32L476先用仿真器擦除FLASH后在程序中写不成功怎么解决?

    STM32L476写FLASH必须是64位(8字节)写,也就是double WORD,而且要先把要写的字节部分擦除掉。 问题来了,先把整片用仿真器擦除掉,程序中先定义一个64位的静态
    发表于 03-28 08:44

    STM32H723ZET6是否有擦除小于128K的FLASH的指令?

    功能。 STM32F103系列对FLASH操作时有PAGE页擦除,一次只擦除1K,因此没有问题。 所以想请教下各位,
    发表于 03-27 06:05

    stm32g473 flash擦除失败的原因?

    flash擦除的时候有需要注意的点没有注意到。 单步调试有时一进入HAL_FLASHEx_Erase( EraseInitStruct,PAGEError),就会引起SR寄存器报下面的错误
    发表于 03-26 08:11

    关于stm32单片机存储擦除的疑问求解

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

    8-Bit 触控式 Flash 单片机中文资料

    而又有效的实现方法。 触摸按键功能完全集成于单片机内,使用较少的外部元件便可实现触摸按键的 应用。该系列单片机除了 Flash 程序存储器,还包括 RAM 数据存储器和用于存 储串列数据、校准数据等非易失性数据的 EEPROM
    发表于 02-28 10:01 4次下载

    NAND Flash的写入速度和擦除速度分别是多少

    NAND Flash的写入速度和擦除速度会受到多种因素的影响,包括Flash芯片的具体型号、制造工艺、以及操作环境等。因此,无法给出确切的数值。
    的头像 发表于 02-19 12:41 4050次阅读

    stm32 flash写数据怎么存储的

    擦除和写入操作,这使得STM32 Flash存储器非常灵活和易于使用。 Flash存储器的每个单元通常被称为“页”,
    的头像 发表于 01-31 15:46 2364次阅读

    单片机为何需要Flash和EEPROM?它们有何作用?

    不同的特点和用途。 首先,让我们了解一下Flash存储器。Flash存储器是一种非易失性存储器,可以在断电后保留数据。它以块为单位进行擦除和写入操作,允许多次重写。
    的头像 发表于 01-18 11:43 3718次阅读

    单片机内部时钟电路的工作原理

    单片机时钟电路是一种用于产生稳定时钟信号的电路,它是单片机正常工作的基础,决定了单片机的运行速度和性能。具体的设计和配置取决于单片机的型号和应用需求。
    发表于 01-16 15:33 6192次阅读
    <b class='flag-5'>单片机内部</b>时钟电路的工作原理

    stm32f103 flash模拟eeprom

    STM32F103是意法半导体(STMicroelectronics)推出的一款32位单片机系列,该系列芯片具有高性能和丰富的外设接口,广泛应用于工业控制、消费电子、汽车电子等领域。其中
    的头像 发表于 01-09 11:21 2027次阅读

    flash擦除后的值是多少

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