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
730
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
0
66
ついに生産が終わったけどZ80でまだまだ遊びたい
koba789
5
4.3k
ISUCONの練習を楽しくたくさんやる方法
koba789
2
1.3k
Z80をRustで動かすまで年が越せない
koba789
0
210
ISUCON練習環境を最も簡単に用意する方法
koba789
2
3.2k
音をアレする
koba789
0
920
メガネとBluetooth Low Energyでお喋りする
koba789
0
1.6k
Rustでon-diskなB+Treeを作ったときの細かな話
koba789
11
1.9k
音の出るCPUを作っている途中
koba789
5
4.7k
Other Decks in Technology
See All in Technology
みんなのSRE 〜チーム全員でのSRE活動にするための4つの取り組み〜
kakehashi
PRO
2
140
마라톤 끝의 단거리 스퍼트: 2025년의 AI
inureyes
PRO
1
680
家族の思い出を形にする 〜 1秒動画の生成を支えるインフラアーキテクチャ
ojima_h
1
330
Claude Codeが働くAI中心の業務システム構築の挑戦―AIエージェント中心の働き方を目指して
os1ma
9
1.5k
20250728 MCP, A2A and Multi-Agents in the future
yoshidashingo
1
210
AIエージェントを現場で使う / 2025.08.07 著者陣に聞く!現場で活用するためのAIエージェント実践入門(Findyランチセッション)
smiyawaki0820
6
570
風が吹けばWHOISが使えなくなる~なぜWHOIS・RDAPはサーバー証明書のメール認証に使えなくなったのか~
orangemorishita
15
5.4k
GMOペパボのデータ基盤とデータ活用の現在地 / Current State of GMO Pepabo's Data Infrastructure and Data Utilization
zaimy
3
190
私とAWSとの関わりの歩み~意志あるところに道は開けるかも?~
nagisa53
1
160
Claude Codeから我々が学ぶべきこと
s4yuba
6
1.8k
AI によるドキュメント処理を加速するためのOCR 結果の永続化と再利用戦略
tomoaki25
0
390
2時間で300+テーブルをデータ基盤に連携するためのAI活用 / FukuokaDataEngineer
sansan_randd
0
130
Featured
See All Featured
Bash Introduction
62gerente
614
210k
Building Applications with DynamoDB
mza
95
6.5k
Why Our Code Smells
bkeepers
PRO
337
57k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
870
Embracing the Ebb and Flow
colly
86
4.8k
A Tale of Four Properties
chriscoyier
160
23k
The Invisible Side of Design
smashingmag
301
51k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
How to train your dragon (web standard)
notwaldorf
96
6.1k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.8k
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
͠Γ͖ΕͱΜ΅