LLM Wiki应用之芯片篇——107份文档,AI Agent自学STM32H753全记录

📅 2026/7/3 8:45:05 👁️ 阅读次数 📝 编程学习
LLM Wiki应用之芯片篇——107份文档,AI Agent自学STM32H753全记录

LLM Wiki应用之芯片篇——107份文档,AI Agent自学STM32H753全记录

作为一个嵌入式工程师,拿到一颗新芯片的第一件事是什么?翻数据手册。第二件事?翻参考手册。第三件事?翻应用笔记。然后对着几千页英文 PDF 发愁——我到底该先看哪个?哪些是关键信息?这里有个新思路:让 AI Agent 替你读,替你整理,最后你只需要审核。

这篇文章记录了一次真实的"AI 自学芯片"实验——从零开始,让 Hermes Agent 把 STM32H753 这颗 Cortex-M7 高性能 MCU 的 107 份官方文档(PDF 格式,总计超过一万页)蒸馏成 29 个结构化 Wiki 页面。

为什么要这样搞

先看最终的 Obsidian Graph View 效果——这是把 stm32h753-wiki 目录作为 Obsidian 库打开后,自动生成的知识关系图谱。中心的「STM32H753II 芯片」连接着 25 个概念页面,外层是所有 107 份原始文档的引用关系。每个节点是一个知识点,每条连线代表一个[[wikilink]]交叉引用:

传统方式学芯片:

  • 打开一份 PDF → 抓关键参数 → 手写笔记 → 看下一份 → 忘了上份说了什么
  • 一个月后:笔记在哪?那个寄存器叫什么来着?

LLM Wiki 方式:

  • 告诉 AI “把 STM32H753 的所有文档学完”
  • AI 下载 PDF → 分类归档 → 分批读 → 提炼概念页 → 交叉引用 → 输出结构化 Wiki
  • 你打开 Obsidian,29 个页面之间的关联一目了然

完整的蒸馏流程

一次芯片知识蒸馏分为五个阶段:

第一阶段:源文件收集(原材料准备)

原始材料是一切的基础。对于 STM32H753,官方文档页面列出了约 80 多个相关文档。我把它们按类别整理:

类别数量典型文档用途
核心文档4DS13195 数据手册(357页) · RM0433 参考手册(3353页)芯片规格、寄存器定义
硬件设计10AN4938 硬件入门 · AN5044 电源设计 · AN5419 技巧原理图设计、PCB Layout
软件驱动8AN5096 软件入门 · AN4660 架构概述 · AN4891 系统视图HAL/LL 驱动、系统架构
外设应用18SDMMC、DCMI、DFSDM、USB、CAN、Timer…专项外设深度指南
开发工具7CubeMX(636页) · CubeIDE(259页) · CubeProgrammerIDE、配置、烧录
HAL 驱动2HAL/LL 通用(2227页) + H7 专用(2312页)API 参考
RTOS6FreeRTOS、LwIP、Azure RTOS · USB 协议栈操作系统、网络栈
安全6ROP/SFI/加密库/功能安全手册安全启动、防篡改
通用指南8振荡器设计、EMC、Bootloader、封装焊接跨系列通用知识
迁移3F7→H7 迁移 · 版本差异旧项目升级
其他35音频、PDM 麦克风、Type-C PD、评估板…扩展应用

关键原则:源文件分层存放,不修改原始 PDF。raw/papers/ 是只读的"矿石层"。

第二阶段:初始化 Wiki(搭建框架)

在正式摄入之前,需要定义 Wiki 的"宪法"——SCHEMA.md。这决定了 AI 怎么思考、怎么组织。

针对 STM32H753 这种 MCU 芯片,我定制的领域标签如下:

芯片架构: mcu-core, bus-matrix, memory-map, clock-tree 硬件设计: power-design, pcb-layout, clock-reset, pinout 外设: gpio, serial, analog, timer, connectivity, camera-display, dma 软件: hal, ll, cmsis, stm32cube RTOS: freertos, threadx, lwip 工程: best-practice, pitfall, optimization, tutorial

每个 Wiki 页面必须带 YAML 标记,注明来源、置信度、类型:

---title:STM32H753II 芯片created:2026-07-02type:entitytags:[mcu-core,stm32cube]sources:[raw/papers/stm32h753ii.pdf,raw/papers/rm0433-...pdf]confidence:high---

