跳到主要内容

固件编译说明

重要安全提示

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

  • 固件编译一致性: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。

使用方法​

  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 或其他引脚仍会按照各自配置生效。

刷写失败恢复与通用保护
  • 刷错固件的保护:Katapult、HID 和 Bootloader 这三类固件本身具有保护机制。只要不进入特殊的 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...