DEENESPTFRRUARHIKOZHNL

Platform Types (Platform_Types)

ModulPlatform (Platform Types)
BSW-Modul-ID199
Standard-Header#include "Platform_Types.h"
SWS-SpezifikationAUTOSAR_SWS_PlatformTypes.pdf
ClusterGeneral & Standard Types

Guia do móduloGERADO POR IA

Disponibiliza tipos básicos com nomenclatura padronizada e símbolos identificadores para largura de registrador e endianness do processador de destino.
GERADO POR IA não revisado Modelo: claude-opus-5-5 · Esforço: high · Temperatura: não controlável · Prompt: 7e73f6d7bb31 Procedência Perguntas em aberto (3)
Âncora causal: R20-11 Válido a partir de R20-11 Sintetizado para esta versão de especificação.
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Disponibiliza tipos básicos com nomenclatura padronizada e símbolos identificadores para largura de registrador e endianness do processador de destino.

Platform_Types.h disponibiliza os tipos básicos dependentes de plataforma da Classic Platform: tipos inteiros de largura fixa de uint8 a sint64, tipos *_least otimizados, float32/float64, boolean com TRUE/FALSE, bem como os ponteiros de buffer VoidPtr e ConstVoidPtr. Adicionalmente, CPU_TYPE, CPU_BIT_ORDER e CPU_BYTE_ORDER identificam a largura de registrador e o endianness do destino [SWS_Platform_00046]. boolean pode ser utilizado apenas com TRUE e FALSE e sem operadores aritméticos ou bit a bit [SWS_Platform_00034]. O cabeçalho não pode ser estendido, caso contrário perde-se a conformidade com o AUTOSAR.

Platform_Types.h é a base de tipos dependente de plataforma da Classic Platform. O cabeçalho encapsula larguras de palavra e endianness do destino sob nomes padronizados e não pode ser estendido, pois qualquer extensão anula a conformidade com o AUTOSAR [SWS_Platform_00002]. Na visão de modelo, os tipos residem sob um caminho fixo como /AUTOSAR_Platform/ImplementationDatatypes/uint8 TPS StandardizationTemplate p. 77.

O cabeçalho disponibiliza os seguintes grupos de tipos:

typwahl start Datum festlegen zeiger Ponteiro para buffer? start->zeiger richtung Passar buffer para a função chamada? zeiger->richtung sim wahr Wahrheitswert? zeiger->wahr não cvp ConstVoidPtr (const void*) richtung->cvp sim vp VoidPtr (void*) Daten an Aufrufer richtung->vp não bool boolean apenas com TRUE/FALSE wahr->bool sim gleit Gleitkommazahl? wahr->gleit não flt float32 / float64 (IEEE 754-2008) gleit->flt sim least Largura mínima é suficiente (por ex., contador de laço, argumento de switch)? gleit->least não opt uint8_least … sint32_least least->opt sim fest uint8 … uint64 / sint8 … sint64 least->fest não

Diagrama de atividades: a escolha do tipo de plataforma adequado segue as perguntas ponteiro de buffer, valor booleano, ponto flutuante, largura mínima ou exata. Fontes: [SWS_Platform_91001], [SWS_Platform_00026], SWS PlatformTypes p. 17.

boolean é implementado em R20-11 como o tipo inteiro sem sinal suportado nativamente mais curto, em regra de 8 bits [SWS_Platform_00027]. Versões posteriores divergem disso e utilizam _Bool SWS PlatformTypes p. 18. O tipo precisa ser apto a ponteiros [SWS_Platform_00060] e só pode ser utilizado com TRUE e FALSE. Operadores aritméticos e bit a bit são proibidos [SWS_Platform_00034], e redefinições dos símbolos devem ser evitadas por meio de verificação condicional [SWS_Platform_00054].

