前園ソフトウェア開発ロゴ

前園ソフトウェア開発

記号 タイトル 作成日
0006

RaspberryPi-Pico + freeRTOSで遊んでみる
「まずは、サンプルのハローワークを実施する」

2025/12/28

 

暇なので、RaspberryPi-PicoとfreeRTOSの組合せで遊んでみた。その時の試行錯誤を不定期で連載しようと思う。

今回は、サンプルのハローワールドを実施してみた。

実施手順を以下に記す。

利用した機材は、下表の通りである。

表1.機材一覧

名称 説明
RaspberryPi-PicoWH 実機
ホストPC OS:Kubuntu24.04LTS
CH340E USBシリアル変換器

 

■実施手順

(1)ホストPCに必要なツールをインストールする。

① SDK&ツールチェーンのインストール
sudo apt update
sudo apt install -y cmake gcc-arm-none-eabi libnewlib-arm-none-eabi build-essential

② Pico SDKのインストール
cd ~
git clone https://github.com/raspberrypi/pico-sdk.git
cd pico-sdk
git submodule update --init
export PICO_SDK_PATH=$HOME/pico-sdk

③ FreeRTOS Kernelのインストール
cd ~
git clone https://github.com/FreeRTOS/FreeRTOS-Kernel.git

④ Pico向けFreeRTOSサンプルのインストール
cd ~
git clone https://github.com/raspberrypi/pico-examples.git

(2)サンプルをビルドする。

⑤ サンプルをビルドする
cd ~/pico-examples
rm -rf build
mkdir build
cd build
cmake .. -DPICO_BOARD=pico -DFREERTOS_KERNEL_PATH=${HOME}/FreeRTOS-Kernel
make -j

⑥ ビルドが正常にできたか確認する
ls freertos/hello_freertos/
hello_freertos.uf2があるか確認する。

(3)実機にデプロイする。

⑦ 実機に*.uf2を焼く
 1.Pico の USB を抜く
 2.BOOTSEL ボタンを押し続ける
 3.そのまま USB を PC に接続
 4.BOOTSEL ボタンを離す

cd ~/pico-examples/build
cp freertos/hello_freertos/hello_freertos_one_core.uf2 /media/${USER}/RPI-RP2/
※ すぐにPicoが再起動してしまう。

(4)実機とホストPCを接続する。

⑧ ホストにminicomをセッティングする。
sudo apt update
sudo apt minicom
sudo usermod -aG dialout <username>
sudo reboot

⑨ usbシリアル変換器に実機を接続する。

USBシリアル変換器 Pico メモ
TXD GPIO1 緑線
RXD GPIO0 赤線
GND GND 黒線
VCC VBUS 橙線

PXL_20251226_082310718.jpg

(5)シリアル通信で、動作確認する。

⑩ 下記のコマンドラインをホストで実行する。
minicom -D /dev/ttyUSB0 -b 115200

★以下のような出力が確認できれば成功。

Hello from main task count=2
Hello from main task count=3
Hello from worker count=1
Hello from main task count=4
Hello from main task count=5
Hello from main task count=6
Hello from worker count=2
Hello from main task count=7
Hello from main task count=8
Hello from main task count=9
Hello from worker count=3
Hello from main task count=10
Hello from main task count=11
Hello from main task count=12
Hello from main task count=13
Hello from worker count=4
 

以上がPicoのサンプルのHelloWorldの実施手順である。問題なくできると思う。