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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
misoji engineer
March 26, 2026
Technology
150
0
Share
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
Zephyr(RTOS)でOpenPLCを実装してみた
iotengineer22
0
210
Zephyr RTOS の発表をOpen Source Summit Japan 2025で行った件
iotengineer22
0
770
Debugging Edge AI on Zephyr and Lessons Learned
iotengineer22
0
600
Challenging Hardware Contests with Zephyr and Lessons Learned
iotengineer22
0
1k
Edge AI Performance on Zephyr Pico vs. Pico 2
iotengineer22
0
410
Zephyr(RTOS)にEdge AIを組み込んでみた話
iotengineer22
2
990
Zephyr RTOSを使った開発コンペに参加した件
iotengineer22
1
1.3k
KiCadでPad on Viaの基板作ってみた
iotengineer22
0
1.4k
オープンソースのハードウェアのコンテストに参加している話
iotengineer22
1
1.5k
Other Decks in Technology
See All in Technology
ルールルルルル私的函館観光ガイド── 函館の街はイクラでも楽しめる!
nomuson
0
120
ふりかえりがなかった職能横断チームにふりかえりを導入してみて学んだこと 〜チームのふりかえりを「みんなで未来を考える場」にするプロローグ設計〜
masahiro1214shimokawa
0
340
DevOpsDays2026 Tokyo Cross-border practices to connect "safety" and "DX" in healthcare
hokkai7go
0
120
サイバーフィジカル社会とは何か / What Is a Cyber-Physical Society?
ks91
PRO
0
160
会社紹介資料 / Sansan Company Profile
sansan33
PRO
16
410k
プロンプトエンジニアリングを超えて:自由と統制のあいだでつくる Platform × Context Engineering
yuriemori
0
170
【PHPカンファレンス小田原2026】Webアプリケーションエンジニアにも知ってほしい オブザーバビリティ の本質
fendo181
0
560
AIエージェントを構築して感じた、AI時代のCDKとの向き合い方
smt7174
1
170
2026年春から始めるOpenTelemetry | sogaoh's LT @ PHP Conference ODAWARA 2026
sogaoh
PRO
0
110
Oracle Cloud Infrastructure(OCI):Onboarding Session(はじめてのOCI/Oracle Supportご利⽤ガイド)
oracle4engineer
PRO
2
17k
Master Dataグループ紹介資料
sansan33
PRO
1
4.6k
バックオフィスPJのPjMをコーポレートITが担うとうまくいく3つの理由
yueda256
1
300
Featured
See All Featured
What does AI have to do with Human Rights?
axbom
PRO
1
2.1k
So, you think you're a good person
axbom
PRO
2
2k
AI: The stuff that nobody shows you
jnunemaker
PRO
5
530
The SEO identity crisis: Don't let AI make you average
varn
0
440
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
110
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
Embracing the Ebb and Flow
colly
88
5k
How Software Deployment tools have changed in the past 20 years
geshan
0
33k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.2k
Writing Fast Ruby
sferik
630
63k
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