本文档定义 AUTOSAR 中 Core Test 规范的一般规则与需求。它应(shall)作为每个需求文档的基础。
已注意确保 Core test、RAM test 与 Flash test SRS 文档之间的一致性。
| 缩略语 | 描述 |
|---|---|
| CPU | Central Processing Unit(中央处理器) |
| MPU | Memory Protection Unit(内存保护单元) |
| L1 | 1st level memory(一级内存) |
| L2 | 2nd level memory(二级内存) |
| MCU | Microcontroller Unit(微控制器单元) |
| BIST | Built in Self Test(内建自测试) |
| IRQ | Interrupt Request(中断请求) |
| Core | A CPU plus closely located functional resources(CPU 及其紧密相关的功能资源) |
| Atomic sequence / atomic part | Sequence of software code execution which must not be interrupted at any time(任何时候都不得被中断的软件代码执行序列) |
| Partial test | A partial test is defined as the test of one or more 'hardware resources'(一个或多个"硬件资源"的测试,可中断) |
| PCB | Printed Circuit Board(印刷电路板) |
| External device | A physical external entity; e.g. a second microcontroller(物理外部实体,例如第二个微控制器) |
| Resource | A core internal unit which executes a unique functionality(执行特定功能的核内部单元,例如 IRQ 控制器) |
| Checksum / signature | A numerical representation of the result of a test execution(测试执行结果的数值表示) |
| Caller / calling entity | The caller/calling entity is located on a higher AUTOSAR or ISO layer(位于更高 AUTOSAR 或 ISO 层的 API 调用者) |
| Background test | Background test is called periodically by a SW-scheduler(由软件调度器周期性调用的后台测试) |
| Foreground test | Foreground test is called via users call(通过用户调用启动的前台测试) |
| Golden (Ref.) Value | Reference value used for comparison(用于比较的参考值) |
| Good Case | The execution finished without reporting an error(执行完成且未报告错误的"良好"情况) |
本模块描述符合汽车规范的 API 测试用例需求。它涵盖周期性测试以及启动测试。它应集成在整体安全概念中,不会单独提供所需的诊断覆盖率。
测试可在后台或前台模式运行:
应(shall)允许取消后台模式并启动前台模式。不应(shall not)同时执行两种模式。如果后台任务正在运行且请求前台任务,则应在调用前台任务之前取消后台任务(例如在原子序列结束时)。
完整测试由 2 步组成:
测试计算两个步骤并返回 pass/fail 状态,或仅计算校验和并提供完成通知给调用实体。这允许在测试与监督概念的实现中提供更高灵活性。调用方也可以是运行在另一 CPU 上的软件组件或外部设备。
Core 定义为中央处理器(CPU)、所有专用内存与总线接口(TCM, L1, L2 cache, system bus 等)以及所有专用支持功能(例如中断控制器、调试等)。
需求源自汽车标准。必须测试包括仲裁、MMU/MPU、缓存、紧耦合内存、通用与专用寄存器、数值执行单元(包括地址生成)以及中断和异常处理在内的总线。相应测试列于汽车标准中。
不涵盖永久监控技术或冗余硬件技术(例如 lock-step CPU)。如存在且需要软件支持,可能必须由 MCAL 复杂驱动(CDD)处理。
注:Core test 仅发起诊断事件。它应(shall)用于在运行时检测静态硬件错误。瞬态故障与间歇性故障不包括在内,且不能由专用测试软件支持检测。
应(shall)可对硅设备内每个相等的核实例执行 Core test。Core test 本身与 API 由于其作为位于较低 AUTOSAR 层的驱动程序的特性,无需了解系统架构本身。
此外,Core test 无需了解整个系统架构中共存的内核数量,且仅关注单个核实体(即如为多核,则用户应用必须为每个核调度同一测试的多个实体)。
因此"多微控制器"与"多核"之间必须有明确区分。多微控制器系统设计不在 Core test 及其驱动 API 的范围内。
AUTOSAR 上层没有资源管理实体(例如 ISO 7 层模型 - 会话管理)。有必要从应用使用中临时释放本地核资源(例如 IRQ 控制器),以避免运行时测试与应用之间的不良行为与干扰。AUTOSAR 架构中没有管理实体可在执行 Core test 之前主动处理此需求。
当前 AUTOSAR 不支持运行时测试;因此 AUTOSAR 上层没有可用的测试管理实体。由于 MCAL 驱动程序缺少直接访问在其他核上执行的测试结果的能力(例如多微控制器系统),需要上层 AUTOSAR 架构中的测试管理实体来处理测试结果处理(本地、外部)以及整体系统架构的相关反应。
由于 4.3.1 与 4.3.2,Core test 实现可能仅限于在 power-up/start-up 阶段执行(此时核资源不在线程或实体之间共享,例如 IRQ 控制器、DMA)——或——仅限于测试运行时未共享的资源(例如 CPU 本身)。
本节将 SRS_CoreTst_NNNNN 需求追溯到 RS_BRF_NNNNN 顶层需求:
| RS_BRF 需求 | 描述 | 由 SRS_CoreTst 满足 |
|---|---|---|
| RS_BRF_00129 | AUTOSAR 应支持数据损坏检测与保护 | 14115, 14116 |
| RS_BRF_01048 | AUTOSAR 模块设计应支持多任务环境中的模块协作 | 14111, 14130 |
| RS_BRF_01056 | AUTOSAR BSW 模块应提供标准化接口 | 14112, 14113, 14131 |
| RS_BRF_01064 | AUTOSAR BSW 应提供回调函数以访问上层模块 | 14119 |
| RS_BRF_01096 | AUTOSAR 应支持 ECU 的启动与关闭 | 14134 |
| RS_BRF_01136 | AUTOSAR 应支持系统启动后解析的 BSW 数据变体 | 14101, 14102 |
| RS_BRF_01232 | AUTOSAR OS 应支持应用软件的隔离与保护 | 14123 |
| RS_BRF_01296 | AUTOSAR RTE 应支持软件组件的单实例与多实例 | 14133 |
| RS_BRF_01320 | AUTOSAR RTE 应调度 SWC 与 BSW 模块 | 14114 |
| RS_BRF_01400 | AUTOSAR RTE 应提供可配置测试钩子 | 14114 |
| RS_BRF_01472 | AUTOSAR 应支持模式 | 14123, 14126, 14133, 14134 |
| RS_BRF_02024 | AUTOSAR 应提供保护系统免受未授权使用的机制 | 14117 |
| RS_BRF_02160 | AUTOSAR 诊断应允许外部测试者控制 ECU 的活动功能 | 14130 |
| RS_BRF_02168 | AUTOSAR 诊断应提供异常操作条件的集中分类与处理 | 14117 |
| RS_BRF_02224 | AUTOSAR 应支持运行时硬件测试 | 14104, 14105, 14106, 14107, 14108, 14109, 14110, 14131, 14134 |
| ID | 标题 | 描述 |
|---|---|---|
| SRS_CoreTst_14101 | Core Test 应可配置 | 待测试的 Core 功能与要运行的原子测试应(shall)可配置 |
| SRS_CoreTst_14102 | 应支持链接时配置 | 待测试的 Core 功能与要运行的原子测试应(shall)在链接时通过目标库配置 |
| ID | 标题 | 描述 |
|---|---|---|
| SRS_CoreTst_14104 | Core 寄存器测试应可用 | 应(shall)支持符合汽车标准的测试 |
| SRS_CoreTst_14105 | Core 中断与异常检测测试应可用 | 应支持符合汽车标准的测试 |
| SRS_CoreTst_14106 | Core ALU 测试应可用 | 应支持测试"编码与执行含标志寄存器",如汽车标准所建议 |
| SRS_CoreTst_14107 | Core 地址生成器测试应可用 | 应支持测试"地址生成",如汽车标准所建议 |
| SRS_CoreTst_14108 | Core 内存接口测试应可用 | 应支持总线测试,如汽车标准所建议 |
| SRS_CoreTst_14109 | 内存管理/保护单元(MMU/MPU)测试应可用 | 应支持内存管理/保护单元测试 |
| SRS_CoreTst_14110 | 缓存控制器测试应可用 | 应支持缓存控制器测试 |
| SRS_CoreTst_14111 | Core Test 应被划分为原子序列 | 应将 Core test 划分为原子序列,可在 OS 任务切换点中断 |
| SRS_CoreTst_14112 | 应为 Core Test 提供单一 API | 单一 API 可访问所有 Core test 功能 |
| SRS_CoreTst_14113 | API 应包含选择原子测试的参数 | 参数用于选择待运行的原子测试 |
| SRS_CoreTst_14114 | 应为 Core Test 提供主函数 | 主函数用于周期性 Core test 调用 |
| SRS_CoreTst_14115 | 测试指标应对调用方可用 | 调用方应可获取测试指标(如校验和、签名) |
| SRS_CoreTst_14116 | 应提供返回测试结果(pass/fail)的服务 | 服务应返回测试通过/失败状态 |
| SRS_CoreTst_14131 | 应提供返回当前测试状态的服务 | 服务应返回当前测试状态(如 IDLE/RUNNING/COMPLETED) |
| SRS_CoreTst_14117 | 故障应被处理为生产错误 | 测试故障应作为生产错误上报 DEM |
| SRS_CoreTst_14118 | Core test 模块结果应可由其他模块使用 | 测试结果应通过标准 AUTOSAR 接口可访问 |
| SRS_CoreTst_14119 | 完成通知应可用 | 应(shall)提供完成通知回调 |
| SRS_CoreTst_14126 | 应可取消正在运行的测试 | 应可取消后台测试以启动前台测试 |
| SRS_CoreTst_14130 | 破坏性测试应恢复原始内容 | 破坏性测试在完成时应恢复被测内容到原始状态 |
| SRS_CoreTst_14133 | 每个 Core Test 间隔应具有可配置的执行时间 | 应(shall)可配置测试间隔以适应不同执行时间 |
| SRS_CoreTst_14134 | 应提供前台 Core Test | 应(shall)提供前台测试以测试整个核功能 |
| SRS_CoreTst_14128 | Core Test 不应干扰应用 | Core test 不应干扰应用执行(隔离保护) |
| SRS_CoreTst_14129 | 多微控制器支持(已拒绝) | 多微控制器系统不在 Core test 范围内 |
| SRS_CoreTst_14127 | 测试应能请求其他核进行测试 | 测试应能请求另一个核执行测试 |
| ID | 标题 | 描述 |
|---|---|---|
| SRS_CoreTst_14103 | 应为 Core Test 提供初始化函数 | 应(shall)提供 CorTst_Init() 初始化函数 |
| ID | 标题 | 描述 |
|---|---|---|
| SRS_CoreTst_14120 | 应为 Core Test 提供反初始化函数 | 应(shall)提供 CorTst_DeInit() 反初始化函数 |
| ID | 标题 | 描述 |
|---|---|---|
| SRS_CoreTst_14123 | 待测试的共享资源应专门提供给测试 | 被测共享资源在测试期间应被独占使用 |
| SRS_CoreTst_14121 | 时序需求(已拒绝) | — |
| SRS_CoreTst_14122 | 应提供至 DET 的接口(已拒绝) | — |
| SRS_CoreTst_14125 | 诊断覆盖率(已拒绝) | — |
| SRS_CoreTst_14124 | Core test 实现应符合一般安全要求 | 应符合 ISO 26262 等安全标准的一般要求 |
AUTOSAR_RS_Features — AUTOSAR 功能需求校对轮次:L1 自动校对(2026-06-13)