728x90
반응형

1. blink는 ?

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

2. source code

/**
 * Copyright (c) 2020 Raspberry Pi (Trading) Ltd.
 *
 * SPDX-License-Identifier: BSD-3-Clause
 */

#include "pico/stdlib.h"

int main() {
#ifndef PICO_DEFAULT_LED_PIN
#warning blink example requires a board with a regular LED
#else
    const uint LED_PIN = PICO_DEFAULT_LED_PIN;
    gpio_init(LED_PIN);
    gpio_set_dir(LED_PIN, GPIO_OUT);
    while (true) {
        gpio_put(LED_PIN, 1);
        sleep_ms(500);
        gpio_put(LED_PIN, 0);
        sleep_ms(500);
    }
#endif
}

 

3. CMakeLists.txt 작성하기

cmake_minimum_required(VERSION 3.20)
include(pico_sdk_import.cmake)
set(prj_name "blink_test")

project(${prj_name} C CXX ASM)
set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 17)

pico_sdk_init()

#include(example_auto_set_url.cmake)

add_executable(${prj_name} 
        blink.c
        )

# pull in common dependencies
target_link_libraries(${prj_name} pico_stdlib)

# create map/bin/hex file etc.
pico_add_extra_outputs(${prj_name})

# add url via pico_set_program_url
# example_auto_set_url(${prj_name})

"cmake_minimum_required(VERSION 3.20)"은 "cmake --version" 로 확인하시면 됩니다.

맞지 않으면 오류가 표출 되겠죠.

 

"include(pico_sdk_import.cmake)"

"C:\project-pico\pico-sdk\external\pico_sdk_import.cmake"에서 "복사"하시면 됩니다.

 

나머지는 그냥 넣으면 되는 것으로 생각하면 될 듯합니다. 너무 깊게 생각하면 머리 아플 듯...

 

4. 컴파일 하기

Developer Command Prompt for VS 2019를 실행한다.

cmake -G "NMake Makefiles" ..
nmake

를 차례대로 실행하면 된다.

nmake 는 "프로젝트\build>nmake" 에서 실행하면 된다.

"C:\project-pico\blink_test\build>nmake"와 같이 하면 된다.

nmake해야 ".uf2"가 생성된다.

 

5. 펌웨어 다운로드

Pico 보드에 있는 "BOOTSEL 버튼을 누른 상태"에서 "PC의 USB단자와 Pico 보드를 연결"해야

"저장공간으로 인식"됩니다.

그냥 BOOTSEL 버튼을 계속 누르고 있다고, 화면이 생성되지 않아요.

반드시, pico 보드를 PC의 USB단자에서 탈착했다가 다시 장착해야 하고,

그 때 BOOTSEL 버튼을 상태에서 장착하면 된다는 얘기지요. 

저도 처음에 어떻게 해야하는지 몰라서 당황했던 내용입니다.

"C:\project-pico\blink_test\build"에서 "blink_test.uf2" 를 위와 같이

"RPI-RP2"에 "복사"하면 자동 리부팅하고, 프로그램대로 동작하는 걸 확인할 수 있습니다.

 

for me, for you, for us

728x90
반응형
728x90
반응형

Window10, 11에서 Raspberry Pi Pico C/C++ SDK를 어떻게 설치해야 하는지 정리해 보았다.

가장 기본적이고, 시작점인 듯 하다. 현재, Window10에서 Window11로 넘어가고 있다. 

아래 내용들은 두OS 모두 잘 되고 있다.

나중에 다시 설치할 때를 대비해서, 다른 사람에게 설명서 대용으로 쓰려고 만들었다. 

또한, 제대로 설명된 곳이 거의 없어 고생해서 더욱 더 정리했다. 이 글을 보시는 분들은 덜 고생하길...

 

1. 설치해야 하는 것들

1) ARM GCC Compiler 설치

arm-none-eabi를 설치하는것.

https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads 

다운로드하여 설치한다.

 
환경 변수를 선택 후 마침을 눌러야 한다.
그리고, 시스템에 옮겨야 한다. (사용자가 두개 등록되어다면 안될 수 있다.)

2) Visual Studio 2019 설치