第三阶段:分批摄入(从矿石到金子)

摄入是核心环节。AI 分批读源文件,每批处理约 15-30 份文档,输出结构化页面。

第一批:核心文档 + 硬件设计(31 份 → 19 页)

从数据手册中提取的芯片实体页:

# STM32H753II 芯片 Cortex-M7 @ 480MHz | 2MB Flash | 1MB RAM LQFP176/TFBGA240+25 | 168 GPIO 核心参数表 → 三大电源域 D1/D2/D3 → 外设清单 → 低功耗模式 → 封装选择

同时产出硬件设计概念页:

  • 电源设计:多域供电/VCAP 电容/上电时序 PCB Layout
  • 硬件开发入门:最小系统五要素(供电/时钟/复位/启动/调试)
  • 时钟与复位:HSE/PLL×3 完整时钟树
  • 外设接口总览:一键速查所有外设参数

第二批:外设 + 工具(15 份 → 10 页)

  • SDMMC 接口:4/8-bit eMMC HS400 + FatFS 文件系统示例代码
  • DCMI 摄像头接口:8/10/12/14-bit 并行摄像头,快照/连续模式
  • DFSDM 数字滤波:8 通道 Σ-Δ,Sinc 滤波器详解
  • LCD-TFT 图形开发:LTDC + Chrom-ART 2D 加速 + TouchGFX

第三批:RTOS + 驱动(8 份 → 4 页)

  • FreeRTOS 开发:CMSIS-RTOS v2 API,STM32H7 特殊注意事项
  • LwIP 网络栈:RMII 接口 + Socket API + DMA 描述符配置
  • HAL 与 LL 驱动开发:阻塞/中断/DMA 三种模式对比 + 回调机制

第四批:安全 + Bootloader + 外设进阶(66 份 → 10 页)

这一批是知识深度最大的——从"是什么"到"怎么用":

  • 安全与加密:ROP/PC-ROP/SFI 安全固件安装 + AES-HASH 硬件加速
  • Bootloader 协议:USART/USB DFU/SPI/I2C/CAN 五种升级协议
  • ADC 与 DAC 进阶:16-bit 过采样 + 精度优化 Sinc 滤波 + DAC 音频输出
  • 定时器与电机控制:互补 PWM 死区 + 刹车保护 + 编码器模式
  • USB 开发进阶:OTG HS/FS + PCB 差分走线 + Type-C PD
  • EMC 与 ESD 设计:EMI 抑制 + 抗扰测试 + 静电防护 TVS 选型
  • Cache 与内存管理:L1 Cache 一致性 + MPU 分区 + DMAMUX 路由

第四阶段:交叉引用(建立知识网络)

每个页面创建时必须至少有 2 个出站[[wikilink]],链接到其他相关页面。这是 LLM Wiki 和普通笔记的本质区别——不是树状分类,而是网状关联

例如「电源设计」页面链接到:

[[STM32H753II 芯片]] ← 芯片总览 [[硬件开发入门]] ← 最小系统 [[时钟与复位]] ← 电源域对时钟的影响 [[硬件开发技巧]] ← 去耦电容 PCB Layout

这 4 个链接让读者可以从电源设计自然跳转到芯片规格、到 PCB 布局、到时钟系统——知识不再是孤岛。

第五阶段:导航维护(让知识能用)

最后一步是更新 index.md(内容目录)和 log.md(操作日志)。index.md 是所有页面的导航枢纽:

## Entities - [[STM32H753II 芯片]] — Cortex-M7 @ 480MHz,2MB Flash,1MB RAM - [[STM32CubeMX]] — 图形化引脚配置 + 代码生成 - [[STM32CubeIDE]] — 一站式 IDE (Eclipse/GCC) - [[ST-LINK 调试器]] — SWD/JTAG 调试/烧录器 ## Concepts ### 硬件设计 - [[电源设计]] — 多域供电/VCAP/上电时序 - [[硬件开发入门]] — 最小系统五要素 - [[EMC 与 ESD 设计]] — EMI/EMS/ESD 防护 ...

定期 Lint 检查:孤立页面、断链、过期内容、矛盾标记。质量保障是持续的过程。

蒸馏出哪些知识(全文 29 页速览)

以下是从 107 份文档中提炼的全部 29 个 Wiki 页面和核心知识:

实体页(4 个)

