1. 课程导入与AURIX量产软件全景
欢迎进入《英飞凌AURIX量产软件CI与质量治理》课程。在开始讨论持续集成(CI)与质量治理之前,我们需要先建立一张清晰的“地图”:AURIX量产软件到底由哪些部分构成?这些部分分别由谁负责、在什么阶段产生、以什么形式交付?只有把软件构成和边界看清楚,后面的CI流水线、静态检查、单元测试、覆盖率门禁、版本追溯才有落脚点。
本课程面向的是量产项目,而不是实验室Demo。量产意味着软件要经过整车厂(OEM)或Tier1的验收,要满足功能安全(ISO 26262)、网络安全(ISO/SAE 21434)、ASPICE过程要求,并且要在多年生命周期内可维护、可追溯、可复现。因此,我们讨论的“软件”不只是应用层代码,而是一个由多个层次、多种产物、多套工具链共同组成的交付体系。
AURIX TC2xx/TC3xx/TC4xx的软件构成
AURIX是英飞凌面向汽车电子的32位多核微控制器家族。TC2xx(如TC275、TC277)、TC3xx(如TC375、TC397)、TC4xx(如TC4x系列)在核数量、锁步核配置、存储容量、外设和加速器上逐代增强,但软件分层逻辑是相通的。一个典型的量产软件可以拆成以下几层:
- MCAL层:微控制器抽象层,包含ADC、PWM、DIO、CAN、LIN、SPI、GPT、WDG等驱动,通常由英飞凌或第三方按AUTOSAR规范交付,配置由EB tresos等工具生成。
- 基础软件与操作系统:AUTOSAR CP的EcuM、ComM、NvM、Dem、Dcm、Os等,负责通信、诊断、存储和任务调度。
- 复杂驱动(CDD):AUTOSAR之外、直接访问寄存器的定制驱动,例如电机控制PWM、专用传感器接口,往往与安全机制强相关。
- 应用层:控制算法、状态机、标定接口,通常由Simulink/Embedded Coder或手写C生成。
- 安全与信息安全组件:SMU、SafeTlib、HSM固件、SecOC、Crypto栈,负责故障响应和加解密。
- 构建与配置产物:链接脚本、启动代码、标定文件(A2L/HEX)、诊断数据库(ODX/CDD)、刷写包。
这些层次不是简单堆叠,而是通过接口和配置相互约束。例如MCAL的配置参数会直接影响Os的任务周期和Com的报文时序;HSM固件与主核应用之间存在共享内存和IPC约定。CI要做的,就是把这些跨层依赖在每次提交后自动验证,而不是等到集成阶段才发现。
CI与质量治理的边界
很多团队把“CI”和“质量治理”混为一谈,结果要么CI只做编译、质量靠人工评审,要么把质量门禁全部塞进流水线导致构建时间失控。我们需要明确边界:
CI负责“快速反馈”:代码提交后自动触发编译、静态检查、单元测试、链接、生成HEX,并在分钟级给出结果。它的核心指标是反馈速度和可复现性。
质量治理负责“规则与证据”:定义什么算合格(编码规范、MISRA C、覆盖率阈值、安全机制验证),保留过程证据(评审记录、测试报告、追溯矩阵),并确保这些证据在审核和召回时可查。
两者通过“门禁”衔接:CI执行检查,质量治理定义检查的阈值和例外流程。例如,MISRA C违规数超过基线时CI失败,但质量治理要规定基线如何更新、谁有权批准偏离。下图展示了从代码提交到量产交付的软件构成与治理边界关系。
学习路径与工具链总览
本课程后续章节会沿着“环境搭建 → 流水线设计 → 质量门禁 → 安全合规 → 量产发布”的主线展开。为了让学习路径更具体,这里给出一条建议的推进顺序:
- 第2~5章:环境与工具链。搭建可复现的构建环境,理解Tasking/GCC编译器差异、EB tresos配置管理、Git分支模型。
- 第6~12章:CI流水线核心。从编译、链接到静态检查、单元测试,逐步把手工步骤自动化,并控制构建时长。
- 第13~20章:质量门禁与度量。覆盖率阈值、MISRA基线、代码复杂度、重复率,以及门禁失败后的处理流程。
- 第21~26章:安全与合规。ISO 26262的软件部分、ASPICE的SWE过程、HSM固件与信息安全组件的集成验证。
- 第27~30章:量产发布与复盘。发布基线冻结、产物归档、召回追溯、持续改进。
工具链方面,量产项目常见的组合包括:版本控制用Git(配合Gerrit或GitLab MR),构建用Jenkins/GitLab CI,编译器用Tasking SmartCode或HighTec GCC,静态检查用Polyspace、PC-lint或Axivion,单元测试用VectorCAST、Tessy或CTC++,配置工具用EB tresos,标定用CANape/INCA,刷写用UDS工具链。这些工具不是孤立的,CI的价值就在于把它们串成一条自动执行的链。
最后需要强调:AURIX TC2xx/TC3xx/TC4xx虽然硬件规格不同,但软件工程方法是一致的。本课程给出的流程、门禁设计和工具链组合,可以根据具体项目裁剪,但“快速反馈 + 规则证据 + 可追溯”这三条主线不应妥协。接下来,我们将从构建环境开始,一步步把这条流水线搭起来。