嵌入式 AI 编程实战:从芯片到 AI 工具链---总结笔记

目录

1.安装Skill

2.使用 market-mrd-analyst 生成 MRD

3.使用 mrd-to-prd 把 MRD 转成 PRD

4.使用NextBoard生成硬件产品的PCB方案

5.原理图AI识别

6.查找芯片相关资料技能

7.外设开发资料提取

8.工程脚手架搭建

9.创建工程最小仓库

10.板级驱动开发

11.遇到问题如何让AI修复

12.移植第三方日志库

13.应用层开发

14.提示词Prompt小技巧

15.项目分析

16.编码规范

17.量产调试工具开发

18.创建自己的skills


1.安装Skill

a.用IDE打开技能文件夹
b.帮我安装chip-resource-finder技能到当前工程/系统

2.使用market-mrd-analyst生成 MRD

使用 /market-mrd-analyst 帮我分析这个产品想法:
我想做一款方便vibe coding的键盘。

3.使用mrd-to-prd把 MRD 转成 PRD

使用 /mrd-to-prd 将xxx.md 转换成PRD。

4.使用NextBoard生成硬件产品的PCB方案

帮我安装NextBoard这个skills技能到项目中

比如下面提示词

  • 设计一个无人机方案

  • 设计一个FOC控制器

  • 设计一个记单词的墨水屏卡片

5.原理图AI识别

使用 /schematic-pinmap-analyzer 分析这个原理图文件,输出嵌入式软件开发用的功能引脚分析文件。

使用 /schematic-pinmap-analyzer 分析这个网表文件,输出嵌入式软件开发用的功能引脚分析文件。

6.查找芯片相关资料技能

请帮我安装名为 chip-resource-finder 的技能。

使用 chip-resource-finder,帮我查 <芯片型号> 的官方资料,并生成资源报告。

使用chip-resource-finder,获取CH552E的资料

7.外设开发资料提取

帮我从原理图分析报告中,获取哪些外设和芯片,后续在驱动开发时,需要补充数据手册的,列举到一个表格中。 表格应该包含以下列: 优先级、外设/模块、芯片/器件型号、为什么需要补数据手册、立创或淘宝链接

8.工程脚手架搭建

比如:

1、本地新建工程ai_ch552e

2、然后新建文件夹docs

3、把下载的开发必须资料放入文件夹中

然后:

/vendor-minimal-firmware 基于docs下的官方例程,生成一个 CH552E 的最小工程

9.创建工程最小仓库

embedded-minimal-project-builder 使用这个技能,处理当前工程,资料路径在D:\work\temp,帮我全自动跑完5个步骤,不要等我确认

10.板级驱动开发

embedded-llm-guardrails用于在嵌入式、单片机、RTOS、驱动和板级工程中使用 LLM 辅助开发时建立安全边界的 skill。

/embedded-llm-guardrails 初始化

初始化成功时,会在工程目录生成以下几个文件

.ai/

LLM_RULES.md 规则文件

LLM_BOUNDARY.md 边界配置

后续就可以直接进行开发了,驱动部分功能的开发,建议从按驱动模块分割,例如我们的二合一板卡板载外设清单如下:

CH340N USB 转串口

AT24C02 EEPROM(I2C)

GXHT3L 温湿度传感器(I2C)

ESP8266EX WiFi 模块

比如:

LED驱动

/embedded-llm-guardrails 点亮LED

11.遇到问题如何让AI修复

出现了 XXX 错误,帮我进行分析。分析要求:梳理错误现象、调用链和相关代码路径。 梳理下当前实现是否有待确定但被猜测的功能参数。输出要求:输出修复计划,在我确认方案之前,不要修改代码。

12.移植第三方日志库

帮我筛选适用于嵌入式C语言、支持商用无版权风险的日志库,

要求:

1. 授权协议允许商业产品闭源商用(排除GPL强传染协议),优先MIT、Apache2.0、BSD、zlib;

2. 适配单片机资源:RAM/ROM占用低、支持裁剪、无操作系统依赖(裸机/FreeRTOS/UCOS均可);

移植库

/embedded-llm-guardrails 帮我移植rxi/log.c到本工程

驱动温湿度传感器

/embedded-llm-guardrails 读取温湿度传感器数据到串口显示

/embedded-llm-guardrails 读取温湿度传感器数据到串口显示,传感器芯片手册参考docs

13.应用层开发

/embedded-prd-to-logic帮我把这个PRD转成实现逻辑文档:产线板卡功能检测控制台.md

最终会生成:xxxx-logic.md的文档,文档中会包含工程的架构和模块划分,以及各功能实现的逻辑。

