0
0

More than 3 years have passed since last update.

Raspberry Pi Picoのビルドをスクリプト化

Posted at

はじめに

Raspberry Pi PicoのプロジェクトをLinux上でビルドして書き込む場合、以下のコマンドを実行します。

$mkdir build
$cd build
$cmake ..
$make
$cp *.uf2 /media/user/RPI-RP2

しかし、毎回このコマンドを入力するのは面倒なのでスクリプトを作ってみました。

開発環境

PC側のOSはLinux Mint 20で確認しました。
Debian系のOSならば同じように動作すると思います。

SDKの設定はすでに多くの情報があるので割愛します。
当方も3分の動画にまとめてyoutubeにあげてますので不明な方はご覧ください。
https://youtu.be/cNXF0r2jdXA

スクリプト

スクリプトです。
2行目のRaspicoMPは各自の環境に合わせて書き換えて下さい。
「CMakeLists.txt」が無ければ終了します。
「pico_sdk_import.cmake」が無ければダウンロードするか確認します。
「Build-年月日時分秒」フォルダを作成し、その中でbuildします。
Raspberry Pi Picoがマウントされている場合、uf2ファイルを書き込みます。

#!/bin/bash
RaspicoMP="/media/pione/RPI-RP2/"

if [ ! -f ./CMakeLists.txt ] ;then
    echo '"CMakeLists.txt" file is missing.'
    echo "exit"
    exit
fi

if [ ! -f ./pico_sdk_import.cmake ] ;then
    echo '"pico_sdk_import.cmake" file is missing.'
    echo -e "Do you want to download it?"
    echo -n "[Y/n]:"
    read ans
    if [ $ans = "Y" ] || [ $ans = "y" ] ;then
        wget https://github.com/raspberrypi/pico-sdk/raw/master/external/pico_sdk_import.cmake
    else
        echo "exit"
        exit
    fi
fi

BuildDir="build-"`date '+%y%m%d%H%M%S'`
mkdir $BuildDir
cd $BuildDir
cmake .. && make

mountpoint "$RaspicoMP" >/dev/null 2>&1
mpcheck=$?
if [ -f ./*.uf2 ] && [ $? -eq $mpcheck ] ; then
    cp *.uf2 "$RaspicoMP"
    echo "Completed"
fi

実行方法

ビルドするプロジェクトのディレクトリ内でこのスクリプトを実行して下さい。
このスクリプトをパスの通ったところに保存してコマンド化しておくと便利です。

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