Picoruby and PRK Firmware
Offered By: Ruby Central via YouTube
Course Description
Overview
Explore a conference talk from RubyConf 2021 that delves into PicoRuby, an alternative implementation of the mruby interpreter for one-chip microcontrollers, and PRK Firmware, the world's first keyboard firmware framework in Ruby. Learn how to write custom keymaps and configure additional behavior using Ruby's features like open class system and Proc objects. Discover the potential of Ruby as a scripting language for microcontrollers, comparable to MicroPython, CircuitPython, or Lua. Gain insights into keyboard building, including keycap selection and firmware installation. Witness demonstrations of Fibonacci sequences and password generators in keymap.rb. Understand the architecture, multitasking capabilities, and memory optimization techniques used in PicoRuby and PRK Firmware. Explore the challenges and solutions in creating a small Ruby compiler for embedded applications, including RAM consumption and memory allocation strategies.
Syllabus
Intro
When you build a keyboard You can choose Keycaps for appearance and touch
Keyboard firmware
e.g. prk_pipigherkin/keymap.rb
Install into the microcontroller
A new drive automatically mounted
Drag & drop keymap.rb
Demonstrations
Fibonacci in keymap.rb
Password generator in keymap.rb
Extend your keyboard
Micon of PRK Firmware
Ruby Association
Multitasking
Architecture
To make a small Ruby compiler mruby-compiler depends on mruby The main reason for big footprint
RAM consumption
hello_world.rb (20 bytes)
keymap.rb of meish2 (2388 bytes)
Summary
Depending on only libc and less glibc for desktop/server application newlib for embedded application
Padding in a struct
Paddings waste memomy
Pooled allocation
Taught by
Ruby Central
Related Courses
Performance Does - Not - MatterRuby Central via YouTube Solidarity not Charity and Collective Liberation
Ruby Central via YouTube Eclectics Unite - Leverage Your Diverse Background
Ruby Central via YouTube What Does "High Priority" Mean? The Secret to Happy Queues
Ruby Central via YouTube Splitting - The Crucial Optimization for Ruby Blocks
Ruby Central via YouTube