1. 课程导入与交付全景

Microchip 嵌入式项目交付,指的是把一个从需求出发的嵌入式系统,经过方案选型、硬件设计、固件开发、系统联调、量产准备,最终形成可复现、可维护、可追溯的完整成果包,并移交给客户或产线。它不等同于“把代码写完”或“把板子点亮”,而是要让第三方在脱离原开发者的情况下,仍能重建、验证、升级和量产这套系统。理解这一点,是后续 29 章所有工程动作的出发点。

交付范围通常覆盖五个层面。第一是硬件层:原理图、PCB、BOM、Gerber、装配图与关键器件规格书。第二是固件层:可编译的源码工程、链接脚本、启动代码、驱动、应用逻辑与版本信息。第三是配置层:Microchip 器件特有的配置字、熔丝位、时钟树、外设初始化参数,例如 PIC 系列的 CONFIG 字、AVR 的 FUSE、SAM 系列的时钟与启动配置。第四是验证层:测试用例、测试记录、标定数据与已知问题清单。第五是文档层:交付说明、构建说明、接口说明与变更记录。缺少任何一层,交付都会在客户现场或产线暴露风险。

关键角色一般包括:需求方(客户或产品经理)、系统架构师、硬件工程师、固件工程师、测试工程师、量产/工艺工程师,以及负责版本与文档的配置管理员。小团队中一人可兼多角,但职责边界必须写清。例如固件工程师交付的“可编译工程”应明确指定编译器版本,Microchip 生态中常见的是 MPLAB X IDE 配合 XC8、XC16、XC32 编译器,版本差异会直接影响代码能否通过编译与优化行为。

交付物清单可按“可重建”原则组织:源码工程 + 构建脚本 + 工具链版本 + 配置字/熔丝清单 + 烧录文件(HEX/ELF)+ 测试记录 + 接口文档 + 变更记录。判断一份交付是否合格,最直接的方法是让另一位工程师仅凭交付包,在一台干净电脑上完成一次完整构建与烧录。

全流程阶段可划分为:需求与可行性、方案与选型、硬件设计、固件开发、系统联调、验证与标定、量产准备、交付与维护。每个阶段都有明确的输入、输出与出口准则。以方案选型为例,输入是功能需求、功耗预算、成本目标与工作环境;输出是主控型号、外设清单与初步引脚分配;出口准则是关键外设资源满足且供货可保障。若选型阶段遗漏了 CAN 控制器数量或 ADC 通道数,后期改板代价极高。

下面这张图给出交付全景的结构关系:左侧是输入与约束,中间是各阶段与关键角色,右侧是最终交付物集合,底部是贯穿全程的配置与版本管理。它帮助你在项目开始时就知道“最终要交出什么”,而不是走到最后才补文档。

Microchip 嵌入式项目交付全景 输入与约束 • 功能需求 • 功耗预算 • 成本目标 • 工作环境 • 认证要求 • 供货周期 • 接口协议 • 实时性指标 交付阶段与关键角色 需求与可行性 方案与选型 硬件设计 固件开发 系统联调 验证与标定 量产准备 交付与维护 配置与版本管理 角色:架构师 · 硬件 · 固件 · 测试 · 量产 · 配置管理员 出口准则:每阶段有明确输入、输出与验收条件 最终交付物 • 原理图 / PCB / BOM • Gerber / 装配图 • 可编译源码工程 • 工具链版本说明 • 配置字 / 熔丝清单 • HEX / ELF 烧录文件 • 测试记录与用例 • 接口与构建文档 • 变更记录 贯穿全程的三条主线 可重建性 干净环境可编译、可烧录、可复现 可追溯性 版本、配置、测试记录一一对应 可维护性 接口清晰、文档完整、便于升级

把这张图落到实际项目里,可以用一个具体例子理解。假设要交付一款基于 PIC18F47Q10 的温控节点,需求是 12V 供电、RS-485 通信、两路继电器输出、测温精度 ±0.5℃。选型阶段确认该器件具备所需 UART、ADC 与定时器资源;硬件阶段输出原理图与 BOM;固件阶段在 MPLAB X 中建立工程,使用 XC8 编译器,配置字中关闭看门狗、选择内部振荡器并设定引脚功能;联调阶段用串口助手验证 Modbus RTU 帧格式;验证阶段记录不同温度点的 ADC 采样值与实际温度偏差;量产阶段输出 HEX 与烧录说明。每一步的产物都进入交付包,而不是散落在个人电脑里。

判断交付是否“完整”,可以问三个问题:换一个人能否编译?换一台电脑能否烧录?换一个批次能否量产?三个答案都是“能”,交付才算真正闭环。

需要特别强调的是,Microchip 器件的配置信息往往不是源码的一部分,而是独立存在于工程配置或烧录脚本中。例如 AVR 的 FUSE 位决定时钟源与启动延时,SAM 系列的启动配置影响外设映射。如果交付包只给源码而不给配置字清单,客户烧录后可能遇到时钟不对、外设不工作等问题。因此,配置层必须作为独立交付物显式列出,并在文档中说明每一位的含义与取值依据。

最后,交付不是项目终点,而是维护起点。变更记录、已知问题清单和接口文档决定了后续升级的成本。一个合格的交付包,应当让接手者在没有原开发者口头解释的情况下,独立完成构建、烧录、测试与一次小版本升级。这也是本课程后续所有章节反复回到的基准。