跳到主要内容

USB桥接CAN固件烧录

固件编译简明指南

注意事项

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

SSH登录与用户切换

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

切换用户:

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

固件编译操作指南

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

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

开始固件编译

下面介绍如何编译固件:

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

    cd ~/klipper && rm -rf ~/klipper/.config && rm -rf ~/klipper/out && make menuconfig
  • 其中 rm -rf ~/klipper/.config && rm -rf ~/klipper/out是删除之前编译数据与固件

  • make menuconfig是编译固件,执行后应该出现下方界面

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

    Loading...
  • 进入菜单Micro-controller Architecture然后选择STMicroelectronics STM32回车

    Loading...
  • 进入菜单Processor model,选择STM32F405回车

    Loading...
  • 选择Bootloader offset,选择:32KiB bootloader

    Loading...
  • 选择Communication interface,选择:USB to CAN bus bridge (USB on PA11/PA12)

  • 按照图片选择CAN bus interface (CAN bus (on PB8/PB9)) --->

    Loading...
  • Q 键,出现 Save configuration,这时再按 Y
    Loading...
  • 现在应该保存了配置并且退出到了命令行界面
  • 输入下方指令开始编译,时间有点长
make -j4
Loading...
  • 最后输出下面的内容则编译成功
  • 因Klipper版本问题只需要出现out/klipper.bin则代表成功
    Linking out/klipper.elf
    Creating bin file out/klipper.bin

固件烧录

提示

执行下面的命令来烧录固件

fly-flash -d auto -h -f /data/klipper/out/klipper.bin
Loading...
Loading...

搜索CAN ID

  1. 打开浏览器,在网址栏中输入上位机的IP地址,比如我上位机IP是192.168.101.179直接输入然后回车即可
Loading...
  1. 打开上位机的WEB界面,在左侧边栏的配置选项里找到:
  • fluidd为: {…} ,点击进去,即可找到 printer.cfg
Loading...
  • mainsail为:机器,点击进去,即可找到 printer.cfg
Loading...

3.点击printer.cfg 进去后,在点击右上方的DEVICES

Loading...
Loading...

4.点击CAN ,然后刷新

  • fluidd的刷新
Loading...
  • mainsail的刷新
Loading...

5.复制ID,点击箭头所指即可复制

  • fluidd需要确定第一个箭头所指的是否是Klipper,如果是即可点击右边箭头所指的复制
Loading...
  • mainsail需要确定第一个箭头所指的是否是Klipper,如果是即可点击右边箭头所指的复制
Loading...

填写CAN ID

  1. 关闭DEVICES填写ID
须知
  • 请将配置文件中的:
[mcu] 
serial: /tmp/klipper_host_mcu

修改为

[mcu host] 
serial: /tmp/klipper_host_mcu
  • 添加:
[mcu]
canbus_uuid: <这里替换为你刚刚查询到的ID>
  • fluidd中找到[MCU]
Loading...
  • mainsail中找到[MCU]
Loading...
  1. 将ID填写到配置中
提示
  • 填写好ID后点击右上方的SAVE & RESTART
Loading...
Loading...
  1. 若Klipper提示 ADC out of range 此为正常现象,将热床和热敏连接到主板,并配置好喷头、热床的热敏引脚,再保存重启即可。
危险

注意:文档中所出现的所有ID均为示例,实际每个主板的ID均不相同,请填写实际获取到的ID。


Loading...