반응형

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

아직 작성 중입니다. 



2021. 3. 30  최초작성 

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



참고한 문서에서는 Visual Studio Code를 전체 프로젝트를 빌드하기 위해 진행을 한거라 굳이 따라해보지 않았습니다.

추후 Visual Studio Code에서 개별 프로젝트를 빌드하는 방법을 추가할 계획입니다. 




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

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

 




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

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

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

 




Raspberry Pi Pico를 위한 개발환경 구축 방법과 예제 전체를 빌드하는 과정을 다루고 있습니다. 

이후 업데이트시 개별적으로 원하는 예제를 따로 빌드하는 방법을 추가할 예정입니다. 




1. Visual Studio Code를 설치합니다. 

 

Visual Studio Code 설치하는 방법( Windows / Ubuntu )

https://webnautes.tistory.com/1197



확장을 클릭하고 “cmake tools”를 검색하여 설치를 클릭합니다. 

 




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

 

https://cmake.org/download/

 

 




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

 




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

 

https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2019 



아래로 스크롤하여 “Tools for Visual Studio 2019”를 선택합니다. 

 




Visual Studio 2019용 Build Tools에 있는 다운로드를 클릭합니다. 

 




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



Visual C++ 빌드 도구를 선택하여 설치합니다.





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

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

 

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






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

 




5. 아래 링크에 접속하여 Python 3.7.7을 다운로드 받아 설치합니다.

파이썬 버전은 어떤 것을 사용하든 크게 문제 안되는 듯합니다.

 

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

 




설치시 “ add Python to the PATH variable”를 체크해줘야 합니다.




6. 아래 두 링크의 깃허브 저장소를 다운로드합니다. 

 

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

 

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

 

 




적당한 곳에 압축을 풀어줍니다. 

폴더 안에 같은 이름의 폴더가 있는지 꼭 확인해보세요. 

 




폴더 이름을 변경하여 -master를 제거합니다. 

 




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

아직 개별적으로 하나씩 빌드하는 방법은 해보지 않았습니다.



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

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

 

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

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

 




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

 




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

 

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

 




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

PICO_GCC_TRIPLE defaulted to arm-none-eabi

-- The C compiler identification is GNU 10.2.1

-- The CXX compiler identification is GNU 10.2.1

-- The ASM compiler identification is GNU

-- Found assembler: C:/Program Files (x86)/GNU Arm Embedded Toolchain/10 2020-q4-major/bin/arm-none-eabi-gcc.exe

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/Python37/python.exe (found version "3.7.7") found components: Interpreter

CMake Warning at D:/work/pico/pico-sdk/src/rp2_common/tinyusb/CMakeLists.txt:10 (message):

  TinyUSB submodule has not been initialized; USB support will be unavailable


  hint: try 'git submodule update --init' from your SDK directory

  (D:/work/pico/pico-sdk).



-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)

ELF2UF2 will need to be built

CMake Warning at hello_world/usb/CMakeLists.txt:19 (message):

  not building hello_usb because TinyUSB submodule is not initialized in the

  SDK



PIOASM will need to be built

Skipping TinyUSB device examples, as TinyUSB unavailable

Skipping TinyUSB host examples, as TinyUSB unavailable

-- Configuring done

-- Generating done

-- Build files have been written to: D:/work/pico/pico-examples/build


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가 깜빡이는 것을 볼 수 있습니다. 

 



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

 

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

 




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

 

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

 




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

 




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

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

 




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




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

 




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

 

cmake -G "NMake Makefiles" ..  

 

nmake 



실행 결과입니다.   

 

D:\work\pico\project1\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

PICO_GCC_TRIPLE defaulted to arm-none-eabi

-- The C compiler identification is GNU 10.2.1

-- The CXX compiler identification is GNU 10.2.1

-- The ASM compiler identification is GNU

-- Found assembler: C:/Program Files (x86)/GNU Arm Embedded Toolchain/10 2020-q4-major/bin/arm-none-eabi-gcc.exe

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/Python37/python.exe (found version "3.7.7") found components: Interpreter

CMake Warning at D:/work/pico/pico-sdk/src/rp2_common/tinyusb/CMakeLists.txt:10 (message):

  TinyUSB submodule has not been initialized; USB support will be unavailable


  hint: try 'git submodule update --init' from your SDK directory

  (D:/work/pico/pico-sdk).



-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)

ELF2UF2 will need to be built

-- Configuring done

-- Generating done

-- Build files have been written to: D:/work/pico/project1/build



D:\work\pico\project1\build>nmake


Microsoft(R) Program Maintenance Utility 버전 14.28.29913.0

Copyright (c) Microsoft Corporation. All rights reserved.


