DEENESPTFRRUARHIKOZHNL

BSW Mode Manager (BswM)

ModulBswM (BSW Mode Manager)
BSW-Modul-ID42
Standard-Header#include "BswM.h"
SWS-SpezifikationAUTOSAR_SWS_BSWModeManager.pdf
ClusterSystem Services

모듈 가이드AI 생성

규칙을 통해 모드 요청 및 모드 표시를 중재하고, 이를 바탕으로 기본 소프트웨어에서 액션을 트리거합니다.
AI 생성 미검증 모델: claude-opus-5-5 · 노력: high · 온도: 제어 불가 · 프롬프트: e6ee839f49b5 출처 열린 질문 (4)
인과 앵커: R20-11 R20-11부터 유효 이 사양 릴리스용으로 새로 합성되었습니다.
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

규칙을 통해 모드 요청 및 모드 표시를 중재하고, 이를 바탕으로 기본 소프트웨어에서 액션을 트리거합니다.

BSW Mode Manager는 BSW 모듈의 모드 표시 및 SW-C의 모드 요청을 수신합니다. 구성된 규칙을 통해 이를 중재하며, 그 결과로 True 또는 False 액션 리스트를 트리거합니다[SWS_BswM_00035]. BswM_Init에 따라 기본 소프트웨어의 추가 초기화, EcuM과의 ECU Mode Handling, 그리고 I-PDU 그룹 또는 Ethernet 포트 그룹 등의 통신 활성화를 제어합니다. BSWM_DEFERRED 입력을 갖는 규칙은 BswM_MainFunction이(가) 주기적으로 평가하고, 그 외의 모든 규칙은 즉시 평가됩니다[SWS_BswM_00075]. 유효하지 않거나 초기화 전에 도착한 요청은 DET가 활성화되어 있을 때 무시되고 보고됩니다.

BSW Mode Manager(BswM)는 기본 소프트웨어의 중앙 중재 인스턴스입니다. EcuM, ComM, 버스 상태 관리자, NvM, DCM 또는 Sd와 같은 BSW 모듈의 모드 표시뿐만 아니라 SW-C의 모드 요청도 수신합니다. 이를 바탕으로 구성된 규칙을 통해 무엇을 실행할지 결정합니다[SWS_BswM_00035], SWS BswM 26쪽. 입력은 C-API, SW-C 포트 또는 이벤트로 수신됩니다. 각 C-API는 참조 매개변수를 통해 구체적인 요청 포트에 매핑됩니다SWS BswM 87쪽.

kontext cluster_melder Melder (Modusanzeigen, -anforderungen, Ereignisse) cluster_ziele Aktionsziele EcuM EcuM BswM BswM Regeln + Aktionslisten EcuM->BswM BswM_EcuM_CurrentState / RequestedState / CurrentWakeup ComM ComM ComM->BswM BswM_ComM_CurrentMode / CurrentPNCMode / InitiateReset BusSM CanSM / LinSM / FrSM / EthSM BusSM->BswM BswM_<Bus>SM_CurrentState NvM NvM NvM->BswM BswM_NvM_CurrentBlockMode / CurrentJobMode Dcm Dcm / J1939Dcm Dcm->BswM BswM_Dcm_* / BswM_J1939DcmBroadcastStatus Sd Sd Sd->BswM BswM_Sd_*CurrentState Nm Nm / J1939Nm Nm->BswM BswM_Nm_* / BswM_J1939Nm_StateChangeNotification EthIfIn EthIf EthIfIn->BswM BswM_EthIf_PortGroupLinkStateChg LinTp LinTp LinTp->BswM BswM_LinTp_RequestMode WdgM WdgM WdgM->BswM BswM_WdgM_RequestPartitionReset SWC RTE를 통한 SW-C SWC->BswM Mode Request / Mode Notification Com Com (I-PDU-Gruppen) BswM->Com Com_IpduGroupStart / Stop EthIfOut EthIf (Port-Gruppen, StartAllPorts) BswM->EthIfOut EthIf_SwitchPortGroupRequestMode, EthIf_StartAllPorts EcuMOut EcuM (EcuM_SetState) BswM->EcuMOut EcuM_SetState RTE RTE (Mode-Switch-Ports) BswM->RTE Moduswechsel Callout BswMUserCallout BswM->Callout Aufruf

컨텍스트 다이어그램: 수많은 보고자가 BswM에 입력을 전달하며, BswM은 액션을 통해 Com, EthIf, EcuM, RTE 및 콜아웃에 영향을 미칩니다. 출처: [SWS_BswM_00035], [SWS_BswM_00008], Mode-Mgmt-Guide 18쪽

규칙은 현재 포트 값들에 대한 논리식입니다. 결과에 따라 True 또는 False 액션 리스트를 실행합니다. 액션 리스트에는 액션, 중첩된 리스트 또는 추가 규칙이 포함됩니다Mode-Mgmt-Guide 32쪽. BSWM_IMMEDIATE의 경우 규칙이 즉시 평가됩니다. BSWM_DEFERRED의 경우 BswM_MainFunction [SWS_BswM_00075]에서 평가됩니다. 아직 정의되지 않은 조건을 가진 규칙은 중재되지 않습니다SWS BswM 30쪽.

arbitrierung eingang 요청 도착 (C-API, 포트 또는 이벤트) pruefung BswMDevErrorDetect인 경우에만: 초기화되었고 값이 유효 범위 내인가? eingang->pruefung fehler Anforderung ignorieren, DET melden (BSWM_E_UNINIT / BSWM_E_REQ_MODE_OUT_OF_RANGE) pruefung->fehler 아니요 ablegen BswMModeRequestPort에 값 저장 pruefung->ablegen 예 / DET 없음 verarbeitung BswMRequestProcessing? ablegen->verarbeitung sofort Referenzierende Regeln sofort auswerten verarbeitung->sofort BSWM_IMMEDIATE zurueck 다음 BswM_MainFunction 실행까지 지연 verarbeitung->zurueck BSWM_DEFERRED undefiniert 규칙에 정의되지 않은 조건이 포함되어 있는가? sofort->undefiniert zurueck->undefiniert BswM_MainFunction ignorieren 규칙 중재하지 않음 undefiniert->ignorieren 예 ausdruck Logischen Ausdruck auswerten undefiniert->ausdruck 아니요 wahr True-Aktionsliste ausdruck->wahr wahr falsch False-Aktionsliste ausdruck->falsch falsch liste 항목 처리: 동작 / 중첩 목록 / 규칙 wahr->liste falsch->liste liste->ausdruck referenzierte Regel

액티비티 다이어그램: 요청이 검사 및 저장된 후 처리 방식에 따라 규칙에 대해 즉시 또는 주기적으로 평가됩니다. 출처: [SWS_BswM_00075], SWS BswM 30쪽

EcuM은 StartPostOS 시퀀스에서 BswM_Init [SWS_BswM_00002]을(를) 호출합니다SWS EcuM 42쪽. 그 후 BswM은 규칙을 통해 RTE 시작까지의 추가 초기화를 제어하며, 예시에서는 NvM_ReadAll 및 BswM_NvM_CurrentJobMode을(를) 사용합니다[SWS_BswM_00152], Mode-Mgmt-Guide 36쪽. ECU Mode Handling 시 BswM만이 EcuM의 전환을 결정합니다SWS EcuM 99쪽. R20-11부터는 PNC 상태를 기반으로 Ethernet 포트 그룹도 추가로 전환합니다Mode-Mgmt-Guide 49쪽. BswM_Deinit 이후에는 더 이상 모드 처리가 수행되지 않습니다[SWS_BswM_00120].

DET가 활성화되어 있을 때 입력 API는 초기화 전의 호출을 무시하고 BSWM_E_UNINIT [SWS_BswM_00080]을(를) 보고합니다. 허용 범위를 벗어난 값도 동일하게 처리하여 BSWM_E_REQ_MODE_OUT_OF_RANGE [SWS_BswM_00095]을(를) 보고합니다. 액션이 실패하면 BswM은 구성 가능한 런타임 오류 BSWM_E_ACTION_FAILED [SWS_BswM_00238]을(를) 보고합니다.

BswM의 역할: 기본 소프트웨어의 중앙 모드 중재

BSW Mode Manager(BswM)는 모드 요청과 모드 표시를 수신합니다. 이를 바탕으로 구성된 규칙을 통해 실행할 액션을 중재합니다[SWS_BswM_00035], SWS BswM 26쪽. 모드 요청은 주로 애플리케이션 SW-C에서 발생하지만, DCM과 같은 BSW 모듈에서도 전달될 수 있습니다. 모드 표시는 항상 버스별 상태 관리자나 EcuM과 같은 다른 BSW 모듈이 제공합니다. BswM은 두 유형을 동일하게 취급하며 “mode arbitration request”라는 개념으로 통합합니다SWS BswM 26쪽.

BswM은 ECU 로컬 Mode Request를 처리하는 서비스 컴포넌트로 모델링됩니다SWS BswM 48쪽. 다른 모듈에 대한 필수 인터페이스는 없습니다[SWS_BswM_00007]. BswM의 액션은 다른 BSW 모듈의 함수를 호출합니다. 이를 위해 사양에서는 Com_IpduGroupStart, Com_IpduGroupStop 또는 I-PDU 그룹의 수신 모니터링 제어와 같은 선택적 인터페이스 목록을 명시합니다[SWS_BswM_00008], SWS BswM 93쪽. 이로써 시스템 경계가 명확하게 정의됩니다. 보고 모듈은 자신의 상태만 전달할 뿐이며, 이에 대한 반응은 전적으로 BswM에 구성된 로직에 의해 결정됩니다Mode-Mgmt-Guide 32쪽.

kontext cluster_melder Melder (Modusanzeigen, -anforderungen, Ereignisse) cluster_ziele Aktionsziele EcuM EcuM BswM BswM Regeln + Aktionslisten EcuM->BswM BswM_EcuM_CurrentState / RequestedState / CurrentWakeup ComM ComM ComM->BswM BswM_ComM_CurrentMode / CurrentPNCMode / InitiateReset BusSM CanSM / LinSM / FrSM / EthSM BusSM->BswM BswM_<Bus>SM_CurrentState NvM NvM NvM->BswM BswM_NvM_CurrentBlockMode / CurrentJobMode Dcm Dcm / J1939Dcm Dcm->BswM BswM_Dcm_* / BswM_J1939DcmBroadcastStatus Sd Sd Sd->BswM BswM_Sd_*CurrentState Nm Nm / J1939Nm Nm->BswM BswM_Nm_* / BswM_J1939Nm_StateChangeNotification EthIfIn EthIf EthIfIn->BswM BswM_EthIf_PortGroupLinkStateChg LinTp LinTp LinTp->BswM BswM_LinTp_RequestMode WdgM WdgM WdgM->BswM BswM_WdgM_RequestPartitionReset SWC RTE를 통한 SW-C SWC->BswM Mode Request / Mode Notification Com Com (I-PDU-Gruppen) BswM->Com Com_IpduGroupStart / Stop EthIfOut EthIf (Port-Gruppen, StartAllPorts) BswM->EthIfOut EthIf_SwitchPortGroupRequestMode, EthIf_StartAllPorts EcuMOut EcuM (EcuM_SetState) BswM->EcuMOut EcuM_SetState RTE RTE (Mode-Switch-Ports) BswM->RTE Moduswechsel Callout BswMUserCallout BswM->Callout Aufruf

컨텍스트 다이어그램: 수많은 BSW 모듈 및 SW-C가 BswM에 보고하며, BswM은 액션을 통해 Com, EthIf, EcuM, RTE 및 사용자 콜아웃에 반영합니다. 출처: [SWS_BswM_00035], [SWS_BswM_00008], [SWS_BswM_00202], [SWS_BswM_00270], Mode-Mgmt-Guide 18쪽, SWS EcuM 99쪽

입력: C-API, 포트 및 이벤트를 통한 모드 표시

컨테이너 BswMModeRequestSource은(는) 입력이 수신되는 방식을 정의합니다. 세 가지 유형이 있습니다Mode-Mgmt-Guide 18쪽:

  • BSW 모듈이 직접 호출하고 BswM이 내부적으로 Mode Request로 변환하는 C-API,
  • SenderReceiverInterface를 사용하는 RPort(BswMSwcModeRequest),
  • ModeSwitchInterface를 사용하는 RPort(BswMSwcModeNotification).

포트 유형에 대해 BswM은 고정된 명명 패턴에 따라 포트를 생성합니다[SWS_BswM_00201], [SWS_BswM_00200]. R20-11의 C-API는 출처에 따라 다음과 같이 분류할 수 있습니다:

각 API는 정확히 하나의 요청 포트 유형에 할당됩니다. Network과(와) 같은 매개변수는 BswMCanSMChannelRef 또는 BswMComMChannelRef과(와) 같은 참조 매개변수를 통해 구체적인 포트에 매핑됩니다SWS BswM 87쪽. 따라서 예를 들어 CAN 채널마다 BswMCanSMIndication이(가) 하나씩 생성됩니다Mode-Mgmt-Guide 24쪽. 모든 보고 API는 동기식입니다. 재진입이 불가능한 BswM_ComM_InitiateReset을(를) 제외하고는 모두 재진입 가능합니다[SWS_BswM_00217], [SWS_BswM_00049].

상태를 유지하는 모드 요청 포트 외에도 이벤트 요청 포트가 존재합니다. BSW 모듈은 예를 들어 BswM_ComM_InitiateReset() SWS BswM 102쪽을(를) 통해 이 포트로 이벤트를 전송합니다. BswM은 이러한 이벤트뿐만 아니라 이벤트의 리셋에 대해서도 중재를 수행합니다SWS BswM 26쪽. 변경 이력에 따르면 R20-11에서는 다음과 같은 새로운 기능이 도입되었습니다SWS BswM 2쪽:

  • BswM_EcuM_CurrentState 및 BswM_EcuM_RequestedState의 재도입,
  • 새로운 알림 BswMNmStateChangeNotification,
  • Ethernet 포트 그룹 전환 지원.

BswM_WdgM_RequestPartitionReset은(는) R21-11에 이르러서야 폐기됩니다SWS BswM 2쪽.

