Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
zephyrにパッチ送ったら半年店晒しされた話
Search
soburi
November 13, 2021
Technology
150
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
zephyrにパッチ送ったら半年店晒しされた話
soburi
November 13, 2021
More Decks by soburi
See All by soburi
Community Activities In Japan
tokitahiroshi
0
120
ZephyrでWASMを動かして起きる色々なこと
tokitahiroshi
0
260
OSSJ CFP提出反省会
tokitahiroshi
0
210
Zephyr RTOS Tutorial & MeetUp @ OSC2025Tokyo/Spring 駒澤大学種月館
tokitahiroshi
1
1.2k
ZephyrRTOSざっくり入門
tokitahiroshi
4
1.5k
ZephyrRTOSざっくり入門#2
tokitahiroshi
3
360
The_Features_of_ZephyrRTOS_and_the_project_operations.pdf
tokitahiroshi
1
160
KiCad 8.0 出ました。
tokitahiroshi
0
470
小江戸らぐ2024/2
tokitahiroshi
0
230
Other Decks in Technology
See All in Technology
FinOps Agentが生んだ技術負債:コスト自動調査の落とし穴と解消までの道のり
oasis1994liveforever
2
150
USB PDを使ってスマホを労わりたい
raspython3
0
180
オントロジーって 結局なにもの? AI エージェントに「意味」を渡す知識設計の話
greenmidori
0
240
AIカンパニーへの転換を支えた、エンジニアの仕事の再定義
kworkdev
PRO
2
1.3k
大型犬好きによるPugの紹介
yamanoku
1
160
NDIでApple Vision Proにリアルタイム映像送信
jyouryuusui
0
130
古い指輪から広がった JAVA コミュニティ とのつながり
yamad
0
130
Rust で関数型ドメインモデリング
takonda
0
170
データエンジニアの次の戦場は "プロセスエンジニアリング"
sansantech
PRO
1
120
コンテナ運用におけるネットワーク・コンテナコストの削減方法/How to Reduce Network and Container Costs in Container Operations
masakiokuda
2
310
⾮構造化データを価値に変える AI エージェント基盤とその組織
ivry_presentationmaterials
0
200
PagerDuty Tech Hub-鳴らすけれど、人は動かない
ezaki
0
180
Featured
See All Featured
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
480
Are puppies a ranking factor?
jonoalderson
2
4.1k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
570
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Being A Developer After 40
akosma
92
590k
For a Future-Friendly Web
brad_frost
184
10k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.5k
エンジニアに許された特別な時間の終わり
watany
109
250k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
430
My Coaching Mixtape
mlcsv
0
360
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
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出せる!)