SWC基本概念一 S/R、C/S

S/RC/S是什么?

S/Rsender receiver的缩写,C/Sclient server的缩写,这是AUTOSAR在定义接口模板里比较常用的两种类型。当然我们还有用于多个软件组件之间标定变量共享的calibration port interface,这里就不做介绍了。通信应发生于组件之间、应用软件和基础软件之间。主动请求或者发送数据的就是Client/sender端;被动完成服务或被动提供数据接受数据的就是receiver或者server端。

C/S和S/R最大的不同就在于C/S通过operation prototye实现交互,而S/R通过Data Element Prototypes进行交互。

从生成代码来看:C/S采用的是函数的方式传递数据;S/R采用的是全局变量的方式传递数据。

Port interface C/S 中的operation Prototypes是什么,用来做什么?

在swc和swc之间 每一个operation都是一个函数,这个函数在Server端实现,在client端调用。

在swc和service之间每一个operation对应一个宏,指向runnable。

Port interface S/R 中的Data Element Prototypes是什么,用来做什么?

Data Element是一个全局变量,通过Rte_Write_<name>,Rte_Read_<name>对全局变量进行读写。

可以支持 1:n (i.e. one sender, multiple receivers) or n:1 (i.e. many senders, one receiver)

Interface在定data element需要指定类型data types完成。

data types 中的Application data types和implementation data types有什么区别呢

Application data types 提供给应用层使用,是一种功能定义,并不会生成实质代码,需要配合Implementation data type使用。

Implementation data type 则引用了实际上的数据类型,这个数据类型为 base type,还可以设置相应的设计方法和限制条件。

Application data type 在autosar中是可选的,可以直接使用implementation data type。如果使用了application data type 需要增加application data type 和implementation data type之间的映射,这样应用层才有了确切的数据类型。Data type 还可以定义数据单位(unit),数据计算方法(compu method)、数据约束(data constraint),library其实是为了创建不同的package

  • 14
    点赞
  • 114
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值