규칙 및 액션 리스트: 입력에서 액션까지

BswM의 동작은 규칙과 액션 리스트를 통해 구성됩니다. 규칙은 모드 요청 포트들의 현재 값에 대한 논리식입니다. 평가 결과에 따라 True 또는 False 액션 리스트가 실행됩니다Mode-Mgmt-Guide 32쪽. 액션 리스트에는 다음이 포함될 수 있습니다SWS BswM 31쪽:

  • 원자적 액션,
  • 중첩된 액션 리스트,
  • 해당 리스트의 컨텍스트에서 평가되는 규칙에 대한 참조.

액션은 액션 리스트의 컨텍스트 내에서만 호출될 수 있습니다[SWS_BswM_00147]. 사양서의 다이어그램은 예제 규칙을 보여줍니다. 이는 모드 조건(MyModeRequestPort이(가) MODE_A와(과) 같음)을 이벤트 포트 ComMInitiateReset SWS BswM 25쪽과(와) AND로 결합합니다.

규칙이 평가되는 시점은 포트별 BswMRequestProcessing에 의해 결정됩니다:

  • BSWM_IMMEDIATE: 해당 포트를 참조하는 모든 규칙이 즉시 처리됩니다Mode-Mgmt-Guide 32쪽. SW-C 포트의 경우 BswM은 데이터 수신 시 RTE가 시작하는 러너블을 등록합니다SWS BswM 48쪽.
  • BSWM_DEFERRED: BswM이 값을 주기적으로 읽습니다. BswM_MainFunction [SWS_BswM_00053]은(는) 이러한 입력을 최소 하나 이상 사용하는 모든 규칙을 평가합니다[SWS_BswM_00075].
arbitrierung eingang 요청 도착 (C-API, 포트 또는 이벤트) pruefung BswMDevErrorDetect인 경우에만: 초기화되었고 값이 유효 범위 내인가? eingang->pruefung fehler Anforderung ignorieren, DET melden (BSWM_E_UNINIT / BSWM_E_REQ_MODE_OUT_OF_RANGE) pruefung->fehler 아니요 ablegen BswMModeRequestPort에 값 저장 pruefung->ablegen 예 / DET 없음 verarbeitung BswMRequestProcessing? ablegen->verarbeitung sofort Referenzierende Regeln sofort auswerten verarbeitung->sofort BSWM_IMMEDIATE zurueck 다음 BswM_MainFunction 실행까지 지연 verarbeitung->zurueck BSWM_DEFERRED undefiniert 규칙에 정의되지 않은 조건이 포함되어 있는가? sofort->undefiniert zurueck->undefiniert BswM_MainFunction ignorieren 규칙 중재하지 않음 undefiniert->ignorieren 예 ausdruck Logischen Ausdruck auswerten undefiniert->ausdruck 아니요 wahr True-Aktionsliste ausdruck->wahr wahr falsch False-Aktionsliste ausdruck->falsch falsch liste 항목 처리: 동작 / 중첩 목록 / 규칙 wahr->liste falsch->liste liste->ausdruck referenzierte Regel

액티비티 다이어그램: 수신된 요청이 검사 및 저장된 후 처리 방식에 따라 즉시 또는 MainFunction에서 규칙에 대해 평가되며, 정의되지 않은 조건을 가진 규칙은 고려되지 않습니다. 출처: [SWS_BswM_00075], [SWS_BswM_00080], [SWS_BswM_00095], SWS BswM 30쪽, Mode-Mgmt-Guide 32쪽

포트는 초기화 시 BswMModeInitValue을(를) 통해 초기값을 받습니다. 이 값이 없으면 조건은 첫 번째 업데이트 전까지 정의되지 않은 것으로 간주됩니다. 정의되지 않은 조건을 가진 규칙은 중재되지 않습니다SWS BswM 30쪽. 따라서 가이드의 예제에서는 CanSM 표시를 위한 CANSM_BSWM_NO_COMMUNICATION 등과 같이 초기값을 설정합니다Mode-Mgmt-Guide 24쪽.

대기 시간을 위해 BswM은 타이머를 제공합니다. BswMTimer은(는) 내부 모드 요청 소스이며 액션 BswMTimerControl을(를) 통해서만 제어할 수 있고, 외부 인터페이스는 제공되지 않습니다SWS BswM 37쪽. 동작 방식은 다음과 같습니다SWS BswM 37쪽:

  • 초기화 시 모든 타이머가 중지됩니다.
  • BSWM_TIMER_START은(는) 타이머를 BswMTimerValue(으)로 로드하고 BSWM_TIMER_STARTED을(를) 설정합니다.
  • BswM_MainFunction의 매 실행 주기마다 해당 주기 시간만큼 감소합니다.

타이머는 구성과 관계없이 항상 DEFERRED 방식으로 처리됩니다[SWS_BswM_00220]. 값 BSWM_TIMER_EXPIRED은(는) 카운트다운 만료를 나타내는 것으로 보입니다. 질문 Q-eba03b0a23a3c291 (열림) 페이로드에서 해당 절이 축약되어 있으므로 이는 해석입니다SWS BswM 37쪽.

timer init BswM_Init stopped BSWM_TIMER_STOPPED init->stopped 모든 타이머 정지됨 started BSWM_TIMER_STARTED stopped->started BswMTimerAction BSWM_TIMER_START (BswMTimerValue로 로드) started->started BswM_MainFunction: um Zykluszeit dekrementieren; erneutes BSWM_TIMER_START: nachladen expired BSWM_TIMER_EXPIRED started->expired Wert abgelaufen (Interpretation) expired->started BSWM_TIMER_START

상태 다이어그램: 액션과 MainFunction에 의해서만 제어되는 STOPPED에서 STARTED를 거쳐 EXPIRED에 이르는 BswMTimer의 수명 주기. 출처: [SWS_BswM_00220], SWS BswM 37쪽

선택적 인터페이스 목록 [SWS_BswM_00008]에 있는 함수 외에도 특정 액션들이 존재합니다. 예를 들어 BswMEthIfStartAllPorts은(는) 실행 시 EthIf_StartAllPorts을(를) 호출합니다[SWS_BswM_00286]. 자유롭게 정의된 함수는 BswMUserCallout(으)로 구성됩니다. 이때 이름과 매개변수는 ECU 구성 시점에 결정됩니다[SWS_BswM_00054], [SWS_BswM_00270].

스타트업, 초기화 체인 및 셧다운

BswM_Init [SWS_BswM_00002]은(는) 포스트 빌드 구성에 대한 포인터를 수신합니다BswM_ConfigType [SWS_BswM_00213]. 이 함수는 모든 전역 변수를 초기화합니다. 그 후 BswM은 요청을 중재할 준비를 마칩니다. 전제 조건은 OS 및 SchM뿐입니다SWS BswM 69쪽. EcuM은 StartPostOS 시퀀스에서 SchM_Start() 다음에 BswM_Init을(를) 호출하며, 그 뒤를 이어 SchM_Init 및 SchM_StartTiming이(가) 뒤따릅니다SWS EcuM 42쪽. 멀티코어 시스템에서는 해당 코어의 각 BswM 인스턴스에 대해 루프 내에서 호출이 수행됩니다SWS EcuM 81쪽. 여러 파티션이나 코어에 존재하는 이러한 다중 인스턴스의 경우 BswM_Init은(는) 조건부 재진입이 가능합니다SWS BswM 69쪽.

StartPostOS: BswM 초기화EcuMOsSchMBswMEcuM_StartupTwo를 통해 활성화된 StartPostOS 시퀀스GetCoreID(CoreIdType)SchM_Start()loop이 코어의 각 BswM 인스턴스BswM_Init(ConfigPtr)globale Variablen initialisierenBswMTimer stoppen, Initialwerte setzenSchM_Init(ConfigPtr)SchM_StartTiming()periodische Ereignisse aktiv:BswM_MainFunction이 주기적으로 실행됨

시퀀스 다이어그램: SchM_Start와 SchM_Init 사이에서 각 BswM 인스턴스의 초기화를 포함하는 StartPostOS 시퀀스; 이후 MainFunction이 주기적으로 실행됨. 출처: [SWS_BswM_00002], SWS EcuM 42쪽, SWS EcuM 78쪽, SWS BswM 37쪽

여기서부터 BswM이 시퀀스 제어를 인계받습니다. BswM은 나머지 베이직 소프트웨어 초기화 루틴들이 호출되고 RTE가 시작되도록 보장합니다 Mode-Mgmt-Guide 36쪽. BswM이 초기화해야 하는 모듈은 EcuM 컨테이너 EcuMDriverInitListBswM에 설명되어 있습니다 SWS EcuM 224쪽. 가이드의 예제에서 초기화는 다음과 같이 진행됩니다 Mode-Mgmt-Guide 36쪽, NV-Data-Guide 20쪽:

  1. DEFERRED 규칙이 NVRAM 드라이버를 초기화하고 NvM_ReadAll을(를) 트리거합니다.
  2. NvM이 BswM_NvM_CurrentJobMode을(를) 통해 작업 완료를 보고합니다 [SWS_BswM_00152].
  3. 이 알림은 나머지 초기화 및 ECU_RUN(으)로의 전환을 트리거합니다.

가이드에서는 이 API에 대해 여전히 uint8 매개변수를 보여줍니다 ServiceId Mode-Mgmt-Guide 26쪽. 그러나 R20-11에서 기준이 되는 것은 NvM_MultiBlockRequestType을(를) 포함하는 시그니처입니다 [SWS_BswM_00152].

NvM_ReadAll을 사용한 규칙 기반 초기화BSW-Zyklustask (SchM)BswMNvMRTEUse Case: EcuMode = ECU_STARTUP_ONEBswM_MainFunction()Regel InitBlockII (DEFERRED) wahr:Spi/Eep/Fls initialisierenEcuMode := ECU_STARTUP_TWONvM_Init()NvM_ReadAll()loop다중 블록 작업이 완료될 때까지NvM_MainFunction()BswM_NvM_CurrentJobMode(ReadAll, NVM_REQ_OK)즉시 평가 또는 다음BswMRequestProcessing에 따른 MainFunction 실행BswM_MainFunction()Regel NvMReadAllFinished wahr:restliche BSW initialisieren, EcuMode := ECU_RUNRte_Start(), Rte_Init(), Rte_StartTiming()

시퀀스 다이어그램: NvM_ReadAll, NvM의 피드백 및 후속 RTE 시작을 포함하는 규칙 기반 두 번째 초기화 단계. 출처: [SWS_BswM_00152], [SWS_BswM_00075], Mode-Mgmt-Guide 36쪽, NV-Data-Guide 20쪽

NV 가이드에 따르면 셧다운 시 BswM은 변경된 블록을 기록할 책임이 있으며, 예제에서는 NvM_WriteAll을(를) 통해 수행됩니다 NV-Data-Guide 41쪽. 또한 NvM은 WriteAll의 중단을 작업 모드 표시 SWS NvM 155쪽을(를) 통해 BswM에 보고합니다. OffPreOS 시퀀스에서 EcuM은 첫 번째 단계로 BswM을 초기화 해제합니다 SWS EcuM 50쪽. BswM_Deinit [SWS_BswM_00119] 이후에는 요청이 수신되거나 MainFunction이 호출되더라도 더 이상 모드 처리가 발생하지 않습니다 [SWS_BswM_00120].

EcuM과의 상호작용: ECU Mode Handling 및 웨이크업 소스

ECU Mode Handling 동안 EcuM은 SW-C의 RUN 및 POST_RUN 요청을 중재합니다. 자체 상태 머신은 가지고 있지 않으며, 오직 BswM만이 전이가 발생하는 시점을 결정합니다 SWS EcuM 99쪽. 시퀀스 Mode-Mgmt-Guide 34쪽:

  1. EcuM은 BswM_EcuM_RequestedState을(를) 통해 RUN Request Protocol의 결과를 보고합니다 [SWS_BswM_91004].
  2. BswM은 EcuM_SetState을(를) 통해 상태를 설정합니다.
  3. EcuM은 해당 모드를 RTE에 보고합니다.
  4. RTE의 피드백 후에 EcuM은 BswM_EcuM_CurrentState을(를) 호출합니다 [SWS_BswM_91003].

상태는 ECUM_STATE_STARTUP, ECUM_STATE_APP_RUN, ECUM_STATE_APP_POST_RUN, ECUM_STATE_SHUTDOWN 및 ECUM_STATE_SLEEP입니다 Mode-Mgmt-Guide 34쪽. 이 결합을 통해 고정 상태 머신을 갖춘 EcuM용으로 설계된 SW-C를 재사용할 수 있습니다. 이를 위한 호환성 SW-C는 필요하지 않습니다 Mode-Mgmt-Guide 61쪽.

SW-C, EcuM, BswM 및 RTE 간의 ECU 모드 처리SW-C (EcuM User)EcuMBswMRTERUN anfordern / freigeben(EcuM_StateRequest)RUN Request Protocol:Anforderungen arbitrierenBswM_EcuM_RequestedState(State, CurrentState)규칙이 전환을 결정함EcuM_SetState(State)Modus melden (Rte_Switch_currentMode)RTE가 해당 모드의 모든 러너블을 실행함피드백BswM_EcuM_CurrentState(CurrentState)

시퀀스 다이어그램: EcuM이 RUN 요청을 중재하고, BswM이 전이를 결정하며, RTE에 정보가 전달되고, 확인 응답이 CurrentState로 BswM에 반환됨. 출처: [SWS_BswM_91004], [SWS_BswM_91003], SWS EcuM 99쪽, Mode-Mgmt-Guide 34쪽, Mode-Mgmt-Guide 61쪽

EcuM은 BswM_EcuM_CurrentWakeup을(를) 통해 웨이크업 소스의 상태 변경을 보고합니다 [SWS_BswM_00131]. 웨이크업 소스의 상태 머신에서 NONE, PENDING, VALIDATED 및 EXPIRED 상태 각각은 진입 시 이 API를 호출합니다 SWS EcuM 60쪽. 세부 사항:

  • EcuM이 이벤트를 검증하면 VALIDATED를 보고합니다 SWS EcuM 134쪽.
  • 타임아웃까지 검증이 성공하지 못하면 EXPIRED를 보고합니다 SWS EcuM 63쪽.
  • GoSleep 시퀀스에서 ECUM_WKSTATUS_NONE을(를) 사용하여 소스를 리셋합니다 SWS EcuM 54쪽.
  • Poll 시퀀스에서는 검증 필요 여부에 따라 PENDING 또는 VALIDATED를 보고합니다 SWS EcuM 57쪽.

