AUTOSAR NvM模块(一)

NvMBlockDescriptor

[ECUC_NVM_00061] 用于存储所有特定于块的配置参数的容器。对于每个非易失性随机存取存储器(NVRAM)块,应该指定这个容器的一个实例。

NvMBlockCrcType

定义了NVRAM块的CRC数据宽度。根据Autosar标准,此参数应定义NV存储器中数据以及永久RAM块中数据的CRC数据宽度。目前,此参数仅定义了永久RAM块中数据的CRC数据宽度(参见参数NvMCalcRamBlockCrc)。对于NV存储器中的数据,CRC将始终由较低层独立于此参数进行计算。

NvMBlockHeaderInclude

定义了一个需要包含的头文件。在这里只需要输入头文件的名称,不需要扩展名。例如,输入Bsw_MemMap而不是Bsw_MemMap.h。如果定义了头文件,用户必须在该头文件内声明RAM数据块(NvMRamBlockDataAddress)和ROM数据块(NvMRomBlockDataAddress)。如果为特定的NvM块定义了头文件,编译时将进行一项检查,以验证配置的NvM块(NvMNvBlockLength)长度是否与RAM数据块(NvMRamBlockDataAddress)和ROM数据块(NvMRomBlockDataAddress)中给出的数据大小匹配。这项检查使用sizeof运算符进行,并在不匹配的情况下导致编译时错误。请注意,只有当NvM块满足以下两个条件时,才能进行编译时检查:1. 在RAM数据块(NvMRamBlockDataAddress)和ROM数据块(NvMRomBlockDataAddress)中输入的值是链接器符号的名称、指针或在头文件中声明的数据结构的子元素(例如MyVar、MyStruct.MyMember、MyArray[3]、&MyVar等),而不是十六进制表示的地址(例如0x8000A000)

NvMBlockJobPriority

定义了非易失性随机存取存储器(NVRAM)块的作业优先级。当前版本的NvM支持两种作业优先级:
0: 立即优先级,
1-255: 标准优先级(数值越高,优先级越低)。
如果不需要明确的标准优先级,则可以使用优先级255,以便其他块可以定义更高的优先级。如果禁用了优先级作业处理,则所有块将以相同的优先级处理,即按照先来先服务(FCFS)的顺序。
只有通过NvMJobPrioritization配置参数启用了优先级作业处理时,才能启用立即优先级。
具有立即优先级的块不应参与多块读取(参见NvMSelectBlockForReadAll)或多块写入(参见NvMSelectBlockForWriteAll)操作。如果选择了一个立即优先级的块进行ReadAll或WriteAll操作,那么在多块操作执行期间,不可能为此块排队一个立即写请求(因为此块的状态将是待定的,参见NVM385)

NvMBlockManagementType

定义了NVRAM块的块管理类型。NvM块可以是原生(native)、冗余(redundant)或数据集(dataset)块
在这里插入图片描述

Native Block:

本地块通常指的是直接存储在NVRAM中的原始数据。
这类数据可能不需要额外的冗余或复杂的管理机制。
本地块的数据通常是直接写入和读取的,没有额外的备份或校验数据。
Redundant Block:

冗余块包含数据的备份副本,用于提高数据的可靠性和容错能力。
在数据损坏或存储介质故障时,冗余块可以提供数据恢复的能力。
冗余块可能采用各种形式,如镜像(完全复制)、奇偶校验或更复杂的纠错码。
Dataset Block:

数据集块通常指的是一组相关的数据项,它们作为一个单元进行管理。
这种类型的块可能包含多个数据元素,它们在逻辑上属于同一组,并且在操作时通常一起处理。
数据集块可能用于需要同时读写多个相关数据项的场景,以优化性能或保证数据的一致性。

NvMBlockUseAutoValidation

