Raspberry Pi Picoの開発環境構築 (Ubuntu PC)

アイキャッチ

この記事の内容

前回はコンパイル済みのファイルをRaspberry Pi Picoに書き込んで動作確認をする記事を書きました。

引き続き、自分のPCでコンパイルできるように開発環境を作ります。開発環境のセットアップ後、サンプルソースファイルをコンパイルし、実機に書き込んで動作確認します。

Raspberry Pi Pico サンプルプログラム(C/C++)の動作確認 | てつふくブログ

組み込み機器向けマイコンボードRaspberry Pi Pico (ラズパイ ピコ) でLチカとHello WorldのC/C++版サンプルプログラムを動かす手順。本記事はUbuntu PCとpicocomを使いましたが、WindowsやLinuxが動く普通のラズパイでもOKです。

PC環境、ボード環境

  • 開発PC: Ubuntu 20.04 LTS
  • ターゲットボード: Raspberry Pi Pico上のRP2040

OS(Ubuntu)のバージョン詳細は /etc/os-release で確認できます。

$ cat /etc/os-release 
NAME="Ubuntu"
VERSION="20.04.2 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.2 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal

開発環境インストールの概要

本記事は公式ドキュメントのGetting startedに書かれている内容と同じです。

ここではPC上のUbuntuを使用しますが、OSやハードウェアによって手順が違います。

Debian系Linux環境

Linuxが動作するPCのほか、Raspberry Pi(ラズパイ)もRaspberry Pi Picoの開発に使うことができます。

OSは、PCではDebianやUbuntu、Raspberry PiではRaspbianなどを想定したものです。

具体的にセットアップするものは次の3つ。(SDKとツールチェーンがあれば開発は可能。)

  1. SDKとサンプルプログラムのダウンロード
  2. ツールチェーンのダウンロード・インストール
  3. SDKの更新(新バージョンリリース時)

SDKは必要なライブラリ群、ツールチェーンはARM用のコンパイラ群というイメージ。

Raspberry Pi 4B (または 400) の場合

この場合はオフィシャルサイトで提供されているセットアップ・スクリプト(Setup Script)を使えば、先に説明したLinux環境での手順をほぼ自動化できます。

公式サイトの”SDK Setup”のセクションにスクリプトのダウンロードリンクがあります。

なお、Raspberry Pi 400はキーボード形状のRaspberry Piですが、国内向け販売は未定です(2021/05/18現在)。

WindowsやmacOSの場合

Getting startedドキュメントには、WindowsとmacOSに向けた説明のチャプターがあります。(この記事では省略)

参考資料

環境構築の手順 (Ubuntu on PC)

SDK・サンプルデザインを取得

インストールするフォルダを作成した後、git cloneでファイルをローカルPCにコピーします。

# ホームに移動
cd ~/

# インストールフォルダを作成
mkdir pico

# 作成したフォルダに移動
cd pico

# SDKを取得(Git)
git clone -b master https://github.com/raspberrypi/pico-sdk.git

# 取得したフォルダに入る
cd pico-sdk

# サブモジュールを取得(Git)
git submodule update --init

# インストールフォルダに戻る
cd ..

# サンプルデザインを取得(Git)
git clone -b master https://github.com/raspberrypi/pico-examples.git

上記のコマンドどおりに実行する場合は、wgetとgitをが必要です。

$ sudo apt install wget
$ sudo apt install git

SDKインストールのログ。

SDK インストール ログ

ツールチェーンをインストール

ARM用のクロスコンパイラなどを、aptでインストールします。

# aptパッケージ情報を更新
sudo apt update

# aptでツールをインストール
sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi build-essential

libstdc++-arm-none-eabi-newlib など必要なパッケージも追加でインストールされました。

ツールチェーン インストール ログ

SDKの更新方法

リポジトリのSDKが更新されていれば、git pullでローカルファイルを更新できます。

# SDKインストールフォルダに移動
cd pico-sdk

# 新しいファイルを取得(Git)
git pull

# サブモジュール更新(Git)
git submodule update

