Mruby/c
|
| |
| 作者 | 九州工業大学, しまねソフト研究開発センター |
|---|---|
| 初版 | 2017年1月31日 |
| 最新版 |
4.0.0[1]
/ 2026年6月12日 |
| リポジトリ |
github |
| プログラミング 言語 | C言語, Ruby, mruby |
| プラットフォーム | ARMアーキテクチャ, PSoC, PIC, STM32, Renesas RAファミリ, RP2040, ESP32 他 |
| 種別 | Ruby処理系 |
| ライセンス | 3条項BSDライセンス |
mruby/c(エムルビー・スラッシュ・シー)は、オブジェクト指向スクリプト言語「Ruby」を組み込みシステム向けに軽量化した「mruby」よりプログラム実行時に必要なメモリ消費量が少ないプログラミング言語処理系である。プログラム実行時に必要なメモリ消費量は約40KBと少なく、リソースに制約のあるワンチップマイコン上でも動作する。[2][3]
国立大学法人九州工業大学(田中和明准教授)としまねソフト研究開発センターの共同研究によって開発され、オープンソースライセンスの3条項BSDライセンスに基づきオープンソースとして公開されている。
概要
mruby/cは、プログラミング言語「Ruby」の高い開発生産性と優れた可読性を特徴を継承した組み込みシステム開発向けの軽量なRuby実装である。プログラム実行時に必要なメモリ消費量が約40KBと非常に少なく、リソースに制約のあるワンチップマイコン上でも動作する。そのため、センサーネットワークやウェアラブルデバイスなどの小型IoT機器のソフトウェア開発、既存デバイスへのDSL(ドメイン固有言語)追加に適している。[2]
特徴
主な特徴として以下が挙げられる。[4]
- 高い開発生産性:Rubyの持つ生産性・表現力の高さを引き継ぐ。C言語と比べて短いステップで実装可能。
- 小さなマイコンで動作:省電力・OSを使わず高速起動。電池駆動を実現。
- コンカレントな動作:複数のプログラムを同時に実行可能。複数のプログラマが独立してコーディングが可能。
mrubyとmruby/cの比較
| mruby/c | mruby | |
|---|---|---|
| メモリサイズ | < 40KB | < 250KB |
| ターゲット | ワンチップ・マイクロコントローラ | 一般的な組み込みソフトウェア開発 |
ターゲットCPU
- Arm(32bit)
- RX210(32bit)
- PIC24(16bit)
- ESP32(32bit)
- RP2040(32bit)
mruby/cを採用している製品
- 工業用ミシンの補助装置 [5][6][7]
- mruby/c標準搭載マイコンボード「RBoard」 [5]
- CO2モニタリングIoTシステム「WaKaYo」 [5]
- オートフォーカスアイウェア「ViXion01S」 [2][8]
脚注
- ↑ “mruby/c 4.0.0”. 2026年10月12日閲覧。
- 1 2 3 “組み込み採用事例 > 自動でピントを合わせるアイウェアがIoTデバイス向け言語mruby/cを採用”. MONOist (2025年1月8日). 2025年7月1日閲覧。
- ↑ “Rubyで島根を町おこし 軽量言語「mruby/c」組み込み活用事例を紹介”. EE Times Japan (2025年11月6日). 2026年10月12日閲覧。
- ↑ “軽量Rubyのmrubyをさらに小型化、「mruby/c」は16ビットマイコンにも実装可能”. MONOist (2018年11月22日). 2026年10月12日閲覧。
- 1 2 3 “mruby/cが工業用ミシンの不良率を8割削減、ローコード開発環境への展開も”. MONOist. 朴尚洙, MONOist (2021年11月24日). 2025年7月1日閲覧。
- ↑ “Ruby活用事例 (JUKI 松江株式会社)”. 一般財団法人Rubyアソシエーション (2023年1月26日). 2025年7月1日閲覧。
- ↑ “老舗ミシンメーカーの『縫い』へのこだわりを形にした「楯縫(たてぬい)プロジェクト」─JUKI松江”. IT Leaders (2023年1月26日). 2025年7月1日閲覧。
- ↑ “ViXion、オートフォーカスアイウェア「ViXion01S」にプログラミング言語「Ruby」をIoTデバイス向けに軽量化した「mruby/c」を採用”. PR TIMES. しまねソフト研究開発センター (2024年12月13日). 2025年7月1日閲覧。