AUTOSAR:建议直接从Scheduler调用可运行对象吗?

时间:2019-02-20 13:39:27

标签: runnable rte autosar

我正在发现AUTOSAR世界。

我的问题是关于代码的:

我了解到,根据事件(初始,定时,数据接收),使用RTE API从RTE调用SW-C可运行对象。 是否可以从调度程序直接调用可运行对象(例如我们所谓的函数),例如在同步事件之后(例如在引擎的TopDeadCenter中)。 我认为这将“取代” RTE,这样进行是否有危险?

2 个答案:

答案 0 :(得分:0)

绕过RTE绝不是一个好主意,因为它不仅可以调度电话,而且还可以做更多的事情。

看看AUTOSAR体系结构的分层结构;您的RunnableEntity(应用程序)和BSW Scheduler(系统服务)位于“两层楼”。所以不要这样:)

答案 1 :(得分:0)

通常,如果您想绕过RTE所做的事情,则可能不是在按照Autosar的意图进行设计。

直接调用SWC可运行对象是对该概念的极大违反。可运行实体是可调度实体,旨在由OS通过RTE间接调度。 Rn应响应RTEEvent或多个此类事件来激活可运行对象。

规避RTE将违反RTE提供的并发性和可重入性保证,以及RTE针对可运行文件读取/写入的任何数据提供的数据一致性。

如果您要响应事件而调用可运行对象,并且其他SWC检测到此事件,则应该使用客户端/服务器通信。您的可运行对象将成为服务器上的“操作”,并通过调用点进行调用。在这种情况下,您应该在规范中查找“客户端-服务器通信”以了解它。

相关问题