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
Keyboard Firmware in Rust
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
KOBA789
July 03, 2019
Technology
810
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Keyboard Firmware in Rust
https://rust.connpass.com/event/133657/
KOBA789
July 03, 2019
More Decks by KOBA789
See All by KOBA789
8bit CPU 2026
koba789
7
3.3k
メモリが足らない2026
koba789
4
2.7k
直接メモリアクセス
koba789
0
880
人工衛星のファームウェアをRustで書く理由
koba789
16
10k
令和最新版手のひらコンピュータ
koba789
14
9.8k
時の流れが許せない
koba789
0
7.5k
ついに生産が終わったけどZ80でまだまだ遊びたい
koba789
5
4.9k
ISUCONの練習を楽しくたくさんやる方法
koba789
3
1.6k
Z80をRustで動かすまで年が越せない
koba789
0
510
Other Decks in Technology
See All in Technology
複雑な業務システムを高速でつくるため、チーム全員をつくれる人へ
ayakurabuchi
0
110
AI時代、つくる力を自分たちの手に。 ──電通×KAG、アジャイルとAI駆動開発で挑む開発の変革
yuukiyo
3
440
AIに任せられるFlutterコードベースを作る 〜仕様をコードで表し、ハーネスで守る〜
myohei
1
580
ひとりで始めた AI駆動開発、チームに広げて何が変わったのか
kenichiodo
1
170
キヨさん、67歳。AIコーディングエージェントに挑む
happysamurai294
0
130
Vue.jsのGitHubから学ぶ意思決定
yut0naga1_fa
1
350
Flutter Webを「SDK」として配る — 50以上のゲームを支える埋め込みアーキテクチャ
masayukisuda
0
160
LLMの知識とAIエージェント
happysamurai294
0
140
データマネジメント × 法務で作りあげる、 freeeの新しいデータガバナンスへの軌跡
freee
PRO
2
590
Maestro MCPとClaude Code Skillsによる自律的なE2Eテスト支援
asmz
0
390
Autonomous AI Lakehouse - Live AI Hubから始めるセキュアなAIデータ活用 -
oracle4engineer
PRO
2
180
Adversary Infrastructure Hunting101
disconinja
0
180
Featured
See All Featured
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
520
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
1.1k
WCS-LA-2024
lcolladotor
0
940
Embracing the Ebb and Flow
colly
88
5.2k
Done Done
chrislema
187
17k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
440
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
540
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
600
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.9k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.4k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
470
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
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
͠Γ͖ΕͱΜ΅