Data flash在CS+的應用
Data flash,直譯數據閃存,閃存有可執行程序的“代碼閃存”和數據保存區的“數據閃存”,這里講的數據閃存,其實就是單片機留給用戶存儲自己數據的地方,類似于單片機內部的EEPROM,在CS+for CA,CX中也是可以直接配置生成庫函數的,但也可以使用FDL庫。
怎么去使用
1在瑞薩官網找到FDL庫T04的包文件下載,解壓并運行安裝程序,從下拉列表選擇“Asia/Oceania - English”,點擊OK按照安裝程序的說明進行安裝;
2安裝過程中,選擇您使用編譯器版本的庫,我這邊用的是CA78K0R,所以選擇第一個;
3通過FDL生成應用程序,生成的庫適用于CA78K0R編譯器,打開FDL文件→CA78K0R→lib,需要將lib的文件加入到工程應用;
4需要注意的是RL78系列在操作FDL庫中有一段需要避開Self_RAM區域,所以需要在工程文件下添加dr文件來修改Self_RAM的段,改Self_RAM的開始地址,以及所占的字節數;
5這里用到R5F10268芯片和FDL T04庫,可以看到沒有對應的Self_RAM,所以不需要修改dr文件的RAM;
創建工程以及庫的導入
1創建新的工程,這邊選擇了R5F10268芯片,按照下圖標記好選擇的順序,去選擇以下的選項,然后通過Generate Code生成所需的配置文件,同時也會自動生成data flash庫文件;
2在r_cg_pfdl.c已經生成有讀寫的函數,不需要自己去添加;
3將FDL庫中的lib文件夾復制到工程路徑中;
4在工程樹中新建lib文件夾,并將lib里面的所有文件加進來,pfdl.inc不加也可以,其他三個必須加;
5在r_cg_pfdl.c添加頭文件,這時候編譯應該是沒問題了,如果沒有添加,程序會找不到庫文件報錯;
例程驗證
1這里直接封裝了兩個函數,分別是讀寫的函數,讀寫操作前需要關總中斷,操作完成后再把總中斷打開;
2最后我們通過代碼讀寫10個字節去驗證是否成功寫入data flash區域;
對RL78/G12來說,Data flash memory的起始地址為0xF1000H,所以以上write函數就是從0xF1000H開始寫入10個數據。
3打開memory可以看到,在地址0xf1000開始寫的buffer跟定義的write_buffer一致,寫入成功;
-
單片機
+關注
關注
6067文章
44982瀏覽量
650298 -
閃存
+關注
關注
16文章
1845瀏覽量
115955 -
FlaSh
+關注
關注
10文章
1678瀏覽量
151753 -
EEPROM
+關注
關注
9文章
1086瀏覽量
83725 -
Data
+關注
關注
0文章
63瀏覽量
38736
原文標題:RL78/G12中Data flash的使用
文章出處:【微信號:瑞薩MCU小百科,微信公眾號:瑞薩MCU小百科】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
使用CS+ CCRL編譯RL78系列MCU引起flash空間浪費的錯誤問題解析

哪位有瑞薩CS+的license
CS+ V6.00.00 集成開發環境 用戶手冊: Analysis Tool[CS+ for CC]
![<b class='flag-5'>CS+</b> V6.00.00 集成開發環境 用戶手冊: Analysis Tool[<b class='flag-5'>CS+</b> for CC]](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
CS+ V5.00.00 集成開發環境 用戶手冊: Message[CS+ for CC]
![<b class='flag-5'>CS+</b> V5.00.00 集成開發環境 用戶手冊: Message[<b class='flag-5'>CS+</b> for CC]](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
CS+ V4.01.00 集成開發環境 用戶手冊: Project Operation[CS+ for CC]
![<b class='flag-5'>CS+</b> V4.01.00 集成開發環境 用戶手冊: Project Operation[<b class='flag-5'>CS+</b> for CC]](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
CS+ V6.01.00 集成開發環境 用戶手冊: Project Operation[CS+ for CC]
![<b class='flag-5'>CS+</b> V6.01.00 集成開發環境 用戶手冊: Project Operation[<b class='flag-5'>CS+</b> for CC]](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
CS+ V6.00.00 集成開發環境 用戶手冊: Project Operation[CS+ for CC]
![<b class='flag-5'>CS+</b> V6.00.00 集成開發環境 用戶手冊: Project Operation[<b class='flag-5'>CS+</b> for CC]](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
CS+ V6.00.00 集成開發環境 用戶手冊: Installer[CS+ for CC]
![<b class='flag-5'>CS+</b> V6.00.00 集成開發環境 用戶手冊: Installer[<b class='flag-5'>CS+</b> for CC]](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
CS+ V5.00.00 集成開發環境 用戶手冊: Python Console[CS+ for CC]
![<b class='flag-5'>CS+</b> V5.00.00 集成開發環境 用戶手冊: Python Console[<b class='flag-5'>CS+</b> for CC]](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
CS+ V4.00.00 集成開發環境 用戶手冊: Python Console[CS+ for CC]
![<b class='flag-5'>CS+</b> V4.00.00 集成開發環境 用戶手冊: Python Console[<b class='flag-5'>CS+</b> for CC]](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
CS+ V4.00.00 集成開發環境 用戶手冊: Project Operation[CS+ for CC]
![<b class='flag-5'>CS+</b> V4.00.00 集成開發環境 用戶手冊: Project Operation[<b class='flag-5'>CS+</b> for CC]](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
CS+ V3.02.00 集成開發環境 用戶手冊: Python Console[CS+ for CC]
![<b class='flag-5'>CS+</b> V3.02.00 集成開發環境 用戶手冊: Python Console[<b class='flag-5'>CS+</b> for CC]](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
CS+ V3.02.00 集成開發環境 用戶手冊: Editor[CS+ for CC]
![<b class='flag-5'>CS+</b> V3.02.00 集成開發環境 用戶手冊: Editor[<b class='flag-5'>CS+</b> for CC]](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
CS+ V3.00.00 集成開發環境 用戶手冊: Updater[CS+ for CC]
![<b class='flag-5'>CS+</b> V3.00.00 集成開發環境 用戶手冊: Updater[<b class='flag-5'>CS+</b> for CC]](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評論