开始一个全新的文件的梳理,《AUTOSAR_RS_ECUConfiguration》。

762_AUTOSAR_RS_ECUConfiguration1_模板需求1_配置参数

       1 本文档的范围

       ECU 配置是在 AUTOSAR ECU 开发过程中执行的一项活动。

       ECU 配置的输入是系统配置描述的一部分,称为系统配置的 ECU 提取。ECU 配置的活动是为一个 ECU 内的所有软件提供配置信息。这涵盖了从 RTE 配置上的 AUTOSAR SW 组件到大量基础软件模块。

       ECU 配置的输出是用于实际生成和构建 ECU 可执行文件的 ECU 配置描述。

       本需求文档的主要重点是 ECU 配置描述的格式。

762_AUTOSAR_RS_ECUConfiguration1_模板需求1_配置信息_02

       1.1 文档约定

       AUTOSAR 文档中需求的表示遵循 [TPS_STDT_00078] 中指定的表格,请参阅标准化模板,支持可追溯性一章 ([2])。

       [TPS_STDT_00053] 中规定的用于表达义务的口头形式应用于指示要求,请参阅标准化模板,支持可追溯性一章 ([2])。

762_AUTOSAR_RS_ECUConfiguration1_模板需求1_配置参数_03

       2 相关文档

       2.1 输入文档

       以下输入文档已用于制定这些要求:

       • AUTOSAR 基本软件模块的通用要求 [3]

       • 运行时环境的 AUTOSAR 要求 [4]

       • AUTOSAR 方法 [1]

       • AUTOSAR 术语表 [  5]

       • AUTOSAR 通用结构模板 [6]

       • XML 的 AUTOSAR 模型持久性规则 [7]

762_AUTOSAR_RS_ECUConfiguration1_模板需求1_配置信息_02

       2.2 规范文档

       本文档中收集的要求将通过两个规范文档来满足:

       • ECU 配置规范 [8] 该文档提供了配置方法的概要和 ECU 配置参数的开发指南。

       • ECU 配置参数XML [9] 该文档包含了 BSW、RTE、SWComponents 和 ECU 集成的 AUTOSAR 标准化配置参数的规范。

762_AUTOSAR_RS_ECUConfiguration1_模板需求1_自动驾驶_05

       这个表格相比之前的文档也没有增加的信息,跳过。

762_AUTOSAR_RS_ECUConfiguration1_模板需求1_配置信息_06

       看需求的页数其实是不少的,没想到这个需求跟踪矩阵不大。

762_AUTOSAR_RS_ECUConfiguration1_模板需求1_配置参数_07

       ECU配置的需求

       关于模板的需求

       本节中的要求都涉及如何定义 ECU 配置模板。

       ECU配置描述应该是一个ECU整个配置信息的根。

       ECU 配置模板将成为在特定 ECU 上集成软件的支柱。 任何必要的配置信息都应在此模板中汇总或引用。

       软件集成基本上意味着解决软件特定部分之间的相互依赖关系。只有在所有相关信息都可以访问的情况下,才能正确执行解析过程。

       需要注意,此要求并不意味着将所有相关信息都复制到模板中。可以包括对其他模板中元素的引用以避免模型中的冗余元素。

       用例:ECU 配置模板将包括对使用元模型的 SW 组件部分描述的 SW 组件的引用。

它还允许在任务中指定可运行对象的排序,这是任何其他模板未指定的。

762_AUTOSAR_RS_ECUConfiguration1_模板需求1_用例_08

       支持从依赖容器引用

       应该可以定义从参数容器到ECUC 参数定义中的其他参数定义以及其他AUTOSAR 模板中用于标准化AUTOSAR 配置参数的元素的引用。

       如果两个容器之间存在引用,则假定引用容器与被引用容器之间存在依赖关系。

       用例:此类相关性的示例包括:

       • PortPin 引用使用此 Pin 的驱动程序

       • IPdu 中 COM 信号的 BitPosition 由 SystemTemplate 中的 SignalPosition 定义

762_AUTOSAR_RS_ECUConfiguration1_模板需求1_配置信息_02

       指定ECU配置参数定义

       必须捕获(看意思似乎更该翻译成描述) ECU 配置参数的定义及其约束,例如配置类、值范围、多重性。

       对配置参数的约束对于识别和验证很重要。这还包括实际参数本身的有效性,例如范围和预定义值。

762_AUTOSAR_RS_ECUConfiguration1_模板需求1_自动驾驶_10

       支持强制和可选配置参数的标准化

       在 ECU 配置参数定义的标准化中,应该可以定义一个参数是强制性的还是可选的。 可选和强制的定义如下: 强制参数必须由该模块的所有实现实现。它必须始终存在于完整的 ECU 配置描述中。一个可选参数可以被一个实现省略。

       如果澄清并非每个实现都需要支持该参数,则无论如何都可以标准化不适用于每个实现的参数。

       需要注意,对于具体实现,参数要么受支持,然后必须出现在 ECU 配置中,要么不受支持,然后不得出现。 因此,对于具体实现,不再存在可选性,仅在参数定义的标准化版本中存在。

       需要注意,实现仍然可以选择修复强制参数的值(例如,目标代码交付修复了预编译参数的值)。 无论如何,选择的值必须在 ECU 配置描述 [8] 中说明。

       用例:PORT 模块中的参数 ACTIVATE_PULLUP 仅在硬件支持时才需要。 因此,如果目标硬件不支持上拉,则 PORT 模块的实现可以省略该参数。

762_AUTOSAR_RS_ECUConfiguration1_模板需求1_配置信息_11

       支持强制和可选容器

       应该可以将配置参数分组到容器的层次结构中。应该可以定义一个容器是强制性的还是可选的。

       可选和强制的定义如下: 模块中定义的强制容器必须由该模块的所有实现实现。 它必须始终出现在完整的 ECU 配置描述中。 该容器的所有参数和子容器也必须存在,除非它们是可选的。

     一个可选的容器可以被一个实现省略。 如果省略了可选容器,则在该容器中定义的所有参数和子容器也将被省略,无论它们是定义为可选的还是强制的。

       小结:最后一条的描述有点奇怪,既然参数以及子容器有强制的,其父容器居然不是强制的!

       如果澄清并非每个实现都需要支持该容器,则不适用于每个实现的容器无论如何都可以标准化。

       用例:ADC 模块可为微处理器的每个 ADC 通道定义一组参数。 如果特定微控制器上没有 ADC 通道,则这些参数都没有用。 如果定义了一个通道,那么应该填写该通道的所有必需参数。因此,最好定义一个包含必需参数的可选容器,而不是定义多个可选参数(然后可以相互独立地省略)。

       这一次的小结暂且到此,虽然看上去的内容不多,但是感觉这部分的介绍过于抽象。消化理解一下,然后继续后面的探索之旅。