Files
autosar_standard_spec_v4.4/Memory/AUTOSAR_SRS_FlashTest.md
T

18 KiB

Flash 测试需求规范

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


文档标识

项目 内容
Document Title Requirements on Flash Test
Document Owner AUTOSAR
Document Responsibility AUTOSAR
Document Identification No 260
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 移除 HIS 引用;将"default error"重命名为"development error";小幅更正/澄清/编辑性修订
2016-11-30 4.3.0 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 将需求与 BSW Feature 文档关联;根据 TPS_StandardizationTemplate 更新需求格式
2010-02-02 3.1.4 AUTOSAR Administration 初始版本发布

目录

  1. 文档范围
  2. 使用的约定
  3. 缩略语
  4. 功能概述
  5. 需求追溯
  6. 需求规范
  7. 参考文献

1 文档范围

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


2 使用的约定

  • AUTOSAR 文档中需求的表示形式遵循 [TPS_STDT_00078] 中规定的表格格式。
  • 需求中应使用以下特定语义(基于 IETF)。

本文档中的关键字 "MUST"、"MUST NOT"、"REQUIRED"、"SHALL"、"SHALL NOT"、"SHOULD"、"SHOULD NOT"、"RECOMMENDED"、"MAY" 和 "OPTIONAL" 需按下述方式解读:

  • SHALL:规范的绝对要求
  • SHALL NOT:规范的绝对禁止
  • MUST:由于法律问题而构成的规范绝对要求
  • MUST NOT:由于法律约束而构成的规范绝对禁止
  • SHOULD / RECOMMENDED:特定情况下可能存在忽略的合理理由
  • SHOULD NOT / NOT RECOMMENDED:特定情况下可能存在该行为可接受的合理理由
  • MAY / OPTIONAL:真正可选

3 缩略语

缩略语 描述
ECU Electric Control Unit(电子控制单元)
EOL End Of Line(下线)
CRC Cyclic Redundancy Check(循环冗余校验)
MCAL Microcontroller Abstraction Layer(微控制器抽象层)
MCU Microcontroller Unit(微控制器单元)
NMI Non maskable interrupt(不可屏蔽中断)
OS Operating System(操作系统)
DEM Diagnostic Event Manager(诊断事件管理器)
SFR Special Function Register(特殊功能寄存器)
RTE Runtime environment(运行时环境)
WP Work Package(工作包)
ECC Error Correction Code(纠错码)
缩写 描述
STD Standard(标准)
REQ Requirement(需求)
UNINIT Uninitialized(未初始化)
术语 描述
signature 特定内存块内容的唯一计算结果
Memory scrubbing 自动顺序数据读取以触发检测/验证机制(典型如 ECC)
Invariable memory(不变内存) 不变内存可以是程序 Flash、程序 SRAM、锁定缓存和 ROM
Background test(后台测试) 由调度程序周期性调用且可中断,测试在多个调度任务上分散执行
Foreground test(前台测试) 通过用户调用启动
Test interval(测试间隔) 后台模式下完整 Flash 测试的间隔

4 功能概述

本软件模块提供测试不变内存的算法。不变内存可以是数据/程序 Flash、程序 SRAM、锁定缓存,要么嵌入微控制器中,要么通过内存映射与微控制器相连。为简化,该软件模块称为 Flash Test Driver。

测试服务可在 MCU 初始化后随时执行,由 Flash Test Driver 的用户选择合适的测试算法和正确的执行位置,以满足系统的安全需求。测试服务本身依赖于系统的存储概念。因此,不同测试算法的可用性是可配置的。

Flash Test 驱动旨在集成于整体安全概念中,本身不会提供所需的诊断覆盖率。


5 需求追溯

需求 描述 满足者
RS_BRF_00129 AUTOSAR 应支持数据损坏检测与保护 SRS_FlsTst_1420014209、1421114217、14219、14221~14225
RS_BRF_01024 AUTOSAR 应为公共符号提供命名规则 SRS_FlsTst_14225
RS_BRF_02168 AUTOSAR 诊断应提供异常运行条件的集中分类和处理 SRS_FlsTst_14223
RS_BRF_02224 AUTOSAR 应支持运行时硬件测试 SRS_FlsTst_14200, 14201, 14208, 14209, 1421114217, 14219, 1422114225

6 需求规范

6.1 功能性需求

Flash Test 模块使用 Diagnostic Event Manager (DEM) 进行错误报告。错误通过 DEM API(BSW,Dem_SetEventStatus())报告。开发错误报告给 Default Error Tracer (DET)。

6.1.1 配置

