Index: asp3_tinet_ecnl_arm/trunk/asp3_dcre/target/gr_peach_gcc/Makefile.target
===================================================================
--- asp3_tinet_ecnl_arm/trunk/asp3_dcre/target/gr_peach_gcc/Makefile.target	(revision 352)
+++ asp3_tinet_ecnl_arm/trunk/asp3_dcre/target/gr_peach_gcc/Makefile.target	(revision 374)
@@ -30,4 +30,7 @@
 endif
 
+CDEFS := $(CDEFS) -DUSE_ARM_FPU
+COPTS := $(COPTS) -mfloat-abi=hard
+
 #
 #  MPCoreの種類の定義
@@ -55,5 +58,5 @@
 	CDEFS := $(CDEFS) -DTOPPERS_EXECUTE_ON_ROM
 	#LDSCRIPT = $(TARGETDIR)/gr_peach_rom.ld
-	LDSCRIPT = $(SRCDIR)/mbed/targets/TARGET_RENESAS/TARGET_RZ_A1H/device/TOOLCHAIN_GCC_ARM/RZA1H.ld
+	LDSCRIPT = $(SRCDIR)/mbed/targets/TARGET_RENESAS/TARGET_RZA1XX/TARGET_RZ_A1H/device/TOOLCHAIN_GCC_ARM/RZA1H.ld
 else
 	CDEFS := $(CDEFS) -DTOPPERS_EXECUTE_ON_RAM
Index: asp3_tinet_ecnl_arm/trunk/asp3_dcre/target/gr_peach_gcc/cfg_dmy.c
===================================================================
--- asp3_tinet_ecnl_arm/trunk/asp3_dcre/target/gr_peach_gcc/cfg_dmy.c	(revision 352)
+++ asp3_tinet_ecnl_arm/trunk/asp3_dcre/target/gr_peach_gcc/cfg_dmy.c	(revision 374)
@@ -1,5 +1,6 @@
 #include "MBRZA1H.h"
+#include <stdlib.h>
 
-IRQHandler _kernel_inh_table[Renesas_RZ_A1_IRQ_MAX+1];
+IRQHandler _kernel_inh_table[RZ_A1_IRQ_MAX+1];
 uint32_t _kernel_excpt_nest_count = 0;
 
@@ -23,4 +24,5 @@
 {
 }
+
 void _kernel_irq_handler()
 {
@@ -31,5 +33,23 @@
 }
 
-void _start()
+void __libc_init_array()
 {
 }
+
+void *memset(void *dst, int c, size_t size)
+{
+	return NULL;
+}
+
+void *memcpy(void *dst, void * src, size_t size)
+{
+	return NULL;
+}
+
+int main()
+{
+}
+
+void exit(int exitcd)
+{
+}
Index: asp3_tinet_ecnl_arm/trunk/asp3_dcre/target/gr_peach_gcc/tSIOPortGRPeach.cdl
===================================================================
--- asp3_tinet_ecnl_arm/trunk/asp3_dcre/target/gr_peach_gcc/tSIOPortGRPeach.cdl	(revision 352)
+++ asp3_tinet_ecnl_arm/trunk/asp3_dcre/target/gr_peach_gcc/tSIOPortGRPeach.cdl	(revision 374)
@@ -50,10 +50,10 @@
  */
 import_C("gr_peach.h");
-import_C("rza1.h");
+import_C("device.h");
 
 /*
  *  FIFO内蔵シリアルコミュニケーションインタフェース用 簡易SIOドライバ
  */
-import("tSCIF.cdl");
+import("tMbedSerial.cdl");
 
 /*
@@ -73,10 +73,4 @@
 	call			sSIOPort	cSIOPort;
 	[inline] entry	siSIOCBR	eiSIOCBR;
-
-	/*
-	 *  割込み要求ライン操作のための結合
-	 */
-	call	sInterruptRequest	cRxInterruptRequest;
-	call	sInterruptRequest	cTxInterruptRequest;
 };
 
@@ -85,5 +79,4 @@
  *  ト）のセルタイプ
  */
