DEENESPTFRRUARHIKOZHNL
CLASSIC Modul: modemanagementguide Rolle: heuristic Konfidenz: 85%

SNIP_CLASSIC_MODEMANAGEMENTGUIDE_SECTION_3_3_1_Startup

Quelle: ModemanagementGuide.pdf (Seite 31) • Ziel-Anforderung: SWS_NvM_00701

Wortlaut

3.3.1 Startup The ECUM starts the operating system and initializes in its post OS sequence the Schedule manager and the BswM. The BswM then has to take care, that all necessary init routines of the basic software modules are called and that the RTE is started. In this scenario it is expected that the BswM has the following providedModeGroup. The purpose of this modeGroup is to track the current state/mode of the ECU similar to the states of the ECU State manager in previous AUTOSAR releases. Rule InitBlockII specifies the initialization of basic drivers to access the NVRAM and initiates NvM_ReadAll. As the EcuMode source has the processing attribute set to DEFERRED this rule will be evaluated every time the main function of the BswM is called. After the first run it sets the EcuMode to ECU_STARTUP_TWO so that the action list will never be invoked again. If the NvMReadAll job is finsihed the NvMReadAllFinished rule is triggered, which initiates the remaining initialization and switches the EcuMode to ECU_RUN. Listing 3.10: Rules and ActionLists for Startup rule InitBlockII initially false { if ( EcuMode == MDG_EcuMode.ECU_STARTUP_ONE ) { actionlist InitBlockIIActions } } actions InitBlockIIActions on condition { custom "Spi_Init(null)" custom "Eep_Init(null)" custom "Fls_Init(null)" custom "NvM_Init(null)" SchMSwitch EcuMode : ECU_STARTUP_TWO custom "NvM_ReadAll()" } rule NvMReadAllFinished initially false { if ( NvMReadAllJobMode == NVM_REQ_OK && EcuMode == MDG_EcuMode. ECU_STARTUP_TWO) { actionlist NvMReadAllFinishedActions } } actions NvMReadAllFinishedActions on condition { custom "Can_Init(null)" Guide to Modemanagement R4.1 Rev 3 custom "CanIf_Init(null)" custom "CanSM_Init(null)" custom "CanTp_Init(null)" custom "Lin_Init(null)" custom "LinIf_Init(null)" custom "LinSM_Init(null)" custom "LinTp_Init(null)" custom "Fr_Init(null)" custom "FrIf_Init(null)" custom "FrSM_Init(null)" custom "FrTp_Init(null)" custom "PduR_Init(null)" custom "CANNM_Init(null)" custom "FrNM_Init(null)" custom "NmIf_Init(null)" custom "IpduM_Init(null)" custom "COM_Init(null)" custom "DCM_Init(null)" custom "ComM_Init(null)" custom "DEM_Init(null)" custom "StartRte()" SchMSwitch EcuMode : ECU_RUN } When the RTE is started the runnables will be started. Now it is up to the application to keep the ECU running. To achieve this the BswM can for example provide a ModeRequestPort as depicted in example 3.4. For the further reading is is expected, that the application software requests the mode APP1_ACTIVE from the BswM. If this mode is requested the BswM shall not shutdown the ECU. Listing 3.11: Application runs, enable communication rule checkApp1Request initially false { if ( App1ModeRequest == MDG_ApplicationModes.ModeA && EcuMode == MDG_EcuMode.ECU_RUN) { actionlist checkApp1RequestTrueActions } } actions checkApp1RequestTrueActions on condition { ComMAllowCom MyComM.CanNet1 true SchMSwitch EcuMode : ECU_RUN }

Versionen & Provenienz · Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Begründung & Zuweisungs-Evidenz

BswM issues NvM_ReadAll and evaluates status

Dokumenten-Herkunft & Rückverfolgbarkeit

Spezifikations-Dokument ModemanagementGuide.pdf
Dokumentseite Seite 31
Ziel-Modul modemanagementguide (classic)
Ziel-Anforderung SWS_NvM_00701
Semantische Rolle heuristic
Automatisierungs-Konfidenz 0.85