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
misoji engineer
March 26, 2026
Technology
330
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Zephyr(RTOS)でARMとRISC-Vのコア間通信をしてみた
ミソジ 2026/3/27
Zephyr Project meetup: Nagoya, Japan
#ZephyrRTOS
misoji engineer
March 26, 2026
More Decks by misoji engineer
See All by misoji engineer
FPGAの開発コンペでZephyrを使ってみた
iotengineer22
0
350
FPC(フレキシブル)基板にZephyr実装してみた。
iotengineer22
0
340
ラズパイ & Picoで入門:Zephyr(RTOS)の環境構築からビルドまでの紹介
iotengineer22
1
560
M5Stack CoreS3とZephyr(RTOS)で Edge AIっぽいことしてみた
iotengineer22
0
610
Zephyr(RTOS)でOpenPLCを実装してみた
iotengineer22
0
440
Zephyr RTOS の発表をOpen Source Summit Japan 2025で行った件
iotengineer22
0
1.3k
Debugging Edge AI on Zephyr and Lessons Learned
iotengineer22
0
730
Challenging Hardware Contests with Zephyr and Lessons Learned
iotengineer22
0
1.6k
Edge AI Performance on Zephyr Pico vs. Pico 2
iotengineer22
0
530
Other Decks in Technology
See All in Technology
20260608_Codexの可能性_ノンプログラマー向け_大城追記
doradora09
PRO
0
760
AIエージェントを前提としたプラットフォーム エンジニアリング:GKEで作るAgent-Ready Golden Path
legalontechnologies
PRO
1
150
Cursor Meetup Sapporo - Cursor物語 続編
cocacola917
0
120
初めてのGitHub Actions / GitHub Actions at First
tooppoo
0
140
Service Connect 上のサービスに ECS Service の外側から到達できなかった話
ota1022
1
120
データ組織の転換期 一足飛びしない段階的戦略
leveragestech
PRO
0
150
攻撃と防御で学ぶAI時代のプロダクトセキュリティ演習
recruitengineers
PRO
1
320
SmartHR Engineering Team Deck
smarthr
0
190
ラジオの科学
frievea
0
200
Breaking the Seal: Static Deobfuscation of Compiled V8 JavaScript Bytecode Malware
hshrzd
0
450
TypeScript入門 2026
recruitengineers
PRO
1
260
AIが自社のTableauを操作する世界へ:Tableau MCP超入門
tbtykk
0
110
Featured
See All Featured
From π to Pie charts
rasagy
0
250
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.2k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.2k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
450
30 Presentation Tips
portentint
PRO
1
360
Building Flexible Design Systems
yeseniaperezcruz
330
40k
What does AI have to do with Human Rights?
axbom
PRO
1
2.3k
Accessibility Awareness
sabderemane
1
170
The Curse of the Amulet
leimatthew05
2
13k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.5k
How STYLIGHT went responsive
nonsquared
100
6.2k
Amusing Abliteration
ianozsvald
1
240
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