[  1%] Creating directories for 'ELF2UF2Build'

[  3%] No download step for 'ELF2UF2Build'

[  5%] No update step for 'ELF2UF2Build'

[  6%] No patch step for 'ELF2UF2Build'

[  8%] Performing configure step for 'ELF2UF2Build'

-- The C compiler identification is MSVC 19.28.29913.0

-- The CXX compiler identification is MSVC 19.28.29913.0

-- Detecting C compiler ABI info

-- Detecting C compiler ABI info - done

-- Check for working C compiler: D:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.28.29910/bin/Hostx86/x86/cl.exe - skipped

-- Detecting C compile features

-- Detecting C compile features - done

-- Detecting CXX compiler ABI info

-- Detecting CXX compiler ABI info - done

-- Check for working CXX compiler: D:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.28.29910/bin/Hostx86/x86/cl.exe - skipped

-- Detecting CXX compile features

-- Detecting CXX compile features - done

-- Configuring done

-- Generating done

-- Build files have been written to: D:/work/pico/project1/build/elf2uf2

[ 10%] Performing build step for 'ELF2UF2Build'


Microsoft(R) Program Maintenance Utility 버전 14.28.29913.0

Copyright (c) Microsoft Corporation. All rights reserved.


[ 50%] Building CXX object CMakeFiles/elf2uf2.dir/main.cpp.obj

main.cpp

?喚? 포함 파일: D:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.28.29910\include\cstdio

?喚? 포함 파일:    D:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.28.29910\include\sal.h

?喚? 포함 파일:     D:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.28.29910\include\concurrencysal.h

?喚? 포함 파일:   D:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.28.29910\include\xkeycheck.h

?喚? 포함 파일:  D:\Windows Kits\10\include\10.0.19041.0\ucrt\stdio.h

?喚? 포함 파일:   D:\Windows Kits\10\include\10.0.19041.0\ucrt\corecrt_wstdio.h

?喚? 포함 파일: D:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.28.29910\include\map

?喚? 포함 파일:    D:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.28.29910\include\cstdint

?喚? 포함 파일:     D:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.28.29910\include\cstddef

?喚? 포함 파일:     D:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.28.29910\include\cstdlib

?喚? 포함 파일:      D:\Windows Kits\10\include\10.0.19041.0\ucrt\stdlib.h

?喚? 포함 파일:       D:\Windows Kits\10\include\10.0.19041.0\ucrt\corecrt_search.h

?喚? 포함 파일:       D:\Windows Kits\10\include\10.0.19041.0\ucrt\corecrt_wstdlib.h

?喚? 포함 파일:       D:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.28.29910\include\limits.h

?喚? 포함 파일:     D:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.28.29910\include\initializer_list

?喚? 포함 파일:   D:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.28.29910\include\xutility

?喚? 포함 파일:      D:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.28.29910\include\vcruntime_new_debug.h

?喚? 포함 파일:     D:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.28.29910\include\crtdefs.h

?喚? 포함 파일:    D:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.28.29910\include\climits

?喚? 포함 파일:      D:\Windows Kits\10\include\10.0.19041.0\ucrt\corecrt_memory.h

?喚? 포함 파일:        D:\Windows Kits\10\include\10.0.19041.0\ucrt\errno.h

?喚? 포함 파일:      D:\Windows Kits\10\include\10.0.19041.0\ucrt\corecrt_wstring.h

?喚? 포함 파일:    D:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.28.29910\include\utility

?喚? 포함 파일:  D:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.28.29910\include\xtree

?喚? 포함 파일:      D:\Windows Kits\10\include\10.0.19041.0\ucrt\float.h

?喚? 포함 파일:     D:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.28.29910\include\cwchar

?喚? 포함 파일:       D:\Windows Kits\10\include\10.0.19041.0\ucrt\corecrt_wconio.h

?喚? 포함 파일:       D:\Windows Kits\10\include\10.0.19041.0\ucrt\corecrt_wctype.h

?喚? 포함 파일:       D:\Windows Kits\10\include\10.0.19041.0\ucrt\corecrt_wdirect.h

?喚? 포함 파일:        D:\Windows Kits\10\include\10.0.19041.0\ucrt\corecrt_share.h

?喚? 포함 파일:       D:\Windows Kits\10\include\10.0.19041.0\ucrt\corecrt_wprocess.h

?喚? 포함 파일:       D:\Windows Kits\10\include\10.0.19041.0\ucrt\corecrt_wtime.h

?喚? 포함 파일:       D:\Windows Kits\10\include\10.0.19041.0\ucrt\sys/stat.h

?喚? 포함 파일:     D:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.28.29910\include\intrin0.h

?喚? 포함 파일:     D:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.28.29910\include\isa_availability.h

