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
tarotene
November 09, 2024
Technology
0
360
mikroBus HAT を用いた簡易ベアメタル開発
tarotene
November 09, 2024
Tweet
Share
More Decks by tarotene
See All by tarotene
プログラミング言語 Rust によるベアメタル環境向け SW 開発の一側面
tarotene
0
42
Other Decks in Technology
See All in Technology
[CV勉強会@関東 ECCV2024 読み会] オンラインマッピング x トラッキング MapTracker: Tracking with Strided Memory Fusion for Consistent Vector HD Mapping (Chen+, ECCV24)
abemii
0
230
Application Development WG Intro at AppDeveloperCon
salaboy
0
200
Storybook との上手な向き合い方を考える
re_taro
5
1.2k
Chasing the White Whale of Open Source - ROI
mrbobbytables
0
100
適材適所の技術選定 〜GraphQL・REST API・tRPC〜 / Optimal Technology Selection
kakehashi
1
710
DynamoDB でスロットリングが発生したとき/when_throttling_occurs_in_dynamodb_short
emiki
0
270
iOSチームとAndroidチームでブランチ運用が違ったので整理してます
sansantech
PRO
0
150
組織成長を加速させるオンボーディングの取り組み
sudoakiy
2
220
エンジニア人生の拡張性を高める 「探索型キャリア設計」の提案
tenshoku_draft
1
130
テストコード品質を高めるためにMutation Testingライブラリ・Strykerを実戦導入してみた話
ysknsid25
7
2.7k
OCI Security サービス 概要
oracle4engineer
PRO
0
6.5k
『Firebase Dynamic Links終了に備える』 FlutterアプリでのAdjust導入とDeeplink最適化
techiro
0
170
Featured
See All Featured
Bash Introduction
62gerente
608
210k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
109
49k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Designing for Performance
lara
604
68k
A better future with KSS
kneath
238
17k
Documentation Writing (for coders)
carmenintech
65
4.4k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.3k
A Philosophy of Restraint
colly
203
16k
Optimizing for Happiness
mojombo
376
70k
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