1 介绍与功能概述(Introduction and functional overview)
本规范描述了硬件测试管理启动与关闭(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 交互总览
Non-AUTOSAR Environment AUTOSAR SW Platform ┌─────────────────────────┐ ┌────────────────────────────┐ │ μC firmware/bootstrap │ power on │ Application SW-C │ │ μC specific BIST │ reset │ ▲ ▼ │ │ ┌──────────────────┐ │ ───────► │ RTE │ │ │ Microcontroller │ │ │ BSW service layer: │ │ │ Specific Test │ │ │ EcuM ◄── BswM (select │ │ │ Package (MSTP) │ │ │ shutdown target) │ │ └──────────────────┘ │ │ HTMSS (Init/start/get) │ │ ▲ │ │ ▲ ▼ │ │ │ implementation │ │ MSTP wrapper MCU │ │ │ specific │ │ │ └─────────────────────────┘ └────────────────────────────┘
注:MSTP wrapper 是用于从 AR 标准化模块 HTMSS 访问 MSTP 模块的中间模块。MSTP wrapper 可手动实现,或使用 AUTOSAR 方法/过程生成/配置。
HTMSS 模块的预集成需求包括:
- 应能在被测设备上运行微控制器专用测试包(MSTP)启动与关闭测试
- 测试结果/状态可被 HTMSS 模块访问
- 应能通过 HTMSS 模块配置 MSTP 启动与关闭测试
下图描述了 HTMSS 模块在标准 AUTOSAR 软件执行平台不同阶段中的角色。
注:HTMSS 概念可考虑集成到 AUTOSAR 架构中以实现安全相关 ECU 的安全目标,但并非始终强制。
图 2:HTMSS 阶段总览
ECU Startup ECU Runtime ECU Shutdown
Phase 1: │ Phase 2: │ Phase 3: │ Phase 4:
Before AUTOSAR OS │ AUTOSAR Initialization │ AUTOSAR Executing │ AUTOSAR
│ │ Safety Function │ Shutdown
─────────────────────────────────────────────────────────────────────────────
Safe State ensured via System Design
─────────────────────────────────────────────────────────────────────────────
μC Firmware │ Bootstrap │ AUTOSAR │ AUTOSAR │ AUTOSAR │ AUTOSAR
Code │ │ HW/SW │ SW-C │ Safety │ Shutdown
│ │ Initialization │ Initialization │ Function │
─────────────────────────────────────────────────────────────────────────────
HW-BIST │ │ HW Init │ Start of OS │ SW-Comps │ SW-DeInit
HW-Reset │ │ Driver Init │ System Svc │ in control of │ HW-DeInit
Low-Level │ │ SW Init │ SW-Comps │ Safety Funcs │
Init │ │ │ │ │
─────────────────────────────────────────────────────────────────────────────
HTMSS role ──────────────────────┴──────────┴──────────┴───────┘
Legend: Not AUTOSAR / AUTOSAR
注:下面描述的 HTMSS 阶段用于解释 HTMSS 模块在典型 AUTOSAR ECU 软件执行环境中的功能。这些阶段不应被引用为 EcuM 中定义的阶段。
- HTMSS Phase 1:AUTOSAR OS 之前 —— 该阶段从 MCU reset 划定到
StartOS()函数调用。在此状态下可执行多种测试。MCU 外设和 AUTOSAR 最初未初始化,这为执行破坏性测试、MCU 内建测试、故障注入测试等提供了潜在机会。该阶段还用于通过 reset 逻辑评估在关闭阶段测试期间获得的结果。在 EcuM_Init() 进行的 AUTOSAR 硬件/软件初始化期间,可在 AUTOSAR 上下文内执行进一步的诊断测试。EcuM 内的非破坏性测试更可执行。HTMSS 将在 Phase 2 结束时完全可用,因为其作为系统服务需要 AUTOSAR 整体组件运行。 - HTMSS Phase 2:AUTOSAR OS 与 SW-C 初始化 —— 该阶段从使用函数调用
StartOS()启动 AUTOSAR OS 划定,到完整的 AUTOSAR 初始化完成(包括应用软件组件)。在该阶段,HTMSS 可提供诊断测试结果,并由 Safety SW-C 消费以做进一步决策。 - HTMSS Phase 3:AUTOSAR 执行安全功能 —— 在该阶段,系统已启动既定功能,安全功能是其一部分。该阶段适合容纳监控机制以及一些内建诊断机制(可能是单点或潜伏故障贡献者)—— ECC 故障检测机制、ADC 操作能力等。HTMSS 概念尚不支持 Runtime Tests(属另一类测试),因此 HTMSS 在 Phase 3 只能提供此前在启动与关闭测试中执行的结果。
- HTMSS Phase 4:AUTOSAR 关闭。该阶段提供了执行测试的可能性,这些测试在其他阶段不适宜执行(例如执行时间过长)且能够通过 MCU reset 传递结果。结果可在后续 MCU 启动时评估。
2 缩略语与缩写(Acronyms and abbreviations)
| 缩写 / 简称(Abbreviation / Acronym) | 描述(Description) |
|---|---|
| ADC | 模数转换器(Analog to Digital converter) |
| BIST | 内建自测试(Built In Self Test) |
| BSW | 基础软件(Basic Software) |
| DET | 默认错误追踪器(Default error tracer) |
| ECU | 电子控制单元(Electronic Control Unit) |
| ECUM | ECU 管理器(Electronic Control Unit Manager) |
| HTMSS | 硬件测试管理启动与关闭(Hardware Test Management startup shutdown) |
| MCU | 微控制器单元(Micro Controller Unit) |
| MSTP | 微控制器专用测试包(Microcontroller Specific Test Package) |
| RTE | 运行时环境(Run Time Environment) |
3 相关文档(Related documentation)
3.1 输入文档(Input documents)
- [1] List of Basic Software Modules,
AUTOSAR_BasicSoftwareModules.pdf - [2] AUTOSAR Layered Software Architecture,
AUTOSAR_LayeredSoftwareArchitecture.pdf - [3] AUTOSAR General Specification for Basic Software Modules,
AUTOSAR_SWS_BSWGeneral.pdf - [4] Specification of Memory Mapping,
AUTOSAR_SWS_MemoryMapping.pdf - [5] Specification of RTE,
AUTOSAR_SWS_RTE.pdf - [6] Specification of ECU state manager,
AUTOSAR_SWS_ECUStateManager.pdf - [7] Requirements on HTMSS,
AUTOSAR_SRS_HTMSS.pdf - [8] Technical Report on HTMSS,
AUTOSAR_TR_HWTestManagementIntegrationGuide.pdf
3.2 相关标准与规范(Related standards and norms)
- [5] IEC 7498-1 The Basic Model,IEC Norm,1994
3.3 相关规范(Related specification)
AUTOSAR 在 [3](SWS BSW General)提供了关于基础软件的通用规范,对 HTMSS 模块同样有效。因此,SWS BSW General [3] 应被视为 AUTOSAR HTMSS 模块的附加且必需的规范。
4 约束与假设(Constraints and assumptions)
本文档适用于 AUTOSAR 4.3.0 发布版本。
4.1 限制(Limitations)
本模块的使用是可选,仅在需要所提供的功能时使用。
为集成特定解决方案所需的测试能力,所有受影响的模块需实现与 HTMSS 的接口。
示例:半导体厂商提供的 MSTP(微控制器专用测试包)模块是集成 HTMSS 模块至 AUTOSAR 软件平台的强制模块。
启动/关闭测试配置由系统集成者决定,基于 MSTP 测试配置能力与功能。
HTMSS 模块应通过 wrapper 实现(在本规范中称为 MSTP wrapper)使用 AR 方法/过程与假设的测试模块(MSTP)交互。
测试结果在 NV 内存中的存储和 DEM 错误报告需求不在 HTMSS 模块范围内。集成者应在相应的应用 SWC 层管理这些需求(如需要)。
4.2 在汽车领域的适用性(Applicability to car domains)
每个 ECU 设计为在给定系统架构的上下文中提供预定义功能。因此,ECU 无故障运行至关重要,这可以通过简单监控预期故障来避免或检测在其出现之前。检查 ECU 可操作性的策略之一是执行(在 ECU 启动与关闭期间)破坏性测试以检查给定逻辑和条件,并保留结果以供进一步分析。HTMSS 模块描绘了在 ECU 上处理此类测试结果的需求,并按请求提供其状态。
5 与其他模块的依赖(Dependencies to other modules)
HTMSS 在 AUTOSAR 架构中与一些 BSW 模块和应用 SWC 存在接口。此外 HTMSS 在 AUTOSAR 架构之外与微控制器专用测试包(MSTP)存在接口。然而,与 MSTP 的交互是实现特定的。
5.1 EcuM
ECU 状态管理器应访问 HTMSS 服务以启动测试,并从被测设备收集测试结果/状态。
ECUM STARTUP 阶段和 SHUTDOWN 阶段纳入了 HTMSS 模块在 AUTOSAR 软件平台中的主要功能。
5.2 应用 SWC
应用软件组件应(通过 RTE)收集 HTMSS 测试结果以进行评估,然后确定软件行为。此外,如需要,测试结果应存储在非易失性内存中以供后续使用。
5.3 RTE
通过 RTE 数据交换,测试结果/状态在 HTMSS 模块和应用软件层之间共享。
5.4 与 MSTP 的依赖(Dependencies with MSTP)
HTMSS 可以访问 MSTP 模块(可能为非 AR 软件模块,同步和/或异步)以在 AUTOSAR 软件平台内管理以下功能/特性:
- 配置 HTMSS 模块中配置的启动与关闭测试
- 在 ECUM 启动与关闭阶段触发 MSTP 测试
- 收集测试结果并提供给应用软件使用
注:HTMSS 模块应通过 wrapper 模块/源代码(在本规范中称为 MSTP wrapper)使用 AUTOSAR 方法和过程进行配置/生成,与 MSTP 模块交互。
5.5 MCU
HTMSS 从 MCU 驱动接收 reset 原因(例如由关闭测试执行引起的 reset)。
5.6 默认错误追踪器(Det)
如果 DET 已启用,则 HTMSS 模块将所检测到的开发错误通知默认错误追踪器。
5.7 文件结构(File structure)
5.7.1 代码文件结构(Code file structure)
[SWS_HTMSS_00001] ⌈ 代码文件结构应包含一个或多个源文件 HTMSS_<xxx>.c,其中包含 HTMSS 代码的全部部分。⌋
6 需求追溯(Requirements traceability)
下表引用了 [3] 中规范的相关特性,并将其链接到本规范的实现。
| 需求(Requirement) | 描述(Description) | 由满足(Satisfied by) |
|---|---|---|
| SRS_BSW_00159 | AUTOSAR 基础软件的所有模块应支持基于工具的配置 | SWS_HTMSS_00016 |
| SRS_BSW_00301 | 所有 AUTOSAR BSW 模块应只导入必要信息 | SWS_HTMSS_00012 |
| SRS_BSW_00337 | 开发错误分类 | SWS_HTMSS_00011 |
| SRS_BSW_00345 | BSW 模块应支持预编译配置 | SWS_HTMSS_00006, SWS_HTMSS_00016 |
| SRS_BSW_00384 | 基础软件模块规范应至少在描述中说明所需的其他模块 | SWS_HTMSS_00040 |
| SRS_BSW_00404 | BSW 模块应支持 post-build 配置 | SWS_HTMSS_00015 |
| SRS_BSW_00407 | 每个 BSW 模块应提供读取特定模块实现版本信息的函数 | SWS_HTMSS_00039 |
| SRS_HTMSS_00001 | HTMSS 应允许配置启动与关闭测试 | SWS_HTMSS_00014, SWS_HTMSS_00017, SWS_HTMSS_00023 |
| SRS_HTMSS_00002 | HTMSS 应允许在单个硬件资源级别配置测试 | SWS_HTMSS_00008, SWS_HTMSS_00009, SWS_HTMSS_00014, SWS_HTMSS_00017, SWS_HTMSS_00022 |
| SRS_HTMSS_00003 | HTMSS 应提供服务以收集 MSTP 测试结果 | noname, SWS_HTMSS_00005, SWS_HTMSS_00032, SWS_HTMSS_00033, SWS_HTMSS_00034, SWS_HTMSS_00036 |
| SRS_HTMSS_00004 | HTMSS 应提供与应用程序层软件共享测试结果的机制 | SWS_HTMSS_00042 |
| SRS_HTMSS_00005 | HTMSS 应提供服务以在 ECUM 启动阶段配置/初始化 MSTP 测试 | SWS_HTMSS_00019, SWS_HTMSS_00020, SWS_HTMSS_00021 |
| SRS_HTMSS_00006 | HTMSS 应提供服务以触发测试执行 | SWS_HTMSS_00025, SWS_HTMSS_00026, SWS_HTMSS_00027, SWS_HTMSS_00028 |
| SRS_HTMSS_00007 | HTMSS 应提供回调选项以处理测试失败条件 | SWS_HTMSS_00043, SWS_HTMSS_00044 |
7 功能规范(Functional specification)
7.1 通用行为(General behavior)
HTMSS 的基本功能可划分为以下主要组:
- HTMSS 模块的初始化
- 基于 HTMSS 配置(启动/关闭)配置 MSTP 测试
- 启动 MSTP 测试的接口(启动与关闭)
- 向其他 AUTOSAR 模块(包括应用 SWC)提供 MSTP 测试状态
注:HTMSS 不应添加任何与 MSTP 测试对应的测试功能。测试的实现与执行不在 HTMSS 范围内。
7.2 硬件测试管理(Hardware Test Management)
7.2.1 背景与原理(Background & Rationale)
总体目标是通过在基于标准 AUTOSAR 平台构建的安全相关系统中执行硬件测试来提供微控制器操作的故障状态。
该概念应提供执行和记录预定义测试集的能力。此外应支持所使用微控制器上下文中的硬件监控活动、获取测试结果并将其传播到 AUTOSAR 环境中的利益相关者软件组件。
HTMSS 模块的目标是标准化可在 AUTOSAR 环境之外执行微控制器特定启动/关闭测试,然后在 AUTOSAR 软件执行上下文中收集与评估测试结果的可访问接口。
7.2.2 需求(Requirements)
[SWS_HTMSS_00005] ⌈ HTMSS 应能读取所请求硬件上微控制器特定的启动与关闭测试结果/状态。⌋(SRS_HTMSS_00003)
依赖:[SWS_HTMSS_00018](初始化并配置 MSTP 测试,调用 Mcu_GetResetReason 复位原因检测)、[SWS_HTMSS_00020] 与 [SWS_HTMSS_00021](MSTP 启动/关闭测试配置);参考 [SWS_HTMSS_00006](静态配置参数检查)、[SWS_HTMSS_00036](HTMSS_GetTestStatus API)。
注:由用户/集成者负责评估 HTMSS 提供的启动与关闭测试结果(即在失败情况下),然后定义软件反应。错误钩子(启动与关闭)应评估测试结果。
提示:集成者可以根据系统/安全目标中的关键性/相关性对测试结果的处理进行优先级排序。在严重错误情况下,集成者应决定返回 reset 状态或 shutdown 状态。
[SWS_HTMSS_00006] ⌈ 预编译时配置参数应静态检查(至少在编译时)其正确性。⌋(SRS_BSW_00345)
[SWS_HTMSS_00008] ⌈ 在一种配置中,每个模块应有多个测试。这些测试可并行执行。⌋(SRS_HTMSS_00002)
注:处理上述需求的配置参数应在 HTMSSConfigSet(第 10.2.3 章)中适配。
[SWS_HTMSS_00009] ⌈ 应能对给定硬件上的单个硬件资源(例如通过 module / channel ID 选择)进行测试。参见第 10.2.3 章 HTMSSConfigSet 的配置参数实现。
提示:一个微控制器可能包含两个 ADC 外设硬件单元。应有支持单独测试/获取每个 ADC 单元的测试结果。
注:无法保证未使用的硬件资源中的错误不会传播或影响微控制器的其余部分。因此可能需要执行完整的硬件测试,且测试结果应根据 ECU 的安全要求适当考虑。⌋(SRS_HTMSS_00002)
7.2.3 HTMSS 模块状态(States of HTMSS module)
[SWS_HTMSS_00010] ⌈ HTMSS 模块状态表:
| 状态(State) | 描述(Description) |
|---|---|
HTMSS_UINIT | HTMSS 模块未初始化(模块初始化前的默认值) |
HTMSS_INIT | HTMSS 模块已初始化 |
HTMSS_BUSY | HTMSS 请求的测试未完成/正在执行/已启动 |
HTMSS_IDLE | HTMSS 请求的测试已完成/无待处理测试运行 |
⌋
7.3 错误分类(Error classification)
7.3.1 开发错误(Development Errors)
[SWS_HTMSS_00011] ⌈
| 错误类型(Type or error) | 相关性(Relevance) | 相关错误码(Related error code) | 值(Value [hex]) |
|---|---|---|---|
| 在初始化前调用了服务 | Development | HTMSS_E_NOT_INIT | 0x01 |
| 作为参数传递了空指针 | Development | HTMSS_E_NULL_POINTER | 0x02 |
| 参数无效(不特定) | Development | HTMSS_E_PARAM_INVALID | 0x03 |
| 测试请求运行时调用了函数 | Development | HTMSS_E_BUSY | 0x04 |
7.3.2 生产错误(Production Errors)
无(None)。
8 API 规范(API specification)
8.1 导入类型(Imported types)
本章列出了所包含的以下文件中的所有类型:
[SWS_HTMSS_00012] ⌈ HTMSS 应仅使用以下其他模块的导入类型:
| 头文件(Header file) | 导入类型(Imported Type) |
|---|---|
| Std_Types | Std_ReturnType |
Std_VersionInfoType |
8.2 类型定义(Type definitions)
[SWS_HTMSS_00013] ⌈ 以下数据类型应用于本规范中定义的函数:
8.2.1 HTMSS_TestCfgType
| Name | HTMSS_TestCfgType | |
| Type | Structure | |
| Range | Implementation specific | 配置数据结构的内容是实现特定的 |
| Description | HTMSS 模块的配置数据结构 | |
| Available via | HTMSS.h | |
8.2.2 HTMSS_TestStatusType
| Name | HTMSS_TestStatusType | |
| Type | enumeration | |
| Range | HTMSS_STATUS_OK | 测试状态 PASS |
HTMSS_STATUS_NOK | 测试状态 FAIL | |
HTMSS_STATUS_INVALID | 测试状态为 Invalid | |
HTMSS_STATUS_UNINIT | 测试状态未初始化 | |
| Description | HTMSS_TestStatusType 描述测试状态 | |
| Available via | HTMSS.h | |
8.2.3 HTMSS_TestGroupType
| Name | HTMSS_TestGroupType | |
| Type | Enumeration | |
| Range | HTMSS_STARTUP | 仅在启动时执行的测试 |
HTMSS_SHUTDOWN | 仅在关闭时执行的测试 | |
HTMSS_STARTUP_SHUTDOWN | 在启动和关闭时执行的测试 | |
| Description | HTMSS_TestGroupType 描述测试组类型 | |
| Available via | HTMSS.h | |
8.2.4 HTMSS_TestResultType
| Name | HTMSS_TestResultType | ||
| Type | Struct | ||
unit8 | TestResult | 测试结果(例如 pass、fail、invalid) | |
uint8 | TestSignature | 被测资源的标识符 | |
| Description | 描述当前测试结果 | ||
| Available via | HTMSS.h | ||
⌋(SRS_HTMSS_00001,SRS_HTMSS_00002)
8.3 函数定义(Function definitions)
以下小节规范了 HTMSS 模块提供的 API 函数。
8.3.1 HTMSS_Init
[SWS_HTMSS_00014] ⌈
| 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 | 指向 Variant PB 中配置集的指针(Variant PC 需要 NULL_PTR) |
| Parameters (inout) | None | |
| Parameters (out) | None | |
| Return value | None | |
| Description | 初始化 HTMSS 模块 | |
| Available via | HTMSS.h | |
[SWS_HTMSS_00015] ⌈ 在 Variant PB 情况下:函数 HTMSS_Init 应根据 ConfigPtr 引用的配置集初始化 HTMSS 模块。⌋(SRS_BSW_00404)
[SWS_HTMSS_00016] ⌈ 在 Variant PC 情况下:函数 HTMSS_Init 应根据预编译配置集初始化 HTMSS。⌋(SRS_BSW_00345,SRS_BSW_00159)
[SWS_HTMSS_00017] ⌈ 服务 HTMSS_Init() 应初始化 HTMSS 的全局变量和数据结构,包括标志和缓冲区。⌋(SRS_HTMSS_00001,SRS_HTMSS_00002)
[SWS_HTMSS_00018] ⌈ 函数 HTMSS_Init() 应初始化 MSTP 模块并配置 MSTP 测试。⌋(SRS_HTMSS_00001,SRS_HTMSS_00002)
[SWS_HTMSS_00019] ⌈ 在调用此函数之前,HTMSS 不可用。⌋(SRS_HTMSS_00005)
[SWS_HTMSS_00020] ⌈ 函数 HTMSS_Init() 应通过调用 MCU 驱动的 Mcu_GetResetReason() 确定最近一次 reset 原因。⌋(SRS_HTMSS_00005)
[SWS_HTMSS_00021] ⌈ 函数 HTMSS_Init() 应配置 MSTP 测试(启动与关闭),如果最近 reset 原因不是 MCU_HWTEST_RESET。⌋(SRS_HTMSS_00005)
[SWS_HTMSS_00022] ⌈ 函数 HTMSS_Init() 应分别配置启动与关闭测试。
提示:与 MSTP 模块的接口和测试配置是实现特定的。可能存在一些情况需要配置相同类型的测试以在启动与关闭时隙中执行。可在此上下文中使用 HTMSS_TestGroupType(参见 8.2.3 节)。⌋(SRS_HTMSS_00002)
[SWS_HTMSS_00023] ⌈ 函数 HTMSS_Init() 应将 HTMSS 状态设置为 HTMSS_UNINIT,如果 MSTP 测试配置因任何原因失败。⌋(SRS_HTMSS_00001)
[SWS_HTMSS_00024] ⌈ 如果 HTMSS 的 DET 已启用:函数 HTMSS_Init 应检查有效指针。如有错误,HTMSS_Init 应抛出开发错误 HTMSS_E_NULL_POINTER。⌋
8.3.2 HTMSS_StartTest
[SWS_HTMSS_00025] ⌈
| 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 | 测试组类型(例如 startup 或 shutdown) |
| Parameters (inout) | None | |
| Parameters (out) | None | |
| Return value | Std_ReturnType | 函数执行的标准返回 |
| Description | 启动 MSTP 已配置的测试 | |
| Available via | HTMSS.h | |
[SWS_HTMSS_00026] ⌈ 函数 HTMSS_StartTest 应在所请求硬件上触发 MSTP 测试操作。如果成功,应返回 E_OK。⌋(SRS_HTMSS_00006)
[SWS_HTMSS_00027] ⌈ 函数 HTMSS_StartTest 应将 HTMSS 状态设置为 HTMSS_BUSY,如果 MSTP 状态确认测试触发成功。⌋(SRS_HTMSS_00006)
[SWS_HTMSS_00028] ⌈ 函数 HTMSS_StartTest 应处理被测设备的启动与关闭测试请求。
提示:HTMSS 与 MSTP 模块之间的接口是实现特定的。因为半导体厂商可能定义与设备 MSTP 模块交互的方法。⌋(SRS_HTMSS_00006)
[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
[SWS_HTMSS_00032] ⌈
| 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 | 测试组类型(例如 startup 或 shutdown) |
| Parameters (inout) | None | |
| Parameters (out) | RequestTestResultPtr | 用于存储请求结果的指针 |
| Return value | HTMSS_TestStatusType | 返回所请求测试的当前测试状态 |
| Description | 返回所请求测试的当前测试状态 | |
| Available via | HTMSS.h | |
[SWS_HTMSS_00033] ⌈ 函数 HTMSS_GetTestStatus 应从 MSTP 收集测试状态并将读取数据存储于 out 参数 RequestTestResultPtr 中(若 OUT 参数不为 NULL_PTR),并返回 HTMSS_TestStatusType 与测试状态结果。⌋(SRS_HTMSS_00003)
[SWS_HTMSS_00034] ⌈ 如果 OUT 参数为 NULL_PTR,函数 HTMSS_GetTestStatus 应不更新 OUT 参数,但应返回 HTMSS_TestStatusType 与测试状态结果。⌋(SRS_HTMSS_00003)
[SWS_HTMSS_00035] ⌈ 函数 HTMSS_GetTestStatus 应将 HTMSS 状态设置为 HTMSS_IDLE,如果 MSTP 提供的状态确认测试完成。⌋(SRS_HTMSS_00003)
[SWS_HTMSS_00036] ⌈ 函数 HTMSS_GetTestStatus 应根据输入参数 GrpId 提供启动与关闭测试状态。
提示:集成者/用户应确保在调用此 API 函数之前已就绪有效的测试状态。
注:读取/收集所请求测试状态的方法/机制是实现特定的,并取决于 MSTP 接口和微控制器制造商特定指南。⌋(SRS_HTMSS_00003,SRS_HTMSS_00010)
[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
[SWS_HTMSS_00039] ⌈
| 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 (inout) | None | |
| Parameters (out) | versioninfo | 用于存储本模块版本信息的指针 |
| Return value | None | |
| Description | 返回本模块的版本信息 | |
| Available via | HTMSS.h | |
8.4 回调通知(Call-back notifications)
无(None)。
8.5 调度函数(Scheduled functions)
无(None)。
8.6 期望接口(Expected Interfaces)
本章列出了所有来自其他模块所需接口。
8.6.1 强制接口(Mandatory Interfaces)
本章定义了满足模块核心功能所需的所有接口。
8.6.2 可选接口(Optional Interfaces)
本章定义了满足模块可选功能所需的接口。
[SWS_HTMSS_00041] ⌈
| API 函数 | 头文件 | 描述 |
|---|---|---|
Det_ReportError | Det.h | 用于报告开发错误 |
⌋
8.6.3 可配置接口(Configurable interfaces)
无(There are no configurable interfaces.)。
8.7 服务接口(Service Interfaces)
本章按 SWC 模板形式正式规范相应的 AUTOSAR 服务。此处描述的接口用于在应用软件和 HTMSS 模块之间生成 RTE。
8.7.1 客户端-服务器接口 - GetTestStatus(Client server interface –GetTestStatus)
[SWS_HTMSS_00042] ⌈
| Name | GetTestStatus | |
| Comment | -- | |
| IsService | True | |
| Variation | ||
| Possible Errors | HTMSS_STATUS_OK | 测试状态 PASS |
HTMSS_STATUS_NOK | 测试状态 FAIL | |
HTMSS_STATUS_INVALID | 测试状态为 Invalid | |
HTMSS_STATUS_UNINIT | 测试状态未初始化 | |
GetTestStatus
| Comments | -- | |
| Variation | ||
| Parameters | GrpId | Comment:测试组类型(例如 startup 或 shutdown) |
Type:HTMSS_TestGroupType | ||
| Variation:-- | ||
| Direction:IN | ||
TestResultPtr | Comment:用于提供测试结果连同测试的指针 | |
Type:HTMSS_TestResultType | ||
| Variation:-- | ||
| Direction:OUT | ||
| Possible Errors | HTMSS_STATUS_OK | 测试状态 PASS |
HTMSS_STATUS_NOK | 测试状态 FAIL | |
HTMSS_STATUS_INVALID | 测试状态为 Invalid | |
HTMSS_STATUS_UNINIT | 测试状态未初始化 | |
8.8 回调定义(Callout Definitions)
回调是必须在 ECU 集成期间添加到 HTMSS 模块的代码片段。大多数回调的内容是手写代码。HTMSS 模块配置工具为某些回调生成默认实现,由集成者手动编辑。从概念上讲,这些回调属于 ECU 集成代码。
注:错误钩子是用于在测试失败时控制 ECU 处理的集成代码。对于被开发系统来说,这可能是严重错误,因此集成者可以对测试失败作出反应(例如 reset、halt、safe state)。
8.8.1 HTMSS_StartupTestErrorHook
[SWS_HTMSS_00043] ⌈
| Service name | HTMSS_StartupTestErrorHook |
| Syntax | void HTMSS_StartupTestErrorHook(void) |
| Service ID [hex] | 0x07 |
| Sync/Async | Synchronous |
| Reentrancy | Non Reentrant |
| Parameters (in) | none |
| Parameters (inout) | none |
| Parameters (out) | none |
| Return value | none |
| Description | 若 HTMSS 提供的启动测试结果存在失败,ECU 状态管理器将调用错误钩子。在这种情况下,集成者必须根据系统要求控制 CPU 处理,即 reset、safe state 等 |
| Available via | HTMSS.h |
8.8.2 HTMSS_ShutdownTestErrorHook
[SWS_HTMSS_00044] ⌈
| Service name | HTMSS_ShutdownTestErrorHook |
| Syntax | void HTMSS_ShutdownTestErrorHook(void) |
| Service ID [hex] | 0x08 |
| Sync/Async | Synchronous |
| Reentrancy | Non Reentrant |
| Parameters (in) | none |
| Parameters (inout) | none |
| Parameters (out) | none |
| Return value | none |
| Description | 若 HTMSS 提供的关闭测试结果存在失败,ECU 状态管理器将调用错误钩子。在这种情况下,集成者必须根据系统要求控制 CPU 处理,即 reset、safe state 等 |
| Available via | HTMSS.h |
9 序列图(Sequence diagrams)
9.1.1 HTMSS 初始化序列图
sd HTMSS_Init sequence ┌────┐ ┌──────┐ ┌────┐ ┌────┐ ┌──────┐ ┌────┐ ┌────┐ ┌────┐ │μC │ │startup│ │EcuM│ │Integr│ │HTMSS │ │MCU │ │MSTP │ │MSTP │ │reset│ │ code │ │ │ │ Code │ │ │ │ │ │Wrapr │ │MSTP │ └─┬──┘ └──┬───┘ └─┬──┘ └──┬─┘ └──┬───┘ └─┬──┘ └─┬──┘ └────┘ │μC fw │ │ │ │ │ │ │& Bootstrap │ │ │ │ │ │ Selftest()│ │ │ │ │ │ │ Jump() │ │ │ │ │ │ │ EcuM_Init() │ │ │ │ │ │ EcuM_AL_DriverInitOne() │ │ │ │ HTMSS_Init(const HTMSS_TestCfgType * ConfigPtr) │ │ Mcu_GetResetReason(Mcu_ResetType) │ │ │ Mcu_GetResetReason() │ │ │ alt [if McuGetReason != MCU_HWTEST_RESET)] │ │ Config MSTP tests() │ │ Config tests() │ │ │ Config MSTP tests() │ │ │ [else] │ If reset reason is 'MCU_HWTEST_RESET' then tests shall not be re-configured. │ HTMSS_Init() 注:HTMSS 初始化序列不应影响最近关闭测试结果
9.1.2 启动测试执行序列图
sd Sequence diagram example of startup test execution ┌────┐ ┌────┐ ┌────┐ ┌────┐ ┌────┐ ┌────┐ ┌────┐ │μC │ │start│ │EcuM│ │MCU │ │HTMSS│ │MSTP │ │MSTP │ OS │Reset│ │ up │ │ │ │ │ │ │ │Wrapr│ │MSTP │ └─┬──┘ └─┬──┘ └─┬──┘ └─┬──┘ └─┬──┘ └─┬──┘ └─┬──┘ │Boot strap code │ │ BIST execute() │ │ Jump() │ │ EcuM_Init() │ │ HTMSS_Init() │ │ MSTPWrapper_Init() │ │ Initialize Module() │ │ Mcu_GetResetReason(Mcu_ResetType) │ │ Mcu_GetResetReason() │ │ [HTMSS requires the last reset reason to determine whether to configure the MSTP tests or NOT.] │ │ alt [if (Mcu_ResetType != MCU_HWTEST_RESET)] │ │ loop [Loop to configure MSTP Tests] │ │ Config MSTP tests() │ │ Config tests() │ │ [else] Tests should not be re-configured. │ │ Mcu_GetResetReason(Mcu_ResetType) │ │ [EcuM requires the last reset reason to collect shutdown test results(i.e. reset caused by shutdown tests execution)] │ │ alt [if (Mcu_ResetType == MCU_HWTEST_RESET)] │ │ Refer: HTMSS Get shutdown test result sequence │ [else] │ │ loop [Loop for all configured Startup tests] │ │ HTMSS_StartTest(Startup) │ │ Start MSTP tests() │ │ Start tests() │ │ HTMSS_StartTest() │ │ loop [Loop for collecting test results] │ │ HTMSS_GetTestStatus(Startup, NULLPTR) │ │ Wait for test completion │ │ HTMSS_GetTestStatus(Startup, *ResultPtr) │ │ MSTP_GetTestResult() │ │ GetTestResult() │ │ alt [if (Startup Test Status == Fail)] │ │ HTMSS_StartupTestErrorHook() │ │ alt [if (Fail == CRITICAL_STATE)] │ │ Halt or Reset State() │ │ [else] │ │ Critical fault judgement shall be done by the user integrated shutdown hook function. │ │ StartOs() 注:检查 MSTP 的等待状态是实现特定的(例如 MSTP 集成指南可能为集成者考虑提供一些时序要求或轮询机制)
9.1.3 关闭测试执行序列图
sd HTMSS Shutdown Test Sequence ┌────┐ ┌────┐ ┌──────┐ ┌────┐ ┌────┐ ┌────┐ ┌────┐ │μC │ │BswM │ │Integr│ │EcuM│ │HTMSS│ │MSTP │ │MSTP │ │reset│ │ │ │ Code │ │ │ │ │ │Wrapr│ │MSTP │ └─┬──┘ └─┬──┘ └─┬────┘ └─┬──┘ └─┬──┘ └─┬──┘ └─┬──┘ │ EcuM_SelectShutdownTarget(EcuM_ShutdownTargetType, EcuM_ShutdownModeType) │ │ EcuM_SelectShutdownTarget(EcuM_ShutdownTargetType, EcuM_ShutdownModeType) │ │ [EcuM_ShutdownTargetType shall be HWTEST_OFF or HWTEST_RESET in order to execute shutdown tests.] │ │ EcuM_GoDown(uint16) │ │ ShutdownOS() │ │ ShutdownHook() │ │ EcuM_Shutdown() │ │ alt [if ((EcuMShutdownTarget == (HWTEST_OFF || HWTEST_RESET)))] │ │ HTMSS_StartTest(Shutdown) │ │ loop [Loop for all Shutdown tests] │ │ MSTP_StartTest() │ │ Execution of Shutdown Tests causes Ecu RESET. After this RESET, control comes back to EcuM. │ │ Ecu reset() │ │ [Refer ECU Shutdown Sequence starting from EcuM_Init() to follow the sequence immediately after the reset caused by shutdown tests execution] │ │ [else] │ │ Refer ECU shutdown sequence second part, EcuM_SelectShutdownTarget with OFF OR RESET
9.1.4 MSTP 模块引发的 ECU reset 后处理最近关闭测试结果
sd Handling last shutdown results Sequence ┌────┐ ┌────┐ ┌────┐ ┌────┐ ┌──────┐ ┌────┐ │EcuM│ │HTMSS│ │MSTP │ │MSTP │ │Integr│ │Safety│ │ │ │ │ │Wrapr│ │MSTP │ │ Code │ │SW-C │ └─┬──┘ └─┬──┘ └─┬──┘ └─┬──┘ └─┬────┘ └─┬──┘ │ [Refer ECU Shutdown Sequence (first part) with the shutdown target HWTEST_OFF/HWTEST_RESET for the previous sequence.] │ │ StartOs() │ │ Initialize SW-C() │ │ EcuM_GetLastShutdownTarget() │ │ EcuM_GetLastShutdownTarget() │ │ alt [if (EcuLastShutdownTarget == (HWTEST_OFF || HWTEST_RESET))] │ │ HTMSS_GetTestStatus(Shutdown, *ResultPtr) │ │ [Collect last shutdown test results for application usage.] │ │ HTMSS_GetTestStatus(Shutdown, *ResultPtr) │ │ Evaluate last Shutdown Results() │ │ [Application is responsible to evaluate the test results and take necessary actions e.g. store in NVM, DEM reporting for non- critical faults for later diagnosis] │ │ [else] │ │ HTMSS_GetTestStatus(Startup, *ResultPtr) │ │ HTMSS_GetTestStatus(Startup, *ResultPtr) │ │ Refer: HTMSS_StartTest Sequence │ Initialize SW-C() │ │ Refer ECU Shutdown Sequence (second part) with the shutdown target ECUM_OFF/ECUM_RESET to continue.
9.1.5 收集关闭测试结果序列图
sd HTMSS_GetTestStatus Sequence ┌────┐ ┌────┐ ┌────┐ ┌────┐ ┌────┐ ┌────┐ OS │μC │ │EcuM│ │MCU │ │HTMSS│ │MSTP │ │MSTP │ (OS) │reset│ │ │ │ │ │ │ │Wrapr│ │MSTP │ └─┬──┘ └─┬──┘ └─┬──┘ └─┬──┘ └─┬──┘ └─┬──┘ │ MCU_GetResetReason(Mcu_ResetType) │ │ MCU_GetResetReason() │ │ alt [if (Mcu_ResetType != MCU_HWTEST_RESET)] │ │ HTMSS_GetTestStatus(Shutdown, NULLPTR) │ │ loop [Test results shall be stored in HTMSS buffer.] │ │ MSTP_GetTestResult() │ │ MSTP_GetTestResult() │ │ HTMSS_GetTestStatus(Shutdown, NULLPTR) │ │ alt [if (Shutdown Test Status == Fail)] │ │ HTMSS_ShutdownTestErrorHook() │ │ alt [if (Fail == CRITICAL_FAULT)] │ │ Halt or reset state() │ │ [else] │ │ HTMSS_ShutdownTestErrorHook() │ │ [else] │ │ Refer: HTMSS Start StartUp Test Execution Sequence │ │ StartOs() 注:测试状态报告 "fail" 必须在集成者代码(错误钩子例程)中评估以判断关键性,然后确定系统的行为。
9.1.6 系统集成 HTMSS 时的 ECU 关闭序列图
sd ECU Shutdown Sequence ┌────┐ ┌────┐ ┌────┐ ┌────┐ ┌────┐ ┌──────┐ ┌────┐ ┌────┐ ┌────┐ │μC │ │BswM │ │RTE │ │SW_C│ │EcuM│ │Integr│ │HTMSS│ │MSTP │ │MCU │ │reset│ │ │ │ │ │ │ │ │ │ Code │ │ │ │Wrapr│ │ │ └─┬──┘ └─┬──┘ └─┬──┘ └─┬──┘ └─┬──┘ └─┬────┘ └─┬──┘ └─┬──┘ └─┬──┘ │ EcuM_SelectShutdownTarget(EcuM_ShutdownTargetType, EcuM_ShutdownModeType) │ │ EcuM_SelectShutdownTarget(EcuM_ShutdownTargetType, EcuM_ShutdownModeType) │ │ [EcuM_ShutdownTargetType shall be HWTEST_OFF or HWTEST_RESET in order to manage shutdown tests, which causes a reset. [Please refer Note 1 for details]] │ │ EcuM_GoDown(Std_ReturnType, uint16) │ │ ShutdownOS() │ │ ShutdownHook() │ │ EcuM_Shutdown() │ │ alt [if ((EcuMShutdownTarget == (HWTEST_OFF || HWTEST_RESET)))] │ │ HTMSS_StartTest(Shutdown) │ │ Starttest() │ │ StartTest() │ │ [Ecu Reset after Shutdown test execution (reset is assumed to be triggered by MSTP)] │ │ EcuM_Init() │ │ MCU_GetResetReason(Mcu_ResetType) │ │ alt [if (Mcu_ResetType == MCU_HWTEST_RESET)] │ │ HTMSS_GetTestStatus(Shutdown, NULLPTR) │ │ StartOS() │ │ Initialize SW-C() │ │ alt [if (EcuLastShutdownTarget == (HWTEST_OFF || HWTEST_RESET))] │ │ Rte_Call(GrpId, DstPtr) │ │ HTMSS_GetTestStatus(Shutdown, *ResultPtr) │ │ HTMSS_GetTestStatus(Shutdown, *ResultPtr) │ │ Evaluates Shutdown TestResult() │ │ [At this stage, application user can store the test results in NVM, report DEM, if needed] │ │ BswM_MainFunction() │ │ Rte_Read(Shutdown) │ │ Rte_Read(Shutdown) │ │ EcuM_SelectShutdownTarget(OFF || RESET) │ │ EcuM_SelectShutdownTarget() │ │ EcuM_GoDown() │ │ ShutdownOS() │ │ ShutdownHook() │ │ EcuM_Shutdown() 注:当系统中集成了 HTMSS 且需要由系统执行关闭测试时,需要两次应用介入(即关闭测试会导致一次 Ecu reset 以管理关闭过程)。 1. 第一次应用应选择关闭目标 ECUM_SHUTDOWN_HWTEST_RESET/ECUM_SHUTDOWN_HWTEST_OFF。 重要:以上关闭目标应存储在非易失性内存中(实现特定),以便第二次应用介入完成关闭过程。 按照上述序列从步骤 1 开始处理,直到控制权返回给应用 SWC。 2. 此时应用应选择 ECUM_SHUTDOWN_TARGET_OFF/ECUM_SHUTDOWN_TARGET_RESET 以完成实际的 ECU 关闭。
9.1.7 应用 SWC 收集测试结果序列图
sd AppInSWC_HTMSS interaction Sequence ┌────┐ ┌────┐ ┌────┐ │SW-C│ │RTE │ │HTMSS│ └─┬──┘ └─┬──┘ └─┬──┘ │ Rte_Call(GrpId, DstPtr) │ │ HTMSS_GetTestStatus(GrpId, *TestResultPtr) │ │ HTMSS_GetTestStatus() │ │ Rte_Call() │ 注:应用与 HTMSS 之间应遵循客户端-服务器交互以收集启动和关闭测试结果。
10 配置规范(Configuration specification)
以下章节汇总了所有配置参数。参数的详细含义在各章中描述。
10.1 容器与配置参数(Containers and configuration parameters)
以下章节汇总了所有配置参数。然而本章内容旨在作为参考示例提供。实际实现由规范使用者决定。
图 8:容器结构概览(UML 类图,参见 PDF 第 34-36 页)
HTTMS (EcucModuleDef, 0..1)
├── HTTMSSGeneral (1..1)
│ ├── HTMSSDevErrorDetect (EcucBooleanParamDef, default=false)
│ └── HTMSSVersionInfoApi (EcucBooleanParamDef, default=false)
└── HTTMSSConfigSet (1..*)
└── HTMSSSet (1..*)
├── HTMSSSetGrp (EcucParameterConfContainerDef, Multiplicity 1..2)
│ └── HTMSSSetGrpType (EcucEnumerationParamDef, Range=STARTUP|SHUTDOWN)
├── HTMSSSetId (EcucIntegerParamDef, Multiplicity 1, Range=0..255)
├── HTMSSSetTestCfgAPI (EcucParamConfContainerDef, Multiplicity 1)
│ └── HTMSSStartTestAPI (EcucParamConfContainerDef, Multiplicity 1)
├── HTMSSSetTestStatusAPI (EcucParamConfContainerDef, Multiplicity 1)
└── HTMSSSetTestReference (EcucReferenceDef, Multiplicity 1)
10.1.1 HTTMS
| SWS Item | ECUC_HTTMS_00001 |
| Module Name | HTTMS |
| Module Description | 硬件测试管理启动与关闭(HTMSS)模块的配置 |
| Post-Build Variant Support | false |
| Supported Config Variants | VARIANT-PRE-COMPILE |
Included Containers:
| Container Name | Multiplicity | Scope / Dependency |
|---|---|---|
HTTMSSConfigSet | 1..* | 这是包含 HTMSS 模块配置参数和子容器的基础容器 |
HTTMSSGeneral | 1 | 该容器保存 HTMSS 模块的通用参数 |
10.1.2 HTTMSSGeneral
| SWS Item | ECUC_HTTMS_00619 |
| Container Name | HTTMSSGeneral |
| Description | 该容器保存 HTMSS 模块的通用参数 |
Configuration Parameters:
| SWS Item | ECUC_HTTMS_00002 | |
| Name | HTMSSDevErrorDetect | |
| Parent Container | HTTMSSGeneral | |
| Description | 启用 DET 的开关 | |
| Multiplicity | 1 | |
| Type | EcucBooleanParamDef | |
| Default value | false | |
| Post-Build Variant Value | false | |
| Value Configuration Class | Pre-compile time | X All Variants |
| Link time | -- | |
| Post-build time | -- | |
| Scope / Dependency | scope: local | |
| SWS Item | ECUC_HTTMS_00003 | |
| Name | HTMSSVersionInfoApi | |
| Parent Container | HTTMSSGeneral | |
| Description | 激活/禁用版本信息 API | |
| Multiplicity | 1 | |
| Type | EcucBooleanParamDef | |
| Default value | false | |
| Post-Build Variant Value | false | |
| Value Configuration Class | Pre-compile time | X All Variants |
| Link time | -- | |
| Post-build time | -- | |
| Scope / Dependency | scope: local | |
No Included Containers
10.1.3 HTTMSSConfigSet
| SWS Item | ECUC_HTTMS_00012 |
| Container Name | HTTMSSConfigSet |
| Description | 这是包含 HTMSS 模块配置参数和子容器的基础容器 |
Configuration Parameters:
No Included Containers
详细 UML 类图展示了以下嵌套容器:
HTMSSSet(1..*,subContainer)HTMSSSetGrp(1..2,HTMSS_STARTUP | HTMSS_SHUTDOWN)HTMSSSetId(1,0..255)HTMSSSetTestCfgAPI(1,subContainer)HTMSSStartTestAPI(1,subContainer)
HTMSSSetTestStatusAPI(1,subContainer)HTMSSSetTestReference(1,EcucReferenceDef)
10.2 发布信息(Published Information)
详情请参见 SWS_BSWGeneral 中的第 10.3 章"发布信息"。
📋 校对记录
L1 量化校对:
- 需求 ID 总数:44 个 SWS_HTMSS_* 需求(SWS_HTMSS_00001/00005/00006/00008/00009/00010/00011/00012/00013/00014/00015/00016/00017/00018/00019/00020/00021/00022/00023/00024/00025/00026/00027/00028/00029/00030/00031/00032/00033/00034/00035/00036/00037/00038/00039/00040/00041/00042/00043/00044)
- SRS 追溯总数:14 行(SRS_BSW_00159/00301/00337/00345/00384/00404/00407 + SRS_HTMSS_00001-00007)
- API 函数:4 个(HTMSS_Init、HTMSS_StartTest、HTMSS_GetTestStatus、HTMSS_GetVersionInfo)
- Callout 接口:2 个(HTMSS_StartupTestErrorHook、HTMSS_ShutdownTestErrorHook)
- ECUC 配置参数:5 个(ECUC_HTTMS_00001-00003、00012、00619)
- 类型定义:4 个(HTMSS_TestCfgType、HTMSS_TestStatusType、HTMSS_TestGroupType、HTMSS_TestResultType)
- 模块状态:4 个(HTMSS_UINIT/INIT/BUSY/IDLE)
- 开发错误码:4 个(HTMSS_E_NOT_INIT=0x01、HTMSS_E_NULL_POINTER=0x02、HTMSS_E_PARAM_INVALID=0x03、HTMSS_E_BUSY=0x04)
- Service ID:6 个(0x01/0x03/0x04/0x06 + 0x07/0x08 Callout)
- 强制接口:1 个(Mcu_GetResetReason);可选接口:1 个(Det_ReportError)
- 序列图:7 个(9.1.1-9.1.7);HTMSS 阶段:4 个(Phase 1-4);缩略语:10 个
保留原文项目:术语 HTMSS/MSTP/BSW/RTE/EcuM/BswM/Det/Dem/MCU/ECU/BIST/ADC/ECC/SW-C/Safety SW-C/WdgM/SRS/SWS/ECUC_*/Service ID、uint8/uint16/Std_ReturnType/Std_VersionInfoType/Std_Types、EcucBooleanParamDef、EcucFunctionNameDef、EcucIntegerParamDef、EcucModuleDef、EcucParamConfContainerDef、EcucDefinitionCollection、EcucEnumerationParamDef、EcucReferenceDef、VARIANT-PRE-COMPILE、HTMSS.h/Mcu.h/Det.h/HTMSS_MCU_HWTEST_RESET、HTMSS_UINIT/INIT/BUSY/IDLE、HTMSS_STATUS_OK/NOK/INVALID/UNINIT、HTMSS_STARTUP/SHUTDOWN/STARTUP_SHUTDOWN、HWTEST_OFF/HWTEST_RESET、NULL_PTR、Variant PB/PC、E_OK/E_NOT_OK、HW-BIST、HW-Reset、Low-Level Initialization、CRITICAL_FAULT、CRITICAL_STATE、NVM、StartOS()、ShutdownOS()、ShutdownHook()、EcuM_GoDown、EcuM_SelectShutdownTarget、EcuM_GetLastShutdownTarget、Mcu_GetResetReason、Det_ReportError、Rte_Call、Rte_Read、ConfigPtr、GrpId、RequestTestResultPtr、versioninfo、TestResult、TestSignature。
翻译日期:2026-06-13 · 校对人:opencode translator · 页数:36 页 · 评级:A 级(结构与原文 1:1 完整对应)