웨이크업 소스마다 하나의 BswMEcuMWakeupSource이(가) 생성됩니다 Mode-Mgmt-Guide 29쪽.

wakeup poweron Power On none ECUM_WKSTATUS_NONE entry / BswM_EcuM_CurrentWakeup(sources, NONE) poweron->none Initial pending ECUM_WKSTATUS_PENDING entry / BswM_EcuM_CurrentWakeup(sources, PENDING) entry / EcuM_StartWakeupSources() do / Validierungssequenz none->pending EcuM_SetWakeupEvent [검증 필요] validated ECUM_WKSTATUS_VALIDATED entry / BswM_EcuM_CurrentWakeup(sources, VALIDATED) entry / ComM_EcuM_WakeUpIndication() none->validated 웨이크업 감지됨 [검증 없음] pending->validated EcuM_ValidateWakeupEvent expired ECUM_WKSTATUS_EXPIRED entry / BswM_EcuM_CurrentWakeup(sources, EXPIRED) entry / EcuM_StopWakeupSources() pending->expired Validierungs-Timeout abgelaufen validated->none 리셋, 예: GoSleep (해석) expired->none 리셋 (해석)

상태 다이어그램: EcuM 내 웨이크업 소스의 상태; 각 진입 시 BswM으로의 알림이 생성됨. 출처: [SWS_BswM_00131], SWS EcuM 60쪽, SWS EcuM 57쪽, SWS EcuM 63쪽

통신 제어: 버스, Partial Networks, 진단 및 서비스

전형적인 사용 사례는 I-PDU 그룹의 활성화입니다. 가이드에서는 CanSM 표시의 규칙이 CAN 채널의 I-PDU 그룹을 활성화합니다 Mode-Mgmt-Guide 32쪽. 이를 위해 CanSM은 상태 CANSM_BSWM_NO_COMMUNICATION, CANSM_BSWM_SILENT_COMMUNICATION, CANSM_BSWM_FULL_COMMUNICATION 및 CANSM_BSWM_BUS_OFF을(를) 보고합니다 [SWS_BswM_00049], Mode-Mgmt-Guide 22쪽. 예를 들어 효과 E_TX_ON 발생 시 FULL_COMMUNICATION 상태를 보고합니다 SWS CanSM 65쪽.

Partial Networks의 경우 ComM은 PNC의 모든 상태 변경을 BswM_ComM_CurrentPNCMode을(를) 통해 보고합니다 [SWS_BswM_00148], SWS ComM 35쪽. 이를 통해 BswM은 이더넷 스위치 포트 그룹을 전환합니다 Mode-Mgmt-Guide 49쪽:

  • BswM은 PNC와 EthIfSwitchPortGroup 간의 매핑을 알고 있습니다.
  • BswM은 ETH_MODE_ACTIVE 또는 ETH_MODE_DOWN을(를) 사용하여 EthIf_SwitchPortGroupRequestMode을(를) 호출합니다.
  • EthIf는 결과 그룹 링크 상태를 BswM_EthIf_PortGroupLinkStateChg을(를) 통해 회신합니다 [SWS_BswM_91001], SWS EthIf 92쪽.
이더넷 포트 그룹의 PNC 제어 스위칭ComMBswMEthIfEthSwt / EthTrcvEthSMUse Case: PNC1이 요청됨BswM_ComM_CurrentPNCMode(PNC1, COMM_PNC_REQUESTED)Regel: PNC1 angefordertEthIfSwtPortGroup1에 PNC1 할당EthIf_SwitchPortGroupRequestMode(EthSwtPortGroup1, ETH_MODE_ACTIVE)Anforderungen je Port-Gruppe verwalten,EthSwtPorts 켜기 또는 끄기loopEthIf_MainFunctionState: 그룹의 모든 포트EthSwt_GetLinkState / EthTrcv_GetLinkStateLink-ZustandBswM_EthIf_PortGroupLinkStateChg(PortGroupIdx, ETHTRCV_LINK_STATE_ACTIVE)Transceiver-Link-Zustand meldenUse Case: PNC1이 해제됨BswM_ComM_CurrentPNCMode(PNC1, freigegeben)EthIf_SwitchPortGroupRequestMode(EthSwtPortGroup1, ETH_MODE_DOWN)

시퀀스 다이어그램: PNC 요청 및 해제가 BswM 규칙을 통해 이더넷 포트 그룹을 전환함; EthIf가 결정된 링크 상태를 BswM으로 회신함. 출처: [SWS_BswM_00148], [SWS_BswM_91001], Mode-Mgmt-Guide 49쪽, SWS EthIf 92쪽

진단 역시 BswM에 보고합니다:

  • UDS 서비스 0x28(CommunicationControl): DCM은 영향을 받는 네트워크마다 BswM_Dcm_CommunicationMode_CurrentState을(를) 호출합니다 [SWS_BswM_00048], SWS DCM 147쪽. 동작은 BswMDcmComModeRequest을(를) 통해 구성되며, 이것의 BswMDcmComMChannelRef은(는) 인수 Network에 해당합니다 SWS BswM 64쪽.
  • 부트로더 점프: 이때 애플리케이션이 업데이트된 경우 DCM은 BswM_Dcm_ApplicationUpdated을(를) 보고합니다 [SWS_BswM_00158], SWS DCM 231쪽.
  • J1939: BswM_J1939DcmBroadcastStatus은(는) 처음 16개 채널만 다루는 ComMChannelId당 비트 마스크를 전달합니다 [SWS_BswM_00165], SWS BswM 70쪽. J1939Nm 상태에 따라 BswM은 Com I-PDU 그룹, PduR 라우팅 경로 그룹 및 J1939Rm의 요청 처리를 전환합니다 Mode-Mgmt-Guide 45쪽.

Service Discovery는 Client Services, Consumed Eventgroups 및 Event Handlers의 상태를 보고합니다 [SWS_BswM_00204], [SWS_BswM_00207], [SWS_BswM_00210]. Sd의 경우 이러한 호출은 선택적 인터페이스입니다 SWS Sd 122쪽.

오류가 발생한 경우의 동작

BswMDevErrorDetect이(가) 활성화되어 있으면 입력 API는 먼저 BswM이 초기화되었는지 확인합니다. 그렇지 않으면 요청을 무시하고 BSWM_E_UNINIT을(를) DET에 보고합니다(예: [SWS_BswM_00080], [SWS_BswM_00081], [SWS_BswM_00149], [SWS_BswM_00112], [SWS_BswM_00086], [SWS_BswM_00132]). 또한 전달된 값이 허용 범위 내에 있는지 확인합니다. 위반 시 요청은 마찬가지로 무시되고 BSWM_E_REQ_MODE_OUT_OF_RANGE이(가) 보고됩니다(예: [SWS_BswM_00095], [SWS_BswM_00097], [SWS_BswM_00150], [SWS_BswM_00113], [SWS_BswM_00110], [SWS_BswM_00154]). 초기화 전에 BswM_MainFunction이(가) 호출되면 오류를 보고하지 않고 즉시 반환됩니다 [SWS_BswM_00076].

[SWS_BswM_00230]에 따른 BswM의 개발 오류 코드:

실수코드값
초기화 전 호출됨BSWM_E_UNINIT0x01
널 포인터가 전달됨BSWM_E_NULL_POINTER0x02
매개변수가 유효하지 않음(불특정)BSWM_E_PARAM_INVALID0x03
요청 사용자 범위를 벗어남BSWM_E_REQ_USER_OUT_OF_RANGE0x04
요청 모드 범위를 벗어남BSWM_E_REQ_MODE_OUT_OF_RANGE0x05
구성이 일치하지 않음BSWM_E_PARAM_CONFIG0x06

동작이 E_NOT_OK을(를) 반환하면 BswM은 런타임 오류 BSWM_E_ACTION_FAILED을(를) 보고합니다. 이 값은 0x80과 0xFF 사이이며 BswMReportFailRuntimeErrorId에서 구성됩니다 [SWS_BswM_00238]. BswM은 하나의 BswMModeInitValue에 대해 BswMBswModeInitValue 및 BswMCompuScaleModeValue을(를) 모두 포함하는 구성을 거부합니다 SWS BswM 30쪽. 코드 BSWM_E_REQ_USER_OUT_OF_RANGE은(는) BswM_RequestMode에서 requesting_user을(를) 검사하는 데 사용되는 것으로 보입니다. 페이로드에서 해당 위치가 잘려 있으므로 이는 하나의 해석입니다 [SWS_BswM_00230], SWS BswM 86쪽. 질문 Q-60c14136e0238954 (열림)

다른 모듈의 오류는 일반 입력으로 BswM에 도달합니다:

  • Bus-off: CanSM은 먼저 BswM에 CANSM_BSWM_BUS_OFF을(를) 보고한 다음 ComM에 COMM_SILENT_COMMUNICATION을(를) 보고합니다. 추가로 DEM 이벤트를 PRE_FAILED로 설정합니다 SWS CanSM 70쪽, Error-Description 19쪽.
  • 파티션 리셋: WdgM이 BswM_WdgM_RequestPartitionReset을(를) 통해 이를 요청합니다 [SWS_BswM_00157], Mode-Mgmt-Guide 30쪽.
  • BswM 파티션 재시작: 그 후 BswM_BswMPartitionRestarted이(가) 호출됩니다 [SWS_BswM_00193]. 그러면 규칙이 해당 파티션의 모듈을 목표에 맞게 재초기화할 수 있습니다 Mode-Mgmt-Guide 38쪽.

더 자세한 증거

페이로드에 제공된 사양 발췌본을 기반으로 AI가 생성한 모듈 가이드입니다. 개별 문서 위치는 다른 릴리스에서 가져온 것이며, R20-11의 규범적 기준은 링크된 Requirements입니다. 해석으로 표시된 진술은 가정입니다.

BSW Mode Manager (BswM)

Arbitrates mode requests and executes action lists to control system state transitions.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

함수 BswM_BswMPartitionRestarted [SWS_BswM_00193] 📄 PDF

void BswM_BswMPartitionRestarted (void);

Function called by Restart Task if the partition containing the Bsw M has been restarted.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 789aeb35d50a 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

함수 BswM_BswMPartitionRestarted은 BswM이 실행되는 파티션의 재시작을 BswM 모듈에 알리는 역할을 합니다[SWS_BswM_00193].

사용법 및 의미론

호출은 재시작 후 파티션이 복원되는 즉시 운영체제의 Restart 태스크에 의해 동기식으로 수행됩니다[SWS_BswM_00193]. 이 함수는 서비스 ID 0x1e을 가지며 헤더 파일 BswM.h를 통해 선언되어 있습니다[SWS_BswM_00193]. 전달 매개변수(입력 및 출력 매개변수 모두 없음)를 허용하지 않으며 반환값(void)을 갖지 않습니다[SWS_BswM_00193].

동시성 및 실행

명세서에 따르면 BswM_BswMPartitionRestarted은 재진입 가능으로 분류됩니다[SWS_BswM_00193]. 이를 통해 Restart 태스크 컨텍스트에서의 호출이 가능해지며, 호출자는 호출 전에 해당 파티션의 재시작이 올바르게 시작되었는지 확인해야 합니다.

오류 처리 및 상호 작용

명세서는 이 서비스에 대해 특정한 반환값이나 DET/DEM 오류 코드를 정의하지 않습니다[SWS_BswM_00193]. 상호작용은 BswM이 새로 시작된 파티션에 대응할 수 있도록 이 알림을 트리거하는 OS Restart 태스크로 한정됩니다[SWS_BswM_00193].

이 사용 지침은 명세서 SWS_BswM_00193을 기반으로 자동 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 BswM_CanSM_CurrentState [SWS_BswM_00049] 📄 PDF

void BswM_CanSM_CurrentState (NetworkHandleType Network, CanSM_BswMCurrentStateType CurrentState);

Function called by Can SM to indicate its current state. Ava ilable via Bsw M_ Can SM.h

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: cfb9d1295953 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용법 및 시그니처

함수 BswM_CanSM_CurrentState은(는) CAN 채널의 현재 상태를 BSW Mode Manager(BswM)에 보고하기 위해 CAN State Manager(CanSM)에 의해 호출됩니다 [SWS_BswM_00049]. 서비스 ID 0x05을(를) 가지며 헤더 파일 BswM_CanSM.h을(를) 통해 제공됩니다 [SWS_BswM_00049].

호출은 동기식으로 수행되며 반환값(void)을 반환하지 않습니다 [SWS_BswM_00049]. 인터페이스는 두 개의 입력 매개변수를 처리합니다 [SWS_BswM_00049]:

  • Network (타입 NetworkHandleType): 보고된 상태 변경이 참조하는 해당 CAN 채널을 지정합니다 [SWS_BswM_00049].
  • CurrentState (타입 CanSM_BswMCurrentStateType): 각 CAN 채널의 새로 취한 상태를 전달합니다 [SWS_BswM_00049].

이 서비스 함수에는 출력 매개변수나 입출력 매개변수가 모두 제공되지 않습니다 [SWS_BswM_00049].

동시성 및 제약사항

명세서는 BswM_CanSM_CurrentState을(를) 재진입 가능한 것으로 명시합니다 [SWS_BswM_00049]. 따라서 여러 네트워크 채널의 병렬 이벤트 시 동시에 호출될 수 있습니다. 호출이 동기식으로 수행되고 특정 태스크 제한이 지정되어 있지 않으므로, 호출 컨텍스트는 호출하는 CanSM의 실행 컨텍스트와 일치할 것으로 추정됩니다 [SWS_BswM_00049]. 질문 Q-0edc8b6c1cb10f6d (열림)

오류 처리 및 상호 작용

