본문으로 건너뛰기

USB 브리지 CAN 펌웨어 플래싱

호스트 컴퓨터 연결

핵심 연결 제한

Fly-D8 메인보드는 Type-C USB 포트를 통해서만 호스트 컴퓨터와 Klipper 통신을 할 수 있습니다.

Loading...

펌웨어 컴파일 간단 가이드

주의사항

  • 네트워크: 상위 기기(라즈베리 파이 등)가 인터넷에 연결되어 있는지 확인하세요.
  • 로그인 방식: 반드시 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는 펌웨어를 컴파일하는 명령으로, 실행 후 아래와 같은 화면이 나타나야 합니다.

  • 여기서 rm -rf ~/klipper/.config && rm -rf ~/klipper/out는 이전 컴파일 데이터와 펌웨어를 삭제하는 명령이고, make menuconfig는 펌웨어를 컴파일하는 명령입니다. 실행 후 아래와 같은 화면이 나타나야 합니다.

    Loading...
  • Enable extra low-level configuration options를 선택하고 Enter 키를 누릅니다.

    Loading...
  • Micro-controller Architecture 메뉴로 들어가서 STMicroelectronics STM32를 선택하고 Enter 키를 누릅니다.

    Loading...
  • Processor model 메뉴로 들어가서 STM32H723를 선택하고 Enter 키를 누릅니다.

    Loading...
  • Bootloader offset를 선택하고 128KiB bootloader를 선택합니다.

    Loading...
  • Clock Reference (8 MHz crystal)를 선택하고 25 MHz crystal를 선택합니다.

    Loading...
  • Communication interface를 선택하고 USB to CAN bus bridge (USB on PA11/PA12)를 선택합니다.

    Loading...
  • Q 키를 누르면 Save configuration이 나타납니다. 이때 Y 키를 누릅니다.
    Loading...
  • 이제 설정이 저장되고 명령줄 인터페이스로 돌아와야 합니다.
  • 아래 명령어를 입력하여 컴파일을 시작합니다. 시간이 다소 걸립니다.
make -j4
Loading...
  • 마지막으로 아래 내용이 출력되면 컴파일이 성공한 것입니다.
  • Klipper 버전 문제로 인해 out/klipper.bin이 나타나기만 하면 성공입니다.
    Linking out/klipper.elf
    Creating bin file out/klipper.bin

플래싱 모드 진입

  • Type-C 데이터 케이블로 메인보드를 호스트 컴퓨터에 연결한 후, RST 버튼을 두 번 누르세요. 이때 메인보드의 LED가 깜빡입니다.
경고
  • LED가 깜빡이지 않으면, katapult 펌웨어를 다시 플래싱하세요: katapult 펌웨어 플래싱
  • LED가 깜빡이지 않으면, katapult 펌웨어 플래싱을 완료한 후 다음 단계를 진행하세요.
Loading...
  • 상위기기(Upstream)가 정상적으로 네트워크에 연결되어 있는지 확인하고, 하위기기가 상위기기와 데이터 전송 기능을 가진 데이터 케이블로 연결되어 있는지 확인하십시오.
  • 상위기기에 SSH 접속 후 Enter 키를 누르고 명령어 lsusb를 입력하면 아래 이미지에서 빨간색으로 표시된 정보가 나타나면 다음 단계로 진행할 수 있습니다.
    • 아무런 정보도 반환되지 않는 경우, 이는 상위기기의 시스템 문제이며 해결이 불가능합니다. 정상적인 시스템으로 교체하거나 상위기기를 교체해야 합니다.
    • lsusb 명령어가 없는 경우 다음 명령어를 실행하여 설치할 수 있습니다.
      sudo apt-get install usbutils
      Loading...
  • 1d50:6177는 이번에 사용할 장치입니다.
    • 일부 상위기기는 시스템 문제로 인해 완전히 표시되지 않거나 전혀 표시되지 않을 수 있습니다.
    • 만약 lsusb 명령어를 입력했을 때 장치는 표시되지만 1d50:6177이 표시되지 않는 경우 데이터 케이블을 교체하거나 상위기기의 다른 USB 포트로 연결해 보십시오.
  • 위 단계를 수행했고 Klipper 펌웨어를 성공적으로 플래시한 적이 있으며, 메인보드가 정상적으로 작동 중이라면 Klipper 펌웨어 업데이트만 진행하려는 경우 오른쪽 메뉴바의 펌웨어 업데이트 섹션을 참조하십시오.
주의사항

반드시 1d50:6177 장치를 확인한 후 다음 단계로 진행해야 합니다.

펌웨어 플래싱

펌웨어 플래싱 시작하기

  • Fly 공식 상위 기기가 아닌 경우 Katapult 설치 필요
  • Katapult 설치하기

보드 ID 확인하기

다음 명령어를 실행하여 장치 ID를 검색하세요. 정상적인 경우 아래 그림과 유사한 ID가 표시됩니다(참고: 각 보드의 ID는 다릅니다):

ls /dev/serial/by-id/*

검색된 ID에 usb-katapult_stm32xxxxxxxx가 포함되어 있으면 다음 단계로 진행 가능합니다.

Loading...

펌웨어 플래싱하기

⚠️ 준비 작업
  • 펌웨어 파일이 컴파일되어 있는지 확인하세요.
  • 아래 명령어의 <당신의 보드 ID>를 이전 단계에서 확인한 실제 ID로 바꾸세요.
  • 일반 상위 기기는 아래 코드를 사용하세요.
    ~/klippy-env/bin/python ~/katapult/scripts/flashtool.py -d <당신의 보드 ID>
  • FLY 상위 기기는 아래 코드를 사용하세요.
    python3 ~/katapult/scripts/flashtool.py -d <당신의 보드 ID>

플래싱 과정 참고:

Loading...

플래싱 성공 참고:

Loading...

펌웨어 업데이트

USB 펌웨어 업데이트 단계

  1. 보드 ID 확인하기
ls /dev/serial/by-id/*
식별 포인트

아래 그림의 /dev/serial/by-id/usb-katapult_rp2040_E662549553642032-if00이 보드 ID입니다.

Loading...
  1. 펌웨어 업데이트하기
cd ~/klipper/ && make flash FLASH_DEVICE=<당신의 보드 ID>
주의
  • <당신의 보드 ID>를 실제로 확인한 ID로 바꾸세요.
Loading...

잘못된 펌웨어 플래싱 시 해결 방법

방법 1: 빠르게 플래싱 모드 진입하기

  1. 보드 전원을 끕니다.
  2. 전원을 다시 켠 후, RESET 버튼을 빠르게 두 번 누릅니다.
  3. 플래싱 모드로 다시 진입합니다.

방법 2: Katapult 펌웨어 재플래싱하기

Katapult 펌웨어 플래싱 가이드 보기
Loading...