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
Keyboard Firmware in Rust
Search
KOBA789
July 03, 2019
Technology
0
740
Keyboard Firmware in Rust
https://rust.connpass.com/event/133657/
KOBA789
July 03, 2019
Tweet
Share
More Decks by KOBA789
See All by KOBA789
令和最新版手のひらコンピュータ
koba789
14
8k
時の流れが許せない
koba789
0
120
ついに生産が終わったけどZ80でまだまだ遊びたい
koba789
5
4.4k
ISUCONの練習を楽しくたくさんやる方法
koba789
2
1.3k
Z80をRustで動かすまで年が越せない
koba789
0
250
ISUCON練習環境を最も簡単に用意する方法
koba789
2
3.3k
音をアレする
koba789
0
950
メガネとBluetooth Low Energyでお喋りする
koba789
0
1.6k
Rustでon-diskなB+Treeを作ったときの細かな話
koba789
11
1.9k
Other Decks in Technology
See All in Technology
人と組織に偏重したEMへのアンチテーゼ──なぜ、EMに設計力が必要なのか/An antithesis to the overemphasis of people and organizations in EM
dskst
6
630
モダンな現場と従来型の組織——そこに生じる "不整合" を解消してこそチームがパフォーマンスを発揮できる / Team-oriented Organization Design 20250825
mtx2s
6
650
Yahoo!広告ビジネス基盤におけるバックエンド開発
lycorptech_jp
PRO
1
280
Claude Code x Androidアプリ 開発
kgmyshin
1
600
LLMエージェント時代に適応した開発フロー
hiragram
1
420
Jaws-ug名古屋_LT資料_20250829
azoo2024
3
120
実践アプリケーション設計 ③ドメイン駆動設計
recruitengineers
PRO
7
700
kintone開発チームの紹介
cybozuinsideout
PRO
0
73k
どこで動かすか、誰が動かすか 〜 kintoneのインフラ基盤刷新と運用体制のシフト 〜
ueokande
0
190
事業価値と Engineering
recruitengineers
PRO
3
930
Goss: New Production-Ready Go Binding for Faiss #coefl_go_jp
bengo4com
0
1.1k
帳票Vibe Coding
terurou
0
140
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
570
[RailsConf 2023] Rails as a piece of cake
palkan
56
5.8k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
The Language of Interfaces
destraynor
160
25k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
The Cult of Friendly URLs
andyhume
79
6.5k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
780
Visualization
eitanlees
147
16k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.6k
Transcript
ࣗ࡞ΩʔϘʔυͷ ϑΝʔϜΣΞΛ 3VTUͰॻ͘ KOBA789
,0#" w ΫοΫύουגࣜձٕࣾज़෦σʔλج൫άϧʔϓ w ϝΠϯͷࣄେྔͷσʔλΛ͍͍ײ͡ʹ͢Δ͜ͱ ͱ͍͏͜ͱʹͳ͍ͬͯΔ w ࣮ࡍ͓͠Ζͦ͏ͳ͜ͱΛͳΜͰ͍ͬͯΔ w
ݱࡏ৽ଔ
ࣗ࡞ΩʔϘʔυ
None
࠷ۙ<͍ͭ >ਓؾͳझຯ<ཁग़య>
https://techlife.cookpad.com/entry/2018/08/14/172130
ฐࣾʹͨ͘͞ΜͷѪՈ͕
Ͱɺ
https://internship.cookpad.com/2019/spring/
Πϯλʔϯγοϓ ࣗ࡞ΩʔϘʔυίʔε
None
څྉΒͬͯࣗ࡞ΩʔϘʔυΛ Δ͜ͱʹͳͬͯ͠·ͬͨ
͑Β͍ਓʮόζΒ͍ͤͨʯ Զʮ͡Ό͋ΧϦΩϡϥϜաܹʹʯ
݁Ռ
wΜ͚ͩͪΖΜΔ w؆୯ͳిࢠճ࿏Δ wϓϦϯτج൘ͷઃܭΔ wϑΝʔϜΣΞ3VTUͰॻ͘
ϑΝʔϜΣΞ 3VTUͰॻ͘
1SP.JDSP https://www.switch-science.com/catalog/1623/ ࣗ࡞ΩʔϘʔυͰҰൠత
1SP.JDSPͷੴ"5NFHB6 "5NFHB6"73
3VTUͰ"73ͩΔ͍
ΈࠐΈ3VTU͓͢͢Ί $PSUFY.γϦʔζ "3. 3*4$7͡Όͳͯ͘͝ΊΜͳ
௨শCMVFQJMM w 45.'$͕ͬͯΔ w 45.'$$PSUFY. w 3".,# w $16$MPDLVQUP.)[ w
'MBTI,# ࣮ࡍͳ͔ͥ,# https://wiki.stm32duino.com/index.php?title=File:STM32_Blue_Pill_perspective.jpg
௨শCMVFQJMM ͓͍͘Βͩͱࢥ͍·͔͢ https://wiki.stm32duino.com/index.php?title=File:STM32_Blue_Pill_perspective.jpg
௨শCMVFQJMM https://wiki.stm32duino.com/index.php?title=File:STM32_Blue_Pill_perspective.jpg
։ൃͷͨΊͷπʔϧ
͍͍ͩͨ 5IF&NCFEEFE3VTU#PPL ʹॻ͍ͯ͋ΔͷͰলུ
ͱ͘ʹศརͳͷΛհ
#MBDL.BHJD1SPCF w 1SPHSBNNFS%FCVHHFS w ιϑτΣΞΦʔϓϯιʔε w ϋʔυΣΞCMVFQJMMͳͲ͕͑Δ w ࢲCMBDLQJMMΛͬͯ࡞ͬͨ w
ϑϦεΫέʔεͰ͍͍ײ͡
None
cargo runͰ͖Δ ຊೋ Demo
HEC͑Δ ϒϨʔΫϙΠϯτషΕΔ ϝϞϦμϯϓͰ͖Δ
println!Ͱ͖Δ Demo
cortex_m_semihosting
ΈࠐΈϓϩάϥϛϯάͰ ආ͚ΒΕͳ͍ͷ
पลػثϖϦϑΣϥϧ
ϖϦϑΣϥϧͷػೳݺͼग़͠ ϨδελΞΫηε
ΞηϯϒϦ /P
JO$ ϝʔΧʔ͕ϥΠϒϥϦΛఏڙ JO3VTU ศརΫϨʔτ͕͋Δ
TWESVTU wΈΜͳ͍͖ͩ͢ίʔυδΣωϨʔλ wσόΠεఆٛϑΝΠϧTWE͔Β wϨδελΞΫηεؔͷίʔυΛు͘
TUNG wTWESVTUͰు͔ΕͨίʔυΛ w͍͍ײ͡ʹௐͨ͠ΫϨʔτ wTUNGͰ͑Δ
-νΧͱ͔Ͱ͖Δ
None
͔͠͠ɺ
ΩʔϘʔυͳͷͰ 64#)*%Λ ͠ΌΒͳ͍ͱ͍͚ͳ͍
ϨδελΛݸୟ͘͘Β͍Ͱ 64#͠ΌΕͳ͍
ް͍64#ͷ༷ॻͱ ް͍64#)*%ͷ༷ॻͱ Ϋιް͍45.ͷ༷ॻΛಡΜͰ దͳϨδελɾϝϞϦΛ ͨ͘͞ΜಡΈॻ͖͢ΔίʔυΛॻ͘ඞཁΞϦ
࣮͠·ͨ͠
64#)*%࣮Γ͔ͨ w 64#ͷ༷ΛಡΉ w 64#)*%$MBTTͷ༷ΛಡΉ w 45.'ͷϚχϡΞϧΛಡΉ w ͕ۭ݀͘΄ͲಡΉ w
MJCPQFODNͷίʔυΛࢀߟʹ͢Δ w 3VTUͰॻ͘ˠϩδΞφͰݟΔˠ͢ w ҎԼ܁Γฦ͠
ԶӦۀ͘Β͍͔͔ͬͨ
͜͜ͰϩδΞφ Demo
3VTUؔͳ͍ؾ͕͢Δͳ
ίʔυยΛͪΐͬͱհ
64#ͷ௨৴Ͱ͏όοϑΝ
https://www.stmcu.jp/design/document/reference_manual/51428/ IUUQTXXXTUNDVKQEFTJHOEPDVNFOUSFGFSFODF@NBOVBM
͜ΕΛ͍͍ײ͡ʹϞσϦϯά
None
VolatileCell
VolatileCell w ϝϞϦͷWPMBUJMFΞΫηεΛ w ͍͍ײ͡ʹ͢ΔϥΠϒϥϦ w std::ptr::read_volatileͱ͔unsafeͰࠔΔ
MJCPQFODNΛ ࢀߟʹ͕ͨ͠ʜʜ
3VTUಛ༗ͷ͠͞ w ϓϩτίϧͷ࣮εςʔτϚγϯʹͳΓ͕ͪ w εςʔτΛܕ҆શʹ͢Δͷͪΐͬͱίπ͕͍Δ w งғؾͰߏ࡞Δͱ్தͰ٧Ή w ݩͷ࣮ΛಡΜͰ $ͷࡶ͞ʹΩϨΔ
None
None
͠Γ͖ΕͱΜ΅