-[active]
 composite tSIOPortGRPeach {
 	/*
@@ -97,9 +90,6 @@
 	 */
 	attr {
-		uintptr_t	baseAddress;				/* ベースアドレス */
-		INTNO		rxInterruptNumber;			/* 受信割込み番号 */
-		INTNO		txInterruptNumber;			/* 送信割込み番号 */
-		PRI			isrPriority = 1;			/* ISR優先度 */
-		PRI			interruptPriority = -4;		/* 割込み優先度 */
+		int32_t tx;								/* 送信Pin */
+		int32_t rx;								/* 受信Pin */
 		uint32_t	baudRate = 115200;			/* ボーレートの設定値 */
 	};
@@ -108,6 +98,7 @@
 	 *  SIOドライバ
 	 */
-	cell tSCIF SCIF {
-		baseAddress = composite.baseAddress;
+	cell tMbedSerial MbedSerial {
+		tx          = composite.tx;
+		rx          = composite.rx;
 		baudRate    = composite.baudRate;
 		ciSIOCBR    = SIOPortMain.eiSIOCBR;
@@ -119,35 +110,7 @@
 	cell tSIOPortGRPeachMain SIOPortMain {
 		ciSIOCBR            => composite.ciSIOCBR;
-		cSIOPort            = SCIF.eSIOPort;
-		cRxInterruptRequest = RxInterruptRequest.eInterruptRequest;
-		cTxInterruptRequest = TxInterruptRequest.eInterruptRequest;
+		cSIOPort            = MbedSerial.eSIOPort;
 	};
 	composite.eSIOPort => SIOPortMain.eSIOPort;
-
-	/*
-	 *  SIOの受信割込みサービスルーチンと割込み要求ライン
-	 */
-	cell tISR RxISRInstance {
-		interruptNumber = composite.rxInterruptNumber;
-		isrPriority     = composite.isrPriority;
-		ciISRBody       = SCIF.eiRxISR;
-	};
-	cell tInterruptRequest RxInterruptRequest {
-		interruptNumber   = composite.rxInterruptNumber;
-		interruptPriority = composite.interruptPriority;
-	};
-
-	/*
-	 *  SIOの受信割込みサービスルーチンと割込み要求ライン
-	 */
-	cell tISR TxISRInstance {
-		interruptNumber = composite.txInterruptNumber;
-		isrPriority     = composite.isrPriority;
-		ciISRBody       = SCIF.eiTxISR;
-	};
-	cell tInterruptRequest TxInterruptRequest {
-		interruptNumber   = composite.txInterruptNumber;
-		interruptPriority = composite.interruptPriority;
-	};
 };
 
@@ -157,13 +120,12 @@
  *  サンプルプログラムが使うポートが，SIOPortTarget1に固定されているた
  *  め，ポート1とポート3を入れ換えている．具体的には，SIOPortTarget1は
- *  SCIFのチャネル2（チャネル番号は0から始まるので，ポート3のこと）に，
- *  SIOPortTarget3はSCIFのチャネル0につながっている．
+ *  MbedSerialのチャネル2（チャネル番号は0から始まるので，ポート3のこと）に，
+ *  SIOPortTarget3はMbedSerialのチャネル0につながっている．
  */
 [prototype]
 cell tSIOPortGRPeach SIOPortTarget1 {
 	/* 属性の設定 */
-	baseAddress       = C_EXP("SCIF2_BASE");
-	rxInterruptNumber = C_EXP("INTNO_SCIF2_RXI");
-	txInterruptNumber = C_EXP("INTNO_SCIF2_TXI");
+	tx = C_EXP("P6_3");
+	rx = C_EXP("P6_2");
 };
 
@@ -171,7 +133,6 @@
 cell tSIOPortGRPeach SIOPortTarget2 {
 	/* 属性の設定 */
-	baseAddress       = C_EXP("SCIF1_BASE");
-	rxInterruptNumber = C_EXP("INTNO_SCIF1_RXI");
-	txInterruptNumber = C_EXP("INTNO_SCIF1_TXI");
+	tx = C_EXP("P2_5");
+	rx = C_EXP("P2_6");
 };
 
@@ -179,7 +140,6 @@
 cell tSIOPortGRPeach SIOPortTarget3 {
 	/* 属性の設定 */
-	baseAddress       = C_EXP("SCIF0_BASE");
-	rxInterruptNumber = C_EXP("INTNO_SCIF0_RXI");
-	txInterruptNumber = C_EXP("INTNO_SCIF0_TXI");
+	tx = C_EXP("P4_12");
+	rx = C_EXP("P4_13");
 };
 
@@ -187,7 +147,6 @@
 cell tSIOPortGRPeach SIOPortTarget4 {
 	/* 属性の設定 */
-	baseAddress       = C_EXP("SCIF3_BASE");
-	rxInterruptNumber = C_EXP("INTNO_SCIF3_RXI");
-	txInterruptNumber = C_EXP("INTNO_SCIF3_TXI");
+	tx = C_EXP("P2_14");
+	rx = C_EXP("P2_15");
 };
 
@@ -195,7 +154,6 @@
 cell tSIOPortGRPeach SIOPortTarget5 {
 	/* 属性の設定 */
-	baseAddress       = C_EXP("SCIF4_BASE");
-	rxInterruptNumber = C_EXP("INTNO_SCIF4_RXI");
-	txInterruptNumber = C_EXP("INTNO_SCIF4_TXI");
+	tx = C_EXP("P4_14");
+	rx = C_EXP("P4_15");
 };
 
@@ -203,7 +161,6 @@
 cell tSIOPortGRPeach SIOPortTarget6 {
 	/* 属性の設定 */
-	baseAddress       = C_EXP("SCIF5_BASE");
-	rxInterruptNumber = C_EXP("INTNO_SCIF5_RXI");
-	txInterruptNumber = C_EXP("INTNO_SCIF5_TXI");
+	tx = C_EXP("P5_3");
+	rx = C_EXP("P5_4");
 };
 
@@ -211,7 +168,6 @@
 cell tSIOPortGRPeach SIOPortTarget7 {
 	/* 属性の設定 */
-	baseAddress       = C_EXP("SCIF6_BASE");
-	rxInterruptNumber = C_EXP("INTNO_SCIF6_RXI");
-	txInterruptNumber = C_EXP("INTNO_SCIF6_TXI");
+	tx = C_EXP("P8_8");
+	rx = C_EXP("P8_9");
 };
 
@@ -219,6 +175,54 @@
 cell tSIOPortGRPeach SIOPortTarget8 {
 	/* 属性の設定 */
-	baseAddress       = C_EXP("SCIF7_BASE");
-	rxInterruptNumber = C_EXP("INTNO_SCIF7_RXI");
-	txInterruptNumber = C_EXP("INTNO_SCIF7_TXI");
-};
+	tx = C_EXP("P5_0");
+	rx = C_EXP("P5_1");
+};
+
+[prototype]
+cell tSIOPortGRPeach SIOPortTarget9 {
+	/* 属性の設定 */
+	tx = C_EXP("P8_14");
+	rx = C_EXP("P8_15");
+};
+
+[prototype]
+cell tSIOPortGRPeach SIOPortTarget10 {
+	/* 属性の設定 */
+	tx = C_EXP("P8_13");
+	rx = C_EXP("P8_11");
+};
+
+[prototype]
+cell tSIOPortGRPeach SIOPortTarget11 {
+	/* 属性の設定 */
+	tx = C_EXP("P11_10");
+	rx = C_EXP("P11_11");
+};
+
+[prototype]
+cell tSIOPortGRPeach SIOPortTarget12 {
+	/* 属性の設定 */
+	tx = C_EXP("P6_6");
+	rx = C_EXP("P6_7");
+};
+
+[prototype]
+cell tSIOPortGRPeach SIOPortTarget13 {
+	/* 属性の設定 */
+	tx = C_EXP("P5_6");
+	rx = C_EXP("P5_7");
+};
+
+[prototype]
+cell tSIOPortGRPeach SIOPortTarget14 {
+	/* 属性の設定 */
+	tx = C_EXP("P11_1");
+	rx = C_EXP("P11_2");
+};
+
+[prototype]
+cell tSIOPortGRPeach SIOPortTarget15 {
+	/* 属性の設定 */
+	tx = C_EXP("P7_4");
+	rx = C_EXP("P7_5");
+};
Index: asp3_tinet_ecnl_arm/trunk/asp3_dcre/target/gr_peach_gcc/tSIOPortGRPeachMain_inline.h
===================================================================
--- asp3_tinet_ecnl_arm/trunk/asp3_dcre/target/gr_peach_gcc/tSIOPortGRPeachMain_inline.h	(revision 352)
+++ asp3_tinet_ecnl_arm/trunk/asp3_dcre/target/gr_peach_gcc/tSIOPortGRPeachMain_inline.h	(revision 374)
@@ -57,10 +57,4 @@
 	 */
 	cSIOPort_open();
-
-	/*
-	 *  SIOの割込みマスクを解除する．
-	 */
-	cRxInterruptRequest_enable();
-	cTxInterruptRequest_enable();
 }
 
