介紹
瑞薩Virtual EEPROM模塊簡稱VEE模塊,該VEE模塊模擬基本的EEPROM功能,支持讀和寫操作兩種常見的數據操作。在應用程序的整個生命周期內,保留存儲扇區的擦除計數,擦除計數可以隨時訪問。驅動函數會自動做磨損均衡處理,延長Flash的使用壽命。
主要內容
以開發板EK-RA2E2為例,使用VEE模塊存取數據:
1、創建新工程

2、工程創建完成后,通過FSP配置Virtual EEPROM
2.1 添加Virtual EEPROM Stack
選擇配置標簽頁 Stack → New Stack → Storage → Virtual EEPROM on Flash(rm_vee_flash)

2.2 配置Virtual EEPROM Stack
在生成的Stack框圖中,點擊 Virtual EEPROM on Flash(rm_vee_flash),可以看到e2?studio左下角出現屬性欄,按照如圖所示配置。

2.3 配置g_flash0 flash(r_flash_lp)
點擊框圖中g_flash0 flash(r_flash_lp),并按下圖所示,設置Flash Ready Interrupt Priority。此處工程設置為Priority 1,可根據實際需要調整。

按照上面步驟配置配置完成后,點擊?
?FSP就會生成工程Virtual EEPROM以及相關的初始化代碼。
3、編寫示例代碼,驗證Virtual EEPROM功能。
在工程中打開scr/hal_entry.c文件,void?hal_entry(void) 函數由main函數調用,我們自己的代碼由hal_entry調用,這樣做符合瑞薩軟件的架構,方便以后使用RTOS。
在hal_entry.c文件中添加下面的代碼

?

然后在hal_entry函數調用上面的rm_vee_example函數

接下來就可以編譯調試程序,當程序正常運行起來之后,就可以看到綠色LED燈亮起,說明存到Flash中的數據再讀取出來,經過對比確認數據正確。也可以在調試狀態下,將全局變量添加到觀察窗口,單步調試,觀察數據的變化。
程序運行前

程序運行起來之后
可以看到右側相關變量的數值已經有改變

在后面附加了如何在調試過程中觀察全局變量數值變化。
*附:觀察全局變量的方式
選中要觀察的數據名稱,右擊,選擇添加監看表達式

?

可以在調試界面看到相關表達式的值,隨著程序運行,可以在這里觀察數值的變化。

結論
使用VEE模塊,可以方便地使用Flash存取數據。不再需要自己去考慮數據存儲的位置以及磨損均衡等問題,可以把精力專注于實現功能上。
審核編輯:湯梓紅
電子發燒友App













































評論