PlatformIO 核心功能
三、核心功能
| 能力 | 说明 | 关键配置项 |
|---|---|---|
| 跨平台构建 | 一套配置支持多厂商芯片 | platform、board、framework |
| 多环境 | 一个工程多个构建目标 | [env:名称] 段、extends 继承 |
| 依赖管理 | 从注册表、Git、本地目录装库 | lib_deps、lib_extra_dirs |
| 烧录 | 自动识别或用指定协议上传 | upload_port、upload_protocol、upload_speed |
| 串口监视 | 内置监视器与过滤器 | monitor_speed、monitor_filters |
| 单元测试 | 真板测试框架,支持过滤与多环境 | test_filter、测试目录结构 |
| 调试 | 支持部分平台的 GDB 调试 | debug_tool、调试配置 |
| 编译控制 | 宏、包含路径、源文件筛选 | build_flags、build_src_filter |
| 产物与统计 | 固件大小统计、映射文件 | 构建输出的 RAM / Flash 占用 |
| CI 集成 | 命令行可脚本化,天然适配流水线 | 缓存目录设置、非交互执行 |
最值得掌握的是多环境 + extends:把公共配置写在 [env] 基段里,各环境只写差异(比如一个环境编译 STM32 版本,一个编译 ESP32 版本,或者 Debug 与 Release)。这让「同一份业务代码跑在两块不同板子上」变成改一行配置的事。

