Files
autosar_standard_spec_v4.4/MethodologyAndTemplates/AUTOSAR_RS_ECUConfiguration.md
T

701 lines
32 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# AUTOSAR ECU 配置需求
> **AUTOSAR CP Release 4.4.0**
>
> 原文:*Requirements on ECU Configuration*(文档 ID 085
>
> 翻译状态:**已完成 v1**(所有需求条目完整翻译;变更历史摘要)
>
> 对应原文 PDF`MethodologyAndTemplates/AUTOSAR_RS_ECUConfiguration.pdf`
>
> 翻译日期:Step 3 - P0 批量翻译
---
## 文档标识
| 字段 | 值 |
|------|-----|
| 文档标题(Document Title | ECU 配置需求(Requirements on ECU Configuration |
| 文档所有者 | AUTOSAR |
| 文档责任人 | AUTOSAR |
| 文档标识号 | 085 |
| 文档状态 | 正式版(Final) |
| 所属 AUTOSAR 标准 | Classic Platform |
| 所属标准版本 | 4.4.0 |
---
## 文档变更历史
| 日期 | 版本 | 变更人 | 变更说明 |
|------|------|--------|----------|
| 2018-10-31 | 4.4.0 | AUTOSAR RM | 编辑性修订 |
| 2017-12-08 | 4.3.1 | AUTOSAR RM | 编辑性修订 |
| 2016-11-30 | 4.3.0 | AUTOSAR RM | 更新 [RS_ECUC_00066] 标题 |
| 2015-07-31 | 4.2.2 | AUTOSAR RM | 排版更新 |
| 2014-10-31 | 4.2.1 | AUTOSAR RM | 更新 [RS_ECUC_00008];新增 [RS_ECUC_00085] 与 [RS_ECUC_00086];追溯关系更新 |
| 2013-10-31 | 4.1.2 | AUTOSAR RM | 排版更新 |
| 2013-03-15 | 4.1.1 | AUTOSAR Admin | 排版更新 |
| 2011-12-22 | 4.0.3 | AUTOSAR Admin | 更新 [RS_ECUC_00083];在第 5 章添加详细变更历史 |
| 2010-02-02 | 3.1.4 | AUTOSAR Admin | 引入 Variant Handling;修订法律免责声明 |
| 2008-08-13 | 3.1.1 | AUTOSAR Admin | 修订法律免责声明 |
| 2007-12-21 | 3.0.1 | AUTOSAR Admin | 扩展文档元信息;小幅排版调整 |
| 2007-01-24 | 2.1.15 | AUTOSAR Admin | 修订"用户建议";新增"发布说明"与"修订信息" |
| 2006-11-28 | 2.1 | AUTOSAR Admin | 新增 [RS_ECUC_00076];修订法律免责声明 |
| 2006-05-16 | 2.0 | AUTOSAR Admin | 初始发布 |
---
## 目录
1. [本文档范围](#1-本文档范围)
2. [相关文档](#2-相关文档)
3. [需求追溯](#3-需求追溯)
4. [ECU 配置需求](#4-ecu-配置需求)
5. [变更历史](#5-变更历史)
---
## 参考文献
- [1] MethodologyAUTOSAR_TR_Methodology
- [2] Standardization TemplateAUTOSAR_TPS_StandardizationTemplate
- [3] General Requirements on Basic Software ModulesAUTOSAR_SRS_BSWGeneral
- [4] Requirements on Runtime EnvironmentAUTOSAR_SRS_RTE
- [5] GlossaryAUTOSAR_TR_Glossary
- [6] Generic Structure TemplateAUTOSAR_TPS_GenericStructureTemplate
- [7] XML Schema Production RulesAUTOSAR_TPS_XMLSchemaProductionRules
- [8] Specification of ECU ConfigurationAUTOSAR_TPS_ECUConfiguration
- [9] Specification of ECU Configuration Parameters (XML)AUTOSAR_MOD_ECUConfigurationParameters
- [10] Requirements on Standardization TemplateAUTOSAR_RS_StandardizationTemplate
- [11] Layered Software ArchitectureAUTOSAR_EXP_LayeredSoftwareArchitecture
- [12] Basic Software Module Description TemplateAUTOSAR_TPS_BSWModuleDescriptionTemplate
- [13] Software Component TemplateAUTOSAR_TPS_SoftwareComponentTemplate
- [14] Specification of Memory MappingAUTOSAR_SWS_MemoryMapping
---
## 1 本文档范围
**ECU 配置**是开发一个 AUTOSAR ECU 期间执行的活动之一。
ECU 配置的输入是 System Configuration Description 的一部分,称为 **ECU Extract of System Configuration**。ECU 配置活动为单个 ECU 内的全部软件提供配置信息——这跨越了从 AUTOSAR SW-Components、RTE Configuration 到大量 Basic Software Modules 的范围。
ECU 配置的输出是 **ECU Configuration Description**,用于实际生成与构建 **ECU Executable**
> AUTOSAR 方法论概览(参见 [1] 图 1.1):System Configuration Description → ECU Extract of System Configuration → ECU Configuration Description → ECU Executable
本需求文档的主要焦点是 **ECU Configuration Description 的格式**
### 1.1 文档约定
AUTOSAR 文档中需求的表示遵循 [TPS_STDT_00078] 中规定的表格,详见 [2]。
用于表达义务的动词形式应遵循 [TPS_STDT_00053] 的规定。
---
## 2 相关文档
### 2.1 输入文档
- AUTOSAR General Requirements on Basic Software Modules [3]
- AUTOSAR Requirements on Runtime Environment [4]
- AUTOSAR Methodology [1]
- AUTOSAR Glossary [5]
- AUTOSAR Generic Structure Template [6]
- AUTOSAR XML Schema Production Rules [7]
### 2.2 规范文档
本文档收集的需求将由两份规范文档满足:
- **ECU Configuration Specification** [8]:提供配置方法论的总体轮廓以及 ECU 配置参数的开发指南。
- **ECU Configuration Parameters XML** [9]:包含 AUTOSAR 标准化 BSW、RTE、SW-Components 与 ECU 集成的配置参数规范。
### 2.3 缩略语
| 缩略语 | 含义 |
|--------|------|
| BSW | Basic Software(基础软件) |
| BSWMD | Basic Software Module Description(基础软件模块描述) |
| ECUC | ECU Configuration |
| SW-C | Software Component(软件组件) |
**表 2.1:缩略语**
---
## 3 需求追溯
下表引用 [10] 中规定的需求,并将其链接到本文档对其实现的需求。
| 需求 | 描述 | 满足者 |
|------|------|--------|
| [RS_BRF_01024] | AUTOSAR 应为公共符号提供命名规则 | [RS_ECUC_00086] |
| [RS_BRF_01028] | AUTOSAR 应为其文档中的符号提供命名约定 | [RS_ECUC_00086] |
| [RS_BRF_01120] | AUTOSAR 应支持对已配置 BSW 数据的重新烧写 | [RS_ECUC_00008], [RS_ECUC_00085] |
| [RS_BRF_01136] | AUTOSAR 应支持系统启动后解析的配置 BSW 数据变体 | [RS_ECUC_00078], [RS_ECUC_00079], [RS_ECUC_00080], [RS_ECUC_00082], [RS_ECUC_00083], [RS_ECUC_00084] |
| [SRS_BSW_00159] | AUTOSAR 基础软件所有模块应支持基于工具的配置 | [RS_ECUC_00049] |
| [SRS_BSW_00167] | 所有 AUTOSAR 基础软件模块应提供配置规则与约束以支持合理性检查 | [RS_ECUC_00050] |
| [SRS_BSW_00344] | BSW 模块应支持链接时配置 | [RS_ECUC_00048] |
| [SRS_BSW_00345] | BSW 模块应支持预编译配置 | [RS_ECUC_00047] |
---
## 4 ECU 配置需求
### 4.1 对模板的需求
#### ⌈[RS_ECUC_00032] ECU Configuration Description 应作为某 ECU 全部配置信息的根⌋
| 属性 | 值 |
|------|-----|
| **类型** | 有效 |
| **描述** | ECU Configuration Template 应成为某 ECU 上软件集成的支柱。所有必要配置信息应聚合或引用至该模板。 |
| **理由** | 软件集成本质上是解决软件各部分之间相互依赖的过程。此过程仅当所有相关信息可访问时才能正常执行。注意:本需求并不意味着所有相关信息都被复制进模板。可包含对其他模板元素的引用以避免模型中冗余元素。 |
| **用例** | ECU Configuration Template 将包含对使用元模型的 SW component 部分描述的 SW Components 的引用。它还允许指定任务(task)内 runnable 的排序,这是任何其他模板都未规定的。 |
| **依赖** | 影响:ECU Configuration 工具(编辑器与生成器)需要能够读取其他模板的部分内容(如 System Template、SW Component Template、ECU Resource Template)。 |
⌊()
#### ⌈[RS_ECUC_00072] 支持来自依赖容器的引用⌋
| 属性 | 值 |
|------|-----|
| **类型** | 有效 |
| **描述** | 应能从参数容器定义对 ECUC 参数定义中其他参数定义的引用,以及对其他 AUTOSAR 模板中元素的引用(用于标准化 AUTOSAR Configuration parameters)。 |
| **理由** | 若两个容器之间存在引用,则假设引用容器对被引用容器存在依赖。 |
| **用例** | • `PortPin` 引用使用此 Pin 的驱动程序<br>• IPdu 中 COM Signal 的 BitPosition 由 SystemTemplate 中的 SignalPosition 定义 |
⌊()
#### ⌈[RS_ECUC_00050] 指定 ECU Configuration Parameter Definition⌋
| 属性 | 值 |
|------|-----|
| **类型** | 有效 |
| **描述** | 必须捕获 ECU Configuration Parameters 及其约束(如配置类、值范围、多重性)的定义。 |
| **理由** | 识别和验证配置参数上的约束十分重要。此外还包括参数实际值的有效性,例如范围和预定义值。 |
| **用例** | • 时钟频率需 > 0;• 0 ≤ Data_Length ≤ 8 |
⌊(SRS_BSW_00167)
#### ⌈[RS_ECUC_00055] 支持强制(mandatory)与可选(optional)配置参数的标准化⌋
| 属性 | 值 |
|------|-----|
| **类型** | 有效 |
| **描述** | 在标准化 ECU Configuration Parameter Definitions 时,应能定义参数是强制的还是可选的。其含义:**强制参数**必须由该模块的所有实现实现,必须始终出现在已完成的 ECU 配置描述中;**可选参数**可由实现省略。 |
| **理由** | 对并非所有实现都适用的参数,也可以将其标准化,但需澄清并非所有实现都需支持该参数。注意,对于具体实现,参数要么受支持(则必须出现在 ECU 配置中)要么不受支持(则不得出现)。因此对于具体实现,不再存在可选性,仅在参数定义的标准化版本中存在。注意,实现仍可选择对强制参数固定其值(如对象代码交付固定预编译参数值),但所选值必须在 ECU Configuration Description [8] 中陈述。 |
| **用例** | PORT 模块中的参数 `ACTIVATE_PULLUP` 仅在硬件支持时才需要。因此 PORT 模块实现可在目标硬件不支持上拉时省略该参数。 |
⌊()
#### ⌈[RS_ECUC_00070] 支持强制容器与可选容器⌋
| 属性 | 值 |
|------|-----|
| **类型** | 有效 |
| **描述** | 应能将配置参数分组到容器的层次结构中。应能定义容器是强制的还是可选的。**强制容器**必须由模块的所有实现实现,必须始终出现在已完成的 ECU 配置描述中。该容器的所有参数和子容器也必须出现,除非它们是可选的。**可选容器**可由实现省略。若可选容器被省略,则其内定义的所有参数和子容器均被省略,无论它们是被定义为可选还是强制。 |
| **理由** | 对并非所有实现都适用的容器,也可标准化,但需澄清并非所有实现都需支持该容器。 |
| **用例** | ADC 模块可为微处理器的每个 ADC 通道定义一组参数。若某特定微控制器上不存在 ADC 通道,则这些参数都无用。如果定义了通道,则应填写该通道的所有强制参数。因此最好定义一个包含强制参数的可选容器,而不是定义若干可选参数(这些参数可独立地被省略)。 |
⌊()
#### ⌈[RS_ECUC_00043] 描述无重复(Duplication free description)⌋
| 属性 | 值 |
|------|-----|
| **类型** | 有效 |
| **描述** | ECU 配置描述应只包含每个配置信息一次,即使该信息需要被用来配置多个模块。 |
| **理由** | 这有助于避免描述中的不一致并保持描述紧凑。注意,仍允许包含派生信息:如果配置参数 C 原则上可以从配置项 A 和 B 计算得出,仍可以将 C 包含在模板中。 |
| **用例** | ECU 中使用的任务定义可能对 OS 配置和 RTE 配置都相关,但应只在 ECU 配置模板中定义一次。 |
⌊()
#### ⌈[RS_ECUC_00002] 支持厂商特定的 ECU Configuration Parameters⌋
| 属性 | 值 |
|------|-----|
| **类型** | 有效 |
| **描述** | ECU Configuration 应提供手段,在 BSW 模块 SWS 中定义的标准配置参数之外,加入厂商特定的信息。 |
| **理由** | 必须确保所有 ECU 信息都可存储在 ECU Configuration description 中,以便特定项可传递给生成工具。 |
| **用例** | NVRAM Manager 的特殊属性和一些工具设置必须在 ECU Configuration Parameter Definition 中定义,实际值存储在 ECU Configuration Description 中。 |
| **依赖** | [RS_ECUC_00018]:要求扩展机制以支持标准演进。 |
⌊()
#### ⌈[RS_ECUC_00046] 支持配置类(configuration class)的定义⌋
| 属性 | 值 |
|------|-----|
| **类型** | 有效 |
| **描述** | ECU Configuration parameter definition 应支持配置参数的配置类的定义。 |
| **理由** | BSW SWS 允许多种配置类:pre-compile time(预编译时)、link time(链接时)、post-build time(构建后)。参数的标准化并不一定固定其配置类,而可定义不同的配置类实现变体。实际 BSW 模块实现固定每个参数的配置类。该信息必须存储在 ECU Configuration Parameter definition 中。 |
| **用例** | 若参数 `XXX_DEV_ERROR_DETECT` 被指定为仅 pre-compile 时可配置,则该 BSW 模块实例的所有配置集中该参数值必须一致。 |
⌊()
#### ⌈[RS_ECUC_00012] 不同配置类的统一描述机制⌋
| 属性 | 值 |
|------|-----|
| **类型** | 有效 |
| **描述** | 所有不同种类的配置类应只使用一种配置描述机制。无论描述 "pre-compile-time"、"link-time" 还是 "post-build-time" 配置,描述格式应相同。 |
| **理由** | 配置描述应独立于 BSW 实现。如果实现中参数类发生变化,可能需要附加信息,例如 post-build-time 参数的内存位置。 |
| **用例** | 若一个 BSW 模块被配置为 "pre-compile-time" 配置,并替换为 "link-time" 配置模块,ECU Configuration description 不应因此更换。 |
⌊()
#### ⌈[RS_ECUC_00049] ECU Configuration description 应可被工具处理⌋
| 属性 | 值 |
|------|-----|
| **类型** | 有效 |
| **描述** | ECU Configuration Descriptions 应可被 ECU Configuration 工具和生成器读写。 |
| **理由** | 应通过工具支持 ECU 的配置。 |
⌊(SRS_BSW_00159)
#### ⌈[RS_ECUC_00065] 按照 AUTOSAR Generic Structure Template 开发⌋
| 属性 | 值 |
|------|-----|
| **类型** | 有效 |
| **描述** | ECU Configuration Description 应按照 AUTOSAR Generic Structure Template 开发。 |
| **理由** | 重用为 AUTOSAR 建模已有的经验和工具。 |
| **支撑材料** | AUTOSAR Generic Structure Template [6] |
⌊()
#### ⌈[RS_ECUC_00066] 按照 AUTOSAR XML Schema Production Rules 转换 ECUC 模型⌋
| 属性 | 值 |
|------|-----|
| **类型** | 有效 |
| **描述** | ECU Configuration Template schema 应使用 AUTOSAR XML Schema Production Rules 中描述的模型转换派生得出。 |
| **支撑材料** | AUTOSAR XML Schema Production Rules [7] |
⌊()
#### ⌈[RS_ECUC_00018] 扩展处理(Extension handling)⌋
| 属性 | 值 |
|------|-----|
| **类型** | 有效 |
| **描述** | ECU Configuration 必须允许后续扩展以支持标准的演进。 |
| **理由** | ECU Configuration 与 ECU 资源中可能需要处理当前不属于标准的扩展/附加方面,但这些扩展最终应成为标准下一版本的一部分。 |
| **用例** | 若有新型 ECU 资源出现,应能轻松将其纳入 AUTOSAR 架构,而无需立即更改标准(标准更改可能需要时间)。 |
| **依赖** | [RS_ECUC_00002] 指定永远不会成为标准一部分的厂商特定扩展。 |
⌊()
#### ⌈[RS_ECUC_00074] 支持顺序式 ECU 配置(Sequential ECU Configuration)⌋
| 属性 | 值 |
|------|-----|
| **类型** | 有效 |
| **描述** | 应能分别编辑 ECU Configuration Description 的不同部分。 |
| **理由** | ECU Configuration Description 包含若干模块的配置,这些配置相互影响。因此必须按顺序和迭代地解决依赖。 |
| **用例** | RTE 配置编辑器可以分配 OS Task,OS 配置编辑器仍能更改该 OS Task 的属性。 |
| **依赖** | [RS_ECUC_00025] 暗示工具也可以迭代使用。 |
⌊()
#### ⌈[RS_ECUC_00025] 兼容迭代设计⌋
| 属性 | 值 |
|------|-----|
| **类型** | 有效 |
| **描述** | 按 AUTOSAR 方法论的要求支持迭代设计。 |
| **理由** | 任何产品开发完成时几乎都伴随着设计变更。设计变更无可避免地需要某些设计阶段的迭代。AUTOSAR 工具将被迭代使用,包括 ECU 配置。 |
| **用例** | ECU 配置后产品设计变更,需要开发新的 ECU 配置。 |
| **依赖** | 与 System Constraint/Configuration Description 的使用紧密相关;[RS_ECUC_00074]。 |
⌊()
#### ⌈[RS_ECUC_00078] 值侧容器的可变存在性(Variable existence of container on value side)⌋
| 属性 | 值 |
|------|-----|
| **类型** | 有效 |
| **描述** | 容器及其子结构的存在性应在 ECU Configuration Parameter Description 中可变。 |
| **用例** | OSTask 的可变存在性。 |
⌊(RS_BRF_01136)
#### ⌈[RS_ECUC_00079] 值的可变存在性⌋
| 属性 | 值 |
|------|-----|
| **类型** | 有效 |
| **描述** | 参数或引用的存在性应在 ECU Configuration Parameter Description 中可变。 |
| **用例** | 指定多个可选参数之间的选择。 |
⌊(RS_BRF_01136)
#### ⌈[RS_ECUC_00080] 可变值⌋
| 属性 | 值 |
|------|-----|
| **类型** | 有效 |
| **描述** | 参数或引用的值应在 ECU Configuration Parameter Description 中可变。 |
| **理由** | 基于变体选择器计算参数值。 |
| **用例** | 基于变体配置总线的多个波特率。 |
⌊(RS_BRF_01136)
#### ⌈[RS_ECUC_00082] ECU Configuration Parameter 定义中可变的下/上多重性⌋
| 属性 | 值 |
|------|-----|
| **类型** | 有效 |
| **描述** | ECU Configuration Parameter 定义中下/上多重性的定义应可变。 |
| **理由** | 通过下/上多重性控制 ECU Configuration Parameter description 中元素的存在性。使界限可变允许定义具有灵活性。 |
| **用例** | 决定参数是强制还是可选作为变体。 |
⌊(RS_BRF_01136)
#### ⌈[RS_ECUC_00083] ECU Configuration Parameter 定义中可变默认值⌋
| 属性 | 值 |
|------|-----|
| **类型** | 有效 |
| **描述** | ECU Configuration Parameter 定义中的默认值应可变。该变体不支持"枚举参数定义(enumeration parameter definition"。 |
| **理由** | 默认值是参数的首次输入值。为允许有意义的默认值,应使其可变以便调整。 |
⌊(RS_BRF_01136)
#### ⌈[RS_ECUC_00084] ECU Configuration Parameter 定义中可变 min/max 范围⌋
| 属性 | 值 |
|------|-----|
| **类型** | 有效 |
| **描述** | ECU Configuration Parameters 的 min/max 范围应在 ECU Configuration Parameter 定义中可变。 |
| **用例** | `NvRamBlockId` 的最大值可以是 255 或 65535,取决于选择 8 位还是 16 位。 |
⌊(RS_BRF_01136)
#### ⌈[RS_ECUC_00086] TPS_ECUConfiguration 应为公共符号提供命名约定⌋
| 属性 | 值 |
|------|-----|
| **类型** | 有效 |
| **描述** | TPS_ECUConfiguration 应为公共符号(特别包括需求 ID、模块缩写、元数据和发布文档中使用的配置符号)提供命名约定。 |
| **理由** | 避免规范内的歧义和名称冲突。为规范读者提供一致统一的元数据呈现。允许对规范元素的自动处理。 |
⌊(RS_BRF_01024, RS_BRF_01028)
### 4.2 来自 ECUC 客户的需求
#### ⌈[RS_ECUC_00047] BSW 的预编译时配置⌋
| 属性 | 值 |
|------|-----|
| **类型** | 有效 |
| **描述** | 对于被定义为可在预编译时配置的参数,应能在预编译时配置 BSW 参数。 |
| **理由** | 出于效率原因,某些 AUTOSAR BSW 模块的配置参数被定义为可在预编译时配置。 |
⌊(SRS_BSW_00345)
#### ⌈[RS_ECUC_00048] BSW 的链接时配置⌋
| 属性 | 值 |
|------|-----|
| **类型** | 有效 |
| **描述** | 对于被定义为可在链接时配置的参数,应能在链接时配置 BSW 参数。 |
| **理由** | 当 BSW 模块以对象代码形式交付时,只能在链接时或构建后配置。 |
⌊(SRS_BSW_00344)
#### ⌈[RS_ECUC_00008] BSW 的构建后时配置⌋
| 属性 | 值 |
|------|-----|
| **类型** | 有效 |
| **描述** | 对于被定义为可在构建后配置的参数,应能在构建后重新配置这些配置参数。 |
| **理由** | 这将允许 ECU 中 BSW 组件的构建后时配置以适应周围系统的变化。在将参数定义为构建后可配置时,必须考虑对整个系统的影响。 |
| **用例** | FMC 开发与售后方法论严重依赖于在构建后重新配置 CAN 与 LIN 通信。主要配置项包括信号到帧的映射、帧优先级和帧时序。 |
⌊(RS_BRF_01120)
#### ⌈[RS_ECUC_00085] 在构建后时处理不同配置变体⌋
| 属性 | 值 |
|------|-----|
| **类型** | 有效 |
| **描述** | ECU 配置中应能存在在构建后时绑定的变体点(variation points)。 |
| **理由** | 允许在一个 ECU 中存在若干 ECU 配置变体。 |
| **用例** | 同一 ECU 软件可用于多个共享相同应用的 ECU(例如左、右车门模块),在运行时为每个 ECU 选择正确的配置。 |
⌊(RS_BRF_01120)
#### ⌈[RS_ECUC_00039] 支持 BSW 的配置⌋
| 属性 | 值 |
|------|-----|
| **类型** | 有效 |
| **描述** | ECU Configuration 应支持 BSW SWS 文档中定义的所有配置参数。受支持模块列表可在 Layered Software Architecture 文档 [11] 中找到。 |
| **理由** | BSW 必须根据 ECU Configuration description 进行配置。 |
| **用例** | • BSW SWS 定义配置参数列表,这些参数需在 ECU Configuration template 中反映。<br>• OS SWS 将识别既有格式(如 OIL)中的配置参数并放入 SWS。此时 ECUC 仅使用 OIL 的内容,而非实际格式。 |
⌊()
#### ⌈[RS_ECUC_00015] BSW 模块多实例的配置⌋
| 属性 | 值 |
|------|-----|
| **类型** | 有效 |
| **描述** | 应能描述一个 ECU 上同一 BSW 模块类型的多实例配置——若适用。 |
| **理由** | 某些 BSW 模块类型可在一个 ECU 中以不同实现多次存在(如 FLASH、EEP、watchdog 驱动)。某些 BSW 模块不能多实例化(如 OS、NVRAM-Manager 等)。 |
| **用例** | 当 ECU 上有两个来自不同供应商的外部 EEPROM 芯片时,需要两个不同的 BSW 驱动应付。 |
⌊()
#### ⌈[RS_ECUC_00021] 选择 AUTOSAR SW Component 与 BSW Module 实现⌋
| 属性 | 值 |
|------|-----|
| **类型** | 有效 |
| **描述** | 允许在存在多个 SW Module 实现时选择特定实现。 |
| **用例** | • 来自不同供应商的多个 CAN 驱动<br>• 单一供应商提供的多个驱动版本<br>• AUTOSAR SW Component 的不同实现 |
⌊()
#### ⌈[RS_ECUC_00068] 软件段(sections)到内存的映射⌋
| 属性 | 值 |
|------|-----|
| **类型** | 有效 |
| **描述** | 软件部分(代码、数据)应可映射到特定内存区域。 |
| **理由** | 每个软件由若干段组成,在开发/编译时定义。这些段需放置在 ECU 的不同内存区域。 |
| **用例** | • 若数据应可构建后配置,则需放置在非易失内存中。数据放置位置是工具后续更改数据所需的。<br>• 某些 SW 变量必须放置在 NOINIT 内存区域,在 ECU 启动时不会被初始化。 |
| **依赖** | 软件需要发布开发/编译过程中使用的内存段。这需作为 BSWMD [12] 和 SWC-T [13] 的一部分。 |
| **支撑材料** | Specification of Memory Mapping [14] |
⌊()
#### ⌈[RS_ECUC_00040] 支持 RTE 的配置⌋
| 属性 | 值 |
|------|-----|
| **类型** | 有效 |
| **描述** | 应支持 RTE 的生成与配置。 |
| **理由** | RTE 必须基于 ECUC 信息生成与配置。 |
| **用例** | 分析 RTE SWS 文档中的所有配置需求。 |
⌊()
#### ⌈[RS_ECUC_00076] 支持特定 ECU 上可用 AUTOSAR 服务的配置⌋
| 属性 | 值 |
|------|-----|
| **类型** | 有效 |
| **描述** | AUTOSAR 定义若干可集成到 ECU 的服务。应能定义在特定 ECU 上存在哪些 AUTOSAR 服务。 |
| **理由** | 可能有些 ECU 不需要所有 AUTOSAR 服务,因此可定义子集。 |
| **用例** | 若 ECU 不使用 NvRam,则在此 ECU 上无需 NvRam Manager。 |
⌊()
### 4.3 来自软件组件的需求
#### ⌈[RS_ECUC_00041] 支持 AUTOSAR SW-Component 集成⌋
| 属性 | 值 |
|------|-----|
| **类型** | 有效 |
| **描述** | 应支持 AUTOSAR SW Components 的集成。 |
| **理由** | AUTOSAR SW Components 应在 ECU 上实例化。必须提供相关信息以支持它们在该 ECU 上的集成与执行。 |
⌊()
#### ⌈[RS_ECUC_00073] 支持 AUTOSAR SW Components 的服务配置⌋
| 属性 | 值 |
|------|-----|
| **类型** | 有效 |
| **描述** | ECU Configuration 应支持 AUTOSAR SW Components 与 AUTOSAR Services 之间接口的配置。 |
| **理由** | 在 ECU 配置期间,需要配置 AUTOSAR SW Components 服务访问的特定值。 |
| **用例** | SW Component 需要带符号 ID 的 NVRAM Blocks。NVRAM Manager 配置分配特定 ID 值并需在 SW Component 中配置这些值。 |
⌊()
#### ⌈[RS_ECUC_00016] OS 任务内 runnable entities 的执行顺序⌋
| 属性 | 值 |
|------|-----|
| **类型** | 有效 |
| **描述** | 应能描述在 OS 任务内跨 SW-Component 边界的 runnable entities 的执行顺序。 |
| **理由** | SW-C template 仅可描述一个 SW-Component 内 runnable entities 执行顺序的约束。但必须能描述映射到特定 OS 任务的 SW Component 的 runnable entities 之间的执行顺序,以建立控制流算法(控制流以定义的顺序从一个 SW-C 传递到下一个)。 |
| **用例** | 三个周期执行的 runnable entities 映射到一个 OS 任务。需定义在 OS 任务激活时执行这些 runnable entities 的顺序。 |
⌊()
### 4.4 对配置参数定义的需求
#### ⌈[RS_ECUC_00071] 支持通用配置编辑器(Generic Configuration Editor)⌋
| 属性 | 值 |
|------|-----|
| **类型** | 有效 |
| **描述** | ECU Parameter definition 应以工具可处理格式定义。参数定义应包含足够信息以支持通用配置编辑器。 |
| **理由** | 通用配置编辑器可读取标准化和硬件厂商特定参数的定义,然后显示所有定义的参数,并允许填充包含所有定义参数的 ECU Configuration Description。 |
| **用例** | 减少配置 ECU 所需的配置编辑器数量。简单 BSW 模块应可用通用配置编辑器配置。这也减少了 BSW 供应商为简单 BSW 模块编写特定配置编辑器的工作量。 |
⌊()
### 4.5 流程需求
> 这些需求仅供参考,用于沟通所采取的措施,在后期阶段将被移除。
#### ⌈[RS_ECUC_00029] 识别机制而非标准⌋
| 属性 | 值 |
|------|-----|
| **类型** | 有效 |
| **描述** | WP 产物仅识别可用于配置 ECU 的方法与机制,但不识别配置工程师必须考虑的任何工程权衡(如性能与大小之间)。 |
| **理由** | 机制与应用无关,因此无法评估所有潜在影响。应用相关的权衡必须由工程师在为应用构建中考虑。 |
⌊()
#### ⌈[RS_ECUC_00030] 明确配置术语⌋
| 属性 | 值 |
|------|-----|
| **类型** | 有效 |
| **描述** | 确保 AUTOSAR 中引入的所有配置术语通过术语表条目或其他文档得到充分解释。 |
| **理由** | "pre-compile configuration"、"link time configuration" 和 "post-build time configuration" 等术语在开发应用阶段含义不同。工作包必须确保使用的术语在其可能出现的每个上下文中得到充分澄清。 |
⌊()
### 4.6 外部需求
> 这些是 ECU Configuration Description 自身无法满足的需求,对其他 AUTOSAR 工作产品的要求。
#### ⌈[RS_ECUC_00057] BSW 模块的内存需求⌋
| 属性 | 值 |
|------|-----|
| **类型** | 有效 |
| **描述** | BSW 模块应提供模块的内存需求信息。即使内存需求依赖于实际配置也是如此。 |
| **理由** | 所需内存量通常取决于模块配置,最终至少在配置后确定。 |
| **用例** | COM 栈的构建后数据大小因发送/接收的帧数而异,生成代码的代码大小(ROM)可能不同,RAM 和 EEPROM 中的数据结构也可能不同。 |
⌊()
#### ⌈[RS_ECUC_00036] 识别未初始化的资源⌋
| 属性 | 值 |
|------|-----|
| **类型** | 有效 |
| **描述** | ECU Configuration 应识别 ECU 中未使用的资源。 |
| **理由** | 任何 BSW 模块(标准 AUTOSAR 或 Complex Device Driver)都不使用的资源不会由 ECU 软件初始化。这可能影响 ECU 鲁棒性,导致意外中断或引起伪 EMC 问题。(注:这是对工具而非模板的要求)。 |
| **用例** | 识别未使用(即未初始化)的资源后,用户可向 ECU 添加适当的驱动以至少初始化这些资源(例如显式禁用未使用的中断或 I/O 端口)。 |
⌊()
#### ⌈[RS_ECUC_00056] 识别微控制器寄存器的冲突使用⌋
| 属性 | 值 |
|------|-----|
| **类型** | 有效 |
| **描述** | ECU Configuration 工具应识别由多个 BSW 模块以不一致方式配置和/或访问的微控制器寄存器。 |
| **理由** | BSW 模块(AUTOSAR 驱动、复杂驱动等)可能直接访问微控制器寄存器。当 BSW 模块(甚至来自不同供应商)被集成到单个 ECU 时,这些模块可能尝试以不同方式配置相同的微控制器寄存器。必须识别此类冲突。(注:这是对工具而非 ECUC 模板的要求)。 |
| **用例** | 寄存器的低 4 位由 GPT Driver 使用,同一寄存器的高 4 位由 ICU 使用。若两个模块都写入整个寄存器(8 位),则会覆盖彼此的配置。一旦识别出冲突,可使用不同的 BSW 模块实现或不同的 BSW 配置来解决。 |
| **支撑材料** | [RS_BSWMD_00009] [12] |
⌊()
#### ⌈[RS_ECUC_00062] 初始化未使用内存的配置选项⌋
| 属性 | 值 |
|------|-----|
| **类型** | 有效 |
| **描述** | AUTOSAR 构建环境应提供配置选项,将未使用的内存初始化为默认值。 |
| **理由** | 故障的 ECU 软件可能访问通常不使用的内存位置,甚至可能尝试在未使用的内存位置执行代码。未使用的 RAM 包含随机数据,在错误读取访问或执行时可能导致非确定性行为。初始化未使用内存可提高可靠性。(注:这是对构建工具/环境的要求,而非模板)。 |
| **用例** | 用 HALT 指令填充未使用内存(特别是 ROM/FLASH),以提高对意外代码执行的鲁棒性。用默认值(0 或 HALT 指令)填充 RAM,以减少不当指针操作下的非确定性行为威胁。 |
⌊()
---
## 5 变更历史
### 5.1 R4.0.1 相对于 R3.1.5
#### 5.1.1 新增可追溯条目
| ID | 标题 |
|----|------|
| [RS_ECUC_00078] | Variable existence of container |
| [RS_ECUC_00079] | Variable existence of value |
| [RS_ECUC_00080] | Variable value |
| [RS_ECUC_00082] | Variable lower and upper multiplicity in ECU Configuration Parameter definition |
| [RS_ECUC_00083] | Variable default value in ECU Configuration Parameter definition |
| [RS_ECUC_00084] | Variable min and max ranges in ECU Configuration Parameter definition |
#### 5.1.2 变更的可追溯条目
| ID | 标题 |
|----|------|
| [RS_ECUC_00046] | Support definition of configuration class |
| [RS_ECUC_00065] | Development according to the AUTOSAR Generic Structure Template document |
| [RS_ECUC_00066] | Transformation of ECUC model according to the AUTOSAR Model Persistence Rules for XML |
| [RS_ECUC_00072] | Support for referencing from dependent containers |
#### 5.1.3 移除的可追溯条目
| ID | 标题 |
|----|------|
| [ECUC_0075] | Support exactly one to be configured micro-controller per ECU |
### 5.2 R4.0.3 相对于 R4.0.1
| ID | 标题 |
|----|------|
| [RS_ECUC_00083] | 排除"enumeration parameter definition" |
### 5.3 5.5 R4.1.1 R4.1.3(无变更)
### 5.6 R4.2.1 相对于 R4.1.3
#### 新增
| ID | 标题 |
|----|------|
| [RS_ECUC_00085] | Handling different configuration variants at post-build time |
| [RS_ECUC_00086] | The TPS_ECUConfiguration shall provide naming conventions for public symbols |
#### 变更
| ID | 标题 |
|----|------|
| [RS_ECUC_00008] | Post-build time configuration of BSW |
| [RS_ECUC_00078] | Variable existence of container on value side |
| [RS_ECUC_00079] [RS_ECUC_00084] | (多项) |
### 5.7 R4.2.2 相对于 R4.2.1(无变更)
### 5.8 R4.3.0 相对于 R4.2.2
变更的可追溯条目:
| ID | 标题 |
|----|------|
| [RS_ECUC_00066] | Transformation of ECUC model according to the AUTOSAR XML Schema Production Rules |
### 5.9 R4.3.1 相对于 R4.3.0(无变更)
### 5.10 R4.4.0 相对于 R4.3.1(无变更)
---
## 翻译说明
- 本文档为 **AUTOSAR ECU 配置需求**(RS_ECUC)的完整中文翻译,包含 32 条需求条目。
- 需求 ID 保持英文:`RS_ECUC_xxxxx``RS_BRF_xxxxx``SRS_BSW_xxxxx``RS_BSWMD_xxxxx``TPS_STDT_xxxxx`
- 模块名/服务名保持英文:`BSW``RTE``SW-C``ECUC``OS``COM``CAN``LIN``NVRAM``PORT``ADC``GPT``ICU``EEPROM``FLASH``FMC` 等。
- 元模型概念(`ECU Configuration Description``ECU Configuration Parameter``Configuration Class``pre-compile time``link time``post-build time``mandatory`/`optional``Variation Point` 等)首次出现时给出英文原文。