ラズベリー・パイ Picoマイコン入門 C言語開発環境の構築
RP2040のハードウェア性能を100%引き出す本格組込みプログラミング
- 著者・講師:別府 伸耕/Nobuyasu Beppu (リニア・テック)
- 企画編集・主催: ZEPエンジニアリング株式会社
- 関連製品:[VOD/KIT]実習キットでできる!ラズパイPicoでマイコン入門
- 関連製品:[VOD/KIT] STM32マイコン&Wi-Fiモジュールで学ぶ C/C++プログラミング入門
- 関連製品:[VOD/KIT]実習キットでできる!ラズパイPico×Wi-FiモジュールでIoT超入門
- 関連製品:[VOD]Pythonで学ぶ やりなおし数学塾1【微分・積分】
- 関連製品:[VOD]Pythonで学ぶ やりなおし数学塾2【フーリエ解析】
- 関連製品:[VOD]Pythonで学ぶ マクスウェル方程式 【電場編】+【磁場編】
- 関連製品:[VOD/KIT]初めてのソフトウェア無線&信号処理プログラミング 基礎編/応用編
- 関連記事:Pythonではじめる 数値解析入門 [Vol.1 Pythonの開発環境をインストールする]
- 関連記事:Pythonではじめる 数値解析入門[Vol.2 グラフ描画ライブラリ“Matplotlib”で2次元のグラフを描く]
イントロダクション
Windows10の64ビット版が対象
ここでは,「ラズベリー・パイPico」(以下「ラズパイPico」)のプログラムをC言語で開発するために必要なソフトウェアのインストール手順を説明します.本稿の内容は2021年6月時点のものですが,今後変更される可能性がありますのでご了承ください.
また,使用するパソコンのOSは「Windows10の64ビット版」であるとします.他のOSにおける動作は未確認ですのでご注意ください.なお,すべてのソフトウェアをインストールするには10 Gバイト程度の容量が必要です.
6個のツールをインストールする
ラズパイPicoのC言語開発環境を構築するためには,以下の6個のツールをインストールする必要があります.これらはすべて無償で利用できます.
- ARM GCC Compiler
- CMake
- Build Tools for Visual Studio 2019
- Python 3.9
- Git for Windows
- Visual Studio Code
これらのツールを組み合わせて構築する開発環境の全体図を図1に示します.
“ARM GCC Compiler”および“Build Tools for Visual Studio 2019”は,この開発環境の中核です.“CMake”は実行ファイルのビルドに必要な各種ファイルの管理を自動化するためのツールです.“Python 3.9”はプログラミング言語“Python”の実行環境そのものですが,ここでは補助的な役割を果たします.
“Visual Studio Code”はソース・コードを書くためのエディタです.今回はこのエディタとビルド用のツールを連携させて使います.“Git for Windows”は公式のSDKおよびサンプル・プログラムを“GitHub”(ギットハブ)からダウンロードするときに使います.
実際にC言語でプログラムを開発するときは,「C言語のソース・ファイル」と「CMake用の設定ファイル」を記述します.これらを用意した上で「ビルド」を実行すると,ラズパイPicoに書き込む「実行ファイル」が得られます.
全体の流れ
ここから先の作業の流れを図2に示します.先にエディタ以外のツールをインストールして,サンプル・プログラムを問題なくビルドできることを確認します.その後,エディタとビルド環境の連携を設定します.最後に,自作のプログラムをビルドする方法について説明します.
“ARM GCC Compiler”をインストールする
ラズパイPicoボードに搭載されている“RP2040”というワンチップ・マイコンの中核は,“ARM Cortex-M0+”というプロセッサです.このプロセッサ用のコンパイラである“ARM GCC Compiler”をインストールします.なお,“GCC”は“GNU Compiler Collection”(あるいは“GNU C Compiler”)の略です.
図3のように,“GNU Arm Embedded Toolchain”のページにアクセスして“Downloads”のボタンをクリックします.
画面を下にスクロールしていくと図4のように最新版の一覧があるので,この中から実行形式のインストーラ(拡張子が“.exe”)である“gcc-arm-none-eabi-10-2020-q4-major-win32.exe”をダウンロードします.インストーラはデスクトップなどのわかりやすい場所に保存することをおすすめします.
ダウンロードしたインストーラ(図5)をダブル・クリックして起動します.
最初に表示される画面(図6)では“Japanese”を選択して [OK] をクリックします.
図7の画面では [次へ] をクリックします.
図8の画面では [同意する] をクリックします.
図9の画面ではインストール先のディレクトリ(フォルダ)を選択して [インストール] をクリックします.ここではデフォルトの設定としました.
インストールが完了するまで待ちます(図10).
インストールが完了すると図11の画面が表示されるので,すべてのチェック・ボックスにチェックを付けて [完了] をクリックします.この時表示されるウィンドウは,すべて閉じてしまってください.
“CMake”をインストールする
ラズパイPicoに書き込むプログラム・ファイル(「バイナリ・ファイル」や「実行ファイル」などと呼ばれる)を作るためには,複数のソース・コードやライブラリをまとめる必要があります.ここでインストールする“CMake”(シー・メイク)は,実行ファイルを生成する上で必要となる複数のファイルを効率よく管理するためのツールです.
まずは図12のようにCMakeの公式サイトにアクセスして“Download”をクリックします.
“Binary distributions”という項目の中から“Windows x64 Installer”を探します(図13).今回は実行形式のインストーラである“cmake-3.20.3-windows-x86_64.msi”をダウンロードします.
ダウンロードしたインストーラ(図14)をダブル・クリックして起動します.
図15の画面では [Next] をクリックします.
図16の画面では“I accept the terms in the License Agreement”にチェックを付けて [Next] をクリックします.
図17の画面では“Add CMake to the system PATH for all users”を選択して [Next] をクリックします.
図16 “I accept the terms in the License Agreement”にチェックを付けて[Next]をクリックする | 図17 “Add CMake to the system PATH for all users”を選択して[Next]をクリックする |
図18の画面ではインストール先のディレクトリ(フォルダ)を設定して [Next] をクリックします.今回はデフォルトの設定としました.
図19の画面で [Install] をクリックするとインストールが始まります.このとき「このアプリがデバイスに変更を加えることを許可しますか?」と聞かれるので「はい」をクリックします.
インストールが完了するまで少し待ちます(図20).
インストールが完了すると図21の画面が表示されるので,[Finish] をクリックして終了します.
“Build Tools for Visual Studio 2019”をインストールする
先にインストールした“ARM GCC Compiler”は,C言語で書かれたソース・ファイルからバイナリ・ファイル(オブジェクト・ファイル)を生成するためのツール(コンパイラ)です.実際にラズパイPico上で実行するプログラムを作るためには,このバイナリ・ファイル以外にも複数のライブラリや他のソース・コード由来のバイナリ・ファイルを組み合わせて1つにまとめる工程が必要となります.一般に,複数のC言語のソース・ファイルやライブラリをもとにして実行ファイルを作成する全ての工程のことを「ビルド」(build)といいます.ここでインストールする“Build Tools for Visual Studio 2019”は,この「ビルド」を担うツールです.なお,「コンパイル」は「ビルド」の一部であると言えます.
まずは,図22のように“Visual Studio 2019”のダウンロード・ページにアクセスします.画面を下にスクロールすると「Visual Studio 2019のツール」という項目があるので,これを展開します.
図23のように“Build Tools for Visual Studio 2019”という項目があるので,「ダウンロード」をクリックします.インストーラのダウンロードが始まるので,デスクトップなどのわかりやすい場所に保存します.
ダウンロードしたインストーラ(図24)をダブル・クリックして起動します.
図25の画面では,「続行」をクリックします.
図26の画面では,必要なファイルがダウンロードされるまで待ちます.
図27の画面では,インストールするツールを選択します.画面の左側の領域で「C++によるデスクトップ開発」にチェックを付けます.すると,右側の一覧で以下の5つの項目にチェックが付きます.
- MSVC v142 -VS 2019 C++ x64/x86 ビルド...
- Windows 10 SDK (最新バージョン)
- Windows 用 C++ CMake ツール
- ツールのコア機能のテスト - ビルド ツール
- C++ AddressSanitizer
上記の項目にチェックが付いていることを確認したら,右下のメニューで「ダウンロードしながらインストールする」を選択して [インストール] をクリックします.
図28の画面では,必要なファイルのダウンロードとインストールが完了するまで待ちます.
インストールが完了すると図29の画面が表示され,再起動するように求められます.[再開] ボタンをクリックすると再起動します(他に開いているアプリケーションがあれば先に閉じておくことをおすすめします).
図28 インストールが完了するまで待つ |
図32 ダウンロードしたインストーラをダブル・クリックして起動する | 図33 Install launcher for all users”および“Add Python 3.9 to PATH”にチェックを付けて [Install Now] をクリックする |
インストールが始まるので,しばらく待ちます(図34).
インストールが完了すると図35の画面が表示されるので,“Deisable path length limit”をクリックします.「このアプリがデバイスに変更を加えることを許可しますか?」と表示されるので「はい」をクリックします.
“Git for Windows”をインストールする
ラズパイPicoの開発用に提供されているSDKやサンプル・プログラムは,“GitHub”(ギットハブ)というオンライン・プラットフォームで管理されています.このGitHubにアクセスしてファイルをダウンロードするためのツールである“Git for Windows”をインストールします.
まずは“Git for Windows”のダウンロード・ページにアクセスして,インストーラをダウンロードします(図36).
インストーラのダウンロードが完了したら,ダブル・クリックして起動します(図37).
インストーラが起動すると図38の画面が表示されるので, [Next] をクリックします.
図39の画面ではインストール先のディレクトリを指定します.今回はデフォルトの設定で [Next] をクリックします.
図40の画面ではインストール内容を選択します.今回はデフォルトのまま [Next] をクリックします.
図41の画面ではWindowsスタート・メニューに登録する名前を設定します.これもデフォルトのまま [Next] をクリックします.
図42の画面ではエディタの設定を行います.今回はデフォルトの“Use Vim as Git's default editor”のままで [Next] をクリックします.
図43の画面では新しいブランチを作成した時の挙動について設定します.ここでもデフォルトの“Let Git decide”を選択して [Next] をクリックします.
図44の画面では,環境変数の設定に関するオプションを選択します.“Git from command line and also from 3rd-party software”を選択して [Next] をクリックします.
図45の画面ではHTTPS(Hypertext Transfer Protocol Secure)による接続の方式について設定します.今回は“Use the OpenSSL libarary”を選択して [Next] をクリックします.
図44 “Git from the command line and also from 3rd-party software”を選択して[Next]をクリックする | 図45 “Use the OpenSSL library”を選択して[Next]をクリックする |
図46の画面では改行コードの設定を行います.今回は“Checkout Windows-style, commit Unix-style line endings”を選択して [Next] をクリックします.
図47の画面ではターミナル・エミュレータの設定を行います.今回はデフォルトの“Use MinTTY”を選択して [Next] をクリックします.
図46 “Checkout Windows-style, commit Unix-style ilne endings”を選択して[Next]をクリックする | 図47 “Use MinTTY”を選択して[Next]をクリックする |
図48の画面では“git pull”コマンドの挙動について設定します.“Default”を選択して [Next] をクリックします.
図49の画面では“credential helper”に関する設定を行います.推奨されている“Git Credential Manager Core”を選択して [Next] をクリックします.
図50の画面では“Enable file system caching”にチェックを入れて [Next] をクリックします.
図51の画面で [Install] をクリックすると,インストールが開始されます.
インストールが完了するまでしばらく待ちます(図52).
インストールが完了すると図53の画面が表示されるので,“Launch Git Bash”にチェックを入れて[Finish]をクリックします.
図54のように“Git Bash”の起動画面が表示されれば成功です.このツールはすぐ後に使うので,起動したままにしておきます.なお,再び起動する場合はWindowsスタート・メニューから [G] - [Git] - [Git Bash] をクリックします.
SDKとサンプル・プログラムをインストールする
作業用のディレクトリを用意する
ラズパイPicoのプログラムをC言語で開発するために,公式から“SDK”(Software Development Kit,ソフトウェア開発キット)が提供されています.このSDKにはマイコンに含まれるUARTやADCといった周辺回路を操作するための便利な関数が含まれています.また,このSDKを使いこなすための「サンプル・プログラム」も公式から提供されています.このサンプル・プログラムは各周辺回路の使い方を短いプログラムで示しており,非常に参考になります.ここでは,これらのデータをGitHubからダウンロードします.
これからダウンロードするSDKやサンプル・プログラムは後で繰り返し参照することになると思うので,わかりやすい場所を決めて保存しておくことをおすすめします.また,ディレクトリ(フォルダ)のパスには日本語が含まれないようしておくと安全です.
今回は例として,Cドライブ直下に“Pico”というディレクトリを作ります(C:/Pico/).これ以降は,このディレクトリにSDKやサンプル・プログラムを保存します.もしディレクトリの位置や名前を変更する場合は,これ以降の内容を適宜読み替えてください.
必要なファイルをダウンロードする
先にインストールした“Git Bash”の画面でリスト1のコマンドを入力します.もしGit Bashを閉じてしまった場合は,Windowsスタート・メニューから [G] - [Git] - [Git Bash] をクリックして起動します.
|
---|
リスト1 GitHubからSDKとサンプル・プログラムをダウンロードする |
このコマンドを実行すると,C:/Pico/の中に“pico-sdk”というディレクトリと“pico-examples”というディレクトリが新しく作られます.軽く中身を確かめておいてください.
CUI上でビルドできることを確認する
サンプルのソース・コードをビルドする
ここまでにインストールしたツールを使って,問題なくサンプルのC言語ソース・ファイルをビルドできることを確認しておきます.なお,ここではコンソール(コマンドプロンプト)上でコマンドを直接入力して操作するCUI(Character User Interface)を利用します.
Windowsスタート・メニューから [V] - [Visual Studio 2019] - [Developer Command Prompt for VS 2019] をクリックします.“Developer Command Prompt”が起動したら,リスト2に示す一連のコマンドを入力してビルドを実行します.“cmake”および“nmake”コマンドの実行には少し時間がかかります.なお,Windows標準の「コマンドプロンプト」では動作しないので注意してください.
|
---|
リスト2 サンプルのソース・コードをビルドする |
リスト2のコマンドを正しく入力していれば,“C:/Pico/pico-examples”のディレクトリ内に“build”というディレクトリが作られ,その中に各サンプル・プログラムの実行ファイルが保存されます.
もしうまくいかない場合は,コマンドの打ち間違いがないか確認してください.それでもうまくいかない場合は,ここまでのツールのインストールの手順を見直し,抜けがないか確認してください.特に,パスを通していない場合はソフトウェア自体をインストールしていても正常動作しないので注意してください.
ラズパイPicoに.uf2ファイルを書き込む
正常にサンプル・プログラムのビルドが完了したら,ラズパイPicoに書き込んで動作確認をしてみます.
今回のディレクトリ構成の場合“C:/Pico/pico-examples/build/”の中に各サンプルの実行ファイルが格納されています.ここではラズパイPicoボード上の緑色LEDを点滅させるプログラムである“C:/Pico/pico-examples/build/blink/blink.uf2”を書き込みます.
プログラムを書き込むときは,写真1に示す“BOOTSEL”の白いボタンを押しながらUSBケーブルを接続します.この状態でパソコンと接続すると,ラズパイPicoはフラッシュ・メモリとして認識されます.ここで,“blink.uf2”ファイルをドラッグ・アンド・ドロップすれば書き込むことができます.
プログラムの書き込みが成功すると,ラズパイPicoは自動的に再起動します.写真2のようにボード上の緑色のLEDが点滅すれば成功です.
“RUN”端子にスイッチを取り付けると便利
図55にラズパイPicoのピン配置を示します.30番ピンの“RUN”端子の電圧レベルを“0”にすると,マイコンの動作をリセットできます.“RUN”端子はマイコンの内部でプルアップされているので通常は“1”になっていますが,GNDに接続すればリセットすることができます.
もし何度もプログラムを書きかえる必要がある場合は,図56のように“RUN”端子とGNDとの間にプッシュ・スイッチを取り付けておくと便利です.こうすることで,毎回USBケーブルを抜き差しせずにプログラムを書き換えることができます.
ラズパイPicoの動作モードは,リセットの直後(“RUN”端子の電圧レベルが“0”から“1”になった瞬間)に決まります(表1).リセットの直後にボード上の“BOOTSEL”ボタンが押されていれば,「プログラム書き込みモード」として動作します.一方で,リセットの直後に“BOOTSEL”ボタンが押されていなければ「通常動作モード」として動作します.
“Visual Studio Code”をインストールする
ソース・コードを書くのに便利なエディタである“Visual Studio Code”をインストールします.
まずは,図57に示す“Download Visual Studio Code”のページにアクセスします.今回はWindowsの“User Installer”の“64bit”版をクリックしてインストーラをダウンロードします.インストーラはデスクトップなどのわかりやすい場所に保存することをおすすめします.
インストーラをダブル・クリックして,インストーラを起動します(図58).
図59の画面では,「同意する」を選択して [次へ] をクリックします.
図60の画面では,インストール先のディレクトリを設定します.今回はデフォルトの設定で [次へ] をクリックします.
図61の画面では,スタート・メニューに登録する名前を設定します.今回はデフォルトのまま [次へ] をクリックします.
図62の画面では,「PATHへの追加 」にチェックを付けて [次へ] をクリックします.
図63の画面で [インストール] をクリックすると,インストールが始まります.
インストールが完了するまでしばらく待ちます(図64).
インストールが完了すると図65の画面が表示されます.[完了] をクリックして終了します.インストールが完了したら,念のため再起動しておくことをおすすめします.
“Visual Studio Code”の設定を行う
“Visual Studio Code”の起動方法
Windowsスタート・メニューから [V] - [Visual Studio 2019] - [Developer Command Prompt for VS 2019] をクリックして,“Developer Command Prompt”を起動します.ここで“code”と入力して [Enter] を押すと,先にインストールした“Visual Studio Code”が起動します(図66).
“Visual Studio Code”を起動するときは,常に“Developer Command Prompt”から起動するようにしてください.通常の方法で起動(Windowsスタート・メニューなどから起動)した場合は,正常にビルドできないことがあるので注意してください.
“CMake”の導入と初期設定
“Visual Studio Code”とラズパイPico用のビルド環境を連携させるための設定を行います.図67のように左側のメニューから“Extensions”をクリックします.
図68のように検索用の入力欄が表示されるので,“CMake Tools”と入力して検索を実行します.すると“CMake Tools”が検索結果の中に表示されるので,[Install] をクリックします.“CMake Tools”をインストールすると,同時に“CMake”もインストールされます.
“CMakeTools”がインストールできたら,図69のように“CMake Tools”の項目の「歯車マーク」をクリックします.
すると図70のように設定項目リストが表示されるので,“Extension Settings”をクリックします.
図69 “CMake Tools”の欄の「歯車マーク」をクリックする |
|
---|
リスト3 LEDを点滅させ,USB経由で“Hello World!”と出力するプログラム |
リスト3の内容を簡単に説明します.このプログラムは,ラズパイPicoのUSBポート経由(シリアル通信)で0.5秒に1回“Hello World!”という文字列を出力します.また,0.5秒の周期でボード上の緑色LEDを点滅させます.
最初の3行は必要なライブラリ類の読み込みです.< stdio.h > は“printf()”関数を使うために読み込んでいます.また,“pico/stdlib.h”はUSBポートを使うために必要です.“hardware/gpio.h”はGPIO(緑色LEDにつながっている)を制御するために読み込んでいます.
7行目の“stdio_init_all()”関数でUSBポートの初期化を行っています.
10行目の“gpio_init()”関数および“gpio_set_dir()”関数でGPIOの初期化を行っています.ボード上の緑色LEDはGPIOの25番ピンに接続されているので,このピンを有効にして出力モードに設定しています.
17行目では“printf()”関数で文字列を出力しています.後で説明する“CMakeLists.txt”の中でUSBポートを標準出力として設定しているので,“printf()”の内容はUSBポートから出力されます.
20行目から23行目では緑色LEDを点滅させる処理を記述しています.
“CMakeLists.txt”を用意する
“CMakeLists.txt”(“List”ではなく複数形の“Lists”であることに注意)は,ビルドに必要なファイル管理を自動化するツールである“CMake”のための設定ファイルです.このファイルには,リスト4の内容を記述します.
|
---|
リスト4 “test.c”と一緒に保存する“CMakeLists.txt”の内容 |
リスト4の内容を簡単に説明します.この“CMakeLists.txt”は,“C:/Pico/pico-examples/CMakeLists.txt”および“C:/Pico/pico-examples/hello_world/usb/CMakeLists.txt”から必要な部分を抜き出して作っています.
2行目の“cmake_minimum_required()”コマンドでは,最低限必要な“CMake”のバージョンを指定しています.この部分は公式のサンプル・コードからそのままコピーしています.
5行目の“include()”コマンドでは,公式から提供されている“pico_sdk_import.cmake”を読み込んでいます.主にパスの設定を行っているようです.
8行目の“project()”コマンドではプロジェクト名と使用する言語を設定しています.今回は“project1”という名前のプロジェクトとしていますが,お好みで変更してください.
9行目および10行目では,使用する言語(CとC++)のバージョンを指定しています.この部分は基本的に変更する必要はありません.
13行目の“pico_sdk_init()”コマンドでラズパイPico用の環境を読み込んでいます.
16行目の“add_executable()”コマンドでは最終的に出力する実行ファイルの名前と,実行ファイルを作るために必要なソース・コードを列挙しています.今回は“test”という名前の実行ファイルを作成するものとし,そのために必要な“test.c”を読み込むように指定しています.ソース・コードの名前が変わった場合はこの部分を変更する必要があります.
19行目ではビルドに必要な“pico_stdlib”というライブラリを読み込んでいます.ソース・コードの名前を変更した場合は,この部分の“test”という名前を変更する必要があります.
22行目および23行目では,標準出力として使うマイコン内部の周辺回路を指定しています.今回は“USB”を有効にして“UART”を無効にしているので,C言語のソース・コード中で“printf()”などの関数を使った場合にUSBポートが入出力として機能します.もし“UART”を標準出力として使いたい場合は,22行目および23行目を削除します.デフォルトではGPIO0ピン(1番ピン)がUART TXとして標準出力に,GPIO1ピン(2番ピン)がUART RXとして標準入力になります.なお,ソース・コードの名前を変更した場合は,この部分の“test”という名前を変更する必要があります.
25行目ではラズパイPicoに書き込む.uf2ファイルの作成に関する指示を出しています.ソース・コードの名前を変更した場合は,この部分の“test”という名前を変更する必要があります.
“Visual Studio Code”で開いてビルドする
“Developer Command Prompt”上で“code”というコマンドを入力して,“Visual Studio Code”を起動します.メニュー・バーから [File] - [Open Folder...] をクリックして,今回用意した“test”ディレクトリを開きます.
例によってコンパイラとして“GCC arm-none-eabi”を選択したら,[Build] ボタンをクリックしてビルドを実行します.
実行時の様子
問題なくビルドが完了すると,“test”ディレクトリの中に“build”というディレクトリが作られます.この中に“test.uf2”というファイルがあるので,これをラズパイPicoに書き込みます.
.uf2ファイルを書き込むと,ラズパイPicoは自動的に再起動します.緑色LEDが0.5秒の周期で点滅すれば成功です.また,“TeraTerm”(テラターム)などのターミナル・ソフトを使ってラズパイPicoから送信される文字列を受信すると図83のように表示されます.シリアル・ポートの設定は「スピード:115200」,「データ:8bit」,「パリティ:none」,「ストップビット:1bit」,「フロー制御:none」としてください.
なお,“TeraTerm”のインストーラはOSDNのWebサイトから入手できます.インストーラ“teraterm-4.102.exe”をダウンロードすれば簡単にインストールできます.
“Visual Studio Code”の画面をリロードする方法
“Visual Studio Code”でフォルダを開いた後にソース・ファイルやディレクトリの名前を変更した場合は,“Visual Studio Code”上の表示も自動的に更新されます.ただし,“build”ディレクトリを自分で削除した場合などは手動で読み込みなおす必要があります.画面のリロードは以下の手順で実行できます.
- Ctrl + p キーを押す
- 入力欄に“$>$Reload Window”と入力して Enter キーを押す
自分で開発用のディレクトリを作る(サブディレクトリあり)
ディレクトリ構成
実際の製品開発では,複数のプログラムを1つのプロジェクトに紐づけて管理することが多いかと思います.このような場合は,プロジェクト全体をまとめるディレクトリの下に複数のサブディレクトリを配置すると便利です.
ここでは図84のように,“C:/Pico/test2”というディレクトリの下に“test2_sub”というサブディレクトリがある状況を想定してビルドを実行する方法を説明します.
このようなディレクトリ構成の場合は,トップ階層である“test2”ディレクトリ内の“CMakeLists.txt”に全体に共通する設定項目を記述し,各サブディレクトリ内の“CMakeLists.txt”にはそれぞれのソースをビルドするための設定を記述します.いずれにしても,すべてのディレクトリの中に“CMakeLists.txt”をおくことになります.
なお,“pico_sdk_import.cmake”および“test.c”は先ほどと同じものを使います.
“test2”ディレクトリ内の“CMakeLists.txt”
“test2”ディレクトリに保存する“CMakeLists.txt”の内容をリスト5に示します.13行目まではリスト4と同じです.それ以降の各ソース・コードに依存する部分は削除し,その代わりに16行目にサブディレクトリを追加する“add_subdirectory()”コマンドを記述しています.
もしビルド対象のサブディレクトリの名前を変更する場合は,“add_subdirectory()”コマンドで指定するディレクトリ名を変更してください.また,ビルド対象のサブディレクトリを追加する場合は“add_subdirectory()”コマンドを追加して対応します.
|
---|
リスト5 “test2”ディレクトリに保存する“CMakeLists.txt” |
“test2_sub”ディレクトリ内の“CMakeLists.txt”
サブディレクトリである“test2_sub”に保存する“CMakeLists.txt”の内容をリスト6に示します.ここではビルド対象である“test.c”を読み込むための指示やビルド時の設定を記述しています.この内容はリスト4の後半部分とまったく同じです.
|
---|
リスト6 “test2_sub”ディレクトリに保存する“CMakeLists.txt” |
ビルドする
例によって“Visual Studio Code”で“test2”ディレクトリを開き,使用するコンパイラとして“GCC”を選択します.この状態でビルドを実行すると,“test2”ディレクトリの中に“build”というディレクトリが新しく作られます.
ラズパイPicoに書き込む.uf2ファイルは“test2/build/test2_sub/test.uf2”です.このように,ビルドの結果として作られる実行ファイルが元のソース・ファイルと独立した“build”ディレクトリに保存されるのが“CMake”というツールの特徴です.