Files
autosar_standard_spec_v4.4/Memory/AUTOSAR_SRS_RAMTest.md
T

15 KiB

RAM 测试需求规范

文档标题: Requirements on RAM Test AUTOSAR CP Release: 4.4.0 文档编号: 114 文档类型: SRS (Software Requirements Specification)


文档标识

项目 内容
Document Title Requirements on RAM Test
Document Owner AUTOSAR
Document Responsibility AUTOSAR
Document Identification No 114
Document Status Final
Part of AUTOSAR Standard Classic Platform
Part of Standard Release 4.4.0

文档变更历史

日期 版本 变更者 变更描述
2018-10-31 4.4.0 AUTOSAR Release Management 编辑性修订
2017-12-08 4.3.1 AUTOSAR Release Management 移除过时引用
2016-11-30 4.3.0 AUTOSAR Release Management 新增第 5 章"需求追溯"
2015-07-31 4.2.2 AUTOSAR Release Management 多项更正;编辑性修订
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 文档模板与需求追溯的形式化更新;符合 ISO 26262
2010-09-30 3.1.5 AUTOSAR Administration 修订 SRS_RamTst_13801;法律免责声明修订
2008-08-13 3.1.1 AUTOSAR Administration 法律免责声明修订
2007-12-21 3.0.1 AUTOSAR Administration 文档元信息扩充;小幅排版调整
2007-01-24 2.1.15 AUTOSAR Administration "用户须知"修订;增加"版本信息"
2006-11-28 2.1 AUTOSAR Administration 移除 [BSW13814] 已被否决的"改良汉明码"测试;法律免责声明修订
2006-05-16 2.0 AUTOSAR Administration 初始版本发布

目录

  1. 本文档的范围
  2. 如何阅读本文档
  3. 缩略语
  4. 功能概述
  5. 需求追溯
  6. 需求规范
  7. 参考文献

1 本文档的范围

本文档规定了 RAM Test 模块的需求。

本文档仅涵盖用于检查 RAM 的软件算法的需求。硬件 RAM 检查(如 ECC 校验)不在本文档范围之内。


2 如何阅读本文档

每条需求都有一个以"BSW"(代表"Basic Software")为前缀的唯一标识符。对于任何评审注释、备注或问题,请引用此唯一 ID,而非章节号或页码!

2.1 使用的约定

  • AUTOSAR 文档中需求的表示形式遵循 [5] 中规定的表格格式。
  • 需求中使用以下特定语义。

本文档中的关键字 "MUST"、"MUST NOT"、"REQUIRED"、"SHALL"、"SHALL NOT"、"SHOULD"、"SHOULD NOT"、"RECOMMENDED"、"MAY" 和 "OPTIONAL" 需按下述方式解读。请注意,使用这些关键字的文档的需求级别会修饰它们的强制性。

  • MUST:该词或术语 "REQUIRED" 或 "SHALL" 表示该定义是规范的绝对要求。
  • MUST NOT:该短语或短语 "SHALL NOT" 表示该定义是规范的绝对禁止项。
  • SHOULD:该词或形容词 "RECOMMENDED" 表示在特定情况下可能存在忽略某项的合理原因,但必须在选择不同方案之前充分理解并慎重权衡所有影响。
  • SHOULD NOT:该短语或短语 "NOT RECOMMENDED" 表示在特定情况下可能存在该特定行为可接受甚至有用的合理原因,但应在实施任何带有该标签的行为之前充分理解所有影响并慎重权衡。
  • MAY:该词或形容词 "OPTIONAL" 表示某项是真正可选的。

2.2 需求结构

每个模块特定章节包含基础软件模块的简短功能描述。每章中同类需求归类于以下小标题之下(如适用):

功能性需求:

  • 配置(模块中哪些元素需要可配置)
  • 初始化
  • 正常运行
  • 关机运行
  • 故障运行
  • ……

非功能性需求:

  • 时序需求
  • 资源使用
  • 易用性
  • 为其他工作包提供的输出(如描述模板、工具支持等)
  • ……

3 缩略语

