بنقرة واحدة
ddev-hardware
固件/嵌入式项目硬件资源分析与文档化。从 sdkconfig、peripheral_cfg.h、分区表等文件中提取 MCU 算力、存储、外设、GPIO 信息,输出结构化硬件规格文档。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
固件/嵌入式项目硬件资源分析与文档化。从 sdkconfig、peripheral_cfg.h、分区表等文件中提取 MCU 算力、存储、外设、GPIO 信息,输出结构化硬件规格文档。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
在当前会话里按已写好的实现计划顺序执行任务时使用
在已有规格或多步骤任务需求、且在动代码之前使用。若上游 ddev-pc-test 已产出测试用例,自动走 TDD 流程:先实现测试 demo 代码(红灯),再实现被测代码(绿灯),测试覆盖不到的部分直接开发。
文档审查技能。将文档审查任务派发给独立子代理,重点审查文档基于代码改动的合理性、说明正确性、前后一致性、错漏和逻辑谬误,以及 AI 实现过程中产生的决策记录(implementation-notes.md)。当用户需要审查技术文档、spec文档、设计文档、计划文档、API文档、README 或任何与代码改动相关的文档时使用。
代码修改场景下,spec 文档确认后,需要继续以图优先方式梳理结构体定义、数据流和流程时使用
在代码修改前需要编写 spec 文档且应优先用图表达边界、入口、流程和改动关系时使用(仅限代码改动场景,非项目级架构文档初始化)
在代码实现完成后、准备结束任务或进入发布前使用,用来核对代码实现是否与 spec 文档以及 detail 文档一致,并通过代码质量审查、清理、编码规范和注释审查后给出最终验收结论
| name | ddev-hardware |
| description | 固件/嵌入式项目硬件资源分析与文档化。从 sdkconfig、peripheral_cfg.h、分区表等文件中提取 MCU 算力、存储、外设、GPIO 信息,输出结构化硬件规格文档。 |
从固件仓库的配置文件中提取硬件资源信息,输出结构化的 Markdown 硬件规格文档。
用户请求分析硬件资源、硬件规格、主板资源、外设清单、引脚定义,或要求"硬件文档""hardware spec""板级资源""GPIO 汇总"。
执行前需确认两个信息(若用户未提供则主动扫描):
prt_cfg.h、board_cfg.h、*_cfg.h 中 #define 的宏)在项目根目录下搜索机型定义:
grep -rn "^#define TP\|^#define BOARD_\|^#define PRODUCT_" --include="*_cfg.h" --include="*board*.h" | head -30
规则:
#define <NAME> 行为准GEN、DEV、V2、MT 等版本/变体后缀的宏从 ESP-IDF 的 sdkconfig 或等效内核配置文件中提取:
# CPU 核数与频率
grep -E "UNICORE|DEFAULT_CPU_FREQ|NUMBER_OF_CORES" sdkconfig
# 缓存配置
grep -E "INSTRUCTION_CACHE_SIZE|DATA_CACHE_SIZE|CACHE" sdkconfig
# Flash 配置
grep -E "FLASHSIZE|FLASHMODE|FLASHFREQ|FLASH_SIZE" sdkconfig
# PSRAM / 外部 RAM
grep -E "SPIRAM|PSRAM|EXTERNAL_RAM" sdkconfig
必须回答的关键问题:
IDF_TARGET 或 CMakeLists 推导)嵌入式 MCU 的片内 ROM/SRAM 值可从芯片 datasheet 常量获取,不需要从配置文件推导。
搜索项目中的分区表文件:
find . -name "partitions*.csv" -o -name "partitions*.h" | head -10
根据当前机型选择对应的分区表文件,解析 CSV 格式的分区表:
# 注释行必须注明:固件写入的起始偏移、最大可用空间。
在项目中搜索外设配置文件(常见文件名:prt_peripheral_cfg.h、peripheral_cfg.h、board_pin.h、pin_mux.h):
find . -name "*peripheral*" -o -name "*pin_mux*" -o -name "*board_pin*" | head -10
从该文件中逐段扫描,每个 // ===== 或明显的注释分隔块对应一类外设。提取以下信息:
通信接口:
执行机构(若为打印机/电机控制类设备):
传感器与检测:
音频:
人机交互:
电源与系统:
将所有 GPIO 整理成统一表格:GPIO 号、功能、方向(I/O)、备注(复用/特殊说明)。
过滤规则:
PRT_GPIO_UNVALID、-1、0xFF 等无效值不列出若 prt_cfg.h 中存在多个 #if defined(MODEL_A) ... #elif defined(MODEL_B) 分支,提取当前机型所在分支的 #define 列表,并与相邻机型分支对比,总结功能差异。
写入 docs/spec/<MODEL>-hardware-spec.md,按以下结构:
# <MODEL> 硬件资源规格
> 整理自: <源文件列表>
> 日期: <当前日期>
## 一、主控与计算资源
- MCU 型号、内核架构和说明、核数、主频
- I-Cache / D-Cache 大小
- 片内 SRAM / ROM 大小
## 二、存储资源
- 片内存储(SRAM、ROM、RTC 内存)
- 片外 Flash(容量、接口类型、频率、用途)
- 片外 PSRAM(容量、接口类型、频率、用途)
- 明确指出固件烧录到哪个物理介质
## 三、Flash 分区布局
- 主分区表(名称、偏移、大小、用途)
- 子分区(如有)
## 四、通信接口
## 五、打印/执行子系统(根据实际硬件调整标题)
## 六、音频子系统
## 七、人机交互
## 八、电源与系统
## 九、系统参数(任务栈、RTOS 配置等)
## 十、GPIO 汇总
## 十一、机型差异对比(如有多个变体)
find / grep 搜索得到# 注释行,正确处理 hex 偏移值PRT_GPIO_UNVALID / -1 等占位符,视为"未使用",不写入汇总