CAN 固件编译
开始编译
- 需要使用安装好
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,选择STM32H723回车
-
选择Bootloader offset,选择:128KiB bootloader
-
选择Clock Reference (8 MHz crystal),选择:25 MHz crystal
-
Communication interface,选择:CAN bus (on PB8/PB9)
-
选择GPIO pins to set at micro-controller startup,输入:!PA15 请注意!是大写
-
按
Q
键,出现 Save configuration,这时再按Y
键 -
现在应该保存了配置并且退出到了命令行界面
-
输入
make -j4
开始编译,时间有点长 -
最后输出下面的内容则编译成功
Linking out/klipper.elf
Creating hex file out/klipper.bin
搜索设备
- 请确保上位机可以正常联网
- 请确保下位机连接上位机的数据线具有数据传输功能
- SSH连接连接到上位机后输入
lsusb
并且回车,将可能出现下面三种情况- 显示已经识别到的USBS设备
- 提示没有
ls
指令,可以执行此命令安装sudo apt-get install usbutils
- 没有报错,没有其他信息(系统问题需要更换系统)
- 输入
lsusb
后什么反应都没有,这是系统问题这边无能为力,你需要更换确定正常的系统 - 如果出现下方图片中圈起来的信息,就可以进行下一步
1d50:606f
属于本次你要用到的设备。后面的提示你不需要管,因为系统问题可能会导致他显示不全或者干脆不显示- 如果有两个
1d50:606f
,你需要确定为什么有两个,并且需要排除其中一个后重启系统 - 两个
1d50:606f
会影响后续烧录与固件连接,如FLY MINI PAD
则建议只使用板载UTOC不要其他CAN桥接设备 - 如果没有
1d50:606f
,请自行检查数据线是否接好,固件有没有刷对。
注意事项
有1d50:606f
时候才能进行下一步
烧录固件
- 烧录固件前使用XT30数据线将工具板连接到UTOC或者刷了桥接固件的主板,下方是参考接线图
- 请注意拨码是否拨到对应地方
- 连接UTOC参考
- 请确保CAN H与CAN L在断电情况下使用万用表测量阻值在
60Ω
左右,如果是120Ω
则需要接上120Ω
跳线,如果是40Ω
左右需要将跳线移除
ヒント
- 找ID与刷固件都建议不要在打印过程中进行
- 同一个主板或者工具板Katapult的CAN固件与Klipper的CAN固件他们ID完全一致
警告
- 请确保上位机的can网络已经配置
- lsusb后有
1d50:606f
时候才能使用下方命令搜索CAN ID - 工具版CAN速率要与上位机一致否则无法找到ID并且烧录
-
执行下面的命令查询CANBus UUID:
~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0