ARTICLE · 987040
嵌入式AI提示词模板合集:前六篇整理,六份直接抄
六篇写完,模板攒了六份。这份合集把嵌入式AI提示词模板都收进来,散在各篇文末的,用的时候不用再往回翻。从环境到审查,一套拿走。
六份全是给嵌入式用的。芯片、时钟、引脚、寄存器,这些词AI最容易编错,模板干的事就是让它少猜。
先看全景,再一份一份过。每份都标了出处,想细看就回那篇。
01 六份模板,一张图看清
从环境到审查,六份提示词模板排成一条链。

▲ 六份模板对应六个场景,从环境到审查(自绘)
第一份喂工程,第二份喂任务,第三份喂手册。往后三份:生成、验收、审查。
按这个顺序用,正好走完一个外设从配到验的全程。
02 第一份:工程说明书
环境篇那份最基础,也是要长期住在工程里的一份。Cursor、Claude Code、Codex都认自己的规则文件,叫法不同,作用一样:AI每次进工程先读它,相当于入职材料。
内容压到最短就四块:硬件是什么、构建命令是什么、哪些文件别碰、什么算合格。
# 硬件
- 芯片:STM32F103C8T6(Cortex-M3)
- 晶振:8MHz HSE,SYSCLK 72MHz
- 烧录:ST-Link / SWD
# 构建
- 命令:headless-build.bat -import . -cleanBuild Demo/Debug
- 产物:Debug/Demo.elf
# 规则
- 用户代码在 Core/Src、Core/Inc,HAL 库目录别动
- 禁止修改链接脚本 *.ld
- 编译通过 ≠ 能上板:涉及时钟、时序先说明再改
我是在让AI动时钟配置那天被坑过一次,才记住先把说明书喂进去。没喂之前,它按训练数据里最常见的板子写,8MHz晶振、72MHz主频。我的板子不是这个组合,编译一个错没有,烧进去外设全不转。
03 第二份:硬件上下文
第二份模板要填的是硬件上下文,芯片、时钟、引脚、总线参数、软件栈、禁区六样。前五样填错了,编译当场报错,改起来快;禁区填错,经常拖到上板才露馅。
禁区这条最难办。AI看不见你的原理图,你们团队为这块板子定的规矩、踩过的坑,它更是两眼一抹黑。
# 项目
- 芯片:STM32F103C8T6,Cortex-M3,无硬件FPU
- 时钟:外部晶振8MHz,PLL×9,SYSCLK 72MHz
# 本次任务(只做这一步)
- 只写SPI1初始化,不写屏幕逻辑
# 接线
- SPI1:PA5 SCK,PA6 MISO,PA7 MOSI
- 片选:PA4,软件控制
# 从机
- ST7789,SPI最大时钟15MHz,模式0,MSB先行
# 约束(逐条遵守)
- 时钟树按现有配置,不要改
- 片选必须软件拉低,禁止用硬件NSS
- 中断里不加延时函数
- 只改 Core/Src/spi.c 与 Core/Inc/spi.h
# 输出要求
- 给出完整函数,标注关键寄存器位的作用
- 说明怎么验证:读回哪个寄存器、预期值是多少
模板不长,麻烦的是把括号填对。那几个参数只能你自己从手册和原理图上抄,抄错一个它就顺着错的往下写。
04 第三份:手册提问
手册提问那份,规则就一条:让它回抄原文,不许概括。
抄得出页码的才是真查过,抄不出的基本是编的。这一条挡掉大半寄存器幻觉。
# 手册片段
[粘贴 SPI 章节的寄存器表,含表头、脚注与页码]
# 芯片
STM32F103C8T6,外部晶振8MHz,SYSCLK 72MHz
# 本次只回答一个问题
SPI1 的波特率怎么设
# 输出要求
- 先回抄手册里相关的原文句子,标出页码
- 再给配置步骤,每一步写明改的是哪个寄存器的哪一位
- 手册里没写清楚的,直接说没写,不要推测
- 这次不要给完整初始化代码
这份管的是怎么问。手册的切分是另一道工序:按外设切、整表保留、带前置信息、留页码,D4那篇有完整做法。
05 第四、五份:生成与验收
驱动生成那份,最重要的一句在生成要求里:每一步初始化,写明改了哪个寄存器的哪一位,依据来自手册哪一页。
它写不出依据的,多半就是编的。
# 目标
[芯片型号,如STM32F103C8T6,外部晶振8MHz,SYSCLK 72MHz]
[外设与需求,如USART1,115200波特率,8N1]
# 生成要求
- 用HAL库或寄存器方式均可,先说明你选哪种
- 每一步初始化,写明改了哪个寄存器的哪一位,依据来自手册哪一页
- 时钟使能、GPIO复用、中断配置分开列出
- 手册里没写的,直接说没写,不要推测
# 输出后自查
- 逐行核对寄存器赋值与手册
- 重算波特率与分频值
- 检查中断与DMA方向
生成完别急着上板。先过验收,五步走完再烧。时钟树、寄存器逐行、时序、中断DMA、上板。
前四步不接电就能干,白天顺手核了。末了一步得板子在手,烧录验证。
这几步也能拼成一份提示词,直接丢给它:
# 目标
[待验收代码]
# 自查顺序(逐项)
- 时钟树:主频、外设挂哪条总线、使能位在RCC哪个寄存器
- 寄存器:地址、位域、复位值、读写属性,逐行对手册
- 时序:波特率、分频值、采样时序,重算一遍
- 中断与DMA:优先级、使能位、回调、方向与宽度
- 上板:串口回环、GPIO翻转看波形、定时器实测频率
丢完让它自己先过一遍,多数数值错它能挑出来。剩下的,才轮到你核。
06 第六份:代码审查
审查那份,最要紧的规矩就是不许乱报。
只报会让行为出错的,风格、命名、格式问题全部跳过。报告里噪音一多,它报什么你都得掂量掂量。
怀疑度不到一半的也列出来,标「疑似」。漏一条真错,比多看十条噪音贵。
# 目标
[芯片型号、主频、外设清单,附参考手册页数]
[待审查代码]
# 审查要求
- 只报会导致行为错误的缺陷,风格、命名、格式问题一律跳过
- 按顺序逐项过:寄存器、中断、DMA、内存安全
- 每条结论先给依据(寄存器地址、位域、手册页码),再下判断
- 确定错和疑似错分开列,疑似错标注怀疑点
- 怀疑度不足一半的也列出,标「疑似」
- 手册里查不到的,直接说查不到,不要推测
# 输出格式
- 每条:位置|问题|依据|风险等级(高/中/低)
- 查不出问题的部分,明确说「未发现问题」
给不出依据的高风险项,我一般不让它动。翻完手册确认过,再决定动不动。逼它改也没用,编出来的依据照样是错的。
07 一份工程里怎么串起来
六份模板是一条流水线,不是六个独立工具。新工程开工,先喂工程说明书,让AI读工程、跑编译。写驱动时,硬件上下文和生成模板合起来发;代码出来,验收模板过一遍;上板前,审查模板再兜一圈。顺序反过来不行,环境都跑不通就别谈生成,编译都过不了的代码,送审也白搭。

▲ 六份模板在工程里怎么串(自绘)
08 三个提醒
模板随便抄,参数栏得自己填。芯片型号、晶振频率、寄存器地址,每一样都得回去翻你自己的手册,对着填。
版本给错也麻烦。拿F1的写法套F4,函数名看着全对,参数含义已经是两回事。
模板管不了所有事。它能把问法固定住,可查手册、核页码、上板验证这些活儿,还得你自己干。
六份模板是从本连载前六篇里整理出来的:环境搭建(D2)、提示词基础(D3)、手册问答(D4)、驱动生成与验收(D5)、代码审查(D6)。前几篇引用的基准数据,EmbedAgent(arXiv:2506.11003)、CR-Bench(arXiv:2603.11078)、BitsAI-CR(arXiv:2501.15134)等,都来自公开论文,不是本号实测。模板按我个人操作习惯整理,仅供参考。封面配图由AI技术生成。
六份都在这了。存下来,下次写代码直接翻。
下篇换个话题,聊聊补全型和Agent型工具。它们在嵌入式里到底怎么分工,AI Agent能不能自己调编译器,到时候细说。连载更新中,有用就收藏,需要就转发。