반응형

Windows에서 Raspberry Pi Pico C++ 프로그래밍을 하기 위해 필요한 작업들을 정리합니다. 

 

2021. 3. 30  최초작성 

2021. 4. 03  개별 프로젝트 빌드 방법 추가

2022. 7. 17  업데이트된 공식 문서를 참고하여 다시 업데이트

2022. 11. 10  패키지 다운로드 받는 방법 수정



Raspberry Pi Pico 보드를 받은 날, 바로 핀을 납땜을 했습니다. 이쪽 전공이 아니라 잘하지는 못합니다. 

Arduino와 달리 바로 사용할 수 없는 단점이 있네요. 물론 찾아보면  미리 납땜을 해놓은 제품을 살 수 도 있습니다.  

 



납땜할때 주의점은 핀이 기울어질 염려가 있는 것입니다.

한쪽이 기울어져서 납을 모두 제거후, 다시 납땜했네요. 

양끝을 먼저 납땜하며 기울어짐을 잡은 후, 나머지를 납땜하는게 좋은 듯합니다.  

 



1. ARM GCC Toolchain이 필요합니다. 아래 링크에 접속하여 윈도우용 설치파일을 다운로드합니다.

받는 시점에 따라 버전이 다를 수 있습니다. 

 

https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/downloads 



arm-none-eabi를 검색하여 확장자가 exe인 설치파일을 다운로드해야 합니다. 

 



설치완료 전 “Add path to environment variable”을 체크해야 합니다.

 



2.아래 링크에서  CMake를 다운로드 받아서 설치합니다.

Latest Release를 검색하여 Windows x64 Installer를 다운로드합니다. 

 

https://cmake.org/download/

 

 



설치 도중 “Add CMake to the system PATH for all users”를 선택해야 합니다. 

 



3. 아래 링크에서 접속하여 Build Tools for Visual Studio를 설치해야 합니다.

 

https://visualstudio.microsoft.com/ko/downloads/ 



아래로 스크롤하여 “Visual Studio 2022용 도구”를 선택합니다. 

 



“Visual Studio 2022용 빌드 도구”에 있는 다운로드를 클릭합니다. 

 



다운로드 받은 설치파일을 실행합니다. 

 

“C++를 사용한 데스크톱 개발”을 선택하고 “설치” 버튼을 클릭합니다.



4. 아래 링크에 접속하여 “Python 3.10.5” 항목에 있는 “Windows installer (64-bit)”을 다운로드 받아 설치합니다.

 

https://www.python.org/downloads/windows/

 



설치시 “ Add Python 3.10 to the PATH”를 체크해줘야 합니다. Install Now를 클릭하여 설치합니다. 

 



5. 아래 링크에서 64-bit Git for Windows Setup를 클릭하여 다운로드합니다. 

https://git-scm.com/download/win 

 

별다른 옵션 변경없이 설치를 진행하면 됩니다. 



6. SDK와 예제코드를 다운로드합니다. 

 

우선 윈도우 + R키를 누른 후, cmd를 입력하여 명령 프롬프트를 실행합니다.

 



다운로드 받을 원하는 위치로 이동합니다. 여기에선 D드라이브에 work\pico 폴더에서 작업을 진행합니다. 

 

다음 두 명령을 차례로 실행합니다.

git clone https://github.com/raspberrypi/pico-sdk.git

 

git clone https://github.com/raspberrypi/pico-examples.git 

 

pico-sdk 디렉토리로 이동하여 다음 명령을 추가로 해줘야 합니다. 

git submodule update --init



7. 예제 코드들을 한꺼번에 컴파일하는 과정입니다. 



시스템 환경 변수 path에 아래 경로를 추가합니다.

C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.32.31326\bin\Hostx64\x64\

 

문제 없으면 다음처럼 명령 프롬프트에서 nmake를 실행할 수 있습니다.

명령 프롬프트는 윈도우 키 + R을 누른 후, cmd를 입력하여 실행할 수 있습니다. 

 



윈도우 키를 누른 후, “ Developer Command”을 입력하여 Developer Command Prompt for VS 2022를 실행합니다. 

 




다음처럼 PICO SDK 경로를 설정합니다. 경로는 pico-sdk 위치로 수정하세요. 

 

setx PICO_SDK_PATH "D:\work\pico\pico-sdk"

 



Developer Command Prompt for VS 2022를 다시 실행합니다.



pico-examples 폴더로 이동한 후, build 폴더를 생성하고 build 폴더로 이동합니다. 

 



다음 명령을 실행합니다.

 

cmake -G "NMake Makefiles" ..  

 

