2. 烧录前的准备工作:硬件准备与软件准备
烧录Marlin固件,说白了就是给打印机换脑子。这事儿急不得,准备工作做扎实了,后面能省下大把排查时间。我见过太多人上来就点“烧录”,结果卡在某个环节半天找不出原因——嗯,咱们先把家伙事儿备齐。
2.1 硬件准备:主控板、USB线、Bootloader
硬件这块,我习惯按“核心-连接-引导”三步来检查。
2.1.1 主控板
你得先搞清楚自己手里是什么板子。常见的有:
- RAMPS 1.4 + Mega2560:经典组合,皮实耐造,但性能有限。
- MKS Gen L / Gen V:集成度高,适合新手。
- SKR Mini E3 / SKR 2 / SKR 3:32位板子,性能强,支持U盘脱机打印。
- Duet / Flymaker:高端货,自带网络功能。
我个人建议,第一次烧录尽量选一块已知能正常工作的板子。我曾经遇到过一块焊点虚接的Mega2560,折腾了两天才发现是硬件问题——白白浪费感情。
2.1.2 USB线
USB线看着不起眼,其实是烧录成败的关键。你想想看,固件烧录本质是串口通信,线缆质量差,数据包就容易丢。
- 选带屏蔽层的USB线。
- 线径要够粗,至少24AWG。
- 插上后,电脑能正确识别出COM口(Windows)或/dev/ttyACM0(Linux)。
如果插上没反应,先换根线试试——这招能解决一半的“连不上”问题。
2.1.3 Bootloader
Bootloader是板子上的“引导程序”,负责接收电脑发来的固件数据并写入Flash。说白了,它就是个翻译官。
- AVR板子(如Mega2560):出厂自带Optiboot bootloader,用Arduino IDE直接烧。
- STM32板子(如SKR Mini E3):部分板子出厂已烧好,部分需要自己用ST-Link或DFU模式烧录。
- LPC板子(如MKS SGen):通常用串口ISP烧录bootloader。
怎么判断板子有没有bootloader?很简单:按住复位键,点“烧录”,松开复位——如果进度条开始走,说明有;如果一直卡在“连接中”,八成是bootloader丢了或坏了。
2.2 软件准备:Arduino IDE、VS Code + PlatformIO
软件环境这块,我推荐两条路:
- Arduino IDE:适合8位板子(Mega2560、RAMPS),配置简单,但功能有限。
- VS Code + PlatformIO:适合32位板子(STM32、LPC),功能强大,支持代码补全、调试。
2.2.1 Arduino IDE
如果你用的是Mega2560这类8位板子,Arduino IDE是最省心的选择。
- 下载安装Arduino IDE(建议1.8.x版本,2.x版本有时不稳定)。
- 安装Marlin所需的板卡支持包:
工具 → 开发板 → 开发板管理器,搜索“Arduino AVR Boards”并安装。 - 选择正确的开发板:
工具 → 开发板 → Arduino/Genuino Mega or Mega 2560。 - 选择正确的端口:
工具 → 端口 → COMx(Windows)或 /dev/ttyACMx(Linux)。
嗯,这里要注意:Arduino IDE的串口监视器波特率要设成250000,否则后面调试时会乱码。
2.2.2 VS Code + PlatformIO
对于32位板子,我强烈推荐VS Code + PlatformIO。它比Arduino IDE灵活得多,而且能自动处理依赖库。
- 安装VS Code。
- 在扩展商店搜索“PlatformIO IDE”并安装。
- 重启VS Code后,点击左侧的PlatformIO图标,选择“Open Project”。
- 打开Marlin源码文件夹,PlatformIO会自动识别并配置环境。
我第一次用PlatformIO时,被它的“自动下载依赖”功能惊艳到了——再也不用手动找库文件了。但要注意:网络环境不好的时候,依赖下载会卡住。我建议提前把依赖库下载好,或者用手机热点试试。
| 特性 | Arduino IDE | VS Code + PlatformIO |
|---|---|---|
| 适用板子 | 8位AVR | 32位ARM、AVR |
| 代码补全 | 无 | 有 |
| 依赖管理 | 手动 | 自动 |
| 调试功能 | 无 | 有(需硬件支持) |
| 学习曲线 | 低 | 中 |
2.3 固件源码获取
源码从哪来?别去百度搜“Marlin固件下载”,那些第三方打包的版本可能夹带私货。我习惯直接从官方渠道拿:
- GitHub仓库:
https://github.com/MarlinFirmware/Marlin - 官方发布页:
https://github.com/MarlinFirmware/Marlin/releases
下载时注意:
- 稳定版(Release):带版本号,如2.0.9.3、2.1.2,经过充分测试,适合生产环境。
- 开发版(Bugfix):如bugfix-2.1.x,包含最新功能,但可能有未修复的bug。
我个人建议:新手选稳定版。我曾经为了尝鲜用开发版,结果遇到一个编译错误,查了两天发现是某个新功能还没完善——得不偿失。
下载后解压,你会看到这样的目录结构:
Marlin-2.1.2/
├── Marlin/ # 核心源码
│ ├── src/ # 源代码
│ ├── Configuration.h # 主配置文件
│ └── Configuration_adv.h # 高级配置文件
├── buildroot/ # 编译脚本
├── platformio.ini # PlatformIO配置文件
└── README.md # 说明文档
嗯,这里要特别提醒:不要直接修改Marlin目录下的源码。正确的做法是:把整个文件夹复制一份,改名为“Marlin-我的配置”,然后在副本里改。这样万一改坏了,还有原始版本可以回退。
2.4 本章知识体系
下面这张图,帮你理清烧录前的准备工作全貌:
准备工作做到位,烧录就成功了一半。下一章咱们正式进入配置环节——嗯,那才是真正考验耐心的地方。