Maakt de hardwarenabije coördinatie van besturingssysteem-energietoestanden en autonoom ontwaken in State Management mogelijk.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 8273631beee4HerkomstOpen vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
Maakt de hardwarenabije coördinatie van besturingssysteem-energietoestanden en autonoom ontwaken in State Management mogelijk.
De namespace apext::sm stelt normatieve platformextensie-interfaces beschikbaar om energietoestanden tussen AUTOSAR Adaptive State Management en het hostbesturingssysteem af te stemmen SWS StateManagement §C.1 “Header: apext/sm/power_state_interface.h”. Via de enumeratie apext::sm::PowerState worden Linux-specifieke energiebesparingsmodi getypeerd afgebeeld [SWS_SM_71002]. Bovendien stelt de callback apext::sm::WakeUpHandler het besturingssysteem in staat om een autonoom verlaten van rusttoestanden in State Management zonder voorafgaande besturingsapplicatie te triggeren [SWS_SM_71004], waarbij deze aanroep niet thread-safe is ontworpen.
Context
De namespace apext::sm stelt normatieve platformextensie-interfaces (Platform Extension Interfaces) voor het functionele cluster State Management binnen het AUTOSAR Adaptive Platform beschikbaar SWS StateManagement §C.1 “Header: apext/sm/power_state_interface.h”. Terwijl standaardinterfaces van State Management primair dienen voor de coördinatie van applicatietoestanden, functiegroepen en uitvoeringsmodi over modelgrenzen heen, richt apext::sm zich op de hardwarenabije koppeling. De extensie-interfaces zijn ervoor ontworpen om door OEM's of integrators te worden gebruikt of beschikbaar gesteld om de functionaliteit van het platform uit te breiden en een gecoördineerde interactie met het onderliggende besturingssysteem (OS) te realiseren SWS StateManagement §C.1 “Header: apext/sm/power_state_interface.h”.
Centrale component van de namespace is de klasse PowerStateInterface, die dient voor de coördinatie van energietoestanden met het besturingssysteem. Daarnaast definieert de header apext/sm/power_state_interface.h getypeerde opsommingen en callback-aliassen die fungeren als schakel tussen besturingssysteemstuurprogramma's, externe wekbronnen en het interne statusbeheer. Naast het besturingssysteem staan deze interfaces conceptueel in relatie tot de Controller van State Management evenals tot bovenliggende instanties zoals de SMControlApplication of Update and Configuration Management (UCM), die eveneens invloed kunnen uitoefenen op toestandstransities SWS StateManagement §7.7.15.1 “Autonomous wake-up from suspend state”.
De levenscyclus in het kader van apext::sm wordt gekenmerkt door de discrete energietoestanden die in de enumeratie apext::sm::PowerState op basis van std::uint32_t zijn gemodelleerd [SWS_SM_71002]. Deze toestanden zijn direct afgeleid van het kernelperspectief van Linux-besturingssystemen:
kPmSuspendToIdle (= 1): afgeleid van toestand PM_SUSPEND_TO_IDLE[SWS_SM_71002].
kPmSuspendToRam (= 2): afgeleid van toestand PM_SUSPEND_TO_RAM[SWS_SM_71002].
kPmHibernation (= 3): afgeleid van toestand PM_HIBERNATION (suspend-to-disk) [SWS_SM_71002].
kPmOff (= 4): afgeleid van toestand PM_OFF (volledige uitschakeling) [SWS_SM_71002].
Interpretatie: de klasse PowerStateInterface dient vermoedelijk als primair ankerpunt via hetwelk de integrator deze doeltoestanden opvraagt of naar het hostbesturingssysteem verzendt. Vraag Q-800acae699828764 (open) Tijdens het verblijf in een energiebesparingsmodus zoals kPmSuspendToRam ligt de normale verwerking stil, totdat een wekgebeurtenis de terugkeer naar de actieve bedrijfsmodus inleidt.
Gebruikspad
Een centrale usecase van de namespace is het autonoom ontwaken van het gehele systeem uit een rusttoestand (Autonomous wake-up from suspend state) SWS StateManagement §7.7.15.1 “Autonomous wake-up from suspend state”. Terwijl een SMControlApplication het verlaten van de suspend-to-RAM-modus expliciet kan verzoeken, is State Management aanvullend in staat om autonoom te reageren op weksignalen.
Signaleert het besturingssysteem een wekgebeurtenis via de interface apext::sm::WakeUpHandler – voor zover deze geïmplementeerd is –, dan initieert State Management zelfstandig een weksequentie SWS StateManagement §7.7.15.1 “Autonomous wake-up from suspend state”. Bij apext::sm::WakeUpHandler gaat het om een functie-alias van het type std::function<void(void)>[SWS_SM_71004]. Door het aanroepen van deze handler brengt State Management de Controller-toestandsmachine vanuit haar suspend-toestand over naar de speciaal daarvoor gemodelleerde toestand LeaveSuspend[SWS_SM_CONSTR_00036]. In deze toestand voert de controller verplicht het actie-element LeaveSuspendToRam uit, waardoor de reguliere platformactiviteit zonder voorafgaande interventie van een besturingsapplicatie wordt voortgezet [SWS_SM_CONSTR_00037], SWS StateManagement §7.7.15.1 “Autonomous wake-up from suspend state”.
Bij het gebruik en de integratie van apext::sm moet rekening worden gehouden met systeemspecifieke randvoorwaarden en concurrencyrisico's:
Ontbrekende thread-safety: het aanroeptype apext::sm::WakeUpHandler is volgens de specificatie uitdrukkelijk niet thread-safe (not thread-safe) [SWS_SM_71004]. Triggert het besturingssysteem of een interruptcontext meervoudige of parallelle signalen, dan moet de integrator zorgen voor geschikte synchronisatiemechanismen om race conditions en inconsistente toestandsovergangen in State Management te voorkomen.
Niet-geïmplementeerde handler: als de WakeUpHandler in het doelsysteem niet is geïmplementeerd, kan er geen autonoom ontwaken via het besturingssysteem plaatsvinden; in dit geval blijft het systeem in de rusttoestand totdat externe verzoeken (bijvoorbeeld door UCM via RequestUpdateSession) of expliciete applicatieverzoeken binnenkomen SWS StateManagement §7.7.15.1 “Autonomous wake-up from suspend state”.
Modelleringsfout in het manifest: Ontbreekt in het deployment-manifest de toestand LeaveSuspend voor de Controller[SWS_SM_CONSTR_00036] of bevat deze niet het verplichte element LeaveSuspendToRam[SWS_SM_CONSTR_00037], dan mislukt de geautomatiseerde transitie en kan het platform de werking na de rusttoestand niet volgens de voorschriften hervatten.
Deze handleiding is gebaseerd op de specificatie AUTOSAR Adaptive Platform R25-11. Alle inhoud is gevalideerd aan de hand van de normatieve Platform Extension Interfaces voor State Management.
Abgerundete Rahmen = Namespace- bzw. Klassen-Scopes; hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); graue Boxen = namespace-fremde bzw. externe Basisklassen. Klicken öffnet die jeweilige Klassen- bzw. cppreference-Seite.
gemini-3.8-flash-low· 2026-10-13 · Duits origineel