Select Your Language

免責事項

  • 本サイトの情報の利用、内容、サービスによって、利用者にいかなる損害、被害が生じても、著者は一切の責任を負いません。ユーザーご自身の責任においてご利用いただきますようお願いいたします。

    本サイトで頒布している基板およびキットは、技術者、またはそれに準ずる電気的知識をお持ちの電子工作ファンの方のためのものです。一般のオーディオファンの方のためのものではありません。
    また、頒布基板およびキットは、いかなる条件でも動作を保証するものではございませんので、あらかじめご了承ください。

    電子工作では、火傷、感電、火災などの可能性があります。十分に注意をして作業して下さい。

    営利目的のご使用は認めておりません。 記事の転載や、基板・キットの商用利用の方は、ご連絡ください。学生やサークルの学習目的でまとめてご購入する場合は特別価格でご提供させていただきます。
無料ブログはココログ

スポンサー

« Moode Audio R8.0.1用のSabreberry32ドライバリリース | トップページ | あのオーディオデザインさんがラズパイオーディオを発売 »

2022年4月14日 (木)

Raspberry Pi PicoのC++開発環境 Ubuntu 20.04 LTS編

先日、ラズパイpicoでUSB-DDCを走らせることについてチラッと書きましたが、C++開発環境を整える方法を備忘録的に書いておこうと思います。

Ubuntu2004lts

インターフェース誌などではWindows+WSL2上に構築してたりVisual Studio Codeでデバッグする方法が書かれていたりします。

 

それらも、とても素晴らしい方法ではありますがラズパイ公式ではLinux上でコンパイルするのが標準となっていて、一番問題が起きにくいと思われます。

 

今日は「シンプルで標準的な開発環境を構築する方法」を書きたいと思います。

VirtualBOX+Ubuntu(Linuxディストリビューションのひとつ)の組み合わせです。

もし、いらなくなれば仮想マシンごと削除すると綺麗さっぱり消せます。Windowsのシステムを汚しません。

 

 

 

 

準備編

Oracle VM VirtualBox  をインストールします。

Windows、macOS、LinuxにインストールできるバーチャルPCソフトウェアです。8GB以上メモリを積んだPCなら普通に使える速度で動きます。

 

Ubuntu 20.04 LTS 日本語 Remix 版を入れました。

インストーラーが日本語に対応しているので、ボタンなどがフレームアウトせずにインストールできます。 本家版だとインストール途中でボタンが見えなくなり厳しい。(英語メニューでなら平気だと思われる)

Ubuntu2004lts_dl

PCのストレージはubuntuを最小インストールしても最終的に11.25GBくらい喰います。そのためストレージはVDIタイプで20~30GBくらい割り当てておくと良いです。実際に使用された分だけ実容量を喰う仕組みになっています。

 

ここまではRaspberry Pi picoと直接は関係ないので、説明はあまり深追いしません。不明点はweb検索してください。

システム->メモリ割り当て=6GB、プロセッサー数=4個(使用率制限100%)

ディスプレイ-> ビデオメモリ=64MB、グラフィックコントローラー=VBoxSVGA

にしています。

 

 

 

さて、Ubuntuが起動できるようになった所からpicoの開発環境構築スタートです。

 

PicoのSDKソース一式ダウンロード

端末(ターミナル)を開いて作業ディレクトリを作ってgitからダウンロードしてきます。ピンク文字はコマンド入力です。コピペしてください。

cd ~/

mkdir pico

cd pico

git clone -b master https://github.com/raspberrypi/pico-sdk.git

git clone -b master https://github.com/raspberrypi/pico-examples.git

git clone -b master https://github.com/raspberrypi/pico-playground.git

git clone -b master https://github.com/raspberrypi/pico-extras.git

 

もし、git コマンドがないと言われたら(ubuntu最小インストール時は入ってない)

sudo apt update

sudo apt  install git 

でインストールしてください。

 

 

Pico用のコンパイラ導入

