Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
There are different approaches to make an operating system. I take an approach which takes advantage of mruby/c's VM then makes my own mruby compiler and shell program. Though my purpose is making an useful and effective development platform for microcontroller with Ruby, I will also share some universal knowledge on how to make an OS with you.
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
In the video titled "mruby machine: An Operating System for Microcontroller," speaker Hitoshi Hasumi presents his innovative approach to creating an operating system tailored for microcontrollers using the Mruby virtual machine. The session, part of the RubyKaigi Takeout 2020 event, explores the integration of a mini Mruby compiler (MMRBC) and the MRuby VM to facilitate effective development on microcontroller platforms. Key points discussed include: - **Background of the Project**: Hasumi highlights the limitations of existing solutions like MicroPython, particularly in terms of memory requirements for microcontrollers. He focuses on developing a small MRuby compiler to address these challenges. - **Microcontroller Target**: He specifies the PSoC 5LP microcontroller, characterized by its ARM processor, 64 KB of RAM, and 256 KB of ROM, emphasizing the project's goal to run a Ruby compiler on it. - **Technical Stack and Tools**: The speaker introduces important tools and technologies, including MRBC (a command line tool of the MRuby compiler) and MMRBC (Mini MRuby Compiler), along with various cross-compilation tools for ARM architecture. - **Toolchain and Libraries**: Hasumi elaborates on different toolchains used in the project, including GCC and EABI tools, and discusses the advantages of using lightweight C libraries like newlib over larger alternatives like GNU C Library. - **Parser Generators**: The presentation includes insights into the parser generator Lemon, its advantages over alternatives like YACC and Bison, and its relevance to memory efficiency and code size. - **Memory Efficiency and Performance**: In a comparative analysis of RAM consumption between MRBC and MMRBC, Hasumi demonstrates significant improvements—MMRBC uses only 11 KB to compile a basic "hello world" script compared to MRBC's 157 KB, showcasing the potential for microcontroller applications. - **Syntax and Capabilities**: He reviews the syntax supported by MMRBC and outlines plans for future enhancements, indicating that MMRBC can support various Ruby features while targeting minimal resource utilization. - **Conclusions**: The talk concludes with a summary emphasizing the integration of MMRBC, MRBC, shell programs, and hardware drivers to build a comprehensive development environment for microcontrollers. Hasumi expresses hope for further discussions on related topics in the future. This session provided valuable insights into building efficient operating systems for constrained environments and illustrated the capabilities of Ruby in embedded systems programming.
Suggest modifications
Cancel