source: TECS-SimpleSample/tags/SimpleSample-20120707/SimpleSample/SimpleSample.cdl@ 164

Last change on this file since 164 was 34, checked in by okuma-top, 12 years ago

totally brush up

File size: 1.9 KB
Line 
1/*
2 * Simple な Sample
3 *
4 * +-------------+ +-------------+ +-------------+
5 * | | | | | |
6 * | tTask | sTaskBody | tSimple | sSample | tSample |
7 * | Task |-----------|> Simple |----------|> Sample |
8 * | |cTask eBody| |cCall eEnt| |
9 * | |Body | | | |
10 * +-------------+ +-------------+ +-------------+
11 *
12 *・シグニチャ記述
13 *
14 * sSample … 関数インタフェースの定義
15 * 慣習として接頭文字 s を付加する
16 *
17 * シグニチャ sSampleには 2 つの関数 sayHello と howAreYou がある。
18 * セルタイプ tSample の提供する機能となるので、sSample という名前にした。
19 *
20 *・セルタイプ記述
21 *
22 * tSimple … 呼び元のセルタイプ
23 * tSample … 呼び先のセルタイプ
24 * 慣習として接頭文字 t を付加する
25 * tTask … cygwin 用の tTask は cygwin_kernel.cdl を import することで使用できる
26 *
27 *・組上げ記述
28 *
29 * Simple … 呼び元のセル
30 * Sample … 呼び先のセル
31 * Task … タスクセル
32 *
33 * セルタイプコード:
34 * src/tSimple.c … 呼び元のセルタイプコード
35 * src/tSample.c … 呼び先のセルタイプコード
36 *
37 */
38
39// cygwin 用の簡易な型定義
40import( <cygwin_kernel.cdl> );
41 // TECS 対応 TOPPERS/ASP ならば import( <kernel.cdl> ); に相当する
42
43// シグニチャ sSample
44signature sSample {
45 ER sayHello( [in]int32_t times );
46 ER howAreYou( [out,string(len)]char_t *buf, [in]int32_t len );
47};
48
49// セルタイプ tSample
50celltype tSample {
51 entry sSample eEnt;
52};
53
54// セルタイプ tSimple
55celltype tSimple {
56 call sSample cCall;
57 entry sTaskBody eBody;
58};
59
60// セル Sample
61cell tSample Sample {
62};
63
64// セル Simple
65cell tSimple Simple {
66 cCall = Sample.eEnt;
67};
68
69// セル Task
70cell tTask Task {
71 cBody = Simple.eBody;
72 priority = 11;
73 stackSize = 1024;
74 taskAttribute = C_EXP( "TA_ACT" );
75};
Note: See TracBrowser for help on using the repository browser.