单片机内部的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
2、stm32f4系列
分为2个bank,每个bank分为12个扇区,前4个扇区为16kb大小,第五个扇区是64kb大小,剩下的7个扇区都是128k大小
3、stm32l1系列
3、stm32 f1、f4、l1系列内部flash编程时间
信息参考对应芯片的数据手册的 electrical characteristics 章节
1、stm32f1系列
可以看出f1系列内部flash页擦除时间最大为40ms,半字写入的时间为52.2us,比如按字写入1024字节数据,需要26.8ms,还是比较快的
2、stm32f4系列
可以看出f4系列内部不同扇区擦除时间也不一样的,字写入的时间为16us,比如按字写入1024字节数据,只需要4ms,非常快
3、stm32l1系列
可以看出l1系列内部flash页擦除和编程的时间都是3.28ms,比如按字写入1024字节数据,需要840ms,非常慢;但是擦除是比较快的
晶圆级CSP的元件的重新贴装及底部填充
浅谈电动汽车电机控制器技术
SPI至RS-422/RS-1设计解决方案的详细物理层设计注意事项
可编程直流稳压电源如何保养维护?
OPPO Reno标准版正式开启预售该机支持VOOC闪充3.0
STM32单片机内部FLASH的编程和擦除操作
如何使用光纤作为隔离式电流传感器
赛普拉斯在CES展上推出全新蓝牙®低功耗模块
瞬变抑制TVS二极管阵列 功率100W,有哪些型号?
DC-DC电源模块应用故障排查
无人机如何开启禁毒执法
小米称松果将继续专注手机SoC芯片和AI芯片研发
断相保护的分类_断相保护的运行因素
基于MT8870DE的电话电路
支持内存最大容量
浅谈PLC在智能装置自动测试系统的研究和应用
基于瑞萨R7FA2E1A72DFL MCU制作双机位切换的USB HUB
迈巴赫GLS迎来全球首秀 奔驰最豪华SUV中国首发
新能源汽车补贴细则出台_最新新能源汽车补贴政策_新能源汽车补贴2018
东风岚图汽车ESSA和SOA双架构技术优势解读