Autosar模块介绍:Memory_4(EA-EE抽象)

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

Autosar模块介绍:Memory_4(EA-EE抽象

  • 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/141027.html

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

相关文章

如何搞垮一个测试团队?

要想彻底搞垮一个测试团队并非易事,需要多角色通力配合、多方联动、综合施策,才能达到目的。 本文从实践经验出发,为大家总结了搞垮测试团队的18项措施,或许可以给大家带来一些启发。 — 1 — QA QA作为质量管理者,…

轻量封装WebGPU渲染系统示例<29>- 深度模糊DepthBlur(源码)

当前示例源码github地址: https://github.com/vilyLei/voxwebgpu/blob/feature/rendering/src/voxgpu/sample/DepthBlur.ts 当前示例运行效果: 此示例基于此渲染系统实现,当前示例TypeScript源码如下: const blurRTTTex0 { diffuse: { uuid: "rtt0", …

【vue】虚拟dom的原理是什么?手写实现虚拟dom !

1.虚拟dom的原理 虚拟 DOM 是对 DOM 的抽象,本质上就是用 JavaScript 对象来描述 DOM 结构。Vue.js 中关于虚拟 DOM 的实现主要进行了以下几个步骤: 1.生成虚拟 DOM: Vue.js 使用 render 函数来依据模板代码生成虚拟 DOM。在这个过程中&a…

【Java 进阶篇】JQuery DOM操作:Class属性的舞蹈魔法

在前端的世界中,JQuery如同一位舞者,通过灵活的舞步为我们展示了操纵HTML元素的艺术。而在这场舞蹈的精彩演出中,Class属性的操作是一项极富魅力的技艺。在本篇博客中,我们将深入研究JQuery DOM操作中的Class属性操作,…

gradle 使用记录

gradle 使用记录 下载与设置android studio 配置 参考 IDEA如何配置 Gradle 及 Gradle 安装过程(详细版) 设置Gradle国内镜像并配置本地仓库地址 下载与设置 腾讯镜像下载 比如gradle-8.4-bin.zip 新建环境变量 GRADLE_HOME 为 D:\java\gradle &#…

【深圳1024开发者城市聚会】主理人视角的聚会现场,一起来看看有啥不一样的东西

【深圳1024开发者城市聚会】主理人视角的聚会现场,一起来看看有啥不一样的东西 今年的1024,我们在深圳,玩点不一样的… 文章目录 1 活动背景2 活动宣传3 活动准备4 活动现场布置会场会场引导签到深圳站视频展播前半程议题分分享简单茶歇后半场…

【HttpRunnerManager】搭建接口自动化测试平台实战

一、需要准备的知识点 1. linux: 安装 python3、nginx 安装和配置、mysql 安装和配置 2. python: django 配置、uwsgi 配置 二、我搭建的环境 1. Centos7 (配置 rabbitmq、mysql 、Supervisord) 2. python 3.6.8 (配置 django、uwsgi&am…

力扣双周赛 -- 117(容斥原理专场)

class Solution { public:long long c2(long long n){return n > 1? n * (n - 1) / 2 : 0;}long long distributeCandies(int n, int limit) {return c2(n 2) - 3 * c2(n - limit 1) 3 * c2(n - 2 * limit) - c2(n - 3 * limit - 1);} };

死锁(JAVA)

死锁在多线程代码中是非常严重的BUG,一旦代码中出现死锁就会导致线程卡死。 当单个线程连续两次对同一个对象进行加锁操作时,如果该锁是不可重入锁就会发生死锁(线程卡死) 两个线程两把锁,如果出现这种情况也是会发生…

基于Python+Django的寻人失物失物招领系统

运行环境 开发语言:Python python框架:django 软件版本:python3.7 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:PyCharm/vscode 前端框架:vue.js 项目介绍 寻人失物失物招领系统交流平台的主要使用…

尝试使用php给pdf添加水印

在开发中增加pdf水印的功能是很常见的,经过实验发现这中间还是会有很多问题的。第一种模式,采用生成图片的方式把需要添加的内容保存成图片,再将图片加到pdf中间,这种方法略麻烦一些,不过可以解决中文乱码的问题&#…

pip如何切换至国内镜像

目录 前言一、pip介绍二、超时问题三、切换至国内镜像源1.操作环境2.切换国内镜像 四、国内pip镜像源总结 前言 大家好,我是🐌蜗牛老师。今天讲在 Python 编程学习或开发中遇到的一个小问题,又是我们经常会遇到的一个问题。那就是切换镜像&a…

一文带你深入浅出Web的自动化测试工具Selenium【建议收藏】

文章目录 前言第01节 Selenium概述第02节 安装浏览器驱动(以Google为例)第03节 定位页面元素1. 打开指定页面2. id 定位3. name 定位4. class 定位5. tag 定位6. xpath 定位7. css 选择器8. link 定位9. 示例 有道翻译 第04节 浏览器控制1. 修改浏览器窗…

CTFhub-RCE-读取源代码

源代码&#xff1a; <?php error_reporting(E_ALL); if (isset($_GET[file])) { if ( substr($_GET["file"], 0, 6) "php://" ) { include($_GET["file"]); } else { echo "Hacker!!!"; } } else {…

DALLE 2 文生图模型实践指南

前言&#xff1a;最近在运行dalle2模型进行推断&#xff0c;本篇博客记录相关资料。 相关博客&#xff1a;超详细&#xff01;DALL E 文生图模型实践指南 目录 1. 环境搭建和预训练模型准备环境搭建预训练模型下载 2. 代码3. BUG&DEBUGURLErrorRuntimeErrorCUDA error 1. …

基于鸡群算法优化概率神经网络PNN的分类预测 - 附代码

基于鸡群算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于鸡群算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于鸡群优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要&#xff1a;针对PNN神经网络的光滑…

Python高级语法----Python多线程与多进程

文章目录 多线程多进程注意事项多线程与多进程是提高程序性能的两种常见方法。在深入代码之前,让我们先用一个简单的比喻来理解它们。 想象你在一家餐厅里工作。如果你是一个服务员,同时负责多个桌子的顾客,这就类似于“多线程”——同一个人(程序)同时进行多项任务(线程…

在虚拟环境下安装python包

PyCharm可以自己给项目创建虚拟环境&#xff0c;示例如下&#xff1a; 首先通过File—>Setting—>Project&#xff1a;【项目名称】—>Project Interpreter—>设置—>add—>Virtuallenv Environment配置虚拟环境即可 添加解释器&#xff1a; 当创建虚拟环…

Android Glide transform圆形图CircleCrop动态代码描边绘制外框线并rotateImage旋转,Kotlin

Android Glide transform圆形图CircleCrop动态代码描边绘制外框线并rotateImage旋转&#xff0c;Kotlin <?xml version"1.0" encoding"utf-8"?> <FrameLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:app&q…

【每日一题】区域和检索 - 数组可修改

文章目录 Tag题目来源解题思路方法一&#xff1a;分块方法二&#xff1a;线段树方法三&#xff1a;树状数组 写在最后 Tag 【树状数组】【线段树】【分块】【前缀和】【设计类】【2023-11-13】 题目来源 307. 区域和检索 - 数组可修改 解题思路 使用前缀和解决不行吗&#x…