Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
2020 - MOPCON - 拿到錘子的我想在為控制器上實作 Ruby VM
蒼時弦や
October 24, 2020
Programming
0
37
2020 - MOPCON - 拿到錘子的我想在為控制器上實作 Ruby VM
蒼時弦や
October 24, 2020
Tweet
Share
More Decks by 蒼時弦や
See All by 蒼時弦や
elct9620
0
47
elct9620
1
370
elct9620
1
250
elct9620
1
38
elct9620
0
32
elct9620
0
160
elct9620
0
53
elct9620
1
110
elct9620
0
140
Other Decks in Programming
See All in Programming
mizotake
0
110
grapecity_dev
0
170
oleindesign
1
200
itok
1
480
neripark
3
620
grapecity_dev
0
170
mihyaeru21
0
360
bells17
0
360
meemeelab
0
280
legalforce
PRO
0
610
hanasuke
1
310
mploed
3
160
Featured
See All Featured
chriscoyier
498
130k
vanstee
117
4.9k
cassininazir
347
20k
jakevdp
774
200k
matthewcrist
73
7.5k
keavy
107
14k
maltzj
501
36k
thoeni
3
590
kastner
54
1.9k
bryan
31
3.4k
mojombo
358
62k
deanohume
294
28k
Transcript
拿到錘⼦的我想 在微控制器上⾯執⾏ Ruby Photo by Johannes Plenio from Pexels
WEB DEVELOPER GAME DEVELOPER ࣌ ݭ @elct9620
None
None
Background
None
None
Virtual Machine
In computing, a virtual machine (VM) is an emulation of
a computer system. - Wikipedia
Process virtual machines are designed to execute computer programs in
a platform-independent environment. - Wikipedia
Compiler Source Code Executable
Compiler Source Code Ruby VM
https://bit.ly/2T4BCiG
Getting Started
https://bit.ly/3ojwEwX
None
None
None
None
IREP
An intermediate representation (IR) is the data structure or code
used internally by a compiler or virtual machine to represent source code. - Wikipedia
app.mrb RITE Header IREP Debug Section
IREP ISEQ Pools Symbols IREP
mrb_exec
None
Load Variable
None
None
mruby is designed for Embedded System which is Raspberry Pi,
but mruby-L1VM's target is run under 1KB RAM
Behind VM
None
None
None
None
None
None
None
Hardware
Development Board is made software developer easier to build an
application with hardware
The SDK for Development Board usually based on C or
C++, which means it is possible to run Golang, Ruby, or Python on it.
The hardest for developers is no hardware knowledge to write
their driver for their hardware
Hardware Abstraction Layer
https://bit.ly/3kiNzxf
https://bit.ly/3mcdLdu
None
None
None
Conclusion