- Timestamp:
- May 22, 2019, 10:03:37 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
azure_iot_hub/trunk/asp3_dcre/tecsgen/tecs/mruby/README-mruby.txt
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain;charset=UTF-8
r388 r389 1 1 mruby 2 2017.4.17 æ°è¦2 2017.4.17 新規 3 3 2017.11.4 4 大山 åå¸4 大山 博司 5 5 6 â æ¦è¦ 6 ■概要 7 7 8 mruby ãã£ã¬ã¯ããªã«ã¯ãçµè¾¼ã¿ç¨ mruby VM ã®ã»ã«ã¿ã¤ããããã³9 MrubyBridgePlugin ã«å¯¾å¿ããã¢ã¸ã¥ã¼ã«ãå«ã¾ãã¾ãï¼8 mruby ディレクトリには、組込み用 mruby VM のセルタイプ、および 9 MrubyBridgePlugin に対応したモジュールが含まれます. 10 10 11 mruby V1.2.0 ã«å¯¾å¿ãã¦ãã¾ãï¼V1.1.0 ã§ããã«ããããã¨ã¯å¯è½ã§ãï¼11 mruby V1.2.0 に対応しています.V1.1.0 でもビルドすることは可能です. 12 12 13 ããã«ã¯ mruby ã®æ¬ä½ã¯å«ã¾ãã¾ããï¼ä»¥ä¸ãããã¦ã³ãã¼ãããå¿ 14 è¦ãããã¾ãï¼ 13 ここには mruby の本体は含まれません.以下からダウンロードする必要があります. 15 14 http://forum.mruby.org/ 16 15 17 â TECS ã¸ã§ãã¬ã¼ã¿ V1.5 ã§ã®å¤æ´ 16 ■TECS ジェネレータ V1.5 での変更 18 17 19 tMruby.cdl ( ãã¹ï¼tecsgen/tecs/mruby/tMruby.cdl) ãæ°è¨ããï¼20 以ä¸ãå¯è½ã«ããããã« tMruby ã composite ã«å解ããï¼ 21 * mruby ã¹ã¯ãªããã®å¨æã¿ã¹ã¯å®è¡22 * VM ãã¨ã«ç°ãªã TLSF ã¢ãã±ã¼ã¿ã³ã³ãã¼ãã³ãã使ç¨18 tMruby.cdl (パス:tecsgen/tecs/mruby/tMruby.cdl) を新設した. 19 以下を可能にするために tMruby を composite に分解した. 20 * mruby スクリプトの周期タスク実行 21 * VM ごとに異なる TLSF アロケータコンポーネントを使用 23 22 24 tMruby.cdl ã§ã¯ tMruby (ãã¼ã ã¹ãã¼ã¹ãã¹ï¼nMruby::tMruby) ã®å®è£ 25 ã 26 æ°ããããä»ãå¨æã¿ã¹ã¯å®è¡ç¨ã® tMrubyCyclic (åï¼nMruby::tMrubyCyclic) 27 ãæ°è¨ããï¼tMruby ãå解ãããtMrubyVM ã»ã«ã¿ã¤ãã¨ããã®ã·ã°ãã㣠28 sMruby (sMruby.cdlå 29 ) ãæ°è¨ããï¼ 23 tMruby.cdl では tMruby (ネームスペースパス:nMruby::tMruby) の実装を 24 新しくした他、周期タスク実行用の tMrubyCyclic (同:nMruby::tMrubyCyclic) 25 を新設した.tMruby を分解した、tMrubyVM セルタイプと、そのシグニチャ 26 sMruby (sMruby.cdl内) も新設した. 30 27 31 tMruby.cdl ã«ç½®ãæãå¯è½ã ãã以ä¸ã®ç¹ã§ãã«ãç¨ Makefile ã®å¤æ´ãå¿ 32 è¦ï¼ 33 * TLSF ããã tTLSFMalloc_inline.h ã¸ã®ãã¹ã追å 34 * TLSF ã®ãªãã¸ã§ã¯ãã®è¿½å (mruby+TECS on EV3 ã«ã¯å®è£ 35 æ¸ã¿) 28 tMruby.cdl に置き換え可能だが、以下の点でビルド用 Makefile の変更が必要. 29 * TLSF ヘッダ tTLSFMalloc_inline.h へのパスを追加 30 * TLSF のオブジェクトの追加 (mruby+TECS on EV3 には実装済み) 36 31 37 ã¾ãã以ä¸ã®ç¹ã«çæããå¿ 38 è¦ãããï¼ 39 * TLSF ã¯ãVM ãã¨ã« 1MB ãå²ãä»ãã 32 また、以下の点に留意する必要がある. 33 * TLSF は、VM ごとに 1MB を割り付ける 40 34 41 ãã®ãããååãªç©ºãã¡ã¢ãªãå¿ 42 è¦ã§ããï¼ 43 ãã®ãµã¤ãºã¯ VM ã»ã«ã®å®ç¾©ã§å¤æ´å¯è½ (å±æ§ memoryPoolSize)ï¼ 35 このため、十分な空きメモリが必要である. 36 このサイズは VM セルの定義で変更可能 (属性 memoryPoolSize). 44 37 45 â ã³ã³ãã¼ãã³ãæ¦è¦ 38 ■ コンポーネント概要 46 39 47 tMruby.cdl: (TECS ã¸ã§ãã¬ã¼ã¿ V1.5.0 以é)40 tMruby.cdl: (TECS ジェネレータ V1.5.0 以降) 48 41 celltype tMrubyVM 49 VM ãå®è£ 50 ããããã®ã»ã«ã¿ã¤ãï¼ã¡ã¢ãªã¢ãã±ã¼ã¿ TLSFMalloc ãå«ã¾ 51 ãªã. åãå£ eMrubyVM ã®ã·ã°ããã£ã¯ sMrubyï¼ 42 VM を実装するためのセルタイプ.メモリアロケータ TLSFMalloc を含ま 43 ない. 受け口 eMrubyVM のシグニチャは sMruby. 52 44 53 45 composite tMruby 54 åãå£ eMrubyBody ã®ã·ã°ããã£ã sTaskBody ã¨ããï¼tTLSFMalloc ã 55 çµã¿å 56 ¥ã. 46 受け口 eMrubyBody のシグニチャを sTaskBody とする.tTLSFMalloc も 47 組み入れ. 57 48 58 49 composite tMrubyCyclic 59 åãå£ eMrubyBody ã®ã·ã°ããã£ã sTaskBody ã¨ããï¼tTLSFMalloc ã 60 çµã¿å 61 ¥ã. 62 å¨æã¿ã¹ã¯èµ·åºãåæã¨ãã¦ããï¼ 63 ä¸åç®ã®å¼åºãã§ã¯ mrb_open ããããªãã¸ã»ã«ãç»é²å¾ãmrb_run ãå¼ 64 ã³åºãã¦ã¹ã¯ãªããå®è¡ãè¡ãï¼ã¹ã¯ãªããçµäºå¾ã« mrb_close ã¯å¼ã³ 65 åºãããªãï¼ 66 äºåç®ä»¥éã®å¼åºãã§ã¯ mrb_run ã®ã¿å¼ã³åºãããï¼ 67 çµäºå¦ç mrb_close ãå¼ã³ã ãæ段ã¯æä¾ãã¦ããªãï¼çªç¶é»æºãåã 68 ãããã¨ãåæã¨ãã¦ããï¼ (å°ãªãã¨ãæåã®å®è£ 69 ã§ã¯)ï¼ 50 受け口 eMrubyBody のシグニチャを sTaskBody とする.tTLSFMalloc も 51 組み入れ. 52 周期タスク起床を前提としている. 53 一回目の呼出しでは mrb_open し、ブリッジセルを登録後、mrb_run を呼 54 び出してスクリプト実行を行う.スクリプト終了後に mrb_close は呼び 55 出されない. 56 二回目以降の呼出しでは mrb_run のみ呼び出される. 57 終了処理 mrb_close を呼びだす手段は提供していない.突然電源が切ら 58 れることを前提としている. (少なくとも最初の実装では). 70 59 71 sMruby.cdl ï¼60 sMruby.cdl: 72 61 signature sMruby 73 åæåãå®è¡ãçµäºå¦çã«å解ããã·ã°ããã£62 初期化、実行、終了処理に分解したシグニチャ
Note:
See TracChangeset
for help on using the changeset viewer.