跳到主要内容

RS232 固件编译

烧录前须知

  • RS232固件需要通过工具板的Type-C与上位机连接后才能烧录

设置拨码开关

  1. 安全断电:操作前请确保工具板与电源完全断开。
  2. 定位拨码:将工具板翻转。找到背面的拨码开关组。
  3. 切换模式:将所有拨码开关拨至 RS232模式 指定位置(见下图)。
Loading...

警告

  • 若拨码开关状态有更改。必须重新烧录RS232固件。否则无法通信。
  • 若此前已烧录正确固件且未更改拨码。则无需重复烧录。

开始编译

固件编译简明指南

注意事项

  • 网络: 确保上位机(树莓派等)已联网
  • 登录方式: 必须使用 SSH 通过网络登录,禁用串口
  • 输入法: 保持键盘为英文半角模式

SSH登录与用户切换

使用 MobaXterm、PuTTY 等工具 SSH 登录上位机。

切换用户:

  • 普通系统(树莓派官方系统等)
    禁止使用 root,需切换到普通用户:
    su <用户名>
  • FLY上位机(FlyOS-FAST系统)
    仅支持 root 用户登录(密码: mellow)

固件编译操作指南

在 Klipper 固件配置界面中仅支持键盘操作,无法使用鼠标。

按键功能
↑ / ↓上下移动光标,选择菜单项
Enter / 空格确认选择、勾选选项或进入子菜单
ESC返回上一级菜单
Q退出配置界面
Y退出时,如有提示则按 Y 保存配置

开始固件编译

