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中的配置

相关推荐
正午游巳8 天前
第二十节:MCAL GPT理论
汽车·嵌入式·autosar·车载嵌入式
正午游巳9 天前
第二十一节:MCAL GPT实操
汽车·autosar·汽车电子·车载嵌入式
酷酷的boy10 天前
AUTOSAR下网络时间(CAN)与本地 RTC 同步。
autosar·汽车电子
AUTOSAR组织1 个月前
AUTOSAR CP NvM 模块解析
汽车·autosar·软件架构·软件·标准
赞哥哥s1 个月前
2025年终总结简版
autosar
汽车软件工程师0011 个月前
ChatGpt指导嵌入式软件开发能力——2、TriCore深度专项训练
人工智能·chatgpt·autosar
汽车软件工程师0011 个月前
ChatGpt指导嵌入式软件开发能力
人工智能·chatgpt·autosar
汽车软件工程师0011 个月前
vector autosar,CAN 总线上能看到报文RTE 收不到信号COM 层 IPDU Callout 不触发
autosar
汽车软件工程师0011 个月前
vector autosar配置一个CAN接收报文,RTE层发现并未接收到信号,怎样查这个问题
开发语言·autosar
Dotrust东信创智1 个月前
汽车安全通信的行业标准密码-E2E
e2e·autosar·preevision