0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

RaspberryPiPico SDKを使って小さいサンプルプログラムをビルドする

Last updated at Posted at 2022-07-10

やりたいこと

RaspberryPiPicoSDKを使って小さいサンプルプログラムを組んでビルドする。

手順

PICO_SDK_PATH環境変数を定義

export PICO_SDK_PATH=/data/app/root/pico-sdk

ディレクトリを作成

mkdir /data/app/root/sample-blink
mkdir /data/app/root/sample-blink/src
mkdir /data/app/root/sample-blink/build

LEDをチカチカさせるソースを作成する

src/main.c
#include "pico/stdlib.h"

int main() {
    // GPIOの初期化
    gpio_init(PICO_DEFAULT_LED_PIN);
    // 入出力の設定
    gpio_set_dir(PICO_DEFAULT_LED_PIN, GPIO_OUT);
    while (true) {
        // HIGHを出力
        gpio_put(PICO_DEFAULT_LED_PIN, 1);
        sleep_ms(250);
        // LOWを出力
        gpio_put(PICO_DEFAULT_LED_PIN, 0);
        sleep_ms(250);
    }
}

CMake用のビルドファイルを作成する

src/CMakeLists.txt
# CMakeのバージョン
cmake_minimum_required(VERSION 3.12)

# SDKパス/pico_sdk_init()の定義のパス
set(PICO_SDK_PATH $ENV{PICO_SDK_PATH})
set(PICO_SDK_INIT_CMAKE_FILE ${PICO_SDK_PATH}/pico_sdk_init.cmake)

# PICO SDKのCMakeを読み込み
include(${PICO_SDK_INIT_CMAKE_FILE})

# プロジェクト名
project(sample_blink CXX C ASM)

# C Compilerのバージョン
set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 17)

# PICO SDK CMakeの初期化
pico_sdk_init()

# コンパイルターゲット
add_executable(main
        main.c
        )

# リンクターゲット
target_link_libraries(main pico_stdlib)

# 出力ファイル
pico_add_extra_outputs(main)

ポイントは、pico_sdk_initの呼び出しとpico_add_extra_outputsの呼び出し。

ビルド

cd build
cmake ../src
make -j4

出来上がったmain.uf2が最終ビルド結果のファイル。これをPicoにデプロイすれば動く。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?