[337] | 1 | /*
|
---|
| 2 | * サンプルプログラム(1)のコンポーネント記述ファイル
|
---|
| 3 | *
|
---|
| 4 | * $Id$
|
---|
| 5 | */
|
---|
| 6 | /*
|
---|
| 7 | * カーネルオブジェクトの定義
|
---|
| 8 | */
|
---|
| 9 | import(<kernel.cdl>);
|
---|
| 10 |
|
---|
| 11 | /*
|
---|
| 12 | * ターゲット非依存のセルタイプの定義
|
---|
| 13 | */
|
---|
| 14 | import("syssvc/tSerialPort.cdl");
|
---|
| 15 | import("syssvc/tSerialAdapter.cdl");
|
---|
| 16 | import("syssvc/tSysLog.cdl");
|
---|
| 17 | import("syssvc/tSysLogAdapter.cdl");
|
---|
| 18 | import("syssvc/tLogTask.cdl");
|
---|
| 19 | import("syssvc/tBanner.cdl");
|
---|
| 20 |
|
---|
| 21 | /*
|
---|
| 22 | * ターゲット依存部の取り込み
|
---|
| 23 | */
|
---|
[387] | 24 | import("ntshell.cdl");
|
---|
[337] | 25 |
|
---|
| 26 | /*
|
---|
| 27 | * 「セルの組上げ記述」とは,"cell"で始まる行から,それに対応する"};"
|
---|
| 28 | * の行までのことを言う.
|
---|
| 29 | */
|
---|
| 30 |
|
---|
| 31 | /*
|
---|
| 32 | * システムログ機能の組上げ記述
|
---|
| 33 | *
|
---|
| 34 | * システムログ機能を外す場合には,以下のセルの組上げ記述を削除し,コ
|
---|
| 35 | * ンパイルオプションに-DTOPPERS_OMIT_SYSLOGを追加すればよい.ただし,
|
---|
| 36 | * システムログタスクはシステムログ機能を使用するため,それも外すこと
|
---|
| 37 | * が必要である.また,システムログ機能のアダプタも外さなければならな
|
---|
| 38 | * い.tecsgenが警告メッセージを出すが,無視してよい.
|
---|
| 39 | */
|
---|
| 40 | cell tSysLog SysLog {
|
---|
| 41 | logBufferSize = 32; /* ログバッファのサイズ */
|
---|
| 42 | initLogMask = C_EXP("LOG_UPTO(LOG_NOTICE)");
|
---|
| 43 | /* ログバッファに記録すべき重要度 */
|
---|
| 44 | initLowMask = C_EXP("LOG_UPTO(LOG_EMERG)");
|
---|
| 45 | /* 低レベル出力すべき重要度 */
|
---|
| 46 | /* 低レベル出力との結合 */
|
---|
| 47 | cPutLog = PutLogTarget.ePutLog;
|
---|
| 48 | };
|
---|
| 49 |
|
---|
| 50 | /*
|
---|
| 51 | * C言語で記述されたアプリケーションから,TECSベースのシステムログ機能
|
---|
| 52 | * を呼び出すためのアダプタの組上げ記述
|
---|
| 53 | *
|
---|
| 54 | * システムログ機能のサービスコール(syslog関数とsyslog_0関数~syslog_5
|
---|
| 55 | * 関数以外のもの)ルをC言語で記述されたアプリケーションから呼び出さな
|
---|
| 56 | * い場合には,以下のセルの組上げ記述を削除すればよい.
|
---|
| 57 | */
|
---|
| 58 | cell tSysLogAdapter SysLogAdapter {
|
---|
| 59 | cSysLog = SysLog.eSysLog;
|
---|
| 60 | };
|
---|
| 61 |
|
---|
| 62 | /*
|
---|
| 63 | * シリアルインタフェースドライバの組上げ記述
|
---|
| 64 | *
|
---|
| 65 | * シリアルインタフェースドライバを外す場合には,以下のセルの組上げ記
|
---|
| 66 | * 述を削除すればよい.ただし,システムログタスクはシリアルインタフェー
|
---|
| 67 | * スドライバを使用するため,それも外すことが必要である.また,シリア
|
---|
| 68 | * ルインタフェースドライバのアダプタも外さなければならない.
|
---|
| 69 | */
|
---|
| 70 | cell tSerialPort SerialPort1 {
|
---|
| 71 | receiveBufferSize = 256; /* 受信バッファのサイズ */
|
---|
| 72 | sendBufferSize = 256; /* 送信バッファのサイズ */
|
---|
| 73 |
|
---|
| 74 | /* ターゲット依存部との結合 */
|
---|
| 75 | cSIOPort = SIOPortTarget1.eSIOPort;
|
---|
| 76 | eiSIOCBR <= SIOPortTarget1.ciSIOCBR; /* コールバック */
|
---|
| 77 | };
|
---|
| 78 |
|
---|
| 79 | /*
|
---|
| 80 | * C言語で記述されたアプリケーションから,TECSベースのシリアルインタ
|
---|
| 81 | * フェースドライバを呼び出すためのアダプタの組上げ記述
|
---|
| 82 | *
|
---|
| 83 | * シリアルインタフェースドライバのサービスコールをC言語で記述されたア
|
---|
| 84 | * プリケーションから呼び出さない場合には,以下のセルの組上げ記述を削
|
---|
| 85 | * 除すればよい.
|
---|
| 86 | */
|
---|
| 87 | cell tSerialAdapter SerialAdapter {
|
---|
| 88 | cSerialPort[0] = SerialPort1.eSerialPort;
|
---|
| 89 | };
|
---|
| 90 |
|
---|
| 91 | /*
|
---|
| 92 | * システムログタスクの組上げ記述
|
---|
| 93 | *
|
---|
| 94 | * システムログタスクを外す場合には,以下のセルの組上げ記述を削除すれ
|
---|
| 95 | * ばよい.
|
---|
| 96 | */
|
---|
| 97 | cell tLogTask LogTask {
|
---|
| 98 | priority = 3; /* システムログタスクの優先度 */
|
---|
| 99 | stackSize = LogTaskStackSize; /* システムログタスクのスタックサイズ */
|
---|
| 100 |
|
---|
| 101 | /* シリアルインタフェースドライバとの結合 */
|
---|
| 102 | cSerialPort = SerialPort1.eSerialPort;
|
---|
| 103 | cnSerialPortManage = SerialPort1.enSerialPortManage;
|
---|
| 104 |
|
---|
| 105 | /* システムログ機能との結合 */
|
---|
| 106 | cSysLog = SysLog.eSysLog;
|
---|
| 107 |
|
---|
| 108 | /* 低レベル出力との結合 */
|
---|
| 109 | cPutLog = PutLogTarget.ePutLog;
|
---|
| 110 | };
|
---|
| 111 |
|
---|
| 112 | /*
|
---|
| 113 | * カーネル起動メッセージ出力の組上げ記述
|
---|
| 114 | *
|
---|
| 115 | * カーネル起動メッセージの出力を外す場合には,以下のセルの組上げ記述
|
---|
| 116 | * を削除すればよい.
|
---|
| 117 | */
|
---|
| 118 | cell tBanner Banner {
|
---|
| 119 | /* 属性の設定 */
|
---|
| 120 | targetName = BannerTargetName;
|
---|
| 121 | copyrightNotice = BannerCopyrightNotice;
|
---|
| 122 | };
|
---|