0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

瑞萨RL78系列单片机支持百万次读写的数据闪存方法概述

strongerHuang 来源:瑞萨嵌入式小百科 2024-01-22 09:27 次阅读

早期的存储器只能写一次,随后紫外线擦写的存储器问世,支持上千次读写操作。

随着技术的发展,闪存的读写越来越快,读写次数也越来越多。十万次读写已经是目前最低配置,百万次读写将成为标配。

如今,存储器的价格已不再是20年前昂贵买不起的价格,基本可以用“白菜价”来形容了。所以,现在MCU内部集成存储的容量越来越大,性能也越来越高。

今天结合瑞萨RL78系列单片机支持百万次读写的数据闪存(Data Flash)给大家讲述一下其读写方法。

数据闪存(Data Flash)概述

最近这些年推出的大部分MCU,基本都有供用户可编程和使用的Flash,RL78系列MCU也是类似的Flash,官方叫数据闪存(Data Flash)。

数据闪存(Data Flash)可供用户存储产品的标定参数、运行数据等,这样就可以免去片外存储器件,有效的降低了用户的硬件成本。

Data Flash特点:

用户能基于瑞萨官方提供的库来使用MCU内部的数据闪存,虽然MCU内部的闪存仍以1K字节块作为单位,但是用户可以按照字节进行读写。

RL78资源的不同,对应的内部数据闪存的大小也不尽相同,一般大小在2K-8K字节范围之间,就单个地址,当前读写次数能达到1,000,000次,可在1.8-5.5伏电压范围内进行操作。

Data Flash使用说明

Data Flash应用库的下载

如果你用的是CC-RL编译器,请在如下地址下载应用库和API应用文档:

https://www.renesas.cn/cn/zh/document/upr/data-flash-library-type04-ver105-cc-rl-compiler-rl78-family?language=en

如果你用的是CA78K0R编译器,请在如下地址下载应用库和API应用文档:

https://www.renesas.cn/cn/zh/document/upr/data-flash-library-type04-ver105-ca78k0r-compiler-rl78-family

(提醒:请复制链接到浏览器下载)

避开MCU内部RAM相关区域:

根据MCU的硬件手册和《Self RAM list of Flash Self-Programming Library for RL78 Family》规定,有些MCU的RAM部分区域不能被数据库使用,因此需要在section设置进行避开,否则编译会出错,不同MCU要求也不尽相同,以R5F100LE为例,闪存库仅能使用RAM FFE00H ~ FF2FFH以外的区域,如下。

wKgaomWtxNKAKyM2AADzp1mWgeg848.jpg

如下是基于R5F100LE在CS+上的具体section配置,以避开相应的区域,其他型号的MCU也可参考。

wKgZomWtxNKAFMTFAATOTs-feDc067.jpg

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”上运行测试结果如下,执行正确。

3f93cf86-b8c4-11ee-8b88-92fbcf53809c.png3fa01192-b8c4-11ee-8b88-92fbcf53809c.png








审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6001

    文章

    43973

    浏览量

    620854
  • mcu
    mcu
    +关注

    关注

    146

    文章

    16018

    浏览量

    343637
  • FlaSh
    +关注

    关注

    10

    文章

    1551

    浏览量

    146648
  • 存储器
    +关注

    关注

    38

    文章

    7150

    浏览量

    161998

原文标题:MCU百万次读写闪存测试

文章出处:【微信号:strongerHuang,微信公众号:strongerHuang】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    单片机RL78/G13 样例程序

    本帖最后由 于圭 于 2014-12-29 10:29 编辑 单片机RL78/G13 样例程序
    发表于 11-22 19:49

    单片机数据手册及相关资料(大家还有的,继续补充)

    系列数据手册PDF79F7028系列数据手册PDFRL78L12系列
    发表于 12-24 14:42

    单片机开发环境集锦

    单片机开发环境 CubeSuit+ V2000版本: http://pan.baidu.com/s/1ntyZdvN
    发表于 12-29 10:40

    RL78G13单片机SPI版LCD驱动

    ` 分享一个RL78G13单片机驱动SPI版LCD的程序。使用的LCD如下图:单片机与LCD的连接如下:`
    发表于 08-23 00:10

    RL78G13单片机红外遥控程序

    分享一个RL78G13单片机实现红外遥控的程序,设置定时器为捕获模式后,根据说明更改相应内容即可使用。这两个文件就是红外遥控的代码,在定时器的文件中要修改相应内容。
    发表于 08-23 13:09

    [求助]RL78/G13(R5F100LEA)驱动1602

    [求助]RL78/G13(R5F100LEA)驱动1602因为刚刚接触这块板子很多不懂1.之前使用51可以驱动1602,想问一下51的程序复制在
    发表于 10-21 14:39

    RL78族汇编案例吗?

    RL78族汇编案例吗
    发表于 04-17 11:27

    初学单片机,请教用74HC164D驱动级联数码管

    初学单片机,请教帮帮忙。1、MCU型号:RL78/F13 R5F10AGG(48PIN),串口驱动数码管电路如下:[attach]***4[/attach] 因为是初学
    发表于 09-25 18:33

    谁有 RL78/G13 DEMO BOARD 的学习板子 哪里可以买到

    `谁有 RL78/G13 DEMO BOARD的学习板子 哪里可以买到`
    发表于 11-25 09:53

    RL78G13的板子有人有freertos的源码吗?

    各位大佬,RL78G13的板子有人有freertos的源码吗,最好是cubesuite的. 还有freertos的官网上有freertos for rl78 with IAR的de
    发表于 07-24 08:01

    怎么实现基于单片机RL78/I1A系列MCU设计的带数字LED照明系统?

    本设计介绍了基于单片机RL78/I1A系列MCU设计的带数字LED照明系统设计方案。
    发表于 06-15 09:21

    单片机开发环境

    、STC的单片机单片机有其独特的地方,也显得功能的强大,刚接触的是78K0/FX2-L系列
    发表于 07-14 07:40

    RL78 dataflash pfdl库使用教程

    RL78 dataflash pfdl库使用1.安装PFDL库2.CS+ for CC配置4.读dataflash5.写dataflash6.注意事项1.安装PFDL库从
    发表于 07-23 09:48

    RL78/G15针对8位MCU应用进行的优化

    设备。3. 广泛的外设功能可降低设备成本RL78/G15具有嵌入式复位功能、比较器和数据闪存,减少了这些外部组件需求。而且也无需用于UART的外部振荡器,消除了此类外部组件需求,有助于降低总体设备成本
    发表于 02-13 17:48

    关于瑞萨RL78系列单片机在线升级

    关于瑞萨RL78系列单片机在线升级
    发表于 11-24 12:51 35次下载
    关于瑞萨<b class='flag-5'>RL78</b><b class='flag-5'>系列</b><b class='flag-5'>单片机</b>在线升级