Changeset 389 for azure_iot_hub/trunk/asp3_dcre/tecs_kernel/kernel.cdl
- Timestamp:
- May 22, 2019, 10:03:37 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
azure_iot_hub/trunk/asp3_dcre/tecs_kernel/kernel.cdl
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain;charset=UTF-8
r388 r389 9 9 * Graduate School of Information Science, Nagoya Univ., JAPAN 10 10 * 11 * ä¸è¨èä½æ¨©è 12 ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ 13 * ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹ 14 * å¤ã»åé 15 å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 16 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 17 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 18 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 19 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 20 * ç¨ã§ããå½¢ã§åé 21 å¸ããå ´åã«ã¯ï¼åé 22 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 23 * è 24 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 25 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 26 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 27 * ç¨ã§ããªãå½¢ã§åé 28 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 29 * ã¨ï¼ 30 * (a) åé 31 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 32 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 33 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 34 * (b) åé 35 å¸ã®å½¢æ 36 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 37 * å ±åãããã¨ï¼ 38 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 39 * 害ãããï¼ä¸è¨èä½æ¨©è 40 ããã³TOPPERSããã¸ã§ã¯ããå 41 責ãããã¨ï¼ 42 * ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç 43 * ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è 44 ããã³TOPPERSããã¸ã§ã¯ãã 45 * å 46 責ãããã¨ï¼ 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 * 免責すること. 47 33 * 48 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 49 ã 50 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 51 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 52 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 53 * ã®è²¬ä»»ãè² ããªãï¼ 34 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 35 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 36 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 37 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 38 * の責任を負わない. 54 39 * 55 40 * $Id$ … … 57 42 58 43 /* 59 * TOPPERS/ASP ã«ã¼ãã«ãªãã¸ã§ã¯ã ã³ã³ãã¼ãã³ãè¨è¿°ãã¡ã¤ã«60 */ 61 62 /* 63 * ã«ã¼ãã«ãªãã¸ã§ã¯ãã®ã³ã³ãã¼ãã³ãåã®ããã®ããããã¡ã¤ã«44 * TOPPERS/ASPカーネルオブジェクト コンポーネント記述ファイル 45 */ 46 47 /* 48 * カーネルオブジェクトのコンポーネント化のためのヘッダファイル 64 49 */ 65 50 import_C("tecs_kernel.h"); 66 51 67 52 /* 68 * ã«ã¼ãã«æä½ã®ã·ã°ããã£ï¼ã¿ã¹ã¯ã³ã³ããã¹ãç¨ï¼53 * カーネル操作のシグニチャ(タスクコンテキスト用) 69 54 */ 70 55 signature sKernel { … … 106 91 107 92 /* 108 * ã«ã¼ãã«æä½ã®ã·ã°ããã£ï¼éã¿ã¹ã¯ã³ã³ããã¹ãç¨ï¼93 * カーネル操作のシグニチャ(非タスクコンテキスト用) 109 94 */ 110 95 [context("non-task")] … … 123 108 ER exitKernel(void); 124 109 125 /* CPU ä¾å¤ãã³ãã©ä¸ã§ä½¿ç¨ãã*/110 /* CPU例外ハンドラ中で使用する */ 126 111 bool_t exceptionSenseDispatchPendingState 127 112 ([in] const void *p_exceptionInformation); … … 129 114 130 115 /* 131 * ã«ã¼ãã«ã®ã»ã«ã¿ã¤ã116 * カーネルのセルタイプ 132 117 */ 133 118 [singleton] … … 138 123 139 124 /* 140 * ã¿ã¤ã ã¤ãã³ãéç¥ãåãåãããã®ã·ã°ããã£125 * タイムイベント通知を受け取るためのシグネチャ 141 126 */ 142 127 [context("non-task")] … … 145 130 146 131 /* 147 * ã¿ã¹ã¯æ¬ä½ã®ã·ã°ããã£132 * タスク本体のシグニチャ 148 133 */ 149 134 signature sTaskBody { … … 152 137 153 138 /* 154 * ã¿ã¹ã¯æä½ã®ã·ã°ããã£ï¼ã¿ã¹ã¯ã³ã³ããã¹ãç¨ï¼139 * タスク操作のシグニチャ(タスクコンテキスト用) 155 140 */ 156 141 signature sTask { … … 173 158 174 159 /* 175 * ã¿ã¹ã¯æä½ã®ã·ã°ããã£ï¼éã¿ã¹ã¯ã³ã³ããã¹ãç¨ï¼160 * タスク操作のシグニチャ(非タスクコンテキスト用) 176 161 */ 177 162 [context("non-task")] … … 183 168 184 169 /* 185 * ã¿ã¹ã¯ã®ã»ã«ã¿ã¤ã170 * タスクのセルタイプ 186 171 */ 187 172 [active] … … 213 198 214 199 /* 215 * ã»ããã©æä½ã®ã·ã°ããã£ï¼ã¿ã¹ã¯ã³ã³ããã¹ãç¨ï¼200 * セマフォ操作のシグニチャ(タスクコンテキスト用) 216 201 */ 217 202 signature sSemaphore { … … 225 210 226 211 /* 227 * ã»ããã©æä½ã®ã·ã°ããã£ï¼éã¿ã¹ã¯ã³ã³ããã¹ãç¨ï¼212 * セマフォ操作のシグニチャ(非タスクコンテキスト用) 228 213 */ 229 214 [context("non-task")] … … 233 218 234 219 /* 235 * ã»ããã©ã®ã»ã«ã¿ã¤ã220 * セマフォのセルタイプ 236 221 */ 237 222 celltype tSemaphore { … … 258 243 259 244 /* 260 * ã¤ãã³ããã©ã°æä½ã®ã·ã°ããã£ï¼ã¿ã¹ã¯ã³ã³ããã¹ãç¨ï¼245 * イベントフラグ操作のシグニチャ(タスクコンテキスト用) 261 246 */ 262 247 signature sEventflag { … … 274 259 275 260 /* 276 * ã¤ãã³ããã©ã°æä½ã®ã·ã°ããã£ï¼éã¿ã¹ã¯ã³ã³ããã¹ãç¨ï¼261 * イベントフラグ操作のシグニチャ(非タスクコンテキスト用) 277 262 */ 278 263 [context("non-task")] … … 282 267 283 268 /* 284 * ã¤ãã³ããã©ã°ã®ã»ã«ã¿ã¤ã269 * イベントフラグのセルタイプ 285 270 */ 286 271 celltype tEventflag { … … 306 291 307 292 /* 308 * ãã¼ã¿ãã¥ã¼æä½ã®ã·ã°ããã£ï¼ã¿ã¹ã¯ã³ã³ããã¹ãç¨ï¼293 * データキュー操作のシグニチャ(タスクコンテキスト用) 309 294 */ 310 295 signature sDataqueue { … … 321 306 322 307 /* 323 * ãã¼ã¿ãã¥ã¼æä½ã®ã·ã°ããã£ï¼éã¿ã¹ã¯ã³ã³ããã¹ãç¨ï¼308 * データキュー操作のシグニチャ(非タスクコンテキスト用) 324 309 */ 325 310 [context("non-task")] … … 330 315 331 316 /* 332 * ãã¼ã¿ãã¥ã¼ã®ã»ã«ã¿ã¤ã317 * データキューのセルタイプ 333 318 */ 334 319 celltype tDataqueue { … … 355 340 356 341 /* 357 * åªå 358 度ãã¼ã¿ãã¥ã¼æä½ã®ã·ã°ããã£ï¼ã¿ã¹ã¯ã³ã³ããã¹ãç¨ï¼ 342 * 優先度データキュー操作のシグニチャ(タスクコンテキスト用) 359 343 */ 360 344 signature sPriorityDataqueue { … … 372 356 373 357 /* 374 * åªå 375 度ãã¼ã¿ãã¥ã¼æä½ã®ã·ã°ããã£ï¼éã¿ã¹ã¯ã³ã³ããã¹ãç¨ï¼ 358 * 優先度データキュー操作のシグニチャ(非タスクコンテキスト用) 376 359 */ 377 360 [context("non-task")] … … 381 364 382 365 /* 383 * åªå 384 度ãã¼ã¿ãã¥ã¼ã®ã»ã«ã¿ã¤ã 366 * 優先度データキューのセルタイプ 385 367 */ 386 368 celltype tPriorityDataqueue { … … 407 389 408 390 /* 409 * ãã¥ã¼ããã¯ã¹æä½ã®ã·ã°ããã£ï¼ã¿ã¹ã¯ã³ã³ããã¹ãç¨ï¼391 * ミューテックス操作のシグニチャ(タスクコンテキスト用) 410 392 */ 411 393 signature sMutex { … … 419 401 420 402 /* 421 * ãã¥ã¼ããã¯ã¹ã®ã»ã«ã¿ã¤ã403 * ミューテックスのセルタイプ 422 404 */ 423 405 celltype tMutex { … … 440 422 441 423 /* 442 * åºå®é·ã¡ã¢ãªã¡ã¢ãªãã¼ã«æä½ã®ã·ã°ããã£ï¼ã¿ã¹ã¯ã³ã³ããã¹ãç¨ï¼424 * 固定長メモリメモリプール操作のシグニチャ(タスクコンテキスト用) 443 425 */ 444 426 [deviate] … … 453 435 454 436 /* 455 * åºå®é·ã¡ã¢ãªãã¼ã«ã®ã»ã«ã¿ã¤ã437 * 固定長メモリプールのセルタイプ 456 438 */ 457 439 celltype tFixedSizeMemoryPool { … … 478 460 479 461 /* 480 * ãã³ãã©æ¬ä½ã®ã·ã°ããã£462 * ハンドラ本体のシグニチャ 481 463 */ 482 464 [context("non-task")] … … 486 468 487 469 /* 488 * ã¿ã¤ã ã¤ãã³ããã³ãã©ãæå®ããããã®ã»ã«ã¿ã¤ã470 * タイムイベントハンドラを指定するためのセルタイプ 489 471 */ 490 472 celltype tTimeEventHandler { … … 498 480 499 481 /* 500 * å¨æéç¥ãæä½ããããã®ã·ã°ããã£ï¼ã¿ã¹ã¯ã³ã³ããã¹ãç¨ï¼482 * 周期通知を操作するためのシグニチャ(タスクコンテキスト用) 501 483 */ 502 484 signature sCyclic { … … 507 489 508 490 /* 509 * å¨æéç¥ã®ã»ã«ã¿ã¤ã491 * 周期通知のセルタイプ 510 492 */ 511 493 [active, generate(NotifierPlugin, … … 525 507 [omit] RELTIM cyclePhase = 0; 526 508 527 /* å¤æ°ã®è¨å®ã«ããéç¥ï¼TNFY_SETVARï¼*/509 /* 変数の設定による通知(TNFY_SETVAR)*/ 528 510 [omit] intptr_t *setVariableAddress = 0; 529 511 [omit] intptr_t setVariableValue = 0; 530 512 531 /* å¤æ°ã®ã¤ã³ã¯ãªã¡ã³ãã«ããéç¥ï¼TNFY_INCVARï¼*/513 /* 変数のインクリメントによる通知(TNFY_INCVAR)*/ 532 514 [omit] intptr_t *incrementedVariableAddress = 0; 533 515 534 /* ã¤ãã³ããã©ã°ã®ã»ããã«ããéç¥ï¼TNFY_SETFLGï¼*/516 /* イベントフラグのセットによる通知(TNFY_SETFLG)*/ 535 517 [omit] FLGPTN flagPattern = 0; 536 518 537 /* ãã¼ã¿ãã¥ã¼ã¸ã®éä¿¡ã«ããéç¥ï¼TNFY_SNDDTQï¼*/519 /* データキューへの送信による通知(TNFY_SNDDTQ)*/ 538 520 [omit] intptr_t dataqueueSentValue = 0; 539 521 540 /* å¤æ°ã®è¨å®ã«ããã¨ã©ã¼éç¥ï¼TENFY_SETVARï¼*/522 /* 変数の設定によるエラー通知(TENFY_SETVAR)*/ 541 523 [omit] intptr_t *setVariableAddressForError = 0; 542 524 543 /* å¤æ°ã®ã¤ã³ã¯ãªã¡ã³ãã«ããã¨ã©ã¼éç¥ï¼TENFY_INCVARï¼*/525 /* 変数のインクリメントによるエラー通知(TENFY_INCVAR)*/ 544 526 [omit] intptr_t *incrementedVariableAddressForError = 0; 545 527 546 /* ã¤ãã³ããã©ã°ã®ã»ããã«ããã¨ã©ã¼éç¥ï¼TENFY_SETFLGï¼*/528 /* イベントフラグのセットによるエラー通知(TENFY_SETFLG)*/ 547 529 [omit] FLGPTN flagPatternForError = 0; 548 530 }; … … 554 536 555 537 /* 556 * å¨æéç¥ã«ã¦ã¼ã¶ã¼ãã³ãã©ãæå®ããããã®è¤åã»ã«ã¿ã¤ã538 * 周期通知にユーザーハンドラを指定するための複合セルタイプ 557 539 */ 558 540 [active] … … 584 566 585 567 /* 586 * ã¢ã©ã¼ã éç¥ãæä½ããããã®ã·ã°ããã£ï¼ã¿ã¹ã¯ã³ã³ããã¹ãç¨ï¼568 * アラーム通知を操作するためのシグニチャ(タスクコンテキスト用) 587 569 */ 588 570 signature sAlarm { … … 593 575 594 576 /* 595 * ã¢ã©ã¼ã éç¥ãæä½ããããã®ã·ã°ããã£ï¼éã¿ã¹ã¯ã³ã³ããã¹ãç¨ï¼577 * アラーム通知を操作するためのシグニチャ(非タスクコンテキスト用) 596 578 */ 597 579 [context("non-task")] … … 602 584 603 585 /* 604 * ã¢ã©ã¼ã éç¥ã®ã»ã«ã¿ã¤ã586 * アラーム通知のセルタイプ 605 587 */ 606 588 [active, generate(NotifierPlugin, … … 619 601 [omit] bool_t ignoreErrors = false; 620 602 621 /* å¤æ°ã®è¨å®ã«ããéç¥ï¼TNFY_SETVARï¼*/603 /* 変数の設定による通知(TNFY_SETVAR)*/ 622 604 [omit] intptr_t *setVariableAddress = 0; 623 605 [omit] intptr_t setVariableValue = 0; 624 606 625 /* å¤æ°ã®ã¤ã³ã¯ãªã¡ã³ãã«ããéç¥ï¼TNFY_INCVARï¼*/607 /* 変数のインクリメントによる通知(TNFY_INCVAR)*/ 626 608 [omit] intptr_t *incrementedVariableAddress = 0; 627 609 628 /* ã¤ãã³ããã©ã°ã®ã»ããã«ããéç¥ï¼TNFY_SETFLGï¼*/610 /* イベントフラグのセットによる通知(TNFY_SETFLG)*/ 629 611 [omit] FLGPTN flagPattern = 0; 630 612 631 /* ãã¼ã¿ãã¥ã¼ã¸ã®éä¿¡ã«ããéç¥ï¼TNFY_SNDDTQï¼*/613 /* データキューへの送信による通知(TNFY_SNDDTQ)*/ 632 614 [omit] intptr_t dataqueueSentValue = 0; 633 615 634 /* å¤æ°ã®è¨å®ã«ããã¨ã©ã¼éç¥ï¼TENFY_SETVARï¼*/616 /* 変数の設定によるエラー通知(TENFY_SETVAR)*/ 635 617 [omit] intptr_t *setVariableAddressForError = 0; 636 618 637 /* å¤æ°ã®ã¤ã³ã¯ãªã¡ã³ãã«ããã¨ã©ã¼éç¥ï¼TENFY_INCVARï¼*/619 /* 変数のインクリメントによるエラー通知(TENFY_INCVAR)*/ 638 620 [omit] intptr_t *incrementedVariableAddressForError = 0; 639 621 640 /* ã¤ãã³ããã©ã°ã®ã»ããã«ããã¨ã©ã¼éç¥ï¼TENFY_SETFLGï¼*/622 /* イベントフラグのセットによるエラー通知(TENFY_SETFLG)*/ 641 623 [omit] FLGPTN flagPatternForError = 0; 642 624 }; … … 648 630 649 631 /* 650 * ã¢ã©ã¼ã éç¥ã«ã¦ã¼ã¶ã¼ãã³ãã©ãæå®ããããã®è¤åã»ã«ã¿ã¤ã632 * アラーム通知にユーザーハンドラを指定するための複合セルタイプ 651 633 */ 652 634 [active] … … 676 658 677 659 /* 678 * å²è¾¼ã¿è¦æ±ã©ã¤ã³æä½ã®ã·ã°ããã£ï¼ã¿ã¹ã¯ã³ã³ããã¹ãç¨ï¼660 * 割込み要求ライン操作のシグニチャ(タスクコンテキスト用) 679 661 */ 680 662 signature sInterruptRequest { … … 687 669 688 670 /* 689 * å²è¾¼ã¿è¦æ±ã©ã¤ã³ã®ã»ã«ã¿ã¤ã671 * 割込み要求ラインのセルタイプ 690 672 */ 691 673 celltype tInterruptRequest { … … 705 687 706 688 /* 707 * å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ã®ã»ã«ã¿ã¤ã689 * 割込みサービスルーチンのセルタイプ 708 690 */ 709 691 [active] … … 729 711 730 712 /* 731 * å²è¾¼ã¿ãã³ãã©ã®ã»ã«ã¿ã¤ã713 * 割込みハンドラのセルタイプ 732 714 */ 733 715 [active] … … 750 732 751 733 /* 752 * CPU ä¾å¤ãã³ãã©ã®ã»ã«ã¿ã¤ã734 * CPU例外ハンドラのセルタイプ 753 735 */ 754 736 [active] … … 771 753 772 754 /* 773 * åæåï¼çµäºå¦çã«ã¼ãã³æ¬ä½ã®ã·ã°ããã£755 * 初期化/終了処理ルーチン本体のシグニチャ 774 756 */ 775 757 signature sRoutineBody { … … 778 760 779 761 /* 780 * åæåã«ã¼ãã³ã®ã»ã«ã¿ã¤ã762 * 初期化ルーチンのセルタイプ 781 763 */ 782 764 [active] … … 799 781 800 782 /* 801 * çµäºå¦çã«ã¼ãã³ã®ã»ã«ã¿ã¤ã783 * 終了処理ルーチンのセルタイプ 802 784 */ 803 785 [active]
Note:
See TracChangeset
for help on using the changeset viewer.