跳到主要内容

固件编译说明

重要安全提示

为确保系统稳定运行,请务必遵循以下固件使用原则:

  • 固件编译一致性: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 startupFLYOS-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 highOutput low 会在 Klipper 建立连接前改变大量 GPIO 的电平。错误选择可能使风扇、加热器、驱动使能或其他外设产生非预期动作。除非对应 FLY 产品文档明确指定,否则必须选择 Not set

使用方法

  1. make menuconfig 中启用 Enable extra low-level configuration options
  2. 如有需要,先在 GPIO pins to set at micro-controller startup 中填写需要单独控制的例外引脚,例如 !gpio18。多个引脚使用英文逗号分隔。
  3. 进入 GPIO state at micro-controller startup
    • 普通固件选择 Not set
    • 只有产品文档明确要求全局状态时,才选择对应的输入或输出状态。
  4. Q 退出,出现 Save configuration 时按 Y 保存,然后重新编译并按产品烧录教程更新固件。
  5. 烧录完成后,将下位机完全断电,再重新上电。
Not set 不会关闭单独启动引脚

选择 Not set 只表示“不统一修改其余 GPIO”。在 GPIO pins to set at micro-controller startup 中填写的 !gpio18!PA15 或其他引脚仍会按照各自配置生效。

刷写失败恢复与通用保护
  • 刷错固件的保护:KatapultHIDBootloader 这三类固件本身具有保护机制。只要不进入特殊的 DFU 模式进行烧录,即使刷错了主固件,它们也不会被覆盖,主板不会“变砖”。
  • 刷写完成后的必要操作:任何固件烧录完成后,请务必将下位机彻底断电一次(拔掉电源线),再重新上电,以确保新固件被正确加载并稳定运行。

固件烧录说明

烧录前须知
  • 设备识别:使用 Katapult 烧录时,请确保上位机能识别到设备。若无法找到设备,请快速双击主板上的重置按键以重新进入烧录模式。或者重新烧录主板的BL固件
  • 遵循规范:请严格遵循官方教程的烧录方法,使用其他未经验证的方式可能导致设备损坏。
  • 编译检查:烧录前,请务必确认固件没有编译错误,错误的固件文件将导致烧录失败或设备无法正常工作。

Katapult 固件刷错恢复

  1. 找到主板上的物理重置按钮快速双击
  2. 正常情况下,Fly主板中会有一个LED指示灯开始闪烁,表示已成功进入 Katapult 模式。
  3. 此时可进入Katapult 模式,并重新烧录正确的 Klipper 固件。

Bootloader 固件刷错恢复

  1. 将存有正确固件的 TF 卡重新插入主板。
  2. 若无法刷入,请先完全断电,插入 TF 卡后再重新上电。
  3. 保持通电约 5 秒,即可完成自动刷写。

Katapult安装烧录依赖

重要
  • 如果您使用的是非Fly官方上位机,请务必执行以下命令安装固件烧录依赖包!
  • 下方仓库二选一即可
  • github仓库
    cd && git clone https://github.com/Arksine/katapult.git
  • 中国区域镜像仓库
    cd && git clone https://cnb.cool/3dmellow/public/katapult
Loading...

Loading...