全部学习汇总: https://github.com/GreyZhang/hack_autosar

         最近几天遇到了身体不舒服,学习进度落后了不少。接下来的一段时间里需要追补一下。继续看《AUTOSAR_EXP_VFB》,大概浏览了一下,这次的目标是看完第3章节的开篇以及前面的两个章节。

645_AUTOSAR_EXP_VFB文档阅读2_Java

         结合之前的经验,其实VFB看起来与RTE就有一定的相似之处了。在这个级别层级设计一个系统的中心关注点是组件,对应之前掌握的概念或许会是应用软件的一个模块。而组件本身有很多已经定义好的端口,通过这些端口与其他的组件进行交互。当然,这个理解方式只是类比理解,或许这个设计的理念也贯彻到了底层的软件。

645_AUTOSAR_EXP_VFB文档阅读2_Java_02

         这里有一个典型的组件示意图。大概看了一下相关的文字介绍,这里面的端口提供了这个模块本身的输入输出的定义。几个比较特殊的点:1,这个模块是需要访问NVM的; 2,这个模块支持标定功能; 3,标定功能本身其实是基于ecuMode这样的功能来支持的。

645_AUTOSAR_EXP_VFB文档阅读2_Java_03

         这个图是一个传感器-执行器组件,输入信息就是设置信息,而输出行为则是直接控制相应的硬件IO。

645_AUTOSAR_EXP_VFB文档阅读2_Java_04

         一个组件可以简单,也可以复杂。具有的端口也可以很少,涉及到少量简单的服务或者请求,也可能会是比较大量的端口,实现多种数据以及操作的组合。

         AUTOSAR也支持一个组件的多实体化,而图中就是一个例子。比如,加热坐垫功能中的左前座位和右前座位其实是可以是同一个组件的实体化。不同的组件会有自己独立的内部状态,存储到自己独立的存储空间当中。但是,他们可能使用的是同一份代码。

645_AUTOSAR_EXP_VFB文档阅读2_Java_05

         这是关于组件的几条设计实现描述:1,配置阶段,端口必须明确;2,与其他模块的交互,只能够通过端口来实现;3,支持多实体化。

645_AUTOSAR_EXP_VFB文档阅读2_Java_06

         端口-接口。后面还有一个大的小节讲端口,看起来他们之间会有很大的区别。组件的端口与“端口接口”相关联。 端口接口定义了提供或要求该接口的端口必须履行的契约。

         实施上,在配置阶段,每一个端口绑定了一个端口-接口。

         列表的那一行截图其实是截早了,但是文档排版如此。表格在下面。

645_AUTOSAR_EXP_VFB文档阅读2_Java_07

         客户端-服务器、发送-接收、参数接口。

645_AUTOSAR_EXP_VFB文档阅读2_Java_08

         非易失性存储、触发。

645_AUTOSAR_EXP_VFB文档阅读2_Java_09

         模式切换。

         其实,前面的例子中基本上看到了这些接口的种类了。

645_AUTOSAR_EXP_VFB文档阅读2_Java_10

         这一部分其实是对上面的部分解释举例与补充。

645_AUTOSAR_EXP_VFB文档阅读2_Java_11

         几条设计实施要求:1,配置的阶段就该知道端口-接口的种类,是客户端-服务器类还是收发类;2,配置阶段,就该知道客户端-服务器接口包含的操作;3,配置阶段就该知道发送接收类具体包含的数据元素。

645_AUTOSAR_EXP_VFB文档阅读2_Java_12

         AUTOSAR标准化了一些稳定且被广泛应用的接口,目的就是为了一个大范围的覆盖度。上面给出了一系列的领域例子。看上去,接下来我的学习的一个重点应该就是能够快速梳理或者确认哪些接口被标准化了。这样,后期的工作可能会更加规范一些。