본문으로 건너뛰기

USB 브리지 CAN 펌웨어 플래싱

펌웨어 컴파일 주의사항 및 작업 가이드

주의사항

📌 중요 전제 조건
  1. 네트워크 연결: 상위 기기(라즈베리 파이 등)가 네트워크에 연결되어 있는지 확인하세요.
  2. 접근 방식: 반드시 SSH를 통해 네트워크로 상위 기기에 로그인해야 하며, 시리얼 도구 사용은 금지됩니다.
  3. 사용자 권한: 상위 기기 시스템 유형에 따라 올바른 사용자 계정으로 작업하세요.
  4. 입력기: 키보드 입력기가 반각 모드(영문 모드) 인지 확인하세요.

SSH 로그인 및 사용자 전환

SSH로 상위 기기 로그인

SSH 도구(MobaXterm, PuTTY 등)를 사용하여 네트워크를 통해 상위 기기에 로그인하세요: SSH 연결 상세 튜토리얼 보기

시스템 유형에 따른 사용자 전환

적용 시스템:

  • 라즈베리 파이 공식 시스템
  • Klipper가 설치된 기타 시스템

사용자 권한 요구사항:

  • root 사용자 사용 금지
  • 반드시 일반 사용자로 전환하여 작업해야 함

전환 명령어:

  • 기타 시스템(<username>을 사용자 이름으로 변경)

    su <username>
💡 팁

일반 사용자는 일반적으로 필요한 컴파일 권한을 가지고 있으며, root 사용자를 사용하면 권한 문제가 발생할 수 있습니다.


펌웨어 컴파일 설명

1. 키보드 작업 가이드

  • Klipper 펌웨어 구성 페이지에서는 다음 단축키만 사용할 수 있습니다:
  • 마우스를 직접 사용하여 작업할 수 없습니다!
기능 설명
↑ ↓ 방향키커서를 위아래로 이동하여 메뉴 항목 선택
Enter 또는 Space선택 확인/메뉴 항목 체크 또는 하위 메뉴 진입
ESC상위 메뉴로 돌아가기
QKlipper 펌웨어 구성 페이지 종료
Y종료 시 프롬프트가 있으면 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는 펌웨어를 컴파일하는 명령으로, 실행 후 아래와 같은 화면이 나타나야 합니다.

    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이라면 그대로 입력하고 Enter를 누릅니다.
Loading...
  1. 호스트 컴퓨터의 웹 인터페이스를 열고 좌측 사이드바의 설정 옵션에서 다음을 찾습니다:
  • fluidd의 경우: {…} 클릭 후 printer.cfg를 찾을 수 있습니다.
Loading...
  • mainsail의 경우: 기계 클릭 후 printer.cfg를 찾을 수 있습니다.
Loading...
  1. printer.cfg를 클릭한 후 상단 오른쪽의 DEVICES를 클릭합니다.
Loading...
Loading...
  1. CAN을 클릭한 후 새로고침합니다.
  • fluidd에서 새로고침
Loading...
  • mainsail에서 새로고침
Loading...
  1. 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...