珠海建设网站的公司/seo日常优化内容是什么
NVRAM(NvM)提供了在NVRAM中存储数据Block的机制。
NVRAM Block(最大大小取决于配置)被分配给Dem,并由Dem实现事件状态信息和相关数据的永久存储(例如通电复位)。
ECU 状态管理器(EcuM)负责基本软件组件(包括Dem)的基本初始化和解除初始化。
Dem调用**NvM_SetRamBlockStatus()来设置要由NvM_WriteAll()**写入的NvM Block。
如果需要在Dem_Init和Dem_Shutdown之间存储数据,Dem模块应使用API NvM_WriteBlock和NVRAMManager的NvM_GetErrorStatus,
此外,如果块写入成功完成,API NvM_GetErrorStatus应等待肯定响应。
7.3.4 故障的目的地:
配置参数DemMemoryDestinationRef(请参阅DemDTCAttributes)定义事件及其相关数据的专用存储位置(请参阅第7.6.7章)。
“permanent event memory”分配是从相关DTC类型中隐式得出的(参考第7.4.1章)。排放相关事件自动分配给permanent event memory,因为将事件存储为“permanent DTC”是从其当前状态中动态得出的(第7.8.5.8章描述了处理)。在这种情况下,术语“permanent”与排放相关事件的属性相关,而不仅仅与通过NvM进行的持久性存储相关,无论如何,对于每种事件存储器类型都是如此。
不同内存类型的定义和使用取决于OEM。
对于Dcm-Dem接口,参数DTCOrigin用于区分不同的存储区域。其目的是允许对不同的内存区域(primary, user defined, permanent and mirror memory)进行特定操作。
DemMemoryDestinationRef的限制:
如果DemMirrorMemory配置为DemMemoryDestinationRef,则DemPrimaryMemory或DemUserDefinedMemory的同一事件上的另一个DemMemoryDistinationRef应配置为先决条件。
如果一个不是DemMirrorMemory,则不应将同一事件配置为两个目的地。
7.6.2.2 清除故障存储 Clearing event memory entries
Dem模块的 event memory entries可以通过各种诊断服务清除DTC。
(例如,服务0x14 ClearDiagnosticInformation或服务$04清除/重置排放相关诊断信息)。
因此,Dem为不同的用户提供了不同的API:
Dem_ClearDTC (to CDDs 复杂驱动)
Dem_DcmClearDTC(Dcm中的UDS服务 0x14服务)
Dem_SetClearDTC(OBD)
Dem_J1939DcmClearDTC(J1939Dcm)
如果请求Dem模块清除诊断信息,并且配置参数DemClearDTCBehavior设置为Dem_CLRRESP_NONFOLATILE_FINISH,则Dem模块在清除易失性存储器和非易失性内存后应返回DEM_CLEAR_OK。
注:Dem实现负责持久数据的一致性。
(请参阅SWS_NvM_00698:当NvM处理作业时,传递给NvM_WriteBlock的RAM缓冲区的内容可能不会更改)。如何确保数据一致性(UDS状态字节、冻结帧数据和所有其他相关信息)是特定于实施的(取决于实施的NvM策略)。
选项包括但不限于额外的RAM镜像和更改排队,直到可以再次修改RAM区域。
注意:如果Dcm模块接收到API DEM_DcmClearDTC的返回类型DEM_CLEAR_OK,则Dcm模块发送肯定响应。
7.10.5 Interaction with NVRAM Manager (NvM) 和NvM的交互
通常,Dem模块使用非易失性存储器块(可由NVRAM管理器配置大小)来实现事件状态信息、事件相关数据和所需内部状态(例如,启动时检索状态)的永久存储。
还需要配置Dem中使用的每个非易失性内存块(请参阅DemNvRamBlockId)。未规定所使用的非易失性存储块的数量、类型和内容。这些应针对具体实施进行处理。
NvM的使用也可以通过配置停用(参考Dem-NvRamBlockId的多重性),这样Dem将仅基于RAM工作。
Dem模块应验证其非易失性块的有效性(与块状态相关)、完整性(与CRC结果相关)和一般NvM读取错误(在使用相应数据之前)。
通常在API Dem_Init(参考第8.3.2.2章)中使用这些块的NvM_GetErrorStatus进行验证,这些块由ECUM读取(参考API NvM_ReadAll)。
注:对于Dem模块的非易失性数据,建议在NvM中配置CRC。
如果NVM模块无法读取Dem模块的一些非易失性数据,Dem模块应使用其初始值初始化所有非易失数据。
注意:为了避免可读块和错误块之间的不一致,所有非易失性数据都被初始化。
完成初始化以允许NvM模块的故障检测机制向Dem模块报告相应的读取错误(请参阅Dem_ReportErrorStatus)。这些错误表示NVRAM有缺陷。
API Dem_Init完成后,Dem应完全运行。
Dem模块应为每个DTC提供配置参数DemImmediateNvStorage(参考DemDTCAttributes),以立即触发相应事件存储器条目的存储,包括其在非易失性存储器中的事件相关数据(参考NvM_WriteBlock)。
如果为特定DTC启用了即时非易失性存储,则Dem模块应在每次更改事件相关数据(事件存储器条目已更新)后触发新事件存储器条目的存储。
注意:对于立即存储的事件存储器条目,必须确保Dem_Init期间的数据一致性(例如与事件状态字节)。
**注:**如果立即非易失性存储被禁用,则事件存储器条目及其事件相关数据将在下电阶段永久存储(参见[SSWS_dm_0002]、[SSWS_DM_00341]和以下注释)。
如果针对特定DTC启用了立即非易失性存储,如果Dem模块的发生计数器已达到配置参数DemImmediateNvStorageLimit(参考DemGeneral)定义的阈值,则Dem模块不应为该DTC触发对NVRAM的进一步立即写入操作。
注意:在任何情况下,ECU下电时都会执行对NVRAM的写入操作。
API Dem_Shutdown应完成Dem模块中的所有未决操作,以准备内部状态和数据,以便传输至NVRAM。
在调用API Dem_Init之前,应锁定事件存储器,不得修改。对于更改的非易失性数据,Dem模块应在Dem_Shutdown之前或期间触发NVRAM存储。
基于Dem配置和实现,将在Dem_Shutdown之后存储的Dem相关NvMblock复制到NVRAM的过程由ECUM调用的API NvM_WriteAll执行。
如果在NvM完成将所有数据复制到NVRAM之前断开ECU电源,则这些数据将不完整/不一致或未存储。下次启动时,无法再找到上一个操作周期的事件。
因此,NVRAM管理器配置提供了数据一致性机制,如冗余数据块。
如果需要在Dem_Init和Dem_Shutdown之间存储和恢复数据,Dem模块应使用NVRAM管理器的API NvM_WriteBlock和NvM_ReadBlock。
注意:NvM模块实现了块读写的重试机制。因此,Dem模块不为其非易失性块实现任何重试机制。
如果NVM模块无法写入Dem模块的(某些)非易失性数据,则Dem模块应忽略NVM报告的负返回值。
注:如果非易失性Dem数据写入失败,则Dem模块无法执行任何适当的反应。
相关文章:

Dem和NvM(NVRAM Manager)的交集
NVRAM(NvM)提供了在NVRAM中存储数据Block的机制。 NVRAM Block(最大大小取决于配置)被分配给Dem,并由Dem实现事件状态信息和相关数据的永久存储(例如通电复位)。 ECU 状态管理器(Ec…...

AI神经网络CNN/RNN/DNN/SNN的区别对比
@版权声明: 本文由 ChatGpt 创作; BiliBili: https://www.bilibili.com/video/BV17D4y1P7pM/?share_source=copy_web&vd_source=6d217e0ff6387a749dc570aba51d36fd 引言 随着人工智能技术的发展,神经网络作为人工智能的核心技术之一,被广泛应用于图像识别、语音识别、…...

【JavaWeb】一文学会JPA
✅✅作者主页:🔗孙不坚1208的博客 🔥🔥精选专栏:🔗JavaWeb从入门到精通(持续更新中) 📋📋 本文摘要:本篇文章主要介绍JPA的概念、注解实现ORM规范…...

【安卓逆向】APK修改与反编译回编译
【安卓逆向】反编译修改APK回编译使用工具流程步骤Apktool相关安装与使用常用命令备查APK签名命令备查实战练习反编译查看修改的地方使用Apktool反编译得到产物文件夹并进行修改回编APK实用场景在日常开发我们可能需要替换某些资源或者修改某些代码,但是我们没有源码…...

【计组笔记04】计算机组成原理之多模块存储器、Cache高速缓存存储器、Cache地址映射
这篇文章,主要介绍计算机组成原理之多模块存储器、Cache高速缓存存储器、Cache地址映射。 目录 一、双口RAM和多模块存储器 1.1、存取周期 1.2、双口RAM 1.3、多模块存储器...

英语基础-状语的应用
1. 非谓语动词作状语 1. 试着翻译下列句子 当他是一个小孩子的时候,他很喜欢玩电脑游戏。 When he was a child, he liked playing computer games. 如果他通过考试,他妈妈就会给他买一台新电脑。 If he passes the examination, his mother will b…...

发表论文需要注意的两点(建议收藏)
在学习人工智能的过程中,论文有着重要的作用,无论是深入学术科研,还是毕业找工作,都离不开发表论文这一步骤,所以今天就和大家分享一些关于论文发表的经验,希望对大家有所帮助。 为什么要早点发表论文&…...

ISTQB-TM-大纲
1. 测试过程 1.1 简介 在 ISTQB 软件测试基础级认证大纲中已描述了基本的测试过程包括以下活动: 计划和控制分析和设计实施和执行评估出口准则和报告测试结束活动 基础级大纲认同这些活动虽然有逻辑顺序,但过程中的某些活动可能重叠,或并行…...

Java SPI 机制详解
在面向对象的设计原则中,一般推荐模块之间基于接口编程,通常情况下调用方模块是不会感知到被调用方模块的内部具体实现。一旦代码里面涉及具体实现类,就违反了开闭原则。如果需要替换一种实现,就需要修改代码。 为了实现在模块装…...

腾讯前端经典react面试题(附答案)
React 性能优化在哪个生命周期?它优化的原理是什么? react的父级组件的render函数重新渲染会引起子组件的render方法的重新渲染。但是,有的时候子组件的接受父组件的数据没有变动。子组件render的执行会影响性能,这时就可以使用s…...

Go语言基础(十五):垃圾回收机制(三色标记)
文章目录一、标记清除(三色标记)大致原理1、标记细节2、root对象二、垃圾回收触发机制垃圾回收(Garbage Collection),是一种自动管理内存的机制。传统编程语言(如C/C)需要开发者对无用内存资源进…...

一文了解build.gradle配置
Gradle 参考官方文档:https://developer.android.com/studio/build?hlzh-cn#groovy settings.gradle 存放于项目根目录下,此设置文件会定义项目级代码库设置,并告知 Gradle 在构建应用时应将哪些模块包含在内 接下来将以一个简单的 settin…...

【Redis 高级】- 持久化 - RDB
【Redis 高级】- 持久化 - RDB 👑什么是持久化呢? 那当然是够持久呀,这个持久如果在你不主动去删除的情况下,它就一直存在的。 🎷那么这有什么用呢? 举个栗子:我们在用 PowerPoint 在写价值 …...

SpringSecurity的安全认证的详解说明(附完整代码)
SpringSecurity登录认证和请求过滤器以及安全配置详解说明 环境 系统环境:win10 Maven环境:apache-maven-3.8.6 JDK版本:1.8 SpringBoot版本:2.7.8 根据用户名密码登录 根据用户名和密码登录,登录成功后返回Token数据…...

详解制造业业务数据模型
业务数据在企业数字化转型或单体应用的开发中都是至关重要的。站在跨业务跨部门的企业数字化转型角度,离不开业务架构的设计,详细的业务领域和业务数据模型是后续应用架构和数据架构的必要输入。站在单部门单场景的信息化角度,应用程序的需求…...

BigDecimal使用注意避坑
目录一. BigDecimal的初始化精度丢失问题二. BigDecimal在进行除法运算时需设置精度,否则对于除不尽的情况会抛出异常三. 不要使用BigDecimal的equals方法比较大小, 否则可能会因为精度问题导致比较结果和预期的不一致在java.math包中提供了对大数字的操作类,用于进…...

windows环境下,vue启动项目后打开chrome浏览器
前言:关于vue启动后打开chrome浏览器,我查了很多资料,方案如下: 1、增加环境变量BROWSER为chrome(试了没效果) 2、设置系统的默认浏览器为chrome(应该可以,但没试;因为…...
SpringBoot2.X整合ClickHouse项目实战-从零搭建整合(三)
一、ClickHouseSpringBoot2.XMybatisPlus整合搭建 二、需求描述和数据库准备 三、ClickHouse统计SQL编写实战和函数使用 四、ClickHouseSpringBoot2.X案例-基础模块搭建 controller/request层 mapper层 model层 service层 五、ClickHouseSpringBoot2.X案例-数据统计接口 …...

学海记录项目测试报告
⭐️前言⭐️ 本篇文章是博主基于学海记录的个人项目所做的测试报告,用于总结运用自动化测试技术,应用于自己的项目。 🍉欢迎点赞 👍 收藏 ⭐留言评论 📝私信必回哟😁 🍉博主将持续更新学习记录…...

【1792. 最大平均通过率】
来源:力扣(LeetCode) 描述: 一所学校里有一些班级,每个班级里有一些学生,现在每个班都会进行一场期末考试。给你一个二维数组 classes ,其中 classes[i] [passi, totali] ,表示你…...

言简意赅+图解 函数传参问题(传值、传地址 500字解决战斗)
1、传值 2、传地址 不论是传值,还是传地址,形参都是对于实参的一份拷贝 下图为按值传递进行交换: 形参left拷贝一块新空间,形参right拷贝一块新空间 下图为按指针传递进行交换 形参left拷贝一块新的空间,形参right…...

UML-时序图以及PlantUML绘制
介绍 时序图(Sequence Diagram),又名序列图、循序图,是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。它可以表示用例的行为顺序,当执行一个用例行为时,其中的每条消息…...

【Redis】Redis 有序集合 Zset 操作 ( 简介 | 查询操作 | 增加操作 | 删除操作 | 修改操作 )
文章目录一、有序集合 Zset二、查询操作1、查询 Zset 所有数据2、查询 Zset 所有数据和评分3、查询指定评分范围的 Zset 数据4、查询指定评分范围的 Zset 数据并从大到小排序5、统计指定评分范围的 Zset 数据个数6、查询指定元素在 Zset 有序集合中的排名三、增加操作1、向 Red…...

Java特性之设计模式【策略模式】
一、策略模式 概述 在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式 在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略…...

IR-CUT 保证摄像机成像效果的滤镜
IR-CUT双滤镜是指在摄像头镜头组里内置了一组滤镜,当镜头外的红外感应点侦测到光线的强弱变化后,内置的IR-CUT自动切换滤镜能够根据外部光线的强弱随之自动切换,使图像达到最 佳效果。也就是说,在白天或黑夜下,双滤光片…...

openpnp - 普通航空插头和PCB的连接要使用线对板连接器
文章目录openpnp - 普通航空插头和PCB的连接要使用线对板连接器概述改进实际效果总结ENDopenpnp - 普通航空插头和PCB的连接要使用线对板连接器 概述 和同学讨论问题, 准备将航空插头连接到PCB上. 航空插头选用GX12-4公头, 拧到开孔的铁板上. 然后航空插头公头再与PCB连接. 铁…...

Python3 错误和异常实例及演示
作为 Python 初学者,在刚学习 Python 编程时,经常会看到一些报错信息,在前面我们没有提及,这章节我们会专门介绍。 Python 有2种错误很容易辨认:语法错误和异常。 Python assert(断言)用于判断…...

Android 9.0第三方app根据包名设置为横屏显示
1.概述 在android9.0的系统rom定制化开发中,在某些横屏的设备比如平板电脑,tv智能电视,广告机等等设备中,通常系统是默认横批显示的,但是在安装一些竖屏app的时候, 就会旋转为竖屏,这个时候操作app也不方便,所以产品需求要求竖屏也需要根据包名横屏显示出来,这就需要在…...

MySQL会导致索引失效的情况与解决索引失效的方法
什么情况会导致索引失效 索引失效也是慢查询的主要原因之一,常见的导致索引失效的情况有下面这些: 1.使用 SELECT * 进行查询;2.创建了组合索引,但查询条件未准守最左匹配原则;3.在索引列上进行计算、函数、类型转换等操作;4.以 % 开头的 L…...

使用nginx单独部署Vben应用
前言 本文主要介绍Vben使用nginx单独部署的方式,其实前端发展到现在已经不是当年的jsp,asp必须要和后端一起部署了。单独部署调试的工具也很多,比如vue-cli-service 和 Vben中用到的vite ,当然这些我们一般用在开发的工程中。正式…...