这个参数的设置决定了在执行全系统NVRAM验证时,是否包括对特定NVRAM块的验证。如果一个NVRAM块被配置为具有永久RAM块,那么它可能需要在验证过程中检查RAM和NVRAM之间的数据一致性。同样,如果NVRAM块配置为使用显式同步机制,那么在验证过程中可能需要检查数据同步的状态。

如果此参数被设置为不处理某个NVRAM块,那么在执行 NvM_ValidateAll 时,该块将被排除在验证过程之外。这可以用于优化验证过程,或者在某些特定情况下,确保只有需要的NVRAM块被验证。

NvMBlockUseCRCCompMechanism

这个配置参数定义了在写操作过程中,是否应该将永久RAM块的CRC(循环冗余校验)与上一次成功读取或写入操作时计算的CRC进行比较。此参数仅当参数NvMCalcRamBlockCrc也被设置为真(true)时,才能被设置为真。

这意味着,如果启用了这个配置参数,系统将在每次写入操作时,自动将新计算的CRC与之前成功操作的CRC进行比较,以确保数据的完整性和一致性。如果NvMCalcRamBlockCrc参数没有被设置为真,那么这个比较将不会被执行,因为CRC计算可能没有被启用或配置。

NvMBlockUseCompression

定义了在写入之前数据是否需要被压缩。RTA-CAR NvM目前提供块分割作为压缩类型。如果使用压缩,用户还必须定义块分割的大小,参见容器NvMRbSplitBlock。

true: 激活数据压缩(读写时间更长)
false: 不进行压缩
这个配置参数决定了在将数据写入非易失性存储器(NVRAM)之前,是否需要先进行压缩处理。使用压缩可以减少存储空间的需求,但可能会增加读写操作的时间消耗,因为压缩和解压缩过程本身需要时间。

NvMBlockUseCrc

启用/禁用NVRAM块在NV存储器中的CRC(循环冗余校验)使用。如果启用,在写操作之前会计算CRC,然后将其与块数据一起存储在NV存储器中。在读取操作期间,将再次检查这个CRC以确保数据的完整性。独立于参数NvMBlockUseCrc,MemStack始终使用CRC来确保数据完整性,但这在较低的软件层(不是NVM级别)完成,且无法停用。因此,如果也希望在NVM级别使用CRC,则必须通过将公共参数NvMRbNvCrcEnable设置为TRUE来全局启用NvMBlockUseCrc。只有当两个参数NvMBlockUseCrc和NvMRbNvCrcEnable都被设置为true时,CRC才会在NVM级别上用于这个块。提示:在MemStack的完整使用情况下,这不会影响任何较低层的CRC使用。提示:如果不使用完整的MemStack,则应将公共参数NvMRbNvCrcEnable设置为TRUE,以确保在NVM级别上使用CRC。

NvMBlockUsePort

定义了是否为这个块生成NvMMirror、NvMNotifyInitBlock、NvMNotifyJobFinished、NvMAdmin端口。在为这个块配置了回调函数的情况下,此配置参数还控制相应R-端口的创建。对于通过RTE端口访问的块,此参数应设置为true。

NvMBlockUseSyncMechanism

允许或禁止使用RAM镜像和回调例程的显式同步机制,这些例程用于在NvM(非易失性存储器)模块的RAM镜像之间传输数据。

这个参数的作用是控制是否激活一种机制,该机制通过RAM镜像来同步NVRAM模块中的数据。当启用时,可以使用回调函数来明确控制数据何时从主存储器复制到RAM镜像,以及何时从RAM镜像写回到NVRAM。这种机制可以用于确保数据在断电或其他系统事件之前被安全地存储到非易失性存储中。如果禁用此参数,则数据同步可能依赖于其他机制或自动同步策略。

NvMBlockWriteProt

开启或关闭非易失性(NV)存储块的初始写入保护。

这个配置参数的作用是控制NV存储块在系统启动或重置时是否处于写保护状态。启用初始写保护可以防止在系统初始化完成之前对NV块进行意外的写操作,从而保护存储的数据不被覆盖或损坏。如果禁用初始写保护,NV块将在系统启动时即可被写入,这可能会在某些特定的应用场景中提供更大的灵活性,但同时也增加了数据损坏的风险。