Por plataforma, devem ser definidos adicionalmente três símbolos: CPU_TYPE para a largura de registrador [SWS_Platform_00045], CPU_BIT_ORDER com MSB_FIRST ou LSB_FIRST [SWS_Platform_00048] [SWS_Platform_00049] e CPU_BYTE_ORDER com HIGH_BYTE_FIRST ou LOW_BYTE_FIRST [SWS_Platform_00050] [SWS_Platform_00051]. Nomes de bits e significância não podem ser misturados, pois o MSB fica sempre à esquerda no acumulador SWS PlatformTypes p. 15. Interpretação: o módulo não conhece erros de tempo de execução; atribuições incorretas manifestam-se apenas na integração ou no teste de conformidade. Pergunta (aberta)

cpu_symbole start Zielplattform portieren breite Largura dos registradores da CPU? start->breite t8 CPU_TYPE_8 breite->t8 8 Bit t16 CPU_TYPE_16 breite->t16 16 Bit t32 CPU_TYPE_32 breite->t32 32 Bit t64 CPU_TYPE_64 breite->t64 64 Bit bit Bitreihenfolge (Register)? t8->bit t16->bit t32->bit t64->bit msb CPU_BIT_ORDER = MSB_FIRST bit->msb Big Endian lsb CPU_BIT_ORDER = LSB_FIRST bit->lsb Little Endian byte Bytereihenfolge (Speicher)? msb->byte lsb->byte high CPU_BYTE_ORDER = HIGH_BYTE_FIRST byte->high Big Endian low CPU_BYTE_ORDER = LOW_BYTE_FIRST byte->low Little Endian ende Symbole als #define in Platform_Types.h high->ende low->ende

Diagrama de atividades: largura de registrador, ordem de bits e ordem de bytes do destino são mapeadas, cada uma, exatamente para um valor de símbolo. Fontes: [SWS_Platform_00045], [SWS_Platform_00048], [SWS_Platform_00050].

Papel de Platform_Types.h: a base de tipos dependente de plataforma

O módulo não é um componente executável, mas sim um cabeçalho. Todos os tipos e símbolos especificados estão «Available via Platform_Types.h», como uint8 [SWS_Platform_00013] ou CPU_TYPE [SWS_Platform_00064]. O cabeçalho oculta as características do microcontrolador de destino e do compilador sob nomes padronizados: larguras de palavra, ordem de bits e ordem de bytes. Com isso, ele pertence à abstração de microcontrolador com interface padronizada para camadas superiores exigida em SRS_BSW_00161 SRS BSWGeneral p. 88. É exatamente a esse requisito upstream que remetem também as regras sobre ordem de bytes SWS PlatformTypes p. 16.

O limite do sistema é estreitamente definido. O cabeçalho não pode ser estendido, pois qualquer extensão anula a conformidade com o AUTOSAR [SWS_Platform_00002]. Tipos de retorno para sucesso ou falha de uma chamada de API residem, por outro lado, em Std_Types.h SRS BSWGeneral p. 68. Na visão de modelo, os tipos de plataforma estão depositados como blueprints, por exemplo sob /AUTOSAR/Platform/ImplementationDatatypes_Blueprint/uint8. Eles são implementados sob /AUTOSAR_Platform/ImplementationDatatypes/uint8, de modo que fornecedores de componentes os alcancem através de um caminho previsível TPS StandardizationTemplate p. 77.

einbettung ziel µC / compilador de destino (largura dos registradores, ordem de bits e bytes) pt Platform_Types.h (Basistypen, boolean, TRUE/FALSE, VoidPtr, ConstVoidPtr, CPU_*) ziel->pt bestimmt Belegung modell Modellsicht /AUTOSAR_Platform/ImplementationDatatypes pt->modell entspricht Blueprint-Pfad bfx Bfx (boolean, uint8 … uint64) pt->bfx Typen crc Crc (uint8, uint32, boolean) pt->crc Typen bmc Bmc (Bmc_AtomicFlagType a partir de boolean) pt->bmc Basistyp keym KeyM / Csm (ConstVoidPtr, VoidPtr, uint32) pt->keym Pufferzeiger cansm CanSM (boolean-Parameter) pt->cansm Typen

Diagrama de contexto: a plataforma de destino determina a definição de Platform_Types.h, cujos tipos residem sob um caminho fixo na visão de modelo e são utilizados por numerosos módulos BSW. Os exemplos de usuários provêm de releases posteriores. Fontes: [SWS_Platform_00038], TPS StandardizationTemplate p. 77, SWS BFXLibrary p. 19, SWS CRCLibrary p. 41, SWS BSWMulticoreLibrary p. 16, SWS KeyManager p. 111, SWS CANStateManager p. 83.

