目次
この記事の内容
前回はコンパイル済みのファイルを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とツールチェーンがあれば開発は可能。)
- SDKとサンプルプログラムのダウンロード
- ツールチェーンのダウンロード・インストール
- 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に向けた説明のチャプターがあります。(この記事では省略)
参考資料
- オフィシャルサイト(C/C++)
https://www.raspberrypi.org/documentation/rp2040/getting-started/#getting-started-with-c - Getting started with Raspberry Pi Pico
https://datasheets.raspberrypi.org/pico/getting-started-with-pico.pdf
環境構築の手順 (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インストールのログ。
ツールチェーンをインストール
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 ファイルが生成されています。
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ステップでできます。
- SDK・サンプルデザインを取得
- ツールチェーンをインストール
- SDKの更新手順の確認
Getting startedガイドによると、WindowsやmacOSにも開発環境を作ることができるので、後日Windowsにも環境をセットアップします。
Raspberry Pi Picoは、電子部品ショップ(店頭、通販)やAmazon購入できます。
真似をしてみましたが、git clone -b master https://github.com/rspberrypi/pico-sdk.gitで認証に
失敗してしまいました。