이 블로그는 임베디드 컴퓨터를 이용한 장치(시스템) 개발과 원격제어에 필요한 지식을 공유 하기 위한 블로그 입니다.
실제 개발과 프로그램 예를 위하여 Microchip 사의 ATmega128를 사용한 보드와 Arduino Mega 보드(ATmega2560), Raspberry Pi Pico, Raspberry Pi, WiFi 모듈을 사용 합니다.

getting-start-pico-c

Window 환경에서 C(C++) 시작하기
  Window 환경에서 C(C++) 시작하기


  • C(C++) Projects를 위한 Toolchain 설치하기
    • C(C++) Projects를 위한 Toolchain을 설치하는 방법은 Toolchain 설치 Tool("Tool: pico-setup-windows")을 이용하는 방법과 개별 Tool을 본인이 직접 설치하는 방법이 있다. C(C++) Toolchain에 대한 경험이 없는 사람은 설치 Tool을 이용하는 것이 편리하다. 그러나 여러 종류의 GCC Tool을 사용하는 경우 중복 설치 등의 문제가 발생할 수도 있기 때문에 여기서는 본인이 개별 Tool을 설치하는 방법에 대하여 설명한다.

      아래 Tool을 다운로드하여 설치한다.

    • ARM GCC Compiler 설치하기
      • "GNU Arm Embedded Toolchain Downloads"에서 ARM GCC Compiler를 다운로드하여 설치 한다.
      • 주: 설치하는 동안 환경 변수에 PATH 등록을 선택하는 상자에서 "등록"을 선택하여야 한다.

    • CMake 설치하기
      • "CMake download"에서 CMake를 다운로드하여 설치 한다.
      • 주: 설치하는 동안 환경 변수에 CMake 경로(PATH) 등록을 선택하는 상자가 출력되는 경우 "등록"을 선택한다.

    • Build Tools for Visual Studio 2022(or 2019) 설치하기
      • "Visual Studio Download " 페이지 아래에서 "Visual Studio 2022용 도구"를 클릭하여 확장한다.
      • 확장된 창에서 "Visual Studio 2022용 빌드 도구"를 다운로드 한다.
      • 여러 종류의 Tool 중에서 아래와 같이 "Visual Studio 2022용 빌드 도구"를 선택하여 다운로드 한다.

      • "Visual Studio 2022용 Build Tools"를 설치하는 동안 설치 항목을 선택하는 창에 아래와 같이 "C++를 사용한 데스크톱 개발"을 선택하고, "설치 세부 정보"을 아래와 같이 선택한다.
      • 설치 항목 선택 창 예

      • "Visual Studio 2022용 Build Tools" 설치 확인하기
        • Windows 작업 표시줄의 검색창에 "dev"를 입력하면 "Developer Command Prompt for VS 2022"이 검색된다.
        • 검색된 "Developer Command Prompt for VS 2022"를 클릭하면 "Developer Command Prompt for VS 2022" Command 창이 열린다.
        • 주: Project Build 명령은 일반 "DOS Command 창"을 사용하지 않고 "Developer Command Prompt for VS 2022" 창을 사용한다.

          "Developer Command Prompt for VS 2022" 창 예

    • Git 설치하기
      • "Downloading Git"에서 Git를 다운로드 한다.
      • 최신 버전은 설치 시 많은 옵션 선택 창이 출력된다. 대부분 Default를 선택한다.
      • 설치하는 동안 Git의 Default editor를 선택하는 상자가 출력되는 경우 아래 예와 같이 본인이 주로 사용하는 Editor를 선택한다.
      • Default editor 선택 상자에서 "Notepad++"를 선택한 예

      • 설치하는 동안 환경 변수에 Git 경로의 등록을 선택하는 상자가 출력되는 경우 아래 예와 같이 선택한다.
      • Git 경로 등록 선택 상자 예

    • Pi Pico SDK와 pico-examples 설치하기
      • Pi Pico의 Working directory를 적당한 위치(예: D:\work-pico)에 생성한다.
      • DOS Command 창을 열고 Working directory로 이동한다.
      • Working directory에서 아래 명령을 실행하면 pico-sdk가 다운로드되어 현재 Directory에 설치된다.
      • git clone -b master https://github.com/raspberrypi/pico-sdk.git

        주: pico-sdk 설치 위치 예: D:\work-pico\pico-sdk

      • 아래와 같이 pico-sdk directory로 이동하여 pico-sdk를 update 한다.
      • cd pico-sdk

        git submodule update --init

      • DOS Command 창에서 Pi pico Working directory(예: D:\work-pico)로 이동하고, 아래와 같이 git clone 명령을 실행하여 pico-examples를 다운로드한다.
      • cd ..

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

        주: pico-examples 설치 위치 예: D:\work-pico\pico-examples

        DOS Command 창에서 명령을 실행하는 예

  • Project를 생성하고 Build 하기 - "Developer Command prompt for VS 2022 창" 이용
    • 사용하는 Software tool
      • Windows 파일 탐색기(Explorer)
      • 필요한 폴더와 파일을 탐색하고 새 폴더와 파일을 만든다. 또한 파일 편집이 필요한 경우 마우스 우측 버튼을 이용하여 Notepad++ 편집기를 Open 한다.

      • Notepad++
      • 프로그램 Code, HTML 문서 등의 작성에 편리한 문서 편집기 이다. 통합 개발 환경(Tool)에 포함된 편집기 보다 기능이 좋고 편리하기 때문에 본인은 이 편집기를 자주 사용한다. 개발자에게 익숙한 편집기가 있는 경우 다른 편집기를 사용하여도 된다.

      • Developer Command prompt for VS 2022 창
      • VS 2022 개발 도구를 사용하는 개발자를 위한 Command 창 이다. 이 창을 이용하여 Project의 생성과 Build에 필요한 명령을 실행한다.

    • Developer Command 창에서 pico-examples 폴더 Build 하기
    • 위 "Pi Pico SDK와 pico-examples 설치하기"에서 설치한 "pico-examples" 폴더에는 Pi Pico 보오드를 제어하는 프로그램 예가 각 폴더에 저장되어 있다. 이 예는 "pico-examples" 폴더에 있는 모든 Project를 한번에 Build 하는 예이다.

      pico-examples 폴더에 있는 모든 Project를 Build하는 경우 시간이 많이 걸리기 때문에 한번에 Build 할 필요는 없다. 그러나 Toolchain 설치와 Path 등 환경 변수가 바르게 설정되었는지 확인하기 위하여 Project 설정이 바르게 되어 있는 pico-examples Project를 Build하는 것은 의미있는 일이다.

      • Windows 작업 표시줄의 검색창에 "dev"를 입력하면 검색 결과 창에 "Developer Command Prompt for VS 2022" 가 출력된다. "Developer Command Prompt for VS 2022"를 관리자 권한으로 실행하면 "Developer Command Prompt for VS 2022" 창이 열린다.
      • "Developer Command Prompt for VS 2022" 창에서 아래 명령을 실행하여 PATH 환경 변수를 설정 한다.
      • setx PICO_SDK_PATH "..\..\pico-sdk"

      • "Developer Command Prompt for VS 2022" 창을 닫고, Developer Command Prompt for VS 2022" 창을 다시 Open(위 에서 설정한 환경 변수를 사용할 수 있도록 하기 위함) 한다.
      • "Developer Command Prompt for VS 2022" 창에서 pico-examples 폴더로 이동한다.
      • pico-examples 폴더에 "build" 폴더를 생성하고, "build" 폴더로 이동 한다.
      • mkdir build

        cd build

      • 아래와 같이 cmake 명령으로 NMake makefiles을 생성한다.
      • cmake -G "NMake Makefiles" ..

      • 아래 명령으로 nmake를 실행한다.
      • nmake

        위 nmake 명령은 pico-examples 폴더에 있는 전체 Project를 Build 하기 때문에 긴 시간이 필요하다.

        "Developer Command Prompt for VS 2022" 창에서 위 명령을 실행하는 예

    • 새 Project를 생성하고 Build 하기
    • 새 Project를 생성하는 방법은 Windows 파일 탐색기(Explorer)와 Text editor, Developer Command 창을 이용하여 수동으로 생성하는 방법과 파라메터만 설정하면 자동으로 Project를 생성하는 Tool인 pico-project-generator를 이용는 방법이 있다.

      여기서는 Project 폴더의 구성과 설정을 이해하기 위하여 Windows 파일 탐색기(Explorer) 등을 이용하여 수동으로 Project를 생성하는 방법을 먼저 설명하고, Project를 생성하는 Tool인 pico-project-generator를 이용는 방법에 대하여 설명한다.

      • Empty project(Template project) 만들기
      • Windows 10에서 새 Project를 생성하는 과정이 조금 복잡하기 때문에 이 예에서는 먼저 Template project을 만들고 이 Project를 이용하여 새 Project를 생성한다.

        • Project 폴더 만들기
        • Windows 파일 탐색기(Explorer)를 이용하여 pico-sdk 와 pico-examples 폴더가 있는 위치에 pico-empty-project 폴더을 만든다.

        • pico-empty-project 폴더에 main과 build 폴더를 생성한다.
        • pico-empty-project 폴더에 CMakeLists.txt 파일을 만들고 아래 코드를 복사하여 저장한다.
        • 주: 위 project(project_name C CXX ASM)에서 project_name는 본인이 원하는 project 이름으로 변경할 수 있다.

        • pico-examples 폴더에서 pico_sdk_import.cmake 파일을 복사하여 pico-empty-project 폴더에 저장한다.
        • main 폴더에 CMakeLists.txt 파일을 만들고 아래 코드를 복사하여 저장한다.
        • 주: 위에서 main은 main() 함수가 있는 파일 이름으로 본인이 원하는 파일 이름으로 변경할 수 있다.

        • main 폴더에 main.c 파일을 만들고 아래 코드를 복사하여 저장한다.
        • 주: 위 프로그램은 0.5초 주기로 Pi Pico 보드의 LED 가 점멸하는 프로그램 예로 본인이 작성한 프로그램으로 변경한다.

          참고자료: 이 Template project 폴더를 복사하여 Project 폴더의 구조를 확인하고 Project template 으로 이용할 수 있음: pico-empty-project.zip

      • Template project를 이용하여 "pico-led-blink" project 만들고 Build 하기
        • pico-sdk 폴더가 있는 폴더에 위 pico-empty-project.zip 파일을 다은로드하여 압축을 해제하고 복사하여 폴더 이름을 pico-led-blink로 변경한다.
        • pico-led-blink/main 폴더의 CMakeLists.txt 파일을 아래와 같이 편집한다.
        • pico-led-blink/main 폴더의 main.c의 이름을 blink.c로 변경하고 프로그램을 편집한다. 아래와 같이 sleep_ms(250) 함수를 sleep_ms(500)으로 변경하면 Pi Pico 보드의 LED가 1초 간격으로 점멸한다.
        • "Developer Command Prompt for VS 2022" 창을 열고 pico-led-blink 폴더 내의 "build" 폴더로 이동한다.
        • "build" 폴더에서 아래와 같이 cmake 명령으로 NMake makefiles을 생성한다.
        • cmake -G "NMake Makefiles" ..

        • 아래 명령으로 nmake를 실행하여 Project를 Build 한다.
        • nmake

          주: 프로그램 파일만 편집한 경우에는 nmake 만 다시 실행하면 된다.

          주: 처음 Project를 생성한 다음 nmake를 실행하면 AhnLab V3 바이러스 프로그램이 설치된 경우 malware/Win.Generic.C4992917 바이러스가 발견되었다는 메세지가 출력되고 Fatal error 가 발생하여 컴파일이 중단된다. 그러나 Error 메세지를 무시하고 한번더 nmake를 실행하면 컴파일이 잘 진행된다. 이 문제를 해결하신 분은 e-mail로 연락 주시기 바랍니다.

          주: AhnLab V3 바이러스 프로그램의 Home -> 보안 상태 설정에서 PC 실시간 검사를 Off 상태로 하면 이 문제가 발생하지 않음.

        • Windows 파일 탐색기(Explorer)를 사용하여 "build" 폴더의 내용을 확인 한다.
        • D:\work-pico\pico-blink\build\main 폴더에 blink.uf2, blink.hex, blink.bin, blink.elf 등의 파일이 생성됨.


    • pico-project-generator를 이용하여 새 Project 생성하기
      • pico-project-generator 설치하기
        • pico-project-generator 다운로드하기
          • "Developer Command Prompt for VS 2022" 창을 열고 pico-project-generator를 저장할 폴더로 이동한다음, 아래 명령을 실행하면 pico-project-generator를 다운로드하여 "pico-project-generator" 폴더를 생성한다.
          • D:\work-pico>git clone https://github.com/raspberrypi/pico-project-generator.git

            주: 위 예에서 D:\work-pico> 는 Pi pico의 Working directory에서의 Command Prompt 이다. 위 명령의 결과 D:\work-pico에 pico-project-generator 폴더가 생성된다.

      • pico_project.py에서 SDK Path 설정하기
        • Project generator의 실행 파일은 pico-project-generator 폴더에 있는 pico_project.py 파일 이다.
        • pico_project.py 프로그램은 pico-sdk 폴더의 위치가 Project folder 안에 있는 것으로 설정되어 있다. SDK의 위치가 Project folder 내에 있는 경우 Project 마다 별도로 SDK 가 필요하게 되는 문제가 있다. 모든 Project 가 동일한 SDK를 사용하도록하기 위하여 Text editor를 사용하여 pico_project.py 내의 CheckSDKPath(gui) 함수를 아래와 같이 편집한다.

          pico_project.py 내의 CheckSDKPath(gui) 함수의 편집 예

          CheckSDKPath(gui) 함수의 SDK Path 설정 부분을 윗 예(적색 라인 윗 줄)와 같이 편집하여 저장한다. 이 예는 SDK(pico-sdk) 폴더의 위치가 D:\work-pico\pico-sdk\인 경우이다.

      • pico-project-generator 폴더 위치와 이름 변경하기
      • pico-project-generator 폴더의 이름을 generator로 변경하고 D:\work-pico\pico-sdk\ 내로 이동한다. 그 결과 generator 폴더는 D:\work-pico\pico-sdk\generator\에 위치하게 된다.

        주: pico-project-generator 폴더 위치와 이름은 변경하지 않아도 된다. 윗 예는 자주 사용하는 폴더 이름을 가능한 줄이기 위함이다.

      • pico-project-generator를 사용하여 새 Project 생성하기
        • Command line 모드로 Project 생성하기
          • "Developer Command Prompt for VS 2022" 창을 열고 pico-project-generator를 저장한 폴더(예: D:\work-pico\pico-sdk\generator\)로 이동한다음, pico_project.py 프로그램을 실행하여 Project를 생성한다.
          • pico_project.py [-h] [-t TSV] [-o OUTPUT] [-x] [-l] [-c] [-f FEATURE] [-over] [-b] [-g] [-p PROJECT] [-r] [-uart] [-usb] [name]

            아래 명령으로 pico_project.py 프로그램 옵션을 확인할 수있다.

            python pico_project.py -h

            주: 이 페이지에서는 "Command line으로 Project 생성하기"는 자세히 설명하지 않는다.

            참고자료: https://github.com/raspberrypi/pico-project-generator

        • GUI Interface를 사용하여 새 Project 생성하기
          • "Developer Command Prompt for VS 2022" 창을 열고 pico-project-generator를 저장한 폴더(예: D:\work-pico\pico-sdk\generator\)로 이동한다음, 아래와 같은 명령을 실행하면 아래 그림과 같은 Project Generator 창이 열린다.
          • python pico_project.py --gui

            "Raspberry Pi Pico Project Generator" 창 예

            주: 위 예는 Project Name을 "poico-led-blink-generator"로 하고 Project Location을 "D:\work-pico"로 설정한 경우이다. 이 예에서 생성한 Project는 아래 "Visual Studio Code를 이용하여 C(C++) 프로그램 개발하기"에서 Project 예로 사용함.

            주: 위 Project Generator에서 IDE Option "Create VSCode project"를 Check 하지 않아야 한다. 이 Option을 선택하는 경우 자동으로 생성되는 Json 파일이 Windows 개발 환경과 일치하지 않는다.

            참고자료: "Raspberry Pi Pico Project Generator" 창의 옵션 선택에 대한 설명은 https://github.com/raspberrypi/pico-project-generator 페이지를 참고하기 바람.

          • "Raspberry Pi Pico Project Generator" 창에서 옵션을 선택하고 "OK" 버튼을 클릭하면 Project를 생성하는 "cmake 창"이 열리고 Project가 생성된다. Project 생성이 종료되면 "cmake 창" 아래 "OK" 버튼을 클릭한다.
          • "Raspberry Pi Pico Project Generator" 창을 종료("Quit" 버튼을 클릭)하면 "Developer Command Prompt for VS 2022" 창에 Prompt가 출력된다.
          • Windows 파일 탐색기(Explorer)를 이용하여 새로 생성된 Project 폴더(예: D:\work-pico\ProjectName\를 확인한다.
          • 생성된 Project 폴더 내의 파일과 폴더 예

          • 생성된 Project 폴더는 Project를 생성하고 cmake 명령(예: cmake -G "NMake Makefiles" ..)까지 실행된 결과이기 때문에 "Developer Command Prompt for VS 2022" 창에서 Project 폴더 내의 build 폴더로 이동한 다음 아래와 같이 nmake 명령을 실행하면 Project가 바로 Build 된다.
          • nmake


    • Build 한 프로그램을 Pi Pico 보드에 Load(Flashing) 하고 실행하기
      • 실행 Code를 Pi Pico에 Load 하고 실행하기
      • 실행 Code를 Pi Pico에 Load 하기 위하여는 개발용 컴퓨터에 Pi Pico 가 USB 저장 장치로 인식(BOOTSEL button을 누른 상태에서 Pi Pico를 시작)되어야 한다. BOOTSEL button을 누른 상태에서 Pi Pico가 시작되면 개발용 컴퓨터에 Pi Pico 가 USB 저장 장치로 인식된다.

        Pi Pico 보드에는 전원 스위치가 없기 때문에 USB 케이블의 단자를 Pi Pico 보드의 소켓에 삽입할 때(전원이 처음 공급될 때) Pi Pico의 동작(Reset)이 시작된다.

        • BOOTSEL button을 누른 상태에서 USB 케이블의 단자를 Pi Pico 보드의 소켓에 삽입 한다.
        • Windows 파일 탐색기(Explorer)에서 Pi Pico 가 USB 저장 장치로 인식되었는지 확인한다. USB 저장 장치 이름이 "RPI-RP2"로 표시 된다.
        • 위에서 Build한 Code(pico-led-blink\build\main\blink.uf2)를 USB 저장 장치(RPI-RP2)로 복사한다.
        • blink.uf2의 복사가 종료되면 Pi Pico의 USB 저장 장치 모드가 종료되고 자동으로 프로그램이 시작되어 Pi Pico 보드의 LED 가 점멸한다.
      • Pi Pico 보드에 Reset 버튼 추가하기
      • 실행 Code를 Pi Pico에 Load 하기 위하여는 개발용 컴퓨터에 Pi Pico 가 USB 저장 장치로 인식(BOOTSEL button을 누른 상태에서 Pi Pico를 시작)되어야 한다. USB 케이블 단자를 Pi Pico 보드의 소켓에 분리하거나 삽입하지 않고, 이 동작을 용이하게 하기 위하여 Pi Pico 보드에 Reset 버튼 추가한다.

        • Reset 버튼 회로: Pi Pico 보드의 Pin30(RUN)와 GND Pin 사이에 Push button switch(Reset button)을 설치한다.
        • 브레드보드(Breadboard)에 Reset button을 설치한 예

        • Reset button과 BOOTSEL button을 이용하여 Pi Pico 가 USB 저장 장치로 인식하도록 하기
          • BOOTSEL button을 누른 상태에서 Reset button을 누른다.
          • 약 1초 정도 경과 후 먼저 Reset button을 개방한 다음 BOOTSEL button을 개방한다.
          • Windows 파일 탐색기(Explorer)에서 Pi Pico 가 USB 저장 장치로 인식되었는지 확인한다. USB 저장 장치 이름이 "RPI-RP2"로 표시 된다.
        • 실행 Code를 Pi Pico에 Load 하고 실행하기
          • 위에서 Build한 Code(pico-led-blink\build\main\blink.uf2)를 USB 저장 장치(RPI-RP2)로 복사한다.
          • blink.uf2의 복사가 종료되면 Pi Pico의 USB 저장 장치 모드가 종료되고 자동으로 프로그램이 시작되어 Pi Pico 보드의 LED 가 점멸한다.

  • Visual Studio Code를 이용하여 C(C++) 프로그램 개발하기
    • MS에서 제공하는 Cross-Platform Editor로 다양한 언어를 지원 하며, IntelliSense와 Git 기능, 그리고 Extension 을 이용한 확장 기능을 제공한다.

    • Visual Studio Code 설치와 환경 설정
      • Visual Studio Code 설치하기
        • "Download Visual Studio Code"에서 Visual Studio Code를 다운로드 한다.
        • 설치하는 동안 추가작업을 선택하는 상자가 출력되는 경우 아래와 같이 선택한다.
        • Visual Studio Code 추가작업을 선택 예

      • Visual Studio Code 실행하기
        • "Developer Command Prompt for VS 2022" 창에서 다음 명령으로 Visual Studio Code를 실행 한다.
        • code

          주의: 시작 메뉴 또는 바탕 화면 아이콘을 클릭하여 Visual Studio Code를 직접 시작하면 GNU C(C++)빌드 환경이 올바르게 구성되지 않는다. Visual Studio Code의 GNU C(C++)빌드 환경 환경을 구성하는 쉬운 방법은 이러한 환경 변수가 이미 설정된 "Developer Command Prompt for VS 2022" 창에서 Visual Studio Code를 실행하는 것 이다.

        • SDK Path 설정하기: 이 설정은 한번만 실행하면 된다. 환경변수 창에서 확인 가능함.
        • 다음 명령으로 SDK Path를 설정한다. 이 설정은 한번만 실행하면 된다. 환경변수 창에서 설정 상태를 확인하는 것이 가능함.

          setx PICO_SDK_PATH "..\..\pico-sdk"

      • CMake Tools extension 설치와 설정하기
        • CMake Tools extension 설치하기
          • 왼쪽 도구 모음에서 확장 프로그램 아이콘을 클릭하고(또는 Ctrl + Shift + X 입력) "CMake Tools"를 검색하여 목록에서 "CMake Tools"을 클릭한 다음 설치 버튼을 클릭하여 설치한다.
          • CMake Tood을 선택하여 설치하는 예

        • CMake Tools extension 설정하기
          • 인터페이스 왼쪽의 탐색 모음 하단에 있는 톱니바퀴를 클릭하고 "설정"을 선택한다.
          • 설정 창에서 "확장" 및 "CMake Tools"을 클릭한다.
          • "Cmake: Cmake Path"까지 아래로 스크롤한다음 아래 그림과 같이 "cmake"로 설정되었는지 확인한다. 만약 "cmake"로 설정되지 않은 경우에는 "cmake"로 설정한다.
          • "Cmake: Cmake Path" 설정을 확인하는 창 예

          • "Cmake: Configure Environment"까지 아래로 스크롤한다음 "항목 추가"를 클릭하고 아래 그림과 같이 PICO_SDK_PATH를 ..\..\pico-sdk로 추가 설정한다.
          • "Cmake: Configure Environment"에서 PICO_SDK_PATH를 ..\..\pico-sdk로 추가 설정한 결과 예

          • "Cmake: Generator"까지 아래로 스크롤한 다음 Cmake: Generator를 "NMake Makefiles"로 설정한다.
          • "Cmake: Generator"을 "NMake Makefiles"로 설정한 예

          • 설정 창을 종료한다.
    • Project Load와 Build 하기
      • Project 생성하기
      • 위 "pico-project-generator를 이용하여 새 Project 생성하기" 또는 "새 Project를 생성하고 Build 하기"를 참고하여 Project를 생성한다.

        주: "pico-project-generator를 이용하여 새 Project 생성하는 경우 Project Generator에서 IDE Option "Create VSCode project"를 Check 하지 않아야 한다. 이 Option을 선택하는 경우 자동으로 생성되는 Json 파일이 Windows 개발 환경과 일치하지 않는다.

      • Project Load 하고 Build 하기
        • "Developer Command Prompt for VS 2022" 창에서 다음 명령으로 Visual Studio Code를 실행 한다.
        • code

          주의: 시작 메뉴 또는 바탕 화면 아이콘을 클릭하여 Visual Studio Code를 직접 시작하면 GNU C(C++)빌드 환경이 올바르게 구성되지 않는다. Visual Studio Code의 GNU C(C++)빌드 환경 환경을 구성하는 쉬운 방법은 이러한 환경 변수가 이미 설정된 "Developer Command Prompt for VS 2022" 창에서 Visual Studio Code를 실행하는 것 이다.

        • 파일 메뉴로 이동하여 "폴더 열기..."를 클릭하면 폴더 탐색 창이 열린다. 탐색 창에서 위 "GUI Interface를 사용하여 새 Project 생성하기"에서 생성한 "poico-led-blink-generator" 폴더를 검색하여 선택하고 "폴더 선택" 버튼을 클릭한다.
        • 새로 작성한 Project 폴더를 처음 열면 "이 폴더에 있는 파일의 작성자를 신뢰합니까?" 창이 열린다. 이 창에서 "예 작성자를 신뢰합니다"를 클릭하면 Project 폴더가 열린다.
        • "이 폴더에 있는 파일의 작성자를 신뢰합니까?" 창 예

        • Visual Studio Code의 탐색기를 클릭하면 Visual Studio Code 창의 좌측에 Project 폴더의 내용이 출력된다.
        • Project 폴더에서 "poico-led-blink-generator.c"를 더블 클릭하면 편집 창에 "poico-led-blink-generator.c"의 내용이 출력(Sample 프로그램 내용을 확인하고 편집할 수 있음)된다.
        • Visual Studio Code 편집 창에 아래 프로그램을 복사한다. 이 프로그램은 Pi Pico 개발 보드에 있는 LED가 0.5초 주기로 점멸하는 프로그램이다.

        • Visual Studio Code 창 아래에서 "Click to change the active kit" 버튼을 클릭하면 Visual Studio Code 창 상단에 Project에 사용할 Kit를 선택하는 Select 창이 열린다.
        • 주: 사용할 Kit가 선택되지 않은 경우 "Click to change the active kit" 버튼 옆에 "No Kit Selected" 메세지가 출력된다.

          "Click to change the active kit" 버튼의 모양과 위치 예

        • Select 창에서 사용할 Compiler를 선택(예: GCC 10.2.1 arm-none-eabi .. )한다.
        • Active kit(Compiler)를 선택하기 위한 창 예

          주: 사용할 Kit를 선택하면 "Click to change the active kit" 버튼 옆에 "GCC Version arm-none-eabi"와 같이 선택된 Kit 이름이 출력된다.

        • Visual Studio Code 창 아래에 있는 "Build" 버튼 또는 F7 Key를 누르면 Build 가 시작된다. Build가 성공적으로 종료되면 출력 창에 "Build finished with exit code 0" 메세지가 출력된다.
        • Windows 파일 탐색기(Explorer)를 이용하여 Project 폴더내의 build 폴더에 Project build 결과(ProjectName.uf2, ProjectName.elf, ProjectName.hex, ProjectName.bin 등 파일이 생성되어야 함)를 확인한다.
        • 주: 위 예에서 ProjectName은 poico-led-blink-generator 이다.

    • 실행 Code를 Pi Pico에 Up load 하고 실행하기
      • 위 "Build 한 프로그램을 Pi Pico 보드에 Load(Flashing) 하고 실행하기"를 참고하여 개발용 컴퓨터에 Pi Pico 가 USB 저장 장치로 인식(BOOTSEL button을 누른 상태에서 Pi Pico를 시작)되도록 한다.
      • Windows 파일 탐색기(Explorer)를 이용하여 위에서 Build 한 "ProjectName.uf2" 파일을 Pi Pico USB 저장 장치로 복사한다.
      • "ProjectName.uf2" 파일 복사가 완료되면 Pi Pico는 자동으로 Reboot 되고 Flashed code 가 실행된다. USB 저장 장치는 Unmount 된다.
      • Pi Pico 개발 보드의 LED가 0.5초 주기로 점멸하는지 확인한다.

  • Arduino IDE 개발 환경을 이용하여 C(C++) 프로그램 개발하기
    • C(C++) Projects를 위한 Toolchain 설치하기
    • Boards manager 추가하기
      • Arduino IDE를 실행하고 "파일 -> 환경설정"을 클릭하면 환경설정 창이 열린다.
      • "환경설정" 창 예

      • "환경설정" 창의 아래에 있는 "추가적인보드 매니저 URLs"에 아래 URL을 입력하고 "확인"을 클릭한다.
      • https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json

      • "툴 -> 보드 -> 보드 매니저..."를 클릭하면 "보드 매니저" 창이 열린다.
      • "보드 매니저" 창의 검색 창에 pico를 입력하면 아래 예와 같이 "Arduino Mbed OS RP2040 Boards"와 "Raspberry Pi Pico/RP2040" 보드 매니저가 검색된다.
      • "Raspberry Pi Pico/RP RP2040 by Earle F. Philhower, III" Boards를 선택하여 설치한다.
      • 보드 매니저 설치 창 예

        주: Arduino IDE에 Paspberry Pi Pico를 연결하고 첫번째 Project를 Raspberry Pi Pico에 Upload 하여야 Arduino IDE와 Raspberry Pi Pico의 Serial 연결(Paspberry Pi Pico의 USB가 Serial port로 인식되도록 함)이 가능하게 된다. 한번 Project를 Upload 하면 Arduino IDE에서 Project를 Upload 시 USB-serial 프로그램이 같이 Upload 되기 때문에 개발용 PC와 Paspberry Pi Pico의 Serial 통신이 가능하게 된다.

      • "툴 -> 보드 -> Paspberry Pi Pico/RP2040 -> Raspberry Pi Pico"를 클릭하면 개발용 보드로 Raspberry Pi Pico 가 설정된다. Raspberry Pi Pico W를 사용하는 경우에는 Raspberry Pi Pico W를 선택한다.
    • 첫번째 Project를 Raspberry Pi Pico에 Upload 하기
      • Arduino IDE에서 Project를 한번 Upload 하면 Raspberry Pi Pico와 PC 사이에 Serial 통신이 가능하게 되어 Arduino IDE의 "업로드" 버튼의 클릭만으로 업로드를 할 수 있게 된다.

      • 위 과정을 완료한 상태(Raspberry Pi Pico를 개발용 보드로 설정)에서 "파일 -> 예제 -> Basics -> Blink"를 클릭하면 보드의 LED를 Blinking하는 프로그램의 Project 창이 열린다.
      • BOOTSEL 버튼을 누른 상태에서 USB를 연결한다. 개발용 컴퓨터에 Raspberry Pi Pico 가 USB 저장 장치로 인식된 상태가 된다.
      • "툴 -> 포트 -> UF2 Board"를 선택한다.
      • "스케치 -> 업로드"를 클릭하면 컴파일과 업로드가 진행된다. 업로드가 완료되면 프로그램이 실행되어 LED가 점멸한다.
      • USB 케이블을 분리하였다가 BOOTSEL 버튼을 누르지 않은 상태에서 연결(Hardware Reset)한다. Raspberry Pi Pico 가 다시 시작되면서 USB-serial 프로그램이 먼저 실행되어 개발용 PC와 Paspberry Pi Pico의 Serial 통신이 가능한 상태가 된다.
      • PC에서 "장치 관리자"를 실행하고 "포트(COM & LPT)에서 USB 직렬 장치의 Port 번호를 확인(아래 예에서는 COM12)한다.
      • "장치 관리자"에서 COM Port 번호를 확인하는 예

      • "툴 -> 포트 -> 시리얼 포트"에서 장치관리자에서 확인한 "USB 직렬 장치의 Port 번호"를 선택한다.
      • Arduino IDE에 Paspberry Pi Pico의 COM Port 번호가 설정되었기 때문에 이제 USB 케이블을 분리하지 않고 업로드를 실행할 수 있다.


  • Window 환경에서 C(C++) 시작하기 관련 페이지 보기