Flash EEPROM Emulation (Fee)
Provides emulation of EEPROM-like data blocks on Flash memory devices.
Funktionen — Übersicht
void Fee_Init (const Fee_ConfigType* ConfigPtr);Service to initialize the FEE module.void Fee_SetMode (MemIf_ModeType Mode);Function to switch the mode of the underlying Flash DriverStd_ReturnType Fee_Read (uint16 BlockNumber, uint16 BlockOffset, uint8* DataBufferPtr, uint16 Length);Service to initiate a read job.Std_ReturnType Fee_Write (uint16 BlockNumber, const uint8* DataBufferPtr);Service to initiate a write job.void Fee_Cancel (void);Service to call the cancel function of the underlying flash driver.MemIf_StatusType Fee_GetStatus (void);Service to return the status.MemIf_JobResultType Fee_GetJobResult (void);Service to query the result of the last accepted job issued by the upper layer software.Std_ReturnType Fee_InvalidateBlock (uint16 BlockNumber);Service to invalidate a logical block.void Fee_GetVersionInfo (Std_VersionInfoType* VersionInfoPtr);Service to return the version information of the FEE module.Std_ReturnType Fee_EraseImmediateBlock (uint16 BlockNumber);Service to erase a logical block.void Fee_JobEndNotification (void);Service to report to this module the successful end of an asynchronous operation.void Fee_JobErrorNotification (void);Service to report to this module the failure of an asynchronous operation.void Fee_MainFunction (void);Service to handle the requested read / write / erase jobs and the internal management operations.void NvM_JobEndNotification (void);-void NvM_JobErrorNotification (void);-
Typen — Übersicht
struct Fee_ConfigTypeConfiguration data structure of the Fee module.
Funktionen & Typen — Detailansicht
函数 Fee_Init [SWS_Fee_00085] 📄 PDF
void Fee_Init (const Fee_ConfigType* ConfigPtr);
Service to initialize the FEE module.
函数 Fee_Init 作为用于初始化 Flash EEPROM 仿真模块(FEE)的核心服务 [SWS_Fee_00085]。该调用通过 Fee.h 中声明的接口进行,服务 ID 为 0x00 [SWS_Fee_00085]。作为唯一的输入参数,传入 ConfigPtr,它用作指向类型为 const Fee_ConfigType* 的所选配置数据集的指针 [SWS_Fee_00085]。未定义额外的输入/输出参数或纯输出参数,且该函数没有返回值(void)[SWS_Fee_00085]。
尽管它是一个基本的初始化函数,但在规范中其执行语义被明确归类为异步(Asynchronous)[SWS_Fee_00085]。解释:由于该函数以异步方式工作,调用 Fee_Init 大概仅触发模块初始化,而耗时的初始化步骤则在后台以非阻塞方式完成 [SWS_Fee_00085]。 问题 Q-7d91ac2e51869606 (未决)
对于并发性和调用上下文,规范规定 Fee_Init 是不可重入的(Non Reentrant)[SWS_Fee_00085]。因此,在任何时候都不得从不同上下文并行或嵌套调用该函数 [SWS_Fee_00085]。
本使用说明由 AI 创建,且完全基于 AUTOSAR Classic Release R20-11 规范。
实现者指南即将推出(复杂度 I1)
函数 Fee_SetMode [SWS_Fee_00086] 📄 PDF
void Fee_SetMode (MemIf_ModeType Mode);
Function to switch the mode of the underlying Flash Driver
用法与调用上下文
函数Fee_SetMode用于切换底层Flash驱动程序([SWS_Fee_00086])的工作模式。它通过头文件Fee.h提供,服务ID为0x01([SWS_Fee_00086])。该服务仅需要一个输入参数Mode(类型为MemIf_ModeType),该参数确定Flash驱动程序所需的工作模式([SWS_Fee_00086])。既不传递输出参数,也不传递返回值(void)([SWS_Fee_00086])。
异步语义与并发性
该接口被指定为异步的([SWS_Fee_00086])。由于调用后不返回函数值,Flash硬件的实际切换过程可能在后台延迟执行。 问题 Q-9dbc267f51e150af (未决)关于调用上下文,Fee_SetMode被归类为不可重入(Non Reentrant)([SWS_Fee_00086])。因此调用者必须确保该函数不会同时或以中断方式从不同线程或任务中被调用。
错误处理与交互
在本规范摘录中,未为Fee_SetMode定义特定的错误代码、DET错误消息或DEM事件([SWS_Fee_00086])。同样未指明与其他需求的直接关联。解释:任何对无效模式值的检查可能在驱动程序内部或Fee模块中处理,而无需向调用者显式返回错误。 问题 (未决)
此文本由 AI 创建,仅基于 AUTOSAR 版本 R20-11 的规范。
实现者指南即将推出(复杂度 I1)
函数 Fee_Read [SWS_Fee_00087] 📄 PDF
Std_ReturnType Fee_Read (uint16 BlockNumber, uint16 BlockOffset, uint8* DataBufferPtr, uint16 Length);
Service to initiate a read job.
使用
函数 Fee_Read 用于在 Flash EEPROM 仿真模块中启动异步读取作业,并通过头文件 Fee.h 声明 [SWS_Fee_00087]。它具有服务 ID 0x02,并接受以下传入参数 [SWS_Fee_00087]:
Block Number:逻辑块的编号,该编号同时指示其在 Flash 存储器中的起始地址。Block Offset:相关块内的读取偏移量。Length:要从该块读取的字节数。Data Buffer Ptr:用于存放所读取数据的目标缓冲区的指针。
作为返回值,函数提供 Std_ReturnType:E_OK 指示模块已接受所请求的读取作业;E_NOT_OK 指示作业已被拒绝 [SWS_Fee_00087]。
并发性与限制
Fee_Read 的调用被指定为不可重入(Non Reentrant)且异步(Asynchronous)[SWS_Fee_00087]。
与 Flash 驱动程序的协同工作
只要在 Flash 驱动程序中配置了函数 Fls_BlankCheck,Fee_Read 就必须调用该函数 [SWS_Fee_00187]。这用于事先检查是否可以读取存储区域,而不会例如因已擦除但尚未编程的 Flash 单元触发 ECC 错误 [SWS_Fee_00187]。
此使用说明基于 AUTOSAR CP R20-11 规范自动生成。
实现者指南即将推出(复杂度 I1)
函数 Fee_Write [SWS_Fee_00088] 📄 PDF
Std_ReturnType Fee_Write (uint16 BlockNumber, const uint8* DataBufferPtr);
Service to initiate a write job.
用法与语义
函数 Fee_Write 用作根据 [SWS_Fee_00088] 在 Flash EEPROM 仿真模块中启动写入作业的服务。其声明可通过头文件 Fee.h 获取。该调用为异步进行:该函数仅触发写入过程,不会阻塞直到写入过程物理完成。
为传递写入数据定义了两个参数[SWS_Fee_00088]:
BlockNumber(uint16):表示逻辑块号,并同时定义该块在 EEPROM 中的起始地址。DataBufferPtr(const uint8*):指向包含待写入有效数据的缓冲区指针。
返回值和并发性
类型为 Std_ReturnType 的返回值直接指示模块是否能够接受该写入作业[SWS_Fee_00088]:
E_OK:所请求的作业已被模块接受。E_NOT_OK:该作业未被模块接受。
在并发性方面,Fee_Write 被指定为不可重入(Non Reentrant)[SWS_Fee_00088]。因此调用方必须确保不会从不同上下文中并发调用该函数。该函数的服务 ID 为 0x03 [SWS_Fee_00088]。解读:返回 E_OK 后,物理数据传输可能会通过后续的模块周期在后台异步处理。 问题 Q-8bedddcf2371f6bf (未决)
此文本由 AI 生成,用作参考指引。引用的 AUTOSAR 规范具有权威性。
函数 Fee_Cancel [SWS_Fee_00089] 📄 PDF
void Fee_Cancel (void);
Service to call the cancel function of the underlying flash driver.
函数 Fee_Cancel 是模块 Fee 的同步服务,用于将中止请求转发给底层 Flash 驱动程序 [SWS_Fee_00089]。该服务通过头文件 Fee.h 声明,并具有数值服务 ID 0x04 [SWS_Fee_00089]。
用法与调用上下文
该接口具有签名 void Fee_Cancel (void) [SWS_Fee_00089]。根据规范,调用适用以下参数和执行特性:
- 参数:该函数不需要传递参数;既没有输入参数、输入/输出参数,也没有输出参数[SWS_Fee_00089]。
- 返回值:不向调用方返回任何返回值[SWS_Fee_00089]。
- 同步性:函数调用的处理规定为同步(Synchronous)[SWS_Fee_00089]。
并发性与限制
在并发行为方面,Fee_Cancel 被指定为不可重入(Non Reentrant)[SWS_Fee_00089]。因此,调用实例必须确保该函数不会从不同的任务或中断上下文中并行或嵌套调用。
交互与错误处理
Fee_Cancel 的核心任务是调用底层 Flash 驱动程序的中止函数[SWS_Fee_00089]。有效负载中未为该函数定义具体的错误代码、返回值或错误消息。由于未描述错误处理,错误情况下的行为可能取决于所调用的 Flash 驱动程序的实现。 问题 Q-bb066b6c05a2eb12 (未决)
本使用说明由系统自动生成,完全基于 AUTOSAR 版本 R20-11 的规范内容。
函数 Fee_GetStatus [SWS_Fee_00090] 📄 PDF
MemIf_StatusType Fee_GetStatus (void);
Service to return the status. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_FlashEEPROMEmulation
函数 Fee_GetJobResult [SWS_Fee_00091] 📄 PDF
MemIf_JobResultType Fee_GetJobResult (void);
Service to query the result of the last accepted job issued by the upper layer software.
函数 Fee_InvalidateBlock [SWS_Fee_00092] 📄 PDF
Std_ReturnType Fee_InvalidateBlock (uint16 BlockNumber);
Service to invalidate a logical block.
函数Fee_InvalidateBlock用作在Flash存储器中使逻辑块失效的服务[SWS_Fee_00092]。它可通过头文件Fee.h获取,并具有服务ID 0x07 [SWS_Fee_00092]。
用法与参数
调用以异步方式进行;因此实际的失效操作作为后台作业触发[SWS_Fee_00092]:
- Block Number(
uint16,in):表示逻辑块号,它同时确定该块在Flash存储器中的起始地址[SWS_Fee_00092]。 - 返回值(
Std_ReturnType):当失效作业被模块成功接受时,返回E_OK[SWS_Fee_00092]。
错误处理
如果模块无法接受该请求,则返回E_NOT_OK——但根据规范,该错误返回明确仅限于启用了DET的配置(only if DET is enabled)[SWS_Fee_00092]。解释:如果DET被停用,则作业被拒绝可能不会通过E_NOT_OK向调用者发出信号,因为规范将该错误值的返回与DET启用绑定。 问题 Q-2e54187ddb69e481 (未决)
并发性与边界条件
该接口被声明为不可重入(Non Reentrant)[SWS_Fee_00092]。因此调用者必须确保只要前一个函数调用处于活动状态,就不会发生对Fee_InvalidateBlock的并发或中断调用[SWS_Fee_00092]。
本文由 AI 基于 AUTOSAR R20-11 规范生成。
函数 Fee_GetVersionInfo [SWS_Fee_00093] 📄 PDF
void Fee_GetVersionInfo (Std_VersionInfoType* VersionInfoPtr);
Service to return the version information of the FEE module.
函数 Fee_EraseImmediateBlock [SWS_Fee_00094] 📄 PDF
Std_ReturnType Fee_EraseImmediateBlock (uint16 BlockNumber);
Service to erase a logical block.
用法与参数
函数Fee_EraseImmediateBlock提供用于擦除逻辑块的异步服务,并通过头文件Fee.h声明[SWS_Fee_00094]。该函数具有十六进制服务ID 0x09 [SWS_Fee_00094]。作为唯一的输入参数,类型为uint16的Block Number指定逻辑块的编号,并同时标识其在EEPROM中的起始地址[SWS_Fee_00094]。
返回值与错误处理
该接口提供状态Std_ReturnType作为返回值[SWS_Fee_00094]。值E_OK确认模块已成功接收请求的擦除作业[SWS_Fee_00094]。如果作业未被模块接受,函数将返回E_NOT_OK;但根据规范,该返回值仅在DET错误监控处于激活状态时出现[SWS_Fee_00094]。
并发性与限制
关于并发性和调用条件,Fee_EraseImmediateBlock被归类为不可重入(Non Reentrant)且异步工作[SWS_Fee_00094]。因此调用模块必须确保只要模块仍在忙于处理,就不会对同一接口进行进一步调用。
基于AUTOSAR规范的上下文相关说明。
函数 Fee_JobEndNotification [SWS_Fee_00095] 📄 PDF
void Fee_JobEndNotification (void);
Service to report to this module the successful end of an asynchronous operation. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_FlashEEPROMEmulation
函数 Fee_JobEndNotification 用于通知 Fee 模块异步操作已成功完成([SWS_Fee_00095])。
关于使用和签名,适用以下规定:
- 签名与参数:该函数具有签名
void Fee_JobEndNotification (void);。它既不期望输入、输入/输出,也不期望输出参数,并且不提供返回值([SWS_Fee_00095])。 - 头文件:声明通过
Fee.h提供([SWS_Fee_00095])。 - 服务 ID:该函数通过服务 ID
0x10定义([SWS_Fee_00095])。 - 同步性:调用本身被指定为同步([SWS_Fee_00095])。
- 并发性:该例程被归类为不可重入(Non Reentrant)([SWS_Fee_00095])。
交互与调用上下文:通常情况下,此回调可能由下层模块(如 Flash 驱动程序)调用,以指示异步写入或擦除作业的结束。 问题 Q-8a3ccdba2024001f (未决)由于具有 Non Reentrant 属性,调用方必须确保不会发生并发调用([SWS_Fee_00095])。
此文本由 AI 基于 R20-11 的 AUTOSAR 规范生成。
函数 Fee_JobErrorNotification [SWS_Fee_00096] 📄 PDF
void Fee_JobErrorNotification (void);
Service to report to this module the failure of an asynchronous operation.
函数Fee_JobErrorNotification用作通知服务,以向Fee模块告知异步操作的失败[SWS_Fee_00096]。该接口具有签名void Fee_JobErrorNotification (void),并通过头文件Fee.h提供[SWS_Fee_00096]。标识为0x11的服务既不传递输入、输入/输出参数,也不传递输出参数[SWS_Fee_00096]。调用同样不向调用者返回任何返回值[SWS_Fee_00096]。
调用的执行语义被指定为同步(Synchronous)[SWS_Fee_00096]。对于运行时行为,核心限制是该函数不可重入(Non Reentrant)[SWS_Fee_00096]。解释:调用者(大概是底层驱动程序模块)必须确保绝不并发或从中断上下文中并行触发该通知。 问题 Q-7d4c9618bf385721 (未决)
关于错误处理,无参数接口不传输特定的错误代码,并且未为此调用记录模块特定的DET或DEM消息[SWS_Fee_00096]。Fee模块可能会在内部将报告的错误情况分配给活动的异步作业,并相应地调整其状态。 问题 Q-1fa43444195edb62 (未决)
本文由 AI 基于 AUTOSAR R20-11 规范生成。
函数 Fee_MainFunction [SWS_Fee_00097] 📄 PDF
void Fee_MainFunction (void);
Service to handle the requested read / write / erase jobs and the internal management operations.
根据[SWS_Fee_00097],函数Fee_MainFunction用于集中处理所请求的读、写和擦除作业,并执行模块的内部管理操作。其指定签名包含void Fee_MainFunction (void);,服务ID为0x12 [SWS_Fee_00097]。
就接口和使用而言,该函数不处理任何传入参数,且没有返回值[SWS_Fee_00097]。从其在头文件SchM_Fee.h中的可用性大概可以推断出,其调用由基础软件的调度管理周期性地执行。 问题 Q-5ef9bcc5f438cb89 (未决)描述表明,先前异步传递的作业可能会在这些周期性循环中相继得到处理。
对于错误场景、重入性和特定调用条件,规范不包含单独的标识符或错误代码[SWS_Fee_00097]。解释:作为模块状态的集中周期性控制函数,Fee_MainFunction大概是不可重入的,因此应避免从多个任务并发调用。 问题 (未决)
本段文本由人工智能基于 AUTOSAR 规范 R20-11 生成。
函数 NvM_JobEndNotification [SWS_Fee_00098] 📄 PDF
void NvM_JobEndNotification (void);
-
使用与签名
函数NvM_JobEndNotification在Flash EEPROM Emulation(Fee)规范中被定义为服务,并通过头文件Nvm.h提供([SWS_Fee_00098])。根据其语法void NvM_JobEndNotification (void);,该函数既不需要输入参数也不需要输出参数,并且不提供返回值([SWS_Fee_00098])。对于执行行为,规定了同步语义(Sync/Async: true)([SWS_Fee_00098])。
并发性与限制
关于重入性,该函数被分类为Don't care([SWS_Fee_00098])。规范中未规定关于调用上下文的特定限制。未为该元素指定通过DET或DEM消息进行的单独错误处理([SWS_Fee_00098])。
交互与功能定位
尽管该函数是Flash EEPROM Emulation规范的一部分,但描述字段不包含更多详细信息([SWS_Fee_00098])。解释:基于命名以及在Nvm.h中的声明,该函数可能用作回调接口,Fee模块通过该接口向NvM模块发出异步处理作业正常完成的信号。 问题 Q-ee00bece2e28a0e4 (未决)
本使用说明基于AUTOSAR Release R20-11规范自动生成。
函数 NvM_JobErrorNotification [SWS_Fee_00099] 📄 PDF
void NvM_JobErrorNotification (void);
-
用法与调用上下文
根据[SWS_Fee_00099],函数NvM_JobErrorNotification被定义为同步接口(Sync/ Async true)。其声明通过头文件Nvm.h提供([SWS_Fee_00099])。签名为void NvM_JobErrorNotification (void),因此它既不接受输入、直通参数也不接受输出参数,并且不提供返回值([SWS_Fee_00099])。根据标识符及其与模块Fee的归属,该回调函数大概用于在Flash EEPROM仿真驱动程序中的异步作业处理期间发生错误时通知NVRAM管理。 问题 Q-4d70f8d384e04832 (未决)
错误处理与并发
在[SWS_Fee_00099]中未列出特定的错误代码、DET消息或DEM事件。由于不传递状态或错误参数,详细的错误分析大概基于内部模块状态或驱动程序的后续查询。 问题 Q-c45e72b67236c432 (未决)关于并发性,[SWS_Fee_00099]针对重入性指定了标准Don't care,因此需求方面未对可重入能力制定限制性规定。
本文本由 AI 基于规范生成。
类型 Fee_ConfigType [SWS_Fee_00188] 📄 PDF
Configuration data structure of the Fee module.
Request a governed re-review of this record. The record is not changed immediately.
- Record
AUTOSAR/AP/record/CP_MOD_Fee- Status
- unspecified
- Version
AUTOSAR/AP/record/CP_MOD_Fee@rel:R20-11#0e2eff4d- Content hash
0e2eff4d- Source
- https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_FlashEEPROMEmulation.pdf#nameddest=SWS_Fee_00085
gemini-3.8-flash-low· 2026-10-13 · 德文原文