Raspberry Pi Picoの開発環境で自前プログラムをビルドする
RaspberryPi Picoをデバッガ(PicoProbe)で開発 - Kamuycikap - SentenceDataBase
前回のこの記事で、Linux上にRaspberry Pi Pico用の開発環境を構築する記事を書きましたが、様々あるサンプルプログラムをまるっとコンパイルする環境になっています。
自前のプログラムをコンパイルするにはどうしたらいいの??と考えて試行錯誤しましたが・・・
本家ドキュメント
には、そこまでの情報が掲載されておらず。(自分が英語苦手なだけか???)
試行錯誤してみた結果、現行サンプルの内容を書き換えることで出来たので晒してみます。
結論だけならべる形式で!
本記事の内容は、上記URLの環境を構築したとして書きます。
■環境インストールした場所(PATH)
/home/pi/pico
■サンプルの場所(PATH)
/home/pi/pico/pico-examples
■コンパイル結果が格納される場所(PATH)
/home/pi/pico/pico-examples/build
自前プログラムディレクトリとソースファイル作成
/home/pi/pico/pico-examples/の中に、好きな名前でディレクトリを作成します。
ゼロから作るのは面倒なので、サンプルとしてあるblinkをコピーして横着します。
$ cd /home/pi/pico/pico-examples $ cp -r /home/pico/pico-examples/blink /home/pico/pico-examples/hoge
これで、blinkディレクトリがhogeディレクトリとしてコピーされました。
さらに、hogeディレクトリの中にある設定ファイルを修正します。
面倒なので、ソースファイルはblink.cをそのまま使います。
$ cd /home/pi/pico/pico-examples/hoge $ nano ./CMakeLists.txt
add_executable(hoge blink.c ) # Pull in our pico_stdlib which pulls in commonly used features target_link_libraries(hoge pico_stdlib) # create map/bin/hex file etc. pico_add_extra_outputs(hoge) # add url via pico_set_program_url example_auto_set_url(hoge)
自前ソースファイルにしたい場合は、blink.cの部分を自前ソースファイルに変更すればOK。
本家サンプルのCMakeの設定ファイルを修正
コンパイル設定ファイルを下記のとおりに書き換えます。
$ cd /home/pi/pico/pico-examples $ nano ./CMakeLists.txt
cmake_minimum_required(VERSION 3.12) # 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) add_compile_options(-Wall -Wno-format # int != int32_t as far as the compiler is concerned because gcc has int32_t as long int -Wno-unused-function # we have some for the docs that aren't called -Wno-maybe-uninitialized ) # Add My Programm Dir add_subdirectory(hoge)