1 | mruby
|
---|
2 | 2017.4.17 新規
|
---|
3 | 2017.11.4
|
---|
4 | 大山 博司
|
---|
5 |
|
---|
6 | ■概要
|
---|
7 |
|
---|
8 | mruby ディレクトリには、組込み用 mruby VM のセルタイプ、および
|
---|
9 | MrubyBridgePlugin に対応したモジュールが含まれます.
|
---|
10 |
|
---|
11 | mruby V1.2.0 に対応しています.V1.1.0 でもビルドすることは可能です.
|
---|
12 |
|
---|
13 | ここには mruby の本体は含まれません.以下からダウンロードする必要があります.
|
---|
14 | http://forum.mruby.org/
|
---|
15 |
|
---|
16 | ■TECS ジェネレータ V1.5 での変更
|
---|
17 |
|
---|
18 | tMruby.cdl (パス:tecsgen/tecs/mruby/tMruby.cdl) を新設した.
|
---|
19 | 以下を可能にするために tMruby を composite に分解した.
|
---|
20 | * mruby スクリプトの周期タスク実行
|
---|
21 | * VM ごとに異なる TLSF アロケータコンポーネントを使用
|
---|
22 |
|
---|
23 | tMruby.cdl では tMruby (ネームスペースパス:nMruby::tMruby) の実装を
|
---|
24 | 新しくした他、周期タスク実行用の tMrubyCyclic (同:nMruby::tMrubyCyclic)
|
---|
25 | を新設した.tMruby を分解した、tMrubyVM セルタイプと、そのシグニチャ
|
---|
26 | sMruby (sMruby.cdl内) も新設した.
|
---|
27 |
|
---|
28 | tMruby.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 |
|
---|
40 | tMruby.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 |
|
---|
60 | sMruby.cdl:
|
---|
61 | signature sMruby
|
---|
62 | 初期化、実行、終了処理に分解したシグニチャ
|
---|