본문으로 건너뛰기

USB 펌웨어 컴파일

  • MMU 출하 시 CAN 연결용 Katapult 펌웨어가 미리 프래시됨
  • USB 펌웨어 프래싱을 사용하려면 USB용 Katapult 펌웨어를 프래시해야 함
  • 한 번 프래시하면 다시 프래시할 필요 없음
  • Katapult 펌웨어 프래싱

컴파일 시작

  • klipper 서비스가 설치된 상위기기를 사용해야 합니다. 네트워크를 통해 SSH 연결하기
  • 그리고 장치를 상위기에 잘 연결해야 합니다.
  • 주의: 일반적인 상위기기를 사용하십시오. 예를 들어 라즈베리 파이 FLY 패 등입니다. WiFi 스틱, 홍미폰 등의 모modified 상위기는 지원 문제가 많아 기술 지원을 제공할 수 없습니다.
경고
  • ROOT 사용자를 일반 사용자로 전환하려면 아래 명령어를 입력할 수 있습니다.
  • ROOT 사용자는 사용하지 마십시오.
  • fly 사용자는 다음을 입력할 수 있습니다: su fly. fly 사용자가 아닌 경우 <상위기기 사용자 이름>을 상위기기의 사용자 이름으로 바꾸십시오!
su <상위기기 사용자 이름>
  • 상위기기(Up Host)가 정상적으로 네트워크에 연결되어 있는지 확인하세요.
  • 펌웨어 컴파일 전에 SSH를 통해 상위기기에 네트워크로 로그인해야 합니다.
  • 상위기기에 시리얼 포트(Serial Tool)를 사용하지 마세요.

Klipper 펌웨어 컴파일 및 구성 페이지 작동 설명

키보드 입력 모드를 반각(Half-width) 모드로 설정해 주세요. 즉, 영문 모드입니다.

  1. 키보드의 (위쪽 화살표), (아래쪽 화살표)는 메뉴 항목을 선택하기 위해 커서를 위아래로 이동시킵니다.
  2. 확인 키 Enter 또는 공백 키 Space는 메뉴를 선택하거나 하위 메뉴로 진입합니다.
  3. 종료 키 ESC는 상위 메뉴로 돌아갑니다.
  4. Q 키는 Klipper 펌웨어 구성 페이지를 종료합니다.
  5. Klipper 펌웨어 구성 페이지를 종료할 때 Y 키를 눌러 구성 파일을 저장할 수 있습니다.
경고

구성 페이지 옵션이 적을 경우, Enable extra low-level configuration options 항목을 선택([ ])하여 일부 숨겨진 옵션을 표시할 수 있습니다.

아래는 펌웨어를 컴파일하는 방법입니다:

  • SSH에 연결한 후 아래의 명령어를 입력하고 엔터를 누릅니다:

    cd ~/klipper && rm -rf ~/klipper/.config && rm -rf ~/klipper/out && make menuconfig
  • 여기서 rm -rf ~/klipper/.config && rm -rf ~/klipper/out는 이전에 컴파일된 데이터와 펌웨어를 삭제하며 make menuconfig는 펌웨어를 컴파일합니다. 실행한 후 아래의 화면이 나타나야 합니다.

  • Enable extra low-level configuration options을 선택하고 엔터를 누릅니다.

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

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

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

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

  • Communication interface를 선택하고 **USB (on PA11/PA12)**를 선택합니다.

  • 마이크로 컨트롤러 시작 시 GPIO 핀 설정 선택, 입력: !PA15 (주의: !는 대문자임)

  • Q 키를 누르면 Save configuration이 나타나고, 이때 Y 키를 누름

  • 이제 구성이 저장되고 명령줄 인터페이스로 돌아감

  • make -j4 입력하여 컴파일 시작, 시간이 좀 걸림

  • 마지막으로 다음 내용이 출력되면 컴파일 성공

    Linking out/klipper.elf
    Creating hex file out/klipper.bin

