固件编译说明
重要安全提示
为确保系统稳定运行,请务必遵循以下固件使用原则:
- 固件编译一致性:Klipper固件必须由您当前使用的上位机进行编译。使用他人编译的或版本不匹配的固件,可能导致不可预见的系统故障。
- 硬件平台规范:强烈建议使用标准的上位机硬件。避免采用经非官方魔改的设备(例如某些机顶盒、WiFi棒子或特定型号的红米设备),这些设备可能存在兼容性与稳定性风险。
- 虚拟化环境限制:不建议在虚拟机中运行上位机系统,这可能会引入性能与实时性干扰,影响打印质量。
固件类型说明
-
Katapult/HID模式- 功能:这两种模式功能相同,均可实现无接触烧录(无需插拔内存卡,直接通过上位机更新固件)。
- 说明:
HID是 FLY 板载上位机所使用的 Bootloader,其本质与Katapult相同。 - 重要提示:使用
Katapult时,若刷入错误固件导致主板无响应,请找到主板上的重置按键并快速双击,即可重新进入Katapult模式再次烧录。
-
Bootloader模式- 功能:传统的通过内存卡进行烧录的方式。
- 优点:此方式容错性强,若不慎刷写错误,可通过重新烧录内存卡再次尝试,无需担心主板“变砖”。
固件编译指南
编译准备与建议
- 为最大限度保证编译成功,推荐使用
MobaXterm作为您的SSH客户端。据用户反馈,某些SSH工具可能导致未知的编译错误。 - 重要配置项:在编译配置界面,请务必勾选
Enable extra low-level configuration options选项,否则部分高级设置将不会显示。
启动引脚配置 (GPIO pins to set at micro-controller startup)
重要提示
- 此选项用于在微控制器启动时,强制设置特定GPIO引脚的电平状态。
- 需要切换英文输入法,否则无法编译固件
-
配置语法:
- 在引脚前添加
!表示启动时将该引脚拉低(低电平),不加!则表示拉高(高电平)。 - STM32系列:引脚号必须使用大写格式,请按实际主板文档填写。
- RP2040系列:引脚号必须使用小写格式,请按实际主板文档填写。
- 在引脚前添加
-
多引脚配置:如需配置多个引脚,请用英文逗号
,分隔。- 示例:
!<pin_a>,!<pin_b>,<pin_c>表示启动时将前两个引脚拉低,同时将第三个引脚拉高。
- 示例:
安全性说明
您配置的 GPIO pins to set at micro-controller startup 仅在 Klipper 启动连接前生效。一旦 Klipper 完成连接并正常运行时,此设置不会影响引脚的其他任何操作,可安全使用。
全局 GPIO 启动状态
FLYOS-Klipper 功能
GPIO state at micro-controller startup 是 FLYOS-Klipper 提供的扩展功能,标准 Klipper 版本可能没有此选项。没有主板或工具板文档的明确要求时,请保持默认的 Not set。
该选项用于在微控制器启动阶段,为大部分物理 GPIO 统一设置一个初始状态。它与上面的 GPIO pins to set at micro-controller startup 作用不同:
| 配置项 | 作用范围 |
|---|---|
GPIO pins to set at micro-controller startup | 只设置输入框中明确填写的引脚;可用 ! 分别指定低电平 |
GPIO state at micro-controller startup | 为其余可用物理 GPIO 统一设置同一种启动状态 |
以下引脚不会被全局状态覆盖:
- 填入
GPIO pins to set at micro-controller startup的引脚。 - 固件为 UART、USB、CAN、USB 转 CAN 等当前通信功能保留的引脚。
可选状态
| 选项 | 启动阶段行为 | 使用建议 |
|---|---|---|
Not set | 不统一修改其余 GPIO 的启动状态 | 默认和推荐选项 |
Input pull-up | 将其余 GPIO 配置为上拉输入 | 仅在硬件设计明确要求时使用 |
Input pull-down | 将其余 GPIO 配置为下拉输入 | 仅在硬件设计明确要求时使用 |
Output high | 将其余 GPIO 配置为高电平输出 | 风险较高,仅按产品文档使用 |
Output low | 将其余 GPIO 配置为低电平输出 | 风险较高,仅按产品文档使用 |
不要盲目设置全局输出状态
Output high 或 Output low 会在 Klipper 建立连接前改变大量 GPIO 的电平。错误选择可能使风扇、加热器、驱动使能或其他外设产生非预期动作。除非对应 FLY 产品文档明确指定,否则必须选择 Not set。
使用方法
- 在
make menuconfig中启用Enable extra low-level configuration options。 - 如有需要,先在
GPIO pins to set at micro-controller startup中填写需要单独控制的例外引脚,例如!gpio18。多个引脚使用英文逗号分隔。 - 进入
GPIO state at micro-controller startup:- 普通固件选择
Not set。 - 只有产品文档明确要求全局状态时,才选择对应的输入或输出状态。
- 普通固件选择
- 按
Q退出,出现 Save configuration 时按Y保存,然后重新编译并按产品烧录教程更新固件。 - 烧录完成后,将下位机完全断电,再重新上电。
Not set 不会关闭单独启动引脚选择 Not set 只表示“不统一修改其余 GPIO”。在 GPIO pins to set at micro-controller startup 中填写的 !gpio18、!PA15 或其他引脚仍会按照各自配置生效。
刷写失败恢复与通用保护
- 刷错固件的保护:
Katapult、HID和Bootloader这三类固件本身具有保护机制。只要不进入特殊的 DFU 模式进行烧录,即使刷错了主固件,它们也不会被覆盖,主板不会“变砖”。 - 刷写完成后的必要操作:任何固件烧录完成后,请务必将下位机彻底断电一次(拔掉电源线),再重新上电,以确保新固件被正确加载并稳定运行。
固件烧录说明
烧录前须知
- 设备识别:使用
Katapult烧录时,请确保上位机能识别到设备。若无法找到设备,请快速双击主板上的重置按键以重新进入烧录模式。或者重新烧录主板的BL固件 - 遵循规范:请严格遵循官方教程的烧录方法,使用其他未经验证的方式可能导致设备损坏。
- 编译检查:烧录前,请务必确认固件没有编译错误,错误的固件文件将导致烧录失败或设备无法正常工作。
Katapult 固件刷错恢复
- 找到主板上的物理重置按钮并快速双击。
- 正常情况下,Fly主板中会有一个LED指示灯开始闪烁,表示已成功进入
Katapult模式。 - 此时可进入
Katapult模式,并重新烧录正确的 Klipper 固件。
Bootloader 固件刷错恢复
- 将存有正确固件的 TF 卡重新插入主板。
- 若无法刷入,请先完全断电,插入 TF 卡后再重新上电。
- 保持通电约 5 秒,即可完成自动刷写。
Katapult安装烧录依赖
重要
- 如果您使用的是非Fly官方上位机,请务必执行以下命令安装固件烧录依赖包!
- 下方仓库二选一即可
- github仓库
cd && git clone https://github.com/Arksine/katapult.git
- 中国区域镜像仓库
cd && git clone https://cnb.cool/3dmellow/public/katapult
Loading...
Loading...