下面介绍如何编译固件:

  1. 连接到 SSH,输入下面的命令并按 Enter

    cd ~/klipper && rm -rf ~/klipper/.config && rm -rf ~/klipper/out && make menuconfig

    其中,rm -rf ~/klipper/.config && rm -rf ~/klipper/out 用于清除之前的编译配置与固件; make menuconfig 用于打开 Klipper 固件配置界面。

  2. 按照下方顺序逐项设置,每完成一项再继续下一项。

    1启用 Enable extra low-level configuration options
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (Raspberry Pi RP2040/RP235x) --->
    Processor model (rp2040) --->
    Bootloader offset (No bootloader) --->
    Flash chip (W25Q080 with CLKDIV 2) --->
    Communication Interface (UART0 on GPIO0/GPIO1) --->
    (250000) Baud rate for serial port
    [*] Optimize stepper code for 'step on both edges'
    (!gpio5) GPIO pins to set at micro-controller startup
    GPIO state at micro-controller startup (Not set) --->
    2Micro-controller Architecture 选择 Raspberry Pi RP2040/RP235x
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (Raspberry Pi RP2040/RP235x) --->
    Processor model (rp2040) --->
    Bootloader offset (No bootloader) --->
    Flash chip (W25Q080 with CLKDIV 2) --->
    Communication Interface (UART0 on GPIO0/GPIO1) --->
    (250000) Baud rate for serial port
    [*] Optimize stepper code for 'step on both edges'
    (!gpio5) GPIO pins to set at micro-controller startup
    GPIO state at micro-controller startup (Not set) --->
    3Processor model 选择 rp2040
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (Raspberry Pi RP2040/RP235x) --->
    Processor model (rp2040) --->
    Bootloader offset (No bootloader) --->
    Flash chip (W25Q080 with CLKDIV 2) --->
    Communication Interface (UART0 on GPIO0/GPIO1) --->
    (250000) Baud rate for serial port
    [*] Optimize stepper code for 'step on both edges'
    (!gpio5) GPIO pins to set at micro-controller startup
    GPIO state at micro-controller startup (Not set) --->
    4Bootloader offset 选择 No bootloader
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (Raspberry Pi RP2040/RP235x) --->
    Processor model (rp2040) --->
    Bootloader offset (No bootloader) --->
    Flash chip (W25Q080 with CLKDIV 2) --->
    Communication Interface (UART0 on GPIO0/GPIO1) --->
    (250000) Baud rate for serial port
    [*] Optimize stepper code for 'step on both edges'
    (!gpio5) GPIO pins to set at micro-controller startup
    GPIO state at micro-controller startup (Not set) --->
    5Flash chip 选择 W25Q080 with CLKDIV 2
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (Raspberry Pi RP2040/RP235x) --->
    Processor model (rp2040) --->
    Bootloader offset (No bootloader) --->
    Flash chip (W25Q080 with CLKDIV 2) --->
    Communication Interface (UART0 on GPIO0/GPIO1) --->
    (250000) Baud rate for serial port
    [*] Optimize stepper code for 'step on both edges'
    (!gpio5) GPIO pins to set at micro-controller startup
    GPIO state at micro-controller startup (Not set) --->
    6Communication Interface 选择 UART0 on GPIO0/GPIO1
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (Raspberry Pi RP2040/RP235x) --->
    Processor model (rp2040) --->
    Bootloader offset (No bootloader) --->
    Flash chip (W25Q080 with CLKDIV 2) --->
    Communication Interface (UART0 on GPIO0/GPIO1) --->
    (250000) Baud rate for serial port
    [*] Optimize stepper code for 'step on both edges'
    (!gpio5) GPIO pins to set at micro-controller startup
    GPIO state at micro-controller startup (Not set) --->
    7Baud rate for serial port 设置为 250000
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (Raspberry Pi RP2040/RP235x) --->
    Processor model (rp2040) --->
    Bootloader offset (No bootloader) --->
    Flash chip (W25Q080 with CLKDIV 2) --->
    Communication Interface (UART0 on GPIO0/GPIO1) --->
    (250000) Baud rate for serial port
    [*] Optimize stepper code for 'step on both edges'
    (!gpio5) GPIO pins to set at micro-controller startup
    GPIO state at micro-controller startup (Not set) --->
    8启用 Optimize stepper code for 'step on both edges'
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (Raspberry Pi RP2040/RP235x) --->
    Processor model (rp2040) --->
    Bootloader offset (No bootloader) --->
    Flash chip (W25Q080 with CLKDIV 2) --->
    Communication Interface (UART0 on GPIO0/GPIO1) --->
    (250000) Baud rate for serial port
    [*] Optimize stepper code for 'step on both edges'
    (!gpio5) GPIO pins to set at micro-controller startup
    GPIO state at micro-controller startup (Not set) --->
    9GPIO pins to set at micro-controller startup 设置为 !gpio5
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (Raspberry Pi RP2040/RP235x) --->
    Processor model (rp2040) --->
    Bootloader offset (No bootloader) --->
    Flash chip (W25Q080 with CLKDIV 2) --->
    Communication Interface (UART0 on GPIO0/GPIO1) --->
    (250000) Baud rate for serial port
    [*] Optimize stepper code for 'step on both edges'
    (!gpio5) GPIO pins to set at micro-controller startup
    GPIO state at micro-controller startup (Not set) --->
    10GPIO state at micro-controller startup 选择 Not set

    此项是 FLYOS-Klipper 功能。通常保持 Not set;如需设置全部 GPIO 的启动状态,请先阅读 GPIO 启动状态使用说明

    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (Raspberry Pi RP2040/RP235x) --->
    Processor model (rp2040) --->
    Bootloader offset (No bootloader) --->
    Flash chip (W25Q080 with CLKDIV 2) --->
    Communication Interface (UART0 on GPIO0/GPIO1) --->
    (250000) Baud rate for serial port
    [*] Optimize stepper code for 'step on both edges'
    (!gpio5) GPIO pins to set at micro-controller startup
    GPIO state at micro-controller startup (Not set) --->
    11Q 键退出配置界面
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (Raspberry Pi RP2040/RP235x) --->
    Processor model (rp2040) --->
    Bootloader offset (No bootloader) --->
    Flash chip (W25Q080 with CLKDIV 2) --->
    Communication Interface (UART0 on GPIO0/GPIO1) --->
    (250000) Baud rate for serial port
    [*] Optimize stepper code for 'step on both edges'
    (!gpio5) GPIO pins to set at micro-controller startup
    GPIO state at micro-controller startup (Not set) --->
    12出现 Save configuration 时按 Y 保存配置
    Quit
    Save configuration?
    (Y)es(N)o(C)ancel
  3. 完成上方最后两个步骤,按 Q 退出配置界面,再按 Y 保存配置。

  4. 返回命令行后输入下面的命令并按 Enter 开始编译:

    make -j4
    root@flyos-11e5f8 ~/klipper # make -j4
    Compiling out/src/generic/timer_irq.o
    Compiling out/src/rp2040/bootrom.o
    Compiling out/src/rp2040/serial.o
    Compiling out/src/generic/serial_irq.o
    Compiling out/src/rp2040/hard_pwm.o
    Compiling out/src/rp2040/spi.o
    Compiling out/src/rp2040/i2c.o
    Preprocessing out/src/rp2040/rpxxxx_link.ld
    Building out/compile_time_request.o
    Version: XXXX
    Linking out/klipper.elf
    Creating uf2 file out/klipper.uf2

    终端末尾出现 Linking out/klipper.elf Creating uf2 file out/klipper.uf2,即表示编译成功。 实际编译时,部分 Compiling 行和 Version 会随 Klipper 与系统版本变化。

进入烧录模式

提示

箭头所指为BOOT按键

  • 工具板在完全断电情况下,按住BOOT按键,使用带有数据传输功能的Type-C数据线,将工具板连接至您上位机的USB接口,正确连接至上位机后即可松开BOOT按键
    Loading...

烧录RS232固件

  • 请注意当前工具板是处于固件烧录模式,只能烧后缀名为uf2的固件

  • 通过下方命令将固件烧录到工具板

    cd && cd ~/klipper/
    make flash FLASH_DEVICE=2e8a:0003
    提示

    如果是上位机写好系统后第一次烧录,可能会出现和下图红圈中一样的提示——出现部分红色提示,此为正常现象,并非报错。

    Loading...

确认固件是否启动

  • 如果固件正常启动,则下图所示的LED会亮起来
    Loading...
Loading...