NvMCalcRamBlockCrc

开启或关闭对于永久RAM块或者配置为使用显式同步机制的非易失性随机存取存储器(NVRAM)块的CRC重新计算功能。

这个参数的作用是决定是否在数据写入永久RAM块或NVRAM块时重新计算CRC值。启用此功能可以确保数据的完整性和准确性,通过在写入操作前后进行CRC计算和比对来检测数据是否在传输过程中发生了变化。如果禁用此功能,系统将不会进行这种额外的CRC计算,这可能会减少处理时间,但在数据传输过程中如果出现错误,可能无法检测到。

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

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

相关文章

Web渗透-逻辑漏洞

一、概述 逻辑漏洞是指由于程序逻辑不严或逻辑太复杂,导致一些逻辑分支不能够正常处理或处理错误,一般出现任意密码修改(没有旧密码验证),越权访问,密码找回,交易支付金额等。对常见的漏洞进行过统计&…

2毛钱不到的2A同步降压DCDC电压6V频率1.5MHz电感2.2uH封装SOT23-5芯片MT3520B

前言 2A,2.3V-6V输入,1.5MHz 同步降压转换器,批量价格约0.18元 MT3520B 封装SOT23-5 丝印AS20B5 特征 高效率:高达 96% 1.5MHz恒定频率操作 2A 输出电流 无需肖特基二极管 2.3V至6V输入电压范围 输出电压低至 0.6V PFM 模式可在…

TS_开发一个项目

目录 一、编译一个TS文件 1.安装TypeScript 2.创建TS文件 3.编译文件 4.用Webpack打包TS ①下载依赖 ②创建文件 ③启动项目 TypeScript是微软开发的一个开源的编程语言,通过在JavaScript的基础上添加静态类型定义构建而成。TypeScript通过TypeScript编译器或…

我在高职教STM32——时钟系统与延时控制(1)

大家好,我是老耿,高职青椒一枚,一直从事单片机、嵌入式、物联网等课程的教学。对于高职的学生层次,同行应该都懂的,老师在课堂上教学几乎是没什么成就感的。正因如此,才有了借助 CSDN 平台寻求认同感和成就…

6.26.4.3 条件生成对抗和卷积网络用于x射线乳房质量分割和形状分类

一种基于条件生成对抗网络(conditional Generative Adversarial Networks, cGAN)的乳房肿块分割方法。假设cGAN结构非常适合准确地勾勒出质量区域,特别是当训练数据有限时。生成网络学习肿瘤的内在特征,而对抗网络强制分割与基础事实相似。从公开DDSM数据…

【语言模型】深入探索语言模型中的神经网络算法:原理、特点与应用

随着人工智能技术的飞速发展,神经网络算法在语言模型中的应用日益广泛,为自然语言处理领域带来了革命性的变革。本文将深入探讨当前语言模型中常用的几种神经网络算法,包括全连接神经网络、卷积神经网络、循环神经网络、长短期记忆网络、门控…

五线谱与简谱有什么区别 五线谱简谱混排怎么打 吉他谱软件哪个好

五线谱与简谱作为音乐记谱领域的两大主流系统,各自承载着深厚的历史渊源与独特的表现力,并在全球范围内被不同程度地接受和应用。尽管两者都是为了记录音乐作品中的音高和节奏信息,但其内在机制、适用范围以及学习曲线存在显著差别。下面我们…

版本控制系统:Git

基本操作 ctrl上行键:上次代码 本地仓库:Git init 新建文件:touch xxxx.xxx 查看状态:Git status 文件从工作区——暂存区:Git add ./文件名(.是通配符代表所有) 暂存区——仓库:Git commit -m &…

Spring企业开发核心框架-上

