コンテンツにスキップ

mruby/c

出典: フリー百科事典『ウィキペディア(Wikipedia)』
mruby/c
mruby/c Logo
作者 九州工業大学, しまねソフト研究開発センター
初版 2017年1月31日 (8年前) (2017-01-31)
最新版
3.4[1] / 2025年6月30日 (18日前) (2025-06-30)
リポジトリ github.com/mrubyc/mrubyc
プログラミング
言語
C言語, Ruby, mruby
プラットフォーム ARMアーキテクチャ, PSoC, PIC, STM32, Renesas RAファミリ, RP2040, ESP32
種別 Ruby処理系
ライセンス 3-Clause BSD License
テンプレートを表示

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)


mruby/cを採用している製品

[編集]
  • 工業用ミシンの補助装置 [2][3][4]
  • mruby/c標準搭載マイコンボード「RBoard」 [2]
  • CO2モニタリングIoTシステム「WaKaYo」 [2]
  • オートフォーカスアイウェア「ViXion01S」 [5][6]


脚注

[編集]
  1. ^ mruby/c 3.4”. 2025年6月30日閲覧。
  2. ^ a b c mruby/cが工業用ミシンの不良率を8割削減、ローコード開発環境への展開も”. MONOist. 朴尚洙, MONOist (2021年11月24日). 2025年7月1日閲覧。
  3. ^ Ruby活用事例 (JUKI 松江株式会社)”. 一般財団法人Rubyアソシエーション (2023年1月26日). 2025年7月1日閲覧。
  4. ^ 老舗ミシンメーカーの『縫い』へのこだわりを形にした「楯縫(たてぬい)プロジェクト」─JUKI松江”. IT Leaders (2023年1月26日). 2025年7月1日閲覧。
  5. ^ 組み込み採用事例 > 自動でピントを合わせるアイウェアがIoTデバイス向け言語mruby/cを採用”. MONOist (2025年1月8日). 2025年7月1日閲覧。
  6. ^ ViXion、オートフォーカスアイウェア「ViXion01S」にプログラミング言語「Ruby」をIoTデバイス向けに軽量化した「mruby/c」を採用”. PR TIMES. しまねソフト研究開発センター (2024年12月13日). 2025年7月1日閲覧。


外部リンク

[編集]