?喚? 포함 파일:    D:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.28.29910\include\new

?喚? 포함 파일:      D:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.28.29910\include\vcruntime_exception.h

?喚? 포함 파일:        D:\Windows Kits\10\include\10.0.19041.0\ucrt\corecrt_terminate.h

?喚? 포함 파일:    D:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.28.29910\include\xatomic.h

?喚? 포함 파일: D:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.28.29910\include\vector

?喚? 포함 파일: D:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.28.29910\include\cstdarg

?喚? 포함 파일: D:\work\pico\pico-sdk\src\common\boot_uf2\include\boot/uf2.h

D:\work\pico\pico-sdk\tools\elf2uf2\main.cpp(325): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.

D:\work\pico\pico-sdk\tools\elf2uf2\main.cpp(331): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.

[100%] Linking CXX executable elf2uf2.exe

[100%] Built target elf2uf2

[ 11%] No install step for 'ELF2UF2Build'

[ 13%] Completed 'ELF2UF2Build'

[ 13%] Built target ELF2UF2Build

Scanning dependencies of target bs2_default

[ 15%] Building ASM object pico-sdk/src/rp2_common/boot_stage2/CMakeFiles/bs2_default.dir/boot2_w25q080.S.obj

[ 16%] Linking ASM executable bs2_default.elf

[ 16%] Built target bs2_default

[ 18%] Generating bs2_default.bin

[ 20%] Generating bs2_default_padded_checksummed.S

[ 20%] Built target bs2_default_padded_checksummed_asm

Scanning dependencies of target project1

[ 22%] Building C object CMakeFiles/project1.dir/blink.c.obj

[ 23%] Building C object CMakeFiles/project1.dir/D_/work/pico/pico-sdk/src/rp2_common/pico_stdlib/stdlib.c.obj

[ 25%] Building C object CMakeFiles/project1.dir/D_/work/pico/pico-sdk/src/rp2_common/hardware_gpio/gpio.c.obj

[ 27%] Building C object CMakeFiles/project1.dir/D_/work/pico/pico-sdk/src/rp2_common/hardware_claim/claim.c.obj

[ 28%] Building C object CMakeFiles/project1.dir/D_/work/pico/pico-sdk/src/rp2_common/hardware_sync/sync.c.obj

[ 30%] Building C object CMakeFiles/project1.dir/D_/work/pico/pico-sdk/src/rp2_common/pico_platform/platform.c.obj

[ 32%] Building C object CMakeFiles/project1.dir/D_/work/pico/pico-sdk/src/rp2_common/hardware_uart/uart.c.obj

[ 33%] Building ASM object CMakeFiles/project1.dir/D_/work/pico/pico-sdk/src/rp2_common/hardware_divider/divider.S.obj

[ 35%] Building C object CMakeFiles/project1.dir/D_/work/pico/pico-sdk/src/common/pico_time/time.c.obj

[ 37%] Building C object CMakeFiles/project1.dir/D_/work/pico/pico-sdk/src/common/pico_time/timeout_helper.c.obj

[ 38%] Building C object CMakeFiles/project1.dir/D_/work/pico/pico-sdk/src/rp2_common/hardware_timer/timer.c.obj

[ 40%] Building C object CMakeFiles/project1.dir/D_/work/pico/pico-sdk/src/common/pico_sync/sem.c.obj

[ 42%] Building C object CMakeFiles/project1.dir/D_/work/pico/pico-sdk/src/common/pico_sync/lock_core.c.obj

[ 44%] Building C object CMakeFiles/project1.dir/D_/work/pico/pico-sdk/src/common/pico_sync/mutex.c.obj

[ 45%] Building C object CMakeFiles/project1.dir/D_/work/pico/pico-sdk/src/common/pico_sync/critical_section.c.obj

[ 47%] Building C object CMakeFiles/project1.dir/D_/work/pico/pico-sdk/src/common/pico_util/datetime.c.obj

[ 49%] Building C object CMakeFiles/project1.dir/D_/work/pico/pico-sdk/src/common/pico_util/pheap.c.obj

[ 50%] Building C object CMakeFiles/project1.dir/D_/work/pico/pico-sdk/src/common/pico_util/queue.c.obj

[ 52%] Building C object CMakeFiles/project1.dir/D_/work/pico/pico-sdk/src/rp2_common/pico_runtime/runtime.c.obj

[ 54%] Building C object CMakeFiles/project1.dir/D_/work/pico/pico-sdk/src/rp2_common/hardware_clocks/clocks.c.obj

[ 55%] Building C object CMakeFiles/project1.dir/D_/work/pico/pico-sdk/src/rp2_common/hardware_watchdog/watchdog.c.obj

