在AUTOSAR EcuM SWS里对于Sleep阶段做出了一个宏观的流程设计,如下:
从BswM过渡到EcuM的规则仲裁这里暂时不讲,有兴趣可以看之前我遇到的工程问题分析,特别是BswM状态迁移图:
BswM状态分析
今天主要聊AUTOSAR规定的sleep两种模式:Halt和Poll,以及这两种模式下,MCU到底是如何工作的。
1.Halt和Poll的概念
在规范中,如果休眠模式选用Halt,需要先调用API EcuM_GenerateRamHash,然后将MCU halt住,后续EcuM模块不会再执行任何代码。生成的RamHash会在核从Halt醒来后用API EcuM_CheckRamHash进行校验。
这里就出现了今天的问题一:既然生成了RAM Hash,那么意味着Halt住后至少对应计算的RAM是保持供电的(想一下英飞凌的standby