@@ -77,10 +71,4 @@
 	 */
 	cSIOPort_close();
-
-	/*
-	 *  SIOの割込みをマスクする．
-	 */
-	cRxInterruptRequest_disable();
-	cTxInterruptRequest_disable();
 }
 
Index: asp3_tinet_ecnl_arm/trunk/asp3_dcre/target/gr_peach_gcc/target_kernel_impl.c
===================================================================
--- asp3_tinet_ecnl_arm/trunk/asp3_dcre/target/gr_peach_gcc/target_kernel_impl.c	(revision 352)
+++ asp3_tinet_ecnl_arm/trunk/asp3_dcre/target/gr_peach_gcc/target_kernel_impl.c	(revision 374)
@@ -47,7 +47,13 @@
 #include "arm.h"
 #include "rza1.h"
-#include "scif.h"
-#include "core_pl310.h"
-#include "us_ticker_api.h"
+
+/*
+ * C++のグローバルコンストラクタ呼び出し
+ */
+void __libc_init_array()
+{
+	/* グローバルコンストラクタでOS APIを呼び出す場合は、
+	   タスクが起動してから行う */
+}
 
 /*
@@ -209,5 +215,5 @@
  *  セルタイプtPutLogGRPeach内に実装されている関数を直接呼び出す．
  */
