STM32F103C8T6 开箱即用开发模板
release
platform
built with
license
Makefile 增量编译 · HAL 精简编译 · CubeMX .ioc 集成 · AI Agent 友好
- ✅ 零配置 — 自动检测 GCC、HAL、CubeMX、Programmer 路径
- ✅ 增量编译 — 只编译修改过的文件(已验证:改 main.c 后不重编 HAL)
- ✅ 自动扫描 —
src/下新建.c文件自动参与编译 - ✅ HAL 精简 — 只编译用到的 9 个 HAL 模块,减少编译时间
- ✅ 一键烧录 —
make flash编译 + 烧录(ST-Link SWD) - ✅ CubeMX 集成 —
.ioc文件配置引脚/时钟/外设,make config生成代码 - ✅ AI 友好 —
AGENTS.md让 AI Agent 直接参与开发
# 1. 编译(自动检测工具链 + HAL 库路径)
make
# 2. 烧录(连接 ST-Link)
make flash
# 3. 启用新外设
# 编辑 stm32f1xx_hal_conf.h 取消注释 HAL_xxx_MODULE_ENABLED
# 编辑 Makefile HAL_MODULES 列表添加 stm32f1xx_hal_xxx.c
make clean && make| 命令 | 说明 |
|---|---|
make |
增量编译 |
make flash |
编译 + 烧录(ST-Link SWD) |
make config |
CubeMX 代码生成 |
make clean |
清理 |
make size |
固件大小 |
make symbols |
符号表(地址→函数名) |
make disasm |
反汇编 |
make check-env |
检查工具链 |
make help |
所有命令 |
stm32-dev/
├── Makefile # 构建系统
├── AGENTS.md # AI Agent 操作手册
├── README.md
├── blink_led.ioc # CubeMX 工程文件
├── stm32f103c8t6.ld # 链接脚本
├── src/
│ ├── main.c # 用户代码(LED 闪烁 + UART printf)
│ ├── main.h
│ ├── stm32f1xx_hal_conf.h # HAL 模块开关 ⭐
│ ├── stm32f1xx_it.c # 中断处理
│ ├── system_stm32f1xx.c
│ ├── syscalls.c # printf 重定向
│ └── startup_stm32f103xb.s # 启动文件
└── docs/
├── setup.md # 工具链安装
├── cubemx_rules.md # CubeMX CLI 规则 ⭐
├── hal_guide.md # HAL 库使用指南
├── debug.md # 调试方法
└── pitfalls.md # 踩坑记录
// 1. stm32f1xx_hal_conf.h — 取消注释
#define HAL_SPI_MODULE_ENABLED
#define HAL_ADC_MODULE_ENABLED
// 2. Makefile HAL_MODULES — 添加源文件
# stm32f1xx_hal_spi.c \
# stm32f1xx_hal_adc.c \| 引脚 | 功能 | 说明 |
|---|---|---|
| PA5 | GPIO_Output | LED(高电平亮) |
| PA9 | USART1_TX | 串口发送 |
| PA10 | USART1_RX | 串口接收 |
Makefile 自动扫描常见路径:
export GCC_ARMCOMPILER=/path/to/gcc-arm-none-eabi
export HAL_DRIVER=/path/to/STM32F1xx_HAL_Driver
export CUBEMX_PATH=/path/to/STM32CubeMX.exe
export STM32_PROG=/path/to/STM32_Programmer_CLI.exe- ✅ Zero Config — Auto-detect GCC, HAL, CubeMX, Programmer paths
- ✅ Incremental Build — Only recompile changed files (verified: main.c change doesn't rebuild HAL)
- ✅ Auto Scan — New
.cfiles insrc/automatically compiled - ✅ HAL Lean — Only compile 9 used HAL modules, faster builds
- ✅ One-Click Flash —
make flashbuild + flash (ST-Link SWD) - ✅ CubeMX Integration —
.iocfile for pin/clock/peripheral config - ✅ AI Agent Friendly —
AGENTS.mdlets AI agents participate directly
make # Build (auto-detect toolchain + HAL)
make flash # Flash to STM32 via ST-Link
make config # Generate code from blink_led.ioc via CubeMX// 1. stm32f1xx_hal_conf.h — uncomment
#define HAL_SPI_MODULE_ENABLED
// 2. Makefile HAL_MODULES — add source
# stm32f1xx_hal_spi.c \