一、Data Flash用途介绍
RL78系列的MCU基本都是有数据闪存的,这也是RL78 MCU的特色之一,用户能使用它存储产品的标定参数,运行数据等,可以省去外面的存储器件(如EEPROM),有效的降低了用户的硬件成本。
二、Data Flash特点
用户能基于瑞萨官方提供的库来使用MCU内部的数据闪存,虽然MCU内部的闪存仍以1K字节块作为单位,但是用户可以按照字节进行读写。RL78资源的不同,对应的内部数据闪存的大小也不尽相同,一般大小在2K-8K字节范围之间,就单个地址,当前读写次数能达到1,000,000次,可在1.8-5.5伏电压范围内进行操作。
三、Data Flash使用说明
1
Data Flash应用库的下载:
如果你用的是CC-RL编译器,请在如下地址下载应用库和API应用文档:
JP_R_FDL_RL78_T04_V1.05_CCRL_A_E.zip
![f9cfded4-82ca-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9F/4A/wKgaomToGQ6AR71eAAAF6sdD4O8406.png)
https://www.renesas.cn/cn/zh/document/upr/data-flash-library-type04-ver105-cc-rl-compiler-rl78-family?language=en
如果你用的是CA78K0R编译器,请在如下地址下载应用库和API应用文档:
JP_R_FDL_RL78_T04_V1.05_B_E.zip
![f9eb2464-82ca-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9F/4A/wKgaomToGQ6AHg1LAAAF1-x0kTg969.png)
https://www.renesas.cn/cn/zh/document/upr/data-flash-library-type04-ver105-ca78k0r-compiler-rl78-family
2
避开MCU内部RAM相关区域:
根据MCU的硬件手册和《Self RAM list of Flash Self-Programming Library for RL78 Family》规定,有些MCU的RAM部分区域不能被数据库使用,因此需要在section设置进行避开,否则编译会出错,不同MCU要求也不尽相同,以R5F100LE为例,闪存库仅能使用RAM FFE00H ~ FF2FFH以外的区域,如下。
![f9fb5e24-82ca-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9F/4A/wKgaomToGQ-AXzKYAADzp1mWgeg361.png)
如下是基于R5F100LE在CS+上的具体section配置,以避开相应的区域,其他型号的MCU也可参考。
![fa285c4e-82ca-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9F/4A/wKgaomToGQ-AC2ycAATOTs-feDc502.png)
四、Data Flash测试结果
把RL78闪存库加载到应用工程里,然后调用初始化和读写函数进行数据的操作,当前使用RL78G13硬件板型号是“YRPBRL78G13”。然后在R5F100LE Data Flash的起始地址连续写一串数据“0x11,0x22,0x33, … 0xCC,并把它们读出出来,数据定义以及应用代码如下:
unsigned char Execute_status;
unsigned char W_DataFla_buff[3] = {0x11,0x22,0x33};
unsigned char W_DataFla_buff1[3] = {0x44,0x55,0x66};
unsigned char W_DataFla_buff2[3] = {0x77,0x88,0x99};
unsigned char W_DataFla_buff3[3] = {0xAA,0xBB,0xCC};
unsigned char R_DataFla_buff[12];
unsigned long int address=0x00;
R_FDL_Init();
Execute_status = R_FDL_BlankCheck(0x00,1024);
if (Execute_status == 0x1b)
{
R_FDL_Erase(0x00);
}
R_FDL_Write(address,&W_DataFla_buff[0],3);
address+=3;
R_FDL_Write(address,&W_DataFla_buff1[0],3);
address+=3;
R_FDL_Write(address,&W_DataFla_buff2[0],3);
address+=3;
R_FDL_Write(address,&W_DataFla_buff3[0],3);
address+=3;
Execute_status = R_FDL_Iverify(0x00,1024);
if (Execute_status == 0x1b)
{
return;
}
R_FDL_Read(0x00,&R_DataFla_buff[0],12);
PFDL_Close();
代码在硬件板“YRPBRL78G13”上运行测试结果如下,执行正确。
![fa62dc02-82ca-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9F/4A/wKgaomToGQ-AaqaqAAQ4peCB_Hc330.png)
![fabbc7c2-82ca-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9F/4A/wKgaomToGQ-AFOJZAALr177Txd8869.png)
1
END
1
往期推荐
1
关于RL78/G13系列R5F100BEANA产品ADC采集误差过大的问题
2
RL78/G23系列单片机Flash操作库RFD Type01的使用(一)安装篇
3
如何使用RL78/G23 DataFlash FDL库
瑞萨电子 (TSE: 6723)
科技让生活更轻松,致力于打造更安全、更智能、可持续发展的未来。作为全球微控制器供应商,瑞萨电子融合了在嵌入式处理、模拟、电源及连接方面的专业知识,提供完整的半导体解决方案。成功产品组合加速汽车、工业、基础设施及物联网应用上市,赋能数十亿联网智能设备改善人们的工作和生活方式。
更多信息,敬请访问renesas.com
原文标题:RL78系列MCU Data Flash使用介绍
文章出处:【微信公众号:瑞萨MCU小百科】欢迎添加关注!文章转载请注明出处。
-
mcu
+关注
关注
146文章
16254浏览量
345669 -
瑞萨
+关注
关注
32文章
22230浏览量
85197
原文标题:RL78系列MCU Data Flash使用介绍
文章出处:【微信号:瑞萨MCU小百科,微信公众号:瑞萨MCU小百科】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
RL78/F24 CANFD参考例程
![<b class='flag-5'>RL78</b>/F24 CANFD参考例程](https://file1.elecfans.com/web2/M00/EF/24/wKgZomZv5Z-AR9yJAABZgPfc7yc186.png)
RL78/G15组和RL78/G16组 瑞萨Flash示例程序01型SC版本应用说明
![<b class='flag-5'>RL78</b>/G15组和<b class='flag-5'>RL78</b>/G16组 瑞萨<b class='flag-5'>Flash</b>示例程序01型SC版本应用说明](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
RL78系列 Data Flash Library Type04软件包3.0版发布说明
![<b class='flag-5'>RL78</b><b class='flag-5'>系列</b> <b class='flag-5'>Data</b> <b class='flag-5'>Flash</b> Library Type04软件包3.0版发布说明](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
使用CS+ CCRL编译RL78系列MCU引起flash空间浪费的错误问题解析
![使用CS+ CCRL编译<b class='flag-5'>RL78</b><b class='flag-5'>系列</b><b class='flag-5'>MCU</b>引起<b class='flag-5'>flash</b>空间浪费的错误问题解析](https://file1.elecfans.com/web2/M00/B5/0C/wKgZomVysJiAECxyAABIgpCeG84149.png)
互动有礼 | 16位的RL78/G24 MCU可实现与32位MCU相当的性能!
![互动有礼 | 16位的<b class='flag-5'>RL78</b>/G24 <b class='flag-5'>MCU</b>可实现与32位<b class='flag-5'>MCU</b>相当的性能!](https://file1.elecfans.com//web2/M00/AB/27/wKgZomUxbX-AW0OlAAAjnzUztYo564.png)
使用CS+ CACX编译RL78系列MCU出现flash空置0XFF错误问题
![使用CS+ CACX编译<b class='flag-5'>RL78</b><b class='flag-5'>系列</b><b class='flag-5'>MCU</b>出现<b class='flag-5'>flash</b>空置0XFF错误问题](https://file1.elecfans.com/web2/M00/90/E6/wKgZomTdu92AfuBbAAAjGEcpe2Y072.png)
Renesas Flash Programmer V2.04 Flash memory programming software 用户手册 RL78, 78K, V850
![Renesas <b class='flag-5'>Flash</b> Programmer V2.04 <b class='flag-5'>Flash</b> memory programming software 用户手册 <b class='flag-5'>RL78</b>, <b class='flag-5'>78</b>K, V850](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
Data FLASH Converter 用户手册: Conversion tool for 78K0R, RL78, V850 and RH850 based Data FLASH memory image generation
![<b class='flag-5'>Data</b> <b class='flag-5'>FLASH</b> Converter 用户手册: Conversion tool for <b class='flag-5'>78</b>K0R, <b class='flag-5'>RL78</b>, V850 and RH850 based <b class='flag-5'>Data</b> <b class='flag-5'>FLASH</b> memory image generation](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
Renesas Flash Programmer V2.05 flash memory programming software 用户手册: RL78, 78K, V850
![Renesas <b class='flag-5'>Flash</b> Programmer V2.05 <b class='flag-5'>flash</b> memory programming software 用户手册: <b class='flag-5'>RL78</b>, <b class='flag-5'>78</b>K, V850](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
评论