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中的服务,或者理解成调用另一个函数。
autosar port和interface概念
最新推荐文章于 2025-11-27 14:43:37 发布
本文介绍了 AutosAR 中的Port和Interface概念。Port是软件组件(SWC)的数据交互接口,分为输入(R-Port)和输出(P-Port),通过全局变量实现数据交换。Interface则是一个抽象概念,包含输入输出Port及它们的连接关系,工具会基于Interface生成内部连接代码。SR-Port用于数据传输,CS-Port用于调用SWC的服务或函数。

1029

被折叠的 条评论
为什么被折叠?