STM32H753II 芯片:Cortex-M7 480MHz · 双精度 FPU · L1 Cache 16KB×2 · 2MB Flash · 1MB RAM(192KB TCM + 864KB SRAM + 4KB Backup)· 三电源域 D1(CPU)/D2(外设)/D3(系统) · 168 GPIO · 3× ADC 16-bit 5.33Msps · 2× DAC 12-bit · Ethernet MAC · 2× USB OTG · 2× CAN FD · LTDC LCD · Chrom-ART 2D · JPEG Codec · DFSDM 8ch · DCMI · FMC 32-bit · Quad-SPI 133MHz · Crypto AES-256 + HASH

STM32CubeMX:图形化引脚分配 · 时钟树交互配置 · 外设模式选择 · 中间件配置(FreeRTOS/LwIP/FATFS)· 功耗计算器 · 代码生成(HAL/LL/多种 IDE 格式)

STM32CubeIDE:Eclipse/GCC 集成 · 内嵌 CubeMX · ST-LINK GDB 调试 · SWV 实时跟踪 · Fault 异常分析

ST-LINK 调试器:V2/V2-1/V3 三代对比 · SWD 4 线连接 · 虚拟串口 · 烧录选项字节

硬件概念页(6 个)

电源设计:VDD/VDDA/VBAT/VCAP 供电架构 · VCAP 电容(每 VCAP 2×2.2µF X7R <10mm)· VOS 电压等级(03,1.101.40V)· 外部 SMPS 选项 · 上电时序 · 去耦电容布局

硬件开发入门:最小系统 = 供电 + 时钟 + 复位 + 启动 + 调试 · 25MHz HSE 晶振 · NRST 100nF · BOOT0 启动选择 · SWD 4 线调试 · 参考原理图

硬件开发技巧:PCB Layout 铁律(VCAP 紧靠/晶振隔离/去耦/模拟地单点)· 高速信号(SDMMC 串阻/ETH 等长/USB 差分 90Ω)· EMC 设计 · 常见故障排查表

时钟与复位:HSE/HSI/CSI/LSE/LSI 五种时钟源 · PLL1/2/3 三路锁相环 · CSS 时钟安全系统 · APB/AHB 总线时钟分配 · POR/BOR/NRST/IWDG 复位源

外设接口总览:全外设参数速查表(168 GPIO · 4 USART+4 UART · 6 SPI · 4 I2C · 2 CAN FD · ETH MAC · 2 USB · 3 ADC · 2 DAC · 多种定时器…)

EMC 与 ESD 设计:EMI 抑制(4 层板/完整 GND/去耦)· EMS 抗扰(EFT/Surge/RF 防护)· ESD 静电防护(TVS 选型/USB/GPIO/CAN)

软件概念页(6 个)

软件开发入门:CubeMX → CubeIDE → ST-LINK 标准流程 · HAL/LL/BareMetal 三层对比 · MPU 必须配置(Cache 一致性)· DTCM 零等待内存 · 最小代码框架

HAL 与 LL 驱动开发:句柄结构 · 阻塞/中断/DMA 三种模式 · 回调映射 · LL 寄存器直操作 · HAL+LL 混用 · 常用 API 速查(GPIO/UART/Timer/PWM)

Cortex-M7 编程:ARMv7E-M 架构 · 双精度 FPU · 16 区域 MPU · L1 Cache 一致性操作(Clean/Invalidate)· HardFault 排查 · DSP 指令 · CMSIS-DSP

FreeRTOS 开发:CMSIS-RTOS v2 接口 · 任务创建 · 队列/信号量/互斥锁 · 定时器 · SysTick 优先级陷阱 · TCM 栈 · 中断通信 FromISR

LwIP 网络栈:ETH MAC → RMII→ PHY 架构 · Socket API(TCP Server/Client/UDP)· DMA 描述符 · lwipopts.h 关键配置 · MPU non-cacheable 缓冲区

Bootloader 协议与固件升级:5 种协议详解(USART/USB DFU/SPI/I2C/FDCAN)· 命令帧格式 · 进入方法 · SFI 安全固件安装

外设概念页(8 个)

ADC 与 DAC 应用进阶:ADC 精度优化 6 要素 · 16-bit 硬件过采样(OSR256→ENOB+4)· 自校准 · DAC 音频波形 DMA+Timer · 噪声生成

定时器与电机控制:高级定时器互补 PWM+死区 · 刹车保护(BKIN)· 编码器 4 倍频 · HRTIM 高精度定时器(217ps)· 电机控制全链路

