본문으로 건너뛰기

USB 펌웨어 컴파일

컴파일 시작

펌웨어 컴파일 간단 가이드

주의사항

  • 네트워크: 상위 컴퓨터(라즈베리파이 등)가 인터넷에 연결되어 있는지 확인하세요.
  • 로그인 방식: 반드시 SSH를 통해 네트워크로 로그인하고, 시리얼 포트는 비활성화하세요.
  • 입력기: 키보드를 영문 반각 모드로 유지하세요.

SSH 로그인 및 사용자 전환

MobaXterm, PuTTY 등의 도구를 사용하여 상위 컴퓨터에 SSH로 로그인하세요.

사용자 전환:

  • 일반 시스템(라즈베리파이 공식 시스템 등)
    root 사용을 금지하며, 일반 사용자로 전환해야 합니다:
    su <사용자명>
  • FLY 상위 컴퓨터(FlyOS-FAST 시스템)
    root 사용자 로그인만 지원합니다(비밀번호: mellow).

펌웨어 컴파일 작업 가이드

Klipper 펌웨어 구성 인터페이스에서는 키보드 조작만 지원하며, 마우스는 사용할 수 없습니다.

기능
↑ / ↓커서를 위아래로 이동하여 메뉴 항목 선택
Enter / 스페이스바선택 확인, 옵션 체크 또는 하위 메뉴 진입
ESC상위 메뉴로 돌아가기
Q구성 인터페이스 종료
Y종료 시 메시지가 나타나면 Y를 눌러 구성 저장

펌웨어 컴파일 시작하기

아래에서는 펌웨어를 컴파일하는 방법을 설명합니다:

  1. SSH에 연결한 후 다음 명령어를 입력하고 Enter 키를 누릅니다:

    cd ~/klipper && rm -rf ~/klipper/.config && rm -rf ~/klipper/out && make menuconfig

    여기서 rm -rf ~/klipper/.config && rm -rf ~/klipper/out은 이전 컴파일 구성과 펌웨어를 삭제하는 데 사용됩니다; make menuconfig는 Klipper 펌웨어 구성 인터페이스를 여는 데 사용됩니다.

  2. 아래 순서대로 항목별로 설정하며, 각 항목을 완료한 후 다음 항목을 진행합니다.

    1启用 Enable extra low-level configuration options
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    2Micro-controller Architecture 选择 Raspberry Pi RP2040/RP235x
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (Raspberry Pi RP2040/RP235x) --->
    3Processor model 选择 rp2040
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (Raspberry Pi RP2040/RP235x) --->
    Processor model (rp2040) --->
    4Bootloader offset 选择 16KiB bootloader
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (Raspberry Pi RP2040/RP235x) --->
    Processor model (rp2040) --->
    Bootloader offset (16KiB bootloader) --->
    5Communication Interface 选择 USBSERIAL
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (Raspberry Pi RP2040/RP235x) --->
    Processor model (rp2040) --->
    Bootloader offset (16KiB bootloader) --->
    Communication Interface (USBSERIAL) --->
    6启用 Optimize stepper code for 'step on both edges'
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (Raspberry Pi RP2040/RP235x) --->
    Processor model (rp2040) --->
    Bootloader offset (16KiB bootloader) --->
    Communication Interface (USBSERIAL) --->
    USB ids --->
    [*] Optimize stepper code for 'step on both edges'
    7Q 键退出配置界面
    (Top)
    Klipper Firmware Configuration
    [*] Enable extra low-level configuration options
    Micro-controller Architecture (Raspberry Pi RP2040/RP235x) --->
    Processor model (rp2040) --->
    Bootloader offset (16KiB bootloader) --->
    Communication Interface (USBSERIAL) --->
    USB ids --->
    [*] Optimize stepper code for 'step on both edges'
    () GPIO pins to set at micro-controller startup
    8出现 Save configuration 时按 Y 保存配置
    Quit
    Save configuration?
    (Y)es(N)o(C)ancel
  3. 위의 마지막 두 단계를 완료한 후 Q를 눌러 구성 인터페이스를 종료하고, Y를 눌러 구성을 저장합니다.

  4. 명령줄로 돌아간 후 다음 명령어를 입력하고 Enter 키를 눌러 컴파일을 시작합니다:

    make -j4
    root@flyos-11e5f8 ~/klipper # make -j4
    Compiling out/src/rp2040/bootrom.o
    Compiling out/src/rp2040/usbserial.o
    Compiling out/src/generic/usb_cdc.o
    Compiling out/src/rp2040/chipid.o
    Compiling out/src/rp2040/hard_pwm.o
    Compiling out/src/rp2040/spi.o
    Compiling out/src/rp2040/i2c.o
    Preprocessing out/src/rp2040/rpxxxx_link.ld
    Building out/compile_time_request.o
    Version: XXXX
    Linking out/klipper.elf
    Creating bin file out/klipper.bin

    终端末尾出现 Linking out/klipper.elf Creating bin file out/klipper.bin,即表示编译成功。 实际编译时,部分 Compiling 行和 Version 会随 Klipper 与系统版本变化。