Tipos inteiros e de ponto flutuante com largura garantida

O núcleo do módulo são tipos sem sinal e com sinal de largura fixa de 8 a 64 bits, bem como dois tipos de ponto flutuante. Normativamente, os requisitos definem largura e faixa de valores, como «32 bit unsigned» para uint32 [SWS_Platform_00015]. Os typedefs em C no catálogo de APIs, por exemplo typedef unsigned long uint32;, devem ser interpretados como um mapeamento típico que pode variar conforme o compilador (interpretação). Pergunta Q-d0ca377fc1abd98a (aberta)

TipoLargura / FormatoGama de valoresReferência
uint88 bits, sem sinal0..255[SWS_Platform_00013]
uint1616 bits, sem sinal0..65535[SWS_Platform_00014]
uint3232 bits, sem sinal0..4294967295[SWS_Platform_00015]
uint6464 bits, sem sinal0..18446744073709551615[SWS_Platform_00066]
sint88 bits, com sinal-128..+127[SWS_Platform_00016]
sint1616 bits, com sinal-32768..+32767[SWS_Platform_00017]
sint3232 bits, com sinal-2147483648..+2147483647[SWS_Platform_00018]
sint6464 bits, com sinal-9223372036854775808..9223372036854775807[SWS_Platform_00067]
float32IEEE 754-2008 binary32-3.4028235e+38..+3.4028235e+38[SWS_Platform_00041]
float64IEEE 754-2008 binary64±1.7976931348623157e+308[SWS_Platform_00042]

Para os tipos com sinal, o AUTOSAR suporta exclusivamente aritmética de complemento de dois no compilador e no destino. Disso decorrem as faixas de valores assimétricas da tabela [SWS_Platform_00061]. Outras especificações pressupõem esses tipos consistentemente. A biblioteca de CRC define, por exemplo, uint8 Crc_CalculateCRC8(const uint8*, uint32, uint8, boolean) SWS CRCLibrary p. 41. O COM precisa suportar a conversão de endianness para uint16 até float64 RS COM p. 14. Ambas as passagens provêm de releases posteriores e ilustram apenas o uso.

Tipos otimizados *_least para contadores e estados

Além dos tipos com largura exata, o módulo define seis tipos otimizados. Eles garantem apenas uma largura mínima e são derivados de uint e sint, respectivamente:

A implementação pode, portanto, escolher uma representação mais ampla. As assinaturas do catálogo mapeiam todos os seis tipos para unsigned int e signed int, respectivamente [SWS_Platform_00020].

Como exemplos de aplicação, a especificação cita contadores de laço (no máximo 124 iterações ⇒ uint8_least) e argumentos de switch (17 estados ⇒ uint8_least). Para detalhes, ela remete ao capítulo «AUTOSAR Integer Data Types» dos requisitos gerais de BSW SWS PlatformTypes p. 17.

Utilizar boolean, TRUE e FALSE em conformidade com as regras

boolean tem a faixa de valores FALSE = 0 e TRUE = 1 e só pode ser utilizado juntamente com essas definições [SWS_Platform_00026]. Para R20-11, aplica-se: boolean é implementado como um tipo inteiro sem sinal com o menor comprimento em bits suportado nativamente pela plataforma, em regra 8 bits [SWS_Platform_00027]. Uma passagem documental de R24-11/R25-11 formula o mesmo identificador de maneira diferente: nela, boolean é implementado através do tipo C99 _Bool, e o AUTOSAR não define mais o tamanho exato SWS PlatformTypes p. 18. Para R20-11, essa versão posterior não é normativa.

boolean precisa, além disso, ser mapeado para um tipo para o qual ponteiros possam apontar, a fim de permitir a passagem de parâmetros via API. Os tipos eficientes de bits de determinados hardwares não são aptos a ponteiros e, portanto, são desconsiderados [SWS_Platform_00060]. Para os símbolos TRUE e FALSE, aplicam-se três regras:

Nas atribuições a variáveis boolean, operadores aritméticos e bit a bit são proibidos: +, ++, -, --, *, /, %, <<, >>, ~ e &. É permitida apenas a atribuição de TRUE ou FALSE, bem como de resultados de relações, operações lógicas e verificações de (des)igualdade. A comparação é feita apenas com == ou != contra TRUE/FALSE ou através de if (var) ou if (!var) [SWS_Platform_00034]. Os módulos consumidores seguem este padrão. Assim, Bfx_GetBit retorna o resultado de um teste de bit expressamente como TRUE ou FALSE SWS BFXLibrary p. 19.

boolean_regeln start Operação em variável boolean art Atribuição ou comparação? start->art zuw Lado direito: TRUE/FALSE, relação (<, >, <=, >=), lógico (&&, ||, !) ou (==, !=)? art->zuw Zuweisung verg Forma: == TRUE/FALSE, != TRUE/FALSE, if (var) ou if (!var)? art->verg Vergleich ok permitido zuw->ok sim nok não permitido (por ex., +, ++, -, --, *, /, %, <<, >>, ~, &) zuw->nok não verg->ok sim nokv não listado como forma permitida verg->nokv não

Diagrama de atividades: Para variáveis boolean, são permitidas apenas as formas de atribuição e comparação listadas; operadores aritméticos e de bits não são permitidos. Fontes: [SWS_Platform_00034], [SWS_Platform_00026]

Ponteiros de buffer não tipados: VoidPtr e ConstVoidPtr

Os dois tipos de ponteiro diferem na direção do fluxo de dados:

A direção do fluxo de dados já está, portanto, implícita no nome do tipo SWS PlatformTypes p. 27 SWS PlatformTypes p. 28.

Como isso se apresenta em interfaces é demonstrado pelo Key Manager. KeyMServiceCertificateByCertId passa RequestData como ConstVoidPtr juntamente com um comprimento do tipo uint32. A resposta é recebida por ResponseData do tipo VoidPtr; ResponseDataLength (INOUT) indica, nesse caso, o comprimento de buffer disponível SWS KeyManager p. 111. Outros exemplos:

Em todos os três exemplos, o comprimento é transportado como um parâmetro uint32 próprio ou como um elemento de estrutura próprio, porque um ponteiro não tipado não carrega informações de comprimento.

Passagem de buffer com ConstVoidPtr e VoidPtr (exemplo KeyM)ChamadorKeyMArmazenar dados da requisição no bufferAntwortpuffer bereitstellenKeyM_ServiceCertificateByCertId(Service, RequestData: ConstVoidPtr,RequestDataLength: uint32,ResponseData: VoidPtr,ResponseDataLength: uint32 [INOUT])ConstVoidPtr: o buffer é passado para a função chamadaVoidPtr: o buffer recebe dados para o chamadoraltOperation angenommenE_OKnão aceitoE_NOT_OK / KEYM_E_BUSY /KEYM_E_KEY_CERT_SIZE_MISMATCH /KEYM_E_PARAMETER_MISMATCH

Diagrama de sequência: Em uma chamada de serviço, o ConstVoidPtr transporta a requisição para o chamado; o VoidPtr recebe a resposta para o chamador. Fontes: SWS KeyManager p. 111, [SWS_Platform_91001], [SWS_Platform_91002]

typwahl start Datum festlegen zeiger Ponteiro para buffer? start->zeiger richtung Passar buffer para a função chamada? zeiger->richtung sim wahr Wahrheitswert? zeiger->wahr não cvp ConstVoidPtr (const void*) richtung->cvp sim vp VoidPtr (void*) Daten an Aufrufer richtung->vp não bool boolean apenas com TRUE/FALSE wahr->bool sim gleit Gleitkommazahl? wahr->gleit não flt float32 / float64 (IEEE 754-2008) gleit->flt sim least Largura mínima é suficiente (por ex., contador de laço, argumento de switch)? gleit->least não opt uint8_least … sint32_least least->opt sim fest uint8 … uint64 / sint8 … sint64 least->fest não