PCはIntelのCPUでpicoはARMです。つまりコンパイラはクロスコンパイラが必要です。M1 macはARMですがVirtualBOX上のutuntuから見るとクロスになるのでしょうか。ちょっと不明。。。

sudo apt update

sudo apt install -y cmake gcc-arm-none-eabi libnewlib-arm-none-eabi build-essential

 

これでpicoの開発環境は整いました。拍子抜けするくらい簡単ですね。

 

 

 

 

実際にコンパイルしてみよう

コンパイルするならやっぱりUSB-DDC(I2S出力)ですよね。

まず、pico-sdkとpico-extrasのパスを設定します。

export PICO_SDK_PATH=~/pico/pico-sdk
export PICO_EXTRAS_PATH=~/pico/pico-extras

次に、cmake

cd ~/

cd pico/pico-playground/

mkdir build

cd build/

cmake ..     <-後ろの点・点 までがコマンドです。

 

いよいよmake

cd apps/usb_sound_card

make

 

[100%] Built target usb_sound_card というメッセージが出る所まで行けばコンパイル成功です。

Pico_uf2

usb_sound_card.uf2 というファイルが出来ているハズです。これをBOOTスイッチを押しながら接続したpicoのフォルダへドラッグ&ドロップするとpicoへ転送されて実行されます。

Ubuntu2004lts_usb

VirtualBOXはホストOS上に挿したUSBデバイスをそのままゲストOS上に渡せますので、ubuntu上でドラッグ&ドロップすればOKです。

ソースコードを編集したときはmakeのみでOK。 cmakeは一度きりで大丈夫です。(CMakeLists.txtを編集したときはcmakeから)

 

 

 

パスを登録しておくと便利

pico-sdkとpico-extrasのパスを登録しておくと再起動する度に、いちいち打たなくても良くなります。

ホームの  .profile というファイルの一番下に以下の2行を追記しておきます。

export PICO_SDK_PATH=~/pico/pico-sdk
export PICO_EXTRAS_PATH=~/pico/pico-extras

 

 

関係ないけどCmakeって

cmakeってあまり使ったことが無かったのですが、上で作ったbuildディレクトリ下でmakeするんですね。

VirtualBox:~/pico/pico-playground/apps/usb_sound_card$ make 

ではく、

VirtualBox:~/pico/pico-playground/build/apps/usb_sound_card$ make

なのです。

gitでダウンロードしてきたソースコードはbuildディレクトがい方です。cmakeを実行すると、build以下にソース元のディレクトリ構成が構築されてMakefileも出来上がっています。

ソースコードの編集は元のディレクトリ上で行い、makeはbuildディレクトリ下で実行します。ちょっと不思議。

 

 

open sshdを入れると

sudo apt install openssh-server

とコマンドを打つとsshdがインストールできます。

Ubuntu2004lts_net

VirtualBox で ネットワークを「NAT」と「ホストオンリーアダプター」の2つを有効にしておくと、(ホスト)Windows上から(ゲスト)ubuntuへssh接続できるようになります。

これを便利というかは使用者次第ではありますが、WinSCPとTeraTermでLinuxと通信しながらソフト開発するのと同じ環境が整います。

VScode(エディタ)でsshリモート開発する方法もあるらしいです。

参考まで。

 

 

 

 

番外編

Pi4でコンパイルする方法

Pi4に導入するスクリプトが用意されています。公式ドキュメントChapter 1 をご覧ください。

 

Linuxを使わずにWindows上でコンパイルする方法

クロスコンパイラ、Cmake、git、python、ビルドツール、VScodeなどをインストールする、まとめ記事はこちら。

 

 

 

« Moode Audio R8.0.1用のSabreberry32ドライバリリース | トップページ | あのオーディオデザインさんがラズパイオーディオを発売 »

Raspberry Pi pico」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

« Moode Audio R8.0.1用のSabreberry32ドライバリリース | トップページ | あのオーディオデザインさんがラズパイオーディオを発売 »

サイト内検索(new)

2022年8月
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31