EcuM(ECU State Manager)是 AUTOSAR 内核的核心模块,负责:
EcuM / ECU State / Startup / Run / PostRun / Shutdown / Sleep / Wakeup / Alarm / Clock / Boot Target / AL(Abstraction Layer)/ DEM / DET / OS / SchM
EcuM 行为部分可配置(PC/PB 变体);Wakeup/Alarm 依赖 OS/Time Service。
EcuM 依赖 OS(启动/调度)、BswM(模式仲裁)、NvM(数据恢复)、SchM(临界区)、ComM(通信)、DET、DEM。
SWS_EcuM_NNNNN 规范项 ID 约 200+ 条(编号 00001-91001)。
5 大状态:STARTUP/RUN/POST_RUN/SHUTDOWN/SLEEP。
转换流程:
OFF/POWER_ON → STARTUP → RUN ⇄ POST_RUN → SHUTDOWN → OFF/SLEEP → WAKEUP → STARTUP
5 大状态:NONE/PENDING/VALIDATED/EXPIRED/REJECTED。
多用户请求/释放 RUN/POST_RUN 资源;当所有用户释放时自动转换状态。
Shutdown 目标:OFF/SLEEP/RESET;Shutdown 原因:POWER_DOWN/ERROR/WAKEUP_TIMEOUT 等。
ECUM_E_UNINIT / ECUM_E_INIT_FAILED / ECUM_E_PARAM_POINTER / ECUM_E_INVALID_STATE / ECUM_E_UNKNOWN_WAKEUP / ECUM_E_INVALID_PARALLEL_PROCESSING / ECUM_E_RAMHASH_FAILED / ... 等 20+ 个。
ECUM_E_FLEXRAY_PNC_SHUTDOWN_ERROR 等。
无(瞬态/生产/扩展生产)。
EcuM_StateType(STARTUP/RUN/POST_RUN/SLEEP/SHUTDOWN/...) / EcuM_BootTargetType / EcuM_ShutdownCauseType / EcuM_WakeupSourceType / EcuM_RunStatusType
| API | 功能 |
|---|---|
| EcuM_Init | 初始化 EcuM |
| EcuM_StartupTwo | 启动阶段 2 |
| EcuM_Shutdown | 关闭 |
| EcuM_GoDownHaltPoll | 下电停止轮询 |
| EcuM_SetState | 设置状态 |
| EcuM_GetVersionInfo | 获取版本信息 |
| EcuM_MainFunction | 主函数(状态机调度) |
| API | 功能 |
|---|---|
| EcuM_RequestRUN | 请求 RUN 状态 |
| EcuM_ReleaseRUN | 释放 RUN 状态 |
| EcuM_RequestPOST_RUN | 请求 POST_RUN 状态 |
| EcuM_ReleasePOST_RUN | 释放 POST_RUN 状态 |
| API | 功能 |
|---|---|
| EcuM_SelectShutdownTarget | 选择关闭目标 |
| EcuM_GetShutdownTarget | 获取关闭目标 |
| EcuM_GetLastShutdownTarget | 获取上次关闭目标 |
| EcuM_SelectShutdownCause | 选择关闭原因 |
| EcuM_GetShutdownCause | 获取关闭原因 |
| API | 功能 |
|---|---|
| EcuM_GetPendingWakeupEvents | 获取待处理唤醒事件 |
| EcuM_ClearWakeupEvent | 清除唤醒事件 |
| EcuM_GetValidatedWakeupEvents | 获取已验证唤醒事件 |
| EcuM_GetExpiredWakeupEvents | 获取已过期唤醒事件 |
| EcuM_SetWakeupEvent | 设置唤醒事件 |
| EcuM_ValidateWakeupEvent | 验证唤醒事件 |
| API | 功能 |
|---|---|
| EcuM_SetRelWakeupAlarm | 设置相对唤醒 Alarm |
| EcuM_SetAbsWakeupAlarm | 设置绝对唤醒 Alarm |
| EcuM_AbortWakeupAlarm | 中止唤醒 Alarm |
| EcuM_GetCurrentTime | 获取当前时间 |
| EcuM_GetWakeupTime | 获取唤醒时间 |
| EcuM_SetClock | 设置时钟 |
| API | 功能 |
|---|---|
| EcuM_SelectBootTarget | 选择启动目标 |
| EcuM_GetBootTarget | 获取启动目标 |
EcuM_AL_SetProgrammableInterrupts / EcuM_AL_DriverInitZero / EcuM_AL_DriverInitOne / EcuM_AL_DriverInitBswM_<x> / EcuM_AL_SwitchOff / EcuM_AL_Reset / EcuM_ErrorHook / EcuM_LoopDetection / EcuM_OnGoOffOne / EcuM_OnGoOffTwo / EcuM_EnableWakeupSources / EcuM_DisableWakeupSources / EcuM_StartWakeupSources / EcuM_StopWakeupSources / EcuM_CheckValidation / EcuM_StartCheckWakeup / EcuM_CheckWakeup / EcuM_EndCheckWakeup / EcuM_GenerateRamHash / EcuM_CheckRamHash / EcuM_SleepActivity / EcuM_DeterminePbConfiguration / EcuM_AL_DriverRestart
共 50+ API 函数(应用实现 + EcuM 调用 + EcuM 提供)。
| 容器 | 描述 |
|---|---|
| EcuM | 根容器 |
| EcuMGeneral | 通用配置(PC/PB 变体) |
| EcuMDriverInitList / EcuMDriverInitItem | 驱动初始化列表 |
| EcuMDriverRunItem / EcuMDriverPostRunItem | 驱动 RUN/POST_RUN 列表 |
| EcuMWakeupSource | 唤醒源配置 |
| EcuMAlarmClock | Alarm/Clock 配置 |
| EcuMShutdownTarget | Shutdown 目标配置 |
| EcuMShutdownCause | Shutdown 原因配置 |
| EcuMBootTarget | Boot Target 配置 |
| EcuMFixedUserConfig | 固定用户配置 |
| EcuMRamHashConfig | RAM Hash 配置 |
| EcuMModeUserConfig | 模式用户配置 |
| EcuMValidator / EcuMComMChannels | 验证器/通信通道 |
| EcuMFlexRayConfig / EcuMPncConfig | FlexRay/PNC 配置 |
共 15+ ECUC 容器,含 50+ 配置参数。
校对轮次:L1 自动校对(2026-06-13)