缩略语 描述
ECU Electric Control Unit(电子控制单元)
EOL End Of Line(下线)。常用于 "EOL Programming" 或 "EOL Configuration"
MAL Microcontroller Abstraction Layer 旧名称(已由 MCAL 替代,因为 "MAL" 在法语中意为 "差")
MCAL Microcontroller Abstraction Layer(微控制器抽象层)
MCU Microcontroller Unit(微控制器单元)
NMI Non maskable interrupt(不可屏蔽中断)
OS Operating System(操作系统)
SPAL 本工作组的名称
SFR Special Function Register(特殊功能寄存器)
RTE Runtime environment(运行时环境)
WP Work Package(工作包)
缩写 描述
STD Standard(标准)
REQ Requirement(需求)
UNINIT Uninitialized(未初始化)

由于本文档由专业人员为专业人员撰写,其他所有术语均假定为读者已知。


4 功能概述

本模块的任务是通过软件测试 RAM 内存区域。


5 需求追溯

需求 描述 满足者
RS_BRF_00057 AUTOSAR 应定义一种内存映射机制 SRS_RamTst_13802
RS_BRF_00129 AUTOSAR 应支持数据损坏检测与保护 SRS_RamTst_13803, SRS_RamTst_13804, SRS_RamTst_13809, SRS_RamTst_13811, SRS_RamTst_13822, SRS_RamTst_13823, SRS_RamTst_13824
RS_BRF_01048 AUTOSAR 模块设计应支持多任务环境下模块协同工作 SRS_RamTst_13809
RS_BRF_01056 AUTOSAR BSW 模块应提供标准化接口 SRS_RamTst_13810
RS_BRF_01064 AUTOSAR BSW 应提供回调函数以访问上层模块 SRS_RamTst_13820
RS_BRF_01472 AUTOSAR 应支持模式 SRS_RamTst_13822, SRS_RamTst_13823, SRS_RamTst_13824
RS_BRF_01504 AUTOSAR 应处理 ECU 睡眠引起的内存损坏 SRS_RamTst_13804
RS_BRF_02040 AUTOSAR BSW 与 RTE 应确保数据一致性 SRS_RamTst_13816
RS_BRF_02048 AUTOSAR 应支持使用硬件内存保护功能以提升安全性 SRS_RamTst_13825
RS_BRF_02064 AUTOSAR 应使用硬件通信数据完整性机制 SRS_RamTst_13825
RS_BRF_02224 AUTOSAR 应支持运行时硬件测试 SRS_RamTst_13800, SRS_RamTst_13801, SRS_RamTst_13804, SRS_RamTst_13809, SRS_RamTst_13811, SRS_RamTst_13812, SRS_RamTst_13822, SRS_RamTst_13823, SRS_RamTst_13824

6 需求规范

6.1 功能性需求

6.1.1 配置

6.1.1.1 [SRS_RamTst_13800] 被测单元数量应可在运行时更改

字段 内容
类型 Valid
描述 为了响应不同需求(睡眠、驾驶循环),用户应有可能"在线"更改每个周期内被测单元的数量。
理由 影响中断禁用时间。
用例 当车辆行驶时,系统中断锁定时间必须远短于睡眠模式下的时间。
依赖 --
支持材料 --
⌋(RS_BRF_02224)
6.1.1.2 [SRS_RamTst_13801] 测试单元大小应作为已发布参数

字段 内容
类型 Valid
描述 实现者应根据控制器特性为特定测试实现选择测试单元大小(位、字节、字、长字)。该参数应与具体实现一起发布给集成方。
理由 --
用例 实现者根据控制器特性进行运行时优化。
依赖 --
支持材料 --
⌋(RS_BRF_02224)
6.1.1.3 [SRS_RamTst_13802] 多个 RAM 区域应可在后构建/链接时配置

字段 内容
类型 Valid
描述 应可配置多个 RAM 区域(通过配置其起始与结束地址)。如果两个 RAM 区域重叠,且在测试其中一个块时在重叠区域检测到错误,则驱动不保证更新另一个块的状态。
理由 --
用例 用户应有可能配置内存映射。
依赖 --
支持材料 --
⌋(RS_BRF_00057)
6.1.1.4 [SRS_RamTst_13803] 应可在预编译时选择可用 RAM 测试算法的子集