更新通知がほしい人は通知のセットアップをしておきましょう。

If you wish to be informed of new releases you can get notified by setting up a custom watch on the pico-sdk repository. Navigate to https://github.com/raspberrypi/pico-sdk and then select Watch → Custom → Releases. You will recieve an email notification every time there is a new SDK release.

Getting started with Raspberry Pi Pico (Section 2.3)

Raspberry Pi 4B (または400) にスクリプトでインストール

ラズパイ4Bか400の場合はスクリプトを実行するだけでOKです。(手元にラズパイがないため、Getting startedガイドの内容紹介だけ。)

# スクリプトをダウンロード
$ wget https://raw.githubusercontent.com/raspberrypi/pico-setup/master/pico_setup.sh

# 実行権限を付加
$ chmod +x pico_setup.sh

# スクリプトを実行
$ ./pico-setup.sh 

スクリプト処理完了後は再起動しましょう。

$ sudo reboot

動作確認

Getting startedガイドのChapter 3に記載があるRaspberry Pi PicoのLED点滅プログラムで、開発環境の動作確認をしてみます。

Lチカのソースファイルはセットアップの手順の中でローカルにコピーされています。(pico-examples/blink/blink.c)

GitHubではここ → https://github.com/raspberrypi/pico-examples/blob/master/blink/blink.c

参考に、GitHubの個別ファイルのダウンロード方法はこちらの記事をどうぞ。

GitHubからファイルをダウンロードする方法【2020年12月追記】 | てつふくブログ

GitHubからファイルをダウンロードする方法。git cloneまたはZIPファイルでリポジトリ全体をダウンロード方法に加えて、個別ファイルの保存方法を説明しています。GitHub CLIコマンド取得についても紹介。

buildフォルダを作成

“build”フォルダを作成して、その中に移動。

$ cd pico-examples
$ mkdir build
$ cd build

パスを設定

PICO_SDK_PATHを設定。

$ export PICO_SDK_PATH=../../pico-sdk

ビルド

cmakeを実行。

$ cmake ..
Using PICO_SDK_PATH from environment ('../../pico-sdk')
PICO_SDK_PATH is /home/pi/pico/pico-sdk
.
.
.
-- Build files have been written to: /home/pi/pico/pico-examples/build

blinkフォルダに移動してビルド実行。

$ cd blink
$ make -j4
Scanning dependencies of target ELF2UF2Build
Scanning dependencies of target boot_stage2_original
[ 0%] Creating directories for 'ELF2UF2Build'
.
.
.
[100%] Linking CXX executable blink.elf
[100%] Built target blink

数秒で完了後、blinkフォルダに blink.elf と blink.uf2 ファイルが生成されています。

blinkフォルダのls結果

Raspberry Pi Picoへ書き込み

USBケーブルでPCとRaspberry Pi Picoを接続して、uf2ファイルを書き込んでみましょう。

LEDが点滅すればOK。以上で開発環境のセットアップ完了です。


UF2ファイルの書き込みに関しては、こちらの記事もご覧ください。

Raspberry Pi Pico サンプルプログラム(C/C++)の動作確認 | てつふくブログ

組み込み機器向けマイコンボードRaspberry Pi Pico (ラズパイ ピコ) でLチカとHello WorldのC/C++版サンプルプログラムを動かす手順。本記事はUbuntu PCとpicocomを使いましたが、WindowsやLinuxが動く普通のラズパイでもOKです。

まとめ

Raspberry Pi Picoの開発環境をUbuntu PCにセットアップして、Lチカのサンプルをビルドしました。

PCのほかRaspberry Piも含めて、Debian系のLinuxが動作する環境へのセットアップは次の3ステップでできます。

  1. SDK・サンプルデザインを取得
  2. ツールチェーンをインストール
  3. SDKの更新手順の確認

Getting startedガイドによると、WindowsやmacOSにも開発環境を作ることができるので、後日Windowsにも環境をセットアップします。

Raspberry Pi Picoは、電子部品ショップ(店頭、通販)やAmazon購入できます。

スポンサーリンク




1件のコメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です