프래싱 모드 진입 확인

  • 네트워크에 정상적으로 연결될 수 있는 상위 기기를 확인하고, 하위 기기와 상위 기기를 연결하는 데이터선이 데이터 전송 기능을 가지고 있는지 확인하세요.
  • 상위 기기에 SSH로 접속한 후 lsusb를 입력하고 Enter 키를 누릅니다. 아래 이미지에서 원으로 표시된 정보가 나타나면 다음 단계로 진행할 수 있습니다.
    • 아무런 정보도 반환되지 않는 경우, 이는 상위 기기의 시스템 문제입니다. 해결할 수 없으니, 정상적인 시스템으로 교체하거나 상위 기기를 교체해야 합니다.
    • lsusb 명령어가 없다고 표시되는 경우, 다음 명령어를 실행하여 설치할 수 있습니다.
      sudo apt-get install usbutils
  • 1d50:6177는 이번에 사용할 장치에 속합니다. OpenMoko, Inc. stm32f407xx라는 부분은 참고용이지만, 판단 기준은 아닙니다.
    • 일부 상위 기기는 시스템 문제로 인해 모든 정보를 표시하지 못하거나 표시하지 않을 수 있습니다.
    • lsusb 명령어를 입력했을 때 장치가 표시되지만 1d50:6177가 없는 경우에는 데이터선을 교체해 보세요. 메인보드를 상위 기기의 다른 USB 포트에 연결해 보세요.
  • 위 단계를 수행했고, Klipper 펌웨어를 성공적으로 번들을 하고, 메인보드가 정상 작동한다면, Klipper 펌웨어를 업데이트하려면 이 페이지 오른쪽 메뉴에서 펌웨어 업데이트 섹션을 참조하세요.
주의사항

1d50:6177 장치를 확인한 후에만 다음 단계로 진행할 수 있습니다.

펌웨어 프래싱

:::팁

  • 플러그인 설치 시 인터넷 연결이 필요합니다. 상위 컴퓨터가 정상적으로 인터넷에 연결되어 있는지 확인하시기 바랍니다.
  • 이미 설치된 경우 다시 설치할 필요가 없습니다. :::

번영 시작하기

:::주의

  • 비-Fly 상위 컴퓨터는 아래의 코드를 반드시 실행하여 펌웨어 번영 의존 패키지를 설치해야 합니다! 그렇지 않으면 펌웨어를 번영할 수 없습니다!
      cd && git clone https://github.com/Arksine/katapult.git
  • 국내 사용자는 다음 명령어로 설치
  cd && git clone https://gitee.com/MrCakeFuck/katapult.git

:::

  • 아래 명령어를 사용하여 장치 ID를 검색하고, 아래 그림과 같은 ID가 나타나야 합니다 (참고: 그림에 표시된 ID는 예시이며, 각 보드의 ID는 다릅니다)

    ls /dev/serial/by-id/*
  • 펌웨어를 번영하기 위해 아래 코드를 사용하십시오. 컴파일된 펌웨어가 준비되었는지 확인한 후, <your_board_id>를 이전 단계에서 검색한 ID로 대체하십시오.

    ~/klippy-env/bin/python ~/katapult/scripts/flashtool.py -d /dev/serial/by-id/<your_board_id>

fast 시스템은 이 명령어를 사용하여 번영, <your_board_id>를 이전 단계에서 검색한 ID로 대체하십시오.

python ~/katapult/scripts/flashtool.py -d /dev/serial/by-id/<your_board_id>

  • 참고 자료

  • 번영 완료 후 참고

펌웨어 업데이트

  • 아래 명령어를 사용하여 보드 ID를 검색하고, 아래 그림과 같은 ID가 나타나야 합니다 (참고: 그림에 표시된 ID는 예시이며, 각 보드의 ID는 다릅니다)

    ls /dev/serial/by-id/*

:::팁 아래 그림에서 /dev/serial/by-id/usb-katapult_rp2040_E662549553642032-if00가 보드의 ID입니다 :::

  • USB 펌웨어를 업데이트하려면 최신 펌웨어를 컴파일한 후 아래 명령어를 입력하여 업데이트하십시오, <your_board_id>를 이전 단계에서 검색한 ID로 대체하십시오

    cd ~/klipper/ && make flash FLASH_DEVICE=<your_board_id>

잘못된 펌웨어 번영 해결 방법

  • 보드가 전원을 끈 후 다시 전원을 켜고, 리셋 버튼을 빠르게 두 번 클릭하면 다시 번영 모드로 들어갈 수 있습니다.
  • 또는 Windows/상위 컴퓨터를 사용하여 katapult 펌웨어를 다시 번영하십시오.katapult 펌웨어 번영

펌웨어 정상 실행 확인

  • 펌웨어가 정상적으로 시작되면 LED가 켜짐
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -