Autosar EcuM学习笔记-上电初始化执行函数及下电前执行函数

文章目录

前言

Autosar启动和下电过程由EcuM控制,本文介绍EcuM中的初始化和下电前的执行函数

Autosar标准

EcuM启动时的初始化

在标准中,主核启动流程如下:

从核启动流程如下:

EcuM_AL_DriverInitZeroEcuM_AL_DriverInitOne 函数是在EcuM_Init 中调用的,对应规范中的需求:

但目前ETAS的代码,InirtZero只在主核 中调用。

EcuM_AL_DriverInitZero主要是初始化跟硬件相关的模块,是在校验EcuM的配置 之前进行初始化的(通过调用EcuM_Prv_PBPointerConsistencyCheck函数)。目前项目中没有配置。

EcuM_AL_DriverInitOne也是初始化跟硬件相关的模块,只是在校验完EcuM的配置之后。

EcuM下电执行过程

在标准中,主核的下电流程如下:

OS关闭前:

OS关闭后:

从核的下电流程如下:

OS关闭前:

OS关闭后:

由上图可知,EcuM_OnGoOffOne和EcuM_OnGoOffTwo 的主要区别 在于OffOne在OS关闭前而OffTwo在OS关闭后

EcuM_OnGoOffOne 函数由EcuM_Prv_ProceedShutdown函数调用,而EcuM_Prv_ProceedShutdown函数运行需要GoDown Flag置true,这个置位是在BswM中完成的(实际调用EcuM_GoDown 函数),标准中描述如下:

EcuM_OnGoOffOne的函数原型如下:

EcuM_OnGoOffTwo 函数由EcuM_Shutdown函数调用,EcuM_Shutdown在OS shutdown hook中运行。也就是在OS关闭之后运行,规范中描述如下:

EcuM_OnGoOffTwo的函数原型如下:

一般在这个阶段,进行Nvm_WriteAll函数调用。也就是说不管是复位还是正常下电 ,都会走Nvm_WriteAll

在正常下电的最后一个阶段,会调用EcuM_AL_SwitchOff

在这个函数中,需要实现使MCU休眠的逻辑

总结

EcuM还有很多细节,有空可以再研究,后面会介绍EcuM中的配置

相关推荐
叶修_A2 天前
FS-11 功能安全ISO26262之生产运维与报废阶段安全保障深度解析
autosar·汽车电子·功能安全·iso26262
齊家治國平天下6 天前
Google AAOS 中 SOME/IP 框架深度解析:从架构到实践
android·autosar·aaos·车载以太网·some/ip·sdv·vsomeip
叶修_A24 天前
AP-03 SOME/IP协议实战 - AUTOSAR自适应平台通信中间件深度解析
autosar·汽车电子·some/ip·ap·通信中间件
赞哥哥s1 个月前
Autosar网络管理笔记-被动唤醒和主动请求时Nm报文发送的差异
autosar·网络管理·nm
硅农深芯1 个月前
解读AUTOSAR:定义现代汽车电子的标准化架构
架构·汽车·autosar
叶修_A1 个月前
【IF-SAFE-05】MTU内存测试 - ASIL-B安全机制
autosar
飞斯柯罗1 个月前
[飞斯柯罗] 为满足网络安全要求,是否必须使用AUTOSAR?
autosar·crypto·mcal·软件复用·汽车网络安全·iso21434·控制器开发
叶修_A1 个月前
【CP-11】复杂驱动设计 - AUTOSAR CP驱动架构与实现
架构·嵌入式·autosar·cp·驱动设计
赞哥哥s1 个月前
诊断请求1101到MCU复位的完整流程
autosar·dcm·1101
无畏jh1 个月前
CCFC3008PCSN与Vector适配经验分享
autosar·国产化·汽车嵌入式·ccfc3008pcsn