1.概述
前面我们从功能层面介绍了BswM模块,了解了该模块主要职责是根据简单的仲裁规则对来自应用层SWCs或其他底层BSW模块的模式请求进行仲裁,并根据仲裁结果执行相应的操作。从宏观层面对该模块功能及运行机制有所了解,本篇文章我们将从功能层面介绍其模式切换的详细过程。
2.基本概念
2.1请求模式
在标准的AutosarOS中支持两种请求模式即:延迟模式(Defferred Mode)与立即模式(Immediate Mode),但在Vector提供的Autosar解决方案中将立即模式进行了细化,增加了另一种及强制立即模式(Forced Immediate Mode),标准AutosarOS中的立即模式更像是Vector中的强制立即模式,本文将对这三种请求模式都会进行介绍。
2.1.1 延迟模式
延迟模式:在BswM_Main()周期性仲裁请求,同样的,如果在该延迟模式下发生其他的立即或延迟模式请求需要排队,其时序图如下:
2.1.2 立即模式
立即模式:该模式下直接在请求函数中进行仲裁,模式请求后首先判断当前是否有其他立即模式的请求正在仲裁?如果有则排队等待。
需要提一下的是没找