RT-Thread—STM32—EasyFlash
概述
本教程主要根據官方推薦的教程進行改編,詳細信息請參考EasyFlash軟件包
本例程的模板使用通用模板環境搭建裏面的模板RT-Thread——STM32——FAL庫
文末也有我移植好的例程,不過建議大家從頭開始移植,加深印象^_^
配置
- 打開工程目錄,在ENV下輸入menuconfig進入圖形化配置界面
- 在RT-Thread online packges->tools packages裏選中EasyFlash
- 打開EasyFlash
- Version選擇最新的版本
- 最小擦除粒度設置爲2048 (STM32F103ZET6頁大小爲2K,所以選擇2048)
- 最小寫入粒度設置爲STM32F1 (因爲我使用的是STM32F1)
- 在EasyFlash軟件包裏面,把
ports
裏面的ef_fal_port.h
文件移動到src
文件夾裏面
- 在ENV裏面重新生成工程
- 保存配置並且退出ENV
代碼修改
- 在
fal_cfg.h
文件裏面的分區表中增加easyflash項,根據flash大小重新分配內存
- 打開
ef_fal_port.c
文件,修改easyflash的名字,增加需要存儲的變量名如圖:
- 使用的時候,添加頭文件,和測試代碼如圖:
測試
- 燒錄代碼,每次按下復位鍵都會打印當前的上電次數如圖:
- 如果結果和我一樣就說明你已經成功了
- 其他的我就不做詳細解釋了。以下是我已經做好好項目的文件工程
- RTT_stm32_easy_flash.rar
小結
easyflash用起來真的很方便,而且大大增加了flash的壽命,用來存儲常見的信息基本上就夠用了,也不用外界存儲芯片
備註:提供一下個人微信號 Hleafleafleaf,歡迎加好友,共同學習!共同進步!