명세서에는 이 함수 호출에 대해 DET 또는 DEM으로의 특정 오류 코드, 반환값 또는 알림이 문서화되어 있지 않습니다 [SWS_BswM_00049]. 이 함수는 CanSM과 BswM 간의 상호작용에서 정의된 보고 인터페이스 역할을 하며, 이를 통해 현재 채널 상태가 BswM의 모드 관리에 반영됩니다 [SWS_BswM_00049].

이 사용 지침은 AI에 의해 생성되었으며 명시된 AUTOSAR 명세서에만 근거합니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 BswM_ComM_CurrentMode [SWS_BswM_00047] 📄 PDF

void BswM_ComM_CurrentMode (NetworkHandleType Network, ComM_ModeType RequestedMode);

Function called by Com M to indicate the current communication mode of a Com M channel.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: e558456afa80 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

함수 BswM_ComM_CurrentMode은(는) AUTOSAR Classic 모듈 BswM(Basic Software Mode Manager)에서 Communication Manager(ComM)를 위한 표준화된 알림 인터페이스 역할을 합니다 [SWS_BswM_00047]. 이는 특정 통신 채널의 현재 통신 모드를 BswM에 표시하기 위해 ComM에 의해 호출됩니다 [SWS_BswM_00047]. 이 인터페이스의 선언은 헤더 파일 BswM_ComM.h을(를) 통해 제공되며, 서비스에는 16진수 서비스 ID 0x0e이(가) 할당되어 있습니다 [SWS_BswM_00047].

함수 시그니처는 void BswM_ComM_CurrentMode (NetworkHandleType Network, ComM_ModeType RequestedMode)이며 두 개의 불변 입력 매개변수를 필요로 합니다 [SWS_BswM_00047]:

  • Network (데이터 타입 NetworkHandleType): 상태가 표시되고 해당 상태가 일치하는 구체적인 ComM 통신 채널을 지정합니다 [SWS_BswM_00047].
  • RequestedMode (데이터 타입 ComM_ModeType): 지정된 ComM 통신 채널의 현재 상태 또는 모드를 BswM 모듈로 전달합니다 [SWS_BswM_00047].

인터페이스는 반환값(void)을 갖지 않으며, 명세서에는 출력 매개변수(out)나 복합 입출력 매개변수(inout)도 정의되어 있지 않습니다 [SWS_BswM_00047]. 함수의 실행 동작은 동기식(Synchronous)(으)로 지정되어 있습니다 [SWS_BswM_00047]. 동시성 및 동시 호출 컨텍스트와 관련하여 BswM_ComM_CurrentMode은(는) 재진입 가능(Reentrant)(으)로 분류됩니다 [SWS_BswM_00047].

오류 처리와 관련하여 요소 명세서에는 이 함수에 대한 특정 오류 코드, 반환값 또는 DET나 DEM으로의 오류 메시지가 제공되지 않습니다 [SWS_BswM_00047]. 또한 추가적인 순서 조건이나 관련 요구사항에 대한 종속성도 등록되어 있지 않습니다 [SWS_BswM_00047].

이 사용 지침은 요구사항 SWS_BswM_00047을 기반으로 자동으로 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 BswM_ComM_CurrentPNCMode [SWS_BswM_00148] 📄 PDF

void BswM_ComM_CurrentPNCMode (PNCHandleType PNC, ComM_PncModeType CurrentPncMode);

Function is called by Com M to indicate the current mode of the PNC. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_BSWModeManager

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 7867e89093de 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

함수 BswM_ComM_CurrentPNCMode은 Communication Manager와 BSW Mode Manager 간의 알림 인터페이스 역할을 합니다. [SWS_BswM_00148]에 따라, Partial Network Cluster(PNC)의 현재 모드를 BswM에 전달하기 위해 ComM에 의해 호출됩니다.

사용법 및 호출 컨텍스트

이 인터페이스는 헤더 파일 BswM_ComM.h을 통해 제공되며 서비스 ID 0x15을 갖습니다([SWS_BswM_00148]). 호출은 동기식으로 실행되며 반환값을 제공하지 않습니다(void). 오직 두 개의 입력 매개변수만 전달됩니다:

  • PNC(타입 PNCHandleType): 상태가 보고되는 해당 Partial Network Cluster의 핸들입니다.
  • CurrentPncMode(타입 ComM_PncModeType): 지정된 PNC의 현재 진입된 모드입니다.

[SWS_BswM_00148]에 따르면 추가적인 입력 또는 출력 매개변수는 제공되지 않습니다.

동시성 및 제약사항

동시성과 관련하여 BswM_ComM_CurrentPNCMode은 [SWS_BswM_00148]에 따라 재진입 가능으로 명세되어 있어 ComM로부터의 동시 호출이 허용됩니다. 페이로드에는 특정 오류 코드나 DET 또는 DEM을 통한 오류 처리 메커니즘이 정의되어 있지 않습니다. 전달된 상태는 BswM 내부에서 규칙 평가 및 동작을 위한 트리거 역할을 할 것으로 보입니다(해석: 페이로드는 모드 표시를 증명하지만 내부 BswM 동작을 명세하지는 않습니다). 질문 Q-2527fc2eda881b62 (열림)

이 사용 지침은 AUTOSAR CP R20-11 명세를 기반으로 합니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 BswM_ComM_InitiateReset [SWS_BswM_00217] 📄 PDF

void BswM_ComM_InitiateReset (void);

Function is called by Com M to signal a shutdown.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: ed83eb94f632 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

함수 BswM_ComM_InitiateReset은 보류 중인 셧다운을 BswM에 신호로 알리기 위해 Communication Manager(ComM)에 의해 호출됩니다[SWS_BswM_00217].

인터페이스 및 호출 시맨틱

이 인터페이스는 시그니처 void BswM_ComM_InitiateReset(void)을 가지며 헤더 파일 BswM_ComM.h을 통해 선언됩니다[SWS_BswM_00217]. 입력, 출력 또는 입출력 매개변수를 처리하지 않으며 반환값을 갖지 않습니다[SWS_BswM_00217]. 호출은 동기식으로 처리되며 서비스 ID 0x22로 명세되어 있습니다[SWS_BswM_00217].

동시성 및 제약사항

이 함수는 재진입 불가능(Non Reentrant)으로 정의되어 있습니다[SWS_BswM_00217]. 따라서 호출자는 호출이 순차적으로 이루어지고 병렬 또는 중복 실행이 발생하지 않도록 보장해야 합니다. 처리가 동기식으로 진행되므로 이 호출은 BswM에서의 처리가 완료될 때까지 실행 컨텍스트를 블록합니다.

오류 처리 및 상호 작용

명세서에서 이 서비스에 대해 특정 오류 코드, 반환값 또는 DET나 DEM으로의 오류 보고는 정의되어 있지 않습니다[SWS_BswM_00217]. 명세서에 따르면 상호작용은 ComM의 셧다운 신호 전달을 수신하는 것으로 제한됩니다[SWS_BswM_00217]. 해석: 이 보고는 BswM에서 셧다운 또는 리셋을 수행하기 위한 구성된 동작의 트리거 역할을 할 것으로 보입니다. 질문 Q-adf160d8d0fe2c97 (열림)

이 사용 지침은 AUTOSAR R20-11의 명세 SWS_BswM_00217을 기반으로 합니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 BswM_Dcm_ApplicationUpdated [SWS_BswM_00158] 📄 PDF

void BswM_Dcm_ApplicationUpdated (void);

This function is called by the DCM in order to report an updated application.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 5e2894c99c27 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용법 및 호출 컨텍스트

함수 BswM_Dcm_ApplicationUpdated은 [SWS_BswM_00158]에 따라 응용 프로그램이 성공적으로 업데이트되었음을 BswM에 보고하기 위해 Diagnostic Communication Manager(DCM)에 의해 호출됩니다. 이 서비스는 헤더 파일 BswM_Dcm.h에 선언되어 있으며 서비스 ID 0x14을 갖습니다. 이 인터페이스는 전달 매개변수(void)를 기대하지 않으며 호출자에게 값을 반환하지 않습니다.

동기성 및 동시성

[SWS_BswM_00158]에 따라 이 함수는 동기식 및 재진입 가능으로 명세되어 있습니다. 따라서 호출자는 BswM 내에서 호출의 즉각적인 처리가 완료될 때까지 DCM의 실행 컨텍스트에 유지됩니다. 선언된 재진입성 특성은 원칙적으로 서로 다른 태스크 컨텍스트로부터 인터페이스에 동시 접근하는 것을 허용합니다.

오류 처리 및 상호 작용

BswM_Dcm_ApplicationUpdated에 대해 [SWS_BswM_00158]에는 특정 오류 코드나 DET 또는 DEM으로의 알림이 정의되어 있지 않습니다. 이 호출은 BSW 모드 관리에 대한 순수한 상태 보고 역할을 합니다. 이 알림은 BswM에서 수정된 응용 소프트웨어에 전체 시스템을 맞추기 위한 내부 규칙의 재평가 및 후속 모드 전환을 위한 지표 및 트리거 역할을 할 것으로 보입니다. 질문 Q-119282a4a72622b5 (열림)

이 사용 지침은 AUTOSAR R20-11 사양을 바탕으로 자동 생성되었습니다.

함수 BswM_Dcm_CommunicationMode_CurrentState [SWS_BswM_00048] 📄 PDF

void BswM_Dcm_CommunicationMode_CurrentState (NetworkHandleType Network, Dcm_CommunicationModeType RequestedMode);

Function called by DCM to inform the Bsw M about the current state of the communication mode.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 63cbbb29388f 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용

함수 BswM_Dcm_CommunicationMode_CurrentState은(는) Basic Software Mode Manager(BswM)에 통신 모드의 현재 상태를 알리기 위해 Diagnostic Communication Manager(DCM) 모듈에 의해 호출됩니다 [SWS_BswM_00048]. 이 인터페이스의 선언은 헤더 파일 BswM_Dcm.h을(를) 통해 제공됩니다 [SWS_BswM_00048].

함수의 C 구문은 void BswM_Dcm_CommunicationMode_CurrentState (NetworkHandleType Network, Dcm_CommunicationModeType RequestedMode)입니다 [SWS_BswM_00048]. DCM이 호출할 때 두 개의 입력 매개변수가 전달됩니다 [SWS_BswM_00048]:

  • Network (타입 NetworkHandleType): 진단 모드가 참조하는 통신 채널을 나타냅니다 [SWS_BswM_00048].
  • RequestedMode (타입 Dcm_CommunicationModeType): 요청된 진단 통신 모드를 BswM에 전송합니다 [SWS_BswM_00048].

이 인터페이스는 반환값을 갖지 않으며(반환 타입 void), 수정 입출력 매개변수(Inout)나 출력 매개변수(Out)를 사용하지 않습니다 [SWS_BswM_00048].

동시성 및 특성

함수 호출은 동기적으로 실행되며 재진입 가능으로 명시되어 있습니다 [SWS_BswM_00048]. 서비스 이름은 BswM_Dcm_CommunicationMode_CurrentState(으)로 정의되며 16진수 표현으로 서비스 ID 0x06을(를) 갖습니다 [SWS_BswM_00048].

상호 작용

해석: BswM은 전달된 통신 모드 상태를 모드 규칙 평가를 위한 기준으로 사용하여 BswM에서 후속 작업을 트리거하는 것으로 보입니다 [SWS_BswM_00048]. 질문 Q-1031b1a7ae000c2a (열림)

이 사용 지침은 자동으로 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 BswM_Deinit [SWS_BswM_00119] 📄 PDF

void BswM_Deinit (void);

Deinitializes the BSW Mode Manager.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 3aaac40d3e61 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용법 및 의미론

함수 BswM_Deinit은 BSW Mode Manager를 초기화 해제하는 역할을 합니다([SWS_BswM_00119]). 실행은 전달 매개변수 및 반환값 없이 서비스 ID 0x04로 동기식으로 이루어집니다([SWS_BswM_00119]). 선언은 헤더 파일 BswM.h를 통해 제공됩니다([SWS_BswM_00119]).

동시성 및 제약사항

이 인터페이스는 재진입 불가능(Non Reentrant)으로 명세되어 있습니다([SWS_BswM_00119]). 따라서 여러 태스크 컨텍스트로부터의 경쟁적 호출이나 중단 호출은 허용되지 않습니다. 해석: 초기화 해제는 일반적으로 ECU State Manager와 같은 상위 상태 관리를 통해 제어 장치의 셧다운 단계 동안 순차적으로 수행될 것으로 보입니다. 질문 Q-0a5d218bfe9fed04 (열림)

초기화 해제 후 상호작용 및 동작

BswM_Deinit 호출 후 BswM 모듈은 더 이상 모드 처리를 수행하지 않습니다([SWS_BswM_00120]). 이러한 중단은 외부 또는 내부 모드 요청이 모듈에 전달되거나 BswM의 주기적 메인 함수가 계속 실행 또는 호출되더라도 유지됩니다([SWS_BswM_00120]).

이 텍스트는 AUTOSAR 사양을 기반으로 AI에 의해 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 BswM_EcuM_CurrentState [SWS_BswM_91003] 📄 PDF

void BswM_EcuM_CurrentState (EcuM_StateType CurrentState);

Function called Ecu M to indicate the current ECU Operation Mode.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: fb0fde71b6ce 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

동기 서비스 함수 BswM_EcuM_CurrentState은(는) BswM에 현재 ECU 작동 모드를 표시하기 위해 EcuM 모듈에 의해 호출됩니다 [SWS_BswM_91003]. 이 인터페이스는 서비스 ID 0x28을(를) 가지며 헤더 파일 BswM_EcuM.h을(를) 통해 제공됩니다 [SWS_BswM_91003].

사용

함수 호출 시 BswM에 ECU의 요청된 상태가 동기적으로 전달됩니다 [SWS_BswM_91003]. 전달은 단일 입력 매개변수를 통해 이루어집니다:

  • Current State (in): 데이터 타입 EcuM_StateType을(를) 사용하여 요청된 ECU 작동 모드를 전달합니다 [SWS_BswM_91003].

이 함수는 입출력 매개변수(inout)나 출력 매개변수(out)를 정의하지 않으며 반환값을 갖지 않습니다(void) [SWS_BswM_91003].

동시성 및 제약사항

