※なにか気になる点がありましたらコメント欄にご記入ください。
目次
1.はじめに
以前、Raspberr Pi Pico(以下Pico と記述)におけるSDK C/C++ の構築に関する記事を書きましたが(下を参照)、そこから1歩進んで、独自のプログラムをビルドするときのノウハウを書きとどめたいと思います。(自分用の備忘録的な要素が強いです)
以前書いた記事:Raspberry Pi Pico SDK C/C++の構築 - Tanuki_Bayashin’s diary
開発環境:Windows10 Raspberry Pi Pico(C/C++により記述) ubuntu Visual Studio 2022 cmake など
以下のサイトに構築した pico-SDK C/C++ において、ディレクトリpico 内のblink.c というソースコードをビルドするやり方が載っていました。多分に参考になりました。
qiita.com
2.開発の進め方
2.1 ディレクトリ構造とCMakeLists.txtファイル
開発の進め方と書くとぎょうぎょうしいですが、1章でふれたサイト内のように、ubuntu内のディレクトリpico の下にworks という作業用のディレクトリを作り、必要なファイルやディレクトリを準備します。
筆者はディレクトリuart2 の中にuart2.c というCで書いたファイルを作り、ビルドしました。(ここではファイルの内容は割愛します)
※ここまでの手順などは1章のサイトを参考にしていただければと思います。
pico---- pico-examples |-- pico-sdk |-- works example_auto_set_url.cmale, pico_sdk_import.cmake,CMakeLists.txt | (pico-examples内よりコピー) |---cmake (ディレクトリごとpico-examples内よりコピー) |---uart2 CmakeLists.txt, uart2.c (筆者自身のCファイルです) |---build |---uart2(uart2.cのuf2ファイルが入っている)
このとき、ディレクトリworks内の CMakeLists.txtとディレクトリworks の下のディレクトリuart2 内のCMakeLists.txt の内容を以下に示します。
リスト2 ディレクトリworks内の CMakeLists.txt
cmake_minimum_required(VERSION 3.16) # Pull in SDK (must be before project) include(pico_sdk_import.cmake) project(pico_examples C CXX ASM) set(CMAKE_C_STANDARD 11) set(CMAKE_CXX_STANDARD 17) set(PICO_EXAMPLES_PATH ${PROJECT_SOURCE_DIR}) # Initialize the SDK pico_sdk_init() include(example_auto_set_url.cmake) # Hardware-specific examples in subdirectories: add_subdirectory(cmake) add_subdirectory(uart2)
リスト3 ディレクトリuart2 内のCMakeLists.txt
add_executable(uart2 uart2.c ) # Pull in our (to be renamed) simple get you started dependencies target_link_libraries(uart2 pico_stdlib pico_binary_info) # create map/bin/hex file etc. pico_add_extra_outputs(uart2) # add url via pico_set_program_url example_auto_set_url(uart2)
※リスト2,3共に行番号は必要ありません
2.2 新しくソースコードを起こし、ビルドする手順
以下に新しくご自身でソースコードを起こし、実行可能なファイルをビルドするときの手順を示します。
A 前準備的な手順
1. 新たにディレクトリworks の下にご自身のディレクトリを作る。
2. ソースコードを書く。
3. CMakeLists.txtを書く。
3-1 リスト2のCMakeLists.txt
一番下の行のuart2 の部分をご自身のディレクトリ名に置き替える
3-2 リスト3のCMakeLists.txt
’uart2' という名前を適宜置き替える。また6行目には必要なライブラリー名を記入する。
ライブラリー名はスラッシュ’/’ の部分をアンダースコア’_’ に置き替えればよいようです。
(このCMakeLists.txtは、ご自身が作ったディレクトリ内に保存してください)
B 開発していく上で繰り返すであろう手順
4.ディレクトリbuild に移り、’cmake ..’ と打ち込み、Enter(’..’ は1つ上のディレクトリを意味します)
5.cmake が無事に通ったら、ご自身が作ったディレクトリと同じ名前のディレクトリがbuild 内にできているので、そちらに移る
6. 'make -j4' と打ち込み、UF2ファイルを作る。エラーが見つかれば、必要な箇所を訂正する。
7. Pico にファイルを書き込み、テストする。
8. 改善すべき点が見つかれば、再度ソースコードを書き直し、ビルドする。特になければ終了。
以上です。
(変更すべき事項があった場合、書き直します)