USB 펌웨어 컴파일
컴파일 시작
펌웨어 컴파일 간단 가이드
주의사항
- 네트워크: 상위 컴퓨터(라즈베리파이 등)가 인터넷에 연결되어 있는지 확인하세요.
- 로그인 방식: 반드시 SSH를 통해 네트워크로 로그인하고, 시리얼 포트는 비활성화하세요.
- 입력기: 키보드를 영문 반각 모드로 유지하세요.
SSH 로그인 및 사용자 전환
MobaXterm, PuTTY 등의 도구를 사용하여 상위 컴퓨터에 SSH로 로그인하세요.
사용자 전환:
- 일반 시스템(라즈베리파이 공식 시스템 등)
root사용을 금지하며, 일반 사용자로 전환해야 합니다:su <사용자명> - FLY 상위 컴퓨터(FlyOS-FAST 시스템)
root사용자 로그인만 지원합니다(비밀번호:mellow).
펌웨어 컴파일 작업 가이드
Klipper 펌웨어 구성 인터페이스에서는 키보드 조작만 지원하며, 마우스는 사용할 수 없습니다.
| 키 | 기능 |
|---|---|
| ↑ / ↓ | 커서를 위아래로 이동하여 메뉴 항목 선택 |
| Enter / 스페이스바 | 선택 확인, 옵션 체크 또는 하위 메뉴 진입 |
| ESC | 상위 메뉴로 돌아가기 |
| Q | 구성 인터페이스 종료 |
| Y | 종료 시 메시지가 나타나면 Y를 눌러 구성 저장 |
펌웨어 컴파일 시작하기
아래에서는 펌웨어를 컴파일하는 방법을 설명합니다:
-
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 펌웨어 구성 인터페이스를 여는 데 사용됩니다. -
아래 순서대로 항목별로 설정하며, 각 항목을 완료한 후 다음 항목을 진행합니다.
1启用 Enable extra low-level configuration options(Top)Klipper Firmware Configuration2Micro-controller Architecture 选择 Raspberry Pi RP2040/RP235x(Top)Klipper Firmware Configuration3Processor model 选择 rp2040(Top)Klipper Firmware Configuration4Bootloader offset 选择 16KiB bootloader(Top)Klipper Firmware Configuration5Communication Interface 选择 USBSERIAL(Top)Klipper Firmware Configuration6USB ids 保持默认,无需进入(Top)Klipper Firmware Configuration7启用 Optimize stepper code for 'step on both edges'(Top)Klipper Firmware Configuration8GPIO pins to set at micro-controller startup 保持为空(Top)Klipper Firmware Configuration9GPIO state at micro-controller startup 选择 Not set此项是 FLYOS-Klipper 功能。通常保持
Not set;如需设置全部 GPIO 的启动状态,请先阅读 GPIO 启动状态使用说明。(Top)Klipper Firmware Configuration10按 Q 键退出配置界面(Top)Klipper Firmware Configuration11出现 Save configuration 时按 Y 保存配置QuitSave configuration?(Y)es(N)o(C)ancel -
위의 마지막 두 단계를 완료한 후
Q를 눌러 구성 인터페이스를 종료하고,Y를 눌러 구성을 저장합니다. -
명령줄로 돌아간 후 다음 명령어를 입력하고
Enter키를 눌러 컴파일을 시작합니다:make -j4root@flyos-11e5f8 ~/klipper # make -j4Compiling out/src/rp2040/bootrom.oCompiling out/src/rp2040/usbserial.oCompiling out/src/generic/usb_cdc.oCompiling out/src/rp2040/chipid.oCompiling out/src/rp2040/hard_pwm.oCompiling out/src/rp2040/spi.oCompiling out/src/rp2040/i2c.oPreprocessing out/src/rp2040/rpxxxx_link.ldBuilding out/compile_time_request.oVersion: XXXXLinking out/klipper.elfCreating bin file out/klipper.bin终端末尾出现
Linking out/klipper.elf和Creating bin file out/klipper.bin,即表示编译成功。 实际编译时,部分 Compiling 行和 Version 会随 Klipper 与系统版本变化。
플래싱 모드 진입 확인
- Type-C 케이블을 사용하여 메인보드를 호스트에 연결한 후, reset 버튼을 두 번 누르세요. 그러면 메인보드의 LED가 깜빡입니다.
- LED가 깜빡이지 않으면 Katapult 펌웨어를 다시 플래싱하세요: Katapult 펌웨어 플래싱
- LED가 깜빡이지 않으면, Katapult 펌웨어를 플래싱한 후 다음 단계를 진행하세요.
펌웨어 플래싱
펌웨어 굽기 시작
- Fly 공식 상위 컴퓨터가 아닌 경우 Katapult를 설치해야 합니다.
- Katapult 설치
메인보드 ID 확인
다음 명령어를 실행하여 장치 ID를 검색합니다. 정상적으로 표시되면 아래 그림과 같은 ID가 나타납니다(참고: 각 메인보드의 ID는 다릅니다):
ls /dev/serial/by-id/*
검색된 ID에
usb-katapult_stm32xxxxxxxx가 포함되어 있으면 다음 단계로 진행할 수 있습니다.
펌웨어 굽기
- 컴파일된 펌웨어 파일이 준비되어 있는지 확인하세요.
- 아래 명령어의
<당신의 메인보드 ID>를 이전 단계에서 확인한 실제 ID로 바꾸세요.
- 일반 상위 컴퓨터는 아래 코드를 사용하세요.
~/klippy-env/bin/python ~/katapult/scripts/flashtool.py -d <당신의 메인보드 ID>
- FLY 상위 컴퓨터는 아래 코드를 사용하세요.
python3 ~/katapult/scripts/flashtool.py -d <당신의 메인보드 ID>
굽기 과정 참고:
굽기 성공 참고:
펌웨어 업데이트
- USB 펌웨어 업데이트
- 브릿지 CAN 펌웨어 업데이트
USB 펌웨어 업데이트 단계
- 메인보드 ID 확인
ls /dev/serial/by-id/*
아래 그림의 /dev/serial/by-id/usb-katapult_rp2040_E662549553642032-if00가 메인보드 ID입니다.
- 펌웨어 업데이트
cd ~/klipper/ && make flash FLASH_DEVICE=<당신의 메인보드 ID>
<당신의 메인보드 ID>를 실제 확인한 ID로 바꾸세요.
브릿지 CAN 펌웨어 업데이트 단계
- 초기화하여 굽기 모드 진입
<당신의 메인보드 ID>는 printer.cfg 설정 파일에 있는 메인보드의 CANBUS UUID입니다.
- 일반 상위 컴퓨터는 아래 코드를 사용하세요.
~/klippy-env/bin/python3 ~/katapult/scripts/flashtool.py -i can0 -r -u <당신의 메인보드 ID>
- FLY 상위 컴퓨터는 아래 코드를 사용하세요.
python3 ~/katapult/scripts/flashtool.py -i can0 -r -u <당신의 메인보드 ID>
아래 그림의 f95cee90e1f9는 메인보드의 CANBUS UUID입니다(예시일 뿐입니다).
- 새로운 장치 ID 확인
ls /dev/serial/by-id/*
- 이것은 참고일 뿐입니다!
- 아래 그림의
/dev/serial/by-id/usb-Klipper_stm32f072xb_38001B000551324752333720-if00가 새로 식별된 메인보드 ID입니다.
- 새 펌웨어 굽기
cd ~/klipper/ && make flash FLASH_DEVICE=<당신의 메인보드 ID>
펌웨어를 잘못 구운 경우 해결 방법
방법 1: 빠른 굽기 모드 진입
- 메인보드 전원 차단
- 전원을 다시 켠 후 RESET 버튼을 빠르게 두 번 누르기
- 굽기 모드 재진입
방법 2: Katapult 펌웨어 재굽기
Katapult 펌웨어 굽기 가이드 보기플래싱 후 USB ID 검색
펌웨어 플래싱 완료 후 메인보드에 전원을 다시 공급하고, USB ID를 계속 검색하세요.