동시성 동작과 관련하여 BswM_EcuM_CurrentState은(는) 재진입 가능으로 명시되어 있습니다 [SWS_BswM_91003]. 따라서 예를 들어 호출자의 서로 다른 실행 경로가 활성화되어 있는 경우 제한 없이 동시 호출이 가능합니다 [SWS_BswM_91003].

이 서비스에 대한 사양 범위에는 특정 오류 코드, DET 또는 DEM 모듈에 대한 알림 및 별도의 오류 처리 메커니즘이 나열되어 있지 않습니다 [SWS_BswM_91003].

본 사용 지침은 AUTOSAR R20-11을 기반으로 자동 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 BswM_EcuM_CurrentWakeup [SWS_BswM_00131] 📄 PDF

void BswM_EcuM_CurrentWakeup (EcuM_WakeupSourceType source, EcuM_WakeupStatusType state);

Function called by Ecu M to indicate the current state of a wakeup source.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 9c2c2f56cbd3 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

함수 BswM_EcuM_CurrentWakeup은(는) 하나 이상의 웨이크업 소스의 현재 상태를 보고하기 위해 EcuM 모듈에 의해 호출되는 BswM의 인터페이스 역할을 합니다 [SWS_BswM_00131]. 선언은 헤더 파일 BswM_EcuM.h을(를) 통해 제공됩니다 [SWS_BswM_00131].

함수 호출 시 다음 전달 매개변수가 전송됩니다 [SWS_BswM_00131]:

  • source (타입 EcuM_WakeupSourceType): 상태가 변경된 웨이크업 소스를 지정합니다 [SWS_BswM_00131].
  • state (타입 EcuM_WakeupStatusType): 해당 웨이크업 소스의 새로운 상태를 나타냅니다 [SWS_BswM_00131].

이 함수는 반환값을 갖지 않으며(void), 입출력 또는 순수 출력 매개변수를 포함하지 않습니다 [SWS_BswM_00131]. 연관된 서비스 ID는 0x10입니다 [SWS_BswM_00131].

실행 동작과 관련하여 함수 호출은 동기로 명시되어 있습니다 [SWS_BswM_00131]. 또한 이 함수는 재진입 가능으로 분류되어 필요 시 서로 다른 컨텍스트에서 동시에 호출될 수 있습니다 [SWS_BswM_00131].

이 텍스트는 사양을 기반으로 AI에 의해 작성되었습니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 BswM_EcuM_RequestedState [SWS_BswM_91004] 📄 PDF

void BswM_EcuM_RequestedState (EcuM_StateType State, EcuM_RunStatusType CurrentState);

Function called by Ecu M notify about current Status of the Run Request Protocol.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: d744d4082d78 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용법 및 의미론

함수 BswM_EcuM_RequestedState은(는) BswM 모듈에 Run Request Protocols의 현재 상태를 알리기 위해 ECU 상태 관리자(EcuM)에 의해 호출되는 알림 인터페이스 역할을 합니다 [SWS_BswM_91004]. 호출은 동기적으로 이루어지며 재진입 가능으로 명시되어 있어 동시 컨텍스트에서 실행될 수 있습니다 [SWS_BswM_91004]. 선언은 서비스 ID 0x29과(와) 함께 헤더 파일 BswM_EcuM.h을(를) 통해 제공됩니다 [SWS_BswM_91004].

매개변수 및 반환값

이 인터페이스는 반환값을 갖지 않으며(반환 타입 void), 두 개의 순수 입력 매개변수를 기대합니다 [SWS_BswM_91004]:

  • State (타입 EcuM_StateType): EcuM에 의해 요청된 상태를 나타냅니다 [SWS_BswM_91004].
  • CurrentState (타입 EcuM_RunStatusType): Run Request Protocols의 결과 또는 현재 상태를 전달합니다 [SWS_BswM_91004].

이 함수에는 입출력 매개변수 또는 출력 매개변수가 제공되지 않습니다 [SWS_BswM_91004].

상호작용 및 통합

이 함수는 EcuM에 의해서만 호출됩니다. 해석: 전달된 상태는 기본 소프트웨어의 상위 작업을 트리거하기 위해 BswM 내부 규칙 평가 및 모드 제어에 사용될 것으로 보입니다 [SWS_BswM_91004]. 질문 Q-6cd81e44c9e2920a (열림) 사양에는 이 서비스에 대해 DET 또는 DEM에 대한 특정 오류 코드가 정의되어 있지 않습니다 [SWS_BswM_91004].

이 사용 지침은 자동으로 작성되었으며 AUTOSAR 릴리스 R20-11의 사양만을 기반으로 합니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 BswM_EthIf_PortGroupLinkStateChg [SWS_BswM_91001] 📄 PDF

void BswM_EthIf_PortGroupLinkStateChg (EthIf_SwitchPortGroupIdxType PortGroupIdx, EthTrcv_LinkStateType PortGroupState);

Function called by Eth If to indicate the link state change of a certain Ethernet switch port group.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 37554116ef85 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용

함수 BswM_EthIf_PortGroupLinkStateChg은 이더넷 스위치 포트 그룹의 연결 상태(링크 상태) 변경을 BswM에 알리기 위해 [SWS_BswM_91001]에 따라 모듈 EthIf에 의해 호출됩니다. 이 인터페이스는 서비스 ID 0x26을 가지며 헤더 파일 BswM_EthIf.h를 통해 제공됩니다[SWS_BswM_91001].

호출 시 두 개의 입력 매개변수가 전달됩니다:

  • PortGroupIdx: 이더넷 인터페이스 컨텍스트에서 해당 포트 그룹의 인덱스를 지정합니다[SWS_BswM_91001].
  • PortGroupState: 이더넷 트랜시버의 물리적 링크로부터 도출되는 포트 그룹의 상태를 나타냅니다. 유효한 상태는 링크가 끊어진 상태를 위한 ETHTRCV_LINK_STATE_DOWN 및 활성 링크를 위한 ETHTRCV_LINK_STATE_ACTIVE입니다[SWS_BswM_91001].

이 함수는 입출력 매개변수나 출력 매개변수를 갖지 않으며 값을 반환하지 않습니다(void)[SWS_BswM_91001].

동시성 및 제약사항

실행은 동기식으로 이루어지며 재진입 가능한(reentrant) 것으로 명시되어 있습니다[SWS_BswM_91001]. 이 인터페이스에는 특정 반환값, 오류 코드 또는 오류 메시지(DET/DEM)가 정의되어 있지 않습니다[SWS_BswM_91001].

상호 작용

해석: BswM은 전달된 링크 상태를 입력값으로 사용하여 상태 종속적 규칙을 평가하고 BSW 내에서 후속 작업이나 모드 전환을 트리거할 것으로 보입니다. 질문 Q-14285579acb760d5 (열림)

본 텍스트는 AI에 의해 작성되었으며 AUTOSAR 릴리스 R20-11의 규격을 기반으로 합니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 BswM_EthSM_CurrentState [SWS_BswM_00050] 📄 PDF

void BswM_EthSM_CurrentState (NetworkHandleType Network, EthSM_NetworkModeStateType CurrentState);

Function called by Eth SM to indicate its current state.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: f4b4cf6ab059 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

함수 BswM_EthSM_CurrentState은(는) BSW Mode Manager의 콜백 및 알림 인터페이스 역할을 합니다. 이는 통신 채널의 현재 상태를 BswM(으)로 전달하기 위해 [SWS_BswM_00050]에 따라 Ethernet State Manager(EthSM)에 의해 호출됩니다. 인터페이스의 선언은 헤더 BswM_EthSM.h을(를) 통해 제공되며 서비스 ID 0x0d을(를) 갖습니다.

사용 및 호출에는 [SWS_BswM_00050]에 따라 다음 규정이 적용됩니다:

  • 호출 시맨틱: 실행은 동기식으로 이루어집니다. 따라서 호출자는 함수가 상태 메시지 처리를 완료할 때까지 대기합니다.
  • 동시성: 서비스는 재진입 가능으로 명시되어 있습니다 [SWS_BswM_00050]. 따라서 서로 다른 네트워크 인스턴스에 대해 호출되거나 모듈 EthSM의 컨텍스트에서 동시에 호출될 수 있습니다.
  • 전달 매개변수: 해당 이더넷 네트워크가 NetworkHandleType 타입의 Network(으)로 전달되고, 보고된 상태가 EthSM_NetworkModeStateType 타입의 CurrentState(으)로 전달됩니다. 입출력 매개변수(inout/out)는 제공되지 않으며 반환값은 void입니다.

요소 명세서 [SWS_BswM_00050]에는 DET 또는 DEM으로의 특정 반환값이나 오류 메시지가 정의되어 있지 않습니다. 해석: 모듈 BswM은(는) 보고된 네트워크 상태를 내부에 저장하고, 구성된 규칙 평가 및 모드 변경 시작을 위한 조건으로 사용할 것으로 추정됩니다. 질문 Q-407156ff74cbab6f (열림)

이 사용 지침은 AUTOSAR 릴리스 R20-11 명세서를 기반으로 자동으로 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 BswM_FrSM_CurrentState [SWS_BswM_00051] 📄 PDF

void BswM_FrSM_CurrentState (NetworkHandleType Network, FrSM_BswM_StateType CurrentState);

Function called by Fr SM to indicate its current state.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 09e9d4f2c26f 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용법 및 호출 컨텍스트

함수 BswM_FrSM_CurrentState은(는) FlexRay 클러스터의 현재 상태를 보고하기 위해 FlexRay State Manager(FrSM)에 의해 호출되는 BswM의 콜백 또는 알림 인터페이스 역할을 합니다 [SWS_BswM_00051]. 함수 선언은 헤더 파일 BswM_FrSM.h을(를) 통해 제공됩니다 [SWS_BswM_00051]. 호출은 동기식으로 수행되며 반환값(void)을 반환하지 않습니다 [SWS_BswM_00051].

인터페이스는 두 개의 입력 매개변수를 정의합니다 [SWS_BswM_00051]:

  • Network (타입 NetworkHandleType): 상태 보고가 참조하는 해당 FlexRay 클러스터를 지정합니다 [SWS_BswM_00051].
  • CurrentState (타입 FrSM_BswM_StateType): 해당 FlexRay 클러스터의 현재 상태를 BswM으로 전달합니다 [SWS_BswM_00051].

이 함수에는 출력(out) 또는 입출력 매개변수(inout)가 존재하지 않습니다 [SWS_BswM_00051].

동시성 및 오류 처리

이 함수는 서비스 ID 0x0c(으)로 명시되어 있으며 재진입 가능한 것으로 표시되어 있습니다 [SWS_BswM_00051]. 오류 발생 시의 특정 오류 코드, 동작 또는 개발 오류(DET)나 진단 이벤트 관리(DEM)로의 알림은 본 서비스 명세서에 표시되어 있지 않습니다 [SWS_BswM_00051].

이 사용 지침은 AUTOSAR Classic Release R20-11 사양을 기반으로 자동으로 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 BswM_Init [SWS_BswM_00002] 📄 PDF

void BswM_Init (const BswM_ConfigType* ConfigPtr);

Initializes the BSW Mode Manager.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 5e70993e412e 출처 열린 질문 (2)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

동기 함수 BswM_Init은(는) 사양 [SWS_BswM_00002]에 따라 Basic Software Mode Manager(BswM)를 초기화하는 역할을 합니다. 이는 헤더 파일 BswM.h을(를) 통해 선언되며 서비스 ID 0x00을(를) 갖습니다 [SWS_BswM_00002].

매개변수 및 반환값

이 함수에는 유일한 입력 매개변수 ConfigPtr을(를) 통해 타입 BswM_ConfigType의 포스트 빌드 구성 데이터에 대한 포인터가 전달됩니다 [SWS_BswM_00002]. 출력 또는 입출력 매개변수는 존재하지 않으며, 반환값은 반환되지 않습니다 [SWS_BswM_00002].

동시성 및 실행 컨텍스트

실행은 동기적으로 이루어집니다. 재진입성과 관련한 모듈 동작은 조건부 재진입(Conditionally Reentrant)(으)로 명시되어 있습니다 [SWS_BswM_00002]. 해석상 이는 분리된 데이터 영역과 같은 특수한 시스템 조건 하에서만 동시 호출이 허용됨을 의미하는 것으로 보입니다. 질문 Q-c0063b2a12eb4f41 (열림) 또한 이 호출은 일반적으로 BswM의 다른 작업이 실행되기 전 시스템 초기화 과정에서 수행될 것으로 추정됩니다.

이 텍스트는 AUTOSAR 사양 R20-11을 기반으로 AI에 의해 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 BswM_J1939DcmBroadcastStatus [SWS_BswM_00165] 📄 PDF

void BswM_J1939DcmBroadcastStatus (uint16 NetworkMask);

This API tells the Bsw M the desired communication status of the available networks. The status will typically be activated via COM I - PDU group switches.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: f5a67b453f66 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

동기식 서비스 함수 BswM_J1939DcmBroadcastStatus(서비스 ID 0x1b)은 가용 네트워크의 원하는 통신 상태를 BSW Mode Manager에 전달합니다[SWS_BswM_00165]. 보고된 상태는 일반적으로 시스템에서 COM I-PDU 그룹 스위치(COM I-PDU group switches)의 전환을 통해 유효하게 적용됩니다[SWS_BswM_00165]. 인터페이스는 헤더 BswM_J1939Dcm.h를 통해 제공됩니다[SWS_BswM_00165].

매개변수와 시맨틱은 다음과 같이 명세되어 있습니다[SWS_BswM_00165]:

  • 전달 매개변수: 매개변수 NetworkMask을 통해 사용 가능한 네트워크당 1비트를 포함하는 비트 마스크가 전달됩니다. 각 비트 위치는 통신 채널 식별자ComMChannel.ComMChannelId에 해당하므로 채널 ID 0은 비트 0에 매핑됩니다.
  • 비트 의미: 값 1은 네트워크가 활성화됨(Network enabled)을 나타내고, 0은 비활성화된 네트워크(Network disabled)를 나타냅니다.
  • 반환값: 이 함수는 반환값을 갖지 않습니다(void).

