M5Stack CoreS3でZephyr(RTOS)を始めてみました。
M5Stackも多くの機種がZephyr(RTOS)サポートされています。
購入して、簡単なテストをしてみた内容を紹介します。
M5Stack CoreS3でZephyr(RTOS)を始めてみた
M5Stack CoreS3でZephyr(RTOS)を始めてみました。
M5Stackも多くの機種がZephyr(RTOS)サポートされています。
購入して、簡単なテストをしてみた内容を紹介します。


M5Stack + Zephyr(RTOS)
M5StackはZephyrに公式ボードとしても多く登録されています。
今回は、筆者が初めてのM5だったので、標準機のCoreS3を購入しました。
M5Stack — Zephyr Project Documentation


Zephyr(RTOS)の書き込みは簡単
USB接続して、ビルドしたプログラムを、普通に「west flash」をするだけです。
下記のように、勝手に探して書き込んでくれます。
非常に簡単で楽です。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
(.venv) C:\Users\ioten\zephyrproject\test\m5_bmi270>west flash -- west flash: rebuilding ninja: no work to do. -- west flash: using runner esp32 -- runners.esp32: reset after flashing requested -- runners.esp32: Flashing esp32 chip on None (921600bps) esptool v5.1.0 Connected to ESP32-S3 on COM3: Chip type: ESP32-S3 (QFN56) (revision v0.2) Features: Wi-Fi, BT 5 (LE), Dual Core + LP Core, 240MHz Crystal frequency: 40MHz USB mode: USB-Serial/JTAG MAC: 1c:db:d4:ba:4b:20 Stub flasher running. Changing baud rate to 921600... Changed. Configuring flash size... Flash will be erased from 0x00000000 to 0x00021fff... Wrote 147456 bytes at 0x00000000 in 1.8 seconds (650.7 kbit/s). Hash of data verified. Hard resetting via RTS pin... |
ディスプレイ表示のサンプル
デフォルトでも簡単にwestでビルドして、動くプログラムがあります。
まずは下記のサンプルで、LCDディスプレイ表示してみました。
zephyr/samples/subsys/display/lvgl at main · zephyrproject-rtos/zephyr
Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple...
Hello Worldと表示+カウント表示されます。
|
1 2 |
west build -b m5stack_cores3/esp32s3/procpu samples/subsys/display/lvgl --pristine west flash |

加速度センサのサンプル
CoreS3には加速度センサ(BMI270)が接続されています。
zephyr/samples/sensor/bmi270 at main · zephyrproject-rtos/zephyr
Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple...
app.overalayを少し弄れば問題なく動作しました。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
/ { aliases { accel0 = &bmi270; }; }; &i2c0 { status = "okay"; bmi270: bmi270@69 { compatible = "bosch,bmi270"; reg = <0x69>; }; }; |
加速度とジャイロの値が、下記のように直に読めます。
|
1 2 3 4 5 6 7 |
---- シリアル ポート COM3 を開きました ---- AX: 0.-69433; AY: 0.-143057; AZ: 9.765049; GX: 0.001331; GY: 0.010919; GZ: 0.001331; AX: 0.-62849; AY: 0.-152635; AZ: 9.747092; GX: 0.-00798; GY: 0.010652; GZ: 0.000266; AX: 0.-71828; AY: 0.-140065; AZ: 9.760859; GX: 0.000532; GY: 0.011718; GZ: 0.-01065; AX: 0.-77813; AY: 0.-143057; AZ: 9.749486; GX: 0.-01331; GY: 0.010919; GZ: 0.001597; AX: 0.-60455; AY: 0.-143656; AZ: 9.755472; GX: 0.000000; GY: 0.010919; GZ: 0.000266; AX: 0.-62251; AY: 0.-150839; AZ: 9.751282; GX: 0.000532; GY: 0.012250; GZ: 0.000532; |

まとめ
M5Stack CoreS3でZephyr(RTOS)を始めてみました。
M5Stackも多くの機種がZephyr(RTOS)サポートされています。
購入して、簡単なテストをしてみた内容を紹介しました。

コメント