P2 batch translation: 49 PDFs (Memory + Safety + Crypto + ModeManagement + IO)
This commit is contained in:
@@ -0,0 +1,698 @@
|
||||
# RAM 测试规范
|
||||
|
||||
> **文档标题**: Specification of RAM Test
|
||||
> **AUTOSAR CP Release**: 4.4.0
|
||||
> **文档编号**: 076
|
||||
> **文档类型**: SWS (Software Specification)
|
||||
|
||||
---
|
||||
|
||||
## 文档标识
|
||||
|
||||
| 项目 | 内容 |
|
||||
|------|------|
|
||||
| Document Title | Specification of RAM Test |
|
||||
| Document Owner | AUTOSAR |
|
||||
| Document Responsibility | AUTOSAR |
|
||||
| Document Identification No | 076 |
|
||||
| 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 | MCALMulticoreDistribution (CONC_639) DRAFT;头文件清理;小幅更正 |
|
||||
| 2017-12-08 | 4.3.1 | AUTOSAR Release Management | 更新追溯;小幅更正/澄清/编辑性修订 |
|
||||
| 2016-11-30 | 4.3.0 | AUTOSAR Release Management | 移除 7.5 调试小节;重命名 RamTstGetVersionInfoApi → RamTstVersionInfoApi;移除 SWS_RamTst_00167 和 00168;新增运行时错误和瞬态故障章节 |
|
||||
| 2015-07-31 | 4.2.2 | AUTOSAR Release Management | 更新扩展生产错误的通过/失败标准;调试支持标记为过时 |
|
||||
| 2014-10-31 | 4.2.1 | AUTOSAR Release Management | 新增扩展生产错误的通过/失败标准 |
|
||||
| 2014-03-31 | 4.1.3 | AUTOSAR Release Management | 编辑性修订;更新追溯 |
|
||||
| 2013-10-31 | 4.1.2 | AUTOSAR Release Management | 移除 SWS_RamTst_00110 时序属性;编辑性修订 |
|
||||
| 2013-03-15 | 4.1.1 | AUTOSAR Administration | 按新的 SWS_BSWGeneral 文档对齐;更新扩展生产错误文档;调整 ISO 26262 |
|
||||
| 2011-12-22 | 4.0.3 | AUTOSAR Administration | 澄清部分需求;笔误更正;新增 DET 错误报告需求 |
|
||||
| 2010-09-30 | 3.1.5 | AUTOSAR Administration | 澄清部分配置参数;改进错误报告 |
|
||||
| 2010-02-02 | 3.1.4 | AUTOSAR Administration | 新增前台测试;允许每个测试算法多个配置;R4.0 维护 |
|
||||
| 2009-02-04 | 3.1.2 | AUTOSAR CM | 更新文档到新 SWS 宏 |
|
||||
| 2008-08-13 | 3.1.1 | AUTOSAR Administration | 法律免责声明修订 |
|
||||
| 2008-02-01 | 3.0.2 | AUTOSAR Administration | 第 1 章和第 9 章图修正 |
|
||||
| 2007-12-21 | 3.0.1 | AUTOSAR Administration | 文档化并包含 RAM 测试概念;更新需求表;措辞/语法变更;时序图变更 |
|
||||
| 2007-07-24 | 2.1.16 | AUTOSAR Technical Office | 表格从 UML 模型生成 |
|
||||
| 2007-01-24 | 2.1.15 | AUTOSAR Administration | "用户须知"修订;增加"版本信息" |
|
||||
| 2006-11-28 | 2.1.1 | AUTOSAR Administration | 文件包含结构更新;移除"改良汉明码"测试;`RamTst_Stop()` & `RamTst_Continue()` 改为"异步" |
|
||||
| 2006-05-16 | 2.0 | AUTOSAR Administration | 初始版本发布 |
|
||||
|
||||
---
|
||||
|
||||
## 目录
|
||||
|
||||
1. [介绍与功能概述](#1-介绍与功能概述)
|
||||
2. [缩略语](#2-缩略语)
|
||||
3. [相关文档](#3-相关文档)
|
||||
4. [约束与假设](#4-约束与假设)
|
||||
5. [模块依赖](#5-模块依赖)
|
||||
6. [需求追溯](#6-需求追溯)
|
||||
7. [功能规范](#7-功能规范)
|
||||
8. [API 规范](#8-api-规范)
|
||||
9. [时序图](#9-时序图)
|
||||
10. [配置规范](#10-配置规范)
|
||||
11. [不适用需求](#11-不适用需求)
|
||||
|
||||
---
|
||||
|
||||
## 1 介绍与功能概述
|
||||
|
||||
本规范描述 RAM Test 模块的功能、API 和配置。
|
||||
|
||||
RAM Test 模块的任务是通过软件测试 RAM 内存区域,以检测永久故障。
|
||||
|
||||
主要特性:
|
||||
- **后台 RAM 测试**(Background):周期性执行,可中断,异步服务
|
||||
- **前台 RAM 测试**(Foreground):由用户调用,同步,可执行完整或部分测试
|
||||
- 支持低、中、高诊断覆盖率的多种测试算法
|
||||
- 非破坏性和破坏性两种模式
|
||||
- 可配置的测试单元数
|
||||
|
||||
模块阶段:
|
||||
1. 初始化(Init)
|
||||
2. 后台测试运行(Run)
|
||||
3. 暂停(Suspend)/恢复(Resume)
|
||||
4. 停止(Stop)/允许(Allow)
|
||||
5. 反初始化(DeInit)
|
||||
|
||||
---
|
||||
|
||||
## 2 缩略语
|
||||
|
||||
| 缩略语 | 描述 |
|
||||
|--------|------|
|
||||
| RamTst | RAM Test 模块名 |
|
||||
| ECU | Electric Control Unit |
|
||||
| EOL | End Of Line |
|
||||
| MCAL | Microcontroller Abstraction Layer |
|
||||
| MCU | Microcontroller Unit |
|
||||
| NMI | Non maskable interrupt |
|
||||
| OS | Operating System |
|
||||
| DEM | Diagnostic Event Manager |
|
||||
| DET | Default Error Tracer |
|
||||
| ECC | Error Correction Code |
|
||||
| CRC | Cyclic Redundancy Check |
|
||||
|
||||
---
|
||||
|
||||
## 3 相关文档
|
||||
|
||||
### 3.1 输入文档
|
||||
|
||||
- List of Basic Software Modules
|
||||
- Layered Software Architecture
|
||||
- General Requirements on Basic Software Modules
|
||||
- Requirements on RAM Test — AUTOSAR_SRS_RAMTest.pdf
|
||||
- Specification of Default Error Tracer
|
||||
- Specification of Diagnostic Event Manager
|
||||
- General Specification of Basic Software Modules
|
||||
|
||||
### 3.2 相关标准与规范
|
||||
|
||||
- ISO 26262-5:2011
|
||||
|
||||
### 3.3 相关规范
|
||||
|
||||
AUTOSAR 提供基础软件模块通用规范(SWS BSW General),也适用于 RAM Test。
|
||||
|
||||
---
|
||||
|
||||
## 4 约束与假设
|
||||
|
||||
### 4.1 限制
|
||||
|
||||
仅涵盖用于检查 RAM 的软件算法。硬件 RAM 检查(如 ECC 校验)不在范围内。
|
||||
RAM Test 模块旨在集成于整体安全概念中,本身不提供所需诊断覆盖率。
|
||||
|
||||
### 4.2 完整 RAM 测试
|
||||
|
||||
完整 RAM 测试覆盖所有配置的 RAM 块,从开始到结束。
|
||||
|
||||
### 4.3 部分 RAM 测试
|
||||
|
||||
部分 RAM 测试仅覆盖配置 RAM 块的一部分。
|
||||
|
||||
### 4.4 适用车型领域
|
||||
|
||||
无限制。
|
||||
|
||||
---
|
||||
|
||||
## 5 模块依赖
|
||||
|
||||
依赖于 DEM 错误报告、DET 开发错误报告。
|
||||
|
||||
---
|
||||
|
||||
## 6 需求追溯
|
||||
|
||||
(主要追溯关系,完整表见原文 PDF)
|
||||
|
||||
| 需求 | 满足者 |
|
||||
|------|--------|
|
||||
| SRS_BSW_00323 (参数检查) | SWS_RamTst_00033, 00037, 00039, 00040, 00095, 00097, 00170, 00172, 00210, 00214 |
|
||||
| SRS_BSW_00337 (开发错误分类) | SWS_RamTst_00067 |
|
||||
| SRS_BSW_00339 (生产错误状态报告) | SWS_RamTst_00011, 00067, 00071, 00111, 00213, 00216, 01002, 01005, 01008 |
|
||||
| SRS_BSW_00406 (模块初始化) | SWS_RamTst_00006 |
|
||||
| SRS_BSW_00407 (版本信息) | SWS_RamTst_00109 |
|
||||
| SRS_BSW_00414 (配置结构指针) | SWS_RamTst_00093, 01011, 01012 |
|
||||
| SRS_BSW_00450 (主函数立即返回) | SWS_RamTst_00175 |
|
||||
| SRS_RamTst_13800 (测试单元数运行时可变) | SWS_RamTst_00036, 00107 |
|
||||
| SRS_RamTst_13802 (多 RAM 区域配置) | SWS_RamTst_00026 |
|
||||
| SRS_RamTst_13803 (预编译算法选择) | SWS_RamTst_00026, 00027, 00063, 00224, 00225, 00226 |
|
||||
| SRS_RamTst_13804 (运行时算法选择) | SWS_RamTst_00083, 00105 |
|
||||
| SRS_RamTst_13809 (划分测试为小部分) | SWS_RamTst_00008, 00026, 00059, 00107, 00108 |
|
||||
| SRS_RamTst_13810 (Get status 接口) | SWS_RamTst_00010, 00011, 00019, 00024, 00038, 00104 |
|
||||
| SRS_RamTst_13811 (非破坏性) | SWS_RamTst_00060, 00061, 00200 |
|
||||
| SRS_RamTst_13812 (破坏性) | SWS_RamTst_00061, 00201 |
|
||||
| SRS_RamTst_13816 (指令队列影响) | SWS_RamTst_00062 |
|
||||
| SRS_RamTst_13820 (通知机制) | SWS_RamTst_00043, 00044, 00045, 00046, 00113, 00114 |
|
||||
| SRS_RamTst_13822 (低覆盖算法) | SWS_RamTst_00224 |
|
||||
| SRS_RamTst_13823 (中等覆盖算法) | SWS_RamTst_00225 |
|
||||
| SRS_RamTst_13824 (高覆盖算法) | SWS_RamTst_00226 |
|
||||
| SRS_SPAL_12448 (开发错误检测后行为) | SWS_RamTst_00033, 00037, 00039, 00040, 00084, 00095 |
|
||||
|
||||
完整追溯表见原文 PDF。
|
||||
|
||||
---
|
||||
|
||||
## 7 功能规范
|
||||
|
||||
### 7.1 需求
|
||||
|
||||
[SWS_RamTst_00005] ⌈RAM Test 模块应提供后台 RAM 测试作为异步服务。⌋
|
||||
[SWS_RamTst_00206] ⌈RAM Test 模块应提供前台 RAM 测试作为同步服务。⌋
|
||||
[SWS_RamTst_00063] ⌈RAM Test 模块的配置过程应允许在预编译时选择不同 RAM 测试算法的子集。⌋
|
||||
|
||||
#### 非破坏性测试
|
||||
|
||||
[SWS_RamTst_00060] ⌈如选择非破坏性 RAM 测试,RAM Test 模块应在修改前保存待测试 RAM 区域。整个过程(保存、更改、还原)应不中断地执行。⌋
|
||||
|
||||
#### 测试算法
|
||||
|
||||
- [SWS_RamTst_00224] ⌈应提供低覆盖率测试算法(ISO 26262-5:2011 表 D.1)⌋
|
||||
- [SWS_RamTst_00225] ⌈应提供中等覆盖率测试算法⌋
|
||||
- [SWS_RamTst_00226] ⌈应提供高覆盖率测试算法⌋
|
||||
- [SWS_RamTst_00204] ⌈可提供额外厂商或硬件特定测试算法,必须明确文档化其故障覆盖率⌋
|
||||
|
||||
#### 指令/数据队列处理
|
||||
|
||||
[SWS_RamTst_00062] ⌈写入单元后读回前,RAM Test 模块应提供注入指令的可能性,强制控制器清除其 CPU 内部缓存。⌋
|
||||
|
||||
#### 中断处理
|
||||
|
||||
[SWS_RamTst_00221] ⌈处理器特定测试算法可使用支持数据丢失检测的硬件宏和/或中断(如 CRC、ECC)。实现者必须在 BSW 模块描述中描述任何中断例程。⌋
|
||||
|
||||
### 7.2 错误分类
|
||||
|
||||
#### 7.2.1 开发错误
|
||||
|
||||
[SWS_RamTst_00067] ⌈
|
||||
|
||||
| 错误类型 | 相关性 | 相关错误代码 | 值[hex] |
|
||||
|----------|--------|--------------|---------|
|
||||
| 在意外状态下调用特定 API | Development | RAMTST_E_STATUS_FAILURE | 0x01 |
|
||||
| API 参数超出规定范围 | Development | RAMTST_E_OUT_OF_RANGE | 0x02 |
|
||||
| 模块未初始化调用 API 服务 | Development | RAMTST_E_UNINIT | 0x03 |
|
||||
| NULL 指针参数 | Development | RAMTST_E_PARAM_POINTER | 0x04 |
|
||||
| 初始化失败 | Development | RAMTST_E_INIT_FAILED | 0x05 |
|
||||
⌋
|
||||
|
||||
#### 7.2.2 运行时错误
|
||||
|
||||
无运行时错误。
|
||||
|
||||
#### 7.2.3 瞬态故障
|
||||
|
||||
无瞬态故障。
|
||||
|
||||
#### 7.2.4 生产错误
|
||||
|
||||
无生产错误。
|
||||
|
||||
#### 7.2.5 扩展生产错误
|
||||
|
||||
| 错误名 | 描述 |
|
||||
|--------|------|
|
||||
| RAMTST_E_BG_DESTRUCTIVE | 后台破坏性测试错误 |
|
||||
| RAMTST_E_BG_NON_DESTRUCTIVE | 后台非破坏性测试错误 |
|
||||
| RAMTST_E_FG_DESTRUCTIVE | 前台破坏性测试错误 |
|
||||
| RAMTST_E_FG_NON_DESTRUCTIVE | 前台非破坏性测试错误 |
|
||||
|
||||
每个具有通过/失败检测标准:
|
||||
- Fail:测试检测到 RAM 故障(块结果为 NOT_OK)
|
||||
- Pass:所有块测试为 OK
|
||||
|
||||
### 7.3 错误检测
|
||||
|
||||
参考 SWS_BSWGeneral 文档。
|
||||
|
||||
### 7.4 错误通知
|
||||
|
||||
通过 DEM 报告生产错误,通过 DET 报告开发错误。
|
||||
|
||||
### 7.5 通用测试行为
|
||||
|
||||
[SWS_RamTst_00026] [SWS_RamTst_00027] ⌈RAM Test 模块应支持后构建和预编译配置。⌋
|
||||
|
||||
测试可分为多个小部分,每个 `RamTst_MainFunction` 调用测试指定数量的单元。
|
||||
|
||||
---
|
||||
|
||||
## 8 API 规范
|
||||
|
||||
### 8.1 导入的类型
|
||||
|
||||
| 模块 | 头文件 | 导入类型 |
|
||||
|------|--------|----------|
|
||||
| Dem | Rte_Dem_Type.h | Dem_EventIdType, Dem_EventStatusType |
|
||||
| Std_Types | StandardTypes.h | Std_ReturnType, Std_VersionInfoType |
|
||||
|
||||
### 8.2 类型定义
|
||||
|
||||
#### 8.2.1 RamTst_ConfigType
|
||||
|
||||
| 项 | 内容 |
|
||||
|-----|------|
|
||||
| Type | Structure |
|
||||
| Range | 实现特定 |
|
||||
| Description | 包含 RAM Test 模块初始化数据的结构。 |
|
||||
|
||||
#### 8.2.2 RamTst_ExecutionStatusType
|
||||
|
||||
| 项 | 内容 |
|
||||
|-----|------|
|
||||
| Type | Enumeration |
|
||||
| Range | RAMTST_NOT_TESTED (0x00); RAMTST_RUNNING (0x01); RAMTST_FINISHED (0x02); RAMTST_SUSPENDED (0x03); RAMTST_STOPPED (0x04) |
|
||||
| Description | RAM 测试执行状态。 |
|
||||
|
||||
#### 8.2.3 RamTst_TestResultType
|
||||
|
||||
| 项 | 内容 |
|
||||
|-----|------|
|
||||
| Type | Enumeration |
|
||||
| Range | RAMTST_TEST_NOT_RUN (0x00); RAMTST_TEST_PASSED (0x01); RAMTST_TEST_FAILED (0x02); RAMTST_TEST_UNDEFINED (0x03) |
|
||||
| Description | RAM 测试结果。 |
|
||||
|
||||
#### 8.2.4 RamTst_AlgParamsIdType
|
||||
|
||||
| 项 | 内容 |
|
||||
|-----|------|
|
||||
| Type | uint8/uint16 |
|
||||
| Description | 算法参数 ID 类型。 |
|
||||
|
||||
#### 8.2.5 RamTst_AlgorithmType
|
||||
|
||||
| 项 | 内容 |
|
||||
|-----|------|
|
||||
| Type | Enumeration |
|
||||
| Range | RAMTST_ALGORITHM_VENDORxxx 等(实现特定) |
|
||||
| Description | 算法类型。 |
|
||||
|
||||
#### 8.2.6 RamTst_NumberOfTestedCellsType
|
||||
|
||||
uint8/uint16/uint32 — 被测试单元数。
|
||||
|
||||
#### 8.2.7 RamTst_NumberOfBlocksType
|
||||
|
||||
uint8/uint16/uint32 — 块数量。
|
||||
|
||||
### 8.3 函数定义
|
||||
|
||||
#### 8.3.1 RamTst_Init
|
||||
|
||||
```c
|
||||
void RamTst_Init(const RamTst_ConfigType* ConfigPtr)
|
||||
```
|
||||
|
||||
| 项 | 内容 |
|
||||
|-----|------|
|
||||
| Service ID[hex] | 0x00 |
|
||||
| Sync/Async | Synchronous |
|
||||
| Description | 初始化 RAM Test 模块。 |
|
||||
|
||||
#### 8.3.2 RamTst_DeInit
|
||||
|
||||
```c
|
||||
void RamTst_DeInit(void)
|
||||
```
|
||||
|
||||
| 项 | 内容 |
|
||||
|-----|------|
|
||||
| Service ID[hex] | 0x10 |
|
||||
| Description | 反初始化。 |
|
||||
|
||||
#### 8.3.3 RamTst_Stop
|
||||
|
||||
```c
|
||||
Std_ReturnType RamTst_Stop(void)
|
||||
```
|
||||
|
||||
| 项 | 内容 |
|
||||
|-----|------|
|
||||
| Service ID[hex] | 0x02 |
|
||||
| Sync/Async | Asynchronous |
|
||||
| Description | 停止后台 RAM 测试。 |
|
||||
|
||||
#### 8.3.4 RamTst_Allow
|
||||
|
||||
```c
|
||||
Std_ReturnType RamTst_Allow(void)
|
||||
```
|
||||
|
||||
| 项 | 内容 |
|
||||
|-----|------|
|
||||
| Service ID[hex] | 0x03 |
|
||||
| Description | 允许后台 RAM 测试。 |
|
||||
|
||||
#### 8.3.5 RamTst_Suspend
|
||||
|
||||
```c
|
||||
Std_ReturnType RamTst_Suspend(void)
|
||||
```
|
||||
|
||||
| 项 | 内容 |
|
||||
|-----|------|
|
||||
| Service ID[hex] | 0x04 |
|
||||
| Sync/Async | Asynchronous |
|
||||
| Description | 暂停后台 RAM 测试。 |
|
||||
|
||||
#### 8.3.6 RamTst_Resume
|
||||
|
||||
```c
|
||||
Std_ReturnType RamTst_Resume(void)
|
||||
```
|
||||
|
||||
| 项 | 内容 |
|
||||
|-----|------|
|
||||
| Service ID[hex] | 0x05 |
|
||||
| Description | 恢复后台 RAM 测试。 |
|
||||
|
||||
#### 8.3.7 RamTst_GetExecutionStatus
|
||||
|
||||
```c
|
||||
RamTst_ExecutionStatusType RamTst_GetExecutionStatus(void)
|
||||
```
|
||||
|
||||
| 项 | 内容 |
|
||||
|-----|------|
|
||||
| Service ID[hex] | 0x06 |
|
||||
| Description | 获取测试执行状态。 |
|
||||
|
||||
#### 8.3.8 RamTst_GetTestResult
|
||||
|
||||
```c
|
||||
RamTst_TestResultType RamTst_GetTestResult(void)
|
||||
```
|
||||
|
||||
| 项 | 内容 |
|
||||
|-----|------|
|
||||
| Service ID[hex] | 0x07 |
|
||||
| Description | 获取测试结果。 |
|
||||
|
||||
#### 8.3.9 RamTst_GetTestResultPerBlock
|
||||
|
||||
```c
|
||||
Std_ReturnType RamTst_GetTestResultPerBlock(
|
||||
uint8 BlockIndex,
|
||||
RamTst_TestResultType* TestResultPtr
|
||||
)
|
||||
```
|
||||
|
||||
| 项 | 内容 |
|
||||
|-----|------|
|
||||
| Service ID[hex] | 0x08 |
|
||||
| Description | 获取指定块的测试结果。 |
|
||||
|
||||
#### 8.3.10 RamTst_GetVersionInfo
|
||||
|
||||
```c
|
||||
void RamTst_GetVersionInfo(Std_VersionInfoType* VersionInfoPtr)
|
||||
```
|
||||
|
||||
| 项 | 内容 |
|
||||
|-----|------|
|
||||
| Service ID[hex] | 0x09 |
|
||||
|
||||
#### 8.3.11 RamTst_GetAlgParams
|
||||
|
||||
```c
|
||||
Std_ReturnType RamTst_GetAlgParams(RamTst_AlgParamsIdType* AlgParamsIdPtr)
|
||||
```
|
||||
|
||||
| 项 | 内容 |
|
||||
|-----|------|
|
||||
| Service ID[hex] | 0x0a |
|
||||
| Description | 获取算法参数 ID。 |
|
||||
|
||||
#### 8.3.12 RamTst_GetTestAlgorithm
|
||||
|
||||
```c
|
||||
RamTst_AlgorithmType RamTst_GetTestAlgorithm(void)
|
||||
```
|
||||
|
||||
| 项 | 内容 |
|
||||
|-----|------|
|
||||
| Service ID[hex] | 0x0b |
|
||||
| Description | 获取当前测试算法。 |
|
||||
|
||||
#### 8.3.13 RamTst_GetNumberOfTestedCells
|
||||
|
||||
```c
|
||||
RamTst_NumberOfTestedCellsType RamTst_GetNumberOfTestedCells(void)
|
||||
```
|
||||
|
||||
| 项 | 内容 |
|
||||
|-----|------|
|
||||
| Service ID[hex] | 0x0c |
|
||||
| Description | 获取被测单元数。 |
|
||||
|
||||
#### 8.3.14 RamTst_SelectAlgParams
|
||||
|
||||
```c
|
||||
Std_ReturnType RamTst_SelectAlgParams(RamTst_AlgParamsIdType AlgParamsId)
|
||||
```
|
||||
|
||||
| 项 | 内容 |
|
||||
|-----|------|
|
||||
| Service ID[hex] | 0x0d |
|
||||
| Description | 选择算法参数。 |
|
||||
|
||||
#### 8.3.15 RamTst_ChangeNumberOfTestedCells
|
||||
|
||||
```c
|
||||
Std_ReturnType RamTst_ChangeNumberOfTestedCells(RamTst_NumberOfTestedCellsType NumberOfTestedCells)
|
||||
```
|
||||
|
||||
| 项 | 内容 |
|
||||
|-----|------|
|
||||
| Service ID[hex] | 0x0e |
|
||||
| Description | 改变被测单元数。 |
|
||||
|
||||
#### 8.3.16 RamTst_RunFullTest
|
||||
|
||||
```c
|
||||
Std_ReturnType RamTst_RunFullTest(RamTst_NumberOfBlocksType BlockIndex)
|
||||
```
|
||||
|
||||
| 项 | 内容 |
|
||||
|-----|------|
|
||||
| Service ID[hex] | 0x0f |
|
||||
| Sync/Async | Synchronous |
|
||||
| Description | 运行前台完整 RAM 测试。 |
|
||||
|
||||
#### 8.3.17 RamTst_RunPartialTest
|
||||
|
||||
```c
|
||||
Std_ReturnType RamTst_RunPartialTest(
|
||||
RamTst_NumberOfBlocksType BlockIndex,
|
||||
uint32 StartAddress,
|
||||
uint32 EndAddress
|
||||
)
|
||||
```
|
||||
|
||||
| 项 | 内容 |
|
||||
|-----|------|
|
||||
| Service ID[hex] | 0x11 |
|
||||
| Sync/Async | Synchronous |
|
||||
| Description | 运行前台部分 RAM 测试。 |
|
||||
|
||||
### 8.4 回调通知
|
||||
|
||||
无。
|
||||
|
||||
### 8.5 调度函数
|
||||
|
||||
#### RamTst_MainFunction
|
||||
|
||||
```c
|
||||
void RamTst_MainFunction(void)
|
||||
```
|
||||
|
||||
| 项 | 内容 |
|
||||
|-----|------|
|
||||
| Service ID[hex] | 0x01 |
|
||||
| Description | 执行后台 RAM 测试。 |
|
||||
| Available via | SchM_RamTst.h |
|
||||
|
||||
### 8.6 期望接口
|
||||
|
||||
#### 强制接口
|
||||
|
||||
| API 函数 | 头文件 | 描述 |
|
||||
|----------|--------|------|
|
||||
| Dem_SetEventStatus | Dem.h | 报告监视状态信息到 Dem |
|
||||
|
||||
#### 可选接口
|
||||
|
||||
| API 函数 | 头文件 | 描述 |
|
||||
|----------|--------|------|
|
||||
| Det_ReportError | Det.h | 报告开发错误 |
|
||||
|
||||
#### 可配置接口
|
||||
|
||||
##### RamTst_TestCompletedNotification
|
||||
|
||||
测试完成时调用的可配置回调函数。
|
||||
|
||||
##### RamTst_ErrorNotification
|
||||
|
||||
错误检测时调用的可配置回调函数。
|
||||
|
||||
---
|
||||
|
||||
## 9 时序图
|
||||
|
||||
### 9.1 RamTst_MainFunction (示例)
|
||||
|
||||
调度程序周期调用 → RamTst_MainFunction 执行部分测试。
|
||||
|
||||
### 9.2 RamTst_ChangeNumberOfTestedCells
|
||||
|
||||
用户运行时改变测试单元数。
|
||||
|
||||
### 9.3-9.9 其他 API 时序
|
||||
|
||||
各 API 函数的同步调用与返回。
|
||||
|
||||
---
|
||||
|
||||
## 10 配置规范
|
||||
|
||||
### 10.1 如何阅读本章
|
||||
|
||||
详见 SWS_BSWGeneral 文档。
|
||||
|
||||
### 10.2 容器与配置参数
|
||||
|
||||
#### 10.2.1 变体
|
||||
|
||||
支持 VARIANT-POST-BUILD 和 VARIANT-PRE-COMPILE。
|
||||
|
||||
#### 10.2.2 RamTst
|
||||
|
||||
模块顶层配置容器。
|
||||
|
||||
#### 10.2.3 RamTstDemEventParameterRefs
|
||||
|
||||
引用 DEM 事件参数:
|
||||
- RAMTST_E_BG_DESTRUCTIVE
|
||||
- RAMTST_E_BG_NON_DESTRUCTIVE
|
||||
- RAMTST_E_FG_DESTRUCTIVE
|
||||
- RAMTST_E_FG_NON_DESTRUCTIVE
|
||||
|
||||
#### 10.2.4 RamTstCommon
|
||||
|
||||
通用配置:
|
||||
|
||||
| 参数 | 描述 |
|
||||
|------|------|
|
||||
| RamTstDevErrorDetect | 开发错误检测 |
|
||||
| RamTstVersionInfoApi | 版本信息 API |
|
||||
| RamTstAllowApi | Allow API 启用 |
|
||||
| RamTstStopApi | Stop API 启用 |
|
||||
| RamTstSuspendApi | Suspend API 启用 |
|
||||
| RamTstResumeApi | Resume API 启用 |
|
||||
| RamTstSelectAlgParamsApi | SelectAlgParams API 启用 |
|
||||
| RamTstChangeNumberOfTestedCellsApi | ChangeNumberOfTestedCells API 启用 |
|
||||
| RamTstRunFullTestApi | RunFullTest API 启用 |
|
||||
| RamTstRunPartialTestApi | RunPartialTest API 启用 |
|
||||
| RamTstTestCompletedNotification | 测试完成回调 |
|
||||
| RamTstErrorNotification | 错误回调 |
|
||||
| RamTstMainFunctionPeriod | 主函数周期 |
|
||||
|
||||
#### 10.2.5 RamTstAlgorithms
|
||||
|
||||
测试算法配置:
|
||||
|
||||
| 参数 | 描述 |
|
||||
|------|------|
|
||||
| RamTstLowCoverage | 低覆盖率算法 |
|
||||
| RamTstMediumCoverage | 中覆盖率算法 |
|
||||
| RamTstHighCoverage | 高覆盖率算法 |
|
||||
| RamTstAlgorithmVendorSpecific | 厂商特定算法 |
|
||||
|
||||
#### 10.2.6 RamTstConfigParams
|
||||
|
||||
配置参数:
|
||||
|
||||
| 参数 | 描述 |
|
||||
|------|------|
|
||||
| RamTstNumberOfTestedCells | 默认被测试单元数 |
|
||||
| RamTstNumberOfBlocks | 块数量 |
|
||||
| RamTstTestMode | 破坏性/非破坏性 |
|
||||
|
||||
#### 10.2.7 RamTstAlgParams
|
||||
|
||||
每算法参数:
|
||||
|
||||
| 参数 | 描述 |
|
||||
|------|------|
|
||||
| RamTstAlgParamsId | 算法参数 ID |
|
||||
| RamTstAlgorithm | 使用的算法 |
|
||||
| RamTstAlgorithmCoverage | 覆盖率级别 |
|
||||
|
||||
#### 10.2.8 RamTstBlockParams
|
||||
|
||||
每个 RAM 块参数:
|
||||
|
||||
| 参数 | 描述 |
|
||||
|------|------|
|
||||
| RamTstBlockId | 块 ID |
|
||||
| RamTstStartAddress | 起始地址 |
|
||||
| RamTstEndAddress | 结束地址 |
|
||||
| RamTstTestAlgorithm | 应用的算法 |
|
||||
|
||||
### 10.3 已发布参数
|
||||
|
||||
#### RamTstPublishedInformation
|
||||
|
||||
版本信息等。
|
||||
|
||||
### 10.4 实现特定信息和参数
|
||||
|
||||
可由实现者提供额外参数。
|
||||
|
||||
---
|
||||
|
||||
## 11 不适用需求
|
||||
|
||||
[SWS_RamTst_00999] ⌈这些需求不适用于本规范。⌋ 涉及多个 SRS_BSW_* 和 SRS_SPAL_* 需求,详见原文 PDF。
|
||||
|
||||
---
|
||||
|
||||
## 翻译说明
|
||||
|
||||
- 本文档完整翻译自 AUTOSAR_SWS_RAMTest v4.4.0(Document ID 076,83 页)。
|
||||
- 保留所有需求 ID(SWS_RamTst_xxxxx、SRS_RamTst_xxxxx、ECUC_RamTst_xxxxx)。
|
||||
- 保留 AUTOSAR 方框符 ⌈⌋。
|
||||
- 模块缩写(RamTst、ECU、DEM、DET、CRC、ECC 等)和 API 函数名保持英文。
|
||||
- 详细配置参数和示例请参考原文 PDF 第 10 章。
|
||||
Reference in New Issue
Block a user