Renesas:RH850的FDL库的移植与使用
FDL库官方地址:Data Flash Libraries | Renesas
RH850的FDL库与用户手册地址:RH850/F1KM-S4 Design Support Resources | Renesas
一、FDL库的移植过程
1、添加文件到自己的工程中
(1)解压安装FDL库文件
(2)解压后对应文件夹介绍
(3)将官方库文件和对应的应用文件放到自己的工程文件中
2、用CS+中FDL需要添加的段
二、用户文件的修改
1、用户手册中对官方库文件与用户文件的介绍
2、将官方库文件和应用文件添加到自己工程
3、fdl_descriptor.h 中的修改
#define CPU_FREQUENCY_MHZ (120) //MCU的主频
#define EEL_VIRTUALBLOCKSIZE (64u) //Data FLASH每个blcok为64byte
#define FDL_POOL_SIZE (16u * EEL_VIRTUALBLOCKSIZE)
#define EEL_POOL_START (1u * EEL_VIRTUALBLOCKSIZE)
#define EEL_POOL_SIZE (6u * EEL_VIRTUALBLOCKSIZE)//修改成,不使用EEL_POOL
#define CPU_FREQUENCY_MHZ (240) //MCU的主频
#define EEL_VIRTUALBLOCKSIZE (64u) //Data FLASH每个blcok为64byte
#define FDL_POOL_SIZE (1024) //Data Flash 64KB = 1024 blocks * 64 byte
#define EEL_POOL_START (0)
#define EEL_POOL_SIZE (0)
- EEL POOL:EEL Pool为EEL提供存储模拟数据和管理信息
- User POOL:所有非由EEL pool分配的FDL池空间都可由用户应用程序自由使用,因此称为
用户池
三、 FDL库的大致使用流程
/* 1.初始FDL库 */fdlRet = R_FDL_Init( &DeviceFDLCfg_des );if( R_FDL_OK != fdlRet ){ /* Error handler */while( 1 );}/* 2.准备FDL环境 */req.command_enu = R_FDL_CMD_PREPARE_ENV;req.idx_u32 = 0;req.cnt_u16 = 0;req.accessType_enu = R_FDL_ACCESS_NONE;R_FDL_Execute( &req );while( R_FDL_BUSY == req.status_enu ){R_FDL_Handler();}if( R_FDL_OK != req.status_enu ){ /* Error handler */while( 1 );}/* 3.擦除要写的块 */req.command_enu = R_FDL_CMD_ERASE;req.idx_u32 = 0;req.cnt_u16 = 1;req.accessType_enu = R_FDL_ACCESS_USER;R_FDL_Execute( &req );while( R_FDL_BUSY == req.status_enu ){R_FDL_Handler();}if( R_FDL_OK != req.status_enu ){ /* Error handler */while( 1 );}/* 4.写入已经擦除的块 */req.command_enu = R_FDL_CMD_WRITE;req.idx_u32 = 0x0000;req.cnt_u16 = 0x8;req.bufAddr_u32 = (uint32_t)( &wBuf_au08[0] );req.accessType_enu = R_FDL_ACCESS_USER;R_FDL_Execute( &req );while( R_FDL_BUSY == req.status_enu ){R_FDL_Handler();}if( R_FDL_OK != req.status_enu ){ /* Error handler */while( 1 );}/* 5.读取写入的数据*/req.command_enu = R_FDL_CMD_READ;req.idx_u32 = 0x0000;req.cnt_u16 = 0x8;req.bufAddr_u32 = (uint32_t)( &rBuf_au32[0] );req.accessType_enu = R_FDL_ACCESS_USER;R_FDL_Execute( &req );while( R_FDL_BUSY == req.status_enu ){R_FDL_Handler();}if( R_FDL_OK != req.status_enu ){ /* Error handler */while( 1 );}
Renesas:RH850的FDL库的移植与使用相关推荐
- 第三季1:ORTP库的移植与局域网视频传输
以下内容源于朱有鹏课程,如有侵权,请告知删除. 本季课程重点在于使用ORTP库来实现局域网视频实时传输. 一.ORTP的介绍 1.视频网络传输的两种方式 (1)基于下载 比如http(Hyper Te ...
- CGIC库的移植及使用
CGIC库的移植 CGIC是一个支持CGI开发的开放源码的标准C库,可以免费使用,只需要在开发的站点和程序文档中有个公开声明即可,表明程序使用了CGIC库,用户也可以购买商业授权而无需公开声明. ...
- 【QT】linux下alsa库的移植和QT中音视频的处理笔记
一.音频的输入 linux下有一个开源的音频库----alsa库,实现了录音的功能,alsa库包含如下内容: alsa-lib-1.0.22.tar.bz2 ------- alsa的核心支持库 al ...
- cocos2dx使用了第三方库照样移植android平台-解决iconv库的移植问题
好记性不如烂笔头 cocos2dx使用了第三方库照样移植android平台-解决iconv库的移植问题 http://www.zaojiahua.com/iconv.html
- freetype库的移植
freetype库的移植 freetype依赖于libpng,而libpng又依赖zlib,所以我们本次的移植实际上是需要移植三个库,每个的移植操作是类似的,只不过顺序不能颠倒 1. 移植zlib库 ...
- 【modbus】libmodbus库的移植与使用
一.源码下载 1.libmodbus官网 http://libmodbus.org/download/ 2.选择长期稳定版本libmodbus-3.0.6.tar.gz 下载链接:ht ...
- 第七季2:MP4v2库的移植与播放实战
以下内容源于朱有鹏课程,如有侵权,请告知删除. 本节主要内容: (1)移植MP4V2库,该开源库实现了对视频流(如h264视频流)的打包与封装(如MP4格式). (2)部署和运行打包代码,测试打包生成 ...
- libjpeg库和libpng库的移植和使用
目录 1.libjpeg库移植 2.zlib库移植 3.libpng库移植 4.开源库的使用方法 1.libjpeg库移植 [1]下载源码与准备交叉工具链 libjpegv6下载地址 [2]解压源码并 ...
- 语音识别开源库 FastARS 移植到GEC6818开发版
FastARS 移植 移植 安装fftw3 1.下载源码 wget -c http://www.fftw.org/fftw-3.3.10.tar.gz 2.解压 tar -xzvf fftw-3. ...
- ubuntu交叉编译Qt-5库并移植ARM开发板
前言:本文将介绍Qt5源码方式的交叉编译及安装 下载源码包:qt-everywhere-src-5.12.8.tar.xz 官网下载网址:Index of / 依次选择: [official_rele ...
最新文章
- 阿里新财报霸道惨了!菜鸟加速全球72小时必达,世界都沸腾!
- 给新手的 11 个 Docker 免费上手项目
- 【XAudio2】1.XAudio2 介绍
- java 关闭语句_java.sql.SQLRecoverableException: 关闭的语句
- AOS V0.8 发布,JavaEE 应用基础平台
- Introduction MBG
- redis lua 设置过期_详解 Redis 内存管理机制和实现
- 深入理解 ViewState
- 【漏洞分析】dedecms有前提前台任意用户密码修改
- opencv+Dlib python大眼代码
- ubuntu系统grub引导修复
- kali linux权限维持,msfconsole权限维持
- 又读《孙子兵法》,谈领导力
- 编写程序,提示用户输入一个数并显示该数,使用字符模拟7段显示器的效果:Enter a number:491-9014
- 关于表的创建(第二次作业)
- 什么是UI?就业前景如何?
- n719 rom 卡刷 android 4.3,三星 N719官方4.3纯净版ROM刷机(线刷)获取ROOT权限
- CSS相对地址与绝对地址
- 暮然回首:我的10年软件开发生涯
- 亲自传授我的各种经典的篮球技术动作gif图