동시성 및 제약 사항: 이 호출은 재진입 가능하도록 설계되었으며 동기식으로 동작합니다[SWS_BswM_00165]. 매개변수 NetworkMask이 16비트 값으로 정의되어 있으므로 구조상 이 API를 통해서는 처음 16개의 통신 채널 ID만 지정할 수 있습니다[SWS_BswM_00165]. 이 함수에 대한 특정 오류 코드 및 DET 또는 DEM 보고는 명세되어 있지 않습니다[SWS_BswM_00165].

이 사용 지침은 명세서 SWS_BswM_00165를 바탕으로 AI에 의해 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 BswM_J1939Nm_StateChangeNotification [SWS_BswM_00194] 📄 PDF

void BswM_J1939Nm_StateChangeNotification (NetworkHandleType Network, uint8 Node, Nm_StateType NmState);

Notification of current J1939Nm state after state changes. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_BSWModeManager

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 47b6489fcb28 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용

함수 BswM_J1939Nm_StateChangeNotification은 상태 변경이 수행된 후 J1939 네트워크 노드의 현재 상태를 BSW Mode Manager에 동기식으로 알리는 역할을 합니다[SWS_BswM_00194]. 선언은 헤더 파일 BswM_J1939Nm.h를 통해 제공되며 서비스 ID 0x18 아래에서 관리됩니다[SWS_BswM_00194].

이 인터페이스는 세 개의 입력 매개변수를 기대하며 반환값(void)을 반환하지 않습니다[SWS_BswM_00194]:

  • Network(NetworkHandleType): 해당 J1939 채널을 나타냅니다[SWS_BswM_00194].
  • Node(uint8): 해당 J1939 노드의 숫자 식별자입니다[SWS_BswM_00194].
  • NmState(Nm_StateType): 노드의 현재 또는 새로 진입한 상태를 나타냅니다[SWS_BswM_00194].

동시성 및 호출 컨텍스트

처리는 동기식으로 이루어지며 재진입 가능하도록 명세되어 있습니다[SWS_BswM_00194]. 따라서 여러 노드 또는 채널이 있는 시스템에서는 알림이 동시에 발생할 수도 있습니다. 호출자는 내부 상태 전이 후 BswM에 새로운 상태를 알리는 J1939Nm 모듈일 것으로 보입니다. 질문 Q-9c0e521db5e51713 (열림)

오류 처리

명세서는 이 서비스에 대해 특정 오류 코드나 DET 또는 DEM으로의 알림을 정의하지 않습니다[SWS_BswM_00194]. 또한 오류 표시를 위한 출력 매개변수나 입출력 매개변수도 존재하지 않습니다[SWS_BswM_00194].

이 텍스트는 사양을 기반으로 AI에 의해 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 BswM_LinSM_CurrentSchedule [SWS_BswM_00058] 📄 PDF

void BswM_LinSM_CurrentSchedule (NetworkHandleType Network, LinIf_SchHandleType CurrentSchedule);

Function called by Lin SM to indicate the currently active schedule table for a specific LIN channel.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: e6dd0a37e7a5 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

함수 BswM_LinSM_CurrentSchedule은(는) 특정 LIN 채널에 대해 현재 활성화된 Schedule Table을 BswM에 표시하기 위해 LIN State Manager(Lin SM)에 의해 호출되는 알림 인터페이스 역할을 합니다([SWS_BswM_00058]). 이 서비스는 헤더 BswM_LinSM.h을(를) 통해 사용할 수 있으며 서비스 ID 0x0a을(를) 갖습니다([SWS_BswM_00058]).

호출 시 두 개의 입력 매개변수가 전달됩니다([SWS_BswM_00058]):

  • Network (타입 NetworkHandleType): Schedule Table 변경이 발생한 구체적인 LIN 채널을 지정합니다([SWS_BswM_00058]).
  • Current Schedule(타입 LinIf_SchHandleType): 이 LIN 채널에서 이제 활성화된 Schedule Table의 식별자([SWS_BswM_00058])를 전달합니다.

이 인터페이스는 입출력 매개변수나 출력 매개변수를 갖지 않으며 반환값(void)을 제공하지 않습니다([SWS_BswM_00058]). 실행 동작은 동기식(Synchronous)으로 정의되며, 함수는 재진입 가능(Reentrant)하도록 명세되어 있습니다([SWS_BswM_00058]).

이 서비스에 대해 명세서에는 특정 오류 코드, 오류 반응 또는 DET나 DEM으로의 보고가 명시되어 있지 않습니다([SWS_BswM_00058]). 해석: 일반적으로 Lin SM에서 테이블 전환이 성공적으로 수행된 직후에 호출되어 BswM의 상태 평가에 전환 정보를 동기식으로 알릴 것으로 보입니다. 질문 Q-302196d84e739258 (열림)

이 텍스트는 AUTOSAR 명세서를 바탕으로 AI에 의해 작성되었습니다.

함수 BswM_LinSM_CurrentState [SWS_BswM_00052] 📄 PDF

void BswM_LinSM_CurrentState (NetworkHandleType Network, LinSM_ModeType CurrentState);

Function called by Lin SM to indicate its current state.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 031315eb052c 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용법 및 호출 컨텍스트

동기식 함수 BswM_LinSM_CurrentState은(는) LIN 채널의 상태 변경을 BswM에 알리기 위해 LIN State Manager(LinSM)에 의해 호출됩니다 [SWS_BswM_00052]. 이는 BswM 모듈에 정의되어 있으며, 서비스 ID 0x09을(를) 갖고 LinSM을 위해 헤더 파일 BswM_LinSM.h을(를) 통해 선언됩니다 [SWS_BswM_00052].

매개변수 및 반환값

인터페이스는 반환값(void)을 갖지 않으며 입출력 매개변수 및 출력 매개변수가 모두 없습니다 [SWS_BswM_00052]. 신호 전달을 위해 두 개의 입력 매개변수가 전달됩니다:

  • Network (타입 NetworkHandleType): 보고된 상태 표시가 참조하는 LIN 채널을 지정합니다 [SWS_BswM_00052].
  • CurrentState (타입 LinSM_ModeType): 지정된 LIN 채널의 현재 취한 상태를 포함합니다 [SWS_BswM_00052].

동시성 및 모듈 통합

명세서에 따르면 이 함수는 재진입 가능하게 구현되어 있습니다 [SWS_BswM_00052]. 이를 통해 상호 차단 없이 서로 다른 LIN 네트워크에 대해 병렬 호출이 가능합니다. 해석: 전달된 채널 상태는 BswM에서 규칙 평가 및 작업 목록의 입력 변수로 사용되어 전체 전자제어장치(ECU)에서 이를 기반으로 한 모드 전환을 제어할 것으로 추정됩니다. 질문 Q-ca113e4b71e4ab75 (열림)

이 텍스트는 AI에 의해 생성되었으며 AUTOSAR Classic R20-11 사양을 기반으로 합니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 BswM_LinTp_RequestMode [SWS_BswM_00156] 📄 PDF

void BswM_LinTp_RequestMode (NetworkHandleType Network, LinTp_Mode LinTpRequestedMode);

Function called by Lin TP to request a mode for the corresponding LIN channel. The Lin Tp_ Mode correlates to the LIN schedule table that should be used.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 7a2ccb8581e5 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용법 및 호출 컨텍스트

동기식 함수 BswM_LinTp_RequestMode은 특정 LIN 채널에 대해 모드 변경을 요청하기 위해 Lin TP에 의해 호출됩니다[SWS_BswM_00156]. 선언은 서비스 ID 0x0b과 함께 헤더 BswM_LinTp.h를 통해 이루어집니다[SWS_BswM_00156]. 입력 매개변수로 다음이 전달됩니다:

  • Network(타입 NetworkHandleType): 모드 요청이 적용되는 해당 LIN 채널을 식별합니다[SWS_BswM_00156].
  • LinTp_Mode(LinTp_Mode Lin Tp RequestedMode로 전달됨): 사용할 LIN Schedule Table과 직접 상관되는 요청된 TP 모드를 결정합니다[SWS_BswM_00156].

이 함수는 반환값(void)을 갖지 않습니다[SWS_BswM_00156]. 함수 정의에는 특정 오류 코드, 오류 처리를 위한 반환값 또는 DET 보고가 제공되지 않습니다[SWS_BswM_00156].

동시성 및 모드 관리

이 인터페이스는 재진입 가능으로 명세되어 있습니다[SWS_BswM_00156]. 이를 통해 서로 다른 컨텍스트 또는 별도의 LIN 채널에 대해 병렬 호출이 가능합니다. 요청된 모드가 Schedule Table 선택에 영향을 미치므로, 이 함수는 Lin TP와 BSW Mode Manager 간의 모드별 인터페이스 역할을 합니다[SWS_BswM_00156]. 해석: 이 요청을 기반으로 BswM은 LIN Schedule Table의 전환을 시작하기 위해 내부 평가를 수행할 것으로 보입니다. 질문 Q-544460b6b32b6ac2 (열림)

이 사용 지침은 AUTOSAR Classic R20-11 사양을 기반으로 자동으로 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 BswM_Nm_CarWakeUpIndication [SWS_BswM_00235] 📄 PDF

void BswM_Nm_CarWakeUpIndication (NetworkHandleType Network);

Function called by Nm to indicate a Car Wakeup.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: d3f5d924a01a 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용법 및 호출 컨텍스트

함수 BswM_Nm_CarWakeUpIndication은 Basic Software Mode Manager(BswM)의 콜백 인터페이스 역할을 하며 채널 관련 Car-Wakeup 이벤트를 알리기 위해 Network Management(Nm)에 의해 호출됩니다[SWS_BswM_00235].\n 호출은 동기식으로 이루어지며 타입 NetworkHandleType의 입력 매개변수 Network를 통해 해당 Nm 채널의 식별자를 전달합니다[SWS_BswM_00235].\n 이 인터페이스는 반환값(void)을 선언하지 않으며 출력 매개변수를 제공하지 않습니다[SWS_BswM_00235].\n 이 서비스는 서비스 ID 0x24과 함께 헤더 파일 BswM_Nm.h에 정의되어 있습니다[SWS_BswM_00235].

동시성 및 오류 처리

이 인터페이스는 재진입 가능하도록 명세되어 있어 병렬 호출이 허용됩니다[SWS_BswM_00235].\n 특정 오류 코드, DET 또는 DEM으로의 알림 및 특수한 오류 처리 메커니즘은 요소 명세서에 명시되어 있지 않습니다[SWS_BswM_00235].

상호 작용

Nm과 BswM 간의 통합 지점으로서 이 함수는 웨이크업 신호를 BswM 처리에 직접 전달합니다[SWS_BswM_00235].\n 해석: 이 호출은 BswM 내에서 네트워크 기동의 일환으로 규칙 검사 또는 모드 전환을 위한 지표로 평가될 것으로 보입니다. 질문 Q-e56d5cfb6345f1ba (열림)

이 사용 지침은 AUTOSAR 명세 R20-11을 기반으로 자동 작성되었습니다.

함수 BswM_Nm_StateChangeNotification [SWS_BswM_91002] 📄 PDF

void BswM_Nm_StateChangeNotification (NetworkHandleType Network, Nm_StateType currentState);

Notification of current Nm state after state changes.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 7766e9c5f805 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용법 및 호출 컨텍스트

함수 BswM_Nm_StateChangeNotification은 상태 변경이 발생한 후 네트워크 관리 채널의 현재 상태를 BswM에 전달하기 위한 알림 인터페이스 역할을 합니다[SWS_BswM_91002]. 이 함수는 헤더 파일 BswM_Nm.h에 선언되어 있으며 서비스 ID 0x27으로 정의되어 있습니다[SWS_BswM_91002]. 실행은 동기식으로 이루어지며, 함수는 반환값을 갖지 않습니다(void)[SWS_BswM_91002].

상태 데이터 전달은 순수 입력 매개변수 두 개를 통해 이루어지며, 입출력 또는 출력 매개변수는 존재하지 않습니다[SWS_BswM_91002]:

  • Network(타입: NetworkHandleType): 네트워크 식별을 위해 해당 Nm 채널을 지정합니다[SWS_BswM_91002].
  • currentState(타입: Nm_StateType): 지정된 Nm 채널의 현재 또는 새로운 상태를 알립니다[SWS_BswM_91002].

동시성 및 동작

이 인터페이스는 재진입 가능한 것으로 분류됩니다[SWS_BswM_91002]. 따라서 함수를 동시에 호출할 수 있으며, 이는 특히 서로 다른 네트워크 채널에서 동시에 상태 전이가 발생할 때 중요합니다. 호출이 동기식으로 명시되어 있으므로, 함수는 상태 변경이 내부적으로 수신된 후에야 호출자에게 반환됩니다[SWS_BswM_91002]. 호출은 일반적으로 채널이 새로운 상태로 진입하자마자 네트워크 관리에 의해 수행될 것으로 보입니다[SWS_BswM_91002]. 질문 Q-8645d9511a825fed (열림)

이 텍스트는 R20-11 사양을 바탕으로 AI에 의해 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 BswM_NvM_CurrentBlockMode [SWS_BswM_00104] 📄 PDF

void BswM_NvM_CurrentBlockMode (NvM_BlockIdType Block, NvM_RequestResultType CurrentBlockMode);

Function called by Nv M to indicate the current block mode of an Nv M block.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: ce828c822f7e 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용

함수 BswM_NvM_CurrentBlockMode은 Basic Software Mode Manager(BswM)에 NVRAM 블록의 현재 블록 모드를 알리기 위해 NVRAM Manager(NvM)에 의해 호출됩니다[SWS_BswM_00104]. 이 함수의 선언은 헤더 파일 BswM_NvM.h를 통해 제공되며 명세서에서 서비스 ID 0x16에 할당되어 있습니다[SWS_BswM_00104].

매개변수 및 반환값

이 함수는 호출자에게 반환값(void)을 반환하지 않으며 두 개의 입력 매개변수를 처리합니다[SWS_BswM_00104]:

  • Block(타입 NvM_BlockIdType): 새로운 모드 정보가 적용되는 NVRAM 블록의 블록 식별자를 전달합니다[SWS_BswM_00104].
  • CurrentBlockMode(타입 NvM_RequestResultType): NvM 블록의 현재 블록 모드 또는 요청 결과를 전달합니다[SWS_BswM_00104].

