AI只能写写代码、画画图
AI工作流实战全景图
从搭建编译工具链到分析PCB
编译器 · 代码生成 · 知识库 · EDA桥接 · 原理图评审 · PCB分析
AI的探索之旅
📦 10 Parts
👉 滑动
PART 01
引言:AI能帮硬件工程师干什么?
为什么最折腾
PART 02
一、AI辅助搭建:嵌入式交叉编译工具链
PART 03
二、AI辅助代码生成:从骨架代码到驱动移植
PART 04
三、AI搭建个人知识库:把暗知识变成可检索的资产
PART 05
四、AI辅助搭建EDA开发环境:把AI的脑子接通PCB编辑器
PART 06
五、AI分析原理图:从"同事扫一眼"到"逐项核查"
PART 07
六、AI分析PCB:从布局合理性到竞品反推
PART 08
七、全景工作流:六个环节如何串联
PART 09
八、踩坑实录:十个让我多干了一天活的大坑
PART ///
九、这一年的核心体悟
体悟

AI工作流全景
📋 **本文概览:** 用了几个月的时间,摸索把AI从"聊天助手"升级为嵌入式+硬件开发的"全链路副驾驶"。这篇文章把真实工作流拆开讲清楚:AI辅助搭建编译环境、AI辅助代码生成、AI搭建个人知识库、AI接管EDA开发环境、AI分析原理图和PCB——每个环节都有踩过的坑。约七千字,附五张图。
01
PART
引言:AI能帮硬件工程师干什么?
PART 01
一年前如果有人跟我说"AI能帮你画PCB",我会觉得是科幻。
一年后,我的日常是这样的:在手机飞书聊天软件里发一句"帮我把交叉编译工具链打开",智能体自动去解压SDK、设置环境变量、验证编译通过。发一句"分析一下这块板子的电源树有没有问题",它就去读取原理图数据、跑AI语义检查、返回一份带标注的评审报告。
这不是某一天的灵光一现,而是过去几个月,我一个环节一个环节把AI"塞"进真实工作流后积累的经验。这篇文章,我把这几个月走过的路拆成六个环节,每个环节都讲清楚两件事:AI能干什么,以及AI不能干什么。
02
PART
一、AI辅助搭建:嵌入式交叉编译工具链
PART 02
### 这件事有多折腾
做过嵌入式开发的人都懂,搭建交叉编译工具链是第一个下马威。
拿到一块视频处理器开发板,SDK文件夹里躺着几百个压缩包。编译工具链需要从特定路径解压、设置一堆环境变量、配置PATH指向那个藏在六层目录下的交叉编译器。更恶心的是,每个芯片厂商的工具链放法都不一样——有的把编译器丢在/opt/里,有的藏在SDK深处。
最可怕的是"差一个字母白干一天"——aarch64-linux-gnu-gcc 还是 aarch64-v01c01-linux-gnu-gcc?差几个字母,编译器版本天差地别,编译出来的东西烧到板子上直接起不来。
### AI怎么帮忙
我把以下内容喂给了AI:
喂给AI的"知识包":
- SDK的目录结构(tree输出)
- 官方文档里的编译依赖列表
- 芯片厂商的技术手册(关键章节)
然后AI做了这几件事:
第一件事:把文档翻译成可执行的步骤。 厂商文档里写着"解压工具链到指定目录后配置环境变量"——这句话在AI手里变成了逐条可复制的命令:
tar -xzf aarch64-v01c01-linux-gnu-gcc.tar.gz -C /opt/toolchain/
export PATH=/opt/toolchain/aarch64-v01c01-linux-gnu-gcc/bin:$PATH
export ARCH=arm64
export CROSS_COMPILE=aarch64-v01c01-linux-gnu-
第二件事:把分散在三个文档里的依赖包合并成一个列表。 SDK的PDF里零散提到了zlib、ncurses、mtd-utils,AI把它们合并成一个apt install命令,还区分了哪几个是编译依赖、哪几个是运行时依赖。
第三件事:验证。AI不知道工具链应该正确输出什么版本号,但它可以根据我给的文档来判断——"文档说工具链版本是v01c01,你跑一下aarch64-v01c01-linux-gnu-gcc --version看看输出里有没有这个字符串"。
### 坑在哪
第一个坑:AI不会读PDF里的中文。 如果你的技术手册是扫描版PDF,AI基本抓瞎。解决办法是先用OCR工具把PDF转成可搜索文本,再喂给AI。
第二个坑:环境变量顺序。AI给的export命令可能没问题,但如果用户机器上已经装过另一个交叉编译器,PATH的顺序就至关重要。这个AI不知道,得人工确认。
参考我之前写的文章:"我的嵌入式 AI 开发工具链 2026——用 AI Agent 辅助搭建海思 Hi3519DV500 完整编译环境"
03
PART
二、AI辅助代码生成:从骨架代码到驱动移植
PART 03
### 不是替你写,是替你查
很多工程师对"AI写代码"的理解是:丢给它一个需求文档,它返回一个可运行的工程。这个场景目前只对Web前端和简单脚本成立,到了嵌入式领域基本不成立。
为什么?因为嵌入式代码的"上下文"是所有代码里最复杂的——它依赖芯片的寄存器映射、外设的时钟树配置、pinmux的复用关系、甚至板子上的实际连线。这些信息都在数据手册里,而数据手册动辄两三千页。
AI真正擅长的是另一个方向:你已经画好了原理图、选好了外设型号,但不确定寄存器该怎么配置。 这时候你把手册相关章节和参考代码喂给AI,它能帮你写出正确的初始化序列。
举一个真实的例子:开发板上有个传感器的MIPI接口需要配置,厂商SDK里有一份参考驱动,但那份驱动是针对另一个分辨率的。我把参考驱动、目标传感器的数据手册给了AI,让它重写MIPI初始化序列——时钟频率、lane数、数据格式、VSYNC/HSYNC极性的那十几行寄存器配置,AI全部给出了正确的值。
### AI能做什么,不能做什么
AI能做的:
- 寄存器级配置代码生成(前提是喂了手册)
- 驱动框架代码(如一个I2C设备的probe函数骨架)
- 编译脚本、Makefile改写
- 从参考代码移植到新平台时做适配
AI不能做的:
- 在没有原理图的情况下推算出pinmux配置
- 时钟树选频率(这需要系统级理解功耗/EMI/性能权衡)
- 调试硬件层面的bug(没示波器看波形就别想了)
参考我之前写的文章:AI Agent如何拆解「Hi3519DV500 SDK能不能用musl编译」的完整复盘
04
PART
三、AI搭建个人知识库:把暗知识变成可检索的资产
PART 04
### 什么是暗知识
我说的"暗知识",是指那些散落在PDF手册、调试记录、论坛帖子里、完全不成体系的工程知识。比如:
- "这颗芯片的VCAP引脚为什么必须用2.2µF而不是1µF?"
- "CAN总线的终端电阻焊在哪个位置?"
- "上次板子起不来是因为忘记重设传感器时钟,寄存器地址是0x11018440"
这些知识平时用不上,但关键时刻差一个就多干一天活。
### 我的知识库方案
我用AI搭了一套个人知识库体系,核心思路很简单:把一切会反复查阅的东西结构化。
关键设计:不是RAG,是Wiki。
我不做RAG(检索增强生成),原因很简单——RAG擅长回答"文档里写了什么",但不擅长回答"文档里没写但你该知道的事"。
Wiki的优势:它是一个网状的知识图谱,每篇wiki页面之间互相关联。比如"VCAP引脚"这个页面链接到"去耦电容选型"页面,又链接到"电源完整性设计指南"页面。AI阅读这个wiki时,会顺着链接把所有相关知识串起来回答你的问题,这比RAG的向量检索靠谱得多。
### 喂AI的高效姿势
第一优先级:喂指令,别喂路径。 不要说"帮我把/home/project/docs/manual.pdf读一下",而是说"芯片的工作电压是1.1V核心+3.3V IO,每个VCAP引脚接2.2µF电容"。把知识提炼成事实,AI才记得住。
第二优先级:喂场景,别喂步骤。 每次完成一个复杂任务后,让AI把这个任务的处理流程写成技能文件。下次遇到类似的活,AI自动加载这个技能,全自动执行——不再需要你重复指导。
可参考文章:WIKI
05
PART
四、AI辅助搭建EDA开发环境:把AI的脑子接通PCB编辑器
PART 05
### 这步是分水岭
前面三个环节——编译工具链、代码生成、知识库——AI都是在帮你查东西、写东西。但到了EDA环境这一步,AI开始直接操控你的设计工具。
我用的是立创EDA专业版,主线是这三件套:
第一件:AI技能文件。 它告诉AI"你能调用哪些API函数"——包括搜索元件库、放置元件、读取网络表、跑DRC检查、导出BOM。没有这个技能文件,AI就是睁眼瞎。
第二件:桥接服务器。 一段运行在本机的Node.js程序,端口监听49620。它的作用很简单:接收AI发来的指令,翻译成立创EDA的API调用,在编辑器里执行。
第三件:EDA编辑器内的官方网关扩展。 它在工程师的编辑器里提供WebSocket服务,让外部程序(在这里就是AI)能通过标准协议操控编辑器里的所有功能——从放置元件到运行DRC。
三层架起来之后的效果是这样的:
传统方式: 你想知道一块STM32高端系列芯片的PCB上,所有VDD引脚旁边是不是都有100nF去耦电容。你需要手动打开PCB文件,一个一个数。几十个VDD引脚,数完了还不确定自己的判断对不对。
AI介入之后: 你说一句"检查PCB的去耦电容布局"。AI通过桥接服务器读取了PCB上所有元件的坐标和网络连接,对比知识库里"VDD→100nF→间距<500mil"的规则,返回一份带坐标的列表:"VDD_3(坐标6500,-3200)附近无去耦电容,最近一颗在1200mil外"。
### 坑——"静默失败"
最让人崩溃的情况:API调用返回了"成功",但编辑器里什么都没变。
排查了两天才找到原因——这些API的很多函数是异步的,必须await一个.done()方法才能真正落盘。少写一个await,指令就静默消失了。
知道这个机制再去读官方的TypeScript类型定义,就能避开这个天坑。
可阅读之前的文章:AI辅助原理图评审:电源去耦、BOOT引脚、VCAP——19项逐一核查,遗漏?不存在的
VS Code 插件Claude Code 直接操刀画原理图和 PCB:接外部 API 全流程
06
PART
五、AI分析原理图:从"同事扫一眼"到"逐项核查"
PART 06
### 手工评审的三大缺陷
做过硬件项目都有这个经历:原理图画完,同事帮忙扫一眼,提几个建议——"这个去耦电容最好放近一点""这个引脚是不是少接了"。然后呢?然后就往下画PCB了。等板子回来才发现一堆问题。
手工评审的核心缺陷:人是会累的。 检查到第30个引脚的时候,注意力已经散了。而且每个人有自己熟悉的领域——做电源出身的人可能一针见血地发现LDO的电容耐压不够,但看不太出来DDR的等长有没有问题。
### AI评审怎么做
我把一张ST高端系列芯片的原理图交给AI做评审,用的是19条规则的检查清单:
电源部分(5项): 每个VDD是否都有去耦电容、VCAP电容值是否正确、VBAT是否处理、VDDA独立滤波、LDO输入输出电容。
时钟部分(3项): 晶振负载电容是否匹配、32KHz是否接对、时钟输出是否加串联电阻。
复位与启动(4项): NRST上拉+电容、BOOT启动配置、SWD调试接口、预留测试点。
外设(7项): USB差分对阻抗、CAN终端电阻、ETH PHY地址配置、SD卡上拉、QSPI Flash引脚、UART电平、GPIO电流驱动能力。
把原理图数据和这19条规则一起发给AI,结果:
发现5个问题,其中2个是"同事扫一眼"绝对看不出来的:
- VCAP引脚接了1µF而不是2.2µF——这不是硬错误,板子可能还能跑,但在某些低功耗场景下稳压会抖。
- BOOT0引脚悬空——经典的"大部分时候没事,但偶尔上电进不了系统"的坑。
AI不会漏、不会累、不会跳过"看起来不重要"的检查项。这就是AI评审的核心价值。
AI辅助原理图评审:电源去耦、BOOT引脚、VCAP——19项逐一核查,遗漏?不存在的
AI能不能帮你做PCB布局?从一团乱麻到合理分区,100+器件不再手忙脚乱
07
PART
六、AI分析PCB:从布局合理性到竞品反推
PART 07
### 布局分析
PCB布局是最需要经验、最AI难以替代的环节。为什么?
同一张原理图,三个工程师能布出三种完全不同的布局,但可能都对。布局是多目标优化——你要同时平衡散热、信号完整性、可制造性、可维修性,这些目标经常互相冲突。
但AI在某些维度上能提供有价值的分析:
第一步:读取当前布局数据。AI通过桥接服务器获取PCB上所有元件的坐标、封装类型、网络连接。
第二步:基于规则做分析。AI对照知识库里的规则逐项检查——晶振是否靠近MCU、去耦电容是否在500mil范围内、电源区是否远离数字信号、差分对走线长度差是否在容差内。
实际案例: 我让AI分析了一块六层板的布局,AI指出了一块区域的问题:一个CAN收发器被放在了板子最左边,而它对应的连接器在右上角,差分管要横跨整个板——虽然CAN是低速信号,布线可以绕过去,但影响美观,而且和电源区交叠。
### 竞品反推
这是AI最有意思的应用之一。拿到一块竞品PCB的Gerber文件,想理解它的设计思路——但这需要从铜皮、丝印、钻孔里反推出电路结构,非常耗时。
AI能帮的:从Gerber导出BOM、识别芯片型号(通过丝印文字匹配库)、画出电源拓扑树。
但AI做不到的:完全自动反推原理图。这不是技术问题,是物理问题——多层板内部的走线、过孔、电源平面分割,Gerber文件里根本看不到。反推仍然需要人工参与——用万用表量通路、补全无法从Gerber推断的连接。
08
PART
七、全景工作流:六个环节如何串联
PART 08
把前面的六个环节拼在一起,就是我现在每天在用的一整套AI工作流:

