702_AUTOSAR_TR_Methodology_文档阅读24_快速原型

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

       继续梳理《AUTOSAR_TR_Methodology》。

702_AUTOSAR_TR_Methodology_文档阅读24_快速原型

       快速原型目的

       此用例描述了在 AUTOSAR 中启用快速原型设计的常用活动。

       描述

       在ECU开发过程中,可以使用快速原型设计来评估和测试各种功能的新软件控制算法。

       使用 Fullpass 技术,原始 ECU 被快速原型单元 (RPU) 完全取代。 使用 Bypass 技术,原始 ECU 和软件保留在控制回路中以支持大多数控制算法并与传感器、执行器和通信总线接口:只有应原型化的特定控制算法被 RPU(外部旁路)驱动或 甚至直接在原ECU中执行(内部旁路)。 绕过主要包括在运行时用原型算法计算的值替换原始软件算法的输入和/或输出。

702_AUTOSAR_TR_Methodology_文档阅读24_快速原型

       快速原型场景的定义

       为了实现快速原型制作,首先定义初始快速原型制作场景(定义快速原型制作场景任务)。 ECU Extract生成后,需要对ECU Extract of Rapid Prototyping Scenario进行精炼,实现一个完整的快速原型场景(task Refine Rapid Prototyping Scenario)。

702_AUTOSAR_TR_Methodology_文档阅读24_快速原型

       快速原型场景部件内容

       RPT 场景包括两个主要方面:旁路点的描述和与钩子的关系。 旁路点描述了主机 ECU 所需的准备工作。在旁路点,主机 ECU 应能够与 RPT 系统通信,以支持使用主机系统计算的原始数据执行快速原型设计算法,并用主机系统快速原型算法的结果替换主机系统的专用结果。钩子代表旁路点和快速原型算法之间的链接。

       很明显,绕过点和钩子参考了参数访问(dataWriteAccess、dataReadAccess、dataSendPoint、dataReceivePointByValue、dataReceivePointByArgument、writeLocalVariable、readLocalVariable)等方面。

       目前,AUTOSAR 支持两种快速原型设计方法:组件包装方法和直接缓冲区访问方法。

702_AUTOSAR_TR_Methodology_文档阅读24_快速原型

       组件组装方法

       组件封装方法包括使用实现绕过的集成代码(快速原型封装头文件和快速原型封装源代码)封装原始软件组件实现。 使用这种方法,集成代码能够控制软件组件的 AUTOSAR 接口,因为 RTE 和 SW-C 之间不再有直接调用,但一切都通过集成代码进行。

       为了使用此方法,必须正确配置 RTE(配置 RTE任务,有关配置详细信息,请参阅 AUTOSAR_SWS_RTE [15],第 4.9.2 节)。 此外,基于快速原型设计场景工件的完整 ECU 提取,必须生成和编译相应的包装器代码(活动封装 SW-C)。 根据开发策略,包装器代码生成可以在开发过程的不同阶段进行处理。

       RTE 通过生成带有 c 命名空间的 SW-C 接口来支持组件包装器方法,其中包括一个额外的 [Byps_] 中缀用于绕过的 SWC(任务生成 RTE,有关详细信息,请参阅 AUTOSAR_SWS_RTE [15],第 4.9.2 节)。

       绕不开的RTE啊!

702_AUTOSAR_TR_Methodology_文档阅读24_快速原型

       直接缓冲区访问方法

       直接缓冲区访问方法提供对实现 ECU 通信基础设施的 RTE 缓冲区的运行时直接读写访问。 如果为软件组件类型启用了用于旁路支持的直接缓冲区访问方法,则生成 RTE 任务会使用 mcDataAccessDetails 为每个实现该软件组件类型的隐式通信的抢占区域特定缓冲区生成 RTE 测量和标定支持数据(有关详细信息,请参阅 AUTOSAR_SWS_RTE [15],第 4.9.3 节)。 对于此方法,无需生成包装器代码。

       其实,大致总结一下的话可以这么理解两个方式:包装器的方法其实是给SWC穿了一个壳子;而缓冲区的方法则是修改RTE。两种方法都是提供SWC的输入输出信息的处理,只是修改的部分或者手段不同,包装器应该不需要RTE本身的配置。

702_AUTOSAR_TR_Methodology_文档阅读24_快速原型

       A2L居然是工作流程的一个环节,看起来这个标定监控功能在汽车电子里面是一个MUST的元素了。

702_AUTOSAR_TR_Methodology_文档阅读24_快速原型

       此用例显示了从更新的快速原型设计场景到更新生成的 RTE 和生成的 A2L 文件所需的典型步骤。 用例假设快速原型设计场景在现有系统中发生了变化,因此省略了定义和构建新系统所需的步骤,仅显示了校准相关步骤。

       此外,用例包括更新一组标定参数值作为 RTE 输入的(可选)任务。这个很奇怪,既然标定可选那么A2L每次都声称的意义仅仅是为了监控吗?

702_AUTOSAR_TR_Methodology_文档阅读24_快速原型

       封装软件组件以实现快速原型设计。

       在此活动期间,根据快速原型设计方案生成包装器代码,并编译软件组件并与生成的包装器链接。

       这个小结暂且到此结束,看起来我目前的工作中没有快速原型,但似乎又处处都是快速原型。说到底,还是我现在接触到的开发路子野,跟这种标准化的东西有一定的差异。

上一篇:声网 Agora 上市一周年,从 RTC 到 RTE,重视开发者生态


下一篇:PMD - 用 XPath 开发代码规则