이 인터페이스에 대해 출력 매개변수 또는 복합 입출력 매개변수는 정의되어 있지 않습니다[SWS_BswM_00104].

동시성 및 제약사항

BswM_NvM_CurrentBlockMode의 함수 호출은 동기식으로 실행되며 재진입 가능하도록 명세되어 있습니다[SWS_BswM_00104]. 따라서 이 인터페이스는 동시 실행 컨텍스트에서의 재진입 가능한 사용을 고려하여 설계되었습니다[SWS_BswM_00104].

오류 처리

이 인터페이스에 대해서는 명세서 지침에 특정 오류 코드나 Default Error Tracer(DET) 또는 Diagnostic Event Manager(DEM) 모듈을 통한 오류 보고에 대한 요구사항이 명시되어 있지 않습니다[SWS_BswM_00104].

이 사용 지침은 자동 생성되었으며 AUTOSAR 릴리스 R20-11의 명세 데이터만을 기반으로 합니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 BswM_NvM_CurrentJobMode [SWS_BswM_00152] 📄 PDF

void BswM_NvM_CurrentJobMode (NvM_MultiBlockRequestType MultiBlockRequest, NvM_RequestResultType CurrentJobMode);

Function called by Nv M to inform the Bsw M about the current state of a multi block job.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 6a6aa120a70e 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용법 및 시그니처

함수 BswM_NvM_CurrentJobMode은 멀티 블록 작업의 현재 상태를 BSW Mode Manager(BswM)에 알리기 위해 NVRAM Manager(NvM)에 의해 호출됩니다[SWS_BswM_00152]. 이 인터페이스는 헤더 BswM_NvM.h에 선언되어 있으며 서비스 ID 0x17를 갖습니다[SWS_BswM_00152]. 두 개의 입력 매개변수를 받습니다:

  • MultiBlockRequest(타입 NvM_MultiBlockRequestType): 이 콜백이 어떤 구체적인 멀티 블록 작업을 가리키는지 나타냅니다[SWS_BswM_00152].
  • CurrentJobMode(타입 NvM_RequestResultType): 해당 멀티 블록 작업의 현재 상태 또는 결과를 나타냅니다[SWS_BswM_00152].

이 함수는 값을 반환하지 않으며(반환 타입 void) 입출력 또는 출력 매개변수를 갖지 않습니다[SWS_BswM_00152].

동시성 및 오류 처리

명세서는 BswM_NvM_CurrentJobMode을 동기식 및 재진입 가능으로 정의합니다[SWS_BswM_00152]. 호출은 모듈 NvM의 실행 컨텍스트에서 직접 발생합니다. 해석상 이 호출은 일반적으로 상태 변경이 있을 때 읽기 또는 쓰기 작업과 같은 일괄 작업 과정에서 트리거될 것으로 보입니다. 질문 Q-25514d3dbf1d8c5c (열림)

이 함수에 대해 명세서에는 반환값이나 개발 오류(DET) 또는 프로덕션 오류에 대한 특정 오류 코드가 명시되어 있지 않으며, 오류 발생 시의 동작도 별도로 표시되어 있지 않습니다[SWS_BswM_00152].

이 사용 지침은 AUTOSAR Classic R20-11 사양을 기반으로 자동 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 BswM_RequestMode [SWS_BswM_00046] 📄 PDF

void BswM_RequestMode (BswM_UserType requesting_user, BswM_ModeType requested_mode);

Generic function call to request modes. This function shall only be used by other BSW modules that does not have a specific mode request interface.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: c82de091e0a4 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

함수 BswM_RequestMode은(는) Basic Software Mode Manager(BswM)에서 모드를 요청하기 위한 일반 함수 호출을 제공합니다 [SWS_BswM_00046]. 헤더 파일 BswM.h을(를) 통해 선언되며 서비스 ID 0x02을(를) 갖습니다 [SWS_BswM_00046].

사용 및 제한사항

사용은 엄격히 규제됩니다: 이 함수는 모드 요청을 위한 자체 모듈별 인터페이스가 없는 다른 BSW 모듈에서만 호출될 수 있습니다 [SWS_BswM_00046]. 따라서 전용 인터페이스를 가진 BSW 모듈은 이 일반 서비스를 사용할 수 없습니다.

매개변수 및 시맨틱

함수 시그니처는 void BswM_RequestMode (BswM_UserType requesting_user, BswM_ModeType requested_mode)입니다 [SWS_BswM_00046]. 두 개의 입력 매개변수가 전달됩니다:

  • requesting_user: 요청 사용자 또는 요청 소프트웨어 모듈을 식별합니다 [SWS_BswM_00046].
  • requested_mode: 구체적으로 요청된 상태 또는 모드를 전달합니다 [SWS_BswM_00046].

입출력 매개변수나 출력 매개변수는 존재하지 않으며, 함수는 반환값(void)을 갖지 않습니다 [SWS_BswM_00046].

동시성

호출은 동기식으로 처리되며 재진입 가능으로 명시되어 있습니다 [SWS_BswM_00046]. 따라서 이 함수는 여러 BSW 컨텍스트에서의 동시 호출에 적합합니다.

이 사용 지침은 AUTOSAR Classic Release R20-11 사양을 기반으로 자동으로 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 BswM_Sd_ClientServiceCurrentState [SWS_BswM_00204] 📄 PDF

void BswM_Sd_ClientServiceCurrentState (uint16 SdClientServiceHandleId, Sd_ClientServiceCurrentStateType CurrentClientState);

Function called by Service Discovery to indicate current state of the Client Service (available/ down).

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: d6ef98b31ed5 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용법 및 호출 컨텍스트

함수 BswM_Sd_ClientServiceCurrentState은 클라이언트 서비스의 현재 상태를 BswM에 동기식으로 알리기 위해 Service Discovery(SD)에 의해 호출됩니다[SWS_BswM_00204]. 이 인터페이스를 통해 해당 서비스가 작동 가능한지(available) 또는 사용 불가능한지(down) 신호로 전달됩니다[SWS_BswM_00204]. C 함수의 선언은 헤더 BswM_Sd.h을 통해 제공됩니다[SWS_BswM_00204].

매개변수 및 인터페이스 시그니처

이 인터페이스는 서비스 ID 0x1f을 가지며 두 개의 입력 매개변수를 기대합니다[SWS_BswM_00204]:

  • SdClientServiceHandleId(타입 uint16): 클라이언트 서비스를 식별하기 위한 고유 핸들 ID입니다[SWS_BswM_00204].
  • CurrentClientState(타입 Sd_ClientServiceCurrentStateType): 서비스의 현재 가용성 상태입니다[SWS_BswM_00204].

이 함수는 반환값을 반환하지 않으며(void) 입출력 또는 출력 매개변수를 정의하지 않습니다[SWS_BswM_00204].

동시성 및 상호 작용

BswM_Sd_ClientServiceCurrentState의 실행은 동기식 및 재진입 가능합니다[SWS_BswM_00204]. 따라서 호출자는 순차적인 직렬화를 강제할 필요 없이 상태 변경을 동시에 보고할 수 있습니다. 전체 상호작용에서 상태 알림은 BswM 내에서 내부 규칙 평가 및 구성된 모드 변경을 시작하는 데 사용될 것으로 추정됩니다. 질문 Q-0490a3902ca9e78d (열림)

이 텍스트는 사양 데이터를 기반으로 AI에 의해 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 BswM_Sd_ConsumedEventGroupCurrentState [SWS_BswM_00207] 📄 PDF

void BswM_Sd_ConsumedEventGroupCurrentState (uint16 SdConsumedEventGroupHandleId, Sd_ConsumedEventGroupCurrentStateType ConsumedEventGroupState);

Function called by Service Discovery to indicate current status of the Consumed Eventgroup (available/ down).

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 8146488c68a5 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

함수 BswM_Sd_ConsumedEventGroupCurrentState은 Basic Software Mode Manager(BswM)에 소비되는 이벤트 그룹의 현재 상태를 알리기 위해 Service Discovery에 의해 호출되는 콜백 인터페이스 역할을 합니다[SWS_BswM_00207]. 이는 BswM에 해당 이벤트 그룹이 네트워크에서 사용 가능한지(available) 또는 장애 상태인지(down) 알립니다[SWS_BswM_00207].

사용법 및 시그니처

이 인터페이스는 서비스 ID 0x21을 가지며 헤더 파일 BswM_Sd.h을 통해 제공됩니다[SWS_BswM_00207]. 호출은 동기식으로 처리되며 반환값(void)을 갖지 않습니다[SWS_BswM_00207]. 함수 호출 시 Service Discovery는 두 개의 입력 매개변수를 전달하는 반면, 입출력 또는 순수 출력 매개변수는 정의되어 있지 않습니다[SWS_BswM_00207]:

  • Sd Consumed Event Group Handle Id(데이터 타입 uint16): 각 소비되는 이벤트 그룹을 식별하기 위한 고유 핸들 ID입니다[SWS_BswM_00207].
  • Consumed Event Group State(데이터 타입 Sd_Consumed Event Group Current State Type): 가용성을 나타내기 위한 소비되는 이벤트 그룹의 현재 상태입니다[SWS_BswM_00207].

동시성 및 오류 처리

명세서에 따르면 이 함수는 재진입 가능으로 표시되어 있어 필요한 경우 동시에 호출될 수 있습니다[SWS_BswM_00207]. 이 서비스에 대해 명세서에는 개발 오류 추적(DET) 또는 진단 이벤트 관리(DEM)에 대한 특정 오류 코드, 예외 또는 피드백이 나열되어 있지 않습니다[SWS_BswM_00207].

이 사용 지침은 AUTOSAR CP R20-11 사양을 기반으로 자동으로 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 BswM_Sd_EventHandlerCurrentState [SWS_BswM_00210] 📄 PDF

void BswM_Sd_EventHandlerCurrentState (uint16 SdEventHandlerHandleId, Sd_EventHandlerCurrentStateType EventHandlerStatus);

Function called by Service Discovery to indicate current status of the Event Handler (requested/ released).

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 38ebb49535f7 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용법 및 호출 컨텍스트

동기식 함수 BswM_Sd_EventHandlerCurrentState은 BSW Mode Manager(BswM)에 Event Handler의 현재 상태를 알리기 위해 Service Discovery에 의해 호출되는 인터페이스 역할을 합니다[SWS_BswM_00210]. Event Handler의 일반적인 상태에는 해당 핸들러가 요청되었는지 또는 해제되었는지에 대한 정보가 포함됩니다[SWS_BswM_00210]. 함수의 선언은 헤더 파일 BswM_Sd.h을 통해 제공됩니다[SWS_BswM_00210].

매개변수 및 시그니처 속성

이 함수는 반환값(void)을 제공하지 않으며 호출 시 두 개의 입력 매개변수를 기대합니다[SWS_BswM_00210]:

  • SdEventHandlerHandleId: 관련 Event Handler를 고유하게 지정하는 타입 uint16의 식별자입니다[SWS_BswM_00210].
  • EventHandlerStatus: Event Handler의 현재 상태를 나타내는 타입 Sd_EventHandlerCurrentStateType의 상태 정보입니다[SWS_BswM_00210].

동시성 및 오류 처리

이 함수는 서비스 ID 0x20 아래에서 관리되며 명세서에 따라 재진입 가능하도록 구현되어 있습니다[SWS_BswM_00210]. 특정 오류 코드, 입출력 매개변수 또는 DET나 DEM을 통한 명시적인 오류 보고는 이 인터페이스에 대해 정의되어 있지 않습니다[SWS_BswM_00210].

이 텍스트는 AI에 의해 작성되었습니다. 이는 참고용이며 AUTOSAR 명세서 학습을 대체하지 않습니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 BswM_WdgM_RequestPartitionReset [SWS_BswM_00157] 📄 PDF

void BswM_WdgM_RequestPartitionReset (ApplicationType Application);

Function called by Wdg M to request a partition reset.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 51a67f346a31 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

함수 BswM_WdgM_RequestPartitionReset은 Basic Software Mode Manager(BswM)에 특정 파티션의 리셋을 요청하기 위해 Watchdog Manager(WdgM)에 의해 호출됩니다[SWS_BswM_00157]. 이 인터페이스의 선언은 헤더 BswM_WdgM.h를 통해 제공되며 서비스 ID 0x11에 할당되어 있습니다[SWS_BswM_00157].

사용 및 호출 컨텍스트에는 명세서의 다음 규정이 적용됩니다:

  • 매개변수: 입력 매개변수로 타입 ApplicationType의 Application이 전달되며, 이는 해당 OS-Application의 고유 식별자를 나타냅니다[SWS_BswM_00157]. 이 호출에 대한 다른 입력 또는 출력 매개변수는 존재하지 않습니다[SWS_BswM_00157].
  • 반환값: 이 함수는 반환값을 갖지 않습니다(반환 타입 void)[SWS_BswM_00157].
  • 동기성 및 동시성: 함수 실행은 동기식으로 이루어지며 재진입 가능하도록 명세되어 있어 병렬 호출이 허용됩니다[SWS_BswM_00157].
  • 오류 처리: 특정 오류 코드, 오류 반응 및 DET 또는 DEM으로의 보고는 이 요소의 명세서에 문서화되어 있지 않습니다[SWS_BswM_00157].

기본 소프트웨어 모듈 간의 상호작용에서 이 함수는 WdgM이 전달된 OS-Application에 대한 필요한 파티션 리셋을 BswM에 동기식으로 알리는 직접적인 알림 인터페이스를 구성합니다[SWS_BswM_00157].

이 텍스트는 AI에 의해 작성되었으며, 가이드라인에 따라 명세서를 기반으로 한 검증이 필요합니다.

함수 BswM_MainFunction [SWS_BswM_00053] 📄 PDF

void BswM_MainFunction (void);

Main function of the Bsw M

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: c5437207e9bf 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

