| 記号 | タイトル | 作成日 |
| 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 | 橙線 |
(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の実施手順である。問題なくできると思う。