$(OBJS_DIR)/pget_mpf.$(EXT_OBJ): $(MPFOBJ_DIR)/pget_mpf.c $(COMMON_HEADERS) $(MPFOBJ_HEADERS)
$(OBJS_DIR)/rel_mpf.$(EXT_OBJ): $(MPFOBJ_DIR)/rel_mpf.c $(COMMON_HEADERS) $(MPFOBJ_HEADERS)
+$(OBJS_DIR)/set_tim.$(EXT_OBJ): $(TIMOBJ_DIR)/set_tim.c $(COMMON_HEADERS)
+$(OBJS_DIR)/get_tim.$(EXT_OBJ): $(TIMOBJ_DIR)/get_tim.c $(COMMON_HEADERS)
+$(OBJS_DIR)/isig_tim.$(EXT_OBJ): $(TIMOBJ_DIR)/isig_tim.c $(COMMON_HEADERS)
-$(OBJS_DIR)/cre_cyc.$(EXT_OBJ): $(CYCOBJ_DIR)/cre_cyc.c $(COMMON_HEADERS) $(CYCOBJ_HEADERS)
+$(OBJS_DIR)/cre_cyc.$(EXT_OBJ): $(CYCOBJ_DIR)/cre_cyc.c $(COMMON_HEADERS) $(CYCOBJ_HEADERS)
$(OBJS_DIR)/acre_cyc.$(EXT_OBJ): $(CYCOBJ_DIR)/acre_cyc.c $(COMMON_HEADERS) $(CYCOBJ_HEADERS)
$(OBJS_DIR)/kcre_cyc.$(EXT_OBJ): $(CYCOBJ_DIR)/kcre_cyc.c $(COMMON_HEADERS) $(CYCOBJ_HEADERS)
+$(OBJS_DIR)/del_cyc.$(EXT_OBJ): $(CYCOBJ_DIR)/del_cyc.c $(COMMON_HEADERS) $(CYCOBJ_HEADERS)
+$(OBJS_DIR)/sta_cyc.$(EXT_OBJ): $(CYCOBJ_DIR)/sta_cyc.c $(COMMON_HEADERS) $(CYCOBJ_HEADERS)
+$(OBJS_DIR)/stp_cyc.$(EXT_OBJ): $(CYCOBJ_DIR)/stp_cyc.c $(COMMON_HEADERS) $(CYCOBJ_HEADERS)
+$(OBJS_DIR)/ref_cyc.$(EXT_OBJ): $(CYCOBJ_DIR)/ref_cyc.c $(COMMON_HEADERS) $(CYCOBJ_HEADERS)
$(OBJS_DIR)/kcyc_hdr.$(EXT_OBJ): $(CYCOBJ_DIR)/kcyc_hdr.c $(COMMON_HEADERS) $(CYCOBJ_HEADERS)
-$(OBJS_DIR)/del_cyc.$(EXT_OBJ): $(CYCOBJ_DIR)/del_cyc.c $(COMMON_HEADERS) $(CYCOBJ_HEADERS)
-$(OBJS_DIR)/sta_cyc.$(EXT_OBJ): $(CYCOBJ_DIR)/sta_cyc.c $(COMMON_HEADERS) $(CYCOBJ_HEADERS)
-$(OBJS_DIR)/stp_cyc.$(EXT_OBJ): $(CYCOBJ_DIR)/stp_cyc.c $(COMMON_HEADERS) $(CYCOBJ_HEADERS)
-$(OBJS_DIR)/ref_cyc.$(EXT_OBJ): $(CYCOBJ_DIR)/ref_cyc.c $(COMMON_HEADERS) $(CYCOBJ_HEADERS)
-
-
-$(OBJS_DIR)/set_tim.$(EXT_OBJ): $(TIMOBJ_DIR)/set_tim.c $(COMMON_HEADERS)
-$(OBJS_DIR)/get_tim.$(EXT_OBJ): $(TIMOBJ_DIR)/get_tim.c $(COMMON_HEADERS)
-$(OBJS_DIR)/isig_tim.$(EXT_OBJ): $(TIMOBJ_DIR)/isig_tim.c $(COMMON_HEADERS)
$(OBJS_DIR)/def_inh.$(EXT_OBJ): $(INHOBJ_DIR)/def_inh.c $(COMMON_HEADERS) $(INHOBJ_HEADERS)
$(OBJS_DIR)/sta_inh.$(EXT_OBJ): $(INHOBJ_DIR)/sta_inh.c $(COMMON_HEADERS) $(INHOBJ_HEADERS)
CSRCS += $(MPFOBJ_DIR)/rel_mpf.c
-# Cycle
+# System Time Management
+TIMOBJ_DIR = $(KERNEL_OBJ_DIR)/tim
+SRC_DIRS += $(TIMOBJ_DIR)
+CSRCS += $(TIMOBJ_DIR)/set_tim.c
+CSRCS += $(TIMOBJ_DIR)/get_tim.c
+CSRCS += $(TIMOBJ_DIR)/isig_tim.c
+
+
+# Cyclic Handlers
CYCOBJ_DIR = $(KERNEL_OBJ_DIR)/cyc
SRC_DIRS += $(CYCOBJ_DIR)
CSRCS += $(CYCOBJ_DIR)/cre_cyc.c
CSRCS += $(CYCOBJ_DIR)/acre_cyc.c
CSRCS += $(CYCOBJ_DIR)/kcre_cyc.c
-CSRCS += $(CYCOBJ_DIR)/kcyc_hdr.c
CSRCS += $(CYCOBJ_DIR)/del_cyc.c
CSRCS += $(CYCOBJ_DIR)/sta_cyc.c
CSRCS += $(CYCOBJ_DIR)/stp_cyc.c
CSRCS += $(CYCOBJ_DIR)/ref_cyc.c
-
-
-# System Time Management
-TIMOBJ_DIR = $(KERNEL_OBJ_DIR)/tim
-SRC_DIRS += $(TIMOBJ_DIR)
-CSRCS += $(TIMOBJ_DIR)/set_tim.c
-CSRCS += $(TIMOBJ_DIR)/get_tim.c
-CSRCS += $(TIMOBJ_DIR)/isig_tim.c
+CSRCS += $(CYCOBJ_DIR)/kcyc_hdr.c
# Interrupt handlers
$(CMD_CP) $(TIMOBJ_DIR)\isig_tim.c $(OBJS_DIR)\
+$(OBJS_DIR)\cre_cyc.c : $(CYCOBJ_DIR)\cre_cyc.c
+ $(CMD_CP) $(CYCOBJ_DIR)\cre_cyc.c $(OBJS_DIR)\
+
+$(OBJS_DIR)\acre_cyc.c : $(CYCOBJ_DIR)\acre_cyc.c
+ $(CMD_CP) $(CYCOBJ_DIR)\acre_cyc.c $(OBJS_DIR)\
+
+$(OBJS_DIR)\kcre_cyc.c : $(CYCOBJ_DIR)\kcre_cyc.c
+ $(CMD_CP) $(CYCOBJ_DIR)\kcre_cyc.c $(OBJS_DIR)\
+
+$(OBJS_DIR)\del_cyc.c : $(CYCOBJ_DIR)\del_cyc.c
+ $(CMD_CP) $(CYCOBJ_DIR)\del_cyc.c $(OBJS_DIR)\
+
+$(OBJS_DIR)\sta_cyc.c : $(CYCOBJ_DIR)\sta_cyc.c
+ $(CMD_CP) $(CYCOBJ_DIR)\sta_cyc.c $(OBJS_DIR)\
+
+$(OBJS_DIR)\stp_cyc.c : $(CYCOBJ_DIR)\stp_cyc.c
+ $(CMD_CP) $(CYCOBJ_DIR)\stp_cyc.c $(OBJS_DIR)\
+
+$(OBJS_DIR)\ref_cyc.c : $(CYCOBJ_DIR)\ref_cyc.c
+ $(CMD_CP) $(CYCOBJ_DIR)\ref_cyc.c $(OBJS_DIR)\
+
+$(OBJS_DIR)\kcyc_hdr.c : $(CYCOBJ_DIR)\kcyc_hdr.c
+ $(CMD_CP) $(CYCOBJ_DIR)\kcyc_hdr.c $(OBJS_DIR)\
+
+
$(OBJS_DIR)\def_inh.c : $(INHOBJ_DIR)\def_inh.c
$(CMD_CP) $(INHOBJ_DIR)\def_inh.c $(OBJS_DIR)\
$(OBJS_DIR)\exe_isr..$(EXT_OBJ): $(OBJS_DIR)\get_tim.c $(COMMON_HEADERS)
$(OBJS_DIR)\exe_isr..$(EXT_OBJ): $(OBJS_DIR)\isig_tim.c $(COMMON_HEADERS)
+$(OBJS_DIR)\exe_isr..$(EXT_OBJ): $(OBJS_DIR)\cre_cyc.c $(COMMON_HEADERS) $(CYCOBJ_HEADERS)
+$(OBJS_DIR)\exe_isr..$(EXT_OBJ): $(OBJS_DIR)\acre_cyc.c $(COMMON_HEADERS) $(CYCOBJ_HEADERS)
+$(OBJS_DIR)\exe_isr..$(EXT_OBJ): $(OBJS_DIR)\kcre_cyc.c $(COMMON_HEADERS) $(CYCOBJ_HEADERS)
+$(OBJS_DIR)\exe_isr..$(EXT_OBJ): $(OBJS_DIR)\del_cyc.c $(COMMON_HEADERS) $(CYCOBJ_HEADERS)
+$(OBJS_DIR)\exe_isr..$(EXT_OBJ): $(OBJS_DIR)\sta_cyc.c $(COMMON_HEADERS) $(CYCOBJ_HEADERS)
+$(OBJS_DIR)\exe_isr..$(EXT_OBJ): $(OBJS_DIR)\stp_cyc.c $(COMMON_HEADERS) $(CYCOBJ_HEADERS)
+$(OBJS_DIR)\exe_isr..$(EXT_OBJ): $(OBJS_DIR)\ref_cyc.c $(COMMON_HEADERS) $(CYCOBJ_HEADERS)
+$(OBJS_DIR)\exe_isr..$(EXT_OBJ): $(OBJS_DIR)\kcyc_hdr.c $(COMMON_HEADERS) $(CYCOBJ_HEADERS)
+
$(OBJS_DIR)\exe_isr..$(EXT_OBJ): $(OBJS_DIR)\def_inh.c $(COMMON_HEADERS) $(INHOBJ_HEADERS)
$(OBJS_DIR)\exe_isr..$(EXT_OBJ): $(OBJS_DIR)\sta_inh.c $(COMMON_HEADERS) $(INHOBJ_HEADERS)
$(OBJS_DIR)\exe_isr..$(EXT_OBJ): $(OBJS_DIR)\exe_inh.c $(COMMON_HEADERS) $(INHOBJ_HEADERS)
MPFOBJ_HEADERS = $(KERNEL_INC_DIR)\object\mpfobj.h
+CYCOBJ_HEADERS = $(KERNEL_INC_DIR)\object\cycobj.h
+
INHOBJ_HEADERS = $(KERNEL_INC_DIR)\object\inhobj.h
ISROBJ_HEADERS = $(KERNEL_INC_DIR)\object\isrobj.h
OBJS = $(OBJS) $(OBJS_DIR)\isig_tim.$(EXT_OBJ)
+# Cyclic Handlers
+CYCOBJ_DIR = $(KERNEL_OBJ_DIR)\cyc
+CSRCS = $(CSRCS) $(CYCOBJ_DIR)\cre_cyc.c
+CSRCS = $(CSRCS) $(CYCOBJ_DIR)\acre_cyc.c
+CSRCS = $(CSRCS) $(CYCOBJ_DIR)\kcre_cyc.c
+CSRCS = $(CSRCS) $(CYCOBJ_DIR)\del_cyc.c
+CSRCS = $(CSRCS) $(CYCOBJ_DIR)\sta_cyc.c
+CSRCS = $(CSRCS) $(CYCOBJ_DIR)\stp_cyc.c
+CSRCS = $(CSRCS) $(CYCOBJ_DIR)\ref_cyc.c
+CSRCS = $(CSRCS) $(CYCOBJ_DIR)\kcyc_hdr.c
+OBJS = $(OBJS) $(OBJS_DIR)\cre_cyc.$(EXT_OBJ)
+OBJS = $(OBJS) $(OBJS_DIR)\acre_cyc.$(EXT_OBJ)
+OBJS = $(OBJS) $(OBJS_DIR)\kcre_cyc.$(EXT_OBJ)
+OBJS = $(OBJS) $(OBJS_DIR)\del_cyc.$(EXT_OBJ)
+OBJS = $(OBJS) $(OBJS_DIR)\sta_cyc.$(EXT_OBJ)
+OBJS = $(OBJS) $(OBJS_DIR)\stp_cyc.$(EXT_OBJ)
+OBJS = $(OBJS) $(OBJS_DIR)\ref_cyc.$(EXT_OBJ)
+OBJS = $(OBJS) $(OBJS_DIR)\kcyc_hdr.$(EXT_OBJ)
+
+
# Interrupt handlers
INHOBJ_DIR = $(KERNEL_OBJ_DIR)\inh
CSRCS = $(CSRCS) $(INHOBJ_DIR)\def_inh.c
"isig_tim.c",
],
[
+ "Cyclic Handlers",
+ "\$(COMMON_HEADERS) \$(CYCOBJ_HEADERS)",
+ "\$(KERNEL_OBJ_DIR)/cyc",
+ "CYCOBJ_DIR",
+ "cre_cyc.c",
+ "acre_cyc.c",
+ "kcre_cyc.c",
+ "del_cyc.c",
+ "sta_cyc.c",
+ "stp_cyc.c",
+ "ref_cyc.c",
+ "kcyc_hdr.c",
+ ],
+ [
"Interrupt handlers",
"\$(COMMON_HEADERS) \$(INHOBJ_HEADERS)",
"\$(KERNEL_OBJ_DIR)/inh",
MPFOBJ_HEADERS = \$(KERNEL_INC_DIR)/object/mpfobj.h
+CYCOBJ_HEADERS = \$(KERNEL_INC_DIR)/object/cycobj.h
+
INHOBJ_HEADERS = \$(KERNEL_INC_DIR)/object/inhobj.h
ISROBJ_HEADERS = \$(KERNEL_INC_DIR)/object/isrobj.h
/* %jp{ISRCB領域がポインタ管理で、ROM/RAM分離の場合} */
VP mem;
SIZE memsz;
-
+
/* %jp{メモリサイズ決定} */
memsz = _KERNEL_SYS_ALG_HEP(sizeof(_KERNEL_T_ISRCB))
+ _KERNEL_SYS_ALG_HEP(sizeof(_KERNEL_T_ISRCB_RO));
-
+
/* %jp{メモリ確保} */
mem = _KERNEL_SYS_ALC_HEP(memsz);
-
+
/* %jp{メモリ不足チェック} */
#if _KERNEL_SPT_KCRE_ISR_E_NOMEM
if ( mem == NULL )