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
71
zephyrにパッチ送ったら半年店晒しされた話
soburi
November 13, 2021
Tweet
Share
More Decks by soburi
See All by soburi
KiCad 8.0 出ました。
tokitahiroshi
0
150
小江戸らぐ2024/2
tokitahiroshi
0
53
ZephyrRTOSで遊ぼう!
tokitahiroshi
0
190
AliEx系ラベルプリンター Phomemo P12を叩いてみる
tokitahiroshi
0
57
KiCadのGitLabを見たりWeblateで翻訳してみたりしてみる
tokitahiroshi
0
200
Pico-SDK1.5.0, Zephyr v3.3.0 が出ました。
tokitahiroshi
0
230
F3rdXへの行き方
tokitahiroshi
0
470
WCH CH32V307VをZephyrで試す
tokitahiroshi
0
400
ZephyrRTOSのLongan Nanoへの移植
tokitahiroshi
0
630
Other Decks in Technology
See All in Technology
MLOpsの「壁」を乗り越える、LINEヤフーの Data Quality as Code
lycorptech_jp
PRO
5
520
DevOpsDays History and my DevOps story
kawaguti
PRO
9
2.5k
ここが嬉しいABAC ここが辛いよABAC #再解説+補足編
masahirokawahara
1
270
プロンプトエンジニアリングでがんばらない-Agentic Workflow へ-近藤憲児
kenjikondobai
2
530
いつか使うかも貯金してたらめちゃめちゃ機能が増えてた話
riyaamemiya
0
140
複雑な構成要素を持つUIとの向き合い方 〜新・支出グラフでの実例〜 / B43 TECH TALK
nakamuuu
0
140
Google Cloud Next '24でブログを10本書いた方法と勉強会を沸かせた方法
yasumuusan
0
290
web-application-security
matsuihidetoshi
0
170
require(ESM)とECMAScript仕様
uhyo
3
640
ServiceNow Knowledge Learning Rise up
manarobot
0
210
非同期推論システムによるコスト削減と信頼性向上
koki_nishihara
0
250
Python と Snowflake はズッ友だょ!~ Snowflake の Python 関連機能をふりかえる ~
__allllllllez__
1
120
Featured
See All Featured
Pencils Down: Stop Designing & Start Developing
hursman
117
11k
The Illustrated Children's Guide to Kubernetes
chrisshort
31
46k
Automating Front-end Workflow
addyosmani
1356
200k
Docker and Python
trallard
34
2.7k
Designing for Performance
lara
601
67k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
322
20k
Product Roadmaps are Hard
iamctodd
44
9.7k
Atom: Resistance is Futile
akmur
259
25k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
121
39k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
14
1.6k
For a Future-Friendly Web
brad_frost
172
9k
Fireside Chat
paigeccino
21
2.6k
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出せる!)