Tool Qualification — TI / TD / TCL → 资格方法 1a-1d 推导 + 主流工具评估
本质与导读
本质 ASIL ≥ B 项目用的每个工具都必须 qualified,因为工具 bug 会直接污染 work product 进而影响 SG。资格强度由 TI(bug 是否影响 SG)× TD(bug 多易被检出)查表得出的 TCL 决定:TCL3 工具(如编译器、Simulink auto-codegen)等同 ASIL D 元件,必须 vendor 出 Qualification Certificate。工具未 qualified 即 I3 评审拒。
1. TI × TD → TCL → 资格方法 整体流程
工具资格不是"vendor 给个证就行",而是项目级评估:你怎么用工具决定 TI(影响);项目流程多严决定 TD(检出);两者推 TCL;TCL + ASIL 再推荐 qualification 方法 (1a-1d)。下图把整链关系 + 主流工具映射一次画清:
2. TI (Tool Impact) — 工具影响
TI 评估"工具如果出 bug,是否会污染 work product 进而影响 SG":
- TI1:无影响 — 工具 bug 不会让任何 work product 有 safety-relevant 错误
- 例:文档编辑器、版本管理工具(git)
- TI2:有影响 — 工具 bug 可能让 work product 有错,而错误可能传到 SG
实战 90% 的开发工具是 TI2。
3. TD (Tool error Detection) — 检出能力
TD 评估"项目流程能多大概率检出工具引入的错误":
- TD1:高检出 — 流程内置 review / test / cross-check
- 例:单元测试 100% MC/DC 覆盖率 + 集成测试
- 例:HIL fault injection test 全覆盖
- TD2:中检出 — 部分 review / 部分自动 test
- TD3:低检出 — 难发现 / 工具几乎单点
- 例:MATLAB Simulink → C 后无人重审 C 代码
EV 主驱:有 Confirmation Reviews (I0-I3) + FI test + integration test → 通常 TD1-TD2。
4. TCL 查表
TI × TD 二维查表(ISO 26262-8 Table 3):
| TI | TD1 | TD2 | TD3 |
|---|---|---|---|
| TI1 | TCL1 | TCL1 | TCL1 |
| TI2 | TCL1 | TCL2 | TCL3 |
TI1:任何 TD → TCL1(工具无影响,验证简单) TI2 + TD1:TCL1(影响但流程检出,余量大) TI2 + TD2:TCL2(影响 + 中检出) TI2 + TD3:TCL3(高风险 — 工具相当于 ASIL D 元件)
5. Qualification 方法 — 4 类 (1a-1d)
ISO 26262-8 §11.4.6 定义 4 个 software-tool qualification 方法(1a / 1b / 1c / 1d),Table 4 (TCL2) / Table 5 (TCL3) 按 ASIL 推荐其中哪些:
- 1a:increased confidence from use(基于使用历史增强信心,§11.4.7)
- 1b:evaluation of the tool development process(评估工具开发流程,§11.4.8)
- 1c:validation of the software tool(对工具本身做验证,§11.4.9)
- 1d:development in accordance with a safety standard(按 safety 标准开发工具,§11.4.10)
没有"方法 2 / 3",也没有"T…
没有"方法 2 / 3",也没有"TQL" ISO 26262 的 4 个方法全部挂在 "1" 下面,后缀 a/b/c/d —— 没有 "方法 2" 或 "方法 3"。vendor 的 TÜV / SGS certificate 是 1c + 1d 的交付物(证据),不是一个独立编号的方法。同样,ISO 26262 也没有 "Tool Qualification Level / TQL" 这个词(TQL-1…TQL-5 是航空 DO-330 / DO-178C 概念);在 ISO 26262 里是 TCL + ASIL 决定推荐哪些 qualification 方法。
5.1 TCL1 — 不需要资格证
工具直接用,无需额外评估。仅记录工具版本 + 在用列表。
5.2 TCL2 — 方法选用
TCL2 风险中等,vendor cert 不强制 — Table 4 推荐 1a / 1b,选其中之一即可,工程上 90% 项目走 1a 或 1b:
- 方法 1a:increased confidence from use — 基于该工具长期、广泛的使用历史增强信心(版本固定 + 已知缺陷清单 + 监控)
- 方法 1b:evaluation of the tool development process — 评估 vendor 的工具开发流程是否符合 ISO 26262 / 已认可的标准
5.3 TCL3 — 必须严格资格 (Table 5 推荐 1c + 1d)
TCL3 工具被视为"半个 ASIL D 元件",必须严格 qualify。vendor cert 是事实标准,工程上通常1c + 1d 组合用:
- 方法 1c:validation of the software tool(对工具本身做验证 — 用 test suite 覆盖 use cases,确认无未检出的 malfunction)
- 方法 1d:development in accordance with a safety standard(工具按 ISO 26262 / IEC 61508 / DO-178C / EN 50128 等开发)
- 方法 1b:开发过程评估 — 第三方 audit vendor 的工具开发(TCL3 下可作补充)
vendor 给的 Qualification Certificate(TÜV / SGS 颁发)本质就是 1c + 1d 的交付证据,不是一个独立编号的方法。
实战:TCL3 工具必 vendor 给 cert,项目自验证不现实。
6. 主流 EV 工具 + TCL / 资格方法 速查 (2026)
主流 EV PEU 项目用的工具体系不算多,但每个都要 qualified。下表汇总常见工具 + TI / TD 评估 + 典型 TCL + vendor cert 可获取性:
| 工具 | TI | TD | TCL | vendor cert |
|---|---|---|---|---|
| Tasking C/C++ Compiler | TI2 | TD2 | TCL2-3 | TÜV ISO 26262 cert ✓ |
| Green Hills MULTI | TI2 | TD2 | TCL2-3 | ISO 26262 cert ✓ |
| IAR EWARM | TI2 | TD2 | TCL2-3 | IEC 61508 SIL3 cert ✓ |
| Keil MDK-ARM | TI2 | TD2 | TCL2-3 | TÜV cert ✓(部分版本) |
| MATLAB Simulink (auto-codegen) | TI2 | TD3 | TCL3 | MathWorks IEC certificate ✓ |
| dSPACE TargetLink | TI2 | TD2 | TCL2-3 | TÜV ISO 26262 cert ✓ |
| Lauterbach TRACE32 | TI1 | — | TCL1 | 不需要 |
| iSYSTEM winIDEA | TI1 | — | TCL1 | 不需要 |
| Vector CANoe / vTESTstudio | TI2 | TD1 | TCL2 | TÜV cert ✓ |
| Polyspace Bug Finder / Code Prover | TI2 | TD1-2 | TCL2 | MathWorks 认证 ✓ |
| LDRA Testbed | TI2 | TD1 | TCL2 | IEC 61508 cert ✓ |
| GitHub / Git | TI1 | — | TCL1 | 不需要 |
| Jenkins / CI | TI2 | TD1 | TCL2 (流程增强) | 一般无 cert,自评估 |
7. vendor cert 的常见陷阱
vendor 给的 cert 不等于通用万能 — 有几个坑要注意:
7.1 编译器版本绑定
cert 通常绑定具体版本(例:Tasking 6.3p1)。升级到 6.3p2 → cert 失效 → 必须重新做 regression。
对策:项目立项后冻结编译器版本 直到 SOP,不主动升级。
7.2 平台 / 架构限定
某些 cert 仅覆盖特定 MCU 平台(例:Tasking cert 对 Aurix TC3xx 有效,对其它平台需重新评估)。
对策:核对 cert 文档的 "platform" 章节,确保跟你 MCU 匹配。
7.3 cert 行业不同
vendor 给的 cert 不一定对应汽车 ISO 26262 — 工业 / 航空 / 铁路标准都有自己的 cert 体系,互相可作 equivalent argument 但需要文档化:
- ISO 26262(汽车) — 默认
- IEC 61508(工业) — 可作 ISO 26262 等效证据,但需 reasoning
- DO-178C(航空) — 更严,可作上行证据
- EN 50128(铁路) — 同上
cert 不是 ISO 26262 → 必须 vendor 给**"equivalent argument"**说明可移植性。
7.4 仅覆盖部分功能
例:Polyspace cert 仅覆盖 "Bug Finder" 不覆盖 "Code Prover" — 项目用了 Code Prover 部分仍需 qualified。
对策:核对 cert "scope" 部分,逐项匹配项目使用功能。
8. 工具 qualification 项目时间线
EV ASIL D 项目工具资格的典型 timeline:
| 时段 | 活动 |
|---|---|
| Month 0 | 立项 — 列出所有工具 + 版本 |
| Month 1 | TI/TD 评估 → TCL 确定 |
| Month 1–2 | 联系 vendor 索取 cert (TCL2/3) |
| Month 2–3 | cert 入项目档案 + 平台 / scope 比对 |
| Month 3 | DIA 签字 (Tool qualification 列章节) |
| Month 4+ | 开发,工具版本冻结 |
| Month 12+ | 集成测试时 verify cert validity |
| Month 16+ | I3 评审 verify tool qual 完整性 |
工具未 qualified → I3 评审 reject 这种情况典型来源于"项目晚期发现某工具没 cert" → 推迟 SOP 2-6 个月,所以Month 1 就要锁清单。
9. 自研工具怎么办
如果项目用自研工具(脚本 / 自己写的 lint / build 系统),无 vendor cert,只能自己 qualify:
- TI1 工具(脚本):自评估 + 文档化即可
- TI2 + TCL2 工具:加 review / test 配合
- TI2 + TCL3 工具(关键 codegen / 转换器):自己 develop ISO 26262 compliant process + 第三方 audit(典型 6-12 个月 + 100-500 万成本)
实战:自研 TCL3 工具几乎不可能在合理成本内 qualify,所以 ASIL D 项目通常用 vendor 商用工具而非自研。
10. 5 个工程陷阱
工具 qualification 失败往往不在评估本身,而在 项目晚期才发现 / vendor cert 不全 / 版本不锁。下表 5 个典型坑:
| 陷阱 | 描述 | 预防 |
|---|---|---|
| 立项不列工具 | M3 才发现某工具没 cert | M1 锁定全部工具 + 版本 |
| 升级编译器 | cert 失效需重做 regression | 版本冻结 |
| cert 覆盖范围没核 | 用了不在 cert scope 的功能 | 逐项核 cert TOC |
| 自研脚本不 qualify | I3 评审 reject | 自研 TCL2 加 review 自封 |
| Jenkins / CI 流水线无 cert | TI2 + TD1 仍要文档化 | 自评估 + 流程文档 |
核心要点
- ISO 26262 Part 8 §11 要求 每个开发工具都 qualified,工具 bug 影响 SG。
- TI (Impact) × TD (Detection) → TCL (Confidence Level 1/2/3);TCL + ASIL → 推荐的 qualification 方法 1a-1d(ISO 26262 无 "TQL" 一词,TQL 是 DO-330 航空概念)。
- 实战 90% 工具是 TI2 + 流程内置 review 让 TD ≥ 1 → 多数工具 TCL2;少数 TCL3。
- TCL1 直接用;TCL2 用法增强 / 过程评估;TCL3 必 vendor cert + 第三方 audit。
- 主流编译器 (Tasking / GHS / IAR / Keil) 都有 ISO 26262 cert,主要是 TCL3 工具。
- vendor cert 版本绑定 + 平台限定 + scope 限制 — 核对 4 个细节防漏。
- 项目 Month 1 锁全部工具清单 + 版本,后期不主动升级。
- 自研 TCL3 工具几乎不能在合理成本下 qualify → 尽量用商用工具。
缩写表
只列本页用到的工业标准缩写;通用英语…
只列本页用到的工业标准缩写;通用英语 / 单位 / 月份 / 我们的
层/Lxtag 不列。覆盖不到的术语见正文 inline 注释。
| 缩写 | 全称 | 中文 / 备注 |
|---|---|---|
| TI | Tool Impact | 工具影响(TI1/TI2,ISO 26262-8 §11.4.5:工具 bug 是否影响 SG) |
| ISO | International Organization for Standardization | 国际标准化组织 |
| ASIL | Automotive Safety Integrity Level | ISO 26262 安全完整性等级 QM→A→B→C→D |
| SG | Safety Goal | 安全目标(ISO 26262-3) |
| IEC | International Electrotechnical Commission | 国际电工委员会 |
| EV | Electric Vehicle | 电动车 |
| DC | Diagnostic Coverage | 诊断覆盖率 (功能安全语境) |
| MCU | Microcontroller Unit | 微控制器(本页多指车规多核 MCU) |
| FMEDA | Failure Modes, Effects and Diagnostic Analysis | 含诊断覆盖的 FMEA |
Cross-references
- ← 索引
- 功能安全工程师指南 hub — V-cycle + 8 大主题
- Confirmation Measures 深度 — Tool Qual 是 I0-I3 评审项
- ISO 26262 V-cycle 全栈
- FMEDA 深度 — 工具输入影响 FMEDA 数据
- Aurix TC3xx ASIL D — Tasking 编译器配套
- DIA / SEooC