Changeset 305 for asp3_wo_tecs
- Timestamp:
- Jun 26, 2017, 6:45:41 PM (7 years ago)
- Location:
- asp3_wo_tecs/trunk
- Files:
-
- 5 added
- 47 edited
Legend:
- Unmodified
- Added
- Removed
-
asp3_wo_tecs/trunk/README.txt
r304 r305 6 6 TOPPERS/ASP3ã«ã¼ãã«ï¼TOPPERS/ASPã«ã¼ãã« Release 3.Xï¼ä»¥ä¸ï¼ASP3ã«ã¼ã 7 7 ã«ï¼ã¯ï¼TOPPERS/ASPã«ã¼ãã«ãæ¡å¼µã»æ¹è¯ãããã®ã§ï¼TOPPERS第3ä¸ä»£ã«ã¼ã 8 ã«ï¼ITRONç³»ï¼ã®åºç¤ã¨ãªããã®ã¨ãã¦éçºãé²ãã¦ãããªã¢ã«ã¿ã¤ã ã«ã¼ãã« 9 ã§ãï¼ 8 ã«ï¼ITRONç³»ï¼ã®åºç¤ã¨ãªããã®ã¨ãã¦éçºãããªã¢ã«ã¿ã¤ã ã«ã¼ãã«ã§ãï¼ 10 9 11 10 TOPPERS/ASPã«ã¼ãã«ã¯ï¼Î¼ITRON4.0ä»æ§ã®ã¹ã¿ã³ãã¼ããããã¡ã¤ã«æºæ ã®ãª -
asp3_wo_tecs/trunk/arch/arm_gcc/common/arm.h
r302 r305 5 5 * Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory 6 6 * Toyohashi Univ. of Technology, JAPAN 7 * Copyright (C) 2006-201 5by Embedded and Real-Time Systems Laboratory7 * Copyright (C) 2006-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: arm.h 430 2015-08-08 11:38:46Z ertl-hiro $54 * $Id: arm.h 523 2016-01-14 11:01:04Z ertl-hiro $ 55 55 */ 56 56 … … 282 282 283 283 /* 284 * High exception vector ã使ããã®è¨å®285 */ 286 Inline void 287 arm_set_high_vector (bool_t enable)284 * High exception vectorsã使ãããã«è¨å® 285 */ 286 Inline void 287 arm_set_high_vectors(void) 288 288 { 289 289 uint32_t reg; 290 290 291 291 CP15_READ_SCTLR(reg); 292 if (enable) { 293 reg |= CP15_SCTLR_VECTOR; 294 } 295 else { 296 reg &= ~CP15_SCTLR_VECTOR; 297 } 292 reg |= CP15_SCTLR_VECTOR; 293 CP15_WRITE_SCTLR(reg); 294 } 295 296 /* 297 * Low exception vectorsã使ãããã«è¨å® 298 */ 299 Inline void 300 arm_set_low_vectors(void) 301 { 302 uint32_t reg; 303 304 CP15_READ_SCTLR(reg); 305 reg &= ~CP15_SCTLR_VECTOR; 298 306 CP15_WRITE_SCTLR(reg); 299 307 } -
asp3_wo_tecs/trunk/arch/arm_gcc/common/core_check.trb
r304 r305 3 3 # ãã¹3ã®çæã¹ã¯ãªããã®ã³ã¢ä¾åé¨ï¼ARMç¨ï¼ 4 4 # 5 # $Id: core_check.trb 5 72 2016-02-01 14:40:09Z ertl-hiro $5 # $Id: core_check.trb 588 2016-02-05 12:54:58Z ertl-hiro $ 6 6 # 7 7 … … 19 19 # 20 20 inhTable = SYMBOL("_kernel_inh_table") 21 $cfgData[:DEF_INH].each do | id, params|21 $cfgData[:DEF_INH].each do |key, params| 22 22 inthdr = PEEK(inhTable + params[:inhno] * $sizeof_FP, $sizeof_FP) 23 23 … … 39 39 # 40 40 excTable = SYMBOL("_kernel_exc_table") 41 $cfgData[:DEF_EXC].each do | id, params|41 $cfgData[:DEF_EXC].each do |key, params| 42 42 exchdr = PEEK(excTable + params[:excno] * $sizeof_FP, $sizeof_FP) 43 43 -
asp3_wo_tecs/trunk/arch/arm_gcc/common/core_kernel_impl.c
r302 r305 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.c 430 2015-08-08 11:38:46Z ertl-hiro $55 * $Id: core_kernel_impl.c 541 2016-01-16 03:09:21Z ertl-hiro $ 56 56 */ 57 57 … … 76 76 #ifdef USE_ARM_MMU 77 77 78 #define D0_CLIENT 0x01U /* å¤æãã¼ãã«ã«å¾ã£ã¦ãã¡ã¤ã³0ã«ã¢ã¯ã»ã¹ */79 #define USE_ASID 1/* 使ç¨ããASID */78 #define CP15_DACR_D0_CLIENT 0x01U /* å¤æãã¼ãã«ã«å¾ããã¡ã¤ã³0ã«ã¢ã¯ã»ã¹ */ 79 #define DEFAULT_ASID 1 /* 使ç¨ããASID */ 80 80 81 81 /* … … 155 155 * ãã¡ã¤ã³ã¢ã¯ã»ã¹å¶å¾¡ã®è¨å® 156 156 */ 157 CP15_WRITE_DACR( D0_CLIENT);157 CP15_WRITE_DACR(CP15_DACR_D0_CLIENT); 158 158 159 159 /* … … 161 161 */ 162 162 #if __TARGET_ARCH_ARM >= 6 163 CP15_WRITE_CONTEXTIDR( USE_ASID);163 CP15_WRITE_CONTEXTIDR(DEFAULT_ASID); 164 164 #endif /* __TARGET_ARCH_ARM >= 6 */ 165 165 … … 197 197 */ 198 198 excpt_nest_count = 1U; 199 200 /* 201 * MMUãæå¹ã« 202 */ 203 #ifdef USE_ARM_MMU 204 arm_mmu_initialize(); 205 #endif /* USE_ARM_MMU */ 199 206 200 207 /* -
asp3_wo_tecs/trunk/arch/arm_gcc/common/core_test.h
r302 r305 4 4 * Advanced Standard Profile Kernel 5 5 * 6 * Copyright (C) 2006-201 5by Embedded and Real-Time Systems Laboratory6 * Copyright (C) 2006-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: core_test.h 460 2015-08-29 13:04:06Z ertl-hiro $53 * $Id: core_test.h 524 2016-01-14 11:01:56Z ertl-hiro $ 54 54 */ 55 55 … … 146 146 147 147 #endif 148 149 /*150 * ããã©ã¼ãã³ã¹ã¢ãã¿ã«ããæ§è½è©ä¾¡151 */152 #if defined(USE_ARM_PM_HIST) && __TARGET_ARCH_ARM == 7153 154 /*155 * ããã©ã¼ãã³ã¹ã¢ãã¿ã®ã«ã¦ã³ã¿ã®ãã¼ã¿å156 */157 typedef uint32_t PMCNT;158 159 /*160 * ããã©ã¼ãã³ã¹ã¢ãã¿ã®åæå161 */162 Inline void163 arm_init_pmcnt(void)164 {165 uint32_t reg;166 167 /*168 * ããã©ã¼ãã³ã¹ã¢ãã¿ã®æå¹å169 *170 * TOPPERS_ARM_PMCNT_DIV64ãå®ç¾©ããã¦ããå ´åã¯ï¼64ã¯ããã¯æ¯ã«ã«171 * ã¦ã³ãã¢ããããï¼172 */173 CP15_READ_PMCR(reg);174 reg |= CP15_PMCR_ALLCNTR_ENABLE;175 176 #ifdef TOPPERS_ARM_PMCNT_DIV64177 reg |= CP15_PMCR_PMCCNTR_DIVIDER;178 #else /* !TOPPERS_ARM_PMCNT_DIV64 */179 reg &= ~CP15_PMCR_PMCCNTR_DIVIDER;180 #endif /* TOPPERS_ARM_PMCNT_DIV64 */181 182 CP15_WRITE_PMCR(reg);183 184 /*185 * ããã©ã¼ãã³ã¹ã¢ãã¿ã®ã«ã¦ã³ã¿ã®æå¹å186 */187 CP15_READ_PMCNTENSET(reg);188 reg |= CP15_PMCNTENSET_CCNTR_ENABLE;189 CP15_WRITE_PMCNTENSET(reg);190 }191 192 /*193 * ããã©ã¼ãã³ã¹ã¢ãã¿ã®ã«ã¦ã³ã¿ã®èªã¿è¾¼ã¿194 */195 Inline void196 arm_get_pmcnt(PMCNT *p_count)197 {198 CP15_READ_PMCCNTR(*p_count);199 }200 201 /*202 * ã«ã¦ã³ã¿å¤ã®æéè¨æ¸¬åä½ã¸ã®å¤æ203 *204 * æéè¨æ¸¬ã®åä½ã¯ï¼ç¾ç¶ã¯ããç§ã«ãªã£ã¦ããï¼ãã¤ã¯ãç§åä½ã«ããè¨205 * å®ã欲ããã¨æãããï¼ï¼206 */207 Inline uint_t208 arm_conv_time(PMCNT count) {209 #ifdef TOPPERS_ARM_PMCNT_DIV64210 return(((uint_t) count) * (1000 * 64) / CORE_CLK_MHZ);211 #else /* !TOPPERS_ARM_PMCNT_DIV64 */212 return(((uint_t) count) * 1000 / CORE_CLK_MHZ);213 #endif /* TOPPERS_ARM_PMCNT_DIV64 */214 }215 216 #define HISTTIM PMCNT217 #define HIST_GET_TIM(p_time) (arm_get_pmcnt(p_time))218 #define HIST_CONV_TIM(time) (arm_conv_tim(time))219 #define HIST_BM_HOOK() ((void) 0)220 221 #endif /* defined(USE_ARM_PM_HIST) && __TARGET_ARCH_ARM == 7 */222 148 #endif /* TOPPERS_CORE_TEST_H */ -
asp3_wo_tecs/trunk/arch/arm_gcc/common/gic_kernel_impl.c
r302 r305 4 4 * Advanced Standard Profile Kernel 5 5 * 6 * Copyright (C) 2006-201 5by Embedded and Real-Time Systems Laboratory6 * Copyright (C) 2006-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: gic_kernel_impl.c 355 2015-07-25 10:26:02Z ertl-hiro $53 * $Id: gic_kernel_impl.c 522 2016-01-14 06:56:53Z ertl-hiro $ 54 54 */ 55 55 … … 177 177 */ 178 178 for (i = GIC_INTNO_PPI0 / 16; i < GIC_TNUM_INTNO / 16; i++) { 179 #ifdef GIC_ARM11M OCORE179 #ifdef GIC_ARM11MPCORE 180 180 sil_wrw_mem(GICD_ICFGR(i), 0x55555555U); 181 #else /* GIC_ARM11M OCORE */181 #else /* GIC_ARM11MPCORE */ 182 182 sil_wrw_mem(GICD_ICFGR(i), 0x00000000U); 183 #endif /* GIC_ARM11M OCORE */183 #endif /* GIC_ARM11MPCORE */ 184 184 } 185 185 … … 229 229 230 230 if ((intatr & TA_EDGE) != 0U) { 231 #ifdef GIC_ARM11M OCORE231 #ifdef GIC_ARM11MPCORE 232 232 gicd_config(intno, GICD_ICFGRn_EDGE|GICD_ICFGRn_1_N); 233 #else /* GIC_ARM11M OCORE */233 #else /* GIC_ARM11MPCORE */ 234 234 gicd_config(intno, GICD_ICFGRn_EDGE); 235 #endif /* GIC_ARM11M OCORE */235 #endif /* GIC_ARM11MPCORE */ 236 236 clear_int(intno); 237 237 } 238 238 else { 239 #ifdef GIC_ARM11M OCORE239 #ifdef GIC_ARM11MPCORE 240 240 gicd_config(intno, GICD_ICFGRn_LEVEL|GICD_ICFGRn_1_N); 241 #else /* GIC_ARM11M OCORE */241 #else /* GIC_ARM11MPCORE */ 242 242 gicd_config(intno, GICD_ICFGRn_LEVEL); 243 #endif /* GIC_ARM11M OCORE */243 #endif /* GIC_ARM11MPCORE */ 244 244 } 245 245 -
asp3_wo_tecs/trunk/arch/arm_gcc/common/gic_kernel_impl.h
r302 r305 4 4 * Advanced Standard Profile Kernel 5 5 * 6 * Copyright (C) 2006-201 5by Embedded and Real-Time Systems Laboratory6 * Copyright (C) 2006-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: gic_kernel_impl.h 377 2015-07-31 00:48:14Z ertl-hiro $53 * $Id: gic_kernel_impl.h 535 2016-01-16 00:42:29Z ertl-hiro $ 54 54 */ 55 55 … … 100 100 度ã®æ®µæ°ã256段éã®æã«ãããã¦è¡¨ãï¼ 101 101 */ 102 #define GIC_PRI_LEVEL (TMAX_INTPRI - TMIN_INTPRI + 2) 103 102 104 #if GIC_PRI_LEVEL == 16 103 105 #define GIC_PRI_SHIFT 4 … … 128 130 (((uint_t)((ipm) + (GIC_PRI_LEVEL - 1))) << GIC_PRI_SHIFT) 129 131 130 /* TMIN_INTPRIï¼TMAX_INTPRIã¨ã®æ´åæ§ã®ãã§ã㯠*/131 #if TMAX_INTPRI - TMIN_INTPRI + 2 != GIC_PRI_LEVEL132 #error GIC_PRI_LEVEL does not match TMIN_INTPRI.133 #endif134 135 132 /* 136 133 * GICã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹ãå®ç¾©ããããã®ãã¯ã … … 209 206 #define GICD_ICFGRn_LEVEL UINT_C(0x00) 210 207 #define GICD_ICFGRn_EDGE UINT_C(0x02) 211 #ifdef GIC_ARM11M OCORE208 #ifdef GIC_ARM11MPCORE 212 209 #define GICD_ICFGRn_N_N UINT_C(0x00) 213 210 #define GICD_ICFGRn_1_N UINT_C(0x01) 214 #endif /* GIC_ARM11M OCORE */211 #endif /* GIC_ARM11MPCORE */ 215 212 216 213 #ifndef TOPPERS_MACRO_ONLY -
asp3_wo_tecs/trunk/arch/arm_gcc/common/gic_support.S
r302 r305 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: gic_support.S 454 2015-08-16 03:18:46Z ertl-hiro $55 * $Id: gic_support.S 522 2016-01-14 06:56:53Z ertl-hiro $ 56 56 */ 57 57 … … 176 176 * 177 177 * irc_end_excã§ç¨ããæ 178 å ±ï¼ å²è¾¼ã¿çºçåã®å²è¾¼ã¿åªå178 å ±ï¼CPUä¾å¤çºçåã®å²è¾¼ã¿åªå 179 179 度ãã¹ã¯ï¼ãï¼ã¹ã¿ã 180 180 * ã¯ã«ä¿åããï¼ … … 207 207 ã«æ»ãï¼ 208 208 */ 209 pop {r2} /* irc_begin_ intã§ä¿åããæ209 pop {r2} /* irc_begin_excã§ä¿åããæ 210 210 å ±ã復帰 */ 211 211 ldr r1, =GICC_PMR /* å²è¾¼ã¿åªå -
asp3_wo_tecs/trunk/arch/arm_gcc/common/sp804.h
r302 r305 50 50 * ã®è²¬ä»»ãè² ããªãï¼ 51 51 * 52 * $Id: sp804.h 440 2015-08-09 02:02:08Z ertl-hiro $52 * $Id: sp804.h 530 2016-01-14 15:17:30Z ertl-hiro $ 53 53 */ 54 54 55 55 /* 56 * ARM Dual-Timer Moduleï¼SP804ï¼ã µãã¼ãã¢ã¸ã¥ã¼ã«56 * ARM Dual-Timer Moduleï¼SP804ï¼ã«é¢ããå®ç¾© 57 57 */ 58 58 -
asp3_wo_tecs/trunk/arch/arm_gcc/common/start.S
r302 r305 5 5 * Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory 6 6 * Toyohashi Univ. of Technology, JAPAN 7 * Copyright (C) 2005-201 4by Embedded and Real-Time Systems Laboratory7 * Copyright (C) 2005-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: start.S 349 2015-07-25 05:25:27Z ertl-hiro $54 * $Id: start.S 540 2016-01-16 02:15:41Z ertl-hiro $ 55 55 */ 56 56 … … 106 106 * BSS_STARTããBSS_ENDã¾ã§ãã¼ãã¯ãªã¢ããï¼ 107 107 */ 108 ldr r 1, =BSS_START108 ldr r0, =BSS_START 109 109 ldr r2, =BSS_END 110 cmp r 1, r2110 cmp r0, r2 111 111 bhs start_3 112 mov r0, #0 112 mov r1, #0 113 #ifdef TOPPERS_USE_STDLIB 114 sub r2, r2, r0 115 bl memset 116 #else /* TOPPERS_USE_STDLIB */ 113 117 ALABEL(start_2) 114 str r 0, [r1], #4115 cmp r 1, r2118 str r1, [r0], #4 119 cmp r0, r2 116 120 blo start_2 121 #endif /* TOPPERS_USE_STDLIB */ 117 122 ALABEL(start_3) 118 123 #endif /* TOPPERS_OMIT_BSS_INIT */ … … 125 130 * IDATA_STARTããIDATA_ENDã¾ã§ãï¼DATA_START以éã«ã³ãã¼ããï¼ 126 131 */ 127 ldr r 1, =DATA_START128 ldr r 3, =DATA_END129 cmp r 1, r3132 ldr r0, =DATA_START 133 ldr r2, =DATA_END 134 cmp r0, r2 130 135 bhs start_5 131 ldr r2, =IDATA_START 136 ldr r1, =IDATA_START 137 #ifdef TOPPERS_USE_STDLIB 138 sub r2, r2, r0 139 bl memcpy 140 #else /* TOPPERS_USE_STDLIB */ 132 141 ALABEL(start_4) 133 ldr r 0, [r2], #4134 str r 0, [r1], #4135 cmp r 1, r3142 ldr r3, [r1], #4 143 str r3, [r0], #4 144 cmp r0, r2 136 145 blo start_4 146 #endif /* TOPPERS_USE_STDLIB */ 137 147 ALABEL(start_5) 138 148 #endif /* TOPPERS_OMIT_DATA_INIT */ -
asp3_wo_tecs/trunk/arch/arm_gcc/mpcore/chip_kernel.h
r302 r305 51 51 * ã®è²¬ä»»ãè² ããªãï¼ 52 52 * 53 * $Id: chip_kernel.h 390 2015-08-01 02:03:34Z ertl-hiro $53 * $Id: chip_kernel.h 531 2016-01-14 15:19:13Z ertl-hiro $ 54 54 */ 55 55 … … 67 67 /* 68 68 * ãµãã¼ãã§ããæ©è½ã®å®ç¾© 69 * 70 * GICã§ã¯ï¼ena_intï¼dis_intããµãã¼ããããã¨ãã§ããï¼ 69 71 */ 70 72 #define TOPPERS_TARGET_SUPPORT_ENA_INT /* ena_int */ -
asp3_wo_tecs/trunk/arch/arm_gcc/mpcore/chip_kernel_impl.c
r302 r305 53 53 * ã®è²¬ä»»ãè² ããªãï¼ 54 54 * 55 * $Id: chip_kernel_impl.c 357 2015-07-25 12:05:26Z ertl-hiro $55 * $Id: chip_kernel_impl.c 538 2016-01-16 01:27:50Z ertl-hiro $ 56 56 */ 57 57 … … 71 71 { 72 72 /* 73 * ã³ã¢ä¾åã®åæå74 */75 core_initialize();76 77 /*78 73 * ãã£ãã·ã¥ããã£ã¹ã¨ã¼ãã« 79 74 */ … … 81 76 82 77 /* 83 * MMUãæå¹ã«78 * ã³ã¢ä¾åã®åæå 84 79 */ 85 arm_mmu_initialize();80 core_initialize(); 86 81 87 82 /* -
asp3_wo_tecs/trunk/arch/arm_gcc/mpcore/chip_timer.h
r302 r305 53 53 * ã®è²¬ä»»ãè² ããªãï¼ 54 54 * 55 * $Id: chip_timer.h 358 2015-07-26 10:26:23Z ertl-hiro $55 * $Id: chip_timer.h 537 2016-01-16 01:26:38Z ertl-hiro $ 56 56 */ 57 57 … … 60 60 èµã¿ã¤ãç¨ï¼ 61 61 * 62 * ARM11 MPCoreã«ã¯ï¼ã³ã¢æ¯ã«ã¿ã¤ãã¨ã¦ã©ããããã°ãããï¼ã¦ã©ãããã63 * ã °ã¯ï¼ã¿ã¤ãã¨ãã¦ä½¿ç¨ãããã¨ãã§ããããï¼ãã®2ã¤ã®ã¿ã¤ãã使ã£ã¦64 * é«å解è½ã¿ã¤ããå®ç¾ããï¼å65 ·ä½çã«ã¯ï¼ã¦ã©ãã ããã°ãã¿ã¤ãã¢ã¼ã66 * ã «è¨å®ãã¦ç¾å¨æå»ã®ç®¡çã®ããã«ç¨ãï¼ã¿ã¤ããç¸å¯¾æéå²è¾¼ã¿ã®çºç67 * ã®ããã«ç¨ããï¼62 * MPCoreã«ã¯ï¼ã³ã¢æ¯ã«ãã©ã¤ãã¼ãã¿ã¤ãã¨ãã©ã¤ãã¼ãã¦ã©ããããã° 63 * ãæã¤ï¼ã¦ã©ããããã°ã¯ï¼ã¿ã¤ãã¨ãã¦ä½¿ç¨ãããã¨ãã§ããããï¼ã 64 * ã®2ã¤ã®ã¿ã¤ãã使ã£ã¦é«å解è½ã¿ã¤ããå®ç¾ããï¼å 65 ·ä½çã«ã¯ï¼ã¦ã©ãã 66 * ããã°ãã¿ã¤ãã¢ã¼ãã«è¨å®ãã¦ç¾å¨æå»ã®ç®¡çã®ããã«ç¨ãï¼ã¿ã¤ãã 67 * ç¸å¯¾æéå²è¾¼ã¿ã®çºçã®ããã«ç¨ããï¼ 68 68 */ 69 69 -
asp3_wo_tecs/trunk/configure.rb
r304 r305 54 54 # ã®è²¬ä»»ãè² ããªãï¼ 55 55 # 56 # $Id: configure.rb 5 75 2016-02-02 23:16:20Z ertl-hiro $56 # $Id: configure.rb 585 2016-02-05 10:58:56Z ertl-hiro $ 57 57 # 58 58 … … 88 88 # ã®æå® 89 89 # -V <devtooldir> éçºãã¼ã«ï¼ã³ã³ãã¤ã©çï¼ã®ç½®ããã¦ãããã£ã¬ã¯ã㪠90 # -p <perl> perlã®ãã¹åï¼æ示çã«æå®ããå ´åï¼91 90 # -R <ruby> rubyã®ãã¹åï¼æ示çã«æå®ããå ´åï¼ 92 91 # -g <cfg> ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ï¼cfgï¼ã®ãã¹å 93 92 # -G <tecsgen> TECSã¸ã§ãã¬ã¼ã¿ï¼tecsgenï¼ã®ãã¹å 94 # -P <prcnum> ããã»ããµæ°ï¼ãã«ãããã»ããµå¯¾å¿ã«ã¼ãã«ã®å ´åï¼95 93 # -o <options> ã³ã³ãã¤ã«ãªãã·ã§ã³ï¼COPTSã«è¿½å ï¼ 96 94 # -O <options> ã·ã³ãã«å®ç¾©ãªãã·ã§ã³ï¼CDEFSã«è¿½å ï¼ … … 111 109 # % ../configure.rb -T ct11mpcore_gcc -O "-DTOPPERS_USE_QEMU" -A tSample2 -t 112 110 # ã¢ããªã±ã¼ã·ã§ã³ããã°ã©ã ã¯ï¼TECSçã®ãµã³ãã«ããã°ã©ã ã«ãªãï¼ 111 # 112 # 使ç¨ä¾(4) 113 # 114 # % ../configure.rb -T ct11mpcore_gcc PRC_NUM=4 115 # PRC_NUMã4ã«å®ç¾©ããï¼ 113 116 114 117 # … … 126 129 $enable_trace = "" 127 130 $devtooldir = "" 128 $perl = "perl"129 131 $ruby = "ruby" 130 $prc_num = ""131 132 $copts = [] 132 133 $cdefs = [] … … 136 137 # ãªãã·ã§ã³ã®å¦ç 137 138 # 138 option = {}139 139 OptionParser.new(nil, 22) do |opt| 140 140 opt.on("-T target", "taget name (mandatory)") do |val| … … 189 189 $devtooldir = val 190 190 end 191 opt.on("-p perl", "path of perl command") do |val|192 $perl = val193 end194 191 opt.on("-R ruby", "path of ruby command") do |val| 195 192 $ruby = val … … 200 197 opt.on("-G tecsgen", "path of TECS generator") do |val| 201 198 $tecsgen = val 202 end203 opt.on("-P prcnum", "number of processors") do |val|204 $prc_num = val205 199 end 206 200 opt.on("-o options", "compiler options") do |val| … … 307 301 $vartable["ENABLE_TRACE"] = $enable_trace 308 302 $vartable["DEVTOOLDIR"] = $devtooldir 309 $vartable["PERL"] = $perl310 303 $vartable["RUBY"] = $ruby 311 304 $vartable["CFG"] = $cfg 312 305 $vartable["TECSGEN"] = $tecsgen 313 $vartable["PRC_NUM"] = $prc_num314 306 $vartable["COPTS"] = $copts.join(" ") 315 307 $vartable["CDEFS"] = $cdefs.join(" ") 316 308 $vartable["LDFLAGS"] = $ldflags.join(" ") 317 309 $vartable["OBJEXT"] = GetObjectExtension() 310 ARGV.each do |arg| 311 if /^([A-Za-z0-9_]+)\s*\=\s*(.*)$/ =~ arg 312 $vartable[$1] = $2 313 else 314 $vartable[arg] = true 315 end 316 end 318 317 319 318 # -
asp3_wo_tecs/trunk/include/kernel.h
r302 r305 53 53 * ã®è²¬ä»»ãè² ããªãï¼ 54 54 * 55 * $Id: kernel.h 463 2015-10-18 14:25:55Z ertl-hiro $55 * $Id: kernel.h 520 2016-01-14 05:06:26Z ertl-hiro $ 56 56 */ 57 57 … … 548 548 #define TKERNEL_PRID UINT_C(0x0007) /* ã«ã¼ãã«ã®èå¥çªå· */ 549 549 #define TKERNEL_SPVER UINT_C(0xf630) /* ã«ã¼ãã«ä»æ§ã®ãã¼ã¸ã§ã³çªå· */ 550 #define TKERNEL_PRVER UINT_C(0x30 b0) /* ã«ã¼ãã«ã®ãã¼ã¸ã§ã³çªå· */550 #define TKERNEL_PRVER UINT_C(0x3000) /* ã«ã¼ãã«ã®ãã¼ã¸ã§ã³çªå· */ 551 551 552 552 /* -
asp3_wo_tecs/trunk/kernel/alarm.trb
r304 r305 53 53 # ã®è²¬ä»»ãè² ããªãï¼ 54 54 # 55 # $Id: alarm.trb 5 72 2016-02-01 14:40:09Z ertl-hiro $55 # $Id: alarm.trb 588 2016-02-05 12:54:58Z ertl-hiro $ 56 56 # 57 57 … … 65 65 end 66 66 67 def prepare( id, params)67 def prepare(key, params) 68 68 # almatrãç¡å¹ã®å ´åï¼E_RSATRï¼ï¼»NGKI2491ï¼½ 69 69 #ï¼TA_STA以å¤ã®ããããã»ããããã¦ããå ´åï¼ … … 74 74 # éç¥æ 75 75 å ±ã®å¦ç 76 params[:nfyhdr] = generateNotifyHandler( id, params, :almid)76 params[:nfyhdr] = generateNotifyHandler(key, params, :almid) 77 77 end 78 78 79 def generateInib( id, params)79 def generateInib(key, params) 80 80 return("(#{params[:almatr]}), (intptr_t)(#{params[:par1]}), " \ 81 81 "#{params[:nfyhdr]}") -
asp3_wo_tecs/trunk/kernel/cyclic.trb
r304 r305 53 53 # ã®è²¬ä»»ãè² ããªãï¼ 54 54 # 55 # $Id: cyclic.trb 5 72 2016-02-01 14:40:09Z ertl-hiro $55 # $Id: cyclic.trb 588 2016-02-05 12:54:58Z ertl-hiro $ 56 56 # 57 57 … … 65 65 end 66 66 67 def prepare( id, params)67 def prepare(key, params) 68 68 # cycatrãç¡å¹ã®å ´åï¼E_RSATRï¼ï¼»NGKI2383ï¼½ 69 69 #ï¼TA_STA以å¤ã®ããããã»ããããã¦ããå ´åï¼ … … 84 84 # éç¥æ 85 85 å ±ã®å¦ç 86 params[:nfyhdr] = generateNotifyHandler( id, params, :cycid)86 params[:nfyhdr] = generateNotifyHandler(key, params, :cycid) 87 87 end 88 88 89 def generateInib( id, params)89 def generateInib(key, params) 90 90 return("(#{params[:cycatr]}), (intptr_t)(#{params[:par1]}), " \ 91 91 "#{params[:nfyhdr]}, (#{params[:cyctim]}), (#{params[:cycphs]})") -
asp3_wo_tecs/trunk/kernel/dataqueue.trb
r304 r305 53 53 # ã®è²¬ä»»ãè² ããªãï¼ 54 54 # 55 # $Id: dataqueue.trb 5 72 2016-02-01 14:40:09Z ertl-hiro $55 # $Id: dataqueue.trb 588 2016-02-05 12:54:58Z ertl-hiro $ 56 56 # 57 57 … … 65 65 end 66 66 67 def prepare( id, params)67 def prepare(key, params) 68 68 # dtqatrãç¡å¹ã®å ´åï¼E_RSATRï¼ï¼»NGKI1669ï¼½ 69 69 #ï¼TA_TPRI以å¤ã®ããããã»ããããã¦ããå ´åï¼ … … 84 84 end 85 85 86 def generateInib( id, params)86 def generateInib(key, params) 87 87 if params[:dtqcnt] > 0 88 88 dtqmb = "_kernel_dtqmb_#{params[:dtqid]}" -
asp3_wo_tecs/trunk/kernel/eventflag.trb
r304 r305 53 53 # ã®è²¬ä»»ãè² ããªãï¼ 54 54 # 55 # $Id: eventflag.trb 5 72 2016-02-01 14:40:09Z ertl-hiro $55 # $Id: eventflag.trb 588 2016-02-05 12:54:58Z ertl-hiro $ 56 56 # 57 57 … … 65 65 end 66 66 67 def prepare( id, params)67 def prepare(key, params) 68 68 # flgatrãç¡å¹ã®å ´åï¼E_RSATRï¼ï¼»NGKI1562ï¼½ 69 69 #ï¼TA_TPRIï¼TA_WMULï¼TA_CLR以å¤ã®ããããã»ããããã¦ããå ´åï¼ … … 78 78 end 79 79 80 def generateInib( id, params)80 def generateInib(key, params) 81 81 return("(#{params[:flgatr]}), (#{params[:iflgptn]})") 82 82 end -
asp3_wo_tecs/trunk/kernel/exception.trb
r304 r305 53 53 # ã®è²¬ä»»ãè² ããªãï¼ 54 54 # 55 # $Id: exception.trb 5 72 2016-02-01 14:40:09Z ertl-hiro $55 # $Id: exception.trb 588 2016-02-05 12:54:58Z ertl-hiro $ 56 56 # 57 57 … … 68 68 # CPUä¾å¤ãã³ãã©ã«é¢ããã¨ã©ã¼ãã§ã㯠69 69 # 70 $cfgData[:DEF_EXC].each do | id, params|70 $cfgData[:DEF_EXC].each do |key, params| 71 71 # excnoãCPUä¾å¤ãã³ãã©çªå·ã¨ãã¦æ£ãããªãå ´åï¼E_PARï¼ï¼»NGKI3134ï¼½ 72 72 if $EXCNO_VALID.index(params[:excno]).nil? … … 99 99 # CPUä¾å¤ãã³ãã©ã®ã¨ã³ã㪠100 100 # 101 $cfgData[:DEF_EXC].each do | id, params|101 $cfgData[:DEF_EXC].each do |key, params| 102 102 $kernelCfgC.add("EXCHDR_ENTRY(#{params[:excno]}, " \ 103 103 "#{params[:excno].val}, #{params[:exchdr]})") … … 109 109 # 110 110 $kernelCfgC.add("const EXCINIB _kernel_excinib_table[TNUM_DEF_EXCNO] = {") 111 $cfgData[:DEF_EXC].each_with_index do |( id, params), index|111 $cfgData[:DEF_EXC].each_with_index do |(key, params), index| 112 112 $kernelCfgC.add(",") if index > 0 113 113 $kernelCfgC.append("\t{ (#{params[:excno]}), (#{params[:excatr]}), " \ -
asp3_wo_tecs/trunk/kernel/interrupt.trb
r304 r305 53 53 # ã®è²¬ä»»ãè² ããªãï¼ 54 54 # 55 # $Id: interrupt.trb 572 2016-02-01 14:40:09Z ertl-hiro $55 # $Id: interrupt.trb 612 2016-02-08 04:27:57Z ertl-hiro $ 56 56 # 57 57 … … 65 65 $kernelCfgH.add("#define TNUM_ISRID\t#{$cfgData[:CRE_ISR].size}") 66 66 67 $cfgData[:CRE_ISR].sort.each do | id, params|67 $cfgData[:CRE_ISR].sort.each do |key, params| 68 68 $kernelCfgH.add("#define #{params[:isrid]}\t#{params[:isrid].val}") 69 69 end … … 127 127 # å²è¾¼ã¿è¦æ±ã©ã¤ã³ã«é¢ããã¨ã©ã¼ãã§ã㯠128 128 # 129 $cfgData[:CFG_INT].each do | id, params|129 $cfgData[:CFG_INT].each do |key, params| 130 130 # intnoãå²è¾¼ã¿çªå·ã¨ãã¦æ£ãããªãå ´åï¼E_PARï¼ï¼»NGKI2972ï¼½ 131 131 if $INTNO_VALID.index(params[:intno]).nil? … … 172 172 # å²è¾¼ã¿ãã³ãã©ã«é¢ããã¨ã©ã¼ãã§ã㯠173 173 # 174 $cfgData[:DEF_INH].each do | id, params|174 $cfgData[:DEF_INH].each do |key, params| 175 175 # inhnoãå²è¾¼ã¿ãã³ãã©çªå·ã¨ãã¦æ£ãããªãå ´åï¼E_PARï¼ï¼»NGKI3055ï¼½ 176 176 if $INHNO_VALID.index(params[:inhno]).nil? … … 243 243 # å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ï¼ISRï¼ã«é¢ããã¨ã©ã¼ãã§ãã¯ã¨å²è¾¼ã¿ãã³ãã©ã®çæ 244 244 # 245 $cfgData[:CRE_ISR].sort.each do | id, params|245 $cfgData[:CRE_ISR].sort.each do |key, params| 246 246 # isratrãç¡å¹ã®å ´åï¼E_RSATRï¼ï¼»NGKI2998ï¼½ 247 247 #ï¼TARGET_ISRATR以å¤ã®ããããã»ããããã¦ããå ´åï¼ … … 264 264 265 265 $INTNO_CREISR_VALID.each do |intnoVal| 266 inhnoVal = $toInhnoVal[intnoVal]267 268 266 # å²è¾¼ã¿çªå·intnoã«å¯¾ãã¦ç»é²ãããISRã®ãªã¹ãã®ä½æ 269 267 isrParamsList = [] 270 $cfgData[:CRE_ISR].sort.each do | id, params|271 if params[:intno] == intnoVal268 $cfgData[:CRE_ISR].sort.each do |key, params| 269 if params[:intno].val == intnoVal 272 270 isrParamsList.push(params) 273 271 end … … 276 274 # å²è¾¼ã¿çªå·intnoã«å¯¾ãã¦ç»é²ãããISRãåå¨ããå ´å 277 275 if isrParamsList.size > 0 276 inhnoVal = $toInhnoVal[intnoVal] 277 278 278 # intnoã«å¯¾å¿ããinhnoã«å¯¾ãã¦DEF_INHãããå ´åï¼E_OBJï¼ï¼»NGKI3013ï¼½ 279 279 if $cfgData[:DEF_INH].has_key?(inhnoVal) … … 312 312 $cfgData[:DEF_INH][inhnoVal] = params 313 313 314 # ISRç¨ã®å²è¾¼ã¿ãã³ãã©314 # å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ç¨ã®å²è¾¼ã¿ãã³ãã© 315 315 $kernelCfgC.add("void") 316 316 $kernelCfgC.add("_kernel_inthdr_#{intnoVal}(void)") 317 317 $kernelCfgC.add("{") 318 # ISRãåªå318 # å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ãåªå 319 319 度é ã«å¼ã³åºã 320 isrParamsList.sort_by {|params| params[:isrpri]}.each_with_index \ 321 do |params, index| 320 i = 0 # stable sortãè¡ãããã®å¤æ° 321 isrParamsList.sort_by {|params| [ params[:isrpri].val, i += 1 ]} \ 322 .each_with_index do |params, index| 322 323 if index > 0 323 324 $kernelCfgC.add … … 353 354 # å²è¾¼ã¿ãã³ãã©ã®ã¨ã³ã㪠354 355 # 355 $cfgData[:DEF_INH].each do | id, params|356 $cfgData[:DEF_INH].each do |key, params| 356 357 if (params[:inhatr] & $TA_NONKERNEL) == 0 357 358 $kernelCfgC.add("INTHDR_ENTRY(#{params[:inhno]}, " \ … … 365 366 # 366 367 $kernelCfgC.add("const INHINIB _kernel_inhinib_table[TNUM_DEF_INHNO] = {") 367 $cfgData[:DEF_INH].each_with_index do |( id, params), index|368 $cfgData[:DEF_INH].each_with_index do |(key, params), index| 368 369 $kernelCfgC.add(",") if index > 0 369 370 if (params[:inhatr] & $TA_NONKERNEL) == 0 … … 402 403 if $cfgData[:CFG_INT].size != 0 403 404 $kernelCfgC.add("const INTINIB _kernel_intinib_table[TNUM_CFG_INTNO] = {") 404 $cfgData[:CFG_INT].each_with_index do |( id, params), index|405 $cfgData[:CFG_INT].each_with_index do |(key, params), index| 405 406 $kernelCfgC.add(",") if index > 0 406 407 $kernelCfgC.append("\t{ (#{params[:intno]}), (#{params[:intatr]}), " \ -
asp3_wo_tecs/trunk/kernel/kernel.trb
r304 r305 53 53 # ã®è²¬ä»»ãè² ããªãï¼ 54 54 # 55 # $Id: kernel.trb 5 72 2016-02-01 14:40:09Z ertl-hiro $55 # $Id: kernel.trb 588 2016-02-05 12:54:58Z ertl-hiro $ 56 56 # 57 57 … … 136 136 137 137 # ãªãã¸ã§ã¯ãã®IDçªå·ã®ãã¯ãå®ç¾©ã®çæ 138 $cfgData[@api].sort.each do | id, params|138 $cfgData[@api].sort.each do |key, params| 139 139 $kernelCfgH.add("#define #{params[@objid]}\t#{params[@objid].val}") 140 140 end … … 142 142 143 143 # ãªãã¸ã§ã¯ãã®IDçªå·ãä¿æããå¤æ° 144 if $USE_EXTERNAL_ID145 $cfgData[@api].sort.each do | id, params|144 if !$USE_EXTERNAL_ID.nil? 145 $cfgData[@api].sort.each do |key, params| 146 146 $kernelCfgC.add("const ID #{params[@objid]}_id" \ 147 147 " = #{params[@objid].val};") … … 157 157 if $cfgData[@api].size > 0 158 158 # äºåæºåï¼ã¨ã©ã¼ãã§ãã¯ï¼ã¡ã¢ãªé åã®çæï¼ 159 $cfgData[@api].sort.each do | id, params|160 prepare( id, params)159 $cfgData[@api].sort.each do |key, params| 160 prepare(key, params) 161 161 end 162 162 … … 171 171 $kernelCfgC.add("const #{@OBJ_S}INIB _kernel_#{@obj_s}inib_table" \ 172 172 "[TNUM_#{@OBJ}ID] = {") 173 $cfgData[@api].sort.each_with_index do |( id, params), index|173 $cfgData[@api].sort.each_with_index do |(key, params), index| 174 174 $kernelCfgC.add(",") if index > 0 175 $kernelCfgC.append("\t{ " + generateInib( id, params) + " }")175 $kernelCfgC.append("\t{ " + generateInib(key, params) + " }") 176 176 end 177 177 $kernelCfgC.add … … 197 197 # éç¥ãã³ãã©ã®çæé¢æ° 198 198 # 199 def generateNotifyHandler( id, params, objid)199 def generateNotifyHandler(key, params, objid) 200 200 # ãã©ã¡ã¼ã¿ãå¤æ°ã«æ ¼ç´ 201 201 nfymode = params[:nfymode] … … 376 376 377 377 # DEF_ICSãããå ´åã®å¦ç 378 params = $cfgData[:DEF_ICS] .values[0]378 params = $cfgData[:DEF_ICS][1] 379 379 380 380 # istkszãã¿ã¼ã²ããå®ç¾©ã®æå°å¤ï¼TARGET_MIN_ISTKSZï¼æªå®ç¾©ã®å ´åã¯1ï¼ … … 439 439 440 440 # ã¨ã©ã¼ãã§ã㯠441 $cfgData[:ATT_INI].each do | id, params|441 $cfgData[:ATT_INI].each do |key, params| 442 442 # iniatrãç¡å¹ã®å ´åï¼E_RSATRï¼ï¼»NGKI3241ï¼½ 443 443 #ï¼TA_NULLã§ãªãå ´åï¼ … … 453 453 { 454 454 EOS 455 $cfgData[:ATT_INI].each do | id, params|455 $cfgData[:ATT_INI].each do |key, params| 456 456 $kernelCfgC.add("\t((INIRTN)(#{params[:inirtn]}))" \ 457 457 "((intptr_t)(#{params[:exinf]}));") … … 465 465 466 466 # ã¨ã©ã¼ãã§ã㯠467 $cfgData[:ATT_TER].each do | id, params|467 $cfgData[:ATT_TER].each do |key, params| 468 468 # teratrãç¡å¹ã®å ´åï¼E_RSATRï¼ï¼»NGKI3248ï¼½ 469 469 #ï¼TA_NULLã§ãªãå ´åï¼ … … 479 479 { 480 480 EOS 481 $cfgData[:ATT_TER].reverse_each do | id, params|481 $cfgData[:ATT_TER].reverse_each do |key, params| 482 482 $kernelCfgC.add("\t((TERRTN)(#{params[:terrtn]}))" \ 483 483 "((intptr_t)(#{params[:exinf]}));") … … 489 489 # 490 490 $kernelCfgH.append(<<EOS) 491 492 491 #endif /* TOPPERS_KERNEL_CFG_H */ 493 492 EOS -
asp3_wo_tecs/trunk/kernel/kernel_check.trb
r304 r305 53 53 # ã®è²¬ä»»ãè² ããªãï¼ 54 54 # 55 # $Id: kernel_check.trb 5 72 2016-02-01 14:40:09Z ertl-hiro $55 # $Id: kernel_check.trb 588 2016-02-05 12:54:58Z ertl-hiro $ 56 56 # 57 57 … … 92 92 $tmax_dtqid = PEEK(SYMBOL("_kernel_tmax_dtqid"), $sizeof_ID) 93 93 94 def checkNotifyHandler( id, params, objid, exinf, nfyhdr)94 def checkNotifyHandler(key, params, objid, exinf, nfyhdr) 95 95 # ãã©ã¡ã¼ã¿ãå¤æ°ã«æ ¼ç´ 96 96 nfymode = params[:nfymode] … … 244 244 # 245 245 tinib = SYMBOL("_kernel_tinib_table") 246 $cfgData[:CRE_TSK].each do | id, params|246 $cfgData[:CRE_TSK].each do |key, params| 247 247 # ã¿ã¹ã¯ã®å 248 248 é çªå°ã®ãã§ãã¯ï¼»NGKI1033ï¼½ … … 258 258 é çªå°ã®ãã§ãã¯ï¼»NGKI1056ï¼½ 259 259 if $USE_TSKINICTXB == 1 260 stk = GetStackTskinictxb( id, params)260 stk = GetStackTskinictxb(key, params) 261 261 else 262 262 stk = PEEK(tinib + $offsetof_TINIB_stk, $sizeof_void_ptr) … … 273 273 274 274 # 275 # å¨æéç¥ã«é¢ãããã§ãã¯276 #277 cycinib = SYMBOL("_kernel_cycinib_table")278 $cfgData[:CRE_CYC].each do |id, params|279 exinf = PEEK(cycinib + $offsetof_CYCINIB_exinf, $sizeof_intptr_t)280 nfyhdr = PEEK(cycinib + $offsetof_CYCINIB_nfyhdr, $sizeof_FP)281 282 # éç¥æ283 å ±ã®ãã§ãã¯284 checkNotifyHandler(id, params, :cycid, exinf, nfyhdr)285 286 cycinib += $sizeof_CYCINIB287 end288 289 #290 # ã¢ã©ã¼ã éç¥ã«é¢ãããã§ãã¯291 #292 alminib = SYMBOL("_kernel_alminib_table")293 $cfgData[:CRE_ALM].each do |id, params|294 exinf = PEEK(alminib + $offsetof_ALMINIB_exinf, $sizeof_intptr_t)295 nfyhdr = PEEK(alminib + $offsetof_ALMINIB_nfyhdr, $sizeof_FP)296 297 # éç¥æ298 å ±ã®ãã§ãã¯299 checkNotifyHandler(id, params, :almid, exinf, nfyhdr)300 301 alminib += $sizeof_ALMINIB302 end303 304 #305 275 # åºå®é·ã¡ã¢ãªãã¼ã«ã«é¢ãããã§ã㯠306 276 # 307 277 mpfinib = SYMBOL("_kernel_mpfinib_table") 308 $cfgData[:CRE_MPF].each do | id, params|309 mpf = PEEK( alminib + $offsetof_MPFINIB_mpf, $sizeof_void_ptr)278 $cfgData[:CRE_MPF].each do |key, params| 279 mpf = PEEK(mpfinib + $offsetof_MPFINIB_mpf, $sizeof_void_ptr) 310 280 311 281 # åºå®é·ã¡ã¢ãªãã¼ã«é åã®å … … 322 292 323 293 # 294 # å¨æéç¥ã«é¢ãããã§ã㯠295 # 296 cycinib = SYMBOL("_kernel_cycinib_table") 297 $cfgData[:CRE_CYC].each do |key, params| 298 exinf = PEEK(cycinib + $offsetof_CYCINIB_exinf, $sizeof_intptr_t) 299 nfyhdr = PEEK(cycinib + $offsetof_CYCINIB_nfyhdr, $sizeof_FP) 300 301 # éç¥æ 302 å ±ã®ãã§ã㯠303 checkNotifyHandler(key, params, :cycid, exinf, nfyhdr) 304 305 cycinib += $sizeof_CYCINIB 306 end 307 308 # 309 # ã¢ã©ã¼ã éç¥ã«é¢ãããã§ã㯠310 # 311 alminib = SYMBOL("_kernel_alminib_table") 312 $cfgData[:CRE_ALM].each do |key, params| 313 exinf = PEEK(alminib + $offsetof_ALMINIB_exinf, $sizeof_intptr_t) 314 nfyhdr = PEEK(alminib + $offsetof_ALMINIB_nfyhdr, $sizeof_FP) 315 316 # éç¥æ 317 å ±ã®ãã§ã㯠318 checkNotifyHandler(key, params, :almid, exinf, nfyhdr) 319 320 alminib += $sizeof_ALMINIB 321 end 322 323 # 324 324 # éã¿ã¹ã¯ã³ã³ããã¹ãç¨ã®ã¹ã¿ãã¯é åã«é¢ãããã§ã㯠325 325 # … … 329 329 é çªå°ã®ãã§ãã¯ï¼»NGKI3222ï¼½ 330 330 if (istk & ($CHECK_STACK_ALIGN - 1)) != 0 331 error_wrong("E_PAR", $cfgData[:DEF_ICS][ 0], :istk, "not aligned")331 error_wrong("E_PAR", $cfgData[:DEF_ICS][1], :istk, "not aligned") 332 332 end 333 333 if $CHECK_STACK_NONNULL == 1 && istk == 0 334 error_wrong("E_PAR", $cfgData[:DEF_ICS][ 0], :istk, "null")335 end 334 error_wrong("E_PAR", $cfgData[:DEF_ICS][1], :istk, "null") 335 end -
asp3_wo_tecs/trunk/kernel/kernel_sym.def
r304 r305 1 USE_EXTERNAL_ID,1,,defined(USE_EXTERNAL_ID) 1 2 SIL_ENDIAN_BIG,1,,defined(SIL_ENDIAN_BIG) 2 3 SIL_ENDIAN_LITTLE,1,,defined(SIL_ENDIAN_LITTLE) -
asp3_wo_tecs/trunk/kernel/mempfix.trb
r304 r305 53 53 # ã®è²¬ä»»ãè² ããªãï¼ 54 54 # 55 # $Id: mempfix.trb 5 72 2016-02-01 14:40:09Z ertl-hiro $55 # $Id: mempfix.trb 588 2016-02-05 12:54:58Z ertl-hiro $ 56 56 # 57 57 … … 65 65 end 66 66 67 def prepare( id, params)67 def prepare(key, params) 68 68 # mpfatrãç¡å¹ã®å ´åï¼E_RSATRï¼ï¼»NGKI2225ï¼½ 69 69 #ï¼TA_TPRI以å¤ã®ããããã»ããããã¦ããå ´åï¼ … … 98 98 end 99 99 100 def generateInib( id, params)100 def generateInib(key, params) 101 101 if params[:mpf] == "NULL" 102 102 mpf = "_kernel_mpf_#{params[:mpfid]}" -
asp3_wo_tecs/trunk/kernel/mutex.trb
r304 r305 53 53 # ã®è²¬ä»»ãè² ããªãï¼ 54 54 # 55 # $Id: mutex.trb 5 72 2016-02-01 14:40:09Z ertl-hiro $55 # $Id: mutex.trb 588 2016-02-05 12:54:58Z ertl-hiro $ 56 56 # 57 57 … … 65 65 end 66 66 67 def prepare( id, params)67 def prepare(key, params) 68 68 # mtxatrãç¡å¹ã®å ´åï¼E_RSATRï¼ï¼»NGKI2025ï¼½ 69 69 # ï¼TA_NULLï¼TA_TPRIï¼TA_CEILINGã®ãããã§ããªãå ´åï¼ … … 98 98 end 99 99 100 def generateInib( id, params)100 def generateInib(key, params) 101 101 return("(#{params[:mtxatr]}), INT_PRIORITY(#{params[:ceilpri]})") 102 102 end -
asp3_wo_tecs/trunk/kernel/pridataq.trb
r304 r305 53 53 # ã®è²¬ä»»ãè² ããªãï¼ 54 54 # 55 # $Id: pridataq.trb 5 72 2016-02-01 14:40:09Z ertl-hiro $55 # $Id: pridataq.trb 588 2016-02-05 12:54:58Z ertl-hiro $ 56 56 # 57 57 … … 66 66 end 67 67 68 def prepare( id, params)68 def prepare(key, params) 69 69 # pdqatrãç¡å¹ã®å ´åï¼E_RSATRï¼ï¼»NGKI1804ï¼½ 70 70 #ï¼TA_TPRI以å¤ã®ããããã»ããããã¦ããå ´åï¼ … … 92 92 end 93 93 94 def generateInib( id, params)94 def generateInib(key, params) 95 95 if params[:pdqcnt] > 0 96 96 pdqmb = "_kernel_pdqmb_#{params[:pdqid]}" -
asp3_wo_tecs/trunk/kernel/semaphore.trb
r304 r305 53 53 # ã®è²¬ä»»ãè² ããªãï¼ 54 54 # 55 # $Id: semaphore.trb 5 72 2016-02-01 14:40:09Z ertl-hiro $55 # $Id: semaphore.trb 588 2016-02-05 12:54:58Z ertl-hiro $ 56 56 # 57 57 … … 65 65 end 66 66 67 def prepare( id, params)67 def prepare(key, params) 68 68 # sematrãç¡å¹ã®å ´åï¼E_RSATRï¼ï¼»NGKI1456ï¼½ 69 69 #ï¼TA_TPRI以å¤ã®ããããã»ããããã¦ããå ´åï¼ … … 83 83 end 84 84 85 def generateInib( id, params)85 def generateInib(key, params) 86 86 return("(#{params[:sematr]}), (#{params[:isemcnt]}), (#{params[:maxsem]})") 87 87 end -
asp3_wo_tecs/trunk/kernel/task.trb
r304 r305 53 53 # ã®è²¬ä»»ãè² ããªãï¼ 54 54 # 55 # $Id: task.trb 5 72 2016-02-01 14:40:09Z ertl-hiro $55 # $Id: task.trb 596 2016-02-06 17:08:56Z ertl-hiro $ 56 56 # 57 57 … … 65 65 end 66 66 67 def prepare( id, params)67 def prepare(key, params) 68 68 # tskatrãç¡å¹ã®å ´åï¼E_RSATRï¼ï¼»NGKI1028ï¼½ 69 69 #ï¼TA_ACTï¼TA_NOACTQUEï¼TARGET_TSKATR以å¤ã®ããããã»ããããã¦ããå ´åï¼ … … 83 83 end 84 84 85 # stkszãã¹ã¿ãã¯é åã®ãµã¤ãºã¨ãã¦æ£ãããªãå ´åï¼»NGKI1056ï¼½86 if (params[:stksz] & ($CHECK_STKSZ_ALIGN - 1)) != 087 error_wrong_id("E_PAR", params, :stksz, :tskid, "not aligned")88 end89 90 85 # ã¹ã¿ãã¯é åã®è¨å®ï¼»NGKI1041ï¼½ 91 86 if params[:stk] == "NULL" … … 94 89 params[:tinib_stk] = "_kernel_stack_#{params[:tskid]}" 95 90 else 91 # stkszãã¹ã¿ãã¯é åã®ãµã¤ãºã¨ãã¦æ£ãããªãå ´åï¼»NGKI1056ï¼½ 92 if (params[:stksz] & ($CHECK_STKSZ_ALIGN - 1)) != 0 93 error_wrong_id("E_PAR", params, :stksz, :tskid, "not aligned") 94 end 95 96 96 params[:tinib_stksz] = params[:stksz] 97 97 params[:tinib_stk] = "(void *)(#{params[:stk]})" … … 99 99 end 100 100 101 def generateInib( id, params)101 def generateInib(key, params) 102 102 if $USE_TSKINICTXB == 1 103 tskinictxb = GenerateTskinictxb( id, params)103 tskinictxb = GenerateTskinictxb(key, params) 104 104 else 105 105 tskinictxb = "#{params[:tinib_stksz]}, #{params[:tinib_stk]}" … … 124 124 $kernelCfgC.add("const ID _kernel_torder_table[TNUM_TSKID] = { ") 125 125 $kernelCfgC.append("\t") 126 $cfgData[:CRE_TSK].each_with_index do |( id, params), index|126 $cfgData[:CRE_TSK].each_with_index do |(key, params), index| 127 127 $kernelCfgC.append(", ") if index > 0 128 128 $kernelCfgC.append("#{params[:tskid]}") -
asp3_wo_tecs/trunk/kernel/time_event.c
r302 r305 85 85 /* 86 86 * ã¿ã¤ã ã¤ãã³ããã¼ãæä½ãã¯ã 87 * 88 * PARENTã¨CHILDã®ç´ ç´ãªå®ç¾©ã¯æ¬¡ã®éãã§ãããï¼ããå®è¡å¹çã®è¯ãã㯠89 * ãå®ç¾©ã¨ãã¦ããï¼ 90 * #define PARENT(p_tmevtn) (tmevt_heap + (((p_tmevtn) - tmevt_heap) >> 1)) 91 * #define LCHILD(p_tmevtn) (tmevt_heap + (((p_tmevtn) - tmevt_heap) << 1)) 92 * 93 * ä¸ã®PARENTã®å®ç¾©ã¯ï¼TMEVTNã®é 94 åãï¼sizeof(TMEVTN)ã®åä½ã§ã¢ã©ã¤ã³ 95 * ããã¦ãããã¨ãæ³å®ãã¦ããï¼ãã®åæãæç«ããªãå ´åã¯ï¼ä¸ã®å®ç¾© 96 * ã使ç¨ããå¿ 97 è¦ãããï¼ 98 */ 99 #define PARENT(p_tmevtn) /* 親ãã¼ããæ±ãã */ \ 100 ((TMEVTN *)(((((uintptr_t) tmevt_heap) \ 101 + ((uintptr_t)(p_tmevtn))) >> 1) & ~(sizeof(TMEVTN) - 1))) 102 #define LCHILD(p_tmevtn) /* å·¦ã®åãã¼ããæ±ãã */ \ 103 ((TMEVTN *)((((uintptr_t)(p_tmevtn)) << 1) - ((uintptr_t) tmevt_heap))) 104 87 */ 88 #define PARENT(p_tmevtn) (tmevt_heap + (((p_tmevtn) - tmevt_heap) >> 1)) 89 /* 親ãã¼ããæ±ãã */ 90 #define LCHILD(p_tmevtn) (tmevt_heap + (((p_tmevtn) - tmevt_heap) << 1)) 91 /* å·¦ã®åãã¼ããæ±ãã */ 105 92 /* 106 93 * ã¿ã¤ã ã¤ãã³ããã¼ãä¸ã®å -
asp3_wo_tecs/trunk/sample/Makefile
r304 r305 362 362 $(OBJCOPY) -O srec -S $(OBJFILE) $(OBJNAME).srec 363 363 364 # 365 # ã¨ã©ã¼ãã§ãã¯å¦ç 366 # 364 367 .PHONY: check 365 368 check: check.timestamp ; 366 369 check.timestamp: cfg2_out.db $(OBJNAME).syms $(OBJNAME).srec 367 $(CFG) --pass 3 --kernel asp $(INCLUDES) -T $(TARGET_CHECK_TRB) \370 $(CFG) --pass 3 --kernel asp -O $(INCLUDES) -T $(TARGET_CHECK_TRB) \ 368 371 --rom-symbol $(OBJNAME).syms --rom-image $(OBJNAME).srec 369 372 @echo "configuration check passed" -
asp3_wo_tecs/trunk/syssvc/histogram.h
r302 r305 69 69 * å®è¡æéåå¸è¨æ¸¬ã®åæå 70 70 */ 71 extern void init_hist(ID histid , uint_t maxval, uint_t histarea[]);71 extern void init_hist(ID histid); 72 72 73 73 /* -
asp3_wo_tecs/trunk/target/ct11mpcore_gcc/target_kernel_impl.h
r302 r305 78 78 * GICä¾åé¨ã使ç¨ããããã®å®ç¾© 79 79 */ 80 #define GIC_ARM11MPCORE 80 81 #define GIC_TNUM_INTNO DIC_TNUM_INTNO 81 #define GIC_PRI_LEVEL 1682 82 83 83 /* -
asp3_wo_tecs/trunk/target/dummy_gcc/dummy.h
r302 r305 66 66 #define TINTNO_HRT 0 /* é«å解è½ã¿ã¤ã */ 67 67 #define TINTNO_OVRTIMER 1 /* ãªã¼ãã©ã³ã¿ã¤ã */ 68 #define TINTNO_SIO 2 /* ã·ãªã¢ã«I/Oãã¼ã */68 #define TINTNO_SIO 2 /* SIOãã¼ã */ 69 69 70 70 #endif /* TOPPERS_DUMMY_H */ -
asp3_wo_tecs/trunk/target/dummy_gcc/target_kernel_impl.c
r302 r305 60 60 #include "kernel_impl.h" 61 61 #include "task.h" 62 #ifdef TOPPERS_SUPPORT_OVRHDR 63 #include "overrun.h" 64 #endif /* TOPPERS_SUPPORT_OVRHDR */ 62 65 63 66 /* -
asp3_wo_tecs/trunk/target/dummy_gcc/target_kernel_impl.h
r302 r305 65 65 66 66 #include <kernel.h> 67 #ifndef TOPPERS_MACRO_ONLY68 #ifdef TOPPERS_SUPPORT_OVRHDR69 #include "overrun.h"70 #endif /* TOPPERS_SUPPORT_OVRHDR */71 #endif /* TOPPERS_MACRO_ONLY */72 67 73 68 /* -
asp3_wo_tecs/trunk/target/nucleo_f401re_gcc/Makefile.target
r303 r305 55 55 56 56 # 57 # ã³ã³ãã£ã®ã¥ã¬ã¼ã¿é¢ä¿ã®å¤æ°ã®å®ç¾©58 #59 #CFG_TABS := $(CFG_TABS) --cfg1-def-table $(TARGETDIR)/target_def.csv60 #CFG1_OUT_LDFLAGS := $(LDFLAGS) -T $(TARGETDIR)/blueninja_ram_cfg1_out.ld61 62 63 #64 57 # 使ç¨ããã¿ã¤ã 65 58 # … … 91 84 # 92 85 cfg1_out.timestamp: $(TARGETDIR)/target_timer.cfg 93 94 #offset.timestamp: 95 #kernel_cfg.timestamp: $(TARGETDIR)/target_kernel.trb 96 #check.timestamp: $(TARGETDIR)/target_check.trb 86 offset.timestamp: 87 kernel_cfg.timestamp: $(TARGETDIR)/target_kernel.trb 88 check.timestamp: $(TARGETDIR)/target_check.trb 97 89 98 90 # -
asp3_wo_tecs/trunk/test/bit_kernel.c
r302 r305 4 4 * Advanced Standard Profile Kernel 5 5 * 6 * Copyright (C) 2005-201 5by Embedded and Real-Time Systems Laboratory6 * Copyright (C) 2005-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: bit_kernel.c 456 2015-08-16 06:11:51Z ertl-hiro $53 * $Id: bit_kernel.c 554 2016-01-17 13:21:59Z ertl-hiro $ 54 54 */ 55 55 … … 167 167 #endif /* PRIMAP_BIT */ 168 168 169 Inline bool_t 170 primap_empty(void) 171 { 172 #ifndef PRIMAP_LEVEL_2 173 return(ready_primap == 0U); 174 #else /* PRIMAP_LEVEL_2 */ 175 return(ready_primap1 == 0U); 176 #endif /* PRIMAP_LEVEL_2 */ 177 } 178 179 Inline uint16_t 180 primap_extract_bit(uint_t pri) 181 { 182 #ifndef PRIMAP_LEVEL_2 183 return(ready_primap & PRIMAP_BIT(pri)); 184 #else /* PRIMAP_LEVEL_2 */ 185 return(ready_primap2[pri / TBIT_PRIMAP] & PRIMAP_BIT(pri % TBIT_PRIMAP)); 186 #endif /* PRIMAP_LEVEL_2 */ 187 } 188 169 189 static ER 170 190 bit_schedcb(void) … … 178 198 */ 179 199 if (enadsp) { 180 if ( ready_primap == 0U) {200 if (primap_empty()) { 181 201 if (p_schedtsk != NULL) { 182 202 return(E_SYS_LINENO); … … 189 209 } 190 210 } 211 212 #ifdef PRIMAP_LEVEL_2 213 /* 214 * ready_primap1ã¨ready_primap2ã®æ´åæ§ã®æ¤æ» 215 */ 216 for (pri = 0; pri < TNUM_TPRI; pri += TBIT_PRIMAP) { 217 if (ready_primap2[pri / TBIT_PRIMAP] == 0U) { 218 if ((ready_primap1 & PRIMAP_BIT(pri / TBIT_PRIMAP)) != 0U) { 219 return(E_SYS_LINENO); 220 } 221 } 222 else { 223 if ((ready_primap1 & PRIMAP_BIT(pri / TBIT_PRIMAP)) == 0U) { 224 return(E_SYS_LINENO); 225 } 226 } 227 } 228 #endif /* PRIMAP_LEVEL_2 */ 191 229 192 230 /* … … 196 234 p_queue = ready_queue[pri].p_next; 197 235 if (p_queue == &ready_queue[pri]) { 198 if ( (ready_primap & PRIMAP_BIT(pri)) != 0U) {236 if (primap_extract_bit(pri) != 0U) { 199 237 return(E_SYS_LINENO); 200 238 } 201 239 } 202 240 else { 203 if ( (ready_primap & PRIMAP_BIT(pri)) == 0U) {241 if (primap_extract_bit(pri) == 0U) { 204 242 return(E_SYS_LINENO); 205 243 } -
asp3_wo_tecs/trunk/test/perf0.c
r302 r305 50 50 * ã®è²¬ä»»ãè² ããªãï¼ 51 51 * 52 * $Id: perf0.c 50 6 2016-01-12 01:46:49Z ertl-hiro $52 * $Id: perf0.c 509 2016-01-12 06:06:14Z ertl-hiro $ 53 53 */ 54 54 … … 71 71 */ 72 72 #define NO_MEASURE 10000U /* è¨æ¸¬åæ° */ 73 #define MAX_TIME 1000U /* å®è¡æéåå¸ãè¨é²ããæ大æé */74 75 /*76 * å®è¡æéåå¸ãè¨é²ããã¡ã¢ãªé å77 */78 static uint_t histarea1[MAX_TIME + 1];79 73 80 74 /* … … 86 80 87 81 syslog_0(LOG_NOTICE, "Performance evaluation program (0)"); 88 init_hist(1 , MAX_TIME, histarea1);82 init_hist(1); 89 83 90 84 for (i = 0; i < NO_MEASURE; i++) { -
asp3_wo_tecs/trunk/test/perf1.c
r302 r305 50 50 * ã®è²¬ä»»ãè² ããªãï¼ 51 51 * 52 * $Id: perf1.c 50 6 2016-01-12 01:46:49Z ertl-hiro $52 * $Id: perf1.c 509 2016-01-12 06:06:14Z ertl-hiro $ 53 53 */ 54 54 … … 71 71 */ 72 72 #define NO_MEASURE 10000U /* è¨æ¸¬åæ° */ 73 #define MAX_TIME 1000U /* å®è¡æéåå¸ãè¨é²ããæ大æé */74 75 /*76 * å®è¡æéåå¸ãè¨é²ããã¡ã¢ãªé å77 */78 static uint_t histarea1[MAX_TIME + 1];79 static uint_t histarea2[MAX_TIME + 1];80 73 81 74 /* … … 121 114 { 122 115 syslog_0(LOG_NOTICE, "Performance evaluation program (1)"); 123 init_hist(1 , MAX_TIME, histarea1);124 init_hist(2 , MAX_TIME, histarea2);116 init_hist(1); 117 init_hist(2); 125 118 126 119 act_tsk(TASK1); -
asp3_wo_tecs/trunk/test/perf2.c
r302 r305 50 50 * ã®è²¬ä»»ãè² ããªãï¼ 51 51 * 52 * $Id: perf2.c 50 6 2016-01-12 01:46:49Z ertl-hiro $52 * $Id: perf2.c 509 2016-01-12 06:06:14Z ertl-hiro $ 53 53 */ 54 54 … … 73 73 */ 74 74 #define NO_MEASURE 10000U /* è¨æ¸¬åæ° */ 75 #define MAX_TIME 1000U /* å®è¡æéåå¸ãè¨é²ããæ大æé */76 77 /*78 * å®è¡æéåå¸ãè¨é²ããã¡ã¢ãªé å79 */80 static uint_t histarea1[MAX_TIME + 1];81 82 75 /* 83 76 * è¨æ¸¬ã«ã¼ãã³ … … 91 84 92 85 ini_pdq(PDQ1); 93 init_hist(1 , MAX_TIME, histarea1);86 init_hist(1); 94 87 95 88 for (i = 0; i < n; i++) { -
asp3_wo_tecs/trunk/test/perf3.c
r302 r305 50 50 * ã®è²¬ä»»ãè² ããªãï¼ 51 51 * 52 * $Id: perf3.c 50 6 2016-01-12 01:46:49Z ertl-hiro $52 * $Id: perf3.c 509 2016-01-12 06:06:14Z ertl-hiro $ 53 53 */ 54 54 … … 73 73 */ 74 74 #define NO_MEASURE 10000U /* è¨æ¸¬åæ° */ 75 #define MAX_TIME 1000U /* å®è¡æéåå¸ãè¨é²ããæ大æé */76 77 /*78 * å®è¡æéåå¸ãè¨é²ããã¡ã¢ãªé å79 */80 static uint_t histarea1[MAX_TIME + 1];81 75 82 76 /* … … 109 103 uint_t i, j; 110 104 111 init_hist(1 , MAX_TIME, histarea1);105 init_hist(1); 112 106 113 107 for (i = 0; i < NO_MEASURE; i++) { -
asp3_wo_tecs/trunk/test/perf4.c
r302 r305 50 50 * ã®è²¬ä»»ãè² ããªãï¼ 51 51 * 52 * $Id: perf4.c 50 6 2016-01-12 01:46:49Z ertl-hiro $52 * $Id: perf4.c 509 2016-01-12 06:06:14Z ertl-hiro $ 53 53 */ 54 54 … … 100 100 */ 101 101 #define NO_MEASURE 10000U /* è¨æ¸¬åæ° */ 102 #define MAX_TIME 1000U /* å®è¡æéåå¸ãè¨é²ããæ大æé */103 104 /*105 * å®è¡æéåå¸ãè¨é²ããã¡ã¢ãªé å106 */107 static uint_t histarea1[MAX_TIME + 1];108 static uint_t histarea2[MAX_TIME + 1];109 static uint_t histarea3[MAX_TIME + 1];110 102 111 103 /* … … 174 166 175 167 syslog_0(LOG_NOTICE, "Performance evaluation program (4)"); 176 init_hist(1 , MAX_TIME, histarea1);177 init_hist(2 , MAX_TIME, histarea2);178 init_hist(3 , MAX_TIME, histarea3);168 init_hist(1); 169 init_hist(2); 170 init_hist(3); 179 171 180 172 /* -
asp3_wo_tecs/trunk/test/perf5.c
r302 r305 3 3 * Toyohashi Open Platform for Embedded Real-Time Systems 4 4 * 5 * Copyright (C) 201 6 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: perf5.c 5 06 2016-01-12 01:46:49Z ertl-hiro $52 * $Id: perf5.c 544 2016-01-16 05:34:11Z ertl-hiro $ 53 53 */ 54 54 … … 71 71 */ 72 72 #define NO_MEASURE 10000U /* è¨æ¸¬åæ° */ 73 #define MAX_TIME 1000U /* å®è¡æéåå¸ãè¨é²ããæ大æé */74 75 /*76 * å®è¡æéåå¸ãè¨é²ããã¡ã¢ãªé å77 */78 static uint_t histarea1[MAX_TIME + 1];79 static uint_t histarea2[MAX_TIME + 1];80 static uint_t histarea3[MAX_TIME + 1];81 static uint_t histarea4[MAX_TIME + 1];82 static uint_t histarea5[MAX_TIME + 1];83 static uint_t histarea6[MAX_TIME + 1];84 73 85 74 /* … … 123 112 124 113 syslog_0(LOG_NOTICE, "Performance evaluation program (5)"); 125 init_hist(1 , MAX_TIME, histarea1);126 init_hist(2 , MAX_TIME, histarea2);127 init_hist(3 , MAX_TIME, histarea3);128 init_hist(4 , MAX_TIME, histarea4);129 init_hist(5 , MAX_TIME, histarea5);130 init_hist(6 , MAX_TIME, histarea6);114 init_hist(1); 115 init_hist(2); 116 init_hist(3); 117 init_hist(4); 118 init_hist(5); 119 init_hist(6); 131 120 132 121 /* -
asp3_wo_tecs/trunk/test/test_flg1.c
r304 r305 50 50 * ã®è²¬ä»»ãè² ããªãï¼ 51 51 * 52 * $Id: test_flg1.c 5 79 2016-02-03 07:29:11Z ertl-hiro $52 * $Id: test_flg1.c 599 2016-02-07 03:33:35Z ertl-hiro $ 53 53 */ 54 54 … … 169 169 * TASK3: ä½åªå 170 170 度ã¿ã¹ã¯ 171 * TASK4: ä¸åªå172 度ã¿ã¹ã¯173 * TASK5: ä¸åªå174 度ã¿ã¹ã¯175 171 * ALM1: ã¢ã©ã¼ã ãã³ãã© 176 172 * FLG1: TA_NULLå±æ§ï¼åæããããã¿ã¼ã³0x00 … … 191 187 * 2: loc_cpu() 192 188 * set_flg(FLG1, 0x01) -> E_CTX ... (A-1) 193 * wai_flg(FLG1)194 189 * wai_flg(FLG1, 0x01, TWF_ORW, &flgptn) -> E_CTX ... (D-2) 195 190 * unl_cpu() … … 343 338 #include "syssvc/test_svc.h" 344 339 #include "kernel_cfg.h" 345 #include "test_ sem1.h"340 #include "test_flg1.h" 346 341 347 342 /* DO NOT DELETE THIS LINE -- gentest depends on it. */ -
asp3_wo_tecs/trunk/test/test_flg1.h
r304 r305 3 3 * Toyohashi Open Platform for Embedded Real-Time Systems 4 4 * 5 * Copyright (C) 20 08-2014by 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_flg1.h 5 79 2016-02-03 07:29:11Z ertl-hiro $52 * $Id: test_flg1.h 599 2016-02-07 03:33:35Z ertl-hiro $ 53 53 */ 54 54 55 55 /* 56 * ã »ããã©æ©è½ã®ãã¹ã(1)56 * ã¤ãã³ããã©ã°æ©è½ã®ãã¹ã(1) 57 57 */ 58 58 -
asp3_wo_tecs/trunk/test/test_raster2.c
r302 r305 50 50 * ã®è²¬ä»»ãè² ããªãï¼ 51 51 * 52 * $Id: test_raster2.c 310 2015-02-08 13:46:46Z ertl-hiro $52 * $Id: test_raster2.c 603 2016-02-07 12:42:10Z ertl-hiro $ 53 53 */ 54 54 … … 124 124 ã«ï¼»NGKI1178ï¼½ 125 125 * ASPã«ã¼ãã«ã«é©ç¨ãããªãè¦æ±ï¼ 126 * ï¼»NGKI3 485][NGKI3490][NGKI3497ï¼½126 * ï¼»NGKI3764][NGKI3765][NGKI3497ï¼½ 127 127 * 128 128 * ã使ç¨ãªã½ã¼ã¹ã
Note:
See TracChangeset
for help on using the changeset viewer.