source: asp3_tinet_ecnl_rx/trunk/asp3_dcre/tecsgen/tecs/mruby/README-mruby.txt@ 374

Last change on this file since 374 was 374, checked in by coas-nagasima, 5 years ago

mbed関連を更新
シリアルドライバをmbedのHALを使うよう変更
ファイルディスクリプタの処理を更新

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/plain;charset=UTF-8
File size: 2.8 KB
Line 
1mruby
2 2017.4.17 新規
3 2017.11.4
4 大山 博司
5
6■概要
7
8mruby ディレクトリには、組込み用 mruby VM のセルタイプ、および
9MrubyBridgePlugin に対応したモジュールが含まれます.
10
11mruby V1.2.0 に対応しています.V1.1.0 でもビルドすることは可能です.
12
13ここには mruby の本体は含まれません.以下からダウンロードする必要があります.
14 http://forum.mruby.org/
15
16■TECS ジェネレータ V1.5 での変更
17
18tMruby.cdl (パス:tecsgen/tecs/mruby/tMruby.cdl) を新設した.
19以下を可能にするために tMruby を composite に分解した.
20 * mruby スクリプトの周期タスク実行
21 * VM ごとに異なる TLSF アロケータコンポーネントを使用
22
23tMruby.cdl では tMruby (ネームスペースパス:nMruby::tMruby) の実装を
24新しくした他、周期タスク実行用の tMrubyCyclic (同:nMruby::tMrubyCyclic)
25を新設した.tMruby を分解した、tMrubyVM セルタイプと、そのシグニチャ
26sMruby (sMruby.cdl内) も新設した.
27
28tMruby.cdl に置き換え可能だが、以下の点でビルド用 Makefile の変更が必要.
29 * TLSF ヘッダ tTLSFMalloc_inline.h へのパスを追加
30 * TLSF のオブジェクトの追加 (mruby+TECS on EV3 には実装済み)
31
32また、以下の点に留意する必要がある.
33 * TLSF は、VM ごとに 1MB を割り付ける
34
35このため、十分な空きメモリが必要である.
36このサイズは VM セルの定義で変更可能 (属性 memoryPoolSize).
37
38■ コンポーネント概要
39
40tMruby.cdl: (TECS ジェネレータ V1.5.0 以降)
41 celltype tMrubyVM
42 VM を実装するためのセルタイプ.メモリアロケータ TLSFMalloc を含ま
43 ない. 受け口 eMrubyVM のシグニチャは sMruby.
44
45 composite tMruby
46 受け口 eMrubyBody のシグニチャを sTaskBody とする.tTLSFMalloc も
47 組み入れ.
48
49 composite tMrubyCyclic
50 受け口 eMrubyBody のシグニチャを sTaskBody とする.tTLSFMalloc も
51 組み入れ.
52 周期タスク起床を前提としている.
53 一回目の呼出しでは mrb_open し、ブリッジセルを登録後、mrb_run を呼
54 び出してスクリプト実行を行う.スクリプト終了後に mrb_close は呼び
55 出されない.
56 二回目以降の呼出しでは mrb_run のみ呼び出される.
57 終了処理 mrb_close を呼びだす手段は提供していない.突然電源が切ら
58 れることを前提としている. (少なくとも最初の実装では).
59
60sMruby.cdl:
61 signature sMruby
62 初期化、実行、終了処理に分解したシグニチャ
Note: See TracBrowser for help on using the repository browser.