本章列出对模块可配置性的需求。

6.1.1.1 [SRS_FlsTst_14222] 内存块测试应被配置

字段 内容
类型 Valid
描述 配置待测试的内存块。块大小应可配置。应可配置多个 Flash 块区域(例如通过配置其起始与结束地址)。此外,如适用,应为每个内存块配置已存储签名或校验和位置的链接。
理由 定义待测试的内存块。
用例 --
依赖 --
支持材料 --
⌋(RS_BRF_02224, RS_BRF_00129)
6.1.1.2 [SRS_FlsTst_14200] Flash 测试服务应被配置

字段 内容
类型 Valid
描述 应可配置每个内存块可使用的测试算法。
理由 使 Flash 测试服务适应系统存储概念并优化驱动代码
用例 --
依赖 --
支持材料 AUTOSAR_SWS_RAM_Test.pdf (AUTOSAR Release 2.1)
⌋(RS_BRF_02224, RS_BRF_00129)
6.1.1.3 [SRS_FlsTst_14201] 应支持后构建配置

字段 内容
类型 Valid
描述 应支持后构建配置
理由 1. 用于目标代码交付;2. Flash 测试配置依赖于地址,可能随 SW 版本而变化
用例 为不同 ECU 变体加载配置
依赖 --
支持材料 AUTOSAR_SWS_RAM_Test.pdf (AUTOSAR Release 2.1)
⌋(RS_BRF_02224, RS_BRF_00129)

6.1.2 初始化

未收集特殊初始化需求。

6.1.3 正常运行

本章列出模块"正常"功能的需求。

6.1.3.1 [SRS_FlsTst_14202] 应使用 ECC 检查数据完整性

字段 内容
类型 Valid
描述 主动使用 ECC 测试数据完整性。应提供算法,在读取字时检查数据和扩展到内存字的冗余位的正确性。如果不变内存支持此机制,此算法可适用。测试在出现任何故障时应报告 DEM 错误。
理由 检测 16 位字内的单位故障、双位故障、三位故障
用例 SW ECC 或 HW ECC。可用于"内存清洗"。
依赖 --
支持材料 --
⌋(RS_BRF_00129)
6.1.3.2 [SRS_FlsTst_14203] 应使用校验和检查数据完整性

字段 内容
类型 Valid
描述 使用校验和检查数据完整性。应提供算法,重新计算内存块的校验和,并与存储在不变内存中定义地址处的校验和进行比较。如果 Flash 内存包含校验和,此算法可适用。已存储校验和位置的链接应可配置。测试在校验和不匹配时应报告 DEM 错误。
理由 检测位故障
用例 --
依赖 SRS_FlsTst_14222
支持材料 --
⌋(RS_BRF_00129)
6.1.3.3 [SRS_FlsTst_14204] 应使用 CRC 签名(8 位长度)检查数据完整性

字段 内容
类型 Valid
描述 应提供算法,使用 CRC 算法重新计算内存块的签名,并与存储在不变内存中定义地址处的签名进行比较。CRC 校验和长度应为 8 位字。如果 Flash 内存包含块签名,此测试可适用。已存储签名位置的链接应可配置。测试在签名不匹配时应报告 DEM 错误。
理由 检测字内的位故障以及 99.6% 的所有可能位故障
用例 --
依赖 --
支持材料 --
⌋(RS_BRF_00129)
6.1.3.4 [SRS_FlsTst_14205] 应使用 CRC 签名(16 位长度)检查数据完整性

字段 内容
类型 Valid
描述 应提供算法,使用 CRC 算法重新计算内存块的签名,并与存储在不变内存中定义地址处的签名进行比较。CRC 校验和长度应为 16 位字。
理由 检测字内的位故障以及 99.998% 的所有可能位故障
用例 --
依赖 --
支持材料 --
⌋(RS_BRF_00129)
6.1.3.5 [SRS_FlsTst_14206] 应使用 CRC 签名(32 位长度)检查数据完整性

字段 内容
类型 Valid
描述 应提供算法,使用 CRC 算法重新计算内存块的签名,并与存储在不变内存中定义地址处的签名进行比较。CRC 校验和长度应为 32 位字。
理由 检测字内的位故障以及 99.99999995% 的所有可能位故障。
用例 --
依赖 --
支持材料 --
⌋(RS_BRF_00129)
6.1.3.6 [SRS_FlsTst_14207] 应通过比较重复内存块检查数据完整性

