Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
Writing mruby/c firmware applications is like writing mrbgems. You need to make some C functions and mruby wrapper of them in order to handle peripherals like sensor, flash memory or BLE. Easy to imagine it's hard to develop for a team in a situation of TIGHT COUPLING, right? I will talk about some tools, mrubyc-test and mrubyc-debugger, which I made with CRuby for testing and debugging to keep our team slack coupling. RubyKaigi 2019 https://rubykaigi.org/2019/presentations/hasumikin.html#apr19
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 Hitoshi Hasumi's presentation titled 'Practical mruby/c Firmware Development with CRuby,' delivered at RubyKaigi 2019, he introduces the development of firmware applications using mruby/c, a version of the mruby framework specifically designed for one-chip microcontrollers. The talk begins with a brief overview of mruby/c, explaining its compact design, which is suited for devices with limited resources, as it operates efficiently on microcontrollers with around 40 kilobytes of RAM. Key points discussed include: - **Comparison between mruby and mruby/c**: mruby/c is optimized for lower memory environments, while mruby is tailored for more substantial embedded systems. - **Development Process**: Hasumi outlines the firmware development process involving a peripheral API wrapper and business logic, highlighting the importance of maintaining a level of separation between these components to avoid tightly coupled code. - **Testing Challenges**: He emphasizes the lack of built-in testing tools for mruby/c initially, leading to the creation of the mruby/c test gem, enabling developers to write effective tests without depending on peripheral implementations. - **Stubbing in TDD**: The concept of stubbing is introduced as a solution for developing business logic independently from peripherals, understanding that certain peripheral features might still be under development. - **Demonstrations**: Practical demonstrations illustrate test cases for the string class in mruby/c, showing how tests can be accurately conducted even with unimplemented methods through stubbing. - **Debugging**: The talk covers debugging strategies within mruby/c applications, showcasing how breakpoints can be effectively used to monitor the state of the system during execution. - **Concurrency**: A discussion on creating threads for multitasking applications highlights the potential of mruby/c to handle multiple operations efficiently, similar to Ruby’s threading model. Hasumi concludes by reinforcing the value of these developments in establishing a new ecosystem for testing and debugging mruby/c applications. He emphasizes that, despite its limitations, mruby/c provides an effective means of resource utilization for embedded systems. He concludes with a personal touch, sharing his interests to connect with the audience. This engaging talk not only sheds light on practical aspects of firmware development with mruby/c but also encourages developers to embrace test-driven approaches and debugging strategies to enhance their workflow.
Suggest modifications
Cancel