前言
这篇文章主要搞清楚在模式管理中,BswM和EcuM各自的分工。距离学完模式管理也有几天时间了,写这篇文章算是复习一下。
EcuM及BswM交互总览
EcuM负责Ecu的上下电状态的处理,当Ecu处于正常运行状态的时候,EcuM会将Ecu的控制权交给BswM,而当BswM检测到下电事件后,BswM会调用函数,然后控制权交给EcuM,进行下电或休眠控制。在休面和唤醒阶段需要EcuM和BswM的协同控制。
BswM管理Ecu的周期是从运行BswM_Init()始到运行BswM_DeInit()结束。
总结,EcuM和BswM在Ecu整个运行周期呢是协同配合关系,一起管理Ecu的状态。
上电时BswM与EcuM的交互
BswM的初始化是在StartPostOS Sequence里边调用的,所以在第二阶段的初始化的时候,EcuM将控制权交给BswM模块。
我们可以看到,在StartPostOS Sequence里面会运行BswM_Init()。
下电时BswM与EcuM的交互
下电是倒过来的上电,也以OS为分界分为两个阶段。
EcuM_DeInit()运行在OffPreOS Sequence中。