ECU State Manager (EcuM)
Controls ECU lifecycle states: Startup, Run, PostRun, Sleep, and Shutdown.
Funktionen — Übersicht
void EcuM_GetVersionInfo (Std_VersionInfoType* versioninfo);Returns the version information of this module.Std_ReturnType EcuM_GoDownHaltPoll (EcuM_UserType UserID);Instructs the ECU State Manager module to go into a sleep mode, Reset or OFF depending on the previously selected shutdown target.void EcuM_Init (void);Initializes the ECU state manager and carries out the startup procedure.void EcuM_StartupTwo (void);This function implements the STARTUP II state.void EcuM_Shutdown (void);Typically called from the shutdown hook, this function takes over execution control and will carry out GO OFF II activities.void EcuM_SetState (EcuM_StateType state);Function called by BswM to notify about State Switch.Std_ReturnType EcuM_RequestRUN (EcuM_UserType user);Places a request for the RUN state.Std_ReturnType EcuM_ReleaseRUN (EcuM_UserType user);Releases a RUN request previously done with a call to EcuM_RequestRUN.Std_ReturnType EcuM_RequestPOST_RUN (EcuM_UserType user);Places a request for the POST RUN state.Std_ReturnType EcuM_ReleasePOST_RUN (EcuM_UserType user);Releases a POST RUN request previously done with a call to EcuM_RequestPOST_RUN.Std_ReturnType EcuM_SelectShutdownTarget (EcuM_ShutdownTargetType shutdownTarget, EcuM_ShutdownModeType shutdownMode);EcuM_SelectShutdownTarget selects the shutdown target.Std_ReturnType EcuM_GetShutdownTarget (EcuM_ShutdownTargetType* shutdownTarget, EcuM_ShutdownModeType* shutdownMode);EcuM_GetShutdownTarget returns the currently selected shutdown target as set by EcuM_ SelectShutdownTarget.Std_ReturnType EcuM_GetLastShutdownTarget (EcuM_ShutdownTargetType* shutdownTarget, EcuM_ShutdownModeType* shutdownMode);EcuM_GetLastShutdownTarget returns the shutdown target of the previous shutdown process.Std_ReturnType EcuM_SelectShutdownCause (EcuM_ShutdownCauseType target);EcuM_SelectShutdownCause elects the cause for a shutdown.Std_ReturnType EcuM_GetShutdownCause (EcuM_ShutdownCauseType* shutdownCause);EcuM_GetShutdownCause returns the selected shutdown cause as set by EcuM_Select ShutdownCause.EcuM_WakeupSourceType EcuM_GetPendingWakeupEvents (void);Gets pending wakeup events.void EcuM_ClearWakeupEvent (EcuM_WakeupSourceType sources);Clears wakeup events.EcuM_WakeupSourceType EcuM_GetValidatedWakeupEvents (void);Gets validated wakeup events.EcuM_WakeupSourceType EcuM_GetExpiredWakeupEvents (void);Gets expired wakeup events.Std_ReturnType EcuM_SetRelWakeupAlarm (EcuM_UserType user, EcuM_TimeType time);EcuM_SetRelWakeupAlarm sets a user's wakeup alarm relative to the current point in time.Std_ReturnType EcuM_SetAbsWakeupAlarm (EcuM_UserType user, EcuM_TimeType time);EcuM_SetAbsWakeupAlarm sets the user's wakeup alarm to an absolute point in time.Std_ReturnType EcuM_AbortWakeupAlarm (EcuM_UserType user);Ecum_AbortWakeupAlarm aborts the wakeup alarm previously set by this user.Std_ReturnType EcuM_GetCurrentTime (EcuM_TimeType* time);EcuM_GetCurrentTime returns the current value of the EcuM clock (i.Std_ReturnType EcuM_GetWakeupTime (EcuM_TimeType* time);EcuM_GetWakeupTime returns the current value of the master alarm clock (the minimum absolute time of all user alarm clocks).Std_ReturnType EcuM_SetClock (EcuM_UserType user, EcuM_TimeType time);EcuM_SetClock sets the EcuM clock time to the provided value.Std_ReturnType EcuM_SelectBootTarget (EcuM_BootTargetType target);EcuM_SelectBootTarget selects a boot target.Std_ReturnType EcuM_GetBootTarget (EcuM_BootTargetType* target);EcuM_GetBootTarget returns the current boot target - see EcuM_SelectBootTarget.void EcuM_SetWakeupEvent (EcuM_WakeupSourceType sources);Sets the wakeup event.void EcuM_ValidateWakeupEvent (EcuM_WakeupSourceType sources);After wakeup, the ECU State Manager will stop the process during the WAKEUP VALIDATION state/sequence to wait for validation...void EcuM_ErrorHook (uint16 reason);The ECU State Manager will call the error hook if the error codes "ECUM_E_RAM_CHECK_ FAILED" or...void EcuM_AL_SetProgrammableInterrupts (void);If the configuration parameter EcuMSetProgrammableInterrupts is set to true, this callout Ecu M_AL_SetProgrammableInterrupts...void EcuM_AL_DriverInitZero (void);This callout shall provide driver initialization and other hardware-related startup activities for loading the post-build...const EcuM_ConfigType* EcuM_DeterminePbConfiguration (void);This callout should evaluate some condition, like port pin or NVRAM value, to determine which post-build configuration shall...void EcuM_AL_DriverInitOne (void);This callout shall provide driver initialization and other hardware-related startup activities in case of a power on reset.void EcuM_LoopDetection (void);If the configuration parameter EcuMResetLoopDetection is set to true, this callout EcuM_Loop Detection is called on every startup.void EcuM_OnGoOffOne (void);This call allows the system designer to notify that the GO OFF I state is about to be entered.void EcuM_OnGoOffTwo (void);This call allows the system designer to notify that the GO OFF II state is about to be entered.void EcuM_AL_SwitchOff (void);This callout shall take the code for shutting off the power supply of the ECU.void EcuM_AL_Reset (EcuM_ResetType reset);This callout shall take the code for resetting the ECU.void EcuM_EnableWakeupSources (EcuM_WakeupSourceType wakeupSource);The ECU Manager Module calls EcuM_EnableWakeupSource to allow the system designer to notify wakeup sources defined in the...void EcuM_GenerateRamHash (void);see EcuM_CheckRamHashvoid EcuM_SleepActivity (void);This callout is invoked periodically in all reduced clock sleep modes.void EcuM_StartCheckWakeup (EcuM_WakeupSourceType WakeupSource);This API is called by the ECU Firmware to start the CheckWakeupTimer for the corresponding WakeupSource.void EcuM_CheckWakeup (EcuM_WakeupSourceType wakeupSource);This callout is called by the EcuM to poll a wakeup source.void EcuM_EndCheckWakeup (EcuM_WakeupSourceType WakeupSource);This API is called by any SW Module whose wakeup source is checked asynchronously (e.uint8 EcuM_CheckRamHash (void);This callout is intended to provide a RAM integrity test.void EcuM_DisableWakeupSources (EcuM_WakeupSourceType wakeupSource);The ECU Manager Module calls EcuM_DisableWakeupSources to set the wakeup source(s) defined in the wakeupSource bitfield so...void EcuM_AL_DriverRestart (void);This callout shall provide driver initialization and other hardware-related startup activities in the wakeup case.void EcuM_StartWakeupSources (EcuM_WakeupSourceType wakeupSource);The callout shall start the given wakeup source(s) so that they are ready to perform wakeup validation.void EcuM_CheckValidation (EcuM_WakeupSourceType wakeupSource);This callout is called by the EcuM to validate a wakeup source.void EcuM_StopWakeupSources (EcuM_WakeupSourceType wakeupSource);The callout shall stop the given wakeup source(s) after unsuccessful wakeup validation.void EcuM_MainFunction (void);The purpose of this service is to implement all activities of the ECU State Manager while the OS is up and running.
Typen — Übersicht
struct EcuM_ConfigTypeA pointer to such a structure shall be provided to the ECU State Manager initialization routine for configuration.enum EcuM_RunStatusTypeResult of the Run Request Protocol sent to BswMEcuM_WakeupSourceTypeEcuM_WakeupSourceType defines a bitfield with 5 pre-defined positions (see Range).enum EcuM_WakeupStatusTypeThe type describes the possible states of a wakeup source.EcuM_ResetTypeThis type describes the reset mechanisms supported by the ECU State Manager.enum EcuM_StateTypeECU State Manager states.EcuM_ModecurrentModeEcuM_UserTypeUnique value for each user.EcuM_TimeTypeThis data type represents the time of the ECU Manager module.EcuM_ShutdownCauseTypeThis type describes the cause for a shutdown by the ECU State Manager.enum EcuM_ShutdownModeTypeThis data type represents the modes of the ECU Manager module.EcuM_ShutdownTargetType
Funktionen & Typen — Detailansicht
functie EcuM_GetVersionInfo [SWS_EcuM_02813] 📄 PDF
void EcuM_GetVersionInfo (Std_VersionInfoType* versioninfo);
Returns the version information of this module.
functie EcuM_GoDownHaltPoll [SWS_EcuM_91002] 📄 PDF
Std_ReturnType EcuM_GoDownHaltPoll (EcuM_UserType UserID);
Instructs the ECU State Manager module to go into a sleep mode, Reset or OFF depending on the previously selected shutdown target.
De synchrone en re-entrante functie EcuM_GoDownHaltPoll instrueert de module ECU State Manager om, afhankelijk van het eerder geselecteerde shutdown-doel, over te gaan naar een slaapmodus, een reset of de toestand OFF [SWS_EcuM_91002]. Zij is beschikbaar via het headerbestand EcuM.h en bezit de service-ID 0x2c [SWS_EcuM_91002].
Parameters en aanroepbevoegdheid
Als enige invoerparameter wordt UserID van het type EcuM_UserType doorgegeven. Deze identificeert de aanroepende gebruiker. Een aanroep is strikt gereglementeerd: uitsluitend voorgeconfigureerde gebruikers mogen deze functie uitvoeren [SWS_EcuM_91002].
Retourwaarden en verloopgedrag
Het retourgedrag hangt in hoge mate af van het type ingestelde shutdown-doel [SWS_EcuM_91002]:
E_NOT_OK: het verzoek is niet geaccepteerd [SWS_EcuM_91002].E_OK: Als het doelSLEEPis, keert de functie na het verlaten van de slaaptoestand succesvol terug met deze status [SWS_EcuM_91002].- Geen terugkeer: Als als shutdown-doel
RESETofOFFis gekozen, keert de functieaanroep niet meer terug naar de aanroeper [SWS_EcuM_91002].
Beperkingen en foutafhandeling
Hoewel de functie formeel als reentrant is gedeclareerd, vereist de beoogde uitvoering ervan de voorafgaande vastlegging van een geldig shutdown-doel [SWS_EcuM_91002]. Specifieke DET- of DEM-foutcodes worden niet vermeld in de interfacespecificatie; een mislukking of de afwijzing van het verzoek wordt direct via de retourwaarde E_NOT_OK aangegeven [SWS_EcuM_91002].
Deze gebruiksinstructie is automatisch gegenereerd op basis van de AUTOSAR-specificatie.
Implementer's Guide volgt (complexiteit I1)
functie EcuM_Init [SWS_EcuM_02811] 📄 PDF
void EcuM_Init (void);
Initializes the ECU state manager and carries out the startup procedure. The function will never return (it calls StartOS)
De synchrone servicefunctie EcuM_Init initialiseert de ECU State Manager en leidt de ordentelijke startprocedure van de ECU in ([SWS_EcuM_02811]). Ze wordt via de header EcuM.h met het service-ID 0x01 gedeclareerd, accepteert geen parameters en levert geen retourwaarde op ([SWS_EcuM_02811]). Formeel geclassificeerd als re-entrant, keert EcuM_Init na de aanroep nooit terug naar de aanroeper, aangezien ze de uitvoering aan het besturingssysteem overdraagt door StartOS aan te roepen ([SWS_EcuM_02811]).
In het kader van haar uitvoering verwerkt de functie de gedefinieerde StartPreOS-sequentie en de bijbehorende activiteiten in de exact voorgeschreven volgorde ([SWS_EcuM_02411], [SWS_EcuM_02684]). Een wezenlijk onderdeel van deze fase is de verificatie van de configuratieconsistentie: de module controleert binnen EcuM_Init of het desbetreffende structuurveld identiek is aan de waarde van ECUM_CONFIGCONSISTENCY_HASH ([SWS_EcuM_02798]).
Daarnaast stuurt EcuM_Init de initialisatie van de drivers op multi-coresystemen aan ([SWS_EcuM_04145]). De functie roept op elke afzonderlijke core de callouts EcuM_AL_DriverInitZero en EcuM_AL_DriverInitOne aan ([SWS_EcuM_04145]). Voor de callout-implementaties geldt de richtlijn ervoor te zorgen dat op de op dat moment actieve core uitsluitend die MCAL-modules worden geïnitialiseerd die ook daadwerkelijk op deze core worden uitgevoerd ([SWS_EcuM_04145]).
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de specificatie AUTOSAR Classic R20-11.
Implementer's Guide volgt (complexiteit I2)
functie EcuM_StartupTwo [SWS_EcuM_02838] 📄 PDF
void EcuM_StartupTwo (void);
This function implements the STARTUP II state.
De synchrone en niet-re-entrante functie EcuM_StartupTwo implementeert de toestand STARTUP II van de ECU State Manager [SWS_EcuM_02838]. De interface wordt gedeclareerd via het headerbestand EcuM.h en heeft de service-ID 0x1a [SWS_EcuM_02838]. Conform de functiesignatuur void EcuM_StartupTwo(void) accepteert de aanroep noch invoerparameters noch invoer-/uitvoer- of uitvoerparameters en levert geen retourwaarde op aan de aanroeper [SWS_EcuM_02838].
Wordt de ECU-Manager-module geactiveerd door de functie EcuM_StartupTwo, dan voert deze de acties van de StartPostOS-sequentie uit [SWS_EcuM_02932].
Voor de integratie gelden wezenlijke voorschriften met betrekking tot de aanroepcontext en de gelijktijdigheid: De functie moet dwingend worden aangeroepen vanuit een task die direct als consequentie van StartOS wordt gestart [SWS_EcuM_02806]. Dit vereist dat de aanroep van EcuM_StartupTwo hetzij vanuit een autostart-task plaatsvindt, hetzij vanuit een task die expliciet wordt gestart [SWS_EcuM_02806]. Aangezien de functie als niet-re-entrant is gespecificeerd, mag er geen gelijktijdige of meervoudige aanroep plaatsvinden [SWS_EcuM_02838].
Deze tekst is door een AI gegenereerd op basis van de AUTOSAR-specificatie R20-11.
Implementer's Guide volgt (complexiteit I1)
functie EcuM_Shutdown [SWS_EcuM_02812] 📄 PDF
void EcuM_Shutdown (void);
Typically called from the shutdown hook, this function takes over execution control and will carry out GO OFF II activities.
De synchrone servicefunctie EcuM_Shutdown (service-ID 0x02) wordt beschikbaar gesteld via het headerbestand EcuM.h en neemt de uitvoeringsbesturing over voor het uitvoeren van de activiteiten van de fase „GO OFF II” [SWS_EcuM_02812]. Zij dient voor de definitieve beëindiging van het uitschakelproces [SWS_EcuM_02953].
Aanroepcontext en semantiek
Typisch wordt de functie aangeroepen vanuit de shutdown-hook [SWS_EcuM_02812]. Deze hook is conform de vereisten expliciet verplicht om EcuM_Shutdown aan te roepen om het uitschakelproces te beëindigen [SWS_EcuM_02953].
- Signatuur:
void EcuM_Shutdown(void)met service-ID0x02[SWS_EcuM_02812]. - Parameters: Er bestaan noch invoer- noch uitvoer- of invoer-/uitvoerparameters [SWS_EcuM_02812].
- Retourwaarde: De interface levert geen retourwaarde op [SWS_EcuM_02812].
- Synchroniciteit: De aanroep wordt synchroon uitgevoerd [SWS_EcuM_02812].
Gelijktijdigheid en control flow
In de specificatie is EcuM_Shutdown als re-entrant gedeclareerd [SWS_EcuM_02812]. Voor het programmaverloop geldt echter de strikte eis dat EcuM_Shutdown niet mag terugkeren naar de aanroeper [SWS_EcuM_02953]. Na de afhandeling schakelt de functie de ECU definitief uit of triggert als alternatief een reset [SWS_EcuM_02953].
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de AUTOSAR-specificatie R20-11.
Implementer's Guide volgt (complexiteit I1)
functie EcuM_SetState [SWS_EcuM_04122] 📄 PDF
void EcuM_SetState (EcuM_StateType state);
Function called by BswM to notify about State Switch.
Gebruik en aanroepcontext
De synchrone functie EcuM_SetState dient voor de BswM om een toestandswisseling aan de EcuM mee te delen [SWS_EcuM_04122]. Als invoerparameter wordt state van het type EcuM_StateType overgedragen, die de door de BswM voorgeschreven toestand specificeert [SWS_EcuM_04122]. De functie heeft geen retourwaarde [SWS_EcuM_04122].
Werking en samenspel
Bij het aanroepen stelt de functie de interne toestand van de EcuM in op de waarde van de parameter state [SWS_EcuM_04123]. Stelt de BswM op deze wijze een toestand van de EcuM in, dan geeft de EcuM de corresponderende modus door aan de RTE [SWS_EcuM_04116].
Foutafhandeling
Als de overgedragen waarde van de parameter state ongeldig is, wijzigt EcuM_SetState de EcuM-toestand niet [SWS_EcuM_04123]. Voor zover Development Error Reporting is geactiveerd, meldt de functie in dit foutgeval bovendien de fout ECUM_E_STATE_PAR_OUT_OF_RANGE aan de DET-module [SWS_EcuM_04123].
Gelijktijdigheid en interface
De uitvoering is synchroon en re-entrant [SWS_EcuM_04122]. De service wordt gedeclareerd via het headerbestand EcuM.h [SWS_EcuM_04122].
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de specificatie AUTOSAR Classic R20-11.
Implementer's Guide volgt (complexiteit I1)
functie EcuM_RequestRUN [SWS_EcuM_04124] 📄 PDF
Std_ReturnType EcuM_RequestRUN (EcuM_UserType user);
Places a request for the RUN state. Requests can be placed by every user made known to the state manager at configuration time.
Gebruik
De synchrone en re-entrante functie EcuM_RequestRUN dient ertoe de RUN-toestand bij de ECU State Manager aan te vragen [SWS_EcuM_04124]. Als parameter wordt via user van het type EcuM_UserType de identificatie van de aanvragende entiteit overgedragen; bevoegd zijn uitsluitend gebruikers die al tijdens configuratietijd aan de tostandsmanager bekend zijn gemaakt [SWS_EcuM_04124]. De functie levert E_OK terug wanneer de EcuM de aanvraag heeft geaccepteerd, anders E_NOT_OK [SWS_EcuM_04124]. De service is gedeclareerd via de header EcuM.h [SWS_EcuM_04124].
Foutafhandeling en beperkingen
Aanvragen mogen niet worden genest: Een individuele gebruiker kan op een bepaald moment ten hoogste één actieve RUN-aanvraag behouden [SWS_EcuM_04125]. Detecteert EcuM_RequestRUN herhaalde of dubbele aanroepen door dezelfde gebruiker, dan wordt bij geactiveerde ontwikkelingsdetectie de foutcode ECUM_E_MULTIPLE_RUN_REQUESTS aan de DET gemeld [SWS_EcuM_03024], [SWS_EcuM_04125].
Samenspel
Elke met EcuM_RequestRUN succesvol ingestelde toestandsaanvraag moet na voltooiing van de activiteit weer worden vrijgegeven. Hiervoor staat de complementaire, eveneens synchrone en re-entrante service EcuM_ReleaseRUN ter beschikking, waaraan dezelfde gebruikers-ID wordt overgedragen [SWS_EcuM_04127].
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de AUTOSAR-specificatie R20-11.
Implementer's Guide volgt (complexiteit I2)
functie EcuM_ReleaseRUN [SWS_EcuM_04127] 📄 PDF
Std_ReturnType EcuM_ReleaseRUN (EcuM_UserType user);
Releases a RUN request previously done with a call to EcuM_RequestRUN. The service is intended for implementing AUTOSAR ports.
Gebruik
De synchrone functie EcuM_ReleaseRUN (service-ID 0x04) dient voor het vrijgeven van een eerder via EcuM_RequestRUN geregistreerde RUN-toestandsaanvraag [SWS_EcuM_04127]. De interface wordt via de header EcuM.h ter beschikking gesteld en is primair bedoeld voor de implementatie van AUTOSAR-poorten [SWS_EcuM_04127]. Als invoerparameter verwacht de functie de gebruikers-ID user van het type EcuM_UserType, die de vrijgevende entiteit binnen de module eenduidig identificeert [SWS_EcuM_04127].
De retourwaarde van het type Std_ReturnType geeft met E_OK aan dat de vrijgaveaanvraag succesvol door de module is geaccepteerd [SWS_EcuM_04127]. Kon de vrijgave niet worden verwerkt, dan retourneert de service de foutwaarde E_NOT_OK [SWS_EcuM_04127].
Foutafhandeling en gelijktijdigheid
Specifieke foutcodes, ontwikkelingsfouten (DET) of productiefouten (DEM) worden in de specificatie niet vermeld; de afwijzing van een aanvraag uit zich uitsluitend via het retourneren van E_NOT_OK [SWS_EcuM_04127]. Aangenomen mag worden (interpretatie:) dat het retourneren van E_NOT_OK vermoedelijk dan plaatsvindt wanneer er voor de opgegeven gebruikers-ID geen actieve aanvraag voorliegt of er een ongeldige parameterwaarde is doorgegeven. Vraag Q-cbe9031cffe1be81 (open)
De functie is gedeclareerd als re-entrant en mag zodoende in concurrente uitvoeringscontexten worden aangeroepen [SWS_EcuM_04127]. Als functionele volgordevoorwaarde vereist de aanroep dwingend dat de desbetreffende gebruiker eerder de toestand via EcuM_RequestRUN heeft aangevraagd [SWS_EcuM_04127].
Samenspel
De module EcuM stelt deze service ter beschikking om via gedefinieerde poorten het vasthouden van de RUN-toestand te beëindigen [SWS_EcuM_04127]. Voor de RTE-configuratie en de interactie met het lokale RTE-runtimegedrag definieert de specificatie het interne gedrag van de EcuStateManager met meerdere parallel uitvoerbare Runnable Entities [SWS_EcuM_03018].
Deze tekst is gegenereerd door een AI op basis van de AUTOSAR-specificatie.
Implementer's Guide volgt (complexiteit I1)
functie EcuM_RequestPOST_RUN [SWS_EcuM_04128] 📄 PDF
Std_ReturnType EcuM_RequestPOST_RUN (EcuM_UserType user);
Places a request for the POST RUN state. Requests can be placed by every user made known to the state manager at configuration time. Requests for RUN and POST RUN must be tracked independently (in other words: two independent variables). The service is intended for implementing AUTOSAR ports.
Gebruik
De synchrone functie EcuM_RequestPOST_RUN dient voor het aanvragen van de toestand POST RUN bij de ECU State Manager ([SWS_EcuM_04128]). De aanroeper identificeert zich via de parameter user, waarbij elke aanvragende entiteit al tijdens configuratietijd aan de tostandsmanager bekend moet zijn gemaakt ([SWS_EcuM_04128]). De service is gedeclareerd in de header EcuM.h, bedoeld voor de implementatie van AUTOSAR-ports en bevestigt een succesvolle acceptatie met E_OK respectievelijk een afwijzing met E_NOT_OK ([SWS_EcuM_04128]).
Foutafhandeling
Voor zover de detectie van ontwikkelingsfouten is geactiveerd, leidt een hernieuwde aanroep door dezelfde gebruiker ertoe dat EcuM_RequestPOST_RUN de fout ECUM_E_MULTIPLE_RUN_REQUESTS aan de DET meldt ([SWS_EcuM_03025]). Interpretatie: In het geval van dergelijke meervoudige aanvragen of bij ongeldige gebruikers-ID's zal de service vermoedelijk antwoorden met E_NOT_OK ([SWS_EcuM_04128]). Vraag Q-b5bbd7d5b53e76ba (open)
Gelijktijdigheid en wisselwerking
De functie is ontworpen als re-entrant ([SWS_EcuM_04128]). In de module moeten de aanvragen voor RUN en POST RUN strikt onafhankelijk van elkaar worden bijgehouden via twee afzonderlijke variabelen ([SWS_EcuM_04128]). Elke via deze service geregistreerde aanvraag houdt de POST RUN-toestand actief totdat deze expliciet weer wordt ingetrokken door de complementaire aanroep van EcuM_ReleasePOST_RUN ([SWS_EcuM_04129]).
Deze tekst is automatisch gegenereerd. Alle inhoudelijke gegevens zijn gebaseerd op de AUTOSAR-specificatie.
Implementer's Guide volgt (complexiteit I2)
functie EcuM_ReleasePOST_RUN [SWS_EcuM_04129] 📄 PDF
Std_ReturnType EcuM_ReleasePOST_RUN (EcuM_UserType user);
Releases a POST RUN request previously done with a call to EcuM_RequestPOST_RUN. The service is intended for implementing AUTOSAR ports.
Gebruik en semantiek
De synchrone en re-entrante functie EcuM_ReleasePOST_RUN ([SWS_EcuM_04129]) dient voor het vrijgeven van een eerder middels EcuM_RequestPOST_RUN ingestelde POST-RUN-aanvraag. Via de invoerparameter user van het type EcuM_UserType wordt de identificatie doorgegeven van de entiteit die de POST-RUN-status weer vrijgeeft. De interface is beschikbaar via het headerbestand EcuM.h en is primair ontworpen voor de realisatie van AUTOSAR-poorten ([SWS_EcuM_04129]).
Retourwaarden en foutafhandeling
De functie retourneert de status Std_ReturnType ([SWS_EcuM_04129]):
E_OK: De vrijgaveaanvraag is succesvol geaccepteerd door de ECU State Manager.E_NOT_OK: De vrijgaveaanvraag is afgewezen. Interpretatie: Een afwijzing metE_NOT_OKligt vermoedelijk voor wanneer er voor de opgegeven gebruiker geen actieve aanvraag geregistreerd was of een ongeldige gebruikersidentificator is doorgegeven. Vraag Q-67bd8594612defca (open)
Gelijktijdigheid en wisselwerking
De service is gespecificeerd als re-entrant ([SWS_EcuM_04129]), zodat gelijktijdige aanroepen door meerdere entiteiten zijn toegestaan. De functie maakt deel uit van het interne gedrag van de module EcuM ([SWS_EcuM_03018]). De aanroep vereist logischerwijs dat de entiteit eerder de fase POST RUN heeft aangevraagd ([SWS_EcuM_04129]). Interpretatie: Kenmerkend is dat de aanroep vermoedelijk plaatsvindt vanuit softwarecomponenten via RTE-poorten, zodra hun naloopactiviteiten vóór het uitschakelen zijn voltooid. Vraag Q-81f71656d4debb4a (open)
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de AUTOSAR-specificatiestatus R20-11.
Implementer's Guide volgt (complexiteit I1)
functie EcuM_SelectShutdownTarget [SWS_EcuM_02822] 📄 PDF
Std_ReturnType EcuM_SelectShutdownTarget (EcuM_ShutdownTargetType shutdownTarget, EcuM_ShutdownModeType shutdownMode);
EcuM_SelectShutdownTarget selects the shutdown target. EcuM_SelectShutdownTarget is part of the ECU Manager Module port interface.
De synchrone servicefunctie EcuM_SelectShutdownTarget dient voor de selectie van het shutdown-doel voor de ECU en wordt via het headerbestand EcuM.h en als onderdeel van de poortinterface van de ECU-managermodule ter beschikking gesteld [SWS_EcuM_02822]. Door de aanroep wordt het interne shutdown-doel ingesteld op de waarde van de doorgegeven parameter shutdownTarget [SWS_EcuM_00624].
De functie verwacht twee invoerparameters [SWS_EcuM_02822]:
shutdownTarget: Bepaalt het geselecteerde doel voor het afsluiten [SWS_EcuM_02822].shutdownMode: Bevat de identificatie van een sleep-modus (als het doelECUM_SHUTDOWN_TARGET_SLEEPis) of van een resetmechanisme (als het doelECUM_SHUTDOWN_TARGET_RESETis) volgens de configuratie [SWS_EcuM_02822].
De aanroep start geen directe instellings- of uitvoeringsactiviteiten (setup), maar slaat de waarden alleen op voor later gebruik in de fase SHUTDOWN of SLEEP [SWS_EcuM_02585].
Met betrekking tot concurrency is de functie re-entrant gespecificeerd [SWS_EcuM_02822]. In het RTE-Internal-Behavior van de ECU State Manager is de corresponderende Runnable Entity SelectShutdownTarget met canbeInvokedConcurrently = TRUE gedeclareerd [SWS_EcuM_03018], waardoor parallelle aanroepen zijn toegestaan.
De retourwaarde van het type Std_ReturnType geeft met E_OK aan dat het nieuwe shutdown-doel succesvol is ingesteld, en met E_NOT_OK dat de overname is mislukt [SWS_EcuM_02822]. Concrete foutoorzaken voor E_NOT_OK of DET-meldingen noemt de specificatie hier niet; vermoedelijk leiden ontoelaatbare of niet-geconfigureerde combinaties van doel en modus tot weigering. Vraag Q-e916f3a6ac0bf47e (open)
Deze tekst is gegenereerd door een AI en is gebaseerd op de specificaties van release R20-11.
Implementer's Guide volgt (complexiteit I2)
functie EcuM_GetShutdownTarget [SWS_EcuM_02824] 📄 PDF
Std_ReturnType EcuM_GetShutdownTarget (EcuM_ShutdownTargetType* shutdownTarget, EcuM_ShutdownModeType* shutdownMode);
EcuM_GetShutdownTarget returns the currently selected shutdown target as set by EcuM_ SelectShutdownTarget. EcuM_GetShutdownTarget is part of the ECU Manager Module port interface.
functie EcuM_GetLastShutdownTarget [SWS_EcuM_02825] 📄 PDF
Std_ReturnType EcuM_GetLastShutdownTarget (EcuM_ShutdownTargetType* shutdownTarget, EcuM_ShutdownModeType* shutdownMode);
EcuM_GetLastShutdownTarget returns the shutdown target of the previous shutdown process. EcuM_GetLastShutdownTarget is part of the ECU Manager Module port interface.
functie EcuM_SelectShutdownCause [SWS_EcuM_04050] 📄 PDF
Std_ReturnType EcuM_SelectShutdownCause (EcuM_ShutdownCauseType target);
EcuM_SelectShutdownCause elects the cause for a shutdown. EcuM_SelectShutdownCause is part of the ECU Manager Module port interface.
De synchrone functie EcuM_SelectShutdownCause dient voor de selectie van de oorzaak voor het afsluiten van de ECU en is beschikbaar via het headerbestand EcuM.h [SWS_EcuM_04050].
Gebruik en semantiek:
- Parameters: De invoerparameter
targetvan het typeEcuM_ShutdownCauseTypedraagt de geselecteerde uitschakeloorzaak over [SWS_EcuM_04050]. - Retourwaarde: Een retourwaarde van het type
Std_ReturnTypesignaleert metE_OKdat de nieuwe oorzaak succesvol is ingesteld, en metE_NOT_OKdat het instellen is mislukt [SWS_EcuM_04050]. - Uitvoering: De service werkt synchroon onder de service-ID
0x1ben is als re-entrant gespecificeerd [SWS_EcuM_04050].
Gelijktijdigheid en samenspel:
De functie maakt deel uit van de port-interface van de module ECU Manager [SWS_EcuM_04050]. Voor de configuratie van de lokale RTE is in het interne gedrag EcuStateManager de runnable entity SelectShutdownCause met het symbool EcuM_SelectShutdownCause gedefinieerd, waarbij de eigenschap canbeInvokedConcurrently = TRUE is toegekend [SWS_EcuM_03018].
Foutafhandeling:
In de specificatieomvang zijn geen specifieke DET- of DEM-meldingen opgenomen; fouttoestanden bij het instellen van de oorzaak worden uitsluitend via de retourwaarde E_NOT_OK aangegeven [SWS_EcuM_04050].
Deze gebruiksinstructie is geautomatiseerd opgesteld en is gebaseerd op de specificatievoorschriften voor AUTOSAR Classic Release R20-11.
Implementer's Guide volgt (complexiteit I1)
functie EcuM_GetShutdownCause [SWS_EcuM_04051] 📄 PDF
Std_ReturnType EcuM_GetShutdownCause (EcuM_ShutdownCauseType* shutdownCause);
EcuM_GetShutdownCause returns the selected shutdown cause as set by EcuM_Select ShutdownCause. EcuM_GetShutdownCause is part of the ECU Manager Module port interface.
functie EcuM_GetPendingWakeupEvents [SWS_EcuM_02827] 📄 PDF
EcuM_WakeupSourceType EcuM_GetPendingWakeupEvents (void);
Gets pending wakeup events.
functie EcuM_ClearWakeupEvent [SWS_EcuM_02828] 📄 PDF
void EcuM_ClearWakeupEvent (EcuM_WakeupSourceType sources);
Clears wakeup events.
De synchrone servicefunctie EcuM_ClearWakeupEvent (service-ID 0x16) dient voor het resetten van wakeup-events en is beschikbaar via het headerbestand EcuM.h [SWS_EcuM_02828]. Als parameter accepteert ze het bitmasker sources van het type EcuM_WakeupSourceType en ze bezit geen retourwaarde [SWS_EcuM_02828].
Bij aanroep worden alle in sources als bit gezette openstaande events uit drie interne variabelen van de module gewist [SWS_EcuM_02683]:
- uit de interne variabele voor openstaande wakeup-events (pending wakeup events),
- uit de interne variabele voor gevalideerde wakeup-events (validated events) en
- uit de interne variabele voor verlopen wakeup-events (expired events) [SWS_EcuM_02683].
Met betrekking tot de aanroepcontext mag EcuM_ClearWakeupEvent flexibel worden aangeroepen vanuit de interruptcontext, vanuit de reguliere OS-context en vanuit een OS-vrije context [SWS_EcuM_02807]. Tegelijkertijd is de functie echter bindend gespecificeerd als niet-re-entrant (Non-Reentrant) en niet-onderbreekbaar (Non-Interruptible) [SWS_EcuM_02828]. Interpretatie: Aangezien de functie in verschillende contexten is toegestaan, maar niet onderbreekbaar is, zal de integrator of aanroeper organisatorisch moeten waarborgen dat er geen gelijktijdige of elkaar onderbrekende aanroepen plaatsvinden. Vraag Q-71a4b1b218505a1c (open)
Deze tekst is door een AI gegenereerd op basis van de AUTOSAR-specificatie R20-11.
functie EcuM_GetValidatedWakeupEvents [SWS_EcuM_02830] 📄 PDF
EcuM_WakeupSourceType EcuM_GetValidatedWakeupEvents (void);
Gets validated wakeup events.
functie EcuM_GetExpiredWakeupEvents [SWS_EcuM_02831] 📄 PDF
EcuM_WakeupSourceType EcuM_GetExpiredWakeupEvents (void);
Gets expired wakeup events.
functie EcuM_SetRelWakeupAlarm [SWS_EcuM_04054] 📄 PDF
Std_ReturnType EcuM_SetRelWakeupAlarm (EcuM_UserType user, EcuM_TimeType time);
EcuM_SetRelWakeupAlarm sets a user's wakeup alarm relative to the current point in time. EcuM_SetRelWakeupAlarm is part of the ECU Manager Module port interface.
functie EcuM_SetAbsWakeupAlarm [SWS_EcuM_04057] 📄 PDF
Std_ReturnType EcuM_SetAbsWakeupAlarm (EcuM_UserType user, EcuM_TimeType time);
EcuM_SetAbsWakeupAlarm sets the user's wakeup alarm to an absolute point in time. EcuM_ SetAbsWakeupAlarm is part of the ECU Manager Module port interface.
functie EcuM_AbortWakeupAlarm [SWS_EcuM_04061] 📄 PDF
Std_ReturnType EcuM_AbortWakeupAlarm (EcuM_UserType user);
Ecum_AbortWakeupAlarm aborts the wakeup alarm previously set by this user. EcuM_Abort WakeupAlarm is part of the ECU Manager Module port interface.
De synchrone functie EcuM_AbortWakeupAlarm dient voor het afbreken van een eerder door een gebruiker ingesteld wake-up-alarm [SWS_EcuM_04061]. De interface is beschikbaar via het headerbestand EcuM.h en vormt een onderdeel van de port-interface van de ECU Manager-module [SWS_EcuM_04061].
Parameters en retourwaarden
user(In): Identificatie van de gebruiker van het typeEcuM_UserTypedie het wake-up-alarm wil annuleren [SWS_EcuM_04061]. In-/uitgangs- of zuivere uitgangsparameters bestaan niet [SWS_EcuM_04061].E_OK: De service is met succes uitgevoerd en het alarm is geannuleerd [SWS_EcuM_04061].ECUM_E_NOT_ACTIVE: Er is geen actief alarm gevonden dat toebehoort aan de doorgegeven gebruiker [SWS_EcuM_04061].E_NOT_OK: De uitvoering van de dienst is mislukt [SWS_EcuM_04061].
Gelijktijdigheid en wisselwerking
De functie heeft service-ID 0x24 en is gespecificeerd als reentrant [SWS_EcuM_04061]. Aanroepen kunnen dus voor verschillende gebruikers gelijktijdig plaatsvinden. Het interne gedrag van de ECU Manager definieert de uitvoerbare eenheden voor de configuratie van de lokale RTE [SWS_EcuM_03018]; als onderdeel van de module-port-interface zal de aanroep doorgaans door softwarecomponenten via de RTE worden geïnitieerd. Vraag Q-2c8f004d9f00bbd3 (open)
Deze tekst is door een AI gegenereerd op basis van de AUTOSAR-specificatie R20-11.
Implementer's Guide volgt (complexiteit I1)
functie EcuM_GetCurrentTime [SWS_EcuM_04062] 📄 PDF
Std_ReturnType EcuM_GetCurrentTime (EcuM_TimeType* time);
EcuM_GetCurrentTime returns the current value of the EcuM clock (i.e. the time since battery connect). EcuM_GetCurrentTime is part of the ECU Manager Module port interface.
functie EcuM_GetWakeupTime [SWS_EcuM_04063] 📄 PDF
Std_ReturnType EcuM_GetWakeupTime (EcuM_TimeType* time);
EcuM_GetWakeupTime returns the current value of the master alarm clock (the minimum absolute time of all user alarm clocks). EcuM_GetWakeupTime is part of the ECU Manager Module port interface.
functie EcuM_SetClock [SWS_EcuM_04064] 📄 PDF
Std_ReturnType EcuM_SetClock (EcuM_UserType user, EcuM_TimeType time);
EcuM_SetClock sets the EcuM clock time to the provided value. This API is useful for testing the alarm services; Alarms that take days to expire can be tested. EcuM_SetClock is part of the ECU Manager Module port interface.
De synchrone en re-entrante functie EcuM_SetClock dient er volgens [SWS_EcuM_04064] toe de interne tijd van de ECU State Manager op een vooraf ingestelde waarde in te stellen. Als onderdeel van de port-interface van de ECU Manager kan de functie via het headerbestand EcuM.h worden geïntegreerd en aangeroepen [SWS_EcuM_04064].
Het hoofddoel van de interface is het testen van alarmdiensten: alarmen waarvan het reguliere verloop dagen in beslag zou nemen, kunnen door het gericht instellen van de tijd in testmodus worden geverifieerd [SWS_EcuM_04064]. Hierbij worden twee invoerparameters overgedragen:
user(typeEcuM_UserType): Identificatie van de aanroeper respectievelijk gebruiker die de tijd wil instellen.time(typeEcuM_TimeType): Absolute tijdsaanduiding in seconden sinds het aansluiten van de batterij (Battery Connect).
Als retourwaarde levert de service de status Std_ReturnType met E_OK bij succesvolle uitvoering of E_NOT_OK in geval van een fout [SWS_EcuM_04064]. Concrete foutoorzaken of DET-meldingen zijn bij de interface niet gespecificeerd; vermoedelijk leidt het overdragen van niet-geautoriseerde gebruikersidentificaties of ongeldige tijdwaarden tot het retourneren van E_NOT_OK. Vraag Q-248768580c0309e8 (open)
Wat betreft het interne modulegedrag en de RTE-configuratie voegt de functie zich in de structuur van de runnable entities van de EcuStateManager in [SWS_EcuM_03018].
Deze tekst is gegenereerd door een AI en dient voor technische oriëntatie.
Implementer's Guide volgt (complexiteit I1)
functie EcuM_SelectBootTarget [SWS_EcuM_02835] 📄 PDF
Std_ReturnType EcuM_SelectBootTarget (EcuM_BootTargetType target);
EcuM_SelectBootTarget selects a boot target. EcuM_SelectBootTarget is part of the ECU Manager Module port interface.
De synchrone functie EcuM_SelectBootTarget dient voor de selectie van een boot-target voor de ECU en maakt deel uit van de port-interface van de ECU Manager, en is beschikbaar via de header EcuM.h [SWS_EcuM_02835]. Het gewenste doel wordt via de invoerparameter target van het type EcuM_BootTargetType doorgegeven [SWS_EcuM_02835].
Als retourwaarde signaleert de functie E_OK wanneer het nieuwe boot-target door de EcuM is geaccepteerd, en anders E_NOT_OK [SWS_EcuM_02835]. De implementatie moet het gekozen doel opslaan op een wijze die compatibel is met de bootloader [SWS_EcuM_02247]. De actueel ingestelde waarde kan via de complementaire service EcuM_GetBootTarget worden opgevraagd [SWS_EcuM_02836].
De functie is gespecificeerd als re-entrant [SWS_EcuM_02835]; binnen het interne gedrag voor de RTE-configuratie is de Runnable Entity SelectBootTarget gedeclareerd met canbeInvokedConcurrently = TRUE [SWS_EcuM_03018]. Als beperking geldt dat deze service uitsluitend bedoeld is voor softwarecomponenten (SW-Cs) met betrekking tot diagnose c.q. bootmanagement, en afhankelijk kan zijn van de specifiek toegepaste bootloader [SWS_EcuM_03000].
Deze tekst is gegenereerd door een AI en is gebaseerd op de vereisten van de AUTOSAR-specificatie.
Implementer's Guide volgt (complexiteit I1)
functie EcuM_GetBootTarget [SWS_EcuM_02836] 📄 PDF
Std_ReturnType EcuM_GetBootTarget (EcuM_BootTargetType* target);
EcuM_GetBootTarget returns the current boot target - see EcuM_SelectBootTarget. EcuM_Get BootTarget is part of the ECU Manager Module port interface.
functie EcuM_SetWakeupEvent [SWS_EcuM_02826] 📄 PDF
void EcuM_SetWakeupEvent (EcuM_WakeupSourceType sources);
Sets the wakeup event.
functie EcuM_ValidateWakeupEvent [SWS_EcuM_02829] 📄 PDF
void EcuM_ValidateWakeupEvent (EcuM_WakeupSourceType sources);
After wakeup, the ECU State Manager will stop the process during the WAKEUP VALIDATION state/sequence to wait for validation of the wakeup event.This API service is used to indicate to the ECU Manager module that the wakeup events indicated in the sources parameter have been validated.
EcuM_ValidateWakeupEvent is een synchrone service (service-ID 0x14) die aan de ECU Manager signaleert dat de in parameter sources doorgegeven wekbronnen met succes zijn gevalideerd ([SWS_EcuM_02829]). Na het ontwaken wacht de ECU State Manager in de validatiesequentie op deze bevestiging. Bij de aanroep stopt de functie de lopende timeout-timer van de validatie ([SWS_EcuM_02710]) en voegt ze de doorgegeven events via een OR-koppeling van het bitmasker toe aan de interne variabele voor gevalideerde wek-events ([SWS_EcuM_04078]).
De functie is re-entrant ([SWS_EcuM_02829]) en mag zowel vanuit de task- als vanuit de interruptcontext worden aangeroepen ([SWS_EcuM_02345]). Bevindt de ECU Manager zich in de toestand RUN, dan blijft de aanroep voor alle wekbronnen zonder effect, voor zover het geen communicatiekanalen betreft ([SWS_EcuM_02790]). Voor bronnen die aan een communicatiekanaal zijn toegewezen, heeft de service daarentegen in elke fase van de ECU een onbeperkte werking ([SWS_EcuM_02791]).
In het totale verloop interacteert de service nauw met de wekvalidatie en het communicatiebeheer:
- Validatiecontrole: De ECU Manager roept ter controle de callout
EcuM_CheckValidationaan; wordt een geldig wek-event herkend, dan vindt de terugmelding plaats viaEcuM_ValidateWakeupEvent([SWS_EcuM_02925]). - Configuratie: Is voor een wekbron geen validatieprotocol geconfigureerd (
EcuMValidationTimeout), dan impliceertEcuM_SetWakeupEventreeds de aanroep vanEcuM_ValidateWakeupEvent([SWS_EcuM_02566]). - Melding: Is voor de wekbron
EcuMComMChannelRefgeconfigureerd, dan roept de serviceComM_EcuM_WakeUpIndicationaan ([SWS_EcuM_02645]). Bij een geconfigureerdeEcuMComMPNCRefwordt bovendien voor elke gerefereerde PNCComM_EcuM_PNCWakeUpIndicationgeactiveerd ([SWS_EcuM_04140]).
Deze gebruiksinstructie is gegenereerd door een AI op basis van de specificatie AUTOSAR Classic R20-11.
Implementer's Guide volgt (complexiteit I2)
functie EcuM_ErrorHook [SWS_EcuM_02904] 📄 PDF
void EcuM_ErrorHook (uint16 reason);
The ECU State Manager will call the error hook if the error codes "ECUM_E_RAM_CHECK_ FAILED" or "ECUM_E_CONFIGURATION_DATA_INCONSISTENT" occur. In this situation it is not possible to continue processing and the ECU must be stopped. The integrator may choose the modality how the ECU is stopped, i.e. reset, halt, restart, safe state etc.
De synchrone en niet-re-entrante callback-functie EcuM_ErrorHook (beschikbaar gesteld via EcuM_Externals.h) wordt door de ECU State Manager aangeroepen zodra er ernstige fouten optreden die een reguliere verdere verwerking onmogelijk maken en het stilleggen van de ECU vereisen [SWS_EcuM_02904]. Via de overdrachtsparameter reason wordt de specifieke foutoorzaak doorgegeven [SWS_EcuM_02904].
Tot de gedefinieerde foutoorzaken behoren ECUM_E_RAM_CHECK_FAILED en ECUM_E_CONFIGURATION_DATA_INCONSISTENT [SWS_EcuM_02904]. Mislukt de RAM-controle bij de wakeup, dan is de ECU Manager verplicht om EcuM_ErrorHook met de reden ECUM_E_RAM_CHECK_FAILED te triggeren [SWS_EcuM_02987]. Daarnaast vindt de foutafhandeling plaats via deze hook wanneer een aanroep van een besturingssysteemfunctie mislukt en er geen andere foutreactie is gespecificeerd; de EcuM blijft in dat geval in de voorgaande toestand [SWS_EcuM_04139].
Voor de systeemintegrator gelden bij de implementatie de volgende randvoorwaarden:
- Stopmodaliteit van de ECU: De integrator kiest de wijze waarop de ECU wordt stilgelegd (bijv. reset, halt, herstart of veilige toestand) [SWS_EcuM_02904]. Interpretatie: Bij drastische maatregelen zoals een reset of halt zal de functie typisch niet meer terugkeren naar de reguliere programmabesturing. Vraag Q-59c23e3a2569f670 (open)
- Foutmelding aan het DEM: Het is ter beoordeling van de integrator of de fout wordt doorgestuurd naar het DEM, mits gewaarborgd is dat het DEM geen beschadigde NVRAM-blokken beschrijft [SWS_EcuM_02987].
Deze tekst is opgesteld door een AI en is gebaseerd op de specificatie AUTOSAR CP R20-11.
Implementer's Guide volgt (complexiteit I1)
functie EcuM_AL_SetProgrammableInterrupts [SWS_EcuM_04085] 📄 PDF
void EcuM_AL_SetProgrammableInterrupts (void);
If the configuration parameter EcuMSetProgrammableInterrupts is set to true, this callout Ecu M_AL_SetProgrammableInterrupts is executed and shall set the interrupts on ECUs with programmable interrupts.
Gebruik en aanroepvoorwaarden
De callout-functie EcuM_AL_SetProgrammableInterrupts wordt door de module ECU State Manager aangeroepen om op ECU's met programmeerbare interruptcontrollers de overeenkomstige interrupts te configureren en in te stellen [SWS_EcuM_04085]. De uitvoering van deze callout vindt echter alleen plaats als de configuratieparameter EcuMSetProgrammableInterrupts is ingesteld op de waarde true [SWS_EcuM_04085]. Als deze parameter niet is geactiveerd, blijft de aanroep achterwege [SWS_EcuM_04085]. Voor integrators en platformstuurprogramma's wordt de declaratie van de interface via het headerbestand EcuM_Externals.h beschikbaar gesteld [SWS_EcuM_04085].
De interface heeft de syntax void EcuM_AL_SetProgrammableInterrupts (void) en is toegewezen aan service-ID 0x4A [SWS_EcuM_04085]. De aanroep is volledig parameterloos: er worden invoer-, in-/uitvoer- noch uitvoerparameters doorgegeven, en de functie retourneert geen retourwaarde aan de aanroepende module [SWS_EcuM_04085].
Gelijktijdigheid en beperkingen
Voor EcuM_AL_SetProgrammableInterrupts is in de specificatie een asynchroon uitvoeringsgedrag (Asynchronous) vastgelegd [SWS_EcuM_04085]. Met betrekking tot de gelijktijdigheid is de functie geclassificeerd als niet-re-entrant (Non Reentrant) [SWS_EcuM_04085]. Voor de integratie betekent dit dat parallelle of geneste aanroepen van de interface ontoelaatbaar zijn en dat de interruptgerelateerde configuratie zonder gelijktijdige herintreding moet verlopen [SWS_EcuM_04085].
Deze gebruiksinstructie is geautomatiseerd opgesteld op basis van de AUTOSAR-specificatie.
functie EcuM_AL_DriverInitZero [SWS_EcuM_02905] 📄 PDF
void EcuM_AL_DriverInitZero (void);
This callout shall provide driver initialization and other hardware-related startup activities for loading the post-build configuration data. Beware: Here only pre-compile and link-time configurable modules may be used.
Gebruik
De callout-functie EcuM_AL_DriverInitZero (service-ID 0x31) wordt synchroon aangeroepen, bezit noch parameters noch een retourwaarde en is niet-re-entrant [SWS_EcuM_02905]. Ze is gedeclareerd via de header EcuM_Externals.h [SWS_EcuM_02905]. De functie dient ertoe vroege driverinitialisaties evenals fundamentele hardwaregerelateerde startactiviteiten te leveren die dwingend noodzakelijk zijn om aansluitend de post-build-configuratiegegevens te kunnen laden [SWS_EcuM_02905].
Beperkingen en multi-core-werking
Voor de implementatie en uitvoering gelden specifieke richtlijnen en restricties:
- Configuratieklassen: Op dit vroege tijdstip mogen uitsluitend modules worden gebruikt die configureerbaar zijn als pre-compile of link-time [SWS_EcuM_02905]. Post-build-configureerbare drivers zijn hier nog niet beschikbaar.
- Aanroepcontext: De functie wordt door
EcuM_Initop elke Core van het systeem aangeroepen [SWS_EcuM_04145]. - Core-specifieke initialisatie: De implementatie van de callout moet waarborgen dat op de momenteel actieve core alleen die MCAL-modules worden geïnitialiseerd die daadwerkelijk op deze specifieke core worden uitgevoerd [SWS_EcuM_04145].
Retourwaarden, specifieke foutcodes of meldingen via DET of DEM zijn voor deze callout niet gedefinieerd [SWS_EcuM_02905].
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de specificatie van AUTOSAR Release R20-11.
Implementer's Guide volgt (complexiteit I1)
functie EcuM_DeterminePbConfiguration [SWS_EcuM_02906] 📄 PDF
const EcuM_ConfigType* EcuM_DeterminePbConfiguration (void);
This callout should evaluate some condition, like port pin or NVRAM value, to determine which post-build configuration shall be used in the remainder of the startup process. It shall load this configuration data into a piece of memory that is accessible by all BSW modules and shall return a pointer to the EcuM post-build configuration as a base for all BSW module post-build configrations.
De functie EcuM_DeterminePbConfiguration ([SWS_EcuM_02906]) is een synchrone callout van de ECU State Manager, die beschikbaar wordt gesteld via het headerbestand EcuM_Externals.h en de service-ID 0x32 heeft. De interface heeft geen ingangs-, uitgangs- of in-/uitgangsparameters ([SWS_EcuM_02906]). Het centrale doel ervan is om tijdens het opstartproces aan de hand van hardware- of geheugencondities te bepalen welke post-build-configuratierecord voor het verdere verloop van de systeemstart moet worden gebruikt ([SWS_EcuM_02906]).
Voor het bepalen van de configuratie dient de callout externe of residente criteria zoals de status van een poortpin of een waarde in het NVRAM te evalueren ([SWS_EcuM_02906]). Vervolgens moet de functie deze configuratiegegevens laden in een geheugensegment waartoe alle BSW-modules toegang hebben ([SWS_EcuM_02906]). Als retourwaarde levert zij een pointer van het type const EcuM_ConfigType* naar de EcuM-post-build-configuratie op ([SWS_EcuM_02906]). Deze pointer vormt het gemeenschappelijke uitgangspunt voor de gehele BSW, aangezien de structuur pointers bevat naar de respectieve post-build-configuraties van alle overige BSW-modules ([SWS_EcuM_02906]).
Wat betreft het aanroepgedrag is de functie gespecificeerd als synchroon en niet-re-entrant (Non Reentrant) ([SWS_EcuM_02906]). Specifieke foutcodes, bijzondere foutretourwaarden en interfaces naar DET of DEM zijn voor deze callout niet gedefinieerd ([SWS_EcuM_02906]). Het mag daarom gelden als een interpretatie van de voorschriften dat een applicatiespecifieke callout-implementatie fouttoestanden zelfstandig moet afhandelen, aangezien het ontbreken van een geldige configuratiepointer vermoedelijk het ordentelijk opstarten van de afhankelijke BSW-modules zou verhinderen. Vraag Q-b9487647fb39a2e2 (open)
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de specificatie AUTOSAR CP R20-11.
Implementer's Guide volgt (complexiteit I1)
functie EcuM_AL_DriverInitOne [SWS_EcuM_02907] 📄 PDF
void EcuM_AL_DriverInitOne (void);
This callout shall provide driver initialization and other hardware-related startup activities in case of a power on reset.
Gebruik en semantiek
De functie EcuM_AL_DriverInitOne is een callout-functie van de ECU-toestandsmanager (EcuM), die beschikbaar wordt gesteld via het headerbestand EcuM_Externals.h [SWS_EcuM_02907]. Haar primaire taak bestaat erin om in het geval van een power-on-reset de initialisatie van drivers en verdere hardwaregerelateerde startactiviteiten van de besturingseenheid uit te voeren [SWS_EcuM_02907]. Aangezien het om een callout gaat, zal de concrete implementatie van de hardware- en driverinitialisatie vermoedelijk plaatsvinden door de desbetreffende systeemintegrator. Vraag Q-e22baf2fa31cf075 (open)
De interface bezit de C-signatuur void EcuM_AL_DriverInitOne (void) en is toegewezen aan service-ID 0x33 [SWS_EcuM_02907]. Ze accepteert geen enkele ingangsparameter en levert evenmin een retourwaarde op aan de aanroeper [SWS_EcuM_02907].
Gelijktijdigheid en beperkingen
Voor de aanroep en het runtimegedrag gelden conform [SWS_EcuM_02907] de volgende randvoorwaarden:
- Synchroniciteit: De uitvoering geschiedt synchroon (
Synchronous), zodat de aanroeper wacht op de voltooiing van de startactiviteiten. - Re-entrantie: De functie is gedefinieerd als niet-re-entrant (
Non Reentrant); een gelijktijdige of onderbrekende meervoudige aanroep is niet toegestaan. - Aanroepcontext: De activering is uitsluitend gespecificeerd voor de initialisatiefase direct na een power-on-reset.
Foutafhandeling
Aangezien EcuM_AL_DriverInitOne het retourtype void heeft, bestaat er op interfaceniveau geen directe terugkoppeling over het succes of het falen van de initialisatie [SWS_EcuM_02907]. Specifieke foutcodes, DET- of DEM-meldingen zijn binnen de onderhavige specificatieomvang niet gedefinieerd voor deze callout.
Deze tekst is opgesteld door een AI en baseert zich op de AUTOSAR-specificatie R20-11.
Implementer's Guide volgt (complexiteit I1)
functie EcuM_LoopDetection [SWS_EcuM_04137] 📄 PDF
void EcuM_LoopDetection (void);
If the configuration parameter EcuMResetLoopDetection is set to true, this callout EcuM_Loop Detection is called on every startup.
De functie EcuM_LoopDetection is een callout van de ECU State Manager met service-ID 0x4B, die via het headerbestand EcuM_Externals.h beschikbaar wordt gesteld [SWS_EcuM_04137].
Gebruik en aanroepcontext
Zolang de configuratieparameter EcuMResetLoopDetection op true staat, wordt deze callout bij elke opstart (startup) synchroon aangeroepen [SWS_EcuM_04137]. De functie heeft noch ingangs-, noch in-/uitgangs-, noch uitgangsparameters en levert geen retourwaarde op (signatuur: void EcuM_LoopDetection (void)) [SWS_EcuM_04137].
Gelijktijdigheid en beperkingen
De uitvoering van EcuM_LoopDetection is gespecificeerd als synchroon en niet-reentrant (Non Reentrant) [SWS_EcuM_04137]. Aangezien het om een callout gaat, is de concrete implementatie van de lusdetectie doorgaans de verantwoordelijkheid van de integrator of gebruiker, om herhaalde reset-lussen bij de systeemstart te detecteren.
Deze gebruiksinstructie is automatisch gegenereerd op basis van de AUTOSAR-specificaties.
Implementer's Guide volgt (complexiteit I1)
functie EcuM_OnGoOffOne [SWS_EcuM_02916] 📄 PDF
void EcuM_OnGoOffOne (void);
This call allows the system designer to notify that the GO OFF I state is about to be entered.
Gebruik
De functie EcuM_OnGoOffOne dient ertoe om het bereiken van de systeemtoestand GO OFF I aan te kondigen en de systeemontwerper de mogelijkheid te bieden om direct vóór de overgang passende maatregelen te nemen [SWS_EcuM_02916]. De functie wordt synchroon uitgevoerd, verwacht geen overdrachtsparameters (noch in noch inout) en levert geen retourwaarde op (void) [SWS_EcuM_02916]. Aangezien de interface via het headerbestand EcuM_Externals.h wordt gedeclareerd, betreft het begrijpelijkerwijs een gebruikersspecifieke callout-functie die in de integratiecode wordt geïmplementeerd [SWS_EcuM_02916]. Vraag Q-93de53c47a5a6142 (open)
Foutafhandeling
In de specificatie van EcuM_OnGoOffOne zijn noch ontwikkelingsfouten (DET) noch productiefouten (DEM) of specifieke fouteretourwaarden vermeld [SWS_EcuM_02916]. Hieruit kan worden afgeleid dat de aanroeper geen gestandaardiseerd foutbeheer verwacht en dat eventuele uitzonderingsgevallen binnen de gebruikersspecifieke implementatie autonoom moeten worden afgehandeld [SWS_EcuM_02916].
Gelijktijdigheid en beperkingen
Voor de aanroepcontext en het runtimegedrag zijn de volgende eigenschappen vastgelegd [SWS_EcuM_02916]:
- Re-entrantie: De functie is gespecificeerd als niet-re-entrant (Non Reentrant) en mag geenszins parallel of genest worden aangeroepen [SWS_EcuM_02916].
- Synchroniciteit: De semantiek is strikt synchroon (Synchronous), zodat de aanroeper wacht op de volledige terugkeer van de functie [SWS_EcuM_02916].
- Service-ID: De service wordt intern vertegenwoordigd door de hexadecimale identifier
0x3C[SWS_EcuM_02916].
Vanwege het synchrone gedrag en de ophanden zijnde overgang naar de toestand GO OFF I mag worden aangenomen dat blokkerende operaties vermeden moeten worden om het uitschakel- resp. overgangsproces niet ontoelaatbaar te vertragen [SWS_EcuM_02916]. Vraag Q-93f5e23c581f0c38 (open)
Deze gebruiksinstructie is gegenereerd door een AI op basis van de specificatie AUTOSAR CP R20-11.
Implementer's Guide volgt (complexiteit I1)
functie EcuM_OnGoOffTwo [SWS_EcuM_02917] 📄 PDF
void EcuM_OnGoOffTwo (void);
This call allows the system designer to notify that the GO OFF II state is about to be entered.
De synchrone functie EcuM_OnGoOffTwo dient volgens de specificatie om het voor de systeemontwerper mogelijk te maken de melding te ontvangen dat de toestand GO OFF II direct aanstaande is [SWS_EcuM_02917]. De aanroep geschiedt parameterloos zonder in-, inout- of out-parameters en levert geen retourwaarde op aan de aanroeper [SWS_EcuM_02917].
Wat betreft de uitvoeringscontext en de concurrente uitvoering is de interface voorzien van het service-ID 0x3D en gespecificeerd als niet-re-entrant (Non Reentrant) [SWS_EcuM_02917]. Ze wordt beschikbaar gesteld via de header EcuM_Externals.h [SWS_EcuM_02917]. Interpretatie: Aangezien de declaratie in EcuM_Externals.h ligt en dient voor de notificatie van de systeemontwerper, zal de functie vermoedelijk geconcipieerd zijn als een synchrone callout van het regeleenheidbeheer, die vóór de overgang naar de toestand GO OFF II wordt aangeroepen. Vraag Q-bb0ae6e4632de827 (open)
Vanwege de eigenschap als niet-re-entrante interface mag de aanroep niet parallel of onderbrekend worden herhaald [SWS_EcuM_02917]. Specifieke foutcodes, terugmeldingen aan DET of DEM alsmede afzonderlijke foutafhandelingsmechanismen zijn niet gedefinieerd in de specificatieomvang [SWS_EcuM_02917].
Deze tekst is gegenereerd door een AI op basis van de specificatie R20-11.
Implementer's Guide volgt (complexiteit I1)
functie EcuM_AL_SwitchOff [SWS_EcuM_02920] 📄 PDF
void EcuM_AL_SwitchOff (void);
This callout shall take the code for shutting off the power supply of the ECU. If the ECU cannot unpower itself, a reset may be an adequate reaction.
Gebruik
De callout-functie EcuM_AL_SwitchOff maakt deel uit van de module ECU State Manager (EcuM) en dient om de gebruikersspecifieke code voor het uitschakelen van de voedingsspanning van de ECU op te nemen [SWS_EcuM_02920]. De interface is synchroon gedefinieerd, heeft service-ID 0x3E en wordt via het headerbestand EcuM_Externals.h beschikbaar gesteld [SWS_EcuM_02920].
Volgens de specificatie accepteert de functie noch ingangs-, noch in-/uitgangs-, noch uitgangsparameters en heeft deze geen retourwaarde (void) [SWS_EcuM_02920]. Indien de hardware van de ECU zichzelf niet zelfstandig kan uitschakelen, voorziet de specificatie erin dat het activeren van een reset als passend alternatief kan dienen [SWS_EcuM_02920].
Interactie en gelijktijdigheid
De aanroep van EcuM_AL_SwitchOff vindt verplicht plaats door de module ECU Manager zodra het geselecteerde shutdown-doel OFF luidt [SWS_EcuM_04075]. Wat betreft het concurrency-gedrag is de callout vastgelegd als niet-reentrant (Non Reentrant) [SWS_EcuM_02920]. Interpretatie: Aangezien het doel van de functie het volledig scheiden van de voeding dan wel bij wijze van uitwijkmogelijkheid een reset is, vormt deze callout vermoedelijk de afsluitende stap van de uitschakelsequentie, waarna geen verdere reguliere programmauitvoering meer plaatsvindt. Vraag Q-e8a1aaa1413bbea9 (open)
Foutafhandeling
Voor de callout zijn in de specificatie noch specifieke foutcodes noch foutafhandelingsmechanismen of meldingen aan DET of DEM voorzien [SWS_EcuM_02920].
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de specificatie AUTOSAR CP R20-11.
Implementer's Guide volgt (complexiteit I1)
functie EcuM_AL_Reset [SWS_EcuM_04065] 📄 PDF
void EcuM_AL_Reset (EcuM_ResetType reset);
This callout shall take the code for resetting the ECU.
De callout EcuM_AL_Reset dient voor de opname van de integratiespecifieke code die verantwoordelijk is voor het resetten van de ECU ([SWS_EcuM_04065]). De interface wordt via het headerbestand EcuM_Externals.h gedeclareerd en heeft service-ID 0x4C ([SWS_EcuM_04065]).
De aanroep van de functie vindt synchroon plaats en is gedefinieerd als niet-reentrant (Non Reentrant) ([SWS_EcuM_04065]). Als enige ingangsparameter wordt reset van het type EcuM_ResetType doorgegeven, die het concrete type uit te voeren reset bepaalt ([SWS_EcuM_04065]). De functie heeft geen retourwaarde (void) en beschikt niet over parameters voor uitvoer of in-/uitvoer ([SWS_EcuM_04065]).
In het samenspel van de shutdown-fase is vastgelegd dat de module ECU Manager de callout EcuM_AL_Reset verplicht moet aanroepen wanneer het doel van het afsluiten op RESET is ingesteld ([SWS_EcuM_04074]). Voor de callout zijn in de specificatie noch foutcodes noch meldingen aan DET of DEM voorzien ([SWS_EcuM_04065]). Interpretatie: De callout voert vermoedelijk hardwarematige stuurcommando's uit die direct de reset van de MCU bewerkstelligen. Vraag Q-1e318404843faabd (open)
Deze gebruiksinstructie is gegenereerd door een AI op basis van de AUTOSAR-specificatie R20-11.
Implementer's Guide volgt (complexiteit I1)
functie EcuM_EnableWakeupSources [SWS_EcuM_02918] 📄 PDF
void EcuM_EnableWakeupSources (EcuM_WakeupSourceType wakeupSource);
The ECU Manager Module calls EcuM_EnableWakeupSource to allow the system designer to notify wakeup sources defined in the wakeupSource bitfield that SLEEP will be entered and to adjust their source accordingly.
De functie EcuM_EnableWakeupSources is een synchrone callout van de ECU-manager met het service-ID 0x3F, die wordt gedeclareerd via de header EcuM_Externals.h [SWS_EcuM_02918]. Ze dient ertoe de systeemontwikkelaar erover te informeren dat de toestand SLEEP aanstaande is, zodat de in het bitveld wakeupSource (type EcuM_WakeupSourceType) aangegeven wekbronnen dienovereenkomstig kunnen worden voorbereid en ingesteld [SWS_EcuM_02918].
Gebruik en samenspel
De ECU-manager voert EcuM_EnableWakeupSources uit om de wekbronnen voor de volgende sleep-modus te configureren; dit gebeurt voor elke wekbron die in EcuMWakeupSourceMask voor de beoogde sleep-modus is geconfigureerd [SWS_EcuM_02389]. De functie heeft geen retourwaarde (void) en verwacht als invoerparameter het bitveld wakeupSource [SWS_EcuM_02918].
Gelijktijdigheid en beperkingen
- Re-entrantie: De functie is gespecificeerd als niet-re-entrant (
Non Reentrant) [SWS_EcuM_02918]. - Synchroniciteit: De verwerking geschiedt synchroon [SWS_EcuM_02918].
- Foutafhandeling: Binnen de specificatieomvang van de interface zijn geen specifieke DET- of DEM-foutmeldingen gedefinieerd [SWS_EcuM_02918].
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de AUTOSAR-specificatieversie R20-11.
functie EcuM_GenerateRamHash [SWS_EcuM_02919] 📄 PDF
void EcuM_GenerateRamHash (void);
see EcuM_CheckRamHash
De functie EcuM_GenerateRamHash dient voor het genereren van een RAM-controlewaarde in de context van de ECU State Manager, waarbij de specificatie wat betreft de werking verwijst naar EcuM_CheckRamHash [SWS_EcuM_02919]. De gegenereerde controlewaarde dient vermoedelijk voor de latere integriteitscontrole van het werkgeheugen in samenhang met slaap- of rusttoestanden. Vraag Q-7f316b389e1609c0 (open)
Gebruik en interface
De service heeft het service-ID 0x40 en de signatuur void EcuM_GenerateRamHash(void) [SWS_EcuM_02919]. De functie bezit noch invoer-, uitvoer-, noch invoer-/uitvoerparameters en levert geen retourwaarde op. De uitvoering geschiedt synchroon.
Gelijktijdigheid en beperkingen
De functie is gespecificeerd als niet-re-entrant (Non Reentrant) [SWS_EcuM_02919]. Ze mag bijgevolg niet onderbrekend of parallel vanuit meerdere contexten worden aangeroepen. De declaratie wordt beschikbaar gesteld via het headerbestand EcuM_Externals.h [SWS_EcuM_02919]. Interpretatie: Door de definitie in EcuM_Externals.h zal het vermoedelijk gaan om een gebruikersspecifiek te implementeren callout, die door de ECU State Manager op een geschikt tijdstip in het toestandsverloop wordt aangeroepen. Vraag Q-2f53f1a19cee079c (open)
Foutafhandeling
Voor EcuM_GenerateRamHash zijn in [SWS_EcuM_02919] geen specifieke foutcodes en noch DET- noch DEM-meldingen gedefinieerd.
Deze gebruiksinstructie is geautomatiseerd opgesteld op basis van de specificatie van de module EcuM.
functie EcuM_SleepActivity [SWS_EcuM_02928] 📄 PDF
void EcuM_SleepActivity (void);
This callout is invoked periodically in all reduced clock sleep modes. It is explicitely allowed to poll wakeup sources from this callout and to call wakeup notification functions to indicate the end of the sleep state to the ECU State Manager.
Gebruik en aanroepcontext
De functie EcuM_SleepActivity vormt een callout van de ECU State Manager die in het headerbestand EcuM_Externals.h met de service-ID 0x41 beschikbaar wordt gesteld [SWS_EcuM_02928]. De aanroep vindt periodiek plaats in alle slaapmodi met gereduceerde processorklok (reduced clock sleep modes) [SWS_EcuM_02928]. De functie heeft de signatuur void EcuM_SleepActivity(void), werkt synchroon en accepteert invoer-, uitvoer- noch in-/uitvoerparameters [SWS_EcuM_02928].
Functionele taken en wisselwerking
Het doel van deze callout is het uitvoeren van activiteiten tijdens de slaaptoestand: het is expliciet voorzien en toegestaan om binnen EcuM_SleepActivity wekbronnen cyclisch te pollen (polling) [SWS_EcuM_02928]. Bovendien mogen direct vanuit de callout wek-notificatiefuncties worden aangeroepen om aan de ECU State Manager het beëindigen van de slaaptoestand te melden [SWS_EcuM_02928].
Gelijktijdigheid en beperkingen
De interface is gespecificeerd als niet-re-entrant (Non Reentrant) [SWS_EcuM_02928]. Aangezien de callout geen retourwaarde oplevert en er geen foutparameters zijn gedefinieerd, vindt via de functieschnittstelle geen directe foutafhandeling plaats via foutcodes of foutmelders zoals DET of DEM [SWS_EcuM_02928].
Deze tekst is door een AI gegenereerd op basis van de AUTOSAR-specificatie R20-11.
Implementer's Guide volgt (complexiteit I1)
functie EcuM_StartCheckWakeup [SWS_EcuM_04096] 📄 PDF
void EcuM_StartCheckWakeup (EcuM_WakeupSourceType WakeupSource);
This API is called by the ECU Firmware to start the CheckWakeupTimer for the corresponding WakeupSource. If EcuMCheckWakeupTimeout > 0 the CheckWakeupTimer for the Wakeup Source is started. If EcuMCheckWakeupTimeout <= 0 the API call is ignored by the EcuM.
Gebruik en aanroepcontext
De synchrone interface EcuM_StartCheckWakeup wordt volgens [SWS_EcuM_04096] aangeroepen door de ECU-firmware om de timer CheckWakeupTimer voor een specifieke wekbron te starten. Hiervoor wordt aan de functie de parameter WakeupSource van het type EcuM_WakeupSourceType doorgegeven. Deze heeft geen retourwaarde (void) en wordt via het headerbestand EcuM_Externals.h beschikbaar gesteld.
Verloop en voorwaarden
De uitvoering van de functie hangt af van de configuratie van de wekbron [SWS_EcuM_04096]:
- Als voor de betreffende wekbron
EcuMCheckWakeupTimeout > 0is geconfigureerd, wordt de bijbehorendeCheckWakeupTimergestart. - Geldt
EcuMCheckWakeupTimeout <= 0, dan wordt de functieaanroep door de EcuM volledig genegeerd.
Gelijktijdigheid en foutafhandeling
De functie is gespecificeerd als niet-reentrant (Non Reentrant) [SWS_EcuM_04096]. De aanroeper moet er derhalve voor zorgen dat aanroepen voor dezelfde of andere wekbronnen niet gelijktijdig plaatsvinden. Specifieke foutcodes en meldingen aan DET of DEM zijn voor deze aanroep niet gespecificeerd; een aanroep bij een niet-positieve time-out blijft volgens de specificatie zonder gevolgen, wat vermoedelijk mag worden geïnterpreteerd als het tolerant opvangen van irrelevante timercontroles [SWS_EcuM_04096]. Vraag Q-19d98b03d3ee7504 (open)
Deze gebruiksinstructie is gegenereerd door een AI op basis van de specificatie AUTOSAR R20-11.
Implementer's Guide volgt (complexiteit I1)
functie EcuM_CheckWakeup [SWS_EcuM_02929] 📄 PDF
void EcuM_CheckWakeup (EcuM_WakeupSourceType wakeupSource);
This callout is called by the EcuM to poll a wakeup source. It shall also be called by the ISR of a wakeup source to set up the PLL and check other wakeup sources that may be connected to the same interrupt.
De callout EcuM_CheckWakeup dient voor de controle en polling van wekbronnen alsmede voor de configuratie van de PLL na een wekgebeurtenis [SWS_EcuM_02929]. De functie wordt via het headerbestand EcuM_Externals.h beschikbaar gesteld en heeft service-ID 0x42 [SWS_EcuM_02929].
Aanroepcontext en semantiek
- Signatuur en parameters: De functie wordt synchroon uitgevoerd (
Synchronous), heeft geen retourwaarde en verwacht als ingangsparameterwakeupSourcevan het typeEcuM_WakeupSourceType[SWS_EcuM_02929]. - Aanroeper: De callout wordt aangeroepen door de
EcuMom een wekbron cyclisch te pollen. Bovendien moet deze verplicht worden aangeroepen vanuit de interrupt-service-routine (ISR) van een wekbron om de PLL in te stellen en verdere wekbronnen te controleren die aan dezelfde interrupt zijn gekoppeld [SWS_EcuM_02929]. - Polling-lus: In de polling-sequentie roept de EcuM de callouts
EcuM_SleepActivityenEcuM_CheckWakeupherhaaldelijk aan in een blokkerende lus, totdat een wekgebeurtenis als actief of gevalideerd wordt gemeld [SWS_EcuM_03020].
Beperkingen en foutafhandeling
De functie is gespecificeerd als niet-reentrant (Non Reentrant) [SWS_EcuM_02929]. Aangezien aanroepen zowel vanuit het blokkerende verloop van de polling-sequentie als vanuit ISR-contexten plaatsvinden, zal de integratie vermoedelijk moeten waarborgen dat er geen ongecoördineerde gelijktijdige aanroepen plaatsvinden. Vraag Q-8bc8f164670a0911 (open) Specifieke foutcodes of foutmeldingen aan DET of DEM zijn voor deze callout niet gedefinieerd.
Deze gebruiksinstructie is automatisch gegenereerd op basis van de AUTOSAR-specificatie.
Implementer's Guide volgt (complexiteit I1)
functie EcuM_EndCheckWakeup [SWS_EcuM_02927] 📄 PDF
void EcuM_EndCheckWakeup (EcuM_WakeupSourceType WakeupSource);
This API is called by any SW Module whose wakeup source is checked asynchronously (e.g. asynchronous Can Trcv Driver) and the Check of the Wakeup returns a negative Result (no Wakeup by this Source). The API cancels the CheckWakeupTimer for the WakeupSource. If the correponding CheckWakeupTimer is canceled the check of this wakeup source is finished.
De synchrone functie EcuM_EndCheckWakeup wordt aangeroepen door softwaremodules wanneer de asynchrone controle van een wekbron (zoals bij een asynchrone CAN-transceiverdriver) een negatief resultaat oplevert, oftewel wanneer er geen wekgebeurtenis door deze bron aanwezig is [SWS_EcuM_02927].
Gebruik en parameters
Via de invoerparameter WakeupSource van het type EcuM_WakeupSourceType wordt de wekbron overgedragen waarvoor de bijbehorende bewakingstimer moet worden afgebroken [SWS_EcuM_02927]. De functie levert geen retourwaarde (void) op en beschikt niet over in-/uitgangs- of uitgangsparameters [SWS_EcuM_02927].
Werking en concurrency
- De functie breekt de timer
CheckWakeupTimervoor de gespecificeerde wekbron af; met het afbreken van deze timer geldt de controle van de wekbron als voltooid [SWS_EcuM_02927]. - De interface is gedefinieerd als synchroon en niet-re-entrant (
Non Reentrant) [SWS_EcuM_02927]. - De declaratie wordt ter beschikking gesteld via het headerbestand
EcuM_Externals.h[SWS_EcuM_02927].
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de specificatie van AUTOSAR R20-11.
functie EcuM_CheckRamHash [SWS_EcuM_02921] 📄 PDF
uint8 EcuM_CheckRamHash (void);
This callout is intended to provide a RAM integrity test. The goal of this test is to ensure that after a long SLEEP duration, RAM contents is still consistent. The check does not need to be exhaustive since this would consume quite some processing time during wakeups. A well designed check will execute quickly and detect RAM integrity defects with a sufficient probability. This specification does not make any assumption about the algorithm chosen for a particular ECU. The areas of RAM which will be checked have to be chosen carefully. It depends on the check algorithm itself and the task structure. Stack contents of the task executing the RAM check e.g. very likely cannot be checked. It is good practice to have the hash generation and checking in the same task and that this task is not preemptible and that there is only little activity between hash generation and hash check. The RAM check itself is provided by the system designer. In case of applied multi core and existence of Satellite-Ecu M(s): this API will be called by the Master-EcuM only.
De functie EcuM_CheckRamHash is een synchrone, niet-reentrante callout (gedeclareerd in EcuM_Externals.h) die een integriteitstest van het RAM-geheugen biedt [SWS_EcuM_02921]. De functie heeft geen parameters en retourneert een statuswaarde van het type uint8: de waarde 0 signaleert het mislukken van de test, terwijl elke andere waarde een succesvol resultaat aangeeft [SWS_EcuM_02921].
Volgens [SWS_EcuM_02863] roept de module EcuM voorafgaand aan het stoppen van de microcontroller eerst [SWS_EcuM_02919] aan en voert deze na terugkeer uit de halt-toestand EcuM_CheckRamHash uit. Doel is de verificatie dat de RAM-inhoud ook na een lange SLEEP-fase consistent is gebleven [SWS_EcuM_02921].
Voor de implementatie en het verloop gelden de volgende randvoorwaarden:
- Algoritme en controlegebied: De controlefunctie wordt door de systeemontwerper geleverd; deze hoeft niet uitputtend te zijn, maar moet snel worden uitgevoerd en fouten met voldoende zekerheid detecteren [SWS_EcuM_02921]. De te controleren gebieden moeten zorgvuldig worden gekozen; stack-inhoud van de uitvoerende task kan over het algemeen niet worden gecontroleerd [SWS_EcuM_02921].
- Task-structuur: Als best practice geldt het uitvoeren van hash-generatie en -controle binnen dezelfde, niet-onderbreekbare task met minimale tussenliggende activiteit [SWS_EcuM_02921].
- Multi-core: Bij meerdere processorkernen met satelliet-EcuM's wordt de callout uitsluitend door de master-EcuM aangeroepen en controleert deze alleen gegevens binnen diens bereik [SWS_EcuM_02863], [SWS_EcuM_02921].
Specifieke DET- of DEM-meldingen zijn voor deze callout niet gedefinieerd; de foutreactie bij retourwaarde 0 ligt vermoedelijk ter beoordeling van het overkoepelende systeemontwerp [SWS_EcuM_02921]. Vraag Q-473ef8617db29fe3 (open)
Deze tekst is opgesteld door een AI en is gebaseerd op de specificatie AUTOSAR Classic R20-11.
functie EcuM_DisableWakeupSources [SWS_EcuM_02922] 📄 PDF
void EcuM_DisableWakeupSources (EcuM_WakeupSourceType wakeupSource);
The ECU Manager Module calls EcuM_DisableWakeupSources to set the wakeup source(s) defined in the wakeupSource bitfield so that they are not able to wake the ECU up.
De synchrone interface EcuM_DisableWakeupSources met de service-ID 0x44 dient ertoe de in de bitveldparameter wakeupSource van het type EcuM_WakeupSourceType gedefinieerde wekbronnen zo te configureren dat deze de ECU niet meer kunnen wekken [SWS_EcuM_02922]. De functiesignatuur luidt void EcuM_DisableWakeupSources (EcuM_WakeupSourceType wakeupSource) [SWS_EcuM_02922].
Voor de aanroepcontext en de integratie gelden volgens de specificatie de volgende eigenschappen:
- Aanroeper en header: De functie wordt aangeroepen door de module ECU Manager en beschikbaar gesteld via het headerbestand
EcuM_Externals.h[SWS_EcuM_02922]. - Parameters en retourwaarden: Als enige invoerparameter wordt het bitveld
wakeupSourceovergedragen. De functie heeft noch in-/uitgangs- noch uitgangsparameters en levert geen retourwaarde (void) terug [SWS_EcuM_02922]. - Uitvoeringssemantiek en concurrency: De verwerking vindt synchroon plaats. Bovendien is de functie gespecificeerd als niet-re-entrant (
Non Reentrant), zodat gelijktijdige of geneste aanroepen moeten worden vermeden [SWS_EcuM_02922].
Wat betreft de foutafhandeling bevat de specificatie voor deze functieaanroep noch specifieke foutcodes noch notificaties aan de DET of DEM [SWS_EcuM_02922].
Deze tekst is gegenereerd door een AI op basis van de specificatie AUTOSAR CP R20-11.
functie EcuM_AL_DriverRestart [SWS_EcuM_02923] 📄 PDF
void EcuM_AL_DriverRestart (void);
This callout shall provide driver initialization and other hardware-related startup activities in the wakeup case.
De callout EcuM_AL_DriverRestart wordt via het headerbestand EcuM_Externals.h gedeclareerd en heeft service-ID 0x45 [SWS_EcuM_02923]. De functie heeft de signatuur void EcuM_AL_DriverRestart (void), vereist geen overdrachtsparameters en levert geen retourwaarde op [SWS_EcuM_02923]. Het doel van deze interface is om bij het ontwaken (wake-up case) de driverinitialisatie en verdere hardwaregerelateerde activiteiten tijdens de opstartfase te verzorgen [SWS_EcuM_02923].
Voor de integratie en het samenspel met de module EcuM gelden bindende voorschriften:
- Voor de herinitialisatie tijdens fase
WakeupRestartmoet de integrator een restart-blok in de integratiecode voorEcuM_AL_DriverRestartopnemen, die de geconfigureerde lijstEcuMDriverRestartListgebruikt [SWS_EcuM_02947] [SWS_EcuM_02923]. - De lijst
EcuMDriverRestartListkan drivers bevatten die fungeren als wekbronnen (wakeup sources) [SWS_EcuM_02562]. In dat geval moetEcuM_AL_DriverRestarthet activeringsmechanisme van de callback voor wekdetectie (“wakeup detected”) van deze drivers weer op scherp zetten (re-arm) [SWS_EcuM_02562].
Wat betreft het runtime-gedrag is de functie gedefinieerd als synchroon en niet-reentrant [SWS_EcuM_02923]. Omdat het om toepassingsspecifieke integratiecode gaat, definieert de specificatie op deze interface geen eigen foutcodes en geen gestandaardiseerde meldingen aan DET of DEM.
Deze tekst is gegenereerd door een AI. Gegevens kunnen onvolledig zijn en vervangen de officiële AUTOSAR-specificatie niet.
Implementer's Guide volgt (complexiteit I2)
functie EcuM_StartWakeupSources [SWS_EcuM_02924] 📄 PDF
void EcuM_StartWakeupSources (EcuM_WakeupSourceType wakeupSource);
The callout shall start the given wakeup source(s) so that they are ready to perform wakeup validation.
De callout-functie EcuM_StartWakeupSources dient ertoe de doorgegeven wekbron(nen) zodanig te starten en in bedrijf te nemen dat deze zijn voorbereid op de daaropvolgende uitvoering van de wekvalidatie (wakeup validation) [SWS_EcuM_02924].
Gebruik en aanroepcontext
De functie is gespecificeerd als een synchrone aanroep met service-ID 0x46, heeft geen retourwaarde (void) en wordt via het headerbestand EcuM_Externals.h beschikbaar gesteld [SWS_EcuM_02924].
- Parameter
wakeupSource(in): Geeft de te starten wekbron of een bitmasker van meerdere wekbronnen van het typeEcuM_WakeupSourceTypedoor aan de callout-functie [SWS_EcuM_02924]. Aanvullende in- of uitgangsparameters (inout/out) bestaan niet [SWS_EcuM_02924].
Gelijktijdigheid en beperkingen
Wat betreft de uitvoeringsomgeving is EcuM_StartWakeupSources geclassificeerd als niet-reentrant (Non Reentrant) [SWS_EcuM_02924]. Aanroepers moeten er daarom voor zorgen dat de functie niet gelijktijdig vanuit onderbrekende interrupt-service-routines of parallelle tasks wordt uitgevoerd.
Samenspel en foutafhandeling
Aangezien EcuM_StartWakeupSources als callout is gedeclareerd, is de hardwarematige activering van de betreffende bronnen de verantwoordelijkheid van de toepassingsspecifieke implementatie door de systeemintegrator [SWS_EcuM_02924]. De specificatie voorziet voor deze interface noch in foutmeldingen aan DET of DEM, noch in specifieke foutretourwaarden [SWS_EcuM_02924]; eventuele fouttoestanden bij het starten van de bronnen worden daarom vermoedelijk integratiespecifiek binnen de callout opgevangen. Vraag Q-b595e7175c34a831 (open)
Deze tekst is gegenereerd door een AI en is gebaseerd op de specificatie van AUTOSAR R20-11.
Implementer's Guide volgt (complexiteit I2)
functie EcuM_CheckValidation [SWS_EcuM_02925] 📄 PDF
void EcuM_CheckValidation (EcuM_WakeupSourceType wakeupSource);
This callout is called by the EcuM to validate a wakeup source. If a valid wakeup has been detected, it shall be reported to EcuM via EcuM_ValidateWakeupEvent().
De functie EcuM_CheckValidation dient als callout-interface van de ECU State Manager voor het controleren van een wekbron [SWS_EcuM_02925]. De EcuM roept deze functie aan om vast te stellen of een gedetecteerd wekevenement geldig is [SWS_EcuM_02925].
Gebruik
De callout heeft het service-ID 0x47 en wordt via het headerbestand EcuM_Externals.h ter beschikking gesteld [SWS_EcuM_02925]. Als overdrachtsparameter dient wakeupSource van het type EcuM_WakeupSourceType, waarmee de te valideren wekbron wordt geïdentificeerd [SWS_EcuM_02925]. De functie levert geen retourwaarde op (void) en heeft geen uitgangs- of in-/uitgangsparameters [SWS_EcuM_02925]. De uitvoering verloopt synchroon [SWS_EcuM_02925].
Foutafhandeling
Specifieke foutcodes, retourwaarden bij fouten of meldingen aan de DET of DEM zijn voor deze callout niet gedefinieerd in de specificatie.
Gelijktijdigheid en beperkingen
Met betrekking tot concurrency is EcuM_CheckValidation vastgelegd als niet-re-entrant (Non Reentrant) [SWS_EcuM_02925]. De aanroepende context van de EcuM moet waarborgen dat er geen parallelle of geneste aanroepen voor dezelfde of verschillende wekbronnen plaatsvinden.
Samenspel
Als bij de uitvoering een geldig wekevenement is gedetecteerd, moet dit verplicht via de functieaanroep EcuM_ValidateWakeupEvent() aan de EcuM worden teruggemeld [SWS_EcuM_02925]. Interpretatie: De apparaatspecifieke logica voor het controleren van de hardware en de beslissing over de geldigheid wordt vermoedelijk volledig in de integratiecode geïmplementeerd. Vraag Q-08061e09b474728d (open)
Deze gebruiksinstructie is automatisch gegenereerd op basis van de specificatie AUTOSAR CP R20-11.
Implementer's Guide volgt (complexiteit I1)
functie EcuM_StopWakeupSources [SWS_EcuM_02926] 📄 PDF
void EcuM_StopWakeupSources (EcuM_WakeupSourceType wakeupSource);
The callout shall stop the given wakeup source(s) after unsuccessful wakeup validation.
De callout-functie EcuM_StopWakeupSources van de module EcuM (Classic Platform) dient ertoe de overgedragen wekbron(nen) na een niet-succesvolle wekvalidatie gericht te stoppen [SWS_EcuM_02926]. De declaratie van deze synchrone interface is beschikbaar via het headerbestand EcuM_Externals.h en heeft service-ID 0x48 [SWS_EcuM_02926].
Gebruik en interfaceparameters:
- Ingangsparameter: Als enige parameter wordt
wakeupSourcevan het typeEcuM_WakeupSourceTypedoorgegeven, die de te stoppen wekbron(nen) specificeert [SWS_EcuM_02926]. - Retourwaarde en in-/uitgangen: Er bestaan noch in-/uitgangsparameters (
inout) noch uitgangsparameters (out) [SWS_EcuM_02926]. De functie levert geen retourwaarde (void) terug aan de aanroeper [SWS_EcuM_02926]. - Uitvoeringsgedrag: De functieafhandeling is vastgelegd als synchroon (
Synchronous) [SWS_EcuM_02926].
Concurrency en foutafhandeling:
De interface is gespecificeerd als niet-reentrant (Non Reentrant) [SWS_EcuM_02926]. Parallelle aanroepen zijn daarom niet toegestaan en moeten door de aanroeper worden vermeden. De specificatie definieert voor deze callout noch specifieke foutcodes, noch retourwaarden of notificaties aan de Default Error Tracer (DET)- of de Diagnostic Event Manager (DEM)-module [SWS_EcuM_02926]. Interpretatie: Aangezien de functie als externe callout via EcuM_Externals.h beschikbaar wordt gesteld, berusten de hardwaregerelateerde deactivering van de betreffende wekhardware en de interne foutafhandeling bij de gebruikersspecifieke implementatie. Vraag Q-b537c805bed751ab (open)
Deze tekst is gegenereerd door een AI op basis van de specificatie R20-11.
Implementer's Guide volgt (complexiteit I1)
functie EcuM_MainFunction [SWS_EcuM_02837] 📄 PDF
void EcuM_MainFunction (void);
The purpose of this service is to implement all activities of the ECU State Manager while the OS is up and running.
Gebruik en aanroepcontext
De functie EcuM_MainFunction heeft de signatuur void EcuM_MainFunction(void) met de service-ID 0x18 en wordt beschikbaar gesteld via het headerbestand SchM_EcuM.h [SWS_EcuM_02837]. Zij accepteert geen parameters en levert geen retourwaarde op [SWS_EcuM_02837]. Haar taak bestaat erin alle activiteiten van de ECU State Manager af te handelen terwijl het besturingssysteem draait („OS is up and running”) [SWS_EcuM_02837]. De functie wordt daarbij vermoedelijk typisch periodiek aangeroepen door de scheduler (interpretatie: integratie via SchM_EcuM.h). Vraag Q-ca471f22bdb1f11d (open)
Samenspel en taken
Tijdens bedrijf neemt EcuM_MainFunction centrale coördinatietaken op zich:
- Validatie van wakeup-bronnen: Voor zover na afronding van de WakeupRestart-sequentie een lijst van wakeup-source-kandidaten voorliegt, valideert de EcuM-module deze kandidaten binnen de
EcuM_MainFunction[SWS_EcuM_02539]. - Verstrijken van de validatietime-out: Verstrijkt de validatietime-out voor een openstaande wakeup-gebeurtenis, dan stelt de functie via een OR-koppeling het bijbehorende bit in de interne variabele voor verstreken wakeup-gebeurtenissen in [SWS_EcuM_04081]. Bovendien stelt zij het BSW-management op de hoogte via
BswM_EcuM_Current_Wakeupmet eenEcuM_WakeupSourceType-bitmasker van de gebeurtenis en de statusECUM_WKSTATUS_EXPIRED[SWS_EcuM_04082]. - Alarm Clock Service: Is de dienst via
EcuMAlarmClockPresentaanwezig, dan actualiseert deEcuM_MainFunctionde Alarm Clock Timer [SWS_EcuM_04002].
Beperkingen en instanties
Als wezenlijke randvoorwaarde voor multicore- resp. multi-instantie-architecturen geldt dat EcuM_MainFunction in alle instanties van de EcuM moet worden uitgevoerd [SWS_EcuM_04011].
Deze gebruiksinstructie is automatisch gegenereerd op basis van de specificatie R20-11.
Implementer's Guide volgt (complexiteit I2)
type EcuM_ConfigType [SWS_EcuM_04038] 📄 PDF
A pointer to such a structure shall be provided to the ECU State Manager initialization routine for configuration.
type EcuM_RunStatusType [SWS_EcuM_04120] 📄 PDF
Result of the Run Request Protocol sent to BswM
Het gegevenstype EcuM_RunStatusType is gedefinieerd als uint8 en wordt beschikbaar gesteld via de header EcuM.h ([SWS_EcuM_04120]). Het dient voor de formele representatie van de actuele status van het run-request-protocol in de ECU-Manager en wordt als resultaat verzonden naar de Basic Software Mode Manager (BswM) ([SWS_EcuM_04120]).
Het toegestane waardebereik omvat drie discrete toestanden ([SWS_EcuM_04120]):
ECUM_RUNSTATUS_UNKNOWN(waarde 0): Representeert een onbekende status en dient tegelijkertijd als gedefinieerde initialisatiewaarde (Init Value).ECUM_RUNSTATUS_REQUESTED(waarde 1): Markeert de toestand dat de RUN-status actief is aangevraagd door de ECU-Manager.ECUM_RUNSTATUS_RELEASED(waarde 2): Signaleert dat de RUN-status door de ECU-Manager weer is vrijgegeven.
Wat betreft de wisselwerking verplicht eis [SWS_EcuM_04121] de ECU-Manager-module ertoe om de BswM bindend te informeren over de actuele toestand van het run-request-protocol aan de hand van de in EcuM_RunStatusType vermelde statuswaarden. Interpretatie: Aangezien de eis geen specifieke functiesignatuur of aanroepconventie voor de berichtenstroom noemt, zal de statusinformatie doorgaans via een interne notificatiefunctie of callback-interface aan de BswM-module worden doorgegeven. Vraag Q-e136b90c2edbc29c (open) Specifieke foutcodes, DET- of DEM-meldingen en bijzondere re-entrancy-voorwaarden zijn voor dit elementaire gegevenstype in de voorliggende eisen niet voorzien.
Deze gebruiksinstructie is geautomatiseerd opgesteld op basis van de specificatie van AUTOSAR Classic R20-11.
Implementer's Guide volgt (complexiteit I1)
type EcuM_WakeupSourceType [SWS_EcuM_04040] 📄 PDF
EcuM_WakeupSourceType defines a bitfield with 5 pre-defined positions (see Range). The bitfield provides one bit for each wakeup source. In WAKEUP, all bits cleared indicates that no wakeup source is known. In STARTUP, all bits cleared indicates that no reason for restart or reset is known. In this case, ECUM_WKSOURCE_RESET shall be assumed.
type EcuM_WakeupStatusType [SWS_EcuM_04041] 📄 PDF
The type describes the possible states of a wakeup source.
Het datatype EcuM_WakeupStatusType beschrijft volgens [SWS_EcuM_04041] de mogelijke toestanden van een wekbron (wakeup source) in de ECU State Manager. Het type is afgeleid van het basistype uint8 en wordt via de header EcuM.h beschikbaar gesteld [SWS_EcuM_04041].
Het waardebereik geeft de levenscyclus van een wekgebeurtenis weer via vier toestanden [SWS_EcuM_04041]:
ECUM_WKSTATUS_NONE(waarde 0): Er is geen actieve wekgebeurtenis gedetecteerd [SWS_EcuM_04041].ECUM_WKSTATUS_PENDING(waarde 1): Er is een wekgebeurtenis gedetecteerd, maar deze is nog niet gevalideerd [SWS_EcuM_04041].ECUM_WKSTATUS_VALIDATED(waarde 2): De wekgebeurtenis is geldig en met succes bevestigd [SWS_EcuM_04041].ECUM_WKSTATUS_EXPIRED(waarde 3): De wekgebeurtenis is niet tijdig gevalideerd en is bijgevolg verlopen [SWS_EcuM_04041].
Gebruik en samenspel: Het type dient als centrale statusrepresentatie voor wekbronnen. Interpretatie: Aanroepers zullen deze status vermoedelijk evalueren in het kader van statusopvragingen om te bepalen of een wekbron actief wordt gevalideerd, reeds een geldig ontwaken heeft gesignaleerd of het validatietijdsvenster heeft overschreden. Vraag Q-a3f721e8f1753eb1 (open)
Deze tekst is automatisch gegenereerd. Alle vermeldingen zijn uitsluitend gebaseerd op de specificatie-eisen van de desbetreffende release.
Implementer's Guide volgt (complexiteit I1)
type EcuM_ResetType [SWS_EcuM_04044] 📄 PDF
This type describes the reset mechanisms supported by the ECU State Manager. It can be extended by configuration.
type EcuM_StateType [SWS_EcuM_91005] 📄 PDF
ECU State Manager states.
Het type EcuM_StateType is een van uint8 afgeleid datatype dat via het headerbestand EcuM.h beschikbaar wordt gesteld en de bedrijfstoestanden van de ECU State Manager representeert [SWS_EcuM_91005]. De module EcuM is verplicht om alle in EcuM_StateType vermelde toestanden te definiëren [SWS_EcuM_02664]. Het waardebereik omvat het deeltoestandsmasker ECUM_SUBSTATE_MASK (0x0f) en de hoofdtoestanden ECUM_STATE_STARTUP (0x10), ECUM_STATE_RUN (0x32), ECUM_STATE_POST_RUN (0x33), ECUM_STATE_SHUTDOWN (0x40) en ECUM_STATE_SLEEP (0x50) [SWS_EcuM_91005].
Gebruik en samenspel
Het datatype fungeert als centrale parameter voor de toestandcommunicatie tussen de BswM en de EcuM:
- Toestandswissel naar EcuM: Via de synchrone en reentrante functieaanroep
EcuM_SetState(EcuM_StateType state)met het service-ID0x2binformeert de BswM de EcuM-module over een toestandswissel [SWS_EcuM_04122]. - Toestandsmelding aan BswM: De EcuM meldt de actuele toestand aan de BswM door de interface
BswM_EcuM_CurrentState(EcuM_StateType State)aan te roepen [SWS_EcuM_04143].
Gelijktijdigheid, volgorde en foutafhandeling
Wat betreft de chronologische volgorde geldt het voorschrift dat een nieuwe toestand pas door de EcuM mag worden ingesteld nadat de RTE haar terugkoppeling via de bijbehorende acknowledgement-poort heeft gegeven [SWS_EcuM_04143]. Specifieke foutcodes, retourwaarden of DET-/DEM-meldingen zijn voor dit datatype in de beschikbare bronnen niet voorzien.
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de specificatie-eisen.
Implementer's Guide volgt (complexiteit I1)
type EcuM_Mode [SWS_EcuM_04107] 📄 PDF
Het type EcuM_Mode is gedefinieerd als ModeDeclarationGroup conform [SWS_EcuM_04107] en vertegenwoordigt de centrale toestanden van de ECU State Manager. Als initiële modus is STARTUP vastgelegd. Daarnaast omvat de groep de gedefinieerde modi POST_RUN, RUN, SHUTDOWN en SLEEP [SWS_EcuM_04107].
In het systeem fungeert EcuM_Mode als typebasis voor de modusgroep currentMode binnen de service-interface EcuM_CurrentMode [SWS_EcuM_04108]. Via deze interface kan de actuele ECU-modus worden opgevraagd of via het RTE-modusmechanisme aan andere softwarecomponenten worden gesignaleerd.
Wat betreft de aanroepcontext en de concurrency bevat de specificatie van het type zelf geen expliciete beperkingen ten aanzien van reentrantie of foutcodes; het beheer van de toestandsovergangen geschiedt via de bijbehorende service-interfaces van de EcuM.
Deze opmerking is automatisch gegenereerd en is gebaseerd op AUTOSAR R20-11 specificatiegegevens.
Implementer's Guide volgt (complexiteit I1)
type currentMode [SWS_EcuM_04112] 📄 PDF
Het element currentMode is gedefinieerd als provided-poort van de module EcuM en stelt de service-interface EcuM_CurrentMode beschikbaar voor de softwarearchitectuur [SWS_EcuM_04112]. Deze service-interface dient voor het uitlezen van de actuele ECU-modus en kapselt de modusgroep currentMode in op basis van het gegevenstype EcuM_Mode [SWS_EcuM_04108].
Tijdens het lopende systeembedrijf vindt het gebruik plaats voor het signaleren van toestandswijzigingen:
- Aanroep en gebruik: Zodra een moduswissel optreedt, meldt de EcuM dit via RTE-moduspoorten aan softwarecomponenten (SW-C's) [SWS_EcuM_04133]. Onder de specificatie-aanname van de poortnaam
currentModeen bij gebruik van de directe RTE-API wordt hiervoor de functieRte_Switch_currentMode_currentMode( Rte_ModeType_EcuM_Mode mode)aangeroepen [SWS_EcuM_04133]. - Parameters en retourwaarde: De parameter
modegeeft de nieuw aan te nemen modus door aan de RTE [SWS_EcuM_04133]. De door de switch-API geleverde retourwaarde van het typeRte_StatusTypewordt niet geëvalueerd, maar moet volgens de specificatie dwingend worden genegeerd [SWS_EcuM_04133]. - Wisselwerking: Een softwarecomponent die over moduswijzigingen moet worden geïnformeerd, moet de modus-switch-interface
EcuM_CurrentModeals required-poort opvragen [SWS_EcuM_04133].
Deze gebruiksinstructie is automatisch gegenereerd en is uitsluitend gebaseerd op de specificatie-eisen van release R20-11.
Implementer's Guide volgt (complexiteit I1)
type EcuM_UserType [SWS_EcuM_91004] 📄 PDF
Unique value for each user.
type EcuM_TimeType [SWS_EcuM_04102] 📄 PDF
This data type represents the time of the ECU Manager module.
type EcuM_ShutdownCauseType [SWS_EcuM_04045] 📄 PDF
This type describes the cause for a shutdown by the ECU State Manager. It can be extended by configuration.
type EcuM_ShutdownModeType [SWS_EcuM_04101] 📄 PDF
This data type represents the modes of the ECU Manager module.
Gebruik en waardebereik
Het gegevenstype EcuM_ShutdownModeType is gebaseerd op uint16 en wordt via het headerbestand Rte_EcuM_Type.h beschikbaar gesteld [SWS_EcuM_04101]. Het beeldt de in de ECU State Manager geconfigureerde modi af. Het waardebereik omvat:
- de geconfigureerde sleep-modi conform
EcuMSleepModeId[SWS_EcuM_04101] evenals - de geconfigureerde resetmodi, berekend uit de offset
256 + EcuMResetModeId[SWS_EcuM_04101].
Interactie en aanroepcontext
Het type wordt gebruikt in synchrone en re-entrante services van de ECU Manager:
EcuM_SelectShutdownTargetaccepteertshutdownModeals invoerparameter om de concrete sleep-modus (bij doelECUM_SHUTDOWN_TARGET_SLEEP) of het concrete resetmechanisme (bij doelECUM_SHUTDOWN_TARGET_RESET) vast te leggen [SWS_EcuM_02822].EcuM_GetShutdownTargetretourneert via een pointerparameter naarEcuM_ShutdownModeTypewelke geconfigureerde sleep- of resetmodus voor het actuele shutdown-doel is geselecteerd [SWS_EcuM_02824].EcuM_GetLastShutdownTargetlevert de shutdown-modus van de voorafgaande shutdown-procedure op via een uitvoerparameter [SWS_EcuM_02825]. Via de service-interfaceEcuM_ShutdownTargetstaat deze functionaliteit ook ter beschikking van softwarecomponenten (SW-C's) [SWS_EcuM_03011].
Foutafhandeling en randvoorwaarden
De functies retourneren Std_ReturnType. Wordt bijvoorbeeld een NULL-pointer aan EcuM_GetShutdownTarget of EcuM_GetLastShutdownTarget doorgegeven, dan mislukt de aanroep met E_NOT_OK [SWS_EcuM_02824], [SWS_EcuM_02825]. Bij een succesvolle uitvoering melden de services E_OK [SWS_EcuM_02822], [SWS_EcuM_03011].
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de specificatie-eisen.
Implementer's Guide volgt (complexiteit I1)
type EcuM_ShutdownTargetType [SWS_EcuM_04136] 📄 PDF
Request a governed re-review of this record. The record is not changed immediately.
- Record
AUTOSAR/AP/record/CP_MOD_EcuM- Status
- unspecified
- Version
AUTOSAR/AP/record/CP_MOD_EcuM@rel:R20-11#a88d8325- Content hash
a88d8325- Source
- https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_ECUStateManager.pdf#nameddest=SWS_EcuM_02813
gemini-3.8-flash-low· 2026-10-13 · Duits origineel