ROM: the final frontier of mruby
summary
mruby is restructured so class data, symbol tables and some bytecode live in Flash ROM instead of RAM reducing runtime memory pressure and letting mruby run on boards like Nucleo F401RE and M5Stack while still driving joystick, display and buzzer. implementation extracts symbols to JSON, runs gperf + JSON → C const tables and links them into ROM, yielding about 20% memory reduction now and promising much more when IREP-in-ROM reduces RAM further but mruby 2.0 ABI and static C symbols still block a drop‑in approach.
AI-written summary · about
chapters (10)
- 0:00Introduction and context
- 2:03Overview of mruby
- 5:37Architecture and updates
- 7:16Memory constraints
- 10:28The RAM-ROM trade-off
- 14:16Technical implementation
- 17:46Symbol tables and initialization
- 20:17Optimization techniques
- 22:58Future development
- 26:18Conclusion
related talks
29mWhat's happening when initializing mruby?
33mmruby on the minimal embedded resource
29mmake mruby more portable: Why and How
24mRuby in the 8 Bit World - A Small mruby VM for the Zilog Z80
33mmruby/c: Running on Less Than 64KB RAM Microcontroller
36m(m)Ruby on small devices
35mmRuby meets iOS and RTOS
30mRuby on NES - how to make the smallest ruby ever
