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

ModulegidsAI-GEGENEREERD

Stelt uniform benoemde basistypen en identificatiesymbolen voor registerbreedte en endianness van de doelprocessor beschikbaar.
DOOR AI GEGENEREERD ongecontroleerd Model: claude-opus-5-5 · Inspanning: high · Temperatuur: niet regelbaar · Prompt: 7e73f6d7bb31 Herkomst Open vragen (3)
Causaal anker: R20-11 Geldig vanaf R20-11 Nieuw gesynthetiseerd voor deze specificatiestand.
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Stelt uniform benoemde basistypen en identificatiesymbolen voor registerbreedte en endianness van de doelprocessor beschikbaar.

Platform_Types.h stelt de platformafhankelijke basistypen van het Classic Platform beschikbaar: geheeltallige typen met vaste breedte van uint8 tot sint64, geoptimaliseerde *_least-typen, float32/float64, boolean met TRUE/FALSE en de bufferpointers VoidPtr en ConstVoidPtr. Daarnaast duiden CPU_TYPE, CPU_BIT_ORDER en CPU_BYTE_ORDER de registerbreedte en endianness van het doel aan [SWS_Platform_00046]. boolean mag alleen met TRUE en FALSE en zonder rekenkundige of bitwise operatoren worden gebruikt [SWS_Platform_00034]. De header mag niet worden uitgebreid, anders gaat de AUTOSAR-conformiteit verloren.

Platform_Types.h is de platformafhankelijke typebasis van het Classic Platform. De header kapselt woordbreedten en endianness van het doel in achter uniforme namen en mag niet worden uitgebreid, omdat elke uitbreiding de AUTOSAR-conformiteit tenietdoet [SWS_Platform_00002]. In de modelweergave bevinden de typen zich onder een vast pad zoals /AUTOSAR_Platform/ImplementationDatatypes/uint8 TPS StandardizationTemplate p. 77.

De header stelt de volgende typegroepen beschikbaar:

typwahl start Datum festlegen zeiger Pointer naar buffer? start->zeiger richtung Buffer aan aangeroepene overdragen? zeiger->richtung ja wahr Wahrheitswert? zeiger->wahr nein cvp ConstVoidPtr (const void*) richtung->cvp ja vp VoidPtr (void*) Daten an Aufrufer richtung->vp nein bool boolean alleen met TRUE/FALSE wahr->bool ja gleit Gleitkommazahl? wahr->gleit nein flt float32 / float64 (IEEE 754-2008) gleit->flt ja least Volstaat minimale breedte (bijv. lusteller, switch-argument)? gleit->least nein opt uint8_least … sint32_least least->opt ja fest uint8 … uint64 / sint8 … sint64 least->fest nein

Activiteitendiagram: De keuze van het passende platformtype volgt de vragen bufferpointer, booleaanse waarde, drijvende-kommagetal, minimale of exacte breedte. Bronnen: [SWS_Platform_91001], [SWS_Platform_00026], SWS PlatformTypes p. 17

boolean wordt in R20-11 geïmplementeerd als het kortste native ondersteunde geheeltallige type zonder teken, gewoonlijk 8 bits [SWS_Platform_00027]. Latere versies wijken daarvan af en gebruiken _Bool SWS PlatformTypes p. 18. Het type moet pointercompatibel zijn [SWS_Platform_00060] en mag alleen met TRUE en FALSE worden gebruikt. Rekenkundige en bitwise operatoren zijn verboden [SWS_Platform_00034], en herdefinities van de symbolen moeten door middel van een voorwaardelijke controle worden vermeden [SWS_Platform_00054].

Per platform moeten bovendien drie symbolen worden vastgelegd: CPU_TYPE voor de registerbreedte [SWS_Platform_00045], CPU_BIT_ORDER met MSB_FIRST of LSB_FIRST [SWS_Platform_00048] [SWS_Platform_00049] en CPU_BYTE_ORDER met HIGH_BYTE_FIRST of LOW_BYTE_FIRST [SWS_Platform_00050] [SWS_Platform_00051]. Bitnamen en significantie mogen daarbij niet worden verward, want het MSB staat in de accumulator altijd links SWS PlatformTypes p. 15. Interpretatie: De module kent geen runtimefouten; onjuiste toewijzingen komen pas aan het licht bij integratie of conformiteitscontrole. Vraag (open)