字段 内容
类型 Valid
描述 用户应在预编译时选择与项目安全需求匹配的可用算法。
理由 避免未使用代码。
用例 取决于 ECU 安全分析,应可选择不同的 RAM 测试算法。为节省 ROM 空间,算法应可在编译时选择。
依赖 --
支持材料 --
⌋(RS_BRF_00129)
6.1.1.5 [SRS_RamTst_13804] 应可在运行时从预编译选定的 RAM 检查测试算法的子集中进一步选择

字段 内容
类型 Valid
描述 用户应在运行时从可用算法中选择测试算法,以符合项目安全需求。
理由 提供不同级别的测试。
用例 正常运行期间执行简单测试,而在进入睡眠模式前将执行更复杂的 RAM 测试算法。由于中断延迟需求更严格,复杂的 RAM 测试无法在正常运行期间执行。
依赖 [SRS_RamTst_13803]
支持材料 --
⌋(RS_BRF_00129, RS_BRF_02224, RS_BRF_01504)

6.1.2 正常运行

6.1.2.1 [SRS_RamTst_13822] 应提供具有低覆盖率的安全机制

字段 内容
类型 New
描述 应提供满足 60% 诊断覆盖率的安全度量。它可以由硬件方式、适当的测试算法或两者提供。
理由 检测 RAM 中的永久性故障。
用例 支持 EOL、快速启动测试以及需要低诊断覆盖率测试的场景,例如,如果系统仅具有低 ISO 26262 ASIL 等级的安全目标。
依赖 --
支持材料 ISO 26262-5:2011, Tables 4, 5, D.1 and D.6, sections D.2.5.1, D.2.5.2 and D.2.5.3
⌋(RS_BRF_00129, RS_BRF_02224, RS_BRF_01472)
6.1.2.2 [SRS_RamTst_13823] 应提供具有中等覆盖率的测试算法

字段 内容
类型 New
描述 应提供满足 90% 诊断覆盖率的安全度量。它可以由硬件方式、适当的测试算法或两者提供。
理由 检测 RAM 中的永久性故障。
用例 支持 EOL、启动测试以及需要中等诊断覆盖率测试的场景,例如,如果系统安全目标的 ASIL 等级的 ISO 26262 潜在故障度量可以通过中等覆盖率实现。
依赖 --
支持材料 ISO 26262-5:2011, Tables 4, 5, D.1 and D.6, sections D.2.5.1, D.2.5.2 and D.2.5.3
⌋(RS_BRF_00129, RS_BRF_02224, RS_BRF_01472)
6.1.2.3 [SRS_RamTst_13824] 应提供具有高覆盖率的测试算法

字段 内容
类型 New
描述 应提供满足 99% 诊断覆盖率的安全度量。它可以由硬件方式、适当的测试算法或两者提供。
理由 检测 RAM 中的永久性故障。
用例 支持 EOL、严谨的启动、关机或运行时测试,以及需要高诊断覆盖率测试的场景,例如,如果系统具有高 ISO 26262 ASIL 等级的安全目标。
依赖 --
支持材料 ISO 26262-5:2011, Tables 4, 5, D.1 and D.6, sections D.2.5.1, D.2.5.2 and D.2.5.3
⌋(RS_BRF_00129, RS_BRF_02224, RS_BRF_01472)
6.1.2.4 [SRS_RamTst_13809] 应可将 RAM 测试执行划分为更小的部分

字段 内容
类型 Valid
描述 应可将 RAM 测试执行划分为更小的部分。每次调用 RAM 测试时,应仅可执行整个 RAM 测试的一部分。
理由 避免长时间中断禁用。
用例 需要短中断延迟时间的驱动程序。
依赖 --
支持材料 --
⌋(RS_BRF_00129, RS_BRF_02224, RS_BRF_01048)
6.1.2.5 [SRS_RamTst_13810] 每块的 RAM 测试执行当前状态应通过 get status 接口可用