Diagrama de atividades: A escolha do tipo segue as questões de ponteiro de buffer, valor booleano, número de ponto flutuante, largura mínima ou exata. Fontes: [SWS_Platform_91001], [SWS_Platform_91002], [SWS_Platform_00026], [SWS_Platform_00041], [SWS_Platform_00020], SWS PlatformTypes p. 17

Identificação da plataforma: CPU_TYPE, CPU_BIT_ORDER, CPU_BYTE_ORDER

Para cada plataforma, três propriedades devem ser definidas no header:

Ambos os símbolos de ordem são #defines que carregam exatamente um dos valores permitidos [SWS_Platform_00038] [SWS_Platform_00039].

cpu_symbole start Zielplattform portieren breite Largura dos registradores da CPU? start->breite t8 CPU_TYPE_8 breite->t8 8 Bit t16 CPU_TYPE_16 breite->t16 16 Bit t32 CPU_TYPE_32 breite->t32 32 Bit t64 CPU_TYPE_64 breite->t64 64 Bit bit Bitreihenfolge (Register)? t8->bit t16->bit t32->bit t64->bit msb CPU_BIT_ORDER = MSB_FIRST bit->msb Big Endian lsb CPU_BIT_ORDER = LSB_FIRST bit->lsb Little Endian byte Bytereihenfolge (Speicher)? msb->byte lsb->byte high CPU_BYTE_ORDER = HIGH_BYTE_FIRST byte->high Big Endian low CPU_BYTE_ORDER = LOW_BYTE_FIRST byte->low Little Endian ende Symbole als #define in Platform_Types.h high->ende low->ende

Diagrama de atividades: Ao portar para um alvo, a largura de registrador, a ordem dos bits e a ordem dos bytes são determinadas e mapeadas, cada uma, para exatamente um valor de símbolo. Fontes: [SWS_Platform_00045], [SWS_Platform_00048], [SWS_Platform_00049], [SWS_Platform_00050], [SWS_Platform_00051]

Para a ordem de bits big-endian, aplica-se CPU_BIT_ORDER = MSB_FIRST; para little-endian, LSB_FIRST [SWS_Platform_00048] [SWS_Platform_00049]. Os nomes dos bits e o seu peso devem ser estritamente separados. O MSB fica no acumulador sempre na extremidade esquerda, independentemente do tipo de CPU. Em arquiteturas Motorola (Big Endian Bit Order), o Bit0 designa o bit mais significativo; em todas as outras, o menos significativo SWS PlatformTypes p. 15 SWS PlatformTypes Fig. 7.1 p. 14.

bitordnung be CPU_BIT_ORDER = MSB_FIRST (Big Endian, z. B. Motorola) Bit0 = MSB msb Register-MSB (immer links) be->msb Bit0 bezeichnet le CPU_BIT_ORDER = LSB_FIRST (Little Endian) Bit0 = LSB lsb Register-LSB (immer rechts) le->lsb Bit0 bezeichnet w7 Wertigkeit 2^7 = 128 msb->w7 entspricht w0 Wertigkeit 2^0 = 1 lsb->w0 entspricht

Diagrama estrutural conforme a Fig. 7.1: O peso dos bits do registrador é fixo; apenas a numeração de Bit0 depende de CPU_BIT_ORDER. Fontes: SWS PlatformTypes Fig. 7.1 p. 14, SWS PlatformTypes p. 15

Para a ordem de bytes big-endian, aplica-se CPU_BYTE_ORDER = HIGH_BYTE_FIRST: o byte mais significativo de um valor de 16 bits localiza-se no endereço n, e o menos significativo em n+1. Para little-endian, aplica-se LOW_BYTE_FIRST com ocupação inversa [SWS_Platform_00050] [SWS_Platform_00051]. As designações Byte0 e Byte1 servem apenas para ilustração e podem divergir na documentação de referência de um fabricante SWS PlatformTypes p. 16.

byteordnung cluster_high HIGH_BYTE_FIRST (Big Endian) cluster_low LOW_BYTE_FIRST (Little Endian) wert uint16-Wert ms MS Byte (Byte1) Bits 15..8 wert->ms ls LS Byte (Byte0) Bits 7..0 wert->ls hn Adresse n ms->hn ln1 Adresse n+1 ms->ln1 hn1 Adresse n+1 ls->hn1 ln Adresse n ls->ln

