前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >AutoSAR专题(三)RTE

AutoSAR专题(三)RTE

作者头像
xbai921031
发布2024-06-21 12:27:45
1100
发布2024-06-21 12:27:45
举报

RTE(Run-Time Environment),是AutoSAR架构的核心,是AUTOSAR虚拟功能总线(Virtual Function Bus,VFB)接口的实现。

RTE可以分为两个子部分:

  • SWC之间的通信
  • SWC的调度

RTE的主要目的是使SWC与ECU的映射无关,为Application和BSW之间提供通信服务的中间层。

01—软件组件(SWC)

AutoSAR软件组件SWC可以分为以下3个大的类别:

  • AtomicSwComponent

原子组件,无法再分。

  • ParameterSwComponent
  • CompositionSwComponent

多个SWC的集合。

如下图所示:

02—端口(Ports)

端口(Ports)是属于SWC的一部分,用于SWC之间的通信。

可以分为2种:

  • Sender/Receiver Port

基于数据的端口,传递数据。

Sender:提供数据

Receiver:请求数据

Sender和Receiver之间的数据传输,可以有1:n或者n:1的情况,即一个Sender可以发送数据给多个Receiver,也可以是多个Sender发送数据给同一个Receiver。

  • Client/Server Port

基于操作的端口,可以理解为函数接口的调用。

Client:请求服务

Server:提供服务

Client和Server之间的操作调用,只有n:1而没有1:n的情况,即可以有多个Client请求一个Server,没有一个Client请求多个Server的。

03—连接器(Connector)

连接器可以理解为接口,即SWC之间,SWC与Composition之间的接口,分为:

  • Assembly Connector

SWC之间的连接器。

  • Delegation Connector

Composition与外部模块之间的接口。

04—运行实体(Runnables)

Runnables在OS的任务(task)或者2类中断(ISR2)中执行,它们的执行是由RTE Event触发的。一个SWC可提供一个或多个Runnables,Runnables就是一段可执行代码(函数)。

1)对于Sender/Receiver之间的通信,RTE支持两种模式的通信:

  • 显式的(Explicit)

SWC使用显式RTE API来发送和接收数据。

Explicit Read:

Explicit Read是直接访问数据地址,会跟着数据的变化而变化。

Explicit Write:

此处假设Runnable写操作时没有其他Runnable写这块数据。

  • 隐式的(Implicit)

RTE在Runnable被调用之前先自动读取数据,并且在Runnable终止后自动写入(另一组)数据,Runnable不会主动发起数据的传输。

Implicit Read:

进入Runnable之前RTE为数据建立副本,Runnable运行结束后,RTE会把副本数据拷贝到数据实际地址中,Runnable运行过程中只操作副本。

Implicit Write:

如果一个Runnable运行期间对同一个数据进行了多次写访问,只会把Runnable运行期间的最后一个数值写回数据地址中。

2)对于Client/Server之间的通信,RTE也支持两种模式的通信:

  • 同步模式

Runnable Client端会因为等待Server端的响应而被阻塞。

  • 异步模式

非阻塞。

05—SWC内部通信

为保证同一SWC内部,不同task上运行的Runnable通信数据的一致性,有两种方法:

  • 内部变量(Inter-runnable variable)

仅变量被保护,使用接口Rte_IrWrite_xxx。

  • 专有区域(Exclusive Area)

整个专有区域将会被保护。

接口Rte_Enter_xxx放在被保护区域的开始处;

接口Rte_Exit_xxx放在被保护区域的结束处。

06—总结

RTE配置将Runnables对应到OS的task中,通过RTE事件来触发task,以实现SWC之间的通信。这种做法抽象了OS,防止SWC直接访问OS。

END

参考文献:

AUTOSAR_CP_SWS_RTE.pdf

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-06-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 进击的程序喵 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档