背景:BswM模块将ECU分为以下状态,以下这些状态的切换按照下面的图表进行。正常运行的时候都是处于RUN的状态。下电的过程就是RUN-->PostRUN-->SHUTDOWN的过程。从RUN进入到PostRUN的过程通常需要满足很多的条件,例如nocom的状态。
需求:在某些特殊情况下,需要快速下电,例如上位机请求0x10 02 跳转到Bootloader中进行刷写,有关详情请阅读从Application中进入BootLoader中正确流程。
实现:为了满足这个需求,我们可以使用“kill all run request port”功能,具体操作流程如下:
1.在下图中打开“kill all run request port”功能
2.打开后,多出了相关的port,然后关联到SWC, 在SWC中调用这个RTE接口
3.在RunToPostRun这个Rule中,只要收到SWC的“kill all run request”的请求,就开始了下电流程。
注:RunToPostRunNested ESH_PostRunNested ESH_PostRunToPrepNested 中也同样有相关的逻辑。
如果有更多的问题需要咨询,可以加入问题咨询群与我们进行讨论,qq群号:531159112
关注公众号“奥先生学Autosar”查看更多文章