前 言
在許多實(shí)際項(xiàng)目中是需要在MCU掉電前保存一些數(shù)據(jù),以供MCU在下一次上電后能讀取。而瑞薩的MCU RL78G13能通過(guò)瑞薩免費(fèi)提供的數(shù)據(jù)閃存編程庫(kù)(FDL)來(lái)簡(jiǎn)單快捷地實(shí)現(xiàn)內(nèi)部Data Flash的讀寫(xiě)操作。
本文是基于CS+(for CC) 開(kāi)發(fā)環(huán)境,MCU是R5F100LE,F(xiàn)DL庫(kù)文件是在瑞薩官網(wǎng)下載的FDL_RL78_Type04_Installer_V200-doc-e.zip。
首先我們先解壓安裝好FDL庫(kù)
選擇CC-RL版本
安裝好后在文件夾里有以下4個(gè)文件,之后需要添加到工程里面。
之后新建一個(gè)工程,并添加剛才4個(gè)文件到工程中,由于FDL庫(kù)的運(yùn)行需要用到MCU的內(nèi)部時(shí)鐘,所以選擇默認(rèn)的內(nèi)部時(shí)鐘(fIH),頻率32M。
選擇使用Data Flash,并點(diǎn)擊生成代碼(Generate Code)
這樣我們就已經(jīng)生成了基于FDL庫(kù)的代碼,現(xiàn)在直接調(diào)用代碼中的函數(shù)就能實(shí)現(xiàn)讀寫(xiě)Data Flash。
我們現(xiàn)在來(lái)測(cè)試一下,本次測(cè)試的預(yù)想結(jié)果是在MCU的dataflash起始地址F1000H寫(xiě)入5個(gè)數(shù)據(jù),然后再?gòu)闹凶x取存放到目標(biāo)數(shù)組中。
首先我們?cè)趓_main.c文件中定義兩個(gè)數(shù)組,tx_buf1為寫(xiě)入數(shù)據(jù)的數(shù)組,rx_buf1為讀取數(shù)據(jù)的數(shù)組。然后在main函數(shù)中調(diào)用r_cg_pfdl.c中的一些函數(shù),如下圖所示代碼:
在讀寫(xiě)Data Flash時(shí),首先調(diào)用R_FDL_Open函數(shù)來(lái)實(shí)現(xiàn)啟動(dòng)FDL庫(kù),之后我們擦除目標(biāo)地址的數(shù)據(jù),該MCUu是4k的Data Flash,而FDL庫(kù)每次操作擦除的地址是1k,所以把4k的地址分為4個(gè)塊,而目標(biāo)地址F1000H處于塊0,即調(diào)用R_FDL_Erase(0);然后在F1000H的地址開(kāi)始寫(xiě)入數(shù)組tx_buf1的5個(gè)數(shù)據(jù),調(diào)用R_FDL_Wirte(0x0000, tx_buf1[0],5);0x0000為F1000H的相對(duì)地址,此說(shuō)明在該FDL庫(kù)的用戶手冊(cè)有寫(xiě)到,如下圖:
從F1000H開(kāi)始讀取之前寫(xiě)入的5個(gè)數(shù)據(jù)存入數(shù)組rx_buf1中,即調(diào)用了函數(shù)R_FDL_Read(0x0000, rx_buf1[0],5)。最后完成擦除寫(xiě)入讀取操作,關(guān)閉庫(kù)操作,即調(diào)用R_FDL_Close()函數(shù)。
代碼完成后我們仿真驗(yàn)證一下,通過(guò)Memory1看到,寫(xiě)入數(shù)據(jù)成功,如下圖
而通過(guò)查看watch1中rx_buf[1]數(shù)組的值可以看到,讀取數(shù)據(jù)成功,如下圖
總結(jié)
以上就是基于瑞薩提供的FDL庫(kù)來(lái)實(shí)現(xiàn)RL78G13 Data Flash的讀寫(xiě)操作,真的是十分的簡(jiǎn)單快捷,用戶無(wú)需過(guò)多的查看手冊(cè)都可以十分迅速地掌握。通過(guò)瑞薩的開(kāi)發(fā)環(huán)境CS+(for CC),可以實(shí)現(xiàn)瑞薩RL78系列MCU的外設(shè)的選擇、配置、代碼生成,大大減少了開(kāi)發(fā)人員對(duì)于MCU底層的配置,從而縮短了整個(gè)項(xiàng)目的開(kāi)發(fā)周期,這也是瑞薩RL78系列MCU深受廣大嵌入式開(kāi)發(fā)人員的好評(píng)之一。
來(lái)源:瑞薩MCU小百科
免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問(wèn)題,請(qǐng)聯(lián)系小編進(jìn)行處理
審核編輯 黃宇
-
FlaSh
+關(guān)注
關(guān)注
10文章
1662瀏覽量
150967 -
RL78
+關(guān)注
關(guān)注
2文章
119瀏覽量
21884 -
RL78G13
+關(guān)注
關(guān)注
0文章
9瀏覽量
8897
發(fā)布評(píng)論請(qǐng)先 登錄
RL78G13開(kāi)發(fā)套件_仿真板原理圖
RL78/G13開(kāi)發(fā)板原理圖 資料下載
RL78G13開(kāi)發(fā)套件 原理圖及入門(mén)教程
RL78G13IO口
瑞薩RL78G13單片機(jī)SPI版LCD驅(qū)動(dòng)
瑞薩RL78G13單片機(jī)紅外遙控程序
瑞薩RL78G13單片機(jī)矩陣鍵盤(pán)程序
瑞薩RL78G13的板子有人有freertos的源碼嗎?
RL78 dataflash pfdl庫(kù)使用教程
瑞薩RL78添加FDL報(bào)錯(cuò)

評(píng)論