关于 chip-specs
chip-specs 是面向嵌入式开发的 MCU 规格查询技能,通过 ChipCtx MCP 服务获取芯片参数、引脚定义、TRM 寄存器和编程指南。它先识别芯片并取得 chipId,再按当前任务查询相关信息。
主要功能
- 01识别芯片型号并取得 chipId
- 02查询芯片参数与电气规格
- 03检索引脚、封装与复用功能
- 04查询 TRM 寄存器和字段
- 05获取编程指南与代码示例
适用场景
- 01查找目标 MCU 的频率、Flash 或 RAM 参数
- 02为外设设计核对引脚和复用功能
- 03编写底层代码时查询寄存器定义或初始化步骤
MCP 相关
此技能要求连接 ChipCtx MCP 服务,端点为 https://mcp.chipctx.com。它调用芯片识别、规格、硬件、TRM 和编程指南工具,先通过 chip_identify 获取 chipId。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ chipctx/ skills --skill chip-specs安装后在 Claude Code 中输入/chip-specs确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
AGENTS.mdCLAUDE.mdmetadata.jsonREADME.mdrules/_sections.mdapi-chip-hardware.mdapi-chip-identify.mdapi-chip-programming.mdapi-chip-specs.mdapi-chip-trm.mdflow-chip-identify.mdflow-context-inject.md详细介绍
ChipCtx MCU 规格
面向嵌入式开发的权威 MCU 芯片规格查询。 通过 ChipCtx MCP Server 实时获取芯片参数、引脚定义、TRM 寄存器和编程指南。
MCP Server 设置(首次查询前必须检查)
此 Skill 需要 ChipCtx MCP Server。在查询任何芯片之前,必须验证 MCP 工具是否可用。
步骤 1:检查工具是否可用
检查当前会话中是否有 chip_identify MCP 工具。如果有,请跳至下方的标准查询流程。
步骤 2:自动安装(如果工具不可用)
如果 chip_identify 不可用,请使用以下方法之一安装 MCP 服务:
选项 A — Claude Code 插件(推荐,可自动配置 MCP): 告知用户运行以下命令并重启:
/plugin marketplace add chipctx/skills
/plugin install chipctx@chipctx-marketplace
选项 B — 手动设置 MCP:
claude mcp add --transport http chipctx --scope user https://mcp.chipctx.com
步骤 3:告知用户重启
运行安装命令后,告知用户:
ChipCtx MCP server 已配置。请重启 Claude Code(输入
/quit后重新启动),以便 MCP 工具可用。然后重试查询。
重要: 安装后不要尝试调用 chip_identify 或任何其他 ChipCtx MCP 工具——在重启会话之前,这些工具都不可用。不要改用 WebFetch 或其他变通方法。用户必须先重启。
其他 Agent
请参阅 README,了解在 Cursor 和其他平台上配置 MCP 的方法。
适用情形
检测到以下任一情形时,启用此 Skill:
1. 明确提及——用户提到芯片型号
- 具体型号:STM32F407VGT6、ESP32-S3-WROOM-1、nRF52840
- 系列名称: “STM32F4 系列”“ESP32”“nRF52”
- 芯片搜索或比较:“哪款芯片支持 BLE 和 1MB 闪存?”
2. 代码上下文——芯片专用头文件或 API
- 头文件:
stm32f4xx.h、esp_system.h、nrf.h、nrf52840.h - HAL/SDK 调用:
HAL_GPIO_Init()、esp_wifi_init()、nrf_gpio_cfg_output() - 芯片专用寄存器或内存地址引用
3. 项目配置——构建系统文件
- STM32CubeMX
.ioc文件 - 带有
board = ...的platformio.ini - 带有 MCU 定义(
-DSTM32F407xx)的Makefile/CMakeLists.txt - ESP-IDF
sdkconfig、Zephyrprj.conf
4. 主题相关——硬件讨论
- 引脚分配、外设配置、寄存器操作
- GPIO、UART、SPI、I2C、ADC、DMA、Timer 相关主题
- 数据手册、TRM 或硬件设计参考
MCP 接口速查
MCP Server 端点: https://mcp.chipctx.com(Streamable HTTP)
| 用户意图 | MCP 工具 | 输入 | 输出 |
|---|---|---|---|
| 查找/识别芯片型号 | chip_identify | query (string) | 包含 id、model、vendor、series、matchScore 的芯片列表 |
| 芯片参数与规格 | chip_specs | chipId, category? | 核心参数、电气规格、外设列表 |
| 引脚定义与封装 | chip_hardware | chipId, query? | 带 AF 映射的引脚表、封装信息 |
| TRM 寄存器与模块 | chip_trm | chipId, section? | TRM 章节、寄存器/字段定义 |
| 编程指南与代码 | chip_programming_guide | chipId, topic | 初始化步骤、代码示例、注意事项 |
关键原则: chipId 是所有查询的桥梁。始终先调用 chip_identify 获取 chipId,然后在后续所有工具调用中使用它。
意图路由矩阵
| 用户查询中的关键词 | 调用工具 | 优先级 |
|---|---|---|
| 型号、系列、查找、比较、识别 | chip_identify | 始终首先调用 |
| 参数、规格、频率、闪存、RAM、特性 | chip_specs | 基本信息 |
| 引脚、GPIO、封装、引脚排列、AF | chip_hardware | 硬件设计 |
| 寄存器、TRM、模块、地址、位字段 | chip_trm | 深入技术信息 |
| 代码、初始化、配置、编程、示例、HAL | chip_programming_guide | 编程 |
标准查询流程
每次与芯片相关的查询都遵循此流程:
Step 0: Verify chip_identify tool is available (see MCP Server Setup above)
If NOT available -> auto-install and ask user to restart. STOP here.
Step 1: Extract chip model keywords from user input or project context
Step 2: chip_identify(query) -> validate model, get chipId
Step 3: Check matchScore -> confirm unique match or ask user to select
Step 4: Route to appropriate tool based on user intent
Step 5: Format and present results, generate code if requested
重要: 会话中的首次芯片查询必须执行步骤 0。如果缺少 MCP 工具,请勿继续操作——安装工具并请求重启。切勿跳过步骤 2。所有其他工具都需要 chip_identify 返回的 chipId。
硬件感知识别
芯片识别流程支持根据项目上下文自动检测:
自动检测来源:
- C/C++ 头文件包含:
#include "stm32f4xx.h"-> STM32F4 系列 - Platform IO 配置:
board = esp32-s3-devkitc-1-> ESP32-S3 - CMake 定义:
-DNRF52840_XXAA-> nRF52840 - STM32CubeMX
.ioc文件:项目芯片配置
matchScore 阈值:
-
= 0.9:高置信度,直接继续
- 0.7-0.9:中等置信度,请用户确认
- < 0.7:低置信度,向用户展示候选项供其选择
多候选项处理: 匹配到多个芯片时,以编号列表展示型号、厂商和描述,并请用户选择。切勿默默选择低置信度的匹配项。
详细流程和错误处理请参阅 rules/flow-chip-identify.md。
上下文注入策略
识别芯片后,逐步注入规格数据:
第 1 层:始终注入(识别后)
- 芯片型号、厂商、系列
- CPU 内核(例如 ARM Cortex-M4)、最高频率
- Flash 和 RAM 容量、工作电压
第 2 层:按需注入(讨论外设时)
- 外设规格(UART 数量、SPI 特性等)
- 特定外设的引脚定义和复用功能
- 封装信息(引脚数量、尺寸)
第 3 层:深度注入(编写底层代码时)
- TRM 寄存器定义(名称、地址、位字段、访问类型)
- 包含初始化序列和代码示例的编程指南
- HAL 层和寄存器层实现
上下文管理
- 避免溢出: 请勿一次性加载所有芯片数据。只加载当前任务所需的数据。
- 优先考虑相关性: 讨论 UART 时,只加载 UART 数据,而不是所有外设的数据。
- 切换芯片: 用户切换到其他芯片时,彻底清除旧上下文并加载新芯片数据。切勿混用不同芯片的数据。
详细注入流程请参阅 rules/flow-context-inject.md。
支持的芯片系列
| 厂商 | 系列 | 示例型号 |
|---|---|---|
| STMicroelectronics | STM32F0/F1/F2/F3/F4/F7/H7/L0/L1/L4/G0/G4/U5/WB/WL | STM32F407VGT6 |
| Espressif | ESP32/ESP32-S2/S3/C3/C6/H2 | ESP32-S3-WROOM-1 |
| Nordic Semiconductor | nRF52810/832/833/840 | nRF52840 |
规则类别
详细规则按渐进式加载方式组织在 rules/ 中:
| 文件 | 影响 | 描述 |
|---|---|---|
rules/flow-chip-identify.md | HIGH | 芯片识别触发条件、5 步流程、matchScore 处理、错误恢复 |
rules/flow-context-inject.md | HIGH | 3 层注入策略、上下文窗口管理、芯片切换协议 |
rules/api-chip-identify.md | HIGH | chip_identify 接口:模糊匹配、别名识别、响应格式 |
rules/api-chip-trm.md | HIGH | chip_trm 接口:分节筛选、Register/RegisterField 数据格式 |
rules/api-chip-specs.md | MEDIUM | chip_specs 接口:4 类查询、带限值的电气规格 |
rules/api-chip-hardware.md | HIGH | chip_hardware 接口:引脚/功能筛选、AF 映射、封装信息 |
rules/api-chip-programming.md | MEDIUM | chip_programming_guide:SDK/HAL 代码、初始化序列、双重实现 |
章节索引: 加载顺序和策略请参阅 rules/_sections.md。
完整编译文档
对于偏好使用包含所有规则的单一文件的平台,请参阅 AGENTS.md——它是此 Skill 中所有规则文件的编译版本。