cpu_symbole start Zielplattform portieren breite Registerbreedte van de 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

Activiteitendiagram: Registerbreedte, bitvolgorde en bytevolgorde van het doel worden telkens op precies één symboolwaarde afgebeeld. Bronnen: [SWS_Platform_00045], [SWS_Platform_00048], [SWS_Platform_00050]

Rol van Platform_Types.h: de platformafhankelijke typebasis

De module is geen uitvoerbare bouwsteen, maar een header. Alle gespecificeerde typen en symbolen zijn „Available via Platform_Types.h”, zoals uint8 [SWS_Platform_00013] of CPU_TYPE [SWS_Platform_00064]. De header verbergt de eigenschappen van doelmicrocontroller en compiler achter uniforme namen: woordbreedten, bitvolgorde en bytevolgorde. Daarmee behoort hij tot de in SRS_BSW_00161 vereiste microcontroller-abstractie met gestandaardiseerde interface naar hogere lagen SRS BSWGeneral p. 88. Naar precies deze upstream-requirement verwijzen ook de regels voor de bytevolgorde SWS PlatformTypes p. 16.

De systeemgrens is nauw getrokken. De header mag niet worden uitgebreid, want elke uitbreiding doet de AUTOSAR-conformiteit teniet [SWS_Platform_00002]. Returntypen voor succes of falen van een API-aanroep bevinden zich daarentegen in Std_Types.h SRS BSWGeneral p. 68. In de modelweergave zijn de platformtypen vastgelegd als blueprints, bijvoorbeeld onder /AUTOSAR/Platform/ImplementationDatatypes_Blueprint/uint8. Ze worden geïmplementeerd onder /AUTOSAR_Platform/ImplementationDatatypes/uint8, zodat componentleveranciers ze via een voorspelbaar pad bereiken TPS StandardizationTemplate p. 77.

einbettung ziel Doel-µC / compiler (registerbreedte, bit- en bytevolgorde) 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 uit boolean) pt->bmc Basistyp keym KeyM / Csm (ConstVoidPtr, VoidPtr, uint32) pt->keym Pufferzeiger cansm CanSM (boolean-Parameter) pt->cansm Typen

Contextdiagram: Het doelplatform bepaalt de configuratie van Platform_Types.h, waarvan de typen in de modelweergave onder een vast pad liggen en door talrijke BSW-modules worden gebruikt. De gebruiksvoorbeelden zijn afkomstig uit latere releases. Bronnen: [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

Geheeltallige typen en drijvende-kommatypen met gegarandeerde breedte

De kern van de module bestaat uit unsigned en signed types met een vaste breedte van 8 tot 64 bit en twee floating-point types. Normatief leggen de requirements breedte en waardebereik vast, zoals “32 bit unsigned” voor uint32 [SWS_Platform_00015]. De C-typedefs in de API-catalogus, bijvoorbeeld typedef unsigned long uint32;, moeten vermoedelijk als een typische afbeelding worden gelezen, die afhankelijk van de compiler anders kan uitvallen (interpretatie). Vraag Q-d0ca377fc1abd98a (open)

TypeBreedte / formaatWaardebereikReferentie
uint88 bit, unsigned0..255[SWS_Platform_00013]
uint1616 bit, unsigned0..65535[SWS_Platform_00014]
uint3232 bit, unsigned0..4294967295[SWS_Platform_00015]
uint6464 bit, unsigned0..18446744073709551615[SWS_Platform_00066]
sint88 bit, signed-128..+127[SWS_Platform_00016]
sint1616 bit, signed-32768..+32767[SWS_Platform_00017]
sint3232 bit, signed-2147483648..+2147483647[SWS_Platform_00018]
sint6464 bit, signed-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]

