Mruby/c
From Wikipedia, the free encyclopedia
|
| |
| 作者 | 九州工業大学, しまねソフト研究開発センター |
|---|---|
| 初版 | 2017年1月31日 |
| 最新版 |
3.4.1[1]
/ 2026年3月6日 |
| リポジトリ |
github |
| プログラミング 言語 | C言語, Ruby, mruby |
| プラットフォーム | ARMアーキテクチャ, PSoC, PIC, STM32, Renesas RAファミリ, RP2040, ESP32 他 |
| 種別 | Ruby処理系 |
| ライセンス | 3条項BSDライセンス |
mruby/c(エムルビー・スラッシュ・シー)は、オブジェクト指向スクリプト言語「Ruby」を組み込みシステム向けに軽量化した「mruby」よりプログラム実行時に必要なメモリ消費量が少ないプログラミング言語処理系である。プログラム実行時に必要なメモリ消費量は約40KBと小さく、リソースに制約のあるワンチップマイコン上でも動作する。
国立大学法人九州工業大学(田中和明准教授)としまねソフト研究開発センターの共同研究によって開発され、オープンソースライセンスの3条項BSDライセンスに基づきオープンソースとして公開されている。
mruby/cは、プログラミング言語「Ruby」の高い開発生産性と優れた可読性を特徴を継承した組み込みシステム開発向けの軽量なRuby実装である。プログラム実行時に必要なメモリ消費量が約40KBと非常に小さく、リソースに制約のあるワンチップマイコン上でも動作する。そのため、センサーネットワークやウェアラブルデバイスなどの小型IoT機器のソフトウェア開発はもちろん、既存デバイスへのDSL(ドメイン固有言語)追加にも適している。
特徴
- 高い開発生産性:Rubyの持つ生産性・表現力の高さを引き継ぐ。C言語と比べて短いステップで実装可能。
- 小さなマイコンで動作:省電力・OSを使わず高速起動。電池駆動を実現。
- コンカレントな動作:複数のプログラムを同時に実行可能。複数のプログラマが独立してコーディングが可能。
mrubyとmruby/cの比較
| mruby/c | mruby | |
|---|---|---|
| メモリサイズ | < 40KB | < 250KB |
| ターゲット | ワンチップ・マイクロコントローラ | 一般的な組み込みソフトウェア開発 |
ターゲットCPU
- Arm(32bit)
- RX210(32bit)
- PIC24(16bit)
- ESP32(32bit)
- RP2040(32bit)
