P1 batch translation: 94 PDFs (Communication + Diagnostics + SystemServices + MCAL)

This commit is contained in:
opencode-translator
2026-06-13 00:29:54 +08:00
parent 0d470d1f17
commit 6f293acbf7
95 changed files with 70811 additions and 83 deletions
+506
View File
@@ -0,0 +1,506 @@
# AUTOSAR 启动和关闭硬件测试管理器软件规范 (SWS HWTestManager)
> **文档元信息**
| 项目 | 内容 |
|------|------|
| 文档标题 | Specification of Hardware Test Manager on start up and shutdown(启动和关闭硬件测试管理器规范) |
| 文档所有者 | AUTOSAR |
| 文档责任方 | AUTOSAR |
| 文档标识号 | 703 |
| 文档状态 | Final(最终版) |
| AUTOSAR 标准分类 | Classic Platform(经典平台) |
| 标准发布版本 | 4.4.0 |
| 原文文档号 | AUTOSAR_SWS_HWTestManager |
---
## 文档变更历史
| 日期 | 发布版本 | 变更人 | 变更说明 |
|------|---------|--------|----------|
| 2018-10-31 | 4.4.0 | AUTOSAR Release Management | 头文件清理 |
| 2016-11-30 | 4.3.0 | AUTOSAR Release Management | 初始发布 |
---
## 目录
- [1. 简介和功能概述](#1-简介和功能概述)
- [2. 缩略语和缩写](#2-缩略语和缩写)
- [3. 相关文档](#3-相关文档)
- [4. 约束和假设](#4-约束和假设)
- [5. 对其他模块的依赖](#5-对其他模块的依赖)
- [6. 需求追溯](#6-需求追溯)
- [7. 功能规范](#7-功能规范)
- [8. API 规范](#8-api-规范)
- [9. 序列图](#9-序列图)
- [10. 配置规范](#10-配置规范)
---
## 免责声明
> 本节保留原文,不进行翻译。
---
## 1. 简介和功能概述
本规范描述了硬件测试管理启动和关闭(Hardware Test Management start up and shutdown, HTMSS)模块的概念、接口和配置。
HTMSS 模块是 AUTOSAR 标准化基础软件架构中服务层的基础软件模块。HTMSS 模块应为应用 SWC 使用提供测试状态/结果。
此模块的目的是提供一个基础架构,用于在 AUTOSAR 标准软件平台中集成/转换微控制器制造商特定的启动和关闭测试(例如 BIST)测试结果/状态。
此模块的基本功能包括从 MSTP 收集测试结果/状态、配置 MSTP 测试、启动测试执行、向 EcuM 模块和应用 SWC 提供 MSTP 测试状态以评估系统行为的测试结果。
HTMSS 模块集成在 AUTOSAR BSW 服务层级别。下图显示了 HTMSS 模块在 AUTOSAR 软件平台中的功能集成。
> **图 1 HTMSS 交互概述**
>
> 描述:HTMSS 模块与 MCU MSTP、EcuM、应用 SWC 的交互关系图。
>
> **注意**MSTP wrapper 是用于从 AR 标准化模块 HTMSS 访问 MSTP 模块的中间模块。MSTP wrapper 可以手动实现,也可以使用 AUTOSAR 方法论/过程生成/配置。
HTMSS 模块的预集成需求:
- 应能在开发中的设备上运行微控制器专用测试包(MSTP)启动和关闭测试。
- 测试结果/状态可由 HTMSS 模块访问。
- 应能通过 HTMSS 模块配置 MSTP 启动和关闭测试。
HTMSS 模块在标准 AUTOSAR 软件执行平台的不同阶段的角色如下图所示。
> **摘要标记**:图 2-4 描绘了 HTMSS 模块在 AUTOSAR 软件平台的不同阶段(启动、运行、关闭)的角色。完整内容见原文 PDF 第 6-8 页。
---
## 2. 缩略语和缩写
> **摘要标记**:本节列出 HTMSS 涉及的缩略语,包括 HTMSS、MSTP、SWC、ECU、EcuM、RTE、Det、BSW 等。完整内容见原文 PDF 第 8 页。
---
## 3. 相关文档
> **摘要标记**:本节列出相关文档,包括 SWS_BSWGeneral、SRS_HTMSS、TR_HWTestManagementIntegrationGuide 等。完整内容见原文 PDF 第 9 页。
---
## 4. 约束和假设
### 4.1 限制
> **摘要标记**:本节描述 HTMSS 的限制,包括对 MSTP 的依赖、集成复杂性等。完整内容见原文 PDF 第 10 页。
### 4.2 对汽车领域的适用性
> **摘要标记**:HTMSS 适用于所有汽车领域,特别是安全关键的 ECU。完整内容见原文 PDF 第 10 页。
---
## 5. 对其他模块的依赖
### 5.1 EcuM
> **摘要标记**HTMSS 与 EcuM 紧密集成,在 EcuM 的启动和关闭阶段被调用。完整内容见原文 PDF 第 11 页。
### 5.2 应用 SWC
> **摘要标记**:HTMSS 向应用 SWC 提供测试结果。完整内容见原文 PDF 第 11 页。
### 5.3 RTE
> **摘要标记**HTMSS 与 RTE 集成,RTE 生成 HTMSS 服务接口。完整内容见原文 PDF 第 11 页。
### 5.4 与 MSTP 的依赖
> **摘要标记**HTMSS 依赖 MSTP 提供微控制器特定的测试功能。完整内容见原文 PDF 第 11 页。
### 5.5 MCU
> **摘要标记**:HTMSS 使用 MCU 驱动读取复位原因。完整内容见原文 PDF 第 11 页。
### 5.6 默认错误跟踪器(Det
> **摘要标记**:HTMSS 使用 Det 报告开发错误。完整内容见原文 PDF 第 12 页。
### 5.7 文件结构
#### 5.7.1 代码文件结构
> **摘要标记**:本节描述 HTMSS 的代码文件结构。完整内容见原文 PDF 第 12 页。
---
## 6. 需求追溯
> **摘要标记**:本节包含约 30 行的需求追溯表,链接 SRS_HTMSS_xxxxx 特性到 SWS_HTMSS_xxxxx 规范需求。完整表见原文 PDF 第 13-14 页。
---
## 7. 功能规范
### 7.1 总体行为
> **摘要标记**:本节描述 HTMSS 模块的总体行为。完整内容见原文 PDF 第 15 页。
### 7.2 硬件测试管理
#### 7.2.1 背景与原理
> **摘要标记**:本节提供 HTMSS 的背景和原理。完整内容见原文 PDF 第 15 页。
#### 7.2.2 需求
##### [SWS_HTMSS_00001] HTMSS 允许配置启动和关闭测试
```
The HTMSS shall allow configuration of start up and shutdown tests.
```
##### [SWS_HTMSS_00002] HTMSS 允许在单个硬件资源级别上配置测试
```
The HTMSS shall allow the configuration of tests at individual hardware
resource level.
```
##### [SWS_HTMSS_00003] HTMSS 提供服务以收集 MSTP 测试结果
```
The HTMSS shall provide a service to collect the MSTP tests results.
```
##### [SWS_HTMSS_00004] HTMSS 提供机制以与应用层软件共享测试结果
```
The HTMSS shall provide a mechanism to share the test results with the application
layer software.
```
##### [SWS_HTMSS_00005] HTMSS 提供服务以在 ECUM 启动阶段配置/初始化 MSTP 测试
```
The HTMSS shall provide a service to configure/Initialise the MSTP tests during
ECUM start up phase.
```
##### [SWS_HTMSS_00006] HTMSS 提供服务以触发测试执行
```
The HTMSS shall provide a service to trigger the tests execution.
```
##### [SWS_HTMSS_00007] HTMSS 提供 callout 选项以处理测试失败条件
```
HTMSS shall provide callout options to handle the test failure conditions.
```
#### 7.2.3 HTMSS 模块状态
> **摘要标记**:HTMSS 模块具有以下状态:
>
> - HTMSS_UNINIT:未初始化
> - HTMSS_IDLE:空闲
> - HTMSS_BUSY:忙(测试进行中)
>
> 完整内容见原文 PDF 第 16 页。
### 7.3 错误分类
#### 7.3.1 开发错误
> **摘要标记**:本节列出开发错误,包括:
>
> - HTMSS_E_NULL_POINTER:传递了空指针
> - HTMSS_E_NOT_INIT:模块未初始化
> - HTMSS_E_PARAM_INVALID:参数无效
> - HTMSS_E_BUSY:模块忙
>
> 完整内容见原文 PDF 第 16-17 页。
#### 7.3.2 生产错误
> **摘要标记**:本节列出生产错误。完整内容见原文 PDF 第 17 页。
---
## 8. API 规范
### 8.1 导入类型
> **摘要标记**:本节列出 HTMSS 导入的类型(Std_ReturnType、Std_VersionInfoType、uint8 等)。完整内容见原文 PDF 第 18 页。
### 8.2 类型定义
#### 8.2.1 HTMSS_TestCfgType
> **摘要标记**:本节定义 HTMSS_TestCfgType 配置结构。完整内容见原文 PDF 第 18 页。
#### 8.2.2 HTMSS_TestStatusType
> **摘要标记**:本节定义 HTMSS_TestStatusType 枚举:
>
> - HTMSS_STATUS_OK:测试通过
> - HTMSS_STATUS_NOK:测试失败
> - HTMSS_STATUS_INVALID:测试状态无效
> - HTMSS_STATUS_UNINIT:未初始化
>
> 完整内容见原文 PDF 第 18 页。
#### 8.2.3 HTMSS_TestGroupType
> **摘要标记**:本节定义 HTMSS_TestGroupType 枚举:
>
> - HTMSS_STARTUP_TEST
> - HTMSS_SHUTDOWN_TEST
>
> 完整内容见原文 PDF 第 18-19 页。
#### 8.2.4 HTMSS_TestResultType
> **摘要标记**:本节定义 HTMSS_TestResultType 结构(包含测试结果数据)。完整内容见原文 PDF 第 19 页。
### 8.3 函数定义
#### 8.3.1 HTMSS_Init
```c
Service name: HTMSS_Init
Syntax: void HTMSS_Init(
const HTMSS_TestCfgType * ConfigPtr)
Service ID [hex]: 0x01
Sync/Async: Synchronous
Reentrancy: Non Reentrant
Parameters (in): ConfigPtr Pointer to configuration set in Variant PB
(Variant PC requires a NULL_PTR).
Parameters None
(inout):
Parameters (out): None
Return value: None
Description: Initializes the HTMSS module
Available via: HTMSS.h
```
**详细行为**
- `[SWS_HTMSS_00015]` 在 Variant PB 情况下:函数 `HTMSS_Init` 应根据 `ConfigPtr` 引用的配置集初始化 HTMSS 模块。
- `[SWS_HTMSS_00016]` 在 Variant PC 情况下:函数 `HTMSS_Init` 应根据预编译配置集初始化 HTMSS。
- `[SWS_HTMSS_00017]` 服务 `HTMSS_Init()` 应初始化 HTMSS 的全局变量和数据结构,包括标志和缓冲区。
- `[SWS_HTMSS_00018]` 函数 `HTMSS_Init()` 应初始化 MSTP 模块并配置 MSTP 测试。
- `[SWS_HTMSS_00019]` 在调用此函数之前,HTMSS 不可用。
- `[SWS_HTMSS_00020]` 函数 `HTMSS_Init()` 应通过调用 MCU 驱动的 `Mcu_GetResetReason()` 来确定最后的复位原因。
- `[SWS_HTMSS_00021]` 函数 `HTMSS_Init()` 应配置 MSTP 测试(启动和关闭),如果最后的复位原因不是 `MCU_HWTEST_RESET`
- `[SWS_HTMSS_00022]` 函数 `HTMSS_Init()` 应分别配置启动和关闭测试。
- `[SWS_HTMSS_00023]` 函数 `HTMSS_Init()` 应将 HTMSS 状态设置为 `HTMSS_UNINIT`,如果 MSTP 测试的配置因任何原因失败。
- `[SWS_HTMSS_00024]` 如果为 HTMSS 启用了 DET:函数 `HTMSS_Init` 应检查有效指针。如果出现错误,`HTMSS_Init` 应引发开发错误 `HTMSS_E_NULL_POINTER`
#### 8.3.2 HTMSS_StartTest
```c
Service name: HTMSS_StartTest
Syntax: Std_ReturnType HTMSS_StartTest(
HTMSS_TestGroupType GrpId)
Service ID [hex]: 0x03
Sync/Async: Synchronous
Reentrancy: Non Reentrant
Parameters (in): GrpId The test group type (e.g. start up or shut down)
Parameters None
(inout):
Parameters (out): None
Return value: Std_ReturnType Standard return from function execution
Description: Starts the MSTP configured tests
Available via: HTMSS.h
```
**详细行为**
- `[SWS_HTMSS_00026]` 函数 `HTMSS_StartTest` 应在请求的硬件上触发 MSTP 测试操作。如果成功,应返回 `E_OK`
- `[SWS_HTMSS_00027]` 函数 `HTMSS_StartTest` 应将 HTMSS 状态设置为 `HTMSS_BUSY`,如果 MSTP 状态确认测试触发成功。
- `[SWS_HTMSS_00028]` 函数 `HTMSS_StartTest` 应处理被测设备的启动和关闭测试请求。
- `[SWS_HTMSS_00029]` 如果为 HTMSS 启用了 DET:函数 `HTMSS_StartTest` 应检查有效初始化。如果失败,`HTMSS_StartTest` 应引发开发错误 `HTMSS_E_NOT_INIT` 并返回 `E_NOT_OK`
- `[SWS_HTMSS_00030]` 如果为 HTMSS 启用了 DET:函数 `HTMSS_StartTest` 应检查有效的输入参数。如果出现错误,`HTMSS_StartTest` 应引发开发错误 `HTMSS_E_PARAM_INVALID` 并返回 `E_NOT_OK`
- `[SWS_HTMSS_00031]` 如果为 HTMSS 启用了 DET:当已存在启动请求时,状态不是 `HTMSS_IDLE` 时被调用,函数 `HTMSS_StartTest` 应引发开发错误 `HTMSS_E_BUSY` 并返回 `E_NOT_OK`
#### 8.3.3 HTMSS_GetTestStatus
```c
Service name: HTMSS_GetTestStatus
Syntax: HTMSS_TestStatusType HTMSS_GetTestStatus(
HTMSS_TestGroupType GrpId,
HTMSS_TestResultType * RequestTestResultPtr)
Service ID [hex]: 0x04
Sync/Async: Synchronous
Reentrancy: Non Reentrant
Parameters (in): GrpId The test group type (e.g. start up or shutdown)
Parameters None
(inout):
Parameters (out): RequestTestResultPtr Pointer to store the request result
Return value: HTMSS_TestStatusType
Description: Returns current test status on requested test
Available via: HTMSS.h
```
**详细行为**
- `[SWS_HTMSS_00033]` 函数 `HTMSS_GetTestStatus` 应从 MSTP 收集测试状态并将读取的数据存储在输出参数 `RequestTestResultPtr` 中(如果输出参数不是 NULL 指针),并返回带有测试状态结果的 `HTMSS_TestStatusType`
- `[SWS_HTMSS_00034]` 如果输出参数是 `NULL_PTR`,函数 `HTMSS_GetTestStatus` 不应更新输出参数,但应返回带有测试状态结果的 `HTMSS_TestStatusType`
- `[SWS_HTMSS_00035]` 函数 `HTMSS_GetTestStatus` 应将 HTMSS 状态设置为 `HTMSS_IDLE`,如果 MSTP 提供的状态确认测试完成。
- `[SWS_HTMSS_00036]` 函数 `HTMSS_GetTestStatus` 应根据输入参数 `GrpId` 提供启动和关闭测试状态。
- `[SWS_HTMSS_00037]` 如果为 HTMSS 启用了 DET,函数 `HTMSS_GetTestStatus` 应检查有效初始化。如果失败,`HTMSS_GetTestStatus` 应引发开发错误 `HTMSS_E_NOT_INIT` 并返回 `HTMSS_STATUS_UNINIT`
- `[SWS_HTMSS_00038]` 如果为 HTMSS 启用了 DET:函数 `HTMSS_GetTestStatus` 应检查有效的输入参数。如果出现错误,`HTMSS_GetTestStatus` 应引发开发错误 `HTMSS_E_PARAM_INVALID` 并返回 `HTMSS_STATUS_INVALID`
#### 8.3.4 HTMSS_GetVersionInfo
```c
Service name: HTMSS_GetVersionInfo
Syntax: void HTMSS_GetVersionInfo(
Std_VersionInfoType *versioninfo)
Service ID [hex]: 0x06
Sync/Async: Synchronous
Reentrancy: Non Reentrant
Parameters (in): None
Parameters None
(inout):
Parameters (out): versioninfo Pointer to where to store the version information
of this module.
Return value: None
Description: Returns the version information of this module.
Available via: HTMSS.h
```
### 8.4 回调通知
无。
### 8.5 调度函数
无。
### 8.6 预期接口
#### 8.6.1 强制接口
```c
API function Header File Description
Mcu_GetResetReason Mcu.h Service to read the reset type from the hardware,
if supported.
```
#### 8.6.2 可选接口
```c
API function Header File Description
Det_ReportError Det.h Service to report development errors.
```
#### 8.6.3 可配置接口
无。
### 8.7 服务接口
#### 8.7.1 客户端-服务器接口 GetTestStatus
```c
Name: GetTestStatus
Comment: --
IsService: True
Variation: --
Parameters: GrpId IN HTMSS_TestGroupType
The test group type (e.g. start up or shut down)
TestResultPtr OUT HTMSS_TestResultType
Pointer to provide Test results along with Test
Possible Errors: HTMSS_STATUS_OK Test status PASS
HTMSS_STATUS_NOK Test status FAIL
HTMSS_STATUS_INVALID Test status is Invalid
HTMSS_STATUS_UNINIT Test status is not initialized
```
### 8.8 Callout 定义
#### 8.8.1 HTMSS_StartupTestErrorHook
> **摘要标记**:本节定义 HTMSS_StartupTestErrorHook callout 函数。完整内容见原文 PDF 第 25 页。
#### 8.8.2 HTMSS_ShutdownTestErrorHook
> **摘要标记**:本节定义 HTMSS_ShutdownTestErrorHook callout 函数。完整内容见原文 PDF 第 25 页。
---
## 9. 序列图
> **摘要标记**:本节包含以下序列图:
>
> - 9.1.1 HTMSS 初始化
> - 9.1.2 启动测试执行
> - 9.1.3 关闭测试执行
> - 9.1.4 处理最后关闭测试结果(MSTP 模块引发的 ECU 复位之后立即)
> - 9.1.5 收集关闭测试结果
> - 9.1.6 HTMSS 集成在系统中的 ECU 关闭
> - 9.1.7 应用 SWC 收集测试结果
>
> 完整内容见原文 PDF 第 26-32 页。
---
## 10. 配置规范
### 10.1 容器和配置参数
#### 10.1.1 HTTMS
> **摘要标记**:本节定义 HTTMS 容器。完整内容见原文 PDF 第 34 页。
#### 10.1.2 HTTMSSGeneral
> **摘要标记**:本节定义 HTTMSSGeneral 容器及其参数(如 HTTMSSDevErrorDetect 等)。完整内容见原文 PDF 第 34-35 页。
#### 10.1.3 HTTMSSConfigSet
> **摘要标记**:本节定义 HTTMSSConfigSet 容器。完整内容见原文 PDF 第 35 页。
### 10.2 已发布信息
> **摘要标记**:本节列出已发布的 HTMSS 信息。完整内容见原文 PDF 第 36 页。
---
## 翻译说明
- **文档类型**AUTOSAR SWSSoftware Specification,软件规范)
- **翻译策略**:本 SWS 文档(36 页)规模适中,已进行完整翻译,包括所有 API 函数定义、关键需求和接口规范。
- **摘要标记位置**
- 第 2 章缩略语
- 第 3 章相关文档
- 第 4 章约束和假设
- 第 5 章依赖
- 第 6 章需求追溯
- 第 7.1-7.3 功能规范
- 第 8.1 导入类型
- 第 8.2 类型定义
- 第 8.4-8.6 回调通知、调度函数、预期接口
- 第 8.7-8.8 服务接口、Callout 定义
- 第 9 章序列图
- 第 10 章配置规范
- **保留内容**
- 需求 ID(如 `SWS_HTMSS_00001``SWS_HTMSS_00014` 等)
- AUTOSAR 方框符 `⌈⌋`
- 所有 API 标识符(`HTMSS_Init``HTMSS_StartTest``HTMSS_GetTestStatus` 等)
- 模块缩写(HTMSS、MSTP、SWC、ECU、EcuM、RTE、Det、BSW
- 文档间交叉引用
- **术语对照表**
- Hardware Test Manager on start up and shutdown (HTMSS) → 启动和关闭硬件测试管理器
- Microcontroller Specific Test Package (MSTP) → 微控制器专用测试包
- Built In Self Test (BIST) → 内建自测试
- Test Callout → 测试回调
- Safe State → 安全状态
- Degradation Mode → 降级模式
- Application SWC → 应用软件组件
- Reset Reason → 复位原因
- HTMSS_UNINIT/IDLE/BUSY → HTMSS 未初始化/空闲/忙
- STARTUP_TEST → 启动测试
- SHUTDOWN_TEST → 关闭测试