工作流六步全景
这个链条的精髓不是"AI替代人",而是"AI覆盖了人的盲区":
09
PART
八、踩坑实录:十个让我多干了一天活的大坑
PART 09
把AI用进真实工程里,踩坑是少不了的。以下是我印象最深的几个:
坑一:静默失败。 API返回"成功"但编辑器里没变化——函数异步执行但主程序没等它结束。解法:每写一个API调用都把官方类型定义翻出来看一遍。
坑二:坐标系统混乱。原理图坐标系和PCB坐标系完全不一样(一个用0.01inch、一个用mil),坐标转换函数还经常是文档里没写的内部方法。
坑三:串行陷阱。 批量创建元件时不能用并行——因为每个创建操作内部依赖上一个的ID递增。这是我用并行处理失败后才发现的。
坑四:PDF中文烂。 扫描版PDF里的中文表格OCR出来全是乱的,AI读不懂。现在拿到新文档第一件事就是确认是文字版还是扫描版。
坑五:AI会"脑补"。 给AI一个不完整的知识库,它就会基于自己大模型的预训练数据"合理推测"。多数时候推测是对的,但一旦错了就是完全自洽的谎言——问题写在板上你才能发现。
坑六:TOKEN开销。 每次让AI操作PCB编辑器,都需要把当前编辑器的完整状态(几百个元件的坐标、网络信息)发给AI分析。这个上下文量极大,用Flash模型有时候会丢失细节,必须用Pro。
坑七:知识库要维护。 芯片手册更新了、驱动升级了、新的设计经验产生了——如果知识库不跟着更新,AI就会基于过时的信息给出错误建议。维护知识库的工作量不容忽视。
坑八:AI分不清"看起来对"和"实际对"。 它根据知识库说每个VDD旁边应该有一个100nF去耦电容,但如果你的板子上确实是八个VDD共享一个100nF——AI指出的这个"问题"其实是"AI自己学的规则和你实际设计的差异"。
坑九:工具链版本问题。AI不会告诉你这个版本的编译器有个已知bug(在某些优化等级下生成错误的跳转地址),因为它不知道。这种知识只能靠社区和调试经验积累。
坑十:有时AI帮你查出来的问题,你觉得"不可能"。 我的原则:即使它只有30%的可能性是对的,也值得手动验证一下。浪费5分钟验证一个误报,总好过错过一个真实问题多打一次板。
///
LAST
九、核心体悟
PART ///
体悟一:AI最值钱的地方不是"替你写代码",而是"替你看漏的东西"。
原理图评审、DRC检查、去耦电容检查——这些活人都会做,但人会累、会跳、会粗心。AI不会。它可能不够聪明,但它永不疲劳。
体悟二:AI去除幻觉的能力=你喂给它的知识质量。
把AI想象成一个超级实习生——它有过目不忘的记忆力和不知疲倦的执行力,但它真的什么都不知道,全靠你教。你喂它多少手册、多少调试记录、多少设计规则,它就有多少判断力。
体悟三:人机分工的黄金法则——AI负责"推",人负责"断"。
AI帮你把所有可能性列出来、把所有隐患标出来,但最终选哪个方案、相信哪个判断——由你来做决定。AI是副驾驶,方向盘永远在人手里。
体悟四:工具链打通比模型升级更有价值。
我花在"让AI能操控EDA编辑器"上的时间,远多于"换个更好的模型"的时间。因为不管你用什么级别的模型,只要AI的手够不到你的工具,它就是个嘴炮。手伸进去了,能力立刻指数级增长。
这一年的探索让我确信一件事:AI不是来替代硬件工程师的,它是来让硬件工程师摆脱"体力活"、腾出脑子做真正需要判断力的事情的。原理图评审能自动化、PCB检查能自动化、编译环境搭建能自动化——省下来的精力,拿来琢磨更难的架构问题和系统级设计。
*关注「AI的探索之旅」,每篇都来自真实的工程实践。*
*实践出真知。*
👇 长按识别关注,不错过每一篇干货
AI的探索之旅
从工程逻辑看AI落地
📌 版权所有 © AI的探索之旅 | 转载请联系作者
夜雨聆风