1.Port
Port是依附在SWC上的概念,比如配置工具配置SWC后,需要配置这个SWC的Port。
• 其实也好理解,如果一个.C文件孤零零的放在那里,与别的C文件没有任何数据交互,那么作为一套代码中的一个C文件,根本没法发挥作用,所以必然在SWC上需要配置上或者输入(R-Port)的或者输出(P-Port)的Port。
但是如果只是Port这个概念的话,实在是太难以理解了,但是如果顺着SWC等于C文件这个思路考虑的话,当C文件之间进行数据交互会是用什么方式呢?
• 那么最简单的方法就是“全局变量”。实际上,在配置好的代码中,可以发现,如果我为SWC1和SWC2之间配置了一个SR的interface的话,SWC1中会有一个函数Rte_Write(),里面会对一个全局变量进行赋值。而另一边SWC2的里面会有一个Rte_Read()的函数,来读取这个全局变量。通过这种方式,达到了数据的交互。
2.Interface
在配置RTE的时候经常会出现这个词,在使用工具配置的时候,如果不太清楚Interface和Port等等的概念的话,即便机械的按照流程配置下来,也依旧不理解,甚至会导致换了一个配置工具后,因为不明白原理结果寸步难行。
通过我自己的配置经验,我觉得Interface是一个抽象的概念,是一个无法直接在代码中对应的概念。
• SWC可以比较准确的对应为.C文件,Interface在配置工具的语境下包含了输入输出Port,以及两个Port之间的连接关系的一个集合。
• 在工具中,会为一个Interface命名,再将输入输出Port连接到这个Interface上,这样RTE层内部如何实现两个Port之间的代码维度的连接,就是工具在生成的了,这个时候内部生成的不管是全局变量抑或是宏定义等等,都会基于这个Interface的元名称进行扩展。正因此,才会需要在工具层面上具象化Interface,并给他一个命名。
总而言之,SR-Port(Sender-Reciever)主要是进行数据的传输,而另一方面CS-Port(Client-Server)则是调用另一个SWC中的服务,或者理解成调用另一个函数。
原文链接:
https://zhuanlan.zhihu.com/p/513337324
使用接口可以让软件组件之间的通信更加灵活,并且可以在不同的系统架构中使用同一套接口。在
Auto
SAR
中,接口是软件组件之间的重要连接,可以用于实现不同的通信机制,例如全局变量、消息传递、数据流等。使用
Auto
SAR
标准接口可以让软件组件之间的通信更加灵活,并且可以在不同的系统架构中使用同一套接口。在
Auto
SAR
中,接口可以使用不同的通信机制实现,例如全局变量、消息传递、数据流等。如果遵守以上准则,使用
Auto
SAR
中的接口可以帮助你在软件组件之间更好地进行通信。中使用 data 的值。
若运行实体采用显示模式的S/R通信方式,数据读写是即时的,这就是显式模式。当多个运行实体需要读取相同的数据时,若能在运行实体运行之前先把数据读到缓存中,在运行实体运行结束后再把数据写出去,则可以改善运行效率,这就是隐式模式。
Port
s是SWC和SWC做接口(
Interface
)通信使用,或者SWC通过RTE和BSW做接口(
Interface
)通信使用。需型端口为接收者(Receiver),供型端口为发送者(Sender)。通信可以是11(1对1的调用)或者n1(多对1的调用)...
温馨提示:关注公众号“嵌入式软件实战派”回复“
AUTO
SAR
”获得整个
AUTO
SAR
实战教程。
在前面的文章《
AUTO
SAR
SWC详解》提到了
Port
和Runnable是SWC的灵魂,配置好SWC还不能用的,接下来看看这个
Port
是什么东西?
在Davinchi Developer工具配置
AUTO
SAR
中的
Port
的时候,遇到了两个
概念
:
Port
Prototype和
Port
Interface
。
也许你会潜意识任务
Port
不就是
Interface
吗,Prototype是个啥玩意?
之前我也这么天真地
今天在打包ip的时候看到ug1118(page58,v2016.4)。发现
port
,pin,
interface
几个
概念
接近又不同。
在vivado当中,
port
就是指ip的输出端口。external
port
是与硬件相连的端口,p...
在
AUTO
SAR
中,应用软件是由一系列相互交互的软件组件构成的。在基于
AUTO
SAR
的应用软件开发过程中,软件组件是整个应用软件的基础,其他软件开发工作如配置、映射等,都是围绕软件组件展开的。本小节重点介绍
AUTO
SAR
中软件组件的相关
概念
。
软件组件(Software Component,SWC)是
AUTO
SAR
中的一个重要
概念
。软件组件是封装了部分或者全部...