單片機(jī)內(nèi)部的FLASH除了存儲(chǔ)固件以外,經(jīng)常將其分成多個(gè)區(qū)域,用來存儲(chǔ)一些參數(shù)或存儲(chǔ)OTA升級(jí)的待更新的固件,這時(shí)就會(huì)涉及到單片機(jī)內(nèi)部FLASH的編程和擦除操作,STM32不同系列的單片機(jī)內(nèi)部FLASH特性和扇區(qū)大小都不太一樣,如果不注意這些細(xì)節(jié),那就等著爬坑吧
1、FLASH的分區(qū)以及扇區(qū)大小
FLASH擦除是按照扇區(qū)擦的,所以這個(gè)很重要,在工程中全局搜索 FLASH_PAGE_SIZE 宏就可以查看該芯片的頁(扇區(qū))大小,改宏在 stm32xxx_hal_flash.h中有定義
2、FLASH擦拭后的狀態(tài)
F1和F4系列的芯片F(xiàn)LASH在擦除后會(huì)是0xFFFFFFFF,而L1系列的芯片F(xiàn)LASH在擦除后是0x00000000!!!!!
3、FLASH的編程速度
L1芯片內(nèi)部FLASH編程速度比F1慢50倍?。。∷栽谑褂肔1芯片寫入數(shù)據(jù)時(shí)相對(duì)于F1慢是正常的
2、STM32 F1、F4、L1系列內(nèi)部FLASH分區(qū)及大小
1、STM32F1系列
對(duì)于F1系列的芯片大容量產(chǎn)品的FLASH主存儲(chǔ)器每頁大小為2K,如【下圖】,而中容量和小容量的產(chǎn)品每頁大小只有1K

2、STM32F4系列
分為2個(gè)Bank,每個(gè)Bank分為12個(gè)扇區(qū),前4個(gè)扇區(qū)為16KB大小,第五個(gè)扇區(qū)是64KB大小,剩下的7個(gè)扇區(qū)都是128K大小

3、STM32L1系列
3、STM32 F1、F4、L1系列內(nèi)部FLASH編程時(shí)間
信息參考對(duì)應(yīng)芯片的數(shù)據(jù)手冊的 Electrical characteristics 章節(jié)

1、STM32F1系列
可以看出F1系列內(nèi)部FLASH頁擦除時(shí)間最大為40ms,半字寫入的時(shí)間為52.2us,比如按字寫入1024字節(jié)數(shù)據(jù),需要26.8ms,還是比較快的

2、STM32F4系列
可以看出F4系列內(nèi)部不同扇區(qū)擦除時(shí)間也不一樣的,字寫入的時(shí)間為16us,比如按字寫入1024字節(jié)數(shù)據(jù),只需要4ms,非???/p>

3、STM32L1系列
可以看出L1系列內(nèi)部FLASH頁擦除和編程的時(shí)間都是3.28ms,比如按字寫入1024字節(jié)數(shù)據(jù),需要840ms,非常慢;但是擦除是比較快的

編輯:hfy
-
單片機(jī)
+關(guān)注
關(guān)注
6078文章
45565瀏覽量
673145 -
FlaSh
+關(guān)注
關(guān)注
10文章
1758瀏覽量
155852 -
存儲(chǔ)器
+關(guān)注
關(guān)注
39文章
7753瀏覽量
172140 -
STM32
+關(guān)注
關(guān)注
2312文章
11188瀏覽量
374465
發(fā)布評(píng)論請先 登錄
單片機(jī)Flash是什么類型
單片機(jī)解密是什么?
國產(chǎn)SPI NOR Flash接口閃存介紹
CW32F030 FLASH的頁擦除操作
FPGA實(shí)現(xiàn)基于SPI協(xié)議的Flash驅(qū)動(dòng)控制芯片擦除
單片機(jī)內(nèi)部FLASH字節(jié)操作
請問有辦法在嵌入式單片機(jī)上實(shí)現(xiàn)對(duì)片外Flash的數(shù)據(jù)增刪功能嗎?
STM32C011開發(fā)(3)----Flash操作
請問STM32的內(nèi)部Flash操作是不是優(yōu)先級(jí)最高?
STM32F103RET6 FLASH擦除失敗的原因?怎么解決?
第二十九章 讀寫內(nèi)部FLASH
STM32單片機(jī)內(nèi)部FLASH的編程和擦除操作
評(píng)論