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

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

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 当前操作取消

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot日志全方位超详细手把手教程,零基础可学习 日志如何配置及SLF4J的使用......

🧸欢迎来到dream_ready的博客,📜相信您对这篇博客也感兴趣o (ˉ▽ˉ;) 📜SpringIOC和DI的代码实现,Spring如何存取对象?Controller、Service、Repository、Component、Configuration、Bean DI详…

【沐风老师】3dMax使用克隆修改器插件创建旋转楼梯教程

3DMAX克隆修改器插件,它通过增量平移、旋转和缩放输入几何体来创建对象的副本。在某些方面,它类似于 3dMax 的内置“阵列”工具,但有一个主要优点 -克隆修改器是完全参数化的,因此您可以随时更改重复项的数量及其分布。其他功能包…

LeetCode-剑指 Offer 22. 链表中倒数第k个节点(C语言 )

目录捏 一、题目描述二、示例与提示三、思路四、代码 一、题目描述 给定一个头节点为 head 的链表用于记录一系列核心肌群训练项目编号,请查找并返回倒数第 cnt 个训练项目编号。 二、示例与提示 示例 1: 输入: head [2,4,7,8], cnt 1 输…

北大Cobot V4.3换新登场

库博SAST V4.3焕然一新,重装上市。作为国内最早的研究并成功开发SAST产品的团队,北大软件下属与北京大学国家工程与软件工程研究中心组成的库博团队,从2012年就起步研发静态应用安全测试产品—Cobot。历经10余年迭代升级,目前已经…

JAVA数据代码示例

首先,我们需要导入一些必要的Java库 java import java.net.URL; import java.net.HttpURLConnection; import java.io.BufferedReader; import java.io.InputStreamReader; 然后,我们可以创建一个URL对象,表示我们要爬取的网页的URL。 jav…

Linux安装微信

Linux安装微信 环境:ubuntu 20.04 https://archive.ubuntukylin.com/ubuntukylin/pool/partner/weixin_2.1.4_amd64.deb sudo dpkg -i weixin_2.1.4_amd64.deb完成 参考文章

uniapp h5发行

前端使用uniapp开发项目完成后,需要将页面打包,生成H5的静态文件,部署在服务器上。 这样通过服务器链接地址,直接可以在手机上点开来访问。 打包全步骤如下: 首先在manifest.json文件中进行基础配置,获取…

银行数据中心机房动力环境监控系统设计与优化

安科瑞电气股份有限公司 上海嘉定201801 摘要:结合银行数据中心建设项目,设计银行数据中心机房动力环境监控系统,分析银行数据中心机房监控对象、搭建系统监控架构,给出监控实现方法,*后针对运行一段时间出现的问题&a…

优雅的Java编程:将接口对象作为方法参数

theme: smartblue 目录 概述 在Java编程中,方法的参数传递方式通常是通过基本类型、对象引用或者集合等方式。然而,一种更加优雅且灵活的设计模式是将接口对象作为方法的参数。这种方式为我们带来了许多好处,包括降低耦合性、实现多态性和可…

极智芯 | GPU架构与计算能力

欢迎关注我的公众号 [极智视界],获取我的更多经验分享 大家好,我是极智视界,本文分享一下 GPU架构与计算能力。 邀您加入我的知识星球「极智视界」,星球内有超多好玩的项目实战源码和资源下载,链接:https:…

【.汇编语言基础入门】—— 汇编的基础介绍

文章目录 一、机器语言二、汇编语言三、CPU 与 CPU 内存1、CPU 对存储器的读写 四、CPU 的典型构成1、寄存器2、通用寄存器3、物理地址的计算方法4、CS5、DS6、SS SP 一、机器语言 在学习汇编语言之前,我们应该先了解一下什么是机器语言。机器语言是机器指令的集合&…

索引下推(ICP)是什么意思?如何理解?

目录 1. 索引下推概述 2. 索引下推举例 3. ICP 的主要作用 1. 索引下推概述 ICP 全称 Index Condition Pushdown,是MySQL5.6之后的一个新特性,它是一种在存储引擎层使用索引过滤数据的一种优化方式。 2. 索引下推举例 下面是数据库的一张 employee…

色彩与心情:浴室的宁静氛围

创造宁静氛围 在浴室中,我们可以找到一片宁静的天地,让我们远离繁忙的日常生活,所以考虑一些舒缓并有助于提升幸福感的颜色。这包括从明亮和中等色调的绿色,到淡粉色和温馨的白色。 追求宁静与平静 浴室不再仅仅是日常卫生的地…

思维导图软件 Xmind mac中文版软件特点

XMind mac是一款思维导图软件,可以帮助用户创建各种类型的思维导图和概念图。 XMind mac软件特点 - 多样化的导图类型:XMind提供了多种类型的导图,如鱼骨图、树形图、机构图等,可以满足不同用户的需求。 - 强大的功能和工具&#…

leetcode:876. 链表的中间结点

一、题目 函数原型: struct ListNode* middleNode(struct ListNode* head) 二、思路 要找到链表的中间结点,有两种思路: 暴力解法:先遍历一遍链表,计算出链表的长度,再次遍历链表,找到中间结点。…

【正点原子STM32连载】 第五十一章 汉字显示实验 摘自【正点原子】APM32F407最小系统板使用指南

1)实验平台:正点原子stm32f103战舰开发板V4 2)平台购买地址:https://detail.tmall.com/item.htm?id609294757420 3)全套实验源码手册视频下载地址: http://www.openedv.com/thread-340252-1-1.html## 第五…

手把手教你数据流图如何画,轻松搞定!

数据流图是一种强大的工具,用于可视化和分析系统中的数据流动和处理过程。它不仅能够帮助我们更好地理解系统的功能和流程,还能够帮助我们发现和解决潜在的问题。在本篇文章中,我们将手把手教你掌握数据流图。 一、数据流图的概念和构成元素 …

稀疏数组如何帮助我们节省内存,提升性能

本文由葡萄城技术团队发布。转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。 什么是稀疏矩阵 稀疏矩阵是指矩阵中大部分元素为零的矩阵。在实际应用中,很多矩阵都是稀疏的&#xff0c…

线性回归预测波士顿房价 loss为NAN原因 画散点图找特征与标签的关系

波士顿房价csv文件 链接: https://pan.baidu.com/s/1uz6oKs7IeEzHdJkfrpiayg?pwdvufb 提取码: vufb代码 %matplotlib inline import random import torch import matplotlib.pyplot as plt import numpy as np import pandas as pd import torch从CSV中取出数据集 # 加载数…

SAP ABAP列表格式及表格输出

REPORT YTEST001. DATA wa LIKE spfli. WRITE: /. WRITE: 10航班承运人,40航班连接,60国家代码,80起飞城市,100起飞机场. SELECT * INTO wa FROM spfli.WRITE: / wa-carrid UNDER 航班承运人,wa-connid UNDER 航班连接,wa-countryfr UNDER 国家代码,wa-cityfrom UNDER 起飞城市…