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
function Fee_Init [SWS_Fee_00085] 📄 PDF
void Fee_Init (const Fee_ConfigType* ConfigPtr);
Service to initialize the FEE module.
The function Fee_Init serves as the central service for initializing the flash EEPROM emulation module (FEE) [SWS_Fee_00085]. The call is made via the interface declared in Fee.h with the service ID 0x00 [SWS_Fee_00085]. As the only input parameter, ConfigPtr is passed, which serves as a pointer to the selected configuration data set of type const Fee_ConfigType* [SWS_Fee_00085]. Additional input/output parameters or pure output parameters are not defined, and the function provides no return value (void) [SWS_Fee_00085].
Although it is a fundamental initialization function, the execution semantics is explicitly classified in the specification as asynchronous (Asynchronous) [SWS_Fee_00085]. Interpretation: Since the function acts asynchronously, calling Fee_Init presumably only initiates the module initialization, while time-consuming initialization steps are completed non-blockingly in the background [SWS_Fee_00085]. Question Q-7d91ac2e51869606 (open)
For concurrency and call context, the specification specifies that Fee_Init is non-reentrant (Non Reentrant) [SWS_Fee_00085]. Consequently, the function must not be called concurrently or nested from different contexts at any time [SWS_Fee_00085].
This usage note was created by an AI and is based exclusively on the specification AUTOSAR Classic Release R20-11.
Implementer's Guide to follow (complexity I1)
function Fee_SetMode [SWS_Fee_00086] 📄 PDF
void Fee_SetMode (MemIf_ModeType Mode);
Function to switch the mode of the underlying Flash Driver
Usage and Call Context
The function Fee_SetMode serves to switch the operating mode of the underlying flash driver ([SWS_Fee_00086]). It is provided via header file Fee.h with Service ID 0x01 ([SWS_Fee_00086]). As its only input parameter, the service expects Mode (of type MemIf_ModeType), which specifies the desired operating mode of the flash driver ([SWS_Fee_00086]). Neither output parameters nor a return value (void) are passed ([SWS_Fee_00086]).
Asynchronous Semantics and Concurrency
The interface is specified as asynchronous ([SWS_Fee_00086]). Since no function value is returned after the call, the actual switching process of the flash hardware is likely to take place with a time delay in the background. Question Q-9dbc267f51e150af (open) Regarding the call context, Fee_SetMode is classified as non-reentrant (Non Reentrant) ([SWS_Fee_00086]). Callers must therefore ensure that the function is not called concurrently or preemptively from different threads or tasks.
Error Handling and Interaction
In the present specification excerpt, no specific error codes, DET error messages, or DEM events are defined for Fee_SetMode ([SWS_Fee_00086]). Likewise, no direct relationships to further requirements are indicated. Interpretation: Any verification of invalid mode values is likely handled driver-internally or in module Fee without an explicit error return to the caller. Question (open)
This text was created by an AI and is based exclusively on the specifications of AUTOSAR Release R20-11.
Implementer's Guide to follow (complexity I1)
function Fee_Read [SWS_Fee_00087] 📄 PDF
Std_ReturnType Fee_Read (uint16 BlockNumber, uint16 BlockOffset, uint8* DataBufferPtr, uint16 Length);
Service to initiate a read job.
use
The function Fee_Read serves to initiate an asynchronous read job in the Flash EEPROM Emulation module and is declared via the header file Fee.h [SWS_Fee_00087]. It has the service ID 0x02 and accepts the following input parameters [SWS_Fee_00087]:
Block Number: Number of the logical block, which also indicates its start address in the flash memory.Block Offset: Read offset within the respective block.Length: Number of bytes to be read from the block.Data Buffer Ptr: Pointer to the target buffer for storing the read data.
As return value, the function provides Std_ReturnType: E_OK signals that the requested read job was accepted by the module; E_NOT_OK indicates that the job was rejected [SWS_Fee_00087].
Concurrency and Limitations
The call to Fee_Read is specified as non-reentrant (Non Reentrant) and asynchronous (Asynchronous) [SWS_Fee_00087].
Interaction with the Flash Driver
If the function Fls_BlankCheck is configured in the flash driver, Fee_Read must call this function [SWS_Fee_00187]. This serves to verify beforehand whether the memory area can be read without triggering, for example, ECC errors caused by erased but not yet programmed flash cells [SWS_Fee_00187].
This usage note was generated automatically based on the specification AUTOSAR CP R20-11.
Implementer's Guide to follow (complexity I1)
function Fee_Write [SWS_Fee_00088] 📄 PDF
Std_ReturnType Fee_Write (uint16 BlockNumber, const uint8* DataBufferPtr);
Service to initiate a write job.
Usage and Semantics
The function Fee_Write serves as a service for initiating a write job in the Flash EEPROM Emulation module according to [SWS_Fee_00088]. The declaration is available via the header Fee.h. The call is asynchronous: The function merely triggers the write operation and does not block until the physical completion of the write operation.
Two parameters are defined for passing the write data [SWS_Fee_00088]:
BlockNumber(uint16): Designates the logical block number and simultaneously defines the start address of this block in the EEPROM.DataBufferPtr(const uint8*): Pointer to the data buffer containing the payload data to be written.
Return Values and Concurrency
The return value of type Std_ReturnType immediately signals whether the write job could be accepted by the module [SWS_Fee_00088]:
E_OK: The requested job was accepted by the module.E_NOT_OK: The job was not accepted by the module.
Regarding concurrency, Fee_Write is specified as non-reentrant (Non Reentrant) [SWS_Fee_00088]. Callers must therefore ensure that the function is not called concurrently from different contexts. The service ID of the function is 0x03 [SWS_Fee_00088]. Interpretation: The physical transfer of the data is likely handled asynchronously in the background by subsequent module cycles after the return of E_OK. Question Q-8bedddcf2371f6bf (open)
This text was generated by an AI and serves as guidance. The referenced AUTOSAR specifications are authoritative.
function Fee_Cancel [SWS_Fee_00089] 📄 PDF
void Fee_Cancel (void);
Service to call the cancel function of the underlying flash driver.
The function Fee_Cancel is a synchronous service of module Fee for forwarding a cancellation request to the underlying flash driver [SWS_Fee_00089]. This service is declared via the header Fee.h and has the numeric service ID 0x04 [SWS_Fee_00089].
Usage and Call Context
The interface has the signature void Fee_Cancel (void) [SWS_Fee_00089]. According to the specification, the following parameter and execution characteristics apply to the call:
- Parameters: The function expects no parameters; neither input, input/output, nor output parameters are present [SWS_Fee_00089].
- Return value: No return value is returned to the caller [SWS_Fee_00089].
- Synchronicity: The execution of the function call is specified as synchronous (Synchronous) [SWS_Fee_00089].
Concurrency and Limitations
Regarding concurrency behavior, Fee_Cancel is specified as non-reentrant (Non Reentrant) [SWS_Fee_00089]. Calling instances must therefore ensure that the function is not called in parallel or nested from different task or interrupt contexts.
Interaction and Error Handling
The central task of Fee_Cancel is to call the cancel function of the underlying flash driver [SWS_Fee_00089]. Specific error codes, return values, or error messages are not defined for this function in the payload. Since no error handling is described, the behavior in the event of an error presumably depends on the implementation of the called flash driver. Question Q-bb066b6c05a2eb12 (open)
This usage note was generated automatically and is based exclusively on the specification content of AUTOSAR release R20-11.
function 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
function 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.
function Fee_InvalidateBlock [SWS_Fee_00092] 📄 PDF
Std_ReturnType Fee_InvalidateBlock (uint16 BlockNumber);
Service to invalidate a logical block.
The function Fee_InvalidateBlock serves as a service to invalidate a logical block in flash memory [SWS_Fee_00092]. It is available via header Fee.h and has Service ID 0x07 [SWS_Fee_00092].
Usage and Parameters
The call is asynchronous; the actual invalidation is thus initiated as a background job [SWS_Fee_00092]:
- Block Number (
uint16, in): Designates the logical block number, which simultaneously determines the start address of the block in flash memory [SWS_Fee_00092]. - Return value (
Std_ReturnType): ReturnsE_OKif the invalidation job was successfully accepted by the module [SWS_Fee_00092].
Error handling
If the module was unable to accept the request, E_NOT_OK is returned – according to the specification, however, this error return is explicitly restricted to configurations with DET enabled (only if DET is enabled) [SWS_Fee_00092]. Interpretation: If DET is disabled, a job rejection is likely not signaled to the caller via E_NOT_OK, since the specification ties the return of this error value to DET activation. Question Q-2e54187ddb69e481 (open)
Concurrency and Constraints
The interface is declared as non-reentrant (Non Reentrant) [SWS_Fee_00092]. Callers must therefore ensure that no parallel or interrupting calls to Fee_InvalidateBlock take place as long as a previous function call is active [SWS_Fee_00092].
This text was generated by an AI based on the AUTOSAR R20-11 specification.
function Fee_GetVersionInfo [SWS_Fee_00093] 📄 PDF
void Fee_GetVersionInfo (Std_VersionInfoType* VersionInfoPtr);
Service to return the version information of the FEE module.
function Fee_EraseImmediateBlock [SWS_Fee_00094] 📄 PDF
Std_ReturnType Fee_EraseImmediateBlock (uint16 BlockNumber);
Service to erase a logical block.
Usage and Parameters
The function Fee_EraseImmediateBlock provides an asynchronous service for erasing a logical block and is declared via header file Fee.h [SWS_Fee_00094]. The function has the hexadecimal Service ID 0x09 [SWS_Fee_00094]. The sole input parameter is Block Number of type uint16; this specifies the number of the logical block and simultaneously designates its start address in the EEPROM [SWS_Fee_00094].
Return Values and Error Handling
As return value, the interface returns status Std_ReturnType [SWS_Fee_00094]. The value E_OK confirms that the module has successfully accepted the requested erase job [SWS_Fee_00094]. If the job was not accepted by the module, the function returns E_NOT_OK; according to the specification, however, this return value occurs only with DET error monitoring enabled [SWS_Fee_00094].
Concurrency and Limitations
Regarding concurrency and call conditions, Fee_EraseImmediateBlock is classified as non-reentrant (Non Reentrant) and operates asynchronously [SWS_Fee_00094]. Calling modules must therefore ensure that no further call to the same interface occurs as long as the module is still busy processing.
Contextual explanation based on the AUTOSAR specification.
function 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
The function Fee_JobEndNotification serves to inform the Fee module of the successful completion of an asynchronous operation ([SWS_Fee_00095]).
With regard to usage and signature, the following specifications apply:
- Signature and parameters: The function has the signature
void Fee_JobEndNotification (void);. It expects neither input, input/output, nor output parameters and provides no return value ([SWS_Fee_00095]). - Header: The declaration is provided via
Fee.h([SWS_Fee_00095]). - Service ID: The function is defined via the service ID
0x10([SWS_Fee_00095]). - Synchronism: The call itself is specified as synchronous ([SWS_Fee_00095]).
- Concurrency: The routine is classified as non-reentrant (Non Reentrant) ([SWS_Fee_00095]).
Interaction and call context: Typically, this callback is expected to be called by an underlying module (such as a flash driver) to signal the end of an asynchronous write or erase job. Question Q-8a3ccdba2024001f (open) Due to the Non Reentrant property, the caller must ensure that no concurrent calls occur ([SWS_Fee_00095]).
This text was generated by an AI based on the AUTOSAR specification for R20-11.
function Fee_JobErrorNotification [SWS_Fee_00096] 📄 PDF
void Fee_JobErrorNotification (void);
Service to report to this module the failure of an asynchronous operation.
The function Fee_JobErrorNotification serves as a notification service to inform the Fee module of the failure of an asynchronous operation [SWS_Fee_00096]. The interface has the signature void Fee_JobErrorNotification (void) and is available via header Fee.h [SWS_Fee_00096]. Neither input, input/output, nor output parameters are passed to the service with identifier 0x11 [SWS_Fee_00096]. Likewise, the call returns no return value to the caller [SWS_Fee_00096].
The execution semantics of the call is specified as synchronous (Synchronous) [SWS_Fee_00096]. For the runtime behavior, the central restriction applies that the function is non-reentrant (Non Reentrant) [SWS_Fee_00096]. Interpretation: The caller – which is presumably an underlying driver component – must ensure that the notification is never triggered concurrently or in parallel from interrupting contexts. Question Q-7d4c9618bf385721 (open)
Regarding error handling, no specific error codes are transmitted by the parameterless interface, and no module-specific DET or DEM notifications are documented for this call [SWS_Fee_00096]. The Fee module is likely to assign the reported error case internally to the active asynchronous job and adjust its status accordingly. Question Q-1fa43444195edb62 (open)
This text was generated by an AI based on the AUTOSAR R20-11 specification.
function Fee_MainFunction [SWS_Fee_00097] 📄 PDF
void Fee_MainFunction (void);
Service to handle the requested read / write / erase jobs and the internal management operations.
According to [SWS_Fee_00097], the function Fee_MainFunction serves for the central processing of requested read, write, and erase jobs as well as the execution of internal management operations of the module. It is specified with the signature void Fee_MainFunction (void); and Service ID 0x12 [SWS_Fee_00097].
Regarding interface and usage, the function processes no input parameters and has no return value [SWS_Fee_00097]. From its availability via header SchM_Fee.h, it can presumably be deduced that its invocation is performed cyclically by the schedule management of the basic software. Question Q-5ef9bcc5f438cb89 (open) The description suggests that jobs previously passed asynchronously are likely to be processed successively within these periodic cycles.
The specification contains no separate identifiers or error codes regarding error scenarios, reentrancy, and specific call conditions [SWS_Fee_00097]. Interpretation: As the central cyclic control function for the module state, Fee_MainFunction is likely to be non-reentrant, which is why concurrent invocation from multiple tasks must be avoided. Question (open)
This text was generated by an AI based on the AUTOSAR specification R20-11.
function NvM_JobEndNotification [SWS_Fee_00098] 📄 PDF
void NvM_JobEndNotification (void);
-
Usage and signature
The function NvM_JobEndNotification is defined as a service in the specification of the Flash EEPROM Emulation (Fee) and is available via header file Nvm.h ([SWS_Fee_00098]). According to its syntax void NvM_JobEndNotification (void);, the function requires neither input nor output parameters and returns no return value ([SWS_Fee_00098]). A synchronous semantics is specified for the execution behavior (Sync/Async: true) ([SWS_Fee_00098]).
Concurrency and Limitations
Regarding reentrancy, the function is classified with Don't care ([SWS_Fee_00098]). Specific restrictions regarding the call context are not defined in the specification. Separate error handling via DET or DEM notifications is not specified for this element ([SWS_Fee_00098]).
Interaction and Functional Classification
Although the function is part of the Flash EEPROM Emulation specification, the description field contains no further details ([SWS_Fee_00098]). Interpretation: Due to the naming and declaration in Nvm.h, the function is presumably likely to serve as a callback interface via which module Fee signals the regular completion of an asynchronously processed job to module NvM. Question Q-ee00bece2e28a0e4 (open)
This usage note was generated automatically based on the specification of AUTOSAR Release R20-11.
function NvM_JobErrorNotification [SWS_Fee_00099] 📄 PDF
void NvM_JobErrorNotification (void);
-
Usage and Call Context
According to [SWS_Fee_00099], the function NvM_JobErrorNotification is defined as a synchronous interface (Sync/ Async true). Its declaration is provided via header file Nvm.h ([SWS_Fee_00099]). The signature is void NvM_JobErrorNotification (void), meaning it accepts neither input, in-out, nor output parameters and returns no return value ([SWS_Fee_00099]). According to the identifier and the assignment to module Fee, this callback function is likely intended to notify NVRAM management in the event of an error during asynchronous job processing in the flash EEPROM emulation driver. Question Q-4d70f8d384e04832 (open)
Error Handling and Concurrency
In [SWS_Fee_00099], no specific error codes, DET notifications, or DEM events are listed. Since no status or error parameters are passed, a detailed error analysis is presumably likely based on internal module states or subsequent queries to the driver. Question Q-c45e72b67236c432 (open) Regarding concurrency, [SWS_Fee_00099] specifies the criterion Don't care for reentrancy, meaning that no restricting requirements regarding reentrancy are formulated by the requirement.
This text was generated by an AI based on the specification.
type 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#5b9f63f8- Content hash
5b9f63f8- 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 · German original