Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
shimane-itoc
PPTX, PDF
3,177 views
mruby/c機能紹介20160329
2016年3月29日に開催した「mruby、mruby/cセミナー」で発表に使用したmruby/cの機能紹介スライドです。
Software
◦
Read more
0
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 31
2
/ 31
3
/ 31
4
/ 31
5
/ 31
6
/ 31
7
/ 31
8
/ 31
9
/ 31
10
/ 31
11
/ 31
12
/ 31
13
/ 31
14
/ 31
15
/ 31
16
/ 31
17
/ 31
18
/ 31
19
/ 31
20
/ 31
21
/ 31
22
/ 31
23
/ 31
24
/ 31
25
/ 31
26
/ 31
27
/ 31
28
/ 31
29
/ 31
30
/ 31
31
/ 31
More Related Content
PDF
組込み向けスクリプト言語mrubyをEV3で動かしてみよう
by
Takuya Azumi
PPTX
先駆的研究テーマ mruby/c
by
shimane-itoc
PDF
Ruby東京プレゼン 資料
by
Kazuaki Tanaka
PDF
mruby を C# に 組み込んでみる
by
Ryosuke Akiyama
PPTX
mruby/c適用期待分野20160329
by
shimane-itoc
PDF
ET2014資料: mruby プログラム言語Rubyによる組込みソト開発
by
Kazuaki Tanaka
PDF
「mruby/c」の利用期待分野~M2Mでの利用~160726
by
shimane-itoc
PDF
mrubyでETロボコンに出よう
by
yamanekko
組込み向けスクリプト言語mrubyをEV3で動かしてみよう
by
Takuya Azumi
先駆的研究テーマ mruby/c
by
shimane-itoc
Ruby東京プレゼン 資料
by
Kazuaki Tanaka
mruby を C# に 組み込んでみる
by
Ryosuke Akiyama
mruby/c適用期待分野20160329
by
shimane-itoc
ET2014資料: mruby プログラム言語Rubyによる組込みソト開発
by
Kazuaki Tanaka
「mruby/c」の利用期待分野~M2Mでの利用~160726
by
shimane-itoc
mrubyでETロボコンに出よう
by
yamanekko
What's hot
PDF
mruby VM を調べてみた話
by
kishima7
PPTX
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
by
Norishige Fukushima
PPTX
高速にコンテナを起動できるイメージフォーマット (NTT Tech Conference #2)
by
Akihiro Suda
PPTX
211120 他人の書いたPythonスクリプトをステップ実行で理解する
by
Takuya Nishimoto
PDF
組込みシステムでIoTへの扉を開こう! mruby on LEGO Mindstorms EV3 (R)
by
Takehiko YOSHIDA
PDF
PyCharm入門
by
Yuki Nagai
PPTX
組込みAndroid入門実習
by
ksk sue
PPTX
Rustで3D graphics programming
by
KiyotomoHiroyasu
PPTX
Jupyter notebook
by
亮吾 守屋
PDF
20180227_最先端のディープラーニング 研究開発を支えるGPU計算機基盤 「MN-1」のご紹介
by
Preferred Networks
PPTX
リアルタイム道路標識検出システムの開発
by
幸翼 長瀬
PDF
KyotoLT(Online) 第26回
by
hiroya akita
PDF
Dockerコミュニティ近況
by
Akihiro Suda
PPTX
Mugbot bot
by
AkihitoNomura
PDF
PythonによるWebスクレイピング入門
by
Hironori Sekine
PDF
2016 summercamp RTコンポーネント開発のためのシステムモデリング講習会
by
openrtm
PPTX
210728 mpy
by
Takuya Nishimoto
PDF
Chaienr meetup#2 UEI Deep Station ; A GUI for Deep learning
by
Ryo Shimizu
PDF
Windows で動かす TensorFlow
by
Takeshi Osoekawa
PDF
ECSとSpotFleetで新規ビジネスのトライアル
by
Yu Sudo
mruby VM を調べてみた話
by
kishima7
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
by
Norishige Fukushima
高速にコンテナを起動できるイメージフォーマット (NTT Tech Conference #2)
by
Akihiro Suda
211120 他人の書いたPythonスクリプトをステップ実行で理解する
by
Takuya Nishimoto
組込みシステムでIoTへの扉を開こう! mruby on LEGO Mindstorms EV3 (R)
by
Takehiko YOSHIDA
PyCharm入門
by
Yuki Nagai
組込みAndroid入門実習
by
ksk sue
Rustで3D graphics programming
by
KiyotomoHiroyasu
Jupyter notebook
by
亮吾 守屋
20180227_最先端のディープラーニング 研究開発を支えるGPU計算機基盤 「MN-1」のご紹介
by
Preferred Networks
リアルタイム道路標識検出システムの開発
by
幸翼 長瀬
KyotoLT(Online) 第26回
by
hiroya akita
Dockerコミュニティ近況
by
Akihiro Suda
Mugbot bot
by
AkihitoNomura
PythonによるWebスクレイピング入門
by
Hironori Sekine
2016 summercamp RTコンポーネント開発のためのシステムモデリング講習会
by
openrtm
210728 mpy
by
Takuya Nishimoto
Chaienr meetup#2 UEI Deep Station ; A GUI for Deep learning
by
Ryo Shimizu
Windows で動かす TensorFlow
by
Takeshi Osoekawa
ECSとSpotFleetで新規ビジネスのトライアル
by
Yu Sudo
Viewers also liked
PDF
Ruby で高速なプログラムを書く
by
mametter
PDF
mruby/c in TokyoRubyKaigi#11
by
Kazuaki Tanaka
PDF
M2M製品開発におけるmrubyの効果160726
by
shimane-itoc
PDF
IoTに活用!センサの基礎セミナー
by
shimane-itoc
PDF
Why not mruby?
by
shimane-itoc
PDF
Mrubyについて 第16回 岡山ruby, ruby on rails勉強会
by
Masaya Konishi
Ruby で高速なプログラムを書く
by
mametter
mruby/c in TokyoRubyKaigi#11
by
Kazuaki Tanaka
M2M製品開発におけるmrubyの効果160726
by
shimane-itoc
IoTに活用!センサの基礎セミナー
by
shimane-itoc
Why not mruby?
by
shimane-itoc
Mrubyについて 第16回 岡山ruby, ruby on rails勉強会
by
Masaya Konishi
Similar to mruby/c機能紹介20160329
PDF
TOPPERSプロジェクト紹介 OSC2016京都
by
Takuya Azumi
PDF
Tokyo ruby kaigi 10 (sogabe)
by
Takashi Sogabe
PDF
Hello Ruby
by
Takahiro KUREBAYASHI
PDF
軽量Ruby『mruby』について
by
Ryosuke MATSUMOTO
PDF
組込みシステムの高効率開発を可能とする開発フレームワークの研究開発
by
Kazuaki Tanaka
PPSX
ここまで来た開発言語 mruby・mruby/cの最新情報 “本当に使える”IoTプラットフォーム
by
shimane-itoc
PDF
mrubyOSチラシ
by
Kazuhiro Takahashi
PDF
mrubyでゲームを書いてみた
by
Yousuke Kuroda
PDF
Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
by
Takashi Sogabe
PDF
RubyConfの話の続きのおはなし
by
yamanekko
PDF
Tokyurubykaigi05
by
yamanekko
PPT
Mrubyの始め方
by
Masaki Muranaka
PDF
Introduction of mruby & Webruby script example
by
kishima7
PPT
mruby os(案)の開発
by
Kazuhiro Takahashi
PPTX
Mono ruby(原案20130221)
by
Kenichi Nakashima
PDF
ET West 2017資料:mruby/c、mrubyで実現される効率的なIoT開発
by
shimane-itoc
PDF
mrubyでC使う? Cでmruby使う?
by
Bizan Nishimura
PDF
MobiRubyでiOSアプリをつくろう
by
Junya Murabe
PDF
ET2017資料: mruby/cの利用事例
by
shimane-itoc
PDF
ET2017資料: 開発言語mruby・mruby/cが開く新たなIoTプラットフォーム
by
shimane-itoc
TOPPERSプロジェクト紹介 OSC2016京都
by
Takuya Azumi
Tokyo ruby kaigi 10 (sogabe)
by
Takashi Sogabe
Hello Ruby
by
Takahiro KUREBAYASHI
軽量Ruby『mruby』について
by
Ryosuke MATSUMOTO
組込みシステムの高効率開発を可能とする開発フレームワークの研究開発
by
Kazuaki Tanaka
ここまで来た開発言語 mruby・mruby/cの最新情報 “本当に使える”IoTプラットフォーム
by
shimane-itoc
mrubyOSチラシ
by
Kazuhiro Takahashi
mrubyでゲームを書いてみた
by
Yousuke Kuroda
Devsumi2013 Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
by
Takashi Sogabe
RubyConfの話の続きのおはなし
by
yamanekko
Tokyurubykaigi05
by
yamanekko
Mrubyの始め方
by
Masaki Muranaka
Introduction of mruby & Webruby script example
by
kishima7
mruby os(案)の開発
by
Kazuhiro Takahashi
Mono ruby(原案20130221)
by
Kenichi Nakashima
ET West 2017資料:mruby/c、mrubyで実現される効率的なIoT開発
by
shimane-itoc
mrubyでC使う? Cでmruby使う?
by
Bizan Nishimura
MobiRubyでiOSアプリをつくろう
by
Junya Murabe
ET2017資料: mruby/cの利用事例
by
shimane-itoc
ET2017資料: 開発言語mruby・mruby/cが開く新たなIoTプラットフォーム
by
shimane-itoc
mruby/c機能紹介20160329
1.
2016年3月29日 (共同研究者) 国立大学法人 九州工業大学 情報工学研究院 機械情報工学系 准教授
田中和明 しまねソフト研究開発センター (公益財団法人しまね産業振興財団) 専門研究員 東 裕人 © Kazuaki Tanaka & Shimane IT Open-innovation Center プログラム言語「mruby」 先駆的研究テーマ「mruby/c」 〜mruby/c の機能紹介〜
2.
© Kazuaki Tanaka
& Shimane IT Open-innovation Center 内 容 1 mruby の紹介 2 mruby の最近の話題 3 mruby/c の紹介 4 mruby/c ボードの開発状況 5 mruby/c のデモ
3.
© Kazuaki Tanaka
& Shimane IT Open-innovation Center 1 mrubyの紹介 ・Rubyを小型化し、組込み用途で利用する ・(例) − 組込みデバイス − 他のアプリケーションの内部で動く − コマンドラインアプリケーション (ネイティブアプリケーション)
4.
© Kazuaki Tanaka
& Shimane IT Open-innovation Center Rubyとの違い ・mrubyのプログラム実行 (1)ソースコードをコンパイルして バイトコードを得る (2)バイトコードをVMが逐次実行する ・バイトコードを実行するVMがあれば、 どの環境でもmrubyプログラムを動かせる
5.
© Kazuaki Tanaka
& Shimane IT Open-innovation Center バイトコードの特徴 ・バイナリ形式 ・アーキテクチャに依存しない ・言語の解析が不要(アセンブラに近い) ・実行時の高速化、省メモリ (ここからは未実装) ・局所的な最適化が期待できる ・暗号化、電子署名
6.
© Kazuaki Tanaka
& Shimane IT Open-innovation Center 組込みソフトの難しさ ・製品ごとに、使われているマイコンの CPU、メモリ、OSなどが異なる ・マイコンごとに、専用の 開発環境が必要 ・周辺回路(I/O)も異なる ・組込みソフトの開発だけでなく、 保守作業も困難
7.
© Kazuaki Tanaka
& Shimane IT Open-innovation Center 難しさの例(よくある話し) ・製品に使用していたCPUが製造終了 ・新しいCPUを使った製品を開発する ・ソフトを作り直す ↑ CPUが異なれば、ソフトも大きな変更が必要 ・CPUのビット幅が異なる ・アーキテクチャが異なる ・これまで使っていたOSが対応していない ・タイミングが合わない(古い製品にありがち)
8.
© Kazuaki Tanaka
& Shimane IT Open-innovation Center 解決方法 ・ハードウェアに近い部分を抽象化する − HAL(Hardware Abstract Layer) ・VMで抽象化する − Java ・抽象度の高い言語を使う − スクリプト言語(RubyやJavaScriptなど) mruby
9.
© Kazuaki Tanaka
& Shimane IT Open-innovation Center mrubyの場合
10.
© Kazuaki Tanaka
& Shimane IT Open-innovation Center VMでバイトコードを実行する
11.
© Kazuaki Tanaka
& Shimane IT Open-innovation Center VMで動作検証できる ・PCの上で動くVMを作っておくと 組込みソフトのテストができる − テスト用の入出力を用意しておき、 プログラムを実行する
12.
© Kazuaki Tanaka
& Shimane IT Open-innovation Center mrubyのバージョン ・公開(Ver.1.0) − この時点で、多くのライブラリが提供されている ・デバッガが提供されている(Ver.1.1) − デバッガツール(コマンドライン) − デバッガ用API ・mrbgemの充実(Ver.1.2) − クロスコンパイル − mrbgemsの整理
13.
© Kazuaki Tanaka
& Shimane IT Open-innovation Center mrubyの機能拡張 〜mrbgems〜 ・機能拡張部分(多くはクラスの実装)を 1つのディレクトリ内にまとめる ・ビルド設定ファイルに記述することで VMビルド時に機能が取り込まれる ・不要な機能はビルド設定ファイルから 取り除くこともできる
14.
© Kazuaki Tanaka
& Shimane IT Open-innovation Center 2 mruby の最近の話題 ・「組込みシステムの高効率開発を可能とする 開発フレームワークの研究開発」 (九州工業大学、SCSK九州、有明高専) − NEDOの助成事業 「IoT社会の実現に向けた電子・情報分野事業の周 辺技術・関連課題における小規模研究開発」 − mrubyを使ったIoT製品開発を効率化する − 統合開発環境を設計開発する − enziボード(*1)とシームレスに繋がる開発環境 (*1)enziボード:mruby専用のマイコンボード、ARM Coretex M4
15.
© Kazuaki Tanaka
& Shimane IT Open-innovation Center こんなイメージ ・Arudinoみたいな感覚で使えるmrubyボード ・Arudinoとの違い − mrubyである − enzi以外のmrubyボードも用意する (バイトコード互換) − 必要なセンサに対応したVMにカスタマイズできる (Railsの感覚)
16.
© Kazuaki Tanaka
& Shimane IT Open-innovation Center 3 mruby/c の紹介 ・mrubyの多機能に対する逆張り ・mrubyでできない事を実現しよう! − 少ないメモリ(〜ワンチップ) − コンカレント動作(〜OSはいらない) − 起動を速くする(〜割り込みを目指す) − 組込み技術者向けの仕様 (〜見て分かる規模にする)
17.
mruby/c の特徴 ①高い開発生産性:C言語に比べて、5倍程度と予測 ✪Rubyが持つ高い生産性を引き継ぐ ✪コンカレントな動作(異なる動作は、別のプログラムで実現) ⇒ ・スピーディーな試作開発、実用化開発を実現 ・容易に変更が可能 ②省電力:従来のmruby比で10分の1程度、メモリ消費50kb未満で稼働 ✪本来の機能以外の動作を省き実装を最適化 ✪マルチコアプロセッサを積極的にサポート ⇒
・限られた電力供給環境下でも稼働 (電池駆動、エナジーハーベスティング) © Kazuaki Tanaka & Shimane IT Open-innovation Center
18.
© Kazuaki Tanaka
& Shimane IT Open-innovation Center mruby/cの基本コンセプト ・mruby/cの優先順位 mrubyは、 1.メモリ 3.機能 2.起動速度 4.実行速度 3.機能(ライブラリ) 1.メモリ 4.実行速度 2.起動速度 ・想定するアプリケーション領域 ・省電力デバイス ・手軽に試作する
19.
© Kazuaki Tanaka
& Shimane IT Open-innovation Center mruby と mruby/c の概要 mruby mruby/c ターゲット サーバー 組込みOS OSは、ほぼ必要 小型デバイス OSなし メモリ 〜400KB 〜40KB 機能拡張 mrbgems ソース書き換え VMの機能拡張 通常はできない 可能 ライセンス MIT BSD 目指すところ 多くの環境で動作 CRubyとの互換性 小型 省電力
20.
© Kazuaki Tanaka
& Shimane IT Open-innovation Center mruby/c ターゲットCPU PSoC5(32bit) Cypress RX63N(32bit) ルネサス PIC24(16bit) Microchip Technology
21.
mruby/c β版の公開 © Kazuaki
Tanaka & Shimane IT Open-innovation Center 現在、GitHubで公開しています https://github.com/mrubyc/mrubyc
22.
© Kazuaki Tanaka
& Shimane IT Open-innovation Center 「mruby/c」 の評価
23.
© Kazuaki Tanaka
& Shimane IT Open-innovation Center mruby/c への機能追加 ・(状況) − Cで作成した関数を持っている − Rubyから呼び出したい ・(方法) − RubyのメソッドとCの関数の対応を記述する − RubyとCの間の値の受け渡し (wapper関数を作る)
24.
© Kazuaki Tanaka
& Shimane IT Open-innovation Center 機能追加の例 ・(状況) − ベンダーからLED出力の関数が提供されている ・(方法) − wapper関数を作成する − wapper関数を作成する void LED_Writer(uint8 value); void c_led(mrb_vm *vm, mrb_volue *v) { LED_Write( GET_INT_ARG(θ) ); } mrb_define_method(static_class_object, “led”, c_led);
25.
© Kazuaki Tanaka
& Shimane IT Open-innovation Center サンプルプログラム delay の関数も同様に作成します
26.
© Kazuaki Tanaka
& Shimane IT Open-innovation Center ◯mrubyの研究を取り込む ・学生がMQTTをmrubyに実装しました − mrubyのビルド設定に1行追加するだけで、 MQTT対応のVMを作成できます − 「build_config.rb」の中に1行追加するだけ conf.gem :github => ‘sabakan21/mruby-mqtt’ mruby/c への機能追加
27.
© Kazuaki Tanaka
& Shimane IT Open-innovation Center 実験
28.
© Kazuaki Tanaka
& Shimane IT Open-innovation Center 「mruby-mqtt」の評価(1)
29.
© Kazuaki Tanaka
& Shimane IT Open-innovation Center 「mruby-mqtt」の評価(2)
30.
© Kazuaki Tanaka
& Shimane IT Open-innovation Center 4 mruby/c ボードの開発状況 (1)mruby/cが動く状態のマイコン − マイコンのフラッシュ内にmruby/cのVMを 書き込み済みで配布する ※PSoC5を搭載 (2)IDE − ケーブルで接続するだけで mruby/cのマイコン開発を可能にする (3)ローカル/クラウドコンパイラ
31.
5 mruby/c のデモ Zigbee
インターネット センサーボード mruby/c マイクロサーバー CRuby ブラウザ © Kazuaki Tanaka & Shimane IT Open-innovation Center
Download