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
mikroBus HAT を用いた簡易ベアメタル開発
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
tarotene
November 09, 2024
Technology
680
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
mikroBus HAT を用いた簡易ベアメタル開発
tarotene
November 09, 2024
More Decks by tarotene
See All by tarotene
プログラミング言語 Rust によるベアメタル環境向け SW 開発の一側面
tarotene
0
220
Other Decks in Technology
See All in Technology
モノリス Rails でも日中に rails db:migrate を走らせたい! / Daytime rails db:migrate on Monolithic Rails!
euglena1215
4
580
ホームラボ紹介
y_sera15
0
180
オートロックマンションなのに、各部屋は施錠なし!? 攻撃者が組織内ネットワークで大暴れする理由 / The Front Door Is Locked, but the Rooms Are Wide Open: Why Attackers Move Freely Inside Enterprise Networks
nttcom
1
5.8k
JavaScript 研修 (2026)
recruitengineers
PRO
2
550
【CEDEC2026】『ウマ娘 プリティーダービー』 英語版のキャラクターの方言や口調をローカライズするための創造的アプローチ
cygames
PRO
2
970
【AG-UI × A2UI × MCP Apps】Generative UIをやさしく解説する
nrinetcom
PRO
1
120
つくって納得、つかって実感! 大規模言語モデルことはじめ ver2.0
recruitengineers
PRO
4
1.7k
Goでデータパイプラインを作ろう
sansantech
PRO
1
460
Digitization部 紹介資料
sansan33
PRO
2
7.7k
FPGAが実現する遠方宇宙の高空間分解能天体撮影 -大型地上望遠鏡の視力を補正する「補償光学」とは?-
komei_mt
0
250
カートの信頼性を担保するWireMockを使ったe2eテスト
ykagano
0
300
【Google Cloud Next Tokyo'26】Gemini Enterprise と Oracle AI Database で実現する、業務データ活用を実現する AI エージェント実装
shisyu_gaku
0
250
Featured
See All Featured
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
520
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
360
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Fireside Chat
paigeccino
42
4k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
370
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
2
3.8k
Crafting Experiences
bethany
1
250
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
200
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
330
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.4k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
170
Transcript
Kentaro Sugimoto (tarotene) / Kernel/VM探検隊@北陸 Part7 mikroBus HAT を用いた簡易ベアメタル開発 Embedded
Rust Driver Made Easy
自己紹介 お手柔らかにお願いします 🙏 • 氏名: 杉本 健太朗 (すぎもと けんたろう) •
所属: ArkEdge Space Inc. • Kernel/VM 系は初参加 • ポートフォリオ / X は WIP Follow me
mikroBus HAT For STM32F4 Discovery Board • mikroBus HAT: MIKROE
が出している mikroBUS 準拠なソケットが たくさん付いた Hardware Attached on Top (HAT) • mikroBUS とは • MIKROE が定めた評価ボー ド同士のソケットの規格 • cf. seeed のアレとか
mikroBus HAT For STM32F4 Discovery Board • mikroBus HAT: MIKROE
が出している mikroBUS 準拠なソケットが たくさん付いた Hardware Attached on Top (HAT) • mikroBUS とは • MIKROE が定めた評価ボー ド同士のソケットの規格 • cf. seeed のアレとか
Thermo 30 Click STS-32-DIS-10KS • Thermo 30 Click: MIKROE が出している
mikroBUS な add-on 用 Click Board.I2C で通信. • 今日はこれをソケットに挿してテストしてみ る. • HAT 側のソケット番号(1-4)忘れたり間違 えたりピンアサインからやり直し • ピンアサインの変わり方は HAT 全体で 見れば決定論的なので上手く as a code するくらいはできそう. • ちょっとやればホットスワップもできそう. • 温度センサなので常に意味のある値がそれなりの ゆらぎで取れる(雑な実験に最適).
Thermo 30 Click STS-32-DIS-10KS • ソースコードはこちらに: https://github.com/tarotene/ sts32-33-dis • 使用したライブラリなど
• bitfield_struct • レジスタマップの as a code にはよく利用する • embedded-hal (v1.x.y) • マルチドロップ環境でバス共有 の仕組みが比較的良い感じ
Thermo 30 Click STS-32-DIS-10KS • ソースコードはこちらに: https://github.com/tarotene/ sts32-33-dis • 使用したライブラリなど
• bitfield_struct • レジスタマップの as a code にはよく利用する • embedded-hal (v1.x.y) • マルチドロップ環境でバス共有 の仕組みが比較的良い感じ
Thermo 30 Click STS-32-DIS-10KS (Sensiron の Datasheet STS3x-DIS より)
閑話休題 / Tips 着実にドライバ開発を進める方法 • デバイス(センサ・アクチュエータ)が持つ性 質の volatility/ambiguity に着目して順にやる •
恒久的に不変: シリアルナンバーなど • 一定の論理制約のもとで不変: 設定値など • 不変性を保証できない: 測定値など • Prinf 文デバッグ(大粒度極限)とデバッガに よる step 実行(小粒度極限)の間で上手く開 発者体験を調節する • シリアル端末の埋込み • rust-embedded-community/ menu • funbiscuit/embedded-cli-rs
そういうわけで、 雑に動かしてみる
None
Follow me