Category (Click)
개발보드 덕질하기

[Pico SDK] 펌웨어 업로드를 도와주는 picotool 설치 (Mac)

 차완기 - @7/23/2023, 11:35:00 PM
지난 포스팅에서 M2 프로세서가 사용된 MacBook에 Raspberry Pi Pico의 MCU인 RP2040의 개발환경을 설정해 보았습니다.
펌웨어 빌드까지는 스무스하게 진행이 되었는데요, 딱 한 가지 불만이 있다면 펌웨어 업로드를 위해 굳이 BOOTSEL 모드로 진입하고 굳이 또 Finder까지 켜서 업로드까지 해줘야하는 3중 귀찮음이 있었습니다.
분명히 아두이노 IDE상에서 펌웨어를 업로드할 때에는 이런 번거로운 과정이 없었는데 말이죠. 아무래도 다른 방법이 있는 것 같아 조금 검색해 보았습니다.

picotool

picotool
raspberrypi
그러던 중 찾게 된 것이 바로 picotool이었습니다. CLI상에서 펌웨어를 업로드할 수 있고 특정 헤더파일을 포함시키면 BOOLSEL모드도 자동으로 진입하게 해 주는 것이 주 기능이었습니다.
$ brew install picotool
Bash
복사
Homebrew를 사용하면 바로 설치할 수 있었습니다.

BOOLSEL 전환 강제

펌웨어 상에서 pico/stdio_usb.h를 include한 후 stdio_init_all()함수를 호출하도록 코드를 수정하면 picotool에서 -f 또는 -F 옵션을 붙여 BOOLSEL로 강제 진입할 수 있습니다.
이렇게 하면 gpio 제어만 하는 blink 예제 기준 바이너리가 대략 30 KB 정도 증가하였습니다.

테스트

picotool을 사용해 RP2040에 펌웨어를 업로드해보았습니다.