[RPI-PICO] 라즈베리파이 피코 1 (RP2040) 부트롬 재컴파일해서 심기

Posted on

가끔 라즈베리파이 피코가 오작동하는 것이 느껴질 때가 있습니다. 오작동이 아니더라도 튜닝을 의도한다든가 하는 위자드리급 고수시라면 한번쯤 해볼만한 작업입니다.

우선 RP2040용으로 나온 부트롬은 아래 명령어로 받아올 수 있습니다.

해당 사이트에 가보면 해설이 나오는데, 컴파일하는 컴파일러의 버전이 딱 맞아야 합니다. 이후 버전으로 하면 pico-bootrom-rp2040/bootrom/bootrom.ld 의 ROM이 16K로 되어 있는 량을 늘려야 해서, RP2040의 표준에 안맞게 됩니다. 16K를 늘리면 이후 버전 컴파일러로도 컴파일이 되지만, 그대로 두면 오류나고 멈추네요.

그리고 특기할만한 사실은 리눅스에서 작업하지 않으면 generated.h나 git_info.h 등의 헤더가 만들어지지 않습니다. 이는 pico-bootrom-rp2040에 루트에 포함된 CMakeLists.txt에서도 단서가 발견되는데요.

라고 되어 있는 부분에서 주석에 나온대로네요.

요약하자면

  • 리눅스에서 컴파일해야 한다
  • gcc-arm-none-eabi-9-2020-q2-update 버전을 써야 한다

입니다.

위에 예시한 명령어 이후에 입력할 워크플로우는 아래와 같습니다.

웹브라우저로 https://developer.arm.com/downloads/-/gnu-rm/9-2020-q2-update 이동
gcc-arm-none-eabi-9-2020-q2-update-x86_64-linux.tar.bz2 를 다운로드 받음 (호스트 PC가 리눅스이고 64비트 CPU인 경우)
다운받은 파일을 압축풀음

이렇게 하면 ~/devel/압축푼 디렉토리 가 gcc-arm-none-eabi-9-2020-q2-update 디렉토리가 됩니다. 기존의 버전이 높은 arm gcc와 충돌이 없게 홈디렉토리에 압축을 풀었습니다. 압축푼대로 그냥 쓰면 됩니다.

다음으로 아래 명령어를 이어갑니다.

이렇게 하면 기본값으로 부트롬이 빌드되어 bootrom.bin 이 생성됩니다. 이 생성된 bin 파일을 라즈베리파이 피코에 심으세요.

이렇게 하면 빌드된 부트롬이 심어집니다. 정말로 심어진지는 미확인인데, 일단은 picotool로 save 명령을 실행하면 100% 꽉차고 오류없이 완료되네요.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다