Index: /asp_ccsproject/trunk/asp/arch/arm_m_gcc/MANIFEST
===================================================================
--- /asp_ccsproject/trunk/asp/arch/arm_m_gcc/MANIFEST	(revision 85)
+++ /asp_ccsproject/trunk/asp/arch/arm_m_gcc/MANIFEST	(revision 85)
@@ -0,0 +1,31 @@
+PACKAGE asp_arch_arm_m_gcc
+VERSION 1.7.0
+
+MANIFEST
+README.txt
+
+common/arm_m.h
+common/core.tf
+common/core_asm.inc
+common/core_cfg1_out.h
+common/core_check.tf
+common/core_config.c
+common/core_config.h
+common/core_def.csv
+common/core_design.txt
+common/core_insn.h
+common/core_kernel.h
+common/core_offset.tf
+common/core_rename.def
+common/core_rename.h
+common/core_sil.h
+common/core_stddef.h
+common/core_support.S
+common/core_test.h
+common/core_timer.c
+common/core_timer.cfg
+common/core_timer.h
+common/core_unrename.h
+common/core_user.txt
+common/Makefile.core
+common/start.S
Index: /asp_ccsproject/trunk/asp/arch/arm_m_gcc/README.txt
===================================================================
--- /asp_ccsproject/trunk/asp/arch/arm_m_gcc/README.txt	(revision 85)
+++ /asp_ccsproject/trunk/asp/arch/arm_m_gcc/README.txt	(revision 85)
@@ -0,0 +1,28 @@
+                  ARM-Mä¾å­é¨(GCCç) ãã£ã¬ã¯ããªè§£èª¬
+
+                                   Last Modified: 2011 Nov 23 01:06:46
+
+
+æ¬ãã£ã¬ã¯ããªï¼./arch/arm_m_gccï¼ã¯ï¼armv7mã¢ã¼ã­ãã¯ãã£ã®ã³ã¢åã³ï¼
+armv7mã¢ã¼ã­ãã¯ãã£ã®ã³ã¢ãç¨ãããããã«ä¾å­ãï¼ã³ã³ãã¤ã©ã¨ãã¦GCC
+ãå¯¾è±¡ããè¨è¿°ãç½®ãããã®ãã£ã¬ã¯ããªã§ããï¼
+
+ã¿ã¼ã²ãããã£ã¬ã¯ããªï¼./targetï¼ã¨ã®åãåãã¯ï¼æ¬ãã£ã¬ã¯ããªã¯ï¼ç¹
+å®ã®ãã¼ãã«ä¾å­ããªãåå©ç¨å¯è½ãªè¨è¿°ãç½®ãã¨ã¨ãï¼ã¿ã¼ã²ãããã£ã¬ã¯
+ããªã¯åå©ç¨ã®å¯è½æ§ãä½ããã¼ãã«ä¾å­ããè¨è¿°ãç½®ããã¨ã¨ããï¼
+
+åå©ç¨å¯è½ãªç¯å²ã¨ãã¦ã¯ï¼armv7mã¢ã¼ã­ãã¯ãã£ã®ã³ã¢ãç¨ããããããã¾
+ã§ãæ³å®ãã¦ããï¼ãã®ããï¼æ¬ãã£ã¬ã¯ããªã«ç½®ãä¾å­é¨ããããä¾å­é¨ã¨
+å¼ã¶ï¼åãããä¾å­é¨ã¯ãããåã§ãã£ã¬ã¯ããªãä½æãï¼ãã®ä¸ã«é¢é£ãã
+ãã¡ã¤ã«ãç½®ãï¼
+
+ä¸æ¹ï¼armv7mã¢ã¼ã­ãã¯ãã£ã®ã³ã¢ã«ä¾å­ããè¨è¿°ã¯ï¼ã³ã¢ä¾å­é¨ã¨å¼ã³ï¼
+commonãã£ã¬ã¯ããªä»¥ä¸ã«ç½®ãï¼åãããä¾å­é¨ã¯å¿
+è¦ã«å¿ãã¦ã³ã¢ä¾å­é¨ã®
+ãã¡ã¤ã«ãä½¿ç¨ããï¼ã³ã¢ä¾å­é¨ã«é¢ãã¦ã¯ï¼common/core_user.txt ãåç
+§
+ã®ãã¨ï¼
+
+ãããã«ãã£ã¦ã¯ï¼ã³ã¢ä¾å­é¨ã¨åç­ã®æ©è½ãæããªãå ´åãããï¼ãã®å ´å
+ã¯ï¼ãããä¾å­é¨ãä½æããï¼ã¿ã¼ã²ããä¾å­é¨ã¨ã³ã¢ä¾å­é¨ã®ãã¡ã¤ã«ãçµ
+ã¿åãããã°ããï¼
Index: /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/Makefile.core
===================================================================
--- /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/Makefile.core	(revision 85)
+++ /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/Makefile.core	(revision 85)
@@ -0,0 +1,39 @@
+#
+#  @(#) $Id: Makefile.core 2323 2012-02-28 16:27:58Z ertl-honda $
+# 
+
+#
+#		Makefile ã®ãã­ã»ããµä¾å­é¨ï¼ARM-Mç¨ï¼
+#
+
+# 
+#  ã³ã¢ä¾å­é¨ãã£ã¬ã¯ããªåã®å®ç¾© 
+# 
+COREDIR = $(SRCDIR)/arch/$(PRC)_$(TOOL)/common
+
+#
+#  ã³ã³ãã¤ã«ãªãã·ã§ã³
+#
+COPTS := $(COPTS) -mthumb 
+INCLUDES := $(INCLUDES) -I$(COREDIR)
+LDFLAGS := -nostdlib $(LDFLAGS) 
+CDEFS := $(CDEFS)
+LIBS := $(LIBS)  -lgcc
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR := $(KERNEL_DIR) $(COREDIR)
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) core_support.o
+KERNEL_COBJS := $(KERNEL_COBJS) core_config.o
+
+#
+#  ä¾å­é¢ä¿ã®å®ç¾©
+#
+cfg1_out.c: $(COREDIR)/core_def.csv
+kernel_cfg.timestamp: $(COREDIR)/core.tf
+
+#
+#  ã³ã³ãã£ã®ã¥ã¬ã¼ã¿é¢ä¿ã®å¤æ°ã®å®ç¾©
+#
+CFG_TABS := $(CFG_TABS) --cfg1-def-table $(COREDIR)/core_def.csv
Index: /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/arm_m.h
===================================================================
--- /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/arm_m.h	(revision 85)
+++ /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/arm_m.h	(revision 85)
@@ -0,0 +1,204 @@
+/*
+ *  TOPPERS/ASP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Advanced Standard Profile Kernel
+ * 
+ *  Copyright (C) 2008-2011 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
+ *  å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
+ *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ãã
+ *      å
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
+ *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
+ *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
+ *  ã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: arm_m.h 2202 2011-07-26 13:27:11Z ertl-honda $
+ */
+
+/*
+ *  ARMVx-Mã®ãã¼ãã¦ã§ã¢è³æºã®å®ç¾©
+ */
+
+#ifndef ARM_M_H
+#define ARM_M_H
+
+/*
+ *  EPSRã®Tããã
+ */
+#define EPSR_T   0x01000000
+
+/*
+ * IPSRã® ISR NUMBER
+ */
+#define IPSR_ISR_NUMBER 0x1ff
+
+/*
+ *  ä¾å¤ã»å²è¾¼ã¿çºçæã«ã¹ã¿ãã¯ä¸ã«ç©ã¾ããä¿å­é åã®ãµã¤ãº
+ *  æ¬ã«ã¼ãã«ã§ã¯ä¾å¤ãã¬ã¼ã ã¨å¼ã¶
+ */
+#define EXC_FRAME_SIZE         (8*4)
+
+/*
+ *  ä¾å¤ã»å²è¾¼ã¿çºçæã«LRã«è¨­å®ãããEXC_RETURNã®å¤
+ */
+#define EXC_RETURN_HANDLER      0x0
+#define EXC_RETURN_THREAD       0x8
+#define EXC_RETURN_MSP          0x0
+#define EXC_RETURN_PSP          0x4
+
+/*
+ *  CONTROLã¬ã¸ã¹ã¿
+ */
+#define CONTROL_PSP            0x02
+#define CONTROL_MSP            0x00
+
+/*
+ *  ä¾å¤çªå·
+ */
+#define EXCNO_NMI         2
+#define EXCNO_HARD        3
+#define EXCNO_MPU         4
+#define EXCNO_BUS         5
+#define EXCNO_USAGE       6
+#define EXCNO_SVCALL     11          
+#define EXCNO_DEBUG      12
+#define EXCNO_PENDSV     14
+
+/*
+ *  ä¾å¤çªå·ã®æå°å¤ã¨æå¤§å¤
+ */
+#define TMIN_EXCNO   2
+#define TMAX_EXCNO  14
+
+/*
+ *  å²è¾¼ã¿çªå·
+ */
+#define IRQNO_SYSTICK    15
+
+/*
+ *  å²è¾¼ã¿çªå·ã®æå°å¤
+ */
+#define TMIN_INTNO       15
+
+/*
+ *  ä¾å¤ãã¬ã¼ã ã®ãªãã»ãã
+ */
+#define P_EXCINF_OFFSET_EXC_RETURN  0x00
+#define P_EXCINF_OFFSET_BASEPRI     0x01
+#define P_EXCINF_OFFSET_XPSR        0x09
+#define P_EXCINF_OFFSET_PC          0x08
+
+/*
+ *  NVICé¢é£
+ */
+
+/*
+ *  ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿
+ */
+#define NVIC_INT_CTRL       0xe000ed04
+
+#define NVIC_PENDSVSET      0x10000000
+
+/*
+ *  ã·ã¹ãã ãã³ãã©ã¼ã³ã³ãã­ã¼ã«ã¬ã¸ã¹ã¿
+ */
+#define NVIC_SYS_HND_CTRL   0xE000ED24
+
+/*
+ *  åä¾å¤ã®è¨±å¯ããã
+ */
+#define NVIC_SYS_HND_CTRL_USAGE 0x00040000
+#define NVIC_SYS_HND_CTRL_BUS   0x00020000
+#define NVIC_SYS_HND_CTRL_MEM   0x00010000
+
+/*
+ *  åªå
+åº¦è¨­å®ã¬ã¸ã¹ã¿
+ */
+#define NVIC_SYS_PRI1       0xE000ED18  // Sys. Handlers 4 to 7 Priority
+#define NVIC_SYS_PRI2       0xE000ED1C  // Sys. Handlers 8 to 11 Priority
+#define NVIC_SYS_PRI3       0xE000ED20  // Sys. Handlers 12 to 15 Priority
+#define NVIC_PRI0           0xE000E400  // IRQ 0 to 3 Priority Register
+
+/*
+ *  å²è¾¼ã¿è¨±å¯ã¬ã¸ã¹ã¿
+ */
+#define NVIC_SETENA0        0xE000E100  // IRQ 0 to 31 Set Enable Register
+
+/*
+ *  å²è¾¼ã¿ç¦æ­¢ã¬ã¸ã¹ã¿
+ */
+#define NVIC_CLRENA0        0xE000E180  // IRQ 0 to 31 Set Disable Register
+
+/*
+ *  å²è¾¼ã¿ã»ãããã³ãã£ã³ã°ã¬ã¸ã¹ã¿
+ */
+#define NVIC_ISER0          0xE000E200  // IRQ 0 to 31 Set-Pending Register
+
+/*
+ *  å²è¾¼ã¿ã¯ãªã¢ãã³ãã£ã³ã°ã¬ã¸ã¹ã¿
+ */
+#define NVIC_ICER0          0xE000E280  // IRQ 0 to 31 Clear-Pending Register
+
+/*
+ *  ãã¯ã¿ãã¼ãã«ãªãã»ããã¬ã¸ã¹ã¿
+ */
+#define NVIC_VECTTBL        0xE000ED08
+
+
+/*
+ *  SYSTICé¢é£ã¬ã¸ã¹ã¿
+ */
+#define SYSTIC_CONTROL_STATUS 0xE000E010
+#define SYSTIC_RELOAD_VALUE   0xE000E014
+#define SYSTIC_CURRENT_VALUE  0xE000E018
+#define SYSTIC_CALIBRATION    0xE000E01C
+
+#define SYSTIC_ENABLE    0x01
+#define SYSTIC_TICINT    0x02
+#define SYSTIC_CLKSOURCE 0x04
+#define SYSTIC_COUNTFLAG 0x10000
+
+#define SYSTIC_SKEW      0x40000000
+#define SYSTIC_NOREF     0x80000000
+#define SYSTIC_TENMS     0x00ffffff
+
+#endif  /* ARM_M_H */
Index: /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core.tf
===================================================================
--- /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core.tf	(revision 85)
+++ /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core.tf	(revision 85)
@@ -0,0 +1,162 @@
+$ 
+$     ãã¹2ã®ã¢ã¼ã­ãã¯ãã£ä¾å­ãã³ãã¬ã¼ãï¼ARM-Mç¨ï¼
+$ 
+
+$ 
+$  æå¹ãªå²è¾¼ã¿çªå·ï¼å²è¾¼ã¿ãã³ãã©çªå·
+$ 
+$INTNO_VALID = RANGE(15, TMAX_INTNO)$
+$INHNO_VALID = INTNO_VALID$
+
+$ 
+$  æå¹ãªCPUä¾å¤çªå·
+$ 
+$EXCNO_VALID = { 2,3,4,5,6,11,12,14 }$
+
+$ 
+$  ATT_ISRã§ä½¿ç¨ã§ããå²è¾¼ã¿çªå·ã¨ããã«å¯¾å¿ããå²è¾¼ã¿ãã³ãã©çªå·
+$ 
+$INTNO_ATTISR_VALID = INTNO_VALID$
+$INHNO_ATTISR_VALID = INHNO_VALID$
+
+$ 
+$  DEF_INTï¼DEF_EXCã§ä½¿ç¨ã§ããå²è¾¼ã¿ãã³ãã©çªå·ï¼CPUä¾å¤ãã³ãã©çªå·
+$ 
+$INHNO_DEFINH_VALID = INHNO_VALID$
+$EXCNO_DEFEXC_VALID = EXCNO_VALID$
+
+$ 
+$  CFG_INTã§ä½¿ç¨ã§ããå²è¾¼ã¿çªå·ã¨å²è¾¼ã¿åªå
+åº¦
+$  æå¤§åªå
+åº¦ã¯BASEPRIã¬ã¸ã¹ã¿ã§ãã¹ã¯ã§ããªãåªå
+åº¦ï¼å
+é¨åªå
+åº¦'0'ï¼
+$  ãã®ããï¼ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ã§ã®ã¿æå®å¯è½ï¼
+$INTNO_CFGINT_VALID = INTNO_VALID$
+$INTPRI_CFGINT_VALID = RANGE(-(1 << TBITW_IPRI),-1)$
+           
+$ 
+$  æ¨æºãã³ãã¬ã¼ããã¡ã¤ã«ã®ã¤ã³ã¯ã«ã¼ã
+$ 
+$INCLUDE "kernel/kernel.tf"$
+
+/*$NL$
+$SPC$*  Target-dependent Definitions (ARM-M)$NL$
+$SPC$*/$NL$
+$NL$
+
+$ 
+$  ãã¯ã¿ã¼ãã¼ãã«
+$ 
+$FILE "kernel_cfg.c"$
+$NL$
+__attribute__ ((section(".vector"))) $NL$
+const FP _kernel_vector_table[] =      $NL$ 
+{                                    $NL$
+	$TAB$(FP)(TOPPERS_ISTKPT(TOPPERS_ISTK, TOPPERS_ISTKSZ)),   // 0 The initial stack pointer $NL$
+	$TAB$(FP)_start,                 // 1 The reset handler         $NL$
+
+$FOREACH excno {2,3,...,14}$ 
+	$IF excno == 11$
+		$TAB$(FP)(_kernel_svc_handler),      // 11 SVCall handler
+	$ELSE$
+		$TAB$(FP)(_kernel_core_exc_entry),
+	$END$
+	$SPC$$FORMAT("/* %d */", +excno)$$NL$
+$END$
+
+$FOREACH inhno INTNO_VALID$ 
+	$IF LENGTH(INH.INHNO[inhno]) && ((INH.INHATR[inhno] & TA_NONKERNEL) != 0)$
+		$TAB$(FP)($INH.INTHDR[inhno]$),
+	$ELSE$
+		$TAB$(FP)(_kernel_core_int_entry),
+	$END$
+	$SPC$$FORMAT("/* %d */", +inhno)$$NL$
+$END$
+
+
+$NL$};$NL$
+$NL$
+
+$NL$
+const FP _kernel_exc_tbl[] = $NL$
+{$NL$
+$FOREACH excno {0,1,...,14}$
+	$IF LENGTH(EXC.EXCNO[excno])$
+		$TAB$(FP)($EXC.EXCHDR[excno]$),
+	$ELSE$
+		$TAB$(FP)(_kernel_default_exc_handler),
+	$END$
+	$SPC$$FORMAT("/* %d */", +excno)$$NL$
+$END$
+
+
+$FOREACH inhno INTNO_VALID$
+	$IF LENGTH(INH.INHNO[inhno])$
+		$TAB$(FP)($INH.INTHDR[inhno]$),
+	$ELSE$
+		$TAB$(FP)(_kernel_default_int_handler),
+	$END$
+	$SPC$$FORMAT("/* %d */", +inhno)$$NL$
+$END$
+
+
+$NL$};$NL$
+$NL$
+
+$ 
+$  _kernel_bitpat_cfgintã®çæ
+$ 
+
+$bitpat_cfgint_num = 0$
+$bitpat_cfgint = 0$
+
+
+const uint32_t _kernel_bitpat_cfgint[
+$IF (TMAX_INTNO & 0x0f) == 0x00 $
+	$bitpat_cfgint_num = (TMAX_INTNO >> 4)$
+$ELSE$
+	$bitpat_cfgint_num = (TMAX_INTNO >> 4) + 1$
+$END$
+	$bitpat_cfgint_num$
+] = {$NL$
+$FOREACH num RANGE(0,(bitpat_cfgint_num-1))$
+$   //boost ã®ãã¼ã¸ã§ã³ã«ãã£ã¦æåãå¤ããããã®å¯¾ç­
+$   //http://www.toppers.jp/TOPPERS-USERS/201004/msg00034.html
+	$bitpat_cfgint = 1-1$
+	$FOREACH inhno RANGE(num*32, (num*32)+31)$
+		$IF LENGTH(INH.INHNO[inhno])$
+			$bitpat_cfgint = bitpat_cfgint | (1 << (inhno & 0x01f))$
+		$END$
+	$END$
+	$TAB$UINT32_C($FORMAT("0x%08x", bitpat_cfgint)$), $NL$
+$END$
+
+$NL$};$NL$
+$NL$
+
+
+$ 
+$  å²è¾¼ã¿åªå
+åº¦ãã¼ãã«ï¼å
+é¨è¡¨ç¾ï¼
+$ 
+const uint32_t _kernel_int_iipm_tbl[] = {$NL$
+$FOREACH excno {0,1,...,14}$
+	$TAB$$FORMAT("UINT32_C(0x%08x), /* 0x%03x */", 0, +excno)$$NL$
+$END$
+
+$FOREACH intno INTNO_VALID$
+	$IF LENGTH(INT.INTNO[intno])$
+		$intpri = (((1 << TBITW_IPRI) + INT.INTPRI[intno]) << (8 - TBITW_IPRI))$
+	$ELSE$
+$		// LSBã1ã«ãã¦ããã®ã¯ï¼å²è¾¼ã¿å±æ§ãè¨­å®ããã¦ããªããã¨ãå¤
+$		// å¥ããããã§ããï¼
+		$intpri = 0 $
+	$END$
+	$TAB$$FORMAT("UINT32_C(0x%08x), /* 0x%03x */", intpri, +intno)$$NL$
+$END$
+$NL$};$NL$
+$NL$
Index: /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_asm.inc
===================================================================
--- /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_asm.inc	(revision 85)
+++ /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_asm.inc	(revision 85)
@@ -0,0 +1,92 @@
+/*
+ *  TOPPERS/ASP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Advanced Standard Profile Kernel
+ * 
+ *  Copyright (C) 2011 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
+ *  å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
+ *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ãã
+ *      å
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
+ *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
+ *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
+ *  ã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: core_config.h 1836 2010-07-09 15:31:28Z ertl-honda $
+ */
+
+#ifndef TOPPERS_CORE_ASM_INC
+#define TOPPERS_CORE_ASM_INC
+
+/*
+ *  ATHUMBç¸å½ã®å®ç¾©
+ */
+.macro __athumb name
+	.syntax unified
+	.thumb
+	.thumb_func
+	.type name, function
+.endm
+
+/*
+ *  ãã£ã¬ã¯ãã£ãã®ãã¯ã­å®ç¾©
+ */
+#define ASECTION(name) .section name,"a"
+#define ATEXT          .text
+#define AGLOBAL(name)  .global name
+#define AALIGN(x)      .align x
+#define ALONG          .long
+#define ALABEL(label)  label:
+#define AOR            |
+#define ATHUMB(name)        __athumb name
+
+
+/*
+ *  ã»ã¯ã·ã§ã³æ
+å ±
+ */
+#define DATA_START  __data_start
+#define IDATA_START __idata_start
+#define IDATA_END   __idata_end
+#define BSS_START   __bss_start
+#define BSS_END     __bss_end
+
+#endif /* TOPPERS_CORE_ASM_INC */
Index: /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_cfg1_out.h
===================================================================
--- /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_cfg1_out.h	(revision 85)
+++ /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_cfg1_out.h	(revision 85)
@@ -0,0 +1,36 @@
+/*
+ *  @(#) $Id: core_cfg1_out.h 2189 2011-07-24 13:16:06Z ertl-honda $
+ */
+
+/*
+ *		cfg1_out.cããªã³ã¯ããããã«å¿
+è¦ãªã¹ã¿ãã®å®ç¾©
+ */
+
+void sta_ker(void){}
+
+/* 
+ *  ãªãã»ãããã¡ã¤ã«ãçæããããã®å®ç¾© 
+ */ 
+const uint8_t   MAGIC_1 = 0x12; 
+const uint16_t  MAGIC_2 = 0x1234; 
+const uint32_t  MAGIC_4 = 0x12345678;
+
+const TCB	TCB_enatex = {
+	{ NULL, NULL },			/* task_queue */
+	NULL,					/* p_tinib */
+	0U,						/* tstat */
+#ifdef TOPPERS_SUPPORT_MUTEX
+	0U,						/* bpriority */
+#endif /* TOPPERS_SUPPORT_MUTEX */
+	0U,						/* priority */
+	false,					/* acqeue */
+	false,					/* wupque */
+	true,					/* enatex */
+	0U,						/* texprn */
+	NULL,					/* p_winifo */
+#ifdef TOPPERS_SUPPORT_MUTEX
+	{ NULL, NULL },			/* mutex_queue */
+#endif /* TOPPERS_SUPPORT_MUTEX */
+	{ NULL, NULL }			/* tskctxb */
+};
Index: /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_check.tf
===================================================================
--- /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_check.tf	(revision 85)
+++ /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_check.tf	(revision 85)
@@ -0,0 +1,8 @@
+$ 
+$ 		ãã¹3ã®ãã­ã»ããµä¾å­ãã³ãã¬ã¼ãï¼ARM-Mç¨ï¼
+$ 
+
+$ 
+$  æ¨æºãã³ãã¬ã¼ããã¡ã¤ã«ã®ã¤ã³ã¯ã«ã¼ã
+$ 
+$INCLUDE "kernel/kernel_check.tf"$
Index: /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_config.c
===================================================================
--- /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_config.c	(revision 85)
+++ /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_config.c	(revision 85)
@@ -0,0 +1,312 @@
+/*
+ *  TOPPERS/ASP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Advanced Standard Profile Kernel
+ * 
+ *  Copyright (C) 2008-2011 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
+ *  å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
+ *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ãã
+ *      å
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
+ *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
+ *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
+ *  ã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: core_config.c 2193 2011-07-25 04:34:11Z ertl-honda $
+ */
+
+/*
+ *		ã³ã¢ä¾å­ã¢ã¸ã¥ã¼ã«ï¼ARM-Mç¨ï¼
+ */
+
+#include "kernel_impl.h"
+#include "check.h"
+#include "task.h"
+
+/*
+ *  CPUã­ãã¯ãã©ã°å®ç¾ã®ããã®å¤æ°
+ */
+volatile bool_t		lock_flag;		/* CPUã­ãã¯ãã©ã°ã®å¤ãä¿æããå¤æ° */
+volatile uint32_t	saved_iipm;		/* å²è¾¼ã¿åªå
+åº¦ãã¹ã¯ãä¿å­ããå¤æ° */
+
+/*
+ *  ãã¯ã¿ãã¼ãã«(kernel_cfg.c)
+ */
+extern const FP vector_table[];
+
+/*
+ *  ã·ã¹ãã ä¾å¤ã»å²è¾¼ã¿ã®ï¼ä¾å¤çªå· 4ã15ï¼
+ *  å²è¾¼ã¿åªå
+åº¦è¨­å®ã¬ã¸ã¹ã¿ã¸ã®ã¢ã¯ã»ã¹ã®ããã®é
+å
+ */
+static const unsigned int nvic_sys_pri_reg[] = {
+	0,
+	NVIC_SYS_PRI1,
+	NVIC_SYS_PRI2,
+	NVIC_SYS_PRI3
+};
+
+/*
+ *  ä¾å¤ã¨å²è¾¼ã¿ã®å²è¾¼ã¿åªå
+åº¦ãã»ãã
+ *
+ *  excnoã¯ARM-Mã§å®ãããã¦ãã Exception Number ãæå®ï¼
+ */
+void
+set_exc_int_priority(uint32_t excno, uint32_t iipm){
+	uint32_t tmp, reg;
+
+	/*
+	 *  å²è¾¼ã¿åªå
+åº¦è¨­å®ã¬ã¸ã¹ã¿ã®æ±ºå®
+	 */
+	if ((EXCNO_MPU <= excno) && (excno <= IRQNO_SYSTICK)) {
+		/*
+		 * Exception Number 4(Memory Management)ãã
+		 * Exception Number 15(SysTick)ã¾ã§ã®å²è¾¼ã¿åªå
+åº¦ã¯ã·ã¹ãã åªå
+åº¦
+		 * ã¬ã¸ã¹ã¿ã«ããè¨­å®ï¼
+		 */
+		reg = nvic_sys_pri_reg[excno >> 2];
+	}
+	else if ((TMIN_INTNO < excno) && (excno <= TMAX_INTNO)){
+		/*
+		 * IRQå²è¾¼ã¿ãªã
+		 */
+		reg = NVIC_PRI0 + (((excno - (TMIN_INTNO + 1)) >> 2) * 4);
+	}
+	else {
+		return ;
+	}
+	
+	tmp = sil_rew_mem((void *)reg);
+	tmp &= ~(0xFF << (8 * (excno & 0x03)));
+	tmp |= iipm << (8 * (excno & 0x03));
+	sil_wrw_mem((void *)reg, tmp);
+}
+
+/*
+ *  ä¾å¤ã®è¨±å¯
+ *
+ *  Memory Management, Bus Fault, Usage Fault ã¯ç¦æ­¢ã»è¨±å¯ãå¯è½
+ */
+void
+enable_exc(EXCNO excno)
+{
+	uint32_t tmp;
+
+	switch (excno) {
+	  case EXCNO_MPU:
+		tmp = sil_rew_mem((void *)NVIC_SYS_HND_CTRL);
+		tmp |= NVIC_SYS_HND_CTRL_MEM;
+		sil_wrw_mem((void *)NVIC_SYS_HND_CTRL, tmp);
+		break;
+	  case EXCNO_BUS:
+		tmp = sil_rew_mem((void *)NVIC_SYS_HND_CTRL);
+		tmp |= NVIC_SYS_HND_CTRL_BUS;
+		sil_wrw_mem((void *)NVIC_SYS_HND_CTRL, tmp);
+		break;
+	  case EXCNO_USAGE:
+		tmp = sil_rew_mem((void *)NVIC_SYS_HND_CTRL);
+		tmp |= NVIC_SYS_HND_CTRL_USAGE;
+		sil_wrw_mem((void *)NVIC_SYS_HND_CTRL, tmp);
+		break;
+	}
+}
+
+/*
+ *  ä¾å¤ã®ç¦æ­¢
+ */
+void
+disable_exc(EXCNO excno)
+{
+	uint32_t tmp;
+
+	switch (excno) {
+	  case EXCNO_MPU:
+		tmp = sil_rew_mem((void *)NVIC_SYS_HND_CTRL);
+		tmp &= ~NVIC_SYS_HND_CTRL_MEM;
+		sil_wrw_mem((void *)NVIC_SYS_HND_CTRL, tmp);
+		break;
+	  case EXCNO_BUS:
+		tmp = sil_rew_mem((void *)NVIC_SYS_HND_CTRL);
+		tmp &= ~NVIC_SYS_HND_CTRL_BUS;
+		sil_wrw_mem((void *)NVIC_SYS_HND_CTRL, tmp);
+		break;
+	  case EXCNO_USAGE:
+		tmp = sil_rew_mem((void *)NVIC_SYS_HND_CTRL);
+		tmp &= ~NVIC_SYS_HND_CTRL_USAGE;
+		sil_wrw_mem((void *)NVIC_SYS_HND_CTRL, tmp);
+		break;
+	}
+}
+
+
+/*
+ *  ã³ã¢ä¾å­ã®åæå
+ */
+void
+core_initialize(void)
+{
+	/*
+	 *  CPUã­ãã¯ãã©ã°å®ç¾ã®ããã®å¤æ°ã®åæå
+	 */
+	lock_flag = true;
+	saved_iipm = IIPM_ENAALL;
+
+	/*
+	 *  ãã¯ã¿ãã¼ãã«ãè¨­å®
+	 */
+	sil_wrw_mem((void*)NVIC_VECTTBL, (uint32_t)vector_table);
+
+	/*
+	 *  åä¾å¤ã®åªå
+åº¦ãè¨­å®
+	 *  CPUã­ãã¯ç¶æ
+ã§ãçºçããããã«ï¼BASEPRIã¬ã¸ã¹ã¿ã§ãã¹ã¯ã§ã
+	 *  ãªã'0'ã¨ããï¼
+	 */
+	set_exc_int_priority(EXCNO_HARD, 0);
+	set_exc_int_priority(EXCNO_MPU, 0);
+	set_exc_int_priority(EXCNO_BUS, 0);
+	set_exc_int_priority(EXCNO_USAGE, 0);
+	set_exc_int_priority(EXCNO_SVCALL, 0);
+	set_exc_int_priority(EXCNO_DEBUG, 0);
+	set_exc_int_priority(EXCNO_PENDSV, 0);
+
+	/*
+	 *  SVCãã³ãã©ãæå¹ã«
+	 */
+	x_enable_int(EXCNO_SVCALL);
+}
+
+/*
+ *  ã³ã¢ä¾å­ã®çµäºå¦ç
+ */
+void
+core_terminate(void)
+{
+	extern void    software_term_hook(void);
+	void (*volatile fp)(void) = software_term_hook;
+
+	/*
+	 *  software_term_hookã¸ã®ãã¤ã³ã¿ãï¼ä¸æ¦volatileæå®ã®ããfpã«ä»£
+	 *  å
+¥ãã¦ããä½¿ãã®ã¯ï¼0ã¨ã®æ¯è¼ãæé©åã§åé¤ãããªãããã«ããã
+	 *  ãã§ããï¼
+	 */
+	if (fp != 0) {
+		(*fp)();
+	}
+}
+
+/*
+ *  å²è¾¼ã¿è¦æ±ã©ã¤ã³å±æ§ã®è¨­å®
+ */
+void
+x_config_int(INTNO intno, ATR intatr, PRI intpri)
+{
+	assert(VALID_INTNO_CFGINT(intno));
+	assert(TMIN_INTPRI <= intpri && intpri <= TMAX_INTPRI);
+
+	/* 
+	 *  ä¸æ¦å²è¾¼ã¿ãç¦æ­¢ãã
+	 */    
+	(void)x_disable_int(intno);
+
+	/*
+	 *  å²è¾¼ã¿åªå
+åº¦ãã»ãã
+	 */
+	set_exc_int_priority(intno, INT_IPM(intpri));
+
+	/*
+	 *  å²è¾¼ã¿è¦æ±ãã¹ã¯è§£é¤(å¿
+è¦ãªå ´å)
+	 */
+	if ((intatr & TA_ENAINT) != 0U) {
+		(void) x_enable_int(intno);
+	}    
+}
+
+
+#ifndef OMIT_DEFAULT_EXC_HANDLER
+/*
+ *  Trapaä»¥å¤ã®ä¾å¤ã§ç»é²ããã¦ããªãä¾å¤ãçºçããã¨å¼ã³åºããã
+ */
+void
+default_exc_handler(void *p_excinf)
+{
+	uint32_t basepri = *(((uint32_t*)p_excinf) + P_EXCINF_OFFSET_BASEPRI);
+	uint32_t pc      = *(((uint32_t*)p_excinf) + P_EXCINF_OFFSET_PC);
+	uint32_t xpsr    = *(((uint32_t*)p_excinf) + P_EXCINF_OFFSET_XPSR);
+	uint32_t excno   = get_ipsr() & IPSR_ISR_NUMBER;
+
+	syslog(LOG_EMERG, "\nUnregistered Exception occurs.");
+	syslog(LOG_EMERG, "Excno = %08x PC = %08x XPSR = %08x basepri = %08X, p_excinf = %08X",
+		   excno, pc, xpsr, basepri, p_excinf);
+
+	target_exit();
+}
+#endif /* OMIT_DEFAULT_EXC_HANDLER */
+
+#ifndef OMIT_DEFAULT_INT_HANDLER
+/*
+ *  æªç»é²ã®å²è¾¼ã¿ãçºçããå ´åã«å¼ã³åºããã
+ */
+void
+default_int_handler(void *p_excinf)
+{
+	uint32_t basepri = *(((uint32_t*)p_excinf) + P_EXCINF_OFFSET_BASEPRI);
+	uint32_t pc      = *(((uint32_t*)p_excinf) + P_EXCINF_OFFSET_PC);
+	uint32_t xpsr    = *(((uint32_t*)p_excinf) + P_EXCINF_OFFSET_XPSR);
+	uint32_t excno   = get_ipsr() & IPSR_ISR_NUMBER;
+
+	syslog(LOG_EMERG, "\nUnregistered Interrupt occurs.");
+	syslog(LOG_EMERG, "Excno = %08x PC = %08x XPSR = %08x basepri = %08X, p_excinf = %08X",
+		   excno, pc, xpsr, basepri, p_excinf);
+
+	target_exit();
+}
+#endif /* OMIT_DEFAULT_INT_HANDLER */
Index: /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_config.h
===================================================================
--- /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_config.h	(revision 85)
+++ /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_config.h	(revision 85)
@@ -0,0 +1,768 @@
+/*
+ *  TOPPERS/ASP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Advanced Standard Profile Kernel
+ * 
+ *  Copyright (C) 2008-2011 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
+ *  å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
+ *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ãã
+ *      å
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
+ *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
+ *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
+ *  ã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: core_config.h 2318 2012-02-23 12:22:35Z ertl-honda $
+ */
+
+/*
+ *		ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã«ï¼ARM-Mç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼target_config.hï¼ã¾ãã¯ï¼ããããã¤ã³ã¯
+ *  ã«ã¼ãããããã¡ã¤ã«ï¼ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼ä»ã®ãã¡ã¤ã«ãã
+ *  ç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef TOPPERS_CORE_CONFIG_H
+#define TOPPERS_CORE_CONFIG_H
+
+#ifndef TOPPERS_MACRO_ONLY
+
+/*
+ *  ãã­ã»ããµã®ç¹æ®å½ä»¤ã®ã¤ã³ã©ã¤ã³é¢æ°å®ç¾©
+ */
+#include <core_insn.h>
+
+/*
+ *  ã¿ã¼ã²ããä¾å­ã®ãªãã¸ã§ã¯ãå±æ§
+ */
+#define TARGET_INHATR  TA_NONKERNEL /* ã¿ã¼ã²ããå®ç¾©ã®å²è¾¼ã¿ãã³ãã©å±æ§ */
+
+/*
+ *  ã¨ã©ã¼ãã§ãã¯æ¹æ³ã®æå®
+ */
+#define CHECK_STKSZ_ALIGN	8	/* ã¹ã¿ãã¯ãµã¤ãºã®ã¢ã©ã¤ã³åä½ */
+#define CHECK_FUNC_ALIGN	1	/* é¢æ°ã®ã¢ã©ã¤ã³åä½ */
+#define CHECK_FUNC_NONNULL		/* é¢æ°ã®éNULLãã§ãã¯ */
+#define CHECK_STACK_ALIGN	8	/* ã¹ã¿ãã¯é åã®ã¢ã©ã¤ã³åä½ */
+#define CHECK_STACK_NONNULL		/* ã¹ã¿ãã¯é åã®éNULLãã§ãã¯ */
+#define CHECK_MPF_ALIGN		4	/* åºå®é·ã¡ã¢ãªãã¼ã«é åã®ã¢ã©ã¤ã³åä½ */
+#define CHECK_MPF_NONNULL		/* åºå®é·ã¡ã¢ãªãã¼ã«é åã®éNULLãã§ãã¯ */
+#define CHECK_MB_ALIGN		4	/* ç®¡çé åã®ã¢ã©ã¤ã³åä½ */
+
+/*
+ *  éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã®ã¹ã¿ãã¯åæå¤
+ */
+#define TOPPERS_ISTKPT(istk, istksz) ((STK_T *)((char *)(istk) + (istksz)))
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ã®å®ç¾©
+ */
+typedef struct task_context_block {
+	void	*sp;		/* ã¹ã¿ãã¯ãã¤ã³ã¿ */
+	FP		pc;			/* ãã­ã°ã©ã ã«ã¦ã³ã¿ */
+} TSKCTXB;
+
+#endif /* TOPPERS_MACRO_ONLY */
+
+#ifndef TOPPERS_MACRO_ONLY
+/*
+ *  ã³ã³ãã­ã¹ãã®åç
+§
+ *
+ */
+Inline bool_t
+sense_context(void)
+{
+	/*
+	 *  PSPãæå¹ãªãã¿ã¹ã¯ã³ã³ãã­ã¹ãï¼MSPãæå¹ãªãéã¿ã¹ã¯ã³ã³ãã­ã¹ã
+	 *  ã¨ããï¼ 
+	 */
+	if ((get_control() & CONTROL_PSP) == CONTROL_PSP){
+		return false;
+	}
+	else {
+		return true;
+	}
+}
+
+#endif /* TOPPERS_MACRO_ONLY */
+
+/*
+ *  TOPPERSæ¨æºå²è¾¼ã¿å¦çã¢ãã«ã®å®ç¾
+ *
+ *  å²è¾¼ã¿åªå
+åº¦ãã¹ã¯ã¨ãã¦ã¯ï¼BASEPRIãç¨ããï¼å
+¨å²è¾¼ã¿ãç¦æ­¢ãã
+ *  æ©è½ã¨ãã¦ï¼FAULTMASKãPRIMASKããããï¼ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ã
+ *  ãµãã¼ãããããï¼ãããã¯CPUã­ãã¯ã®ããã«ç¨ããªãï¼
+ *  ãã®ããï¼BASEPRIãç¨ãã¦æ¬ä¼¼çã«CPUã­ãã¯ãã©ã°ãå®ç¾ããï¼
+ *
+ *  ã¾ãï¼CPUã­ãã¯ç¶æ
+ãç®¡çãããã®å¤æ°(lock_flag)ãç¨æããï¼
+ *
+ *  CPUã­ãã¯ãã©ã°ãã¯ãªã¢ããã¦ããéã¯ï¼BASEPRIãã¢ãã«ä¸ã®å²è¾¼ã¿
+ *  åªå
+åº¦ãã¹ã¯ã®å¤ã«è¨­å®ããï¼ãã®éã¯ï¼ã¢ãã«ä¸ã®å²è¾¼ã¿åªå
+åº¦ãã¹
+ *  ã¯ã¯ï¼BASEPRIãç¨ããï¼
+ * 
+ *  ããã«å¯¾ãã¦CPUã­ãã¯ãã©ã°ãã»ããããããéã¯ï¼BASEPRIãï¼ã«ã¼ã
+ *  ã«ç®¡çå¤ã®ãã®ãé¤ããã¹ã¦ã®å²è¾¼ã¿è¦æ±ããã¹ã¯ããå¤(TIPM_LOCK)ã¨ï¼
+ *  ã¢ãã«ä¸ã®å²è¾¼ã¿åªå
+åº¦ãã¹ã¯ã¨ã®é«ãæ¹ã«è¨­å®ããï¼ãã®éã®ã¢ãã«ä¸
+ *  ã®å²è¾¼ã¿åªå
+åº¦ãã¹ã¯ã¯ï¼ãã®ããã®å¤æ°(saved_iipm, å
+é¨è¡¨ç¾ã§ä¿æ)
+ *  ãç¨æãã¦ä¿æããï¼
+ */
+
+/*
+ *  å²è¾¼ã¿åªå
+åº¦ãã¹ã¯ã®å¤é¨è¡¨ç¾ã¨å
+é¨è¡¨ç¾ã®å¤æ
+ *
+ *  ã¢ã»ã³ããªè¨èªã®ã½ã¼ã¹ãã¡ã¤ã«ããã¤ã³ã¯ã«ã¼ãããå ´åã®ããã«ï¼
+ *  CASTãä½¿ç¨
+ *  å²è¾¼ã¿åªå
+åº¦ã®ãããå¹
+(TBITW_IPRI)ã 8 ã®å ´åã¯ï¼å
+é¨åªå
+åº¦ 255
+ *  ã¯ï¼å¤é¨åªå
+åº¦ -1 ã«å¯¾å¿ããï¼
+ */
+#define EXT_IPM(iipm)   (CAST(PRI,((iipm >> (8 - TBITW_IPRI)) - (1 << TBITW_IPRI))))       /* å
+é¨è¡¨ç¾ãå¤é¨è¡¨ç¾ã« */
+#define INT_IPM(ipm)    (((1 << TBITW_IPRI) - CAST(uint8_t, -(ipm)))  << (8 - TBITW_IPRI)) /* å¤é¨è¡¨ç¾ãå
+é¨è¡¨ç¾ã« */
+
+/*
+ *  CPUã­ãã¯ç¶æ
+ã§ã®å²è¾¼ã¿åªå
+åº¦ãã¹ã¯
+ */
+#define TIPM_LOCK    TMIN_INTPRI
+
+/*
+ *  CPUã­ãã¯ç¶æ
+ã§ã®å²è¾¼ã¿åªå
+åº¦ãã¹ã¯ã®å
+é¨è¡¨ç¾
+ *
+ *  TIPM_LOCKã¯ï¼CPUã­ãã¯ç¶æ
+ã§ã®BASEPRIã®å¤ï¼ã«ã¼ãã«ç®¡çå¤ã®ãã®ã
+ *  é¤ããã¹ã¦ã®å²è¾¼ã¿ããã¹ã¯ããå¤ã«å®ç¾©ããï¼  
+ */
+#define IIPM_LOCK    INT_IPM(TIPM_LOCK)
+
+/*
+ *  TIPM_ENAALLï¼å²è¾¼ã¿åªå
+åº¦ãã¹ã¯å
+¨è§£é¤ï¼ã®å
+é¨è¡¨ç¾
+ *
+ *  BASEPRIã« '0' ãè¨­å®ãããã¨ã§ï¼å
+¨å²è¾¼ã¿ãè¨±å¯ããï¼
+ */
+#define IIPM_ENAALL  (0)
+
+
+#ifndef TOPPERS_MACRO_ONLY
+
+/*
+ *  CPUã­ãã¯ãã©ã°å®ç¾ã®ããã®å¤æ°
+ * 
+ *  ãããã®å¤æ°ã¯ï¼CPUã­ãã¯ç¶æ
+ã®æã®ã¿æ¸ãæãã¦ãããã¨ããï¼
+ *  ã¤ã³ã©ã¤ã³é¢æ°ä¸­ã§ï¼ã¢ã¯ã»ã¹ã®é åºãå¤åããªãããï¼volatile ãæå®ï¼ 
+ */
+extern volatile bool_t  lock_flag;    /* CPUã­ãã¯ãã©ã°ã®å¤ãä¿æããå¤æ° */
+extern volatile uint32_t saved_iipm;  /* å²è¾¼ã¿åªå
+åº¦ããã¹ã¯ããå¤æ° */
+
+/*
+ *  CPUã­ãã¯ç¶æ
+ã¸ã®ç§»è¡
+ *
+ *  BASEPRIï¼ãã¼ãã¦ã§ã¢ã®å²è¾¼ã¿åªå
+åº¦ãã¹ã¯ï¼ãï¼saved_iipmã«ä¿å­ãï¼
+ *  ã«ã¼ãã«ç®¡çå¤ã®ãã®ãé¤ããã¹ã¦ã®å²è¾¼ã¿ããã¹ã¯ããå¤ï¼TIPM_LOCKï¼
+ *  ã«è¨­å®ããï¼ã¾ãï¼lock_flagãtrueã«ããï¼
+ *
+ *  BASEPRIãï¼æåããTIPM_LOCKã¨åããããããé«ãå ´åã«ã¯ï¼ããã
+ *  saved_iipmã«ä¿å­ããã®ã¿ã§ï¼TIPM_LOCKã«ã¯è¨­å®ããªãï¼ããã¯ï¼ã¢ãã«
+ *  ä¸ã®å²è¾¼ã¿åªå
+åº¦ãã¹ã¯ãï¼TIPM_LOCKã¨åããããããé«ãã¬ãã«ã«è¨­å®
+ *  ããã¦ããç¶æ
+ã«ãããï¼
+ *
+ *  ãã®é¢æ°ã¯ï¼CPUã­ãã¯ç¶æ
+ï¼lock_flagãtrueã®ç¶æ
+ï¼ã§å¼ã°ãããã¨ã¯
+ *  ãªããã®ã¨æ³å®ãã¦ããï¼
+ */
+Inline void
+x_lock_cpu(void)
+{
+	uint32_t iipm;
+
+	/*
+	 *  get_basepri()ã®è¿ãå¤ãç´æ¥saved_iipmã«ä¿å­ããï¼ä¸æå¤æ°iipm
+	 *  ãç¨ãã¦ããã®ã¯ï¼get_baespri()ãå¼ãã ç´å¾ã«å²è¾¼ã¿ãçºçãï¼
+	 *  èµ·åãããå²è¾¼ã¿å¦çã§saved_iipmãå¤æ´ãããå¯è½æ§ãããããã§
+	 *  ããï¼
+	 */
+	iipm = get_basepri();
+	/*
+	 *  BASEPRIã¬ã¸ã¹ã¿ã¯å¤ãå°ããã»ã©åªå
+åº¦ãé«ããï¼IIPM_ENAALL ã
+	 *  '0'ã§ããããï¼åç´ã«åªå
+åº¦æ¯è¼ã ãã§ã¯ä¸ååã§ããï¼
+	 */
+	if ((IIPM_LOCK < iipm) || (IIPM_ENAALL == iipm)) {
+		set_basepri(IIPM_LOCK);
+	}
+	saved_iipm = iipm;
+	lock_flag = true;
+	/* ã¯ãªãã£ã«ã«ã»ã¯ã·ã§ã³ã®åå¾ã§ã¡ã¢ãªãæ¸ãæããå¯è½æ§ããã */
+	ARM_MEMORY_CHANGED;
+}
+
+#define t_lock_cpu()    x_lock_cpu()
+#define i_lock_cpu()    x_lock_cpu()
+
+/*
+ *  CPUã­ãã¯ç¶æ
+ã®è§£é¤
+ *
+ *  lock_flagãfalseã«ãï¼IPMï¼ãã¼ãã¦ã§ã¢ã®å²è¾¼ã¿åªå
+åº¦ãã¹ã¯ï¼ãï¼
+ *  saved_iipmã«ä¿å­ããå¤ã«æ»ãï¼
+ *
+ *  ãã®é¢æ°ã¯ï¼CPUã­ãã¯ç¶æ
+ï¼lock_flagãtrueã®ç¶æ
+ï¼ã§ã®ã¿å¼ã°ããã
+ *  ã®ã¨æ³å®ãã¦ããï¼
+ */
+Inline void
+x_unlock_cpu(void)
+{
+	/* ã¯ãªãã£ã«ã«ã»ã¯ã·ã§ã³ã®åå¾ã§ã¡ã¢ãªãæ¸ãæããå¯è½æ§ããã */
+	ARM_MEMORY_CHANGED;
+	lock_flag = false;
+	set_basepri(saved_iipm);
+}
+
+#define t_unlock_cpu()    x_unlock_cpu()
+#define i_unlock_cpu()    x_unlock_cpu()
+
+/*
+ *  CPUã­ãã¯ç¶æ
+ã®åç
+§
+ */
+Inline bool_t
+x_sense_lock(void)
+{
+	return(lock_flag);
+}
+
+#define t_sense_lock()    x_sense_lock()
+#define i_sense_lock()    x_sense_lock()
+
+/*
+ *  chg_ipmã§æå¹ãªå²è¾¼ã¿åªå
+åº¦ã®ç¯å²ã®å¤å®
+ *
+ *  TMIN_INTPRIã®å¤ã«ãããï¼chg_ipmã§ã¯ï¼-(1 << TBITW_IPRI)ãTIPM_ENAALLï¼ï¼0ï¼
+ *  ã®ç¯å²ã«è¨­å®ã§ãããã¨ã¨ããï¼ã¿ã¼ã²ããå®ç¾©ã®æ¡å¼µï¼ï¼
+ *  å²è¾¼ã¿åªå
+åº¦ã®ãããå¹
+(TBITW_IPRI)ã 8 ã®å ´åã¯ï¼-256 ã 0 ãæå®å¯è½ã§ããï¼
+ *   
+ */
+#define VALID_INTPRI_CHGIPM(intpri) \
+				((-((1 << TBITW_IPRI) - 1) <= (intpri) && (intpri) <= TIPM_ENAALL))
+
+/*
+ * ï¼ã¢ãã«ä¸ã®ï¼å²è¾¼ã¿åªå
+åº¦ãã¹ã¯ã®è¨­å®
+ *
+ *  CPUã­ãã¯ãã©ã°ãã¯ãªã¢ããã¦ããæã¯ï¼ãã¼ãã¦ã§ã¢ã®å²è¾¼ã¿åªå
+åº¦ã
+ *  ã¹ã¯ãè¨­å®ããï¼CPUã­ãã¯ãã©ã°ãã»ããããã¦ããæã¯ï¼saved_iipm
+ *  ãè¨­å®ãï¼ããã«ï¼ãã¼ãã¦ã§ã¢ã®å²è¾¼ã¿åªå
+åº¦ãã¹ã¯ãï¼è¨­å®ãããã¨
+ *  ããï¼ã¢ãã«ä¸ã®ï¼å²è¾¼ã¿åªå
+åº¦ãã¹ã¯ã¨TIPM_LOCKã®é«ãæ¹ã«è¨­å®ããï¼
+ */
+Inline void
+x_set_ipm(PRI intpri)
+{
+	uint8_t   iipm = INT_IPM(intpri);
+
+	if (intpri == TIPM_ENAALL){
+		iipm = IIPM_ENAALL;
+	}
+
+	if (!lock_flag) {
+		set_basepri(iipm);
+	}
+	else {
+		saved_iipm = iipm;
+		/*
+		 *  BASEPRIã¬ã¸ã¹ã¿ã¯å¤ãå°ããã»ã©åªå
+åº¦ãé«ããï¼IIPM_ENAALL ã
+		 *  '0'ã§ããããï¼åç´ã«åªå
+åº¦æ¯è¼ã ãã§ã¯ä¸ååã§ããï¼
+		 */
+		if ((iipm < IIPM_LOCK ) && (IIPM_ENAALL != iipm)) {
+			set_basepri(iipm);
+		}
+		else {
+			set_basepri(IIPM_LOCK);
+		}
+	}
+}
+
+#define t_set_ipm(intpri)    x_set_ipm(intpri)
+#define i_set_ipm(intpri)    x_set_ipm(intpri)
+
+/*
+ * ï¼ã¢ãã«ä¸ã®ï¼å²è¾¼ã¿åªå
+åº¦ãã¹ã¯ã®åç
+§
+ *
+ *  CPUã­ãã¯ãã©ã°ãã¯ãªã¢ããã¦ããæã¯ãã¼ãã¦ã§ã¢ã®å²è¾¼ã¿åªå
+åº¦ã
+ *  ã¹ã¯ãï¼ã»ããããã¦ããæã¯saved_iipmãåç
+§ããï¼
+ */
+Inline PRI
+x_get_ipm(void)
+{
+	uint8_t iipm;
+
+	if (!lock_flag) {
+		iipm = get_basepri();
+	}
+	else {
+		iipm = saved_iipm;
+	}
+
+	if (iipm == IIPM_ENAALL) {
+		return(TIPM_ENAALL);
+	}
+	else {
+		return(EXT_IPM(iipm));
+	}
+}
+
+#define t_get_ipm()    x_get_ipm()
+#define i_get_ipm()    x_get_ipm()
+
+/*
+ *  SVCãã³ãã©ï¼core_support.Sï¼
+ */
+extern void svc_handler(void);
+
+/*
+ *  ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ï¼start.Sï¼
+ */
+extern void _start(void);
+
+/*
+ *  æé«åªå
+é ä½ã¿ã¹ã¯ã¸ã®ãã£ã¹ãããï¼core_support.Sï¼
+ *
+ *  dispatchã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãããå¼ã³åºããããµã¼ãã¹ã³ã¼ã«å¦çã
+ *  ãå¼ã³åºãã¹ããã®ã§ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãã»CPUã­ãã¯ç¶æ
+ã»ãã£ã¹ãã
+ *  ãè¨±å¯ç¶æ
+ã»ï¼ã¢ãã«ä¸ã®ï¼å²è¾¼ã¿åªå
+åº¦ãã¹ã¯å
+¨è§£é¤ç¶æ
+ã§å¼ã³åºããª
+ *  ããã°ãªããªãï¼
+ */
+extern void dispatch(void);
+
+/*
+ *  ãã£ã¹ãããã£ã®åä½éå§ï¼core_support.Sï¼
+ *
+ *  start_dispatchã¯ï¼ã«ã¼ãã«èµ·åæã«å¼ã³åºãã¹ããã®ã§ï¼ãã¹ã¦ã®å²è¾¼
+ *  ã¿ãç¦æ­¢ããç¶æ
+ï¼å²è¾¼ã¿ã­ãã¯ç¶æ
+ã¨åç­ã®ç¶æ
+ï¼ã§å¼ã³åºããªããã°
+ *  ãªããªãï¼
+ */
+extern void start_dispatch(void) NoReturn;
+
+/*
+ *  ç¾å¨ã®ã³ã³ãã­ã¹ããæ¨ã¦ã¦ãã£ã¹ãããï¼core_support.Sï¼
+ *
+ *  exit_and_dispatchã¯ï¼ext_tskããå¼ã³åºãã¹ããã®ã§ï¼ã¿ã¹ã¯ã³ã³ãã­
+ *  ã¹ãã»CPUã­ãã¯ç¶æ
+ã»ãã£ã¹ãããè¨±å¯ç¶æ
+ã»ï¼ã¢ãã«ä¸ã®ï¼å²è¾¼ã¿åªå
+
+ *  åº¦ãã¹ã¯å
+¨è§£é¤ç¶æ
+ã§å¼ã³åºããªããã°ãªããªãï¼
+ */
+extern void exit_and_dispatch(void) NoReturn;
+
+/*
+ *  ã«ã¼ãã«ã®çµäºå¦çã®å¼åºãï¼core_support.Sï¼
+ *
+ *  call_exit_kernelã¯ï¼ã«ã¼ãã«ã®çµäºæã«å¼ã³åºãã¹ããã®ã§ï¼éã¿ã¹ã¯
+ *  ã³ã³ãã­ã¹ãã«åãæãã¦ï¼ã«ã¼ãã«ã®çµäºå¦çï¼exit_kernelï¼ãå¼ã³åº
+ *  ãï¼
+ */
+extern void call_exit_kernel(void) NoReturn;
+
+/*
+ *  ã¿ã¹ã¯ã³ã³ãã­ã¹ãã®åæå
+ *
+ *  ã¿ã¹ã¯ãä¼æ­¢ç¶æ
+ããå®è¡ã§ããç¶æ
+ã«ç§»è¡ããæã«å¼ã°ããï¼ãã®æç¹
+ *  ã§ã¹ã¿ãã¯é åãä½¿ã£ã¦ã¯ãªããªãï¼
+ *
+ *  activate_contextãï¼ã¤ã³ã©ã¤ã³é¢æ°ã§ã¯ãªããã¯ã­å®ç¾©ã¨ãã¦ããã®ã¯ï¼
+ *  ãã®æç¹ã§ã¯TCBãå®ç¾©ããã¦ããªãããã§ããï¼
+ */
+extern void    start_r(void);
+
+#define activate_context(p_tcb)                                         \
+{                                                                       \
+    (p_tcb)->tskctxb.sp = (void *)((char *)((p_tcb)->p_tinib->stk)    \
+                                        + (p_tcb)->p_tinib->stksz);     \
+    (p_tcb)->tskctxb.pc = (FP) start_r;                             \
+}
+
+/*
+ *  calltexã¯ä½¿ç¨ããªã
+ */
+#define OMIT_CALLTEX
+
+/*
+ *  å²è¾¼ã¿çªå·ã»å²è¾¼ã¿ãã³ãã©çªå·
+ *
+ *  å²è¾¼ã¿ãã³ãã©çªå·(inhno)ã¨å²è¾¼ã¿çªå·(intno)ã¯ï¼å²ãè¾¼ã¿çºçæã«
+ *  EPSRã«è¨­å®ãããä¾å¤çªå·ã¨ããï¼ 
+ */
+
+/*
+ *  å²è¾¼ã¿çªå·ã®ç¯å²ã®å¤å®
+ */
+#define VALID_INTNO(intno)           ((TMIN_INTNO <= (intno)) && ((intno) <= TMAX_INTNO))
+#define VALID_INTNO_DISINT(intno)    VALID_INTNO(intno)
+#define VALID_INTNO_CFGINT(intno)    VALID_INTNO(intno)
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®è¨­å®
+ *
+ *  ãã¯ãã«çªå·inhnoã®å²è¾¼ã¿ãã³ãã©ã®èµ·åçªå°int_entryã«è¨­å®ããï¼å²è¾¼ã¿
+ *  ãã³ãã©ãã¼ãã«
+ */
+Inline void
+x_define_inh(INHNO inhno, FP int_entry)
+{
+
+}
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®åºå
+¥å£å¦çã®çæãã¯ã­
+ *
+ */
+#define INT_ENTRY(inhno, inthdr)    inthdr
+#define INTHDR_ENTRY(inhno, inhno_num, inthdr) extern void inthdr(void);
+
+/*
+ *  å²è¾¼ã¿è¦æ±ç¦æ­¢ãã©ã°
+ */
+
+/*
+ *  å²è¾¼ã¿å±æ§ãè¨­å®ããã¦ããããå¤å¥ããããã®å¤æ°ï¼kernel_cfg.cï¼
+ */
+extern const uint32_t	bitpat_cfgint[];
+
+/*
+ *  å²è¾¼ã¿è¦æ±ç¦æ­¢ãã©ã°ã®ã»ãã
+ *
+ *  å²è¾¼ã¿å±æ§ãè¨­å®ããã¦ããªãå²è¾¼ã¿è¦æ±ã©ã¤ã³ã«å¯¾ãã¦å²è¾¼ã¿è¦æ±ç¦æ­¢
+ *  ãã©ã°ãã¯ãªã¢ãããã¨ããå ´åã«ã¯ï¼falseãè¿ãï¼  
+ */
+Inline bool_t
+x_disable_int(INTNO intno)
+{
+	uint32_t tmp;
+
+	/*
+	 *  å²è¾¼ã¿å±æ§ãè¨­å®ããã¦ããªãå ´å
+	 */
+	if ((bitpat_cfgint[intno >> 5] & (1 << (intno & 0x1f))) == 0x00) {
+		return(false);
+	}
+
+	if (intno == IRQNO_SYSTICK) {
+		tmp = sil_rew_mem((void *)SYSTIC_CONTROL_STATUS);
+		tmp &= ~SYSTIC_TICINT;
+		sil_wrw_mem((void *)SYSTIC_CONTROL_STATUS, tmp);
+	}else {
+		tmp = intno - 16;
+		sil_wrw_mem((void *)((uint32_t *)NVIC_CLRENA0 + (tmp >> 5)),
+					(1 << (tmp & 0x1f)));
+	}
+
+	return(true);
+}
+
+#define t_disable_int(intno) x_disable_int(intno)
+#define i_disable_int(intno) x_disable_int(intno)
+
+/*
+ *  å²è¾¼ã¿è¦æ±ç¦æ­¢ãã©ã°ã®è§£é¤
+ *
+ *  å²è¾¼ã¿å±æ§ãè¨­å®ããã¦ããªãå²è¾¼ã¿è¦æ±ã©ã¤ã³ã«å¯¾ãã¦å²è¾¼ã¿è¦æ±ç¦æ­¢
+ *  ãã©ã°ãã¯ãªã¢ãããã¨ããå ´åã«ã¯ï¼falseãè¿ãï¼
+ */
+Inline bool_t
+x_enable_int(INTNO intno)
+{
+	uint32_t tmp;
+
+	/*
+	 *  å²è¾¼ã¿å±æ§ãè¨­å®ããã¦ããªãå ´å
+	 */
+	if ((bitpat_cfgint[intno >> 5] & (1 << (intno & 0x1f))) == 0x00) {
+		return(false);
+	}
+
+	if (intno == IRQNO_SYSTICK) {
+		tmp = sil_rew_mem((void *)SYSTIC_CONTROL_STATUS);
+		tmp |= SYSTIC_TICINT;
+		sil_wrw_mem((void *)SYSTIC_CONTROL_STATUS, tmp);
+	}else {
+		tmp = intno - 16;
+		sil_wrw_mem((void *)((uint32_t *)NVIC_SETENA0 + (tmp >> 5)),
+					(1 << (tmp & 0x1f)));
+	}
+    
+	return(true);
+}
+
+#define t_enable_int(intno) x_enable_int(intno)
+#define i_enable_int(intno) x_enable_int(intno)
+
+/*
+ *  å²è¾¼ã¿è¦æ±ã©ã¤ã³ã®å±æ§ã®è¨­å®
+ */
+extern void x_config_int(INTNO intno, ATR intatr, PRI intpri);
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©å
+¥å£ã§å¿
+è¦ãªIRCæä½
+ */
+Inline void
+i_begin_int(INTNO intno)
+{
+}
+
+/*
+ *  å²è¾¼ã¿ãã³ãã©ã®åºå£ã§å¿
+è¦ãªIRCæä½
+ */
+Inline void
+i_end_int(INTNO intno)
+{
+}
+
+/*
+ *  CPUä¾å¤ãã³ãã©é¢ä¿
+ */ 
+
+/*
+ *  CPUä¾å¤ãã³ãã©çªå·
+ */
+#define VALID_EXCNO_DEFEXC(excno)    (TMIN_EXCNO <= (excno) && (excno) <= TMAX_EXCNO)
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®è¨±å¯
+ */
+extern void enable_exc(EXCNO excno);
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®ç¦æ­¢
+ */
+extern void disable_exc(EXCNO excno);
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®è¨­å®
+ */
+Inline void
+x_define_exc(EXCNO excno, FP exc_entry)
+{
+	/*
+	 *  ä¸é¨ã®ä¾å¤ã¯è¨±å¯ãè¡ãå¿
+è¦ããã
+	 */
+	enable_exc(excno);
+}
+
+/*
+ *  CPUä¾å¤ãã³ãã©ã®å
+¥å£å¦çã®çæãã¯ã­
+ */
+#define EXC_ENTRY(excno, exchdr)    exchdr
+#define EXCHDR_ENTRY(excno, excno_num, exchdr) extern void exchdr(void *p_excinf);
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ã³ã³ãã­ã¹ãã®åç
+§
+ *
+ *  CPUä¾å¤ã®çºçããæã®ã³ã³ãã­ã¹ããï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãã®æã«falseï¼
+ *  ããã§ãªãæã«trueãè¿ãï¼
+ */
+Inline bool_t
+exc_sense_context(void *p_excinf)
+{
+	uint32_t exc_return;
+
+	exc_return = *((uint32_t *)p_excinf + P_EXCINF_OFFSET_EXC_RETURN);
+	if ((exc_return & EXC_RETURN_PSP) == EXC_RETURN_PSP){
+		return false;
+	}
+	else {
+		return true;
+	}
+}
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®IPMï¼ãã¼ãã¦ã§ã¢ã®å²è¾¼ã¿åªå
+åº¦ãã¹ã¯ï¼å
+é¨è¡¨
+ *  ç¾ï¼ã®åç
+§
+ */
+Inline uint32_t
+exc_get_iipm(void *p_excinf)
+{
+	return(*((uint32_t *)p_excinf + P_EXCINF_OFFSET_BASEPRI));
+}
+
+/*
+ *  CPUä¾å¤ã®çºçããæã®ã³ã³ãã­ã¹ãã¨å²è¾¼ã¿ã®ãã¹ã¯ç¶æ
+ã®åç
+§
+ *
+ *  CPUä¾å¤ã®çºçããæã®ã·ã¹ãã ç¶æ
+ãï¼ã«ã¼ãã«å®è¡ä¸­ã§ãªãï¼ã¿ã¹ã¯ã³
+ *  ã³ãã­ã¹ãã§ããï¼å²è¾¼ã¿ã­ãã¯ç¶æ
+ã§ãªãï¼CPUã­ãã¯ç¶æ
+ã§ãªãï¼ï¼ã¢
+ *  ãã«ä¸ã®ï¼å²è¾¼ã¿åªå
+åº¦ãã¹ã¯å
+¨è§£é¤ç¶æ
+ã§ããæã«trueï¼ããã§ãªãæ
+ *  ã«falseãè¿ãï¼CPUä¾å¤ãã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿å¦çä¸­ã§çºçããå ´å
+ *  ã«ãfalseãè¿ãï¼ï¼
+ *
+ *  PUä¾å¤ã®çºçããæã®BASEPRIï¼ãã¼ãã¦ã§ã¢ã®å²è¾¼ã¿åªå
+åº¦ãã¹ã¯ï¼
+ *  ããã¹ã¦ã®å²è¾¼ã¿ãè¨±å¯ããç¶æ
+ã§ãããã¨ããã§ãã¯ãããã¨ã§ï¼ã«ã¼
+ *  ãã«å®è¡ä¸­ã§ãªããã¨ï¼å²è¾¼ã¿ã­ãã¯ç¶æ
+ã§ãªããã¨ï¼CPUã­ãã¯ç¶æ
+ã§ãª
+ *  ããã¨ï¼ï¼ã¢ãã«ä¸ã®ï¼å²è¾¼ã¿åªå
+åº¦ãã¹ã¯å
+¨è§£é¤ç¶æ
+ã§ãããã¨ã®4ã¤ã®
+ *  æ¡ä»¶ããã§ãã¯ãããã¨ãã§ããï¼CPUä¾å¤ãçºçããæã®lock_flagãå
+ *  ç
+§ããå¿
+è¦ã¯ãªãï¼ï¼
+ */
+Inline bool_t
+exc_sense_intmask(void *p_excinf)
+{
+	return(!exc_sense_context(p_excinf)
+		   && (exc_get_iipm(p_excinf) == IIPM_ENAALL));
+}
+
+/*
+ *  CPUä¾å¤ã¨ã³ããªï¼core_support.Sï¼
+ */
+extern void core_exc_entry(void);
+
+/*
+ *  å²è¾¼ã¿ã¨ã³ããªï¼core_support.Sï¼
+ */
+extern void core_int_entry(void);
+
+/*
+ *  ãã­ã»ããµä¾å­ã®åæå
+ */
+extern void core_initialize(void);
+
+/*
+ *  ãã­ã»ããµä¾å­ã®çµäºæå¦ç
+ */
+extern void core_terminate(void);
+
+/*
+ * ç»é²ããã¦ããªãä¾å¤ãçºçããã¨å¼ã³åºããã
+ */
+extern void default_exc_handler(void *p_excinf);
+
+/*
+ * æªç»é²ã®å²è¾¼ã¿ãçºçããå ´åã«å¼ã³åºããã
+ */
+extern void default_int_handler(void *p_excinf);
+
+#endif /* TOPPERS_MACRO_ONLY */
+#endif /* TOPPERS_CORE_CONFIG_H */
Index: /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_def.csv
===================================================================
--- /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_def.csv	(revision 85)
+++ /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_def.csv	(revision 85)
@@ -0,0 +1,8 @@
+TMAX_INTNO,TMAX_INTNO
+TIPM_LOCK,TIPM_LOCK 
+TBITW_IPRI,TBITW_IPRI
+sizeof_TCB,sizeof(TCB)
+offsetof_TCB_p_tinib,"offsetof(TCB,p_tinib)"
+offsetof_TCB_texptn,"offsetof(TCB,texptn)"
+offsetof_TCB_sp,"offsetof(TCB,tskctxb.sp)"
+offsetof_TCB_pc,"offsetof(TCB,tskctxb.pc)"
Index: /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_design.txt
===================================================================
--- /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_design.txt	(revision 85)
+++ /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_design.txt	(revision 85)
@@ -0,0 +1,688 @@
+=====================================================================
+                         ARM-Mãã­ã»ããµä¾å­é¨è¨­è¨ã¡ã¢
+                                  Last Modified: 2011 Jul 26 22:22:34
+=====================================================================
+
+âãã®ãã­ã¥ã¡ã³ãã®ä½ç½®ã¥ã
+
+ãã®ãã­ã¥ã¡ã³ãã¯ï¼TOPPERS/ASPã«ã¼ãã«ãARMvX-Mãã­ã»ããµã«ç§»æ¤ãããã
+ã®è¨­è¨ã¡ã¢ã§ããï¼
+
+
+âARMVx-Mã®ä»æ§ã¾ã¨ã
+
+ARMvX-Mã®ä»æ§ã®ãã¡ï¼ã«ã¼ãã«ã®è¨­è¨ã«é¢ä¿ããäºé 
+ã«ã¤ãã¦ã¾ã¨ããï¼
+
+âã¬ã¸ã¹ã¿
+
+æ±ç¨ã¬ã¸ã¹ã¿ã¯R0ãR15ã®16ç¨®é¡ããï¼R13ã®ã¿ã2ãã³ã¯æ§æï¼PSP,MSPï¼ã¨ãª
+ã£ã¦ããï¼R15ã¯PC, R14ã¯ãªã³ã¯ã¬ã¸ã¹ã¿ï¼LRï¼ã¨ãªã£ã¦ããï¼R0ãR3,R12ã¯
+ã¹ã¯ã©ããã¬ã¸ã¹ã¿ã§ããï¼
+
+âã³ã¼ãªã³ã°ã³ã³ãã³ã·ã§ã³
+
+R0ãR4ãå¼æ°ï¼ããä»¥ä¸ã¯ã¹ã¿ãã¯ï¼æ»ãå¤ã¯ï¼R0ãR1ã«æ ¼ç´ãããï¼(ARMã«
+ããè¦å®ããã¦ããããï¼ã³ã³ãã¤ã©ã«ä¾å­ãããã®ã«ã¼ã«ã¨ãªãï¼)
+
+âCONTROLã¬ã¸ã¹ã¿
+
+PSP,MSPã®åãæ¿ãï¼Privilageã¨Userã¢ã¼ãã®ã¬ã¸ã¹ã¿ï¼å¤æ´å¾ã¯ï¼ã¤ã³ã¹ã
+ã©ã¯ã·ã§ã³ãããã¡ãã©ãã·ã¥å½ä»¤ãå®è¡ããå¿
+è¦ãããï¼isbï¼ï¼CONTROLã¬
+ã¸ã¹ã¿ã®è©³ç´°ã¯ï¼ARMv7-M Architecture Application Level Reference 
+Manual ã® B1-9 ãåç
+§ã®ãã¨ï¼
+
+âå²è¾¼ã¿ãã¯ã¿
+
+ãã¯ã¿ãã¼ãã«åã§ï¼ãã¯ã¿ãã¼ãã«ã®ã¢ãã¬ã¹ã¯ï¼ãªã»ããæã¯0x00ã§ï¼
+Vector Table Offset Registerï¼ã¡ã¢ãªããããã¬ã¸ã¹ã¿ï¼ ãæä½ãããã¨
+ã§ï¼ä»»æã®ã¢ãã¬ã¹ã«é
+ç½®å¯è½ã§ããï¼
+
+âåªå
+åº¦
+
+å¤ãå°ããæ¹ãé«åªå
+åº¦ã¨ãªãï¼0ãæé«åªå
+åº¦ã¨ãªãï¼ä¸æ¹ï¼å¾è¿°ãããã­
+ã»ããµã®å²è¾¼ã¿åªå
+åº¦ãè¨­å®ããBASEPRIã¬ã¸ã¹ã¿ã¯'0'ãã»ããããã¨ï¼å
+¨ã¦
+ã®å²è¾¼ã¿ãè¨±å¯ããããï¼æé«åªå
+åº¦ã¯ï¼æå¹ãªãããã®LSBã'1'ã¨ããå¤ã§
+ããï¼3bitã®å ´åã¯0x20ï¼ï¼ã¾ãï¼å²è¾¼ã¿ã®åªå
+åº¦ã«'0'ãè¨­å®ããã¨ï¼
+BASEPRIã¬ã¸ã¹ã¿ã§ãã¹ã¯ã§ããªãå²è¾¼ã¿ã¨ãªãï¼
+
+åªå
+åº¦ã¯æå¤§8bitã§ããï¼SoCæ¯ã«å®è£
+ããã¦ãããããå¹
+ãç°ãªãï¼å®è£
+ã
+ãããããã8bitä»¥ä¸ã®å ´åã¯ï¼LSBããç¡å¹ã«ãªãï¼ä¾ãã°ï¼å®è£
+ããã¦ã
+ããããå¹
+ã7bitã®å ´åã¯ï¼ããã0ãç¡å¹ã¨ãªãï¼
+
+åªå
+åº¦ã®ããããã£ã¼ã«ãã®LSBããæ°ãããããµãåªå
+åº¦ã¨å¼ã¶ãã£ã¼ã«ã
+ã«è¨­å®ãããã¨ãå¯è½ã§ããï¼æ®ãã®ä¸ä½ããããããªã¨ã³ãã·ã§ã³åªå
+åº¦ã¨
+å¼ã¶ï¼ããªã¨ã³ãã·ã§ã³åªå
+åº¦ãåãã§ï¼ãµãåªå
+åº¦ãç°ãªãåªå
+åº¦ã®ã°ã«ã¼
+ãã¯ï¼ãäºããããªã¨ã³ãããããã¨ãã§ããªãï¼
+
+Reset,NMI,Hard Fault ä»¥å¤ã®ä¾å¤ã¯å²è¾¼ã¿ã¨åæ§ã«åªå
+åº¦ãè¨­å®å¯è½ã§ããï¼
+å²è¾¼ã¿ãã¹ã¯æ©è½ã«ããï¼çºçãç¦æ­¢ãããã¨ãå¯è½ã§ããï¼
+
+
+âCPUã¢ã¼ã
+
+ãã­ã»ããµã¯ï¼Threadã¢ã¼ããããã¯Handlerã¢ã¼ãã®ããããã®ã¢ã¼ãã¨ãª
+ãï¼
+
+âãªã»ããæã®ç¶æ
+
+
+ãªã»ããæã¯Threadã¢ã¼ãï¼MSPãæå¹ã¨ãªã£ã¦ããï¼
+
+âHandlerã¢ã¼ã
+
+ä¾å¤/å²è¾¼ã¿ãåãä»ããã¨é·ç§»ããã¢ã¼ãï¼åãä»ããä¾å¤/å²è¾¼ã¿ã®ä¾å¤çª
+å·ãï¼IPSRã«ã»ãããããï¼ä¾å¤çªå·ã¯ï¼TRMã§å®ãããã¦ããçªå·ã§ããï¼
+
+        ä¾å¤              ä¾å¤çªå·
+  Reset                      1
+  Non-makable Interrupt      2
+  Hard Fault                 3
+  Memory Management          4
+  Bus Fault                  5
+  Usage Fault                6
+  SVCall                    11
+  Debug Monitor             12
+  PendSV                    14
+  SysTick                   15
+  IRQ0                      16
+  IRQ1                      17
+  ..
+
+ä¾å¤/å²è¾¼ã¿ãåãä»ããã¨ï¼åãä»ããä¾å¤/å²è¾¼ã¿ã®åªå
+åº¦ä»¥ä¸ã®ä¾å¤/å²
+è¾¼ã¿ãç¦æ­¢ããï¼ãã®åªå
+åº¦ãã¹ã¯ã"NVICåªå
+åº¦ãã¹ã¯"ã¨å¼ã¶ï¼ãã®åªå
+åº¦
+ã¯ï¼ã½ããã¦ã§ã¢ããå¤æ´ãããã¨ãã§ããï¼ä¾å¤/å²è¾¼ã¿ã®ãªã¿ã¼ã³ã«ãã
+å²è¾¼ã¿åã®å¤ã«èªåçã«æ»ãï¼
+
+âã¹ã¿ãã¯ãã¤ã³ã¿ï¼PSPã¨MSPï¼
+
+ã¹ã¿ãã¯ãã¤ã³ã¿ã¯ï¼PSPã¨MSPãããï¼æä»çã«ä½¿ç¨å¯è½ã§ããï¼Handlerã¢
+ã¼ãã§ã¯MSPã®ã¿ä½¿ç¨å¯è½ã§ããï¼Threadã¢ã¼ãã§ã¯CONTROLã¬ã¸ã¹ã¿ã§é¸æå¯
+è½ã§ããï¼CONTROLã¬ã¸ã¹ã¿ã®1ãããç®ãã»ããããã¨PSPãæå¹ã«ï¼ã¯ãªã¢
+ããã¨ï¼MSPãæå¹ã«ãªãï¼
+
+âThreadã¢ã¼ãã¨Handlerã¢ã¼ãã®é·ç§»
+
+Threadã¢ã¼ãããHandlerã¢ã¼ãã¸ã®é·ç§»ã¯ï¼ä¾å¤/å²è¾¼ã¿ãåãä»ãããã¨ã§
+çºçããï¼ä¸æ¹ï¼Handlerã¢ã¼ãããThreadã¢ã¼ãã¸ã®é·ç§»ã¯ï¼PCã«
+EXC_RETURN(0xfffffffx)ã®å¤ãè¨­å®ãããã¨ã«ããè¡ãï¼ä¾å¤ãªã¿ã¼ã³å¦çã¨
+å¼ã¶ï¼ï¼EXC_RETURNã®ä¸ä½4bitã«ããï¼é·ç§»å
+ã®ã¢ã¼ããä½¿ç¨ããã¹ã¿ãã¯ã
+ã¤ã³ã¿ãå¤æ´å¯è½ã§ããï¼ä¾å¤ãªã¿ã¼ã³ã«ããï¼PRIMASKãBASEPRIã®å¤ã¯å¤å
+ããªãï¼ä¸æ¹ï¼FAULTMASKã®å¤ã¯'0'ã«ã¯ãªã¢ãããï¼
+
+âEXC_RETURN
+
+ä¾å¤/å²è¾¼ã¿åä»ãæã«lrã«è¨­å®ãããå¤ï¼ããã31ã4ãããã¯å
+¨ã¦'1'ã§ï¼
+ä¸ä½4bitã¯ï¼åä»ãæã®CPUã¢ã¼ããã¹ã¿ãã¯ãåæ ããå¤ã¨ãªã£ã¦ããï¼
+
+ 0b0001 : Handlerã¢ã¼ã
+ 0b1001 : Threadã¢ã¼ã with MSP
+ 0b1101 : Threadã¢ã¼ã with PSP
+
+âThreadã¢ã¼ãã¨Handlerã¢ã¼ãã®å¤å®
+
+ç¾ç¶ã®ã¢ã¼ããå¤å®ããã«ã¯ï¼IPSRãè¦ã¦ï¼'0'ãªãThreadã¢ã¼ãï¼ããä»¥å¤
+ãªãï¼Handlerã¢ã¼ãã¨ãªãï¼
+
+âBASEPRIã¬ã¸ã¹ã¿
+
+è¨­å®ããåªå
+åº¦ä»¥ä¸ã®åªå
+åº¦ã®å²è¾¼ã¿ã®åä»ãç¦æ­¢ããï¼ãã®åªå
+åº¦ãã¹ã¯ã
+"BASEPRIåªå
+åº¦ãã¹ã¯"ã¨å¼ã¶ï¼'0'ãè¨­å®ããã¨ï¼å
+¨ã¦ã®å²è¾¼ã¿ãè¨±å¯ããï¼
+ä¾å¤/å²è¾¼ã¿ã®åä»ã¨ãªã¿ã¼ã³ã«ããå¤åããªãï¼ä¾å¤/å²è¾¼ã¿ã«å¯¾ããå²è¾¼ã¿
+åªå
+åº¦ãã¹ã¯ã¯ï¼NVICåªå
+åº¦ãã¹ã¯ã¨BASEPRIã®è¨­å®å¤ã®é«ãæ¹ï¼å¤ãå°ãã
+æ¹ï¼ã¨ãªãï¼
+
+âFAULTMASK
+
+FAULTMASKã¯'1'ãã»ãããããã¨ã«ããï¼NMIä»¥å¤ã®å
+¨ã¦ã®å²è¾¼ã¿ãç¦æ­¢ããï¼
+FAULTMASKã¯ï¼ä¾å¤ã®ãªã¿ã¼ã³å¦çã«ãã'0'ã«ã¯ãªã¢ãããï¼
+
+âPRIMASKã¨WFI
+
+PRIMASKã'1'ã«è¨­å®ããã¨ï¼NMI ã¨ Hardware Fault ä»¥å¤ã®ä¾å¤/å²è¾¼ã¿ãç¦
+æ­¢ããï¼PRIMASKã¯å²è¾¼ã¿ã®è¨±å¯ã¨å²è¾¼ã¿å¾
+ã¡ãã¢ãããã¯ã«è¡ãããã«ç¨ã
+ãï¼å
+·ä½çã«ã¯ï¼PRIMASKãã»ããããã¦ããç¶æ
+ã§wfiãå®è¡ããã¨ï¼å²ãè¾¼
+ã¿å¾
+ã¡ã¨ãªãï¼å²è¾¼ã¿åä»ããã¨ãã³ãã©ãå®è¡ããã«ï¼wfiãããªã¿ã¼ã³ã
+ã¦ããï¼
+
+âä¾å¤/å²è¾¼ã¿ã®åä»
+
+ã»ä¾å¤/å²è¾¼ã¿ãåä»ããã¨ï¼åä»ãæã«ã¢ã¯ãã£ããªã¹ã¿ãã¯ä¸ã«ä»¥ä¸ã®ã³
+  ã³ãã­ã¹ããä¿å­ãã(ä¾å¤ãã¬ã¼ã ã¨å¼ã¶)ï¼
+
+   -----------
+  |    R0     |  <- new SP
+   -----------
+  |    R1     |
+   -----------
+  |    R2     |
+   -----------
+  |    R3     |
+   -----------
+  |    R12    |
+   -----------
+  |    LR     |
+   -----------
+  |    PC     |
+   -----------
+  |   xPSR    |
+   -----------
+  |           | <- old SP
+
+ã»ãã­ã»ããµãHandlerã¢ã¼ãã¨ããï¼MSPãæå¹ã¨ãªãï¼
+ã»åä»ããä¾å¤/å²è¾¼ã¿ã®ä¾å¤çªå·ãIPSRã«è¨­å®ããï¼
+ã»NVICå²è¾¼ã¿åªå
+åº¦ãã¹ã¯ãåä»ããä¾å¤/å²è¾¼ã¿ã®åªå
+åº¦ã«è¨­å®ããï¼
+ã»lrã«EXC_RETURNã®å¤ãè¨­å®ãããï¼
+ã»ãã¯ã¿ãã¼ãã«ãèª­ã¿è¾¼ã¿ãã³ãã©ãå®è¡ããï¼
+ã»ã¹ã¿ãã¯ãã¬ã¼ã ã¯ï¼Configureation and Control Register(CCR)ã®
+  STKALIGNã'1'ã®å ´åã¯ï¼8byteå¢çã«ã¢ã©ã¤ã³ãããï¼
+
+âä¾å¤/å²è¾¼ã¿ããã®ãªã¿ã¼ã³
+
+pcã«EXC_RETURNã®å¤ãè¨­å®ãããã¨ã«ããï¼ä¾å¤/å²è¾¼ã¿ãããªã¿ã¼ã³ããï¼
+pcã¸ã®è¨­å®ã«ä½¿ç¨å¯è½ãªå½ä»¤ã«ã¯å¶éãããï¼ä»¥ä¸å½ä»¤ãä½¿ç¨å¯è½ã§ããï¼
+
+  ã»POP/LDM, LDR, BX
+
+âæªè§£æ±ºèª²é¡
+
+ã»ãã¯ã¿ã¼ãã¼ãã«ã«ç»é²ããé¢æ°ã®ã¢ãã¬ã¹ã®LSBã¯'1'ã«ããã¹ãã?
+ã»NVICã¯ä¾å¤ã»å²è¾¼ã¿ã®ãã¹ãåæ°ãå
+é¨çã«ç®¡çãã¦ãããããï¼
+  (!ãªãã¡ã¬ã³ã¹ãæããã«)ï¼
+    ã½ããã¦ã§ã¢ã§ã¯ï¼ãã¹ãã®å¸³å°»ãåãããã°ï¼ãªã¿ã¼ã³ã¹ã¿ãã¯ãå½é ã
+    ã¦ãåé¡ãªããï¼
+
+
+âOSã®å®è£
+
+
+1.ã¿ã¼ã²ããå
+
+ 1-1 cm3(Cortex-M3)
+ 1-2 armv7m(ARMV7M)
+ 1-3 arm_m
+
+cm3ã§ã¯ï¼Coretex-M1(armv6-m)ããµãã¼ãããå ´åã«åé¡ã¨ãªãï¼armv7mã§ã¯ï¼
+armv8mããªãªã¼ã¹ãããå ´åã«åé¡ã¨ãªãï¼ARMä¾å­é¨ã¯JSPã§ã¯ï¼armv4ã¨ãª
+ã£ã¦ãããï¼armv5ãarmv7ãåä½ããããASPã§ã¯åã«armã¨ããï¼ãã®ããï¼
+arm_mãç¡é£ã¨èããããï¼
+
+
+2.Threadã¢ã¼ãã¨Handlerã¢ã¼ãã®ä½¿ãåã
+
+ 2-1
+  ã¿ã¹ã¯ã³ã³ãã­ã¹ãã¯Threadã¢ã¼ãï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãã¯Handlerã¢ã¼
+  ãã§åä½ãããï¼
+
+ 2-2
+  ã¿ã¹ã¯ã³ã³ãã­ã¹ãã¨éã¿ã¹ã¯ã³ã³ãã­ã¹ãå
+±ã«Handlerã¢ã¼ãã§åä½ãã
+  ãï¼
+
+ãã­ã»ããµã®è¨­è¨æ¹éãèæ
+®ããã¨2-1ãæåï¼2-1ã§ã®åé¡ç¹ã¨ãã¦ã¯ï¼å²è¾¼
+ã¿ãã³ãã©ããã¿ã¹ã¯ã¸ã®ãªã¿ã¼ã³æã«ã¢ã¼ãã®å¤æ´ãä»¥ä¸ã®æ§ã«å¤çºããã
+ã¨ãæããããï¼
+
+1.å²è¾¼ã¿ãã³ãã©               : Handlerã¢ã¼ã
+2.ã¿ã¹ã¯ä¾å¤ãã³ãã©ã®å¼ã³åºã : Threadã¢ã¼ã
+3.ã¿ã¹ã¯ã¸ã®ãªã¿ã¼ã³å¦ç       : Handlerã¢ã¼ã
+4.ã¿ã¹ã¯ã®åé                 : Threadã¢ã¼ã
+
+3ã§Handlerã¢ã¼ãã«ç§»è¡ããå¿
+è¦ãããã®ã¯ï¼ä¾å¤ãã¬ã¼ã ãç¨ãã¦å¾©å¸°ãã
+ã«ã¯ï¼Handlerã¢ã¼ãã§ä¾å¤ãªã¿ã¼ã³å¦çãè¡ãå¿
+è¦ãããããã§ããï¼ARMã§
+ã¯ï¼è¤æ°ã¬ã¸ã¹ã¿ã®ã­ã¼ãã¨CPSRã®å¾©å¸°ãåæã«è¡ãããï¼M3ã¯è¡ããªãããï¼
+ãã®æ¹æ³ã§å²è¾¼ã¿å
+ã®ã¿ã¹ã¯ã«ãªã¿ã¼ã³ããå¿
+è¦ãããï¼
+
+2-2ã®å ´åã®å²è¾¼ã¿ãã³ãã©ããã¿ã¹ã¯ã¸ã®ãªã¿ã¼ã³æã«ã¢ã¼ãã®å¤æ´ãä»¥ä¸
+ã«ç¤ºãï¼ã¾ãï¼2-2ã§ã¯å²è¾¼ã¿åªå
+åº¦ã®æä½å¤ãã¿ã¹ã¯ã®å®è¡æã®åªå
+åº¦ã¨ã
+ã¦ãªã¶ã¼ãããå¿
+è¦ãããï¼
+
+1.å²è¾¼ã¿ãã³ãã©               : Handlerã¢ã¼ã
+2.NVICåªå
+åº¦ãã¹ã¯'0'ã0ã¸     : Threadã¢ã¼ã
+3.æä½åªå
+åº¦ã®Handlerã¢ã¼ãã¸  : Handlerã¢ã¼ã
+4.ã¿ã¹ã¯ä¾å¤ãã³ãã©ã®å¼ã³åºã : Handlerã¢ã¼ã
+5.ã¿ã¹ã¯ã¸ã®ãªã¿ã¼ã³ã®åå¦ç   : Threadã¢ã¼ã
+3.ã¿ã¹ã¯ã¸ã®ãªã¿ã¼ã³           : Handlerã¢ã¼ã
+4.ã¿ã¹ã¯ã®åé                 : Handlerã¢ã¼ã
+
+å²è¾¼ã¿ãã³ãã©ããã¿ã¹ã¯ã®ãªã¿ã¼ã³ã«é¢ãã¦ã¯ï¼2-2ã§ãã£ã¦ãï¼2ãå®è¡ã
+ãå ´åã«ï¼NVICåªå
+åº¦ãã¹ã¯ã'0'ã«ããããï¼ä¾å¤ãªã¿ã¼ã³å¦çãè¡ãå¿
+è¦
+ãããï¼ã¾ãï¼NVICèªä½ãï¼å²è¾¼ã¿ã®ãã¹ãåæ°ãç®¡çãã¦ããããï¼3ãã4
+ã¸ã®é·ç§»ã®ããã«ï¼ãã£ããä¾å¤/å²è¾¼ã¿ãåä»ããç¶æ
+ã«ããå¿
+è¦ãããã
+ãï¼çµæçã«2-1ä»¥ä¸ã®é·ç§»ãå¿
+è¦ã¨ãªãï¼
+
+2-2ã®å ´åã¯ï¼MSPããä½¿ããªãããï¼å²è¾¼ã¿ã®å
+¥ãå£ã§ãã¹ãåæ°ãå¤æ­ãã¦ï¼
+ã¹ã¿ãã¯ãå
+¥ãæ¿ããå¿
+è¦ãããï¼
+
+HRPç­ã§ã¡ã¢ãªä¿è­·ãç¨ããå ´åã¯2-1ã¨ãªãï¼
+
+ä»¥ä¸ã®çç±ã«ããï¼2-1ãæ¡ç¨ããï¼ãã ã2-1ã¯ï¼ã«ã¼ãã«èµ·åæã¨IDLEã«ã¼
+ãã®æ±ããæ¤è¨ããå¿
+è¦ãããï¼ãããã«ã¤ãã¦ã¯å¥éè­°è«ããï¼
+
+
+3.ãã£ã¹ãããã£ã®å®è¡ã¢ã¼ã
+
+ 3-1
+  Threadã¢ã¼ãã§å®è¡ãã
+
+ 3-2
+  Handlerã¢ã¼ãã§å®è¡ãã
+
+ãã£ã¹ãããã£ãThreadã¢ã¼ãã§å®è¡ããã¨ï¼å²è¾¼ã¿ã«ããããªã¨ã³ãããã
+ãã¿ã¹ã¯ã«æ»ãå ´åã¯æ¬¡ã®ãããªãã¹ã«ãªãï¼
+
+ 1. ãã£ã¹ãããã£å¼ã³åºã : Threadã¢ã¼ã 
+ 2. ãã£ã¹ãããã£å®è¡     : Threadã¢ã¼ã
+ 3. ã¿ã¹ã¯ä¾å¤å®è¡         : Threadã¢ã¼ã
+ 4ï¼ã¿ã¹ã¯ã¸ã®ãªã¿ã¼ã³å¦ç : Handlerã¢ã¼ã
+ 5. ã¿ã¹ã¯ã®åé           : Threadã¢ã¼ã
+
+å²è¾¼ã¿ãã³ãã©ããèªããã£ã¹ãããããã¿ã¹ã¯ã¸ãªã¿ã¼ã³ããå ´åã¯æ¬¡ã®ã
+ã¹ã«ãªãï¼
+
+ 1.å²è¾¼ã¿ãã³ãã©               : Handlerã¢ã¼ã
+ 2.ãã£ã¹ãããã£å®è¡           : Threadã¢ã¼ã
+ 3.ã¿ã¹ã¯ä¾å¤ãã³ãã©ã®å¼ã³åºã : Threadã¢ã¼ã
+ 4.ã¿ã¹ã¯ã¸ã®ãªã¿ã¼ã³           : Handlerã¢ã¼ã
+ 5.ã¿ã¹ã¯ã®åé                 : Threadã¢ã¼ã
+
+ä¸æ¹ï¼ãã£ã¹ãããã£ãHandlerã¢ã¼ãã§å®è¡ããã¨ï¼å²è¾¼ã¿ã«ããããªã¨ã³
+ãããããã¿ã¹ã¯ã«æ»ãå ´åã¯æ¬¡ã®ãããªãã¹ã«ãªãï¼
+
+ 1. ãã£ã¹ãããã£å¼ã³åºã : Threadã¢ã¼ã 
+ 2. ãã£ã¹ãããã£å®è¡     : Handlerã¢ã¼ã
+ 3. ã¿ã¹ã¯ä¾å¤å®è¡         : Threadã¢ã¼ã
+ 4ï¼ã¿ã¹ã¯ã¸ã®ãªã¿ã¼ã³     : Handlerã¢ã¼ã
+ 5. ã¿ã¹ã¯ã®åé           : Threadã¢ã¼ã
+
+å²è¾¼ã¿ãã³ãã©ã®åºå£ããèªããã£ã¹ãããããã¿ã¹ã¯ã¸ãªã¿ã¼ã³ããå ´åã¯
+æ¬¡ã®ãã¹ã«ãªãï¼
+
+ 1.å²è¾¼ã¿ãã³ãã©               : Handlerã¢ã¼ã
+ 2.ãã£ã¹ãããã£å®è¡           : Handlerã¢ã¼ã
+ 3.ã¿ã¹ã¯ä¾å¤ãã³ãã©ã®å¼ã³åºã : Threadã¢ã¼ã
+ 4.ã¿ã¹ã¯ã¸ã®ãªã¿ã¼ã³           : Handlerã¢ã¼ã
+ 5.ã¿ã¹ã¯ã®åé                 : Threadã¢ã¼ã
+
+ã¿ã¹ã¯ä¾å¤ãã³ãã©ããªãOSã®å ´åã¯ï¼Handlerã¢ã¼ãã§å®è¡ããæ¹ãã¢ã¼ã
+ã®é·ç§»ã®åæ°ãæ¸ããï¼ã¿ã¹ã¯ä¾å¤ãã³ãã©ãããã¨ï¼Threadã¢ã¼ãã®æ¹ãé·
+ç§»åæ°ãæ¸ãããï¼Threadã¢ã¼ãã¨ããï¼
+
+ã¡ã¢ãªä¿è­·ãèæ
+®ããã¨ï¼ãã£ã¹ãããã£ã¯Handlerã¢ã¼ãã§åä½ãããæ¹ã
+å¹çãããã¨èããããï¼SVCã§ãã³ãã©ãå¼ã³åºãã¨Handlerã¢ã¼ãã¨ãªãã
+ãï¼ï¼
+
+
+4.ã¹ã¿ãã¯ã®ä½¿ãåã
+
+ 4-1
+  ã¿ã¹ã¯ã³ã³ãã­ã¹ããPSP, éã¿ã¹ã¯ã³ã³ãã­ã¹ããMSP
+ 4-2
+  ã¿ã¹ã¯ã³ã³ãã­ã¹ãï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãå
+±ã«MSP
+
+4-2ã®å ´åï¼å²è¾¼ã¿ã®å
+¥ãå£ã§ãã¹ãåæ°ãå¤æ­ãã¦ï¼ã¹ã¿ãã¯ãå
+¥ãæ¿ãã
+å¿
+è¦ãããï¼2ã§ã¿ã¹ã¯ã³ã³ãã­ã¹ãã¯Threadã¢ã¼ãï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ã
+ã¯Handlerã¢ã¼ãã§åä½ãããã¨ããããï¼4-1ãæ¡ç¨ããã¨ï¼å²è¾¼ã¿ã®å
+¥ãå£
+ã§èªåçã«ã¹ã¿ãã¯ãåãæ¿ããï¼Threadã¢ã¼ãã§ã®PSPã®ã¢ã¯ã»ã¹ãï¼
+mrs/msrå½ä»¤ã§è¡ããããï¼4-1ãæ¡ç¨ããï¼
+
+
+5.ã³ã³ãã­ã¹ãã®å¤å®
+
+ 5-1
+  IPSRã'0'(Threadã¢ã¼ã)ãªãã¿ã¹ã¯ã¿ã¹ã¯ã³ã³ãã­ã¹ãï¼'1'(Handlerã¢ã¼
+  ã)ãªãéã¿ã¹ã¯ã³ã³ãã­ã¹ãã¨ããï¼
+
+ 5-2
+  å²è¾¼ã¿ã®ãã¹ãåæ°ãä¿æããå¤æ°ãç¨æï¼1ä»¥ä¸ã§éã¿ã¹ã¯ã³ã³ãã­ã¹ãï¼
+
+ 5-3
+  ã¢ã¯ãã£ããªã¹ã¿ãã¯ã«ããå¤æ­ï¼MSPãªãéã¿ã¹ã¯ã³ã³ãã­ã¹ãï¼PSPãªã
+  ã¿ã¹ã¯ã³ã³ãã­ã¹ãã¨ããï¼
+
+5-1ã¯ï¼ã½ããã¦ã§ã¢å´ã§ã³ã³ãã­ã¹ãç®¡çã®ããã®å¦çãè¡ãå¿
+è¦ããªãã¨
+ããã¡ãªãããããï¼ããããªããï¼ã«ã¼ãã«ã®èµ·åæThreadã¢ã¼ãã§ããã
+ãï¼Handlerã¢ã¼ãã¸ç§»è¡ããå¿
+è¦ãããï¼ASPã«ã¼ãã«ã§ã¯ï¼IDLEã«ã¼ãå®è¡
+ã¯éã¿ã¹ã¯ã³ã³ãã­ã¹ãã¨ãã¦åä½ãããå¿
+è¦ãããããï¼IDLEã«ã¼ãã¯
+Handlerã¢ã¼ãã§åä½ãããå¿
+è¦ãããï¼IDLEã«ã¼ãã¯ãã£ã¹ãããã£ããå¼
+ã³åºãããï¼3ã§å®ããããã«ï¼ãã£ã¹ãããã£ãThreadã¢ã¼ãã§åä½ããã
+ããï¼IDLEã«ã¼ããå¼ã³åºãéã«ã¯ï¼Handlerã¢ã¼ãã¸é·ç§»ããå¿
+è¦ãããï¼
+Handlerã¢ã¼ãã¸ã®é·ç§»ã¯ï¼SVC/PendSVCãç¨ããã¨å®ç¾å¯è½ã§ãããï¼6ã®å²
+è¾¼ã¿ã«ããªã¨ã³ãããããã¿ã¹ã¯ã¸ã®ãªã¿ã¼ã³æã®Handlerã¢ã¼ãã¸ã®ç§»è¡ã§
+ãSVC/PendSVCã®ä½¿ç¨ãå¿
+è¦ã¨ãªãããï¼SVCãã³ãã©ã§ã¯ï¼ã©ã®ç®çã§å¼ã³åº
+ããããå¤å®ããå¿
+è¦ãåºã¦ããããï¼ãªã¼ãããããå¢å¤§ããï¼
+
+5-2ã§ã¯ï¼ã«ã¼ãã«èµ·åæãIDLEã«ã¼ãæã«å¤æ°ã'1'ã«è¨­å®ããã°ãããã¨ã«
+ãªãï¼ãã®å ´åï¼ã«ã¼ãã«èµ·åæãIDLEã«ã¼ãæã«Threadã¢ã¼ãã§å®è¡ãã¦ã
+åä½ã«åé¡ããªãããï¼ç¹ã«å²è¾¼ã¿ã®åºå
+¥ãå£ã®è¨­è¨ãæ³¨æããå¿
+è¦ãããï¼
+
+ã«ã¼ãã«èµ·åæã«é¢ãã¦ã¯ï¼å
+¨å²è¾¼ã¿ãç¦æ­¢ãã¦ããï¼å²è¾¼ã¿ãå
+¥ããªãã®ã§
+ç¹ã«åé¡ã¯ãªãï¼IDLEã«ã¼ãæã¯ï¼Threadã¢ã¼ãã§MSPã¨PSPã®é¸æãå¯è½ã§ã
+ããã¨ãå©ç¨ãã¦ï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãã®ã¹ã¿ãã¯ã§ããMSPã«å¤æ´ããï¼
+ä¾å¤/å²è¾¼ã¿ã®å
+¥ãå£ã§ã¯ï¼å¤éå²è¾¼ã¿ã§ããããEXC_RETURNã®ã¢ã¼ãå¤å®ã®
+ãããã§ã¯ãªãï¼ã¹ã¿ãã¯ã®å¤å®ãããã§è¡ãã°åé¡ãªãï¼ä¾å¤/å²è¾¼ã¿ãã
+ã®ãªã¿ã¼ã³ã«é¢ãã¦ã¯ï¼å¤éå²è¾¼ã¿ã®å¤å®ã¯ï¼å
+¥ãå£ã¨åæ§ã«EXC_RETURNã®ã¹
+ã¿ãã¯å¤å®ãããã§è¡ãã°ããï¼ä¾å¤ãªã¿ã¼ã³å¦çæã«pcã«ä»£å
+¥ãã
+EXC_RETURNã®å¤ãä¸å¾0xfffffffd (Threadã¢ã¼ã with MSP)ã¨ããã®ã§ã¯ãªãï¼
+ä¾å¤/å²è¾¼ã¿åä»ãæã«LRã«è¨­å®ãããEXC_RETURNãç¨ãããã¨ã«ããï¼IDLE
+ã«ã¼ãã«å²ãè¾¼ãã å ´åã§ãåé¡ãªããªã¿ã¼ã³ããï¼
+
+ã«ã¼ãã«èµ·åæã¯ï¼MSPãã¢ã¯ãã£ãã§ããï¼å²è¾¼ã¿ãã³ãã©å®è¡æã¯Handler
+ã¢ã¼ãã§ãããã¨ããMSPãã¢ã¯ãã£ãã§ãï¼IDLEã«ã¼ãæã«MSPãã¢ã¯ãã£ã
+ã«è¨­å®ããã¨ï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãã¯å
+¨ã¦ï¼MSPãã¢ã¯ãã£ãã«ãã¦åä½ã
+ããã¨ã«ãªãï¼ã¾ãï¼å²è¾¼ã¿æã¯å²è¾¼ã¿åã«ã¢ã¯ãã£ããªã¹ã¿ãã¯ã®æ
+å ±ãï¼
+EXC_RETURNã«è¨­å®ãããï¼ãã®ããï¼ã³ã³ãã­ã¹ãã®å¤å®ã¯ï¼å²è¾¼ã¿ãã¹ãå
+æ°ãä¿æããå¤æ°ããªãã¨ãï¼ã¢ã¯ãã£ããªã¹ã¿ãã¯ãè¦ãã°ãããã¨ã«ãªãï¼
+ã¾ãï¼exc_sense_context()ã«é¢ãã¦ã¯ï¼ä¾å¤ãã¬ã¼ã ä¸­ã«EXC_RETURNãè¿½å 
+ãï¼ãã®å
+å®¹ã«ããå¤æ­ããã°ããï¼ä»¥ä¸ã®çç±ã«ããï¼5-3ãæ¡ç¨ããï¼
+
+
+6.å²è¾¼ã¿ã«ããªã¨ã³ãããããã¿ã¹ã¯ã¸ã®ãªã¿ã¼ã³æã®Handlerã¢ã¼ãã¸ã®ç§»
+  è¡æ¹æ³
+
+ 6-1
+  SVCãç¨ãã
+ 6-2
+  PendSVCãç¨ãã
+
+PendSVCã¨SVCã®éãã¯ï¼PendSVCãè¦æ±ãã­ã¥ã¼ã¤ã³ã°ããï¼SVCã¯è¦æ±ãã­ã¥
+ã¼ã¤ã³ã°ãããªããã¨ã§ããï¼å²è¾¼ã¿ã«ããªã¨ã³ãããããã¿ã¹ã¯ã¸ã®ãªã¿ã¼
+ã³æã®Handlerã¢ã¼ãã¸ã®ç§»è¡ã¯ï¼ã­ã¥ã¼ã¤ã³ã°ãããã«å³åº§ã«å¦çãããå¿
+
+è¦ãããããï¼ã©ã¡ãã§å®ç¾ãã¦ãåé¡ãªãï¼ã©ã¡ããã«ã¼ãã«ã®ãªã½ã¼ã¹ã
+ã¦ä½¿ç¨ãããã®é¸æã ãã§ããï¼
+
+ã©ã¡ããä½¿ãã¨ãã¦ãï¼åªå
+åº¦ã®è¨­å®ãåé¡ã¨ãªãï¼ãã£ã¹ãããã£ããå²è¾¼
+ã¿ã«ããªã¨ã³ãããããã¿ã¹ã¯ã¸ã®ãªã¿ã¼ã³ã¾ã§ã®å¦çã¯ï¼å°ãªãã¨ãCPUã­
+ãã¯ç¶æ
+ã§å®è¡ãããªããã°ãªããªãï¼SVCãPendSVCã¯ã©ã¡ããå²è¾¼ã¿åªå
+åº¦
+ãæã¤ããï¼NVICåªå
+åº¦ãã¹ã¯ããBASEPRIåªå
+åº¦ãã¹ã¯ã®æ¹ãé«ãå ´åï¼å¦
+çãããªãï¼
+
+CPUã­ãã¯ç¶æ
+ãBASEPRIã®è¨­å®ã§å®ç¾ããå ´åï¼ãã®è¨­å®å¤ãSVCãPendSVCã«
+è¨­å®ããå¤ããä½ãããå¿
+è¦ãããï¼è¨ãæããã¨ï¼SVCãPendSVCã®åªå
+åº¦ã
+CPUã­ãã¯æã®åªå
+åº¦ãã¹ã¯ã®å¤ããé«ãå¤ï¼ä»ã®å²è¾¼ã¿ããé«ãåªå
+åº¦ï¼ã¨
+ããå¿
+è¦ãããï¼
+
+CPUã­ãã¯ç¶æ
+ãFAULTMASKãPRIMASKã§å®ç¾ããå ´åã¯ï¼ããããè¨­å®ããã
+ã¨ï¼SVCãPendSVCãåä»ããããªãããï¼ãã£ããBASEPRIã«ããå²è¾¼ã¿ãã
+ã¹ã¯ããããã«è¨­å®ããå¿
+è¦ãããï¼ãã®å ´åãï¼SVCãPendSVCã¯ä»ã®å²è¾¼ã¿
+ããé«ãåªå
+åº¦ãè¨­å®ããå¿
+è¦ãããï¼
+
+ä»¥ä¸ã«ããï¼Handlerã¢ã¼ãã¸ã®ç§»è¡ã®ããã«ã¯ï¼CPUã­ãã¯ç¶æ
+ãBASEPRIã§
+å®ç¾ãï¼SVCãPendSVCã«è¨­å®ããåªå
+åº¦ãã«ã¼ãã«ç®¡çå
+ã®æé«åªå
+åº¦ããä¸
+ã¤é«ãåªå
+åº¦ã«è¨­å®ããå¿
+è¦ãããï¼
+
+
+7. ä¾å¤/å²è¾¼ã¿åºå
+¥ãå£ã§ã®å¤éå²è¾¼ã¿ã®å¤æ­
+
+7-1
+ EXC_RETURNã®ã¢ã¼ãå¤å®ããã
+7-2
+ EXC_RETURNã®ã¹ã¿ãã¯å¤å®ããã
+7-3
+ å²è¾¼ã¿ãã¹ãåæ°ã®ç®¡çå¤æ°
+
+ä¾å¤/å²è¾¼ã¿åä»ãæã¯ï¼åä»ããä¾å¤/å²è¾¼ã¿ä»¥ä¸ã®å²è¾¼ã¿ã¯ç¦æ­¢ãããï¼å
+¨
+å²è¾¼ã¿ç¦æ­¢ç¶æ
+ã«ã¯ãªããªãï¼ãã®ããï¼å²è¾¼ã¿ãã¹ãåæ°ã®ç®¡çå¤æ°ãã¤ã³
+ã¯ãªã¡ã³ãããåã«å²è¾¼ã¿ãå
+¥ãå¯è½æ§ãããããï¼7-3ã¯ä½¿ç¨ãããã¨ãã§
+ããªãï¼
+
+5ã§è­°è«ããéãï¼IDLEã«ã¼ããThreadã¢ã¼ãã§å®è¡ããããï¼7-1ã§ã¯ãªãï¼
+7-2ã§å¤æ­ããå¿
+è¦ãããï¼
+
+
+8. IDLEã«ã¼ã
+
+8-1
+ Threadã¢ã¼ãã§å®è¡
+8-2
+ Handlerã¢ã¼ãã§å®è¡
+
+5ã§è­°è«ããéãï¼Threadã¢ã¼ãã§å®è¡ã§ããæ¹ããªã¼ãããããå°ããï¼ã¾
+ãï¼Threadã¢ã¼ãã§å®è¡ãã¦ãï¼å²ãè¾¼ã¿ã®åºå
+¥ãå£ã§æ­£ããéã¿ã¹ã¯ã³ã³ã
+ã­ã¹ãã¨å¤å®ã§ããã°ï¼Threadã¢ã¼ãã§åé¡ãªãï¼
+
+
+9ï¼ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ã®ãµãã¼ã
+
+9-1
+ ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ããµãã¼ãããªã
+9-2
+ ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ããµãã¼ããã
+
+ãã¯ã¿ãã¼ãã«ããµãã¼ããã¦ããï¼å²è¾¼ã¿ãã³ãã©ãCè¨èªã§è¨è¿°å¯è½ã§ã
+ãããï¼ãµãã¼ããå®¹æã§ããããï¼ãµãã¼ãããï¼
+
+
+10. CPUã­ãã¯
+
+10-1
+ BASEPRIãä½¿ç¨ 
+10-2 
+ FAULTMASK/PRIMASKãä½¿ç¨
+
+ã«ã¼ãã«ã®ç®¡çå¤ã®å²è¾¼ã¿ããµãã¼ããããªãï¼BASEPRIãä½¿ç¨ããå¿
+è¦ãã
+ãï¼
+
+
+11. å²è¾¼ã¿ã­ãã¯ã¨CPUä¾å¤ã®é¢ä¿
+
+11-1
+ BASEPRIãä½¿ç¨ 
+11-2 
+ FAULTMASK/PRIMASKãä½¿ç¨ 
+
+FAULTMASK/PRIMASKãä½¿ç¨ããã¨ï¼NMI ã¨ Hardware Fault ä»¥å¤ã®CPUä¾å¤ãç¦
+æ­¢ããã¦ãã¾ãï¼
+
+BASEPRIãç¨ããã¨ï¼å²è¾¼ã¿ã­ãã¯ä¸­ã«ãCPUä¾å¤ãåä»ãããå ´åã¯ï¼
+BASEPRIãç¨ãã¦ï¼æé«åªå
+åº¦ãCPUä¾å¤ã®ããã«ãªã¶ã¼ãããå¿
+è¦ãããï¼
+
+å²è¾¼ã¿ã­ãã¯æãï¼CPUä¾å¤ãåä»ããããã«ããããã°BASEPRIãä½¿ç¨ããå¿
+
+è¦ãããï¼
+
+Î¼IRON4.0ä»æ§ã®3.5.3ã§ã¯ï¼CPUä¾å¤ã®åªå
+åº¦ã¯æ¬¡ã®ããã«å®ãããã¦ããï¼
+
+"CPUä¾å¤ãã³ãã©ã®åªå
+é ä½ã¯ï¼CPUä¾å¤ãçºçããå¦çã®åªå
+åº¦ã¨ï¼ãã£ã¹
+ãããã£ã®åªå
+é ä½ã®ãããããããé«ãï¼"
+
+CPUä¾å¤ãçºçããå¦çã®åªå
+åº¦ãããé«ãã¨ããã®ã§ï¼CPUã­ãã¯ãå²è¾¼ã¿ã­
+ãã¯ç¶æ
+ã®ã¿ã¹ã¯ã§çºçããå ´åã§ãï¼åªå
+ãã¦å®è¡ãããã¹ãã ã¨ãèãã
+ããï¼
+
+ä¸æ¹ï¼TOPPERSæ¨æºå²è¾¼ã¿å¦çã¢ãã«ã®ä»æ§æ¸ã§ã¯ï¼CPUä¾å¤ã¯ï¼ãã­ã»ããµæ¯
+ã«ç°ãªãããï¼CPUä¾å¤ã®å¦çã¢ãã«ã®æ¨æºåæ¤è¨ã®å¯¾è±¡å¤ã¨ãã¦ããï¼ãã®
+ããï¼ARM-Mã§ã®æ±ããæ±ºãã¦ï¼ããã¥ã¢ã«ã«æè¨ããã°ããã¨èããããï¼
+
+
+12. å¤é¨åªå
+åº¦ã¨å
+é¨åªå
+åº¦ã®å¤æ
+
+å¤é¨åªå
+åº¦ã¨ã¯APIã§æå®ããå²è¾¼ã¿åªå
+åº¦(PRIå)ã®ãã¨ã§ããï¼å¤ãå°ãã
+ã»ã©åªå
+åº¦ãé«ãï¼å²è¾¼ã¿ãã³ãã©ã«ã¯ï¼-1ããé£ç¶ããè² ã®å¤ãè¨­å®å¯è½ã§
+ããï¼å
+é¨åªå
+åº¦ã¯ï¼BASEPRIãNVICã®åªå
+åº¦ã¬ã¸ã¹ã¿ã«è¨­å®ããå¤ã§ããï¼
+
+å®è£
+ãããå²è¾¼ã¿åªå
+åº¦ã®ãããå¹
+ã TBITW_IPRI ã¨ããã¨ï¼è¨­å®å¯è½ãªå¤é¨
+åªå
+åº¦ã¯æ¬¡ã®ããã«ãªãï¼
+
+  TIPM_ENAALLï¼ï¼0ï¼ã -(1 << TBITW_IPRI)
+
+
+13. ã«ã¼ãã«ç®¡çå
+ã®æé«åªå
+åº¦(CPUã­ãã¯ç¶æ
+ã§ã®åªå
+åº¦ãã¹ã¯)
+
+6.ã§è¿°ã¹ãããã«ï¼å²è¾¼ã¿ã®åºå£ã§SVCãã³ãã©ãå¼ã³åºãå¿
+è¦ãããããï¼
+SVCãã³ãã©ã¯CPUã­ãã¯ç¶æ
+ã®BASEPRIã«è¨­å®ããåªå
+åº¦ãã¹ã¯ããé«ãåªå
+åº¦
+ãè¨­å®ããå¿
+è¦ãããï¼
+
+å®è£
+ãããå²è¾¼ã¿åªå
+åº¦ã®ãããå¹
+ã TBITW_IPRIï¼åªå
+åº¦ä¸­ã®ãµãåªå
+åº¦ã®
+ãããå¹
+ãTBIT_IPRIã¨ããã¨ï¼CPUã­ãã¯ç¶æ
+ï¼ã«ã¼ãã«ç®¡çå
+å²è¾¼ã¿ã«è¨­å®
+å¯è½ãªæé«åªå
+åº¦ï¼ã¨ãã¦æå®å¯è½ãªåªå
+åº¦ãã¹ã¯ã®è¨­å®ç¯å²ã¯ä»¥ä¸ã®å¤ã®ç¯
+å²ã¨ãªãï¼
+
+    -(2^(TBIW_IPRI) - 1) + (2^TBITW_SUBIPRI) ã -1
+
+
+14. æªè§£æ±ºèª²é¡
+
+ã»å²è¾¼ã¿ã­ãã¯ã¨CPUä¾å¤ã®é¢ä¿
+  BASEPRIãä½¿ã£ãã¨ãã¦ãï¼ããCPUä¾å¤å¦çä¸­ã«ä»ã®ä¾å¤ãçºçããã¨ï¼ã
+  ã®ä¾å¤ã¯åãä»ããããªãããï¼ITRONä»æ§ã¯æºãããªãï¼
+  ->ããããã¦ããã¥ã¢ã«è¨è¼ã«éããã.
+  ã¡ã¢ãªãã­ãã¯ã·ã§ã³ã®ä¾å¤ããã¹ã¯å¯è½ã§ããããè¦ä»¶ç­ï¼
+
+ä»¥ä¸ï¼
Index: /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_insn.h
===================================================================
--- /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_insn.h	(revision 85)
+++ /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_insn.h	(revision 85)
@@ -0,0 +1,185 @@
+/*
+ *  TOPPERS/ASP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Advanced Standard Profile Kernel
+ * 
+ *  Copyright (C) 2008 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
+ *  å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
+ *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ãã
+ *      å
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
+ *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
+ *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
+ *  ã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: core_insn.h 2310 2012-02-23 02:14:28Z ertl-honda $
+ */
+
+
+/*
+ *  ã³ã¢ä¾å­ã®ç¹æ®å½ä»¤ã®ã¤ã³ã©ã¤ã³é¢æ°å®ç¾©ï¼ARM-Mç¨ï¼
+ */
+
+#ifndef CORE_INSN_H
+#define CORE_INSN_H
+
+#include <arm_m.h>
+
+/*
+ *  ã¡ã¢ãªãå¤æ´ããããã¨ãã³ã³ãã¤ã©ã«ä¼ããããã®ãã¯ã­
+ */
+#ifdef CCS_BUILD
+#define ARM_MEMORY_CHANGED
+#else /* CCS_BUILD */
+#define ARM_MEMORY_CHANGED Asm("":::"memory")
+#endif /* CCS_BUILD */
+
+/*
+ *  FAULTMASKã®ã»ãã
+ */
+Inline void
+set_faultmask(void){
+#ifndef CCS_BUILD
+	Asm("cpsid f":::"memory");
+#endif /* CCS_BUILD */
+}
+
+/*
+ *  FAULTMASKã®ã¯ãªã¢
+ */
+Inline void
+clear_faultmask(void){
+#ifndef CCS_BUILD
+	Asm("cpsie f":::"memory");
+#endif /* CCS_BUILD */
+}
+
+/*
+ *  PRIMASKã®ã»ãã
+ */
+Inline void
+set_primask(void){
+#ifndef CCS_BUILD
+	Asm("cpsid i":::"memory");
+#endif /* CCS_BUILD */
+}
+
+/*
+ *  PRIMASKã®ã¯ãªã¢
+ */
+Inline void
+clear_primask(void){
+#ifndef CCS_BUILD
+	Asm("cpsie i":::"memory");
+#endif /* CCS_BUILD */
+}
+
+/*
+ *  BASEPRIã®ã»ãã
+ */
+Inline void
+set_basepri(uint32_t val){
+#ifndef CCS_BUILD
+	Asm("msr BASEPRI, %0" : : "r"(val) : "memory");
+#endif /* CCS_BUILD */
+}
+
+/*
+ *  BASEPRIã®åå¾
+ */
+Inline uint32_t
+get_basepri(void){
+#ifdef CCS_BUILD
+	return 0;
+#else /* CCS_BUILD */
+	uint32_t val;
+	Asm("mrs  %0, BASEPRI" : "=r"(val));
+	return(val);
+#endif /* CCS_BUILD */
+}
+
+/*
+ *  CONTROLã®ã»ãã
+ */
+Inline void
+set_control(uint32_t val){
+#ifndef CCS_BUILD
+	/*
+	 *  controlã¬ã¸ã¹ã¿ã»ããå¾ã«ã¯isbãå¿
+é 
+	 *  [ARMv7-M Architecture Reference Manaual(DDI0403B) A3-37]
+	 */
+	Asm("msr control, %0 \n"
+		" isb"
+		: : "r"(val) : "memory");
+#endif /* CCS_BUILD */
+}
+
+/*
+ *  CONTROLã®åå¾
+ */
+Inline uint32_t
+get_control(void){
+#ifdef CCS_BUILD
+	return 0;
+#else /* CCS_BUILD */
+	uint32_t val;
+	Asm("mrs  %0, CONTROL" : "=r"(val));
+	return(val);
+#endif /* CCS_BUILD */
+}
+
+/*
+ *  ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ï¼CPSRï¼ã®ç¾å¨å¤ã®èª­åºã
+ */
+Inline uint32_t
+get_ipsr(void)
+{
+#ifdef CCS_BUILD
+	return 0;
+#else /* CCS_BUILD */
+    uint32_t sr;
+    Asm("mrs  %0, ipsr" : "=r"(sr));
+    return(sr);
+#endif /* CCS_BUILD */
+}
+
+#endif /* CORE_INSN_H */
Index: /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_kernel.h
===================================================================
--- /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_kernel.h	(revision 85)
+++ /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_kernel.h	(revision 85)
@@ -0,0 +1,80 @@
+/*
+ *  TOPPERS/ASP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Advanced Standard Profile Kernel
+ * 
+ *  Copyright (C) 2008-2011 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
+ *  å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
+ *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ãã
+ *      å
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
+ *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
+ *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
+ *  ã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: core_kernel.h 2189 2011-07-24 13:16:06Z ertl-honda $
+ */
+
+/*
+ *		kernel.hã®ã³ã¢ä¾å­é¨ï¼ARM-Mç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼target_kernel.hï¼ã¾ãã¯ï¼ããããã¤ã³ã¯
+ *  ã«ã¼ãããããã¡ã¤ã«ï¼ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼ä»ã®ãã¡ã¤ã«ãã
+ *  ç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef TOPPERS_CORE_KERNEL_H
+#define TOPPERS_CORE_KERNEL_H
+
+/*
+ *  ãµãã¼ãããæ©è½ã®å®ç¾©
+ */
+#define TOPPERS_TARGET_SUPPORT_DIS_INT      /* dis_intããµãã¼ããã */
+#define TOPPERS_TARGET_SUPPORT_ENA_INT      /* ena_intããµãã¼ããã */
+
+#define TMAX_INTPRI		(-1)		/* å²è¾¼ã¿åªå
+åº¦ã®æå¤§å¤ï¼æä½å¤ï¼*/
+
+#ifndef TOPPERS_MACRO_ONLY
+
+#endif /* TOPPERS_MACRO_ONLY */
+
+#endif /* TOPPERS_CORE_KERNEL_H */
Index: /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_offset.tf
===================================================================
--- /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_offset.tf	(revision 85)
+++ /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_offset.tf	(revision 85)
@@ -0,0 +1,19 @@
+$
+$       ãªãã»ãããã¡ã¤ã«çæç¨ãã³ãã¬ã¼ããã¡ã¤ã«ï¼ARM-Mç¨ï¼
+$
+
+$
+$  ãªãã»ããå¤ã®ãã¯ã­å®ç¾©ã®çæ
+$
+$DEFINE("TCB_p_tinib", offsetof_TCB_p_tinib)$
+$DEFINE("TCB_texptn", offsetof_TCB_texptn)$
+$DEFINE("TCB_sp", offsetof_TCB_sp)$
+$DEFINE("TCB_pc", offsetof_TCB_pc)$
+
+$DEFINE("TINIB_exinf", offsetof_TINIB_exinf)$
+$DEFINE("TINIB_task", offsetof_TINIB_task)$
+
+$
+$  ããããªãã»ããå¤ç­ã®ãã¯ã­å®ç¾©ã®çæ
+$
+$DEFINE_BIT("TCB_enatex", sizeof_TCB, "B")$
Index: /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_rename.def
===================================================================
--- /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_rename.def	(revision 85)
+++ /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_rename.def	(revision 85)
@@ -0,0 +1,26 @@
+# core_config.c
+exc_tbl
+vector_table
+lock_flag
+saved_iipm
+default_exc_handler
+default_int_handler
+x_config_int
+core_initialize
+core_terminate
+bitpat_cfgint
+set_exc_int_priority
+enable_exc
+disable_exc
+
+# core_support.S
+core_int_entry
+core_exc_entry
+ret_int
+ret_exc
+svc_handler
+start_r
+dispatch
+start_dispatch
+exit_and_dispatch
+call_exit_kernel
Index: /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_rename.h
===================================================================
--- /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_rename.h	(revision 85)
+++ /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_rename.h	(revision 85)
@@ -0,0 +1,73 @@
+/* This file is generated from core_rename.def by genrename. */
+
+#ifndef TOPPERS_CORE_RENAME_H
+#define TOPPERS_CORE_RENAME_H
+
+/*
+ *  core_config.c
+ */
+#define exc_tbl						_kernel_exc_tbl
+#define vector_table				_kernel_vector_table
+#define lock_flag					_kernel_lock_flag
+#define saved_iipm					_kernel_saved_iipm
+#define default_exc_handler			_kernel_default_exc_handler
+#define default_int_handler			_kernel_default_int_handler
+#define x_config_int				_kernel_x_config_int
+#define core_initialize				_kernel_core_initialize
+#define core_terminate				_kernel_core_terminate
+#define bitpat_cfgint				_kernel_bitpat_cfgint
+#define set_exc_int_priority		_kernel_set_exc_int_priority
+#define enable_exc					_kernel_enable_exc
+#define disable_exc					_kernel_disable_exc
+
+/*
+ *  core_support.S
+ */
+#define core_int_entry				_kernel_core_int_entry
+#define core_exc_entry				_kernel_core_exc_entry
+#define ret_int						_kernel_ret_int
+#define ret_exc						_kernel_ret_exc
+#define svc_handler					_kernel_svc_handler
+#define start_r						_kernel_start_r
+#define dispatch					_kernel_dispatch
+#define start_dispatch				_kernel_start_dispatch
+#define exit_and_dispatch			_kernel_exit_and_dispatch
+#define call_exit_kernel			_kernel_call_exit_kernel
+
+#ifdef TOPPERS_LABEL_ASM
+
+/*
+ *  core_config.c
+ */
+#define _exc_tbl					__kernel_exc_tbl
+#define _vector_table				__kernel_vector_table
+#define _lock_flag					__kernel_lock_flag
+#define _saved_iipm					__kernel_saved_iipm
+#define _default_exc_handler		__kernel_default_exc_handler
+#define _default_int_handler		__kernel_default_int_handler
+#define _x_config_int				__kernel_x_config_int
+#define _core_initialize			__kernel_core_initialize
+#define _core_terminate				__kernel_core_terminate
+#define _bitpat_cfgint				__kernel_bitpat_cfgint
+#define _set_exc_int_priority		__kernel_set_exc_int_priority
+#define _enable_exc					__kernel_enable_exc
+#define _disable_exc				__kernel_disable_exc
+
+/*
+ *  core_support.S
+ */
+#define _core_int_entry				__kernel_core_int_entry
+#define _core_exc_entry				__kernel_core_exc_entry
+#define _ret_int					__kernel_ret_int
+#define _ret_exc					__kernel_ret_exc
+#define _svc_handler				__kernel_svc_handler
+#define _start_r					__kernel_start_r
+#define _dispatch					__kernel_dispatch
+#define _start_dispatch				__kernel_start_dispatch
+#define _exit_and_dispatch			__kernel_exit_and_dispatch
+#define _call_exit_kernel			__kernel_call_exit_kernel
+
+#endif /* TOPPERS_LABEL_ASM */
+
+
+#endif /* TOPPERS_CORE_RENAME_H */
Index: /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_sil.h
===================================================================
--- /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_sil.h	(revision 85)
+++ /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_sil.h	(revision 85)
@@ -0,0 +1,108 @@
+/*
+ *  TOPPERS Software
+ *      Toyohashi Open Platform for Embedded Real-Time Systems
+ * 
+ *  Copyright (C) 2008-2011 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
+ *  å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
+ *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ãã
+ *      å
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
+ *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
+ *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
+ *  ã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: core_sil.h 2183 2011-07-23 10:29:36Z ertl-honda $
+ */
+
+/*
+ *   sil.hã®ã³ã¢ä¾å­é¨ï¼ARM-Mç¨ï¼
+ */
+
+#ifndef TOPPERS_CORE_SIL_H
+#define TOPPERS_CORE_SIL_H
+
+#ifndef TOPPERS_MACRO_ONLY
+
+/*
+ *  NMIãé¤ããã¹ã¦ã®å²è¾¼ã¿ã®ç¦æ­¢
+ */
+Inline bool_t
+TOPPERS_disint(void)
+{
+#ifdef CCS_BUILD
+	return 0;
+#else /* CCS_BUILD */
+	uint32_t val;
+
+	Asm("mrs  %0, FAULTMASK" : "=r"(val));
+	Asm("cpsid f":::"memory");
+
+	if (val == 1) {
+		return (true);
+	}
+	else {
+		return (false);
+	}
+#endif /* CCS_BUILD */
+}
+
+Inline void
+TOPPERS_enaint(bool_t locked)
+{
+#ifndef CCS_BUILD
+	if (!locked) {
+	  Asm("cpsie f":::"memory");
+	}
+#endif /* CCS_BUILD */
+}
+
+/*
+ *  å
+¨å²è¾¼ã¿ã­ãã¯ç¶æ
+ã®å¶å¾¡
+ */
+#define SIL_PRE_LOC      bool_t  TOPPERS_locked
+#define SIL_LOC_INT()    ((void)(TOPPERS_locked = TOPPERS_disint()))
+#define SIL_UNL_INT()    (TOPPERS_enaint(TOPPERS_locked))
+
+#endif /* TOPPERS_MACRO_ONLY */
+
+#endif /* TOPPERS_CORE_SIL_H */
Index: /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_stddef.h
===================================================================
--- /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_stddef.h	(revision 85)
+++ /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_stddef.h	(revision 85)
@@ -0,0 +1,79 @@
+/*
+ *  TOPPERS Software
+ *      Toyohashi Open Platform for Embedded Real-Time Systems
+ * 
+ *  Copyright (C) 2008-2011 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
+ *  å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
+ *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ãã
+ *      å
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
+ *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
+ *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
+ *  ã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: core_stddef.h 2183 2011-07-23 10:29:36Z ertl-honda $
+ */
+
+/*
+ *  t_stddef.hã®ã³ã¢ä¾å­é¨ï¼ARM-Mç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼target_stddef.hï¼ã¾ãã¯ï¼ããããã¤ã³ã¯
+ *  ã«ã¼ãããããã¡ã¤ã«ï¼ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼ä»ã®ãã¡ã¤ã«ãã
+ *  ç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ */
+
+#ifndef TOPPERS_CORE_STDDEF_H
+#define TOPPERS_CORE_STDDEF_H
+
+/*
+ *  ã¿ã¼ã²ãããè­å¥ããããã®ãã¯ã­ã®å®ç¾©
+ */
+#define TOPPERS_ARM_M           /* ã³ã¢ç¥ç§° */
+
+/*
+ *  ã¹ã¿ãã¯ã®å
+ *  ARMã§ã¯ï¼ã¹ã¿ãã¯ã8byteå¢çã«é
+ç½®ããå¿
+è¦ããã
+ */
+#define TOPPERS_STK_T  long long
+
+#endif /* TOPPERS_CORE_STDDEF_H */
Index: /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_support.S
===================================================================
--- /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_support.S	(revision 85)
+++ /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_support.S	(revision 85)
@@ -0,0 +1,948 @@
+/*
+ *  TOPPERS/ASP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Advanced Standard Profile Kernel
+ * 
+ *  Copyright (C) 2008-2011 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
+ *  å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
+ *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ãã
+ *      å
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
+ *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
+ *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
+ *  ã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: core_support.S 2316 2012-02-23 06:30:11Z ertl-honda $
+ */
+
+/*
+ *  ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã« ã¢ã»ã³ããªè¨èªé¨ï¼ARM-Mç¨ï¼
+ */
+
+#define TOPPERS_MACRO_ONLY
+#define UINT_C(val)		(val)		/* uint_tåã®å®æ°ãä½ããã¯ã­ */
+#define ULONG_C(val)	(val)		/* ulong_tåã®å®æ°ãä½ããã¯ã­ */
+#define CAST(type, val)	(val)		/* åã­ã£ã¹ããè¡ããã¯ã­ */
+
+#include "kernel_impl.h"
+#include "arm_m.h"
+#include "offset.h"
+#include "target_asm.inc"
+
+/*
+ * CCSåãå±æ§è¨­å®
+ */
+	.cpu cortex-m4
+	.eabi_attribute Tag_ABI_HardFP_use,3
+	.eabi_attribute Tag_ABI_VFP_args,1
+	.fpu fpv4-sp-d16
+	.eabi_attribute Tag_ABI_FP_denormal,1
+	.eabi_attribute Tag_ABI_FP_exceptions,1
+	.eabi_attribute Tag_ABI_FP_number_model,3
+	.eabi_attribute Tag_ABI_align8_needed,1
+	.eabi_attribute Tag_ABI_align8_preserved,1
+	.eabi_attribute Tag_ABI_enum_size,1
+	.eabi_attribute Tag_ABI_optimization_goals,2
+	.eabi_attribute Tag_ABI_PCS_wchar_t,2
+	.eabi_attribute Tag_CPU_unaligned_access,1
+
+/*
+ *  ã¿ã¹ã¯ãã£ã¹ãããã£
+ */
+	ATEXT
+	AALIGN(2)
+	ATHUMB(dispatch)
+	AGLOBAL(dispatch)
+ALABEL(dispatch)
+	/*
+	 *
+	 *  ãã®ã«ã¼ãã³ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãã»CPUã­ãã¯ç¶æ
+ã»ãã£ãããè¨±å¯ç¶æ
+
+	 *  ã»ï¼ã¢ãã«ä¸ã®ï¼å²è¾¼ã¿åªå
+åº¦ãã¹ã¯å
+¨éç¶æ
+ã§å¼ã³åºãããï¼
+	 */
+	stmfd sp!,{r4-r11,lr}         /* ã¬ã¸ã¹ã¿ã®ä¿å­ */
+	ldr   r0, =p_runtsk           /* p_runtskãèª­ã¿è¾¼ã */
+	ldr   r1, [r0]
+	str   sp, [r1,#TCB_sp]        /* ã¿ã¹ã¯ã¹ã¿ãã¯ãä¿å­ */
+	ldr   lr, =dispatch_r         /* å®è¡åéçªå°ãä¿å­ */
+	str   lr, [r1,#TCB_pc]        
+	b     dispatcher
+
+	ATHUMB(dispatch_r)
+	AGLOBAL(dispatch_r)
+ALABEL(dispatch_r)
+	ldmfd sp!,{r4 - r11,lr}       /* ã¬ã¸ã¹ã¿ã®å¾©å¸° */
+	/*
+	 * ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã®èµ·å
+	 * dispatcherããå¼ã³åºãããããï¼TCBã®ã¢ãã¬ã¹ã¯r1ã«å
+¥ã£ã¦ãã
+	 */
+	ldrb  r0,[r1,#TCB_enatex]
+	tst   r0,#TCB_enatex_mask
+	beq   dispatch_r_1            /* enatex ã false ãªããªã¿ã¼ã³ */
+	ldr   r0,[r1,#TCB_texptn]     /* texptn ã 0 ãªããªã¿ã¼ã³     */
+	tst   r0,r0
+	beq   dispatch_r_1            
+	ldr   r1, =ipmflg             /* ipmflgã false ãªããªã¿ã¼ã³  */
+	ldr   r0, [r1]
+	tst   r0,r0
+	beq   dispatch_r_1
+	ldr   r0, =call_texrtn        /* ã¿ã¹ã¯ä¾å¤ã«ã¼ãã³ã®å¼ã³åºã */
+	bx    r0
+ALABEL(dispatch_r_1)              /* ã¿ã¹ã¯ã¸ã®call_textnããæ»ã */
+	bx    lr
+
+
+/*
+ *  CPUä¾å¤ã¨ã³ããª
+ *
+ *  å²è¾¼ã¿ã¨ã³ããªã¨å¦çã®å
+å®¹ã¯åç­ã ãï¼ã­ã°ã®ç¨®é¡ãç°ãªãããï¼
+ *  åãã¦ããï¼
+ */
+	AALIGN(2)
+	ATEXT
+	ATHUMB(core_exc_entry)
+	AGLOBAL(core_exc_entry)
+ALABEL(core_exc_entry)
+	/*
+	 *  ä¾å¤/å²è¾¼ã¿ãçºçããã¨ï¼çºçæã«ã¢ã¯ãã£ããªã¹ã¿ãã¯ã«ã¹ã¯ã©
+	 *  ããã¬ã¸ã¹ã¿ç­ãä¿å­ãããï¼
+	 *  ãã®å
+å®¹ã«å ãã¦ï¼CPUä¾å¤ãã³ãã©ã¸ã®æ
+å ±ã¨ãã¦ï¼basepri ã®å¤ã¨ï¼
+	 *  EXC_RETURNã®æ
+å ±ãå ãã¦ä¿å­ããï¼basepriã®å¤ã¯ï¼CPUä¾å¤ããã®
+	 *  ãªã¿ã¼ã³æã«å²è¾¼ã¿åªå
+åº¦ãã¹ã¯ã®å¤ãå
+ã«æ»ãããã«ãç¨ããããï¼
+	 *
+	 *   -----------
+	 *  | EXC_RETURN|  
+	 *   -----------
+	 *  |  basepri  |  
+	 *   -----------
+	 *  |    R0     |  
+	 *   -----------
+	 *  |    R1     |
+	 *   -----------
+	 *  |    R2     |
+	 *   -----------
+	 *  |    R3     |
+	 *   -----------
+	 *  |    R12    |
+	 *   -----------
+	 *  |    LR     |
+	 *   -----------
+	 *  |    PC     |
+	 *   -----------
+	 *  |   xPSR    |
+	 *   -----------
+	 *
+	 */
+
+	/*
+	 *  ã«ã¼ãã«ç®¡çå¤ã®ä¾å¤ããã§ãã¯
+	 *  ã«ã¼ãã«å
+ã®ã¯ãªãã£ã«ã«ã»ã¯ã·ã§ã³ã®å®è¡ä¸­ï¼å
+¨å²è¾¼ã¿ã­ãã¯ç¶æ
+ï¼
+	 *  CPUã­ãã¯ç¶æ
+ï¼ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ãã³ãã©å®è¡ä¸­ã®ããããã§
+	 *  çºçããCPUä¾å¤ãï¼ã«ã¼ãã«ç®¡çå¤ã®CPUä¾å¤ã¨å¼ã¶
+	 *  å
+¨å²è¾¼ã¿ã­ãã¯ç¶æ
+ã¯FAULTMASKã'1'ã®å ´å
+	 *  CPUã­ãã¯ç¶æ
+ã¯basepriãIIPM_LOCKãã§å¤æ­ããï¼
+	 */
+	mrs   r2, FAULTMASK           /* å
+¨å²è¾¼ã¿ã­ãã¯ç¶æ
+ãªãã«ã¼ãã«ç®¡çå¤ä¾å¤å¦çã¸ */
+	cbnz  r2, core_nonkernel_exc_entry
+
+	mrs   r2, basepri             /* baepriã®å¤ãåå¾ */
+	cmp   r2, #IIPM_LOCK          /* CPUã­ãã¯ç¶æ
+ãªãã«ã¼ãã«ç®¡çå¤ä¾å¤å¦çã¸ */
+	beq   core_nonkernel_exc_entry
+
+
+	/*
+	 * ã¹ã¿ãã¯ãå¤æ´ããå¿
+è¦ãããããã§ãã¯
+	 * EXC_RETURNï¼å²è¾¼ã¿æã«LRã«è¨­å®ãããå¤ï¼ããã§ãã¯ãã¦ï¼ä¾å¤çºçæã«
+	 * ã¢ã¯ãã£ããªã¹ã¿ãã¯ãç¹å®ãããã¨ã§å¤éå²è¾¼ã¿ãå¤å®ããï¼
+	 */
+	tst   lr, #EXC_RETURN_PSP    /* å²è¾¼ã¿å
+ãMSPãªãå¤éå²è¾¼ã¿ */
+	beq   core_exc_entry_1       /* å¤éå²è¾¼ã¿ãªãcore_exc_entry_1ã¸ */
+	mrs   r0, psp                /* ä¸æ®µç®ã®å²è¾¼ã¿ã®å ´åã¯PSPä¸ã« */
+	stmfd r0!,{r2}               /* å²è¾¼ã¿çºçæã®å²è¾¼ã¿åªå
+åº¦ãã¹ã¯ãç©ã */
+	stmfd r0!,{lr}               /* EXC_RETURN ãç©ã             */
+	msr   psp, r0                /* CPUä¾å¤ãã³ãã©ã¸ã®å¼æ°ã¨ãªã */
+	push  {lr}                   /* MSPä¸ã«ãEXC_RETURN ãç©ã    */ 
+	b     core_exc_entry_2
+ALABEL(core_exc_entry_1)         /* å¤éå²è¾¼ã¿ã®å ´å */
+	push  {r2}                   /* å²è¾¼ã¿çºçæã®å²è¾¼ã¿åªå
+åº¦ãã¹ã¯ãç©ã */
+	push  {lr}                   /* EXC_RETURN ãç©ã             */ 
+	mov   r0, sp                 /* CPUä¾å¤ãã³ãã©ã¸ã®å¼æ°ã¨ãªã */
+
+	/*
+	 *  å
+±éå¦ç
+	 */
+ALABEL(core_exc_entry_2)
+	mrs   r3, ipsr               /* ãã³ãã©ã¢ãã¬ã¹ãåå¾ */
+	ldr   r1, =_kernel_exc_tbl
+	ldr   r2, [r1, r3, lsl #2]
+
+#ifdef LOG_EXC_ENTER
+	push  {r0,r2,r3}
+	mov   r0, r3                 /* ä¾å¤çªå·ããã©ã¡ã¼ã¿ã«  */
+	bl    log_exc_enter          /* log_exc_enterãå¼ã³åºã */
+	pop   {r0,r2,r3}
+	push  {r3}                   /* ä¾å¤çªå·ãã¹ã¿ãã¯ã¸    */
+#endif /* LOG_EXC_ENTER */
+
+	/*
+	 *  CPUä¾å¤ãã³ãã©ã®å¼ã³åºã
+	 */
+	blx   r2
+
+#ifdef LOG_EXC_ENTER
+	pop   {r0}                   /* ä¾å¤çªå·ãå¼æ°ã«        */
+	bl    log_exc_leave          /* log_exc_leaveãå¼ã³åºã */
+#endif /* LOG_EXC_ENTER */
+
+	b     ret_exc
+
+/*
+ *  ã«ã¼ãã«ç®¡çå¤ã®CPUä¾å¤ã®åºå
+¥å£å¦ç
+ */
+ALABEL(core_nonkernel_exc_entry)
+	tst   lr, #EXC_RETURN_PSP    /* å²è¾¼ã¿å
+ãMSPãªãå¤éå²è¾¼ã¿ */
+	beq   core_nonkernel_exc_entry_1  /* å¤éå²è¾¼ã¿ãªã */
+	mrs   r0, psp                /* ä¸æ®µç®ã®å²è¾¼ã¿ã®å ´åã¯PSPä¸ã« */
+	stmfd r0!,{r2}               /* å²è¾¼ã¿çºçæã®å²è¾¼ã¿åªå
+åº¦ãã¹ã¯ãç©ã */
+	stmfd r0!,{lr}               /* EXC_RETURN ãç©ã             */
+	msr   psp, r0                /* CPUä¾å¤ãã³ãã©ã¸ã®å¼æ°ã¨ãªã */
+	push  {lr}                   /* MSPä¸ã«ãEXC_RETURN ãç©ã    */ 
+	b     core_nonkernel_exc_entry_2
+ALABEL(core_nonkernel_exc_entry_1) /* å¤éå²è¾¼ã¿ã®å ´å */
+	push  {r2}                   /* å²è¾¼ã¿çºçæã®å²è¾¼ã¿åªå
+åº¦ãã¹ã¯ãç©ã */
+	push  {lr}                   /* EXC_RETURN ãç©ã             */ 
+	mov   r0, sp                 /* CPUä¾å¤ãã³ãã©ã¸ã®å¼æ°ã¨ãªã */
+
+ALABEL(core_nonkernel_exc_entry_2)
+	mrs   r3, ipsr               /* CPUä¾å¤ãã³ãã©ã®ã¢ãã¬ã¹ãåå¾ */
+	ldr   r1, =_kernel_exc_tbl
+	ldr   r2, [r1, r3, lsl #2]
+
+	/*
+	 *  CPUä¾å¤ãã³ãã©ã®å¼ã³åºã
+	 */
+	blx   r2
+
+	/*
+	 *  å²è¾¼ã¿ã­ãã¯ç¶æ
+ã¨ããï¼
+	 */
+	cpsid f
+
+	/*
+	 *  æ»ãå
+ã®ã³ã³ãã­ã¹ãã®å¤å®
+	 * 
+	 *  å²è¾¼ã¿ãã³ãã©å®è¡ã«LRã«ã»ãããããEXC_RETURNããã§ãã¯ãã¦ï¼æ»ã
+	 *  å
+ã§MSPãä½¿ããã¦ããã°ï¼å²è¾¼ã¿å
+ãéã¿ã¹ã¯ã³ã³ãã­ã¹ãã¨å¤å®ããï¼
+	 */
+	pop   {r3}                     /* lrãã¹ã¿ãã¯ããåå¾         */
+	tst   r3, #EXC_RETURN_PSP      /* æ»ãå
+ãPSPãªã              */
+	bne   core_nonkernel_ret_exc_1
+	pop   {r1}                     /* å
+ã®å²è¾¼ã¿åªå
+åº¦ãã¹ã¯(basepri) */
+	b     core_nonkernel_ret_exc_2 /* ã®å¤ãMSPããåå¾ */
+
+ALABEL(core_nonkernel_ret_exc_1)
+	/*
+	 *  PSPä¸ããEXC_RETURNãåé¤
+	 */
+	mrs   r2, psp
+	add   r2, r2, #4
+	/*
+	 *  å
+ã®å²è¾¼ã¿åªå
+åº¦ãã¹ã¯(basepri)ã®å¤ãPSPããåå¾
+	 */
+	ldmfd r2!, {r1} 
+	msr   psp, r2
+
+ALABEL(core_nonkernel_ret_exc_2)
+	msr   basepri, r1             /* å²è¾¼ã¿åªå
+åº¦ãã¹ã¯ãå²è¾¼ã¿åã«ç¶æ
+ã¸ */
+	bx    r3                      /* ãªã¿ã¼ã³ */
+
+/*
+ *  å²è¾¼ã¿ã¨ã³ããª
+ */
+	ATHUMB(core_int_entry)
+	AGLOBAL(core_int_entry)
+ALABEL(core_int_entry)
+	/*
+	 *  å²è¾¼ã¿çºçæã®å²è¾¼ã¿åªå
+åº¦ãã¹ã¯ãã¹ã¿ãã¯ã«ä¿å­ããããåå¾
+	 */
+	mrs   r2, basepri             /* baepriã®å¤ãåå¾ */
+
+	/*
+	 * å¤éå²è¾¼ã¿ããã§ãã¯
+	 * EXC_RETURNï¼å²è¾¼ã¿æã«LRã«è¨­å®ãããå¤ï¼ããã§ãã¯ãã¦ï¼ä¾å¤çºçæã«
+	 * ã¢ã¯ãã£ããªã¹ã¿ãã¯ãç¹å®ãããã¨ã§å¤éå²è¾¼ã¿ãå¤å®ããï¼
+	 */
+	tst   lr, #EXC_RETURN_PSP    /* å²è¾¼ã¿å
+ãMSPãªãå¤éå²è¾¼ã¿ */
+	beq   core_int_entry_1       /* å¤éå²è¾¼ã¿ãªãcore_int_entry_1ã¸ */
+	mrs   r0, psp                /* ä¸æ®µç®ã®å²è¾¼ã¿ã®å ´åã¯PSPä¸ã« */
+	stmfd r0!,{r2}               /* å²è¾¼ã¿çºçæã®å²è¾¼ã¿åªå
+åº¦ãã¹ã¯ãç©ã */
+	stmfd r0!,{lr}               /* EXC_RETURN ãç©ã             */
+	msr   psp, r0                /* CPUä¾å¤ãã³ãã©ã¸ã®å¼æ°ã¨ãªã */
+	push  {lr}                   /* MSPä¸ã«ãEXC_RETURN ãç©ã    */ 
+	b     core_int_entry_2
+ALABEL(core_int_entry_1)         /* å¤éå²è¾¼ã¿ã®å ´å */
+	push  {r2}                   /* å²è¾¼ã¿çºçæã®å²è¾¼ã¿åªå
+åº¦ãã¹ã¯ãç©ã */
+	push  {lr}                   /* EXC_RETURN ãç©ã             */ 
+	mov   r0, sp                 /* æªå®ç¾©ã®å²è¾¼ã¿ãçºçããå ´åã®æ
+å ±ã¨ãã */
+
+	/*
+	 *  å
+±éå¦ç
+	 */
+ALABEL(core_int_entry_2)
+	mrs   r3, ipsr               /* ãã³ãã©ã¢ãã¬ã¹ãåå¾ */
+	ldr   r1, =_kernel_exc_tbl
+	ldr   r2, [r1, r3, lsl #2]
+
+	/*
+	 *  basepriã®è¨­å®
+	 *  NVICåªå
+åº¦ãã¹ã¯ãèªåçã«è¨­å®ãããããåªå
+åº¦ãã¹ã¯ã®ç¹ã§ã¯å¿
+è¦ãª
+	 *  ããï¼x_get_ipm()ãbasepriãåç
+§ããããï¼basepriãæ´æ°ããï¼
+	 */
+	ldr   r1, =_kernel_int_iipm_tbl
+	ldr   lr, [r1, r3, lsl #2]
+	msr   basepri, lr
+
+#ifdef LOG_INH_ENTER
+	push  {r0,r2,r3}
+	mov   r0, r3                 /* ä¾å¤çªå·ããã©ã¡ã¼ã¿ã«  */
+	bl    log_inh_enter          /* log_exc_enterãå¼ã³åºã */
+	pop   {r0,r2,r3}
+	push  {r3}                   /* ä¾å¤çªå·ãã¹ã¿ãã¯ã¸    */
+#endif /* LOG_EXC_ENTER */
+
+	/*
+	 *  å²è¾¼ã¿ãã³ãã©ã®å¼ã³åºã
+	 */
+	blx   r2
+
+#ifdef LOG_INH_LEAVE
+	pop   {r0}                   /* ä¾å¤çªå·ãå¼æ°ã«        */
+	bl    log_exc_leave          /* log_exc_leaveãå¼ã³åºã */
+#endif /* LOG_INH_LEAVE */
+
+
+
+/*
+ *  å²è¾¼ã¿/ä¾å¤åºå£
+ *
+ *  ret_exc/ret_intã¯ï¼CPUä¾å¤/å²è¾¼ã¿ãã³ãã©ããæ»ã£ãç´å¾ã«å®è¡ãã
+ *  ã«ã¼ãã³ã§ããï¼
+ */
+ALABEL(ret_exc)
+ALABEL(ret_int)
+	/*
+	 *  å²è¾¼ã¿ã­ãã¯ç¶æ
+ã¨ããï¼ãã®æç¹ã§ã¯ï¼CPUã­ãã¯ç¶æ
+ã«ã¯ãªããªã
+	 * ï¼basepriã¨lock_flagã¨saved_iipmã¯æ´æ°ããªãï¼ï¼
+	 *
+	 *  å²è¾¼ã¿ã­ãã¯ç¶æ
+ã¨ããã®ã¯ï¼æ»ãå
+ã®ã³ã³ãã­ã¹ãã®ãã§ãã¯ã¨ï¼
+	 *  æ»ãå
+ãéã¿ã¹ã¯ã³ã³ãã­ã¹ãã§ãã£ãå ´åã®ãªã¿ã¼ã³ãã¢ãããã¯
+	 *  ã«è¡ãããã§ããï¼bsepriãCPUã­ãã¯ã®å¤ã«ãããã¨ã§ãã¢ããã
+	 *  ã¯ãªãã§ãã¯ã¨å¾©å¸°ã¯å¯è½ã§ãããï¼å²è¾¼ã¿ãããªã¿ã¼ã³ãã¦ãï¼
+	 *  basepri ã®è¨­å®å
+å®¹ã¯å
+ã«æ»ããªãããï¼ä½¿ç¨ãããã¨ãã§ããªãï¼ 
+	 *  ä¸æ¹ï¼FAULTMASKã¯ï¼å²è¾¼ã¿ããã®ãªã¿ã¼ã³å¦çã«ãã£ã¦ï¼'0'ã«ã¯ãª
+	 *  ã¢ãããï¼
+	 */
+	cpsid f
+
+	/*
+	 *  æ»ãå
+ã®ã³ã³ãã­ã¹ãã®å¤å®
+	 * 
+	 *  å²è¾¼ã¿ãã³ãã©å®è¡ã«LRã«ã»ãããããEXC_RETURNããã§ãã¯ãã¦ï¼æ»ã
+	 *  å
+ã§MSPãä½¿ããã¦ããã°ï¼å²è¾¼ã¿å
+ãéã¿ã¹ã¯ã³ã³ãã­ã¹ãã¨å¤å®ããï¼
+	 */
+	pop   {r3}                     /* lrãã¹ã¿ãã¯ããåå¾         */
+	tst   r3, #EXC_RETURN_PSP      /* æ»ãå
+ãPSPãªã ret_int_1 ã¸ */
+	bne   ret_int_1
+	pop   {r1}                     /* å
+ã®å²è¾¼ã¿åªå
+åº¦ãã¹ã¯(basepri)ãr1ã¸ */
+	b     ret_int_2                /* ã®å¤ãMSPããåå¾ */
+
+	/*
+	 *  ä¸æ®µç®ã®å²è¾¼ã¿ã®åºå£å¦ç
+	 */
+ALABEL(ret_int_1)
+	/*
+	 *  PSPä¸ããï¼EXC_RETURN(r0)ã¨å
+ã®å²è¾¼ã¿åªå
+åº¦ãã¹ã¯(basepri)(r1)
+	 *  ãåå¾
+	 */
+	mrs   r2, psp
+	ldmfd r2!, {r0,r1} 
+	msr   psp, r2
+
+	/*
+	 *  reqflgããã§ãã¯ãã
+	 * 
+	 *  ã«ã¼ãã«ç®¡çå
+ã®å²è¾¼ã¿ã¯ç¦æ­¢ããç¶æ
+ã§å®è¡ããå¿
+è¦ãããããï¼
+	 *  FAULTMASKã'1'ã«ããç¶æ
+ã§å®è¡ããï¼
+	 *  reqflgããã§ãã¯ããåã«å²è¾¼ã¿ãç¦æ­¢ããã®ã¯ï¼reqflgããã§ãã¯
+	 *  ããç´å¾ã«å²è¾¼ã¿ãã³ãã©ãèµ·åããï¼ãã®ä¸­ã§ãã£ã¹ããããè¦æ±
+	 *  ãããå ´åã«ï¼ããã«ãã£ã¹ããããããªãã¨ããåé¡ãçãããã
+	 *  ã§ããï¼
+	 */
+	ldr   r0, =reqflg             /* reqflgãfalseãªããã®ã¾ã¾æ»ã */
+	ldr   r2, [r0]
+	cbnz  r2, ret_int_3           /* trueãªãret_int_3ã¸           */
+
+ALABEL(ret_int_2)
+	/*
+	 *  ããã«ã¯å²è¾¼ã¿ã­ãã¯ç¶æ
+ï¼FAULTMASKãã»ããï¼ãããç¶æ
+ã§æ¥ãï¼
+	 *  Threadã¢ã¼ãããã®ãªã¿ã¼ã³ã«ããèªåçã«å²è¾¼ã¿ã­ãã¯è§£é¤ç¶æ
+ã«ãªãï¼
+	 *  å²è¾¼ã¿åªå
+åº¦ãã¹ã¯ã¯å²è¾¼ã¿åã«ç¶æ
+ã«æ»ãï¼
+	 */ 
+	msr   basepri, r1             /* å²è¾¼ã¿åªå
+åº¦ãã¹ã¯ãå²è¾¼ã¿åã«ç¶æ
+ã¸ */
+	bx    r3                      /* ãªã¿ã¼ã³ */
+
+ALABEL(ret_int_3)
+	/*
+	 *  ããã§ã¯ï¼æ»ãå
+ãã¿ã¹ã¯ã§ããï¼PSPä¸ã«ã¹ã¯ã©ããã¬ã¸ã¹ã¿ã¨å²
+	 *  è¾¼ã¿åªå
+åº¦ãã¹ã¯(basepri)ãä¿å­ãããç¶æ
+ã«ãªã£ã¦ããï¼ã¾ãï¼
+	 *  ãã­ã»ããµã¯ï¼Handlerã¢ã¼ãã»å²è¾¼ã¿ã­ãã¯ç¶æ
+ã¨ãªã£ã¦ããï¼
+	 *  ã¾ãï¼r0ã«ã¯ï¼reqflgã®ã¢ãã¬ã¹ï¼r3ã«ã¯å²è¾¼ã¿åä»æã®lrã®å¤ãä¿
+	 *  æããã¦ããï¼
+	 */
+	/*
+	 *  ã¿ã¹ã¯ä¾å¤ãã³ãã©ããã£ã¹ããããããéã«Threadã¢ã¼ãã¸é·ç§»ãã
+	 *  ããã¼ã®ã¹ã¿ãã¯ãã¬ã¼ã ãä½æãã¦ï¼bxå½ä»¤ã§Handlerã¢ã¼ããããª
+	 *  ã¿ã¼ã³ããï¼ã¾ãï¼é
+å»¶ãã£ã¹ãããããå ´åãï¼åã³å²ãè¾¼ãã ã¿ã¹
+	 *  ã¯ã«æ»ãéã«ã¯ï¼svcå½ä»¤ã§ï¼svc_handlerãå¼ã³åºãï¼
+	 *  ã¹ã¿ãã¯ãã¬ã¼ã ã¯ï¼Configureation and Control Register(CCR)ã®
+	 *  STKALIGNã'1'ã®å ´åã¯ï¼8byteå¢çã«ã¢ã©ã¤ã³ãããï¼
+	 *  åè : DDI0403B_arm_architecture_v7m_reference_manual(P.220)
+	 *  ãã®ããï¼ãã®æç¹ã®ã¹ã¿ãã¯ã¯å²è¾¼ã¿ãä¾å¤çºçæã«ä½æããã
+	 *  ã¹ã¿ãã¯ãã¬ã¼ã ããï¼8byteå¢çã®ãµã¤ãºã«ãã¦ããã¨ï¼svc_handler
+	 *  ç­ã§ã¹ã¿ãã¯ãã¬ã¼ã ã®ã¢ã©ã¤ã¡ã³ãã®æç¡ã®ç¢ºèªãçç¥ã§ããï¼
+	 *  ãã ãï¼ã·ã¹ãã èµ·åå¾ã¯ï¼åçã«CCRã®STKALIGNã®è¨­å®ãå¤æ´ããã®ã¯
+	 *  ç¦æ­¢ã¨ããï¼
+	 *  ãã®æç¹ã¯æ¨æºã®ã¹ã¿ãã¯ãã¬ã¼ã ã¯ï¼å²è¾¼ã¿ã»ä¾å¤çºçæã¨åç­ã§ã
+	 *  ãããï¼ã¿ã¹ã¯ã¹ã¿ãã¯(PSP)ã¯8byteå¢çã«ãªã£ã¦ããï¼
+	 */
+	mov   r1, #0                   /* reqflgãfalseã« */
+	str   r1, [r0]
+
+	/*
+	 *  CPUã­ãã¯ç¶æ
+ã«ç§»è¡ããï¼
+	 *
+	 *  ã«ã¼ãã«ã®ç®¡çå
+ã®å²è¾¼ã¿ãç¦æ­¢ããããã«basepriãè¨­å®ãï¼
+	 *  lock_flag ã¨ saved_iipm ãæ´æ°ããï¼saved_iipmã¯ï¼æ»ãå
+ã®å²è¾¼ã¿
+	 *  åªå
+åº¦ãã¹ã¯ï¼ã®å
+é¨è¡¨ç¾ï¼ã«è¨­å®ããï¼
+	 *  ãã®æç¹ã§CPUã­ãã¯ç¶æ
+ã¨ããã®ã¯ï¼dispatcherã¸åå²ããæã¨ï¼
+	 *  call_texrtnãå¼ã³åºãæã«ï¼CPUã­ãã¯ç¶æ
+ã«ãªã£ã¦ããå¿
+è¦ããã
+	 *  ããã§ããï¼
+	 *  ãªãï¼ãã®å¦çã®å¾ï¼Threadã¢ã¼ãã¸ã®ç§»è¡å¦çãè¡ãªãããï¼å²è¾¼ã¿
+	 *  ã­ãã¯ç¶æ
+(FAULTMASKã"1")ã¯ä¿æããï¼
+	 */
+	ldr   r1, =IIPM_LOCK          /* CPUã­ãã¯ç¶æ
+ */ 
+	msr   basepri, r1          
+	mov   r1, #0x01               /* lock_flag ã trueã« */
+	ldr   r0, =lock_flag          
+	str   r1, [r0]
+
+	/*
+	 *  å²è¾¼ã¿åªå
+åº¦ãã¹ã¯ãï¼å
+¨è§£é¤ç¶æ
+ï¼TIPM_ENAALLï¼ã«è¨­å®ãã
+	 *  ãã§ã«CPUã­ãã¯ç¶æ
+ãªã®ã§ï¼saved_iipmãIIPM_ENAALLã¨ããï¼
+	 */
+	ldr   r1, =IIPM_ENAALL
+	ldr   r0, =saved_iipm
+	str   r1, [r0]
+
+	/*
+	 *  Threadã¢ã¼ãã¸ç§»è¡ããï¼
+	 *
+	 *  dispatcherãcall_texrnãå¼ã³åºãå ´åã¯ï¼Threadã¢ã¼ãã§ããå¿
+
+	 *  è¦ãããããï¼PSPã¹ã¿ãã¯ä¸ã«ããã¼ã®ä¾å¤ãã¬ã¼ã ãç½®ãã¦ï¼
+	 *  æ¬ä¼¼çã«å²è¾¼ã¿ãã³ãã©ãããªã¿ã¼ã³ããï¼
+	 *  ãªã¿ã¼ã³ã¨åæã«FAULTMASKãèªåçã«ã¯ãªã¢ããï¼ã«ã¼ãã«ç®¡çå¤ã®
+	 *  å²è¾¼ã¿ãè¨±å¯ãããï¼
+	 */
+	ldr   r0, =ret_int_4          /* PC   */
+	ldr   r1, =EPSR_T             /* xPSR(Tãããã'1'ã§ããå¿
+è¦ããã) */
+	mrs   r2, psp
+	stmfd r2!, {r0-r1}            /* ããã¼ãã¬ã¼ã ãã¹ã¿ãã¯ä¸ã«ç©ã   */
+	sub   r2, #(EXC_FRAME_SIZE - (4*2)) /* r0-r3,r12,lrã®å
+å®¹ã¯è¨­å®ããå¿
+è¦ããªã */
+	msr   psp,r2                  
+	bx    r3                      /* Threadã¢ã¼ãã¸ç§»è¡ */
+    
+ALABEL(ret_int_4)
+	/*
+	 *  ä¸è¨ã®å¦çã«ããï¼Threadã¢ã¼ãã§å®è¡ãããï¼
+	 *  dspflgãfalseã§ããå ´åã¨ï¼p_runtskã¨p_schedtskãåãå ´åã«ã¯ï¼
+	 *  ãã£ã¹ããããè¡ããªãï¼ãã®ãã§ãã¯ãå¿
+è¦ãªã®ã¯ï¼ã¿ã¹ã¯ä¾å¤å¦
+	 *  çã«ã¼ãã³ã®å¼åºããå¿
+è¦ãªå ´åã«ï¼ãã£ã¹ããããå¿
+è¦ãªãã¦ãï¼
+	 *  reqflgãtrueã«ããããã§ããï¼
+	 */
+	ldr   r0, =p_runtsk       /* ãã£ã¹ããããè¡ããªãå ´åã§ãï¼r1ã«p_runtsk ã®å¤(TCB) */
+	ldr   r1, [r0]            /* ãå
+¥ã£ã¦ããå¿
+è¦ãããã®ã§ï¼å
+ã«èª­ã¿è¾¼ã */
+	ldr   r0, =dspflg         
+	ldr   r2, [r0]
+	cbz   r2, ret_int_r_1     /* dspflgãfalseãªãret_int_r_1ã¸ */
+	ldr   r0, =p_schedtsk     
+	ldr   r2, [r0]
+	cmp   r1, r2              /* p_runtskã¨p_schedtskãåããªã */
+	beq   ret_int_r_1         /*                  ret_int_r_1ã¸ */
+	stmfd sp!, {r4-r11}       /* æ®ãã®ã¬ã¸ã¹ã¿ãä¿å­ */
+	str   sp, [r1,#TCB_sp]    /* ã¿ã¹ã¯ã¹ã¿ãã¯ãä¿å­ */
+	ldr   lr, =ret_int_r      /* å®è¡åéçªå°ãä¿å­   */
+	str   lr, [r1,#TCB_pc]
+	b     dispatcher          /* ãã£ã¹ãããã£ã¸ */
+
+/*
+ * å²è¾¼ã¿ã«ããããªã¨ã³ãããããã¿ã¹ã¯ã¸ã®ãªã¿ã¼ã³å¦ç
+ *
+ * Threadã¢ã¼ãã§ï¼ãã£ã¹ãããã£ãå²è¾¼ã¿ã®åºå£å¦çããå¼ã³åºãããï¼
+ * å²è¾¼ã¿ã«ããããªã¨ã³ãããããã¿ã¹ã¯ã¸ãªã¿ã¼ã³ããã«ã¯ï¼ãã£ãã
+ * Handlerã¢ã¼ãã«ç§»è¡ãï¼PCã«0xfffffffdãä»£å
+¥ãã¦ãªã¿ã¼ã³ããå¿
+è¦
+ * ãããï¼ãã®ããï¼SVCã«ããï¼SVCãã³ãã©ãå¼ã³åºãï¼Handlerã¢ã¼
+ * ãã¸ç§»è¡ããï¼
+ */
+	ATHUMB(ret_int_r)
+	AGLOBAL(ret_int_r)
+ALABEL(ret_int_r)
+	pop {r4-r11}                  /* ã¬ã¸ã¹ã¿ã®å¾©å¸° */
+ALABEL(ret_int_r_1)
+	/*
+	 *  enatexãtrueã§ï¼texptnã0ã§ãªããã°ï¼ã¿ã¹ã¯ä¾å¤å¦çã«ã¼ãã³ã
+	 *  å¼ã³åºãï¼
+	 *  dispatcherããå¼ã³åºãããããï¼TCBã®ã¢ãã¬ã¹ã¯r1ã«å
+¥ã£ã¦ãã
+	 */
+	ldrb  r0, [r1,#TCB_enatex]
+	tst   r0, #TCB_enatex_mask
+	beq   ret_int_r_2           /* enatex ã false ãªã ret_int_r_2ã¸ */
+	ldr   r0, [r1,#TCB_texptn]  /* texptn ã 0 ãªããªã¿ã¼ã³     */
+	cbz   r0, ret_int_r_2
+	ldr   r1, =ipmflg             /* ipmflgã false ãªããªã¿ã¼ã³  */
+	ldr   r0, [r1]
+	cbz   r0, ret_int_r_2
+	bl    call_texrtn           /* ã¿ã¹ã¯ä¾å¤ã«ã¼ãã³ã®å¼ã³åºã */
+ALABEL(ret_int_r_2)
+	svc   0                     /* SVCã®å¼ã³åºã */
+
+/*
+ *  SVCãã³ãã©
+ */
+	ATHUMB(svc_handler)
+	AGLOBAL(svc_handler)
+ALABEL(svc_handler)
+	/*
+	 *  å²è¾¼ã¿å¦çããã®ãªã¿ã¼ã³ã«ããï¼CPUã­ãã¯è§£é¤ç¶æ
+ã«ç§»è¡ããã
+	 *  ãæºåããï¼
+	 */
+	cpsid f                       /* å²è¾¼ã¿ã­ãã¯ç¶æ
+ã¸ */
+	mrs   r0, psp
+	add   r0, #EXC_FRAME_SIZE     /* ã¹ã¿ãã¯ãæ¨ã¦ã   */
+	msr   psp, r0
+	mov   r0, #0
+	ldr   r1, =lock_flag          /* CPUã­ãã¯è§£é¤ç¶æ
+ã¸ */
+	str   r0, [r1]
+	ldr   r1, =IIPM_ENAALL        /* å²è¾¼ã¿åªå
+åº¦ãã¹ã¯ãå
+¨è§£é¤ç¶æ
+ã«è¨­å® */
+	msr   basepri, r1             
+	bx    lr                      /* ãªã¿ã¼ã³     */
+
+/*
+ *  ãã£ã¹ãããã£ã®åä½éå§
+ */
+	ATHUMB(start_dispatch)
+	AGLOBAL(start_dispatch)
+ALABEL(start_dispatch)
+	/*
+	 *  ãã®ã«ã¼ãã³ã¯ï¼ã«ã¼ãã«èµ·åæã«ï¼ãã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢ããç¶æ
+
+	 * ï¼å²è¾¼ã¿ã­ãã¯ç¶æ
+ã¨åç­ï¼ã§å¼ã³åºãããï¼ã¾ãï¼å²è¾¼ã¿ã¢ã¼ãï¼é
+	 *  ã¿ã¹ã¯ã³ã³ãã­ã¹ãã¨åç­ï¼ã§å¼ã³åºããããã¨ãæ³å®ãã¦ããï¼
+	 *
+	 *  core_initializeã§ï¼lock_flagãtrueã«ï¼saved_iipmãIIPM_ENAALLã«
+	 *  åæåãã¦ããããï¼ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ãè¨±å¯ãããã¨ã§ï¼
+	 *  CPUã­ãã¯ç¶æ
+ã»ï¼ã¢ãã«ä¸ã®ï¼å²è¾¼ã¿åªå
+åº¦ãã¹ã¯å
+¨è§£é¤ç¶æ
+ã«ãªãï¼
+	 *  ã¾ãï¼task_initializeã§disdspãfalseã«åæåãã¦ããããï¼ãã£
+	 *  ã¹ãããè¨±å¯ç¶æ
+ã«ãªã£ã¦ããï¼
+	 */
+	ldr   r0,=istkpt              /* MSPãåæå   */
+	ldr   r1,[r0]                 /* start_dispatchå¼ã³åºãæã«å¼ã³åºãç¨ã« */
+	msr   msp, r1                 /* ä½¿ç¨ãã¦ããããåæåãã             */
+	ldr   r1, =IIPM_LOCK          /* ã«ã¼ãã«ç®¡çå
+ã®å²è¾¼ã¿ãç¦æ­¢ */
+	msr   basepri, r1 
+	cpsie f                       /* ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ãè¨±å¯ */
+#ifdef LOG_DSP_ENTER
+	ldr   r1, =p_runtsk     /* p_runtskããã©ã¡ã¼ã¿ã« */
+	ldr   r0, [r1]        
+	bl    log_dsp_enter
+#endif /* LOG_DSP_ENTER */
+	mov   r0, #CONTROL_PSP        /* PSPãæå¹ã«  */
+	msr   control, r0
+	isb                           /* control ã®æä½å¾ã«å¿
+è¦ */
+
+/*
+ *  ç¾å¨ã®ã³ã³ãã­ã¹ããæ¨ã¦ã¦ãã£ã¹ããã
+ */
+	ATHUMB(exit_and_dispatch)
+	AGLOBAL(exit_and_dispatch)
+ALABEL(exit_and_dispatch)
+	/* ãã£ã¹ãããã£æ¬ä½ï¼dispatcherï¼ã¸ */ 
+
+
+/*
+ *  ãã£ã¹ãããã£æ¬ä½
+ */
+ALABEL(dispatcher)
+	/*
+	 *  ãã®ã«ã¼ãã³ã¯ï¼ã¿ã¹ã¯ã³ã³ãã­ã¹ãã»CPUã­ãã¯ç¶æ
+ã»ãã£ã¹ããã
+	 *  è¨±å¯ç¶æ
+ã»ï¼ã¢ãã«ä¸ã®ï¼å²è¾¼ã¿åªå
+åº¦ãã¹ã¯å
+¨è§£é¤ç¶æ
+ã§å¼ã³åºã
+	 *  ããï¼
+	 *
+	 *  ããªãã¡ï¼Threadã¢ã¼ãã»lock_flagãtrueã»disdspãfalseã»dspflg
+	 *  ãtrueã»saved_iipmãIIPM_ENAALLã¨ãªã£ã¦ããï¼å®è¡åéçªå°ã¸ãã
+	 *  ã®ç¶æ
+ã®ã¾ã¾åå²ããï¼
+	 */
+ALABEL(dispatcher_0)
+	ldr   r0, =p_schedtsk   /* p_schedtskãp_runtskã« */
+	ldr   r1, [r0]
+	ldr   r2, =p_runtsk   
+	str   r1, [r2]        
+	cbz   r1, dispatcher_1  /* p_runtskãNULLãªãdispatcher_1ã¸ */           
+	ldr   sp, [r1,#TCB_sp]  /* ã¿ã¹ã¯ã¹ã¿ãã¯ãå¾©å¸° */
+#ifdef LOG_DSP_LEAVE
+	mov   r0, r1            /* p_runtskããã©ã¡ã¼ã¿ã« */
+	mov   r4, r1            /* r1ã¯ã¹ã¯ã©ããã¬ã¸ã¹ã¿ãªã®ã§ä¿å­ */
+	bl    log_dsp_leave
+	mov   r1, r4
+#endif /* LOG_DSP_LEAVE */
+	ldr   pc, [r1,#TCB_pc]  /* å®è¡åéçªå°ãå¾©å¸°   */    
+ALABEL(dispatcher_1)
+	/*
+	 * CPUã­ãã¯ç¶æ
+ã®è§£é¤ã¨ï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãå®è¡ç¶æ
+ã¸ã®
+	 * æºåããã
+	 */
+	mov   r0, #CONTROL_MSP  /* MSPãæå¹ã«  */
+	msr   control, r0       
+	isb                     /* control ã®æä½å¾ã«å¿
+è¦ */
+	mov   r4, #0            /* r4 <- '0' */
+	ldr   r5, =IIPM_LOCK    /* r5 <- å²è¾¼ã¿ã­ãã¯ç¶æ
+ã®å²è¾¼ã¿åªå
+åº¦ãã¹ã¯ã®å¤ */
+	ldr   r6, =reqflg       /* r6 <- reqflg */
+	ldr   r7, =lock_flag    /* r7 <- lock_flg */
+	str   r4, [r7]          /* CPUã­ãã¯è§£é¤ç¶æ
+ã¸ */
+ALABEL(dispatcher_2)
+	/*
+	 *  å²è¾¼ã¿ãè¨±å¯ãï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãå®è¡ç¶æ
+ã¨ãå²è¾¼ã¿ãå¾
+ã¤ï¼
+	 *
+	 *  ããã§éã¿ã¹ã¯ã³ã³ãã­ã¹ãå®è¡ç¶æ
+ã«åãæããã®ã¯ï¼ããã§çºç
+	 *  ããå²è¾¼ã¿å¦çã«ã©ã®ã¹ã¿ãã¯ãä½¿ããã¨ããåé¡ã®è§£æ±ºã¨ï¼å²è¾¼ã¿
+	 *  ãã³ãã©å
+ã§ã®ã¿ã¹ã¯ãã£ã¹ãããã®é²æ­¢ã¨ãã2ã¤ã®æå³ãããï¼
+	 *
+	 *  ãã­ã»ããµãå²è¾¼ã¿å¾
+ã¡ã«ç§»è¡ãããå¦çã¨ï¼å²è¾¼ã¿è¨±å¯ã¨ã¯ï¼ä¸å¯
+	 *  åã«è¡ãªãå¿
+è¦ãããï¼
+	 *  ãããä¸å¯åã«è¡ãªããªãå ´åï¼å²è¾¼ã¿ãè¨±å¯ããç´å¾ã«å²è¾¼
+	 *  ã¿ãå
+¥ãï¼ãã®ä¸­ã§ã¿ã¹ã¯ãå®è¡å¯è½ç¶æ
+ã«ãªãã¨ï¼å®è¡ãã¹ãã¿ã¹
+	 *  ã¯ãããã«ãããããããã­ã»ããµãå²è¾¼ã¿å¾
+ã¡ã«ãªã£ã¦ãã¾ãï¼
+	 *  ARM-Mã§ã¯ï¼PRIMASKãã»ããããç¶æ
+ã§WFIãå¼ã³åºããã¨ã§å®ç¾ã§ããï¼
+	 *  ãã®ç¶æ
+ã§å²è¾¼ã¿ãå
+¥ãã¨ï¼å²è¾¼ã¿ã¯å®è¡ãããï¼WFIãããªã¿ã¼ã³ã
+	 *  ããã¨ã«ãªãã®ã§ï¼ä¸æ¦å²è¾¼ã¿ãè¨±å¯ãã¦å²è¾¼ã¿ãã³ãã©ãå®è¡ããï¼
+	 *
+	 *  å²è¾¼ã¿å¾
+ã¡ã®éã¯ï¼p_runtskãNULLï¼ï¼0ï¼ã«è¨­å®ããªããã°ãªããª
+	 *  ãï¼ãã®ããã«è¨­å®ããªãã¨ï¼å²è¾¼ã¿ãã³ãã©ããiget_tidãå¼ã³åº
+	 *  ããéã®åä½ãä»æ§ã«åè´ããªããªãï¼
+	 *
+	 *  ã¿ã¼ã²ããã«ãã£ã¦ã¯ï¼çé»åã¢ã¼ãç­ã«ç§»è¡ããããï¼æ¨æºã®æ¹æ³ã¨
+	 *  ç°ãªãæé ãå¿
+è¦ãªå ´åãããï¼
+	 *  ãã®ãããªã¿ã¼ã²ããã§ã¯ï¼ã¿ã¼ã²ããä¾å­ã«ããã¦ï¼TOPPERS_CUSTOM_IDLE
+	 *  ãå®ç¾©ãï¼ã¢ã»ã³ãã©ãã¯ã­ã¨ãã¦ï¼toppers_asm_custom_idle ãç¨æ
+	 *  ããã°ããï¼
+	 *
+	 *  ãªãï¼toppers_asm_custom_idle ã®è¨è¿°ã«ããã£ã¦ã¯ï¼æ¬¡ã®ã¬ã¸ã¹ã¿ã¯
+	 *  toppers_asm_custom_idleã®åå¾ã§ä½¿ç¨ããããï¼
+	 *  toppers_asm_custom_idle å
+ã§ä½¿ç¨ããå ´åã¯ï¼åå¾ã§ä¿å­å¾©å¸°ãããã¨ï¼
+	 *  ãããã®ã¬ã¸ã¹ã¿ã¯ Calee saved ã¬ã¸ã¹ã¿ã§ããããï¼ 
+	 *  toppers_asm_custom_idle ã¨ãã¦é¢æ°å¼ã³åºããããå ´åã¯ï¼å¼ã³åºãã
+	 *  é¢æ°ã§èªåçã«ä¿å­å¾©å¸°ãããããï¼ã¢ã»ã³ãã©ã¬ãã«ã§ã®ä¿å­å¾©å¸°ã¯å¿
+
+	 *  è¦ãªãï¼
+	 *
+	 *  ã¬ã¸ã¹ã¿ : å
+å®¹
+	 *   r4      : '0'
+	 *   r5      : 'IIPM_LOCK'
+	 *   r6      : reqflgã®ã¢ãã¬ã¹
+	 *   r7      : lock_flgã®ã¢ãã¬ã¹
+	 *   sp      : éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã®ã¹ã¿ãã¯ã®å
+é ­ã¢ãã¬ã¹(msp)
+	 */
+#ifdef TOPPERS_CUSTOM_IDLE
+	toppers_asm_custom_idle
+#else
+	cpsid i               /* PRIMASK ãã»ãã */
+	msr   basepri, r4     /* å
+¨å²è¾¼ã¿è¨±å¯ */ 
+	wfi
+	cpsie i               /* PRIMASK ãã¯ãªã¢ï¼å²è¾¼ã¿ãåãä»ããï¼ */
+	msr   basepri, r5     /* CPUã­ãã¯ç¶æ
+ã¸ */ 
+#endif /* TOPPERS_CUSTOM_IDLE */
+
+	ldr   r0, [r6]        /* reqflgãfalseãªãdispatcher_2ã¸ */
+	cmp   r0, #0
+	beq   dispatcher_2
+	str   r4, [r6]        /* reqflgãfalseã« */
+
+	/*
+	 *  CPUã­ãã¯ç¶æ
+ã«æ»ãï¼å²è¾¼ã¿å¾
+ã¡ã®éã«å®è¡ããå²è¾¼ã¿ãã³ãã©ã«ã
+	 *  ãï¼saved_iipmãæ¸ãæããããå¯è½æ§ãããããï¼å
+ã®å¤ã«æ»ãå¿
+
+	 *  è¦ãããï¼dispatcherãå®è¡ãããæã¯ï¼saved_iipmãIIPM_ENAALL
+	 *  ã¨ãªã£ã¦ããããï¼ããã§ã¯saved_iipmãIIPM_ENAALLï¼ï¼0ï¼ã«æ»ã
+	 *  ã°ããï¼
+	 */
+	mov   r0, #CONTROL_PSP  /* PSPãæå¹ã«  */ 
+	msr   control, r0      
+	isb                     /* control ã®æä½å¾ã«å¿
+è¦ */
+	mov   r2, #1            /* lock_flagãtrueã¸ */
+	str   r2, [r7]
+	ldr   r0, =saved_iipm   /* saved_iipm ã0ã« */
+	str   r4, [r0]
+	b     dispatcher_0
+
+
+/*
+ *  ã«ã¼ãã«ã®çµäºå¦çã®å¼åºã
+ *
+ *  ã¹ã¿ãã¯ãéã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã«åãæ¿ãï¼
+ *  
+ */
+	ATHUMB(call_exit_kernel)
+	AGLOBAL(call_exit_kernel)
+ALABEL(call_exit_kernel)
+	mov   r0, #CONTROL_MSP
+	msr   control, r0       /* MSPãæå¹ã«  */
+	isb                     /* control ã®æä½å¾ã«å¿
+è¦ */
+	ldr   r0, =exit_kernel  /* ã«ã¼ãã«ã®çµäºå¦çãå¼ã¶ */
+	bx    r0
+
+
+/*
+ *  ã¿ã¹ã¯èµ·åå¦ç
+ *
+ *  dispatcherããå¼ã³åºãããããï¼TCBã®ã¢ãã¬ã¹ã¯r1ã«å
+¥ã£ã¦ãã
+ *
+ */ 
+	ATHUMB(start_r)
+	AGLOBAL(start_r)
+ALABEL(start_r)
+	mov   r0, #0
+	ldr   r4, =lock_flag                    /* CPUã­ãã¯è§£é¤ç¶æ
+ã¸ */
+	str   r0, [r4]
+	msr   basepri, r0                       /* å²è¾¼ã¿è¨±å¯   */
+	ldr   lr, =ext_tsk                      /* æ»ãçªå°è¨­å® */
+	ldr   r2, [r1, #TCB_p_tinib]            /* p_runtsk->p_tinibãr2ã«  */
+	ldr   r0, [r2, #TINIB_exinf]            /* exinfãå¼æ°ã¬ã¸ã¹ã¿r0ã«  */
+	ldr   r1, [r2, #TINIB_task]             /* ã¿ã¹ã¯èµ·åçªå°ã«ã¸ã£ã³ã */
+	bx    r1
+
+/*
+ *  å¾®å°æéå¾
+ã¡
+ */
+	AALIGN(2)
+	ATEXT
+	ATHUMB(sil_dly_nse)
+	AGLOBAL(sil_dly_nse)
+ALABEL(sil_dly_nse)
+	sub   r0, r0, #SIL_DLY_TIM1
+	cmp   r0, #0
+	bgt   sil_dly_nse1
+	bx    lr
+ALABEL(sil_dly_nse1)
+	sub   r0, r0, #SIL_DLY_TIM2
+	cmp   r0, #0
+	bgt   sil_dly_nse1
+	bx    lr
Index: /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_test.h
===================================================================
--- /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_test.h	(revision 85)
+++ /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_test.h	(revision 85)
@@ -0,0 +1,71 @@
+/*
+ *  TOPPERS/ASP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Advanced Standard Profile Kernel
+ * 
+ *  Copyright (C) 2008 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
+ *  å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
+ *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ãã
+ *      å
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
+ *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
+ *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
+ *  ã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: core_test.h 2272 2011-12-03 01:49:22Z ertl-honda $
+ */
+
+/*
+ *		ãã¹ããã­ã°ã©ã ã®ãããä¾å­å®ç¾©ï¼ARM-Mç¨ï¼
+ */
+
+#ifndef TOPPERS_CORE_TEST_H
+#define TOPPERS_CORE_TEST_H
+
+/*
+ *  ãããã§å
+±éãªå®ç¾©
+ */
+#define CPUEXC1				6		/* Usage Fault */
+#define RAISE_CPU_EXCEPTION Asm("mcr p15, 0, r1, c2, c0, 0");
+#define CANNOT_RETURN_CPUEXC
+
+#endif /* TOPPERS_CORE_TEST_H */
Index: /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_timer.c
===================================================================
--- /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_timer.c	(revision 85)
+++ /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_timer.c	(revision 85)
@@ -0,0 +1,123 @@
+/*
+ *  TOPPERS/ASP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Advanced Standard Profile Kernel
+ * 
+ *  Copyright (C) 2008-2011 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
+ *  å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
+ *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ãã
+ *      å
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
+ *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
+ *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
+ *  ã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: core_timer.c 2308 2012-01-31 12:08:18Z ertl-honda $
+ */
+
+/*
+ *  ã¿ã¤ããã©ã¤ãï¼SYSTICç¨ï¼
+ */
+#include <sil.h>
+#include "kernel_impl.h"
+#include "time_event.h"
+#include "target_timer.h"
+
+/*
+ *  ã¿ã¤ãã®èµ·åå¦ç
+ */
+void
+target_timer_initialize(intptr_t exinf)
+{
+	CLOCK    cyc;
+	uint32_t tmp;
+
+#ifdef SYSTIC_USE_CALIBRATION
+	/* CALIBRATIONã¬ã¸ã¹ã¿ã®å¤ãä½¿ç¨ */
+	cyc = (sil_rew_mem((void *)SYSTIC_CALIBRATION) & SYSTIC_TENMS) / 10;
+#else 
+	cyc = TO_CLOCK(TIC_NUME, TIC_DENO) - 1;
+#endif /* SYSTIC_USE_CALIBRATION */
+
+	/* åæ­¢ */
+	tmp = sil_rew_mem((void *)SYSTIC_CONTROL_STATUS);
+	tmp &= ~SYSTIC_ENABLE;
+	sil_wrw_mem((void *)SYSTIC_CONTROL_STATUS, tmp);
+
+	sil_wrw_mem((void *)SYSTIC_RELOAD_VALUE, cyc);
+	sil_wrw_mem((void *)SYSTIC_CURRENT_VALUE, cyc);
+
+	tmp = sil_rew_mem((void *)SYSTIC_CONTROL_STATUS);
+
+#ifdef SYSTIC_USE_STCLK
+	/* å¤é¨ã¯ã­ãã¯ã®ä½¿ç¨ */
+	tmp |= SYSTIC_ENABLE;
+#else
+	/* ãã­ã»ããµã¯ã­ãã¯ã®ä½¿ç¨ */
+	tmp |= SYSTIC_ENABLE|SYSTIC_CLKSOURCE;
+#endif /* SYSTIC_USE_STCLK */
+
+	sil_wrw_mem((void *)SYSTIC_CONTROL_STATUS, tmp);
+}
+
+/*
+ *  ã¿ã¤ãã®åæ­¢å¦ç
+ */
+void
+target_timer_terminate(intptr_t exinf)
+{
+	/* ã¿ã¤ããåæ­¢ */
+	sil_wrw_mem((void*)SYSTIC_CONTROL_STATUS, 0x00);
+}
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿ãã³ãã©
+ */
+void
+target_timer_handler(void)
+{
+	/* probe_int ã®ããï¼COUNTFLAGãã¯ãªã¢ */
+	sil_rew_mem((void *)SYSTIC_CONTROL_STATUS);
+
+	i_begin_int(INTNO_TIMER);
+	signal_time();                    /* ã¿ã¤ã ãã£ãã¯ã®ä¾çµ¦ */
+	i_end_int(INTNO_TIMER);
+}
Index: /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_timer.cfg
===================================================================
--- /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_timer.cfg	(revision 85)
+++ /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_timer.cfg	(revision 85)
@@ -0,0 +1,11 @@
+/*
+ *  @(#) $Id: core_timer.cfg 2178 2011-07-23 09:58:56Z ertl-honda $
+ */
+
+/*
+ *		ã¿ã¤ããã©ã¤ãã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+ATT_INI({ TA_NULL, 0, target_timer_initialize });
+ATT_TER({ TA_NULL, 0, target_timer_terminate });
+DEF_INH(INHNO_TIMER, { TA_NULL, target_timer_handler });
+CFG_INT(INTNO_TIMER, { TA_ENAINT|INTATR_TIMER, INTPRI_TIMER });
Index: /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_timer.h
===================================================================
--- /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_timer.h	(revision 85)
+++ /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_timer.h	(revision 85)
@@ -0,0 +1,131 @@
+/*
+ *  TOPPERS/ASP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Advanced Standard Profile Kernel
+ * 
+ *  Copyright (C) 2008-2011 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
+ *  å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
+ *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ãã
+ *      å
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
+ *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
+ *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
+ *  ã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: core_timer.h 2183 2011-07-23 10:29:36Z ertl-honda $
+ */
+
+/*
+ *  ã¿ã¤ããã©ã¤ãï¼SYSTICç¨ï¼
+ */
+
+#ifndef TOPPERS_CORE_TIMER_H
+#define TOPPERS_CORE_TIMER_H
+
+#include <sil.h>
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿ãã³ãã©ç»é²ã®ããã®å®æ°
+ */
+#define INHNO_TIMER     IRQNO_SYSTICK /* å²è¾¼ã¿ãã³ãã©çªå· */
+#define INTNO_TIMER     IRQNO_SYSTICK /* å²è¾¼ã¿çªå· */
+
+#ifndef TOPPERS_MACRO_ONLY
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã®å
+ */
+typedef uint32_t    CLOCK;
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã¨ããªç§ã»Î¼ç§åä½ã¨ã®å¤æ
+ *
+ */
+#define TO_CLOCK(nume, deno)    ((CLOCK)(TIMER_CLOCK * (nume) / (deno)))
+#define TO_USEC(clock)          (((SYSUTM) clock) * 1000U / TIMER_CLOCK)
+
+/*
+ *  è¨­å®ã§ããæå¤§ã®ã¿ã¤ãå¨æï¼åä½ã¯å
+é¨è¡¨ç¾ï¼
+ */
+#define MAX_CLOCK    ((CLOCK) 0x00ffffffU)
+
+/*
+ *  ã¿ã¤ãã®èµ·åå¦ç
+ *
+ *  ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿è¦æ±ãçºçãããï¼
+ */
+extern void target_timer_initialize(intptr_t exinf);
+
+/*
+ *  ã¿ã¤ãã®åæ­¢å¦ç
+ *
+ *  ã¿ã¤ãã®åä½ãåæ­¢ãããï¼
+ */
+extern void target_timer_terminate(intptr_t exinf);
+
+/*
+ *  ã¿ã¤ãã®ç¾å¨å¤ã®èª­åºã
+ */
+Inline CLOCK
+target_timer_get_current(void)
+{
+	return(TO_CLOCK(TIC_NUME, TIC_DENO) - sil_rew_mem((void*)SYSTIC_CURRENT_VALUE));
+}
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ãã§ãã¯
+ */
+Inline bool_t
+target_timer_probe_int(void)
+{
+	return((sil_rew_mem((void*)SYSTIC_CONTROL_STATUS) & SYSTIC_COUNTFLAG) == SYSTIC_COUNTFLAG);
+}
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿ãã³ãã©
+ */
+extern void target_timer_handler(void);
+
+#endif /* TOPPERS_MACRO_ONLY */
+#endif /* TOPPERS_CORE_TIMER_H */
Index: /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_unrename.h
===================================================================
--- /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_unrename.h	(revision 85)
+++ /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_unrename.h	(revision 85)
@@ -0,0 +1,74 @@
+/* This file is generated from core_rename.def by genrename. */
+
+/* This file is included only when core_rename.h has been included. */
+#ifdef TOPPERS_CORE_RENAME_H
+#undef TOPPERS_CORE_RENAME_H
+
+/*
+ *  core_config.c
+ */
+#undef exc_tbl
+#undef vector_table
+#undef lock_flag
+#undef saved_iipm
+#undef default_exc_handler
+#undef default_int_handler
+#undef x_config_int
+#undef core_initialize
+#undef core_terminate
+#undef bitpat_cfgint
+#undef set_exc_int_priority
+#undef enable_exc
+#undef disable_exc
+
+/*
+ *  core_support.S
+ */
+#undef core_int_entry
+#undef core_exc_entry
+#undef ret_int
+#undef ret_exc
+#undef svc_handler
+#undef start_r
+#undef dispatch
+#undef start_dispatch
+#undef exit_and_dispatch
+#undef call_exit_kernel
+
+#ifdef TOPPERS_LABEL_ASM
+
+/*
+ *  core_config.c
+ */
+#undef _exc_tbl
+#undef _vector_table
+#undef _lock_flag
+#undef _saved_iipm
+#undef _default_exc_handler
+#undef _default_int_handler
+#undef _x_config_int
+#undef _core_initialize
+#undef _core_terminate
+#undef _bitpat_cfgint
+#undef _set_exc_int_priority
+#undef _enable_exc
+#undef _disable_exc
+
+/*
+ *  core_support.S
+ */
+#undef _core_int_entry
+#undef _core_exc_entry
+#undef _ret_int
+#undef _ret_exc
+#undef _svc_handler
+#undef _start_r
+#undef _dispatch
+#undef _start_dispatch
+#undef _exit_and_dispatch
+#undef _call_exit_kernel
+
+#endif /* TOPPERS_LABEL_ASM */
+
+
+#endif /* TOPPERS_CORE_RENAME_H */
Index: /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_user.txt
===================================================================
--- /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_user.txt	(revision 85)
+++ /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/core_user.txt	(revision 85)
@@ -0,0 +1,586 @@
+=====================================================================
+                         ARM-Mãã­ã»ããµä¾å­é¨
+                                  Last Modified: 2012 Feb 29 01:27:34
+=====================================================================
+
+
+(1) å¯¾å¿ãã¦ããã¿ã¼ã²ããã·ã¹ãã ã®ç¨®é¡ã»æ§æ
+
+ARM-Mä¾å­é¨ã¯ï¼ARMVx-Mã¢ã¼ã­ãã¯ãã£ãã¿ã¼ã²ããã¨ãã¦ããï¼ARMVx-Mã¯ï¼
+ARMã¨ã¯ç°ãªãï¼ARMå½ä»¤ãå®è¡ã§ããªãããï¼ARMä¾å­é¨ã¨åãã¦ããï¼
+
+
+(2) ä½¿ç¨ããéçºç°å¢ã¨åä½æ¤è¨¼ããæ¡ä»¶ï¼ãã¼ã¸ã§ã³ï¼ãªãã·ã§ã³ç­ï¼
+
+ã«ã¼ãã«ã¯GCCãç¨ãã¦ã³ã³ãã¤ã«ããï¼åä½ç¢ºèªãããã¼ã¸ã§ã³ã¯åã¿ã¼ã²
+ããä¾å­é¨ã®ãã­ã¥ã¡ã³ãã«è¨è¼ããï¼
+
+
+(3) ã¿ã¼ã²ããå®ç¾©äºé 
+ã®è¦å®
+
+(3-1) ãã¼ã¿åã«é¢ããè¦å®
+
+ãã¼ã¿åã¯ arch/gcc/tool_stddef.h ã§å®ç¾©ããã¦ããå
+å®¹ã§ï¼floatåã¨
+doubleåã¯ï¼ããããIEEE754æºæ ã®åç²¾åº¦æµ®åå°æ°ç¹æ°ã¨åç²¾åº¦æµ®åå°æ°ç¹
+æ°ã§ããï¼
+
+(3-2) å²è¾¼ã¿å¦çã«é¢ããè¦å®
+
+âå²è¾¼ã¿ãã³ãã©çªå·ã¨å²è¾¼ã¿çªå·ã®å²å½ã¦ï¼ä¸¡è
+ã®å¯¾å¿
+
+å²è¾¼ã¿ãã³ãã©çªå·ã¨å²è¾¼ã¿çªå·ã¯ï¼ä¾å¤çºçæã«IPSRã«ã»ãããããä¾å¤çª
+å·ãç¨ããï¼SYSTICKã¯15çªã§ï¼å¤é¨å²è¾¼ã¿ã¯16çªããã®çªå·ãå²ãä»ããã
+ã¦ããï¼
+
+âå²è¾¼ã¿åªå
+åº¦ã®æ®µéæ°ã¨TMIN_INTPRIã®å¤
+
+å²è¾¼ã¿åªå
+åº¦ã®æ®µéæ°ã¯ï¼SoCæ¯ã«ãã¼ãã¦ã§ã¢çã«ãµãã¼ãããå²è¾¼ã¿åªå
+
+åº¦ãããå¹
+ãç°ãªãã®ã§ï¼ã¿ã¼ã²ããä¾å­é¨æ¯ã«ç°ãªãï¼ã¿ã¼ã²ããä¾å­é¨ã§
+ã¯ï¼å²è¾¼ã¿åªå
+åº¦ã®ãããå¹
+ï¼TBITW_IPRIï¼ã¨ãã®å²è¾¼ã¿åªå
+åº¦ä¸­ã®ãµãåªå
+
+åº¦ã®ãããå¹
+ï¼TBITW_SUBPRIï¼ãå®ç¾©ããï¼
+
+åãããå¹
+ã®å¤ã¨CFG_INTã§ä½¿ç¨å¯è½ãªå²è¾¼ã¿åªå
+åº¦ã®ç¯å²ã¯æ¬¡ã®éãã§ããï¼
+
+   -(2^(TBIW_IPRI)) + (2^TBITW_SUBIPRI) ã -1
+
+ä¾ãã°åªå
+åº¦ã®ãããå¹
+(TBITW_IPRI)ã8bitï¼ãµãåªå
+åº¦ã®ãããå¹
+
+(TBITW_SUBIPRI) ã1bitã®å ´åã¯ï¼-254 ã -1 ã®ç¯å²ã§ããï¼
+
+åªå
+åº¦ã®ãããå¹
+(TBITW_IPRI)ã3bitï¼ãµãåªå
+åº¦ã®ãããå¹
+(TBITW_SUBIPRI) 
+ã0bitã®å ´åã¯ï¼-8 ã -1 ã®ç¯å²ã§ããï¼
+
+æå¤§åªå
+åº¦(3bitã®ä¾ã§ã¯-8)ã¯ï¼å
+é¨åªå
+åº¦ã¨ãã¦ã¯"0x00"ã¨ãªãï¼ãã®åªå
+
+åº¦ã¯CPUã­ãã¯ã§ç¨ããBASEPRIã¬ã¸ã¹ã¿ã§ã¯ãã¹ã¯ã§ããªãããï¼ã«ã¼ãã«ç®¡
+çå
+ã®å²è¾¼ã¿ã®æé«åªå
+åº¦ï¼TMIN_INTPRIï¼ã¯ï¼æå¤§å¤ãã1ã¤åªå
+åº¦ãä½ãå¤
+ä»¥ä¸ã®å¤ãæå®ããï¼
+
+ãã®ç¯å²ã§ï¼ã«ã¼ãã«ç®¡çå
+ã®å²è¾¼ã¿ã®æé«åªå
+åº¦ï¼TMIN_INTPRIï¼ãã¿ã¼ã²
+ããä¾å­é¨ã§è¨­å®ããï¼
+
+âdis_intã¨ena_intã®ãµãã¼ãã®æç¡ï¼ãã®å¶éäºé 
+
+
+dis_intã¨ena_intããµãã¼ãããï¼å¶éäºé 
+ã¯ç¹ã«ãªãï¼
+
+âCFG_INTã®å¶éäºé 
+ã¨æ¡å¼µï¼ã¿ã¼ã²ããå®ç¾©ã§ä½¿ç¨ã§ããå²è¾¼ã¿å±æ§ï¼
+
+CFG_INTã®å¶éäºé 
+ã¯ãªãï¼ã¿ã¼ã²ããå®ç¾©ã§ä½¿ç¨å¯è½ãªå²è¾¼ã¿å±æ§ã¯ç¹ã«ãª
+ãï¼
+
+âã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿
+
+ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ããµãã¼ãããï¼æå®æ¹æ³ã¯ï¼å²è¾¼ã¿åªå
+åº¦ã®æ®µéæ°
+ã§æå®ããï¼ãµãã¼ãããå²è¾¼ã¿åªå
+åº¦ã®æé«å¤ï¼æå°å¤ï¼ããï¼
+TMIN_INTPRIã®å¤ãå¤§ããï¼åªå
+åº¦ãä½ãï¼è¨­å®ããã¨ï¼TMIN_INTPRIããå¤ã
+å°ãï¼é«åªå
+åº¦ï¼ãªå²è¾¼ã¿åªå
+åº¦ãè¨­å®ããå²è¾¼ã¿ãå²è¾¼ã¿åªå
+åº¦ã¨ãã¦æ±ãï¼
+
+ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ã¯OSå®è¡ä¸­ãç¦æ­¢ã«ãªããã¨ã¯ãªãï¼å³å¯ã«ã¯å²è¾¼ã¿
+ã®åºå£ã§ããç­ãåºéç¦æ­¢ãããï¼ï¼å²è¾¼ã¿çºçæã¯ï¼ã«ã¼ãã«ã®ã³ã¼ããçµ
+ç±ããã«å¼ã³åºãããï¼
+
+ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ã«å¯¾ããï¼DEF_INH,CFG_INTã¯ãµãã¼ãããï¼
+
+(3-3) CPUä¾å¤å¦çã«é¢ããè¦å®
+
+âCPUä¾å¤ãã³ãã©çªå·
+
+CPUä¾å¤ãã³ãã©çªå·ã¨ãã¦ã¯ï¼ä¾å¤çºçæã«IPSRã«ã»ãããããï¼ä¾å¤çªå·
+ãç¨ããï¼åä¾å¤ã®ä¾å¤çªå·ã¯ä»¥ä¸ã®éãã§ããï¼
+
+        ä¾å¤              ä¾å¤çªå·
+  Reset                      1
+  Non-makable Interrupt      2
+  Hard Fault                 3
+  Memory Management          4
+  Bus Fault                  5
+  Usage Fault                6
+  SVCall                    11
+  Debug Monitor             12
+  PendSV                    14
+
+ãªãï¼Resetã¨ï¼SVCallã«ã¤ãã¦ã¯ï¼ã«ã¼ãã«ãä½¿ç¨ããããï¼ã¦ã¼ã¶ã¼ã¯ä½¿
+ç¨ãããã¨ãã§ããªãï¼
+
+ARM-Mã¢ã¼ã­ãã¯ãã£ã§ã¯CPUä¾å¤ã«åªå
+åº¦ãè¨­å®ãããã¨ãå¯è½ã§ããï¼
+ARM-Mä¾å­é¨ã§ã¯ï¼å
+¨ã¦ã®CPUä¾å¤ã®åªå
+åº¦ãCPUã­ãã¯ã§ã¯ãã¹ã¯ã§ããªãã
+ã¹ã¯åºæ¥ãªãå¤ï¼å
+é¨åªå
+åº¦0ï¼ã«åæåãã¦ããï¼
+
+(3-4) CPUã­ãã¯ã»å²è¾¼ã¿ã­ãã¯
+
+CPUã­ãã¯ã¯ï¼basepriãTMIN_INTPRIã®åªå
+åº¦ã®å²è¾¼ã¿ãç¦æ­¢ããå¤ã«è¨­å®ã
+ãï¼å²è¾¼ã¿ã­ãã¯ã¯ï¼FAULTMASKã'1'ã«è¨­å®ãããã¨ã§å®ç¾ãã¦ããï¼
+
+(3-5) æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ã®åç
+§ã«é¢ããè¦å®
+
+get_utmããµãã¼ãããï¼ç²¾åº¦ã«é¢ãã¦ã¯ï¼ã¿ã¼ã²ããæ¯ã«ç°ãªãï¼
+
+(3-6) ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã§ã®åæåå
+å®¹
+
+ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã¯ï¼Threadã¢ã¼ãã§å¼ã³åºããããã¨ãåæã¨ãã¦ã
+ãï¼å®è¡å¾ï¼å²è¾¼ã¿ã­ãã¯ç¶æ
+ï¼FAULTMASKãã»ããï¼ã¨ããï¼å²è¾¼ã¿ã­ãã¯
+ç¶æ
+ã¯ï¼ã«ã¼ãã«ã®åæåçµäºæã«è¨±å¯ããï¼ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã§ï¼
+MSPãã¢ã¯ãã£ããªã¹ã¿ãã¯ã¨ãï¼MSPã®å
+å®¹ãåæåããããã«ã¯ï¼INIT_MSP
+ãã¿ã¼ã²ããä¾å­é¨ã§å®ç¾©ããï¼
+
+(3-7) ãã¯ã¿ãã¼ãã«ãªãã»ããã®åæå
+
+ãã­ã»ããµä¾å­ã®åæåå¦çã§ï¼Vector Table Offset Register ãã¿ã¼ã²ã
+ãä¾å­é¨ã®åæåã«ã¼ãã³ã§è¨­å®ããï¼ãªãï¼ãã¯ã¿ã¼ãã¼ãã«ã¯ï¼.vector
+ã®ã»ã¯ã·ã§ã³å±æ§ãä»å ããã¦ããããï¼ãªã³ã«ã¹ã¯ãªããã§ãã®ã»ã¯ã·ã§ã³
+ãæå®ãã¦é
+ç½®ããï¼
+
+
+(4) ã¿ã¤ããã©ã¤ãé¢é£ã®æ
+å ±
+
+ã«ã¼ãã«ã®ã¿ã¤ã ãã£ãã¯ã¨ãã¦ï¼SYSTICãä½¿ç¨ããå ´åã¯ï¼core_config.c 
+ãã³ã³ãã¤ã«å¯¾è±¡ã¨ãï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ã« core_config.cfg 
+ãæå®ãããã¨ï¼
+
+å¨æã®åºæ¬ã¯1msecã¨ããï¼å¨æãCALIBRATIONã¬ã¸ã¹ã¿ã®è¨­å®å
+å®¹ãå
+ã«è¨ç®
+ããå ´åã¯ï¼SYSTIC_USE_CALIBRATION ãå®ç¾©ããï¼CALIBRATIONã¬ã¸ã¹ã¿ãç¨
+ããªãå ´åã¯ï¼1msecå¨æåã®ã«ã¦ã³ãå¤ã TIMER_CLOCK ã«è¨­å®ããï¼ã¯ã­ã
+ã¯ã½ã¼ã¹ã¨ãã¦ï¼å¤é¨ã¯ã­ãã¯ãç¨ããå ´åã¯ï¼SYSTIC_USE_STCLK ãç¨ããï¼
+
+
+(5) ã¿ã¼ã²ããä¾å­é¨ã§ã®è¨­å®é 
+ç®
+
+ã¿ã¼ã²ããä¾å­é¨ã§ã¯ä»¥ä¸ã®ãã¯ã­ãå®ç¾©ããå¿
+è¦ãããï¼
+
+   ã»TMAX_INTNO     : å²è¾¼ã¿çªå·ã®æå¤§å¤(éå¸¸ã®å²è¾¼ã¿çªå· + 15)
+   ã»TBITW_IPRI     : å²è¾¼ã¿åªå
+åº¦ã®ãããå¹
+
+   ã»TBITW_SUBIPRI  : å²è¾¼ã¿åªå
+åº¦ã®ãããå¹
+ä¸­ã®ãµãåªå
+åº¦ã®ãããå¹
+
+   ã»TMIN_INTPRI    : å²è¾¼ã¿åªå
+åº¦ã®æå°å¤ï¼æé«å¤ï¼
+   ã»TIC_NUME       : ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­
+   ã»TIC_DENO       : ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯
+   ã»TIMER_CLOCK    : ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã¨ããªç§åä½ã¨ã®å¤æ
+   ã»INTPRI_TIMER   : ã¿ã¤ãå²è¾¼ã¿å²è¾¼ã¿åªå
+åº¦
+   ã»INTATR_TIMER   : ã¿ã¤ãå²è¾¼ã¿ã®å²è¾¼ã¿å±æ§
+   ã»INIT_MSP       : ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã§MSPãåæåããå ´åã¯å®ç¾©
+   ã»DEFAULT_ISTKSZ : ã¹ã¿ãã¯ãµã¤ãºï¼8byteåä½ã§æå®ï¼
+   ã»SIL_DLY_TIM1   : å¾®å°æéå¾
+ã¡ã®ããã®å®ç¾©
+   ã»SIL_DLY_TIM2   : å¾®å°æéå¾
+ã¡ã®ããã®å®ç¾©
+
+
+(6) ãã®ä»
+
+(6-1) Configureation and Control Register(CCR)ã®STKALIGNã®å¶é
+
+ã·ã¹ãã èµ·åå¾ï¼æ­£ç¢ºã«ã¯OSã®åæåçµäºå¾ï¼ã¯CCRã®STKALIGNã®è¨­å®ã¯ï¼å¤
+æ´ããªããã¨ï¼
+
+
+(7) ãã£ã¬ã¯ããªæ§æã»ãã¡ã¤ã«æ§æ
+  ./arch/arm_m_gcc/common
+    ./Makefile.core
+    ./arm_m.h
+    ./makeoffset.c
+    ./core.tf
+    ./core_cfg1_out.h
+    ./core_check.tf
+    ./core_config.c
+    ./core_config.h
+    ./core_def.csv
+    ./core_insn.h
+    ./core_kernel.h
+    ./core_rename.def
+    ./core_rename.h
+    ./core_sil.h
+    ./core_stddef.h
+    ./core_support.S
+    ./core_test.h
+    ./core_timer.c
+    ./core_timer.cfg
+    ./core_timer.h
+    ./core_unrename.h
+    ./core_user.txt
+    ./start.S
+
+(8)ARMCCå
+±æã³ã¼ãã®è¨è¿°æ¹æ³
+
+ARMCCã¨å
+±æããã³ã¼ãã¯ï¼æ¬¡ã®ã«ã¼ã«ã«å¾ã£ã¦ã³ã¼ããè¨è¿°ããå¿
+è¦ãããï¼
+
+1.ã¡ã¢ãªããªã¢å½ä»¤(Asm("":::"memory"))ã®ãã¯ã­å
+
+ã¿ã¼ã²ããä¾å­é¨ ãã¼ãã£ã³ã°ã¬ã¤ãã®(1-6-2)(c)ã«ã¯ï¼æ¬¡ã®ããã«è¨è¿°ã
+ãã¦ããï¼
+
+-----
+(c) ã¯ãªãã£ã«ã«ã»ã¯ã·ã§ã³ã®åºå
+¥å¦çã®æ¬è³ªçãªé¨åãï¼ãã¯ã­ãã¤ã³ã©ã¤
+	ã³é¢æ°å¼åºãã§å®ç¾ãã¦ããå ´åã«ã¯ï¼ã¯ãªãã£ã«ã«ã»ã¯ã·ã§ã³ã«å
+¥ãå¦
+	çã®æå¾ã¨åºãå¦çã®å
+é ­ã«ï¼Asm("":::"memory")ã¨ããè¨è¿°ãå
+¥ããï¼
+-----
+
+ã¡ã¢ãªããªã¢å½ä»¤(Asm("":::"memory"))ã¯ï¼ARMCCã¨äºææ§ããªãããï¼ãã®
+è¨è¿°ãããç®æã¯ï¼æ¬¡ã®ãã¯ã­ã§è¨è¿°ããã¨ï¼ã³ã³ãã¤ã«æã«é©åãªã¡ã¢ãªã
+ãªã¢å½ä»¤ã«ç½®ãæããããï¼
+
+  ARM_MEMORY_CHANGED
+
+2.ã¤ã³ã¯ã«ã¼ãæ¹æ³
+
+ã¿ã¼ã²ããä¾å­é¨ ãã¼ãã£ã³ã°ã¬ã¤ãã®1.5ã«ã¯ï¼æ¬¡ã®ããã«è¨è¿°ããã¦ããï¼
+
+-----
+ãã®ä»ã®ããããã¡ã¤ã«ã¯ï¼ã#include "..."ãã«ããã¤ã³ã¯ã«ã¼ãããï¼ãã
+ããã¡ã¤ã«ãï¼ã«ã¬ã³ããã£ã¬ã¯ããªãã¤ã³ã¯ã«ã¼ããããã¡ã¤ã«ã¨åããã£
+ã¬ã¯ããªä»¥å¤ã®ãã£ã¬ã¯ããªã«ç½®ããã¦ããå ´åã«ã¯ï¼æ¬¡ã®ããã«ãã¹æå®ã
+è¡ãï¼
+-----
+
+GCCä¾å­é¨ã¨ARMCCä¾å­é¨ã§ããããã¡ã¤ã«ãå
+±æã§ããªãå ´åã«ã¯ï¼ãããã
+ã§åãååã®ãã¡ã¤ã«ãæã¤ï¼ããã¦ï¼ã³ã³ãã¤ã«ãªãã·ã§ã³ã§ã¤ã³ã¯ã«ã¼ã
+ãã¹ããã¡ã¤ã«ãå
+ã«æå®ãã¦ããï¼ãã®ããï¼ARMCCã¨å
+±æãããã¡ã¤ã«ã§
+ãããã®ãã¡ã¤ã«ãã¤ã³ã¯ã«ã¼ãããå ´åã«ã¯ï¼ã#include "..."ãã§ã¯ãªãï¼
+ã#include <...>ãã§è¨è¿°ãï¼ç¸å¯¾ãã¹ã§ã¯ãªããã¡ã¤ã«åã®ã¿ãè¨è¼ããã
+ã¨ï¼
+
+3.ã¢ã»ã³ãã©ãã£ã¬ã¯ãã£ã
+
+GCCã¨ARMCCã®ã¢ã»ã³ãã©ãã£ã¬ã¯ãã£ãã¯äºææ§ããªãï¼ãã®ããï¼ARMCCã¨
+å
+±æãããã¡ã¤ã«ã¯æ¬¡ã«ç¤ºããã¯ã­ãã£ã¬ã¯ãã£ãã§è¨è¿°ãããã¨ï¼
+
+ãã¯ã­ãã£ã¬ã¯ãã£ã     GCCãã£ã¬ã¯ãã£ã
+ ASECTION(name)          .section name,"a"
+ ATEXT                   .text
+ AGLOBAL(name)           .global name
+ AALIGN(x)               .align x
+ ALONG                   .long
+ ALABEL(label)           label:
+ AOR                       |
+ ATHUMB(name)            __athumb name
+
+
+(9)ARMCCå
+±æã³ã¼ãã®è¨è¿°æ¹æ³
+
+âã¢ã¤ãã«å¦ç
+
+å®è¡ããã¹ãã¿ã¹ã¯ããªãå ´åã¯ï¼ãã£ã¹ãããã£ã¼ã§å²è¾¼ã¿ãè¨±å¯ãã¦ï¼å²
+è¾¼ã¿ãå¾
+ã¤ï¼dispatcher_2ï¼ï¼ARM-Mä¾å­é¨ã®ã³ã¼ãã§ã¯ï¼æ¬¡ã®ããã«ãªã£ã¦
+ããï¼
+
+       å²è¾¼ã¿ãè¨±å¯
+       nop
+       å²ãè¾¼ã¿ç¦æ­¢
+
+ã¿ã¼ã²ããä¾å­ã§ï¼ä¸è¨ã®å¦çã®ä»£ããã«ï¼çé»åã¢ã¼ãç­ã«ç§»è¡ããå¦çã
+è¨è¿°ãããå ´åã«ã¯ï¼ã¿ã¼ã²ããä¾å­é¨ã§ï¼TOPPERS_CUSTOM_IDLEãå®ç¾©ãï¼
+ä»£ããã«å®è¡ããå¦çã toppers_asm_custom_idle ã¨ããã¢ã»ã³ãã©ãã¯ã­
+ã¨ãã¦è¨è¿°ããï¼
+
+ãªãï¼toppers_asm_custom_idle ã®è¨è¿°ã«ããã£ã¦ã¯ï¼æ¬¡ã®ã¬ã¸ã¹ã¿ã¯
+oppers_asm_custom_idleã®åå¾ã§ä½¿ç¨ããããï¼oppers_asm_custom_idle å
+
+ã§ä½¿ç¨ããå ´åã¯ï¼åå¾ã§ä¿å­å¾©å¸°ãããã¨ï¼ãããã®ã¬ã¸ã¹ã¿ã¯ Calee 
+saved ã¬ã¸ã¹ã¿ã§ããããï¼ oppers_asm_custom_idle ã¨ãã¦é¢æ°å¼ã³åºãã
+ããå ´åã¯ï¼å¼ã³åºããé¢æ°ã§èªåçã«ä¿å­å¾©å¸°ãããããï¼ã¢ã»ã³ãã©ã¬ã
+ã«ã§ã®ä¿å­å¾©å¸°ã¯å¿
+è¦ãªãï¼
+
+ã¬ã¸ã¹ã¿ : å
+å®¹
+r4      : '0'
+r5      : 'IIPM_LOCK'
+r6      : reqflgã®ã¢ãã¬ã¹
+r7      : lock_flgã®ã¢ãã¬ã¹
+sp      : éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã®ã¹ã¿ãã¯ã®å
+é ­ã¢ãã¬ã¹(msp)
+
+ã¢ã»ã³ãã©ãã¯ã­ã¯Cè¨èªè¨è¿°ä¸­ã«å±éããã¨ã¨ã©ã¼ã¨ãªãï¼core_support.S ã§
+ã¯ï¼TOPPERS_ASM_MACRO ã¨ãããã¯ã­ãå®ç¾©ãã¦ããããï¼ã¿ã¼ã²ããä¾å­é¨
+ã§ toppers_asm_custom_idle ã¢ã»ã³ãã©ãã¯ã­ãå®ç¾©ããéã«ã¯ï¼
+TOPPERS_ASM_MACRO ãæ¡ä»¶ã³ã³ãã¤ã«ã®æ¡ä»¶ã¨ãã¦ç¨ãããã¨ï¼
+
+
+(10) ãã¼ã¸ã§ã³å±¥æ­´
+2012/02/29
+ã»Makefile.core
+  ã»CDEFSã«TOPPERS_LABEL_ASMãæå®ãã¦ãããï¼ARMç¨ã®gccã§ã¯ã¢ã»ã³ãã©
+    ã®ã·ã³ãã«ã®åã«_ãä»ããªãããåé¤ï¼
+  
+2012/02/02
+ã»core_config.h
+  ã»x_set_ipm()ã§ï¼iipmã'0'(IIPM_ENAALL)ã®æã®åé¡ãä¿®æ­£ï¼
+ã»core_support.S
+  ã»toppers_asm_custom_idleã®åå¾ã§ä½¿ç¨ããã¬ã¸ã¹ã¿ãå¤æ´ï¼ãã®å¤æ´ã«
+    ããï¼toppers_asm_custom_idle ã§é¢æ°å¼ã³åºããããå ´åã¯ï¼ã¢ã»ã³ã
+    ã©ã¬ãã«ã§ã®ã¬ã¸ã¹ã¿ã®ä¿å­ãå¿
+è¦ãªããªã£ãï¼
+    
+2012/02/23
+ã»core_support.S
+  ã»core_exc_entryã§basepriãèª­ã¿è¾¼ãã ãã¨ï¼å
+¨å²è¾¼ã¿ã­ãã¯ç¶æ
+ã®ãã§
+    ãã¯ããã«ä¸æ¸ããã¦ããåé¡ãä¿®æ­£
+  ã»call_texrtnã¨call_texrtnã®å¼ã³åºããbå½ä»¤ã§è¨è¿°ããã¨ï¼16bitå½ä»¤ã¨
+    ãã¦è§£éããã³ã³ãã¤ã©ãããããï¼ã¡ã¢ãªé
+ç½®ã«ãã£ã¦ã¯ã¬ã³ã¸ãè¶³ã
+    ãªããªãï¼bxå½ä»¤ã«å¤æ´ãããã¨ã§åé¡ãä¿®æ­£ï¼
+
+2012/01/31
+ã»core_timer.c
+ ã»ã¿ã¤ãå²è¾¼ã¿ãã³ãã©ã«ã¦ï¼probe_int ã®ããï¼COUNTFLAGãã¯ãªã¢ããã
+   ãã«èª­ã¿è¾¼ãã§ããã¬ã¸ã¹ã¿ãèª¤ã£ã¦ããåé¡ãä¿®æ­£ï¼
+ 
+2011/12/03
+ã»core_test.h ã®å¤éã¤ã³ã¯ã«ã¼ãé²æ­¢ãã¯ã­ã®åç§°ä¿®æ­£
+ ã»CHIP ã CORE ã«ä¿®æ­£ï¼
+
+ã»ARMCCå¯¾å¿ã«ä¼´ãå¤æ´
+  ã»core_asm.inc(è¿½å )
+    ã»GCCã®ã¢ã»ã³ãã©ã®ãã£ã¬ã¯ãã£ãã®å®ç¾©ãè¨è¿°ãããã¡ã¤ã«ãè¿½å ï¼
+  ã»core_config.h(å¤æ´)
+    ã»core_insn.h ã®ã¤ã³ã¯ã«ã¼ãæ¹æ³ã""ãã<>ã«å¤æ´ãã¦ï¼ã³ã³ãã¤ã©ã®
+      å¼æ°ã§æå®ãããé ã§ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ããµã¼ãããããå¤æ´ï¼
+   ã»ã¡ã¢ãªããªã¢å½ä»¤(Asm("":::"memory"))ããã¯ã­åãã¦core_insn.h ã«
+     å®ç¾©ãä½¿ç¨ããããå¤æ´ï¼     
+  ã»core_insn.h(å¤æ´)
+   ã»ã¡ã¢ãªããªã¢å½ä»¤(Asm("":::"memory"))ã®ãã¯ã­å®ç¾©ãè¿½å 
+  ã»core_support.S(å¤æ´)
+   ã»ARMCCã¨ãã¡ã¤ã«ãå
+±æããããï¼ãã£ã¬ã¯ãã£ãããã¯ã­ã«æ¸ãæãï¼      
+  ã»start.S(å¤æ´)
+   ã»ARMCCã¨ãã¡ã¤ã«ãå
+±æããããï¼ãã£ã¬ã¯ãã£ãããã¯ã­ã«æ¸ãæãï¼  
+   
+2011/07/26
+ã»CCRã®STKALIGNã'1'ã®å ´åã¸ã®å¯¾å¿
+  å²è¾¼ã¿ã»ä¾å¤ã®åºå
+¥å£å¦çã§ã¯ï¼ã¹ã¿ãã¯ã¯å¸¸ã«8byteå¢çã¨ãªãããã«å¤
+  æ´ï¼
+  
+2011/07/25
+ã»CPUä¾å¤ã®åªå
+åº¦ã®åæå
+  CPUã­ãã¯ã§ãã¹ã¯ã§ããªãåªå
+åº¦ï¼å
+é¨åªå
+åº¦0ï¼ã«åæåããå¦çãè¿½å ï¼
+  
+ã»CFG_INTã§ä½¿ç¨ã§ããå²è¾¼ã¿åªå
+åº¦ã®æå¤§å¤ã®ä¿®æ­£(core.tf)
+  ã»æå¤§å¤ã1ã¤å¤§ããªå¤ã¨ãªã£ã¦ããï¼
+  
+ã»ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ã®æ±ãã®å¤æ´
+  ã»å
+±éé¨ã§ã®æ±ãã®å¤æ´ã«ä¼´ãå¤æ´ï¼
+  
+ã»ã¿ã¤ãå²è¾¼ã¿ãã³ãã©ã§ã®COUNTFLAGã®ã¯ãªã¢å¦çã®ä¿®æ­£
+  SYSTIC_CONTROL_STATUSã¬ã¸ã¹ã¿ã®COUNTFLAGãã¯ãªã¢ããã«ã¯ï¼
+  SYSTIC_CURRENT_VALUEã¬ã¸ã¹ã¿ãèª­ã¿è¾¼ãå¿
+è¦ããããï¼èª¤ã£ã¦
+  SYSTIC_CONTROL_STATUSã¬ã¸ã¹ã¿ãèª­ã¿è¾¼ãã§ããï¼
+
+ã»core_int_entryã«ãããbasepriã®è¨­å®
+  NVICåªå
+åº¦ãã¹ã¯ãèªåçã«è¨­å®ãããããåªå
+åº¦ãã¹ã¯ã®ç¹ã§ã¯å¿
+è¦ãª
+  ããï¼x_get_ipm()ãbasepriãåç
+§ããããï¼basepriãæ´æ°ããããå¤æ´ï¼
+
+2011/07/24
+ã»_ret_int_2/svc_handler ã®å¤æ´
+  å²è¾¼ã¿åªå
+åº¦ãã¹ã¯ãå
+¨è§£é¤ç¶æ
+ã§ããã¿ã¹ã¯ä¾å¤ãå¼ã³åºããªãããã«
+  ä»æ§ãå¤æ´ãããããï¼_ret_int_2ã§ã¯ï¼å²è¾¼ã¿åªå
+åº¦ãã¹ã¯ãï¼å
+¨è§£é¤
+  ç¶æ
+ï¼TIPM_ENAALLï¼ã«è¨­å®ããããå¤æ´ï¼
+  svc_handlerã¯ã¿ã¹ã¯ã«ãªã¿ã¼ã³ããæã«basepriãIIPM_ENAALLã«ãããã
+  ã«å¤æ´ï¼
+  
+ã»x_config_int()/set_exc_int_priority()ã®ä¿®æ­£  
+  x_config_int()ããï¼set_exc_int_priority()ã«å¯¾ãã¦å¤é¨åªå
+åº¦ãå¼æ°ã«
+  ãã¦å¼ã³åºãããããï¼å
+é¨åªå
+åº¦ãå¼æ°ã§å¼ã³åºãããä¿®æ­£ï¼
+  set_exc_int_priority()ãåãåã£ãå¼æ°ãå
+é¨åªå
+åº¦ã¨ãã¦åªå
+åº¦ãè¨­å®
+  ããããã«ä¿®æ­£ï¼
+
+2011/07/23
+ã»å
+±éé¨ã1.4.0ã«update.
+
+ã»armä¾å­é¨ã¨åæ§ã«ãããä¾å­é¨ãç½®ããããã«ãã£ã¬ã¯ããªæ§é ãå¤æ´
+
+ã»armä¾å­é¨ã¨åæ§ã«ãã¡ã¤ã«åã®ããªãã£ãã¯ã¹ãcoreã«å¤æ´ï¼
+
+ã»call_atexitã®åé¤
+  software_term_hook ã®å¼ã³åºãã¯ï¼core_terminate()ã«ç§»åï¼
+  
+ã»å
+±éé¨ã1.7.0ã«update.  
+
+ã»ã¿ã¹ã¯ã³ã³ãã­ã¹ããã­ãã¯ã®ååã®å¤æ´
+  CTXBåãTSKCTXBåã«åç§°å¤æ´ï¼
+
+ã»ã¿ã¼ã²ããä¾å­é¨ã§ãµãã¼ãããæ©è½ãç¤ºããã¯ã­ã®å¤æ´
+  TOPPERS_SUPPORT_DIS_INTãTOPPERS_TARGET_SUPPORT_DIS_INTã«ï¼
+  TOPPERS_SUPPORT_ENA_INTãTOPPERS_TARGET_SUPPORT_ENA_INTã«ï¼
+  å¤æ´ï¼
+  
+ã»exc_sense_unlockã®å®ç¾©ãåé¤ï¼  
+  
+ã»ãªãã»ãããã¡ã¤ã«ãã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã§çæããæ¹æ³ã¸ã®å¯¾å¿
+
+ã»CHECK_FUNC_ALIGNï¼CHECK_FUNC_NONNULLï¼CHECK_STACK_ALIGNï¼
+  CHECK_STACK_NONNULLï¼CHECK_MPF_ALIGNï¼CHECK_MPF_NONNULLã®å®ç¾©ãï¼ã¿
+  ã¼ã²ããä¾å­é¨ã®ãã³ãã¬ã¼ããã¡ã¤ã«ï¼ãã¹3ï¼ããããããã¡ã¤ã«ã«ç§»
+  åï¼
+
+ã»å²è¾¼ã¿ã¨ä¾å¤ã®å
+¥ãå£å¦çã®ååãå¤æ´
+  int_entryãcore_int_entryã¸exc_entryãcore_exc_entryã«å¤æ´ï¼
+  ãªãã»ããã®åå¾æ¹æ³ãå¤æ´ã¨ãªã£ãããï¼å
+ã®ååã®ã¾ã¾ã ã¨cfg1_out.c
+  ãã³ã³ãã¤ã«ã¨ã©ã¼ã¨ãªãããã«å¤æ´ï¼
+  
+ã»ã¿ã¼ã²ããä¾å­é¨ã§å®ç¾©ããåç§°ã®ãªãã¼ã ã®è¿½å 
+
+ã»call_texrtnãå¼ã³åºãæ¡ä»¶ã«ãipmflgãtrueããè¿½å 
+ 
+ã»ã«ã¼ãã«ç®¡çå¤ã®CPUä¾å¤ã®æ±ãã®å¤æ´
+
+2011/07/22
+ã»x_disable_int() : prc_config.h ã®ä¿®æ­£   
+ å²è¾¼ã¿ç¦æ­¢ã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹ãåå¾ããéã«ï¼ãã¼ã¹ã®å¤ãuint32_tã®
+ ãã¤ã³ã¿ã«ã­ã£ã¹ããã¦ããªã£ãããï¼æ­£ããã¢ãã¬ã¹ãçæã§ãã¦ããª
+ ãã£ãåé¡ãä¿®æ­£ï¼
+ 
+ã»éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã®ã¹ã¿ãã¯ã®åæå¤ãã¯ã­(TOPPERS_ISTKPT)ã®ä¿®æ­£ 
+  : prc_config.h
+ ãã¤ãåä½ã§åå¾ããããã«ï¼(char_t *) ã«ã­ã£ã¹ããã¦æ²è¼ããããã«ä¿®
+ æ­£ï¼
+  
+ã»LOG_INH_ENTRYã¨LOG_INH_LEAVEã®èª¤è¨ : prc_support.S
+  LOG_INH_ENTRYã¨LOG_INH_LEAVEã§ããã¹ãç®æã LOG_EXC_ENTRYã¨
+  LOG_EXC_ENTRYã«ãªã£ã¦ããåé¡ãä¿®æ­£ï¼
+
+ã»TOPPERS_CUSTOM_IDLE ã®typoã®ä¿®æ­£ : prc_support.S
+
+ã»svn_hanlderã®ä¿®æ­£ :  prc_support.S
+  ä¸å¾EXC_FRAME_SIZEåã®ã¹ã¿ãã¯ãæ¨ã¦ã¦ãããï¼Configureation and 
+  Control Register(CCR)ã®STKALIGNã'1'ã®å ´  åã¯ï¼8byteå¢çã«ã¢ã©ã¤ã³
+  ãããããï¼æ¨ã¦ããµã¤ãºãç°ãªãï¼ã¢ã©ã¤ã³ããããã¯ï¼xPSRã®9ãã
+  ãããã§ãã¯ãããã¨ã«ããå¤å®ããï¼
+  
+ã»prc.tfã®ä¿®æ­£
+  boostã®ãã¼ã¸ã§ã³ã«ãã£ã¦å¤ããæåãå¸åï¼
+  http://www.toppers.jp/TOPPERS-USERS/201004/msg00034.html
+  
+ã»_kernel_istkpt ã®åé¤ : prc_cfg1_out.h
+  _kernel_istkpt ãå¿
+è¦ãªãã¿ã¼ã²ãããå­å¨ããããï¼å¿
+è¦ãªãï¼ã¿ã¼ã²
+  ããä¾å­é¨ã§å®ç¾©ããããã«å¤æ´ï¼
+
+2008/08/22
+ã»prc_user.txt/prc_design.txt
+  ã»2008/8/21ã®æè¡æ¤è¨ä¼ã§ã®è­°è«çµæãåæ ï¼
+  
+ã»prc_support.S/prc_config.c/prc_config.h/arm_m.h
+  ã»ã³ã³ãã­ã¹ãå¤å®ãexc_ncntããã¢ã¯ãã£ããªã¹ã¿ãã¯ã«å¤æ´
+  
+ã»prc_config.c
+  ã»set_exc_int_priority() ã§ãµãã¼ãå¯è½ãªIRQã®ä¸éã239ã«æ¡å¼µï¼
+  
+ã»start.S 
+  ã»èµ·åæã¯Threadã¢ã¼ããåæã¨ãã¦ãããã¨ãæè¨ï¼
+  ã»ãã¼ãã­ã¼ãã¼ç­ããèµ·åãããå ´åãæ³å®ãï¼MSPãæå¹ã«ããããã«
+    å¤æ´ï¼
+    
+ã»prc_timer.c
+  ã»ã³ã¡ã³ããä¿®æ­£
+  ã»ãããã°ç¨ã³ã¼ããåé¤
+
+2008/07/11
+ã»æåã®ãªãªã¼ã¹
Index: /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/start.S
===================================================================
--- /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/start.S	(revision 85)
+++ /asp_ccsproject/trunk/asp/arch/arm_m_gcc/common/start.S	(revision 85)
@@ -0,0 +1,160 @@
+/*
+ *  TOPPERS Software
+ *      Toyohashi Open Platform for Embedded Real-Time Systems
+ * 
+ *  Copyright (C) 2008 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
+ *  å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
+ *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ãã
+ *      å
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
+ *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
+ *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
+ *  ã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: start.S 2268 2011-11-22 16:22:45Z ertl-honda $
+ */
+                
+/*
+ *   ã«ã¼ãã«ç¨ã®ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«(ARM-Mç¨)
+ */
+#define TOPPERS_MACRO_ONLY
+#define UINT_C(val)		(val)		/* uint_tåã®å®æ°ãä½ããã¯ã­ */
+#define ULONG_C(val)	(val)		/* ulong_tåã®å®æ°ãä½ããã¯ã­ */
+#define CAST(type, val)	(val)		/* åã­ã£ã¹ããè¡ããã¯ã­ */
+
+#include "kernel_impl.h"
+#include "arm_m.h"
+#include "target_asm.inc"
+
+/*
+ *  ã¹ã¿ã¼ãã¢ããã«ã¼ãã³
+ *
+ *  Threadã¢ã¼ãã§å¼ã³åºããããã¨ãåæã¨ãã¦ãï¼
+ */
+	ATEXT
+	AALIGN(2)
+	ATHUMB(_start)
+	AGLOBAL(_start) 
+ALABEL(_start)
+	cpsid f                 /* å²è¾¼ã¿ã­ãã¯ç¶æ
+ã¸ */
+
+#ifdef INIT_MSP
+	/*
+	 * MSPã®è¨­å®
+	 */
+	mov   r0, #CONTROL_MSP  /* MSPãæå¹ã«  */
+	msr   control, r0
+	isb                     /* control ã®æä½å¾ã«å¿
+è¦ */
+	ldr  r0,=_kernel_istkpt
+	ldr  r1,[r0]
+	msr  msp, r1
+#endif /* INIT_MSP */
+
+	/*
+	 * hardware_init_hookã®å¼ã³åºã ï¼0ã§ãªãå ´åï¼
+	 *
+	 * ã¿ã¼ã²ãããã¼ãã¦ã§ã¢ã«ä¾å­ãã¦å¿
+è¦ãªåæåå¦çãããå ´å
+	 * ã¯ï¼hardware_init_hook ã¨ããé¢æ°ãç¨æãã
+	 */
+	ldr  r0, =hardware_init_hook
+	cbz  r0, start_1
+	blx  r0
+
+ALABEL(start_1)
+#ifndef OMIT_BSS_INIT
+	/*
+	 *  BSSã»ã¯ã·ã§ã³åæå
+	 */
+	mov  r0, #0
+	ldr  r1, =BSS_START
+	ldr  r2, =BSS_END
+	cmp  r1, r2
+	bhs  start_3
+ALABEL(start_2)
+	str  r0, [r1]
+	add  r1,r1, #4    
+	cmp  r1, r2
+	blo  start_2
+#endif /* OMIT_BSS_INIT */
+
+
+ALABEL(start_3)
+#ifndef OMIT_DATA_INIT
+	/*
+	 *  DATAã»ã¯ã·ã§ã³åæå
+	 *  __idata_start ãã __idata_end ã¾ã§ãï¼__data_start ä»¥éã«
+	 *  ã³ãã¼ãã
+	 */
+	ldr  r1, =IDATA_START
+	ldr  r2, =IDATA_END
+	cmp  r1, r2
+	bhs  start_5
+	ldr  r3, =DATA_START
+ALABEL(start_4)
+	ldr  r0, [r1]
+	str  r0, [r3]
+	add  r1, #4
+	add  r3, #4
+	cmp  r1, r2
+	blo  start_4
+#endif /* OMIT_DATA_INIT */
+
+	/*
+	 *  software_init_hook ãå¼åºãï¼0 ã§ãªãå ´åï¼
+	 *
+	 *  ã½ããã¦ã§ã¢ç°å¢ï¼ç¹ã«ã©ã¤ãã©ãªï¼ã«ä¾å­ãã¦å¿
+è¦ãªåæåå¦
+	 *  çãããå ´åã¯ï¼software_init_hook ã¨ããé¢æ°ãç¨æããã°
+	 *  ããï¼
+	 */
+ALABEL(start_5)
+	ldr  r0, =software_init_hook
+	cbz  r0, start_6
+	blx  r0
+
+ALABEL(start_6)
+	bl   sta_ker
+
+ALABEL(l_end)
+	b   l_end
Index: /asp_ccsproject/trunk/asp/sample/Makefile
===================================================================
--- /asp_ccsproject/trunk/asp/sample/Makefile	(revision 85)
+++ /asp_ccsproject/trunk/asp/sample/Makefile	(revision 85)
@@ -0,0 +1,591 @@
+#
+#  TOPPERS/ASP Kernel
+#      Toyohashi Open Platform for Embedded Real-Time Systems/
+#      Advanced Standard Profile Kernel
+# 
+#  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+#                              Toyohashi Univ. of Technology, JAPAN
+#  Copyright (C) 2006-2014 by Embedded and Real-Time Systems Laboratory
+#              Graduate School of Information Science, Nagoya Univ., JAPAN
+# 
+#  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+#  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
+#  å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+#  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+#      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+#      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+#  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+#      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+#      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+#      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+#      ã¨ï¼
+#    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+#        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+#    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+#        å ±åãããã¨ï¼
+#  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+#      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+#      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
+#      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ãã
+#      å
+è²¬ãããã¨ï¼
+# 
+#  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+#  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
+#  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
+#  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
+#  ã®è²¬ä»»ãè² ããªãï¼
+# 
+#  $Id: Makefile 2594 2014-01-02 07:08:54Z ertl-hiro $
+# 
+
+#
+#  ã¿ã¼ã²ããã®æå®ï¼Makefile.targetã§ä¸æ¸ããããã®ãé²ãããï¼
+#
+all:
+
+#
+#  ã¿ã¼ã²ããç¥ç§°ã®å®ç¾©
+#
+TARGET = @(TARGET)
+
+#
+#  ãã­ã°ã©ãã³ã°è¨èªã®å®ç¾©
+#
+SRCLANG = @(SRCLANG)
+ifeq ($(SRCLANG),c)
+  LIBS = -lc
+endif
+ifeq ($(SRCLANG),c++)
+  USE_CXX = true
+  CXXLIBS = -lstdc++ -lm -lc
+  CXXRTS = cxxrt.o newlibrt.o
+endif
+
+#
+#  ã½ã¼ã¹ãã¡ã¤ã«ã®ãã£ã¬ã¯ããªã®å®ç¾©
+#
+SRCDIR = @(SRCDIR)
+
+#
+#  ãªãã¸ã§ã¯ããã¡ã¤ã«åã®æ¡å¼µå­ã®è¨­å®
+#
+OBJEXT = @(OBJEXT)
+
+#
+#  å®è¡ç°å¢ã®å®ç¾©ï¼ã¿ã¼ã²ããä¾å­ã«ä¸æ¸ããããå ´åãããï¼
+#
+DBGENV := @(DBGENV)
+
+#
+#  ã«ã¼ãã«ã©ã¤ãã©ãªï¼libkernel.aï¼ã®ãã£ã¬ã¯ããªå
+#  ï¼ã«ã¼ãã«ã©ã¤ãã©ãªãmakeå¯¾è±¡ã«ããæã¯ï¼ç©ºã«å®ç¾©ããï¼
+#
+KERNEL_LIB = @(KERNEL_LIB)
+
+#
+#  ã«ã¼ãã«ãé¢æ°åä½ã§ã³ã³ãã¤ã«ãããã©ããã®å®ç¾©
+#
+KERNEL_FUNCOBJS = @(KERNEL_FUNCOBJS)
+
+#
+#  ãã¬ã¼ã¹ã­ã°ãåå¾ãããã©ããã®å®ç¾©
+#
+ENABLE_TRACE = @(ENABLE_TRACE)
+
+#
+#  ã¦ã¼ãã£ãªãã£ãã­ã°ã©ã ã®åç§°
+#
+PERL = @(PERL)
+CFG = @(CFG)
+
+#
+#  ãªãã¸ã§ã¯ããã¡ã¤ã«åã®å®ç¾©
+#
+OBJNAME = asp
+ifdef OBJEXT
+  OBJFILE = $(OBJNAME).$(OBJEXT)
+  CFG1_OUT = cfg1_out.$(OBJEXT)
+else
+  OBJFILE = $(OBJNAME)
+  CFG1_OUT = cfg1_out
+endif
+
+#
+#  ã¿ã¼ã²ããä¾å­é¨ã®ãã£ã¬ã¯ããªã®å®ç¾©
+#
+TARGETDIR = $(SRCDIR)/target/$(TARGET)
+
+#
+#  ã¿ã¼ã²ããä¾å­ã®å®ç¾©ã®ã¤ã³ã¯ã«ã¼ã
+#
+include $(TARGETDIR)/Makefile.target
+
+#
+#  ã³ã³ãã£ã®ã¥ã¬ã¼ã¿é¢ä¿ã®å¤æ°ã®å®ç¾©
+#
+CFG_TABS := --api-table $(SRCDIR)/kernel/kernel_api.csv \
+			--cfg1-def-table $(SRCDIR)/kernel/kernel_def.csv $(CFG_TABS)
+
+CFG_ASMOBJS := $(CFG_ASMOBJS)
+CFG_COBJS := kernel_cfg.o $(CFG_COBJS)
+CFG_OBJS := $(CFG_ASMOBJS) $(CFG_COBJS)
+CFG2_OUT_SRCS := kernel_cfg.h kernel_cfg.c $(CFG2_OUT_SRCS)
+
+#
+#  å
+±éã³ã³ãã¤ã«ãªãã·ã§ã³ã®å®ç¾©
+#
+COPTS := $(COPTS) -g @(COPTS)
+ifndef OMIT_WARNING_ALL
+  COPTS := $(COPTS) -Wall
+endif
+ifdef OMIT_OPTIMIZATION
+  COPTS := $(COPTS) -O0
+else
+  COPTS := $(COPTS) -O2
+endif
+CDEFS := $(CDEFS) @(CDEFS)
+INCLUDES := -I. -I$(SRCDIR)/include -I$(SRCDIR)/arch -I$(SRCDIR) $(INCLUDES)
+LDFLAGS := $(LDFLAGS) @(LDFLAGS)
+CFG1_OUT_LDFLAGS := $(CFG1_OUT_LDFLAGS) @(LDFLAGS)
+LIBS := $(LIBS) $(CXXLIBS)
+CFLAGS = $(COPTS) $(CDEFS) $(INCLUDES)
+
+#
+#  ã¢ããªã±ã¼ã·ã§ã³ãã­ã°ã©ã ã«é¢ããå®ç¾©
+#
+APPLNAME = @(APPLNAME)
+APPLDIR = @(APPLDIR)
+APPL_CFG = $(APPLNAME).cfg
+
+APPL_DIR = $(APPLDIR) $(SRCDIR)/library
+APPL_ASMOBJS =
+ifdef USE_CXX
+  APPL_CXXOBJS = $(APPLNAME).o @(APPLOBJS)
+  APPL_COBJS =
+else
+  APPL_COBJS = $(APPLNAME).o @(APPLOBJS)
+endif
+APPL_COBJS := $(APPL_COBJS) log_output.o vasyslog.o t_perror.o strerror.o
+APPL_CFLAGS =
+APPL_LIBS =
+ifdef APPLDIR
+  INCLUDES := $(INCLUDES) $(foreach dir,$(APPLDIR),-I$(dir))
+endif
+
+#
+#  ã·ã¹ãã ãµã¼ãã¹ã«é¢ããå®ç¾©
+#
+SYSSVC_DIR := $(SYSSVC_DIR) $(SRCDIR)/syssvc $(SRCDIR)/library
+SYSSVC_ASMOBJS := $(SYSSVC_ASMOBJS)
+SYSSVC_COBJS := $(SYSSVC_COBJS) banner.o syslog.o serial.o logtask.o \
+				@(SYSSVCOBJS) $(CXXRTS)
+SYSSVC_CFLAGS := $(SYSSVC_CFLAGS)
+SYSSVC_LIBS := $(SYSSVC_LIBS)
+INCLUDES := $(INCLUDES)
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+#  KERNEL_ASMOBJS: ã«ã¼ãã«ã©ã¤ãã©ãªã«å«ããï¼ã½ã¼ã¹ãã¢ã»ã³ããªè¨èªã®
+#				   ãªãã¸ã§ã¯ããã¡ã¤ã«ï¼
+#  KERNEL_COBJS: ã«ã¼ãã«ã®ã©ã¤ãã©ãªã«å«ããï¼ã½ã¼ã¹ãCè¨èªã§ï¼ã½ã¼ã¹
+#				 ãã¡ã¤ã«ã¨1å¯¾1ã«å¯¾å¿ãããªãã¸ã§ã¯ããã¡ã¤ã«ï¼
+#  KERNEL_LCSRCS: ã«ã¼ãã«ã®ã©ã¤ãã©ãªã«å«ããCè¨èªã®ã½ã¼ã¹ãã¡ã¤ã«ã§ï¼
+#				  1ã¤ã®ã½ã¼ã¹ãã¡ã¤ã«ããè¤æ°ã®ãªãã¸ã§ã¯ããã¡ã¤ã«ãç
+#				  æãããã®ï¼
+#  KERNEL_LCOBJS: ä¸ã®ã½ã¼ã¹ãã¡ã¤ã«ããçæããããªãã¸ã§ã¯ããã¡ã¤ã«ï¼
+#  KERNEL_AUX_COBJS: ã­ã¼ãã¢ã¸ã¥ã¼ã«ã«å«ããªããï¼ã«ã¼ãã«ã®ã½ã¼ã¹ãã¡
+#					 ã¤ã«ã¨åããªãã·ã§ã³ãé©ç¨ãã¦ã³ã³ãã¤ã«ãã¹ãï¼ã½ã¼
+#					 ã¹ãCè¨èªã®ãªãã¸ã§ã¯ããã¡ã¤ã«ï¼
+#
+KERNEL_DIR := $(KERNEL_DIR) $(SRCDIR)/kernel
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS)
+KERNEL_COBJS := $(KERNEL_COBJS)
+KERNEL_CFLAGS := $(KERNEL_CFLAGS) -I$(SRCDIR)/kernel
+ifdef OMIT_MAKEOFFSET
+  OFFSET_H =
+else
+  OFFSET_H = offset.h
+ifndef OFFSET_TF
+  KERNEL_AUX_COBJS := $(KERNEL_AUX_COBJS) makeoffset.o
+endif
+endif
+
+#
+#  ã¿ã¼ã²ãããã¡ã¤ã«ï¼è¤æ°ãåæã«é¸æãã¦ã¯ãªããªãï¼
+#
+all: $(OBJFILE)
+#all: $(OBJNAME).bin
+#all: $(OBJNAME).srec
+
+##### ä»¥ä¸ã¯ç·¨éããªããã¨ #####
+
+#
+#  ç°å¢ã«ä¾å­ããã³ã³ãã¤ã«ãªãã·ã§ã³ã®å®ç¾©
+#
+ifdef DBGENV
+  CDEFS := $(CDEFS) -D$(DBGENV)
+endif
+
+#
+#  ã«ã¼ãã«ã®ãã¡ã¤ã«æ§æã®å®ç¾©
+#
+include $(SRCDIR)/kernel/Makefile.kernel
+ifdef KERNEL_FUNCOBJS
+  KERNEL_LCSRCS := $(KERNEL_FCSRCS)
+  KERNEL_LCOBJS := $(foreach file,$(KERNEL_FCSRCS),$($(file:.c=)))
+else
+  KERNEL_CFLAGS := -DALLFUNC $(KERNEL_CFLAGS)
+  KERNEL_COBJS := $(KERNEL_COBJS) \
+					$(foreach file,$(KERNEL_FCSRCS),$(file:.c=.o))
+endif
+
+#
+#  ã½ã¼ã¹ãã¡ã¤ã«ã®ãããã£ã¬ã¯ããªã«é¢ããå®ç¾©
+#
+vpath %.c $(KERNEL_DIR) $(SYSSVC_DIR) $(APPL_DIR)
+vpath %.S $(KERNEL_DIR) $(SYSSVC_DIR) $(APPL_DIR)
+vpath %.cfg $(APPL_DIR)
+
+#
+#  ã³ã³ãã¤ã«ã®ããã®å¤æ°ã®å®ç¾©
+#
+KERNEL_LIB_OBJS = $(KERNEL_ASMOBJS) $(KERNEL_COBJS) $(KERNEL_LCOBJS)
+SYSSVC_OBJS = $(SYSSVC_ASMOBJS) $(SYSSVC_COBJS)
+APPL_OBJS = $(APPL_ASMOBJS) $(APPL_COBJS) $(APPL_CXXOBJS)
+ALL_OBJS = $(START_OBJS) $(APPL_OBJS) $(SYSSVC_OBJS) $(CFG_OBJS) \
+											$(END_OBJS) $(HIDDEN_OBJS)
+ifdef KERNEL_LIB
+  ALL_LIBS = $(APPL_LIBS) $(SYSSVC_LIBS) -lkernel $(LIBS)
+  LIBS_DEP = $(filter %.a,$(ALL_LIBS)) $(KERNEL_LIB)/libkernel.a
+  LDFLAGS := $(LDFLAGS) -L$(KERNEL_LIB)
+  REALCLEAN_FILES := libkernel.a $(REALCLEAN_FILES)
+else
+  ALL_LIBS = $(APPL_LIBS) $(SYSSVC_LIBS) libkernel.a $(LIBS)
+  LIBS_DEP = $(filter %.a,$(ALL_LIBS))
+endif
+
+ifdef TEXT_START_ADDRESS
+  LDFLAGS := $(LDFLAGS) -Wl,-Ttext,$(TEXT_START_ADDRESS)
+  CFG1_OUT_LDFLAGS := $(CFG1_OUT_LDFLAGS) -Wl,-Ttext,$(TEXT_START_ADDRESS)
+endif
+ifdef DATA_START_ADDRESS
+  LDFLAGS := $(LDFLAGS) -Wl,-Tdata,$(DATA_START_ADDRESS)
+  CFG1_OUT_LDFLAGS := $(CFG1_OUT_LDFLAGS) -Wl,-Tdata,$(DATA_START_ADDRESS)
+endif
+ifdef LDSCRIPT
+  LDFLAGS := $(LDFLAGS) -T $(LDSCRIPT)
+  CFG1_OUT_LDFLAGS := $(CFG1_OUT_LDFLAGS) -T $(LDSCRIPT)
+endif
+
+#
+#  ãªãã»ãããã¡ã¤ã«ï¼offset.hï¼ã®çæè¦å
+#
+ifdef OFFSET_TF
+offset.h: $(APPL_CFG) kernel_cfg.timestamp
+	$(CFG) --pass 3 --kernel asp $(INCLUDES) \
+				--rom-image cfg1_out.srec --symbol-table cfg1_out.syms \
+				-T $(OFFSET_TF) $(CFG_TABS) $<
+else
+offset.h: makeoffset.s $(SRCDIR)/utils/genoffset
+	$(PERL) $(SRCDIR)/utils/genoffset makeoffset.s > offset.h
+endif
+
+#
+#  ã«ã¼ãã«ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ã®çæ
+#
+cfg1_out.c: $(APPL_CFG)
+	$(CFG) --pass 1 --kernel asp $(INCLUDES) $(CFG_TABS) $<
+
+$(CFG2_OUT_SRCS): kernel_cfg.timestamp
+kernel_cfg.timestamp: $(APPL_CFG) \
+						$(START_OBJS) cfg1_out.o $(END_OBJS) $(HIDDEN_OBJS)
+	$(LINK) $(CFLAGS) $(CFG1_OUT_LDFLAGS) -o $(CFG1_OUT) \
+						$(START_OBJS) cfg1_out.o $(END_OBJS)
+	$(NM) -n $(CFG1_OUT) > cfg1_out.syms
+	$(OBJCOPY) -O srec -S $(CFG1_OUT) cfg1_out.srec
+	$(CFG) --pass 2 --kernel asp $(INCLUDES) \
+				-T $(TARGETDIR)/target.tf $(CFG_TABS) $<
+	touch -r kernel_cfg.c kernel_cfg.timestamp
+
+#
+#  ã«ã¼ãã«ã©ã¤ãã©ãªãã¡ã¤ã«ã®çæ
+#
+libkernel.a: $(OFFSET_H) $(KERNEL_LIB_OBJS)
+	rm -f libkernel.a
+	$(AR) -rcs libkernel.a $(KERNEL_LIB_OBJS)
+	$(RANLIB) libkernel.a
+
+#
+#  ç¹å¥ãªä¾å­é¢ä¿ã®å®ç¾©
+#
+banner.o: kernel_cfg.timestamp $(filter-out banner.o,$(ALL_OBJS)) $(LIBS_DEP)
+
+#
+#  å
+¨ä½ã®ãªã³ã¯
+#
+$(OBJFILE): $(APPL_CFG) kernel_cfg.timestamp $(ALL_OBJS) $(LIBS_DEP)
+	$(LINK) $(CFLAGS) $(LDFLAGS) -o $(OBJFILE) $(START_OBJS) \
+			$(APPL_OBJS) $(SYSSVC_OBJS) $(CFG_OBJS) $(ALL_LIBS) $(END_OBJS)
+	$(NM) -n $(OBJFILE) > $(OBJNAME).syms
+	$(OBJCOPY) -O srec -S $(OBJFILE) $(OBJNAME).srec
+	$(CFG) --pass 3 --kernel asp $(INCLUDES) \
+				--rom-image $(OBJNAME).srec --symbol-table $(OBJNAME).syms \
+				-T $(TARGETDIR)/target_check.tf $(CFG_TABS) $<
+
+#
+#  ãã¤ããªãã¡ã¤ã«ã®çæ
+#
+$(OBJNAME).bin: $(OBJFILE)
+	$(OBJCOPY) -O binary -S $(OBJFILE) $(OBJNAME).bin
+
+#
+#  Sã¬ã³ã¼ããã¡ã¤ã«ã®çæ
+#
+$(OBJNAME).srec: $(OBJFILE)
+	$(OBJCOPY) -O srec -S $(OBJFILE) $(OBJNAME).srec
+
+#
+#  ã³ã³ãã¤ã«çµæã®æ¶å»
+#
+.PHONY: clean
+clean:
+	rm -f \#* *~ *.o $(CLEAN_FILES)
+	rm -f $(OBJFILE) $(OBJNAME).syms $(OBJNAME).srec $(OBJNAME).bin
+	rm -f kernel_cfg.timestamp $(CFG2_OUT_SRCS)
+	rm -f cfg1_out.c $(CFG1_OUT) cfg1_out.syms cfg1_out.srec
+ifndef KERNEL_LIB
+	rm -f libkernel.a
+endif
+	rm -f makeoffset.s offset.h
+
+.PHONY: cleankernel
+cleankernel:
+	rm -rf $(KERNEL_LIB_OBJS)
+	rm -f makeoffset.s offset.h
+
+.PHONY: cleandep
+cleandep:
+	if ! [ -f Makefile.depend ]; then \
+		rm -f kernel_cfg.timestamp $(CFG2_OUT_SRCS); \
+		rm -f cfg1_out.c cfg1_out.o $(CFG1_OUT) cfg1_out.syms cfg1_out.srec; \
+		rm -f makeoffset.s offset.h; \
+	fi
+	rm -f Makefile.depend
+
+.PHONY: realclean
+realclean: cleandep clean
+	rm -f $(REALCLEAN_FILES)
+
+#
+#  ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ãçæãããã¡ã¤ã«ã®ã³ã³ãã¤ã«ã«ã¼ã«ã¨ä¾å­é¢ä¿ä½æ
+#  ã«ã¼ã«ã®å®ç¾©
+#
+#  ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ãçæãããã¡ã¤ã«ã¯ï¼ã¢ããªã±ã¼ã·ã§ã³ãã­ã°ã©ã ç¨ï¼
+#  ã·ã¹ãã ãµã¼ãã¹ç¨ï¼ã«ã¼ãã«ç¨ã®ãã¹ã¦ã®ãªãã·ã§ã³ãä»ãã¦ã³ã³ãã¤ã«
+#  ããï¼
+#
+ALL_CFG_COBJS = $(CFG_COBJS) cfg1_out.o
+ALL_CFG_ASMOBJS = $(CFG_ASMOBJS)
+CFG_CFLAGS = $(APPL_CFLAGS) $(SYSSVC_CFLAGS) $(KERNEL_CFLAGS)
+
+$(ALL_CFG_COBJS): %.o: %.c
+	$(CC) -c $(CFLAGS) $(CFG_CFLAGS) $<
+
+$(ALL_CFG_COBJS:.o=.s): %.s: %.c
+	$(CC) -S $(CFLAGS) $(CFG_CFLAGS) $<
+
+$(ALL_CFG_COBJS:.o=.d): %.d: %.c
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) $(MAKEDEP_OPTS) \
+		-O "$(CFLAGS) $(CFG_CFLAGS)" $< >> Makefile.depend
+
+$(ALL_CFG_ASMOBJS): %.o: %.S
+	$(CC) -c $(CFLAGS) $(CFG_CFLAGS) $<
+
+$(ALL_CFG_ASMOBJS:.o=.d): %.d: %.S
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) $(MAKEDEP_OPTS) \
+		-O "$(CFLAGS) $(CFG_CFLAGS)" $< >> Makefile.depend
+
+#
+#  ç¹æ®ãªä¾å­é¢ä¿ä½æã«ã¼ã«ã®å®ç¾©
+#
+cfg1_out.depend: $(APPL_CFG)
+	@$(CFG) -M cfg1_out.c $(INCLUDES) $< >> Makefile.depend
+
+makeoffset.d: makeoffset.c
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) $(MAKEDEP_OPTS) \
+		-T "makeoffset.s" -O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
+
+#
+#  ä¾å­é¢ä¿ãã¡ã¤ã«ã®çæ
+#
+.PHONY: gendepend
+gendepend:
+	@echo "Generating Makefile.depend."
+
+.PHONY: depend
+ifdef KERNEL_LIB
+depend: cleandep kernel_cfg.timestamp gendepend \
+		cfg1_out.depend cfg1_out.d \
+		$(ALL_OBJS:.o=.d)
+else
+depend: cleandep $(OFFSET_H) kernel_cfg.timestamp gendepend \
+		cfg1_out.depend cfg1_out.d \
+		$(KERNEL_AUX_COBJS:.o=.d) $(KERNEL_ASMOBJS:.o=.d) \
+		$(KERNEL_COBJS:.o=.d) $(KERNEL_LCSRCS:.c=.d) $(ALL_OBJS:.o=.d)
+endif
+
+#
+#  ä¾å­é¢ä¿ãã¡ã¤ã«ãã¤ã³ã¯ã«ã¼ã
+#
+-include Makefile.depend
+
+#
+#  éçºãã¼ã«ã®ã³ãã³ãåã®å®ç¾©
+#
+ifeq ($(TOOL),gcc)
+  #
+  #  GNUéçºç°å¢ç¨
+  #
+  ifdef GCC_TARGET
+    GCC_TARGET_PREFIX = $(GCC_TARGET)-
+  else
+    GCC_TARGET_PREFIX =
+  endif
+  CC = $(GCC_TARGET_PREFIX)gcc
+  CXX = $(GCC_TARGET_PREFIX)g++
+  AS = $(GCC_TARGET_PREFIX)as
+  LD = $(GCC_TARGET_PREFIX)ld
+  AR = $(GCC_TARGET_PREFIX)ar
+  NM = $(GCC_TARGET_PREFIX)nm
+  RANLIB = $(GCC_TARGET_PREFIX)ranlib
+  OBJCOPY = $(GCC_TARGET_PREFIX)objcopy
+  OBJDUMP = $(GCC_TARGET_PREFIX)objdump
+endif
+
+ifdef USE_CXX
+  LINK = $(CXX)
+else
+  LINK = $(CC)
+endif
+
+#
+#  ã³ã³ãã¤ã«ã«ã¼ã«ã®å®ç¾©
+#
+KERNEL_ALL_COBJS = $(KERNEL_COBJS) $(KERNEL_AUX_COBJS)
+
+$(KERNEL_ALL_COBJS): %.o: %.c
+	$(CC) -c $(CFLAGS) $(KERNEL_CFLAGS) $<
+
+$(KERNEL_ALL_COBJS:.o=.s): %.s: %.c
+	$(CC) -S $(CFLAGS) $(KERNEL_CFLAGS) $<
+
+$(KERNEL_LCOBJS): %.o:
+	$(CC) -DTOPPERS_$(*F) -o $@ -c $(CFLAGS) $(KERNEL_CFLAGS) $<
+
+$(KERNEL_LCOBJS:.o=.s): %.s:
+	$(CC) -DTOPPERS_$(*F) -o $@ -S $(CFLAGS) $(KERNEL_CFLAGS) $<
+
+$(KERNEL_ASMOBJS): %.o: %.S
+	$(CC) -c $(CFLAGS) $(KERNEL_CFLAGS) $<
+
+$(SYSSVC_COBJS): %.o: %.c
+	$(CC) -c $(CFLAGS) $(SYSSVC_CFLAGS) $<
+
+$(SYSSVC_COBJS:.o=.s): %.s: %.c
+	$(CC) -S $(CFLAGS) $(SYSSVC_CFLAGS) $<
+
+$(SYSSVC_ASMOBJS): %.o: %.S
+	$(CC) -c $(CFLAGS) $(SYSSVC_CFLAGS) $<
+
+$(APPL_COBJS): %.o: %.c
+	$(CC) -c $(CFLAGS) $(APPL_CFLAGS) $<
+
+$(APPL_COBJS:.o=.s): %.s: %.c
+	$(CC) -S $(CFLAGS) $(APPL_CFLAGS) $<
+
+$(APPL_CXXOBJS): %.o: %.cpp
+	$(CXX) -c $(CFLAGS) $(APPL_CFLAGS) $<
+
+$(APPL_CXXOBJS:.o=.s): %.s: %.cpp
+	$(CXX) -S $(CFLAGS) $(APPL_CFLAGS) $<
+
+$(APPL_ASMOBJS): %.o: %.S
+	$(CC) -c $(CFLAGS) $(APPL_CFLAGS) $<
+
+#
+#  ä¾å­é¢ä¿ä½æã«ã¼ã«ã®å®ç¾©
+#
+$(KERNEL_COBJS:.o=.d): %.d: %.c
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) $(MAKEDEP_OPTS) \
+		-O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
+
+$(KERNEL_LCSRCS:.c=.d): %.d: %.c
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) $(MAKEDEP_OPTS) -T "$($*)" \
+		-O "-DALLFUNC $(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
+
+$(KERNEL_ASMOBJS:.o=.d): %.d: %.S
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) $(MAKEDEP_OPTS) \
+		-O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
+
+$(SYSSVC_COBJS:.o=.d): %.d: %.c
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) $(MAKEDEP_OPTS) \
+		-O "$(CFLAGS) $(SYSSVC_CFLAGS)" $< >> Makefile.depend
+
+$(SYSSVC_ASMOBJS:.o=.d): %.d: %.S
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) $(MAKEDEP_OPTS) \
+		-O "$(CFLAGS) $(SYSSVC_CFLAGS)" $< >> Makefile.depend
+
+$(APPL_COBJS:.o=.d): %.d: %.c
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) $(MAKEDEP_OPTS) \
+		-O "$(CFLAGS) $(APPL_CFLAGS)" $< >> Makefile.depend
+
+$(APPL_CXXOBJS:.o=.d): %.d: %.cpp
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CXX) $(MAKEDEP_OPTS) \
+		-O "$(CFLAGS) $(APPL_CFLAGS)" $< >> Makefile.depend
+
+$(APPL_ASMOBJS:.o=.d): %.d: %.S
+	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) $(MAKEDEP_OPTS) \
+		-O "$(CFLAGS) $(APPL_CFLAGS)" $< >> Makefile.depend
+
+#
+#  ããã©ã«ãã³ã³ãã¤ã«ã«ã¼ã«ãä¸æ¸ã
+#
+%.o: %.c
+	@echo "*** Default compile rules should not be used."
+	$(CC) -c $(CFLAGS) $<
+
+%.s: %.c
+	@echo "*** Default compile rules should not be used."
+	$(CC) -S $(CFLAGS) $<
+
+%.o: %.cpp
+	@echo "*** Default compile rules should not be used."
+	$(CXX) -c $(CFLAGS) $<
+
+%.s: %.cpp
+	@echo "*** Default compile rules should not be used."
+	$(CXX) -S $(CFLAGS) $<
+
+%.o: %.S
+	@echo "*** Default compile rules should not be used."
+	$(CC) -c $(CFLAGS) $<
Index: /asp_ccsproject/trunk/asp/sample/sample1.c
===================================================================
--- /asp_ccsproject/trunk/asp/sample/sample1.c	(revision 85)
+++ /asp_ccsproject/trunk/asp/sample/sample1.c	(revision 85)
@@ -0,0 +1,111 @@
+/*
+ *  TOPPERS/ASP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Advanced Standard Profile Kernel
+ * 
+ *  Copyright (C) 2014 by ECS, JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
+ *  å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
+ *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ãã
+ *      å
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
+ *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
+ *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
+ *  ã®è²¬ä»»ãè² ããªãï¼
+ * 
+ */
+
+#include <kernel.h>
+#include <t_syslog.h>
+#include <t_stdlib.h>
+
+#include "syssvc/syslog.h"
+#include "kernel_cfg.h"
+#include "sample1.h"
+
+#include "inc/hw_types.h"
+#include "inc/hw_memmap.h"
+#include "driverlib/sysctl.h"
+#include "driverlib/gpio.h"
+
+#define RED_LED   GPIO_PIN_1
+#define BLUE_LED  GPIO_PIN_2
+#define GREEN_LED GPIO_PIN_3
+
+/*
+ *  ãµã¼ãã¹ã³ã¼ã«ã®ã¨ã©ã¼ã®ã­ã°åºå
+ */
+Inline void
+svc_perror(const char *file, int_t line, const char *expr, ER ercd)
+{
+	if (ercd < 0) {
+		t_perror(LOG_ERROR, file, line, expr, ercd);
+	}
+}
+
+#define	SVC_PERROR(expr)	svc_perror(__FILE__, __LINE__, #expr, (expr))
+
+/*
+ *  ã¡ã¤ã³ã¿ã¹ã¯
+ */
+void main_task(intptr_t exinf)
+{
+	syslog(LOG_NOTICE, "main task is running.");
+
+	/*
+	 * LEDç¨ã®GPIOãæå¹ã«ãã
+	 */
+	SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
+	GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE, RED_LED|BLUE_LED|GREEN_LED);
+
+	/*
+	 * LEDãé çªã«ç¹ç¯ããã
+	 */
+	while(1)
+	{
+		GPIOPinWrite(GPIO_PORTF_BASE, RED_LED|BLUE_LED|GREEN_LED, RED_LED);
+		SVC_PERROR(dly_tsk(500));
+
+		GPIOPinWrite(GPIO_PORTF_BASE, RED_LED|BLUE_LED|GREEN_LED, BLUE_LED);
+		SVC_PERROR(dly_tsk(500));
+
+		GPIOPinWrite(GPIO_PORTF_BASE, RED_LED|BLUE_LED|GREEN_LED, GREEN_LED);
+		SVC_PERROR(dly_tsk(500));
+	}
+}
Index: /asp_ccsproject/trunk/asp/sample/sample1.cfg
===================================================================
--- /asp_ccsproject/trunk/asp/sample/sample1.cfg	(revision 85)
+++ /asp_ccsproject/trunk/asp/sample/sample1.cfg	(revision 85)
@@ -0,0 +1,13 @@
+/*
+ *  @(#) $Id: sample1.cfg 718 2008-01-01 12:30:48Z hiro $
+ */
+
+/*
+ *  ãµã³ãã«ãã­ã°ã©ã (1)ã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+INCLUDE("target_timer.cfg");
+INCLUDE("syssvc/syslog.cfg");
+INCLUDE("syssvc/banner.cfg");
+
+#include "sample1.h"
+CRE_TSK(MAIN_TASK, { TA_ACT, 0, main_task, MAIN_PRIORITY, STACK_SIZE, NULL });
Index: /asp_ccsproject/trunk/asp/sample/sample1.h
===================================================================
--- /asp_ccsproject/trunk/asp/sample/sample1.h	(revision 85)
+++ /asp_ccsproject/trunk/asp/sample/sample1.h	(revision 85)
@@ -0,0 +1,83 @@
+/*
+ *  TOPPERS/ASP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Advanced Standard Profile Kernel
+ *
+ *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+ *                              Toyohashi Univ. of Technology, JAPAN
+ *
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
+ *  å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
+ *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ãã
+ *      å
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
+ *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
+ *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
+ *  ã®è²¬ä»»ãè² ããªãï¼
+ *
+ *  @(#) $Id: sample1.h 1716 2010-01-31 11:39:18Z ertl-hiro $
+ */
+
+/*
+ *		ãµã³ãã«ãã­ã°ã©ã (1)ã®ããããã¡ã¤ã«
+ */
+
+/*
+ *  ã¿ã¼ã²ããä¾å­ã®å®ç¾©
+ */
+#include "target_test.h"
+
+/*
+ *  åã¿ã¹ã¯ã®åªå
+åº¦ã®å®ç¾©
+ */
+
+#define MAIN_PRIORITY	5		/* ã¡ã¤ã³ã¿ã¹ã¯ã®åªå
+åº¦ */
+#ifndef STACK_SIZE
+#define	STACK_SIZE		4096		/* ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº */
+#endif /* STACK_SIZE */
+
+/*
+ *  é¢æ°ã®ãã­ãã¿ã¤ãå®£è¨
+ */
+#ifndef TOPPERS_MACRO_ONLY
+
+extern void	main_task(intptr_t exinf);
+
+#endif /* TOPPERS_MACRO_ONLY */
Index: /asp_ccsproject/trunk/asp/target/lm4f120_gcc/E_PACKAGE
===================================================================
--- /asp_ccsproject/trunk/asp/target/lm4f120_gcc/E_PACKAGE	(revision 85)
+++ /asp_ccsproject/trunk/asp/target/lm4f120_gcc/E_PACKAGE	(revision 85)
@@ -0,0 +1,8 @@
+E_PACKAGE asp_lm4f120_gcc
+VERSION %date
+
+INCLUDE MANIFEST
+INCLUDE ../../MANIFEST
+INCLUDE ../../arch/arm_m_gcc/MANIFEST
+INCLUDE ../../cfg/MANIFEST
+../../cfg/cfg/cfg.exe
Index: /asp_ccsproject/trunk/asp/target/lm4f120_gcc/MANIFEST
===================================================================
--- /asp_ccsproject/trunk/asp/target/lm4f120_gcc/MANIFEST	(revision 85)
+++ /asp_ccsproject/trunk/asp/target/lm4f120_gcc/MANIFEST	(revision 85)
@@ -0,0 +1,27 @@
+PACKAGE asp_arch_arm_m_gcc
+
+E_PACKAGE
+lm4f120.h
+Makefile.target
+MANIFEST
+target.tf
+target_asm.inc
+target_cfg1_out.h
+target_check.tf
+target_config.c
+target_config.h
+target_kernel.h
+target_offset.tf
+target_rename.def
+target_rename.h
+target_serial.c
+target_serial.cfg
+target_serial.h
+target_sil.h
+target_stddef.h
+target_syssvc.h
+target_test.h
+target_timer.cfg
+target_timer.h
+target_unrename.h
+target_user.txt
Index: /asp_ccsproject/trunk/asp/target/lm4f120_gcc/Makefile.target
===================================================================
--- /asp_ccsproject/trunk/asp/target/lm4f120_gcc/Makefile.target	(revision 85)
+++ /asp_ccsproject/trunk/asp/target/lm4f120_gcc/Makefile.target	(revision 85)
@@ -0,0 +1,81 @@
+#
+#  @(#) $Id: Makefile.target 2202 2011-07-26 13:27:11Z ertl-honda $
+# 
+
+#
+#		Makefile ã®ã¿ã¼ã²ããä¾å­é¨ï¼LM4F120ç¨)
+#
+
+#
+#  ãã¼ãåï¼ãã­ã»ããµåï¼éçºç°å¢åã®å®ç¾©
+#
+BOARD = lm4f120
+PRC   = arm_m
+TOOL  = gcc
+
+#
+#  ãããã°æã«RAMä¸ã§å®è¡ããå ´åã¯trueã«å®ç¾©
+#
+#USE_RAM_DEBUG  = true
+
+#
+#  Stellaris Peripheral Driver Libary ã®ããããã£ã¬ã¯ããª
+#
+DRIVER_DIR = $(TARGETDIR)/StellarisWare
+
+#
+#  ã³ã³ãã¤ã«ãªãã·ã§ã³
+#
+INCLUDES := $(INCLUDES) -I$(TARGETDIR) -I$(DRIVER_DIR)
+COPTS := $(COPTS) -mlittle-endian -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -fshort-wchar
+COPTS := $(COPTS) -DPART_LM4F120H5QR -DTARGET_IS_BLIZZARD_RA1
+LDFLAGS := $(LDFLAGS) -mlittle-endian
+LIBS := $(LIBS) $(DRIVER_DIR)/driverlib/gcc-cm4f/libdriver-cm4f.a
+
+#
+#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#
+KERNEL_DIR := $(KERNEL_DIR) $(TARGETDIR)
+KERNEL_ASMOBJS := $(KERNEL_ASMOBJS)
+KERNEL_COBJS := $(KERNEL_COBJS) target_config.o core_timer.o
+
+#
+#  ã·ã¹ãã ãµã¼ãã¹ã«é¢ããå®ç¾©
+#
+SYSSVC_DIR := $(SYSSVC_DIR) 
+SYSSVC_COBJS := $(SYSSVC_COBJS) target_serial.o
+
+#
+#  ãã¬ã¼ã¹ã­ã°ã«é¢ããè¨­å®
+#
+ifeq ($(ENABLE_TRACE),true)
+      COPTS := $(COPTS) -DTOPPERS_ENABLE_TRACE
+      KERNEL_DIR := $(KERNEL_DIR) $(SRCDIR)/arch/logtrace
+      KERNEL_COBJS := $(KERNEL_COBJS) trace_config.o trace_dump.o
+endif
+
+#
+#  GNUéçºç°å¢ã®ã¿ã¼ã²ããã¢ã¼ã­ãã¯ãã£ã®å®ç¾©
+#
+GCC_TARGET = arm-none-eabi
+
+#
+#  ä¾å­é¢ä¿ã®å®ç¾©
+#
+kernel_cfg.timestamp: $(TARGETDIR)/target.tf
+$(OBJFILE): $(TARGETDIR)/target_check.tf
+
+#
+# ã³ã³ãã£ã®ã¥ã¬ã¼ã¿é¢ä¿ã®å¤æ°ã®å®ç¾©
+#
+CFG1_OUT_LDFLAGS := -nostdlib $(CFG1_OUT_LDFLAGS)
+
+# 
+#  ãªãã»ãããã¡ã¤ã«çæã®ããã®å®ç¾© 
+# 
+OFFSET_TF := $(TARGETDIR)/target_offset.tf
+
+#
+#  ã³ã¢ä¾å­é¨ã®ã¤ã³ã¯ã«ã¼ã
+#
+include $(SRCDIR)/arch/$(PRC)_$(TOOL)/common/Makefile.core
Index: /asp_ccsproject/trunk/asp/target/lm4f120_gcc/lm4f120.h
===================================================================
--- /asp_ccsproject/trunk/asp/target/lm4f120_gcc/lm4f120.h	(revision 85)
+++ /asp_ccsproject/trunk/asp/target/lm4f120_gcc/lm4f120.h	(revision 85)
@@ -0,0 +1,97 @@
+/*
+ *  TOPPERS/ASP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Advanced Standard Profile Kernel
+ * 
+ *  Copyright (C) 2008-2011 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
+ *  å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
+ *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ãã
+ *      å
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
+ *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
+ *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
+ *  ã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: lm4f120.h 2202 2011-07-26 13:27:11Z ertl-honda $
+ */
+
+/*
+ *  LM4F120ã«é¢ããå®ç¾©
+ */
+
+#ifndef TOPPERS_LM4F120_H
+#define TOPPERS_LM4F120_H
+
+#include <sil.h>
+
+/*
+ *  å²è¾¼ã¿çªå·ã®æå¤§å¤
+ */
+#define TMAX_INTNO   (15 + 107)
+
+/*
+ *  å²è¾¼ã¿åªå
+åº¦ã®ãããå¹
+
+ */
+#define TBITW_IPRI     3
+
+/*
+ *  å²è¾¼ã¿åªå
+åº¦ãããå¹
+ä¸­ã®ãµãåªå
+åº¦ã®ãããå¹
+
+ */
+#define TBITW_SUBIPRI  0
+
+/*
+ *  QEMUã®å ´åã¯SysTicãå¤é¨ã¯ã­ãã¯ã§åä½ããã
+ */
+#ifdef TOPPERS_QEMU_CM3
+#define SYSTIC_USE_STCLK
+#endif /* TOPPERS_QEMU_CM3 */
+
+#ifndef TOPPERS_MACRO_ONLY
+
+#endif /* TOPPERS_MACRO_ONLY */
+
+#endif /* TOPPERS_LM4F120_H */
Index: /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target.tf
===================================================================
--- /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target.tf	(revision 85)
+++ /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target.tf	(revision 85)
@@ -0,0 +1,8 @@
+$ 
+$     ãã¹2ã®ã¿ã¼ã²ããä¾å­ãã³ãã¬ã¼ãï¼LM4F120ç¨ï¼
+$ 
+
+$ 
+$  ã³ã¢ä¾å­ãã³ãã¬ã¼ãã®ã¤ã³ã¯ã«ã¼ã
+$ 
+$INCLUDE"arm_m_gcc/common/core.tf"$
Index: /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_asm.inc
===================================================================
--- /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_asm.inc	(revision 85)
+++ /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_asm.inc	(revision 85)
@@ -0,0 +1,1 @@
+#include "arm_m_gcc/common/core_asm.inc"
Index: /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_cfg1_out.h
===================================================================
--- /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_cfg1_out.h	(revision 85)
+++ /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_cfg1_out.h	(revision 85)
@@ -0,0 +1,15 @@
+/*
+ *  @(#) $Id: target_cfg1_out.h 2268 2011-11-22 16:22:45Z ertl-honda $
+ */
+
+/*
+ *		cfg1_out.cããªã³ã¯ããããã«å¿
+è¦ãªã¹ã¿ãã®å®ç¾©
+ */
+
+STK_T *const	_kernel_istkpt = 0x00;
+
+/*
+ *  ã³ã¢ä¾å­ã®ã¹ã¿ãã®å®ç¾© 
+ */
+#include <core_cfg1_out.h>
Index: /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_check.tf
===================================================================
--- /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_check.tf	(revision 85)
+++ /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_check.tf	(revision 85)
@@ -0,0 +1,8 @@
+$ 
+$     ãã¹3ã®ã¿ã¼ã²ããä¾å­ãã³ãã¬ã¼ãï¼LM4F120ç¨ï¼
+$ 
+
+$ 
+$  ãã¹3ã®ã³ã¢ä¾å­ã®ãã³ãã¬ã¼ãã®ã¤ã³ã¯ã«ã¼ã
+$ 
+$INCLUDE"arm_m_gcc/common/core_check.tf"$
Index: /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_config.c
===================================================================
--- /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_config.c	(revision 85)
+++ /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_config.c	(revision 85)
@@ -0,0 +1,139 @@
+/*
+ *  TOPPERS/ASP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Advanced Standard Profile Kernel
+ * 
+ *  Copyright (C) 2008-2011 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
+ *  å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
+ *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ãã
+ *      å
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
+ *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
+ *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
+ *  ã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: target_config.c 2183 2011-07-23 10:29:36Z ertl-honda $
+ */
+
+/*
+ * ã¿ã¼ã²ããä¾å­ã¢ã¸ã¥ã¼ã«ï¼LM4F120ç¨ï¼
+ */
+#include "kernel_impl.h"
+#include <sil.h>
+
+#include "inc/hw_types.h"
+#include "inc/hw_sysctl.h"
+#include "driverlib/sysctl.h"
+#include "inc/hw_memmap.h"
+#include "driverlib/rom.h"
+#include "driverlib/rom_map.h"
+#include "driverlib/pin_map.h"
+#include "driverlib/gpio.h"
+#include "driverlib/uart.h"
+#include "inc/hw_ints.h"
+
+/*
+ *  ã¿ã¼ã²ããä¾å­ã®åæå
+ */
+void
+target_initialize(void)
+{
+	/*
+	 * FPUã®æå¹å
+	 */
+    ROM_FPUEnable();
+    ROM_FPULazyStackingEnable();
+
+	/*
+	 *  ã¯ã­ãã¯ã®åæå (80MHz)
+	 */
+	ROM_SysCtlClockSet(SYSCTL_SYSDIV_2_5 | SYSCTL_USE_PLL | SYSCTL_XTAL_16MHZ |
+						SYSCTL_OSC_MAIN);
+
+	/*
+	 * ã³ã¢ä¾å­ã®åæå
+	 */
+	core_initialize();
+
+	/*
+	 *  sys_putc ãå¯è½ã«ãªãããã«UARTãåæå
+	 */
+	ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_UART0);
+	ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);
+    ROM_GPIOPinConfigure(GPIO_PA0_U0RX);
+    ROM_GPIOPinConfigure(GPIO_PA1_U0TX);
+	ROM_GPIOPinTypeUART(GPIO_PORTA_BASE, GPIO_PIN_0 | GPIO_PIN_1);
+	ROM_UARTConfigSetExpClk(UART0_BASE, ROM_SysCtlClockGet(), 115200,
+						(UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE |
+						 UART_CONFIG_PAR_NONE));
+	ROM_UARTIntDisable(UART0_BASE, UART_INT_RX | UART_INT_RT | UART_INT_TX);
+	ROM_IntDisable(INT_UART0);
+}
+
+/*
+ *  ã¿ã¼ã²ããä¾å­ã®çµäºå¦ç
+ */
+void
+target_exit(void)
+{
+	/*
+	 *  ã³ã¢ä¾å­ã®çµäºå¦ç
+	 */
+	core_terminate();
+
+	/*
+	 *  éçºç°å¢ä¾å­ã®çµäºå¦ç
+	 */
+	while(1);
+}
+
+
+/*
+ *  ã·ã¹ãã ã­ã°ã®ä½ã¬ãã«åºåã®ããã®æå­åºå
+ */
+void
+target_fput_log(char c)
+{
+	if (c == '\n') {
+		UARTCharPut(UART0_BASE, '\r');
+	}
+	UARTCharPut(UART0_BASE, c);
+}
Index: /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_config.h
===================================================================
--- /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_config.h	(revision 85)
+++ /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_config.h	(revision 85)
@@ -0,0 +1,123 @@
+/*
+ *  TOPPERS/ASP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Advanced Standard Profile Kernel
+ * 
+ *  Copyright (C) 2008-2011 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
+ *  å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
+ *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ãã
+ *      å
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
+ *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
+ *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
+ *  ã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: target_config.h 2268 2011-11-22 16:22:45Z ertl-honda $
+ */
+
+/*
+ *  ãããä¾å­ã¢ã¸ã¥ã¼ã«ï¼LM4F120ç¨ï¼
+ *
+ *  ã«ã¼ãã«ã®ã¿ã¼ã²ããä¾å­é¨ã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ï¼kernel_impl.hã®ã¿ã¼
+ *  ã²ããä¾å­é¨ã®ä½ç½®ä»ãã¨ãªãï¼
+ */
+
+#ifndef TOPPERS_TARGET_CONFIG_H
+#define TOPPERS_TARGET_CONFIG_H
+
+/*
+ *  ã¿ã¼ã²ããä¾å­é¨ã®ãã¼ãã¦ã§ã¢è³æºã®å®ç¾©
+ */
+#include "lm4f120.h"
+
+/*
+ *  ãã¬ã¼ã¹ã­ã°ã«é¢ããè¨­å®
+ */
+#ifdef TOPPERS_ENABLE_TRACE
+#include "logtrace/trace_config.h"
+#endif /* TOPPERS_ENABLE_TRACE */
+
+/*
+ *  RAMå®è¡ããå ´åãQEMUå®è¡æROMãããã°æã¯MSPãåæåãã
+ *  å¿
+è¦ããããã,ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã§MSPãåæåããï¼ 
+ */
+#define INIT_MSP
+
+/*
+ *  ããã©ã«ãã®éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã®ã¹ã¿ãã¯é åã®å®ç¾©
+ */
+#define DEFAULT_ISTKSZ      (0x1000U)   /* 4KByte */
+
+/*
+ *  å¾®å°æéå¾
+ã¡ã®ããã®å®ç¾©ï¼æ¬æ¥ã¯SILã®ã¿ã¼ã²ããä¾å­é¨ï¼
+ */
+#ifndef TOPPERS_RAM_DEBUG
+#define SIL_DLY_TIM1    160
+#define SIL_DLY_TIM2    100
+#else
+#define SIL_DLY_TIM1    270
+#define SIL_DLY_TIM2    140
+#endif  /* TOPPERS_RAM_DEBUG */
+
+#ifndef TOPPERS_MACRO_ONLY
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ */
+extern void	target_initialize(void);
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ *
+ *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼
+ */
+extern void	target_exit(void) NoReturn;
+
+#endif /* TOPPERS_MACRO_ONLY */
+
+/*
+ *  ã³ã¢ä¾å­ã¢ã¸ã¥ã¼ã«ï¼ARM-Mç¨ï¼
+ */
+#include "core_config.h"
+
+#endif /* TOPPERS_TARGET_CONFIG_H */
Index: /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_kernel.h
===================================================================
--- /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_kernel.h	(revision 85)
+++ /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_kernel.h	(revision 85)
@@ -0,0 +1,96 @@
+/*
+ *  TOPPERS/ASP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Advanced Standard Profile Kernel
+ * 
+ *  Copyright (C) 2008-2011 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
+ *  å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
+ *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ãã
+ *      å
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
+ *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
+ *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
+ *  ã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: target_kernel.h 2202 2011-07-26 13:27:11Z ertl-honda $
+ */
+
+/*
+ *  kernel.hã®ãããä¾å­é¨ï¼LM4F120ç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.hã§ã¤ã³ã¯ã«ã¼ããããï¼ä»ã®ãã¡
+ *  ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³ã¯ã«ã¼ã
+ *  ããåã«ï¼t_stddef.hãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼ãããã«ä¾å­ãã¦ãã
+ *  ãï¼
+ */
+
+#ifndef TOPPERS_TARGET_KERNEL_H
+#define TOPPERS_TARGET_KERNEL_H
+
+/*
+ *  ã«ã¼ãã«ç®¡çã®å²è¾¼ã¿åªå
+åº¦ã®ç¯å²
+ *
+ *  TMIN_INTPRIã®å®ç¾©ãå¤æ´ãããã¨ã§ï¼ãã®ã¬ãã«ãããé«ãå²è¾¼ã¿åªå
+åº¦
+ *  ãæã¤ãã®ãã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ã¨ããããå¤æ´ã§ããï¼
+ */
+#define TMIN_INTPRI		(-7)		/* å²è¾¼ã¿åªå
+åº¦ã®æå°å¤ï¼æé«å¤ï¼*/
+
+/*
+ *  ãµãã¼ãããæ©è½ã®å®ç¾©
+ */
+#define TOPPERS_TARGET_SUPPORT_GET_UTM	/* get_utmããµãã¼ããã */
+
+/*
+ *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ */
+#define TIC_NUME   1U            /* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+#define TIC_DENO   1U            /* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+
+/*
+ *  ã³ã¢ä¾å­ã§å
+±éãªå®ç¾©
+ */
+#include "arm_m_gcc/common/core_kernel.h"
+
+#endif /* TOPPERS_TARGET_KERNEL_H */
Index: /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_offset.tf
===================================================================
--- /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_offset.tf	(revision 85)
+++ /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_offset.tf	(revision 85)
@@ -0,0 +1,13 @@
+$
+$       ãªãã»ãããã¡ã¤ã«çæç¨ãã³ãã¬ã¼ããã¡ã¤ã«ï¼LM4F120ç¨ï¼
+$
+
+$
+$  æ¨æºãã³ãã¬ã¼ããã¡ã¤ã«ã®ã¤ã³ã¯ã«ã¼ã
+$
+$INCLUDE "kernel/genoffset.tf"$
+
+$ 
+$  ã³ã¢ä¾å­ãã³ãã¬ã¼ãã®ã¤ã³ã¯ã«ã¼ãï¼ARM-Mç¨ï¼
+$ 
+$INCLUDE"../../arch/arm_m_gcc/common/core_offset.tf"$
Index: /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_rename.def
===================================================================
--- /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_rename.def	(revision 85)
+++ /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_rename.def	(revision 85)
@@ -0,0 +1,5 @@
+INCLUDE "arm_m_gcc/common/core"
+
+#target_config.c
+target_initialize
+target_exit
Index: /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_rename.h
===================================================================
--- /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_rename.h	(revision 85)
+++ /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_rename.h	(revision 85)
@@ -0,0 +1,26 @@
+/* This file is generated from target_rename.def by genrename. */
+
+#ifndef TOPPERS_TARGET_RENAME_H
+#define TOPPERS_TARGET_RENAME_H
+
+
+/*
+ * target_config.c
+ */
+#define target_initialize			_kernel_target_initialize
+#define target_exit					_kernel_target_exit
+
+#ifdef TOPPERS_LABEL_ASM
+
+
+/*
+ * target_config.c
+ */
+#define _target_initialize			__kernel_target_initialize
+#define _target_exit				__kernel_target_exit
+
+#endif /* TOPPERS_LABEL_ASM */
+
+#include "arm_m_gcc/common/core_rename.h"
+
+#endif /* TOPPERS_TARGET_RENAME_H */
Index: /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_serial.c
===================================================================
--- /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_serial.c	(revision 85)
+++ /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_serial.c	(revision 85)
@@ -0,0 +1,262 @@
+/*
+ *  TOPPERS/ASP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Advanced Standard Profile Kernel
+ * 
+ *  Copyright (C) 2008-2011 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
+ *  å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
+ *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ãã
+ *      å
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
+ *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
+ *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
+ *  ã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: target_serial.c 2202 2011-07-26 13:27:11Z ertl-honda $
+ */
+
+/*
+ *  ã·ãªã¢ã«I/Oããã¤ã¹ï¼SIOï¼ãã©ã¤ãï¼LM4F120ç¨ï¼
+ */
+
+#include <kernel.h>
+#include <t_syslog.h>
+#include "target_serial.h"
+#include "inc/hw_memmap.h"
+#include "inc/hw_types.h"
+#include "driverlib/uart.h"
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯ã®å®ç¾©
+ */
+typedef struct sio_port_initialization_block {
+	uint32_t base;
+	INTNO    intno;
+} SIOPINIB;
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®å®ç¾©
+ */
+struct sio_port_control_block {
+	const SIOPINIB  *p_siopinib;  /* ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯ */
+	intptr_t        exinf;        /* æ¡å¼µæ
+å ± */
+	bool_t          opnflg;       /* ãªã¼ãã³æ¸ã¿ãã©ã° */
+};
+
+/*
+ * ã·ãªã¢ã«I/Oãã¼ãåæåãã­ãã¯
+ */
+const SIOPINIB siopinib_table[TNUM_SIOP] = {
+	{(uint32_t)UART0_BASE, (INTNO)INTNO_SIO}
+};
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®ã¨ãªã¢
+ */
+SIOPCB	siopcb_table[TNUM_SIOP];
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãIDããç®¡çãã­ãã¯ãåãåºãããã®ãã¯ã­
+ */
+#define INDEX_SIOP(siopid)	((uint_t)((siopid) - 1))
+#define get_siopcb(siopid)	(&(siopcb_table[INDEX_SIOP(siopid)]))
+
+/*
+ *  SIOãã©ã¤ãã®åæå
+ */
+void
+sio_initialize(intptr_t exinf)
+{
+	SIOPCB	*p_siopcb;
+	uint_t	i;
+
+	/*
+	 *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®åæå
+	 */
+	for (p_siopcb = siopcb_table, i = 0; i < TNUM_SIOP; p_siopcb++, i++) {
+		p_siopcb->p_siopinib = &(siopinib_table[i]);
+		p_siopcb->opnflg = false;
+	}
+}
+
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+SIOPCB *
+sio_opn_por(ID siopid, intptr_t exinf)
+{
+	SIOPCB          *p_siopcb;
+	const SIOPINIB  *p_siopinib;
+	bool_t  opnflg;
+	ER      ercd;
+
+	p_siopcb = get_siopcb(siopid);
+	p_siopinib = p_siopcb->p_siopinib;
+
+	/*
+	 *  ãªã¼ãã³ãããã¼ããããããopnflgã«èª­ãã§ããï¼
+	 */
+	opnflg = p_siopcb->opnflg;
+
+	p_siopcb->exinf = exinf;
+
+	/*
+	 *  ãã¼ãã¦ã§ã¢ã®åæå
+	 */
+#ifndef TOPPERS_QEMU_CM3
+	UARTConfigSetExpClk(p_siopinib->base, SysCtlClockGet(), 115200,
+						(UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE |
+						 UART_CONFIG_PAR_NONE));
+#endif /* TOPPERS_QEMU_CM3 */
+
+	/*
+	 *  ã·ãªã¢ã«I/Oå²è¾¼ã¿ã®ãã¹ã¯ãè§£é¤ããï¼
+	 */
+	if (!opnflg) {
+		ercd = ena_int(p_siopinib->intno);
+		assert(ercd == E_OK);
+	}
+
+	return(p_siopcb);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+void
+sio_cls_por(SIOPCB *p_siopcb)
+{
+	/*
+	 *  ã·ãªã¢ã«I/Oå²è¾¼ã¿ããã¹ã¯ããï¼
+	 */
+	if (!(p_siopcb->opnflg)) {
+		dis_int(p_siopcb->p_siopinib->intno);
+	}
+}
+
+/*
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+void
+sio_isr(intptr_t exinf)
+{
+	SIOPCB          *p_siopcb;
+
+	p_siopcb = get_siopcb(exinf);
+
+	/*
+	 *  å²è¾¼ã¿ã®ã¯ãªã¢
+	 */
+	UARTIntClear(p_siopcb->p_siopinib->base,
+				 UARTIntStatus(p_siopcb->p_siopinib->base, true));
+
+	if (UARTCharsAvail(p_siopcb->p_siopinib->base)) {
+		/*
+		 *  åä¿¡éç¥ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+		 */
+		sio_irdy_rcv(p_siopcb->exinf);
+	}
+	if (UARTSpaceAvail(p_siopcb->p_siopinib->base)) {
+		/*
+		 *  éä¿¡å¯è½ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+		 */
+		sio_irdy_snd(p_siopcb->exinf);
+	}
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+bool_t
+sio_snd_chr(SIOPCB *p_siopcb, char c)
+{
+	if(UARTSpaceAvail(p_siopcb->p_siopinib->base)){
+		UARTCharPutNonBlocking(p_siopcb->p_siopinib->base, c);
+		return(true);
+	}
+	return(false);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+int_t
+sio_rcv_chr(SIOPCB *p_siopcb)
+{
+	if(UARTCharsAvail(p_siopcb->p_siopinib->base)){
+		return(UARTCharGetNonBlocking(p_siopcb->p_siopinib->base));
+	}
+	return(-1);
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+void
+sio_ena_cbr(SIOPCB *p_siopcb, uint_t cbrtn)
+{
+	switch (cbrtn) {
+	  case SIO_RDY_SND:
+		UARTIntEnable(p_siopcb->p_siopinib->base, UART_INT_TX);
+		break;
+	  case SIO_RDY_RCV:
+		UARTIntEnable(p_siopcb->p_siopinib->base, UART_INT_RX|UART_INT_RT);
+		break;
+	}
+}
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+void
+sio_dis_cbr(SIOPCB *p_siopcb, uint_t cbrtn)
+{
+	switch (cbrtn) {
+	  case SIO_RDY_SND:
+		UARTIntDisable(p_siopcb->p_siopinib->base, UART_INT_TX);
+		break;
+	  case SIO_RDY_RCV:
+		UARTIntDisable(p_siopcb->p_siopinib->base, UART_INT_RX|UART_INT_RT);
+		break;
+	}
+}
Index: /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_serial.cfg
===================================================================
--- /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_serial.cfg	(revision 85)
+++ /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_serial.cfg	(revision 85)
@@ -0,0 +1,13 @@
+/*
+ *  @(#) $Id: target_serial.cfg 1309 2008-08-27 07:48:51Z ertl-honda $
+ */
+
+/*
+ *  SIOãã©ã¤ãï¼PL011ç¨ï¼ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+
+#include "target_serial.h"
+ATT_INI({ TA_NULL, 0, sio_initialize });
+ATT_ISR({TA_NULL, 1, INTNO_SIO, sio_isr, 1});
+CFG_INT(INTNO_SIO, { INTATR_SIO, INTPRI_SIO });
+
Index: /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_serial.h
===================================================================
--- /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_serial.h	(revision 85)
+++ /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_serial.h	(revision 85)
@@ -0,0 +1,144 @@
+/*
+ *  TOPPERS/ASP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Advanced Standard Profile Kernel
+ * 
+ *  Copyright (C) 2008-2011 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
+ *  å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
+ *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ãã
+ *      å
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
+ *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
+ *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
+ *  ã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: target_serial.h 2162 2011-07-22 11:28:36Z ertl-honda $
+ */
+
+/*
+ *    ã·ãªã¢ã«I/Oããã¤ã¹ï¼SIOï¼ãã©ã¤ã
+ */
+
+#ifndef TOPPERS_TARGET_SERIAL_H
+#define TOPPERS_TARGET_SERIAL_H
+
+#include "lm4f120.h"
+#include "inc/hw_ints.h"
+
+/*
+ *  SIOã®å²è¾¼ã¿ãã³ãã©ã®ãã¯ã¿çªå·
+ */
+#define INHNO_SIO       INT_UART0  /* å²è¾¼ã¿ãã³ãã©çªå· */
+#define INTNO_SIO       INT_UART0  /* å²è¾¼ã¿çªå· */
+#define INTPRI_SIO       -3        /* å²è¾¼ã¿åªå
+åº¦ */
+#define INTATR_SIO       0         /* å²è¾¼ã¿å±æ§ */
+
+#ifndef TOPPERS_MACRO_ONLY
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãç®¡çãã­ãã¯ã®å®ç¾©
+ */
+typedef struct sio_port_control_block    SIOPCB;
+
+/*
+ *  ã³ã¼ã«ããã¯ã«ã¼ãã³ã®è­å¥çªå·
+ */
+#define SIO_RDY_SND    1U        /* éä¿¡å¯è½ã³ã¼ã«ããã¯ */
+#define SIO_RDY_RCV    2U        /* åä¿¡éç¥ã³ã¼ã«ããã¯ */
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãæ°ã®å®ç¾©
+ */
+#define TNUM_SIOP       1       /* ãµãã¼ãããã·ãªã¢ã«I/Oãã¼ãã®æ° */
+
+/*
+ *  SIOãã©ã¤ãã®åæå
+ */
+extern void sio_initialize(intptr_t exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ãªã¼ãã³
+ */
+extern SIOPCB *sio_opn_por(ID siopid, intptr_t exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã®ã¯ã­ã¼ãº
+ */
+extern void sio_cls_por(SIOPCB *p_siopcb);
+
+/*
+ *  SIOã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³
+ */
+extern void sio_isr(intptr_t exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãã¸ã®æå­éä¿¡
+ */
+extern bool_t sio_snd_chr(SIOPCB *p_siopcb, char c);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®æå­åä¿¡
+ */
+extern int_t sio_rcv_chr(SIOPCB *p_siopcb);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯
+ */
+extern void sio_ena_cbr(SIOPCB *p_siopcb, uint_t cbrtn);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ */
+extern void sio_dis_cbr(SIOPCB *p_siopcb, uint_t cbrtn);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®éä¿¡å¯è½ã³ã¼ã«ããã¯
+ */
+extern void sio_irdy_snd(intptr_t exinf);
+
+/*
+ *  ã·ãªã¢ã«I/Oãã¼ãããã®åä¿¡éç¥ã³ã¼ã«ããã¯
+ */
+extern void sio_irdy_rcv(intptr_t exinf);
+
+#endif /* TOPPERS_MACRO_ONLY */
+#endif /* TOPPERS_TARGET_SERIAL_H */
Index: /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_sil.h
===================================================================
--- /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_sil.h	(revision 85)
+++ /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_sil.h	(revision 85)
@@ -0,0 +1,79 @@
+/*
+ *  TOPPERS Software
+ *      Toyohashi Open Platform for Embedded Real-Time Systems
+ * 
+ *  Copyright (C) 2008-2011 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
+ *  å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
+ *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ãã
+ *      å
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
+ *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
+ *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
+ *  ã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: target_sil.h 2268 2011-11-22 16:22:45Z ertl-honda $
+ */
+
+/*
+ *   sil.hã®ãããä¾å­é¨ï¼LM4F120ç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼sil.hã®å
+é ­ã§ã¤ã³ã¯ã«ã¼ããããï¼ä»ã®ãã¡
+ *  ã¤ã«ããã¯ç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³ã¯ã«ã¼
+ *  ãããåã«ï¼t_stddef.hãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼ãããã«ä¾å­ãã¦ã
+ *  ããï¼
+ */
+
+#ifndef TOPPERS_TARGET_SIL_H
+#define TOPPERS_TARGET_SIL_H
+
+/*
+ *  ãã­ã»ããµã®ã¨ã³ãã£ã¢ã³
+ */
+#define SIL_ENDIAN_LITTLE
+
+/*
+ *  ã³ã¢ä¾å­ã§å
+±éãªå®ç¾©
+ */
+#include "core_sil.h"
+
+#endif /* TOPPERS_TARGET_SIL_H */
Index: /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_stddef.h
===================================================================
--- /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_stddef.h	(revision 85)
+++ /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_stddef.h	(revision 85)
@@ -0,0 +1,104 @@
+/*
+ *  TOPPERS Software
+ *      Toyohashi Open Platform for Embedded Real-Time Systems
+ * 
+ *  Copyright (C) 2008-2011 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
+ *  å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
+ *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ãã
+ *      å
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
+ *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
+ *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
+ *  ã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: target_stddef.h 2183 2011-07-23 10:29:36Z ertl-honda $
+ */
+
+/*
+ *  t_stddef.hã®ã¿ã¼ã²ããä¾å­é¨ï¼LM4F120ç¨ï¼
+ *
+ *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_stddef.hã®å
+é ­ã§ã¤ã³ã¯ã«ã¼ããããï¼
+ *  ä»ã®ãã¡ã¤ã«ããã¯ç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ä»ã®ã¤ã³ã¯ã«ã¼ã
+ *  ãã¡ã¤ã«ã«å
+ç«ã£ã¦å¦çãããããï¼ä»ã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã«ä¾å­ã
+ *  ã¦ã¯ãªããªãï¼
+ */
+
+#ifndef TOPPERS_TARGET_STDDEF_H
+#define TOPPERS_TARGET_STDDEF_H
+
+/*
+ *  ã¿ã¼ã²ãããè­å¥ããããã®ãã¯ã­ã®å®ç¾©
+ */
+#define TOPPERS_LM4F120				/* ã·ã¹ãã ç¥ç§° */
+
+/*
+ *  éçºç°å¢ã§å
+±éãªå®ç¾©
+ *
+ *  éçºç°å¢ã§stdint.hãç¨æããã¦ããå ´åã«ã¯ï¼TOPPERS_STDINT_TYPE1ã®
+ *  ãã¯ã­å®ç¾©ãåé¤ãï¼stdint.hãã¤ã³ã¯ã«ã¼ãããã°ããï¼
+ */
+#define TOPPERS_STDINT_TYPE1
+#define TOPPERS_STDFLOAT_TYPE1
+#include "gcc/tool_stddef.h"
+
+/*
+ *  ã³ã¢ä¾å­ã§å
+±éãªå®ç¾©
+ */
+#include "arm_m_gcc/common/core_stddef.h"
+
+
+#ifndef TOPPERS_MACRO_ONLY
+
+/*
+ *  ã¢ãµã¼ã·ã§ã³ã®å¤±ææã®å®è¡ä¸­æ­å¦çï¼T.B.Dï¼
+ */
+Inline void
+TOPPERS_assert_abort(void)
+{
+    
+}
+
+#endif /* TOPPERS_MACRO_ONLY */
+#endif /* TOPPERS_TARGET_STDDEF_H */
Index: /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_syssvc.h
===================================================================
--- /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_syssvc.h	(revision 85)
+++ /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_syssvc.h	(revision 85)
@@ -0,0 +1,103 @@
+/*
+ *  TOPPERS/ASP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Advanced Standard Profile Kernel
+ * 
+ *  Copyright (C) 2008-2011 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
+ *  å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
+ *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ãã
+ *      å
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
+ *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
+ *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
+ *  ã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: target_syssvc.h 2162 2011-07-22 11:28:36Z ertl-honda $
+ */
+
+/*
+ *  ã·ã¹ãã ãµã¼ãã¹ã®ã¿ã¼ã²ããä¾å­é¨ï¼LM4F120ç¨ï¼
+ *
+ *  ã·ã¹ãã ãµã¼ãã¹ã®ã¿ã¼ã²ããä¾å­é¨ã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ï¼ãã®ãã¡
+ *  ã¤ã«ã®å
+å®¹ã¯ï¼ã³ã³ãã¼ãã³ãè¨è¿°ãã¡ã¤ã«ã«è¨è¿°ããï¼ãã®ãã¡ã¤ã«ã¯
+ *  ç¡ããªãè¦è¾¼ã¿ï¼
+ */
+
+#ifndef TOPPERS_TARGET_SYSSVC_H
+#define TOPPERS_TARGET_SYSSVC_H
+
+/*
+ *  ã¿ã¼ã²ããã·ã¹ãã ã®ãã¼ãã¦ã§ã¢è³æºã®å®ç¾©
+ */
+#include "lm4f120.h"
+
+/*
+ *  ãã¬ã¼ã¹ã­ã°ã«é¢ããè¨­å®
+ */
+#ifdef TOPPERS_ENABLE_TRACE
+#include "logtrace/trace_config.h"
+#endif /* TOPPERS_ENABLE_TRACE */
+
+/*
+ *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããã·ã¹ãã å
+ */
+#define TARGET_NAME    "LM4F120(ARM Cortex-M4F)"
+
+/*
+ *  ã·ã¹ãã ã­ã°ã®ä½ã¬ãã«åºåã®ããã®æå­åºå
+ *
+ *  ã¿ã¼ã²ããä¾å­ã®æ¹æ³ã§ï¼æå­cãè¡¨ç¤º/åºå/ä¿å­ããï¼
+ */
+extern void	target_fput_log(char c);
+
+/*
+ *  ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ°
+ */
+#define TNUM_PORT        1
+
+/*
+ *  ã·ã¹ãã ã­ã°ã¿ã¹ã¯é¢é£ã®å®æ°ã®å®ç¾©
+ *
+ *  ããã©ã«ãå¤ã®éãï¼
+ */
+
+#endif /* TOPPERS_TARGET_SYSSVC_H */
Index: /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_test.h
===================================================================
--- /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_test.h	(revision 85)
+++ /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_test.h	(revision 85)
@@ -0,0 +1,72 @@
+/*
+ *  TOPPERS/ASP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Advanced Standard Profile Kernel
+ * 
+ *  Copyright (C) 2008-2011 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
+ *  å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
+ *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ãã
+ *      å
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
+ *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
+ *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
+ *  ã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: target_test.h 2183 2011-07-23 10:29:36Z ertl-honda $
+ */
+
+/*
+ *		ãã¹ããã­ã°ã©ã ã®ã¿ã¼ã²ããä¾å­å®ç¾©ï¼LM4F120ç¨ï¼
+ */
+
+#ifndef TOPPERS_TARGET_TEST_H
+#define TOPPERS_TARGET_TEST_H
+
+#ifdef TOPPERS_QEMU_CM3
+#define TASK_LOOP 10000000
+#endif /* TOPPERS_QEMU_CM3 */
+
+/*
+ *  ã³ã¢ä¾å­ã¢ã¸ã¥ã¼ã«ï¼ARM-Mç¨ï¼
+ */
+#include "arm_m_gcc/common/core_test.h"
+
+#endif /* TOPPERS_TARGET_TEST_H */
Index: /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_timer.cfg
===================================================================
--- /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_timer.cfg	(revision 85)
+++ /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_timer.cfg	(revision 85)
@@ -0,0 +1,9 @@
+/*
+ *  @(#) $Id: target_timer.cfg 2183 2011-07-23 10:29:36Z ertl-honda $
+ */
+
+/*
+ *    ã¿ã¤ããã©ã¤ãã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ */
+#include "target_timer.h"
+INCLUDE("arm_m_gcc/common/core_timer.cfg");
Index: /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_timer.h
===================================================================
--- /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_timer.h	(revision 85)
+++ /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_timer.h	(revision 85)
@@ -0,0 +1,81 @@
+/*
+ *  TOPPERS/ASP Kernel
+ *      Toyohashi Open Platform for Embedded Real-Time Systems/
+ *      Advanced Standard Profile Kernel
+ * 
+ *  Copyright (C) 2008-2011 by Embedded and Real-Time Systems Laboratory
+ *              Graduate School of Information Science, Nagoya Univ., JAPAN
+ * 
+ *  ä¸è¨èä½æ¨©è
+ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
+ *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
+ *  å¤ã»åé
+å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
+ *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
+ *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
+ *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
+ *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
+ *      è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
+ *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
+ *      ç¨ã§ããªãå½¢ã§åé
+å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
+ *      ã¨ï¼
+ *    (a) åé
+å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
+ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
+ *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
+ *    (b) åé
+å¸ã®å½¢æ
+ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
+ *        å ±åãããã¨ï¼
+ *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
+ *      å®³ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ããå
+è²¬ãããã¨ï¼
+ *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
+ *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
+ããã³TOPPERSãã­ã¸ã§ã¯ãã
+ *      å
+è²¬ãããã¨ï¼
+ * 
+ *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
+ã
+ *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
+ *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
+ *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
+ *  ã®è²¬ä»»ãè² ããªãï¼
+ * 
+ *  @(#) $Id: target_timer.h 2183 2011-07-23 10:29:36Z ertl-honda $
+ */
+
+/*
+ *  ã¿ã¤ããã©ã¤ãï¼LM4F120ç¨ï¼
+ */
+
+#ifndef TOPPERS_TARGET_TIMER_H
+#define TOPPERS_TARGET_TIMER_H
+
+/*
+ *  ã¿ã¤ãå¤ã®å
+é¨è¡¨ç¾ã¨ããªç§åä½ã¨ã®å¤æ
+ */
+#define TIMER_CLOCK 80000
+
+/*
+ *  ã¿ã¤ãå²è¾¼ã¿ãã³ãã©ç»é²ã®ããã®å®æ°
+ */
+#define INTPRI_TIMER    (-6)          /* å²è¾¼ã¿åªå
+åº¦ */
+#define INTATR_TIMER    0U            /* å²è¾¼ã¿å±æ§ */
+
+/*
+ *  ã³ã¢ä¾å­ã¢ã¸ã¥ã¼ã«ï¼ARM-Mç¨ï¼
+ */
+#include "arm_m_gcc/common/core_timer.h"
+
+#endif /* TOPPERS_TARGET_TIMER_H */
Index: /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_unrename.h
===================================================================
--- /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_unrename.h	(revision 85)
+++ /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_unrename.h	(revision 85)
@@ -0,0 +1,27 @@
+/* This file is generated from target_rename.def by genrename. */
+
+/* This file is included only when target_rename.h has been included. */
+#ifdef TOPPERS_TARGET_RENAME_H
+#undef TOPPERS_TARGET_RENAME_H
+
+
+/*
+ * target_config.c
+ */
+#undef target_initialize
+#undef target_exit
+
+#ifdef TOPPERS_LABEL_ASM
+
+
+/*
+ * target_config.c
+ */
+#undef _target_initialize
+#undef _target_exit
+
+#endif /* TOPPERS_LABEL_ASM */
+
+#include "arm_m_gcc/common/core_unrename.h"
+
+#endif /* TOPPERS_TARGET_RENAME_H */
Index: /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_user.txt
===================================================================
--- /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_user.txt	(revision 85)
+++ /asp_ccsproject/trunk/asp/target/lm4f120_gcc/target_user.txt	(revision 85)
@@ -0,0 +1,137 @@
+=====================================================================
+                          LM4F120Ë¶
+                                  Last Modified: 2014 Sep 25 16:42:26
+=====================================================================
+
+(1) ÎµÄ¢é^[QbgVXeÌíÞE\¬
+
+LM4F120Ë¶ÍCTexas InstrumentsÐÌStellaris[`pbhðT|[
+gµÄ¢éD®ìmFðsÁ½`bvÍÌÊèÅ éD
+
+  ELM4F120
+
+`bvú»ÍCCode Composer Studio IDE(CCS)Ås¤D»Ì½ßC¯«Ì
+CCSvWFNgÆZbgÅgp·é±ÆD
+
+foCXhCoÍTexas InstrumentsÐ©çñ³êÄ¢éStellarisWare
+ðp¢éD
+
+
+(2) gp·éJ­Â«Æ®ìØµ½ðio[WCIvVj
+
+(2-1) TOPPERS/ASPJ[lÌJ­Â«
+
+(2-1-1) RpCÌo[W
+
+J[lCu(libkernel.a)ì¬Ép¢½RpCÍÈºÌÊèD
+
+Cygwin + Sourcery CodeBench Lite 2013.11-24 4.8.1 (arm-none-eabi)
+
+
+(2-1-2) StellarisWareÌzuCàµ­ÍpXÌÏX
+
+StellarisWareðgtarget\lm4f120_gcc\StellarisWarehÉzu·éD
+
+ÊfBNgÌStellarisWareðw·æ¤É·éêÍCMakefile.target
+ðÏX·éD
+#
+#  Stellaris Peripheral Driver Libary ÌgbvfBNg
+#
+DRIVER_DIR = $(TARGETDIR)/StellarisWare
+
+
+(2-2-3) libkernel.aÌì¬
+
+TOPPERS/ASPJ[lWÌRpCèÅlibkernel.aðì¬·éD
+
+$ mkdir KERNEL_LIB
+$ cd KERNEL_LIB
+$ perl ../configure -T lm4f120_gcc -f
+$ make depend
+$ make libkernel.a
+
+
+
+(2-2) AvP[VÌJ­Â«
+
+(2-2-1) J­Â«
+
+J­ÍTexas InstrumentsÐ©çñ³êÄ¢éCode Composer Studio IDE(C
+CS)ðgp·é±ÆD
+
+  Code Composer Studio Version: 5.5.0.00077 + TI v5.1.1
+
+fobOàCCCSðgpµÄ®ìðmFµ½D
+
+
+(2-2-2) pXÝè
+
+(2-1)Åì¬µ½TOPPERS/ASPJ[lÌJ[lCu(libkernel.a)C
+\[XR[hðCCS©çQÆ·é½ßpXÌÝèðs¤D
+
+Project¨Properties¨Resource¨Linked Resources¨Path Variables^u
+OS_ROOT : TOPPERS/ASPJ[lÌgbvfBNgÌpX
+
+Project¨Properties¨Build¨Variables^u
+OS_ROOT : TOPPERS/ASPJ[lÌgbvfBNgÌpX
+SW_ROOT : Stellaris WareÌgbvfBNgÌpX
+
+
+(2-2-3) fobOÝè
+VXeR[(libkernel.a)Ì\[XR[hfobOªÅ«éæ¤Ét@C
+ÌpXðÝè·éD
+
+Run¨Debug Configurations¨Code Composer Studio - Device Debugging¨
+<vWFNg¼>¨Source^u¨Add{^º¨Path Mapping ðIðµÄ
+OK{^º
+NameÍKÈ¼OCCompilation pathÉu·ÎÛÌpXCLocal file syste
+m pathÉâÎpXðüÍ·éD
+
+./KERNEL_LIBÅrhµ½êÍ\[XÌpXª../ÉÈéÌÅCÈºÌÝè
+ÅÇ¢D
+
+Compilation Path       :  ..\
+Local file system path :  TOPPERS/ASPJ[lgbvfBNgÌpX
+
+
+(3) VXeO@\Ìîñ
+
+VXeOÌáxoÍÍCUSBP[uðp¢éDÊMtH[}bgÍ
+115200bps, 8bit, non-parity, 1stopbitÅ éD
+
+
+(4) fBNg\¬Et@C\¬
+ ./lm4f120_gcc
+   ./E_PACKAGE
+   ./lm4f120.h
+   ./Makefile.target
+   ./MANIFEST
+   ./target.tf
+   ./target_asm.inc
+   ./target_cfg1_out.h
+   ./target_check.tf
+   ./target_config.c
+   ./target_config.h
+   ./target_kernel.h
+   ./target_offset.tf
+   ./target_rename.def
+   ./target_rename.h
+   ./target_serial.c
+   ./target_serial.cfg
+   ./target_serial.h
+   ./target_sil.h
+   ./target_stddef.h
+   ./target_syssvc.h
+   ./target_test.h
+   ./target_timer.cfg
+   ./target_timer.h
+   ./target_unrename.h
+   ./target_user.txt
+
+
+(5) o[Wð
+
+2014/9/25
+EÅÌ[X
+
+
Index: /asp_ccsproject/trunk/toppers-asp-1.9.0_demo/.ccsproject
===================================================================
--- /asp_ccsproject/trunk/toppers-asp-1.9.0_demo/.ccsproject	(revision 85)
+++ /asp_ccsproject/trunk/toppers-asp-1.9.0_demo/.ccsproject	(revision 85)
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<?ccsproject version="1.0"?>
+<projectOptions>
+	<deviceVariant value="Cortex M.LM4F120H5QR"/>
+	<deviceFamily value="TMS470"/>
+	<deviceEndianness value="little"/>
+	<codegenToolVersion value="5.1.1"/>
+	<isElfFormat value="true"/>
+	<linkerCommandFile value="lm4f120h5qr.cmd"/>
+	<rts value="libc.a"/>
+	<templateProperties value="id=com.ti.common.project.core.emptyProjectWithMainTemplate,"/>
+	<isTargetManual value="false"/>
+</projectOptions>
Index: /asp_ccsproject/trunk/toppers-asp-1.9.0_demo/.cproject
===================================================================
--- /asp_ccsproject/trunk/toppers-asp-1.9.0_demo/.cproject	(revision 85)
+++ /asp_ccsproject/trunk/toppers-asp-1.9.0_demo/.cproject	(revision 85)
@@ -0,0 +1,181 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?fileVersion 4.0.0?>
+
+<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+	<storageModule configRelations="2" moduleId="org.eclipse.cdt.core.settings">
+		<cconfiguration id="com.ti.ccstudio.buildDefinitions.TMS470.Debug.223952209">
+			<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.TMS470.Debug.223952209" moduleId="org.eclipse.cdt.core.settings" name="Debug">
+				<macros>
+					<stringMacro name="SW_ROOT" type="VALUE_TEXT" value="C:/ti/Stellaris/StellarisWare"/>
+					<stringMacro name="OS_ROOT" type="VALUE_PATH_ANY" value="C:/TOPPERS/asp-1.9.0"/>
+				</macros>
+				<externalSettings/>
+				<extensions>
+					<extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/>
+					<extension id="com.ti.ccstudio.errorparser.CoffErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+					<extension id="com.ti.ccstudio.errorparser.LinkErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+					<extension id="com.ti.ccstudio.errorparser.AsmErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+				</extensions>
+			</storageModule>
+			<storageModule moduleId="cdtBuildSystem" version="4.0.0">
+				<configuration artifactExtension="out" artifactName="${ProjName}" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="" id="com.ti.ccstudio.buildDefinitions.TMS470.Debug.223952209" name="Debug" parent="com.ti.ccstudio.buildDefinitions.TMS470.Debug">
+					<folderInfo id="com.ti.ccstudio.buildDefinitions.TMS470.Debug.223952209." name="/" resourcePath="">
+						<toolChain id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.exe.DebugToolchain.441946826" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.TMS470_5.1.exe.linkerDebug.27014594">
+							<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1127134851" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
+								<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=Cortex M.LM4F120H5QR"/>
+								<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>
+								<listOptionValue builtIn="false" value="OUTPUT_FORMAT=ELF"/>
+								<listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.5.0"/>
+								<listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=lm4f120h5qr.cmd"/>
+								<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>
+								<listOptionValue builtIn="false" value="OUTPUT_TYPE=executable"/>
+							</option>
+							<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.800765180" name="Compiler version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="5.1.1" valueType="string"/>
+							<targetPlatform id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.exe.targetPlatformDebug.932642868" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.exe.targetPlatformDebug"/>
+							<builder buildPath="${BuildDirectory}" id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.exe.builderDebug.1134615497" keepEnvironmentInBuildfile="false" name="GNU Make" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.exe.builderDebug"/>
+							<tool id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.exe.compilerDebug.814420802" name="ARM Compiler" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.exe.compilerDebug">
+								<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.SILICON_VERSION.1382980182" name="Target processor version (--silicon_version, -mv)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.SILICON_VERSION" value="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.SILICON_VERSION.7M4" valueType="enumerated"/>
+								<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.CODE_STATE.1311004112" name="Designate code state, 16-bit (thumb) or 32-bit (--code_state)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.CODE_STATE" value="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.CODE_STATE.16" valueType="enumerated"/>
+								<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.ABI.497003432" name="Application binary interface. [See 'General' page to edit] (--abi)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.ABI.eabi" valueType="enumerated"/>
+								<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.FLOAT_SUPPORT.1505438000" name="Specify floating point support (--float_support)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.FLOAT_SUPPORT" value="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.FLOAT_SUPPORT.FPv4SPD16" valueType="enumerated"/>
+								<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.DEBUGGING_MODEL.1535210136" name="Debugging model" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>
+								<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.DIAG_WARNING.773265573" name="Treat diagnostic &lt;id&gt; as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.DIAG_WARNING" valueType="stringList">
+									<listOptionValue builtIn="false" value="225"/>
+								</option>
+								<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.DISPLAY_ERROR_NUMBER.806141229" name="Emit diagnostic identifier numbers (--display_error_number, -pden)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
+								<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.DIAG_WRAP.2032396795" name="Wrap diagnostic messages (--diag_wrap)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.DIAG_WRAP" value="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.DIAG_WRAP.off" valueType="enumerated"/>
+								<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.INCLUDE_PATH.463782881" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.INCLUDE_PATH" valueType="includePath">
+									<listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${OS_ROOT}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${OS_ROOT}/KERNEL_LIB&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${OS_ROOT}/arch&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${OS_ROOT}/arch/arm_m_gcc/common&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${OS_ROOT}/target/lm4f120_gcc&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${OS_ROOT}/include&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${SW_ROOT}&quot;"/>
+								</option>
+								<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.LITTLE_ENDIAN.225054218" name="Little endian code [See 'General' page to edit] (--little_endian, -me)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.LITTLE_ENDIAN" value="true" valueType="boolean"/>
+								<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.GCC.942629001" name="Enable support for GCC extensions (--gcc)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.GCC" value="true" valueType="boolean"/>
+								<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.DEFINE.181567196" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.DEFINE" valueType="definedSymbols">
+									<listOptionValue builtIn="false" value="CCS_BUILD"/>
+									<listOptionValue builtIn="false" value="PART_LM4F120H5QR"/>
+									<listOptionValue builtIn="false" value="TARGET_IS_BLIZZARD_RA1"/>
+								</option>
+								<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compiler.inputType__C_SRCS.1142625841" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compiler.inputType__C_SRCS"/>
+								<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compiler.inputType__CPP_SRCS.1657183010" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compiler.inputType__CPP_SRCS"/>
+								<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compiler.inputType__ASM_SRCS.794302434" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compiler.inputType__ASM_SRCS"/>
+								<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compiler.inputType__ASM2_SRCS.1533388828" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compiler.inputType__ASM2_SRCS"/>
+							</tool>
+							<tool id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.exe.linkerDebug.27014594" name="ARM Linker" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.exe.linkerDebug">
+								<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.linkerID.MAP_FILE.1154804412" name="Input and output sections listed into &lt;file&gt; (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.linkerID.MAP_FILE" value="&quot;${ProjName}.map&quot;" valueType="string"/>
+								<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.linkerID.STACK_SIZE.1112467482" name="Set C system stack size (--stack_size, -stack)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.linkerID.STACK_SIZE" value="512" valueType="string"/>
+								<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.linkerID.HEAP_SIZE.1098643392" name="Heap size for C/C++ dynamic memory allocation (--heap_size, -heap)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.linkerID.HEAP_SIZE" value="64" valueType="string"/>
+								<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.linkerID.OUTPUT_FILE.97818491" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.linkerID.OUTPUT_FILE" value="&quot;${ProjName}.out&quot;" valueType="string"/>
+								<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.linkerID.XML_LINK_INFO.1915292847" name="Detailed link information data-base into &lt;file&gt; (--xml_link_info, -xml_link_info)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.linkerID.XML_LINK_INFO" value="&quot;${ProjName}_linkInfo.xml&quot;" valueType="string"/>
+								<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.linkerID.DISPLAY_ERROR_NUMBER.842621425" name="Emit diagnostic identifier numbers (--display_error_number)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.linkerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
+								<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.linkerID.DIAG_WRAP.953771631" name="Wrap diagnostic messages (--diag_wrap)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.linkerID.DIAG_WRAP" value="com.ti.ccstudio.buildDefinitions.TMS470_5.1.linkerID.DIAG_WRAP.off" valueType="enumerated"/>
+								<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.linkerID.SEARCH_PATH.560270812" name="Add &lt;dir&gt; to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.linkerID.SEARCH_PATH" valueType="libPaths">
+									<listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/lib&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/include&quot;"/>
+								</option>
+								<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.linkerID.LIBRARY.2088234128" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.linkerID.LIBRARY" valueType="libs">
+									<listOptionValue builtIn="false" value="&quot;libc.a&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${OS_ROOT}/KERNEL_LIB/libkernel.a&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${SW_ROOT}/driverlib/ccs-cm4f/Debug/driverlib-cm4f.lib&quot;"/>
+								</option>
+								<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.exeLinker.inputType__CMD_SRCS.1139238070" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.exeLinker.inputType__CMD_SRCS"/>
+								<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.exeLinker.inputType__CMD2_SRCS.522006000" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.exeLinker.inputType__CMD2_SRCS"/>
+								<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.exeLinker.inputType__GEN_CMDS.877626240" name="Generated Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.exeLinker.inputType__GEN_CMDS"/>
+							</tool>
+						</toolChain>
+					</folderInfo>
+				</configuration>
+			</storageModule>
+			<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+		</cconfiguration>
+		<cconfiguration id="com.ti.ccstudio.buildDefinitions.TMS470.Release.462410134">
+			<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.TMS470.Release.462410134" moduleId="org.eclipse.cdt.core.settings" name="Release">
+				<externalSettings/>
+				<extensions>
+					<extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/>
+					<extension id="com.ti.ccstudio.errorparser.CoffErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+					<extension id="com.ti.ccstudio.errorparser.LinkErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+					<extension id="com.ti.ccstudio.errorparser.AsmErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+				</extensions>
+			</storageModule>
+			<storageModule moduleId="cdtBuildSystem" version="4.0.0">
+				<configuration artifactExtension="out" artifactName="${ProjName}" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="" id="com.ti.ccstudio.buildDefinitions.TMS470.Release.462410134" name="Release" parent="com.ti.ccstudio.buildDefinitions.TMS470.Release">
+					<folderInfo id="com.ti.ccstudio.buildDefinitions.TMS470.Release.462410134." name="/" resourcePath="">
+						<toolChain id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.exe.ReleaseToolchain.1593583871" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.exe.ReleaseToolchain" targetTool="com.ti.ccstudio.buildDefinitions.TMS470_5.1.exe.linkerRelease.1467951253">
+							<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1697787547" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
+								<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=Cortex M.LM4F120H5QR"/>
+								<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>
+								<listOptionValue builtIn="false" value="OUTPUT_FORMAT=ELF"/>
+								<listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.5.0"/>
+								<listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=lm4f120h5qr.cmd"/>
+								<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>
+								<listOptionValue builtIn="false" value="OUTPUT_TYPE=executable"/>
+							</option>
+							<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.683280141" name="Compiler version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="5.1.1" valueType="string"/>
+							<targetPlatform id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.exe.targetPlatformRelease.933071921" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.exe.targetPlatformRelease"/>
+							<builder buildPath="${BuildDirectory}" id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.exe.builderRelease.661468199" keepEnvironmentInBuildfile="false" name="GNU Make" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.exe.builderRelease"/>
+							<tool id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.exe.compilerRelease.566695168" name="ARM Compiler" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.exe.compilerRelease">
+								<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.SILICON_VERSION.362162242" name="Target processor version (--silicon_version, -mv)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.SILICON_VERSION" value="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.SILICON_VERSION.7M4" valueType="enumerated"/>
+								<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.CODE_STATE.1454221840" name="Designate code state, 16-bit (thumb) or 32-bit (--code_state)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.CODE_STATE" value="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.CODE_STATE.16" valueType="enumerated"/>
+								<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.ABI.598378080" name="Application binary interface. [See 'General' page to edit] (--abi)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.ABI.eabi" valueType="enumerated"/>
+								<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.FLOAT_SUPPORT.659145375" name="Specify floating point support (--float_support)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.FLOAT_SUPPORT" value="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.FLOAT_SUPPORT.FPv4SPD16" valueType="enumerated"/>
+								<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.DIAG_WARNING.2102975581" name="Treat diagnostic &lt;id&gt; as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.DIAG_WARNING" valueType="stringList">
+									<listOptionValue builtIn="false" value="225"/>
+								</option>
+								<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.DISPLAY_ERROR_NUMBER.1977901211" name="Emit diagnostic identifier numbers (--display_error_number, -pden)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
+								<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.DIAG_WRAP.1232132782" name="Wrap diagnostic messages (--diag_wrap)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.DIAG_WRAP" value="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.DIAG_WRAP.off" valueType="enumerated"/>
+								<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.INCLUDE_PATH.335120626" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.INCLUDE_PATH" valueType="includePath">
+									<listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/include&quot;"/>
+								</option>
+								<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.LITTLE_ENDIAN.802980794" name="Little endian code [See 'General' page to edit] (--little_endian, -me)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compilerID.LITTLE_ENDIAN" value="true" valueType="boolean"/>
+								<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compiler.inputType__C_SRCS.409076223" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compiler.inputType__C_SRCS"/>
+								<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compiler.inputType__CPP_SRCS.989139977" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compiler.inputType__CPP_SRCS"/>
+								<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compiler.inputType__ASM_SRCS.859367406" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compiler.inputType__ASM_SRCS"/>
+								<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compiler.inputType__ASM2_SRCS.1716196680" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.compiler.inputType__ASM2_SRCS"/>
+							</tool>
+							<tool id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.exe.linkerRelease.1467951253" name="ARM Linker" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.exe.linkerRelease">
+								<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.linkerID.MAP_FILE.240946439" name="Input and output sections listed into &lt;file&gt; (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.linkerID.MAP_FILE" value="&quot;${ProjName}.map&quot;" valueType="string"/>
+								<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.linkerID.STACK_SIZE.1545566904" name="Set C system stack size (--stack_size, -stack)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.linkerID.STACK_SIZE" value="512" valueType="string"/>
+								<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.linkerID.HEAP_SIZE.1524234150" name="Heap size for C/C++ dynamic memory allocation (--heap_size, -heap)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.linkerID.HEAP_SIZE" value="0" valueType="string"/>
+								<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.linkerID.OUTPUT_FILE.1533466585" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.linkerID.OUTPUT_FILE" value="&quot;${ProjName}.out&quot;" valueType="string"/>
+								<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.linkerID.XML_LINK_INFO.1975240054" name="Detailed link information data-base into &lt;file&gt; (--xml_link_info, -xml_link_info)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.linkerID.XML_LINK_INFO" value="&quot;${ProjName}_linkInfo.xml&quot;" valueType="string"/>
+								<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.linkerID.DISPLAY_ERROR_NUMBER.942885955" name="Emit diagnostic identifier numbers (--display_error_number)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.linkerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
+								<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.linkerID.DIAG_WRAP.946589408" name="Wrap diagnostic messages (--diag_wrap)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.linkerID.DIAG_WRAP" value="com.ti.ccstudio.buildDefinitions.TMS470_5.1.linkerID.DIAG_WRAP.off" valueType="enumerated"/>
+								<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.linkerID.SEARCH_PATH.1476871759" name="Add &lt;dir&gt; to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.linkerID.SEARCH_PATH" valueType="libPaths">
+									<listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/lib&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${CG_TOOL_ROOT}/include&quot;"/>
+								</option>
+								<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.linkerID.LIBRARY.1165313027" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.linkerID.LIBRARY" valueType="libs">
+									<listOptionValue builtIn="false" value="&quot;libc.a&quot;"/>
+								</option>
+								<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.exeLinker.inputType__CMD_SRCS.915101238" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.exeLinker.inputType__CMD_SRCS"/>
+								<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.exeLinker.inputType__CMD2_SRCS.1981953141" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.exeLinker.inputType__CMD2_SRCS"/>
+								<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_5.1.exeLinker.inputType__GEN_CMDS.1075913994" name="Generated Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.1.exeLinker.inputType__GEN_CMDS"/>
+							</tool>
+						</toolChain>
+					</folderInfo>
+				</configuration>
+			</storageModule>
+			<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+		</cconfiguration>
+	</storageModule>
+	<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
+	<storageModule moduleId="cdtBuildSystem" version="4.0.0">
+		<project id="toppers-asp-1.9.0_demo.com.ti.ccstudio.buildDefinitions.TMS470.ProjectType.1676385579" name="ARM" projectType="com.ti.ccstudio.buildDefinitions.TMS470.ProjectType"/>
+	</storageModule>
+	<storageModule moduleId="scannerConfiguration"/>
+	<storageModule moduleId="org.eclipse.cdt.core.language.mapping">
+		<project-mappings>
+			<content-type-mapping configuration="" content-type="org.eclipse.cdt.core.asmSource" language="com.ti.ccstudio.core.TIASMLanguage"/>
+			<content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cHeader" language="com.ti.ccstudio.core.TIGCCLanguage"/>
+			<content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cSource" language="com.ti.ccstudio.core.TIGCCLanguage"/>
+			<content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxHeader" language="com.ti.ccstudio.core.TIGPPLanguage"/>
+			<content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxSource" language="com.ti.ccstudio.core.TIGPPLanguage"/>
+		</project-mappings>
+	</storageModule>
+</cproject>
Index: /asp_ccsproject/trunk/toppers-asp-1.9.0_demo/.launches/toppers-asp-1.9.0_demo.launch
===================================================================
--- /asp_ccsproject/trunk/toppers-asp-1.9.0_demo/.launches/toppers-asp-1.9.0_demo.launch	(revision 85)
+++ /asp_ccsproject/trunk/toppers-asp-1.9.0_demo/.launches/toppers-asp-1.9.0_demo.launch	(revision 85)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="com.ti.ccstudio.debug.launchType.device.debugging">
+<stringAttribute key="com.ti.ccstudio.debug.debugModel.ATTR_CPUS_WITH_PROJECT" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#13;&#10;&lt;cpus_with_project&gt;&#13;&#10;&lt;id id=&quot;Stellaris In-Circuit Debug Interface/CORTEX_M4_0&quot; isa=&quot;CORTEX_M4&quot;/&gt;&#13;&#10;&lt;/cpus_with_project&gt;"/>
+<stringAttribute key="com.ti.ccstudio.debug.debugModel.ATTR_DEBUGGER_PROPERTIES.Stellaris In-Circuit Debug Interface/CORTEX_M4_0" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot; ?&gt;&#10;&lt;PropertyValues&gt;&#10;&#10;  &lt;property id=&quot;ConnectOnStartup&quot;&gt;&#10;    &lt;curValue&gt;1&lt;/curValue&gt;&#10;  &lt;/property&gt;&#10;&#10;  &lt;property id=&quot;EnableInstalledBreakpoint&quot;&gt;&#10;    &lt;curValue&gt;1&lt;/curValue&gt;&#10;  &lt;/property&gt;&#10;&#10;  &lt;property id=&quot;IgnoreSoftLaunchFailures&quot;&gt;&#10;    &lt;curValue&gt;0&lt;/curValue&gt;&#10;  &lt;/property&gt;&#10;&#10;&lt;/PropertyValues&gt;&#10;"/>
+<stringAttribute key="com.ti.ccstudio.debug.debugModel.ATTR_PROGRAM.Stellaris In-Circuit Debug Interface/CORTEX_M4_0" value="${build_artifact:toppers-asp-1.9.0_demo}"/>
+<stringAttribute key="com.ti.ccstudio.debug.debugModel.ATTR_PROJECT.Stellaris In-Circuit Debug Interface/CORTEX_M4_0" value="toppers-asp-1.9.0_demo"/>
+<stringAttribute key="com.ti.ccstudio.debug.debugModel.ATTR_TARGET_CONFIG" value="${target_config_active_default:toppers-asp-1.9.0_demo}"/>
+<stringAttribute key="com.ti.ccstudio.debug.debugModel.MRU_PROGRAM.Stellaris In-Circuit Debug Interface/CORTEX_M4_0" value="C:/Users\AD-Haru\workspace_stellaris\toppers-asp-1.9.0_demo\Debug\toppers-asp-1.9.0_demo.out"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/toppers-asp-1.9.0_demo"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="4"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.debug.core.source_locator_id" value="com.ti.ccstudio.debug.sourceLocator"/>
+<stringAttribute key="org.eclipse.debug.core.source_locator_memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;sourceLookupDirector&gt;&#13;&#10;&lt;sourceContainers duplicates=&quot;false&quot;&gt;&#13;&#10;&lt;container memento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&amp;#13;&amp;#10;&amp;lt;default/&amp;gt;&amp;#13;&amp;#10;&quot; typeId=&quot;org.eclipse.debug.core.containerType.default&quot;/&gt;&#13;&#10;&lt;container memento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&amp;#13;&amp;#10;&amp;lt;cpuSpecificContainer cpuName=&amp;quot;Stellaris In-Circuit Debug Interface/CORTEX_M4_0&amp;quot;&amp;gt;&amp;#13;&amp;#10;&amp;lt;childContainerEntry childMemento=&amp;quot;&amp;amp;lt;?xml version=&amp;amp;quot;1.0&amp;amp;quot; encoding=&amp;amp;quot;UTF-8&amp;amp;quot; standalone=&amp;amp;quot;no&amp;amp;quot;?&amp;amp;gt;&amp;amp;#13;&amp;amp;#10;&amp;amp;lt;default/&amp;amp;gt;&amp;amp;#13;&amp;amp;#10;&amp;quot; childType=&amp;quot;org.eclipse.debug.core.containerType.default&amp;quot;/&amp;gt;&amp;#13;&amp;#10;&amp;lt;childContainerEntry childMemento=&amp;quot;&amp;amp;lt;?xml version=&amp;amp;quot;1.0&amp;amp;quot; encoding=&amp;amp;quot;UTF-8&amp;amp;quot; standalone=&amp;amp;quot;no&amp;amp;quot;?&amp;amp;gt;&amp;amp;#13;&amp;amp;#10;&amp;amp;lt;project name=&amp;amp;quot;toppers-asp-1.9.0_demo&amp;amp;quot; referencedProjects=&amp;amp;quot;true&amp;amp;quot;/&amp;amp;gt;&amp;amp;#13;&amp;amp;#10;&amp;quot; childType=&amp;quot;org.eclipse.debug.core.containerType.project&amp;quot;/&amp;gt;&amp;#13;&amp;#10;&amp;lt;/cpuSpecificContainer&amp;gt;&amp;#13;&amp;#10;&quot; typeId=&quot;com.ti.ccstudio.debug.containerType.cpu.specific&quot;/&gt;&#13;&#10;&lt;/sourceContainers&gt;&#13;&#10;&lt;/sourceLookupDirector&gt;&#13;&#10;"/>
+</launchConfiguration>
Index: /asp_ccsproject/trunk/toppers-asp-1.9.0_demo/.project
===================================================================
--- /asp_ccsproject/trunk/toppers-asp-1.9.0_demo/.project	(revision 85)
+++ /asp_ccsproject/trunk/toppers-asp-1.9.0_demo/.project	(revision 85)
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>toppers-asp-1.9.0_demo</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
+			<triggers>full,incremental,</triggers>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>com.ti.ccstudio.core.ccsNature</nature>
+		<nature>org.eclipse.cdt.core.cnature</nature>
+		<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+		<nature>org.eclipse.cdt.core.ccnature</nature>
+		<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
+	</natures>
+	<linkedResources>
+		<link>
+			<name>config</name>
+			<type>2</type>
+			<locationURI>virtual:/virtual</locationURI>
+		</link>
+		<link>
+			<name>library</name>
+			<type>2</type>
+			<locationURI>virtual:/virtual</locationURI>
+		</link>
+		<link>
+			<name>sample1.c</name>
+			<type>1</type>
+			<locationURI>OS_ROOT/KERNEL_LIB/sample1.c</locationURI>
+		</link>
+		<link>
+			<name>syssvc</name>
+			<type>2</type>
+			<locationURI>virtual:/virtual</locationURI>
+		</link>
+		<link>
+			<name>config/kernel_cfg.c</name>
+			<type>1</type>
+			<locationURI>OS_ROOT/KERNEL_LIB/kernel_cfg.c</locationURI>
+		</link>
+		<link>
+			<name>library/log_output.c</name>
+			<type>1</type>
+			<locationURI>OS_ROOT/library/log_output.c</locationURI>
+		</link>
+		<link>
+			<name>library/strerror.c</name>
+			<type>1</type>
+			<locationURI>OS_ROOT/library/strerror.c</locationURI>
+		</link>
+		<link>
+			<name>library/t_perror.c</name>
+			<type>1</type>
+			<locationURI>OS_ROOT/library/t_perror.c</locationURI>
+		</link>
+		<link>
+			<name>library/vasyslog.c</name>
+			<type>1</type>
+			<locationURI>OS_ROOT/library/vasyslog.c</locationURI>
+		</link>
+		<link>
+			<name>syssvc/banner.c</name>
+			<type>1</type>
+			<locationURI>OS_ROOT/syssvc/banner.c</locationURI>
+		</link>
+		<link>
+			<name>syssvc/syslog.c</name>
+			<type>1</type>
+			<locationURI>OS_ROOT/syssvc/syslog.c</locationURI>
+		</link>
+	</linkedResources>
+	<variableList>
+		<variable>
+			<name>OS_ROOT</name>
+			<value>file:/C:/TOPPERS/asp-1.9.0</value>
+		</variable>
+	</variableList>
+</projectDescription>
Index: /asp_ccsproject/trunk/toppers-asp-1.9.0_demo/.settings/org.eclipse.cdt.codan.core.prefs
===================================================================
--- /asp_ccsproject/trunk/toppers-asp-1.9.0_demo/.settings/org.eclipse.cdt.codan.core.prefs	(revision 85)
+++ /asp_ccsproject/trunk/toppers-asp-1.9.0_demo/.settings/org.eclipse.cdt.codan.core.prefs	(revision 85)
@@ -0,0 +1,3 @@
+eclipse.preferences.version=1
+inEditor=false
+onBuild=false
Index: /asp_ccsproject/trunk/toppers-asp-1.9.0_demo/.settings/org.eclipse.cdt.debug.core.prefs
===================================================================
--- /asp_ccsproject/trunk/toppers-asp-1.9.0_demo/.settings/org.eclipse.cdt.debug.core.prefs	(revision 85)
+++ /asp_ccsproject/trunk/toppers-asp-1.9.0_demo/.settings/org.eclipse.cdt.debug.core.prefs	(revision 85)
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.eclipse.cdt.debug.core.toggleBreakpointModel=com.ti.ccstudio.debug.CCSBreakpointMarker
Index: /asp_ccsproject/trunk/toppers-asp-1.9.0_demo/lm4f120h5qr.cmd
===================================================================
--- /asp_ccsproject/trunk/toppers-asp-1.9.0_demo/lm4f120h5qr.cmd	(revision 85)
+++ /asp_ccsproject/trunk/toppers-asp-1.9.0_demo/lm4f120h5qr.cmd	(revision 85)
@@ -0,0 +1,48 @@
+/******************************************************************************
+ *
+ * Default Linker Command file for the Texas Instruments LM4F120H5QR
+ *
+ * This is part of revision 10114 of the Stellaris Peripheral Driver Library.
+ *
+ *****************************************************************************/
+
+--retain=_kernel_vector_table
+
+MEMORY
+{
+    FLASH (RX) : origin = 0x00000000, length = 0x00040000
+    SRAM (RWX) : origin = 0x20000000, length = 0x00008000
+}
+
+/* The following command line options are set as part of the CCS project.    */
+/* If you are building using the command line, or for some reason want to    */
+/* define them here, you can uncomment and modify these lines as needed.     */
+/* If you are using CCS for building, it is probably better to make any such */
+/* modifications in your CCS project and leave this file alone.              */
+/*                                                                           */
+/* --heap_size=0                                                             */
+/* --stack_size=256                                                          */
+/* --library=rtsv7M4_T_le_eabi.lib                                           */
+
+/* Section allocation in memory */
+
+SECTIONS
+{
+    .vector :   > 0x00000000
+    .text   :   > FLASH
+    .const  :   > FLASH
+    .cinit  :   > FLASH
+    .pinit  :   > FLASH
+    .init_array : > FLASH
+    .rodata : > FLASH
+    .rodata.str1.4 : > FLASH
+
+
+    .vtable :   > 0x20000000
+    .data   :   > SRAM
+    .bss    :   > SRAM
+    .sysmem :   > SRAM
+    .stack  :   > SRAM
+}
+
+__STACK_TOP = __stack + 512;
Index: /asp_ccsproject/trunk/toppers-asp-1.9.0_demo/start.c
===================================================================
--- /asp_ccsproject/trunk/toppers-asp-1.9.0_demo/start.c	(revision 85)
+++ /asp_ccsproject/trunk/toppers-asp-1.9.0_demo/start.c	(revision 85)
@@ -0,0 +1,28 @@
+/*
+ * start.c
+ *
+ *  Created on: 2014/04/24
+ *      Author: ECS
+ */
+
+#include <kernel.h>
+#include <kernel/kernel_impl.h>
+
+void (*volatile software_term_hook)(void) = 0;
+
+// Called on Reset, defined by vector table.
+void _start(void)
+{
+    __asm("    .global _c_int00\n"
+          "    b.w     _c_int00");
+}
+
+// Called by _c_init00.
+int main(void)
+{
+	// CPU lock is required until the dispatch to task.
+	__asm("    cpsid f");
+
+    // Starting kernel
+	sta_ker();
+}
