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 生成 未审核 模型: claude-opus-5-5 · 推理强度: high · 温度: 不可控 · 提示词: e6ee839f49b5 来源 未决问题(4)
因果锚点:R20-11 自 R20-11 起有效 为此规范版本重新合成。
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

通过规则仲裁模式请求与模式指示,并由此在基础软件中触发动作。

BSW Mode Manager 接收来自 BSW 模块的模式指示以及来自 SWC 的模式请求。它通过配置的规则对它们进行仲裁,规则的结果将触发 True 或 False 动作列表 [SWS_BswM_00035]。根据 BswM_Init,它以此控制基础软件的进一步初始化、与 EcuM 协作的 ECU Mode Handling 以及通信使能(例如 I-PDU 组或以太网端口组)。带有 BSWM_DEFERRED 输入的规则由 BswM_MainFunction 进行周期性求值,所有其他规则立即求值 [SWS_BswM_00075]。在 DET 激活时,无效或在初始化之前到达的请求将被忽略并报错。

BSW Mode Manager(BswM)是基础软件的核心仲裁实例。它接收来自诸如 EcuM、ComM、总线状态管理器、NvM、DCM 或 Sd 等 BSW 模块的模式指示,还接收来自 SWC 的模式请求。据此,它通过配置的规则决定应执行的操作 [SWS_BswM_00035]、SWS BswM 第26页。输入以 C-API、SWC 端口或事件的形式到达。每个 C-API 均通过引用参数分配给特定的 Request 端口 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 和 Callout。来源:[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 状态切换以太网端口组 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页。模式请求通常来自应用 SWC,但也可以来自诸如 DCM 等 BSW 模块。模式指示始终由其他 BSW 模块提供,例如特定于总线的状态管理器和 EcuM。BswM 对这两种类型同等对待,并将它们统称为“mode arbitration request”SWS BswM 第26页。

BswM 被建模为服务组件,用于服务 ECU 本地的 Mode Request SWS BswM 第48页。它与其他模块之间没有强制性接口 [SWS_BswM_00007]。它的动作调用其他 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 模块和 SWC 向 BswM 上报;BswM 通过动作反作用于 Com、EthIf、EcuM、RTE 和用户 Callout。来源:[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 均严格分配给一个 Request 端口类型。诸如 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,
  • 支持以太网端口组切换。

BswM_WdgM_RequestPartitionReset 直到 R21-11 才废弃 SWS BswM 第2页。

规则与动作列表:从输入到动作

BswM 的行为通过规则和动作列表进行配置。规则是关于模式请求端口当前值的逻辑表达式。根据求值结果,它将执行 True 动作列表或 False 动作列表 Mode-Mgmt-Guide 第32页。动作列表可以包含 SWS BswM 第31页:

  • 原子动作,
  • 嵌套动作列表,
  • 对规则的引用,这些规则随后在该列表的上下文中求值。

动作只能在动作列表的上下文中调用 [SWS_BswM_00147]。规范中的一张图展示了一条示例规则。它通过 AND 将一个模式条件(MyModeRequestPort 等于 MODE_A)与事件端口 ComMInitiateReset 连接起来 SWS BswM 第25页。

何时对规则求值由每个端口的 BswMRequestProcessing 决定:

  • BSWM_IMMEDIATE:每个引用该端口的规则都会被立即处理 Mode-Mgmt-Guide 第32页。为此,BswM 会为 SW-C 端口注册一个 Runnable,RTE 在接收到数据时会启动该 Runnable 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 是一个内部模式请求源(Mode Request Source),且只能通过动作 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

状态图:BswMTimer 从 STOPPED 经 STARTED 到 EXPIRED 的生命周期,完全由动作和 MainFunction 控制。来源:[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] 接收指向 Post-Build 配置的指针 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 的初始化EcuMOsSchMBswMStartPostOS 序列,通过 EcuM_StartupTwo 激活GetCoreID(CoreIdType)SchM_Start()loop该核上的每个 BswM 实例BswM_Init(ConfigPtr)globale Variablen initialisierenBswMTimer stoppen, Initialwerte setzenSchM_Init(ConfigPtr)SchM_StartTiming()periodische Ereignisse aktiv:BswM_MainFunction 周期性运行

时序图:StartPostOS 流程,在 SchM_Start 和 SchM_Init 之间初始化每个 BswM 实例;之后 MainFunction 周期性运行。来源:[SWS_BswM_00002]、SWS EcuM 第42页、SWS EcuM 第78页、SWS BswM 第37页

从此处开始,BswM 接管流程控制。它确保基础软件的其余 Init 例程被调用,并启动 RTE Mode-Mgmt-Guide 第36页。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页。在 OffPreOS 序列中,EcuM 将去初始化 BswM 作为第一步 SWS EcuM 第50页。在 BswM_Deinit [SWS_BswM_00119] 之后,不再发生任何模式处理,即使请求到达或调用了 MainFunction 也是如此 [SWS_BswM_00120]。

与 EcuM 的交互:ECU 模式处理与唤醒源

在 ECU 模式处理中,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 已执行该模式的所有 Runnables反馈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页。具体如下:

为每个唤醒源创建一个 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 通过 BswM_ComM_CurrentPNCMode 报告 PNC 的每次状态变更 [SWS_BswM_00148]、SWS ComM 第35页。BswM 据此切换以太网交换机端口组 Mode-Mgmt-Guide 第49页:

  • 它知晓 PNC 到 EthIfSwitchPortGroup 的映射。
  • 它使用 ETH_MODE_ACTIVE 或 ETH_MODE_DOWN 调用 EthIf_SwitchPortGroupRequestMode。
  • EthIf 通过 BswM_EthIf_PortGroupLinkStateChg 返回该端口组最终的链路状态 [SWS_BswM_91001]、SWS EthIf 第92页。
以太网端口组的 PNC 控制切换ComMBswMEthIfEthSwt / EthTrcvEthSMUse Case: 请求 PNC1BswM_ComM_CurrentPNCMode(PNC1, COMM_PNC_REQUESTED)Regel: PNC1 angefordert将 PNC1 分配给 EthIfSwtPortGroup1EthIf_SwitchPortGroupRequestMode(EthSwtPortGroup1, ETH_MODE_ACTIVE)Anforderungen je Port-Gruppe verwalten,接通或切断 EthSwtPortsloopEthIf_MainFunctionState:该组的所有端口EthSwt_GetLinkState / EthTrcv_GetLinkStateLink-ZustandBswM_EthIf_PortGroupLinkStateChg(PortGroupIdx, ETHTRCV_LINK_STATE_ACTIVE)Transceiver-Link-Zustand meldenUse Case: 释放 PNC1BswM_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页。
  • 跳转至 Bootloader:若在此过程中应用程序已更新,则 DCM 报告 BswM_Dcm_ApplicationUpdated [SWS_BswM_00158]、SWS DCM 第231页。
  • J1939:BswM_J1939DcmBroadcastStatus 为每个 ComMChannelId 传递一个仅覆盖前 16 个通道的位掩码 [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 是否已初始化。若未初始化,它们将忽略请求并向 DET 报告 BSWM_E_UNINIT,例如 [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 开发错误码:

Fehler代码值
初始化前调用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:

进一步详细证据

基于有效载荷中提供的规范摘录生成的 AI 模块指南。个别文档出处来自其他版本;对 R20-11 具有规范约束力的是所链接的需求。标记为推测的表述均为假定。

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]。

用法与语义

一旦分区在重启后恢复,操作系统的重启任务便会同步发起调用 [SWS_BswM_00193]。该函数具有服务 ID 0x1e,并通过头文件 BswM.h 声明 [SWS_BswM_00193]。它不接受任何传入参数(既无输入参数也无输出参数),且没有返回值(void)[SWS_BswM_00193]。

并发性与执行

根据规范,BswM_BswMPartitionRestarted 被归类为可重入(reentrant)[SWS_BswM_00193]。这使得在重启任务的上下文中进行调用成为可能,此时调用方必须确保相关分区的重启在调用前已正确启动。

错误处理与交互

规范未针对此服务定义特定的返回值或 DET/DEM 错误代码 [SWS_BswM_00193]。该交互仅限于由 OS 重启任务触发此通知,以便 BswM 能够对新启动的分区作出响应 [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 State Manager(CanSM)调用,以向 BSW Mode Manager(BswM)报告 CAN 通道的当前状态 [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]。

本使用说明由人工智能生成,并仅基于指定的 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]。它由 ComM 调用,以向 BswM 指示特定通信通道的当前通信模式 [SWS_BswM_00047]。该接口的声明通过头文件 BswM_ComM.h 提供,该服务被分配了十六进制服务 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]。

本使用说明基于 Requirement 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],它由 ComM 调用,以将 Partial Network Cluster (PNC) 的当前模式传输给 BswM。

用法与调用上下文

该接口可通过头文件 BswM_ComM.h 获取,并具有服务 ID 0x15([SWS_BswM_00148])。调用以同步方式执行,不返回任何返回值(void)。仅传递两个输入参数:

  • PNC(类型 PNCHandleType):报告其状态的相关局部网络集群的句柄。
  • CurrentPncMode(类型 ComM_PncModeType):指定 PNC 当前所处的模式。

根据 [SWS_BswM_00148],未提供额外的输入或输出参数。

并发性与限制

在并发性方面,根据 [SWS_BswM_00148],BswM_ComM_CurrentPNCMode 被指定为可重入,因此允许来自 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 由 Communication Manager (ComM) 调用,以向 BswM 指示即将进行的关机 [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];Interpretation:该消息在 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 · 德文原文

用法与调用上下文

根据 [SWS_BswM_00158],函数 BswM_Dcm_ApplicationUpdated 由 Diagnostic Communication Manager (DCM) 调用,以向 BswM 报告应用程序已成功更新。该服务在头文件 BswM_Dcm.h 中声明,并具有服务 ID 0x14。该接口不接收传入参数(void),且不向调用方返回值。

同步性与并发性

根据 [SWS_BswM_00158],该函数被指定为同步且可重入。因此,调用方将保留在 DCM 的执行上下文中,直到 BswM 内对调用的直接处理完成为止。声明的可重入属性原则上允许从不同的任务上下文并发访问该接口。

错误处理与交互

在 [SWS_BswM_00158] 中未为 BswM_Dcm_ApplicationUpdated 提供特定的错误码或向 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 由 Diagnostic Communication Manager(DCM)模块调用,以通知 Basic Software Mode Manager(BswM)通信模式的当前状态 [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,其十六进制表示的服务 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 的关闭阶段由诸如 ECU State Manager 之类的上层状态管理按序执行。 问题 Q-0a5d218bfe9fed04 (未决)

交互与去初始化后的行为

在调用 BswM_Deinit 之后,BswM 模块不再执行任何模式处理([SWS_BswM_00120])。即使向该模块提出外部或内部模式请求,或者 BswM 的周期性主函数继续执行或被调用,这种禁止仍然有效([SWS_BswM_00120])。

此文本由 AI 基于 AUTOSAR 规范生成。

实现者指南即将推出(复杂度 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 由 EcuM 模块调用,以向 BswM 指示当前的 ECU 操作模式 [SWS_BswM_91003]。该接口具有服务 ID 0x28,并通过头文件 BswM_EcuM.h 提供 [SWS_BswM_91003]。

使用

调用该函数时,ECU 的请求状态被同步告知 BswM [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 用作 BswM 的接口,由 EcuM 模块调用,以报告一个或多个唤醒源的当前状态 [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]。

该文本由人工智能基于规范生成。

实现者指南即将推出(复杂度 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 用作通知接口,由 ECU 状态管理器(EcuM)调用,以通知 BswM 模块 Run Request Protocols 的当前状态 [SWS_BswM_91004]。调用同步进行,并被指定为可重入,从而使该函数能够在并发上下文中执行 [SWS_BswM_91004]。该声明通过头文件 BswM_EcuM.h 提供,其服务 ID 为 0x29 [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]。

本使用说明由 AI 基于 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 · 德文原文

使用

根据 [SWS_BswM_91001],函数 BswM_EthIf_PortGroupLinkStateChg 由模块 EthIf 调用,以向 BswM 指示以太网交换机端口组的连接状态(Link State)变更。该接口具有服务 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]。

相互作用

Interpretation: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 的回调和通知接口。根据 [SWS_BswM_00050],它由 Ethernet State Manager(EthSM)调用,以将通信通道的当前状态传输给 BswM。该接口的声明通过头文件 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 用作 BswM 的回调或通知接口,由 FlexRay State Manager (FrSM) 调用以报告 FlexRay 集群的当前状态 [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 的 post-build 配置数据的指针 [SWS_BswM_00002]。不存在输出或输入/输出参数,且不返回任何返回值 [SWS_BswM_00002]。

并发性与执行上下文

执行是同步进行的。关于可重入性,模块行为被指定为有条件可重入(Conditionally Reentrant)[SWS_BswM_00002]。作为解释,这可能意味着仅在特定的系统条件下(例如独立的数据区域)才允许并发调用。 问题 Q-c0063b2a12eb4f41 (未决)此外,该调用通常应在系统初始化过程中、在执行 BswM 的其他操作之前进行。

本段文本由人工智能基于 AUTOSAR 规范 R20-11 生成。

实现者指南即将推出(复杂度 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 传递一个位掩码,该位掩码为每个可用网络包含一位。各个位的位置与通信通道标识符 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 生成。

实现者指南即将推出(复杂度 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 用于在发生状态变更后,向 BSW Mode Manager 同步通知 J1939 网络节点的当前状态 [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]。

并发与调用上下文

处理过程同步执行,并被规范为可重入(reentrant)[SWS_BswM_00194]。因此,在具有多个节点或通道的系统中,通知也可以并发进行。调用方可能是 J1939Nm 模块,该模块在内部状态迁移后将新状态告知 BswM。 问题 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 State Manager (Lin SM) 调用,以向 BswM 指示特定 LIN 通道当前激活的调度表([SWS_BswM_00058])。该服务通过头文件 BswM_LinSM.h 提供,并具有服务 ID 0x0a([SWS_BswM_00058])。

调用时会传递两个输入参数([SWS_BswM_00058]):

  • Network(类型 NetworkHandleType):指示发生了调度表切换的具体 LIN 通道([SWS_BswM_00058])。
  • Current Schedule(类型 LinIf_SchHandleType):传递当前在该 LIN 通道上处于激活状态的调度表的标识符([SWS_BswM_00058])。

该接口既无输入/输出参数也无输出参数,且不返回任何返回值(void)([SWS_BswM_00058])。执行行为被定义为同步(Synchronous),且该函数被指定为可重入(Reentrant)([SWS_BswM_00058])。

规范中未针对该服务列出特定错误码、错误反应或向 DET 或 DEM 发送的报告([SWS_BswM_00058])。解读:推测该调用通常在 Lin SM 完成调度表切换后立即执行,以将切换情况同步通知给 BswM 中的状态评估。 问题 Q-302196d84e739258 (未决)

本说明由人工智能基于 AUTOSAR 规范生成。

函数 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 State Manager (LinSM) 调用,以向 BswM 通知 LIN 通道的状态变更 [SWS_BswM_00052]。它在模块 BswM 中定义,具有服务 ID 0x09,并通过头文件 BswM_LinSM.h 为 LinSM 进行声明 [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 TP 调用,以为特定 LIN 通道请求模式切换 [SWS_BswM_00156]。声明通过头文件 BswM_LinTp.h 进行,服务 ID 为 0x0b [SWS_BswM_00156]。作为输入参数传递:

  • Network(类型 NetworkHandleType):指示模式请求所涉及的受影响 LIN 通道 [SWS_BswM_00156]。
  • LinTp_Mode(作为 LinTp_Mode Lin Tp RequestedMode 传递):确定请求的 TP 模式,该模式与要使用的 LIN 调度表直接相关 [SWS_BswM_00156]。

该函数没有返回值(void)[SWS_BswM_00156]。函数定义中未提供特定错误码、用于错误处理的返回值或 DET 报告 [SWS_BswM_00156]。

并发性与模式管理

该接口被指定为可重入 [SWS_BswM_00156]。这允许从不同的上下文或针对独立的 LIN 通道进行并行调用。由于所请求的模式会影响调度表的选择,因此该函数充当 Lin TP 与 BSW Mode Manager 之间的模式专用接口 [SWS_BswM_00156]。解读:基于该请求,推测 BswM 会进行内部评估,以触发 LIN 调度表的切换。 问题 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) 的回调接口,由 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]。

并发与错误处理

该接口被规范为可重入(reentrant),因此允许并行调用 [SWS_BswM_00235]。\n 元素规范中未列出特定的错误代码、向 DET 或 DEM 的通知以及特殊的错误处理机制 [SWS_BswM_00235]。

相互作用

作为 Nm 与 BswM 之间的集成点,该函数将唤醒信号直接转发至 BswM 处理 [SWS_BswM_00235]。\n Interpretation:该调用在 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]。

并发性与行为

该接口被归类为可重入(reentrant)[SWS_BswM_91002]。因此该函数可以被并发调用,这在不同网络通道上同时发生状态迁移时尤为重要。由于调用被规范为同步,函数仅在内部接收状态变更后才返回给调用方 [SWS_BswM_91002]。一旦通道进入新状态,通常推测由网络管理发起调用 [SWS_BswM_91002]。 问题 Q-8645d9511a825fed (未决)

此文本由 AI 基于 R20-11 规范生成。

实现者指南即将推出(复杂度 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 由 NVRAM Manager (NvM) 调用,以向 Basic Software Mode Manager (BswM) 指示 NVRAM 块的当前块模式 [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 由 NVRAM Manager(NvM)调用,以向 BSW Mode Manager(BswM)通知多块作业的当前状态 [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 由 Service Discovery (SD) 调用,以向 BswM 同步告知客户端服务的当前状态 [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 用作回调接口,由 Service Discovery 调用,以向 Basic Software Mode Manager (BswM) 指示已消费事件组的当前状态 [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]。

并发与错误处理

根据规范,该函数被标识为可重入(reentrant),因此允许在需要时并发调用 [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 用作接口,由 Service Discovery 调用,以向 BSW Mode Manager (BswM) 告知 Event Handler 的当前状态 [SWS_BswM_00210]。Event Handler 的典型状态包括其是否已被请求或释放的信息 [SWS_BswM_00210]。该函数的声明通过头文件 BswM_Sd.h 提供 [SWS_BswM_00210]。

参数与签名属性

该函数不返回任何返回值(void),并在调用时需要两个输入参数 [SWS_BswM_00210]:

  • SdEventHandlerHandleId:类型为 uint16 的标识符,用于唯一寻址关联的 Event Handler [SWS_BswM_00210]。
  • EventHandlerStatus:类型为 Sd_EventHandlerCurrentStateType 的状态信息,反映 Event Handler 的当前状态 [SWS_BswM_00210]。

并发与错误处理

该函数在服务 ID 0x20 下维护,且根据规范实现为可重入(reentrant)[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 由 Watchdog Manager (WdgM) 调用,以向 Basic Software Mode Manager (BswM) 请求重置特定分区 [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]。

本说明由人工智能生成;指南要求根据规范进行验证。

函数 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 中的调用通常可能由 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 操作,自定义的 Callout 函数便由 BSW Mode Manager 调用 [SWS_BswM_00270]。具体的函数名称以及所有传入参数通过配置参数 BswMUserCalloutFunction 确定 [SWS_BswM_00270]。语法被泛型定义为 void <BswMUserCalloutFunction>(implementation_specific),其中任何返回值都会被 BswM 完全忽略 [SWS_BswM_00270]。

并发性与限制

Callout 函数的执行行为(同步或异步)和可重入性均被规范为依赖于配置 [SWS_BswM_00270]。实际的调用上下文推测取决于触发的 BswM 事件或执行 BswM 操作的任务。 问题 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#c1b73cd6
Content hash
c1b73cd6
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);

Callout 与预期接口

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.