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
função Fee_Init [SWS_Fee_00085] 📄 PDF
void Fee_Init (const Fee_ConfigType* ConfigPtr);
Service to initialize the FEE module.
A função Fee_Init serve como serviço central para a inicialização do módulo de emulação Flash EEPROM (FEE) [SWS_Fee_00085]. A chamada é realizada através da interface declarada em Fee.h com o Service-ID 0x00 [SWS_Fee_00085]. O único parâmetro de entrada passado é ConfigPtr, que serve como ponteiro para o conjunto de dados de configuração selecionado do tipo const Fee_ConfigType* [SWS_Fee_00085]. Parâmetros adicionais de entrada/saída ou puramente de saída não estão definidos, e a função não retorna nenhum valor de retorno (void) [SWS_Fee_00085].
Embora se trate de uma função de inicialização fundamental, a semântica de execução é explicitamente classificada na especificação como assíncrona (Asynchronous) [SWS_Fee_00085]. Interpretação: Como a função atua de forma assíncrona, a chamada de Fee_Init provavelmente apenas inicia a inicialização do módulo, enquanto etapas de inicialização demoradas são concluídas em segundo plano de forma não bloqueante [SWS_Fee_00085]. Pergunta Q-7d91ac2e51869606 (aberta)
Para a concorrência e o contexto de chamada, a especificação estabelece que Fee_Init não é reentrante (Non Reentrant) [SWS_Fee_00085]. Consequentemente, a função não pode ser chamada em paralelo ou de forma aninhada a partir de contextos diferentes em momento algum [SWS_Fee_00085].
Esta nota de uso foi gerada por uma IA e baseia-se exclusivamente na especificação AUTOSAR Classic Release R20-11.
Guia do implementador em breve (complexidade I1)
função Fee_SetMode [SWS_Fee_00086] 📄 PDF
void Fee_SetMode (MemIf_ModeType Mode);
Function to switch the mode of the underlying Flash Driver
Utilização e contexto de chamada
A função Fee_SetMode serve para comutar o modo de operação do driver de flash subjacente ([SWS_Fee_00086]). Ela é disponibilizada por meio do arquivo de cabeçalho Fee.h com o Service-ID 0x01 ([SWS_Fee_00086]). O serviço espera como único parâmetro de entrada Mode (do tipo MemIf_ModeType), que define o modo de operação desejado do driver de flash ([SWS_Fee_00086]). Não são passados parâmetros de saída nem valor de retorno (void) ([SWS_Fee_00086]).
Semântica assíncrona e concorrência
A interface é especificada como assíncrona ([SWS_Fee_00086]). Como nenhum valor funcional é retornado após a chamada, o processo de comutação real do hardware de flash deve ocorrer com atraso temporal em segundo plano. Pergunta Q-9dbc267f51e150af (aberta) Em relação ao contexto de chamada, Fee_SetMode é classificada como não reentrante (Non Reentrant) ([SWS_Fee_00086]). Os chamadores devem, portanto, assegurar que a função não seja chamada simultaneamente ou de forma interruptiva a partir de diferentes threads ou tarefas.
Tratamento de erros e interação
No presente trecho de especificação, não há códigos de erro específicos, mensagens de erro DET ou eventos DEM definidos para Fee_SetMode ([SWS_Fee_00086]). Da mesma forma, não são indicadas relações diretas com outros requisitos. Interpretação: Uma eventual verificação de valores de modo inválidos provavelmente deve ser tratada internamente no driver ou no módulo Fee, sem retorno explícito de erro ao chamador. Pergunta (aberta)
Este texto foi gerado por uma IA e baseia-se exclusivamente nas especificações da release AUTOSAR R20-11.
Guia do implementador em breve (complexidade I1)
função Fee_Read [SWS_Fee_00087] 📄 PDF
Std_ReturnType Fee_Read (uint16 BlockNumber, uint16 BlockOffset, uint8* DataBufferPtr, uint16 Length);
Service to initiate a read job.
usar
A função Fee_Read serve para iniciar uma solicitação de leitura assíncrona no módulo Flash EEPROM Emulation e é declarada através do arquivo de cabeçalho Fee.h [SWS_Fee_00087]. Ela possui o Service-ID 0x02 e aceita os seguintes parâmetros de passagem [SWS_Fee_00087]:
Block Number: Número do bloco lógico, que indica simultaneamente o seu endereço inicial na memória flash.Block Offset: Deslocamento (offset) de leitura dentro do bloco em questão.Length: Quantidade de bytes a serem lidos do bloco.Data Buffer Ptr: Ponteiro para o buffer de destino para armazenamento dos dados lidos.
Como valor de retorno, a função fornece Std_ReturnType: E_OK sinaliza que a solicitação de leitura solicitada foi aceita pelo módulo; E_NOT_OK indica que a solicitação foi rejeitada [SWS_Fee_00087].
Simultaneidade e restrições
A chamada de Fee_Read é especificada como não reentrante (Non Reentrant) e assíncrona (Asynchronous) [SWS_Fee_00087].
Interação com o driver de flash
Se a função Fls_BlankCheck estiver configurada no driver flash, Fee_Read deve chamar essa função [SWS_Fee_00187]. Isso serve para a verificação prévia de se a área de memória pode ser lida sem disparar, por exemplo, erros de ECC decorrentes de células flash apagadas, mas ainda não programadas [SWS_Fee_00187].
Esta nota de uso foi gerada automaticamente com base na especificação AUTOSAR CP R20-11.
Guia do implementador em breve (complexidade I1)
função Fee_Write [SWS_Fee_00088] 📄 PDF
Std_ReturnType Fee_Write (uint16 BlockNumber, const uint8* DataBufferPtr);
Service to initiate a write job.
Utilização e semântica
A função Fee_Write serve como serviço para iniciar uma solicitação de escrita no módulo de emulação Flash EEPROM de acordo com [SWS_Fee_00088]. A declaração está disponível através do cabeçalho Fee.h. A chamada ocorre de forma assíncrona: a função apenas inicia o processo de escrita e não bloqueia até a conclusão física do processo de escrita.
Para a passagem dos dados de escrita estão definidos dois parâmetros [SWS_Fee_00088]:
BlockNumber(uint16): Designa o número do bloco lógico e define simultaneamente o endereço inicial deste bloco na EEPROM.DataBufferPtr(const uint8*): Ponteiro para o buffer de dados que contém os dados úteis a serem escritos.
Valores de retorno e concorrência
O valor de retorno do tipo Std_ReturnType sinaliza imediatamente se a solicitação de escrita pôde ser aceita pelo módulo [SWS_Fee_00088]:
E_OK: A solicitação requerida foi aceita pelo módulo.E_NOT_OK: A solicitação não foi aceita pelo módulo.
Em relação à concorrência, Fee_Write é especificada como não reentrante (Non Reentrant) [SWS_Fee_00088]. Os chamadores devem, portanto, assegurar que a função não seja chamada concorrentemente a partir de contextos diferentes. O Service-ID da função é 0x03 [SWS_Fee_00088]. Interpretação: A transferência física dos dados provavelmente será processada em segundo plano de forma assíncrona por ciclos subsequentes do módulo após o retorno de E_OK. Pergunta Q-8bedddcf2371f6bf (aberta)
Este texto foi gerado por uma IA e serve como orientação. São determinantes as especificações AUTOSAR referenciadas.
função Fee_Cancel [SWS_Fee_00089] 📄 PDF
void Fee_Cancel (void);
Service to call the cancel function of the underlying flash driver.
A função Fee_Cancel é um serviço síncrono do módulo Fee para encaminhamento de uma solicitação de cancelamento ao driver flash subjacente [SWS_Fee_00089]. Este serviço é declarado através do cabeçalho Fee.h e possui o Service-ID numérico 0x04 [SWS_Fee_00089].
Utilização e contexto de chamada
A interface possui a assinatura void Fee_Cancel (void) [SWS_Fee_00089]. Para a chamada aplicam-se, conforme a especificação, as seguintes características de parâmetros e de execução:
- Parâmetros: A função não espera parâmetros de passagem; não existem parâmetros de entrada, de entrada/saída nem de saída [SWS_Fee_00089].
- Valor de retorno: Nenhum valor de retorno é retornado ao chamador [SWS_Fee_00089].
- Sincronicidade: O processamento da chamada de função é definido como síncrono (Synchronous) [SWS_Fee_00089].
Simultaneidade e restrições
Em relação ao comportamento de concorrência, Fee_Cancel é especificada como não reentrante (Non Reentrant) [SWS_Fee_00089]. Instâncias chamadoras devem, portanto, garantir que a função não seja chamada em paralelo ou de forma aninhada a partir de contextos de tarefa ou de interrupção diferentes.
Interação e tratamento de erros
A tarefa central de Fee_Cancel consiste em chamar a função de cancelamento do driver flash subjacente [SWS_Fee_00089]. Códigos de erro específicos, valores de retorno ou mensagens de erro não estão definidos para esta função no payload. Como nenhum tratamento de erros é descrito, o comportamento em caso de falha provavelmente dependerá da implementação do driver flash chamado. Pergunta Q-bb066b6c05a2eb12 (aberta)
Esta nota de uso foi gerada automaticamente e baseia-se exclusivamente nos conteúdos da especificação do Release AUTOSAR R20-11.
função 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
função 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.
função Fee_InvalidateBlock [SWS_Fee_00092] 📄 PDF
Std_ReturnType Fee_InvalidateBlock (uint16 BlockNumber);
Service to invalidate a logical block.
A função Fee_InvalidateBlock serve como serviço para invalidar um bloco lógico na memória flash [SWS_Fee_00092]. Ela está disponível por meio do cabeçalho Fee.h e possui o Service-ID 0x07 [SWS_Fee_00092].
Utilização e parâmetros
A chamada ocorre de forma assíncrona; a invalidação real é, portanto, disparada como uma solicitação em segundo plano [SWS_Fee_00092]:
- Block Number (
uint16, in): Designa o número do bloco lógico, que ao mesmo tempo determina o endereço inicial do bloco na memória flash [SWS_Fee_00092]. - Rückgabewert (
Std_ReturnType): RetornaE_OKse a solicitação de invalidação tiver sido aceita com sucesso pelo módulo [SWS_Fee_00092].
Tratamento de erros
Se o módulo não puder aceitar a solicitação, E_NOT_OK é retornado – de acordo com a especificação, no entanto, esse retorno de erro é expressamente restrito a configurações com DET ativado (only if DET is enabled) [SWS_Fee_00092]. Interpretação: Se o DET estiver desativado, uma rejeição da solicitação provavelmente não deve ser sinalizada ao chamador por meio de E_NOT_OK, uma vez que a especificação vincula o retorno desse valor de erro à ativação do DET. Pergunta Q-2e54187ddb69e481 (aberta)
Simultaneidade e condições marginais
A interface é declarada como não reentrante (Non Reentrant) [SWS_Fee_00092]. Os chamadores devem, portanto, assegurar que não ocorram chamadas paralelas ou interruptivas de Fee_InvalidateBlock enquanto uma chamada de função anterior estiver ativa [SWS_Fee_00092].
Este texto foi gerado por uma IA com base na especificação AUTOSAR R20-11.
função Fee_GetVersionInfo [SWS_Fee_00093] 📄 PDF
void Fee_GetVersionInfo (Std_VersionInfoType* VersionInfoPtr);
Service to return the version information of the FEE module.
função Fee_EraseImmediateBlock [SWS_Fee_00094] 📄 PDF
Std_ReturnType Fee_EraseImmediateBlock (uint16 BlockNumber);
Service to erase a logical block.
Utilização e parâmetros
A função Fee_EraseImmediateBlock disponibiliza um serviço assíncrono para apagar um bloco lógico e é declarada por meio do arquivo de cabeçalho Fee.h [SWS_Fee_00094]. A função possui o Service-ID hexadecimal 0x09 [SWS_Fee_00094]. Como único parâmetro de entrada serve Block Number do tipo uint16; este especifica o número do bloco lógico e identifica, ao mesmo tempo, seu endereço inicial na EEPROM [SWS_Fee_00094].
Valores de retorno e tratamento de erros
Como valor de retorno, a interface fornece o status Std_ReturnType [SWS_Fee_00094]. O valor E_OK confirma que o módulo recebeu com sucesso a solicitação de exclusão solicitada [SWS_Fee_00094]. Se a solicitação não foi aceita pelo módulo, a função fornece E_NOT_OK; de acordo com a especificação, este valor de retorno ocorre, contudo, apenas com o monitoramento de erros DET ativado [SWS_Fee_00094].
Simultaneidade e restrições
Em relação à concorrência e às condições de chamada, Fee_EraseImmediateBlock é classificada como não reentrante (Non Reentrant) e opera de forma assíncrona [SWS_Fee_00094]. Módulos chamadores devem, portanto, assegurar que nenhuma outra chamada da mesma interface ocorra enquanto o módulo ainda estiver ocupado com o processamento.
Explicação contextual baseada na especificação AUTOSAR.
função 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
A função Fee_JobEndNotification serve para comunicar ao módulo Fee a conclusão bem-sucedida de uma operação assíncrona ([SWS_Fee_00095]).
Em relação ao uso e à assinatura aplicam-se as seguintes definições:
- Assinatura e parâmetros: A função possui a assinatura
void Fee_JobEndNotification (void);. Ela não espera parâmetros de entrada, de entrada/saída nem de saída e não fornece valor de retorno ([SWS_Fee_00095]). - Cabeçalho: A declaração é disponibilizada através de
Fee.h([SWS_Fee_00095]). - Service-ID: A função é definida através do Service-ID
0x10([SWS_Fee_00095]). - Sincronismo: A própria chamada é especificada como síncrona ([SWS_Fee_00095]).
- Concorrência: A rotina é classificada como não reentrante (Non Reentrant) ([SWS_Fee_00095]).
Interação e contexto de chamada: Tipicamente, este callback provavelmente é chamado por um módulo subjacente (como um driver flash) para sinalizar o fim de uma solicitação de escrita ou apagamento assíncrona. Pergunta Q-8a3ccdba2024001f (aberta) Devido à propriedade Non Reentrant, o chamador deve assegurar que não ocorram chamadas concorrentes ([SWS_Fee_00095]).
Este texto foi gerado por uma IA com base na especificação AUTOSAR para R20-11.
função Fee_JobErrorNotification [SWS_Fee_00096] 📄 PDF
void Fee_JobErrorNotification (void);
Service to report to this module the failure of an asynchronous operation.
A função Fee_JobErrorNotification serve como serviço de notificação para informar ao módulo Fee a falha de uma operação assíncrona [SWS_Fee_00096]. A interface possui a assinatura void Fee_JobErrorNotification (void) e está disponível por meio do cabeçalho Fee.h [SWS_Fee_00096]. Nenhum parâmetro de entrada, entrada/saída ou saída é passado para o serviço com o identificador 0x11 [SWS_Fee_00096]. Da mesma forma, a chamada não retorna nenhum valor de retorno ao chamador [SWS_Fee_00096].
A semântica de execução da chamada é especificada como síncrona (Synchronous) [SWS_Fee_00096]. Para o comportamento em tempo de execução, aplica-se a restrição central de que a função não é reentrante (Non Reentrant) [SWS_Fee_00096]. Interpretação: O chamador – que provavelmente se trata de um componente de driver subjacente – deve garantir que a notificação nunca seja acionada de forma concorrente ou a partir de contextos interruptivos em paralelo. Pergunta Q-7d4c9618bf385721 (aberta)
Em relação ao tratamento de erros, nenhum código de erro específico é transmitido pela interface sem parâmetros e nenhuma mensagem DET ou DEM específica do módulo é documentada para esta chamada [SWS_Fee_00096]. O módulo Fee deve associar internamente a falha notificada à solicitação assíncrona ativa e ajustar seu status adequadamente. Pergunta Q-1fa43444195edb62 (aberta)
Este texto foi gerado por uma IA com base na especificação AUTOSAR R20-11.
função Fee_MainFunction [SWS_Fee_00097] 📄 PDF
void Fee_MainFunction (void);
Service to handle the requested read / write / erase jobs and the internal management operations.
A função Fee_MainFunction serve, de acordo com [SWS_Fee_00097], para o processamento central de solicitações de leitura, gravação e exclusão requisitadas, bem como para a execução de operações de gerenciamento interno do módulo. Ela é especificada com a assinatura void Fee_MainFunction (void); e o Service-ID 0x12 [SWS_Fee_00097].
Em relação à interface e ao uso, a função não processa parâmetros de passagem e não possui valor de retorno [SWS_Fee_00097]. A partir da disponibilidade por meio do cabeçalho SchM_Fee.h, pode-se presumir provavelmente que sua chamada ocorre ciclicamente pelo gerenciamento de escalonamento do software básico. Pergunta Q-5ef9bcc5f438cb89 (aberta) A descrição sugere que solicitações previamente transferidas de forma assíncrona devem ser processadas sucessivamente dentro desses ciclos periódicos.
A especificação não contém identificadores ou códigos de erro específicos para cenários de erro, reentrância e condições de chamada específicas [SWS_Fee_00097]. Interpretação: Como função central de controle cíclico para o estado do módulo, Fee_MainFunction provavelmente não é reentrante, razão pela qual uma chamada concorrente a partir de múltiplas tarefas deve ser evitada. Pergunta (aberta)
Este texto foi gerado por uma IA com base na especificação AUTOSAR R20-11.
função NvM_JobEndNotification [SWS_Fee_00098] 📄 PDF
void NvM_JobEndNotification (void);
-
Uso e assinatura
A função NvM_JobEndNotification é definida como serviço na especificação da Flash EEPROM Emulation (Fee) e está disponível por meio do arquivo de cabeçalho Nvm.h ([SWS_Fee_00098]). De acordo com sua sintaxe void NvM_JobEndNotification (void);, a função não exige parâmetros de entrada nem de saída e não fornece valor de retorno ([SWS_Fee_00098]). Para o comportamento de execução, está estabelecida uma semântica síncrona (Sync/Async: true) ([SWS_Fee_00098]).
Simultaneidade e restrições
Em relação à reentrância, a função é classificada com Don't care ([SWS_Fee_00098]). Restrições específicas relativas ao contexto de chamada não são predefinidas na especificação. Um tratamento de erros em separado por meio de mensagens DET ou DEM não está especificado para este elemento ([SWS_Fee_00098]).
Interação e enquadramento funcional
Embora a função seja parte integrante da especificação da Flash EEPROM Emulation, o campo de descrição não contém mais detalhes ([SWS_Fee_00098]). Interpretação: Devido ao nome e à declaração em Nvm.h, a função deve provavelmente servir como interface de callback pela qual o módulo Fee sinaliza a conclusão regular de uma solicitação processada assincronamente para o módulo NvM. Pergunta Q-ee00bece2e28a0e4 (aberta)
Esta nota de uso foi gerada automaticamente com base na especificação do AUTOSAR Release R20-11.
função NvM_JobErrorNotification [SWS_Fee_00099] 📄 PDF
void NvM_JobErrorNotification (void);
-
Utilização e contexto de chamada
A função NvM_JobErrorNotification é definida de acordo com [SWS_Fee_00099] como uma interface síncrona (Sync/ Async true). Sua declaração é disponibilizada por meio do arquivo de cabeçalho Nvm.h ([SWS_Fee_00099]). A assinatura é void NvM_JobErrorNotification (void), não aceitando assim parâmetros de entrada, passagem ou saída e não fornecendo valor de retorno ([SWS_Fee_00099]). De acordo com o identificador e a atribuição ao módulo Fee, esta função de callback deve servir para notificar o gerenciamento de NVRAM em caso de erro ocorrido durante o processamento assíncrono de solicitações no driver de emulação de EEPROM em flash. Pergunta Q-4d70f8d384e04832 (aberta)
Tratamento de erros e simultaneidade
Em [SWS_Fee_00099] não estão listados códigos de erro específicos, mensagens DET ou eventos DEM. Como não são passados parâmetros de status ou de erro, uma análise detalhada de erros deve basear-se provavelmente em estados internos do módulo ou em consultas posteriores do driver. Pergunta Q-c45e72b67236c432 (aberta) Em relação à concorrência, [SWS_Fee_00099] especifica o critério Don't care para a reentrância, não sendo formuladas restrições à reentrância por parte do requisito.
Este texto foi gerado por uma IA com base na especificação.
tipo 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#e407fe43- Content hash
e407fe43- 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 · Original em alemão