字段 内容
类型 Valid
描述 应提供测试以比较两个相同的内存块。测试用例在内存重复时适用。测试在不匹配时应报告 DEM 错误。
理由 根据块复制技术检测所有位故障
用例 --
依赖 --
支持材料 --
⌋(RS_BRF_00129)
6.1.3.7 [SRS_FlsTst_14208] 后台 Flash 测试应可中断

字段 内容
类型 Changed
描述 --
理由 测试旨在用于调度的后台任务。因此不应阻塞其他操作。
用例 --
依赖 --
支持材料 AUTOSAR_SWS_RAM_Test.pdf (AUTOSAR Release 2.1)
⌋(RS_BRF_02224, RS_BRF_00129)
6.1.3.8 [SRS_FlsTst_14209] 待测内存应被划分为更小的部分

字段 内容
类型 Valid
描述 待测内存应被划分为更小的单独部分,可根据系统需要进行调度。
理由 与并发任务共享 CPU 资源
用例 --
依赖 --
支持材料 AUTOSAR_SWS_RAM_Test.pdf (AUTOSAR Release 2.1)
⌋(RS_BRF_02224, RS_BRF_00129)
6.1.3.9 [SRS_FlsTst_14211] Flash 测试执行状态应可用

字段 内容
类型 Valid
描述 Flash 测试执行的当前状态应通过 get status 接口可用。此功能应为可选。
理由 能够监视当前运行的测试以进行测试流控制。
用例 --
依赖 --
支持材料 AUTOSAR_SWS_RAM_Test.pdf (AUTOSAR Release 2.1)
⌋(RS_BRF_02224, RS_BRF_00129)
6.1.3.10 [SRS_FlsTst_14212] Flash 测试执行完成应通过通知机制提供

字段 内容
类型 Valid
描述 关于测试已完成的信息应通过通知机制提供给用户。此功能应为可选。
理由 能够指示当前运行测试的完成以进行测试流控制。
用例 --
依赖 --
支持材料 AUTOSAR_SWS_RAM_Test.pdf (AUTOSAR Release 2.1)
⌋(RS_BRF_02224, RS_BRF_00129)
6.1.3.11 [SRS_FlsTst_14213] 应提供已完成测试的签名/校验和计算

字段 内容
类型 Valid
描述 已完成测试的签名/校验和计算应提供给用户。此功能应为可选。
理由 已完成测试的通过/失败判定可在本软件模块之外做出。
用例 通过或失败判定可由外部安全单元完成
依赖 --
支持材料 AUTOSAR_SWS_RAM_Test.pdf (AUTOSAR Release 2.1)
⌋(RS_BRF_02224, RS_BRF_00129)
6.1.3.12 [SRS_FlsTst_14214] 应提供 Flash 测试执行结果服务

字段 内容
类型 Valid
描述 应在 SW 请求时提供关于已完成测试的信息。此功能应为可选。
理由 能够监视已完成测试以用于诊断目的。
用例 --
依赖 --
支持材料 AUTOSAR_SWS_RAM_Test.pdf (AUTOSAR Release 2.1)
⌋(RS_BRF_02224, RS_BRF_00129)
6.1.3.13 [SRS_FlsTst_14215] 应可能暂停 Flash 测试执行

字段 内容
类型 Valid
描述 应提供服务以暂停正在运行的 Flash 测试。暂停将在下一个原子边界停止测试执行并保存中间状态。此功能应为可选。
理由 在更高优先级任务出现时暂停后台 Flash 测试任务。
用例 --
依赖 --
支持材料 AUTOSAR_SWS_RAM_Test.pdf (AUTOSAR Release 2.1)
⌋(RS_BRF_02224, RS_BRF_00129)
6.1.3.14 [SRS_FlsTst_14216] 暂停的 Flash 测试执行应可恢复

字段 内容
类型 Valid
描述 应提供服务以恢复已暂停的 Flash 测试。此功能应为可选。
理由 完成已暂停的 Flash 测试。
用例 --
依赖 --
支持材料 AUTOSAR_SWS_RAM_Test.pdf (AUTOSAR Release 2.1)
⌋(RS_BRF_02224, RS_BRF_00129)
6.1.3.15 [SRS_FlsTst_14217] 需要时应停止 Flash 测试执行

字段 内容
类型 Valid
描述 应提供服务以停止 Flash 测试。测试应被取消,重新启动测试应从头开始。
理由 --
用例 在出现 DEM 错误时,用户可取消正在运行的 Flash 测试执行
依赖 --
支持材料 --
⌋(RS_BRF_02224, RS_BRF_00129)
6.1.3.16 [SRS_FlsTst_14219] 应提供前台 Flash 测试

