AUTOSAR:建议直接从Scheduler调用runnable?

问题描述 投票:1回答:2

我正在发现AUTOSAR世界。

我的问题是代码:

据我所知,根据事件(init,timing,datareceive),使用RTE API从RTE调用SW-C runnable。是否可以从调度程序直接调用runnable(比如我们调用函数),例如在同步事件之后(例如在引擎的TopDeadCenter中)。我认为这将“覆盖”RTE,这样做会有危险吗?

runnable rte autosar
2个回答
0
投票

绕过RTE绝不是一个好主意,因为它不仅仅是调度调用。

看一下AUTOSAR架构的分层结构;您的RunnableEntity(应用程序)和BSW Scheduler(系统服务)是“两层楼”。所以不要。 :)


0
投票

一般来说,如果你想绕过RTE所做的事情,你可能不会按照Autosar的意图设计东西。

直接调用SWC runnables是一个相当大的违反概念。 Runnables是可调度的实体,旨在由OS间接通过RTE进行调度。应该由RTE激活runnable以响应RTEEvent或多个这样的事件。

绕过RTE将违反RTE提供的并发性和重入性保证,以及RTE提供的关于runnable读/写的任何数据的数据一致性保证。

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

© www.soinside.com 2019 - 2024. All rights reserved.