stm32flash的讀寫特性

在使用stm32自帶的flash保存數據時候,如下特點必須知道:

1、必須是先擦除一個扇區,才能寫入

2、讀數據沒有限制

3、寫數據必須是2字節,同時寫入地址以一定要考慮字節對齊,

4、一般都是在最後幾頁進行數據保存的,確保數據量不超過flash的的大小,比如f103大容量是2k字節,其實一個扇區只能寫入1k數量的2字節的數據。

5、有些芯片的扇區大小是不相等的,那麼驅動就要自己根據需要重新寫,難度不大。參考線程的代碼,修改一下,驗證即可。

網上是如下的解釋:

先擦除後寫入的原因是爲了工業上製作方便,即物理實現方便

flash存儲器有個特點,就是隻能寫0,不能寫1。所以如果原來的地址有數據了,意味着有一些位爲0,這些位就相當於無效了。所以必須寫之前確保他們都爲1,只有擦除纔可以。另外每次擦除都必須擦除一個4K(隨芯片大小決定)大小的扇區,這是flash的特性所決定的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章