参考xxx.md进行功能开发

后续,我们就可以开启plan计划模式,根据这份文档实现具体代码。

14.提示词Prompt小技巧

初始化

建议在开启一个完全新的工程时,先用这句话进行交互,这样会让大模型快速了解项目整体的内容、配置。

/init

了解某个功能的具体实现

如果在一个大工程中使用AI进行功能分析,你会发现AI经常会偷懒,有一些链路会出现幻觉,这时候你可以通过下方的提示词,让AI深入分析功能。

帮我详细分析下xxxx功能的实现,不要依赖命名猜测功能,必须通过实际代码引用关系确认,需要梳理出所有的调用关系,包含具体文件具体函数具体行号。

高效可靠修复问题的方法

如果你正在开发一个项目,项目已经成型,然后某个功能模块出现BUG,这时候你让AI修复时,就需要特别注意,最好引入plan模式思路,先让AI分析问题,给出修复计划,评估计划可行时,再进行修复,而不是让他直接修复,否则会越改越乱。

出现了xxx错误,帮我重新梳理分析下出现错误的原因,再梳理下当前实现是否有待确定但被猜测的功能参数,先输出修复计划,不进行修改代码。

保存规范和开发日志

如果你在开发一些较大的项目时,保存开发日志非常重要,你可以在完成某个功能模块后,让AI把这个功能的开发过程保存记录到本地,这样下次迭代这块功能时,AI可以从开发日志中快速定位,节省时间和token.

帮我把这部分开发记录到本地。

提交版本记录

AI每次完成一个小功能模块的开发时,建议都让AI帮你提交git commit,这样它会总结当前这次修改的内容,然后把修改点写入到commit信息中,后续进行版本回退或者功能修复,AI都可以根据这些commit信息进行快速修复。

提交git commit

执行clear指令或者重开窗口

当你完成当前功能开发,准备开发下一个和当前功能无关的功能时,建议执行clear指令或者重开窗口,这样可以减少AI的上下文,避免上下文信息过多导致速度变慢,AI幻觉变大。

/clear

执行上下文压缩

当你开发一个较为复杂的功能,或者准备开发的新功能,和之前已经完成的功能有一定关联时,这时候可以执行上下文压缩指令,让AI把之前对话的内容进行压缩,这样可以提高后续对话的效率。

/compact

计划模式

当你在开发比较复杂或者有风险的需求时,建议使用plan模式先进行评估,评估出来的结果需要人工进行确定,确定没有问题后,再进入开发阶段。

/plan

15.项目分析

/embedded-project-intake 分析下项目

/embedded-project-intake 对当前项目做 full 全量分析,生成 Markdown 和 HTML 报告

16.编码规范

在某个工程第一次使用时,先运行:

/embedded-coding-standard 初始化

它会生成:

<工程>/.ai/coding-standard.md

并把规范写入到CLAUDE.md和AGENTS.md

继续规范进行开发

可以直接问:

根据本工程 .ai/coding-standard.md,帮我实现xxx功能

审查代码

典型用法:

/embedded-coding-standard 帮我审查最新修改的内容

/embedded-coding-standard 按华为 C 规范审查最近一次commit

17.量产调试工具开发

/embedded-production-test-tool 在当前工程生成“串口调试助手”桌面脚手架,显示名为SerialAssistant,版本 0.1.0

生成后运行:

pip install -r requirements.txt

python src/app.py

打包:

powershell -ExecutionPolicy Bypass -File packaging\build.ps1 -SkipInstaller

18.创建自己的skills

安装skill-creator

然后

/skill-creator

比如:

/skill-creator 生成一个将pdf转换为Markdown格式的skill

或者

/skill-creator 生成一个原理图识别的skill

逐步修改重复验证

一般来说,一次的生成是很难输出一个很稳定很成熟的技能的,我们一般需要多轮交互,持续验证,持续修改,这就需要我们准备一些测试用例,用于实际验证,例如上方的pdf转md、原理图识别技能,我们就需要多准备一些pdf和原理图文件,每次技能修复完成后,我们让Agent调用技能进行验证,最终我们可以看看产出是否是我们需要的,如果不是,再让AI帮我们持续迭代即可。

打包输出

最简单的方式:把整个 skill 文件夹打包成 zip,别人解压到自己的 Codex skills 目录即可。

发给别人后,对方解压到自己工程或自己电脑下:

C:\Users\<对方用户名>\.codex\skills\

或者

C:\Users\<对方用户名>\.claude\skills\

然后重启新开会话,应该就能使用新的技能了。