[ 57%] Building C object CMakeFiles/project1.dir/D_/work/pico/pico-sdk/src/rp2_common/hardware_xosc/xosc.c.obj

[ 59%] Building C object CMakeFiles/project1.dir/D_/work/pico/pico-sdk/src/rp2_common/hardware_pll/pll.c.obj

[ 61%] Building C object CMakeFiles/project1.dir/D_/work/pico/pico-sdk/src/rp2_common/hardware_vreg/vreg.c.obj

[ 62%] Building C object CMakeFiles/project1.dir/D_/work/pico/pico-sdk/src/rp2_common/hardware_irq/irq.c.obj

[ 64%] Building ASM object CMakeFiles/project1.dir/D_/work/pico/pico-sdk/src/rp2_common/hardware_irq/irq_handler_chain.S.obj

[ 66%] Building C object CMakeFiles/project1.dir/D_/work/pico/pico-sdk/src/rp2_common/pico_printf/printf.c.obj

[ 67%] Building ASM object CMakeFiles/project1.dir/D_/work/pico/pico-sdk/src/rp2_common/pico_bit_ops/bit_ops_aeabi.S.obj

[ 69%] Building C object CMakeFiles/project1.dir/D_/work/pico/pico-sdk/src/rp2_common/pico_bootrom/bootrom.c.obj

[ 71%] Building ASM object CMakeFiles/project1.dir/D_/work/pico/pico-sdk/src/rp2_common/pico_divider/divider.S.obj

[ 72%] Building ASM object CMakeFiles/project1.dir/D_/work/pico/pico-sdk/src/rp2_common/pico_double/double_aeabi.S.obj

[ 74%] Building C object CMakeFiles/project1.dir/D_/work/pico/pico-sdk/src/rp2_common/pico_double/double_init_rom.c.obj

[ 76%] Building C object CMakeFiles/project1.dir/D_/work/pico/pico-sdk/src/rp2_common/pico_double/double_math.c.obj

[ 77%] Building ASM object CMakeFiles/project1.dir/D_/work/pico/pico-sdk/src/rp2_common/pico_double/double_v1_rom_shim.S.obj

[ 79%] Building ASM object CMakeFiles/project1.dir/D_/work/pico/pico-sdk/src/rp2_common/pico_int64_ops/pico_int64_ops_aeabi.S.obj

[ 81%] Building ASM object CMakeFiles/project1.dir/D_/work/pico/pico-sdk/src/rp2_common/pico_float/float_aeabi.S.obj

[ 83%] Building C object CMakeFiles/project1.dir/D_/work/pico/pico-sdk/src/rp2_common/pico_float/float_init_rom.c.obj

[ 84%] Building C object CMakeFiles/project1.dir/D_/work/pico/pico-sdk/src/rp2_common/pico_float/float_math.c.obj

[ 86%] Building ASM object CMakeFiles/project1.dir/D_/work/pico/pico-sdk/src/rp2_common/pico_float/float_v1_rom_shim.S.obj

[ 88%] Building C object CMakeFiles/project1.dir/D_/work/pico/pico-sdk/src/rp2_common/pico_malloc/pico_malloc.c.obj

[ 89%] Building ASM object CMakeFiles/project1.dir/D_/work/pico/pico-sdk/src/rp2_common/pico_mem_ops/mem_ops_aeabi.S.obj

[ 91%] Building ASM object CMakeFiles/project1.dir/D_/work/pico/pico-sdk/src/rp2_common/pico_standard_link/crt0.S.obj

[ 93%] Building CXX object CMakeFiles/project1.dir/D_/work/pico/pico-sdk/src/rp2_common/pico_standard_link/new_delete.cpp.obj

[ 94%] Building C object CMakeFiles/project1.dir/D_/work/pico/pico-sdk/src/rp2_common/pico_standard_link/binary_info.c.obj

[ 96%] Building C object CMakeFiles/project1.dir/D_/work/pico/pico-sdk/src/rp2_common/pico_stdio/stdio.c.obj

[ 98%] Building C object CMakeFiles/project1.dir/D_/work/pico/pico-sdk/src/rp2_common/pico_stdio_uart/stdio_uart.c.obj

[100%] Linking CXX executable project1.elf

[100%] Built target project1





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

 



이 파일을 앞에서 한 방식대로 pico로 복사하면 됩니다. 



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




반응형

해본 것을 문서화하여 기록합니다.
부족함이 있지만 도움이 되었으면 합니다.


포스트 작성시에는 문제 없었지만 이후 문제가 생길 수 있습니다.
질문을 남겨주면 가능한 빨리 답변드립니다.


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

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

댓글을 달아 주세요

">