Changeset 429 for EcnlProtoTool/trunk/asp3_dcre/tecs_kernel
- Timestamp:
- Jul 3, 2020, 7:19:17 PM (4 years ago)
- Location:
- EcnlProtoTool/trunk/asp3_dcre/tecs_kernel
- Files:
-
- 10 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 }; -
EcnlProtoTool/trunk/asp3_dcre/tecs_kernel/tAlarmNotifier_inline.h
r321 r429 6 6 * Copyright (C) 2015 by Ushio Laboratory 7 7 * Graduate School of Engineering Science, Osaka Univ., JAPAN 8 * Copyright (C) 2015 by 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 * … … 81 81 { 82 82 CELLCB *p_cellcb = GET_CELLCB(idx); 83 return( ista_alm(ATTR_id, alarmTime));83 return(sta_alm(ATTR_id, alarmTime)); 84 84 } 85 85 … … 91 91 { 92 92 CELLCB *p_cellcb = GET_CELLCB(idx); 93 return( istp_alm(ATTR_id));93 return(stp_alm(ATTR_id)); 94 94 } 95 95 -
EcnlProtoTool/trunk/asp3_dcre/tecs_kernel/tFixedSizeMemoryPool_inline.h
r321 r429 51 51 { 52 52 CELLCB *p_cellcb = GET_CELLCB(idx); 53 return(get_mpf( 53 return(get_mpf(ATTR_id, p_block)); 54 54 } 55 55 -
EcnlProtoTool/trunk/asp3_dcre/tecs_kernel/tInitializeRoutine.c
r321 r429 46 46 * 初期化ルーチン本体の呼出し 47 47 */ 48 void tInitializeRoutine_start(intptr_t exinf) 48 void 49 tInitializeRoutine_start(intptr_t exinf) 49 50 { 50 51 CELLCB *p_cellcb = (CELLCB *) exinf; -
EcnlProtoTool/trunk/asp3_dcre/tecs_kernel/tInterruptRequest_inline.h
r321 r429 6 6 * Copyright (C) 2015 by Ushio Laboratory 7 7 * Graduate School of Engineering Science, Osaka Univ., JAPAN 8 * Copyright (C) 2015 by Embedded and Real-Time Systems Laboratory8 * Copyright (C) 2015-2017 by Embedded and Real-Time Systems Laboratory 9 9 * Graduate School of Information Science, Nagoya Univ., JAPAN 10 10 * … … 64 64 } 65 65 66 /* 67 * 割込み要求のクリア 68 */ 69 Inline ER 70 eInterruptRequest_clear(CELLIDX idx) 71 { 72 CELLCB *p_cellcb = GET_CELLCB(idx); 73 return(clr_int(ATTR_interruptNumber)); 74 } 75 76 /* 77 * 割込みの要求 78 */ 79 Inline ER 80 eInterruptRequest_raise(CELLIDX idx) 81 { 82 CELLCB *p_cellcb = GET_CELLCB(idx); 83 return(ras_int(ATTR_interruptNumber)); 84 } 85 86 /* 87 * 割込み要求のチェック 88 */ 89 Inline ER_BOOL 90 eInterruptRequest_probe(CELLIDX idx) 91 { 92 CELLCB *p_cellcb = GET_CELLCB(idx); 93 return(prb_int(ATTR_interruptNumber)); 94 } 95 66 96 #endif /* TOPPERS_TINTERRUPTREQUEST_INLINE_H */ -
EcnlProtoTool/trunk/asp3_dcre/tecs_kernel/tKernel_inline.h
r321 r429 185 185 eKernel_getNthTask(PRI taskPriority, uint_t nth, ID* p_taskID) 186 186 { 187 return (get_nth(taskPriority, nth, p_taskID)); 188 } 187 return(get_nth(taskPriority, nth, p_taskID)); 188 } 189 189 190 /* 190 191 * CPUロック状態への遷移 -
EcnlProtoTool/trunk/asp3_dcre/tecs_kernel/tMutex_inline.h
r321 r429 71 71 { 72 72 CELLCB *p_cellcb = GET_CELLCB(idx); 73 return( ploc_mtx(ATTR_id, timeout));73 return(tloc_mtx(ATTR_id, timeout)); 74 74 } 75 75 -
EcnlProtoTool/trunk/asp3_dcre/tecs_kernel/tTask_inline.h
r321 r429 6 6 * Copyright (C) 2015 by Ushio Laboratory 7 7 * Graduate School of Engineering Science, Osaka Univ., JAPAN 8 * Copyright (C) 2015 by Embedded and Real-Time Systems Laboratory8 * Copyright (C) 2015-2019 by Embedded and Real-Time Systems Laboratory 9 9 * Graduate School of Information Science, Nagoya Univ., JAPAN 10 10 * … … 191 191 { 192 192 CELLCB *p_cellcb= GET_CELLCB(idx); 193 return( iwup_tsk(ATTR_id));193 return(wup_tsk(ATTR_id)); 194 194 } 195 195 … … 201 201 { 202 202 CELLCB *p_cellcb = GET_CELLCB(idx); 203 return( irel_wai(ATTR_id));203 return(rel_wai(ATTR_id)); 204 204 } 205 205 -
EcnlProtoTool/trunk/asp3_dcre/tecs_kernel/tTerminateRoutine.c
r321 r429 46 46 * 終了処理ルーチン本体の呼出し 47 47 */ 48 49 voidtTerminateRoutine_start(intptr_t exinf)48 void 49 tTerminateRoutine_start(intptr_t exinf) 50 50 { 51 51 CELLCB *p_cellcb = (CELLCB *) exinf; -
EcnlProtoTool/trunk/asp3_dcre/tecs_kernel/tecs_kernel.h
r321 r429 47 47 #include <kernel.h> 48 48 49 extern void tTask_start(intptr_t exinf); 50 51 extern void tTimeEventHandler_start(intptr_t exinf); 49 extern void tTask_start(intptr_t exinf); 52 50 53 51 extern void tISR_start(intptr_t exinf); 54 extern void tInterruptHandler_start(void);55 extern void tCpuExceptionHandler_start(void *p_excinf);56 52 57 53 extern void tInitializeRoutine_start(intptr_t exinf);
Note:
See TracChangeset
for help on using the changeset viewer.