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
81
zephyrにパッチ送ったら半年店晒しされた話
soburi
November 13, 2021
Tweet
Share
More Decks by soburi
See All by soburi
KiCad 8.0 出ました。
tokitahiroshi
0
300
小江戸らぐ2024/2
tokitahiroshi
0
97
ZephyrRTOSで遊ぼう!
tokitahiroshi
0
340
AliEx系ラベルプリンター Phomemo P12を叩いてみる
tokitahiroshi
0
98
KiCadのGitLabを見たりWeblateで翻訳してみたりしてみる
tokitahiroshi
0
330
Pico-SDK1.5.0, Zephyr v3.3.0 が出ました。
tokitahiroshi
0
350
F3rdXへの行き方
tokitahiroshi
0
640
WCH CH32V307VをZephyrで試す
tokitahiroshi
0
510
ZephyrRTOSのLongan Nanoへの移植
tokitahiroshi
0
780
Other Decks in Technology
See All in Technology
ZOZOのデータマネジメントの取り組み:これまでとこれから / ZOZO's Data Management Initiatives
takagiyudai
0
170
AWS CDKで大量のパラメータストアを作りたい
haku__hime
1
120
エンジニアのドメイン知識獲得コストを低減するアプリケーションデザイン
ryo_nagata_
3
180
生成AI、LLMの いまさら聞けないキホンのキ!/ Generative AI and LLM 101
gakumura
1
170
LeSS Yoake 2024 スポンサーセッション
riki_hiraoka
0
240
API開発健全性 〜 持続可能で高品質なAPIのためのアプローチ 〜
nagix
2
140
実は仲良し?Amplify Gen2と生成AI
mkdev10
1
180
最新のAIツールは何を解決しようとしているのか - Python エンジニアが取り組むべき "越境" とは - / Python-Engineer-in-AI-Era
iktakahiro
1
110
生成AI入門
shukob
0
170
20241017_俺たちは雰囲気で scope をやっているけどもうちょっとなんとかならんのか?
tokai235
0
420
JPOUG_10_20241018_OracleDB_AWS_v1.3.pdf
asahihidehiko
1
200
MobileActOsaka_241018.pdf
akaitadaaki
0
120
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1365
200k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
43
6.6k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
Code Reviewing Like a Champion
maltzj
519
39k
How STYLIGHT went responsive
nonsquared
95
5.1k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Intergalactic Javascript Robots from Outer Space
tanoku
268
27k
Done Done
chrislema
181
16k
Writing Fast Ruby
sferik
626
60k
Testing 201, or: Great Expectations
jmmastey
38
7k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
Building Your Own Lightsaber
phodgson
102
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出せる!)