在使用stm32自帶的flash儲存資料時候,如下特點必須知道:
1、必須是先擦除乙個扇區,才能寫入
2、讀資料沒有限制
3、寫資料必須是2位元組,同時寫入位址以一定要考慮位元組對齊,
4、一般都是在最後幾頁進行資料儲存的,確保資料量不超過flash的的大小,比如f103大容量是2k位元組,其實乙個扇區只能寫入1k數量的2位元組的資料。
5、有些晶元的扇區大小是不相等的,那麼驅動就要自己根據需要重新寫,難度不大。參考執行緒的**,修改一下,驗證即可。
網上是如下的解釋:
先擦除後寫入的原因是為了工業上製作方便,即物理實現方便
flash儲存器有個特點,就是只能寫0,不能寫1。所以如果原來的位址有資料了,意味著有一些位為0,這些位就相當於無效了。所以必須寫之前確保他們都為1,只有擦除才可以。另外每次擦除都必須擦除乙個2k(隨晶元大小決定)大小的扇區,這是flash的特性所決定的。
stm32 Flash讀寫 庫函式
通過對stm32內部的flash的讀寫可以實現對stm32的程式設計操作。stm32 的內建可程式設計flash在許多場合具有十分重要的意義。如其支援icp特性使得開發人員對stm32可以警醒除錯開發,可以通過jtag和swd介面對stm32進行程式燒寫 支援iap特性使得開發人員可以在stm32執...
stm32 Flash讀寫 庫函式
stm32 的內建可程式設計flash在許多場合具有十分重要的意義。如其支援icp特性使得開發人員對stm32可以警醒除錯開發,可以通過jtag和swd介面對stm32進行程式燒寫 支援iap特性使得開發人員可以在stm32執行程式的時候對其內部程式進行更新操作。對一些對資料安全有要求的場合,可程式...
STM32 Flash 擦除 讀寫 成功
參考 要點 將資料寫入flash之前,每次都要擦除,否則會寫入不成功,出現的錯誤狀態為 flash status flash error pg 寫入資料成功後可以在memory 中檢視剛剛寫入的資料,具體在memory 視窗中輸入 0x08010000,既可以看到此處的資料為 data 0x1504...