Voor de signed types ondersteunt AUTOSAR bij compiler en doelplatform uitsluitend tweeledig complement (two's complement) rekenkunde. Hieruit volgen de asymmetrische waardebereiken in tabel [SWS_Platform_00061]. Andere specificaties gaan consequent uit van deze types. De CRC-bibliotheek definieert bijvoorbeeld uint8 Crc_CalculateCRC8(const uint8*, uint32, uint8, boolean) SWS CRCLibrary p. 41. COM moet de endianness-conversie voor uint16 tot float64 ondersteunen RS COM p. 14. Beide passages zijn afkomstig uit latere releases en dienen louter ter illustratie van het gebruik.

Geoptimaliseerde types *_least voor tellers en toestanden

Naast de types met exacte breedte definieert de module zes geoptimaliseerde types. Deze garanderen slechts een minimale breedte en zijn afgeleid van uint respectievelijk sint:

De implementatie mag dus een bredere weergave kiezen. De catalogussignaturen beelden alle zes types af op unsigned int respectievelijk signed int [SWS_Platform_00020].

Als toepassingsvoorbeelden noemt de specificatie lustellers (maximaal 124 iteraties ⇒ uint8_least) en switch-argumenten (17 toestanden ⇒ uint8_least). Voor details verwijst zij naar het hoofdstuk “AUTOSAR Integer Data Types” van de algemene BSW-eisen SWS PlatformTypes p. 17.

boolean, TRUE en FALSE conform de regels gebruiken

boolean heeft het waardebereik FALSE = 0 en TRUE = 1 en mag uitsluitend samen met deze definities worden gebruikt [SWS_Platform_00026]. Voor R20-11 geldt: boolean wordt geïmplementeerd als een unsigned integer-type met de kortste bitlengte die het platform native ondersteunt, doorgaans 8 bit [SWS_Platform_00027]. Een documentpassage uit R24-11/R25-11 formuleert dezelfde identifier anders: daar wordt boolean via het C99-type _Bool geïmplementeerd en legt AUTOSAR de exacte omvang niet meer vast SWS PlatformTypes p. 18. Voor R20-11 is deze latere versie niet normatief.

boolean moet bovendien worden afgebeeld op een type waarnaar pointers kunnen wijzen, zodat parameters via de API kunnen worden overgedragen. De efficiënte bit-types van sommige hardware ondersteunen geen pointers en vallen daarom af [SWS_Platform_00060]. Voor de symbolen TRUE en FALSE gelden drie regels:

  • Ze worden met #ifndef-beveiliging als 1 en 0 gedefinieerd [SWS_Platform_00056].
  • Indien de compiler de symbolen al meelevert, moet herdefinitie door middel van een voorwaardelijke controle worden voorkomen [SWS_Platform_00054].
  • Ze mogen alleen samen met boolean worden gebruikt [SWS_Platform_00055].

Bij toekenningen aan boolean-variabelen zijn rekenkundige en bitsgewijze operatoren verboden: +, ++, -, --, *, /, %, <<, >>, ~ en &. Toegestaan is uitsluitend de toekenning van TRUE of FALSE en van resultaten uit relaties, logische bewerkingen en (on)gelijkheidstoetsen. Vergelijkingen vinden uitsluitend plaats met == respectievelijk != tegen TRUE/FALSE of via if (var) respectievelijk if (!var) [SWS_Platform_00034]. Consumerende modules volgen dit patroon. Zo retourneert Bfx_GetBit het resultaat van een bittest uitdrukkelijk als TRUE of FALSE SWS BFXLibrary p. 19.

boolean_regeln start Bewerking op boolean-variabele art Toewijzing of vergelijking? start->art zuw Rechterzijde: TRUE/FALSE, relatie (<, >, <=, >=), logisch (&&, ||, !) of (==, !=)? art->zuw Zuweisung verg Vorm: == TRUE/FALSE, != TRUE/FALSE, if (var) of if (!var)? art->verg Vergleich ok toegestaan zuw->ok ja nok niet toegestaan (bijv. +, ++, -, --, *, /, %, <<, >>, ~, &) zuw->nok nein verg->ok ja nokv niet vermeld als toegestane vorm verg->nokv nein

Activiteitendiagram: Voor boolean-variabelen zijn alleen de vermelde toekennings- en vergelijkingsvormen toegestaan, rekenkundige en bitoperatoren niet. Bronnen: [SWS_Platform_00034], [SWS_Platform_00026]

Ongetypt bufferpointers: VoidPtr en ConstVoidPtr

De twee pointertypes verschillen in de richting van de gegevensstroom:

  • VoidPtr is een void* voor buffers die gegevens bevatten die aan de aanroeper worden geretourneerd [SWS_Platform_91001].
  • ConstVoidPtr is een const void* voor buffers die aan de aangeroepene worden overgedragen [SWS_Platform_91002].

De richting van de gegevensstroom zit daarmee al in de typenaam besloten SWS PlatformTypes p. 27 SWS PlatformTypes p. 28.

Hoe dit er in interfaces uitziet, toont de Key Manager. KeyMServiceCertificateByCertId draagt RequestData als ConstVoidPtr over samen met een lengte van het type uint32. Het antwoord wordt opgevangen door ResponseData van het type VoidPtr; ResponseDataLength (INOUT) geeft daarbij de beschikbare bufferlengte aan SWS KeyManager p. 111. Verdere voorbeelden:

In alle drie de voorbeelden wordt de lengte als afzonderlijke uint32-parameter of als eigen structuurelement meegegeven, omdat een ongetypt pointer geen lengte-informatie bevat.

Bufferoverdracht met ConstVoidPtr en VoidPtr (voorbeeld KeyM)AufruferKeyMVerzoekgegevens in buffer opslaanAntwortpuffer bereitstellenKeyM_ServiceCertificateByCertId(Service, RequestData: ConstVoidPtr,RequestDataLength: uint32,ResponseData: VoidPtr,ResponseDataLength: uint32 [INOUT])ConstVoidPtr: buffer wordt aan de aangeroepene overgedragenVoidPtr: buffer neemt gegevens voor de aanroeper opaltOperation angenommenE_OKniet geaccepteerdE_NOT_OK / KEYM_E_BUSY /KEYM_E_KEY_CERT_SIZE_MISMATCH /KEYM_E_PARAMETER_MISMATCH

Sequentiediagram: Bij een service-aanroep brengt de ConstVoidPtr het verzoek naar de aangeroepene, terwijl de VoidPtr het antwoord voor de aanroeper opneemt. Bronnen: SWS KeyManager p. 111, [SWS_Platform_91001], [SWS_Platform_91002]

typwahl start Datum festlegen zeiger Pointer naar buffer? start->zeiger richtung Buffer aan aangeroepene overdragen? zeiger->richtung ja wahr Wahrheitswert? zeiger->wahr nein cvp ConstVoidPtr (const void*) richtung->cvp ja vp VoidPtr (void*) Daten an Aufrufer richtung->vp nein bool boolean alleen met TRUE/FALSE wahr->bool ja gleit Gleitkommazahl? wahr->gleit nein flt float32 / float64 (IEEE 754-2008) gleit->flt ja least Volstaat minimale breedte (bijv. lusteller, switch-argument)? gleit->least nein opt uint8_least … sint32_least least->opt ja fest uint8 … uint64 / sint8 … sint64 least->fest nein

Activiteitendiagram: De typekeuze volgt de vragen bufferpointer, booleaanse waarde, floating-point getal, minimale of exacte breedte. Bronnen: [SWS_Platform_91001], [SWS_Platform_91002], [SWS_Platform_00026], [SWS_Platform_00041], [SWS_Platform_00020], SWS PlatformTypes p. 17

Platformidentificatie: CPU_TYPE, CPU_BIT_ORDER, CPU_BYTE_ORDER

Voor elk platform moeten drie eigenschappen in de header worden vastgelegd:

Beide volgordesymbolen zijn #define's die precies een van de toegestane waarden dragen [SWS_Platform_00038] [SWS_Platform_00039].

cpu_symbole start Zielplattform portieren breite Registerbreedte van de 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

Activiteitendiagram: Bij het porteren naar een doelplatform worden registerbreedte, bitvolgorde en bytevolgorde bepaald en telkens op precies één symboolwaarde afgebeeld. Bronnen: [SWS_Platform_00045], [SWS_Platform_00048], [SWS_Platform_00049], [SWS_Platform_00050], [SWS_Platform_00051]

Bij big-endian-bitvolgorde geldt CPU_BIT_ORDER = MSB_FIRST, bij little-endian LSB_FIRST [SWS_Platform_00048] [SWS_Platform_00049]. Bitnamen en significantie moeten daarbij strikt gescheiden worden. De MSB staat in de accumulator ongeacht het CPU-type altijd uiterst links. Bij Motorola-architecturen (Big Endian Bit Order) duidt Bit0 het meest significante bit aan, bij alle andere het minst significante SWS PlatformTypes p. 15 SWS PlatformTypes Afb. 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

Structuurdiagram volgens afb. 7.1: De significantie van de registerbits staat vast, alleen de nummering van Bit0 hangt af van CPU_BIT_ORDER. Bronnen: SWS PlatformTypes Afb. 7.1 p. 14, SWS PlatformTypes p. 15

Bij big-endian-bytevolgorde geldt CPU_BYTE_ORDER = HIGH_BYTE_FIRST: het meest significante byte van een 16-bit waarde bevindt zich op adres n, het minst significante op n+1. Bij little-endian geldt LOW_BYTE_FIRST met omgekeerde toewijzing [SWS_Platform_00050] [SWS_Platform_00051]. De aanduidingen Byte0 en Byte1 dienen louter ter illustratie en kunnen in de referentiedocumentatie van een fabrikant afwijken 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

Structuurdiagram volgens afb. 7.2/7.3: Hetzelfde uint16 wordt afhankelijk van CPU_BYTE_ORDER met verwisselde bytes op de adressen n en n+1 afgebeeld. Bronnen: SWS PlatformTypes Afb. 7.2 p. 16, SWS PlatformTypes Afb. 7.3 p. 15, [SWS_Platform_00039]

Waarom deze gegevens noodzakelijk zijn, motiveren andere specificaties. De geheugenweergave van gegevens hangt sterk af van de processorarchitectuur en compilerinstellingen. Daarom vereist SOME/IP een serialisatie-algoritme dat naar een gemeenschappelijke netwerkweergave converteert RS SOMEIPProtocol p. 21. Vermoedelijk baseren dergelijke omrekeningen zich in implementaties op CPU_BYTE_ORDER; de payload toont dit echter niet expliciet aan. Vraag Q-87e212e9eb2a2047 (open)

Gedrag in het foutgeval

Interpretatie: Omdat Platform_Types.h alleen types en symbolen levert, kent de module geen runtime-fouten en geen foutcodes. Vraag Q-e504d08b84d7ff70 (open) Foutpatronen openbaren zich bij compilatie, integratie of conformiteitstests. De requirements noemen de typische oorzaken [SWS_Platform_00002]:

  • Uitbreidingen van de header zijn niet toegestaan; elke uitbreiding heft de conformiteit op [SWS_Platform_00002].
  • Dubbele definities van TRUE/FALSE bij aanwezige compilerondersteuning moeten door middel van een voorwaardelijke controle worden voorkomen [SWS_Platform_00054] [SWS_Platform_00056].
  • Onjuist ingestelde volgordesymbolen schenden [SWS_Platform_00048] tot [SWS_Platform_00051]. Bijzonder foutgevoelig is het verwarren van de bitnamen uit de fabrikantdocumentatie met de significantie SWS PlatformTypes p. 15.
  • Een boolean die geen pointers ondersteunt, schendt [SWS_Platform_00060], omdat parameters dan niet via de API kunnen worden overgedragen.
  • Rekenkundige bewerkingen of bitoperaties op boolean zijn niet toegestaan, evenmin als andere dan de vermelde vergelijkingsvormen [SWS_Platform_00034].
  • Code die uitgaat van one's complement of symmetrische waardebereiken wordt niet gedekt, aangezien alleen two's complement wordt ondersteund [SWS_Platform_00061].
  • Bij een releasewijziging moet het voorschrift voor boolean in acht worden genomen: R20-11 [SWS_Platform_00027] en latere versies SWS PlatformTypes p. 18 verschillen. Code die uitgaat van een vaste omvang van boolean dient daarom vóór de overstap te worden gecontroleerd.

Verdere gedetailleerde bewijzen

AI-gegenereerde handleiding op basis van de requirements van R20-11 en bijbehorende documentpassages, die deels uit latere releases afkomstig zijn. Maatgevend is de specificatie.

Platform Types (Platform_Types)

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

Typen — Übersicht

Typen — Detailansicht

type 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".

type 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".

type 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.

type 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.

type 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.

type 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.

type 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.

type 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#e1ea6195
Content hash
e1ea6195
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_PlatformTypes.pdf#nameddest=SWS_Platform_00026

Typen

boolean type

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 type

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 type

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 type

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 type

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 type

This standard AUTOSAR type shall be 64 bit signed.

typedef signed long long sint64;
sint8 type

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 type

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 type

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 type

This standard AUTOSAR type shall be 64 bit unsigned.

typedef unsigned long long uint64;
uint8 type

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 type

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;