字段 内容
类型 Valid
描述 RAM 测试每块的执行状态(RESULT_NOT_TESTED、RESULT_OK、RESULT_NOT_OK 和 RESULT_UNDEFINED)应提供给用户。用户应有可能随时获取 RAM 测试的状态。这应实现为 get status 接口,并可在编译时进行配置。此功能应为可选。
理由 --
用例 诊断可能需要知道是否发生了错误。
依赖 --
支持材料 --
⌋(RS_BRF_01056)
6.1.2.6 [SRS_RamTst_13820] RAM 测试执行状态应通过通知机制提供

字段 内容
类型 Valid
描述 关于何时检测到错误或测试完成的信息应通过通知机制提供给用户。此功能应为可选。
理由 --
用例 诊断可能需要立即知道是否检测到错误。
依赖 --
支持材料 --
⌋(RS_BRF_01064)
6.1.2.7 [SRS_RamTst_13811] RAM 测试模块应能够以非破坏性方式执行其测试

字段 内容
类型 Valid
描述 RAM 测试模块应能够以非破坏性方式执行其测试。
理由 原始数据应被保留。
用例 销毁所有 RAM 数据可能导致更长的反应时间(如唤醒)、更高的资源消耗(如:EEPROM)。
依赖 --
支持材料 --
⌋(RS_BRF_02224, RS_BRF_00129)
6.1.2.8 [SRS_RamTst_13812] RAM 测试模块应能够以破坏性方式执行其测试

字段 内容
类型 Valid
描述 RAM 测试模块应能够以破坏性方式执行其测试。测试后 RAM 的状态应为定义的。
理由 原始数据无需保留。
用例 --
依赖 --
支持材料 --
⌋(RS_BRF_02224)

6.2 非功能性需求

6.2.1 [SRS_RamTst_13816] 应考虑指令/数据队列的影响

字段 内容
类型 Valid
描述 写入一个单元后再读回,可能导致读回的值来自数据队列而非待测试 RAM 单元的问题。此时,需要注入指令以消除此类影响。
理由 从已测试单元读回值。
用例 带有指令或数据队列的控制器可能有此类影响。
依赖 --
支持材料 --
⌋(RS_BRF_02040)

6.2.2 [SRS_RamTst_13825] RAM 测试模块应可用于符合 ISO 26262 不同 ASIL 等级的需求

字段 内容
类型 New
描述 RAM 测试模块应为 RAM 中的永久性故障提供并记录(故障模型与故障覆盖率)诊断能力,以便实现 ISO 26262 不同 ASIL 等级的潜在故障度量目标。
理由 AUTOSAR 适用于需要符合 ISO 26262 的系统。
用例 --
依赖 --
支持材料 ISO 26262-5:2011, Tables 4, 5, D.1 and D.6, sections D.2.5.1, D.2.5.2 and D.2.5.3
⌋(RS_BRF_02048, RS_BRF_02064)

7 参考文献

7.1 AUTOSAR 交付物

[1] Glossary AUTOSAR_TR_Glossary.pdf

[2] Layered Software Architecture AUTOSAR_EXP_LayeredSoftwareArchitecture.pdf

[3] General Requirements on Basic Software Modules AUTOSAR_SRS_BSWGeneral.pdf

[4] General Requirements on SPAL AUTOSAR_SRS_SPALGeneral.pdf

[5] Software Standardization Template AUTOSAR_TPS_StandardizationTemplate.pdf

7.2 相关标准与规范

[6] CEI/IEC 61508-2:2000: 关于电气/电子/可编程电子安全相关系统的需求


翻译说明

  • 本文档完整翻译自 AUTOSAR_SRS_RAMTest v4.4.0(Document ID 114)。
  • 保留所有需求 ID(如 SRS_RamTst_xxxxx、RS_BRF_xxxxx)。
  • 保留 AUTOSAR 方框符 ⌈⌋。
  • 保留 ISO 26262 等标准引用。
  • 模块缩写(RamTst、ECU 等)保持英文。