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
汎用 IP ドライバ移植の罠 - Implementation of IP driver to...
Search
K. Hayashi
July 05, 2026
Programming
26
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
汎用 IP ドライバ移植の罠 - Implementation of IP driver to SoC
Zephyr project meetup: Sappro Japan 2026 (Lightning Talk)
K. Hayashi
July 05, 2026
More Decks by K. Hayashi
See All by K. Hayashi
Linux contribution topics: Fixes for large driver
khayash1
0
10
QEMU/arm64+Xen で domU Zephyr をマルチ起動
khayash1
0
160
Case Study: Linux kernel contribution and LTS following ~1つの修正パッチが24 個のstable パッチになった話~
khayash1
0
22
Other Decks in Programming
See All in Programming
AI時代の仕事技芸論〜ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ(スクフェス仙台 2026バージョン)
kuranuki
0
650
PHPだって関数型したい 〜できること、できないこと〜 / fp-in-php
jsoizo
0
210
ITヒヤリハットを整理してみた ~ライフサイクルと原因から考える再発防止策~
koukimiura
1
110
分散システム、なんですぐ死んでしまうん?耐障害性を高めたいあなたのためのレジリエンスパターン入門
mshibuya
7
6.2k
Laravelで学ぶ Webアプリケーションチューニング入門/web_application_tuning_101
hanhan1978
4
640
エンジニアにデザインハーネスを 〜デザインプロセスを規定するためのハーネス〜 / Design harness from an engineer's perspective
rkaga
2
1.5k
継続モナドとリアクティブプログラミング
yukikurage
3
610
LLMによるContent Moderationの本番運用の裏側と品質担保への挑戦
suikabar
3
860
気圧・高度・GPSを記録&可視化するアプリ「Koudo」を作った話
hjmkth
1
360
なぜ型を書くのか? TSKaigi2026で改めて考える #tskaigi_smarthr
kajitack
0
370
AI時代、エンジニアはどう育つのか -未経験エンジニアの成長を間近で見て考えたこと-
thasu0123
0
110
琵琶湖の水は止められてもNet--HTTPのリトライは止められない / You might be able to stop the water flow of Lake Biwa but you can't stop Net::HTTP retries
luccafort
PRO
0
390
Featured
See All Featured
Darren the Foodie - Storyboard
khoart
PRO
3
3.4k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
410
The Cost Of JavaScript in 2023
addyosmani
55
10k
Leo the Paperboy
mayatellez
8
1.9k
Optimizing for Happiness
mojombo
378
71k
Technical Leadership for Architectural Decision Making
baasie
3
440
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
The SEO Collaboration Effect
kristinabergwall1
1
510
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
300
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.7k
Transcript
1 汎用 IP ドライバ移植の罠 Implementation of IP driver to SoC
Embedded SW Engineer/OpenSource Contributer K.Hayashi ( khayash1) 2026/06/26 Zephyr Project Meetup: Sapporo, Japan 2026
2 About me 2026/06/26 Name: K.Hayashi ( khayash1) Job: Embedded
SW Engineer OpenSource Contributer Linux kernel (For soc, dts, pci, net, usb, sdhci, ata, spi, …) U-Boot Buildroot OP-TEE Zephyr RTOS
3 Zephyr RTOS には非常に多くのドライバが備わっている ⇒ ボードのZephyr サポートがあれば即動作 ⇒ 標準 API
と数多くの contribution の恩恵 しかし、サポートが少ないボードや自分で移植する人に対しては... ⇒ 自力でドライバを有効にしていかなければならない ⇒ これは運も左右する、割と過酷な道 ⇒ 汎用 IP なら少しはマシかも? Overview 2026/06/26
4 汎用 IP の DMA ドライバを動かしてみる Kconfig を有効化 (loop_transfer/boards/<target>.conf)
Devicetree Overlay を追加 (loop_transfer/boards/<target>.overlay) loop_transfer テストをビルド Zephyr 公開ドライバがある (drivers/dma/dma_*.c) Linux 実装も動作実績もある(GPL なので仕様を眺めるだけ) 対象 SoC ボードでの Zephyr は動作済 ということで、いざ実行 Case Study: dmac 2026/06/26 $ west build -p always -b <target> zephyr/test/drivers/dma/loop_transfer これだけ揃ってれば 簡単に動くんじゃない?
5 現実はそんなに甘くない テスト結果は FAIL 動作している Linux の挙動とにらめっこしながらレジスタデバッグ... Try and error
2026/06/26 デバッグの末に分かったこと IP は汎用でもドライバは汎用に作られていない可能性 ⇒ 特定 SoC 環境でしかテストされていない? ⇒ 汎用 IP は SoC ごとの “configuration” の差 明らかにおかしいバグ1 件、怪しいバグ2 件 ⇒ テストがうまく機能していない可能性 ⇒ これは PR / Issue 発行のチャンス!
6 さらに分かったこと テストが “タイマーウェイト”で作られている ⇒ 転送レートが違うと転送サイズも変えないといけない ⇒ シリアルログを増やしたら全然パスしない(or 逆にパスする) Link
List を有効にしたら全然動かない ⇒ 何やら書き戻し処理が有効にしてる割には、 他の設定が全然足りてなさそう ⇒ このドライバ本当に動かした? ⇒ とりあえずいらないので無効にしたら動いた! これもPR チャンス? … いや、これは無効だと動かなくなると言われそうだから issue か? Understand more 2026/06/26
7 Summary 2026/06/26 利用例の少なさ 事例が少ないドライバにはバグが潜んでいる テストの妄信 テストスイートも事例が少ないと環境依存の可能性 鍛えること 新しい環境で動かして PR/Issue
を投げて鍛えるしかないですね...