mruby/c(エムルビー・スラッシュ・シー)は、オブジェクト指向スクリプト言語「Ruby」を組み込みシステム向けに軽量化した「mruby」よりプログラム実行時に必要なメモリ消費量が少ないプログラミング言語処理系である。プログラム実行時に必要なメモリ消費量は約40KBと少なく、リソースに制約のあるワンチップマイコン上でも動作する。 国立大学法人九州工業大学(田中和明准教授)としまねソフト研究開発センターの共同研究によって開発され、オープンソースライセンスの3条項BSDライセンスに基づきオープンソースとして公開されている。
概要 mruby/cは、プログラミング言語「Ruby」の高い開発生産性と優れた可読性を特徴を継承した組み込みシステム開発向けの軽量なRuby実装である。プログラム実行時に必要なメモリ消費量が約40KBと非常に少なく、リソースに制約のあるワンチップマイコン上でも動作する。そのため、センサーネットワークやウェアラブルデバイスなどの小型IoT機器のソフトウェア開発、既存デバイスへのDSL(ドメイン固有言語)追加に適している。
特徴 主な特徴として以下が挙げられる。 高い開発生産性:Rubyの持つ生産性・表現力の高さを引き継ぐ。C言語と比べて短いステップで実装可能。 小さなマイコンで動作:省電力・OSを使わず高速起動。電池駆動を実現。 コンカレントな動作:複数のプログラムを同時に実行可能。複数のプログラマが独立してコーディングが可能。
mrubyとmruby/cの比較 mruby/cmrubyメモリサイズ< 40KB< 250KBターゲットワンチップ・マイクロコントローラ一般的な組み込みソフトウェア開発
ターゲットCPU Arm(32bit) RX210(32bit) PIC24(16bit) ESP32(32bit) RP2040(32bit)
mruby/cを採用している製品 工業用ミシンの補助装置 mruby/c標準搭載マイコンボード「RBoard」 CO2モニタリングIoTシステム「WaKaYo」 オートフォーカスアイウェア「ViXion01S」
脚注
外部リンク mruby/c on GitHub