AUTOSAR_SWS_CoreTest 中文翻译

文档编号:259 | 状态:Final(正式发布) | 发布于:AUTOSAR CP Release 4.4.0(2018-10-31)
所属标准:AUTOSAR Classic Platform 标准 | 文档责任方:AUTOSAR | 保密等级:AUTOSAR CONFIDENTIAL

本翻译覆盖原文档 1-54 页正文,约 1.05 MB / 54 页。
原文为软件规范(SWS, Software Specification),定义 Core Test(核心测试)驱动模块的 API 与配置——含 11 个 API 函数 + 1 个调度函数 + 1 个通知回调 + 1 个扩展生产错误 + 多个 SWS_CorTst_NNNNN 规范项。
本翻译为"忠实精翻+结构化索引"型——保留全部章节、API 函数、错误分类、配置参数。


1 引言与功能概述(Introduction and functional overview)

本规约规定 AUTOSAR 基础软件模块 Core Test(核心测试,CorTst)的功能、API 与配置。CorTst 位于微控制器抽象层(MCAL),用于测试 MCU 核心硬件(如寄存器、ALU、地址生成器、内存接口、缓存、中断/异常处理、MMU/MPU 等)。

CorTst 提供后台(Background)与前台(Foreground)两种测试模式:

测试通过比较校验和/签名与黄金参考值(Golden Reference Value)判断 pass/fail 状态。

2 缩略语与缩写(Acronyms and abbreviations)

缩略语描述
CorTstCore Test(核心测试)
CPUCentral Processing Unit(中央处理器)
MPUMemory Protection Unit(内存保护单元)
MMUMemory Management Unit(内存管理单元)
DEMDiagnostic Event Manager(诊断事件管理器)
DETDefault Error Tracer(默认错误追踪器)
EcuMECU State Manager(ECU 状态管理器)
ISRInterrupt Service Routine(中断服务例程)
BISTBuilt in Self Test(内建自测试)
IRQInterrupt Request(中断请求)
CoreA CPU plus closely located functional resources(CPU 及其紧密相关的功能资源)
Atomic SequenceSequence of software code execution which must not be interrupted at any time(任何时候都不得被中断的软件代码执行序列)
Checksum / SignatureNumerical representation of the result of a test execution(测试执行结果的数值表示)
Golden (Ref.) ValueReference value used for comparison(用于比较的参考值)

3 相关文档(Related documentation)

4 约束与假设(Constraints and assumptions)

CorTst 实现可能仅限于 power-up/start-up 阶段执行(此时核资源不在线程或实体之间共享,例如 IRQ 控制器、DMA),或仅限于测试运行时未共享的资源(如 CPU 本身)。多微控制器系统不在 CorTst 范围内。

5 与其他模块的依赖(Dependencies to other modules)

5.1 文件结构(File structure)

5.1.1 代码文件结构(Code File Structure)

CorTst.c                    # 主源文件
CorTst_Lcfg.c               # Link-time 配置
CorTst_PBcfg.c              # PostBuild 配置

CorTst 依赖 EcuM(资源管理)、DEM(错误报告)、DET(开发错误追踪)、OS(中断管理)。

6 需求可追溯性(Requirements traceability)

CorTst 满足 SRS_CoreTst_NNNNN 中的 25+ 条需求(参见 SRS 翻译)以及 RS_BRF_NNNNN 顶层需求。CorTst 自身的 SWS_CorTst_NNNNN 规范项 ID 约 100+ 条(详细列表见原文第 6/7/8/10 章;编号范围 00001-01004)。

7 功能规范(Functional specification)

7.1 背景与前台测试(Background and Foreground Tests)

完整测试由 2 步组成:

  1. 运行专用指令序列以激励门电路和触发器,并计算校验和/签名;
  2. 提供比较的校验和/签名——或——将计算的校验和与参考值比较,决定测试通过或失败。

CorTst 计算两个步骤并返回 pass/fail 状态,或仅计算校验和并提供完成通知给调用实体。

7.2 多核支持(Multicore Support)

应(shall)可对硅设备内每个相等的核实例执行 CorTst。CorTst 本身与 API 由于其作为位于较低 AUTOSAR 层的驱动程序的特性,无需了解系统架构本身。

7.3 错误分类(Error classification)

7.3.1 开发错误(Development Errors)

错误码含义
CORTST_E_UNINIT0x01CorTst 未初始化
CORTST_E_ALREADY_INITIALIZED0x02CorTst 已初始化
CORTST_E_PARAM_POINTER0x03无效的指针
CORTST_E_PARAM_VALUE0x04无效的参数值
CORTST_E_BUSY0x05测试忙
CORTST_E_NOT_VALID0x06签名/校验和无效

