跳转到主要内容

STM32单片机内部FLASH使用注意事项

<font size="4" color="blue"><strong>1、前言</strong></font>

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

<strong>1、FLASH的分区以及扇区大小</strong>

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

<strong>2、FLASH擦拭后的状态</strong>

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

<strong>3、FLASH的编程速度</strong>

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

<font size="4" color="blue"><strong>2、STM32 F1、F4、L1系列内部FLASH分区及大小</strong></font>

<strong>1、STM32F1系列</strong>

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

<center><img width="600" src="http://mcu.eetrend.com/files/2020-11/wen_zhang_/100058889-112816-1.png&…; alt=""></center><br>

<strong>2、STM32F4系列</strong>

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

<center><img width="600" src="http://mcu.eetrend.com/files/2020-11/wen_zhang_/100058889-112817-2.png&…; alt=""></center><br>

<strong>3、STM32L1系列</strong>

<font size="4" color="blue"><strong>3、STM32 F1、F4、L1系列内部FLASH编程时间</strong></font>

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

<center><img width="600" src="http://mcu.eetrend.com/files/2020-11/wen_zhang_/100058889-112818-3.png&…; alt=""></center><br>

<strong>1、STM32F1系列</strong>

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

<center><img width="600" src="http://mcu.eetrend.com/files/2020-11/wen_zhang_/100058889-112819-4.png&…; alt=""></center><br>

<strong>2、STM32F4系列</strong>

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

<center><img width="600" src="http://mcu.eetrend.com/files/2020-11/wen_zhang_/100058889-112820-5.png&…; alt=""></center><br>

<strong>3、STM32L1系列</strong>

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

<center><img width="600" src="http://mcu.eetrend.com/files/2020-11/wen_zhang_/100058889-112821-6.png&…; alt=""></center><br>

版权声明:本文为CSDN博主 hurryddd 的原创文章,
遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/m0_37845735/article/details/108439644