Katapult(Bootloader)固件
FLY-SHT36 V2 出厂时已经预刷 Katapult。正常使用和更新 Klipper 固件时不要重复烧录本页固件;本页仅用于 Bootloader 恢复或明确需要更新 Katapult 的场景。
固件说明
Katapult 原名 CanBoot,两者在旧教程或旧固件名称中可能同时出现。
Katapult 是用于引导和更新 Klipper 的 Bootloader:
- Katapult 本身不能作为 Klipper MCU 使用,烧录后仍需写入与硬件和通信方式匹配的 Klipper 固件。
- 支持的工具板可以通过快速双击
RESET按键进入 Katapult;进入后通常会有状态灯闪烁。 - CAN、RS232 和 USB 使用相互独立的 Katapult 固件,不能只修改文件名或直接混用。
- CAN 固件还必须选择正确的总线速率,常见速率为
500K和1M。
- FLY-SHT36 V2 仅使用 CAN 通信。
- 本页提供
500K、1M两种 CAN 速率的 Katapult 固件。 - FLY-SHT36 V2 存在 STM32F072、APM32F072 和 STM32F103 三种 MCU 版本,烧录方法不能混用。
- STM32F072:可以通过 Windows、Linux 或 FLYOS 的 DFU 方式烧录。
- APM32F072:只能使用 Windows 下的 DFUProgrammer 烧录。
- STM32F103:本页仅支持在原 Katapult 仍能通过 CAN 通信时进行在线更新。
固件型号和 CAN 速率都必须与实际硬件、上位机及同一总线上的其他 CAN 设备一致。
进入烧录模式
本步骤仅适用于 STM32F072 和 APM32F072。STM32F103 在线更新不需要进入 USB DFU 模式。
开始前请完全关闭打印机并断开电源供应。不要在通电状态下插拔线束、整理接口线序或触碰端子。
图中标出的是 BOOT 焊盘:
- 保持工具板完全断电。
- 使用跳线帽短接
BOOT焊盘。 - 使用带数据传输功能的 Type-C 线连接工具板与电脑或上位机。
- 设备被识别后移除
BOOT跳线帽。
烧录固件
- Windows
- Linux / FLYOS
- STM32F072
- APM32F072
下载 STM32F072 Katapult 固件:
.txt 或其他扩展名。- STM32CubeProgrammer
- DFU-AUTO
连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。
部分电脑的 USB 接口可能因驱动或信号兼容性导致烧录不稳定。连接失败时可以更换电脑 USB 接口或使用质量可靠的 USB 扩展坞;出现下图错误时也应先检查 USB 连接和驱动。
- 从辅助软件下载页下载并安装
SetupSTM32CubeProgrammer和 STM32 DFU 驱动。 - 将本页下载的固件保存到电脑中便于查找的位置。
Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 .bin 或 .hex,不要修改文件后缀。
- 确认设备已经按产品教程进入 DFU 烧录模式,再通过带数据传输功能的 USB 线连接电脑。
- 打开 STM32CubeProgrammer,选择 USB 模式,刷新设备列表并连接。
- 没有出现错误弹窗时表示连接成功。
- 点击左侧下载图标,并按下图勾选烧录选项。
- 点击
Browse,选择需要烧录的固件。
- 烧录
.bin固件时,将Start address设置为0x08000000;使用.hex固件时保持文件自带地址。
- 点击
Start automatic mode开始烧录。
- 出现成功提示后,表示固件烧录完成。
连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。
- 下载并运行 FLY DFU-AUTO。
- 若“驱动状态”显示不可用,点击“安装驱动”完成 WinUSB 驱动安装。
- 点击“浏览”,选择需要烧录的
.bin固件文件。
Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 .bin,不要修改文件后缀。
- 点击“开始烧录”,通过运行日志查看进度并等待烧录完成。
详细教程:FLY DFU-AUTO 下载与使用
下载 APM32F072 使用的 Katapult 固件:
.txt 或其他扩展名。连接或重新插拔 USB 线之前,请先完全关闭打印机并断开其他电源供应。不要让工具板同时通过打印机电源和 USB 接口供电。
- 从辅助软件下载页下载并解压
DFUProgrammer。 - 手动安装工具包内的 APM32 DFU 驱动。
- 将本页下载的固件保存到电脑中便于查找的位置。
Windows 可能隐藏文件扩展名。请在文件资源管理器中勾选“文件扩展名”,确认固件仍为 .bin,不要修改文件后缀。
- 确认设备已经按产品教程进入 DFU 烧录模式,再通过带数据传输功能的 USB 线连接电脑。
- 打开 DFUProgrammer,按下图选择设备和固件。
- 点击“开始更新固件”,等待进度完成。出现成功提示后再按本页“完成烧录”的要求断电和恢复接线。
- STM32F072(DFU)
- STM32F103(CAN 更新)
- Linux
- FLYOS
- 安装烧录工具。sudo apt updatesudo apt install dfu-util -y
- 确认设备已进入 DFU 烧录模式。lsusb
若能看到 0483:df11,表示已成功进入 DFU 烧录模式。
Loading... - 拉取/更新固件仓库。git clone https://cnb.cool/3dmellow/FLY-Firmware ~/FLY-Firmwarecd ~/FLY-Firmware && git pull --ff-only
- 烧录固件。
FLY_SHT36V2_072_CANBOOT_500K.binsudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D ~/FLY-Firmware/ToolBoard/SHT36/FLY_SHT36V2_072_CANBOOT_500K.binFLY_SHT36V2_072_CANBOOT_1M.binsudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D ~/FLY-Firmware/ToolBoard/SHT36/FLY_SHT36V2_072_CANBOOT_1M.bin - 出现 File downloaded successfully 则表示烧录成功。Loading...
- FLY 上位机通常已内置 dfu-util,无需重复安装烧录工具。
- 确认设备已进入 DFU 烧录模式。lsusb
若能看到 0483:df11,表示已成功进入 DFU 烧录模式。
Loading... - 拉取/更新固件仓库。git clone https://cnb.cool/3dmellow/FLY-Firmware /data/FLY-Firmwareln -s /data/FLY-Firmware /root/FLY-Firmwarecd /data/FLY-Firmware && git pull --ff-only
- 烧录固件。
FLY_SHT36V2_072_CANBOOT_500K.binsudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D /data/FLY-Firmware/ToolBoard/SHT36/FLY_SHT36V2_072_CANBOOT_500K.binFLY_SHT36V2_072_CANBOOT_1M.binsudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D /data/FLY-Firmware/ToolBoard/SHT36/FLY_SHT36V2_072_CANBOOT_1M.bin - 出现 File downloaded successfully 则表示烧录成功。Loading...
此方法通过 CAN 更新原有 Katapult。只有工具板仍能进入 Katapult、能够查询到 CAN UUID 时才可使用;Bootloader 已损坏或 CAN 无法通信时不要继续执行。
- 拉取或更新固件仓库。
- Linux
- FLYOS
cd ~
git clone https://cnb.cool/3dmellow/FLY-Firmware.git
已经下载过时执行:
git -C ~/FLY-Firmware pull --ff-only
git clone https://cnb.cool/3dmellow/FLY-Firmware.git /data/FLY-Firmware
ln -s /data/FLY-Firmware /root/FLY-Firmware
已经下载过时执行:
git -C /data/FLY-Firmware pull --ff-only
- 查询处于 Katapult 模式的工具板 CAN UUID:
~/klippy-env/bin/python ~/klipper/lib/katapult/flashtool.py -q
- 将命令中的
<CAN_UUID>替换为实际查询结果,再根据 CAN 速率只执行其中一条命令:
CAN 500K:
~/klippy-env/bin/python ~/klipper/lib/katapult/flashtool.py -f ~/FLY-Firmware/ToolBoard/SHT36/FLY_SHT36V2_103_CANBOOT_500K.BIN -u <CAN_UUID>
CAN 1M:
~/klippy-env/bin/python ~/klipper/lib/katapult/flashtool.py -f ~/FLY-Firmware/ToolBoard/SHT36/FLY_SHT36V2_103_CANBOOT_1M.BIN -u <CAN_UUID>
旧系统中没有 lib/katapult/flashtool.py 时,才使用以下兼容命令:
CAN 500K:
~/klippy-env/bin/python ~/klipper/lib/canboot/flash_can.py -f ~/FLY-Firmware/ToolBoard/SHT36/FLY_SHT36V2_103_CANBOOT_500K.BIN -u <CAN_UUID>
CAN 1M:
~/klippy-env/bin/python ~/klipper/lib/canboot/flash_can.py -f ~/FLY-Firmware/ToolBoard/SHT36/FLY_SHT36V2_103_CANBOOT_1M.BIN -u <CAN_UUID>
完成烧录
烧录完成后,先断开工具板 USB 和外部供电,再移除 BOOT 跳线帽并恢复正常接线。不要在通电状态下插拔工具板线束。
重新上电后,Katapult 正常启动时状态灯会闪烁: