Autosar模块介绍:Memory_5(FEE-Flash模拟EE)

news2024/11/20 12:18:19

上一篇 | 返回主目录 | 下一篇

Autosar模块介绍:Memory_5(FEE-Flash模拟EE

  • 1 基本术语解释
  • 2 Fee组成结构图
  • 3 Fee基本操作
    • 3.1 寻址方式和段划分
    • 3.2 地址计算
    • 3.3 擦除循环限制
    • 3.4 处理立即数据
    • 3.5 管理块的正确信息
  • 4 Fee常用操作时序
    • 4.1 Fee_Init
    • 4.2 Fee_SetMode
    • 4.3 Fee_Write
    • 4.4 Fee_Cancel

1 基本术语解释

编号缩写原文解释
1EAEEPROM AbstractionEE抽象
2EEPROMElectrically Erasable and Programmable ROM (Read Only Memory)电可擦除式ROM
3FEEFlash EEPROM EmulationFlash模拟EEPROM
4(Logical) block——逻辑块
5Virtual page——虚拟页
6Internal residue——内部残余(为对齐而进行插入的地址)
9Virtual address——虚拟地址(16位块编号,16位块偏移)
10Physical address——物理地址(用于访问逻辑块的设备特定格式(取决于底层EEPROM驱动程序和设备)的地址信息)
11Dataset——数据集
12Redundant copy——冗余数据(数据备份,可用于恢复)

2 Fee组成结构图

3 Fee基本操作

3.1 寻址方式和段划分

FEE提供了一个32位的虚拟地址和均匀的地址划分方式,包括两个参数:

  • 16位块编号:提供65536个逻辑块
  • 16位块偏移:提供64K的逻辑块大小

16位块编号代表了一个虚拟的分页机制,地址对齐可源于底层flash。虚拟页大小可通过参数FeeVirtualPageSize进行配置(必须为物理页的整数倍)

#注意事项:

  • 逻辑块编号和块编号差异
  • 块偏移为逻辑块偏移的虚拟块个数(1,5,17)
  • 通过虚拟页大小以及偏移地址可以计算出物理首地址

  • Fee模块配置虚拟页大小必须为物理页大小的整数倍
  • 逻辑块不能相互重叠,也不能相互包含
  • 0x0000、0xFFFF不能配置为逻辑块编号

3.2 地址计算

  • 根据FEE模块的实现和所使用的确切地址格式,FEE模块的功能应结合16位块号和16位地址偏移量,以获得底层flash驱动程序所需的物理flash地址
  • NVM_DATASET_SELECTION_BITS可用于配置冗余数据、数据集的地址计算


将Block Number中4Bit用于数据集编号,则最多可表示16个数据集

3.3 擦除循环限制

  • FeeNumberOfWriteCycles用于定义预期的写入/擦除循环数(使用寿命)
  • 如果底层闪存设备或设备驱动程序没有提供每个物理存储单元至少配置的擦除/写周期数,则FEE模块应提供扩展写访问的机制,使物理设备不会过载。这也应适用于FEE模块内部使用的所有管理数据


逻辑块号1被配置为预期的500.000个写周期,底层的闪存设备和设备驱动程序仅被指定为100.000个擦除周期。在这种情况下,FEE模块必须提供(至少)5个单独的存储区域,并在这些区域之间交替访问,以便每个物理存储位置仅在指定的100.000个周期中最大被擦除

3.4 处理立即数据

  • 包含即时数据的块必须立即写入,即FEE模块必须确保它可以写入这样的块而不需要擦除相应的内存区域(例如通过使用预擦除的内存),并且写入请求不会因为当前运行的模块内部管理操作而延迟

#注意事项

  • 在写入即时数据之前,NVRAM经理应取消持续的较低优先级的读取/擦除/写入或比较作业。FEE模块只需要确保此写请求可以立即执行
  • 在Flash已经开始的操作(例如写入页、擦除扇区)不能中止。因此,即使对于即时数据,硬件的操作延时必须接收(最大值)

3.5 管理块的正确信息

  • FEE模块应管理该模块是否正确(即“未损坏”)。此信息应只涉及块的内部处理,而不涉及块的内容
  • 当块写入操作启动时,FEE模块应将相应的块标记为“已占用”
  • 块写入操作成功结束后,块应标记为“未占用”(corrupted)

4 Fee常用操作时序

4.1 Fee_Init

4.2 Fee_SetMode

4.3 Fee_Write

4.4 Fee_Cancel

上一篇 | 返回主目录 | 下一篇

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1204043.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何在OpenWrt上部署uhttpd搭建web服务器,并实现公网远程访问

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

【Python 算法】双向迪杰斯特拉算法 Python实现

双向迪杰斯特拉算法Python实现 文章目录 双向迪杰斯特拉算法Python实现简介双向迪杰斯特拉算法优势局限性算法的基本步骤终止条件 基本步骤伪代码Python 实现 简介 双向迪杰斯特拉算法(Bi Directional Dijkstra Algorithm)是一种用于在加权图中查找两个…

6 Spring循环依赖

什么是循环依赖? // A依赖了B class A{ public B b; } // B依赖了A class B{ public A a; } 如果不考虑Spring,循环依赖并不是问题,因为对象之间相互依赖是很正常的事情 A a new A(); B b new B(); a.b b; b.a a; 这样,A&a…

初认识vue,v-for,v-if,v-bind,v-model,v-html等指令

vue 一.vue3介绍 1.为什么data是函数而不是对象? 因为vue是组件开发,组件会多次复用,data如果是对象,多次复用是共享,必须函数返回一个新的对象 1. 官网初识 Vue (发音为 /vjuː/,类似 view) 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS …

stm32控制舵机sg90

一、sg90简介 首先介绍说一下什么是舵机。舵机是一种位置(角度)伺服的驱动器。适用于一些需要角度不断变化的,可以保持的控制系统。sg90就是舵机的一种。 舵机的工作原理比较简单。舵机内部有一个基准电压,单片机产生的PWM信号通…

postswigger 靶场(CSRF)攻略-- 3.令牌验证

靶场地址: https://portswigger.net/web-security/csrf 令牌(token) 验证取决于令牌(token) 的存在 题目中已告知易受攻击的是电子邮件的更改功能,而目标是利用 csrf 漏洞更改受害者的电子邮件地址,最后给出了登录凭据:wiener:pet…

接口优化技巧,确实很优雅

针对疫情影响企业收入资源短缺一些老项目,做了许多降本增效的事情,其中发现最多的就是接口耗时过长的问题,就集中搞了一次接口性能优化。 二、接口优化方案执行 1、批处理 批量思想:批量操作数据库,项目往往有需要批量插入操作,比如商品,品格,价格等,可以在批处理执…

计算机毕业设计 基于Vue篮球联盟管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

YOLO的bounding boxes

YOLO使用了 77 网格 (SS)、2 个bounding boxes (B2) 和 20 个类别 ©。 1.YOLO将输入的图片resize成448 x 448,并且为 S x S(S 7)个grid,如果物体的中心落入该grid中,那么该grid就需要负责检测该物体。 2.对于每…

行业寒冬下,给软件测试工程师or功能测试的一些建议

​行业寒冬下,给软件测试工程师的一些建议 【文章末尾给大家留下了大量的福利】 国内的互联网行业发展较快,所以造成了技术研发类员工工作强度比较大,同时技术的快速更新又需要员工不断的学习新的技术。因此淘汰率也比较高,超过…

No191.精选前端面试题,享受每天的挑战和学习

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…

时钟丢失监控机制

文章目录 前言一、分析芯片手册1、6.2.4 Clock monitoring2、28.1.5 System clock and clock monitor requirement3、分析寄存器1) SCG_SOSCCSR[SOSCCM]2) SCG_SOSCCSR[SOSCCMRE] 二、EB配置1、检查复位源2、配置时钟监控 三、结果验证总结 前言 本文章主要基于恩智浦 S32K14x…

