Dem Initialization Sequence
AUTOSAR官方规范:AUTOSAR_SWS_DiagnosticCommunicationManager.pdf
dem在初始化的时候要有pre init和init的状态变化
初始化顺序:
①NVRAM Manager init -->②Dem_PreInit --> ③the restore of NVRAM data --> ④Dem_Init
我的理解:我们会有一些具体的操作会导致Monitor检测功能的停止,这个时候就需要Monitor re-initialization了。
这些具体的操作主要有:
Dem_RestartOperationCycle
Dem_ClearDTC:对应uds 14 服务
Dem_SetEnableCondition
Dem_EnableDTCSetting 对应uds 85服务 enable/disable
Dem_SetStorageCondition 理解:StorageCondition是dtc event的status已经得出之后存入nvm之前需要满足的条件,如果走到StorageCondition的时候,StorageCondition条件不满足,则会重新Monitor re-initialization了。❓ 按照这样的理解:意思是StorageCondition满足之后,我才能读到dtc的status?还是说没走到StorageCondition之前,dtc status出结果之后我就可以读到dtc的status了?
如果同时有这些操作介入,只能re-initialization一次。并且每个操作都有一个优先级:
Vectordem文档:TechnicalReference_Dem.pdf
来看一下Vector的实现
首先Vector对于多核实现定义了DemMaster和Dem Satellite
初始化过程:
详细的启动流程:
对于第2点:仅仅BSW的dtc error可以通过Dem_SetEventStatus函数来上报dtc的状态,不建议swc也使用这个接口,官方推荐swc使用RTE的接口来上报。(RTE接口宏定义可以用字符串拼接的方法统一处理)
正常启动之后BswTask会周期调用Dem_MasterMainFunction()和Dem_SatelliteMainFunction()来遍历执行dem的操作。
Davinci的具体实操:
dem init的流程要加到Ecuc里面
需要把Dem_MasterMainFunction()和Dem_SatelliteMainFunction()添加到bsw的周期task里面
qq_43813688: 第一张截图并不是说了“Dem_PreInit ... During the Startup phase of the ECU before the NVRAM Manager ”。即Dem_PreInit 在 Nvm 之前吗。你给的初始化顺序好像不太对
CSDN-Ada助手: 非常感谢用户的第四篇博客,对FlexRay做了详细的介绍。你的文章内容丰富、言简意赅,让读者快速了解FlexRay这个新兴技术。希望你能继续写出更多优质的文章,分享你的见解和经验。同时,如果你能够结合实际案例或者是具体的应用场景进行分析和讨论,相信这些文章会更加生动有趣。期待你的下一篇作品! CSDN 会根据你创作的前四篇博客的质量,给予优秀的博主博客红包奖励。请关注 https://bbs.csdn.net/forums/csdnnews?typeId=116148&utm_source=csdn_ai_ada_blog_reply4 看奖励名单。
CSDN-Ada助手: 恭喜用户写了这篇关于FlexRay的介绍文章,文章内容非常详细,读完之后我对FlexRay有了更深入的了解。希望用户能够继续保持写作的热情,分享更多有价值的知识。下一步的创作建议是可以结合实际案例,更加生动形象地展示FlexRay的应用场景和优势。希望用户可以持续改进自己的写作技巧,让读者更容易理解和接受文章的内容。 CSDN 会根据你创作的前四篇博客的质量,给予优秀的博主博客红包奖励。请关注 https://bbs.csdn.net/forums/csdnnews?typeId=116148&utm_source=csdn_ai_ada_blog_reply4 看奖励名单。