明日は我が身の備忘録(あすびぼ)

自分向け備忘録です。頻繁に更新は難しいでしょうね

Raspberry Pi Pico Visual Studio Codeで新しいプロジェクトを作成して書き込む

 

f:id:kirikoshokunin:20210415233417p:plain:w400
 
 前回の記事ではGithubからクローニングしたサンプルのプロジェクトを開いてビルドして書き込んだが、それだけではオリジナルのプログラムを作るには面倒。 そのため今回は新しいフォルダでVisual Studio Codeプロジェクトを作成し、Cファイルを作成、ビルド、書込みj実行を一通り行う。

プロジェクトフォルダを作成

f:id:kirikoshokunin:20210415220121p:plain:w400
workspaceにmy_projectというフォルダを作成

f:id:kirikoshokunin:20210415221547p:plain:w400
blink.c , CMakeLists.txt を作成

f:id:kirikoshokunin:20210415221147p:plain:w400
Pico_sdk_import.cmakeをpico-exampleからコピー

Visual Studio Codeを開く

f:id:kirikoshokunin:20210415221814p:plain:w400
Visual Studio Code を開く

f:id:kirikoshokunin:20210415222047p:plain:w400
フォルダを開く

f:id:kirikoshokunin:20210415222348p:plain:w400
フォルダーを選択

f:id:kirikoshokunin:20210415223234p:plain:w400
my_projectを開くとフォルダ構成が始まり、怒られる


もしもGCC for arm-none-eabが選択できない場合。

f:id:kirikoshokunin:20210415223818p:plain:w400
①CMake:Configureを検索して選択
f:id:kirikoshokunin:20210415224023p:plain:w400
gcc-arm-none-eabiを選択


CMakeLists.txtの中身を書く

空っぽだったCMakeLists.txtの中身を記述していく。(本当はフォルダをVSCでひらいてからこのファイルを作成したほうが良い。)

f:id:kirikoshokunin:20210415225336p:plain:w400
CMakeLists.txtの中身を書く

以下に記述する内容を示す。my_project , blink.c は自身で作成したプロジェクト名、Cファイル名に変更すればよい。

cmake_minimum_required(VERSION 3.12)

include(pico_sdk_import.cmake)

project(my_project C CXX ASM)
pico_sdk_init()
add_executable(my_project
        blink.c
        )

target_link_libraries(my_project pico_stdlib)

pico_add_extra_outputs(my_project)

メインプログラムを書く

f:id:kirikoshokunin:20210415225659p:plain:w400
blink.c の中身を書く

blink.cの中身は以下のようになっている。オンボードのLEDを点滅させるLチカプログラム。

#include "pico/stdlib.h"

const int  ON_BORD_LED = 25;

int main(){
    gpio_init(ON_BORD_LED);
    gpio_set_dir(ON_BORD_LED, GPIO_OUT);
    while(1){
        gpio_put(ON_BORD_LED, 1);
        sleep_ms(750);
        gpio_put(ON_BORD_LED, 0);
        sleep_ms(250);
    }

    return 0;
}

blink.cにコードを入力して保存するとincludeできないと怒られる。


ビルドエラーが出た場合

ビルド時にエラーが発生するときはビルドキャッシュをクリアすればビルドできるかもしれない

以上の工程でビルドができるようになる。

includeにエラーの波線がずっとひかれているがビルドはできる。この原因はよく分かっていないが、プログラム通りにPicoが動くから今はこの問題は置いておく。

f:id:kirikoshokunin:20210415231401p:plain:w400
ビルドが完了

ビルドが完了したらプロジェクトに作成されたbuildフォルダの中のUF2ファイルをPicoにドラッグ&ドロップして書き込む。

f:id:kirikoshokunin:20210415232518p:plain:w400
UF2ファイルをドラッグして書き込む

プログラムを動作させた様子

以下にプログラムが動作した様子を示す。


www.youtube.com