본문으로 건너뛰기

USB 固件编译

  • Micro4出厂已经预刷USB连接的Katapult固件无需自己在刷一次

开始编译

  • 需要使用安装好klipper服务的上位机 通过网络连接SSH
  • 并且将设备与上位机连接好
  • 注意:请使用普通的上位机,比如树莓派 FLY派等,如果是魔改上位机因为问题太多这边无法提供太多帮助
注意事项
  • 请不要使用ROOT用户
  • 请确保上位机可以正常联网
  • 固件编译前需要使用SSH通过网络登录上位机
  • 请不要使用串口工具登录上位机

Klipper固件编译配置页面操作说明

请确保键盘输入法为半角模式,即英文模式

  1. 键盘上键,下键,用于上下移动光标来选中菜单项
  2. 确认键Enter 或 空格键Space,用于勾选菜单或进入子菜单
  3. 退出键ESC,用于返回上一级菜单
  4. Q键,用于退出Klipper固件配置页面
  5. Y键,在退出Klipper固件配置页面时,如果有提示,则点击Y键保存配置文件
경고

如果配置页面选项比较少,请先勾选[ ] Enable extra low-level configuration options,用于显示部分隐藏选项

下面介绍如何编译固件:

  • 连接到SSH后输入下面的命令并回车:

    cd ~/klipper && rm -rf ~/klipper/.config && rm -rf ~/klipper/out && make menuconfig
  • 其中 rm -rf ~/klipper/.config && rm -rf ~/klipper/out是删除之前编译数据与固件make menuconfig是编译固件,执行后应该出现下方界面

  • 选择Enable extra low-level configuration options并且回车

  • 进入菜单Micro-controller Architecture然后选择Raspberry Pi RP2040回车

  • 选择Bootloader offset,选择:16KiB bootloader

  • Communication interface,选择:USBSERIAL

  • Q 键,出现 Save configuration,这时再按 Y

  • 现在应该保存了配置并且退出到了命令行界面

  • 输入 make -j4 开始编译,时间有点长

  • 最后输出下面的内容则编译成功

    Linking out/klipper.elf
    Creating hex file out/klipper.bin

确认是否进入烧录模式

  • 请确保上位机可以正常联网

  • 请确保下位机连接上位机的数据线具有数据传输功能

  • SSH连接连接到上位机后输入lsusb并且回车,将可能出现下面三种情况

    • 显示已经识别到的USB设备
    • 提示没有ls指令,可以执行此命令安装
      sudo apt-get install usbutils
    • 没有报错,没有其他信息(系统问题需要更换系统)
  • 输入lsusb后什么反应都没有,这是系统问题这边无能为力,你需要更换确定正常的系统

  • 如果出现下方图片中圈起来的信息,就可以进行下一步

  • 1d50:6177 属于本次你要用到的设备。后面的提示你不需要管,因为系统问题可能会导致他显示不全或者干脆不显示

  • 如果没有,请自行检查数据线是否接好或者主板是否处于Katapult模式下(原名CANBOOT)

注意事项

1d50:6177时候才进行下一步

烧录固件

使用Katapult固件可以方便以后直接通过SSH更新固件,无需在进入DFU烧录固件

安装烧录插件

请注意安装烧录插件需要上位机能联网 如果已经安装过则无需再次安装

  • 安装pip install pyserial

    pip install pyserial
  • 如果提示-bash: pip: command not found需要执行

    sudo apt-get install pip
  • 如果提示出现下方报错需要执行

    pip install pyserial --break-system-packages

开始烧录固件

  • 使用下方指令搜索你的设备串口地址

    ls /dev/serial/by-id/*
  • 下方是参考

  • 烧录固件使用下方代码,请确保已经编译好固件,请注意=后面没有空格

  • 请注意你需要在klipper目录下才能烧录固件

    make flash FLASH_DEVICE=<你的设备串口地址>
  • 下方是参考

  • 烧录完成参考

更新固件方法

  • 更新USB固件需要在编译好最新固件后输入下方命令更新,请注意=后面没有空格

    make flash FLASH_DEVICE=<你的设备串口地址>
  • 更新USB桥接CAN固件需要在编译好最新固件后输入下方命令重置进去Katapult

  • 请注意只能给USB桥接CAN的klipper固件执行,其他固件执行会报错

    ~/klippy-env/bin/python3 ~/katapult/scripts/flashtool.py -i can0 -r -u <MCU ID>
  • 重置进去Katapult后在执行下方执行更新固件

    make flash FLASH_DEVICE=<你的设备串口地址>

刷错固件解决方法

  • 主板断电,重新上电后快速点击两次主板重置即可
  • 或者使用WINDOWS清理固件后重新刷BL