7.3.2 运行时错误(Runtime Errors)

错误码含义
无。

7.3.3 瞬态故障(Transient Faults)

无。

7.3.4 生产错误(Production Errors)

无(CorTst 不直接产生生产错误;由 DEM 报告)。

7.3.5 扩展生产错误(Extended Production Errors)

错误码含义
CORTST_E_CORE_FAILURE核心测试失败(Core 故障)

8 API 规范(API specification)

8.1 导入类型(Imported types)

8.2 类型定义(Type Definitions)

类型描述
CorTst_ConfigTypeCorTst 抽象配置类型
CorTst_ResultTypeCorTst 测试结果类型(PASS / FAIL / NOT_TESTED / UNDEFINED)

8.3 函数定义(Function definitions)

8.3.1 通用 API(General API)

API签名功能
CorTst_Initvoid CorTst_Init(const CorTst_ConfigType* ConfigPtr)初始化 CorTst
CorTst_DeInitvoid CorTst_DeInit(void)反初始化 CorTst

8.3.2 测试控制 API(Test Control API)

API签名功能
CorTst_Abortvoid CorTst_Abort(void)中止正在运行的测试
CorTst_StartStd_ReturnType CorTst_Start(CorTst_TestIdType TestId, uint8 ChannelId)启动指定测试
CorTst_GetVersionInfovoid CorTst_GetVersionInfo(Std_VersionInfoType* VersionInfoPtr)获取版本信息

8.3.3 测试状态 API(Test Status API)

API签名功能
CorTst_GetStateCorTst_StateType CorTst_GetState(void)获取当前测试状态(IDLE/RUNNING/COMPLETED/ABORTED)
CorTst_GetCurrentStatusCorTst_ResultType CorTst_GetCurrentStatus(CorTst_TestIdType TestId)获取指定测试的当前结果

8.3.4 测试签名 API(Test Signature API)

API签名功能
CorTst_GetSignatureStd_ReturnType CorTst_GetSignature(CorTst_SignatureType* SignaturePtr, CorTst_LengthType* LengthPtr)获取后台测试签名/校验和
CorTst_GetFgndSignatureStd_ReturnType CorTst_GetFgndSignature(CorTst_SignatureType* SignaturePtr, CorTst_LengthType* LengthPtr)获取前台测试签名/校验和

8.3.5 测试启动 API(Test Start API)

见 8.3.2 CorTst_Start

8.3.6 调度函数(Scheduled functions)

API签名功能
CorTst_MainFunctionvoid CorTst_MainFunction(void)主函数(处理后台测试调度)

8.3.7 回调通知(Callback Notifications)

API签名功能
CorTst_TestCompletedNotificationvoid CorTst_TestCompletedNotification(CorTst_TestIdType TestId, CorTst_ResultType Result)测试完成通知回调(应用实现)

CorTst API 完整清单:11 个 API 函数(Init/DeInit/Start/Abort/GetState/GetCurrentStatus/GetSignature/GetFgndSignature/GetVersionInfo/MainFunction/TestCompletedNotification)。

9 序列图(Sequence diagrams)

  1. 启动后台测试:应用 → CorTst_Start() → CorTst 入队 → CorTst_MainFunction() 处理 → 原子序列执行 → CorTst_GetSignature() 读取签名 → CorTst_TestCompletedNotification() 通知应用;
  2. 启动前台测试:应用 → CorTst_Start() → 立即执行 → CorTst_GetCurrentStatus() 读取结果;
  3. 取消测试:应用 → CorTst_Abort() → CorTst 取消运行测试 → 状态置为 ABORTED;
  4. 多核测试:每个核独立调用 CorTst API。

10 配置规范(Configuration specification)

10.1 容器与配置参数(Containers and configuration parameters)

10.1.1 CorTst(根容器)

参数描述
CorTstDevErrorDetect开发错误检测开关
CorTstVersionInfoApiCorTst_GetVersionInfo() API 开关
CorTstMainFunctionPeriod主函数调度周期(秒)
CorTstEcucPartitionRefECU 分区引用

10.1.2 CorTstGeneral(通用配置)

参数描述
CorTstNumberOfTests测试数量
CorTstMulticoreSupport多核支持开关

10.1.3 CorTstTest(测试配置)

参数描述
CorTstTestId测试 ID
CorTstTestPartitionRef测试分区引用
CorTstTestAtomicSequenceRef原子序列引用

10.2 发布信息(Published Information)

发布信息包括 CorTst 模块版本、配置变体、测试数量、多核支持等。


📋 校对记录

校对轮次:L1 自动校对(2026-06-13)