P2 batch translation: 49 PDFs (Memory + Safety + Crypto + ModeManagement + IO)

This commit is contained in:
opencode-translator
2026-06-13 10:04:28 +08:00
parent 6f293acbf7
commit 784f11ab73
50 changed files with 36262 additions and 57 deletions
+488
View File
@@ -0,0 +1,488 @@
# 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. [文档范围](#1-文档范围)
2. [使用的约定](#2-使用的约定)
3. [缩略语](#3-缩略语)
4. [功能概述](#4-功能概述)
5. [需求追溯](#5-需求追溯)
6. [需求规范](#6-需求规范)
- 6.1 [功能性需求](#61-功能性需求)
- 6.2 [非功能性需求](#62-非功能性需求)
7. [参考文献](#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_14200~14209、14211~14217、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, 14211~14217, 14219, 14221~14225 |
---
## 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 测试中检测到的特定错误数据。<br><br>该服务应为可选,适用于以下情况:<br>- 硬件配备了不变内存的 ECC<br>- 硬件能够报告硬件特定错误细节<br>- 调用方需要此数据<br><br>调用方负责解释此服务提供的数据。 |
| 理由 | 这些详细错误数据用于诊断目的。 |
| 用例 | ECU 启动期间应测试不变内存的 ECC 故障。出现故障时,此功能应用于收集硬件特定的故障数据,如 ECC 故障的故障地址 |
| 依赖 | -- |
| 支持材料 | -- |
⌋(RS_BRF_02224, RS_BRF_00129, RS_BRF_02168)
##### 6.1.3.18 [SRS_FlsTst_14224] 应测试 ECC 电路
| 字段 | 内容 |
|------|------|
| 类型 | Valid |
| 描述 | 应提供服务以测试 ECC 电路并报告测试结果。<br><br>该服务应为可选,适用于以下情况:<br>- 硬件配备了不变内存的 ECC<br>- 硬件提供测试 ECC 电路的机制<br>- 调用方需要此测试 |
| 理由 | 在安全相关应用中,可能有必要确定硬件内存测试机制功能正常。这可以通过验证可用电路(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 等)保持英文。