Don't think! Just do it!

종합 IT 기술 정체성 카오스 블로그! 이... 이곳은 어디지?

임베디드 하드웨어/Raspberry PI Pico

rpi-pico vscode 설정(MacOS)

방피터 2022. 8. 6. 14:35

MacOS 환경이라고 해서 rpi-pico vscode 설정이 크게 달라질거라고는 생각하지 않지만 뭐.. 혹시 모르니깐 ㅎㅎ 일단 getting started 문서 chapter 7 기준으로 할거야 참고해.

 

설마 vscode 안깔려 있는 사람 없을거고.... 설마.... 알지? 그러면 그냥 뒤로가지 눌러 ㅋ

vscode에서 rpi-pico 개발하려면 3가지 extenstion이 필요한가봐. 👇

  1. cortex-debug: rpi가 cortex M0 기반이니까 당연하겠고. 설치 고고
  2. cmake-tools: 지금까지 build 계속 이걸로 해왔잖아? 당연하겠고~
  3. cpptools: 이건 내가 언제 설치했는지 기억도 안나고~

설치 안되어 있는 사람들은 설치하고 옵니다~~

cortex-debug extension 설치 화면

자! 다 했으면 폴더 열기로 pico-examples 폴더를 열어. 그러면 오른쪽 아래에 Cmake tools 조그만 창 하나 뜰거야. Yes 눌러봐야 아무것도 안돼!!!! MacOS에서는 뭔지 모르게 하나도 안돼!! ㅋㅋ 자 포기하긴 일러 ㅋ

눌러봐야 달라지는 게 없다.

한개씩 해보자구 우선 cmake에서 사용할 컴파일러를 지정해줘야 하는데 gcc-arm-none-eabi가 없어. Scan for kits를 선택하면 알아서 찾아질 거라고 순진하게 생각하는 사람들 없겠지? 그랬으면 글로 싸질르지도 않았어 ㅋㅋ (이 창은 Shift + Cmd + P 로 커맨드 팔레트 열면 나오는 창에서 CMake: select a kit 검색으로 다시 설정할 수 있어.)

gcc-arm-none-eabi가 없다.

ㅋㅋ 자 수동으로 넣어봅시다. 이 설정 파일에 나오는 옵션은 ~/.local/share/CMakeTools/cmake-tools-kits.json 파일에 있어. 이걸 열고 추가해주자. 아래👇에서 보면 가장 아래에 arm-none-eabi 10.3을 따로 추가해줬어. 이건 어떻게 설치했느냐에 따라서 위치가 틀려질 수 있으니까 맞게 알아서 잘 하자. 버전도 잘 맞춰주고~

[
  {
    "name": "Clang 13.1.6 x86_64-apple-darwin21.6.0",
    "compilers": {
      "C": "/usr/bin/clang",
      "CXX": "/usr/bin/clang++"
    }
  },
  {
    "name": "GCC 11.3.0 aarch64-apple-darwin21",
    "compilers": {
      "C": "/opt/homebrew/bin/aarch64-apple-darwin21-gcc-11",
      "CXX": "/opt/homebrew/bin/aarch64-apple-darwin21-g++-11"
    }
  },
  {
    "name": "GCC for arm-none-eabi 10.3",
    "compilers": {
      "C": "/Applications/ARM/bin/arm-none-eabi-gcc",
      "CXX": "/Applications/ARM/bin/arm-none-eabi-c++"
    }
  }
]

이렇게 추가해주고 다시 보면 아래👇 처럼 추가된 걸 확인할 수 있어. 자 끝!??? 아냐 ㅋㅋㅋ

생겼다!

pico-examples 폴더에 .vscode 폴더를 하나 만들고 그 안에 settings.json 파일을 추가해줘. 그리고 아래와 같이 PICO_SDK_PATH, PICO_TOOLCHAIN_PATH key하고 각각 path를 입력해줘야해.

{
  "cmake.environment": {
    "PICO_SDK_PATH": "/Users/peterbang/pico/pico-sdk",
    "PICO_TOOLCHAIN_PATH": "/Applications/ARM/bin"
  }
}

추가) 프로젝트에 따라서 폴더 구조가 달라질 수 있으니까 pico sdk 경로는 CMakeLists.txt 파일에 삽입하는 게 좋을 듯!

이렇게 해야 비로소 빌드를 할 수가 있지. 그런데 뭔가 삐걱대면서 돌아가는데... 뭐냐면 vscode에서 의미없는 에러를 자꾸 내뿜고 그래서 build 폴더를 지우고 다시 vscode 도 한번 껐다 켜주고 그리고나서 터미널에서 cmake  -> make 하는데 make가 전혀 동작을 안하더라고 🤨 그런데 vscode 빌드를 해주니까 주르륵 되네? 뭐여 이건... 암튼 문제 생기면 vscode를 한번 껐다 켜주던, build를 지웠다가 다시 빌드하던지 해보자... 흠.. 찝찝하지만 어쩌겠어.

CMake 환경

코드도 좀 변경해보고 정상적으로 uf2 파일이 잘 생성되는지, 동작하는지 확인도 해보고. 난 다행이 잘 되더라고. 이 다음은 cortex-debug를 사용해서 디버그 해보는거야. swd 포트를 이용해서 말이지. 그런데 난 swd 디버거가 없는걸.. 어쩌지? 하는데 이것도 방법이 있더라고 ㅋㅋ 다음에는 이걸 같이 해보자 ㅋ 안녕!

반응형