USB 固件编译
开始编译
- 需要使用安装好
klipper服务的上位机 通过网络连接SSH - 并且将设备与上位机连接好
- 注意:请使用普通的上位机,比如树莓派 FLY派等,如果是魔改上位机因为问题太多这边无法提供太多帮助
- 请不要使用
ROOT用户
- 请确保上位机可以正常联网
- 固件编译前需要使用SSH通过网络登录上位机
- 请不要使用串口工具登录上位机
Klipper固件编译配置页面操作说明
请确保键盘输入法为半角模式,即英文模式
- 键盘上键
↑,下键↓,用于上下移动光标来选中菜单项 - 确认键
Enter或 空格键Space,用于勾选菜单或进入子菜单 - 退出键
ESC,用于返回上一级菜单 Q键,用于退出Klipper固件配置页面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然后选择STMicroelectronics STM32回车

-
进入菜单Processor model,选择STM32F072回车

-
选择Bootloader offset,选择:8KiB bootloader

-
Communication interface,选择:USB (on PA11/PA12)

-
按
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 pyserialpip 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