当前位置: 首页 > ops >正文

S32K3平台FEE 应用笔记

  1. S32K3 FEE 概述
    Data Flash 模拟 EEPROM,使用 MACL 层的 FEE 和 FLS 模块实现功能。如图 1.1 展示
    了 S32K3xx 系列的内部 flash 资源。S32K344 有 128K 的 Dflash。如图 1.2 所示,对 flash 扇
    区的描述说明在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    Flash 驱动的基本参数配置。如所示。在启动时将驱动加载代码到 RAM 中,在驱动完
    成工作时,会从 RAM 中卸载。在使能清除缓存后,Access Code 函数的缓存数据,会加载
    到实际的 RAM 当中,配置如图 3.4 所示。在这里插入图片描述
    启用缓存 API 接口特性,来同步内存,确保在擦除、读、写操作前使缓存失效,在对闪
    存操作后,缓存和修改后的闪存保持同步。如图 3.5 所示在这里插入图片描述
    在这里插入图片描述
    配置闪存模拟 EEPROM 模块参数,在对逻辑扇区引用时,需要注意,如果 FEE 使用的
    FLS 驱动程序启用了 FLS_Cancel API,则 FLS 页写异步模式不能用于闪存扇区。需要禁用
    Fls_Cancel API 或使用同步写。
    如果在 FEE 使用的 FLS 驱动程序中启用了 Fls_Cancel API,则 Fls Max Write Normal
    Mode /Fls Max Write 快速模式参数值不能小于 FEE 块/群集头的大小或 FEE 虚拟页面的大
    小,以较大者为准。Indx 的值为 0 到 65534。配置参数如图 3.8 所示。在这里插入图片描述
    在这里插入图片描述
  2. 例程解读
    在模拟 EEPROM 时,需要 FLS 和 FEE 两个模块,共同实现功能,如程序清单 4.1 所
    示。 在往 block 写入数据,数据的 block size 字节数,会自动写入。在读取数据时,用户可
    以设置读取数据偏移值,读取所需数据位的值。
    /* Write your code here /
    MemIf_StatusType status = MEMIF_IDLE;
    /
    Initialize Fls driver /
    Fls_Init(NULL_PTR);
    /
    Initialize Fee driver */
    Fee_Init(NULL_PTR);
    /Perform init Fee driver/
    do
    {
    Fls_MainFunction();
    Fee_MainFunction();
    status = Fee_GetStatus();
    } while (status != MEMIF_IDLE);
    /Write data to block 0/
    Fee_Write(FeeConf_FeeBlockConfiguration_FeeBlockConfiguration_0, DataBlock0);
    /Perform write data to Block 0/
    do
    {
    Fls_MainFunction();
    Fee_MainFunction();
    status = Fee_GetStatus();
    } while (status != MEMIF_IDLE);
    /Read data block 0, from offset 2 and length is 2/
    Fee_Read(FeeConf_FeeBlockConfiguration_FeeBlockConfiguration_0, 2, DataReceive, 2);
    /Perform read data form Block 0/
    do
    {
    Fls_MainFunction();
    Fee_MainFunction();
    status = Fee_GetStatus();
    } while (status != MEMIF_IDLE);
    在这里插入图片描述
  3. 参考资料
    [1] S32K3xx Reference Manual
    [2] S32K344_S32K324_S32K314_IOMUX.xlsx
    [3] S32K3xx_interrupt_map.xlsx
    [4] S32K3xx_memory_map.xlsx
http://www.xdnf.cn/news/19428.html

相关文章:

  • C++ 多线程实战 01|为什么需要线程:并发 vs 并行,进程 vs 线程
  • 6 种可行的方法:小米手机备份到电脑并恢复
  • js语言编写科技风格博客网站-详细源码
  • AI-调查研究-66-机器人 机械臂 软件算法体系:轨迹规划·视觉定位·力控策略
  • 网络层和数据链路层
  • 智能对话系统优化方案:解决响应偏差与个性化缺失问题
  • OpenStack网络类型解析
  • 超越Transformer:语言模型未来的认知革命与架构重构
  • 手写MyBatis第47弹:Interceptor接口设计与Invocation上下文传递机制--MyBatis动态代理生成与方法拦截的精妙实现
  • uniApp 混合开发全指南:原生与跨端的协同方案
  • shell编程基础入门-3
  • Ansible之playbook剧本
  • 【Spark Core】(三)RDD的持久化
  • nrf52840 解锁
  • Linux部署OSM本地服务测试环境
  • Ubuntu 25.10 Snapshot4 发布。
  • 电动两轮车手机导航投屏方案调研报告
  • 「日拱一码」076 深度学习——自然语言处理NLP
  • SOME/IP-SD中IPv4端点选项与IPv4 SD端点选项
  • Coze源码分析-工作空间-资源库-前端源码
  • 掌握正则表达式与文本处理:提升 Shell 编程效率的关键技巧
  • FFmpeg 不同编码的压缩命令详解
  • 【扩充位数三位变五位】2022-10-30
  • mysql导出csv中字段里有换行符的处理办法及hive导出处理办法
  • 【php反序列化字符串逃逸】
  • Go 面试题: new 和 make 是什么,差异在哪?
  • ADSL 代理 Proxy API 申请与使用指南
  • NLP技术突破:浅层与深层语义分析全解析
  • test隐藏能力
  • 5-ATSAM3X8-定时器