一、框架前言 1、总体技术体系 单一架构 一个项目,一个工程,导出为一个war包,在一个Tomcat上运行。也叫all in one. 单一架构,项目主要应用技术框架为:Spring,SpringMVC,Mybatis等 分布式架构…

vue-cil搭建项目

目录 一、使用 HbuilderX 快速搭建一个 vue-cli 项目 1.需要的环境——Node.js 2.搭建Vue-cil项目 二、组件路由 1.安装vue-router 2.创建router目录 3.使用路由 4.在main.js中配置路由 vue-cli 官方提供的一个脚手架,用于快速生成一个 vue 的项目模板;…

VsCode:配置TypeScript开发环境

一、前提 电脑已经安装了npm 何如安装npm,请点击查看Node.js、npm常用命令、安装多个node版本 提醒:下文讲解操作是在mac 系统进行的,TypeScript简称:ts 二、安装TypeScript 在终端里执行命令:npm install -g typescr…

1panel 搭建多个网站

1panel 部署多个网站,另外的域名,或无域端口搭建方法。 当我们已经部署好一个网站后,想再部署一个网站在我们的服务器上时, 步骤:(另外的域名,部署在同一个服务器方法) 运行环境里…

六、资产安全—信息分级资产管理与隐私保护(CISSP)

目录 1.信息分级 2.信息分级方法 3.责任的层级 4.资产管理 5.隐私数据管理角色 6.数据安全控制 7.数据保护方案 8.使用安全基线 六、资产安全—数据管理(CISSP): 五、身份与访问管理—身份管理和访问控制管理(CISSP): 1.信息分级 信息分级举列: 2.信息分级方…

K8S 角色/组件及部署方式的简单概述

1.宏观架构图 2.角色详情 2.1 Master(Controller Plane) 早期是叫 Master 节点,后期改名为 Controller Plane,负责整个集群的控制和管理 Master 不会干活的(当然你让它干也是会干的,涉及到污点容忍),而是起到访问入口&#xff…

天池大赛Higress插件官方demo详细部署+调试

天池大赛Higress插件官方demo详细部署调试 契机 ⚙ 使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自…

SecureBoost:一种无损的联邦学习框架

SecureBoost:一种无损的联邦学习框架 文章目录 SecureBoost:一种无损的联邦学习框架1 引言2 预备知识与相关工作3 问题描述4 联邦学习与SecureBoost5 联邦推理6 无损属性的理论分析7 安全讨论8 实验9 结论 摘要——用户隐私保护是机器学习中的一个重要问…

LSS论文与代码详解

本文首发于公众号【DeepDriving】,欢迎关注。 0. 前言 最近几年,BEV感知是自动驾驶领域中一个非常热门研究方向,其核心思想是把多路传感器的数据转换到统一的BEV空间中去提取特征,实现目标检测、地图构建等任务。如何把多路相机的…

关于bim数字孪生threejs中使用glb文件大小优化及加载慢的说明(笔记)

在用three.js开发的时候发现,稍微大一点的glb或者fbx文件加载的时候很慢很卡 一直不理解这个卡和慢取决于哪些条件,下面来详细说一下 1、关于模型 不是越大加载越卡顿,而是却决于三角面数量,当累计三角面数量达到3000万时会出现明…

ASUS/华硕天选5 FX607J系列 原厂Windows11系统

安装后恢复到您开箱的体验界面,带原机所有驱动和软件,包括myasus mcafee office 奥创等。 最适合您电脑的系统,经厂家手调试最佳状态,性能与功耗直接拉满,体验最原汁原味的系统。 原厂系统下载网址:http:…

LLaMA2模型训练加速秘籍:700亿参数效率提升195%!

点击蓝字 关注我们 关注并星标 从此不迷路 计算机视觉研究院 公众号ID | 计算机视觉研究院 学习群 | 扫码在主页获取加入方式 开源地址:https://github.com/hpcaitech/ColossalAI 计算机视觉研究院专栏 Column of Computer Vision Ins…