音频接口与处理:SAI/I2S/TDM · SPDIF 数字音频 · PDM MEMS 麦克风 DFSDM 滤波 · 波束成形 DT0117

USB 开发进阶:OTG HS(480Mbps 需外部 PHY)/FS(12Mbps 内置) · PCB 差分 90Ω 等长 · Host/Device 双模式 · Type-C PD 协议 · 常用 PHY 推荐

通信协议实战:USART 自动波特率 · LPUART Stop 模式唤醒 · SPI 硬件 NSS/TI 模式 · I2C FM+ 1MHz · FDCAN 64 字节高速 CAN

SDMMC 接口:SD/SDIO/MMC/eMMC · 1/4/8-bit · 200MHz · HS400 · IDMA · FatFS 代码示例

DCMI 摄像头接口:8/10/12/14-bit 并行 · 快照/连续模式 · 硬件裁剪 · JPEG 模式 · 极性配置

DFSDM 数字滤波:8 通道 Σ-Δ · Sinc1~4 + FastSinc · 外部调制器接口 · 电流采样 · PDM 麦克风

功能安全与可靠性(3 个)

安全与加密:ROP Level 0/1/2 · PC-ROP 代码段保护 · SFI 安全固件安装 · AES-256 GCM 硬件加速 · HASH SHA-256 · TRNG 真随机数 · 防篡改

芯片勘误与注意事项:查看芯片版本 · FPU 指令规避 · FMC 时序修正 · I2C SCL 卡低 · USB ULPI 兼容 · 避险策略

Cache 与内存管理:L1 Cache 结构 · 一致性维护 · MPU 典型分区(Flash Cacheable/DTCM Non-cacheable/DMA Buffer Non-cacheable)· DMAMUX 灵活路由 · Flash CRC 校验

迁移与兼容(2 个)

迁移与兼容性指南:F7→H7 核心差异(主频 216→480MHz · RAM 320KB→1MB · 单域→三域 · VCAP 1个→3个)· 引脚兼容表 · MPU 新增 · HAL 迁移

如何使用这个知识库

场景一:硬件设计

你准备画 STM32H753 的原理图,打开 Obsidian,从「硬件开发入门」开始:

  1. 看最小系统五要素 → 知道需要哪些外围电路
  2. 点击[[电源设计]]→ 看到 VCAP 电容布局规则 → 放对位置
  3. 点击[[时钟与复位]]→ 确定 HSE 25MHz 晶振选型
  4. 想看特定外设 → 点击[[SDMMC 接口]]→ 看到上拉电阻和串联终端规则

场景二:驱动开发

你要写 SD 卡驱动:

  1. 打开[[HAL 与 LL 驱动开发]]→ 了解阻塞/中断/DMA 三种模式
  2. 点击[[SDMMC 接口]]→ 看到完整初始化代码 + FatFS 示例
  3. 遇到 MPU 配置问题 → 跳转到[[Cortex-M7 编程]]→ 看 Cache 一致性操作
  4. 需要查看寄存器定义 → 回到源文件 raw/papers/rm0433-…pdf

场景三:故障排查

板子不启动?电流异常?

  1. 打开[[芯片勘误与注意事项]]→ 检查已知硬件问题
  2. 点击[[硬件开发技巧]]→ 看常见故障排查表
  3. 电流 0mA → 检查 VDD · 电流 ~10mA → 晶振不起振 · 频繁复位 → 电源纹波

成果展示

总结:AI 自学的五个关键

  1. 源文件要全:107 份 PDF 涵盖了从芯片规格到每个外设的完整知识,缺一份就少一块拼图
  2. SCHEMA 是宪法:定好标签体系、页面阈值、格式规范,AI 才不会跑偏
  3. 分批摄入,逐步深化:第一批打地基(芯片总览+硬件+工具),第二批盖楼(RTOS+网络),第三批装修(外设进阶+安全)
  4. 交叉引用是灵魂:每个页面至少 2 个 wikilink,知识才能连成网而不是散成沙
  5. 维护不能停:定期 Lint 检查孤立页面和过期内容,Wiki 是活的,不维护就会腐烂

这是「LLM Wiki 应用」系列第三篇。整套方法适用于任何芯片(海思、NXP、瑞芯微…),只要你能拿到完整文档,AI 就能帮你蒸馏。