Diagrama estrutural conforme a Fig. 7.2/7.3: O mesmo uint16 é mapeado nos endereços n e n+1 com bytes invertidos, dependendo de CPU_BYTE_ORDER. Fontes: SWS PlatformTypes Fig. 7.2 p. 16, SWS PlatformTypes Fig. 7.3 p. 15, [SWS_Platform_00039]

O motivo pelo qual essas indicações são necessárias é fundamentado por outras especificações. A representação dos dados na memória depende fortemente da arquitetura do processador e das configurações do compilador. Por isso, o SOME/IP exige um algoritmo de serialização que realize a conversão para uma representação de rede comum RS SOMEIPProtocol p. 21. Presume-se que tais conversões em implementações se baseiem em CPU_BYTE_ORDER; no entanto, o payload não comprova isso expressamente. Pergunta Q-87e212e9eb2a2047 (aberta)

Comportamento em caso de erro

Interpretação: Como Platform_Types.h fornece apenas tipos e símbolos, o módulo não possui erros de tempo de execução nem códigos de erro. Pergunta Q-e504d08b84d7ff70 (aberta) Padrões de erro manifestam-se durante a compilação, integração ou teste de conformidade. Os requisitos nomeiam as causas típicas [SWS_Platform_00002]:

  • Extensões do header são inadmissíveis; qualquer extensão anula a conformidade [SWS_Platform_00002].
  • Definições duplicadas de TRUE/FALSE em caso de suporte existente pelo compilador devem ser evitadas por meio de uma verificação condicional [SWS_Platform_00054] [SWS_Platform_00056].
  • Símbolos de ordem atribuídos incorretamente violam de [SWS_Platform_00048] a [SWS_Platform_00051]. A mistura dos nomes de bits da documentação do fabricante com o peso SWS PlatformTypes p. 15 é particularmente propensa a erros.
  • Um boolean incapaz de atuar como ponteiro viola [SWS_Platform_00060], porque os parâmetros não podem então ser passados via API.
  • Operações aritméticas ou de bits sobre boolean são inadmissíveis, assim como outras formas de comparação que não as listadas [SWS_Platform_00034].
  • Código que pressupõe complemento de um ou faixas de valores simétricas não é coberto, uma vez que apenas o complemento de dois é suportado [SWS_Platform_00061].
  • Na mudança de release, a especificação para boolean deve ser observada: o R20-11 [SWS_Platform_00027] e versões posteriores SWS PlatformTypes p. 18 diferem entre si. O código que pressupõe um tamanho fixo de boolean deve, portanto, ser verificado antes da mudança.

Evidências mais detalhadas

Guia gerado por IA com base nos requisitos do R20-11 e trechos de documentos associados, oriundos em parte de releases posteriores. Prevalece a especificação.

Platform Types (Platform_Types)

Platform-specific fundamental data types (integers, booleans, floating-point numbers) mapped to CPU architecture primitives.

Typen — Übersicht

Typen — Detailansicht

tipo float32 [SWS_Platform_00041] 📄 PDF

typedef float float32;

This standard AUTOSAR type shall follow the 32-bit binary interchange format according to IEEE 754-2008 with encoding parameters specified in chapter 3.6, table 3.5, column "binary32".

tipo float64 [SWS_Platform_00042] 📄 PDF

typedef double float64;

This standard AUTOSAR type shall follow the 64-bit binary interchange format according to IEEE 754-2008 with encoding parameters specified in chapter 3.6, table 3.5, column "binary64".

tipo VoidPtr [SWS_Platform_91001] 📄 PDF

typedef void* VoidPtr;

This standard AUTOSAR type shall be a void pointer Note: This type shall be used for buffers that contain data returned to the caller.

tipo ConstVoidPtr [SWS_Platform_91002] 📄 PDF

typedef const void* ConstVoidPtr;

This standard AUTOSAR type shall be a void pointer to const. Note: This type shall be used for buffers that are passed to the callee.