함수 BswM_MainFunction은(는) BSW 모드 매니저(BswM)의 핵심 주기적 메인 함수를 구성합니다([SWS_BswM_00053]). 이 함수는 서비스 ID 0x03을(를) 가지며, 전달 매개변수를 받지 않고 반환값을 반환하지 않습니다(시그니처: void BswM_MainFunction(void)). 그 선언은 헤더 파일 SchM_BswM.h을(를) 통해 제공됩니다([SWS_BswM_00053]). SchM_BswM.h을(를) 통한 제공으로 인해, ECU에서의 호출은 일반적으로 주기적 OS 태스크의 컨텍스트에서 Schedule Manager(SchM)에 의해 주기적으로 수행될 것으로 보입니다. 질문 Q-fdb948e42c35d9fb (열림)

상호작용 및 처리 로직과 관련하여 BswM_MainFunction은(는) 지연된 모드 요청의 평가를 담당합니다. 이 함수는 구성 매개변수 BswMRequestProcessing의 값이 BSWM_DEFERRED(으)로 설정된 모드 요청(Mode Request)을 하나 이상 입력으로 사용하는 모든 규칙을 반드시 평가해야 합니다([SWS_BswM_00075]).

실제 통합 및 기본 소프트웨어 시스템으로의 통합을 위해 다음과 같은 기본 조건이 도출됩니다:

  • 호출 컨텍스트 및 스케줄링: 이 함수는 매개변수와 반환값을 갖지 않으며([SWS_BswM_00053]), 기본 소프트웨어 스케줄러의 주기적 스케줄에 반복적으로 포함되도록 설계되었습니다.
  • 규칙 처리: 즉시 처리되지 않고 BSWM_DEFERRED(으)로 구성된 모드 요청은 시간적으로 분리되어 이 메인 함수의 실행 주기에서 비로소 일괄 처리됩니다([SWS_BswM_00075]).

이 텍스트는 사양을 기반으로 AI에 의해 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I1)

함수 <BswMUserCalloutFunction> [SWS_BswM_00270] 📄 PDF

void <BswMUserCalloutFunction> (implementation_specific -);

Function called by the Bsw M when a Bsw MUser Callout is executed. The function name and all function parameters are defined b y the Bsw MUser Callout Function configuration parameter. Any return values are ignored by the Bsw M.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 3c3d21cc95d0 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용

사용자 정의 콜아웃 함수는 해당하는 BswMUserCallout 동작이 실행되는 즉시 BSW Mode Manager에 의해 호출됩니다[SWS_BswM_00270]. 구체적인 함수 이름 및 모든 전달 매개변수는 구성 매개변수 BswMUserCalloutFunction를 통해 정의됩니다[SWS_BswM_00270]. 구문은 포괄적으로 void <BswMUserCalloutFunction>(implementation_specific)로 정의되며, 모든 반환값은 BswM에 의해 완전히 무시됩니다[SWS_BswM_00270].

동시성 및 제약사항

콜아웃 함수의 실행 동작(동기 또는 비동기)과 재진입성은 모두 구성 종속적인 것으로 명시되어 있습니다[SWS_BswM_00270]. 실제 호출 컨텍스트는 트리거하는 BswM 이벤트 또는 BswM 작업(action)이 처리되는 태스크에 따라 달라질 것으로 추정됩니다. 질문 Q-2f3e2cdbb9de1794 (열림) 따라서 개발자는 구현이 스레드 안전성 및 블로킹 동작과 관련하여 선택된 실행 컨텍스트의 요구사항을 충족하는지 확인해야 합니다.

오류 처리 및 구성

해당 규격은 이 서비스(서비스 ID 0x25)에 대해 특정 DET 또는 DEM 오류 메시지를 정의하지 않습니다[SWS_BswM_00270]. BswM은 어떠한 반환값도 무시하므로, 함수는 표준화된 반환값을 통해 BswM에 오류를 보고할 수 없습니다. 함수의 가용성 및 링킹은 모듈 구성(참조 ECUC_BswM_00954)을 통해 이루어집니다[SWS_BswM_00270].

본 사용 지침은 자동으로 생성되었으며 AUTOSAR 규격의 요구사항을 기반으로 합니다.

타입 BswM_ConfigType [SWS_BswM_00213] 📄 PDF

This structure contains all post - build configurable parameters of the BSW Mode AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_BSWModeManager Manager. A pointer to this structure is passed to the BSW Mode Manager initialization function for configuration.

타입 BswM_ModeType [SWS_BswM_00214] 📄 PDF

This type identifies the modes that can be requested by Bsw M Users.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: aaf8a1f15f59 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용 및 타입 정의

데이터 타입 BswM_ModeType은 BswM 모듈에서 BswM 사용자(BswM Users)가 요청할 수 있는 모드를 고유하게 식별하는 역할을 합니다[SWS_BswM_00214]. 명세서에 따르면 이 타입은 기본 프리미티브 타입 uint16에서 파생되며 값 범위는 0에서 65535까지입니다[SWS_BswM_00214]. 이는 헤더 파일 BswM.h를 통해 선언 및 제공되며, 요청 컴포넌트가 이를 사용하기 위해 포함해야 합니다[SWS_BswM_00214].

제한 사항 및 가정

호출 소프트웨어 엔티티는 모드 값을 0에서 65535 사이의 16비트 정수로 전달합니다[SWS_BswM_00214]. 명세서에 고정된 심볼릭 상수가 나열되어 있지 않으므로 개별 정수 값과 애플리케이션별 모드의 구체적인 매핑은 BswM 모듈의 구성 범위 내에서 정의될 것으로 추정됩니다. 질문 Q-94530792144d42ea (열림) 오류 없는 사용을 위해서는 요청자가 정의된 값 범위 내의 값만을 적용하도록 해야 합니다[SWS_BswM_00214].

BSW 스택 내 통합

사용자의 모드 요청을 BswM으로 전달하는 인터페이스는 모드 식별자의 타입화된 전달을 위해 BswM_ModeType을 사용합니다[SWS_BswM_00214]. BswM.h를 통한 제공은 서로 다른 BSW 모듈 경계를 넘어 일관된 타입 지정을 보장합니다[SWS_BswM_00214].

이 텍스트는 AI 기반 문서화 시스템에 의해 생성되었으며 AUTOSAR Classic R20-11 명세를 기반으로 합니다.

구현자 가이드 준비 중 (복잡도 I1)

타입 BswM_UserType [SWS_BswM_00216] 📄 PDF

This type identifies a Bsw M User that makes mode requests to the Bsw M.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 4d6cdb259f49 출처 열린 질문 (2)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용 및 타입 정의

데이터 타입 BswM_UserType은 헤더 파일 BswM.h을 통해 제공되며 Basic Software Mode Manager에 모드 요청을 전달하는 BswM 사용자를 고유하게 식별하는 데 사용됩니다[SWS_BswM_00216]. 이 타입은 기본 정수 타입 uint16에서 파생되며 값 범위는 0부터 65535까지입니다[SWS_BswM_00216].

상호작용 및 통합

소프트웨어 아키텍처에서 이 타입은 BswM이 수신된 요청을 해당 소스에 할당할 수 있도록 모드 요청 인터페이스의 전달 매개변수로 주로 작동할 것으로 보입니다. 질문 Q-83bb1af3fb090e7e (열림) 16비트 너비를 통해 이 타입 정의는 시스템에서 최대 65536개의 서로 다른 사용자 식별자를 위한 공간을 제공합니다[SWS_BswM_00216]. 사용자의 구체적인 인스턴스 값은 BSW 생성 과정에서 구성에 따라 생성될 것으로 추정됩니다.

제약 사항 및 오류 처리

기본 타입 정의이므로 명세 범위에는 이 타입에 대한 특정 오류 코드, DET 보고 또는 동시성 메커니즘이 포함되어 있지 않습니다. 요청 소프트웨어 모듈은 호출 시 허용 범위인 0부터 65535 내의 값만 전달되도록 해야 합니다[SWS_BswM_00216].

이 사용 지침은 AI에 의해 생성되었으며 AUTOSAR R20-11의 명세 요소 SWS_BswM_00216만을 기반으로 합니다.

구현자 가이드 준비 중 (복잡도 I1)

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/CP_MOD_BswM
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_BswM@rel:R20-11#d0e67090
Content hash
d0e67090
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_BSWModeManager.pdf#nameddest=SWS_BswM_00193

초기화 및 상태

Deinitializes the BSW Mode Manager.

void BswM_Deinit (void);

Returns the version information of this module.

void BswM_GetVersionInfo (Std_VersionInfoType* VersionInfo);
BswM_Init 함수

Initializes the BSW Mode Manager.

void BswM_Init (const BswM_ConfigType* ConfigPtr);

서비스 · Com…

Function called by Com M to indicate the current communication mode of a Com M channel.

void BswM_ComM_CurrentMode (NetworkHandleType Network, ComM_ModeType RequestedMode);

Function is called by Com M to indicate the current mode of the PNC. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_BSWModeManager

void BswM_ComM_CurrentPNCMode (PNCHandleType PNC, ComM_PncModeType CurrentPncMode);

Function is called by Com M to signal a shutdown.

void BswM_ComM_InitiateReset (void);

서비스 · Ecu…

Function called Ecu M to indicate the current ECU Operation Mode.

void BswM_EcuM_CurrentState (EcuM_StateType CurrentState);

Function called by Ecu M to indicate the current state of a wakeup source.

void BswM_EcuM_CurrentWakeup (EcuM_WakeupSourceType source, EcuM_WakeupStatusType state);

Function called by Ecu M notify about current Status of the Run Request Protocol.

void BswM_EcuM_RequestedState (EcuM_StateType State, EcuM_RunStatusType CurrentState);

서비스 · Lin…

Function called by Lin SM to indicate the currently active schedule table for a specific LIN channel.

void BswM_LinSM_CurrentSchedule (NetworkHandleType Network, LinIf_SchHandleType CurrentSchedule);

Function called by Lin SM to indicate its current state.

void BswM_LinSM_CurrentState (NetworkHandleType Network, LinSM_ModeType CurrentState);

Function called by Lin TP to request a mode for the corresponding LIN channel. The Lin Tp_ Mode correlates to the LIN schedule table that should be used.

void BswM_LinTp_RequestMode (NetworkHandleType Network, LinTp_Mode LinTpRequestedMode);

서비스 · Sd…

Function called by Service Discovery to indicate current state of the Client Service (available/ down).

void BswM_Sd_ClientServiceCurrentState (uint16 SdClientServiceHandleId, Sd_ClientServiceCurrentStateType CurrentClientState);

Function called by Service Discovery to indicate current status of the Consumed Eventgroup (available/ down).

void BswM_Sd_ConsumedEventGroupCurrentState (uint16 SdConsumedEventGroupHandleId, Sd_ConsumedEventGroupCurrentStateType ConsumedEventGroupState);

Function called by Service Discovery to indicate current status of the Event Handler (requested/ released).

void BswM_Sd_EventHandlerCurrentState (uint16 SdEventHandlerHandleId, Sd_EventHandlerCurrentStateType EventHandlerStatus);

서비스 · Dcm…

This function is called by the DCM in order to report an updated application.

void BswM_Dcm_ApplicationUpdated (void);

Function called by DCM to inform the Bsw M about the current state of the communication mode.

void BswM_Dcm_CommunicationMode_CurrentState (NetworkHandleType Network, Dcm_CommunicationModeType RequestedMode);

서비스 · Eth…

Function called by Eth If to indicate the link state change of a certain Ethernet switch port group.

void BswM_EthIf_PortGroupLinkStateChg (EthIf_SwitchPortGroupIdxType PortGroupIdx, EthTrcv_LinkStateType PortGroupState);

Function called by Eth SM to indicate its current state.

void BswM_EthSM_CurrentState (NetworkHandleType Network, EthSM_NetworkModeStateType CurrentState);

서비스 · J1939…

This API tells the Bsw M the desired communication status of the available networks. The status will typically be activated via COM I - PDU group switches.

void BswM_J1939DcmBroadcastStatus (uint16 NetworkMask);

Notification of current J1939Nm state after state changes. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_BSWModeManager

void BswM_J1939Nm_StateChangeNotification (NetworkHandleType Network, uint8 Node, Nm_StateType NmState);

서비스 · Nm…

Function called by Nm to indicate a Car Wakeup.

void BswM_Nm_CarWakeUpIndication (NetworkHandleType Network);

Notification of current Nm state after state changes.

void BswM_Nm_StateChangeNotification (NetworkHandleType Network, Nm_StateType currentState);

서비스 · Nv…

Function called by Nv M to indicate the current block mode of an Nv M block.

void BswM_NvM_CurrentBlockMode (NvM_BlockIdType Block, NvM_RequestResultType CurrentBlockMode);

Function called by Nv M to inform the Bsw M about the current state of a multi block job.

void BswM_NvM_CurrentJobMode (NvM_MultiBlockRequestType MultiBlockRequest, NvM_RequestResultType CurrentJobMode);

서비스 · 기타

Function called by Restart Task if the partition containing the Bsw M has been restarted.

void BswM_BswMPartitionRestarted (void);

Function called by Can SM to indicate its current state. Ava ilable via Bsw M_ Can SM.h

void BswM_CanSM_CurrentState (NetworkHandleType Network, CanSM_BswMCurrentStateType CurrentState);

Function called by Fr SM to indicate its current state.

void BswM_FrSM_CurrentState (NetworkHandleType Network, FrSM_BswM_StateType CurrentState);

Generic function call to request modes. This function shall only be used by other BSW modules that does not have a specific mode request interface.

void BswM_RequestMode (BswM_UserType requesting_user, BswM_ModeType requested_mode);

Function called by Wdg M to request a partition reset.

void BswM_WdgM_RequestPartitionReset (ApplicationType Application);

콜아웃 및 예상 인터페이스

Function called by the Bsw M when a Bsw MUser Callout is executed. The function name and all function parameters are defined b y the Bsw MUser Callout Function configuration parameter. Any return values are ignored by the Bsw M.

void <BswMUserCalloutFunction> (implementation_specific -);

주기적

Main function of the Bsw M

void BswM_MainFunction (void);

타입

This structure contains all post - build configurable parameters of the BSW Mode AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_BSWModeManager Manager. A pointer to this structure is passed to the BSW Mode Manager initialization function for configuration.

This type identifies the modes that can be requested by Bsw M Users.

This type identifies a Bsw M User that makes mode requests to the Bsw M.