Autosar模块介绍:FEE(Flash模拟EEPROM)

news2024/12/24 4:20:55

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

Autosar模块介绍:FEE(Flash模拟EEPROM

  • 1 基本术语解释
  • 2 Ea组成结构图
  • 3 Ea基本操作
    • 3.1 通用操作
    • 3.2 作业的进程(通用需求)
    • 3.3 读操作过程
    • 3.4 写操作过程
    • 3.5 擦除过程
    • 3.6 比较过程
  • 4 Ea常用操作时序
    • 4.1 初始化
    • 4.2 读/写/擦除/比较
    • 4.3 当前操作取消

1 基本术语解释

编号缩写原文解释
1Data block——1. 一个数据块可能包含1…n个字节,并在EEPROM驱动程序的API中使用 2. 包含三个参数: 1. EEPROM偏移地址 2. 数据指针 3. 长度
2Data unit——EE中数据操作的最小实体(读、写与擦除可能存在不同) 例如(与硬件相关): Read: 1 byte Write: 2 bytes Erase: 4 bytes
3Normal mode——一次擦除的最小内存
4Burst mode——模拟EE
5EEPROM cell——EE抽象层
6EEPROM——内存抽象接口
9DMUData Management Unit
10SCUSystem Clock Unit

2 Ea组成结构图

3 Ea基本操作

3.1 通用操作

  • 为EEPROM定义了异步读、写、擦除以及比较服务
  • Eep模块不能缓冲作业,一次只能接受一个作业。在作业处理过程中,Eep模块不接受其他作业
  • Eep模块不能缓冲要读或写的数据,将通过API传递的指针引用的应用程序数据缓冲区

3.2 作业的进程(通用需求)

  • 如果EEPROM支持中断处理,则可以设置中断的处理方式,否则只能轮询的处理
  • 如果启用中断控制作业处理,中断服务例程(Eep_Irq.c)需要

3.3 读操作过程

  • 提供两种不同的操作模式: Normal Mode、Fast Mode
  • 如果外部EEPROM不支持Burst Mode,模块将会处理为Normal Mode
  • EepNormalReadBlockSize参数为Normal Mode单周期读取的字节数据长度,超过后会进行多次读取
  • EepFastReadBlockSize参数为Fast Mode单周期读取的字节数据长度,超过后会进行多次读取
  • 如果操作成功,将会将EEPROM的状态切换成IDLE,并将当前作业状态修改为OK。并且如果配置了通知函数,将会进入EepJobEndNotification
  • 当检测到错误时,将会忽略当前的操作,并且将EEPROM切换成IDLE,并将当前作业状态修改为Fail。且如果配置了通知函数,将会进入EepJobErrorNotification

3.4 写操作过程

  • Eep模块只能在一个作业处理周期内向EEPROM硬件写入(和擦除)多个字节
  • 对于内部EEPROM,可以写入单个字节。外部EEPROM可以在RAM中写入多个字节,然后写入EEPROM
  • 存在两个不同的操作模式:Normal Mode、Fast Mode
  • 如果外部EEPROM不支持Burst Mode,模块将会处理为Normal Mode
  • 通过参数EepNormalWriteBlockSize可配置正常模式下单个周期写入参数长度
  • 通过参数EepFastWriteBlockSize可配置快速模式下单个周期写入参数长度
  • 如果EEPROM硬件没有自动完成EEPROM单元,则Eep模块应在写入它之前擦除EEPROM单元
  • 如果要写入的字节数小于可擦除和/或可写的数据单元,则Eep模块应通过执行读-修改-写操作来保存受影响的EEPROM单元格的数据
  • 如果给定参数(电子地址和长度)与可擦除/可写数据单元不对齐,Eep模块应通过读修改-写操作保存受影响的EEPROM单元的数据
  • 通过EepJobEndNotification通知完成写操作,通过EepJobErrorNotification通知错误状态

3.5 擦除过程

  • Eep模块应仅在一个作业处理周期内擦除EEPROM硬件支持的EEPROM字节数
  • 如果EEPROM硬件支持,并且给定参数(可擦除块地址和长度)与可擦除块对齐,则Eep模块应使用块擦除命令
  • 如果给定的擦除参数(EEPROM地址和长度)与可擦除的数据单元不对齐,Eep模块应通过读-修改-写操作保存受影响的EEPROM单元的内容
  • 通过EepJobEndNotification通知完成擦除操作,通过EepJobErrorNotification通知错误状态

3.6 比较过程

通过EepJobEndNotification通知完成状态,若出现错误通过EepJobErrorNotification通知上层软件,结果不相等通过Eep_JobErrorNotification通知上层软件

4 Ea常用操作时序

4.1 初始化

4.2 读/写/擦除/比较

4.3 当前操作取消

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

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

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

相关文章

uniapp打包安卓app获取包名

uniapp打包安卓app获取包名的两种方式 1.uniapp云打包 这上面直接可以看到包名,可以修改,也可以在 manifest.json 文件中配置修改 package配置的就是包名,要确保唯一性 2.使用aapt工具获取 1.下载aapt工具,然后添加到环境变量…

汽车FMCW毫米波雷达信号处理流程(推荐---基础详细---清楚的讲解了雷达的过程---强烈推荐)

毫米波雷达在进行多目标检测时,TX发射一个Chirp,在不同距离下RX会接收到多个反射Chirp信号(仅以单个chirp为例)。 雷达通过接收不同物体的发射信号,并转为IF信号,利用傅里叶变换将产生一个具有不同的分离峰…

高端NEV | 地表最强纯电,极氪001 FR上市做到“技惊四座”了吗?

百万超跑赛道越来越“香”,本以为它是来“凑热闹”的,竟成「地表最强」? “友商们,五年内造不出来!”的极氪001 FR上市口号火速传遍全网。 ◎图源网络 上周,号称地表最强纯电“战士”极氪001 FR在北京举行…

修改/etc/fstab文件导致Linux无法正常启动

如果把 /etc/fstab 文件修改错了,也重启了,系统崩溃启动不了了,那该怎么办?比如: [rootlocalhost ~]# vi /etc/fstab UUIDc2ca6f57-b15c-43ea-bca0-f239083d8bd2 ext4 defaults 1 1 UUID0b23d315-33a7-48a4-bd37-9248…

hive里因为列名用了关键字导致建表失败

代码 现象 ParseException line 6:4 cannot recognize input near percent String COMMENT in column name or primary key or foreign key 23/11/13 11:52:57 ERROR org.apache.hadoop.hive.ql.Driver: FAILED: ParseException line 6:4 cannot recognize input near percent …

C++编程案例讲解-评委打分案例

评委打分案例 案例说明 案例说明 有5名选手,10个评委分别对每一名选手打分,去除最高分,去除最低分,取平均分 要求以下步骤: 创建5名选手,放到vector中遍历vector容器,取出来每一位选手&#x…

Python爬取天气数据及可视化分析!

天气预报我们每天都会关注,我们可以根据未来的天气增减衣物、安排出行,每天的气温、风速风向、相对湿度、空气质量等成为关注的焦点。 本次使用python中requests和BeautifulSoup库对中国天气网当天和未来14天的数据进行爬取,保存为csv文件&a…

你知道调试一个 Web 的 Android 应用有多麻烦吗

你知道调试一个 Web 的 Android 应用有多麻烦吗 我用的 uniapp 写的页面,全是坑,各种坑,生命周期不触发等。但由于已经做完大部分内容了,也不好换了。 我用的是 capacitor h5 > Android 的方式 我的调试过程是这样的&#…

【Proteus仿真】【51单片机】停车场车位管理系统

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真51单片机控制器,使用按键、LED、蜂鸣器、LCD1602、红外传感器、74HC595模块等。 主要功能: 系统运行后,LCD1602显示进入、驶出、剩余车位数&am…

如何提取信号的包络

包络提取 如何提取信号的包络。 创建双边带振幅调制信号。载波频率为 1 kHz。调制频率为 50 Hz。调制深度为 100%。采样率为 10 kHz。 t 0:1e-4:0.1; x (1cos(2*pi*50*t)).*cos(2*pi*1000*t);plot(t,x) xlim([0 0.04]) 使用 hilbert 函数提取包络。包络是由 hilbert 计算的…

c语言:解决数组元素右旋问题,时间复杂度O(N)

题目: 给一个数组,如【1,2,3,4,5,6,7】,k3。 要求得到新数组【5,6,7,1,2,3,4】。 方法一,思路和…

CPS:实现销售和广告的完美结合

随着互联网的快速发展,电商行业呈现出爆炸性的增长。在这个充满竞争的市场中,如何有效地吸引和引导消费者购买产品,成为电商企业成功的关键。而CPS(Cost Per Sales)作为一种创新的广告模式,正逐渐成为电商行…

cadence virtuoso layout 创建保护环 GuardRing

本文使用的是smic130nm工艺库 参考文章:基于IC617创建保护环GuardRing(一)_版图保护环的意义-CSDN博客 SP GuardRing 按O,M1_SUB columns5 画出版图 量出各图层之间的间距,比如: CT-CT 0.18 CT-AA 0.0…

十大跑步运动耳机品牌,适合运动时戴的蓝牙耳机有哪些?

​运动耳机不仅具备出色的音质和舒适度,还有着强大的防汗防水功能,可以满足你在运动中的各种需求。无论你是喜欢户外跑步,还是喜欢室内健身,运动耳机都能为你提供优秀的音乐动力,让你更加享受运动的过程。那么怎么去选…

自动生成Form表单提交在苹果浏览器中的注意事项

以下是本人在公司旧系统中看到的该段代码 function Post(URL, PARAMTERS) {//创建form表单var temp_form document.createElement("form");temp_form.action URL;//如需打开新窗口,form的target属性要设置为_blanktemp_form.target "_blank"…

Java: 实现电影信息管理系统 (javaBean)

文章目录 电影信息系统1. 将JavaBean数据类封装好2.业务逻辑类3.测试类(main函数类) 电影信息系统 需求: 展示系统中的全部电影(每部电影展示、名称、平分)。允许用户根据电影编号(id)查询出某…

火山引擎 DataLeap 计算治理自动化解决方案实践和思考

更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群 【导读】本文旨在探讨火山引擎 DataLeap 在处理计算治理过程中所面临的问题及其解决方案,并展示这些解决方案带来的实际收益。主要内容包括:…

使用 Electron 来替代本地调试线上代理的场景

Cookie Samesite 问题 https://developers.google.com/search/blog/2020/01/get-ready-for-new-samesitenone-secure?hlzh-cnhttps://www.chromium.org/updates/same-site/https://github.com/GoogleChromeLabs/samesite-exampleshttps://releases.electronjs.org/releases/s…

Labview实现wav音乐播放

准备音频文件:将要播放的声音文件准备好,是.wav格式。 图形化如下: 内部逻辑如下:

名师助阵龙讯旷腾PWmat+半导体缺陷培训暨半导体缺陷计算大赛

半导体缺陷计算大赛 选拔赛截止日期:11月23日 参与杭州线下培训直接跳过选拔赛 大赛亮点 线上免费培训、线下限时领取免费名额 线下杭州培训可直通决赛,跳过选拔赛 线上培训有3次机会参与考试进入决赛 已购/未购用户均可参加、无身份限定 使用Mc…