Flex EcuM 状态管理器的功能分为从启动阶段到关闭阶段的不同阶段。下图 显示了Flex EcuM模块的所有阶段的概览。

STARTUP阶段分为两部分,一部分在OS初始化之前,一部分在OS初始化之后。STARTUP阶段的主要目的是初始化不同的基础软件模块。如初始化Det_Init(),Mcu_Init()…
EcuM启动OS并完成SchM和BswM的初始化后,ECU进入UP阶段。当 BSW Scheduler 启动并调用 BswM_Init 时,UP 阶段开始。这个时后,内存管理仍未初始化,通信堆栈不存在,软件组件 (SW-C) 尚未启动。该阶段由软件集成工程师根据具体需求定义,ECU 根据集成商的特定需求从一种状态进入另一种状态,从一种模式进入另一种模式。如进行下面的初始化:
调用 API EcuM_GoDown() 时触发关闭阶段。它处理基本软件模块的关闭并导致关闭目标之一,即RESET 或 OFF。此阶段要完成的主要任务是把非易失性数据写回 NVRAM 块。
在关机结束时,会调用 ShutdownOS() API。
在这个阶段,不应该执行任何代码 ,但是仍然为 ECU 供电。这应该是一种省电状态,以节省能源。根据配置,ECU 可以在此状态下唤醒。EcuM 模块提供睡眠模式,这是总功耗和 ECU 重启时间之间的折衷做法,即比较关机模式,睡眠模式可以加快ECU的启动时间。
ECU 唤醒以响应预期或非预期唤醒事件的到来。EcuM 模块提供的唤醒流程校验协议会忽略意外唤醒事件。
当ECU断电时,它进入OFF状态。如果唤醒源具有集成的电源控制,如带有SPI的CAN收发器TJA045,它可能仍可在此状态下唤醒。