CMake도 같이 설치되어서 따로 설치할 필요 없다. "Windows용 C++ CMake" 도구 선택되어 있는지 확인 한다.

따로 CMake 설치는 오류 발생의 원인이 된다.

Install를 클릭해서 설치 (다운로드해서 설치함)

 

3) Python

설치 이유를 처음엔 이해 못했다. c/c++를 이것으로 컴파일 하는 듯

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

 

4) Github 설치

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

기본값으로 설치했다.

 

5) Visual Studio Code 설치

Developer_Command Prompt for VS 2019에서 code로 해서 Visual Studio Code가 실행된다면 

그냥 넘어가면 된다.

아니라면, https://code.visualstudio.com/download에서 Windows용으로 다운 받아 설치하면 된다.

 

Download Visual Studio Code - Mac, Linux, Windows

Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows. Download Visual Studio Code to experience a redefined code editor, optimized for building and debugging modern web and cloud applications.

code.visualstudio.com

 

2. Raspberry Pi Pico C/C++ SDK and toolchain 셋업

1) PICO SDK & Example 다운로드

먼저, 아래 명령어들을 사용하여 빌드 관련 툴들이 정상적으로 설치가 되었는지 확인해 봅니다.

**********************************************************************
** Visual Studio 2019 Developer Command Prompt v16.11.15
** Copyright (c) 2021 Microsoft Corporation
**********************************************************************
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools> 상태로 진행해서 확인해야 합니다.

cmake와 nmake는 cmd화면에서는 확인 되지 않았다.


cmake --version
arm-none-eabi-gcc --version
git --version
nmake

 

위의 내용이 확인되었다면, 이제 SDK와 Example 들을 git를 통해 다운 받는다.

C:\RP2040> git clone -b master https://github.com/raspberrypi/pico-sdk.git
C:\RP2040> cd pico-sdk
C:\RP2040\pico-sdk> git submodule update --init
C:\RP2040\pico-sdk> cd ..
C:\RP2040> git clone -b master https://github.com/raspberrypi/pico-examples.git

예시 폴더 화면

 

2) Build Pico SDK and Pico Examples

**********************************************************************
** Visual Studio 2019 Developer Command Prompt v16.11.15
** Copyright (c) 2021 Microsoft Corporation
**********************************************************************
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools>cd c:\
c:\>cd rp2040
c:\RP2040>setx PICO_SDK_PATH "C:\RP2040\pico-sdk"
성공: 지정한 값을 저장했습니다.
c:\RP2040>cd pico-examples
c:\RP2040\pico-examples>mkdir build
c:\RP2040\pico-examples>cd build
c:\RP2040\pico-examples\build>cmake -G "NMake Makefiles" ..
   생략
-- Configuring done
-- Generating done
-- Build files have been written to: C:/RP2040/pico-examples/build
C:\RP2040\pico-examples\build>nmake

-- Build files have been written to: C:/RP2040/pico-examples/build가 아닌

-- Build files have been written to: C:/RP2040/pico-examples만으로 끝났다면 오류다.

pico-sdk와 pico-examples 폴더를 지우고, git clone -b master https://github.com/raspberrypi/pico-sdk.git 부터 다시 설치하는게 좋다.

pico-examples/build는 "pico-examples" 폴더를 copy 했다 싶을 정도로 폴더가 있어야 정상,

간단히 cmakeCache.txt 같은 것만 있다면 잘 못 설치된 것임.

예를 들면) pico-examples/build에도 blink 폴더가 생성된다. 없다면 잘못 된것.

 

nmake하면 pico-examples를 모두 컴파일하여 시간이 걸리는 작업이다. 빌드 작업을 한다.

1시간 이상 소요되는 듯하다. 100%까지 기다려야 한다.

VSCODE에서도 -- Build files have been written to:까진 나오지만, nmake하지 않는 듯하다.

elf나 중요한 uf2파일은 못봤다.

Developer Command Prompt 터미널에서 해당 프로젝트폴더 아래 build가서 nmake 해야 할 듯

C:\RP2040 에서 C:\project-pico로 바꾸었다.왜냐하면, pico를 사용하고 있어서...

실행 성공한 화면 (blink.c)

for me, for you, for us

728x90
반응형

+ Recent posts