Changeset 306
- Timestamp:
- Jun 27, 2017, 10:53:32 AM (7 years ago)
- Location:
- asp3_wo_tecs/trunk
- Files:
-
- 202 added
- 6 deleted
- 112 edited
Legend:
- Unmodified
- Added
- Removed
-
asp3_wo_tecs/trunk/MANIFEST
r302 r306 2 2 VERSION 3.0.0 3 3 4 configure 4 configure.rb 5 5 MANIFEST 6 6 README.txt … … 10 10 doc/design.txt 11 11 doc/extension.txt 12 doc/migration.txt 12 13 doc/porting.txt 13 14 doc/user.txt … … 26 27 kernel/alarm.c 27 28 kernel/alarm.h 28 kernel/alarm.t f29 kernel/alarm.trb 29 30 kernel/allfunc.h 30 31 kernel/check.h 31 32 kernel/cyclic.c 32 33 kernel/cyclic.h 33 kernel/cyclic.t f34 kernel/cyclic.trb 34 35 kernel/dataqueue.c 35 36 kernel/dataqueue.h 36 kernel/dataqueue.t f37 kernel/dataqueue.trb 37 38 kernel/eventflag.c 38 39 kernel/eventflag.h 39 kernel/eventflag.t f40 kernel/eventflag.trb 40 41 kernel/exception.c 41 42 kernel/exception.h 42 kernel/exception.t f43 kernel/genoffset.t f43 kernel/exception.trb 44 kernel/genoffset.trb 44 45 kernel/interrupt.c 45 46 kernel/interrupt.h 46 kernel/interrupt.tf 47 kernel/kernel.tf 48 kernel/kernel_api.csv 49 kernel/kernel_check.tf 50 kernel/kernel_def.csv 47 kernel/interrupt.trb 48 kernel/kernel.trb 49 kernel/kernel_api.def 50 kernel/kernel_check.trb 51 51 kernel/kernel_impl.h 52 52 kernel/kernel_int.h 53 53 kernel/kernel_rename.def 54 54 kernel/kernel_rename.h 55 kernel/kernel_sym.def 55 56 kernel/kernel_unrename.h 56 57 kernel/mempfix.c 57 58 kernel/mempfix.h 58 kernel/mempfix.t f59 kernel/mempfix.trb 59 60 kernel/mutex.c 60 61 kernel/mutex.h 61 kernel/mutex.t f62 kernel/mutex.trb 62 63 kernel/pridataq.c 63 64 kernel/pridataq.h 64 kernel/pridataq.t f65 kernel/pridataq.trb 65 66 kernel/semaphore.c 66 67 kernel/semaphore.h 67 kernel/semaphore.t f68 kernel/semaphore.trb 68 69 kernel/startup.c 69 70 kernel/sys_manage.c 70 71 kernel/task.c 71 72 kernel/task.h 72 kernel/task.t f73 kernel/task.trb 73 74 kernel/task_manage.c 74 75 kernel/task_refer.c … … 83 84 kernel/wait.h 84 85 85 syssvc/banner.c 86 syssvc/banner.cfg 87 syssvc/banner.h 88 syssvc/histogram.c 86 tecs_kernel/init_tecs.c 87 tecs_kernel/kernel.cdl 88 tecs_kernel/tAlarmNotifier.c 89 tecs_kernel/tAlarmNotifier_inline.h 90 tecs_kernel/tCpuExceptionHandler.c 91 tecs_kernel/tCyclicNotifier.c 92 tecs_kernel/tCyclicNotifier_inline.h 93 tecs_kernel/tDataqueue_inline.h 94 tecs_kernel/tEventflag_inline.h 95 tecs_kernel/tFixedSizeMemoryPool_inline.h 96 tecs_kernel/tISR.c 97 tecs_kernel/tInitializeRoutine.c 98 tecs_kernel/tInterruptHandler.c 99 tecs_kernel/tInterruptRequest_inline.h 100 tecs_kernel/tKernel_inline.h 101 tecs_kernel/tMutex_inline.h 102 tecs_kernel/tPriorityDataqueue_inline.h 103 tecs_kernel/tSemaphore_inline.h 104 tecs_kernel/tTask.c 105 tecs_kernel/tTask_inline.h 106 tecs_kernel/tTerminateRoutine.c 107 tecs_kernel/tTimeEventHandler.c 108 tecs_kernel/tecs_kernel.h 109 89 110 syssvc/histogram.h 90 syssvc/logtask.c91 syssvc/logtask.cfg92 syssvc/logtask.h93 syssvc/serial.c94 syssvc/serial.cfg95 111 syssvc/serial.h 96 syssvc/syslog.c97 syssvc/syslog.cfg98 112 syssvc/syslog.h 99 syssvc/test_svc.c 113 syssvc/tHistogram.c 114 syssvc/tHistogram.cdl 115 syssvc/tHistogram.h 116 syssvc/tHistogramAdapter.c 117 syssvc/tHistogramAdapter.cdl 118 syssvc/tBanner.cdl 119 syssvc/tBannerMain.c 120 syssvc/tLogTask.cdl 121 syssvc/tLogTaskMain.c 122 syssvc/tSerialAdapter.c 123 syssvc/tSerialAdapter.cdl 124 syssvc/tSerialPort.cdl 125 syssvc/tSerialPortMain.c 126 syssvc/tSysLog.c 127 syssvc/tSysLog.cdl 128 syssvc/tSysLogAdapter.c 129 syssvc/tSysLogAdapter.cdl 130 syssvc/tTestService.c 131 syssvc/tTestService.cdl 100 132 syssvc/test_svc.h 101 133 … … 107 139 arch/gcc/tool_stddef.h 108 140 109 arch/logtrace/trace_config.h 110 arch/logtrace/trace_config.c 111 arch/logtrace/trace_config.cfg 112 arch/logtrace/trace_dump.c 141 arch/tracelog/trace_log.h 142 arch/tracelog/tTraceLog.c 143 arch/tracelog/tTraceLog.cdl 113 144 114 utils/applyrename 115 utils/genrename 116 utils/gentest 117 utils/makerelease 118 utils/move-if-change 145 utils/applyrename.rb 146 utils/genrename.rb 147 utils/gentest.rb 148 utils/makerelease.rb 119 149 120 150 sample/Makefile 121 151 sample/sample1.c 152 sample/sample1.cdl 122 153 sample/sample1.cfg 123 154 sample/sample1.h 155 sample/tSample2.c 156 sample/tSample2.cdl 157 sample/tSample2.cfg 158 sample/tSample2.h 124 159 160 INCLUDE cfg/MANIFEST 125 161 INCLUDE test/MANIFEST 126 162 INCLUDE extension/MANIFEST -
asp3_wo_tecs/trunk/README.txt
r305 r306 1 1 2 TOPPERS/ASP3 Kernelï¼Release 3. 0.0ï¼2 TOPPERS/ASP3 Kernelï¼Release 3.1ï¼ 3 3 Toyohashi Open Platform for Embedded Real-Time Systems/ 4 4 Advanced Standard Profile Kernel -
asp3_wo_tecs/trunk/arch/arm_gcc/MANIFEST
r302 r306 1 1 PACKAGE asp3_arch_arm_gcc 2 VERSION 3. 0.02 VERSION 3.1.0 3 3 4 4 MANIFEST 5 5 6 6 doc/arm_design.txt 7 doc/arm_user.txt 7 8 doc/gic_design.txt 8 9 … … 11 12 common/arm.h 12 13 common/arm_insn.h 13 common/core.tf14 14 common/core_asm.inc 15 15 common/core_cfg1_out.h 16 common/core_check.tf 17 common/core_def.csv 16 common/core_check.trb 18 17 common/core_kernel.h 18 common/core_kernel.trb 19 19 common/core_kernel_impl.c 20 20 common/core_kernel_impl.h 21 common/core_offset.t f21 common/core_offset.trb 22 22 common/core_rename.def 23 23 common/core_rename.h … … 25 25 common/core_stddef.h 26 26 common/core_support.S 27 common/core_sym.def 28 common/core_syssvc.h 27 29 common/core_test.h 28 30 common/core_unrename.h … … 30 32 common/gic_kernel_impl.h 31 33 common/gic_support.S 34 common/pl310.c 35 common/pl310.h 32 36 common/sp804.h 33 37 common/start.S 34 common/uart_pl011.c 38 common/tUartPL011.c 39 common/tUartPL011.cdl 35 40 common/uart_pl011.h 36 41 37 42 INCLUDE mpcore/MANIFEST 43 INCLUDE rza1/MANIFEST 44 38 45 INCLUDE ../../target/ct11mpcore_gcc/MANIFEST 46 INCLUDE ../../target/gr_peach_gcc/MANIFEST -
asp3_wo_tecs/trunk/arch/arm_gcc/common/Makefile.core
r304 r306 2 2 # Makefileã®ã³ã¢ä¾åé¨ï¼ARMç¨ï¼ 3 3 # 4 # $Id: Makefile.core 484 2016-01-03 15:13:38Z ertl-hiro $4 # $Id: Makefile.core 572 2016-02-01 14:40:09Z ertl-hiro $ 5 5 # 6 6 -
asp3_wo_tecs/trunk/arch/arm_gcc/common/arm.h
r305 r306 52 52 * ã®è²¬ä»»ãè² ããªãï¼ 53 53 * 54 * $Id: arm.h 523 2016-01-14 11:01:04Z ertl-hiro $54 * $Id: arm.h 694 2016-03-23 13:17:48Z ertl-hiro $ 55 55 */ 56 56 … … 127 127 #define CP15_SCTLR_VECTOR UINT_C(0x00002000) 128 128 #define CP15_SCTLR_ICACHE UINT_C(0x00001000) 129 #define CP15_SCTLR_BP UINT_C(0x00000800) 129 130 #define CP15_SCTLR_DCACHE UINT_C(0x00000004) 130 131 #define CP15_SCTLR_MMU UINT_C(0x00000001) … … 308 309 309 310 /* 311 * åå²äºæ¸¬ãã¤ãã¼ãã« 312 */ 313 Inline void 314 arm_enable_bp(void) 315 { 316 uint32_t reg; 317 318 CP15_READ_SCTLR(reg); 319 reg |= CP15_SCTLR_BP; 320 CP15_WRITE_SCTLR(reg); 321 } 322 323 /* 324 * åå²äºæ¸¬ããã£ã¹ã¨ã¼ãã« 325 */ 326 Inline void 327 arm_disable_bp(void) 328 { 329 uint32_t reg; 330 331 CP15_READ_SCTLR(reg); 332 reg &= ~CP15_SCTLR_BP; 333 CP15_WRITE_SCTLR(reg); 334 } 335 336 /* 310 337 * ããã»ããµçªå·ã®åå¾ 311 338 * … … 413 440 414 441 /* 442 * åå²äºæ¸¬ã®ç¡å¹å 443 */ 444 Inline void 445 arm_invalidate_bp(void) 446 { 447 CP15_INVALIDATE_BP(); 448 data_sync_barrier(); 449 inst_sync_barrier(); 450 } 451 452 /* 415 453 * TLBã®ç¡å¹å 416 454 */ -
asp3_wo_tecs/trunk/arch/arm_gcc/common/arm_insn.h
r304 r306 52 52 * ã®è²¬ä»»ãè² ããªãï¼ 53 53 * 54 * $Id: arm_insn.h 547 2016-01-16 06:26:08Z ertl-hiro $54 * $Id: arm_insn.h 694 2016-03-23 13:17:48Z ertl-hiro $ 55 55 */ 56 56 … … 245 245 #define CP15_INVALIDATE_ICACHE() \ 246 246 Asm("mcr p15, 0, %0, c7, c5, 0"::"r"(0)) 247 248 /* åå²äºæ¸¬å 249 ¨ä½ã®ç¡å¹å */ 250 #define CP15_INVALIDATE_BP() Asm("mcr p15, 0, %0, c7, c5, 6"::"r"(0)) 247 251 248 252 /* ãã¼ã¿ãã£ãã·ã¥å … … 435 439 } 436 440 441 /* 442 * CP15ã®ã»ãã¥ãªãã£æ¡å¼µã¬ã¸ã¹ã¿æä½ãã¯ãï¼ARMv7ã®ã¿ï¼ 443 */ 444 #if __TARGET_ARCH_ARM == 7 445 446 /* ãã¯ã¿ãã¼ã¹ã¢ãã¬ã¹ã¬ã¸ã¹ã¿ */ 447 #define CP15_READ_VBAR(reg) Asm("mrc p15, 0, %0, c12, c0, 0":"=r"(reg)) 448 #define CP15_WRITE_VBAR(reg) Asm("mcr p15, 0, %0, c12, c0, 0"::"r"(reg)) 449 450 #endif /* __TARGET_ARCH_ARM == 7 */ 437 451 #endif /* TOPPERS_ARM_INSN_H */ -
asp3_wo_tecs/trunk/arch/arm_gcc/common/core_asm.inc
r302 r306 3 3 * Toyohashi Open Platform for Embedded Real-Time Systems 4 4 * 5 * Copyright (C) 2011-201 4by Embedded and Real-Time Systems Laboratory5 * Copyright (C) 2011-2016 by Embedded and Real-Time Systems Laboratory 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 7 * … … 50 50 * ã®è²¬ä»»ãè² ããªãï¼ 51 51 * 52 * $Id: core_asm.inc 349 2015-07-25 05:25:27Z ertl-hiro $52 * $Id: core_asm.inc 714 2016-03-31 05:52:19Z ertl-hiro $ 53 53 */ 54 54 … … 82 82 #define BSS_END __end_bss 83 83 84 /* 85 * ãã¼ã¿ã¡ã¢ãªããªã¢ 86 */ 87 .macro asm_data_memory_barrier reg1 88 #ifdef ASM_DATA_MEMORY_BARRIER 89 ASM_DATA_MEMORY_BARRIER(reg1) 90 #elif __TARGET_ARCH_ARM <= 6 91 mov \reg1, #0 92 mcr p15, 0, \reg1, c7, c10, 5 93 #else /* __TARGET_ARCH_ARM <= 6 */ 94 dmb 95 #endif 96 .endm 97 98 /* 99 * ãã¼ã¿åæããªã¢ 100 */ 101 .macro asm_data_sync_barrier reg1 102 #ifdef ASM_DATA_SYNC_BARRIER 103 ASM_DATA_SYNC_BARRIER(reg1) 104 #elif __TARGET_ARCH_ARM <= 6 105 mov \reg1, #0 106 mcr p15, 0, \reg1, c7, c10, 4 107 #else /* __TARGET_ARCH_ARM <= 6 */ 108 dsb 109 #endif 110 .endm 111 112 /* 113 * å½ä»¤åæããªã¢ 114 */ 115 .macro asm_inst_sync_barrier reg1 116 #ifdef ASM_INST_SYNC_BARRIER 117 ASM_INST_SYNC_BARRIER(reg1) 118 #elif __TARGET_ARCH_ARM <= 6 119 mov \reg1, #0 120 mcr p15, 0, \reg1, c7, c5, 4 121 #else /* __TARGET_ARCH_ARM <= 6 */ 122 isb 123 #endif 124 .endm 125 84 126 #endif /* TOPPERS_CORE_ASM_INC */ -
asp3_wo_tecs/trunk/arch/arm_gcc/common/core_check.trb
r305 r306 3 3 # ãã¹3ã®çæã¹ã¯ãªããã®ã³ã¢ä¾åé¨ï¼ARMç¨ï¼ 4 4 # 5 # $Id: core_check.trb 588 2016-02-05 12:54:58Z ertl-hiro $5 # $Id: core_check.trb 730 2016-04-03 02:04:52Z ertl-hiro $ 6 6 # 7 7 8 # 8 # 9 9 # ã¿ã¼ã²ããéä¾åé¨ã®ã¤ã³ã¯ã«ã¼ã 10 # 10 # 11 11 IncludeTrb("kernel/kernel_check.trb") 12 12 … … 27 27 error_wrong_id("E_PAR", params, :inthdr, :inhno, "not aligned") 28 28 end 29 if $CHECK_FUNC_NONNULL == 1&& inthdr == 029 if $CHECK_FUNC_NONNULL && inthdr == 0 30 30 error_wrong_id("E_PAR", params, :inthdr, :inhno, "null") 31 31 end … … 47 47 error_wrong_id("E_PAR", params, :exchdr, :excno, "not aligned") 48 48 end 49 if $CHECK_FUNC_NONNULL == 1&& exchdr == 049 if $CHECK_FUNC_NONNULL && exchdr == 0 50 50 error_wrong_id("E_PAR", params, :exchdr, :excno, "null") 51 51 end -
asp3_wo_tecs/trunk/arch/arm_gcc/common/core_kernel.h
r302 r306 6 6 * Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory 7 7 * Toyohashi Univ. of Technology, JAPAN 8 * Copyright (C) 2004-201 5by Embedded and Real-Time Systems Laboratory8 * Copyright (C) 2004-2016 by Embedded and Real-Time Systems Laboratory 9 9 * Graduate School of Information Science, Nagoya Univ., JAPAN 10 10 * … … 53 53 * ã®è²¬ä»»ãè² ããªãï¼ 54 54 * 55 * $Id: core_kernel.h 454 2015-08-16 03:18:46Z ertl-hiro $55 * $Id: core_kernel.h 718 2016-04-01 15:05:01Z ertl-hiro $ 56 56 */ 57 57 … … 109 109 uint32_t r3; 110 110 uint32_t r4; 111 uint32_t r5; 111 112 uint32_t r12; 112 113 uint32_t lr; … … 125 126 uint32_t r3; 126 127 uint32_t r4; 128 uint32_t r5; 127 129 uint32_t r12; 128 130 uint32_t lr; -
asp3_wo_tecs/trunk/arch/arm_gcc/common/core_kernel.trb
r304 r306 53 53 # ã®è²¬ä»»ãè² ããªãï¼ 54 54 # 55 # $Id: core_kernel.trb 572 2016-02-01 14:40:09Z ertl-hiro $55 # $Id: core_kernel.trb 662 2016-02-27 02:33:51Z ertl-hiro $ 56 56 # 57 57 … … 96 96 # å²è¾¼ã¿è¦æ±ã©ã¤ã³è¨å®ãã¼ãã« 97 97 # 98 if $USE_INTCFG_TABLE == 198 if $USE_INTCFG_TABLE 99 99 $kernelCfgC.comment_header("Interrupt Configuration Table") 100 100 -
asp3_wo_tecs/trunk/arch/arm_gcc/common/core_kernel_impl.h
r304 r306 6 6 * Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory 7 7 * Toyohashi Univ. of Technology, JAPAN 8 * Copyright (C) 2006-201 5by Embedded and Real-Time Systems Laboratory8 * Copyright (C) 2006-2016 by Embedded and Real-Time Systems Laboratory 9 9 * Graduate School of Information Science, Nagoya Univ., JAPAN 10 10 * … … 53 53 * ã®è²¬ä»»ãè² ããªãï¼ 54 54 * 55 * $Id: core_kernel_impl.h 546 2016-01-16 06:00:09Z ertl-hiro $55 * $Id: core_kernel_impl.h 664 2016-02-29 16:32:29Z ertl-hiro $ 56 56 */ 57 57 … … 79 79 #endif /* __thumb__ */ 80 80 #define CHECK_FUNC_NONNULL /* é¢æ°ã®éNULLãã§ã㯠*/ 81 #define CHECK_STACK_ALIGN 4/* ã¹ã¿ãã¯é åã®ã¢ã©ã¤ã³åä½ */81 #define CHECK_STACK_ALIGN 8 /* ã¹ã¿ãã¯é åã®ã¢ã©ã¤ã³åä½ */ 82 82 #define CHECK_STACK_NONNULL /* ã¹ã¿ãã¯é åã®éNULLãã§ã㯠*/ 83 83 #define CHECK_MPF_ALIGN 4 /* åºå®é·ã¡ã¢ãªãã¼ã«é åã®ã¢ã©ã¤ã³åä½ */ -
asp3_wo_tecs/trunk/arch/arm_gcc/common/core_rename.def
r302 r306 42 42 irc_end_exc 43 43 44 # pl310.c 45 pl310_initialize 46 pl310_disable 47 pl310_invalidate_all 48 pl310_clean_and_invalidate_all 49 44 50 # target_kernel_impl.c 45 51 arm_tnum_memory_area -
asp3_wo_tecs/trunk/arch/arm_gcc/common/core_rename.h
r304 r306 58 58 59 59 /* 60 * pl310.c 61 */ 62 #define pl310_initialize _kernel_pl310_initialize 63 #define pl310_disable _kernel_pl310_disable 64 #define pl310_invalidate_all _kernel_pl310_invalidate_all 65 #define pl310_clean_and_invalidate_all _kernel_pl310_clean_and_invalidate_all 66 67 /* 60 68 * target_kernel_impl.c 61 69 */ -
asp3_wo_tecs/trunk/arch/arm_gcc/common/core_sil.h
r302 r306 5 5 * Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory 6 6 * Toyohashi Univ. of Technology, JAPAN 7 * Copyright (C) 2004-201 4by Embedded and Real-Time Systems Laboratory7 * Copyright (C) 2004-2016 by Embedded and Real-Time Systems Laboratory 8 8 * Graduate School of Information Science, Nagoya Univ., JAPAN 9 9 * … … 52 52 * ã®è²¬ä»»ãè² ããªãï¼ 53 53 * 54 * $Id: core_sil.h 352 2015-07-25 06:36:42Z ertl-hiro $54 * $Id: core_sil.h 714 2016-03-31 05:52:19Z ertl-hiro $ 55 55 */ 56 56 … … 155 155 #define SIL_UNL_INT() (TOPPERS_set_fiq_irq(TOPPERS_fiq_irq_mask)) 156 156 157 /*158 * å¾®å°æéå¾159 ã¡160 */161 Inline void162 sil_dly_nse(ulong_t dlytim) throw()163 {164 register uint32_t r0 asm("r0") = (uint32_t) dlytim;165 Asm("bl _sil_dly_nse" : "=g"(r0) : "0"(r0) : "lr","cc");166 }167 168 157 #endif /* TOPPERS_MACRO_ONLY */ 169 158 #endif /* TOPPERS_CORE_SIL_H */ -
asp3_wo_tecs/trunk/arch/arm_gcc/common/core_support.S
r302 r306 6 6 * Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory 7 7 * Toyohashi Univ. of Technology, JAPAN 8 * Copyright (C) 2006-201 5by Embedded and Real-Time Systems Laboratory8 * Copyright (C) 2006-2016 by Embedded and Real-Time Systems Laboratory 9 9 * Graduate School of Information Science, Nagoya Univ., JAPAN 10 10 * … … 53 53 * ã®è²¬ä»»ãè² ããªãï¼ 54 54 * 55 * $Id: core_support.S 459 2015-08-29 13:03:42Z ertl-hiro $55 * $Id: core_support.S 733 2016-04-03 09:10:54Z ertl-hiro $ 56 56 */ 57 57 … … 72 72 * ä¾å¤ãã¯ã¿ 73 73 */ 74 ASECTION(vector) 74 ASECTION(.vector) 75 AALIGN(5) 75 76 AGLOBAL(vector_table) 76 77 ALABEL(vector_table) … … 122 123 ã§å¼ã³åºãããï¼ 123 124 */ 124 push { lr} /* æ»ãçªå°ãä¿å*/125 push {r12,lr} /* æ»ãçªå°ãä¿åï¼r12ã¯ããã¼ */ 125 126 #ifdef TOPPERS_SUPPORT_OVRHDR 126 127 bl ovrtimer_stop … … 139 140 bl ovrtimer_start 140 141 #endif /* TOPPERS_SUPPORT_OVRHDR */ 141 pop { lr}/* æ»ãçªå°ã復帰 */142 pop {r12,lr} /* æ»ãçªå°ã復帰 */ 142 143 bx lr 143 144 … … 325 326 */ 326 327 msr cpsr_c, #(CPSR_SVC_MODE AOR CPSR_IRQ_BIT) 327 stmfd sp!, {r0-r 4,r12,lr,pc} /* pcã¯ã¹ãã¼ã¹ç¢ºä¿ã®ãã */328 stmfd sp!, {r0-r5,r12,lr,pc} /* pcã¯ã¹ãã¼ã¹ç¢ºä¿ã®ãã */ 328 329 329 330 /* … … 339 340 */ 340 341 msr cpsr_c, #(CPSR_SVC_MODE AOR CPSR_IRQ_BIT) 341 str r2, [sp,#0x 1c] /* æ»ãçªå°ãã¹ã¿ãã¯ã«ä¿å */342 str r2, [sp,#0x20] /* æ»ãçªå°ãã¹ã¿ãã¯ã«ä¿å */ 342 343 push {r1} /* spsrãã¹ã¿ãã¯ã«ä¿å */ 343 344 #else /* __TARGET_ARCH_ARM < 6 */ … … 354 355 */ 355 356 cps #CPSR_SVC_MODE 356 stmfd sp!, {r0-r 4,r12,lr}357 stmfd sp!, {r0-r5,r12,lr} 357 358 #endif /* __TARGET_ARCH_ARM < 6 */ 359 360 /* 361 * ã¹ã¿ãã¯ãã¤ã³ã¿ã®èª¿æ´ 362 */ 363 and r1, sp, #4 364 sub sp, sp, r1 365 push {r0,r1} /* r0ã¯ã¹ãã¼ã¹ç¢ºä¿ã®ãã */ 358 366 359 367 /* … … 378 386 * éã¿ã¹ã¯ã³ã³ããã¹ãç¨ã®ã¹ã¿ãã¯ã«åãæããï¼ 379 387 */ 380 mov r 1, sp /* ãã®æç¹ã®ã¹ã¿ãã¯ãã¤ã³ã¿ãr1ã« */388 mov r3, sp /* ãã®æç¹ã®ã¹ã¿ãã¯ãã¤ã³ã¿ãr3ã« */ 381 389 ldr r2, =istkpt /* éã¿ã¹ã¯ã³ã³ããã¹ãç¨ã®ã¹ã¿ãã¯ã« */ 382 390 ldr sp, [r2] 383 push {r 1} /* åæãåã®ã¹ã¿ãã¯ãã¤ã³ã¿ãä¿å */384 391 push {r0,r3} /* åæãåã®ã¹ã¿ãã¯ãã¤ã³ã¿ãä¿å */ 392 /* r0ã¯ã¹ãã¼ã¹ç¢ºä¿ã®ãã */ 385 393 ALABEL(irq_handler_1) 386 394 /* … … 388 396 */ 389 397 bl irc_begin_int 390 cmp r4, #TNUM_INHNO /* ã¹ããªã¢ã¹å²è¾¼ã¿ãªã */ 391 bhs irq_handler_2 /* irq_handler_2ã«åå² */ 392 398 #if TNUM_INHNO <= 256 || __TARGET_ARCH_ARM <= 6 399 cmp r4, #TNUM_INHNO /* TNUM_INHNOã®å¤ã«ãã£ã¦ã¯ã¨ã©ã¼ã«ãªã */ 400 #else /* TNUM_INHNO <= 256 || __TARGET_ARCH_ARM <= 6 */ 401 movw r3, #TNUM_INHNO 402 cmp r4, r3 403 #endif /* TNUM_INHNO <= 256 || __TARGET_ARCH_ARM <= 6 */ 404 bhs irq_handler_2 /* ã¹ããªã¢ã¹å²è¾¼ã¿ãªã */ 405 /* irq_handler_2ã«åå² */ 393 406 /* 394 407 * CPUããã¯è§£é¤ç¶æ … … 447 460 ALABEL(irq_handler_2) 448 461 bl irc_end_int 449 #endif /* OMIT_IRQ_HANDLER */450 462 451 463 /* … … 462 474 * ã¿ã¹ã¯ç¨ã®ã¹ã¿ãã¯ã«æ»ãï¼ 463 475 */ 464 pop {r 1}465 mov sp, r 1476 pop {r0,r3} 477 mov sp, r3 466 478 467 479 /* … … 469 481 è¦ãå¤å®ããï¼ 470 482 */ 471 ALABEL(ret_int_1)472 483 ldr r0, =p_runtsk /* p_runtsk â r0 */ 473 484 ldr r0, [r0] … … 482 493 tst r0, r0 /* p_runtskãNULLãªãdispatcher_0㸠*/ 483 494 beq dispatcher_0 484 stmfd sp!, {r 5-r11} /* éã¹ã¯ã©ããã¬ã¸ã¹ã¿ã®ä¿å */495 stmfd sp!, {r6-r11} /* éã¹ã¯ã©ããã¬ã¸ã¹ã¿ã®ä¿å */ 485 496 str sp, [r0,#TCB_sp] /* ã¹ã¿ãã¯ãã¤ã³ã¿ãä¿å */ 486 497 adr r1, ret_int_r /* å®è¡åéçªå°ãä¿å */ … … 492 503 * ã³ã³ããã¹ãã復帰ããï¼ 493 504 */ 494 ldmfd sp!, {r 5-r11} /* éã¹ã¯ã©ããã¬ã¸ã¹ã¿ã®å¾©å¸° */505 ldmfd sp!, {r6-r11} /* éã¹ã¯ã©ããã¬ã¸ã¹ã¿ã®å¾©å¸° */ 495 506 496 507 #ifdef TOPPERS_SUPPORT_OVRHDR … … 516 527 #endif /* TOPPERS_SUPPORT_OVRHDR */ 517 528 ALABEL(irq_handler_3) 529 pop {r0,r1} /* ã¹ã¿ãã¯ãã¤ã³ã¿ã®èª¿æ´ */ 530 add sp, sp, r1 518 531 #if __TARGET_ARCH_ARM < 6 519 532 ldmfd sp!, {r0} /* æ»ãå 520 533 ã®cpsrãspsrã«è¨å® */ 521 534 msr spsr_cxsf, r0 522 ldmfd sp!, {r0-r 4,r12,lr,pc}^ /* ã³ã³ããã¹ãã®å¾©å¸° */535 ldmfd sp!, {r0-r5,r12,lr,pc}^ /* ã³ã³ããã¹ãã®å¾©å¸° */ 523 536 /* ^ä»ããªã®ã§ï¼spsr â cpsr */ 524 537 #else /* __TARGET_ARCH_ARM < 6 */ 525 ldmfd sp!, {r0-r 4,r12,lr}538 ldmfd sp!, {r0-r5,r12,lr} 526 539 rfefd sp! 527 540 #endif /* __TARGET_ARCH_ARM < 6 */ … … 536 549 b irq_handler_3 537 550 #endif /* TOPPERS_SUPPORT_OVRHDR */ 551 #endif /* OMIT_IRQ_HANDLER */ 538 552 539 553 /* … … 560 574 */ 561 575 msr cpsr_c, #(CPSR_SVC_MODE AOR CPSR_FIQ_IRQ_BIT) 562 stmfd sp!, {r0-r 4,r12,lr,pc} /* pcã¯ã¹ãã¼ã¹ç¢ºä¿ã®ãã */576 stmfd sp!, {r0-r5,r12,lr,pc} /* pcã¯ã¹ãã¼ã¹ç¢ºä¿ã®ãã */ 563 577 564 578 /* … … 573 587 */ 574 588 msr cpsr_c, #(CPSR_SVC_MODE AOR CPSR_FIQ_IRQ_BIT) 575 str r2, [sp,#0x 1c] /* æ»ãçªå°ãã¹ã¿ãã¯ã«ä¿å */589 str r2, [sp,#0x20] /* æ»ãçªå°ãã¹ã¿ãã¯ã«ä¿å */ 576 590 push {r1} /* spsrãã¹ã¿ãã¯ã«ä¿å */ 577 591 #else /* __TARGET_ARCH_ARM < 6 */ … … 587 601 */ 588 602 cps #CPSR_SVC_MODE 589 stmfd sp!, {r0-r 4,r12,lr}603 stmfd sp!, {r0-r5,r12,lr} 590 604 #endif /* __TARGET_ARCH_ARM < 6 */ 591 605 mov r4, #EXCNO_UNDEF … … 609 623 */ 610 624 msr cpsr_c, #(CPSR_SVC_MODE AOR CPSR_FIQ_IRQ_BIT) 611 stmfd sp!, {r0-r 4,r12,lr,pc} /* pcã¯ã¹ãã¼ã¹ç¢ºä¿ã®ãã */625 stmfd sp!, {r0-r5,r12,lr,pc} /* pcã¯ã¹ãã¼ã¹ç¢ºä¿ã®ãã */ 612 626 613 627 /* … … 620 634 * æ»ãçªå°ã¨spsrãä¿åããï¼ 621 635 */ 622 str r2, [sp,#0x 1c] /* æ»ãçªå°ãã¹ã¿ãã¯ã«ä¿å */636 str r2, [sp,#0x20] /* æ»ãçªå°ãã¹ã¿ãã¯ã«ä¿å */ 623 637 push {r1} /* spsrãã¹ã¿ãã¯ã«ä¿å */ 624 638 #else /* __TARGET_ARCH_ARM < 6 */ … … 634 648 */ 635 649 cps #CPSR_SVC_MODE /* ä¸è¦ã¨æããã */ 636 stmfd sp!, {r0-r 4,r12,lr}650 stmfd sp!, {r0-r5,r12,lr} 637 651 #endif /* __TARGET_ARCH_ARM < 6 */ 638 652 mov r4, #EXCNO_SVC … … 657 671 */ 658 672 msr cpsr_c, #(CPSR_SVC_MODE AOR CPSR_FIQ_IRQ_BIT) 659 stmfd sp!, {r0-r 4,r12,lr,pc} /* pcã¯ã¹ãã¼ã¹ç¢ºä¿ã®ãã */673 stmfd sp!, {r0-r5,r12,lr,pc} /* pcã¯ã¹ãã¼ã¹ç¢ºä¿ã®ãã */ 660 674 661 675 /* … … 670 684 */ 671 685 msr cpsr_c, #(CPSR_SVC_MODE AOR CPSR_FIQ_IRQ_BIT) 672 str r2, [sp,#0x 1c] /* æ»ãçªå°ãã¹ã¿ãã¯ã«ä¿å */686 str r2, [sp,#0x20] /* æ»ãçªå°ãã¹ã¿ãã¯ã«ä¿å */ 673 687 push {r1} /* spsrãã¹ã¿ãã¯ã«ä¿å */ 674 688 #else /* __TARGET_ARCH_ARM < 6 */ … … 684 698 */ 685 699 cps #CPSR_SVC_MODE 686 stmfd sp!, {r0-r 4,r12,lr}700 stmfd sp!, {r0-r5,r12,lr} 687 701 #endif /* __TARGET_ARCH_ARM < 6 */ 688 702 mov r4, #EXCNO_PABORT … … 720 734 */ 721 735 msr cpsr_c, #(CPSR_SVC_MODE AOR CPSR_FIQ_IRQ_BIT) 722 stmfd sp!, {r0-r 4,r12,lr,pc} /* pcã¯ã¹ãã¼ã¹ç¢ºä¿ã®ãã */736 stmfd sp!, {r0-r5,r12,lr,pc} /* pcã¯ã¹ãã¼ã¹ç¢ºä¿ã®ãã */ 723 737 724 738 /* … … 733 747 */ 734 748 msr cpsr_c, #(CPSR_SVC_MODE AOR CPSR_FIQ_IRQ_BIT) 735 str r2, [sp,#0x 1c] /* æ»ãçªå°ãã¹ã¿ãã¯ã«ä¿å */749 str r2, [sp,#0x20] /* æ»ãçªå°ãã¹ã¿ãã¯ã«ä¿å */ 736 750 push {r1} /* spsrãã¹ã¿ãã¯ã«ä¿å */ 737 751 #else /* __TARGET_ARCH_ARM < 6 */ … … 747 761 */ 748 762 cps #CPSR_SVC_MODE 749 stmfd sp!, {r0-r 4,r12,lr}763 stmfd sp!, {r0-r5,r12,lr} 750 764 #endif /* __TARGET_ARCH_ARM < 6 */ 751 765 mov r4, #EXCNO_DABORT … … 766 780 ldr sp, =istkpt 767 781 ldr sp, [sp] 768 stmfd sp!, {r0-r 4,r12,lr,pc} /* pcã¯ã¹ãã¼ã¹ç¢ºä¿ã®ãã */782 stmfd sp!, {r0-r5,r12,lr,pc} /* pcã¯ã¹ãã¼ã¹ç¢ºä¿ã®ãã */ 769 783 770 784 /* … … 779 793 */ 780 794 msr cpsr_c, #(CPSR_SVC_MODE AOR CPSR_FIQ_IRQ_BIT) 781 str r2, [sp,#0x 1c] /* æ»ãçªå°ãã¹ã¿ãã¯ã«ä¿å */795 str r2, [sp,#0x20] /* æ»ãçªå°ãã¹ã¿ãã¯ã«ä¿å */ 782 796 push {r1} /* spsrãã¹ã¿ãã¯ã«ä¿å */ 783 797 #else /* __TARGET_ARCH_ARM < 6 */ … … 786 800 * ã¯ãã¤ã³ã¿ãåæåããï¼ 787 801 */ 788 cpsid if, #CPSR_SVC_MODE802 cpsid if, #CPSR_SVC_MODE 789 803 ldr sp, =istkpt 790 804 ldr sp, [sp] … … 802 816 */ 803 817 cps #CPSR_SVC_MODE 804 stmfd sp!, {r0-r 4,r12,lr}818 stmfd sp!, {r0-r5,r12,lr} 805 819 #endif /* __TARGET_ARCH_ARM < 6 */ 806 820 … … 833 847 */ 834 848 msr cpsr_c, #(CPSR_SVC_MODE AOR CPSR_FIQ_IRQ_BIT) 835 stmfd sp!, {r0-r 4,r12,lr,pc} /* pcã¯ã¹ãã¼ã¹ç¢ºä¿ã®ãã */849 stmfd sp!, {r0-r5,r12,lr,pc} /* pcã¯ã¹ãã¼ã¹ç¢ºä¿ã®ãã */ 836 850 837 851 /* … … 846 860 */ 847 861 msr cpsr_c, #(CPSR_SVC_MODE AOR CPSR_FIQ_IRQ_BIT) 848 str r2, [sp,#0x 1c] /* æ»ãçªå°ãã¹ã¿ãã¯ã«ä¿å */862 str r2, [sp,#0x20] /* æ»ãçªå°ãã¹ã¿ãã¯ã«ä¿å */ 849 863 push {r1} /* spsrãã¹ã¿ãã¯ã«ä¿å */ 850 864 #else /* __TARGET_ARCH_ARM < 6 */ … … 860 874 */ 861 875 cps #CPSR_SVC_MODE 862 stmfd sp!, {r0-r 4,r12,lr}876 stmfd sp!, {r0-r5,r12,lr} 863 877 #endif /* __TARGET_ARCH_ARM < 6 */ 864 878 mov r4, #EXCNO_FIQ … … 875 889 * ããã®æç¹ã®ã¬ã¸ã¹ã¿ç¶æ 876 890 ã 877 * r 0ï¼CPUä¾å¤ãã³ãã©çªå·891 * r4ï¼CPUä¾å¤ãã³ãã©çªå· 878 892 */ 879 893 ALABEL(exc_handler_1) … … 889 903 ldr r3, [r2] 890 904 push {r3} /* ä¾å¤ãã¹ãã«ã¦ã³ããä¿å */ 891 mov r 12, sp /* CPUä¾å¤ã®æ905 mov r5, sp /* CPUä¾å¤ã®æ 892 906 å ±ãè¨æ¶ãã¦ããé åã® */ 893 /* å 894 é çªå°ãr12ã«ä¿å */ 907 /* å 908 é çªå°ãr5ã«ä¿å */ 909 /* 910 * ã¹ã¿ãã¯ãã¤ã³ã¿ã®èª¿æ´ 911 */ 912 and r1, sp, #4 913 sub sp, sp, r1 914 push {r0,r1} /* r0ã¯ã¹ãã¼ã¹ç¢ºä¿ã®ãã */ 915 895 916 /* 896 917 * ã«ã¼ãã«ç®¡çå¤ã®CPUä¾å¤ãå¤å®ãã … … 905 926 * ã®ãããããã»ããããã¦ãããªãï¼ãã該å½ããï¼ 906 927 */ 907 ldr r1, [r 12,#T_EXCINF_cpsr]/* ä¾å¤ãã¬ã¼ã ããcpsrãåå¾ */928 ldr r1, [r5,#T_EXCINF_cpsr] /* ä¾å¤ãã¬ã¼ã ããcpsrãåå¾ */ 908 929 ands r1, r1, #CPSR_FIQ_IRQ_BIT 909 930 bne nk_exc_handler_1 /* ã«ã¼ãã«ç®¡çå¤ã®CPUä¾å¤ã®å¦ç㸠*/ … … 915 936 * r3ï¼excpt_nest_countã®å¤ 916 937 * r4ï¼CPUä¾å¤ãã³ãã©çªå· 917 * r 12ï¼CPUä¾å¤ã®æ938 * r5ï¼CPUä¾å¤ã®æ 918 939 å ±ãè¨æ¶ãã¦ããé åã®å 919 940 é çªå° … … 932 953 * ãªã¼ãã©ã³ã¿ã¤ããåæ¢ããï¼ 933 954 */ 934 push {r12}935 955 bl ovrtimer_stop 936 pop {r12}937 956 #endif /* TOPPERS_SUPPORT_OVRHDR */ 938 957 … … 943 962 ldr r2, =istkpt /* éã¿ã¹ã¯ã³ã³ããã¹ãç¨ã®ã¹ã¿ãã¯ã« */ 944 963 ldr sp, [r2] 945 push {r 3} /* åæãåã®ã¹ã¿ãã¯ãã¤ã³ã¿ãä¿å */946 964 push {r0,r3} /* åæãåã®ã¹ã¿ãã¯ãã¤ã³ã¿ãä¿å */ 965 /* r0ã¯ã¹ãã¼ã¹ç¢ºä¿ã®ãã */ 947 966 ALABEL(exc_handler_2) 948 967 /* … … 950 969 ã 951 970 * r4ï¼CPUä¾å¤ãã³ãã©çªå· 952 * r 12ï¼CPUä¾å¤ã®æ971 * r5ï¼CPUä¾å¤ã®æ 953 972 å ±ãè¨æ¶ãã¦ããé åã®å 954 973 é çªå° … … 982 1001 */ 983 1002 #ifdef LOG_EXC_ENTER 984 push {r12}985 1003 mov r0, r4 /* CPUä¾å¤çªå·ããã©ã¡ã¼ã¿ã«æ¸¡ã */ 986 1004 bl log_exc_enter 987 pop {r12}988 1005 #endif /* LOG_EXC_ENTER */ 989 1006 … … 993 1010 ldr r2, =exc_table /* CPUä¾å¤ãã³ãã©ãã¼ãã«ã®èªè¾¼ã¿ */ 994 1011 ldr r3, [r2,r4,lsl #2] /* CPUä¾å¤ãã³ãã©ã®çªå° â r3 */ 995 mov r0, r 12/* CPUä¾å¤ã®æ1012 mov r0, r5 /* CPUä¾å¤ã®æ 996 1013 å ±ãè¨æ¶ãã¦ããé åã® */ 997 1014 /* å … … 1035 1052 ldr r3, [r2] 1036 1053 subs r3, r3, #1 1037 str r3, [r2] 1054 str r3, [r2] /* æ»ãå 1055 ãéã¿ã¹ã¯ã³ã³ããã¹ããªã */ 1056 bne exc_handler_3 /* exc_handler_3ã«åå² */ 1038 1057 1039 1058 /* 1040 1059 * ã¿ã¹ã¯ç¨ã®ã¹ã¿ãã¯ã«æ»ãï¼ 1041 1060 */ 1042 popeq {r1} /* æ»ãå 1043 ãã¿ã¹ã¯ã³ã³ããã¹ããªã */ 1044 moveq sp, r1 /* ã¿ã¹ã¯ç¨ã®ã¹ã¿ãã¯ã«æ»ã */ 1061 pop {r0,r3} 1062 mov sp, r3 1063 1064 /* 1065 * ãã£ã¹ããããå¿ 1066 è¦ãå¤å®ããï¼ 1067 */ 1068 ldr r0, =p_runtsk /* p_runtsk â r0 */ 1069 ldr r0, [r0] 1070 ldr r1, =p_schedtsk /* p_schedtsk â r1 */ 1071 ldr r1, [r1] 1072 teq r0, r1 /* p_runtskã¨p_schedtskãåããªã */ 1073 beq exc_handler_4 /* exc_handler_4㸠*/ 1074 1075 /* 1076 * ã³ã³ããã¹ããä¿åããï¼ 1077 */ 1078 tst r0, r0 /* p_runtskãNULLãªãdispatcher_0㸠*/ 1079 beq dispatcher_0 1080 stmfd sp!, {r6-r11} /* éã¹ã¯ã©ããã¬ã¸ã¹ã¿ã®ä¿å */ 1081 str sp, [r0,#TCB_sp] /* ã¹ã¿ãã¯ãã¤ã³ã¿ãä¿å */ 1082 adr r1, ret_exc_r /* å®è¡åéçªå°ãä¿å */ 1083 str r1, [r0,#TCB_pc] 1084 b dispatcher /* r0ã«ã¯p_runtskãæ ¼ç´ããã¦ãã */ 1085 1086 ALABEL(ret_exc_r) 1087 /* 1088 * ã³ã³ããã¹ãã復帰ããï¼ 1089 */ 1090 ldmfd sp!, {r6-r11} /* éã¹ã¯ã©ããã¬ã¸ã¹ã¿ã®å¾©å¸° */ 1091 1092 #ifdef TOPPERS_SUPPORT_OVRHDR 1093 /* 1094 * ãªã¼ãã©ã³ã¿ã¤ããåä½éå§ããï¼ 1095 */ 1096 bl ovrtimer_start 1097 #endif /* TOPPERS_SUPPORT_OVRHDR */ 1098 1099 /* 1100 * CPUä¾å¤å¦çããã®ãªã¿ã¼ã³ 1101 * 1102 * CPUä¾å¤å¦çããã®ãªã¿ã¼ã³ã«ããï¼CPUããã¯è§£é¤ç¶æ 1103 ã«é·ç§»ããã 1104 * ãã«ããå¿ 1105 è¦ããããï¼ARMã¯CPSRã®ãããã«ãã£ã¦CPUããã¯ç¶æ 1106 ã 1107 * 表ãã¦ããããï¼CPSRãå 1108 ã«æ»ãã¦ãªã¿ã¼ã³ããã°ããï¼ 1109 */ 1110 #ifndef TOPPERS_SUPPORT_OVRHDR 1111 ALABEL(exc_handler_4) 1112 #endif /* TOPPERS_SUPPORT_OVRHDR */ 1113 ALABEL(exc_handler_3) 1114 pop {r0,r1} /* ã¹ã¿ãã¯ãã¤ã³ã¿ã®èª¿æ´ */ 1115 add sp, sp, r1 1045 1116 add sp, sp, #8 /* ã¹ã¿ãã¯ä¸ã®æ 1046 1117 å ±ãæ¨ã¦ã */ 1047 beq ret_int_1 /* ret_int_1ã«åå² */1048 1049 /*1050 * CPUä¾å¤å¦çããã®ãªã¿ã¼ã³ï¼irq_handler_3ã¨åãå¦çå1051 容ï¼1052 */1053 1118 #if __TARGET_ARCH_ARM < 6 1054 1119 ldmfd sp!, {r0} /* æ»ãå 1055 1120 ã®cpsrãspsrã«è¨å® */ 1056 1121 msr spsr_cxsf, r0 1057 ldmfd sp!, {r0-r 4,r12,lr,pc}^ /* ã³ã³ããã¹ãã®å¾©å¸° */1122 ldmfd sp!, {r0-r5,r12,lr,pc}^ /* ã³ã³ããã¹ãã®å¾©å¸° */ 1058 1123 /* ^ä»ããªã®ã§ï¼spsr â cpsr */ 1059 1124 #else /* __TARGET_ARCH_ARM < 6 */ 1060 ldmfd sp!, {r0-r 4,r12,lr}1125 ldmfd sp!, {r0-r5,r12,lr} 1061 1126 rfefd sp! 1062 1127 #endif /* __TARGET_ARCH_ARM < 6 */ 1128 1129 #ifdef TOPPERS_SUPPORT_OVRHDR 1130 ALABEL(exc_handler_4) 1131 /* 1132 * ãªã¼ãã©ã³ã¿ã¤ããåä½éå§ããï¼ 1133 */ 1134 tst r0, r0 /* p_runtskãNULLã§ãªãå ´å */ 1135 blne ovrtimer_start 1136 b exc_handler_3 1137 #endif /* TOPPERS_SUPPORT_OVRHDR */ 1063 1138 1064 1139 /* … … 1074 1149 * r3ï¼excpt_nest_countã®å¤ 1075 1150 * r4ï¼CPUä¾å¤ãã³ãã©çªå· 1076 * r 12ï¼CPUä¾å¤ã®æ1151 * r5ï¼CPUä¾å¤ã®æ 1077 1152 å ±ãè¨æ¶ãã¦ããé åã®å 1078 1153 é çªå° … … 1093 1168 ldr r2, =istkpt /* éã¿ã¹ã¯ã³ã³ããã¹ãç¨ã®ã¹ã¿ãã¯ã« */ 1094 1169 ldr sp, [r2] 1095 push {r 3} /* åæãåã®ã¹ã¿ãã¯ãã¤ã³ã¿ãä¿å */1096 1170 push {r0,r3} /* åæãåã®ã¹ã¿ãã¯ãã¤ã³ã¿ãä¿å */ 1171 /* r0ã¯ã¹ãã¼ã¹ç¢ºä¿ã®ãã */ 1097 1172 ALABEL(nk_exc_handler_2) 1098 1173 /* … … 1109 1184 ldr r2, =exc_table /* CPUä¾å¤ãã³ãã©ãã¼ãã«ã®èªè¾¼ã¿ */ 1110 1185 ldr r3, [r2,r4,lsl #2] /* CPUä¾å¤ãã³ãã©ã®çªå° â r3 */ 1111 mov r0, r 12/* CPUä¾å¤ã®æ1186 mov r0, r5 /* CPUä¾å¤ã®æ 1112 1187 å ±ãè¨æ¶ãã¦ããé åã® */ 1113 1188 /* å … … 1123 1198 ldr r3, [r2] 1124 1199 subs r3, r3, #1 1125 str r3, [r2] 1200 str r3, [r2] /* æ»ãå 1201 ãéã¿ã¹ã¯ã³ã³ããã¹ããªã */ 1202 bne exc_handler_3 /* exc_handler_3ã«åå² */ 1126 1203 1127 1204 /* 1128 1205 * ã¿ã¹ã¯ç¨ã®ã¹ã¿ãã¯ã«æ»ãï¼ 1129 1206 */ 1130 popeq {r1} /* æ»ãå 1131 ãã¿ã¹ã¯ã³ã³ããã¹ããªã */ 1132 moveq sp, r1 /* ã¿ã¹ã¯ç¨ã®ã¹ã¿ãã¯ã«æ»ã */ 1133 add sp, sp, #8 /* ã¹ã¿ãã¯ä¸ã®æ 1134 å ±ãæ¨ã¦ã */ 1135 1136 /* 1137 * CPUä¾å¤å¦çããã®ãªã¿ã¼ã³ï¼irq_handler_3ã¨åãå¦çå 1138 å®¹ï¼ 1139 */ 1140 #if __TARGET_ARCH_ARM < 6 1141 ldmfd sp!, {r0} /* æ»ãå 1142 ã®cpsrãspsrã«è¨å® */ 1143 msr spsr_cxsf, r0 1144 ldmfd sp!, {r0-r4,r12,lr,pc}^ /* ã³ã³ããã¹ãã®å¾©å¸° */ 1145 /* ^ä»ããªã®ã§ï¼spsr â cpsr */ 1146 #else /* __TARGET_ARCH_ARM < 6 */ 1147 ldmfd sp!, {r0-r4,r12,lr} 1148 rfefd sp! 1149 #endif /* __TARGET_ARCH_ARM < 6 */ 1150 1151 /* 1152 * å¾®å°æéå¾ 1153 ã¡ 1154 */ 1155 ATEXT 1156 AALIGN(2) 1157 AGLOBAL(_sil_dly_nse) 1158 ALABEL(_sil_dly_nse) 1159 subs r0, r0, #SIL_DLY_TIM1 1160 bxls lr 1161 ALABEL(_sil_dly_nse1) 1162 subs r0, r0, #SIL_DLY_TIM2 1163 bhi _sil_dly_nse1 1164 bx lr 1207 pop {r0,r3} 1208 mov sp, r3 1209 b exc_handler_3 1165 1210 1166 1211 /* … … 1186 1231 1187 1232 #endif /* __thumb__ */ 1233 1234 /* 1235 * å¾®å°æéå¾ 1236 ã¡ 1237 * 1238 * ãã£ãã·ã¥ã©ã¤ã³ã®ã©ã®å ´æã«ãããã®ãã£ã¦å®è¡æéãå¤ããããï¼å¤§ 1239 * ããã®åä½ã§ã¢ã©ã¤ã³ãã¦ããï¼ 1240 */ 1241 ATEXT 1242 AALIGN(8) 1243 AGLOBAL(sil_dly_nse) 1244 ALABEL(sil_dly_nse) 1245 mov r1, #0 1246 mcr p15, 0, r1, c7, c5, 6 /* åå²äºæ¸¬å 1247 ¨ä½ã®ç¡å¹å */ 1248 asm_inst_sync_barrier r3 1249 subs r0, r0, #SIL_DLY_TIM1 1250 bxls lr 1251 ALABEL(sil_dly_nse1) 1252 mcr p15, 0, r1, c7, c5, 6 /* åå²äºæ¸¬å 1253 ¨ä½ã®ç¡å¹å */ 1254 asm_inst_sync_barrier r3 1255 subs r0, r0, #SIL_DLY_TIM2 1256 bhi sil_dly_nse1 1257 bx lr -
asp3_wo_tecs/trunk/arch/arm_gcc/common/core_sym.def
r304 r306 1 1 TARGET_ARCH_ARM,__TARGET_ARCH_ARM 2 USE_INTCFG_TABLE, 1,,defined(USE_INTCFG_TABLE)2 USE_INTCFG_TABLE,true,bool,defined(USE_INTCFG_TABLE) 3 3 sizeof_TCB,sizeof(TCB) 4 4 offsetof_TCB_p_tinib,"offsetof(TCB,p_tinib)" -
asp3_wo_tecs/trunk/arch/arm_gcc/common/core_unrename.h
r304 r306 59 59 60 60 /* 61 * pl310.c 62 */ 63 #undef pl310_initialize 64 #undef pl310_disable 65 #undef pl310_invalidate_all 66 #undef pl310_clean_and_invalidate_all 67 68 /* 61 69 * target_kernel_impl.c 62 70 */ -
asp3_wo_tecs/trunk/arch/arm_gcc/common/gic_kernel_impl.c
r305 r306 1 1 /* 2 * TOPPERS/ASP Kernel 3 * Toyohashi Open Platform for Embedded Real-Time Systems/ 4 * Advanced Standard Profile Kernel 2 * TOPPERS Software 3 * Toyohashi Open Platform for Embedded Real-Time Systems 5 4 * 6 5 * Copyright (C) 2006-2016 by Embedded and Real-Time Systems Laboratory … … 51 50 * ã®è²¬ä»»ãè² ããªãï¼ 52 51 * 53 * $Id: gic_kernel_impl.c 522 2016-01-14 06:56:53Z ertl-hiro $52 * $Id: gic_kernel_impl.c 714 2016-03-31 05:52:19Z ertl-hiro $ 54 53 */ 55 54 … … 138 137 * ãã¹ã¦ã®å²è¾¼ã¿ãã°ã«ã¼ã1ï¼IRQï¼ã«è¨å® 139 138 */ 140 for (i = 0; i < GIC_TNUM_INTNO/ 32; i++) {139 for (i = 0; i < (GIC_TNUM_INTNO + 31) / 32; i++) { 141 140 sil_wrw_mem(GICD_IGROUPR(i), 0xffffffffU); 142 141 } … … 146 145 * ãã¹ã¦ã®å²è¾¼ã¿ãç¦æ¢ 147 146 */ 148 for (i = 0; i < GIC_TNUM_INTNO/ 32; i++) {147 for (i = 0; i < (GIC_TNUM_INTNO + 31) / 32; i++) { 149 148 sil_wrw_mem(GICD_ICENABLER(i), 0xffffffffU); 150 149 } … … 153 152 * ãã¹ã¦ã®å²è¾¼ã¿ãã³ãã£ã³ã°ãã¯ãªã¢ 154 153 */ 155 for (i = 0; i < GIC_TNUM_INTNO/ 32; i++) {154 for (i = 0; i < (GIC_TNUM_INTNO + 31) / 32; i++) { 156 155 sil_wrw_mem(GICD_ICPENDR(i), 0xffffffffU); 157 156 } … … 161 160 度ã«è¨å® 162 161 */ 163 for (i = 0; i < GIC_TNUM_INTNO/ 4; i++){162 for (i = 0; i < (GIC_TNUM_INTNO + 3) / 4; i++){ 164 163 sil_wrw_mem(GICD_IPRIORITYR(i), 0xffffffffU); 165 164 } … … 169 168 ±æããªãã§ã©ã«å²è¾¼ã¿ã®ã¿ã¼ã²ãããããã»ããµ0ã«è¨å® 170 169 */ 171 for (i = GIC_INTNO_SPI0 / 4; i < GIC_TNUM_INTNO/ 4; i++) {170 for (i = GIC_INTNO_SPI0 / 4; i < (GIC_TNUM_INTNO + 3) / 4; i++) { 172 171 sil_wrw_mem(GICD_ITARGETSR(i), 0x01010101U); 173 172 } … … 176 175 * ãã¹ã¦ã®ããªãã§ã©ã«å²è¾¼ã¿ãã¬ãã«ããªã¬ã«è¨å® 177 176 */ 178 for (i = GIC_INTNO_PPI0 / 16; i < GIC_TNUM_INTNO/ 16; i++) {177 for (i = GIC_INTNO_PPI0 / 16; i < (GIC_TNUM_INTNO + 15) / 16; i++) { 179 178 #ifdef GIC_ARM11MPCORE 180 179 sil_wrw_mem(GICD_ICFGR(i), 0x55555555U); … … 198 197 sil_wrw_mem(GICD_CTLR, GICD_CTLR_DISABLE); 199 198 } 199 200 #ifndef OMIT_GIC_INITIALIZE_INTERRUPT 200 201 201 202 /* … … 273 274 } 274 275 } 276 277 #endif /* OMIT_GIC_INITIALIZE_INTERRUPT */ -
asp3_wo_tecs/trunk/arch/arm_gcc/common/gic_kernel_impl.h
r305 r306 1 1 /* 2 * TOPPERS/ASP Kernel 3 * Toyohashi Open Platform for Embedded Real-Time Systems/ 4 * Advanced Standard Profile Kernel 2 * TOPPERS Software 3 * Toyohashi Open Platform for Embedded Real-Time Systems 5 4 * 6 5 * Copyright (C) 2006-2016 by Embedded and Real-Time Systems Laboratory … … 51 50 * ã®è²¬ä»»ãè² ããªãï¼ 52 51 * 53 * $Id: gic_kernel_impl.h 535 2016-01-16 00:42:29Z ertl-hiro $52 * $Id: gic_kernel_impl.h 714 2016-03-31 05:52:19Z ertl-hiro $ 54 53 */ 55 54 … … 176 175 #define GICD_TYPER GIC_REG(GICD_BASE, 0x004) 177 176 #define GICD_IIDR GIC_REG(GICD_BASE, 0x008) 178 #define GICD_IGROUPR(n) GIC_REG(GICD_BASE, 0x080 + n* 4)179 #define GICD_ISENABLER(n) GIC_REG(GICD_BASE, 0x100 + n* 4)180 #define GICD_ICENABLER(n) GIC_REG(GICD_BASE, 0x180 + n* 4)181 #define GICD_ISPENDR(n) GIC_REG(GICD_BASE, 0x200 + n* 4)182 #define GICD_ICPENDR(n) GIC_REG(GICD_BASE, 0x280 + n* 4)183 #define GICD_ISACTIVER(n) GIC_REG(GICD_BASE, 0x300 + n* 4)184 #define GICD_ICACTIVER(n) GIC_REG(GICD_BASE, 0x380 + n* 4)185 #define GICD_IPRIORITYR(n) GIC_REG(GICD_BASE, 0x400 + n* 4)186 #define GICD_ITARGETSR(n) GIC_REG(GICD_BASE, 0x800 + n* 4)187 #define GICD_ICFGR(n) GIC_REG(GICD_BASE, 0xc00 + n* 4)188 #define GICD_NSCAR(n) GIC_REG(GICD_BASE, 0xe00 + n* 4)177 #define GICD_IGROUPR(n) GIC_REG(GICD_BASE, 0x080 + (n) * 4) 178 #define GICD_ISENABLER(n) GIC_REG(GICD_BASE, 0x100 + (n) * 4) 179 #define GICD_ICENABLER(n) GIC_REG(GICD_BASE, 0x180 + (n) * 4) 180 #define GICD_ISPENDR(n) GIC_REG(GICD_BASE, 0x200 + (n) * 4) 181 #define GICD_ICPENDR(n) GIC_REG(GICD_BASE, 0x280 + (n) * 4) 182 #define GICD_ISACTIVER(n) GIC_REG(GICD_BASE, 0x300 + (n) * 4) 183 #define GICD_ICACTIVER(n) GIC_REG(GICD_BASE, 0x380 + (n) * 4) 184 #define GICD_IPRIORITYR(n) GIC_REG(GICD_BASE, 0x400 + (n) * 4) 185 #define GICD_ITARGETSR(n) GIC_REG(GICD_BASE, 0x800 + (n) * 4) 186 #define GICD_ICFGR(n) GIC_REG(GICD_BASE, 0xc00 + (n) * 4) 187 #define GICD_NSCAR(n) GIC_REG(GICD_BASE, 0xe00 + (n) * 4) 189 188 #define GICD_SGIR GIC_REG(GICD_BASE, 0xf00) 190 #define GICD_CPENDSGIR(n) GIC_REG(GICD_BASE, 0xf10 + n* 4)191 #define GICD_SPENDSGIR(n) GIC_REG(GICD_BASE, 0xf20 + n* 4)189 #define GICD_CPENDSGIR(n) GIC_REG(GICD_BASE, 0xf10 + (n) * 4) 190 #define GICD_SPENDSGIR(n) GIC_REG(GICD_BASE, 0xf20 + (n) * 4) 192 191 193 192 /* … … 200 199 * å²è¾¼ã¿ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã¬ã¸ã¹ã¿ï¼GICD_ICFGRnï¼ã®è¨å®å¤ 201 200 * 202 * 第1ãããã¯ï¼ARM11 MPCoreã§ã¯å²è¾¼ã¿ã®éç¥å 203 ããã»ããµãè¨å®ãããã 204 * ã«ä½¿ç¨ããã¦ãããï¼GICv1ããã³GICv2ã§ã¯äºç´ãããã¨ãªã£ã¦ããï¼ 201 * 第1ãããã¯ï¼ARM11 MPCoreããã³GICã®æ©ãææã®å®è£ 202 ã§ã¯å²è¾¼ã¿ã®éç¥ 203 * å 204 ããã»ããµãè¨å®ããããã«ä½¿ç¨ããã¦ããï¼ 205 205 */ 206 206 #define GICD_ICFGRn_LEVEL UINT_C(0x00) -
asp3_wo_tecs/trunk/arch/arm_gcc/common/gic_support.S
r305 r306 1 1 /* 2 * TOPPERS/ASP Kernel 3 * Toyohashi Open Platform for Embedded Real-Time Systems/ 4 * Advanced Standard Profile Kernel 2 * TOPPERS Software 3 * Toyohashi Open Platform for Embedded Real-Time Systems 5 4 * 6 5 * Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory … … 53 52 * ã®è²¬ä»»ãè² ããªãï¼ 54 53 * 55 * $Id: gic_support.S 522 2016-01-14 06:56:53Z ertl-hiro $54 * $Id: gic_support.S 718 2016-04-01 15:05:01Z ertl-hiro $ 56 55 */ 57 56 … … 79 78 å ±ï¼å²è¾¼ã¿çºçåã®å²è¾¼ã¿ 80 79 * åªå 81 度ãã¹ã¯ï¼ãï¼ã¹ã¿ãã¯ã«ä¿åããï¼ 80 度ãã¹ã¯ï¼ãï¼ã¹ã¿ãã¯ã®å 81 é ã«ä¿åããï¼ 82 82 */ 83 83 ATEXT … … 104 104 str r0, [r1] /* æ°ããå²è¾¼ã¿åªå 105 105 度ãã¹ã¯ãã»ãããã */ 106 // DATA_SYNC_BARRIER/* å²è¾¼ã¿åªå106 asm_data_sync_barrier r0 /* å²è¾¼ã¿åªå 107 107 度ãã¹ã¯ãã»ãããããã®ãå¾ 108 108 㤠*/ 109 #if __TARGET_ARCH_ARM == 6 110 mov r0, #0 111 mcr p15, 0, r0, c7, c10, 4 112 #elif __TARGET_ARCH_ARM == 7 113 dsb 114 #endif /* __TARGET_ARCH_ARM == 7 */ 115 push {r2} /* irc_end_intã§ç¨ããæ 109 str r2, [sp] /* irc_end_intã§ç¨ããæ 116 110 å ±ãä¿å */ 117 111 … … 141 135 ã«æ»ãï¼ 142 136 */ 143 pop {r2}/* irc_begin_intã§ä¿åããæ137 ldr r2, [sp] /* irc_begin_intã§ä¿åããæ 144 138 å ±ã復帰 */ 145 139 ldr r1, =GICC_PMR /* å²è¾¼ã¿åªå … … 178 172 å ±ï¼CPUä¾å¤çºçåã®å²è¾¼ã¿åªå 179 173 度ãã¹ã¯ï¼ãï¼ã¹ã¿ã 180 * ã¯ã«ä¿åããï¼ 174 * ã¯ã®å 175 é ã«ä¿åããï¼ 181 176 */ 182 177 ATEXT … … 191 186 度ãåå¾ */ 192 187 ldr r2, [r1] 193 push {r2}/* irc_end_excã§ç¨ããæ188 str r2, [sp] /* irc_end_excã§ç¨ããæ 194 189 å ±ãä¿å */ 195 190 bx lr … … 207 202 ã«æ»ãï¼ 208 203 */ 209 pop {r2}/* irc_begin_excã§ä¿åããæ204 ldr r2, [sp] /* irc_begin_excã§ä¿åããæ 210 205 å ±ã復帰 */ 211 206 ldr r1, =GICC_PMR /* å²è¾¼ã¿åªå -
asp3_wo_tecs/trunk/arch/arm_gcc/common/uart_pl011.h
r302 r306 6 6 * Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory 7 7 * Toyohashi Univ. of Technology, JAPAN 8 * Copyright (C) 2006-201 5by Embedded and Real-Time Systems Laboratory8 * Copyright (C) 2006-2016 by Embedded and Real-Time Systems Laboratory 9 9 * Graduate School of Information Science, Nagoya Univ., JAPAN 10 10 * … … 53 53 * ã®è²¬ä»»ãè² ããªãï¼ 54 54 * 55 * $Id: uart_pl011.h 359 2015-07-26 10:27:20Z ertl-hiro $55 * $Id: uart_pl011.h 509 2016-01-12 06:06:14Z ertl-hiro $ 56 56 */ 57 57 -
asp3_wo_tecs/trunk/arch/arm_gcc/doc/arm_design.txt
r302 r306 3 3 ARMã³ã¢ä¾åé¨ è¨è¨ã¡ã¢ 4 4 5 対å¿ãã¼ã¸ã§ã³: Release 3.B.0 6 æçµæ´æ°: 2015å¹´8æ18æ¥ 7 5 対å¿ãã¼ã¸ã§ã³: Release 3.1.0 6 æçµæ´æ°: 2016å¹´5æ14æ¥ 7 8 ---------------------------------------------------------------------- 9 TOPPERS/ASP Kernel 10 Toyohashi Open Platform for Embedded Real-Time Systems/ 11 Advanced Standard Profile Kernel 12 13 Copyright (C) 2014-2016 by Embedded and Real-Time Systems Laboratory 14 Graduate School of Information Science, Nagoya Univ., JAPAN 15 16 ä¸è¨èä½æ¨©è 17 ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ 18 ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹ 19 å¤ã»åé 20 å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 21 (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 22 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 23 ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 24 (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 25 ç¨ã§ããå½¢ã§åé 26 å¸ããå ´åã«ã¯ï¼åé 27 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 28 è 29 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 30 ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 31 (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 32 ç¨ã§ããªãå½¢ã§åé 33 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 34 ã¨ï¼ 35 (a) åé 36 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 37 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 38 ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 39 (b) åé 40 å¸ã®å½¢æ 41 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 42 å ±åãããã¨ï¼ 43 (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 44 害ãããï¼ä¸è¨èä½æ¨©è 45 ããã³TOPPERSããã¸ã§ã¯ããå 46 責ãããã¨ï¼ 47 ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç 48 ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è 49 ããã³TOPPERSããã¸ã§ã¯ãã 50 å 51 責ãããã¨ï¼ 52 53 æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 54 ã 55 ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 56 ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 57 ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 58 ã®è²¬ä»»ãè² ããªãï¼ 59 60 $Id: arm_design.txt 751 2016-05-14 15:03:06Z ertl-hiro $ 8 61 ---------------------------------------------------------------------- 9 62 … … 55 108 ARMv7-Aï¼ARMv7-Rã«æºæ ããããã»ããµã³ã¢ãæã¤ã¿ã¼ã²ããã·ã¹ãã ï¼ãã 56 109 ãï¼ã«å 57 ±éã«ä½¿ç¨ã§ããé¨åã§ããï¼ 110 ±éã«ä½¿ç¨ã§ããé¨åã§ããï¼ãã ãï¼ããã«è©²å½ãããã¹ã¦ã®ARMã³ã¢ 111 ã«å¯¾å¿ã§ãã¦ããããã§ã¯ãªãï¼æ°ãããããã«ãã¼ãã£ã³ã°ããéã«ã¯ï¼ã³ 112 ã¢ä¾åé¨ã«ä½ããã®ä¿®æ£ãå¿ 113 è¦ã«ãªããã¨ãå¤ãã¨æãããï¼ 58 114 59 115 ARMã³ã¢ã®ããã»ããµã³ã¢ç¥ç§°ã"arm"ã¨ããï¼GNUéçºç°å¢åãã®ARMã³ã¢ä¾å … … 284 340 ã®cpsrãspsrã«å¾©å¸° */ 285 341 msr spsr_cxsf, r0 286 ldmfd sp!, {r0-r4,r12,lr,pc}^ /* ä¾å¤å¦çããã®å¾©å¸° */ 287 ---------------------------------------- 288 289 ããã§ï¼ã¹ã¯ã©ããã¬ã¸ã¹ã¿ã«å ãã¦r4ã復帰ãã¦ããã®ã¯ï¼ä¾å¤ã®åºå 290 ¥å£å¦ 291 çã§ã¹ã¯ã©ããã¬ã¸ã¹ã¿ä»¥å¤ã«ä½¿ããã¬ã¸ã¹ã¿ã¨ãã¦ï¼r4ã確ä¿ããããã§ã 292 ãï¼ 342 ldmfd sp!, {r0-r5,r12,lr,pc}^ /* ä¾å¤å¦çããã®å¾©å¸° */ 343 ---------------------------------------- 344 345 ããã§ï¼ã¹ã¯ã©ããã¬ã¸ã¹ã¿ã«å ãã¦r4ã¨r5ã復帰ãã¦ããã®ã¯ï¼ä¾å¤ã®åºå 346 ¥ 347 å£å¦çã§ã¹ã¯ã©ããã¬ã¸ã¹ã¿ä»¥å¤ã«ä½¿ããã¬ã¸ã¹ã¿ã¨ãã¦ï¼r4ã¨r5ã確ä¿ãã 348 ããã§ããï¼å®éã«ã¯ï¼r4ã ãã使ããã°ååã§ãããï¼ã¹ã¿ãã¯ãã¤ã³ã¿ã 349 8ãã¤ãå¢çã«ã¢ã©ã¤ã³ããããã«r5ãä¿åï¼å¾©å¸°ãã¦ããï¼ï¼ 293 350 294 351 ãã®åºå£ãå®è¡ããæç¹ã§ï¼ã¹ã¿ãã¯ã¯æ¬¡ã®ããã«ãªã£ã¦ããå¿ … … 310 367 | r4 | 311 368 +----------------+ <- sp+0x18 369 | r5 | 370 +----------------+ <- sp+0x1c 312 371 | r12 | 313 +----------------+ <- sp+0x 1c372 +----------------+ <- sp+0x20 314 373 | lr | 315 +----------------+ <- sp+0x2 0374 +----------------+ <- sp+0x24 316 375 | æ»ãçªå° | 317 +----------------+ 376 +----------------+ <- sp+0x28 318 377 319 378 ããã«å¯¾å¿ããä¾å¤ã®å … … 325 384 */ 326 385 msr cpsr_c, #(CPSR_SVC_MODE AOR CPSR_IRQ_BIT) 327 stmfd sp!, {r0-r 4,r12,lr,pc} /* pcã¯ã¹ãã¼ã¹ç¢ºä¿ã®ãã */ (*1)386 stmfd sp!, {r0-r5,r12,lr,pc} /* pcã¯ã¹ãã¼ã¹ç¢ºä¿ã®ãã */ (*1) 328 387 329 388 /* … … 339 398 */ 340 399 msr cpsr_c, #(CPSR_SVC_MODE AOR CPSR_IRQ_BIT) 341 str r2, [sp,#0x 1c] /* æ»ãçªå°ãã¹ã¿ãã¯ã«ä¿å */ (*2)400 str r2, [sp,#0x20] /* æ»ãçªå°ãã¹ã¿ãã¯ã«ä¿å */ (*2) 342 401 push {r1} /* spsrãã¹ã¿ãã¯ã«ä¿å */ 343 402 ---------------------------------------- … … 346 405 ãï¼ãã®æç¹ã§ä¿åããpcã®å¤ã¯ä½¿ããªãï¼(*2)ã§ï¼ç¢ºä¿ããã¹ãã¼ã¹ã«æ»ã 347 406 çªå°ãæ ¼ç´ããï¼æ ¼ç´å 348 ã[sp,#0x 1c]ã¨ããã®ã¯ï¼ãã®æç¹ã§ã¯spã¯ä¸ã®å³ã®349 ï¼sp+0x04ï¼ãæãã¦ããï¼æ»ãçªå°ã¯ï¼sp+0x2 0ï¼ã«æ ¼ç´ãããããã§ããï¼407 ã[sp,#0x20]ã¨ããã®ã¯ï¼ãã®æç¹ã§ã¯spã¯ä¸ã®å³ã® 408 ï¼sp+0x04ï¼ãæãã¦ããï¼æ»ãçªå°ã¯ï¼sp+0x24ï¼ã«æ ¼ç´ãããããã§ããï¼ 350 409 351 410 ä¾å¤ãåãä»ããã¨Iããããã»ããããããï¼ä¾å¤ã®å … … 393 452 394 453 ---------------------------------------- 395 ldmfd sp!, {r0-r 4,r12,lr}454 ldmfd sp!, {r0-r5,r12,lr} 396 455 rfefd sp! 397 456 ---------------------------------------- 398 457 399 ããã§ï¼ã¹ã¯ã©ããã¬ã¸ã¹ã¿ã«å ãã¦r4ã復帰ãã¦ããã®ã¯ï¼ä¾å¤ã®åºå 400 ¥å£å¦ 401 çã§ã¹ã¯ã©ããã¬ã¸ã¹ã¿ä»¥å¤ã«ä½¿ããã¬ã¸ã¹ã¿ã¨ãã¦ï¼r4ã確ä¿ããããã§ã 402 ãï¼ 458 ããã§ï¼ã¹ã¯ã©ããã¬ã¸ã¹ã¿ã«å ãã¦r4ã¨r5ã復帰ãã¦ããã®ã¯ï¼ä¾å¤ã®åºå 459 ¥ 460 å£å¦çã§ã¹ã¯ã©ããã¬ã¸ã¹ã¿ä»¥å¤ã«ä½¿ããã¬ã¸ã¹ã¿ã¨ãã¦ï¼r4ã¨r5ã確ä¿ãã 461 ããã§ããï¼å®éã«ã¯ï¼r4ã ãã使ããã°ååã§ãããï¼ã¹ã¿ãã¯ãã¤ã³ã¿ã 462 8ãã¤ãå¢çã«ã¢ã©ã¤ã³ããããã«r5ãä¿åï¼å¾©å¸°ãã¦ããï¼ï¼ 403 463 404 464 ãã®åºå£ãå®è¡ããæç¹ã§ï¼ã¹ã¿ãã¯ã¯æ¬¡ã®ããã«ãªã£ã¦ããå¿ … … 418 478 | r4 | 419 479 +----------------+ <- sp+0x14 480 | r5 | 481 +----------------+ <- sp+0x18 420 482 | r12 | 421 +----------------+ <- sp+0x1 8483 +----------------+ <- sp+0x1c 422 484 | lr | 423 +----------------+ <- sp+0x 1c485 +----------------+ <- sp+0x20 424 486 | æ»ãçªå° | 425 +----------------+ <- sp+0x2 0487 +----------------+ <- sp+0x24 426 488 | cpsr | 427 +----------------+ 489 +----------------+ <- sp+0x28 428 490 429 491 ããã«å¯¾å¿ããä¾å¤ã®å … … 443 505 */ 444 506 cps #CPSR_SVC_MODE 445 stmfd sp!, {r0-r 4,r12,lr}507 stmfd sp!, {r0-r5,r12,lr} 446 508 ---------------------------------------- 447 509 … … 585 647 ä¸ã§å¿ 586 648 è¦ãªæ 587 å ±ï¼ä¾ãã°ï¼å²è¾¼ã¿çªå·ï¼ã¯ï¼irc_begin_intã§ã¹ã¿ãã¯ä¸ã«ä¿å 588 ãã¦ããå¿ 589 è¦ãããï¼ãããå¯è½ã«ããããã«ï¼irc_begin_intãå¼ã³åºããã 590 ãï¼irc_end_intãå¿ 591 ãå¼ã³åºãããããã«ãã¦ããï¼ã¹ããªã¢ã¹å²è¾¼ã¿ã®å ´å 592 ã«ãï¼irc_end_intãå¼ã³åºãããã«ãã¦ããï¼ 593 649 å ±ï¼ä¾ãã°ï¼å²è¾¼ã¿çªå·ï¼ã¯ï¼irc_begin_intã§ã¹ã¿ãã¯ã®å 650 é ã« 651 ä¿åãã¦ããå¿ 652 è¦ãããï¼ããã«ç¨ããããã«ï¼ã¹ã¿ãã¯ã®å 653 é ã«1ã¯ã¼ãã®ç©º 654 ãé åãè¨ãã¦ããï¼ 655 656 irc_end_intã§å¿ 657 è¦ãªæ 658 å ±ã1ã¯ã¼ãã§ä¸è¶³ããå ´åã«ã¯ï¼irc_begin_intã§ã¹ã¿ã 659 ã¯ã«ç©ã¿ï¼irc_end_intã§ã¹ã¿ãã¯ããåãåºãï¼ãããå¯è½ã«ããããã«ï¼ 660 irc_begin_intãå¼ã³åºããããï¼irc_end_intãå¿ 661 ãå¼ã³åºãããããã«ã㦠662 ããï¼ã¹ããªã¢ã¹å²è¾¼ã¿ã®å ´åã«ãï¼irc_end_intãå¼ã³åºãããã«ãã¦ããï¼ 594 663 ãµãã«ã¼ãã³ï¼irc_begin_intï¼ã®ä¸ã§ã¹ã¿ãã¯ã«ç©ã¿å¢ãã®ã¯ï¼ä¸è¬ã«ã¯æ¡ç¨ 595 664 ããªãããã°ã©ãã³ã°ææ³ã§ãããï¼irc_begin_intããirc_end_intã«æ¸¡ãæ … … 894 963 å ±ãè¨æ¶ãã¦ããé åã®å 895 964 é çªå°ã第1ãã©ã¡ã¼ã¿ï¼CPUä¾å¤ãã³ã 896 ã©çªå·ã第2ãã©ã¡ã¼ã¿ã¨ãã¦å¼ã³åºãï¼r12ã«ä¿åããã¦ããCPUä¾å¤ã®æ 897 å ±ã 898 è¨æ¶ãã¦ããé åã®å 899 é çªå°ãä¿åãããããã«ï¼å¿ 900 è¦ã«å¿ãã¦ï¼ã¹ã¿ãã¯ã« 901 ä¿åããï¼ 965 ã©çªå·ã第2ãã©ã¡ã¼ã¿ã¨ãã¦å¼ã³åºãï¼ 902 966 903 967 ---------------------------------------- … … 919 983 ã¯ã«æ»ãï¼ãã®å¾ï¼CPUä¾å¤ãçºçããç¶æ³ãå¤æããããã®è¿½å æ 920 984 å ±ãã¹ã¿ã 921 ã¯ä¸ããæ¨ã¦ãï¼ä¾å¤ãã¹ãã«ã¦ã³ãã0ã«ãªã£ãå ´åã®å¦çã¯ï¼ å²è¾¼ã¿ãã³ã922 ã©ã®åºå£å¦çã¨å 923 ±éã§ããããï¼ret_int_1ã«åå²ããï¼985 ã¯ä¸ããæ¨ã¦ãï¼ä¾å¤ãã¹ãã«ã¦ã³ãã0ã«ãªã£ãå ´åã®å¦çã¯ï¼è¿½å æ 986 å ±ãã¹ 987 ã¿ãã¯ä¸ããæ¨ã¦ããã¨ä»¥å¤ã¯ï¼å²è¾¼ã¿ãã³ãã©ã®åºå£å¦çã¨åæ§ã§ããï¼ 924 988 925 989 ---------------------------------------- … … 957 1021 #endif /* TOPPERS_SUPPORT_OVRHDR */ 958 1022 } 959 ----------------------------------------960 961 以ä¸ã®å¦çã«ã¯ï¼å²è¾¼ã¿ãã³ãã©ã®åºå£å¦çã®ã«ã¼ãã³ãæµç¨ããï¼962 963 ----------------------------------------964 1023 CPUä¾å¤å¦çããã®ãªã¿ã¼ã³å¾ã«ï¼CPUããã¯è§£é¤ç¶æ 965 1024 ã«æ»ãããã«æºåãã … … 972 1031 ---------------------------------------- 973 1032 974 ã¹ã¯ã©ããã¬ã¸ã¹ã¿ã復帰ããå¾ï¼ä¾å¤ãããªã¿ã¼ã³ããï¼975 976 1033 âã¹ã¿ãã¯ãã¤ã³ã¿ãä¸æ£ã®å ´åã®å¯¾ç 977 1034 -
asp3_wo_tecs/trunk/arch/arm_gcc/doc/arm_memo.txt
r302 r306 82 82 - ç©çã¡ã¢ãªã·ã¹ãã ã¢ã¼ããã¯ãã£ï¼PMSAï¼ã§ã®ã¬ã¸ã¹ã¿ 83 83 - ããã©ã¼ãã³ã¹ã¢ãã¿ã¬ã¸ã¹ã¿ 84 ã»ãã®ä»ï¼åå¿é²ï¼ 84 85 85 86 âåèæç® … … 651 652 ã»ARMv7-Aï¼VMSAï¼ã«ããããã£ãã·ã¥ã»åå²äºæ¸¬ã¡ã³ããã³ã¹æä½ 652 653 - ICIALLIS, ICIALLU, ICIMVAU ⦠å½ä»¤ãã£ãã·ã¥ã¨åå²äºæ¸¬ã®ç¡å¹å 653 - BPIALLIS, CPIALL, CPIMVA ⦠åå²äºæ¸¬ã®ç¡å¹å654 - BPIALLIS, BPIALL, BPIMVA ⦠åå²äºæ¸¬ã®ç¡å¹å 654 655 - DCIMVAC, DCISW ⦠ãã¼ã¿ï¼çµ±åãã£ãã·ã¥ã®ç¡å¹å 655 656 - DCCMVAC, DCCSW, DCCMVAU ⦠ãã¼ã¿ï¼çµ±åãã£ãã·ã¥ã®ã¯ãªã¼ã³ … … 1322 1323 âããã©ã¼ãã³ã¹ã¢ãã¿ã¬ã¸ã¹ã¿ 1323 1324 1325 âãã®ä»ï¼åå¿é²ï¼ 1326 1327 âã¹ã¿ãã¯ã®ã¢ã©ã¤ã³ã¡ã³ã 1328 1329 ARMã¢ã¼ããã¯ãã£åãããã·ã¼ã¸ã£ã³ã¼ã«æ¨æºï¼AAPCSï¼ã§ã¯ï¼ãã¹ã¦ã®å¤é¨ 1330 ã¤ã³ã¿ãã§ã¼ã¹ã«ããã¦ï¼ã¹ã¿ãã¯ãã¤ã³ã¿ã8ãã¤ãå¢çã§ã¢ã©ã¤ã³ããå¿ 1331 è¦ 1332 ãããã 1333 1324 1334 ä»¥ä¸ -
asp3_wo_tecs/trunk/arch/arm_gcc/doc/arm_vmsa_memo.txt
r302 r306 5 5 ä½æè 6 6 : é«ç°åºç« ï¼åå¤å±å¤§å¦ï¼ 7 æçµæ´æ°: 201 5å¹´8æ6æ¥7 æçµæ´æ°: 2016å¹´1æ16æ¥ 8 8 9 9 âã¡ã¢ã®ä½ç½®ã¥ã … … 382 382 ±æï¼1ï¼ãéå 383 383 ±æï¼0ï¼ã 384 ã»ããã[0] 385 ãã¼ã¸ãã¼ãã«ã¦ã©ã¼ã¯ããã£ãã·ã¥ã§ããï¼1ï¼ãã§ããªãï¼0ï¼ã 384 386 ã»ä»ã®ãããã¯æªä½¿ç¨ 387 388 ã»ARMv5以åã¯ï¼ããã[4:0]ã¯ãµãã¼ããã¦ãããï¼0ã«ãã¹ãï¼ä»¥ä¸ã®è¨è¿°ã 389 ãå¤æï¼ï¼ 390 391 åèæç®[1]ã®B4.7.1ç¯ãã 392 -------------------- 393 Prior to VMSAv6, a single TTBR existed. Only bits[31:14] of the 394 Translation Table Base Register are significant, and bits[13:0] should 395 be zero. 396 -------------------- 385 397 386 398 âTTBR1ï¼Translation Table Base Register 1ï¼â¦ (0, c2, c0, 1) -
asp3_wo_tecs/trunk/arch/arm_gcc/doc/gic_design.txt
r302 r306 3 3 GICï¼ARM Generic Interrupt Controllerï¼ä¾åé¨ è¨è¨ã¡ã¢ 4 4 5 対å¿ãã¼ã¸ã§ã³: Release 3.B.0 6 æçµæ´æ°: 2015å¹´7æ24æ¥ 7 5 対å¿ãã¼ã¸ã§ã³: Release 3.0.0 6 æçµæ´æ°: 2016å¹´1æ16æ¥ 7 8 ---------------------------------------------------------------------- 9 TOPPERS/ASP Kernel 10 Toyohashi Open Platform for Embedded Real-Time Systems/ 11 Advanced Standard Profile Kernel 12 13 Copyright (C) 2014-2016 by Embedded and Real-Time Systems Laboratory 14 Graduate School of Information Science, Nagoya Univ., JAPAN 15 16 ä¸è¨èä½æ¨©è 17 ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ 18 ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹ 19 å¤ã»åé 20 å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 21 (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 22 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 23 ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 24 (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 25 ç¨ã§ããå½¢ã§åé 26 å¸ããå ´åã«ã¯ï¼åé 27 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 28 è 29 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 30 ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 31 (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 32 ç¨ã§ããªãå½¢ã§åé 33 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 34 ã¨ï¼ 35 (a) åé 36 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 37 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 38 ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 39 (b) åé 40 å¸ã®å½¢æ 41 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 42 å ±åãããã¨ï¼ 43 (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 44 害ãããï¼ä¸è¨èä½æ¨©è 45 ããã³TOPPERSããã¸ã§ã¯ããå 46 責ãããã¨ï¼ 47 ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç 48 ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è 49 ããã³TOPPERSããã¸ã§ã¯ãã 50 å 51 責ãããã¨ï¼ 52 53 æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 54 ã 55 ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 56 ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 57 ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 58 ã®è²¬ä»»ãè² ããªãï¼ 59 60 $Id: gic_design.txt 533 2016-01-15 23:29:33Z ertl-hiro $ 8 61 ---------------------------------------------------------------------- 9 62 … … 14 67 - GICä¾åé¨ãæ§æãããã¡ã¤ã« 15 68 ã»ãããä¾åã®ãã©ã¡ã¼ã¿ 69 - ã¢ããªã±ã¼ã·ã§ã³ããåç 70 §ã§ãããã©ã¡ã¼ã¿ 71 - ã«ã¼ãã«å 72 é¨ã§ä½¿ç¨ãããã©ã¡ã¼ã¿ 16 73 ã»GICã«ãããå²è¾¼ã¿ãã³ãã©ããã³CPUä¾å¤ãã³ãã©ã®åºå 17 74 ¥å£å¦ç 18 75 - GICã«ãããå²è¾¼ã¿ãã³ãã©ã®åºå 76 ¥å£å¦ç 77 - GICã«ãããCPUä¾å¤ãã³ãã©ã®åºå 19 78 ¥å£å¦ç 20 79 … … 43 102 GICä¾åé¨ã¯ï¼æ¬¡ã®3ã¤ã®ãã¡ã¤ã«ã§æ§æãããï¼ 44 103 45 gic_kernel_impl.h 46 gic_kernel_impl.c 47 gic_support.S 104 arch/arm_gcc/common/ 105 gic_kernel_impl.h ã«ã¼ãã«ã®å²è¾¼ã¿GICä¾åé¨ã®ããããã¡ã¤ã« 106 gic_kernel_impl.c ã«ã¼ãã«ã®å²è¾¼ã¿GICä¾åé¨ 107 gic_support.S ã«ã¼ãã«ã®å²è¾¼ã¿GICä¾åé¨ã®ã¢ã»ã³ããªè¨èªé¨ 48 108 49 109 âãããä¾åã®ãã©ã¡ã¼ã¿ 50 110 51 TMIN_INTPRI 52 TMAX_INTPRI 53 54 ã«ã¼ãã«ã®ã¿ã¼ã²ããä¾åé¨ã®ããããã¡ã¤ã«ããgic_kernel_impl.hãã¤ã³ã¯ 55 ã«ã¼ãããåã«ï¼å¿ 56 è¦ã«å¿ãã¦ï¼ä»¥ä¸ã®å®æ°ããã¯ãå®ç¾©ãã¦ããï¼ 111 âã¢ããªã±ã¼ã·ã§ã³ããåç 112 §ã§ãããã©ã¡ã¼ã¿ 113 114 target_kernel.hï¼ã¾ãã¯ï¼ããããã¤ã³ã¯ã«ã¼ãããããã¡ã¤ã«ï¼ã§ï¼ä»¥ä¸ã® 115 å®æ°ããã¯ãå®ç¾©ãã¦ããï¼ 116 117 (1) TMIN_INTPRI å²è¾¼ã¿åªå 118 度ã®æå°å¤ï¼æé«å¤ï¼ 119 (2) TMAX_INTPRI å²è¾¼ã¿åªå 120 度ã®æ大å¤ï¼æä½å¤ï¼ 121 122 TMAX_INTPRIã¯ï¼-1ã«å®ç¾©ããï¼TMAX_INTPRIã¯ï¼ã¿ã¼ã²ãããããã®GICã§ãµãã¼ 123 ãããå²è¾¼ã¿åªå 124 度ã®æ®µæ°ã«ããï¼-15ï¼-31ï¼-63ï¼-127ï¼-255ã®ããããã«å® 125 義ããï¼ 126 127 âã«ã¼ãã«å 128 é¨ã§ä½¿ç¨ãããã©ã¡ã¼ã¿ 129 130 target_kernel_impl.hï¼ã¾ãã¯ï¼ããããã¤ã³ã¯ã«ã¼ãããããã¡ã¤ã«ï¼ãã 131 gic_kernel_impl.hãã¤ã³ã¯ã«ã¼ãããåã«ï¼å¿ 132 è¦ã«å¿ãã¦ï¼ä»¥ä¸ã®å®æ°ãã㯠133 ãå®ç¾©ãã¦ããï¼ 57 134 58 135 (1) GIC_TNUM_INTNO å²è¾¼ã¿ã®æ° … … 62 139 Peripheral Interruptï¼ã®åè¨æ°ï¼ 63 140 64 (2) GIC_PRI_LEVEL å²è¾¼ã¿åªå 65 度ã®æ®µæ° 66 67 ã¿ã¼ã²ãããããã®GICããµãã¼ãããå²è¾¼ã¿åªå 68 度ã®æ®µæ°ï¼16ï¼32ï¼64ï¼128ï¼ 69 256ã®ããããï¼ 70 71 (3) GICC_BASE CPUã¤ã³ã¿ãã§ã¼ã¹ã®ãã¼ã¹ã¢ãã¬ã¹ 72 (4) GICD_BASE ãã£ã¹ããªãã¥ã¼ã¿ã®ãã¼ã¹ã¢ãã¬ã¹ 141 (2) GICC_BASE CPUã¤ã³ã¿ãã§ã¼ã¹ã®ãã¼ã¹ã¢ãã¬ã¹ 142 (3) GICD_BASE ãã£ã¹ããªãã¥ã¼ã¿ã®ãã¼ã¹ã¢ãã¬ã¹ 73 143 74 144 GICã®CPUã¤ã³ã¿ãã§ã¼ã¹ããã³ãã£ã¹ããªãã¥ã¼ã¿ã®ãã¼ã¹ã¢ãã¬ã¹ï¼ 75 145 76 ( 5) TOPPERS_SAFEG_SECURE ã»ãã¥ã¢ã¢ã¼ãï¼ãªãã·ã§ã³ï¼146 (4) TOPPERS_SAFEG_SECURE ã»ãã¥ã¢ã¢ã¼ãï¼ãªãã·ã§ã³ï¼ 77 147 78 148 ã»ãã¥ã¢ã¢ã¼ãã§ã«ã¼ãã«ãåä½ããï¼FIQãã«ã¼ãã«ç®¡çã®å²è¾¼ã¿ã¨æ±ãå ´å 79 149 ã«ï¼ãã®ã·ã³ãã«ããã¯ãå®ç¾©ããï¼ 80 150 81 ( 6) GIC_ARM11MOCORE ARM11 MPCoreã¸ã®å¯¾å¿ï¼ãªãã·ã§ã³ï¼151 (5) GIC_ARM11MPCORE ARM11 MPCoreã¸ã®å¯¾å¿ï¼ãªãã·ã§ã³ï¼ 82 152 83 153 ARM11 MPCoreã®Distributed Interrupt Controllerã®å ´åã«ã¯ï¼ãã®ã·ã³ãã« … … 284 354 ¥å£å¦ç 285 355 286 356 GICã«ãããCPUä¾å¤ãã³ãã©ã®å 357 ¥å£å¦çï¼irc_begin_excï¼ã§ã¯ï¼CPUä¾å¤çºç 358 åã®å²è¾¼ã¿åªå 359 度ãã¹ã¯ãã¹ã¿ãã¯ã«ä¿åãï¼CPUä¾å¤ãã³ãã©ã®å 360 ¥å£å¦ç 361 ï¼irc_end_excï¼ã§å²è¾¼ã¿åªå 362 度ãã¹ã¯ãå 363 ã«æ»ãï¼ 364 365 ---------------------------------------- 366 ALABEL(irc_begin_exc) 367 /* 368 * å²è¾¼ã¿åªå 369 度ãã¹ã¯ãä¿åããï¼ 370 */ 371 ldr r1, =GICC_PMR /* ç¾å¨ã®å²è¾¼ã¿åªå 372 度ãåå¾ */ 373 ldr r2, [r1] 374 push {r2} /* irc_end_excã§ç¨ããæ 375 å ±ãä¿å */ 376 bx lr 377 ---------------------------------------- 378 ALABEL(irc_end_exc) 379 /* 380 * å²è¾¼ã¿åªå 381 度ãã¹ã¯ãå 382 ã«æ»ãï¼ 383 */ 384 pop {r2} /* irc_begin_excã§ä¿åããæ 385 å ±ã復帰 */ 386 ldr r1, =GICC_PMR /* å²è¾¼ã¿åªå 387 度ãã¹ã¯ãå 388 ã«æ»ã */ 389 str r2, [r1] 390 bx lr 391 ---------------------------------------- 287 392 288 393 ä»¥ä¸ -
asp3_wo_tecs/trunk/arch/arm_gcc/doc/gic_memo.txt
r302 r306 5 5 ä½æè 6 6 : é«ç°åºç« ï¼åå¤å±å¤§å¦ï¼ 7 æçµæ´æ°: 201 5å¹´7æ25æ¥7 æçµæ´æ°: 2016å¹´3æ24æ¥ 8 8 9 9 âã¡ã¢ã®ä½ç½®ã¥ã … … 340 340 - åå²è¾¼ã¿ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã2ãããã§è¨å® 341 341 - ã¬ãã«ããªã¬ãã¨ãã¸ããªã¬ããè¨å® 342 ä¸ä½ãããã0ï¼ã¬ãã«ããªã¬ 343 ä¸ä½ãããã1ï¼ã¨ãã¸ããªã¬ 342 344 - GICv1ããåã®ä¸é¨ã®å®è£ 343 345 ã§ã¯ï¼N-Nã¢ãã«ã1-Nã¢ãã«ããããã§è¨å® 344 0ï¼N-Nã¢ãã« 345 1ï¼1-Nã¢ãã« 346 ä¸ä½ãããã0ï¼N-Nã¢ãã« 347 ä¸ä½ãããã1ï¼1-Nã¢ãã« 348 - GICv1以éã§ã¯ï¼ä¸ä½ããããã©ã®ããã«è¨å®ãã¹ããï¼ 349 æç®[1]ã«ã¯æè¨ããªã 350 æç®[2]ã«ããã¨ï¼1ã«ãã¹ãã¨ãèªãã 351 â GIC_ARM11MPCOREãå®ç¾©ããã¦ããã°1ï¼ããã§ãªããã°0ã«åæåããï¼ 346 352 347 353 å²è¾¼ã¿ãã³ã»ãã¥ã¢ã¢ã¯ã»ã¹å¶å¾¡ã¬ã¸ã¹ã¿ï¼GICD_NSCARnï¼0xe00ã0xefc ⦠ãªãã·ã§ã³ -
asp3_wo_tecs/trunk/arch/arm_gcc/doc/mpcore_memo.txt
r302 r306 5 5 ä½æè 6 6 : é«ç°åºç« ï¼åå¤å±å¤§å¦ï¼ 7 æçµæ´æ°: 201 5å¹´8æ9æ¥7 æçµæ´æ°: 2016å¹´1æ16æ¥ 8 8 9 9 âã¡ã¢ã®ä½ç½®ã¥ã … … 22 22 23 23 ã»åèæç® 24 ã»MPCoreã¨ã¯ï¼ 25 ã»SCUï¼Snoop Control Unitï¼ 24 26 ã»ARM CT11MPcore with RealView Emulation Baseboard 25 27 - ç¨èªã®æ´ç … … 53 55 HBI-0159, HBI-0175, HBI-0176 54 56 DUI0351E_realview_platform_baseboard_for_arm11_mpcore_ug.pdf 57 58 âMPCoreã¨ã¯ï¼ 59 60 MPCoreã¨ã¯ï¼ARMã³ã¢ã1ã4åã¨ï¼SCUï¼Snoop Control Unitï¼ãªã©ï¼ãã«ãã³ 61 ã¢ã·ã¹ãã ã«å¿ 62 è¦ãªå¨è¾ºåè·¯ãå«ãããã»ããµã¢ã¼ããã¯ãã£ã®å称ã¨æãã 63 ãï¼ 64 65 åèæç®[1]ã«ããã¨ï¼ARM11 MPCoreã¨ã¯ï¼1ã4åã®MP11 CPUï¼ã³ã¢ï¼ãè¼ãï¼ 66 SCUï¼DICï¼Distributed Interrupt Controllerï¼ï¼ã³ã¢æ¯ã®ãã©ã¤ãã¼ãã¿ã¤ 67 ãã¨ãã©ã¤ãã¼ãã¦ã©ããããã°ï¼AXIã¤ã³ã¿ãã§ã¼ã¹ãªã©ãå«ãããã»ããµã® 68 å称ã§ããï¼MP11 CPUã¨ã¯ï¼ARM11ãæ¡å¼µããã³ã¢ã®ãã¨ã¨æãããï¼ 69 70 åèæç®[2]ã«ããã¨ï¼Cortex-A9 MPCoreã¨ã¯ï¼1ã4åã®Cortex-A9ããã»ããµ 71 ï¼ã³ã¢ï¼ãè¼ãï¼SCUï¼GICï¼Generic Interrupt Controllerï¼ï¼ãã©ã¤ãã¼ã 72 ããªãã§ã©ã«ï¼ã°ãã¼ãã«ã¿ã¤ãï¼ã³ã¢æ¯ã®ãã©ã¤ãã¼ãã¿ã¤ãã¨ã¦ã©ãããã 73 ã°ï¼ï¼AXIã¤ã³ã¿ãã§ã¼ã¹ï¼ãªãã·ã§ã³ï¼ãªã©ãå«ãããã»ããµã®å称ã§ããï¼ 74 75 以ä¸ããï¼MPCoreãããä¾åé¨ã«ã¯ï¼SCUï¼GICï¼ã¾ãã¯DICï¼ï¼ãã©ã¤ãã¼ãã 76 ãªãã§ã©ã«ãæ±ãã³ã¼ããå«ããã®ã妥å½ã¨èããããï¼ãã ãï¼GICï¼ããã³ 77 DICï¼ã«ã¤ãã¦ã¯ï¼å¥ã®ARMããã»ããµã«ãå 78 ±éã§ä½¿ãããããï¼ARMã³ã¢ä¾åé¨ 79 ã«å«ããï¼ 80 81 âSCUï¼Snoop Control Unitï¼ 82 83 SCUã¯ï¼åã³ã¢ãæã¤L1ãã£ãã·ã¥ã®ã³ãã¼ã¬ã³ã¹ãä¿ã¤ããã®åè·¯ã§ããï¼ 84 ARM11 MPCoreã§ã¯ï¼SCUãããã©ã¼ãã³ã¹ã¢ãã¿ã®æ©è½ãæã£ã¦ãããï¼ 85 Cortex-Aã·ãªã¼ãºã§ã¯ï¼ããã©ã¼ãã³ã¹ã¢ãã¿ã¯ç¬ç«ããæ©è½ã¨ãã¦ç¨æãã 86 ã¦ããï¼SCUã¯ããã©ã¼ãã³ã¹ã¢ãã¿ã®æ©è½ãæããªãï¼ 87 88 以ä¸ã§ã¯ï¼SCUã®å¶å¾¡ã¬ã¸ã¹ã¿ã«ã¤ãã¦ã¾ã¨ããï¼ 89 90 SCUå¶å¾¡ã¬ã¸ã¹ã¿ï¼MPCORE_SCU_CTRLï¼â¦ 32ããã 91 ï¼ARM11 MPCoreã¨Cortex-A9 MPCoreã§ï¼ãããé 92 ç½®ãç°ãªãï¼ 93 94 SCUã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã¬ã¸ã¹ã¿ï¼MPCORE_SCU_CONFIGï¼â¦ 32ããã 95 96 SCU CPUãã¯ã¼ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ï¼MPCORE_SCU_CPUSTATï¼â¦ 32ããã 97 ï¼ARM11 MPCoreã¨Cortex-A9 MPCoreã§ï¼ãããé 98 ç½®ãç°ãªãï¼ 99 100 SCUå 101 ¨ç¡å¹åã¬ã¸ã¹ã¿ï¼MPCORE_SCU_INVALLï¼â¦ 32ããã 102 - ãã®ã¬ã¸ã¹ã¿ã«æ¸ãè¾¼ããã¨ã§ï¼ã¿ã°ã¡ã¢ãªãç¡å¹åã§ããï¼ 55 103 56 104 âARM CT11MPcore with RealView Emulation Baseboard … … 133 181 - 以ä¸ã®ã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹ã決ãã 134 182 + ARM11 MPCoreã®ã¬ã¸ã¹ã¿ 135 S noop Control Unitï¼SCUï¼ã®å¶å¾¡ã¬ã¸ã¹ã¿183 SCUã®å¶å¾¡ã¬ã¸ã¹ã¿ 136 184 + L220ãã£ãã·ã¥ã³ã³ããã¼ã©ã®ã¬ã¸ã¹ã¿ 137 185 + ARM11 MPCoreãã¹ããããã®ã¬ã¸ã¹ã¿ … … 167 215 èµã¿ã¤ãï¼[1] 9.2ç¯ï¼ 168 216 169 ARM11 MPCoreã¯ï¼ã³ã¢æ¯ã«ï¼ã ¿ã¤ãã¨ã¦ã©ããããã°ãæã¤ï¼ã¦ã©ããããã°170 ã ¯ï¼ã¿ã¤ãã¨ãã¦ä½¿ç¨ãããã¨ãã§ããï¼217 ARM11 MPCoreã¯ï¼ã³ã¢æ¯ã«ï¼ãã©ã¤ãã¼ãã¿ã¤ãã¨ãã©ã¤ãã¼ãã¦ã©ãããã 218 ã°ãæã¤ï¼ã¦ã©ããããã°ã¯ï¼ã¿ã¤ãã¨ãã¦ä½¿ç¨ãããã¨ãã§ããï¼ 171 219 172 220 âã¿ã¤ã -
asp3_wo_tecs/trunk/arch/arm_m_gcc/common/Makefile.core
r304 r306 95 95 96 96 # 97 # ãªãã»ãããã¡ã¤ã«çæã®ããã®å®ç¾© (ToDo)97 # ãªãã»ãããã¡ã¤ã«çæã®ããã®å®ç¾© 98 98 # 99 99 TARGET_OFFSET_TRB = $(COREDIR)/core_offset.trb -
asp3_wo_tecs/trunk/arch/arm_m_gcc/common/core_check.trb
r304 r306 1 1 # ====================================================================== 2 # 2 # 3 3 # TOPPERS/ASP Kernel 4 4 # Toyohashi Open Platform for Embedded Real-Time Systems/ 5 5 # Advanced Standard Profile Kernel 6 # 6 # 7 7 # Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory 8 8 # Toyohashi Univ. of Technology, JAPAN 9 9 # Copyright (C) 2005-2014 by Embedded and Real-Time Systems Laboratory 10 10 # Graduate School of Information Science, Nagoya Univ., JAPAN 11 # 11 # 12 12 # ä¸è¨èä½æ¨©è 13 13 ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ … … 46 46 # å 47 47 責ãããã¨ï¼ 48 # 48 # 49 49 # æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 50 50 ã … … 53 53 # ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 54 54 # ã®è²¬ä»»ãè² ããªãï¼ 55 # 55 # 56 56 # @(#) $Id: core_check.tf 301 2015-01-07 04:57:01Z ertl-ishikawa $ 57 57 # 58 58 # ===================================================================== 59 59 60 # 60 # 61 61 # ãã¹3ã®ããã»ããµä¾åãã³ãã¬ã¼ãï¼ARM-Mç¨ï¼ 62 # 62 # 63 63 64 # 64 # 65 65 # ãã¹4ã®ããã»ããµä¾åãã³ãã¬ã¼ãï¼ARM-Mç¨ï¼ 66 # 67 def GetStackTskinictxb(key, params) 68 tinib = SYMBOL("_kernel_tinib_table") 69 tinib += $sizeof_TINIB * (key - 1) 66 # 67 def GetStackTskinictxb(key, params, tinib) 70 68 bottom = PEEK(tinib + $offsetof_TINIB_TSKINICTXB_stk_bottom, $sizeof_void_ptr) 71 69 size = PEEK(tinib + $offsetof_TINIB_TSKINICTXB_stksz, $sizeof_size_t) … … 73 71 end 74 72 75 # 73 # 76 74 # ã¿ã¼ã²ããéä¾åé¨ã®ã¤ã³ã¯ã«ã¼ã 77 # 75 # 78 76 IncludeTrb("kernel/kernel_check.trb") -
asp3_wo_tecs/trunk/arch/arm_m_gcc/common/core_kernel.trb
r304 r306 1 1 # ====================================================================== 2 # 2 # 3 3 # TOPPERS/ASP Kernel 4 4 # Toyohashi Open Platform for Embedded Real-Time Systems/ 5 5 # Advanced Standard Profile Kernel 6 # 6 # 7 7 # Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory 8 8 # Toyohashi Univ. of Technology, JAPAN 9 9 # Copyright (C) 2005-2015 by Embedded and Real-Time Systems Laboratory 10 10 # Graduate School of Information Science, Nagoya Univ., JAPAN 11 # 11 # 12 12 # ä¸è¨èä½æ¨©è 13 13 ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ … … 46 46 # å 47 47 責ãããã¨ï¼ 48 # 48 # 49 49 # æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 50 50 ã … … 53 53 # ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 54 54 # ã®è²¬ä»»ãè² ããªãï¼ 55 # 55 # 56 56 # @(#) $Id: core.tf 322 2015-04-30 13:23:48Z ertl-ishikawa $ 57 57 # 58 58 # ===================================================================== 59 59 60 # 60 # 61 61 # ãã¹2ã®ã¢ã¼ããã¯ãã£ä¾åãã³ãã¬ã¼ãï¼ARM-Mç¨ï¼ 62 # 63 64 # 62 # 63 64 # 65 65 # æå¹ãªå²è¾¼ã¿çªå·ï¼å²è¾¼ã¿ãã³ãã©çªå· 66 # 67 $INTNO_VALID = Array(15..$TMAX_INTNO .val)66 # 67 $INTNO_VALID = Array(15..$TMAX_INTNO) 68 68 $INHNO_VALID = $INTNO_VALID 69 69 70 # 70 # 71 71 # æå¹ãªCPUä¾å¤çªå· 72 72 # 7,8ã¯ã¨ãã¥ã¬ã¼ããããä¾å¤ 73 # 73 # 74 74 $EXCNO_VALID = [ 2,3,4,5,6,7,8,11,12,14 ] 75 75 76 # 76 # 77 77 # CRE_ISRã§ä½¿ç¨ã§ããå²è¾¼ã¿çªå·ã¨ããã«å¯¾å¿ããå²è¾¼ã¿ãã³ãã©çªå· 78 # 78 # 79 79 $INTNO_CREISR_VALID = $INTNO_VALID 80 80 $INHNO_CREISR_VALID = $INHNO_VALID 81 81 82 # 82 # 83 83 # DEF_INTï¼DEF_EXCã§ä½¿ç¨ã§ããå²è¾¼ã¿ãã³ãã©çªå·ï¼CPUä¾å¤ãã³ãã©çªå· 84 # 84 # 85 85 $INHNO_DEFINH_VALID = $INHNO_VALID 86 86 $EXCNO_DEFEXC_VALID = $EXCNO_VALID 87 87 88 # 88 # 89 89 # CFG_INTã§ä½¿ç¨ã§ããå²è¾¼ã¿çªå·ã¨å²è¾¼ã¿åªå 90 90 度 … … 96 96 # ãã®ããï¼ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ã§ã®ã¿æå®å¯è½ï¼ 97 97 $INTNO_CFGINT_VALID = $INTNO_VALID 98 $INTPRI_CFGINT_VALID = Array(-(1 << $TBITW_IPRI .val)..-2)99 100 # 98 $INTPRI_CFGINT_VALID = Array(-(1 << $TBITW_IPRI)..-2) 99 100 # 101 101 # kernel/kernel.tf ã®ã¿ã¼ã²ããä¾åé¨ 102 # 103 104 # 102 # 103 104 # 105 105 # TSKINICTXBã®åæåæ 106 106 å ±ãçæ 107 # 107 # 108 108 def GenerateTskinictxb(key, params) 109 109 return("{" \ … … 114 114 end 115 115 116 # 116 # 117 117 # æ¨æºãã³ãã¬ã¼ããã¡ã¤ã«ã®ã¤ã³ã¯ã«ã¼ã 118 # 118 # 119 119 IncludeTrb("kernel/kernel.trb") 120 120 … … 124 124 */ 125 125 126 /* 126 /* 127 127 * ãã¯ã¿ã¼ãã¼ãã« 128 */ 128 */ 129 129 __attribute__ ((section(".vector"))) 130 130 const FP _kernel_vector_table[] = { … … 143 143 $INTNO_VALID.each { |inhno| 144 144 #if $cfgData[:DEF_INH][inhno]) && ((INH.INHATR[inhno] & TA_NONKERNEL) != 0)$ 145 inh = $cfgData[:DEF_INH].select { |k,v| 145 inh = $cfgData[:DEF_INH].select { |k,v| 146 146 (v[:inhno] == inhno) && (v[:inhatr] & $TA_NONKERNEL) 147 147 } … … 158 158 $kernelCfgC.add("const FP _kernel_exc_tbl[] = {") 159 159 Array(0..14).each { |excno| 160 exc = $cfgData[:DEF_EXC].select { |k,v| 160 exc = $cfgData[:DEF_EXC].select { |k,v| 161 161 (v[:excno] == excno) 162 162 } … … 170 170 } 171 171 $INTNO_VALID.each { |inhno| 172 inh = $cfgData[:DEF_INH].select { |k,v| 172 inh = $cfgData[:DEF_INH].select { |k,v| 173 173 (v[:inhno] == inhno) 174 174 } … … 183 183 $kernelCfgC.add2("};") 184 184 185 # 185 # 186 186 # _kernel_bitpat_cfgintã®çæ 187 # 187 # 188 188 189 189 bitpat_cfgint_num = 0 … … 199 199 Array(0..(bitpat_cfgint_num-1)).each { |num| 200 200 Array((num*32)..((num*32)+31)).each { |inhno| 201 inh = $cfgData[:DEF_INH].select { |k,v| 201 inh = $cfgData[:DEF_INH].select { |k,v| 202 202 (v[:inhno] == inhno) 203 203 } … … 210 210 $kernelCfgC.add2("};") 211 211 212 # 212 # 213 213 # å²è¾¼ã¿åªå 214 214 度ãã¼ãã«ï¼å 215 215 é¨è¡¨ç¾ï¼ 216 # 216 # 217 217 $kernelCfgC.add("const uint32_t _kernel_int_iipm_tbl[] = {") 218 218 Array(0..14).each { |excno| … … 220 220 } 221 221 $INTNO_VALID.each { |intno| 222 int = $cfgData[:CFG_INT].select { |k,v| 222 int = $cfgData[:CFG_INT].select { |k,v| 223 223 (v[:intno] == intno) 224 224 } -
asp3_wo_tecs/trunk/configure.rb
r305 r306 54 54 # ã®è²¬ä»»ãè² ããªãï¼ 55 55 # 56 # $Id: configure.rb 585 2016-02-05 10:58:56Z ertl-hiro $56 # $Id: configure.rb 626 2016-02-12 13:46:32Z ertl-hiro $ 57 57 # 58 58 … … 227 227 $appldirs.push("\$(SRCDIR)/sample") 228 228 end 229 if $applname.nil? 230 $applname = "sample1" 231 end 229 $applname ||= "sample1" 232 230 if $option_t.nil? 233 231 $applobjs.unshift($applname + ".o") 234 232 end 235 if $cfgfile.nil? 236 $cfgfile = $applname + ".cfg" 237 end 238 if $cdlfile.nil? 239 $cdlfile = $applname + ".cdl" 240 end 233 $cfgfile ||= $applname + ".cfg" 234 $cdlfile ||= $applname + ".cdl" 241 235 if $srcdir.nil? 242 236 # ã½ã¼ã¹ãã£ã¬ã¯ããªåãåãåºã … … 252 246 $srcabsdir = Shell.new.cwd + "/" + $srcdir 253 247 end 254 if $tempmakefile.nil? 255 $tempmakefile = $srcdir + "/sample/Makefile" 256 end 257 if $cfg.nil? 258 $cfg = $ruby + " \$(SRCDIR)/cfg/cfg.rb" 259 end 260 if $tecsgen.nil? 261 $tecsgen = $ruby + " \$(SRCDIR)/tecsgen/tecsgen.rb" 262 end 248 $tempmakefile ||= $srcdir + "/sample/Makefile" 249 $cfg ||= $ruby + " \$(SRCDIR)/cfg/cfg.rb" 250 $tecsgen ||= $ruby + " \$(SRCDIR)/tecsgen/tecsgen.rb" 263 251 264 252 # -
asp3_wo_tecs/trunk/include/kernel.h
r305 r306 53 53 * ã®è²¬ä»»ãè² ããªãï¼ 54 54 * 55 * $Id: kernel.h 520 2016-01-14 05:06:26Z ertl-hiro $55 * $Id: kernel.h 654 2016-02-20 12:59:31Z ertl-hiro $ 56 56 */ 57 57 … … 547 547 #define TKERNEL_MAKER UINT_C(0x0118) /* ã«ã¼ãã«ã®ã¡ã¼ã«ã¼ã³ã¼ã */ 548 548 #define TKERNEL_PRID UINT_C(0x0007) /* ã«ã¼ãã«ã®èå¥çªå· */ 549 #define TKERNEL_SPVER UINT_C(0xf63 0) /* ã«ã¼ãã«ä»æ§ã®ãã¼ã¸ã§ã³çªå· */550 #define TKERNEL_PRVER UINT_C(0x30 00) /* ã«ã¼ãã«ã®ãã¼ã¸ã§ã³çªå· */549 #define TKERNEL_SPVER UINT_C(0xf631) /* ã«ã¼ãã«ä»æ§ã®ãã¼ã¸ã§ã³çªå· */ 550 #define TKERNEL_PRVER UINT_C(0x3010) /* ã«ã¼ãã«ã®ãã¼ã¸ã§ã³çªå· */ 551 551 552 552 /* -
asp3_wo_tecs/trunk/kernel/dataqueue.trb
r305 r306 53 53 # ã®è²¬ä»»ãè² ããªãï¼ 54 54 # 55 # $Id: dataqueue.trb 588 2016-02-05 12:54:58Z ertl-hiro $55 # $Id: dataqueue.trb 668 2016-03-03 13:57:53Z ertl-hiro $ 56 56 # 57 57 … … 66 66 67 67 def prepare(key, params) 68 # ãã©ã¡ã¼ã¿ãçç¥ãããæã®ããã©ã«ãå¤ã®è¨å® 69 params[:dtqmb] ||= "NULL" 70 68 71 # dtqatrãç¡å¹ã®å ´åï¼E_RSATRï¼ï¼»NGKI1669ï¼½ 69 72 #ï¼TA_TPRI以å¤ã®ããããã»ããããã¦ããå ´åï¼ … … 74 77 # dtqmbãNULLã§ãªãå ´åï¼E_NOSPTï¼ï¼»ASPS0132ï¼½ 75 78 if params[:dtqmb] != "NULL" 76 error_illegal_id("E_ PAR", params, :dtqmb, :dtqid)79 error_illegal_id("E_NOSPT", params, :dtqmb, :dtqid) 77 80 end 78 81 79 82 # ãã¼ã¿ãã¥ã¼ç®¡çé å 80 83 if params[:dtqcnt] > 0 81 $kernelCfgC.add("static DTQMB _kernel_dtqmb_#{params[:dtqid]}" \ 82 "[#{params[:dtqcnt]}];") 84 dtqmbName = "_kernel_dtqmb_#{params[:dtqid]}" 85 $kernelCfgC.add("static DTQMB #{dtqmbName}[#{params[:dtqcnt]}];") 86 params[:dtqinib_dtqmb] = dtqmbName 87 else 88 params[:dtqinib_dtqmb] = "NULL" 83 89 end 84 90 end 85 91 86 92 def generateInib(key, params) 87 if params[:dtqcnt] > 0 88 dtqmb = "_kernel_dtqmb_#{params[:dtqid]}" 89 else 90 dtqmb = "NULL" 91 end 92 return("(#{params[:dtqatr]}), (#{params[:dtqcnt]}), #{dtqmb}") 93 return("(#{params[:dtqatr]}), (#{params[:dtqcnt]}), " \ 94 "#{params[:dtqinib_dtqmb]}") 93 95 end 94 96 end -
asp3_wo_tecs/trunk/kernel/exception.trb
r305 r306 53 53 # ã®è²¬ä»»ãè² ããªãï¼ 54 54 # 55 # $Id: exception.trb 588 2016-02-05 12:54:58Z ertl-hiro $55 # $Id: exception.trb 663 2016-02-27 04:45:50Z ertl-hiro $ 56 56 # 57 57 … … 76 76 # excatrãç¡å¹ã®å ´åï¼E_RSATRï¼ï¼»NGKI3131ï¼½ 77 77 #ï¼TARGET_EXCATR以å¤ã®ããããã»ããããã¦ããå ´åï¼ 78 if (params[:excatr] & ~ $TARGET_EXCATR) != 078 if (params[:excatr] & ~($TARGET_EXCATR)) != 0 79 79 error_illegal_sym("E_RSATR", params, :excatr, :excno) 80 80 end … … 85 85 å ±ã®çæ 86 86 # 87 if $OMIT_INITIALIZE_EXCEPTION.nil?87 if !$OMIT_INITIALIZE_EXCEPTION 88 88 # 89 89 # å®ç¾©ããCPUä¾å¤ãã³ãã©ã®æ° 90 90 # 91 $kernelCfgC.a ppend(<<EOS)91 $kernelCfgC.add(<<EOS) 92 92 #define TNUM_DEF_EXCNO #{$cfgData[:DEF_EXC].size} 93 93 const uint_t _kernel_tnum_def_excno = TNUM_DEF_EXCNO; 94 95 94 EOS 96 95 -
asp3_wo_tecs/trunk/kernel/genoffset.trb
r304 r306 52 52 # ã®è²¬ä»»ãè² ããªãï¼ 53 53 # 54 # $Id: genoffset.trb 572 2016-02-01 14:40:09Z ertl-hiro $54 # $Id: genoffset.trb 662 2016-02-27 02:33:51Z ertl-hiro $ 55 55 # 56 56 … … 75 75 # 76 76 def GenerateDefine(symbol, value) 77 $offsetH.add("#define #{symbol}\t#{value .val}")77 $offsetH.add("#define #{symbol}\t#{value}") 78 78 end 79 79 -
asp3_wo_tecs/trunk/kernel/interrupt.trb
r305 r306 53 53 # ã®è²¬ä»»ãè² ããªãï¼ 54 54 # 55 # $Id: interrupt.trb 6 12 2016-02-08 04:27:57Z ertl-hiro $55 # $Id: interrupt.trb 678 2016-03-06 02:36:09Z ertl-hiro $ 56 56 # 57 57 … … 78 78 # ãã¬ã¼ã¹ãã°ãã¯ãã®ããã©ã«ãå®ç¾© 79 79 # 80 $kernelCfgC.a ppend(<<EOS)80 $kernelCfgC.add(<<EOS) 81 81 #ifndef LOG_ISR_ENTER 82 82 #define LOG_ISR_ENTER(isrid) … … 86 86 #define LOG_ISR_LEAVE(isrid) 87 87 #endif /* LOG_ISR_LEAVE */ 88 89 88 EOS 90 89 … … 105 104 # 106 105 if $INTPRI_CFGINT_VALID.nil? 107 $INTPRI_CFGINT_VALID = $TMIN_INTPRI. val.upto($TMAX_INTPRI.val).to_a106 $INTPRI_CFGINT_VALID = $TMIN_INTPRI.upto($TMAX_INTPRI).to_a 108 107 end 109 108 … … 151 150 if !$INTNO_FIX_NONKERNEL.index(params[:intno]).nil? 152 151 if params[:intpri] >= $TMIN_INTPRI 153 error_ercd("E_OBJ", params, " intno `#{params[:intno]}'" \154 " must have higher priority than TMIN_INTPRI")152 error_ercd("E_OBJ", params, "%%intno must have higher priority " \ 153 "than TMIN_INTPRI in %apiname") 155 154 end 156 155 end … … 162 161 if !$INTNO_FIX_KERNEL.index(params[:intno]).nil? 163 162 if params[:intpri] < $TMIN_INTPRI 164 error_ercd("E_OBJ", params, " intno `#{params[:intno]}'" \165 " must have lower or equal priority to TMIN_INTPRI")163 error_ercd("E_OBJ", params, "%%intno must have lower or equal " \ 164 "priority to TMIN_INTPRI in %apiname") 166 165 end 167 166 end … … 180 179 # inhatrãç¡å¹ã®å ´åï¼E_RSATRï¼ï¼»NGKI3052ï¼½ 181 180 #ï¼TARGET_INHATR以å¤ã®ããããã»ããããã¦ããå ´åï¼ 182 if (params[:inhatr] & ~ $TARGET_INHATR) != 0181 if (params[:inhatr] & ~($TARGET_INHATR)) != 0 183 182 error_illegal_sym("E_RSATR", params, :inhatr, :inhno) 184 183 end … … 189 188 if !$INHNO_FIX_NONKERNEL.index(params[:inhno]).nil? 190 189 if (params[:inhatr] & $TA_NONKERNEL) == 0 191 error_ercd("E_RSATR", params, " inhno `#{params[:inhno]}'" \192 " must be non-kernel interrupt")190 error_ercd("E_RSATR", params, "%%inhno must be " \ 191 "non-kernel interrupt in %apiname") 193 192 end 194 193 end … … 200 199 if !$INHNO_FIX_KERNEL.index(params[:inhno]).nil? 201 200 if (params[:inhatr] & $TA_NONKERNEL) != 0 202 error_ercd("E_RSATR", params, " inhno `#{params[:inhno]}'" \203 " must not be non-kernel interrupt")201 error_ercd("E_RSATR", params, "%%inhno must not be " \ 202 "non-kernel interrupt in %apiname") 204 203 end 205 204 end … … 211 210 # inhnoã«å¯¾å¿ããintnoã«å¯¾ããCFG_INTããªãå ´åï¼E_OBJï¼ï¼»NGKI3062ï¼½ 212 211 if !$cfgData[:CFG_INT].has_key?(intnoVal) 213 error_ercd("E_OBJ", params, "intno `#{intnoVal}' corresponding to " \214 " inhno `#{params[:inhno]}'is not configured with CFG_INT")212 error_ercd("E_OBJ", params, "intno `#{intnoVal}' corresponding to " \ 213 "%%inhno in %apiname is not configured with CFG_INT") 215 214 else 216 215 intnoParams = $cfgData[:CFG_INT][intnoVal] … … 221 220 # ããå ´åï¼E_OBJï¼ï¼»NGKI3065ï¼½ 222 221 if intnoParams[:intpri] < $TMIN_INTPRI 223 error_ercd("E_OBJ", params, "intpri `#{intnoParams[:intpri]}'" \ 224 " configured for inhno `#{params[:inhno]}' must" \ 225 " be lower or equal to TMIN_INTPRI") 222 error_ercd("E_OBJ", params, "intpri `#{intnoParams[:intpri]}' " \ 223 "configured for %%inhno must be lower or equal to TMIN_INTPRI") 226 224 end 227 225 else … … 231 229 # å ´åï¼E_OBJï¼ï¼»NGKI3066ï¼½ 232 230 if intnoParams[:intpri] >= $TMIN_INTPRI 233 error_ercd("E_OBJ", params, "intpri `#{intnoParams[:intpri]}'" \ 234 " configured for inhno `#{params[:inhno]}' must" \ 235 " be higher than with TMIN_INTPRI") 231 error_ercd("E_OBJ", params, "intpri `#{intnoParams[:intpri]}' " \ 232 "configured for %%inhno must be higher than TMIN_INTPRI") 236 233 end 237 234 end … … 246 243 # isratrãç¡å¹ã®å ´åï¼E_RSATRï¼ï¼»NGKI2998ï¼½ 247 244 #ï¼TARGET_ISRATR以å¤ã®ããããã»ããããã¦ããå ´åï¼ 248 if (params[:isratr] & ~ $TARGET_ISRATR) != 0245 if (params[:isratr] & ~($TARGET_ISRATR)) != 0 249 246 error_illegal("E_RSATR", params, "isratr") 250 247 end … … 267 264 isrParamsList = [] 268 265 $cfgData[:CRE_ISR].sort.each do |key, params| 269 if params[:intno] .val== intnoVal266 if params[:intno] == intnoVal 270 267 isrParamsList.push(params) 271 268 end … … 279 276 if $cfgData[:DEF_INH].has_key?(inhnoVal) 280 277 inhnoParams = $cfgData[:DEF_INH][inhnoVal] 281 error_ercd("E_OBJ", isrParamsList[0], \ 282 "intno `#{isrParamsList[0][:intno]}' in CRE_ISR" \ 283 " is duplicated with inhno #{inhnoParams[:inhno]}") 278 error_ercd("E_OBJ", isrParamsList[0], "%%intno in %apiname " \ 279 "is duplicated with inhno #{inhnoParams[:inhno]}") 284 280 end 285 281 286 282 # intnoã«å¯¾ããCFG_INTããªãå ´åï¼E_OBJï¼ï¼»NGKI3012ï¼½ 287 283 if !$cfgData[:CFG_INT].has_key?(intnoVal) 288 error_ercd("E_OBJ", isrParamsList[0], \ 289 "intno `#{isrParamsList[0][:intno]}'" \ 290 " is not configured with CFG_INT") 284 error_ercd("E_OBJ", isrParamsList[0], "%%intno in %apiname " \ 285 "is not configured with CFG_INT") 291 286 else 292 287 intnoParams = $cfgData[:CFG_INT][intnoVal] … … 297 292 if intnoParams[:intpri] < $TMIN_INTPRI 298 293 error_ercd("E_OBJ", isrParamsList[0], 299 "intpri `#{intnoParams[:intpri]}' configured for" \ 300 " intno `#{isrParamsList[0][:intno]}}' in higher" \ 301 " than TMIN_INTPRI") 294 "intpri `#{intnoParams[:intpri]}' configured for " \ 295 "%%intno with CFG_INT in higher than TMIN_INTPRI") 302 296 end 303 297 end … … 305 299 # 次ã®DEF_INHã«ç¸å½ãããã¼ã¿ãçæ 306 300 # DEF_INH(inhno, { TA_NULL, _kernel_inthdr_<intno> } ); 307 params= {308 :inhno => StrVal.new(inhnoVal.to_s,inhnoVal),309 :inhatr => $TA_NULL,310 :inthdr => StrVal.new("_kernel_inthdr_#{intnoVal}")301 $cfgData[:DEF_INH][inhnoVal] = { 302 inhno: NumStr.new(inhnoVal), 303 inhatr: NumStr.new($TA_NULL, "TA_NULL"), 304 inthdr: "_kernel_inthdr_#{intnoVal}" 311 305 } 312 $cfgData[:DEF_INH][inhnoVal] = params313 306 314 307 # å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ç¨ã®å²è¾¼ã¿ãã³ãã© … … 340 333 å ±ã®çæ 341 334 # 342 if $OMIT_INITIALIZE_INTERRUPT.nil? || !$USE_INHINIB_TABLE.nil?335 if !$OMIT_INITIALIZE_INTERRUPT || $USE_INHINIB_TABLE 343 336 # 344 337 # å®ç¾©ããå²è¾¼ã¿ãã³ãã©ã®æ° 345 338 # 346 $kernelCfgC.a ppend(<<EOS)339 $kernelCfgC.add(<<EOS) 347 340 #define TNUM_DEF_INHNO #{$cfgData[:DEF_INH].size} 348 341 const uint_t _kernel_tnum_def_inhno = TNUM_DEF_INHNO; 349 350 342 EOS 351 343 … … 388 380 å ±ã®çæ 389 381 # 390 if $OMIT_INITIALIZE_INTERRUPT.nil? || !$USE_INTINIB_TABLE.nil?382 if !$OMIT_INITIALIZE_INTERRUPT || $USE_INTINIB_TABLE 391 383 # 392 384 # è¨å®ããå²è¾¼ã¿è¦æ±ã©ã¤ã³ã®æ° 393 385 # 394 $kernelCfgC.a ppend(<<EOS)386 $kernelCfgC.add(<<EOS) 395 387 #define TNUM_CFG_INTNO #{$cfgData[:CFG_INT].size} 396 388 const uint_t _kernel_tnum_cfg_intno = TNUM_CFG_INTNO; 397 398 389 EOS 399 390 -
asp3_wo_tecs/trunk/kernel/kernel.trb
r305 r306 45 45 # å 46 46 責ãããã¨ï¼ 47 # 47 # 48 48 # æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 49 49 ã … … 52 52 # ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 53 53 # ã®è²¬ä»»ãè² ããªãï¼ 54 # 55 # $Id: kernel.trb 588 2016-02-05 12:54:58Z ertl-hiro $56 # 54 # 55 # $Id: kernel.trb 670 2016-03-03 15:08:11Z ertl-hiro $ 56 # 57 57 58 58 # … … 60 60 # 61 61 62 # 62 # 63 63 # ã¿ã¤ã ã¹ã¿ã³ããã¡ã¤ã«ã®æå® 64 # 64 # 65 65 $timeStampFileName = "kernel_cfg.timestamp" 66 66 … … 70 70 # 71 71 $kernelCfgH = GenFile.new("kernel_cfg.h") 72 $kernelCfgH.a ppend(<<EOS)72 $kernelCfgH.add(<<EOS) 73 73 /* kernel_cfg.h */ 74 74 #ifndef TOPPERS_KERNEL_CFG_H 75 75 #define TOPPERS_KERNEL_CFG_H 76 77 76 EOS 78 77 … … 82 81 # 83 82 $kernelCfgC = GenFile.new("kernel_cfg.c") 84 $kernelCfgC.a ppend(<<EOS)83 $kernelCfgC.add(<<EOS) 85 84 /* kernel_cfg.c */ 86 85 #include "kernel/kernel_int.h" … … 90 89 #error The kernel does not match this configuration file. 91 90 #endif 92 93 EOS 94 95 # 91 EOS 92 93 # 96 94 # ã¤ã³ã¯ã«ã¼ããã£ã¬ã¯ãã£ãï¼#includeï¼ 97 # 95 # 98 96 $kernelCfgC.comment_header("Include Directives") 99 97 $includeFiles.each do |file| … … 142 140 143 141 # ãªãã¸ã§ã¯ãã®IDçªå·ãä¿æããå¤æ° 144 if !$USE_EXTERNAL_ID.nil?142 if $USE_EXTERNAL_ID 145 143 $cfgData[@api].sort.each do |key, params| 146 144 $kernelCfgC.add("const ID #{params[@objid]}_id" \ … … 224 222 || (nfymode2 == $TENFY_SETFLG && epar2.nil?) 225 223 # ãã©ã¡ã¼ã¿ã足ããªãå ´å 226 error_api(params, "too few parameters for nfymode `#{nfymode}' " \227 " in #{params[:apiname]} of #{params[objid]}")224 error_api(params, "too few parameters for nfymode `#{nfymode}' " \ 225 "in %apiname of %#{objid}") 228 226 elsif (nfymode2 == 0 && !epar1.nil?) \ 229 227 || (nfymode2 != $TENFY_SETFLG && !epar2.nil?) 230 228 # ãã©ã¡ã¼ã¿ãå¤ãããå ´å 231 error_api(params, "too many parameters for nfymode `#{nfymode}' " \232 " in #{params[:apiname]} of #{params[objid]}")229 error_api(params, "too many parameters for nfymode `#{nfymode}' " \ 230 "in %apiname of %#{objid}") 233 231 elsif nfymode == $TNFY_HANDLER 234 232 # ã¿ã¤ã ã¤ãã³ããã³ãã©ã®å¼åºã … … 354 352 IncludeTrb("kernel/exception.trb") 355 353 356 # 354 # 357 355 # éã¿ã¹ã¯ã³ã³ããã¹ãç¨ã®ã¹ã¿ãã¯é å 358 # 356 # 359 357 $kernelCfgC.comment_header("Stack Area for Non-task Context") 360 358 361 if $cfgData[:DEF_ICS].size ()== 0359 if $cfgData[:DEF_ICS].size == 0 362 360 # DEF_ICSããªãå ´åã®ããã©ã«ãå¤ã®è¨å® 363 361 if $DEFAULT_ISTK.nil? … … 371 369 else 372 370 # éçAPIãDEF_ICSããè¤æ°ããï¼E_OBJï¼ï¼»NGKI3216ï¼½ 373 if $cfgData[:DEF_ICS].size ()> 1371 if $cfgData[:DEF_ICS].size > 1 374 372 error("E_OBJ: too many DEF_ICS") 375 373 end … … 378 376 params = $cfgData[:DEF_ICS][1] 379 377 378 # ãã©ã¡ã¼ã¿ãçç¥ãããæã®ããã©ã«ãå¤ã®è¨å® 379 params[:istk] ||= "NULL" 380 380 381 # istkszãã¿ã¼ã²ããå®ç¾©ã®æå°å¤ï¼TARGET_MIN_ISTKSZï¼æªå®ç¾©ã®å ´åã¯1ï¼ 381 382 # ãããå°ããå ´åï¼E_PARï¼ï¼»NGKI3254ï¼½ 382 if params[:istksz] < =$TARGET_MIN_ISTKSZ383 if params[:istksz] < $TARGET_MIN_ISTKSZ 383 384 error_wrong("E_PAR", params, :istksz, "too small") 384 385 end 385 386 386 if (params[:istk] == "NULL")387 if params[:istk] == "NULL" 387 388 # ã¹ã¿ãã¯é åã®èªåå²ä»ã 388 389 istksz = AllocStack("_kernel_istack", params[:istksz]) 389 390 istk = "_kernel_istack" 390 391 else … … 399 400 end 400 401 401 $kernelCfgC.a ppend(<<EOS)402 $kernelCfgC.add(<<EOS) 402 403 const size_t _kernel_istksz = #{istksz}; 403 404 STK_T *const _kernel_istk = #{istk}; … … 406 407 STK_T *const _kernel_istkpt = TOPPERS_ISTKPT(#{istk}, #{istksz}); 407 408 #endif /* TOPPERS_ISTKPT */ 408 409 EOS 410 411 # 409 EOS 410 411 # 412 412 # ã¿ã¤ã ã¤ãã³ã管ç 413 # 413 # 414 414 $kernelCfgC.comment_header("Time Event Management") 415 $kernelCfgC.a ppend(<<EOS)415 $kernelCfgC.add(<<EOS) 416 416 TMEVTN _kernel_tmevt_heap[1 + TNUM_TSKID + TNUM_CYCID + TNUM_ALMID]; 417 418 EOS 419 420 # 417 EOS 418 419 # 421 420 # åã¢ã¸ã¥ã¼ã«ã®åæåé¢æ° 422 # 421 # 423 422 $kernelCfgC.comment_header("Module Initialization Function") 424 423 $kernelCfgC.append(<<EOS) … … 428 427 EOS 429 428 $initializeFunctions.each do |func| 430 429 $kernelCfgC.add("\t#{func}") 431 430 end 432 431 $kernelCfgC.add2("}") 433 432 434 # 433 # 435 434 # åæåã«ã¼ãã³æ©è½ 436 # 437 # 435 # 438 436 $kernelCfgC.comment_header("Initialization Routine") 439 437 … … 442 440 # iniatrãç¡å¹ã®å ´åï¼E_RSATRï¼ï¼»NGKI3241ï¼½ 443 441 #ï¼TA_NULLã§ãªãå ´åï¼ 444 if (params[:iniatr] != 0)442 if (params[:iniatr] != $TA_NULL) 445 443 error_illegal_sym("E_RSATR", params, :iniatr, :inirtn) 446 444 end … … 459 457 $kernelCfgC.add2("}") 460 458 461 # 459 # 462 460 # çµäºå¦çã«ã¼ãã³æ©è½ 463 # 461 # 464 462 $kernelCfgC.comment_header("Termination Routine") 465 463 … … 468 466 # teratrãç¡å¹ã®å ´åï¼E_RSATRï¼ï¼»NGKI3248ï¼½ 469 467 #ï¼TA_NULLã§ãªãå ´åï¼ 470 if (params[:teratr] != 0)468 if (params[:teratr] != $TA_NULL) 471 469 error_illegal_sym("E_RSATR", params, :teratr, :terrtn) 472 470 end -
asp3_wo_tecs/trunk/kernel/kernel_api.def
r304 r306 1 CRE_TSK #tskid* { .tskatr &exinf &task +itskpri .stksz &stk }1 CRE_TSK #tskid* { .tskatr &exinf &task +itskpri .stksz &stk? } 2 2 CRE_SEM #semid* { .sematr .isemcnt .maxsem } 3 3 CRE_FLG #flgid* { .flgatr .iflgptn } 4 CRE_DTQ #dtqid* { .dtqatr .dtqcnt &dtqmb }5 CRE_PDQ #pdqid* { .pdqatr .pdqcnt +maxdpri &pdqmb }4 CRE_DTQ #dtqid* { .dtqatr .dtqcnt &dtqmb? } 5 CRE_PDQ #pdqid* { .pdqatr .pdqcnt +maxdpri &pdqmb? } 6 6 CRE_MTX #mtxid* { .mtxatr +ceilpri? } 7 CRE_MPF #mpfid* { .mpfatr .blkcnt .blksz &mpf &mpfmb}7 CRE_MPF #mpfid* { .mpfatr .blkcnt .blksz &mpf? &mpfmb? } 8 8 CRE_CYC #cycid* { .cycatr { .nfymode &par1 &par2? &par3? &par4? } .cyctim .cycphs } 9 9 CRE_ALM #almid* { .almatr { .nfymode &par1 &par2? &par3? &par4? } } … … 12 12 DEF_INH .inhno* { .inhatr &inthdr } 13 13 DEF_EXC .excno* { .excatr &exchdr } 14 DEF_ICS { .istksz &istk }14 DEF_ICS { .istksz &istk? } 15 15 ATT_INI { .iniatr &exinf &inirtn } 16 16 ATT_TER { .teratr &exinf &terrtn } -
asp3_wo_tecs/trunk/kernel/kernel_check.trb
r305 r306 53 53 # ã®è²¬ä»»ãè² ããªãï¼ 54 54 # 55 # $Id: kernel_check.trb 588 2016-02-05 12:54:58Z ertl-hiro $55 # $Id: kernel_check.trb 662 2016-02-27 02:33:51Z ertl-hiro $ 56 56 # 57 57 … … 79 79 elsif startIdata.nil? 80 80 error_exit("symbol `lma[:START_IDATA]' not found") 81 else 82 BCOPY(startIdata, startData, endData - startData) 81 83 end 82 84 end … … 87 89 å ±ã®ãã§ãã¯é¢æ° 88 90 # 89 $tmax_tskid = PEEK(SYMBOL("_kernel_tmax_tskid"), $sizeof_ID)90 $tmax_semid = PEEK(SYMBOL("_kernel_tmax_semid"), $sizeof_ID)91 $tmax_flgid = PEEK(SYMBOL("_kernel_tmax_flgid"), $sizeof_ID)92 $tmax_dtqid = PEEK(SYMBOL("_kernel_tmax_dtqid"), $sizeof_ID)91 $tmax_tskid = $TMIN_TSKID + $cfgData[:CRE_TSK].size - 1 92 $tmax_semid = $TMIN_SEMID + $cfgData[:CRE_SEM].size - 1 93 $tmax_flgid = $TMIN_FLGID + $cfgData[:CRE_FLG].size - 1 94 $tmax_dtqid = $TMIN_DTQID + $cfgData[:CRE_DTQ].size - 1 93 95 94 96 def checkNotifyHandler(key, params, objid, exinf, nfyhdr) … … 122 124 error_wrong_id("E_PAR", params1, :tmehdr, objid, "not aligned") 123 125 end 124 if $CHECK_FUNC_NONNULL == 1&& tmehdr == 0126 if $CHECK_FUNC_NONNULL && tmehdr == 0 125 127 error_wrong_id("E_PAR", params1, :tmehdr, objid, "null") 126 128 end … … 138 140 error_wrong_id("E_PAR", params1, :p_var, objid, "not aligned") 139 141 end 140 if $CHECK_INTPTR_NONNULL == 1&& p_var == 0142 if $CHECK_INTPTR_NONNULL && p_var == 0 141 143 error_wrong_id("E_PAR", params1, :p_var, objid, "null") 142 144 end … … 194 196 error_wrong_id("E_PAR", params1, :p_var, objid, "not aligned") 195 197 end 196 if $CHECK_INTPTR_NONNULL == 1&& p_var == 0198 if $CHECK_INTPTR_NONNULL && p_var == 0 197 199 error_wrong_id("E_PAR", params1, :p_var, objid, "null") 198 200 end … … 244 246 # 245 247 tinib = SYMBOL("_kernel_tinib_table") 246 $cfgData[:CRE_TSK].each do |key, params| 248 $cfgData[:CRE_TSK].sort.each do |key, params| 249 task = PEEK(tinib + $offsetof_TINIB_task, $sizeof_TASK) 250 247 251 # ã¿ã¹ã¯ã®å 248 252 é çªå°ã®ãã§ãã¯ï¼»NGKI1033ï¼½ 249 task = PEEK(tinib + $offsetof_TINIB_task, $sizeof_FP)250 253 if (task & ($CHECK_FUNC_ALIGN - 1)) != 0 251 254 error_wrong_id("E_PAR", params, :task, :tskid, "not aligned") 252 255 end 253 if $CHECK_FUNC_NONNULL == 1&& task == 0256 if $CHECK_FUNC_NONNULL && task == 0 254 257 error_wrong_id("E_PAR", params, :task, :tskid, "null") 255 258 end … … 257 260 # ã¿ã¹ã¯ã®ã¹ã¿ãã¯é åã®å 258 261 é çªå°ã®ãã§ãã¯ï¼»NGKI1056ï¼½ 259 if $USE_TSKINICTXB == 1260 stk = GetStackTskinictxb(key, params )262 if $USE_TSKINICTXB 263 stk = GetStackTskinictxb(key, params, tinib) 261 264 else 262 265 stk = PEEK(tinib + $offsetof_TINIB_stk, $sizeof_void_ptr) … … 265 268 error_wrong_id("E_PAR", params, :stk, :tskid, "not aligned") 266 269 end 267 if $CHECK_STACK_NONNULL == 1&& stk == 0270 if $CHECK_STACK_NONNULL && stk == 0 268 271 error_wrong_id("E_PAR", params, :stk, :tskid, "null") 269 272 end … … 276 279 # 277 280 mpfinib = SYMBOL("_kernel_mpfinib_table") 278 $cfgData[:CRE_MPF]. each do |key, params|281 $cfgData[:CRE_MPF].sort.each do |key, params| 279 282 mpf = PEEK(mpfinib + $offsetof_MPFINIB_mpf, $sizeof_void_ptr) 280 283 … … 284 287 error_wrong_id("E_PAR", params, :mpf, :mpfid, "not aligned") 285 288 end 286 if $CHECK_MPF_NONNULL == 1&& mpf == 0289 if $CHECK_MPF_NONNULL && mpf == 0 287 290 error_wrong_id("E_PAR", params, :mpf, :mpfid, "null") 288 291 end … … 295 298 # 296 299 cycinib = SYMBOL("_kernel_cycinib_table") 297 $cfgData[:CRE_CYC]. each do |key, params|300 $cfgData[:CRE_CYC].sort.each do |key, params| 298 301 exinf = PEEK(cycinib + $offsetof_CYCINIB_exinf, $sizeof_intptr_t) 299 nfyhdr = PEEK(cycinib + $offsetof_CYCINIB_nfyhdr, $sizeof_ FP)302 nfyhdr = PEEK(cycinib + $offsetof_CYCINIB_nfyhdr, $sizeof_NFYHDR) 300 303 301 304 # éç¥æ … … 310 313 # 311 314 alminib = SYMBOL("_kernel_alminib_table") 312 $cfgData[:CRE_ALM]. each do |key, params|315 $cfgData[:CRE_ALM].sort.each do |key, params| 313 316 exinf = PEEK(alminib + $offsetof_ALMINIB_exinf, $sizeof_intptr_t) 314 nfyhdr = PEEK(alminib + $offsetof_ALMINIB_nfyhdr, $sizeof_ FP)317 nfyhdr = PEEK(alminib + $offsetof_ALMINIB_nfyhdr, $sizeof_NFYHDR) 315 318 316 319 # éç¥æ … … 324 327 # éã¿ã¹ã¯ã³ã³ããã¹ãç¨ã®ã¹ã¿ãã¯é åã«é¢ãããã§ã㯠325 328 # 326 istk = PEEK(SYMBOL("_kernel_istk"), $sizeof_void_ptr) 327 328 # éã¿ã¹ã¯ã³ã³ããã¹ãç¨ã®ã¹ã¿ãã¯é åã®å 329 istkAddr = SYMBOL("_kernel_istk") 330 if !istkAddr.nil? 331 istk = PEEK(istkAddr, $sizeof_void_ptr) 332 333 # éã¿ã¹ã¯ã³ã³ããã¹ãç¨ã®ã¹ã¿ãã¯é åã®å 329 334 é çªå°ã®ãã§ãã¯ï¼»NGKI3222ï¼½ 330 if (istk & ($CHECK_STACK_ALIGN - 1)) != 0 331 error_wrong("E_PAR", $cfgData[:DEF_ICS][1], :istk, "not aligned") 332 end 333 if $CHECK_STACK_NONNULL == 1 && istk == 0 334 error_wrong("E_PAR", $cfgData[:DEF_ICS][1], :istk, "null") 335 end 335 if (istk & ($CHECK_STACK_ALIGN - 1)) != 0 336 error_wrong("E_PAR", $cfgData[:DEF_ICS][1], :istk, "not aligned") 337 end 338 if $CHECK_STACK_NONNULL && istk == 0 339 error_wrong("E_PAR", $cfgData[:DEF_ICS][1], :istk, "null") 340 end 341 end -
asp3_wo_tecs/trunk/kernel/kernel_impl.h
r302 r306 6 6 * Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory 7 7 * Toyohashi Univ. of Technology, JAPAN 8 * Copyright (C) 2004-201 5by Embedded and Real-Time Systems Laboratory8 * Copyright (C) 2004-2016 by Embedded and Real-Time Systems Laboratory 9 9 * Graduate School of Information Science, Nagoya Univ., JAPAN 10 10 * … … 53 53 * ã®è²¬ä»»ãè² ããªãï¼ 54 54 * 55 * $Id: kernel_impl.h 332 2015-06-21 13:20:37Z ertl-hiro $55 * $Id: kernel_impl.h 706 2016-03-29 14:19:40Z ertl-hiro $ 56 56 */ 57 57 … … 88 88 */ 89 89 #include <t_syslog.h> 90 91 /*92 * åãã£ã¹ããè¡ããã¯ãã®å®ç¾©93 */94 #ifndef CAST95 #define CAST(type, val) ((type)(val))96 #endif /* CAST */97 90 98 91 /* -
asp3_wo_tecs/trunk/kernel/kernel_sym.def
r305 r306 1 USE_EXTERNAL_ID, 1,,defined(USE_EXTERNAL_ID)2 SIL_ENDIAN_BIG, 1,,defined(SIL_ENDIAN_BIG)3 SIL_ENDIAN_LITTLE, 1,,defined(SIL_ENDIAN_LITTLE)1 USE_EXTERNAL_ID,true,bool,defined(USE_EXTERNAL_ID) 2 SIL_ENDIAN_BIG,true,bool,defined(SIL_ENDIAN_BIG) 3 SIL_ENDIAN_LITTLE,true,bool,defined(SIL_ENDIAN_LITTLE) 4 4 TA_NULL 5 5 TA_ACT … … 48 48 TMIN_CYCID,,signed 49 49 TMIN_ALMID,,signed 50 USE_TSKINICTXB, 1,,defined(USE_TSKINICTXB)51 OMIT_INITIALIZE_INTERRUPT, 1,,defined(OMIT_INITIALIZE_INTERRUPT)52 USE_INHINIB_TABLE, 1,,defined(USE_INHINIB_TABLE)53 USE_INTINIB_TABLE, 1,,defined(USE_INTINIB_TABLE)54 OMIT_INITIALIZE_EXCEPTION, 1,,defined(OMIT_INITIALIZE_EXCEPTION)50 USE_TSKINICTXB,true,bool,defined(USE_TSKINICTXB) 51 OMIT_INITIALIZE_INTERRUPT,true,bool,defined(OMIT_INITIALIZE_INTERRUPT) 52 USE_INHINIB_TABLE,true,bool,defined(USE_INHINIB_TABLE) 53 USE_INTINIB_TABLE,true,bool,defined(USE_INTINIB_TABLE) 54 OMIT_INITIALIZE_EXCEPTION,true,bool,defined(OMIT_INITIALIZE_EXCEPTION) 55 55 DEFAULT_ISTK,,,defined(DEFAULT_ISTK) 56 56 TARGET_TSKATR,,,defined(TARGET_TSKATR),0 … … 63 63 CHECK_STKSZ_ALIGN,,,defined(CHECK_STKSZ_ALIGN),1 64 64 CHECK_INTPTR_ALIGN,,,defined(CHECK_INTPTR_ALIGN),1 65 CHECK_INTPTR_NONNULL, 1,,defined(CHECK_INTPTR_NONNULL)65 CHECK_INTPTR_NONNULL,true,bool,defined(CHECK_INTPTR_NONNULL) 66 66 CHECK_FUNC_ALIGN,,,defined(CHECK_FUNC_ALIGN),1 67 CHECK_FUNC_NONNULL, 1,,defined(CHECK_FUNC_NONNULL)67 CHECK_FUNC_NONNULL,true,bool,defined(CHECK_FUNC_NONNULL) 68 68 CHECK_STACK_ALIGN,,,defined(CHECK_STACK_ALIGN),1 69 CHECK_STACK_NONNULL, 1,,defined(CHECK_STACK_NONNULL)69 CHECK_STACK_NONNULL,true,bool,defined(CHECK_STACK_NONNULL) 70 70 CHECK_MPF_ALIGN,,,defined(CHECK_MPF_ALIGN),1 71 CHECK_MPF_NONNULL, 1,,defined(CHECK_MPF_NONNULL)71 CHECK_MPF_NONNULL,true,bool,defined(CHECK_MPF_NONNULL) 72 72 sizeof_void_ptr,sizeof(void*) 73 73 sizeof_uint_t,sizeof(uint_t) … … 76 76 sizeof_ID,sizeof(ID) 77 77 sizeof_FP,sizeof(FP) 78 sizeof_INTNO,sizeof(INTNO) 78 79 sizeof_INHNO,sizeof(INHNO) 79 sizeof_INTNO,sizeof(INTNO)80 80 sizeof_EXCNO,sizeof(EXCNO) 81 sizeof_TASK,sizeof(TASK) 82 sizeof_TMEHDR,sizeof(TMEHDR) 83 sizeof_ISR,sizeof(ISR) 84 sizeof_INTHDR,sizeof(INTHDR) 85 sizeof_EXCHDR,sizeof(EXCHDR) 86 sizeof_INIRTN,sizeof(INIRTN) 87 sizeof_TERRTN,sizeof(TERRTN) 88 sizeof_NFYHDR,sizeof(NFYHDR) 81 89 sizeof_TINIB,sizeof(TINIB) 82 90 offsetof_TINIB_tskatr,"offsetof(TINIB,tskatr)" -
asp3_wo_tecs/trunk/kernel/mempfix.trb
r305 r306 53 53 # ã®è²¬ä»»ãè² ããªãï¼ 54 54 # 55 # $Id: mempfix.trb 588 2016-02-05 12:54:58Z ertl-hiro $55 # $Id: mempfix.trb 672 2016-03-05 15:33:08Z ertl-hiro $ 56 56 # 57 57 … … 66 66 67 67 def prepare(key, params) 68 # ãã©ã¡ã¼ã¿ãçç¥ãããæã®ããã©ã«ãå¤ã®è¨å® 69 params[:mpf] ||= "NULL" 70 params[:mpfmb] ||= "NULL" 71 68 72 # mpfatrãç¡å¹ã®å ´åï¼E_RSATRï¼ï¼»NGKI2225ï¼½ 69 73 #ï¼TA_TPRI以å¤ã®ããããã»ããããã¦ããå ´åï¼ … … 72 76 end 73 77 74 # blkcntã0 以ä¸ã®å ´åï¼E_PARï¼ï¼»NGKI2229ï¼½75 if params[:blkcnt] <= 078 # blkcntã0ã®å ´åï¼E_PARï¼ï¼»NGKI2229ï¼½ 79 if params[:blkcnt] == 0 76 80 error_illegal_id("E_PAR", params, :blkcnt, :mpfid) 77 81 end 78 82 79 # blkszã0 以ä¸ã®å ´åï¼E_PARï¼ï¼»NGKI2230ï¼½80 if params[:blksz] <= 083 # blkszã0ã®å ´åï¼E_PARï¼ï¼»NGKI2230ï¼½ 84 if params[:blksz] == 0 81 85 error_illegal_id("E_PAR", params, :blksz, :mpfid) 82 86 end … … 84 88 # åºå®é·ã¡ã¢ãªãã¼ã«é å 85 89 if params[:mpf] == "NULL" 86 $kernelCfgC.add("static MPF_T _kernel_mpf_#{params[:mpfid]}" \ 90 mpfName = "_kernel_mpf_#{params[:mpfid]}" 91 $kernelCfgC.add("static MPF_T #{mpfName}" \ 87 92 "[#{params[:blkcnt]} * COUNT_MPF_T(#{params[:blksz]})];") 93 params[:mpfinib_mpf] = mpfName 94 else 95 params[:mpfinib_mpf] = "(void *)(#{params[:mpf]})" 88 96 end 89 97 90 98 # mpfmbãNULLã§ãªãå ´åï¼E_NOSPTï¼ï¼»ASPS0166ï¼½ 91 99 if params[:mpfmb] != "NULL" 92 error_illegal_id("E_ PAR", params, :mpfmb, :mpfid)100 error_illegal_id("E_NOSPT", params, :mpfmb, :mpfid) 93 101 end 94 102 95 103 # åºå®é·ã¡ã¢ãªãã¼ã«ç®¡çé å 96 $kernelCfgC.add("static MPFMB _kernel_mpfmb_#{params[:mpfid]}" \ 97 "[#{params[:blkcnt]}];") 104 mpfmbName = "_kernel_mpfmb_#{params[:mpfid]}" 105 $kernelCfgC.add("static MPFMB #{mpfmbName}[#{params[:blkcnt]}];") 106 params[:mpfinib_mpfmb] = mpfmbName 98 107 end 99 108 100 109 def generateInib(key, params) 101 if params[:mpf] == "NULL"102 mpf = "_kernel_mpf_#{params[:mpfid]}"103 else104 mpf = "(void *)(#{params[:mpf]})"105 end106 110 return("(#{params[:mpfatr]}), (#{params[:blkcnt]}), " \ 107 "ROUND_MPF_T(#{params[:blksz]}), #{mpf}, " \108 "_kernel_mpfmb_#{params[:mpfid]}")111 "ROUND_MPF_T(#{params[:blksz]}), #{params[:mpfinib_mpf]}, " \ 112 "#{params[:mpfinib_mpfmb]}") 109 113 end 110 114 end -
asp3_wo_tecs/trunk/kernel/mutex.trb
r305 r306 53 53 # ã®è²¬ä»»ãè² ããªãï¼ 54 54 # 55 # $Id: mutex.trb 588 2016-02-05 12:54:58Z ertl-hiro $55 # $Id: mutex.trb 630 2016-02-14 11:30:17Z ertl-hiro $ 56 56 # 57 57 … … 78 78 # ceilpriãæªæå®ã®å ´åã¯ã¨ã©ã¼ã¨ãã 79 79 if params[:ceilpri].nil? 80 error_api(params, "ceilpri must be specified" \ 81 " in #{params[:apiname]} of #{param[:mtxid]}") 80 error_api(params, "ceilpri must be specified in %apiname of %mtxid") 82 81 83 82 # (TMIN_TPRI <= ceilpri && ceilpri <= TMAX_TPRI)ã§ãªãå ´åï¼E_PARï¼ … … 91 90 # ceilpriãæå®ããã¦ããå ´åã¯è¦åã¡ãã»ã¼ã¸ãåºã 92 91 if !params[:ceilpri].nil? 93 warning_api(params, "ceilpri `#{params[:ceilpri]}' is ignored" \ 94 " in #{params[:apiname]} of #{params[:mtxid]}") 92 warning_api(params, "%%ceilpri is ignored in %apiname of %mtxid") 95 93 end 96 94 params[:ceilpri] = 0 -
asp3_wo_tecs/trunk/kernel/pridataq.trb
r305 r306 53 53 # ã®è²¬ä»»ãè² ããªãï¼ 54 54 # 55 # $Id: pridataq.trb 588 2016-02-05 12:54:58Z ertl-hiro $55 # $Id: pridataq.trb 668 2016-03-03 13:57:53Z ertl-hiro $ 56 56 # 57 57 … … 67 67 68 68 def prepare(key, params) 69 # ãã©ã¡ã¼ã¿ãçç¥ãããæã®ããã©ã«ãå¤ã®è¨å® 70 params[:pdqmb] ||= "NULL" 71 69 72 # pdqatrãç¡å¹ã®å ´åï¼E_RSATRï¼ï¼»NGKI1804ï¼½ 70 73 #ï¼TA_TPRI以å¤ã®ããããã»ããããã¦ããå ´åï¼ … … 81 84 # pdqmbãNULLã§ãªãå ´åï¼E_NOSPTï¼ï¼»ASPS0142ï¼½ 82 85 if params[:pdqmb] != "NULL" 83 error_illegal_id("E_ PAR", params, :pdqmb, :pdqid)86 error_illegal_id("E_NOSPT", params, :pdqmb, :pdqid) 84 87 end 85 88 … … 87 90 度ãã¼ã¿ãã¥ã¼ç®¡çé å 88 91 if params[:pdqcnt] > 0 89 $kernelCfgC.add("static PDQMB _kernel_pdqmb_#{params[:pdqid]}" \ 90 "[#{params[:pdqcnt]}];") 92 pdqmbName = "_kernel_pdqmb_#{params[:pdqid]}" 93 $kernelCfgC.add("static PDQMB #{pdqmbName}[#{params[:pdqcnt]}];") 94 params[:pdqinib_pdqmb] = pdqmbName 95 else 96 params[:pdqinib_pdqmb] = "NULL" 91 97 end 92 98 end 93 99 94 100 def generateInib(key, params) 95 if params[:pdqcnt] > 096 pdqmb = "_kernel_pdqmb_#{params[:pdqid]}"97 else98 pdqmb = "NULL"99 end100 101 return("(#{params[:pdqatr]}), (#{params[:pdqcnt]}), " \ 101 "(#{params[:maxdpri]}), #{pdqmb}")102 "(#{params[:maxdpri]}), #{params[:pdqinib_pdqmb]}") 102 103 end 103 104 end -
asp3_wo_tecs/trunk/kernel/startup.c
r302 r306 6 6 * Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory 7 7 * Toyohashi Univ. of Technology, JAPAN 8 * Copyright (C) 2005-201 4by Embedded and Real-Time Systems Laboratory8 * Copyright (C) 2005-2016 by Embedded and Real-Time Systems Laboratory 9 9 * Graduate School of Information Science, Nagoya Univ., JAPAN 10 10 * … … 53 53 * ã®è²¬ä»»ãè² ããªãï¼ 54 54 * 55 * $Id: startup.c 181 2014-06-14 16:45:07Z ertl-hiro $55 * $Id: startup.c 509 2016-01-12 06:06:14Z ertl-hiro $ 56 56 */ 57 57 -
asp3_wo_tecs/trunk/kernel/sys_manage.c
r302 r306 53 53 * ã®è²¬ä»»ãè² ããªãï¼ 54 54 * 55 * $Id: sys_manage.c 469 2015-12-30 02:38:47Z ertl-hiro $55 * $Id: sys_manage.c 682 2016-03-11 13:52:39Z ertl-hiro $ 56 56 */ 57 57 … … 174 174 /* 175 175 * ã¿ã¹ã¯ã®åªå 176 é ä½ã®å転 176 é ä½ã®å転[NGKI3548ï¼½ 177 177 */ 178 178 #ifdef TOPPERS_rot_rdq … … 185 185 186 186 LOG_ROT_RDQ_ENTER(tskpri); 187 CHECK_UNL(); 187 CHECK_UNL(); /*ï¼»NGKI2684ï¼½*/ 188 188 if (tskpri == TPRI_SELF && !sense_context()) { 189 pri = p_runtsk->bpriority; 189 pri = p_runtsk->bpriority; /*ï¼»NGKI2689ï¼½*/ 190 190 } 191 191 else { 192 CHECK_PAR(VALID_TPRI(tskpri)); 192 CHECK_PAR(VALID_TPRI(tskpri)); /*ï¼»NGKI2685ï¼½*/ 193 193 pri = INT_PRIORITY(tskpri); 194 194 } … … 217 217 * å®è¡ç¶æ 218 218 ã®ã¿ã¹ã¯IDã®åç 219 § 219 §ï¼»NGKI3550ï¼½ 220 220 */ 221 221 #ifdef TOPPERS_get_tid … … 227 227 228 228 LOG_GET_TID_ENTER(p_tskid); 229 CHECK_UNL(); 229 CHECK_UNL(); /*ï¼»NGKI2707ï¼½*/ 230 230 231 231 lock_cpu(); … … 243 243 /* 244 244 * å®è¡ã§ããã¿ã¹ã¯ã®æ°ã®åç 245 § 245 §ï¼»NGKI3623ï¼½ 246 246 */ 247 247 #ifdef TOPPERS_get_lod … … 255 255 256 256 LOG_GET_LOD_ENTER(p_tskid, p_load); 257 CHECK_TSKCTX_UNL(); 257 CHECK_TSKCTX_UNL(); /*ï¼»NGKI3624][NGKI3625ï¼½*/ 258 258 if (tskpri == TPRI_SELF) { 259 pri = p_runtsk->bpriority; 259 pri = p_runtsk->bpriority; /*ï¼»NGKI3631ï¼½*/ 260 260 } 261 261 else { 262 CHECK_PAR(VALID_TPRI(tskpri)); 262 CHECK_PAR(VALID_TPRI(tskpri)); /*ï¼»NGKI3626ï¼½*/ 263 263 pri = INT_PRIORITY(tskpri); 264 264 } … … 285 285 * æå®ããåªå 286 286 é ä½ã®ã¿ã¹ã¯IDã®åç 287 § 287 §ï¼»NGKI3641ï¼½ 288 288 */ 289 289 #ifdef TOPPERS_get_nth … … 298 298 299 299 LOG_GET_NTH_ENTER(p_tskid, nth, p_tskid); 300 CHECK_TSKCTX_UNL(); 300 CHECK_TSKCTX_UNL(); /*ï¼»NGKI3642][NGKI3643ï¼½*/ 301 301 if (tskpri == TPRI_SELF) { 302 pri = p_runtsk->bpriority; 302 pri = p_runtsk->bpriority; /*ï¼»NGKI3650ï¼½*/ 303 303 } 304 304 else { 305 CHECK_PAR(VALID_TPRI(tskpri)); 305 CHECK_PAR(VALID_TPRI(tskpri)); /*ï¼»NGKI3644ï¼½*/ 306 306 pri = INT_PRIORITY(tskpri); 307 307 } … … 331 331 /* 332 332 * CPUããã¯ç¶æ 333 ã¸ã®é·ç§» 333 ã¸ã®é·ç§»ï¼»NGKI3538ï¼½ 334 334 */ 335 335 #ifdef TOPPERS_loc_cpu … … 342 342 LOG_LOC_CPU_ENTER(); 343 343 344 if (!sense_lock()) { 345 lock_cpu(); 344 if (!sense_lock()) { /*ï¼»NGKI2731ï¼½*/ 345 lock_cpu(); /*ï¼»NGKI2730ï¼½*/ 346 346 } 347 347 ercd = E_OK; … … 355 355 /* 356 356 * CPUããã¯ç¶æ 357 ã®è§£é¤ 357 ã®è§£é¤ï¼»NGKI3539ï¼½ 358 358 * 359 359 * CPUããã¯ä¸ã¯ï¼ãã£ã¹ããããå¿ … … 373 373 LOG_UNL_CPU_ENTER(); 374 374 375 if (sense_lock()) { 376 unlock_cpu(); 375 if (sense_lock()) { /*ï¼»NGKI2738ï¼½*/ 376 unlock_cpu(); /*ï¼»NGKI2737ï¼½*/ 377 377 } 378 378 ercd = E_OK; … … 385 385 386 386 /* 387 * ãã£ã¹ãããã®ç¦æ¢ 387 * ãã£ã¹ãããã®ç¦æ¢ï¼»NGKI2740ï¼½ 388 388 */ 389 389 #ifdef TOPPERS_dis_dsp … … 395 395 396 396 LOG_DIS_DSP_ENTER(); 397 CHECK_TSKCTX_UNL(); 397 CHECK_TSKCTX_UNL(); /*ï¼»NGKI2741][NGKI2742ï¼½*/ 398 398 399 399 lock_cpu(); … … 411 411 412 412 /* 413 * ãã£ã¹ãããã®è¨±å¯ 413 * ãã£ã¹ãããã®è¨±å¯ï¼»NGKI2746ï¼½ 414 414 */ 415 415 #ifdef TOPPERS_ena_dsp … … 421 421 422 422 LOG_ENA_DSP_ENTER(); 423 CHECK_TSKCTX_UNL(); 423 CHECK_TSKCTX_UNL(); /*ï¼»NGKI2747][NGKI2748ï¼½*/ 424 424 425 425 lock_cpu(); … … 454 454 /* 455 455 * ã³ã³ããã¹ãã®åç 456 § 456 §ï¼»NGKI2752ï¼½ 457 457 */ 458 458 #ifdef TOPPERS_sns_ctx … … 474 474 * CPUããã¯ç¶æ 475 475 ã®åç 476 § 476 §ï¼»NGKI2754ï¼½ 477 477 */ 478 478 #ifdef TOPPERS_sns_loc … … 494 494 * ãã£ã¹ãããç¦æ¢ç¶æ 495 495 ã®åç 496 § 496 §ï¼»NGKI2756ï¼½ 497 497 */ 498 498 #ifdef TOPPERS_sns_dsp … … 514 514 * ãã£ã¹ãããä¿çç¶æ 515 515 ã®åç 516 § 516 §ï¼»NGKI2758ï¼½ 517 517 */ 518 518 #ifdef TOPPERS_sns_dpn … … 534 534 * ã«ã¼ãã«éåä½ç¶æ 535 535 ã®åç 536 § 536 §ï¼»NGKI2760ï¼½ 537 537 */ 538 538 #ifdef TOPPERS_sns_ker -
asp3_wo_tecs/trunk/kernel/task.trb
r305 r306 53 53 # ã®è²¬ä»»ãè² ããªãï¼ 54 54 # 55 # $Id: task.trb 596 2016-02-06 17:08:56Z ertl-hiro $55 # $Id: task.trb 668 2016-03-03 13:57:53Z ertl-hiro $ 56 56 # 57 57 … … 66 66 67 67 def prepare(key, params) 68 # ãã©ã¡ã¼ã¿ãçç¥ãããæã®ããã©ã«ãå¤ã®è¨å® 69 params[:stk] ||= "NULL" 70 68 71 # tskatrãç¡å¹ã®å ´åï¼E_RSATRï¼ï¼»NGKI1028ï¼½ 69 72 #ï¼TA_ACTï¼TA_NOACTQUEï¼TARGET_TSKATR以å¤ã®ããããã»ããããã¦ããå ´åï¼ … … 85 88 # ã¹ã¿ãã¯é åã®è¨å®ï¼»NGKI1041ï¼½ 86 89 if params[:stk] == "NULL" 87 params[:tinib_stksz] = AllocStack("_kernel_stack_#{params[:tskid]}", \ 88 params[:stksz]) 89 params[:tinib_stk] = "_kernel_stack_#{params[:tskid]}" 90 # ã¹ã¿ãã¯é åã®çæï¼»NGKI1049ï¼½ 91 stkName = "_kernel_stack_#{params[:tskid]}" 92 params[:tinib_stksz] = AllocStack(stkName, params[:stksz]) 93 params[:tinib_stk] = stkName 90 94 else 91 95 # stkszãã¹ã¿ãã¯é åã®ãµã¤ãºã¨ãã¦æ£ãããªãå ´åï¼»NGKI1056ï¼½ … … 100 104 101 105 def generateInib(key, params) 102 if $USE_TSKINICTXB == 1106 if $USE_TSKINICTXB 103 107 tskinictxb = GenerateTskinictxb(key, params) 104 108 else -
asp3_wo_tecs/trunk/kernel/time_event.c
r305 r306 6 6 * Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory 7 7 * Toyohashi Univ. of Technology, JAPAN 8 * Copyright (C) 2005-201 5by Embedded and Real-Time Systems Laboratory8 * Copyright (C) 2005-2016 by Embedded and Real-Time Systems Laboratory 9 9 * Graduate School of Information Science, Nagoya Univ., JAPAN 10 10 * … … 53 53 * ã®è²¬ä»»ãè² ããªãï¼ 54 54 * 55 * $Id: time_event.c 451 2015-08-14 15:29:07Z ertl-hiro $55 * $Id: time_event.c 532 2016-01-15 14:48:04Z ertl-hiro $ 56 56 */ 57 57 -
asp3_wo_tecs/trunk/sample/Makefile
r305 r306 208 208 CFG_OBJS := $(CFG_ASMOBJS) $(CFG_COBJS) 209 209 CFG2_OUT_SRCS := kernel_cfg.h kernel_cfg.c $(CFG2_OUT_SRCS) 210 CFG_CFLAGS := $(CFG_CFLAGS)210 CFG_CFLAGS := -DTOPPERS_CB_TYPE_ONLY $(CFG_CFLAGS) 211 211 212 212 # … … 272 272 ALL_OBJS = $(START_OBJS) $(APPL_OBJS) $(SYSSVC_OBJS) $(CFG_OBJS) \ 273 273 $(END_OBJS) $(HIDDEN_OBJS) 274 ALL_LIBS = -lkernel $(LIBS) 274 275 ifdef KERNEL_LIB 275 ALL_LIBS = -lkernel $(LIBS)276 276 LIBS_DEP = $(KERNEL_LIB)/libkernel.a $(filter %.a,$(LIBS)) 277 277 OBJ_LDFLAGS := $(OBJ_LDFLAGS) -L$(KERNEL_LIB) 278 278 REALCLEAN_FILES := libkernel.a $(REALCLEAN_FILES) 279 279 else 280 ALL_LIBS = libkernel.a $(LIBS)281 280 LIBS_DEP = libkernel.a $(filter %.a,$(LIBS)) 281 OBJ_LDFLAGS := $(OBJ_LDFLAGS) -L. 282 282 endif 283 283 -
asp3_wo_tecs/trunk/sample/sample1.c
r302 r306 6 6 * Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory 7 7 * Toyohashi Univ. of Technology, JAPAN 8 * Copyright (C) 2004-201 5by Embedded and Real-Time Systems Laboratory8 * Copyright (C) 2004-2016 by Embedded and Real-Time Systems Laboratory 9 9 * Graduate School of Information Science, Nagoya Univ., JAPAN 10 10 * … … 53 53 * ã®è²¬ä»»ãè² ããªãï¼ 54 54 * 55 * $Id: sample1.c 346 2015-07-18 02:12:08Z ertl-hiro $55 * $Id: sample1.c 711 2016-03-29 14:45:54Z ertl-hiro $ 56 56 */ 57 57 … … 237 237 238 238 /* 239 * å²è¾¼ã¿ãã³ãã© 240 */ 241 #ifdef INTNO1 242 243 void intno1_isr(intptr_t exinf) 244 { 245 intno1_clear(); 246 SVC_PERROR(rot_rdq(HIGH_PRIORITY)); 247 SVC_PERROR(rot_rdq(MID_PRIORITY)); 248 SVC_PERROR(rot_rdq(LOW_PRIORITY)); 249 } 250 251 #endif /* INTNO1 */ 252 253 /* 239 254 * CPUä¾å¤ãã³ãã© 240 255 */ -
asp3_wo_tecs/trunk/sample/sample1.cfg
r304 r306 17 17 CRE_CYC(CYCHDR1, { TA_NULL, { TNFY_HANDLER, 0, cyclic_handler }, 2000000, 0 }); 18 18 CRE_ALM(ALMHDR1, { TA_NULL, { TNFY_HANDLER, 0, alarm_handler }}); 19 #ifdef INTNO1 20 CFG_INT(INTNO1, { INTNO1_INTATR, INTNO1_INTPRI }); 21 CRE_ISR(INTNO1_ISR, { TA_NULL, 0, INTNO1, intno1_isr, 1 }); 22 #endif /* INTNO1 */ 19 23 #ifdef CPUEXC1 20 24 DEF_EXC(CPUEXC1, { TA_NULL, cpuexc_handler }); -
asp3_wo_tecs/trunk/sample/sample1.h
r302 r306 6 6 * Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory 7 7 * Toyohashi Univ. of Technology, JAPAN 8 * Copyright (C) 2004-201 4by Embedded and Real-Time Systems Laboratory8 * Copyright (C) 2004-2016 by Embedded and Real-Time Systems Laboratory 9 9 * Graduate School of Information Science, Nagoya Univ., JAPAN 10 10 * … … 53 53 * ã®è²¬ä»»ãè² ããªãï¼ 54 54 * 55 * $Id: sample1.h 286 2014-11-29 07:51:11Z ertl-hiro $55 * $Id: sample1.h 705 2016-03-29 14:16:41Z ertl-hiro $ 56 56 */ 57 57 … … 108 108 extern void main_task(intptr_t exinf); 109 109 extern void exc_task(intptr_t exinf); 110 #ifdef INTNO1 111 extern void intno1_isr(intptr_t exinf); 112 #endif /* INTNO1 */ 110 113 #ifdef CPUEXC1 111 114 extern void cpuexc_handler(void *p_excinf); -
asp3_wo_tecs/trunk/syssvc/histogram.h
r305 r306 50 50 * ã®è²¬ä»»ãè² ããªãï¼ 51 51 * 52 * $Id: histogram.h 50 6 2016-01-12 01:46:49Z ertl-hiro $52 * $Id: histogram.h 509 2016-01-12 06:06:14Z ertl-hiro $ 53 53 */ 54 54 -
asp3_wo_tecs/trunk/syssvc/serial.h
r302 r306 6 6 * Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory 7 7 * Toyohashi Univ. of Technology, JAPAN 8 * Copyright (C) 2004-201 1by Embedded and Real-Time Systems Laboratory8 * Copyright (C) 2004-2015 by Embedded and Real-Time Systems Laboratory 9 9 * Graduate School of Information Science, Nagoya Univ., JAPAN 10 10 * -
asp3_wo_tecs/trunk/syssvc/test_svc.h
r302 r306 66 66 67 67 #include <kernel.h> 68 69 /*70 * ã¿ã¼ã²ããä¾åã®å®ç¾©71 */72 68 #include "target_test.h" 73 69 -
asp3_wo_tecs/trunk/target/ct11mpcore_gcc/Makefile.target
r304 r306 2 2 # Makefileã®ã¿ã¼ã²ããä¾åé¨ï¼CT11MPcoreç¨ï¼ 3 3 # 4 # $Id: Makefile.target 5 04 2016-01-12 01:19:55Z ertl-hiro $4 # $Id: Makefile.target 572 2016-02-01 14:40:09Z ertl-hiro $ 5 5 # 6 6 -
asp3_wo_tecs/trunk/target/ct11mpcore_gcc/ct11mpcore.ld
r302 r306 1 1 /* 2 * $Id: ct11mpcore.ld 362 2015-07-26 11:29:15Z ertl-hiro $2 * $Id: ct11mpcore.ld 679 2016-03-07 07:14:20Z ertl-hiro $ 3 3 */ 4 4 … … 13 13 .text ALIGN(4) : { 14 14 __start_text = .; 15 *( vector)15 *(.vector) 16 16 *(.text) 17 17 *(.glue_7t) -
asp3_wo_tecs/trunk/target/ct11mpcore_gcc/target_check.trb
r304 r306 1 # 1 # -*- coding: utf-8 -*- 2 # 2 3 # ãã¹3ã®çæã¹ã¯ãªããã®ã¿ã¼ã²ããä¾åé¨ï¼CT11MPCoreç¨ï¼ 3 # 4 # 5 # $Id: target_check.trb 745 2016-04-10 17:00:12Z ertl-hiro $ 6 # 4 7 5 # 8 # 6 9 # çæã¹ã¯ãªããã®ã³ã¢ä¾åé¨ï¼ãããä¾åé¨ã¯é£ã°ãï¼ 7 # 10 # 8 11 IncludeTrb("core_check.trb") -
asp3_wo_tecs/trunk/target/ct11mpcore_gcc/target_kernel.trb
r304 r306 1 # 1 # -*- coding: utf-8 -*- 2 # 2 3 # ãã¹2ã®çæã¹ã¯ãªããã®ã¿ã¼ã²ããä¾åé¨ï¼CT11MPCoreç¨ï¼ 3 # 4 # $Id: target_kernel.trb 572 2016-02-01 14:40:09Z ertl-hiro $4 # 5 # $Id: target_kernel.trb 745 2016-04-10 17:00:12Z ertl-hiro $ 5 6 # 6 7 7 # 8 # 8 9 # 使ç¨ã§ããå²è¾¼ã¿çªå·ã¨ããã«å¯¾å¿ããå²è¾¼ã¿ãã³ãã©çªå· 9 # 10 # 10 11 $INTNO_VALID = [ *(0..47) ] 11 12 $INHNO_VALID = $INTNO_VALID 12 13 13 # 14 # 14 15 # çæã¹ã¯ãªããã®ã³ã¢ä¾åé¨ï¼ãããä¾åé¨ã¯é£ã°ãï¼ 15 # 16 # 16 17 IncludeTrb("core_kernel.trb") -
asp3_wo_tecs/trunk/target/ct11mpcore_gcc/target_kernel_impl.c
r302 r306 51 51 * ã®è²¬ä»»ãè² ããªãï¼ 52 52 * 53 * $Id: target_kernel_impl.c 365 2015-07-26 13:18:44Z ertl-hiro $53 * $Id: target_kernel_impl.c 509 2016-01-12 06:06:14Z ertl-hiro $ 54 54 */ 55 55 -
asp3_wo_tecs/trunk/target/ct11mpcore_gcc/target_kernel_impl.h
r305 r306 6 6 * Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory 7 7 * Toyohashi Univ. of Technology, JAPAN 8 * Copyright (C) 2006-201 5by Embedded and Real-Time Systems Laboratory8 * Copyright (C) 2006-2016 by Embedded and Real-Time Systems Laboratory 9 9 * Graduate School of Information Science, Nagoya Univ., JAPAN 10 10 * … … 53 53 * ã®è²¬ä»»ãè² ããªãï¼ 54 54 * 55 * $Id: target_kernel_impl.h 397 2015-08-02 01:44:43Z ertl-hiro $55 * $Id: target_kernel_impl.h 704 2016-03-29 12:27:19Z ertl-hiro $ 56 56 */ 57 57 … … 66 66 #define TOPPERS_TARGET_KERNEL_IMPL_H 67 67 68 /* 69 * ã¿ã¼ã²ããã®ãã¼ãã¦ã§ã¢è³æºã®å®ç¾© 70 */ 68 71 #include "ct11mpcore.h" 69 72 … … 103 106 ã¡ã®ããã®å®ç¾©ï¼æ¬æ¥ã¯SILã®ã¿ã¼ã²ããä¾åé¨ï¼ 104 107 */ 105 #define SIL_DLY_TIM1 2 0106 #define SIL_DLY_TIM2 3108 #define SIL_DLY_TIM1 26 109 #define SIL_DLY_TIM2 2 107 110 108 111 /* -
asp3_wo_tecs/trunk/target/ct11mpcore_gcc/target_stddef.h
r302 r306 3 3 * Toyohashi Open Platform for Embedded Real-Time Systems 4 4 * 5 * Copyright (C) 2007-201 4by Embedded and Real-Time Systems Laboratory5 * Copyright (C) 2007-2016 by Embedded and Real-Time Systems Laboratory 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 7 * … … 50 50 * ã®è²¬ä»»ãè² ããªãï¼ 51 51 * 52 * $Id: target_stddef.h 362 2015-07-26 11:29:15Z ertl-hiro $52 * $Id: target_stddef.h 509 2016-01-12 06:06:14Z ertl-hiro $ 53 53 */ 54 54 -
asp3_wo_tecs/trunk/target/ct11mpcore_gcc/target_syssvc.h
r302 r306 6 6 * Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory 7 7 * Toyohashi Univ. of Technology, JAPAN 8 * Copyright (C) 2005-201 5by Embedded and Real-Time Systems Laboratory8 * Copyright (C) 2005-2016 by Embedded and Real-Time Systems Laboratory 9 9 * Graduate School of Information Science, Nagoya Univ., JAPAN 10 10 * … … 53 53 * ã®è²¬ä»»ãè² ããªãï¼ 54 54 * 55 * $Id: target_syssvc.h 362 2015-07-26 11:29:15Z ertl-hiro $55 * $Id: target_syssvc.h 698 2016-03-26 08:48:12Z ertl-hiro $ 56 56 */ 57 57 -
asp3_wo_tecs/trunk/target/ct11mpcore_gcc/target_test.h
r302 r306 4 4 * Advanced Standard Profile Kernel 5 5 * 6 * Copyright (C) 2007-201 5by Embedded and Real-Time Systems Laboratory6 * Copyright (C) 2007-2016 by Embedded and Real-Time Systems Laboratory 7 7 * Graduate School of Information Science, Nagoya Univ., JAPAN 8 8 * … … 51 51 * ã®è²¬ä»»ãè² ããªãï¼ 52 52 * 53 * $Id: target_test.h 362 2015-07-26 11:29:15Z ertl-hiro $53 * $Id: target_test.h 736 2016-04-04 23:50:03Z ertl-hiro $ 54 54 */ 55 55 … … 62 62 63 63 /* 64 * ãã¹ãããã°ã©ã ã§ä½¿ç¨ããæéãã©ã¡ã¼ã¿ã«é¢ããå®ç¾© 65 */ 66 #ifdef TOPPERS_USE_QEMU 67 #define TEST_TIME_CP 1000U 68 #endif /* TOPPERS_USE_QEMU */ 69 70 /* 64 71 * ã³ã¢ã§å 65 72 ±éãªå®ç¾©ï¼ãããä¾åé¨ã¯é£ã°ãï¼ … … 67 74 #include "core_test.h" 68 75 69 /*70 * ãã¹ãããã°ã©ã ã®åä½ãã©ã¡ã¼ã¿ã®å®ç¾©71 */72 #ifdef TOPPERS_USE_QEMU73 #define ALM1_RELTIM 2000U /* ã¢ã©ã¼ã ãã³ãã©1ã«ä»æããç¸å¯¾æé */74 #endif /* TOPPERS_USE_QEMU */75 76 76 #endif /* TOPPERS_TARGET_TEST_H */ -
asp3_wo_tecs/trunk/target/ct11mpcore_gcc/target_timer.h
r302 r306 4 4 * Advanced Standard Profile Kernel 5 5 * 6 * Copyright (C) 2007-201 5by Embedded and Real-Time Systems Laboratory6 * Copyright (C) 2007-2016 by Embedded and Real-Time Systems Laboratory 7 7 * Graduate School of Information Science, Nagoya Univ., JAPAN 8 8 * … … 51 51 * ã®è²¬ä»»ãè² ããªãï¼ 52 52 * 53 * $Id: target_timer.h 458 2015-08-21 14:59:09Z ertl-hiro $53 * $Id: target_timer.h 742 2016-04-07 13:11:22Z ertl-hiro $ 54 54 */ 55 55 … … 95 95 #define INHNO_OVRTIMER OVRTIMER_TIMER_IRQNO /* å²è¾¼ã¿ãã³ãã©çªå· */ 96 96 #define INTNO_OVRTIMER OVRTIMER_TIMER_IRQNO /* å²è¾¼ã¿çªå· */ 97 #define INTPRI_OVRTIMER (TMAX_INTPRI - 1)/* å²è¾¼ã¿åªå97 #define INTPRI_OVRTIMER TMAX_INTPRI /* å²è¾¼ã¿åªå 98 98 度 */ 99 99 #define INTATR_OVRTIMER TA_NULL /* å²è¾¼ã¿å±æ§ */ -
asp3_wo_tecs/trunk/target/ct11mpcore_gcc/target_user.txt
r302 r306 1 1 2 TOPPERS/ASP ã«ã¼ãã«3 CT11MP coreä¾åé¨ ã¦ã¼ã¶ã¼ãºããã¥ã¢ã«4 5 対å¿ãã¼ã¸ã§ã³: Release 3. 0.06 æçµæ´æ°: 201 5å¹´8æ9æ¥7 8 ãã®ããã¥ã¡ã³ãã¯ï¼TOPPERS/ASP ã«ã¼ãã«ã®CT11MPcoreã¿ã¼ã²ããä¾åé¨ã使9 ç¨ããããã«å¿2 TOPPERS/ASP3ã«ã¼ãã« 3 CT11MPCoreä¾åé¨ ã¦ã¼ã¶ã¼ãºããã¥ã¢ã« 4 5 対å¿ãã¼ã¸ã§ã³: Release 3.1 6 æçµæ´æ°: 2016å¹´1æ30æ¥ 7 8 ãã®ããã¥ã¡ã³ãã¯ï¼TOPPERS/ASP3ã«ã¼ãã«ã®CT11MPCoreã¿ã¼ã²ããä¾åé¨ã 9 使ç¨ããããã«å¿ 10 10 è¦ãªäºé 11 11 ã説æãããã®ã§ããï¼ … … 16 16 Advanced Standard Profile Kernel 17 17 18 Copyright (C) 2008-201 5by Embedded and Real-Time Systems Laboratory18 Copyright (C) 2008-2016 by Embedded and Real-Time Systems Laboratory 19 19 Graduate School of Information Science, Nagoya Univ., JAPAN 20 20 … … 63 63 ã®è²¬ä»»ãè² ããªãï¼ 64 64 65 $Id: target_user.txt 437 2015-08-09 00:36:08Z ertl-hiro $65 $Id: target_user.txt 752 2016-05-14 15:06:22Z ertl-hiro $ 66 66 ---------------------------------------------------------------------- 67 67 68 68 âç®æ¬¡ 69 69 70 ï¼ï¼CT11MP coreã¿ã¼ã²ããä¾åé¨ã®æ¦è¦70 ï¼ï¼CT11MPCoreã¿ã¼ã²ããä¾åé¨ã®æ¦è¦ 71 71 1.1 対å¿ããã¿ã¼ã²ããã·ã¹ãã ã¨ã¿ã¼ã²ããç¥ç§° 72 72 1.2 ã¿ã¼ã²ããä¾åé¨ã®æ§æ … … 92 92 93 93 94 ï¼ï¼CT11MP coreã¿ã¼ã²ããä¾åé¨ã®æ¦è¦95 96 CT11MP coreã¿ã¼ã²ããä¾åé¨ã¯ï¼TOPPERS/ASPã«ã¼ãã«ãï¼ARM11 MPCoreã®ãã¹97 ã ããããæè¼ããCoreTileï¼CT11MPCoreï¼ãï¼RealView Emulation94 ï¼ï¼CT11MPCoreã¿ã¼ã²ããä¾åé¨ã®æ¦è¦ 95 96 CT11MPCoreã¿ã¼ã²ããä¾åé¨ã¯ï¼TOPPERS/ASP3ã«ã¼ãã«ãï¼ARM11 MPCoreã®ã 97 ã¹ãããããæè¼ããCoreTileï¼CT11MPCoreï¼ãï¼RealView Emulation 98 98 Baseboardä¸ã«å®è£ 99 99 ããã¿ã¼ã²ããã·ã¹ãã ã§åä½ãããç°å¢ãæ§ç¯ããããã® … … 107 107 1.1 対å¿ããã¿ã¼ã²ããã·ã¹ãã ã¨ã¿ã¼ã²ããç¥ç§° 108 108 109 CT11MP coreã¿ã¼ã²ããä¾åé¨ã®åä½ç¢ºèªã¯ï¼Qemuãç¨ãã¦è¡ã£ã¦ããï¼åä½ç¢º109 CT11MPCoreã¿ã¼ã²ããä¾åé¨ã®åä½ç¢ºèªã¯ï¼Qemuãç¨ãã¦è¡ã£ã¦ããï¼åä½ç¢º 110 110 èªãè¡ã£ãQemuã®ãã¼ã¸ã§ã³ã¯æ¬¡ã®éãï¼ 111 111 112 112 qemu-system-arm version 2.1.0 113 113 114 Qemuä¸ã§ASP ã«ã¼ãã«ãå®è¡ããããã®ã³ãã³ãã¯æ¬¡ã®éãï¼114 Qemuä¸ã§ASP3ã«ã¼ãã«ãå®è¡ããããã®ã³ãã³ãã¯æ¬¡ã®éãï¼ 115 115 116 116 qemu-system-arm -M realview-eb-mpcore -semihosting -m 128M -smp 1 \ … … 125 125 1.2 ã¿ã¼ã²ããä¾åé¨ã®æ§æ 126 126 127 CT11MP coreã¿ã¼ã²ããä¾åé¨ã®ä½¿ç¨ããã¿ã¼ã²ããä¾åé¨ï¼targetãã£ã¬ã¯ã127 CT11MPCoreã¿ã¼ã²ããä¾åé¨ã®ä½¿ç¨ããã¿ã¼ã²ããä¾åé¨ï¼targetãã£ã¬ã¯ã 128 128 ãªï¼ããã³ã¿ã¼ã²ããä¾åé¨ã®å 129 129 ±éé¨ï¼archãã£ã¬ã¯ããªï¼ã®ãã£ã¬ã¯ããªã¯ … … 131 131 132 132 target/ 133 ct11mpcore_gcc/ CT11MP coreã¿ã¼ã²ããä¾åé¨133 ct11mpcore_gcc/ CT11MPCoreã¿ã¼ã²ããä¾åé¨ 134 134 135 135 arch/ 136 136 arm_gcc/common/ ARMã³ã¢ä¾åé¨ 137 137 arm_gcc/mpcore/ MPCoreãããä¾åé¨ 138 arm_gcc/doc/ ARMä¾åé¨ã«é¢ããããã¥ã¡ã³ã 138 139 gcc/ GCCéçºç°å¢ä¾åé¨ 139 logtrace/ ãã¬ã¼ã¹ãã°è¨é²ã®ãµã³ãã«ã³ã¼ã140 tracelog/ ãã¬ã¼ã¹ãã°è¨é²ã®ãµã³ãã«ã³ã¼ã 140 141 141 142 1.3 ä¾åãã¦ããåå¥ããã±ã¼ã¸ã®ãã¼ã¸ã§ã³çªå· 142 143 143 Mac OS Xã¿ã¼ã²ããä¾åé¨ï¼ãã¼ã¸ã§ã³ 3.B.0ï¼ã®åå¥ããã±ã¼ã¸ãä¾åã㦠144 ã ãåå¥ããã±ã¼ã¸ã¨ï¼åä½ç¢ºèªãè¡ã£ããã¼ã¸ã§ã³ã¯æ¬¡ã®éãï¼144 CT11MPCoreã¿ã¼ã²ããä¾åé¨ï¼ãã¼ã¸ã§ã³ 3.0.0ï¼ã®åå¥ããã±ã¼ã¸ãä¾åã 145 ã¦ããåå¥ããã±ã¼ã¸ã¨ï¼åä½ç¢ºèªãè¡ã£ããã¼ã¸ã§ã³ã¯æ¬¡ã®éãï¼ 145 146 146 147 åå¥ããã±ã¼ã¸ã®å称 ãã¼ã¸ã§ã³ åå¥ããã±ã¼ã¸ãã¡ã¤ã«å … … 186 187 ã®è¦å® 187 188 188 CT11MP coreã¿ã¼ã²ããä¾åé¨ã¯ï¼ARMã³ã¢ä¾åé¨ã¨MPCoreãããä¾åé¨ãç¨ãã¦189 CT11MPCoreã¿ã¼ã²ããä¾åé¨ã¯ï¼ARMã³ã¢ä¾åé¨ã¨MPCoreãããä¾åé¨ãç¨ã㦠189 190 å®è£ 190 ããã¦ããï¼ããã§ã¯ï¼ARMã³ã¢ä¾åé¨ããã³MPCoreãããä¾åé¨ã¨ç°ãªãï¼ 191 ãªããã¯ï¼ãããã§è¦å®ããã¦ããªãäºé 191 ããã¦ããï¼ARMã³ã¢ä¾åé¨ããã³MPCoreãããä¾åé¨ã«ãããã¿ã¼ã²ãã 192 å®ç¾©äºé 193 ã®è¦å®ã«ã¤ãã¦ã¯ï¼ãARMä¾åé¨ ã¦ã¼ã¶ã¼ãºããã¥ã¢ã«ããåç 194 §ãã 195 ãã¨ï¼ 196 197 以ä¸ã§ã¯ï¼ARMã³ã¢ä¾åé¨ããã³MPCoreãããä¾åé¨ã¨ç°ãªãï¼ãªããã¯ï¼ãã 198 ãã§è¦å®ããã¦ããªãäºé 192 199 ã«ã¤ãã¦èª¬æããï¼ 193 200 … … 195 202 度ã¨å²è¾¼ã¿çªå· 196 203 197 CT11MPCoreã®å²è¾¼ã¿ã³ã³ããã¼ã©ï¼Distributed Interrupt C Ontrollerï¼ã¯ï¼204 CT11MPCoreã®å²è¾¼ã¿ã³ã³ããã¼ã©ï¼Distributed Interrupt Controllerï¼ã¯ï¼ 198 205 16ã¬ãã«ã®å²è¾¼ã¿åªå 199 206 度ããµãã¼ããã¦ããï¼ãã®ããï¼å²è¾¼ã¿åªå … … 238 245 3.1 ã¿ã¤ããã©ã¤ã 239 246 240 é«å解è½ã¿ã¤ãã¯ï¼MPCoreãã³ã¢æ¯ã«æã¤ã ¿ã¤ãã¨ã¦ã©ããããã°ã使ç¨ãã¦241 å®ç¾ãã¦ããï¼å242 ·ä½çã«ã¯ï¼ã¦ã©ããããã°ãç¾å¨ æå»ã®ç®¡çã®ããã«ç¨ãï¼243 ã¿ã¤ããç¸å¯¾æéå²è¾¼ã¿ã®çºçã®ããã«ç¨ãã¦ããï¼ãã®ããï¼ãããã®ã¿ã¤ 244 ã ãå¥ã®ç®çã§ä½¿ç¨ãããã¨ã¯ã§ããªãï¼247 é«å解è½ã¿ã¤ãã¯ï¼MPCoreãã³ã¢æ¯ã«æã¤ãã©ã¤ãã¼ãã¿ã¤ãã¨ãã©ã¤ãã¼ã 248 ã¦ã©ããããã°ã使ç¨ãã¦å®ç¾ãã¦ããï¼å 249 ·ä½çã«ã¯ï¼ã¦ã©ããããã°ãç¾å¨ 250 æå»ã®ç®¡çã®ããã«ç¨ãï¼ã¿ã¤ããç¸å¯¾æéå²è¾¼ã¿ã®çºçã®ããã«ç¨ãã¦ããï¼ 251 ãã®ããï¼ãããã®ã¿ã¤ããå¥ã®ç®çã§ä½¿ç¨ãããã¨ã¯ã§ããªãï¼ 245 252 246 253 ã¾ãï¼ãªã¼ãã©ã³ãã³ãã©æ©è½ããµãã¼ãããå ´åã«ã¯ï¼RealView Emulation … … 256 263 ããã¦ãã4ãã£ã³ãã«ã®UARTã®å 257 264 ã®1ã¤ï¼ã©ã®1ã¤ãç¨ãããã¯ï¼ã³ 258 ã¢æ¯ã«ç°ãªãï¼ãç¨ãã¦ï¼ã·ãªã¢ã«I/Oãã¼ãã1ã¤ã®ã¿ãµãã¼ããã¦ããï¼ 259 260 ç¨ããUARTãå¤æ´ããå ´åã«ã¯ï¼target_syssvc.hãä¿®æ£ããå¿ 261 è¦ãããï¼ 265 ã¢æ¯ã«ç°ãªãï¼ãç¨ãã¦ï¼SIOãã¼ãã1ã¤ã®ã¿ãµãã¼ããã¦ããï¼ 266 267 ç¨ããSIOãã¼ããå¤æ´ããå ´åã«ã¯ï¼tSIOPortCT11MPCore.cdlãä¿®æ£ããå¿ 268 è¦ 269 ãããï¼ 262 270 263 271 3.3 ã·ã¹ãã ãã°ã®ä½ã¬ãã«åºå … … 266 274 ãã®ã¨åãUARTãç¨ãï¼ãã¼ãªã³ã°ã«ããæåãåºåããæ¹æ³ã§å®ç¾ãã¦ããï¼ 267 275 268 ç¨ãã UARTãå¤æ´ããå ´åã«ã¯ï¼target_kernel_impl.hãä¿®æ£ããå¿276 ç¨ããSIOãã¼ããå¤æ´ããå ´åã«ã¯ï¼target.cdlãä¿®æ£ããå¿ 269 277 è¦ãããï¼ 270 278 … … 274 282 4.1 ã·ã¹ãã æ§ç¯ 275 283 276 CT11MP coreåãã®æ§ç¯ããæé ã¯ï¼ãTOPPERS/ASPã«ã¼ãã« ã¦ã¼ã¶ã¼ãºããã¥277 ã ¢ã«ãã®ãï¼ï¼ã¯ã¤ãã¯ã¹ã¿ã¼ãã¬ã¤ããã®ç« ã«è¨è¿°ããã¦ããéãã§ããï¼278 Qemuã§å®è¡ããå ´åã«ã¯ï¼ã³ã³ãã¤ã«ãªãã·ã§ã³ã«ã-DTOPPERS_USE_QEMUãã 279 追å ãããã¨ï¼284 CT11MPCoreç¨ã®ASP3ã«ã¼ãã«ãæ§ç¯ããæé ã¯ï¼ãTOPPERS/ASP3ã«ã¼ãã« ã¦ã¼ 285 ã¶ã¼ãºããã¥ã¢ã«ãã®ãï¼ï¼ã¯ã¤ãã¯ã¹ã¿ã¼ãã¬ã¤ããã®ç« ã«è¨è¿°ããã¦ãã 286 éãã§ããï¼Qemuã§å®è¡ããå ´åã«ã¯ï¼ã³ã³ãã¤ã«ãªãã·ã§ã³ã« 287 ã-DTOPPERS_USE_QEMUãã追å ãããã¨ï¼ 280 288 281 289 4.2 Qemuã§å®è¡ããå ´åã®ãããã¬ã®ä½¿ç¨æ¹æ³ … … 311 319 5.1 ãã£ã¬ã¯ããªæ§æã»ãã¡ã¤ã«æ§æ 312 320 313 target/ macosx_xcode/321 target/ct11mpcore_gcc/ 314 322 E_PACKAGE ç°¡æããã±ã¼ã¸ã®ãã¡ã¤ã«ãªã¹ã 315 323 MANIFEST åå¥ããã±ã¼ã¸ã®ãã¡ã¤ã«ãªã¹ã … … 317 325 ct11mpcore.h ã¿ã¼ã²ããã®ãã¼ãã¦ã§ã¢è³æºã®å®ç¾© 318 326 ct11mpcore.ld æ¨æºã®ãªã³ã«ã¹ã¯ãªãã 319 target.tf kernel.tfã®ã¿ã¼ã²ããä¾åé¨ 327 tPutLogCT11MPCore.c ã·ã¹ãã ãã°ã®ä½ã¬ãã«åºå 328 tPutLogCT11MPCore.cdl ã·ã¹ãã ãã°ã®ä½ã¬ãã«åºåã®ã³ã³ãã¼ãã³ãè¨è¿° 329 tSIOPortCT11MPCore.cdl ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã®ã¿ã¼ã²ãã 330 ä¾åé¨ï¼CT11MPCoreç¨ï¼ã®ã³ã³ãã¼ãã³ãè¨è¿° 331 tSIOPortCT11MPCoreMain_inline.h ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ã 332 ã®ã¿ã¼ã²ããä¾åé¨ï¼CT11MPCoreç¨ï¼ 333 target.cdl ã³ã³ãã¼ãã³ãè¨è¿°ãã¡ã¤ã«ã®ã¿ã¼ã²ããä¾åé¨ 320 334 target_cfg1_out.h cfg1_out.cã®ãªã³ã¯ã«å¿ 321 335 è¦ãªã¹ã¿ãã®å®ç¾© 322 target_check.tf kernel_check.tfã®ã¿ã¼ã²ããä¾åé¨ 336 target_kernel.cfg ã«ã¼ãã«å®è£ 337 ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã« 323 338 target_kernel.h kernel.hã®ã¿ã¼ã²ããä¾åé¨ 339 target_kernel.trb kernel.trbã®ã¿ã¼ã²ããä¾åé¨ 340 target_check.trb kernel_check.trbã®ã¿ã¼ã²ããä¾åé¨ 324 341 target_kernel_impl.c ã«ã¼ãã«å®è£ 325 ã®ã¿ã¼ã²ããä¾åé¨ é¢é£ã®å®ç¾©342 ã®ã¿ã¼ã²ããä¾åé¨ 326 343 target_kernel_impl.h ã«ã¼ãã«å®è£ 327 ã®ã¿ã¼ã²ããä¾åé¨ 344 ã®ã¿ã¼ã²ããä¾åé¨ã«é¢ããå®ç¾© 328 345 target_rename.def ã¿ã¼ã²ããä¾åé¨ã®å 329 346 é¨èå¥åã®ãªãã¼ã å®ç¾© 330 347 target_rename.h ã¿ã¼ã²ããä¾åé¨ã®å 331 348 é¨èå¥åã®ãªãã¼ã 332 target_serial.c serial.cã®ã¿ã¼ã²ããä¾åé¨333 target_serial.cfg serial.cfgã®ã¿ã¼ã²ããä¾åé¨334 target_serial.h serial.hã®ã¿ã¼ã²ããä¾åé¨335 349 target_sil.h sil.hã®ã¿ã¼ã²ããä¾åé¨ 336 350 target_stddef.h t_stddef.hã®ã¿ã¼ã²ããä¾åé¨ 337 351 target_syssvc.h ã·ã¹ãã ãµã¼ãã¹ã®ã¿ã¼ã²ããä¾åå®ç¾© 338 352 target_test.h ãã¹ãããã°ã©ã ã®ã¿ã¼ã²ããä¾åå®ç¾© 353 target_timer.c ã¿ã¤ããã©ã¤ã 339 354 target_timer.cfg ã¿ã¤ããã©ã¤ãã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã« 340 355 target_timer.h ã¿ã¤ããã©ã¤ãã使ç¨ããããã®å®ç¾© … … 343 358 target_user.txt ã¿ã¼ã²ããä¾åé¨ã®ã¦ã¼ã¶ã¼ãºããã¥ã¢ã« 344 359 345 6.2 ãã¼ã¸ã§ã³å±¥æ´360 5.2 ãã¼ã¸ã§ã³å±¥æ´ 346 361 347 362 2015å¹´8æ5æ¥ Release 3.B.0 æåã®ãªãªã¼ã¹ 348 201 5å¹´ ææ¥ Release 3.0.0 æåã®ä¸è¬å363 2016å¹´2æ8æ¥ Release 3.0.0 æåã®ä¸è¬å 349 364 ¬é 365 2016å¹´5æ15æ¥ Release 3.1.0 350 366 351 367 ä»¥ä¸ -
asp3_wo_tecs/trunk/target/dummy_gcc/Makefile.target
r304 r306 2 2 # Makefile ã®ã¿ã¼ã²ããä¾åé¨ï¼ããã¼ã¿ã¼ã²ããç¨ï¼ 3 3 # 4 # $Id: Makefile.target 5 04 2016-01-12 01:19:55Z ertl-hiro $4 # $Id: Makefile.target 572 2016-02-01 14:40:09Z ertl-hiro $ 5 5 # 6 6 -
asp3_wo_tecs/trunk/target/dummy_gcc/dummy.h
r305 r306 51 51 * ã®è²¬ä»»ãè² ããªãï¼ 52 52 * 53 * $Id: dummy.h 238 2014-09-28 19:19:25Z ertl-hiro $53 * $Id: dummy.h 526 2016-01-14 11:43:26Z ertl-hiro $ 54 54 */ 55 55 -
asp3_wo_tecs/trunk/target/dummy_gcc/target_kernel_impl.c
r305 r306 4 4 * Advanced Standard Profile Kernel 5 5 * 6 * Copyright (C) 2013-201 5by Embedded and Real-Time Systems Laboratory6 * Copyright (C) 2013-2016 by Embedded and Real-Time Systems Laboratory 7 7 * Graduate School of Information Science, Nagoya Univ., JAPAN 8 8 * … … 51 51 * ã®è²¬ä»»ãè² ããªãï¼ 52 52 * 53 * $Id: target_kernel_impl.c 374 2015-07-30 22:01:54Z ertl-hiro $53 * $Id: target_kernel_impl.c 515 2016-01-13 02:21:39Z ertl-hiro $ 54 54 */ 55 55 -
asp3_wo_tecs/trunk/target/dummy_gcc/target_kernel_impl.h
r305 r306 4 4 * Advanced Standard Profile Kernel 5 5 * 6 * Copyright (C) 2013-201 5by Embedded and Real-Time Systems Laboratory6 * Copyright (C) 2013-2016 by Embedded and Real-Time Systems Laboratory 7 7 * Graduate School of Information Science, Nagoya Univ., JAPAN 8 8 * … … 51 51 * ã®è²¬ä»»ãè² ããªãï¼ 52 52 * 53 * $Id: target_kernel_impl.h 471 2015-12-30 10:03:16Z ertl-hiro $53 * $Id: target_kernel_impl.h 515 2016-01-13 02:21:39Z ertl-hiro $ 54 54 */ 55 55 -
asp3_wo_tecs/trunk/target/dummy_gcc/target_stddef.h
r302 r306 50 50 * ã®è²¬ä»»ãè² ããªãï¼ 51 51 * 52 * $Id: target_stddef.h 293 2014-11-30 09:27:54Z ertl-hiro $52 * $Id: target_stddef.h 509 2016-01-12 06:06:14Z ertl-hiro $ 53 53 */ 54 54 -
asp3_wo_tecs/trunk/target/dummy_gcc/target_syssvc.h
r302 r306 4 4 * Advanced Standard Profile Kernel 5 5 * 6 * Copyright (C) 2013-201 4by Embedded and Real-Time Systems Laboratory6 * Copyright (C) 2013-2016 by Embedded and Real-Time Systems Laboratory 7 7 * Graduate School of Information Science, Nagoya Univ., JAPAN 8 8 * … … 51 51 * ã®è²¬ä»»ãè² ããªãï¼ 52 52 * 53 * $Id: target_syssvc.h 293 2014-11-30 09:27:54Z ertl-hiro $53 * $Id: target_syssvc.h 524 2016-01-14 11:01:56Z ertl-hiro $ 54 54 */ 55 55 -
asp3_wo_tecs/trunk/target/nucleo_f401re_gcc/target_kernel_impl.c
r303 r306 97 97 98 98 /* 99 * cfgã®pass3ã§ã¨ã©ã¼ã«ãªã ãªãããã«99 * cfgã®pass3ã§ã¨ã©ã¼ã«ãªããªãããã« 100 100 */ 101 101 extern const ID _kernel_tmax_tskid; -
asp3_wo_tecs/trunk/test/MANIFEST
r304 r306 51 51 test_dlynse.cfg 52 52 test_dlynse.h 53 test_dtq1.c 54 test_dtq1.cfg 55 test_dtq1.h 53 56 test_flg1.c 54 57 test_flg1.cfg … … 107 110 test_tmevt1.cfg 108 111 test_tmevt1.h 112 testexec.rb -
asp3_wo_tecs/trunk/test/bit_kernel.c
r305 r306 51 51 * ã®è²¬ä»»ãè² ããªãï¼ 52 52 * 53 * $Id: bit_kernel.c 554 2016-01-17 13:21:59Z ertl-hiro $53 * $Id: bit_kernel.c 739 2016-04-05 15:09:40Z ertl-hiro $ 54 54 */ 55 55 … … 195 195 196 196 /* 197 * enadspã¨p_schedtskã®æ´åæ§ã®æ¤æ»198 */ 199 if ( enadsp) {197 * dspflgã¨p_schedtskã®æ´åæ§ã®æ¤æ» 198 */ 199 if (dspflg) { 200 200 if (primap_empty()) { 201 201 if (p_schedtsk != NULL) { -
asp3_wo_tecs/trunk/test/test_cpuexc.cfg
r304 r306 2 2 * CPUä¾å¤å¦çã®ãã¹ã(1)ã(10)ã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã« 3 3 * 4 * $Id: test_cpuexc.cfg 404 2015-08-02 21:56:21Z ertl-hiro $4 * $Id: test_cpuexc.cfg 571 2016-02-01 14:29:07Z ertl-hiro $ 5 5 */ 6 INCLUDE("syssvc/syslog.cfg"); 7 INCLUDE("syssvc/banner.cfg"); 8 INCLUDE("syssvc/serial.cfg"); 6 INCLUDE("tecsgen.cfg"); 9 7 10 8 #include "test_cpuexc.h" -
asp3_wo_tecs/trunk/test/test_cpuexc.h
r302 r306 3 3 * Toyohashi Open Platform for Embedded Real-Time Systems 4 4 * 5 * Copyright (C) 2007-201 4by Embedded and Real-Time Systems Laboratory5 * Copyright (C) 2007-2016 by Embedded and Real-Time Systems Laboratory 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 7 * … … 50 50 * ã®è²¬ä»»ãè² ããªãï¼ 51 51 * 52 * $Id: test_cpuexc.h 404 2015-08-02 21:56:21Z ertl-hiro $52 * $Id: test_cpuexc.h 737 2016-04-05 13:11:23Z ertl-hiro $ 53 53 */ 54 54 … … 80 80 #endif /* STACK_SIZE */ 81 81 82 #ifndef TEST_TIME_CP 83 #define TEST_TIME_CP 50000U /* ãã§ãã¯ãã¤ã³ãå°éæ 84 å ±ã®åºåæé */ 85 #endif /* TEST_TIME_CP */ 86 87 #ifndef TEST_TIME_PROC 88 #define TEST_TIME_PROC 1000U /* ãã§ãã¯ãã¤ã³ããéããªãå ´åã®æé */ 89 #endif /* TEST_TIME_PROC */ 90 82 91 /* 83 92 * é¢æ°ã®ãããã¿ã¤ãå®£è¨ -
asp3_wo_tecs/trunk/test/test_cpuexc1.c
r302 r306 3 3 * Toyohashi Open Platform for Embedded Real-Time Systems 4 4 * 5 * Copyright (C) 2007-201 5by Embedded and Real-Time Systems Laboratory5 * Copyright (C) 2007-2016 by Embedded and Real-Time Systems Laboratory 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 7 * … … 50 50 * ã®è²¬ä»»ãè² ããªãï¼ 51 51 * 52 * $Id: test_cpuexc1.c 346 2015-07-18 02:12:08Z ertl-hiro $52 * $Id: test_cpuexc1.c 738 2016-04-05 14:19:24Z ertl-hiro $ 53 53 */ 54 54 … … 117 117 * 2: state(false, false, true, true, false) 118 118 * ipm(TIPM_ENAALL) 119 * sta_alm(ALM1, 10000U)119 * sta_alm(ALM1, TEST_TIME_PROC) ... ALM1ãå®è¡éå§ããã¾ã§ 120 120 * DO(while(!alm1_flag)) 121 121 * == ALM1 == … … 223 223 check_ipm(TIPM_ENAALL); 224 224 225 ercd = sta_alm(ALM1, 10000U);225 ercd = sta_alm(ALM1, TEST_TIME_PROC); 226 226 check_ercd(ercd, E_OK); 227 227 -
asp3_wo_tecs/trunk/test/test_cpuexc2.c
r302 r306 3 3 * Toyohashi Open Platform for Embedded Real-Time Systems 4 4 * 5 * Copyright (C) 2007-201 5by Embedded and Real-Time Systems Laboratory5 * Copyright (C) 2007-2016 by Embedded and Real-Time Systems Laboratory 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 7 * … … 50 50 * ã®è²¬ä»»ãè² ããªãï¼ 51 51 * 52 * $Id: test_cpuexc2.c 346 2015-07-18 02:12:08Z ertl-hiro $52 * $Id: test_cpuexc2.c 738 2016-04-05 14:19:24Z ertl-hiro $ 53 53 */ 54 54 … … 111 111 * 2: state(false, false, true, true, false) 112 112 * ipm(TIPM_ENAALL) 113 * sta_alm(ALM1, 10000U)113 * sta_alm(ALM1, TEST_TIME_PROC) ... ALM1ãå®è¡éå§ããã¾ã§ 114 114 * DO(while(!alm1_flag)) 115 115 * == ALM1 == … … 217 217 check_ipm(TIPM_ENAALL); 218 218 219 ercd = sta_alm(ALM1, 10000U);219 ercd = sta_alm(ALM1, TEST_TIME_PROC); 220 220 check_ercd(ercd, E_OK); 221 221 -
asp3_wo_tecs/trunk/test/test_cpuexc3.c
r302 r306 3 3 * Toyohashi Open Platform for Embedded Real-Time Systems 4 4 * 5 * Copyright (C) 2007-201 5by Embedded and Real-Time Systems Laboratory5 * Copyright (C) 2007-2016 by Embedded and Real-Time Systems Laboratory 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 7 * … … 50 50 * ã®è²¬ä»»ãè² ããªãï¼ 51 51 * 52 * $Id: test_cpuexc3.c 346 2015-07-18 02:12:08Z ertl-hiro $52 * $Id: test_cpuexc3.c 738 2016-04-05 14:19:24Z ertl-hiro $ 53 53 */ 54 54 … … 110 110 * 2: state(false, false, true, true, false) 111 111 * ipm(TIPM_ENAALL) 112 * sta_alm(ALM1, 10000U)112 * sta_alm(ALM1, TEST_TIME_PROC) ... ALM1ãå®è¡éå§ããã¾ã§ 113 113 * DO(while(!alm1_flag)) 114 114 * == ALM1 == … … 211 211 check_ipm(TIPM_ENAALL); 212 212 213 ercd = sta_alm(ALM1, 10000U);213 ercd = sta_alm(ALM1, TEST_TIME_PROC); 214 214 check_ercd(ercd, E_OK); 215 215 -
asp3_wo_tecs/trunk/test/test_dlynse.c
r302 r306 5 5 * Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory 6 6 * Toyohashi Univ. of Technology, JAPAN 7 * Copyright (C) 2007-201 5by Embedded and Real-Time Systems Laboratory7 * Copyright (C) 2007-2016 by Embedded and Real-Time Systems Laboratory 8 8 * Graduate School of Information Science, Nagoya Univ., JAPAN 9 9 * … … 52 52 * ã®è²¬ä»»ãè² ããªãï¼ 53 53 * 54 * $Id: test_dlynse.c 482 2016-01-03 13:12:51Z ertl-hiro $54 * $Id: test_dlynse.c 738 2016-04-05 14:19:24Z ertl-hiro $ 55 55 */ 56 56 … … 75 75 #include "target_kernel_impl.h" 76 76 77 #define NO_LOOP ULONG_C(1000000)77 #define NO_LOOP 1000000UL 78 78 79 SYSTIMempty_time;79 HRTCNT empty_time; 80 80 81 81 static void … … 90 90 etime = fch_hrt(); 91 91 empty_time = etime - stime; 92 #ifdef TCYC_HRTCNT 93 if (etime < stime) { 94 empty_time += TCYC_HRTCNT; 95 } 96 #endif /* TCYC_HRTCNT */ 92 97 syslog(LOG_NOTICE, "empty loop: %u", empty_time); 93 98 (void) syslog_fls_log(); … … 97 102 test_dly_nse(ulong_t dlytim) 98 103 { 99 HRTCNT stime, etime ;104 HRTCNT stime, etime, diff; 100 105 ulong_t delay_time; 101 106 volatile ulong_t i; … … 106 111 } 107 112 etime = fch_hrt(); 108 delay_time = ((etime - stime) - empty_time) / 1000U; 113 diff = etime - stime; 114 #ifdef TCYC_HRTCNT 115 if (etime < stime) { 116 diff += TCYC_HRTCNT; 117 } 118 #endif /* TCYC_HRTCNT */ 119 delay_time = (diff - empty_time) / 1000U; 109 120 syslog(LOG_NOTICE, "sil_dly_nse(%lu): %lu %s", dlytim, delay_time, 110 121 delay_time >= dlytim ? "OK" : "NG"); … … 127 138 test_dly_nse(SIL_DLY_TIM1 + SIL_DLY_TIM2 * 4); 128 139 test_dly_nse(SIL_DLY_TIM1 + SIL_DLY_TIM2 * 5); 140 test_dly_nse(SIL_DLY_TIM1 + SIL_DLY_TIM2 * 6); 141 test_dly_nse(SIL_DLY_TIM1 + SIL_DLY_TIM2 * 7); 142 test_dly_nse(SIL_DLY_TIM1 + SIL_DLY_TIM2 * 8); 143 test_dly_nse(SIL_DLY_TIM1 + SIL_DLY_TIM2 * 9); 129 144 test_dly_nse(SIL_DLY_TIM1 + SIL_DLY_TIM2 * 10); 130 145 test_dly_nse(SIL_DLY_TIM1 + SIL_DLY_TIM2 * 20); -
asp3_wo_tecs/trunk/test/test_dtq1.c
r305 r306 50 50 * ã®è²¬ä»»ãè² ããªãï¼ 51 51 * 52 * $Id: test_dtq1.c 602 2016-02-07 12:22:32Z ertl-hiro $52 * $Id: test_dtq1.c 738 2016-04-05 14:19:24Z ertl-hiro $ 53 53 */ 54 54 … … 302 302 * == TASK3ï¼ç¶ãï¼== 303 303 * 19: assert(data == DATA1) 304 * 20: sta_alm(ALM1, 10000U)304 * 20: sta_alm(ALM1, TEST_TIME_CP) ... ALM1ãå®è¡éå§ããã¾ã§ 305 305 * 21: rcv_dtq(DTQ2, &data) 306 306 * == ALM1 == … … 626 626 627 627 check_point(20); 628 ercd = sta_alm(ALM1, 10000U);628 ercd = sta_alm(ALM1, TEST_TIME_CP); 629 629 check_ercd(ercd, E_OK); 630 630 -
asp3_wo_tecs/trunk/test/test_dtq1.h
r305 r306 2 2 * ãã¼ã¿ãã¥ã¼æ©è½ã®ãã¹ã(1)ã®ããããã¡ã¤ã« 3 3 * 4 * $Id: test_dtq1.h 602 2016-02-07 12:22:32Z ertl-hiro $4 * $Id: test_dtq1.h 737 2016-04-05 13:11:23Z ertl-hiro $ 5 5 */ 6 6 … … 30 30 #endif /* STACK_SIZE */ 31 31 32 #ifndef TEST_TIME_CP 33 #define TEST_TIME_CP 50000U /* ãã§ãã¯ãã¤ã³ãå°éæ 34 å ±ã®åºåæé */ 35 #endif /* TEST_TIME_CP */ 36 37 #ifndef TEST_TIME_PROC 38 #define TEST_TIME_PROC 1000U /* ãã§ãã¯ãã¤ã³ããéããªãå ´åã®æé */ 39 #endif /* TEST_TIME_PROC */ 40 32 41 /* 33 42 * éåä¿¡ãããã¼ã¿ã®å®ç¾© -
asp3_wo_tecs/trunk/test/test_flg1.c
r305 r306 50 50 * ã®è²¬ä»»ãè² ããªãï¼ 51 51 * 52 * $Id: test_flg1.c 599 2016-02-07 03:33:35Z ertl-hiro $52 * $Id: test_flg1.c 738 2016-04-05 14:19:24Z ertl-hiro $ 53 53 */ 54 54 … … 319 319 * == TASK1ï¼ç¶ãï¼== 320 320 * 37: clr_flg(FLG3, 0) 321 * sta_alm(ALM1, 10000U)321 * sta_alm(ALM1, 2 * TEST_TIME_CP) ... ALM1ãå®è¡éå§ããã¾ã§ 322 322 * 38: wai_flg(FLG3, 0x01, TWF_ORW, &flgptn) 323 323 * == TASK3ï¼ç¶ãï¼== … … 578 578 check_ercd(ercd, E_OK); 579 579 580 ercd = sta_alm(ALM1, 10000U);580 ercd = sta_alm(ALM1, 2 * TEST_TIME_CP); 581 581 check_ercd(ercd, E_OK); 582 582 -
asp3_wo_tecs/trunk/test/test_flg1.h
r305 r306 50 50 * ã®è²¬ä»»ãè² ããªãï¼ 51 51 * 52 * $Id: test_flg1.h 599 2016-02-07 03:33:35Z ertl-hiro $52 * $Id: test_flg1.h 737 2016-04-05 13:11:23Z ertl-hiro $ 53 53 */ 54 54 … … 82 82 #endif /* STACK_SIZE */ 83 83 84 #ifndef TEST_TIME_CP 85 #define TEST_TIME_CP 50000U /* ãã§ãã¯ãã¤ã³ãå°éæ 86 å ±ã®åºåæé */ 87 #endif /* TEST_TIME_CP */ 88 89 #ifndef TEST_TIME_PROC 90 #define TEST_TIME_PROC 1000U /* ãã§ãã¯ãã¤ã³ããéããªãå ´åã®æé */ 91 #endif /* TEST_TIME_PROC */ 92 84 93 /* 85 94 * é¢æ°ã®ãããã¿ã¤ãå®£è¨ -
asp3_wo_tecs/trunk/test/test_hrt1.c
r302 r306 52 52 * ã®è²¬ä»»ãè² ããªãï¼ 53 53 * 54 * $Id: test_hrt1.c 310 2015-02-08 13:46:46Z ertl-hiro $54 * $Id: test_hrt1.c 738 2016-04-05 14:19:24Z ertl-hiro $ 55 55 */ 56 56 … … 82 82 #include "test_hrt1.h" 83 83 84 #define NO_LOOP ULONG_C(100000)84 #define NO_LOOP 100000UL 85 85 86 86 HRTCNT recent_hrtcnt; -
asp3_wo_tecs/trunk/test/test_mutex.h
r302 r306 3 3 * Toyohashi Open Platform for Embedded Real-Time Systems 4 4 * 5 * Copyright (C) 2007-201 4by Embedded and Real-Time Systems Laboratory5 * Copyright (C) 2007-2016 by Embedded and Real-Time Systems Laboratory 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 7 * … … 50 50 * ã®è²¬ä»»ãè² ããªãï¼ 51 51 * 52 * $Id: test_mutex.h 286 2014-11-29 07:51:11Z ertl-hiro $52 * $Id: test_mutex.h 737 2016-04-05 13:11:23Z ertl-hiro $ 53 53 */ 54 54 … … 82 82 #endif /* STACK_SIZE */ 83 83 84 #ifndef TEST_TIME_CP 85 #define TEST_TIME_CP 50000U /* ãã§ãã¯ãã¤ã³ãå°éæ 86 å ±ã®åºåæé */ 87 #endif /* TEST_TIME_CP */ 88 89 #ifndef TEST_TIME_PROC 90 #define TEST_TIME_PROC 1000U /* ãã§ãã¯ãã¤ã³ããéããªãå ´åã®æé */ 91 #endif /* TEST_TIME_PROC */ 92 84 93 /* 85 94 * é¢æ°ã®ãããã¿ã¤ãå®£è¨ -
asp3_wo_tecs/trunk/test/test_mutex1.c
r302 r306 3 3 * Toyohashi Open Platform for Embedded Real-Time Systems 4 4 * 5 * Copyright (C) 2007-201 5by Embedded and Real-Time Systems Laboratory5 * Copyright (C) 2007-2016 by Embedded and Real-Time Systems Laboratory 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 7 * … … 50 50 * ã®è²¬ä»»ãè² ããªãï¼ 51 51 * 52 * $Id: test_mutex1.c 310 2015-02-08 13:46:46Z ertl-hiro $52 * $Id: test_mutex1.c 738 2016-04-05 14:19:24Z ertl-hiro $ 53 53 */ 54 54 … … 147 147 * assert(rmtx.htskid == TASK2) 148 148 * assert(rmtx.wtskid == TSK_NONE) 149 * tloc_mtx(MTX1, 10000U) -> E_TMOUT ... (D-1) 149 * tloc_mtx(MTX1, 3 * TEST_TIME_CP) -> E_TMOUT ... (D-1) 150 * ... TASK1ãå®è¡åéããã¾ã§ 150 151 * 15: wup_tsk(TASK2) 151 152 * == TASK2ï¼ç¶ãï¼== … … 246 247 check_assert(rmtx.wtskid == TSK_NONE); 247 248 248 ercd = tloc_mtx(MTX1, 10000U);249 ercd = tloc_mtx(MTX1, 3 * TEST_TIME_CP); 249 250 check_ercd(ercd, E_TMOUT); 250 251 -
asp3_wo_tecs/trunk/test/test_mutex2.c
r302 r306 3 3 * Toyohashi Open Platform for Embedded Real-Time Systems 4 4 * 5 * Copyright (C) 2007-201 5by Embedded and Real-Time Systems Laboratory5 * Copyright (C) 2007-2016 by Embedded and Real-Time Systems Laboratory 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 7 * … … 50 50 * ã®è²¬ä»»ãè² ããªãï¼ 51 51 * 52 * $Id: test_mutex2.c 310 2015-02-08 13:46:46Z ertl-hiro $52 * $Id: test_mutex2.c 738 2016-04-05 14:19:24Z ertl-hiro $ 53 53 */ 54 54 … … 148 148 * assert(rmtx.htskid == TASK2) 149 149 * assert(rmtx.wtskid == TSK_NONE) 150 * tloc_mtx(MTX1, 10000U) -> E_TMOUT ... (D-1) 150 * tloc_mtx(MTX1, 3 * TEST_TIME_CP) -> E_TMOUT ... (D-1) 151 * ... TASK1ãå®è¡åéããã¾ã§ 151 152 * 15: wup_tsk(TASK2) 152 153 * == TASK2ï¼ç¶ãï¼== … … 247 248 check_assert(rmtx.wtskid == TSK_NONE); 248 249 249 ercd = tloc_mtx(MTX1, 10000U);250 ercd = tloc_mtx(MTX1, 3 * TEST_TIME_CP); 250 251 check_ercd(ercd, E_TMOUT); 251 252 -
asp3_wo_tecs/trunk/test/test_mutex3.c
r302 r306 3 3 * Toyohashi Open Platform for Embedded Real-Time Systems 4 4 * 5 * Copyright (C) 2007-201 5by Embedded and Real-Time Systems Laboratory5 * Copyright (C) 2007-2016 by Embedded and Real-Time Systems Laboratory 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 7 * … … 50 50 * ã®è²¬ä»»ãè² ããªãï¼ 51 51 * 52 * $Id: test_mutex3.c 310 2015-02-08 13:46:46Z ertl-hiro $52 * $Id: test_mutex3.c 738 2016-04-05 14:19:24Z ertl-hiro $ 53 53 */ 54 54 … … 124 124 * assert(rmtx.wtskid == TSK_NONE) 125 125 * act_tsk(TASK2) 126 * 4: tslp_tsk( 10000U) -> E_TMOUT126 * 4: tslp_tsk(TEST_TIME_CP) -> E_TMOUT ... TASK1ãå®è¡åéããã¾ã§ 127 127 * == TASK2ï¼åªå 128 128 度ï¼ä¸ï¼== … … 134 134 * assert(rmtx.wtskid == TASK2) 135 135 * act_tsk(TASK3) 136 * 7: tslp_tsk( 10000U) -> E_TMOUT136 * 7: tslp_tsk(2 * TEST_TIME_CP) -> E_TMOUT ... TASK1ãå®è¡åéããã¾ã§ 137 137 * == TASK3ï¼åªå 138 138 度ï¼é«ï¼== … … 165 165 * assert(rmtx.htskid == TASK2) 166 166 * assert(rmtx.wtskid == TSK_NONE) 167 * tloc_mtx(MTX1, 10000U) -> E_TMOUT ... (D-1) 167 * tloc_mtx(MTX1, 3 * TEST_TIME_CP) -> E_TMOUT ... (D-1) 168 * ... TASK1ãå®è¡åéããã¾ã§ 168 169 * 17: wup_tsk(TASK2) 169 170 * == TASK2ï¼ç¶ãï¼== … … 229 230 230 231 check_point(4); 231 ercd = tslp_tsk( 10000U);232 ercd = tslp_tsk(TEST_TIME_CP); 232 233 check_ercd(ercd, E_TMOUT); 233 234 … … 244 245 245 246 check_point(7); 246 ercd = tslp_tsk( 10000U);247 ercd = tslp_tsk(2 * TEST_TIME_CP); 247 248 check_ercd(ercd, E_TMOUT); 248 249 … … 287 288 check_assert(rmtx.wtskid == TSK_NONE); 288 289 289 ercd = tloc_mtx(MTX1, 10000U);290 ercd = tloc_mtx(MTX1, 3 * TEST_TIME_CP); 290 291 check_ercd(ercd, E_TMOUT); 291 292 -
asp3_wo_tecs/trunk/test/test_mutex5.c
r302 r306 3 3 * Toyohashi Open Platform for Embedded Real-Time Systems 4 4 * 5 * Copyright (C) 2007-201 5by Embedded and Real-Time Systems Laboratory5 * Copyright (C) 2007-2016 by Embedded and Real-Time Systems Laboratory 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 7 * … … 50 50 * ã®è²¬ä»»ãè² ããªãï¼ 51 51 * 52 * $Id: test_mutex5.c 310 2015-02-08 13:46:46Z ertl-hiro $52 * $Id: test_mutex5.c 738 2016-04-05 14:19:24Z ertl-hiro $ 53 53 */ 54 54 … … 431 431 * == TASK5ï¼ç¶ãï¼== 432 432 * 38: loc_mtx(MTX4) 433 * 39: tslp_tsk( 10000U) -> E_TMOUT433 * 39: tslp_tsk(3 * TEST_TIME_CP) -> E_TMOUT ... TASK5ãå®è¡åéããã¾ã§ 434 434 * // ä½ï¼TASK1âTASK2ï¼MTX4ï¼TASK5 435 435 * == TASK1ï¼ç¶ãï¼== … … 1058 1058 1059 1059 check_point(39); 1060 ercd = tslp_tsk( 10000U);1060 ercd = tslp_tsk(3 * TEST_TIME_CP); 1061 1061 check_ercd(ercd, E_TMOUT); 1062 1062 -
asp3_wo_tecs/trunk/test/test_mutex5.h
r302 r306 3 3 * Toyohashi Open Platform for Embedded Real-Time Systems 4 4 * 5 * Copyright (C) 2007-201 4by Embedded and Real-Time Systems Laboratory5 * Copyright (C) 2007-2016 by Embedded and Real-Time Systems Laboratory 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 7 * … … 50 50 * ã®è²¬ä»»ãè² ããªãï¼ 51 51 * 52 * $Id: test_mutex5.h 286 2014-11-29 07:51:11Z ertl-hiro $52 * $Id: test_mutex5.h 740 2016-04-05 15:44:39Z ertl-hiro $ 53 53 */ 54 54 … … 82 82 #endif /* STACK_SIZE */ 83 83 84 #ifndef TEST_TIME_CP 85 #define TEST_TIME_CP 50000U /* ãã§ãã¯ãã¤ã³ãå°éæ 86 å ±ã®åºåæé */ 87 #endif /* TEST_TIME_CP */ 88 89 #ifndef TEST_TIME_PROC 90 #define TEST_TIME_PROC 1000U /* ãã§ãã¯ãã¤ã³ããéããªãå ´åã®æé */ 91 #endif /* TEST_TIME_PROC */ 92 84 93 /* 85 94 * é¢æ°ã®ãããã¿ã¤ãå®£è¨ -
asp3_wo_tecs/trunk/test/test_mutex7.c
r302 r306 3 3 * Toyohashi Open Platform for Embedded Real-Time Systems 4 4 * 5 * Copyright (C) 2008-201 5by Embedded and Real-Time Systems Laboratory5 * Copyright (C) 2008-2016 by Embedded and Real-Time Systems Laboratory 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 7 * … … 50 50 * ã®è²¬ä»»ãè² ããªãï¼ 51 51 * 52 * $Id: test_mutex7.c 310 2015-02-08 13:46:46Z ertl-hiro $52 * $Id: test_mutex7.c 738 2016-04-05 14:19:24Z ertl-hiro $ 53 53 */ 54 54 … … 207 207 * 9: loc_mtx(MTX1) 208 208 * // ä¸ï¼TASK2ï¼ä½ï¼TASK3ï¼MTX1ï¼TASK2 209 * 10: tslp_tsk( 10000U) -> E_TMOUT209 * 10: tslp_tsk(TEST_TIME_CP) -> E_TMOUT ... TASK2-2ãå®è¡åéããã¾ã§ 210 210 * // ä½ï¼TASK3ï¼MTX1ï¼TASK2 211 211 * == TASK3-1ï¼åªå … … 288 288 * loc_mtx(MTX2) 289 289 * // ä¸ï¼TASK2ï¼ä½ï¼TASK3âTASK4ï¼MTX1ï¼TASK2ï¼MTX2ï¼TASK2 290 * 34: tslp_tsk( 10000U) -> E_TMOUT290 * 34: tslp_tsk(2 * TEST_TIME_CP) -> E_TMOUT ... TASK2-5ãå®è¡åéããã¾ã§ 291 291 * // ä½ï¼TASK3âTASK4ï¼MTX1ï¼TASK2ï¼MTX2ï¼TASK2 292 292 * == TASK3-3ï¼åªå … … 582 582 583 583 check_point(10); 584 ercd = tslp_tsk( 10000U);584 ercd = tslp_tsk(TEST_TIME_CP); 585 585 check_ercd(ercd, E_TMOUT); 586 586 … … 625 625 626 626 check_point(34); 627 ercd = tslp_tsk( 10000U);627 ercd = tslp_tsk(2 * TEST_TIME_CP); 628 628 check_ercd(ercd, E_TMOUT); 629 629 -
asp3_wo_tecs/trunk/test/test_mutex7.h
r302 r306 3 3 * Toyohashi Open Platform for Embedded Real-Time Systems 4 4 * 5 * Copyright (C) 2008-201 4by Embedded and Real-Time Systems Laboratory5 * Copyright (C) 2008-2016 by Embedded and Real-Time Systems Laboratory 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 7 * … … 50 50 * ã®è²¬ä»»ãè² ããªãï¼ 51 51 * 52 * $Id: test_mutex7.h 286 2014-11-29 07:51:11Z ertl-hiro $52 * $Id: test_mutex7.h 740 2016-04-05 15:44:39Z ertl-hiro $ 53 53 */ 54 54 … … 82 82 #endif /* STACK_SIZE */ 83 83 84 #ifndef TEST_TIME_CP 85 #define TEST_TIME_CP 50000U /* ãã§ãã¯ãã¤ã³ãå°éæ 86 å ±ã®åºåæé */ 87 #endif /* TEST_TIME_CP */ 88 89 #ifndef TEST_TIME_PROC 90 #define TEST_TIME_PROC 1000U /* ãã§ãã¯ãã¤ã³ããéããªãå ´åã®æé */ 91 #endif /* TEST_TIME_PROC */ 92 84 93 /* 85 94 * é¢æ°ã®ãããã¿ã¤ãå®£è¨ -
asp3_wo_tecs/trunk/test/test_mutex8.c
r302 r306 3 3 * Toyohashi Open Platform for Embedded Real-Time Systems 4 4 * 5 * Copyright (C) 2009-201 5by Embedded and Real-Time Systems Laboratory5 * Copyright (C) 2009-2016 by Embedded and Real-Time Systems Laboratory 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 7 * … … 50 50 * ã®è²¬ä»»ãè² ããªãï¼ 51 51 * 52 * $Id: test_mutex8.c 310 2015-02-08 13:46:46Z ertl-hiro $52 * $Id: test_mutex8.c 738 2016-04-05 14:19:24Z ertl-hiro $ 53 53 */ 54 54 … … 350 350 * == TASK5ï¼ç¶ãï¼== 351 351 * 28: loc_mtx(MTX2) 352 * 29: tslp_tsk( 10000U) -> E_TMOUT352 * 29: tslp_tsk(3 * TEST_TIME_CP) -> E_TMOUT ... TASK5ãå®è¡åéããã¾ã§ 353 353 * == TASK1ï¼ç¶ãï¼== 354 354 * 30: wup_tsk(TASK4) … … 380 380 * == TASK5ï¼ç¶ãï¼== 381 381 * 41: loc_mtx(MTX2) 382 * 42: tslp_tsk( 10000U) -> E_TMOUT382 * 42: tslp_tsk(2 * TEST_TIME_CP) -> E_TMOUT ... TASK5ãå®è¡åéããã¾ã§ 383 383 * == TASK1ï¼ç¶ãï¼== 384 384 * 43: loc_mtx(MTX2) … … 412 412 * == TASK5ï¼ç¶ãï¼== 413 413 * 55: loc_mtx(MTX2) 414 * 56: tslp_tsk( 10000U) -> E_TMOUT414 * 56: tslp_tsk(6 * TEST_TIME_CP) -> E_TMOUT ... TASK5ãå®è¡åéããã¾ã§ 415 415 * // ä¸ï¼TASK1ï¼MTX1ï¼TASK1ï¼MTX2ï¼TASK5 416 416 * == TASK1ï¼ç¶ãï¼== … … 784 784 785 785 check_point(29); 786 ercd = tslp_tsk( 10000U);786 ercd = tslp_tsk(3 * TEST_TIME_CP); 787 787 check_ercd(ercd, E_TMOUT); 788 788 … … 804 804 805 805 check_point(42); 806 ercd = tslp_tsk( 10000U);806 ercd = tslp_tsk(2 * TEST_TIME_CP); 807 807 check_ercd(ercd, E_TMOUT); 808 808 … … 824 824 825 825 check_point(56); 826 ercd = tslp_tsk( 10000U);826 ercd = tslp_tsk(6 * TEST_TIME_CP); 827 827 check_ercd(ercd, E_TMOUT); 828 828 -
asp3_wo_tecs/trunk/test/test_mutex8.h
r302 r306 3 3 * Toyohashi Open Platform for Embedded Real-Time Systems 4 4 * 5 * Copyright (C) 2009-201 4by Embedded and Real-Time Systems Laboratory5 * Copyright (C) 2009-2016 by Embedded and Real-Time Systems Laboratory 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 7 * … … 50 50 * ã®è²¬ä»»ãè² ããªãï¼ 51 51 * 52 * $Id: test_mutex8.h 286 2014-11-29 07:51:11Z ertl-hiro $52 * $Id: test_mutex8.h 740 2016-04-05 15:44:39Z ertl-hiro $ 53 53 */ 54 54 … … 82 82 #endif /* STACK_SIZE */ 83 83 84 #ifndef TEST_TIME_CP 85 #define TEST_TIME_CP 50000U /* ãã§ãã¯ãã¤ã³ãå°éæ 86 å ±ã®åºåæé */ 87 #endif /* TEST_TIME_CP */ 88 89 #ifndef TEST_TIME_PROC 90 #define TEST_TIME_PROC 1000U /* ãã§ãã¯ãã¤ã³ããéããªãå ´åã®æé */ 91 #endif /* TEST_TIME_PROC */ 92 84 93 /* 85 94 * é¢æ°ã®ãããã¿ã¤ãå®£è¨ -
asp3_wo_tecs/trunk/test/test_notify1.c
r302 r306 3 3 * Toyohashi Open Platform for Embedded Real-Time Systems 4 4 * 5 * Copyright (C) 2015 by Embedded and Real-Time Systems Laboratory5 * Copyright (C) 2015-2016 by Embedded and Real-Time Systems Laboratory 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 7 * … … 50 50 * ã®è²¬ä»»ãè² ããªãï¼ 51 51 * 52 * $Id: test_notify1.c 463 2015-10-18 14:25:55Z ertl-hiro $52 * $Id: test_notify1.c 738 2016-04-05 14:19:24Z ertl-hiro $ 53 53 */ 54 54 … … 119 119 * 120 120 * == TASK1 == 121 * 1: sta_alm(ALM1, ALM_RELTIM)121 * 1: sta_alm(ALM1, TEST_TIME_PROC) ... ref_almã§åä½ç¢ºèªããã¾ã§ 122 122 * assert(event_variable == false) 123 123 * ref_alm(ALM1, &ralm) … … 126 126 * 2: ref_alm(ALM1, &ralm) 127 127 * assert((ralm.almstat & TALM_STP) != 0U) 128 * 3: sta_alm(ALM2, ALM_RELTIM)128 * 3: sta_alm(ALM2, TEST_TIME_CP) ... TASK2-1ãå®è¡éå§ããã¾ã§ 129 129 * ref_tsk(TASK2, &rtsk) 130 130 * assert((rtsk.tskstat & TTS_DMT) != 0U) … … 137 137 * 6: wup_tsk(TASK1) 138 138 * == TASK1ï¼ç¶ãï¼== 139 * 7: sta_alm(ALM3, ALM_RELTIM)139 * 7: sta_alm(ALM3, TEST_TIME_CP) ... TASK2-1ãå®è¡åéããã¾ã§ 140 140 * ref_tsk(TASK2, &rtsk) 141 141 * assert((rtsk.tskstat & TTS_RDY) != 0U) … … 149 149 * 11: wup_tsk(TASK1) 150 150 * == TASK1ï¼ç¶ãï¼== 151 * 12: dly_tsk( 1000U)151 * 12: dly_tsk(TEST_TIME_CP) ... TASK1ãå®è¡åéããã¾ã§ 152 152 * == TASK2-1ï¼ç¶ãï¼== 153 153 * 13: ext_tsk() 154 154 * == TASK1ï¼ç¶ãï¼== 155 * 14: sta_alm(ALM3, ALM_RELTIM)155 * 14: sta_alm(ALM3, TEST_TIME_PROC) ... ããã«çºçãã¦ãè¯ã 156 156 * DO(wait_error()) ... (B-1) 157 157 * assert(error_variable == E_OBJ) 158 * 15: sta_alm(ALM4, ALM_RELTIM)158 * 15: sta_alm(ALM4, TEST_TIME_PROC) ... ref_almã§åä½ç¢ºèªããã¾ã§ 159 159 * ref_sem(SEM1, &rsem) 160 160 * assert(rsem.semcnt == 0U) 161 161 * ref_alm(ALM4, &ralm) 162 162 * assert((ralm.almstat & TALM_STA) != 0U) 163 * 16: dly_tsk( ALM_RELTIM * 2)163 * 16: dly_tsk(2 * TEST_TIME_PROC) ... ALM4ãå®è¡ãããã¾ã§ 164 164 * 17: ref_sem(SEM1, &rsem) ... (A-5) 165 165 * assert(rsem.semcnt == 1U) 166 166 * ref_alm(ALM4, &ralm) 167 167 * assert((ralm.almstat & TALM_STP) != 0U) 168 * 18: sta_alm(ALM4, ALM_RELTIM)168 * 18: sta_alm(ALM4, TEST_TIME_CP) ... TASK2-2ãå®è¡éå§ããã¾ã§ 169 169 * 19: slp_tsk() 170 170 * == TASK2-2ï¼2åç®ï¼== … … 172 172 * == TASK1ï¼ç¶ãï¼== 173 173 * 21: pol_sem(SEM1) 174 * 22: sta_alm(ALM5, ALM_RELTIM)174 * 22: sta_alm(ALM5, 2 * TEST_TIME_CP) ... TASK1ãå®è¡éå§ããã¾ã§ 175 175 * ref_flg(FLG1, &rflg) 176 176 * assert(rflg.flgptn == 0x00U) … … 184 184 * ref_alm(ALM5, &ralm) 185 185 * assert((ralm.almstat & TALM_STP) != 0U) 186 * 26: sta_alm(ALM6, ALM_RELTIM)186 * 26: sta_alm(ALM6, TEST_TIME_CP) ... ref_almã§åä½ç¢ºèªããã¾ã§ 187 187 * ref_dtq(DTQ1, &rdtq) 188 188 * assert(rdtq.sdtqcnt == 0U) 189 189 * ref_alm(ALM6, &ralm) 190 190 * assert((ralm.almstat & TALM_STA) != 0U) 191 * 27: dly_tsk( ALM_RELTIM * 2)191 * 27: dly_tsk(2 * TEST_TIME_CP) ... ALM6ãå®è¡ãããã¾ã§ 192 192 * 28: ref_dtq(DTQ1, &rdtq) ... (A-7) 193 193 * assert(rdtq.sdtqcnt == 1U) 194 194 * ref_alm(ALM6, &ralm) 195 195 * assert((ralm.almstat & TALM_STP) != 0U) 196 * 29: sta_alm(ALM6, ALM_RELTIM)196 * 29: sta_alm(ALM6, TEST_TIME_CP) ... TASK2-2ãå®è¡éå§ããã¾ã§ 197 197 * 30: slp_tsk() 198 198 * == TASK2-2ï¼ç¶ãï¼== … … 202 202 * assert(data == 0x01) 203 203 * 33: act_tsk(TASK2) 204 * sta_alm(ALM7, ALM_RELTIM)204 * sta_alm(ALM7, 2 * TEST_TIME_CP) ... TASK1ãå®è¡éå§ããã¾ã§ 205 205 * ref_sem(SEM1, &rsem) 206 206 * assert(rsem.semcnt == 0U) … … 213 213 * 36: ref_alm(ALM7, &ralm) 214 214 * assert((ralm.almstat & TALM_STP) != 0U) 215 * 37: sta_alm(ALM8, ALM_RELTIM) 215 * 37: sta_alm(ALM8, TEST_TIME_CP) ... wai_flgã§å¾ 216 ã¡ã«å 217 ¥ãã¾ã§ 216 218 * ref_flg(FLG1, &rflg) 217 219 * assert(rflg.flgptn == 0x01U) … … 222 224 * ref_alm(ALM8, &ralm) 223 225 * assert((ralm.almstat & TALM_STP) != 0U) 224 * 40: sta_alm(ALM9, ALM_RELTIM) 225 * 41: ref_dtq(DTQ1, &rdtq) 226 * 40: sta_alm(ALM9, TEST_TIME_CP) ... rcv_dtqã§å¾ 227 ã¡ã«å 228 ¥ãã¾ã§ 229 * ref_dtq(DTQ1, &rdtq) 226 230 * assert(rdtq.sdtqcnt == 0U) 227 231 * ref_alm(ALM9, &ralm) 228 232 * assert((ralm.almstat & TALM_STA) != 0U) 229 * 4 2: rcv_dtq(DTQ1, &data) ... (B-7)230 * 4 3: assert(data == E_QOVR)233 * 41: rcv_dtq(DTQ1, &data) ... (B-7) 234 * 42: assert(data == E_QOVR) 231 235 * ref_alm(ALM9, &ralm) 232 236 * assert((ralm.almstat & TALM_STP) != 0U) 233 * 4 4: sta_alm(ALM10, ALM_RELTIM)234 * 4 5: assert(count_variable == 1)237 * 43: sta_alm(ALM10, TEST_TIME_CP) ... ref_almã§åä½ç¢ºèªããã¾ã§ 238 * 44: assert(count_variable == 1) 235 239 * ref_alm(ALM10, &ralm) 236 240 * assert((ralm.almstat & TALM_STA) != 0U) 237 241 * DO(wait_count(1)) ... (A-2) 238 * 4 6: ref_alm(ALM10, &ralm)239 * assert((ralm.almstat & TALM_STP) != 0U) 240 * 4 7: sta_alm(ALM11, ALM_RELTIM)241 * 4 8: assert(count_variable == 2)242 * 45: ref_alm(ALM10, &ralm) 243 * assert((ralm.almstat & TALM_STP) != 0U) 244 * 46: sta_alm(ALM11, TEST_TIME_CP) ... ref_almã§åä½ç¢ºèªããã¾ã§ 245 * 47: assert(count_variable == 2) 242 246 * ref_alm(ALM11, &ralm) 243 247 * assert((ralm.almstat & TALM_STA) != 0U) 244 248 * DO(wait_count(2)) ... (B-2) 245 * 4 9: ref_alm(ALM9, &ralm)246 * assert((ralm.almstat & TALM_STP) != 0U) 247 * 50: END249 * 48: ref_alm(ALM9, &ralm) 250 * assert((ralm.almstat & TALM_STP) != 0U) 251 * 49: END 248 252 */ 249 253 … … 281 285 task1(intptr_t exinf) 282 286 { 283 T_RTSK rtsk;284 T_RDTQ rdtq;285 T_RFLG rflg;286 intptr_t data;287 FLGPTN flgptn;288 287 ER_UINT ercd; 289 288 T_RALM ralm; 289 T_RTSK rtsk; 290 290 T_RSEM rsem; 291 T_RFLG rflg; 292 FLGPTN flgptn; 293 T_RDTQ rdtq; 294 intptr_t data; 291 295 292 296 test_start(__FILE__); 293 297 294 298 check_point(1); 295 ercd = sta_alm(ALM1, ALM_RELTIM);299 ercd = sta_alm(ALM1, TEST_TIME_PROC); 296 300 check_ercd(ercd, E_OK); 297 301 … … 312 316 313 317 check_point(3); 314 ercd = sta_alm(ALM2, ALM_RELTIM);318 ercd = sta_alm(ALM2, TEST_TIME_CP); 315 319 check_ercd(ercd, E_OK); 316 320 … … 330 334 331 335 check_point(7); 332 ercd = sta_alm(ALM3, ALM_RELTIM);336 ercd = sta_alm(ALM3, TEST_TIME_CP); 333 337 check_ercd(ercd, E_OK); 334 338 … … 348 352 349 353 check_point(12); 350 ercd = dly_tsk( 1000U);354 ercd = dly_tsk(TEST_TIME_CP); 351 355 check_ercd(ercd, E_OK); 352 356 353 357 check_point(14); 354 ercd = sta_alm(ALM3, ALM_RELTIM);358 ercd = sta_alm(ALM3, TEST_TIME_PROC); 355 359 check_ercd(ercd, E_OK); 356 360 … … 360 364 361 365 check_point(15); 362 ercd = sta_alm(ALM4, ALM_RELTIM);366 ercd = sta_alm(ALM4, TEST_TIME_PROC); 363 367 check_ercd(ercd, E_OK); 364 368 … … 374 378 375 379 check_point(16); 376 ercd = dly_tsk( ALM_RELTIM * 2);380 ercd = dly_tsk(2 * TEST_TIME_PROC); 377 381 check_ercd(ercd, E_OK); 378 382 … … 389 393 390 394 check_point(18); 391 ercd = sta_alm(ALM4, ALM_RELTIM);395 ercd = sta_alm(ALM4, TEST_TIME_CP); 392 396 check_ercd(ercd, E_OK); 393 397 … … 401 405 402 406 check_point(22); 403 ercd = sta_alm(ALM5, ALM_RELTIM);407 ercd = sta_alm(ALM5, 2 * TEST_TIME_CP); 404 408 check_ercd(ercd, E_OK); 405 409 … … 427 431 428 432 check_point(26); 429 ercd = sta_alm(ALM6, ALM_RELTIM);433 ercd = sta_alm(ALM6, TEST_TIME_CP); 430 434 check_ercd(ercd, E_OK); 431 435 … … 441 445 442 446 check_point(27); 443 ercd = dly_tsk( ALM_RELTIM * 2);447 ercd = dly_tsk(2 * TEST_TIME_CP); 444 448 check_ercd(ercd, E_OK); 445 449 … … 456 460 457 461 check_point(29); 458 ercd = sta_alm(ALM6, ALM_RELTIM);462 ercd = sta_alm(ALM6, TEST_TIME_CP); 459 463 check_ercd(ercd, E_OK); 460 464 … … 473 477 check_ercd(ercd, E_OK); 474 478 475 ercd = sta_alm(ALM7, ALM_RELTIM);479 ercd = sta_alm(ALM7, 2 * TEST_TIME_CP); 476 480 check_ercd(ercd, E_OK); 477 481 … … 497 501 498 502 check_point(37); 499 ercd = sta_alm(ALM8, ALM_RELTIM);503 ercd = sta_alm(ALM8, TEST_TIME_CP); 500 504 check_ercd(ercd, E_OK); 501 505 … … 523 527 524 528 check_point(40); 525 ercd = sta_alm(ALM9, ALM_RELTIM); 526 check_ercd(ercd, E_OK); 529 ercd = sta_alm(ALM9, TEST_TIME_CP); 530 check_ercd(ercd, E_OK); 531 532 ercd = ref_dtq(DTQ1, &rdtq); 533 check_ercd(ercd, E_OK); 534 535 check_assert(rdtq.sdtqcnt == 0U); 536 537 ercd = ref_alm(ALM9, &ralm); 538 check_ercd(ercd, E_OK); 539 540 check_assert((ralm.almstat & TALM_STA) != 0U); 527 541 528 542 check_point(41); 529 ercd = ref_dtq(DTQ1, &rdtq); 530 check_ercd(ercd, E_OK); 531 532 check_assert(rdtq.sdtqcnt == 0U); 543 ercd = rcv_dtq(DTQ1, &data); 544 check_ercd(ercd, E_OK); 545 546 check_point(42); 547 check_assert(data == E_QOVR); 533 548 534 549 ercd = ref_alm(ALM9, &ralm); 535 550 check_ercd(ercd, E_OK); 536 551 537 check_assert((ralm.almstat & TALM_STA) != 0U); 538 539 check_point(42); 540 ercd = rcv_dtq(DTQ1, &data); 541 check_ercd(ercd, E_OK); 552 check_assert((ralm.almstat & TALM_STP) != 0U); 542 553 543 554 check_point(43); 544 check_assert(data == E_QOVR); 545 555 ercd = sta_alm(ALM10, TEST_TIME_CP); 556 check_ercd(ercd, E_OK); 557 558 check_point(44); 559 check_assert(count_variable == 1); 560 561 ercd = ref_alm(ALM10, &ralm); 562 check_ercd(ercd, E_OK); 563 564 check_assert((ralm.almstat & TALM_STA) != 0U); 565 566 wait_count(1); 567 568 check_point(45); 569 ercd = ref_alm(ALM10, &ralm); 570 check_ercd(ercd, E_OK); 571 572 check_assert((ralm.almstat & TALM_STP) != 0U); 573 574 check_point(46); 575 ercd = sta_alm(ALM11, TEST_TIME_CP); 576 check_ercd(ercd, E_OK); 577 578 check_point(47); 579 check_assert(count_variable == 2); 580 581 ercd = ref_alm(ALM11, &ralm); 582 check_ercd(ercd, E_OK); 583 584 check_assert((ralm.almstat & TALM_STA) != 0U); 585 586 wait_count(2); 587 588 check_point(48); 546 589 ercd = ref_alm(ALM9, &ralm); 547 590 check_ercd(ercd, E_OK); … … 549 592 check_assert((ralm.almstat & TALM_STP) != 0U); 550 593 551 check_point(44); 552 ercd = sta_alm(ALM10, ALM_RELTIM); 553 check_ercd(ercd, E_OK); 554 555 check_point(45); 556 check_assert(count_variable == 1); 557 558 ercd = ref_alm(ALM10, &ralm); 559 check_ercd(ercd, E_OK); 560 561 check_assert((ralm.almstat & TALM_STA) != 0U); 562 563 wait_count(1); 564 565 check_point(46); 566 ercd = ref_alm(ALM10, &ralm); 567 check_ercd(ercd, E_OK); 568 569 check_assert((ralm.almstat & TALM_STP) != 0U); 570 571 check_point(47); 572 ercd = sta_alm(ALM11, ALM_RELTIM); 573 check_ercd(ercd, E_OK); 574 575 check_point(48); 576 check_assert(count_variable == 2); 577 578 ercd = ref_alm(ALM11, &ralm); 579 check_ercd(ercd, E_OK); 580 581 check_assert((ralm.almstat & TALM_STA) != 0U); 582 583 wait_count(2); 584 585 check_point(49); 586 ercd = ref_alm(ALM9, &ralm); 587 check_ercd(ercd, E_OK); 588 589 check_assert((ralm.almstat & TALM_STP) != 0U); 590 591 check_finish(50); 594 check_finish(49); 592 595 check_point(0); 593 596 } -
asp3_wo_tecs/trunk/test/test_notify1.h
r302 r306 3 3 * Toyohashi Open Platform for Embedded Real-Time Systems 4 4 * 5 * Copyright (C) 2015 by Embedded and Real-Time Systems Laboratory5 * Copyright (C) 2015-2016 by Embedded and Real-Time Systems Laboratory 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 7 * … … 50 50 * ã®è²¬ä»»ãè² ããªãï¼ 51 51 * 52 * $Id: test_notify1.h 463 2015-10-18 14:25:55Z ertl-hiro $52 * $Id: test_notify1.h 737 2016-04-05 13:11:23Z ertl-hiro $ 53 53 */ 54 54 … … 82 82 #endif /* STACK_SIZE */ 83 83 84 #ifndef ALM_RELTIM 85 #define ALM_RELTIM 5000U /* ã¢ã©ã¼ã ãã³ãã©ã«ä»æããç¸å¯¾æé */ 86 #endif /* ALM_RELTIM */ 84 #ifndef TEST_TIME_CP 85 #define TEST_TIME_CP 50000U /* ãã§ãã¯ãã¤ã³ãå°éæ 86 å ±ã®åºåæé */ 87 #endif /* TEST_TIME_CP */ 88 89 #ifndef TEST_TIME_PROC 90 #define TEST_TIME_PROC 1000U /* ãã§ãã¯ãã¤ã³ããéããªãå ´åã®æé */ 91 #endif /* TEST_TIME_PROC */ 87 92 88 93 #define E_INVALID (-1) /* ã¨ã©ã¼ã³ã¼ãã¨ãã¦ç¡å¹ãªå¤ */ -
asp3_wo_tecs/trunk/test/test_raster1.c
r302 r306 3 3 * Toyohashi Open Platform for Embedded Real-Time Systems 4 4 * 5 * Copyright (C) 2014-201 5by Embedded and Real-Time Systems Laboratory5 * Copyright (C) 2014-2016 by Embedded and Real-Time Systems Laboratory 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 7 * … … 50 50 * ã®è²¬ä»»ãè² ããªãï¼ 51 51 * 52 * $Id: test_raster1.c 453 2015-08-15 23:05:31Z ertl-hiro $52 * $Id: test_raster1.c 738 2016-04-05 14:19:24Z ertl-hiro $ 53 53 */ 54 54 … … 158 158 * call(set_bit_func(bit_kernel)) 159 159 * 1: act_tsk(TASK2) 160 * sta_alm(ALM1, 10000U)160 * sta_alm(ALM1, TEST_TIME_CP) ... ALM1ãå®è¡éå§ããã¾ã§ 161 161 * slp_tsk() 162 162 * == TASK2-1ï¼1åç®ï¼== … … 181 181 * 9: act_tsk(TASK3) 182 182 * == TASK3-1ï¼1åç®ï¼== 183 * 10: tloc_mtx(MTX1, 10000U)183 * 10: tloc_mtx(MTX1, 3 * TEST_TIME_CP) ... ras_terãããã¾ã§ 184 184 * 11: slp_tsk() 185 185 * == TASK1ï¼ç¶ãï¼== … … 263 263 * assert(rtsk.raster == false) ... (E-1) 264 264 * assert(rtsk.dister == false) ... (E-2)(G-4) 265 * tslp_tsk( 10000U) -> E_TMOUT265 * tslp_tsk(TEST_TIME_CP) -> E_TMOUT ... TASK1ãå®è¡åéããã¾ã§ 266 266 * == TASK2-3ï¼3åç®ï¼== 267 267 * 41: dis_ter() … … 364 364 check_ercd(ercd, E_OK); 365 365 366 ercd = sta_alm(ALM1, 10000U);366 ercd = sta_alm(ALM1, TEST_TIME_CP); 367 367 check_ercd(ercd, E_OK); 368 368 … … 563 563 check_assert(rtsk.dister == false); 564 564 565 ercd = tslp_tsk( 10000U);565 ercd = tslp_tsk(TEST_TIME_CP); 566 566 check_ercd(ercd, E_TMOUT); 567 567 … … 696 696 case 1: 697 697 check_point(10); 698 ercd = tloc_mtx(MTX1, 10000U);698 ercd = tloc_mtx(MTX1, 3 * TEST_TIME_CP); 699 699 check_ercd(ercd, E_OK); 700 700 -
asp3_wo_tecs/trunk/test/test_raster1.h
r302 r306 3 3 * Toyohashi Open Platform for Embedded Real-Time Systems 4 4 * 5 * Copyright (C) 2014 by Embedded and Real-Time Systems Laboratory5 * Copyright (C) 2014-2016 by Embedded and Real-Time Systems Laboratory 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 7 * … … 50 50 * ã®è²¬ä»»ãè² ããªãï¼ 51 51 * 52 * $Id: test_raster1.h 286 2014-11-29 07:51:11Z ertl-hiro $52 * $Id: test_raster1.h 737 2016-04-05 13:11:23Z ertl-hiro $ 53 53 */ 54 54 … … 84 84 #endif /* STACK_SIZE */ 85 85 86 #ifndef TEST_TIME_CP 87 #define TEST_TIME_CP 50000U /* ãã§ãã¯ãã¤ã³ãå°éæ 88 å ±ã®åºåæé */ 89 #endif /* TEST_TIME_CP */ 90 91 #ifndef TEST_TIME_PROC 92 #define TEST_TIME_PROC 1000U /* ãã§ãã¯ãã¤ã³ããéããªãå ´åã®æé */ 93 #endif /* TEST_TIME_PROC */ 94 86 95 /* 87 96 * é¢æ°ã®ãããã¿ã¤ãå®£è¨ -
asp3_wo_tecs/trunk/test/test_raster2.c
r305 r306 3 3 * Toyohashi Open Platform for Embedded Real-Time Systems 4 4 * 5 * Copyright (C) 2014-201 5by Embedded and Real-Time Systems Laboratory5 * Copyright (C) 2014-2016 by Embedded and Real-Time Systems Laboratory 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 7 * … … 50 50 * ã®è²¬ä»»ãè² ããªãï¼ 51 51 * 52 * $Id: test_raster2.c 603 2016-02-07 12:42:10Z ertl-hiro $52 * $Id: test_raster2.c 740 2016-04-05 15:44:39Z ertl-hiro $ 53 53 */ 54 54 … … 123 123 ããä¼æ¢ç¶æ 124 124 ã«ï¼»NGKI1178ï¼½ 125 * ASP ã«ã¼ãã«ã«é©ç¨ãããªãè¦æ±ï¼125 * ASP3ã«ã¼ãã«ã«é©ç¨ãããªãè¦æ±ï¼ 126 126 * ï¼»NGKI3764][NGKI3765][NGKI3497ï¼½ 127 127 * … … 140 140 * 141 141 * == TASK1 == 142 * 1: sta_alm(ALM1, 10000U)142 * 1: sta_alm(ALM1, TEST_TIME_PROC) ... ALM1-1ãå®è¡éå§ããã¾ã§ 143 143 * slp_tsk() 144 144 * == ALM1-1ï¼1åç®ï¼== … … 173 173 * == TASK1ï¼ç¶ãï¼== 174 174 * 8: ras_ter(TASK2) 175 * tslp_tsk( 10000U) -> E_TMOUT175 * tslp_tsk(TEST_TIME_CP) -> E_TMOUT ... TASK1ãå®è¡åéããã¾ã§ 176 176 * == TASK2-1ï¼ç¶ãï¼== 177 177 * 9: ena_ter() ... (E-1) … … 223 223 * == TASK1ï¼ç¶ãï¼== 224 224 * 24: ras_ter(TASK2) 225 * tslp_tsk( 10000U) -> E_TMOUT225 * tslp_tsk(2 * TEST_TIME_CP) -> E_TMOUT ... TASK1ãå®è¡åéããã¾ã§ 226 226 * == TASK2-4ï¼ç¶ãï¼== 227 227 * 25: ena_ter() ... (F-3) … … 230 230 * DO(while(true)) 231 231 * == TASK1ï¼ç¶ãï¼== 232 * 27: sta_alm(ALM1, 10000U)232 * 27: sta_alm(ALM1, TEST_TIME_PROC) ... ALM1-2ãå®è¡éå§ããã¾ã§ 233 233 * slp_tsk() 234 234 * == ALM1-2ï¼2åç®ï¼== … … 239 239 * 29: ter_tsk(TASK2) 240 240 * act_tsk(TASK2) 241 * tslp_tsk( 10000U) -> E_TMOUT241 * tslp_tsk(TEST_TIME_CP) -> E_TMOUT ... TASK1ãå®è¡åéããã¾ã§ 242 242 * == TASK2-6ï¼6åç®ï¼== 243 243 * 30: ena_ter() 244 244 * DO(while(true)) 245 245 * == TASK1ï¼ç¶ãï¼== 246 * 31: sta_alm(ALM1, 10000U)246 * 31: sta_alm(ALM1, TEST_TIME_PROC) ... ALM1-3ãå®è¡éå§ããã¾ã§ 247 247 * slp_tsk() 248 248 * == ALM1-3ï¼3åç®ï¼== … … 259 259 * == TASK1ï¼ç¶ãï¼== 260 260 * 35: ras_ter(TASK2) 261 * tslp_tsk( 10000U) -> E_TMOUT261 * tslp_tsk(TEST_TIME_CP) -> E_TMOUT ... TASK1ãå®è¡åéããã¾ã§ 262 262 * == TASK2-7ï¼ç¶ãï¼== 263 263 * 36: dis_dsp() … … 274 274 * == TASK1ï¼ç¶ãï¼== 275 275 * 40: ras_ter(TASK2) 276 * tslp_tsk( 10000U) -> E_TMOUT276 * tslp_tsk(TEST_TIME_CP) -> E_TMOUT ... TASK1ãå®è¡åéããã¾ã§ 277 277 * == TASK2-8ï¼ç¶ãï¼== 278 278 * 41: chg_ipm(TMAX_INTPRI) … … 355 355 356 356 check_point(1); 357 ercd = sta_alm(ALM1, 10000U);357 ercd = sta_alm(ALM1, TEST_TIME_PROC); 358 358 check_ercd(ercd, E_OK); 359 359 … … 417 417 check_ercd(ercd, E_OK); 418 418 419 ercd = tslp_tsk( 10000U);419 ercd = tslp_tsk(TEST_TIME_CP); 420 420 check_ercd(ercd, E_TMOUT); 421 421 … … 486 486 check_ercd(ercd, E_OK); 487 487 488 ercd = tslp_tsk( 10000U);488 ercd = tslp_tsk(2 * TEST_TIME_CP); 489 489 check_ercd(ercd, E_TMOUT); 490 490 491 491 check_point(27); 492 ercd = sta_alm(ALM1, 10000U);492 ercd = sta_alm(ALM1, TEST_TIME_PROC); 493 493 check_ercd(ercd, E_OK); 494 494 … … 503 503 check_ercd(ercd, E_OK); 504 504 505 ercd = tslp_tsk( 10000U);505 ercd = tslp_tsk(TEST_TIME_CP); 506 506 check_ercd(ercd, E_TMOUT); 507 507 508 508 check_point(31); 509 ercd = sta_alm(ALM1, 10000U);509 ercd = sta_alm(ALM1, TEST_TIME_PROC); 510 510 check_ercd(ercd, E_OK); 511 511 … … 527 527 check_ercd(ercd, E_OK); 528 528 529 ercd = tslp_tsk( 10000U);529 ercd = tslp_tsk(TEST_TIME_CP); 530 530 check_ercd(ercd, E_TMOUT); 531 531 … … 547 547 check_ercd(ercd, E_OK); 548 548 549 ercd = tslp_tsk( 10000U);549 ercd = tslp_tsk(TEST_TIME_CP); 550 550 check_ercd(ercd, E_TMOUT); 551 551 -
asp3_wo_tecs/trunk/test/test_raster2.h
r302 r306 3 3 * Toyohashi Open Platform for Embedded Real-Time Systems 4 4 * 5 * Copyright (C) 2014 by Embedded and Real-Time Systems Laboratory5 * Copyright (C) 2014-2016 by Embedded and Real-Time Systems Laboratory 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 7 * … … 50 50 * ã®è²¬ä»»ãè² ããªãï¼ 51 51 * 52 * $Id: test_raster2.h 286 2014-11-29 07:51:11Z ertl-hiro $52 * $Id: test_raster2.h 737 2016-04-05 13:11:23Z ertl-hiro $ 53 53 */ 54 54 … … 82 82 #endif /* STACK_SIZE */ 83 83 84 #ifndef TEST_TIME_CP 85 #define TEST_TIME_CP 50000U /* ãã§ãã¯ãã¤ã³ãå°éæ 86 å ±ã®åºåæé */ 87 #endif /* TEST_TIME_CP */ 88 89 #ifndef TEST_TIME_PROC 90 #define TEST_TIME_PROC 1000U /* ãã§ãã¯ãã¤ã³ããéããªãå ´åã®æé */ 91 #endif /* TEST_TIME_PROC */ 92 84 93 /* 85 94 * é¢æ°ã®ãããã¿ã¤ãå®£è¨ -
asp3_wo_tecs/trunk/test/test_sem1.c
r302 r306 3 3 * Toyohashi Open Platform for Embedded Real-Time Systems 4 4 * 5 * Copyright (C) 2008-201 5by Embedded and Real-Time Systems Laboratory5 * Copyright (C) 2008-2016 by Embedded and Real-Time Systems Laboratory 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 7 * … … 50 50 * ã®è²¬ä»»ãè² ããªãï¼ 51 51 * 52 * $Id: test_sem1.c 310 2015-02-08 13:46:46Z ertl-hiro $52 * $Id: test_sem1.c 738 2016-04-05 14:19:24Z ertl-hiro $ 53 53 */ 54 54 … … 187 187 * assert(rsem.wtskid == TSK_NONE) 188 188 * assert(rsem.semcnt == 0) 189 * 7: sta_alm(ALM1, 10000U)189 * 7: sta_alm(ALM1, TEST_TIME_CP) ... ALM1ãå®è¡éå§ããã¾ã§ 190 190 * 8: wai_sem(SEM1) ... (G-1) 191 191 * == ALM1 == … … 242 242 * assert(rsem.wtskid == TSK_NONE) 243 243 * assert(rsem.semcnt == 2) 244 * 39: tslp_tsk( 10000U) -> E_TMOUT244 * 39: tslp_tsk(TEST_TIME_CP) -> E_TMOUT ... TASK1ãå®è¡åéããã¾ã§ 245 245 * == TASK3ï¼ç¶ãï¼== 246 246 * 40: wai_sem(SEM3) ... (G-4) … … 262 262 * == TASK1ï¼ç¶ãï¼== 263 263 * 48: sig_sem(SEM3) ... (B-4) 264 * 49: tslp_tsk( 10000U) -> E_TMOUT264 * 49: tslp_tsk(TEST_TIME_CP) -> E_TMOUT ... TASK1ãå®è¡åéããã¾ã§ 265 265 * == TASK4ï¼ç¶ãï¼== 266 266 * 50: ext_tsk() -> noreturn 267 267 * == TASK1ï¼ç¶ãï¼== 268 268 * 51: sig_sem(SEM3) ... (B-4) 269 * 52: tslp_tsk( 10000U) -> E_TMOUT269 * 52: tslp_tsk(TEST_TIME_CP) -> E_TMOUT ... TASK1ãå®è¡åéããã¾ã§ 270 270 * == TASK5ï¼ç¶ãï¼== 271 271 * 53: ext_tsk() -> noreturn 272 272 * == TASK1ï¼ç¶ãï¼== 273 273 * 54: sig_sem(SEM3) ... (B-4) 274 * 55: tslp_tsk( 10000U) -> E_TMOUT274 * 55: tslp_tsk(TEST_TIME_CP) -> E_TMOUT ... TASK1ãå®è¡åéããã¾ã§ 275 275 * == TASK3ï¼ç¶ãï¼== 276 276 * 56: ext_tsk() -> noreturn … … 488 488 489 489 check_point(39); 490 ercd = tslp_tsk( 10000U);490 ercd = tslp_tsk(TEST_TIME_CP); 491 491 check_ercd(ercd, E_TMOUT); 492 492 … … 512 512 513 513 check_point(49); 514 ercd = tslp_tsk( 10000U);514 ercd = tslp_tsk(TEST_TIME_CP); 515 515 check_ercd(ercd, E_TMOUT); 516 516 … … 520 520 521 521 check_point(52); 522 ercd = tslp_tsk( 10000U);522 ercd = tslp_tsk(TEST_TIME_CP); 523 523 check_ercd(ercd, E_TMOUT); 524 524 … … 528 528 529 529 check_point(55); 530 ercd = tslp_tsk( 10000U);530 ercd = tslp_tsk(TEST_TIME_CP); 531 531 check_ercd(ercd, E_TMOUT); 532 532 … … 621 621 622 622 check_point(7); 623 ercd = sta_alm(ALM1, 10000U);623 ercd = sta_alm(ALM1, TEST_TIME_CP); 624 624 check_ercd(ercd, E_OK); 625 625 -
asp3_wo_tecs/trunk/test/test_sem1.h
r302 r306 3 3 * Toyohashi Open Platform for Embedded Real-Time Systems 4 4 * 5 * Copyright (C) 2008-201 4by Embedded and Real-Time Systems Laboratory5 * Copyright (C) 2008-2016 by Embedded and Real-Time Systems Laboratory 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 7 * … … 50 50 * ã®è²¬ä»»ãè² ããªãï¼ 51 51 * 52 * $Id: test_sem1.h 286 2014-11-29 07:51:11Z ertl-hiro $52 * $Id: test_sem1.h 737 2016-04-05 13:11:23Z ertl-hiro $ 53 53 */ 54 54 … … 82 82 #endif /* STACK_SIZE */ 83 83 84 #ifndef TEST_TIME_CP 85 #define TEST_TIME_CP 50000U /* ãã§ãã¯ãã¤ã³ãå°éæ 86 å ±ã®åºåæé */ 87 #endif /* TEST_TIME_CP */ 88 89 #ifndef TEST_TIME_PROC 90 #define TEST_TIME_PROC 1000U /* ãã§ãã¯ãã¤ã³ããéããªãå ´åã®æé */ 91 #endif /* TEST_TIME_PROC */ 92 84 93 /* 85 94 * é¢æ°ã®ãããã¿ã¤ãå®£è¨ -
asp3_wo_tecs/trunk/test/test_sem2.c
r302 r306 3 3 * Toyohashi Open Platform for Embedded Real-Time Systems 4 4 * 5 * Copyright (C) 2008-201 5by Embedded and Real-Time Systems Laboratory5 * Copyright (C) 2008-2016 by Embedded and Real-Time Systems Laboratory 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 7 * … … 50 50 * ã®è²¬ä»»ãè² ããªãï¼ 51 51 * 52 * $Id: test_sem2.c 310 2015-02-08 13:46:46Z ertl-hiro $52 * $Id: test_sem2.c 738 2016-04-05 14:19:24Z ertl-hiro $ 53 53 */ 54 54 … … 153 153 * 4: twai_sem(SEM1, TMO_NBLK) -> E_PAR ... (E-5) 154 154 * twai_sem(SEM1, TMO_POL) -> E_TMOUT ... (F) 155 * 5: sta_alm(ALM1, 10000U)155 * 5: sta_alm(ALM1, TEST_TIME_CP) ... ALM1-1ãå®è¡éå§ããã¾ã§ 156 156 * 6: twai_sem(SEM1, TMO_FEVR) ... (G) 157 157 * == ALM1-1 == … … 168 168 * == TASK3ï¼åªå 169 169 度ï¼ä½ï¼== 170 * 12: sta_alm(ALM1, 10000U)170 * 12: sta_alm(ALM1, TEST_TIME_PROC) ... ALM1-2ãå®è¡éå§ããã¾ã§ 171 171 * call(wait_var()) 172 172 * == ALM1-2 == … … 177 177 * 14: wai_sem(SEM1) 178 178 * == TASK3ï¼ç¶ãï¼== 179 * 15: sta_alm(ALM1, 10000U)179 * 15: sta_alm(ALM1, TEST_TIME_PROC) ... ALM1-3ãå®è¡éå§ããã¾ã§ 180 180 * dis_dsp() 181 181 * call(wait_var()) … … 189 189 * 18: wai_sem(SEM1) 190 190 * == TASK3ï¼ç¶ãï¼== 191 * 19: sta_alm(ALM1, 10000U)191 * 19: sta_alm(ALM1, TEST_TIME_PROC) ... ALM1-4ãå®è¡éå§ããã¾ã§ 192 192 * sus_tsk(TASK1) 193 193 * call(wait_var()) … … 202 202 * == TASK2ï¼åªå 203 203 度ï¼é«ï¼== 204 * 23: tslp_tsk( 10000U) -> E_TMOUT204 * 23: tslp_tsk(2 * TEST_TIME_CP) -> E_TMOUT ... TASK2ãå®è¡åéããã¾ã§ 205 205 * == TASK1ï¼ç¶ãï¼== 206 206 * 24: wai_sem(SEM1) … … 208 208 * 25: ext_tsk() -> noreturn 209 209 * == TASK2ï¼ç¶ãï¼== 210 * 26: sta_alm(ALM1, 10000U)210 * 26: sta_alm(ALM1, TEST_TIME_PROC) ... ALM1-5ãå®è¡éå§ããã¾ã§ 211 211 * call(wait_var()) 212 212 * == ALM1-5 == … … 217 217 * 28: ext_tsk() -> noreturn 218 218 * == TASK1ï¼ç¶ãï¼== 219 * 29: sta_alm(ALM1, 10000U)220 * 30: twai_sem(SEM1, 100000U) -> E_RLWAI219 * 29: sta_alm(ALM1, TEST_TIME_CP) ... ALM1-6ãå®è¡éå§ããã¾ã§ 220 * 30: twai_sem(SEM1, 2 * TEST_TIME_CP) -> E_RLWAI ... rel_waiãããã¾ã§ 221 221 * == ALM1-6 == 222 222 * 31: rel_wai(TASK1) 223 223 * RETURN 224 224 * == TASK1ï¼ç¶ãï¼== 225 * 32: sta_alm(ALM1, 100000U)226 * 33: twai_sem(SEM1, 10000U) -> E_TMOUT ... (H)225 * 32: sta_alm(ALM1, 3 * TEST_TIME_CP) ... stp_almãããã¾ã§ 226 * 33: twai_sem(SEM1, TEST_TIME_CP) -> E_TMOUT ... (H) 227 227 * 34: stp_alm(ALM1) 228 228 * 35: END … … 399 399 400 400 check_point(5); 401 ercd = sta_alm(ALM1, 10000U);401 ercd = sta_alm(ALM1, TEST_TIME_CP); 402 402 check_ercd(ercd, E_OK); 403 403 … … 431 431 432 432 check_point(29); 433 ercd = sta_alm(ALM1, 10000U);433 ercd = sta_alm(ALM1, TEST_TIME_CP); 434 434 check_ercd(ercd, E_OK); 435 435 436 436 check_point(30); 437 ercd = twai_sem(SEM1, 100000U);437 ercd = twai_sem(SEM1, 2 * TEST_TIME_CP); 438 438 check_ercd(ercd, E_RLWAI); 439 439 440 440 check_point(32); 441 ercd = sta_alm(ALM1, 100000U);441 ercd = sta_alm(ALM1, 3 * TEST_TIME_CP); 442 442 check_ercd(ercd, E_OK); 443 443 444 444 check_point(33); 445 ercd = twai_sem(SEM1, 10000U);445 ercd = twai_sem(SEM1, TEST_TIME_CP); 446 446 check_ercd(ercd, E_TMOUT); 447 447 … … 460 460 461 461 check_point(23); 462 ercd = tslp_tsk( 10000U);462 ercd = tslp_tsk(2 * TEST_TIME_CP); 463 463 check_ercd(ercd, E_TMOUT); 464 464 465 465 check_point(26); 466 ercd = sta_alm(ALM1, 10000U);466 ercd = sta_alm(ALM1, TEST_TIME_PROC); 467 467 check_ercd(ercd, E_OK); 468 468 … … 481 481 482 482 check_point(12); 483 ercd = sta_alm(ALM1, 10000U);483 ercd = sta_alm(ALM1, TEST_TIME_PROC); 484 484 check_ercd(ercd, E_OK); 485 485 … … 487 487 488 488 check_point(15); 489 ercd = sta_alm(ALM1, 10000U);489 ercd = sta_alm(ALM1, TEST_TIME_PROC); 490 490 check_ercd(ercd, E_OK); 491 491 … … 500 500 501 501 check_point(19); 502 ercd = sta_alm(ALM1, 10000U);502 ercd = sta_alm(ALM1, TEST_TIME_PROC); 503 503 check_ercd(ercd, E_OK); 504 504 -
asp3_wo_tecs/trunk/test/test_sem2.h
r302 r306 3 3 * Toyohashi Open Platform for Embedded Real-Time Systems 4 4 * 5 * Copyright (C) 2008-201 4by Embedded and Real-Time Systems Laboratory5 * Copyright (C) 2008-2016 by Embedded and Real-Time Systems Laboratory 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 7 * … … 50 50 * ã®è²¬ä»»ãè² ããªãï¼ 51 51 * 52 * $Id: test_sem2.h 286 2014-11-29 07:51:11Z ertl-hiro $52 * $Id: test_sem2.h 737 2016-04-05 13:11:23Z ertl-hiro $ 53 53 */ 54 54 … … 82 82 #endif /* STACK_SIZE */ 83 83 84 #ifndef TEST_TIME_CP 85 #define TEST_TIME_CP 50000U /* ãã§ãã¯ãã¤ã³ãå°éæ 86 å ±ã®åºåæé */ 87 #endif /* TEST_TIME_CP */ 88 89 #ifndef TEST_TIME_PROC 90 #define TEST_TIME_PROC 1000U /* ãã§ãã¯ãã¤ã³ããéããªãå ´åã®æé */ 91 #endif /* TEST_TIME_PROC */ 92 84 93 /* 85 94 * é¢æ°ã®ãããã¿ã¤ãå®£è¨ -
asp3_wo_tecs/trunk/test/test_task1.c
r302 r306 3 3 * Toyohashi Open Platform for Embedded Real-Time Systems 4 4 * 5 * Copyright (C) 2007-201 5by Embedded and Real-Time Systems Laboratory5 * Copyright (C) 2007-2016 by Embedded and Real-Time Systems Laboratory 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 7 * … … 50 50 * ã®è²¬ä»»ãè² ããªãï¼ 51 51 * 52 * $Id: test_task1.c 310 2015-02-08 13:46:46Z ertl-hiro $52 * $Id: test_task1.c 738 2016-04-05 14:19:24Z ertl-hiro $ 53 53 */ 54 54 … … 221 221 * 32: slp_tsk() ... (H-3) 222 222 * == TASK5ï¼ç¶ãï¼== 223 * 33: sta_alm(ALM1, 10000U)223 * 33: sta_alm(ALM1, TEST_TIME_CP) ... ALM1ãå®è¡éå§ããã¾ã§ 224 224 * 34: slp_tsk() ... (H-1) 225 225 * == ALM1 == … … 245 245 alarm1_handler(intptr_t exinf) 246 246 { 247 ER_UINT ercd; 247 248 ID tskid; 248 ER_UINT ercd;249 249 250 250 check_point(35); … … 383 383 384 384 check_point(33); 385 ercd = sta_alm(ALM1, 10000U);385 ercd = sta_alm(ALM1, TEST_TIME_CP); 386 386 check_ercd(ercd, E_OK); 387 387 -
asp3_wo_tecs/trunk/test/test_task1.h
r302 r306 3 3 * Toyohashi Open Platform for Embedded Real-Time Systems 4 4 * 5 * Copyright (C) 2007-201 4by Embedded and Real-Time Systems Laboratory5 * Copyright (C) 2007-2016 by Embedded and Real-Time Systems Laboratory 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 7 * … … 50 50 * ã®è²¬ä»»ãè² ããªãï¼ 51 51 * 52 * $Id: test_task1.h 286 2014-11-29 07:51:11Z ertl-hiro $52 * $Id: test_task1.h 737 2016-04-05 13:11:23Z ertl-hiro $ 53 53 */ 54 54 … … 82 82 #endif /* STACK_SIZE */ 83 83 84 #ifndef TEST_TIME_CP 85 #define TEST_TIME_CP 50000U /* ãã§ãã¯ãã¤ã³ãå°éæ 86 å ±ã®åºåæé */ 87 #endif /* TEST_TIME_CP */ 88 89 #ifndef TEST_TIME_PROC 90 #define TEST_TIME_PROC 1000U /* ãã§ãã¯ãã¤ã³ããéããªãå ´åã®æé */ 91 #endif /* TEST_TIME_PROC */ 92 84 93 /* 85 94 * é¢æ°ã®ãããã¿ã¤ãå®£è¨ -
asp3_wo_tecs/trunk/test/test_tmevt1.c
r302 r306 3 3 * Toyohashi Open Platform for Embedded Real-Time Systems 4 4 * 5 * Copyright (C) 2014-201 5by Embedded and Real-Time Systems Laboratory5 * Copyright (C) 2014-2016 by Embedded and Real-Time Systems Laboratory 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 7 * … … 50 50 * ã®è²¬ä»»ãè² ããªãï¼ 51 51 * 52 * $Id: test_tmevt1.c 310 2015-02-08 13:46:46Z ertl-hiro $52 * $Id: test_tmevt1.c 738 2016-04-05 14:19:24Z ertl-hiro $ 53 53 */ 54 54 … … 81 81 * == TASK1ï¼åªå 82 82 度ï¼ä¸ï¼== 83 * 1: sta_alm(ALM1, ALM1_RELTIM)83 * 1: sta_alm(ALM1, TEST_TIME_PROC) ... ALM1-1ãå®è¡éå§ããã¾ã§ 84 84 * DO(prev_lefttim = UINT32_MAX) 85 85 * DO(wait_alarm1(&alarm1_flag1)) … … 88 88 * RETURN 89 89 * == TASK1ï¼ç¶ãï¼== 90 * 3: sta_alm(ALM1, ALM1_RELTIM)90 * 3: sta_alm(ALM1, TEST_TIME_PROC) ... ALM1-2ãå®è¡éå§ããã¾ã§ 91 91 * DO(prev_lefttim = UINT32_MAX) 92 92 * DO(wait_alarm1(&alarm1_flag2)) 93 93 * == ALM1-2ï¼2åç®ï¼== 94 94 * 4: DO(alarm1_flag2 = true) 95 * 5: sta_alm(ALM1, ALM1_RELTIM)95 * 5: sta_alm(ALM1, TEST_TIME_CP) ... ALM1-3ãå®è¡éå§ããã¾ã§ 96 96 * DO(prev_lefttim = UINT32_MAX) 97 97 * DO(skip_check = true) … … 103 103 * RETURN 104 104 * == TASK1ï¼ç¶ãï¼== 105 * 8: sta_alm(ALM1, ALM1_RELTIM * 4)106 * DO(prev_lefttim = UINT32_MAX) 107 * DO(refer_alarm1()) 108 * 9: dly_tsk( ALM1_RELTIM)109 * DO(prev_lefttim -= ALM1_RELTIM)110 * DO(refer_alarm1()) 111 * 10: adj_tim( ALM1_RELTIM)105 * 8: sta_alm(ALM1, 3 * TEST_TIME_CP) ... ALM1-4ãå®è¡éå§ããã¾ã§ 106 * DO(prev_lefttim = UINT32_MAX) 107 * DO(refer_alarm1()) 108 * 9: dly_tsk(TEST_TIME_CP) ... ã©ã®ãããªæéã§ãè¯ã 109 * DO(prev_lefttim -= TEST_TIME_CP) 110 * DO(refer_alarm1()) 111 * 10: adj_tim(TEST_TIME_CP) 112 112 * DO(wait_alarm1(&alarm1_flag4)) 113 113 * == ALM1-4ï¼4åç®ï¼== … … 115 115 * RETURN 116 116 * == TASK1ï¼ç¶ãï¼== 117 * 12: sta_alm(ALM1, ALM1_RELTIM * 4)118 * DO(prev_lefttim = UINT32_MAX) 119 * DO(refer_alarm1()) 120 * 13: dly_tsk( ALM1_RELTIM)121 * DO(prev_lefttim -= ALM1_RELTIM)122 * DO(refer_alarm1()) 123 * 14: adj_tim(- ALM1_RELTIM)124 * DO(prev_lefttim += ALM1_RELTIM)117 * 12: sta_alm(ALM1, 4 * TEST_TIME_CP) ... ALM1-5ãå®è¡éå§ããã¾ã§ 118 * DO(prev_lefttim = UINT32_MAX) 119 * DO(refer_alarm1()) 120 * 13: dly_tsk(TEST_TIME_CP) ... ã©ã®ãããªæéã§ãè¯ã 121 * DO(prev_lefttim -= TEST_TIME_CP) 122 * DO(refer_alarm1()) 123 * 14: adj_tim(-TEST_TIME_CP) 124 * DO(prev_lefttim += TEST_TIME_CP) 125 125 * 15: DO(wait_alarm1(&alarm1_flag5)) 126 126 * == ALM1-5ï¼5åç®ï¼== … … 128 128 * RETURN 129 129 * == TASK1ï¼ç¶ãï¼== 130 * 17: sta_alm(ALM1, ALM1_RELTIM * 6)131 * sta_alm(ALM2, ALM1_RELTIM * 4)132 * DO(prev_lefttim = UINT32_MAX) 133 * DO(refer_alarm1()) 134 * 18: dly_tsk( ALM1_RELTIM)135 * DO(prev_lefttim -= ALM1_RELTIM)130 * 17: sta_alm(ALM1, 4 * TEST_TIME_CP) ... ALM1-6ãå®è¡éå§ããã¾ã§ 131 * sta_alm(ALM2, 3 * TEST_TIME_CP) ... stp_almã§åæ¢ããã¾ã§ 132 * DO(prev_lefttim = UINT32_MAX) 133 * DO(refer_alarm1()) 134 * 18: dly_tsk(TEST_TIME_CP) ... ã©ã®ãããªæéã§ãè¯ã 135 * DO(prev_lefttim -= TEST_TIME_CP) 136 136 * DO(refer_alarm1()) 137 137 * 19: stp_alm(ALM2) … … 144 144 * RETURN 145 145 * == TASK1ï¼ç¶ãï¼== 146 * 22: sta_alm(ALM1, ALM1_RELTIM * 6)147 * sta_alm(ALM2, ALM1_RELTIM * 4)148 * sta_alm(ALM3, ALM1_RELTIM)146 * 22: sta_alm(ALM1, 3 * TEST_TIME_CP) ... ALM1-7ãå®è¡éå§ããã¾ã§ 147 * sta_alm(ALM2, 2 * TEST_TIME_CP) ... stp_almã§åæ¢ããã¾ã§ 148 * sta_alm(ALM3, TEST_TIME_CP) ... ALM3-1ãå®è¡éå§ããã¾ã§ 149 149 * DO(prev_lefttim = UINT32_MAX) 150 150 * 23: DO(wait_alarm1(&alarm1_flag7)) … … 261 261 262 262 check_point(5); 263 ercd = sta_alm(ALM1, ALM1_RELTIM);263 ercd = sta_alm(ALM1, TEST_TIME_CP); 264 264 check_ercd(ercd, E_OK); 265 265 … … 350 350 351 351 check_point(1); 352 ercd = sta_alm(ALM1, ALM1_RELTIM);352 ercd = sta_alm(ALM1, TEST_TIME_PROC); 353 353 check_ercd(ercd, E_OK); 354 354 … … 358 358 359 359 check_point(3); 360 ercd = sta_alm(ALM1, ALM1_RELTIM);360 ercd = sta_alm(ALM1, TEST_TIME_PROC); 361 361 check_ercd(ercd, E_OK); 362 362 … … 369 369 370 370 check_point(8); 371 ercd = sta_alm(ALM1, ALM1_RELTIM * 4);371 ercd = sta_alm(ALM1, 3 * TEST_TIME_CP); 372 372 check_ercd(ercd, E_OK); 373 373 … … 377 377 378 378 check_point(9); 379 ercd = dly_tsk( ALM1_RELTIM);380 check_ercd(ercd, E_OK); 381 382 prev_lefttim -= ALM1_RELTIM;379 ercd = dly_tsk(TEST_TIME_CP); 380 check_ercd(ercd, E_OK); 381 382 prev_lefttim -= TEST_TIME_CP; 383 383 384 384 refer_alarm1(); 385 385 386 386 check_point(10); 387 ercd = adj_tim( ALM1_RELTIM);387 ercd = adj_tim(TEST_TIME_CP); 388 388 check_ercd(ercd, E_OK); 389 389 … … 391 391 392 392 check_point(12); 393 ercd = sta_alm(ALM1, ALM1_RELTIM * 4);393 ercd = sta_alm(ALM1, 4 * TEST_TIME_CP); 394 394 check_ercd(ercd, E_OK); 395 395 … … 399 399 400 400 check_point(13); 401 ercd = dly_tsk( ALM1_RELTIM);402 check_ercd(ercd, E_OK); 403 404 prev_lefttim -= ALM1_RELTIM;401 ercd = dly_tsk(TEST_TIME_CP); 402 check_ercd(ercd, E_OK); 403 404 prev_lefttim -= TEST_TIME_CP; 405 405 406 406 refer_alarm1(); 407 407 408 408 check_point(14); 409 ercd = adj_tim(- ALM1_RELTIM);410 check_ercd(ercd, E_OK); 411 412 prev_lefttim += ALM1_RELTIM;409 ercd = adj_tim(-TEST_TIME_CP); 410 check_ercd(ercd, E_OK); 411 412 prev_lefttim += TEST_TIME_CP; 413 413 414 414 check_point(15); … … 416 416 417 417 check_point(17); 418 ercd = sta_alm(ALM1, ALM1_RELTIM * 6);419 check_ercd(ercd, E_OK); 420 421 ercd = sta_alm(ALM2, ALM1_RELTIM * 4);418 ercd = sta_alm(ALM1, 4 * TEST_TIME_CP); 419 check_ercd(ercd, E_OK); 420 421 ercd = sta_alm(ALM2, 3 * TEST_TIME_CP); 422 422 check_ercd(ercd, E_OK); 423 423 … … 427 427 428 428 check_point(18); 429 ercd = dly_tsk( ALM1_RELTIM);430 check_ercd(ercd, E_OK); 431 432 prev_lefttim -= ALM1_RELTIM;429 ercd = dly_tsk(TEST_TIME_CP); 430 check_ercd(ercd, E_OK); 431 432 prev_lefttim -= TEST_TIME_CP; 433 433 434 434 refer_alarm1(); … … 449 449 450 450 check_point(22); 451 ercd = sta_alm(ALM1, ALM1_RELTIM * 6);452 check_ercd(ercd, E_OK); 453 454 ercd = sta_alm(ALM2, ALM1_RELTIM * 4);455 check_ercd(ercd, E_OK); 456 457 ercd = sta_alm(ALM3, ALM1_RELTIM);451 ercd = sta_alm(ALM1, 3 * TEST_TIME_CP); 452 check_ercd(ercd, E_OK); 453 454 ercd = sta_alm(ALM2, 2 * TEST_TIME_CP); 455 check_ercd(ercd, E_OK); 456 457 ercd = sta_alm(ALM3, TEST_TIME_CP); 458 458 check_ercd(ercd, E_OK); 459 459 -
asp3_wo_tecs/trunk/test/test_tmevt1.h
r302 r306 3 3 * Toyohashi Open Platform for Embedded Real-Time Systems 4 4 * 5 * Copyright (C) 201 4by Embedded and Real-Time Systems Laboratory5 * Copyright (C) 2016 by Embedded and Real-Time Systems Laboratory 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 7 * … … 50 50 * ã®è²¬ä»»ãè² ããªãï¼ 51 51 * 52 * $Id: test_tmevt1.h 286 2014-11-29 07:51:11Z ertl-hiro $52 * $Id: test_tmevt1.h 737 2016-04-05 13:11:23Z ertl-hiro $ 53 53 */ 54 54 … … 82 82 #endif /* STACK_SIZE */ 83 83 84 #ifndef ALM1_RELTIM 85 #define ALM1_RELTIM 200U /* ã¢ã©ã¼ã ãã³ãã©1ã«ä»æããç¸å¯¾æé */ 86 #endif /* ALM1_RELTIM */ 84 #ifndef TEST_TIME_CP 85 #define TEST_TIME_CP 50000U /* ãã§ãã¯ãã¤ã³ãå°éæ 86 å ±ã®åºåæé */ 87 #endif /* TEST_TIME_CP */ 88 89 #ifndef TEST_TIME_PROC 90 #define TEST_TIME_PROC 1000U /* ãã§ãã¯ãã¤ã³ããéããªãå ´åã®æé */ 91 #endif /* TEST_TIME_PROC */ 87 92 88 93 /* -
asp3_wo_tecs/trunk/test/testexec.rb
r305 r306 52 52 # ã®è²¬ä»»ãè² ããªãï¼ 53 53 # 54 # $Id: testexec.rb 6 00 2016-02-07 11:46:22Z ertl-hiro $54 # $Id: testexec.rb 675 2016-03-06 01:30:21Z ertl-hiro $ 55 55 # 56 56 … … 63 63 TEST_SPEC = { 64 64 # æ©è½ãã¹ãããã°ã©ã 65 "cpuexc1" => { :SRC=>"test_cpuexc1", :CFG=>"test_cpuexc" },66 "cpuexc2" => { :SRC=>"test_cpuexc2", :CFG=>"test_cpuexc" },67 "cpuexc3" => { :SRC=>"test_cpuexc3", :CFG=>"test_cpuexc" },68 "cpuexc4" => { :SRC=>"test_cpuexc4", :CFG=>"test_cpuexc" },69 "cpuexc5" => { :SRC=>"test_cpuexc5", :CFG=>"test_cpuexc" },70 "cpuexc6" => { :SRC=>"test_cpuexc6", :CFG=>"test_cpuexc" },71 "cpuexc7" => { :SRC=>"test_cpuexc7", :CFG=>"test_cpuexc" },72 "cpuexc8" => { :SRC=>"test_cpuexc8", :CFG=>"test_cpuexc" },73 "cpuexc9" => { :SRC=>"test_cpuexc9", :CFG=>"test_cpuexc" },74 "cpuexc10" => { :SRC=>"test_cpuexc10", :CFG=>"test_cpuexc" },75 "dlynse" => { :SRC=>"test_dlynse" },76 "dtq1" => { :SRC=>"test_dtq1" },77 "flg1" => { :SRC=>"test_flg1" },78 "hrt1" => { :SRC=>"test_hrt1" },79 "mutex1" => { :SRC=>"test_mutex1", :BIT=>"mutex" },80 "mutex2" => { :SRC=>"test_mutex2", :BIT=>"mutex" },81 "mutex3" => { :SRC=>"test_mutex3", :BIT=>"mutex" },82 "mutex4" => { :SRC=>"test_mutex4", :BIT=>"mutex" },83 "mutex5" => { :SRC=>"test_mutex5", :BIT=>"mutex" },84 "mutex6" => { :SRC=>"test_mutex6", :BIT=>"mutex" },85 "mutex7" => { :SRC=>"test_mutex7", :BIT=>"mutex" },86 "mutex8" => { :SRC=>"test_mutex8", :BIT=>"mutex" },87 "notify1" => { :SRC=>"test_notify1" },88 "raster1" => { :SRC=>"test_raster1", :BIT=>"kernel" },89 "raster2" => { :SRC=>"test_raster2" },90 "sem1" => { :SRC=>"test_sem1" },91 "sem2" => { :SRC=>"test_sem2" },92 "sysman1" => { :SRC=>"test_sysman1" },93 "sysstat1" => { :SRC=>"test_sysstat1" },94 "task1" => { :SRC=>"test_task1", :BIT=>"kernel" },95 "tmevt1" => { :SRC=>"test_hrt1" },65 "cpuexc1" => { SRC: "test_cpuexc1", CFG: "test_cpuexc" }, 66 "cpuexc2" => { SRC: "test_cpuexc2", CFG: "test_cpuexc" }, 67 "cpuexc3" => { SRC: "test_cpuexc3", CFG: "test_cpuexc" }, 68 "cpuexc4" => { SRC: "test_cpuexc4", CFG: "test_cpuexc" }, 69 "cpuexc5" => { SRC: "test_cpuexc5", CFG: "test_cpuexc" }, 70 "cpuexc6" => { SRC: "test_cpuexc6", CFG: "test_cpuexc" }, 71 "cpuexc7" => { SRC: "test_cpuexc7", CFG: "test_cpuexc" }, 72 "cpuexc8" => { SRC: "test_cpuexc8", CFG: "test_cpuexc" }, 73 "cpuexc9" => { SRC: "test_cpuexc9", CFG: "test_cpuexc" }, 74 "cpuexc10" => { SRC: "test_cpuexc10", CFG: "test_cpuexc" }, 75 "dlynse" => { SRC: "test_dlynse" }, 76 "dtq1" => { SRC: "test_dtq1" }, 77 "flg1" => { SRC: "test_flg1" }, 78 "hrt1" => { SRC: "test_hrt1" }, 79 "mutex1" => { SRC: "test_mutex1", BIT: "mutex" }, 80 "mutex2" => { SRC: "test_mutex2", BIT: "mutex" }, 81 "mutex3" => { SRC: "test_mutex3", BIT: "mutex" }, 82 "mutex4" => { SRC: "test_mutex4", BIT: "mutex" }, 83 "mutex5" => { SRC: "test_mutex5", BIT: "mutex" }, 84 "mutex6" => { SRC: "test_mutex6", BIT: "mutex" }, 85 "mutex7" => { SRC: "test_mutex7", BIT: "mutex" }, 86 "mutex8" => { SRC: "test_mutex8", BIT: "mutex" }, 87 "notify1" => { SRC: "test_notify1" }, 88 "raster1" => { SRC: "test_raster1", BIT: "kernel" }, 89 "raster2" => { SRC: "test_raster2" }, 90 "sem1" => { SRC: "test_sem1" }, 91 "sem2" => { SRC: "test_sem2" }, 92 "sysman1" => { SRC: "test_sysman1" }, 93 "sysstat1" => { SRC: "test_sysstat1" }, 94 "task1" => { SRC: "test_task1", BIT: "kernel" }, 95 "tmevt1" => { SRC: "test_tmevt1" }, 96 96 97 97 # ã¡ãã»ã¼ã¸ãããã¡æ©è½æ¡å¼µããã±ã¼ã¸ã®æ©è½ãã¹ãããã°ã©ã 98 "messagebuf1" => { :SRC=>"test_messagebuf1", :BIT=>"kernel" },99 "messagebuf2" => { :SRC=>"test_messagebuf2", :BIT=>"kernel" },98 "messagebuf1" => { SRC: "test_messagebuf1", BIT: "kernel" }, 99 "messagebuf2" => { SRC: "test_messagebuf2", BIT: "kernel" }, 100 100 101 101 # ãªã¼ãã©ã³ãã³ãã©æ©è½æ¡å¼µããã±ã¼ã¸ã®æ©è½ãã¹ãããã°ã©ã 102 "ovrhdr1" => { :SRC=>"test_ovrhdr1" },102 "ovrhdr1" => { SRC: "test_ovrhdr1" }, 103 103 104 104 # å¶ç´ã¿ã¹ã¯æ¡å¼µããã±ã¼ã¸ã®æ©è½ãã¹ãããã°ã©ã 105 "rstr1" => { :SRC=>"test_rstr1" },106 "rstr2" => { :SRC=>"test_rstr2" },105 "rstr1" => { SRC: "test_rstr1" }, 106 "rstr2" => { SRC: "test_rstr2" }, 107 107 108 108 # ãµãåªå 109 109 度æ©è½æ¡å¼µããã±ã¼ã¸ã®æ©è½ãã¹ãããã°ã©ã 110 "subprio1" => { :SRC=>"test_subprio1" },111 "subprio2" => { :SRC=>"test_subprio2" },110 "subprio1" => { SRC: "test_subprio1" }, 111 "subprio2" => { SRC: "test_subprio2" }, 112 112 113 113 # ã·ã¹ãã æå»ç®¡çæ©è½ãã¹ãããã°ã©ã 114 "systim1" => { :TARGET=>1, :SRC=>"hrt_systim1", :DEFS=>"-DHRT_CONFIG1" },115 "systim2" => { :TARGET=>1, :SRC=>"hrt_systim2", :DEFS=>"-DHRT_CONFIG1" },116 "systim3" => { :TARGET=>1, :SRC=>"hrt_systim3", :DEFS=>"-DHRT_CONFIG1" },117 "systim4" => { :TARGET=>1, :SRC=>"hrt_systim4", :DEFS=>"-DHRT_CONFIG2" },114 "systim1" => { TARGET: 1, SRC: "hrt_systim1", DEFS: "-DHRT_CONFIG1" }, 115 "systim2" => { TARGET: 1, SRC: "hrt_systim2", DEFS: "-DHRT_CONFIG1" }, 116 "systim3" => { TARGET: 1, SRC: "hrt_systim3", DEFS: "-DHRT_CONFIG1" }, 117 "systim4" => { TARGET: 1, SRC: "hrt_systim4", DEFS: "-DHRT_CONFIG2" }, 118 118 119 119 # ããªãã調æ´æ©è½æ¡å¼µããã±ã¼ã¸ã®ã·ã¹ãã æå»ç®¡çæ©è½ãã¹ãããã°ã©ã 120 "drift1" => { :TARGET=>1, :SRC=>"hrt_drift1", :DEFS=>"-DHRT_CONFIG1" },121 "drift1-64ops" => { :TARGET=>1, :SRC=>"hrt_drift1",122 :DEFS=>"-DHRT_CONFIG1 -DUSE_64BIT_OPS" },123 "systim1-64ops" => { :TARGET=>1, :SRC=>"hrt_systim1",124 :DEFS=>"-DHRT_CONFIG1 -DUSE_64BIT_OPS" },120 "drift1" => { TARGET: 1, SRC: "hrt_drift1", DEFS: "-DHRT_CONFIG1" }, 121 "drift1-64ops" => { TARGET: 1, SRC: "hrt_drift1", 122 DEFS: "-DHRT_CONFIG1 -DUSE_64BIT_OPS" }, 123 "systim1-64ops" => { TARGET: 1, SRC: "hrt_systim1", 124 DEFS: "-DHRT_CONFIG1 -DUSE_64BIT_OPS" }, 125 125 126 126 # æ§è½è©ä¾¡ããã°ã©ã 127 "perf0" => { :CDL=>"perf_pf" },128 "perf1" => { :CDL=>"perf_pf" },129 "perf2" => { :CDL=>"perf_pf" },130 "perf3" => { :CDL=>"perf_pf" },131 "perf4" => { :CDL=>"perf_pf" },132 "perf5" => { :CDL=>"perf_pf" },127 "perf0" => { CDL: "perf_pf" }, 128 "perf1" => { CDL: "perf_pf" }, 129 "perf2" => { CDL: "perf_pf" }, 130 "perf3" => { CDL: "perf_pf" }, 131 "perf4" => { CDL: "perf_pf" }, 132 "perf5" => { CDL: "perf_pf" }, 133 133 } 134 134 -
asp3_wo_tecs/trunk/utils/gentest.rb
r304 r306 52 52 # ã®è²¬ä»»ãè² ããªãï¼ 53 53 # 54 # $Id: gentest.rb 578 2016-02-03 07:23:53Z ertl-hiro $54 # $Id: gentest.rb 743 2016-04-10 16:00:40Z ertl-hiro $ 55 55 # 56 56 … … 62 62 # çæåä½ã決ããããã®è¨å® 63 63 # 64 $parameterPosition = { 65 "get_tst" => 2, 66 "get_pri" => 2, 67 "get_inf" => 1, 68 "ref_tsk" => 2, 69 "ref_sem" => 2, 70 "ref_flg" => 2, 71 "ref_dtq" => 2, 72 "ref_pdq" => 2, 73 "ref_mtx" => 2, 74 "ref_mbf" => 2, 75 "ref_mpf" => 2, 76 "get_tim" => 1, 77 "ref_cyc" => 2, 78 "ref_alm" => 2, 79 "ref_ovr" => 2, 80 "get_tid" => 1, 81 "iget_tid" => 1, 82 "get_lod" => 2, 83 "get_nth" => 3, 84 "get_ipm" => 1, 85 "wai_flg" => 4, 86 "pol_flg" => 4, 87 "twai_flg" => 4, 88 "rcv_dtq" => 2, 89 "prcv_dtq" => 2, 90 "trcv_dtq" => 2, 64 $parameterDefinition = { 65 "get_tst" => { 2 => "STAT" }, 66 "get_pri" => { 2 => "PRI" }, 67 "get_inf" => { 1 => "intptr_t" }, 68 "ref_tsk" => { 2 => "T_RTSK" }, 69 "ref_sem" => { 2 => "T_RSEM" }, 70 "wai_flg" => { 4 => "FLGPTN" }, 71 "pol_flg" => { 4 => "FLGPTN" }, 72 "twai_flg" => { 4 => "FLGPTN" }, 73 "ref_flg" => { 2 => "T_RFLG" }, 74 "rcv_dtq" => { 2 => "intptr_t" }, 75 "prcv_dtq" => { 2 => "intptr_t" }, 76 "trcv_dtq" => { 2 => "intptr_t" }, 77 "ref_dtq" => { 2 => "T_RDTQ" }, 78 "rcv_pdq" => { 2 => "intptr_t" , 3 => "PRI" }, 79 "prcv_pdq" => { 2 => "intptr_t" , 3 => "PRI" }, 80 "trcv_pdq" => { 2 => "intptr_t" , 3 => "PRI" }, 81 "ref_pdq" => { 2 => "T_RPDQ" }, 82 "ref_mtx" => { 2 => "T_RMTX" }, 83 "ref_mbf" => { 2 => "T_RMBF" }, 84 "get_mpf" => { 2 => "void *" }, 85 "pget_mpf" => { 2 => "void *" }, 86 "tget_mpf" => { 2 => "void *" }, 87 "ref_mpf" => { 2 => "T_RMPF" }, 88 "get_tim" => { 1 => "SYSTIM" }, 89 "ref_cyc" => { 2 => "T_RCYC" }, 90 "ref_alm" => { 2 => "T_RALM" }, 91 "ref_ovr" => { 2 => "T_ROVR" }, 92 "get_tid" => { 1 => "ID" }, 93 "get_did" => { 1 => "ID" }, 94 "get_lod" => { 2 => "uint_t" }, 95 "mget_lod" => { 3 => "uint_t" }, 96 "get_nth" => { 3 => "ID" }, 97 "mget_nth" => { 4 => "ID" }, 98 "get_ipm" => { 1 => "PRI" }, 99 "get_som" => { 1 => "ID" } 91 100 } 92 101 93 $parameterType = {94 "get_tst" => "STAT",95 "get_pri" => "PRI",96 "get_inf" => "intptr_t",97 "ref_tsk" => "T_RTSK",98 "ref_sem" => "T_RSEM",99 "ref_flg" => "T_RFLG",100 "ref_dtq" => "T_RDTQ",101 "ref_pdq" => "T_RPDQ",102 "ref_mtx" => "T_RMTX",103 "ref_mbf" => "T_RMBF",104 "ref_mpf" => "T_RMPF",105 "get_tim" => "SYSTIM",106 "ref_cyc" => "T_RCYC",107 "ref_alm" => "T_RALM",108 "ref_ovr" => "T_ROVR",109 "get_tid" => "ID",110 "iget_tid" => "ID",111 "get_lod" => "uint_t",112 "get_nth" => "ID",113 "get_ipm" => "PRI",114 "wai_flg" => "FLGPTN",115 "pol_flg" => "FLGPTN",116 "twai_flg" => "FLGPTN",117 "rcv_dtq" => "intptr_t",118 "prcv_dtq" => "intptr_t",119 "trcv_dtq" => "intptr_t",120 }121 122 102 $functionParameters = { 123 "target_hrt_set_event" => "HRTCNT hrtcnt" ,103 "target_hrt_set_event" => "HRTCNT hrtcnt" 124 104 } 125 105 126 106 $functionValue = { 127 "target_hrt_get_current" => "HRTCNT" ,107 "target_hrt_get_current" => "HRTCNT" 128 108 } 129 109 130 110 $functionReturn = { 131 "target_hrt_get_current" => "0U" ,111 "target_hrt_get_current" => "0U" 132 112 } 133 113 134 114 $functionCheckParameter = { 135 "target_hrt_set_event" => "hrtcnt" ,115 "target_hrt_set_event" => "hrtcnt" 136 116 } 137 117 … … 246 226 print("{\n") 247 227 248 @variableList.keys.each do |varName| 249 print("\t#{@variableList[varName]}") 250 print(@variableList[varName].length < 4 ? "\t\t" : "\t") 228 @variableList.each do |varName, varType| 229 if /^(.+)\w*\*$/ =~ varType 230 varBaseType = $1 231 print("\t#{varBaseType}") 232 print(varBaseType.length < 4 ? "\t\t*" : "\t*") 233 else 234 print("\t#{varType}") 235 print(varType.length < 4 ? "\t\t" : "\t") 236 end 251 237 print("#{varName};\n") 252 238 end … … 296 282 params = $2.split(/\s*,\s*/) 297 283 298 if !$parameterPosition[svcName].nil? \ 299 && params.size >= $parameterPosition[svcName] 300 varName = params[$parameterPosition[svcName] - 1].sub(/^\&/, "") 301 typeName = $parameterType[svcName] 302 pu.addVariable(varName, typeName) 284 if $parameterDefinition.has_key?(svcName) 285 $parameterDefinition[svcName].each do |pos, type| 286 if params.size >= pos 287 varName = params[pos - 1].sub(/^\&/, "") 288 pu.addVariable(varName, type) 289 end 290 end 303 291 end 304 292 end
Note:
See TracChangeset
for help on using the changeset viewer.