Raspberry PI Pico가 뭔지 모르는 사람은 쿨하게 뒤로가지 누르자!
위즈네트 RP2040 모듈가지고 Zephyr를 하고 있었는데 오리지널 Raspberry Pi Pico(이하 pico라 할거임ㅋ)도 할 일이(돈받고ㅋ) 생겨서 같이 함 해볼려고. 무슨 MCU고 소프트웨어 스택이고 간에 무조건 시작은 공홈에 getting started야 ㅋㅋㅋ getting started 문서를 찾으러 가자고.
공홈에서 RPI에서는 Document -> Microcontrollers -> RPI Pico 그 다음 또 Documentation -> Raspberry Pi Pico 선택
여기에 getting stared 문서가 있네. 클릭하면 잘 정리된 PDF 문서가 새창으로 뜨는데 거기서 시작해보자구. 영어가 많아. 영국에서 만든거니까 크으~ 영국~~ 암튼 Blinky까지 빠르게 진행해보자구. 여러번 말했지만 난 MacOS 기준이야~
Chapter1. Quick Pico Setup은 MacOS에서는 동작하지 않아. 그러니까 스킵하고 그 다음 Chapter2. SDK에서 시작. SDK랑 example를 다운로드 합시다. 루트에 pico라는 폴더를 만들고👇
$ cd ~/
$ mkdir pico
$ cd pico
그 안에 pico-sdk github repository를 복제. submodule update로 나머지 디펜던시들 모두 설치해주고 pico example도 다운로드.👇 이러면 일단 다운로드는 끝~
$ git clone -b master https://github.com/raspberrypi/pico-sdk.git
$ cd pico-sdk
$ git submodule update --init
$ cd ..
$ git clone -b master https://github.com/raspberrypi/pico-examples.git
이 다음에는 cmake이나 gcc-arm같은 툴체인을 다운로드 받아. 메뉴얼에는 sudo apt install 사용해서 다운받으라고 되어 있는데 맥에서 apt 안되고 대신 brew를 쓰지. 그래서 시도. Cmake같은 건 다운로드가 되는데 gcc-arm 툴체인 같은 건 없다고 나오네...
그럼 수동으로 설치해줘야지 뭐~ gcc-arm 툴체인 최신 버전은 11.2 👇👇 아래에서 다운로드 받을 수 있어.
하지만 난 버전을 맞춰야 하는 이슈가 있어서 10.3 버전을 설치할거라 👇 아래 링크에서 다운로드 할거임. 선택은 니자유.
https://developer.arm.com/downloads/-/gnu-rm
MacOS용 설치파일을 다운로드 받고(확장자가 pkg) 완료되면 클릭해서 설치.
나머지 libnewlib-arm-none-eabi과 build-essential도 설치해야 하나? 포함되어 있나? 잘 몰라 일단 무식하게 나가보자. 툴체인 설치했으니까 빌드는 되겠지 ㅋ pico-examples 폴더로 이동해서 build 폴더를 만들어👇
$ cd pico-examples
$ mkdir build
$ cd build
추가) 프로젝트를 하다보니 PICO_SDK_PATH를 환경 변수에 추가하는 건 문제가 좀 있어. 개개인마다 폴더 환경이나 사용중인 sdk 버전이 다르고 특히 github로 코드를 쉐어할 때 사용자들에게 일일이 PATH를 맞추라고 하는 건... 굉장히 큰 비효율이지. 그래서 결론은 pico sdk를 프로젝트에 포함시키고 경로는 CMakeLists.txt 에 삽입하는 것으로, 또 git submodule로 pico-sdk를 등록해서 배포하는 방식으로 관리하는 게 좋은 것 같아. 이미 따라한 사람들 미안!
그리고 PICO_SDK_PATH 환경변수로 설정하고 👇..... 하는 데 이러면 맘에 안들지.. 그치?
$ export PICO_SDK_PATH=../../pico-sdk
터미널 껐다 켜면 다 없어지니까 .zshrc 파일에 써주자고 vim으로 ~/.zshrc 열고
% vim ~/.zshrc
export로 절대 경로 추가👇 후 저장하고 나가서
export PICO_SDK_PATH="Users/여기니폴더/pico/pico-sdk"
설정된 환경변수 곧바로 적용.
% source ~/.zshrc
그리고 올바르게 PICO_SDK_PATH가 적용되었는지 확인하면 끝~ 이제 빌드를 시도해 봅시다.
% printenv PICO_SDK_PATH
그대로 build 폴더에서 cmake 를 입력하면
% cmake ..
에러가 주르르륵! arm-none-eabi-gcc가 없다는 에러. 응 인정~ arm-none-eabi-gcc도 환경 변수에 추가해줘야 한다는!
설치할 때 특별한 조치를 하지 않았다면 gcc-arm-none-eabi 바이너리가 위치한 곳은 "/Applications/ARM/bin"
또 vim 으로 .zshrc 파일 열고👇
% vim ~/.zshrc
아래와 같이 환경 변수 추가👇
export PATH="$PATH:/Applications/ARM/bin"
바로 적용!
% source ~/.zshrc
그리고 나서 cmake .. 실행하면 아래와 같이 잘 실행됌.
이제 비어 있던 build 폴더가 예제들로 가득 찼어. 이제 실제 바이너리 파일을 만들 차례야.
build/blink 폴더로 이동해서 아래와 같이 실행👇 여기서 원래는 옵션이 -j4인데 job을 4개 생성해서 돌리는 거래. raspberry pi 4는 코어가 4개라서 적당하다나 뭐라나.... ㅋㅋㅋㅋㅋ 난 맥 스튜디오잖아!!! 크크크크크(광기) j10 막 돌려돌려 ㅋ
% make -j10
이제 플레시에 바이너리 파일을 쓰자고.
RPI pico의 BOOTSEL 버튼을 누른채로 USB 연결하면 RPI-RP2라는 디스크가 보이는데 여기에 복사하면 끝. blink.uf2 파일 드레그해서 복사해도 되고 아니면
아래처럼 터미널에서 명령어로 복사해도 되고. 개취!
% cp blink.uf2 /Volumes/RPI-RP2
프로그램을 완료하면 영롱하게 깜빡이는 LED를 볼 수가 있지.
getting started 문서 아직 초입이야 ㅋㅋ 다음에는 vscode에서 설정하고 hello world 정도 찍어보자고. 안녕!
'임베디드 하드웨어 > Raspberry PI Pico' 카테고리의 다른 글
rpi-pico new project 만들기 (0) | 2022.08.09 |
---|---|
rpi-pico vscode debug 설정 (MacOS) (0) | 2022.08.08 |
rpi-pico vscode 설정(MacOS) (0) | 2022.08.06 |
rpi-pico Hello world!(MacOS) (2) | 2022.08.06 |