Changeset 429 for EcnlProtoTool/trunk/asp3_dcre/tecs_kernel/kernel.cdl
- Timestamp:
- Jul 3, 2020, 7:19:17 PM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
EcnlProtoTool/trunk/asp3_dcre/tecs_kernel/kernel.cdl
r321 r429 6 6 * Copyright (C) 2015,2016 by Ushio Laboratory 7 7 * Graduate School of Engineering Science, Osaka Univ., JAPAN 8 * Copyright (C) 2015 ,2016by Embedded and Real-Time Systems Laboratory8 * Copyright (C) 2015-2018 by Embedded and Real-Time Systems Laboratory 9 9 * Graduate School of Information Science, Nagoya Univ., JAPAN 10 10 * … … 299 299 ER sendForce([in] intptr_t data); 300 300 ER receive([out] intptr_t *p_data); 301 ER receivePolling([out] intptr_t *p_ Data);301 ER receivePolling([out] intptr_t *p_data); 302 302 ER receiveTimeout([out] intptr_t *p_data, [in] TMO timeout); 303 303 ER initialize(void); … … 397 397 ER unlock(void); 398 398 ER initialize(void); 399 ER refer([out] T_R SEM*pk_mutexStatus);399 ER refer([out] T_RMTX *pk_mutexStatus); 400 400 }; 401 401 … … 501 501 502 502 attr { 503 ID id = C_EXP(" ALMID_$id$");503 ID id = C_EXP("CYCID_$id$"); 504 504 [omit] ATR attribute = C_EXP("TA_NULL"); 505 505 [omit] bool_t ignoreErrors = false; … … 536 536 537 537 /* 538 * 周期通知に ユーザーハンドラを指定するための複合セルタイプ538 * 周期通知にタイムイベントハンドラを指定するための複合セルタイプ 539 539 */ 540 540 [active] … … 544 544 545 545 attr { 546 ID id = C_EXP(" ALMID_$id$");546 ID id = C_EXP("CYCID_$id$"); 547 547 [omit] ATR attribute = C_EXP("TA_NULL"); 548 548 [omit] RELTIM cycleTime; … … 630 630 631 631 /* 632 * アラーム通知に ユーザーハンドラを指定するための複合セルタイプ632 * アラーム通知にタイムイベントハンドラを指定するための複合セルタイプ 633 633 */ 634 634 [active] … … 663 663 ER disable(void); 664 664 ER enable(void); 665 ER clear(void); 666 ER raise(void); 667 ER_BOOL probe(void); 665 668 }; 666 669 … … 715 718 716 719 attr { 717 INHNO interruptHandlerNumber; 718 [omit] ATR attribute = C_EXP("TA_NULL"); 719 }; 720 721 factory { 722 write("tecsgen.cfg", 723 "DEF_INH(%s, { %s, tInterruptHandler_start });", attribute); 720 [omit] INHNO interruptHandlerNumber; 721 [omit] ATR attribute = C_EXP("TA_NULL"); 722 }; 723 724 factory { 725 write("tecsgen.cfg", "DEF_INH(%s, { %s, $id$_start });", 726 interruptHandlerNumber, attribute); 727 write("$ct$_tecsgen.h", 728 "#ifndef TOPPERS_MACRO_ONLY\n" 729 "extern void $id$_start(void);\n" 730 "#endif /* TOPPERS_MACRO_ONLY */\n"); 731 write("$ct$.c", 732 "void $id$_start()\n" 733 "{\n" 734 " CELLCB *p_cellcb = $cbp$;\n" 735 " ciInterruptHandlerBody_main();\n" 736 "}\n"); 724 737 }; 725 738 FACTORY { 726 739 write("tecsgen.cfg", "#include \"$ct$_tecsgen.h\""); 727 }; 740 write("$ct$.c", "#include \"$ct$_tecsgen.h\""); 741 }; 742 }; 743 744 /* 745 * CPU例外ハンドラ本体のシグニチャ 746 */ 747 [context("non-task")] 748 signature siCpuExceptionHandlerBody { 749 void main([in] const void *p_excinf); 728 750 }; 729 751 … … 733 755 [active] 734 756 celltype tCpuExceptionHandler { 735 call siHandlerBody ciCpuExceptionHandlerBody; 736 737 attr { 738 EXCNO cpuExceptionHandlerNumber; 739 [omit] ATR attribute = C_EXP("TA_NULL"); 740 }; 741 742 factory { 743 write("tecsgen.cfg", 744 "DEF_EXC(%s, { %s, tCpuExceptionHandler_start });", attribute); 757 call siCpuExceptionHandlerBody ciCpuExceptionHandlerBody; 758 759 attr { 760 [omit] EXCNO cpuExceptionHandlerNumber; 761 [omit] ATR attribute = C_EXP("TA_NULL"); 762 }; 763 764 factory { 765 write("tecsgen.cfg", "DEF_EXC(%s, { %s, $id$_start });", 766 cpuExceptionHandlerNumber, attribute); 767 write("$ct$_tecsgen.h", 768 "#ifndef TOPPERS_MACRO_ONLY\n" 769 "extern void $id$_start(void *p_excinf);\n" 770 "#endif /* TOPPERS_MACRO_ONLY */\n"); 771 write("$ct$.c", 772 "void $id$_start(void *p_excinf)\n" 773 "{\n" 774 " CELLCB *p_cellcb = $cbp$;\n" 775 " ciCpuExceptionHandlerBody_main(p_excinf);\n" 776 "}\n"); 745 777 }; 746 778 FACTORY { 747 779 write("tecsgen.cfg", "#include \"$ct$_tecsgen.h\""); 780 write("$ct$.c", "#include \"$ct$_tecsgen.h\""); 748 781 }; 749 782 };
Note:
See TracChangeset
for help on using the changeset viewer.