Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Zephyr(RTOS)でARMとRISC-Vのコア間通信をしてみた
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
misoji engineer
March 26, 2026
Technology
0
70
Zephyr(RTOS)でARMとRISC-Vのコア間通信をしてみた
ミソジ 2026/3/27
Zephyr Project meetup: Nagoya, Japan
#ZephyrRTOS
misoji engineer
March 26, 2026
Tweet
Share
More Decks by misoji engineer
See All by misoji engineer
Zephyr(RTOS)でOpenPLCを実装してみた
iotengineer22
0
110
Zephyr RTOS の発表をOpen Source Summit Japan 2025で行った件
iotengineer22
0
720
Debugging Edge AI on Zephyr and Lessons Learned
iotengineer22
0
580
Challenging Hardware Contests with Zephyr and Lessons Learned
iotengineer22
0
990
Edge AI Performance on Zephyr Pico vs. Pico 2
iotengineer22
0
380
Zephyr(RTOS)にEdge AIを組み込んでみた話
iotengineer22
2
920
Zephyr RTOSを使った開発コンペに参加した件
iotengineer22
1
1.2k
KiCadでPad on Viaの基板作ってみた
iotengineer22
0
1.4k
オープンソースのハードウェアのコンテストに参加している話
iotengineer22
1
1.4k
Other Decks in Technology
See All in Technology
スピンアウト講座04_ルーティン処理
overflowinc
0
1.3k
Phase10_組織浸透_データ活用
overflowinc
0
1.8k
「活動」は激変する。「ベース」は変わらない ~ 4つの軸で捉える_AI時代ソフトウェア開発マネジメント
sentokun
0
110
AI時代のオンプレ-クラウドキャリアチェンジ考
yuu0w0yuu
0
240
Bref でサービスを運用している話
sgash708
0
200
VSCode中心だった自分がターミナル沼に入門した話
sanogemaru
0
750
スピンアウト講座06_認証系(API-OAuth-MCP)入門
overflowinc
0
1.2k
Sansanの認証基盤を支えるアーキテクチャとその振り返り
sansantech
PRO
1
100
Embeddings : Symfony AI en pratique
lyrixx
0
330
【PHPerKaigi2026】OpenTelemetry SDKを使ってPHPでAPMを自作する
fendo181
1
300
Phase11_戦略的AI経営
overflowinc
0
1.7k
【AWS】CloudTrail LakeとCloudWatch Logs Insightsの使い分け方針
tsurunosd
0
120
Featured
See All Featured
Information Architects: The Missing Link in Design Systems
soysaucechin
0
850
Building Adaptive Systems
keathley
44
3k
Writing Fast Ruby
sferik
630
63k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
64
54k
Making Projects Easy
brettharned
120
6.6k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
1
1.4k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.4k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
250
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
200
How to build a perfect <img>
jonoalderson
1
5.3k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.3k
Transcript
Zephyr(RTOS)でARMとRISC-Vの コア間通信をしてみた ミソジ 2026/3/27 Zephyr Project meetup: Nagoya, Japan #ZephyrRTOS
自己紹介 名前: ミソジ @misoji_engineer ブログ: エンジニアの電気屋さん(https://misoji-engineer.com/) ハードウェアのエンジニアで、趣味でブログとか書いてます
アジェンダ • このテーマを選んだ理由 • Zephyr(RTOS)のトレンド・強いところ • ARMとRISC-Vでコア間通信したら、面白いのでは? • 実装+テストしてみた Zephyr(RTOS)でコア間通信をしてみた話
このテーマを選んだ理由
Edge AI 去年はZephyr +Edge AIを多く実装してました ▪コンテスト、勉強会、カンファレンスでも良く使っていました (見栄え良い + トレンド性ある + 分かりやすい)
・XIAO nRF54L15 Senseでの音声認識 ・ラズパイPico2Wでのジェスチャー認識
とあるカンファレンスで... 「鉄板」+「良い質問」が来ました ・Edge AIが~ ・Zephyrが~ ・コンテストで~ 自分
とあるカンファレンスで... 「鉄板」+「良い質問」が来ました ・Edge AIが~ ・Zephyrが~ ・コンテストで~ それは Best Choise ですか?
自分
とあるカンファレンスで... 「鉄板」+「良い質問」が来ました ・Edge AIが~ ・Zephyrが~ ・コンテストで~ それは Best Choise ですか?
Zephyrに 実装する意味あるの? 意訳(誤訳): 自分
致命傷で済んだ。 俺も思っていた。マジでクリティカル。
Zephyrである必要は? 正直言うと...無い。 OS無しでもEdge AI処理できる https://www.zephyrproject.org/ もちろん軽量・省電力というEdge AIに有効なRTOSですが... →無理して使う必要は無い。 2025年8月~9月 Edge AI
Earth Guardians https://www.hackster.io/contests/earthguardians 去年参加したEdge AIのコンペでも 自分以外、ほぼArduino(OS無し)で実装
ただ、このままでは悔しいので... Zephyr + Edge AIが有効であるケースを、考えてみる。
Zephyr(RTOS)の トレンド・強いところ
Zephyrの強み SoC内のコア(OS)間の通信・仮想化もトレンドの一つ。 https://www.youtube.com/watch?v=QjiWMYTrMQU 車載系のプラットフォーム例 コア(OS)間の違いを越えた、I/O仮想化(VirtIO) SoC (CPU) ヘテロジニアス (異種混合)化 メイン_Aコア
(Linux) サブ_Mコア (RTOS) 機能安全_Mコア (RTOS) NPU (AI処理) 最近はSoC内の コアの種類・数が多い (使い切れない...) 2025年の OSSJの基調講演
Zephyrのコア間通信のサポート例 色々あるが、IPCが一番ハード寄りで自分好み 項目 IPC (Inter-Processor Communication) VirtIO (Virtual I/O) OpenAMP
(Open Asymmetric Multi-Processing) 定義 コア間通信の総称 I/O仮想化の標準規格 マルチコア連携のフレームワーク レイヤー 物理層・データリンク層(ハード寄り) トランスポート層(抽象化) アプリケーション・管理層(ソフト全体) 主な役割 データの通り道を確保する メモリの使い方の作法を共通化する コアの起動・停止やメッセージを管理する 具体例 共有RAM、メールボックス、割り込み vring(リングバッファ) RemoteProc, RPMsg 一番分かりやすい例えは、**「物流(ロジスティクス)」**です。 • IPC = 道路や橋(物理的なインフラ) • VirtIO = 交通ルールとトラックの規格(運び方の作法) • OpenAMP = 運送会社・物流システム全体(管理と運用) Geminiに聞いてみた IPCとEdgeAIを 絡めればメリットあるのでは...
IPC(Inter-Processor Communication) IPCで「軽量+高速」と「複雑+重い」タスクを分ける 複雑+重い タスク IPC ARMコア ・Edge AI ・ネットワーク
ARMコア ・高速モータ制御 ・高速ADC (サンプリング) 軽量+高速 タスク PWM ADC (Analog- Digital) AI処理 WIFI,LTE, Bluetooth 高速な信号のため、 他処理の影響を小さくしたいケース ・共有RAM ・メールボックス ・割り込み
ちょうど良いネタ(SoC)がある ▪Nordic Wireless SOC nRF54L15 Nordic nRF54L15は「ARM」と「RISC-V」の2つのコア https://www.nordicsemi.com/Products/nRF54L15 IPCの コア間通信
ARM_M33 RISC-V
ARMもRISC-Vも単独ではテスト済 まだ、IPCのコア間通信はテストしていなかった。 ▪去年nRF54L15のカスタムボードで RISC-VとARM_M33の簡単な(GPIO・UART・PWM)動作確認はしていた プロジェクトURL: https://www.hackster.io/iotengineer22/maker-s-nrf54l15-debug-board-1a6a88
Zephyrの良さが活きる。 RTOSとして、「軽量」かつ「多くのアーキテクチャ」に対応 複雑+重い タスク IPC ARMコア ・Edge AI ・ネットワーク RISC-Vコア
・高速モータ制御 ・高速ADC (サンプリング) 軽量+高速 タスク PWM ADC (Analog- Digital) AI処理 WIFI,LTE, Bluetooth ・共有RAM ・メールボックス ・割り込み
Zephyrの良さが活きる。 RTOSとして、「軽量」かつ「多くのアーキテクチャ」に対応 複雑+重い タスク IPC ARMコア ・Edge AI ・ネットワーク RISC-Vコア
・高速モータ制御 ・高速ADC (サンプリング) 軽量+高速 タスク PWM ADC (Analog- Digital) AI処理 WIFI,LTE, Bluetooth ・共有RAM ・メールボックス ・割り込み 各コアに Zephyrを 実装
Zephyrの良さが活きる。 RTOSとして、「軽量」かつ「多くのアーキテクチャ」に対応 複雑+重い タスク IPC ARMコア ・Edge AI ・ネットワーク RISC-Vコア
・高速モータ制御 ・高速ADC (サンプリング) 軽量+高速 タスク PWM ADC (Analog- Digital) AI処理 WIFI,LTE, Bluetooth ・共有RAM ・メールボックス ・割り込み 各コアに Zephyrを 実装 今回はコレ 今回はコレ
テスト実装してみる シンプルな内容でテスト実装してみた。 複雑+重い タスク IPC ARMコア ・Edge AI ・ネットワーク RISC-Vコア
・高速モータ制御 ・高速ADC (サンプリング) 軽量+高速 タスク PWM ジェスチャー AI ・共有RAM ・メールボックス ・割り込み ①ARM側でジェスチャーAI処理 ②IPCでデータ共有 *項目とスコア値のみ ③RISC-V側のPWMを変更 ① ② ③ ▪Nordic Wireless SOC nRF54L15
実装+テストしてみた
nRF54L15 + IPC Zephyrのサンプルを調整 + 上手いことEdge AI処理を結合 ①remoteフォルダにRISC-V側の main.c、Makelist、prj.conf ②通常通りARM側の main.c、Makelist、prj.conf
*AIモデルは従来通り Edge ImpulseのC++出力 (今回は説明省略) ③NordicのRISC-V用の スニペット(nordic-flpr)を使用
GitHubのリンク先 Zephyr公式サンプルの方を見てね。 https://github.com/zephyrproject-rtos/zephyr/tree/ main/samples/subsys/ipc/ipc_service/icmsg Zephyr公式のIPCのサンプル (雑な)自分のテストプログラム https://github.com/iotengineer22/zephyr-ipc
IPCデモ動画(nRF54L15-DK) https://youtu.be/ACCoVr_i27I
IPCでテスト成功 ログ見ても、IPCでコア間のデータ転送→OK 複雑+重い タスク IPC ARMコア ・Edge AI ・ネットワーク RISC-Vコア
・高速モータ制御 ・高速ADC (サンプリング) 軽量+高速 タスク PWM ジェスチャー AI ・共有RAM ・メールボックス ・割り込み ① ② ③ ①ARM側でジェスチャーAI処理 ②IPCでデータ共有 ③RISC-V側のPWMを変更 ① ② ③ ① ② ③
他のIPC応用例
実は知らずにIPC使っていたケース Bluetooth LE Audio対応のトランスミッター・スピーカー 去年BluetoothのAudio開発コンテスト プロジェクトURL: https://www.hackster.io/iotengineer22/adaptive-directional-ble-audio-speaker-2d892d SOC (nRF5340) *BLE…Bluetooth
Low energy
nRF5340(ARM_M33 のデュアル + IPC) 「ネットワーク処理コア」と「音声処理のコア」を分けていた 複雑+重い タスク IPC ARMコア ・Edge
AI ・ネットワーク ARMコア ・高速モータ制御 ・高速ADC (サンプリング) 軽量+高速 タスク 同期性 持った 音声処理 ・共有RAM ・メールボックス ・割り込み ①ARM側でBluetooth LE処理 ②IPCで音声データ共有 ③ARM側で同期性持った音声出力 ① ② ③ ▪Nordic Wireless SOC nRF5340 *ARM_M33が2個内蔵 Bluetooth Low Energy
Bluetooth LE Audio ▪今までのBluetoothには無い機能…Unicast/Broadcastができる →(同期合わせた)特定オーディオの一斉送信 高い同期精度が必要 →デュアルコアでの分散処理 + IPC
まとめ
・Zephyrがコア間通信を強くサポートされていたのを学べた (複数/異種のコアを持つSoCに対応) ・Zephyrが様々なアーキテクチャに対応 (ARM+RISC-Vのようなコア間でも通信できた) ・分散処理したり、厳密なRTOS制御したい場合に使えそう (EdgeAIや厳密なネットワーク同期制御など) まとめ Zephyr(RTOS)で コア間通信(IPC)を実装+遊べた!
IPC(Inter-Processor Communication) ▪Nordic Wireless SOC nRF54L15 Coordination between multiple CPU
cores or processors https://www.nordicsemi.com/Products/nRF54L15 IPC ARM_M33 RISC-V
IPC(Inter-Processor Communication) Coordination between multiple CPU cores or processors Complex
Task IPC ARM_M33 ・Edge AI ・Network RISC-V(FLPR) ・Motor-Control ・High-Speed ADC High-Speed Task PWM (Servo motor) ADC (Analog- Digital) AI Inference WIFI,LTE, Bluetooth
IPC(Inter-Processor Communication) Coordination between multiple CPU cores or processors ARM_M33
IPC Complex Task ・Edge AI ・Network High-Speed Task ・Motor-Control ・High-Speed ADC RISC-V(FLPR) PWM Gesture Sensing