Memory Abstraction Interface (MemIf)
Abstracts underlying Flash and EEPROM memory drivers.
Funktionen — Übersicht
void MemIf_SetMode (MemIf_ModeType Mode);Invokes the "Set Mode" functions of all underlying memory abstraction modules.Std_ReturnType MemIf_Read (uint8 DeviceIndex, uint16 BlockNumber, uint16 BlockOffset, uint8* DataBufferPtr, uint16 Length);Invokes the "Read" function of the underlying memory abstraction module selected by the parameter Device Index.Std_ReturnType MemIf_Write (uint8 DeviceIndex, uint16 BlockNumber, const uint8* DataBufferPtr);Invokes the "Write" function of the underlying memory abstraction module selected by the parameter Device Index.void MemIf_Cancel (uint8 DeviceIndex);Invokes the "Cancel" function of the underlying memory abstraction module selected by the parameter Device Index.MemIf_StatusType MemIf_GetStatus (uint8 DeviceIndex);Invokes the "Get Status" function of the underlying memory abstraction module selected by the parameter Device Index.MemIf_JobResultType MemIf_GetJobResult (uint8 DeviceIndex);Invokes the "Get Job Result" function of the underlying memory abstraction module selected by the parameter Device Index.Std_ReturnType MemIf_InvalidateBlock (uint8 DeviceIndex, uint16 BlockNumber);Invokes the "Invalidate Block" function of the underlying memory abstraction modulevoid MemIf_GetVersionInfo (Std_VersionInfoType* VersionInfoPtr);Returns version information.Std_ReturnType MemIf_EraseImmediateBlock (uint8 DeviceIndex, uint16 BlockNumber);Invokes the "Erase Immediate Block" function of the underlying memory abstraction module selected by the parameter Device Index.
Typen — Übersicht
enum MemIf_StatusTypeDenotes the current status of the underlying abstraction module and device drive.enum MemIf_JobResultTypeDenotes the result of the last job.enum MemIf_ModeTypeDenotes the operation mode of the underlying abstraction mod ules and device drivers.
Funktionen & Typen — Detailansicht
função MemIf_SetMode [SWS_MemIf_00038] 📄 PDF
void MemIf_SetMode (MemIf_ModeType Mode);
Invokes the "Set Mode" functions of all underlying memory abstraction modules.
A função MemIf_SetMode serve para a comutação síncrona do modo de operação através da interface de memória [SWS_MemIf_00038]. Ao ser chamada, ela encaminha o modo solicitado para as funções individuais de "Set Mode" de todos os módulos de abstração de memória subjacentes [SWS_MemIf_00038]. Como parâmetro, é passado o modo de destino Mode, enquanto a função não fornece nenhum valor de retorno [SWS_MemIf_00038]. A interface está definida com o ID de serviço 0x01 no cabeçalho MemIf.h [SWS_MemIf_00038].
Em relação à concorrência, MemIf_SetMode está especificada como não reentrante (Non Reentrant) [SWS_MemIf_00038]. Interpretação: Presume-se que os chamadores não possam chamar a função simultaneamente ou com interrupção a partir de múltiplas tarefas ou rotinas de serviço de interrupção, razão pela qual um acesso concorrente, caso necessário, deve ser coordenado por mecanismos externos de proteção.
Pergunta Q-02b14e9cb4b05dc9 (aberta)
Devido à semântica de execução síncrona, a chamada só retorna ao chamador após o encaminhamento da solicitação aos módulos de abstração de memória [SWS_MemIf_00038]. Valores de retorno específicos para indicação de erros ou mensagens de erro DET ou DEM separadas não estão previstos para esta função na especificação do elemento [SWS_MemIf_00038].
Esta nota de uso foi gerada automaticamente e baseia-se exclusivamente nas informações da especificação AUTOSAR R20-11.
Guia do implementador em breve (complexidade I1)
função MemIf_Read [SWS_MemIf_00039] 📄 PDF
Std_ReturnType MemIf_Read (uint8 DeviceIndex, uint16 BlockNumber, uint16 BlockOffset, uint8* DataBufferPtr, uint16 Length);
Invokes the "Read" function of the underlying memory abstraction module selected by the parameter Device Index.
A função MemIf_Read encaminha uma solicitação de leitura de forma síncrona para o módulo de abstração de memória subjacente selecionado através do parâmetro DeviceIndex [SWS_MemIf_00039]. Ela está declarada no cabeçalho MemIf.h e serve para a leitura de dados de um bloco de memória lógico.
Parâmetros e interface
A chamada de MemIf_Read inclui os seguintes parâmetros de entrada e saída [SWS_MemIf_00039]:
DeviceIndex: Índice do dispositivo de destino para a seleção do módulo de destino.BlockNumber: Número de bloco lógico do bloco de memória a ser lido.BlockOffset: Deslocamento em bytes (offset) dentro do bloco lógico a partir do qual a leitura é realizada.DataBufferPtr: Ponteiro para o buffer de armazenamento dos dados lidos.Length: Quantidade de bytes de dados a serem lidos.
Tratamento de erros e valores de retorno
Se a detecção de erros de desenvolvimento (Development Error Detection) estiver ativa e um erro de desenvolvimento for detectado, a função retorna E_NOT_OK [SWS_MemIf_00039]. Caso contrário, o valor de retorno da função de leitura chamada do módulo subjacente é repassado como Std_ReturnType [SWS_MemIf_00039].
Simultaneidade e restrições
A função é especificada como síncrona e não reentrante (Non Reentrant) [SWS_MemIf_00039]. Portanto, uma chamada deve ocorrer tipicamente no contexto de tarefa; chamadas paralelas ou aninhadas devem ser evitadas ou serializadas pelo chamador. Pergunta Q-b774bf07a69e28af (aberta)
Esta nota de uso foi gerada por uma IA e baseia-se na especificação AUTOSAR R20-11.
função MemIf_Write [SWS_MemIf_00040] 📄 PDF
Std_ReturnType MemIf_Write (uint8 DeviceIndex, uint16 BlockNumber, const uint8* DataBufferPtr);
Invokes the "Write" function of the underlying memory abstraction module selected by the parameter Device Index.
Utilização e contexto de chamada
A função de interface MemIf_Write atua como camada de abstração e chama a função Write do módulo de abstração de memória subjacente, o qual é selecionado através do parâmetro DeviceIndex [SWS_MemIf_00040]. Na chamada síncrona, são transmitidos três parâmetros de entrada: o índice do dispositivo DeviceIndex para a seleção do driver de destino, o número de bloco lógico BlockNumber bem como o ponteiro DataBufferPtr para o buffer com os dados a serem gravados [SWS_MemIf_00040]. A função está especificada sob o service ID 0x03 e disponível através do arquivo de cabeçalho MemIf.h [SWS_MemIf_00040].
Tratamento de erros e valores de retorno
O valor de retorno é do tipo Std_ReturnType [SWS_MemIf_00040]. Se a detecção de erros de desenvolvimento (Development Error Detection) para a Memory Abstraction Interface estiver ativa e um erro de desenvolvimento for detectado de acordo com [SWS_MemIf_00022], MemIf_Write retorna o código de erro E_NOT_OK [SWS_MemIf_00040]. Se não houver erro, a função encaminha o valor de retorno do módulo subjacente chamado inalterado para o chamador [SWS_MemIf_00040].
Simultaneidade e condições marginais
Em relação ao comportamento de concorrência, MemIf_Write é definida como síncrona e não reentrante (Non Reentrant) [SWS_MemIf_00040].
Esta nota de utilização foi gerada por uma IA com base na especificação AUTOSAR Classic R20-11.
função MemIf_Cancel [SWS_MemIf_00041] 📄 PDF
void MemIf_Cancel (uint8 DeviceIndex);
Invokes the "Cancel" function of the underlying memory abstraction module selected by the parameter Device Index.
A função síncrona MemIf_Cancel serve para chamar a função cancel do módulo de abstração de memória subjacente que é selecionado através do parâmetro Device Index [SWS_MemIf_00041]. O serviço não possui valor de retorno e encaminha a ordem de cancelamento diretamente para a instância de abstração endereçada [SWS_MemIf_00041].
Para a chamada e a integração, aplicam-se as seguintes propriedades técnicas:
- Contexto de chamada e concorrência: A função é definida como não reentrante (
Non Reentrant) [SWS_MemIf_00041]. Os chamadores devem garantir que a execução não ocorra de forma concorrente ou interruptiva por outros contextos. - Assinatura e identificação: A interface
void MemIf_Cancel (uint8 Device Index)possui o service ID0x04e é disponibilizada através do arquivo de cabeçalhoMemIf.h[SWS_MemIf_00041]. - Parâmetros: O parâmetro de entrada
Device Index(tipouint8) seleciona o módulo de destino; parâmetros de entrada/saída ou de retorno não estão presentes [SWS_MemIf_00041]. - Tratamento de erros: A especificação não descreve códigos de erro específicos, valores de retorno ou mensagens DET para esta função [SWS_MemIf_00041] (interpretação: uma verificação de índices de dispositivo inválidos provavelmente fica a cargo da arquitetura do sistema de nível superior ou do módulo subjacente). Pergunta Q-4a5d989ce611ba89 (aberta)
Esta nota de uso foi criada por uma IA com base na especificação AUTOSAR R20-11.
função MemIf_GetStatus [SWS_MemIf_00042] 📄 PDF
MemIf_StatusType MemIf_GetStatus (uint8 DeviceIndex);
Invokes the "Get Status" function of the underlying memory abstraction module selected by the parameter Device Index.
função MemIf_GetJobResult [SWS_MemIf_00043] 📄 PDF
MemIf_JobResultType MemIf_GetJobResult (uint8 DeviceIndex);
Invokes the "Get Job Result" function of the underlying memory abstraction module selected by the parameter Device Index. Available v ia Mem If.h
função MemIf_InvalidateBlock [SWS_MemIf_00044] 📄 PDF
Std_ReturnType MemIf_InvalidateBlock (uint8 DeviceIndex, uint16 BlockNumber);
Invokes the "Invalidate Block" function of the underlying memory abstraction module AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_MemoryAbstractionInterface selected by the parameter Device Index.
A função síncrona MemIf_InvalidateBlock encaminha a ordem de invalidação de um bloco lógico para o módulo de abstração de memória subjacente selecionado através do parâmetro DeviceIndex [SWS_MemIf_00044]. A interface é disponibilizada através do cabeçalho MemIf.h e possui o ID de serviço 0x07 [SWS_MemIf_00044].
Utilização e parâmetros
A chamada ocorre de forma síncrona e passa os seguintes parâmetros de entrada para o destino de endereçamento [SWS_MemIf_00044]:
DeviceIndex: Índice numérico do módulo de abstração de memória subjacente [SWS_MemIf_00044].BlockNumber: Identificador unívoco do bloco de memória a ser invalidado [SWS_MemIf_00044].
Tratamento de erros e valores de retorno
A função retorna um valor de status do tipo Std_ReturnType [SWS_MemIf_00044]:
- Se a detecção de erros de desenvolvimento (Development Error Detection) estiver ativada para a Memory Abstraction Interface e ocorrer um erro conforme
SWS_MemIf_00022, a função retornaE_NOT_OK[SWS_MemIf_00044]. - Se nenhum erro de desenvolvimento for constatado, a interface retorna o resultado da função chamada do módulo subjacente [SWS_MemIf_00044].
simultaneidade
A função está especificada como não reentrante (Non Reentrant) [SWS_MemIf_00044].
Esta nota de uso foi gerada automaticamente com base na especificação AUTOSAR Classic Release R20-11.
função MemIf_GetVersionInfo [SWS_MemIf_00045] 📄 PDF
void MemIf_GetVersionInfo (Std_VersionInfoType* VersionInfoPtr);
Returns version information.
função MemIf_EraseImmediateBlock [SWS_MemIf_00046] 📄 PDF
Std_ReturnType MemIf_EraseImmediateBlock (uint8 DeviceIndex, uint16 BlockNumber);
Invokes the "Erase Immediate Block" function of the underlying memory abstraction module selected by the parameter Device Index.
usar
A função síncrona MemIf_EraseImmediateBlock solicita o apagamento de um bloco classificado como imediato no módulo de abstração de memória subordinado [SWS_MemIf_00046]. A chamada é disponibilizada através do cabeçalho MemIf.h e possui o ID de serviço 0x09 [SWS_MemIf_00046]. Como parâmetros de entrada servem DeviceIndex para o endereçamento do dispositivo de memória ou módulo de abstração específico e BlockNumber para a identificação do bloco de destino [SWS_MemIf_00046]. Não existem parâmetros inout ou out adicionais [SWS_MemIf_00046].
Valores de retorno e tratamento de erros
A função retorna um valor de status do tipo Std_ReturnType [SWS_MemIf_00046]. Se a detecção de erros de desenvolvimento estiver ativada para a Memory Abstraction Interface e for constatado um erro correspondente conforme [SWS_MemIf_00022], a chamada fornece o valor de retorno fixo E_NOT_OK [SWS_MemIf_00046]. Se não ocorrer tal erro, o resultado imediato da função chamada do módulo subordinado é repassado ao chamador [SWS_MemIf_00046].
Simultaneidade e restrições
A execução de MemIf_EraseImmediateBlock ocorre de forma síncrona e está especificada como não reentrante (Non Reentrant) [SWS_MemIf_00046]. Interpretação: Como chamadas paralelas à interface são inadmissíveis, a função no sistema global deve presumivelmente ser chamada apenas a partir de um contexto sincronizado em nível de tarefa, a fim de evitar inconsistências de dados nos drivers de memória subordinados. Pergunta Q-4fce518bab0115db (aberta)
Esta nota de uso foi gerada automaticamente com base na especificação AUTOSAR CP R20-11.
tipo MemIf_StatusType [SWS_MemIf_00064] 📄 PDF
Denotes the current status of the underlying abstraction module and device drive. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_MemoryAbstractionInterface
O tipo de enumeração MemIf_StatusType identifica o status operacional e de execução atual do módulo de abstração de memória subordinado, bem como do driver de dispositivo correspondente, conforme [SWS_MemIf_00064]. Este tipo está definido na Memory Abstraction Interface e fica disponível para os chamadores através do arquivo de cabeçalho MemIf.h [SWS_MemIf_00064].
A enumeração abrange quatro estados distintos para o mapeamento da prontidão operacional [SWS_MemIf_00064]:
MEMIF_UNINIT: O módulo de abstração subordinado ou o respectivo driver de dispositivo (ainda) não está inicializado [SWS_MemIf_00064].MEMIF_IDLE: O módulo de abstração ou o driver de dispositivo está pronto para operação e atualmente não executa ordens [SWS_MemIf_00064].MEMIF_BUSY: O módulo subordinado ou o driver de dispositivo processa atualmente uma operação [SWS_MemIf_00064].MEMIF_BUSY_INTERNAL: O módulo de abstração executa operações de gerenciamento internas, enquanto o driver pode estar livre ou ocupado [SWS_MemIf_00064].
As camadas chamadoras utilizam este status para constatar sincronamente, antes da atribuição de ordens, se as camadas de memória estão prontas para operação ou se processos internos de gerenciamento estão em andamento [SWS_MemIf_00064]. Como MemIf_StatusType representa uma definição puramente de tipo de dados, aspectos funcionais como mensagens DET ou DEM, regras de reentrância ou contextos de chamada não são indicados separadamente no elemento de especificação.
Este texto foi gerado por uma IA com base na especificação AUTOSAR.
Guia do implementador em breve (complexidade I1)
tipo MemIf_JobResultType [SWS_MemIf_00065] 📄 PDF
Denotes the result of the last job.
O tipo de enumeração MemIf_JobResultType descreve o resultado da última ordem processada para a interface de memória e é disponibilizado através do arquivo de cabeçalho MemIf.h [SWS_MemIf_00065].
A enumeração define estados para a execução, bem como estados específicos de erro e de bloco [SWS_MemIf_00065]:
MEMIF_JOB_OK: A ordem solicitada foi finalizada com sucesso [SWS_MemIf_00065].MEMIF_JOB_PENDING: A ordem ainda não foi concluída [SWS_MemIf_00065]. Interpretação: Isto indica que as ordens são processadas de forma assíncrona e o chamador determina a conclusão através deste estado intermediário. Pergunta Q-31078cf25506334e (aberta)MEMIF_JOB_FAILED: A ordem não foi concluída com sucesso [SWS_MemIf_00065].MEMIF_JOB_CANCELED: A ordem foi cancelada [SWS_MemIf_00065].MEMIF_BLOCK_INCONSISTENT: O bloco solicitado está inconsistente, contém possivelmente dados corrompidos ou não foi encontrado [SWS_MemIf_00065].MEMIF_BLOCK_INVALID: O bloco solicitado foi marcado como inválido, de modo que a operação desejada não pode ser executada [SWS_MemIf_00065].
Na avaliação do resultado da ordem, o tipo serve para a diferenciação entre erros gerais de execução (MEMIF_JOB_FAILED) e problemas relacionados ao bloco (MEMIF_BLOCK_INCONSISTENT, MEMIF_BLOCK_INVALID) [SWS_MemIf_00065].
Este texto foi gerado por uma IA e serve para fins de orientação.
tipo MemIf_ModeType [SWS_MemIf_00066] 📄 PDF
Denotes the operation mode of the underlying abstraction mod ules and device drivers.
O tipo de enumeração MemIf_ModeType define o modo de operação dos módulos de abstração de memória subordinados e drivers de dispositivo [SWS_MemIf_00066]. Ele é disponibilizado através do arquivo de cabeçalho MemIf.h e serve para o controle da velocidade e do comportamento operacional dos acessos à memória [SWS_MemIf_00066].
A faixa de valores abrange dois estados conforme [SWS_MemIf_00066]:
MEMIF_MODE_SLOW: Os módulos de abstração e drivers de dispositivo subordinados operam no modo lento (Slow Mode) [SWS_MemIf_00066].MEMIF_MODE_FAST: Os módulos de abstração e drivers de dispositivo subordinados operam no modo rápido (Fast Mode) [SWS_MemIf_00066].
Em relação ao tratamento de erros, à reentrância ou a contextos de chamada específicos, a especificação do tipo não contém determinações à parte; a passagem e a avaliação do modo ocorrem sincronamente através das interfaces correspondentes da interface de memória ou dos drivers subordinados [SWS_MemIf_00066].
Este texto foi gerado por uma IA e serve para orientação técnica.
Guia do implementador em breve (complexidade I1)
Request a governed re-review of this record. The record is not changed immediately.
- Record
AUTOSAR/AP/record/CP_MOD_MemIf- Status
- unspecified
- Version
AUTOSAR/AP/record/CP_MOD_MemIf@rel:R20-11#f73a5167- Content hash
f73a5167- Source
- https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_MemoryAbstractionInterface.pdf#nameddest=SWS_MemIf_00038
gemini-3.8-flash-low· 2026-10-13 · Original em alemão