D:\work\pico\pico-examples\build>cmake -G "NMake Makefiles" ..
Using PICO_SDK_PATH from environment ('D:\work\pico\pico-sdk')
PICO_SDK_PATH is D:/work/pico/pico-sdk
Defaulting PICO_PLATFORM to rp2040 since not specified.
Defaulting PICO platform compiler to pico_arm_gcc since not specified.
-- Defaulting build type to 'Release' since not specified.
PICO compiler is pico_arm_gcc
-- The C compiler identification is GNU 11.2.1
-- The CXX compiler identification is GNU 11.2.1
-- The ASM compiler identification is GNU
-- Found assembler: C:/Program Files (x86)/Arm GNU Toolchain arm-none-eabi/11.2 2022.02/bin/arm-none-eabi-gcc.exe
Build type is Release
Defaulting PICO target board to pico since not specified.
Using board configuration from D:/work/pico/pico-sdk/src/boards/include/boards/pico.h
-- Found Python3: C:/Users/webnautes/AppData/Local/Programs/Python/Python310/python.exe (found version "3.10.5") found components: Interpreter
TinyUSB available at D:/work/pico/pico-sdk/lib/tinyusb/src/portable/raspberrypi/rp2040; enabling build support for USB.
cyw43-driver available at D:/work/pico/pico-sdk/lib/cyw43-driver
lwIP available at D:/work/pico/pico-sdk/lib/lwip
-- Configuring done
-- Generating done
-- Build files have been written to: D:/work/pico/pico-examples/build



nmake를 실행합니다. 빌드가 시작되는데 좀 시간이 걸립니다.

아래 스크린샷은 문제 없이 빌드가 완료된 상태입니다. 

 

nmake

 




8. Raspberry Pi Pico를 마이크로 5핀 케이블을 사용하여 PC에 연결하면 외부 저장공간으로 추가됩니다.

 



build 폴더에 있는 blink 예제 컴파일 결과물인  blink.uf2 파일을 복사하여 Raspberry Pi Pico에 붙여넣기 해줍니다. 

참고로 build에 있는 다른 폴더에는 다른 예제들의 빌드 결과물들이 포함되어 있습니다. 

 

D:\work\pico\pico-examples\build\blink

 



보드에 있는 LED가 깜빡입니다. 

 



blink는 GPIO 25번에 연결된 LED를 깜빡이게 하는 예제입니다.  

GPIO 25는 사용자가 사용할 수 없는 보드에 내장된 LED에 연결된 핀입니다. 

아래 스크린 샷을보면 왼쪽 상단에 위치한 것을 볼 수 있습니다.

 



Pico 보드에 있는 BOOTSEL 버튼을 누른 상태에서 Pico 보드를 연결해야 다시 저장공간으로 인식됩니다.

깜박이던 LED는 멈추게 됩니다. 

 

앞에서 넣었던 파일은 보이지 않지만 버튼 누르지 않고 다시 연결해보면 blink 예제대로 LED가 깜빡이는 것을 볼 수 있습니다. 

 




개별 프로젝트 빌드하기

 

1. 다음 파일을 다운로드하여 앞에서 진행한 pico 폴더의 다음 위치에 압축을 풀어 둡니다.

https://github.com/webnautes/nudapeu/blob/master/project1.zip 

 



2. 다음 위치에 있는 blink 예제의 blink.c를 복사하여  

 

D:\work\pico\pico-examples\blink

 



project1 폴더에 붙여넣기합니다.

 



CMakeLists.txt 파일을 열어서 다음 부분을 blink.c로 수정합니다. 

하나 이상의 소스코드 파일을 추가해야 한다면 줄바꿈으로 구분하여 여러개를 적으면 됩니다.

 



3. 윈도우 키를 누른 후, “ Developer Command”을 입력하여 Developer Command Prompt for VS 2022를 실행합니다. 



4. project1 폴더에 있는 build 폴더로 이동합니다. 

 



5. 다음 두 명령을 차례로  실행합니다.

 

cmake -G "NMake Makefiles" ..  

 

nmake 



6. 윈도우 탐색기로 project1 아래에 있는 build 폴더로 이동하면 project1.uf2 파일을 찾을 수 있습니다.  

 

pico의 BOOTSEL 버튼을 누른 채 PC에 연결합니다.

project1.uf2를 pico를 연결해 추가된 외장 저장공간으로 복사합니다. 

잠시 후, pico의 LED가 깜박이게 됩니다. 




관련 포스트

 

Raspberry Pi Pico C++ 프로그래밍 - USB Serial 예제

https://webnautes.tistory.com/1478




참고

 

https://www.element14.com/community/community/raspberry-pi/blog/2021/01/24/working-with-the-raspberry-pi-pico-with-windows

 

https://www.element14.com/community/people/neilk/blog/2021/01/27/adventures-with-the-raspberry-pi-pico-part-1

 

https://datasheets.raspberrypi.org/pico/getting-started-with-pico.pdf

 

반응형

해보고 확인한 것을 문서화하여 기록합니다.


공부한 내용을 공유하는 공간입니다.
부족함이 있지만 도움이 되었으면 합니다.
잘못된 부분이나 개선점을 알려주시면 감사하겠습니다.



포스트 작성시에는 문제 없었지만 이후 문제가 생길 수 있습니다.
문제가 생기면 포스트와 바뀐 환경이 있나 먼저 확인해보세요.

질문을 남겨주면 가능한 빨리 답변드립니다.


제가 쓴 책도 한번 검토해보세요 ^^

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기

댓글을 달아 주세요

TistoryWhaleSkin3.4">