【代码随想录】算法训练计划20

1、654. 最大二叉树 题目: 给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点,其值为 nums 中的最大值。 递归地在最大值 左边 的 子数组前缀上 构建左子树。 递归地在最大值 右边 的 子数组后缀上 构建…

LEEDCODE 75颜色分类

耍赖皮写法 嘻嘻 class Solution { public:void sortColors(vector<int>& nums) {int count1 0;int count2 0;int count3 0;for(int i 0; i<nums.size(); i){if(nums[i] 0)count1 1;else if(nums[i] 1)count2 1;else count3 1;}for(int i 0; i<nu…

如何使用内网穿透实现远程公网访问windows node.js的服务端

使用Nodejs搭建简单的web网页并实现公网访问 前言 Node.js是建立在谷歌Chrome的JavaScript引擎(V8引擎)的Web应用程序框架。 Node.js自带运行时环境可在Javascript脚本的基础上可以解释和执行(这类似于JVM的Java字节码)。这个运行时允许在浏览器以外的任何机器上执行JavaScri…

达索系统3DEXPERIENCE WORKS 2024流体仿真功能增强

设计工作中&#xff0c;网格划分和设计验证十分重要&#xff0c;它可以方便我们把复杂组件简单化处理&#xff0c;从而提升工作效率。 轻松应对&#xff0c;精准划分 在优化设计以获得更好的空气动力学性能时&#xff0c;需要了解空气在其周围产生的流动方式。达索系统3DEXPE…

真心建议测试工程师学完Pytest框架实战,跳槽必备,学完能涨薪5k

【文章末尾给大家留下了大量的福利】 应用场景&#xff1a; pytest 框架可以解决我们多个测试脚本一起执行的问题。 它提供了测试用例的详细失败信息&#xff0c;使得开发者可以快速准确地改正问题。它兼容最新版本的 Python。它还兼容 unittest、doctest 和 nose&#xff0…

【03】Istio Gateway示例配置

3.1 开放kiali至集群外部 首先将istio-inressateway暴露集群外部; 在node02的ens33网卡上面有多余的ip地址&#xff0c;将该地址绑定在igressgateway的svc 上面。 kubectl edit svc istio-ingressgateway -n istio-system定义kiali的ingress gateway的资源配置清单 apiVersion:…

JavaEE进阶学习:Spring核心和设计思想

Spring 是什么 我们通常所说的 Spring 指的是 Spring Framework&#xff08;Spring 框架&#xff09;&#xff0c;它是⼀个开源框架&#xff0c;有着活跃而庞大的社区&#xff0c;这就是它之所以能长久不衰的原因。Spring 支持广泛的应用场景&#xff0c;它可以让 Java 企业级…