12/08/2018, 13:21
mruby/c 概要(研修フィードバック)
mruby/c - mrubyの多機能に対する逆張り(さらに小さくしたい) - mrubyでできないことを実現したい! ・少ないメモリ(ワンチップ) 例:電池1個、太陽光発電など ・コンカレント動作(OS不要) ・起動を早くする(割り込みを目指す) ・誰でも分かる仕様(見てわかる規模にする) mruby/cの特徴 1. 高い開発生産性:C言語に比べて、5倍程度と予測 - Rubyの高い生産性を引き継ぐ - コンカレントな動作(異なる動作は、別のプログラムで実現) ・スピーディーな試作開発、実用化開発を実現 ・容易に変更可能 ...
mruby/c
- mrubyの多機能に対する逆張り(さらに小さくしたい) - mrubyでできないことを実現したい! ・少ないメモリ(ワンチップ) 例:電池1個、太陽光発電など ・コンカレント動作(OS不要) ・起動を早くする(割り込みを目指す) ・誰でも分かる仕様(見てわかる規模にする)
mruby/cの特徴
1. 高い開発生産性:C言語に比べて、5倍程度と予測 - Rubyの高い生産性を引き継ぐ - コンカレントな動作(異なる動作は、別のプログラムで実現) ・スピーディーな試作開発、実用化開発を実現 ・容易に変更可能 ・別のプログラムで、各時間ごとに起動 2. 省電力:従来のmruby比で10分の1程度、メモリ消費50kb未満で稼働 - 本来の機能以外の動作を省き実装を最適化 - マルチコアプロセッサを積極的にサポート 限られた電力供給環境下でも稼働(電池駆動、エナジーハーベスティング)
mruby/cの基本コンセプト
・mruby/cの優先順位 1. メモリ 2. 起動速度 3. 機能(ライブラリ) 4. 実行速度 ・想定するアプリケーション領域 省電力デバイス・手軽に試作
mruby/c ターゲットCPU
PSoC5(32bit) Cypress RX63N(32bit) ルネサス PIC24(16bit) Microchip Technology
mruby/c β版
githubで公開: https://github.com/mrubyc/mrubyc
mruby/c への機能追加
- MQTT(IOT向けプロトコル)をmrubyに実装 ・mrubyのビルド設定に1行追加するだけでMQTT対応のVMを作成できる。 ・「build_config.rb」の中に1行追加するだけ conf.gem :github => 'sabakan21/mruby-mqtt'
mruby/c ボード開発状況
1. mruby/cが動く状態のマイコン ・マイコンのフラッシュ内にmruby/cのVMを書き込み済みで配布する。PSoC5を搭載 2. IDE ・ケーブルを接続するだけで、mruby/cのマイコン開発を可能に 3. ローカル・クラウドコンパイラ
mruby/c 現状
- エディタ・コンパイラについては開発中・無償で提供予定 - ドキュメントがあまり公開されていない。