在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












![[swift刷题模板] 树状数组(BIT/FenwickTree)](https://img-blog.csdnimg.cn/854b468cc6e04dfabf15c24059597d91.png)






![[AUTOSAR][网络管理] 什么是BusOff? 如何实现它?](https://img-blog.csdnimg.cn/239a85a05c5646989999126c58a823e7.png#pic_center)