燒錄 Katapult
Katapult(前身為 CANBoot)是 Klipper 生態系中常用的開機程式(Bootloader),可讓您無需拆卸或透過 USB 連接,直接透過 CAN 匯流排為 EBB42 工具板無線更新韌體。
1. 正確的 EBB42 Katapult 編譯設定
請回到 katapult 資料夾,執行 make menuconfig 並按照以下參數設定:
- Micro-controller Architecture: Stm32
- Processor model: STM32G0B1
- Build Layout: No bootloader (因為 Katapult 自己就是引導程式)
- Clock Reference: 8 MHz crystal
- Communication interface: USB (on PA11/PA12) <-- 關鍵:選這個才會出現 /dev/serial/by-id/
- Application start offset: 8KiB offset (這決定了之後 Klipper 存放在哪裡)
- Support bootloader entry on rapid double click of reset button: Enabled (非常有用的功能,快速按兩下 Reset 就能進入燒錄模式)
- Enable Status LED: Enabled
- Status LED GPIO Pin: PA13 (EBB42 的藍燈)
2. 重新燒錄 Katapult
編譯完後(make),再次進入 DFU 模式燒錄:
sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000:force:mass-erase -D out/katapult.bin
重啟後,假如還沒燒錄 klipper firmware,會直接進入 Katapult,藍色 LED 閃爍。
把 EBB42 刷成 「USB 轉 CAN 橋接網卡」
進入 Klipper 的 make menuconfig:
- Micro-controller Architecture: STM32
- Processor model: STM32G0B1
- Communication interface: 💡 關鍵! 選擇 USB to CAN bus bridge
- CAN interface: 選擇板子上連向 CAN 晶片的腳位(EBB42 v1.1/v1.2 通常是 CAN bus (on PB0/PB1),請對照你的原廠 Pinout)。
- CAN bus speed: 1000000。
燒錄指令
$ ~/klippy-env/bin/python ~/katapult/scripts/flashtool.py -d /dev/serial/by-id/usb-katapult_stm32g0b1xx_3E0034000250505539323520-if00
刷好之後,用 USB 線把它插上 Orange Pi。這時候,這張燒掉驅動的 EBB42 在 Linux 系統裡,就會直接變成標準的 can0 實體網卡!
------------------------
$ ip -s link show can0
5: can0: <NOARP,UP,LOWER_UP,ECHO> mtu 16 qdisc pfifo_fast state UP mode DEFAULT group default qlen 10
link/can
RX: bytes packets errors dropped missed mcast
0 0 0 0 0 0
TX: bytes packets errors dropped carrier collsns
0 0 0 0 0 0
------------------------
沒有留言:
張貼留言