source: EcnlProtoTool/trunk/ntshell/src/main.cdl@ 441

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

NTShellタスクを更新

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/plain;charset=UTF-8
File size: 7.8 KB
Line 
1/*
2 * TOPPERS/ASP Kernel
3 * Toyohashi Open Platform for Embedded Real-Time Systems/
4 * Advanced Standard Profile Kernel
5 *
6 * Copyright (C) 2015 by Ushio Laboratory
7 * Graduate School of Engineering Science, Osaka Univ., JAPAN
8 * Copyright (C) 2015,2016 by Embedded and Real-Time Systems Laboratory
9 * Graduate School of Information Science, Nagoya Univ., JAPAN
10 *
11 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
12 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
13 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
14 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
15 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
16 * スコード中に含まれていること.
17 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
18 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用
19 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記
20 * の無保証規定を掲載すること.
21 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
22 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ
23 * と.
24 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
25 * 作権表示,この利用条件および下記の無保証規定を掲載すること.
26 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
27 * 報告すること.
28 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
29 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
30 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
31 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
32 * 免責すること.
33 *
34 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お
35 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
36 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
37 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
38 * の責任を負わない.
39 *
40 * $Id$
41 */
42/*
43 * カーネルオブジェクトの定義
44 */
45import(<kernel.cdl>);
46
47/*
48 * ターゲット非依存のセルタイプの定義
49 */
50import("syssvc/tSerialPort.cdl");
51import("syssvc/tSerialAdapter.cdl");
52import("syssvc/tSysLog.cdl");
53import("syssvc/tSysLogAdapter.cdl");
54import("syssvc/tLogTask.cdl");
55import("syssvc/tBanner.cdl");
56
57import_C("target_syssvc.h");
58
59/*
60 * タスクのスタックサイズのデフォルト
61 */
62const size_t DefaultTaskStackSize = 1024; /* スタックサイズ(1KB)*/
63
64/*
65 * システムログタスクのスタックサイズの定義
66 */
67const size_t LogTaskStackSize = DefaultTaskStackSize;
68
69/*
70 * カーネル起動メッセージに関する定義
71 */
72const char *const BannerTargetName = C_EXP("TARGET_NAME"); /* ターゲット名 */
73const char *const BannerCopyrightNotice = ""; /* 著作権表示 */
74
75/*
76 * ターゲット依存のセルタイプの定義
77 */
78import("syssvc/tPutLogSIOPort.cdl");
79import("tSIOPortNTShell.cdl");
80
81/*
82 * シリアルインタフェースドライバのターゲット依存部の組み上げ記述
83 */
84cell tSIOPortNTShell SIOPortTarget1 {
85};
86
87/*
88 * 低レベル出力の組み上げ記述
89 */
90cell tPutLogSIOPort PutLogTarget {
91 /* SIOドライバとの結合 */
92 cSIOPort = SIOPortTarget1.eSIOPort;
93};
94
95/*
96 * 「セルの組上げ記述」とは,"cell"で始まる行から,それに対応する"};"
97 * の行までのことを言う.
98 */
99
100/*
101 * システムログ機能の組上げ記述
102 *
103 * システムログ機能を外す場合には,以下のセルの組上げ記述を削除し,コ
104 * ンパイルオプションに-DTOPPERS_OMIT_SYSLOGを追加すればよい.ただし,
105 * システムログタスクはシステムログ機能を使用するため,それも外すこと
106 * が必要である.また,システムログ機能のアダプタも外さなければならな
107 * い.tecsgenが警告メッセージを出すが,無視してよい.
108 */
109cell tSysLog SysLog {
110 logBufferSize = 32; /* ログバッファのサイズ */
111 initLogMask = C_EXP("LOG_UPTO(LOG_NOTICE)");
112 /* ログバッファに記録すべき重要度 */
113 initLowMask = C_EXP("LOG_UPTO(LOG_EMERG)");
114 /* 低レベル出力すべき重要度 */
115 /* 低レベル出力との結合 */
116 cPutLog = PutLogTarget.ePutLog;
117};
118
119/*
120 * C言語で記述されたアプリケーションから,TECSベースのシステムログ機能
121 * を呼び出すためのアダプタの組上げ記述
122 *
123 * システムログ機能のサービスコール(syslog関数とsyslog_0関数~syslog_5
124 * 関数以外のもの)ルをC言語で記述されたアプリケーションから呼び出さな
125 * い場合には,以下のセルの組上げ記述を削除すればよい.
126 */
127cell tSysLogAdapter SysLogAdapter {
128 cSysLog = SysLog.eSysLog;
129};
130
131/*
132 * シリアルインタフェースドライバの組上げ記述
133 *
134 * シリアルインタフェースドライバを外す場合には,以下のセルの組上げ記
135 * 述を削除すればよい.ただし,システムログタスクはシリアルインタフェー
136 * スドライバを使用するため,それも外すことが必要である.また,シリア
137 * ルインタフェースドライバのアダプタも外さなければならない.
138 */
139cell tSerialPort SerialPort1 {
140 receiveBufferSize = 256; /* 受信バッファのサイズ */
141 sendBufferSize = 256; /* 送信バッファのサイズ */
142
143 /* ターゲット依存部との結合 */
144 cSIOPort = SIOPortTarget1.eSIOPort;
145 eiSIOCBR <= SIOPortTarget1.ciSIOCBR; /* コールバック */
146};
147
148/*
149 * C言語で記述されたアプリケーションから,TECSベースのシリアルインタ
150 * フェースドライバを呼び出すためのアダプタの組上げ記述
151 *
152 * シリアルインタフェースドライバのサービスコールをC言語で記述されたア
153 * プリケーションから呼び出さない場合には,以下のセルの組上げ記述を削
154 * 除すればよい.
155 */
156cell tSerialAdapter SerialAdapter {
157 cSerialPort[0] = SerialPort1.eSerialPort;
158};
159
160/*
161 * システムログタスクの組上げ記述
162 *
163 * システムログタスクを外す場合には,以下のセルの組上げ記述を削除すれ
164 * ばよい.
165 */
166cell tLogTask LogTask {
167 priority = 3; /* システムログタスクの優先度 */
168 stackSize = LogTaskStackSize; /* システムログタスクのスタックサイズ */
169
170 /* シリアルインタフェースドライバとの結合 */
171 cSerialPort = SerialPort1.eSerialPort;
172 cnSerialPortManage = SerialPort1.enSerialPortManage;
173
174 /* システムログ機能との結合 */
175 cSysLog = SysLog.eSysLog;
176
177 /* 低レベル出力との結合 */
178 cPutLog = PutLogTarget.ePutLog;
179};
180
181/*
182 * カーネル起動メッセージ出力の組上げ記述
183 *
184 * カーネル起動メッセージの出力を外す場合には,以下のセルの組上げ記述
185 * を削除すればよい.
186 */
187cell tBanner Banner {
188 /* 属性の設定 */
189 targetName = BannerTargetName;
190 copyrightNotice = BannerCopyrightNotice;
191};
Note: See TracBrowser for help on using the repository browser.