字段 内容
类型 Valid
描述 应提供服务以前台模式测试内存块。此功能应为可选。
理由 --
用例 启动阶段测试完整程序 Flash;关键操作前测试特殊内存块
依赖 --
支持材料 --
⌋(RS_BRF_02224, RS_BRF_00129)
6.1.3.17 [SRS_FlsTst_14223] 应报告 Flash 测试错误细节

字段 内容
类型 Valid
描述 应提供服务以报告从 ECC 测试中检测到的特定错误数据。

该服务应为可选,适用于以下情况:
- 硬件配备了不变内存的 ECC
- 硬件能够报告硬件特定错误细节
- 调用方需要此数据

调用方负责解释此服务提供的数据。
理由 这些详细错误数据用于诊断目的。
用例 ECU 启动期间应测试不变内存的 ECC 故障。出现故障时,此功能应用于收集硬件特定的故障数据,如 ECC 故障的故障地址
依赖 --
支持材料 --
⌋(RS_BRF_02224, RS_BRF_00129, RS_BRF_02168)
6.1.3.18 [SRS_FlsTst_14224] 应测试 ECC 电路

字段 内容
类型 Valid
描述 应提供服务以测试 ECC 电路并报告测试结果。

该服务应为可选,适用于以下情况:
- 硬件配备了不变内存的 ECC
- 硬件提供测试 ECC 电路的机制
- 调用方需要此测试
理由 在安全相关应用中,可能有必要确定硬件内存测试机制功能正常。这可以通过验证可用电路(ECC)无错误运行来实现。
用例 ECU 启动期间验证 ECC 硬件逻辑。
依赖 --
支持材料 --
⌋(RS_BRF_02224, RS_BRF_00129)
6.1.3.19 [SRS_FlsTst_14225] 每个 Flash 测试间隔应具有一个标识符

字段 内容
类型 Valid
描述 每个 Flash 测试间隔应具有一个标识符,该标识符应在后台模式下每次启动有效测试间隔时递增。Flash 测试间隔的值应提供给上层。标识符的结束值应可配置。
理由 将测试结果或测试签名分配给一个测试间隔,以便上层监视 ECU 测试流。
用例 --
依赖 --
支持材料 --
⌋(RS_BRF_02224, RS_BRF_00129, RS_BRF_01024)

6.1.4 关机操作

未收集关机操作的专用需求。

6.1.5 故障操作

本软件模块未收集故障/恢复操作的专用需求。

6.2 非功能性需求

未收集专用非功能性需求。

6.2.1 时序需求

未收集专用时序需求。

6.2.2 资源使用

6.2.2.1 [SRS_FlsTst_14221] 测试期间被测试内存内容不应有效

字段 内容
类型 Valid
描述 测试基于内容,要求测试期间内容不变。这必须由调用方确保。
理由 被测内存块的内容在测试期间不应有效
用例 运行时测试数据 Flash
依赖 --
支持材料 --
⌋(RS_BRF_02224, RS_BRF_00129)

7 参考文献

AUTOSAR 交付物

  • [DOC_LAYERED_ARCH] Layered Software Architecture, AUTOSAR_EXP_LayeredSoftwareArchitecture.pdf
  • [AUTOSAR_GLOSSARY] Glossary, AUTOSAR_TR_Glossary.pdf
  • [SRS_BSW_GENERAL] General Requirements on Basic Software Modules, AUTOSAR_SRS_BSWGeneral.pdf
  • [SRS_BSW_SPAL] General Requirements on SPAL, AUTOSAR_SRS_SPALGeneral.pdf
  • [SWS_BSW] Specification of Diagnostic Event Manager, AUTOSAR_SWS_DiagnosticEventManager.pdf
  • [SWS_BSW] Specification of Default Error Tracer, AUTOSAR_SWS_DefaultErrorTracer.pdf
  • [SWS_BSW_MCAL] Specification of RAM Test, AUTOSAR_SWS_RAMTest.pdf
  • [SWS_BSW] Specification of ECU state manager, AUTOSAR_SWS_ECUStateManager.pdf
  • [TPS_STDT_0078] Software Standardization Template, AUTOSAR_TPS_StandardizationTemplate.pdf

翻译说明

  • 本文档完整翻译自 AUTOSAR_SRS_FlashTest v4.4.0(Document ID 260)。
  • 保留所有需求 ID(SRS_FlsTst_xxxxx、RS_BRF_xxxxx)。
  • 保留 AUTOSAR 方框符 ⌈⌋。
  • 模块缩写(FlsTst、Fls、ECC、CRC、DEM、DET 等)保持英文。