AUTOSAR 基本软件模块描述模板需求
AUTOSAR CP Release 4.4.0
原文:Requirements on Basic Software Module Description Template(文档 ID 086)
翻译状态:已完成 v1(封面+前言+用例+需求+变更历史完整翻译)
对应原文 PDF:MethodologyAndTemplates/AUTOSAR_RS_BSWModuleDescriptionTemplate.pdf
翻译日期:Step 3 - P0 批量翻译
文档标识
| 字段 |
值 |
| 文档标题(Document Title) |
基本软件模块描述模板需求(Requirements on Basic Software Module Description Template) |
| 文档所有者(Document Owner) |
AUTOSAR |
| 文档责任人(Document Responsibility) |
AUTOSAR |
| 文档标识号(Document Identification No) |
086 |
| 文档状态(Document Status) |
正式版(Final) |
| 所属 AUTOSAR 标准 |
Classic Platform(经典平台) |
| 所属标准版本 |
4.4.0 |
原文版权:© AUTOSAR — 机密文件
本中文译文仅供学习参考。
免责声明(Disclaimer)
本作品(规范和/或软件实现)及其包含的材料由 AUTOSAR 发布,仅供信息参考。AUTOSAR 及为其做出贡献的公司不对作品的任何使用承担责任。
本作品中包含的材料受版权及其他类型知识产权保护。对本作品所含材料的商业利用需要获得这些知识产权的许可。
本作品可在不作任何修改的情况下、以任何形式或任何手段用于纯信息性目的。任何其他目的,未经出版者书面许可,作品的任何部分不得被利用或复制。
本作品仅为汽车应用而开发。它既未为非汽车应用而开发,也未为非汽车应用而进行测试。
"AUTOSAR" 一词和 AUTOSAR 标志是注册商标。
文档变更历史(Document Change History)
| 日期 |
版本 |
变更人 |
变更说明 |
| 2018-10-31 |
4.4.0 |
AUTOSAR Release Management |
编辑性修订 |
| 2017-12-08 |
4.3.1 |
AUTOSAR Release Management |
编辑性修订;移除调试支持需求 [RS_BSWMD_00061] |
| 2016-11-30 |
4.3.0 |
AUTOSAR Release Management |
通过 [RS_BSWMD_00070] 和 [RS_BSWMD_00071] 增加了进一步快速原型开发支持 |
| 2015-07-31 |
4.2.2 |
AUTOSAR Release Management |
将调试支持需求 [RS_BSWMD_00061] 设为过期 |
| 2014-10-31 |
4.2.1 |
AUTOSAR Release Management |
版面更新;追溯更新 |
| 2013-10-31 |
4.1.2 |
AUTOSAR Release Management |
版面更新 |
| 2013-03-15 |
4.1.1 |
AUTOSAR Administration |
提供激活事件 API;规范资源锁定行为;使需求也适用于应用软件组件;提供快速原型支持;BSW 服务在分区上的可用性;支持生产错误和扩展生产错误的配置 |
| 2011-12-22 |
4.0.3 |
AUTOSAR Administration |
增加了详细的变更历史(第 5 章) |
| 2010-02-02 |
3.1.4 |
AUTOSAR Administration |
增加了以下概念的支持:AUTOSAR 调度器协调;触发事件;调试;A2L 生成支持;法律声明修订 |
| 2008-08-13 |
3.1.1 |
AUTOSAR Administration |
法律声明修订 |
| 2007-12-21 |
3.0.1 |
AUTOSAR Administration |
初始发布(Initial Release) |
目录
- 本文档范围(Scope of this document)
- 相关文档(Related Documentation)
- 需求追溯(Requirements Tracing)
- BSW 模块描述模板需求(Requirements on BSW Module Description Template)
- 变更历史(Change History)
参考文献(References)
- [1] Methodology,AUTOSAR_TR_Methodology
- [2] Basic Software Module Description Template,AUTOSAR_TPS_BSWModuleDescriptionTemplate
- [3] Meta Model-generated XML Schema,AUTOSAR_MMOD_XMLSchema
- [4] Generic Structure Template,AUTOSAR_TPS_GenericStructureTemplate
- [5] XML Schema Production Rules,AUTOSAR_TPS_XMLSchemaProductionRules
- [6] Standardization Template,AUTOSAR_TPS_StandardizationTemplate
- [7] General Requirements on Basic Software Modules,AUTOSAR_SRS_BSWGeneral
- [8] Requirements on ECU Configuration,AUTOSAR_RS_ECUConfiguration
- [9] Requirements on Runtime Environment,AUTOSAR_SRS_RTE
- [10] Glossary,AUTOSAR_TR_Glossary
- [11] Specification of ECU Configuration,AUTOSAR_TPS_ECUConfiguration
- [12] Requirements on Standardization Template,AUTOSAR_RS_StandardizationTemplate
- [13] Specification of Memory Mapping,AUTOSAR_SWS_MemoryMapping
- [14] Requirements on Software Component Template,AUTOSAR_RS_SoftwareComponentTemplate
- [15] Specification of RTE Software,AUTOSAR_SWS_RTE
1 本文档范围(Scope of this document)
本文档收集了关于基本软件模块描述模板(BSWMD-T)的需求。
BSWMD-T 的主要目标是为 BSWMD 提供方案。BSWMD 包含有关 BSW 模块或集群实现的信息,以支持在 ECU 上的集成。另一个用例是支持 BSW 模块的符合性测试。
在方法论中,BSW 模块的三个阶段可以区分如下:
- "BSW 模块规范" 由 AUTOSAR 作为标准提供。API 可以针对所有用例进行规范。配置参数可能具有广泛的配置可能性。某些关键配置参数可能由于硬件依赖性而缺失,这些依赖性在规范中无法描述。
- "BSW 模块实现" 是 BSW 模块规范的一种可能实现。
可能只实现了指定 API 的一个子集。已经做出了若干配置决策,但其他配置参数仍然开放供集成商选择。
可以添加供应商特定的配置参数,以便允许配置模块的行为(适用于所有 BSW 模块),和/或支持配置特定硬件元素,例如特殊寄存器设置(仅适用于硬件相关模块)。
- "已配置 BSW 模块" 从具体的 BSW 模块实现中获取仍处于开放状态的配置参数,并为其赋值。完全配置的 BSW 模块实际上可以集成在 ECU 上。
每个 BSW 模块实现都附带自己的 BSW 模块描述。重要的是始终使用 BSW 模块实现与相应 BSWMD 的正确配对。
在图 1.1 中显示了活动 "配置 ECU" 的输入:
- "可用软件组件集合" 包含对映射到此特定 ECU 的所有软件组件描述的引用
- "系统描述的 ECU 提取" 包含与此特定 ECU 相关的系统配置的子集。这包括通信矩阵和数据到信号的映射。
- "BSW 模块描述"(需求收集在本文档中)
输出是 "ECU 配置描述"。
由于某些 BSW 模块的高度可配置性,BSWMD 无法捕获 BSW 模块配置的所有依赖关系。因此,也可以在 BSW 模块已配置和生成后更新 BSWMD,以提供有关已配置 BSW 模块的更具体信息。
高度可配置的 BSW 模块的一个示例是 RTE,它几乎是完全生成的,随未配置的 RTE 一起交付的初始 BSWMD 无法以正式方式描述 RTE 的所有可能配置。但在 RTE 配置完成后,可以更新其 BSWMD 以包含要生成的实际 RTE 的描述。然后可以使用此更新的 BSWMD 来协助配置其他 BSW 模块,如 Os、Debugger、Dlt。
BSWMD 模板规定了实际基本软件模块描述(BSWMD)能够提供的内容。从技术角度来看,该模板作为文档 [2] 和 XML 模式 [3] 提供(另见 [4] 和 [5])。实际的 BSW 模块描述是符合 XML 模式的 XML 文件。
1.1 文档约定(Document Conventions)
AUTOSAR 文档中需求的表示遵循 [TPS_STDT_00078] 中规定的表格,详见《标准化模板》的"可追溯性支持"一章 ([6])。
用于表达义务的动词形式应遵循 [TPS_STDT_00053] 的规定,用以表示需求,详见《标准化模板》的"可追溯性支持"一章 ([6])。
2 相关文档(Related Documentation)
2.1 输入文档(Input Documents)
在制定这些需求时使用了以下输入文档:
- 基本软件模块的一般需求 [7]
- ECU 配置需求 [8]
- AUTOSAR RTE 软件需求规范 [9]
- AUTOSAR 方法论 [1]
- AUTOSAR 词汇表 [10]
- AUTOSAR 通用结构模板 [4]
- AUTOSAR XML Schema 制作规则 [5]
2.2 规范文档(Specification Documents)
本文档中收集的需求将由以下文档满足:
- BSW 模块描述模板规范 [2]
此文档实现了此处陈述的大部分需求。
- ECU 配置规范 [11]
此文档提供了用于创建标准化和供应商特定模块定义的规范和指南。
2.3 缩写(Abbreviations)
| 缩写 |
含义 |
| BSW |
Basic Software(基本软件) |
| BSWMD |
Basic Software Module Description(基本软件模块描述) |
| BSWMD-T |
Basic Software Module Description Template(基本软件模块描述模板) |
| ECUC |
ECU Configuration Values [11](ECU 配置值) |
| ECUC Parameter Definition |
ECU Configuration Parameter Definition [11](ECU 配置参数定义) |
| ECUC-T |
ECU Configuration Template [11](ECU 配置模板) |
| ICS |
Implementation Conformance Statement(实现符合性声明) |
| StMD |
Standardized Module Definition [11](标准化模块定义) |
| SWC |
Software Component Description(软件组件描述) |
| SWC-T |
Software Component Template(软件组件模板) |
| VSMD |
Vendor-Specific Module Definition [11](供应商特定模块定义) |
3 需求追溯(Requirements Tracing)
下表引用了 [12] 中规定的需求并链接到这些需求的满足情况。
| 需求(Requirement) |
描述(Description) |
满足者(Satisfied by) |
| [RS_BRF_00057] |
AUTOSAR 应定义一个内存映射机制 |
[RS_BSWMD_00031] |
| [RS_BRF_00206] |
AUTOSAR 应支持多核 MCU |
[RS_BSWMD_00066],[RS_BSWMD_00067] |
| [RS_BRF_01016] |
AUTOSAR 应在软件层内提供模块化设计 |
[RS_BSWMD_00039],[RS_BSWMD_00040] |
| [RS_BRF_01032] |
AUTOSAR 模块应提供元数据信息 |
[RS_BSWMD_00010],[RS_BSWMD_00025],[RS_BSWMD_00043] |
| [RS_BRF_01048] |
AUTOSAR 模块设计应支持模块在多任务环境中协作 |
[RS_BSWMD_00005],[RS_BSWMD_00011],[RS_BSWMD_00038],[RS_BSWMD_00053],[RS_BSWMD_00054],[RS_BSWMD_00055],[RS_BSWMD_00056],[RS_BSWMD_00057],[RS_BSWMD_00058],[RS_BSWMD_00059],[RS_BSWMD_00060],[RS_BSWMD_00063],[RS_BSWMD_00064],[RS_BSWMD_00066],[RS_BSWMD_00067],[RS_BSWMD_00068] |
| [RS_BRF_01120] |
AUTOSAR 应支持已配置 BSW 数据的重新刷写 |
[RS_BSWMD_00013] |
| [RS_BRF_01136] |
AUTOSAR 应支持系统启动后解析的已配置 BSW 数据的变体 |
[RS_BSWMD_00013] |
| [RS_BRF_01160] |
AUTOSAR 应支持 BSW 在多核 MCU 上的分布 |
[RS_BSWMD_00068] |
| [RS_BRF_01240] |
AUTOSAR OS 应支持 OSApplication 之间的通信 |
[RS_BSWMD_00066],[RS_BSWMD_00067],[RS_BSWMD_00068] |
| [RS_BRF_01312] |
AUTOSAR RTE 应支持过程调用通信 |
[RS_BSWMD_00066] |
| [RS_BRF_01320] |
AUTOSAR RTE 应调度 SWC 和 BSW 模块 |
[RS_BSWMD_00053],[RS_BSWMD_00054],[RS_BSWMD_00055],[RS_BSWMD_00056],[RS_BSWMD_00057],[RS_BSWMD_00058],[RS_BSWMD_00059],[RS_BSWMD_00060] |
| [RS_BRF_01328] |
AUTOSAR RTE 应支持在已定义事件上可执行实体的调度 |
[RS_BSWMD_00057],[RS_BSWMD_00058],[RS_BSWMD_00059] |
| [RS_BRF_01360] |
AUTOSAR RTE 应支持针对并发访问的显式保护机制 |
[RS_BSWMD_00060],[RS_BSWMD_00064] |
| [RS_BRF_01368] |
AUTOSAR RTE 应支持标定数据 |
[RS_BSWMD_00062] |
| [RS_BRF_01392] |
AUTOSAR RTE 应支持旁路实现 |
[RS_BSWMD_00065] |
| [RS_BRF_01416] |
AUTOSAR 服务应支持非易失性内存数据的标准化处理 |
[RS_BSWMD_00045] |
| [RS_BRF_01448] |
AUTOSAR 服务应支持模式和状态管理 |
[RS_BSWMD_00054],[RS_BSWMD_00055],[RS_BSWMD_00056] |
| [RS_BRF_01472] |
AUTOSAR 应支持模式 |
[RS_BSWMD_00054],[RS_BSWMD_00055],[RS_BSWMD_00056] |
| [RS_BRF_01480] |
AUTOSAR 应支持软件组件本地模式、ECU 全局模式和系统级模式 |
[RS_BSWMD_00054],[RS_BSWMD_00055],[RS_BSWMD_00056] |
| [RS_BRF_01520] |
AUTOSAR RTE 应在模式切换时自动调整可运行实体管理 |
[RS_BSWMD_00054] |
| [RS_BRF_02040] |
AUTOSAR BSW 和 RTE 应确保数据一致性 |
[RS_BSWMD_00060] |
| [RS_BRF_02072] |
AUTOSAR 应以库的形式提供汽车域中广泛使用的通用功能 |
[RS_BSWMD_00037],[RS_BSWMD_00051] |
| [RS_BRF_02200] |
AUTOSAR 诊断应提供对内部配置和标定数据的外部访问 |
[RS_BSWMD_00062] |
| [SRS_BSW_00159] |
AUTOSAR 基本软件的所有模块应支持基于工具的配置 |
[RS_BSWMD_00008] |
4 BSW 模块描述模板需求(Requirements on BSW Module Description Template)
4.1 发布信息(Published Information)
[RS_BSWMD_00043] 支持通用发布信息的描述
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
BSWMD 模板应提供描述由 BSW 模块实现根据相应 BSW SWS 提供的通用发布信息的方法。 |
| 原理(Rationale) |
配置工具应能够读取 BSW 实现的通用发布信息,因为 ECU 配置值可能依赖于通用发布信息。 |
| 依赖(Dependencies) |
[RS_BSWMD_00024] |
| 用例(Use Case) |
提供通用发布信息,例如:模块 VERSION、REVISION 编号或 AUTOSAR 规范编号。 |
| 支持材料(Supporting Material) |
– |
| 追溯(Tracing) |
c(RS_BRF_01032) |
[RS_BSWMD_00024] 支持模块特定发布信息的描述
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
BSWMD 模板应提供描述由 BSW 模块实现根据相应 BSW SWS 提供的模块特定发布信息的方法。 |
| 原理(Rationale) |
配置工具应能够读取 BSW 实现的发布信息,因为 ECU 配置值可能依赖于发布信息。 |
| 依赖(Dependencies) |
[RS_BSWMD_00007],[RS_BSWMD_00043] |
| 用例(Use Case) |
将 MEMIF_BROADCAST_ID 的值提供给其他模块(例如提供给 NvM)。将硬件相关信息的值(例如:EEPROM-ERASE-TIME 或 API 参数的宽度,如 EEP-IF-ADDRESSTYPE(uint8, 16, 32))提供给其他模块(例如提供给 MemIf)。 |
| 支持材料(Supporting Material) |
– |
| 追溯(Tracing) |
c() |
[RS_BSWMD_00039] 已实现 API 和函数的标识
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
描述 BSW 模块/集群实际实现的 API 和函数。 |
| 原理(Rationale) |
BSW 模块的规范允许仅实现指定 API 和函数的一个子集。实际实现的子集应被描述。 |
| 依赖(Dependencies) |
[RS_BSWMD_00040],[RS_BSWMD_00041] |
| 用例(Use Case) |
模块(集群)的符合性只能针对模块/集群实际提供的功能进行证明。 |
| 支持材料(Supporting Material) |
– |
| 追溯(Tracing) |
c(RS_BRF_01016) |
[RS_BSWMD_00040] 所需 API 和函数的标识
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
描述此实现需要其他模块的哪些 API 和函数。 |
| 原理(Rationale) |
通过列出此实现实际使用的所需 API 来支持集成。 |
| 依赖(Dependencies) |
[RS_BSWMD_00039],[RS_BSWMD_00041],[RS_BSWMD_00047] |
| 用例(Use Case) |
检查其他模块提供的 API、函数和操作签名是否与 BSW 模块实现的要求匹配。 |
| 支持材料(Supporting Material) |
– |
| 追溯(Tracing) |
c(RS_BRF_01016) |
[RS_BSWMD_00041] 所提供 API 参数数据类型的声明
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
描述实现用于 API 函数参数和 ECU 配置参数定义的实际数据类型,这些参数在规范文档中留空。 |
| 原理(Rationale) |
BSW 模块的规范在某些情况下未固定要用于实现的数据类型。为了允许集成,需要描述实际实现的数据类型。 |
| 依赖(Dependencies) |
– |
| 用例(Use Case) |
如果 BSW SWS 将 API 参数指定为 UInt8 或 UInt16,则 BSWMD 模板应提供描述实际实现中使用的类型的方法。 |
| 支持材料(Supporting Material) |
– |
| 追溯(Tracing) |
c() |
[RS_BSWMD_00042] 所需 API 参数数据类型的描述
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
描述实现所需的 API 函数参数的实际数据类型,这些参数在规范文档中留空。 |
| 原理(Rationale) |
BSW 模块的规范在某些情况下未固定要用于实现的数据类型。为了允许集成,需要描述这些实际实现的数据类型。 |
| 依赖(Dependencies) |
– |
| 用例(Use Case) |
如果 BSW SWS 将 API 参数指定为 UInt8 或 UInt16,则 BSWMD 模板应提供描述实际实现中期望的类型的方法。 |
| 支持材料(Supporting Material) |
– |
| 追溯(Tracing) |
c() |
[RS_BSWMD_00011] API 调用的保证执行上下文
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
对于对其他模块的 API 调用,应可以描述调用是否将由调用方在中断上下文中执行。 |
| 原理(Rationale) |
如果调用方和被调用方都指定了调用的上下文,则可以在 ECU 配置活动期间检测无效的调用链。如果调用发生在中断上下文中,则对执行时间和可用指令有一些限制。RTE 生成器需要了解从 BSW 服务到调用的上下文,以便将中断上下文与应用软件组件分离。 |
| 依赖(Dependencies) |
[RS_BSWMD_00038],[RS_BSWMD_00040] |
| 用例(Use Case) |
Com 模块期望来自 PduR 的通知发生在任务上下文中,但 PduR 仅处理来自 CanIf 的中断上下文。这是无效配置,应被检测到。 |
| 支持材料(Supporting Material) |
– |
| 追溯(Tracing) |
c(RS_BRF_01048) |
[RS_BSWMD_00038] API 调用的所需执行上下文
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
BSWMD 模板应提供为每个提供的 API 函数定义应调用其的上下文的方法。 |
| 原理(Rationale) |
如果调用方和被调用方都指定了调用的上下文,则可以在 ECU 配置活动期间检测无效的调用链。 |
| 依赖(Dependencies) |
[RS_BSWMD_00011],[RS_BSWMD_00039] |
| 用例(Use Case) |
Com 模块期望来自 PduR 的通知发生在任务上下文中,但 PduR 仅处理来自 CanIf 的中断上下文。这是无效配置,应被检测到。 |
| 支持材料(Supporting Material) |
– |
| 追溯(Tracing) |
c(RS_BRF_01048) |
[RS_BSWMD_00010] 编译器版本和设置
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
应可以描述实际使用的编译器(供应商、版本)及其设置,这些设置已用于目标代码交付或需要用于源代码交付。 |
| 原理(Rationale) |
当 BSW 作为目标代码交付时,集成商需要知道如何编译目标代码。如果作为源代码交付,则代码通常针对特定编译器和版本提供。 |
| 依赖(Dependencies) |
– |
| 用例(Use Case) |
使用不同编译器编译的目标代码可能在堆栈结构中存在问题。因此,必须描述所使用的编译器及其设置,以便检测此类不一致。 |
| 支持材料(Supporting Material) |
– |
| 追溯(Tracing) |
c(RS_BRF_01032) |
[RS_BSWMD_00037] 所需库
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
应可以描述哪些库(供应商和版本)已用于目标代码交付,或哪些库需要包含在源代码交付中。 |
| 原理(Rationale) |
当 BSW 模块作为目标代码交付时,集成商需要知道如何集成目标代码。如果作为源代码交付,则代码可能仅需要特定版本的预期库。 |
| 依赖(Dependencies) |
– |
| 用例(Use Case) |
如果多个 BSW 模块使用相同的库,则它只需要在 ECU 上存在一次。描述使用的库和版本,以便能够检测多个 BSW 模块实现使用的库是否不兼容。 |
| 支持材料(Supporting Material) |
– |
| 追溯(Tracing) |
c(RS_BRF_02072) |
[RS_BSWMD_00025] 支持交付信息
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
BSWMD 模板应支持描述在 BSW 模块交付中包含哪些文件(源代码、目标代码、文档)。 |
| 原理(Rationale) |
描述在 BSW 模块交付中交付了哪些工件。 |
| 依赖(Dependencies) |
[RS_BSWMD_00044] |
| 用例(Use Case) |
在集成之前检查已交付工件的完整性。 |
| 支持材料(Supporting Material) |
– |
| 追溯(Tracing) |
c(RS_BRF_01032) |
[RS_BSWMD_00014] 支持 BSW 模块集群
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
支持描述实现多个 BSW 模块的 BSW 模块集群。 |
| 原理(Rationale) |
AUTOSAR 允许将多个 BSW 模块(甚至整个 BSW,包括 AUTOSAR 服务)集成在单个集群中,将此 BSW 集群视为一个实体。必须知道集群如何与模块/集群交互,以便进行集成。集群的测试必须知道被测对象实际支持哪些部分(操作签名和可配置功能)。 |
| 依赖(Dependencies) |
– |
| 用例(Use Case) |
在单个实现中交付完整的 COM 栈。在单个实现中交付整个 AUTOSAR BSW。 |
| 支持材料(Supporting Material) |
– |
| 追溯(Tracing) |
c() |
[RS_BSWMD_00034] ECU 配置编辑器和生成支持的工具版本信息
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
应可以描述支持的 ECU 配置编辑器和生成器工具(供应商、版本)及其设置。 |
| 原理(Rationale) |
交付 BSW 模块时,集成商需要知道可以使用哪些编辑和生成工具来配置 BSW。 |
| 依赖(Dependencies) |
– |
| 用例(Use Case) |
由于 BSW 模块实现可能需要一些供应商特定的 ECU 配置参数处理,因此应可以说明哪个生成器可以处理这些扩展。 |
| 支持材料(Supporting Material) |
此需求不排除未明确列出的工具与特定 XML 文件一起工作。 |
| 追溯(Tracing) |
c() |
[RS_BSWMD_00013] 描述 ECU 配置参数的配置类
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
当 BSW 模块的实际实现可自由选择配置类(预编译、链接时、后构建)时,应可以描述已选择哪种替代方案。 |
| 原理(Rationale) |
ECU 配置参数需要根据其配置类进行不同处理。 |
| 依赖(Dependencies) |
– |
| 用例(Use Case) |
ECU 配置编辑器应能够仅允许对后构建时 ECU 配置参数进行更改。 |
| 支持材料(Supporting Material) |
– |
| 追溯(Tracing) |
c(RS_BRF_01120, RS_BRF_01136) |
[RS_BSWMD_00033] 预配置的 ECU 配置值
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
BSWMD 模板应允许指定一组 ECU 配置值,这些值已由实现设置为固定值。 |
| 原理(Rationale) |
预配置的 ECU 配置值包含 BSW 模块集成商无法更改的值,因为它们由实现固定。一旦选择了模块实现,这些预配置的 ECU 配置值应作为基本模块配置的一部分被复制到实际 BSW 模块的 ECU 配置值中 [11]。 |
| 依赖(Dependencies) |
– |
| 用例(Use Case) |
值可能由于不同原因而被固定。例如,所有预编译参数在目标代码交付中是固定的。 |
| 支持材料(Supporting Material) |
– |
| 追溯(Tracing) |
c() |
[RS_BSWMD_00032] 推荐的 ECU 配置值
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
BSWMD 模板应允许指定一组由实现推荐的 ECU 配置值。 |
| 原理(Rationale) |
这些推荐的 ECU 配置值可能包含实现者推荐的 ECU 配置值,并且一旦选择了 BSW 模块实现,就可以作为基础复制到 BSW 模块的 ECU 配置值中。推荐的 ECU 配置值比默认值更灵活,因为它们允许在每个容器中定义具有不同 ECU 配置参数值的多个容器实例 [11]。 |
| 依赖(Dependencies) |
– |
| 用例(Use Case) |
允许 BSW 供应商连同实现一起交付 BSW 模块的部分或完整 ECU 配置文件。这简化了集成商的工作,他们只需填写缺失的 ECU 配置值。 |
| 支持材料(Supporting Material) |
– |
| 追溯(Tracing) |
c() |
[RS_BSWMD_00035] 提供标准化模块定义
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
BSWMD 模板应允许规范模块的标准化模块定义。 |
| 原理(Rationale) |
标准化模块定义是 BSW 模块配置的基础。供应商特定模块定义源自标准化模块定义。 |
| 依赖(Dependencies) |
[RS_BSWMD_00048] |
| 用例(Use Case) |
提供有关将哪个标准化模块定义与某个 BSW 模块实现一起使用的信息。 |
| 支持材料(Supporting Material) |
– |
| 追溯(Tracing) |
c() |
[RS_BSWMD_00050] 允许对标准化模块定义进行供应商特定修改
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
BSWMD 模板应允许修改标准化模块定义以支持实现特定的调整。 |
| 原理(Rationale) |
标准化模块定义为每个配置参数指定可能值的超集。某些实现可能会限制标准化模块定义中各个元素的实际适用特征。 |
| 依赖(Dependencies) |
[RS_BSWMD_00035] |
| 用例(Use Case) |
NvRam 管理器的 BlockId 可以是 8 位或 16 位。标准化参数的最小值为 1,最大值为 65535。实现可能选择仅支持 8 位值,因此必须将最大值调整为 255。 |
| 支持材料(Supporting Material) |
– |
| 追溯(Tracing) |
c() |
[RS_BSWMD_00027] 提供供应商特定模块定义
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
BSWMD 模板应允许定义模块的供应商特定模块定义。 |
| 原理(Rationale) |
对于某些模块实现,标准化模块定义不包含所有相关配置参数,因此需要其他配置参数。由于配置参数依赖于硬件,因此具体实现需要额外的配置定义。供应商特定模块定义规定了 BSW 模块的具体实现实际支持哪些配置参数和范围。 |
| 依赖(Dependencies) |
[RS_BSWMD_00048] |
| 用例(Use Case) |
可以添加供应商特定的配置参数,以便允许配置模块的行为(适用于所有 BSW 模块),和/或支持配置特定硬件元素,例如特殊寄存器设置(仅适用于硬件相关模块)。 |
| 支持材料(Supporting Material) |
对于供应商特定参数的定义,应使用 ECU 配置参数定义模板 [11]。 |
| 追溯(Tracing) |
c() |
[RS_BSWMD_00007] 提供供应商特定发布信息
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
BSWMD 模板应支持供应商特定发布信息的定义。 |
| 原理(Rationale) |
供应商可能希望发布专有信息以在其工具链中使用。 |
| 依赖(Dependencies) |
[RS_BSWMD_00048],[RS_BSWMD_00024] |
| 用例(Use Case) |
描述基于已实现目标的模块实际实现的供应商特定发布信息。通过规范描述扩展方式的标准化方法来避免专有方法。 |
| 支持材料(Supporting Material) |
[RS_ECUC_00002] [8] |
| 追溯(Tracing) |
c() |
[RS_BSWMD_00048] 供应商特定模块定义的标记
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
应可以区分标准化模块定义和供应商特定模块定义。 |
| 原理(Rationale) |
由于供应商可以向标准化模块定义添加供应商特定的 ECU 配置参数,因此需要将这些添加与标准化 ECU 配置参数区分开来。 |
| 依赖(Dependencies) |
[RS_BSWMD_00035],[RS_BSWMD_00027],[RS_BSWMD_00007] |
| 用例(Use Case) |
为了检查供应商特定模块定义的符合性,需要描述哪些 ECU 配置参数是标准化的,哪些是供应商特定的。 |
| 支持材料(Supporting Material) |
– |
| 追溯(Tracing) |
c() |
[RS_BSWMD_00047] BSW 模块之间调用链依赖关系的建模
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
应可以描述一个函数调用哪些其他 API 函数。 |
| 原理(Rationale) |
配置 OS 时需要,因为 OS 资源必须映射到使用它们的任务。 |
| 依赖(Dependencies) |
[RS_BSWMD_00046] |
| 用例(Use Case) |
当调用主函数并且此主函数调用另一个 API 函数时,依此类推,推导使用了哪些 OS 资源。 |
| 支持材料(Supporting Material) |
– |
| 追溯(Tracing) |
c() |
[RS_BSWMD_00049] 描述可选和必需元素
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
BSWMD 模板应提供描述 BSW 模块实现的可选和必需元素的方法。 |
| 原理(Rationale) |
由于 BSW 模块的高度可配置性(源自 AUTOSAR 规范),应提供描述一个 BSW 模块实现实际支持的元素的方法。 |
| 依赖(Dependencies) |
– |
| 用例(Use Case) |
声明 BSW 模块实现支持哪些可选元素。交付用于生产的 BSW 模块描述,其中包含可选元素,稍后应由集成商选择。使用描述包括强制和可选元素的标准 BSW 模块描述,作为其他 BSW 描述符合性检查的参考。 |
| 支持材料(Supporting Material) |
– |
| 追溯(Tracing) |
c() |
[RS_BSWMD_00044] 描述生成的工件
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
支持描述生成工具将创建哪些工件。 |
| 原理(Rationale) |
了解 BSW 模块的生成工具生成哪些工件(头文件和 c 文件、文档)有助于集成和构建过程。 |
| 依赖(Dependencies) |
[RS_BSWMD_00025] |
| 用例(Use Case) |
根据 [RS_BSWMD_00025] 的信息和生成的工件生成 make 文件。 |
| 支持材料(Supporting Material) |
– |
| 追溯(Tracing) |
c() |
[RS_BSWMD_00051] 库的描述
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
应可以描述库及其实现。 |
| 原理(Rationale) |
库用于在 BSW 和应用软件组件中的多个用户之间共享代码。应支持库的选择和集成。 |
| 依赖(Dependencies) |
– |
| 用例(Use Case) |
描述库提供的 API;描述库所需的 API;描述库的资源需求。 |
| 支持材料(Supporting Material) |
– |
| 追溯(Tracing) |
c(RS_BRF_02072) |
[RS_BSWMD_00052] 生成的 RTE 的描述
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
应可以描述生成的 RTE 的属性。 |
| 原理(Rationale) |
RTE 生成器能够做出影响 RTE 在 ECU 上集成的许多决策。 |
| 依赖(Dependencies) |
– |
| 用例(Use Case) |
描述生成的 RTE 使用的内存段。描述生成的 VFB 跟踪函数。描述实际 RTE 的资源需求。 |
| 支持材料(Supporting Material) |
– |
| 追溯(Tracing) |
c() |
[RS_BSWMD_00062] 提供测量和标定支持
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
BSWMDT 应包含用于描述测量和标定数据的支持格式,可由外部工具(与链接器生成的信息一起)用于生成标定和测量工具所需的数据描述。 • 对于 RTE 生成的代码,所包含的标定和测量数据在多个"上游"工件中描述。外部工具应能够从仅包含相关信息的更简单的工件中进行进一步处理。 |
| 原理(Rationale) |
• 外部工具必须能够确定测量和标定数据的内存地址。为此,变量和参数的实际链接器符号必须在支持格式中可用。 • ECU 配置中的信息(例如 RTE 的标定方法)也必须可用。 |
| 依赖(Dependencies) |
– |
| 用例(Use Case) |
• RTE 生成的测量和标定数据支持数据作为其自身 BSWMD 的一部分,例如用于端口中的数据元素。 • RTE(或其他工具)为模块本地声明的测量和标定数据生成支持数据。BSWMD 随生成的支持数据一起更新。 |
| 支持材料(Supporting Material) |
– |
| 追溯(Tracing) |
c(RS_BRF_01368, RS_BRF_02200) |
[RS_BSWMD_00065] 提供快速原型开发支持
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
BSWMDT 应包含用于描述快速原型开发数据的支持格式,可用于生成快速原型开发工具所需的数据描述。 |
| 原理(Rationale) |
对于 RTE 生成的代码,应描述所包含的快速原型开发机制,以便允许快速原型开发工具与 RTE 交互。 |
| 依赖(Dependencies) |
– |
| 用例(Use Case) |
RTE 生成的快速原型开发支持数据作为其自身 BSWMD 的一部分。 |
| 支持材料(Supporting Material) |
– |
| 追溯(Tracing) |
c(RS_BRF_01392) |
[RS_BSWMD_00070] 支持后构建挂钩工具用于快速原型开发
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
BSW 模块描述模板应通过描述已实现的 RP 内存接口来支持用于快速原型开发的后构建挂钩工具。RP 内存接口由 RP 工具可以在后续修改其值的明确内存位置组成。 |
| 原理(Rationale) |
后构建挂钩工具需要识别正确的内存位置以插入挂钩。 |
| 依赖(Dependencies) |
– |
| 用例(Use Case) |
– |
| 支持材料(Supporting Material) |
– |
| 追溯(Tracing) |
c() |
[RS_BSWMD_00071] 支持基于服务的旁路用于快速原型开发
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
BSW 模块描述模板应支持描述快速原型开发服务点以及相关的事件、可执行文件的实例及其对数据的访问。此外,必须知道为快速原型开发准备的实现可执行文件条件执行的启用标志。 |
| 原理(Rationale) |
为了支持基于服务的旁路的使用,RTE 插入的服务点以及与启用标志和访问数据的关系必须由快速原型开发工具知道。 |
| 依赖(Dependencies) |
– |
| 用例(Use Case) |
– |
| 支持材料(Supporting Material) |
– |
| 追溯(Tracing) |
c() |
[RS_BSWMD_00069] 生产错误和扩展生产错误的配置
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
BSW 模块描述模板应提供为所有已实现的生成错误和扩展生产错误指定对 Dem 配置的需求的功能。 |
| 原理(Rationale) |
自动配置 Dem。 |
| 依赖(Dependencies) |
– |
| 用例(Use Case) |
• 配置去抖计数器(向上/向下计数)的服务需求、这些去抖计数器的限制配置等。 • 指定诊断模块是否可以请求删除错误。如果可以,请指定如何以及何时可以重置错误。 |
| 支持材料(Supporting Material) |
[SWS_BSW_00001] |
| 追溯(Tracing) |
c() |
4.2 BSW 调度(BSW Scheduling)
[RS_BSWMD_00053] BSW 主函数的基于循环时间的调度
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
BSWMD 模板应提供描述 BSW 主函数的基于循环时间的调度需求的方法。 |
| 原理(Rationale) |
RTE 生成器为整个 ECU 创建调度。许多 BSW 模块依赖于其主函数的基于循环时间的调用以实现其功能。RTE 生成器应能够根据所述需求实现基于循环时间的调用。 |
| 依赖(Dependencies) |
– |
| 用例(Use Case) |
从生成的 RTE 调用函数 "Com_MainFunctionTx()" 以实现 IPdu 的周期发送。 |
| 支持材料(Supporting Material) |
– |
| 追溯(Tracing) |
c(RS_BRF_01048, RS_BRF_01320) |
[RS_BSWMD_00054] 应支持 BSW 模块的模式切换
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
BSWMD 模板应提供描述 BSW 模块的模式切换和调度需求的方法。 |
| 原理(Rationale) |
BSW 主函数的条件调度取决于 ECU 的不同操作模式。BSW 主函数被调度依赖于模式,由进入或退出模式激活,在特定模式转换时激活。 |
| 依赖(Dependencies) |
– |
| 用例(Use Case) |
初始化和终结化阶段(由 EcuM 提供的模式);不同的通信模式(由 ComM 提供的模式)。 |
| 支持材料(Supporting Material) |
– |
| 追溯(Tracing) |
c(RS_BRF_01048, RS_BRF_01320, RS_BRF_01448, RS_BRF_01472, RS_BRF_01480, RS_BRF_01520) |
[RS_BSWMD_00055] 同时模式转换
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
BSWMD 模板应提供指定模式控制 BSW 模块和应用软件组件的同时切换所需的方法。 |
| 原理(Rationale) |
在控制 AUTOSAR BSW 模块和应用软件组件的模式转换期间的同步行为。 |
| 依赖(Dependencies) |
– |
| 用例(Use Case) |
ECU 全局初始化和终结化阶段。 |
| 支持材料(Supporting Material) |
– |
| 追溯(Tracing) |
c(RS_BRF_01048, RS_BRF_01320, RS_BRF_01448, RS_BRF_01472, RS_BRF_01480) |
[RS_BSWMD_00056] BSW 模块模式切换通知的 API
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
BSWMD 模板应提供描述特定 BswModuleEntity 通信模式的方法。 |
| 原理(Rationale) |
BSW 调度器的代码生成器应生成由 BSW 模块服务用作模式管理器的模式切换 API。 |
| 依赖(Dependencies) |
– |
| 用例(Use Case) |
EcuM 通过 BSW 调度器将 ECU 的操作状态传达给所有 BSW 模块。 |
| 支持材料(Supporting Material) |
– |
| 追溯(Tracing) |
c(RS_BRF_01048, RS_BRF_01320, RS_BRF_01448, RS_BRF_01472, RS_BRF_01480) |
[RS_BSWMD_00057] 由触发事件触发 BSW 主函数
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
BSWMD 模板应提供描述通过触发事件的发生触发 BSW 主函数的方法。BSW 中依赖于触发事件的特定 BSW 主函数应在事件发生后执行。触发事件的发生应通过 API 报告给 BSW 调度器或通过 OS 方式(例如 OS Alarm 过期)。限制:这仅适用于 ECU 内部使用。 |
| 原理(Rationale) |
不同 BSW 模块中 BSW 主函数的偶发性和非基于定时的周期性激活。 |
| 依赖(Dependencies) |
– |
| 用例(Use Case) |
内燃机点火的周期性角度触发。 |
| 支持材料(Supporting Material) |
– |
| 追溯(Tracing) |
c(RS_BRF_01048, RS_BRF_01328, RS_BRF_01320) |
[RS_BSWMD_00058] 由触发事件同时触发
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
BSWMD 模板应提供指定通过共享触发事件同步触发可运行实体和 BSW 主函数所需的方法。 |
| 原理(Rationale) |
AUTOSAR BSW 模块和应用软件组件中例程的同步激活。 |
| 依赖(Dependencies) |
– |
| 用例(Use Case) |
内燃机的应用软件组件和复杂设备驱动中例程的周期性角度触发。 |
| 支持材料(Supporting Material) |
– |
| 追溯(Tracing) |
c(RS_BRF_01048, RS_BRF_01328, RS_BRF_01320) |
[RS_BSWMD_00059] 由触发事件触发 BSW 模块的 API
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
BSWMD 模板应提供描述特定 BswModuleEntity 引发触发事件的方法。 |
| 原理(Rationale) |
BSW 调度器的代码生成器应生成由捕获触发事件源的 BSW 模块使用的触发 API。 |
| 依赖(Dependencies) |
– |
| 用例(Use Case) |
内燃机的应用软件组件和复杂设备驱动中例程的周期性角度触发。 |
| 支持材料(Supporting Material) |
– |
| 追溯(Tracing) |
c(RS_BRF_01048, RS_BRF_01328, RS_BRF_01320) |
[RS_BSWMD_00060] 支持 BSW 模块和应用软件组件中的独占区域
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
BSWMD 模板应提供定义由特定 BswModuleEntity 使用的独占区域以允许确定用于防止同时访问共享资源的优先级的方法。独占区域应使用名称和访问的 BswModuleEntity 来定义。独占区域应仅保护模块内部数据。 |
| 原理(Rationale) |
将模块实现与应用数据一致性机制解耦。BSW 调度器的代码生成器应为 BSW 模块提供进入或退出独占区域的 API。 |
| 依赖(Dependencies) |
– |
| 用例(Use Case) |
为 BswSchedulableEntity 和 BswInterruptEntity 之间共享的数据缓冲区提供数据一致性。 |
| 支持材料(Supporting Material) |
– |
| 追溯(Tracing) |
c(RS_BRF_01048, RS_BRF_01320, RS_BRF_01360, RS_BRF_02040) |
[RS_BSWMD_00063] 允许启用提供激活 Bsw 事件 API
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
BSWMD 模板应提供方法以请求基本软件调度器激活将激活的 BSW 事件传递给被调度的可调度实体的功能。该请求应对每个可调度实体可用。 |
| 原理(Rationale) |
如果可调度实体代码不需要激活的 BSW 事件,则该事件应不可用,并且生成的基本软件调度器不应跟踪此可调度实体的激活 BSW 事件。 |
| 依赖(Dependencies) |
– |
| 用例(Use Case) |
可调度实体被定义为由 "BswTimingEvent" 以及 "BswDataReceivedEvent" 激活。在可调度实体执行期间,代码需要区分实际触发执行的激活源。 |
| 支持材料(Supporting Material) |
– |
| 追溯(Tracing) |
c(RS_BRF_01048) |
[RS_BSWMD_00064] 支持 BSWModuleEntities 内 ExclusiveArea 使用的可选配置
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
BSW 模块配置应支持为每个已实现的 BSWModuleEntity 指定可选配置信息以描述: • 实体以嵌套方式使用哪些 ExclusiveAreas。 • 从 ExclusiveArea 或嵌套 ExclusiveArea 内调用哪些其他软件实体。 |
| 原理(Rationale) |
其他配置信息可以在配置时由工具检查。目标是通过在资源共享于不同软件实体之间可能出现冲突时向实现者提供警告来防止死锁。 |
| 依赖(Dependencies) |
– |
| 用例(Use Case) |
• 安全关键系统的发布:死锁和其他一些问题可能仅在异常情况下发生,无法全部通过测试发现。安全关键 ASIL 系统的安全操作可能需要通过静态分析证明无死锁,以及其他验证和确认方法。 • 锁定共享资源的资源消耗优化:根据软件到任务和核心的分布,需要不同的 ExclusiveAreas 实现。通过分析依赖关系,可以选择最有效的替代方案。 • 第三方软件集成:对于第三方软件,源代码通常不可用于分析 ExclusiveAreas 的使用方式。这必须在配置描述中详细指定和提供。 |
| 支持材料(Supporting Material) |
– |
| 追溯(Tracing) |
c(RS_BRF_01048, RS_BRF_01360) |
[RS_BSWMD_00066] BSW 分区间客户端-服务器通信
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
BSWMDT 应提供方法以指定 BSW 内部分区和/或核间通信所需和提供的过程调用。这些应支持同步和异步客户端-服务器模式,并应允许生成相应的 BSW 调度器 API。 |
| 原理(Rationale) |
优化核间 BSW 服务的负载平衡。提高 BSW 服务执行效率。启用多核软件分布优化。 |
| 依赖(Dependencies) |
– |
| 用例(Use Case) |
多核系统上应用程序的并行执行。 |
| 支持材料(Supporting Material) |
– |
| 追溯(Tracing) |
c(RS_BRF_01048, RS_BRF_00206, RS_BRF_01240, RS_BRF_01312) |
[RS_BSWMD_00067] BSW 分区间发送者-接收者通信
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
BSWMDT 应提供方法以指定 BSW 内部分区和/或核间通信所需和提供的数据。这些应允许生成相应的 BSW 调度器 API。 |
| 原理(Rationale) |
优化核间 BSW 服务的负载平衡。提高 BSW 服务执行效率。启用多核软件分布优化。 |
| 依赖(Dependencies) |
– |
| 用例(Use Case) |
多核系统上应用程序的并行执行。 |
| 支持材料(Supporting Material) |
– |
| 追溯(Tracing) |
c(RS_BRF_01048, RS_BRF_00206, RS_BRF_01240) |
[RS_BSWMD_00068] BSW 服务在本地或远程分区上执行
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
如果 BSW 服务在特定分区上可用,则 BSWMDT 应允许为给定的代码创建 BSWMD,该代码支持服务函数在同一分区中调用和执行的配置,以及服务函数在一个分区中调用并由 RTE 路由到不同分区的配置。 |
| 原理(Rationale) |
优化核间 BSW 服务的负载平衡。提高 BSW 服务执行效率。启用多核软件分布优化。 |
| 依赖(Dependencies) |
– |
| 用例(Use Case) |
多核系统上应用程序的并行执行。 |
| 支持材料(Supporting Material) |
– |
| 追溯(Tracing) |
c(RS_BRF_01048, RS_BRF_01160, RS_BRF_01240) |
4.3 资源(Resources)
[RS_BSWMD_00005] 软件实现的内存需求描述
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
BSWMD 模板应支持描述软件模块(基本软件和应用软件)实现的内存需求。此外,应支持这些值的质量规范(例如估计、测量、分析)。应单独描述已定义内存段的内存需求。 |
| 原理(Rationale) |
需要资源估计/测量来设计和配置 ECU。 |
| 依赖(Dependencies) |
[RS_BSWMD_00031] |
| 用例(Use Case) |
作为目标代码交付的 BSW 模块的 ROM 利用率通常是固定的,可以在 BSWMD 中说明。在大多数情况下,内存需求依赖于实际 ECU 配置参数值,并且只能估计。 |
| 支持材料(Supporting Material) |
– |
| 追溯(Tracing) |
c(RS_BRF_01048) |
[RS_BSWMD_00031] 使用的内存段名称的描述
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
支持描述在开发/编译软件模块时使用的内存段名称。 |
| 原理(Rationale) |
通过使用内存段名称,可以将软件分区为多个段,这些段将在 ECU 配置活动中放置在 ECU 上的内存段中。 |
| 依赖(Dependencies) |
[RS_BSWMD_00005] |
| 用例(Use Case) |
ECU 状态管理器实现使用内存段 NOINIT 来指示在 ECU 启动期间不应初始化的已声明变量。由 ECU 配置活动将此段实际映射到满足此要求的 ECU 上的适当内存段。 |
| 支持材料(Supporting Material) |
内存映射规范 [13],[RS_ECUC_00068] [8] |
| 追溯(Tracing) |
c(RS_BRF_00057) |
[RS_BSWMD_00009] 外设寄存器使用的描述
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
BSWMD 模板应支持 ECU 配置工具确定访问相同外设寄存器的不同 BSW 模块之间的冲突。在某些情况下,这些需求依赖于实际 ECU 配置参数值(在这种情况下不应提供公式!)。 |
| 原理(Rationale) |
来自不同供应商的 BSW 模块实现可能使用冲突的外设寄存器配置。当这些 BSW 模块集成在同一 ECU 中时,ECU 配置工具应检测这些冲突并警告用户。 |
| 依赖(Dependencies) |
– |
| 用例(Use Case) |
两个 BSW 模块实现都写入相同的微控制器寄存器,但使用不同的设置。必须识别冲突。 |
| 支持材料(Supporting Material) |
– |
| 追溯(Tracing) |
c() |
[RS_BSWMD_00016] 时间保证
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
BSWMD 模板应允许指定 BSW 模块函数(主函数和 API 调用,包括回调和 ISR)的保证或估计的反应时间。 |
| 原理(Rationale) |
为了能够对应用软件组件进行时序分析,BSW 需要定义时间保证。 |
| 依赖(Dependencies) |
– |
| 用例(Use Case) |
借助于保证执行时间的知识,可以优化独占区域访问的设计,这取决于中断块可能持续的持续时间。 |
| 支持材料(Supporting Material) |
[RS_SWCT_02050] 软件组件模板需求 [14] |
| 追溯(Tracing) |
c() |
[RS_BSWMD_00015] 时间需求
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
BSWMD 模板应允许指定对其他模块中调用的函数的时间需求,例如回调函数。 |
| 原理(Rationale) |
为了能够对应用软件组件进行时序分析,BSW 需要定义除时间保证 [RS_BSWMD_00016] 之外的时间需求。 |
| 依赖(Dependencies) |
– |
| 用例(Use Case) |
为了满足给定的时间保证,对其他函数的调用需要在时间上受到限制。 |
| 支持材料(Supporting Material) |
– |
| 追溯(Tracing) |
c() |
[RS_BSWMD_00030] 为 BSW 调度器发布资源需求
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
BSWMD 模板应提供描述实现使用的资源的方法,这些资源需要由 BSW 调度器提供和集成 [15]。 |
| 原理(Rationale) |
BSW 调度器用于将具体 OS 机制的使用与抽象概念抽象。抽象概念在 BSW 调度器规范 [15] 中描述。BSWMD 模板应提供描述 BSW 模块实现对 BSW 调度器的需求的方法。但使用哪种实际机制来满足这些需求取决于 BSW 调度器的实现。 |
| 依赖(Dependencies) |
[RS_BSWMD_00046] |
| 用例(Use Case) |
BSW 模块在其实现中使用独占区域访问并需要描述此用法,但实际如何实现此独占区域访问(使用全局中断阻塞或 OS 资源)由 BSW 调度器决定。 |
| 支持材料(Supporting Material) |
– |
| 追溯(Tracing) |
c() |
[RS_BSWMD_00046] 发布 OS 资源使用
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
对于每个函数(主函数、API、ISR),应可以描述函数内使用的 OS 资源。 |
| 原理(Rationale) |
为了正确配置 OS,必须为每个函数指定对 OS 资源的访问。BSW 调度器必须能够解析任何 OS 资源可能使用的任务上下文。 |
| 依赖(Dependencies) |
[RS_BSWMD_00030],[RS_BSWMD_00047] |
| 用例(Use Case) |
使用正确的 OS 资源访问配置 OS。 |
| 支持材料(Supporting Material) |
– |
| 追溯(Tracing) |
c() |
[RS_BSWMD_00045] 发布 AUTOSAR 服务所需的资源
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
如果 BSW 模块需要来自 AUTOSAR 服务的资源,则必须描述这些需求。 |
| 原理(Rationale) |
为了允许 AUTOSAR 服务的 ECU 配置活动,必须捕获来自 BSW 和应用软件组件的需求。 |
| 依赖(Dependencies) |
– |
| 用例(Use Case) |
当 BSW 模块需要一些 NVRAM 空间时,它必须提供此 NVRAM 必须具有的属性的描述。 |
| 支持材料(Supporting Material) |
– |
| 追溯(Tracing) |
c(RS_BRF_01416) |
[RS_BSWMD_00026] 支持硬件的描述
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
对于依赖于硬件的 BSW 模块(如驱动程序),应描述支持的硬件。 |
| 原理(Rationale) |
某些软件模块只能在特定硬件上集成。 |
| 依赖(Dependencies) |
特征化应通过引用 ECU 资源描述来完成。 |
| 用例(Use Case) |
当指定支持的硬件时,可以为特定硬件提供驱动程序的选择。 |
| 支持材料(Supporting Material) |
– |
| 追溯(Tracing) |
c() |
4.4 模板需求(Requirements on the Template)
[RS_BSWMD_00001] BSW 模块 ECU 配置活动和集成的主要信息源
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
BSWMD 模板应提供描述 BSW 模块或 BSW 模块集群的 ECU 配置活动和集成所需信息的方法或对信息的引用。此描述格式应用于 ECU 配置活动和集成以及相关 BSW SWS 文档。 |
| 原理(Rationale) |
通过选择 BSW 模块实现的 BSWMD,该模块的 ECU 配置活动和集成所需的信息应可用。当在集群中交付多个 BSW 模块时,BSWMD 模板应支持此集群的集成。但是,此描述格式可能不会将集成决策所需的所有方面形式化(例如调度)。 |
| 依赖(Dependencies) |
[RS_BSWMD_00014] |
| 用例(Use Case) |
为了能够从不同供应商交换 BSW 模块,集成期间只能使用指定的信息。 |
| 支持材料(Supporting Material) |
– |
| 追溯(Tracing) |
c() |
[RS_BSWMD_00008] BSW 模块描述应是工具可处理的
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
基于 BSWMD 模板的工作产品应可由工具读取和处理。 |
| 原理(Rationale) |
ECU 的 ECU 配置活动应由工具支持,BSWMD 作为输入之一。 |
| 依赖(Dependencies) |
– |
| 用例(Use Case) |
ECU 配置活动必须具有工具支持。ICS 应可从 BSWMD 中提取。 |
| 支持材料(Supporting Material) |
– |
| 追溯(Tracing) |
c(SRS_BSW_00159) |
[RS_BSWMD_00028] 根据 AUTOSAR 通用结构模板文档进行开发
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
BSWMD 模板的 UML 表示应根据 AUTOSAR 通用结构模板进行开发。 |
| 原理(Rationale) |
应重用 AUTOSAR 元建模中已有的经验和工具。 |
| 依赖(Dependencies) |
– |
| 用例(Use Case) |
BSWMD 的模板类似于已使用 AUTOSAR 通用结构模板完成的其他模板。 |
| 支持材料(Supporting Material) |
AUTOSAR 通用结构模板 [4] |
| 追溯(Tracing) |
c() |
[RS_BSWMD_00029] 根据 AUTOSAR XML Schema 制作规则转换 BSWMD 模板建模
| 字段 |
内容 |
| 类型(Type) |
valid |
| 描述(Description) |
BSWMD 模板的 XML 表示应根据 AUTOSAR XML Schema 制作规则从其 UML 表示派生。 |
| 原理(Rationale) |
应重用 AUTOSAR 建模中已有的经验和工具。 |
| 依赖(Dependencies) |
– |
| 用例(Use Case) |
BSWMD 的模板类似于已使用 AUTOSAR 元建模指南完成的其他模板。 |
| 支持材料(Supporting Material) |
AUTOSAR XML Schema 制作规则 [5] |
| 追溯(Tracing) |
c() |
5 变更历史(Change History)
5.1 AUTOSAR R4.0.1 与 R3.1.5 的变更历史
5.1.1 在 R4.0.1 中新增的可追溯项
| ID |
标题 |
| [RS_BSWMD_00015] |
时间需求 |
| [RS_BSWMD_00044] |
生成工件的描述 |
| [RS_BSWMD_00049] |
描述可选和必需元素 |
| [RS_BSWMD_00051] |
库的描述 |
| [RS_BSWMD_00052] |
生成的 RTE 的描述 |
| [RS_BSWMD_00053] |
BSW 主函数的基于循环时间的调度 |
| [RS_BSWMD_00054] |
应支持 BSW 模块的模式切换 |
| [RS_BSWMD_00055] |
同时模式转换 |
| [RS_BSWMD_00056] |
BSW 模块模式切换通知的 API |
| [RS_BSWMD_00057] |
由触发事件触发 BSW 主函数 |
| [RS_BSWMD_00058] |
由触发事件同步触发 |
| [RS_BSWMD_00059] |
由触发事件触发 BSW 模块的 API |
| [RS_BSWMD_00060] |
支持 BSW 模块和应用软件组件中的独占区域 |
| [RS_BSWMD_00061] |
支持变量调试 |
| [RS_BSWMD_00062] |
提供测量和标定支持 |
5.1.2 在 R4.0.1 中更改的可追溯项
| ID |
标题 |
| [RS_BSWMD_00010] |
编译器版本和设置 |
| [RS_BSWMD_00014] |
支持 BSW 模块集群 |
| [RS_BSWMD_00025] |
支持交付信息 |
| [RS_BSWMD_00027] |
提供供应商特定模块定义 |
| [RS_BSWMD_00028] |
根据 AUTOSAR 通用结构模板文档进行开发 |
| [RS_BSWMD_00029] |
根据 AUTOSAR XML 建模持久性规则转换 BSWMD 建模 |
| [RS_BSWMD_00032] |
推荐的 ECU 配置值 |
| [RS_BSWMD_00033] |
预配置的 ECU 配置值 |
| [RS_BSWMD_00034] |
ECU 配置编辑器和生成支持的工具版本信息 |
| [RS_BSWMD_00035] |
提供标准化模块定义 |
| [RS_BSWMD_00040] |
所需 API 和函数的标识 |
| [RS_BSWMD_00041] |
所提供 API 参数数据类型的声明 |
| [RS_BSWMD_00042] |
所需 API 参数数据类型的描述 |
| [RS_BSWMD_00043] |
支持通用发布信息的描述 |
| [RS_BSWMD_00047] |
BSW 模块之间调用链依赖关系的建模 |
| [RS_BSWMD_00048] |
供应商特定模块定义的标记 |
| [RS_BSWMD_00050] |
允许对标准化模块定义进行供应商特定修改 |
5.1.3 在 R4.0.1 中删除的可追溯项
无(none)
5.2 AUTOSAR R4.1.1 与 R4.0.3 的变更历史
5.2.1 在 R4.1.1 中更改的可追溯项
| ID |
标题 |
| [RS_BSWMD_00005] |
使需求也适用于应用软件组件 |
| [RS_BSWMD_00031] |
使需求也适用于应用软件组件 |
5.2.2 在 R4.1.1 中新增的可追溯项
| ID |
标题 |
| [RS_BSWMD_00063] |
允许启用提供激活 Bsw 事件 API |
| [RS_BSWMD_00064] |
支持 BSWModuleEntities 内 ExclusiveArea 使用的可选配置 |
| [RS_BSWMD_00065] |
提供快速原型开发支持 |
| [RS_BSWMD_00066] |
BSW 分区间客户端-服务器通信 |
| [RS_BSWMD_00067] |
BSW 分区间发送者-接收者通信 |
| [RS_BSWMD_00068] |
BSW 服务在本地或远程分区上执行 |
| [RS_BSWMD_00069] |
生产错误和扩展生产错误的配置 |
5.2.3 在 R4.1.1 中删除的可追溯项
无(none)
5.3 AUTOSAR R4.2.1 与 R4.1.3 的变更历史
5.3.1 在 R4.2.1 中新增的可追溯项
无(none)
5.3.2 在 R4.2.1 中更改的可追溯项
| ID |
标题 |
| [RS_BSWMD_00005] |
软件实现的内存需求描述 |
| [RS_BSWMD_00010] |
编译器版本和设置 |
| [RS_BSWMD_00011] |
API 调用的保证执行上下文 |
| [RS_BSWMD_00013] |
描述 ECU 配置参数的配置类 |
| [RS_BSWMD_00025] |
支持交付信息 |
| [RS_BSWMD_00031] |
使用的内存段名称的描述 |
| [RS_BSWMD_00037] |
所需库 |
| [RS_BSWMD_00038] |
API 调用的所需执行上下文 |
| [RS_BSWMD_00039] |
已实现 API 和函数的标识 |
| [RS_BSWMD_00040] |
所需 API 和函数的标识 |
| [RS_BSWMD_00043] |
支持通用发布信息的描述 |
| [RS_BSWMD_00045] |
发布 AUTOSAR 服务所需的资源 |
| [RS_BSWMD_00051] |
库的描述 |
| [RS_BSWMD_00053] |
BSW 主函数的基于循环时间的调度 |
| [RS_BSWMD_00054] |
应支持 BSW 模块的模式切换 |
| [RS_BSWMD_00055] |
同时模式转换 |
| [RS_BSWMD_00056] |
BSW 模块模式切换通知的 API |
| [RS_BSWMD_00057] |
由触发事件触发 BSW 主函数 |
| [RS_BSWMD_00058] |
由触发事件同时触发 |
| [RS_BSWMD_00059] |
由触发事件触发 BSW 模块的 API |
| [RS_BSWMD_00060] |
支持 BSW 模块和应用软件组件中的独占区域 |
| [RS_BSWMD_00061] |
支持变量调试 |
| [RS_BSWMD_00062] |
提供测量和标定支持 |
| [RS_BSWMD_00063] |
允许启用提供激活 Bsw 事件 API |
| [RS_BSWMD_00064] |
支持 BSWModuleEntities 内 ExclusiveArea 使用的可选配置 |
| [RS_BSWMD_00065] |
提供快速原型开发支持 |
| [RS_BSWMD_00066] |
BSW 分区间客户端-服务器通信 |
| [RS_BSWMD_00067] |
BSW 分区间发送者-接收者通信 |
| [RS_BSWMD_00068] |
BSW 服务在本地或远程分区上执行 |
5.3.3 在 R4.2.1 中删除的可追溯项
无(none)
5.4 AUTOSAR R4.2.2 与 R4.2.1 的变更历史
5.4.1 在 R4.2.2 中新增的可追溯项
无(none)
5.4.2 在 R4.2.2 中更改的可追溯项
| ID |
标题 |
| [RS_BSWMD_00061] |
支持变量调试 |
5.4.3 在 R4.2.2 中删除的可追溯项
无(none)
5.5 AUTOSAR R4.3.0 与 R4.2.2 的变更历史
5.5.1 在 R4.3.0 中新增的可追溯项
| ID |
标题 |
| [RS_BSWMD_00070] |
支持后构建挂钩工具用于快速原型开发 |
| [RS_BSWMD_00071] |
支持基于服务的旁路用于快速原型开发 |
5.5.2 在 R4.3.0 中更改的可追溯项
| ID |
标题 |
| [RS_BSWMD_00029] |
根据 AUTOSAR XML Schema 制作规则转换 BSWMD 模板建模 |
| [RS_BSWMD_00065] |
提供快速原型开发支持 |
5.5.3 在 R4.3.0 中删除的可追溯项
| ID |
标题 |
| [RS_BSWMD_00061] |
支持变量调试 |
5.6 AUTOSAR R4.3.1 与 R4.3.0 的变更历史
5.6.1 在 R4.3.1 中新增的可追溯项
无(none)
5.6.2 在 R4.3.1 中更改的可追溯项
无(none)
5.6.3 在 R4.3.1 中删除的可追溯项
无(none)
5.7 AUTOSAR R4.4.0 与 R4.3.1 的变更历史
5.7.1 在 R4.4.0 中新增的可追溯项
无(none)
5.7.2 在 R4.4.0 中更改的可追溯项
无(none)
5.7.3 在 R4.4.0 中删除的可追溯项
无(none)
翻译说明
- 文档结构:本文档为 AUTOSAR RS(需求规范)类文档,主要描述 BSWMD 模板的需求。
- 需求 ID:所有 RS_BSWMD_xxxxx 格式的需求 ID 保持原样未翻译。
- 追溯表:所有 RS_BRF_xxxxx 和 SRS_BSW_xxxxx 追溯 ID 保持原样。
- 缩写:BSW、BSWMD、BSWMD-T、ECUC、StMD、VSMD、SWC 等模块缩写保持英文。
- 类名与属性名:BswModuleEntity、BswInterruptEntity、ExclusiveArea、BswTimingEvent、BswDataReceivedEvent 等 UML 类名保持英文。
- ARXML 标签:保持原样。
- 数据流图:原图 1.1 的内容以文本形式呈现。
- 变更历史:所有 5.x 节中的可追溯项表格完整翻译。