8.新規プロジェクトの開発
8.1. Pico Project Generatorによる新規プロジェクト作成
Picoインストール先のフォルダの"Pico Project Generator"をクリックし、起動します。
新規プロジェクトの構成設定画面が表示されます。Project Nameにプロジェクト名を入力します。例えば"ExternalLedBlink"と入力します。Locationに保存先を入力します。"pico-examples”があるPicoインストール先を選択します。BoardTypeは”pico”を選択します。PicoWの場合は、リストから"pico_w”を選択します。その他、Raspberry Pi財団からのボード以外のサードパーティーのボードも対応しています。
Console Optionsの選択は、このPico Project Generator確認の作業では、"Console over UART"のみにチェックを入れます。このため第7章でのWindowsPCとPicoのUART接続を参考にUART0をWindowsPCに接続してください。
他の設定は、初期状態にします。ここでの設定内容は、CMakeLists.txtに反映されます。また、手動で、このCMakeLists.txtは編集可能です。OKボタンを押します。
上記のように新規プロジェクトの構成が作成されます。例えばこのメッセージ中でプロジェクトのターゲットボードが”pico”であることがわかります。
8.2.作成された空の新規プロジェクトの動作確認
Visual Studio Codeを起動します。過去のプロジェクトが表示される場合、「ファイル」>「フォルダのクローズ」を選択し、閉じます。次に先ほど新規作成したExcternalLedBlinkのフォルダを「ファイル」>「ホルダのオープン」で開きます。このとき、以下画面のように、このフォルダのファイルは信頼できるかどうかのダイアログ画面が表示されるのでYESボタンを押します。このメッセ―ジは、どこで作成されたかにかかわらず、新規ファイルを読み込むとき、一度は表示されます。
以下、画面となります。
Visual Studio Codeで、上記画面のようにExternalLedBlinkフォルダ内の一覧が表示されます。
ここで、実際に編集するのは
CMake構成ファイル CMakeLists.txt
Cソースリスト ExternalLedBlink.c
の2つです。
初期状態のCMakeLists.txtは以下です。
# Generated Cmake Pico project file
cmake_minimum_required(VERSION 3.13)
# Pull in Raspberry Pi Pico SDK (must be before project)
include(pico_sdk_import.cmake)
project(ExternalLedBlink C CXX ASM)
set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 17)
# Initialise pico_sdk from installed location
# (note this can come from environment, CMake cache etc)
set(PICO_SDK_PATH "C:/PiPicoC/Pico/pico-sdk")
set(PICO_BOARD pico CACHE STRING "Board type")
if (PICO_SDK_VERSION_STRING VERSION_LESS "1.4.0")
message(FATAL_ERROR "Raspberry Pi Pico SDK version 1.3.0 (or later) required. Your version is ${PICO_SDK_VERSION_STRING}")
endif()
# Initialise the Raspberry Pi Pico SDK
pico_sdk_init()
# Add executable. Default name is the project name, version 0.1
add_executable(ExternalLedBlink ExternalLedBlink.c )
pico_set_program_name(ExternalLedBlink "ExternalLedBlink")
pico_set_program_version(ExternalLedBlink "0.1")
pico_enable_stdio_uart(ExternalLedBlink 0)
pico_enable_stdio_usb(ExternalLedBlink 1)
# Add the standard library to the build
target_link_libraries(ExternalLedBlink
pico_stdlib)
# Add the standard include files to the build
target_include_directories(ExternalLedBlink PRIVATE
${CMAKE_CURRENT_LIST_DIR}
${CMAKE_CURRENT_LIST_DIR}/.. # for our common lwipopts or any other standard includes, if required
)
# Add any user requested libraries
target_link_libraries(ExternalLedBlink
)
pico_add_extra_outputs(ExternalLedBlink)
ここで、よく編集が必要になる箇所は、まずstdioの定義部分です。
pico_enable_stdio_uart(ExternalLedBlink 1)
pico_enable_stdio_usb(ExternalLedBlink 0)
ここで、stdioのuart出力を1として、有効にしておりstdioのusb出力を0として無効にしています。デフォルトのstdioの出力はUART0なので、このピンが標準出力となり、usb標準出力は使用できません。このため、UARTシリアルUSB変換ケーブルでWindowsPCと接続する必要があります。
Cソースリストは以下のシンプルなものです。
#include <stdio.h>
#include "pico/stdlib.h"
int main()
{
stdio_init_all();
puts("Hello, world!");
return 0;
}
この初期状態でビルドしてみます。まず、画面下ブルーのバーで
Not Kit Selected
となっているので、この部分をクリックし、コンパイラを選択します。
"GCC 10.3.1 arm-none-eabi"を選択します。選択すると、cmakeが起動され、以下、Build ファイルが作成された、とのメッセージが表示され完了します。
この以下のステップでの動作確認は、新規プロジェクト作成には不要です。飛ばして、次の章で実際の自分自身のプログラムに入ることができます。ただ、空のプロジェクトがどのようなものか理解はできます。第7章のWindowsPCとRaspberry Pi PicoとのUART接続にしたがって、UART0をUSBシリアルケーブルでPCに接続します。次に、Picoのインストール先ファルダのExternalLedBlink>build内に作成されたExternalLedBlink.uf2をPicoに書き込み、実行します。
Tera TermVTを起動し、Adafruitsのケーブルを選択します。
次に「設定」メニューの「シリアルポート」を選択し、スピード(ボーレイト)を115200に設定後、「設定の接続を再設定」をクリックし、メイン画面に戻ります。
新規プロジェクト作成で作成された基本のプログラムはソースリストから、わかるように、標準出力に”Hello World!"を一度出力して終了します。このため、再度、USBケーブルを抜き、リセット後、を実行します。以下、Tera Term VTに1行だけ、”Hello World!"が表示されます。
これで、空の新規プロジェクトの確認ができました。ただ、標準出力UART0に1度だけ、"Hello world!"を出力するだけのプログラムです。
コメントをお書きください