번programing 모드 진입 확인

전원 차단 조치

시작하기 전에 프린터의 전원을 완전히 끄고 전원 공급을 중단해 주세요. 전원이 켜진 상태에서는 케이블을 연결하거나 분리하거나, 선을 정리하거나 단자를 만지지 마십시오.

  • Type-C 데이터 케이블을 사용하여 메인보드를 상위 컴퓨터에 연결한 후, reset 버튼을 두 번 클릭하면 메인보드의 LED 램프가 깜박일 것입니다.
경고
  • LED 램프가 깜박이지 않는 경우, Katapult 펌웨어를 다시 번programing해 주세요: Katapult 펌웨어 번programing
  • LED 램프가 깜박이지 않는 경우, Katapult 펌웨어 번programing이 완료된 후 다음 단계를 진행해 주세요.

펌웨어 번programing

적용 범위

이 절차는 USB Katapult를 통해 방금 컴파일한 Klipper 펌웨어를 플래싱하는 데 사용되며, 현재 페이지에서 선택한 펌웨어 유형만 조작하면 됩니다.

1. Katapult USB ID 검색

비 FLY 공식 상위 컴퓨터는 먼저 Katapult를 설치해야 합니다:

Katapult 설치 방법 보기

다음 명령을 실행하세요:

ls /dev/serial/by-id/*
인식 결과

검색 결과에 usb-katapult_가 포함된 전체 경로가 나타나야 합니다. 예:

/dev/serial/by-id/usb-katapult_<칩 모델>_<장치 ID>-if00

각 하위 컴퓨터의 ID는 모두 다르므로, 자신의 장치에 표시된 전체 경로를 복사하세요.

2. Klipper 펌웨어 플래싱

장치 ID 교체

명령에서 <Katapult USB ID>를 이전 단계에서 검색한 전체 경로로 교체하세요. 꺾쇠괄호는 남기지 마세요.

~/klippy-env/bin/python ~/katapult/scripts/flashtool.py -d <Katapult USB ID>

3. 플래싱 결과 확인

명령 실행이 완료되고 오류가 발생하지 않으면 펌웨어가 기록된 것입니다. 플래싱이 완료되면 Katapult USB ID가 사라집니다. 현재 제품 페이지의 후속 단계에 따라 다시 전원을 켜고 해당 Klipper ID를 검색하세요.

Loading...

펌웨어 재플래싱

이후 이미 플래싱된 Klipper 펌웨어를 업데이트할 때는 Katapult를 반복해서 플래싱할 필요가 없습니다. 먼저 현재 페이지에서 대상 펌웨어를 다시 컴파일한 후, 장치의 현재 상태에 따라 한 가지 방법을 선택하세요.

방법 1: 명령을 사용하여 자동으로 Katapult 진입

현재 usb-Klipper_ ID를 검색할 수 있다면, Klipper가 자동으로 하위 컴퓨터에 Katapult 진입을 요청하고 재플래싱을 완료하도록 할 수 있습니다:

cd ~/klipper && make flash FLASH_DEVICE=<usb-Klipper ID>

<usb-Klipper ID>ls /dev/serial/by-id/*로 검색한 전체 경로로 교체하세요. 명령은 기본적으로 ~/klipper/out/klipper.bin을 사용합니다.

방법 2: RST 더블 클릭 후 수동 플래싱

현재 usb-Klipper_ ID가 없거나 방법 1이 실패한 경우, 다음 방법을 사용하세요:

전원 차단 작업

시작하기 전에 프린터를 완전히 끄고 전원 공급을 차단하세요. 전원이 켜진 상태에서 USB 케이블을 꽂거나 뽑거나 단자를 만지지 마세요.

  1. 전원을 차단한 후 Type-C 데이터 케이블을 다시 연결합니다.

  2. 하위 컴퓨터의 RST 버튼을 빠르게 더블 클릭하고, 상태등이 깜빡일 때까지 기다리면 Katapult에 진입한 것입니다.

  3. Katapult USB ID 검색:

    ls /dev/serial/by-id/*
  4. 검색된 usb-katapult_ ID를 사용하여 플래싱 실행:

    일반 Linux 상위 컴퓨터:

    ~/klippy-env/bin/python ~/katapult/scripts/flashtool.py -d <Katapult USB ID> -f ~/klipper/out/klipper.bin

    FLYOS / FLY 상위 컴퓨터:

    python3 ~/katapult/scripts/flashtool.py -d <Katapult USB ID> -f ~/klipper/out/klipper.bin
주의

재플래싱 시 반드시 현재 연결 방식에 해당하는 펌웨어를 사용해야 합니다. USB 브리지 CAN 펌웨어는 최종적으로 CAN을 통해 작동하지만, Katapult 재플래싱은 여전히 USB ID와 USB 플래싱 명령을 사용합니다.

번programing 후 USB ID 검색

펌웨어 번programing이 완료되고 메인보드에 다시 전원이 공급된 후에는 USB ID를 계속 검색해 주세요.

USB ID 확인 방법 보기

Loading...