AUTOSAR OS
Real-time operating system managing priority-based preemptive task scheduling, events, alarms, and schedule tables (OSEK/VDX derivative).
Funktionen — Übersicht
ApplicationType GetApplication (void);This service determines the OS - Application (a unique identifier has to be allocated to each application) where the caller...ApplicationType GetCurrentApplication (void);This service determines the OS - Application where the caller of the service is currently executing.ISRType GetISRID (void);This service returns the identifier of the currently executing ISR.StatusType CallTrustedFunction (TrustedFunctionIndexType FunctionIndex, TrustedFunctionParameterRefType FunctionParams);A (trusted or non - trusted) OS - Application uses this service to call a trusted functionAccessType CheckISRMemoryAccess (ISRType ISRID, MemoryStartAddressType Address, MemorySizeType Size);This service checks if a memory region is write/ read/ execute accessible and also returns information if the memory region is...AccessType CheckTaskMemoryAccess (TaskType TaskID, MemoryStartAddressType Address, MemorySizeType Size);This service checks if a memory region is write/ read/ execu te accessible and also returns information if the memory region...ObjectAccessType CheckObjectAccess (ApplicationType ApplID, ObjectTypeType ObjectType, void ...);This service determines if the OS - Applications, given by Appl ID, is allowed to use the IDs of a Task, Resource, Counter,...ApplicationType CheckObjectOwnership (ObjectTypeType ObjectType, void ...);This service determines to which OS - Application a given Task, ISR, Counter, Alarm or Schedule Table belongsStatusType StartScheduleTableRel (ScheduleTableType ScheduleTableID, TickType Offset);This service starts the processing of a schedule table at "Offset" relative to the "Now" value on the underlying counter.StatusType StartScheduleTableAbs (ScheduleTableType ScheduleTableID, TickType Start);This service starts the processing o f a schedule table at an absolute value "Start" on the underlying counter.StatusType StopScheduleTable (ScheduleTableType ScheduleTableID);This service cancels the processing of a schedule table immediately at any point while the schedule table is running.StatusType NextScheduleTable (ScheduleTableType ScheduleTableID_From, ScheduleTableType ScheduleTableID_To);This service switches the processing from one schedule table to another schedule table.StatusType StartScheduleTableSynchron (ScheduleTableType ScheduleTableID);This service starts an explicitly synchronized schedule table synchronously.StatusType SyncScheduleTable (ScheduleTableType ScheduleTableID, TickType Value);Service SyncScheduleTable.StatusType SetScheduletableAsync (ScheduleTableType ScheduleTableID);This service stops synchronization of a schedule table.StatusType GetScheduleTable GetScheduleTableStatusof (ScheduleTableType ScheduleTableID, ScheduleTableStatusRefType ScheduleStatus); ⚠️This service queries the state of a schedule table (also with respect to synchronization).StatusType IncrementCounter (CounterType CounterID);This service increments a software counter.StatusType GetCounterValue (CounterType CounterID, TickRefType Value);This service reads the current count value of a counte r (returning either the hardware timer ticks if counter is driven by...StatusType GetElapsedValue (CounterType CounterID, TickRefType Value, TickRefType ElapsedValue);This service gets the number of ticks between the current tick value and a previously read tick value.StatusType TerminateApplication (ApplicationType Application, RestartType RestartOption);Service TerminateApplication.StatusType AllowAccess (void);This service sets the own state of an OS - Application from AP PLICATION_ RESTARTING to APPLICATION_ ACCESSIBLE.StatusType GetApplicationState (ApplicationType Application, ApplicationStateRefType Value);This service returns the current state of an OS - Application.uint32 GetNumberOfActivated GetNumberActivatedCores (void); ⚠️The function returns the number of cores activated by the Start Core function.CoreIdType GetCore (void);The function returns a unique core identifier.void StartCore (CoreIdType CoreID, StatusType* Status);It is not supported to call this function after Start OS().void StartNonAutosar StartNonCore (CoreIdType CoreID, StatusType* Status); ⚠️The function start s the core specified by the parameter Core ID.StatusType GetSpinlock (SpinlockIdType SpinlockId);Get Spinlock tries to occupy a spin - lock variable.StatusType ReleaseSpinlock (SpinlockIdType SpinlockId);Release Spinlock releases a spinlock variable that was occupied before.StatusType TryToGetSpinlock (SpinlockIdType SpinlockId, TryToGetSpinlockType* Success);Try To Get Spinlock has the same functionality as Get Spinlock with the difference that if the spinlock is already occupied by...void ShutdownAllCores (StatusType Error);After this service the OS on all AUTOSAR cores is shut down.StatusType ControlIdle (CoreIdType CoreID, IdleModeType IdleMode);This API allows the caller to select the idle mode action which is performed during idle time of t he OS (e.StatusType ReadPeripheral (AreaIdType Area, const uint8* Address, uint8* ReadValue);This service returns the content of a given memory location ().StatusType ReadPeripheral16 (AreaIdType Area, const uint16* Address, uint16* ReadValue);This service returns the content of a given memory location ().StatusType ReadPeripheral32 (AreaIdType Area, const uint32* Address, uint32* ReadValue);This service returns the content of a given memory location ().StatusType WritePeripheral (AreaIdType Area, uint8* Address, uint8 WriteValue);This service writes the to a given memory location ().StatusType WritePeripheral16 (AreaIdType Area, uint16* Address, uint16 WriteValue);This service writes the to a given memory location ().StatusType WritePeripheral32 (AreaIdType Area, uint32* Address, uint32 WriteValue);This service writes the to a given memory location ().StatusType ModifyPeripheral (AreaIdType Area, uint8* Address, uint8 Clearmask, uint8 Setmask);This service modifies a given memory location () with the formula: * = ((* & ) | )StatusType ModifyPeripheral16 (AreaIdType Area, uint16* Address, uint16 Clearmask, uint16 Setmask);This service modifies a given memory location () with the formula: * = ((* & ) | )StatusType ModifyPeripheral32 (AreaIdType Area, uint32* Address, uint32 Clearmask, uint32 Setmask);This service modifies a given memory location () with the formula: * = ((* & ) | )StatusType EnableInterruptSource (ISRType ISRID, boolean ClearPending);Service EnableInterruptSource.StatusType DisableInterruptSource (ISRType ISRID);Disables the interrupt source by modifying the interrupt controller registers.StatusType ClearPendingInterrupt (ISRType ISRID);Service ClearPendingInterrupt.void ActivateTaskAsyn (TaskType id);Asynchronous version of the Activate Task() function.void SetEventAsyn (TaskType id, EventMaskType m);Asynchronous version of the Set Event() function.void Ioc (void);This service initializes the data structures of the IOC.void <ReceiverPullCB> (void);This callback function can be configured for the receiver of a communication.ProtectionReturnType ProtectionHook (StatusType Fatalerror);The protection hook is always called if a serious error occurs.
Typen — Übersicht
enum AppModeTypeApp Mode of the core shall be inherited from another core.TotalNumberOfCoresThe total number of coresApplicationTypeThis data type identifies the OS - Application.enum ApplicationStateTypeThis data type identifies the state of an OS - Application.ApplicationStateRefTypeThis data type points to location where a Application State Type can be stored.TrustedFunctionIndexTypeThis data type identifies a trusted function.struct TrustedFunctionParameterRefTypeThis data type points to a structure which holds the arguments for a call to a trusted function.AccessTypeThis type holds information how a specific memory region can be accessed.ObjectAccessTypeThis data type identifies if an OS - Application has access to an object.ObjectTypeThis data type identifies an object.MemoryStartAddressTypeThis data type is a pointer which is able to point to any location in the MCU address space.MemorySizeTypeThis data type holds the size (in bytes) of a memory region.ISRTypeThis data type identifies an interrupt service routine (ISR).ScheduleTableTypeThis data type identifies a schedule table.enum ScheduleTableStatusTypeThis type describes the status of a schedule.ScheduleTableStatusRefTypeThis data type points to a variable of the data type Schedule Table Status Type.enum ProtectionReturnTypeThis data type identifies a value which controls further actions of the OS on return from the protection hook.RestartTypeThis data type defines the use of a Restart Task after terminating an OS - Application.PhysicalTimeTypeThis data type is used for values returned by the conversion macro (see SWS_ Os_00393) OS_ TICKS2_().CoreIdTypeCore Id Type is a scalar that allows identifying a single core.SpinlockIdTypeSpinlock Id Type identifies a spinlock instance and is used by the API functions: Get Spinlock, Release Spinlock and Try To...TryToGetSpinlockTypeThe Try To Get Spinlock Type indicates if the spinlock has been occupied or not.enum IdleModeTypeThis data type identifies the idle mode behavior.AreaIdTypeArea Id Type identifies a peripheral area and is used by the API functions: Read Peripheral X, Write Peripheral X and Modify...TimeInMicrosecondsType-CounterTypeThis data type identifies a counter.typedef TickTypeThis data type represents count values in ticks.enum StatusTypeThis data type represents standard OSEK OS status codes (e.typedef TaskTypeThis data type identifies an AUTOSAR OS task.typedef EventMaskTypeThis data type represents an event mask for extended tasks.typedef AlarmTypeThis data type represents an AUTOSAR OS alarm identifier.
Funktionen & Typen — Detailansicht
functie GetApplication [SWS_Os_00016] 📄 PDF
ApplicationType GetApplicationID (void);
This service determines the OS - Application (a unique identifier has to be allocated to each application) where the caller originally belongs to (was configured t o).
functie GetCurrentApplication [SWS_Os_00797] 📄 PDF
ApplicationType GetCurrentApplicationID (void);
This service determines the OS - Application where the caller of the service is currently executing. Note that if the caller is not within a Call Trusted Function() call the value is eq ual to the result of Get Application ID().
functie GetISRID [SWS_Os_00511] 📄 PDF
ISRType GetISRID (void);
This service returns the identifier of the currently executing ISR.
functie CallTrustedFunction [SWS_Os_00097] 📄 PDF
StatusType CallTrustedFunction (TrustedFunctionIndexType FunctionIndex, TrustedFunctionParameterRefType FunctionParams);
A (trusted or non - trusted) OS - Application uses this service to call a trusted function
Via de systeemservice CallTrustedFunction (service-ID 0x02) kan een vertrouwde of niet-vertrouwde OS-Application een gedefinieerde Trusted Function ter uitvoering aanroepen [SWS_Os_00097]. De interface wordt beschikbaar gesteld via header Os.h [SWS_Os_00097].
De aanroep vereist de overdracht van twee invoerparameters [SWS_Os_00097]:
FunctionIndex(typeTrustedFunctionIndexType): Duidt de index van de aan te roepen functie aan [SWS_Os_00097].FunctionParams(typeTrustedFunctionParameterRefType): Geeft een pointer door naar de parameters van de doelfunctie; indien er geen argumenten nodig zijn, moet verplicht een NULL-pointer worden meegegeven [SWS_Os_00097].
Wat het tijdsgedrag betreft, richt de uitvoering zich naar de doelroutine: is de aangeroepen functie synchroon, dan gedraagt ook de service zich synchroon [SWS_Os_00097]. De functie is re-entrant geïmplementeerd, maar kan tijdens de uitvoering leiden tot rescheduling door het besturingssysteem [SWS_Os_00097].
Als retourwaarde levert de service een statuswaarde van het type StatusType [SWS_Os_00097]:
E_OK: De uitvoering was succesvol en foutloos [SWS_Os_00097].E_OS_SERVICEID: Aan de meegegeven index is geen geldige functie gekoppeld [SWS_Os_00097].
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van AUTOSAR R20-11.
Implementer's Guide volgt (complexiteit I2)
functie CheckISRMemoryAccess [SWS_Os_00512] 📄 PDF
AccessType CheckISRMemoryAccess (ISRType ISRID, MemoryStartAddressType Address, MemorySizeType Size);
This service checks if a memory region is write/ read/ execute accessible and also returns information if the memory region is part of the stack space.
De functie CheckISRMemoryAccess is een synchrone en re-entrante systeemservice van de OS-module ([SWS_Os_00512]). Deze dient ertoe om de geheugentoegangsrechten van een gespecificeerde ISR voor een bepaald geheugengebied tijdens runtime te controleren.
Gebruik en parameters
De aanroep van CheckISRMemoryAccess verwacht drie invoerparameters ([SWS_Os_00512]):
ISRID: Referentie naar de te controleren ISR (ISRType).Address: Startadres van het te onderzoeken geheugengebied (MemoryStartAddressType).Size: Grootte van het geheugengebied (MemorySizeType).
Als retourwaarde levert de service het type AccessType. Deze retourwaarde bevat de toegangsrechten (lezen, schrijven, uitvoeren) voor het gespecificeerde gebied en geeft bovendien uitsluitsel over de vraag of het geheugengebied deel uitmaakt van het stack-bereik ([SWS_Os_00512]).
Gelijktijdigheid en integratie
Volgens de specificatie heeft de functie de service-ID 0x03 en is deze gedeclareerd als re-entrant ([SWS_Os_00512]). Zij is beschikbaar via de header Os.h ([SWS_Os_00512]). Specifieke foutcodes of expliciete terugmeldingen aan DET/DEM worden in het onderhavige specificatiefragment niet vermeld.
Deze gebruiksinstructie is automatisch gegenereerd op basis van de specificatiegegevens van AUTOSAR R20-11.
Implementer's Guide volgt (complexiteit I2)
functie CheckTaskMemoryAccess [SWS_Os_00513] 📄 PDF
AccessType CheckTaskMemoryAccess (TaskType TaskID, MemoryStartAddressType Address, MemorySizeType Size);
This service checks if a memory region is write/ read/ execu te accessible and also returns information if the memory region is part of the stack space.
De functie CheckTaskMemoryAccess vormt een synchrone service van het besturingssysteem die via de header Os.h ter beschikking wordt gesteld en de service-ID 0x04 heeft [SWS_Os_00513]. Deze dient ertoe de geheugentoegangsrechten van een specifieke task voor een bepaald geheugensegment op te vragen [SWS_Os_00513].
Parameters en retourwaarden
Bij de aanroep accepteert de service drie ingangsparameters [SWS_Os_00513]:
Task ID(van het typeTaskType): referentie naar de task waarvan de toegangsrechten moeten worden gecontroleerd.Address(van het typeMemoryStartAddressType): het startadres van het te controleren geheugengebied.Size(van het typeMemorySizeType): de grootte van het te controleren geheugengebied.
Als retourwaarde levert de service een variabele van het type AccessType op [SWS_Os_00513]. Deze retourwaarde bevat de informatie of het opgegeven geheugengebied voor de task toegankelijk is met schrijf-, lees- of uitvoeringsrechten, en geeft bovendien aan of het gebied deel uitmaakt van het stackgebied [SWS_Os_00513]. Aanvullende foutcodes of DET-meldingen zijn voor deze service niet gespecificeerd.
Gelijktijdigheid en wisselwerking
De service is als re-entrant gespecificeerd en kan daarom veilig in gelijktijdige uitvoeringscontexten worden gebruikt [SWS_Os_00513]. Terwijl CheckTaskMemoryAccess de bevoegdheden voor geheugengebieden tijdens runtime opvraagt, definieert de AUTOSAR-standaard in ARTI-modulebeschrijvingen interfaces en datastructuren waarmee debuggingtools toestanden en attributen van besturingssysteemobjecten kunnen registreren en evalueren [SWS_Os_00829].
Deze tekst is door een AI gegenereerd op basis van de AUTOSAR-specificatie R20-11.
Implementer's Guide volgt (complexiteit I2)
functie CheckObjectAccess [SWS_Os_00256] 📄 PDF
ObjectAccessType CheckObjectAccess (ApplicationType ApplID, ObjectTypeType ObjectType, void ...);
This service determines if the OS - Applications, given by Appl ID, is allowed to use the IDs of a Task, Resource, Counter, Alarm or Schedule Table in API calls.
Gebruik en semantiek
De functie CheckObjectAccess ([SWS_Os_00256]) bepaalt synchroon of een bepaalde OS-Application de bevoegdheid bezit om de ID van een besturingssysteemobject te gebruiken in API-aanroepen. Voor de identificatie van de toepassing dient de ingangsparameter ApplID van het type ApplicationType ([SWS_Os_00256]). Via ObjectType (type ObjectTypeType) wordt vastgelegd welk type object moet worden gecontroleerd; ondersteund worden Task, Resource, Counter, Alarm en Schedule Table ([SWS_Os_00256]). Als derde parameter volgt het te onderzoeken object zelf via de variabele parameterlijst ... ([SWS_Os_00256]).
Als retourwaarde levert de functie het type ObjectAccessType: als de toegang van de toepassing tot het object is toegestaan, wordt ACCESS geretourneerd, anders NO_ACCESS ([SWS_Os_00256]). De dienst is gedeclareerd via de header Os.h en bezit de service-ID 0x05 ([SWS_Os_00256]).
Gelijktijdigheid, foutafhandeling en samenspel
De service is gespecificeerd als re-entrant en kan daarom worden aangeroepen in gelijktijdige uitvoeringscontexten ([SWS_Os_00256]). Specifieke foutcodes, retourwaarden voor fouttoestanden of meldingen aan DET of DEM zijn voor deze functie niet voorzien in de specificatie ([SWS_Os_00256]).
Interpretatie: Het variabele argument ... zal in de implementatie vermoedelijk de concrete identifier van het object passend bij ObjectType overdragen. Vraag Q-5cb52ff94bb07826 (open) De gecontroleerde besturingssysteemobjecten worden ook weerspiegeld in de ARTI-debugging-informatie, die attributen en toestanden van besturingssysteemobjecten registreert en evalueert ([SWS_Os_00829]).
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de specificatie R20-11.
Implementer's Guide volgt (complexiteit I1)
functie CheckObjectOwnership [SWS_Os_00017] 📄 PDF
ApplicationType CheckObjectOwnership (ObjectTypeType ObjectType, void ...);
This service determines to which OS - Application a given Task, ISR, Counter, Alarm or Schedule Table belongs
Gebruik
De synchrone systeemfunctie CheckObjectOwnership dient ertoe vast te stellen tot welke OS-Application een bepaald besturingssysteemobject behoort [SWS_Os_00017]. Tot de via deze dienst opvraagbare objecten behoren taken, interrupt service routines (ISR's), tellers, alarmen en schedule tables [SWS_Os_00017].
De functie is beschikbaar via het headerbestand Os.h en heeft de service-ID 0x06 [SWS_Os_00017]. Bij gebruik accepteert de functie twee invoerparameters:
ObjectType: Geeft als invoerparameter van het typeObjectTypeTypede aard van het vervolgens overgedragen besturingssysteemobject aan [SWS_Os_00017]....: Draagt het concrete, te onderzoeken object over aan de dienst [SWS_Os_00017].
Als retourwaarde levert de functie het gegevenstype ApplicationType [SWS_Os_00017]. Dit bevat de identifier van de OS-Application waaraan het gecontroleerde object is toegewezen [SWS_Os_00017].
Foutafhandeling en uitvoeringseigenschappen
Voor zover het opgevraagde object niet bestaat in het systeem, levert de dienst de retourwaarde INVALID_OSAPPLICATION op [SWS_Os_00017].
Wat betreft gelijktijdigheidsgedrag is CheckObjectOwnership gespecificeerd als re-entrant en werkt deze volledig synchroon [SWS_Os_00017]. Invoer- en uitvoerparameters (inout of out) bestaan er naast de retourwaarde niet [SWS_Os_00017].
Deze gebruiksinstructie is gebaseerd op de specificatie SWS_Os_00017 uit AUTOSAR Classic R20-11.
Implementer's Guide volgt (complexiteit I1)
functie StartScheduleTableRel [SWS_Os_00347] 📄 PDF
StatusType StartScheduleTableRel (ScheduleTableType ScheduleTableID, TickType Offset);
This service starts the processing of a schedule table at "Offset" relative to the "Now" value on the underlying counter.
Gebruik en parameters
De systeemservice StartScheduleTableRel start de verwerking van een schedule-tabel relatief ten opzichte van de actuele tellerwaarde (“Now”) van de onderliggende counter [SWS_Os_00347]. De aanroep wordt synchroon uitgevoerd en is via de interface Os.h met de service-ID 0x07 beschikbaar [SWS_Os_00347].
ScheduleTableID(invoer,ScheduleTableType): Identifier van de te starten schedule-tabel [SWS_Os_00347].Offset(invoer,TickType): Relatief aantal tellertikken op de counter voordat de verwerking van de tabel begint [SWS_Os_00347].
Retourwaarden en foutafhandeling
De functie retourneert een statuscode van het type StatusType [SWS_Os_00347]:
E_OK: De schedule-tabel is foutloos gestart [SWS_Os_00347].E_OS_STATE: De opgegeven schedule-tabel is reeds gestart [SWS_Os_00347].E_OS_ID(alleen bij statusEXTENDED): De opgegevenScheduleTableIDis ongeldig [SWS_Os_00347].E_OS_VALUE(alleen bij statusEXTENDED): De parameterOffsetis gelijk aan0of overschrijdt de waarde(OsCounterMaxAllowedValue - InitialOffset)[SWS_Os_00347].
Gelijktijdigheid en beperkingen
De functie is gespecificeerd als re-entrant [SWS_Os_00347]. Er bestaan geen uitvoer- of in-/uitvoerparameters [SWS_Os_00347].
Deze gebruiksinstructie is gebaseerd op de specificatie AUTOSAR CP R20-11.
Implementer's Guide volgt (complexiteit I2)
functie StartScheduleTableAbs [SWS_Os_00358] 📄 PDF
StatusType StartScheduleTableAbs (ScheduleTableType ScheduleTableID, TickType Start);
This service starts the processing o f a schedule table at an absolute value "Start" on the underlying counter.
De synchrone en re-entrante functie StartScheduleTableAbs dient voor het starten van een aflooptabel (Schedule Table) op een vooraf ingestelde absolute tellerstand op de onderliggende teller ([SWS_Os_00358]). De service is beschikbaar via de header Os.h en wordt geïdentificeerd via de service-ID 0x08 ([SWS_Os_00358]).
Bij de aanroep worden twee invoerparameters doorgegeven ([SWS_Os_00358]):
ScheduleTableID: Identificatie van de te starten Schedule Table.Start: Absolute teller-tickwaarde waarop de Schedule Table wordt gestart.
Als retourwaarde levert de functie de status van het type StatusType ([SWS_Os_00358]):
E_OK: Het startproces was succesvol.E_OS_STATE: De opgegeven Schedule Table is reeds eerder gestart.E_OS_ID: De doorgegevenScheduleTableIDis ongeldig (wordt alleen in de statusEXTENDEDgeretourneerd).E_OS_VALUE: De waarde vanStartoverschrijdt de maximaal toegestane tellerwaardeOsCounterMaxAllowedValue(wordt alleen in de statusEXTENDEDgeretourneerd).
Wat betreft het samenspel kunnen de toestand en de dynamische attributen van besturingssysteemobjecten zoals Schedule Tables via ARTI-modulebeschrijvingen door aangesloten debugtools worden geëvalueerd en weergegeven ([SWS_Os_00829]). Interpretatie: De aanroepcontext omvat vermoedelijk vooral taskniveaus, aangezien in het specificatiefragment geen expliciete beperking wordt vermeld. Vraag Q-213de28d0345ccb1 (open)
Deze tekst is opgesteld door een AI en is uitsluitend gebaseerd op de specificaties van release R20-11.
Implementer's Guide volgt (complexiteit I2)
functie StopScheduleTable [SWS_Os_00006] 📄 PDF
StatusType StopScheduleTable (ScheduleTableType ScheduleTableID);
This service cancels the processing of a schedule table immediately at any point while the schedule table is running.
De synchrone systeemfunctie StopScheduleTable ([SWS_Os_00006]) breekt de verwerking van een lopende schedule-tabel op elk willekeurig verwerkingstijdstip onmiddellijk af. De dienst is gedeclareerd in header Os.h en heeft het service-ID 0x09 ([SWS_Os_00006]). Als enige ingangsparameter dient ScheduleTableID van het type ScheduleTableType, die de te stoppen schedule-tabel specificeert; in-/uitgangs- of zuivere uitgangsparameters bestaan niet ([SWS_Os_00006]).
De synchrone aanroep levert als retourwaarde een statuscode op van het type StatusType ([SWS_Os_00006]):
E_OK: De verwerking van de schedule-tabel is foutloos gestopt ([SWS_Os_00006]).E_OS_NOFUNC: De opgegeven schedule-tabel bevond zich reeds in de toestand gestopt ([SWS_Os_00006]).E_OS_ID: De meegegeven identificatorScheduleTableIDis ongeldig. Deze retourwaarde wordt volgens de specificatie alleen gegenereerd in de statusEXTENDED([SWS_Os_00006]).
De functie is gedefinieerd als re-entrant ([SWS_Os_00006]). Interpretatie: Gezien de gedeclareerde re-entrantie is de synchrone aanroep vermoedelijk toegestaan vanuit meerdere OS-contexten, hoewel concrete contextbeperkingen in het onderhavige specificatie-uittreksel ontbreken. Vraag Q-9cb147c4bc7dba7e (open) Voor runtime-monitoring kunnen de toestand en dynamische attributen van OS-objecten zoals schedule-tabellen via ARTI-beschrijvingsbestanden worden doorgegeven aan aangesloten debug- en analysetools ([SWS_Os_00829]).
Opmerking: Deze toelichting is geautomatiseerd gegenereerd op basis van de specificatie van AUTOSAR Classic Release R20-11.
Implementer's Guide volgt (complexiteit I2)
functie NextScheduleTable [SWS_Os_00191] 📄 PDF
StatusType NextScheduleTable (ScheduleTableType ScheduleTableID_From, ScheduleTableType ScheduleTableID_To);
This service switches the processing from one schedule table to another schedule table.
De functie NextScheduleTable dient voor het synchroon omschakelen van de verwerking van een lopende schedule-tabel naar een vervolgtabel [SWS_Os_00191]. De service is ontworpen als re-entrant en gedeclareerd via header Os.h [SWS_Os_00191].
Parameters en aanroep
Aan de aanroep worden twee invoerparameters van het type ScheduleTableType meegegeven [SWS_Os_00191]:
ScheduleTableID_From: Identificatie van de momenteel verwerkte schedule-tabel [SWS_Os_00191].ScheduleTableID_To: Identificatie van de schedule-tabel die de volgende reeks aflooppunten (expiry points) beschikbaar stelt [SWS_Os_00191].
Retourwaarden en foutafhandeling
De functie retourneert een statuswaarde van het type StatusType [SWS_Os_00191]:
E_OK: De wisselopdracht is foutloos uitgezet [SWS_Os_00191].E_OS_ID: Wordt uitsluitend geretourneerd bij een geconfigureerdeEXTENDED-status, indien ten minste één van de meegegeven tabelidentificaties ongeldig is [SWS_Os_00191].E_OS_NOFUNC: De brontabelScheduleTableID_Frombevindt zich niet in de gestarte toestand [SWS_Os_00191].E_OS_STATE: De doeltabelScheduleTableID_Tois reeds actief gestart of reeds aangemerkt als vervolgtabel [SWS_Os_00191].
Interactie en diagnose
Voor de observatie en analyse van het besturingssysteem ondersteunen ARTI-modulebeschrijvingen overeenkomstige ORTI-containers, waarmee debugtools onder andere dynamische toestanden van besturingssysteemobjecten kunnen evalueren en weergeven [SWS_Os_00829].
Deze tekst is automatisch gegenereerd. Alle gegevens zijn uitsluitend gebaseerd op de specificaties van AUTOSAR-release R20-11.
Implementer's Guide volgt (complexiteit I2)
functie StartScheduleTableSynchron [SWS_Os_00201] 📄 PDF
StatusType StartScheduleTableSynchron (ScheduleTableType ScheduleTableID);
This service starts an explicitly synchronized schedule table synchronously.
Gebruik
De systeemservice StartScheduleTableSynchron dient ertoe een expliciet gesynchroniseerde schedule-tabel synchroon te starten [SWS_Os_00201]. De functie is gedeclareerd in het headerbestand Os.h en heeft de service-ID 0x0b [SWS_Os_00201]. Als enige overdrachtsparameter verwacht de functie de invoerparameter ScheduleTableID van het type ScheduleTableType, die de te starten tabel eenduidig mandateert [SWS_Os_00201]. In-/uitvoerparameters of zuivere uitvoerparameters zijn niet aanwezig [SWS_Os_00201]. De verwerking vindt synchroon plaats en levert een retourwaarde van het type StatusType op [SWS_Os_00201].
Foutafhandeling
Bij een foutloos verloop retourneert de functieaanroep de statuscode E_OK [SWS_Os_00201]. Bij fouten zijn de volgende retourwaarden gespecificeerd:
E_OS_STATE: De opgegeven schedule-tabel bevindt zich reeds in de gestarte toestand en kan niet opnieuw synchroon worden gestart [SWS_Os_00201].E_OS_ID: De doorgegevenScheduleTableIDis ongeldig [SWS_Os_00201]. Deze foutcontrole en foutmelding is uitsluitend actief in de EXTENDED-status [SWS_Os_00201].
Gelijktijdigheid en beperkingen
De functie is gespecificeerd als re-entrant [SWS_Os_00201]. Aangezien een herhaalde aanroep voor een reeds actieve tabel met E_OS_STATE wordt geweigerd, moet de aanroeper waarborgen dat de doeltabel vóór de aanroep niet reeds draait [SWS_Os_00201].
Samenspel
Toestandsovergangen en dynamische eigenschappen van besturingssysteemobjecten kunnen voor test- en diagnosetools worden gevolgd via ARTI-modulebeschrijvingsbestanden en ORTI-containers [SWS_Os_00829]. Externe debuggers gebruiken deze beschrijvingen om de interne status van de OS-objecten tijdens runtime te evalueren [SWS_Os_00829].
Deze tekst is gegenereerd door een AI op basis van de specificatie AUTOSAR R20-11.
Implementer's Guide volgt (complexiteit I2)
functie SyncScheduleTable [SWS_Os_00199] 📄 PDF
StatusType SyncScheduleTable (ScheduleTableType ScheduleTableID, TickType Value);
Service SyncScheduleTable.
De synchrone en re-entrante besturingssysteemservice SyncScheduleTable dient ertoe een tellerwaarde aan een schedule-tabel door te geven en het synchronisatieproces te starten ([SWS_Os_00199]). De functie wordt beschikbaar gesteld via het headerbestand Os.h ([SWS_Os_00199]).
Parameters en retourwaarden
De functie verwacht twee invoerparameters ([SWS_Os_00199]):
Schedule Table ID: Identificatie van de te synchroniseren schedule-tabel van het typeScheduleTableType([SWS_Os_00199]).Value: Actuele tellerstand van de synchronisatieteller van het typeTickType([SWS_Os_00199]).
De retourwaarde van het type StatusType signaleert met E_OK de foutloze uitvoering ([SWS_Os_00199]).
Foutafhandeling en randvoorwaarden
Als de tabel zich op het moment van de aanroep in de toestand SCHEDULETABLE_STOPPED bevindt, wordt de fout E_OS_STATE geretourneerd ([SWS_Os_00199]). Als het besturingssysteem in de EXTENDED-status is geconfigureerd, zijn verdere controles van toepassing ([SWS_Os_00199]):
E_OS_ID: De opgegeven tabel-ID is ongeldig of de tabel kan niet worden gesynchroniseerd omdatOs Schedule Tbl Sync Strategyniet geconfigureerd is of opIMPLICITis ingesteld ([SWS_Os_00199]).E_OS_VALUE: De doorgegeven tellerwaardeValueligt buiten het toegestane bereik ([SWS_Os_00199]).
Interactie en diagnose
Toestanden en dynamische attributen van besturingssysteemobjecten zoals schedule-tabellen kunnen via ARTI-modulebeschrijvingen en ORTI-containers door aangesloten debug- en diagnosetools worden geëvalueerd ([SWS_Os_00829]).
Deze tekst is door een AI gegenereerd op basis van AUTOSAR R20-11.
Implementer's Guide volgt (complexiteit I2)
functie SetScheduletableAsync [SWS_Os_00422] 📄 PDF
StatusType SetScheduletableAsync (ScheduleTableType ScheduleTableID);
This service stops synchronization of a schedule table.
functie GetScheduleTableStatusof [SWS_Os_00227] 📄 PDF
StatusType GetScheduleTableStatus (ScheduleTableType ScheduleTableID, ScheduleTableStatusRefType ScheduleStatus);
This service queries the state of a schedule table (also with respect to synchronization).
functie IncrementCounter [SWS_Os_00399] 📄 PDF
StatusType IncrementCounter (CounterType CounterID);
This service increments a software counter.
Gebruik
De synchrone besturingssysteemfunctie IncrementCounter dient voor het expliciet ophogen van een softwareteller [SWS_Os_00399]. Deze verwacht als ingangsparameter de identificatie CounterID van het type CounterType, wijzigt geen verdere parameters en is beschikbaar via de header Os.h [SWS_Os_00399]. Er dient rekening mee te worden gehouden dat de aanroep een onmiddellijke rescheduling van het besturingssysteem kan initiëren [SWS_Os_00399].
Foutafhandeling
De retourwaarde van het type StatusType geeft uitsluitsel over het succes van de operatie: in het reguliere bedrijf meldt E_OK de foutloze uitvoering [SWS_Os_00399]. Bij geactiveerde uitgebreide statuscontrole (EXTENDED-status) levert de service E_OS_ID op, indien een ongeldige teller-ID is opgegeven of wanneer de gerefereerde teller in hardware is gerealiseerd en zich bijgevolg niet via software laat verhogen [SWS_Os_00399].
Gelijktijdigheid en diagnose
De functie is re-entrant ontworpen en mag dus gelijktijdig worden aangeroepen [SWS_Os_00399]. Een mogelijke rescheduling treedt Interpretatie: vermoedelijk op wanneer het doorschakelen van de teller afhankelijke acties zoals afloop van alarmen of task-activeringen triggert. Vraag Q-9004b5ced9b96230 (open) Voor de observatie van besturingssysteemobjecten zoals tellers en hun dynamische toestand ondersteunen ARTI-modulebeschrijvingen aangesloten analysehulpmiddelen bij de runtimebewaking [SWS_Os_00829].
Deze gebruiksinstructie is automatisch gegenereerd en is gebaseerd op de specificaties van AUTOSAR-release R20-11.
Implementer's Guide volgt (complexiteit I2)
functie GetCounterValue [SWS_Os_00383] 📄 PDF
StatusType GetCounterValue (CounterType CounterID, TickRefType Value);
This service reads the current count value of a counte r (returning either the hardware timer ticks if counter is driven by hardware or the software ticks when user drives counter).
functie GetElapsedValue [SWS_Os_00392] 📄 PDF
StatusType GetElapsedValue (CounterType CounterID, TickRefType Value, TickRefType ElapsedValue);
This service gets the number of ticks between the current tick value and a previously read tick value.
functie TerminateApplication [SWS_Os_00258] 📄 PDF
StatusType TerminateApplication (ApplicationType Application, RestartType RestartOption);
Service TerminateApplication.
De synchrone en re-entrante functie TerminateApplication dient voor het beëindigen van een OS-Application en is beschikbaar via het headerbestand Os.h [SWS_Os_00258]. De aanroep is toegestaan vanuit de context van een task, een categorie-2-ISR en een applicatiespecifieke error-hook [SWS_Os_00258].
Als invoerparameters worden de identificatie van de doelapplicatie (Application) en het herstartgedrag (Restart Option) doorgegeven [SWS_Os_00258]:
- Als de aanroeper zelf tot de in
Applicationopgegeven applicatie behoort, leidt de uitvoering tot een zelfbeëindiging [SWS_Os_00258]. - Via
Restart Optionwordt vastgelegd of de OS-Application aansluitend opnieuw moet worden gestart (RESTART) of niet (NO_RESTART) [SWS_Os_00258].
De functie retourneert een statuswaarde van het type StatusType [SWS_Os_00258]:
E_OKsignaleert een foutloze beëindiging [SWS_Os_00258].E_OS_STATEgeeft aan dat de actuele toestand vanApplicationhet beëindigen niet toestaat [SWS_Os_00258].- In de EXTENDED-status worden aanvullende foutcontroles uitgevoerd:
E_OS_IDbij een ongeldige applicatie-ID,E_OS_VALUEbij een ongeldige parameterwaarde voorRestart OptionenE_OS_ACCESSindien de aanroeper de bevoegdheid mist omApplicationte beëindigen [SWS_Os_00258].
Deze gebruiksinstructie is automatisch gegenereerd op basis van de specificatie SWS_Os_00258.
Implementer's Guide volgt (complexiteit I2)
functie AllowAccess [SWS_Os_00501] 📄 PDF
StatusType AllowAccess (void);
This service sets the own state of an OS - Application from AP PLICATION_ RESTARTING to APPLICATION_ ACCESSIBLE.
Gebruik
De synchrone systeemservice AllowAccess (service-ID 0x13) dient ertoe de toestand van de eigen OS-Application van APPLICATION_RESTARTING naar APPLICATION_ACCESSIBLE te zetten ([SWS_Os_00501]). De functie is beschikbaar via het headerbestand Os.h, verwacht geen overdrachtsparameters en retourneert een statuswaarde van het type StatusType ([SWS_Os_00501]). Bij succesvolle uitvoering van de toestandsverandering levert de aanroep de retourwaarde E_OK op ([SWS_Os_00501]).
Foutafhandeling en gelijktijdigheid
Indien de aanroepende OS-Application zich niet in de toestand APPLICATION_RESTARTING bevindt, mislukt de uitvoering en retourneert de functie de foutwaarde E_OS_STATE ([SWS_Os_00501]). Specifieke DET- of DEM-meldingen zijn in de specificatie voor deze service niet gedefinieerd. Wat betreft het gedrag bij gelijktijdigheid is de functie als re-entrant geclassificeerd en kan daarom veilig in parallelle processen worden uitgevoerd ([SWS_Os_00501]).
Interactie en diagnose
Interpretatie: De aanroep vindt vermoedelijk typisch plaats aan het einde van een applicatie-eigen herstartfase, zodra alle voorbereidingen zijn voltooid en andere toepassingen weer toegang mogen hebben tot de resources. Vraag Q-f43a3f702d5d2428 (open) De dynamische toestanden van het besturingssysteem en de bijbehorende OS-objecten kunnen in het kader van de systeemdiagnose via gestandaardiseerde ARTI-beschrijvingsbestanden en bijbehorende debugtools worden geëvalueerd en gevisualiseerd ([SWS_Os_00829]).
Deze tekst is opgesteld door een AI en is gebaseerd op specificatiestand R20-11.
Implementer's Guide volgt (complexiteit I1)
functie GetApplicationState [SWS_Os_00499] 📄 PDF
StatusType GetApplicationState (ApplicationType Application, ApplicationStateRefType Value);
This service returns the current state of an OS - Application.
functie GetNumberActivatedCores [SWS_Os_00672] 📄 PDF
uint32 GetNumberOfActivatedCores (void);
The function returns the number of cores activated by the Start Core function. This function might be a macro. AUTOSAR CP R20 - o f Document ID : AUTOSAR_SWS_OS
functie GetCore [SWS_Os_00674] 📄 PDF
CoreIdType GetCoreID (void);
The function returns a unique core identifier.
functie StartCore [SWS_Os_00676] 📄 PDF
void StartCore (CoreIdType CoreID, StatusType* Status);
It is not supported to call this function after Start OS(). The function starts the core specified by the parameter Core ID. The OUT parameter allows the caller to check whether the operation was successful or no t. If a core is started by means of this function Start OS shall be called on the core.
De synchrone functie StartCore start de via de parameter Core ID gespecificeerde processorkern [SWS_Os_00676]. De functie heeft geen directe retourwaarde, maar geeft het resultaat van de uitvoering via de OUT-parameter Status door aan de aanroeper [SWS_Os_00676]. Werd een kern door middel van deze functie gestart, dan moet aansluitend op de betreffende kern Start OS worden aangeroepen [SWS_Os_00676].
Voor de aanroepcontext en de gelijktijdigheid gelden vaste beperkingen: StartCore is gespecificeerd als niet-re-entrant (Non Reentrant) [SWS_Os_00676]. Een aanroep na het starten van het besturingssysteem via Start OS() wordt niet ondersteund [SWS_Os_00676]. De service is synchroon geïmplementeerd en wordt via het headerbestand Os.h met de service-ID 0x17 beschikbaar gesteld [SWS_Os_00676].
De foutafhandeling vindt plaats via de parameter Status, die afhankelijk van de statusconfiguratie de volgende waarden kan aannemen [SWS_Os_00676]:
- In de standaardstatus geeft
E_OKeen foutloze uitvoering aan [SWS_Os_00676]. - In de uitgebreide status (extended status) bevestigt
E_OKeveneens een succesvolle start [SWS_Os_00676]. E_OS_IDmeldt dat de doorgegevenCore IDongeldig is [SWS_Os_00676].E_OS_ACCESSsignaleert een niet-toegestane aanroep na de start van het besturingssysteem [SWS_Os_00676].E_OS_STATEgeeft aan dat de opgevraagde processorkern reeds geactiveerd is [SWS_Os_00676].
Deze gebruiksinstructie is gegenereerd door een AI en steunt uitsluitend op de specificatie van het AUTOSAR Classic-besturingssysteem uit release R20-11.
Implementer's Guide volgt (complexiteit I2)
functie StartNonCore [SWS_Os_00682] 📄 PDF
void StartNonAutosarCore (CoreIdType CoreID, StatusType* Status);
The function start s the core specified by the parameter Core ID. It is allowed to call this function after Start OS(). The OUT parameter allows the caller to check whether the operation was successful or not. It is not allowed to call Start OS on cores activated by Start No n Autosar Core. Otherwise the behaviour is unspecified.
Gebruik en aanroepcontext
De synchrone en niet-re-entrante functie StartNonCore start de via de parameter CoreID gespecificeerde processorkern [SWS_Os_00682]. Deze mag na de start van het besturingssysteem via StartOS() worden aangeroepen en is beschikbaar via het headerbestand Os.h [SWS_Os_00682]. Via de uitgangsparameter Status kan de aanroeper controleren of het startproces succesvol was [SWS_Os_00682].
Foutafhandeling en statuswaarden
De functie heeft geen directe retourwaarde, maar meldt het resultaat van de uitvoering terug via de pointerparameter Status [SWS_Os_00682]:
E_OK: de operatie is succesvol en foutloos uitgevoerd [SWS_Os_00682].E_OS_ID: de opgegevenCoreIDis ongeldig (in de standaardstatus) [SWS_Os_00682].E_OS_STATE: de opgegeven processorkern is reeds geactiveerd (in de standaardstatus) [SWS_Os_00682].
Beperkingen en volgordevoorwaarden
Als niet-re-entrante interface mag StartNonCore niet gelijktijdig worden uitgevoerd [SWS_Os_00682]. Bovendien geldt de strikte richtlijn dat op processorkernen die via deze functie zijn geactiveerd, in geen geval StartOS mag worden aangeroepen; anders is het systeemgedrag niet-gespecificeerd [SWS_Os_00682].
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de specificatie van AUTOSAR Classic R20-11.
Implementer's Guide volgt (complexiteit I1)
functie GetSpinlock [SWS_Os_00686] 📄 PDF
StatusType GetSpinlock (SpinlockIdType SpinlockId);
Get Spinlock tries to occupy a spin - lock variable. If the function returns, either the lock is successfully taken or an error has occurred. The spinlock mechanism is an active polling mechanism. The function does not cause a de - scheduling.
De synchrone en re-entrante besturingssysteemfunctie GetSpinlock ([SWS_Os_00686]) dient voor de toewijzing van een spinlock-variabele via de overdrachtsparameter SpinlockId (type SpinlockIdType). Bij de uitvoering maakt de functie gebruik van een actief pollingmechanisme (“busy waiting”), zonder dat een de-scheduling van de aanroepende task wordt geactiveerd ([SWS_Os_00686]).
De functie keert pas terug wanneer de lock succesvol is verkregen of er een fout is opgetreden. Als retourwaarde levert GetSpinlock de StatusType ([SWS_Os_00686]):
E_OK: De lock is foutloos bezet (in de standaard- en Extended-status).E_OS_ID: De doorgegevenSpinlockIdis ongeldig (alleen in de Extended-status).E_OS_INTERFERENCE_DEADLOCK: Een task probeert de spinlock te bezetten terwijl deze al door een task op dezelfde Core bezet is (alleen in de Extended-status).E_OS_NESTING_DEADLOCK: Een task probeert de spinlock aan te vragen terwijl een task van dezelfde Core al een andere spinlock vasthoudt, wat een deadlock zou kunnen veroorzaken (alleen in de Extended-status).E_OS_ACCESS: De opgegeven spinlock kan niet worden benaderd (alleen in de Extended-status).
In het kader van de systeemmonitoring en foutanalyse stelt het besturingssysteem dynamische statusinformatie over OS-objecten beschikbaar, die conform [SWS_Os_00829] via ARTI- en ORTI-containers voor debugtools analyseerbaar is; vermoedelijk kunnen hiermee ook blokkadesituaties bij spinlocks worden getraceerd. Vraag Q-bac194d4132f6e88 (open)
Deze tekst is door een AI gegenereerd op basis van de AUTOSAR-specificatie R20-11.
Implementer's Guide volgt (complexiteit I2)
functie ReleaseSpinlock [SWS_Os_00695] 📄 PDF
StatusType ReleaseSpinlock (SpinlockIdType SpinlockId);
Release Spinlock releases a spinlock variable that was occupied before. Before terminating a TASK all spinlock variables that have been occupied with Get Spinlock() shall be released. Before calling Wait EVENT all Spinlocks shall be released.
De synchrone en re-entrante functie ReleaseSpinlock geeft een eerder bezette spinlock-variabele vrij ([SWS_Os_00695]). Via de overdrachtsparameter SpinlockId van het type SpinlockIdType wordt de vrij te geven spinlock-instantie gespecificeerd ([SWS_Os_00695]).
Volgordevoorwaarden en beperkingen
Voor de aanroep gelden strikte temporele en structurele voorschriften ([SWS_Os_00695]):
- Vóór het beëindigen van een task moeten alle eerder met
GetSpinlock()bezette spinlock-variabelen weer worden vrijgegeven ([SWS_Os_00695]). - Vóór de aanroep van
WaitEventmoeten zonder uitzondering alle vastgehouden spinlocks worden vrijgegeven ([SWS_Os_00695]). - De vrijgave moet in de correcte nestingsvolgorde plaatsvinden; een vrijgavepoging bij nog bezette bovenliggende spinlocks of resources mislukt ([SWS_Os_00695]).
Retourwaarden en foutafhandeling
Bij succes retourneert de service zowel in de standaardstatus als in de uitgebreide status E_OK ([SWS_Os_00695]). In de uitgebreide status (Extended Status) zijn specifieke foutcodes gedefinieerd ([SWS_Os_00695]):
E_OS_ID: De doorgegevenSpinlockIdis ongeldig ([SWS_Os_00695]).E_OS_STATE: De spinlock is niet bezet door de aanroepende task ([SWS_Os_00695]).E_OS_ACCESS: De spinlock is niet toegankelijk ([SWS_Os_00695]).E_OS_NOFUNC: Poging om de spinlock vrij te geven, terwijl er eerst nog een andere spinlock of resource moet worden vrijgegeven ([SWS_Os_00695]).
De functie is beschikbaar via de header Os.h ([SWS_Os_00695]). ARTI-beschrijvingsbestanden ondersteunen ORTI-containers voor de dynamische status- en performance-evaluatie van besturingssysteemobjecten ([SWS_Os_00829]).
Deze tekst is opgesteld door een AI en gecureerd door autodocs.
Implementer's Guide volgt (complexiteit I2)
functie TryToGetSpinlock [SWS_Os_00703] 📄 PDF
StatusType TryToGetSpinlock (SpinlockIdType SpinlockId, TryToGetSpinlockType* Success);
Try To Get Spinlock has the same functionality as Get Spinlock with the difference that if the spinlock is already occupied by a TASK on a d ifferent core the function sets the OUT parameter "Success" and returns with E_ OK.
De synchrone en re-entrante besturingssysteemfunctie TryToGetSpinlock dient voor het niet-blokkerend bezetten van een spinlock-instantie via de header Os.h [SWS_Os_00703]. Deze neemt dezelfde basisfunctionaliteit over als GetSpinlock, maar wacht niet actief indien de aangevraagde spinlock al door een TASK op een andere Core bezet is [SWS_Os_00703].
Parameters en retourwaarden
SpinlockId(invoer): Refereert aan de concrete spinlock-instantie die moet worden vergrendeld [SWS_Os_00703].Success(uitvoer): Geeft via het typeTryToGetSpinlockType*aan of de lock kon worden bezet of niet [SWS_Os_00703]. Als de vergrendeling op een andere Core bezet is, stelt de functie deze parameter dienovereenkomstig in en keert terug metE_OK[SWS_Os_00703].- Retourwaarde: Levert
E_OKop in de standaard- en Extended-status wanneer er geen fout optreedt [SWS_Os_00703].
Foutafhandeling en randvoorwaarden
In de Extended-status controleert het besturingssysteem op ongeldige aanroepen en deadlock-scenario's [SWS_Os_00703]:
E_OS_ID: de meegegevenSpinlockIdis ongeldig [SWS_Os_00703].E_OS_ACCESS: De spinlock is niet toegankelijk [SWS_Os_00703].E_OS_INTERFERENCE_DEADLOCK: Een TASK probeert de vergrendeling te bezetten, terwijl dezelfde vergrendeling al door een TASK op dezelfde Core wordt vastgehouden [SWS_Os_00703].E_OS_NESTING_DEADLOCK: Een TASK probeert een spinlock te bezetten terwijl deze al een andere spinlock vasthoudt, wat tot een deadlock zou kunnen leiden [SWS_Os_00703].
Deze gebruiksinstructie is automatisch gegenereerd door een AI-systeem op basis van de specificatie AUTOSAR R20-11.
Implementer's Guide volgt (complexiteit I2)
functie ShutdownAllCores [SWS_Os_00713] 📄 PDF
void ShutdownAllCores (StatusType Error);
After this service the OS on all AUTOSAR cores is shut down. Allowed at TASK level and ISR level and also internally by the OS. The function will never return. The function will force other cores into a shutdown.
De synchrone systeemfunctie ShutdownAllCores met de service-ID 0x1c dient voor het gecontroleerd en volledig afsluiten van het AUTOSAR-besturingssysteem over alle aanwezige processorkernen heen ([SWS_Os_00713]). Zodra de service wordt aangeroepen, dwingt de functie een shutdown op alle andere Cores af, zodat het besturingssysteem op alle AUTOSAR-kernen wordt afgesloten ([SWS_Os_00713]).
Aanroepcontext en gelijktijdigheid
De functie is gedeclareerd in de header Os.h en als re-entrant gespecificeerd ([SWS_Os_00713]). De aanroep van ShutdownAllCores is zowel op taskniveau (TASK level) als op interruptniveau (ISR level) onbeperkt toegestaan ([SWS_Os_00713]). Bovendien kan de service ook intern door het AUTOSAR OS rechtstreeks worden uitgevoerd ([SWS_Os_00713]).
Parameters en controlflow
De interface verwacht als enige ingangsparameter Error van het type StatusType ([SWS_Os_00713]). Voor deze parameter moet verplicht een geldige, door het AUTOSAR-besturingssysteem ondersteunde foutcode worden meegegeven ([SWS_Os_00713]). Uitgangs- of ingangs-/uitgangsparameters bestaan niet ([SWS_Os_00713]). Aangezien de functie na het initiëren van de systeembrede shutdown nooit terugkeert naar de aanroeper, heeft deze geen retourwaarde (void) ([SWS_Os_00713]).
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de specificatie van AUTOSAR R20-11.
Implementer's Guide volgt (complexiteit I2)
functie ControlIdle [SWS_Os_00769] 📄 PDF
StatusType ControlIdle (CoreIdType CoreID, IdleModeType IdleMode);
This API allows the caller to select the idle mode action which is performed during idle time of t he OS (e.g. if no Task/ ISR is active). It can be used to implement energy savings. The real idle modes are hardware dependent and not standardized. The default idle mode on each core is IDLE_ NO_ HALT.
De synchrone functie ControlIdle stelt de aanroeper in staat om de actie te bepalen die tijdens de inactiviteitstijd van het besturingssysteem (wanneer noch een task noch een ISR actief is) wordt uitgevoerd [SWS_Os_00769]. Dit dient primair voor de implementatie van maatregelen voor energiebesparing. De werkelijke inactiviteitsmodi zijn hardwareafhankelijk en niet gestandaardiseerd; de standaardmodus op elke processorkern is IDLE_NO_HALT [SWS_Os_00769]. De interface wordt beschikbaar gesteld via het headerbestand Os.h [SWS_Os_00769].
De functie verwacht twee invoerparameters:
CoreID(van het typeCoreIdType): Selecteert de processorkern waarvan de inactiviteitsmodus moet worden ingesteld [SWS_Os_00769].IdleMode(van het typeIdleModeType): Bepaalt de modus die tijdens de inactiviteitstijd moet worden uitgevoerd [SWS_Os_00769].
Als er geldige parameters zijn doorgegeven en er geen fout is opgetreden, retourneert de functie E_OK [SWS_Os_00769], [SWS_Os_00770]. Als de opgegeven CoreID of IdleMode ongeldig is – bijvoorbeeld omdat de gereferentieerde kern niet bestaat of de modus onbekend is –, levert de aanroep in de EXTENDED-status de foutcode E_OS_ID op [SWS_Os_00769], [SWS_Os_00771]. Op single-core-systemen wordt de controle van de parameter CoreID weggelaten [SWS_Os_00771].
Wat betreft gelijktijdigheid is de functie gespecificeerd als niet-re-entrant (Non Reentrant) [SWS_Os_00769]. Interpretatie: Aanroepers moeten er daarom voor zorgen dat aanroepen van ControlIdle niet gelijktijdig of ongecoördineerd vanuit verschillende uitvoeringscontexten plaatsvinden. Vraag Q-7f239cb54752e826 (open)
Deze gebruiksinstructie is gegenereerd door een AI op basis van de specificatie AUTOSAR Classic R20-11.
Implementer's Guide volgt (complexiteit I1)
functie ReadPeripheral [SWS_Os_91013] 📄 PDF
StatusType ReadPeripheral8 (AreaIdType Area, const uint8* Address, uint8* ReadValue);
This service returns the content of a given memory location (
).Gebruik
De functie ReadPeripheral (in de declaratie aangeduid als ReadPeripheral8) dient voor het synchroon uitlezen van een geheugenadres binnen een gedefinieerd hardware-periferiegebied [SWS_Os_91013]. De interface is beschikbaar via het headerbestand Os.h [SWS_Os_91013]. Als invoerparameters verwacht de dienst de gebiedsreferentie Area van het type AreaIdType en het doeladres Address als pointer naar const uint8 [SWS_Os_91013]. De uitgelezen inhoud van de geheugenlocatie wordt via de uitvoerparameter ReadValue beschikbaar gesteld [SWS_Os_91013].
Foutafhandeling
De dienst retourneert een statuscode van het type StatusType, waarbij E_OK de foutloze uitvoering aangeeft [SWS_Os_91013]. Bij geactiveerde uitgebreide statuscontrole (EXTENDED status) worden foutieve aanroepen gedifferentieerd aan de hand van specifieke foutwaarden [SWS_Os_91013]:
E_OS_ID: De doorgegeven gebiedsaanduidingArealigt buiten het geldige bereik [SWS_Os_91013].E_OS_VALUE: Het opgegeven geheugenadresAddressbehoort niet tot het opgegeven periferiegebied [SWS_Os_91013].E_OS_CALLEVEL: De aanroep vond plaats vanuit een niet-toegestane context [SWS_Os_91013].E_OS_ACCESS: De aanroepende task of ISR beschikt vermoedelijk niet over de vereiste rechten voor toegang tot het gebied (interpretatie) [SWS_Os_91013]. Vraag Q-19e2c22110352ebb (open)
Gelijktijdigheid en beperkingen
De API-dienst heeft het service-ID 0x28, werkt synchroon en is re-entrant ontworpen [SWS_Os_91013]. Aanroepen zijn alleen toegestaan vanuit geldige task- of ISR-contexten; niet-toegestane aanroepen worden in de uitgebreide status afgewezen met E_OS_CALLEVEL [SWS_Os_91013].
Deze tekst is door een AI gegenereerd op basis van de AUTOSAR-specificatie R20-11.
Implementer's Guide volgt (complexiteit I1)
functie ReadPeripheral16 [SWS_Os_91015] 📄 PDF
StatusType ReadPeripheral16 (AreaIdType Area, const uint16* Address, uint16* ReadValue);
This service returns the content of a given memory location (
).De synchrone en re-entrante besturingssysteemfunctie ReadPeripheral16 dient ertoe de 16-bits waarde van een gespecificeerd geheugenadres binnen een gedefinieerd periferiegebied uit te lezen [SWS_Os_91015]. De systeemservice is gedefinieerd onder het service-ID 0x29 en beschikbaar via het headerbestand Os.h [SWS_Os_91015].
Gebruik en parameters
Aan de dienst worden als invoerparameters de referentie naar het hardware-periferiegebied (Area van het type AreaIdType) en het doeladres in het geheugen (Address van het type const uint16*) doorgegeven [SWS_Os_91015]. Via de uitvoerparameter Read Value van het pointertype uint16* wordt de op het geheugenadres bepaalde 16-bits inhoud beschikbaar gesteld [SWS_Os_91015]. Bij foutloze uitvoering levert de functie de retourwaarde E_OK van het type StatusType op [SWS_Os_91015].
Foutafhandeling en toegangsbeperkingen
In de uitgebreide status (EXTENDED status) controleert het besturingssysteem de geldigheid van de aanroep en meldt fouten via specifieke statuscodes [SWS_Os_91015]:
E_OS_ID: De doorgegeven gebiedsaanduidingArealigt buiten het geldige bereik [SWS_Os_91015].E_OS_VALUE: Het opgegeven geheugenadresAddressbehoort niet tot het gespecificeerde periferiegebiedArea[SWS_Os_91015].E_OS_CALLEVEL: De aanroep vond plaats in een voor de API-functie niet-toegestane context [SWS_Os_91015].E_OS_ACCESS: De aanroepende task of de interruptservicereroutine (ISR) is niet bevoegd om toegang te krijgen tot het opgegeven gebied [SWS_Os_91015].
Deze gebruiksinstructie is geautomatiseerd gegenereerd en is uitsluitend gebaseerd op de vereisten van de specificatie AUTOSAR Classic R20-11.
Implementer's Guide volgt (complexiteit I1)
functie ReadPeripheral32 [SWS_Os_91014] 📄 PDF
StatusType ReadPeripheral32 (AreaIdType Area, const uint32* Address, uint32* ReadValue);
This service returns the content of a given memory location (
).Gebruik
De synchrone en re-entrante functie ReadPeripheral32 leest de inhoud van een opgegeven geheugenadres uit ([SWS_Os_91014]). De aanroeper geeft de referentie naar het hardware-periferiegebied door via de parameter Area en het gewenste geheugenadres via Address ([SWS_Os_91014]). De op dit adres uitgelezen 32-bits waarde wordt synchroon beschikbaar gesteld via de uitvoerparameter ReadValue ([SWS_Os_91014]). De interface wordt beschikbaar gesteld via de header Os.h ([SWS_Os_91014]).
Foutafhandeling
De dienst retourneert een statuswaarde van het type StatusType. Bij foutloze uitvoering levert deze E_OK op ([SWS_Os_91014]). Als de uitgebreide status is geconfigureerd (EXTENDED status), worden de volgende foutcodes geretourneerd ([SWS_Os_91014]):
E_OS_ID: De doorgegeven gebiedsaanduidingArealigt buiten het toelaatbare bereik ([SWS_Os_91014]).E_OS_VALUE: Het opgegeven adresAddressbehoort niet tot het opgegeven gebiedArea([SWS_Os_91014]).E_OS_CALLEVEL: De functie is aangeroepen in een niet-toegestane aanroepcontext ([SWS_Os_91014]).E_OS_ACCESS: De aanroepende task of de aanroepende ISR beschikt niet over de vereiste toegangsrechten; volgens interpretatie heeft dit vermoedelijk betrekking op het periferiegebied ([SWS_Os_91014]). Vraag Q-e5893b29acc5133a (open)
Gelijktijdigheid en beperkingen
ReadPeripheral32 is gespecificeerd als re-entrant en kan parallel door meerdere control flows worden aangeroepen ([SWS_Os_91014]). Aangezien de dienst synchroon werkt, keert de aanroep pas terug na voltooiing van het leesproces ([SWS_Os_91014]). Aanroepers moeten geldige geheugenpointers doorgeven en ervoor zorgen dat de aanroep plaatsvindt vanuit een context die is toegestaan voor de OS-API ([SWS_Os_91014]).
Deze tekst is opgesteld door een AI en is uitsluitend gebaseerd op de specificaties van release R20-11.
Implementer's Guide volgt (complexiteit I1)
functie WritePeripheral [SWS_Os_91010] 📄 PDF
StatusType WritePeripheral8 (AreaIdType Area, uint8* Address, uint8 WriteValue);
This service writes the
Gebruik
De functie WritePeripheral (in de specificatie ook aangeduid als Write Peripheral8) is een synchrone en re-entrante dienst van het besturingssysteem om een waarde naar een opgegeven geheugenadres van een periferiegebied te schrijven [SWS_Os_91010]. De declaratie wordt beschikbaar gesteld via het headerbestand Os.h [SWS_Os_91010]. De aanroep verwacht als parameters de referentie naar het hardware-periferiegebied (Area van het type AreaIdType), het geheugenadres (Address van het type uint8*) evenals de te schrijven waarde (Write Value van het type uint8) [SWS_Os_91010]. Interpretatie: Hoewel Write Value in de specificatietekst in tabelvorm onder de uitvoerparameters is opgenomen, gaat het gezien de doorgifte op waarde in de signatuur en de beschrijving vermoedelijk om de te schrijven invoerwaarde. Vraag Q-619c69ba7a85ed92 (open)
Foutafhandeling
De functie retourneert een status van het type StatusType [SWS_Os_91010]:
E_OK: Het schrijfproces is foutloos uitgevoerd [SWS_Os_91010].E_OS_ID: Het doorgegeven gebieds-ID ligt buiten het geldige bereik (in de uitgebreide status) [SWS_Os_91010].E_OS_VALUE: Het doeladres behoort niet tot het opgegeven gebied (in de uitgebreide status) [SWS_Os_91010].E_OS_CALLEVEL: Niet-toegestane aanroepcontext van de API-functie (in de uitgebreide status) [SWS_Os_91010].E_OS_ACCESS: De aanroepende task of ISR heeft geen toegangsrechten voor het gebied [SWS_Os_91010].
Gelijktijdigheid en beperkingen
De aanroep wordt synchroon afgehandeld en is re-entrant [SWS_Os_91010]. Aanroepers moeten ervoor zorgen dat de uitvoerende task of ISR vanuit een geldige context opereert en over de vereiste toegangsrechten voor het geadresseerde periferiegebied beschikt [SWS_Os_91010].
Deze tekst is automatisch gegenereerd. Alle gegevens zijn gebaseerd op de gereferentieerde AUTOSAR-specificaties.
Implementer's Guide volgt (complexiteit I1)
functie WritePeripheral16 [SWS_Os_91012] 📄 PDF
StatusType WritePeripheral16 (AreaIdType Area, uint16* Address, uint16 WriteValue);
This service writes the
De synchrone en re-entrante besturingssysteemfunctie WritePeripheral16 ([SWS_Os_91012]) dient voor het schrijven van een 16-bits waarde naar een geheugenadres van een periferiegebied. De dienst wordt beschikbaar gesteld via de header Os.h en heeft het service-ID 0x2c.
Gebruik en parameters
Bij het aanroepen van WritePeripheral16 geeft de aanroeper de aanduiding van het doel-hardwaregebied (Area van het type AreaIdType), het doeladres (Address van het type uint16*) en de te schrijven waarde (Write Value van het type uint16, die ondanks weergave in de tabel als out-parameter in de signatuur vermoedelijk als overdracht op waarde dient) conform [SWS_Os_91012] door. Vraag Q-2edc50ae2e7fd0b0 (open) De dienst wordt synchroon uitgevoerd en retourneert een statuswaarde van het type StatusType.
Foutafhandeling
In geval van succes retourneert de functie E_OK. Onder de status EXTENDED zijn de volgende foutcodes gespecificeerd ([SWS_Os_91012]):
E_OS_ID: De doorgegeven gebiedsaanduiding (Area) ligt buiten het geldige bereik.E_OS_VALUE: Het doeladres (Address) behoort niet tot het opgegeven periferiegebied.E_OS_CALLEVEL: De functie is aangeroepen vanuit een niet-toegestane context.E_OS_ACCESS: De aanroepende task of ISR heeft vermoedelijk geen rechten voor toegang tot het opgegeven gebied. Vraag (open)
Beperkingen en interactie
De functie is re-entrant ([SWS_Os_91012]), maar vereist naleving van de toegestane aanroepcontext (task of ISR) om fouttoestanden zoals E_OS_CALLEVEL te voorkomen. Voor het monitoren en analyseren van besturingssysteemobjecten voorziet AUTOSAR in de beschikbaarstelling van ARTI-beschrijvingsbestanden ([SWS_Os_00829]).
Deze gebruiksinstructie is automatisch gegenereerd en is uitsluitend gebaseerd op de specificatiegegevens van de AUTOSAR-release R20-11.
Implementer's Guide volgt (complexiteit I1)
functie WritePeripheral32 [SWS_Os_91011] 📄 PDF
StatusType WritePeripheral32 (AreaIdType Area, uint32* Address, uint32 WriteValue);
This service writes the
De synchrone en re-entrante functie WritePeripheral32 uit de module Os dient voor het schrijven van een 32-bits waarde naar een opgegeven geheugenadres van een periferiegebied [SWS_Os_91011]. De service is beschikbaar via de header Os.h en heeft het service-ID 0x2d [SWS_Os_91011].
Parameters en aanroep
Voor het uitvoeren van de schrijftoegang heeft de functie drie overdrachtsparameters nodig [SWS_Os_91011]:
Area(AreaIdType): Referentie naar het doel-hardware-periferiegebied [SWS_Os_91011].Address(uint32*): Geheugenadres waarnaar de waarde moet worden geschreven [SWS_Os_91011].Write Value(uint32): De concrete 32-bits waarde die naar het doeladres wordt overgedragen [SWS_Os_91011].
Retourwaarden en foutafhandeling
De aanroep retourneert een statuswaarde van het type StatusType [SWS_Os_91011]. In geval van succes wordt E_OK gemeld [SWS_Os_91011]. Bij een actieve EXTENDED-status signaleert E_OS_ID een ongeldig gebieds-ID, E_OS_VALUE een adres dat niet tot het gebied behoort en E_OS_CALLEVEL een niet-toegestane aanroepcontext [SWS_Os_91011]. Als de aanroepende task of de ISR geen toegangsrechten voor het gebied heeft, wordt E_OS_ACCESS geretourneerd [SWS_Os_91011].
Concurrency
Omdat WritePeripheral32 re-entrant is, kan de dienst in parallelle uitvoeringscontexten worden gebruikt, mits de desbetreffende aanroeper tijdens runtime over de vereiste toegangsrechten beschikt [SWS_Os_91011].
Deze gebruiksinstructie is geautomatiseerd opgesteld op basis van de specificatie AUTOSAR Classic R20-11.
Implementer's Guide volgt (complexiteit I1)
functie ModifyPeripheral [SWS_Os_91016] 📄 PDF
StatusType ModifyPeripheral8 (AreaIdType Area, uint8* Address, uint8 Clearmask, uint8 Setmask);
This service modifies a given memory location (
Gebruik en semantiek
De synchrone en re-entrante besturingssysteemfunctie ModifyPeripheral8 ([SWS_Os_91016]) modificeert een byte op een opgegeven geheugenadres Address. Daarbij wordt de bestaande geheugeninhoud gewijzigd via het masker Clearmask via een bitsgewijze AND-bewerking en via het masker Setmask via een bitsgewijze OR-bewerking volgens de formule *Address = ((*Address & Clearmask) | Setmask) ([SWS_Os_91016]). Als invoerparameters verwacht de functie de periferiegebiedsreferentie Area van het type AreaIdType, het doeladres Address (type uint8*) en de beide maskerwaarden van het type uint8. De functie wordt beschikbaar gesteld via het headerbestand Os.h en heeft het service-ID 0x2e ([SWS_Os_91016]).
Foutafhandeling en retourwaarden
De retourwaarde van het type StatusType signaleert het succes van de bewerking met E_OK ([SWS_Os_91016]). Bij geactiveerde extended-status kunnen specifieke foutcondities optreden:
E_OS_ID: De doorgegeven gebiedsaanduidingArealigt buiten het toelaatbare bereik ([SWS_Os_91016]).E_OS_VALUE: Het doeladresAddressbehoort niet tot het opgegeven gebiedArea([SWS_Os_91016]).E_OS_CALLEVEL: De dienst is aangeroepen in een niet-toegestane aanroepcontext ([SWS_Os_91016]).E_OS_ACCESS: De aanroepende task of de ISR heeft geen toegangsrechten voor het doelgebied ([SWS_Os_91016]).
Gelijktijdigheid en aanroepvoorwaarden
Omdat ModifyPeripheral8 gespecificeerd is als re-entrant, kan de aanroep veilig plaatsvinden in parallelle processen ([SWS_Os_91016]). Aanroepers moeten ervoor zorgen dat zowel de context als de toegangsrechten voor Area en Address geldig zijn om fouttoestanden te voorkomen ([SWS_Os_91016]).
Deze tekst is gegenereerd door een AI op basis van de specificatie AUTOSAR CP R20-11.
Implementer's Guide volgt (complexiteit I1)
functie ModifyPeripheral16 [SWS_Os_91018] 📄 PDF
StatusType ModifyPeripheral16 (AreaIdType Area, uint16* Address, uint16 Clearmask, uint16 Setmask);
This service modifies a given memory location (
De synchrone en re-entrante functie ModifyPeripheral16 modificeert een 16-bits geheugenlocatie binnen een gedefinieerd periferiegebied volgens de berekeningsformule *Address = ((*Address & Clearmask) | Setmask) [SWS_Os_91018]. Als parameters worden de periferiegebiedsreferentie Area (type AreaIdType), het doeladres Address (type uint16*) en de bitmaskers Clearmask voor een bitsgewijze AND en Setmask voor een bitsgewijze OR doorgegeven [SWS_Os_91018]. De declaratie is beschikbaar via de header Os.h [SWS_Os_91018].
In het reguliere geval van succes levert de dienst de retourwaarde E_OK op [SWS_Os_91018]. Bij geactiveerde uitgebreide statuscontrole (EXTENDED status) worden foutieve aanroepen herkend en afgewezen aan de hand van specifieke foutcodes [SWS_Os_91018]:
E_OS_ID: De doorgegeven gebiedsaanduidingArealigt buiten het geldige waardebereik [SWS_Os_91018].E_OS_VALUE: Het doorgegeven geheugenadresAddressbehoort niet tot het opgegeven gebiedArea[SWS_Os_91018].E_OS_CALLEVEL: De dienst is vanuit een niet-toegestane context aangeroepen [SWS_Os_91018].E_OS_ACCESS: de aanroepende taak of de aanroepende ISR heeft geen toegangsrecht voor het opgegeven gebied [SWS_Os_91018].
Aanroepers moeten vóór de uitvoering controleren of zowel de context als de rechten voor het gerefereerde gebied aanwezig zijn om toegangsschendingen te voorkomen [SWS_Os_91018].
Deze tekst is gegenereerd door een AI op basis van de specificatie AUTOSAR CP R20-11.
Implementer's Guide volgt (complexiteit I1)
functie ModifyPeripheral32 [SWS_Os_91017] 📄 PDF
StatusType ModifyPeripheral32 (AreaIdType Area, uint32* Address, uint32 Clearmask, uint32 Setmask);
This service modifies a given memory location (
De synchrone en re-entrante besturingssysteemfunctie ModifyPeripheral32 dient conform [SWS_Os_91017] voor de gerichte bitsgewijze manipulatie van een 32-bits geheugenadres. Beschikbaar gesteld via de interface Os.h past de functie op het doeladres Address de vaste berekeningsformule *Address = ((*Address & Clearmask) | Setmask) toe. Hierbij worden eerst via het bitmasker Clearmask bits gereset via een bitsgewijze AND-bewerking en aansluitend via Setmask ingesteld via een bitsgewijze OR-bewerking.
Als invoerparameters verwacht de dienst de periferiegebiedsreferentie Area, de adrespointer Address en de beide 32-bits maskers [SWS_Os_91017]. Bij foutloze uitvoering wordt de statuscode E_OK geretourneerd. In de uitgebreide status (EXTENDED status) voert de functie plausibiliteitscontroles uit en meldt de volgende foutcodes:
E_OS_ID: De doorgegevenArealigt buiten het toelaatbare waardebereik [SWS_Os_91017].E_OS_VALUE: Het doeladres behoort niet tot het opgegeven periferiegebied [SWS_Os_91017].E_OS_CALLEVEL: de functie is vanuit een niet-toegestane context aangeroepen [SWS_Os_91017].E_OS_ACCESS: De aanroepende task of ISR heeft geen rechten voor de toegang [SWS_Os_91017] (interpretatie: ontbrekende toegangsrechten voor het periferiegebied). Vraag Q-b4d959765dc59c72 (open)
Gelijktijdige aanroepen zijn dankzij de re-entrantie toegestaan, mits de aanroepcontext behouden blijft [SWS_Os_91017]. In het totale systeem verschilt deze directe registermodificatie van berekeningsformules voor dynamische gegevensbepaling, die bijvoorbeeld in het kader van ARTI-debuginformatie conform [SWS_Os_00829] worden geëvalueerd.
Deze tekst is gegenereerd door een AI op basis van de specificatie AUTOSAR CP R20-11.
Implementer's Guide volgt (complexiteit I1)
functie EnableInterruptSource [SWS_Os_91020] 📄 PDF
StatusType EnableInterruptSource (ISRType ISRID, boolean ClearPending);
Service EnableInterruptSource.
De synchrone en re-entrante systeemfunctie EnableInterruptSource activeert een interruptbron door modificatie van de registers van de interruptcontroller [SWS_Os_91020], [SWS_Os_00811]. Het besturingssysteem stelt deze service beschikbaar voor elke geconfigureerde categorie 2-interruptbron [SWS_Os_00808].
Parameters en aanroep
Via de parameter ISRID wordt de identifier van de categorie 2-ISR overgedragen [SWS_Os_91020]. De booleaanse parameter ClearPending bepaalt of een openstaande interrupt-flag bij de activering moet worden gewist (TRUE) of ongewijzigd blijft (FALSE) [SWS_Os_91020], [SWS_Os_00811]. De functie is beschikbaar via het headerbestand Os.h [SWS_Os_91020].
Foutafhandeling en retourwaarden
Als er geen fout wordt vastgesteld, retourneert de aanroep E_OK [SWS_Os_91020], [SWS_Os_00810]. Detecteert het besturingssysteem een fout, dan geeft het de bijbehorende statuscode van het type StatusType terug en roept het de ErrorHook() aan [SWS_Os_00810]. De volgende fouttoestanden zijn gedefinieerd:
E_OS_ID: De parameterISRIDis geen geldige identifier van een categorie 2-ISR (in de statusEXTENDED) [SWS_Os_91020].E_OS_CALLEVEL: De functie is aangeroepen vanuit een niet-toegestane aanroepcontext (in de statusEXTENDED) [SWS_Os_91020].E_OS_ACCESS: De aanroepende applicatie is in het kader van de service protection geen eigenaar van de opgegevenISRID[SWS_Os_91020].
Samenspel
De functie vormt samen met DisableInterruptSource en ClearPendingInterrupt het API-trio voor de gerichte besturing van afzonderlijke categorie 2-interruptbronnen (OsIsrCategory == CATEGORY_2) in het besturingssysteem [SWS_Os_00808], [SWS_Os_00810].
Deze tekst is automatisch gegenereerd aan de hand van de specificaties van release R20-11.
Implementer's Guide volgt (complexiteit I2)
functie DisableInterruptSource [SWS_Os_91019] 📄 PDF
StatusType DisableInterruptSource (ISRType ISRID);
Disables the interrupt source by modifying the interrupt controller registers.
Gebruik
De synchrone en re-entrante functie DisableInterruptSource deactiveert een specifieke interruptbron direct via de registers van de interruptcontroller [SWS_Os_91019], [SWS_Os_00812]. Deze is beschikbaar via het headerbestand Os.h en wordt voor elke interruptbron van categorie 2 (OsIsrCategory == CATEGORY_2) beschikbaar gesteld [SWS_Os_91019], [SWS_Os_00808]. Als parameter wordt de identifier van de desbetreffende ISR (ISRID) doorgegeven. Bij succesvolle uitvoering levert de service E_OK op [SWS_Os_91019], [SWS_Os_00810].
Foutafhandeling
Als het besturingssysteem tijdens de uitvoering een fout vaststelt, wordt de bijbehorende StatusType geretourneerd en wordt de ErrorHook() aangeroepen [SWS_Os_00810]. Mogelijke foutcodes zijn:
E_OS_ID: De doorgegevenISRIDis geen geldige identifier van een categorie 2-ISR (in de EXTENDED-status) [SWS_Os_91019].E_OS_CALLEVEL: Niet-toegestane aanroepcontext van de API-functie (in de EXTENDED-status) [SWS_Os_91019].E_OS_ACCESS: De aanroepende OS-Application is geen eigenaar van de opgegeven ISR (Service Protection) [SWS_Os_91019].E_OS_NOFUNC: De aangevraagde interruptbron is al gedeactiveerd (in de EXTENDED-status bij geneste aanroepen) [SWS_Os_00809].
Samenspel en randvoorwaarden
De functie vormt samen met EnableInterruptSource en ClearPendingInterrupt het API-trio voor de besturing van categorie 2-interruptbronnen [SWS_Os_00808]. Gelijktijdige of herhaalde aanroepen worden in de uitgebreide status beveiligd door het retourneren van E_OS_NOFUNC, waardoor redundante deactiveringen controleerbaar blijven [SWS_Os_00809]. Aanroepers moeten bovendien over de juiste toegangsrechten beschikken om runtimefouten door de service protection te voorkomen [SWS_Os_91019].
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de AUTOSAR-specificatie.
Implementer's Guide volgt (complexiteit I1)
functie ClearPendingInterrupt [SWS_Os_91021] 📄 PDF
StatusType ClearPendingInterrupt (ISRType ISRID);
Service ClearPendingInterrupt.
Gebruik en aanroepcontext
De functie ClearPendingInterrupt dient voor het resetten van een openstaande interrupt voor bronnen van categorie 2 [SWS_Os_00808]. Deze accepteert als enige invoerparameter de identifier ISRID van een categorie 2-ISR en modificeert direct de bijbehorende registers van de interruptcontroller [SWS_Os_91021], [SWS_Os_00813]. De aanroep wordt synchroon verwerkt en is beschikbaar via het headerbestand Os.h [SWS_Os_91021].
Foutafhandeling en retourwaarden
In het foutvrije geval wordt de statuscode E_OK geretourneerd [SWS_Os_91021]. Stelt het besturingssysteem tijdens de uitvoering een fout vast, dan levert de service de bijbehorende foutcode van het type StatusType op en roept dwingend de ErrorHook() aan [SWS_Os_00810]. De volgende fouttoestanden zijn voor de interface gespecificeerd [SWS_Os_91021]:
E_OS_ID: De overgedragen parameterISRIDis geen geldige identifier van een categorie 2-ISR (wordt geretourneerd in de statusEXTENDED) [SWS_Os_91021].E_OS_CALLEVEL: De functie is aangeroepen vanuit een niet-toegestane aanroepcontext (wordt geretourneerd in de statusEXTENDED) [SWS_Os_91021].E_OS_ACCESS: De aanroepende applicatie is in het kader van de service protection niet geautoriseerd als eigenaar van de doorgegeven ISR [SWS_Os_91021].
Gelijktijdigheid en interactie in het besturingssysteem
De interface is gedefinieerd als re-entrant en kan zodoende veilig gelijktijdig worden aangeroepen [SWS_Os_91021]. Het besturingssysteem stelt ClearPendingInterrupt voor elke categorie 2-interruptbron (OsIsrCategory == CATEGORY_2) beschikbaar als vast onderdeel van de besturings-API's, waartoe ook DisableInterruptSource en EnableInterruptSource behoren [SWS_Os_00808].
Deze tekst is gegenereerd door een AI op basis van de AUTOSAR-specificatie.
Implementer's Guide volgt (complexiteit I2)
functie ActivateTaskAsyn [SWS_Os_91022] 📄 PDF
void ActivateTaskAsyn (TaskType id);
Asynchronous version of the Activate Task() function. Intended to be used for cross core task activation. Possible errors are not returned to the caller, but may be reported via error hooks.
De functie ActivateTaskAsyn (service-ID 0x33) vormt de asynchrone variant voor task-activatie en wordt beschikbaar gesteld via het headerbestand Os.h ([SWS_Os_91022]). Deze is primair bedoeld voor kernoverschrijdende task-activatie in multicoresystemen ([SWS_Os_91022]).
Als enige ingangsparameter wordt id van het type TaskType meegegeven, die de te activeren task specificeert ([SWS_Os_91022]). De interface heeft geen retourwaarde (void) en definieert noch ingangs-/uitgangs- noch zuivere uitgangsparameters ([SWS_Os_91022]).
Mogelijke fouten bij de activatie worden niet teruggemeld aan de aanroeper ([SWS_Os_91022], [SWS_Os_00816]). In plaats daarvan worden optredende fouten uitsluitend gemeld via de globale error-hook, voor zover een dergelijke hook is geconfigureerd ([SWS_Os_00816]).
Wat betreft gelijktijdigheid is de functie re-entrant en werkt deze volledig asynchroon ([SWS_Os_91022]), waardoor de aanroepende context niet blokkeert op de uitvoering. Het besturingssysteem is verplicht deze interface conform [SWS_Os_00816] beschikbaar te stellen.
Deze gebruiksinstructie is gegenereerd door een AI op basis van de AUTOSAR-specificatie R20-11.
Implementer's Guide volgt (complexiteit I1)
functie SetEventAsyn [SWS_Os_91023] 📄 PDF
void SetEventAsyn (TaskType id, EventMaskType m);
Asynchronous version of the Set Event() function. Intended to be used for cross core event setting. Possible errors are not returned to the caller, but may be reported via error hooks.
functie Ioc [SWS_Os_91026] 📄 PDF
void IocInit (void);
This service initializes the data structures of the IOC. Tags: atp.Status=draft
Gebruik en werking
De functie Ioc Init (in release R20-11 als concept gemarkeerd) initialiseert de interne datastructuren van de Inter-OS-Application Communication (IOC) [SWS_Os_91026]. De aanroep verloopt synchroon, accepteert geen overdrachtsparameters en heeft geen retourwaarde [SWS_Os_91026]. Als de besturingssysteem-generator in “IOC mode” wordt uitgevoerd, genereert deze uitsluitend de IOC-code in het bronbestand Ioc.c en declareert de bijbehorende interfaces in het headerbestand Ioc.h [SWS_Os_00834], waarover ook Ioc Init beschikbaar wordt gesteld [SWS_Os_91026].
Foutafhandeling en gelijktijdigheid
Voor Ioc Init zijn in de specificatie noch specifieke fout-retourwaarden noch foutmeldingen aan DET of DEM voorzien [SWS_Os_91026]. De dienst is expliciet gedefinieerd als niet re-entrant (Non Reentrant) [SWS_Os_91026]. Interpretatie: Vanwege het ontbreken van re-entrantie en de initialisatietaak moet de dienst vermoedelijk sequentieel tijdens de systeemopstartfase worden aangeroepen, voordat gelijktijdige communicatietoegangen plaatsvinden. Vraag Q-47f99a4725b57c89 (open)
Samenhang met IOC-communicatiefuncties
De correcte initialisatie van de datastructuren vormt de voorwaarde voor het gebruik van de gegenereerde IOC-communicatie-interfaces:
- Verzenden en schrijven: Zenders dragen gegevens asynchroon over via enkelvoudige-waardediensten zoals
Ioc Send[SWS_Os_00718] enIoc Write[SWS_Os_91003] of groepsfuncties zoalsIoc Send Group[SWS_Os_00728] enIoc Write Group[SWS_Os_91004]. - Ontvangen en lezen: Ontvangers halen gegevens synchroon op via
Ioc Receive[SWS_Os_00738],Ioc Read[SWS_Os_91005] of overeenkomstige groepsdiensten [SWS_Os_00746] [SWS_Os_91006]. - Wachtrijbeheer en notificatie: Bij geconfigureerde gebufferde communicatie kan de inhoud van een interne wachtrij met
Ioc Empty Queuesynchroon worden geleegd [SWS_Os_00754]. Daarnaast kan bij gegevensontvangst een geconfigureerde ontvanger-callback<Receiver Pull CB>op de doelkern worden uitgevoerd [SWS_Os_00757].
Deze tekst is opgesteld door een AI en is uitsluitend gebaseerd op de specificaties van release R20-11.
Implementer's Guide volgt (complexiteit I1)
functie <ReceiverPullCB> [SWS_Os_00757] 📄 PDF
void <ReceiverPullCB> (void);
This callback function can be configured for the receiver of a communication. If configured, IOC calls this callback on the receiving core for each data reception.
De callback-functie <Receiver Pull CB> kan optioneel voor de ontvanger van een communicatie worden geconfigureerd en wordt via de header Os.h gedeclareerd [SWS_Os_00757]. Als deze callback is ingesteld, roept de IOC (Inter-OS-Application Communicator) de functie op de ontvangende Core bij elke gegevensontvangst synchroon aan [SWS_Os_00757]. De concrete identifier van de callback-functie wordt aan de ontvangerszijde vastgelegd via het configuratie-attribuut OsIocReceiverPullCB [SWS_Os_00757].
Voor de aanroep en de interface-eigenschappen gelden de volgende voorschriften:
- Signatuur en parameters: De functie heeft het prototype
void <Receiver Pull CB> ( void ); zij accepteert geen parameters (noch invoer-, doorvoer- noch uitvoerparameters) en levert geen retourwaarde op [SWS_Os_00757]. - Synchroniteit en re-entrantie: De aanroep door de IOC vindt plaats met synchrone semantiek direct op de ontvanger-Core [SWS_Os_00757]. Bovendien is de callback-functie gespecificeerd als re-entrant [SWS_Os_00757].
- Foutafhandeling: De specificatie voorziet voor deze functie noch in retourwaarden noch in specifieke foutcodes of foutnotificaties [SWS_Os_00757].
Aangezien de signatuur geen enkele payload overdraagt, dient de aanroep vermoedelijk primair als notificatiesignaal om de ontvanger te informeren over de binnenkomst van nieuwe gegevens en het daaropvolgende ophalen van de payload in gang te zetten. Vraag Q-2365bb46ad77a476 (open) Ontwikkelaars dienen er rekening mee te houden dat de uitvoering synchroon op de ontvanger-Core plaatsvindt [SWS_Os_00757].
Deze tekst is opgesteld door een AI en is gebaseerd op de specificatie AUTOSAR CP R20-11.
functie ProtectionHook [SWS_Os_00538] 📄 PDF
ProtectionReturnType ProtectionHook (StatusType Fatalerror);
The protection hook is always called if a serious error occurs. E.g. exceeding the worst case execution time or violating against the memory protection.
De functie ProtectionHook dient als centrale callback van het besturingssysteem en wordt steeds synchroon aangeroepen wanneer een ernstige fout optreedt [SWS_Os_00538]. Als typische foutscenario's noemt de specificatie expliciet het overschrijden van de worstcase-uitvoeringstijd (Worst Case Execution Time) evenals schendingen van de geheugenbeveiliging [SWS_Os_00538]. De declaratie van de interface wordt via de header Os_Externals.h beschikbaar gesteld [SWS_Os_00538].
Als invoerparameter neemt de routine Fatalerror van het type StatusType in ontvangst, die de veroorzakende aanleiding van de hook-aanroep doorgeeft [SWS_Os_00538]. Aanvullende in-/uitvoerparameters of zuivere uitvoerparameters zijn niet gedefinieerd in de signatuur [SWS_Os_00538].
Via de retourwaarde van het type ProtectionReturnType legt ProtectionHook bindend vast welke actie het besturingssysteem na uitvoering van de hook moet inzetten voor verdere foutafhandeling [SWS_Os_00538]. De volgende acties zijn beschikbaar als retourwaarden [SWS_Os_00538]:
PRO_IGNORE[SWS_Os_00538]PRO_TERMINATETASKISR[SWS_Os_00538]PRO_TERMINATEAPPL[SWS_Os_00538]PRO_TERMINATEAPPL_RESTART[SWS_Os_00538]PRO_SHUTDOWN[SWS_Os_00538]
Met betrekking tot gelijktijdigheid en afloopgedrag is ProtectionHook gespecificeerd als re-entrant en synchroon [SWS_Os_00538]. De aanroep vindt direct plaats bij het optreden van de ernstige fout, waarna het besturingssysteem de gedefinieerde actie uitvoert [SWS_Os_00538].
Deze tekst is opgesteld door een AI op basis van de specificatie.
Implementer's Guide volgt (complexiteit I2)
type AppModeType [SWS_Os_91007] 📄 PDF
App Mode of the core shall be inherited from another core.
Het opsommingstype AppModeType is gedefinieerd in het headerbestand Os.h en dient voor het vastleggen van de applicatiemodus in het besturingssysteem [SWS_Os_91007]. In meerkernsystemen maakt dit type het mogelijk dat de applicatiemodus van een processorkern wordt overgenomen van een andere Core [SWS_Os_91007].
Voor het waardebereik is de waarde DONOTCARE gespecificeerd [SWS_Os_91007]. Interpretatie: Deze waarde dient er vermoedelijk toe een Core expliciet zodanig te configureren dat deze geen zelfstandige modus start, maar het gedrag van de bovenliggende Core overneemt. Vraag Q-2b7d9f1c8e5f1a3f (open) Specifieke foutcodes of retourwaarden zijn voor het type zelf niet gedefinieerd.
Met betrekking tot de diagnose en de systeemtoestand is de wisselwerking met analysetools relevant. Conform [SWS_Os_00829] moet het ARTI-modulebeschrijvingsbestand alle ORTI-containers ondersteunen om aangesloten debugtools in staat te stellen informatie over het besturingssysteem en de bijbehorende objecten te analyseren en weer te geven. De ARTI-debuginformatie stelt dynamische attributen beschikbaar die via formules worden opgelost [SWS_Os_00829]. Interpretatie: De status van de applicatiemodus wordt op toolniveau vermoedelijk via overeenkomstige ARTI-objectattributen afgebeeld en uitgelezen. Vraag Q-410d011cbcf1b158 (open)
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de specificatie-eisen.
Implementer's Guide volgt (complexiteit I1)
type TotalNumberOfCores [SWS_Os_91002] 📄 PDF
The total number of cores
type ApplicationType [SWS_Os_00772] 📄 PDF
This data type identifies the OS - Application.
type ApplicationStateType [SWS_Os_00773] 📄 PDF
This data type identifies the state of an OS - Application. AUTOSAR CP R20 - o f Document ID : AUTOSAR_SWS_OS
Het datatype ApplicationStateType dient in het Classic AUTOSAR-besturingssysteem voor de eenduidige identificatie van de toestand van een OS-Application [SWS_Os_00773]. Het is gespecificeerd als scalair basistype en wordt beschikbaar gesteld via het headerbestand Os.h [SWS_Os_00773].
Het toegestane waardebereik van ApplicationStateType omvat drie discrete toestanden voor een OS-Application [SWS_Os_00773]:
APPLICATION_ACCESSIBLE: Geeft aan dat de OS-Application operationeel is en dat haar resources toegankelijk zijn [SWS_Os_00773].APPLICATION_RESTARTING: Signaleert dat de OS-Application zich momenteel in een herstartfase bevindt [SWS_Os_00773].APPLICATION_TERMINATED: Geeft aan dat de OS-Application is beëindigd en geen verdere acties uitvoert [SWS_Os_00773].
Met betrekking tot het gebruik en de interactie met andere componenten dient het type vermoedelijk als retourwaarde of uitvoerparameter in bijbehorende OS-systeemservices voor toezicht op de toestand, om aanroepers te informeren over de actuele levenscyclusstatus van een toepassing. Vraag Q-9a4f2254f4013853 (open) Aangezien het om een elementaire typedefinitie gaat, specificeert de standaard hiervoor geen zelfstandige foutcodes, DET- of DEM-meldingen en formuleert geen afzonderlijke restricties met betrekking tot de aanroepcontext of re-entrantie [SWS_Os_00773].
Deze tekst is opgesteld door een AI en is gebaseerd op AUTOSAR R20-11-specificatiegegevens.
Implementer's Guide volgt (complexiteit I1)
type ApplicationStateRefType [SWS_Os_00774] 📄 PDF
This data type points to location where a Application State Type can be stored.
Het datatype ApplicationStateRefType maakt deel uit van het besturingssysteem (module Os) in het AUTOSAR Classic-platform en wordt beschikbaar gesteld via het headerbestand Os.h [SWS_Os_00774]. Het type is afgeleid van een pointer en verwijst direct naar een geheugenlocatie waar een toestand van een OS-applicatie (Application State) kan worden opgeslagen [SWS_Os_00774].
Wat het praktische gebruik betreft, dient dit pointertype voor het refereren aan applicatietoestanden: Interpretatie: Als pointertype zal ApplicationStateRefType primair als referentie- respectievelijk uitvoerparameter worden ingezet in opvraagfuncties van het besturingssysteem waarmee de toestand van een OS-applicatie aan de aanroeper wordt doorgegeven. Vraag Q-948bb914d3672a38 (open) Aanroepers moeten er daarom voor zorgen dat vóór de parameteroverdracht een geldig, beschrijfbaar geheugengebied voor de doelstatus is gereserveerd om foutieve pointertoegangen tijdens runtime te voorkomen.
Specifieke foutafhandelingsmechanismen, foutcodes voor DET of DEM en afzonderlijke richtlijnen voor re-entrantie en gelijktijdigheid zijn voor dit basistype niet afzonderlijk opgenomen in de specificatie [SWS_Os_00774]. Eventuele restricties ten aanzien van de toegestane aanroepcontext of na te leven synchronisatieplichten vloeien uitsluitend voort uit de besturingssysteem-interfaces die dit type in hun functiesignaturen gebruiken.
Deze tekst is gegenereerd door een AI op basis van de specificatie.
Implementer's Guide volgt (complexiteit I1)
type TrustedFunctionIndexType [SWS_Os_00775] 📄 PDF
This data type identifies a trusted function.
type TrustedFunctionParameterRefType [SWS_Os_00776] 📄 PDF
This data type points to a structure which holds the arguments for a call to a trusted function.
type AccessType [SWS_Os_00777] 📄 PDF
This type holds information how a specific memory region can be accessed.
type ObjectAccessType [SWS_Os_00778] 📄 PDF
This data type identifies if an OS - Application has access to an object.
type ObjectType [SWS_Os_00779] 📄 PDF
This data type identifies an object.
type MemoryStartAddressType [SWS_Os_00780] 📄 PDF
This data type is a pointer which is able to point to any location in the MCU address space.
type MemorySizeType [SWS_Os_00781] 📄 PDF
This data type holds the size (in bytes) of a memory region.
type ISRType [SWS_Os_00782] 📄 PDF
This data type identifies an interrupt service routine (ISR).
type ScheduleTableType [SWS_Os_00783] 📄 PDF
This data type identifies a schedule table.
type ScheduleTableStatusType [SWS_Os_00784] 📄 PDF
This type describes the status of a schedule. The status can be one of the following: o The schedule table is not started (SCHEDULETABLE_ STOPPED) o The schedule table will be started after the end of currently running schedule table (sched ule table was used in Next Schedule Table() service) (SCHEDULETABLE_ NEXT) o The schedule table uses explicit synchronization, has been started and is waiting for the global time. (SCHEDULETABLE_ WAITING) o The schedule table is running, but is currently n ot synchronous to a global time source (SCHEDULETABLE_ RUNNING) o The schedule table is running and is synchronous to a global time source (SCHEDULETABLE_ RUNNING_ AND_ SYNCHRONOUS)
Het type ScheduleTableStatusType representeert conform [SWS_Os_00784] de actuele uitvoerings- en synchronisatiestatus van een Schedule Table in het AUTOSAR-besturingssysteem. Het wordt via het headerbestand Os.h beschikbaar gesteld en is gebaseerd op een implementatiespecifiek waardebereik.
De volgende statuswaarden zijn gespecificeerd:
SCHEDULETABLE_STOPPED: De Schedule Table is niet gestart.SCHEDULETABLE_NEXT: De Schedule Table wordt na afloop van de momenteel actieve Schedule Table gestart (Interpretatie: dit gebeurt na overdracht aan de serviceNextScheduleTable()). Vraag Q-8cbcfc83969eea23 (open)SCHEDULETABLE_WAITING: De Schedule Table gebruikt expliciete synchronisatie, is reeds gestart en wacht op synchronisatie met de globale tijd.SCHEDULETABLE_RUNNING: De Schedule Table is in uitvoering, maar is momenteel niet synchroon met een globale tijdsbron.SCHEDULETABLE_RUNNING_AND_SYNCHRONOUS: De Schedule Table draait en is gesynchroniseerd met de globale tijdsbron.
Als zuiver statusdatatype definieert ScheduleTableStatusType geen eigen runtimefouten of DET-/DEM-meldingen. In samenspel met analysehulpmiddelen dient het type conform [SWS_Os_00829] voor de door ARTI ondersteunde evaluatie en weergave van dynamische besturingssysteemobjecten, waardoor status- en synchronisatieafwijkingen in het systeem transparant kunnen worden geregistreerd.
Deze tekst is gegenereerd door een AI en is gebaseerd op de specificatie van AUTOSAR R20-11.
Implementer's Guide volgt (complexiteit I1)
type ScheduleTableStatusRefType [SWS_Os_00785] 📄 PDF
This data type points to a variable of the data type Schedule Table Status Type.
Gebruik en definitie
Het datatype ScheduleTableStatusRefType is conform [SWS_Os_00785] gedefinieerd als pointertype naar een variabele van het datatype Schedule Table Status Type. Het type wordt via de header Os.h beschikbaar gesteld en dient in het AUTOSAR-besturingssysteem als referentietype voor de status van een Schedule Table [SWS_Os_00785].
Toepassing en randvoorwaarden
In typische besturingssysteemaanroepen fungeert dit pointertype vermoedelijk als uitvoerparameter waarmee een OS-systeemfunctie de actuele toestand van de gerefereerde Schedule Table terugmeldt aan de aanroeper. Vraag Q-53364f3a9953dae3 (open) Omdat de specificatie uitsluitend de typedefinitie vastlegt, moeten aanroepende componenten bij het gebruik letten op het volgende:
- Geheugenbeschikbaarstelling: Vóór de overdracht van een referentie van dit type moet de aanroeper ervoor zorgen dat de pointer naar een geldig en beschrijfbaar geheugengebied verwijst dat gedurende de gehele aanroep geldig blijft.
- Geldigheid en null-pointer: De doorgifte van een null-pointer (
NULL) leidt afhankelijk van de configuratie van het besturingssysteem (standaard- of extended-status) vermoedelijk tot overeenkomstige foutmeldingen van de aangeroepen OS-diensten. Vraag Q-63d77f8c7857e6c4 (open) - Geheugenbeveiliging: In veiligheidskritische meerkern- of geheugenbeveiligde OS-omgevingen moet het gerefereerde geheugengebied toegankelijk zijn voor de aanroepende task respectievelijk de OS-instantie.
Aangezien [SWS_Os_00785] geen verdere runtime-eigenschappen of specifieke foutcodes voor het basistype specificeert, vloeien de re-entrantie en aanroepcontext voort uit de desbetreffende OS-diensten die dit pointertype als parameter gebruiken.
Deze gebruiksinstructie is geautomatiseerd gegenereerd en is uitsluitend gebaseerd op de specificatiegegevens uit release R20-11.
Implementer's Guide volgt (complexiteit I1)
type ProtectionReturnType [SWS_Os_00787] 📄 PDF
This data type identifies a value which controls further actions of the OS on return from the protection hook.
type RestartType [SWS_Os_00788] 📄 PDF
This data type defines the use of a Restart Task after terminating an OS - Application.
type PhysicalTimeType [SWS_Os_00789] 📄 PDF
This data type is used for values returned by the conversion macro (see SWS_ Os_00393) OS_ TICKS2
type CoreIdType [SWS_Os_00790] 📄 PDF
Core Id Type is a scalar that allows identifying a single core. The Core Id Type shall represent t he logical Core ID
type SpinlockIdType [SWS_Os_00791] 📄 PDF
Spinlock Id Type identifies a spinlock instance and is used by the API functions: Get Spinlock, Release Spinlock and Try To Get Spinlock.
type TryToGetSpinlockType [SWS_Os_00792] 📄 PDF
The Try To Get Spinlock Type indicates if the spinlock has been occupied or not.
Gebruik en waardebereik
Het enumeratietype TryToGetSpinlockType wordt via het headerbestand Os.h ter beschikking gesteld en dient als statusindicatie of een spinlock door de aanroeper met succes kon worden ingenomen of niet [SWS_Os_00792]. Het definieert het resultaat van overeenkomstige inname-operaties in het besturingssysteem [SWS_Os_00792].
Het waardebereik omvat precies twee gespecificeerde literals [SWS_Os_00792]:
TRYTOGETSPINLOCK_SUCCESS: signaleert dat de spinlock met succes kon worden ingenomen [SWS_Os_00792].TRYTOGETSPINLOCK_NOSUCCESS: geeft aan dat de spinlock niet kon worden ingenomen [SWS_Os_00792].
Gelijktijdigheid en systeemcontext
Het type wordt toegepast bij synchronisatie in multicoresystemen. Interpretatie: De aanroeper evalueert de retourwaarde vermoedelijk synchroon om direct vast te stellen of de beschermde kritieke sectie mag worden betreden of dat bij TRYTOGETSPINLOCK_NOSUCCESS zonder blokkerend wachten een alternatieve programmatak moet worden gekozen [SWS_Os_00792]. Vraag Q-a04e72802dc41325 (open) Eigen foutcodes of foutmeldingen via DET of DEM zijn voor dit type niet gespecificeerd [SWS_Os_00792].
Samenspel met diagnosehulpmiddelen
In het kader van toolkoppelingen ondersteunt het ARTI-modulebeschrijvingsbestand alle ORTI-containers om informatie over het besturingssysteem, de toestanden ervan en besturingssysteemobjecten weer te geven en dynamische waarden te bepalen [SWS_Os_00829]. Interpretatie: Via dergelijke interfaces kunnen vermoedelijk ook spinlocks en hun innametoestanden voor debugging- en tracingtools visualiseerbaar zijn [SWS_Os_00829]. Vraag Q-a488e055eb7d402e (open)
Deze tekst is door een AI gegenereerd en is gebaseerd op de AUTOSAR-specificaties van release R20-11.
Implementer's Guide volgt (complexiteit I1)
type IdleModeType [SWS_Os_00793] 📄 PDF
This data type identifies the idle mode behavior.
Gebruik en waardebereik
Het scalaire datatype IdleModeType wordt via de header Os.h ter beschikking gesteld en dient voor de specificatie van het gedrag van een processorkern in de idle-modus [SWS_Os_00793]. In het gedefinieerde waardebereik is de modus IDLE_NO_HALT vastgelegd, waarbij bij de keuze daarvan de processorkern tijdens de idletijd geen afzonderlijke acties uitvoert [SWS_Os_00793].
Interpretatie: Aangezien IdleModeType is afgeleid van een scalair basistype, dient het in de besturingssysteemcontext vermoedelijk als configuratiewaarde of aanroepparameter voor besturingsservices van het core-idlegedrag. Vraag Q-911a39efb537f1bc (open) Interpretatie: Naast de standaardwaarde IDLE_NO_HALT voorzien concrete besturingssysteemimplementaties of microcontroller-architecturen vermoedelijk potentieel in aanvullende halteer- of stroombesparingsmodi, hoewel het specificatie-uittreksel uitsluitend het uitblijven van specifieke acties benoemt. Vraag Q-b6688f74cacbab45 (open)
Beperkingen en foutafhandeling
Voor IdleModeType zijn in de onderhavige specificatieomvang geen specifieke foutcodes, DET- of DEM-meldingen en geen vereisten met betrekking tot re-entrantie of aanroepcontexten vermeld [SWS_Os_00793]. Eventuele functionele beperkingen of randvoorwaarden vloeien daarom uitsluitend voort uit de bovenliggende besturingssysteeminterfaces die dit type verwerken.
Deze tekst is door een AI gegenereerd op basis van de specificatie SWS_Os_00793.
Implementer's Guide volgt (complexiteit I1)
type AreaIdType [SWS_Os_91000] 📄 PDF
Area Id Type identifies a peripheral area and is used by the API functions: Read Peripheral X, Write Peripheral X and Modify Peripheral X AUTOSAR CP R20 - o f Document ID : AUTOSAR_SWS_OS
type TimeInMicrosecondsType [SWS_Os_00794] 📄 PDF
-
type CounterType [SWS_Os_00786] 📄 PDF
This data type identifies a counter.
type TickType [SWS_Os_00001] 📄 PDF
typedef uint32 TickType;
This data type represents count values in ticks.
type StatusType [SWS_Os_00002] 📄 PDF
typedef uint8 StatusType;
This data type represents standard OSEK OS status codes (e.g. E_OK, E_OS_ACCESS).
Implementer's Guide volgt (complexiteit I2)
type TaskType [SWS_Os_00003] 📄 PDF
typedef uint8 TaskType;
This data type identifies an AUTOSAR OS task.
type EventMaskType [SWS_Os_00004] 📄 PDF
typedef uint32 EventMaskType;
This data type represents an event mask for extended tasks.
type AlarmType [SWS_Os_00005] 📄 PDF
typedef uint8 AlarmType;
This data type represents an AUTOSAR OS alarm identifier.
Request a governed re-review of this record. The record is not changed immediately.
- Record
AUTOSAR/AP/record/CP_MOD_Os- Status
- unspecified
- Version
AUTOSAR/AP/record/CP_MOD_Os@rel:R20-11#baefeb57- Content hash
baefeb57- Source
- https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_OS.pdf#nameddest=SWS_Os_00016
gemini-3.8-flash-low· 2026-10-13 · Duits origineel