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にパッチ送ったら半年店晒しされた話
Search
soburi
November 13, 2021
Technology
0
96
zephyrにパッチ送ったら半年店晒しされた話
soburi
November 13, 2021
Tweet
Share
More Decks by soburi
See All by soburi
Zephyr RTOS Tutorial & MeetUp @ OSC2025Tokyo/Spring 駒澤大学種月館
tokitahiroshi
1
770
ZephyrRTOSざっくり入門
tokitahiroshi
2
370
ZephyrRTOSざっくり入門#2
tokitahiroshi
2
110
The_Features_of_ZephyrRTOS_and_the_project_operations.pdf
tokitahiroshi
1
32
KiCad 8.0 出ました。
tokitahiroshi
0
360
小江戸らぐ2024/2
tokitahiroshi
0
140
ZephyrRTOSで遊ぼう!
tokitahiroshi
0
560
AliEx系ラベルプリンター Phomemo P12を叩いてみる
tokitahiroshi
0
220
KiCadのGitLabを見たりWeblateで翻訳してみたりしてみる
tokitahiroshi
0
460
Other Decks in Technology
See All in Technology
会社紹介資料 / Sansan Company Profile
sansan33
PRO
6
370k
Tensix Core アーキテクチャ解説
tenstorrent_japan
0
340
CSSの最新トレンド Ver.2025
tonkotsuboy_com
11
4.5k
OCI Oracle Database Services新機能アップデート(2025/03-2025/05)
oracle4engineer
PRO
1
110
IAMのマニアックな話 2025を執筆して、 見えてきたAWSアカウント管理の現在
nrinetcom
PRO
3
380
vLLM meetup Tokyo
jpishikawa
1
180
Monorepo Error Management: Automated Runbooks and Team-Targeted Alert Distribution
biwashi
1
160
上長や社内ステークホルダーに対する解像度を上げて、より良い補完関係を築く方法 / How-to-increase-resolution-and-build-better-complementary-relationships-with-your-bosses-and-internal-stakeholders
madoxten
13
7.2k
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
5
38k
New Cache Hierarchy for Container Images and OCI Artifacts in Kubernetes Clusters using Containerd / KubeCon + CloudNativeCon Japan
pfn
PRO
0
140
バクラクのモノレポにおける AI Coding のための環境整備と {Roo,Claude} Code活用事例 / AI Coding in Bakuraku's Monorepo: Environment Setup & Case Studies with {Roo, Claude} Code
upamune
9
5.7k
新規プロダクト開発、AIでどう変わった? #デザインエンジニアMeetup
bengo4com
0
410
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
106
19k
Code Review Best Practice
trishagee
68
18k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
How to Ace a Technical Interview
jacobian
276
23k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.6k
Product Roadmaps are Hard
iamctodd
PRO
53
11k
Into the Great Unknown - MozCon
thekraken
39
1.8k
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.4k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
Facilitating Awesome Meetings
lara
54
6.4k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Transcript
Zephyrにパッチ出したら 半年店晒しにされた話 TOKITA Hiroshi
ZephyrRTOS https://zephyrproject.org/ Linux Foundationが推してるRTOS マイコン向けコンパクトなLinuxと いう雰囲気。
KconfigもDeviceTreeもあるよ! TCPもPOSIX互換もあるよ! そこらに転がってるマイコンも結 構対応している。 ucLinuxとか知ってる人には 「あんな感じ」
パッチ出してきた https://github.com/zephyrpr oject-rtos/zephyr/pull/34970 少し前に一部界隈で流行った Longan Nano を動かすパッチ。
内容としてはRISC-Vの新 CPU(GigaDevice GD32V対応) Bootの初期化コードとか 割り込みの初期化とか。 サンプル実装から適当にパ クッてOSのスタック初期化や 割り込みハンドラと辻褄合わ せるだけの簡単なお仕事?!
GigaDevice GD32V GigaDeviceはGD32というARMのCPUを販売してる。 GD32はS•M32の丸パクリのプロセッサ。 世界で一番売れてるSTM32F103の代替にできる。 当然ピンコンパチ
レジスタも互換なのでST•32のコードがほぼそのまま動く。 ただしデッドコピーではない。自前の互換実装。 GD32VはARMをRISCVに差し替えただけ。 ライセンス費を払わないので、さらにお安く! こんなんだから誰も怖くてパッチを出さない??????
経緯 昨年4月の技術書典に出したネタをGitHubに置いておく。 https://soburi.github.io/zephyr_porting_gd32v/ 内容は途中で途切れていて完結していないw 実質怪文書。 今年5月、何故かフランス語に翻訳される。 記事に書いた内容のパッチを出してないのも勿体ないので、
PR提出。 それから半年、すったもんだしながら停滞中…
パッチを出すと何故かみんな 似たようなパッチを出し始める。 同じメーカーの別のCPUに対応するパッチが続々と出てく る。 https://github.com/zephyrproject-rtos/zephyr/pull/39909 https://github.com/zephyrproject-rtos/zephyr/pull/40283
https://github.com/zephyrproject-rtos/zephyr/pull/36833 https://github.com/zephyrproject-rtos/zephyr/pull/38661 当然微妙に内容が被る→大乱闘
校舎裏^H^H^H Discordに呼び出される ちまちまPRの更新してたのだけど、埒が明かないので、 チャットで決着つけようぜ、となる。 ここに至るまで半年店晒し。 またパッチ書き直してるので、 もうしばらくでAcceptされるはず…
最新のIRC代替はDiscord。 GitterもSlackももう古い?
One More thing. https://www.switch-science.com/catalog/5703/ 似たようなCPUだったので、ついでに対応した。 VerilogがOSSになってる中国製RISCV実装の HummingBirdコアが乗っている。
https://github.com/Lichee-Pi/Tang_E203_Mini このLichee Tang ボードには 出荷時にHummingBirdコアのbitstreamが 書いてあるので、RISCV実装の教材みたいな感じ。 これも対応中。一緒にmainstreamに入れる予定。
まとめ マイコンいじるならZephyr良いよ! まだパッチも出しやすい状況だから みんなドライバ書こう! (ArduinoのI2C使えればPR出せる!)