-extern void	tPutLogGRPeach_initialize(void);
+extern void tPutLogGRPeach_initialize(void);
 
 /*
@@ -294,98 +300,2 @@
 	rza1_config_port(RZA1_PORT_P(6), led, set);
 }
-
-void us_ticker_init(void)
-{
-}
-
-uint32_t us_ticker_read()
-{
-	ER ret;
-	SYSTIM now;
-
-	ret = get_tim(&now);
-	if(ret != E_OK)
-		return 0;
-
-	return now;
-}
-
-void us_ticker_set_interrupt(timestamp_t timestamp)
-{
-	Asm("bkpt #0");
-}
-
-void us_ticker_disable_interrupt(void)
-{
-}
-
-void us_ticker_clear_interrupt(void)
-{
-}
-
-void wait(float s)
-{
-	wait_us(s * 1000000.0f);
-}
-
-void wait_ms(int ms)
-{
-	wait_us(ms * 1000);
-}
-
-void wait_us(int us)
-{
-	ER ret;
-
-	ret = dly_tsk(us);
-	if (ret == E_CTX){
-		uint32_t start = us_ticker_read();
-		while ((us_ticker_read() - start) < (uint32_t)us);
-	}
-}
-
-//#include <errno.h>
-#define ENOSYS          38
-
-__attribute__((weak))
-long SYS_poll()
-{
-	return -ENOSYS;
-}
-
-__attribute__((weak))
-long SYS_open()
-{
-	return -ENOSYS;
-}
-
-__attribute__((weak))
-void SYS_set_tid_address()
-{
-	return 0;//-ENOSYS;
-}
-
-__attribute__((weak))
-void SYS_mmap2()
-{
-	return 0;//-ENOSYS;
-}
-
-__attribute__((weak))
-void ARM_SYS_set_tls(long a)
-{
-	__asm__ __volatile__("mcr p15,0,%0,c13,c0,3" :: "r"(a));
-	return 0;
-}
-
-__attribute__((weak))
-void SYS_exit_group()
-{
-	ext_ker();
-}
-
-__attribute__((weak))
-void SYS_exit()
-{
-	ext_ker();
-}