tipo CPU_TYPE [SWS_Platform_00064] 📄 PDF

This symbol shall be defined as #define having one of the values CPU_TYPE_8, CPU_TYPE_16, CPU_TYPE_32 or CPU_TYPE_64 according to the platform.

tipo CPU_BIT_ORDER [SWS_Platform_00038] 📄 PDF

This symbol shall be defined as #define having one of the values MSB_FIRST or LSB_FIRST according to the platform.

tipo CPU_BYTE_ORDER [SWS_Platform_00039] 📄 PDF

This symbol shall be defined as #define having one of the values HIGH_BYTE_FIRST or LOW_ BYTE_FIRST according to the platform.

tipo TRUE_FALSE [SWS_Platform_00056] 📄 PDF

The symbols TRUE and FALSE shall be defined as follows: #ifndef TRUE #define TRUE 1 #endif #ifndef FALSE #define FALSE 0 #endif

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/CP_MOD_Platform
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_Platform@rel:R20-11#a4091869
Content hash
a4091869
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_PlatformTypes.pdf#nameddest=SWS_Platform_00026

Tipos

boolean tipo

This standard AUTOSAR type shall only be used together with the definitions TRUE and FALSE.

typedef unsigned char boolean;

This standard AUTOSAR type shall be a void pointer to const. Note: This type shall be used for buffers that are passed to the callee.

typedef const void* ConstVoidPtr;

This symbol shall be defined as #define having one of the values MSB_FIRST or LSB_FIRST according to the platform.

This symbol shall be defined as #define having one of the values HIGH_BYTE_FIRST or LOW_ BYTE_FIRST according to the platform.

This symbol shall be defined as #define having one of the values CPU_TYPE_8, CPU_TYPE_16, CPU_TYPE_32 or CPU_TYPE_64 according to the platform.

float32 tipo

This standard AUTOSAR type shall follow the 32-bit binary interchange format according to IEEE 754-2008 with encoding parameters specified in chapter 3.6, table 3.5, column "binary32".

typedef float float32;
float64 tipo

This standard AUTOSAR type shall follow the 64-bit binary interchange format according to IEEE 754-2008 with encoding parameters specified in chapter 3.6, table 3.5, column "binary64".

typedef double float64;
sint16 tipo

This standard AUTOSAR type shall be of 16 bit signed.

typedef signed short sint16;

This optimized AUTOSAR type shall be at least 16 bit signed.

typedef signed int sint16_least;
sint32 tipo

This standard AUTOSAR type shall be 32 bit signed.

typedef signed long sint32;

This optimized AUTOSAR type shall be at least 32 bit signed.

typedef signed int sint32_least;
sint64 tipo

This standard AUTOSAR type shall be 64 bit signed.

typedef signed long long sint64;
sint8 tipo

This standard AUTOSAR type shall be of 8 bit signed.

typedef signed char sint8;

This optimized AUTOSAR type shall be at least 8 bit signed.

typedef signed int sint8_least;

The symbols TRUE and FALSE shall be defined as follows: #ifndef TRUE #define TRUE 1 #endif #ifndef FALSE #define FALSE 0 #endif

uint16 tipo

This standard AUTOSAR type shall be of 16 bit unsigned.

typedef unsigned short uint16;

This optimized AUTOSAR type shall be at least 16 bit unsigned.

typedef unsigned int uint16_least;
uint32 tipo

This standard AUTOSAR type shall be 32 bit unsigned.

typedef unsigned long uint32;

This optimized AUTOSAR type shall be at least 32 bit unsigned.

typedef unsigned int uint32_least;
uint64 tipo

This standard AUTOSAR type shall be 64 bit unsigned.

typedef unsigned long long uint64;
uint8 tipo

This standard AUTOSAR type shall be of 8 bit unsigned.

typedef unsigned char uint8;

This optimized AUTOSAR type shall be at least 8 bit unsigned.

typedef unsigned int uint8_least;
VoidPtr tipo

This standard AUTOSAR type shall be a void pointer Note: This type shall be used for buffers that contain data returned to the caller.

typedef void* VoidPtr;