3D 打印主板:Katapult 桥接 CAN 板

2025-11-11 0 226

Katapult 是一种为 ARMCortex-M mcu 设计的引导加载程序。这个引导加载程序最初是为CAN节点设计的,以便与Klipper 一起使用。引导加载程序本身利用了Klipper的硬件抽象层,将内存占用最小化。除了CAN,katapult现在还支持USB和UART接口。目前支持lpc176x、stm32和rp2040三种mcu。CAN支持目前仅限于stm32f系列和rp2040设备。
Klipper 已支持 katapult,通过 CANBUS 直接烧录固件。使用katapult后为主板和Can通讯设备更新klipper固件就无需再连接USB线,保持现有的CAN连接的情况下可直接烧录固件,能够更便捷、高效的更新CAN工具板的固件

刷机流程

刷主板katapult,利用katapult刷主板klipper固件

刷can板katapult,利用katapult刷can板klipper固件

主板固件烧录

1、编译主板katapult 固件即原CanBoot固件

拉取 / 更新 Katapult 源码

首次安装:

cd ~/ && git clone https://github.com/Arksine/katapult

国内仓库:

cd ~/ && git clone https://gitee.com/dimite/katapult.git

已安装则更新:

进入katapult 目录:

配置主板的katapult固件:

3D 打印主板:Katapult 桥接 CAN 板

按主板参数配置芯片架构、通信接口等,配置

按 Q 键,出现 Save configuration,这时再按 Y 键,然后输入make 编译固件,等待固件编译完成。

3D 打印主板:Katapult 桥接 CAN 板
3D 打印主板:Katapult 桥接 CAN 板

2、编译主板的klipper固件

cd ~/klipper && rm -rf ~/klipper/.config && rm -rf ~/klipper/out && make menuconfig
3D 打印主板:Katapult 桥接 CAN 板

按 Q 键,出现 Save configuration,这时再按 Y 键,然后输入make 编译固件,等待固件编译完成。

3D 打印主板:Katapult 桥接 CAN 板
3D 打印主板:Katapult 桥接 CAN 板

3、烧录主板的katapult和klipper固件

3D 打印主板:Katapult 桥接 CAN 板

烧录固件使用下方代码,请确保已经编译好固件,请将<你的主板ID>替换为上一步查询到的ID

sudo dfu-util -a 0 -D ~/katapult/out/katapult.bin --dfuse-address 0x08000000:force:mass-erase -d 0483:df11

刷入成功后,退出dfu并按一下主板上的RESET按键重启主板

输入ls/dev/serial/by-id/即可查询到主板的 UUID,如下图所示:

3D 打印主板:Katapult 桥接 CAN 板

USB/UART设备,请确保上位机安装了pyserial 。此步骤只需要执行一次:

进入katapult的scripts 目录:

输入下面命令用katapult来刷入klipper固件,替换成查询到的uuid

python3 flashtool.py -d /dev/serial/by-id/<替换成查询到的uuid> -b 1000000
3D 打印主板:Katapult 桥接 CAN 板

固件刷写完成后,需进一步配置上位机 Can0 通道

输入命令 sudo nano /etc/network/interfaces.d/can0 打开配置文件

sudo nano /etc/network/interfaces.d/can0

复制并粘贴以下四行命令,务必修改比特率,确保与固件设置保持一致

allow-hotplug can0
iface can0 can static
  bitrate 1000000
  up ifconfig $IFACE txqueuelen 1024
3D 打印主板:Katapult 桥接 CAN 板

确认无误后,Ctrl+X,按Y,然后回车储存离开此页面

如出现 does not exist,我们手动完成目录创建

sudo mkdir /etc/network/interfaces.d
3D 打印主板:Katapult 桥接 CAN 板

重启上位机:

4、查询主板的UUID

~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0

can固件烧录

1、编译can板katapult 固件即原CanBoot固件

进入katapult目录:

配置can板的katapult固件:

3D 打印主板:Katapult 桥接 CAN 板

按 Q 键,出现 Save configuration,这时再按 Y 键,然后输入make 编译固件,等待固件编译完成。

3D 打印主板:Katapult 桥接 CAN 板

2、编译can板klipper 固件

3D 打印主板:Katapult 桥接 CAN 板

按 Q 键,出现 Save configuration,这时再按 Y 键,然后输入make 编译固件,等待固件编译完成。

3D 打印主板:Katapult 桥接 CAN 板
连接CAN板和主板上的CAN通讯接口,确保供电正常,将CAN板和主板的120欧姆的跳线帽均插上。

3、烧录can板的katapult固件

Type-C线将CAN板与上位机连接,进入DFU各个can进入不太一样,eztb按住两个先松开RESET,过1-2秒后松开BOOT0
3D 打印主板:Katapult 桥接 CAN 板
sudo dfu-util -a 0 -d 2e3c:df11 -s 0x08000000:mass-erase:force -D ~/katapult/out/katapult.bin
刷完按RESET重启can板

4、烧录can板的klipper固件

接好24v和can连接线,并通电

 进入Katapult 目录:

查询 Can0 通道下设备的 UUID 用于烧录:

python3 flash_can.py -i can0 -q
3D 打印主板:Katapult 桥接 CAN 板

烧录 Klipper 固件:替换<你的UUID>

python3 flash_can.py -i can0 -f ~/klipper/out/klipper.bin -u 9fa13b428e5b

等待烧录完成后,执行查询命令验证固件状态:

python3 flash_can.py -i can0 -q
3D 打印主板:Katapult 桥接 CAN 板

配置主板canbus_uuid和can板canbus_uuid

3D 打印主板:Katapult 桥接 CAN 板

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

迪米特 – dimit.cn 技巧文章 3D 打印主板:Katapult 桥接 CAN 板 https://www.dimit.cn/diy/article/id:425/

3D 打印主板:Katapult 桥接 CAN 板
下一篇:

已经没有下一篇了!

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务