Index: /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/Makefile.prc
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/Makefile.prc	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/Makefile.prc	(revision 95)
@@ -4,9 +4,9 @@
 
 #
-#		Makefile ÌvZbTË¶iARM-Mpj
+#		Makefile のプロセッサ依存部（ARM-M用）
 #
 
 #
-#  RpCIvV
+#  コンパイルオプション
 #
 COPTS := $(COPTS) -mthumb 
@@ -17,5 +17,5 @@
 
 #
-#  J[lÉÖ·éè`
+#  カーネルに関する定義
 #
 KERNEL_DIR := $(KERNEL_DIR) $(SRCDIR)/arch/$(PRC)_$(TOOL)
@@ -24,11 +24,10 @@
 
 #
-#  RtBM
-[^ÖWÌÏÌè`
+#  コンフィギュレータ関係の変数の定義
 #
 CFG_TABS := $(CFG_TABS) --cfg1-def-table $(SRCDIR)/arch/$(PRC)_$(TOOL)/prc_def.csv
 
 #
-#  Ë¶ÖWÌè`
+#  依存関係の定義
 #
 cfg1_out.c: $(SRCDIR)/arch/$(PRC)_$(TOOL)/prc_def.csv
Index: /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/arm_m.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/arm_m.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/arm_m.h	(revision 95)
@@ -6,36 +6,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id: arm_m.h 1304 2008-08-27 07:28:36Z ertl-honda $
@@ -43,5 +39,5 @@
 
 /*
- *  ARMVx-MÌn[hEFA¹Ìè`
+ *  ARMVx-Mのハードウェア資源の定義
  */
 
@@ -51,21 +47,21 @@
 
 /*
- *  EPSRÌTrbg
+ *  EPSRのTビット
  */
 #define EPSR_T   0x01000000
 
 /*
- * IPSRÌ ISR NUMBER
+ * IPSRの ISR NUMBER
  */
 #define IPSR_ISR_NUMBER 0x1ff
 
 /*
- *  áOEÝ­¶ÉX^bNãÉÏÜêéÛ¶ÌæÌTCY
- *  {J[lÅÍáOt[ÆÄÔ
+ *  例外・割込み発生時にスタック上に積まれる保存領域のサイズ
+ *  本カーネルでは例外フレームと呼ぶ
  */
 #define EXC_FRAME_SIZE         (8*4)
 
 /*
- *  áOEÝ­¶ÉLRÉÝè³êéEXC_RETURNÌl
+ *  例外・割込み発生時にLRに設定されるEXC_RETURNの値
  */
 #define EXC_RETURN_HANDLER      0x0
@@ -75,5 +71,5 @@
 
 /*
- *  CONTROLWX^
+ *  CONTROLレジスタ
  */
 #define CONTROL_PSP            0x02
@@ -81,5 +77,5 @@
 
 /*
- *  áOÔ
+ *  例外番号
  */
 #define EXCNO_NMI         2
@@ -93,5 +89,5 @@
 
 /*
- *  áOÔÌÅ¬lÆÅål
+ *  例外番号の最小値と最大値
  */
 #define TMIN_EXCNO   2
@@ -99,15 +95,15 @@
 
 /*
- *  ÝÔ
+ *  割込み番号
  */
 #define IRQNO_SYSTICK    15
 
 /*
- *  ÝÔÌÅ¬l
+ *  割込み番号の最小値
  */
 #define TMIN_INTNO       15
 
 /*
- *  áOt[ÌItZbg
+ *  例外フレームのオフセット
  */
 #define P_EXCINF_OFFSET_EXC_RETURN  0x00
@@ -117,9 +113,9 @@
 
 /*
- *  NVICÖA
+ *  NVIC関連
  */
 
 /*
- *  Rg[WX^
+ *  コントロールレジスタ
  */
 #define NVIC_INT_CTRL       0xe000ed04
@@ -128,10 +124,10 @@
 
 /*
- *  VXenh[Rg[WX^
+ *  システムハンドラーコントロールレジスタ
  */
 #define NVIC_SYS_HND_CTRL   0xE000ED24
 
 /*
- *  eáOÌÂrbg
+ *  各例外の許可ビット
  */
 #define NVIC_SYS_HND_CTRL_USAGE 0x00040000
@@ -140,5 +136,5 @@
 
 /*
- *  DæxÝèWX^
+ *  優先度設定レジスタ
  */
 #define NVIC_SYS_PRI1       0xE000ED18  // Sys. Handlers 4 to 7 Priority
@@ -148,15 +144,15 @@
 
 /*
- *  ÝÂWX^
+ *  割込み許可レジスタ
  */
 #define NVIC_SETENA0        0xE000E100  // IRQ 0 to 31 Set Enable Register
 
 /*
- *  ÝÖ~WX^
+ *  割込み禁止レジスタ
  */
 #define NVIC_CLRENA0        0xE000E180  // IRQ 0 to 31 Set Disable Register
 
 /*
- *  xN^e[uItZbgWX^
+ *  ベクタテーブルオフセットレジスタ
  */
 #define NVIC_VECTTBL        0xE000ED08
@@ -164,5 +160,5 @@
 
 /*
- *  SYSTICÖAWX^
+ *  SYSTIC関連レジスタ
  */
 #define SYSTIC_CONTROL_STATUS 0xE000E010
Index: /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/prc.tf
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/prc.tf	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/prc.tf	(revision 95)
@@ -1,8 +1,8 @@
 $ 
-$     pX2ÌA[LeN`Ë¶ev[giARM-Mpj
+$     パス2のアーキテクチャ依存テンプレート（ARM-M用）
 $ 
 
 $ 
-$  LøÈÝÔCÝnhÔ
+$  有効な割込み番号，割込みハンドラ番号
 $ 
 $INTNO_VALID = RANGE(15, TMAX_INTNO)$
@@ -10,10 +10,10 @@
 
 $ 
-$  LøÈCPUáOÔ
+$  有効なCPU例外番号
 $ 
 $EXCNO_VALID = { 2,3,4,5,6,11,12,14 }$
 
 $ 
-$  ATT_ISRÅgpÅ«éÝÔÆ»êÉÎ·éÝnhÔ
+$  ATT_ISRで使用できる割込み番号とそれに対応する割込みハンドラ番号
 $ 
 $INTNO_ATTISR_VALID = INTNO_VALID$
@@ -21,5 +21,5 @@
 
 $ 
-$  DEF_INT^DEF_EXCÅgpÅ«éÝnhÔ^CPUáOnhÔ
+$  DEF_INT／DEF_EXCで使用できる割込みハンドラ番号／CPU例外ハンドラ番号
 $ 
 $INHNO_DEFINH_VALID = INHNO_VALID$
@@ -27,10 +27,10 @@
 
 $ 
-$  `FbNû@Ìwè
+$  チェック方法の指定
 $ 
 $CHECK_STKSZ_ALIGN = 8$
 
 $ 
-$  CFG_INTÅgpÅ«éÝÔÆÝDæx
+$  CFG_INTで使用できる割込み番号と割込み優先度
 $ 
 $INTNO_CFGINT_VALID = INTNO_VALID$
@@ -38,10 +38,10 @@
 
 $ 
-$  Ý®«Ì^[QbgË¶Ép¢érbg
+$  割込み属性中のターゲット依存に用いるビット
 $ 
 $ TARGET_INTATR = $
            
 $ 
-$  Wev[gt@CÌCN[h
+$  標準テンプレートファイルのインクルード
 $ 
 $INCLUDE "kernel/kernel.tf"$
@@ -53,5 +53,5 @@
 
 $ 
-$  xN^[e[u
+$  ベクターテーブル
 $ 
 
@@ -118,5 +118,5 @@
 
 $ 
-$  _kernel_bitpat_cfgintÌ¶¬
+$  _kernel_bitpat_cfgintの生成
 $ 
 
Index: /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/prc_cfg1_out.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/prc_cfg1_out.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/prc_cfg1_out.h	(revision 95)
@@ -4,5 +4,5 @@
 
 /*
- *		cfg1_out.cðN·é½ßÉKvÈX^uÌè`
+ *		cfg1_out.cをリンクするために必要なスタブの定義
  */
 
Index: /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/prc_check.tf
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/prc_check.tf	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/prc_check.tf	(revision 95)
@@ -1,8 +1,8 @@
 $ 
-$ 		pX3ÌvZbTË¶ev[giARM-Mpj
+$ 		パス3のプロセッサ依存テンプレート（ARM-M用）
 $ 
 
 $ 
-$  `FbNû@Ìwè
+$  チェック方法の指定
 $ 
 $CHECK_FUNC_ALIGN = 1$
@@ -14,5 +14,5 @@
 
 $ 
-$  Wev[gt@CÌCN[h
+$  標準テンプレートファイルのインクルード
 $ 
 $ $INCLUDE "kernel/kernel_check.tf"$
Index: /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/prc_config.c
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/prc_config.c	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/prc_config.c	(revision 95)
@@ -7,36 +7,32 @@
  *  Copyright (C) 2010 by Meika Sugimoto
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
- * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
+ * 
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id: prc_config.c 1304 2008-08-27 07:28:36Z ertl-honda $
@@ -44,6 +40,5 @@
 
 /*
- *		vZbTË¶W
-[iARM-Mpj
+ *		プロセッサ依存モジュール（ARM-M用）
  */
 
@@ -55,20 +50,20 @@
 
 /*
- *  CPUbNtOÀ»Ì½ßÌÏ
- */
-volatile bool_t		lock_flag;		/* CPUbNtOÌlðÛ·éÏ */
-volatile uint32_t	saved_iipm;		/* ÝDæx}XNðÛ¶·éÏ */
-
-/* ÝlXgÌÇ */
+ *  CPUロックフラグ実現のための変数
+ */
+volatile bool_t		lock_flag;		/* CPUロックフラグの値を保持する変数 */
+volatile uint32_t	saved_iipm;		/* 割込み優先度マスクを保存する変数 */
+
+/* 割込みネスト数の管理 */
 uint8_t intnest;
 
 /*
- *  xN^e[u(kernel_cfg.c)
+ *  ベクタテーブル(kernel_cfg.c)
  */
 extern const FP vector_table[];
 
 /*
- *  VXeáOEÝÌiáOÔ 4`15j
- *  ÝDæxÝèWX^ÖÌANZXÌ½ßÌzñ
+ *  システム例外・割込みの（例外番号 4〜15）
+ *  割込み優先度設定レジスタへのアクセスのための配列
  */
 static const unsigned int nvic_sys_pri_reg[] = {
@@ -80,7 +75,7 @@
 
 /*
- *  áOÆÝÌÝDæxðZbg
+ *  例外と割込みの割込み優先度をセット
  *
- *  excnoÍARM-MÅèßçêÄ¢é Exception Number ðwèD
+ *  excnoはARM-Mで定められている Exception Number を指定．
  */
 void
@@ -89,11 +84,11 @@
 
 	/*
-	 *  ÝDæxÝèWX^Ìè
+	 *  割込み優先度設定レジスタの決定
 	 */
 	if ((EXCNO_MPU <= excno) && (excno <= IRQNO_SYSTICK)) {
 		/*
-		 * Exception Number 4(Memory Management)©ç
-		 * Exception Number 15(SysTick)ÜÅÌÝDæxÍVXeDæx
-		 * WX^ÉæèÝèD
+		 * Exception Number 4(Memory Management)から
+		 * Exception Number 15(SysTick)までの割込み優先度はシステム優先度
+		 * レジスタにより設定．
 		 */
 		reg = nvic_sys_pri_reg[excno >> 2];
@@ -101,5 +96,5 @@
 	else if ((TMIN_INTNO < excno) && (excno <= TMAX_INTNO)){
 		/*
-		 * IRQÝÈç
+		 * IRQ割込みなら
 		 */
 		reg = NVIC_PRI0 + (((excno - (TMIN_INTNO + 1)) >> 2) * 4);
@@ -116,7 +111,7 @@
 
 /*
- *  áOÌÂ
+ *  例外の許可
  *
- *  Memory Management, Bus Fault, Usage Fault ÍÖ~EÂª¨¤
+ *  Memory Management, Bus Fault, Usage Fault は禁止・許可が買おう
  */
 void
@@ -145,5 +140,5 @@
 
 /*
- *  áOÌÖ~
+ *  例外の禁止
  */
 void
@@ -173,5 +168,5 @@
 
 /*
- *  vZbTË¶Ìú»
+ *  プロセッサ依存の初期化
  */
 void
@@ -179,24 +174,24 @@
 {
 	/*
-	 *  CPUbNtOÀ»Ì½ßÌÏÌú»
+	 *  CPUロックフラグ実現のための変数の初期化
 	 */
 	lock_flag = true;
 	saved_iipm = IIPM_ENAALL;
 	
-	/* ÝlXgÌú» */
+	/* 割込みネスト数の初期化 */
 	intnest = 0u;
 
 	/*
-	 *  xN^e[uðÝè
+	 *  ベクタテーブルを設定
 	 */
 	sil_wrw_mem((void*)NVIC_VECTTBL, (uint32_t)vector_table);
 
 	/*
-	 *  SVCnhÌDæxðÝè
+	 *  SVCハンドラの優先度を設定
 	 */
 	set_exc_int_priority(EXCNO_SVCALL, 0);
 
 	/*
-	 *  SVCnhðLøÉ
+	 *  SVCハンドラを有効に
 	 */
 	x_enable_int(EXCNO_SVCALL);	
@@ -204,5 +199,5 @@
 
 /*
- *  vZbTË¶ÌI¹
+ *  プロセッサ依存の終了処理
  */
 void
@@ -214,5 +209,5 @@
 
 /*
- *  ÝvC®«ÌÝè
+ *  割込み要求ライン属性の設定
  */
 void
@@ -223,5 +218,5 @@
 
 	/* 
-	 *  êUÝðÖ~·é
+	 *  一旦割込みを禁止する
 	 */    
 	(void)x_disable_int(intno);
@@ -229,11 +224,11 @@
 
 	/*
-	 *  ÝDæxðZbg
+	 *  割込み優先度をセット
 	 */
 	set_exc_int_priority(intno, intpri);
 
 	/*
-	 *  Ýv}XNð(KvÈê)
-	 *  ¯ÉÝDæxàZbg³êé
+	 *  割込み要求マスク解除(必要な場合)
+	 *  同時に割込み優先度もセットされる
 	 */
 	if ((intatr & TA_ENAINT) != 0U) {
@@ -245,5 +240,5 @@
 #ifndef OMIT_DEFAULT_EXC_HANDLER
 /*
- *  TrapaÈOÌáOÅo^³êÄ¢È¢áOª­¶·éÆÄÑo³êé
+ *  Trapa以外の例外で登録されていない例外が発生すると呼び出される
  */
 void
@@ -265,5 +260,5 @@
 #ifndef OMIT_DEFAULT_INT_HANDLER
 /*
- *  ¢o^ÌÝª­¶µ½êÉÄÑo³êé
+ *  未登録の割込みが発生した場合に呼び出される
  */
 void
Index: /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/prc_config.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/prc_config.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/prc_config.h	(revision 95)
@@ -8,36 +8,32 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id: prc_config.h 1304 2008-08-27 07:28:36Z ertl-honda $
@@ -45,10 +41,9 @@
 
 /*
- *		vZbTË¶W
-[iARM-Mpj
- *
- *  ±ÌCN[ht@CÍCtarget_config.hiÜ½ÍC»±©çCN
- *  [h³êét@CjÌÝ©çCN[h³êéD¼Ìt@C©ç
- *  ¼ÚCN[hµÄÍÈçÈ¢D
+ *		プロセッサ依存モジュール（ARM-M用）
+ *
+ *  このインクルードファイルは，target_config.h（または，そこからインク
+ *  ルードされるファイル）のみからインクルードされる．他のファイルから
+ *  直接インクルードしてはならない．
  */
 
@@ -59,10 +54,10 @@
 
 /*
- *  vZbTÌÁê½ßÌCCÖè`
+ *  プロセッサの特殊命令のインライン関数定義
  */
 #include "prc_insn.h"
 
 /*
- *  ñ^XNReLXgpÌX^bNúl
+ *  非タスクコンテキスト用のスタック初期値
  */
 #define TOPPERS_ISTKPT(istk, istksz) ((STK_T *)((char *)(istk) + (istksz)))
@@ -73,10 +68,10 @@
 
 /*
- *  ÝlXg
+ *  割込みネスト数
  */
 extern uint8_t intnest;
 
 /*
- *  ReLXgÌQÆ
+ *  コンテキストの参照
  *
  */
@@ -99,52 +94,52 @@
 
 /*
- *  TOPPERSWÝfÌÀ»
- *
- *  ÝDæx}XNÆµÄÍCBASEPRIðp¢éDSÝðÖ~·é
- *  @\ÆµÄCFAULTMASKâPRIMASKª éªCJ[lÇOÌÝð
- *  T|[g·é½ßC±êçÍCPUbNÌ½ßÉp¢È¢D
- *  »Ì½ßCBASEPRIðp¢Ä[IÉCPUbNtOðÀ»·éD
- *
- *  Ü¸CCPUbNóÔðÇ·½ßÌÏ(lock_flag)ðpÓ·éD
- *
- *  CPUbNtOªNA³êÄ¢éÔÍCBASEPRIðfãÌÝ
- *  Dæx}XNÌlÉÝè·éD±ÌÔÍCfãÌÝDæx}X
- *  NÍCBASEPRIðp¢éD
+ *  TOPPERS標準割込み処理モデルの実現
+ *
+ *  割込み優先度マスクとしては，BASEPRIを用いる．全割込みを禁止する
+ *  機能として，FAULTMASKやPRIMASKがあるが，カーネル管理外の割込みを
+ *  サポートするため，これらはCPUロックのために用いない．
+ *  そのため，BASEPRIを用いて擬似的にCPUロックフラグを実現する．
+ *
+ *  まず，CPUロック状態を管理すための変数(lock_flag)を用意する．
+ *
+ *  CPUロックフラグがクリアされている間は，BASEPRIをモデル上の割込み
+ *  優先度マスクの値に設定する．この間は，モデル上の割込み優先度マス
+ *  クは，BASEPRIを用いる．
  * 
- *  »êÉÎµÄCPUbNtOªZbg³ê¢éÔÍCBASEPRIðCJ[l
- *  ÇOÌàÌð­·×ÄÌÝvð}XN·él(TIPM_LOCK)ÆC
- *  fãÌÝDæx}XNÆÌ¢ûÉÝè·éD±ÌÔÌfã
- *  ÌÝDæx}XNÍC»Ì½ßÌÏ(saved_iipm, à\»ÅÛ)
- *  ðpÓµÄÛ·éD
- */
-
-/*
- *  ÝDæx}XNÌO\»Æà\»ÌÏ·
- *
- *  AZu¾êÌ\[Xt@C©çCN[h·éêÌ½ßÉC
- *  CASTðgp
- *  ÝDæxÌrbg(TBITW_IPRI)ª 8 ÌêÍCàDæx 255
- *  ÍCODæx -1 ÉÎ·éD
- */
-#define EXT_IPM(iipm)   (CAST(PRI,((iipm >> (8 - TBITW_IPRI)) - (1 << TBITW_IPRI))))       /* à\»ðO\»É */
-#define INT_IPM(ipm)    (((1 << TBITW_IPRI) - CAST(uint8_t, -(ipm)))  << (8 - TBITW_IPRI)) /* O\»ðà\»É */
-
-/*
- *  CPUbNóÔÅÌÝDæx}XN
+ *  それに対して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
 
 /*
- *  CPUbNóÔÅÌÝDæx}XNÌà\»
- *
- *  TIPM_LOCKÍCCPUbNóÔÅÌBASEPRIÌlDJ[lÇOÌàÌð
- *  ­·×ÄÌÝð}XN·élÉè`·éD  
+ *  CPUロック状態での割込み優先度マスクの内部表現
+ *
+ *  TIPM_LOCKは，CPUロック状態でのBASEPRIの値．カーネル管理外のものを
+ *  除くすべての割込みをマスクする値に定義する．  
  */
 #define IIPM_LOCK    INT_IPM(TIPM_LOCK)
 
 /*
- *  TIPM_ENAALLiÝDæx}XNSðjÌà\»
- *
- *  BASEPRIÉ '0' ðÝè·é±ÆÅCSÝðÂ·éD
+ *  TIPM_ENAALL（割込み優先度マスク全解除）の内部表現
+ *
+ *  BASEPRIに '0' を設定することで，全割込みを許可する．
  */
 #define IIPM_ENAALL  (0)
@@ -154,26 +149,26 @@
 
 /*
- *  CPUbNtOÀ»Ì½ßÌÏ
+ *  CPUロックフラグ実現のための変数
  * 
- *  ±êçÌÏÍCCPUbNóÔÌÌÝ«·¦Äàæ¢Æ·éD
- *  CCÖÅCANZXÌªÏ»µÈ¢æ¤Cvolatile ðwèD 
- */
-extern volatile bool_t  lock_flag;    /* CPUbNtOÌlðÛ·éÏ */
-extern volatile uint32_t saved_iipm;  /* ÝDæxð}XN·éÏ */
-
-/*
- *  CPUbNóÔÖÌÚs
- *
- *  BASEPRIin[hEFAÌÝDæx}XNjðCsaved_iipmÉÛ¶µC
- *  J[lÇOÌàÌð­·×ÄÌÝð}XN·éliTIPM_LOCKj
- *  ÉÝè·éDÜ½Clock_flagðtrueÉ·éD
- *
- *  BASEPRIªCÅ©çTIPM_LOCKÆ¯¶©»êæè¢êÉÍC»êð
- *  saved_iipmÉÛ¶·éÌÝÅCTIPM_LOCKÉÍÝèµÈ¢D±êÍCf
- *  ãÌÝDæx}XNªCTIPM_LOCKÆ¯¶©»êæè¢xÉÝè
- *  ³êÄ¢éóÔÉ ½éD
- *
- *  ±ÌÖÍCCPUbNóÔilock_flagªtrueÌóÔjÅÄÎêé±ÆÍ
- *  È¢àÌÆzèµÄ¢éD
+ *  これらの変数は，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
@@ -183,8 +178,8 @@
 
 	/*
-	 *  current_iipm()ÌÔèlð¼Úsaved_iipmÉÛ¶¹¸CêÏiipm
-	 *  ðp¢Ä¢éÌÍCcurrent_iipm()ðÄñ¾¼ãÉÝª­¶µC
-	 *  N®³ê½ÝÅsaved_iipmªÏX³êéÂ\«ª é½ßÅ
-	 *   éD
+	 *  current_iipm()の返り値を直接saved_iipmに保存せず，一時変数iipm
+	 *  を用いているのは，current_iipm()を呼んだ直後に割込みが発生し，
+	 *  起動された割込み処理でsaved_iipmが変更される可能性があるためで
+	 *  ある．
 	 */
 	iipm = get_basepri();
@@ -192,5 +187,5 @@
 	saved_iipm = iipm;
 	lock_flag = true;
-	/* NeBJZNVÌOãÅª«·íéÂ\«ª é */
+	/* クリティカルセクションの前後でメモリが書き換わる可能性がある */
 	Asm("":::"memory");
 }
@@ -200,16 +195,16 @@
 
 /*
- *  CPUbNóÔÌð
- *
- *  lock_flagðfalseÉµCIPMin[hEFAÌÝDæx}XNjðC
- *  saved_iipmÉÛ¶µ½lÉß·D
- *
- *  ±ÌÖÍCCPUbNóÔilock_flagªtrueÌóÔjÅÌÝÄÎêéà
- *  ÌÆzèµÄ¢éD
+ *  CPUロック状態の解除
+ *
+ *  lock_flagをfalseにし，IPM（ハードウェアの割込み優先度マスク）を，
+ *  saved_iipmに保存した値に戻す．
+ *
+ *  この関数は，CPUロック状態（lock_flagがtrueの状態）でのみ呼ばれるも
+ *  のと想定している．
  */
 Inline void
 x_unlock_cpu(void)
 {
-	/* NeBJZNVÌOãÅª«·íéÂ\«ª é */
+	/* クリティカルセクションの前後でメモリが書き換わる可能性がある */
 	Asm("":::"memory");
 	lock_flag = false;
@@ -221,5 +216,5 @@
 
 /*
- *  CPUbNóÔÌQÆ
+ *  CPUロック状態の参照
  */
 Inline bool_t
@@ -234,10 +229,10 @@
 
 /*
- * ifãÌjÝDæx}XNÌÝè
- *
- *  CPUbNtOªNA³êÄ¢éÍCn[hEFAÌÝDæx}
- *  XNðÝè·éDCPUbNtOªZbg³êÄ¢éÍCsaved_iipm
- *  ðÝèµC³çÉCn[hEFAÌÝDæx}XNðCÝèµæ¤Æ
- *  µ½ifãÌjÝDæx}XNÆTIPM_LOCKÌ¢ûÉÝè·éD
+ * （モデル上の）割込み優先度マスクの設定
+ *
+ *  CPUロックフラグがクリアされている時は，ハードウェアの割込み優先度マ
+ *  スクを設定する．CPUロックフラグがセットされている時は，saved_iipm
+ *  を設定し，さらに，ハードウェアの割込み優先度マスクを，設定しようと
+ *  した（モデル上の）割込み優先度マスクとTIPM_LOCKの高い方に設定する．
  */
 Inline void
@@ -263,8 +258,8 @@
 
 /*
- * ifãÌjÝDæx}XNÌQÆ
- *
- *  CPUbNtOªNA³êÄ¢éÍn[hEFAÌÝDæx}
- *  XNðCZbg³êÄ¢éÍsaved_iipmðQÆ·éD
+ * （モデル上の）割込み優先度マスクの参照
+ *
+ *  CPUロックフラグがクリアされている時はハードウェアの割込み優先度マ
+ *  スクを，セットされている時はsaved_iipmを参照する．
  */
 Inline PRI
@@ -292,19 +287,19 @@
 
 /*
- *  SVCnhiprc_support.Sj
+ *  SVCハンドラ（prc_support.S）
  */
 extern void svc_handler(void);
 
 /*
- *  X^[gAbv[`istart.Sj
+ *  スタートアップルーチン（start.S）
  */
 extern void _start(void);
 
 /*
- *  fBXpb`Ì®ìJniprc_support.Sj
- *
- *  start_dispatchÍCJ[lN®ÉÄÑo·×«àÌÅC·×ÄÌ
- *  ÝðÖ~µ½óÔiÝbNóÔÆ¯ÌóÔjÅÄÑo³È¯êÎ
- *  ÈçÈ¢D
+ *  ディスパッチャの動作開始（prc_support.S）
+ *
+ *  start_dispatchは，カーネル起動時に呼び出すべきもので，すべての割込
+ *  みを禁止した状態（割込みロック状態と同等の状態）で呼び出さなければ
+ *  ならない．
  */
 extern void start_dispatch(void) NoReturn;
@@ -312,17 +307,17 @@
 
 /*
- *  J[lÌI¹ÌÄoµiprc_support.Sj
- *
- *  call_exit_kernelÍCJ[lÌI¹ÉÄÑo·×«àÌÅCñ^XN
- *  ReLXgÉØè·¦ÄCJ[lÌI¹iexit_kerneljðÄÑo
- *  ·D
+ *  カーネルの終了処理の呼出し（prc_support.S）
+ *
+ *  call_exit_kernelは，カーネルの終了時に呼び出すべきもので，非タスク
+ *  コンテキストに切り換えて，カーネルの終了処理（exit_kernel）を呼び出
+ *  す．
  */
 extern void call_exit_kernel(void) NoReturn;
 
 /*
- *  ACh[vÌÀ
- *
- *  PÉCPUbNóÔÆCPUbNðóÔðÄÑo·ÀÆ·éD
- *  X[v[hÉüêéêÍ{ðwfi½ßðp¢Ä«·¦êÎÇ¢D
+ *  アイドルループの実装
+ *
+ *  単にCPUロック状態とCPUロック解除状態を呼び出す実装とする．
+ *  スリープモードに入れる場合は本処理をwfi命令を用いて書き換えれば良い．
  */
 Inline void
@@ -330,5 +325,5 @@
 {
 	lock_flag = false;
-	/* CPUAbN => CPUbN  */
+	/* CPUアンロック => CPUロック  */
 	Asm("\tmsr BASEPRI , %0" : : "r"(0) : "memory");
 	Asm("\tmsr BASEPRI , %0" : : "r"(IIPM_LOCK) : "memory");
@@ -337,12 +332,12 @@
 
 /*
- *  ÝÔEÝnhÔ
- *
- *  ÝnhÔ(inhno)ÆÝÔ(intno)ÍCèÝ­¶É
- *  EPSRÉÝè³êéáOÔÆ·éD 
- */
-
-/*
- *  ÝÔÌÍÍÌ»è
+ *  割込み番号・割込みハンドラ番号
+ *
+ *  割込みハンドラ番号(inhno)と割込み番号(intno)は，割り込み発生時に
+ *  EPSRに設定される例外番号とする． 
+ */
+
+/*
+ *  割込み番号の範囲の判定
  */
 #define VALID_INTNO(intno)           ((TMIN_INTNO <= (intno)) && ((intno) <= TMAX_INTNO))
@@ -351,17 +346,17 @@
 
 /*
- *  ÝnhÌÝè
- *
- *  xNgÔinhnoÌÝnhÌN®Ônint_entryÉÝè·éDÝ
- *  nhe[u
+ *  割込みハンドラの設定
+ *
+ *  ベクトル番号inhnoの割込みハンドラの起動番地int_entryに設定する．割込み
+ *  ハンドラテーブル
  */
 Inline void
 x_define_inh(INHNO inhno, FP int_entry)
 {
-	/* ÁÉs¤ÍÈ¢ */
-}
-
-/*
- *  ÝnhÌoüûÌ¶¬}N
+	/* 特に行う処理はない */
+}
+
+/*
+ *  割込みハンドラの出入口処理の生成マクロ
  *
  */
@@ -370,17 +365,17 @@
 
 /*
- *  ÝvÖ~tO
- */
-
-/*
- *  Ý®«ªÝè³êÄ¢é©ð»Ê·é½ßÌÏikernel_cfg.cj
+ *  割込み要求禁止フラグ
+ */
+
+/*
+ *  割込み属性が設定されているかを判別するための変数（kernel_cfg.c）
  */
 extern const uint32_t	bitpat_cfgint[];
 
 /*
- *  ÝvÖ~tOÌZbg
- *
- *  Ý®«ªÝè³êÄ¢È¢ÝvCÉÎµÄÝvÖ~
- *  tOðNAµæ¤Æµ½êÉÍCfalseðÔ·D  
+ *  割込み要求禁止フラグのセット
+ *
+ *  割込み属性が設定されていない割込み要求ラインに対して割込み要求禁止
+ *  フラグをクリアしようとした場合には，falseを返す．  
  */
 Inline bool_t
@@ -390,5 +385,5 @@
 
 	/*
-	 *  Ý®«ªÝè³êÄ¢È¢ê
+	 *  割込み属性が設定されていない場合
 	 */
 	if ((bitpat_cfgint[intno >> 5] & (1 << (intno & 0x1f))) == 0x00) {
@@ -412,8 +407,8 @@
 
 /*
- *  ÝvÖ~tOÌð
- *
- *  Ý®«ªÝè³êÄ¢È¢ÝvCÉÎµÄÝvÖ~
- *  tOðNAµæ¤Æµ½êÉÍCfalseðÔ·D
+ *  割込み要求禁止フラグの解除
+ *
+ *  割込み属性が設定されていない割込み要求ラインに対して割込み要求禁止
+ *  フラグをクリアしようとした場合には，falseを返す．
  */
 Inline bool_t
@@ -423,5 +418,5 @@
 
 	/*
-	 *  Ý®«ªÝè³êÄ¢È¢ê
+	 *  割込み属性が設定されていない場合
 	 */
 	if ((bitpat_cfgint[intno >> 5] & (1 << (intno & 0x1f))) == 0x00) {
@@ -458,47 +453,47 @@
 
 /*
- *  ÝvCÌ®«ÌÝè
+ *  割込み要求ラインの属性の設定
  */
 extern void x_config_int(INTNO intno, ATR intatr, PRI intpri);
 
 /*
- *  ÝnhüûÅKvÈIRCì
+ *  割込みハンドラ入口で必要なIRC操作
  */
 Inline void
 i_begin_int(INTNO intno)
 {
-	/* ÁÉs¤ÍÈ¢ */
-}
-
-/*
- *  ÝnhÌoûÅKvÈIRCì
+	/* 特に行う処理はない */
+}
+
+/*
+ *  割込みハンドラの出口で必要なIRC操作
  */
 Inline void
 i_end_int(INTNO intno)
 {
-	/* ÁÉs¤ÍÈ¢ */
-}
-
-/*
- *  CPUáOnhÖW
+	/* 特に行う処理はない */
+}
+
+/*
+ *  CPU例外ハンドラ関係
  */ 
 
 /*
- *  CPUáOnhÔ
+ *  CPU例外ハンドラ番号
  */
 #define VALID_EXCNO_DEFEXC(excno)    (TMIN_EXCNO <= (excno) && (excno) <= TMAX_EXCNO)
 
 /*
- *  CPUáOnhÌÂ
+ *  CPU例外ハンドラの許可
  */
 extern void enable_exc(EXCNO excno);
 
 /*
- *  CPUáOnhÌÖ~
+ *  CPU例外ハンドラの禁止
  */
 extern void disable_exc(EXCNO excno);
 
 /*
- *  CPUáOnhÌÝè
+ *  CPU例外ハンドラの設定
  */
 Inline void
@@ -506,5 +501,5 @@
 {
 	/*
-	 *  êÌáOÍÂðs¤Kvª é
+	 *  一部の例外は許可を行う必要がある
 	 */
 	enable_exc(excno);
@@ -512,5 +507,5 @@
 
 /*
- *  CPUáOnhÌüûÌ¶¬}N
+ *  CPU例外ハンドラの入口処理の生成マクロ
  */
 #define EXC_ENTRY(excno, exchdr)    exchdr
@@ -519,25 +514,25 @@
 
 /*
- *  CPUáOGgiprc_support.Sj
+ *  CPU例外エントリ（prc_support.S）
  */
 extern void exc_entry(void);
 
 /*
- *  ÝGgiprc_support.Sj
+ *  割込みエントリ（prc_support.S）
  */
 extern void int_entry(void);
 
 /*
- *  vZbTË¶Ìú»
+ *  プロセッサ依存の初期化
  */
 extern void prc_initialize(void);
 
 /*
- *  vZbTË¶ÌI¹
+ *  プロセッサ依存の終了時処理
  */
 extern void prc_terminate(void) NoReturn;
 
 /*
- *  atexitÌÆfXgN^ÌÀs
+ *  atexitの処理とデストラクタの実行
  */
 Inline void
@@ -548,7 +543,7 @@
 
 	/*
-	 *  software_term_hookÖÌ|C^ðCêUvolatilewèÌ éfpÉã
-	 *  üµÄ©çg¤ÌÍC0ÆÌärªÅK»Åí³êÈ¢æ¤É·é½
-	 *  ßÅ éD
+	 *  software_term_hookへのポインタを，一旦volatile指定のあるfpに代
+	 *  入してから使うのは，0との比較が最適化で削除されないようにするた
+	 *  めである．
 	 */
 	if (fp != 0) {
@@ -558,10 +553,10 @@
 
 /*
- * o^³êÄ¢È¢áOª­¶·éÆÄÑo³êé
+ * 登録されていない例外が発生すると呼び出される
  */
 extern void default_exc_handler(void *p_excinf);
 
 /*
- * ¢o^ÌÝª­¶µ½êÉÄÑo³êé
+ * 未登録の割込みが発生した場合に呼び出される
  */
 extern void default_int_handler(void *p_excinf);
Index: /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/prc_design.txt
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/prc_design.txt	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/prc_design.txt	(revision 95)
@@ -1,75 +1,72 @@
 =====================================================================
-                         ARM-MvZbTË¶Ýv
+                         ARM-Mプロセッサ依存部設計メモ
                                   Last Modified: 23 Aug 2008 21:54:54
 =====================================================================
 
-±ÌhL
-gÌÊuÃ¯
-
-±ÌhL
-gÍCTOPPERS/ASPJ[lðARMvX-MvZbTÉÚA·é½ß
-ÌÝvÅ éD
-
-
-ARMVx-MÌdlÜÆß
-
-ARMvX-MÌdlÌ¤¿CJ[lÌÝvÉÖW·éÉÂ¢ÄÜÆßéD
-
-WX^
-
-ÄpWX^ÍR0`R15Ì16íÞ èCR13ÌÝª2oN\¬iPSP,MSPjÆÈ
-ÁÄ¢éDR15ÍPC, R14ÍNWX^iLRjÆÈÁÄ¢éDR0`R3,R12Í
-XNb`WX^Å éD
-
-R[ORxV
-
-R0`R4ªøC»êÈãÍX^bNDßèlÍCR0`R1Éi[³êéD(ARMÉ
-æèKè³êÄ¢é½ßCRpCÉË¶¹¸±Ì[ÆÈéD)
-
-CONTROLWX^
-
-PSP,MSPÌØèÖ¦CPrivilageÆUser[hÌWX^DÏXãÍCCXg
-NVobt@tbV
-½ßðÀs·éKvª éiisbjDCONTROL
-WX^ÌÚ×ÍCARMv7-M Architecture Application Level Reference 
-Manual Ì B1-9 ðQÆÌ±ÆD
-
-ÝxN^
-
-xN^e[u^ÅCxN^e[uÌAhXÍCZbgÍ0x00ÅC
-Vector Table Offset Registeri}bvhWX^j ðì·é±Æ
-ÅCCÓÌAhXÉzuÂ\Å éD
-
-Dæx
-
-lª¬³¢ûªDæxÆÈéD
-
-DæxÍÅå8bitÅ èCSoCÉÀ³êÄ¢érbgªÙÈéDÀ³
-êérbgª8bitÈºÌêÍCLSB©ç³øÉÈéDá¦ÎCÀ³êÄ¢
-érbgª7bitÌêÍCrbg0ª³øÆÈéD
-
-DæxÌrbgtB[hÌLSB©çrbgðTuDæxÆÄÔtB[h
-ÉÝè·é±ÆªÂ\Å éDcèÌãÊrbgðvGvVDæxÆ
-ÄÔDvGvVDæxª¯¶ÅCTuDæxªÙÈéDæxÌO[
-vÍC¨Ý¢ðvGvg·é±ÆªÅ«È¢D
-
-Reset,NMI,Hard Fault ÈOÌáOÍÝÆ¯lÉDæxªÝèÂ\Å èC
-Ý}XN@\ÉæèC­¶ðÖ~·é±ÆªÂ\Å éD
-
-CPU[h
-
-vZbTÍCThread[hàµ­ÍHandler[hÌ¢¸ê©Ì[hÆÈ
-éD
-
-ZbgÌóÔ
-
-ZbgÍThread[hCMSPªLøÆÈÁÄ¢éD
-
-Handler[h
-
-áO/Ýðó¯t¯éÆJÚ·é[hDó¯t¯½áO/ÝÌáOÔ
-ªCIPSRÉZbg³êéDáOÔÍCTRMÅèßçêÄ¢éÔÅ éD
-
-        áO              áOÔ
+○このドキュメントの位置づけ
+
+このドキュメントは，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（メモリマップドレジスタ） を操作すること
+で，任意のアドレスに配置可能である．
+
+●優先度
+
+値が小さい方が高優先度となる．
+
+優先度は最大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
@@ -86,64 +83,64 @@
   ..
 
-áO/Ýðó¯t¯éÆCó¯t¯½áO/ÝÌDæxÈºÌáO/
-ÝðÖ~·éD±ÌDæx}XNð"NVICDæx}XN"ÆÄÔD±ÌDæx
-ÍC\tgEFA©çÏX·é±ÆªÅ«¸CáO/ÝÌ^[Éæè
-ÝOÌlÉ©®IÉßéD
-
-X^bN|C^iPSPÆMSPj
-
-X^bN|C^ÍCPSPÆMSPª èCr¼IÉgpÂ\Å éDHandler
-[hÅÍMSPÌÝgpÂ\Å èCThread[hÅÍCONTROLWX^ÅIðÂ
-\Å éDCONTROLWX^Ì1rbgÚðZbg·éÆPSPªLøÉCNA
-·éÆCMSPªLøÉÈéD
-
-Thread[hÆHandler[hÌJÚ
-
-Thread[h©çHandler[hÖÌJÚÍCáO/Ýðó¯t¯é±ÆÅ
-­¶·éDêûCHandler[h©çThread[hÖÌJÚÍCPCÉ
-EXC_RETURN(0xfffffffx)ÌlðÝè·é±ÆÉæès¤iáO^[Æ
-ÄÔjDEXC_RETURNÌºÊ4bitÉæèCJÚæÌ[hâgp·éX^bN|
-C^ðÏXÂ\Å éDáO^[ÉæèCPRIMASKâBASEPRIÌlÍÏ»
-µÈ¢DêûCFAULTMASKÌlÍ'0'ÉNA³¹éD
-
-EXC_RETURN
-
-áO/Ýót¯ÉlrÉÝè³êélDrbg31`4rbgÍSÄ'1'ÅC
-ºÊ4bitÍCót¯ÌCPU[hâX^bNð½fµ½lÆÈÁÄ¢éD
-
- 0b0001 : Handler[h
- 0b1001 : Thread[h with MSP
- 0b1101 : Thread[h with PSP
-
-Thread[hÆHandler[hÌ»è
-
-»óÌ[hð»è·éÉÍCIPSRð©ÄC'0'ÈçThread[hC»êÈO
-ÈçCHandler[hÆÈéD
-
-BASEPRIWX^
-
-Ýèµ½DæxÈºÌDæxÌÝÌótðÖ~·éD±ÌDæx}XNð
-"BASEPRIDæx}XN"ÆÄÔD'0'ðÝè·éÆCSÄÌÝðÂ·éD
-áO/ÝÌótÆ^[ÉæèÏ»µÈ¢DáO/ÝÉÎ·éÝ
-Dæx}XNÍCNVICDæx}XNÆBASEPRIÌÝèlÌ¢ûilª¬³¢
-ûjÆÈéD
-
-FAULTMASK
-
-FAULTMASKÍ'1'ðZbg·é±ÆÉæèCNMIÈOÌSÄÌÝðÖ~·éD
-FAULTMASKÍCáOÌ^[Éæè'0'ÉNA³¹éD
-
-PRIMASKÆWFI
-
-PRIMASKð'1'ÉÝè·éÆCNMI Æ Hardware Fault ÈOÌáO/ÝðÖ
-~·éDPRIMASKÍÝÌÂÆÝÒ¿ðAg~bNÉs¤½ßÉp¢
-éDïÌIÉÍCPRIMASKªZbg³êÄ¢éóÔÅwfiðÀs·éÆCè
-ÝÒ¿ÆÈèCÝót¯éÆnhðÀs¹¸ÉCwfi©ç^[µ
-Ä­éD
-
-áO/ÝÌót
-
-EáO/Ýðót¯éÆCót¯ÉANeBuÈX^bNãÉÈºÌR
-  eLXgðÛ¶·é(áOt[ÆÄÔ)D
+例外/割込みを受け付けると，受け付けた例外/割込みの優先度以下の例外/割
+込みを禁止する．この優先度マスクを"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からリターンし
+てくる．
+
+●例外/割込みの受付
+
+・例外/割込みを受付けると，受付け時にアクティブなスタック上に以下のコ
+  ンテキストを保存する(例外フレームと呼ぶ)．
 
    -----------
@@ -166,29 +163,29 @@
   |           | <- old SP
 
-EvZbTðHandler[hÆ·éDMSPªLøÆÈéD
-Eót¯½áO/ÝÌáOÔðIPSRÉÝè·éD
-ENVICÝDæx}XNðót¯½áO/ÝÌDæxÉÝè·éD
-ElrÉEXC_RETURNÌlªÝè³êéD
-ExN^e[uðÇÝÝnhðÀs·éD
-
-áO/Ý©çÌ^[
-
-pcÉEXC_RETURNÌlðÝè·é±ÆÉæèCáO/Ý©ç^[·éD
-pcÖÌÝèÉgpÂ\È½ßÉÍ§Àª èCÈº½ßªgpÂ\Å éD
-
-  EPOP/LDM, LDR, BX
-
-¢ðÛè
-
-ExN^[e[uÉo^·éÖÌAhXÌLSBÍ'1'É·é×«©?
-ENVICÍáOEÝÌlXgñðàIÉÇµÄ¢éçµ¢D
-  (!t@Xð¾ç©É)D
-    \tgEFAÅÍClXgÌ Kðí¹êÎC^[X^bNðU¢µ
-    ÄàâèÈ¢©D
-
-
-OSÌÀ
-
-1.^[Qbg¼
+・プロセッサをHandlerモードとする．MSPが有効となる．
+・受付けた例外/割込みの例外番号をIPSRに設定する．
+・NVIC割込み優先度マスクを受付けた例外/割込みの優先度に設定する．
+・lrにEXC_RETURNの値が設定される．
+・ベクタテーブルを読み込みハンドラを実行する．
+
+●例外/割込みからのリターン
+
+pcにEXC_RETURNの値を設定することにより，例外/割込みからリターンする．
+pcへの設定に使用可能な命令には制限があり，以下命令が使用可能である．
+
+  ・POP/LDM, LDR, BX
+
+●未解決課題
+
+・ベクターテーブルに登録する関数のアドレスのLSBは'1'にするべきか?
+・NVICは例外・割込みのネスト回数を内部的に管理しているらしい．
+  (!リファレンスを明らかに)．
+    ソフトウェアでは，ネストの帳尻を合わせれば，リターンスタックを偽造し
+    ても問題ないか．
+
+
+○OSの実装
+
+1.ターゲット名
 
  1-1 cm3(Cortex-M3)
@@ -196,334 +193,329 @@
  1-3 arm_m
 
-cm3ÅÍCCoretex-M1(armv6-m)ðT|[g·éêÉâèÆÈéDarmv7mÅÍC
-armv8mª[X³ê½êÉâèÆÈéDARMË¶ÍJSPÅÍCarmv4ÆÈ
-ÁÄ¢½ªCarmv5âarmv7à®ì·é½ßASPÅÍPÉarmÆµ½D»Ì½ßC
-arm_mª³ïÆl¦çêéD
-
-
-2.Thread[hÆHandler[hÌg¢ª¯
+cm3では，Coretex-M1(armv6-m)をサポートする場合に問題となる．armv7mでは，
+armv8mがリリースされた場合に問題となる．ARM依存部はJSPでは，armv4とな
+っていたが，armv5やarmv7も動作するためASPでは単にarmとした．そのため，
+arm_mが無難と考えられる．
+
+
+2.ThreadモードとHandlerモードの使い分け
 
  2-1
-  ^XNReLXgÍThread[hCñ^XNReLXgÍHandler[
-  hÅ®ì³¹éD
+  タスクコンテキストはThreadモード，非タスクコンテキストはHandlerモー
+  ドで動作させる．
 
  2-2
-  ^XNReLXgÆñ^XNReLXg¤ÉHandler[hÅ®ì³¹
-  éD
-
-vZbTÌÝvûjðl¶·éÆ2-1ªLÍD2-1ÅÌâè_ÆµÄÍC
-Ýnh©ç^XNÖÌ^[É[hÌÏXªÈºÌlÉ½­·é±
-Æª°çêéD
-
-1.Ýnh               : Handler[h
-2.^XNáOnhÌÄÑoµ : Thread[h
-3.^XNÖÌ^[       : Handler[h
-4.^XNÌÄJ                 : Thread[h
-
-3ÅHandler[hÉÚs·éKvª éÌÍCáOt[ðp¢ÄA·é
-ÉÍCHandler[hÅáO^[ðs¤Kvª é½ßÅ éDARMÅ
-ÍC¡WX^Ì[hÆCPSRÌAð¯És¦éªCM3Ís¦È¢½ßC
-±Ìû@ÅÝæÌ^XNÉ^[·éKvª éD
-
-2-2ÌêÌÝnh©ç^XNÖÌ^[É[hÌÏXðÈº
-É¦·DÜ½C2-2ÅÍÝDæxÌÅálð^XNÌÀsÌDæxÆµ
-ÄU[u·éKvª éD
-
-1.Ýnh               : Handler[h
-2.NVICDæx}XN'0'ð0Ö     : Thread[h
-3.ÅáDæxÌHandler[hÖ  : Handler[h
-4.^XNáOnhÌÄÑoµ : Handler[h
-5.^XNÖÌ^[ÌO   : Thread[h
-3.^XNÖÌ^[           : Handler[h
-4.^XNÌÄJ                 : Handler[h
-
-Ýnh©ç^XNÌ^[ÉÖµÄÍC2-2Å ÁÄàC2ðÀs·
-éêÉCNVICDæx}XNð'0'É·é½ßCáO^[ðs¤Kv
-ª éDÜ½CNVIC©ÌªCÝÌlXgñðÇµÄ¢é½ßC3©ç4
-ÖÌJÚÌ½ßÉC¢Á½ñáO/Ýðót¯½óÔÉ·éKvª é½
-ßCÊIÉ2-1ÈãÌJÚªKvÆÈéD
-
-2-2ÌêÍCMSPµ©g¦È¢½ßCÝÌüèûÅlXgñð»fµÄC
-X^bNðüêÖ¦éKvª éD
-
-HRPÅÛìðp¢éêÍ2-1ÆÈéD
-
-ÈãÌRÉæèC2-1ðÌp·éD½¾µ2-1ÍCJ[lN®ÆIDLE[
-vÌµ¢ð¢·éKvª éD±êçÉÂ¢ÄÍÊrc_·éD
-
-
-3.fBXpb`ÌÀs[h
+  タスクコンテキストと非タスクコンテキスト共に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[hÅÀs·é
+  Threadモードで実行する
 
  3-2
-  Handler[hÅÀs·é
-
-fBXpb`ðThread[hÅÀs·éÆCÝÉæèvGvg³ê
-½^XNÉßéêÍÌæ¤ÈpXÉÈéD
-
- 1. fBXpb`ÄÑoµ : Thread[h 
- 2. fBXpb`Às     : Thread[h
- 3. ^XNáOÀs         : Thread[h
- 4D^XNÖÌ^[ : Handler[h
- 5. ^XNÌÄJ           : Thread[h
-
-Ýnh©ç©çfBXpb`µ½^XNÖ^[·éêÍÌp
-XÉÈéD
-
- 1.Ýnh               : Handler[h
- 2.fBXpb`Às           : Thread[h
- 3.^XNáOnhÌÄÑoµ : Thread[h
- 4.^XNÖÌ^[           : Handler[h
- 5.^XNÌÄJ                 : Thread[h
-
-êûCfBXpb`ðHandler[hÅÀs·éÆCÝÉæèvG
-vg³ê½^XNÉßéêÍÌæ¤ÈpXÉÈéD
-
- 1. fBXpb`ÄÑoµ : Thread[h 
- 2. fBXpb`Às     : Handler[h
- 3. ^XNáOÀs         : Thread[h
- 4D^XNÖÌ^[     : Handler[h
- 5. ^XNÌÄJ           : Thread[h
-
-ÝnhÌoû©ç©çfBXpb`µ½^XNÖ^[·éêÍ
-ÌpXÉÈéD
-
- 1.Ýnh               : Handler[h
- 2.fBXpb`Às           : Handler[h
- 3.^XNáOnhÌÄÑoµ : Thread[h
- 4.^XNÖÌ^[           : Handler[h
- 5.^XNÌÄJ                 : Thread[h
-
-^XNáOnhªÈ¢OSÌêÍCHandler[hÅÀsµ½ûª[h
-ÌJÚÌñª¸éªC^XNáOnhª éÆCThread[hÌûªJ
-Úñª¸é½ßCThread[hÆ·éD
-
-Ûìðl¶·éÆCfBXpb`ÍHandler[hÅ®ì³¹½ûª
-ø¦ªæ¢Æl¦çêéiSVCÅnhðÄÑo·ÆHandler[hÆÈé½
-ßjD
-
-
-4.X^bNÌg¢ª¯
+  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
-  ^XNReLXgðPSP, ñ^XNReLXgðMSP
+  タスクコンテキストをPSP, 非タスクコンテキストをMSP
  4-2
-  ^XNReLXgCñ^XNReLXg¤ÉMSP
-
-4-2ÌêCÝÌüèûÅlXgñð»fµÄCX^bNðüêÖ¦é
-Kvª éD2Å^XNReLXgÍThread[hCñ^XNReLXg
-ÍHandler[hÅ®ì³¹éÆµ½½ßC4-1ðÌp·éÆCÝÌüèû
-Å©®IÉX^bNªØèÖíéDThread[hÅÌPSPÌANZXàC
-mrs/msr½ßÅs¦é½ßC4-1ðÌp·éD
-
-
-5.ReLXgÌ»è
+  タスクコンテキスト，非タスクコンテキスト共にMSP
+
+4-2の場合，割込みの入り口でネスト回数を判断して，スタックを入れ替える
+必要がある．2でタスクコンテキストはThreadモード，非タスクコンテキスト
+はHandlerモードで動作させるとしたため，4-1を採用すると，割込みの入り口
+で自動的にスタックが切り替わる．ThreadモードでのPSPのアクセスも，
+mrs/msr命令で行えるため，4-1を採用する．
+
+
+5.コンテキストの判定
 
  5-1
-  IPSRª'0'(Thread[h)Èç^XN^XNReLXgC'1'(Handler[
-  h)Èçñ^XNReLXgÆ·éD
+  IPSRが'0'(Threadモード)ならタスクタスクコンテキスト，'1'(Handlerモー
+  ド)なら非タスクコンテキストとする．
 
  5-2
-  ÝÌlXgñðÛ·éÏðpÓD1ÈãÅñ^XNReLXgD
+  割込みのネスト回数を保持する変数を用意．1以上で非タスクコンテキスト．
 
  5-3
-  ANeBuÈX^bNÉæè»fiMSPÈçñ^XNReLXgCPSPÈç
-  ^XNReLXgÆ·éj
-
-5-1ÍC\tgEFA¤ÅReLXgÇÌ½ßÌðs¤KvªÈ¢Æ
-¢¤bgª éDµ©µÈªçCJ[lÌN®Thread[hÅ é½
-ßCHandler[hÖÚs·éKvª éDASPJ[lÅÍCIDLE[vÀs
-Íñ^XNReLXgÆµÄ®ì³¹éKvª é½ßCIDLE[vÍ
-Handler[hÅ®ì³¹éKvª éDIDLE[vÍfBXpb`©çÄ
-Ño³êéD3Åèß½æ¤ÉCfBXpb`ðThread[hÅ®ì³¹é
-½ßCIDLE[vðÄÑo·ÛÉÍCHandler[hÖJÚ·éKvª éD
-Handler[hÖÌJÚÍCSVC/PendSVCðp¢éÆÀ»Â\Å éªC6Ì
-ÝÉvGvg³ê½^XNÖÌ^[ÌHandler[hÖÌÚsÅ
-àSVC/PendSVCÌgpªKvÆÈé½ßCSVCnhÅÍCÇÌÚIÅÄÑo
-³ê½©»è·éKvªoÄ­é½ßCI[owbhªå·éD
-
-5-2ÅÍCJ[lN®âIDLE[vÉÏð'1'ÉÝè·êÎæ¢±ÆÉ
-ÈéD±ÌêCJ[lN®âIDLE[vÉThread[hÅÀsµÄà
-®ìÉâèªÈ¢æ¤CÁÉÝÌoüèûÌÝvðÓ·éKvª éD
-
-J[lN®ÉÖµÄÍCSÝðÖ~µÄ¨èCÝªüçÈ¢ÌÅ
-ÁÉâèÍÈ¢DIDLE[vÍCThread[hÅMSPÆPSPÌIðªÂ\Å 
-é±ÆðpµÄCñ^XNReLXgÌX^bNÅ éMSPÉÏX·éD
-áO/ÝÌüèûÅÍC½dÝÅ é©ðEXC_RETURNÌ[h»èÌ
-rbgÅÍÈ­CX^bNÌ»èrbgÅs¦ÎâèÈ¢DáO/Ý©ç
-Ì^[ÉÖµÄÍC½dÝÌ»èÍCüèûÆ¯lÉEXC_RETURNÌX
-^bN»èrbgÅs¦Îæ¢DáO^[ÉpcÉãü·é
-EXC_RETURNÌlðê¥0xfffffffd (Thread[h with MSP)Æ·éÌÅÍÈ­C
-áO/Ýót¯ÉLRÉÝè³êéEXC_RETURNðp¢é±ÆÉæèCIDLE
-[vÉèñ¾êÅàâèÈ­^[·éD
-
-J[lN®ÍCMSPªANeBuÅ èCÝnhÀsÍHandler
-[hÅ é±Æ©çMSPªANeBuÅèCIDLE[vÉMSPðANeBu
-ÉÝè·éÆCñ^XNReLXgÍSÄCMSPðANeBuÉµÄ®ì·
-é±ÆÉÈéDÜ½CÝÍÝOÉANeBuÈX^bNÌîñªC
-EXC_RETURNÉÝè³êéD»Ì½ßCReLXgÌ»èÍCÝlXgñ
-ðÛ·éÏªÈ­ÆàCANeBuÈX^bNð©êÎæ¢±ÆÉÈéD
-Ü½Cexc_sense_context()ÉÖµÄÍCáOt[ÉEXC_RETURNðÇÁ
-µC»ÌàeÉæè»f·êÎæ¢DÈãÌRÉæèC5-3ðÌp·éD
-
-
-6.ÝÉvGvg³ê½^XNÖÌ^[ÌHandler[hÖÌÚ
-  sû@
+  アクティブなスタックにより判断（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ðp¢é
+  SVCを用いる
  6-2
-  PendSVCðp¢é
-
-PendSVCÆSVCÌá¢ÍCPendSVCªvªL
-[CO³êCSVCÍvªL
-
-[CO³êÈ¢±ÆÅ éDÝÉvGvg³ê½^XNÖÌ^[
-ÌHandler[hÖÌÚsÍCL
-[CO³ê¸É¦ÀÉ³êéK
-vª é½ßCÇ¿çÅÀ»µÄàâèÈ¢DÇ¿çðJ[lÌ\[Xµ
-Ägp·é©ÌIð¾¯Å éD
-
-Ç¿çðg¤ÆµÄàCDæxÌÝèªâèÆÈéDfBXpb`©ç
-ÝÉvGvg³ê½^XNÖÌ^[ÜÅÌÍC­È­ÆàCPU
-bNóÔÅÀs³êÈ¯êÎÈçÈ¢DSVCâPendSVCÍÇ¿çàÝDæx
-ðÂ½ßCNVICDæx}XNæèBASEPRIDæx}XNÌûª¢êC
-³êÈ¢D
-
-CPUbNóÔðBASEPRIÌÝèÅÀ»µ½êC»ÌÝèlðSVCâPendSVCÉ
-Ýèµ½læèá­·éKvª éD¾¢·¦éÆCSVCâPendSVCÌDæxð
-CPUbNÌDæx}XNÌlæè¢li¼ÌÝæè¢DæxjÆ
-·éKvª éD
-
-CPUbNóÔðFAULTMASKâPRIMASKÅÀ»µ½êÍC±êçªÝè³êé
-ÆCSVCâPendSVCªót¯çêÈ¢½ßC¢Á½ñBASEPRIÉæèÝð}
-XN·éæ¤ÉÝè·éKvª éD±ÌêàCSVCâPendSVCÍ¼ÌÝ
-æè¢DæxðÝè·éKvª éD
-
-ÈãÉæèCHandler[hÖÌÚsÌ½ßÉÍCCPUbNóÔðBASEPRIÅ
-À»µCSVCâPendSVCÉÝè·éDæxðJ[lÇàÌÅDæxæèê
-Â¢DæxÉÝè·éKvª éD
-
-
-7. áO/ÝoüèûÅÌ½dÝÌ»f
+  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Ì[h»èrbg
+ EXC_RETURNのモード判定ビット
 7-2
- EXC_RETURNÌX^bN»èrbg
+ EXC_RETURNのスタック判定ビット
 7-3
- ÝlXgñÌÇÏ
-
-áO/Ýót¯ÍCót¯½áO/ÝÈºÌÝÍÖ~·éªCS
-ÝÖ~óÔÉÍÈçÈ¢D»Ì½ßCÝlXgñÌÇÏðC
-Ng·éOÉÝªüéÂ\«ª é½ßC7-3Ígp·é±ÆªÅ
-«È¢D
-
-5Åc_µ½ÊèCIDLE[vðThread[hÅÀs·é½ßC7-1ÅÍÈ­C
-7-2Å»f·éKvª éD
-
-
-8. IDLE[v
+ 割込みネスト回数の管理変数
+
+例外/割込み受付け時は，受付けた例外/割込み以下の割込みは禁止するが，全
+割込み禁止状態にはならない．そのため，割込みネスト回数の管理変数をイン
+クリメントする前に割込みが入る可能性があるため，7-3は使用することがで
+きない．
+
+5で議論した通り，IDLEループをThreadモードで実行するため，7-1ではなく，
+7-2で判断する必要がある．
+
+
+8. IDLEループ
 
 8-1
- Thread[hÅÀs
+ Threadモードで実行
 8-2
- Handler[hÅÀs
-
-5Åc_µ½ÊèCThread[hÅÀsÅ«½ûªI[owbhª¬³¢DÜ
-½CThread[hÅÀsµÄàCèÝÌoüèûÅ³µ­ñ^XNRe
-LXgÆ»èÅ«êÎCThread[hÅâèÈ¢D
-
-
-9DJ[lÇOÌÝÌT|[g
+ Handlerモードで実行
+
+5で議論した通り，Threadモードで実行できた方がオーバヘッドが小さい．ま
+た，Threadモードで実行しても，割り込みの出入り口で正しく非タスクコンテ
+キストと判定できれば，Threadモードで問題ない．
+
+
+9．カーネル管理外の割込みのサポート
 
 9-1
- J[lÇOÌÝðT|[gµÈ¢
+ カーネル管理外の割込みをサポートしない
 9-2
- J[lÇOÌÝðT|[g·é
-
-xN^e[uðT|[gµÄ¨èCÝnhàC¾êÅLqÂ\Å 
-é½ßCT|[gªeÕÅ é½ßCT|[g·éD
-
-
-10. CPUbN
+ カーネル管理外の割込みをサポートする
+
+ベクタテーブルをサポートしており，割込みハンドラもC言語で記述可能であ
+るため，サポートが容易であるため，サポートする．
+
+
+10. CPUロック
 
 10-1
- BASEPRIðgp 
+ BASEPRIを使用 
 10-2 
- FAULTMASK/PRIMASKðgp
-
-J[lÌÇOÌÝðT|[g·éÈçCBASEPRIðgp·éKvª 
-éD
-
-
-11. ÝbNÆCPUáOÌÖW
+ FAULTMASK/PRIMASKを使用
+
+カーネルの管理外の割込みをサポートするなら，BASEPRIを使用する必要があ
+る．
+
+
+11. 割込みロックとCPU例外の関係
 
 11-1
- BASEPRIðgp 
+ BASEPRIを使用 
 11-2 
- FAULTMASK/PRIMASKðgp 
-
-FAULTMASK/PRIMASKðgp·éÆCNMI Æ Hardware Fault ÈOÌCPUáOàÖ
-~³êÄµÜ¤D
-
-BASEPRIðp¢éÆCÝbNÉàCPUáOðót¯½¢êÍC
-BASEPRIðp¢ÄCÅDæxðCPUáOÌ½ßÉU[u·éKvª éD
-
-ÝbNàCCPUáOðót¯éæ¤Éµ½¯êÎBASEPRIðgp·éK
-vª éD
-
-ÊIRON4.0dlÌ3.5.3ÅÍCCPUáOÌDæxÍÌæ¤ÉèßçêÄ¢éD
-
-"CPUáOnhÌDæÊÍCCPUáOª­¶µ½ÌDæxÆCfBX
-pb`ÌDæÊÌ¢¸ê©æèà¢D"
-
-CPUáOª­¶µ½ÌDæxæèà¢Æ éÌÅCCPUbNâÝ
-bNóÔÌ^XNÅ­¶µ½êÅàCDæµÄÀs³êé×«¾Æàl¦ç
-êéD
-
-êûCTOPPERSWÝfÌdlÅÍCCPUáOÍCvZbT
-ÉÙÈé½ßCCPUáOÌfÌW»¢ÌÎÛOÆµÄ¢éD»Ì
-½ßCARM-MÅÌµ¢ðßÄC}j
-AÉ¾L·êÎæ¢Æl¦çêéD
-
-
-12. ODæxÆàDæxÌÏ·
-
-ODæxÆÍAPIÅwè·éÝDæx(PRI^)Ì±ÆÅ èClª¬³¢
-ÙÇDæxª¢DÝnhÉÍC-1©çA±µ½ÌlðÝèÂ\Å
- éDàDæxÍCBASEPRIâNVICÌDæxWX^ÉÝè·élÅ éD
-
-À³êéÝDæxÌrbgð TBITW_IPRI Æ·éÆCÝèÂ\ÈO
-DæxÍÌæ¤ÉÈéD
-
-  TIPM_ENAALLi0j` -(1 << TBITW_IPRI)
-
-
-13. J[lÇàÌÅDæx(CPUbNóÔÅÌDæx}XN)
-
-6.Åq×½æ¤ÉCÝÌoûÅSVCnhðÄÑo·Kvª é½ßC
-SVCnhÍCPUbNóÔÌBASEPRIÉÝè·éDæx}XNæè¢Dæx
-ðÝè·éKvª éD
-
-À³êéÝDæxÌrbgð TBITW_IPRICDæxÌTuDæxÌ
-rbgðTBIT_IPRIÆ·éÆCCPUbNóÔiJ[lÇàÝÉÝè
-Â\ÈÅDæxjÆµÄwèÂ\ÈDæx}XNÌÝèÍÍÍÈºÌlÌÍ
-ÍÆÈéD
-
-    -(2^(TBIW_IPRI)) + (2^TBITW_SUBIPRI)) ` -1
-
-
-14. ¢ðÛè
-
-EÝbNÆCPUáOÌÖW
-  BASEPRIðgÁ½ÆµÄàC éCPUáOÉ¼ÌáOª­¶·éÆC»
-  ÌáOÍó¯t¯çêÈ¢½ßCITRONdlÍ½¹È¢D
-  -> «çßÄ}j
-ALÚÉ¦°é©.
-  veNVÌáOà}XNÂ\Å é½ßvD
-
-
-ÈãD
+ 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)) + (2^TBITW_SUBIPRI)) 〜 -1
+
+
+14. 未解決課題
+
+・割込みロックとCPU例外の関係
+  BASEPRIを使ったとしても，あるCPU例外処理中に他の例外が発生すると，そ
+  の例外は受け付けられないため，ITRON仕様は満たせない．
+  ->あきらめてマニュアル記載に逃げるか.
+  メモリプロテクションの例外もマスク可能であるため要件等．
+
+
+以上．
Index: /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/prc_insn.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/prc_insn.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/prc_insn.h	(revision 95)
@@ -6,36 +6,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id: prc_insn.h 1304 2008-08-27 07:28:36Z ertl-honda $
@@ -44,5 +40,5 @@
 
 /*
- *  RAË¶ÌÁê½ßÌCCÖè`iARM-Mpj
+ *  コア依存の特殊命令のインライン関数定義（ARM-M用）
  */
 
@@ -53,5 +49,5 @@
 
 /*
- *  FAULTMASKÌZbg
+ *  FAULTMASKのセット
  */
 Inline void
@@ -61,5 +57,5 @@
 
 /*
- *  FAULTMASKÌNA
+ *  FAULTMASKのクリア
  */
 Inline void
@@ -69,5 +65,5 @@
 
 /*
- *  PRIMASKÌZbg
+ *  PRIMASKのセット
  */
 Inline void
@@ -77,5 +73,5 @@
 
 /*
- *  PRIMASKÌNA
+ *  PRIMASKのクリア
  */
 Inline void
@@ -85,5 +81,5 @@
 
 /*
- *  BASEPRIÌZbg
+ *  BASEPRIのセット
  */
 Inline void
@@ -93,5 +89,5 @@
 
 /*
- *  BASEPRIÌæ¾
+ *  BASEPRIの取得
  */
 Inline uint32_t
@@ -103,5 +99,5 @@
 
 /*
- *  CONTROLÌZbg
+ *  CONTROLのセット
  */
 Inline void
@@ -113,5 +109,5 @@
 
 /*
- *  CONTROLÌæ¾
+ *  CONTROLの取得
  */
 Inline uint32_t
@@ -123,5 +119,5 @@
 
 /*
- *  Xe[^XWX^iCPSRjÌ»ÝlÌÇoµ
+ *  ステータスレジスタ（CPSR）の現在値の読出し
  */
 Inline uint32_t
Index: /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/prc_kernel.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/prc_kernel.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/prc_kernel.h	(revision 95)
@@ -6,36 +6,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id: prc_kernel.h 1304 2008-08-27 07:28:36Z ertl-honda $
@@ -43,9 +39,9 @@
 
 /*
- *		kernel.hÌvZbTË¶iARM-Mpj
+ *		kernel.hのプロセッサ依存部（ARM-M用）
  *
- *  ±ÌCN[ht@CÍCtarget_kernel.hiÜ½ÍC»±©çCN
- *  [h³êét@CjÌÝ©çCN[h³êéD¼Ìt@C©ç
- *  ¼ÚCN[hµÄÍÈçÈ¢D
+ *  このインクルードファイルは，target_kernel.h（または，そこからインク
+ *  ルードされるファイル）のみからインクルードされる．他のファイルから
+ *  直接インクルードしてはならない．
  */
 
@@ -54,10 +50,10 @@
 
 /*
- *  T|[g·é@\Ìè`
+ *  サポートする機能の定義
  */
-#define TOPPERS_TARGET_SUPPORT_DIS_INT            /* dis_intðT|[g·é */
-#define TOPPERS_TARGET_SUPPORT_ENA_INT            /* ena_intðT|[g·é */
+#define TOPPERS_TARGET_SUPPORT_DIS_INT            /* dis_intをサポートする */
+#define TOPPERS_TARGET_SUPPORT_ENA_INT            /* ena_intをサポートする */
 
-#define TMAX_INTPRI		(-1)		/* ÝDæxÌÅåliÅálj*/
+#define TMAX_INTPRI		(-1)		/* 割込み優先度の最大値（最低値）*/
 
 #ifndef TOPPERS_MACRO_ONLY
Index: /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/prc_sil.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/prc_sil.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/prc_sil.h	(revision 95)
@@ -6,36 +6,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id: prc_sil.h 1304 2008-08-27 07:28:36Z ertl-honda $
@@ -43,5 +39,5 @@
 
 /*
- *   sil.hÌvZbTË¶iARM-Mpj
+ *   sil.hのプロセッサ依存部（ARM-M用）
  */
 
@@ -52,5 +48,5 @@
 
 /*
- *  NMIð­·×ÄÌÝÌÖ~
+ *  NMIを除くすべての割込みの禁止
  */
 Inline bool_t
@@ -79,5 +75,5 @@
 
 /*
- *  SÝbNóÔÌ§ä
+ *  全割込みロック状態の制御
  */
 #define SIL_PRE_LOC      bool_t  TOPPERS_locked
@@ -86,5 +82,5 @@
 
 /*
- *  GfBAÌè`
+ *  エンディアンの定義
  */
 
Index: /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/prc_stddef.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/prc_stddef.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/prc_stddef.h	(revision 95)
@@ -6,36 +6,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id: prc_stddef.h 1304 2008-08-27 07:28:36Z ertl-honda $
@@ -43,9 +39,9 @@
 
 /*
- *  t_stddef.hÌvZbTË¶iARM-Mpj
+ *  t_stddef.hのプロセッサ依存部（ARM-M用）
  *
- *  ±ÌCN[ht@CÍCtarget_stddef.hiÜ½ÍC»±©çCN
- *  [h³êét@CjÌÝ©çCN[h³êéD¼Ìt@C©ç
- *  ¼ÚCN[hµÄÍÈçÈ¢D
+ *  このインクルードファイルは，target_stddef.h（または，そこからインク
+ *  ルードされるファイル）のみからインクルードされる．他のファイルから
+ *  直接インクルードしてはならない．
  */
 
@@ -54,11 +50,11 @@
 
 /*
- *  ^[Qbgð¯Ê·é½ßÌ}NÌè`
+ *  ターゲットを識別するためのマクロの定義
  */
-#define TOPPERS_ARM_M           /* vZbTªÌ */
+#define TOPPERS_ARM_M           /* プロセッサ略称 */
 
 /*
- *  X^bNÌ^
- *  ARMÅÍCX^bNð8byte«EÉzu·éKvª é
+ *  スタックの型
+ *  ARMでは，スタックを8byte境界に配置する必要がある
  */
 #define TOPPERS_STK_T  long long
Index: /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/prc_support.S
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/prc_support.S	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/prc_support.S	(revision 95)
@@ -7,48 +7,43 @@
  *  Copyright (C) 2010 by Meika Sugimoto
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  */
 
 /*
- *  vZbTË¶W
-[ AZu¾êiARM-Mpj
+ *  プロセッサ依存モジュール アセンブリ言語部（ARM-M用）
  */
 
 #define TOPPERS_MACRO_ONLY
-#define UINT_C(val)		(val)		/* uint_t^Ìèðìé}N */
-#define ULONG_C(val)	(val)		/* ulong_t^Ìèðìé}N */
-#define CAST(type, val)	(val)		/* ^LXgðs¤}N */
+#define UINT_C(val)		(val)		/* uint_t型の定数を作るマクロ */
+#define ULONG_C(val)	(val)		/* ulong_t型の定数を作るマクロ */
+#define CAST(type, val)	(val)		/* 型キャストを行うマクロ */
 
 #include "kernel_impl.h"
@@ -59,13 +54,13 @@
 
 /*
- *  OQÆ
+ *  外部参照
  */
 	.global		intnest
 
 /*
- *  CPUáOGg
+ *  CPU例外エントリ
  *
- *  ÝGgÆÌàeÍ¯¾ªCOÌíÞªÙÈé½ßC
- *  ª¯Ä¢éD
+ *  割込みエントリと処理の内容は同等だが，ログの種類が異なるため，
+ *  分けている．
  */
 	.align 2
@@ -76,9 +71,9 @@
 exc_entry:
 	/*
-	 *  áO/Ýª­¶·éÆC­¶ÉANeBuÈX^bNÉXN
-	 *  b`WX^ªÛ¶³êéD
-	 *  ±ÌàeÉÁ¦ÄCCPUáOnhÖÌîñÆµÄCbasepri ÌlÆC
-	 *  EXC_RETURNÌîñðÁ¦ÄÛ¶·éDbasepriÌlÍCCPUáO©çÌ
-	 *  ^[ÉÝDæx}XNÌlð³Éß·½ßÉàp¢çêéD
+	 *  例外/割込みが発生すると，発生時にアクティブなスタックにスクラ
+	 *  ッチレジスタ等が保存される．
+	 *  この内容に加えて，CPU例外ハンドラへの情報として，basepri の値と，
+	 *  EXC_RETURNの情報を加えて保存する．basepriの値は，CPU例外からの
+	 *  リターン時に割込み優先度マスクの値を元に戻すためにも用いられる．
 	 *
 	 *   -----------
@@ -107,16 +102,16 @@
 
 	/*
-	 *  Ý­¶ÌÝDæx}XNðX^bNÉÛ¶·é½ßæ¾
-	 */
-	mrs   r2, basepri			/* baepriÌlðæ¾ */
-	push  {r2}					/* Ý­¶ÌÝDæx}XNðÏÞ */
-	push  {lr}					/* EXC_RETURN ðÏÞ			  */ 
-	mov   r0, sp				/* CPUáOnhÖÌøÆÈé */
-	
-	ldr   r1 , =lock_flag		/* CPUbNtOðÛ¶ */
+	 *  割込み発生時の割込み優先度マスクをスタックに保存するため取得
+	 */
+	mrs   r2, basepri			/* baepriの値を取得 */
+	push  {r2}					/* 割込み発生時の割込み優先度マスクを積む */
+	push  {lr}					/* EXC_RETURN を積む			  */ 
+	mov   r0, sp				/* CPU例外ハンドラへの引数となる */
+	
+	ldr   r1 , =lock_flag		/* CPUロックフラグを保存 */
 	ldr   r1 , [r1]
 	push  {r1}
 	
-	/* ÝlXgÌÁZ */
+	/* 割込みネスト数の加算 */
 	ldr r1 , =intnest
 	ldr r3 , [r1]
@@ -125,8 +120,8 @@
 
 	/*
-	 *  ¤Ê
+	 *  共通処理
 	 */
 exc_entry_2:
-	mrs   r3, ipsr               /* nhAhXðæ¾ */
+	mrs   r3, ipsr               /* ハンドラアドレスを取得 */
 	ldr   r1, =_kernel_exc_tbl
 	ldr   r2, [r1, r3, lsl #2]
@@ -134,19 +129,19 @@
 #ifdef LOG_EXC_ENTER
 	push  {r0, r2, r3}
-	mov   r0, r3                 /* áOÔðp[^É  */
-	bl    log_exc_enter          /* log_exc_enterðÄÑo· */
+	mov   r0, r3                 /* 例外番号をパラメータに  */
+	bl    log_exc_enter          /* log_exc_enterを呼び出す */
 	pop   {r0, r2, r3}
 #endif /* LOG_EXC_ENTER */
 
 #ifdef LOG_EXC_LEAVE
-	push  { r3 }                   /* áOÔðX^bNÖ    */
+	push  { r3 }                   /* 例外番号をスタックへ    */
 #endif /* LOG_EXC_LEAVE */
 
 	/*
-	 *  CPUáOnhÌÄÑoµ
+	 *  CPU例外ハンドラの呼び出し
 	 */
 	blx   r2
 
-	/* CPUbNtOð³Éß· */
+	/* CPUロックフラグを元に戻す */
 	pop   {r0}
 	ldr   r1 , =lock_flag
@@ -154,6 +149,6 @@
 	
 #ifdef LOG_EXC_LEAVE
-	pop   { r0 }                   /* áOÔðøÉ        */
-	bl    log_exc_leave          /* log_exc_leaveðÄÑo· */
+	pop   { r0 }                   /* 例外番号を引数に        */
+	bl    log_exc_leave          /* log_exc_leaveを呼び出す */
 #endif /* LOG_EXC_LEAVE */
 	
@@ -162,5 +157,5 @@
 
 /*
- *  ÝGg
+ *  割込みエントリ
  */
 	.align 2
@@ -171,16 +166,16 @@
 int_entry:
 	/*
-	 *	Ý­¶ÌÝDæx}XNðX^bNÉÛ¶·é½ßæ¾
-	 */
-	mrs   r2, basepri			  /* baepriÌlðæ¾ */
-	push  {r2}					 /* Ý­¶ÌÝDæx}XNðÏÞ */
-	push  {lr}					 /* EXC_RETURN ðÏÞ			  */ 
-	mov   r0, sp				 /* ¢è`ÌÝª­¶µ½êÌîñÆ·é */
-	
-	/*
-	 *	¤Ê
+	 *	割込み発生時の割込み優先度マスクをスタックに保存するため取得
+	 */
+	mrs   r2, basepri			  /* baepriの値を取得 */
+	push  {r2}					 /* 割込み発生時の割込み優先度マスクを積む */
+	push  {lr}					 /* EXC_RETURN を積む			  */ 
+	mov   r0, sp				 /* 未定義の割込みが発生した場合の情報とする */
+	
+	/*
+	 *	共通処理
 	 */
 int_entry_2:
-	/* ÝlXgÌÁZ */
+	/* 割込みネスト数の加算 */
 	ldr r1 , =intnest
 	ldr r3 , [r1]
@@ -188,5 +183,5 @@
 	str r3 , [r1]
 	
-	mrs   r3, ipsr				 /* nhAhXðæ¾ */
+	mrs   r3, ipsr				 /* ハンドラアドレスを取得 */
 	ldr   r1, =_kernel_exc_tbl
 	ldr   r2, [r1, r3, lsl #2]
@@ -194,52 +189,52 @@
 #ifdef LOG_INH_ENTER
 	push  {r0,r2,r3}
-	mov   r0, r3                 /* ÝÔðp[^É  */
-	bl    log_inh_enter          /* log_inh_enterðÄÑo· */
+	mov   r0, r3                 /* 割込み番号をパラメータに  */
+	bl    log_inh_enter          /* log_inh_enterを呼び出す */
 	pop   { r0,r2,r3 }
 #endif /* LOG_INH_ENTER */
 
 #ifdef LOG_INH_LEAVE
-	push  { r3 }                   /* ÝÔðX^bNÖ    */
+	push  { r3 }                   /* 割込み番号をスタックへ    */
 #endif /* LOG_INH_LEAVE */
 
 	/*
-	 *  CPUáOnhÌÄÑoµ
+	 *  CPU例外ハンドラの呼び出し
 	 */
 	blx   r2
 	
 #ifdef LOG_INH_LEAVE
-	pop   { r0 }                   /* ÝÔðøÉ        */
-	bl    log_inh_leave          /* log_inh_leaveðÄÑo· */
+	pop   { r0 }                   /* 割込み番号を引数に        */
+	bl    log_inh_leave          /* log_inh_leaveを呼び出す */
 #endif /* LOG_INH_LEAVE */
 
 /*
- *  Ý/áOoû
+ *  割込み/例外出口
  *
- *  ret_exc/ret_intÍCCPUáO/Ýnh©çßÁ½¼ãÉÀs·é
- *  [`Å éD
+ *  ret_exc/ret_intは，CPU例外/割込みハンドラから戻った直後に実行する
+ *  ルーチンである．
  */
 ret_exc:
 ret_int:
 	/*
-	 *  ÝbNóÔÆ·éD±Ì_ÅÍCCPUbNóÔÉÍÈçÈ¢
-	 * ibasepriÆlock_flagÆsaved_iipmÍXVµÈ¢jD
-	 *
-	 *  ÝbNóÔÆ·éÌÍCßèæÌReLXgÌ`FbNÆC
-	 *  ßèæªñ^XNReLXgÅ Á½êÌ^[ðAg~bN
-	 *  És¤½ßÅ éDbsepriðCPUbNÌlÉ·é±ÆÅàAg~b
-	 *  NÈ`FbNÆAÍÂ\Å éªCÝ©ç^[µÄàC
-	 *  basepri ÌÝèàeÍ³ÉßçÈ¢½ßCgp·é±ÆªÅ«È¢D 
-	 *  êûCFAULTMASKÍCÝ©çÌ^[ÉæÁÄC'0'ÉN
-	 *  A³êéD
+	 *  割込みロック状態とする．この時点では，CPUロック状態にはならない
+	 * （basepriとlock_flagとsaved_iipmは更新しない）．
+	 *
+	 *  割込みロック状態とするのは，戻り先のコンテキストのチェックと，
+	 *  戻り先が非タスクコンテキストであった場合のリターンをアトミック
+	 *  に行うためである．bsepriをCPUロックの値にすることでもアトミッ
+	 *  クなチェックと復帰は可能であるが，割込みからリターンしても，
+	 *  basepri の設定内容は元に戻らないため，使用することができない． 
+	 *  一方，FAULTMASKは，割込みからのリターン処理によって，'0'にクリ
+	 *  アされる．
 	 */
 	cpsid f
 	
 	/*
-	 *  ßèæÌReLXgÌ»è
+	 *  戻り先のコンテキストの判定
 	 * 
-	 *  intnestª0©Ç¤©Å»f·é
+	 *  intnestが0かどうかで判断する
 	 *  
 	 */
-	/* ÝlXgÌ¸Z */
+	/* 割込みネスト数の減算 */
 	ldr r1 , =intnest
 	ldr r3 , [r1]
@@ -251,45 +246,45 @@
 	
 	/*
-	 *  êiÚÌÝÌoû
+	 *  一段目の割込みの出口処理
 	 */
 ret_int_1:
 	/*
-	 *  ±±ÉÍÝbNóÔiFAULTMASKªZbgj³ê½óÔÅéD
-	 *  Thread[h©çÌ^[Éæè©®IÉÝbNðóÔÉÈéD
-	 *  ÝDæx}XNÍÝOÉóÔÉß·D
+	 *  ここには割込みロック状態（FAULTMASKがセット）された状態で来る．
+	 *  Threadモードからのリターンにより自動的に割込みロック解除状態になる．
+	 *  割込み優先度マスクは割込み前に状態に戻す．
 	 */ 
 	pop		{ r2 }
 	pop		{ r1 }
-	msr   basepri, r1			  /* ÝDæx}XNðÝOÉóÔÖ */
-	bx	  r2					  /* ^[ */
+	msr   basepri, r1			  /* 割込み優先度マスクを割込み前に状態へ */
+	bx	  r2					  /* リターン */
 	
 ret_int_2:
-	ldr   r0, =reqflg             /* reqflgªfalseÈç»ÌÜÜßé */
+	ldr   r0, =reqflg             /* reqflgがfalseならそのまま戻る */
 	ldr   r1, [r0]
 	cmp   r1 , #0
-	beq    ret_int_1           /* falseÈçret_int_1Ö           */
+	beq    ret_int_1           /* falseならret_int_1へ           */
 ret_int_3:
-	mov   r1, #0                   /* reqflgðfalseÉ */
+	mov   r1, #0                   /* reqflgをfalseに */
 	str   r1, [r0]
 	
 	/*
-	 *  CPUbNóÔÉÚs·éD
-	 *
-	 *  J[lÌÇàÌÝðÖ~·éæ¤ÉbasepriðÝèµC
-	 *  lock_flagðXV·éD
-	 *  ±Ì_ÅCPUbNóÔÆ·éÌÍCdispatcherÖªò·éÉ
-	 *  CPUbNóÔÉÈÁÄ¢éKvª é½ßÅ éD
-     *  È¨C±ÌÌãCThread[hÖÌÚsðsÈ¤½ßCÝ
-     *  bNóÔ(FAULTMASKð"1")ÍÛ·éD
-	 */
-	ldr   r1, =IIPM_LOCK		  /* CPUbNóÔ */ 
+	 *  CPUロック状態に移行する．
+	 *
+	 *  カーネルの管理内の割込みを禁止するようにbasepriを設定し，
+	 *  lock_flagを更新する．
+	 *  この時点でCPUロック状態とするのは，dispatcherへ分岐する時に
+	 *  CPUロック状態になっている必要があるためである．
+     *  なお，この処理の後，Threadモードへの移行処理を行なうため，割込み
+     *  ロック状態(FAULTMASKを"1")は保持する．
+	 */
+	ldr   r1, =IIPM_LOCK		  /* CPUロック状態 */ 
 	msr   basepri, r1
-	mov   r1, #0x01 			  /* lock_flag ð trueÉ */
+	mov   r1, #0x01 			  /* lock_flag を trueに */
 	ldr   r0, =lock_flag 
 	str   r1, [r0]
 	
 	/*
-	 *  lrðæèo·D½¾µxfBXpb`ÌÛÉàg¤½ßC
-	 *  X^bN|C^ÍìµÈ¢D
+	 *  lrを取り出す．ただし遅延ディスパッチの際にも使うため，
+	 *  スタックポインタは操作しない．
 	 */
 	
@@ -297,27 +292,27 @@
 	
 	/*
-	 *  Thread[hÖÚs·éD
-	 *
-	 *  dispatcherâcall_texrnðÄÑo·êÍCThread[hÅ éK
-	 *  vª é½ßCPSPX^bNãÉ_~[ÌáOt[ðu¢ÄC
-	 *  [IÉÝnh©ç^[·éD
-	 *  ^[Æ¯ÉFAULTMASKª©®IÉNA³êCJ[lÇOÌ
-	 *  ÝªÂ³êéD
+	 *  Threadモードへ移行する．
+	 *
+	 *  dispatcherやcall_texrnを呼び出す場合は，Threadモードである必
+	 *  要があるため，PSPスタック上にダミーの例外フレームを置いて，
+	 *  擬似的に割込みハンドラからリターンする．
+	 *  リターンと同時にFAULTMASKが自動的にクリアされ，カーネル管理外の
+	 *  割込みが許可される．
 	 */
 	ldr   r0, =ret_int_4		  /* PC   */
-	ldr   r1, =EPSR_T			  /* xPSR(Trbgª'1'Å éKvª é) */
-	stmfd sp!, {r0-r1}			  /* _~[t[ðX^bNãÉÏÞ	*/
-	sub   sp, #(EXC_FRAME_SIZE - (4*2)) /* r0-r3,r12,lrÌàeÍÝè·éKvªÈ¢ */
-	bx	  r2					  /* Thread[hÖÚs */
+	ldr   r1, =EPSR_T			  /* xPSR(Tビットが'1'である必要がある) */
+	stmfd sp!, {r0-r1}			  /* ダミーフレームをスタック上に積む	*/
+	sub   sp, #(EXC_FRAME_SIZE - (4*2)) /* r0-r3,r12,lrの内容は設定する必要がない */
+	bx	  r2					  /* Threadモードへ移行 */
     
 ret_int_4:
-	bl    search_schedtsk		/* ÝÅN®³ê½^XNðÀs */
+	bl    search_schedtsk		/* 割込み中で起動されたタスクを実行 */
 	bl    run_task
 ret_int_r:
-	svc   0 				   /* SVCÌÄÑoµ */
-	
-/*
- *  xfBXpb`©çÌAÉêIÉÝ
- *  ReLXgÉÚs·é½ßÌSVCR[nh
+	svc   0 				   /* SVCの呼び出し */
+	
+/*
+ *  遅延ディスパッチからの復帰時に一時的に割込み
+ *  コンテキストに移行するためのSVCコールハンドラ
  */
 
@@ -328,18 +323,18 @@
 kernel_svc_handler:
 	/*
-	 *  Ý©çÌ^[ÉæèCCPUbNðóÔÉÚs·éæ
-	 *  ¤õ·éD
-	 */
-	cpsid f 								/* ÝbNóÔÖ */
-	ldr		r2 , [ sp , #(EXC_FRAME_SIZE) ]	/* lrðX^bN©çæ¾	*/
-	add		sp, #EXC_FRAME_SIZE + 8			/* X^bNðÌÄé	*/
+	 *  割込み処理からのリターンにより，CPUロック解除状態に移行するよ
+	 *  う準備する．
+	 */
+	cpsid f 								/* 割込みロック状態へ */
+	ldr		r2 , [ sp , #(EXC_FRAME_SIZE) ]	/* lrをスタックから取得	*/
+	add		sp, #EXC_FRAME_SIZE + 8			/* スタックを捨てる	*/
 	mov		r0, #0
-	ldr		r1, =lock_flag					/* CPUbNðóÔÖ */
+	ldr		r1, =lock_flag					/* CPUロック解除状態へ */
 	str		r0, [r1]
 	msr		basepri , r0 
-	bx		r2								/* ^[	  */
-
-/*
- *  fBXpb`Ì®ìJn
+	bx		r2								/* リターン	  */
+
+/*
+ *  ディスパッチャの動作開始
  */
 	.align	2
@@ -349,26 +344,26 @@
 start_dispatch:
 	/*
-	 *  ±Ì[`ÍCJ[lN®ÉC·×ÄÌÝðÖ~µ½óÔ
-	 * iÝbNóÔÆ¯jÅÄÑo³êéDÜ½CÝ[hiñ
-	 *  ^XNReLXgÆ¯jÅÄÑo³êé±ÆðzèµÄ¢éD
-	 *
-	 *  prc_initializeÅClock_flagðtrueÉCsaved_iipmðIIPM_ENAALLÉ
-	 *  ú»µÄ¢é½ßCJ[lÇOÌÝðÂ·é±ÆÅC
-	 *  CPUbNóÔEifãÌjÝDæx}XNSðóÔÉÈéD
-	 *  Ü½Ctask_initializeÅdisdspðfalseÉú»µÄ¢é½ßCfB
-	 *  Xpb`ÂóÔÉÈÁÄ¢éD
-	 */
-	ldr   r0,=istkpt              /* MSPðú»   */
-	ldr   r1,[r0]                 /* start_dispatchÄÑoµÉÄÑoµpÉ */
-	msr   msp, r1                 /* gpµÄ¢é½ßú»·é             */
-	ldr   r1, =IIPM_LOCK          /* J[lÇàÌÝðÖ~ */
+	 *  このルーチンは，カーネル起動時に，すべての割込みを禁止した状態
+	 * （割込みロック状態と同等）で呼び出される．また，割込みモード（非
+	 *  タスクコンテキストと同等）で呼び出されることを想定している．
+	 *
+	 *  prc_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                       /* J[lÇOÌÝðÂ */
+	cpsie f                       /* カーネル管理外の割込みを許可 */
 	b	  dispatcher
 
 /*
- *  J[lÌI¹ÌÄoµ
+ *  カーネルの終了処理の呼出し
  *
- *  X^bNðñ^XNReLXgpÉØèÖ¦D
+ *  スタックを非タスクコンテキスト用に切り替え．
  *  
  */
@@ -379,9 +374,9 @@
 	.type call_exit_kernel, function
 call_exit_kernel:
-	b     exit_kernel       /* J[lÌI¹ðÄÔ */
-
-
-/*
- *  ÷­ÔÒ¿
+	b     exit_kernel       /* カーネルの終了処理を呼ぶ */
+
+
+/*
+ *  微少時間待ち
  */
 	.text
Index: /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/prc_test.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/prc_test.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/prc_test.h	(revision 95)
@@ -6,36 +6,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id: prc_test.h 1304 2008-08-27 07:28:36Z ertl-honda $
@@ -43,5 +39,5 @@
 
 /*
- *		eXgvOÌ`bvË¶è`iARM-Mpj
+ *		テストプログラムのチップ依存定義（ARM-M用）
  */
 
@@ -50,5 +46,5 @@
 
 /*
- *  `bvÅ¤ÊÈè`
+ *  チップで共通な定義
  */
 
Index: /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/prc_timer.c
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/prc_timer.c	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/prc_timer.c	(revision 95)
@@ -7,36 +7,32 @@
  *  Copyright (C) 2010 by Meika Sugimoto
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id: prc_timer.c 1304 2008-08-27 07:28:36Z ertl-honda $
@@ -44,5 +40,5 @@
 
 /*
- *  ^C}hCoiSYSTICpj
+ *  タイマドライバ（SYSTIC用）
  */
 #include <sil.h>
@@ -52,5 +48,5 @@
 
 /*
- *  ^C}ÌN®
+ *  タイマの起動処理
  */
 void
@@ -61,5 +57,5 @@
 
 #ifdef SYSTIC_USE_CALIBRATION
-	/* CALIBRATIONWX^Ìlðgp */
+	/* CALIBRATIONレジスタの値を使用 */
 	cyc = (sil_rew_mem((void *)SYSTIC_CALIBRATION) & SYSTIC_TENMS) / 10;
 #else 
@@ -67,5 +63,5 @@
 #endif /* SYSTIC_USE_CALIBRATION */
 
-	/* â~ */
+	/* 停止 */
 	tmp = sil_rew_mem((void *)SYSTIC_CONTROL_STATUS);
 	tmp &= ~SYSTIC_ENABLE;
@@ -78,8 +74,8 @@
 
 #ifdef SYSTIC_USE_STCLK
-	/* ONbNÌgp */
+	/* 外部クロックの使用 */
 	tmp |= SYSTIC_ENABLE;
 #else
-	/* vZbTNbNÌgp */
+	/* プロセッサクロックの使用 */
 	tmp |= SYSTIC_ENABLE|SYSTIC_CLKSOURCE;
 #endif /* SYSTIC_USE_STCLK */
@@ -89,24 +85,24 @@
 
 /*
- *  ^C}Ìâ~
+ *  タイマの停止処理
  */
 void
 target_timer_terminate(intptr_t exinf)
 {
-	/* ^C}ðâ~ */
+	/* タイマを停止 */
 	sil_wrw_mem((void*)SYSTIC_CONTROL_STATUS, 0x00);
 }
 
 /*
- *  ^C}Ýnh
+ *  タイマ割込みハンドラ
  */
 void
 target_timer_handler(void)
 {
-	/* probe_int Ì½ßCCOUNTFLAGðNA */
+	/* probe_int のため，COUNTFLAGをクリア */
 	(void)sil_rew_mem((void *)SYSTIC_CONTROL_STATUS);
 	
 	i_begin_int(INTNO_TIMER);
-	signal_time();                    /* ^CeBbNÌ */
+	signal_time();                    /* タイムティックの供給 */
 	i_end_int(INTNO_TIMER);
 }
Index: /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/prc_timer.cfg
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/prc_timer.cfg	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/prc_timer.cfg	(revision 95)
@@ -4,6 +4,5 @@
 
 /*
- *		^C}hCoÌRtBM
-[Vt@C
+ *		タイマドライバのコンフィギュレーションファイル
  */
 ATT_INI({ TA_NULL, 0, target_timer_initialize });
Index: /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/prc_timer.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/prc_timer.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/prc_timer.h	(revision 95)
@@ -6,36 +6,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id: prc_timer.h 1304 2008-08-27 07:28:36Z ertl-honda $
@@ -43,5 +39,5 @@
 
 /*
- *  ^C}hCoiSYSTICpj
+ *  タイマドライバ（SYSTIC用）
  */
 
@@ -52,18 +48,18 @@
 
 /*
- *  ^C}Ýnho^Ì½ßÌè
+ *  タイマ割込みハンドラ登録のための定数
  */
-#define INHNO_TIMER     IRQNO_SYSTICK /* ÝnhÔ */
-#define INTNO_TIMER     IRQNO_SYSTICK /* ÝÔ */
+#define INHNO_TIMER     IRQNO_SYSTICK /* 割込みハンドラ番号 */
+#define INTNO_TIMER     IRQNO_SYSTICK /* 割込み番号 */
 
 #ifndef TOPPERS_MACRO_ONLY
 
 /*
- *  ^C}lÌà\»Ì^
+ *  タイマ値の内部表現の型
  */
 typedef uint32_t    CLOCK;
 
 /*
- *  ^C}lÌà\»Æ~bEÊbPÊÆÌÏ·
+ *  タイマ値の内部表現とミリ秒・μ秒単位との変換
  *
  */
@@ -72,24 +68,24 @@
 
 /*
- *  ÝèÅ«éÅåÌ^C}üúiPÊÍà\»j
+ *  設定できる最大のタイマ周期（単位は内部表現）
  */
 #define MAX_CLOCK    ((CLOCK) 0x00ffffffU)
 
 /*
- *  ^C}ÌN®
+ *  タイマの起動処理
  *
- *  ^C}ðú»µCüúIÈ^C}Ývð­¶³¹éD
+ *  タイマを初期化し，周期的なタイマ割込み要求を発生させる．
  */
 extern void target_timer_initialize(intptr_t exinf);
 
 /*
- *  ^C}Ìâ~
+ *  タイマの停止処理
  *
- *  ^C}Ì®ìðâ~³¹éD
+ *  タイマの動作を停止させる．
  */
 extern void target_timer_terminate(intptr_t exinf);
 
 /*
- *  ^C}Ì»ÝlÌÇoµ
+ *  タイマの現在値の読出し
  */
 Inline CLOCK
@@ -100,5 +96,5 @@
 
 /*
- *  ^C}ÝvÌ`FbN
+ *  タイマ割込み要求のチェック
  */
 Inline bool_t
@@ -109,5 +105,5 @@
 
 /*
- *  ^C}Ýnh
+ *  タイマ割込みハンドラ
  */
 extern void target_timer_handler(void);
Index: /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/prc_user.txt
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/prc_user.txt	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/prc_user.txt	(revision 95)
@@ -1,85 +1,84 @@
 =====================================================================
-                         ARM-MvZbTË¶
+                         ARM-Mプロセッサ依存部
                                   Last Modified: '13/04/07
 =====================================================================
 
 
-(1) ÎµÄ¢é^[QbgVXeÌíÞE\¬
+(1) 対応しているターゲットシステムの種類・構成
 
-ARM-MË¶ÍCARMVx-MA[LeN`ð^[QbgÆµÄ¢éDARMVx-MÍC
-ARMÆÍÙÈèCARM½ßðÀsÅ«È¢½ßCARMË¶Æª¯Ä¢éD
+ARM-M依存部は，ARMVx-Mアーキテクチャをターゲットとしている．ARMVx-Mは，
+ARMとは異なり，ARM命令を実行できないため，ARM依存部と分けている．
 
 
-(2) gp·éJ­Â«Æ®ìØµ½ðio[WCIvVj
+(2) 使用する開発環境と動作検証した条件（バージョン，オプション等）
 
-J[lÍGCCðp¢ÄRpC·éD®ìmFµ½o[WÍe^[Q
-bgË¶ÌhL
-gÉLÚ·éD
+カーネルはGCCを用いてコンパイルする．動作確認したバージョンは各ターゲ
+ット依存部のドキュメントに記載する．
 
 
-(3) ^[Qbgè`ÌKè
+(3) ターゲット定義事項の規定
 
-(3-1) f[^^ÉÖ·éKè
+(3-1) データ型に関する規定
 
-f[^^Í arch/gcc/tool_stddef.h Åè`³êÄ¢éàeÅCfloat^Æ
-double^ÍC»ê¼êIEEE754ÌP¸x®¬_Æ{¸x®¬_
-Å éD
+データ型は arch/gcc/tool_stddef.h で定義されている内容で，float型と
+double型は，それぞれIEEE754準拠の単精度浮動小数点数と倍精度浮動小数点
+数である．
 
-(3-2) ÝÉÖ·éKè
+(3-2) 割込み処理に関する規定
 
-ÝnhÔÆÝÔÌÄC¼ÒÌÎ
+○割込みハンドラ番号と割込み番号の割当て，両者の対応
 
-ÝnhÔÆÝÔÍCáO­¶ÉIPSRÉZbg³êéáOÔ
-ðp¢éDSYSTICKÍ15ÔÅCOÝÍ16Ô©çÌÔªèt¯çê
-Ä¢éD
+割込みハンドラ番号と割込み番号は，例外発生時にIPSRにセットされる例外番
+号を用いる．SYSTICKは15番で，外部割込みは16番からの番号が割り付けられ
+ている．
 
-ÝDæxÌiKiTMIN_INTPRIÌljC»ÌÝèû@
+○割込み優先度の段階数（TMIN_INTPRIの値），その設定方法
 
-ÝDæxÌiKÍCSoCÉn[hEFAIÉT|[g·éÝDæ
-xrbgªÙÈéÌÅC^[QbgË¶ÉÙÈéD^[QbgË¶Å
-ÍCÝDæxÌrbgiTBITW_IPRIjÆ»ÌÝDæxÌTuDæ
-xÌrbgiTBITW_SUBPRIjðè`·éDerbgÌlÆÝèÂ\ÈDæ
-xÌÍÍÍÌÊèÅ éD
+割込み優先度の段階数は，SoC毎にハードウェア的にサポートする割込み優先
+度ビット幅が異なるので，ターゲット依存部毎に異なる．ターゲット依存部で
+は，割込み優先度のビット幅（TBITW_IPRI）とその割込み優先度中のサブ優先
+度のビット幅（TBITW_SUBPRI）を定義する．各ビット幅の値と設定可能な優先
+度の範囲は次の通りである．
 
-   -(2^(TBIW_IPRI)) + (2^TBITW_SUBIPRI)) ` -1
+   -(2^(TBIW_IPRI)) + (2^TBITW_SUBIPRI)) 〜 -1
 
-á¦ÎDæxÌrbg(TBITW_IPRI)ª8bitCTuDæxÌrbg
-(TBITW_SUBIPRI) ª1bitÌêÍC-254 ` -1 ÌÍÍÅ éD
+例えば優先度のビット幅(TBITW_IPRI)が8bit，サブ優先度のビット幅
+(TBITW_SUBIPRI) が1bitの場合は，-254 〜 -1 の範囲である．
 
-±ÌÍÍÅCJ[lÇàÌÝÌÅDæxiTMIN_INTPRIjð^[Q
-bgË¶ÅÝè·éD
+この範囲で，カーネル管理内の割込みの最高優先度（TMIN_INTPRI）をターゲ
+ット依存部で設定する．
 
-eÝÌÝDæxÍCCFG_INTÅTMIN_INTPRIÈãÌlðwè·éD
+各割込みの割込み優先度は，CFG_INTでTMIN_INTPRI以上の値を指定する．
 
-dis_intÆena_intÌT|[gÌL³C»Ì§À
+○dis_intとena_intのサポートの有無，その制限事項
 
-dis_intÆena_intðT|[g·éD§ÀÍÁÉÈ¢D
+dis_intとena_intをサポートする．制限事項は特にない．
 
-CFG_INTÌ§ÀÆg£i^[Qbgè`ÅgpÅ«éÝ®«j
+○CFG_INTの制限事項と拡張（ターゲット定義で使用できる割込み属性）
 
-CFG_INTÌ§ÀÍÈ­C^[Qbgè`ÅgpÂ\ÈÝ®«ÍÁÉÈ
-¢D
+CFG_INTの制限事項はなく，ターゲット定義で使用可能な割込み属性は特にな
+い．
 
-J[lÇOÌÝ
+○カーネル管理外の割込み
 
-J[lÇOÌÝðT|[g·éDwèû@ÍCÝDæxÌiK
-Åwèµ½CT|[g·éÝDæxÌÅliÅ¬ljæèC
-TMIN_INTPRIðå«­Ýè·éÆCTMIN_INTPRIæèlª¬¢iDæxjÈ
-ÝDæxðÝèµ½ÝðÝDæxÆµÄµ¤D
+カーネル管理外の割込みをサポートする．指定方法は，割込み優先度の段階数
+で指定した，サポートする割込み優先度の最高値（最小値）より，
+TMIN_INTPRIを大きく設定すると，TMIN_INTPRIより値が小い（高優先度）な割
+込み優先度を設定した割込みを割込み優先度として扱う．
 
-J[lÇOÌÝÍOSÀsàÖ~ÉÈé±ÆÍÈ­iµ§ÉÍÝ
-ÌoûÅ²­Z¢æÔÖ~³êéjCÝ­¶ÍCJ[lÌR[hðo
-R¹¸ÉÄÑo³êéD
+カーネル管理外の割込みはOS実行中も禁止になることはなく（厳密には割込み
+の出口でごく短い区間禁止される），割込み発生時は，カーネルのコードを経
+由せずに呼び出される．
 
-J[lÇOÌÝÉÎ·éCDEF_INH,CFG_INTÍT|[g·éD
+カーネル管理外の割込みに対する，DEF_INH,CFG_INTはサポートする．
 
-(3-3) CPUáOÉÖ·éKè
+(3-3) CPU例外処理に関する規定
 
-CPUáOnhÔ
+○CPU例外ハンドラ番号
 
-CPUáOnhÔÆµÄÍCáO­¶ÉIPSRÉZbg³êéCáOÔ
-ðp¢éDeáOÌáOÔÍÈºÌÊèÅ éD
+CPU例外ハンドラ番号としては，例外発生時にIPSRにセットされる，例外番号
+を用いる．各例外の例外番号は以下の通りである．
 
-        áO              áOÔ
+        例外              例外番号
   Reset                      1
   Non-makable Interrupt      2
@@ -92,65 +91,64 @@
   PendSV                    14
 
-È¨CResetÆCSVCallÉÂ¢ÄÍCJ[lªgp·é½ßC[U[Íg
-p·é±ÆªÅ«È¢D
+なお，Resetと，SVCallについては，カーネルが使用するため，ユーザーは使
+用することができない．
 
-(3-4) CPUbNEÝbN
+(3-4) CPUロック・割込みロック
 
-CPUbNÍCbasepriðTMIN_INTPRIÌDæxÌÝðÖ~·élÉÝè·
-éDÝbNÍCFAULTMASKð'1'ÉÝè·é±ÆÅÀ»µÄ¢éD
+CPUロックは，basepriをTMIN_INTPRIの優先度の割込みを禁止する値に設定す
+る．割込みロックは，FAULTMASKを'1'に設定することで実現している．
 
-(3-5) «\]¿pVXeÌQÆÉÖ·éKè
+(3-5) 性能評価用システム時刻の参照に関する規定
 
-get_utmðT|[g·éD¸xÉÖµÄÍC^[QbgÉÙÈéD
+get_utmをサポートする．精度に関しては，ターゲット毎に異なる．
 
-(3-6) X^[gAbv[`ÅÌú»àe
+(3-6) スタートアップルーチンでの初期化内容
 
-X^[gAbv[`ÍCThread[hÅÄÑo³êé±ÆðOñÆµÄ¢
-éDÀsãCÝbNóÔiFAULTMASKðZbgjÆ·éDÝbN
-óÔÍCJ[lÌú»I¹ÉÂ·éDX^[gAbv[`ÅC
-MSPðANeBuÈX^bNÆµCMSPÌàeðú»·é½ßÉÍCINIT_MSP
-ð^[QbgË¶Åè`·éD
+スタートアップルーチンは，Threadモードで呼び出されることを前提としてい
+る．実行後，割込みロック状態（FAULTMASKをセット）とする．割込みロック
+状態は，カーネルの初期化終了時に許可する．スタートアップルーチンで，
+MSPをアクティブなスタックとし，MSPの内容を初期化するためには，INIT_MSP
+をターゲット依存部で定義する．
 
-(3-7) xN^e[uItZbgÌú»
+(3-7) ベクタテーブルオフセットの初期化
 
-vZbTË¶Ìú»ÅCVector Table Offset Register ð^[Qb
-gË¶Ìú»[`ÅÝè·éDÈ¨CxN^[e[uÍC.vector
-ÌZNV®«ªtÁ³êÄ¢é½ßCJXNvgÅ±ÌZNV
-ðwèµÄzu·éD
+プロセッサ依存の初期化処理で，Vector Table Offset Register をターゲッ
+ト依存部の初期化ルーチンで設定する．なお，ベクターテーブルは，.vector
+のセクション属性が付加されているため，リンカスクリプトでこのセクション
+を指定して配置する．
 
 
-(4) ^C}hCoÖAÌîñ
+(4) タイマドライバ関連の情報
 
-J[lÌ^CeBbNÆµÄCSYSTICðgp·éêÍCprc_config.c 
-ðRpCÎÛÆµCRtBM
-[Vt@CÉ prc_config.cfg 
-ðwè·é±ÆD
+カーネルのタイムティックとして，SYSTICを使用する場合は，prc_config.c 
+をコンパイル対象とし，コンフィギュレーションファイルに prc_config.cfg 
+を指定すること．
 
-üúÌî{Í1msecÆ·éDüúðCALIBRATIONWX^ÌÝèàeð³ÉvZ
-·éêÍCSYSTIC_USE_CALIBRATION ðè`·éDCALIBRATIONWX^ðp
-¢È¢êÍC1msecüúªÌJEglð TIMER_CLOCK ÉÝè·éDNb
-N\[XÆµÄCONbNðp¢éêÍCSYSTIC_USE_STCLK ðp¢éD
+周期の基本は1msecとする．周期をCALIBRATIONレジスタの設定内容を元に計算
+する場合は，SYSTIC_USE_CALIBRATION を定義する．CALIBRATIONレジスタを用
+いない場合は，1msec周期分のカウント値を TIMER_CLOCK に設定する．クロッ
+クソースとして，外部クロックを用いる場合は，SYSTIC_USE_STCLK を用いる．
 
 
-(5) ^[QbgË¶ÅÌÝèÚ
+(5) ターゲット依存部での設定項目
 
-^[QbgË¶ÅÍÈºÌ}Nðè`·éKvª éD
+ターゲット依存部では以下のマクロを定義する必要がある．
 
-   ¥TMAX_INTNO     : ÝÔÌÅål(ÊíÌÝÔ + 15)
-   ¥TBITW_IPRI     : ÝDæxÌrbg
-   ¥TBITW_SUBIPRI  : ÝDæxÌrbgÌTuDæxÌrbg
-   ¥TMIN_INTPRI    : ÝDæxÌÅ¬liÅlj
-   ¥TIC_NUME       : ^CeBbNÌüúÌªq
-   ¥TIC_DENO       : ^CeBbNÌüúÌªê
-   ¥TIMER_CLOCK    : ^C}lÌà\»Æ~bPÊÆÌÏ·
-   ¥INTPRI_TIMER   : ^C}ÝÝDæx
-   ¥INTATR_TIMER   : ^C}ÝÌÝ®«
-   ¥INIT_MSP       : X^[gAbv[`ÅMSPðú»·éêÍè`
-   ¥DEFAULT_ISTKSZ : X^bNTCYi8bytePÊÅwèj
-   ¥SIL_DLY_TIM1   : ÷­ÔÒ¿Ì½ßÌè`
-   ¥SIL_DLY_TIM2   : ÷­ÔÒ¿Ì½ßÌè`
+   ･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) fBNg\¬Et@C\¬
+(6) ディレクトリ構成・ファイル構成
   ./arch/arm_m_gcc/
     ./Makefile.prc
@@ -177,25 +175,25 @@
     ./start.S
 
-(12) o[Wð
+(12) バージョン履歴
 
 2008/08/22
- Eprc_user.txt/prc_design.txt
-   E2008/8/21ÌZp¢ïÅÌc_Êð½fD
- Eprc_support.S/prc_config.c/prc_config.h/arm_m.h
-   EReLXg»èðexc_ncnt©çANeBuÈX^bNÉÏX
- Eprc_config.c
-   Eset_exc_int_priority() ÅT|[gÂ\ÈIRQÌãÀð239Ég£D
- Estart.S 
-   EN®ÍThread[hðOñÆµÄ¢é±Æð¾LD
-   Eu[g[_[©çN®³êéêðzèµCMSPðLøÉ·éæ¤É
-     ÏXD
- Eprc_timer.c
-   ERgðC³
-   EfobOpR[hðí
+ ・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
- EÅÌ[X
+ ・最初のリリース
 
 2013/04/07
- EáO­¶ÉÝ/CPUáO­¶ñÌCNgªsíêÄ¢È©Á½
-   âèÌC³
+ ・例外処理発生時に割込み/CPU例外発生回数のインクリメントが行われていなかった
+   問題の修正
Index: /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/start.S
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/start.S	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/start.S	(revision 95)
@@ -8,36 +8,32 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id: start.S 1304 2008-08-27 07:28:36Z ertl-honda $
@@ -45,11 +41,10 @@
                 
 /*
- *   J[lpÌX^[gAbvW
-[(ARM-Mp)
+ *   カーネル用のスタートアップモジュール(ARM-M用)
  */
 #define TOPPERS_MACRO_ONLY
-#define UINT_C(val)		(val)		/* uint_t^Ìèðìé}N */
-#define ULONG_C(val)	(val)		/* ulong_t^Ìèðìé}N */
-#define CAST(type, val)	(val)		/* ^LXgðs¤}N */
+#define UINT_C(val)		(val)		/* uint_t型の定数を作るマクロ */
+#define ULONG_C(val)	(val)		/* ulong_t型の定数を作るマクロ */
+#define CAST(type, val)	(val)		/* 型キャストを行うマクロ */
 
 #include "kernel_impl.h"
@@ -57,7 +52,7 @@
 
 /*
- *  X^[gAbv[`
+ *  スタートアップルーチン
  *
- *  Thread[hÅÄÑo³êé±ÆðOñÆµÄéD
+ *  Threadモードで呼び出されることを前提としてる．
  */
 	.text
@@ -68,13 +63,13 @@
 	.type _start, function
 _start:
-	cpsid f                 /* ÝbNóÔÖ */
+	cpsid f                 /* 割込みロック状態へ */
 
 #ifdef INIT_MSP
 	/*
-	 * MSPÌÝè
+	 * MSPの設定
 	 */
-	mov   r0, #CONTROL_MSP  /* MSPðLøÉ  */
+	mov   r0, #CONTROL_MSP  /* MSPを有効に  */
 	msr   control, r0
-	isb                     /* control ÌìãÉKv */
+	isb                     /* control の操作後に必要 */
 	ldr  r0,=_kernel_istkpt
 	ldr  r1,[r0]
@@ -83,8 +78,8 @@
 
 	/*
-	 * hardware_init_hookÌÄÑoµ i0ÅÈ¢êj
+	 * hardware_init_hookの呼び出し （0でない場合）
 	 *
-	 * ^[Qbgn[hEFAÉË¶µÄKvÈú»ª éê
-	 * ÍChardware_init_hook Æ¢¤ÖðpÓ·é
+	 * ターゲットハードウェアに依存して必要な初期化処理がある場合
+	 * は，hardware_init_hook という関数を用意する
 	 */
 	ldr  r0, =hardware_init_hook
@@ -95,5 +90,5 @@
 #ifndef OMIT_BSS_INIT
 	/*
-	 *  BSSZNVú»
+	 *  BSSセクション初期化
 	 */
 	mov  r0, #0
@@ -114,7 +109,7 @@
 #ifndef OMIT_DATA_INIT
 	/*
-	 *  DATAZNVú»
-	 *  __idata_start ©ç __idata_end ÜÅðC__data_start È~É
-	 *  Rs[·é
+	 *  DATAセクション初期化
+	 *  __idata_start から __idata_end までを，__data_start 以降に
+	 *  コピーする
 	 */
 	ldr  r1, =__idata_start
@@ -133,9 +128,9 @@
 
 	/*
-	 *  software_init_hook ðÄoµi0 ÅÈ¢êj
+	 *  software_init_hook を呼出し（0 でない場合）
 	 *
-	 *  \tgEFAÂ«iÁÉCujÉË¶µÄKvÈú»
-	 *  ª éêÍCsoftware_init_hook Æ¢¤ÖðpÓ·êÎ
-	 *  æ¢D
+	 *  ソフトウェア環境（特にライブラリ）に依存して必要な初期化処
+	 *  理がある場合は，software_init_hook という関数を用意すれば
+	 *  よい．
 	 */
 start_5:
Index: /ssp_qb_r5f100le_cs/trunk/arch/ca78k0r/tool_stddef.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/arch/ca78k0r/tool_stddef.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/arch/ca78k0r/tool_stddef.h	(revision 95)
@@ -11,43 +11,39 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  */
 
 /*
- *  t_stddef.hÌJ­Â«Ë¶ilTXGNgjNX CA78K0Rpj
+ *  t_stddef.hの開発環境依存部（ルネサスエレクトロニクス CA78K0R用）
  *
- *  ±ÌCN[ht@CÍCtarget_stddef.h ÌæªÅCN[h³êéD
+ *  このインクルードファイルは，target_stddef.h の先頭でインクルードされる．
  */
 
@@ -56,8 +52,8 @@
 
 /*
- *  RpCÌg£@\Ì½ßÌ}Nè`
+ *  コンパイラの拡張機能のためのマクロ定義
  */
 /*
- *  inline ¯ÊqÍRpCªT|[gµÈ¢D
+ *  inline 識別子はコンパイラがサポートしない．
  */
 #define	inline
@@ -65,10 +61,10 @@
 
 /*
- *  RpCÅÍ __asm ¯ÊqªT|[g³êÄ¢éªgpµÈ¢½ß¢è`Æ·éD
+ *  コンパイラでは __asm 識別子がサポートされているが使用しないため未定義とする．
  */
 
 /*
- *  ^[µÈ¢ÖÅ é±Æð¦·½ßÌL[[h
- *      ÀÛÉÍ½àµÈ¢
+ *  リターンしない関数であることを示すためのキーワード
+ *      実際には何もしない
  */
 #define NoReturn
@@ -76,8 +72,8 @@
 
 /*
- *  J­Â«ÌWCN[ht@CÌp
+ *  開発環境の標準インクルードファイルの利用
  *
- *  NULLÌè`ðstddef.h©çCINT_MAXCINT_MINCUINT_MAXCLONG_MAXC
- *  LONG_MINCULONG_MAXCCHAR_BITÌè`ðlimits.h©çæèÞD
+ *  NULLの定義をstddef.hから，INT_MAX，INT_MIN，UINT_MAX，LONG_MAX，
+ *  LONG_MIN，ULONG_MAX，CHAR_BITの定義をlimits.hから取り込む．
  */
 #ifndef TOPPERS_MACRO_ONLY
@@ -87,36 +83,36 @@
 
 /*
- *  stdint.hÌãpÆÈéè`
+ *  stdint.hの代用となる定義
  *
- *  C99 Ì stdint.h ªpÓ³êÄ¢È¢½ßC»ÌãpÆÈéè`ð^¦éD
+ *  C99 の stdint.h が用意されていないため，その代用となる定義を与える．
  */
 
 /*
- *  RpCË¶Ìf[^^Ìè`
+ *  コンパイラ依存のデータ型の定義
  */
 #ifndef TOPPERS_MACRO_ONLY
 
-typedef signed char			int8_t;		/* t«8rbg® */
-typedef unsigned char		uint8_t;	/* ³µ8rbg® */
+typedef signed char			int8_t;		/* 符号付き8ビット整数 */
+typedef unsigned char		uint8_t;	/* 符号無し8ビット整数 */
 
-typedef signed short		int16_t;	/* t«16rbg® */
-typedef unsigned short		uint16_t;	/* ³µ16rbg® */
+typedef signed short		int16_t;	/* 符号付き16ビット整数 */
+typedef unsigned short		uint16_t;	/* 符号無し16ビット整数 */
 
-typedef signed long			int32_t;	/* t«32rbg® */
-typedef unsigned long		uint32_t;	/* ³µ32rbg® */
+typedef signed long			int32_t;	/* 符号付き32ビット整数 */
+typedef unsigned long		uint32_t;	/* 符号無し32ビット整数 */
 
-/* 64rbg®^Í¢T|[g */
+/* 64ビット整数型は未サポート */
 
-typedef int8_t          	int_least8_t;	/* 8rbgÈãÌt«® */
-typedef uint8_t         	uint_least8_t;	/* 8rbgÈãÌ³µ® */
+typedef int8_t          	int_least8_t;	/* 8ビット以上の符号付き整数 */
+typedef uint8_t         	uint_least8_t;	/* 8ビット以上の符号無し整数 */
 
-typedef long				intptr_t;	/* |C^ði[Å«ét«® */
-typedef unsigned long		uintptr_t;	/* |C^ði[Å«é³µ® */
+typedef long				intptr_t;	/* ポインタを格納できる符号付き整数 */
+typedef unsigned long		uintptr_t;	/* ポインタを格納できる符号無し整数 */
 
 #endif /* TOPPERS_MACRO_ONLY */
 
 /*
- *  RpCË¶Ìf[^^Ì®èðìé}N(C99)
- *  pÓ³êÄ¢È¢½ßC±±Åè`·éD
+ *  コンパイラ依存のデータ型の整数定数を作るマクロ(C99)
+ *  用意されていないため，ここで定義する．
  */
 #ifndef INT8_C
@@ -145,6 +141,6 @@
 
 /*
- *  RpCË¶Ìf[^^Éi[Å«éÅålÆÅ¬lÌè`(C99)
- *  pÓ³êÄ¢È¢½ßC±±Åè`·éD
+ *  コンパイラ依存のデータ型に格納できる最大値と最小値の定義(C99)
+ *  用意されていないため，ここで定義する．
  */
 #define INT8_MAX			SCHAR_MAX
@@ -165,10 +161,10 @@
 
 /*
- *  ®¬_^ÉÖ·éè`
+ *  浮動小数点型に関する定義
  */
 #ifndef TOPPERS_MACRO_ONLY
 
-typedef float		float32_t;			/* IEEE754ÌP¸x®¬_ */
-/* {¸x®¬_Í¢T|[gÅ èCdoubleàfloatÆ¯¶32rbg */
+typedef float		float32_t;			/* IEEE754準拠の単精度浮動小数点数 */
+/* 倍精度浮動小数点数は未サポートであり，doubleもfloatと同じ32ビット */
 
 #endif /* TOPPERS_MACRO_ONLY */
@@ -178,7 +174,7 @@
 
 /*
- *  óxÌè`
- *    å«³[ÌzñÍxÉÈé½ßA
- *    ±±ÅÊrè`·éB
+ *  空ラベルの定義
+ *    大きさゼロの配列は警告になるため、
+ *    ここで別途定義する。
  */
 #define TOPPERS_EMPTY_LABEL(x,y) x y[1]
Index: /ssp_qb_r5f100le_cs/trunk/arch/gcc/tool_stddef.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/arch/gcc/tool_stddef.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/arch/gcc/tool_stddef.h	(revision 95)
@@ -8,36 +8,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
- * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
+ * 
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id: tool_stddef.h 819 2008-03-18 12:58:50Z hiro $
@@ -45,5 +41,5 @@
 
 /*
- *		t_stddef.hÌJ­Â«Ë¶iGCCpj
+ *		t_stddef.hの開発環境依存部（GCC用）
  */
 
@@ -52,32 +48,32 @@
 
 /*
- *  RpCÌg£@\Ì½ßÌ}Nè`
- */
-#ifndef __cplusplus					/* C++ÉÍinline ª é */
-#if __STDC_VERSION__ < 199901L		/* C99ÉÍinline ª é */
-#define inline	__inline__			/* CCÖ */
+ *  コンパイラの拡張機能のためのマクロ定義
+ */
+#ifndef __cplusplus					/* C++にはinline がある */
+#if __STDC_VERSION__ < 199901L		/* C99にはinline がある */
+#define inline	__inline__			/* インライン関数 */
 #endif /* __STDC_VERSION__ < 199901L */
 #endif /* __cplusplus */
 
-#define Inline	static __inline__	/* CCÖ */
-
-#ifndef __cplusplus					/* C++ÉÍasmª é */
-#define asm		__asm__				/* CCAZu */
+#define Inline	static __inline__	/* インライン関数 */
+
+#ifndef __cplusplus					/* C++にはasmがある */
+#define asm		__asm__				/* インラインアセンブラ */
 #endif /* __cplusplus */
 
-#define Asm		__asm__ volatile	/* CCAZuiÅK»}~j*/
+#define Asm		__asm__ volatile	/* インラインアセンブラ（最適化抑止）*/
 
 #define NoReturn	__attribute__((__noreturn__))
-									/* ^[µÈ¢Ö */
-
-/*
- *  J­Â«ÌWCN[ht@CÌp
- *
- *  NULLÌè`ðstddef.h©çCINT_MAXCINT_MINCUINT_MAXCLONG_MAXC
- *  LONG_MINCULONG_MAXCCHAR_BITÌè`ðlimits.h©çæèÞD
- *
- *  C++/EC++ÅÍCWdlãÍ±êçÌCN[ht@CªpÓ³êÄ
- *  ¢éÆÍÀçÈ¢ÌÅÓªKvÅ éiÙÆñÇÌJ­Â«ÅpÓ³ê
- *  Ä¢éjD
+									/* リターンしない関数 */
+
+/*
+ *  開発環境の標準インクルードファイルの利用
+ *
+ *  NULLの定義をstddef.hから，INT_MAX，INT_MIN，UINT_MAX，LONG_MAX，
+ *  LONG_MIN，ULONG_MAX，CHAR_BITの定義をlimits.hから取り込む．
+ *
+ *  C++/EC++では，標準仕様上はこれらのインクルードファイルが用意されて
+ *  いるとは限らないので注意が必要である（ほとんどの開発環境で用意され
+ *  ている）．
  */
 #ifndef TOPPERS_MACRO_ONLY
@@ -87,42 +83,42 @@
 
 /*
- *  stdint.hÌãpÆÈéè`
- *
- *  J­Â«Éstdint.hªpÓ³êÄ¨ç¸Ce®^ÌTCYª ép^[
- *  ÉÄÍÜéêÉCstdint.hÌãpÆÈéè`ð^¦éD
- *
- *  TOPPERS_STDINT_TYPE1: char/short/int/long longÌrbg·ª»ê¼ê
- *                        8/16/32/64rbgÅC|C^Ìrbg·ªlong
- *                        Ìrbg·Æêv·éê
+ *  stdint.hの代用となる定義
+ *
+ *  開発環境にstdint.hが用意されておらず，各整数型のサイズがあるパター
+ *  ンに当てはまる場合に，stdint.hの代用となる定義を与える．
+ *
+ *  TOPPERS_STDINT_TYPE1: char/short/int/long longのビット長がそれぞれ
+ *                        8/16/32/64ビットで，ポインタのビット長がlong
+ *                        のビット長と一致する場合
  */
 #ifdef TOPPERS_STDINT_TYPE1
 
 /*
- *  RpCË¶Ìf[^^Ìè`
+ *  コンパイラ依存のデータ型の定義
  */
 #ifndef TOPPERS_MACRO_ONLY
 
-typedef signed char			int8_t;		/* t«8rbg® */
-typedef unsigned char		uint8_t;	/* ³µ8rbg® */
-
-typedef signed short		int16_t;	/* t«16rbg® */
-typedef unsigned short		uint16_t;	/* ³µ16rbg® */
-
-typedef signed int			int32_t;	/* t«32rbg® */
-typedef unsigned int		uint32_t;	/* ³µ32rbg® */
-
-typedef signed long long	int64_t;	/* t«64rbg® */
-typedef unsigned long long	uint64_t;	/* ³µ64rbg® */
-
-typedef int8_t				int_least8_t;	/* 8rbgÈãÌt«® */
-typedef uint8_t				uint_least8_t;	/* 8rbgÈãÌ³µ® */
-
-typedef long				intptr_t;	/* |C^ði[Å«ét«® */
-typedef unsigned long		uintptr_t;	/* |C^ði[Å«é³µ® */
+typedef signed char			int8_t;		/* 符号付き8ビット整数 */
+typedef unsigned char		uint8_t;	/* 符号無し8ビット整数 */
+
+typedef signed short		int16_t;	/* 符号付き16ビット整数 */
+typedef unsigned short		uint16_t;	/* 符号無し16ビット整数 */
+
+typedef signed int			int32_t;	/* 符号付き32ビット整数 */
+typedef unsigned int		uint32_t;	/* 符号無し32ビット整数 */
+
+typedef signed long long	int64_t;	/* 符号付き64ビット整数 */
+typedef unsigned long long	uint64_t;	/* 符号無し64ビット整数 */
+
+typedef int8_t				int_least8_t;	/* 8ビット以上の符号付き整数 */
+typedef uint8_t				uint_least8_t;	/* 8ビット以上の符号無し整数 */
+
+typedef long				intptr_t;	/* ポインタを格納できる符号付き整数 */
+typedef unsigned long		uintptr_t;	/* ポインタを格納できる符号無し整数 */
 
 #endif /* TOPPERS_MACRO_ONLY */
 
 /*
- *  RpCË¶Ìf[^^Ì®èðìé}N
+ *  コンパイラ依存のデータ型の整数定数を作るマクロ
  */
 #ifndef INT8_C
@@ -159,5 +155,5 @@
 
 /*
- *  RpCË¶Ìf[^^Éi[Å«éÅålÆÅ¬lÌè`
+ *  コンパイラ依存のデータ型に格納できる最大値と最小値の定義
  */
 #define INT8_MAX			SCHAR_MAX
@@ -184,14 +180,14 @@
 
 /*
- *  ®¬_^ÉÖ·éè`
- *
- *  TOPPERS_STDFLOAT_TYPE1: floatªIEEE754ÌP¸x®¬_C
- *							doubleª{¸x®¬_Ìê
+ *  浮動小数点型に関する定義
+ *
+ *  TOPPERS_STDFLOAT_TYPE1: floatがIEEE754準拠の単精度浮動小数点数，
+ *							doubleが倍精度浮動小数点数の場合
  */
 #ifdef TOPPERS_STDFLOAT_TYPE1
 #ifndef TOPPERS_MACRO_ONLY
 
-typedef float		float32_t;			/* IEEE754ÌP¸x®¬_ */
-typedef double		double64_t;			/* IEEE754Ì{¸x®¬_ */
+typedef float		float32_t;			/* IEEE754準拠の単精度浮動小数点数 */
+typedef double		double64_t;			/* IEEE754準拠の倍精度浮動小数点数 */
 
 #endif /* TOPPERS_MACRO_ONLY */
Index: /ssp_qb_r5f100le_cs/trunk/arch/rl78_ca78k0r/prc.tf
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/arch/rl78_ca78k0r/prc.tf	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/arch/rl78_ca78k0r/prc.tf	(revision 95)
@@ -7,42 +7,38 @@
 $             Nagoya Municipal Industrial Research Institute, JAPAN
 $ 
-$  ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF
-$  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»EüÏE
-$  ÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
-$  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 
-$      \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[X
-$      R[hÉÜÜêÄ¢é±ÆD
-$  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Égp
-$      Å«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gipÒ}
-$      j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºLÌ³Û
-$      ØKèðfÚ·é±ÆD
-$  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Égp
-$      Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD
-$    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌì
-$         \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
-$    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ
-$        ·é±ÆD
-$  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹Q
-$      ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDÜ½C
-$      {\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©ÈéRÉîÃ
-$      ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
-$ 
-$  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ
-$  ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉÎ·
-$  éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEFAÌp
-$  Éæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»ÌÓCð
-$  íÈ¢D
-$ 
-
-$ 
-$  vZbTË¶ev[g
-$ 
-
-$ 
-$  ATT_ISRÅgpÅ«éÝÔÆ»êÉÎ·éÝnhÔ
+$  上記著作権者は，以下の (1)〜(4) の条件を満たす場合に限り，本ソフトウェ
+$  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改変・
+$  再配布（以下，利用と呼ぶ）することを無償で許諾する．
+$  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作権
+$      表示，この利用条件および下記の無保証規定が，そのままの形でソース
+$      コード中に含まれていること．
+$  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使用
+$      できる形で再配布する場合には，再配布に伴うドキュメント（利用者マ
+$      ニュアルなど）に，上記の著作権表示，この利用条件および下記の無保
+$      証規定を掲載すること．
+$  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使用
+$      できない形で再配布する場合には，次のいずれかの条件を満たすこと．
+$    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著作
+$        権表示，この利用条件および下記の無保証規定を掲載すること．
+$    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに報
+$        告すること．
+$  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害
+$      からも，上記著作権者およびTOPPERSプロジェクトを免責すること．また，
+$      本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ
+$      く請求からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+$ 
+$  本ソフトウェアは，無保証で提供されているものである．上記著作権者およ
+$  びTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的に対す
+$  る適合性も含めて，いかなる保証も行わない．また，本ソフトウェアの利用
+$  により直接的または間接的に生じたいかなる損害に関しても，その責任を負
+$  わない．
+$ 
+
+$ 
+$  プロセッサ依存テンプレート
+$ 
+
+$ 
+$  ATT_ISRで使用できる割込み番号とそれに対応する割込みハンドラ番号
 $ 
 
@@ -51,5 +47,5 @@
 
 $ 
-$  DEF_INH^DEF_EXCÅgpÅ«éÝnhÔ^CPUáOnhÔ
+$  DEF_INH／DEF_EXCで使用できる割込みハンドラ番号／CPU例外ハンドラ番号
 $ 
 
@@ -58,19 +54,19 @@
 
 $ 
-$  CFG_INTÅgpÅ«éÝÔÆÝDæx
+$  CFG_INTで使用できる割込み番号と割込み優先度
 $ 
 
 $INTNO_CFGINT_VALID = INTNO_VALID$
 
-$ // INTPRI_CFGINT_VALID ÍvZbTÉZbgÂ\ÈDæxÌÍÍð¦µC
-$ // J[lÇ(O)©Ç¤©ÌæÊðµÄ¢È¢D
-$ // J[lÇÆÈéÝDæxÌÍÍðÏX·éêC
-$ // TMIN_INTPRI (prc_kernel.h) ÌlðKvÉ¶ÄÏX·éD
+$ // INTPRI_CFGINT_VALID はプロセッサにセット可能な優先度の範囲を示し，
+$ // カーネル管理(外)かどうかの区別をしていない．
+$ // カーネル管理となる割込み優先度の範囲を変更する場合，
+$ // TMIN_INTPRI (prc_kernel.h) の値を必要に応じて変更する．
 $INTPRI_CFGINT_VALID = { -4,-3,-2,-1 }$
 
 $ 
-$  X^bNTCYÌ`FbNû@wè
-$ 
-$  ACgÉÖWÈ­¯¶¬xÅANZXÅ«é
+$  スタックサイズのチェック方法指定
+$ 
+$  アライメントに関係なく同じ速度でアクセスできる
 $ 
 
@@ -79,10 +75,10 @@
 
 $ 
-$  èè`
+$  定数定義
 $ 
 $TA_POSEDGE = TA_EDGE$
 
 $ 
-$ ^[QbgË¶ÌÝ®«Ìè`
+$ ターゲット依存の割込み属性の定義
 $ 
 
@@ -90,5 +86,5 @@
 
 $ 
-$  Wev[gt@CÌCN[h
+$  標準テンプレートファイルのインクルード
 $ 
 $INCLUDE "kernel.tf"$
@@ -96,5 +92,5 @@
 
 $ 
-$   CFG_INTÌ^[QbgË¶ÌG[`FbN
+$   CFG_INTのターゲット依存のエラーチェック
 $ 
 $ 
@@ -102,7 +98,7 @@
 
 $FOREACH intno INT.ORDER_LIST$
-$	// INTÝÉÎ·éÝÔ©Ç¤©
+$	// INT割込みに対する割込み番号かどうか
 	$IF (LENGTH(FIND(INTNO_INT , INT.INTNO[intno])) != 0)$
-$		// TA_POSEDGE Ü½Í TA_NEGEDGE Ü½Í TA_BOTHEDGE ª¯ÉÝè³êÄÈ¢©Ç¤©
+$		// TA_POSEDGE または TA_NEGEDGE または TA_BOTHEDGE が同時に設定されてないかどうか
 		$IF 
 		(   ((INT.INTATR[intno] & (TA_POSEDGE|TA_NEGEDGE|TA_BOTHEDGE)) != (TA_POSEDGE))
@@ -113,5 +109,5 @@
 		$END$
 	$ELSE$
-$		// INTÝÈOÌÝÉÎµÄ TA_ENAINT yÑ TA_EDGE ÈOÌÝ®«ªwè³êÄ¢È¢©Ç¤©
+$		// INT割込み以外の割込みに対して TA_ENAINT 及び TA_EDGE 以外の割込み属性が指定されていないかどうか
 		$IF (INT.INTATR[intno] & ~(TA_ENAINT|TA_EDGE)) != 0$
 			$ERROR$ INT.TEXT_LINE[intno]: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "intatr", INT.INTATR[intno], INT.INTNO[intno], "CFG_INT")$$END$
@@ -122,5 +118,5 @@
 
 $ 
-$ ÝÔ©çÝDæxðæèo·e[u
+$ 割込み番号から割込み優先度を取り出すテーブル
 $ 
 
@@ -141,9 +137,9 @@
 
 $ 
-$  A[LeN`Ë¶ev[giAZuÅLªj
-$ 
-
-$ 
-$  AZuoÍt@C (¤Êª)
+$  アーキテクチャ依存テンプレート（アセンブラ固有部分）
+$ 
+
+$ 
+$  アセンブラ出力ファイル (共通部分)
 $ 
 
@@ -151,7 +147,7 @@
 
 ;$NL$
-;  RL78A[LeN`Ë¶oÍt@C$NL$
-;$NL$
-;  ÝnhüûÌè`$NL$
+;  RL78アーキテクチャ依存出力ファイル$NL$
+;$NL$
+;  割込みハンドラ入口処理の定義$NL$
 ;$NL$
 $NL$$NL$
@@ -159,9 +155,9 @@
 
 $ 
-$  Ýüû
-$ 
-
-$ 
-$  O[oV{
+$  割込み入口処理
+$ 
+
+$ 
+$  グローバルシンボル
 $ 
 
@@ -169,5 +165,5 @@
 $TAB$extrn __kernel_int_return$NL$$NL$
 
-$TAB$; RpCªgp·é saddrÌæÌWX^$NL$
+$TAB$; コンパイラが使用する saddr領域のレジスタ$NL$
 $TAB$extrn	_@RTARG0,_@RTARG2,_@RTARG4,_@RTARG6,_@SEGAX,_@SEGDE$NL$
 $TAB$extrn	_@NRARG0,_@NRARG1,_@NRARG2,_@NRARG3$NL$
@@ -176,5 +172,5 @@
 
 ; $NL$
-; RpCªgp·ésaddrÌæÌÞð $NL$
+; コンパイラが使用するsaddr領域の退避 $NL$
 ; $NL$
 save_saddr_regs 	macro$NL$
@@ -191,5 +187,5 @@
 	$TAB$movw	ax, _@SEGDE  $NL$
 	$TAB$push	ax           $NL$
-	$TAB$$$if (ALLOC_REGVAR_TO_SADDR) ; -qr IvVðgp·éê $NL$
+	$TAB$$$if (ALLOC_REGVAR_TO_SADDR) ; -qr オプションを使用する場合 $NL$
 	$TAB$movw	ax, _@NRARG0 $NL$
 	$TAB$push	ax           $NL$
@@ -215,5 +211,5 @@
 
 $ 
-$  Ýnhüû
+$  割込みハンドラ入口処理
 $ 
 
@@ -223,22 +219,22 @@
 		$TAB$public	__kernel_$INH.INTHDR[inhno]$_$+INH.INHNO[inhno]$_entry	$NL$
 		__kernel_$INH.INTHDR[inhno]$_$+INH.INHNO[inhno]$_entry:				$NL$
-		$TAB$push	ax       ; WX^ð^XNX^bNÖÞð $NL$
+		$TAB$push	ax       ; レジスタをタスクスタックへ退避 $NL$
 		$TAB$push	bc $NL$
 		$TAB$push	de $NL$
 		$TAB$push	hl $NL$
-		$TAB$mov 	a,es        	; ES, CS ÌÞð $NL$
+		$TAB$mov 	a,es        	; ES, CS の退避 $NL$
 		$TAB$mov 	x,a  $NL$
 		$TAB$mov 	a,cs $NL$
 		$TAB$push	ax   $NL$
 		$TAB$save_saddr_regs$NL$
-		$TAB$movw	bc, #_$INH.INTHDR[inhno]$ ; nhÌAhXð bc Ö $NL$
+		$TAB$movw	bc, #_$INH.INTHDR[inhno]$ ; ハンドラのアドレスを bc へ $NL$
 
  		$IF (INH.INHATR[inhno] & TA_NONKERNEL) == 0$
-			$TAB$br   	__kernel_interrupt_entry	; ¤ÊÌüûÖ $NL$
+			$TAB$br   	__kernel_interrupt_entry	; 共通の入口処理へ $NL$
 			$NL$$NL$
  		$ELSE$
-			$TAB$;J[lÇOÌÝÌêCnhÀsµÄ»ÌÜÜ^[ $NL$
-			$TAB$call 	bc                      	; ÝnhÄÑoµ$NL$
-			$TAB$br   	__kernel_int_return      	; WX^A & Ý©ç^[(prc_support.asm) $NL$
+			$TAB$;カーネル管理外の割込みの場合，ハンドラ実行してそのままリターン $NL$
+			$TAB$call 	bc                      	; 割込みハンドラ呼び出し$NL$
+			$TAB$br   	__kernel_int_return      	; レジスタ復帰 & 割込みからリターン(prc_support.asm) $NL$
  		$END$
 	$END$
@@ -247,5 +243,5 @@
 
 $ 
-$  CPUáOnhüû
+$  CPU例外ハンドラ入口処理
 $ 
 
@@ -255,16 +251,16 @@
 		$TAB$public	__kernel_$EXC.EXCHDR[excno]$_$+EXC.EXCNO[excno]$_entry	$NL$
 		__kernel_$EXC.EXCHDR[excno]$_$+EXC.EXCNO[excno]$_entry:				$NL$
-		$TAB$push	ax          	; WX^ð^XNX^bNÖÞð $NL$
+		$TAB$push	ax          	; レジスタをタスクスタックへ退避 $NL$
 		$TAB$push	bc $NL$
 		$TAB$push	de $NL$
 		$TAB$push	hl $NL$
-		$TAB$mov 	a,es        	; ES, CS ÌÞð $NL$
+		$TAB$mov 	a,es        	; ES, CS の退避 $NL$
 		$TAB$mov 	x,a  $NL$
 		$TAB$mov 	a,cs $NL$
 		$TAB$push	ax   $NL$
 		$TAB$save_saddr_regs $NL$
-		$TAB$movw	ax, sp      	; SP(nhÌøÆÈé)ð ax Ö $NL$
-		$TAB$movw	bc, #_$EXC.EXCHDR[excno]$ ; nhÌAhXð bc Ö $NL$
-		$TAB$br   	__kernel_interrupt_entry	; ¤ÊÌüûÖ $NL$
+		$TAB$movw	ax, sp      	; SP(ハンドラの引数となる)を ax へ $NL$
+		$TAB$movw	bc, #_$EXC.EXCHDR[excno]$ ; ハンドラのアドレスを bc へ $NL$
+		$TAB$br   	__kernel_interrupt_entry	; 共通の入口処理へ $NL$
 		$NL$$NL$
 	$END$
@@ -273,9 +269,9 @@
 
 $ 
-$  xN^e[u
-$ 
-
-;$NL$
-;  xN^e[u$NL$
+$  ベクタテーブル
+$ 
+
+;$NL$
+;  ベクタテーブル$NL$
 ;$NL$
 $NL$
@@ -308,5 +304,5 @@
 
 $ 
-$  prc_support.asm p}Nè`t@C
+$  prc_support.asm 用マクロ定義ファイル
 $ 
 
Index: /ssp_qb_r5f100le_cs/trunk/arch/rl78_ca78k0r/prc_cfg1_out.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/arch/rl78_ca78k0r/prc_cfg1_out.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/arch/rl78_ca78k0r/prc_cfg1_out.h	(revision 95)
@@ -1,4 +1,4 @@
 /*
- *		cfg1_out.cÌNÉKvÈX^uÌè`
+ *		cfg1_out.cのリンクに必要なスタブの定義
  */
 
Index: /ssp_qb_r5f100le_cs/trunk/arch/rl78_ca78k0r/prc_config.c
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/arch/rl78_ca78k0r/prc_config.c	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/arch/rl78_ca78k0r/prc_config.c	(revision 95)
@@ -11,40 +11,35 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  * 
- *  ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»EüÏE
- *  ÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 
- *      \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[X
- *      R[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Égp
- *      Å«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gipÒ}
- *      j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºLÌ³Û
- *      ØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Égp
- *      Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌì
- *         \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ
- *        ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹Q
- *      ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDÜ½C
- *      {\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©ÈéRÉîÃ
- *      ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
+ *  上記著作権者は，以下の (1)〜(4) の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改変・
+ *  再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作権
+ *      表示，この利用条件および下記の無保証規定が，そのままの形でソース
+ *      コード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使用
+ *      できる形で再配布する場合には，再配布に伴うドキュメント（利用者マ
+ *      ニュアルなど）に，上記の著作権表示，この利用条件および下記の無保
+ *      証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使用
+ *      できない形で再配布する場合には，次のいずれかの条件を満たすこと．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著作
+ *        権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに報
+ *        告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害
+ *      からも，上記著作権者およびTOPPERSプロジェクトを免責すること．また，
+ *      本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ
+ *      く請求からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ
- *  ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉÎ·
- *  éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEFAÌp
- *  Éæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»ÌÓCð
- *  íÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者およ
+ *  びTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的に対す
+ *  る適合性も含めて，いかなる保証も行わない．また，本ソフトウェアの利用
+ *  により直接的または間接的に生じたいかなる損害に関しても，その責任を負
+ *  わない．
  * 
  */
 
 /*
- *		vZbTË¶W
-[iRL78j
+ *		プロセッサ依存モジュール（RL78）
  */
 #pragma EI
@@ -53,5 +48,5 @@
 
 /*
- *  Ý­¶ñðÛ¶·éÏ
+ *  割込み発生回数を保存する変数
  */
 uint8_t intnest;
@@ -59,15 +54,15 @@
 
 /*
- *  (1) ReLXgÉÖ·éè`
- */
-
-
-/*
- *  ReLXgÌQÆ
+ *  (1) コンテキストに関する定義
+ */
+
+
+/*
+ *  コンテキストの参照
  */
 bool_t
 sense_context(void)
 {
-	/*  lXgJE^0æèåÈçñ^XNReLXg  */
+	/*  ネストカウンタ0より大なら非タスクコンテキスト  */
 	return (intnest > 0);
 }
@@ -75,18 +70,18 @@
 
 /*
- *  (2) VXeóÔÉÖ·éè`
- */
-
-/*
- *  CPUbNtOÀ»Ì½ßÌÏ
- */
-bool_t		lock_flag;		/* CPUbNtOÌlðÛ·éÏ */
+ *  (2) システム状態に関する定義
+ */
+
+/*
+ *  CPUロックフラグ実現のための変数
+ */
+bool_t		lock_flag;		/* CPUロックフラグの値を保持する変数 */
 #if TMIN_INTPRI != -4
-uint8_t 	saved_psw;		/* ÝDæxxðÛ¶·éÏ */
+uint8_t 	saved_psw;		/* 割込み優先度レベルを保存する変数 */
 #endif
 
 /*
- *  CPU bNóÔÖÌÚs
- *      ±ÌÖÍCCPU bNóÔÌÆ«ÉÄÑ¾³êÈ¢±ÆðOñÆ·éD
+ *  CPU ロック状態への移行
+ *      この関数は，CPU ロック状態のときに呼びだされないことを前提とする．
  */
 void
@@ -96,5 +91,5 @@
 	DI();
 #else
-	/* ^XNÅÍÝDæx}XNÌlÍ 0 ÌÍ¸ÈÌÅÛ¶·éKvªÈ¢ */
+	/* タスクでは割込み優先度マスクの値は 0 のはずなので保存する必要がない */
 	set_psw(PSW_SET_ISP(get_psw(), ISP_LOCK));
 #endif
@@ -111,7 +106,7 @@
 
 	/*
-	 *  get_psw() ÌÔèlð¼Ú saved_isp ÉÛ¶¹¸CêÏ
-	 *  psw ÖÛ¶·éÌÍCget_psw() ÌÄÑ¾µ¼ãÉÝª­¶µC
-	 *  N®³ê½ÝÅ saved_isp ªÏX³êéÂ\«ª é½ßD
+	 *  get_psw() の返り値を直接 saved_isp に保存せず，一時変数
+	 *  psw へ保存するのは，get_psw() の呼びだし直後に割込みが発生し，
+	 *  起動された割込み処理で saved_isp が変更される可能性があるため．
 	 */
 	psw = get_psw();
@@ -125,6 +120,6 @@
 
 /*
- *  CPUbNóÔÌð
- *      ±ÌÖÍCCPU bNóÔÌÆ«ÉÌÝÄÑ¾³êé±ÆðOñÆ·éD
+ *  CPUロック状態の解除
+ *      この関数は，CPU ロック状態のときにのみ呼びだされることを前提とする．
  */
 void
@@ -135,5 +130,5 @@
 	EI();
 #else
-	/* ^XNÀsÍÝ}XNSðóÔÌÍ¸ÈÌÅCSðÉµÄ¨­ */
+	/* タスク実行時は割込みマスク全解除状態のはずなので，全解除にしておく */
 	set_psw(PSW_SET_ISP(get_psw(), ISP_ENAALL));
 #endif
@@ -152,5 +147,5 @@
 
 /*
- *  CPUbNóÔÌQÆ
+ *  CPUロック状態の参照
  */
 bool_t
@@ -161,7 +156,7 @@
 
 /*
- *  ÝDæx}XN(IPM) ÌÝè
- *    wèµ½ÝDæx(-1, -2, ..., TMIN_INTPRI) ð³É
- *    vZbTÌÝDæxx (IPL) ðÝè·éD
+ *  割込み優先度マスク(IPM) の設定
+ *    指定した割込み優先度(-1, -2, ..., TMIN_INTPRI) を元に
+ *    プロセッサの割込み優先度レベル (IPL) を設定する．
  */
 void
@@ -180,5 +175,5 @@
 
 /*
- *  (7) dispacher ÅÌÝÒ¿
+ *  (7) dispacher での割込み待ち
  */
 void
@@ -191,5 +186,5 @@
 
 /*
- *  vZbTË¶Ìú»
+ *  プロセッサ依存の初期化
  */
 void
@@ -199,14 +194,14 @@
 
 /*
- *  vZbTË¶ÌI¹
+ *  プロセッサ依存の終了処理
  */
 void
 prc_terminate(void)
 {
-	/* ÁÉKvÈÍÈ¢ */
-}
-
-/*
- *  ÝvÖ~tOÌZbg
+	/* 特に必要な処理はない */
+}
+
+/*
+ *  割込み要求禁止フラグのセット
  */
 bool_t
@@ -215,10 +210,10 @@
 	volatile uint8_t *reg_addr;
 	
-	/* xè`ª0Å éêÍCFG_INT³êÄ¢È¢ */
+	/* レベル定義が0である場合はCFG_INTされていない */
 	if(intpri_table[intno] == 0U)
 	{
 		return (false);
 	}
-	// Ý}XNEtOEWX^ÌYrbgð1ÉZbg
+	// 割込みマスク・フラグ・レジスタの該当ビットを1にセット
 	if(intno < 32) {
 		reg_addr = (volatile uint8_t *)TADR_MK0L;
@@ -235,5 +230,5 @@
 
 /*
- *  ÝvÖ~tOÌNA
+ *  割込み要求禁止フラグのクリア
  */
 bool_t
@@ -242,10 +237,10 @@
 	volatile uint8_t *reg_addr;
 
-	/* xè`ª0Å éêÍCFG_INT³êÄ¢È¢ */
+	/* レベル定義が0である場合はCFG_INTされていない */
 	if(intpri_table[intno] == 0u)
 	{
 		return (false);
 	}
-	// Ý}XNEtOEWX^ÌYrbgð0ÉZbg
+	// 割込みマスク・フラグ・レジスタの該当ビットを0にセット
 	if(intno < 32) {
 		reg_addr = (volatile uint8_t *)TADR_MK0L;
@@ -262,5 +257,5 @@
 
 /*
- *  ÝvÌNA
+ *  割込み要求のクリア
  */
 void
@@ -269,5 +264,5 @@
 	volatile uint8_t *reg_addr;
 
-	// ÝvtOEWX^ÌYrbgð0ÉZbg
+	// 割込み要求フラグ・レジスタの該当ビットを0にセット
 	if(intno < 32) {
 		reg_addr = (volatile uint8_t *)TADR_IF0L;
@@ -282,5 +277,5 @@
 
 /*
- *  ÝvÌ`FbN
+ *  割込み要求のチェック
  */
 bool_t
@@ -289,5 +284,5 @@
 	volatile uint8_t *reg_addr;
 
-	// ÝvtOEWX^ÌYrbgª 1 Èç true
+	// 割込み要求フラグ・レジスタの該当ビットが 1 なら true
 	if(intno < 32) {
 		reg_addr = (volatile uint8_t *)TADR_IF0L;
@@ -303,5 +298,5 @@
 
 /*
- *  ÝvCÌ®«ÌÝè
+ *  割込み要求ラインの属性の設定
  */
 void
@@ -315,16 +310,16 @@
 
 	/*
-	 *  ÝÌ}XN
+	 *  割込みのマスク
 	 *
-	 *  Ýðó¯t¯½ÜÜCxgK^GbWgKÌÝèâC
-	 *  ÝDæxÌÝèðs¤ÌÍë¯È½ßCÝ®«É©©íç¸C
-	 *  êU}XN·éD
+	 *  割込みを受け付けたまま，レベルトリガ／エッジトリガの設定や，割
+	 *  込み優先度の設定を行うのは危険なため，割込み属性にかかわらず，
+	 *  一旦マスクする．
 	 */
 	(void) x_disable_int(intno);
 
 	/*
-	 * DæxÌÝè
+	 * 優先度の設定
 	 */
-	// DæÊwètOEWX^ÌYrbgÉlðZbg
+	// 優先順位指定フラグ・レジスタの該当ビットに値をセット
 	if(intno < 32) {
 		reg_addr = (volatile uint8_t *)TADR_PR00L;
@@ -335,5 +330,5 @@
 		reg_addr += ((intno-32) / 8);
 	}
-	// DæÊxÌÝè(áÊrbg)
+	// 優先順位レベルの設定(低位ビット)
 	if((IPM2ILVL(intpri) & 0x01) != 0) {
 		*reg_addr |= (uint8_t)(1 << (intno % 8));
@@ -342,5 +337,5 @@
 		*reg_addr &= (uint8_t)~(1 << (intno % 8));
 	}
-	// DæÊxÌÝè(Êrbg)
+	// 優先順位レベルの設定(高位ビット)
 	if((IPM2ILVL(intpri) & 0x02) != 0) {
 		*(reg_addr+4) |= (uint8_t)(1 << (intno % 8));
@@ -351,5 +346,5 @@
 	
 	/*
-	 * gKÌÝè
+	 * トリガの設定
 	 */
 	if(intno <= 7) {
@@ -362,35 +357,35 @@
 	}
 	
-	/* INT[qÌêÍÝmû@ðÝè·é */
+	/* INT端子の場合は割込み検知方法を設定する */
 	if((intatr & TA_POSEDGE) != 0U)
 	{
-		// OÝ§¿ãªèGbWÂWX^ÌYrbgð1ÉZbg
+		// 外部割込み立ち上がりエッジ許可レジスタの該当ビットを1にセット
 		*reg_addr |= (uint8_t)(1 << (portno % 8));
-		// OÝ§¿ºªèGbWÂWX^ÌYrbgð0ÉZbg
+		// 外部割込み立ち下がりエッジ許可レジスタの該当ビットを0にセット
 		*(reg_addr+1) &= (uint8_t)~(1 << (portno % 8));
 	}
 	else if((intatr & TA_NEGEDGE) != 0U)
 	{
-		// OÝ§¿ãªèGbWÂWX^ÌYrbgð0ÉZbg
+		// 外部割込み立ち上がりエッジ許可レジスタの該当ビットを0にセット
 		*reg_addr &= (uint8_t)~(1 << (portno % 8));
-		// OÝ§¿ºªèGbWÂWX^ÌYrbgð1ÉZbg
+		// 外部割込み立ち下がりエッジ許可レジスタの該当ビットを1にセット
 		*(reg_addr+1) |= (uint8_t)(1 << (portno % 8));
 	}
 	else if((intatr & TA_BOTHEDGE) != 0U)
 	{
-		// OÝ§¿ãªèGbWÂWX^ÌYrbgð1ÉZbg
+		// 外部割込み立ち上がりエッジ許可レジスタの該当ビットを1にセット
 		*reg_addr |= (uint8_t)(1 << (portno % 8));
-		// OÝ§¿ºªèGbWÂWX^ÌYrbgð1ÉZbg
+		// 外部割込み立ち下がりエッジ許可レジスタの該当ビットを1にセット
 		*(reg_addr+1) |= (uint8_t)(1 << (portno % 8));
 	}
-	else {	// Ç¿çÅàÈ¢êÍGbWoðÖ~
-		// OÝ§¿ãªèGbWÂWX^ÌYrbgð0ÉZbg
+	else {	// どちらでもない場合はエッジ検出を禁止
+		// 外部割込み立ち上がりエッジ許可レジスタの該当ビットを0にセット
 		*reg_addr &= (uint8_t)~(1 << (portno % 8));
-		// OÝ§¿ºªèGbWÂWX^ÌYrbgð0ÉZbg
+		// 外部割込み立ち下がりエッジ許可レジスタの該当ビットを0にセット
 		*(reg_addr+1) &= (uint8_t)~(1 << (portno % 8));
 	}
 
 	/*
-	 *  ÝÌ}XNð(DæxÝè)
+	 *  割込みのマスク解除(優先度設定)
  	 */
 	if ((intatr & TA_ENAINT) != 0U) {
@@ -400,5 +395,5 @@
 
 /*
- *  NMIð­·×ÄÌÝÌÖ~
+ *  NMIを除くすべての割込みの禁止
  */
 uint8_t
@@ -413,5 +408,5 @@
 
 /*
- *  ÝDæx}XNià\»jÌ»ÝlÌÝè
+ *  割込み優先度マスク（内部表現）の現在値の設定
  */
 void
Index: /ssp_qb_r5f100le_cs/trunk/arch/rl78_ca78k0r/prc_config.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/arch/rl78_ca78k0r/prc_config.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/arch/rl78_ca78k0r/prc_config.h	(revision 95)
@@ -11,43 +11,38 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  * 
- *  ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»EüÏE
- *  ÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 
- *      \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[X
- *      R[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Égp
- *      Å«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gipÒ}
- *      j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºLÌ³Û
- *      ØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Égp
- *      Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌì
- *         \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ
- *        ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹Q
- *      ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDÜ½C
- *      {\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©ÈéRÉîÃ
- *      ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
+ *  上記著作権者は，以下の (1)〜(4) の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改変・
+ *  再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作権
+ *      表示，この利用条件および下記の無保証規定が，そのままの形でソース
+ *      コード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使用
+ *      できる形で再配布する場合には，再配布に伴うドキュメント（利用者マ
+ *      ニュアルなど）に，上記の著作権表示，この利用条件および下記の無保
+ *      証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使用
+ *      できない形で再配布する場合には，次のいずれかの条件を満たすこと．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著作
+ *        権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに報
+ *        告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害
+ *      からも，上記著作権者およびTOPPERSプロジェクトを免責すること．また，
+ *      本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ
+ *      く請求からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ
- *  ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉÎ·
- *  éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEFAÌp
- *  Éæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»ÌÓCð
- *  íÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者およ
+ *  びTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的に対す
+ *  る適合性も含めて，いかなる保証も行わない．また，本ソフトウェアの利用
+ *  により直接的または間接的に生じたいかなる損害に関しても，その責任を負
+ *  わない．
  * 
  */
 
 /*
- *		vZbTË¶W
-[iRL78j
- *
- *  ±ÌCN[ht@CÍC"<vZbT^Ô>_config.h" ÌÝ©ç
- *  CN[h³êéD¼Ìt@C©ç¼ÚCN[hµÄÍÈçÈ¢D
+ *		プロセッサ依存モジュール（RL78）
+ *
+ *  このインクルードファイルは，"<プロセッサ型番>_config.h" のみから
+ *  インクルードされる．他のファイルから直接インクルードしてはならない．
  */
 
@@ -56,18 +51,18 @@
 
 /*
- *  (1) ReLXgÉÖ·éè`
- */
-
-/* ¤LX^bNÌæÌ½ßÌX^bN|C^úlð¶¬·é}N */
+ *  (1) コンテキストに関する定義
+ */
+
+/* 共有スタック領域のためのスタックポインタ初期値を生成するマクロ */
 #define TOPPERS_ISTKPT(istk, istksz) ((STK_T *)((char *)(istk) + (istksz)))
 
 /*
- *  (2) VXeóÔÉÖ·éè`
- */
-
-/*
- *  CPUbNóÔÅÌÝDæx}XN(IPM)Ìl
- *    TIPM_LOCKÍCCPUbNóÔð\»·éÝDæx}XN(IPM)Ìlð¦·D
- *    J[lÇÌÝÉÎ·éÝDæxÌÅ¬l(TMIN_INTPRI)Éµ¢D
+ *  (2) システム状態に関する定義
+ */
+
+/*
+ *  CPUロック状態での割込み優先度マスク(IPM)の値
+ *    TIPM_LOCKは，CPUロック状態を表現する割込み優先度マスク(IPM)の値を示す．
+ *    カーネル管理の割込みに対する割込み優先度の最小値(TMIN_INTPRI)に等しい．
  */
 #ifndef TIPM_LOCK
@@ -76,14 +71,14 @@
 
 /*
- *  ÝDæx}XN(IPM) ÆvZbTÌÝDæx}XN(ISP) ÌÏ·
- *
- *  RL78 ÅÍCPSWWX^ÌºÊ©ç¦Ärbg1¨æÑ 2 Ì 2 rbgÉ
- *  CT[rXEvCIeBEtO(ISP) Ìlªi[³êéD
- *
- *  J[lÌÇ·éIPM (-1©çA±µ½Ìl) ðgÁÄ
- *  vZbTÌ ISP ð§ä·é½ßÉÏ·ªKvÆÈéD
- *
- *  wèµ½xÈºÌÝð}XN·éêÍCISPÌÝèlð
- *  ÚIÌxæèêÂ¢Dæx(lÆµÄÍ¬³¢)lÉ·éKvª éD
+ *  割込み優先度マスク(IPM) とプロセッサの割込み優先度マスク(ISP) の変換
+ *
+ *  RL78 では，PSWレジスタの下位から数えてビット1および 2 の 2 ビットに
+ *  インサービス・プライオリティ・フラグ(ISP) の値が格納される．
+ *
+ *  カーネルの管理するIPM (-1から連続した負の値) を使って
+ *  プロセッサの ISP を制御するために変換が必要となる．
+ *
+ *  指定したレベル以下の割込みをマスクする場合は，ISPの設定値を
+ *  目的のレベルより一つ高い優先度(値としては小さい)値にする必要がある．
  */
 #define IPM2ISP(ipm)	(((uint8_t)(4-1+(ipm))) << 1U)	/* IPM-->ISP(ipm=-3,-2,-1,0) */
@@ -92,18 +87,18 @@
 
 /*
- *  ÝDæx}XNÌÁÊÈlÉÎ·éà\»
- */
-#define ISP_LOCK	(IPM2ISP(TIPM_LOCK))  	/* CPUbNóÔÅÌ ISP */
-#define ISP_ENAALL	(IPM2ISP(TIPM_ENAALL))	/* TIPM_ENAALL ÅÌ ISP */
-
-
-
-/*
- *  (3) Ýf(ÝvC)
- */
-
-/*
- * intnoªCdis_int^ena_intÉÎ·éÝÔÆµÄ
- * LøÈlÅ éêÉtrueC»¤ÅÈ¢êÉfalseðÔ·}N
+ *  割込み優先度マスクの特別な値に対する内部表現
+ */
+#define ISP_LOCK	(IPM2ISP(TIPM_LOCK))  	/* CPUロック状態での ISP */
+#define ISP_ENAALL	(IPM2ISP(TIPM_ENAALL))	/* TIPM_ENAALL での ISP */
+
+
+
+/*
+ *  (3) 割込み処理モデル(割込み要求ライン)
+ */
+
+/*
+ * intnoが，dis_int／ena_intに対する割込み番号として
+ * 有効な値である場合にtrue，そうでない場合にfalseを返すマクロ
  */
 #define VALID_INTNO_DISINT(intno)	VALID_INTNO(intno)
@@ -111,5 +106,5 @@
 
 /*
- *  IPM ©çÝ§äWX^ÅÌ\»ÉÏ··é}N
+ *  IPM から割込み制御レジスタでの表現に変換するマクロ
  */
 #define IPM2ILVL(ipm)	((ipm)+4)	// ipm=-1,-2,-3,-4
@@ -117,9 +112,9 @@
 
 /*
- *  (4) Ýf(Ýnh)
- */
-
-/*
- *  ÝnhÌüûÌ¶¬}N
+ *  (4) 割込み処理モデル(割込みハンドラ)
+ */
+
+/*
+ *  割込みハンドラの入口処理の生成マクロ
  */
 #define _INT_ENTRY(inhno, inthdr)				_kernel_##inthdr##_##inhno##_entry
@@ -131,9 +126,9 @@
 
 /*
- *  (5) CPUáOf
- */
-
-/*
- *  CPUáOnhÌüûÌ¶¬}N
+ *  (5) CPU例外処理モデル
+ */
+
+/*
+ *  CPU例外ハンドラの入口処理の生成マクロ
  */
 #define _EXC_ENTRY(excno , exchdr)	_kernel_##exchdr##_##excno##_entry
@@ -145,33 +140,33 @@
 
 /*
- *  (6) ú»EI¹
- */
-
-// è`Èµ
+ *  (6) 初期化・終了処理
+ */
+
+// 定義なし
 
 #ifndef TOPPERS_MACRO_ONLY
 
 /*
- *  (1) ReLXgÉÖ·éè`
- */
-
-/*
- *  ReLXgÌQÆ
+ *  (1) コンテキストに関する定義
+ */
+
+/*
+ *  コンテキストの参照
  */
 extern bool_t sense_context(void);
 
 /*
- *  (2) VXeóÔÉÖ·éè`
- */
-
-/*
- *  CPUbNtOÀ»Ì½ßÌÏ (prc_config.c)
- */
-extern bool_t	lock_flag;	/* CPUbNtOÌl */
-extern uint8_t	saved_psw;	/* CPUbNóÔÚsOÌÝDæxx */
-
-/*
- *  CPU bNóÔÖÌÚs
- *      ±ÌÖÍCCPU bNóÔÌÆ«ÉÄÑ¾³êÈ¢±ÆðOñÆ·éD
+ *  (2) システム状態に関する定義
+ */
+
+/*
+ *  CPUロックフラグ実現のための変数 (prc_config.c)
+ */
+extern bool_t	lock_flag;	/* CPUロックフラグの値 */
+extern uint8_t	saved_psw;	/* CPUロック状態移行前の割込み優先度レベル */
+
+/*
+ *  CPU ロック状態への移行
+ *      この関数は，CPU ロック状態のときに呼びだされないことを前提とする．
  */
 extern void t_lock_cpu(void);
@@ -179,6 +174,6 @@
 
 /*
- *  CPUbNóÔÌð
- *      ±ÌÖÍCCPU bNóÔÌÆ«ÉÌÝÄÑ¾³êé±ÆðOñÆ·éD
+ *  CPUロック状態の解除
+ *      この関数は，CPU ロック状態のときにのみ呼びだされることを前提とする．
  */
 extern void t_unlock_cpu(void);
@@ -187,5 +182,5 @@
 
 /*
- *  CPUbNóÔÌQÆ
+ *  CPUロック状態の参照
  */
 extern bool_t x_sense_lock(void);
@@ -195,7 +190,7 @@
 
 /*
- *  ÝDæx}XN(IPM) ÌÝè
- *    wèµ½ÝDæx(-1, -2, ..., TMIN_INTPRI) ð³É
- *    vZbTÌÝDæxx (IPL) ðÝè·éD
+ *  割込み優先度マスク(IPM) の設定
+ *    指定した割込み優先度(-1, -2, ..., TMIN_INTPRI) を元に
+ *    プロセッサの割込み優先度レベル (IPL) を設定する．
  */
 extern void x_set_ipm(PRI intpri);
@@ -210,18 +205,18 @@
 
 /*
- *  (3) Ýf(ÝvC)
- */
-
-/*
- *  ÝvöÌxè`e[u (kernel_cfg.c ÉæéoÍ)
- *    ÝÔ(INTNO) ©çÝDæxðæ¾·é½ßÉgpD
+ *  (3) 割込み処理モデル(割込み要求ライン)
+ */
+
+/*
+ *  割込み要因毎のレベル定義テーブル (kernel_cfg.c による出力)
+ *    割込み番号(INTNO) から割込み優先度を取得するために使用．
  */
 extern const PRI intpri_table[];
 
 /*
- *  ÝvÖ~tOÌZbg(prc_config.c)
- *    wèµ½ÝÔÉÎ·éÝvCÌÝvtOðZbg·éD
- *    Ý®«ªÝè³êÄ¢È¢ÝvCÌÝÔðwèµ½
- *    êÍCPÉ FALSE ðÔ·D
+ *  割込み要求禁止フラグのセット(prc_config.c)
+ *    指定した割込み番号に対応する割込み要求ラインの割込み要求フラグをセットする．
+ *    割込み属性が設定されていない割込み要求ラインの割込み番号を指定した
+ *    場合は，単に FALSE を返す．
  */
 extern bool_t x_disable_int(INTNO intno);
@@ -231,8 +226,8 @@
 
 /*
- *  ÝvÖ~tOÌNA(prc_config.c)
- *    wèµ½ÝÔÉÎ·éÝvCÌÝvtOðNA·éD
- *    Ý®«ªÝè³êÄ¢È¢ÝvCÌÝÔðwèµ½
- *    êÍCPÉ FALSE ðÔ·D
+ *  割込み要求禁止フラグのクリア(prc_config.c)
+ *    指定した割込み番号に対応する割込み要求ラインの割込み要求フラグをクリアする．
+ *    割込み属性が設定されていない割込み要求ラインの割込み番号を指定した
+ *    場合は，単に FALSE を返す．
  */
 extern bool_t x_enable_int(INTNO intno);
@@ -243,5 +238,5 @@
 
 /*
- *  ÝvÌNA(prc_config.c)
+ *  割込み要求のクリア(prc_config.c)
  */
 extern void x_clear_int(INTNO intno);
@@ -252,5 +247,5 @@
 
 /*
- *  ÝvÌ`FbN(prc_config.c)
+ *  割込み要求のチェック(prc_config.c)
  */
 extern bool_t x_probe_int(INTNO intno);
@@ -260,50 +255,50 @@
 
 /*
- *  ÝvCÌ®«ÌÝè (prc_config.c)
+ *  割込み要求ラインの属性の設定 (prc_config.c)
  */
 extern void	x_config_int(INTNO intno, ATR intatr, PRI intpri);
 
 /*
- *  (4) Ýf(Ýnh)
- */
-
-/*
- *  ÝnhÌÝè
- *
- *  RL78ÍROMÉÝxN^ðzu·é½ßC{ÖÍóÉè`·éD
+ *  (4) 割込み処理モデル(割込みハンドラ)
+ */
+
+/*
+ *  割込みハンドラの設定
+ *
+ *  RL78はROMに割込みベクタを配置するため，本関数は空に定義する．
  */
 #define x_define_inh(inhno, inthdr)
 
 /*
- *  ÝnhÌüûÅKvÈ
- */
-#define i_begin_int(intno) 		/* ÁÉs¤×«ÍÈ¢ */
-
-/*
- *  ÝnhÌoûÅKvÈ
- */
-#define i_end_int(intno)		/* ÁÉs¤×«ÍÈ¢ */
-
-/*
- *  (5) CPUáOf
- */
-
-/*
- *  CPUáOnhÌÝè
- *    RL78 Í ROM ÉxN^ðzu·é½ßC{ÖÍóÉè`·éD
+ *  割込みハンドラの入口で必要な処理
+ */
+#define i_begin_int(intno) 		/* 特に行うべき処理はない */
+
+/*
+ *  割込みハンドラの出口で必要な処理
+ */
+#define i_end_int(intno)		/* 特に行うべき処理はない */
+
+/*
+ *  (5) CPU例外処理モデル
+ */
+
+/*
+ *  CPU例外ハンドラの設定
+ *    RL78 は ROM にベクタを配置するため，本関数は空に定義する．
  */
 #define x_define_exc(excno, exchdr)
 
 /*
- *  (6) ú»EI¹
- */
-
-/*
- *  vZbTË¶Ìú»(prc_config.c)
+ *  (6) 初期化・終了処理
+ */
+
+/*
+ *  プロセッサ依存の初期化(prc_config.c)
  */
 extern void	prc_initialize(void);
 
 /*
- *  dispatcher ÄÑoµOÉ^[QbgË¶ÅKvÈðs¤½ßÌÖ
+ *  dispatcher 呼び出し前にターゲット依存で必要な処理を行うための関数
  *    (prc_support.asm)
  */
@@ -311,18 +306,18 @@
 
 /*
- *  J[lÌI¹ÌÄoµiprc_support.asmj
- *
- *  call_exit_kernelÍCJ[lÌI¹ÉÄÑo³êCX^bN|C^ð
- *  ú»µCJ[lÌI¹iexit_kerneljðÄÑo·D
+ *  カーネルの終了処理の呼出し（prc_support.asm）
+ *
+ *  call_exit_kernelは，カーネルの終了時に呼び出され，スタックポインタを
+ *  初期化し，カーネルの終了処理（exit_kernel）を呼び出す．
  */
 extern void call_exit_kernel(void);
 
 /*
- *  vZbTË¶ÌI¹(prc_config.c)
+ *  プロセッサ依存の終了時処理(prc_config.c)
  */
 extern void	prc_terminate(void);
 
 /*
- *  (7) dispacher ÅÌÝÒ¿
+ *  (7) dispacher での割込み待ち
  */
 extern void idle_loop(void);
Index: /ssp_qb_r5f100le_cs/trunk/arch/rl78_ca78k0r/prc_kernel.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/arch/rl78_ca78k0r/prc_kernel.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/arch/rl78_ca78k0r/prc_kernel.h	(revision 95)
@@ -7,43 +7,39 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  * 
- *  ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»EüÏE
- *  ÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 
- *      \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[X
- *      R[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Égp
- *      Å«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gipÒ}
- *      j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºLÌ³Û
- *      ØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Égp
- *      Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌì
- *         \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ
- *        ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹Q
- *      ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDÜ½C
- *      {\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©ÈéRÉîÃ
- *      ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
+ *  上記著作権者は，以下の (1)〜(4) の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改変・
+ *  再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作権
+ *      表示，この利用条件および下記の無保証規定が，そのままの形でソース
+ *      コード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使用
+ *      できる形で再配布する場合には，再配布に伴うドキュメント（利用者マ
+ *      ニュアルなど）に，上記の著作権表示，この利用条件および下記の無保
+ *      証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使用
+ *      できない形で再配布する場合には，次のいずれかの条件を満たすこと．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著作
+ *        権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに報
+ *        告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害
+ *      からも，上記著作権者およびTOPPERSプロジェクトを免責すること．また，
+ *      本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ
+ *      く請求からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ
- *  ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉÎ·
- *  éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEFAÌp
- *  Éæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»ÌÓCð
- *  íÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者およ
+ *  びTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的に対す
+ *  る適合性も含めて，いかなる保証も行わない．また，本ソフトウェアの利用
+ *  により直接的または間接的に生じたいかなる損害に関しても，その責任を負
+ *  わない．
  * 
  */
 
 /*
- *		kernel.h vZbTË¶iRL78j
+ *		kernel.h プロセッサ依存部（RL78）
  *
- *  ±ÌCN[ht@CÍCtarget_kernel.hiÜ½ÍC»±©çCN
- *  [h³êét@CjÌÝ©çCN[h³êéD¼Ìt@C©ç
- *  ¼ÚCN[hµÄÍÈçÈ¢D
+ *  このインクルードファイルは，target_kernel.h（または，そこからインク
+ *  ルードされるファイル）のみからインクルードされる．他のファイルから
+ *  直接インクルードしてはならない．
  */
 
@@ -52,8 +48,8 @@
 
 /*
- *  J[l{ÌðRpC·é½ßÌ}Nè`
+ *  カーネル本体をコンパイルするためのマクロ定義
  *
- *  {Â«ÅÍ1Öð1IuWFNgt@CÉRpC·é±ÆªÅ«È¢½ßC
- *  ALLFUNC}Nðè`·éD
+ *  本環境では1関数を1オブジェクトファイルにコンパイルすることができないため，
+ *  ALLFUNCマクロを定義する．
  */
 
@@ -61,33 +57,33 @@
 
 /*
- *  T|[g·é@\Ìè`
+ *  サポートする機能の定義
  */
-#define TOPPERS_TARGET_SUPPORT_DIS_INT			/* dis_intðT|[g·é */
-#define TOPPERS_TARGET_SUPPORT_ENA_INT			/* ena_intðT|[g·é */
+#define TOPPERS_TARGET_SUPPORT_DIS_INT			/* dis_intをサポートする */
+#define TOPPERS_TARGET_SUPPORT_ENA_INT			/* ena_intをサポートする */
 
 /*
- *  J[lÇÌÝDæxÌÍÍ
+ *  カーネル管理の割込み優先度の範囲
  *
- *  J[lÇÌÝDæxÌÅålyÑÅ¬lÌè`D
- *  ÅålÍ -1 ÅèÅC±êÍdlÉ éæ¤ÉÎÌ«ÌÏ_ÅpÓ³êÄ¢éD
- *  Å¬l TMIN_INTPRI ÉÝèÂ\ÈlÌÍÍÍC-3, -2, -1 Å éD
+ *  カーネル管理の割込み優先度の最大値及び最小値の定義．
+ *  最大値は -1 固定で，これは統合仕様書にあるように対称性の観点で用意されている．
+ *  最小値 TMIN_INTPRI に設定可能な値の範囲は，-3, -2, -1 である．
  *
- *  á¦Î TMIN_INTPRI ð -2 ÉÝè·éÆCNMI ÉÁ¦ÝDæxª
- *  -4 yÑ -3 ÉÝè³êÄ¢éÝvC©çÌÝª
- *  J[lÇOÌÝÆÈéD
- *  Ü½CTMIN_INTPRI ð -4 ÉÝè·é±ÆÍÅ«¸CNMI ¨æÑ -4 ÍíÉ
- *  J[lÇOÌÝÆÈéD
+ *  例えば TMIN_INTPRI を -2 に設定すると，NMI に加え割込み優先度が
+ *  -4 及び -3 に設定されている割込み要求ラインからの割込みが
+ *  カーネル管理外の割込みとなる．
+ *  また，TMIN_INTPRI を -4 に設定することはできず，NMI および -4 は常に
+ *  カーネル管理外の割込みとなる．
  */
 #ifndef TMIN_INTPRI
-#define TMIN_INTPRI		(-3)		/* ÝDæxÌÅ¬liÅlj*/
+#define TMIN_INTPRI		(-3)		/* 割込み優先度の最小値（最高値）*/
 #endif /* TMIN_INTPRI */
-#define TMAX_INTPRI		(-1)		/* ÝDæxÌÅåliÅálj */
+#define TMAX_INTPRI		(-1)		/* 割込み優先度の最大値（最低値） */
 
 /*
- *  èÝ®«
+ *  割り込み属性
  */
-#define	TA_POSEDGE		TA_EDGE			/* |WeBuGbWgK */
-#define	TA_NEGEDGE		UINT_C(0x04)	/* lKeBuGbWgK */
-#define TA_BOTHEDGE		UINT_C(0x08)	/* ¼GbWgK */
+#define	TA_POSEDGE		TA_EDGE			/* ポジティブエッジトリガ */
+#define	TA_NEGEDGE		UINT_C(0x04)	/* ネガティブエッジトリガ */
+#define TA_BOTHEDGE		UINT_C(0x08)	/* 両エッジトリガ */
 
 
Index: /ssp_qb_r5f100le_cs/trunk/arch/rl78_ca78k0r/prc_sil.asm
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/arch/rl78_ca78k0r/prc_sil.asm	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/arch/rl78_ca78k0r/prc_sil.asm	(revision 95)
@@ -6,39 +6,35 @@
 ;             Nagoya Municipal Industrial Research Institute, JAPAN
 ; 
-;  ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF
-;  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»EüÏE
-;  ÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
-;  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 
-;      \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[X
-;      R[hÉÜÜêÄ¢é±ÆD
-;  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Égp
-;      Å«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gipÒ}
-;      j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºLÌ³Û
-;      ØKèðfÚ·é±ÆD
-;  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Égp
-;      Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD
-;    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌì
-;         \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
-;    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ
-;        ·é±ÆD
-;  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹Q
-;      ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDÜ½C
-;      {\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©ÈéRÉîÃ
-;      ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
+;  上記著作権者は，以下の (1)〜(4) の条件を満たす場合に限り，本ソフトウェ
+;  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改変・
+;  再配布（以下，利用と呼ぶ）することを無償で許諾する．
+;  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作権
+;      表示，この利用条件および下記の無保証規定が，そのままの形でソース
+;      コード中に含まれていること．
+;  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使用
+;      できる形で再配布する場合には，再配布に伴うドキュメント（利用者マ
+;      ニュアルなど）に，上記の著作権表示，この利用条件および下記の無保
+;      証規定を掲載すること．
+;  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使用
+;      できない形で再配布する場合には，次のいずれかの条件を満たすこと．
+;    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著作
+;        権表示，この利用条件および下記の無保証規定を掲載すること．
+;    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに報
+;        告すること．
+;  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害
+;      からも，上記著作権者およびTOPPERSプロジェクトを免責すること．また，
+;      本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ
+;      く請求からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
 ; 
-;  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ
-;  ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉÎ·
-;  éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEFAÌp
-;  Éæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»ÌÓCð
-;  íÈ¢D
+;  本ソフトウェアは，無保証で提供されているものである．上記著作権者およ
+;  びTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的に対す
+;  る適合性も含めて，いかなる保証も行わない．また，本ソフトウェアの利用
+;  により直接的または間接的に生じたいかなる損害に関しても，その責任を負
+;  わない．
 ; 
 ; 
 
 ;
-;  SILÌAZuLqª
+;  SILのアセンブラ記述部分
 ;
 
@@ -50,9 +46,9 @@
 ;
 ; uint8_t get_psw(void)
-;   PSWÌlðæ¾
+;   PSWの値を取得
 ;
 _get_psw:
 	push	ax
-	mov 	a, psw		; PSW Ìlðæ¾
+	mov 	a, psw		; PSW の値を取得
 	mov 	c, a
 	clrb	b
@@ -62,5 +58,5 @@
 ;
 ; void set_psw(uint8_t psw)
-;   PSWÌlðÝè
+;   PSWの値を設定
 ;
 _set_psw:
Index: /ssp_qb_r5f100le_cs/trunk/arch/rl78_ca78k0r/prc_sil.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/arch/rl78_ca78k0r/prc_sil.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/arch/rl78_ca78k0r/prc_sil.h	(revision 95)
@@ -7,41 +7,37 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  */
 
 /*
- *		sil.h vZbTË¶(RL78t@~¤Êª)
+ *		sil.h プロセッサ依存部(RL78ファミリ共通部分)
  */
 
@@ -50,18 +46,18 @@
 
 /*
- *  RpCª Inline ðT|[gµÈ¢½ß
- *  WÌóÔANZXÖðgpµÈ¢
+ *  コンパイラが Inline をサポートしないため
+ *  標準のメモリ空間アクセス関数を使用しない
  */
 #define TOPPERS_OMIT_SIL_ACCESS
 
 /*
- * PSW WX^
+ * PSW レジスタ
  */
 #define PSW_IE_MASK 	(0x80)
 #define PSW_ISP_MASK	(0x06)
 
-// psw Ì ISP{0,1} ª¾¯ðæèo·
+// psw の ISP{0,1} 部分だけを取り出す
 #define PSW2ISP(psw)	((uint8_t)((psw) & PSW_ISP_MASK))
-// psw Ì ISP{0,1} ÌrbgÊuÉ isp ðZbgµ½p^[ðìé
+// psw の ISP{0,1} のビット位置に isp をセットしたパターンを作る
 #define PSW_SET_ISP(psw, isp)	((uint8_t)((uint8_t)(psw & ~PSW_ISP_MASK) | isp))
 
@@ -69,20 +65,20 @@
 #ifndef TOPPERS_MACRO_ONLY
 
-// PSWÌæ¾EÝè
+// PSWの取得・設定
 extern uint8_t get_psw(void);
 extern void set_psw(uint8_t psw);
 
 /*
- *  NMIð­·×ÄÌÝÌÖ~(prc_config.c)
+ *  NMIを除くすべての割込みの禁止(prc_config.c)
  */
 extern uint8_t TOPPERS_disint(void);
 
 /*
- *  ÝDæx}XNià\»jÌ»ÝlÌÝè(prc_config.c)
+ *  割込み優先度マスク（内部表現）の現在値の設定(prc_config.c)
  */
 extern void TOPPERS_enaint(uint8_t TOPPERS_psw);
 
 /*
- *  SÝbNóÔÌ§ä
+ *  全割込みロック状態の制御
  */
 #define SIL_PRE_LOC		uint8_t TOPPERS_ie_psw;
@@ -91,5 +87,5 @@
 
 /*
- *  ÷­ÔÒ¿(target_support.asm, not yet)
+ *  微少時間待ち(target_support.asm, not yet)
  */
 extern void sil_dly_nse(ulong_t dlytim);
@@ -98,7 +94,7 @@
 
 /*
- *  vZbTÌGfBA
+ *  プロセッサのエンディアン
  */
-#define SIL_ENDIAN_LITTLE			/* gGfBA */
+#define SIL_ENDIAN_LITTLE			/* リトルエンディアン */
 
 #endif /* TOPPERS_PRC_SIL_H */
Index: /ssp_qb_r5f100le_cs/trunk/arch/rl78_ca78k0r/prc_stddef.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/arch/rl78_ca78k0r/prc_stddef.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/arch/rl78_ca78k0r/prc_stddef.h	(revision 95)
@@ -7,44 +7,40 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  */
 
 /*
- *		t_stddef.hÌvZbTË¶iRL78t@~¤Êªj
+ *		t_stddef.hのプロセッサ依存部（RL78ファミリ共通部分）
  *
- *  ±ÌCN[ht@CÍCtarget_stddef.h ÌÝ©çCN[h³êéD
- *  ¼Ìt@C©ç¼ÚCN[hµÄÍÈçÈ¢D
+ *  このインクルードファイルは，target_stddef.h のみからインクルードされる．
+ *  他のファイルから直接インクルードしてはならない．
  */
 
@@ -53,7 +49,7 @@
 
 /*
- *  ^[Qbgð¯Ê·é½ßÌ}NÌè`
+ *  ターゲットを識別するためのマクロの定義
  */
-#define TOPPERS_RL78				/* vZbTªÌ */
+#define TOPPERS_RL78				/* プロセッサ略称 */
 
 #endif /* TOPPERS_PRC_STDDEF_H */
Index: /ssp_qb_r5f100le_cs/trunk/arch/rl78_ca78k0r/prc_support.asm
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/arch/rl78_ca78k0r/prc_support.asm	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/arch/rl78_ca78k0r/prc_support.asm	(revision 95)
@@ -6,81 +6,77 @@
 ;             Nagoya Municipal Industrial Research Institute, JAPAN
 ; 
-;  ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF
-;  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»EüÏE
-;  ÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
-;  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 
-;      \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[X
-;      R[hÉÜÜêÄ¢é±ÆD
-;  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Égp
-;      Å«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gipÒ}
-;      j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºLÌ³Û
-;      ØKèðfÚ·é±ÆD
-;  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Égp
-;      Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD
-;    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌì
-;         \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
-;    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ
-;        ·é±ÆD
-;  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹Q
-;      ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDÜ½C
-;      {\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©ÈéRÉîÃ
-;      ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
-; 
-;  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ
-;  ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉÎ·
-;  éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEFAÌp
-;  Éæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»ÌÓCð
-;  íÈ¢D
-; 
-; 
-
-;
-;  J[lÀÌvZbTË¶ª
-;
-
-;
-;  }Nè`ÌCN[h
+;  上記著作権者は，以下の (1)〜(4) の条件を満たす場合に限り，本ソフトウェ
+;  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改変・
+;  再配布（以下，利用と呼ぶ）することを無償で許諾する．
+;  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作権
+;      表示，この利用条件および下記の無保証規定が，そのままの形でソース
+;      コード中に含まれていること．
+;  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使用
+;      できる形で再配布する場合には，再配布に伴うドキュメント（利用者マ
+;      ニュアルなど）に，上記の著作権表示，この利用条件および下記の無保
+;      証規定を掲載すること．
+;  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使用
+;      できない形で再配布する場合には，次のいずれかの条件を満たすこと．
+;    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著作
+;        権表示，この利用条件および下記の無保証規定を掲載すること．
+;    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに報
+;        告すること．
+;  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害
+;      からも，上記著作権者およびTOPPERSプロジェクトを免責すること．また，
+;      本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ
+;      く請求からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+; 
+;  本ソフトウェアは，無保証で提供されているものである．上記著作権者およ
+;  びTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的に対す
+;  る適合性も含めて，いかなる保証も行わない．また，本ソフトウェアの利用
+;  により直接的または間接的に生じたいかなる損害に関しても，その責任を負
+;  わない．
+; 
+; 
+
+;
+;  カーネル実装のプロセッサ依存部分
+;
+
+;
+;  マクロ定義のインクルード
 ;
 $INCLUDE(prc_support_def.inc)
 
 ;
-;  O[oV{
-;
-	; RpCªgp·é saddrÌæÌWX^
+;  グローバルシンボル
+;
+	; コンパイラが使用する saddr領域のレジスタ
 	extrn	_@RTARG0,_@RTARG2,_@RTARG4,_@RTARG6,_@SEGAX,_@SEGDE
 	extrn	_@NRARG0,_@NRARG1,_@NRARG2,_@NRARG3
 	extrn	_@NRAT00,_@NRAT02,_@NRAT04,_@NRAT06
 	; kernel_cfg.c
-	extrn	__kernel_istkpt     	; X^bN|C^Ìúl
+	extrn	__kernel_istkpt     	; スタックポインタの初期値
 	; prc_config.c
-	extrn	_t_lock_cpu         	; CPUbNóÔÖÌÚs
-	extrn	__kernel_intnest    	; ÝÌlXgJE^
-	extrn	__kernel_lock_flag  	; CPUbNtO
+	extrn	_t_lock_cpu         	; CPUロック状態への移行
+	extrn	__kernel_intnest    	; 割込みのネストカウンタ
+	extrn	__kernel_lock_flag  	; CPUロックフラグ
 	; task.c
-	extrn	__kernel_dispatcher 	; fBXpb`
-	extrn	__kernel_reqflg     	; fBXpb`vtO
-	extrn	__kernel_disdsp     	; fBXpb`Ö~óÔ
-	extrn	__kernel_search_schedtsk	; ÅDæxÌT[`
-	extrn	__kernel_run_task   	; ^XNÌJn
+	extrn	__kernel_dispatcher 	; ディスパッチャ
+	extrn	__kernel_reqflg     	; ディスパッチ要求フラグ
+	extrn	__kernel_disdsp     	; ディスパッチ禁止状態
+	extrn	__kernel_search_schedtsk	; 最高優先度のサーチ
+	extrn	__kernel_run_task   	; タスクの開始
 	; startup.c
-	extrn	__kernel_exit_kernel	; J[lÌI¹
+	extrn	__kernel_exit_kernel	; カーネルの終了処理
 
 	; prc_support.asm
-	public	__kernel_start_dispatch  	; fBXpb`ÌJn
-	public	__kernel_call_exit_kernel	; I¹ÌR[
-	public	__kernel_interrupt_entry 	; ÝÌüû(¤Ê)
-	public	__kernel_int_return      	; WX^ðAµÄÝ­¶³Ö^[
-	public	_unused_interrupt        	; ¢gpÝÌ
-
-;
-; RpCÅgp·ésaddrÌæÌWX^ðÛ¶
+	public	__kernel_start_dispatch  	; ディスパッチの開始処理
+	public	__kernel_call_exit_kernel	; 終了処理のコール
+	public	__kernel_interrupt_entry 	; 割込みの入口処理(共通部)
+	public	__kernel_int_return      	; レジスタを復帰して割込み発生元へリターン
+	public	_unused_interrupt        	; 未使用割込みの処理
+
+;
+; コンパイラで使用するsaddr領域のレジスタを保存
 ;
 restore_saddr_regs	macro
-$if (ALLOC_REGVAR_TO_SADDR) ; -qr IvVðgp·éê 
-	pop	ax           	; WX^A 
+$if (ALLOC_REGVAR_TO_SADDR) ; -qr オプションを使用する場合 
+	pop	ax           	; レジスタ復帰 
 	movw	_@NRAT06, ax  	; 
 	pop	ax           	; 
@@ -99,5 +95,5 @@
 	movw	_@NRARG0, ax  	; 
 $endif 
-	pop	ax           	; WX^A 
+	pop	ax           	; レジスタ復帰 
 	movw	_@SEGDE, ax  	; 
 	pop	ax           	; 
@@ -114,5 +110,5 @@
 
 ;
-;  X^bN|C^ðú»
+;  スタックポインタを初期化
 ;
 reset_sp	macro
@@ -124,5 +120,5 @@
 	
 ;
-;  PSW Ì ISP1 = 1, ISP0 = 1 ÉµÄÝÌ}XNðð·é
+;  PSW の ISP1 = 1, ISP0 = 1 にして割込みのマスクを解除する
 ;
 clear_pswisp_mask	macro
@@ -136,11 +132,11 @@
 
 ;
-;  J[lÌ®ìJnÉKvÆ³êéãnðs¤½ßÌÖ
-;  sta_ker(startup.c) ©çÄÑo³êéD
+;  カーネルの動作開始に必要とされる後始末を行うための関数
+;  sta_ker(startup.c) から呼び出される．
 ;
 __kernel_start_dispatch:
 	;
-	;  CPUbNóÔÆSÝbNóÔÆðæÊ·éKvª éêC
-	;  CPUbNóÔÉµCSÝbNÌóÔðð·éD
+	;  CPUロック状態と全割込みロック状態とを区別する必要がある場合，
+	;  CPUロック状態にし，全割込みロック相当の状態を解除する．
 	;
 	call !!_t_lock_cpu
@@ -151,21 +147,21 @@
 $ENDIF
 	;
-	;  X^bN|C^ðú»·é
-	;  sta_ker ©ç start_dispatch ÌÖR[ÉæéX^bNÁïªð
-	;  NA·é½ßCX^bN|C^ðú»·éD
+	;  スタックポインタを初期化する
+	;  sta_ker から start_dispatch の関数コールによるスタック消費分を
+	;  クリアするため，スタックポインタを初期化する．
 	;
 	reset_sp
 
 	;
-	;  dispatcher (task.c) ÖWv·é
-	;  ÖR[ÉµÈ¢ÌÍX^bNðßñ·é½ßD
-	;
-	; dispatcher (kernel/task.c) ÌÄÑoµ
+	;  dispatcher (task.c) へジャンプする
+	;  関数コールにしないのはスタックを節約するため．
+	;
+	; dispatcher (kernel/task.c) の呼び出し
 	br	!!__kernel_dispatcher
 
 
 ;
-;  I¹ÌÄÑoµ
-;  X^bN|C^ðú»µCexit_kernel ðÄÑo·D
+;  終了処理の呼び出し
+;  スタックポインタを初期化し，exit_kernel を呼び出す．
 ;
  __kernel_call_exit_kernel:
@@ -177,40 +173,40 @@
 
 ;
-;  Ý/CPUáOÌoüû(¤Ê)
-;    J[lÇÌÝÜ½ÍCPUáOÌêÉWX^Û¶ãCÄÑo³êéD
-;
-;   Oñð
-;	EPSWWX^ÌIErbg=0, ISPÍót¯½ÝÌISP.
-;	EnhÌAhXª bc Éi[³êÄ¢é.
-;   ECPUáOnhÌüû©ç½êCX^bN|C^Ì
-;     æªÔn(p_excinf)ª ax Éi[³êÄ¨èC
-;     ±êÍCPUáOnhÌø(p_excinf)ÆµÄ»ÌÜÜn³êéD
-;
-;	WX^ªX^bNãÉÇÌæ¤ÉÛ¶³êÄ¢é©ðÈºÉ¦·.
-;	}ÍÀÑÌÝð\»µ½àÌÅ èCTCYðl¶µÄ¢È¢±ÆÉÓ·éD
-;	³mÉÍf[^V[gðQÆÌ±ÆD
-;	±Ì}ÅÍãªáÊ, ºªÊÌAhXÅ, X^bNÍ}Ìº¤©ç
-;	ãûüÉü©ÁÄÏÝã°çêéàÌÆ·é.
-;
-;	¦1 saddrÌæÌ[NGAÍRpCIvV -qr ðwè·éêÉ
-;       Û¶ªKvÅ èCÊíÍÛ¶µÈ¢DÛ¶·éêÍAZuIvV
-;       ÉÄuALLOC_REGVAR_TO_SADDRvðè`·é±ÆD
-;
-;	¦2 CPUáOÌüûðoRµ½êÌÝÛ¶³êé
-;
-;
-;	---------------<-- p_excinf(¦)
-;	|  saddrÌæ   |
-;	|[NpGA|
-;	|  (16byte)¦1 |
+;  割込み/CPU例外の出入口処理(共通部)
+;    カーネル管理の割込みまたはCPU例外の場合にレジスタ保存後，呼び出される．
+;
+;   前提条件
+;	・PSWレジスタのIEビット=0, ISPは受付けた割込みのISP.
+;	・ハンドラのアドレスが bc に格納されている.
+;   ・CPU例外ハンドラの入口から来た場合，スタックポインタの
+;     先頭番地(p_excinf)が ax に格納されており，
+;     これはCPU例外ハンドラの引数(p_excinf)としてそのまま渡される．
+;
+;	レジスタがスタック上にどのように保存されているかを以下に示す.
+;	図は並び順のみを表現したものであり，サイズを考慮していないことに注意する．
+;	正確にはデータシートを参照のこと．
+;	この図では上が低位, 下が高位のアドレスで, スタックは図の下側から
+;	上方向に向かって積み上げられるものとする.
+;
+;	※1 saddr領域のワークエリアはコンパイラオプション -qr を指定する場合に
+;       保存が必要であり，通常は保存しない．保存する場合はアセンブラオプション
+;       にて「ALLOC_REGVAR_TO_SADDR」を定義すること．
+;
+;	※2 CPU例外の入口を経由した場合のみ保存される
+;
+;
+;	---------------<-- p_excinf(※)
+;	|  saddr領域   |
+;	|ワーク用エリア|
+;	|  (16byte)※1 |
 ;	---------------<-- p_excinf
-;	|  saddrÌæ   |
-;	|ZOgîñ|
-;	| i[pGA |
+;	|  saddr領域   |
+;	|セグメント情報|
+;	| 格納用エリア |
 ;	|   (4byte)    |
 ;	---------------
-;	|  saddrÌæ   |
-;	|  ^C  |
-;	|  øGA  |
+;	|  saddr領域   |
+;	|  ランタイム  |
+;	|  引数エリア  |
 ;	|   (8byte)    |
 ;	---------------
@@ -230,34 +226,34 @@
 ;	---------------
 ;
-;	nh©ç^[µ½ãÍ, ½dÝÅÈ­, ©ÂC
-;	reqflg ª TRUEC©ÂCdisdsp ª FALSE ÌÉCinterrupt_dispatch Öªò·éD
-;
-;	½dÝ©Ç¤©ÍÝlXgJE^ÌlÅ»è·é.
-;	intnest > 0 ÈçÎ½dÝÅ éÆ»è·é.
+;	ハンドラからリターンした後は, 多重割込みでなく, かつ，
+;	reqflg が TRUE，かつ，disdsp が FALSE の時に，interrupt_dispatch へ分岐する．
+;
+;	多重割込みかどうかは割込みネストカウンタの値で判定する.
+;	intnest > 0 ならば多重割込みであると判定する.
 ;
 
 __kernel_interrupt_entry:
-	inc 	!__kernel_intnest   	; lXgJE^ðCNg
-	ei  	                    	; ÝÂ(IPLÍó¯t¯çê½ÝÌx)
-	call	bc                  	; ÝnhÄÑoµ
-	di  	                    	; ÝÖ~
-	dec 	!__kernel_intnest   	; lXgJE^ðfNg
-	bnz 	$__kernel_int_return 	; ßèæªñ^XNReLXg(ñ[)ÈçPÉ^[
-	movw	ax,!__kernel_reqflg  	; fBXpb`vª é©Ç¤©
+	inc 	!__kernel_intnest   	; ネストカウンタをインクリメント
+	ei  	                    	; 割込み許可(IPLは受け付けられた割込みのレベル)
+	call	bc                  	; 割込みハンドラ呼び出し
+	di  	                    	; 割込み禁止
+	dec 	!__kernel_intnest   	; ネストカウンタをデクリメント
+	bnz 	$__kernel_int_return 	; 戻り先が非タスクコンテキスト(非ゼロ)なら単にリターン
+	movw	ax,!__kernel_reqflg  	; ディスパッチ要求があるかどうか
 	cmpw	ax, #0
-	bz  	$__kernel_int_return 	; È¯êÎCPÉ^[
+	bz  	$__kernel_int_return 	; なければ，単にリターン
 	movw	ax, #0
-	movw	!__kernel_reqflg, ax 	; reqflg = FALSE ÉßµÄ¨­
-	movw	ax, !__kernel_disdsp 	; fBXpb`Ö~©Ç¤©
+	movw	!__kernel_reqflg, ax 	; reqflg = FALSE に戻しておく
+	movw	ax, !__kernel_disdsp 	; ディスパッチ禁止かどうか
 	cmpw	ax, #0
-	bnz 	$__kernel_int_return 	; Ö~ÈçCPÉ^[
-
-;
-;  ÝÌoû(fBXpb`t«)
-;    CPU bNÌóÔÉÚsµCVK^XNðJn·é
-;
-;  OñðF
-;    PSWWX^ÌIEtO = 0 (ÝÖ~)
-;    PSWWX^ÌISP{1,0} = ó¯t¯½ÝÌÝx
+	bnz 	$__kernel_int_return 	; 禁止なら，単にリターン
+
+;
+;  割込みの出口処理(ディスパッチ付き)
+;    CPU ロック相当の状態に移行し，新規タスクを開始する
+;
+;  前提条件：
+;    PSWレジスタのIEフラグ = 0 (割込み禁止)
+;    PSWレジスタのISP{1,0} = 受け付けた割込みの割込みレベル
 ;
 __kernel_interrupt_dispatch:
@@ -272,20 +268,20 @@
 	call	!!__kernel_run_task
 
-	; run_task ©çÌ^[ãÌóÔ: CPUbNóÔ
-	; __kernel_int_return Ì reti Å PSW Ì IE, ISP Í
-	; Ý­¶OÌóÔÉßé½ßClock_flag ¾¯³Éß·D
+	; run_task からのリターン後の状態: CPUロック状態
+	; __kernel_int_return の reti で PSW の IE, ISP は
+	; 割込み発生前の状態に戻るため，lock_flag だけ元に戻す．
 	movw	ax, #0
-	movw	!__kernel_lock_flag, ax 	; lock_flag ðNA
-
-;
-;  WX^AµÄÝ©ç^[
+	movw	!__kernel_lock_flag, ax 	; lock_flag をクリア
+
+;
+;  レジスタ復帰して割込みからリターン
 ;
 __kernel_int_return:
-	restore_saddr_regs	; saddrÌæÌWX^A
-	pop 	ax          ; ES, CS ÌA 
+	restore_saddr_regs	; saddr領域のレジスタ復帰
+	pop 	ax          ; ES, CS の復帰 
 	mov 	cs, a       ; 
 	mov 	a, x        ; 
 	mov 	es, a       ; 
-	pop 	hl          ; WX^ðA 
+	pop 	hl          ; レジスタを復帰 
 	pop 	de
 	pop 	bc
@@ -294,5 +290,5 @@
 
 ;
-;  ³À[v(OÌ½ß)
+;  無限ループ(念のため)
 ;
 _loop:
@@ -300,5 +296,5 @@
 
 ;
-;  ¢gpÝ
+;  未使用割込み
 ;
 _unused_interrupt:
Index: /ssp_qb_r5f100le_cs/trunk/arch/rl78_ca78k0r/prc_user.txt
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/arch/rl78_ca78k0r/prc_user.txt	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/arch/rl78_ca78k0r/prc_user.txt	(revision 95)
@@ -1,368 +1,363 @@
 =====================================================================
-                         RL78vZbTË¶
+                         RL78プロセッサ依存部
                                   Last Modified: '15/6/2
 =====================================================================
 
 
-(1) ÎµÄ¢é^[QbgVXeÌíÞE\¬
-
-RL78vZbTË¶(ÈºCRL78Ë¶)ÍClTXGNgjNX» RL78t@~
-ÌvZbTðåÈ^[QbgÆ·éDRL78t@~ÍC¢­Â©ÌO[vC
-»µÄÜ½»ÌO[vÌÉClXÈ^ÔÅ\»³êévZbTÌoG[Vª
-¶ÝµÄ¢éD
-
-½¾µC{vZbTË¶É¨¢ÄC»óÅÍCT|[g·é^[Qbg{[hÆÌÖW©çC
-RL78/G13 ÉÖ·éè`ÌÝðpÓµÄ¢éD
-
-
-(2) vZbTË¶Ìt@C\¬
-
-A^COSJ[lÌvZbTË¶ÆµÄÀ·éªÌÝðl¦½êC
-RL78Ë¶Ìè`ÍCåïÌêCSÄÌvZbTÉ¤Ê·éªÆC
-vZbTÌ^ÔÅÙÈéª(¦1)ÆÉR[hð®·é±ÆªÂ\Å éD
-ÙÈéªÉÂ¢ÄÍvZbT^ÔÉîÃ­t@CðpÓµÄ¢éD
-
-¦1 ÝÔCÝnhÔCyÑCÝ§äWX^ÌzuÈÇ
-
-ÈãæèCvZbTË¶ÌR[hÍCÈºÌ½¼K¥É]ÁÄpÓ³ê½
-t@CÖC¤ÊªÆÂÏªÆÉªÞµÄzu³êÄ¢éD
-
-prc_*  F SÄÌvZbTÉ¤Ê·éè`
-rl78g13_* ÈÇFvZbT^ÔÉÙÈéè`
-
-è`ÌzuÍT|[g·évZbTðâ·É©¼µªKvÆÈé©àµêÈ¢D
-àµ»óÌR[hzuÅssª¶¶éêÉÍT|[g[OXgÜÅ
-²A¸¯éÆK¢Å éD
-
-
-(3) gp·éJ­Â«Æ®ìØµ½ð
-
-RpCCyÑrhÇÉÍlTXGNgjNX»c[ðp¢éD
-®ìmFµ½o[WÍ^[QbgË¶ÌhL
-gÉLÚ·éD
-
-
-(4) ^[Qbgè`ÌKè
-
-(4-1) f[^^ÉÖ·éKè
-
-TOPPERS¤Êf[^^Ì¤¿CTOPPERSV¢ãJ[ldl(ÈºCdl)Å
-IvVµ¢Æ³êÄ¢éf[^^ðÎÛÉC^[QbgË¶ÅÌT|[góµÉÂ¢Ä
-Lq·éD±êçÌè`Í arch/ca78k0r/tool_stddef.h Åè`³êÄ¢é
-
-y®^z
-
-ET|[g
-	int8_t		t«8rbg®iIvVCC99j
-	uint8_t		³µ8rbg®iIvVCC99j
-	float32_t	IEEE754Ì32rbgP¸x®¬_iIvVj
-
-	±Ì¤¿Cfloat32_t ÍCIEEE754ÌP¸x®¬_Å éD
-
-E¢T|[g
-	int64_t		t«64rbg®iIvVCC99j
-	uint64_t	³µ64rbg®iIvVCC99j
-	double64_t	IEEE754Ì64rbg{¸x®¬_iIvVj
-	int128_t	t«128rbg®iIvVCC99j
-	uint128_t	³µ128rbg®iIvVCC99j
-
-yÅålCÅ¬lÌèz
-
-ET|[g
-	INT8_MAX			int8_tÉi[Å«éÅåliIvVCC99j
-	INT8_MIN			int8_tÉi[Å«éÅ¬liIvVCC99j
-	UINT8_MAX			uint8_tÉi[Å«éÅåliIvVCC99j
-	FLOAT32_MIN			float32_tÉi[Å«éÅ¬Ì³K»³ê½³Ì®¬_iIvVj
-	FLOAT32_MAX			float32_tÉi[Å«é\»Â\ÈÅåÌLÀ®¬_iIvVj
-
-E¢T|[g
-	INT64_MAX			int64_tÉi[Å«éÅåliIvVCC99j
-	INT64_MIN			int64_tÉi[Å«éÅ¬liIvVCC99j
-	UINT64_MAX			uint64_tÉi[Å«éÅåliIvVCC99j
-	DOUBLE64_MIN		double64_tÉi[Å«éÅ¬Ì³K»³ê½³Ì®¬_iIvVj
-	DOUBLE64_MAX		double64_tÉi[Å«é\»Â\ÈÅåÌLÀ®¬_iIvVj
-	INT128_MAX			int128_tÉi[Å«éÅåliIvVCC99j
-	INT128_MIN			int128_tÉi[Å«éÅ¬liIvVCC99j
-	UINT128_MAX			uint128_tÉi[Å«éÅåliIvVCC99j
-
-(4-2) ÝÉÖ·éKè
-
-(4-2-1) ÝnhÔÆÝÔÌÄC¼ÒÌÎ
-
-ÝnhÔ(inhno)ÆÝÔ(intno)ÍC¤ÉftHgvCIeBÌlðp¢éD
-¼ÒÍî{IÉ¯¶Ôª1Î1ÉÎ·éD]ÁÄgpÂ\ÈSÄÌÝÔÉÎµÄ
-ÝT[rX[`(ISR)ðo^Â\Å éD
-ÝÔCÝnhÔÍ <vZbT¼>.h t@CÅè`µÄ¢éD
-(á¦Î rl78g13.h ÈÇ)
-
-(4-2-2) ÝDæxÌiKiTMIN_INTPRIÌljC»ÌÝèû@
-
-J[lÇOÌÝÉÎ·éCDEF_INH,CFG_INTÍT|[g·éD
-»Ì½ßCRL78Ë¶Å CFG_INT Ìp[^ÆµÄwèÂ\ÈÝDæxÌlÍC
-RL78 ªÂÝDæxxÌlÌÍÍÉÎµÄ -1(=TMAX_INTPRI) ©ç -4 ÜÅÌ
-lðÝèÂ\Å é(¦2)(¦3)D½¾µCãq·éæ¤ÉCTMIN_INTPRI Åè`³êélÉ¶ÄC
-J[lÇyÑJ[lÇOÌÝnhÉwèÂ\ÈlÌÍÍªÏ»·éD
-
-CFG_INT ÅÝè³ê½ÝvCÉJ[lÇÌÝnhð
-o^·éêÍCTMAX_INTPRI ÈºCTMIN_INTPRI ÈãÌlðwèµÈ¯êÎÈçÈ¢D
-¼ûCJ[lÇOÌÝnhðo^·éÝvCðÝè·éêÍC
-TMIN_INTPRI æè¬³­C-4 ÈãÌlðwèµÈ¯êÎÈçÈ¢D
-
-(¦2) J[lÌÝfÌãÅÍÝDæxð -1 ©çnÜéÅ
- @  \»·é±ÆÉÈÁÄ¢é½ßCªÂ¢Ä¢éD
-
-(¦3) TMIN_INTPRI ð -4 Éµ½êCCFG_INT ÅDæx -4 ÉÝèµ½ÝvöÍC
-CPUbNóÔÉµÈ¢Àè½dÉà½dÝªÂ\ÆÈé½ßCÓªKvÅ éD
-
-(4-2-3) J[lÇOÌÝ
-
-RL78Ë¶ÅÍCJ[lÇOÌÝðT|[gµÄ¢éD
-
-TMIN_INTPRI æè¢(lÆµÄÍæè¬³¢)ÝDæxÉÝè³ê½
-ÝvCÌÝÍCJ[lÇOÌÝÆµÄp¢é±Æª
-Â\Å éDJ[lÇOÌÝÍOSÀsàÖ~ÉÈé±ÆÍÈ­
-iµ§ÉÍÝÌoûÅ²­Z¢æÔÖ~³êéjCÝ­¶ÍC
-J[lÌR[hðoR¹¸ÉÄÑo³êéD
-
-TMIN_INTPRI ÍJ[lÇÌÝÉÝè·é±ÆÌÅ«éÝDæxÌÅl
-(lÆµÄÍÅ¬l)ðè`µ½}NÅCarch/m16c_ncxx/prc_kernel.h Å
-è`³êÄ¢éDùèÅÍC-3ÆÈÁÄ¢éD±ÌlÍ^[QbgË¶Åã«ªÂ\Å éD
-
-(4-2-4) J[lÇOÌÝÌÝèû@
-
-CFG_INT, DEF_INH ðp¢ÄJ[lÇOÌÝnhðo^·éêÌ§ñÍC
-(1) DEF_INH Åo^·éÝnhÌ®«ÆµÄ TA_NONKERNEL ðwè·é±ÆC
-yÑC(2) nho^æÌÝvCªàÂÝDæxÍC
-CFG_INT Éæè TMIN_INTPRI æè­ (lÆµÄÍ¬³¢l)ÉÝè·é±ÆC
-Å éD
-
-(4-2-5) J[lÇOÌÝnhÌLqû@
-
-J[lÇOÌÝnhÍCÈºÌæ¤ÉøCßèlª¤É void ÌÖ
-ÆµÄÀ·é±ÆD
+(1) 対応しているターゲットシステムの種類・構成
+
+RL78プロセッサ依存部(以下，RL78依存部)は，ルネサスエレクトロニクス製 RL78ファミリ
+のプロセッサを主なターゲットとする．RL78ファミリは，いくつかのグループ，
+そしてまたそのグループの中に，様々な型番で表現されるプロセッサのバリエーションが
+存在している．
+
+ただし，本プロセッサ依存部において，現状では，サポートするターゲットボードとの関係から，
+RL78/G13 に関する定義のみを用意している．
+
+
+(2) プロセッサ依存部のファイル構成
+
+リアルタイムOSカーネルのプロセッサ依存部として実装する部分のみを考えた場合，
+RL78依存部の定義は，大抵の場合，全てのプロセッサに共通する部分と，
+プロセッサの型番で異なる部分(※1)とにコードを整理することが可能である．
+異なる部分についてはプロセッサ型番に基づくファイルを用意している．
+
+※1 割込み番号，割込みハンドラ番号，及び，割込み制御レジスタの配置など
+
+以上より，プロセッサ依存部のコードは，以下の命名規則に従って用意された
+ファイルへ，共通部分と可変部分とに分類して配置されている．
+
+prc_*  ： 全てのプロセッサに共通する定義
+rl78g13_* など：プロセッサ型番毎に異なる定義
+
+定義の配置はサポートするプロセッサを増やす毎に見直しが必要となるかもしれない．
+もし現状のコード配置で不都合が生じる場合にはサポートメーリングリストまで
+ご連絡頂けると幸いである．
+
+
+(3) 使用する開発環境と動作検証した条件
+
+コンパイル，及びビルド管理にはルネサスエレクトロニクス製ツールを用いる．
+動作確認したバージョンはターゲット依存部のドキュメントに記載する．
+
+
+(4) ターゲット定義事項の規定
+
+(4-1) データ型に関する規定
+
+TOPPERS共通データ型のうち，TOPPERS新世代カーネル統合仕様書(以下，統合仕様書)で
+オプション扱いとされているデータ型を対象に，ターゲット依存部でのサポート状況について
+記述する．これらの定義は arch/ca78k0r/tool_stddef.h で定義されている
+
+【整数型】
+
+・サポート
+	int8_t		符号付き8ビット整数（オプション，C99準拠）
+	uint8_t		符号無し8ビット整数（オプション，C99準拠）
+	float32_t	IEEE754準拠の32ビット単精度浮動小数点数（オプション）
+
+	このうち，float32_t は，IEEE754準拠の単精度浮動小数点数である．
+
+・未サポート
+	int64_t		符号付き64ビット整数（オプション，C99準拠）
+	uint64_t	符号無し64ビット整数（オプション，C99準拠）
+	double64_t	IEEE754準拠の64ビット倍精度浮動小数点数（オプション）
+	int128_t	符号付き128ビット整数（オプション，C99準拠）
+	uint128_t	符号無し128ビット整数（オプション，C99準拠）
+
+【最大値，最小値の定数】
+
+・サポート
+	INT8_MAX			int8_tに格納できる最大値（オプション，C99準拠）
+	INT8_MIN			int8_tに格納できる最小値（オプション，C99準拠）
+	UINT8_MAX			uint8_tに格納できる最大値（オプション，C99準拠）
+	FLOAT32_MIN			float32_tに格納できる最小の正規化された正の浮動小数点数（オプション）
+	FLOAT32_MAX			float32_tに格納できる表現可能な最大の有限浮動小数点数（オプション）
+
+・未サポート
+	INT64_MAX			int64_tに格納できる最大値（オプション，C99準拠）
+	INT64_MIN			int64_tに格納できる最小値（オプション，C99準拠）
+	UINT64_MAX			uint64_tに格納できる最大値（オプション，C99準拠）
+	DOUBLE64_MIN		double64_tに格納できる最小の正規化された正の浮動小数点数（オプション）
+	DOUBLE64_MAX		double64_tに格納できる表現可能な最大の有限浮動小数点数（オプション）
+	INT128_MAX			int128_tに格納できる最大値（オプション，C99準拠）
+	INT128_MIN			int128_tに格納できる最小値（オプション，C99準拠）
+	UINT128_MAX			uint128_tに格納できる最大値（オプション，C99準拠）
+
+(4-2) 割込み処理に関する規定
+
+(4-2-1) 割込みハンドラ番号と割込み番号の割当て，両者の対応
+
+割込みハンドラ番号(inhno)と割込み番号(intno)は，共にデフォルトプライオリティの値を用いる．
+両者は基本的に同じ番号が1対1に対応する．従って使用可能な全ての割込み番号に対して
+割込みサービスルーチン(ISR)を登録可能である．
+割込み番号，割込みハンドラ番号は <プロセッサ名>.h ファイルで定義している．
+(例えば rl78g13.h など)
+
+(4-2-2) 割込み優先度の段階数（TMIN_INTPRIの値），その設定方法
+
+カーネル管理外の割込みに対する，DEF_INH,CFG_INTはサポートする．
+そのため，RL78依存部で CFG_INT のパラメータとして指定可能な割込み優先度の値は，
+RL78 が持つ割込み優先度レベルの値の範囲に対応して -1(=TMAX_INTPRI) から -4 までの
+値を設定可能である(※2)(※3)．ただし，後述するように，TMIN_INTPRI で定義される値に応じて，
+カーネル管理及びカーネル管理外の割込みハンドラに指定可能な値の範囲が変化する．
+
+CFG_INT で設定された割込み要求ラインにカーネル管理の割込みハンドラを
+登録する場合は，TMAX_INTPRI 以下，TMIN_INTPRI 以上の値を指定しなければならない．
+他方，カーネル管理外の割込みハンドラを登録する割込み要求ラインを設定する場合は，
+TMIN_INTPRI より小さく，-4 以上の値を指定しなければならない．
+
+(※2) カーネルの割込み処理モデルの上では割込み優先度を -1 から始まる負数で
+ 　  表現することになっているため，負号がついている．
+
+(※3) TMIN_INTPRI を -4 にした場合，CFG_INT で優先度 -4 に設定した割込み要因は，
+CPUロック状態にしない限り何重にも多重割込みが可能となるため，注意が必要である．
+
+(4-2-3) カーネル管理外の割込み
+
+RL78依存部では，カーネル管理外の割込みをサポートしている．
+
+TMIN_INTPRI より高い(数値としてはより小さい)割込み優先度に設定された
+割込み要求ラインの割込みは，カーネル管理外の割込みとして用いることが
+可能である．カーネル管理外の割込みはOS実行中も禁止になることはなく
+（厳密には割込みの出口でごく短い区間禁止される），割込み発生時は，
+カーネルのコードを経由せずに呼び出される．
+
+TMIN_INTPRI はカーネル管理の割込みに設定することのできる割込み優先度の最高値
+(値としては最小値)を定義したマクロで，arch/m16c_ncxx/prc_kernel.h で
+定義されている．既定では，-3となっている．この値はターゲット依存部で上書きが可能である．
+
+(4-2-4) カーネル管理外の割込みの設定方法
+
+CFG_INT, DEF_INH を用いてカーネル管理外の割込みハンドラを登録する場合の制約は，
+(1) DEF_INH で登録する割込みハンドラの属性として TA_NONKERNEL を指定すること，
+及び，(2) ハンドラ登録先の割込み要求ラインがもつ割込み優先度は，
+CFG_INT により TMIN_INTPRI より高く (値としては小さい値)に設定すること，
+である．
+
+(4-2-5) カーネル管理外の割込みハンドラの記述方法
+
+カーネル管理外の割込みハンドラは，以下のように引数，戻り値が共に void の関数
+として実装すること．
 
 void
 interrupt_handler (void)
 {
-	/* nhÌàe */
+	/* ハンドラの内容 */
 }
 
-(4-2-6) CFG_INT Å^[QbgÆ©ÉgpÅ«éÝ®«
-
-INTÝÉÖµÄÌÝCÝvCÌgK[hÌÝèðT|[g·éD
-ÝèÅ«éÌÍCÈºÌ¢¸ê©Å éD
-	E|WeBuGbW(gKÝ)FTA_POSEDGE
-	ElKeBuGbW(gKÝ)FTA_NEGEDGE
-	E¼GbW(gKÝ)FTA_BOTHEDGE
-
-(4-2-7) dis_intÆena_intÌT|[gÌL³C»Ì§À
-
-RL78Ë¶ÅÍ dis_int yÑ ena_int ðT|[g·éD§ÀÍÁÉÈ¢D
-
-TOPPERSÝfÉ¨¯éÝvÖ~tOÍ
-RL78vZbTÌÝ}XNEtOEWX^ªÎ·éD
-
-(4-2-8) ½dÝÌT|[g
-
-½dÝðÂ·éD½¾µCJ[lÇOÌÝÌêCÝnhÌÅ
-PSWWX^ÌIErbgð¾¦IÉZbgµCÝÂÉµÈ¯êÎ½dÝª
-LøÆÈçÈ¢½ßCÓªKvÅ éD
-
-Ü½ TMIN_INTPRI==-4 ÌêCCFG_INT Å -4 ÉÝèµ½ÝÍC
-CPUbNðóÔÉ¨¢Ä¯¶Dæx -4 ÌÝªÀsÅà
-½dÉÝªó¯t¯çêéD±êÍRL78ÌvZbTÌdlÉæéàÌÅC
-PSWÌIErbgª1Å éÀèC(vZbTà\»É¨¯é)x0ÌÝ
-(ÝfÅÍDæx-4ÌÝ)ÍCPSWÌISPðgpµ½
-xÉæéÝÌ}XNðs¤±ÆªÅ«È¢D
-
-ÝDæx-4 ÌJ[lÇÌÝnhÍCPUbNðóÔÅ
-N®³êé½ßCÓªKvÅ éD
-
-(4-2-9) ÝT[rX[`àÝnhào^µÄ¢È¢Ýv
-
- éÝvCÅÝvðó¯t¯½ªC»ÌCÉÝT[rX[`yÑ
-ÝnhÌÇ¿çào^µÄ¢È¢êC_unused_interrupt (prc_support.asm) Ö
-Wv·éæ¤ÉRtBM
-[^ªÝxN^ð¶¬·éD»µÄC
-»±©ç¦ÀÉ^[·éæ¤ÉÈÁÄ¢éD
-
-
-(4-3) CPUáOÉÖ·éKè
-
-(4-3-1) CPUáOnhÔ
-
-RL78 Ë¶ÅÍBRK½ßÉæé\tgEFAÝðCPUáOÆµÄµ¤D
-CPUáOnhÔÆµÄ0 ðèUé±ÆÉ·éD
-
-eCPUáOÉÎ·é CPUáOnhÔÍÈºÌÊèD
-±êçÍ <vZbT¼>.h Åè`³êÄ¢éD
-
-		áO        áOÔ
-#define EXCNO_BRK   	0   	/* \tgEFAxN^Ý½ß */
-
-
-(4-3-2) nhðo^µÄ¢È¢CPUáOª­¶µ½Æ«
-
-­¶µ½CPUáOÉÎµÄCCPUáOnhªo^³êÄ¢È¢êC
-_unused_interrupt (prc_support.asm) ÖWv·éæ¤ÉRtBM
-[^ª
-ÝxN^ð¶¬·éD»µÄC»±©ç¦ÀÉ^[·éD
-
-(4-3-3) \tgEFAÝÌµ¢
-
-\tgEFAÝÉÎ·énhÍ DEF_EXC ÅÄÑo·±ÆÍÅ«È¢D
-êûCDEF_INH ðp¢ÄÄoµÂ\Å éªC\tgEFAÝÍµ§ÉÍ
-CPUáOÉ®·éàÌÅ èCµ©àm}XJuÅ é½ßC
-VXeR[ðÄÑo·ÈÇÌÊíÌÝnhÆ¯lÌgpÍð¯½
-ûª³ïÅ éD
-
-
-(4-4) CPUbNEÝbN
-
-ÝbNóÔÍCPSWWX^ÌIErbgÉæèÀ»µÄ¢éD
-IErbgª0ÌÆ«ÝbNóÔC1ÌÆ«ÝbNðóÔÆ·éD
-
-J[lÌCPUbNóÔÍCTMIN_INTPRI Åè`·élÉæèÙÈéD
-
-(4-4-1) TMIN_INTPRI ª -4 Ìê
-
-CPUbNóÔÍCPSWWX^ÌIErbgÉæèÀ»·éD
-IErbgª0ÌÆ«CPUbNóÔC1ÌÆ«CPUbNðóÔÆ·éD
-±ÌêCCPUbNÆÝbNÍ¯¶Å éD
-
-(4-4-2) TMIN_INTPRI ª -1 Èã -3 ÈºÌê
-
-PSWÌCT[rXEvCIeBtO(ISP{1,0})Ìlð
-(-TMIN_INTPRI+3) ÉÝè·é±ÆÅÀ»·éD
-á¦Î -3 ÌêCPSW WX^Ì ISP{1,0} ª (0,0) ÉÝè³êéD
-
-RL78 ÅÍCISP{1,0} ÉÝèµ½luÈã(lÆµÄÍ¬)vÌDæÊðÂÝª
-uÂv³êéCÆ¢¤dlÉÈÁÄ¢éDµ½ªÁÄC}XNµ½¢xæè
-êi¢lðZbg·éKvª éD
-
-
-(4-5) «\]¿pVXeÌQÆÉÖ·éKè
-
-get_utmðT|[g·é\èÅ éªÜ¾ÀµÄ¢È¢D
-
-
-(4-6) VXeú»èÌàe
-
-X^[gAbv[`ÍCVXeZbg¼ãÉÄÑo³êCÀsðJn·éD
-»ÌÛÌvZbTóÔÍÈºðOñÆµÄ¢éD
-	ESP, MAA Í¢ú»
-	EWX^oNÍ RB0
-	EPSWWX^ÌIEtOª0 (ÝbNóÔÆ¯ÌóÔ)
-	EPSWWX^ÌISP=(1,1)
-	EVXeNbNÍ¢ú»(àIV[^®ì 1MHz)
-	E¢ú»(àµ\tgEFAZbgðÆ©ÉÀµÄ¢êÎÛ³êÄ¢é)
-
-Ü¸CX^[gAbv[`Ì start (start.asm) ªÈºÌðs¤D
-	ISP, MAA Ìú»
-	ú»
-	sta_ker (startup.c) R[
-»µÄCtarget_initialize (target_config.c) ÉÄNbNÝèªsíêéD
-
-»ÌãCdispatcher (task.c) ðÀs·éOÉ CPUbNóÔ©ÂÝbNðóÔÉ
-µÄ¨­Kvª é½ßCstart_dispatch (prc_support.asm)É¨¢Ä
-PSW WX^Ì ISP yÑ IErbgðCÈºÌlÉZbg·éD
-
-(a) TMIN_INTPRI ª -1 Èº©Â -3 ÈãÌê
-	IPL=-(TMIN_INTPRI)+3 ©ÂCIErbg=1
-
-(b) TMIN_INTPRI==-4Ìê
-	IPL=3 ©ÂCIErbg=0
-
-³çÉCdispatcher Í³À[vÅ^[µÈ¢½ßCWvOÉ
-start_dispatch ÅX^bNÌú»ðsÁÄ¢éD
-
-
-(4-7) VXeI¹è
-
-VXeI¹Í call_exit_kernel (prc_support.asm) ÅX^bNðú»µC
-exit_kernel (startup.c) ðÄÑo·D
-
-»ÌãCtarget_exit (target_config.c) Å^[QbgË¶ÌI¹ðs¤D
-KèÅÍ³À[v³¹éÌÝÅÁÉ½àµÄ¢È¢D
-àµC^[QbgÅLÌI¹ðs¤Kvª éêCtarget_exit àµ­Í
-»±©çÄÑo³êéÖÅðÀ{·éD
-
-
-(5) ^C}hCoÖAÌîñ
-
-Å¬ZbgJ[lÌg£@\ÆµÄüúnhyÑA[nhª
-pÓ³êÄ¢éD±êçðgp·é½ßÉÍ^CeBbNð·é
-^C}hCoð^[QbgÅpÓ·éKvª éD
-
-
-(6) §À
-
-EJ[lÌRtBM
-[V
-	RtBM
-[VÌpX3irhãÌ\¬`FbNjÍsÁÄ¢È¢B
-	»Ì½ßC^XNCÝnhCÝT[rX[`CCPUáOnhC
-	ú»[`CI¹[`CüúnhCA[nhª
-	s³Å éêð E_PAR G[ÆµÄo·é±ÆªÅ«È¢D
-	]ÁÄAvP[VJ­ÉeXg·é±ÆÅ±êçÌÙíðo·éKvª éD
-
-E¶R[hCüsR[hÉÂ¢Ä
-	RL78vZbTË¶Í WindowsãÅ®ì·éJ­Â« CubeSuite+ ðp¢Ä
-	J­·é±ÆðOñÆµÄ¢éDTOPPERSvWFNg©çöJ³êé\[XpbP[WÍ
-	¶R[hÍSJIS, üsR[hÍ CR+LF ÆµÄöJµÄ¢éD
-
-
-(7) T|[gvZbTÌÇÁ
-
-(7-1) vZbTÌè`
-
-vZbTÉÙÈéÆµÄÍÈºÌª éD
-	ELøÈÝÔCÝnhÔCCPUáOnhÔÌÍÍ
-	EÝÔCÝnhÔCCPUáOnhÔÌèÄ
-
-]ÁÄCT|[g·évZbTðÇÁ·éêÉÍCÜ¸vZbT¼ÉîÃ­
-Ìt@CðpÓ·éDá¦Î RL78/G13 ÌêC
+(4-2-6) CFG_INT でターゲット独自に使用できる割込み属性
+
+INT割込みに関してのみ，割込み要求ラインのトリガモードの設定をサポートする．
+設定できるのは，以下のいずれかである．
+	・ポジティブエッジ(トリガ割込み)：TA_POSEDGE
+	・ネガティブエッジ(トリガ割込み)：TA_NEGEDGE
+	・両エッジ(トリガ割込み)：TA_BOTHEDGE
+
+(4-2-7) dis_intとena_intのサポートの有無，その制限事項
+
+RL78依存部では dis_int 及び ena_int をサポートする．制限事項は特にない．
+
+TOPPERS割込み処理モデルにおける割込み要求禁止フラグは
+RL78プロセッサの割込みマスク・フラグ・レジスタが対応する．
+
+(4-2-8) 多重割込みのサポート
+
+多重割込みを許可する．ただし，カーネル管理外の割込みの場合，割込みハンドラの中で
+PSWレジスタのIEビットを明示的にセットし，割込み許可にしなければ多重割込みが
+有効とならないため，注意が必要である．
+
+また TMIN_INTPRI==-4 の場合，CFG_INT で -4 に設定した割込みは，
+CPUロック解除状態において同じ優先度 -4 の割込み処理が実行中でも
+多重に割込みが受け付けられる．これはRL78のプロセッサの仕様によるもので，
+PSWのIEビットが1である限り，(プロセッサ内部表現における)レベル0の割込み
+(割込み処理モデルでは優先度-4の割込み)は，PSWのISPを使用した
+レベルによる割込みのマスクを行うことができない．
+
+割込み優先度-4 のカーネル管理の割込みハンドラはCPUロック解除状態で
+起動されるため，注意が必要である．
+
+(4-2-9) 割込みサービスルーチンも割込みハンドラも登録していない割込み要求
+
+ある割込み要求ラインで割込み要求を受け付けたが，そのラインに割込みサービスルーチン及び
+割込みハンドラのどちらも登録していない場合，_unused_interrupt (prc_support.asm) へ
+ジャンプするようにコンフィギュレータが割込みベクタを生成する．そして，
+そこから即座にリターンするようになっている．
+
+
+(4-3) CPU例外処理に関する規定
+
+(4-3-1) CPU例外ハンドラ番号
+
+RL78 依存部ではBRK命令によるソフトウェア割込みをCPU例外として扱う．
+CPU例外ハンドラ番号として0 を割り振ることにする．
+
+各CPU例外に対する CPU例外ハンドラ番号は以下の通り．
+これらは <プロセッサ名>.h で定義されている．
+
+		例外        例外番号
+#define EXCNO_BRK   	0   	/* ソフトウェアベクタ割込み命令 */
+
+
+(4-3-2) ハンドラを登録していないCPU例外が発生したとき
+
+発生したCPU例外に対して，CPU例外ハンドラが登録されていない場合，
+_unused_interrupt (prc_support.asm) へジャンプするようにコンフィギュレータが
+割込みベクタを生成する．そして，そこから即座にリターンする．
+
+(4-3-3) ソフトウェア割込みの扱い
+
+ソフトウェア割込みに対するハンドラは DEF_EXC で呼び出すことはできない．
+一方，DEF_INH を用いて呼出し可能であるが，ソフトウェア割込みは厳密には
+CPU例外に属するものであり，しかもノンマスカブルであるため，
+システムコールを呼び出すなどの通常の割込みハンドラと同様の使用は避けた
+方が無難である．
+
+
+(4-4) CPUロック・割込みロック
+
+割込みロック状態は，PSWレジスタのIEビットにより実現している．
+IEビットが0のとき割込みロック状態，1のとき割込みロック解除状態とする．
+
+カーネルのCPUロック状態は，TMIN_INTPRI で定義する値により異なる．
+
+(4-4-1) TMIN_INTPRI が -4 の場合
+
+CPUロック状態は，PSWレジスタのIEビットにより実現する．
+IEビットが0のときCPUロック状態，1のときCPUロック解除状態とする．
+この場合，CPUロックと割込みロックは同じである．
+
+(4-4-2) TMIN_INTPRI が -1 以上 -3 以下の場合
+
+PSWのインサービス・プライオリティフラグ(ISP{1,0})の値を
+(-TMIN_INTPRI+3) に設定することで実現する．
+例えば -3 の場合，PSW レジスタの ISP{1,0} が (0,0) に設定される．
+
+RL78 では，ISP{1,0} に設定した値「以上(値としては小)」の優先順位を持つ割込みが
+「許可」される，という仕様になっている．したがって，マスクしたいレベルより
+一段高い値をセットする必要がある．
+
+
+(4-5) 性能評価用システム時刻の参照に関する規定
+
+get_utmをサポートする予定であるがまだ実装していない．
+
+
+(4-6) システム初期化手順の内容
+
+スタートアップルーチンは，システムリセット直後に呼び出され，実行を開始する．
+その際のプロセッサ状態は以下を前提としている．
+	・SP, MAA は未初期化
+	・レジスタバンクは RB0
+	・PSWレジスタのIEフラグが0 (割込みロック状態と同等の状態)
+	・PSWレジスタのISP=(1,1)
+	・システムクロックは未初期化(内部オシレータ動作 1MHz)
+	・メモリ未初期化(もしソフトウェアリセットを独自に実装していれば保持されている)
+
+まず，スタートアップルーチンの start (start.asm) が以下の処理を行う．
+	ISP, MAA の初期化
+	メモリ初期化
+	sta_ker (startup.c) コール
+そして，target_initialize (target_config.c) にてクロック設定が行われる．
+
+その後，dispatcher (task.c) を実行する前に CPUロック状態かつ割込みロック解除状態に
+しておく必要があるため，start_dispatch (prc_support.asm)において
+PSW レジスタの ISP 及び IEビットを，以下の値にセットする．
+
+(a) TMIN_INTPRI が -1 以下かつ -3 以上の場合
+	IPL=-(TMIN_INTPRI)+3 かつ，IEビット=1
+
+(b) TMIN_INTPRI==-4の場合
+	IPL=3 かつ，IEビット=0
+
+さらに，dispatcher は無限ループでリターンしないため，ジャンプ前に
+start_dispatch でスタックの初期化を行っている．
+
+
+(4-7) システム終了手順
+
+システム終了時は call_exit_kernel (prc_support.asm) でスタックを初期化し，
+exit_kernel (startup.c) を呼び出す．
+
+その後，target_exit (target_config.c) でターゲット依存の終了を行う．
+規定では無限ループさせるのみで特に何もしていない．
+もし，ターゲット固有の終了処理を行う必要がある場合，target_exit もしくは
+そこから呼び出される関数で処理を実施する．
+
+
+(5) タイマドライバ関連の情報
+
+最小セットカーネルの拡張機能として周期ハンドラ及びアラームハンドラが
+用意されている．これらを使用するためにはタイムティックを供給する
+タイマドライバをターゲットで用意する必要がある．
+
+
+(6) 制限事項
+
+・カーネルのコンフィギュレーション
+	コンフィギュレーションのパス3（ビルド後の構成チェック）は行っていない。
+	そのため，タスク，割込みハンドラ，割込みサービスルーチン，CPU例外ハンドラ，
+	初期化処理ルーチン，終了処理ルーチン，周期ハンドラ，アラームハンドラが
+	不正である場合を E_PAR エラーとして検出することができない．
+	従ってアプリケーション開発時にテストすることでこれらの異常を検出する必要がある．
+
+・文字コード，改行コードについて
+	RL78プロセッサ依存部は Windows上で動作する開発環境 CubeSuite+ を用いて
+	開発することを前提としている．TOPPERSプロジェクトから公開されるソースパッケージは
+	文字コードはSJIS, 改行コードは CR+LF として公開している．
+
+
+(7) サポートプロセッサの追加
+
+(7-1) プロセッサ毎の定義事項
+
+プロセッサ毎に異なる事項としては以下の事項がある．
+	・有効な割込み番号，割込みハンドラ番号，CPU例外ハンドラ番号の範囲
+	・割込み番号，割込みハンドラ番号，CPU例外ハンドラ番号の割り当て
+
+従って，サポートするプロセッサを追加する場合には，まずプロセッサ名に基づく
+次のファイルを用意する．例えば RL78/G13 の場合，
 	rl78g13.h
-		ÝÔCÝnhÔCCPUáOnhÔÌè`
+		割込み番号，割込みハンドラ番号，CPU例外ハンドラ番号の定義
 	rl78g13_config.h
-		ÝÔÌÅål(INTNO_MAX), LøÈÝÔ
+		割込み番号の最大値(INTNO_MAX), 有効な割込み番号
 	rl78g13.tf
-		ECFG_INT, DEF_INH, ATT_ISR, DEF_EXC ÈÇÅwèÂ\Èp[^lÌè`
-			ELøÈÝÔCÝnhÔCCPUáOnhÔÌÍÍÌè`
+		・CFG_INT, DEF_INH, ATT_ISR, DEF_EXC などで指定可能なパラメータ値の定義
+			・有効な割込み番号，割込みハンドラ番号，CPU例外ハンドラ番号の範囲の定義
 				$INTNO_VALID
 				$INHNO_VALID
 				$EXCNO_VALID
-			EÝÔCÝnhÔCCPUáOnhÔÌÍÍ(³ølàÜÞ)
+			・割込み番号，割込みハンドラ番号，CPU例外ハンドラ番号の範囲(無効値も含む)
 				$INTNO_RANGE 
 				$INHNO_RANGE 
 				$EXCNO_RANGE 
 
-»µÄ±êçªCrhßöÅgp³êéæ¤ÉC^[QbgË¶Ìt@C©ç
-±êçðCN[h·éD
-	rl78g13_config.h ÌêCtarget_config.h ©ç
-	rl78g13.h ÌêC<^[Qbg¼Ì>.h ©ç
-	rl78g13.tf ÌêC^[QbgË¶ÌCFGpev[gt@C(target.tf) ©ç
-		Etarget.tf ÅÍCprc.tf ðCN[h·éOÉCgp·é^[QbgvZbTÌ
-		@CFGpev[gt@C(±ÌêCrl78g13.tf)ðCN[h·é±ÆD
-
-Ü½C±êçÌt@C©çC»ê¼êÌt@CÉÎ·é¤ÊªÌ
-t@CðCN[h·é
-	rl78g13_config.h ÌêCprc_config.h ð
-	rl78g13.tf ÌêCprc.tf (M16Ct@~ÌSvZbTÉ¤ÊÌtf)ð
-
-ãLÈOÉCprc_ Åè`³êÄ¢éÌÉC±êÜÅÆÍÙÈéè`Ìdûð
-µÈ¯êÎÈçÈ¢àÌªoÄ­é©àµêÈ¢D»ÌêÍCè`Ìzuð
-ÏX·éKvª é½ßCT|[g[OXgÖñ¸¯êÎK¢Å éD
-ñ¸¢½êCÈ~Ìo[WAbvÉÄÎ·é\èÅ éD
-
-
-ÏXð
-2014/8/21  EVKì¬
-2014/9/05  ETMIN_INTPRI ª -4 ÌêÉàÎµ½½ßCÖAÓðÇLD
-2014/10/14 ETMIN_INTPRI ª -4 ÌêÌ½dÝÉÂ¢ÄÓðÇL(4-2-2,4-2-8)D
-           ETMIN_INTPRI ð -4 Éµ½êÉAZuÌIvVðÏX·é
-           @KvªÈ­ÈÁ½½ßCêLÚðíD(4-4-1)
-           EVXeú»èÅÌàeÉÂ¢Ä TMIN_INTPRI ª -4 ÌêðÇÁ(4-6)D
-2014/10/15 E½dÝÌÓÉÂ¢ÄêC³(4-2-8)D
-2015/6/2   ESSP-1.3.0Î
-Èã
+そしてこれらが，ビルド過程で使用されるように，ターゲット依存部のファイルから
+これらをインクルードする．
+	rl78g13_config.h の場合，target_config.h から
+	rl78g13.h の場合，<ターゲット名称>.h から
+	rl78g13.tf の場合，ターゲット依存部のCFG用テンプレートファイル(target.tf) から
+		・target.tf では，prc.tf をインクルードする前に，使用するターゲットプロセッサの
+		　CFG用テンプレートファイル(この場合，rl78g13.tf)をインクルードすること．
+
+また，これらのファイルから，それぞれのファイルに対応する共通部分の
+ファイルをインクルードする
+	rl78g13_config.h の場合，prc_config.h を
+	rl78g13.tf の場合，prc.tf (M16Cファミリの全プロセッサに共通のtf)を
+
+上記以外に，prc_ で定義されている事項の中に，これまでとは異なる定義の仕方を
+しなければならないものが出てくるかもしれない．その場合は，定義の配置を
+変更する必要があるため，サポートメーリングリストへ報告頂ければ幸いである．
+報告頂いた場合，以降のバージョンアップにて対応する予定である．
+
+
+○変更履歴
+2014/8/21  ・新規作成
+2014/9/05  ・TMIN_INTPRI が -4 の場合にも対応したため，関連箇所を追記．
+2014/10/14 ・TMIN_INTPRI が -4 の場合の多重割込みについて注意事項を追記(4-2-2,4-2-8)．
+           ・TMIN_INTPRI を -4 にした場合にアセンブラのオプションを変更する
+           　必要がなくなったため，一部記載を削除．(4-4-1)
+           ・システム初期化手順での処理内容について TMIN_INTPRI が -4 の場合を追加(4-6)．
+2014/10/15 ・多重割込みの注意事項について一部修正(4-2-8)．
+2015/6/2   ・SSP-1.3.0対応
+以上
Index: /ssp_qb_r5f100le_cs/trunk/arch/rl78_ca78k0r/rl78g13.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/arch/rl78_ca78k0r/rl78g13.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/arch/rl78_ca78k0r/rl78g13.h	(revision 95)
@@ -7,39 +7,35 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  * 
- *  ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»EüÏE
- *  ÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 
- *      \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[X
- *      R[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Égp
- *      Å«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gipÒ}
- *      j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºLÌ³Û
- *      ØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Égp
- *      Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌì
- *         \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ
- *        ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹Q
- *      ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDÜ½C
- *      {\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©ÈéRÉîÃ
- *      ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
+ *  上記著作権者は，以下の (1)〜(4) の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改変・
+ *  再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作権
+ *      表示，この利用条件および下記の無保証規定が，そのままの形でソース
+ *      コード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使用
+ *      できる形で再配布する場合には，再配布に伴うドキュメント（利用者マ
+ *      ニュアルなど）に，上記の著作権表示，この利用条件および下記の無保
+ *      証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使用
+ *      できない形で再配布する場合には，次のいずれかの条件を満たすこと．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著作
+ *        権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに報
+ *        告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害
+ *      からも，上記著作権者およびTOPPERSプロジェクトを免責すること．また，
+ *      本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ
+ *      く請求からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ
- *  ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉÎ·
- *  éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEFAÌp
- *  Éæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»ÌÓCð
- *  íÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者およ
+ *  びTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的に対す
+ *  る適合性も含めて，いかなる保証も行わない．また，本ソフトウェアの利用
+ *  により直接的または間接的に生じたいかなる損害に関しても，その責任を負
+ *  わない．
  * 
  */
 
 /*
- *  RL78/G13ÉË¶·éè`
+ *  RL78/G13に依存する定義
  */
 
@@ -49,236 +45,236 @@
 
 /*
- *  CPUáOnhÔÌè`
- */
-#define EXCNO_BRK	0	/* \tgEFAxN^Ý½ß */
-
-/*
- *  ÝÔÌè`(ftHgvCIeBÌlðÝÔÆ·é)
- */
-#define	INTNO_INTWDTI   	0	/* EHb`hbOE^C} */
-#define INTNO_INTLV1    	1	/* d³o */
-#define INTNO_INTP0     	2	/* [qüÍGbWo */
-#define INTNO_INTP1     	3	/* [qüÍGbWo */
-#define INTNO_INTP2     	4	/* [qüÍGbWo */
-#define INTNO_INTP3     	5	/* [qüÍGbWo */
-#define INTNO_INTP4     	6	/* [qüÍGbWo */
-#define INTNO_INTP5     	7	/* [qüÍGbWo */
-
-#define INTNO_INTST2    	8	/* UART2 MÌ]®¹Cobt@ó«Ý */
-#define INTNO_INTCSI20  	8	/* CSI20 Ì]®¹Cobt@ó«Ý */
-#define INTNO_IIC20     	8	/* IIC20 Ì]®¹ */
-
-#define INTNO_INTSR2    	9	/* UART2 óMÌ]®¹ */
-#define INTNO_INTSCI21  	9	/* CSI21 Ì]®¹ */
-#define INTNO_INTIIC21  	9	/* IIC21 Ì]®¹ */
-
-#define INTNO_SRE2      	10	/* UART2 óMÌÊMG[­¶ */
-#define INTNO_INTTM11H  	10	/* ^C}E`l11ÌJEg®¹Ü½ÍLv`®¹(8rbg^C}®ì) */
-
-#define INTNO_INTDMA0   	11	/* DMA0 Ì]®¹ */
-#define INTNO_INTDMA1   	12	/* DMA1 Ì]®¹ */
-
-#define INTNO_INTST0    	13	/* UART0 MÌ]®¹Cobt@ó«Ý */
-#define INTNO_INTCSI00  	13	/* CSI00 Ì]®¹, obt@ó«Ý */
-#define INTNO_INTIIC00  	13	/* IIC00 Ì]®¹ */
-
-#define INTNO_INTSR0    	14	/* UART0 óMÌ]®¹Cobt@ó«Ý */
-#define INTNO_INTCSI01  	14	/* CSI01 Ì]®¹, obt@ó«Ý */
-#define INTNO_INTIIC01  	14	/* IIC01 Ì]®¹ */
-
-#define INTNO_SRE0      	15	/* UART0 óMÌÊMG[­¶ */
-#define INTNO_INTTM01H  	15	/* ^C}E`l01ÌJEg®¹Ü½ÍLv`®¹(8rbg^C}®ì) */
-
-#define INTNO_INTST1    	16	/* UART1 MÌ]®¹Cobt@ó«Ý */
-#define INTNO_INTCSI10  	16	/* CSI10 Ì]®¹, obt@ó«Ý */
-#define INTNO_INTIIC10  	16	/* IIC10 Ì]®¹ */
-
-#define INTNO_INTSR1    	17	/* UART1 óMÌ]®¹Cobt@ó«Ý */
-#define INTNO_INTCSI11  	17	/* CSI11 Ì]®¹, obt@ó«Ý */
-#define INTNO_INTIIC11  	17	/* IIC11 Ì]®¹ */
-
-#define INTNO_SRE1      	18	/* UART1 óMÌÊMG[­¶ */
-#define INTNO_INTTM03H  	18	/* ^C}E`l03ÌJEg®¹Ü½ÍLv`®¹(8rbg^C}®ì) */
-
-#define INTNO_INTIICA0  	19	/* IICA0 ÊM®¹ */
-#define INTNO_INTTM00   	20	/* ^C}E`l00ÌJEg®¹Ü½ÍLv`®¹ */
-#define INTNO_INTTM01   	21	/* ^C}E`l01ÌJEg®¹Ü½ÍLv`®¹(16rbg/ºÊ8rbg^C}®ì) */
-#define INTNO_INTTM02   	22	/* ^C}E`l02ÌJEg®¹Ü½ÍLv`®¹ */
-#define INTNO_INTTM03   	23	/* ^C}E`l03ÌJEg®¹Ü½ÍLv`®¹(16rbg/ºÊ8rbg^C}®ì) */
-#define INTNO_INTAD     	24	/* A/DÏ·®¹ */
-#define INTNO_INTRTC     	25	/* A^CENbNÌèüúM/A[êvo */
-#define INTNO_INTIT     	26	/* 12rbgEC^[oE^C}ÌC^[oMo */
-#define INTNO_INTKR     	27	/* L[E^[EMo */
-
-#define INTNO_INTST3    	28	/* UART3 MÌ]®¹Cobt@ó«Ý */
-#define INTNO_INTCSI30  	28	/* CSI30 Ì]®¹, obt@ó«Ý */
-#define INTNO_INTIIC30  	28	/* IIC30 Ì]®¹ */
-
-#define INTNO_INTSR3    	29	/* UART3 óMÌ]®¹Cobt@ó«Ý */
-#define INTNO_INTCSI31  	29	/* CSI31 Ì]®¹, obt@ó«Ý */
-#define INTNO_INTIIC31  	29	/* IIC31 Ì]®¹ */
-
-#define INTNO_INTTM13   	30	/* ^C}E`l13ÌJEg®¹Ü½ÍLv`®¹(16rbg/ºÊ8rbg^C}®ì) */
-#define INTNO_INTTM04   	31	/* ^C}E`l04ÌJEg®¹Ü½ÍLv`®¹ */
-#define INTNO_INTTM05   	32	/* ^C}E`l05ÌJEg®¹Ü½ÍLv`®¹ */
-#define INTNO_INTTM06   	33	/* ^C}E`l06ÌJEg®¹Ü½ÍLv`®¹ */
-#define INTNO_INTTM07   	34	/* ^C}E`l07ÌJEg®¹Ü½ÍLv`®¹ */
-
-#define INTNO_INTP6     	35	/* [qüÍGbWo */
-#define INTNO_INTP7     	36	/* [qüÍGbWo */
-#define INTNO_INTP8     	37	/* [qüÍGbWo */
-#define INTNO_INTP9     	38	/* [qüÍGbWo */
-#define INTNO_INTP10     	39	/* [qüÍGbWo */
-#define INTNO_INTP11     	40	/* [qüÍGbWo */
-
-#define INTNO_INTTM10   	41	/* ^C}E`l10ÌJEg®¹Ü½ÍLv`®¹ */
-#define INTNO_INTTM11   	42	/* ^C}E`l11ÌJEg®¹Ü½ÍLv`®¹(16rbg/ºÊ8rbg^C}®ì) */
-#define INTNO_INTTM12   	43	/* ^C}E`l12ÌJEg®¹Ü½ÍLv`®¹ */
-
-#define INTNO_SRE3      	44	/* UART3 óMÌÊMG[­¶ */
-#define INTNO_INTTM13H  	44	/* ^C}E`l13ÌJEg®¹Ü½ÍLv`®¹(8rbg^C}®ì) */
-
-#define INTNO_INTMD     	45	/* Z½ßI¹/ÏaZÊÌI[o[t[­¶ */
-#define INTNO_INTIICA1  	46	/* IICA1 ÊM®¹ */
-#define INTNO_INTFL     	47	/* \ñ */
-#define INTNO_INTDMA2   	48	/* DMA2Ì]®¹ */
-#define INTNO_INTDMA3   	49	/* DMA3Ì]®¹ */
-#define INTNO_INTTM14   	50	/* ^C}E`l14ÌJEg®¹Ü½ÍLv`®¹ */
-#define INTNO_INTTM15   	51	/* ^C}E`l15ÌJEg®¹Ü½ÍLv`®¹ */
-#define INTNO_INTTM16   	52	/* ^C}E`l16ÌJEg®¹Ü½ÍLv`®¹ */
-#define INTNO_INTTM17   	53	/* ^C}E`l17ÌJEg®¹Ü½ÍLv`®¹ */
-
-
-/*
- *  ÝnhÔÌè`
- */
-#define	INHNO_INTWDTI   	INTNO_INTWDTI   	/* EHb`hbOE^C} */
-#define INHNO_INTLV1    	INTNO_INTLV1    	/* d³o */
-#define INHNO_INTP0     	INTNO_INTP0     	/* [qüÍGbWo */
-#define INHNO_INTP1     	INTNO_INTP1     	/* [qüÍGbWo */
-#define INHNO_INTP2     	INTNO_INTP2     	/* [qüÍGbWo */
-#define INHNO_INTP3     	INTNO_INTP3     	/* [qüÍGbWo */
-#define INHNO_INTP4     	INTNO_INTP4     	/* [qüÍGbWo */
-#define INHNO_INTP5     	INTNO_INTP5     	/* [qüÍGbWo */
-                        
-#define INHNO_INTST2    	INTNO_INTST2    	/* UART2 MÌ]®¹Cobt@ó«Ý */
-#define INHNO_INTCSI20  	INTNO_INTCSI20  	/* CSI20 Ì]®¹Cobt@ó«Ý */
-#define INHNO_IIC20     	INTNO_IIC20     	/* IIC20 Ì]®¹ */
-                        
-#define INHNO_INTSR2    	INTNO_INTSR2    	/* UART2 óMÌ]®¹ */
-#define INHNO_INTSCI21  	INTNO_INTSCI21  	/* CSI21 Ì]®¹ */
-#define INHNO_INTIIC21  	INTNO_INTIIC21  	/* IIC21 Ì]®¹ */
-                        
-#define INHNO_SRE2      	INTNO_SRE2      	/* UART2 óMÌÊMG[­¶ */
-#define INHNO_INTTM11H  	INTNO_INTTM11H  	/* ^C}E`l11ÌJEg®¹Ü½ÍLv`®¹(8rbg^C}®ì) */
-                        
-#define INHNO_INTDMA0   	INTNO_INTDMA0   	/* DMA0 Ì]®¹ */
-#define INHNO_INTDMA1   	INTNO_INTDMA1   	/* DMA1 Ì]®¹ */
-                        
-#define INHNO_INTST0    	INTNO_INTST0    	/* UART0 MÌ]®¹Cobt@ó«Ý */
-#define INHNO_INTCSI00  	INTNO_INTCSI00  	/* CSI00 Ì]®¹, obt@ó«Ý */
-#define INHNO_INTIIC00  	INTNO_INTIIC00  	/* IIC00 Ì]®¹ */
-                        
-#define INHNO_INTSR0    	INTNO_INTSR0    	/* UART0 óMÌ]®¹Cobt@ó«Ý */
-#define INHNO_INTCSI01  	INTNO_INTCSI01  	/* CSI01 Ì]®¹, obt@ó«Ý */
-#define INHNO_INTIIC01  	INTNO_INTIIC01  	/* IIC01 Ì]®¹ */
-                        
-#define INHNO_SRE0      	INTNO_SRE0      	/* UART0 óMÌÊMG[­¶ */
-#define INHNO_INTTM01H  	INTNO_INTTM01H  	/* ^C}E`l01ÌJEg®¹Ü½ÍLv`®¹(8rbg^C}®ì) */
-                        
-#define INHNO_INTST1    	INTNO_INTST1    	/* UART1 MÌ]®¹Cobt@ó«Ý */
-#define INHNO_INTCSI10  	INTNO_INTCSI10  	/* CSI10 Ì]®¹, obt@ó«Ý */
-#define INHNO_INTIIC10  	INTNO_INTIIC10  	/* IIC10 Ì]®¹ */
-                        
-#define INHNO_INTSR1    	INTNO_INTSR1    	/* UART1 óMÌ]®¹Cobt@ó«Ý */
-#define INHNO_INTCSI11  	INTNO_INTCSI11  	/* CSI11 Ì]®¹, obt@ó«Ý */
-#define INHNO_INTIIC11  	INTNO_INTIIC11  	/* IIC11 Ì]®¹ */
-                        
-#define INHNO_SRE1      	INTNO_SRE1      	/* UART1 óMÌÊMG[­¶ */
-#define INHNO_INTTM03H  	INTNO_INTTM03H  	/* ^C}E`l03ÌJEg®¹Ü½ÍLv`®¹(8rbg^C}®ì) */
-                        
-#define INHNO_INTIICA0  	INTNO_INTIICA0  	/* IICA0 ÊM®¹ */
-#define INHNO_INTTM00   	INTNO_INTTM00   	/* ^C}E`l00ÌJEg®¹Ü½ÍLv`®¹ */
-#define INHNO_INTTM01   	INTNO_INTTM01   	/* ^C}E`l01ÌJEg®¹Ü½ÍLv`®¹(16rbg/ºÊ8rbg^C}®ì) */
-#define INHNO_INTTM02   	INTNO_INTTM02   	/* ^C}E`l02ÌJEg®¹Ü½ÍLv`®¹ */
-#define INHNO_INTTM03   	INTNO_INTTM03   	/* ^C}E`l03ÌJEg®¹Ü½ÍLv`®¹(16rbg/ºÊ8rbg^C}®ì) */
-#define INHNO_INTAD     	INTNO_INTAD     	/* A/DÏ·®¹ */
-#define INHNO_INTRTC     	INTNO_INTRTC    	/* A^CENbNÌèüúM/A[êvo */
-#define INHNO_INTIT     	INTNO_INTIT     	/* 12rbgEC^[oE^C}ÌC^[oMo */
-#define INHNO_INTKR     	INTNO_INTKR     	/* L[E^[EMo */
-                        
-#define INHNO_INTST3    	INTNO_INTST3    	/* UART3 MÌ]®¹Cobt@ó«Ý */
-#define INHNO_INTCSI30  	INTNO_INTCSI30  	/* CSI30 Ì]®¹, obt@ó«Ý */
-#define INHNO_INTIIC30  	INTNO_INTIIC30  	/* IIC30 Ì]®¹ */
-                        
-#define INHNO_INTSR3    	INTNO_INTSR3    	/* UART3 óMÌ]®¹Cobt@ó«Ý */
-#define INHNO_INTCSI31  	INTNO_INTCSI31  	/* CSI31 Ì]®¹, obt@ó«Ý */
-#define INHNO_INTIIC31  	INTNO_INTIIC31  	/* IIC31 Ì]®¹ */
-                        
-#define INHNO_INTTM13   	INTNO_INTTM13   	/* ^C}E`l13ÌJEg®¹Ü½ÍLv`®¹(16rbg/ºÊ8rbg^C}®ì) */
-#define INHNO_INTTM04   	INTNO_INTTM04   	/* ^C}E`l04ÌJEg®¹Ü½ÍLv`®¹ */
-#define INHNO_INTTM05   	INTNO_INTTM05   	/* ^C}E`l05ÌJEg®¹Ü½ÍLv`®¹ */
-#define INHNO_INTTM06   	INTNO_INTTM06   	/* ^C}E`l06ÌJEg®¹Ü½ÍLv`®¹ */
-#define INHNO_INTTM07   	INTNO_INTTM07   	/* ^C}E`l07ÌJEg®¹Ü½ÍLv`®¹ */
-                        
-#define INHNO_INTP6     	INTNO_INTP6     	/* [qüÍGbWo */
-#define INHNO_INTP7     	INTNO_INTP7     	/* [qüÍGbWo */
-#define INHNO_INTP8     	INTNO_INTP8     	/* [qüÍGbWo */
-#define INHNO_INTP9     	INTNO_INTP9     	/* [qüÍGbWo */
-#define INHNO_INTP10     	INTNO_INTP10    	/* [qüÍGbWo */
-#define INHNO_INTP11     	INTNO_INTP11    	/* [qüÍGbWo */
-                        
-#define INHNO_INTTM10   	INTNO_INTTM10   	/* ^C}E`l10ÌJEg®¹Ü½ÍLv`®¹ */
-#define INHNO_INTTM11   	INTNO_INTTM11   	/* ^C}E`l11ÌJEg®¹Ü½ÍLv`®¹(16rbg/ºÊ8rbg^C}®ì) */
-#define INHNO_INTTM12   	INTNO_INTTM12   	/* ^C}E`l12ÌJEg®¹Ü½ÍLv`®¹ */
-                        
-#define INHNO_SRE3      	INTNO_SRE3      	/* UART3 óMÌÊMG[­¶ */
-#define INHNO_INTTM13H  	INTNO_INTTM13H  	/* ^C}E`l13ÌJEg®¹Ü½ÍLv`®¹(8rbg^C}®ì) */
-                        
-#define INHNO_INTMD     	INTNO_INTMD     	/* Z½ßI¹/ÏaZÊÌI[o[t[­¶ */
-#define INHNO_INTIICA1  	INTNO_INTIICA1  	/* IICA1 ÊM®¹ */
-#define INHNO_INTFL     	INTNO_INTFL     	/* \ñ */
-#define INHNO_INTDMA2   	INTNO_INTDMA2   	/* DMA2Ì]®¹ */
-#define INHNO_INTDMA3   	INTNO_INTDMA3   	/* DMA3Ì]®¹ */
-#define INHNO_INTTM14   	INTNO_INTTM14   	/* ^C}E`l14ÌJEg®¹Ü½ÍLv`®¹ */
-#define INHNO_INTTM15   	INTNO_INTTM15   	/* ^C}E`l15ÌJEg®¹Ü½ÍLv`®¹ */
-#define INHNO_INTTM16   	INTNO_INTTM16   	/* ^C}E`l16ÌJEg®¹Ü½ÍLv`®¹ */
-#define INHNO_INTTM17   	INTNO_INTTM17   	/* ^C}E`l17ÌJEg®¹Ü½ÍLv`®¹ */
-
-
-/*
- *  Ý§äWX^è`
- */
-#define TADR_IF0L	0xfffe0 	// ÝvtOEWX^
-#define TADR_IF2L	0xfffd0 	// ÝvtOEWX^
-#define TADR_MK0L	0xfffe4 	// Ý}XNEtOEWX^
-#define TADR_MK2L	0xfffd4 	// Ý}XNEtOEWX^
-#define TADR_PR00L	0xfffe8 	// DæÊwètOEWX^
-#define TADR_PR02L	0xfffd8 	// DæÊwètOEWX^
-#define TADR_EGP0	0xfff38 	// OÝ§¿ãªèGbWÂWX^
-#define TADR_EGP1	0xfff3a 	// OÝ§¿ãªèGbWÂWX^
-
-
-#define TADR_PER0	0xf00f0 	// üÓCl[uWX^0
-
-#define TBIT_PER0_TAU0EN	UINT8_C(0x01)	// ^C}EACEjbg0ÌüÍNbN§ä
-#define TBIT_PER0_SAU0EN	UINT8_C(0x04)	// VAEACEjbg0ÌüÍNbN§ä
-
-/*
- *  NbN­¶ñH
- */
-#define TADR_CMC	0xfffa0 	// NbN®ì[h§äWX^
-#define TADR_CKC	0xfffa4 	// NbN®ì[h§äWX^
-#define TADR_CSC	0xfffa1 	// NbN®ìXe[^X§äWX^
-#define TADR_OSTC	0xfffa2 	// ­UÀèÔJE^óÔWX^
-
-/*
- *  ^C}EACÖAWX^(VXeeBbNp)
- */
-#define TADR_TPS0	0xf01b6 	// ^C}ENbNIðWX^0
-#define TADR_TMR00	0xf0190 	// ^C}E[hEWX^00
-#define TADR_TDR00	0xfff18 	// ^C}Ef[^EWX^00
-#define TADR_TS0	0xf01b2 	// ^C}E`lâ~WX^0
-#define TADR_TT0	0xf01b4 	// ^C}E`lâ~WX^0
+ *  CPU例外ハンドラ番号の定義
+ */
+#define EXCNO_BRK	0	/* ソフトウェアベクタ割込み命令 */
+
+/*
+ *  割込み番号の定義(デフォルトプライオリティの値を割込み番号とする)
+ */
+#define	INTNO_INTWDTI   	0	/* ウォッチドッグ・タイマ */
+#define INTNO_INTLV1    	1	/* 電圧検出 */
+#define INTNO_INTP0     	2	/* 端子入力エッジ検出 */
+#define INTNO_INTP1     	3	/* 端子入力エッジ検出 */
+#define INTNO_INTP2     	4	/* 端子入力エッジ検出 */
+#define INTNO_INTP3     	5	/* 端子入力エッジ検出 */
+#define INTNO_INTP4     	6	/* 端子入力エッジ検出 */
+#define INTNO_INTP5     	7	/* 端子入力エッジ検出 */
+
+#define INTNO_INTST2    	8	/* UART2 送信の転送完了，バッファ空き割込み */
+#define INTNO_INTCSI20  	8	/* CSI20 の転送完了，バッファ空き割込み */
+#define INTNO_IIC20     	8	/* IIC20 の転送完了 */
+
+#define INTNO_INTSR2    	9	/* UART2 受信の転送完了 */
+#define INTNO_INTSCI21  	9	/* CSI21 の転送完了 */
+#define INTNO_INTIIC21  	9	/* IIC21 の転送完了 */
+
+#define INTNO_SRE2      	10	/* UART2 受信の通信エラー発生 */
+#define INTNO_INTTM11H  	10	/* タイマ・チャネル11のカウント完了またはキャプチャ完了(8ビットタイマ動作時) */
+
+#define INTNO_INTDMA0   	11	/* DMA0 の転送完了 */
+#define INTNO_INTDMA1   	12	/* DMA1 の転送完了 */
+
+#define INTNO_INTST0    	13	/* UART0 送信の転送完了，バッファ空き割込み */
+#define INTNO_INTCSI00  	13	/* CSI00 の転送完了, バッファ空き割込み */
+#define INTNO_INTIIC00  	13	/* IIC00 の転送完了 */
+
+#define INTNO_INTSR0    	14	/* UART0 受信の転送完了，バッファ空き割込み */
+#define INTNO_INTCSI01  	14	/* CSI01 の転送完了, バッファ空き割込み */
+#define INTNO_INTIIC01  	14	/* IIC01 の転送完了 */
+
+#define INTNO_SRE0      	15	/* UART0 受信の通信エラー発生 */
+#define INTNO_INTTM01H  	15	/* タイマ・チャネル01のカウント完了またはキャプチャ完了(8ビットタイマ動作時) */
+
+#define INTNO_INTST1    	16	/* UART1 送信の転送完了，バッファ空き割込み */
+#define INTNO_INTCSI10  	16	/* CSI10 の転送完了, バッファ空き割込み */
+#define INTNO_INTIIC10  	16	/* IIC10 の転送完了 */
+
+#define INTNO_INTSR1    	17	/* UART1 受信の転送完了，バッファ空き割込み */
+#define INTNO_INTCSI11  	17	/* CSI11 の転送完了, バッファ空き割込み */
+#define INTNO_INTIIC11  	17	/* IIC11 の転送完了 */
+
+#define INTNO_SRE1      	18	/* UART1 受信の通信エラー発生 */
+#define INTNO_INTTM03H  	18	/* タイマ・チャネル03のカウント完了またはキャプチャ完了(8ビットタイマ動作時) */
+
+#define INTNO_INTIICA0  	19	/* IICA0 通信完了 */
+#define INTNO_INTTM00   	20	/* タイマ・チャネル00のカウント完了またはキャプチャ完了 */
+#define INTNO_INTTM01   	21	/* タイマ・チャネル01のカウント完了またはキャプチャ完了(16ビット/下位8ビットタイマ動作時) */
+#define INTNO_INTTM02   	22	/* タイマ・チャネル02のカウント完了またはキャプチャ完了 */
+#define INTNO_INTTM03   	23	/* タイマ・チャネル03のカウント完了またはキャプチャ完了(16ビット/下位8ビットタイマ動作時) */
+#define INTNO_INTAD     	24	/* A/D変換完了 */
+#define INTNO_INTRTC     	25	/* リアルタイム・クロックの定周期信号/アラーム一致検出 */
+#define INTNO_INTIT     	26	/* 12ビット・インターバル・タイマのインターバル信号検出 */
+#define INTNO_INTKR     	27	/* キー・リターン・信号検出 */
+
+#define INTNO_INTST3    	28	/* UART3 送信の転送完了，バッファ空き割込み */
+#define INTNO_INTCSI30  	28	/* CSI30 の転送完了, バッファ空き割込み */
+#define INTNO_INTIIC30  	28	/* IIC30 の転送完了 */
+
+#define INTNO_INTSR3    	29	/* UART3 受信の転送完了，バッファ空き割込み */
+#define INTNO_INTCSI31  	29	/* CSI31 の転送完了, バッファ空き割込み */
+#define INTNO_INTIIC31  	29	/* IIC31 の転送完了 */
+
+#define INTNO_INTTM13   	30	/* タイマ・チャネル13のカウント完了またはキャプチャ完了(16ビット/下位8ビットタイマ動作時) */
+#define INTNO_INTTM04   	31	/* タイマ・チャネル04のカウント完了またはキャプチャ完了 */
+#define INTNO_INTTM05   	32	/* タイマ・チャネル05のカウント完了またはキャプチャ完了 */
+#define INTNO_INTTM06   	33	/* タイマ・チャネル06のカウント完了またはキャプチャ完了 */
+#define INTNO_INTTM07   	34	/* タイマ・チャネル07のカウント完了またはキャプチャ完了 */
+
+#define INTNO_INTP6     	35	/* 端子入力エッジ検出 */
+#define INTNO_INTP7     	36	/* 端子入力エッジ検出 */
+#define INTNO_INTP8     	37	/* 端子入力エッジ検出 */
+#define INTNO_INTP9     	38	/* 端子入力エッジ検出 */
+#define INTNO_INTP10     	39	/* 端子入力エッジ検出 */
+#define INTNO_INTP11     	40	/* 端子入力エッジ検出 */
+
+#define INTNO_INTTM10   	41	/* タイマ・チャネル10のカウント完了またはキャプチャ完了 */
+#define INTNO_INTTM11   	42	/* タイマ・チャネル11のカウント完了またはキャプチャ完了(16ビット/下位8ビットタイマ動作時) */
+#define INTNO_INTTM12   	43	/* タイマ・チャネル12のカウント完了またはキャプチャ完了 */
+
+#define INTNO_SRE3      	44	/* UART3 受信の通信エラー発生 */
+#define INTNO_INTTM13H  	44	/* タイマ・チャネル13のカウント完了またはキャプチャ完了(8ビットタイマ動作時) */
+
+#define INTNO_INTMD     	45	/* 除算命令終了/積和演算結果のオーバーフロー発生 */
+#define INTNO_INTIICA1  	46	/* IICA1 通信完了 */
+#define INTNO_INTFL     	47	/* 予約 */
+#define INTNO_INTDMA2   	48	/* DMA2の転送完了 */
+#define INTNO_INTDMA3   	49	/* DMA3の転送完了 */
+#define INTNO_INTTM14   	50	/* タイマ・チャネル14のカウント完了またはキャプチャ完了 */
+#define INTNO_INTTM15   	51	/* タイマ・チャネル15のカウント完了またはキャプチャ完了 */
+#define INTNO_INTTM16   	52	/* タイマ・チャネル16のカウント完了またはキャプチャ完了 */
+#define INTNO_INTTM17   	53	/* タイマ・チャネル17のカウント完了またはキャプチャ完了 */
+
+
+/*
+ *  割込みハンドラ番号の定義
+ */
+#define	INHNO_INTWDTI   	INTNO_INTWDTI   	/* ウォッチドッグ・タイマ */
+#define INHNO_INTLV1    	INTNO_INTLV1    	/* 電圧検出 */
+#define INHNO_INTP0     	INTNO_INTP0     	/* 端子入力エッジ検出 */
+#define INHNO_INTP1     	INTNO_INTP1     	/* 端子入力エッジ検出 */
+#define INHNO_INTP2     	INTNO_INTP2     	/* 端子入力エッジ検出 */
+#define INHNO_INTP3     	INTNO_INTP3     	/* 端子入力エッジ検出 */
+#define INHNO_INTP4     	INTNO_INTP4     	/* 端子入力エッジ検出 */
+#define INHNO_INTP5     	INTNO_INTP5     	/* 端子入力エッジ検出 */
+                        
+#define INHNO_INTST2    	INTNO_INTST2    	/* UART2 送信の転送完了，バッファ空き割込み */
+#define INHNO_INTCSI20  	INTNO_INTCSI20  	/* CSI20 の転送完了，バッファ空き割込み */
+#define INHNO_IIC20     	INTNO_IIC20     	/* IIC20 の転送完了 */
+                        
+#define INHNO_INTSR2    	INTNO_INTSR2    	/* UART2 受信の転送完了 */
+#define INHNO_INTSCI21  	INTNO_INTSCI21  	/* CSI21 の転送完了 */
+#define INHNO_INTIIC21  	INTNO_INTIIC21  	/* IIC21 の転送完了 */
+                        
+#define INHNO_SRE2      	INTNO_SRE2      	/* UART2 受信の通信エラー発生 */
+#define INHNO_INTTM11H  	INTNO_INTTM11H  	/* タイマ・チャネル11のカウント完了またはキャプチャ完了(8ビットタイマ動作時) */
+                        
+#define INHNO_INTDMA0   	INTNO_INTDMA0   	/* DMA0 の転送完了 */
+#define INHNO_INTDMA1   	INTNO_INTDMA1   	/* DMA1 の転送完了 */
+                        
+#define INHNO_INTST0    	INTNO_INTST0    	/* UART0 送信の転送完了，バッファ空き割込み */
+#define INHNO_INTCSI00  	INTNO_INTCSI00  	/* CSI00 の転送完了, バッファ空き割込み */
+#define INHNO_INTIIC00  	INTNO_INTIIC00  	/* IIC00 の転送完了 */
+                        
+#define INHNO_INTSR0    	INTNO_INTSR0    	/* UART0 受信の転送完了，バッファ空き割込み */
+#define INHNO_INTCSI01  	INTNO_INTCSI01  	/* CSI01 の転送完了, バッファ空き割込み */
+#define INHNO_INTIIC01  	INTNO_INTIIC01  	/* IIC01 の転送完了 */
+                        
+#define INHNO_SRE0      	INTNO_SRE0      	/* UART0 受信の通信エラー発生 */
+#define INHNO_INTTM01H  	INTNO_INTTM01H  	/* タイマ・チャネル01のカウント完了またはキャプチャ完了(8ビットタイマ動作時) */
+                        
+#define INHNO_INTST1    	INTNO_INTST1    	/* UART1 送信の転送完了，バッファ空き割込み */
+#define INHNO_INTCSI10  	INTNO_INTCSI10  	/* CSI10 の転送完了, バッファ空き割込み */
+#define INHNO_INTIIC10  	INTNO_INTIIC10  	/* IIC10 の転送完了 */
+                        
+#define INHNO_INTSR1    	INTNO_INTSR1    	/* UART1 受信の転送完了，バッファ空き割込み */
+#define INHNO_INTCSI11  	INTNO_INTCSI11  	/* CSI11 の転送完了, バッファ空き割込み */
+#define INHNO_INTIIC11  	INTNO_INTIIC11  	/* IIC11 の転送完了 */
+                        
+#define INHNO_SRE1      	INTNO_SRE1      	/* UART1 受信の通信エラー発生 */
+#define INHNO_INTTM03H  	INTNO_INTTM03H  	/* タイマ・チャネル03のカウント完了またはキャプチャ完了(8ビットタイマ動作時) */
+                        
+#define INHNO_INTIICA0  	INTNO_INTIICA0  	/* IICA0 通信完了 */
+#define INHNO_INTTM00   	INTNO_INTTM00   	/* タイマ・チャネル00のカウント完了またはキャプチャ完了 */
+#define INHNO_INTTM01   	INTNO_INTTM01   	/* タイマ・チャネル01のカウント完了またはキャプチャ完了(16ビット/下位8ビットタイマ動作時) */
+#define INHNO_INTTM02   	INTNO_INTTM02   	/* タイマ・チャネル02のカウント完了またはキャプチャ完了 */
+#define INHNO_INTTM03   	INTNO_INTTM03   	/* タイマ・チャネル03のカウント完了またはキャプチャ完了(16ビット/下位8ビットタイマ動作時) */
+#define INHNO_INTAD     	INTNO_INTAD     	/* A/D変換完了 */
+#define INHNO_INTRTC     	INTNO_INTRTC    	/* リアルタイム・クロックの定周期信号/アラーム一致検出 */
+#define INHNO_INTIT     	INTNO_INTIT     	/* 12ビット・インターバル・タイマのインターバル信号検出 */
+#define INHNO_INTKR     	INTNO_INTKR     	/* キー・リターン・信号検出 */
+                        
+#define INHNO_INTST3    	INTNO_INTST3    	/* UART3 送信の転送完了，バッファ空き割込み */
+#define INHNO_INTCSI30  	INTNO_INTCSI30  	/* CSI30 の転送完了, バッファ空き割込み */
+#define INHNO_INTIIC30  	INTNO_INTIIC30  	/* IIC30 の転送完了 */
+                        
+#define INHNO_INTSR3    	INTNO_INTSR3    	/* UART3 受信の転送完了，バッファ空き割込み */
+#define INHNO_INTCSI31  	INTNO_INTCSI31  	/* CSI31 の転送完了, バッファ空き割込み */
+#define INHNO_INTIIC31  	INTNO_INTIIC31  	/* IIC31 の転送完了 */
+                        
+#define INHNO_INTTM13   	INTNO_INTTM13   	/* タイマ・チャネル13のカウント完了またはキャプチャ完了(16ビット/下位8ビットタイマ動作時) */
+#define INHNO_INTTM04   	INTNO_INTTM04   	/* タイマ・チャネル04のカウント完了またはキャプチャ完了 */
+#define INHNO_INTTM05   	INTNO_INTTM05   	/* タイマ・チャネル05のカウント完了またはキャプチャ完了 */
+#define INHNO_INTTM06   	INTNO_INTTM06   	/* タイマ・チャネル06のカウント完了またはキャプチャ完了 */
+#define INHNO_INTTM07   	INTNO_INTTM07   	/* タイマ・チャネル07のカウント完了またはキャプチャ完了 */
+                        
+#define INHNO_INTP6     	INTNO_INTP6     	/* 端子入力エッジ検出 */
+#define INHNO_INTP7     	INTNO_INTP7     	/* 端子入力エッジ検出 */
+#define INHNO_INTP8     	INTNO_INTP8     	/* 端子入力エッジ検出 */
+#define INHNO_INTP9     	INTNO_INTP9     	/* 端子入力エッジ検出 */
+#define INHNO_INTP10     	INTNO_INTP10    	/* 端子入力エッジ検出 */
+#define INHNO_INTP11     	INTNO_INTP11    	/* 端子入力エッジ検出 */
+                        
+#define INHNO_INTTM10   	INTNO_INTTM10   	/* タイマ・チャネル10のカウント完了またはキャプチャ完了 */
+#define INHNO_INTTM11   	INTNO_INTTM11   	/* タイマ・チャネル11のカウント完了またはキャプチャ完了(16ビット/下位8ビットタイマ動作時) */
+#define INHNO_INTTM12   	INTNO_INTTM12   	/* タイマ・チャネル12のカウント完了またはキャプチャ完了 */
+                        
+#define INHNO_SRE3      	INTNO_SRE3      	/* UART3 受信の通信エラー発生 */
+#define INHNO_INTTM13H  	INTNO_INTTM13H  	/* タイマ・チャネル13のカウント完了またはキャプチャ完了(8ビットタイマ動作時) */
+                        
+#define INHNO_INTMD     	INTNO_INTMD     	/* 除算命令終了/積和演算結果のオーバーフロー発生 */
+#define INHNO_INTIICA1  	INTNO_INTIICA1  	/* IICA1 通信完了 */
+#define INHNO_INTFL     	INTNO_INTFL     	/* 予約 */
+#define INHNO_INTDMA2   	INTNO_INTDMA2   	/* DMA2の転送完了 */
+#define INHNO_INTDMA3   	INTNO_INTDMA3   	/* DMA3の転送完了 */
+#define INHNO_INTTM14   	INTNO_INTTM14   	/* タイマ・チャネル14のカウント完了またはキャプチャ完了 */
+#define INHNO_INTTM15   	INTNO_INTTM15   	/* タイマ・チャネル15のカウント完了またはキャプチャ完了 */
+#define INHNO_INTTM16   	INTNO_INTTM16   	/* タイマ・チャネル16のカウント完了またはキャプチャ完了 */
+#define INHNO_INTTM17   	INTNO_INTTM17   	/* タイマ・チャネル17のカウント完了またはキャプチャ完了 */
+
+
+/*
+ *  割込み制御レジスタ定義
+ */
+#define TADR_IF0L	0xfffe0 	// 割込み要求フラグ・レジスタ
+#define TADR_IF2L	0xfffd0 	// 割込み要求フラグ・レジスタ
+#define TADR_MK0L	0xfffe4 	// 割込みマスク・フラグ・レジスタ
+#define TADR_MK2L	0xfffd4 	// 割込みマスク・フラグ・レジスタ
+#define TADR_PR00L	0xfffe8 	// 優先順位指定フラグ・レジスタ
+#define TADR_PR02L	0xfffd8 	// 優先順位指定フラグ・レジスタ
+#define TADR_EGP0	0xfff38 	// 外部割込み立ち上がりエッジ許可レジスタ
+#define TADR_EGP1	0xfff3a 	// 外部割込み立ち上がりエッジ許可レジスタ
+
+
+#define TADR_PER0	0xf00f0 	// 周辺イネーブルレジスタ0
+
+#define TBIT_PER0_TAU0EN	UINT8_C(0x01)	// タイマ・アレイ・ユニット0の入力クロック制御
+#define TBIT_PER0_SAU0EN	UINT8_C(0x04)	// シリアル・アレイ・ユニット0の入力クロック制御
+
+/*
+ *  クロック発生回路
+ */
+#define TADR_CMC	0xfffa0 	// クロック動作モード制御レジスタ
+#define TADR_CKC	0xfffa4 	// クロック動作モード制御レジスタ
+#define TADR_CSC	0xfffa1 	// クロック動作ステータス制御レジスタ
+#define TADR_OSTC	0xfffa2 	// 発振安定時間カウンタ状態レジスタ
+
+/*
+ *  タイマ・アレイ関連レジスタ(システムティック用)
+ */
+#define TADR_TPS0	0xf01b6 	// タイマ・クロック選択レジスタ0
+#define TADR_TMR00	0xf0190 	// タイマ・モード・レジスタ00
+#define TADR_TDR00	0xfff18 	// タイマ・データ・レジスタ00
+#define TADR_TS0	0xf01b2 	// タイマ・チャネル停止レジスタ0
+#define TADR_TT0	0xf01b4 	// タイマ・チャネル停止レジスタ0
 
 #define TBIT_TTm_TTm0	UINT16_C(0x0001)
@@ -288,39 +284,39 @@
 
 /*
- *  VAEACÖAWX^
- */
-#define TADR_SPS0	0xf0126 	// VANbNIðWX^
-#define TADR_SMR00	0xf0110 	// VA[hWX^
-#define TADR_SMR01	0xf0112 	// VA[hWX^
-
-#define TADR_SCR00	0xf0118 	// VAÊM®ìÝèWX^
-#define TADR_SCR01	0xf011a 	// VAÊM®ìÝèWX^
-
-#define TADR_SDR00	0xfff10 	// VAf[^WX^0
-#define TADR_SDR01	0xfff12 	// VAf[^WX^0
-
-#define TADR_SOL0	0xf0134 	// VAoÍxWX^0
-#define TADR_SO0	0xf0128 	// VAoÍWX^0
-#define TADR_SOE0	0xf012a 	// VAoÍÂWX^0
-#define TADR_SSR00	0xf0100 	// VAXe[^XWX^00
-#define TADR_SSR01	0xf0102 	// VAXe[^XWX^01
-
-#define TADR_SS0	0xf0122 	// VA`lJnWX^0
-#define TADR_ST0	0xf0124 	// VA`lâ~WX^0
-
-#define TADR_SIR01	0xf010a 	// VAEtOENAEgKEWX^01 
-
-#define TADR_NFEN0	0xf0070 	// mCYEtB^ÂWX^0
-
-#define TBIT_SSRmn_BFF	UINT16_C(0x0020)	// `lnÌobt@WX^óÔ\¦tO
-#define TBIT_SSRmn_TSF	UINT16_C(0x0040)	// `lnÌÊMóÔ\¦tO
-#define TBIT_SSRmnL_BFF	UINT8_C(0x20)	// `lnÌobt@WX^óÔ\¦tO
-#define TBIT_SSRmnL_TSF	UINT8_C(0x40)	// `lnÌÊMóÔ\¦tO
-
-#define TBIT_SCRmn_TXEmn	UINT16_C(0x8000)	// `lnÌ®ì[h(M)
-#define TBIT_SCRmn_RXEmn	UINT16_C(0x4000)	// `lnÌ®ì[h(óM)
-
-/*
- * I/O|[g
+ *  シリアル・アレイ関連レジスタ
+ */
+#define TADR_SPS0	0xf0126 	// シリアルクロック選択レジスタ
+#define TADR_SMR00	0xf0110 	// シリアルモードレジスタ
+#define TADR_SMR01	0xf0112 	// シリアルモードレジスタ
+
+#define TADR_SCR00	0xf0118 	// シリアル通信動作設定レジスタ
+#define TADR_SCR01	0xf011a 	// シリアル通信動作設定レジスタ
+
+#define TADR_SDR00	0xfff10 	// シリアルデータレジスタ0
+#define TADR_SDR01	0xfff12 	// シリアルデータレジスタ0
+
+#define TADR_SOL0	0xf0134 	// シリアル出力レベルレジスタ0
+#define TADR_SO0	0xf0128 	// シリアル出力レジスタ0
+#define TADR_SOE0	0xf012a 	// シリアル出力許可レジスタ0
+#define TADR_SSR00	0xf0100 	// シリアルステータスレジスタ00
+#define TADR_SSR01	0xf0102 	// シリアルステータスレジスタ01
+
+#define TADR_SS0	0xf0122 	// シリアルチャネル開始レジスタ0
+#define TADR_ST0	0xf0124 	// シリアルチャネル停止レジスタ0
+
+#define TADR_SIR01	0xf010a 	// シリアル・フラグ・クリア・トリガ・レジスタ01 
+
+#define TADR_NFEN0	0xf0070 	// ノイズ・フィルタ許可レジスタ0
+
+#define TBIT_SSRmn_BFF	UINT16_C(0x0020)	// チャネルnのバッファレジスタ状態表示フラグ
+#define TBIT_SSRmn_TSF	UINT16_C(0x0040)	// チャネルnの通信状態表示フラグ
+#define TBIT_SSRmnL_BFF	UINT8_C(0x20)	// チャネルnのバッファレジスタ状態表示フラグ
+#define TBIT_SSRmnL_TSF	UINT8_C(0x40)	// チャネルnの通信状態表示フラグ
+
+#define TBIT_SCRmn_TXEmn	UINT16_C(0x8000)	// チャネルnの動作モード(送信)
+#define TBIT_SCRmn_RXEmn	UINT16_C(0x4000)	// チャネルnの動作モード(受信)
+
+/*
+ * I/Oポート
  */
 #define TADR_PU0 	0xf0030
@@ -338,5 +334,5 @@
 
 /*
- *  Äp|[gWX^
+ *  汎用ポートレジスタ
  */
 #define TBIT_BIT0	0x01
Index: /ssp_qb_r5f100le_cs/trunk/arch/rl78_ca78k0r/rl78g13.tf
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/arch/rl78_ca78k0r/rl78g13.tf	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/arch/rl78_ca78k0r/rl78g13.tf	(revision 95)
@@ -1,12 +1,12 @@
 $ 
-$		`bvË¶ev[giRL78/G13pj
+$		チップ依存テンプレート（RL78/G13用）
 $ 
 
 $ 
-$  ÝÔÆÝnhÔÌè`
+$  割込み番号と割込みハンドラ番号の定義
 $ 
-$  RL78ÅÍÝÔÆÝnhÔª1Î1ÅÎ·éD
-$  ftHgvCIeBðÂ}XJuÝªÎÛÆÈéD
-$  ftHgvCIeBÌÔðÝÔÆ·éD
+$  RL78では割込み番号と割込みハンドラ番号が1対1で対応する．
+$  デフォルトプライオリティを持つマスカブル割込みが対象となる．
+$  デフォルトプライオリティの番号を割込み番号とする．
 $ 
 
@@ -16,7 +16,7 @@
 
 $ 
-$  áOÔÌè`
+$  例外番号の定義
 $ 
-$  áOÆµÄ BRK ÝÌÝÆ·éD
+$  例外として BRK 割込みのみとする．
 $ 
 
@@ -24,6 +24,6 @@
 
 $ 
-$  INTÝÌÔ
-$    INTP0--INTP11 ([qüÍGbWoÝ)ªY
+$  INT割込みの番号
+$    INTP0--INTP11 (端子入力エッジ検出割込み)が該当
 $ 
 
@@ -31,5 +31,5 @@
 
 $ 
-$  ÝÔCÝnhÔCáOÔÌÍÍ
+$  割込み番号，割込みハンドラ番号，例外番号の範囲
 $ 
 
@@ -39,5 +39,5 @@
 
 $ 
-$  vZbTË¶Ìev[gt@C
+$  プロセッサ依存のテンプレートファイル
 $ 
 $INCLUDE"rl78_ca78k0r/prc.tf"$
Index: /ssp_qb_r5f100le_cs/trunk/arch/rl78_ca78k0r/rl78g13_config.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/arch/rl78_ca78k0r/rl78g13_config.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/arch/rl78_ca78k0r/rl78g13_config.h	(revision 95)
@@ -7,43 +7,38 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  * 
- *  ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»EüÏE
- *  ÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 
- *      \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[X
- *      R[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Égp
- *      Å«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gipÒ}
- *      j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºLÌ³Û
- *      ØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Égp
- *      Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌì
- *         \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ
- *        ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹Q
- *      ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDÜ½C
- *      {\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©ÈéRÉîÃ
- *      ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
+ *  上記著作権者は，以下の (1)〜(4) の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改変・
+ *  再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作権
+ *      表示，この利用条件および下記の無保証規定が，そのままの形でソース
+ *      コード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使用
+ *      できる形で再配布する場合には，再配布に伴うドキュメント（利用者マ
+ *      ニュアルなど）に，上記の著作権表示，この利用条件および下記の無保
+ *      証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使用
+ *      できない形で再配布する場合には，次のいずれかの条件を満たすこと．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著作
+ *        権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに報
+ *        告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害
+ *      からも，上記著作権者およびTOPPERSプロジェクトを免責すること．また，
+ *      本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ
+ *      く請求からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ
- *  ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉÎ·
- *  éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEFAÌp
- *  Éæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»ÌÓCð
- *  íÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者およ
+ *  びTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的に対す
+ *  る適合性も含めて，いかなる保証も行わない．また，本ソフトウェアの利用
+ *  により直接的または間接的に生じたいかなる損害に関しても，その責任を負
+ *  わない．
  * 
  */
 
 /*
- *		vZbTË¶W
-[iRL78/G13pj
+ *		プロセッサ依存モジュール（RL78/G13用）
  *
- *  ±ÌCN[ht@CÍCtarget_config.h ÌÝ©çCN[h³êéD
- *  ¼Ìt@C©ç¼ÚCN[hµÄÍÈçÈ¢D
+ *  このインクルードファイルは，target_config.h のみからインクルードされる．
+ *  他のファイルから直接インクルードしてはならない．
  */
 
@@ -53,10 +48,10 @@
 
 /*
- *  ÝÔÌÅål
+ *  割込み番号の最大値
  */
 #define INTNO_MAX	UINT_C(53)
 
 /*
- *  wèÝÔªLøÈÝÔÌÍÍÉ é©Ç¤©Ì»è
+ *  指定割込み番号が有効な割込み番号の範囲にあるかどうかの判定
  */
 #define VALID_INTNO(intno) \
Index: /ssp_qb_r5f100le_cs/trunk/arch/rl78_ca78k0r/segment_e.asm
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/arch/rl78_ca78k0r/segment_e.asm	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/arch/rl78_ca78k0r/segment_e.asm	(revision 95)
@@ -1,5 +1,5 @@
 ;
-; ZOgè`
-;   ZOgöAhXðè`·é½ßCNðêÔÅãÉ·é
+; セグメント定義
+;   セグメント末尾アドレスを定義するため，リンク順序を一番最後にする
 ;
 
Index: /ssp_qb_r5f100le_cs/trunk/arch/rl78_ca78k0r/segment_s.asm
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/arch/rl78_ca78k0r/segment_s.asm	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/arch/rl78_ca78k0r/segment_s.asm	(revision 95)
@@ -1,9 +1,9 @@
 ;
-; ZOgè`
-;   ZOgæªAhXðè`·é½ßCNðêÔÅÉ·é
+; セグメント定義
+;   セグメント先頭アドレスを定義するため，リンク順序を一番最初にする
 ;
 
 ;
-; O[oV{
+; グローバルシンボル
 ;
 	extrn	_start
@@ -14,5 +14,5 @@
 
 ;
-; ZOgè`
+; セグメント定義
 ;
 VECTOR	CSEG
@@ -23,11 +23,10 @@
 ;OCDWORK 	CSEG
 
-; IvVoCgÝè
+; オプションバイト設定
 OPT	CSEG	OPT_BYTE
-	db	06eh	; WDT: C^[oÝðgpµÈ¢CJE^®ìÖ~
-	db	0ffh	; LVD: It
-	db	0efh	; HS[hCI`bvIV[^ 1MHz
-	db	085h	; I`bvfobOÂ, FØ¸sÉtbV
-ÁµÈ¢
+	db	06eh	; WDT: インターバル割込みを使用しない，カウンタ動作禁止
+	db	0ffh	; LVD: オフ
+	db	0efh	; HSモード，オンチップオシレータ 1MHz
+	db	085h	; オンチップデバッグ許可, 認証失敗時にフラッシュ消去しない
 
 ; ROM
Index: /ssp_qb_r5f100le_cs/trunk/arch/rl78_ca78k0r/start.asm
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/arch/rl78_ca78k0r/start.asm	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/arch/rl78_ca78k0r/start.asm	(revision 95)
@@ -6,78 +6,74 @@
 ;             Nagoya Municipal Industrial Research Institute, JAPAN
 ; 
-;  ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF
-;  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»EüÏE
-;  ÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
-;  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 
-;      \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[X
-;      R[hÉÜÜêÄ¢é±ÆD
-;  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Égp
-;      Å«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gipÒ}
-;      j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºLÌ³Û
-;      ØKèðfÚ·é±ÆD
-;  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Égp
-;      Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD
-;    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌì
-;         \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
-;    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ
-;        ·é±ÆD
-;  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹Q
-;      ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDÜ½C
-;      {\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©ÈéRÉîÃ
-;      ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
-; 
-;  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ
-;  ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉÎ·
-;  éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEFAÌp
-;  Éæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»ÌÓCð
-;  íÈ¢D
-; 
-; 
-
-;
-; X^[gAbv[`
-;    vZbTÍS2RAC~fBAfðÎÛÆ·é
-;
-
-;
-; O[oV{
-;
-	; ZOgæªAhX(segment_s.asm)
+;  上記著作権者は，以下の (1)〜(4) の条件を満たす場合に限り，本ソフトウェ
+;  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改変・
+;  再配布（以下，利用と呼ぶ）することを無償で許諾する．
+;  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作権
+;      表示，この利用条件および下記の無保証規定が，そのままの形でソース
+;      コード中に含まれていること．
+;  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使用
+;      できる形で再配布する場合には，再配布に伴うドキュメント（利用者マ
+;      ニュアルなど）に，上記の著作権表示，この利用条件および下記の無保
+;      証規定を掲載すること．
+;  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使用
+;      できない形で再配布する場合には，次のいずれかの条件を満たすこと．
+;    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著作
+;        権表示，この利用条件および下記の無保証規定を掲載すること．
+;    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに報
+;        告すること．
+;  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害
+;      からも，上記著作権者およびTOPPERSプロジェクトを免責すること．また，
+;      本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ
+;      く請求からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+; 
+;  本ソフトウェアは，無保証で提供されているものである．上記著作権者およ
+;  びTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的に対す
+;  る適合性も含めて，いかなる保証も行わない．また，本ソフトウェアの利用
+;  により直接的または間接的に生じたいかなる損害に関しても，その責任を負
+;  わない．
+; 
+; 
+
+;
+; スタートアップルーチン
+;    プロセッサはS2コア，ミディアムモデルを対象とする
+;
+
+;
+; グローバルシンボル
+;
+	; セグメント先頭アドレス(segment_s.asm)
 	extrn	_@R_INIT, _@R_INIS, _@RLINIT
 	extrn	_@INIT, _@DATA, _@INIS, _@DATS, _@INITL, _@DATAL
 
-	; ZOgöAhX(segment_e.asm)
+	; セグメント末尾アドレス(segment_e.asm)
 	extrn	_?R_INIT, _?R_INIS, _?RLINIT
 	extrn	_?INIT, _?DATA, _?INIS, _?DATS, _?INITL, _?DATAL
 
-	; X^bN|C^Ìúl(kernel_cfg.c)
+	; スタックポインタの初期値(kernel_cfg.c)
 	extrn	__kernel_istkpt
 	
-	; J[lJn(kernel/startup.c)
+	; カーネル開始処理(kernel/startup.c)
 	extrn	_sta_ker
 	
-	; saddrÌæÌæªAhXCTCYiJÅè`j
+	; saddr領域の先頭アドレス，サイズ（リンカで定義）
 	extrn	_@SADBEG, _@SADSIZ
 	
-	; Gg|Cg
+	; エントリポイント
 	public	_start
 
 
 ;
-; èè`
-;
-	; MAA(PMCÌrbg0): 0 Ü½Í 1
-	;   0ÌêC00000H--0FFFFH ð F0000H--FFFFFHÖ~[
-	;   1ÌêC10000H--1FFFFH ð F0000H--FFFFFHÖ~[
+; 定数定義
+;
+	; MAA(PMCのビット0): 0 または 1
+	;   0の場合，00000H--0FFFFH を F0000H--FFFFFHへミラー
+	;   1の場合，10000H--1FFFFH を F0000H--FFFFFHへミラー
 INIT_MAA	EQU	0
 
 ;
-; }Nè`
-;
-	; ZOgÔÌf[^Rs[(farÌROM©çnearÌRAMÖCsrcÌTCYª)
+; マクロ定義
+;
+	; セグメント間のデータコピー(farのROMからnearのRAMへ，srcのサイズ分)
 copy_seg	macro src, dst
 	local	_1, _2
@@ -97,5 +93,5 @@
 	endm
 
-	; ZOgÔÌf[^Rs[(farÌROM©çfarÌRAMÖCsrcÌTCYª)
+	; セグメント間のデータコピー(farのROMからfarのRAMへ，srcのサイズ分)
 copy_fseg	MACRO	src, dst
 	local	_1, _2
@@ -116,5 +112,5 @@
 	endm
 
-	; ZOgÌf[^NA(near RAM)
+	; セグメントのデータクリア(near RAM)
 clear_seg	MACRO	dst
 	local	_1, _2
@@ -131,5 +127,5 @@
 	endm
 
-	; ZOgÌf[^NA(far RAM)
+	; セグメントのデータクリア(far RAM)
 clear_fseg	MACRO	dst
 	local _1, _2
@@ -147,5 +143,5 @@
 
 ;
-; VXeJn
+; システム開始
 ;
 @@CODE	CSEG	BASE
@@ -153,11 +149,11 @@
 
 	;
-	; PSWÌÝè
-	;
-    di          	; ÝÖ~(ÝbNÌÝÖ~)
-	sel 	rb0 	; WX^oN(RB0)
-	
-	;
-	; ~[ÌæÌÝè
+	; PSWの設定
+	;
+    di          	; 割込み禁止(割込みロック相当の割込み禁止)
+	sel 	rb0 	; レジスタバンク(RB0)
+	
+	;
+	; ミラー領域の設定
 	;
 	mov 	a, #INIT_MAA
@@ -166,5 +162,5 @@
 
 	;
-	; X^bN|C^ÌÝè
+	; スタックポインタの設定
 	;
 	movw	de, #__kernel_istkpt
@@ -174,10 +170,10 @@
 
 	;
-	; _hardware_init_hook ÌÄÑoµ(àµ êÎ)
+	; _hardware_init_hook の呼び出し(もしあれば)
 	;
 	;call	!!_hardware_init_hook
 
 	;
-	; ú»
+	; メモリ初期化
 	;
 	copy_seg	R_INIS, INIS
@@ -189,5 +185,5 @@
 	clear_fseg	DATAL
 
-	;  saddrÌæÌú»
+	;  saddr領域の初期化
 	mov	b,#_@SADSIZ
 	clrw	ax
@@ -199,10 +195,10 @@
 
 	;
-	; _sofrware_init_hook ÌÄÑoµ(àµ êÎ)
+	; _sofrware_init_hook の呼び出し(もしあれば)
 	;
 	;call	!!_software_init_hook
 	
 	;
-	; sta_ker (kernel/startup.c) ÌÄÑoµ
+	; sta_ker (kernel/startup.c) の呼び出し
 	;
 	br	!!_sta_ker
Index: /ssp_qb_r5f100le_cs/trunk/cfg/ja.po
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/cfg/ja.po	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/cfg/ja.po	(revision 95)
@@ -5,323 +5,299 @@
 #  Copyright (C) 2007-2008 by TAKAGI Nobuhisa
 # 
-#  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
-#  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
-#  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
-#  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
-#      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
-#      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
-#  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
-#      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
-#      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
-#      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
-#  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
-#      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
-#      ã¨ï¼
-#    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
-#        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
-#    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
-#        å ±åãããã¨ï¼
-#  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
-#      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
-#      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
-#      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
-#      å
-è²¬ãããã¨ï¼
+#  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+#  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+#  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+#  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+#      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+#      スコード中に含まれていること．
+#  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+#      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+#      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+#      の無保証規定を掲載すること．
+#  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+#      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+#      と．
+#    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+#        作権表示，この利用条件および下記の無保証規定を掲載すること．
+#    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+#        報告すること．
+#  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+#      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+#      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+#      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+#      免責すること．
 # 
-#  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
-#  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
-#  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
-#  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
-#  ã®è²¬ä»»ãè² ããªãï¼
-
-# ãã®ãã¡ã¤ã«ã¯å¿
-ãUTF-8Nã§ä¿å­ãããã¨ã
+#  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+#  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+#  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+#  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+#  の責任を負わない．
+
+# このファイルは必ずUTF-8Nで保存すること。
 
 msgid "Generic options"
-msgstr "ä¸è¬ãªãã·ã§ã³"
+msgstr "一般オプション"
 
 msgid "display this information"
-msgstr "ãã®æ
-å ±ãè¡¨ç¤ºãã"
+msgstr "この情報を表示する"
 
 msgid "display cfg version number"
-msgstr "cfgã®ãã¼ã¸ã§ã³çªå·ãè¡¨ç¤ºãã"
+msgstr "cfgのバージョン番号を表示する"
 
 msgid "Configuration"
-msgstr "è¨­å®"
+msgstr "設定"
 
 msgid "kernel type (default: asp)"
-msgstr "ã«ã¼ãã«ç¨®å¥ (æ¢å®ã§ã¯asp)"
+msgstr "カーネル種別 (既定ではasp)"
 
 msgid "run for pass #`arg\'"
-msgstr "ãã¹ #`arg\'ãå®è¡ãã"
+msgstr "パス #`arg\'を実行する"
 
 msgid "include path"
-msgstr "ã¤ã³ã¯ã«ã¼ããã¹"
+msgstr "インクルードパス"
 
 msgid "template file"
-msgstr "ä¸æãã¡ã¤ã«"
+msgstr "一時ファイル"
 
 msgid "character set of input file (default: ascii)"
-msgstr "å
-¥åãã¡ã¤ã«ã®æå­ã³ã¼ã (æ¢å®ã§ã¯ascii)"
+msgstr "入力ファイルの文字コード (既定ではascii)"
 
 msgid "specify static API table"
-msgstr "éçAPIãã¼ãã«ãæå®ãã"
+msgstr "静的APIテーブルを指定する"
 
 msgid "specify cfg1 definition table"
-msgstr "cfg1å®ç¾©ãã¼ãã«ãæå®ãã"
+msgstr "cfg1定義テーブルを指定する"
 
 msgid "specify file name instead of `cfg1_out.srec\' (default: cfg1_out)"
-msgstr "`cfg1_out.srec\'ã«ä»£ãããã¡ã¤ã«åãæå®ãã (æ¢å®ã§ã¯cfg1_out)"
+msgstr "`cfg1_out.srec\'に代わるファイル名を指定する (既定ではcfg1_out)"
 
 msgid "ROM image (S-record)"
-msgstr "ROMã¤ã¡ã¼ã¸ (Sã¬ã³ã¼ã)"
+msgstr "ROMイメージ (Sレコード)"
 
 msgid "cfg directory"
-msgstr "cfgãã£ã¬ã¯ããª"
+msgstr "cfgディレクトリ"
 
 msgid "msgcat(*.po) directory"
-msgstr "msgcat(*.po)ãã£ã¬ã¯ããª"
+msgstr "msgcat(*.po)ディレクトリ"
 
 msgid "destination directory"
-msgstr "åºåå
-ãã£ã¬ã¯ããª"
+msgstr "出力先ディレクトリ"
 
 msgid "output file for id assignment"
-msgstr "IDå²ãä»ãã®ããã®åºåãã¡ã¤ã«"
+msgstr "ID割り付けのための出力ファイル"
 
 msgid "input file for id assignment"
-msgstr "IDå²ãä»ãã®ããã®å
-¥åãã¡ã¤ã«"
+msgstr "ID割り付けのための入力ファイル"
 
 msgid "alignment of pointer to function"
-msgstr "é¢æ°ã¸ã®ãã¤ã³ã¿ã®å¢çèª¿æ´"
+msgstr "関数へのポインタの境界調整"
 
 msgid "output ID numbers as external `const\' object"
-msgstr "IDçªå·ãå¤é¨`const\'ãªãã¸ã§ã¯ãã¨ãã¦åºåãã"
+msgstr "ID番号を外部`const\'オブジェクトとして出力する"
 
 msgid "output dependencies of source file (for `make\')"
-msgstr "ã½ã¼ã¹ãã¡ã¤ã«ã®ä¾å­é¢ä¿ãåºå (`make\'ç¨)"
+msgstr "ソースファイルの依存関係を出力 (`make\'用)"
 
 msgid "Hidden options"
-msgstr "é ããªãã·ã§ã³"
+msgstr "隠しオプション"
 
 msgid "input file"
-msgstr "å
-¥åãã¡ã¤ã«"
+msgstr "入力ファイル"
 
 msgid "Allowed options"
-msgstr "æå®å¯è½ãªãªãã·ã§ã³"
+msgstr "指定可能なオプション"
 
 msgid "illegal options"
-msgstr "ä¸æ­£ãªãªãã·ã§ã³"
+msgstr "不正なオプション"
 
 msgid "illegal cfg pass #%d"
-msgstr "ä¸æ­£ãªcfgãã¹#%d"
+msgstr "不正なcfgパス#%d"
 
 msgid "unknown error"
-msgstr "ä¸æãªã¨ã©ã¼"
+msgstr "不明なエラー"
 
 msgid "internal error"
-msgstr "å
-é¨ã¨ã©ã¼"
+msgstr "内部エラー"
 
 msgid "pass # is not specified"
-msgstr "ãã¹çªå·ãæå®ããã¦ããªã"
+msgstr "パス番号が指定されていない"
 
 msgid "no input files"
-msgstr "å
-¥åãã¡ã¤ã«ãç¡ã"
+msgstr "入力ファイルが無い"
 
 msgid "id file `%1%\' is invalid"
-msgstr "IDãã¡ã¤ã«`%1%\'ãä¸æ­£"
+msgstr "IDファイル`%1%\'が不正"
 
 msgid "`%1%\' is undefined"
-msgstr "`%1%\'ãå®ç¾©ããã¦ããªã"
+msgstr "`%1%\'が定義されていない"
 
 msgid "static API `%1%\' is unknown"
-msgstr "æªç¥ã®éçAPI `%1%\'"
+msgstr "未知の静的API `%1%\'"
 
 msgid "cannot open file `%1%\'"
-msgstr "ãã¡ã¤ã«`%1%\'ããªã¼ãã³ã§ããªã"
+msgstr "ファイル`%1%\'がオープンできない"
 
 msgid "check complete"
-msgstr "ãã§ãã¯å®äº"
+msgstr "チェック完了"
 
 msgid "too few arguments for `%1%\'"
-msgstr "`%1%\'ã«å¯¾ããå®å¼æ°ãå°ãªããã"
+msgstr "`%1%\'に対する実引数が少なすぎる"
 
 msgid "too many arguments for `%1%\'"
-msgstr "`%1%\'ã«å¯¾ããå®å¼æ°ãå¤ããã"
+msgstr "`%1%\'に対する実引数が多すぎる"
 
 msgid "warning"
-msgstr "è­¦å"
+msgstr "警告"
 
 msgid "error"
-msgstr "ã¨ã©ã¼"
+msgstr "エラー"
 
 msgid "too many errors"
-msgstr "ã¨ã©ã¼ãå¤ããã"
+msgstr "エラーが多すぎる"
 
 msgid "fatal error"
-msgstr "è´å½çã¨ã©ã¼"
+msgstr "致命的エラー"
 
 msgid "I/O error"
-msgstr "I/Oã¨ã©ã¼"
+msgstr "I/Oエラー"
 
 msgid "end of line"
-msgstr "è¡æ«"
+msgstr "行末"
 
 msgid "missing `%1%\' before %2%"
-msgstr "%2%ã®åã«`%1%\'ããªã"
+msgstr "%2%の前に`%1%\'がない"
 
 msgid "non-value is referred"
-msgstr "å¤ã§ã¯ãªãã®ã«åç
-§ãããã¨ãã"
+msgstr "値ではないのに参照しようとした"
 
 msgid "`%1%\' does not have a value"
-msgstr "`%1%\'ã¯å¤ãæããªã"
+msgstr "`%1%\'は値を持たない"
 
 msgid "shift with nagative value `%1%\'"
-msgstr "è² ã®å¤`%1%\'ã«ããã·ãã"
+msgstr "負の値`%1%\'によるシフト"
 
 msgid "shift with too large value `%1%\'"
-msgstr "å¤§ããããå¤`%1%\'ã«ããã·ãã"
+msgstr "大きすぎる値`%1%\'によるシフト"
 
 msgid "negative value `%1%\' is shift"
-msgstr "è² ã®å¤`%1%\'ãã·ããããã"
+msgstr "負の値`%1%\'がシフトされた"
 
 msgid "overflow at `%1%\'"
-msgstr "`%1%\'ã§ãªã¼ãã¼ã¼ãã­ã¼"
+msgstr "`%1%\'でオーバーーフロー"
 
 msgid "devide by zero"
-msgstr "0ã«ããé¤ç®"
+msgstr "0による除算"
 
 msgid "function `%1%\' is undefined"
-msgstr "é¢æ°`%1%\'ã¯å®ç¾©ããã¦ããªã"
+msgstr "関数`%1%\'は定義されていない"
 
 msgid "illegal arithmetic sequence"
-msgstr "ä¸æ­£ãªç­å·®æ°å"
+msgstr "不正な等差数列"
 
 msgid "syntax error"
-msgstr "æ§æã¨ã©ã¼"
+msgstr "構文エラー"
 
 msgid "illegal character `%1%\' is found"
-msgstr "ä¸æ­£ãªæå­`%1%\'ãç¾ãã"
+msgstr "不正な文字`%1%\'が現れた"
 
 msgid "`#%1%\' is not supported"
-msgstr "`#%1%\'ã¯ãµãã¼ããã¦ããªã"
+msgstr "`#%1%\'はサポートしていない"
 
 msgid "`%1%\'' is illegal object identifier"
-msgstr "`%1%\'ã¯ä¸æ­£ãªãªãã¸ã§ã¯ãè­å¥å­"
+msgstr "`%1%\'は不正なオブジェクト識別子"
 
 msgid "magic number is not found in `%1%\'"
-msgstr "`%1%\'ã®ä¸­ã«ãã¸ãã¯ãã³ãã¼ãè¦ã¤ãããªã"
+msgstr "`%1%\'の中にマジックナンバーが見つからない"
 
 msgid "`%1%\' is corrupted"
-msgstr "`%1%\'ãå£ãã¦ãã"
+msgstr "`%1%\'が壊れている"
 
 msgid "E_NOEXS: `%1%\' is undefined"
-msgstr "E_NOEXS: `%1%\'ã¯å®ç¾©ããã¦ããªã"
+msgstr "E_NOEXS: `%1%\'は定義されていない"
 
 msgid "probably, %1% argument of `%2%\' is illegal"
-msgstr "ããããã%2%ã®%1%å®å¼æ°ã¯ä¸æ­£"
+msgstr "おそらく、%2%の%1%実引数は不正"
 
 msgid "1st"
-msgstr "ç¬¬1"
+msgstr "第1"
 
 msgid "2nd"
-msgstr "ç¬¬2"
+msgstr "第2"
 
 msgid "3rd"
-msgstr "ç¬¬3"
+msgstr "第3"
 
 msgid "missing token `%1%\'"
-msgstr "å­å¥`%1%\'ããªã"
+msgstr "字句`%1%\'がない"
 
 msgid "illegal token `%1%\'"
-msgstr "ä¸æ­£ãªå­å¥`%1%\'"
+msgstr "不正な字句`%1%\'"
 
 msgid "`%1%\' is duplicated"
-msgstr "`%1%\'ãéè¤ãã¦ãã"
+msgstr "`%1%\'が重複している"
 
 msgid "`%1%\' of #%2% is null pointer"
-msgstr "#%2%ã®`%1%\'ãç©ºãã¤ã³ã¿"
+msgstr "#%2%の`%1%\'が空ポインタ"
 
 msgid "`%1%\' of #%2% is not aligned on `%3%\' bytes boundary"
-msgstr "#%2%ã®`%1%\'ã%3%ãã¤ãå¢çã«æ´åãã¦ããªã"
+msgstr "#%2%の`%1%\'が%3%バイト境界に整列していない"
 
 msgid "illegal %1% `%2%\' in %3%"
-msgstr "%3%ã«ããã%1% `%2%\'ãä¸æ­£"
+msgstr "%3%における%1% `%2%\'が不正"
 
 msgid "illegal %1% `%2%\' of `%3%\' in %4%"
-msgstr "%4%ã«ããã`%3%\'ã®%1% `%2%\'ãä¸æ­£"
+msgstr "%4%における`%3%\'の%1% `%2%\'が不正"
 
 msgid "too large %1% `%2%\' of `%3%\' in %4%"
-msgstr "%4%ã«ããã`%3%\'ã®%1% `%2%\'ãå¤§ãããã"
+msgstr "%4%における`%3%\'の%1% `%2%\'が大きすぎる"
 
 msgid "illegal %1% `%2%\' of %3% `%4%\' in %5%"
-msgstr "%5%ã«ããã%3% `%4%\'ã®%1% `%2%\'ãä¸æ­£"
+msgstr "%5%における%3% `%4%\'の%1% `%2%\'が不正"
 
 msgid "%1% `%2%\' in %3% is duplicated"
-msgstr "%3%ã«ããã%1% `%2%\'ãéè¤ãã¦ãã"
+msgstr "%3%における%1% `%2%\'が重複している"
 
 msgid "%1% `%2%\' in %3% is duplicated with %4% `%5%\'"
-msgstr "%3%ã«ããã%1% `%2%\'ã%4 `%5%\'ã¨éè¤ãã¦ãã"
+msgstr "%3%における%1% `%2%\'が%4 `%5%\'と重複している"
 
 msgid "%1% `%2%\' is not configured with %3%"
-msgstr "%1% `%2%\'ã%3ã«ãã£ã¦è¨­å®ããã¦ããªã"
+msgstr "%1% `%2%\'が%3によって設定されていない"
 
 msgid "%1% `%2%\' corresponding to %3% `%4%\' is not configured with %5%"
-msgstr "%3% `%4%\'ã«å¯¾å¿ãã%1% `%2%\'ã%5ã«ãã£ã¦è¨­å®ããã¦ããªã"
+msgstr "%3% `%4%\'に対応する%1% `%2%\'が%5によって設定されていない"
 
 msgid "%1% `%2%\' configured for %3% `%4%\' is higher than %5%"
-msgstr "%3% `%4%\'ã«è¨­å®ããã¦ãã%1% `%2%\'ã%5ãããé«ã"
+msgstr "%3% `%4%\'に設定されている%1% `%2%\'が%5よりも高い"
 
 msgid "%1% `%2%\' configured for %3% `%4%\' is lower than or equal to %5%"
-msgstr "%3% `%4%\'ã«è¨­å®ããã¦ãã%1% `%2%\'ã%5ãããåããä½ã"
+msgstr "%3% `%4%\'に設定されている%1% `%2%\'が%5よりも同じか低い"
 
 msgid "too many %1%"
-msgstr "%1%ãå¤ããã"
+msgstr "%1%が多すぎる"
 
 msgid "%1% is not recommended when %2% is set to %3% in %4%"
-msgstr "%3%ã«%2%ãè¨­å®ããã¦ããå ´åã«ã¯%1%ã¨ãããã¨ã¯æ¨å¥¨ãããªã"
+msgstr "%3%に%2%が設定されている場合には%1%とすることは推奨されない"
 
 msgid "`%1%\' id numbers do not continue"
-msgstr "`%1%\' IDçªå·ãé£ç¶ãã¦ããªã"
+msgstr "`%1%\' ID番号が連続していない"
 
 msgid "object identifier `%1%\' is not used"
-msgstr "ãªãã¸ã§ã¯ãè­å¥å­ `%1%\'ã¯ä½¿ããã¦ããªã"
+msgstr "オブジェクト識別子 `%1%\'は使われていない"
 
 msgid "%1% `%2%\' of `%3%\' in %4% is not aligned"
-msgstr "%4%ã«ããã`%3%\'ã®%1% `%2%\'ãã¢ã©ã¤ã³ãã¦ããªã"
+msgstr "%4%における`%3%\'の%1% `%2%\'がアラインしていない"
 
 msgid "%1% `%2%\' of `%3%\' in %4% is null"
-msgstr "%4%ã«ããã`%3%\'ã®%1% `%2%\'ãNULLã§ãã"
+msgstr "%4%における`%3%\'の%1% `%2%\'がNULLである"
 
 msgid "%1% `%2%\' in %3% is not aligned"
-msgstr "%3%ã«ããã%1% `%2%\'ãã¢ã©ã¤ã³ãã¦ããªã"
+msgstr "%3%における%1% `%2%\'がアラインしていない"
 
 msgid "%1% `%2%\' in %3% is null"
-msgstr "%3%ã«ããã%1% `%2%\'ãNULLã§ãã"
+msgstr "%3%における%1% `%2%\'がNULLである"
 
 msgid "no body of %1%"
-msgstr "%1%ã®æ¬ä½ããªã"
+msgstr "%1%の本体がない"
 
 msgid "E_OBJ: `%1%\' is duplicated"
-msgstr "E_OBJ: `%1%\'ãéè¤ãã¦ãã"
+msgstr "E_OBJ: `%1%\'が重複している"
Index: /ssp_qb_r5f100le_cs/trunk/configure
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/configure	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/configure	(revision 95)
@@ -9,36 +9,32 @@
 #              Graduate School of Information Science, Nagoya Univ., JAPAN
 # 
-#  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
-#  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
-#  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
-#  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
-#       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
-#      XR[hÉÜÜêÄ¢é±ÆD
-#  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
-#      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
-#      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
-#      Ì³ÛØKèðfÚ·é±ÆD
-#  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
-#      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
-#      ÆD
-#    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
-#        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
-#    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
-#        ñ·é±ÆD
-#  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
-#      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
-#      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
-#      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
-#      ÆÓ·é±ÆD
-# 
-#  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
-#  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
-#  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
-#  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
-#  ÌÓCðíÈ¢D
+#  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+#  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+#  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+#  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+#      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+#      スコード中に含まれていること．
+#  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+#      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+#      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+#      の無保証規定を掲載すること．
+#  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+#      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+#      と．
+#    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+#        作権表示，この利用条件および下記の無保証規定を掲載すること．
+#    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+#        報告すること．
+#  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+#      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+#      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+#      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+#      免責すること．
+# 
+#  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+#  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+#  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+#  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+#  の責任を負わない．
 # 
 #  @(#) $Id: configure 1733 2010-02-03 03:50:52Z ertl-hiro $
@@ -47,41 +43,40 @@
 use Getopt::Std;
 
-#  IvVÌè`
-#
-#  -T <target>			^[Qbg¼iK{j
-#  -A <applname>		AvP[VvO¼iftHgÍsample1j
-#  -a <appldir>			AvP[VÌfBNg¼
-#  -U <applobjs>		¼ÌAvP[VvOt@C
-#						i.ot@C¼ÅwèD¡wèÂj
-#  -L <kernel_lib>		J[lCuilibkernel.ajÌfBNg¼
-#						iÈªµ½êCJ[lCuàmake·éj
-#  -f					J[lðÖPÊÅRpC·é©Ç¤©Ìwè
-#  -D <srcdir>			J[lÌ\[XÌu©êÄ¢éfBNg
-#  -l <srclang>			vO~O¾êi»_ÅÍcÆc++ÌÝT|[gj
-#  -t <templatedir>		ev[gfBNgÌwèiftHgÍsamplej
-#  -m <makefile>		ev[gMakefile¼ÌwèiftHgÍMakefilej
-#  -d <dbgenv>			ÀsÂ«Ì¼Ì
-#  -r					g[XOL^ÌTvR[hðgp·é©Ç¤©
-#						Ìwè
-#  -p <perl>			perlÌpX¼i¾¦IÉwè·éêj
-#  -g <cfg>				RtBM
-[^icfgjÌpX¼
-
-#  gpá(1)
+#  オプションの定義
+#
+#  -T <target>			ターゲット名（必須）
+#  -A <applname>		アプリケーションプログラム名（デフォルトはsample1）
+#  -a <appldir>			アプリケーションのディレクトリ名
+#  -U <applobjs>		他のアプリケーションプログラムファイル
+#						（.oファイル名で指定．複数指定可）
+#  -L <kernel_lib>		カーネルライブラリ（libkernel.a）のディレクトリ名
+#						（省略した場合，カーネルライブラリもmakeする）
+#  -f					カーネルを関数単位でコンパイルするかどうかの指定
+#  -D <srcdir>			カーネル等のソースの置かれているディレクトリ
+#  -l <srclang>			プログラミング言語（現時点ではcとc++のみサポート）
+#  -t <templatedir>		テンプレートディレクトリの指定（デフォルトはsample）
+#  -m <makefile>		テンプレートMakefile名の指定（デフォルトはMakefile）
+#  -d <dbgenv>			実行環境の名称
+#  -r					トレースログ記録のサンプルコードを使用するかどうか
+#						の指定
+#  -p <perl>			perlのパス名（明示的に指定する場合）
+#  -g <cfg>				コンフィギュレータ（cfg）のパス名
+
+#  使用例(1)
 #
 #  % ../configure -T dve68k_gcc -D GDB_STUB -A perf1 -a ../test -U histogram.o
 #
-#  gpá(2)
+#  使用例(2)
 #
 #  % ../configure -T macosx_gcc -L .
-#	AvP[VvOÍ sample1 ÉÈéD
-
-#
-#  IvVÌ
+#	アプリケーションプログラムは sample1 になる．
+
+#
+#  オプションの処理
 #
 getopt("TAaULDltmdpg");
 
 #
-#  ÏÌú»
+#  変数の初期化
 #
 
@@ -98,5 +93,5 @@
 
 #
-#  IuWFNgt@C¼Ìg£qðÔ·
+#  オブジェクトファイル名の拡張子を返す
 #
 sub get_objext {
@@ -114,5 +109,5 @@
 
 #
-#  vOÌêðõ·é
+#  プログラムの場所を検索する
 #
 sub get_path {
@@ -129,5 +124,5 @@
 
 #
-#  t@CðÏ··é
+#  ファイルを変換する
 #
 sub convert {
@@ -163,5 +158,5 @@
 
 #
-#  Tvð©Â¯Ät@Cð¶¬·é
+#  サンプルを見つけてファイルを生成する
 #
 sub generate {
@@ -196,5 +191,5 @@
 
 #
-#  \[XfBNg¼ðæèo·
+#  ソースディレクトリ名を取り出す
 #
 $pwd = `pwd`; chop $pwd;
@@ -221,5 +216,5 @@
 
 #
-#  -TIvVÌmF
+#  -Tオプションの確認
 #
 unless ($opt_T) {
@@ -234,5 +229,5 @@
 
 #
-#  Ïe[uÌì¬
+#  変数テーブルの作成
 #
 %vartable = ();
@@ -254,5 +249,5 @@
 
 #
-#  ^[QbgfBNgÌ`FbN
+#  ターゲットディレクトリのチェック
 #
 
@@ -263,5 +258,5 @@
 
 #
-#  Makefile ÆAvP[Vt@CÌ¶¬
+#  Makefile とアプリケーションファイルの生成
 #
 
@@ -273,5 +268,5 @@
 
 #
-#  cfg ªÅ«Ä¢é©Ì`FbN
+#  cfg ができているかのチェック
 #
 
Index: /ssp_qb_r5f100le_cs/trunk/doc/configurator.txt
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/doc/configurator.txt	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/doc/configurator.txt	(revision 95)
@@ -1,16 +1,12 @@
 
-		TOPPERS/SSPJ[l
-		RtBM
-[^dl
-
-		Îo[W: Release 1.3.0
-		ÅIXV: 2014N 5 19ú
-
-±ÌhL
-gÍCTOPPERS/SSPJ[lÌRtBM
-[^ªWIÉ¶
-¬·×«t@CÌàeÉÂ¢Äðàµ½àÌÅ éD^[QbgË¶É¶¬
-·éàeÉÂ¢ÄÍC±ÌhL
-gÌÍÍOÅ éD
+		TOPPERS/SSPカーネル
+		コンフィギュレータ仕様
+
+		対応バージョン: Release 1.3.0
+		最終更新: 2014年 5月 19日
+
+このドキュメントは，TOPPERS/SSPカーネルのコンフィギュレータが標準的に生
+成すべきファイルの内容について解説したものである．ターゲット依存に生成
+する内容については，このドキュメントの範囲外である．
 
 ----------------------------------------------------------------------
@@ -24,113 +20,103 @@
              Nagoya Municipal Industrial Research Institute, JAPAN
 
- ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
-      \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
-     XR[hÉÜÜêÄ¢é±ÆD
- (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
-     pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
-     Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
-     Ì³ÛØKèðfÚ·é±ÆD
- (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
-     pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
-     ÆD
-   (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
-       ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
-   (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
-       ñ·é±ÆD
- (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
-     Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
-     Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
-     RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
-     ÆÓ·é±ÆD
+ 上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ 変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+     権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+     スコード中に含まれていること．
+ (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+     用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+     者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+     の無保証規定を掲載すること．
+ (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+     用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+     と．
+   (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+       作権表示，この利用条件および下記の無保証規定を掲載すること．
+   (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+       報告すること．
+ (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+     害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+     また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+     由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+     免責すること．
  
- {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- ÌÓCðíÈ¢D
+ 本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ の責任を負わない．
  
  $Id: configurator.txt 659 2015-05-19 09:45:26Z nmir-saito $
 ----------------------------------------------------------------------
 
-Ú
-
-E¶¬·ét@CÌíÞ
-EÃIAPIê
-EJ[l\¬Eú»wb_t@Cikernel_cfg.hj
-	(1) Åè¶¬ª
-	(2) IuWFNgÌè`
-	(3) IuWFNgÌIDÔÌè`
-EJ[l\¬Eú»t@Cikernel_cfg.cj
-	(1) Åè¶¬ª
-	(2) CN[hfBNeBui#includejÌ
-	(3) IuWFNgÌIDÔðÛ·éÏÌè`
-	(4) g[XO}NÌftHgè`
-	(5) eJ[lIuWFNgÉÖ·éè`
-		(5-1) ^XNÉÖ·éè`
-		(5-2) CxgtOÉÖ·éè`
-		(5-3) f[^L
-[ÉÖ·éè`
-		(5-4) üúnhÉÖ·éè`
-		(5-5) A[nhÉÖ·éè`
-	(6) ÝÉÖ·éè`
-		(6-1) ÝvCÉÖ·éè`
-		(6-2) ÝT[rX[`ÉÖ·éè`
-		(6-3) ÝnhÉÖ·éè`
-	(7) CPUáOÉÖ·éè`
-	(8) ¤LX^bNÌæÉÖ·éè`
-	(9) ^CCxgÇÉÖ·éè`
-	(10)eW
-[Ìú»ÖÌè`
-	(11)ú»[`ÌÀsÖÌè`
-	(12)I¹[`ÌÀsÖÌè`
-
-¶¬·ét@CÌíÞ
-
-SSPJ[lÌRtBM
-[^ÍCVXeRtBM
-[Vt@C
-ðµÄCJ[l\¬Eú»t@Cikernel_cfg.cjÆ\¬Eú
-»wb_t@Cikernel_cfg.hjð¶¬·éDÜ½CRtBM
-[^Ì
-ÌrÉCKvÈÔt@Cð¶¬·éD
-
-
-ÃIAPIê
-
-SSPJ[lÌRtBM
-[^ª·éÃIAPIÍÌÊèD
-
-(1) ^XNÇ@\
+○目次
+
+・生成するファイルの種類
+・静的API一覧
+・カーネル構成・初期化ヘッダファイル（kernel_cfg.h）
+	(1) 固定生成部分
+	(2) オブジェクト数の定義
+	(3) オブジェクトのID番号の定義
+・カーネル構成・初期化ファイル（kernel_cfg.c）
+	(1) 固定生成部分
+	(2) インクルードディレクティブ（#include）の処理
+	(3) オブジェクトのID番号を保持する変数の定義
+	(4) トレースログマクロのデフォルト定義
+	(5) 各カーネルオブジェクトに関する定義
+		(5-1) タスクに関する定義
+		(5-2) イベントフラグに関する定義
+		(5-3) データキューに関する定義
+		(5-4) 周期ハンドラに関する定義
+		(5-5) アラームハンドラに関する定義
+	(6) 割込みに関する定義
+		(6-1) 割込み要求ラインに関する定義
+		(6-2) 割込みサービスルーチンに関する定義
+		(6-3) 割込みハンドラに関する定義
+	(7) CPU例外に関する定義
+	(8) 共有スタック領域に関する定義
+	(9) タイムイベント管理に関する定義
+	(10)各モジュールの初期化関数の定義
+	(11)初期化ルーチンの実行関数の定義
+	(12)終了処理ルーチンの実行関数の定義
+
+○生成するファイルの種類
+
+SSPカーネルのコンフィギュレータは，システムコンフィギュレーションファイ
+ルを処理して，カーネル構成・初期化ファイル（kernel_cfg.c）と構成・初期
+化ヘッダファイル（kernel_cfg.h）を生成する．また，コンフィギュレータの
+処理の途中に，必要な中間ファイルを生成する．
+
+
+○静的API一覧
+
+SSPカーネルのコンフィギュレータが処理する静的APIは次の通り．
+
+(1) タスク管理機能
 	CRE_TSK(ID tskid, { ATR tskatr, intptr_t exinf, TASK task,
 						PRI itskpri, SIZE stksz, STK_T *stk })
 	DEF_EPR (ID tskid, { PRI exepri })
 
-(2) ¯úEÊM@\
+(2) 同期・通信機能
 	CRE_FLG(ID flgid, { ATR flgatr, FLGPTN iflgptn })
 	CRE_DTQ(ID dtqid, { ATR dtqatr, uint_t dtqcnt, void *dtqmb })
 
-¦ dtqmb ª NULL ÅÈ¢êÍT|[gµÈ¢D
-
-(3) ÔÇ@\
+※ dtqmb が NULL でない場合はサポートしない．
+
+(3) 時間管理機能
 	CRE_CYC(ID cycid, { ATR cycatr, intptr_t exinf, CYCHDR cychdr,
 						RELTIM cyctim, RELTIM cycphs })
 	CRE_ALM(ID almid, { ATR almatr, intptr_t exinf, ALMHDR almhdr })
 
-(4) ÝÇ@\
+(4) 割込み管理機能
 	CFG_INT(INTNO intno, { ATR intatr, PRI intpri })
 	ATT_ISR({ ATR isratr, intptr_t exinf, INTNO intno, ISR isr, PRI isrpri })
 	DEF_INH(INHNO inhno, { ATR inhatr, INTHDR inthdr })
 
-(5) CPUáOÇ@\
+(5) CPU例外管理機能
 	DEF_EXC(EXCNO excno, { ATR excatr, EXCHDR exchdr })
 
-(6) VXe\¬Ç@\
+(6) システム構成管理機能
 	DEF_ICS({ SIZE istksz, STK_T *istk })
 	DEF_STK({ SIZE stksz, STK_T *stk })
@@ -138,44 +124,42 @@
 	ATT_TER({ ATR teratr, intptr_t exinf, TERRTN terrtn })
 
-±êçÌÃIAPIÌp[^ÌàCID^Ìp[^ÍIuWFNg¯Ê¼C
-|C^^iTASKCCYCHDRCALMHDRCISRCINTHDRCEXCHDRCINIRTNCTERRTNC
-STK_T *j¨æÑ intptr_t ^Ìp[^ÍêÊè®p[^Æ·éD
-»Ì¼Ìp[^ÍC®è®p[^Æ·éD
-
-
-J[l\¬Eú»wb_t@Cikernel_cfg.hj
-
-J[l\¬Eú»wb_t@Cikernel_cfg.hjÉÍCÌè`ð¶¬·éD
-
-(1) Åè¶¬ª
-
-kernel_cfg.hª¡ñCN[h³êéÌðh®½ßÌLqð¶¬·éDï
-ÌIÉÍCt@CÌæªÉÌsð¶¬·éD
+これらの静的APIのパラメータの内，ID型のパラメータはオブジェクト識別名，
+ポインタ型（TASK，CYCHDR，ALMHDR，ISR，INTHDR，EXCHDR，INIRTN，TERRTN，
+STK_T *）および intptr_t 型のパラメータは一般定数式パラメータとする．
+その他のパラメータは，整数定数式パラメータとする．
+
+
+○カーネル構成・初期化ヘッダファイル（kernel_cfg.h）
+
+カーネル構成・初期化ヘッダファイル（kernel_cfg.h）には，次の定義を生成する．
+
+(1) 固定生成部分
+
+kernel_cfg.hが複数回インクルードされるのを防ぐための記述を生成する．具
+体的には，ファイルの先頭に次の行を生成する．
 
 #ifndef	TOPPERS_KERNEL_CFG_H
 #define	TOPPERS_KERNEL_CFG_H
 
-Ü½Ct@CÌöÉÌsð¶¬·éD
+また，ファイルの末尾に次の行を生成する．
 
 #endif	/* TOPPERS_KERNEL_CFG_H */
 
-(2) IuWFNgÌè`
-
-J[lªT|[g·éIuWFNgÌð}Nè`·évvZbTfB
-NeBui#definejð¶¬·éDïÌIÉÍCÌæ¤ÈLqð¶¬·éD
-
-#define TNUM_TSKID	<^XNÌ>
-#define TNUM_FLGID	<CxgtOÌ>
-#define TNUM_DTQID	<f[^L
-[Ì>
-#define TNUM_CYCID	<üúnhÌ>
-#define TNUM_ALMID	<A[nhÌ>
-
-(3) IuWFNgÌIDÔÌè`
-
-RtBM
-[^ªIDÔðèt¯½IuWFNgÌ¼OðCèt¯½
-IDÔÉ}Nè`·évvZbTfBNeBui#definejð¶¬·éD
-á¦ÎCÌæ¤ÈLqð¶¬·éD
+(2) オブジェクト数の定義
+
+カーネルがサポートするオブジェクトの数をマクロ定義するプリプロセッサディ
+レクティブ（#define）を生成する．具体的には，次のような記述を生成する．
+
+#define TNUM_TSKID	<タスクの数>
+#define TNUM_FLGID	<イベントフラグの数>
+#define TNUM_DTQID	<データキューの数>
+#define TNUM_CYCID	<周期ハンドラの数>
+#define TNUM_ALMID	<アラームハンドラの数>
+
+(3) オブジェクトのID番号の定義
+
+コンフィギュレータがID番号を割り付けたオブジェクトの名前を，割り付けた
+ID番号にマクロ定義するプリプロセッサディレクティブ（#define）を生成する．
+例えば，次のような記述を生成する．
 
 #define TASK1	1
@@ -184,46 +168,42 @@
 
 **************************************************************************
-SSPJ[lÌêCCRE_TSK É¨¯éN®DæxÌ¢ilÆµÄÍ¬³¢j
-ÔÉC1©çA±µ½lªIDÔÆµÄ»ê¼êÌ^XNÉèÄçêéD
+SSPカーネルの場合，CRE_TSK における起動時優先度の高い（値としては小さい）
+順番に，1から連続した値がID番号としてそれぞれのタスクに割り当てられる．
 **************************************************************************
 
 
-J[l\¬Eú»t@Cikernel_cfg.cj
-
-(1) Åè¶¬ª
-
-kernel_cfg.cpÌwb_t@CÆID©®t¯Êt@CðCN[h
-·évvZbTfBNeBui#includejð¶¬·éDïÌIÉÍC
-Ìsð¶¬·éD
+○カーネル構成・初期化ファイル（kernel_cfg.c）
+
+(1) 固定生成部分
+
+kernel_cfg.c用のヘッダファイルとID自動割付け結果ファイルをインクルード
+するプリプロセッサディレクティブ（#include）を生成する．具体的には，次
+の行を生成する．
 
 #include "kernel/kernel_int.h"
 #include "kernel_cfg.h"
 
-(2) CN[hfBNeBui#includejÌ
-
-VXeRtBM
-[Vt@CÉÜÜêéC¾êvvZbTÌC
-N[hfBNeBui#includejÆ¯êÌfBNeBui#includej
-ð¶¬·éDá¦ÎC
+(2) インクルードディレクティブ（#include）の処理
+
+システムコンフィギュレーションファイルに含まれるC言語プリプロセッサのイ
+ンクルードディレクティブ（#include）と同一のディレクティブ（#include）
+を生成する．例えば，
 
 #include "sample1.h"
 
-Æ¢¤CN[hfBNeBuÉÎµÄC
+というインクルードディレクティブに対して，
 
 #include "sample1.h"
 
-Æ¢¤fBNeBuð¶¬·éD¶¬·éfBNeBuÌÍCVXe
-RtBM
-[Vt@CÅÌCN[hfBNeBuÌ
-Éêv³¹éD
-
-(3) IuWFNgÌIDÔðÛ·éÏÌè`
-
-RtBM
-[^ÉÎ·éIvVwèi--external-idjÉæèCRtB
-M
-[^ÍÏð¶¬·éDÏ¼Í ID Ôðèt¯½IuWFNg¼
-ÌöÉ "_id" ðtÁµ½¼ÌÆ·éDÏÌ^ÍCconst®«ðtÁµ½ID^
-ÆµCÏÌlÍèt¯½IDÔÆ·éDá¦ÎCÌæ¤ÈLqð¶¬·éD
+というディレクティブを生成する．生成するディレクティブの順序は，システ
+ムコンフィギュレーションファイル中でのインクルードディレクティブの順序
+に一致させる．
+
+(3) オブジェクトのID番号を保持する変数の定義
+
+コンフィギュレータに対するオプション指定（--external-id）により，コンフィ
+ギュレータは変数を生成する．変数名は ID 番号を割り付けたオブジェクト名
+の末尾に "_id" を付加した名称とする．変数の型は，const属性を付加したID型
+とし，変数の値は割り付けたID番号とする．例えば，次のような記述を生成する．
 
 const ID TASK1_id = 1;
@@ -231,8 +211,8 @@
 const ID ALM1_id = 1;
 
-(4) g[XO}NÌftHgè`
-
-kernel_cfg.cÌÅgp·ég[XO}NÌftHgè`ð¶¬·éD
-ïÌIÉÍCÌsð¶¬·éD
+(4) トレースログマクロのデフォルト定義
+
+kernel_cfg.cの中で使用するトレースログマクロのデフォルト定義を生成する．
+具体的には，次の行を生成する．
 
 #ifndef LOG_ISR_ENTER
@@ -245,209 +225,197 @@
 
 
-(5) eJ[lIuWFNgÉÖ·éè`
-
-VXeRtBM
-[Vt@CÉCIuWFNgð¶¬·éÃI
-APIuCRE_XXXvªÜÜêéeJ[lIuWFNgÉÖµÄCIuWFNg¶
-¬Ì½ßÌè`ð¶¬·éD
-
-RtBM
-[^ÍC¯¶íÞÌIuWFNgð¶¬·éÃIAPIðWßCe
-IuWFNgÉIDÔðèt¯éDIDÔÍC¼ÌIuWFNgÌIDÔÆ
-d¡ªÈ­CIDÔªA±·éæ¤Éèt¯éD
-
-RtBM
-[^ÍCIuWFNgÉèt¯éIDÔðwè·é½ßÌ
-IvVi--id-input-filejÀÑÉ IDÔðèt¯½IuWFNgÌ¼O
-¨æÑèt¯½IDÔÌgðt@CÉoÍ·é½ßÌIvV
-i--id-output-filejðÂDµ©µCSSPJ[lÅÍ±êçÌIvVÌ
-gpð´¥ÆµÄ ***Ö~*** ·éiRÍãqjD
+(5) 各カーネルオブジェクトに関する定義
+
+システムコンフィギュレーションファイル中に，オブジェクトを生成する静的
+API「CRE_XXX」が含まれる各カーネルオブジェクトに関して，オブジェクト生
+成のための定義を生成する．
+
+コンフィギュレータは，同じ種類のオブジェクトを生成する静的APIを集め，各
+オブジェクトにID番号を割り付ける．ID番号は，他のオブジェクトのID番号と
+重複がなく，ID番号が連続するように割り付ける．
+
+コンフィギュレータは，オブジェクトに割り付けるID番号を指定するための
+オプション（--id-input-file）並びに ID番号を割り付けたオブジェクトの名前
+および割り付けたID番号の組をファイルに出力するためのオプション
+（--id-output-file）を持つ．しかし，SSPカーネルではこれらのオプションの
+使用を原則として ***禁止*** する（理由は後述）．
 
 **************************************************************************
-yRz
-SSPJ[lÌêCu^XNIDÌêÉÀèvRtBM
-[^Í
---id-input-file Ìwèàeð³·éD»êÍCCRE_TSKÅwèµ½N®Dæ
-xÌÝèlªDæ³êé½ßÅ éDÜ½C--id-output-file Åwèµ½t@C
-ÖÌoÍàeà --id-input-file Åwèµ½^XNIDÌlª»ÌÜÜoÍ³ê
-éD»ÌoÍàeÍ kernel_cfg.h ÖoÍ³êé^XNIDÌlÆÍ³ÖWÅ éD
-]ÁÄC¬ª¶¶é°êª é±Æ©çCSSPJ[lÅÍ --id-input-file 
-¨æÑ --id-output-file IvVðwèµÄÍÈçÈ¢D
-
-{ÈçÎC--kernel=ssp ¨æÑ --id-input-file ð¯Éwèµ½êÉ
-RtBM
-[VG[Æ·×«Æ±ëÅ éDµ©µC±êçÌIvV
-ÉÎ·éÍSÄRtBM
-[^àÅÀ{³êCev[gt@C
-(kernel.tf)ÅÍ·é±ÆªÅ«È¢D»_ÅÍRtBM
-[^ÌÎ
-ÉÂ¢Ä¢èÅ é½ßbèIÉ±Ìæ¤Èµ¢ÆµÄ¢éD
+【理由】
+SSPカーネルの場合，「タスクIDの場合に限り」コンフィギュレータは
+--id-input-file の指定内容を無視する．それは，CRE_TSKで指定した起動時優先
+度の設定値が優先されるためである．また，--id-output-file で指定したファイ
+ルへの出力内容も --id-input-file で指定したタスクIDの値がそのまま出力され
+る．その出力内容は kernel_cfg.h へ出力されるタスクIDの値とは無関係である．
+従って，混乱が生じる恐れがあることから，SSPカーネルでは --id-input-file 
+および --id-output-file オプションを指定してはならない．
+
+本来ならば，--kernel=ssp および --id-input-file を同時に指定した場合に
+コンフィギュレーションエラーとすべきところである．しかし，これらのオプショ
+ンに対する処理は全てコンフィギュレータ内部で実施され，テンプレートファイル
+(kernel.tf)では処理することができない．現時点ではコンフィギュレータの対応
+について未定であるため暫定的にこのような扱いとしている．
 **************************************************************************
 
-eJ[lIuWFNgÉÖ·éè`ÌWIÈ\¬ÍCÌÊèÅ éDI
-uWFNgÉæÁÄáOª éêÉÍCIuWFNgÌÅà¾·éD
-
-(a) ÅåÌIuWFNgIDÌÏÌè`
-
-ÅåÌIuWFNgIDðÂÏÌè`ð¶¬·éDïÌIÉÍCIuWFN
-gÌÈªLðuXXX^xxxvÆ·éÆCÌæ¤Èsð¶¬·éD
+各カーネルオブジェクトに関する定義の標準的な構成は，次の通りである．オ
+ブジェクトによって例外がある場合には，オブジェクト毎の項で説明する．
+
+(a) 最大のオブジェクトIDの変数の定義
+
+最大のオブジェクトIDを持つ変数の定義を生成する．具体的には，オブジェク
+トの省略記号を「XXX／xxx」とすると，次のような行を生成する．
 
 const ID _kernel_tmax_xxxid = (TMIN_XXXID + TNUM_XXXID - 1);
 
-(b) IuWFNgÉKvÈÌæÌè`
-
-IuWFNgÉæÁÄÍCIuWFNgÉKvÈÌæÌè`ð¶¬·éD
-ïÌIÉÍCIuWFNgÌÅà¾·éD
-
-(c) IuWFNgÌú»ubNÌè`
-
-IuWFNgÌú»ubNÌè`ð¶¬·éDïÌIÉÍC
-	EIuWFNgÌÈªLðuXXX^xxxv
-	E®«ÚÌf[^^ðuYYYv
-	E®«ÚÌ¼Ìðuzzzv
-Æ·éÆCIuWFNgÌ®«ÚÉÌæ¤Èsð¶¬·éD
+(b) オブジェクトに必要なメモリ領域の定義
+
+オブジェクトによっては，オブジェクトに必要なメモリ領域の定義を生成する．
+具体的には，オブジェクト毎の項で説明する．
+
+(c) オブジェクトの初期化ブロックの定義
+
+オブジェクトの初期化ブロックの定義を生成する．具体的には，
+	・オブジェクトの省略記号を「XXX／xxx」
+	・属性項目のデータ型を「YYY」
+	・属性項目の名称を「zzz」
+とすると，オブジェクトの属性項目毎に次のような行を生成する．
 
 const YYY _kernel_xxxinib_zzz[TNUM_XXXID] = {
-	<IuWFNgIDª1ÌIuWFNgÉÎ·é zzz Ìú»îñ>,
-	<IuWFNgIDª2ÌIuWFNgÉÎ·é zzz Ìú»îñ>,
-				cc
-	<IuWFNgIDªTNUM_XXXIDÌIuWFNgÉÎ·é zzz Ìú»îñ>,
+	<オブジェクトIDが1のオブジェクトに対する zzz の初期化情報>,
+	<オブジェクトIDが2のオブジェクトに対する zzz の初期化情報>,
+				……
+	<オブジェクトIDがTNUM_XXXIDのオブジェクトに対する zzz の初期化情報>,
 };
 
-IuWFNgÌú»îñÌ`®ÍCIuWFNg¨æÑ®«ÚÉÙÈéD
-ïÌIÉÍIuWFNgÌÅà¾·éD
-
-(d) IuWFNgÌRg[ubNÌè`
-
-IuWFNgÌRg[ubNÌè`ð¶¬·éDïÌIÉÍC
-	EIuWFNgÌÈªLðuXXX^xxxv
-	E®«ÚÌf[^^ðuYYYv
-	E®«ÚÌ¼Ìðuzzzv
-Æ·éÆCIuWFNgÌ®«ÚÉÌæ¤Èsð¶¬·éD
+オブジェクトの初期化情報の形式は，オブジェクトおよび属性項目毎に異なる．
+具体的にはオブジェクト毎の項で説明する．
+
+(d) オブジェクトのコントロールブロックの定義
+
+オブジェクトのコントロールブロックの定義を生成する．具体的には，
+	・オブジェクトの省略記号を「XXX／xxx」
+	・属性項目のデータ型を「YYY」
+	・属性項目の名称を「zzz」
+とすると，オブジェクトの属性項目毎に次のような行を生成する．
 
 YYY _kernel_xxxcb_zzz[TNUM_XXXID];
 
-IuWFNgÌRg[ubNÌ`®ÍCIuWFNg¨æÑ®«ÚÉÙÈéD
-ïÌIÉÍIuWFNgÌÅà¾·éD
-
-
-(5-1) ^XNÉÖ·éè`
-
-SSPJ[lÍC^XNªêÂàÈ¢P[XÉÎµÄ¢È¢½ßC^XNÉÖ·é
-è`ÍK¸¶¬µÈ¯êÎÈçÈ¢D
-
-^XNÌÈªLÍuTSKvutskvÅ éD
-½¾µC^XNú»ubNÌÏ¼Í _kernel_tinib_<®«Ú¼> Å éD
-iuTSK^tskvÉã¦ÄuT^tvðp¢Ä¢éjD
-^XNRg[ubNÍ¶ÝµÈ¢D
-
-^XNú»ubNÉÍCuCRE_TSKvÃIAPIÅwè³êéîñÉÁ¦ÄC
-uDEF_EPRvÃIAPIÅwè³êéîñðÜßéD
-
-ÈºÅÍCVXeRtBM
-[Vt@CÉÌÃIAPIªÜÜêÄ
-¢éÉ¶¬·×«îñÉÂ¢Äq×éD
+オブジェクトのコントロールブロックの形式は，オブジェクトおよび属性項目毎に異なる．
+具体的にはオブジェクト毎の項で説明する．
+
+
+(5-1) タスクに関する定義
+
+SSPカーネルは，タスクが一つもないケースに対応していないため，タスクに関する
+定義は必ず生成しなければならない．
+
+タスクの省略記号は「TSK」「tsk」である．
+ただし，タスク初期化ブロックの変数名は _kernel_tinib_<属性項目名> である．
+（「TSK／tsk」に代えて「T／t」を用いている）．
+タスクコントロールブロックは存在しない．
+
+タスク初期化ブロックには，「CRE_TSK」静的APIで指定される情報に加えて，
+「DEF_EPR」静的APIで指定される情報を含める．
+
+以下では，システムコンフィギュレーションファイルに次の静的APIが含まれて
+いる時に生成すべき情報について述べる．
 
 CRE_TSK(tskid, { tskatr, exinf, task, itskpri, stksz, stk });
 DEF_EPR(tskid, { exepri });
 
-¦ È~Ìú»îñÌzñÉi[³êéÍCN®DæxÌ¢ÆÈéD
-¦ ÈºÈçC^XNID ªN®DæxÌ¢ÔÅèÄçêé©çÅ éD
-
-(5-1-1) ^XNÌú»îñi^XN®«j
-
-^XN®«Ìú»îñÍCÌ`®Æ·éD
+※ 以降の初期化情報の配列に格納される順序は，起動時優先度の高い順となる．
+※ なぜなら，タスクID が起動時優先度の高い順番で割り当てられるからである．
+
+(5-1-1) タスクの初期化情報（タスク属性）
+
+タスク属性の初期化情報は，次の形式とする．
 
 const ATR _kernel_tinib_tskatr[TNUM_TSKID] = {(tskatr)};
 
-(5-1-2) ^XNÌú»îñig£îñj
-
-^XNÌg£îñÌú»îñÍCÌ`®Æ·éD
+(5-1-2) タスクの初期化情報（拡張情報）
+
+タスクの拡張情報の初期化情報は，次の形式とする．
 
 const intptr_t _kernel_tinib_exinf[TNUM_TSKID] = {(intptr_t)(exinf)};
 
-(5-1-3) ^XNÌú»îñiN®Ônj
-
-^XNÌN®ÔnÌú»îñÍCÌ`®Æ·éD
+(5-1-3) タスクの初期化情報（起動番地）
+
+タスクの起動番地の初期化情報は，次の形式とする．
 
 const TASK _kernel_tinib_task[TNUM_TSKID] = {(task)};
 
-(5-1-4) ^XNÌú»îñiÀsDæxj
-
-^XNÌÀsDæxÌú»îñÍCÌ`®Æ·éD
-iÀÛÉÍüs³ê¸C1sÅoÍ³êéj
+(5-1-4) タスクの初期化情報（実行時優先度）
+
+タスクの実行時優先度の初期化情報は，次の形式とする．
+（実際には改行されず，1行で出力される）
 
 const TASK _kernel_tinib_epriority[TNUM_TSKID] = {
-	INT_PRIORITY(ÀsDæx)};
-
-ÀsDæxÌlÍ CRE_TSK ÌN®Dæx(itskpri) ¨æÑ
-DEF_EPR ÌÀsDæx(exepri) ÌÝèlð³ÉZo³êéD
-Zoû@ÉÂ¢ÄÍ(5-1-6)Éãq·éD
-
-(5-1-5) ready_primap ÌúlÌè`
-
-^XNÉÎµÄÍCrbg}bv ready_primap Ìúlîñð¶¬·éD
-^XN®«ÌÝèl©çêÓÉèßé±ÆªÅ«é©çÅ éD
-
-ïÌIÉÍÈºÌæ¤Èè`ð¶¬·éD
-
-const uint_t _kernel_init_rdypri = <ready_primapÌúl>;
-
-±±Å ready_primap ÌúlÍC^XN®«(tskatr)Ìl©çZo³êéD
-
-Ï _kernel_init_rdypri ÌerbgÍ»ê¼êÌ^XNÉÎ·éD
-^XNIDª1Ì^XNÍÅºÊrbg(LSB)ÉÎÃ¯çêÄ¨èC
-^XNIDÌlª1Â¦éÉ1ÂÊÌrbgª»ê¼êÎÃ¯çêéD
-á¦ÎC^XNIDª4Ì^XNÍÅºÊ©ç¦Ä4ÔÚÌrbgªÎ·éD
-
-^XN®«ÆµÄ TA_ACT ðÂ^XNÍC»Ì^XNÉÎ·érbgª
-1ÉÈéDTA_ACT ð½È¢êÍÎ·érbgª0ÉÈéD
-
-(5-1-6) DæxÌ\»
-
-DæxÌlÍCRtBM
-[Vt@CÌ CRE_TSK yÑ DEF_EPR ÉÄ
-wèµ½lð³ÉCRtBM
-[^ª©®IÉèÄéD
-lÌÍÍÍ TMIN_TPRI(=1) ©ç TMAX_TPRI ÌÍÍÌlðÆéD
-
-Ü½CRtBM
-[^ÉæèèÄçêéDæxÌlÆÍÊÉCø¦Ì
-Ï_©çvOÅgp³êéDæxÌà\»ª éD
-à\»ÌlÍ 0 ©ç (TMAX_TPRI-TMIN_TPRI) ÌÍÍÌlðÆéD
-DæxÆ»Ìà\»ÆÌÔÉÍ (à\» = Dæx - TMIN_TPRI)ÌÖWª éD
-
-^XNÌN®DæxÍCCRE_TSK Åwèµ½N®DæxÌ¢ÉilÆµÄÍ
-¬³¢ÉjCTMIN_TPRI(=1) ©çÍ¶ÜéA±µ½lªèÄçêéD
-ÂÜèC^XNÌN®DæxÌlÍ^XNID Éµ¢D
-
-^XNÌÀsDæxÌlÍCÈºÌû@ÅZo³êéD
-
-iPjY^XNÉÎµ DEF_EPR ÅÀsDæxðè`µÈ¢ê
-
-Y^XNÉÎµ DEF_EPR ÅÀsDæxðè`µÈ¢êC
-N®DæxÌlÆ¯¶lðÀsDæxÌlÆ·éD
-
-iQjY^XNÉÎµ DEF_EPR ÅÀsDæxðè`·éê
-
-Y^XNÉÎµ DEF_EPR ÅÀsDæxðè`µ½êC
-DEF_EPR Åwèµ½ÀsDæxÌÝèlCÀÑÉCSÄÌ^XNÉÎ·é
-N®DæxÌÝèl¨æÑRtBM
-[VÊÆµÄ¾çêéN®Dæx
-ÌlðàÆÉCÀsDæxÌlðZo·éD
-
-ÀsDæxÌlðZo·éû@ÍCuÀsÌ^XNªvGvg³êé/³êÈ¢v
-Æ¢¤ÖWªÛ¶³êéÍÍÅKØÈlªZo³êé±ÆðÓ}µ½àÌÅC
-ïÌIÈèÍÌæ¤ÉÈéD
-
-yÀsDæxÌZoè ¦±êðSÄÌ^XNÉÎµÄs¤z
-
-(1)  é^XNðIÔ(T1Æ·é)
-(2) T1 ÌÀsDæxÌÝèlÆ¯¶CÜ½ÍC»êæèàá¢(lÆµÄÍ
-å«¢)N®DæxÌÝèlðÂ^XNÌWÌÅCN®DæxÌ
-ÝèlªÅà¢ilÆµÄÍÅà¬³¢j^XNðT·(T2)
-(3) T2 ÌN®DæxÌlð T1 ÌÀsDæxÌlÆ·éD
-
-áj
+	INT_PRIORITY(実行時優先度)};
+
+実行時優先度の値は CRE_TSK の起動時優先度(itskpri) および
+DEF_EPR の実行時優先度(exepri) の設定値を元に算出される．
+算出方法については(5-1-6)に後述する．
+
+(5-1-5) ready_primap の初期値の定義
+
+タスクに対しては，ビットマップ ready_primap の初期値情報を生成する．
+タスク属性の設定値から一意に定めることができるからである．
+
+具体的には以下のような定義を生成する．
+
+const uint_t _kernel_init_rdypri = <ready_primapの初期値>;
+
+ここで ready_primap の初期値は，タスク属性(tskatr)の値から算出される．
+
+変数 _kernel_init_rdypri の各ビットはそれぞれのタスクに対応する．
+タスクIDが1のタスクは最下位ビット(LSB)に対応づけられており，
+タスクIDの値が1つ増える毎に1つ高位のビットがそれぞれ対応づけられる．
+例えば，タスクIDが4のタスクは最下位から数えて4番目のビットが対応する．
+
+タスク属性として TA_ACT を持つタスクは，そのタスクに対応するビットが
+1になる．TA_ACT を持たない場合は対応するビットが0になる．
+
+(5-1-6) 優先度の表現
+
+優先度の値は，コンフィギュレーションファイルの CRE_TSK 及び DEF_EPR にて
+指定した値を元に，コンフィギュレータが自動的に割り当てる．
+値の範囲は TMIN_TPRI(=1) から TMAX_TPRI の範囲の値をとる．
+
+また，コンフィギュレータにより割り当てられる優先度の値とは別に，処理効率の
+観点からプログラム中で使用される優先度の内部表現がある．
+内部表現の値は 0 から (TMAX_TPRI-TMIN_TPRI) の範囲の値をとる．
+優先度とその内部表現との間には (内部表現 = 優先度 - TMIN_TPRI)の関係がある．
+
+タスクの起動時優先度は，CRE_TSK で指定した起動時優先度の高い順に（値としては
+小さい順に），TMIN_TPRI(=1) からはじまる連続した値が割り当てられる．
+つまり，タスクの起動時優先度の値はタスクID に等しい．
+
+タスクの実行時優先度の値は，以下の方法で算出される．
+
+（１）当該タスクに対し DEF_EPR で実行時優先度を定義しない場合
+
+当該タスクに対し DEF_EPR で実行時優先度を定義しない場合，
+起動時優先度の値と同じ値を実行時優先度の値とする．
+
+（２）当該タスクに対し DEF_EPR で実行時優先度を定義する場合
+
+当該タスクに対し DEF_EPR で実行時優先度を定義した場合，
+DEF_EPR で指定した実行時優先度の設定値，並びに，全てのタスクに対する
+起動時優先度の設定値およびコンフィギュレーション結果として得られる起動時優先度
+の値をもとに，実行時優先度の値を算出する．
+
+実行時優先度の値を算出する方法は，「実行中のタスクがプリエンプトされる/されない」
+という関係が保存される範囲で適切な値が算出されることを意図したもので，
+具体的な手順は次のようになる．
+
+【実行時優先度の算出手順 ※これを全てのタスクに対して行う】
+
+(1) あるタスクを選ぶ(T1とする)
+(2) T1 の実行時優先度の設定値と同じ，または，それよりも低い(値としては
+大きい)起動時優先度の設定値を持つタスクの集合の中で，起動時優先度の
+設定値が最も高い（値としては最も小さい）タスクを探す(T2)
+(3) T2 の起動時優先度の値を T1 の実行時優先度の値とする．
+
+例）
 CRE_TSK(TASK1, { TA_NULL, 1, task1, 2, 10, NULL });
 CRE_TSK(TASK2, { TA_NULL, 3, task2, 6, 30, NULL });
@@ -460,100 +428,99 @@
 DEF_IPR(TASK4, { 4 } );
 
-ÊÍÌæ¤ÉÈéF
-
-yN®Dæxz
-	TASK1FÝèl=2 ¨ (èÄçêé)N®Dæx=1
-	TASK2FÝèl=6 ¨ (èÄçêé)N®Dæx=3
-	TASK3FÝèl=4 ¨ (èÄçêé)N®Dæx=2
-	TASK4FÝèl=8 ¨ (èÄçêé)N®Dæx=4
-
-	N®DæxÌ¢ÉÀÑÖ¦éÆ
-	TASK1FÝèl=2 ¨ N®Dæx=1
-	TASK3FÝèl=4 ¨ N®Dæx=2
-	TASK2FÝèl=6 ¨ N®Dæx=3
-	TASK4FÝèl=8 ¨ N®Dæx=4
-
-yÀsDæxz
-	TASK1FÝèl=1
-	TASK3FÝèl=3
-	TASK2FÝèl=5
-	TASK4FÝèl=4
-
-E½ßµÉ TASK4 ÌêÌÀsDæxÌlðZoµÄÝéD
-	ETASK4 ÌÀsDæxÌÝèl(4)Æ¯¶Ü½Í»êæèàá¢N®
-	@DæxÌÝèlðàÂ^XNÌW = {TASK2,TASK3,TASK4}
-	EãL^XNÌWÌÅÅàN®DæxÌÝèlª¢àÌ = TASK3
-	EãL^XNÌN®DæxÌl = 2
-	E]ÁÄTASK4 ÌÀsDæxÌlÍ 2
-
-E¯lÉCTASK3 ÌêÍD
-	ETASK3 ÌÀsDæxÌÝèl(3)Æ¯¶Ü½Í»êæèàá¢N®
-	@DæxÌÝèlðàÂ^XNÌW = {TASK2,TASK3,TASK4}
-	EãL^XNÌWÌÅÅàN®DæxÌÝèlª¢àÌ = TASK3
-	EãL^XNÌN®DæxÌl = 2
-	E]ÁÄTASK3 ÌÀsDæxÌlÍ 2
-
-ÀsDæxÉÎ·éú»îñÌ kernel_cfg.c ÖÌÊÍÌæ¤ÉÈéD
-ÀÛÍ1sÅ\»³êéDÜ½CzñÖÌi[Í TASK1, TASK3, TASK2, 
-TASK4 ÌÅi[³êé±ÆÉÓ·éD
-¿ÈÝÉCINT_PRIORITY }NÍDæxÌlð»Ìà\»ÉÏ··é}NÅ
- èCtask.h Åè`³êÄ¢éD
+結果は次のようになる：
+
+【起動時優先度】
+	TASK1：設定値=2 → (割り当てられる)起動時優先度=1
+	TASK2：設定値=6 → (割り当てられる)起動時優先度=3
+	TASK3：設定値=4 → (割り当てられる)起動時優先度=2
+	TASK4：設定値=8 → (割り当てられる)起動時優先度=4
+
+	起動時優先度の高い順に並び替えると
+	TASK1：設定値=2 → 起動時優先度=1
+	TASK3：設定値=4 → 起動時優先度=2
+	TASK2：設定値=6 → 起動時優先度=3
+	TASK4：設定値=8 → 起動時優先度=4
+
+【実行時優先度】
+	TASK1：設定値=1
+	TASK3：設定値=3
+	TASK2：設定値=5
+	TASK4：設定値=4
+
+・ためしに TASK4 の場合の実行時優先度の値を算出してみる．
+	・TASK4 の実行時優先度の設定値(4)と同じまたはそれよりも低い起動時
+	　優先度の設定値をもつタスクの集合 = {TASK2,TASK3,TASK4}
+	・上記タスクの集合の中で最も起動時優先度の設定値が高いもの = TASK3
+	・上記タスクの起動時優先度の値 = 2
+	・従ってTASK4 の実行時優先度の値は 2
+
+・同様に，TASK3 の場合は．
+	・TASK3 の実行時優先度の設定値(3)と同じまたはそれよりも低い起動時
+	　優先度の設定値をもつタスクの集合 = {TASK2,TASK3,TASK4}
+	・上記タスクの集合の中で最も起動時優先度の設定値が高いもの = TASK3
+	・上記タスクの起動時優先度の値 = 2
+	・従ってTASK3 の実行時優先度の値は 2
+
+実行時優先度に対する初期化情報の kernel_cfg.c への結果は次のようになる．
+実際は1行で表現される．また，配列への格納順序は TASK1, TASK3, TASK2, 
+TASK4 の順序で格納されることに注意する．
+ちなみに，INT_PRIORITY マクロは優先度の値をその内部表現に変換するマクロで
+あり，task.h で定義されている．
 
 const uint_t _kernel_tinib_epriority[TNUM_TSKID] =
 	 {INT_PRIORITY(1),INT_PRIORITY(2),INT_PRIORITY(3),INT_PRIORITY(2)};
 
-(5-1-7) X^bNÌæÝè
-
-SSPJ[lÅÍC^XNðÜÞSÄÌPÊª¯¶X^bNÌæð¤p·é
-æ¤ÉÝv³êÄ¢éD
-¤p³êéX^bNÌæÌ±Æðu¤LX^bNÌævÆÄÔD
-¤LX^bNÌæÌè`Í DEF_STK ðp¢Äs¤DÚµ­Í(9)ðQÆÌ±ÆD
-
-RtBM
-[^Í¤LX^bNÌæÌÝmÛµC^XNReLXgêpÌ
-X^bNÌæÍmÛµÈ¢D
-±Ì½ßCCRE_TSK ÅÍæªÔn stk ÆµÄ NULL ÌÝó¯t¯éD
-NULL ÈOÌlðwèµ½êCG[ÆÈéD
-
-Ü½CCRE_TSK Åwè·é^XNÌX^bNTCY stksz ÌlÍC
-DEF_STK ðp¢È¢êÉÍ¤LX^bNÌæÌTCYðè·é½ßÉp¢çêC
-DEF_STK ðp¢éêÉÍ DEF_STK Åwèµ½¤LX^bNÌæÌTCYð
-`FbN·é½ßÉp¢çêéD¦ (9-4) àQÆÌ±ÆD
-
-S^XNÉæéX^bNgpÊiÌèljÍCCRE_TSK Åwè·é
-X^bNTCY stksz, ¨æÑN®Dæx itskpriCÈçÑÉ DEF_EPR Å
-wè·éÀsDæx exepri ©çZo³êéDZoèÉÂ¢ÄÍßÅà¾·éD
-
-(5-1-8) S^XNÉæéX^bNgpÊÌZoû@
-
-S^XNÌX^bNgpÊÉÎ·évZÌî{IÈl¦ûÍC»ê¼êÌDæx²ÆÉC
-¯¶DæxðàÂ^XNÌÅÅàX^bNgpÊªå«¢àÌðIÑC»êçÌ
-X^bNgpÊð·×ÄÁZµ½àÌÆl¦é±ÆÅ éDÀÛÉÍvOÉæè
-»êæè­È­ÈéP[Xà¶Ýµ¾éªC»ÝÌÀÅÍl¦ûðP»µÄ¢éD
-
-SSPJ[lÌdlÅÍCÐÆÂÌN®DæxÉÂ«o^Â\È^XNÍ
-XêÂÅ éD»Ì½ßCDEF_EPR ÉæèÀsDæxðÝèµÈ¢êC
-·Èí¿CSÄÌ^XNÌÀsDæxª»ê¼êÌN®DæxÉµ¢
-êCe^XNÌX^bNgpÊðPÉÁZµ½àÌªCS^XNÉæé
-X^bNgpÊÆÈéD
-
-»êÉÎµCDEF_EPR ðp¢ÄÁèÌ^XNÉÎ·éÀsDæxðwèµC
-Y^XNÀsÌDæxðø«ã°éæ¤ÉÝèµ½êC{ÈçÎv
-Gvg³êéÍ¸ÌàÌª³êÈ­ÈéP[Xª¶¶CÊÆµÄS^XNÌ
-X^bNgpÊð­È­Å«éêª éD
-
-ÀsDæxðl¶µ½uS^XNÉæéX^bNgpÊvÌZoèÍ
-Ìæ¤ÉÈéi¦j
-(a)  é^XN©çÀsJnµC¼ÌÇÌæ¤È^XNÉvGvg³êé©C
-    »µÄÊIÉÇ¤¢¤vOÌÀsoHª¶Ýµ¾é©ðSÄñ·éD
-(b) »ê¼êÌêÌuS^XNÉæéX^bNgpÊvðßéD
-(c) ß½lÌÌÅålðIÔD
-
-¦ ÀÅÍCsvÈÌÈªàsÁÄ¢éªC±±ÅÍî{IÈl¦û
-   ÌÝð¦·D
-
-ZoèðïÌIÈáðp¢Äà¾·éD
-áÆµÄæÌ (5-1-6) Ìáðp¢éD
-ºÌè (a), (b), (c) ÍãÉ°½eÚÉÎµÄ¢éD
+(5-1-7) スタック領域設定
+
+SSPカーネルでは，タスクを含む全ての処理単位が同じスタック領域を共用する
+ように設計されている．
+共用されるスタック領域のことを「共有スタック領域」と呼ぶ．
+共有スタック領域の定義は DEF_STK を用いて行う．詳しくは(9)を参照のこと．
+
+コンフィギュレータは共有スタック領域のみ確保し，タスクコンテキスト専用の
+スタック領域は確保しない．
+このため，CRE_TSK では先頭番地 stk として NULL のみ受け付ける．
+NULL 以外の値を指定した場合，エラーとなる．
+
+また，CRE_TSK で指定するタスクのスタックサイズ stksz の値は，
+DEF_STK を用いない場合には共有スタック領域のサイズを決定するために用いられ，
+DEF_STK を用いる場合には DEF_STK で指定した共有スタック領域のサイズを
+チェックするために用いられる．※ (9-4) も参照のこと．
+
+全タスクによるスタック使用量（の推定値）は，CRE_TSK で指定する
+スタックサイズ stksz, および起動時優先度 itskpri，ならびに DEF_EPR で
+指定する実行時優先度 exepri から算出される．算出手順については次節で説明する．
+
+(5-1-8) 全タスクによるスタック使用量の算出方法
+
+全タスクのスタック使用量に対する計算の基本的な考え方は，それぞれの優先度ごとに，
+同じ優先度をもつタスクの中で最もスタック使用量が大きいものを選び，それらの
+スタック使用量をすべて加算したものと考えることである．実際にはプログラムにより
+それより少なくなるケースも存在し得るが，現在の実装では考え方を単純化している．
+
+SSPカーネルの仕様では，ひとつの起動時優先度につき登録可能なタスクは
+高々一つである．そのため，DEF_EPR により実行時優先度を設定しない場合，
+すなわち，全てのタスクの実行時優先度がそれぞれの起動時優先度に等しい
+場合，各タスクのスタック使用量を単純に加算したものが，全タスクによる
+スタック使用量となる．
+
+それに対し，DEF_EPR を用いて特定のタスクに対する実行時優先度を指定し，
+当該タスク実行中の優先度を引き上げるように設定した場合，本来ならばプリ
+エンプトされるはずのものがされなくなるケースが生じ，結果として全タスクの
+スタック使用量を少なくできる場合がある．
+
+実行時優先度を考慮した「全タスクによるスタック使用量」の算出手順は
+次のようになる（※）
+(a) あるタスクから実行開始し，他のどのようなタスクにプリエンプトされるか，
+    そして結果的にどういうプログラムの実行経路が存在し得るかを全て列挙する．
+(b) それぞれの場合の「全タスクによるスタック使用量」を求める．
+(c) 求めた値の中の最大値を選ぶ．
+
+※ 実装では，不要な処理の省略等も行っているが，ここでは基本的な考え方
+   のみを示す．
+
+算出手順を具体的な例を用いて説明する．
+例として先の (5-1-6) の例を用いる．
+下の手順 (a), (b), (c) は上に挙げた各項目に対応している．
 
 CRE_TSK(TASK1, { TA_NULL, 1, task1, 2, 10, NULL });
@@ -567,498 +534,447 @@
 DEF_IPR(TASK4, { 4 } );
 
-(a)  é^XN(TASKn, n = 1,2,3,4)ðIð·é.
-    TASKn ÌÀsDæxæèà¢N®Dæx(lÆµÄÍ¬³¢)ðàÂ
-    ^XNÌWðT·D
-    »µÄuvGvg³êé^XN¨vGvg·é^XNvÌgðñ·éD
-
-ETASK1 É
-Ú·éÆC±êðvGvgÂ\È^XNÍ¶ÝµÈ¢D
-ETASK2 É
-Ú·éÆCÀsÍDæx 5 ÉÈèC±êðvGvgÂ\È
-@^XNÍ TASK1 ¨æÑ TASK3D
-ETASK3 É
-Ú·éÆCÀsÍDæx 3 ÉÈèC±êðvGvgÂ\È
-@^XNÍ TASK1 ¾¯D
-ETASK4 É
-Ú·éÆCÀsÍDæx 4 ÉÈèC±êðvGvgÂ\È
-@^XNÍ TASK1 ¾¯D
-
-µ½ªÁÄ±±ÅÍCÌgª¾çêéD
-	TASK2 ¨ TASK1
-	TASK2 ¨ TASK3
-	TASK3 ¨ TASK1
-	TASK4 ¨ TASK1
-
-S­vGvg³êÈ¢P[XC¨æÑCvGvgµ½^XNª³çÉ
-ÊÌ^XNÉvGvg³êéP[XÜÅl¶·éÆCÊIÉvOÌ
-ÀsoHÍÌæ¤ÉÈéÆl¦çêéD
-
-ETASK1 ©çnÜéP[XF 
-	TASK1 (vGvg³ê¸ÉI¹)
-
-ETASK2 ©çnÜéP[XF
+(a) あるタスク(TASKn, n = 1,2,3,4)を選択する.
+    TASKn の実行時優先度よりも高い起動時優先度(値としては小さい)をもつ
+    タスクの集合を探す．
+    そして「プリエンプトされるタスク→プリエンプトするタスク」の組を列挙する．
+
+・TASK1 に着目すると，これをプリエンプト可能なタスクは存在しない．
+・TASK2 に着目すると，実行中は優先度 5 になり，これをプリエンプト可能な
+　タスクは TASK1 および TASK3．
+・TASK3 に着目すると，実行中は優先度 3 になり，これをプリエンプト可能な
+　タスクは TASK1 だけ．
+・TASK4 に着目すると，実行中は優先度 4 になり，これをプリエンプト可能な
+　タスクは TASK1 だけ．
+
+したがってここでは，次の組が得られる．
+	TASK2 → TASK1
+	TASK2 → TASK3
+	TASK3 → TASK1
+	TASK4 → TASK1
+
+全くプリエンプトされないケース，および，プリエンプトしたタスクがさらに
+別のタスクにプリエンプトされるケースまで考慮すると，結果的にプログラムの
+実行経路は次のようになると考えられる．
+
+・TASK1 から始まるケース： 
+	TASK1 (プリエンプトされずに終了)
+
+・TASK2 から始まるケース：
 	TASK2
-	TASK2 ¨ TASK1 (TASK2©çÀsJnµÄCTASK1ÉvGvg³ê½)
-	TASK2 ¨ TASK3
-	TASK2 ¨ TASK3 ¨ TASK1
-
-ETASK3 ©çnÜéP[XF
+	TASK2 → TASK1 (TASK2から実行開始して，TASK1にプリエンプトされた)
+	TASK2 → TASK3
+	TASK2 → TASK3 → TASK1
+
+・TASK3 から始まるケース：
 	TASK3
-	TASK3 ¨ TASK1
-
-ETASK4 ©çnÜéP[XF
+	TASK3 → TASK1
+
+・TASK4 から始まるケース：
 	TASK4
-	TASK4 ¨ TASK1
-
-(b) »ê¼êÌP[XÅX^bNgpÊðvZ·éD
-
-ETASK1 ©çnÜéP[XF 
-	TASK1F10
-
-ETASK2 ©çnÜéP[XF
-	TASK2F30
-	TASK2 ¨ TASK1F30+10
-	TASK2 ¨ TASK3F30+50
-	TASK2 ¨ TASK3 ¨ TASK1F30+50+10
-
-ETASK3 ©çnÜéP[XF
-	TASK3F50
-	TASK3 ¨ TASK1F50+10
-
-ETASK4 ©çnÜéP[XF
-	TASK4F100
-	TASK4 ¨ TASK1F100+10
-
-(c) Åàlªå«­ÈéoHðIÔD
-
-±±ÅÍ TASK4 ¨ TASK1 ÌêªÅåÅC©ÏàèlÍ 110
-
-
-(5-1-9) S^XNÉæéX^bNgpÊÌè`
-
-RtBM
-[^ÍCS^XNÉæéX^bNgpÊÌ©Ïàèßöð
-kernel_cfg.c ÉRgÆµÄoÍ·éD
+	TASK4 → TASK1
+
+(b) それぞれのケースでスタック使用量を計算する．
+
+・TASK1 から始まるケース： 
+	TASK1：10
+
+・TASK2 から始まるケース：
+	TASK2：30
+	TASK2 → TASK1：30+10
+	TASK2 → TASK3：30+50
+	TASK2 → TASK3 → TASK1：30+50+10
+
+・TASK3 から始まるケース：
+	TASK3：50
+	TASK3 → TASK1：50+10
+
+・TASK4 から始まるケース：
+	TASK4：100
+	TASK4 → TASK1：100+10
+
+(c) 最も値が大きくなる経路を選ぶ．
+
+ここでは TASK4 → TASK1 の場合が最大で，見積もり値は 110
+
+
+(5-1-9) 全タスクによるスタック使用量の定義
+
+コンフィギュレータは，全タスクによるスタック使用量の見積もり過程を
+kernel_cfg.c にコメントとして出力する．
 
 /*
  * Task Stack Size Estimation: 
  *
- i±±ÉZoÌßöªoÍ³êéj
+ （ここに算出の過程が出力される）
  */
 
-»µÄCÌæ¤Èsð¶¬·éD
-
-#define TOPPERS_TSTKSZ     <S^XNÉæéX^bNgpÊÌvZl>
-
-
-(5-1-10) G[ð
-
-^XNÉÖ·éG[ðÍÌÊèÅ éD
-
-RtBM
-[^{Ìªo·éàÌ
-E^XNªêÂà¶ÝµÈ¢êD
-E¯¶tskidÉÎ·éCRE_TSKª¡ éêiE_OBJj
-EDEF_EPRÉÎ·éCRE_TSKªÈ¢êiE_NOEXSj
-E¯¶tskidÉÎ·éDEF_EPRª¡ éêiE_OBJj
-
-pX2Åo·éàÌ
-Etskatrªi[[TA_ACT]|[TA_RSTR]jÅÈ¢êiE_RSATRj
-	¦ ^[QbgË¶Å^XN®«ðÇÁÂiTARGET_TSKATRj
-E(TMIN_TPRI <= itskpri && itskpri <= TMAX_TPRI)ÅÈ¢êiE_PARj
-E¯¶ itskpri ÉÎ·é CRE_TSK ª¡ éê (E_PAR)
-Estkszª0©C^[Qbgè`ÌÅ¬liTARGET_MIN_STKSZjæèà¬³¢ê
-@iE_PARj
-Estk ª NULL ÅÈ¢êiE_PARj
-E(TMIN_TPRI <= exepri && exepri <= TMAX_TPRI) ÅÈ¢êFE_PAR G[
-E(itskpri < exepri && exepri <= TMAX_TPRI) Å éêFE_ILUSEG[
-
-pX3Åo·éàÌ
-Etask ªvOÌJnÔnÆµÄ³µ­È¢êiE_PARj
-	- ^[QbgË¶ÌliCHECK_FUNC_ALIGNjÌ{ÅÈ¢ê
-	- NULLÌêi^[QbgË¶CCHECK_FUNC_NONNULLj
-
-
-(5-2) CxgtOÉÖ·éè`
-
-CxgtOÌÈªLÍuFLG^flgvÅ éDÈºÅÍCVXeRtB
-M
-[Vt@CÉÌÃIAPIªÜÜêÄ¢éÉ¶¬·×«îñÉÂ
-¢Äq×éD
+そして，次のような行を生成する．
+
+#define TOPPERS_TSTKSZ     <全タスクによるスタック使用量の計算値>
+
+
+(5-1-10) エラー条件
+
+タスクに関するエラー条件は次の通りである．
+
+＊コンフィギュレータ本体が検出するもの
+・タスクが一つも存在しない場合．
+・同じtskidに対するCRE_TSKが複数ある場合（E_OBJ）
+・DEF_EPRに対応するCRE_TSKがない場合（E_NOEXS）
+・同じtskidに対するDEF_EPRが複数ある場合（E_OBJ）
+
+＊パス2で検出するもの
+・tskatrが（[[TA_ACT]|[TA_RSTR]）でない場合（E_RSATR）
+	※ ターゲット依存部でタスク属性を追加可（TARGET_TSKATR）
+・(TMIN_TPRI <= itskpri && itskpri <= TMAX_TPRI)でない場合（E_PAR）
+・同じ itskpri に対する CRE_TSK が複数ある場合 (E_PAR)
+・stkszが0か，ターゲット定義の最小値（TARGET_MIN_STKSZ）よりも小さい場
+　合（E_PAR）
+・stk が NULL でない場合（E_PAR）
+・(TMIN_TPRI <= exepri && exepri <= TMAX_TPRI) でない場合：E_PAR エラー
+・(itskpri < exepri && exepri <= TMAX_TPRI) である場合：E_ILUSEエラー
+
+＊パス3で検出するもの
+・task がプログラムの開始番地として正しくない場合（E_PAR）
+	- ターゲット依存の値（CHECK_FUNC_ALIGN）の倍数でない場合
+	- NULLの場合（ターゲット依存，CHECK_FUNC_NONNULL）
+
+
+(5-2) イベントフラグに関する定義
+
+イベントフラグの省略記号は「FLG／flg」である．以下では，システムコンフィ
+ギュレーションファイルに次の静的APIが含まれている時に生成すべき情報につ
+いて述べる．
 
 CRE_FLG(flgid, { flgatr, iflgptn });
 
-(5-2-1) CxgtOÌú»îñiCxgtO®«j
-
-CxgtOÌ®«îñÌú»îñÍCÌ`®Æ·éD
+(5-2-1) イベントフラグの初期化情報（イベントフラグ属性）
+
+イベントフラグの属性情報の初期化情報は，次の形式とする．
 
 const ATR _kernel_flginib_atr[TNUM_FLGID] = {(flgatr)};
 
-(5-2-2) CxgtOÌú»îñitOp^[úlj
-
-CxgtOÌtOp^[Ìú»îñÍCÌ`®Æ·éD
+(5-2-2) イベントフラグの初期化情報（フラグパターン初期値）
+
+イベントフラグのフラグパターンの初期化情報は，次の形式とする．
 
 const FLGPTN _kernel_flginib_iflgptn[TNUM_FLGID] = {(iflgptn)};
 
-(5-2-3) CxgtOÌtOp^[
-
-CxgtOÌtOp^[ði[·ézñÍCÈºÌ`®Æ·éD
+(5-2-3) イベントフラグのフラグパターン
+
+イベントフラグのフラグパターンを格納する配列は，以下の形式とする．
 
 FLGPTN _kernel_flgcb_flgptn[TNUM_FLGID];
 
-(5-2-4) G[ð
-
-CxgtOÉÖ·éG[ðÍÌÊèÅ éD
-
-RtBM
-[^{Ìªo·éàÌ
-E¯¶flgidÉÎ·éCRE_FLGª¡ éêiE_OBJj
-
-pX2Åo·éàÌ
-Etskatrªi[[TA_CLR]|[TA_NULL]jÅÈ¢êiE_RSATRj
-	¦ TA_CLR Æ TA_NULL ð¯Éwèµ½êCTA_CLR ÌÝðwèµ½êÆ¯lÉUé¤
-Eiflgptn ªFLGPTN Éi[Å«È¢(iflgptnÌlªFLGPTN^ÌÅålæèàå«¢)êiE_PARj 
-
-
-(5-3) f[^L
-[ÉÖ·éè`
-
-f[^L
-[ÌÈªLÍuDTQ^dtqvÅ éDÈºÅÍCVXeRtBM
-
-[Vt@CÉÌÃIAPIªÜÜêÄ¢éÉ¶¬·×«îñÉÂ¢Ä
-q×éD
+(5-2-4) エラー条件
+
+イベントフラグに関するエラー条件は次の通りである．
+
+＊コンフィギュレータ本体が検出するもの
+・同じflgidに対するCRE_FLGが複数ある場合（E_OBJ）
+
+＊パス2で検出するもの
+・tskatrが（[[TA_CLR]|[TA_NULL]）でない場合（E_RSATR）
+	※ TA_CLR と TA_NULL を同時に指定した場合，TA_CLR のみを指定した場合と同様に振る舞う
+・iflgptn がFLGPTN に格納できない(iflgptnの値がFLGPTN型の最大値よりも大きい)場合（E_PAR） 
+
+
+(5-3) データキューに関する定義
+
+データキューの省略記号は「DTQ／dtq」である．以下では，システムコンフィギュ
+レーションファイルに次の静的APIが含まれている時に生成すべき情報について
+述べる．
 
 CRE_DTQ(dtqid, { dtqatr, dtqcnt, dtqmb });
 
-(5-3-1) f[^L
-[ÉKvÈÌæÌè`
-
-f[^L
-[ÉKvÈÌæÆµÄCf[^L
-[ÇÌæª éD¶¬
-·éf[^L
-[ÉCKvÈTCYÌf[^L
-[ÇÌæðè`·éDï
-ÌIÉÍCãLÌÃIAPIÉÎµÄCÌè`ð¶¬·éD
-
-dtqcntª0ÅÈ¢êÌÝ¶¬
-static intptr_t _kernel_dtqmb_<f[^L
-[¼>[dtqcnt];
-
-(5-3-2) f[^L
-[Ìú»îñ(f[^L
-[®«)
-
-f[^L
-[Ì®«îñÌú»îñÍCÌ`®Æ·éD
+(5-3-1) データキューに必要なメモリ領域の定義
+
+データキューに必要なメモリ領域として，データキュー管理領域がある．生成
+するデータキュー毎に，必要なサイズのデータキュー管理領域を定義する．具
+体的には，上記の静的APIに対して，次の定義を生成する．
+
+＊dtqcntが0でない場合のみ生成
+static intptr_t _kernel_dtqmb_<データキュー名>[dtqcnt];
+
+(5-3-2) データキューの初期化情報(データキュー属性)
+
+データキューの属性情報の初期化情報は，次の形式とする．
 
 const ATR _kernel_dtqinib_atr[TNUM_DTQID] = {(dtqatr)};
 
-(5-3-3) f[^L
-[Ìú»îñ(f[^L
-[ÇÌæ)
-
-f[^L
-[Ìf[^L
-[ÇÌæÌú»îñÍCÌ`®Æ·éD
-
-intptr_t * const _kernel_dtqinib_data[TNUM_DTQID] = {(_kernel_dtqmb_<f[^L
-[¼>)};
-
-¦ SSPJ[lÅÍÒ¿óÔðT|[gµÈ¢½ßC¯úÄoµªÀ»Å«È¢D
-@»Ì½ß dtqcnt ª 0 ÌêCRtBM
-[VG[(E_PAR)ÆÈéD
-
-(5-3-4) f[^L
-[Ìú»îñ(f[^L
-[ÌTCY)
-
-f[^L
-[ÌTCYÌú»îñÍCÌ`®Æ·éD
+(5-3-3) データキューの初期化情報(データキュー管理領域)
+
+データキューのデータキュー管理領域の初期化情報は，次の形式とする．
+
+intptr_t * const _kernel_dtqinib_data[TNUM_DTQID] = {(_kernel_dtqmb_<データキュー名>)};
+
+※ SSPカーネルでは待ち状態をサポートしないため，同期呼出しが実現できない．
+　そのため dtqcnt が 0 の場合，コンフィギュレーションエラー(E_PAR)となる．
+
+(5-3-4) データキューの初期化情報(データキューのサイズ)
+
+データキューのサイズの初期化情報は，次の形式とする．
 
 const uint8_t _kernel_dtqinib_size[TNUM_DTQID] = {(dtqcnt)};
 
-(5-3-5) f[^L
-[Éi[³êÄ¢évf
-
-f[^L
-[Éi[³êÄ¢évfÌzñÍCÌ`®Æ·éD
+(5-3-5) データキューに格納されている要素数
+
+データキューに格納されている要素数の配列は，次の形式とする．
 
 uint8_t _kernel_dtqcb_count[TNUM_DTQID];
 
-(5-3-6) f[^L
-[ÌæªEövf
-
-f[^L
-[Éi[³êÄ¢éæªvfEövfði[·ézñÍCÌ`®Æ·éD
+(5-3-6) データキューの先頭・末尾要素
+
+データキューに格納されている先頭要素・末尾要素を格納する配列は，次の形式とする．
 
 uint8_t _kernel_dtqcb_head[TNUM_DTQID];
 uint8_t _kernel_dtqcb_tail[TNUM_DTQID];
 
-(5-3-7) G[ð
-
-f[^L
-[ÉÖ·éG[ðÍÌÊèÅ éD
-
-RtBM
-[^{Ìªo·éàÌ
-E¯¶dtqidÉÎ·éCRE_DTQª¡ éêiE_OBJj
-
-pX2Åo·éàÌ
-EdtqatrªimTA_NULLnjÅÈ¢êiE_RSATRj
-Edtqcntª 0 Ìê (E_PAR)
-Edtqmb ª NULL ÅÈ¢êiE_NOSPTj
-
-
-(5-4) üúnhÉÖ·éè`
-
-üúnhÌÈªLÍuCYC^cycvÅ éDÈºÅÍCVXeRtB
-M
-[Vt@CÉÌÃIAPIªÜÜêÄ¢éÉ¶¬·×«îñÉÂ
-¢Äq×éD
+(5-3-7) エラー条件
+
+データキューに関するエラー条件は次の通りである．
+
+＊コンフィギュレータ本体が検出するもの
+・同じdtqidに対するCRE_DTQが複数ある場合（E_OBJ）
+
+＊パス2で検出するもの
+・dtqatrが（［TA_NULL］）でない場合（E_RSATR）
+・dtqcntが 0 の場合 (E_PAR)
+・dtqmb が NULL でない場合（E_NOSPT）
+
+
+(5-4) 周期ハンドラに関する定義
+
+周期ハンドラの省略記号は「CYC／cyc」である．以下では，システムコンフィ
+ギュレーションファイルに次の静的APIが含まれている時に生成すべき情報につ
+いて述べる．
 
 CRE_CYC(cycid, { cycatr, exinf, cychdr, cyctim, cycphs });
 
-(5-4-1) üúnhÌú»îñig£îñj
-
-üúnhÌg£îñÌú»îñÍCÌ`®Æ·éD
+(5-4-1) 周期ハンドラの初期化情報（拡張情報）
+
+周期ハンドラの拡張情報の初期化情報は，次の形式とする．
 
 const intptr_t _kernel_cycinib_exinf[TNUM_CYCID] = {(intptr_t)(exinf)};
 
-(5-4-2) üúnhÌú»îñiN®Ônj
-
-üúnhÌAhXÌú»îñÍCÌ`®Æ·éD
+(5-4-2) 周期ハンドラの初期化情報（起動番地）
+
+周期ハンドラのアドレスの初期化情報は，次の形式とする．
 
 const CYCHDR _kernel_cycinib_cychdr[TNUM_CYCID] = {(cycdhr)};
 
-(5-4-3) üúnhÌú»îñiN®üúj
-
-üúnhÌN®üúÌú»îñÍCÌ`®Æ·éD
+(5-4-3) 周期ハンドラの初期化情報（起動周期）
+
+周期ハンドラの起動周期の初期化情報は，次の形式とする．
 
 const RELTIM _kernel_cycinib_cyctim[TNUM_CYCID] = {(cyctim)};
 
-(5-4-4) üúnhÌú»îñiÊj
-
-üúnhÌÊÌú»îñÍCÌ`®Æ·éD
+(5-4-4) 周期ハンドラの初期化情報（位相）
+
+周期ハンドラの位相の初期化情報は，次の形式とする．
 
 const RELTIM _kernel_cycinib_cycphs[TNUM_CYCID] = {(cycphs)};
 
-(5-4-5) üúnhÌ®ìóÔ
-
-üúnhÌ®ìóÔði[·éÏÍCÌ`®Æ·éD
+(5-4-5) 周期ハンドラの動作状態
+
+周期ハンドラの動作状態を格納する変数は，次の形式とする．
 
 uint_t _kernel_cyccb_cycact;
 
-Ï _kernel_cyccb_cycact ÌerbgÍ»ê¼êÌüúnhÉÎ·éD
-üúnhIDª1Ì^XNÍÅºÊrbg(LSB)ÉÎÃ¯çêÄ¨èC
-IDÌlª1Â¦éÉ1ÂÊÌrbgª»ê¼êÎÃ¯çêéD
-á¦ÎCnhIDª4ÌüúnhÍÅºÊ©ç¦Ä4ÔÚÌrbgª
-Î·éD
-
-®ìµÄ¢éóÔÌüúnhÍC»ÌüúnhÉÎ·érbgª
-1ÆÈéD®ìµÄ¢È¢óÔÌüúnhÍÎ·érbgª0ÉÈéD
-
-(5-4-6) üúnhÌñN®Ìè`
-
-üúnhÌñN®ði[·éÏÍCÌ`®Æ·éD
+変数 _kernel_cyccb_cycact の各ビットはそれぞれの周期ハンドラに対応する．
+周期ハンドラIDが1のタスクは最下位ビット(LSB)に対応づけられており，
+IDの値が1つ増える毎に1つ高位のビットがそれぞれ対応づけられる．
+例えば，ハンドラIDが4の周期ハンドラは最下位から数えて4番目のビットが
+対応する．
+
+動作している状態の周期ハンドラは，その周期ハンドラに対応するビットが
+1となる．動作していない状態の周期ハンドラは対応するビットが0になる．
+
+(5-4-6) 周期ハンドラの次回起動時刻の定義
+
+周期ハンドラの次回起動時刻を格納する変数は，次の形式とする．
 
 EVTTIM _kernel_cyccb_evttim[TNUM_CYCID];
 
-(5-4-7) ^CCxgL
-[ÌÌItZbgîñÌè`
-
-^CCxgL
-[ÌÅüúnhpÉèÄçê½ÌæÌæªÊuð
-¦·îñðÏÉÛ·éD^CCxgL
-[ÍzñÅ\»³êÄ¨èC
-æªÊuÍzñÌæª©çÌItZbgiÂÜèzñÌCfbNXjÆµÄ
-\»³êéDüúnhÉÎµÄÍ^CCxgL
-[zñÌæª©çè
-Äçêé½ßC±ÌlÍíÉ 0 ÆÈéD]ÁÄÏè`ÍCÌ`®ÆÈéD
+(5-4-7) タイムイベントキューの中のオフセット情報の定義
+
+タイムイベントキューの中で周期ハンドラ用に割り当てられた領域の先頭位置を
+示す情報を変数に保持する．タイムイベントキューは配列で表現されており，
+先頭位置は配列の先頭からのオフセット（つまり配列のインデックス）として
+表現される．周期ハンドラに対してはタイムイベントキュー配列の先頭から割り
+当てられるため，この値は常に 0 となる．従って変数定義は，次の形式となる．
 
 const uint_t _kernel_cycevtid_offset = 0;
 
-^CCxgL
-[ÉÂ¢ÄÍ(9-3)ðQÆÌ±ÆD
-
-(5-4-8) G[ð
-
-üúnhÉÖ·éG[ðÍÌÊèÅ éD
-
-RtBM
-[^{Ìªo·éàÌ
-E¯¶cycidÉÎ·éCRE_CYCª¡ éêiE_OBJj
-
-pX2Åo·éàÌ
-EcycatrªimTA_STAnjÅÈ¢êiE_RSATRj
-E(0 < cyctim && cyctim <= TMAX_RELTIM)ÅÈ¢êiE_PARj
-E(0 <= cycphs && cycphs <= TMAX_RELTIM)ÅÈ¢êiE_PARj
-ExFcycatrÉTA_STAªÝè³êÄ¢ÄC(cycphs == 0)Ìê
-ECRE_CYC ÌGgª16Âæè½¢ ¦SSPÀè`
-
-pX3Åo·éàÌ
-EcychdrªvOÌJnÔnÆµÄ³µ­È¢êiE_PARj
-	- ^[QbgË¶ÌliCHECK_FUNC_ALIGNjÌ{ÅÈ¢ê
-	- NULLÌêi^[QbgË¶CCHECK_FUNC_NONNULLj
-
-(5-5) A[nhÉÖ·éè`
-
-A[nhÌÈªLÍuALM^almvÅ éDÈºÅÍCVXeR
-tBM
-[Vt@CÉÌÃIAPIªÜÜêÄ¢éÉ¶¬·×«îñ
-ÉÂ¢Äq×éD
+タイムイベントキューについては(9-3)を参照のこと．
+
+(5-4-8) エラー条件
+
+周期ハンドラに関するエラー条件は次の通りである．
+
+＊コンフィギュレータ本体が検出するもの
+・同じcycidに対するCRE_CYCが複数ある場合（E_OBJ）
+
+＊パス2で検出するもの
+・cycatrが（［TA_STA］）でない場合（E_RSATR）
+・(0 < cyctim && cyctim <= TMAX_RELTIM)でない場合（E_PAR）
+・(0 <= cycphs && cycphs <= TMAX_RELTIM)でない場合（E_PAR）
+・警告：cycatrにTA_STAが設定されていて，(cycphs == 0)の場合
+・CRE_CYC のエントリが16個より多い ※SSP実装定義事項
+
+＊パス3で検出するもの
+・cychdrがプログラムの開始番地として正しくない場合（E_PAR）
+	- ターゲット依存の値（CHECK_FUNC_ALIGN）の倍数でない場合
+	- NULLの場合（ターゲット依存，CHECK_FUNC_NONNULL）
+
+(5-5) アラームハンドラに関する定義
+
+アラームハンドラの省略記号は「ALM／alm」である．以下では，システムコン
+フィギュレーションファイルに次の静的APIが含まれている時に生成すべき情報
+について述べる．
 
 CRE_ALM(ID almid, { almatr, (intptr_t)(exinf), almhdr });
 
-(5-5-1) A[nhÌú»îñig£îñj
-
-A[nhÌg£îñÌú»îñÍCÌ`®Æ·éD
+(5-5-1) アラームハンドラの初期化情報（拡張情報）
+
+アラームハンドラの拡張情報の初期化情報は，次の形式とする．
 
 const intptr_t _kernel_alminib_exinf[TNUM_ALMID] = {(intptr_t)(exinf)};
 
-(5-5-2) A[nhÌú»îñiN®Ônj
-
-A[nhÌN®ÔnÌú»îñÍCÌ`®Æ·éD
+(5-5-2) アラームハンドラの初期化情報（起動番地）
+
+アラームハンドラの起動番地の初期化情報は，次の形式とする．
 
 const ALMHDR _kernel_alminib_almhdr[TNUM_ALMID] = {(almhdr)};
 
-(5-5-3) A[nhÌ®ìóÔ
-
-A[nhÌ®ìóÔði[·éÏÍCÌ`®Æ·éD
+(5-5-3) アラームハンドラの動作状態
+
+アラームハンドラの動作状態を格納する変数は，次の形式とする．
 
 uint_t _kernel_almcb_almact;
 
-Ï _kernel_almcb_almact ÌerbgÍÂXÌA[nhÉÎ·éD
-A[nhIDª1Ì^XNÍÅºÊrbg(LSB)ÉÎÃ¯çêÄ¨èC
-IDÌlª1Â¦éÉ1ÂÊÌrbgª»ê¼êÎÃ¯çêéD
-á¦ÎCnhIDª4ÌA[nhÍÅºÊ©ç¦Ä4ÔÚÌrbgª
-Î·éD
-
-®ìµÄ¢éóÔÌA[nhÍC»ÌüúnhÉÎ·érbgª
-1ÆÈéD®ìµÄ¢È¢óÔÌüúnhÍÎ·érbgª0ÉÈéD
-
-(5-5-4) ^CCxgL
-[ÌÌItZbgîñÌè`
-
-^CCxgL
-[ÌÅA[nhpÉèÄçê½ÌæÌæª
-Êuð¦·îñðÏÉÛ·éD^CCxgL
-[ÍzñÅ\»³êÄ¨èC
-æªÊuÍzñÌæª©çÌItZbgiÂÜèzñÌCfbNXjÆµÄ
-\»³êéDA[nhÉÎµÄÍüúnhpÌæÌÌvf©ç
-èÄçêé½ßC±ÌlÍíÉüúnhÌÂÉµ¢D
-Ïè`ÍCÌ`®ÆÈéD
-
-const uint_t _kernel_almevtid_offset = <üúnhÌÂ>;
-
-^CCxgL
-[ÉÂ¢ÄÍ(9-3)ðQÆÌ±ÆD
-
-(5-5-5) G[ð
-
-A[nhÉÖ·éG[ðÍÌÊèÅ éD
-
-RtBM
-[^{Ìªo·éàÌ
-E¯¶almidÉÎ·éCRE_ALMª¡ éêiE_OBJj
-
-pX2Åo·éàÌ
-EalmatrªiTA_NULLjÅÈ¢êiE_RSATRj
-ECRE_ALM ÌGgª16Âæè½¢ ¦SSPÀè`
-
-pX3Åo·éàÌ
-EalmhdrªvOÌJnÔnÆµÄ³µ­È¢êiE_PARj
-	- ^[QbgË¶ÌliCHECK_FUNC_ALIGNjÌ{ÅÈ¢ê
-	- NULLÌêi^[QbgË¶CCHECK_FUNC_NONNULLj
-
-(6) ÝÉÖ·éè`
-
-ÝÉÖµÄ¶¬·éîñÍC^[QbgÉèßé±ÆªÅ«éD
-^[QbgÉèßÈ¢êÉÍCÈºÅq×é^[QbgÉË¶µÈ¢WIÈ
-îñð¶¬·éD^[QbgÉèßéêÉÍC(6-1)Æ(6-3)Éq×éîñÍ¶
-¬µÈ¢i(6-2)Éq×éîñÍ¶¬·éjD
-
-(6-1) ÝvCÉÖ·éè`
-
-ÝvCÌ®«ðÝè·éÃIAPIuCFG_INTvÅÝèµ½Ýv
-CÉÖ·éè`ð¶¬·éDïÌIÉÍÌÊèD
-
-ÈºÅÍCVXeRtBM
-[Vt@CÉÌÃIAPIªÜÜê
-Ä¢éÉ¶¬·×«îñÉÂ¢Äq×éD
+変数 _kernel_almcb_almact の各ビットは個々のアラームハンドラに対応する．
+アラームハンドラIDが1のタスクは最下位ビット(LSB)に対応づけられており，
+IDの値が1つ増える毎に1つ高位のビットがそれぞれ対応づけられる．
+例えば，ハンドラIDが4のアラームハンドラは最下位から数えて4番目のビットが
+対応する．
+
+動作している状態のアラームハンドラは，その周期ハンドラに対応するビットが
+1となる．動作していない状態の周期ハンドラは対応するビットが0になる．
+
+(5-5-4) タイムイベントキューの中のオフセット情報の定義
+
+タイムイベントキューの中でアラームハンドラ用に割り当てられた領域の先頭
+位置を示す情報を変数に保持する．タイムイベントキューは配列で表現されており，
+先頭位置は配列の先頭からのオフセット（つまり配列のインデックス）として
+表現される．アラームハンドラに対しては周期ハンドラ用領域の次の要素から
+割り当てられるため，この値は常に周期ハンドラの個数に等しい．
+変数定義は，次の形式となる．
+
+const uint_t _kernel_almevtid_offset = <周期ハンドラの個数>;
+
+タイムイベントキューについては(9-3)を参照のこと．
+
+(5-5-5) エラー条件
+
+アラームハンドラに関するエラー条件は次の通りである．
+
+＊コンフィギュレータ本体が検出するもの
+・同じalmidに対するCRE_ALMが複数ある場合（E_OBJ）
+
+＊パス2で検出するもの
+・almatrが（TA_NULL）でない場合（E_RSATR）
+・CRE_ALM のエントリが16個より多い ※SSP実装定義事項
+
+＊パス3で検出するもの
+・almhdrがプログラムの開始番地として正しくない場合（E_PAR）
+	- ターゲット依存の値（CHECK_FUNC_ALIGN）の倍数でない場合
+	- NULLの場合（ターゲット依存，CHECK_FUNC_NONNULL）
+
+(6) 割込みに関する定義
+
+割込みに関して生成する情報は，ターゲット毎に定めることができる．
+ターゲット毎に定めない場合には，以下で述べるターゲットに依存しない標準的な
+情報を生成する．ターゲット毎に定める場合には，(6-1)と(6-3)に述べる情報は生
+成しない（(6-2)に述べる情報は生成する）．
+
+(6-1) 割込み要求ラインに関する定義
+
+割込み要求ラインの属性を設定する静的API「CFG_INT」で設定した割込み要求
+ラインに関する定義を生成する．具体的には次の通り．
+
+以下では，システムコンフィギュレーションファイルに次の静的APIが含まれ
+ている時に生成すべき情報について述べる．
 
 CFG_INT(INTNO intno, { intatr, intpri });
 
-(6-1-1) Ýè·éÝvCÌ
-
-Ýè·éÝvCÌð}Nè`·évvZbTfBNeB
-ui#definejð¶¬·éDÜ½C»ÌlðÂÏÌè`ð¶¬·éDïÌI
-ÉÍCÌæ¤Èsð¶¬·éD
-
-#define TNUM_INTNO <Ýè·éÝvCÌ>
+(6-1-1) 設定する割込み要求ラインの数
+
+設定する割込み要求ラインの数をマクロ定義するプリプロセッサディレクティ
+ブ（#define）を生成する．また，その値を持つ変数の定義を生成する．具体的
+には，次のような行を生成する．
+
+#define TNUM_INTNO <設定する割込み要求ラインの数>
 const uint_t	_kernel_tnum_intno = TNUM_INTNO;
 
-(6-1-2) ÝvCÌú»îñiÝÔj
-
-ÝÔÌú»îñÍCÌ`®Æ·éD
+(6-1-2) 割込み要求ラインの初期化情報（割込み番号）
+
+割込み番号の初期化情報は，次の形式とする．
 
 const INTNO _kernel_intinib_intno[TNUM_INTNO] = {(intno)};
 
-(6-1-3) ÝvCÌú»îñiÝvC®«j
-
-ÝvC®«Ìú»îñÍCÌ`®Æ·éD
+(6-1-3) 割込み要求ラインの初期化情報（割込み要求ライン属性）
+
+割込み要求ライン属性の初期化情報は，次の形式とする．
 
 const ATR _kernel_intinib_intatr[TNUM_INTNO] = {(intatr)};
 
-(6-1-4) ÝvCÌú»îñiÝvC®«j
-
-ÝDæxÌú»îñÍCÌ`®Æ·éD
+(6-1-4) 割込み要求ラインの初期化情報（割込み要求ライン属性）
+
+割込み優先度の初期化情報は，次の形式とする．
 
 const PRI _kernel_intinib_intpri[TNUM_INTNO] = {(intpri)};
 
-(6-1-5) G[ð
-
-ÝvCÉÖ·éG[ðÍÌÊèÅ éD
-
-pX2Åo·éàÌ
-Eintno ª CFG_INTÉÎ·éÝÔÆµÄ³µ­È¢êiE_PARj
-Eintno ª CFG_INTÉæÁÄÝèÏÝÌêiE_OBJj
-EintatrªimTA_ENAINTnbmTA_EDGEnjÅÈ¢êiE_RSATRj
-	¦ ^[QbgË¶ÅÝ®«ðÇÁÂiTARGET_INTATRj
-EJ[lÇÉÅè³êÄ¢é intno ÉÎµÄCintpriÉTMIN_INTPRI
-@æèà¬³¢liÂÜèCDæxÆµÄÍ¢ljªwè³ê½êiE_OBJj
-EJ[lÇOÉÅè³êÄ¢é intno ÉÎµÄCintpri É TMIN_INTPRI
-@Æ¯¶©Ü½Í»êæèàå«¢liÂÜèCDæxÆµÄÍ¯¶©Ü½Í
-@»êæèá¢ljªwè³ê½êiE_OBJj
-Eintpri ª CFG_INT ÉÎ·éÝDæxÆµÄ³µ­È¢êiE_PARj
-
-KvÉ¶Ä^[QbgË¶Åo·éàÌ
-Eintatr ªÝ®«ÆµÄÝèÅ«È¢lÌêiE_RSATRj
-Eintpri ªÝDæxÆµÄÝèÅ«È¢lÌêiE_PARj
-E¯êÌÝDæxµ©ÝèÅ«È¢ÝvCÉÎµÄCÙÈé
-@ÝDæxðÝèµ½êiE_PARj
-
-(6-2) ÝT[rX[`ÉÖ·éè`
-
-(6-2-1) ÝnhÌ¶¬
-
-VXeRtBM
-[Vt@CÉÜÜêéÝT[rX[`
-ðÇÁ·éÃIAPIuATT_ISRvÉîÃ«C¯êÌÝÔÉÎµÄÇÁ³
-ê½ÝT[rX[`ðÉÄÑo·Öð¶¬·éD
-
-ïÌIÉÍC¯êÌÝÔÉÎµÄÝT[rX[`ðÇÁ·é
+(6-1-5) エラー条件
+
+割込み要求ラインに関するエラー条件は次の通りである．
+
+＊パス2で検出するもの
+・intno が CFG_INTに対する割込み番号として正しくない場合（E_PAR）
+・intno が CFG_INTによって設定済みの場合（E_OBJ）
+・intatrが（［TA_ENAINT］｜［TA_EDGE］）でない場合（E_RSATR）
+	※ ターゲット依存部で割込み属性を追加可（TARGET_INTATR）
+・カーネル管理に固定されている intno に対して，intpriにTMIN_INTPRI
+　よりも小さい値（つまり，優先度としては高い値）が指定された場合（E_OBJ）
+・カーネル管理外に固定されている intno に対して，intpri に TMIN_INTPRI
+　と同じかまたはそれよりも大きい値（つまり，優先度としては同じかまたは
+　それより低い値）が指定された場合（E_OBJ）
+・intpri が CFG_INT に対する割込み優先度として正しくない場合（E_PAR）
+
+＊必要に応じてターゲット依存部で検出するもの
+・intatr が割込み属性として設定できない値の場合（E_RSATR）
+・intpri が割込み優先度として設定できない値の場合（E_PAR）
+・同一の割込み優先度しか設定できない割込み要求ラインに対して，異なる割
+　込み優先度を設定した場合（E_PAR）
+
+(6-2) 割込みサービスルーチンに関する定義
+
+(6-2-1) 割込みハンドラの生成
+
+システムコンフィギュレーションファイル中に含まれる割込みサービスルーチ
+ンを追加する静的API「ATT_ISR」に基づき，同一の割込み番号に対して追加さ
+れた割込みサービスルーチンを順に呼び出す関数を生成する．
+
+具体的には，同一の割込み番号に対して割込みサービスルーチンを追加する
 
 ATT_ISR({ isratr_1, exinf_1, intno, isr_1, isrpri_1 });
 ATT_ISR({ isratr_2, exinf_2, intno, isr_2, isrpri_2 });
-	cc
+	……
 ATT_ISR({ isratr_n, exinf_n, intno, isr_n, isrpri_n });
 
-Æ¢¤ÃIAPIÉÎµÄCÌæ¤ÈÖð¶¬·éD±±ÅCisrpri_1C
-isrpri_2CccCisrpri_nÍClÌ¬³¢ÉÀ×Ö¦çêÄ¢éàÌÆ·éD
-lª¯¶àÌÌÔÅÍCVXeRtBM
-[Vt@CÅÌÃI
-APIÌÌÊèÉÀñÅ¢éàÌÆ·éD
+という静的APIに対して，次のような関数を生成する．ここで，isrpri_1，
+isrpri_2，……，isrpri_nは，値の小さい順に並べ替えられているものとする．
+値が同じものの間では，システムコンフィギュレーションファイル中での静的
+APIの順序の通りに並んでいるものとする．
 
 static void
@@ -1070,25 +986,25 @@
 	saved_ipm = i_get_ipm();
 
-	LOG_ISR_ENTER(<intno>);		/* ISR1ÌÄoµ */
+	LOG_ISR_ENTER(<intno>);		/* ISR1の呼出し */
 	isr_1((intptr_t)(exinf_1));
 	LOG_ISR_LEAVE(intno);
 
-	if (i_sense_lock()) {		/* ISRÌÄoµOÌóÔÉß· */
+	if (i_sense_lock()) {		/* ISRの呼出し前の状態に戻す */
 		i_unlock_cpu();
 	}
 	i_set_ipm(saved_ipm);
 
-	LOG_ISR_ENTER(<intno>);		/* ISR2ÌÄoµ */
+	LOG_ISR_ENTER(<intno>);		/* ISR2の呼出し */
 	isr_2((intptr_t)(exinf_2));
 	LOG_ISR_LEAVE(intno);
 
-	if (i_sense_lock()) {		/* ISRÌÄoµOÌóÔÉß· */
+	if (i_sense_lock()) {		/* ISRの呼出し前の状態に戻す */
 		i_unlock_cpu();
 	}
 	i_set_ipm(saved_ipm);
 
-	cc
-
-	LOG_ISR_ENTER(<intno>);		/* ISRnÌÄoµ */
+	……
+
+	LOG_ISR_ENTER(<intno>);		/* ISRnの呼出し */
 	isr_n((intptr_t)(exinf_n));
 	LOG_ISR_LEAVE(intno);
@@ -1097,9 +1013,9 @@
 }
 
-±±ÅCISRnÌÄoµÌãÉÄoµOÌóÔÉß³È¢ÌÍCÝnh
-©çÌ^[ÉæèCJ[lª³ÌóÔÉß·½ßÅ éD
-
-¯êÌÝÔÉÎµÄÇÁ³ê½ÝT[rX[`ª1ÂÌÝÌê
-ÉÍCÌæ¤ÈÖð¶¬·éD
+ここで，ISRnの呼出しの後に呼出し前の状態に戻さないのは，割込みハンドラ
+からのリターンにより，カーネルが元の状態に戻すためである．
+
+同一の割込み番号に対して追加された割込みサービスルーチンが1つのみの場合
+には，次のような関数を生成する．
 
 static void
@@ -1113,259 +1029,249 @@
 }
 
-yÛèz±±ÅCLOG_ISR_ENTERCLOG_ISR_LEAVEÌøðÇ¤·é©ªÛèÆ
-µÄcÁÄ¢éDATT_ISRÅo^³ê½ISRÉÎµÄÍISR IDªt^³êÈ¢½
-ßCIDÅISRðæÊ·é±ÆªÅ«È¢DâÞÈ­ÝÔðnµÄ¢éªC
-g£îñiexinfjàn·×«©àµêÈ¢D
-
-(6-2-2) ÝnhÌè`É·é
-
-ãÌæ¤ÉÝnhð¶¬µ½êÉÍCÉà¾·éÝnh
-ÉÖ·éè`É¨¢ÄCVXeRtBM
-[Vt@CÉÌÃ
-IAPIªÜÜêÄ¢éÌÆ¯lÉ·éD
+【課題】ここで，LOG_ISR_ENTER，LOG_ISR_LEAVEの引数をどうするかが課題と
+して残っている．ATT_ISRで登録されたISRに対してはISR IDが付与されないた
+め，IDでISRを区別することができない．やむなく割込み番号を渡しているが，
+拡張情報（exinf）も渡すべきかもしれない．
+
+(6-2-2) 割込みハンドラの定義に相当する処理
+
+上のように割込みハンドラを生成した場合には，次に説明する割込みハンドラ
+に関する定義において，システムコンフィギュレーションファイル中に次の静
+的APIが含まれているのと同様に処理する．
 
 DEF_INH(inhno, { TA_NULL, _kernel_inthdr_<intno> });
 
-±±ÅinhnoÍCintnoÉÎ·éÝnhÔÅ éD
-
-(6-2-3) G[ð
-
-ÝT[rX[`ÉÖ·éG[ðÍÌÊèÅ éD
-
-pX2Åo·éàÌ
-Eisratr ªiTA_NULLjÅÈ¢êiE_RSATRj
-	¦ ^[QbgË¶ÅÝT[rX[`®«ðÇÁÂiTARGET_ISRATRj
-Eintno ª ATT_ISR ÉÎ·éÝÔÆµÄ³µ­È¢êiE_PARj
-	¦ intno ÉÎ·é inhno ªÈ¢êðÜÞ
-E(TMIN_ISRPRI <= isrpri && isrpri <= TMAX_ISRPRI)ÅÈ¢êiE_PARj
-Eintno ÉÎ·é inhno ÉÎµÄ DEF_INH ª éêiE_OBJj
-Eintno ÉÎ·é CFG_INT ªÈ¢êiE_OBJj
-Eintno ÉÎµÄ CFG_INT ª¶ÝµC©ÂCCFG_INT ÅÝè³ê½ÝDæxª
-@TMIN_INTPRI æèà¬³¢iÂÜèCDæxÆµÄÍ¢jêiE_OBJj
-	¦ J[lÇOÌISRÍT|[gµÈ¢½ß
-
-KvÉ¶Ä^[QbgË¶Åo·éàÌ
-EisrªvOÌJnÔnÆµÄ³µ­È¢êiE_PARj
-
-(6-3) ÝnhÉÖ·éè`
-
-Ýnhðè`·éÃIAPIuDEF_INHvÅè`µ½Ýnh
-iãqÌÝT[rX[`ÌÇÁÉæèRtBM
-[^ª¶¬µ½
-ÝnhðÜÞjÉÖ·éè`ð¶¬·éDïÌIÉÍÌÊèD
-
-ÈºÅÍCVXeRtBM
-[Vt@CÉÌÃIAPIªÜÜê
-Ä¢éÉ¶¬·×«îñÉÂ¢Äq×éD
+ここでinhnoは，intnoに対応する割込みハンドラ番号である．
+
+(6-2-3) エラー条件
+
+割込みサービスルーチンに関するエラー条件は次の通りである．
+
+＊パス2で検出するもの
+・isratr が（TA_NULL）でない場合（E_RSATR）
+	※ ターゲット依存部で割込みサービスルーチン属性を追加可（TARGET_ISRATR）
+・intno が ATT_ISR に対する割込み番号として正しくない場合（E_PAR）
+	※ intno に対応する inhno がない場合を含む
+・(TMIN_ISRPRI <= isrpri && isrpri <= TMAX_ISRPRI)でない場合（E_PAR）
+・intno に対応する inhno に対して DEF_INH がある場合（E_OBJ）
+・intno に対する CFG_INT がない場合（E_OBJ）
+・intno に対して CFG_INT が存在し，かつ，CFG_INT で設定された割込み優先度が
+　TMIN_INTPRI よりも小さい（つまり，優先度としては高い）場合（E_OBJ）
+	※ カーネル管理外のISRはサポートしないため
+
+＊必要に応じてターゲット依存部で検出するもの
+・isrがプログラムの開始番地として正しくない場合（E_PAR）
+
+(6-3) 割込みハンドラに関する定義
+
+割込みハンドラを定義する静的API「DEF_INH」で定義した割込みハンドラ
+（上述の割込みサービスルーチンの追加によりコンフィギュレータが生成した
+割込みハンドラを含む）に関する定義を生成する．具体的には次の通り．
+
+以下では，システムコンフィギュレーションファイルに次の静的APIが含まれ
+ている時に生成すべき情報について述べる．
 
 DEF_INH(inhno, { inhatr, inthdr });
 
-(6-3-1) è`·éÝnhÌ
-
-è`·éÝnhÌð}Nè`·évvZbTfBNeBu
-i#definejð¶¬·éDÜ½C»ÌlðÂÏÌè`ð¶¬·éDïÌI
-ÉÍCÌæ¤Èsð¶¬·éD
-
-#define TNUM_INHNO <è`·éÝnhÌ>
+(6-3-1) 定義する割込みハンドラの数
+
+定義する割込みハンドラの数をマクロ定義するプリプロセッサディレクティブ
+（#define）を生成する．また，その値を持つ変数の定義を生成する．具体的
+には，次のような行を生成する．
+
+#define TNUM_INHNO <定義する割込みハンドラの数>
 const uint_t	_kernel_tnum_inhno = TNUM_INHNO;
 
-(6-3-2) ÝnhÌoüû
-
-è`·éÝnhÉCÝnhÌoüû[`ð¶¬·
-éDïÌIÉÍCÌæ¤Èsð¶¬·éD
+(6-3-2) 割込みハンドラの出入口処理
+
+定義する割込みハンドラ毎に，割込みハンドラの出入口処理ルーチンを生成す
+る．具体的には，次のような行を生成する．
 
 INTHDR_ENTRY(inhno, inhno_num, inthdr)
 
-±±Åinhno_numÍCinhnoiÝnhÔjðlÅ\»µ½àÌÅC
-AZu¾êLqÉgp·é½ßÌàÌÅ éD
-
-(6-3-3) ÝnhÌú»îñiÝnhÔj
-
-ÝnhÔÌú»îñÍCÌ`®Æ·éD
+ここでinhno_numは，inhno（割込みハンドラ番号）を数値で表現したもので，
+アセンブリ言語記述に使用するためのものである．
+
+(6-3-3) 割込みハンドラの初期化情報（割込みハンドラ番号）
+
+割込みハンドラ番号の初期化情報は，次の形式とする．
 
 const INHNO _kernel_inhinib_inhno[TNUM_INHNO] = {(inhno)};
 
-(6-3-4) ÝnhÌú»îñiÝnh®«j
-
-Ýnh®«Ìú»îñÍCÌ`®Æ·éD
+(6-3-4) 割込みハンドラの初期化情報（割込みハンドラ属性）
+
+割込みハンドラ属性の初期化情報は，次の形式とする．
 
 const ATR _kernel_inhinib_inhatr[TNUM_INHNO] = {(inhatr)};
 
-(6-3-5) ÝnhÌú»îñiÝnhAhXj
-
-ÝnhÌAhXÌú»îñÍCÌ`®Æ·éD
+(6-3-5) 割込みハンドラの初期化情報（割込みハンドラアドレス）
+
+割込みハンドラのアドレスの初期化情報は，次の形式とする．
 
 const FP _kernel_inhinib_entry[TNUM_INHNO] = {(inthdr)};
 
-(6-3-6) G[ð
-
-ÝnhÉÖ·éG[ðÍÌÊèÅ éD
-
-pX2Åo·éàÌ
-Einhno ª DEF_INH ÉÎ·éÝnhÔÆµÄ³µ­È¢êiE_PARj
-Einhno ª DEF_INH ÉæÁÄÝèÏÝÌêiE_OBJj
-#Einhno ÉÎ·é intno ÉÎµÄ ATT_ISR ª éêiE_OBJj
-#	¦ inhno ÉÎ·é intno ªÈ¢êÉÍC±Ì`FbNðsíÈ¢
-#	¨ ±Ì`FbNÍCÝT[rX[`¤Ås¤
-Einhatr ªiTA_NULLjÅÈ¢êiE_RSATRj
-	¦ ^[QbgË¶ÅÝnh®«ðÇÁÂiTARGET_INHATRj
-	¦ TA_NONKERNEL ðg¤êÉÍCTARGET_INHATR ÉÝè·é
-EJ[lÇÉÅè³êÄ¢é inhno ÉÎµÄCinhatr É TA_NONKERNEL ª
-@wè³êÄ¢éêiE_RSATRj
-EJ[lÇOÉÅè³êÄ¢é inhno ÉÎµÄCinhatr É TA_NONKERNEL ª
-@wè³êÄ¢È¢êiE_RSATRj
-Einhno ÉÎ·é intno ÉÎ·é CFG_INT ªÈ¢êiE_OBJj
-	¦ inhno ÉÎ·é intno ªÈ¢êÉÍC±Ì`FbNðsíÈ¢
-Einhatr É TA_NONKERNEL ªwè³êÄ¨ç¸Cinhno ÉÎ·é intno ÉÎµÄ
-@CFG_INT ÅÝè³ê½ÝDæxª TMIN_INTPRI æèà¬³¢êiE_OBJj
-	¦ inhno ÉÎ·é intno ªÈ¢êÉÍC±Ì`FbNðsíÈ¢
-Einhatr É TA_NONKERNEL ªwè³êÄ¨èCinhno ÉÎ·é intno ÉÎµÄ
-@CFG_INT ÅÝè³ê½ÝDæxª TMIN_INTPRI ÈãÅ éêiE_OBJj
-	¦ inhno ÉÎ·é intno ªÈ¢êÉÍC±Ì`FbNðsíÈ¢
-
-KvÉ¶Ä^[QbgË¶Åo·éàÌ
-EinthdrªvOÌJnÔnÆµÄ³µ­È¢êiE_PARj
-
-(7) CPUáOÉÖ·éè`
-
-CPUáOÉÖµÄ¶¬·éîñÍC^[QbgÉèßé±ÆªÅ«éD
-^[QbgÉèßÈ¢êÉÍCÈºÅq×é^[QbgÉË¶µÈ¢WIÈ
-îñð¶¬·éD^[QbgÉèßéêÉÍC±êçÌîñÍ¶¬³êÈ¢D
-
-VXeRtBM
-[Vt@CÉCCPUáOnhðè`·é
-ÃIAPIuDEF_EXCvªÜÜêÄ¢éêÉCCPUáOnhÉÖ·éè`ð
-¶¬·éD
-
-ÈºÅÍCVXeRtBM
-[Vt@CÉÌÃIAPIªÜÜê
-Ä¢éÉ¶¬·×«îñÉÂ¢Äq×éD
+(6-3-6) エラー条件
+
+割込みハンドラに関するエラー条件は次の通りである．
+
+＊パス2で検出するもの
+・inhno が DEF_INH に対する割込みハンドラ番号として正しくない場合（E_PAR）
+・inhno が DEF_INH によって設定済みの場合（E_OBJ）
+#・inhno に対応する intno に対して ATT_ISR がある場合（E_OBJ）
+#	※ inhno に対応する intno がない場合には，このチェックを行わない
+#	→ このチェックは，割込みサービスルーチン側で行う
+・inhatr が（TA_NULL）でない場合（E_RSATR）
+	※ ターゲット依存部で割込みハンドラ属性を追加可（TARGET_INHATR）
+	※ TA_NONKERNEL を使う場合には，TARGET_INHATR に設定する
+・カーネル管理に固定されている inhno に対して，inhatr に TA_NONKERNEL が
+　指定されている場合（E_RSATR）
+・カーネル管理外に固定されている inhno に対して，inhatr に TA_NONKERNEL が
+　指定されていない場合（E_RSATR）
+・inhno に対応する intno に対する CFG_INT がない場合（E_OBJ）
+	※ inhno に対応する intno がない場合には，このチェックを行わない
+・inhatr に TA_NONKERNEL が指定されておらず，inhno に対応する intno に対して
+　CFG_INT で設定された割込み優先度が TMIN_INTPRI よりも小さい場合（E_OBJ）
+	※ inhno に対応する intno がない場合には，このチェックを行わない
+・inhatr に TA_NONKERNEL が指定されており，inhno に対応する intno に対して
+　CFG_INT で設定された割込み優先度が TMIN_INTPRI 以上である場合（E_OBJ）
+	※ inhno に対応する intno がない場合には，このチェックを行わない
+
+＊必要に応じてターゲット依存部で検出するもの
+・inthdrがプログラムの開始番地として正しくない場合（E_PAR）
+
+(7) CPU例外に関する定義
+
+CPU例外に関して生成する情報は，ターゲット毎に定めることができる．
+ターゲット毎に定めない場合には，以下で述べるターゲットに依存しない標準的な
+情報を生成する．ターゲット毎に定める場合には，これらの情報は生成されない．
+
+システムコンフィギュレーションファイル中に，CPU例外ハンドラを定義する
+静的API「DEF_EXC」が含まれている場合に，CPU例外ハンドラに関する定義を
+生成する．
+
+以下では，システムコンフィギュレーションファイルに次の静的APIが含まれ
+ている時に生成すべき情報について述べる．
 
 DEF_EXC(excno, { excatr, exchdr });
 
-(7-1) è`·éCPUáOnhÌ
-
-è`·éCPUáOnhÌð}Nè`·évvZbTfBNeB
-ui#definejð¶¬·éDÜ½C»ÌlðÂÏÌè`ð¶¬·éDïÌ
-IÉÍCÌæ¤Èsð¶¬·éD
-
-#define TNUM_EXCNO <è`·éCPUáOnhÌ>
+(7-1) 定義するCPU例外ハンドラの数
+
+定義するCPU例外ハンドラの数をマクロ定義するプリプロセッサディレクティ
+ブ（#define）を生成する．また，その値を持つ変数の定義を生成する．具体
+的には，次のような行を生成する．
+
+#define TNUM_EXCNO <定義するCPU例外ハンドラの数>
 const uint_t	_kernel_tnum_excno = TNUM_EXCNO;
 
-(7-2) CPUáOnhÌoüû
-
-è`·éCPUáOnhÉCCPUáOnhÌoüû[`ð¶¬
-·éDïÌIÉÍCÌæ¤Èsð¶¬·éD
+(7-2) CPU例外ハンドラの出入口処理
+
+定義するCPU例外ハンドラ毎に，CPU例外ハンドラの出入口処理ルーチンを生成
+する．具体的には，次のような行を生成する．
 
 EXCHDR_ENTRY(excno, excno_num, exchdr)
 
-±±Åexcno_numÍCexcnoiCPUáOnhÔjðlÅ\»µ½àÌÅC
-AZu¾êLqÉgp·é½ßÌàÌÅ éD
-
-(7-3) CPUáOnhÔÌú»îñiCPUáOÔj
-
-CPUáOnhÔÌú»îñÍCÌ`®Æ·éD
+ここでexcno_numは，excno（CPU例外ハンドラ番号）を数値で表現したもので，
+アセンブリ言語記述に使用するためのものである．
+
+(7-3) CPU例外ハンドラ番号の初期化情報（CPU例外番号）
+
+CPU例外ハンドラ番号の初期化情報は，次の形式とする．
 
 const EXCNO _kernel_excinib_excno[TNUM_EXCNO] = {(excno)};
 
-(7-4) CPUáOnhÔÌú»îñiCPUáOnh®«j
-
-CPUáOnh®«Ìú»îñÍCÌ`®Æ·éD
+(7-4) CPU例外ハンドラ番号の初期化情報（CPU例外ハンドラ属性）
+
+CPU例外ハンドラ属性の初期化情報は，次の形式とする．
 
 const ATR _kernel_excinib_excatr[TNUM_EXCNO] = {(excatr)};
 
-(7-5) CPUáOnhÔÌú»îñiCPUáOnhÌæªÔnj
-
-CPUáOnhÌæªÔnÌú»îñÍCÌ`®Æ·éD
+(7-5) CPU例外ハンドラ番号の初期化情報（CPU例外ハンドラの先頭番地）
+
+CPU例外ハンドラの先頭番地の初期化情報は，次の形式とする．
 
 const FP _kernel_excinib_entry[TNUM_EXCNO] = {(FP)(EXC_ENTRY(excno, exchdr))};
 
-±±Å EXC_ENTRY ÍCPUáOnhÔÆCPUáOnhÌæªÔnð³É
-CPUáOnhÌüèûÌ¼Ìð¶¬·é}NÅC^[QbgË¶Å
-è`³êÄ¢éD
-
-(7-6) G[ð
-
-CPUáOnhÉÖ·éG[ðÍÌÊèÅ éD
-
-pX2Åo·éàÌ
-Eexcno ª DEF_EXC ÉÎ·é CPU áOnhÔÆµÄ³µ­È¢êiE_PARj
-Eexcno ª DEF_EXC ÉæÁÄÝèÏÝÌêiE_OBJj
-Eexcatr ªiTA_NULLjÅÈ¢êiE_RSATRj
-	¦ ^[QbgË¶ÅCPUáOnh®«ðÇÁÂiTARGET_EXCATRj
-
-KvÉ¶Ä^[QbgË¶Åo·éàÌ
-EexchdrªvOÌJnÔnÆµÄ³µ­È¢êiE_PARj
-
-(8) ñ^XNReLXgpÌX^bNÌæÉÖ·éè`
-
-æÌ (5-1-7) Åàà¾µ½æ¤ÉCSSPJ[lÅÍCRtBM
-[^Í
-¤LX^bNÌæÌÝmÛ·éDµ½ªÁÄCñ^XNReLXgêpÌX^bNÌæÍ
-mÛµÈ¢D±Ì½ßCDEF_ICS ÌðÍCñ^XNReLXgªp¢éX^bNÌæÌ
-TCYðwè·é±ÆÌÝÆÈéDÜ½CDEF_ICS ÅÍæªÔn istk ÆµÄ NULL ÌÝ
-ó¯t¯éDNULL ÈOÌlðwèµ½êÍG[ÆÈéD
-
-¦ ¤LX^bNÌæÉÖ·éè`Í (9) ðQÆ·é±ÆD
-
-È¨Cñ^XNReLXgpÌX^bNTCYÉÖ·éè`ÍCÈºÌæ¤É
-DEF_ICS ÌL³É©©íç¸íÉ¶¬³êéD
-
-(8-1) DEF_ICS ªÈ¢ê
-
-VXeRtBM
-[Vt@CÉCÃIAPIuDEF_ICSvªÜÜêÄ
-¢È¢êÉÍCÌsð¶¬·éD
+ここで EXC_ENTRY はCPU例外ハンドラ番号とCPU例外ハンドラの先頭番地を元に
+CPU例外ハンドラの入り口処理の名称を生成するマクロで，ターゲット依存部で
+定義されている．
+
+(7-6) エラー条件
+
+CPU例外ハンドラに関するエラー条件は次の通りである．
+
+＊パス2で検出するもの
+・excno が DEF_EXC に対する CPU 例外ハンドラ番号として正しくない場合（E_PAR）
+・excno が DEF_EXC によって設定済みの場合（E_OBJ）
+・excatr が（TA_NULL）でない場合（E_RSATR）
+	※ ターゲット依存部でCPU例外ハンドラ属性を追加可（TARGET_EXCATR）
+
+＊必要に応じてターゲット依存部で検出するもの
+・exchdrがプログラムの開始番地として正しくない場合（E_PAR）
+
+(8) 非タスクコンテキスト用のスタック領域に関する定義
+
+先の (5-1-7) でも説明したように，SSPカーネルでは，コンフィギュレータは
+共有スタック領域のみ確保する．したがって，非タスクコンテキスト専用のスタック領域は
+確保しない．このため，DEF_ICS の役割は，非タスクコンテキストが用いるスタック領域の
+サイズを指定することのみとなる．また，DEF_ICS では先頭番地 istk として NULL のみ
+受け付ける．NULL 以外の値を指定した場合はエラーとなる．
+
+※ 共有スタック領域に関する定義は (9) を参照すること．
+
+なお，非タスクコンテキスト用のスタックサイズに関する定義は，以下のように
+DEF_ICS の有無にかかわらず常に生成される．
+
+(8-1) DEF_ICS がない場合
+
+システムコンフィギュレーションファイルに，静的API「DEF_ICS」が含まれて
+いない場合には，次の行を生成する．
 
 #define TOPPERS_ISTKSZ          DEFAULT_ISTKSZ
 
-(8-2) DEF_ICS ª éê
-
-ÈºÅÍCVXeRtBM
-[Vt@CÉÌÃIAPIªÜÜêÄ
-¢éÉ¶¬·×«îñÉÂ¢Äq×éD
+(8-2) DEF_ICS がある場合
+
+以下では，システムコンフィギュレーションファイルに次の静的APIが含まれて
+いる時に生成すべき情報について述べる．
 
 DEF_ICS({ istksz, istk });
 
-DEF_ICS ÅÍ istk ÆµÄNULLÌÝwèÂ\Å èCoÍÉÍe¿µÈ¢D
-ñ^XNReLXgpX^bNÌæÌTCY istksz ÉæèÌsð¶¬·éD
+DEF_ICS では istk としてNULLのみ指定可能であり，出力には影響しない．
+非タスクコンテキスト用スタック領域のサイズ istksz により次の行を生成する．
 
 #define TOPPERS_ISTKSZ          (istksz)
 
-¦¤LX^bNÌæÌè`ÉÂ¢ÄÍ (9) ðQÆÌ±ÆD
-
-(8-3) G[ð
-
-ñ^XNReLXgpÌX^bNÌæÉÖ·éG[ðÍÌÊèÅ éD
-
-pX2Åo·éàÌ
-EÃIAPIuDEF_ICSvª¡ éiE_OBJj
-EistkszªX^bNÌæÌTCYÆµÄ³µ­È¢êiE_PARj
-        - istksz ª 0 Ìê
-EistkªX^bNÌæÌæªÔnÆµÄ³µ­È¢êiE_PARj
-        - NULLÈOÌlÌê
-
-KvÉ¶Ä^[QbgË¶Åo·éàÌ
-Eistkszª¬³·¬éêiE_PARj
-
-
-(9) ¤LX^bNÌæÉÖ·éè`
-
-æÌ (5-1-7) ÉÄà¾µ½æ¤ÉCSSPJ[lÅÍ^XNðÜÞSÄÌPÊª
-¯¶X^bNÌæð¤p·éæ¤ÉÝv³êÄ¢éD»µÄ¤p³êéX^bNÌæÌ
-±Æðu¤LX^bNÌævÆÄÔD
-
-¤LX^bNÌæÌè`Í DEF_STK ðp¢Äs¤D»µÄCRtBM
-[VÅÍ
-¤LX^bNÌæÉÖ·éè`ÍCDEF_STK ÌL³ÉÖíç¸íÉ¶¬³êéD
-
-ÈºÅÍCDEF_STK ÌL³¨æÑ^¦çêéøÌàeÉæèC
-ÇÌæ¤É¤LX^bNÌæÌè`ª¶¬³êé©ÉÂ¢Äà¾·éD
-
-(9-1) DEF_STK ªÈ¢êÉ¶¬³êéè`
-
-VXeRtBM
-[Vt@CÉCÃIAPIuDEF_STKvªÜÜêÄ
-¢È¢êÉÍCÌsð¶¬·éD
+※共有スタック領域の定義については (9) を参照のこと．
+
+(8-3) エラー条件
+
+非タスクコンテキスト用のスタック領域に関するエラー条件は次の通りである．
+
+＊パス2で検出するもの
+・静的API「DEF_ICS」が複数ある（E_OBJ）
+・istkszがスタック領域のサイズとして正しくない場合（E_PAR）
+        - istksz が 0 の場合
+・istkがスタック領域の先頭番地として正しくない場合（E_PAR）
+        - NULL以外の値の場合
+
+＊必要に応じてターゲット依存部で検出するもの
+・istkszが小さすぎる場合（E_PAR）
+
+
+(9) 共有スタック領域に関する定義
+
+先の (5-1-7) にて説明したように，SSPカーネルではタスクを含む全ての処理単位が
+同じスタック領域を共用するように設計されている．そして共用されるスタック領域の
+ことを「共有スタック領域」と呼ぶ．
+
+共有スタック領域の定義は DEF_STK を用いて行う．そして，コンフィギュレーションでは
+共有スタック領域に関する定義は，DEF_STK の有無に関わらず常に生成される．
+
+以下では，DEF_STK の有無および与えられる引数の内容により，
+どのように共有スタック領域の定義が生成されるかについて説明する．
+
+(9-1) DEF_STK がない場合に生成される定義
+
+システムコンフィギュレーションファイルに，静的API「DEF_STK」が含まれて
+いない場合には，次の行を生成する．
 
 static STK_T        		_kernel_stack[COUNT_STK_T(TOPPERS_TSTKSZ+TOPPERS_ISTKSZ)];
@@ -1373,17 +1279,16 @@
 #define TOPPERS_STKSZ		ROUND_STK_T(TOPPERS_TSTKSZ+TOPPERS_ISTKSZ)
 
-(9-2) DEF_STKª éêÉÌÝ¶¬³êéè`
-
-ÈºÅÍCVXeRtBM
-[Vt@CÉÌÃIAPIªÜÜêÄ
-¢éÉ¶¬·×«îñÉÂ¢Äq×éD
+(9-2) DEF_STKがある場合にのみ生成される定義
+
+以下では，システムコンフィギュレーションファイルに次の静的APIが含まれて
+いる時に生成すべき情報について述べる．
 
 DEF_STK({ stksz, stk });
 
-(9-2-1) stk ª NULL Ìê
-
-stk ª NULL ÌêÉÍCwè³ê½TCYÌ¤LX^bNÌæðmÛµC
-¤LX^bNÌæÌú»îñð¶¬·éD
-ïÌIÉÍCãLÌÃIAPIÉÎµÄCÌsð¶¬·éD
+(9-2-1) stk が NULL の場合
+
+stk が NULL の場合には，指定されたサイズの共有スタック領域を確保し，
+共有スタック領域の初期化情報を生成する．
+具体的には，上記の静的APIに対して，次の行を生成する．
 
 static STK_T        		_kernel_stack[COUNT_STK_T(stksz)];
@@ -1391,14 +1296,14 @@
 #define TOPPERS_STKSZ		ROUND_STK_T(stksz)
 
-(9-2-2) stk ª NULL ÈOÌê
-
-stk ª NULL ÅÈ¢êÉÍC¤LX^bNÌæÌú»îñðCÌ`®Å¶¬·éD
+(9-2-2) stk が NULL 以外の場合
+
+stk が NULL でない場合には，共有スタック領域の初期化情報を，次の形式で生成する．
 
 #define TOPPERS_STK 		(stk)
 #define TOPPERS_STKSZ		(stksz)
 
-(9-3) DEF_STK ÌL³ÉÖWÈ­CíÉ¶¬³êéè`
-
-DEF_STKÌL³Éæç¸CÌè`ð¶¬·éD
+(9-3) DEF_STK の有無に関係なく，常に生成される定義
+
+DEF_STKの有無によらず，次の定義を生成する．
 
 const SIZE  	_kernel_stksz = TOPPERS_STKSZ;
@@ -1409,89 +1314,84 @@
 #endif /* TOPPERS_ISTKPT */
 
-(9-4) G[ð
-
-¤LX^bNÌæÉÖ·éG[ðÍÌÊèÅ éD
-
-pX2Åo·éàÌ
-EÃIAPIuDEF_STKvª¡ éiE_OBJj
-EstkszªX^bNÌæÌTCYÆµÄ³µ­È¢êiE_PARj
-	- stksz ÆµÄ 0 ðwèµ½ê
-	- ^[QbgË¶ÌliCHECK_STKSZ_ALIGNjÌ{ÅÈ¢ê
-	¦ ±ÌG[`FbNÍCstk ª NULL ÅÈ¢êÉÌÝs¤
-ExFstksz ªC(TOPPERS_TSTKSZ+TOPPERS_ISTKSZ) æèà¬³¢ê
-	¦ DEF_STK ª¶ÝµCstk ªñNULLÌêD
-	¦ }NÌlÉÂ¢ÄÍ (5-1-9), (8-1), (8-2) ðQÆÌ±Æ
-
-pX3Åo·éàÌ
-EstkªX^bNÌæÌæªÔnÆµÄ³µ­È¢êiE_PARj
-	- ^[QbgË¶ÌliCHECK_STACK_ALIGNjÌ{ÅÈ¢ê
-	- NULLÌêi^[QbgË¶CCHECK_STACK_NONNULLj
-
-(10) ^CCxgÇÉÖ·éè`
-
-^CCxgÇÉÖAµÄCÌè`ð¶¬·éD
-
-(10-1) ^CCxgnhÌ
-
-¶¬³ê½^CCxgnhÌð}Nè`·évvZbT
-fBNeCu(#define) ð¶¬·éD
-
-SSPJ[lÅÍ^CCxgnhÆµÄüúnh¨æÑA[
-nhÌÝðT|[g·éD»Ì½ßCCRE_CYC ¨æÑ CRE_ALM Ìvª
-^CCxgnhÆÈéD
-
-ïÌIÉÍCÌæ¤ÈLqð¶¬·éD
-
-#define TNUM_TMEVT	<^CCxgnhÌÂ>
-
-(10-2) ^CCxgubNÌTCYÌè`
-
-^CCxgubNÌvfðè`·éÏð¶¬·éD
-^CCxgubNÌvfÍ^CCxgnhÌÉµ¢D
-
-ïÌIÉÍCÌæ¤ÈLqð¶¬·éD
-
-const uint_t _kernel_tmevt_queue = <^CCxgnhÌÂ>;
-
-(10-3) ^CCxgL
-[Ìè`
-
-^CCxgÇÌ½ßÌL
-[ð¶¬·éDL
-[ÍzñÆµÄÀ³êÄ
-¢éDL
-[Ìæªð\»·é½ßÌzñvfðmÛ·é½ßCzñÌvfÍ
-u^CCxgnhÌÂ{1vÆÈéD
-
-ïÌIÉÍCÌæ¤ÈLqð¶¬·éD
+(9-4) エラー条件
+
+共有スタック領域に関するエラー条件は次の通りである．
+
+＊パス2で検出するもの
+・静的API「DEF_STK」が複数ある（E_OBJ）
+・stkszがスタック領域のサイズとして正しくない場合（E_PAR）
+	- stksz として 0 を指定した場合
+	- ターゲット依存の値（CHECK_STKSZ_ALIGN）の倍数でない場合
+	※ このエラーチェックは，stk が NULL でない場合にのみ行う
+・警告：stksz が，(TOPPERS_TSTKSZ+TOPPERS_ISTKSZ) よりも小さい場合
+	※ DEF_STK が存在し，stk が非NULLの場合．
+	※ マクロの値については (5-1-9), (8-1), (8-2) を参照のこと
+
+＊パス3で検出するもの
+・stkがスタック領域の先頭番地として正しくない場合（E_PAR）
+	- ターゲット依存の値（CHECK_STACK_ALIGN）の倍数でない場合
+	- NULLの場合（ターゲット依存，CHECK_STACK_NONNULL）
+
+(10) タイムイベント管理に関する定義
+
+タイムイベント管理に関連して，次の定義を生成する．
+
+(10-1) タイムイベントハンドラの数
+
+生成されたタイムイベントハンドラの数をマクロ定義するプリプロセッサ
+ディレクテイブ(#define) を生成する．
+
+SSPカーネルではタイムイベントハンドラとして周期ハンドラおよびアラーム
+ハンドラのみをサポートする．そのため，CRE_CYC および CRE_ALM の合計が
+タイムイベントハンドラ数となる．
+
+具体的には，次のような記述を生成する．
+
+#define TNUM_TMEVT	<タイムイベントハンドラの個数>
+
+(10-2) タイムイベントブロックのサイズの定義
+
+タイムイベントブロックの要素数を定義する変数を生成する．
+タイムイベントブロックの要素数はタイムイベントハンドラの数に等しい．
+
+具体的には，次のような記述を生成する．
+
+const uint_t _kernel_tmevt_queue = <タイムイベントハンドラの個数>;
+
+(10-3) タイムイベントキューの定義
+
+タイムイベント管理のためのキューを生成する．キューは配列として実装されて
+いる．キューの先頭を表現するための配列要素を確保するため，配列の要素数は
+「タイムイベントハンドラの個数＋1」となる．
+
+具体的には，次のような記述を生成する．
 
 extern QUEUE tmevt_queue[TNUM_TMEVT+1];
 
-(10-4) ^CCxgÔÌè`
-
-^CCxgnhÌN®ði[·éÏÍCÌ`®Æ·éD
+(10-4) タイムイベント時間の定義
+
+タイムイベントハンドラの起動時刻を格納する変数は，次の形式とする．
 
 extern EVTTIM tmevt_time[TNUM_TMEVT];
 
-(10-5) ^CCxgÌR[obNÌè`
-
-^CCxgnhÌR[obNÖði[·éÏÍC
-Ì`®Æ·éD
+(10-5) タイムイベントのコールバックの定義
+
+タイムイベントハンドラのコールバック関数を格納する変数は，
+次の形式とする．
 
 extern CBACK tmevt_callback[TNUM_TMEVT];
 
-(10-6) ^CCxgR[obNÌøÌè`
-
-^CCxgnhÌR[obNÖÌøði[·éÏÍC
-Ì`®Æ·éD
+(10-6) タイムイベントコールバックの引数の定義
+
+タイムイベントハンドラのコールバック関数の引数を格納する変数は，
+次の形式とする．
 
 extern uintptr_t tmevt_arg[TNUM_TMEVT];
 
-(11) eW
-[Ìú»ÖÌè`
-
-eJ[lIuWFNgÌÇCÝÇCCPUáOnhÇÌe@\ð
-ú»ÖðÉÄÑo·Öi_kernel_initialize_objectjð¶¬·éD
-Ì3ÂÌú»Öð¢ÄÍCgpµÈ¢@\Ìú»ÖÍÄÑo³È¢D
+(11) 各モジュールの初期化関数の定義
+
+各カーネルオブジェクトの管理，割込み管理，CPU例外ハンドラ管理の各機能を
+初期化関数を順に呼び出す関数（_kernel_initialize_object）を生成する．次
+の3つの初期化関数を除いては，使用しない機能の初期化関数は呼び出さない．
 
 _kernel_initialize_task();
@@ -1499,9 +1399,9 @@
 _kernel_initialize_exception
 
-Ü½Ìú»ÖÉÂ¢ÄÍCüúnhÜ½ÍA[nhðgp·é
-êÉÌÝÄÑo³êéD
+また次の初期化関数については，周期ハンドラまたはアラームハンドラを使用する
+場合にのみ呼び出される．
 _kernel_initialize_time_event();
 
-·×ÄÌ@\ðgÁ½êÉ¶¬³êéÖÍÌÊèÅ éD
+すべての機能を使った場合に生成される関数は次の通りである．
 
 void
@@ -1518,29 +1418,27 @@
 
 
-(12) ú»[`ÌÀsÖÌè`
-
-VXeRtBM
-[Vt@CÉÜÜêéú»[`ðÇÁ
-·éÃIAPIuATT_INIvÉÎµÄCÇÁµ½ú»[`ðÉÄÑo·Ö
-ð¶¬·éDïÌIÉÍC
+(12) 初期化ルーチンの実行関数の定義
+
+システムコンフィギュレーションファイル中に含まれる初期化ルーチンを追加
+する静的API「ATT_INI」に対して，追加した初期化ルーチンを順に呼び出す関
+数を生成する．具体的には，
 
 ATT_INI({ iniatr, exinf, inirtn });
 
-Æ¢¤ÃIAPIÉÎµÄC
+という静的APIに対して，
 
 (inirtn)((intptr_t)(exinf));
 
-ðÄÑo·ÖðC_kernel_call_inirtnÆ¢¤¼OÅ¶¬·éDú»[`
-ðÄÑo·ÍCVXeRtBM
-[Vt@CÅÌÃI
-APIÌÉêv³¹éD
-
-á¦ÎC
+を呼び出す関数を，_kernel_call_inirtnという名前で生成する．初期化ルーチ
+ンを呼び出す順序は，システムコンフィギュレーションファイル中での静的
+APIの順序に一致させる．
+
+例えば，
 
 ATT_INI({ TA_NULL, 0, timer_initialize });
 ATT_INI({ TA_NULL, CONSOLE_PORTID, serial_initialize });
 
-Æ¢¤2ÂÌÃIAPIª±ÌÅLq³ê½É¶¬·éÖÍÌÊèÅ 
-éD
+という2つの静的APIがこの順序で記述された時に生成する関数は次の通りであ
+る．
 
 void
@@ -1551,39 +1449,37 @@
 }
 
-(12-1) G[ð
-
-ú»[`ÉÖ·éG[ðÍÌÊèÅ éD
-
-pX2Åo·éàÌ
-EiniatrªiTA_NULLjÅÈ¢êiE_RSATRj
-
-KvÉ¶Ä^[QbgË¶Åo·éàÌ
-EinirtnªvOÌJnÔnÆµÄ³µ­È¢êiE_PARj
-
-(13) I¹[`ÌÀsÖÌè`
-
-VXeRtBM
-[Vt@CÉÜÜêéI¹[`ðÇ
-Á·éÃIAPIuATT_TERvÉÎµÄCÇÁµ½I¹[`ðÉÄÑo
-·Öð¶¬·éDïÌIÉÍC
+(12-1) エラー条件
+
+初期化ルーチンに関するエラー条件は次の通りである．
+
+＊パス2で検出するもの
+・iniatrが（TA_NULL）でない場合（E_RSATR）
+
+＊必要に応じてターゲット依存部で検出するもの
+・inirtnがプログラムの開始番地として正しくない場合（E_PAR）
+
+(13) 終了処理ルーチンの実行関数の定義
+
+システムコンフィギュレーションファイル中に含まれる終了処理ルーチンを追
+加する静的API「ATT_TER」に対して，追加した終了処理ルーチンを順に呼び出
+す関数を生成する．具体的には，
 
 ATT_TER({ teratr, exinf, terrtn });
 
-Æ¢¤ÃIAPIÉÎµÄC
+という静的APIに対して，
 
 (terrtn)((intptr_t)(exinf));
 
-ðÄÑo·ÖðC_kernel_call_terrtnÆ¢¤¼OÅ¶¬·éDI¹[
-`ðÄÑo·ÍCVXeRtBM
-[Vt@CÅÌÃI
-APIÌtÉêv³¹éD
-
-á¦ÎC
+を呼び出す関数を，_kernel_call_terrtnという名前で生成する．終了処理ルー
+チンを呼び出す順序は，システムコンフィギュレーションファイル中での静的
+APIの逆順に一致させる．
+
+例えば，
 
 ATT_TER({ TA_NULL, 0, timer_terminate });
 ATT_TER({ TA_NULL, CONSOLE_PORTID, serial_terminate });
 
-Æ¢¤2ÂÌÃIAPIª±ÌÅLq³ê½É¶¬·éÖÍÌÊèÅ 
-éD
+という2つの静的APIがこの順序で記述された時に生成する関数は次の通りであ
+る．
 
 void
@@ -1594,13 +1490,13 @@
 }
 
-(13-1) G[ð
-
-I¹[`ÉÖ·éG[ðÍÌÊèÅ éD
-
-pX2Åo·éàÌ
-EteratrªiTA_NULLjÅÈ¢êiE_RSATRj
-
-KvÉ¶Ä^[QbgË¶Åo·éàÌ
-EterrtnªvOÌJnÔnÆµÄ³µ­È¢êiE_PARj
-
-Èã
+(13-1) エラー条件
+
+終了処理ルーチンに関するエラー条件は次の通りである．
+
+＊パス2で検出するもの
+・teratrが（TA_NULL）でない場合（E_RSATR）
+
+＊必要に応じてターゲット依存部で検出するもの
+・terrtnがプログラムの開始番地として正しくない場合（E_PAR）
+
+以上
Index: /ssp_qb_r5f100le_cs/trunk/doc/extension.txt
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/doc/extension.txt	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/doc/extension.txt	(revision 95)
@@ -1,12 +1,11 @@
 
-		TOPPERS/SSPJ[l
-		g£pbP[Wdl
+		TOPPERS/SSPカーネル
+		拡張パッケージ仕様
 
-		Îo[W: Release 1.3.0
-		ÅIXV: 2015N 512ú
+		対応バージョン: Release 1.3.0
+		最終更新: 2015年 5月12日
 
-±ÌhL
-gÍCTOPPERS/SSPJ[lÌ@\ðg£·é½ßÌg£
-pbP[WÉt¢ÄLqµ½àÌÅ éD
+このドキュメントは，TOPPERS/SSPカーネルの機能を拡張するための拡張
+パッケージに付いて記述したものである．
 
 ----------------------------------------------------------------------
@@ -18,110 +17,103 @@
                 Nagoya Municipal Industrial Research Institute, JAPAN
  
- ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
-      \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
-     XR[hÉÜÜêÄ¢é±ÆD
- (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
-     pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
-     Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
-     Ì³ÛØKèðfÚ·é±ÆD
- (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
-     pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
-     ÆD
-   (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
-       ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
-   (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
-       ñ·é±ÆD
- (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
-     Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
-     Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
-     RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
-     ÆÓ·é±ÆD
+ 上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ 変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+     権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+     スコード中に含まれていること．
+ (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+     用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+     者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+     の無保証規定を掲載すること．
+ (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+     用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+     と．
+   (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+       作権表示，この利用条件および下記の無保証規定を掲載すること．
+   (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+       報告すること．
+ (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+     害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+     また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+     由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+     免責すること．
  
- {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- ÌÓCðíÈ¢D
+ 本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ の責任を負わない．
  
 ----------------------------------------------------------------------
 
-g£pbP[WÌTv
+○拡張パッケージの概要
 
-Eüúnh@\
-EA[nh@\
-EVXeÇ@\
-ECxgtO@\
-Ef[^L
-[@\
+・周期ハンドラ機能
+・アラームハンドラ機能
+・システム時刻管理機能
+・イベントフラグ機能
+・データキュー機能
 
-ÔÇ@\ðÀ»·é½ßÌ^CCxgÇ@\àg£pbP[WÉ
-ÜñÅ¢éD
+時間管理機能を実現するためのタイムイベント管理機能も拡張パッケージ中に
+含んでいる．
 
-üúnh@\
+○周期ハンドラ機能
 
-üúnh@\ÍCÈºÌT[rXR[ðT|[gµÄ¢éD
+周期ハンドラ機能は，以下のサービスコールをサポートしている．
 
-ECRE_CYC
-Esta_cyc
-Estp_cyc
+・CRE_CYC
+・sta_cyc
+・stp_cyc
 
-½¾µCSSPJ[lÅÍ16ÂÜÅµ©üúnhð¶¬Å«È¢Æ¢¤
-§Àª éD
+ただし，SSPカーネルでは16個までしか周期ハンドラを生成できないという
+制限がある．
 
-A[nh@\
+○アラームハンドラ機能
 
-A[nh@\ÍCÈºÌT[rXR[ðT|[gµÄ¢éD
+アラームハンドラ機能は，以下のサービスコールをサポートしている．
 
-ECRE_ALM
-Esta_alm
-Eista_alm
-Estp_alm
-Eistp_alm
+・CRE_ALM
+・sta_alm
+・ista_alm
+・stp_alm
+・istp_alm
 
-½¾µCSSPJ[lÅÍ16ÂÜÅµ©A[nhð¶¬Å«È¢Æ¢¤
-§Àª éD
+ただし，SSPカーネルでは16個までしかアラームハンドラを生成できないという
+制限がある．
 
-VXeÇ@\
+○システム時刻管理機能
 
-VXeÇ@\ÍCÈºÌT[rXR[ðT|[gµÄ¢éD
+システム時刻管理機能は，以下のサービスコールをサポートしている．
 
-Eget_tim
+・get_tim
 
-CxgtO@\
+○イベントフラグ機能
 
-CxgtO@\ÍCÈºÌT[rXR[ðT|[gµÄ¢éD
+イベントフラグ機能は，以下のサービスコールをサポートしている．
 
-ECRE_FLG
-Eset_flg
-Eiset_flg
-Eclr_flg 
-Epol_flg 
+・CRE_FLG
+・set_flg
+・iset_flg
+・clr_flg 
+・pol_flg 
 
-f[^L
-[@\
+○データキュー機能
 
-f[^L
-[@\ÍCÈºÌT[rXR[ðT|[gµÄ¢éD
+データキュー機能は，以下のサービスコールをサポートしている．
 
-ECRE_DTQ
-Epsnd_dtq
-Eipsnd_dtq
-Eprcv_dtq
+・CRE_DTQ
+・psnd_dtq
+・ipsnd_dtq
+・prcv_dtq
 
-t@X
+○リファレンス
 
-(1) üúnh@\
+(1) 周期ハンドラ機能
 
 	ER ercd = sta_cyc(ID cycid)
 	ER ercd = stp_cyc(ID cycid)
 
-(2) A[nh@\
+(2) アラームハンドラ機能
 
 	ER ercd = sta_alm(ID almid, RELTIM almtim)
@@ -130,9 +122,9 @@
 	ER ercd = istp_alm(ID almid)
 
-(3) ÔÇ@\
+(3) 時間管理機能
 
 	ER ercd = get_tim(SYSTIM *p_systim)
 
-(4) CxgtO@\
+(4) イベントフラグ機能
 
     ER set_flg(ID flgid, FLGPTN setptn);
@@ -141,6 +133,5 @@
     ER pol_flg(ID flgid, FLGPTN waiptn, MODE wfmode, FLGPTN *p_flgptn);
 
-(5) f[^L
-[@\
+(5) データキュー機能
 
     ER psnd_dtq(ID dtqid, intptr_t data);
@@ -149,23 +140,22 @@
 
 
- ÃIAPIê
+○ 静的API一覧
 
-(1) üúnh@\
+(1) 周期ハンドラ機能
 
 CRE_CYC(ID cycid, { ATR cycatr, intptr_t exinf,
 			CYCHDR cychdr, RELTIM cyctim, RELTIM cycphs })
 
-(2) A[nh@\
+(2) アラームハンドラ機能
 
 CRE_ALM(ID almid, { ATR almatr, intptr_t exinf, ALMHDR almhdr })
 
-(3) CxgtO@\
+(3) イベントフラグ機能
 
 CRE_FLG(ID flgid, { ATR flgatr, FLGPTN iflgptn })
 
-(4) f[^L
-[@\
+(4) データキュー機能
 
 CRE_DTQ(ID dtqid, { ATR dtqatr, uint_t dtqcnt, void *dtqmb })
 
-ÈãD
+以上．
Index: /ssp_qb_r5f100le_cs/trunk/doc/porting.txt
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/doc/porting.txt	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/doc/porting.txt	(revision 95)
@@ -1,13 +1,12 @@
 
-		TOPPERS/SSPJ[l
-		^[QbgË¶ |[eBOKCh
-
-		Îo[W: Release 1.3.0
-		ÅIXV: 2015N511ú
-
-±ÌhL
-gÍCTOPPERS/SSPJ[lðC¢T|[gÌ^[QbgVXe
-É|[eBO·é½ßÉKvÆÈé^[QbgË¶ÌÀû@ðà¾·
-éàÌÅ éD
+		TOPPERS/SSPカーネル
+		ターゲット依存部 ポーティングガイド
+
+		対応バージョン: Release 1.3.0
+		最終更新: 2015年5月11日
+
+このドキュメントは，TOPPERS/SSPカーネルを，未サポートのターゲットシステ
+ムにポーティングするために必要となるターゲット依存部の実装方法を説明す
+るものである．
 
 ----------------------------------------------------------------------
@@ -19,377 +18,367 @@
                 Nagoya Municipal Industrial Research Institute, JAPAN
 
- ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
-      \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
-     XR[hÉÜÜêÄ¢é±ÆD
- (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
-     pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
-     Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
-     Ì³ÛØKèðfÚ·é±ÆD
- (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
-     pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
-     ÆD
-   (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
-       ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
-   (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
-       ñ·é±ÆD
- (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
-     Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
-     Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
-     RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
-     ÆÓ·é±ÆD
+ 上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ 変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+     権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+     スコード中に含まれていること．
+ (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+     用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+     者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+     の無保証規定を掲載すること．
+ (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+     用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+     と．
+   (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+       作権表示，この利用条件および下記の無保証規定を掲載すること．
+   (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+       報告すること．
+ (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+     害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+     また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+     由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+     免責すること．
  
- {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- ÌÓCðíÈ¢D
+ 本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ の責任を負わない．
  
 ----------------------------------------------------------------------
 
-Ú
-
-1. ¤Ê
-	1.1 ^[QbgË¶Ì\¬
-	1.2 ¼OÌÕËÌh~
-	1.3 ½dCN[hÌh~
-	1.4 AZu¾êÆÌwb_t@CÌ¤p 
-	1.5 CN[hLqÌû@
-	1.6 NeBJZNVÌoüÌÀ»ÉÖ·é§ñ
-2. VXe\zÂ«Ì^[QbgË¶
-	2.1 ^[QbgªÌÆ^[QbgË¶ÌfBNg
-	2.2 MakefileÌ^[QbgË¶
-	2.3 J­Â«¼ÆR}h¼ÌÝè
-	2.4 RpCIvVÆIuWFNgt@CÌÝè
-	2.5 Nû@ÌÝè
-	2.6 Ë¶ÖWÌè`
-	2.7 »Ì¼ÌÝè
-3. TOPPERS¤Êè`Ì^[QbgË¶
-	3.1 ^[Qbg¯Ê}N
-	3.2 ®^ÌÅålEÅ¬lErbg
-	3.3 TCYÌwè³ê½®^C»ÌÅålEÅ¬lC®èðìé}N
-	3.4 TCYÌwè³ê½®¬_^C»ÌÅålEÅ¬lÌ}N
-	3.5 RpCÌg£@\Ì½ßÌ}Nè`
-	3.6 WIÈè`Ìã«
-	3.7 AT[VÌ½ßÌè`
-4. VXeC^tF[XCiSILjÌ^[QbgË¶
-	4.1 SÝbNóÔÌÇ
-	4.2 ÷­ÔÒ¿
-	4.3 vZbTÌGfBA
-	4.4 óÔANZXÖ
-	4.5 I/OóÔANZXÖ
-5. J[lAPIÌ^[QbgË¶
-	5.1 ^[Qbgè`ÅT|[g·é@\
-	5.2 ÝDæxÌÍÍ
-	5.3 ^CeBbNÌè`
-	5.4 ÌæmÛÌ½ßÌ^è`
-	5.5 ÌæmÛÌ½ßÌ}N
-	5.6 I[onh@\g£Ì½ßÌè`iIvVj
-6. J[lÀÌ^[QbgË¶
-	6.1 J[lÀÌ^[QbgË¶Ì¤Ê
-		6.1.1  J[lÀÌ^[QbgË¶Ì\¬vf
-		6.1.2  ^[QbgË¶ÌÖÌ½¼K¥
-	6.2 g[XO@\ÖÌÎ
-	6.3 VXeóÔÌÇ
-		6.3.1  SÝbNóÔÌÇ
-		6.3.2  ReLXgÌÇ
-		6.3.3  CPUbNóÔÌÇ
-	6.4 ÝÉÖA·éVXeóÔÌÇ
-		6.4.1  ÝDæx}XNÌÇ
-		6.4.2  ÝvÖ~tOÌÇ
-		6.4.3  ÝvÌNA
-		6.4.4  ÝvÌv[u
-		6.4.5  ÝnhÌæªÆö
-	6.5 ^XNfBXpb`
-		6.5.1 ^XNReLXgubNÆ^XNú»ReLXgubN
-		6.5.2 fBXpb`{Ì
-		6.5.3 ^XNReLXg©çÌfBXpb`
-		6.5.4 fBXpb`Ì®ìJn
-		6.5.5 »ÝÌReLXgðÌÄÄfBXpb`
-		6.5.6 ^XNÌN®
-	6.6 Ýnh
-		6.6.1 ÝnhÌoüû
-		6.6.2 ÝnhÌoüûÌ¶¬
-		6.6.3 ÝnhÌÝè
-		6.6.4 ÝvCÌ®«ÌÝè
-		6.6.5 ÝÇ@\Ìú»ÌÏX
-		6.6.6 ftHgÌÝnh
-		6.6.7 J[lÇOÌÝ
-	6.7 CPUáOnhÆCPUáO­¶ÌVXeóÔÌQÆ
-		6.7.1 CPUáOnhÌoüû
-		6.7.2 CPUáOnhÌoüûÌ¶¬
-		6.7.3 CPUáOnhÌÝè
-		6.7.4 CPUáOÇ@\Ìú»ÌÏX
-		6.7.5 ftHgÌCPUáOnh
-		6.7.6 CPUáO­¶ÌVXeóÔÌQÆ
-	6.8 J[lÌN®EI¹ÆX^bNÌæÈÇ
-	6.9 J[làÌ`
-[jO
-		6.9.1 rbg}bvT[`
-		6.9.2 rbgtB[h
-	6.10 J[lÀÉÖ·é»Ì¼Ìè`
-		6.10.1 ñ^XNReLXgpÌX^bNÌæ
-		6.10.2 óxÌè`
-	6.11  J[lÀÌ^[QbgË¶Ì½ßÌl[Lq
-	6.12 ^C}hCo
-		6.12.1 ^C}hCoÌt@C\¬
-		6.12.2 ^C}Ìú»EI¹EÝ
-		6.12.3 «\]¿pVXeÌQÆÌ½ßÌ@\
-7. RtBM
-[^Ýèt@CÌ^[QbgË¶
-	7.1 Ýèt@CÆ^[QbgË¶ÌÊut¯
-	7.2 pX2Ìev[gt@CÌ^[QbgË¶
-		7.2.1 ^[QbgñË¶ðCN[h·éOÉè`·×«Ï
-		7.2.2 ^[QbgñË¶Åè`³êéÏ
-	7.3 pX3Ìev[gt@CÌ^[QbgË¶
-	7.4 cfg1_out.cÌNÉKvÈX^uÌè`t@C
-8. VXeT[rXÌ^[QbgË¶
-	8.1 VXeT[rXÌ^[QbgË¶
-	8.2 VAC^tF[XhCoÌ^[QbgË¶
-		8.2.1 ÏCf[^^CÇÖ
-		8.2.2 foCXT[rX[`
-		8.2.3 R[obN[`
-	8.3 J[lN®bZ[WÌoÍÌ^[QbgË¶è`
-	8.4 TvvOÆeXgvOÌ^[QbgË¶è`
-9. »Ì¼
-	9.1 hL
-g
-	9.2 pbP[WLqt@C
-10. t@X
-	10.1 ^[QbgË¶Ìt@Cê
-
-
-1. ¤Ê
-
-1.1 ^[QbgË¶Ì\¬
-
-^[QbgË¶ÍCtargetfBNgÌºÉC^[Qbgn[hEFAÆ
-J­Â«ÌgÝí¹ÉpÓ·éD½¾µC^[QbgË¶ÌÄp«ð
-l¶µCvZbTC`bvCJ­Â«ÌÝÉË¶·éªðCvZbTË
-¶C`bvË¶CJ­Â«Ë¶Æ¢¤`ÅØèª¯Äàæ¢DØèª¯
-ûÍC^[QbgË¶ÌÀÉC³êÄ¢éDvZbTË¶C`bvË
-¶CJ­Â«Ë¶ÍCarchfBNgÌºÉu­D
-
-SSPJ[lÌ^[QbgË¶ÍCVXe\zÂ«iMakefilejÌ^[Qb
-gË¶CTOPPERS¤Êè`it_stddef.hjÌ^[QbgË¶CVXeC
-^tF[XCiSILCsil.hjÌ^[QbgË¶CJ[lAPIikernel.hj
-Ì^[QbgË¶CJ[lÀÌ^[QbgË¶iRtBM
-[^
-Ýèt@CÌ^[QbgË¶ðÜÞjCVXeT[rXÌ^[QbgË
-¶C^[QbgË¶ÉÖ·éhL
-gÅ\¬³êéD
-
-1.2 ¼OÌÕËÌh~
-
-TOPPERSvWFNgªñ·é\tgEFAÌ½ßÉCTOPPERS_ÅnÜéV
-{ð\ñµÄ¢éDwb_t@CÉLq³êCAvP[V©çQ
-ÆÅ«éàV{ÍCTOPPERS_ÅnÜé¼OÆ·éD
-
-Ü½C_kernel_ÅnÜéV{ÍCJ[làÌÏâÖÌ½ßÉ\ñ
-µÄ¢éDJ[làÌÏâÖÌ¼OÅCNÉAvP[V
-Ì¼OÆÕË·éÂ\«ª éàÌÍCl[LqÉXgAbv·é±Æ
-ÅCRpCÉ_kernel_ÅnÜé¼OÉu«·¦é±ÆÆµÄ¢éD
-
-1.3 ½dCN[hÌh~
-
-·×ÄÌwb_t@CÍC½dÉCN[h³êéÌðh~·é½ßÌð
-RpCLqðüêé±ÆÆ·éDá¦ÎCtarget_config.hÅ êÎCt@
-CÌæªÉ
+○目次
+
+1. 共通事項
+	1.1 ターゲット依存部の構成
+	1.2 名前の衝突の防止
+	1.3 多重インクルードの防止
+	1.4 アセンブリ言語とのヘッダファイルの共用 
+	1.5 インクルード記述の方法
+	1.6 クリティカルセクションの出入処理の実現に関する制約
+2. システム構築環境のターゲット依存部
+	2.1 ターゲット略称とターゲット依存部のディレクトリ
+	2.2 Makefileのターゲット依存部
+	2.3 開発環境名とコマンド名の設定
+	2.4 コンパイルオプションとオブジェクトファイルの設定
+	2.5 リンク方法の設定
+	2.6 依存関係の定義
+	2.7 その他の設定
+3. TOPPERS共通定義のターゲット依存部
+	3.1 ターゲット識別マクロ
+	3.2 整数型の最大値・最小値・ビット数
+	3.3 サイズの指定された整数型，その最大値・最小値，整数定数を作るマクロ
+	3.4 サイズの指定された浮動小数点型，その最大値・最小値のマクロ
+	3.5 コンパイラの拡張機能のためのマクロ定義
+	3.6 標準的な定義の上書き
+	3.7 アサーションのための定義
+4. システムインタフェースレイヤ（SIL）のターゲット依存部
+	4.1 全割込みロック状態の管理
+	4.2 微少時間待ち
+	4.3 プロセッサのエンディアン
+	4.4 メモリ空間アクセス関数
+	4.5 I/O空間アクセス関数
+5. カーネルAPIのターゲット依存部
+	5.1 ターゲット定義でサポートする機能
+	5.2 割込み優先度の範囲
+	5.3 タイムティックの定義
+	5.4 メモリ領域確保のための型定義
+	5.5 メモリ領域確保のためのマクロ
+	5.6 オーバランハンドラ機能拡張のための定義（オプション）
+6. カーネル実装のターゲット依存部
+	6.1 カーネル実装のターゲット依存部の共通事項
+		6.1.1  カーネル実装のターゲット依存部の構成要素
+		6.1.2  ターゲット依存部の関数の命名規則
+	6.2 トレースログ機能への対応
+	6.3 システム状態の管理
+		6.3.1  全割込みロック状態の管理
+		6.3.2  コンテキストの管理
+		6.3.3  CPUロック状態の管理
+	6.4 割込みに関連するシステム状態の管理
+		6.4.1  割込み優先度マスクの管理
+		6.4.2  割込み要求禁止フラグの管理
+		6.4.3  割込み要求のクリア
+		6.4.4  割込み要求のプローブ
+		6.4.5  割込みハンドラの先頭処理と末尾処理
+	6.5 タスクディスパッチャ
+		6.5.1 タスクコンテキストブロックとタスク初期化コンテキストブロック
+		6.5.2 ディスパッチャ本体
+		6.5.3 タスクコンテキストからのディスパッチ
+		6.5.4 ディスパッチャの動作開始
+		6.5.5 現在のコンテキストを捨ててディスパッチ
+		6.5.6 タスクの起動処理
+	6.6 割込みハンドラ
+		6.6.1 割込みハンドラの出入口処理
+		6.6.2 割込みハンドラ毎の出入口処理の生成
+		6.6.3 割込みハンドラの設定
+		6.6.4 割込み要求ラインの属性の設定
+		6.6.5 割込み管理機能の初期化処理の変更
+		6.6.6 デフォルトの割込みハンドラ
+		6.6.7 カーネル管理外の割込み
+	6.7 CPU例外ハンドラとCPU例外発生時のシステム状態の参照
+		6.7.1 CPU例外ハンドラの出入口処理
+		6.7.2 CPU例外ハンドラの出入口処理の生成
+		6.7.3 CPU例外ハンドラの設定
+		6.7.4 CPU例外管理機能の初期化処理の変更
+		6.7.5 デフォルトのCPU例外ハンドラ
+		6.7.6 CPU例外発生時のシステム状態の参照
+	6.8 カーネルの起動・終了とスタック領域など
+	6.9 カーネル内部のチューニング
+		6.9.1 ビットマップサーチ
+		6.9.2 ビットフィールド
+	6.10 カーネル実装に関するその他の定義
+		6.10.1 非タスクコンテキスト用のスタック領域
+		6.10.2 空ラベルの定義
+	6.11  カーネル実装のターゲット依存部のためのリネーム記述
+	6.12 タイマドライバ
+		6.12.1 タイマドライバのファイル構成
+		6.12.2 タイマの初期化・終了処理・割込み処理
+		6.12.3 性能評価用システム時刻の参照のための機能
+7. コンフィギュレータ設定ファイルのターゲット依存部
+	7.1 設定ファイルとターゲット依存部の位置付け
+	7.2 パス2のテンプレートファイルのターゲット依存部
+		7.2.1 ターゲット非依存部をインクルードする前に定義すべき変数
+		7.2.2 ターゲット非依存部で定義される変数
+	7.3 パス3のテンプレートファイルのターゲット依存部
+	7.4 cfg1_out.cのリンクに必要なスタブの定義ファイル
+8. システムサービス等のターゲット依存部
+	8.1 システムサービスのターゲット依存部
+	8.2 シリアルインタフェースドライバのターゲット依存部
+		8.2.1 変数，データ型，管理関数
+		8.2.2 デバイスサービスルーチン
+		8.2.3 コールバックルーチン
+	8.3 カーネル起動メッセージの出力のターゲット依存定義
+	8.4 サンプルプログラムとテストプログラムのターゲット依存定義
+9. その他
+	9.1 ドキュメント
+	9.2 パッケージ記述ファイル
+10. リファレンス
+	10.1 ターゲット依存部のファイル一覧
+
+
+1. 共通事項
+
+1.1 ターゲット依存部の構成
+
+ターゲット依存部は，targetディレクトリの下に，ターゲットハードウェアと
+開発環境の組み合わせ毎に用意する．ただし，ターゲット依存部の再利用性を
+考慮し，プロセッサ，チップ，開発環境のみに依存する部分を，プロセッサ依
+存部，チップ依存部，開発環境依存部という形で切り分けてもよい．切り分け
+方は，ターゲット依存部の実装に任されている．プロセッサ依存部，チップ依
+存部，開発環境依存部は，archディレクトリの下に置く．
+
+SSPカーネルのターゲット依存部は，システム構築環境（Makefile等）のターゲッ
+ト依存部，TOPPERS共通定義（t_stddef.h）のターゲット依存部，システムイン
+タフェースレイヤ（SIL，sil.h）のターゲット依存部，カーネルAPI（kernel.h）
+のターゲット依存部，カーネル実装のターゲット依存部（コンフィギュレータ
+設定ファイルのターゲット依存部を含む），システムサービスのターゲット依
+存部，ターゲット依存部に関するドキュメント等で構成される．
+
+1.2 名前の衝突の防止
+
+TOPPERSプロジェクトが提供するソフトウェアのために，TOPPERS_で始まるシン
+ボルを予約している．ヘッダファイル中に記述され，アプリケーションから参
+照できる内部シンボルは，TOPPERS_で始まる名前とする．
+
+また，_kernel_で始まるシンボルは，カーネル内部の変数や関数のために予約
+している．カーネル内部の変数や関数の名前で，リンク時にアプリケーション
+の名前と衝突する可能性があるものは，リネーム記述にリストアップすること
+で，コンパイル時に_kernel_で始まる名前に置き換えることとしている．
+
+1.3 多重インクルードの防止
+
+すべてのヘッダファイルは，多重にインクルードされるのを防止するための条
+件コンパイル記述を入れることとする．例えば，target_config.hであれば，ファ
+イルの先頭に
 
 #ifndef TOPPERS_TARGET_CONFIG_H
 #define TOPPERS_TARGET_CONFIG_H
 
-ðCt@CÌöÉ
+を，ファイルの末尾に
 
 #endif /* TOPPERS_TARGET_CONFIG_H */
 
-ðLq·éD
-
-1.4 AZu¾êÆÌwb_t@CÌ¤p 
-
-SSPJ[lÌwb_t@CÌ½­ÍCAZu¾êÌ\[Xt@C©ç
-àCN[hÅ«éæ¤É·é½ßÉCÌ[É]ÁÄLq·éàÌÆ
-·éD
-
-ETOPPERS_MACRO_ONLYª}Nè`³êÄ¢éêÉÍCAZu¾êÅÍ
-@ðßÅ«È¢Lqi}Nè`ÈOÌLqjð­æ¤ÉLq·éD
-
-E³µ®^ÌèlÍCUINT_CâULONG_CÈÇÌ®èðìé½ßÌ}
-@Nðp¢ÄLq·éD½¾µCAZu¾êÌ\[Xt@C©çàC
-@N[hÅ«ét@CÅ ÁÄàCC¾êÌÝÅp¢éèð±êçÌ
-@}NðgÁÄLq·éKvÍÈ¢D
-
-Ü½CJ[lÀÉ¨¢ÄÍCÌ[É]¤àÌÆ·éD
-
-EAZu¾ê©çàp¢éèÌè`É^LXgðp¢éêÉÍC
-@CAST}Nðp¢ÄLq·éD
-
-AZu¾ê©çwb_t@CðCN[h·éÛÉÍCKvÉ¶ÄC
-TOPPERS_MACRO_ONLYCUINC_CCULONG_CCCASTð}Nè`µÄ©çCCN[
-hµÈ¯êÎÈçÈ¢D
-
-1.5 CN[hLqÌû@
-
-J­Â«ÅpÓ³êÄ¢éWwb_t@C¨æÑincludefBNgºÌ
-Wwb_t@CÍCu#include <...>vÉæèCN[h·éD
-
-»Ì¼Ìwb_t@CÍCu#include "..."vÉæèCN[h·éDwb
-_t@CªCJgfBNgâCN[h·ét@CÆ¯¶fB
-NgÈOÌfBNgÉu©êÄ¢éêÉÍCÌæ¤ÉpXwèð
-s¤D
-
-E^[QbgË¶itarget/<^[Qbg¼>jÌfBNgÉu©êÄ¢é
-@êÍCpXwèðsí¸Ct@C¼ÌÝðLq·éD
-		áj#include "target_config.h"
-
-EarchfBNgºÌfBNgÉu©êÄ¢éêÉÍCarchfBN
-@g©çÌÎpXÅLq·éD
-		áj#include "m68k_gcc/prc_config.h"
-
-E»Ì¼ÌêÉÍC\[XvOÌ[gfBNgiconfigureªu
-@©êÄ¢éfBNgj©çÌÎpXÅLq·éD
-		áj#include "pdic/upd72001/upd72001.h"
-
-EJ[lð\¬·ét@C©çCkernelfBNgºÌwb_t@C
-@ðCN[h·éêÍCpXwèðsí¸Ct@C¼ÌÝðLq·éD
-		áj#include "kernel_impl.h"
-
-1.6 NeBJZNVÌoüÌÀ»ÉÖ·é§ñ
-
-J[làÅp¢éNeBJZNVÌoüðÀ»·éêÉÍC
-Ì2ÂÌðð½·æ¤ÉÀµÈ¯êÎÈçÈ¢D
-
-(1-6-1) oü©ç²¯½_ÅÍCÝÌÖ~^Âª®¹µÄ¢È¯
-êÎÈçÈ¢Dá¦ÎCÝÖ~^Â½ßðÀsµÄ©çÀÛÉÝª
-Ö~^Â³êéÜÅ½½ß©x·évZbTÌêÉÍCoüÌ
-ÉNOP½ßðüêéÈÇÌû@ÅCoüð²¯½_ÅÍCÝªÖ~^
-Â³ê½óÔÉÈÁÄ¢é±ÆðÛØµÈ¯êÎÈçÈ¢D
-
-(1-6-2) ãÌf[^\¢ª«ÏíéÂ\«ª é±ÆðC½ç©Ìû
-@ÅRpCÉmç¹È¯êÎÈçÈ¢DGNUJ­Â«ÅÍCÌ¢¸ê©Ì
-û@Å±Ì§ñð½·±ÆªÅ«éD
-
-(a) NeBJZNVÌoüÌSÌÜ½ÍoüÌ{¿IÈª
-	iïÌIÉÍCÝÖ~^Â·éjðiCCÅÈ¢jÊí
-	ÌÖÉæèÀ»·éD
-
-(b) NeBJZNVÌoüÌ{¿IÈªðCCAZu
-	ÉæÁÄÀ»µÄ¢éêÉÍC»ÌCCAZuÌclobberÏ
-	XgÉ"memory"ðÇÁ·éD
-
-(c) NeBJZNVÌoüÌ{¿IÈªªC}NâCC
-	ÖÄoµÅÀ»µÄ¢éêÉÍCNeBJZNVÉüé
-	ÌÅãÆoéÌæªÉCAsm("":::"memory")Æ¢¤LqðüêéD
-
-±Ìæ¤È§ñðÝ¯éRÉÂ¢ÄÍCuTOPPERS/ASPJ[l Ývv
-ÌuJ[lÌf[^\¢ÉÎ·évolatileé¾ÉÂ¢ÄvÌßðQÆ·é±
-ÆD
-
-2. VXe\zÂ«Ì^[QbgË¶
-
-±ÌÍÌà¾ÍCGNUJ­Â«iGCCCGASCBINUTILSCGNU Makejðp¢é±Æ
-ðzèµÄLqµÄ éD»êÈOÌJ­Â«ðp¢éêÉÍCJ­Â«É
- í¹ÄC³·éKvª éD
-
-2.1 ^[QbgªÌÆ^[QbgË¶ÌfBNg
-
-Vµ¢^[QbgË¶ðì¬·éÍCÜ¸C^[QbgªÌðèßéD^[
-QbgªÌÍCVXeªÌÆJ­Â«ªÌð"_"ÅAµ½àÌÆ·éDVX
-eªÌÉp¢é¶Íp¬¶ÆÆ"_"ÉCJ­Â«ªÌÉp¢é¶Í
-p¬¶ÆÉÀè·éDGNUJ­Â«ÌJ­Â«ªÌÍC"gcc"Æ·éDá
-¦ÎCVXeªÌª"dve68k"ÅCGNUJ­Â«ðp¢éêÉÍC^[Qbg
-ªÌÍ"dve68k_gcc"ÆÈéD
-
-^[QbgË¶Ìt@Cðu­½ßÉCtargetfBNgÌºÉC^[
-QbgªÌð¼ÌÆ·éfBNgðì¬·éD±êð^[QbgË¶fB
-NgÆÄÔD
-
-^[QbgË¶©çvZbTË¶â`bvË¶ðØèª¯éêÉÍC
-Ë¶ªÌðèßéDË¶ªÌÍCvZbTâ`bvÌªÌÆJ­Â«ª
-Ìð"_"ÅAµ½àÌÆ·éDvZbTâ`bvÌªÌÉp¢é¶ÍCp
-¬¶ÆÆ"_"ÉÀè·éDá¦ÎCvZbTªÌª"m68k"ÅCGNUJ­
-Â«ðp¢éêÉÍCË¶ªÌÍ"m68k_gcc"ÆÈéD
-
-Ü½C^[QbgË¶©çJ­Â«Ë¶ðØèª¯éêÉÍCJ­Â«
-ªÌðË¶ªÌÆ·éDá¦ÎCGNUJ­Â«Ë¶ÌË¶ªÌÍC"gcc"
-ÆÈéD
-
-±êçÌË¶Ìt@Cðu­½ßÉCarchfBNgÌºÉCË¶ª
-Ìð¼ÌÆ·éfBNgðì¬·éD
-
-È¨CGNUJ­Â«ÈOÌJ­Â«ðp¢éêÉÍCRtBM
-[V
-XNvgiconfigurejCTvÌMakefileisample/MakefilejCêÌ
-[eBeBvOiutils/genoffsetCutils/makedepjðC»ÌJ­
-Â«pÉpÓ·éKvª éêª éD»ÌêÉÍC±êçÌt@CðC
-^[QbgË¶fBNg©J­Â«Ë¶fBNgÉu­àÌÆ·
-éDÜ½CJ­Â«pÌvWFNgt@CªKvÈêÉÍC^[Qbg
-Ë¶fBNgÉu­àÌÆ·éD
-
-2.2 MakefileÌ^[QbgË¶
-
-MakefileÌ^[QbgË¶ÍC^[QbgË¶fBNgÉu¢½
-Makefile.targetÜ½Í»±©çCN[h³êét@CivZbTE`b
-vEJ­Â«Ë¶ÅpÓ³êét@CÈÇjÉÜßéD
-
-2.3 J­Â«¼ÆR}h¼ÌÝè
-
-J­Â«¼ÆR}h¼ðÝè·é½ßÉCMakefileÌ^[QbgË¶Å
-ÌÏðè`·éD
-
-(2-3-1) TOOL					J­Â«¼
-
-J­Â«¼Éè`·éDGNUJ­Â«ðp¢éêÉÍCgccÉè`·éD
-
-(2-3-2) GCC_TARGET				GNUJ­Â«Ì^[Qbg¼
-
-GNUJ­Â«ðp¢éêÉCGNUJ­Â«ðconfigure·éêÉwè·é^[
-Qbg¼Éè`·éD±±Åwèµ½^[Qbg¼ÍCJ­Â«ÌR}h¼
-ÌæªÉt^³êé¶ñÆÈéDá¦ÎCGCC_TARGETðm68k-unknown-elfÉ
-è`µ½êÉÍCRpCÆµÄm68k-unknown-elf-gccªgíêéD±Ì
-Ïªè`³êÈ¢êÉÍCPÈégccªgíêéD
-
-(2-3-3) CC						CRpChCoÌ¼Ì
-(2-3-4) CXX						C++RpChCoÌ¼Ì
-(2-3-5) AS						AZuÌ¼Ì
-(2-3-6) LD						JÌ¼Ì
-(2-3-7) AR						A[JCoÌ¼Ì
-(2-3-8) NM						nmvOÌ¼Ì
-(2-3-9) RANLIB					ranlibvOÌ¼Ì
-(2-3-10) OBJCOPY				objcopyvOÌ¼Ì
-(2-3-11) OBJDUMP				objdumpvOÌ¼Ì
-
-GNUJ­Â«ÈOÌJ­Â«ðp¢éêÉC»ê¼êÌR}hÌ¼ÌÉè`
-·éDÎ·éR}hªÈ¢êâCR}hp[^ªÙÈéêÉÍC
-MakefileÅ»ÌR}hðÄÑoµÄ¢éªðÏX·éKvª éD
-
-GNUJ­Â«ÅÍC±êçÍGCC_TARGETðp¢Äè`³êéÌÅCè`·éKv
-ÍÈ¢D
-
-2.4 RpCIvVÆIuWFNgt@CÌÝè
-
-MakefileÌ^[QbgË¶ÅÈºÅà¾·éÏðè`·éÉÍC":="ð
-p¢ÄC»êÜÅÌè`ÉÇÁ·é`Ås¤Dá¦ÎCRpCÉÎ·é»
-Ì¼ÌIvVÆµÄu-Wall -g -O2vðÇÁµ½¢êÉÍCuCOPTS :=
-$(COPTS) -Wall -g -O2vÆ¢¤LqðMakefileÌ^[QbgË¶ÉÜßéD
-
-(2-4-1) COPTS				RpCÉÎ·é»Ì¼ÌIvV
-(2-4-2) CDEFS				}Nè`IvVi-DIvVj
-(2-4-3) INCLUDES			wb_t@CÌu©ê½fBNgwèI
-							vVi-IIvVj
-(2-4-4) LDFLAGS				JÉÎ·é»Ì¼ÌIvV
-(2-4-5) LIBS				CuNwèÌ½ßÌIvV
-
-^[QbgÉË¶µÄC·×ÄÌ\[Xt@CÉ¤Ê·éRpCIvV
-ÌÇÁªKvÈêÉÍCIvVÌíÞÉãÉ¦µ½ÏÉè`·éD
-
-ÙÆñÇÌêÉC^[QbgË¶fBNgÌMakefile.targetÉÍCÈ
-ºÌLqðÜßéKvª éD
+を記述する．
+
+1.4 アセンブリ言語とのヘッダファイルの共用 
+
+SSPカーネルのヘッダファイルの多くは，アセンブリ言語のソースファイルから
+もインクルードできるようにするために，次のルールに従って記述するものと
+する．
+
+・TOPPERS_MACRO_ONLYがマクロ定義されている場合には，アセンブリ言語では
+　解釈できない記述（マクロ定義以外の記述）を除くように記述する．
+
+・符号無し整数型の定数値は，UINT_CやULONG_Cなどの整数定数を作るためのマ
+　クロを用いて記述する．ただし，アセンブリ言語のソースファイルからもイ
+　ンクルードできるファイル中であっても，C言語のみで用いる定数をこれらの
+　マクロを使って記述する必要はない．
+
+また，カーネル実装においては，次のルールに従うものとする．
+
+・アセンブリ言語からも用いる定数の定義中に型キャストを用いる場合には，
+　CASTマクロを用いて記述する．
+
+アセンブリ言語からヘッダファイルをインクルードする際には，必要に応じて，
+TOPPERS_MACRO_ONLY，UINC_C，ULONG_C，CASTをマクロ定義してから，インクルー
+ドしなければならない．
+
+1.5 インクルード記述の方法
+
+開発環境で用意されている標準ヘッダファイルおよびincludeディレクトリ下の
+標準ヘッダファイルは，「#include <...>」によりインクルードする．
+
+その他のヘッダファイルは，「#include "..."」によりインクルードする．ヘッ
+ダファイルが，カレントディレクトリやインクルードするファイルと同じディ
+レクトリ以外のディレクトリに置かれている場合には，次のようにパス指定を
+行う．
+
+・ターゲット依存部（target/<ターゲット名>）のディレクトリに置かれている
+　場合は，パス指定を行わず，ファイル名のみを記述する．
+		例）#include "target_config.h"
+
+・archディレクトリ下のディレクトリに置かれている場合には，archディレク
+　トリからの相対パスで記述する．
+		例）#include "m68k_gcc/prc_config.h"
+
+・その他の場合には，ソースプログラムのルートディレクトリ（configureが置
+　かれているディレクトリ）からの相対パスで記述する．
+		例）#include "pdic/upd72001/upd72001.h"
+
+・カーネルを構成するファイルから，kernelディレクトリ下のヘッダファイル
+　をインクルードする場合は，パス指定を行わず，ファイル名のみを記述する．
+		例）#include "kernel_impl.h"
+
+1.6 クリティカルセクションの出入処理の実現に関する制約
+
+カーネル内で用いるクリティカルセクションの出入処理を実現する場合には，
+次の2つの条件を満たすように実装しなければならない．
+
+(1-6-1) 出入処理から抜けた時点では，割込みの禁止／許可が完了していなけ
+ればならない．例えば，割込み禁止／許可命令を実行してから実際に割込みが
+禁止／許可されるまで何命令か遅延するプロセッサの場合には，出入処理の中
+にNOP命令を入れるなどの方法で，出入処理を抜けた時点では，割込みが禁止／
+許可された状態になっていることを保証しなければならない．
+
+(1-6-2) メモリ上のデータ構造が書き変わる可能性があることを，何らかの方
+法でコンパイラに知らせなければならない．GNU開発環境では，次のいずれかの
+方法でこの制約を満たすことができる．
+
+(a) クリティカルセクションの出入処理の全体または出入処理の本質的な部分
+	（具体的には，割込み禁止／許可する処理）を（インラインでない）通常
+	の関数により実現する．
+
+(b) クリティカルセクションの出入処理の本質的な部分をインラインアセンブ
+	ラによって実現している場合には，そのインラインアセンブラのclobber変
+	数リストに"memory"を追加する．
+
+(c) クリティカルセクションの出入処理の本質的な部分が，マクロやインライ
+	ン関数呼出しで実現している場合には，クリティカルセクションに入る処
+	理の最後と出る処理の先頭に，Asm("":::"memory")という記述を入れる．
+
+このような制約を設ける理由については，「TOPPERS/ASPカーネル 設計メモ」
+の「カーネルのデータ構造に対するvolatile宣言について」の節を参照するこ
+と．
+
+2. システム構築環境のターゲット依存部
+
+この章の説明は，GNU開発環境（GCC，GAS，BINUTILS，GNU Make）を用いること
+を想定して記述してある．それ以外の開発環境を用いる場合には，開発環境に
+あわせて修正する必要がある．
+
+2.1 ターゲット略称とターゲット依存部のディレクトリ
+
+新しいターゲット依存部を作成する時は，まず，ターゲット略称を定める．ター
+ゲット略称は，システム略称と開発環境略称を"_"で連結したものとする．シス
+テム略称に用いる文字は英小文字と数字と"_"に，開発環境略称に用いる文字は
+英小文字と数字に限定する．GNU開発環境の開発環境略称は，"gcc"とする．例
+えば，システム略称が"dve68k"で，GNU開発環境を用いる場合には，ターゲット
+略称は"dve68k_gcc"となる．
+
+ターゲット依存部のファイルを置くために，targetディレクトリの下に，ター
+ゲット略称を名称とするディレクトリを作成する．これをターゲット依存部ディ
+レクトリと呼ぶ．
+
+ターゲット依存部からプロセッサ依存部やチップ依存部を切り分ける場合には，
+依存部略称を定める．依存部略称は，プロセッサやチップの略称と開発環境略
+称を"_"で連結したものとする．プロセッサやチップの略称に用いる文字は，英
+小文字と数字と"_"に限定する．例えば，プロセッサ略称が"m68k"で，GNU開発
+環境を用いる場合には，依存部略称は"m68k_gcc"となる．
+
+また，ターゲット依存部から開発環境依存部を切り分ける場合には，開発環境
+略称を依存部略称とする．例えば，GNU開発環境依存部の依存部略称は，"gcc"
+となる．
+
+これらの依存部のファイルを置くために，archディレクトリの下に，依存部略
+称を名称とするディレクトリを作成する．
+
+なお，GNU開発環境以外の開発環境を用いる場合には，コンフィギュレーション
+スクリプト（configure），サンプルのMakefile（sample/Makefile），一部の
+ユーティリティプログラム（utils/genoffset，utils/makedep）を，その開発
+環境用に用意する必要がある場合がある．その場合には，これらのファイルを，
+ターゲット依存部ディレクトリか開発環境依存部ディレクトリに置くものとす
+る．また，開発環境用のプロジェクトファイルが必要な場合には，ターゲット
+依存部ディレクトリに置くものとする．
+
+2.2 Makefileのターゲット依存部
+
+Makefileのターゲット依存部は，ターゲット依存部ディレクトリに置いた
+Makefile.targetまたはそこからインクルードされるファイル（プロセッサ・チッ
+プ・開発環境依存部で用意されるファイルなど）に含める．
+
+2.3 開発環境名とコマンド名の設定
+
+開発環境名とコマンド名を設定するために，Makefileのターゲット依存部で次
+の変数を定義する．
+
+(2-3-1) TOOL					開発環境名
+
+開発環境名に定義する．GNU開発環境を用いる場合には，gccに定義する．
+
+(2-3-2) GCC_TARGET				GNU開発環境のターゲット名
+
+GNU開発環境を用いる場合に，GNU開発環境をconfigureする場合に指定するター
+ゲット名に定義する．ここで指定したターゲット名は，開発環境のコマンド名
+の先頭に付与される文字列となる．例えば，GCC_TARGETをm68k-unknown-elfに
+定義した場合には，コンパイラとしてm68k-unknown-elf-gccが使われる．この
+変数が定義されない場合には，単なるgccが使われる．
+
+(2-3-3) CC						Cコンパイラドライバの名称
+(2-3-4) CXX						C++コンパイラドライバの名称
+(2-3-5) AS						アセンブラの名称
+(2-3-6) LD						リンカの名称
+(2-3-7) AR						アーカイバの名称
+(2-3-8) NM						nmプログラムの名称
+(2-3-9) RANLIB					ranlibプログラムの名称
+(2-3-10) OBJCOPY				objcopyプログラムの名称
+(2-3-11) OBJDUMP				objdumpプログラムの名称
+
+GNU開発環境以外の開発環境を用いる場合に，それぞれのコマンドの名称に定義
+する．対応するコマンドがない場合や，コマンドパラメータが異なる場合には，
+Makefile中でそのコマンドを呼び出している部分を変更する必要がある．
+
+GNU開発環境では，これらはGCC_TARGETを用いて定義されるので，定義する必要
+はない．
+
+2.4 コンパイルオプションとオブジェクトファイルの設定
+
+Makefileのターゲット依存部で以下で説明する変数を定義する時には，":="を
+用いて，それまでの定義に追加する形で行う．例えば，コンパイラに対するそ
+の他のオプションとして「-Wall -g -O2」を追加したい場合には，「COPTS :=
+$(COPTS) -Wall -g -O2」という記述をMakefileのターゲット依存部に含める．
+
+(2-4-1) COPTS				コンパイラに対するその他のオプション
+(2-4-2) CDEFS				マクロ定義オプション（-Dオプション）
+(2-4-3) INCLUDES			ヘッダファイルの置かれたディレクトリ指定オ
+							プション（-Iオプション）
+(2-4-4) LDFLAGS				リンカに対するその他のオプション
+(2-4-5) LIBS				ライブラリリンク指定のためのオプション
+
+ターゲットに依存して，すべてのソースファイルに共通するコンパイルオプショ
+ンの追加が必要な場合には，オプションの種類毎に上に示した変数に定義する．
+
+ほとんどの場合に，ターゲット依存部ディレクトリのMakefile.targetには，以
+下の記述を含める必要がある．
 
 ----------------------------------------
@@ -397,10 +386,10 @@
 ----------------------------------------
 
-±±ÅTARGETDIRÍC^[QbgË¶fBNgÉè`³êÄ¢éDÜ½
-SRCDIRÍCMakefileÉ¨¢ÄC\[XvOÌ[gfBNg
-iconfigureªu©êÄ¢éfBNgjÉè`³êÄ¢éD
-
-RpCÌâèÅCxbZ[Wªoé±Æðh°È¢óµÈOÅÍC
-COPTSÉ-WerrorðÇÁ·é±Æð§·éD
+ここでTARGETDIRは，ターゲット依存部ディレクトリに定義されている．また
+SRCDIRは，Makefileにおいて，ソースプログラムのルートディレクトリ
+（configureが置かれているディレクトリ）に定義されている．
+
+コンパイラの問題等で，警告メッセージが出ることを防げない状況以外では，
+COPTSに-Werrorを追加することを推奨する．
 
 ----------------------------------------
@@ -408,8 +397,8 @@
 ----------------------------------------
 
-J[lÌRpCÉCdereferencing type-punned pointer will break
-strict-aliasing rulesÆ¢¤xªoéêÉÍCÈºðÇÁ·éÆæ¢D±
-ÌxbZ[WÉÖ·éÚ×ÍCuTOPPERS/ASPJ[l ÝvvÌu^
-LXgÉº¤xbZ[WvÌßðQÆ·é±ÆD
+カーネルのコンパイル時に，dereferencing type-punned pointer will break
+strict-aliasing rulesという警告が出る場合には，以下を追加するとよい．こ
+の警告メッセージに関する詳細は，「TOPPERS/ASPカーネル 設計メモ」の「型
+キャストに伴う警告メッセージ」の節を参照すること．
 
 ----------------------------------------
@@ -417,31 +406,31 @@
 ----------------------------------------
 
-Ü½CAZu¾êxÌ¯Ê¼ªCC¾êxÌ¯Ê¼ÌæªÉ"_"ª
-t¢½àÌÉÈéêÉÍCCDEFSÉ-DTOPPERS_LABEL_ASMðÇÁ·éD
-
-(2-4-6) SYSSVC_DIR			VXeT[rXÌ\[Xªu©ê½fBNg
-(2-4-7) SYSSVC_ASMOBJS		AZu¾êÅLq³ê½VXeT[rXÌ
-							IuWFNg
-(2-4-8) SYSSVC_COBJS		C¾êÅLq³ê½VXeT[rXÌIuWFNg
-(2-4-9) SYSSVC_CFLAGS		VXeT[rXÉÎ·éRpCIvV
-(2-4-10) SYSSVC_LIBS		VXeT[rXÉÎ·éCuNwè
-
-^[QbgÉË¶µÄCVXeT[rXiVXeO^XNâfoCXh
-CoÈÇjÌ\[Xªu©ê½fBNgCVXeT[rXð\¬·é
-IuWFNgt@CÌXgC»êçðRpC·éÛÉKp·éRp
-CIvVC»Ì\¬ÉKvÈCuNwèðÇÁ·éêÉÍC
-ãÉ¦µ½ÏÉè`·éD
-
-(2-4-11) KERNEL_DIR			J[lÌ\[Xªu©ê½fBNg
-(2-4-12) KERNEL_ASMOBJS		AZu¾êÅLq³ê½J[lÌIuWFNg
-(2-4-13) KERNEL_COBJS		C¾êÅLq³ê½J[lÌIuWFNg
-(2-4-14) KERNEL_CFLAGS		J[lÉÎ·éRpCIvV
-
-^[QbgÉË¶µÄCJ[lÌ\[Xªu©ê½fBNgCJ[l
-ð\¬·éIuWFNgt@CÌXgC»êçðRpC·éÛÉKp
-·éRpCIvVðÇÁ·éêÉÍCãÉ¦µ½ÏÉè`·éD
-
-ÙÆñÇÌêÉC^[QbgË¶fBNgÌMakefile.targetÉÍCÈ
-ºÌLqðÜßéKvª éD
+また，アセンブリ言語レベルの識別名が，C言語レベルの識別名の先頭に"_"が
+付いたものになる場合には，CDEFSに-DTOPPERS_LABEL_ASMを追加する．
+
+(2-4-6) SYSSVC_DIR			システムサービスのソースが置かれたディレクトリ
+(2-4-7) SYSSVC_ASMOBJS		アセンブリ言語で記述されたシステムサービスの
+							オブジェクト
+(2-4-8) SYSSVC_COBJS		C言語で記述されたシステムサービスのオブジェクト
+(2-4-9) SYSSVC_CFLAGS		システムサービスに対するコンパイルオプション
+(2-4-10) SYSSVC_LIBS		システムサービスに対するライブラリリンク指定
+
+ターゲットに依存して，システムサービス（システムログタスクやデバイスド
+ライバなど）のソースが置かれたディレクトリ，システムサービスを構成する
+オブジェクトファイルのリスト，それらをコンパイルする際に適用するコンパ
+イルオプション，その構成に必要なライブラリリンク指定を追加する場合には，
+上に示した変数に定義する．
+
+(2-4-11) KERNEL_DIR			カーネルのソースが置かれたディレクトリ
+(2-4-12) KERNEL_ASMOBJS		アセンブリ言語で記述されたカーネルのオブジェクト
+(2-4-13) KERNEL_COBJS		C言語で記述されたカーネルのオブジェクト
+(2-4-14) KERNEL_CFLAGS		カーネルに対するコンパイルオプション
+
+ターゲットに依存して，カーネルのソースが置かれたディレクトリ，カーネル
+を構成するオブジェクトファイルのリスト，それらをコンパイルする際に適用
+するコンパイルオプションを追加する場合には，上に示した変数に定義する．
+
+ほとんどの場合に，ターゲット依存部ディレクトリのMakefile.targetには，以
+下の記述を含める必要がある．
 
 ----------------------------------------
@@ -451,16 +440,13 @@
 ----------------------------------------
 
-(2-4-15) CFG_TABS			RtBM
-[^ÉÎ·éIvV
-
-^[QbgÉË¶µÄCRtBM
-[^ÉÎ·éIvVðÇÁ·éê
-ÉÍCãÉ¦µ½ÏÉè`·éDïÌIÉÍCRtBM
-[^Ìlæ
-¾V{e[uÌ^[QbgË¶itarget_def.csvjª éêÉÍC
-»êðwè·éIvVðÇÁ·éKvª éD
-
-ÙÆñÇÌêÉC^[QbgË¶fBNgÌMakefile.targetÉÍCÈ
-ºÌLqðÜßéKvª éD
+(2-4-15) CFG_TABS			コンフィギュレータに対するオプション
+
+ターゲットに依存して，コンフィギュレータに対するオプションを追加する場
+合には，上に示した変数に定義する．具体的には，コンフィギュレータの値取
+得シンボルテーブルのターゲット依存部（target_def.csv）がある場合には，
+それを指定するオプションを追加する必要がある．
+
+ほとんどの場合に，ターゲット依存部ディレクトリのMakefile.targetには，以
+下の記述を含める必要がある．
 
 ----------------------------------------
@@ -468,170 +454,144 @@
 ----------------------------------------
 
-(2-4-16) CFG1_OUT_LDFLAGS	cfg1_out.cÉÎ·éNIvV
-
-^[QbgÉË¶µÄCcfg1_out.cðN·éÛÉKp·éIvVðÇ
-Á·éêÉÍCãÉ¦µ½ÏÉè`·éD
-
-(2-4-17) CFG_OBJS			VXeRtBM
-[VÌ½ßÌIu
-							WFNg
-
-^[QbgÉË¶µÄCVXeRtBM
-[VÌ½ßÌIuWFN
-gt@Cðikernel_cfg.oÈOÉjÇÁ·éêÉÍCãÉ¦µ½ÏÉè
-`·éD±ÌêCÇÁµ½IuWFNgt@CÌì¬[iRpC^
-AZu[ÆË¶ÖWì¬[jðCMakefileÌ^[QbgË¶É
-Lq·éKvª éD
+(2-4-16) CFG1_OUT_LDFLAGS	cfg1_out.cに対するリンクオプション
+
+ターゲットに依存して，cfg1_out.cをリンクする際に適用するオプションを追
+加する場合には，上に示した変数に定義する．
+
+(2-4-17) CFG_OBJS			システムコンフィギュレーションのためのオブ
+							ジェクト
+
+ターゲットに依存して，システムコンフィギュレーションのためのオブジェク
+トファイルを（kernel_cfg.o以外に）追加する場合には，上に示した変数に定
+義する．この場合，追加したオブジェクトファイルの作成ルール（コンパイル／
+アセンブルルールと依存関係作成ルール）を，Makefileのターゲット依存部に
+記述する必要がある．
 
 (2-4-18) CFG2_OUT
 
-^[QbgÉË¶µÄCRtBM
-[^ÌpX2Åkernel_cfg.cÆ
-kernel_cfg.hÈOÌt@Cð¶¬·éêÉÍCãÉ¦µ½ÏÉè`·éD
+ターゲットに依存して，コンフィギュレータのパス2でkernel_cfg.cと
+kernel_cfg.h以外のファイルを生成する場合には，上に示した変数に定義する．
 
 (2-4-19) OMIT_WARINIG_ALL
 (2-4-20) OMIT_OPTIMIZATION
 
-TvÌMakefileÅÍCRpCÉÎ·éIvVÉu-Wall -g -O2v
-ðÇÁ·éD-WallðÇÁµ½­È¢êÉÍCMakefileÌ^[QbgË¶Å
-OMIT_WARNING_ALLð"true"Éè`·éD-O2ðÇÁµ½­È¢êÉÍC
-MakefileÌ^[QbgË¶ÅOMIT_OPTIMIZATIONð"true"Éè`·éD
-
-2.5 Nû@ÌÝè
-
-(2-5-1) LDSCRIPT				JXNvgÌt@C¼
-
-J­Â«ÉWÌJXNvgªgpÅ«È¢êÉÍC^[QbgË¶
-ÅJXNvgðpÓµC»Ìt@C¼ð±ÌÏÉè`·éD
-
-(2-5-2) TEXT_START_ADDRESS		eLXgZNVÌæªÔn
-(2-5-3) DATA_START_ADDRESS		f[^ZNVÌæªÔn
-
-eZNVÌæªÔnÌwèªKvÈêÉÍC±êçÌÏÉæªÔnð
-è`·éD
-
-(2-5-4) START_OBJS				æªÉN·×«W
-[¼
-(2-5-5) END_OBJS				ÅãÉN·×«W
-[¼
-
-^[QbgÉæÁÄÍC[hW
-[ÌæªÆÅãÉN·×«W
-[
-ðC^[QbgË¶ÅpÓ·éKvª éD½­ÌêCX^[gAbv
-W
-[ð[hW
-[ÌæªÉN·éKvª éD
-
-[hW
-[ÌæªÉN·×«vOª éêÉÍCMakefile
-Ì^[QbgË¶É¨¢ÄC»ÌIuWFNgt@C¼ðSTART_OBJSÉè
-`µC»êÉÎ·éRpC[ÆË¶ÖWì¬[ðè`·éD[
-hW
-[ÌÅãÉN·×«W
-[ª éêÉÍC»ÌIuWF
-Ngt@C¼ðEND_OBJSÉè`µC»êÉÎ·éRpC[ÆË¶Ö
-Wì¬[ðè`·éDÜ½CWÌX^[gAbvW
-[icrt0.oj
-ðNµÈ¢æ¤ÉCLDFLAGSÉ-nostdlibðÇÁ·éKvª éD³ç
-ÉC-nostdlibðÂ¯é±ÆÅWCuªN³êÈ­Èé½ßC
-LIBSÉ-lgccðÇÁµÈ¯êÎÈçÈ¢D
-
-á¦ÎCX^[gAbvW
-[Ì\[Xt@Cªstart.SÌêÉÍC
-MakefileÌ^[QbgË¶ÉÌæ¤ÈLqðüêéÆæ¢D
+サンプルのMakefileでは，コンパイラに対するオプションに「-Wall -g -O2」
+を追加する．-Wallを追加したくない場合には，Makefileのターゲット依存部で
+OMIT_WARNING_ALLを"true"に定義する．-O2を追加したくない場合には，
+Makefileのターゲット依存部でOMIT_OPTIMIZATIONを"true"に定義する．
+
+2.5 リンク方法の設定
+
+(2-5-1) LDSCRIPT				リンカスクリプトのファイル名
+
+開発環境に標準のリンカスクリプトが使用できない場合には，ターゲット依存
+部でリンカスクリプトを用意し，そのファイル名をこの変数に定義する．
+
+(2-5-2) TEXT_START_ADDRESS		テキストセクションの先頭番地
+(2-5-3) DATA_START_ADDRESS		データセクションの先頭番地
+
+各セクションの先頭番地の指定が必要な場合には，これらの変数に先頭番地を
+定義する．
+
+(2-5-4) START_OBJS				先頭にリンクすべきモジュール名
+(2-5-5) END_OBJS				最後にリンクすべきモジュール名
+
+ターゲットによっては，ロードモジュールの先頭と最後にリンクすべきモジュー
+ルを，ターゲット依存部で用意する必要がある．多くの場合，スタートアップ
+モジュールをロードモジュールの先頭にリンクする必要がある．
+
+ロードモジュールの先頭にリンクすべきプログラムがある場合には，Makefile
+のターゲット依存部において，そのオブジェクトファイル名をSTART_OBJSに定
+義し，それに対するコンパイルルールと依存関係作成ルールを定義する．ロー
+ドモジュールの最後にリンクすべきモジュールがある場合には，そのオブジェ
+クトファイル名をEND_OBJSに定義し，それに対するコンパイルルールと依存関
+係作成ルールを定義する．また，標準のスタートアップモジュール（crt0.o）
+をリンクしないように，LDFLAGSに-nostdlibを追加する必要がある．さら
+に，-nostdlibをつけることで標準ライブラリがリンクされなくなるため，
+LIBSに-lgccを追加しなければならない．
+
+例えば，スタートアップモジュールのソースファイルがstart.Sの場合には，
+Makefileのターゲット依存部に次のような記述を入れるとよい．
 
 ----------------------------------------
-# X^[gAbvW
-[ÌIuWFNgt@C¼
+# スタートアップモジュールのオブジェクトファイル名
 START_OBJS = start.o
 
-# X^[gAbvW
-[ÌRpC[
+# スタートアップモジュールのコンパイルルール
 $(START_OBJS): %.o: %.S
 	$(CC) -c $(CFLAGS) $(KERNEL_CFLAGS) $<
 
-# X^[gAbvW
-[ÌË¶ÖWì¬[
+# スタートアップモジュールの依存関係作成ルール
 $(START_OBJS:.o=.d): %.d: %.S
 	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) $(MAKEDEP_OPTS) \
 		-O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
 
-# JÉÎ·éIvV
+# リンカに対するオプション
 LDFLAGS := -nostdlib $(LDFLAGS)
 LIBS := $(LIBS) -lgcc
 ----------------------------------------
 
-Ü½CGNUJ­Â«ÅCRpCÉWÌcrtbegin.oÆcrtend.oðp¢éê
-ÉÍCMakefile Ì^[QbgË¶ÉÌæ¤ÈLqðüêéÆæ¢D
+また，GNU開発環境で，コンパイラに標準のcrtbegin.oとcrtend.oを用いる場合
+には，Makefile のターゲット依存部に次のような記述を入れるとよい．
 
 ----------------------------------------
-# IuWFNgt@C¼
+# オブジェクトファイル名
 START_OBJS = $(shell $(CC) -print-file-name=crtbegin.o)
 END_OBJS = $(shell $(CC) -print-file-name=crtend.o)
 
-# Ë¶ÖWì¬[
+# 依存関係作成ルール
 $(START_OBJS:.o=.d): %.d:
 $(END_OBJS:.o=.d): %.d:
 
-# JÉÎ·éIvV
+# リンカに対するオプション
 LDFLAGS := -nostdlib $(LDFLAGS)
 LIBS := $(LIBS) -lgcc
 ----------------------------------------
 
-±ÌêC±êçÌt@CðRpC·é±ÆÍÈ¢½ßCRpC[
-ÍsvÅ éDÜ½CË¶ÖWì¬[Í_~[Åæ¢iË¶ÖWì¬[
-ªÈ¢ÆG[ÉÈéjD
-
-(2-5-6) HIDDEN_OBJS				wèµÈ­ÄàN³êéW
-[¼
-
-[hW
-[ÉN·×«W
-[ðCJÉÎ·ép[^Å
-ÍÈ­CJXNvgÉiá¦ÎCGNUJ­Â«ÌJXNvgÌ
-STARTUPðgÁÄjLq·éêÉÍC»ÌIuWFNgt@C¼ðC
-iSTART_OBJSÜ½ÍEND_OBJSÅÍÈ­jHIDDEN_OBJSÉè`µC»êÉÎ·éR
-pC[ÆË¶ÖWì¬[ðè`·éDHIDDEN_OBJSÉè`µ½
-W
-[ÍCJÉÎ·ép[^©çÍO³êéDLIBSÆLDFLAGSÉÂ
-¢ÄÍCSTART_OBJSÜ½ÍEND_OBJSðp¢éêÆ¯lÅ éD
-
-á¦ÎCX^[gAbvW
-[Ì\[Xt@Cªstart.SÅCstart.oð
-N·é±ÆðJXNvgÉLq·éêÉÍCMakefileÌ^[Qb
-gË¶ÉÌæ¤ÈLqðüêéÆæ¢D
+この場合，これらのファイルをコンパイルすることはないため，コンパイルルー
+ルは不要である．また，依存関係作成ルールはダミーでよい（依存関係作成ルー
+ルがないとエラーになる）．
+
+(2-5-6) HIDDEN_OBJS				指定しなくてもリンクされるモジュール名
+
+ロードモジュールにリンクすべきモジュールを，リンカに対するパラメータで
+はなく，リンカスクリプト中に（例えば，GNU開発環境のリンカスクリプトの
+STARTUPを使って）記述する場合には，そのオブジェクトファイル名を，
+（START_OBJSまたはEND_OBJSではなく）HIDDEN_OBJSに定義し，それに対するコ
+ンパイルルールと依存関係作成ルールを定義する．HIDDEN_OBJSに定義したモ
+ジュールは，リンカに対するパラメータからは除外される．LIBSとLDFLAGSにつ
+いては，START_OBJSまたはEND_OBJSを用いる場合と同様である．
+
+例えば，スタートアップモジュールのソースファイルがstart.Sで，start.oを
+リンクすることをリンカスクリプト中に記述する場合には，Makefileのターゲッ
+ト依存部に次のような記述を入れるとよい．
 
 ----------------------------------------
-# X^[gAbvW
-[ÌIuWFNgt@C¼
+# スタートアップモジュールのオブジェクトファイル名
 HIDDEN_OBJS = start.o
 
-# X^[gAbvW
-[ÌRpC[
+# スタートアップモジュールのコンパイルルール
 $(HIDDEN_OBJS): %.o: %.S
 	$(CC) -c $(CFLAGS) $(KERNEL_CFLAGS) $<
 
-# X^[gAbvW
-[ÌË¶ÖWì¬[
+# スタートアップモジュールの依存関係作成ルール
 $(HIDDEN_OBJS:.o=.d): %.d: %.S
 	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) $(MAKEDEP_OPTS) \
 		-O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
 
-# JÉÎ·éIvV
+# リンカに対するオプション
 LDFLAGS := -nostdlib $(LDFLAGS)
 LIBS := $(LIBS) -lgcc
 ----------------------------------------
 
-2.6 Ë¶ÖWÌè`
-
-RtBM
-[^ÌepXÉÎµÄC^[QbgË¶Ìt@CÖÌË¶Ö
-Wðè`·éDïÌIÉÍCpX1CpX2CpX3ªË¶·ét@CðC»ê
-¼êcfg1_out.cCkernel_cfg.timestampC$(OBJFILE)ÉÎ·éË¶ÖWÌ`Å
-Lq·éD
-
-ÙÆñÇÌêÉC^[QbgË¶fBNgÌMakefile.targetÉÍCÈ
-ºÌLqðÜßéKvª éD
+2.6 依存関係の定義
+
+コンフィギュレータの各パスに対して，ターゲット依存のファイルへの依存関
+係を定義する．具体的には，パス1，パス2，パス3が依存するファイルを，それ
+ぞれcfg1_out.c，kernel_cfg.timestamp，$(OBJFILE)に対する依存関係の形で
+記述する．
+
+ほとんどの場合に，ターゲット依存部ディレクトリのMakefile.targetには，以
+下の記述を含める必要がある．
 
 ----------------------------------------
@@ -641,211 +601,211 @@
 ----------------------------------------
 
-2.7 »Ì¼ÌÝè
-
-(2-7-1) CLEAN_FILES				cleanÉæèí·ét@C¼
-
-cleanÉæèí·ét@Cð^[QbgË¶ÅÇÁµ½¢êÉÍCt@
-C¼ð±ÌÏÉÇÁè`·éD
-
-(2-7-2) REALCLEAN_FILES			realcleanÉæèí·ét@C¼
-
-realcleanÉæèí·ét@Cð^[QbgË¶ÅÇÁµ½¢êÉÍC
-t@C¼ð±ÌÏÉÇÁè`·éD
-
-
-3. TOPPERS¤Êè`Ì^[QbgË¶
-
-TOPPERS¤Êè`it_stddef.hjÌ^[QbgË¶ÍCtarget_stddef.hÜ½
-Í»±©çCN[h³êét@CivZbTE`bvEJ­Â«Ë¶
-ÅpÓ³êéwb_t@CÈÇjÉÜßéD
-
-3.1 ^[Qbg¯Ê}N
-
-AvP[VâVXeT[rXÅ^[Qbgð¯Ê·é½ßÉC
-"TOPPERS_"ÉVXeªÌðå¶Éµ½¶ñðAµ½àÌiá¦ÎC
-"TOPPERS_DVE68K"jð}Nè`·éD
-
-Ü½C^[QbgË¶©çvZbTË¶â`bvË¶ðØèª¯½ê
-ÉÍC"TOPPERS_"ÉË¶ªÌðå¶Éµ½¶ñðAµ½àÌiá¦
-ÎC"TOPPERS_M68K"jð}Nè`·éD
-
-3.2 ®^ÌÅålEÅ¬lErbg
-
-(3-2-1) INT_MAX				intÉi[Å«éÅåliC90j
-(3-2-2) INT_MIN				intÉi[Å«éÅ¬liC90j
-(3-2-3) UINT_MAX			unsigned intÉi[Å«éÅåliC90j
-(3-2-4) LONG_MAX			longÉi[Å«éÅåliC90j
-(3-2-5) LONG_MIN			longÉi[Å«éÅ¬liC90j
-(3-2-6) ULONG_MAX			unsigned longÉi[Å«éÅåliC90j
-(3-2-7) CHAR_BIT			char^ÌrbgiC90j
-
-®^ÌÅålEÅ¬lErbgðC±êçÌV{É}NÉè`·éD
-
-±êçÌ}NÍCC90Éµ½àÌÅ éDJ­Â«ÉC90Éµ½
-limits.hªpÓ³êÄ¢éêÉÍC±êçÌ}Nðè`·é±ÆÉã¦ÄC
-limits.hðCN[h·êÎæ¢D
-
-3.3 TCYÌwè³ê½®^C»ÌÅålEÅ¬lC®èðìé}N
-
-(3-3-1) int8_t				t«8rbg®iIvVCC99j
-(3-3-2) uint8_t				³µ8rbg®iIvVCC99j
-(3-3-3) int16_t				t«16rbg®iC99j
-(3-3-4) uint16_t			³µ16rbg®iC99j
-(3-3-5) int32_t				t«32rbg®iC99j
-(3-3-6) uint32_t			³µ32rbg®iC99j
-(3-3-7) int64_t				t«64rbg®iIvVCC99j
-(3-3-8) uint64_t			³µ64rbg®iIvVCC99j
-(3-3-9) int128_t			t«128rbg®iIvVCC99j
-(3-3-10) uint128_t			³µ128rbg®iIvVCC99j
-(3-3-11) int_least8_t		8rbgÈãÌt«®iC99j
-(3-3-12) uint_least8_t		8rbgÈãÌ³µ®iC99j
-(3-3-13) intptr_t			|C^ði[Å«éTCYÌt«®iC99j
-(3-3-14) uintptr_t			|C^ði[Å«éTCYÌ³µ®iC99j
-(3-3-15) INT8_MAX			int8_tÉi[Å«éÅåliIvVCC99j
-(3-3-16) INT8_MIN			int8_tÉi[Å«éÅ¬liIvVCC99j
-(3-3-17) UINT8_MAX			uint8_tÉi[Å«éÅåliIvVCC99j
-(3-3-18) INT16_MAX			int16_tÉi[Å«éÅåliC99j
-(3-3-19) INT16_MIN			int16_tÉi[Å«éÅ¬liC99j
-(3-3-20) UINT16_MAX			uint16_tÉi[Å«éÅåliC99j
-(3-3-21) INT32_MAX			int32_tÉi[Å«éÅåliC99j
-(3-3-22) INT32_MIN			int32_tÉi[Å«éÅ¬liC99j
-(3-3-23) UINT32_MAX			uint32_tÉi[Å«éÅåliC99j
-(3-3-24) INT64_MAX			int64_tÉi[Å«éÅåliIvVCC99j
-(3-3-25) INT64_MIN			int64_tÉi[Å«éÅ¬liIvVCC99j
-(3-3-26) UINT64_MAX			uint64_tÉi[Å«éÅåliIvVCC99j
-(3-3-27) INT128_MAX			int128_tÉi[Å«éÅåliIvVCC99j
-(3-3-28) INT128_MIN			int128_tÉi[Å«éÅ¬liIvVCC99j
-(3-3-29) UINT128_MAX		uint128_tÉi[Å«éÅåliIvVCC99j
-(3-3-30) INT_LEAST8_MAX		int_least8_tÉi[Å«éÅåliC99j
-(3-3-31) INT_LEAST8_MIN		int_least8_tÉi[Å«éÅ¬liC99j
-(3-3-32) UINT_LEAST8_MAX	uint_least8_tÉi[Å«éÅåliC99j
-(3-3-33) INT8_C(val)		int_least8_t^Ìèðìé}NiC99j
-(3-3-34) UINT8_C(val)		uint_least8_t^Ìèðìé}NiC99j
-(3-3-35) INT16_C(val)		int16_t^Ìèðìé}NiC99j
-(3-3-36) UINT16_C(val)		uint16_t^Ìèðìé}NiC99j
-(3-3-37) INT32_C(val)		int32_t^Ìèðìé}NiC99j
-(3-3-38) UINT32_C(val)		uint32_t^Ìèðìé}NiC99j
-(3-3-39) INT64_C(val)		int64_t^Ìèðìé}NiIvVCC99j
-(3-3-40) UINT64_C(val)		uint64_t^Ìèðìé}NiIvVCC99j
-(3-3-41) INT128_C(val)		int128_t^Ìèðìé}NiIvVCC99j
-(3-3-42) UINT128_C(val)		uint128_t^Ìèðìé}NiIvVCC99j
-
-wè³ê½TCYÌ®^ðC±êçÌV{É^è`·éDÜ½Cf[^
-^Éi[Å«éÅålEÅ¬lÆC®èðìé}NðC±êçÌV{
-É}Nè`·éD
-
-±êçÌf[^^¨æÑ}NÍCC99Éµ½àÌÅ éDJ­Â«ÉC99
-Éµ½stdint.hªpÓ³êÄ¢éêÉÍC±êçÌf[^^¨æÑ}N
-ðè`·é±ÆÉã¦ÄCstdint.hðCN[h·êÎæ¢D
-
-ãÅIvVÆLqµ½àÌÍCY·éf[^^ªRpCÅT|[g
-³êÄ¢éêÉÌÝè`·é±Æð¦·D
-
-3.4 TCYÌwè³ê½®¬_^C»ÌÅålEÅ¬lÌ}N
-
-(3-4-1) float32_t			IEEE754Ì32rbgP¸x®¬_iIv
-							Vj
-(3-4-2) double64_t			IEEE754Ì64rbg{¸x®¬_iIv
-							Vj
-(3-4-3) FLOAT32_MIN			float32_tÉi[Å«éÅ¬Ì³K»³ê½³Ì
-							®¬_iIvVj
-(3-4-4) FLOAT32_MAX			float32_tÉi[Å«é\»Â\ÈÅåÌLÀ®
-							¬_iIvVj
-(3-4-5) DOUBLE64_MIN		double64_tÉi[Å«éÅ¬Ì³K»³ê½³Ì
-							®¬_iIvVj
-(3-4-6) DOUBLE64_MAX		double64_tÉi[Å«é\»Â\ÈÅåÌLÀ®
-							¬_iIvVj
-
-wè³ê½TCYE\»`®Ì®¬_^ðC±êçÌV{É^è`·
-éDÜ½Cf[^^Éi[Å«éÅålEÅ¬lðC±êçÌV{É}N
-è`·éD
-
-¢¸êàCY·éf[^^ªRpCÅT|[g³êÄ¢éêÉÌÝè
-`·éD
-
-3.5 RpCÌg£@\Ì½ßÌ}Nè`
-
-RpCÌg£@\ðp¢é½ßÌ}NÆµÄCKvÉ¶ÄCÈºÌ}
-NÌè`ðÜßéD
-
-(3-5-1) inlineiIvVCftHgÍ¢è`j
-(3-5-2) InlineiIvVCftHgÍstatic inlinej
-
-CCÖÅ é±Æð¦·wèDInlineÍCRpCPÊÉ[J
-ÈCCÖÅ é±Æð¦·D
-
-(3-5-3) asmiIvVCftHgÍ¢è`j
-(3-5-4) AsmiIvVCftHgÍ¢è`j
-
-CCAZuðLq·é½ßÌwèDAsmÍCÅK»ÉæèíµÄÍ
-ÈçÈ¢±Æð¦·D±êçÍC^[QbgË¶ÅÌÝg¤}NÅ é½
-ßC^[QbgË¶ÅgíÈ¢Èçè`·éKvÍÈ¢D
-
-(3-5-5) offsetof(structure, field)iIvVCftHgÌè` èj
-
-\¢ÌstructureÌÅÌCtB[hfieldÌItZbgðßé}ND
-
-(3-5-6) alignof(type)iIvVCftHgÌè` èj
-
-f[^^typeÌACgPÊðßé}ND
-
-(3-5-7) NoReturniIvVCftHgÍ¢è`j
-
-^[·é±ÆÌÈ¢ÖÅ é±Æð¦·wèD±êÍC^[QbgË¶
-ÌÝg¤}NÅ é½ßC^[QbgË¶ÅgíÈ¢Èçè`·éKv
-ÍÈ¢D
-
-3.6 WIÈè`Ìã«
-
-t_stddef.hÉÜÜêéTOPPERS¤Êè`ÌWIÈè`ðã«·éêÉÍC
-ÈºÌ}Nðè`·éD
-
-(3-6-1) TOPPERS_booliIvVCftHgÍintj
-(3-6-2) TOPPERS_sizeiIvVCftHgÍuintptr_tj
-(3-6-3) TOPPERS_fpiIvVCftHgÍ¼ÆÝ·«ÌÈ¢Ö|C^j
-
-»ê¼êCbool_tCSIZECFPÉ^è`·×«f[^^D
-
-(3-6-4) UINT_C(val)iIvVCftHgÍUðtÁj
-(3-6-5) ULONG_C(val)iIvVCftHgÍULðtÁj
-
-»ê¼êCunsigned uint^Cunsigned long^Ìèðìé½ßÌ}ND
-
-(3-6-6) NULLiIvVCftHgÍ0j
-
-C90ÌC¾êÂ«ÅÍCNULLÌè`Ístddef.hÉÜÜêÄ¢é½ßC±êð
-CN[hµÄàæ¢D
-
-(3-6-7) ERCD(mercd, sercd)iIvVj
-(3-6-8) MERCD(ercd)iIvVj
-(3-6-9) SERCD(ercd)iIvVj
-
-ERCDCMERCDCSERCDÌWÌè`ÍCt«®ª2ÌâÅ\»³êÄ¨èC
-EVtgZqi>>jªZpVtg³êé±Æð¼èµÄ¢éD½­ÌRp
-CÅ±Ì¼èª¬è§ÂªC»¤ÅÈ¢êÉÍC^[QbgË¶Å±ê
-çÌè`ðã«·éKvª éD
-
-(3-6-10) ALIGN_TYPE(addr, type)iIvVj
-
-AhXaddrªCf[^^typeÌACgPÊÉACµÄ¢é©
-`FbN·é}ND
-
-3.7 AT[VÌ½ßÌè`
-
-t_stddef.hÉÍCassertÌè`ªÜÜêéDassertª¸sµ½êiassertÌ
-p[^ªfalseÉÈÁ½êjÌðC^[QbgË¶ÉpÓ·éKvª
- éD±êçÌè`ÍCassert}Nðgp·éOÅ êÎCt_stddef.hÈ~
-ÉCN[h³êét@CÉÜÜêÄ¢Äàæ¢DÈ¨Cassertð³øÉ
-·éiNDEBUGð}Nè`µÄRpC·éjêÉÍC±êçðpÓ·é
-KvÍÈ¢D
+2.7 その他の設定
+
+(2-7-1) CLEAN_FILES				cleanにより削除するファイル名
+
+cleanにより削除するファイルをターゲット依存部で追加したい場合には，ファ
+イル名をこの変数に追加定義する．
+
+(2-7-2) REALCLEAN_FILES			realcleanにより削除するファイル名
+
+realcleanにより削除するファイルをターゲット依存部で追加したい場合には，
+ファイル名をこの変数に追加定義する．
+
+
+3. TOPPERS共通定義のターゲット依存部
+
+TOPPERS共通定義（t_stddef.h）のターゲット依存部は，target_stddef.hまた
+はそこからインクルードされるファイル（プロセッサ・チップ・開発環境依存
+部で用意されるヘッダファイルなど）に含める．
+
+3.1 ターゲット識別マクロ
+
+アプリケーションやシステムサービスでターゲットを識別するために，
+"TOPPERS_"にシステム略称を大文字にした文字列を連結したもの（例えば，
+"TOPPERS_DVE68K"）をマクロ定義する．
+
+また，ターゲット依存部からプロセッサ依存部やチップ依存部を切り分けた場
+合には，"TOPPERS_"に依存部略称を大文字にした文字列を連結したもの（例え
+ば，"TOPPERS_M68K"）をマクロ定義する．
+
+3.2 整数型の最大値・最小値・ビット数
+
+(3-2-1) INT_MAX				intに格納できる最大値（C90準拠）
+(3-2-2) INT_MIN				intに格納できる最小値（C90準拠）
+(3-2-3) UINT_MAX			unsigned intに格納できる最大値（C90準拠）
+(3-2-4) LONG_MAX			longに格納できる最大値（C90準拠）
+(3-2-5) LONG_MIN			longに格納できる最小値（C90準拠）
+(3-2-6) ULONG_MAX			unsigned longに格納できる最大値（C90準拠）
+(3-2-7) CHAR_BIT			char型のビット数（C90準拠）
+
+整数型の最大値・最小値・ビット数を，これらのシンボルにマクロに定義する．
+
+これらのマクロは，C90に準拠したものである．開発環境にC90に準拠した
+limits.hが用意されている場合には，これらのマクロを定義することに代えて，
+limits.hをインクルードすればよい．
+
+3.3 サイズの指定された整数型，その最大値・最小値，整数定数を作るマクロ
+
+(3-3-1) int8_t				符号付き8ビット整数（オプション，C99準拠）
+(3-3-2) uint8_t				符号無し8ビット整数（オプション，C99準拠）
+(3-3-3) int16_t				符号付き16ビット整数（C99準拠）
+(3-3-4) uint16_t			符号無し16ビット整数（C99準拠）
+(3-3-5) int32_t				符号付き32ビット整数（C99準拠）
+(3-3-6) uint32_t			符号無し32ビット整数（C99準拠）
+(3-3-7) int64_t				符号付き64ビット整数（オプション，C99準拠）
+(3-3-8) uint64_t			符号無し64ビット整数（オプション，C99準拠）
+(3-3-9) int128_t			符号付き128ビット整数（オプション，C99準拠）
+(3-3-10) uint128_t			符号無し128ビット整数（オプション，C99準拠）
+(3-3-11) int_least8_t		8ビット以上の符号付き整数（C99準拠）
+(3-3-12) uint_least8_t		8ビット以上の符号無し整数（C99準拠）
+(3-3-13) intptr_t			ポインタを格納できるサイズの符号付き整数（C99準拠）
+(3-3-14) uintptr_t			ポインタを格納できるサイズの符号無し整数（C99準拠）
+(3-3-15) INT8_MAX			int8_tに格納できる最大値（オプション，C99準拠）
+(3-3-16) INT8_MIN			int8_tに格納できる最小値（オプション，C99準拠）
+(3-3-17) UINT8_MAX			uint8_tに格納できる最大値（オプション，C99準拠）
+(3-3-18) INT16_MAX			int16_tに格納できる最大値（C99準拠）
+(3-3-19) INT16_MIN			int16_tに格納できる最小値（C99準拠）
+(3-3-20) UINT16_MAX			uint16_tに格納できる最大値（C99準拠）
+(3-3-21) INT32_MAX			int32_tに格納できる最大値（C99準拠）
+(3-3-22) INT32_MIN			int32_tに格納できる最小値（C99準拠）
+(3-3-23) UINT32_MAX			uint32_tに格納できる最大値（C99準拠）
+(3-3-24) INT64_MAX			int64_tに格納できる最大値（オプション，C99準拠）
+(3-3-25) INT64_MIN			int64_tに格納できる最小値（オプション，C99準拠）
+(3-3-26) UINT64_MAX			uint64_tに格納できる最大値（オプション，C99準拠）
+(3-3-27) INT128_MAX			int128_tに格納できる最大値（オプション，C99準拠）
+(3-3-28) INT128_MIN			int128_tに格納できる最小値（オプション，C99準拠）
+(3-3-29) UINT128_MAX		uint128_tに格納できる最大値（オプション，C99準拠）
+(3-3-30) INT_LEAST8_MAX		int_least8_tに格納できる最大値（C99準拠）
+(3-3-31) INT_LEAST8_MIN		int_least8_tに格納できる最小値（C99準拠）
+(3-3-32) UINT_LEAST8_MAX	uint_least8_tに格納できる最大値（C99準拠）
+(3-3-33) INT8_C(val)		int_least8_t型の定数を作るマクロ（C99準拠）
+(3-3-34) UINT8_C(val)		uint_least8_t型の定数を作るマクロ（C99準拠）
+(3-3-35) INT16_C(val)		int16_t型の定数を作るマクロ（C99準拠）
+(3-3-36) UINT16_C(val)		uint16_t型の定数を作るマクロ（C99準拠）
+(3-3-37) INT32_C(val)		int32_t型の定数を作るマクロ（C99準拠）
+(3-3-38) UINT32_C(val)		uint32_t型の定数を作るマクロ（C99準拠）
+(3-3-39) INT64_C(val)		int64_t型の定数を作るマクロ（オプション，C99準拠）
+(3-3-40) UINT64_C(val)		uint64_t型の定数を作るマクロ（オプション，C99準拠）
+(3-3-41) INT128_C(val)		int128_t型の定数を作るマクロ（オプション，C99準拠）
+(3-3-42) UINT128_C(val)		uint128_t型の定数を作るマクロ（オプション，C99準拠）
+
+指定されたサイズの整数型を，これらのシンボルに型定義する．また，データ
+型に格納できる最大値・最小値と，整数定数を作るマクロを，これらのシンボ
+ルにマクロ定義する．
+
+これらのデータ型およびマクロは，C99に準拠したものである．開発環境にC99
+に準拠したstdint.hが用意されている場合には，これらのデータ型およびマク
+ロを定義することに代えて，stdint.hをインクルードすればよい．
+
+上でオプションと記述したものは，該当するデータ型がコンパイラでサポート
+されている場合にのみ定義することを示す．
+
+3.4 サイズの指定された浮動小数点型，その最大値・最小値のマクロ
+
+(3-4-1) float32_t			IEEE754準拠の32ビット単精度浮動小数点数（オプ
+							ション）
+(3-4-2) double64_t			IEEE754準拠の64ビット倍精度浮動小数点数（オプ
+							ション）
+(3-4-3) FLOAT32_MIN			float32_tに格納できる最小の正規化された正の浮
+							動小数点数（オプション）
+(3-4-4) FLOAT32_MAX			float32_tに格納できる表現可能な最大の有限浮動
+							小数点数（オプション）
+(3-4-5) DOUBLE64_MIN		double64_tに格納できる最小の正規化された正の浮
+							動小数点数（オプション）
+(3-4-6) DOUBLE64_MAX		double64_tに格納できる表現可能な最大の有限浮動
+							小数点数（オプション）
+
+指定されたサイズ・表現形式の浮動小数点型を，これらのシンボルに型定義す
+る．また，データ型に格納できる最大値・最小値を，これらのシンボルにマク
+ロ定義する．
+
+いずれも，該当するデータ型がコンパイラでサポートされている場合にのみ定
+義する．
+
+3.5 コンパイラの拡張機能のためのマクロ定義
+
+コンパイラの拡張機能を用いるためのマクロとして，必要に応じて，以下のマ
+クロの定義を含める．
+
+(3-5-1) inline（オプション，デフォルトは未定義）
+(3-5-2) Inline（オプション，デフォルトはstatic inline）
+
+インライン関数であることを示す指定．Inlineは，コンパイル単位にローカル
+なインライン関数であることを示す．
+
+(3-5-3) asm（オプション，デフォルトは未定義）
+(3-5-4) Asm（オプション，デフォルトは未定義）
+
+インラインアセンブラを記述するための指定．Asmは，最適化により削除しては
+ならないことを示す．これらは，ターゲット依存部でのみ使うマクロであるた
+め，ターゲット依存部で使わないなら定義する必要はない．
+
+(3-5-5) offsetof(structure, field)（オプション，デフォルトの定義あり）
+
+構造体structureの中での，フィールドfieldのオフセットを求めるマクロ．
+
+(3-5-6) alignof(type)（オプション，デフォルトの定義あり）
+
+データ型typeのアラインメント単位を求めるマクロ．
+
+(3-5-7) NoReturn（オプション，デフォルトは未定義）
+
+リターンすることのない関数であることを示す指定．これは，ターゲット依存
+部のみ使うマクロであるため，ターゲット依存部で使わないなら定義する必要
+はない．
+
+3.6 標準的な定義の上書き
+
+t_stddef.hに含まれるTOPPERS共通定義の標準的な定義を上書きする場合には，
+以下のマクロを定義する．
+
+(3-6-1) TOPPERS_bool（オプション，デフォルトはint）
+(3-6-2) TOPPERS_size（オプション，デフォルトはuintptr_t）
+(3-6-3) TOPPERS_fp（オプション，デフォルトは他と互換性のない関数ポインタ）
+
+それぞれ，bool_t，SIZE，FPに型定義すべきデータ型．
+
+(3-6-4) UINT_C(val)（オプション，デフォルトはUを付加）
+(3-6-5) ULONG_C(val)（オプション，デフォルトはULを付加）
+
+それぞれ，unsigned uint型，unsigned long型の定数を作るためのマクロ．
+
+(3-6-6) NULL（オプション，デフォルトは0）
+
+C90準拠のC言語環境では，NULLの定義はstddef.hに含まれているため，これを
+インクルードしてもよい．
+
+(3-6-7) ERCD(mercd, sercd)（オプション）
+(3-6-8) MERCD(ercd)（オプション）
+(3-6-9) SERCD(ercd)（オプション）
+
+ERCD，MERCD，SERCDの標準の定義は，符号付き整数が2の補数で表現されており，
+右シフト演算子（>>）が算術シフトされることを仮定している．多くのコンパ
+イラでこの仮定が成り立つが，そうでない場合には，ターゲット依存部でこれ
+らの定義を上書きする必要がある．
+
+(3-6-10) ALIGN_TYPE(addr, type)（オプション）
+
+アドレスaddrが，データ型typeのアラインメント単位にアラインしているか
+チェックするマクロ．
+
+3.7 アサーションのための定義
+
+t_stddef.hには，assertの定義が含まれる．assertが失敗した場合（assertの
+パラメータがfalseになった場合）の処理を，ターゲット依存に用意する必要が
+ある．これらの定義は，assertマクロを使用する前であれば，t_stddef.h以降
+にインクルードされるファイルに含まれていてもよい．なお，assertを無効に
+する（NDEBUGをマクロ定義してコンパイルする）場合には，これらを用意する
+必要はない．
 
 (3-7-1) TOPPERS_assert_abort(void)
 
-assertª¸sµ½êÉCvOðâ~³¹éÖDVXeJ­Íf
-obKÉÆ·ÌªzIÅ éDVXeÒ­ÉÍáOðsí¹é±
-ÆÉÈéD
-
-{Öð³À[vÅÀ·éÛÍCÈºÌ`®Æ·é±Æ(TECSÌp[TÌ
-§ÀÉí¹é½ßjD
+assertが失敗した場合に，プログラムを停止させる関数．システム開発中はデ
+バッガに落とすのが理想的である．システム稼働時には例外処理を行わせるこ
+とになる．
+
+本関数を無限ループで実装する際は，以下の形式とすること(TECSのパーサの
+制限に合わせるため）．
 
 Inline void
@@ -859,111 +819,109 @@
 (3-7-2) TOPPERS_assert_fail(exp, file, line)
 
-assertª¸sµ½Ìîñð\¦/L^·é½ßÌ}NDVXeO@\ð
-p¢éêÉÍCt_syslog.hÉVXeO@\ÉL^·é½ßÌè`ªÜÜ
-êÄ¢éÌÅC^[QbgË¶ÅpÓ·éKvÍÈ¢D
-
-
-4. VXeC^tF[XCiSILjÌ^[QbgË¶
-
-VXeC^tF[XCiSILCsil.hjÌ^[QbgË¶Ìè`ÍC
-target_sil.hÜ½Í»±©çCN[h³êét@CivZbTE`b
-vEJ­Â«Ë¶ÅpÓ³êéwb_t@CÈÇjÉÜßéD
-
-SILÌT[rXR[ÍCCÓÌVXeóÔÅÄÑo·±ÆªÅ«éD»Ì½
-ßCSILÌ^[QbgË¶ÌÖÍCCÓÌVXeóÔÅÄÑo¹éæ¤É
-ÀµÈ¯êÎÈçÈ¢D
-
-4.1 SÝbNóÔÌÇ
-
-SILÌ^[QbgË¶ÅÍCSÝbNóÔÖJÚ·é@\ÆC³ÌóÔ
-Öß·@\i³ÌóÔðL¯·é½ßÉÏðg¤jðñ·éDSÝb
-NóÔÅ é©ð»Ê·é@\Íñ·éKvªÈ¢D
-
-SILÌ@\ÍCJ[lðgpµÈ¢êÉàgpÅ«éKvª éD»Ì½ßC
-SÝbNóÔÖÌJÚÆ³ÌóÔÖÌAÍCJ[lðp¢¸Cv
-ZbTÌ\[Xð¼Úì·é±ÆÉæÁÄÀ»·éDÜ½CSÝb
-NóÔÖÌJÚÆ³ÌóÔÖÌAÍCSÝbNóÔâCPUbNóÔÅ
-às¦éKvª éD
-
-Ûì@\ðÁ½J[lÅÍC[U^XN©çvZbTÌ\[Xð¼
-Úì·é±ÆªÅ«È¢½ßC[U^XN©çÍ±êçÌ@\ðp¢é±
-ÆªÅ«È¢Dp¢½êÌU¢Í^[QbgvZbTÉË¶·éªCT
-^IÉÍCÁ ½ßá½ÈÇÌCPUáOª­¶·é±ÆÉÈéD
+assertが失敗した時の情報を表示/記録するためのマクロ．システムログ機能を
+用いる場合には，t_syslog.hにシステムログ機能に記録するための定義が含ま
+れているので，ターゲット依存部で用意する必要はない．
+
+
+4. システムインタフェースレイヤ（SIL）のターゲット依存部
+
+システムインタフェースレイヤ（SIL，sil.h）のターゲット依存部の定義は，
+target_sil.hまたはそこからインクルードされるファイル（プロセッサ・チッ
+プ・開発環境依存部で用意されるヘッダファイルなど）に含める．
+
+SILのサービスコールは，任意のシステム状態で呼び出すことができる．そのた
+め，SILのターゲット依存部の関数は，任意のシステム状態で呼び出せるように
+実装しなければならない．
+
+4.1 全割込みロック状態の管理
+
+SILのターゲット依存部では，全割込みロック状態へ遷移する機能と，元の状態
+へ戻す機能（元の状態を記憶するために変数を使う）を提供する．全割込みロッ
+ク状態であるかを判別する機能は提供する必要がない．
+
+SILの機能は，カーネルを使用しない場合にも使用できる必要がある．そのため，
+全割込みロック状態への遷移と元の状態への復帰は，カーネルを用いず，プロ
+セッサのリソースを直接操作することによって実現する．また，全割込みロッ
+ク状態への遷移と元の状態への復帰は，全割込みロック状態やCPUロック状態で
+も行える必要がある．
+
+保護機能を持ったカーネルでは，ユーザタスクからプロセッサのリソースを直
+接操作することができないため，ユーザタスクからはこれらの機能を用いるこ
+とができない．用いた場合の振舞いはターゲットプロセッサに依存するが，典
+型的には，特権命令違反などのCPU例外が発生することになる．
 
 (4-1-1) SIL_PRE_LOC
 
-SÝbNtOÌóÔðÛ¶·é½ßÌÏðè`·é}ND^¼Ì
-ãÉCÏ¼ð±¯½àÌÉè`·éDÏ¼ÍC¼Ì¼OÆÕËµÈ¢æ¤
-ÉC"TOPPERS_"ÅnÜé¼OÉ·éD
+全割込みロックフラグの状態を保存するための変数を定義するマクロ．型名の
+後に，変数名を続けたものに定義する．変数名は，他の名前と衝突しないよう
+に，"TOPPERS_"で始まる名前にする．
 
 (4-1-2) SIL_LOC_INT()
 
-»ÝÌSÝbNtOÌóÔðSIL_PRE_LOCÅè`µ½ÏÉÛ¶µCS
-ÝbNóÔÉJÚ³¹é}ND±Ì}NðÀ»·éÛÉÍCu1.6
-NeBJZNVÌoüÌÀ»ÉÖ·é§ñvÌßÉLq³êÄ¢
-é§ñÉ]íÈ¯êÎÈçÈ¢D
+現在の全割込みロックフラグの状態をSIL_PRE_LOCで定義した変数に保存し，全
+割込みロック状態に遷移させるマクロ．このマクロを実現する際には，「1.6
+クリティカルセクションの出入処理の実現に関する制約」の節に記述されてい
+る制約に従わなければならない．
 
 (4-1-3) SIL_UNL_INT()
 
-SIL_LOC_INT()ÉæÁÄÏÉÛ¶µ½óÔÉß·}ND±Ì}NðÀ»·
-éÛÉÍCu1.6 NeBJZNVÌoüÌÀ»ÉÖ·é§ñvÌ
-ßÉLq³êÄ¢é§ñÉ]íÈ¯êÎÈçÈ¢D
-
-4.2 ÷­ÔÒ¿
+SIL_LOC_INT()によって変数に保存した状態に戻すマクロ．このマクロを実現す
+る際には，「1.6 クリティカルセクションの出入処理の実現に関する制約」の
+節に記述されている制約に従わなければならない．
+
+4.2 微少時間待ち
 
 (4-2-1) void sil_dly_nse(ulong_t dlytim)
 
-dlytimÅwè³ê½ÈãÌÔiPÊÍimbjC[vÈÇÉæÁÄÒÂÖ
-D
-
-ÈºÌÖÆ¿ÈðCAZu¾êÅLq·éû@ðCWIÈÀ
-û@Æ·éDAZu¾êÅLq·éÌÍCRpCÌÅK»ÉË¶µÈ
-¢æ¤É·é½ßÅ éDÜ½±ÌÖÍCLbV
-Ìe¿ðó¯È¢æ
-¤ÉCÅ«éÀèANZXðsíÈ¢æ¤ÉÀ·×«Å éD
+dlytimで指定された以上の時間（単位はナノ秒），ループなどによって待つ関
+数．
+
+以下の関数と等価な処理を，アセンブリ言語で記述する方法を，標準的な実装
+方法とする．アセンブリ言語で記述するのは，コンパイラの最適化に依存しな
+いようにするためである．またこの関数は，キャッシュ等の影響を受けないよ
+うに，できる限りメモリアクセスを行わないように実装すべきである．
 
 	void sil_dly_nse(ulong_t dlytim)
 	{
 		dlytim -= SIL_DLY_TIM1;
-		if (Êª0æèå«¢) {
+		if (結果が0より大きい) {
 			do {
 				dlytim -= SIL_DLY_TIM2;
-			} while (Êª0æèå«¢);
+			} while (結果が0より大きい);
 		}
 	}
 
-±ÌÖÌ®ìÍÌÊèÅ éDdlytimªSIL_DLY_TIM1ÈºÌêÉÍCÅ
-Ìif¶Ìðª¬§¹¸C·®ÉÖ©ç²¯éDdlytimªSIL_DLY_TIM1æ
-èå«­C(SIL_DLY_TIM1+SIL_DLY_TIM2)ÈºÌêÉÍCÅÌif¶ÌðÍ
-¬§·éªCdo[vÍ1ñàñç¸ÉÖ©ç²¯éDdlytimª
-(SIL_DLY_TIM1+SIL_DLY_TIM2)æèå«­C(SIL_DLY_TIM1+SIL_DLY_TIM2*2)È
-ºÌêÉÍCdo[vð1ñ¾¯ñÁÄÖ©ç²¯éD»ÌãCdlytimª
-SIL_DLY_TIM2å«­ÈéxÉCwhile[vðñéñª1ñ¸Â¦éD
-
-È¨C±ÌÖðAZu¾êiÜ½ÍCC¾êjÅLq·éêCÇÌt@
-CÉLq·é©ªâèÉÈéDSILÌ^[QbgË¶ÉÍCWÅÍCAZ
-u¾êiÜ½ÍCC¾êjÌÖè`ðLq·é½ßÌt@CðpÓµÄ
-¢È¢D^[QbgË¶ÅpÓµÄàæ¢ªCáOIÉCJ[lÀÌ^[
-QbgË¶W
-[itarget_support.SÜ½Ítarget_config.cjÉLqµÄ
-àæ¢±ÆÉ·éD
-
-(4-2-2) SIL_DLY_TIM1iIvVj
-(4-2-3) SIL_DLY_TIM2iIvVj
-
-sil_dly_nseðãLÌWIÈû@ÅÀ»µ½êC±Ì2ÂÌèð^[Qb
-gË¶Å}Nè`·éD
-
-SIL_DLY_TIM2ÍCãLÌÖÉ¨¢ÄCdo[v1ñÌÀsÔiPÊÍimbj
-ÉÝè·éD^[QbgvZbTÌ½ßZbgÉàæéªC¨¨æ»C¸Z
-½ßÆðªò½ße1ñÌÀsÔÉÈéDSIL_DLY_TIM2ªÜêÎCÖÄ
-oµàÜß½SÌÌÔªdlytimÅwè³ê½ÈãÌÔÉÈéæ¤ÉC
-SIL_DLY_TIM1ðßéD
-
-¦ºLÌàeÍC»_ÅSSPJ[lÅÍ¢T|[gÅ éD
-
-±Ì2ÂÌèlÌèðx·évOÆµÄCtestfBNgÉC
-test_dlynseðpÓµÄ¢éDtest_dlynseðÀs·éÆCÌæ¤ÈoÍª¾
-çêéD
+この関数の動作は次の通りである．dlytimがSIL_DLY_TIM1以下の場合には，最
+初のif文の条件が成立せず，すぐに関数から抜ける．dlytimがSIL_DLY_TIM1よ
+り大きく，(SIL_DLY_TIM1+SIL_DLY_TIM2)以下の場合には，最初のif文の条件は
+成立するが，doループは1回も回らずに関数から抜ける．dlytimが
+(SIL_DLY_TIM1+SIL_DLY_TIM2)より大きく，(SIL_DLY_TIM1+SIL_DLY_TIM2*2)以
+下の場合には，doループを1回だけ回って関数から抜ける．その後，dlytimが
+SIL_DLY_TIM2大きくなる度に，whileループを回る回数が1回ずつ増える．
+
+なお，この関数をアセンブリ言語（または，C言語）で記述する場合，どのファ
+イルに記述するかが問題になる．SILのターゲット依存部には，標準では，アセ
+ンブリ言語（または，C言語）の関数定義を記述するためのファイルを用意して
+いない．ターゲット依存で用意してもよいが，例外的に，カーネル実装のター
+ゲット依存モジュール（target_support.Sまたはtarget_config.c）に記述して
+もよいことにする．
+
+(4-2-2) SIL_DLY_TIM1（オプション）
+(4-2-3) SIL_DLY_TIM2（オプション）
+
+sil_dly_nseを上記の標準的な方法で実現した場合，この2つの定数をターゲッ
+ト依存部でマクロ定義する．
+
+SIL_DLY_TIM2は，上記の関数において，doループ1回の実行時間（単位はナノ秒）
+に設定する．ターゲットプロセッサの命令セットにもよるが，おおよそ，減算
+命令と条件分岐命令各1回の実行時間になる．SIL_DLY_TIM2が決まれば，関数呼
+出しも含めた全体の時間がdlytimで指定された以上の時間になるように，
+SIL_DLY_TIM1を決める．
+
+※下記の内容は，現時点でSSPカーネルでは未サポートである．
+
+この2つの定数値の決定を支援するプログラムとして，testディレクトリに，
+test_dlynseを用意している．test_dlynseを実行すると，次のような出力が得
+られる．
 
 -- for fitting parameters --
@@ -972,5 +930,5 @@
 sil_dly_nse(510): 520 OK
 sil_dly_nse(600): 610 OK
-<ª>
+<中略>
 -- for checking boundary conditions --
 sil_dly_nse(421): 520 OK
@@ -978,32 +936,32 @@
 sil_dly_nse(601): 700 OK
 
-"for fitting parameters"É±­oÍÍCsil_dly_nse(dlytim)ðÄÑoµ½ê
-ÌÒ¿Ôðªèµ½ÊÅ éD±ÌvOðp¢ÄC":"ÌE¤Ì
-lªCdlytimæèàå«¢ÍÍÅÈé×­ß¢lÉÈéæ¤ÉC2ÂÌèlð
-²®·éD"for checking boundary conditions"É±­oÍÍCvOÌ
-Ã«ð`FbN·é½ßÌàÌÅC":"ÌE¤ÌlªCdlytimæèàå«¢
-±ÆðmF·éiß¢lÉÈéKvÍÈ¢jD
-
-4.3 vZbTÌGfBA
+"for fitting parameters"に続く出力は，sil_dly_nse(dlytim)を呼び出した場
+合の待ち時間を測定した結果である．このプログラムを用いて，":"の右側の数
+値が，dlytimよりも大きい範囲でなるべく近い値になるように，2つの定数値を
+調整する．"for checking boundary conditions"に続く出力は，プログラムの
+妥当性をチェックするためのもので，":"の右側の数値が，dlytimよりも大きい
+ことを確認する（近い値になる必要はない）．
+
+4.3 プロセッサのエンディアン
 
 (4-3-1) SIL_ENDIAN_BIG
 (4-3-2) SIL_ENDIAN_LITTLE
 
-vZbTÌGfBAÉæèC¢¸ê©ÐûÌV{ð}Nè`·éD
-
-(4-3-3) TOPPERS_SIL_REV_ENDIAN_UINT16iIvVj
-(4-3-4) TOPPERS_SIL_REV_ENDIAN_UINT32iIvVj
-
-»ê¼êC16rbgC32rbgÌ³µ®ÌGfBAð½]³¹é}
-NDvZbTªGfBA½]Ì½ßÌ½ßðÂêÉÍC»Ì½ß
-ðp¢ÄÀ»·éD±êçÌV{ð}Nè`µÈ¢êÉÍCftH
-gÌè`ªgíêéD
-
-4.4 óÔANZXÖ
+プロセッサのエンディアンにより，いずれか片方のシンボルをマクロ定義する．
+
+(4-3-3) TOPPERS_SIL_REV_ENDIAN_UINT16（オプション）
+(4-3-4) TOPPERS_SIL_REV_ENDIAN_UINT32（オプション）
+
+それぞれ，16ビット，32ビットの符号無し整数のエンディアンを反転させるマ
+クロ．プロセッサがエンディアン反転のための命令を持つ場合には，その命令
+を用いて実現する．これらのシンボルをマクロ定義しない場合には，デフォル
+トの定義が使われる．
+
+4.4 メモリ空間アクセス関数
 
 (4-4-1) TOPPERS_OMIT_SIL_ACCESS
 
-WÌóÔANZXÖðgp¹¸C^[QbgË¶ÅpÓ·éê
-ÉÍC±ÌV{ð}Nè`·éD
+標準のメモリ空間アクセス関数を使用せず，ターゲット依存部で用意する場合
+には，このシンボルをマクロ定義する．
 
 (4-4-2) TOPPERS_OMIT_SIL_REH_LEM
@@ -1016,167 +974,159 @@
 (4-4-9) TOPPERS_OMIT_SIL_WRW_BEM
 
-»ê¼êCWÌsil_reh_lemCsil_wrh_lemCsil_reh_bemCsil_wrh_bemC
-sil_rew_lemCsil_wrw_lemCsil_rew_bemCsil_wrw_bemðgp¹¸C^[Qb
-gË¶ÅpÓ·éêÉÍC±êçÌV{ð}Nè`·éD
-
-4.5 I/OóÔANZXÖ
-
-óÔÆÍÊÉI/OóÔðÂvZbTÅÍCI/OóÔÉ éfoCX
-WX^ðANZX·é½ßÌÖÆµÄCsil_reb_iopCsil_wrb_iopC
-sil_reh_iopCsil_wrh_iopCsil_reh_lepCsil_wrh_lepCsil_reh_bepC
-sil_wrh_bepCsil_rew_iopCsil_wrw_iopCsil_rew_lepCsil_wrw_lepC
-sil_rew_bepCsil_wrw_bepÌÅKvÈàÌðC^[QbgË¶ÅpÓ·éD
-
-
-5. J[lAPIÌ^[QbgË¶
-
-J[lAPIikernel.hjÌ^[QbgË¶Ìè`ÍCtarget_kernel.hÜ½
-Í»±©çCN[h³êét@CivZbTE`bvEJ­Â«Ë¶
-ÅpÓ³êéwb_t@CÈÇjÉÜßéD
-
-5.1 ^[Qbgè`ÅT|[g·é@\
-
-(5-1-1) TOPPERS_TARGET_SUPPORT_DIS_INT		dis_intðT|[g·é
-(5-1-2) TOPPERS_TARGET_SUPPORT_ENA_INT		ena_intðT|[g·é
-
-dis_intCena_intCT|[g·éêÉC»ê¼êÌV{ð}N
-è`·éD
-
-5.2 ÝDæxÌÍÍ
-
-(5-2-1) TMIN_INTPRI				ÝDæxÌÅ¬liÅlj
-(5-2-2) TMAX_INTPRI				ÝDæxÌÅåliÅálj
-
-»ê¼êCJ[lÇÌÝDæxÌÅ¬liDæxªÅjCJ[l
-ÇÌÝDæxÌÅåliDæxªÅájÉè`·éDTMAX_INTPRIÍ-1
-ÉÅè³êÄ¢éªCÎÌ«Ì½ßÉC^[QbgË¶Åè`·é±ÆÉµ
-Ä¢éD
-
-5.3 ^CeBbNÌè`
-
-(5-3-1) TIC_NUME				^CeBbNÌüúÌªq
-(5-3-2) TIC_DENO				^CeBbNÌüúÌªê
-
-^CeBbNÌüúisignal_timeðÄÑo·üújðC~bPÊÅC
-TIC_NUME/TIC_DENOÉè`·éDá¦ÎC^CeBbNÌüúª1/30bÌê
-ÉÍCTIC_NUMEð100ÉCTIC_DENOð3Éè`·êÎæ¢D
-
-^CeBbNÌüúÍC1~bÆ·éiÂÜèCTIC_NUMECTIC_DENOÆà1
-Éè`·éj±Æð§·éªCV~
-[VÂ«â«\Ìá¢vZb
-TÅ»êªKØÅÈ¢êÉÍC»êÈOÌlÆµÄàæ¢D»ÌêÅàC
-Â\ÈÀèC1~bÌ{Å éiÂÜèCTIC_DENOð1Éè`·éj±Æª
-]Üµ¢D
-
-TIC_NUMEÆTIC_DENOÌè`ðÏX·é±ÆÅC^CeBbNÌüúðÏXÅ
-«éæ¤É^C}hCoðÀ·éêÉÍC±Ì2ÂÌèÌè`ÍftH
-glð^¦Ä¢é±ÆÉÈéD»±ÅC±êçÌè`ðu#ifndef TIC_NUMEv
-u#endifvÅÍñÅLq·éD
-
-5.4 ÌæmÛÌ½ßÌ^è`
-
-(5-4-1) TOPPERS_STK_T	X^bNÌæðmÛ·é½ßÌ^iIvVj
-
-X^bNÌæÍCWÅÍCintptr_t^ÌzñÆµÄmÛ·éªCæèå«¢PÊÅ
-AC³¹½¢ÈÇÌRÅC»êÈOÌ^ÌzñÆµÄmÛ·éêÉÍC
-»ê¼êTOPPERS_STK_TÆðCzñÌx[XÆÈéf[^^É}Nè`·éD
-
-5.5 ÌæmÛÌ½ßÌ}N
-
-(5-5-1) TOPPERS_ROUND_SZiIvVj
-(5-5-2) TOPPERS_COUNT_SZiIvVj
-
-TOPPERS_COUNT_SZ(sz, unit)ÍCsz/unitðØèã°½lðßé}NÅCT
-CYªszÌÌæðTCYªunitÌf[^^ÌzñÅmÛ·éêÌvf
-ðßé½ßÉp¢éDTOPPERS_ROUND_SZ(sz, unit)ÍCsz/unitðØèã°
-½àÌÉunitð©¯½lðßé}NÅCTCYªszÌÌæðTCY
-ªunitÌf[^^ÌzñÅmÛ·éêÌg[^TCYðßé½ßÉp¢
-éD
-
-»ê¼êCWÌTOPPERS_ROUND_SZCTOPPERS_COUNT_SZªKØÅÈ­C^[Qb
-gË¶ÅpÓ·éêÉÍC±êçÌV{ðKØÈlÉ}Nè`·éD
-
-6. J[lÀÌ^[QbgË¶
-
-6.1 J[lÀÌ^[QbgË¶Ì¤Ê
-
-6.1.1 J[lÀÌ^[QbgË¶Ì\¬vf
-
-J[lÀÌ^[QbgË¶ÍCÈºÌvfÅ\¬³êéD
-
-(a) J[lÀÌ^[QbgË¶Ìè`
-
-J[lÀÌ^[QbgñË¶©çQÆ³êé^[QbgË¶Ìè`ÍC
-target_config.hÜ½Í»±©çCN[h³êét@CivZbTE`b
-vEJ­Â«Ë¶ÅpÓ³êéwb_t@CÈÇjÉÜßéD
-
-^[QbgÌn[hEFA¹iÝnhÔâCPUáOnhÔC
-foCXWX^ÌÔnÈÇjÌè`ÍCVXeT[rXâAvP[V
-ÉàLpÅ é½ßCJ[lÀÌÝÉLpÈè`ðÜÞt@CÆÍØ
-èª¯ÄCÆ§µ½wb_t@CÉÜßéD±Ìwb_t@CÌWIÈ
-¼ÌðCVXeªÌ.hiÜ½ÍC`bvªÌ.hCvZbTªÌ.hjÆ·éD
-
-(b) J[lÀÌ^[QbgË¶W
-[
-
-J[lÀÌ^[QbgË¶ÌÏè`âÖðÜÞW
-[DC¾êÅL
-q³êéªðtarget_config.cCAZu¾êÅLq³êéªð
-target_support.SÉÜßéDvZbTE`bvEJ­Â«Ë¶ðØèª¯
-é±ÆâCt@Cªå«­ÈéêÉ¡Ìt@CÉª·é±ÆàÂ\
-Å éD
-
-(c) J[lÀÌ^[QbgË¶Ì½ßÌl[Lq
-
-J[lÀÌ^[QbgË¶ÌÏ¼âÖ¼ðCæªÉ_kernel_ðt^
-µ½¼OÉl[·é½ßÌW
-[Dtarget_rename.defðpÓµCc[
-iutils/genrenamejÉæèCtarget_rename.hÆtarget_unrename.hð¶¬·
-éDvZbTE`bvEJ­Â«Ë¶ðØèª¯éêÉÍCl[L
-qàØèª¯éD
-
-¦
-(d) ^C}hCo
-
-J[lÉ^CeBbNðÊm·éisignal_timeðüúIÉÄÑo·j½ß
-Ì^C}hCoÌwb_t@CCÀt@CCVXeRtBM
-[
-Vt@CðC»ê¼êCtarget_timer.hCtarget_timer.cC
-target_timer.cfgÉÜßéDvZbTE`bvEJ­Â«Ë¶ðØèª¯
-é±ÆàÂ\Å éD
-
-(e) RtBM
-[^Ýèt@C
-
-RtBM
-[^ÌÝèt@CÌ^[QbgË¶ðCtarget_def.csvC
-target.tfCtarget_check.tfÉpÓ·éDRtBM
-[^Ýèt@CÌ
-Lqû@ÉÂ¢ÄÍCVÍÅà¾·éD
-
-6.1.2 ^[QbgË¶ÌÖÌ½¼K¥
-
-J[lÀÌ^[QbgË¶ð\¬·éÖÌÅCt_ÅnÜéàÌÍ^
-XNReLXgêpCi_ÅnÜéàÌÍñ^XNReLXgêpCx_Ån
-ÜéàÌÍ¢¸êÌReLXg©çÅàÄÑo·±ÆªÅ«éÖÅ éD
-
-6.2 g[XO@\ÖÌÎ
-
-J[lÌg[XO@\ÌÅCÝnhCCPUáOnhÌJn
-EI¹Ìg[XOæ¾ÍC^[QbgË¶ÅÀ·éKvª éDÙÆñ
-ÇÌ^[QbgVXeÉ¨¢ÄC»êçÌÍAZu¾êÅLq³êÄ
-¨èC^[QbgñË¶ü¯Ìg[XO}NÆ¯¶û@ig[XO
-}NðCg[XOæ¾ÌC¾êLqÉ}Nè`·éû@jÍCp¢
-é±ÆªÅ«È¢D
-
-»±ÅCAZu¾êÅLq³êÄ¢éÉg[XOæ¾ðß
-ÞêÉÍCg[XO}Nªè`³êÄ¢êÎC»êª½Éè`³êÄ
-¢é©Í³µÄCWIÈg[XOÖªC¾êÅLq³êÄ¢éÆzè
-µÄC»êðÄÑo·æ¤ÉR[fBO·éD
-
-ïÌIÉÍCºÌ\Ì¶¤É¦µ½g[XO}Nªè`³êÄ¢êÎC
-\ÌE¤É¦µ½C¾êLqÆ¯Ìðs¤æ¤ÉR[fBO·éD
-
-	g[XO}N		g[XOæ¾
+それぞれ，標準のsil_reh_lem，sil_wrh_lem，sil_reh_bem，sil_wrh_bem，
+sil_rew_lem，sil_wrw_lem，sil_rew_bem，sil_wrw_bemを使用せず，ターゲッ
+ト依存部で用意する場合には，これらのシンボルをマクロ定義する．
+
+4.5 I/O空間アクセス関数
+
+メモリ空間とは別にI/O空間を持つプロセッサでは，I/O空間にあるデバイスレ
+ジスタをアクセスするための関数として，sil_reb_iop，sil_wrb_iop，
+sil_reh_iop，sil_wrh_iop，sil_reh_lep，sil_wrh_lep，sil_reh_bep，
+sil_wrh_bep，sil_rew_iop，sil_wrw_iop，sil_rew_lep，sil_wrw_lep，
+sil_rew_bep，sil_wrw_bepの中で必要なものを，ターゲット依存部で用意する．
+
+
+5. カーネルAPIのターゲット依存部
+
+カーネルAPI（kernel.h）のターゲット依存部の定義は，target_kernel.hまた
+はそこからインクルードされるファイル（プロセッサ・チップ・開発環境依存
+部で用意されるヘッダファイルなど）に含める．
+
+5.1 ターゲット定義でサポートする機能
+
+(5-1-1) TOPPERS_TARGET_SUPPORT_DIS_INT		dis_intをサポートする
+(5-1-2) TOPPERS_TARGET_SUPPORT_ENA_INT		ena_intをサポートする
+
+dis_int，ena_int，サポートする場合に，それぞれのシンボルをマク
+ロ定義する．
+
+5.2 割込み優先度の範囲
+
+(5-2-1) TMIN_INTPRI				割込み優先度の最小値（最高値）
+(5-2-2) TMAX_INTPRI				割込み優先度の最大値（最低値）
+
+それぞれ，カーネル管理の割込み優先度の最小値（＝優先度が最高），カーネ
+ル管理の割込み優先度の最大値（優先度が最低）に定義する．TMAX_INTPRIは-1
+に固定されているが，対称性のために，ターゲット依存部で定義することにし
+ている．
+
+5.3 タイムティックの定義
+
+(5-3-1) TIC_NUME				タイムティックの周期の分子
+(5-3-2) TIC_DENO				タイムティックの周期の分母
+
+タイムティックの周期（signal_timeを呼び出す周期）を，ミリ秒単位で，
+TIC_NUME/TIC_DENOに定義する．例えば，タイムティックの周期が1/30秒の場合
+には，TIC_NUMEを100に，TIC_DENOを3に定義すればよい．
+
+タイムティックの周期は，1ミリ秒とする（つまり，TIC_NUME，TIC_DENOとも1
+に定義する）ことを推奨するが，シミュレーション環境や性能の低いプロセッ
+サでそれが適切でない場合には，それ以外の値としてもよい．その場合でも，
+可能な限り，1ミリ秒の倍数である（つまり，TIC_DENOを1に定義する）ことが
+望ましい．
+
+TIC_NUMEとTIC_DENOの定義を変更することで，タイムティックの周期を変更で
+きるようにタイマドライバを実装する場合には，この2つの定数の定義はデフォ
+ルト値を与えていることになる．そこで，これらの定義を「#ifndef TIC_NUME」
+「#endif」で囲んで記述する．
+
+5.4 メモリ領域確保のための型定義
+
+(5-4-1) TOPPERS_STK_T	スタック領域を確保するための型（オプション）
+
+スタック領域は，標準では，intptr_t型の配列として確保するが，より大きい単位で
+アラインさせたいなどの理由で，それ以外の型の配列として確保する場合には，
+それぞれTOPPERS_STK_Tとを，配列のベースとなるデータ型にマクロ定義する．
+
+5.5 メモリ領域確保のためのマクロ
+
+(5-5-1) TOPPERS_ROUND_SZ（オプション）
+(5-5-2) TOPPERS_COUNT_SZ（オプション）
+
+TOPPERS_COUNT_SZ(sz, unit)は，sz/unitを切り上げた値を求めるマクロで，サ
+イズがszのメモリ領域をサイズがunitのデータ型の配列で確保する場合の要素
+数を求めるために用いる．TOPPERS_ROUND_SZ(sz, unit)は，sz/unitを切り上げ
+たものにunitをかけた値を求めるマクロで，サイズがszのメモリ領域をサイズ
+がunitのデータ型の配列で確保する場合のトータルサイズを求めるために用い
+る．
+
+それぞれ，標準のTOPPERS_ROUND_SZ，TOPPERS_COUNT_SZが適切でなく，ターゲッ
+ト依存部で用意する場合には，これらのシンボルを適切な値にマクロ定義する．
+
+6. カーネル実装のターゲット依存部
+
+6.1 カーネル実装のターゲット依存部の共通事項
+
+6.1.1 カーネル実装のターゲット依存部の構成要素
+
+カーネル実装のターゲット依存部は，以下の要素で構成される．
+
+(a) カーネル実装のターゲット依存の定義
+
+カーネル実装のターゲット非依存部から参照されるターゲット依存の定義は，
+target_config.hまたはそこからインクルードされるファイル（プロセッサ・チッ
+プ・開発環境依存部で用意されるヘッダファイルなど）に含める．
+
+ターゲットのハードウェア資源（割込みハンドラ番号やCPU例外ハンドラ番号，
+デバイスレジスタの番地など）の定義は，システムサービスやアプリケーショ
+ンにも有用であるため，カーネル実装のみに有用な定義を含むファイルとは切
+り分けて，独立したヘッダファイルに含める．このヘッダファイルの標準的な
+名称を，システム略称.h（または，チップ略称.h，プロセッサ略称.h）とする．
+
+(b) カーネル実装のターゲット依存モジュール
+
+カーネル実装のターゲット依存の変数定義や関数を含むモジュール．C言語で記
+述される部分をtarget_config.c，アセンブリ言語で記述される部分を
+target_support.Sに含める．プロセッサ・チップ・開発環境依存部を切り分け
+ることや，ファイルが大きくなる場合に複数のファイルに分割することも可能
+である．
+
+(c) カーネル実装のターゲット依存部のためのリネーム記述
+
+カーネル実装のターゲット依存部の変数名や関数名を，先頭に_kernel_を付与
+した名前にリネームするためのモジュール．target_rename.defを用意し，ツー
+ル（utils/genrename）により，target_rename.hとtarget_unrename.hを生成す
+る．プロセッサ・チップ・開発環境依存部を切り分ける場合には，リネーム記
+述も切り分ける．
+
+※
+(d) タイマドライバ
+
+カーネルにタイムティックを通知する（signal_timeを周期的に呼び出す）ため
+のタイマドライバのヘッダファイル，実装ファイル，システムコンフィギュレー
+ションファイルを，それぞれ，target_timer.h，target_timer.c，
+target_timer.cfgに含める．プロセッサ・チップ・開発環境依存部を切り分け
+ることも可能である．
+
+(e) コンフィギュレータ設定ファイル
+
+コンフィギュレータの設定ファイルのターゲット依存部を，target_def.csv，
+target.tf，target_check.tfに用意する．コンフィギュレータ設定ファイルの
+記述方法については，７章で説明する．
+
+6.1.2 ターゲット依存部の関数の命名規則
+
+カーネル実装のターゲット依存部を構成する関数の中で，t_で始まるものはタ
+スクコンテキスト専用，i_で始まるものは非タスクコンテキスト専用，x_で始
+まるものはいずれのコンテキストからでも呼び出すことができる関数である．
+
+6.2 トレースログ機能への対応
+
+カーネルのトレースログ機能の中で，割込みハンドラ，CPU例外ハンドラの開始
+・終了のトレースログ取得は，ターゲット依存部で実装する必要がある．ほとん
+どのターゲットシステムにおいて，それらの処理はアセンブリ言語で記述されて
+おり，ターゲット非依存部向けのトレースログマクロと同じ方法（トレースログ
+マクロを，トレースログ取得処理のC言語記述にマクロ定義する方法）は，用い
+ることができない．
+
+そこで，アセンブリ言語で記述されている処理中にトレースログ取得を埋め込
+む場合には，トレースログマクロが定義されていれば，それが何に定義されて
+いるかは無視して，標準的なトレースログ関数がC言語で記述されていると想定
+して，それを呼び出すようにコーディングする．
+
+具体的には，下の表の左側に示したトレースログマクロが定義されていれば，
+表の右側に示したC言語記述と同等の処理を行うようにコーディングする．
+
+	トレースログマクロ		トレースログ取得処理
 	-----------------------------------------------
 	LOG_INH_ENTER			log_inh_enter(inhno)
@@ -1185,48 +1135,48 @@
 	LOG_EXC_LEAVE			log_exc_leave(excno)
 
-6.3 VXeóÔÌÇ
-
-SSPJ[lðV½È^[QbgVXeÉ|[eBO·éÛÉCÅàdvÈ
-ìÆÍCJ[lªè`·éVXeóÔðCn[hEFAivZbTjã
-ÅÇÌæ¤ÉÀ»·é©Å éDÈºÌà¾ÍCTOPPERSV¢ãJ[lÉ¨¯
-éVXeóÔÌè`EÓ¡ðmÁÄ¢é±ÆðOñÉLqµÄ¢éD
-
-6.3.1 SÝbNóÔÌÇ
-
-SÝbNóÔÍCNMIð­·×ÄÌÝð}XNµ½óÔÅ éDS
-ÝbNóÔðÇ·é@\ÍCVXeC^tF[XCiSILjÉ
-æÁÄñ³êCJ[lÍSÝbNóÔðÇµÈ¢D
-
-SÝbNóÔÅÍCsns_kerÆext_kerÈOÌJ[lÌT[rXR[
-ðÄÔ±ÆÍÅ«È¢àÌÆµÄ¨èCÄñ¾êÉÍ½ªN±é©ÛØµÄ
-¢È¢Dsns_kerÆext_ker©çÄÑo·ÍCg[XOæ¾ÆSILÌ
-T[rXR[ð­ÆCcall_exit_kernelÌÝÅ éD»Ì½ßC
-call_exit_kernel©çÄÑo·àÌð¢ÄCJ[lÌ^[QbgË¶Ì
-ÖªCSÝbNóÔÅÄÑo³êéóµÍl¦éKvªÈ¢D
-
-6.3.2 ReLXgÌÇ
-
-PÊªÀs³êéReLXgÍC^XNReLXgÆñ^XNRe
-LXgÉªÞ³êéD
-
-^[QbgË¶ÍCÀsÌPÊªC^XNReLXgÅÀs³êÄ
-¢é©ñ^XNReLXgÅÀs³êÄ¢é©ð»Ê·é@\ðñ·éD
-Ü½CCPUáOª­¶µ½ReLXgÉÂ¢Ä»Ê·é@\ðñ·éD
-
-^[QbgË¶ÅÍCÝnhÆCPUáOnhÌüûÅñ^X
-NReLXgÉØè·¦C»êçÌoûÅ³ÌReLXgÉß·DÜ
-½CfBXpb`ÌàÅêIÉñ^XNReLXgÉØè·¦éD
+6.3 システム状態の管理
+
+SSPカーネルを新たなターゲットシステムにポーティングする際に，最も重要な
+作業は，カーネルが定義するシステム状態を，ハードウェア（プロセッサ）上
+でどのように実現するかである．以下の説明は，TOPPERS新世代カーネルにおけ
+るシステム状態の定義・意味を知っていることを前提に記述している．
+
+6.3.1 全割込みロック状態の管理
+
+全割込みロック状態は，NMIを除くすべての割込みをマスクした状態である．全
+割込みロック状態を管理する機能は，システムインタフェースレイヤ（SIL）に
+よって提供され，カーネルは全割込みロック状態を管理しない．
+
+全割込みロック状態では，sns_kerとext_ker以外のカーネルのサービスコール
+を呼ぶことはできないものとしており，呼んだ場合には何が起こるか保証して
+いない．sns_kerとext_kerから呼び出す処理は，トレースログ取得処理とSILの
+サービスコールを除くと，call_exit_kernelのみである．そのため，
+call_exit_kernelから呼び出すものを除いて，カーネルのターゲット依存部の
+関数が，全割込みロック状態で呼び出される状況は考える必要がない．
+
+6.3.2 コンテキストの管理
+
+処理単位が実行されるコンテキストは，タスクコンテキストと非タスクコンテ
+キストに分類される．
+
+ターゲット依存部は，実行中の処理単位が，タスクコンテキストで実行されて
+いるか非タスクコンテキストで実行されているかを判別する機能を提供する．
+また，CPU例外が発生したコンテキストについて判別する機能を提供する．
+
+ターゲット依存部では，割込みハンドラとCPU例外ハンドラの入口処理で非タス
+クコンテキストに切り換え，それらの出口処理で元のコンテキストに戻す．ま
+た，ディスパッチャの内部で一時的に非タスクコンテキストに切り換える．
 
 (6-3-2-1) bool_t sense_context(void)
 
-ÀsÌPÊªC^XNReLXgÅÀs³êÄ¢éêÉÍfalseCñ
-^XNReLXgÅÀs³êÄ¢éêÉÍtrueðÔ·ÖD±ÌÖÍC
-CPUbNóÔÅàCPUbNðóÔÅàÄÑo¹éæ¤ÉÀµÈ¯êÎÈ
-çÈ¢D
-
-6.3.3 CPUbNóÔÌÇ
-
-^[QbgË¶ÍCCPUbNóÔÖJÚ·é@\CCPUbNðóÔÖJ
-Ú·é@\CCPUbNóÔÅ é©ð»Ê·é@\ðñ·éD
+実行中の処理単位が，タスクコンテキストで実行されている場合にはfalse，非
+タスクコンテキストで実行されている場合にはtrueを返す関数．この関数は，
+CPUロック状態でもCPUロック解除状態でも呼び出せるように実装しなければな
+らない．
+
+6.3.3 CPUロック状態の管理
+
+ターゲット依存部は，CPUロック状態へ遷移する機能，CPUロック解除状態へ遷
+移する機能，CPUロック状態であるかを判別する機能を提供する．
 
 (6-3-3-1) void t_lock_cpu(void)
@@ -1234,10 +1184,10 @@
 (6-3-3-3) void x_lock_cpu(void)
 
-CPUbNðóÔ©çCCPUbNóÔÖJÚ³¹éÖD±êçÌÖÍC
-CPUbNóÔÅÄÑo³êé±ÆÍÈ­CÄÑo³ê½êÌ®ìÍÛØ·é
-KvªÈ¢D
-
-±êçÌÖðÀ»·éÛÉÍCu1.6 NeBJZNVÌoüÌ
-À»ÉÖ·é§ñvÌßÉLq³êÄ¢é§ñÉ]íÈ¯êÎÈçÈ¢D
+CPUロック解除状態から，CPUロック状態へ遷移させる関数．これらの関数は，
+CPUロック状態で呼び出されることはなく，呼び出された場合の動作は保証する
+必要がない．
+
+これらの関数を実現する際には，「1.6 クリティカルセクションの出入処理の
+実現に関する制約」の節に記述されている制約に従わなければならない．
 
 (6-3-3-4) void t_unlock_cpu(void)
@@ -1245,23 +1195,23 @@
 (6-3-3-6) void x_unlock_cpu(void)
 
-CPUbNóÔ©çCCPUbNðóÔÖJÚ³¹éÖD±êçÌÖÍC
-CPUbNðóÔÅÄÑo³êé±ÆÍÈ­CÄÑo³ê½êÌ®ìÍÛØ
-·éKvªÈ¢D
-
-^XNReLXgÅCPUbNóÔÉJÚµ½êÉÍCCPUbNðóÔ
-ÉßéÌÍ^XNReLXgÉÀçêCñ^XNReLXgÅCPUbNð
-óÔÉßé±ÆÍÈ¢D¾¢·¦éÆCt_unlock_cpuªÄÑo³êéÌÍC
-t_lock_cpuÉæÁÄCPUbNóÔÉÈÁÄ¢éÅ éDi_lock_cpuÉæÁÄ
-CPUbNóÔÉÈÁÄ¢éÉÍCt_unlock_cpuªÄÑo³êé±ÆÍÈ¢D
-
-¯lÉCñ^XNReLXgÅCPUbNóÔÉJÚµ½êÉÍCCPUb
-NðóÔÉßéÌÍñ^XNReLXgÉÀçêC^XNReLXgÅ
-CPUbNðóÔÉßé±ÆÍÈ¢D¾¢·¦éÆCi_unlock_cpuªÄÑo³
-êéÌÍCi_lock_cpuÉæÁÄCPUbNóÔÉÈÁÄ¢éÅ éD
-t_lock_cpuÉæÁÄCPUbNóÔÉÈÁÄ¢éÉÍCi_unlock_cpuªÄÑo
-³êé±ÆÍÈ¢D
-
-±êçÌÖðÀ»·éÛÉÍCu1.6 NeBJZNVÌoüÌ
-À»ÉÖ·é§ñvÌßÉLq³êÄ¢é§ñÉ]íÈ¯êÎÈçÈ¢D
+CPUロック状態から，CPUロック解除状態へ遷移させる関数．これらの関数は，
+CPUロック解除状態で呼び出されることはなく，呼び出された場合の動作は保証
+する必要がない．
+
+タスクコンテキストでCPUロック状態に遷移した場合には，CPUロック解除状態
+に戻るのはタスクコンテキストに限られ，非タスクコンテキストでCPUロック解
+除状態に戻ることはない．言い換えると，t_unlock_cpuが呼び出されるのは，
+t_lock_cpuによってCPUロック状態になっている時である．i_lock_cpuによって
+CPUロック状態になっている時には，t_unlock_cpuが呼び出されることはない．
+
+同様に，非タスクコンテキストでCPUロック状態に遷移した場合には，CPUロッ
+ク解除状態に戻るのは非タスクコンテキストに限られ，タスクコンテキストで
+CPUロック解除状態に戻ることはない．言い換えると，i_unlock_cpuが呼び出さ
+れるのは，i_lock_cpuによってCPUロック状態になっている時である．
+t_lock_cpuによってCPUロック状態になっている時には，i_unlock_cpuが呼び出
+されることはない．
+
+これらの関数を実現する際には，「1.6 クリティカルセクションの出入処理の
+実現に関する制約」の節に記述されている制約に従わなければならない．
 
 (6-3-3-7) bool_t t_sense_lock(void)
@@ -1269,18 +1219,18 @@
 (6-3-3-9) bool_t x_sense_lock(void)
 
-»ÝÌVXeóÔªCCPUbNóÔÌêÍtrueCCPUbNðóÔÌê
-ÉÍfalseðÔ·ÖD
-
-±êçÌÖªSÝbNóÔÅÄÑo³êéóµÍl¦éKvªÈ¢±
-Æ©çCSÝbNóÔÆCPUbNóÔðæÊÅ«éKvÍÈ¢DNMIÈ
-OÉJ[lÌÇOÌÝðÝ¯È¢êÉÍCSÝbNóÔÆ
-CPUbNóÔªS­¯êÌóÔÅà©ÜíÈ¢D
-
-6.4 ÝÉÖA·éVXeóÔÌÇ
-
-6.4.1 ÝDæx}XNÌÇ
-
-^[QbgË¶ÍCÝDæx}XNðÝè·é@\ÆCÝDæx}
-XNðQÆ·é@\ðñ·éD
+現在のシステム状態が，CPUロック状態の場合はtrue，CPUロック解除状態の場
+合にはfalseを返す関数．
+
+これらの関数が全割込みロック状態で呼び出される状況は考える必要がないこ
+とから，全割込みロック状態とCPUロック状態を区別できる必要はない．NMI以
+外にカーネルの管理外の割込みを設けない場合には，全割込みロック状態と
+CPUロック状態が全く同一の状態でもかまわない．
+
+6.4 割込みに関連するシステム状態の管理
+
+6.4.1 割込み優先度マスクの管理
+
+ターゲット依存部は，割込み優先度マスクを設定する機能と，割込み優先度マ
+スクを参照する機能を提供する．
 
 (6-4-1-1) void x_set_ipm(PRI intpri)
@@ -1288,15 +1238,15 @@
 (6-4-1-3) void i_set_ipm(PRI intpri)
 
-ÝDæx}XNÌlðintpriÉÝè·éÖD
-
-±êçÌÖÍCCPUbNóÔÅàCPUbNðóÔÅàÄÑo¹éæ¤É
-À·éÌª]Üµ¢D½¾µCx_set_ipmÆt_set_ipmÍC^[QbgñË¶
-ªCPUbNðóÔÅÄÑo·±ÆÍÈ¢½ßCCPUbNðóÔÅÄÑ
-o³ê½êÌ®ìÍÛØ·éKvªÈ¢Di_set_ipmÍCCPUbNóÔÅà
-CPUbNðóÔÅàÄÑo¹éæ¤ÉÀµÈ¯êÎÈçÈ¢D
-
-Ü½C±êçÌÖÍCVALID_INTPRI_CHGIPM(intpri)ªtrueðÔ·intpriÉÎ
-µÄÌÝÄÎêéDintpriÉ»¤ÅÈ¢lªn³ê½êÌ®ìÍÛØ·éK
-vªÈ¢D
+割込み優先度マスクの値をintpriに設定する関数．
+
+これらの関数は，CPUロック状態でもCPUロック解除状態でも呼び出せるように
+実装するのが望ましい．ただし，x_set_ipmとt_set_ipmは，ターゲット非依存
+部がCPUロック解除状態で呼び出すことはないため，CPUロック解除状態で呼び
+出された場合の動作は保証する必要がない．i_set_ipmは，CPUロック状態でも
+CPUロック解除状態でも呼び出せるように実装しなければならない．
+
+また，これらの関数は，VALID_INTPRI_CHGIPM(intpri)がtrueを返すintpriに対
+してのみ呼ばれる．intpriにそうでない値が渡された場合の動作は保証する必
+要がない．
 
 (6-4-1-4) PRI x_get_ipm(void)
@@ -1304,31 +1254,31 @@
 (6-4-1-6) PRI i_get_ipm(void)
 
-ÝDæx}XNÌlðQÆµÄÔ·ÖD
-
-±êçÌÖÍCCPUbNóÔÅàCPUbNðóÔÅàÄÑo¹éæ¤É
-À·éÌª]Üµ¢D½¾µCx_get_ipmÆt_get_ipmÍC^[QbgñË¶
-ªCPUbNðóÔÅÄÑo·±ÆÍÈ¢½ßCCPUbNðóÔÅÄÑ
-o³ê½êÌ®ìÍÛØ·éKvªÈ¢Di_get_ipmÍCCPUbNóÔÅà
-CPUbNðóÔÅàÄÑo¹éæ¤ÉÀµÈ¯êÎÈçÈ¢D
-
-ÝDæx}XNðp¢ÄJ[lÇÌÝð·×Ä}XNµ½óÔÍC
-CPUbNóÔÆæÊÅ«é±ÆªKvÅ éDïÌIÉÍCCPUbNðó
-ÔÉ¨¢ÄCx_set_ipmðp¢ÄJ[lÇÌÝð·×Ä}XNµ½ê
-ÅàCx_sense_lockÍfalseðÔ·D
-
-»êÉÎµÄCÝDæx}XNðp¢ÄNMIð­·×ÄÌÝð}XN
-Å«éêC»ÌóÔÆSÝbNóÔðæÊÅ«éKvÍÈ­CS­¯
-êÌóÔÅà©ÜíÈ¢D
-
-6.4.2 ÝvÖ~tOÌÇ
-
-^[QbgË¶ÍCÝvÖ~tOðZbg·é@\ÆNA·é@
-\ðñ·éD
+割込み優先度マスクの値を参照して返す関数．
+
+これらの関数は，CPUロック状態でもCPUロック解除状態でも呼び出せるように
+実装するのが望ましい．ただし，x_get_ipmとt_get_ipmは，ターゲット非依存
+部がCPUロック解除状態で呼び出すことはないため，CPUロック解除状態で呼び
+出された場合の動作は保証する必要がない．i_get_ipmは，CPUロック状態でも
+CPUロック解除状態でも呼び出せるように実装しなければならない．
+
+割込み優先度マスクを用いてカーネル管理の割込みをすべてマスクした状態は，
+CPUロック状態と区別できることが必要である．具体的には，CPUロック解除状
+態において，x_set_ipmを用いてカーネル管理の割込みをすべてマスクした場合
+でも，x_sense_lockはfalseを返す．
+
+それに対して，割込み優先度マスクを用いてNMIを除くすべての割込みをマスク
+できる場合，その状態と全割込みロック状態を区別できる必要はなく，全く同
+一の状態でもかまわない．
+
+6.4.2 割込み要求禁止フラグの管理
+
+ターゲット依存部は，割込み要求禁止フラグをセットする機能とクリアする機
+能を提供する．
 
 (6-4-2-1) bool_t VALID_INTNO_DISINT(INTNO intno)
 
-intnoªCdis_int^ena_intÉÎ·éÝÔÆµÄLøÈlÅ éêÉ
-trueC»¤ÅÈ¢êÉfalseðÔ·}NDÝvÖ~tOªZbg^
-NAÅ«È¢intnoÉÎµÄÍC±Ì}NªfalseðÔ·æ¤É·éD
+intnoが，dis_int／ena_intに対する割込み番号として有効な値である場合に
+true，そうでない場合にfalseを返すマクロ．割込み要求禁止フラグがセット／
+クリアできないintnoに対しては，このマクロがfalseを返すようにする．
 
 (6-4-2-2) bool_t x_disable_int(INTNO intno)
@@ -1336,19 +1286,19 @@
 (6-4-2-4) bool_t i_disable_int(INTNO intno)
 
-intnoÅwè³ê½ÝvCÉÎ·éÝvÖ~tOðZbgµC
-trueðÔ·ÖDwè³ê½ÝvCÉÎµÄCÝ®«ªÝè³
-êÄ¢È¢êÉÍCfalseðÔ·D
-
-±êçÌÖÍC^[QbgñË¶ªCPUbNðóÔÅÄÑo·±ÆÍÈ
-¢½ßCCPUbNðóÔÅÄÑo³ê½êÌ®ìÍÛØ·éKvªÈ¢D
-½¾µC^[QbgË¶©çCPUbNðóÔÅÄÑo·êÉÍCÛØ·
-éKvª éD
-
-Ü½C±êçÌÖÍCVALID_INTNO_DISINT(intno)ªtrueÆÈéintnoÉÎµ
-ÄÌÝÄÎêéDintnoÉ»¤ÅÈ¢lªn³ê½êÌ®ìÍÛØ·éKvª
-È¢D
-
-dis_intT[rXR[ðT|[g·éêiTOPPERS_SUPPORT_DIS_INTð}N
-è`·éêjÉÍCt_disable_intªpÓ³êÄ¢È¯êÎÈçÈ¢D
+intnoで指定された割込み要求ラインに対する割込み要求禁止フラグをセットし，
+trueを返す関数．指定された割込み要求ラインに対して，割込み属性が設定さ
+れていない場合には，falseを返す．
+
+これらの関数は，ターゲット非依存部がCPUロック解除状態で呼び出すことはな
+いため，CPUロック解除状態で呼び出された場合の動作は保証する必要がない．
+ただし，ターゲット依存部からCPUロック解除状態で呼び出す場合には，保証す
+る必要がある．
+
+また，これらの関数は，VALID_INTNO_DISINT(intno)がtrueとなるintnoに対し
+てのみ呼ばれる．intnoにそうでない値が渡された場合の動作は保証する必要が
+ない．
+
+dis_intサービスコールをサポートする場合（TOPPERS_SUPPORT_DIS_INTをマク
+ロ定義する場合）には，t_disable_intが用意されていなければならない．
 
 (6-4-2-5) bool_t x_enable_int(INTNO intno)
@@ -1356,21 +1306,21 @@
 (6-4-2-7) bool_t i_enable_int(INTNO intno)
 
-intnoÅwè³ê½ÝvCÉÎ·éÝvÖ~tOðNAµC
-trueðÔ·ÖDwè³ê½ÝvCÉÎµÄCÝ®«ªÝè³
-êÄ¢È¢êÉÍCfalseðÔ·D
-
-±êçÌÖÍC^[QbgñË¶ªCPUbNðóÔÅÄÑo·±ÆÍÈ
-¢½ßCCPUbNðóÔÅÄÑo³ê½êÌ®ìÍÛØ·éKvªÈ¢D
-½¾µC^[QbgË¶©çCPUbNðóÔÅÄÑo·êÉÍCÛØ·
-éKvª éD
-
-Ü½C±êçÌÖÍCVALID_INTNO_DISINT(intno)ªtrueÆÈéintnoÉÎµ
-ÄÌÝÄÎêéDintnoÉ»¤ÅÈ¢lªn³ê½êÌ®ìÍÛØ·éKvª
-È¢D
-
-ena_intT[rXR[ðT|[g·éêiTOPPERS_SUPPORT_ENA_INTð}N
-è`·éêjÉÍCt_enable_intªpÓ³êÄ¢È¯êÎÈçÈ¢D
-
-6.4.3 ÝvÌNA
+intnoで指定された割込み要求ラインに対する割込み要求禁止フラグをクリアし，
+trueを返す関数．指定された割込み要求ラインに対して，割込み属性が設定さ
+れていない場合には，falseを返す．
+
+これらの関数は，ターゲット非依存部がCPUロック解除状態で呼び出すことはな
+いため，CPUロック解除状態で呼び出された場合の動作は保証する必要がない．
+ただし，ターゲット依存部からCPUロック解除状態で呼び出す場合には，保証す
+る必要がある．
+
+また，これらの関数は，VALID_INTNO_DISINT(intno)がtrueとなるintnoに対し
+てのみ呼ばれる．intnoにそうでない値が渡された場合の動作は保証する必要が
+ない．
+
+ena_intサービスコールをサポートする場合（TOPPERS_SUPPORT_ENA_INTをマク
+ロ定義する場合）には，t_enable_intが用意されていなければならない．
+
+6.4.3 割込み要求のクリア
 
 (6-4-3-1) void x_clear_int(INTNO intno)
@@ -1378,14 +1328,14 @@
 (6-4-3-3) void i_clear_int(INTNO intno)
 
-intnoÅwè³ê½ÝvCªGbWgKÅ éêÉCgK³ê
-½ÝvðNA·éÖDintnoÅwè³ê½ÝvCªx
-gKÅ éêÉÍ½àµÈ¢D
-
-SSPJ[lÌ^[QbgñË¶ÅÍC±êçÌÖðÄÑoµÄ¢È¢ªC
-^[QbgË¶âVXeT[rXÅÄÑo·Â\«ª¢½ßCpÓ·é
-±ÆÆµÄ¢éD»Ì½ßC±êçÌÖªÇÌæ¤ÈVXeóÔÅÄÑo
-¹é©ÍC^[QbgË¶àÅêÑµÄ¢êÎæ¢D
-
-6.4.4 ÝvÌv[u
+intnoで指定された割込み要求ラインがエッジトリガである場合に，トリガされ
+た割込み要求をクリアする関数．intnoで指定された割込み要求ラインがレベル
+トリガである場合には何もしない．
+
+SSPカーネルのターゲット非依存部では，これらの関数を呼び出していないが，
+ターゲット依存部やシステムサービスで呼び出す可能性が高いため，用意する
+こととしている．そのため，これらの関数がどのようなシステム状態で呼び出
+せるかは，ターゲット依存部内で一貫していればよい．
+
+6.4.4 割込み要求のプローブ
 
 (6-4-4-1) bool_t x_probe_int(INTNO intno)
@@ -1393,54 +1343,54 @@
 (6-4-4-3) bool_t i_probe_int(INTNO intno)
 
-intnoÅwè³ê½ÝvCÉÎµÄCÝªv³êÄ¢éêÉ
-trueC»¤ÅÈ¢êÉfalseðÔ·ÖD
-
-SSPJ[lÌ^[QbgñË¶ÅÍC±êçÌÖðÄÑoµÄ¢È¢ªC
-^[QbgË¶âVXeT[rXÅÄÑo·Â\«ª¢½ßCpÓ·é
-±ÆÆµÄ¢éD»Ì½ßC±êçÌÖªÇÌæ¤ÈVXeóÔÅÄÑo
-¹é©ÍC^[QbgË¶àÅêÑµÄ¢êÎæ¢D
-
-6.4.5 ÝnhÌæªÆö
+intnoで指定された割込み要求ラインに対して，割込みが要求されている場合に
+true，そうでない場合にfalseを返す関数．
+
+SSPカーネルのターゲット非依存部では，これらの関数を呼び出していないが，
+ターゲット依存部やシステムサービスで呼び出す可能性が高いため，用意する
+こととしている．そのため，これらの関数がどのようなシステム状態で呼び出
+せるかは，ターゲット依存部内で一貫していればよい．
+
+6.4.5 割込みハンドラの先頭処理と末尾処理
 
 (6-4-5-1) void i_begin_int(INTNO intno)
 
-intnoÅwè³ê½ÝvCÉÎ·éÝnhÌæªÅs¤×«
-ðs¤ÖD±±Ås¤×«ÆµÄÍCÝvCªGbWg
-KÅ éêÌgK³ê½ÝvÌNAª°çêéD
-
-intnoÉÎµÄo^³ê½ÝT[rX[`ðÄÑo·ÝnhÌ
-æªÅÄÑo³êéD»Ì½ß±ÌÖÍCÝnhÌæªiÊíÍ
-CPUbNðóÔjÅÄÑo¹éæ¤ÉÀµÈ¯êÎÈçÈ¢D
+intnoで指定された割込み要求ラインに対する割込みハンドラの先頭で行うべき
+処理を行う関数．ここで行うべき処理としては，割込み要求ラインがエッジト
+リガである場合のトリガされた割込み要求のクリアが挙げられる．
+
+intnoに対して登録された割込みサービスルーチンを呼び出す割込みハンドラの
+先頭で呼び出される．そのためこの関数は，割込みハンドラの先頭（通常は
+CPUロック解除状態）で呼び出せるように実装しなければならない．
 
 (6-4-5-2) void i_end_int(INTNO intno)
 
-intnoÅwè³ê½ÝvCÉÎ·éÝnhÌöÅs¤×«
-ðs¤ÖD±±Ås¤×«ÆµÄÍCÝRg[iIRCjÉ
-Î·éÝÌI¹ðÊmª°çêéD
-
-intnoÉÎµÄo^³ê½ÝT[rX[`ðÄÑo·ÝnhÌ
-öÅÄÑo³êéD»Ì½ß±ÌÖÍCÝnhÌöiÊíÍ
-CPUbNðóÔjÅÄÑo¹éæ¤ÉÀµÈ¯êÎÈçÈ¢D
-
-6.5 ^XNfBXpb`
-
-
-6.5.1 fBXpb`Ì®ìJn
+intnoで指定された割込み要求ラインに対する割込みハンドラの末尾で行うべき
+処理を行う関数．ここで行うべき処理としては，割込みコントローラ（IRC）に
+対する割込み処理の終了を通知が挙げられる．
+
+intnoに対して登録された割込みサービスルーチンを呼び出す割込みハンドラの
+末尾で呼び出される．そのためこの関数は，割込みハンドラの末尾（通常は
+CPUロック解除状態）で呼び出せるように実装しなければならない．
+
+6.5 タスクディスパッチャ
+
+
+6.5.1 ディスパッチャの動作開始
 
 (6-5-1-1) void start_dispatch(void)
 
-fBXpb`Ì®ìJnistart_dispatchjÍCJ[lN®ÉCJ[l
-Ìú»©çÄÑo³êéDstart_dispatchÍC^[·é±ÆÌÈ
-¢ÖÅ éD
-
-start_dispatchÍCñ^XNReLXgÅCNMIð­·×ÄÌÝð}X
-Nµ½óÔiSÝbNóÔÆ¯ÌóÔjÅÄÑo³êéDstart_dispatch
-àÅC^XNReLXgÉØè·¦CCPUbNóÔEÝDæx}XNS
-ðóÔÉµÈ¯êÎÈçÈ¢D
-
-ReLXgðØèÖ¦½ãÍ^[QbgñË¶ÖdispatcherðÄÑo·D
-
-start_dispatchÌàeÍÌÊèDdispatcher©çªÔé±ÆÍlÊ·éKvÍ
-È¢D
+ディスパッチャの動作開始（start_dispatch）は，カーネル起動時に，カーネ
+ルの初期化処理から呼び出される．start_dispatchは，リターンすることのな
+い関数である．
+
+start_dispatchは，非タスクコンテキストで，NMIを除くすべての割込みをマス
+クした状態（全割込みロック状態と同等の状態）で呼び出される．start_dispatch
+内で，タスクコンテキストに切り換え，CPUロック状態・割込み優先度マスク全
+解除状態にしなければならない．
+
+コンテキストを切り替えた後はターゲット非依存部関数dispatcherを呼び出す．
+
+start_dispatchの処理内容は次の通り．dispatcherから処理が返ることは考量する必要は
+ない．
 
 ----------------------------------------
@@ -1448,105 +1398,105 @@
 start_dispatch(void)
 {
-	^XNReLXgÉØè·¦é
-	CPUbNóÔEÝDæx}XNSðóÔÉ·é
-	dispatcherÉªò·é
+	タスクコンテキストに切り換える
+	CPUロック状態・割込み優先度マスク全解除状態にする
+	dispatcherに分岐する
 }
 ----------------------------------------
 
-6.6 Ýnh
-
-6.6.1 ÝnhÌoüû
-
-J[lÇÌÝÌoüûÌû@ÍCvZbTÉæÁÄå«­ÙÈ
-éªC¨¨æ»ÌàeÍÌÊèD
+6.6 割込みハンドラ
+
+6.6.1 割込みハンドラの出入口処理
+
+カーネル管理の割込みの出入口処理の方法は，プロセッサによって大きく異な
+るが，おおよその処理内容は次の通り．
 
 ----------------------------------------
 void
-<ÝÌoüû>(void)
+<割込みの出入口処理>(void)
 {
-	­È­ÆàJ[lÇÌÝðÖ~µ½óÔÉ·é c (*f)
-	XNb`WX^ðX^bNÉÛ¶·é
-	if (^XNReLXgÅÝ­¶) {
-		ñ^XNReLXgÉØè·¦é
+	少なくともカーネル管理の割込みを禁止した状態にする … (*f)
+	スクラッチレジスタをスタックに保存する
+	if (タスクコンテキストで割込み発生) {
+		非タスクコンテキストに切り換える
 	}
 
-	±ÌÝæèàDæxÌ¢ÝÌÝðó¯t¯çêéæ¤ÉµÄC
-												CPUbNðóÔÉ·é
+	この割込みよりも優先度の高い割込みのみを受け付けられるようにして，
+												CPUロック解除状態にする
 #ifdef LOG_INH_ENTER
-	log_inh_enter(ÝnhÔ);
+	log_inh_enter(割込みハンドラ番号);
 #endif /* LOG_INH_ENTER */
-	ÝnhðÄÑo·
+	割込みハンドラを呼び出す
 #ifdef LOG_INH_LEAVE
-	log_inh_leave(ÝnhÔ);
+	log_inh_leave(割込みハンドラ番号);
 #endif /* LOG_INH_LEAVE */
 
   ret_int:
-	if (^XNReLXgÅÝ­¶) {
-		i­È­ÆàjJ[lÇÌÝðÖ~µ½óÔÉ·é c (*d)
+	if (タスクコンテキストで割込み発生) {
+		（少なくとも）カーネル管理の割込みを禁止した状態にする … (*d)
 		if (reqflg) {
 			reqflg = false;
-			CPUbNóÔÉ·é c (*e)
-			search_schedtskðÄÑoµCÅDæÊ^XNðßé
-			ÅDæÊÌ^XNIDðøÉµÄrun_taskÉªò·é
+			CPUロック状態にする … (*e)
+			search_schedtskを呼び出し，最高優先順位タスクを求める
+			最高優先順位のタスクIDを引数にしてrun_taskに分岐する
 		}
 	}
-	Ý©çÌ^[ãÉCCPUbNðóÔÉßéæ¤Éõ·é
-	XNb`WX^ðX^bN©çA·é
-	Ý©çÌ^[
+	割込み処理からのリターン後に，CPUロック解除状態に戻るように準備する
+	スクラッチレジスタをスタックから復帰する
+	割込み処理からのリターン
 }
 ----------------------------------------
 
-ÝÌót¯Éæè·×ÄÌÝªÖ~³êÈ¢vZbTÅÍC(*f)É
-¨¢ÄC­È­ÆàJ[lÇÌÝðÖ~·éD±ÌRÍÌÊèÅ
- éD
-
-ÝÌüûÉ¨¢ÄCX^bNðñ^XNReLXgpÌX^bNÉ
-Øè·¦éOÉ½dÝª­¶·éÆC^XNÌX^bNÌæªgp³êéD
-ãLÌæ¤ÈvZbTÅÍCX^bNÌØ·¦OÉCÅåÅÝDæxÌ
-iªÌ½dÝª­¶·é±Æðh®±ÆÍÅ«¸Ce^XNÌX^bN
-ÌæðmÛ·éÛÉC»Ìªð©ñÅmÛµÈ¯êÎÈçÈ¢De^XNÌ
-X^bNÌæðÈé×­¬³­·é½ßÉÍCX^bNðÈé×­gpµÈ¢
-àÉC½dÝðÖ~·éÌª]Üµ¢D»Ì½ßCXNb`WX^ð
-X^bNÉÛ¶·éOÉCÝðÖ~·éD½¾µCÝÌÖ~ÉK
-vÈÅáÀÌWX^ÉÂ¢ÄÍCÝÌÖ~Éæ§ÁÄX^bNÉÛ¶·
-éKvª éD
-
-¯lÌ±ÆÍCJ[lÇOÌÝÉàÄÍÜéD·Èí¿CJ[l
-ÇOÌÝÉÂ¢ÄàCX^bNðÈé×­gpµÈ¢àÉÖ~·éÌª
-]Üµ¢D±Ì±Æ©çCJ[lÇOÌÝðgp·éêÉÍC(*f)
-É¨¢ÄC·×ÄÌÝðÖ~µ½óÔÉ·éÌª]Üµ¢±ÆÉÈéDÜ
-½CJ[lÇOÌÝÉ¨¢ÄàCñ^XNReLXgpÌX^b
-NÉØè·¦é±Æª]Üµ¢ªC±êÍJ[lÌÇOÅ éD
-
-(*d)É¨¢ÄÍCJ[lÇÌÝðÖ~·é¾¯ÅCCPUbNóÔÉ·
-éKvÍÈ¢Dá¦ÎCCPUbNóÔÅ é±Æð¦·ÏðpÓµÄ¢éê
-ÉÍC(*d)Ì_ÅÍ»ÌÏðCPUbNóÔð¦·lÉÏX·éKvÍÈ
-­C(*e)É¨¢ÄÏX·êÎæ¢D
-
-ÝÌoüûðAZu¾êÅLq·éêÉÍCg[XOæ¾
-ÍCu6.2 g[XO@\ÖÌÎvÌßÅLqµ½û@ÅR[fB
-O·é±ÆD
-
-6.6.2 ÝnhÌoüûÌ¶¬
-
-ÝxNgðn[hEFAÅÀ»µÄ¢éêÈÇCÝnhÉ
-oüûðpÓµ½ûªø¦ªÇ¢^[QbgÌ½ßÉCÝnh
-Éoüûð¶¬·é@\ðpÓµÄ¢éD
-
-ÈºÌ}NÍCWÌÝÇ@\Ìú»ðp¢½êÌÝC^[
-QbgñË¶ÅgíêéDÝÇ@\Ìú»ð^[QbgË¶
-ÅpÓµC»ÌÅ±êçÌ}NðgíÈ¢êÉÍC±êçÌ}Nðp
-Ó·éKvÍÈ¢D
+割込みの受付けによりすべての割込みが禁止されないプロセッサでは，(*f)に
+おいて，少なくともカーネル管理の割込みを禁止する．この理由は次の通りで
+ある．
+
+割込みの入口処理において，スタックを非タスクコンテキスト用のスタックに
+切り換える前に多重割込みが発生すると，タスクのスタック領域が使用される．
+上記のようなプロセッサでは，スタックの切換え前に，最大で割込み優先度の
+段数分の多重割込みが発生することを防ぐことはできず，各タスクのスタック
+領域を確保する際に，その分を見込んで確保しなければならない．各タスクの
+スタック領域をなるべく小さくするためには，スタックをなるべく使用しない
+内に，多重割込みを禁止するのが望ましい．そのため，スクラッチレジスタを
+スタックに保存する前に，割込みを禁止する．ただし，割込みの禁止処理に必
+要な最低限のレジスタについては，割込みの禁止に先立ってスタックに保存す
+る必要がある．
+
+同様のことは，カーネル管理外の割込みにも当てはまる．すなわち，カーネル
+管理外の割込みについても，スタックをなるべく使用しない内に禁止するのが
+望ましい．このことから，カーネル管理外の割込みを使用する場合には，(*f)
+において，すべての割込みを禁止した状態にするのが望ましいことになる．ま
+た，カーネル管理外の割込み処理においても，非タスクコンテキスト用のスタッ
+クに切り換えることが望ましいが，これはカーネルの管轄外である．
+
+(*d)においては，カーネル管理の割込みを禁止するだけで，CPUロック状態にす
+る必要はない．例えば，CPUロック状態であることを示す変数を用意している場
+合には，(*d)の時点ではその変数をCPUロック状態を示す値に変更する必要はな
+く，(*e)において変更すればよい．
+
+割込みの出入口処理をアセンブリ言語で記述する場合には，トレースログ取得
+処理は，「6.2 トレースログ機能への対応」の節で記述した方法でコーディン
+グすること．
+
+6.6.2 割込みハンドラ毎の出入口処理の生成
+
+割込みベクトルをハードウェアで実現している場合など，割込みハンドラ毎に
+出入口処理を用意した方が効率が良いターゲットのために，割込みハンドラ毎
+に出入口処理を生成する機構を用意している．
+
+以下のマクロは，標準の割込み管理機能の初期化処理を用いた場合のみ，ター
+ゲット非依存部で使われる．割込み管理機能の初期化処理をターゲット依存部
+で用意し，その中でこれらのマクロを使わない場合には，これらのマクロを用
+意する必要はない．
 
 (6-6-2-1) INT_ENTRY(inhno, inthdr)
 
-ÝnhÔªinhnoCÝnhÌÖ¼ªinthdrÅ éÝn
-hÌoüûÌxðìé}NDINTHDR_ENTRYðp¢ÄÝn
-hÉoüûð¶¬·éêÉÍCÌæ¤Éè`·éD
+割込みハンドラ番号がinhno，割込みハンドラの関数名がinthdrである割込みハ
+ンドラの出入口処理のラベルを作るマクロ．INTHDR_ENTRYを用いて割込みハン
+ドラ毎に出入口処理を生成する場合には，次のように定義する．
 
 #define INT_ENTRY(inhno, inthdr)	_kernel_##inthdr##_##inhno
 
-ÝnhÉoüûðìéKvªÈ¢êÉÍCÌæ¤Éè`µ
-ÄCÝnhÌÖ¼ð»ÌÜÜÔ·D
+割込みハンドラ毎に出入口処理を作る必要がない場合には，次のように定義し
+て，割込みハンドラの関数名をそのまま返す．
 
 #define INT_ENTRY(inhno, inthdr)	inthdr
@@ -1554,342 +1504,330 @@
 (6-6-2-2) INTHDR_ENTRY(inhno, inhno_num, inthdr)
 
-ÝnhÔªinhnoCÝnhÌÖ¼ªinthdrÅ éÝn
-hÌoüûð¶¬·é}NDinhno_numÉÍCAZu¾êLqp
-ÉCÝnhÔªlÅn³êéDÝnhÉoüûð
-ìéKvªÈ¢êÉÍCóÉè`·éD
-
-6.6.3 ÝnhÌÝè
-
-(6-6-3-1) bool_t VALID_INHNO_DEFINH(INHNO inhno)iIvVj
-
-inhnoªCDEF_INHÉÎ·éÝnhÔÆµÄLøÈlÅ éêÉ
-trueC»¤ÅÈ¢êÉfalseðÔ·}ND
-
-SSPJ[lÌ^[QbgñË¶ÅÍC±Ì}NÍgíêÄ¢È¢½ßC^[
-QbgË¶ÅgíÈ¢ÈçCpÓ·éKvªÈ¢D
+割込みハンドラ番号がinhno，割込みハンドラの関数名がinthdrである割込みハ
+ンドラの出入口処理を生成するマクロ．inhno_numには，アセンブリ言語記述用
+に，割込みハンドラ番号が数値で渡される．割込みハンドラ毎に出入口処理を
+作る必要がない場合には，空に定義する．
+
+6.6.3 割込みハンドラの設定
+
+(6-6-3-1) bool_t VALID_INHNO_DEFINH(INHNO inhno)（オプション）
+
+inhnoが，DEF_INHに対する割込みハンドラ番号として有効な値である場合に
+true，そうでない場合にfalseを返すマクロ．
+
+SSPカーネルのターゲット非依存部では，このマクロは使われていないため，ター
+ゲット依存部で使わないなら，用意する必要がない．
 
 (6-6-3-2) void x_define_inh(INHNO inhno, FP int_entry)
 
-inhnoÅwè³ê½ÝnhÌoüûÌÔnðint_entryÉÝè·éD
-
-±ÌÖÍCWÌÝÇ@\Ìú»ðp¢½êÌÝC^[Qb
-gñË¶©çÄÑo³êéDÝÇ@\Ìú»ð^[QbgË¶
-ÅpÓµC»ÌÅ±ÌÖðÄÑo³È¢êÉÍC±ÌÖðpÓ·é
-KvÍÈ¢D
-
-±ÌÖÍC^[QbgñË¶ÌJ[lú»©çÄÑo³êé½ßC
-J[lÌú»iNMIð­·×ÄÌÝª}XN³êÄ¢éj©çÄ
-Ño¹éæ¤ÉÀ·êÎæ¢D
-
-wè³ê½ÝnhÔªDEF_INHÉÎ·éàÌÆµÄLøÈlÅÈ¢ê
-Ì®ìÍÛØ·éKvªÈ¢iassertÅG[Æ·éÌª]Üµ¢jD±ê
-ÍCRtBM
-[^ªCpX2Ìev[gt@CÌ^[QbgË¶
-Åè`·éINHNO_DEFINH_VALIDðp¢ÄG[ðo·é½ßÅ éD
-
-6.6.4 ÝvCÌ®«ÌÝè
-
-(6-6-4-1) bool_t VALID_INTNO_CFGINT(INTNO intno)iIvVj
-
-intnoªCCFG_INTÉÎ·éÝÔÆµÄLøÈlÅ éêÉtrueC»¤
-ÅÈ¢êÉfalseðÔ·}NDÝvCÌ®«ðÝèÅ«È¢
-intnoÉÎµÄÍC±Ì}NªfalseðÔ·æ¤É·éD
-
-SSPJ[lÌ^[QbgñË¶ÅÍC±Ì}NÍgíêÄ¢È¢½ßC^[
-QbgË¶ÅgíÈ¢ÈçCpÓ·éKvªÈ¢D
+inhnoで指定された割込みハンドラの出入口処理の番地をint_entryに設定する．
+
+この関数は，標準の割込み管理機能の初期化処理を用いた場合のみ，ターゲッ
+ト非依存部から呼び出される．割込み管理機能の初期化処理をターゲット依存
+部で用意し，その中でこの関数を呼び出さない場合には，この関数を用意する
+必要はない．
+
+この関数は，ターゲット非依存部のカーネル初期化処理から呼び出されるため，
+カーネルの初期化処理（NMIを除くすべての割込みがマスクされている）から呼
+び出せるように実装すればよい．
+
+指定された割込みハンドラ番号がDEF_INHに対するものとして有効な値でない場
+合の動作は保証する必要がない（assertでエラーとするのが望ましい）．これ
+は，コンフィギュレータが，パス2のテンプレートファイルのターゲット依存部
+で定義するINHNO_DEFINH_VALIDを用いてエラーを検出するためである．
+
+6.6.4 割込み要求ラインの属性の設定
+
+(6-6-4-1) bool_t VALID_INTNO_CFGINT(INTNO intno)（オプション）
+
+intnoが，CFG_INTに対する割込み番号として有効な値である場合にtrue，そう
+でない場合にfalseを返すマクロ．割込み要求ラインの属性を設定できない
+intnoに対しては，このマクロがfalseを返すようにする．
+
+SSPカーネルのターゲット非依存部では，このマクロは使われていないため，ター
+ゲット依存部で使わないなら，用意する必要がない．
 
 (6-6-4-2) void x_config_int(INTNO intno, ATR intatr, PRI intpri)
 
-intnoÅwè³ê½ÝvCÌÝ®«ðCintatrÅwè³ê½Êè
-ÉÝè·éDÜ½CÝDæxðCintpriÅwè³ê½lÉÝè·éD
-
-±ÌÖÍCWÌÝÇ@\Ìú»ðp¢½êÌÝC^[Qb
-gñË¶©çÄÑo³êéDÝÇ@\Ìú»ð^[QbgË¶
-ÅpÓµC»ÌÅ±ÌÖðÄÑo³È¢êÉÍC±ÌÖðpÓ·é
-KvÍÈ¢D
-
-±ÌÖÍC^[QbgñË¶ÌJ[lú»©çÄÑo³êé½ßC
-J[lÌú»iNMIð­·×ÄÌÝª}XN³êÄ¢éj©çÄ
-Ño¹éæ¤ÉÀ·êÎæ¢D
-
-intatrÆµÄÝèÅ«éÝ®«ÍÌÊèD
-
-	TA_ENAINT		0x01	ÝvÖ~tOðNA
-	TA_EDGE			0x02	GbWgK
-
-±Ì¼ÉC^[Qbgè`ÅÝ®«ðÇÁµÄàæ¢D^[Qbgè`Å
-ÇÁ·é½ßÉCÈºÌ®«¼ª\ñ³êÄ¢éD
-
-	TA_POSEDGE				|WeBuGbWgK
-	TA_NEGEDGE				lKeBuGbWgK
-	TA_BOTHEDGE				¼GbWgK
-	TA_LOWLEVEL				[xgK
-	TA_HIGHLEVEL			nCxgK
-
-±êçÌ®«¼ð^[Qbgè`ÅÇÁ·éêÉÍC»Ì®«lðèµC
-è`ðtarget_kernel.hiÜ½ÍC»±©çCN[h³êét@CjÉÜ
-ßéDÜ½CRtBM
-[^ev[gt@C©çQÆÅ«éæ¤ÉC
-target_def.csviÜ½ÍC»±©çCN[h³êét@CjÉÜßCR
-tBM
-[^ev[gt@CÌ^[QbgñË¶ÅG[ÆÈç
-È¢æ¤ÉCtarget.tfiÜ½ÍC»±©çCN[h³êét@CjÅ
-TARGET_INTATRÉÝè·éD
-
-wè³ê½ÝÔªCFG_INTÉÎ·éàÌÆµÄLøÈlÅÈ¢êâC»
-ÌÝvCÉÎµÄÝèÅ«È¢®«ðwèµ½êCÝèÅ«È¢
-ÝDæxðwèµ½êÌ®ìÍÛØ·éKvªÈ¢iassertÅG[Æ
-·éÌª]Üµ¢jD±Ìæ¤ÈP[XÍCRtBM
-[^ÅG[ð
-o·×«Å éDRtBM
-[^ev[gt@CÌ^[QbgñË
-¶ÍCpX2Ìev[gt@CÌ^[QbgË¶Åè`·é
-INTNO_CFGINT_VALIDCTARGET_INTATRCINTPRI_CFGINT_VALIDðp¢ÄG[ð
-o·éªCWÌÝ®«iTA_ENAINTCTA_EDGEjªÝèÅ«È¢êâC
-ÝèÅ«È¢®«âÝDæxªÝvCÉæÁÄÙÈéêÉÍC
-RtBM
-[^ev[gt@CÌ^[QbgË¶ÅoµÈ¯ê
-ÎÈçÈ¢D
-
-6.6.5 ÝÇ@\Ìú»ÌÏX
-
-(6-6-5-1) OMIT_INITIALIZE_INTERRUPTiIvVj
-
-ÝÇ@\Ìú»ð^[QbgË¶ÅpÓµC^[QbgñË¶
-ÉÜÜêéWÌÝÇ@\Ìú»ðp¢È¢êÉÍC±ÌV
-{ð}Nè`·éD
-
-±ÌV{ð}Nè`·éÆCINHINIBCINTINIBCinitialize_interrupt
-Ìè`ªCJ[lÌ^[QbgñË¶©çæè©êéDÜ½C
-TNUM_INHNOCtnum_inhnoCinhinib_tableCTNUM_INTNOCtnum_intnoC
-intinib_tableÌè`ÆCÝnhÌoüûð¶¬·é½ßÌLq
-iINTHDR_ENTRY}NÌXgjªCRtBM
-[^ÌpX2Ìev[
-gt@CÌ^[QbgñË¶ÉæÁÄkernel_cfg.cÉ¶¬³êÈ­ÈéD
-½¾µCRtBM
-[^ÌpX2Ìev[gt@CÌ^[QbgË¶
-ÅCUSE_INHINIB_TABLEÆUSE_INTINIB_TABLEðÝè·é±ÆÅC»Ìê
-ªðkernel_cfg.cÉ¶¬·é±ÆªÂ\Å éD
-
-(6-6-5-2) void initialize_interrupt(void)iIvVj
-
-OMIT_INITIALIZE_INTERRUPTð}Nè`µ½êÉÍC±ÌÖð^[Qbg
-Ë¶ÅpÓ·éDOMIT_INITIALIZE_INTERRUPTð}Nè`·é±ÆÉæèæ
-è©êé»Ì¼Ìf[^^CÏC}NÍC±ÌÖÅgp·éêÉÌ
-ÝpÓ·êÎæ¢D
-
-6.6.6 ftHgÌÝnh
-
-(6-6-6-1) default_int_handler(void)iIvVj
-
-RtBM
-[^ÉæèÝnhÌe[uð¶¬·éêÈÇÉÍC
-Ýnhðo^µÈ©Á½ÝnhÔÉÎµÄCftHgÌ
-ÝnhÆµÄCdefault_int_handlerðo^·éD
-
-default_int_handlerÍCWÌàÌð^[QbgË¶ÅpÓ·éªC[U
-ªpÓµ½àÌÅu«·¦çêéæ¤ÉCOMIT_DEFAULT_INT_HANDLERð}N
-è`µ½êÉÍC^[QbgË¶Åè`µÈ¢æ¤É·éDÈ¨C[U
-ªpÓ·éêÌ¼ÌÍC_kernel_default_int_handlerÆÈéD
-
-6.6.7 J[lÇOÌÝ
-
-J[lÇOÌÝnhÍCJ[làÌÝoüûðoR¹
-¸ÉÀs·éÌªî{Å éD
-
-½¾µC·×ÄÌÝÅ¯¶AhXÉªò·évZbTÅÍCJ[l
-àÌÝoüûðS­oR¹¸ÉJ[lÇOÌÝnhðÀ
-s·é±ÆªÅ«È¢½ßCÝoüûÌÈé×­¢^C~OÅC
-J[lÇOÌÝÅ é©ð»ÊµCàeðª¯éKvª éDï
-ÌIÉÍCJ[lÇOÌÝÌoüûÅÍCI[onhÌ
-â~Æ®ìJnðsÁÄÍÈçÈ¢DÜ½Creqflgð`FbNµC^XNØ·
-¦â^XNáO[`ÌÄoµðs¤KvªÈ¢D³çÉCNMIÌoüû
-ÅÍCg[XOæ¾ilog_inh_enter¨æÑlog_inh_leavejðÄ
-ÑoµÄÍÈçÈ¢D
-
-J[lÇOÌÝnhðÀs·éÛÉCJ[làÌÝoüû
-ÌêªðoR·éêÉÍCCPUáOªN±éÂ\«ðÉÍ¸ç·ÆÆà
-ÉCCPUáOðN±·Â\«ª éêÉÍC»ÌÂ\«ð^[QbgË¶Ì
-[U[Y}j
-AÉLÚµÈ¯êÎÈçÈ¢D
-
-ÉCJ[lÇOÌÝÌÝèû@ÉÖµÄCuTOPPERSV¢ãJ[l
-dlvÌu6.6.8 J[lÇOÌÝÌÝèû@vÌßÌ3ÂÌû@
-Ì¢¸êðÌp·é©ðè·éD
-
-(a-1)Ü½Í(a-2)ðÌpµCJ[lÇOÆµ½ÝÉÎµÄCJ[l
-ÌAPIÉæéÝnhÌo^ÆÝvCÌ®«ÌÝèðT|[g
-µÈ¢êÉÍC»êÉãíéû@ð^[QbgË¶Ì[U[Y}j
-A
-ÉLq·éD
-
-(a-1)Ü½Í(a-2)ðÌpµÄJ[lÌAPIÉæéÝnhÌo^â
-ÝvCÌ®«ÌÝèðT|[g·éêâC(b)ðÌpµ½êÉÍC^[
-QbgË¶É¨¢Ä»êðÀ»·éKvª éD
-
-J[lÇOÌÝÉÎµÄCDEF_INHÉæéÝnhÌo^ðT|[
-g·éÉÍCÌÝèªKvÉÈéD
-
-ETARGET_INHATRÉCTA_NONKERNELðÝè·éD
-
-E(a-1)Ü½Í(a-2)ðÌpµ½êÉÍCINHNO_DEFINH_VALIDÉCJ[lÇ
-@OÆµ½ÝÉÎ·éÝnhÔðÜßéDÜ½C
-@VALID_INHNO_DEFINHðCJ[lÇOÆµ½ÝnhÔðLøÈ
-@lÆ»è·éæ¤É·éD
-
-E(a-1)Ü½Í(a-2)ðÌpµ½êÉÍCINHNO_FIX_KERNELÉJ[lÇÆ
-@µ½ÝnhÔÌXgðCINHNO_FIX_NONKERNELÉJ[lÇO
-@Æµ½ÝnhÔÌXgÝè·éD
-
-EDEF_INHªJ[lÇOÌÝÉÎÅ«éæ¤É·éDWÌÝÇ
-@@\Ìú»ðp¢éêÉÍCx_define_inhðJ[lÇOÌ
-@ÝÉÎ³¹éD
-
-EKvÈêÉÍCTA_NONKERNEL®«ªÝè³ê½ÝnhðJ[l
-@ÇOÆµ¤æ¤ÉCJ[làÌÝoüûðC³·éDWÌ
-@ÝÇ@\Ìú»ðp¢éêCJ[lÇOÌÝÉÎµÄ
-@ÍCJ[làÌÝoüûð¶¬¹¸CAvP[Vªo^µ
-@½Ýnhð¼ÚÄÑo·æ¤ÉC^[QbgñË¶ÉæèÝè³
-@êé½ßC^[QbgË¶ÅÍÎ·éKvªÈ¢D
-
-J[lÇOÌÝÉÎµÄCCFG_INTÉæéÝvCÌ®«ÌÝ
-èðT|[g·éÉÍCÌÝèªKvÉÈéD
-
-E(a-1)Ü½Í(a-2)ðÌpµ½êÉÍCINTNO_CFGINT_VALIDÉCJ[lÇ
-@OÆµ½ÝÉÎ·éÝÔðÜßéDÜ½CVALID_INTNO_CFGINT
-@ðCJ[lÇOÆµ½ÝÔðLøÈlÆ»è·éæ¤É·éD
-
-E(a-1)Ü½Í(a-2)ðÌpµ½êÉÍCINTNO_FIX_KERNELÉJ[lÇÆ
-@µ½ÝÔÌXgðCINTNO_FIX_NONKERNELÉJ[lÇOÆµ½
-@ÝÔÌXgÝè·éD
-
-EINTPRI_CFGINT_VALIDÉCJ[lÇOÌÝÆÈéDæxðÜßéD
-
-ECFG_INTªJ[lÇOÌÝÉÎÅ«éæ¤É·éDWÌÝÇ
-@@\Ìú»ðp¢éêÉÍCx_config_intðJ[lÇOÌ
-@ÝÉÎ³¹éD
-
-chg_ipmÉæèCiNMIÈOÌjJ[lÇOÌÝð}XNÅ«éæ¤É
-·éêÉÍCÌÝèªKvÉÈéD
-
-EVALID_INTPRI_CHGIPMðCJ[lÇOÌÝÆÈéDæxðLøÈlÆ
-@»è·éæ¤É·éD
-
-Et_set_ipmðCJ[lÇOÌÝÆÈéDæxðµ¦éæ¤É·éD
-
-6.7 CPUáOnhÆCPUáO­¶ÌVXeóÔÌQÆ
-
-6.7.1 CPUáOnhÌoüû
-
-CPUáOÌoüûÌû@ÍvZbTÉæÁÄå«­ÙÈéªC¨¨æ»Ì
-àeÍÌÊèD
+intnoで指定された割込み要求ラインの割込み属性を，intatrで指定された通り
+に設定する．また，割込み優先度を，intpriで指定された値に設定する．
+
+この関数は，標準の割込み管理機能の初期化処理を用いた場合のみ，ターゲッ
+ト非依存部から呼び出される．割込み管理機能の初期化処理をターゲット依存
+部で用意し，その中でこの関数を呼び出さない場合には，この関数を用意する
+必要はない．
+
+この関数は，ターゲット非依存部のカーネル初期化処理から呼び出されるため，
+カーネルの初期化処理（NMIを除くすべての割込みがマスクされている）から呼
+び出せるように実装すればよい．
+
+intatrとして設定できる割込み属性は次の通り．
+
+	TA_ENAINT		0x01	割込み要求禁止フラグをクリア
+	TA_EDGE			0x02	エッジトリガ
+
+この他に，ターゲット定義で割込み属性を追加してもよい．ターゲット定義で
+追加するために，以下の属性名が予約されている．
+
+	TA_POSEDGE				ポジティブエッジトリガ
+	TA_NEGEDGE				ネガティブエッジトリガ
+	TA_BOTHEDGE				両エッジトリガ
+	TA_LOWLEVEL				ローレベルトリガ
+	TA_HIGHLEVEL			ハイレベルトリガ
+
+これらの属性名をターゲット定義で追加する場合には，その属性値を決定し，
+定義をtarget_kernel.h（または，そこからインクルードされるファイル）に含
+める．また，コンフィギュレータテンプレートファイルから参照できるように，
+target_def.csv（または，そこからインクルードされるファイル）に含め，コ
+ンフィギュレータテンプレートファイルのターゲット非依存部でエラーとなら
+ないように，target.tf（または，そこからインクルードされるファイル）で
+TARGET_INTATRに設定する．
+
+指定された割込み番号がCFG_INTに対するものとして有効な値でない場合や，そ
+の割込み要求ラインに対して設定できない属性を指定した場合，設定できない
+割込み優先度を指定した場合の動作は保証する必要がない（assertでエラーと
+するのが望ましい）．このようなケースは，コンフィギュレータでエラーを検
+出すべきである．コンフィギュレータテンプレートファイルのターゲット非依
+存部は，パス2のテンプレートファイルのターゲット依存部で定義する
+INTNO_CFGINT_VALID，TARGET_INTATR，INTPRI_CFGINT_VALIDを用いてエラーを
+検出するが，標準の割込み属性（TA_ENAINT，TA_EDGE）が設定できない場合や，
+設定できない属性や割込み優先度が割込み要求ラインによって異なる場合には，
+コンフィギュレータテンプレートファイルのターゲット依存部で検出しなけれ
+ばならない．
+
+6.6.5 割込み管理機能の初期化処理の変更
+
+(6-6-5-1) OMIT_INITIALIZE_INTERRUPT（オプション）
+
+割込み管理機能の初期化処理をターゲット依存部で用意し，ターゲット非依存
+部に含まれる標準の割込み管理機能の初期化処理を用いない場合には，このシ
+ンボルをマクロ定義する．
+
+このシンボルをマクロ定義すると，INHINIB，INTINIB，initialize_interrupt
+の定義が，カーネルのターゲット非依存部から取り除かれる．また，
+TNUM_INHNO，tnum_inhno，inhinib_table，TNUM_INTNO，tnum_intno，
+intinib_tableの定義と，割込みハンドラ毎の出入口処理を生成するための記述
+（INTHDR_ENTRYマクロのリスト）が，コンフィギュレータのパス2のテンプレー
+トファイルのターゲット非依存部によってkernel_cfg.cに生成されなくなる．
+ただし，コンフィギュレータのパス2のテンプレートファイルのターゲット依存
+部で，USE_INHINIB_TABLEとUSE_INTINIB_TABLEを設定することで，その一部
+分をkernel_cfg.cに生成することが可能である．
+
+(6-6-5-2) void initialize_interrupt(void)（オプション）
+
+OMIT_INITIALIZE_INTERRUPTをマクロ定義した場合には，この関数をターゲット
+依存部で用意する．OMIT_INITIALIZE_INTERRUPTをマクロ定義することにより取
+り除かれるその他のデータ型，変数，マクロは，この関数で使用する場合にの
+み用意すればよい．
+
+6.6.6 デフォルトの割込みハンドラ
+
+(6-6-6-1) default_int_handler(void)（オプション）
+
+コンフィギュレータにより割込みハンドラのテーブルを生成する場合などには，
+割込みハンドラを登録しなかった割込みハンドラ番号に対して，デフォルトの
+割込みハンドラとして，default_int_handlerを登録する．
+
+default_int_handlerは，標準のものをターゲット依存部で用意するが，ユーザ
+が用意したもので置き換えられるように，OMIT_DEFAULT_INT_HANDLERをマクロ
+定義した場合には，ターゲット依存部で定義しないようにする．なお，ユーザ
+が用意する場合の名称は，_kernel_default_int_handlerとなる．
+
+6.6.7 カーネル管理外の割込み
+
+カーネル管理外の割込みハンドラは，カーネル内の割込み出入口処理を経由せ
+ずに実行するのが基本である．
+
+ただし，すべての割込みで同じアドレスに分岐するプロセッサでは，カーネル
+内の割込み出入口処理を全く経由せずにカーネル管理外の割込みハンドラを実
+行することができないため，割込み出入口処理のなるべく早いタイミングで，
+カーネル管理外の割込みであるかを判別し，処理内容を分ける必要がある．具
+体的には，カーネル管理外の割込みの出入口処理では，オーバランハンドラの
+停止と動作開始を行ってはならない．また，reqflgをチェックし，タスク切換
+えやタスク例外処理ルーチンの呼出しを行う必要がない．さらに，NMIの出入口
+処理では，トレースログ取得処理（log_inh_enterおよびlog_inh_leave）を呼
+び出してはならない．
+
+カーネル管理外の割込みハンドラを実行する際に，カーネル内の割込み出入口
+処理の一部分を経由する場合には，CPU例外が起こる可能性を極力減らすととも
+に，CPU例外を起こす可能性がある場合には，その可能性をターゲット依存部の
+ユーザーズマニュアルに記載しなければならない．
+
+次に，カーネル管理外の割込みの設定方法に関して，「TOPPERS新世代カーネル
+統合仕様書」の「6.6.8 カーネル管理外の割込みの設定方法」の節の3つの方法
+のいずれを採用するかを決定する．
+
+(a-1)または(a-2)を採用し，カーネル管理外とした割込みに対して，カーネル
+のAPIによる割込みハンドラの登録と割込み要求ラインの属性の設定をサポート
+しない場合には，それに代わる方法をターゲット依存部のユーザーズマニュア
+ルに記述する．
+
+(a-1)または(a-2)を採用してカーネルのAPIによる割込みハンドラの登録や割込
+み要求ラインの属性の設定をサポートする場合や，(b)を採用した場合には，ター
+ゲット依存部においてそれを実現する必要がある．
+
+カーネル管理外の割込みに対して，DEF_INHによる割込みハンドラの登録をサポー
+トするには，次の設定が必要になる．
+
+・TARGET_INHATRに，TA_NONKERNELを設定する．
+
+・(a-1)または(a-2)を採用した場合には，INHNO_DEFINH_VALIDに，カーネル管
+　理外とした割込みに対応する割込みハンドラ番号を含める．また，
+　VALID_INHNO_DEFINHを，カーネル管理外とした割込みハンドラ番号を有効な
+　値と判定するようにする．
+
+・(a-1)または(a-2)を採用した場合には，INHNO_FIX_KERNELにカーネル管理と
+　した割込みハンドラ番号のリストを，INHNO_FIX_NONKERNELにカーネル管理外
+　とした割込みハンドラ番号のリスト設定する．
+
+・DEF_INHがカーネル管理外の割込みに対応できるようにする．標準の割込み管
+　理機能の初期化処理を用いる場合には，x_define_inhをカーネル管理外の割
+　込みに対応させる．
+
+・必要な場合には，TA_NONKERNEL属性が設定された割込みハンドラをカーネル
+　管理外と扱うように，カーネル内の割込み出入口処理を修正する．標準の割
+　込み管理機能の初期化処理を用いる場合，カーネル管理外の割込みに対して
+　は，カーネル内の割込み出入口処理を生成せず，アプリケーションが登録し
+　た割込みハンドラを直接呼び出すように，ターゲット非依存部により設定さ
+　れるため，ターゲット依存部では対応する必要がない．
+
+カーネル管理外の割込みに対して，CFG_INTによる割込み要求ラインの属性の設
+定をサポートするには，次の設定が必要になる．
+
+・(a-1)または(a-2)を採用した場合には，INTNO_CFGINT_VALIDに，カーネル管
+　理外とした割込みに対応する割込み番号を含める．また，VALID_INTNO_CFGINT
+　を，カーネル管理外とした割込み番号を有効な値と判定するようにする．
+
+・(a-1)または(a-2)を採用した場合には，INTNO_FIX_KERNELにカーネル管理と
+　した割込み番号のリストを，INTNO_FIX_NONKERNELにカーネル管理外とした割
+　込み番号のリスト設定する．
+
+・INTPRI_CFGINT_VALIDに，カーネル管理外の割込みとなる優先度を含める．
+
+・CFG_INTがカーネル管理外の割込みに対応できるようにする．標準の割込み管
+　理機能の初期化処理を用いる場合には，x_config_intをカーネル管理外の割
+　込みに対応させる．
+
+chg_ipmにより，（NMI以外の）カーネル管理外の割込みをマスクできるように
+する場合には，次の設定が必要になる．
+
+・VALID_INTPRI_CHGIPMを，カーネル管理外の割込みとなる優先度を有効な値と
+　判定するようにする．
+
+・t_set_ipmを，カーネル管理外の割込みとなる優先度を扱えるようにする．
+
+6.7 CPU例外ハンドラとCPU例外発生時のシステム状態の参照
+
+6.7.1 CPU例外ハンドラの出入口処理
+
+CPU例外の出入口処理の方法はプロセッサによって大きく異なるが，おおよその
+処理内容は次の通り．
 
 ----------------------------------------
 void
-<CPUáOÌoüû>(void)
+<CPU例外の出入口処理>(void)
 {
-	XNb`WX^ðX^bNÉÛ¶·é
-	if (J[lÇOÌCPUáO) {
-		if (^XNReLXgÅCPUáO­¶) {
-			ñ^XNReLXgÉØè·¦é
+	スクラッチレジスタをスタックに保存する
+	if (カーネル管理外のCPU例外) {
+		if (タスクコンテキストでCPU例外発生) {
+			非タスクコンテキストに切り換える
 		}
-		VXeóÔiReLXgÍ­jðCCPUáO­¶ÌóÔÉ·é
-		CPUáOnhðCCPUáOÌîñðL¯µÄ¢éÌæÌæªÔnð
-									p[^ip_excinfjÆµÄÄÑo·
-		if (^XNReLXgÅCPUáO­¶) {
-			^XNReLXgÉØè·¦é
+		システム状態（コンテキストは除く）を，CPU例外発生時の状態にする
+		CPU例外ハンドラを，CPU例外の情報を記憶している領域の先頭番地を
+									パラメータ（p_excinf）として呼び出す
+		if (タスクコンテキストでCPU例外発生) {
+			タスクコンテキストに切り換える
 		}
-		CPUáO©çÌ^[ãÉCCPUáO­¶ÌVXeóÔÉ
-													ßéæ¤Éõ·é
+		CPU例外処理からのリターン後に，CPU例外発生時のシステム状態に
+													戻るように準備する
 	}
 	else {
-		if (^XNReLXgÅCPUáO­¶) {
-			ñ^XNReLXgÉØè·¦é
+		if (タスクコンテキストでCPU例外発生) {
+			非タスクコンテキストに切り換える
 		}
-		VXeóÔiReLXgÍ­jðCCPUáO­¶ÌóÔÉ·é
-			@iCPUáO­¶ÌÝDæx}XNæèàDæxÌ¢Ý
-				ÌÝðó¯t¯çêéæ¤ÉµÄCCPUbNðóÔÉ·éj
+		システム状態（コンテキストは除く）を，CPU例外発生時の状態にする
+			　（CPU例外発生時の割込み優先度マスクよりも優先度の高い割込み
+				のみを受け付けられるようにして，CPUロック解除状態にする）
 
 #ifdef LOG_EXC_ENTER
-		log_exc_enter(CPUáOnhÔ);
+		log_exc_enter(CPU例外ハンドラ番号);
 #endif /* LOG_EXC_ENTER */
-		CPUáOnhðCCPUáOÌîñðL¯µÄ¢éÌæÌæªÔnð
-									p[^ip_excinfjÆµÄÄÑo·
+		CPU例外ハンドラを，CPU例外の情報を記憶している領域の先頭番地を
+									パラメータ（p_excinf）として呼び出す
 #ifdef LOG_EXC_LEAVE
-		log_exc_leave(CPUáOnhÔ);
+		log_exc_leave(CPU例外ハンドラ番号);
 #endif /* LOG_EXC_LEAVE */
 
 	  ret_exc:
-		if (^XNReLXgÅCPUáO­¶) {
-			i­È­ÆàjJ[lÇÌÝðÖ~µ½óÔÉ·é c (*d)
-			^XNReLXgÉØè·¦é
+		if (タスクコンテキストでCPU例外発生) {
+			（少なくとも）カーネル管理の割込みを禁止した状態にする … (*d)
+			タスクコンテキストに切り換える
 			if (reqflg) {
 				reqflg = false;
-				CPUbNóÔÉ·é c (*e)
-				search_schedtskðÄÑoµCÅDæÊ^XNðßé
-				ÅDæÊÌ^XNIDðøÉµÄrun_taskÉªò·é
+				CPUロック状態にする … (*e)
+				search_schedtskを呼び出し，最高優先順位タスクを求める
+				最高優先順位のタスクIDを引数にしてrun_taskに分岐する
 			}
 		}
-		CPUáO©çÌ^[ãÉCCPUbNðóÔÉßéæ¤Éõ·é
+		CPU例外処理からのリターン後に，CPUロック解除状態に戻るように準備する
 	}
-	XNb`WX^ðX^bN©çA·é
-	CPUáO©çÌ^[
+	スクラッチレジスタをスタックから復帰する
+	CPU例外処理からのリターン
 }
 ----------------------------------------
 
-CPUáOnhÍCñReLXgÉØè·¦é±Æð¢ÄÍCCPUáO­
-¶Æ¯¶VXeóÔÅÄÑo³È¯êÎÈçÈ¢Dá¦ÎCCPUáOªCPU
-bNóÔÅ­¶µ½êÉÍCPUbNóÔCCPUbNðóÔÅ­¶µ½
-êÉÍCPUbNðóÔÅCCPUáOnhðÄÑo³È¯êÎÈçÈ¢D
-CPUbNóÔÅ­¶µ½CPUáOÍCJ[lÇOÌCPUáOÆÈé½ßCJ[
-lÇÌCPUáOnhÉÂ¢ÄÍCCPUbNðóÔÅÄÑo·±ÆÉ
-ÈéD
-
-J[lÇOÌCPUáOÅ é±ÆÍCexc_sense_unlockªfalseðÔ·ð
-ÆC^XNReLXgÅ é±Æð²×È¢¾¯Ìá¢Å èCÙÚ¯¶R[
-hÅ»è·é±ÆªÅ«éD
-
-ãÌR[hÅÍCJ[lÇOÌCPUáOÉÎµÄCg[XOæ¾
-ilog_exc_enter¨æÑlog_exc_leavejðÄÑoµÄ¢È¢ªCSÝb
-NóÔ©NMIÌÉCPUáOª­¶µ½êðO·êÎCÄÑoµÄà©
-ÜíÈ¢DSÝbNóÔ©NMIÌÉ­¶µ½CPUáOÌêÉÍC
-g[XOæ¾ðÄÑoµÄÍÈçÈ¢D
-
-CPUáOnhðÀs·éÛÉoR·éªÅÍCCPUáOªN±éÂ\«ð
-ÉÍ¸ç·ÆÆàÉCCPUáOðN±·Â\«ª éêiá¦ÎCXNb`
-WX^ðX^bNÉÛ¶·éÉCoXG[ÈÇÌCPUáOª­¶·éÂ\
-«ªl¦çêéjÉÍC»ÌÂ\«ð^[QbgË¶Ì[U[Y}j
-A
-ÉLÚµÈ¯êÎÈçÈ¢D
-
-ret_excÈ~ÌÍCÝÌoüûÌret_intÈ~ÌÆ¯¶Å é
-½ßC^[QbgÉæÁÄÍC¤ÊÌ[`ðp¢é±ÆªÅ«éÂ\«ª
- éD
-
-CPUáOÌoüûðAZu¾êÅLq·éêÉÍCg[XOæ¾
-ÍCu6.2 g[XO@\ÖÌÎvÌßÅLqµ½û@ÅR[fB
-O·é±ÆD
-
-6.7.2 CPUáOnhÌoüûÌ¶¬
-
-CPUáOxNgðn[hEFAÅÀ»µÄ¢éêÈÇCCPUáOnh
-ÉoüûðpÓµ½ûªø¦ªÇ¢^[QbgÌ½ßÉCCPUáOnh
-Éoüûð¶¬·é@\ðpÓµÄ¢éD
-
-ÈºÌ}NÍCWÌCPUáOÇ@\Ìú»ðp¢½êÌÝC^[
-QbgñË¶ÅgíêéDCPUáOÇ@\Ìú»ð^[QbgË¶
-ÅpÓµC»ÌÅ±êçÌ}NðgíÈ¢êÉÍC±êçÌ}Nðp
-Ó·éKvÍÈ¢D
+CPU例外ハンドラは，非コンテキストに切り換えることを除いては，CPU例外発
+生時と同じシステム状態で呼び出さなければならない．例えば，CPU例外がCPU
+ロック状態で発生した場合にはCPUロック状態，CPUロック解除状態で発生した
+場合にはCPUロック解除状態で，CPU例外ハンドラを呼び出さなければならない．
+CPUロック状態で発生したCPU例外は，カーネル管理外のCPU例外となるため，カー
+ネル管理のCPU例外ハンドラについては，CPUロック解除状態で呼び出すことに
+なる．
+
+カーネル管理外のCPU例外であることは，exc_sense_unlockがfalseを返す条件
+と，タスクコンテキストであることを調べないだけの違いであり，ほぼ同じコー
+ドで判定することができる．
+
+上のコードでは，カーネル管理外のCPU例外に対して，トレースログ取得処理
+（log_exc_enterおよびlog_exc_leave）を呼び出していないが，全割込みロッ
+ク状態かNMIの処理中にCPU例外が発生した場合を除外すれば，呼び出してもか
+まわない．全割込みロック状態かNMIの処理中に発生したCPU例外の場合には，
+トレースログ取得処理を呼び出してはならない．
+
+CPU例外ハンドラを実行する際に経由する部分では，CPU例外が起こる可能性を
+極力減らすとともに，CPU例外を起こす可能性がある場合（例えば，スクラッチ
+レジスタをスタックに保存する時に，バスエラーなどのCPU例外が発生する可能
+性が考えられる）には，その可能性をターゲット依存部のユーザーズマニュア
+ルに記載しなければならない．
+
+ret_exc以降の処理は，割込みの出入口処理のret_int以降の処理と同じである
+ため，ターゲットによっては，共通のルーチンを用いることができる可能性が
+ある．
+
+CPU例外の出入口処理をアセンブリ言語で記述する場合には，トレースログ取得
+処理は，「6.2 トレースログ機能への対応」の節で記述した方法でコーディン
+グすること．
+
+6.7.2 CPU例外ハンドラの出入口処理の生成
+
+CPU例外ベクトルをハードウェアで実現している場合など，CPU例外ハンドラ毎
+に出入口処理を用意した方が効率が良いターゲットのために，CPU例外ハンドラ
+毎に出入口処理を生成する機構を用意している．
+
+以下のマクロは，標準のCPU例外管理機能の初期化処理を用いた場合のみ，ター
+ゲット非依存部で使われる．CPU例外管理機能の初期化処理をターゲット依存部
+で用意し，その中でこれらのマクロを使わない場合には，これらのマクロを用
+意する必要はない．
 
 (6-7-2-1) EXC_ENTRY(excno, exchdr)
 
-CPUáOnhÔªexcnoCCPUáOnhÌÖ¼ªexchdrÅ éCPUá
-OnhÌoüûÌxðìé}NDEXCHDR_ENTRYðp¢ÄCPUáO
-nhÉoüûð¶¬·éêÉÍCÌæ¤Éè`·éD
+CPU例外ハンドラ番号がexcno，CPU例外ハンドラの関数名がexchdrであるCPU例
+外ハンドラの出入口処理のラベルを作るマクロ．EXCHDR_ENTRYを用いてCPU例外
+ハンドラ毎に出入口処理を生成する場合には，次のように定義する．
 
 #define EXC_ENTRY(excno, exchdr)	_kernel_##exchdr##_##excno
 
-CPUáOnhÉoüûðìéKvªÈ¢êÉÍCÌæ¤Éè`µ
-ÄCCPUáOnhÌÖ¼ð»ÌÜÜÔ·D
+CPU例外ハンドラ毎に出入口処理を作る必要がない場合には，次のように定義し
+て，CPU例外ハンドラの関数名をそのまま返す．
 
 #define EXC_ENTRY(excno, exchdr)	exchdr
@@ -1897,194 +1835,185 @@
 (6-7-2-2) EXCHDR_ENTRY(excno, excno_num, exchdr)
 
-CPUáOnhÔªexcnoCCPUáOnhÌÖ¼ªexchdrÅ éCPUá
-OnhÌoüûð¶¬·é}NDexcno_numÉÍCAZu¾êL
-qpÉCCPUáOnhÔªlÅn³êéDCPUáOnhÉoüû
-ðìéKvªÈ¢êÉÍCóÉè`·éD
-
-6.7.3 CPUáOnhÌÝè
-
-(6-7-3-1) bool_t VALID_EXCNO_DEFEXC(EXCNO excno)iIvVj
-
-excnoªCDEF_EXCÉÎ·éCPUáOnhÔÆµÄLøÈlÅ éêÉ
-trueC»¤ÅÈ¢êÉfalseðÔ·}ND
-
-SSPJ[lÌ^[QbgñË¶ÅÍC±Ì}NÍgíêÄ¢È¢½ßC^[
-QbgË¶ÅgíÈ¢ÈçCpÓ·éKvªÈ¢D
+CPU例外ハンドラ番号がexcno，CPU例外ハンドラの関数名がexchdrであるCPU例
+外ハンドラの出入口処理を生成するマクロ．excno_numには，アセンブリ言語記
+述用に，CPU例外ハンドラ番号が数値で渡される．CPU例外ハンドラ毎に出入口
+処理を作る必要がない場合には，空に定義する．
+
+6.7.3 CPU例外ハンドラの設定
+
+(6-7-3-1) bool_t VALID_EXCNO_DEFEXC(EXCNO excno)（オプション）
+
+excnoが，DEF_EXCに対するCPU例外ハンドラ番号として有効な値である場合に
+true，そうでない場合にfalseを返すマクロ．
+
+SSPカーネルのターゲット非依存部では，このマクロは使われていないため，ター
+ゲット依存部で使わないなら，用意する必要がない．
 
 (6-7-3-2) void x_define_exc(EXCNO excno, FP exc_entry)
 
-excnoÅwè³ê½CPUáOnhÌoüûÌÔnðexc_entryÉÝè·éD
-
-±ÌÖÍCWÌCPUáOÇ@\Ìú»ðp¢½êÌÝC^[Qb
-gñË¶©çÄÑo³êéDCPUáOÇ@\Ìú»ð^[QbgË¶
-ÅpÓµC»ÌÅ±ÌÖðÄÑo³È¢êÉÍC±ÌÖðpÓ·é
-KvÍÈ¢D
-
-±ÌÖÍC^[QbgñË¶ÌJ[lú»©çÄÑo³êé½ßC
-J[lÌú»iNMIð­·×ÄÌÝª}XN³êÄ¢éj©çÄ
-Ño¹éæ¤ÉÀ·êÎæ¢D
-
-wè³ê½CPUáOnhÔªDEF_EXCÉÎ·éàÌÆµÄLøÈlÅÈ¢
-êÌ®ìÍÛØ·éKvªÈ¢iassertÅG[Æ·éÌª]Üµ¢jD±
-êÍCRtBM
-[^ªCpX2Ìev[gt@CÌ^[QbgË¶
-Åè`·éEXCNO_DEFEXC_VALIDðp¢ÄG[ðo·é½ßÅ éD
-
-6.7.4 CPUáOÇ@\Ìú»ÌÏX
-
-(6-7-4-1) OMIT_INITIALIZE_EXCEPTIONiIvVj
-
-CPUáOÇ@\Ìú»ð^[QbgË¶ÅpÓµC^[QbgñË¶
-ÉÜÜêéWÌÝÇ@\Ìú»ðp¢È¢êÉÍC±ÌV
-{ð}Nè`·éD
-
-±ÌV{ð}Nè`·éÆCEXCINIBÆinitialize_exceptionÌè`ªC
-J[lÌ^[QbgñË¶©çæè©êéDÜ½CTNUM_EXCNOC
-tnum_excnoCexcinib_tableÌè`ÆCCPUáOnhÌoüûð¶¬
-·é½ßÌLqiEXCHDR_ENTRY}NÌXgjðCRtBM
-[^Ìp
-X2Ìev[gt@CÌ^[QbgñË¶ÉæÁÄkernel_cfg.cÉ¶¬
-³êÈ­ÈéD
-
-(6-7-4-2) void initialize_exception(void)iIvVj
-
-OMIT_INITIALIZE_EXCEPTIONð}Nè`µ½êÉÍC±ÌÖð^[Qbg
-Ë¶ÅpÓ·éDOMIT_INITIALIZE_EXCEPTIONð}Nè`·é±ÆÉæèæ
-è©êé»Ì¼Ìf[^^CÏC}NÍC±ÌÖÅgp·éêÉÌ
-ÝpÓ·êÎæ¢D
-
-6.7.5 ftHgÌCPUáOnh
-
-(6-7-5-1) default_exc_handler(void)iIvVj
-
-RtBM
-[^ÉæèCPUáOnhÌe[uð¶¬·éêÈÇÉÍC
-CPUáOnhðo^µÈ©Á½CPUáOnhÔÉÎµÄCftHg
-ÌCPUáOnhÆµÄCdefault_exc_handlerðo^·éD
-
-default_exc_handlerÍCWÌàÌð^[QbgË¶ÅpÓ·éªC[U
-ªpÓµ½àÌÅu«·¦çêéæ¤ÉCOMIT_DEFAULT_EXC_HANDLERð}N
-è`µ½êÉÍC^[QbgË¶Åè`µÈ¢æ¤É·éDÈ¨C[U
-ªpÓ·éêÌ¼ÌÍC_kernel_default_exc_handlerÆÈéD
-
-6.8 J[lÌN®EI¹ÆX^bNÌæÈÇ
-
-(6-8-1) X^[gAbvW
-[
-
-J[lÌX^[gAbvW
-[ÍCVXeÌZbgãÉÅÉÀs
-³êévOÅ éDX^[gAbvW
-[ÍCWIÉÍCvZb
-TË¶Ü½Í`bvË¶ÅpÓµÈºÌðs¤ªC»êÉ±¾íéK
-vÍÈ¢DïÌIÉÍCJ­Â«ÉpÓ³êÄ¢éX^[gAbvW
-[
-ðp¢éû@i±ÌêC^[QbgË¶ÅmainÖðpÓ·éKvª éj
-âCAvP[VÅpÓ·éêªl¦çêéD
-
-(a) vZbTóÔÌú»
-
-vZbT[hCX^bN|C^Ct[|C^CvZbTÌó
-Ôðú»·éDÜ½CNMIð­·×ÄÌÝð}XNµ½óÔiSÝ
-bNóÔÆ¯ÌóÔjÆ·éDDRAMRg[Ìú»ÈÇCð
-ANZX·é½ßÉKvÈú»ð±±ÅsÁÄàæ¢iÌ
-hardware_init_hookÅsÁÄàæ¢jD
-
-(b) hardware_init_hookðÄÑo·
-
-VXeÌZbgã·®És¤KvÌ é^[QbgVXeË¶Ìú»
-ðs¤½ßÉChardware_init_hookðÄÑo·Dhardware_init_hookªp
-Ó³êÄ¢È¢êÍC½àµÈ¢DGNUJ­Â«ÅÍCJXNvgÌ
-weak definitionÉæèChardware_init_hookªpÓ³êÄ¢È¢êÌlð0
-Æ·é±ÆÅC±êðÀ»Å«éDweak definitionÌ@\ð½È¢J­Â«
-ÅÍChardware_init_hookðK¸ÄÑo·±ÆÉ·éD
-
-hardware_init_hookÍC^[QbgË¶ÅpÓ·éÌªWÅ éªCVX
-eÌZbgã·®És¤KvÌ éú»ðÇÁ·é½ßÉCAv
-P[VÅpÓµ½àÌðp¢éêà éD
-
-ANZXÉKvÈú»ðhardware_init_hookÅs¤êÉÍC±
-êðÄÑo·_ÅÉANZX·é±ÆªÅ«È¢½ßCÖiTu[
-`jðÄÑo·½ßÉX^bNðgp·évZbTÅÍCßèÔnðÄp
-WX^ÉüêÄÄÑo·Æ¢Á½HvªKvÅ éD±ÌêC
-hardware_init_hookðC¾êÅLq·é±ÆÍÅ«È­ÈéªCâÞð¦È¢D
-
-(c) bssZNVÆdataZNVÌú»
-
-bssZNVðNAµCdataZNVÉúlðÝè·éD
-
-½¾µCJ[l{ÌÍCkerflgªfalsei0jÉú»³êé±ÆÈOÉC
-±êçÌZNVªú»³êé±ÆÉË¶µÄ¢È¢½ßCX^[gAb
-vW
-[ðAvP[VÅpÓ·éêÅCVXeT[rXâAv
-P[Vª±êçÌZNVªú»³êé±ÆÉË¶µÄ¢È¢ê
-ÉÍCVXeÌN®ÔðZk·é½ßÉCkerflgðfalseÉú»·é¾¯
-Å\ªÅ éD
-
-(d) software_init_hookðÄÑo·
-
-J­Â«iÁÉCujÉË¶µÄKvÈú»ðs¤½ßÉC
-software_init_hookðÄÑo·Dsoftware_init_hookªpÓ³êÄ¢È¢ê
-ÍC½àµÈ¢DGNUJ­Â«ÅÍCJXNvgÌweak definitionÉ
-æèCsoftware_init_hookªpÓ³êÄ¢È¢êÌlð0Æ·é±ÆÅC±ê
-ðÀ»Å«éDweak definitionÌ@\ð½È¢J­Â«ÅÍC
-software_init_hookðK¸ÄÑo·±ÆÉ·éD
-
-software_init_hookÍC^[QbgË¶ÅpÓ·éÌªWÅ éD
-
-(e) sta_kerÖªò
-
-sta_kerðÄÑo·Dsta_kerÍCNMIð­·×ÄÌÝð}XNµ½óÔ
-iSÝbNóÔÆ¯ÌóÔjÅÄÑo³È¯êÎÈçÈ¢Dsta_ker©
-çÍ^[·é±ÆªÈ¢½ßCX^[gAbvW
-[ÉßÁÄ­é±
-ÆÍl¦éKvªÈ¢D
+excnoで指定されたCPU例外ハンドラの出入口処理の番地をexc_entryに設定する．
+
+この関数は，標準のCPU例外管理機能の初期化処理を用いた場合のみ，ターゲッ
+ト非依存部から呼び出される．CPU例外管理機能の初期化処理をターゲット依存
+部で用意し，その中でこの関数を呼び出さない場合には，この関数を用意する
+必要はない．
+
+この関数は，ターゲット非依存部のカーネル初期化処理から呼び出されるため，
+カーネルの初期化処理（NMIを除くすべての割込みがマスクされている）から呼
+び出せるように実装すればよい．
+
+指定されたCPU例外ハンドラ番号がDEF_EXCに対するものとして有効な値でない
+場合の動作は保証する必要がない（assertでエラーとするのが望ましい）．こ
+れは，コンフィギュレータが，パス2のテンプレートファイルのターゲット依存
+部で定義するEXCNO_DEFEXC_VALIDを用いてエラーを検出するためである．
+
+6.7.4 CPU例外管理機能の初期化処理の変更
+
+(6-7-4-1) OMIT_INITIALIZE_EXCEPTION（オプション）
+
+CPU例外管理機能の初期化処理をターゲット依存部で用意し，ターゲット非依存
+部に含まれる標準の割込み管理機能の初期化処理を用いない場合には，このシ
+ンボルをマクロ定義する．
+
+このシンボルをマクロ定義すると，EXCINIBとinitialize_exceptionの定義が，
+カーネルのターゲット非依存部から取り除かれる．また，TNUM_EXCNO，
+tnum_excno，excinib_tableの定義と，CPU例外ハンドラ毎の出入口処理を生成
+するための記述（EXCHDR_ENTRYマクロのリスト）を，コンフィギュレータのパ
+ス2のテンプレートファイルのターゲット非依存部によってkernel_cfg.cに生成
+されなくなる．
+
+(6-7-4-2) void initialize_exception(void)（オプション）
+
+OMIT_INITIALIZE_EXCEPTIONをマクロ定義した場合には，この関数をターゲット
+依存部で用意する．OMIT_INITIALIZE_EXCEPTIONをマクロ定義することにより取
+り除かれるその他のデータ型，変数，マクロは，この関数で使用する場合にの
+み用意すればよい．
+
+6.7.5 デフォルトのCPU例外ハンドラ
+
+(6-7-5-1) default_exc_handler(void)（オプション）
+
+コンフィギュレータによりCPU例外ハンドラのテーブルを生成する場合などには，
+CPU例外ハンドラを登録しなかったCPU例外ハンドラ番号に対して，デフォルト
+のCPU例外ハンドラとして，default_exc_handlerを登録する．
+
+default_exc_handlerは，標準のものをターゲット依存部で用意するが，ユーザ
+が用意したもので置き換えられるように，OMIT_DEFAULT_EXC_HANDLERをマクロ
+定義した場合には，ターゲット依存部で定義しないようにする．なお，ユーザ
+が用意する場合の名称は，_kernel_default_exc_handlerとなる．
+
+6.8 カーネルの起動・終了とスタック領域など
+
+(6-8-1) スタートアップモジュール
+
+カーネルのスタートアップモジュールは，システムのリセット後に最初に実行
+されるプログラムである．スタートアップモジュールは，標準的には，プロセッ
+サ依存部またはチップ依存部で用意し以下の処理を行うが，それにこだわる必
+要はない．具体的には，開発環境に用意されているスタートアップモジュール
+を用いる方法（この場合，ターゲット依存部でmain関数を用意する必要がある）
+や，アプリケーションで用意する場合が考えられる．
+
+(a) プロセッサ状態の初期化
+
+プロセッサモード，スタックポインタ，フレームポインタ等，プロセッサの状
+態を初期化する．また，NMIを除くすべての割込みをマスクした状態（全割込み
+ロック状態と同等の状態）とする．DRAMコントローラの初期化など，メモリを
+アクセスするために必要な初期化処理をここで行ってもよい（次の
+hardware_init_hookで行ってもよい）．
+
+(b) hardware_init_hookを呼び出す
+
+システムのリセット後すぐに行う必要のあるターゲットシステム依存の初期化
+処理を行うために，hardware_init_hookを呼び出す．hardware_init_hookが用
+意されていない場合は，何もしない．GNU開発環境では，リンカスクリプト中の
+weak definitionにより，hardware_init_hookが用意されていない場合の値を0
+とすることで，これを実現できる．weak definitionの機能を持たない開発環境
+では，hardware_init_hookを必ず呼び出すことにする．
+
+hardware_init_hookは，ターゲット依存部で用意するのが標準であるが，シス
+テムのリセット後すぐに行う必要のある初期化処理を追加するために，アプリ
+ケーションで用意したものを用いる場合もある．
+
+メモリアクセスに必要な初期化処理をhardware_init_hookで行う場合には，こ
+れを呼び出す時点でメモリにアクセスすることができないため，関数（サブルー
+チン）を呼び出すためにスタックを使用するプロセッサでは，戻り番地を汎用
+レジスタに入れて呼び出すといった工夫が必要である．この場合，
+hardware_init_hookをC言語で記述することはできなくなるが，やむをえない．
+
+(c) bssセクションとdataセクションの初期化
+
+bssセクションをクリアし，dataセクションに初期値を設定する．
+
+ただし，カーネル本体は，kerflgがfalse（＝0）に初期化されること以外に，
+これらのセクションが初期化されることに依存していないため，スタートアッ
+プモジュールをアプリケーションで用意する場合で，システムサービスやアプ
+リケーションがこれらのセクションが初期化されることに依存していない場合
+には，システムの起動時間を短縮するために，kerflgをfalseに初期化するだけ
+で十分である．
+
+(d) software_init_hookを呼び出す
+
+開発環境（特にライブラリ）に依存して必要な初期化処理を行うために，
+software_init_hookを呼び出す．software_init_hookが用意されていない場合
+は，何もしない．GNU開発環境では，リンカスクリプト中のweak definitionに
+より，software_init_hookが用意されていない場合の値を0とすることで，これ
+を実現できる．weak definitionの機能を持たない開発環境では，
+software_init_hookを必ず呼び出すことにする．
+
+software_init_hookは，ターゲット依存部で用意するのが標準である．
+
+(e) sta_kerへ分岐
+
+sta_kerを呼び出す．sta_kerは，NMIを除くすべての割込みをマスクした状態
+（全割込みロック状態と同等の状態）で呼び出さなければならない．sta_kerか
+らはリターンすることがないため，スタートアップモジュールに戻ってくるこ
+とは考える必要がない．
 
 (6-8-2) void target_initialize(void)
 
-^[QbgË¶Ìú»ðs¤ÖDsta_kerÌÅÅÄÑo³êéDvZb
-TE`bvEJ­Â«Ë¶Ìú»ðC»êçÌË¶ÉØèª¯é±Æ
-àÂ\Å éD
-
-±ÌÖÍC ­ÜÅàJ[lÌ^[QbgË¶Ìú»ðs¤½ß
-ÌàÌÅ éDAvP[VÉKvÈú»ÍCú»[`Ås
-¤Ìªî{Å éªCVXeÌZbgã·®És¤Kvª éêÉÍC
-hardware_init_hookðp¢éD
+ターゲット依存部の初期化を行う関数．sta_kerの最初で呼び出される．プロセッ
+サ・チップ・開発環境依存の初期化処理を，それらの依存部に切り分けること
+も可能である．
+
+この関数は，あくまでもカーネルのターゲット依存部の初期化処理を行うため
+のものである．アプリケーションに必要な初期化処理は，初期化ルーチンで行
+うのが基本であるが，システムのリセット後すぐに行う必要がある場合には，
+hardware_init_hookを用いる．
 
 (6-8-3) void call_exit_kernel(void)
 
-ñ^XNReLXgÉØè·¦ÄCexit_kernelÖªò·éÖDext_ker©
-çÄÑo³êéDexit_kernel©çÍ^[·é±ÆªÈ¢½ßC±ÌÖÉ
-ßÁÄ­é±ÆÍl¦éKvªÈ¢D
-
-ñ^XNReLXgÉØè·¦éÌÍCI¹[`ðCñ^XNR
-eLXgpÌX^bNÅÀs·é½ßÅ éDI¹[`ð^XNpÌ
-X^bNÅÀs·éÆCe^XNÌX^bNÌæÌTCYðè·éÛÉCI
-¹[`ªgp·éX^bNÌæðl¶µÈ¯êÎÈçÈ¢D±êÉÍC
-I¹[`ªgp·éX^bNÌæªå«¢êÉe^XNÌX^bN
-Ìæð³ÊÉå«­µÈ¯êÎÈçÈ¢±ÆÉÁ¦ÄCÓ}µÈ¢X^bNI[
-o[t[ª­¶·éÂ\«ðßéÆ¢¤âèª éD
-
-±ÌÖÍCSÝbNóÔÅÄÎêé½ßCSÝbNóÔ©çÄ
-Ño·±ÆªÅ«È¢ÖðÄÎÈ¢æ¤ÉÀµÈ¯êÎÈçÈ¢D
+非タスクコンテキストに切り換えて，exit_kernelへ分岐する関数．ext_kerか
+ら呼び出される．exit_kernelからはリターンすることがないため，この関数に
+戻ってくることは考える必要がない．
+
+非タスクコンテキストに切り換えるのは，終了処理ルーチンを，非タスクコン
+テキスト用のスタックで実行するためである．終了処理ルーチンをタスク用の
+スタックで実行すると，各タスクのスタック領域のサイズを決定する際に，終
+了処理ルーチンが使用するスタック領域を考慮しなければならない．これには，
+終了処理ルーチンが使用するスタック領域が大きい場合に各タスクのスタック
+領域を無駄に大きくしなければならないことに加えて，意図しないスタックオー
+バーフローが発生する可能性を高めるという問題がある．
+
+この関数は，全割込みロック状態で呼ばれるため，全割込みロック状態から呼
+び出すことができない関数を呼ばないように実装しなければならない．
 
 (6-8-4) void target_exit(void)
 
-^[QbgË¶ÌI¹ðs¤ÖD±ÌÖÍCJ[lI¹ÌÅ
-ãÉÄÑo³êC^[µÄÍÈçÈ¢DvZbTE`bvEJ­Â«Ë
-¶ÌI¹ðC»êçÌË¶ÉØèª¯é±ÆàÂ\Å éD
-
-±ÌÖÅÍCÅÉCatexitÉæÁÄo^³ê½ÖÆfXgN^ðÄÑ
-o·±ÆðÓ}µÄ¨èCWIÉÍCsoftware_term_hookðÄÑo·D
-software_term_hookªpÓ³êÄ¢È¢êÍC½àµÈ¢DGNUJ­Â«ÅÍC
-JXNvgÌweak definitionÉæèCsoftware_term_hookªpÓ³ê
-Ä¢È¢êÌlð0Æ·é±ÆÅC±êðÀ»Å«éDweak definitionÌ@
-\ð½È¢J­Â«ÅÍCsoftware_term_hookðK¸ÄÑo·±ÆÉ·éD
-
-±ÌÖÍCSÝbNóÔÅÄÎêé½ßCSÝbNóÔ©çÄ
-Ño·±ÆªÅ«È¢ÖðÄÎÈ¢æ¤ÉÀµÈ¯êÎÈçÈ¢D
-
-{Öð³À[vÅÀ·éÛÍCÈºÌ`®Æ·é±Æ(TECSÌp[TÌ
-§ÀÉí¹é½ßjD
+ターゲット依存部の終了処理を行う関数．この関数は，カーネル終了処理の最
+後に呼び出され，リターンしてはならない．プロセッサ・チップ・開発環境依
+存の終了処理を，それらの依存部に切り分けることも可能である．
+
+この関数では，最初に，atexitによって登録された関数とデストラクタを呼び
+出すことを意図しており，標準的には，software_term_hookを呼び出す．
+software_term_hookが用意されていない場合は，何もしない．GNU開発環境では，
+リンカスクリプト中のweak definitionにより，software_term_hookが用意され
+ていない場合の値を0とすることで，これを実現できる．weak definitionの機
+能を持たない開発環境では，software_term_hookを必ず呼び出すことにする．
+
+この関数は，全割込みロック状態で呼ばれるため，全割込みロック状態から呼
+び出すことができない関数を呼ばないように実装しなければならない．
+
+本関数を無限ループで実装する際は，以下の形式とすること(TECSのパーサの
+制限に合わせるため）．
 
 void
@@ -2093,5 +2022,5 @@
 	
 	/*
-	 * ^[QbgË¶Ì
+	 * ターゲット依存の処理
 	 */
 	
@@ -2103,164 +2032,163 @@
 
 
-6.9 J[làÌ`
-[jO
-
-6.9.1 rbg}bvT[`
-
-(6-9-1-1) OMIT_BITMAP_SEARCHiIvVj
-(6-9-1-2) uint_t bitmap_search(uint16_t bitmap)iIvVj
-
-^[QbgñË¶ÅCuint16_t^Ì®libitmapjÌ1ÌrbgÌàCÅ
-àºÊiEjÌàÌðT[`µC»ÌrbgÔðÔ·Öbitmap_searchðp
-ÓµÄ¢éD±±ÅCrbgÔÍÅºÊrbgð0ÆµCbitmapÉ0ðwèµ
-ÄÍÈçÈ¢àÌÆµÄ¢éD
-
-rbgT[`½ßðÂvZbTÅÍCbitmap_searchðCrbgT[`½ß
-ðg¤æ¤É«¼µ½ûªø¦ªÇ¢êª éD±Ìæ¤ÈêÉÍC^[
-QbgË¶ÅrbgT[`½ßðgÁ½bitmap_searchðè`µC
-OMIT_BITMAP_SEARCHð}Nè`·éD
-
-WCuÉrbgT[`½ßðp¢½ffsª éêCbitmap_searchð
-(ffs(bitmap) - 1)Éè`·éÆæ¢D
-
-(6-9-1-3) uint16_t PRIMAP_BIT(PRI pri)iIvVj
-
-rbgT[`½ßÌT[`ûüªtÈÇÌRÅCDæxÆrbgÆÌÎð
-ÏXµ½¢êÉÍCPRIMAP_BITð}Nè`·éD
-
-6.10 J[lÀÉÖ·é»Ì¼Ìè`
-
-6.10.1 ñ^XNReLXgpÌX^bNÌæ
+6.9 カーネル内部のチューニング
+
+6.9.1 ビットマップサーチ
+
+(6-9-1-1) OMIT_BITMAP_SEARCH（オプション）
+(6-9-1-2) uint_t bitmap_search(uint16_t bitmap)（オプション）
+
+ターゲット非依存部で，uint16_t型の整数値（bitmap）中の1のビットの内，最
+も下位（右）のものをサーチし，そのビット番号を返す関数bitmap_searchを用
+意している．ここで，ビット番号は最下位ビットを0とし，bitmapに0を指定し
+てはならないものとしている．
+
+ビットサーチ命令を持つプロセッサでは，bitmap_searchを，ビットサーチ命令
+を使うように書き直した方が効率が良い場合がある．このような場合には，ター
+ゲット依存部でビットサーチ命令を使ったbitmap_searchを定義し，
+OMIT_BITMAP_SEARCHをマクロ定義する．
+
+標準ライブラリにビットサーチ命令を用いたffsがある場合，bitmap_searchを
+(ffs(bitmap) - 1)に定義するとよい．
+
+(6-9-1-3) uint16_t PRIMAP_BIT(PRI pri)（オプション）
+
+ビットサーチ命令のサーチ方向が逆などの理由で，優先度とビットとの対応を
+変更したい場合には，PRIMAP_BITをマクロ定義する．
+
+6.10 カーネル実装に関するその他の定義
+
+6.10.1 非タスクコンテキスト用のスタック領域
 
 (6-10-1-1) DEFAULT_ISTKSZ
 
-DEF_ICSÉæèñ^XNReLXgpÌX^bNÌæªwè³êÈ¢êÌC
-ftHgÌX^bNÌæÌTCYD
-
-¦
-(6-10-1-2) DEFAULT_ISTKiIvVj
-
-DEF_ICSÉæèñ^XNReLXgpÌX^bNÌæªwè³êÈ¢êÌC
-ftHgÌX^bNÌæÌæªÔnD±Ì}Nªè`³êÈ¢êÉÍC
-TCYªDEFAULT_ISTKSZÌX^bNÌæªCzñÉæèmÛ³êéD
-
-(6-10-1-3) STK_T *TOPPERS_ISTKPT(STK_T *istk, SIZE istksz)iIvVj
-
-ñ^XNReLXgpÌX^bN|C^ÌúlðÛ·éÏiistkptj
-ðp¢éêÉC±ÌV{ÉCX^bNÌæÌæªÔniistkjÆX^b
-NÌæÌTCYiistkszj©çCX^bN|C^Ìúlðßé}Nð
-è`·éD
-
-6.10.2 óxÌè`
-
-(6-10-2-1) TOPPERS_EMPTY_LABEL(type, symbol)iIvVj
-
-NG[ðh®½ßÉCf[^^typeÌzñÅ éÏsymbolÉè`ð^
-¦é½ßÌ}ND^¦½è`ªQÆ³êé±ÆÍÈ¢½ßCÇÌæ¤Èè`
-ð^¦Äàæ¢D
-
-ftHgÅÍCsymbolðCvf^ªtypeÅTCYª0ÌzñÉè`µÄ¢éD
-TCYª0ÌzñªG[ÆÈçÈ¢RpCiGCCÍ±êÉYjðp¢é
-êÉÍC^[QbgË¶Åè`·éKvÍÈ¢D
-
-6.11 g[XO@\ÉÖ·éÝè
-
-SSPJ[lÌ\[XR[hÉÍCJ[lÌÀsg[XOðæ¾·é½ß
-Ì}NªßñÅ éDftHgÅÍC±êçÌ}NÍóÉè`³
-êÄg[XOÌæ¾ÍsíÈ¢ªC±êçÌ}NðKØÉè`·é±Æ
-Åg[XOÌæ¾ðs¤±ÆªÅ«éD
-
-6.11.1 æ¾Å«ég[XOÌíÞÆ}N
-
-æ¾Å«ég[XOÌíÞÆC»êðæ¾·é½ßÉè`·é}NÍ
-ÌÊèÅ éD
-
-(a) J[lÌ®ìJnÆI¹
-
-Ì}Nðè`·é±ÆÅCJ[lÌ®ìJnÆI¹Ìg[XO
-ðæ¾·é±ÆªÅ«éD
-
-	LOG_KER_ENTER		J[lª®ìðJn·é¼Oiú»Ì®¹ãj
-	LOG_KER_LEAVE		J[lÌI¹iext_kerjªÄÎê½¼ãiI¹
-						ÌÀsOj
-
-(b) PÊÌÀsJnÆI¹
-
-Ì}Nðè`·é±ÆÅCÝnhiINHjCÝT[rX[`
-iISRjCüúnhiCYCjCA[nhiALMjCCPUáOnh
-iEXCjC^XNáO[`iTEXjÌÀsJnOÆI¹ãÌg[X
-Oðæ¾·é±ÆªÅ«éD
-
-	LOG_<PÊª>_ENTER	PÊÌÀsJn¼O
-	LOG_<PÊª>_LEAVE	PÊÌI¹¼ã
-
-ÝnhÍCAvP[Vªo^µ½àÌÌÝðÎÛÆµCÝ
-T[rX[`ðÄÑo·½ßÉJ[làÉ¶¬³êéàÌÍÎÛÆµÈ
-¢D^XNÌÀsJnÆI¹ÍC¼Ìû@Åæ¾Å«é½ßC±Ìû@ÍpÓ
-µÄ¢È¢D
-
-È¨CÝnhÆCPUáOnhÌÀsJnÆI¹Ìg[XOæ¾
-ÍC^[QbgË¶ÅÀ·éKvª éDÚµ­ÍCu6.2 g[XO
-@\ÖÌÎvu6.6.1 ÝnhÌoüûvu6.7.2 CPUáOnh
-ÌoüûvÌßðQÆ·é±ÆD
-
-(c) ^XNóÔÌÏ»
-
-Ì}Nðè`·é±ÆÅC^XNóÔªÏ»µ½Ìg[XOðæ¾
-·é±ÆªÅ«éD½¾µCÀsóÔÆÀsÂ\óÔÌÔÌJÚÍC¼Ìû@
-Åæ¾Å«é½ßC±Ì}NÅÍæ¾Å«È¢D
-
-	LOG_TSKSTAT		^XNóÔÌÏ»
-
-(d) fBXpb`ÌÀsJnÆI¹
-
-Ì}Nðè`·é±ÆÅCfBXpb`ªÀsJn·éÆCI¹·é
-Ìg[XOðæ¾·é±ÆªÅ«éD
-
-	LOG_DSP_ENTER	fBXpb`ÌÀsJn
-	LOG_DSP_LEAVE	fBXpb`ÌI¹
-
-fBXpb`ÌÀsJnÍC^XNªÀsóÔ©çÀsÂ\óÔÉJÚ·é
-^C~OÅ é½ßCÀsÂ\óÔÖJÚ·é^XNÌTCBÖÌ|C^ðp
-[^Æ·éDtÉCfBXpb`ÌI¹ÍC^XNªÀsÂ\óÔ©ç
-ÀsóÔÉJÚ·é^C~OÅ é½ßCÀsóÔÖJÚ·é^XNÌTCBÖ
-Ì|C^ðp[^Æ·éD
-
-SSPJ[lÅÍCÀsÅ«é^XNªÈ­CJ[lªAChóÔÉÈéê
-ÉÍCfBXpb`ÌÉ¯ÜéD»Ì½ßCAChóÔÖÌJÚÆA
-ChóÔ©ç¼ÌóÔÖÌJÚÍC±Ì}NÅÍæ¾Å«È¢D
-
-È¨CfBXpb`ÌÀsJnÆI¹Ìg[XOæ¾ÍC^[QbgË
-¶ÅÀ·éKvª éDÚµ­ÍCÆu6.5.2 fBXpb`{ÌvÌßð
-QÆ·é±ÆD
-
-(e) T[rXR[ÌüûÆoû
-
-Ì}Nðè`·é±ÆÅCeT[rXR[ÌüûÆoûÌg[XO
-ðæ¾·é±ÆªÅ«éD
-
-	LOG_<T[rXR[Ìå¶\L>_ENTER		T[rXR[¼Ìüû
-	LOG_<T[rXR[Ìå¶\L>_LEAVE		T[rXR[¼Ìoû
-
-»ê¼êÌ}NÌ¼Ìâp[^ÌÚ×ÉÂ¢ÄÍCJ[lÌ\[XR[
-hðQÆ·é±ÆD
-
-6.12 J[lÀÌ^[QbgË¶Ì½ßÌl[Lq
-
-J[làÉÂ¶ÄgíêéÖâÏÈÇÌ¼ÌÅCIuWFNgt@C
-ÌV{\Éo^³êÄO©çQÆÅ«é¼ÌÍCC¾êxÅCæª
-ª"_kernel_"Ü½Í"_KERNEL_"Å é¼ÌÆµÈ¯êÎÈçÈ¢ªCSSPJ[l
-ÅÍC\[XR[hðRpNgÉÛ¿ÂÂ±êðÀ»·é½ßÉCl[
-Lqt@Cð±üµÄ¢éD
-
-ïÌIÉÍCl[·×«¼ÌðXgAbvµ½xxx_rename.defðpÓµC
-±Ìt@C©çc[iutils/genrenamejÉæèC¼Ìðl[·é½ß
-Ì}Nè`ðÜÞxxx_rename.hÆC»êçÌ}Nè`ðð·é½ßÌ
-xxx_unrename.hð¶¬·éDc[ÌN®û@ÍÌÊèÅ éD
+DEF_ICSにより非タスクコンテキスト用のスタック領域が指定されない場合の，
+デフォルトのスタック領域のサイズ．
+
+※
+(6-10-1-2) DEFAULT_ISTK（オプション）
+
+DEF_ICSにより非タスクコンテキスト用のスタック領域が指定されない場合の，
+デフォルトのスタック領域の先頭番地．このマクロが定義されない場合には，
+サイズがDEFAULT_ISTKSZのスタック領域が，配列により確保される．
+
+(6-10-1-3) STK_T *TOPPERS_ISTKPT(STK_T *istk, SIZE istksz)（オプション）
+
+非タスクコンテキスト用のスタックポインタの初期値を保持する変数（istkpt）
+を用いる場合に，このシンボルに，スタック領域の先頭番地（istk）とスタッ
+ク領域のサイズ（istksz）から，スタックポインタの初期値を求めるマクロを
+定義する．
+
+6.10.2 空ラベルの定義
+
+(6-10-2-1) TOPPERS_EMPTY_LABEL(type, symbol)（オプション）
+
+リンクエラーを防ぐために，データ型typeの配列である変数symbolに定義を与
+えるためのマクロ．与えた定義が参照されることはないため，どのような定義
+を与えてもよい．
+
+デフォルトでは，symbolを，要素型がtypeでサイズが0の配列に定義している．
+サイズが0の配列がエラーとならないコンパイラ（GCCはこれに該当）を用いる
+場合には，ターゲット依存部で定義する必要はない．
+
+6.11 トレースログ機能に関する設定
+
+SSPカーネルのソースコードには，カーネルの実行トレースログを取得するため
+のマクロ等が埋め込んである．デフォルトでは，これらのマクロは空に定義さ
+れてトレースログの取得は行わないが，これらのマクロを適切に定義すること
+でトレースログの取得を行うことができる．
+
+6.11.1 取得できるトレースログの種類とマクロ
+
+取得できるトレースログの種類と，それを取得するために定義するマクロは次
+の通りである．
+
+(a) カーネルの動作開始と終了
+
+次のマクロを定義することで，カーネルの動作開始時と終了時のトレースログ
+を取得することができる．
+
+	LOG_KER_ENTER		カーネルが動作を開始する直前（初期化の完了後）
+	LOG_KER_LEAVE		カーネルの終了（ext_ker）が呼ばれた直後（終了処
+						理の実行前）
+
+(b) 処理単位の実行開始と終了
+
+次のマクロを定義することで，割込みハンドラ（INH），割込みサービスルーチ
+ン（ISR），周期ハンドラ（CYC），アラームハンドラ（ALM），CPU例外ハンド
+ラ（EXC），タスク例外処理ルーチン（TEX）の実行開始前と終了後のトレース
+ログを取得することができる．
+
+	LOG_<処理単位略号>_ENTER	処理単位の実行開始直前
+	LOG_<処理単位略号>_LEAVE	処理単位の終了直後
+
+割込みハンドラは，アプリケーションが登録したもののみを対象とし，割込み
+サービスルーチンを呼び出すためにカーネル内に生成されるものは対象としな
+い．タスクの実行開始と終了は，他の方法で取得できるため，この方法は用意
+していない．
+
+なお，割込みハンドラとCPU例外ハンドラの実行開始と終了のトレースログ取得
+は，ターゲット依存部で実装する必要がある．詳しくは，「6.2 トレースログ
+機能への対応」「6.6.1 割込みハンドラの出入口処理」「6.7.2 CPU例外ハンド
+ラの出入口処理」の節を参照すること．
+
+(c) タスク状態の変化
+
+次のマクロを定義することで，タスク状態が変化した時のトレースログを取得
+することができる．ただし，実行状態と実行可能状態の間の遷移は，他の方法
+で取得できるため，このマクロでは取得できない．
+
+	LOG_TSKSTAT		タスク状態の変化
+
+(d) ディスパッチャの実行開始と終了
+
+次のマクロを定義することで，ディスパッチャが実行開始する時と，終了する
+時のトレースログを取得することができる．
+
+	LOG_DSP_ENTER	ディスパッチャの実行開始
+	LOG_DSP_LEAVE	ディスパッチャの終了
+
+ディスパッチャの実行開始は，タスクが実行状態から実行可能状態に遷移する
+タイミングであるため，実行可能状態へ遷移するタスクのTCBへのポインタをパ
+ラメータとする．逆に，ディスパッチャの終了は，タスクが実行可能状態から
+実行状態に遷移するタイミングであるため，実行状態へ遷移するタスクのTCBへ
+のポインタをパラメータとする．
+
+SSPカーネルでは，実行できるタスクがなく，カーネルがアイドル状態になる場
+合には，ディスパッチャの中に留まる．そのため，アイドル状態への遷移とア
+イドル状態から他の状態への遷移は，このマクロでは取得できない．
+
+なお，ディスパッチャの実行開始と終了のトレースログ取得は，ターゲット依
+存部で実装する必要がある．詳しくは，と「6.5.2 ディスパッチャ本体」の節を
+参照すること．
+
+(e) サービスコールの入口と出口
+
+次のマクロを定義することで，各サービスコールの入口と出口のトレースログ
+を取得することができる．
+
+	LOG_<サービスコールの大文字表記>_ENTER		サービスコール名の入口
+	LOG_<サービスコールの大文字表記>_LEAVE		サービスコール名の出口
+
+それぞれのマクロの名称やパラメータの詳細については，カーネルのソースコー
+ドを参照すること．
+
+6.12 カーネル実装のターゲット依存部のためのリネーム記述
+
+カーネル内部に閉じて使われる関数や変数などの名称で，オブジェクトファイ
+ルのシンボル表に登録されて外部から参照できる名称は，C言語レベルで，先頭
+が"_kernel_"または"_KERNEL_"である名称としなければならないが，SSPカーネ
+ルでは，ソースコードをコンパクトに保ちつつこれを実現するために，リネー
+ム記述ファイルを導入している．
+
+具体的には，リネームすべき名称をリストアップしたxxx_rename.defを用意し，
+このファイルからツール（utils/genrename）により，名称をリネームするため
+のマクロ定義を含むxxx_rename.hと，それらのマクロ定義を解除するための
+xxx_unrename.hを生成する．ツールの起動方法は次の通りである．
 
 	% genrename xxx
 
-xxx_rename.defÉÍCl[·×«¼Ìð1sÉ1ÂLq·éDxxxxÆ¢¤¼
-ÌªLq³êÄ¢éêCxxx_rename.hÉÍÌæ¤ÈLqª¶¬³êéD
+xxx_rename.defには，リネームすべき名称を1行に1つ記述する．xxxxという名
+称が記述されている場合，xxx_rename.hには次のような記述が生成される．
 
 #define xxxx				_kernel_xxxx
@@ -2269,5 +2197,5 @@
 #endif /* TOPPERS_LABEL_ASM */
 
-Ü½Cxxx_unrename.hÉÍÌæ¤ÈLqª¶¬³êéD
+また，xxx_unrename.hには次のような記述が生成される．
 
 #undef xxxx
@@ -2276,81 +2204,79 @@
 #endif /* TOPPERS_LABEL_ASM */
 
-xxx_rename.defÌÉÍC¼Ìl[LqðæèÞ½ßÉCuINCLUDE
-"yyy"vÜ½ÍuINCLUDE <yyy>vÆ¢¤LqðÜßé±ÆªÅ«éD±ÌLq
-ª³êÄ¢éêCxxx_rename.hÉÍu#include "yyy_rename.h"vÜ½Í
-u#include <yyy_rename.h>vÆ¢¤LqªCxxx_unrename.hÉÍu#include
-"yyy_unrename.h"vÜ½Íu#include <yyy_unrename.h>vÆ¢¤Lqª¶¬³
-êéD
-
-xxx_rename.defÌÌ"#"ÅnÜésÍRgÆµÄÇÝòÎ³êéDÜ½C
-ósà³³êéD
-
-J[lÌ^[QbgñË¶Ågíêé¼Ìðl[·é½ßÉCkernel
-fBNgÉCkernel_rename.defÆC»±©ç¶¬µ½kernel_rename.h¨
-æÑkernel_unrename.hªpÓ³êÄ¢éDkernel_rename.defÉÍC
-uINCLUDE "target"vÆ¢¤LqªÜÜêÄ¨èC^[QbgË¶Ìl[
-LqðæèÞæ¤ÉÈÁÄ¢éD^[QbgË¶Åè`µC^[Qbg
-ñË¶ÅQÆ³êé¼ÌÍC^[QbgË¶Ìl[LqÉÜßéD
-
-^[QbgË¶ÅÍC^[QbgË¶Ågíêé¼Ìðl[·é½ß
-ÉCtarget_rename.defÆC»±©ç¶¬µ½target_rename.h¨æÑ
-target_unrename.hðpÓ·éD^[QbgË¶©çvZbTE`bvEJ
-­Â«Ë¶ðØèª¯éêÉÍCtarget_rename.defÉINCLUDELqðüêC
-vZbTE`bvEJ­Â«Ë¶Ìl[LqðæèÞæ¤É·éD
-
-6.13 ^C}hCo
-
-^C}hCoÍCJ[lÉ^CeBbNðÊm·é½ßÌ^C}hC
-oÅ éD
-
-6.13.1 ^C}hCoÌt@C\¬
-
-^C}hCoðgÝÞ½ßÌÃIAPIðLqµ½VXeRtBM
-[
-Vt@CðCtarget_timer.cfgÉpÓ·éD±Ìt@CÉÍC^C}
-hCoðú»·é½ßÌú»[`ÌÇÁC^C}hCoðI¹³
-¹é½ßÌI¹[`ÌÇÁC^C}ÝÌ½ßÌÝnhÌ
-è`iÜ½ÍCÝT[rX[`ÌÇÁjC^C}ÝÌ½ßÌ
-ÝvCÌ®«ÌÝèÌÃIAPIÈÇðÜÞ±ÆÉÈéD
-
-^C}hCoðÄÑo·½ßÉKvÈè`ðÜÞwb_t@CðC
-target_timer.hÉpÓ·éDÜ½C^C}hCoÌÀt@Cð
-target_timer.cÉpÓ·éD
-
-^CeBbNÌÊmÉæès¤Ì½­ÍC^XNÌN®âÒ¿ððs
-¤àÌÅ é½ßC^C}ÝÌÝDæxÍCÝÌÅÅáÌDæ
-xÅ\ªÅ éD½¾µCüúnhâA[nhÌÀsJnxêª
-âèÉÈéêÉÍC^C}ÝÌÝDæxðæè¢lÉÝèµ½¢D
-»±ÅC^C}ÝÌÝDæxðÏX·éû@ðC^[QbgË¶Ì
-[U[Y}j
-AÉLÚ·×«Å éD
-
-6.13.2 ^C}Ìú»EI¹EÝ
+xxx_rename.defの中には，他のリネーム記述を取り込むために，「INCLUDE
+"yyy"」または「INCLUDE <yyy>」という記述を含めることができる．この記述
+がされている場合，xxx_rename.hには「#include "yyy_rename.h"」または
+「#include <yyy_rename.h>」という記述が，xxx_unrename.hには「#include
+"yyy_unrename.h"」または「#include <yyy_unrename.h>」という記述が生成さ
+れる．
+
+xxx_rename.defの中の"#"で始まる行はコメントとして読み飛ばされる．また，
+空行も無視される．
+
+カーネルのターゲット非依存部で使われる名称をリネームするために，kernel
+ディレクトリに，kernel_rename.defと，そこから生成したkernel_rename.hお
+よびkernel_unrename.hが用意されている．kernel_rename.defには，
+「INCLUDE "target"」という記述が含まれており，ターゲット依存部のリネー
+ム記述を取り込むようになっている．ターゲット依存部で定義し，ターゲット
+非依存部で参照される名称は，ターゲット依存部のリネーム記述に含める．
+
+ターゲット依存部では，ターゲット依存部で使われる名称をリネームするため
+に，target_rename.defと，そこから生成したtarget_rename.hおよび
+target_unrename.hを用意する．ターゲット依存部からプロセッサ・チップ・開
+発環境依存部を切り分ける場合には，target_rename.defにINCLUDE記述を入れ，
+プロセッサ・チップ・開発環境依存部のリネーム記述を取り込むようにする．
+
+6.13 タイマドライバ
+
+タイマドライバは，カーネルにタイムティックを通知するためのタイマドライ
+バである．
+
+6.13.1 タイマドライバのファイル構成
+
+タイマドライバを組み込むための静的APIを記述したシステムコンフィギュレー
+ションファイルを，target_timer.cfgに用意する．このファイルには，タイマ
+ドライバを初期化するための初期化ルーチンの追加，タイマドライバを終了さ
+せるための終了処理ルーチンの追加，タイマ割込みのための割込みハンドラの
+定義（または，割込みサービスルーチンの追加），タイマ割込みのための割込
+み要求ラインの属性の設定の静的APIなどを含むことになる．
+
+タイマドライバを呼び出すために必要な定義を含むヘッダファイルを，
+target_timer.hに用意する．また，タイマドライバの実装ファイルを
+target_timer.cに用意する．
+
+タイムティックの通知により行う処理の多くは，タスクの起動や待ち解除を行
+うものであるため，タイマ割込みの割込み優先度は，割込みの中で最低の優先
+度で十分である．ただし，周期ハンドラやアラームハンドラの実行開始遅れが
+問題になる場合には，タイマ割込みの割込み優先度をより高い値に設定したい．
+そこで，タイマ割込みの割込み優先度を変更する方法を，ターゲット依存部の
+ユーザーズマニュアルに記載すべきである．
+
+6.13.2 タイマの初期化・終了処理・割込み処理
 
 (6-13-2-1) void target_timer_initialize(intptr_t exinf)
 
-^C}ðú»µC^C}ÝðüúIÉ­¶³¹éÖD^C}ÝÌ
-üúÍCTIC_NUMEÆTIC_DENOÅwè³ê½ÔÆêv³¹éiu5.3 ^C
-eBbNÌè`vÌßðQÆjD
-
-±ÌÖÍCtarget_timer.cfgÉLq·éÃIAPIÉæèCú»[`Æ
-µÄJ[lÉo^·é±ÆðzèµÄ¢éD
+タイマを初期化し，タイマ割込みを周期的に発生させる関数．タイマ割込みの
+周期は，TIC_NUMEとTIC_DENOで指定された時間と一致させる（「5.3 タイム
+ティックの定義」の節を参照）．
+
+この関数は，target_timer.cfg中に記述する静的APIにより，初期化ルーチンと
+してカーネルに登録することを想定している．
 
 (6-13-2-2) void target_timer_terminate(intptr_t exinf)
 
-^C}Ì®ìðâ~³¹C^C}Ýð­¶µÈ¢æ¤É·éÖD
-
-±ÌÖÍCtarget_timer.cfgÉLq·éÃIAPIÉæèCI¹[`
-ÆµÄJ[lÉo^·é±ÆðzèµÄ¢éD
+タイマの動作を停止させ，タイマ割込みを発生しないようにする関数．
+
+この関数は，target_timer.cfg中に記述する静的APIにより，終了処理ルーチン
+としてカーネルに登録することを想定している．
 
 (6-13-2-3) void target_timer_handler(void)
-    Ü½Í void target_timer_isr(intptr_t exinf)
-
-^C}ÝÉæèN®³êéÝvODÝnhÆµÄ
-À»·éêÉÍtarget_timer_handlerCÝT[rX[`ÆµÄÀ»
-·éêÉÍtarget_timer_isrÌ¼ÌÆ·éD^[QbgñË¶Ì
-signal_timeðÄÑo·D
-
-target_timer_handlerÍCWIÉÍÌæ¤Éè`·éD
+    または void target_timer_isr(intptr_t exinf)
+
+タイマ割込みにより起動される割込み処理プログラム．割込みハンドラとして
+実現する場合にはtarget_timer_handler，割込みサービスルーチンとして実現
+する場合にはtarget_timer_isrの名称とする．ターゲット非依存部の
+signal_timeを呼び出す．
+
+target_timer_handlerは，標準的には次のように定義する．
 
 ----------------------------------------
@@ -2358,240 +2284,226 @@
 target_timer_handler(void)
 {
-	i_begin_int(<^C}ÝÌÝÔ>);
+	i_begin_int(<タイマ割込みの割込み番号>);
 	signal_time();
-	i_end_int(<^C}ÝÌÝÔ>);
+	i_end_int(<タイマ割込みの割込み番号>);
 }
 ----------------------------------------
 
-±ÌÖÍCtarget_timer.cfgÉLq·éÃIAPIÉæèCÝnhÜ
-½ÍÝT[rX[`ÆµÄJ[lÉo^·é±ÆðzèµÄ¢éD
-
-6.13.3 «\]¿pVXeÌQÆÌ½ßÌ@\
-
-«\]¿pVXeÌQÆ@\iget_utmjðT|[g·éêÉÍC^C
-}hCoÅCÈºÌf[^^âÖÈÇðpÓ·éD
+この関数は，target_timer.cfg中に記述する静的APIにより，割込みハンドラま
+たは割込みサービスルーチンとしてカーネルに登録することを想定している．
+
+6.13.3 性能評価用システム時刻の参照のための機能
+
+性能評価用システム時刻の参照機能（get_utm）をサポートする場合には，タイ
+マドライバで，以下のデータ型や関数などを用意する．
 
 (6-13-3-1) CLOCK
 
-^C}lÌà\»Ì½ßÌf[^^D
+タイマ値の内部表現のためのデータ型．
 
 (6-13-3-2) CLOCK target_timer_get_current(void)
 
-^C}Ì»ÝlðÇÝoµCà\»ÅÔ·ÖD^C}lÍCÔÌoßÆ
-ÆàÉÁ·é±ÆðzèµÄ¢éDn[hEFAÌ^C}ªC^C}lª¸
-­·éàÌÅ éêÉÍC±ÌÖàÅÁ·élÆÈéæ¤ÉÏ··éD
+タイマの現在値を読み出し，内部表現で返す関数．タイマ値は，時間の経過と
+ともに増加することを想定している．ハードウェアのタイマが，タイマ値が減
+少するものである場合には，この関数内で増加する値となるように変換する．
 
 (6-13-3-3) bool_t target_timer_probe_int(void)
 
-^C}Ývð`FbN·éÖD^C}Ýªv³êÄ¢éêÉ
-trueCv³êÄ¢È¢êÉfalseðÔ·D
+タイマ割込み要求をチェックする関数．タイマ割込みが要求されている場合に
+true，要求されていない場合にfalseを返す．
 
 (6-13-3-4) TO_USEC(clock)
 
-^C}lÌà\»ðC1ÊbPÊÉÏ··é½ßÌ}NiÜ½ÍÖjD
-targettimer_get_currentÅÇÝoµ½lðC^C}Ý­¶©çÌoßÔ
-iPÊ: 1ÊbjÉÏ··é½ßÉp¢éD
-
-7. RtBM
-[^Ýèt@CÌ^[QbgË¶
-
-7.1 Ýèt@CÆ^[QbgË¶ÌÊut¯
-
-SSPJ[lÌRtBM
-[^ÍCÝèt@CÌLqÉ]ÁÄt@CÌ
-¶¬¨æÑG[`FbNðs¤DRtBM
-[^ÌÝèt@CÉÍC
-ÈºÌ4Âª éD
-
-(a) ÃIAPIe[u
-
-ÃIAPIÌêÆCeÃIAPIÌp[^ÉÂ¢ÄLqµ½t@CDÃI
-APIðg£·éêÈOÍÏX·éKvªÈ¢½ßC^[QbgñË¶ÅpÓ
-µÄ¢éikernel/kernel_api.csvjD
-
-(b) læ¾V{e[u
-
-RtBM
-[^ÌpX1É¨¢ÄCp[^vZpC¾êt@CÉoÍ
-µClðß½¢V{iêÊÉÍ®jðLq·é½ßÌt@CD^[Qb
-gñË¶ÅÍC^[QbgÉË¶¹¸ÉKvÆÈéV{ðLqµ½t@
-CðpÓµÄ¢éikernel/kernel_def.csvjD
-
-^[QbgÉË¶µÄKvÆÈéV{ª éêÉÍCtargetfBNg
-Éu©ê½target_def.csvÉLq·éDtarget_def.csvÉLqµÄlð
-ßé±ÆªÅ«éV{ÍCkernel/kernel_int.h¨æÑ»±©çCN[
-h³êét@CÅè`³êÄ¢È¯êÎÈçÈ¢Dkernel_int.h©çÍC
-target_stddef.hCtarget_kernel.hCtarget_config.hðiÔÚIÉjCN[
-hµÄ¢é½ßC±êçÌt@C¨æÑ»±©çCN[h³êét@C
-Åè`³êé^[QbgË¶ÌV{ÍCtarget_def.csvÉLq·é±
-ÆªÅ«éD
-
-±±Ålðß½V{ÌlÍCRtBM
-[^ÌpX2¨æÑpX3Ì
-ev[gt@CÅQÆ·é±ÆªÅ«éD
-
-(c) pX2Ìev[gt@C
-
-RtBM
-[^ÌpX2ÍCev[gt@CÉ]ÁÄCJ[lÌ\
-¬Eú»t@Cikernel_cfg.cjC\¬Eú»wb_t@C
-ikernel_cfg.hjÈÇð¶¬·éD±Ìev[gt@CÍC^[Qbg
-ñË¶Æ^[QbgË¶ÉØèª¯Ä éªC¼Ìt@CÌ^[Qbg
-Ë¶ÆÍtÉC^[QbgË¶©ç^[QbgñË¶ðCN[h·
-é`ÉÈÁÄ¢éD
-
-ïÌIÉÍCtargetfBNgÉu©ê½target.tfÅCKvÈÏðè`µ
-½ãCev[gt@CÌ^[QbgñË¶ikernel/kernel.tfjðC
-N[h·éDkernel.tfÅÍCJ[lÌ^[QbgñË¶Ågp·éÏ
-è`ð¶¬·éDkernel.tfðCN[hµ½ãCtarget.tfÅÍCJ[
-lÌ^[QbgË¶Ågp·éÏè`ð¶¬·éDtarget.tf©çCv
-ZbTË¶C`bvË¶ðCJ­Â«Ë¶ðØèª¯Äàæ¢D
-
-(d) pX3Ìev[gt@C
-
-RtBM
-[^ÌpX3ÍCev[gt@CÉ]ÁÄCÃIAPIÌê
-Êè®p[^Ì`FbNðs¤D±Ìev[gt@CàC^[Qb
-gñË¶Æ^[QbgË¶ÉØèª¯Ä èC^[QbgË¶©ç^[
-QbgñË¶ðCN[h·é`ÉÈÁÄ¢éD
-
-ïÌIÉÍCtargetfBNgÉu©ê½target_check.tfÅCKvÈÏð
-è`µ½ãCev[gt@CÌ^[QbgñË¶
-ikernel/kernel_check.tfjðCN[h·éDkernel_check.tfÅÍCJ[
-lÌ^[QbgñË¶Åú»ubNÉoÍµ½êÊè®p[^
-Ì`FbNðs¤Dkernel_check.tfðCN[hµ½ãCtarget_check.tf
-ÅÍC^[QbgÉË¶·é`FbNðs¤Dtarget_check.tf©çCvZb
-TË¶C`bvË¶ðCJ­Â«Ë¶ðØèª¯Äàæ¢D
-
-È¨CRtBM
-[^ÌÚ×dlÆÝèt@CÌLqû@ÉÂ¢ÄÍC
-ÊrPDFt@CÌ`ÅzzµÄ¢éuTOPPERSV¢ãJ[lpRtBM
-
-[^dlv¨æÑuTOPPERSV¢ãJ[lpRtBM
-[^à }N
-vZbTdlvðQÆ·é±ÆD
-
-7.2 pX2Ìev[gt@CÌ^[QbgË¶
-
-ÈºÅÍCpX2Ìev[gt@CÌ^[QbgË¶ðLq·éãÅK
-vÈÉÂ¢Äà¾·éD
-
-7.2.1 ^[QbgñË¶ðCN[h·éOÉè`·×«Ï
-
-target.tf©çkernel.tfðCN[h·éOÉCÌÏðè`µÄ¨©È
-¯êÎÈçÈ¢D
-
-(7-2-1) INTNO_ATTISR_VALID		ATT_ISRÅgpÅ«éÝÔ
-(7-2-2) INHNO_ATTISR_VALID		INTNO_ATTISR_VALIDÉÎ·énhÔ
-(7-2-3) INHNO_DEFINH_VALID		DEF_INTÅgpÅ«éÝnhÔ
-(7-2-4) EXCNO_DEFEXC_VALID		DEF_EXCÅgpÅ«éCPUáOnhÔ
-(7-2-5) INTNO_CFGINT_VALID		CFG_INTÅgpÅ«éÝÔ
-(7-2-6) INTPRI_CFGINT_VALID		CFG_INTÅgpÅ«éÝDæx
-
-APIÅgpÅ«éÝÔ^ÝnhÔ^CPUáOnhÔ^
-ÝDæxÌXgðCeÏÉè`·éDINHNO_ATTISR_VALIDÉÍC
-INTNO_ATTISR_VALIDÉXgAbvµ½ÝÔÉÎ·éÝnh
-ÔÌXgðè`·éD
-
-(7-2-7) TARGET_TSKATRiIvVj		^[Qbgè`Ì^XN®«
-(7-2-8) TARGET_ISRATRiIvVj		^[Qbgè`ÌISR®«
-(7-2-9) TARGET_INHATRiIvVj		^[Qbgè`ÌÝnh®«
-(7-2-10) TARGET_INTATRiIvVj	^[Qbgè`ÌÝ®«
-(7-2-11) TARGET_EXCATRiIvVj	^[Qbgè`ÌCPUáOnh®«
-
-eIuWFNgÌ®«ðC^[Qbgè`Ég£·éêÉCY·éIuWF
-Ng®«ð¦·ÏÉCg£Égp·érbgÌ_aðè`·éD±êÉæ
-èCg£Égp·érbgªÝè³êÄ¢éêÉCG[ÉÈéÌðh®D
-
-(7-2-12) INTNO_FIX_KERNELiIvVj		J[lÇÉÅè³êÄ¢é
-											ÝÔ
-(7-2-13) INHNO_FIX_KERNELiIvVj		J[lÇÉÅè³êÄ¢é
-		 									ÝnhÔ
-(7-2-14) INHNO_FIX_NONKERNELiIvVj	J[lÇOÉÅè³êÄ¢é
-											ÝÔ
-(7-2-15) INHNO_FIX_NONKERNELiIvVj	J[lÇOÉÅè³êÄ¢é
-		 									ÝnhÔ
-
-J[lÇÜ½ÍJ[lÇOÉÅè³êÄ¢éÝª éêÉÍC
-»êçÌÝÔÆÝnhÔÌXgðCeÏÉè`·éD
-
-(7-2-16) USE_INHINIB_TABLEiIvVj
-
-OMIT_INITIALIZE_INTERRUPTðè`µ½ªCÝnhÌú»ÉKvÈî
-ñðkernel_cfg.cÉ¶¬µ½¢êÉÍC±ÌÏð1ÉÝè·éDïÌIÉÍC
-TNUM_INHNOCtnum_inhnoCinhinib_tableÌè`ÆCÝnhÌoüû
-ð¶¬·é½ßÌLqiINTHDR_ENTRY}NÌXgjªC^[Qbgñ
-Ë¶ÉæÁÄ¶¬³êéD
-
-(7-2-17) USE_INTINIB_TABLEiIvVj
-
-OMIT_INITIALIZE_INTERRUPTðè`µ½ªCÝvCÌú»ÉKvÈ
-îñðkernel_cfg.cÉ¶¬µ½¢êÉÍC±ÌÏð1ÉÝè·éDïÌIÉ
-ÍCTNUM_INTNOCtnum_intnoCintinib_tableÌè`ªC^[QbgñË¶É
-æÁÄ¶¬³êéD
-
-(7-2-18) TARGET_MIN_STKSZiIvVj
-
-^[Qbgè`ÅC^XNÌX^bNTCYÌÅ¬lðÝè·éêÉÍC±
-ÌÏðX^bNTCYÌÅ¬lÉè`·éD
-
-(7-2-19) CHECK_STKSZ_ALIGNiIvVj
-
-X^bNÌæÌTCYª élÌ{ÅÈ¯êÎÈçÈ¢êÉC±ÌÏð
-»ÌlÉè`·éD±ÌÏðè`·é±ÆÅCkernel.tfÉ¨¢ÄCX^bN
-ÌæÌTCYª³µ­È¢i±ÌÏÉè`µ½lÌ{ÅÈ¢jêÌG[
-ð`FbN·éæ¤ÉÈéD`FbNªKvÈ¢êÉÍC±ÌÏðè`µ
-È¢D
-
-7.2.2 ^[QbgñË¶Åè`³êéÏ
-
-kernel.tfÌÅÍÌÏªè`³êé½ßCkernel.tfðCN[hµ½
-ãCtarget.tfÌÅ±êçðQÆ·é±ÆªÅ«éD
-
-(7-2-1) INTNO[inhno]		inhnoðÎ·éintnoÉÏ··é½ßÌAzzñ
-(7-2-2) INHNO[intno]		intnoðÎ·éinhnoÉÏ··é½ßÌAzzñ
-
-7.3 pX3Ìev[gt@CÌ^[QbgË¶
-
-ÈºÅÍCpX3Ìev[gt@CÌ^[QbgË¶ðLq·éãÅK
-vÈÉÂ¢Äà¾·éD
-
-target_check.tf©çkernel_check.tfðCN[h·éOÉCKvÉ¶ÄC
-ÌÏðè`µÄ¨©È¯êÎÈçÈ¢D
-
-(7-3-1) CHECK_FUNC_ALIGNiIvVj@ÖÌACPÊ
-(7-3-2) CHECK_FUNC_NONNULLiIvVjÖÌñNULL`FbN
-(7-3-3) CHECK_STACK_ALIGNiIvVj	X^bNÌæÌACPÊ
-(7-3-4) CHECK_STACK_NONNULLiIvVjX^bNÌæÌñNULL`FbN
-(7-3-5) CHECK_MPF_ALIGNiIvVj	Åè·v[ÌæÌACPÊ
-(7-3-6) CHECK_MPF_NONNULLiIvVj	Åè·v[ÌæÌñNULL`FbN
-
-Ö^X^bNÌæ^Åè·v[ÌæÌæªÔnÌACgÌ
-`FbNðs¤êÉÍC»ê¼êCCHECK_FUNC_ALIGN^CHECK_STACK_ALIGN^
-CHECK_MPF_ALIGNðACPÊÉè`·éDÖ^X^bNÌæ^Åè·
-v[ÌæÌæªÔnªNULLÅÈ¢©Ì`FbNðs¤êÉÍC»ê¼ê
-CHECK_FUNC_NONNULL^CHECK_STACK_NONNULL^CHECK_MPF_NONNULLð1Éè`·éD
-`FbNªKvÈ¢êÉÍCY·éÏðè`µÈ¢D
-
-7.4 cfg1_out.cÌNÉKvÈX^uÌè`t@C
-
-RtBM
-[^ÉÖµÄ^[QbgË¶ÉpÓ·éKvª ét@CÆ
-µÄCÝèt@CÈOÉCcfg1_out.cðN·é½ßÉKvÈX^uÌè
-`t@Cª éD
-
-RtBM
-[^ÌpX1ÅÍCÃIAPIÌ®è®p[^ÌlðCR
-pCðp¢Äßé½ßÉCcfg1_out.cð¶¬·éD±êðRpCC
-NµÄIuWFNgt@Cð¶¬·éÛÉCX^[gAbvW
-[©
-çQÆ³êéV{Ìè`ð^¦éKvª éD
-
-±Ìè`ð^¦é½ßÉCcfg1_out.c©çC^[QbgË¶Ì
-target_cfg1_out.hðCN[hµÄ¢éDtarget_cfg1_out.hiÜ½ÍC»
-±©çCN[h³êét@CjÉÍCX^[gAbvW
-[©çQ
-Æ³êéV{ÌX^uÌè`ðÜßéDT^IÉÍCÈºÌæ¤Èè`ð
-ÜßéKvª éD
+タイマ値の内部表現を，1μ秒単位に変換するためのマクロ（または関数）．
+targettimer_get_currentで読み出した値を，タイマ割込み発生からの経過時間
+（単位: 1μ秒）に変換するために用いる．
+
+7. コンフィギュレータ設定ファイルのターゲット依存部
+
+7.1 設定ファイルとターゲット依存部の位置付け
+
+SSPカーネルのコンフィギュレータは，設定ファイルの記述に従ってファイルの
+生成およびエラーチェックを行う．コンフィギュレータの設定ファイルには，
+以下の4つがある．
+
+(a) 静的APIテーブル
+
+静的APIの一覧と，各静的APIのパラメータについて記述したファイル．静的
+APIを拡張する場合以外は変更する必要がないため，ターゲット非依存部で用意
+している（kernel/kernel_api.csv）．
+
+(b) 値取得シンボルテーブル
+
+コンフィギュレータのパス1において，パラメータ計算用C言語ファイルに出力
+し，値を求めたいシンボル（一般には式）を記述するためのファイル．ターゲッ
+ト非依存部では，ターゲットに依存せずに必要となるシンボルを記述したファ
+イルを用意している（kernel/kernel_def.csv）．
+
+ターゲットに依存して必要となるシンボルがある場合には，targetディレクト
+リに置かれたtarget_def.csv中に記述する．target_def.csv中に記述して値を
+求めることができるシンボルは，kernel/kernel_int.hおよびそこからインクルー
+ドされるファイルで定義されていなければならない．kernel_int.hからは，
+target_stddef.h，target_kernel.h，target_config.hを（間接的に）インクルー
+ドしているため，これらのファイルおよびそこからインクルードされるファイ
+ルで定義されるターゲット依存のシンボルは，target_def.csv中に記述するこ
+とができる．
+
+ここで値を求めたシンボルの値は，コンフィギュレータのパス2およびパス3の
+テンプレートファイル中で参照することができる．
+
+(c) パス2のテンプレートファイル
+
+コンフィギュレータのパス2は，テンプレートファイルに従って，カーネルの構
+成・初期化ファイル（kernel_cfg.c），構成・初期化ヘッダファイル
+（kernel_cfg.h）などを生成する．このテンプレートファイルは，ターゲット
+非依存部とターゲット依存部に切り分けてあるが，他のファイルのターゲット
+依存部とは逆に，ターゲット依存部からターゲット非依存部をインクルードす
+る形になっている．
+
+具体的には，targetディレクトリに置かれたtarget.tfで，必要な変数を定義し
+た後，テンプレートファイルのターゲット非依存部（kernel/kernel.tf）をイ
+ンクルードする．kernel.tfでは，カーネルのターゲット非依存部で使用する変
+数定義等を生成する．kernel.tfをインクルードした後，target.tfでは，カー
+ネルのターゲット依存部で使用する変数定義等を生成する．target.tfから，プ
+ロセッサ依存部，チップ依存部を，開発環境依存部を切り分けてもよい．
+
+(d) パス3のテンプレートファイル
+
+コンフィギュレータのパス3は，テンプレートファイルに従って，静的APIの一
+般定数式パラメータのチェックを行う．このテンプレートファイルも，ターゲッ
+ト非依存部とターゲット依存部に切り分けてあり，ターゲット依存部からター
+ゲット非依存部をインクルードする形になっている．
+
+具体的には，targetディレクトリに置かれたtarget_check.tfで，必要な変数を
+定義した後，テンプレートファイルのターゲット非依存部
+（kernel/kernel_check.tf）をインクルードする．kernel_check.tfでは，カー
+ネルのターゲット非依存部で初期化ブロックに出力した一般定数式パラメータ
+のチェックを行う．kernel_check.tfをインクルードした後，target_check.tf
+では，ターゲットに依存するチェックを行う．target_check.tfから，プロセッ
+サ依存部，チップ依存部を，開発環境依存部を切り分けてもよい．
+
+なお，コンフィギュレータの詳細仕様と設定ファイルの記述方法については，
+別途PDFファイルの形で配布している「TOPPERS新世代カーネル用コンフィギュ
+レータ仕様」および「TOPPERS新世代カーネル用コンフィギュレータ内蔵マクロ
+プロセッサ仕様」を参照すること．
+
+7.2 パス2のテンプレートファイルのターゲット依存部
+
+以下では，パス2のテンプレートファイルのターゲット依存部を記述する上で必
+要な事項について説明する．
+
+7.2.1 ターゲット非依存部をインクルードする前に定義すべき変数
+
+target.tfからkernel.tfをインクルードする前に，次の変数を定義しておかな
+ければならない．
+
+(7-2-1) INTNO_ATTISR_VALID		ATT_ISRで使用できる割込み番号
+(7-2-2) INHNO_ATTISR_VALID		INTNO_ATTISR_VALIDに対応する割込ハンドラ番号
+(7-2-3) INHNO_DEFINH_VALID		DEF_INTで使用できる割込みハンドラ番号
+(7-2-4) EXCNO_DEFEXC_VALID		DEF_EXCで使用できるCPU例外ハンドラ番号
+(7-2-5) INTNO_CFGINT_VALID		CFG_INTで使用できる割込み番号
+(7-2-6) INTPRI_CFGINT_VALID		CFG_INTで使用できる割込み優先度
+
+APIで使用できる割込み番号／割込みハンドラ番号／CPU例外ハンドラ番号／割
+込み優先度のリストを，各変数に定義する．INHNO_ATTISR_VALIDには，
+INTNO_ATTISR_VALIDにリストアップした割込み番号に対応する割込みハンドラ
+番号のリストを定義する．
+
+(7-2-7) TARGET_TSKATR（オプション）		ターゲット定義のタスク属性
+(7-2-8) TARGET_ISRATR（オプション）		ターゲット定義のISR属性
+(7-2-9) TARGET_INHATR（オプション）		ターゲット定義の割込みハンドラ属性
+(7-2-10) TARGET_INTATR（オプション）	ターゲット定義の割込み属性
+(7-2-11) TARGET_EXCATR（オプション）	ターゲット定義のCPU例外ハンドラ属性
+
+各オブジェクトの属性を，ターゲット定義に拡張する場合に，該当するオブジェ
+クト属性を示す変数に，拡張に使用するビットの論理和を定義する．これによ
+り，拡張に使用するビットが設定されている場合に，エラーになるのを防ぐ．
+
+(7-2-12) INTNO_FIX_KERNEL（オプション）		カーネル管理に固定されている
+											割込み番号
+(7-2-13) INHNO_FIX_KERNEL（オプション）		カーネル管理に固定されている
+		 									割込みハンドラ番号
+(7-2-14) INHNO_FIX_NONKERNEL（オプション）	カーネル管理外に固定されている
+											割込み番号
+(7-2-15) INHNO_FIX_NONKERNEL（オプション）	カーネル管理外に固定されている
+		 									割込みハンドラ番号
+
+カーネル管理またはカーネル管理外に固定されている割込みがある場合には，
+それらの割込み番号と割込みハンドラ番号のリストを，各変数に定義する．
+
+(7-2-16) USE_INHINIB_TABLE（オプション）
+
+OMIT_INITIALIZE_INTERRUPTを定義したが，割込みハンドラの初期化に必要な情
+報をkernel_cfg.cに生成したい場合には，この変数を1に設定する．具体的には，
+TNUM_INHNO，tnum_inhno，inhinib_tableの定義と，割込みハンドラ毎の出入口
+処理を生成するための記述（INTHDR_ENTRYマクロのリスト）が，ターゲット非
+依存部によって生成される．
+
+(7-2-17) USE_INTINIB_TABLE（オプション）
+
+OMIT_INITIALIZE_INTERRUPTを定義したが，割込み要求ラインの初期化に必要な
+情報をkernel_cfg.cに生成したい場合には，この変数を1に設定する．具体的に
+は，TNUM_INTNO，tnum_intno，intinib_tableの定義が，ターゲット非依存部に
+よって生成される．
+
+(7-2-18) TARGET_MIN_STKSZ（オプション）
+
+ターゲット定義で，タスクのスタックサイズの最小値を設定する場合には，こ
+の変数をスタックサイズの最小値に定義する．
+
+(7-2-19) CHECK_STKSZ_ALIGN（オプション）
+
+スタック領域のサイズがある値の倍数でなければならない場合に，この変数を
+その値に定義する．この変数を定義することで，kernel.tfにおいて，スタック
+領域のサイズが正しくない（この変数に定義した値の倍数でない）場合のエラー
+をチェックするようになる．チェックが必要ない場合には，この変数を定義し
+ない．
+
+7.2.2 ターゲット非依存部で定義される変数
+
+kernel.tfの中では次の変数が定義されるため，kernel.tfをインクルードした
+後，target.tfの中でこれらを参照することができる．
+
+(7-2-1) INTNO[inhno]		inhnoを対応するintnoに変換するための連想配列
+(7-2-2) INHNO[intno]		intnoを対応するinhnoに変換するための連想配列
+
+7.3 パス3のテンプレートファイルのターゲット依存部
+
+以下では，パス3のテンプレートファイルのターゲット依存部を記述する上で必
+要な事項について説明する．
+
+target_check.tfからkernel_check.tfをインクルードする前に，必要に応じて，
+次の変数を定義しておかなければならない．
+
+(7-3-1) CHECK_FUNC_ALIGN（オプション）　関数のアライン単位
+(7-3-2) CHECK_FUNC_NONNULL（オプション）関数の非NULLチェック
+(7-3-3) CHECK_STACK_ALIGN（オプション）	スタック領域のアライン単位
+(7-3-4) CHECK_STACK_NONNULL（オプション）スタック領域の非NULLチェック
+(7-3-5) CHECK_MPF_ALIGN（オプション）	固定長メモリプール領域のアライン単位
+(7-3-6) CHECK_MPF_NONNULL（オプション）	固定長メモリプール領域の非NULLチェック
+
+関数／スタック領域／固定長メモリプール領域の先頭番地のアラインメントの
+チェックを行う場合には，それぞれ，CHECK_FUNC_ALIGN／CHECK_STACK_ALIGN／
+CHECK_MPF_ALIGNをアライン単位に定義する．関数／スタック領域／固定長メモ
+リプール領域の先頭番地がNULLでないかのチェックを行う場合には，それぞれ
+CHECK_FUNC_NONNULL／CHECK_STACK_NONNULL／CHECK_MPF_NONNULLを1に定義する．
+チェックが必要ない場合には，該当する変数を定義しない．
+
+7.4 cfg1_out.cのリンクに必要なスタブの定義ファイル
+
+コンフィギュレータに関してターゲット依存に用意する必要があるファイルと
+して，設定ファイル以外に，cfg1_out.cをリンクするために必要なスタブの定
+義ファイルがある．
+
+コンフィギュレータのパス1では，静的APIの整数定数式パラメータの値をCコン
+パイラを用いて求めるために，cfg1_out.cを生成する．これをコンパイル，リ
+ンクしてオブジェクトファイルを生成する際に，スタートアップモジュールか
+ら参照されるシンボルの定義を与える必要がある．
+
+この定義を与えるために，cfg1_out.cから，ターゲット依存部の
+target_cfg1_out.hをインクルードしている．target_cfg1_out.h（または，そ
+こからインクルードされるファイル）には，スタートアップモジュールから参
+照されるシンボルのスタブの定義を含める．典型的には，以下のような定義を
+含める必要がある．
 
 ----------------------------------------
@@ -2614,521 +2526,503 @@
 
 
-8. VXeT[rXÌ^[QbgË¶
-
-8.1 VXeT[rXÌ^[QbgË¶
-
-VA|[gâVXeO^XNÖAÌèÈÇCVXeT[rXÌ
-\¬ðè·é½ßÌè`ðtarget_syssvc.hÜ½Í»±©çCN[h³ê
-ét@CivZbTE`bvEJ­Â«Ë¶ÅpÓ³êéwb_t@C
-ÈÇjÉÜßéD
-
-È¨CTOPPERSgÝR|[lgVXeª±ü³êéÆC±Ìt@CÌ
-àeÍR|[lgLqt@CÉLq³êé±ÆÉÈèC±Ìt@CÍ
-³­ÈéiÜ½ÍCåÉk¬³êéj©ÝÅ éD
-
-8.2  VXeO@\Ì^[QbgË¶è`
-
-VXeO@\ðgp·éêÅCX^[gAbvW
-[ÅbssZNV
-ÌNAðÈªµÄ¢éêÉÍCsyslog_logmaskÆsyslog_lowmask_notð
-0Éú»·éR[hðÇÁ·éD±êÍCVXeO@\ªú»³êéO
-ÉoÍ³ê½OîñðCáxoÍ@\ðp¢ÄoÍ·é½ßÅ éD
-
-^[QbgË¶Åñ·×«VXeO@\Ì½ßÌè`ÍÌÊèÅ 
-éD
+8. システムサービス等のターゲット依存部
+
+8.1 システムサービスのターゲット依存部
+
+シリアルポート数やシステムログタスク関連の定数など，システムサービスの
+構成を決定するための定義をtarget_syssvc.hまたはそこからインクルードされ
+るファイル（プロセッサ・チップ・開発環境依存部で用意されるヘッダファイ
+ルなど）に含める．
+
+なお，TOPPERS組込みコンポーネントシステムが導入されると，このファイルの
+内容はコンポーネント記述ファイルに記述されることになり，このファイルは
+無くなる（または，大幅に縮小される）見込みである．
+
+8.2  システムログ機能のターゲット依存定義
+
+システムログ機能を使用する場合で，スタートアップモジュールでbssセクショ
+ンのクリアを省略している場合には，syslog_logmaskとsyslog_lowmask_notを
+0に初期化するコードを追加する．これは，システムログ機能が初期化される前
+に出力されたログ情報を，低レベル出力機能を用いて出力するためである．
+
+ターゲット依存部で提供すべきシステムログ機能のための定義は次の通りであ
+る．
 
 (8-2-1)  TCNT_SYSLOG_BUFFER
 
-VXeO@\ÌOobt@ÌTCYðè`·é}NDè`µÈ¢ê
-ÌftHglÍ32D
+システムログ機能のログバッファのサイズを定義するマクロ．定義しない場合
+のデフォルト値は32．
 
 (8-2-2)  void target_fput_log(char c)
 
-VXeOÌáxoÍÌ½ßÌ¶oÍÖD^[QbgË¶Ìû@ÅC
-¶cð\¦/oÍ/Û¶·éD
-
-±ÌÖÍCGggÉÀµÈ¯êÎÈçÈ¢D±ÌÖàÅr¼§
-äªKvÈêÉÍCSILðp¢ÄSÝbNóÔÉ·é±ÆDÜ½CS
-ÝbNóÔÅÄÎêéêª é½ßCSÝbNóÔ©çÄÑo·
-±ÆªÅ«È¢ÖðÄÎÈ¢æ¤ÉÀµÈ¯êÎÈçÈ¢D
-
-áxoÍðVA|[goRÅs¤êÅCVAC^tF[Xh
-CoÆ|[gð¤pµÈ¢±Æª]Üµ¢ªC|[gª«èÈ¢½ßÉâ
-Þð¦¸¤p·éêÉÍC¼Òª£µÈ¢æ¤ÉÓªKvÅ éDïÌ
-IÉÍC¼Òª¯¶ÝèÅVAI/OfoCXðg¤æ¤ÉµCVAC
-^tF[XhCoÌ®ìÉáxoÍªsíêÄà·µx¦È¢æ¤É
-Ýv·éDÜ½CáxoÍª®ìJnãÉVAC^tF[XhC
-oªVAI/OfoCXðú»·éÆC¶»¯ªN±éÂ\«ª é½ßC
-¤p·é|[gÍCáxoÍ@\¤Åú»µCVAC^tF[X
-hCoÅÍú»µÈ¢æ¤É·éÆæ¢D
-
-È¨C±ÌÖÌ{ÌðCÇÌt@CÉLq·é©ªâèÉÈéDVXe
-T[rXÌ^[QbgË¶ÉÍCWÅÍCÖè`ðLq·é½ßÌt@
-CðpÓµÄ¢È¢D^[QbgË¶ÅpÓµÄàæ¢ªCáOIÉCJ[
-lÀÌ^[QbgË¶W
-[itarget_config.cjÉLqµÄàæ¢D
-±ÌêCtarget_fput_logðCl[Lqitarget_rename.defÈÇjÉÜ
-ßÄÍÈçÈ¢D
-
-8.3  O^XNÌ^[QbgË¶è`
-
-^[QbgË¶Åñ·×«O^XNÌ½ßÌè`ÍÌÊèÅ éD±
-êçÌè`ÍCtarget_syssvc.hÜ½Í»±©çCN[h³êét@CÉ
-ÜßéD
-
-(8-3-1)  LOGTASK_PRIORITYiIvVj
-
-O^XNÌDæxðè`·é}NDè`µÈ¢êÌftHglÍ3D
-
-(8-3-2)  LOGTASK_STACK_SIZEiIvVj
-
-O^XNÌX^bNTCYðè`·é}NDè`µÈ¢êÌftHg
-lÍ1024D
-
-(8-3-3)  LOGTASK_PORTIDiIvVj
-
-O^XNÌoÍæÌVA|[gÔDè`µÈ¢êÌftHglÍ1D
-
-(8-3-4)  LOGTASK_INTERVALiIvVj
-
-O^XNÌ®ìÔuiPÊÍ~bjDè`µÈ¢êÌftHglÍ10D
-
-(8-3-5)  LOGTASK_FLUSH_WAITiIvVj
-
-OoÍðÒ¿í¹éÉ¨¢ÄC^XNðÒ½¹éPÊÆÈéÔiP
-ÊÍ~bjDè`µÈ¢êÌftHglÍ1D
-
-8.4 VAC^tF[XhCoÌ^[QbgË¶
-
-^[QbgË¶Åñ·×«VAC^tF[XhCoÌ½ßÌè`
-ÍÌÊèÅ éD±êçÌè`ÍCÊÉwèªÈ¢ÀèCtarget_serial.hÜ
-½Í»±©çCN[h³êét@CÉÜßCKvÈRtBM
-[V
-îñðtarget_serial.cfgÉLq·éDÖÌÀÌªKvÈêÉÍC
-target_serial.cÌt@CðpÓ·éD
-
-VAC^tF[XhCoÌÅC^[QbgÌVAI/OfoCXÉ
-Ë¶·éªðCVAI/OfoCXhCoÆÄÔDVAI/OfoCX
-hCoÍC¨¨æ»CITRONfoCXhCoÝvKChCÌPDICÉ
-·éDPDICÉ·ét@CÅC¼ÌVXeÉà¤ÊÉg¦éÂ\«ª 
-éêÉÍCpdicfBNgÉu­D
-
-8.4.1 ÏCf[^^CÇÖ
+システムログの低レベル出力のための文字出力関数．ターゲット依存の方法で，
+文字cを表示/出力/保存する．
+
+この関数は，リエントラントに実装しなければならない．この関数内で排他制
+御が必要な場合には，SILを用いて全割込みロック状態にすること．また，全割
+込みロック状態で呼ばれる場合があるため，全割込みロック状態から呼び出す
+ことができない関数を呼ばないように実装しなければならない．
+
+低レベル出力をシリアルポート経由で行う場合で，シリアルインタフェースド
+ライバとポートを共用しないことが望ましいが，ポート数が足りないためにや
+むをえず共用する場合には，両者が競合しないように注意が必要である．具体
+的には，両者が同じ設定でシリアルI/Oデバイスを使うようにし，シリアルイン
+タフェースドライバの動作中に低レベル出力が行われても差し支えないように
+設計する．また，低レベル出力が動作開始後にシリアルインタフェースドライ
+バがシリアルI/Oデバイスを初期化すると，文字化けが起こる可能性があるため，
+共用するポートは，低レベル出力機能側で初期化し，シリアルインタフェース
+ドライバでは初期化しないようにするとよい．
+
+なお，この関数の本体を，どのファイルに記述するかが問題になる．システム
+サービスのターゲット依存部には，標準では，関数定義を記述するためのファ
+イルを用意していない．ターゲット依存で用意してもよいが，例外的に，カー
+ネル実装のターゲット依存モジュール（target_config.c）に記述してもよい．
+この場合，target_fput_logを，リネーム記述（target_rename.defなど）に含
+めてはならない．
+
+8.3  ログタスクのターゲット依存定義
+
+ターゲット依存部で提供すべきログタスクのための定義は次の通りである．こ
+れらの定義は，target_syssvc.hまたはそこからインクルードされるファイルに
+含める．
+
+(8-3-1)  LOGTASK_PRIORITY（オプション）
+
+ログタスクの優先度を定義するマクロ．定義しない場合のデフォルト値は3．
+
+(8-3-2)  LOGTASK_STACK_SIZE（オプション）
+
+ログタスクのスタックサイズを定義するマクロ．定義しない場合のデフォルト
+値は1024．
+
+(8-3-3)  LOGTASK_PORTID（オプション）
+
+ログタスクの出力先のシリアルポート番号．定義しない場合のデフォルト値は1．
+
+(8-3-4)  LOGTASK_INTERVAL（オプション）
+
+ログタスクの動作間隔（単位はミリ秒）．定義しない場合のデフォルト値は10．
+
+(8-3-5)  LOGTASK_FLUSH_WAIT（オプション）
+
+ログ出力を待ち合わせる処理において，タスクを待たせる単位となる時間（単
+位はミリ秒）．定義しない場合のデフォルト値は1．
+
+8.4 シリアルインタフェースドライバのターゲット依存部
+
+ターゲット依存部で提供すべきシリアルインタフェースドライバのための定義
+は次の通りである．これらの定義は，別に指定がない限り，target_serial.hま
+たはそこからインクルードされるファイルに含め，必要なコンフィギュレーショ
+ン情報をtarget_serial.cfgに記述する．関数の実体が必要な場合には，
+target_serial.c等のファイルを用意する．
+
+シリアルインタフェースドライバの中で，ターゲットのシリアルI/Oデバイスに
+依存する部分を，シリアルI/Oデバイスドライバと呼ぶ．シリアルI/Oデバイス
+ドライバは，おおよそ，ITRONデバイスドライバ設計ガイドラインのPDICに相当
+する．PDICに相当するファイルで，他のシステムにも共通に使える可能性があ
+る場合には，pdicディレクトリに置く．
+
+8.4.1 変数，データ型，管理関数
 
 (8-4-1) TNUM_PORT
 
-VAC^tF[XhCoªT|[g·éVA|[gðè`·é
-}ND±Ì}NÌè`ÍCtarget_syssvc.hÜ½Í»±©çCN[h³
-êét@CÉÜßéD
-
-(8-4-2) void sio_initialize(intptr_t exinf)iIvVj
-
-VAI/OfoCXhCoÌú»Dtarget_serial.cfgÉC±ÌÖ
-ðú»[`ÆµÄo^·éÃIAPIðÜßéD
-
-(8-4-3) void sio_terminate(intptr_t exinf)iIvVj
-
-VAI/OfoCXhCoÌI¹Dtarget_serial.cfgÉC±ÌÖð
-I¹[`ÆµÄo^·éÃIAPIðÜßéD
+シリアルインタフェースドライバがサポートするシリアルポート数を定義する
+マクロ．このマクロの定義は，target_syssvc.hまたはそこからインクルードさ
+れるファイルに含める．
+
+(8-4-2) void sio_initialize(intptr_t exinf)（オプション）
+
+シリアルI/Oデバイスドライバの初期化処理．target_serial.cfgに，この関数
+を初期化ルーチンとして登録する静的APIを含める．
+
+(8-4-3) void sio_terminate(intptr_t exinf)（オプション）
+
+シリアルI/Oデバイスドライバの終了処理．target_serial.cfgに，この関数を
+終了処理ルーチンとして登録する静的APIを含める．
 
 (8-4-4) void sio_isr(intptr_t exinf)
 
-VAI/OfoCXÌÝT[rX[`Dtarget_serial.cfgÉC±Ì
-ÖðÝT[rX[`ÆµÄo^·éÃIAPIðÜßéDÜ½C»ÌÃ
-IAPIÉKvÈVAI/OfoCXÌÝÔÈÇÍCtarget_serial.hÅ}
-Nè`·éDÝT[rX[`ÅÍÈ­CÝnhÆ·é±Æ
-àÅ«éD
+シリアルI/Oデバイスの割込みサービスルーチン．target_serial.cfgに，この
+関数を割込みサービスルーチンとして登録する静的APIを含める．また，その静
+的APIに必要なシリアルI/Oデバイスの割込み番号などは，target_serial.hでマ
+クロ定義する．割込みサービスルーチンではなく，割込みハンドラとすること
+もできる．
 
 (8-4-5) SIOPCB
 
-VAI/O|[gÇubNÌf[^^itarget_serial.hÉÍCf[^^
-Ìé¾¾¯ÜÜêÄ¢êÎæ¢jD
-
-(8-4-6) SIO_RDY_SNDÆSIO_RDY_RCV
-
-MÂ\R[obNÌ¯ÊÔðSIO_RDY_SNDÉCóMÊmR[obNÌ¯
-ÊÔðSIO_RDY_RCVÉ}Nè`·éDR[obNÌÖ~^ÂðsÈ¤T[
-rXR[isio_ena_cbrÆsio_dis_cbrjÅp¢éD
-
-8.4.2 foCXT[rX[`
-
-ÈºÌfoCXT[r[`ÍCi­È­ÆàjVAI/O|[g©çÌ
-Ýª}XN³ê½óÔÅÄÑo³êéDÜ½C^XNReLXgCñ^
-XNReLXgÌ¢¸êÅÄÑo³êéêà éi¢¸êÅÄÑo³êÄ
-à®ì·éæ¤ÉµÈ¯êÎÈçÈ¢jD
+シリアルI/Oポート管理ブロックのデータ型（target_serial.hには，データ型
+の宣言だけ含まれていればよい）．
+
+(8-4-6) SIO_RDY_SNDとSIO_RDY_RCV
+
+送信可能コールバックの識別番号をSIO_RDY_SNDに，受信通知コールバックの識
+別番号をSIO_RDY_RCVにマクロ定義する．コールバックの禁止／許可を行なうサー
+ビスコール（sio_ena_cbrとsio_dis_cbr）で用いる．
+
+8.4.2 デバイスサービスルーチン
+
+以下のデバイスサービルルーチンは，（少なくとも）シリアルI/Oポートからの
+割込みがマスクされた状態で呼び出される．また，タスクコンテキスト，非タ
+スクコンテキストのいずれで呼び出される場合もある（いずれで呼び出されて
+も動作するようにしなければならない）．
 
 (8-4-2-1) SIOPCB *sio_opn_por(ID siopid, intptr_t exinf)
 
-siopidÅwè³êéVAI/O|[gðI[v·éÖDexinfÍVA
-I/O|[gÉÎ·ég£îñÅCR[obNðÄÔÉ|[gðæÊ·é½
-ßÉn·D
+siopidで指定されるシリアルI/Oポートをオープンする関数．exinfはシリアル
+I/Oポートに対する拡張情報で，コールバックを呼ぶ時にポートを区別するた
+めに渡す．
 
 (8-4-2-2) void sio_cls_por(SIOPCB *siopcb)
 
-siopcbÅwè³êéVAI/O|[gðN[Y·éÖD
+siopcbで指定されるシリアルI/Oポートをクローズする関数．
 
 (8-4-2-3) bool_t sio_snd_chr(SIOPCB *siopcb, char c)
 
-siopcbÅwè³êéVAI/O|[gÉCcÅ¦³êé¶ðM·éÖD
-¶ðMWX^Éüê½êÉÍtrueðCOÉMµ½¶ÌMªIíÁ
-Ä¢È¢½ßÉC¶ðMWX^ÉüêçêÈ©Á½êÉÍfalseðÔ·D
+siopcbで指定されるシリアルI/Oポートに，cで示される文字を送信する関数．
+文字を送信レジスタに入れた場合にはtrueを，前に送信した文字の送信が終わっ
+ていないために，文字を送信レジスタに入れられなかった場合にはfalseを返す．
 
 (8-4-2-4) int_t sio_rcv_chr(SIOPCB *siopcb)
 
-siopcbÅwè³êéVAI/O|[g©ç¶ðÇÞÖD¶ðóMµÄ¢
-½êCÇñ¾¶ÌR[hÍ³ÌlÆµÄÔµC¶ðóMµÄ¢È¢ê
-ÉÍ-1ðÔ·D
+siopcbで指定されるシリアルI/Oポートから文字を読む関数．文字を受信してい
+た場合，読んだ文字のコードは正の値として返し，文字を受信していない場合
+には-1を返す．
 
 (8-4-2-5) void sio_ena_cbr(SIOPCB *siopcb, uint_t cbrtn)
 
-siopcbÅwè³êéVAI/O|[g©çÌCcbrtnÅwè³êéR[ob
-NðÂ·éDcbrtnÉÍCSIO_RDY_SND©SIO_RDY_RCVðwèÅ«éD
+siopcbで指定されるシリアルI/Oポートからの，cbrtnで指定されるコールバッ
+クを許可する．cbrtnには，SIO_RDY_SNDかSIO_RDY_RCVを指定できる．
 
 (8-4-2-6) void sio_dis_cbr(SIOPCB *siopcb, uint_t cbrtn)
 
-siopcbÅwè³êéVAI/O|[g©çÌCcbrtnÅwè³êéR[ob
-NðÖ~·éDcbrtnÉÍCSIO_RDY_SND©SIO_RDY_RCVðwèÅ«éD
-
-8.4.3 R[obN[`
-
-^[QbgË¶ÍCKvÈ^C~OÅCVAC^tF[XhCo
-Ì^[QbgñË¶ÉÜÜêéÈºÌR[obN[`ðÄÑoÑ¾³
-È¯êÎÈçÈ¢D½¾µC»ê¼êÌR[obNªÖ~³êÄ¢éÍC
-R[obN[`ðÄÑoµÄÍÈçÈ¢D
-
-R[obN[`ÍCi­È­ÆàjVAI/O|[g©çÌÝªÖ
-~³ê½óÔÅCñ^XNReLXgÅÄÑo·DexinfÉÍCVAI/O
-|[gÌI[vÉwè³ê½g£îñðn·D
+siopcbで指定されるシリアルI/Oポートからの，cbrtnで指定されるコールバッ
+クを禁止する．cbrtnには，SIO_RDY_SNDかSIO_RDY_RCVを指定できる．
+
+8.4.3 コールバックルーチン
+
+ターゲット依存部は，必要なタイミングで，シリアルインタフェースドライバ
+のターゲット非依存部に含まれる以下のコールバックルーチンを呼び出びださ
+なければならない．ただし，それぞれのコールバックが禁止されている時は，
+コールバックルーチンを呼び出してはならない．
+
+コールバックルーチンは，（少なくとも）シリアルI/Oポートからの割込みが禁
+止された状態で，非タスクコンテキストで呼び出す．exinfには，シリアルI/O
+ポートのオープン時に指定された拡張情報を渡す．
 
 (8-4-3-1) void sio_irdy_snd(intptr_t exinf)
 
-MÂ\R[obN[`DVAI/O|[gÉÎµÄ¶ªMÅ«é
-óÔÉÈÁ½êÉÄÑo·DVAC^tF[XhCoÍC±ÌR[
-obN[`ÌÅCsio_snd_chrðÄÑoµÄÌ¶ðM·é©C
-M·×«¶ªÈ¢êÉÍMÂ\R[obNðÖ~·éD
+送信可能コールバックルーチン．シリアルI/Oポートに対して文字が送信できる
+状態になった場合に呼び出す．シリアルインタフェースドライバは，このコー
+ルバックルーチンの中で，sio_snd_chrを呼び出して次の文字を送信するか，送
+信すべき文字がない場合には送信可能コールバックを禁止する．
 
 (8-4-3-2) void sio_irdy_rcv(intptr_t exinf)
 
-óMÊmR[obN[`DVAI/O|[g©ç¶ðóMµ½êÉ
-ÄÑo·DVAC^tF[XhCoÍC±ÌR[obN[`Ì
-ÅCK¸sio_rcv_chrðÄÑoµÄóMµ½¶ðæèo·D
-
-8.5 J[lN®bZ[WÌoÍÌ^[QbgË¶è`
-
-^[QbgË¶Åñ·×«J[lN®bZ[WÌoÍÌ½ßÌè`Í
-ÌÊèÅ éD
+受信通知コールバックルーチン．シリアルI/Oポートから文字を受信した場合に
+呼び出す．シリアルインタフェースドライバは，このコールバックルーチンの
+中で，必ずsio_rcv_chrを呼び出して受信した文字を取り出す．
+
+8.5 カーネル起動メッセージの出力のターゲット依存定義
+
+ターゲット依存部で提供すべきカーネル起動メッセージの出力のための定義は
+次の通りである．
 
 (8-5-1) TARGET_NAME
 
-^[QbgÌ¼ÌÉè`·éD
-
-(8-5-2) TARGET_COPYRIGHTiIvVj
-
-J[lN®bZ[WÉC^[QbgË¶Ìì \¦ðÇÁ·é½ßÌ
-}NDftHgÅÍC^[QbgË¶Ìì \¦ðÇÁµÈ¢D
-
-8.6 TvvOÆeXgvOÌ^[QbgË¶è`
-
-^[QbgË¶Åñ·×«TvvO¨æÑeXgvOÌ
-½ßÌè`ÍÌÊèÅ éD±êçÌè`ÍCtarget_test.hiÜ½Í»êç
-©çCN[h³êét@CjÉÜßéD
-
-(8-6-1) STACK_SIZEiIvVj
-
-TvvO¨æÑeXgvOÌ^XNÌX^bNTCYðè`
-·é}NDè`µÈ¢êÌftHglÍ4096DftHgÝèÅÍ
-ªs«·éêâCV~
-[VÂ«ÈÇÅå«¢X^bNÌæªKv
-ÈêÉÍC^[QbgË¶Å±Ì}NðÝè·éX^bNTCYÉè`
-·éD
-
-(8-6-2) CPUEXC1iIvVj
-
-TvvO¨æÑeXgvOÅp¢éCPUáOÌCPUáOnh
-Ôðè`·é}ND±Ì}Nðè`µÈ¢êCCPUáOnhðg
-¤ªªTvvO©çO³êéDCPUáOnhÌeXgð·é
-eXgvOÍRpCÅ«È¢D
-
-(8-6-3) RAISE_CPU_EXCEPTIONiIvVj
-
-CPUEXC1Éè`µ½CPUáOð­¶³¹éC¾êÌvOðè`·é}ND
-CPUEXC1ðè`µ½êÉÍK¸è`µÈ¯êÎÈçÈ¢D
-
-(8-6-4) CANNOT_RETURN_CPUEXCiIvVj
-
-^[QbgVXeÌ§ñÉæèCCPUáOnh©ç^[µ½ãÉC^
-XNÌÀsðp±Å«È¢êÉè`·é}ND±Ì}Nðè`·éÆC
-CPUáOnhÌeXgð·éeXgvO©çCCPUáOnh©ç
-^[µ½ãÌªO³êéDTvvOÌYªÍ³µ­
-®ìµÈ¢D
-
-(8-6-5) TASK_PORTIDiIvVj
-
-TvvOÉ¨¢ÄCR}h¶ðÇÝÞVA|[gÔð
-è`·é}NDè`µÈ¢êÌftHglÍ1D
-
-(8-6-6) LOOP_REFiIvVj
-
-TvvOÉ¨¢ÄCvZbTÌ¬xðvª·é½ßÌ[vñ
-ðè`·é}NDè`µÈ¢êÌftHglÍ1000000DftHgÝè
-ÅÍClªå«ß¬ÄvªÉÔª©©è·¬éêâClª¬³ß¬Ävª
-ÊªÀèµÈ¢êÉC^[QbgË¶Å±Ì}NðÝè·é[vñ
-Éè`·éD
-
-(8-6-7) MEASURE_TWICEiIvVj
-
-TvvOÉ¨¢ÄCvZbTÌ¬xð2xvª·éêÉè`·é
-}NDV~
-[VÂ«ÈÇvZbTÌ¬xªÏ®·éÂ«ÅC1xÌ
-vªÅÍvªÊªÀèµÈ¢êÉè`·éD
-
-(8-6-8) TASK_LOOPiIvVj
-
-TvvOÉ¨¢ÄCvZbTÌ¬xðvª¹¸ÉC^XNàÅÌ
-[vñðÅè·éêÉC[vñðè`·é}ND[vSÌÌÀ
-sÔª0.4böxÉÈéæ¤È[vñðC±Ì}NÉè`·éD
-
-9. »Ì¼
-
-9.1 hL
-g
-
-^[QbgË¶Ì[U[Y}j
-AðCtarget_user.txtÉpÓ·éDv
-ZbTE`bvEJ­Â«Ë¶Ì[U[Y}j
-AðØèª¯Äàæ
-¢µCt@Cªå«­ÈéêÉÍ¡Ìt@CÉªµÄæ¢ªC»Ì
-êÉÍCtarget_user.txtÉ»êçÌt@C¼ðLq·é±ÆD
-
-^[QbgË¶Ì[U[Y}j
-AÉÍC­È­ÆàÌæ¤Èàeð
-Lq·é±Æª]Üµ¢D
-
-(1) ÎµÄ¢é^[QbgVXeÌíÞE\¬Co[WÔ
-	E^[Qbgn[hEFAi{[hjÌ¼ÌÆÎµÄ¢é\¬
-	E^[QbgªÌ
-	E^[QbgñË¶Ìo[WÔ
-	EvZbTC`bvCJ­Â«Ë¶Ì\¬Æo[WÔ
-	Egp·éPDICÆo[WÔ
-
-(2) gp·éJ­Â«Æ®ìØµ½ðio[WCIvVj
-	E¾êniRpCCAZuCJj
-	EfobOÂ«
-
-(3) ^[Qbgè`ÌKè
-
-(3-1) f[^^ÉÖ·éKè
-	Eint_t^Clong_t^ÌTCY
-	Echar^Cint_least8_t^Cvoid *^Cintptr_t^ÌTCY
-	Eint8_t^Cuint8_t^Cint64_t^Cuint64_t^Cint128_t^C
-	@uint128_t^Cfloat32_t^Cdouble64_t^ÌT|[gÌL³
-
-(3-2) ÝÉÖ·éKè
-	EÝnhÔÆÝÔÌÄC¼ÒÌÎ
-	EÝDæxÌiKiTMIN_INTPRIÌlj
-	Edis_intÆena_intÌT|[gÌL³C»Ì§À
-	ECFG_INTÌ§ÀÆg£i^[Qbgè`ÅgpÅ«éÝ®«j
-	ETOPPERSWÝf©çÌ»Ì¼ÌíE
-
-(3-3) J[lÇOÌÝÉÖ·éKè
-	ETMIN_INTPRIÍÅè©ÝèÅ«é©C»ÌÝèû@
-	ENMIÈOÉJ[lÇOÌÝðÝ¯é©iÝ¯çêéæ¤É·é©j
-	EJ[lÇOÌÝÌÝèû@
-	EJ[lÇOÌÝÉÎµÄDEF_INHCCFG_INTðT|[g·é©
-	EJ[lÇOÌÝnhªÀsJn³êéÌVXeóÔÆ
-	@ReLXg
-	EÝnhÌI¹Ésíêé
-	EJ[lÇOÌÝnhÌLqû@
-	EJ[làÌÝoüûÅN±éÂ\«Ì éCPUáO
-
-(3-4) CPUáOÉÖ·éKè
-	ECPUáOnhÔÌÄ
-	EÝDæx}XNðTMIN_INTPRIÆ¯¶©»êæèà¢lÉÝèµÄ
-	@¢éóÔÅ­¶µ½CPUáOðCJ[lÇOÌCPUáOÆµ¤©
-	EJ[làÌCPUáOoüûÅN±éÂ\«Ì éCPUáO
-
-(3-5) «\]¿pVXeÌQÆÉÖ·éKè
-	Eget_utmÌT|[gÌL³C»Ì§À
-
-(3-6) »Ì¼
-	E»Ì¼Ì§À
-	E»Ì¼Ìg£@\
-
-(4) J[lÌN®^I¹ÉÖ·éîñ
-	EpÓµÄ¢éX^[gAbvW
-[Ìàe
-	EX^[gAbvW
-[©çhardware_init_hookðÄÑoµÄ¢éê
-	@ÉÍChardware_init_hookðAvP[VÅpÓ·éêÌì¬
-	@û@â§ÀÈÇ
-	EJ[lðI¹µ½ãÌU¢
-
-(5) }bv
-	EftHgÌ}bvC»ÌÏXû@
-
-(6) ^C}hCoÖAÌîñ
-	E^CeBbNÌüúC»ÌÏXû@
-	Egp·é\[Xi^C}j
-	E^C}ÝÌÝDæxÌÏXû@
-	EI[o^C}ÝÌÝDæxÌÏXû@
-
-(7) VAC^tF[XhCoÌîñ
-	Egp·é\[XiSIORg[j
-	EÊMp[^i{[[gCrbgCpeBÌL³CXgbvrbgj
-
-(8) VXe\zè
-
-(9) ^[QbgVXeÅLÌÓ
-	E^XNReLXgÉÜÜêéWX^CÜÜêÈ¢WX^
-
-(10) ÞÌ^[QbgÉ|[eBO·éJ­Òü¯ÌQlîñ
-
-(11) fBNg\¬Et@C\¬
-
-(12) o[Wð
-
-Ü½CKvÉ¶ÄC^[QbgË¶ÌÝvðCtarget_design.txtÉp
-Ó·éDvZbTE`bvEJ­Â«Ë¶ÉÖ·éÝvðØèª¯Ä
-àæ¢µCt@Cªå«­ÈéêÉÍ¡Ìt@CÉªµÄàæ¢ªC
-»ÌêÉÍCtarget_design.txtÉ»êçÌt@C¼ðLq·é±ÆD
-
-9.2 pbP[WLqt@C
-
-[XpbP[WiÂÊpbP[W¨æÑÈÕpbP[Wjðì¬·é½ß
-ÉCpbP[WÉÜßét@CðLqµ½pbP[WLqt@CðpÓ·
-éDpbP[WLqt@CÌ¼ÌÍCÂÊpbP[WpðMANIFESTCÈÕpb
-P[WpðE_PACKAGEÆ·éD
-
-á¦ÎCarch/arm_gccfBNgÉu©ê½MANIFESTt@Cðp¢ÄÂÊ
-pbP[Wðì¬·éêÉÍCÌR}hðÀs·éD
+ターゲットの名称に定義する．
+
+(8-5-2) TARGET_COPYRIGHT（オプション）
+
+カーネル起動メッセージに，ターゲット依存部の著作権表示を追加するための
+マクロ．デフォルトでは，ターゲット依存部の著作権表示を追加しない．
+
+8.6 サンプルプログラムとテストプログラムのターゲット依存定義
+
+ターゲット依存部で提供すべきサンプルプログラムおよびテストプログラムの
+ための定義は次の通りである．これらの定義は，target_test.h（またはそれら
+からインクルードされるファイル）に含める．
+
+(8-6-1) STACK_SIZE（オプション）
+
+サンプルプログラムおよびテストプログラムのタスクのスタックサイズを定義
+するマクロ．定義しない場合のデフォルト値は4096．デフォルト設定ではメモ
+リが不足する場合や，シミュレーション環境などで大きいスタック領域が必要
+な場合には，ターゲット依存部でこのマクロを設定するスタックサイズに定義
+する．
+
+(8-6-2) CPUEXC1（オプション）
+
+サンプルプログラムおよびテストプログラムで用いるCPU例外のCPU例外ハンド
+ラ番号を定義するマクロ．このマクロを定義しない場合，CPU例外ハンドラを使
+う部分がサンプルプログラムから除外される．CPU例外ハンドラのテストをする
+テストプログラムはコンパイルできない．
+
+(8-6-3) RAISE_CPU_EXCEPTION（オプション）
+
+CPUEXC1に定義したCPU例外を発生させるC言語のプログラムを定義するマクロ．
+CPUEXC1を定義した場合には必ず定義しなければならない．
+
+(8-6-4) CANNOT_RETURN_CPUEXC（オプション）
+
+ターゲットシステムの制約により，CPU例外ハンドラからリターンした後に，タ
+スクの実行を継続できない場合に定義するマクロ．このマクロを定義すると，
+CPU例外ハンドラのテストをするテストプログラムから，CPU例外ハンドラから
+リターンした後の処理が除外される．サンプルプログラムの該当部分は正しく
+動作しない．
+
+(8-6-5) TASK_PORTID（オプション）
+
+サンプルプログラムにおいて，コマンド文字を読み込むシリアルポート番号を
+定義するマクロ．定義しない場合のデフォルト値は1．
+
+(8-6-6) LOOP_REF（オプション）
+
+サンプルプログラムにおいて，プロセッサの速度を計測するためのループ回数
+を定義するマクロ．定義しない場合のデフォルト値は1000000．デフォルト設定
+では，値が大き過ぎて計測に時間がかかりすぎる場合や，値が小さ過ぎて計測
+結果が安定しない場合に，ターゲット依存部でこのマクロを設定するループ回
+数に定義する．
+
+(8-6-7) MEASURE_TWICE（オプション）
+
+サンプルプログラムにおいて，プロセッサの速度を2度計測する場合に定義する
+マクロ．シミュレーション環境などプロセッサの速度が変動する環境で，1度の
+計測では計測結果が安定しない場合に定義する．
+
+(8-6-8) TASK_LOOP（オプション）
+
+サンプルプログラムにおいて，プロセッサの速度を計測せずに，タスク内での
+ループ回数を固定する場合に，ループ回数を定義するマクロ．ループ全体の実
+行時間が0.4秒程度になるようなループ回数を，このマクロに定義する．
+
+9. その他
+
+9.1 ドキュメント
+
+ターゲット依存部のユーザーズマニュアルを，target_user.txtに用意する．プ
+ロセッサ・チップ・開発環境依存部のユーザーズマニュアルを切り分けてもよ
+いし，ファイルが大きくなる場合には複数のファイルに分割してよいが，その
+場合には，target_user.txt中にそれらのファイル名を記述すること．
+
+ターゲット依存部のユーザーズマニュアルには，少なくとも次のような内容を
+記述することが望ましい．
+
+(1) 対応しているターゲットシステムの種類・構成，バージョン番号
+	・ターゲットハードウェア（ボード等）の名称と対応している構成
+	・ターゲット略称
+	・ターゲット非依存部のバージョン番号
+	・プロセッサ，チップ，開発環境依存部の構成とバージョン番号
+	・使用するPDICとバージョン番号
+
+(2) 使用する開発環境と動作検証した条件（バージョン，オプション等）
+	・言語処理系（コンパイラ，アセンブラ，リンカ等）
+	・デバッグ環境
+
+(3) ターゲット定義事項の規定
+
+(3-1) データ型に関する規定
+	・int_t型，long_t型のサイズ
+	・char型，int_least8_t型，void *型，intptr_t型のサイズ
+	・int8_t型，uint8_t型，int64_t型，uint64_t型，int128_t型，
+	　uint128_t型，float32_t型，double64_t型のサポートの有無
+
+(3-2) 割込み処理に関する規定
+	・割込みハンドラ番号と割込み番号の割当て，両者の対応
+	・割込み優先度の段階数（TMIN_INTPRIの値）
+	・dis_intとena_intのサポートの有無，その制限事項
+	・CFG_INTの制限事項と拡張（ターゲット定義で使用できる割込み属性）
+	・TOPPERS標準割込み処理モデルからのその他の逸脱
+
+(3-3) カーネル管理外の割込みに関する規定
+	・TMIN_INTPRIは固定か設定できるか，その設定方法
+	・NMI以外にカーネル管理外の割込みを設けるか（設けられるようにするか）
+	・カーネル管理外の割込みの設定方法
+	・カーネル管理外の割込みに対してDEF_INH，CFG_INTをサポートするか
+	・カーネル管理外の割込みハンドラが実行開始される時のシステム状態と
+	　コンテキスト
+	・割込みハンドラの終了時に行われる処理
+	・カーネル管理外の割込みハンドラの記述方法
+	・カーネル内の割込み出入口処理で起こる可能性のあるCPU例外
+
+(3-4) CPU例外処理に関する規定
+	・CPU例外ハンドラ番号の割当て
+	・割込み優先度マスクをTMIN_INTPRIと同じかそれよりも高い値に設定して
+	　いる状態で発生したCPU例外を，カーネル管理外のCPU例外と扱うか
+	・カーネル内のCPU例外出入口処理で起こる可能性のあるCPU例外
+
+(3-5) 性能評価用システム時刻の参照に関する規定
+	・get_utmのサポートの有無，その制限事項
+
+(3-6) その他
+	・その他の制限事項
+	・その他の拡張機能
+
+(4) カーネルの起動／終了処理に関する情報
+	・用意しているスタートアップモジュールの処理内容
+	・スタートアップモジュールからhardware_init_hookを呼び出している場
+	　合には，hardware_init_hookをアプリケーションで用意する場合の作成
+	　方法や制限事項など
+	・カーネルを終了した後の振舞い
+
+(5) メモリマップ
+	・デフォルトのメモリマップ，その変更方法
+
+(6) タイマドライバ関連の情報
+	・タイムティックの周期，その変更方法
+	・使用するリソース（タイマ）
+	・タイマ割込みの割込み優先度の変更方法
+	・オーバランタイマ割込みの割込み優先度の変更方法
+
+(7) シリアルインタフェースドライバの情報
+	・使用するリソース（SIOコントローラ）
+	・通信パラメータ（ボーレート，ビット数，パリティの有無，ストップビット）
+
+(8) システム構築手順
+
+(9) ターゲットシステム固有の注意事項
+	・タスクコンテキストに含まれるレジスタ，含まれないレジスタ
+
+(10) 類似のターゲットにポーティングする開発者向けの参考情報
+
+(11) ディレクトリ構成・ファイル構成
+
+(12) バージョン履歴
+
+また，必要に応じて，ターゲット依存部の設計メモを，target_design.txtに用
+意する．プロセッサ・チップ・開発環境依存部に関する設計メモを切り分けて
+もよいし，ファイルが大きくなる場合には複数のファイルに分割してもよいが，
+その場合には，target_design.txt中にそれらのファイル名を記述すること．
+
+9.2 パッケージ記述ファイル
+
+リリースパッケージ（個別パッケージおよび簡易パッケージ）を作成するため
+に，パッケージに含めるファイルを記述したパッケージ記述ファイルを用意す
+る．パッケージ記述ファイルの名称は，個別パッケージ用をMANIFEST，簡易パッ
+ケージ用をE_PACKAGEとする．
+
+例えば，arch/arm_gccディレクトリに置かれたMANIFESTファイルを用いて個別
+パッケージを作成する場合には，次のコマンドを実行する．
 
 	% utils/makerelease arch/arm_gcc/MANIFEST
 
-±ÌR}hÉæèCRELEASE/ssp_arch_arm_gcc-<o[WÔ>.tar.gzª
-ì¬³êéDÜ½Ctarget/at91skyeye_gccfBNgÉu©ê½E_PACKAGE
-t@Cðp¢ÄÈÕpbP[Wðì¬·éêÉÍCÌR}hðÀs·
-éD
+このコマンドにより，RELEASE/ssp_arch_arm_gcc-<バージョン番号>.tar.gzが
+作成される．また，target/at91skyeye_gccディレクトリに置かれたE_PACKAGE
+ファイルを用いて簡易パッケージを作成する場合には，次のコマンドを実行す
+る．
 
 	% utils/makerelease target/cq_starm_gcc/E_PACKAGE
 
-±ÌR}hÉæèCRELEASE/ssp_cq_starm_gcc_gcc-<o[WÔ>.tar.gz
-ªì¬³êéiRELEASEfBNgªÈ¢êÉÍCfBNgªìçê
-éjD
-
-È¨Cmakerelease[eBeBÍCSSPJ[lÌ\[Xt@Cªu©ê
-½fBNgªCsspÆ¢¤¼ÌÅ é±Æð¼èµÄ¢éiÙÈé¼ÌÌê
-ÅàpbP[WÍì¬Å«éªCpbP[WðWJµ½ÉWJ³êéfB
-NgªsspÅÈ­ÈéjDÜ½CWÌtarR}hªGNU tarÅ é±Æ
-i³mÉÍCzIvVÉÎµÄ¢é±ÆjðzèµÄ¢éD
-
-pbP[WLqt@CÉÍCpbP[WÉÜßét@C¼ðCpbP[W
-Lqt@Cªu©ê½fBNg©çÌÎpX¼ÅC1sÉ1Â¸ÂLq
-·éDÜ½CKvÉ¶ÄCÈºÌfBNeBuðÜßéD
-
-(a) E_PACKAGE <ÈÕpbP[W¼>
-
-ÈÕpbP[W¼ðwè·éDÈÕpbP[WLqt@CiE_PACKAGEjÌæ
-ªÉLq·éDÈÕpbP[W¼ÍCssp_<^[QbgªÌ>Æ·éDá¦ÎC
-^[QbgªÌªcq_starm_gccÌêÉÍCssp_cq_starm_gccÆÈéDÂ
-ÊpbP[WÆæÊ·é½ßÉCÈÕpbP[WÌt@C¼ÉÍ"target"ð
-ÜßÈ¢D
-
-(b) PACKAGE <ÂÊpbP[W¼>
-
-ÂÊpbP[W¼ðwè·éDÂÊpbP[WLqt@CiMANIFESTjÌæ
-ªÉLq·éDÜ½C»±©çCN[h³êéet@CÌæªÉàLq
-µC»êðCN[hµÄ¢éÂÊpbP[W¼ðwè·éD^[QbgË
-¶ÌÂÊpbP[W¼ÍCÂÊpbP[WLqt@Cªu©ê½fBN
-gÌÎpXÌ"/"ð"_"Éu«·¦½¶ñðC"ssp_"ÌãÉÂÈ°½à
-ÌÆ·éDá¦ÎCÂÊpbP[WLqt@Cªarch/arm_gcc/MANIFESTÌê
-ÉÍCssp_arch_arm_gccÆÈéD
-
-(c) VERSION <o[WÔ>
-
-pbP[WÌo[WÔðwè·éDÈÕpbP[WLqt@C¨æÑ
-ÂÊpbP[WLqt@CÌÉLq·éDÈÕpbP[WÉ¨¢ÄCo[
-WÔðpbP[W»µ½útÆ·éêÉÍCpbP[WÔÌãíè
-É%dateÆLq·éD
-
-o[WÔÌt^û@ÉÂ¢ÄÍCuTOPPERS/SSPJ[l [U[Y}
-j
-AvÌu2.2 ÈÕpbP[Wv¨æÑu2.3 ÂÊpbP[WvÌßðQ
-Æ·é±ÆD
-
-(d) INCLUDE <t@C¼>
-
-ÊÌpbP[WLqt@CðCN[h·éDÈÕpbP[WLqt@C
-©çÍCÂÊpbP[WLqt@CÌÝðCN[h·éÌð´¥Æ·
-éDÂÊpbP[WLqt@C©çCN[h³êét@CÅwè³
-êéÂÊpbP[W¼ÍC·×ÄêvµÄ¢È¯êÎÈçÈ¢D
-
-
-10. t@X
-
-10.1 ^[QbgË¶Ìt@Cê
-
-WIÈ^[QbgË¶Ìt@C\¬ÍÌÊèÅ éD
-
-Makefile.target		MakefileÌ^[QbgË¶iQÍjD
-
-target_stddef.h		TOPPERS¤Êè`it_stddef.hjÌ^[QbgË¶iR
-					ÍjDAvP[VÆJ[lÌ¼û©çCN[
-					h³êéD
-target_sil.h		VXeC^tF[XCisil.hjÌ^[QbgË
-					¶iSÍjDAvP[VÆJ[lÌ¼û©ç
-					CN[h³êéD
-target_kernel.h		J[lAPIikernel.hjÌ^[QbgË¶iTÍjD
-					AvP[VÆJ[lÌ¼û©çCN[h³
-					êéD
-
-target_config.h		J[lÀÌ^[QbgË¶Ìwb_t@CiU
-					ÍjDJ[lÌÝ©çCN[h³êéD
-target_config.c		J[lÀÌ^[QbgË¶ÌC¾êÅLq³êé
-					ªiUÍCIvVjD
-target_support.S	J[lÀÌ^[QbgË¶ÌAZu¾êÅL
-					q³êéªiUÍCIvVjD
-target_rename.def	J[lÀÌ^[QbgË¶Ì½ßÌl[Lq
-					i6.12ßjD
-target_rename.h		target_rename.def©ç¶¬³êét@Ci6.12ßjD
-target_unrename.h	target_rename.def©ç¶¬³êét@Ci6.12ßjD
-target_timer.cfg	^C}hCoÌVXeRtBM
-[Vt@
-					Ci6.13ßjD
-target_timer.h		^C}hCoÌwb_t@Ci6.13ßjDJ[l
-					ÌÝ©çCN[h³êéD
-target_timer.c		^C}hCoÌÀt@Ci6.13ßCIvVjD
-VXeªÌ.h		^[QbgÌn[hEFA¹iÝnhÔâ
-					CPUáOnhÔCfoCXWX^ÌÔnÈÇjÌ
-					è`ðÜÞwb_t@CDAvP[VÆJ[l
-					Ì¼û©çCN[h³êéiUÍCIvVjD
-
-target_def.csv		RtBM
-[^Ìlæ¾V{e[uÌ^[Qb
-					gË¶iVÍCIvVjD
-target.tf			RtBM
-[^ÌpX2Ìev[gt@CÌ
-					^[QbgË¶i7.2ßjD
-target_check.tf		RtBM
-[^ÌpX3Ìev[gt@Ci7.3
-					ßjD
-target_cfg1_out.h	cfg1_out.cÌNÉKvÈX^uÌè`t@Ci7.4
-					ßjD
-
-target_syssvc.h		VXeT[rXÌ^[QbgË¶è`i8.0ßjD
-target_serial.cfg	VAhCoÌVXeRtBM
-[Vt@
-					Ci8.3ßjD
-target_serial.h		VAhCoÌwb_t@Ci8.3ßjDVA
-					hCoÌÝ©çCN[h³êéD
-target_serial.c		VAhCoÌÀt@Ci8.3ßCIvVjD
-target_test.h		eXgvOÌ^[QbgË¶è`i8.4ßjD
-
-target_user.txt		[U[Y}j
-Ai9.1ßj
-target_design.txt	Ývi9.1ßCIvVj
-MANIFEST			ÂÊpbP[WÉÜßét@CÌXgi9.2ßCIv
-					Vj
-E_PACKAGE			ÈÕpbP[WÉÜßét@CÌXgi9.2ßCIv
-					Vj
-
-Èã
+このコマンドにより，RELEASE/ssp_cq_starm_gcc_gcc-<バージョン番号>.tar.gz
+が作成される（RELEASEディレクトリがない場合には，ディレクトリが作られ
+る）．
+
+なお，makereleaseユーティリティは，SSPカーネルのソースファイルが置かれ
+たディレクトリが，sspという名称であることを仮定している（異なる名称の場
+合でもパッケージは作成できるが，パッケージを展開した時に展開されるディ
+レクトリがsspでなくなる）．また，標準のtarコマンドがGNU tarであること
+（正確には，zオプションに対応していること）を想定している．
+
+パッケージ記述ファイルには，パッケージに含めるファイル名を，パッケージ
+記述ファイルが置かれたディレクトリからの相対パス名で，1行に1つずつ記述
+する．また，必要に応じて，以下のディレクティブを含める．
+
+(a) E_PACKAGE <簡易パッケージ名>
+
+簡易パッケージ名を指定する．簡易パッケージ記述ファイル（E_PACKAGE）の先
+頭に記述する．簡易パッケージ名は，ssp_<ターゲット略称>とする．例えば，
+ターゲット略称がcq_starm_gccの場合には，ssp_cq_starm_gccとなる．個
+別パッケージと区別するために，簡易パッケージのファイル名には"target"を
+含めない．
+
+(b) PACKAGE <個別パッケージ名>
+
+個別パッケージ名を指定する．個別パッケージ記述ファイル（MANIFEST）の先
+頭に記述する．また，そこからインクルードされる各ファイルの先頭にも記述
+し，それをインクルードしている個別パッケージ名を指定する．ターゲット依
+存部の個別パッケージ名は，個別パッケージ記述ファイルが置かれたディレク
+トリの相対パス中の"/"を"_"に置き換えた文字列を，"ssp_"の後につなげたも
+のとする．例えば，個別パッケージ記述ファイルがarch/arm_gcc/MANIFESTの場
+合には，ssp_arch_arm_gccとなる．
+
+(c) VERSION <バージョン番号>
+
+パッケージのバージョン番号を指定する．簡易パッケージ記述ファイルおよび
+個別パッケージ記述ファイルの中に記述する．簡易パッケージにおいて，バー
+ジョン番号をパッケージ化した日付とする場合には，パッケージ番号の代わり
+に%dateと記述する．
+
+バージョン番号の付与方法については，「TOPPERS/SSPカーネル ユーザーズマ
+ニュアル」の「2.2 簡易パッケージ」および「2.3 個別パッケージ」の節を参
+照すること．
+
+(d) INCLUDE <ファイル名>
+
+別のパッケージ記述ファイルをインクルードする．簡易パッケージ記述ファイ
+ルからは，個別パッケージ記述ファイルのみをインクルードするのを原則とす
+る．個別パッケージ記述ファイルからインクルードされるファイル中で指定さ
+れる個別パッケージ名は，すべて一致していなければならない．
+
+
+10. リファレンス
+
+10.1 ターゲット依存部のファイル一覧
+
+標準的なターゲット依存部のファイル構成は次の通りである．
+
+Makefile.target		Makefileのターゲット依存部（２章）．
+
+target_stddef.h		TOPPERS共通定義（t_stddef.h）のターゲット依存部（３
+					章）．アプリケーションとカーネルの両方からインクルー
+					ドされる．
+target_sil.h		システムインタフェースレイヤ（sil.h）のターゲット依
+					存部（４章）．アプリケーションとカーネルの両方から
+					インクルードされる．
+target_kernel.h		カーネルAPI（kernel.h）のターゲット依存部（５章）．
+					アプリケーションとカーネルの両方からインクルードさ
+					れる．
+
+target_config.h		カーネル実装のターゲット依存部のヘッダファイル（６
+					章）．カーネルのみからインクルードされる．
+target_config.c		カーネル実装のターゲット依存部のC言語で記述される
+					部分（６章，オプション）．
+target_support.S	カーネル実装のターゲット依存部のアセンブリ言語で記
+					述される部分（６章，オプション）．
+target_rename.def	カーネル実装のターゲット依存部のためのリネーム記述
+					（6.12節）．
+target_rename.h		target_rename.defから生成されるファイル（6.12節）．
+target_unrename.h	target_rename.defから生成されるファイル（6.12節）．
+target_timer.cfg	タイマドライバのシステムコンフィギュレーションファ
+					イル（6.13節）．
+target_timer.h		タイマドライバのヘッダファイル（6.13節）．カーネル
+					のみからインクルードされる．
+target_timer.c		タイマドライバの実装ファイル（6.13節，オプション）．
+システム略称.h		ターゲットのハードウェア資源（割込みハンドラ番号や
+					CPU例外ハンドラ番号，デバイスレジスタの番地など）の
+					定義を含むヘッダファイル．アプリケーションとカーネ
+					ルの両方からインクルードされる（６章，オプション）．
+
+target_def.csv		コンフィギュレータの値取得シンボルテーブルのターゲッ
+					ト依存部（７章，オプション）．
+target.tf			コンフィギュレータのパス2のテンプレートファイルの
+					ターゲット依存部（7.2節）．
+target_check.tf		コンフィギュレータのパス3のテンプレートファイル（7.3
+					節）．
+target_cfg1_out.h	cfg1_out.cのリンクに必要なスタブの定義ファイル（7.4
+					節）．
+
+target_syssvc.h		システムサービスのターゲット依存定義（8.0節）．
+target_serial.cfg	シリアルドライバのシステムコンフィギュレーションファ
+					イル（8.3節）．
+target_serial.h		シリアルドライバのヘッダファイル（8.3節）．シリアル
+					ドライバのみからインクルードされる．
+target_serial.c		シリアルドライバの実装ファイル（8.3節，オプション）．
+target_test.h		テストプログラムのターゲット依存定義（8.4節）．
+
+target_user.txt		ユーザーズマニュアル（9.1節）
+target_design.txt	設計メモ（9.1節，オプション）
+MANIFEST			個別パッケージに含めるファイルのリスト（9.2節，オプ
+					ション）
+E_PACKAGE			簡易パッケージに含めるファイルのリスト（9.2節，オプ
+					ション）
+
+以上
Index: /ssp_qb_r5f100le_cs/trunk/doc/ssp_spec.txt
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/doc/ssp_spec.txt	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/doc/ssp_spec.txt	(revision 95)
@@ -1,12 +1,11 @@
 
-		TOPPERS/SSPJ[lÌdlTv
+		TOPPERS/SSPカーネルの仕様概要
 
-		Îo[W: Release1.3.0
-		ÅIXV: 2014N 3 6ú
+		対応バージョン: Release1.3.0
+		最終更新: 2014年 3月 6日
 
-±ÌhL
-gÍCTOPPERS/SSPJ[lÌdlTvÉÂ¢Äà¾µ½àÌÅ
- éDTOPPERS/ASPJ[l©çÌ·ª¨æÑÏXÓÆÊITRON4.0dlÌÅ¬
-Zbgvt@C©çÌ·ªðSÉà¾·éD
+このドキュメントは，TOPPERS/SSPカーネルの仕様概要について説明したもので
+ある．TOPPERS/ASPカーネルからの差分および変更箇所とμITRON4.0仕様の最小
+セットプロファイルからの差分を中心に説明する．
 
 ----------------------------------------------------------------------
@@ -21,156 +20,148 @@
              Nagoya Municipal Industrial Research Institute, JAPAN
  
- ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
-      \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
-     XR[hÉÜÜêÄ¢é±ÆD
- (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
-     pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
-     Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
-     Ì³ÛØKèðfÚ·é±ÆD
- (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
-     pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
-     ÆD
-   (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
-       ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
-   (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
-       ñ·é±ÆD
- (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
-     Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
-     Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
-     RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
-     ÆÓ·é±ÆD
+ 上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ 変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+     権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+     スコード中に含まれていること．
+ (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+     用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+     者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+     の無保証規定を掲載すること．
+ (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+     用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+     と．
+   (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+       作権表示，この利用条件および下記の無保証規定を掲載すること．
+   (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+       報告すること．
+ (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+     害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+     また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+     由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+     免責すること．
  
- {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- ÌÓCðíÈ¢D
+ 本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ の責任を負わない．
  
 ----------------------------------------------------------------------
 
-OñÆÈé¶
+○前提となる文書
 
-[1] g¦ï: ÊITRON4.0dl, Ver.4.02.00, 2004N.
+[1] トロン協会: μITRON4.0仕様, Ver.4.02.00, 2004年.
 
-[2] TOPPERSvWFNg: TOPPERSV¢ãJ[ldl Release 1.5.0
+[2] TOPPERSプロジェクト: TOPPERS新世代カーネル仕様書 Release 1.5.0
 
-[3] TOPPERSvWFNg: TOPPERSWÝf, ÅIXV: 2008N
-	411ú.
+[3] TOPPERSプロジェクト: TOPPERS標準割込み処理モデル, 最終更新: 2008年
+	4月11日.
 
-dlÌTª
+○仕様の概略
 
-TOPPERS/SSPJ[lÌdlÍCTOPPERS/ASPJ[lÌdlÉÎµÄC
-¬KÍAvP[Vü¯ÉdlðiÁ½àÌÅ éDÅ¬ZbgÉ
-¨¯é"Å¬"ÆÍCJ[lªgp·éROM/RAMgpÊð¬³­·é½ßÉ
-dlðÅK»·é±ÆðÓ¡·éD
+TOPPERS/SSPカーネルの仕様は，TOPPERS/ASPカーネルの仕様に対して，
+小規模アプリケーション向けに仕様を絞ったものである．最小セットに
+おける"最小"とは，カーネルが使用するROM/RAM使用量を小さくするために
+仕様を最適化することを意味する．
 
-ñ·é@\ÍÊITRON4.0dlÌÅá@\ðx[XÆµÄCê
-©®Ô§äpvt@CÌ@\ðæèÞD
+提供する機能はμITRON4.0仕様準拠の最低機能をベースとして，一部
+自動車制御用プロファイルの機能を取り込む．
 
-Eñ·éVXeT[rXð§À·é
-E§ñ^XNÌÝðT|[g·é
-E1ÂÌ^XNDæxÉÎµÄo^Å«é^XNÍ1ÂÉÀè·é
-EROM/RAMgpÊð­È­·é½ßÌÝv/Àðs¤
+・提供するシステムサービスを制限する
+・制約タスクのみをサポートする
+・1つのタスク優先度に対して登録できるタスクは1つに限定する
+・ROM/RAM使用量を少なくするための設計/実装を行う
 
-³çÉCSSPJ[lÆ©ÌdlÆµÄÈºÌ@\ð±ü·éD
+さらに，SSPカーネル独自の仕様として以下の機能を導入する．
 
-E^XNÌÀsDæx
-E¤LX^bNÌæ
+・タスクの実行時優先度
+・共有スタック領域
 
-±Ì½ßCSSPJ[lÍASPJ[lÌºÊÝ·ÅàãÊÝ·ÅàÈ¢D
+このため，SSPカーネルはASPカーネルの下位互換でも上位互換でもない．
 
-ñ·éVXeT[rXð§À·é
+○提供するシステムサービスを制限する
 
-TOPPERS/ASPªñ·éVXeT[rXÌ¤¿CÊITRON4.0dl
-5.1.2ßÅKè³ê½VXeT[rXÆCTOPPERSV¢ãJ[l
-dlÅÇÁ³ê½êÌVXeT[rXÌÝðT|[g·éD
+TOPPERS/ASPが提供するシステムサービスのうち，μITRON4.0仕様書
+5.1.2節で規定されたシステムサービスと，TOPPERS新世代カーネル
+仕様で追加された一部のシステムサービスのみをサポートする．
 
-T|[g·éVXeT[rXÍÈºÌÊèÅ éD
+サポートするシステムサービスは以下の通りである．
 
-ECRE_TSK
-EDEF_EPR
-Eact_tsk,iact_tsk
-Eloc_cpu,iloc_cpu
-Eunl_cpu,iunl_cpu
-Esns_ctx
-Esns_loc
-Esns_dsp
-Esns_dpn
-Esns_ker
-Eena_dsp
-Edis_dsp
-EDEF_INH
-EATT_ISR
-ECFG_INT
-Eena_int
-Edis_int
-EATT_INI
-EATT_TER
-Eext_ker
-EDEF_ICS
-EDEF_STK
+・CRE_TSK
+・DEF_EPR
+・act_tsk,iact_tsk
+・loc_cpu,iloc_cpu
+・unl_cpu,iunl_cpu
+・sns_ctx
+・sns_loc
+・sns_dsp
+・sns_dpn
+・sns_ker
+・ena_dsp
+・dis_dsp
+・DEF_INH
+・ATT_ISR
+・CFG_INT
+・ena_int
+・dis_int
+・ATT_INI
+・ATT_TER
+・ext_ker
+・DEF_ICS
+・DEF_STK
 
-½¾µCg£pbP[WðKp·é±ÆÅ@\ðÇÁ·é±ÆªÅ«éD
+ただし，拡張パッケージを適用することで機能を追加することができる．
 
-§ñ^XNÌÝðT|[g·é
+○制約タスクのみをサポートする
 
-^XNÔÌX^bN¤LðOñÆ·é½ßC©®Ô§äpvt@CÉ
-Kè³êÄ¢é§ñ^XNð±üµCÊíÌ^XNÍp~·éD±êÍC
-L`ÌÒ¿óÔðT|[gµÈ¢±ÆðÓ¡·éD
+タスク間のスタック共有を前提とするため，自動車制御用プロファイルに
+規定されている制約タスクを導入し，通常のタスクは廃止する．これは，
+広義の待ち状態をサポートしないことを意味する．
 
-1ÂÌ^XNDæxÉÎµÄo^Å«é^XNÍ1ÂÉÀè·é
+○1つのタスク優先度に対して登録できるタスクは1つに限定する
 
-1ÂÌ^XNDæxÉÎµÄo^Å«é^XNÍêÂÆ·éD^XNDæxÍ
-16Å é½ßCÅåÅo^Å«é^XNÍ16Å éD±Ì§ÀÍfBL
-[
-ðsvÆµCXPW
-[ÌÈª»ÆRAMgpÊÌí¸ð}é½ßÅ éD
+1つのタスク優先度に対して登録できるタスクは一つとする．タスク優先度は
+16であるため，最大で登録できるタスク数は16である．この制限はレディキュー
+を不要とし，スケジューラの簡略化とRAM使用量の削減を図るためである．
 
-ROM/RAMgpÊð­È­·é½ßÌÝv/Àðs¤
+○ROM/RAM使用量を少なくするための設計/実装を行う
 
-­È¢ROM/RAMÅ®ì³¹é½ßÉTCYðDæµ½Ýv/Àð
-s¤DÝvÅÍf[^\¢Ìzñ»ðåÆµ½ÅK»CÀÅÍ
-æèÚA«ð¹ÈíÈ¢ÍÍÅÌ¬³¢f[^^ÌgpâÂÇ«ð
-µ­áº³¹È¢ÍÍÅÌR[h`
-[jOðs¤DÜ½C
-RpCÉæéÅK»àp·é(½¾µRpCÅÌÅK»Í
-Â«Éæé·Ùªå«¢½ßC^[QbgË¶Å é)D
+少ないROM/RAMで動作させるためにサイズを優先した設計/実装を
+行う．設計ではデータ構造の配列化を主とした最適化，実装では
+より移植性を損なわない範囲での小さいデータ型の使用や可読性を
+著しく低下させない範囲でのコードチューニングを行う．また，
+コンパイラによる最適化も活用する(ただしコンパイラでの最適化は
+環境による差異が大きいため，ターゲット依存である)．
 
-^XNÌÀsDæx
+○タスクの実行時優先度
 
-ÀsDæxÍ^XNªN®³ê½ãCÅÉÀsóÔÉÈé
-É^XNÌx[XDæxªÉÝè³êé^XNDæxÅ éDÀs
-DæxÌ@\ÍCN®Dæxæèà¢DæxÅ^XNðÀs·é±ÆÅC
-¯úÉ¤LX^bNÌæðgpµÄ¢éóÔÉÈé^XNÌgÝí¹ðÀ
-èµCX^bNÌæðßñ·é½ßÌ@\Å éD
+実行時優先度はタスクが起動された後，最初に実行状態になる
+時にタスクのベース優先度がに設定されるタスク優先度である．実行時
+優先度の機能は，起動時優先度よりも高い優先度でタスクを実行することで，
+同時期に共有スタック領域を使用している状態になるタスクの組み合わせを限
+定し，スタック領域を節約するための機能である．
 
-¤LX^bNÌæ
+○共有スタック領域
 
-SSPJ[lÅÍSÄÌ^XNÆÝnhÅA±µ½X^bNÌæðgp·éD
-±êð¤LX^bNÌæÆÄÔD¤LX^bNÌæð±ü·é±ÆÅ^XNÌ
-ÀsDæxÉæé^XNX^bNÌæðßñ·é±ÆªÅ«éD
+SSPカーネルでは全てのタスクと割込みハンドラで連続したスタック領域を使用する．
+これを共有スタック領域と呼ぶ．共有スタック領域を導入することでタスクの
+実行時優先度によるタスクスタック領域を節約することができる．
 
-pÓµÄ¢ég£pbP[W
+○用意している拡張パッケージ
 
-ÔÇg£pbP[WÆ¯úEÊM@\g£pbP[WðpÓµÄ¢éD
+時間管理拡張パッケージと同期・通信機能拡張パッケージを用意している．
 
-ÔÇg£pbP[WÉÍÈºÌ@\ªÜÜêéD
+時間管理拡張パッケージには以下の機能が含まれる．
 
-Eüúnh@\
-EA[nh@\
-EVXeÇ@\
+・周期ハンドラ機能
+・アラームハンドラ機能
+・システム時刻管理機能
 
-¯úEÊM@\g£pbP[WÉÍÈºÌ@\ªÜÜêéD
+同期・通信機能拡張パッケージには以下の機能が含まれる．
 
-Ef[^L
-[@\
-ECxgtO@\
+・データキュー機能
+・イベントフラグ機能
 
-Èã
+以上
Index: /ssp_qb_r5f100le_cs/trunk/doc/user.txt
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/doc/user.txt	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/doc/user.txt	(revision 95)
@@ -1,13 +1,11 @@
 
-		TOPPERS/SSPJ[l
-		[U[Y}j
-A
-
-		Îo[W: Release 1.3.0
-		ÅIXV: 2015N519ú
-
-±ÌhL
-gÍCTOPPERS/SSPJ[lðgp·é½ßÉKvÈðà¾
-·éàÌÅ éD
+		TOPPERS/SSPカーネル
+		ユーザーズマニュアル
+
+		対応バージョン: Release 1.3.0
+		最終更新: 2015年5月19日
+
+このドキュメントは，TOPPERS/SSPカーネルを使用するために必要な事項を説明
+するものである．
 
 ----------------------------------------------------------------------
@@ -19,297 +17,273 @@
                 Nagoya Municipal Industrial Research Institute, JAPAN
 
- ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
-      \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
-     XR[hÉÜÜêÄ¢é±ÆD
- (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
-     pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
-     Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
-     Ì³ÛØKèðfÚ·é±ÆD
- (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
-     pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
-     ÆD
-   (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
-       ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
-   (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
-       ñ·é±ÆD
- (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
-     Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
-     Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
-     RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
-     ÆÓ·é±ÆD
+ 上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ 変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+     権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+     スコード中に含まれていること．
+ (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+     用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+     者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+     の無保証規定を掲載すること．
+ (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+     用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+     と．
+   (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+       作権表示，この利用条件および下記の無保証規定を掲載すること．
+   (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+       報告すること．
+ (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+     害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+     また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+     由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+     免責すること．
  
- {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- ÌÓCðíÈ¢D
+ 本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ の責任を負わない．
  
 ----------------------------------------------------------------------
 
-Ú
-
-PDTOPPERS/SSPJ[lÌTv
-	1.1 TOPPERS/SSPJ[lÌÊut¯
-	1.2 TOPPERS/SSPJ[lÌdl
-	1.3 ùmÌâè
-QD^[QbgË¶
-	2.1 ^[QbgË¶ÌTv
-	2.2 ÈÕpbP[W
-	2.3 ÂÊpbP[W
-RDNCbNX^[gKCh
-	3.1 J­Â«Ìõ
-	3.2 RtBM
-[^Ì\z
-	3.3 TvvOÌ\zÆÀs
-	3.4 J[lðÖPÊÅCu»·éû@
-	3.5 AvP[VÆJ[lðÊXÉ\z·éû@
-SDfBNg\¬Et@C\¬
-	4.1 zzpbP[WÌfBNg\¬
-	4.2 ^[QbgñË¶Ìt@C\¬
-TDRtBM
-[VXNvgÌg¢û
-UDMakefileÌC³û@
-	6.1 MakefileÌÏè`
-	6.2 RpCIvV
-VDRtBM
-[^Ìg¢û
-WDVXeT[rX
-	8.1 VAC^tF[XhCo
-		8.1.1 VAC^tF[XhCoÌT[rXR[
-		8.1.2 VAC^tF[XhCoÌ»Ì¼ÌT[rX
-	8.2 J[lN®bZ[WÌoÍ
-XDT|[gCu
-	9.1 L
-[ìCuÖ
-PODgpãÌÓÆqg
-	10.1 ^C}hCoÌgÝ
-	10.2 assert}NÌ
-	10.3 IuWFNgIDÌÇ
-	10.4 J[lÌàV{Ìl[
-	10.5 VXeÌN®Ìú»
-PPDQlîñ
-	11.1 pðÆpñ
-	11.2 ÛØEKp«ET|[g
-	11.3 oO|[g
-	11.4 EFuTCg
-	11.5 TOPPERS[U[Y[OXg
-	11.6 TOPPERSvWFNgÌoü¯ÌT[rX
-	11.7 TOPPERSvWFNgÖÌQÁ
-PQD
-	12.1 T[rXR[ê
-	12.2 ÃIAPIê
-	12.3 o[Wð
-
-
-PDTOPPERS/SSPJ[lÌTv
-
-1.1.  TOPPERS/SSPJ[lÌÊut¯
-
-TOPPERS/SSPJ[lÍCTOPPERS/ASPJ[lÌdlÉÎµÄC
-¬KÍAvP[Vü¯ÉdlðiÁ½àÌÅ éDÅ¬ZbgÉ
-¨¯é"Å¬"ÆÍCJ[lªgp·éROM/RAMgpÊð¬³­·é½ßÉ
-dlðÅK»·é±ÆðÓ¡·éD
-
-ñ·é@\ÍÊITRON4.0dlÌÅá@\ðx[XÆµÄCê
-©®Ô§äpvt@CÌ@\ðæèÞD
-
-±Ì½ßCSSPJ[lÍASPJ[lÌºÊÝ·ÅàãÊÝ·ÅàÈ¢D
-½¾µC§ñ^XNg£pbP[WðKpµ½êCSSPJ[lÍ
-SSPJ[lÌãÊÝ·ÆÈéD
-
-1.2. TOPPERS/SSPJ[lÌdl
-
-SSPJ[lÌdlÌTvÉÂ¢ÄÍCuTOPPERSV¢ãJ[ldlvð
-QÆÌ±ÆD
-
-1.3. ùmÌâè
-
-kernel_cfg.ci¨æÑcfg1_out.cjÍCJ[lCVXeT[rXCAv
-P[VÌ¢¸êÌCN[ht@CàCN[hµC¢¸êÌV
-{àQÆ·éÂ\«ª éD»Ì½ßCJ[lCVXeT[rXCAv
-P[VÅV{ªÕËµÄ¢éêâCRpCIvVªH
-¢áÁÄ¢éêÉCkernel_cfg.ci¨æÑcfg1_out.cjª³µ­RpC
-Å«È­Èéêªl¦çêéDJ[lÌV{ðl[·éÈÇÌû
-@Åy¸³êÄÍ¢éªCâèªÈ­ÈÁÄ¢éí¯ÅÍÈ¢D
-
-VXeRtBM
-[Vt@C©çCRtBM
-[^ÉÎ·é
-INCLUDEfBNeBuÉæè¼ÌRtBM
-[Vt@CðCN[
-hµÄ¢éêÉC»ÌÉÜÜêéC¾êvvZbTÌCN[hfB
-NeBui#includejÅCRtBM
-[Vt@CÌu©êÄ¢é
-fBNgªCt@Cðõ·épXÉÍ¢çÈ¢Æ¢¤âèª éDá
-¦ÎCsyssvc/syslog.cfgÉu#include "syslog.h"vÆLqÅ«È¢ÌÍC±
-Ìâèª é½ßÅ éD
-
-»_ÅÍCAhXª64rbgÌÂ«ÉÍÎµÄ¢È¢D64rbgAh
-XÂ«ðT|[g·é½ßÌÅåÌÛèÍCg[SR[htH[}bg
-ª64rbgAhXÉÎµÄ¢È¢±ÆÅ éD
-
-QD^[QbgË¶
-
-2.1. ^[QbgË¶ÌTv
-
-SSPJ[lÌ^[QbgñË¶ÆCeíÌ^[QbgVXeÉÎ·é½
-ßÌ^[QbgË¶ÍCÊXÉJ­³êÄ¢éD»Ì½ßCSSPJ[lªÎ
-µÄ¢é·×ÄÌ^[QbgË¶ðCo[Wð®³¹ÄpbP[W
-»·é±ÆÍ¢ïÅ éD»±ÅCåÉÌ[UðÎÛÉµ½ÈÕpbP[
-WÆCãÌ[UâJ[lJ­ÒðÎÛÉµ½ÂÊpbP[WðpÓµÄ
-¢éD
-
-SSPJ[lð¢T|[gÌ^[QbgVXeÖ|[eBO·é½ßÉKv
-ÈìÆÍCJ­Â«Ì\zÆWÌJ­Â«ÆÌ·ÙÌzûCJ[l©gÌ
-|[eBOCVXeT[rXÌ|[eBOÈÇ©çÈéDÚµ­ÍC
-u^[QbgË¶ |[eBOKChvðQÆ·é±ÆD
-
-¦ ^[QbgË¶ |[eBOKChÍ»ÝÍ¢®Å é
-
-2.2. ÈÕpbP[W
-
-ÈÕpbP[WÍCSSPJ[lªÎµÄ¢é^[QbgVXeÉpÓ³
-êC»Ì^[QbgVXeãÅSSPJ[lð®ì³¹é½ßÉKvÈt@C
-ê®ðpbP[W»µ½àÌÅ éDÈÕpbP[WÉÜÜêét@CÍC
-o[Wª®µÄ¢é±ÆªmF³êÄ¢éD
-
-ÈÕpbP[WÌo[WÔÍCpbP[W»µ½útÆ·é±Æð´¥
-Æ·éªC^[QbgVXeÌîÉæè±Ì´¥É]íÈ¢êª éD
-
-ÈÕpbP[WÍCî{IÉÍCÉà¾·éÂÊpbP[Wð¡ÜÆß½
-àÌÅ éD»Ì½ßCÎÛ^[QbgVXeÉKvÌÈ¢t@CàÜÜ
-êÄ¢éDÜ½CÈÕpbP[WÉÜÜêÄ¢éÂÊpbP[WÌo[W
-ÍCÂÊpbP[WÌMANIFESTt@CðQÆ·é±ÆÅmé±ÆªÅ«éD
-
-2.3. ÂÊpbP[W
-
-ÂÊpbP[WÍCSSPJ[lÌJ­PÊÉC»ÌJ­PÊÅJ­ðSµ
-Ä¢ét@Cê®ðpbP[W»µ½àÌÅ éDSSPJ[lÌ^[Qbg
-ñË¶àCêÂÌÂÊpbP[WÆµÄzz³êéD éÂÊpbP[Wð
-gp·é½ßÉÍCêÊÉÍC¼ÌÂÊpbP[WªKvÆÈéD^[Qbg
-Ë¶ÌÂÊpbP[Wðgp·é½ßÉKvÆÈéÂÊpbP[WÆ»Ìo[
-WÉÂ¢ÄÍC^[QbgË¶Ì[U[Y}j
-AðQÆ·é±ÆD
-gp·éÂÊpbP[WÌo[Wð®³¹é±ÆÍC[UÌÓCÅ 
-éD
-
-ÂÊpbP[WÌo[WÔÍCX.Y.ZÌ`Å\»³êéD^[QbgñË
-¶Ìo[WÔðCSSPJ[lSÌÌ[XÔÆ·éD^[Qbg
-Ë¶Ìo[WÔÍCXÆYªC»êªË¶·é^[QbgñË¶Æê
-vµÄ¢éD»êÉÎµÄCZÍêvµÄ¢éÆÍÀçÈ¢Dá¦ÎC^[Qb
-gñË¶Ìo[W1.1.0ÉÎ·é^[QbgË¶ÍCo[W
-1.1.ZÌ`ÆÈéD^[QbgË¶ÌÝªo[WAbvµ½êÉÍCZ
-ªÏX³êéD
-
-gp·éÂÊpbP[WÍCÌáÌæ¤ÉC^[QbgñË¶ÌÂÊpb
-P[WðWJµ½ÌÆ¯¶fBNgÅWJ·éD
+○目次
+
+１．TOPPERS/SSPカーネルの概要
+	1.1 TOPPERS/SSPカーネルの位置付け
+	1.2 TOPPERS/SSPカーネルの仕様
+	1.3 既知の問題
+２．ターゲット依存部
+	2.1 ターゲット依存部の概要
+	2.2 簡易パッケージ
+	2.3 個別パッケージ
+３．クイックスタートガイド
+	3.1 開発環境の準備
+	3.2 コンフィギュレータの構築
+	3.3 サンプルプログラムの構築と実行
+	3.4 カーネルを関数単位でライブラリ化する方法
+	3.5 アプリケーションとカーネルを別々に構築する方法
+４．ディレクトリ構成・ファイル構成
+	4.1 配布パッケージのディレクトリ構成
+	4.2 ターゲット非依存部のファイル構成
+５．コンフィギュレーションスクリプトの使い方
+６．Makefileの修正方法
+	6.1 Makefileの変数定義
+	6.2 コンパイルオプション
+７．コンフィギュレータの使い方
+８．システムサービス
+	8.1 シリアルインタフェースドライバ
+		8.1.1 シリアルインタフェースドライバのサービスコール
+		8.1.2 シリアルインタフェースドライバのその他のサービス
+	8.2 カーネル起動メッセージの出力
+９．サポートライブラリ
+	9.1 キュー操作ライブラリ関数
+１０．使用上の注意とヒント
+	10.1 タイマドライバの組込み
+	10.2 assertマクロの処理
+	10.3 オブジェクトIDの管理
+	10.4 カーネルの内部シンボルのリネーム
+	10.5 システムの起動時の初期化処理
+１１．参考情報
+	11.1 利用条件と利用報告
+	11.2 保証・適用性・サポート
+	11.3 バグレポート
+	11.4 ウェブサイト
+	11.5 TOPPERSユーザーズメーリングリスト
+	11.6 TOPPERSプロジェクトのメンバ向けのサービス
+	11.7 TOPPERSプロジェクトへの参加
+１２．
+	12.1 サービスコール一覧
+	12.2 静的API一覧
+	12.3 バージョン履歴
+
+
+１．TOPPERS/SSPカーネルの概要
+
+1.1.  TOPPERS/SSPカーネルの位置付け
+
+TOPPERS/SSPカーネルは，TOPPERS/ASPカーネルの仕様に対して，
+小規模アプリケーション向けに仕様を絞ったものである．最小セットに
+おける"最小"とは，カーネルが使用するROM/RAM使用量を小さくするために
+仕様を最適化することを意味する．
+
+提供する機能はμITRON4.0仕様準拠の最低機能をベースとして，一部
+自動車制御用プロファイルの機能を取り込む．
+
+このため，SSPカーネルはASPカーネルの下位互換でも上位互換でもない．
+ただし，制約タスク拡張パッケージを適用した場合，SSPカーネルは
+SSPカーネルの上位互換となる．
+
+1.2. TOPPERS/SSPカーネルの仕様
+
+SSPカーネルの仕様の概要については，「TOPPERS新世代カーネル統合仕様書」を
+参照のこと．
+
+1.3. 既知の問題
+
+kernel_cfg.c（およびcfg1_out.c）は，カーネル，システムサービス，アプリ
+ケーションのいずれのインクルードファイルもインクルードし，いずれのシン
+ボルも参照する可能性がある．そのため，カーネル，システムサービス，アプ
+リケーションでシンボル等が衝突している場合や，コンパイルオプションが食
+い違っている場合に，kernel_cfg.c（およびcfg1_out.c）が正しくコンパイル
+できなくなる場合が考えられる．カーネルのシンボルをリネームするなどの方
+法で軽減されてはいるが，問題がなくなっているわけではない．
+
+システムコンフィギュレーションファイルから，コンフィギュレータに対する
+INCLUDEディレクティブにより他のコンフィギュレーションファイルをインクルー
+ドしている場合に，その中に含まれるC言語プリプロセッサのインクルードディ
+レクティブ（#include）で，コンフィギュレーションファイルの置かれている
+ディレクトリが，ファイルを検索するパスにはいらないという問題がある．例
+えば，syssvc/syslog.cfgに「#include "syslog.h"」と記述できないのは，こ
+の問題があるためである．
+
+現時点では，アドレスが64ビットの環境には対応していない．64ビットアドレ
+ス環境をサポートするための最大の課題は，モトローラSレコードフォーマット
+が64ビットアドレスに対応していないことである．
+
+２．ターゲット依存部
+
+2.1. ターゲット依存部の概要
+
+SSPカーネルのターゲット非依存部と，各種のターゲットシステムに対応するた
+めのターゲット依存部は，別々に開発されている．そのため，SSPカーネルが対
+応しているすべてのターゲット依存部を，バージョンを整合させてパッケージ
+化することは困難である．そこで，主に初級のユーザを対象にした簡易パッケー
+ジと，上級のユーザやカーネル開発者を対象にした個別パッケージを用意して
+いる．
+
+SSPカーネルを未サポートのターゲットシステムへポーティングするために必要
+な作業は，開発環境の構築と標準の開発環境との差異の吸収，カーネル自身の
+ポーティング，システムサービスのポーティングなどからなる．詳しくは，
+「ターゲット依存部 ポーティングガイド」を参照すること．
+
+※ ターゲット依存部 ポーティングガイドは現在は未完である
+
+2.2. 簡易パッケージ
+
+簡易パッケージは，SSPカーネルが対応しているターゲットシステム毎に用意さ
+れ，そのターゲットシステム上でSSPカーネルを動作させるために必要なファイ
+ル一式をパッケージ化したものである．簡易パッケージに含まれるファイルは，
+バージョンが整合していることが確認されている．
+
+簡易パッケージのバージョン番号は，パッケージ化した日付とすることを原則
+とするが，ターゲットシステム毎の事情によりこの原則に従わない場合がある．
+
+簡易パッケージは，基本的には，次に説明する個別パッケージを複数まとめた
+ものである．そのため，対象ターゲットシステムに必要のないファイルも含ま
+れている．また，簡易パッケージに含まれている個別パッケージのバージョン
+は，個別パッケージのMANIFESTファイルを参照することで知ることができる．
+
+2.3. 個別パッケージ
+
+個別パッケージは，SSPカーネルの開発単位毎に，その開発単位で開発を担当し
+ているファイル一式をパッケージ化したものである．SSPカーネルのターゲット
+非依存部も，一つの個別パッケージとして配布される．ある個別パッケージを
+使用するためには，一般には，他の個別パッケージが必要となる．ターゲット
+依存部の個別パッケージを使用するために必要となる個別パッケージとそのバー
+ジョンについては，ターゲット依存部のユーザーズマニュアルを参照すること．
+使用する個別パッケージのバージョンを整合させることは，ユーザの責任であ
+る．
+
+個別パッケージのバージョン番号は，X.Y.Zの形で表現される．ターゲット非依
+存部のバージョン番号を，SSPカーネル全体のリリース番号とする．ターゲット
+依存部のバージョン番号は，XとYが，それが依存するターゲット非依存部と一
+致している．それに対して，Zは一致しているとは限らない．例えば，ターゲッ
+ト非依存部のバージョン1.1.0に対応するターゲット依存部は，バージョン
+1.1.Zの形となる．ターゲット依存部のみがバージョンアップした場合には，Z
+が変更される．
+
+使用する個別パッケージは，次の例のように，ターゲット非依存部の個別パッ
+ケージを展開したのと同じディレクトリで展開する．
 
 	% tar xvfz ssp-1.3.0.tar.gz
 	% tar xvfz ssp_arch_rx_rxc-1.3.0.tar.gz
 
-^[QbgñË¶ÌÂÊpbP[WÉÍCÈºÌ^[QbgË¶ªÜÜê
-Ä¢éD
-
-	target/cq_frk_fm3_gcc	Interfacet®Cortex-M3îÂ
-					iGNUJ­Â«jp^[QbgË¶
-	arch/arm_m_gcc		Cortex-M3iGNUJ­Â«jpvZbTË¶
-
-
-RDNCbNX^[gKCh
-
-±±ÅÍC^[QbgË¶ªpÓ³êÄ¢é^[QbgVXeãÅCSSPJ[
-lãÅ®ì·éTvvOð\zE®ì³¹éÜÅÌèð¦·D
-
-3.1. J­Â«Ìõ
-
-SSPJ[lðp¢½VXe\zÉÍCÈºÌc[ªKvÅ éD
-
-	zXgVXepÌc[
-		perl		®ìmFF5.16.2
-		GNU Make	®ìmFF3.81
-
-	TOPPERSV¢ãJ[lpRtBM
-[^
-		cfg			®ìmFF1.8.0
-					¦ 1.6.0ÈOÌo[WÅÍ®ìµÈ¢D
-
-	^[QbgVXepÌc[iNXJ­Â«j
-		WKiÉµ½CRpC
-		AZuCJCCuA
-		V{t@CoÍc[CwLTt@CoÍc[
-		WCCuiK{ÅÍÈ¢j
-
-^[QbgVXepÌc[ÉGNUJ­Â«ðp¢éêÉÍCÈºÌc[
-ªKvÅ éD
-
-	^[QbgVXepÌGNUJ­Â«c[
-		BINUTILSiasCldCarCnmCranlibCobjcopyCobjdumpj
-		GCCÜ½ÍGCC-COREigcc¨æÑ»±©çÄÑo³êéc[j
-		NEWLIBiWCCuCK{ÅÍÈ¢j
-
-®ìmF³êÄ¢é^[QbgVXepÌc[ÉÂ¢ÄÍC^[QbgË
-¶Ì[U[Y}j
-AðQÆ·é±ÆD
-
-^[QbgVXepÌWCCuÍCAvP[VªWCCu
-ðgpµÈ¢êÉÍCKvÈ¢D½¾µCRpCªWCCu
-ÖimemcpyCmemsetÈÇjðÄÑo·R[hð¶¬·éêª èC»Ìê
-ÉÍWCCuªKvÅ éDWCCuðpÓ·éãíèÉC
-¶¬µ½R[hªÄÑo·ÖÌÝð©ªÅpÓµÄàæ¢D
-
-È¨CperlXNvgÍ}`oCg¶ðµ¤¶R[hªEUCCüsR[hª
-LFÅ é±Æð¼èµÄ¢éD»êÈOÌ¶R[hCüsR[hÅ®ì³¹é
-½ßÉÍperlXNvgÌC³ªKvÆÈé±Æª éD
-
-ÈºÅÍC±êçÌc[ªpÓÅ«Ä¢é±ÆðOñÉCUNIX}VãÅÌ
-\zèðà¾·éDÜ½ÈºÌà¾ÅÍCmakeR}hªGNU MakeÅ éà
-ÌÆ·éiSSPJ[lÌTvÌMakefileÍCGNU MakeÌg£@\ðp¢Ä
-¢éjD
-
-3.2. RtBM
-[^Ì\z
-
-J[lð\z·éOÉCÜ¸CTOPPERSV¢ãJ[lpRtBM
-[^
-ð\z·éKvª éDÈÕpbP[WÉÜÜêÄ¢½êÈÇCRtBM
-
-[^ðÀst@C`®Åüèµ½êÉÍC±ÌXebvÍKvÈ¢D
-
-RtBM
-[^Ì\zÉÍCÈºÌc[ªKvÅ éD
-
-	zXgVXepÌc[iZtJ­Â«j
-		C++RpCCC++Cu
-					®ìmFiMac OS XÂ«jFApple LLVM version 5.0 (clang-500.2.79)
-		Boost		®ìmFF1.55.0
-		Visual Studio (WindowsÌê)
-
-ÅÉCpbP[WÉRtBM
-[^Ì\[Xt@CªÜÜêÄ¢È¢
-êÉÍCRtBM
-[^ÌpbP[WðCSSPJ[lÌ\[Xt@C
-ðWJµ½fBNgÌºÉWJ·éD
+ターゲット非依存部の個別パッケージには，以下のターゲット依存部が含まれ
+ている．
+
+	target/cq_frk_fm3_gcc	Interface誌付属Cortex-M3基板
+					（GNU開発環境）用ターゲット依存部
+	arch/arm_m_gcc		Cortex-M3（GNU開発環境）用プロセッサ依存部
+
+
+３．クイックスタートガイド
+
+ここでは，ターゲット依存部が用意されているターゲットシステム上で，SSPカー
+ネル上で動作するサンプルプログラムを構築・動作させるまでの手順を示す．
+
+3.1. 開発環境の準備
+
+SSPカーネルを用いたシステム構築には，以下のツールが必要である．
+
+	ホストシステム用のツール
+		perl		動作確認：5.16.2
+		GNU Make	動作確認：3.81
+
+	TOPPERS新世代カーネル用コンフィギュレータ
+		cfg			動作確認：1.8.0
+					※ 1.6.0以前のバージョンでは動作しない．
+
+	ターゲットシステム用のツール（クロス開発環境）
+		標準規格に準拠したCコンパイラ
+		アセンブラ，リンカ，ライブラリアン
+		シンボルファイル出力ツール，ヘキサファイル出力ツール
+		標準Cライブラリ（必須ではない）
+
+ターゲットシステム用のツールにGNU開発環境を用いる場合には，以下のツール
+が必要である．
+
+	ターゲットシステム用のGNU開発環境ツール
+		BINUTILS（as，ld，ar，nm，ranlib，objcopy，objdump）
+		GCCまたはGCC-CORE（gccおよびそこから呼び出されるツール）
+		NEWLIB（標準Cライブラリ，必須ではない）
+
+動作確認されているターゲットシステム用のツールについては，ターゲット依
+存部のユーザーズマニュアルを参照すること．
+
+ターゲットシステム用の標準Cライブラリは，アプリケーションが標準Cライブ
+ラリを使用しない場合には，必要ない．ただし，コンパイラが標準Cライブラリ
+関数（memcpy，memsetなど）を呼び出すコードを生成する場合があり，その場
+合には標準Cライブラリが必要である．標準Cライブラリを用意する代わりに，
+生成したコードが呼び出す関数のみを自分で用意してもよい．
+
+なお，perlスクリプトはマルチバイト文字を扱う文字コードがEUC，改行コードが
+LFであることを仮定している．それ以外の文字コード，改行コードで動作させる
+ためにはperlスクリプトの修正が必要となることがある．
+
+以下では，これらのツールが用意できていることを前提に，UNIXマシン上での
+構築手順を説明する．また以下の説明では，makeコマンドがGNU Makeであるも
+のとする（SSPカーネルのサンプルのMakefileは，GNU Makeの拡張機能を用いて
+いる）．
+
+3.2. コンフィギュレータの構築
+
+カーネルを構築する前に，まず，TOPPERS新世代カーネル用コンフィギュレータ
+を構築する必要がある．簡易パッケージに含まれていた場合など，コンフィギュ
+レータを実行ファイル形式で入手した場合には，このステップは必要ない．
+
+コンフィギュレータの構築には，以下のツールが必要である．
+
+	ホストシステム用のツール（セルフ開発環境）
+		C++コンパイラ，C++ライブラリ
+					動作確認（Mac OS X環境）：Apple LLVM version 5.0 (clang-500.2.79)
+		Boost		動作確認：1.55.0
+		Visual Studio (Windowsの場合)
+
+最初に，パッケージにコンフィギュレータのソースファイルが含まれていない
+場合には，コンフィギュレータのパッケージを，SSPカーネルのソースファイル
+を展開したディレクトリの下に展開する．
 
 	% cd ssp
 	% tar xvfz cfg-1.8.0.tar.gz
 
-Ü½ÍCRtBM
-[^ÌpbP[Wð¼ÌfBNgÉWJµCSSPJ[
-lÌ\[Xt@CðWJµ½fBNg©çV{bNNðÍÁ
-Äàæ¢D
-
-\[Xt@CªWJÅ«éÆCcfgfBNgÉÚ®µCRtBM
-[
-VXNvgiconfigurejÅMakefileÌÂ«Ë¶iMakefile.configj
-ð¶¬µ½ãCmakeR}hÉæèRtBM
-[^icfgvOjª\
-zÅ«éD
+または，コンフィギュレータのパッケージを他のディレクトリに展開し，SSPカー
+ネルのソースファイルを展開したディレクトリからシンボリックリンクをはっ
+てもよい．
+
+ソースファイルが展開できると，cfgディレクトリに移動し，コンフィギュレー
+ションスクリプト（configure）でMakefileの環境依存部（Makefile.config）
+を生成した後，makeコマンドによりコンフィギュレータ（cfgプログラム）が構
+築できる．
 
 	% cd cfg
@@ -317,146 +291,133 @@
 	% make
 
-½¾µCBoostðCXg[µ½fBNg¨æÑ¼ÌªWÅzèµÄ¢
-éàÌÆÍá¤êÉÍCconfigureÌ--with-headers¨æÑ--with-libraries
-IvVÉæèCwb_t@C¨æÑCuÌu©ê½fBNg
-ðwè·éKvª éD
-
-Ü½CzXgVXeÉæÁÄÍCÅK»xðã°éÆ³µ­RpC
-Å«È¢±ÆªmçêÄ¢éD»Ìæ¤ÈêÉÍCÅK»xðº°é©C
-ÅK»ð}~·éæ¤ÉCMakefileðC³·éKvª éD
-
-È¨CRtBM
-[^Ìgpû@ÉÂ¢ÄÍCuVDRtBM
-[^
-Ìg¢ûvÌÍÅà¾·éD
-
-3.3. TvvOÌ\zÆÀs
-
-ÉCSSPJ[lãÅ®ì·éTvvOð\z·éû@ðà¾·éD
-
-Ü¸CTvvOÌIuWFNgt@Cðu­fBNgðì¬
-µCRtBM
-[VXNvgðÀs·éDá¦ÎCIuWFNgt@
-Cðu­fBNgðCSSPJ[lÌ\[Xt@CðWJµ½fB
-NgÌºÌOBJÆ¢¤¼ÌÌfBNgÉ·éêÉÍCÌR}hð
-Às·éifBNgÌêÆ¼ÌÍCÓÉßÄæ¢jD
+ただし，Boostをインストールしたディレクトリおよび名称が標準で想定してい
+るものとは違う場合には，configureの--with-headersおよび--with-libraries
+オプションにより，ヘッダファイルおよびライブラリの置かれたディレクトリ
+を指定する必要がある．
+
+また，ホストシステムによっては，最適化レベルを上げると正しくコンパイル
+できないことが知られている．そのような場合には，最適化レベルを下げるか，
+最適化を抑止するように，Makefileを修正する必要がある．
+
+なお，コンフィギュレータの使用方法については，「７．コンフィギュレータ
+の使い方」の章で説明する．
+
+3.3. サンプルプログラムの構築と実行
+
+次に，SSPカーネル上で動作するサンプルプログラムを構築する方法を説明する．
+
+まず，サンプルプログラムのオブジェクトファイルを置くディレクトリを作成
+し，コンフィギュレーションスクリプトを実行する．例えば，オブジェクトファ
+イルを置くディレクトリを，SSPカーネルのソースファイルを展開したディレ
+クトリの下のOBJという名称のディレクトリにする場合には，次のコマンドを
+実行する（ディレクトリの場所と名称は任意に決めてよい）．
 
 	% cd ssp
 	% mkdir OBJ
 	% cd OBJ
-	% perl ../configure -T <^[QbgªÌ>
-
-±±ÅC<^[QbgªÌ>ÍCtargetfBNgÌºÉu©êÄ¢é^[Qb
-gË¶fBNgÌ¼ÌÅ éDRtBM
-[VXNvgÌI
-vVÉÂ¢ÄÍCuTDRtBM
-[VXNvgÌg¢ûvÌ
-ÍÅà¾·éD
-
-RtBM
-[VXNvgÌÀsÉæèCJgfBNgÉÍC
-TvvOð\z·é½ßÌMakefileCTvvOpÌR
-tBM
-[Vt@Cisample1.cfgjCTvvO{Ì
-isample1.h¨æÑsample1.cjª¶¬³êéD
-
-RtBM
-[VXNvgÌÀsãCKvÅ êÎMakefileðC³·
-éDMakefileÌC³û@ÉÂ¢ÄÍCuUDMakefileÌC³û@vÌÍÅà¾
-·éD
-
-»ÌãCmake dependÅË¶ÖWt@CiMakefile.dependjð¶¬µ½ãC
-makeR}hÉæèTvvOÌ[hW
-[iSSPÜ½Í
-SSP.exejª¶¬Å«éDË¶ÖWt@CÌ¶¬ÉÍá±Ôª©©éD
+	% perl ../configure -T <ターゲット略称>
+
+ここで，<ターゲット略称>は，targetディレクトリの下に置かれているターゲッ
+ト依存部ディレクトリの名称である．コンフィギュレーションスクリプトのオ
+プションについては，「５．コンフィギュレーションスクリプトの使い方」の
+章で説明する．
+
+コンフィギュレーションスクリプトの実行により，カレントディレクトリには，
+サンプルプログラムを構築するためのMakefile，サンプルプログラム用のコン
+フィギュレーションファイル（sample1.cfg），サンプルプログラム本体
+（sample1.hおよびsample1.c）が生成される．
+
+コンフィギュレーションスクリプトの実行後，必要であればMakefileを修正す
+る．Makefileの修正方法については，「６．Makefileの修正方法」の章で説明
+する．
+
+その後，make dependで依存関係ファイル（Makefile.depend）を生成した後，
+makeコマンドによりサンプルプログラムのロードモジュール（SSPまたは
+SSP.exe）が生成できる．依存関係ファイルの生成には若干時間がかかる．
 
 	% make depend
 	% make
 
-±±Å\zµ½TvvOisample1.hCsample1.cCsample1.cfgj
-ÍCSSPJ[lÌî{IÈ®ìðmF·é½ßÌàÌÅ éD±ÌvO
-ÌTvà¾ÍCsample1.cÌæªÌRgÉ éD
-
-3.4. J[lðÖPÊÅCu»·éû@
-
-OßÌèÅÍCJ[lðt@CPÊÅRpCµCCu»µÄ
-¢½ªCJ[lÌR[hTCYðk¬·é½ßÉÍCgpµÈ¢T[rXR[
-ÍNµÈ¢ûª]Üµ¢D»±ÅSSPJ[lÅÍCJ[lðÖPÊ
-ÅRpCµCCu»·éû@ðpÓµÄ¢éD
-
-±Ìû@ÅTvvOð\z·éÉÍCRtBM
-[VXN
-vgÉC»êðw¦·éIvVi-fjðtÁ·é¾¯Åæ¢D
+ここで構築したサンプルプログラム（sample1.h，sample1.c，sample1.cfg）
+は，SSPカーネルの基本的な動作を確認するためのものである．このプログラ
+ムの概要説明は，sample1.cの先頭のコメントにある．
+
+3.4. カーネルを関数単位でライブラリ化する方法
+
+前節の手順では，カーネルをファイル単位でコンパイルし，ライブラリ化して
+いたが，カーネルのコードサイズを縮小するためには，使用しないサービスコー
+ルはリンクしない方が望ましい．そこでSSPカーネルでは，カーネルを関数単位
+でコンパイルし，ライブラリ化する方法を用意している．
+
+この方法でサンプルプログラムを構築するには，コンフィギュレーションスク
+リプトに，それを指示するオプション（-f）を付加するだけでよい．
 
 	% mkdir OBJ_LIB
 	% cd OBJ_LIB
-	% perl ../configure -T <^[QbgªÌ> -f
-
-±±ÅCOBJ_LIBÆ¢¤fBNgÌêÆ¼ÌÍCCÓÉßÄæ¢D±ê
-È~ÌèÍCOßÆ¯¶Å éD
-
-3.5. AvP[VÆJ[lðÊXÉ\z·éû@
-
-OßÅà¾µ½û@ÅÍCAvP[VÆJ[lð¯É¶¬·é½ßC
-IuWFNgt@Cðu­fBNgÉñíÉ½­Ìt@Cªì¬³ê
-ÄCµ¢É­­ÈéD»±ÅCJ[lðC³·épxªá¢êÉÍCJ[
-lÍOÉ\zµÄ¨«CãÅAvP[V¾¯ð\z·éû@ðpÓ
-µÄ¢éDÈºÅÍCTvvOð\zðáÉC»ÌèÉÂ¢Äà
-¾·éD
-
-Ü¸CJ[lð\z·éfBNgðì¬µCRtBM
-[VX
-NvgðÀs·éDá¦ÎCJ[lð\z·éfBNgðCSSPJ[
-lÌ\[Xt@CðWJµ½fBNgÌºÌKERNEL_LIBÆ¢¤¼ÌÌ
-fBNgÉ·éêÉÍCÌR}hðÀs·éifBNgÌê
-Æ¼ÌÍCÓÉßÄæ¢jD
+	% perl ../configure -T <ターゲット略称> -f
+
+ここで，OBJ_LIBというディレクトリの場所と名称は，任意に決めてよい．これ
+以降の手順は，前節と同じである．
+
+3.5. アプリケーションとカーネルを別々に構築する方法
+
+前節で説明した方法では，アプリケーションとカーネルを同時に生成するため，
+オブジェクトファイルを置くディレクトリに非常に多くのファイルが作成され
+て，扱いにくくなる．そこで，カーネルを修正する頻度が低い場合には，カー
+ネルは事前に構築しておき，後でアプリケーションだけを構築する方法を用意
+している．以下では，サンプルプログラムを構築を例に，その手順について説
+明する．
+
+まず，カーネルを構築するディレクトリを作成し，コンフィギュレーションス
+クリプトを実行する．例えば，カーネルを構築するディレクトリを，SSPカー
+ネルのソースファイルを展開したディレクトリの下のKERNEL_LIBという名称の
+ディレクトリにする場合には，次のコマンドを実行する（ディレクトリの場所
+と名称は任意に決めてよい）．
 
 	% mkdir KERNEL_LIB
 	% cd KERNEL_LIB
-	% perl ../configure -T <^[QbgªÌ> -f
-
-±êÉæèCJ[lð\z·éfBNgÉCMakefileCsample1.cfgC
-sample1.hCsample1.cª¶¬³êéªCMakefileÈOÍÀ¿IÉÍgpµÈ¢D
-
-make dependÅË¶ÖWt@CiMakefile.dependjð¶¬µ½ãCmake
-libkernel.aÉæèJ[lCuilibkernel.ajª¶¬Å«éD
+	% perl ../configure -T <ターゲット略称> -f
+
+これにより，カーネルを構築するディレクトリに，Makefile，sample1.cfg，
+sample1.h，sample1.cが生成されるが，Makefile以外は実質的には使用しない．
+
+make dependで依存関係ファイル（Makefile.depend）を生成した後，make
+libkernel.aによりカーネルライブラリ（libkernel.a）が生成できる．
 
 	% make depend
 	% make libkernel.a
 
-ÉCAvP[Vð\z·éfBNgðì¬µCRtBM
-[
-VXNvgðÀs·éDá¦ÎCAvP[Vð\z·éfBN
-gðCSSPJ[lÌ\[Xt@CðWJµ½fBNgÌºÌAPLÆ¢
-¤¼ÌÌfBNgÉ·éêÉÍCÌR}hðÀs·éifBNg
-ÌêÆ¼ÌÍCÓÉßÄæ¢jD
+次に，アプリケーションを構築するディレクトリを作成し，コンフィギュレー
+ションスクリプトを実行する．例えば，アプリケーションを構築するディレク
+トリを，SSPカーネルのソースファイルを展開したディレクトリの下のAPLとい
+う名称のディレクトリにする場合には，次のコマンドを実行する（ディレクト
+リの場所と名称は任意に決めてよい）．
 
 	% cd ..
 	% mkdir APL
 	% cd APL
-	% perl ../configure -T <^[QbgªÌ> -L ../KERNEL_LIB
-
-±±Å-LIvVÉÍCJ[lð\zµ½fBNgÌpXðwè·éD
-
-ÅãÉCmake dependÅË¶ÖWt@CiMakefile.dependjð¶¬µ½ãC
-makeR}hÉæèTvvOÌ[hW
-[iSSPÜ½Í
-SSP.exejª¶¬Å«éD
+	% perl ../configure -T <ターゲット略称> -L ../KERNEL_LIB
+
+ここで-Lオプションには，カーネルを構築したディレクトリのパスを指定する．
+
+最後に，make dependで依存関係ファイル（Makefile.depend）を生成した後，
+makeコマンドによりサンプルプログラムのロードモジュール（SSPまたは
+SSP.exe）が生成できる．
 
 	% make depend
 	% make
 
-±ÌèÅÍCAvP[V\zÉÍJ[lÌÄ\zªKv©`Fb
-NµÈ¢½ßCJ[lÌ\[XR[hðC³µ½êÉÍCJ[lð\z
-µ½fBNgÅmake libkernel.aðÄÀs·éKvª éD
-
-ÈãÅÍCJ[lÆAvP[VðÊXÌfBNgÅ\zµ½ªC
--LIvVÉJgfBNgi½¾µC"."Æ¢¤LqÅÍsÂjðw
-è·é±ÆÅCJ[lÆAvP[Vð¯¶fBNgÅÊXÉ\z
-·é±ÆàÅ«éDïÌIÉÍCÌèÆÈéD
+この手順では，アプリケーション構築時にはカーネルの再構築が必要かチェッ
+クしないため，カーネルのソースコードを修正した場合には，カーネルを構築
+したディレクトリでmake libkernel.aを再実行する必要がある．
+
+以上では，カーネルとアプリケーションを別々のディレクトリで構築したが，
+-Lオプションにカレントディレクトリ（ただし，"."という記述では不可）を指
+定することで，カーネルとアプリケーションを同じディレクトリで別々に構築
+することもできる．具体的には，次の手順となる．
 
 	% mkdir OBJ
 	% cd OBJ
-	% perl ../configure -T <^[QbgªÌ> -L ../OBJ
+	% perl ../configure -T <ターゲット略称> -L ../OBJ
 	% make depend
 	% make libkernel.a
@@ -464,603 +425,530 @@
 	% make
 
-±±ÅCmake cleankernelÍCJ[lCuð¶¬·é½ßÌÔt@
-Cðí·éàÌÅ éD±ÌèÅÍCmake dependÉæèJ[lC
-uÉÖ·éË¶ÖWð¶¬µÈ¢½ßCJ[lÌ\[XR[hðC³µ
-½êÉÍCK¸make cleankerneliÜ½ÍCmake cleanjµÄ©çCmake
-libkernel.a·éKvª éÌÅÓ·é±ÆD
-
-È¨Cmake realclean·éÆCmake dependÆmakeÉæè¶¬µ½t@Cð·
-×Äí·éD»êÉÎµÄCmake cleanÅÍCmake dependÉæè¶¬µ½Ë
-¶ÖWt@CÍíµÈ¢D
-
-
-SDfBNg\¬Et@C\¬
-
-4.1. zzpbP[WÌfBNg\¬
-
-	include/		AvP[Vü¯wb_t@C
-	kernel/			J[l\[Xt@C
-	syssvc/			VXeT[rXwb_t@CC\[Xt@C
-	target/			^[QbgË¶
-	arch/			^[QbgË¶Ì¤Êª
-		gcc/		GCCJ­Â«Ë¶
-	pdic/			PDICifoCXhCoÌOSñË¶ªj
-	utils/			[eBeBvO
-	sample/			TvvOÆMakefile
-	doc/			hL
-g
-	extension/		g£pbP[W
-
-4.2. ^[QbgñË¶Ìt@C\¬
-
-^[QbgñË¶ieXgvOÆg£pbP[WÍ­jÌet@C
-ÌTvÍÌÊèD
-
-	README.txt					TOPPERS/SSPJ[lÌÈPÈÐî
-	configure					RtBM
-[VXNvgiGNUJ­Â«pj
-	MANIFEST					ÂÊpbP[WÌt@CXg
+ここで，make cleankernelは，カーネルライブラリを生成するための中間ファ
+イルを削除するものである．この手順では，make dependによりカーネルライ
+ブラリに関する依存関係を生成しないため，カーネルのソースコードを修正し
+た場合には，必ずmake cleankernel（または，make clean）してから，make
+libkernel.aする必要があるので注意すること．
+
+なお，make realcleanすると，make dependとmakeにより生成したファイルをす
+べて削除する．それに対して，make cleanでは，make dependにより生成した依
+存関係ファイルは削除しない．
+
+
+４．ディレクトリ構成・ファイル構成
+
+4.1. 配布パッケージのディレクトリ構成
+
+	include/		アプリケーション向けヘッダファイル
+	kernel/			カーネルソースファイル
+	syssvc/			システムサービスヘッダファイル，ソースファイル
+	target/			ターゲット依存部
+	arch/			ターゲット依存部の共通部分
+		gcc/		GCC開発環境依存部
+	pdic/			PDIC（デバイスドライバのOS非依存部分）
+	utils/			ユーティリティプログラム
+	sample/			サンプルプログラムとMakefile
+	doc/			ドキュメント
+	extension/		拡張パッケージ
+
+4.2. ターゲット非依存部のファイル構成
+
+ターゲット非依存部（テストプログラムと拡張パッケージは除く）の各ファイ
+ルの概要は次の通り．
+
+	README.txt					TOPPERS/SSPカーネルの簡単な紹介
+	configure					コンフィギュレーションスクリプト（GNU開発環境用）
+	MANIFEST					個別パッケージのファイルリスト
 
 	include/
-		kernel.h				SSPJ[lðgp·é½ßÌè`
-		sil.h					VXeC^tF[XCðgp·é½ßÌè`
-		t_stddef.h				TOPPERS¤Êwb_t@C
-		itron.h					ITRONdl¤ÊKèÌf[^^EèE}N
+		kernel.h				SSPカーネルを使用するための定義
+		sil.h					システムインタフェースレイヤを使用するための定義
+		t_stddef.h				TOPPERS共通ヘッダファイル
+		itron.h					ITRON仕様共通規定のデータ型・定数・マクロ
 
 	kernel/
-		Makefile.kernel			J[lÌt@C\¬Ìè`
-		kernel_impl.h			J[lÀpWwb_t@C
-		kernel_int.h			kernel_cfg.cpÌwb_t@C
-		kernel_rename.def		J[lÌà¯Ê¼Ìl[è`
-		kernel_rename.h			J[lÌà¯Ê¼Ìl[
-		kernel_unrename.h		J[lÌà¯Ê¼Ìl[ð	
-		kernel_api.csv			RtBM
-[^ÌÃIAPIe[u
-		kernel_def.csv			RtBM
-[^Ìlæ¾V{e[u
-		kernel.tf				RtBM
-[^ÌpX2Ìev[gt@C
-		kernel_check.tf			RtBM
-[^ÌpX3Ìev[gt@C
-		allfunc.h				·×ÄÌÖðRpC·é½ßÌè`
-		check.h					G[`FbNp}N
-		startup.c				J[lÌú»ÆI¹
-		task.h					^XNì[`ÖAÌè`
-		task.c					^XNì[`
-		task_manage.c			^XNÇ@\
-		sys_manage.c			VXeóÔÇ@\
-		interrupt.h				ÝÇ@\ÖAÌè`
-		interrupt.c				ÝÇ@\
-		exception.h				CPUáOÇ@\ÖAÌè`
-		exception.c				CPUáOÇ@\
-		queue.h					L
-[ìCuðgp·é½ßÌè`
+		Makefile.kernel			カーネルのファイル構成の定義
+		kernel_impl.h			カーネル実装用標準ヘッダファイル
+		kernel_int.h			kernel_cfg.c用のヘッダファイル
+		kernel_rename.def		カーネルの内部識別名のリネーム定義
+		kernel_rename.h			カーネルの内部識別名のリネーム
+		kernel_unrename.h		カーネルの内部識別名のリネーム解除	
+		kernel_api.csv			コンフィギュレータの静的APIテーブル
+		kernel_def.csv			コンフィギュレータの値取得シンボルテーブル
+		kernel.tf				コンフィギュレータのパス2のテンプレートファイル
+		kernel_check.tf			コンフィギュレータのパス3のテンプレートファイル
+		allfunc.h				すべての関数をコンパイルするための定義
+		check.h					エラーチェック用マクロ
+		startup.c				カーネルの初期化と終了処理
+		task.h					タスク操作ルーチン関連の定義
+		task.c					タスク操作ルーチン
+		task_manage.c			タスク管理機能
+		sys_manage.c			システム状態管理機能
+		interrupt.h				割込み管理機能関連の定義
+		interrupt.c				割込み管理機能
+		exception.h				CPU例外管理機能関連の定義
+		exception.c				CPU例外管理機能
+		queue.h					キュー操作ライブラリを使用するための定義
 
 	syssvc/
-		banner.h				J[lN®bZ[WÌoÍÌ½ßÌè`
-		banner.c				J[lN®bZ[WÌoÍ
-		banner.cfg				J[lN®bZ[WÌoÍÌRtBM
-[
-								Vt@C
-		serial.h				VAC^tF[XhCoðgp·é½ßÌè`
-		serial.c				VAC^tF[XhCo
-		serial.cfg				VAhCoÌRtBM
-[Vt@C
-		syssvc_def.csv			VXeT[rXÌRtBM
-[VÌÛÉKvÈ
-								RtBM
-[^Ìlæ¾V{e[u
+		banner.h				カーネル起動メッセージの出力のための定義
+		banner.c				カーネル起動メッセージの出力
+		banner.cfg				カーネル起動メッセージの出力のコンフィギュレー
+								ションファイル
+		serial.h				シリアルインタフェースドライバを使用するための定義
+		serial.c				シリアルインタフェースドライバ
+		serial.cfg				シリアルドライバのコンフィギュレーションファイル
+		syssvc_def.csv			システムサービスのコンフィギュレーションの際に必要な
+								コンフィギュレータの値取得シンボルテーブル
 
 	arch/gcc/
-		MANIFEST				ÂÊpbP[WÌt@CXg
-		tool_stddef.h			t_stddef.hÌJ­Â«Ë¶iGCCpj
+		MANIFEST				個別パッケージのファイルリスト
+		tool_stddef.h			t_stddef.hの開発環境依存部（GCC用）
 
 	utils/
-		applyrename				t@CÉl[ðKp
-		genrename				l[wb_t@CÌ¶¬
-		makedep					Ë¶ÖWXgÌ¶¬iGNUJ­Â«pj
-		makerelease				[XpbP[WÌ¶¬
+		applyrename				ファイルにリネームを適用
+		genrename				リネームヘッダファイルの生成
+		makedep					依存関係リストの生成（GNU開発環境用）
+		makerelease				リリースパッケージの生成
 
 	sample/
-		Makefile				TvÌMakefileiGNUJ­Â«pj
-		sample1.h				TvvO(1)ÉÖ·éè`
-		sample1.c				TvvO(1)
-		sample1.cfg				TvvO(1)ÌRtBM
-[Vt@C
+		Makefile				サンプルのMakefile（GNU開発環境用）
+		sample1.h				サンプルプログラム(1)に関する定義
+		sample1.c				サンプルプログラム(1)
+		sample1.cfg				サンプルプログラム(1)のコンフィギュレーションファイル
 
 	extension/
-		alarm.h					A[nh@\ÖAÌè`
-		alarm.c					A[nh@\
-		cyclic.h				üúnh@\ÖAÌè`
-		cyclic.c				üúnh@\
-        dataqueue.h             f[^L
-[@\ÖAÌè`
-        dataqueue.c             f[^L
-[@\
-		time_event.h			^CCxgÇÖAÌè`
-        eventflag.h             CxgtOÖAÌè`
-        eventflag.c             CxgtO@\
-		time_event.c			^CCxgÇ
-		time_manage.c			VXeÇ@\
-		MANIFEST				g£pbP[WÌt@CXg
+		alarm.h					アラームハンドラ機能関連の定義
+		alarm.c					アラームハンドラ機能
+		cyclic.h				周期ハンドラ機能関連の定義
+		cyclic.c				周期ハンドラ機能
+        dataqueue.h             データキュー機能関連の定義
+        dataqueue.c             データキュー機能
+		time_event.h			タイムイベント管理関連の定義
+        eventflag.h             イベントフラグ関連の定義
+        eventflag.c             イベントフラグ機能
+		time_event.c			タイムイベント管理
+		time_manage.c			システム時刻管理機能
+		MANIFEST				拡張パッケージのファイルリスト
 
 	doc/
-		user.txt				[U[Y}j
-A
-		ssp_spec.txt			TOPPERS/SSPJ[lÌdlTv
-		extension.txt			@\g£E`
-[jOKCh
-		porting.txt				^[QbgË¶ |[eBOKCh
-		configurator.txt		RtBM
-[^dl
-		version.txt				ÏXð
-
-
-TDRtBM
-[VXNvgÌg¢û
-
-RtBM
-[VXNvgiconfigurejÍCSSPJ[l¨æÑAv
-P[VvOð\z·é½ßÉKvÈî{IÈRtBM
-[V
-ðs¤½ßÌvOÅ éD
-
-SSPJ[lðp¢ÄAvP[Vðì¬·éêÉÍCÜ¸IuWFNg
-t@Cðu­fBNgðì¬µC»ÌfBNgÅRtBM
-[
-VXNvgðÀs·éDIuWFNgt@Cðu­fBNgÌê
-Æ¼ÌÍCCÓÉßÄæ¢D
-
-RtBM
-[VXNvgÉÎ·éIvVÍÌÊèD
-
-	-T <^[QbgªÌ>
-		^[QbgVXeÌ¼ÌðCtargetfBNgÌºÉu©êÄ¢
-		é^[QbgË¶fBNgÌ¼ÌÅwè·éiK{jD
-
-	-A <AvP[VvO¼>
-		AvP[VvOÌ¼Ìðwè·éDÈªµ½êÉÍC
-		TvvOisample1jÆÈéD
-
-	-a <AvP[VÌfBNg¼>
-		AvP[VvOÌ\[Xt@CiVXeRtBM
-
-		[Vt@Cð­jðu¢½fBNg¼ðwè·éDÈ
-		ªµ½êÉÍCIuWFNgt@Cðu­fBNgÉu©ê
-		Ä¢é±Æð¼è·éDVXeRtBM
-[Vt@CÍC
-		IuWFNgt@Cðu­fBNgÉu­±ÆD
-
-	-U <IuWFNgt@C¼>
-		AvP[VvOÌCÌIuWFNgt@Ci-A 
-		Åwèµ½AvP[VvO¼É".o"ðtÁµ½àÌjÈ
-		OÉCN·×«IuWFNgt@CÌ¼ÌðC".o"ðtÁµ½
-		`Åwè·éD""ÅÍÞ±ÆÉæÁÄC¡Ìt@Cðwè·é±
-		ÆàÂ\Å éi-UIvVð¡gÁÄÍÈçÈ¢jD
-
-	-L <J[lCuÌfBNg¼>
-		OÉ\zµ½J[lCuilibkernel.ajðp¢ÄCAv
-		P[VÌÝð\z·éêÉÍC±ÌIvVÉJ[lC
-		uÌu©ê½fBNg¼ðwè·éD±ÌIvVÌgp
-		áÉÂ¢ÄÍCu3.5 AvP[VÆJ[lðÊXÉ\z·é
-		û@vÌßðQÆ·é±ÆD
+		user.txt				ユーザーズマニュアル
+		ssp_spec.txt			TOPPERS/SSPカーネルの仕様概要
+		extension.txt			機能拡張・チューニングガイド
+		porting.txt				ターゲット依存部 ポーティングガイド
+		configurator.txt		コンフィギュレータ仕様
+		version.txt				変更履歴
+
+
+５．コンフィギュレーションスクリプトの使い方
+
+コンフィギュレーションスクリプト（configure）は，SSPカーネルおよびアプ
+リケーションプログラムを構築するために必要な基本的なコンフィギュレーショ
+ンを行うためのプログラムである．
+
+SSPカーネルを用いてアプリケーションを作成する場合には，まずオブジェクト
+ファイルを置くディレクトリを作成し，そのディレクトリでコンフィギュレー
+ションスクリプトを実行する．オブジェクトファイルを置くディレクトリの場
+所と名称は，任意に決めてよい．
+
+コンフィギュレーションスクリプトに対するオプションは次の通り．
+
+	-T <ターゲット略称>
+		ターゲットシステムの名称を，targetディレクトリの下に置かれてい
+		るターゲット依存部ディレクトリの名称で指定する（必須）．
+
+	-A <アプリケーションプログラム名>
+		アプリケーションプログラムの名称を指定する．省略した場合には，
+		サンプルプログラム（sample1）となる．
+
+	-a <アプリケーションのディレクトリ名>
+		アプリケーションプログラムのソースファイル（システムコンフィギュ
+		レーションファイルを除く）を置いたディレクトリ名を指定する．省
+		略した場合には，オブジェクトファイルを置くディレクトリに置かれ
+		ていることを仮定する．システムコンフィギュレーションファイルは，
+		オブジェクトファイルを置くディレクトリに置くこと．
+
+	-U <オブジェクトファイル名>
+		アプリケーションプログラムのメインのオブジェクトファイル（-A 
+		で指定したアプリケーションプログラム名に".o"を付加したもの）以
+		外に，リンクすべきオブジェクトファイルの名称を，".o"を付加した
+		形で指定する．""で囲むことによって，複数のファイルを指定するこ
+		とも可能である（-Uオプションを複数使ってはならない）．
+
+	-L <カーネルライブラリのディレクトリ名>
+		事前に構築したカーネルライブラリ（libkernel.a）を用いて，アプリ
+		ケーションのみを構築する場合には，このオプションにカーネルライ
+		ブラリの置かれたディレクトリ名を指定する．このオプションの使用
+		例については，「3.5 アプリケーションとカーネルを別々に構築する
+		方法」の節を参照すること．
 
 	-f
-		J[lðÖPÊÅRpCµCu»·éêÉC±ÌI
-		vVðwè·éD±ÌIvVÌgpáÉÂ¢ÄÍCu3.4 J[
-		lðÖPÊÅCu»·éû@vÌßðQÆ·é±ÆD
-
-	-D <SSPJ[lÌ\[XfBNg¼>
-		SSPJ[lÌ\[Xt@Cðu¢½fBNg¼ðwè·éDÈ
-		ªµ½êÉÍCconfigureÌu©êÄ¢éfBNgÆÈéD
-
-	-l <vO~O¾ê>
-		AvP[VvOÌvO~O¾êðwè·éD»
-		_ÅÍCcÆc++ÌÝðT|[gµÄ¢éD
-
-	-t <ev[gfBNg¼>
-		MakefileâTvvOÌev[gÌu©ê½fBNg
-		¼ðwè·éDÈªµ½êÉÍCSSPJ[lÌ\[Xt@Cð
-		u¢½fBNgÌºÌsamplefBNgÆÈéD
-
-	-m <ev[gMakefile¼>
-		MakefileÌev[gÆ·ét@C¼ðwè·éDÈªµ½ê
-		ÉÍCMakefileÆÈéD
-
-	-d <ÀsÂ«¼>
-		^[QbgVXeãÅÌvOÌÀsÂ«iÈ¢µÍCfob
-		OÂ«jÌ¼Ìðwè·éD±ÌIvVðwè·éÆCÀsÂ«
-		ðwè·éV{iTOPPERS_<fobOÂ«¼>jª}Nè`³ê
-		éDÈªµ½êÉÍCÀsÂ«ðwè·éV{Í}Nè`³
-		êÈ¢D
+		カーネルを関数単位でコンパイルしライブラリ化する場合に，このオ
+		プションを指定する．このオプションの使用例については，「3.4 カー
+		ネルを関数単位でライブラリ化する方法」の節を参照すること．
+
+	-D <SSPカーネルのソースディレクトリ名>
+		SSPカーネルのソースファイルを置いたディレクトリ名を指定する．省
+		略した場合には，configureの置かれているディレクトリとなる．
+
+	-l <プログラミング言語>
+		アプリケーションプログラムのプログラミング言語を指定する．現時
+		点では，cとc++のみをサポートしている．
+
+	-t <テンプレートディレクトリ名>
+		Makefileやサンプルプログラムのテンプレートの置かれたディレクト
+		リ名を指定する．省略した場合には，SSPカーネルのソースファイルを
+		置いたディレクトリの下のsampleディレクトリとなる．
+
+	-m <テンプレートMakefile名>
+		Makefileのテンプレートとするファイル名を指定する．省略した場合
+		には，Makefileとなる．
+
+	-d <実行環境名>
+		ターゲットシステム上でのプログラムの実行環境（ないしは，デバッ
+		グ環境）の名称を指定する．このオプションを指定すると，実行環境
+		を指定するシンボル（TOPPERS_<デバッグ環境名>）がマクロ定義され
+		る．省略した場合には，実行環境を指定するシンボルはマクロ定義さ
+		れない．
 
 	-r
-		g[XOL^ÌTvR[hðLøÉ·éêÉC±ÌIvV
-		ðwè·éD±ÌIvVÌgpáÉÂ¢ÄÍCu11.5 g[X
-		OL^ÌTvR[hÌgpû@vÌßðQÆ·é±ÆD
-
-	-p <perlÌpX¼>
-		perlÌpX¼ðwè·éDÈªµ½êÉÍC/usr/local/binÆ
-		/usr/binðTõµCperlÌpX¼ðè·éD
-
-	-g <RtBM
-[^ÌpX¼>
-		RtBM
-[^icfgjÌpX¼ðwè·éDÈªµ½êÉÍC
-		ftHgÌpX¼iSSPJ[lÌ\[XfBNgÌºÌ
-		cfg/cfg/cfgjÆÈéD
-
-RtBM
-[VXNvgªs¤ÍÌÊèÅ éD
-
-(1) MakefileÌ¶¬
-
-ev[gfBNgiftHgÅÍCsamplej©çKØÈMakefileð
-IðµCKvÈÓð«·¦ÄCMakefileð¶¬·éD
-
-(2) TvvOÌ¶¬
-
-wèµ½AvP[VvOªev[gfBNgÉ éêC
-KØÈAvP[VvOÌ\[Xt@CðIðµCKvÈÓð
-«·¦ÄCAvP[VvOÌ\[Xt@Ciá¦ÎC
-sample1.hCsample1.cCsample1.cfgjð¶¬·éD
-
-(3) RtBM
-[^ªpÓÅ«Ä¢é©Ì`FbN
-
-RtBM
-[^icfgjÌÀst@Cª é©`FbNµCt@CªÈ
-¢êÉÍC»Ì|ðoÍ·éD
-
-
-UDMakefileÌC³û@
-
-OÌÍÅà¾µ½æ¤ÉCRtBM
-[VXNvgÉ^¦éIvV
-©çMakefileª¶¬³êéªCRtBM
-[VXNvgÅÎ
-Å«È¢êÉÍCMakefileð¼ÚC³·éKvª éD±±ÅÍCMakefile
-ÌÅCC³ªKvÆÈéÂ\«Ì¢ÓÉÂ¢Äà¾·éD
-
-È¨CMakefileðC³µ½ãÉRtBM
-[VXNvgðÄÀs·
-éÆCC³µ½Makefileªã«³êÄµÜ¤ÌÅÓ·é±ÆiÃ¢àÌª
-Makefile.bakÉÛ¶³êéjD
-
-6.1. MakefileÌÏè`
-
-(A) ^[QbgªÌ
-
-TARGETÉÍC^[QbgVXeÌ¼ÌðCtargetfBNgÌºÉu©ê
-Ä¢é^[QbgË¶fBNgÌ¼ÌÅwè·éD±Ìè`ÍCÊíÍC
-RtBM
-[VXNvgÉÎ·é-TIvVÉæès¤D
-
-(B) IuWFNgt@CÌg£q
-
-CygwinÂ«ÅRpC·éÉÍCOBJEXTð"exe"Éè`·éKvª éD±
-êÍCCygwinÂ«ÅÍC[hW
-[Ìt@C¼Ég£q".exe"ªtÁ
-³êéÌÉÎ·é½ßÌàÌÅ éDCygwinÂ«Å é±Æð»èÅ«êÎC
-RtBM
-[VXNvgª±Ìè`ðs¤D
-
-(C) ÀsÂ«i^[QbgË¶j
-
-^[QbgÉæÁÄÍCÀsÂ«ÉÎµÄ^[QbgË¶ÌR[hð·µ
-·¦éêª éD±êðÂ\É·é½ßÉCÀsÂ«Ì¼ÌðDBGENVÉè`
-µÄ¢éD±Ìè`ÍCÊíÍCRtBM
-[VXNvgÉÎ·
-é-DIvVÉæès¤DÇÌ^[QbgªÇÌÀsÂ«ÉÎµÄ¢é©
-ÍC^[QbgË¶Ì[U[Y}j
-AðQÆ·é±ÆD
-
-(D) J[lCuÌfBNg¼
-
-KERNEL_LIBÉÍCJ[lCuÌu©ê½fBNg¼ðè`·éD
-±Ìè`ÍCÊíÍCRtBM
-[VXNvgÉÎ·é-LIvV
-Éæès¤D
-
-(E) J[lðÖPÊÅRpC·é©Ç¤©
-
-KERNEL_FUNCOBJSÍCJ[lðÖPÊÅRpC·éêÉÍtrueÉè`
-µCt@CPÊÅRpC·éêÉÍ¢è`Æ·éD±Ìè`ÍCÊí
-ÍCRtBM
-[VXNvgÉÎ·é-fIvVÉæès¤D
-
-(F) ¤ÊRpCIvV
-
-·×ÄÌvOÉ¤Ê·éRpCIvVÌÇÁªKvÈêÉÍC
-ºÌÏÌè`ðÏX·éD»ÌRpCIvVªCÁèÌ^[Qbg
-ÅíÉKvÈêÉÍC^[QbgË¶Ìè`ðüê½Makefile.targetðC
-³·×«Å éD
-
-	CDEFS		RpCÉÎ·é-DIvVðLq·éD
-	INCLUDES	RpCÉÎ·é-IIvVðLq·éD
-	COPTS		RpCÉÎ·é»Ì¼ÌIvVðLq·éD
-	LDFLAGS		JÉÎ·éIvVðLq·éD
-	LIBS		CuNÌ½ßÌIvVðLq·éD
-
-ÇÁÌÂ\«Ì éRpCIvVÉÂ¢ÄÍCu6.2 RpCIv
-VvÌßðQÆÌ±ÆD
-
-(G) AvP[VvO¼
-
-APPLNAMEÉÍCAvP[VvO¼ðè`·éDVXeRtB
-M
-[Vt@C¼ÍCAPPLNAMEÉè`µ½¼OÉg£q".cfg"ðtÁ
-µ½¼OÆ·éDÜ½CAvP[VÌCt@CÍCAPPLNAMEÉè
-`µ½¼OÉg£q".c"ðtÁµ½¼OÆ·éD±Ìè`ÍCÊíÍCRtB
-M
-[VXNvgÉÎ·é-AIvVÉæès¤D
-
-(H) AvP[VÌfBNg¼
-
-AvP[VÌ\[Xt@CðCIuWFNgt@Cðu­ÌÆÍÊ
-ÌfBNgÉu­êÉÍCAPPLDIRÉ»ÌfBNg¼ðè`·éD±
-Ìè`ÍCÊíÍCRtBM
-[VXNvgÉÎ·é-aIvV
-Éæès¤DAvP[VÌ\[Xt@Cðu­fBNgª¡ 
-éêÉÍCAPPL_DIRÌè`ðÏX·é±ÆÅÎ·éD
-
-(I) AvP[VÌvOt@C¼
-
-AvP[Vª¡Ì\[Xt@CÅ\¬³êéêÉÍC»ÌIuWF
-Ngt@C¼ðCAPPL_ASMOBJSCAPPL_COBJSCAPPL_CXXOBJSÉñ·éD
-
-(J) AvP[VÌRpCIvV
-
-AvP[VÌRpCÉKvÈRpCIvVâCAvP[
-VªCuðKvÆ·éêÉÍCAPPL_CFLAGS¨æÑAPPL_LIBSÉè
-`·éD
-
-(K) [hW
-[Ìt@C¼
-
-WÌ[hW
-[Ìt@C¼ðOBJNAMEÉè`·éDftHgÍSSP
-Å éD
-
-(L) ^[Qbgt@CÌè`
-
-^[Qbg"all"ÌË¶t@CÆµÄC[hW
-[Ì`®ðwè·éD
-ïÌIÉÍCELF`®ÌÍ$(OBJFILE)CoCi`®ÌÍ$(OBJNAME).binC
-g[ S`®ÌÍ$(OBJNAME).srecðwè·éD$(OBJFILE)ÍCCygwin
-Â«ÅOBJEXTð"exe"Éè`µ½ÉÍ$(OBJNAME).exeC»¤ÅÈ¢êÉÍ
-$(OBJNAME)ÆÈéD
-
-(M) makedepÌIvVÌè`
-
-CygwinÂ«Å[gfBNgª"cygdrive"ÅÈ¢êÉÍCmakedepÌ-RI
-vVÅ[gfBNg¼ð^¦éKvª éDmakedepÌIvVÍC
-ÌáÌæ¤ÉCMAKEDEP_OPTSÉè`·éD
+		トレースログ記録のサンプルコードを有効にする場合に，このオプショ
+		ンを指定する．このオプションの使用例については，「11.5 トレース
+		ログ記録のサンプルコードの使用方法」の節を参照すること．
+
+	-p <perlのパス名>
+		perlのパス名を指定する．省略した場合には，/usr/local/binと
+		/usr/binを探索し，perlのパス名を決定する．
+
+	-g <コンフィギュレータのパス名>
+		コンフィギュレータ（cfg）のパス名を指定する．省略した場合には，
+		デフォルトのパス名（SSPカーネルのソースディレクトリの下の
+		cfg/cfg/cfg）となる．
+
+コンフィギュレーションスクリプトが行う処理は次の通りである．
+
+(1) Makefileの生成
+
+テンプレートディレクトリ（デフォルトでは，sample）から適切なMakefileを
+選択し，必要な箇所を書き換えて，Makefileを生成する．
+
+(2) サンプルプログラムの生成
+
+指定したアプリケーションプログラムがテンプレートディレクトリにある場合，
+適切なアプリケーションプログラムのソースファイルを選択し，必要な箇所を
+書き換えて，アプリケーションプログラムのソースファイル（例えば，
+sample1.h，sample1.c，sample1.cfg）を生成する．
+
+(3) コンフィギュレータが用意できているかのチェック
+
+コンフィギュレータ（cfg）の実行ファイルがあるかチェックし，ファイルがな
+い場合には，その旨を出力する．
+
+
+６．Makefileの修正方法
+
+前の章で説明したように，コンフィギュレーションスクリプトに与えるオプショ
+ン等からMakefileが生成されるが，コンフィギュレーションスクリプトで対応
+できない場合には，Makefileを直接修正する必要がある．ここでは，Makefile
+の中で，修正が必要となる可能性の高い箇所について説明する．
+
+なお，Makefileを修正した後にコンフィギュレーションスクリプトを再実行す
+ると，修正したMakefileが上書きされてしまうので注意すること（古いものが
+Makefile.bakに保存される）．
+
+6.1. Makefileの変数定義
+
+(A) ターゲット略称
+
+TARGETには，ターゲットシステムの名称を，targetディレクトリの下に置かれ
+ているターゲット依存部ディレクトリの名称で指定する．この定義は，通常は，
+コンフィギュレーションスクリプトに対する-Tオプションにより行う．
+
+(B) オブジェクトファイルの拡張子
+
+Cygwin環境でコンパイルする時には，OBJEXTを"exe"に定義する必要がある．こ
+れは，Cygwin環境では，ロードモジュールのファイル名に拡張子".exe"が付加
+されるのに対応するためのものである．Cygwin環境であることを判定できれば，
+コンフィギュレーションスクリプトがこの定義を行う．
+
+(C) 実行環境（ターゲット依存）
+
+ターゲットによっては，実行環境に対応してターゲット依存部のコードを差し
+換える場合がある．これを可能にするために，実行環境の名称をDBGENVに定義
+している．この定義は，通常は，コンフィギュレーションスクリプトに対す
+る-Dオプションにより行う．どのターゲットがどの実行環境に対応しているか
+は，ターゲット依存部のユーザーズマニュアルを参照すること．
+
+(D) カーネルライブラリのディレクトリ名
+
+KERNEL_LIBには，カーネルライブラリの置かれたディレクトリ名を定義する．
+この定義は，通常は，コンフィギュレーションスクリプトに対する-Lオプショ
+ンにより行う．
+
+(E) カーネルを関数単位でコンパイルするかどうか
+
+KERNEL_FUNCOBJSは，カーネルを関数単位でコンパイルする場合にはtrueに定義
+し，ファイル単位でコンパイルする場合には未定義とする．この定義は，通常
+は，コンフィギュレーションスクリプトに対する-fオプションにより行う．
+
+(F) 共通コンパイルオプション
+
+すべてのプログラムに共通するコンパイルオプションの追加が必要な場合には，
+下の変数の定義を変更する．そのコンパイルオプションが，特定のターゲット
+で常に必要な場合には，ターゲット依存の定義を入れたMakefile.target等を修
+正すべきである．
+
+	CDEFS		コンパイラに対する-Dオプションを記述する．
+	INCLUDES	コンパイラに対する-Iオプションを記述する．
+	COPTS		コンパイラに対するその他のオプションを記述する．
+	LDFLAGS		リンカに対するオプションを記述する．
+	LIBS		ライブラリリンクのためのオプションを記述する．
+
+追加の可能性のあるコンパイルオプションについては，「6.2 コンパイルオプ
+ション」の節を参照のこと．
+
+(G) アプリケーションプログラム名
+
+APPLNAMEには，アプリケーションプログラム名を定義する．システムコンフィ
+ギュレーションファイル名は，APPLNAMEに定義した名前に拡張子".cfg"を付加
+した名前とする．また，アプリケーションのメインファイルは，APPLNAMEに定
+義した名前に拡張子".c"を付加した名前とする．この定義は，通常は，コンフィ
+ギュレーションスクリプトに対する-Aオプションにより行う．
+
+(H) アプリケーションのディレクトリ名
+
+アプリケーションのソースファイルを，オブジェクトファイルを置くのとは別
+のディレクトリに置く場合には，APPLDIRにそのディレクトリ名を定義する．こ
+の定義は，通常は，コンフィギュレーションスクリプトに対する-aオプション
+により行う．アプリケーションのソースファイルを置くディレクトリが複数あ
+る場合には，APPL_DIRの定義を変更することで対応する．
+
+(I) アプリケーションのプログラムファイル名
+
+アプリケーションが複数のソースファイルで構成される場合には，そのオブジェ
+クトファイル名を，APPL_ASMOBJS，APPL_COBJS，APPL_CXXOBJSに列挙する．
+
+(J) アプリケーションのコンパイルオプション
+
+アプリケーションのコンパイルに必要なコンパイルオプションや，アプリケー
+ションがライブラリを必要とする場合には，APPL_CFLAGSおよびAPPL_LIBSに定
+義する．
+
+(K) ロードモジュールのファイル名
+
+標準のロードモジュールのファイル名をOBJNAMEに定義する．デフォルトはSSP
+である．
+
+(L) ターゲットファイルの定義
+
+ターゲット"all"の依存ファイルとして，ロードモジュールの形式を指定する．
+具体的には，ELF形式の時は$(OBJFILE)，バイナリ形式の時は$(OBJNAME).bin，
+モトローラ S形式の時は$(OBJNAME).srecを指定する．$(OBJFILE)は，Cygwin
+環境でOBJEXTを"exe"に定義した時には$(OBJNAME).exe，そうでない場合には
+$(OBJNAME)となる．
+
+(M) makedepのオプションの定義
+
+Cygwin環境でルートディレクトリが"cygdrive"でない場合には，makedepの-Rオ
+プションでルートディレクトリ名を与える必要がある．makedepのオプションは，
+次の例のように，MAKEDEP_OPTSに定義する．
 
 MAKEDEP_OPTS = -R cygdrive
 
-6.2. RpCIvV
-
-SSPJ[lÌR[hÉÍCassert}NªgíêÄ¢éDassert}NÍC
-NDEBUGðè`·é±ÆÅCIuWFNgR[h©çÁ·±ÆªÅ«éDJ[
-lÌfobOªI¹·êÎC-DNDEBUGðwèµÄRpCµ½ûªø¦ª
-æ­ÈéD
-
-^[QbgË¶É¨¢ÄCRpCIvVÉ-WerrorixðG[µ
-¢·éjðwèµÄ¢éêª éD»Ìæ¤È^[QbgÉ¨¢ÄCAv
-P[VÅxªð¯çêÈ¢êÉÍC^[QbgË¶ðC³µÄR
-pCIvVðí·éKvª éD
-
-
-VDRtBM
-[^Ìg¢û
-
-RtBM
-[^icfgjÍCTOPPERSV¢ãJ[ldlÌ2.12.5ß
-ÌLqÌÊèC3ÂÌpXÅ\¬³êéD
-
-RtBM
-[^ÍCVXeRtBM
-[Vt@C¼ðp[
-^ÉæèCÈºÌIvVðÂidvÈàÌÌÝjD
+6.2. コンパイルオプション
+
+SSPカーネルのコード中には，assertマクロが使われている．assertマクロは，
+NDEBUGを定義することで，オブジェクトコード中から消すことができる．カー
+ネルのデバッグが終了すれば，-DNDEBUGを指定してコンパイルした方が効率が
+よくなる．
+
+ターゲット依存部において，コンパイルオプションに-Werror（警告をエラー扱
+いする）を指定している場合がある．そのようなターゲットにおいて，アプリ
+ケーションで警告が避けられない場合には，ターゲット依存部を修正してコン
+パイルオプションを削除する必要がある．
+
+
+７．コンフィギュレータの使い方
+
+コンフィギュレータ（cfg）は，TOPPERS新世代カーネル統合仕様書の2.12.5節
+の記述の通り，3つのパスで構成される．
+
+コンフィギュレータは，システムコンフィギュレーションファイル名をパラメー
+タに取り，以下のオプションを持つ（重要なもののみ）．
 
 	--help
-		IvVÌXgÆà¾ð\¦·éD
-
-	-vm--versionn
-		RtBM
-[^Ìo[Wð\¦·éD
-
-	-km--kerneln<J[l¼>
-		J[lÌ¼Ìðwè·éDftHgÍSSPD
-
-	-pm--passn<pXÔ>
-		pXÔðwè·éD1`3Ì¢¸ê©D
-
-	-Im--include-pathn<CN[hpX¼>
-		INCLUDEfBNeBuÉ¨¢ÄCCN[h·éRtBM
-[
-		Vt@CðT·pX¼ðwè·éD
-
-	-Tm--template-filen<ev[gt@C¼>
-		ev[gt@CÌ¼Ìðwè·éDpX2ÆpX3ÅLøD
-
-	--api-table <ÃIAPIe[ut@C¼>
-		ÃIAPIe[uÌt@C¼ðwè·éD
-
-	--cfg1-def-table <læ¾V{e[ut@C¼>
-		læ¾V{e[uÌt@C¼ðwè·éD
-
-	-rm--rom-imagen<[hW
-[¼>
-		[hW
-[ðSR[htH[}bgÌ`ÉÏ·µ½t@CÌ
-		¼Ìðwè·éDpX3ÅÌÝLøD
-
-	-s [--symbol-table] <V{t@C¼>
-		[hW
-[ÌeV{ÆAhXÌÎ\ðÜÞV{
-		t@CÌ¼Ìðwè·éDpX3ÅÌÝLøD
-
-	--id-output-file <IDÔoÍt@C¼>
-		SSPJ[lÅÍgpµÄÍÈçÈ¢BÚ×Íconfigurator.txtÌ
-		uJ[l\¬Eú»t@Cikernel_cfg.cjvÌ(5)ðQÆÌ±ÆB
-
-	--id-input-file <IDÔüÍt@C¼>
-		SSPJ[lÅÍgpµÄÍÈçÈ¢BÚ×Íconfigurator.txtÌ
-		uJ[l\¬Eú»t@Cikernel_cfg.cjvÌ(5)ðQÆÌ±ÆB
+		オプションのリストと説明を表示する．
+
+	-v［--version］
+		コンフィギュレータのバージョンを表示する．
+
+	-k［--kernel］<カーネル名>
+		カーネルの名称を指定する．デフォルトはSSP．
+
+	-p［--pass］<パス番号>
+		パス番号を指定する．1〜3のいずれか．
+
+	-I［--include-path］<インクルードパス名>
+		INCLUDEディレクティブにおいて，インクルードするコンフィギュレー
+		ションファイルを探すパス名を指定する．
+
+	-T［--template-file］<テンプレートファイル名>
+		テンプレートファイルの名称を指定する．パス2とパス3で有効．
+
+	--api-table <静的APIテーブルファイル名>
+		静的APIテーブルのファイル名を指定する．
+
+	--cfg1-def-table <値取得シンボルテーブルファイル名>
+		値取得シンボルテーブルのファイル名を指定する．
+
+	-r［--rom-image］<ロードモジュール名>
+		ロードモジュールをSレコードフォーマットの形に変換したファイルの
+		名称を指定する．パス3でのみ有効．
+
+	-s [--symbol-table] <シンボルファイル名>
+		ロードモジュール中の各シンボルとアドレスの対応表を含むシンボル
+		ファイルの名称を指定する．パス3でのみ有効．
+
+	--id-output-file <ID番号出力ファイル名>
+		SSPカーネルでは使用してはならない。詳細はconfigurator.txtの
+		「○カーネル構成・初期化ファイル（kernel_cfg.c）」の(5)を参照のこと。
+
+	--id-input-file <ID番号入力ファイル名>
+		SSPカーネルでは使用してはならない。詳細はconfigurator.txtの
+		「○カーネル構成・初期化ファイル（kernel_cfg.c）」の(5)を参照のこと。
 
 	--external-id
-		IuWFNgÌIDÔðÛ·éÏÌè`ð¶¬·éDpX2ÅÌÝ
-		LøD
-
-	-Mm--print-dependenciesn<^[QbgV{>
-		VXeRtBM
-[Vt@CÌË¶ÖWðoÍ·éD
-		MakefileÌË¶ÖWð¶¬·éÛÉp¢éD
-
-RtBM
-[^ÌÚ×dlÉÂ¢ÄÍCÊrPDFt@CÌ`ÅzzµÄ¢
-éuTOPPERSV¢ãJ[lpRtBM
-[^dlvðQÆ·é±ÆD
-
-
-WDVXeT[rX
-
-
-8.1. VAC^tF[XhCo
-
-VAC^tF[XhCoÍCVA|[gðµ¤½ßÌhCoÅ
- éD
-
-VAC^tF[XhCoÍCVXeRtBM
-[Vt@C
-Åserial.cfgðCN[h·é±ÆÅCVXeÉgÝÞ±ÆªÅ«éD
-VAC^tF[XhCoðÄÑo·\[Xt@CÅÍCserial.hð
-CN[h·éD
-
-8.1.1. VAC^tF[XhCoÌT[rXR[
-
-VAC^tF[XhCoðÄÑo·T[rXR[ÌdlÍÌÊè
-Å éD±ÌÅCVA|[gÌIDÔiportidjÌðßÍ^[QbgË
-¶ÆÈéD
-
-±êçÌT[rXR[ÍCñ^XNReLXg©çÄÑo·±ÆÍÅ«È
-¢DÜ½Cserial_rea_datÆserial_wri_datÍCfBXpb`Û¯óÔÅÄÑ
-o·±ÆÍÅ«È¢D¢¸êàCÄÑoµ½êÉÍE_CTXG[ÆÈéD
+		オブジェクトのID番号を保持する変数の定義を生成する．パス2でのみ
+		有効．
+
+	-M［--print-dependencies］<ターゲットシンボル>
+		システムコンフィギュレーションファイルの依存関係を出力する．
+		Makefile中の依存関係を生成する際に用いる．
+
+コンフィギュレータの詳細仕様については，別途PDFファイルの形で配布してい
+る「TOPPERS新世代カーネル用コンフィギュレータ仕様」を参照すること．
+
+
+８．システムサービス
+
+
+8.1. シリアルインタフェースドライバ
+
+シリアルインタフェースドライバは，シリアルポートを扱うためのドライバで
+ある．
+
+シリアルインタフェースドライバは，システムコンフィギュレーションファイ
+ルでserial.cfgをインクルードすることで，システムに組み込むことができる．
+シリアルインタフェースドライバを呼び出すソースファイルでは，serial.hを
+インクルードする．
+
+8.1.1. シリアルインタフェースドライバのサービスコール
+
+シリアルインタフェースドライバを呼び出すサービスコールの仕様は次の通り
+である．この中で，シリアルポートのID番号（portid）の解釈はターゲット依
+存となる．
+
+これらのサービスコールは，非タスクコンテキストから呼び出すことはできな
+い．また，serial_rea_datとserial_wri_datは，ディスパッチ保留状態で呼び
+出すことはできない．いずれも，呼び出した場合にはE_CTXエラーとなる．
 
 (1) ER serial_opn_por(ID portid)
 
-portidÅwè³ê½VA|[gðI[vµCóM^MªÂ\ÈóÔÉ
-·éD
+portidで指定されたシリアルポートをオープンし，受信／送信が可能な状態に
+する．
 
 (2) ER serial_cls_por(ID portid)
 
-portidÅwè³ê½VA|[gðN[Y·éD
+portidで指定されたシリアルポートをクローズする．
 
 (3) ER_UINT serial_rea_dat(ID portid, char *buf, uint_t len)
 
-portidÅwè³ê½VA|[g©çClenoCgÌ¶ñðóMµCbuf©
-çÌÌæÉüêéDVA|[gÌóMobt@Éi[³êÄ¢éoCgª
-len oCgæè­È¢êCæ¾Â\Èf[^ðbufÉi[µ½ç¦ÀÉ^[
-·éDóMµ½¶Ü½ÍG[R[hðÔ·D
+portidで指定されたシリアルポートから，lenバイトの文字列を受信し，bufか
+らの領域に入れる．シリアルポートの受信バッファに格納されているバイト数が
+len バイトより少ない場合，取得可能なデータをbufに格納したら即座にリターン
+する．受信した文字数またはエラーコードを返す．
 
 (4) ER_UINT serial_wri_dat(ID portid, const char *buf, uint_t len)
 
-portidÅwè³ê½VA|[gÉCbuf©çÌlenoCgÌ¶ñðM·
-éDMÉVA|[gÌMobt@ªtÉÈÁ½êC»Ì_Å
-¦ÀÉ^[·éDMµ½¶Ü½ÍG[R[hðÔ·D
+portidで指定されたシリアルポートに，bufからのlenバイトの文字列を送信す
+る．送信中にシリアルポートの送信バッファがフルになった場合，その時点で
+即座にリターンする．送信した文字数またはエラーコードを返す．
 
 (5) ER serial_ctl_por(ID portid, uint_t ioctl)
 
-portidÅwè³ê½VA|[gÌ§äîñðCioctlÅ¦³êélÉÝè·
-éD
-
-ioctlÉÍCÈºÌ§äîñð\·èðCrbgÉ_aðÆÁ½àÌð
-wè·éD
-
-	IOCTL_ECHOiGR[obN[hj
-		±ÌrbgðÝè·éÆCVAC^tF[XhCoªGR[
-		obNðs¤DïÌIÉÍCobt@©ç¶ðæèo·xÉC»Ì
-		¶ð«o·D
-
-	IOCTL_CRLFiüs[hj
-		LFiline feedjð«o·ÆCCRicarriage returnj{LFÉÏ·µ
-		Ä«o·D
-
-
-È¨CI[v¼ãÌftHgÌÝèlÍ(IOCTL_ECHO | IOCTL_CRLF)Å éD
-
-
-8.1.2. VAC^tF[XhCoÌ»Ì¼ÌT[rX
-
-VAC^tF[XhCoÍCOLÌT[rXR[ÉÁ¦ÄCú»
-Æ¢M¶ÌæoµðÂDú»ÍCJ[lÉú»[
-`ÆµÄo^·éDÜ½C^[QbgË¶ÅCú»CI¹C
-ÝT[rX[`ðÂD±êçÌo^Íserial.cfgÉÜÜêéD
+portidで指定されたシリアルポートの制御情報を，ioctlで示される値に設定す
+る．
+
+ioctlには，以下の制御情報を表す定数を，ビット毎に論理和をとったものを
+指定する．
+
+	IOCTL_ECHO（エコーバックモード）
+		このビットを設定すると，シリアルインタフェースドライバがエコー
+		バックを行う．具体的には，バッファから文字を取り出す度に，その
+		文字を書き出す．
+
+	IOCTL_CRLF（改行モード）
+		LF（line feed）を書き出すと，CR（carriage return）＋LFに変換し
+		て書き出す．
+
+
+なお，オープン直後のデフォルトの設定値は(IOCTL_ECHO | IOCTL_CRLF)である．
+
+
+8.1.2. シリアルインタフェースドライバのその他のサービス
+
+シリアルインタフェースドライバは，前記のサービスコールに加えて，初期化
+処理と未送信文字の取出し処理を持つ．初期化処理は，カーネルに初期化ルー
+チンとして登録する．また，ターゲット依存で，初期化処理，終了処理，割込
+みサービスルーチンを持つ．これらの登録処理はserial.cfgに含まれる．
 
 (1) void serial_initialize(intptr_t exinf)
 
-VAC^tF[XhCoðú»·éDJ[lÉú»[`Æ
-µÄo^·éDexinfÍ³·éD
+シリアルインタフェースドライバを初期化する．カーネルに初期化ルーチンと
+して登録する．exinfは無視する．
 
 (2) bool_t serial_get_chr(ID portid, char *p_c)
 
-portidÅwè³ê½VA|[gÌMobt@Ì¶ðCp_cÌw·Ôn
-ÉæèoµCtrueðÔ·ÖD¶ªÈ©Á½ÉÍCfalseðÔ·DI¹
-[`ÅÄÑo·±ÆðzèµÄ¢éD
-
-
-8.2. J[lN®bZ[WÌoÍ
-
-J[lN®bZ[WÌoÍÍCJ[lÌN®ÉCJ[lÌ¼Ìâo[
-WÔCì \¦ÈÇðoÍ·é½ßÌ@\Å éD
-
-J[lN®bZ[WÌoÍÍCVXeRtBM
-[Vt@C
-Åbanner.cfgðCN[h·é±ÆÅCVXeÉgÝÞ±ÆªÅ«éD
-
-J[lN®bZ[WÌoÍÍCÌÖÅ\¬³êéD
+portidで指定されたシリアルポートの送信バッファ中の文字を，p_cの指す番地
+に取り出し，trueを返す関数．文字がなかった時には，falseを返す．終了処理
+ルーチン中で呼び出すことを想定している．
+
+
+8.2. カーネル起動メッセージの出力
+
+カーネル起動メッセージの出力は，カーネルの起動時に，カーネルの名称やバー
+ジョン番号，著作権表示などを出力するための機能である．
+
+カーネル起動メッセージの出力は，システムコンフィギュレーションファイル
+でbanner.cfgをインクルードすることで，システムに組み込むことができる．
+
+カーネル起動メッセージの出力は，次の関数で構成される．
 
 (1) void print_banner(intptr_t exinf)
 
-VXeO@\ðp¢ÄCJ[lN®bZ[WðoÍ·éDbanner.cfg
-ÉæÁÄCJ[lÉú»[`ÆµÄo^³êéDexinfÍ³³êéD
-
-
-XDT|[gCu
-
-T|[gCuÍCAvP[VâVXeT[rXðì¬·é½ß
-ÉpÅ«éCuÖQÅ éD
-
-
-9.1. L
-[ìCuÖ
-
-L
-[ìCuÍCL
-[wb_ðÜÞO\¢Ì_uNL
-[
-ðµ¤CuÅ éDL
-[wb_ÌGgÍL
-[ÌæªÌGg
-COGgÍL
-[ÌöÌGgÆ·éDÜ½CL
-[ÌæªÌG
-gÌOGgÆCL
-[ÌöÌGgÌGgÍCL
-[wb_
-Æ·éDóÌL
-[ÍCGgCOGgÆà©ª©gðw·L
-[wb
-_Å çí·D
-
-L
-[ìCuÖðp¢éêÉÍCqueue.hðCN[h·éD
-
-L
-[wb_ÆGgÌ½ßÌf[^\¢ÆµÄCQUEUE\¢Ìðp¢éD
-QUEUE\¢ÌÌè`ÍÌÊèDQUEUE^ÌÏÍzñÆµÄè`·é±ÆðOñÆ
-µÄ¢éD
+システムログ機能を用いて，カーネル起動メッセージを出力する．banner.cfg
+によって，カーネルに初期化ルーチンとして登録される．exinfは無視される．
+
+
+９．サポートライブラリ
+
+サポートライブラリは，アプリケーションやシステムサービスを作成するため
+に利用できるライブラリ関数群である．
+
+
+9.1. キュー操作ライブラリ関数
+
+キュー操作ライブラリは，キューヘッダを含むリング構造のダブルリンクキュー
+を扱うライブラリである．キューヘッダの次エントリはキューの先頭のエント
+リ，前エントリはキューの末尾のエントリとする．また，キューの先頭のエン
+トリの前エントリと，キューの末尾のエントリの次エントリは，キューヘッダ
+とする．空のキューは，次エントリ，前エントリとも自分自身を指すキューヘッ
+ダであらわす．
+
+キュー操作ライブラリ関数を用いる場合には，queue.hをインクルードする．
+
+キューヘッダとエントリのためのデータ構造として，QUEUE構造体を用いる．
+QUEUE構造体の定義は次の通り．QUEUE型の変数は配列として定義することを前提と
+している．
 
 	typedef struct
@@ -1070,175 +958,154 @@
 	} QUEUE;
 
-QUEIDXÍQUEUE^ÌzñÌCfbNXlð\·f[^^Å éD
+QUEIDXはQUEUE型の配列のインデックス値を表すデータ型である．
 
 typedef uint8_t QUEIDX;
 
 
-L
-[ìÌ½ßÉpÓµÄ¢éÖÍÌÊèD
+キュー操作のために用意している関数は次の通り．
 
 (1) queue_initialize(QUEUE *queue , QUEIDX queue_null)
 
-L
-[ðú»·éDqueueÉÍL
-[wb_ðCqueue_nullÉÍ
-³øÈL
-[wb_ð¦·CfbNXlðwè·éD
+キューを初期化する．queueにはキューヘッダを，queue_nullには
+無効なキューヘッダを示すインデックス値を指定する．
 
 (2) queue_insert_prev(QUEUE *top , QUEIDX queue , QUEIDX entry)
 
-queueÅwè·éGgÌOÉCentryÅwè·éGgð}ü·éD
-topÍqueueCentryðÜÞQUEUE^zñÌæªAhXÅ éD
-queueÉL
-[wb_ðwèµ½êÉÍCL
-[ÌöÉp_entryÅwè·
-éGgð}ü·é±ÆÉÈéD
+queueで指定するエントリの前に，entryで指定するエントリを挿入する．
+topはqueue，entryを含むQUEUE型配列の先頭アドレスである．
+queueにキューヘッダを指定した場合には，キューの末尾にp_entryで指定す
+るエントリを挿入することになる．
 
 (3) queue_delete_next(QUEUE *top , QUEIDX queue)
 
-queueÅwè·éGgÌÌGgðíµCíµ½GgÌ
-L
-[zñÌCfbNXðÔ·D
-topÍqueueCentryðÜÞQUEUE^zñÌæªAhXÅ éD
+queueで指定するエントリの次のエントリを削除し，削除したエントリの
+キュー配列中のインデックスを返す．
+topはqueue，entryを含むQUEUE型配列の先頭アドレスである．
 
 (6) queue_empty(QUEUE *queue , QUEIDX queue_null)
 
-L
-[ªóÌêÉÍtrueC»¤ÅÈ¢êÉÍfalseðÔ·DqueueÉÍ
-L
-[wb_ðCqueue_nullÉÍ³øÈL
-[wb_ð¦·CfbNXlð
-wè·éD
-
-
-PODgpãÌÓÆqg
-
-10.1. ^C}hCoÌgÝ
-
-^C}hCoðVXeÉgÝÞ½ßÉCVXeRtBM
-[V
-t@CÌæªÅtarget_timer.cfgðCN[h·éKvª éD
-
-10.2. assert}NÌ
-
-SSPJ[lÌR[hÉÍCassert}NªgíêÄ¢éDassert}NÌè
-`Ít_stddef.hÉÜÜêCassertª¸sµ½êÌÅãÌiÊíÍCv
-Oðâ~³¹éjÍC^[QbgË¶ÌTOPPERS_assert_abortÅ
-è³êéD
-
-assertª¸sµ½êCVXeJ­ÍfobKÉÆ·Ìª]Üµ¢ªC
-VXeÒ­ÌÎ@ÍCVXeÉÎ·évÉË¶·éD»±ÅC^[
-QbgË¶ÌTOPPERS_assert_abortðCVXevÉvµ½KØÈ
-Éu«·¦éKvª éDVXevÉæÁÄÍCNDEBUGðè`µÄassert
-}NÌðIuWFNgR[h©çÁ·iu6.2 RpCIvVv
-ÌßðQÆjû@àl¦çêéD
-
-
-10.3. IuWFNgIDÌÇ
-
-TOPPERS/SSPJ[lÅÍCIuWFNgÌIDÔðCRtBM
-[^ª
-èt¯éû@ªî{ÆÈÁÄ¢éD
-
-AvP[VvOÅIuWFNgÌIDÔðQÆ·éêÉÍC
-Ì2ÂÌû@ªl¦çêéD
-
-(1) IuWFNg¯Ê¼ðp¢é
-
-IuWFNg¶¬Ì½ßÌÃIAPIiCRE_YYYjÌæ1p[^ÉLqµ½Iu
-WFNg¯Ê¼ðCAvP[VvOÅàp¢éû@D
-
-RtBM
-[^ÍCIuWFNg¯Ê¼ðCèt¯½IDÔÉ}Nè
-`·éC¾êvvZbTÌfBNeBui#definejðkernel_cfg.hÉ¶
-¬·é½ßCAvP[VvO©çkernel_cfg.hðCN[h·
-éKvª éD
-
-±Ìû@ÍCIuWFNgR[hÉIDÔª¼ÚßÜêé½ßÉÀsø
-¦ªÇ¢êûÅCRtBM
-[^ªÀs³êÄkernel_cfg.hª«·íé
-xÉCAvP[VvOÌÄRpCªKvÉÈéÆ¢¤_ª
- éD»Ì½ßCAvP[VvOð\¬·ét@CÌÅCê
-Ìt@CÌÝÅIuWFNg¯Ê¼ðQÆ·é\¬É·éÆ¢Á½Hvð
-·é±Æª]Üµ¢D
-
-(2) IuWFNgÌIDÔðÛ·éÏðp¢é
-
-IuWFNgÌIDÔðÛ·éconst®«ðtÁµ½ÏðpÓµCAvP[
-VvOÅÍC»ÌÏðp¢éû@D
-
-á¦ÎCTASK1Æ¢¤IuWFNg¯Ê¼Ì^XNÉÎµÄCÌæ¤ÈÏð
-pÓ·éD
+キューが空の場合にはtrue，そうでない場合にはfalseを返す．queueには
+キューヘッダを，queue_nullには無効なキューヘッダを示すインデックス値を
+指定する．
+
+
+１０．使用上の注意とヒント
+
+10.1. タイマドライバの組込み
+
+タイマドライバをシステムに組み込むために，システムコンフィギュレーショ
+ンファイルの先頭でtarget_timer.cfgをインクルードする必要がある．
+
+10.2. assertマクロの処理
+
+SSPカーネルのコード中には，assertマクロが使われている．assertマクロの定
+義はt_stddef.hに含まれ，assertが失敗した場合の最後の処理（通常は，プロ
+グラムを停止させる処理）は，ターゲット依存部のTOPPERS_assert_abortで決
+定される．
+
+assertが失敗した場合，システム開発中はデバッガに落とすのが望ましいが，
+システム稼働時の対処法は，システムに対する要件に依存する．そこで，ター
+ゲット依存部のTOPPERS_assert_abortを，システム要件に合致した適切な処理
+に置き換える必要がある．システム要件によっては，NDEBUGを定義してassert
+マクロの処理をオブジェクトコード中から消す（「6.2 コンパイルオプション」
+の節を参照）方法も考えられる．
+
+
+10.3. オブジェクトIDの管理
+
+TOPPERS/SSPカーネルでは，オブジェクトのID番号を，コンフィギュレータが割
+り付ける方法が基本となっている．
+
+アプリケーションプログラム中でオブジェクトのID番号を参照する場合には，
+次の2つの方法が考えられる．
+
+(1) オブジェクト識別名を用いる
+
+オブジェクト生成のための静的API（CRE_YYY）の第1パラメータに記述したオブ
+ジェクト識別名を，アプリケーションプログラム中でも用いる方法．
+
+コンフィギュレータは，オブジェクト識別名を，割り付けたID番号にマクロ定
+義するC言語プリプロセッサのディレクティブ（#define）をkernel_cfg.hに生
+成するため，アプリケーションプログラムからkernel_cfg.hをインクルードす
+る必要がある．
+
+この方法は，オブジェクトコード中にID番号が直接埋め込まれるために実行効
+率が良い一方で，コンフィギュレータが実行されてkernel_cfg.hが書き換わる
+度に，アプリケーションプログラムの再コンパイルが必要になるという欠点が
+ある．そのため，アプリケーションプログラムを構成するファイルの中で，一
+部のファイルのみでオブジェクト識別名を参照する構成にするといった工夫を
+することが望ましい．
+
+(2) オブジェクトのID番号を保持する変数を用いる
+
+オブジェクトのID番号を保持するconst属性を付加した変数を用意し，アプリケー
+ションプログラム中では，その変数を用いる方法．
+
+例えば，TASK1というオブジェクト識別名のタスクに対して，次のような変数を
+用意する．
 
 const ID TASK1_id = TASK1;
 
-AvP[VvOÅÍC±ÌÏiTASK1_idjðp¢é±ÆÅC
-RtBM
-[^ªÀs³êÄkernel_cfg.hª«·íéxÉCãLÌÏ
-è`ðÜñ¾t@CÌÝðÄRpC·êÎæ¢±ÆÉÈéD
-
-±Ìû@ÍCAvP[VvOÌÄRpCðÅ¬ÀÉÅ«é
-_ª éêûÅCÏÌ½ßÌÌæªKvÉÈé±ÆÉÁ¦ÄCiv
-ZbTÉæÁÄÍjÏANZXÌ½ßÌI[owbhª¶¶éÆ¢¤_ª
- éDÜ½CèÅÍÈ­ÏÅ é±Æ©çC¼ÌÏÌú»ÉÍg¦È
-¢Æ¢¤§Àª éD
-
-È¨CTOPPERS/SSPJ[lÌRtBM
-[^ÍC--external-idIvV
-ðtÁ·é±ÆÉæèCãLÌÏè`ðkernel_cfg.cÉ¶¬·é@\ð
-ÁÄ¢éÌÅC·×ÄÌIuWFNgIDð±Ìû@ÅQÆ·éêÉÍC±
-Ì@\ðp¢é±Æð§·éD
-
-RtBM
-[^ÉæéIDÔt¯Ìà¤1ÂÌÛèÆµÄCRtBM
-
-[Vt@CÌC³ÉæèCIuWFNgIDÌt¯ªÏíÁÄµÜ¤
-±Æª°çêéD±êÍCAvP[V\tgEFAÌÝvdlÉID
-ÔªLÚ³êÄ¢éêâCfobOìÆÉ¨¢ÄIDÔð¦lÆµÄ\¦
-âmFªÅ«È¢êÉCìÆø¦ðáº³¹éÂ\«ªl¦çêéD
-
-±ÌâèÉÎ·é½ßÉCTOPPERSV¢ãJ[lpRtBM
-[^ÉÍC
-IDÔÌt¯Êðt@CÉ«o·@\i--id-output-fileIvVj
-ÆCIDÔÌt¯ðt@C©çæèÞ@\i--id-input-fileIvVj
-ÆªpÓ³êÄ¢éD½¾µSSPJ[lÌêC»_ÅÍ®ìãÌâèª è
-gp·é±ÆªÅ«È¢DÚ×Í configurator.txt ÌuJ[l\¬Eú
-»t@Cikernel_cfg.cjvÌ (5) ðQÆÌ±ÆD
-
-10.4. J[lÌàV{Ìl[
-
-SSPJ[lÅÍCW
-[àÌ¼Ìª¼ÌW
-[àÌ¼ÌÆÕË·
-é±Æðð¯é½ßÉCJ[lÌàV{ÍCC¾êxÅCæªª
-"_kernel_"Ü½Í"_KERNEL_"Å é¼ÌÆµÄ¢éD
-
-±êð\[XR[hÌÂÇ«Æ¼§³¹é½ßÉCSSPJ[lÅÍC\[XR[
-hÍ©RÈ¼Oðp¢ÄLqµCC¾êvvZbTÌ}Nè`i#definej
-ðp¢ÄC»êð"_kernel_"Ü½Í"_KERNEL_"ÅnÜé¼Oi©RÈ¼Oª
-yyyyyÌêÉÍC_kernel_yyyyyjÉl[·édgÝðp¢Ä¢éD
-
-ïÌIÉÍCÖA·éfBNgÉxxx_rename.defðu«C»±©çl[
-Ì½ßÌwb_t@Cixxx_rename.h¨æÑxxx_unrename.hjð¶¬·é
-c[iutils/genrenamejðpÓµÄ¢éD
-
-±ÌdgÝÍC\[XR[hÌÂÇ«üãÉð§ÂêûÅC¾Qà éDá¦
-ÎC½­ÌfobKÅC\[XR[hÌ¼ÌÆIuWFNgR[hÌ¼Ì
-ªÙÈé½ßÉC\[XR[hÌÏ¼ðwèµÄlðÇñ¾èCÖ¼ð
-wèµÄu[N|Cgðu­Æ¢Á½±ÆªÅ«È¢D
-
-±ÌóµÉÎ·é½ßÉCSSPJ[lÅÍC\[XR[hÌY·é¼Ì
-ðl[·é½ßÌ[eBeBiutils/applyrenamejðpÓµÄ¢éD
-applyrename[eBeBÉCl[è`t@Cixxx_rename.defjÌv
-tBbNXixxxÌªjÆCl[µ½¢t@CXgð^¦éÆC
-l[ðsÈ¤Dá¦ÎCkernelfBNgÌ·×ÄÌt@CÉÎµ
-ÄCJ[lÌàV{ðl[·éÉÍCÌR}hðÀs·êÎ
-æ¢D
+アプリケーションプログラム中では，この変数（TASK1_id）を用いることで，
+コンフィギュレータが実行されてkernel_cfg.hが書き換わる度に，上記の変数
+定義を含んだファイルのみを再コンパイルすればよいことになる．
+
+この方法は，アプリケーションプログラムの再コンパイルを最小限にできる利
+点がある一方で，変数のためのメモリ領域が必要になることに加えて，（プロ
+セッサによっては）変数アクセスのためのオーバヘッドが生じるという欠点が
+ある．また，定数ではなく変数であることから，他の変数の初期化には使えな
+いという制限がある．
+
+なお，TOPPERS/SSPカーネルのコンフィギュレータは，--external-idオプショ
+ンを付加することにより，上記の変数定義をkernel_cfg.c中に生成する機能を
+持っているので，すべてのオブジェクトIDをこの方法で参照する場合には，こ
+の機能を用いることを推奨する．
+
+コンフィギュレータによるID番号割付けのもう1つの課題として，コンフィギュ
+レーションファイルの修正により，オブジェクトIDの割付けが変わってしまう
+ことが挙げられる．これは，アプリケーションソフトウェアの設計仕様書にID
+番号が記載されている場合や，デバッグ作業においてID番号を即値として表示
+や確認ができない場合に，作業効率を低下させる可能性が考えられる．
+
+この問題に対応するために，TOPPERS新世代カーネル用コンフィギュレータには，
+ID番号の割付け結果をファイルに書き出す機能（--id-output-fileオプション）
+と，ID番号の割付けをファイルから取り込む機能（--id-input-fileオプション）
+とが用意されている．ただしSSPカーネルの場合，現時点では動作上の問題があり
+使用することができない．詳細は configurator.txt の「○カーネル構成・初期
+化ファイル（kernel_cfg.c）」の (5) を参照のこと．
+
+10.4. カーネルの内部シンボルのリネーム
+
+SSPカーネルでは，モジュール内部の名称が他のモジュール内部の名称と衝突す
+ることを避けるために，カーネルの内部シンボルは，C言語レベルで，先頭が
+"_kernel_"または"_KERNEL_"である名称としている．
+
+これをソースコードの可読性と両立させるために，SSPカーネルでは，ソースコー
+ドは自然な名前を用いて記述し，C言語プリプロセッサのマクロ定義（#define）
+を用いて，それを"_kernel_"または"_KERNEL_"で始まる名前（自然な名前が
+yyyyyの場合には，_kernel_yyyyy）にリネームする仕組みを用いている．
+
+具体的には，関連するディレクトリにxxx_rename.defを置き，そこからリネー
+ムのためのヘッダファイル（xxx_rename.hおよびxxx_unrename.h）を生成する
+ツール（utils/genrename）を用意している．
+
+この仕組みは，ソースコードの可読性向上に役立つ一方で，弊害もある．例え
+ば，多くのデバッガで，ソースコード中の名称とオブジェクトコード中の名称
+が異なるために，ソースコード中の変数名を指定して値を読んだり，関数名を
+指定してブレークポイントを置くといったことができない．
+
+この状況に対応するために，SSPカーネルでは，ソースコード中の該当する名称
+をリネームするためのユーティリティ（utils/applyrename）を用意している．
+applyrenameユーティリティに，リネーム定義ファイル（xxx_rename.def）のプ
+リフィックス（xxxの部分）と，リネームしたいファイルリストを与えると，リ
+ネーム処理を行なう．例えば，kernelディレクトリのすべてのファイルに対し
+て，カーネルの内部シンボルをリネームするには，次のコマンドを実行すれば
+よい．
 
 	% cd kernel
 	% ../utils/applyrename kernel *
 
-Ü½C^[QbgË¶ÌfBNgÌ·×ÄÌt@CÉÎµÄCJ[l
-ÌàV{ðl[·éÉÍCÌæ¤ÈR}hðÀs·êÎæ¢D
+また，ターゲット依存部のディレクトリのすべてのファイルに対して，カーネ
+ルの内部シンボルをリネームするには，次のようなコマンドを実行すればよい．
 
 	% cd target/cq_starm_gcc/
@@ -1246,144 +1113,141 @@
 	% ../../utils/applyrename ../../kernel/kernel *
 
-10.5. VXeÌN®Ìú»
-
-VXeÌN®ÉAvP[VÅKvÆÈéú»ðs¤½ßÌ@
-\ÆµÄú»[`ªpÓ³êÄ¢éªCú»[`ªÀs³êéæ
-èà¢^C~OÅÀs·é±ÆªKvÈú»ª éêª éD
-
-±Ìæ¤ÈêÉp¢é½ßÉCWIÈX^[gAbvW
-[©çC^[
-QbgVXeË¶Ìú»tbNihardware_init_hookjðÄÑo·±ÆÆ
-µÄ¢éDhardware_init_hookÍCJ[lÌ^[QbgË¶ÅpÓ³êÄ
-¢éÌªWÅ éªC±êðAvP[VÅpÓµ½àÌÉu«·¦C
-»ÌÅAvP[VÅKvÆÈéú»ðs¤±ÆªÅ«éD
-
-½¾µChardware_init_hookÌì¬·éêÉÍCbssZNVÆdataZNV
-ªú»³êÄ¢È¢±ÆâCCuªú»³êÄ¢È¢±ÆCC¾ê
-ÅLqÅ«éÆÍÀçÈ¢±ÆÈÇÉÓªKvÅ éDì¬É ½ÁÄÍC
-u^[QbgË¶ |[eBOKChvðQÆ·é±ÆD
-
-J[lÌX^[gAbvW
-[ªhardware_init_hookðÄÑo·æ¤É
-À³êÄ¢È¢êÉÍCX^[gAbvW
-[ðAvP[VÅ
-pÓµ½àÌÉu«·¦éû@ð§·éD
-
-PPDQlîñ
-
-11.1. pðÆpñ
-
-SSPJ[lÌpðÍCet@CÌæªÉ\¦³êÄ¢éDì ÍCe
-t@CÌæªÉ\¦³êÄ¢éì ÒªÛLµÄ¢éD
-
-pðÌ(3)Ì(b)É¨¢ÄCpÌ`ÔðTOPPERSvWFNgÉñ·éû
-@ÆµÄÍCSSPJ[lðpµ½»iÌ¼ÌÆpªìC»i»µ½ïÐ¼
-ÆÆíÌîñðCÈºÌURLÌy[W©çñ·éàÌÆ·éD
+10.5. システムの起動時の初期化処理
+
+システムの起動時にアプリケーションで必要となる初期化処理を行うための機
+能として初期化ルーチンが用意されているが，初期化ルーチンが実行されるよ
+りも早いタイミングで実行することが必要な初期化処理がある場合がある．
+
+このような場合に用いるために，標準的なスタートアップモジュールから，ター
+ゲットシステム依存の初期化フック（hardware_init_hook）を呼び出すことと
+している．hardware_init_hookは，カーネルのターゲット依存部で用意されて
+いるのが標準であるが，これをアプリケーションで用意したものに置き換え，
+その中でアプリケーションで必要となる初期化処理を行うことができる．
+
+ただし，hardware_init_hookの作成する場合には，bssセクションとdataセクショ
+ンが初期化されていないことや，ライブラリが初期化されていないこと，C言語
+で記述できるとは限らないことなどに注意が必要である．作成にあたっては，
+「ターゲット依存部 ポーティングガイド」を参照すること．
+
+カーネルのスタートアップモジュールがhardware_init_hookを呼び出すように
+実装されていない場合には，スタートアップモジュールをアプリケーションで
+用意したものに置き換える方法を推奨する．
+
+１１．参考情報
+
+11.1. 利用条件と利用報告
+
+SSPカーネルの利用条件は，各ファイルの先頭に表示されている．著作権は，各
+ファイルの先頭に表示されている著作権者が保有している．
+
+利用条件の(3)の(b)において，利用の形態をTOPPERSプロジェクトに報告する方
+法としては，SSPカーネルを利用した製品の名称と応用分野，製品化した会社名
+と業種等の情報を，以下のURLのページから報告するものとする．
 
 	http://www.toppers.jp/report.html
 
-Ü½»ÌÛÉCSSPJ[lðgpµÄÌRgâ²Ó©à¢½¾¯éÆK¢
-Å éD
-
-11.2. ÛØEKp«ET|[g
-
-SSPJ[lÍ³ÛØÅñ³êÄ¢éàÌÅ éDJ­Ò¨æÑTOPPERSv
-WFNgÍCSSPJ[lÉÖµÄCÁèÌgpÚIÉÎ·éK«àÜßÄC
-¢©ÈéÛØàsíÈ¢DÜ½CSSPJ[lÌpÉæè¼ÚIÜ½ÍÔÚI
-É¶¶½¢©Èé¹QÉÖµÄàC»ÌÓCðíÈ¢D
-
-J­Ò¨æÑTOPPERSvWFNgÍCSSPJ[lÉÖ·éT|[gÌñ©Í
-µÄ¢È¢DSSPJ[lÉÖµÄ¿âª éêÍCãqÌTOPPERS[U[
-Y[OXgðpµÄ¢½¾¯éÆK¢Å éDmÀÈT|[gªK
-vÈêÉÍCLÅT|[gT[rXðñµÄ¢éïÐÉk³ê½¢D
-
-11.3. oO|[g
-
-SSPJ[lÉoOââè_ð­©³ê½êÉÍCãqÌTOPPERS[U[Y
-[OXgÉñµÄ~µ¢D
-
-[OXgÉoOââè_ÈÇðñ·éêÉÍCKvÉ¶ÄÌ
-îñðmç¹Ä~µ¢D
-
-	gpµÄ¢éJ[lÉÖ·éîñ
-		E^[QbgñË¶Ìo[W
-		EgpµÄ¢é^[QbgË¶Æ»Ìo[W
-		ETOPPERSvWFNg©çÌ[XÉÎ·éü¢Ói êÎj
-
-	^[QbgVXeÉÖ·éîñ
-		E^[QbgvZbTÌíÞ
-		E^[Qbg{[hÌíÞ
-
-	zXgÉÖ·éîñ
-		EOSÌo[WiT[rXpbNÌKpóµàj
-		ERpCÈÇÌJ­Â«Ìo[WiCygwinÌo[Wàj
-
-11.4. EFuTCg
-
-TOPPERSvWFNgÌEFuTCgÍCÈºÌURLÉ éD
+またその際に，SSPカーネルを使用してのコメントやご意見もいただけると幸い
+である．
+
+11.2. 保証・適用性・サポート
+
+SSPカーネルは無保証で提供されているものである．開発者およびTOPPERSプロ
+ジェクトは，SSPカーネルに関して，特定の使用目的に対する適合性も含めて，
+いかなる保証も行わない．また，SSPカーネルの利用により直接的または間接的
+に生じたいかなる損害に関しても，その責任を負わない．
+
+開発者およびTOPPERSプロジェクトは，SSPカーネルに関するサポートの約束は
+していない．SSPカーネルに関して質問がある場合は，後述のTOPPERSユーザー
+ズメーリングリストを利用していただけると幸いである．確実なサポートが必
+要な場合には，有償でサポートサービスを提供している会社に相談されたい．
+
+11.3. バグレポート
+
+SSPカーネルにバグや問題点を発見された場合には，後述のTOPPERSユーザーズ
+メーリングリストに報告して欲しい．
+
+メーリングリストにバグや問題点などを報告する場合には，必要に応じて次の
+情報を知らせて欲しい．
+
+	使用しているカーネルに関する情報
+		・ターゲット非依存部のバージョン
+		・使用しているターゲット依存部とそのバージョン
+		・TOPPERSプロジェクトからのリリースに対する改造箇所（あれば）
+
+	ターゲットシステムに関する情報
+		・ターゲットプロセッサの種類
+		・ターゲットボード等の種類
+
+	ホストに関する情報
+		・OSのバージョン（サービスパックの適用状況も）
+		・コンパイラなどの開発環境のバージョン（Cygwinのバージョンも）
+
+11.4. ウェブサイト
+
+TOPPERSプロジェクトのウェブサイトは，以下のURLにある．
 
 	http://www.toppers.jp/
 
-TOPPERSvWFNgâSSPJ[lÉÖ·éÅVîñÍC±ÌEFuTCg©
-ç¾é±ÆªÅ«éDÜ½CSSPJ[lÌÅVÅÍC±ÌEFuTCg©ç_
-E[h·é±ÆªÅ«éD
-
-11.5. TOPPERS[U[Y[OXg
-
-SSPJ[lðÜÞTOPPERSvWFNgÌJ­¬Ê¨Ì[UÉÎ·éîññ
-¨æÑ[UÝÔÌîñð·ðeÕÉ·é½ßÉCTOPPERS[U[Y[
-OXgiusers@toppers.jpjðpÓµÄ¢éD
-
-±Ì[OXgÉÍCNÅà©RÉo^µC[ðt·é±ÆªÅ
-«éio^ÒÈOÍ[ðtÅ«È¢jDÜ½Ct³ê½[ÍCN
-Åà©RÉEFuTCgÅÇÞ±ÆªÅ«éD
-
-[OXgÖÌo^û@ÉÂ¢ÄÍCÈºÌURLÌy[WÉà¾ª éD
+TOPPERSプロジェクトやSSPカーネルに関する最新情報は，このウェブサイトか
+ら得ることができる．また，SSPカーネルの最新版は，このウェブサイトからダ
+ウンロードすることができる．
+
+11.5. TOPPERSユーザーズメーリングリスト
+
+SSPカーネルを含むTOPPERSプロジェクトの開発成果物のユーザに対する情報提
+供およびユーザ相互間の情報交換を容易にするために，TOPPERSユーザーズメー
+リングリスト（users@toppers.jp）を用意している．
+
+このメーリングリストには，誰でも自由に登録し，メールを送付することがで
+きる（登録者以外はメールを送付できない）．また，送付されたメールは，誰
+でも自由にウェブサイトで読むことができる．
+
+メーリングリストへの登録方法については，以下のURLのページに説明がある．
 
 	http://www.toppers.jp/community.html
 
-11.6. TOPPERSvWFNgÌoü¯ÌT[rX
-
-TOPPERSvWFNgÌoÉÎµÄÍCãLÉÁ¦ÄCSSPJ[lÉÖA
-µÄÌT[rXðpÓµÄ¢éD
-
-(1) TOPPERSJ­Ò[OXg
-
-TOPPERSvWFNgÌoÍCSSPJ[lÉÖ·é¿âCoOââè_È
-ÇÌñÉCTOPPERSJ­Ò[OXgidev@toppers.jpjðp·é±
-ÆªÅ«éD
-
-(2) SSPJ[lÌJ­xTCg
-
-SSPJ[lÌJ­xÌ½ßÌTRACioOgbLOVXejªCÈºÌ
-URLÉ éiTRACÖÌANZXÉÍCïõpX[hªKvÅ éjD
+11.6. TOPPERSプロジェクトのメンバ向けのサービス
+
+TOPPERSプロジェクトのメンバに対しては，上記に加えて，SSPカーネルに関連
+して次のサービスを用意している．
+
+(1) TOPPERS開発者メーリングリスト
+
+TOPPERSプロジェクトのメンバは，SSPカーネルに関する質問，バグや問題点な
+どの報告に，TOPPERS開発者メーリングリスト（dev@toppers.jp）を利用するこ
+とができる．
+
+(2) SSPカーネルの開発支援サイト
+
+SSPカーネルの開発支援のためのTRAC（バグトラッキングシステム）が，以下の
+URLにある（TRACへのアクセスには，会員パスワードが必要である）．
 
 	http://dev.toppers.jp/trac/ssp_core
 
-TOPPERSvWFNgÌoÍC±ÌTCg©çCEFuC^tF[X¨æ
-ÑsubversionT[oÉæèCSSPJ[lÌJ­Ìo[Wð¾é±ÆªÅ
-«éDÜ½CoOgbLOf[^x[XÉANZX·é±ÆªÅ«Cß
-ÌoOðÖÌANZXâCoOÌo^ð·é±ÆªÅ«éD
-
-11.7. TOPPERSvWFNgÖÌQÁ
-
-TOPPERSvWFNgÅÍC½©çÌ`ÅvWFNgÉv£µÄ¢½¾¯éûC
-vWFNgÅJ­µ½\tgEFAð¨g¢ÌûCvWFNgÉ»¡ð¨
-¿ÌûÌQÁðßÄ¢éDTOPPERSvWFNgÖÌQÁû@ÉÂ¢ÄÍC
-ÈºÌy[WÉà¾ª éD
+TOPPERSプロジェクトのメンバは，このサイトから，ウェブインタフェースおよ
+びsubversionサーバにより，SSPカーネルの開発中のバージョンを得ることがで
+きる．また，バグトラッキングデータベースにアクセスすることができ，過去
+のバグ履歴へのアクセスや，バグの登録をすることができる．
+
+11.7. TOPPERSプロジェクトへの参加
+
+TOPPERSプロジェクトでは，何からの形でプロジェクトに貢献していただける方，
+プロジェクトで開発したソフトウェアをお使いの方，プロジェクトに興味をお
+持ちの方の参加を求めている．TOPPERSプロジェクトへの参加方法については，
+以下のページに説明がある．
 
 	http://www.toppers.jp/joinus.html
 
 
-PQDt@X
-
-12.1. T[rXR[ê
-
-(1) ^XNÇ@\
+１２．リファレンス
+
+12.1. サービスコール一覧
+
+(1) タスク管理機能
 
 	ER ercd = act_tsk(ID tskid)
 	ER ercd = iact_tsk(ID tskid)
 
-(2) VXeóÔÇ@\
+(2) システム状態管理機能
 
 	ER ercd = loc_cpu(void)
@@ -1400,12 +1264,12 @@
 	ER ercd = ext_ker(void)
 
-(3) ÝÇ@\
+(3) 割込み管理機能
 
 	ER ercd = dis_int(INTNO intno)
 	ER ercd = ena_int(INTNO intno)
 
-12.2. ÃIAPIê
-
-(1) ^XNÇ@\
+12.2. 静的API一覧
+
+(1) タスク管理機能
 
 	CRE_TSK(ID tskid, { ATR tskatr, intptr_t exinf, TASK task,
@@ -1413,5 +1277,5 @@
 	DEF_EPR(ID tskid,{ PRI etskpri })
 
-(2) ÝÇ@\
+(2) 割込み管理機能
 
 	ATT_ISR({ ATR isratr, intptr_t exinf, INTNO intno, ISR isr, PRI isrpri })
@@ -1419,9 +1283,9 @@
 	CFG_INT(INTNO intno, { ATR intatr, PRI intpri })
 
-(3) CPUáOÇ@\
+(3) CPU例外管理機能
 
 	DEF_EXC(EXCNO excno, { ATR excatr, EXCHDR exchdr })
 
-(4) VXe\¬Ç@\
+(4) システム構成管理機能
 
 	DEF_ICS({ SIZE istksz, STK_T *istk })
@@ -1430,16 +1294,15 @@
 	ATT_TER({ ATR teratr, intptr_t exinf, TERRTN terrtn })
 
-12.3. o[Wð
-
-	2011N 331ú	Release	1.0.0		ú[X
-	2011N1116ú	Release	1.1.0		ÅÌêÊ[X
-	2011N 323ú	Release	1.1.1		y÷ÈC³ÆoOtBbNX
-	2013N 423ú	Release	1.2.0		^XNÌN®vL
-[CO@\ÌÇÁ
-                                        DEF_ICSÌdlÏX
-                                        DEF_STKÌÇÁ
-                                        ¯úEÊM@\g£pbP[WÌÇÁ
-	2014N 3 6ú	Release	1.2.1		oOtBbNX
-	2015N 519ú	Release	1.3.0		
-
-Èã
+12.3. バージョン履歴
+
+	2011年 3月31日	Release	1.0.0		早期リリース
+	2011年11月16日	Release	1.1.0		最初の一般リリース
+	2011年 3月23日	Release	1.1.1		軽微な修正とバグフィックス
+	2013年 4月23日	Release	1.2.0		タスクの起動要求キューイング機能の追加
+                                        DEF_ICSの仕様変更
+                                        DEF_STKの追加
+                                        同期・通信機能拡張パッケージの追加
+	2014年 3月 6日	Release	1.2.1		バグフィックス
+	2015年 5月19日	Release	1.3.0		
+
+以上
Index: /ssp_qb_r5f100le_cs/trunk/doc/version.txt
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/doc/version.txt	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/doc/version.txt	(revision 95)
@@ -1,12 +1,11 @@
 
-		TOPPERS/SSPJ[l
-		ÏXð
+		TOPPERS/SSPカーネル
+		変更履歴
 
-		Îo[W: Release 1.3.0
-		ÅIXV: 2015N 519ú
+		対応バージョン: Release 1.3.0
+		最終更新: 2015年 5月19日
 
-±ÌhL
-gÍCTOPPERS/SSPJ[lÌRelease 1.0.0È~ÌÏXððC
-Vµ¢û©çÉLqµ½àÌÅ éD
+このドキュメントは，TOPPERS/SSPカーネルのRelease 1.0.0以降の変更履歴を，
+新しい方から順に記述したものである．
 
 ----------------------------------------------------------------------
@@ -18,185 +17,176 @@
                  Nagoya Municipal Industrial Research Institute, JAPAN
  
- ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
-      \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
-     XR[hÉÜÜêÄ¢é±ÆD
- (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
-     pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
-     Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
-     Ì³ÛØKèðfÚ·é±ÆD
- (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
-     pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
-     ÆD
-   (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
-       ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
-   (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
-       ñ·é±ÆD
- (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
-     Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
-     Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
-     RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
-     ÆÓ·é±ÆD
+ 上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ 変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+     権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+     スコード中に含まれていること．
+ (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+     用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+     者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+     の無保証規定を掲載すること．
+ (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+     用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+     と．
+   (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+       作権表示，この利用条件および下記の無保証規定を掲載すること．
+   (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+       報告すること．
+ (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+     害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+     また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+     由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+     免責すること．
  
- {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- ÌÓCðíÈ¢D
+ 本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ の責任を負わない．
  
 ----------------------------------------------------------------------
 
-		TOPPERS/SSPJ[l
-		Release 1.2.1 ©ç 1.3.0 ÖÌÏX_
+		TOPPERS/SSPカーネル
+		Release 1.2.1 から 1.3.0 への変更点
 
-ET[rXR[ ista_alm, istp_alm ðÇÁ
-Echar_t ^Ìp~
-EVAhCoÌÏX
-	Eserial_wri_dat, serial_rea_dat Ìr¼§äæÔÆr¼§äû@ÉÖ·éC³
-	Eserial_wri_dat Ìobt@tÌ®ÉÖ·éC³
-	Eserial_rea_dat Åobt@GveBÌ®ÉÖ·éC³
-EOMIT_INITIALIZE_EXCEPTION è`ÏÝÌêÉNG[ÆÈéâèÌC³
+・サービスコール ista_alm, istp_alm を追加
+・char_t 型の廃止
+・シリアルドライバの変更
+	・serial_wri_dat, serial_rea_dat の排他制御区間と排他制御方法に関する修正
+	・serial_wri_dat のバッファフル時の挙動に関する修正
+	・serial_rea_dat でバッファエンプティ時の挙動に関する修正
+・OMIT_INITIALIZE_EXCEPTION 定義済みの場合にリンクエラーとなる問題の修正
 
-E(toppers-users 4235) ÌwEÖÌÎ(kernel.tf Ìsª$¼ãÌó²¯)
-E(toppers-users 4245)ÌwEÖÌÎ(ARMü¯gccIvVÌÇÁ)
-EüúnhCA[nhÌÅåÂð¦·\¬}NÌè`
-Edoc/configurator.txt Ì¤LX^bNÉÖ·éLq~XÌC³D
-Etask.c Ìd¡·évg^Cvé¾Ìí
-El[t@CÌd¡GgÌí
-Ecall_almhdr (alarm.c) ÌøÌ^ð uintptr_t ÖÏX
+・(toppers-users 4235) の指摘事項への対応(kernel.tf の行頭$直後の空白抜け)
+・(toppers-users 4245)の指摘事項への対応(ARM向けgccオプションの追加)
+・周期ハンドラ，アラームハンドラの最大個数を示す構成マクロの定義
+・doc/configurator.txt の共有スタックに関する記述ミスの修正．
+・task.c の重複するプロトタイプ宣言の削除
+・リネームファイルの重複エントリの削除
+・call_almhdr (alarm.c) の引数の型を uintptr_t へ変更
 
-Esample1 AvÉ¨¯éVXeOÌ}XNÝèÉÖ·éC³(O^XNÌú»ÄÑoµÇÁ)
-Esample1.c Ì SVC }NÅsÔª³µ­\¦³êÈ¢âèÌC³
-Ehello_world.c Ì task VA|[gÌI[vÌÇÁ
-Ehello_world.c ÌbZ[W\¦p}NÌC³
+・sample1 アプリにおけるシステムログのマスク設定に関する修正(ログタスクの初期化処理呼び出し追加)
+・sample1.c の SVC マクロで行番号が正しく表示されない問題の修正
+・hello_world.c の task シリアルポートのオープン処理の追加
+・hello_world.c のメッセージ表示用マクロの修正
 
-Earm_m_gcc ^[QbgË¶Ì prc_terminate ÖÌ NoReturn ®«ÇÁ
-Ecq_frk_fm3_gcc^[QbgË¶Ì hardware_init_hook (prc_support.S) É function ®«ÌÝèÇÁ
+・arm_m_gcc ターゲット依存部の prc_terminate への NoReturn 属性追加
+・cq_frk_fm3_gccターゲット依存部の hardware_init_hook (prc_support.S) に function 属性の設定追加
 
-EMISRA-C[Éî­ÏX
-	EÈµ®èÖÚöêÌtÁ
-	Einitialize_eventflag Å[vÏ i Ì^ð uint_t ©ç int_t ÉÏX
-	Esyslog_print Ì switch É default ßðÇÁD
-	Eserial_initialize, serial_terminate Ì for¶Å[vJE^ÌÝðgp·éæ¤ÉÏX
-	Eserial_rea_dat ÅÌÙÈé^ÖÌãüÓðC³
-	Etarget_timer_handler ÅßèlðgpµÈ¢ÖÄÑoµðvoidÅLXgµ½D
-	Esample1.c ÌforÌ{Ìð¡¶ÉÏXµCRgÇÁ
+・MISRA-Cルールに基く変更
+	・符号なし整数定数へ接尾語の付加
+	・initialize_eventflag でループ変数 i の型を uint_t から int_t に変更
+	・syslog_print の switch に default 節を追加．
+	・serial_initialize, serial_terminate の for文でループカウンタのみを使用するように変更
+	・serial_rea_dat で符号の異なる型への代入箇所を修正
+	・target_timer_handler で戻り値を使用しない関数呼び出しをvoidでキャストした．
+	・sample1.c のforの本体を複合文に変更し，コメント追加
 
-^[QbgË¶ÌvC³Ói1.2.1 ¨ 1.3.0j
+○ターゲット依存部の要修正箇所（1.2.1 → 1.3.0）
 
-(1) char_t Ìp~Éº¢Cchar_t ð char ÉÏX·é
+(1) char_t の廃止に伴い，char_t を char に変更する
 
 ----------------------------------------------------------------------
 
-		TOPPERS/SSPJ[l
-		Release 1.2.0 ©ç 1.2.1 ÖÌÏX_
+		TOPPERS/SSPカーネル
+		Release 1.2.0 から 1.2.1 への変更点
 
-ECRE_FLG Ì iflgptn ÉÎ·é`FbNÇÁ¨æÑG[ððÏX
-ECxgtOÌrbgp^[ÉÎ·érbgè`ðÇÁ
-Edequeue_dataÖÌø^wè²¯ÌC³
-E(toppers-users 4129)ÅwEÌC³
-    Esample1 ÌC³
-    Eenqueue_data, dequeue_data ð static Ö©çÊíÌÖÖÏX
-    EMakefile.kernel ÌC³
-Esample1 ÌAvÌà¾¶ðsample1.c ÌRgÆµÄÇÁ
-EVXeRtBM
-[Vt@CÅ serial.cfg ð INCLUDE µÈ¢
-  êÉ TARGET_NAME ª¢è`ÆÈéâèÌC³(banner.tf)
+・CRE_FLG の iflgptn に対するチェック追加およびエラー条件を変更
+・イベントフラグのビットパターンに対するビット数定義を追加
+・dequeue_data関数の引数型指定抜けの修正
+・(toppers-users 4129)で指摘事項の修正
+    ・sample1 の修正
+    ・enqueue_data, dequeue_data を static 関数から通常の関数へ変更
+    ・Makefile.kernel の修正
+・sample1 のアプリの説明文をsample1.c のコメントとして追加
+・システムコンフィギュレーションファイルで serial.cfg を INCLUDE しない
+  場合に TARGET_NAME が未定義となる問題の修正(banner.tf)
 
-^[QbgË¶ÌvC³Ói1.2.0 ¨ 1.2.1j
-    ^[QbgË¶ÖÌe¿ÍÈ¢½ßCC³ÍsvÅ éD
+○ターゲット依存部の要修正箇所（1.2.0 → 1.2.1）
+    ターゲット依存部への影響はないため，修正は不要である．
 
 ----------------------------------------------------------------------
 
-		TOPPERS/SSPJ[l
-		Release 1.1.1 ©ç 1.2.0 ÖÌÏX_
+		TOPPERS/SSPカーネル
+		Release 1.1.1 から 1.2.0 への変更点
 
-E^XNN®vL
-[COÌT|[g
-  ^XNN®vð1ñÜÅL
-[CO·éæ¤ÉC³D
+・タスク起動要求キューイングのサポート
+  タスク起動要求を1回までキューイングするように修正．
 
-EDEF_STKÌÇÁ
+・DEF_STKの追加
 
-EDEF_ICSÌ@\C³
+・DEF_ICSの機能修正
 
-Eg£pbP[WÌÇÁ
-  - f[^L
-[@\
-  - CxgtO@\
+・拡張パッケージの追加
+  - データキュー機能
+  - イベントフラグ機能
 
-ETvvOÌC³
-  - ^XNI¹ÌbZ[WoÍC³
-  - f[^L
-[ÌeXg@\ÌÇÁ
-  - CxgtOÌeXg@\ÌÇÁ
+・サンプルプログラムの修正
+  - タスク終了時のメッセージ出力修正
+  - データキューのテスト機能の追加
+  - イベントフラグのテスト機能の追加
 
 
-^[QbgË¶ÌvC³Ói1.1.1 ¨ 1.2.0j
+○ターゲット依存部の要修正箇所（1.1.1 → 1.2.0）
 
-(1) TEST_EXC}NÌíÉº¢CCPUEXC1}NððRpCÉgp·éæ¤É
-    ÏX·éD
+(1) TEST_EXCマクロの削除に伴い，CPUEXC1マクロを条件コンパイルに使用するように
+    変更する．
 
-(2) TvvOÉdataqueue.cCeventflag.cðrhÎÛÉÜßéæ¤ÉÏXD
-    (MakefileðgpµÈ¢^[QbgË¶ÌÝ)
+(2) サンプルプログラムにdataqueue.c，eventflag.cをビルド対象に含めるように変更．
+    (Makefileを使用しないターゲット依存部のみ)
 
-(3) ³À[vÌÀû@ðiTOPPERS_assert_abortCtarget_exitÈÇjtecsgenÅ
-    ðßÅ«éLqû@ÉÏX·éD
+(3) 無限ループの実装方法を（TOPPERS_assert_abort，target_exitなど）tecsgenで
+    解釈できる記述方法に変更する．
 
 ----------------------------------------------------------------------
 
-		TOPPERS/SSPJ[l
-		Release 1.1.0 ©ç 1.1.1 ÖÌÏX_
+		TOPPERS/SSPカーネル
+		Release 1.1.0 から 1.1.1 への変更点
 
-EJ[lo[W}NÌC³
-  (Release1.1.0ÅÍJ[lo[W}NÌlÉëèª Á½j
+・カーネルバージョンマクロの修正
+  (Release1.1.0ではカーネルバージョンマクロの値に誤りがあった）
 
-EÀsDæxðÝèµÄ¢é^XNªact_tsk(TSK_SELF)ðÄÑoµ½êÌ
-  sïÌC³
+・実行時優先度を設定しているタスクがact_tsk(TSK_SELF)を呼び出した場合の
+  不具合の修正
 
-E\[XR[hÌt@N^O
-  - task.c/hÖÌRgÇÁAÁÉúDæxÆÀsDæxÌá¢Ì¾mj»
+・ソースコードのリファクタリング
+  - task.c/hへのコメント追加、特に初期優先度と実行時優先度の違いの明確j化
 
-EDEF_EPRICDEF_ICSÌdlè`ðÇÁ(doc/original_static_api.txt)
-  (½¾µTOPPERSdl1.4.0ÆÌêÑ«ÍÈ¢½ßÓj
+・DEF_EPRI，DEF_ICSの仕様定義を追加(doc/original_static_api.txt)
+  (ただしTOPPERS統合仕様書1.4.0との一貫性はないため注意）
 
-EVXeT[rXÌÇÁ
-  - syslog@\
-  - O\¦^XN@\
+・システムサービスの追加
+  - syslog機能
+  - ログ表示タスク機能
 
-Esvt@CÌí
-  - utilsfBNgÈºÌsvÈXNvgÌí
-  - confkernelXNvgÉÖAµ½t@CÌí
+・不要ファイルの削除
+  - utilsディレクトリ以下の不要なスクリプトの削除
+  - confkernelスクリプトに関連したファイルの削除
 
-EutilsfBNgÌXNvgÌC³
-  - vV[WÄÑoµÌÛÌdo¶Ìí
+・utilsディレクトリのスクリプトの修正
+  - プロシージャ呼び出しの際のdo文の削除
 
-ETvvOÌ@\ÇÁ
-  - A[nhÌeXg@\ÌÇÁ
-  - ObZ[Wðsyslog@\ðgpµÄoÍ·éæ¤ÉC³
+・サンプルプログラムの機能追加
+  - アラームハンドラのテスト機能の追加
+  - ログメッセージをsyslog機能を使用して出力するように修正
 
 
 ----------------------------------------------------------------------
 
-		TOPPERS/SSPJ[l
-		Release 1.0.0 ©ç 1.1.0 ÖÌÏX_
+		TOPPERS/SSPカーネル
+		Release 1.0.0 から 1.1.0 への変更点
 
-EeXgvOÌÇÁ
+・テストプログラムの追加
 
-EÝT[rX[`ÉÖ·éoOtBbNX
-	- ÝT[rX[`¶¬ÉKvÈ^[QbgË¶Ìè`ªÈ©Á½âèÌC³
-	  (x_get_ipm, t_get_ipm, i_get_ipm, x_set_ipm, t_set_ipm, i_set_ipmÌÇÁj
+・割込みサービスルーチンに関するバグフィックス
+	- 割込みサービスルーチン生成に必要なターゲット依存部の定義がなかった問題の修正
+	  (x_get_ipm, t_get_ipm, i_get_ipm, x_set_ipm, t_set_ipm, i_set_ipmの追加）
 
-EMISRA-CR[fBOX^_[hÉÎ·é½ßÌR[hC³
+・MISRA-Cコーディングスタンダードに対応するためのコード修正
 
-E^[QbgË¶ÆÌC^[tF[XC³
-	- TOPPERS_SUPPORT_DIS_INTðTOPPERS_TARGET_SUPPORT_DIS_INTÉC³
-	- TOPPERS_SUPPORT_ENA_INTðTOPPERS_TARGET_SUPPORT_ENA_INTÉC³
+・ターゲット依存部とのインターフェース修正
+	- TOPPERS_SUPPORT_DIS_INTをTOPPERS_TARGET_SUPPORT_DIS_INTに修正
+	- TOPPERS_SUPPORT_ENA_INTをTOPPERS_TARGET_SUPPORT_ENA_INTに修正
 
 
Index: /ssp_qb_r5f100le_cs/trunk/extension/alarm.c
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/extension/alarm.c	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/extension/alarm.c	(revision 95)
@@ -7,39 +7,35 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  * 
- *  ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»EüÏE
- *  ÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 
- *      \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[X
- *      R[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Égp
- *      Å«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gipÒ}
- *      j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºLÌ³Û
- *      ØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Égp
- *      Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌì
- *         \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ
- *        ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹Q
- *      ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDÜ½C
- *      {\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©ÈéRÉîÃ
- *      ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
+ *  上記著作権者は，以下の (1)〜(4) の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改変・
+ *  再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作権
+ *      表示，この利用条件および下記の無保証規定が，そのままの形でソース
+ *      コード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使用
+ *      できる形で再配布する場合には，再配布に伴うドキュメント（利用者マ
+ *      ニュアルなど）に，上記の著作権表示，この利用条件および下記の無保
+ *      証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使用
+ *      できない形で再配布する場合には，次のいずれかの条件を満たすこと．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著作
+ *        権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに報
+ *        告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害
+ *      からも，上記著作権者およびTOPPERSプロジェクトを免責すること．また，
+ *      本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ
+ *      く請求からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ
- *  ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉÎ·
- *  éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEFAÌp
- *  Éæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»ÌÓCð
- *  íÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者およ
+ *  びTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的に対す
+ *  る適合性も含めて，いかなる保証も行わない．また，本ソフトウェアの利用
+ *  により直接的または間接的に生じたいかなる損害に関しても，その責任を負
+ *  わない．
  * 
  */
 
 /*
- *  A[nh@\
+ *  アラームハンドラ機能
  */
 
@@ -49,5 +45,5 @@
 
 /*
- *  g[XO}NÌftHgè`
+ *  トレースログマクロのデフォルト定義
  */
 
@@ -93,21 +89,21 @@
 
 
-/* üúnhIDð^CCxgIDÉÏ· */
+/* 周期ハンドラIDをタイムイベントIDに変換 */
 #define ALM_EVTID(almid)	((ID)(INDEX_ALM(almid) + almevtid_offset))
 #define INDEX_ALM(almid)	((uint_t)((almid) - TMIN_ALMID))
 
-/* A[nhÌÂ */
+/* アラームハンドラの個数 */
 #define tnum_alm			((uint_t)(tmax_almid - TMIN_ALMID + 1))
 
-/* A[Ì®ìóÔð\·rbg}bv */
+/* アラームの動作状態を表すビットマップ */
 #define ALMACT_BIT(index)	(1U << (index))
 
 
-/* A[nhÀs^CCxg */
+/* アラームハンドラ実行タイムイベント */
 void call_almhdr(uintptr_t almidx);
 
 
 /*
- *  A[nh@\Ìú»
+ *  アラームハンドラ機能の初期化
  */
 
@@ -117,5 +113,5 @@
 initialize_alarm(void)
 {
-	/* SÄÌA[ðâ~óÔÉ·é */
+	/* 全てのアラームを停止状態にする */
 	almcb_almact = 0U;
 }
@@ -124,5 +120,5 @@
 
 /*
- *  A[ÌJn
+ *  アラームの開始
  */
 
@@ -162,5 +158,5 @@
 
 /*
- *  A[ÌJn(ñ^XNReLXgp)
+ *  アラームの開始(非タスクコンテキスト用)
  */
 
@@ -200,5 +196,5 @@
 
 /*
- *  A[Ìâ~
+ *  アラームの停止
  */
 
@@ -232,5 +228,5 @@
 
 /*
- *  A[Ìâ~(ñ^XNReLXgp)
+ *  アラームの停止(非タスクコンテキスト用)
  */
 
@@ -264,5 +260,5 @@
 
 /*
- *  A[nhN®[`
+ *  アラームハンドラ起動ルーチン
  */
 
@@ -272,10 +268,10 @@
 call_almhdr(uintptr_t almidx)
 {
-	/* A[nhðâ~óÔÉ·é */
+	/* アラームハンドラを停止状態にする */
 	almcb_almact &= ~ALMACT_BIT(almidx);
 	
 	i_unlock_cpu();
 	
-	/* A[nhÌÀs */
+	/* アラームハンドラの実行 */
 	LOG_ALM_ENTER(almidx);
 	(*alminib_almhdr[almidx])(alminib_exinf[almidx]);
Index: /ssp_qb_r5f100le_cs/trunk/extension/alarm.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/extension/alarm.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/extension/alarm.h	(revision 95)
@@ -5,34 +5,30 @@
  *  Copyright (C) 2011 by Meika Sugimoto
  * 
- *  ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»EüÏE
- *  ÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 
- *      \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[X
- *      R[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Égp
- *      Å«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gipÒ}
- *      j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºLÌ³Û
- *      ØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Égp
- *      Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌì
- *         \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ
- *        ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹Q
- *      ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDÜ½C
- *      {\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©ÈéRÉîÃ
- *      ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
+ *  上記著作権者は，以下の (1)〜(4) の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改変・
+ *  再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作権
+ *      表示，この利用条件および下記の無保証規定が，そのままの形でソース
+ *      コード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使用
+ *      できる形で再配布する場合には，再配布に伴うドキュメント（利用者マ
+ *      ニュアルなど）に，上記の著作権表示，この利用条件および下記の無保
+ *      証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使用
+ *      できない形で再配布する場合には，次のいずれかの条件を満たすこと．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著作
+ *        権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに報
+ *        告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害
+ *      からも，上記著作権者およびTOPPERSプロジェクトを免責すること．また，
+ *      本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ
+ *      く請求からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ
- *  ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉÎ·
- *  éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEFAÌp
- *  Éæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»ÌÓCð
- *  íÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者およ
+ *  びTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的に対す
+ *  る適合性も含めて，いかなる保証も行わない．また，本ソフトウェアの利用
+ *  により直接的または間接的に生じたいかなる損害に関しても，その責任を負
+ *  わない．
  * 
  */
@@ -45,26 +41,25 @@
 
 /*
- *  RtBM
-[Vf[^
+ *  コンフィギュレーションデータ
  */
 
-/* A[nhÌ^CCxgIDItZbg */
+/* アラームハンドラのタイムイベントIDオフセット */
 extern const uint_t almevtid_offset;
 
-/* A[nhÌÅåIDl */
+/* アラームハンドラの最大ID値 */
 extern const ID tmax_almid;
 
-/* A[nhæªÔn */
+/* アラームハンドラ先頭番地 */
 extern const ALMHDR alminib_almhdr[];
 
-/* A[nhg£îñ */
+/* アラームハンドラ拡張情報 */
 extern const intptr_t alminib_exinf[];
 
-/* A[nhóÔ */
+/* アラームハンドラ状態 */
 extern uint16_t almcb_almact;
 
 
 /*
- *  A[nh@\Ìú»
+ *  アラームハンドラ機能の初期化
  */
 extern void
Index: /ssp_qb_r5f100le_cs/trunk/extension/cyclic.c
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/extension/cyclic.c	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/extension/cyclic.c	(revision 95)
@@ -5,39 +5,35 @@
  *  Copyright (C) 2011 by Meika Sugimoto
  * 
- *  ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»EüÏE
- *  ÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 
- *      \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[X
- *      R[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Égp
- *      Å«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gipÒ}
- *      j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºLÌ³Û
- *      ØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Égp
- *      Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌì
- *         \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ
- *        ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹Q
- *      ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDÜ½C
- *      {\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©ÈéRÉîÃ
- *      ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
+ *  上記著作権者は，以下の (1)〜(4) の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改変・
+ *  再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作権
+ *      表示，この利用条件および下記の無保証規定が，そのままの形でソース
+ *      コード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使用
+ *      できる形で再配布する場合には，再配布に伴うドキュメント（利用者マ
+ *      ニュアルなど）に，上記の著作権表示，この利用条件および下記の無保
+ *      証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使用
+ *      できない形で再配布する場合には，次のいずれかの条件を満たすこと．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著作
+ *        権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに報
+ *        告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害
+ *      からも，上記著作権者およびTOPPERSプロジェクトを免責すること．また，
+ *      本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ
+ *      く請求からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ
- *  ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉÎ·
- *  éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEFAÌp
- *  Éæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»ÌÓCð
- *  íÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者およ
+ *  びTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的に対す
+ *  る適合性も含めて，いかなる保証も行わない．また，本ソフトウェアの利用
+ *  により直接的または間接的に生じたいかなる損害に関しても，その責任を負
+ *  わない．
  * 
  */
 
 /*
- *  üúnh@\
+ *  周期ハンドラ機能
  */
 
@@ -48,5 +44,5 @@
 
 /*
- *  g[XO}NÌftHgè`
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_CYC_ENTER
@@ -75,19 +71,19 @@
 
 
-/* üúnhIDð^CCxgIDÉÏ· */
+/* 周期ハンドラIDをタイムイベントIDに変換 */
 #define CYC_EVTID(cycidx)	((ID)((cycidx) + cycevtid_offset))
 #define INDEX_CYC(cycid)	((uint_t)((cycid) - TMIN_CYCID))
 
 
-/* üúnhÌ®ìóÔð\·rbg}bv */
+/* 周期ハンドラの動作状態を表すビットマップ */
 #define CYCACT_BIT(index)	(1U << (index))
 
 /*
- *  üúnhN®[`
+ *  周期ハンドラ起動ルーチン
  */
 void call_cychdr(uintptr_t cycidx);
 
 /*
- *  üúnh@\Ìú»
+ *  周期ハンドラ機能の初期化
  */
 
@@ -99,5 +95,5 @@
 	uint_t i;
 	
-	/* üúnhÌóÔÝè */
+	/* 周期ハンドラの状態設定 */
 	cyccb_cycact = cycinib_cycact;
 	
@@ -105,5 +101,5 @@
 		cyccb_evttim[i] = 0U;
 		
-		/* üúnhÌúN® */
+		/* 周期ハンドラの初期起動 */
 		if((cycinib_cycact & CYCACT_BIT(i)) != 0U) {
 			time_event_enqueue(CYC_EVTID(i) ,
@@ -189,5 +185,5 @@
 	cyccb_evttim[cycidx] += cycinib_cyctim[cycidx];
 
-	/* üúÌ^CCxgðo^ */
+	/* 次周期のタイムイベントを登録 */
 	time_event_enqueue((ID)cycidx ,
 		cyccb_evttim[cycidx] , call_cychdr , cycidx);
@@ -195,5 +191,5 @@
 	i_unlock_cpu();
 	
-	/* üúnhðÀs */
+	/* 周期ハンドラを実行 */
 	LOG_CYC_ENTER(cycidx);
 	(*cycinib_cychdr[cycidx])(cycinib_exinf[cycidx]);
Index: /ssp_qb_r5f100le_cs/trunk/extension/cyclic.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/extension/cyclic.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/extension/cyclic.h	(revision 95)
@@ -5,34 +5,30 @@
  *  Copyright (C) 2011 by Meika Sugimoto
  * 
- *  ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»EüÏE
- *  ÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 
- *      \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[X
- *      R[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Égp
- *      Å«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gipÒ}
- *      j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºLÌ³Û
- *      ØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Égp
- *      Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌì
- *         \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ
- *        ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹Q
- *      ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDÜ½C
- *      {\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©ÈéRÉîÃ
- *      ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
+ *  上記著作権者は，以下の (1)〜(4) の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改変・
+ *  再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作権
+ *      表示，この利用条件および下記の無保証規定が，そのままの形でソース
+ *      コード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使用
+ *      できる形で再配布する場合には，再配布に伴うドキュメント（利用者マ
+ *      ニュアルなど）に，上記の著作権表示，この利用条件および下記の無保
+ *      証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使用
+ *      できない形で再配布する場合には，次のいずれかの条件を満たすこと．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著作
+ *        権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに報
+ *        告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害
+ *      からも，上記著作権者およびTOPPERSプロジェクトを免責すること．また，
+ *      本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ
+ *      く請求からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ
- *  ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉÎ·
- *  éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEFAÌp
- *  Éæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»ÌÓCð
- *  íÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者およ
+ *  びTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的に対す
+ *  る適合性も含めて，いかなる保証も行わない．また，本ソフトウェアの利用
+ *  により直接的または間接的に生じたいかなる損害に関しても，その責任を負
+ *  わない．
  * 
  */
@@ -42,35 +38,34 @@
 
 /*
- *  üúnhú»ubN
+ *  周期ハンドラ初期化ブロック
  *
- *  RtBM
-[^ÉæÁÄ¶¬·éD
+ *  コンフィギュレータによって生成する．
  */
 
-/* üúnhIDÌÅål */
+/* 周期ハンドラIDの最大値 */
 extern const ID tmax_cycid;
 
-/* üúnh®« */
+/* 周期ハンドラ属性 */
 extern const uint16_t cycinib_cycact;
 
-/* üúnhAhX */
+/* 周期ハンドラアドレス */
 extern const CYCHDR cycinib_cychdr[];
 
-/* üúnhüú */
+/* 周期ハンドラ周期 */
 extern const RELTIM cycinib_cyctim[];
 
-/* üúnhÊ */
+/* 周期ハンドラ位相 */
 extern const RELTIM cycinib_cycphs[];
 
-/* üúnhg£îñ */
+/* 周期ハンドラ拡張情報 */
 extern const intptr_t cycinib_exinf[];
 
-/* üúnh®ìóÔ */
+/* 周期ハンドラ動作状態 */
 extern uint16_t cyccb_cycact;
 
-/* üúnhÌñN® */
+/* 周期ハンドラの次回起動時刻 */
 extern EVTTIM cyccb_evttim[];
 
-/* üúnhÌ^CCxgIDItZbg */
+/* 周期ハンドラのタイムイベントIDオフセット */
 extern const uint_t cycevtid_offset;
 
@@ -79,5 +74,5 @@
 
 /*
- *  üúnh@\Ìú»
+ *  周期ハンドラ機能の初期化
  */
 extern void
Index: /ssp_qb_r5f100le_cs/trunk/extension/dataqueue.c
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/extension/dataqueue.c	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/extension/dataqueue.c	(revision 95)
@@ -9,40 +9,35 @@
  *  Copyright (C) 2011 by Meika Sugimoto
  * 
- *  ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»EüÏE
- *  ÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 
- *      \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[X
- *      R[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Égp
- *      Å«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gipÒ}
- *      j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºLÌ³Û
- *      ØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Égp
- *      Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌì
- *         \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ
- *        ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹Q
- *      ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDÜ½C
- *      {\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©ÈéRÉîÃ
- *      ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
+ *  上記著作権者は，以下の (1)〜(4) の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改変・
+ *  再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作権
+ *      表示，この利用条件および下記の無保証規定が，そのままの形でソース
+ *      コード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使用
+ *      できる形で再配布する場合には，再配布に伴うドキュメント（利用者マ
+ *      ニュアルなど）に，上記の著作権表示，この利用条件および下記の無保
+ *      証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使用
+ *      できない形で再配布する場合には，次のいずれかの条件を満たすこと．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著作
+ *        権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに報
+ *        告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害
+ *      からも，上記著作権者およびTOPPERSプロジェクトを免責すること．また，
+ *      本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ
+ *      く請求からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ
- *  ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉÎ·
- *  éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEFAÌp
- *  Éæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»ÌÓCð
- *  íÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者およ
+ *  びTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的に対す
+ *  る適合性も含めて，いかなる保証も行わない．また，本ソフトウェアの利用
+ *  により直接的または間接的に生じたいかなる損害に関しても，その責任を負
+ *  わない．
  * 
  */
  
 /*
- *		f[^L
-[@\
+ *		データキュー機能
  */
 
@@ -52,5 +47,5 @@
 
 /*
- *  g[XO}NÌftHgè`
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_PSND_DTQ_ENTER
@@ -79,6 +74,5 @@
 
 /*
- *  f[^L
-[ÖÌf[^M
+ *  データキューへのデータ送信
  */
 void
@@ -86,6 +80,5 @@
 
 /*
- *  f[^L
-[©çÌf[^óM
+ *  データキューからのデータ受信
  */
 void
@@ -94,19 +87,15 @@
 
 /*
- *  f[^L
-[Ì
+ *  データキューの数
  */
 #define tnum_dtq	((uint_t)(tmax_dtqid - TMIN_DTQID + 1))
 
 /*
- *  f[^L
-[ID©çf[^L
-[ÇubNðæèo·½ßÌ}N
+ *  データキューIDからデータキュー管理ブロックを取り出すためのマクロ
  */
 #define INDEX_DTQ(dtqid)	((uint_t)((dtqid) - TMIN_DTQID))
 
 /*
- *  f[^L
-[@\Ìú»
+ *  データキュー機能の初期化
  */
 #ifdef TOPPERS_dtqini
@@ -128,6 +117,5 @@
 
 /*
- *  f[^L
-[ªt©Ì`FbN
+ *  データキューが満杯かのチェック
  */
 
@@ -139,6 +127,5 @@
 
 /*
- *  f[^L
-[ªó©Ì`FbN
+ *  データキューが空かのチェック
  */
 
@@ -151,6 +138,5 @@
 
 /*
- *  f[^L
-[ÖÌf[^M
+ *  データキューへのデータ送信
  */
 
@@ -171,6 +157,5 @@
 
 /*
- *  MÒ¿L
-[Ìæª^XN©çÌf[^óM
+ *  送信待ちキューの先頭タスクからのデータ受信
  */
 #ifdef TOPPERS_dtqdeq
@@ -190,6 +175,5 @@
 
 /*
- *  f[^L
-[ÖÌMi|[Oj
+ *  データキューへの送信（ポーリング）
  */
 #ifdef TOPPERS_psnd_dtq
@@ -228,6 +212,5 @@
 
 /*
- *  f[^L
-[ÖÌMi|[OCñ^XNReLXgpj
+ *  データキューへの送信（ポーリング，非タスクコンテキスト用）
  */
 #ifdef TOPPERS_ipsnd_dtq
@@ -266,6 +249,5 @@
 
 /*
- *  f[^L
-[©çÌóMi|[Oj
+ *  データキューからの受信（ポーリング）
  */
 #ifdef TOPPERS_prcv_dtq
Index: /ssp_qb_r5f100le_cs/trunk/extension/dataqueue.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/extension/dataqueue.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/extension/dataqueue.h	(revision 95)
@@ -9,42 +9,37 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  */
 
 /*
- *		f[^L
-[@\
+ *		データキュー機能
  */
 
@@ -55,39 +50,30 @@
 
 /*
- *  f[^L
-[ú»ubN
+ *  データキュー初期化ブロック
  */
-extern const ATR dtqinib_atr[];			/* f[^L
-[®« */
-extern intptr_t* const dtqinib_data[];	/* f[^i[ÌæÌæªÔn */
-extern const uint8_t dtqinib_size[];	/* f[^L
-[ÌeÊ */
+extern const ATR dtqinib_atr[];			/* データキュー属性 */
+extern intptr_t* const dtqinib_data[];	/* データ格納領域の先頭番地 */
+extern const uint8_t dtqinib_size[];	/* データキューの容量 */
 
 /*
- *  f[^L
-[ÇubN
+ *  データキュー管理ブロック
  */
-extern uint8_t dtqcb_count[];				/* f[^L
-[Éi[³êÄ¢éf[^Ì */
-extern uint8_t dtqcb_head[];				/* ÅÌf[^Ìi[ê */
-extern uint8_t dtqcb_tail[];				/* ÅãÌf[^Ìi[êÌ */
+extern uint8_t dtqcb_count[];				/* データキューに格納されているデータの数 */
+extern uint8_t dtqcb_head[];				/* 最初のデータの格納場所 */
+extern uint8_t dtqcb_tail[];				/* 最後のデータの格納場所の次 */
 
 
 /*
- *  f[^L
-[IDÌÅålikernel_cfg.cj
+ *  データキューIDの最大値（kernel_cfg.c）
  */
 extern const ID	tmax_dtqid;
 
 /*
- *  f[^L
-[ÇubN©çf[^L
-[IDðæèo·½ßÌ}N
+ *  データキュー管理ブロックからデータキューIDを取り出すためのマクロ
  */
 #define	DTQID(p_dtqcb)	((ID)(((p_dtqcb) - dtqcb_table) + TMIN_DTQID))
 
 /*
- *  f[^L
-[@\Ìú»
+ *  データキュー機能の初期化
  */
 extern void	initialize_dataqueue(void);
Index: /ssp_qb_r5f100le_cs/trunk/extension/eventflag.c
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/extension/eventflag.c	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/extension/eventflag.c	(revision 95)
@@ -11,38 +11,34 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  * 
- *  ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»EüÏE
- *  ÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 
- *      \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[X
- *      R[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Égp
- *      Å«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gipÒ}
- *      j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºLÌ³Û
- *      ØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Égp
- *      Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌì
- *         \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ
- *        ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹Q
- *      ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDÜ½C
- *      {\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©ÈéRÉîÃ
- *      ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
+ *  上記著作権者は，以下の (1)〜(4) の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改変・
+ *  再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作権
+ *      表示，この利用条件および下記の無保証規定が，そのままの形でソース
+ *      コード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使用
+ *      できる形で再配布する場合には，再配布に伴うドキュメント（利用者マ
+ *      ニュアルなど）に，上記の著作権表示，この利用条件および下記の無保
+ *      証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使用
+ *      できない形で再配布する場合には，次のいずれかの条件を満たすこと．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著作
+ *        権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに報
+ *        告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害
+ *      からも，上記著作権者およびTOPPERSプロジェクトを免責すること．また，
+ *      本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ
+ *      く請求からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ
- *  ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉÎ·
- *  éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEFAÌp
- *  Éæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»ÌÓCð
- *  íÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者およ
+ *  びTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的に対す
+ *  る適合性も含めて，いかなる保証も行わない．また，本ソフトウェアの利用
+ *  により直接的または間接的に生じたいかなる損害に関しても，その責任を負
+ *  わない．
  * 
  */
 /*
- *  CxgtO@\
+ *  イベントフラグ機能
  */
 
@@ -53,5 +49,5 @@
 
 /*
- *  g[XO}NÌftHgè`
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_SET_FLG_ENTER
@@ -89,5 +85,5 @@
 
 
-/* CxgtOIDID©çÌzñItZbgÖÌÏ·}N */
+/* イベントフラグIDIDからの配列オフセットへの変換マクロ */
 #define INDEX_FLG(flgid)	((uint_t)((flgid) - TMIN_FLGID))
 
@@ -100,5 +96,5 @@
 	for(i = 0 ; i < tmax_flgid ; i++)
 	{
-		/* rbgp^[Ìú» */
+		/* ビットパターンの初期化 */
 		flgcb_flgptn[i] = flginib_iflgptn[i];
 	}
@@ -108,5 +104,5 @@
 
 /*
- *  CxgtOðª¬§µÄ¢é©Ì`FbN
+ *  イベントフラグ条件が成立しているかのチェック
  */
 Inline bool_t
@@ -134,5 +130,5 @@
 
 /*
- *  CxgtOÌZbg
+ *  イベントフラグのセット
  */
 #ifdef TOPPERS_set_flg
@@ -161,5 +157,5 @@
 
 /*
- *  CxgtOÌZbgiñ^XNReLXgpj
+ *  イベントフラグのセット（非タスクコンテキスト用）
  */
 #ifdef TOPPERS_iset_flg
@@ -187,5 +183,5 @@
 
 /*
- *  CxgtOÌNA
+ *  イベントフラグのクリア
  */
 #ifdef TOPPERS_clr_flg
@@ -214,5 +210,5 @@
 
 /*
- *  CxgtOÒ¿i|[Oj
+ *  イベントフラグ待ち（ポーリング）
  */
 #ifdef TOPPERS_pol_flg
Index: /ssp_qb_r5f100le_cs/trunk/extension/eventflag.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/extension/eventflag.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/extension/eventflag.h	(revision 95)
@@ -9,34 +9,30 @@
  *  Copyright (C) 2011 by Meika Sugimoto
  * 
- *  ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»EüÏE
- *  ÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 
- *      \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[X
- *      R[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Égp
- *      Å«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gipÒ}
- *      j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºLÌ³Û
- *      ØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Égp
- *      Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌì
- *         \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ
- *        ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹Q
- *      ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDÜ½C
- *      {\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©ÈéRÉîÃ
- *      ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
+ *  上記著作権者は，以下の (1)〜(4) の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改変・
+ *  再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作権
+ *      表示，この利用条件および下記の無保証規定が，そのままの形でソース
+ *      コード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使用
+ *      できる形で再配布する場合には，再配布に伴うドキュメント（利用者マ
+ *      ニュアルなど）に，上記の著作権表示，この利用条件および下記の無保
+ *      証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使用
+ *      できない形で再配布する場合には，次のいずれかの条件を満たすこと．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著作
+ *        権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに報
+ *        告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害
+ *      からも，上記著作権者およびTOPPERSプロジェクトを免責すること．また，
+ *      本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ
+ *      く請求からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ
- *  ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉÎ·
- *  éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEFAÌp
- *  Éæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»ÌÓCð
- *  íÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者およ
+ *  びTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的に対す
+ *  る適合性も含めて，いかなる保証も行わない．また，本ソフトウェアの利用
+ *  により直接的または間接的に生じたいかなる損害に関しても，その責任を負
+ *  わない．
  * 
  */
@@ -47,28 +43,28 @@
 
 /*
- *  CxgtOú»ubN
+ *  イベントフラグ初期化ブロック
  */
 
-/* CxgtO®« */
+/* イベントフラグ属性 */
 extern const ATR flginib_atr[];
 
-/* CxgtOúl */
+/* イベントフラグ初期値 */
 extern const FLGPTN flginib_iflgptn[];
 
 /*
- *  CxgtOÇubN
+ *  イベントフラグ管理ブロック
  */
 
-/* CxgtO»Ýp^[ */
+/* イベントフラグ現在パターン */
 extern FLGPTN flgcb_flgptn[];
 
 
 /*
- *  CxgtOIDÌÅålikernel_cfg.cj
+ *  イベントフラグIDの最大値（kernel_cfg.c）
  */
 extern const ID	tmax_flgid;
 
 /*
- *  CxgtO@\Ìú»
+ *  イベントフラグ機能の初期化
  */
 extern void	initialize_eventflag(void);
Index: /ssp_qb_r5f100le_cs/trunk/extension/time_event.c
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/extension/time_event.c	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/extension/time_event.c	(revision 95)
@@ -5,34 +5,30 @@
  *  Copyright (C) 2011 by Meika Sugimoto
  * 
- *  ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»EüÏE
- *  ÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 
- *      \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[X
- *      R[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Égp
- *      Å«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gipÒ}
- *      j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºLÌ³Û
- *      ØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Égp
- *      Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌì
- *         \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ
- *        ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹Q
- *      ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDÜ½C
- *      {\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©ÈéRÉîÃ
- *      ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
+ *  上記著作権者は，以下の (1)〜(4) の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改変・
+ *  再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作権
+ *      表示，この利用条件および下記の無保証規定が，そのままの形でソース
+ *      コード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使用
+ *      できる形で再配布する場合には，再配布に伴うドキュメント（利用者マ
+ *      ニュアルなど）に，上記の著作権表示，この利用条件および下記の無保
+ *      証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使用
+ *      できない形で再配布する場合には，次のいずれかの条件を満たすこと．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著作
+ *        権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに報
+ *        告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害
+ *      からも，上記著作権者およびTOPPERSプロジェクトを免責すること．また，
+ *      本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ
+ *      く請求からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ
- *  ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉÎ·
- *  éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEFAÌp
- *  Éæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»ÌÓCð
- *  íÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者およ
+ *  びTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的に対す
+ *  る適合性も含めて，いかなる保証も行わない．また，本ソフトウェアの利用
+ *  により直接的または間接的に生じたいかなる損害に関しても，その責任を負
+ *  わない．
  * 
  */
@@ -44,12 +40,12 @@
 
 /*
- *  »ÝÌVXeiPÊ: 1~bj
+ *  現在のシステム時刻（単位: 1ミリ秒）
  *
- *  µ§ÉÍCOÌ^CeBbNÌVXeD
+ *  厳密には，前のタイムティックのシステム時刻．
  */
 EVTTIM	current_time;
 
 /*
- *  ^CCxgq[vÅLøÈÅ¬ÌVXeiPÊ: 1~bj
+ *  タイムイベントヒープ中で有効な最小のシステム時刻（単位: 1ミリ秒）
  */
 EVTTIM	min_time;
@@ -57,10 +53,7 @@
 
 /*
- *  ^CCxgL
-[ÌL
-[wb_
+ *  タイムイベントキューのキューヘッダ
  *
- *  ^CCxgL
-[ubNÌI[ÉmÛ·éD
+ *  タイムイベントキューブロックの終端に確保する．
  */
 #define TMEVT_HEAD()	(tmevt_queue[tnum_tmevt_queue])
@@ -68,9 +61,9 @@
 
 /*
- *  Cxg­¶är}N
+ *  イベント発生時刻比較マクロ
  *
- *  Cxg­¶ÍCmin_time©çÌÎlÅär·éD·Èí¿C
- *  min_timeðÅ¬liÅàß¢jCmit_time-1ªÅåliÅà¢j
- *  ÆÝÈµÄär·éD
+ *  イベント発生時刻は，min_timeからの相対値で比較する．すなわち，
+ *  min_timeを最小値（最も近い時刻），mit_time-1が最大値（最も遠い時刻）
+ *  とみなして比較する．
  */
 #define	EVTTIM_LT(t1, t2) (((t1) - min_time) < ((t2) - min_time))
@@ -78,5 +71,5 @@
 
 /*
- *  ^CCxgÌú»
+ *  タイムイベントの初期化
  */
 
@@ -86,10 +79,9 @@
 initialize_time_event(void)
 {
-	/* ÏÌú» */
+	/* 変数の初期化 */
 	current_time = 0U;
 	min_time = 0U;
 	
-	/* ^CCxgL
-[Ìú» */
+	/* タイムイベントキューの初期化 */
 	queue_initialize(&TMEVT_HEAD() , (QUEIDX)tnum_tmevt_queue);
 }
@@ -98,5 +90,5 @@
 
 /*
- *  ^CCxgÌo^
+ *  タイムイベントの登録
  */
 
@@ -108,5 +100,5 @@
 	QUEIDX pos = TMEVT_HEAD().next;
 	
-	/* }üÊuðõ */
+	/* 挿入位置を検索 */
 	while((pos != TMEVT_NULL)
 			&& (EVTTIM_LE(tmevt_time[pos] , evttim))) {
@@ -114,6 +106,5 @@
 	}
 	
-	/* L
-[É}ü */
+	/* キューに挿入 */
 	queue_insert_prev(&(tmevt_queue[0]) , pos , (QUEIDX)tmevtid);
 	tmevt_callback[tmevtid] = (CBACK)callback;
@@ -125,5 +116,5 @@
 
 /*
- *  ^CCxgÌí
+ *  タイムイベントの削除
  */
 
@@ -133,6 +124,5 @@
 time_event_dequeue(ID tmevtid)
 {
-	/* L
-[©çí */
+	/* キューから削除 */
 	(void)queue_delete_next(&(tmevt_queue[0]) , (QUEIDX)tmevtid);
 }
@@ -141,5 +131,5 @@
 
 /*
- *  VXeÌÊm
+ *  システム時刻の通知
  */
 
@@ -153,8 +143,8 @@
 	i_lock_cpu();
 	
-	/* »ÝÌXV */
+	/* 現在時刻の更新 */
 	current_time += (EVTTIM)TIC_NUME;
 	
-	/* R[obNÌÀs */
+	/* コールバックの実行 */
 	while((pos != TMEVT_NULL)
 			&& EVTTIM_LT(tmevt_time[pos] , current_time)) {
@@ -165,5 +155,5 @@
 	}
 
-	/* min_timeÌXV */
+	/* min_timeの更新 */
 	min_time = current_time;
 	
Index: /ssp_qb_r5f100le_cs/trunk/extension/time_event.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/extension/time_event.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/extension/time_event.h	(revision 95)
@@ -5,34 +5,30 @@
  *  Copyright (C) 2011 by Meika Sugimoto
  * 
- *  ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»EüÏE
- *  ÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 
- *      \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[X
- *      R[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Égp
- *      Å«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gipÒ}
- *      j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºLÌ³Û
- *      ØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Égp
- *      Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌì
- *         \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ
- *        ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹Q
- *      ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDÜ½C
- *      {\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©ÈéRÉîÃ
- *      ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
+ *  上記著作権者は，以下の (1)〜(4) の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改変・
+ *  再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作権
+ *      表示，この利用条件および下記の無保証規定が，そのままの形でソース
+ *      コード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使用
+ *      できる形で再配布する場合には，再配布に伴うドキュメント（利用者マ
+ *      ニュアルなど）に，上記の著作権表示，この利用条件および下記の無保
+ *      証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使用
+ *      できない形で再配布する場合には，次のいずれかの条件を満たすこと．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著作
+ *        権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに報
+ *        告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害
+ *      からも，上記著作権者およびTOPPERSプロジェクトを免責すること．また，
+ *      本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ
+ *      く請求からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ
- *  ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉÎ·
- *  éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEFAÌp
- *  Éæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»ÌÓCð
- *  íÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者およ
+ *  びTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的に対す
+ *  る適合性も含めて，いかなる保証も行わない．また，本ソフトウェアの利用
+ *  により直接的または間接的に生じたいかなる損害に関しても，その責任を負
+ *  わない．
  * 
  */
@@ -44,9 +40,9 @@
 #include "queue.h"
 
-/* Cxg */
+/* イベント時刻 */
 typedef ulong_t	EVTTIM;
 
 /*
- *  ^CCxgR[obNÖ
+ *  タイムイベントコールバック関数
  */
 
@@ -54,33 +50,31 @@
 
 /*
- *  ^CCxgubN
+ *  タイムイベントブロック
  *
- *  RtBM
-[^ÉæÁÄ¶¬·éD
+ *  コンフィギュレータによって生成する．
  */
 
-/* ^CCxgubNÌTCY */
+/* タイムイベントブロックのサイズ */
 extern const uint_t tnum_tmevt_queue;
 
-/* ^CCxgL
-[ */
+/* タイムイベントキュー */
 extern QUEUE tmevt_queue[];
 
-/* ^CCxgÔ */
+/* タイムイベント時間 */
 extern EVTTIM tmevt_time[];
 
-/* ^CCxgÌR[obN */
+/* タイムイベントのコールバック */
 extern CBACK tmevt_callback[];
 
-/* ^CCxgR[obNÌø */
+/* タイムイベントコールバックの引数 */
 extern uintptr_t tmevt_arg[];
 
 
-/* »ÝÌVXe */
+/* 現在のシステム時刻 */
 extern EVTTIM current_time;
 
 
 /*
- *  ^CCxgÌú»
+ *  タイムイベントの初期化
  */
 extern void
@@ -88,5 +82,5 @@
 
 /*
- *  ^CCxgÌo^
+ *  タイムイベントの登録
  */
 extern void
@@ -94,5 +88,5 @@
 
 /*
- *  ^CCxgÌí
+ *  タイムイベントの削除
  */
 extern void
@@ -100,5 +94,5 @@
 
 /*
- *  ^CeBbNÌ
+ *  タイムティックの供給
  */
 extern void
Index: /ssp_qb_r5f100le_cs/trunk/extension/time_manage.c
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/extension/time_manage.c	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/extension/time_manage.c	(revision 95)
@@ -6,39 +6,35 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  * 
- *  ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»EüÏE
- *  ÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 
- *      \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[X
- *      R[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Égp
- *      Å«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gipÒ}
- *      j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºLÌ³Û
- *      ØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Égp
- *      Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌì
- *         \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ
- *        ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹Q
- *      ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDÜ½C
- *      {\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©ÈéRÉîÃ
- *      ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
+ *  上記著作権者は，以下の (1)〜(4) の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改変・
+ *  再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作権
+ *      表示，この利用条件および下記の無保証規定が，そのままの形でソース
+ *      コード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使用
+ *      できる形で再配布する場合には，再配布に伴うドキュメント（利用者マ
+ *      ニュアルなど）に，上記の著作権表示，この利用条件および下記の無保
+ *      証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使用
+ *      できない形で再配布する場合には，次のいずれかの条件を満たすこと．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著作
+ *        権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに報
+ *        告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害
+ *      からも，上記著作権者およびTOPPERSプロジェクトを免責すること．また，
+ *      本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ
+ *      く請求からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ
- *  ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉÎ·
- *  éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEFAÌp
- *  Éæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»ÌÓCð
- *  íÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者およ
+ *  びTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的に対す
+ *  る適合性も含めて，いかなる保証も行わない．また，本ソフトウェアの利用
+ *  により直接的または間接的に生じたいかなる損害に関しても，その責任を負
+ *  わない．
  * 
  */
 
 /*
- *		VXeÔÇ
+ *		システム時間管理
  */
 
Index: /ssp_qb_r5f100le_cs/trunk/include/itron.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/include/itron.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/include/itron.h	(revision 95)
@@ -8,36 +8,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id: itron.h 1014 2008-05-10 08:28:40Z ertl-hiro $
@@ -45,14 +41,14 @@
 
 /*
- *		ITRONdl¤ÊKèÌf[^^EèE}N
+ *		ITRON仕様共通規定のデータ型・定数・マクロ
  *
- *  ±Ìwb_t@CÍCITRONdl¤ÊKèÌf[^^EèE}NÌ
- *  ÅCTOPPERS¤Êwb_t@CÉÜÜêÈ¢àÌÌè`ðÜÞDITRONd
- *  lÆÌÝ·«ðKvÆ·éAvP[VªCN[h·é±Æðz
- *  èµÄ¢éD
+ *  このヘッダファイルは，ITRON仕様共通規定のデータ型・定数・マクロの中
+ *  で，TOPPERS共通ヘッダファイルに含まれないものの定義を含む．ITRON仕
+ *  様との互換性を必要とするアプリケーションがインクルードすることを想
+ *  定している．
  *
- *  AZu¾êÌ\[Xt@C©ç±Ìt@CðCN[h·é
- *  ÍCTOPPERS_MACRO_ONLYðè`µÄ¨­D±êÉæèC}Nè`ÈOð
- *  ­æ¤ÉÈÁÄ¢éD
+ *  アセンブリ言語のソースファイルからこのファイルをインクルードする時
+ *  は，TOPPERS_MACRO_ONLYを定義しておく．これにより，マクロ定義以外を
+ *  除くようになっている．
  */
 
@@ -65,74 +61,73 @@
 
 /*
- *  TOPPERS¤Êwb_t@C
+ *  TOPPERS共通ヘッダファイル
  */
 #include "t_stddef.h"
 
 /*
- *  ITRONdl¤Êf[^^
+ *  ITRON仕様共通データ型
  */
 #ifndef TOPPERS_MACRO_ONLY
 
 #ifdef INT8_MAX
-typedef	int8_t			B;			/* t«8rbg® */
+typedef	int8_t			B;			/* 符号付き8ビット整数 */
 #endif /* INT8_MAX */
 
 #ifdef UINT8_MAX
-typedef	uint8_t			UB;			/* ³µ8rbg® */
-typedef	uint8_t			VB;			/* ^ªèÜçÈ¢8rbgÌl */
+typedef	uint8_t			UB;			/* 符号無し8ビット整数 */
+typedef	uint8_t			VB;			/* 型が定まらない8ビットの値 */
 #endif /* UINT8_MAX */
 
-typedef	int16_t			H;			/* t«16rbg® */
-typedef	uint16_t		UH;			/* ³µ16rbg® */
-typedef	uint16_t		VH;			/* ^ªèÜçÈ¢16rbgÌl */
+typedef	int16_t			H;			/* 符号付き16ビット整数 */
+typedef	uint16_t		UH;			/* 符号無し16ビット整数 */
+typedef	uint16_t		VH;			/* 型が定まらない16ビットの値 */
 
-typedef	int32_t			W;			/* t«32rbg® */
-typedef	uint32_t		UW;			/* ³µ32rbg® */
-typedef	uint32_t		VW;			/* ^ªèÜçÈ¢32rbgÌl */
+typedef	int32_t			W;			/* 符号付き32ビット整数 */
+typedef	uint32_t		UW;			/* 符号無し32ビット整数 */
+typedef	uint32_t		VW;			/* 型が定まらない32ビットの値 */
 
 #ifdef INT64_MAX
-typedef	int64_t			D;			/* t«64rbg® */
+typedef	int64_t			D;			/* 符号付き64ビット整数 */
 #endif /* INT64_MAX */
 
 #ifdef UINT64_MAX
-typedef	uint64_t		UD;			/* ³µ64rbg® */
-typedef	uint64_t		VD;			/* ^ªèÜçÈ¢64rbgÌl */
+typedef	uint64_t		UD;			/* 符号無し64ビット整数 */
+typedef	uint64_t		VD;			/* 型が定まらない64ビットの値 */
 #endif /* UINT64_MAX */
 
-typedef	void			*VP;		/* ^ªèÜçÈ¢àÌÖÌ|C^ */
+typedef	void			*VP;		/* 型が定まらないものへのポインタ */
 
-typedef int_t			INT;		/* ©RÈTCYÌt«® */
-typedef uint_t			UINT;		/* ©RÈTCYÌ³µ® */
+typedef int_t			INT;		/* 自然なサイズの符号付き整数 */
+typedef uint_t			UINT;		/* 自然なサイズの符号無し整数 */
 
-typedef bool_t			BOOL;		/* ^Ul */
+typedef bool_t			BOOL;		/* 真偽値 */
 
-typedef	intptr_t		VP_INT;		/* |C^Ü½Ít«® */
+typedef	intptr_t		VP_INT;		/* ポインタまたは符号付き整数 */
 
 #endif /* TOPPERS_MACRO_ONLY */
 
 /*
- *  ITRONdl¤Êè
+ *  ITRON仕様共通定数
  */
-#define	TRUE		true			/* ^ */
-#define	FALSE		false			/* U */
+#define	TRUE		true			/* 真 */
+#define	FALSE		false			/* 偽 */
 
 /*
- *  IuWFNg®«Ìè`
+ *  オブジェクト属性の定義
  */
-#define TA_HLNG			UINT_C(0x00)	/* ¾êpC^tF[X */
-#define TA_TFIFO		UINT_C(0x00)	/* ^XNÌÒ¿sñðFIFOÉ */
-#define TA_MFIFO		UINT_C(0x00)	/* bZ[WL
-[ðFIFOÉ */
-#define TA_WSGL			UINT_C(0x00)	/* Ò¿^XNÍ1ÂÌÝ */
-#define TA_DISINT		UINT_C(0x00)	/* ÝvÖ~tOðZbg */
-#define TA_LEVEL		UINT_C(0x00)	/* xgK */
+#define TA_HLNG			UINT_C(0x00)	/* 高級言語用インタフェース */
+#define TA_TFIFO		UINT_C(0x00)	/* タスクの待ち行列をFIFO順に */
+#define TA_MFIFO		UINT_C(0x00)	/* メッセージキューをFIFO順に */
+#define TA_WSGL			UINT_C(0x00)	/* 待ちタスクは1つのみ */
+#define TA_DISINT		UINT_C(0x00)	/* 割込み要求禁止フラグをセット */
+#define TA_LEVEL		UINT_C(0x00)	/* レベルトリガ */
 
 /*
- *  lXgñÌÅål
+ *  ネスト回数の最大値
  */
-#define TMAX_SUSCNT		UINT_C(1)		/* ­§Ò¿vlXgÌÅål */
+#define TMAX_SUSCNT		UINT_C(1)		/* 強制待ち要求ネスト数の最大値 */
 
 /*
- *  ­§Ò¿óÔ©çÌ­§ÄJ
+ *  強制待ち状態からの強制再開
  */
 #define frsm_tsk(tskid)		rsm_tsk(tskid)
Index: /ssp_qb_r5f100le_cs/trunk/include/kernel.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/include/kernel.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/include/kernel.h	(revision 95)
@@ -11,49 +11,45 @@
  *  Copyright (C) 2010-2012 by Meika Sugimoto
  * 
- *  ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»EüÏE
- *  ÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 
- *      \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[X
- *      R[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Égp
- *      Å«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gipÒ}
- *      j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºLÌ³Û
- *      ØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Égp
- *      Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌì
- *         \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ
- *        ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹Q
- *      ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDÜ½C
- *      {\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©ÈéRÉîÃ
- *      ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
+ *  上記著作権者は，以下の (1)〜(4) の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改変・
+ *  再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作権
+ *      表示，この利用条件および下記の無保証規定が，そのままの形でソース
+ *      コード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使用
+ *      できる形で再配布する場合には，再配布に伴うドキュメント（利用者マ
+ *      ニュアルなど）に，上記の著作権表示，この利用条件および下記の無保
+ *      証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使用
+ *      できない形で再配布する場合には，次のいずれかの条件を満たすこと．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著作
+ *        権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに報
+ *        告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害
+ *      からも，上記著作権者およびTOPPERSプロジェクトを免責すること．また，
+ *      本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ
+ *      く請求からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ
- *  ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉÎ·
- *  éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEFAÌp
- *  Éæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»ÌÓCð
- *  íÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者およ
+ *  びTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的に対す
+ *  る適合性も含めて，いかなる保証も行わない．また，本ソフトウェアの利用
+ *  により直接的または間接的に生じたいかなる損害に関しても，その責任を負
+ *  わない．
  * 
  */
 
 /*
- *		TOPPERS/SSPJ[l Wwb_t@C
- *
- *  TOPPERS/SSPJ[lªT|[g·éT[rXR[Ìé¾ÆCKvÈf[
- *  ^^CèC}NÌè`ðÜÞwb_t@CD
- *
- *  AZu¾êÌ\[Xt@C©ç±Ìt@CðCN[h·é
- *  ÍCTOPPERS_MACRO_ONLYðè`µÄ¨­D±êÉæèC}Nè`ÈOð
- *  ­æ¤ÉÈÁÄ¢éD
- *
- *  ±Ìt@CðCN[h·éOÉCN[hµÄ¨­×«t@C
- *  ÍÈ¢D
+ *		TOPPERS/SSPカーネル 標準ヘッダファイル
+ *
+ *  TOPPERS/SSPカーネルがサポートするサービスコールの宣言と，必要なデー
+ *  タ型，定数，マクロの定義を含むヘッダファイル．
+ *
+ *  アセンブリ言語のソースファイルからこのファイルをインクルードする時
+ *  は，TOPPERS_MACRO_ONLYを定義しておく．これにより，マクロ定義以外を
+ *  除くようになっている．
+ *
+ *  このファイルをインクルードする前にインクルードしておくべきファイル
+ *  はない．
  */
 
@@ -62,10 +58,10 @@
 
 /*
- *	TOPPERS¤ÊÌf[^^EèE}N
+ *	TOPPERS共通のデータ型・定数・マクロ
  */
 #include <t_stddef.h>
 
 /*
- *  ^[QbgË¶
+ *  ターゲット依存部
  */
 #include "target_kernel.h"
@@ -73,18 +69,18 @@
 
 /*
- *  f[^^Ìè`
- */
-
-/*
- *  rbgp^[âIuWFNgÔÌ^è`
- */
-typedef	uint_t			INTNO;		/* ÝÔ */
-typedef	uint_t			INHNO;		/* ÝnhÔ */
-typedef	uint_t			EXCNO;		/* CPUáOnhÔ */
-typedef unsigned long	FLGPTN;		/* CxgtOp^[ */
-
-
-/*
- *  PÊÌ^è`
+ *  データ型の定義
+ */
+
+/*
+ *  ビットパターンやオブジェクト番号の型定義
+ */
+typedef	uint_t			INTNO;		/* 割込み番号 */
+typedef	uint_t			INHNO;		/* 割込みハンドラ番号 */
+typedef	uint_t			EXCNO;		/* CPU例外ハンドラ番号 */
+typedef unsigned long	FLGPTN;		/* イベントフラグパターン */
+
+
+/*
+ *  処理単位の型定義
  */
 typedef void	(*TASK)(intptr_t exinf);
@@ -98,18 +94,18 @@
 
 /*
- *  ÌæmÛÌ½ßÌ^è`
+ *  メモリ領域確保のための型定義
  */
 #ifndef TOPPERS_STK_T
 #define TOPPERS_STK_T	intptr_t
 #endif /* TOPPERS_STK_T */
-typedef	TOPPERS_STK_T	STK_T;	/* X^bNÌæðmÛ·é½ßÌ^ */
-
-
-/*
- *  T[rXR[Ìé¾
- */
-
-/*
- *  ^XNÇ@\
+typedef	TOPPERS_STK_T	STK_T;	/* スタック領域を確保するための型 */
+
+
+/*
+ *  サービスコールの宣言
+ */
+
+/*
+ *  タスク管理機能
  */
 extern ER		act_tsk(ID tskid);
@@ -117,14 +113,13 @@
 
 /*
- *  ¯úEÊM@\
- */
-
-/* f[^L
-[ */
+ *  同期・通信機能
+ */
+
+/* データキュー */
 extern ER psnd_dtq(ID dtqid, intptr_t data);
 extern ER ipsnd_dtq(ID dtqid, intptr_t data);
 extern ER prcv_dtq(ID dtqid, intptr_t *p_data);
 
-/* CxgtO */
+/* イベントフラグ */
 extern ER set_flg(ID flgid, FLGPTN setptn);
 extern ER iset_flg(ID flgid, FLGPTN setptn);
@@ -133,5 +128,5 @@
 
 /*
- *  VXeóÔÇ@\
+ *  システム状態管理機能
  */
 extern ER		loc_cpu(void);
@@ -149,5 +144,5 @@
 
 /*
- *  ÝÇ@\
+ *  割込み管理機能
  */
 extern ER		dis_int(INTNO intno);
@@ -155,5 +150,5 @@
 
 /*
- *  üúnh@\
+ *  周期ハンドラ機能
  */
 extern ER		sta_cyc(ID cycid);
@@ -161,5 +156,5 @@
 
 /*
- *  A[nh@\
+ *  アラームハンドラ機能
  */
 extern ER		sta_alm(ID almid , RELTIM almtim);
@@ -169,5 +164,5 @@
 
 /*
- *  VXeÇ@\
+ *  システム時刻管理機能
  */
 extern ER		get_tim(SYSTIM *p_systim);
@@ -176,52 +171,52 @@
 
 /*
- *  IuWFNg®«Ìè`
- */
-#define TA_RSTR			UINT_C(0x04)	/* §ñ^XN */
-
-#define TA_CLR			UINT_C(0x04)	/* CxgtOÌNAwè */
-
-#define TA_ACT			UINT_C(0x02)	/* ^XNðN®³ê½óÔÅ¶¬ */
-
-#define TA_STA			UINT_C(0x02)	/* üúnhð®ìóÔÅ¶¬ */
-
-#define TA_NONKERNEL	UINT_C(0x02)	/* J[lÇOÌÝ */
-
-#define TA_ENAINT		UINT_C(0x01)	/* ÝvÖ~tOðNA */
-#define TA_EDGE			UINT_C(0x02)	/* GbWgK */
-
-/*
- *  T[rXR[Ì®ì[hÌè`
- */
-#define TWF_ORW			UINT_C(0x01)	/* CxgtOÌORÒ¿ */
-#define TWF_ANDW		UINT_C(0x02)	/* CxgtOÌANDÒ¿ */
-
-/*
- *  »Ì¼ÌèÌè`
- */
-#define TSK_SELF		0			/* ©^XNwè */
-#define TSK_NONE		0			/* Y·é^XNªÈ¢ */
-
-#define TPRI_INI		0			/* ^XNÌN®Dæx */
-
-#define TIPM_ENAALL		0			/* ÝDæx}XNSð */
-
-/*
- *  \¬èÆ}N
- */
-
-/*
- *  DæxÌÍÍ
- */
-#define TMIN_TPRI		1			/* ^XNDæxÌÅ¬liÅlj*/
+ *  オブジェクト属性の定義
+ */
+#define TA_RSTR			UINT_C(0x04)	/* 制約タスク */
+
+#define TA_CLR			UINT_C(0x04)	/* イベントフラグのクリア指定 */
+
+#define TA_ACT			UINT_C(0x02)	/* タスクを起動された状態で生成 */
+
+#define TA_STA			UINT_C(0x02)	/* 周期ハンドラを動作状態で生成 */
+
+#define TA_NONKERNEL	UINT_C(0x02)	/* カーネル管理外の割込み */
+
+#define TA_ENAINT		UINT_C(0x01)	/* 割込み要求禁止フラグをクリア */
+#define TA_EDGE			UINT_C(0x02)	/* エッジトリガ */
+
+/*
+ *  サービスコールの動作モードの定義
+ */
+#define TWF_ORW			UINT_C(0x01)	/* イベントフラグのOR待ち */
+#define TWF_ANDW		UINT_C(0x02)	/* イベントフラグのAND待ち */
+
+/*
+ *  その他の定数の定義
+ */
+#define TSK_SELF		0			/* 自タスク指定 */
+#define TSK_NONE		0			/* 該当するタスクがない */
+
+#define TPRI_INI		0			/* タスクの起動時優先度 */
+
+#define TIPM_ENAALL		0			/* 割込み優先度マスク全解除 */
+
+/*
+ *  構成定数とマクロ
+ */
+
+/*
+ *  優先度の範囲
+ */
+#define TMIN_TPRI		1			/* タスク優先度の最小値（最高値）*/
 #ifndef TMAX_TPRI
-	#define TMAX_TPRI		16			/* ^XNDæxÌÅåliÅálj*/
+	#define TMAX_TPRI		16			/* タスク優先度の最大値（最低値）*/
 #elif (TMAX_TPRI != 8) && (TMAX_TPRI != 16)
 	#error "TMAX_TPRI must defined 8 or 16."
 #endif	/* TMAX_TPRI */
 
-#define TMIN_ISRPRI		1			/* ÝT[rX[`DæxÌÅ¬l */
+#define TMIN_ISRPRI		1			/* 割込みサービスルーチン優先度の最小値 */
 #ifndef TMAX_ISRPRI
-	#define TMAX_ISRPRI		16			/* ÝT[rX[`DæxÌÅål */
+	#define TMAX_ISRPRI		16			/* 割込みサービスルーチン優先度の最大値 */
 #elif (TMAX_ISRPRI != 8) && (TMAX_ISRPRI != 16)
 	#error "TMAX_ISRPRI must defined 8 or 16."
@@ -229,30 +224,28 @@
 
 /*
- *  o[Wîñ
- */
-#define TKERNEL_MAKER	UINT_C(0x0118)	/* J[lÌ[J[R[h */
-#define TKERNEL_PRID	UINT_C(0x0007)	/* J[lÌ¯ÊÔ */
-#define TKERNEL_SPVER	UINT_C(0xf511)	/* J[ldlÌo[WÔ */
-#define TKERNEL_PRVER	UINT_C(0x1030)	/* J[lÌo[WÔ */
-
-/*
- *  L
-[COñÌÅål
- */
-#define TMAX_ACTCNT		UINT_C(1)		/* N®vL
-[COÌÅål */
-
-/*
- *  rbgp^[Ìrbg
- */
-#ifndef TBIT_FLGPTN                     /* CxgtOÌrbg */
+ *  バージョン情報
+ */
+#define TKERNEL_MAKER	UINT_C(0x0118)	/* カーネルのメーカーコード */
+#define TKERNEL_PRID	UINT_C(0x0007)	/* カーネルの識別番号 */
+#define TKERNEL_SPVER	UINT_C(0xf511)	/* カーネル仕様のバージョン番号 */
+#define TKERNEL_PRVER	UINT_C(0x1030)	/* カーネルのバージョン番号 */
+
+/*
+ *  キューイング回数の最大値
+ */
+#define TMAX_ACTCNT		UINT_C(1)		/* 起動要求キューイング数の最大値 */
+
+/*
+ *  ビットパターンのビット数
+ */
+#ifndef TBIT_FLGPTN                     /* イベントフラグのビット数 */
 #define TBIT_FLGPTN             (sizeof(FLGPTN) * CHAR_BIT)
 #endif /* TBIT_FLGPTN */
 
 /*
- *  ÌæmÛÌ½ßÌ}N
- *
- *  ÈºÌTOPPERS_COUNT_SZÆTOPPERS_ROUND_SZÌè`ÍCunitª2ÌÐæÅ 
- *  é±Æð¼èµÄ¢éD
+ *  メモリ領域確保のためのマクロ
+ *
+ *  以下のTOPPERS_COUNT_SZとTOPPERS_ROUND_SZの定義は，unitが2の巾乗であ
+ *  ることを仮定している．
  */
 #ifndef TOPPERS_COUNT_SZ
@@ -267,8 +260,8 @@
 
 /*
- *  »Ì¼Ì\¬è
- */
-#define TMAX_MAXCYC             UINT_C(16)        /* üúnhÌÅå */
-#define TMAX_MAXALM             UINT_C(16)        /* A[nhÌÅå */
+ *  その他の構成定数
+ */
+#define TMAX_MAXCYC             UINT_C(16)        /* 周期ハンドラの最大数 */
+#define TMAX_MAXALM             UINT_C(16)        /* アラームハンドラの最大数 */
 
 #endif /* TOPPERS_KERNEL_H */
Index: /ssp_qb_r5f100le_cs/trunk/include/log_output.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/include/log_output.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/include/log_output.h	(revision 95)
@@ -10,36 +10,32 @@
  *              Nagoya Municipal Industrial Research Institute, JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id: log_output.h 1176 2008-07-01 10:24:46Z ertl-hiro $
@@ -47,5 +43,5 @@
 
 /*
- *		VXeOÌtH[}bgoÍ
+ *		システムログのフォーマット出力
  */
 
@@ -60,8 +56,8 @@
 
 /*
- *  ¶ñ®`oÍ
+ *  文字列整形出力
  *
- *  formatÅwè³êétH[}bgLqÆp_argsÅwè³êéøñ©çì
- *  ¬µ½bZ[WðC1¶oÍÖputcðp¢ÄoÍ·éD
+ *  formatで指定されるフォーマット記述とp_argsで指定される引数列から作
+ *  成したメッセージを，1文字出力関数putcを用いて出力する．
  */
 extern void	syslog_printf(const char *format, const intptr_t *p_args,
@@ -69,16 +65,16 @@
 
 /*
- *  OîñÌoÍ
+ *  ログ情報の出力
  *
- *  p_syslogÅwè³êéOîñð¶ñÉ®`µC1¶oÍÖputcðp
- *  ¢ÄoÍ·éD
+ *  p_syslogで指定されるログ情報を文字列に整形し，1文字出力関数putcを用
+ *  いて出力する．
  */
 extern void	syslog_print(const SYSLOG *p_syslog, void (*putc)(char)) throw();
 
 /*
- *  Oîñr¸bZ[W¶ñ
+ *  ログ情報喪失メッセージ文字列
  *
- *  lostÂÌOîñª¸íê½|ÌbZ[WðC1¶oÍÖputcðp¢
- *  ÄoÍ·éD
+ *  lost個のログ情報が失われた旨のメッセージを，1文字出力関数putcを用い
+ *  て出力する．
  */
 extern void	syslog_lostmsg(uint_t lost, void (*putc)(char)) throw();
Index: /ssp_qb_r5f100le_cs/trunk/include/sil.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/include/sil.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/include/sil.h	(revision 95)
@@ -10,36 +10,32 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
- * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
+ * 
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id: sil.h 883 2008-04-11 10:45:20Z hiro $
@@ -47,15 +43,15 @@
 
 /*
- *		VXeC^tF[XC
- *
- *  VXeC^tF[XCÌT[rXR[Ìè`Eé¾Æ}NÈ
- *  ÇÌè`ðÜÞwb_t@CD
- *
- *  AZu¾êÌ\[Xt@C©ç±Ìt@CðCN[h·é
- *  ÍCTOPPERS_MACRO_ONLYðè`µÄ¨­±ÆÅC}Nè`ÈOÌLqð
- *  ­±ÆªÅ«éD
- *
- *  ±Ìt@CðCN[h·éOÉCN[hµÄ¨­×«t@C
- *  ÍÈ¢D
+ *		システムインタフェースレイヤ
+ *
+ *  システムインタフェースレイヤのサービスコールの定義・宣言とマクロな
+ *  どの定義を含むヘッダファイル．
+ *
+ *  アセンブリ言語のソースファイルからこのファイルをインクルードする時
+ *  は，TOPPERS_MACRO_ONLYを定義しておくことで，マクロ定義以外の記述を
+ *  除くことができる．
+ *
+ *  このファイルをインクルードする前にインクルードしておくべきファイル
+ *  はない．
  */
 
@@ -68,10 +64,10 @@
 
 /*
- *	TOPPERS¤ÊÌf[^^EèE}N
+ *	TOPPERS共通のデータ型・定数・マクロ
  */
 #include <t_stddef.h>
 
 /*
- *  ^[QbgË¶
+ *  ターゲット依存部
  */
 #include "target_sil.h"
@@ -80,17 +76,17 @@
 
 /*
- *  SÝbNóÔÌ§ä
- *
- *  SIL_PRE_LOCCSIL_LOC_INT()CSIL_UNL_INT()ÍC^[QbgË¶Åp
- *  Ó·éDftHgÌè`ÍpÓµÄ¢È¢D
- */
-
-/*
- *  ÷­ÔÒ¿
+ *  全割込みロック状態の制御
+ *
+ *  SIL_PRE_LOC，SIL_LOC_INT()，SIL_UNL_INT()は，ターゲット依存部で用
+ *  意する．デフォルトの定義は用意していない．
+ */
+
+/*
+ *  微少時間待ち
  */
 extern void	sil_dly_nse(ulong_t dlytim) throw();
 
 /*
- *  GfBAÌ½]
+ *  エンディアンの反転
  */
 #ifndef TOPPERS_SIL_REV_ENDIAN_UINT16
@@ -106,10 +102,10 @@
 
 /*
- *  óÔANZXÖ
+ *  メモリ空間アクセス関数
  */
 #ifndef TOPPERS_OMIT_SIL_ACCESS
 
 /*
- *  8rbgPÊÌÇoµ^Ý
+ *  8ビット単位の読出し／書込み
  */
 #ifdef UINT8_MAX
@@ -133,5 +129,5 @@
 
 /*
- *  16rbgPÊÌÇoµ^Ý
+ *  16ビット単位の読出し／書込み
  */
 
@@ -151,5 +147,5 @@
 }
 
-#ifdef SIL_ENDIAN_BIG			/* rbOGfBAvZbT */
+#ifdef SIL_ENDIAN_BIG			/* ビッグエンディアンプロセッサ */
 
 #define	sil_reh_bem(mem)		sil_reh_mem(mem)
@@ -177,5 +173,5 @@
 
 #endif /* TOPPERS_OMIT_SIL_WRH_LEM */
-#else /* SIL_ENDIAN_BIG */		/* gGfBAvZbT */
+#else /* SIL_ENDIAN_BIG */		/* リトルエンディアンプロセッサ */
 
 #define	sil_reh_lem(mem)		sil_reh_mem((mem))
@@ -206,5 +202,5 @@
 
 /*
- *  32rbgPÊÌÇoµ^Ý
+ *  32ビット単位の読出し／書込み
  */
 
@@ -224,5 +220,5 @@
 }
 
-#ifdef SIL_ENDIAN_BIG			/* rbOGfBAvZbT */
+#ifdef SIL_ENDIAN_BIG			/* ビッグエンディアンプロセッサ */
 
 #define	sil_rew_bem(mem)		sil_rew_mem(mem)
@@ -250,5 +246,5 @@
 
 #endif /* TOPPERS_OMIT_SIL_WRW_LEM */
-#else /* SIL_ENDIAN_BIG */		/* gGfBAvZbT */
+#else /* SIL_ENDIAN_BIG */		/* リトルエンディアンプロセッサ */
 
 #define	sil_rew_lem(mem)		sil_rew_mem((mem))
Index: /ssp_qb_r5f100le_cs/trunk/include/t_stddef.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/include/t_stddef.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/include/t_stddef.h	(revision 95)
@@ -10,36 +10,32 @@
  *              Nagoya Municipal Industrial Research Institute, JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
- * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
+ * 
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id: t_stddef.h 1513 2009-04-22 07:35:20Z ertl-hiro $
@@ -47,17 +43,17 @@
 
 /*
- *		TOPPERS¤Êwb_t@C
- *
- *  TOPPERSÖAÌ·×ÄÌ\[Xt@CÅCN[h·×«wb_t@C
- *  DeíÌJ[lâ\tgEFAiÅ¤ÊÉp¢é±ÆðzèµÄ¢
- *  éDTOPPERSÌeíÌJ[lâ\tgEFAiÅ¤ÊÉp¢éf[^^C
- *  èC}NÌè`ÈÇðÜÞD
- *
- *  AZu¾êÌ\[Xt@C©ç±Ìt@CðCN[h·é
- *  ÍCTOPPERS_MACRO_ONLYðè`µÄ¨­D±êÉæèC}Nè`ÈOð
- *  ­æ¤ÉÈÁÄ¢éD
- *
- *  ±Ìt@CðCN[h·éOÉCN[hµÄ¨­×«t@C
- *  ÍÈ¢D
+ *		TOPPERS共通ヘッダファイル
+ *
+ *  TOPPERS関連のすべてのソースファイルでインクルードすべきヘッダファイ
+ *  ル．各種のカーネルやソフトウェア部品で共通に用いることを想定してい
+ *  る．TOPPERSの各種のカーネルやソフトウェア部品で共通に用いるデータ型，
+ *  定数，マクロの定義などを含む．
+ *
+ *  アセンブリ言語のソースファイルからこのファイルをインクルードする時
+ *  は，TOPPERS_MACRO_ONLYを定義しておく．これにより，マクロ定義以外を
+ *  除くようになっている．
+ *
+ *  このファイルをインクルードする前にインクルードしておくべきファイル
+ *  はない．
  */
 
@@ -70,10 +66,10 @@
 
 /*
- *  ^[QbgË¶
+ *  ターゲット依存部
  */
 #include "target_stddef.h"
 
 /*
- *  C¾ê/EC++Åthrow()ÉÎ·é½ßÌè`
+ *  C言語/EC++でthrow()に対処するための定義
  */
 #if !defined(__cplusplus) || defined(__embedded_cplusplus)
@@ -84,12 +80,12 @@
 
 /*
- *  ^[QbgË¶Ìf[^^Ì}NÌftHgè`
+ *  ターゲット依存のデータ型のマクロのデフォルト定義
  */
 #ifndef TOPPERS_bool
-#define TOPPERS_bool	int				/* u[^ */
+#define TOPPERS_bool	int				/* ブール型 */
 #endif /* TOPPERS_bool */
 
 #ifndef TOPPERS_size
-#define TOPPERS_size	uintptr_t		/* TCY^ */
+#define TOPPERS_size	uintptr_t		/* サイズ型 */
 #endif /* TOPPERS_size */
 
@@ -97,44 +93,44 @@
 struct TOPPERS_dummy_t { int TOPPERS_dummy_field; };
 typedef	void			(*TOPPERS_fp_t)(struct TOPPERS_dummy_t);
-#define TOPPERS_fp		TOPPERS_fp_t	/* vOÌN®Ôn */
+#define TOPPERS_fp		TOPPERS_fp_t	/* プログラムの起動番地 */
 #endif /* TOPPERS_fp */
 
 /*
- *  ¤Êf[^^
- */
-typedef TOPPERS_bool	bool_t;		/* ^Ul */
-
-typedef signed int		int_t;		/* ©RÈTCYÌt«® */
-typedef unsigned int	uint_t;		/* ©RÈTCYÌ³µ® */
-
-typedef signed long		long_t;		/* ·ßÌTCYÌt«® */
-typedef unsigned long	ulong_t;	/* ·ßÌTCYÌ³µ® */
-
-typedef int_t			FN;			/* @\R[h */
-typedef	int_t			ER;			/* G[R[h */
-typedef	int_t			ID;			/* IuWFNgÌIDÔ */
-typedef	uint_t			ATR;		/* IuWFNgÌ®« */
-typedef	uint_t			STAT;		/* IuWFNgÌóÔ */
-typedef	uint_t			MODE;		/* T[rXR[Ì®ì[h */
-typedef	int_t			PRI;		/* Dæx */
-typedef	TOPPERS_size	SIZE;		/* ÌæÌTCY */
-
-typedef	int_t			TMO;		/* ^CAEgwè */
-typedef	uint_t			RELTIM;		/* ÎÔ */
-typedef	ulong_t			SYSTIM;		/* VXe */
-typedef	ulong_t			SYSUTM;		/* «\]¿pVXe */
-
-typedef	TOPPERS_fp		FP;			/* vOÌN®Ôn */
-
-typedef	int_t			ER_BOOL;	/* G[R[hÜ½Í^Ul */
-typedef	int_t			ER_ID;		/* G[R[hÜ½ÍIDÔ */
-typedef	int_t			ER_UINT;	/* G[R[hÜ½Í³µ® */
-
-typedef	uint32_t		ACPTN;		/* ANZXÂp^[ */
-typedef	struct acvct {				/* ANZXÂxN^ */
-	ACPTN		acptn1;				/* Êíì1ÌANZXÂp^[ */
-	ACPTN		acptn2;				/* Êíì2ÌANZXÂp^[ */
-	ACPTN		acptn3;				/* ÇìÌANZXÂp^[ */
-	ACPTN		acptn4;				/* QÆìÌANZXÂp^[ */
+ *  共通データ型
+ */
+typedef TOPPERS_bool	bool_t;		/* 真偽値 */
+
+typedef signed int		int_t;		/* 自然なサイズの符号付き整数 */
+typedef unsigned int	uint_t;		/* 自然なサイズの符号無し整数 */
+
+typedef signed long		long_t;		/* 長めのサイズの符号付き整数 */
+typedef unsigned long	ulong_t;	/* 長めのサイズの符号無し整数 */
+
+typedef int_t			FN;			/* 機能コード */
+typedef	int_t			ER;			/* エラーコード */
+typedef	int_t			ID;			/* オブジェクトのID番号 */
+typedef	uint_t			ATR;		/* オブジェクトの属性 */
+typedef	uint_t			STAT;		/* オブジェクトの状態 */
+typedef	uint_t			MODE;		/* サービスコールの動作モード */
+typedef	int_t			PRI;		/* 優先度 */
+typedef	TOPPERS_size	SIZE;		/* メモリ領域のサイズ */
+
+typedef	int_t			TMO;		/* タイムアウト指定 */
+typedef	uint_t			RELTIM;		/* 相対時間 */
+typedef	ulong_t			SYSTIM;		/* システム時刻 */
+typedef	ulong_t			SYSUTM;		/* 性能評価用システム時刻 */
+
+typedef	TOPPERS_fp		FP;			/* プログラムの起動番地 */
+
+typedef	int_t			ER_BOOL;	/* エラーコードまたは真偽値 */
+typedef	int_t			ER_ID;		/* エラーコードまたはID番号 */
+typedef	int_t			ER_UINT;	/* エラーコードまたは符号無し整数 */
+
+typedef	uint32_t		ACPTN;		/* アクセス許可パターン */
+typedef	struct acvct {				/* アクセス許可ベクタ */
+	ACPTN		acptn1;				/* 通常操作1のアクセス許可パターン */
+	ACPTN		acptn2;				/* 通常操作2のアクセス許可パターン */
+	ACPTN		acptn3;				/* 管理操作のアクセス許可パターン */
+	ACPTN		acptn4;				/* 参照操作のアクセス許可パターン */
 } ACVCT;
 
@@ -142,78 +138,77 @@
 
 /*
- *  ®èðìé}N
+ *  整数定数を作るマクロ
  */
 #ifndef UINT_C
-#define UINT_C(val)		(val ## U)		/* uint_t^Ìèðìé}N */
+#define UINT_C(val)		(val ## U)		/* uint_t型の定数を作るマクロ */
 #endif /* UINT_C */
 
 #ifndef ULONG_C
-#define ULONG_C(val)	(val ## UL)		/* ulong_t^Ìèðìé}N */
+#define ULONG_C(val)	(val ## UL)		/* ulong_t型の定数を作るマクロ */
 #endif /* ULONG_C */
 
 /*
- *  êÊè
+ *  一般定数
  */
 #ifndef NULL
-#define NULL		0			/* ³ø|C^ */
+#define NULL		0			/* 無効ポインタ */
 #endif /* NULL */
 
 #ifndef true
-#define true		1			/* ^ */
+#define true		1			/* 真 */
 #endif /* true */
 
 #ifndef false
-#define false		0			/* U */
+#define false		0			/* 偽 */
 #endif /* false */
 
-#define E_OK		0			/* ³íI¹ */
-
-/*
- *  CG[R[h
- */
-#define E_SYS		(-5)		/* VXeG[ */
-#define E_NOSPT		(-9)		/* ¢T|[g@\ */
-#define E_RSFN		(-10)		/* \ñ@\R[h */
-#define E_RSATR		(-11)		/* \ñ®« */
-#define E_PAR		(-17)		/* p[^G[ */
-#define E_ID		(-18)		/* s³IDÔ */
-#define E_CTX		(-25)		/* ReLXgG[ */
-#define E_MACV		(-26)		/* ANZXá½ */
-#define E_OACV		(-27)		/* IuWFNgANZXá½ */
-#define E_ILUSE		(-28)		/* T[rXR[s³gp */
-#define E_NOMEM		(-33)		/* s« */
-#define E_NOID		(-34)		/* IDÔs« */
-#define E_NORES		(-35)		/* ¹s« */
-#define E_OBJ		(-41)		/* IuWFNgóÔG[ */
-#define E_NOEXS		(-42)		/* IuWFNg¢¶¬ */
-#define E_QOVR		(-43)		/* L
-[COI[o[t[ */
-#define E_RLWAI		(-49)		/* Ò¿óÔÌ­§ð */
-#define E_TMOUT		(-50)		/* |[O¸sÜ½Í^CAEg */
-#define E_DLT		(-51)		/* Ò¿IuWFNgÌí */
-#define E_CLS		(-52)		/* Ò¿IuWFNgÌóÔÏ» */
-#define E_WBLK		(-57)		/* mubLOót¯ */
-#define E_BOVR		(-58)		/* obt@I[o[t[ */
-
-/*
- *  IuWFNg®«
- */
-#define TA_NULL		UINT_C(0)	/* IuWFNg®«ðwèµÈ¢ */
-
-/*
- *  ^CAEgwè
- */
-#define TMO_POL		0			/* |[O */
-#define TMO_FEVR	(-1)		/* ivÒ¿ */
-#define TMO_NBLK	(-2)		/* mubLO */
-
-/*
- *  ANZXÂp^[
- */
-#define TACP_KERNEL		(0U)	/* J[lhC¾¯ÉANZXðÂ */
-#define TACP_SHARED		(~0U)	/* ·×ÄÌhC©çANZXðÂ */
-
-/*
- *  ^ÉÖ·éîñðæèo·½ßÌ}N
+#define E_OK		0			/* 正常終了 */
+
+/*
+ *  メインエラーコード
+ */
+#define E_SYS		(-5)		/* システムエラー */
+#define E_NOSPT		(-9)		/* 未サポート機能 */
+#define E_RSFN		(-10)		/* 予約機能コード */
+#define E_RSATR		(-11)		/* 予約属性 */
+#define E_PAR		(-17)		/* パラメータエラー */
+#define E_ID		(-18)		/* 不正ID番号 */
+#define E_CTX		(-25)		/* コンテキストエラー */
+#define E_MACV		(-26)		/* メモリアクセス違反 */
+#define E_OACV		(-27)		/* オブジェクトアクセス違反 */
+#define E_ILUSE		(-28)		/* サービスコール不正使用 */
+#define E_NOMEM		(-33)		/* メモリ不足 */
+#define E_NOID		(-34)		/* ID番号不足 */
+#define E_NORES		(-35)		/* 資源不足 */
+#define E_OBJ		(-41)		/* オブジェクト状態エラー */
+#define E_NOEXS		(-42)		/* オブジェクト未生成 */
+#define E_QOVR		(-43)		/* キューイングオーバーフロー */
+#define E_RLWAI		(-49)		/* 待ち状態の強制解除 */
+#define E_TMOUT		(-50)		/* ポーリング失敗またはタイムアウト */
+#define E_DLT		(-51)		/* 待ちオブジェクトの削除 */
+#define E_CLS		(-52)		/* 待ちオブジェクトの状態変化 */
+#define E_WBLK		(-57)		/* ノンブロッキング受付け */
+#define E_BOVR		(-58)		/* バッファオーバーフロー */
+
+/*
+ *  オブジェクト属性
+ */
+#define TA_NULL		UINT_C(0)	/* オブジェクト属性を指定しない */
+
+/*
+ *  タイムアウト指定
+ */
+#define TMO_POL		0			/* ポーリング */
+#define TMO_FEVR	(-1)		/* 永久待ち */
+#define TMO_NBLK	(-2)		/* ノンブロッキング */
+
+/*
+ *  アクセス許可パターン
+ */
+#define TACP_KERNEL		(0U)	/* カーネルドメインだけにアクセスを許可 */
+#define TACP_SHARED		(~0U)	/* すべてのドメインからアクセスを許可 */
+
+/*
+ *  型に関する情報を取り出すためのマクロ
  */
 #ifndef offsetof
@@ -225,5 +220,5 @@
 #endif /* alignof */
 
-#ifndef ALIGN_TYPE				/* ACgÌ`FbN */
+#ifndef ALIGN_TYPE				/* アラインメントのチェック */
 #define ALIGN_TYPE(addr, type) \
 						((((uintptr_t)(addr)) & (alignof(type) - 1)) == 0U)
@@ -231,5 +226,5 @@
 
 /*
- *  assert}N
+ *  assertマクロ
  */
 #undef assert
@@ -246,12 +241,12 @@
 
 /*
- *  G[R[h¶¬Eªð}N
- *
- *  ÈºÌ}Nè`ÍCt«®ª2ÌâÅ\»³êÄ¨èCEVtg
- *  Zqi>>jªZpVtg³êé±Æð¼èµÄ¢éD»¤ÅÈ¢J­Â
- *  «ÅÍCtarget_stddef.hÅ±êçÌè`ðã«µÈ¯êÎÈçÈ¢D
- *
- *  MERCD}NÌè`ÍCCG[R[hªÅ é±Æð¼èµÄ¢éD
- *  »¤ÅÈ¢êC2ÂÌè`ªêvµÈ­ÈéD
+ *  エラーコード生成・分解マクロ
+ *
+ *  以下のマクロ定義は，符号付き整数が2の補数で表現されており，右シフト
+ *  演算子（>>）が算術シフトされることを仮定している．そうでない開発環
+ *  境では，target_stddef.hでこれらの定義を上書きしなければならない．
+ *
+ *  MERCDマクロの定義は，メインエラーコードが負であることを仮定している．
+ *  そうでない場合，2つの定義が一致しなくなる．
  */
 #ifndef ERCD
@@ -273,5 +268,5 @@
 
 /*
- *  ÎÔiRELTIMjÉwèÅ«éÅål
+ *  相対時間（RELTIM）に指定できる最大値
  */
 #if UINT_MAX < LONG_MAX
Index: /ssp_qb_r5f100le_cs/trunk/include/t_syslog.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/include/t_syslog.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/include/t_syslog.h	(revision 95)
@@ -9,36 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id: t_syslog.h 1900 2010-08-14 02:31:44Z ertl-hiro $
@@ -46,23 +42,23 @@
 
 /*
- *		VXeOoÍðs¤½ßÌè`
- *
- *  VXeOT[rXÍCVXeÌOîñðoÍ·é½ßÌT[rX
- *  Å éDJ[l©çÌOîñÌoÍÉàp¢é½ßCàÅÒ¿óÔ
- *  ÉÍ¢é±ÆÍÈ¢D
- *
- *  OîñÍCJ[làÌOobt@É«Þ©CáxÌ¶o
- *  ÍÖðp¢ÄoÍ·éDÇ¿çðg¤©ÍCg£T[rXR[ÅØè
- *  ·¦é±ÆªÅ«éD
- *
- *  Oobt@ÌæªI[ot[µ½êÉÍCÃ¢OîñðÁµÄã
- *  «·éD
- *
- *  AZu¾êÌ\[Xt@C©ç±Ìt@CðCN[h·é
- *  ÍCTOPPERS_MACRO_ONLYðè`µÄ¨­±ÆÅC}Nè`ÈOÌLqð
- *  ­±ÆªÅ«éD
- *
- *  ±Ìt@CðCN[h·éOÉCt_stddef.hðCN[hµÄ¨
- *  ­±ÆªKvÅ éD
+ *		システムログ出力を行うための定義
+ *
+ *  システムログサービスは，システムのログ情報を出力するためのサービス
+ *  である．カーネルからのログ情報の出力にも用いるため，内部で待ち状態
+ *  にはいることはない．
+ *
+ *  ログ情報は，カーネル内のログバッファに書き込むか，低レベルの文字出
+ *  力関数を用いて出力する．どちらを使うかは，拡張サービスコールで切り
+ *  換えることができる．
+ *
+ *  ログバッファ領域がオーバフローした場合には，古いログ情報を消して上
+ *  書きする．
+ *
+ *  アセンブリ言語のソースファイルからこのファイルをインクルードする時
+ *  は，TOPPERS_MACRO_ONLYを定義しておくことで，マクロ定義以外の記述を
+ *  除くことができる．
+ *
+ *  このファイルをインクルードする前に，t_stddef.hをインクルードしてお
+ *  くことが必要である．
  */
 
@@ -75,39 +71,39 @@
 
 /*
- *  OîñÌíÊÌè`
- */
-#define LOG_TYPE_COMMENT	UINT_C(0x01)	/* Rg */
-#define LOG_TYPE_ASSERT		UINT_C(0x02)	/* AT[VÌ¸s */
-
-#define LOG_TYPE_INH		UINT_C(0x11)	/* Ýnh */
-#define LOG_TYPE_ISR		UINT_C(0x12)	/* ÝT[rX[` */
-#define LOG_TYPE_CYC		UINT_C(0x13)	/* üúnh */
-#define LOG_TYPE_ALM		UINT_C(0x14)	/* A[nh */
-#define LOG_TYPE_OVR		UINT_C(0x15)	/* I[onh */
-#define LOG_TYPE_EXC		UINT_C(0x16)	/* CPUáOnh */
-#define LOG_TYPE_TEX		UINT_C(0x17)	/* ^XNáO[` */
-#define LOG_TYPE_TSKSTAT	UINT_C(0x18)	/* ^XNóÔÏ» */
-#define LOG_TYPE_DSP		UINT_C(0x19)	/* fBXpb` */
-#define LOG_TYPE_SVC		UINT_C(0x1a)	/* T[rXR[ */
-
-#define LOG_ENTER			UINT_C(0x00)	/* üû^Jn */
-#define LOG_LEAVE			UINT_C(0x80)	/* oû^I¹ */
-
-/*
- *  OîñÌdvxÌè`
- */
-#define LOG_EMERG			UINT_C(0)		/* Vbg_EÉl·éG[ */
+ *  ログ情報の種別の定義
+ */
+#define LOG_TYPE_COMMENT	UINT_C(0x01)	/* コメント */
+#define LOG_TYPE_ASSERT		UINT_C(0x02)	/* アサーションの失敗 */
+
+#define LOG_TYPE_INH		UINT_C(0x11)	/* 割込みハンドラ */
+#define LOG_TYPE_ISR		UINT_C(0x12)	/* 割込みサービスルーチン */
+#define LOG_TYPE_CYC		UINT_C(0x13)	/* 周期ハンドラ */
+#define LOG_TYPE_ALM		UINT_C(0x14)	/* アラームハンドラ */
+#define LOG_TYPE_OVR		UINT_C(0x15)	/* オーバランハンドラ */
+#define LOG_TYPE_EXC		UINT_C(0x16)	/* CPU例外ハンドラ */
+#define LOG_TYPE_TEX		UINT_C(0x17)	/* タスク例外処理ルーチン */
+#define LOG_TYPE_TSKSTAT	UINT_C(0x18)	/* タスク状態変化 */
+#define LOG_TYPE_DSP		UINT_C(0x19)	/* ディスパッチャ */
+#define LOG_TYPE_SVC		UINT_C(0x1a)	/* サービスコール */
+
+#define LOG_ENTER			UINT_C(0x00)	/* 入口／開始 */
+#define LOG_LEAVE			UINT_C(0x80)	/* 出口／終了 */
+
+/*
+ *  ログ情報の重要度の定義
+ */
+#define LOG_EMERG			UINT_C(0)		/* シャットダウンに値するエラー */
 #define LOG_ALERT			UINT_C(1)
 #define LOG_CRIT			UINT_C(2)
-#define LOG_ERROR			UINT_C(3)		/* VXeG[ */
-#define LOG_WARNING			UINT_C(4)		/* xbZ[W */
+#define LOG_ERROR			UINT_C(3)		/* システムエラー */
+#define LOG_WARNING			UINT_C(4)		/* 警告メッセージ */
 #define LOG_NOTICE			UINT_C(5)
 #define LOG_INFO			UINT_C(6)
-#define LOG_DEBUG			UINT_C(7)		/* fobOpbZ[W */
+#define LOG_DEBUG			UINT_C(7)		/* デバッグ用メッセージ */
 
 #ifndef TOPPERS_MACRO_ONLY
 
 /*
- *  OîñÌf[^\¢
+ *  ログ情報のデータ構造
  */
 
@@ -115,11 +111,11 @@
 
 typedef struct {
-	uint_t		logtype;				/* OîñÌíÊ */
-	SYSTIM		logtim;					/* O */
-	intptr_t	loginfo[TMAX_LOGINFO];	/* »Ì¼ÌOîñ */
+	uint_t		logtype;				/* ログ情報の種別 */
+	SYSTIM		logtim;					/* ログ時刻 */
+	intptr_t	loginfo[TMAX_LOGINFO];	/* その他のログ情報 */
 } SYSLOG;
 
 /*
- *  OîñÌdvxÌrbg}bvðìé½ßÌ}N
+ *  ログ情報の重要度のビットマップを作るためのマクロ
  */
 #define LOG_MASK(prio)		(1U << (prio))
@@ -127,5 +123,5 @@
 
 /*
- *  OîñðoÍ·é½ßÌCuÖ
+ *  ログ情報を出力するためのライブラリ関数
  */
 
@@ -223,5 +219,5 @@
 
 /*
- *  OîñiRgjðoÍ·é½ßÌCuÖivasyslog.cj
+ *  ログ情報（コメント）を出力するためのライブラリ関数（vasyslog.c）
  */
 extern void	syslog(uint_t prio, const char *format, ...) throw();
@@ -230,5 +226,5 @@
 
 /*
- *  VXeOoÍð}~·éê
+ *  システムログ出力を抑止する場合
  */
 
@@ -280,9 +276,9 @@
 
 /*
- *  OîñiRgjðoÍ·é½ßÌ}N
- *
- *  format¨æÑã±Ìø©çì¬µ½bZ[WðCdåxprioÅOî
- *  ñÆµÄoÍ·é½ßÌ}NDarg1`argnÍintptr_t^ÉLXg·é
- *  ½ßCintptr_t^É^Ï·Å«éCÓÌ^Åæ¢D
+ *  ログ情報（コメント）を出力するためのマクロ
+ *
+ *  formatおよび後続の引数から作成したメッセージを，重大度prioでログ情
+ *  報として出力するためのマクロ．arg1〜argnはintptr_t型にキャストする
+ *  ため，intptr_t型に型変換できる任意の型でよい．
  */
 
@@ -313,5 +309,5 @@
 
 /*
- *  OîñiAT[VÌ¸sjðoÍ·é½ßÌ}N
+ *  ログ情報（アサーションの失敗）を出力するためのマクロ
  */
 #ifndef TOPPERS_assert_fail
Index: /ssp_qb_r5f100le_cs/trunk/kernel/Makefile.kernel
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/kernel/Makefile.kernel	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/kernel/Makefile.kernel	(revision 95)
@@ -12,45 +12,41 @@
 #             Nagoya Municipal Industrial Research Institute, JAPAN
 # 
-#  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
-#  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
-#  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
-#  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
-#       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
-#      XR[hÉÜÜêÄ¢é±ÆD
-#  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
-#      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
-#      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
-#      Ì³ÛØKèðfÚ·é±ÆD
-#  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
-#      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
-#      ÆD
-#    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
-#        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
-#    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
-#        ñ·é±ÆD
-#  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
-#      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
-#      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
-#      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
-#      ÆÓ·é±ÆD
+#  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+#  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+#  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+#  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+#      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+#      スコード中に含まれていること．
+#  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+#      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+#      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+#      の無保証規定を掲載すること．
+#  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+#      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+#      と．
+#    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+#        作権表示，この利用条件および下記の無保証規定を掲載すること．
+#    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+#        報告すること．
+#  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+#      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+#      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+#      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+#      免責すること．
 # 
-#  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
-#  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
-#  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
-#  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
-#  ÌÓCðíÈ¢D
+#  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+#  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+#  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+#  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+#  の責任を負わない．
 # 
 
 #
-#		J[lÌt@C\¬Ìè`
+#		カーネルのファイル構成の定義
 #
 
 #
-#  1ÂÌ\[Xt@C©ç¡ÌIuWFNgt@Cð¶¬·éæ¤Éì
-#  ¬³ê½\[Xt@CÌXg
+#  1つのソースファイルから複数のオブジェクトファイルを生成するように作
+#  成されたソースファイルのリスト
 #
 KERNEL_FCSRCS = startup.c task.c task_manage.c					\
@@ -60,5 +56,5 @@
 
 #
-#  e\[Xt@C©ç¶¬³êéIuWFNgt@CÌXg
+#  各ソースファイルから生成されるオブジェクトファイルのリスト
 #
 startup = sta_ker.o ext_ker.o
@@ -89,5 +85,5 @@
 
 #
-#  ¶¬³êéIuWFNgt@CÌË¶ÖWÌè`
+#  生成されるオブジェクトファイルの依存関係の定義
 #
 $(startup) $(startup:.o=.s) $(startup:.o=.d): startup.c
Index: /ssp_qb_r5f100le_cs/trunk/kernel/allfunc.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/kernel/allfunc.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/kernel/allfunc.h	(revision 95)
@@ -9,39 +9,35 @@
  *  Copyright (C) 2011-2012 by Meika Sugimoto
  * 
- *  ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»EüÏE
- *  ÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 
- *      \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[X
- *      R[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Égp
- *      Å«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gipÒ}
- *      j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºLÌ³Û
- *      ØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Égp
- *      Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌì
- *         \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ
- *        ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹Q
- *      ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDÜ½C
- *      {\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©ÈéRÉîÃ
- *      ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
+ *  上記著作権者は，以下の (1)〜(4) の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改変・
+ *  再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作権
+ *      表示，この利用条件および下記の無保証規定が，そのままの形でソース
+ *      コード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使用
+ *      できる形で再配布する場合には，再配布に伴うドキュメント（利用者マ
+ *      ニュアルなど）に，上記の著作権表示，この利用条件および下記の無保
+ *      証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使用
+ *      できない形で再配布する場合には，次のいずれかの条件を満たすこと．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著作
+ *        権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに報
+ *        告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害
+ *      からも，上記著作権者およびTOPPERSプロジェクトを免責すること．また，
+ *      本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ
+ *      く請求からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ
- *  ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉÎ·
- *  éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEFAÌp
- *  Éæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»ÌÓCð
- *  íÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者およ
+ *  びTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的に対す
+ *  る適合性も含めて，いかなる保証も行わない．また，本ソフトウェアの利用
+ *  により直接的または間接的に生じたいかなる損害に関しても，その責任を負
+ *  わない．
  * 
  */
 
 /*
- *		·×ÄÌÖðRpC·é½ßÌè`
+ *		すべての関数をコンパイルするための定義
  */
 
Index: /ssp_qb_r5f100le_cs/trunk/kernel/check.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/kernel/check.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/kernel/check.h	(revision 95)
@@ -11,36 +11,32 @@
  *  Copyright (C) 2011 by Meika Sugimoto
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
- * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
+ * 
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id: exception.h 648 2007-12-15 09:35:35Z hiro $
@@ -56,36 +52,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
- * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
+ * 
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id: check.h 1139 2008-06-19 07:03:34Z ertl-hiro $
@@ -93,5 +85,5 @@
 
 /*
- *		G[`FbNp}N
+ *		エラーチェック用マクロ
  */
 
@@ -100,10 +92,10 @@
 
 /*
- *  ^XNDæxÌÍÍÌ»è
+ *  タスク優先度の範囲の判定
  */
 #define VALID_TPRI(tpri)	(TMIN_TPRI <= (tpri) && (tpri) <= TMAX_TPRI)
 
 /*
- *  ÝÔÌ`FbNiE_PARj
+ *  割込み番号のチェック（E_PAR）
  */
 #define CHECK_INTNO_DISINT(intno) {							\
@@ -115,5 +107,5 @@
 
 /*
- *  »Ì¼Ìp[^G[Ì`FbNiE_PARj
+ *  その他のパラメータエラーのチェック（E_PAR）
  */
 #define CHECK_PAR(exp) {									\
@@ -125,5 +117,5 @@
 
 /*
- *  IuWFNgIDÌÍÍÌ»è
+ *  オブジェクトIDの範囲の判定
  */
 #define VALID_TSKID(tskid)	\
@@ -139,5 +131,5 @@
 
 /*
- *  IuWFNgIDÌ`FbNiE_IDj
+ *  オブジェクトIDのチェック（E_ID）
  */
 #define CHECK_TSKID(tskid) {								\
@@ -185,5 +177,5 @@
 
 /*
- *  ÄoµReLXgÌ`FbNiE_CTXj
+ *  呼出しコンテキストのチェック（E_CTX）
  */
 #define CHECK_TSKCTX() {									\
@@ -202,5 +194,5 @@
 
 /*
- *  ÄoµReLXgÆCPUbNóÔÌ`FbNiE_CTXj
+ *  呼出しコンテキストとCPUロック状態のチェック（E_CTX）
  */
 #define CHECK_TSKCTX_UNL() {								\
@@ -219,5 +211,5 @@
 
 /*
- *  »Ì¼ÌReLXgG[Ì`FbNiE_CTXj
+ *  その他のコンテキストエラーのチェック（E_CTX）
  */
 #define CHECK_CTX(exp) {									\
Index: /ssp_qb_r5f100le_cs/trunk/kernel/exception.c
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/kernel/exception.c	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/kernel/exception.c	(revision 95)
@@ -11,39 +11,35 @@
  *  Copyright (C) 2010 by Meika Sugimoto
  * 
- *  ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»EüÏE
- *  ÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 
- *      \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[X
- *      R[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Égp
- *      Å«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gipÒ}
- *      j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºLÌ³Û
- *      ØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Égp
- *      Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌì
- *         \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ
- *        ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹Q
- *      ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDÜ½C
- *      {\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©ÈéRÉîÃ
- *      ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
+ *  上記著作権者は，以下の (1)〜(4) の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改変・
+ *  再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作権
+ *      表示，この利用条件および下記の無保証規定が，そのままの形でソース
+ *      コード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使用
+ *      できる形で再配布する場合には，再配布に伴うドキュメント（利用者マ
+ *      ニュアルなど）に，上記の著作権表示，この利用条件および下記の無保
+ *      証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使用
+ *      できない形で再配布する場合には，次のいずれかの条件を満たすこと．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著作
+ *        権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに報
+ *        告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害
+ *      からも，上記著作権者およびTOPPERSプロジェクトを免責すること．また，
+ *      本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ
+ *      く請求からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ
- *  ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉÎ·
- *  éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEFAÌp
- *  Éæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»ÌÓCð
- *  íÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者およ
+ *  びTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的に対す
+ *  る適合性も含めて，いかなる保証も行わない．また，本ソフトウェアの利用
+ *  により直接的または間接的に生じたいかなる損害に関しても，その責任を負
+ *  わない．
  * 
  */
 
 /*
- *		CPUáOÇ@\
+ *		CPU例外管理機能
  */
 
@@ -52,5 +48,5 @@
 
 /* 
- *  CPUáOnhÇ@\Ìú»
+ *  CPU例外ハンドラ管理機能の初期化
  */
 
Index: /ssp_qb_r5f100le_cs/trunk/kernel/exception.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/kernel/exception.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/kernel/exception.h	(revision 95)
@@ -11,41 +11,37 @@
  *  Copyright (C) 2011 by Meika Sugimoto
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  */
 
 /*
- *		CPUáOÇ@\
+ *		CPU例外管理機能
  */
 
@@ -55,10 +51,10 @@
 #ifndef OMIT_INITIALIZE_EXCEPTION
 
-extern const EXCNO	excinib_excno[];	/* CPUáOnhÔ */
-extern const ATR	excinib_excatr[];	/* CPUáOnh®« */
-extern const FP		excinib_entry[];	/* CPUáOnhÌoüûÌÔn */
+extern const EXCNO	excinib_excno[];	/* CPU例外ハンドラ番号 */
+extern const ATR	excinib_excatr[];	/* CPU例外ハンドラ属性 */
+extern const FP		excinib_entry[];	/* CPU例外ハンドラの出入口処理の番地 */
 
 /*
- *  CPUáOnhÔÌikernel_cfg.cj
+ *  CPU例外ハンドラ番号の数（kernel_cfg.c）
  */
 extern const uint_t	tnum_excno;
@@ -68,5 +64,5 @@
 
 /*
- *  CPUáOnhÇ@\Ìú»
+ *  CPU例外ハンドラ管理機能の初期化
  */
 extern void
Index: /ssp_qb_r5f100le_cs/trunk/kernel/interrupt.c
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/kernel/interrupt.c	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/kernel/interrupt.c	(revision 95)
@@ -11,39 +11,35 @@
  *  Copyright (C) 2010-2011 by Meika Sugimoto
  * 
- *  ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»EüÏE
- *  ÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 
- *      \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[X
- *      R[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Égp
- *      Å«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gipÒ}
- *      j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºLÌ³Û
- *      ØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Égp
- *      Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌì
- *         \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ
- *        ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹Q
- *      ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDÜ½C
- *      {\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©ÈéRÉîÃ
- *      ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
+ *  上記著作権者は，以下の (1)〜(4) の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改変・
+ *  再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作権
+ *      表示，この利用条件および下記の無保証規定が，そのままの形でソース
+ *      コード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使用
+ *      できる形で再配布する場合には，再配布に伴うドキュメント（利用者マ
+ *      ニュアルなど）に，上記の著作権表示，この利用条件および下記の無保
+ *      証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使用
+ *      できない形で再配布する場合には，次のいずれかの条件を満たすこと．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著作
+ *        権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに報
+ *        告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害
+ *      からも，上記著作権者およびTOPPERSプロジェクトを免責すること．また，
+ *      本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ
+ *      く請求からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ
- *  ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉÎ·
- *  éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEFAÌp
- *  Éæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»ÌÓCð
- *  íÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者およ
+ *  びTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的に対す
+ *  る適合性も含めて，いかなる保証も行わない．また，本ソフトウェアの利用
+ *  により直接的または間接的に生じたいかなる損害に関しても，その責任を負
+ *  わない．
  * 
  */
 
 /*
- *		ÝÇ@\
+ *		割込み管理機能
  */
 
@@ -55,5 +51,5 @@
 
 /* 
- *  ÝÇ@\Ìú»
+ *  割込み管理機能の初期化
  */
 #ifdef TOPPERS_intini
@@ -77,5 +73,5 @@
 
 /*
- *  ÝÌÖ~
+ *  割込みの禁止
  */
 #ifdef TOPPERS_dis_int
@@ -117,5 +113,5 @@
 
 /*
- *  ÝÌÂ
+ *  割込みの許可
  */
 #ifdef TOPPERS_ena_int
Index: /ssp_qb_r5f100le_cs/trunk/kernel/interrupt.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/kernel/interrupt.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/kernel/interrupt.h	(revision 95)
@@ -10,41 +10,37 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  */
 
 /*
- *		ÝÇ@\
+ *		割込み管理機能
  */
 
@@ -55,24 +51,24 @@
 
 /*
- *  Ýnhú»ubNÌGAikernel_cfg.cj
+ *  割込みハンドラ初期化ブロックのエリア（kernel_cfg.c）
  */
-extern const INHNO	inhinib_inhno[];		/* ÝnhÔ */
-extern const ATR	inhinib_inhatr[];		/* Ýnh®« */
-extern const FP		inhinib_entry[];		/* ÝnhÌoüûÌÔn */
+extern const INHNO	inhinib_inhno[];		/* 割込みハンドラ番号 */
+extern const ATR	inhinib_inhatr[];		/* 割込みハンドラ属性 */
+extern const FP		inhinib_entry[];		/* 割込みハンドラの出入口処理の番地 */
 
 /*
- *  ÝvCú»ubNÌGAikernel_cfg.cj
+ *  割込み要求ライン初期化ブロックのエリア（kernel_cfg.c）
  */
-extern const INTNO	intinib_intno[];		/* ÝÔ */
-extern const ATR	intinib_intatr[];		/* Ý®« */
-extern const PRI	intinib_intpri[];		/* ÝDæx */
+extern const INTNO	intinib_intno[];		/* 割込み番号 */
+extern const ATR	intinib_intatr[];		/* 割込み属性 */
+extern const PRI	intinib_intpri[];		/* 割込み優先度 */
 
 /*
- *  ÝnhÔÌikernel_cfg.cj
+ *  割込みハンドラ番号の数（kernel_cfg.c）
  */
 extern const uint_t	tnum_inhno;
 
 /*
- *  ÝvCÌikernel_cfg.cj
+ *  割込み要求ラインの数（kernel_cfg.c）
  */
 extern const uint_t	tnum_intno;
@@ -82,5 +78,5 @@
 
 /*
- *  ÝÇ@\Ìú»
+ *  割込み管理機能の初期化
  */
 extern void
Index: /ssp_qb_r5f100le_cs/trunk/kernel/kernel.tf
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/kernel/kernel.tf	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/kernel/kernel.tf	(revision 95)
@@ -10,43 +10,39 @@
 $               Nagoya Municipal Industrial Research Institute, JAPAN
 $ 
-$  ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF
-$  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»EüÏE
-$  ÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
-$  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 
-$      \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[X
-$      R[hÉÜÜêÄ¢é±ÆD
-$  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Égp
-$      Å«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gipÒ}
-$      j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºLÌ³Û
-$      ØKèðfÚ·é±ÆD
-$  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Égp
-$      Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD
-$    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌì
-$         \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
-$    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ
-$        ·é±ÆD
-$  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹Q
-$      ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDÜ½C
-$      {\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©ÈéRÉîÃ
-$      ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
-$ 
-$  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ
-$  ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉÎ·
-$  éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEFAÌp
-$  Éæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»ÌÓCð
-$  íÈ¢D
+$  上記著作権者は，以下の (1)〜(4) の条件を満たす場合に限り，本ソフトウェ
+$  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改変・
+$  再配布（以下，利用と呼ぶ）することを無償で許諾する．
+$  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作権
+$      表示，この利用条件および下記の無保証規定が，そのままの形でソース
+$      コード中に含まれていること．
+$  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使用
+$      できる形で再配布する場合には，再配布に伴うドキュメント（利用者マ
+$      ニュアルなど）に，上記の著作権表示，この利用条件および下記の無保
+$      証規定を掲載すること．
+$  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使用
+$      できない形で再配布する場合には，次のいずれかの条件を満たすこと．
+$    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著作
+$        権表示，この利用条件および下記の無保証規定を掲載すること．
+$    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに報
+$        告すること．
+$  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害
+$      からも，上記著作権者およびTOPPERSプロジェクトを免責すること．また，
+$      本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ
+$      く請求からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+$ 
+$  本ソフトウェアは，無保証で提供されているものである．上記著作権者およ
+$  びTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的に対す
+$  る適合性も含めて，いかなる保証も行わない．また，本ソフトウェアの利用
+$  により直接的または間接的に生じたいかなる損害に関しても，その責任を負
+$  わない．
 $ 
 $ ======================================================================
 
-$ OoÍ
-$   wèµ½¾¯sªÉ^uðÂ¯Ä\¦·éD
-$   R[hyÑoÍÌÂÇ«ð°é½ßÉg¤D
-$     ø : ARGV[1] : sªÉ}ü·é^uÌ
-$     Ôl : ó¶ñ
-$     Ó : RESULTðìµÄ¢é½ßC¼ÌÖÌoÍðÛ¶·éOÉÄÑo·Æã«³êéD
+$ ログ出力
+$   指定した数だけ行頭にタブをつけて表示する．
+$   コード及び出力の可読性を挙げるために使う．
+$     引数 : ARGV[1] : 行頭に挿入するタブの数
+$     返値 : 空文字列
+$     注意 : RESULTを操作しているため，他の関数の出力を保存する前に呼び出すと上書きされる．
 $ 
 $FUNCTION LOG$
@@ -56,8 +52,8 @@
 
 $ =====================================================================
-$ OÌ`FbN
+$ 処理前のチェック
 $ =====================================================================
 
-$ ^XNª1ÂÈã¶Ý·é±ÆÌ`FbN
+$ タスクが1個以上存在することのチェック
 $IF !LENGTH(TSK.ID_LIST)$
 	$ERROR$$FORMAT("no task is registered")$$END$
@@ -65,5 +61,5 @@
 
 $ =====================================================================
-$ kernel_cfg.h Ì¶¬
+$ kernel_cfg.h の生成
 $ =====================================================================
 
@@ -81,6 +77,6 @@
 $NL$
 
-$ // ^XNIDðN®Dæx(tskapri)Ì¢É reallocate_tskapri ÖèÄC
-$ // è`ð kernel_cfg.h ÖoÍ·éD
+$ // タスクIDを起動優先度(tskapri)の高い順に reallocate_tskapri へ割り当て，
+$ // 定義を kernel_cfg.h へ出力する．
 $tsk_apriorder_list={}$
 $tsk_epri_list={}$
@@ -91,5 +87,5 @@
 	#define $TSK.TSKID[id]$	$tsk_index$$NL$
 
-$	DEF_EPR Åè`³êÄ¢È¢^XNÌÀsDæxªCN®DæxÆ¯¶ÉÈéæ¤É·éD
+$	DEF_EPR で定義されていないタスクの実行時優先度が，起動優先度と同じになるようにする．
 	$tsk_epri_list = APPEND(tsk_epri_list, ALT(TSK.EXEPRI[TSK.TSKID[id]], TSK.ATSKPRI[TSK.TSKID[id]]))$
 	$tsk_index = tsk_index + 1$
@@ -111,5 +107,5 @@
 
 $ =====================================================================
-$ kernel_cfg.cÌ¶¬
+$ kernel_cfg.cの生成
 $ =====================================================================
 
@@ -126,5 +122,5 @@
 
 $ ---------------------------------------------------------------------
-$  CN[hfBNeBui#includej
+$  インクルードディレクティブ（#include）
 $ ---------------------------------------------------------------------
 /*$NL$
@@ -136,5 +132,5 @@
 
 $ ---------------------------------------------------------------------
-$  IuWFNgÌIDÔðÛ·éÏ
+$  オブジェクトのID番号を保持する変数
 $ ---------------------------------------------------------------------
 $IF USE_EXTERNAL_ID$
@@ -161,5 +157,5 @@
 
 $ ---------------------------------------------------------------------
-$  g[XO}NÌftHgè`
+$  トレースログマクロのデフォルト定義
 $ ---------------------------------------------------------------------
 /*$NL$
@@ -178,14 +174,13 @@
 
 $ ---------------------------------------------------------------------
-$  ^XNÉÖ·éoÍ
-$ ---------------------------------------------------------------------
-
-$ 
-$ ÀsDæxÌRtBM
-[VÉ¬÷µ½©Ç¤©
-$ 
-$ DEF_EPR ÉG[ª­¶µ½êC±ÌÏª0ÉÈéD
-$ DEF_EPR ÉG[ª­¶µ½©Ç¤©ð»fµÄ
-$ ÁèÌÀsðubN·é½ßÉgp·éD
+$  タスクに関する出力
+$ ---------------------------------------------------------------------
+
+$ 
+$ 実行時優先度のコンフィギュレーションに成功したかどうか
+$ 
+$ DEF_EPR 処理中にエラーが発生した場合，この変数が0になる．
+$ DEF_EPR 処理中にエラーが発生したかどうかを判断して
+$ 特定処理の実行をブロックするために使用する．
 $ 
 $configurated_defepr_successfully = 1$
@@ -196,16 +191,16 @@
 $NL$
 
-$ ^XNIDÔÌÅål
+$ タスクID番号の最大値
 const ID _kernel_tmax_tskid = (TMIN_TSKID + TNUM_TSKID - 1);$NL$
 $NL$
 
-$ ready_primap Ìúl
+$ ready_primap の初期値
 $init_rdypmap = 0$
 $tsk_index = 1$
 
-$ ^XN®«D
+$ タスク属性．
 const ATR     	_kernel_tinib_tskatr[TNUM_TSKID]    = {
 $JOINEACH tskid tsk_apriorder_list ","$
-$	// TA_ACT , TA_RSTR Ü½Í TA_NULL Å éiE_RSATRj
+$	// TA_ACT , TA_RSTR または TA_NULL である（E_RSATR）
 	$IF (TSK.TSKATR[tskid] & ~(TA_ACT | TA_RSTR | ALT(TARGET_TSKATR,0))) != 0$
 		$ERROR TSK.TEXT_LINE[tskid]$E_RSATR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "tskatr", TSK.TSKATR[tskid], tskid, "CRE_TSK")$$END$
@@ -223,5 +218,5 @@
 const uint_t$TAB$_kernel_init_rdypmap = $init_rdypmap$U;$NL$
 
-$ g£îñ(exinf)D G[ÍRpCÜ½ÍAvÌeXgÅo·é½ßC±±ÅÍµÈ¢D
+$ 拡張情報(exinf)． エラーはコンパイル時またはアプリのテストで検出するため，ここではしない．
 const intptr_t	_kernel_tinib_exinf[TNUM_TSKID]     = {
 $JOINEACH tskid tsk_apriorder_list ","$
@@ -230,5 +225,5 @@
 };$NL$
 
-$ N®Ôn(task)DG[ÍRpCÜ½ÍAvÌeXgÅo·é½ßC±±ÅÍµÈ¢D
+$ 起動番地(task)．エラーはコンパイル時またはアプリのテストで検出するため，ここではしない．
 const TASK    	_kernel_tinib_task[TNUM_TSKID]      = {
 $JOINEACH tskid tsk_apriorder_list ","$
@@ -237,12 +232,12 @@
 };$NL$
 
-$ N®Dæx(atskpri)D
+$ 起動優先度(atskpri)．
 $FOREACH tskid tsk_apriorder_list$
-$	// atskpri Í TMIN_TPRI ÈãCTMAX_TPRI ÈºÅ éDiE_PARj
+$	// atskpri は TMIN_TPRI 以上，TMAX_TPRI 以下である．（E_PAR）
  	$IF !(TMIN_TPRI <= TSK.ATSKPRI[tskid] && TSK.ATSKPRI[tskid] <= TMAX_TPRI)$
  		$ERROR TSK.TEXT_LINE[tskid]$E_PAR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "atskpri", TSK.ATSKPRI[tskid], tskid, "CRE_TSK")$$END$
  	$END$
 
-$	// atskpri Íd¡ªÈ¢DiE_PARj
+$	// atskpri は重複がない．（E_PAR）
 	$FOREACH tskid2 tsk_apriorder_list$
 		$IF tskid != tskid2 && TSK.ATSKPRI[tskid] == TSK.ATSKPRI[tskid2] $
@@ -252,5 +247,5 @@
 $END$
 
-$ ÀsDæx(exepri)D
+$ 実行時優先度(exepri)．
 const uint_t  	_kernel_tinib_epriority[TNUM_TSKID] = {
 $epri_allocated = 0$
@@ -259,5 +254,5 @@
 	$epri = AT(tsk_epri_list, tsk_index)$
 
-$	// exepri Í TMIN_TPRI Èã©Â TMAX_TPRI ÈºÅ éD(E_PAR)
+$	// exepri は TMIN_TPRI 以上かつ TMAX_TPRI 以下である．(E_PAR)
 	$IF TMIN_TPRI > epri || TMAX_TPRI < epri$
 		$configurated_defepr_successfully = 0$
@@ -265,5 +260,5 @@
 	$END$
 
-$	// exepri Í atskpri ÈºÌlðàÂ(DæxÆµÄÍ¯¶©»êæè¢)D(E_ILUSE)
+$	// exepri は atskpri 以下の値をもつ(優先度としては同じかそれより高い)．(E_ILUSE)
 	$IF epri <= TMAX_TPRI && epri > TSK.ATSKPRI[tskid]$
 		$configurated_defepr_successfully = 0$
@@ -271,5 +266,5 @@
 	$END$
 
-$	// exepri Ìà\»ðèµ reallocate_tskepri Éi[D
+$	// exepri の内部表現を決定し reallocate_tskepri に格納．
 	$FOREACH tskid2 tsk_apriorder_list $
 	 	$IF epri_allocated != 1 && epri <= TSK.ATSKPRI[tskid2]$
@@ -285,5 +280,5 @@
 
 $ 
-$ // DæxèÄÊðoÍ
+$ // 優先度割り当て結果を出力
 $ 
 /*$NL$
@@ -295,10 +290,10 @@
 
 $ 
-$  ^XNÌÅåX^bNgpÊÌvZ
-$ 
-
-$ X^bNTCYÉÖ·éG[`FbN
+$  タスクの最大スタック使用量の計算
+$ 
+
+$ スタックサイズに関するエラーチェック
 $FOREACH tskid TSK.ID_LIST$
-$	// stkszª0©C^[Qbgè`ÌÅ¬liTARGET_MIN_STKSZjæèà¬³¢êiE_PARj
+$	// stkszが0か，ターゲット定義の最小値（TARGET_MIN_STKSZ）よりも小さい場合（E_PAR）
 	$IF TSK.STKSZ[tskid] == 0 || (LENGTH(TARGET_MIN_STKSZ) && 
 										TSK.STKSZ[tskid] < TARGET_MIN_STKSZ)$
@@ -308,8 +303,8 @@
 
 $  
-$ Öè`
-$ 
-$ 
-$ Ö1: N®DæxÌá¢É\[eBO·é½ßÌärÖ
+$ 関数定義
+$ 
+$ 
+$ 関数1: 起動時優先度の低い順にソーティングするための比較関数
 $ 
 $FUNCTION compare_tskapri_rev$
@@ -318,45 +313,45 @@
 
 $ 
-$ Ö2: wèµ½^XNÉÎ·éX^bNgpÊÌÅåðvZ·éÖ
-$    ø : ARGV[1] : ^XNID(à\», N®DæxÌà\»Éµ¢)
-$    Ôl : RESULT  : Y^XNÉÎ·éX^bNgpÊÌÅålD
-$                     ±ÌlÍCY^XNÌÀsJn©çI¹ÜÅÌÔÉ
-$                     »Ì^XNÉÎ·évGvgðl¶µÄX^bNgpÊð
-$                     vZµ½êÉCÂ\«Ì égÝí¹ÌÅÅåÆÈélðÔ·D
+$ 関数2: 指定したタスクに対するスタック使用量の最大を計算する関数
+$    引数 : ARGV[1] : タスクID(内部表現, 起動時優先度の内部表現に等しい)
+$    返値 : RESULT  : 当該タスクに対するスタック使用量の最大値．
+$                     この値は，当該タスクの実行開始から終了までの間に
+$                     そのタスクに対するプリエンプトを考慮してスタック使用量を
+$                     計算した場合に，可能性のある組み合わせの中で最大となる値を返す．
 $ 
 $nest_level = 0$
 $ 
 $FUNCTION calc_stksz$
-$	// ÏXg
+$	// 変数リスト
 	$nest_level = nest_level + 1$
 	$arg[nest_level] = ARGV[1]$
 	$calculated_stack_size = 0$
 
-$	// Jn
+$	// 処理開始
 $SPC$* $LOG(nest_level-1)$Calculation start (Task ID = $arg[nest_level]$, StackSize[$arg[nest_level]$]=$TSK.STKSZ[arg[nest_level]]$)$NL$
 
-$	// wèµ½^XNID ÌX^bNvZª®¹µÄ¢é©
+$	// 指定したタスクID のスタック計算が完了しているか
 	$IF	LENGTH(done[arg[nest_level]]) == 0$
 
 $SPC$* $LOG(nest_level)$Task list with higher priority than $arg[nest_level]$ = $higher_pri_tsklist[arg[nest_level]]$$NL$
 
-$		// (1) ®¹µÄ¢È¢ê
-$		// ÏÌú»
+$		// (1) 完了していない場合
+$		// 変数の初期化
 		$max_stksz[arg[nest_level]] = 0$
 		$higher_pri_maxstksz[arg[nest_level]] = 0$
 
-$		// Y^XNID ÌÀsDæxæè¢N®DæxðÂ^XNª¶Ý·éê
+$		// 当該タスクID の実行時優先度より高い起動優先度を持つタスクが存在する場合
 		$IF LENGTH(higher_pri_tsklist[arg[nest_level]]) > 0$
-$			// »ê¼êÌDæx^XNÉÎµ
+$			// それぞれの高優先度タスクに対し
 			$FOREACH id higher_pri_tsklist[arg[nest_level]]$
-$				// ÄAÄo·éÆÏªã«³êé½ßCÛ¶µÄ¨­
+$				// 再帰呼出すると変数が上書きされるため，保存しておく
 				$id_saved[nest_level] = id$
-$				// X^bNvZðÀs·é
+$				// スタック計算を実行する
 				$calculated_stack_size = calc_stksz(id_saved[nest_level])$
-$				// Û¶µ½ÏðA
+$				// 保存した変数を復帰
 				$id = id_saved[nest_level]$
 
 				$IF higher_pri_maxstksz[arg[nest_level]] < calculated_stack_size$
-$					// L¯µÄ¨­
+$					// 記憶しておく
 					$higher_pri_maxstksz[arg[nest_level]] = calculated_stack_size$
 				$END$
@@ -366,19 +361,19 @@
 $SPC$* $LOG(nest_level)$higher_pri_maxstksz[$arg[nest_level]$] = $higher_pri_maxstksz[arg[nest_level]]$$NL$
 
-$		// Dæx^XNÌX^bNgpÊÉCY^XNÌgpÊðÁZ·é
+$		// 高優先度タスクのスタック使用量に，当該タスクの使用量を加算する
 		$max_stksz[arg[nest_level]] = higher_pri_maxstksz[arg[nest_level]] + TSK.STKSZ[arg[nest_level]]$
 
 $SPC$* $LOG(nest_level)$DONE(max_stksz[$arg[nest_level]$] = $max_stksz[arg[nest_level]]$)$NL$
 
-$		// Y^XNIDÉÎµÄÍvZðÏÜ¹½Æ¢¤L^ðcµÄ¨­
+$		// 当該タスクIDに対しては計算を済ませたという記録を残しておく
 		$done[arg[nest_level]] = 1$
 
 	$ELSE$
-$		// (2) vZªùÉ®¹µÄ¢éêCvZðXLbv·éD
+$		// (2) 計算が既に完了している場合，計算をスキップする．
 
 $SPC$* $LOG(nest_level)$SKIP(max_stksz[$arg[nest_level]$] = $max_stksz[arg[nest_level]]$)$NL$
 	$END$
 
-$	// ©ÏàèÌÅålðÔ·
+$	// 見積もりの最大値を返す
 	$RESULT = max_stksz[arg[nest_level]]$
 	$nest_level = nest_level - 1$
@@ -386,14 +381,14 @@
 
 $ 
-$ Öè`±±ÜÅC±±©çX^bNvZÌJn
-$ 
-
-$ 
-$ Ü¸ÍØ\¢Ìf[^\¢ì¬
+$ 関数定義ここまで，ここからスタック計算処理の開始
+$ 
+
+$ 
+$ まずは木構造のデータ構造作成
 $ 
 $FOREACH id LSORT(tsk_apriorder_list, "compare_tskapri_rev")$
 
-$	// e^XNÉC»ÌÀsDæxæèà¢N®DæxðÂ^XNÌXgðìéD
-$	// »êÍvGvg³êéÂ\«Ì é^XNÌêÆÈéD
+$	// 各タスク毎に，その実行時優先度よりも高い起動時優先度を持つタスクのリストを作る．
+$	// それはプリエンプトされる可能性のあるタスクの一覧となる．
 	$FOREACH id2 LSORT(tsk_apriorder_list, "compare_tskapri_rev")$
 		$IF reallocate_tskepri[id] > reallocate_tskapri[id2]$
@@ -402,8 +397,8 @@
 	$END$
 
-$	// vGvg·éE³êéÖWð¦·Ø\¢Ìª(root)ÆÈé^XNÌTõD
-$	//   ÎÛ^XN(id)ÌN®Dæx(reallocate_tskapri[id])æèá¢
-$	//   (lÆµÄÍå«¢)N®DæxðàÂ^XNÌ higher_pri_tsklist ÉC
-$	//   ÎÛ^XN(id) ªÜÜêÈ¯êÎCªÆÈéD
+$	// プリエンプトする・される関係を示す木構造の根(root)となるタスクの探索．
+$	//   対象タスク(id)の起動時優先度(reallocate_tskapri[id])より低い
+$	//   (値としては大きい)起動時優先度をもつタスクの higher_pri_tsklist に，
+$	//   対象タスク(id) が含まれなければ，根となる．
 	$is_root = 1$
 	$FOREACH id2 LSORT(tsk_apriorder_list, "compare_tskapri_rev")$
@@ -414,5 +409,5 @@
 		$END$
 	$END$
-$	// ª(root)ÆÈé^XNÈçÎCXgÖÇÁ
+$	// 根(root)となるタスクならば，リストへ追加
 	$IF is_root == 1$
 		$root_apri = APPEND(root_apri, id)$
@@ -421,5 +416,5 @@
 
 $ 
-$ oÍJn
+$ 出力開始
 $ 
 
@@ -428,11 +423,11 @@
 $SPC$* $NL$
 
-$ // ªÆÈée^XNÉÎµÄC»ÌÅå^XNgpÊðvZµCXgÖÇÁ·éD
+$ // 根となる各タスクに対して，その最大タスク使用量を計算し，リストへ追加する．
 $FOREACH root_id root_apri$
 	$stksz_estimated = APPEND(stksz_estimated, calc_stksz(root_id))$
 $END$
 
-$ // ^XNÌX^bNgpÊÌÅålðè
-$ // XgÌvfÌÅålª^XNÌÅåX^bNgpÊÆÈéD
+$ // タスクのスタック使用量の最大値を決定
+$ // リスト中の要素の最大値がタスクの最大スタック使用量となる．
 $max_tsk_stksz = 0$
 $FOREACH size stksz_estimated$
@@ -442,5 +437,5 @@
 $END$
 
-$ // mF
+$ // 確認
 $SPC$* List of Estimated Total Stack Sizes of Tasks = $stksz_estimated$$NL$
 $SPC$* Estimated Maximum Total Stack Size of Tasks = $max_tsk_stksz$$NL$
@@ -449,11 +444,11 @@
 
 
-$ SÄÌPÊÌX^bNÍ¤L³êéD
-$ »Ì½ßCX^bNTCYÉÖ·é`FbNÍ
-$ ¤LX^bNÝèÌÆ±ëÅÜÆßÄs¤D
-
-$ X^bNÌæªÔn(stk)D
+$ 全ての処理単位のスタックは共有される．
+$ そのため，スタックサイズに関するチェックは
+$ 共有スタック設定のところでまとめて行う．
+
+$ スタックの先頭番地(stk)．
 $FOREACH tskid tsk_apriorder_list$
-$	// íÉ NULL Å éD(E_PAR)
+$	// 常に NULL である．(E_PAR)
 	$IF !EQ(TSK.STK[tskid], "NULL")$
 		$ERROR TSK.TEXT_LINE[tskid]$E_PAR: $FORMAT(("'%1%' of %2% must be NULL."), "stk", "CRE_TSK")$$END$
@@ -462,5 +457,5 @@
 
 $ ---------------------------------------------------------------------
-$  CxgtO
+$  イベントフラグ
 $ ---------------------------------------------------------------------
 /*$NL$
@@ -469,14 +464,14 @@
 $NL$
 
-$ Ggª (UINT8_MAX - TMIN_FLGID)Âæè½¢êÍCG[Æ·é --> »_ÅÍRgAEg
+$ エントリが (UINT8_MAX - TMIN_FLGID)個より多い場合は，エラーとする --> 現時点ではコメントアウト
 $ $IF LENGTH(ALM.ORDER_LIST) > (UINT8_MAX - TMIN_FLGID)$
 $ 	$ERROR$$FORMAT("The number of CRE_FLG must be equal to or less than (UINT8_MAX - TMIN_FLGID).")$$END$
 $ $END$
 
-$ CxgtOIDÔÌÅål
+$ イベントフラグID番号の最大値
 const ID _kernel_tmax_flgid = (TMIN_FLGID + TNUM_FLGID - 1);$NL$
 $NL$
 
-$	// iflgptnªFLGPTNÉi[Å«È¢êiE_PARj 
+$	// iflgptnがFLGPTNに格納できない場合（E_PAR） 
 $FOREACH flgid FLG.ORDER_LIST$
 	$IF (FLG.IFLGPTN[flgid] & ~((1 << TBIT_FLGPTN) - 1)) != 0$ 
@@ -485,11 +480,11 @@
 $END$
 
-$ CxgtOú»ubNÌ¶¬
+$ イベントフラグ初期化ブロックの生成
 $IF LENGTH(FLG.ID_LIST)$
 
-$	CxgtO®«
+$	イベントフラグ属性
 	const ATR _kernel_flginib_atr[TNUM_FLGID] = {
 		$JOINEACH flgid FLG.ORDER_LIST ","$
-$			// flgatrªimTA_CLRnjÅÈ¢êiE_RSATRj
+$			// flgatrが（［TA_CLR］）でない場合（E_RSATR）
 			$IF (FLG.FLGATR[flgid] & ~(TA_CLR)) != 0$
 				$ERROR FLG.TEXT_LINE[flgid]$E_RSATR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "flgatr", FLG.FLGATR[flgid], flgid, "CRE_FLG")$$END$
@@ -499,5 +494,5 @@
 	};$NL$
 	
-$	CxgtOp^[Ìúl
+$	イベントフラグパターンの初期値
 	const FLGPTN _kernel_flginib_iflgptn[TNUM_FLGID] = {
 		$JOINEACH flgid FLG.ORDER_LIST ","$
@@ -506,5 +501,5 @@
 	};$NL$
 
-$       // CxgtOÌ»ÝÌtOp^[ði[·éÏ
+$       // イベントフラグの現在のフラグパターンを格納する変数
         FLGPTN _kernel_flgcb_flgptn[TNUM_FLGID];$NL$
 $ELSE$
@@ -516,6 +511,5 @@
 
 $ ---------------------------------------------------------------------
-$  f[^L
-[
+$  データキュー
 $ ---------------------------------------------------------------------
 /*$NL$
@@ -524,6 +518,5 @@
 $NL$
 
-$ f[^L
-[IDÔÌÅål
+$ データキューID番号の最大値
 const ID _kernel_tmax_dtqid = (TMIN_DTQID + TNUM_DTQID - 1);$NL$
 $NL$
@@ -531,15 +524,15 @@
 $IF LENGTH(DTQ.ID_LIST)$
         $FOREACH dtqid DTQ.ORDER_LIST$
-$               // dtqatrª TA_NULL ÅÈ¢êiE_RSATRj
+$               // dtqatrが TA_NULL でない場合（E_RSATR）
                 $IF (DTQ.DTQATR[dtqid] != TA_NULL) $
                         $ERROR DTQ.TEXT_LINE[dtqid]$E_RSATR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "dtqatr", DTQ.DTQATR[dtqid], dtqid, "CRE_DTQ")$$END$
                 $END$
 
-$               // dtqmbªNULLÅÈ¢êiE_NOSPTj
+$               // dtqmbがNULLでない場合（E_NOSPT）
                 $IF !EQ(DTQ.DTQMB[dtqid], "NULL")$
                         $ERROR DTQ.TEXT_LINE[dtqid]$E_NOSPT: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "dtqmb", DTQ.DTQMB[dtqid], dtqid, "CRE_DTQ")$$END$
                 $END$
 
-$               // dtqcntª0Å éê
+$               // dtqcntが0である場合
                 $IF EQ(+DTQ.DTQCNT[dtqid], 0)$
                         $ERROR DTQ.TEXT_LINE[dtqid]$E_PAR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "dtqmb", DTQ.DTQCNT[dtqid], dtqid, "CRE_DTQ")$$END$
@@ -547,6 +540,5 @@
 				
 
-$               // f[^L
-[Ìæ
+$               // データキュー領域
                 $IF DTQ.DTQCNT[dtqid]$
                         static intptr_t _kernel_dtqmb_$dtqid$[$DTQ.DTQCNT[dtqid]$];$NL$
@@ -554,6 +546,5 @@
         $END$
 
-$       // f[^L
-[ú»ubNÌ¶¬(®«)
+$       // データキュー初期化ブロックの生成(属性)
         const ATR _kernel_dtqinib_atr[TNUM_DTQID] = {
         	$JOINEACH dtqid DTQ.ORDER_LIST ",\n"$
@@ -563,6 +554,5 @@
         $NL$
 
-$       // f[^L
-[ú»ubNÌ¶¬(TCY)
+$       // データキュー初期化ブロックの生成(サイズ)
         const uint8_t _kernel_dtqinib_size[TNUM_DTQID] = {
         	$JOINEACH dtqid DTQ.ORDER_LIST ",\n"$
@@ -572,6 +562,5 @@
         $NL$
 
-$       // f[^L
-[ú»ubNÌ¶¬(ÇÌæ)
+$       // データキュー初期化ブロックの生成(管理領域)
         intptr_t * const _kernel_dtqinib_data[TNUM_DTQID] = {
         	$JOINEACH dtqid DTQ.ORDER_LIST ",\n"$
@@ -581,6 +570,5 @@
         $NL$
 
-$       // f[^L
-[Rg[ubN
+$       // データキューコントロールブロック
         uint8_t _kernel_dtqcb_count[TNUM_DTQID];$NL$
         uint8_t _kernel_dtqcb_head[TNUM_DTQID];$NL$
@@ -598,5 +586,5 @@
 
 $ ---------------------------------------------------------------------
-$  ÝÇ@\
+$  割込み管理機能
 $ ---------------------------------------------------------------------
 /*$NL$
@@ -605,5 +593,5 @@
 $NL$
 
-$ // INTNO_ATTISR_VALID Ìvfªd¡µÄ¢È¢©Ç¤©Ì`FbN
+$ // INTNO_ATTISR_VALID の要素が重複していないかどうかのチェック
 $i = 0$
 $FOREACH intno INTNO_ATTISR_VALID$
@@ -618,5 +606,5 @@
 $END$
 
-$ // INHNO_ATTISR_VALID Ìvfªd¡µÄ¢È¢©Ç¤©Ì`FbN
+$ // INHNO_ATTISR_VALID の要素が重複していないかどうかのチェック
 $i = 0$
 $FOREACH intno INHNO_ATTISR_VALID$
@@ -632,6 +620,6 @@
 
 
-$ // ATT_ISR ÅgpÂ\ÈÝÔÆC»êÉÎ·éÝnhÔÌª¯¶©Ç¤©
-$ // eXgÌvfÍd¡µÄ¢È¢±ÆðOñÆµÄ¢éD
+$ // ATT_ISR で使用可能な割込み番号と，それに対応する割込みハンドラ番号の数が同じかどうか
+$ // 各リストの要素は重複していないことを前提としている．
 $IF LENGTH(INTNO_ATTISR_VALID) != LENGTH(INHNO_ATTISR_VALID)$
 	$ERROR$length of `INTNO_ATTISR_VALID' is different from length of `INHNO_ATTISR_VALID'$END$
@@ -639,12 +627,12 @@
 
 
-$ // ÝÔÆÝnhÔÌÏ·e[uÌì¬
-$ //  ÝÔÌXgÆÝnhÔÌXgÍÎ·évfª¯¶ÔÅ
-$ //  »êéæ¤ÉÀ×çêÄ¢é±ÆðOñÆ·éD
+$ // 割込み番号と割込みハンドラ番号の変換テーブルの作成
+$ //  割込み番号のリストと割込みハンドラ番号のリストは対応する要素が同じ順番で
+$ //  現れるように並べられていることを前提とする．
 $i = 0$
 $FOREACH intno INTNO_ATTISR_VALID$
 
-$	// INTNO_ATTISR_VALID ÉÜÜêélÍ INTNO_CFGINT_VALID ÉàÜÜêé×«Å éD
-$	// INTNO_ATTISR_VALID Í INTNO_CFGINT_VALID ÌªWÉÈéÍ¸D
+$	// INTNO_ATTISR_VALID に含まれる値は INTNO_CFGINT_VALID にも含まれるべきである．
+$	// INTNO_ATTISR_VALID は INTNO_CFGINT_VALID の部分集合になるはず．
 	$IF LENGTH(FIND(INTNO_CFGINT_VALID, intno)) == 0$
 		$ERROR$all elements of `INTNO_ATTISR_VALID' must be included in `INTNO_CFGINT_VALID'$END$
@@ -658,6 +646,6 @@
 
 
-$ // INTNO_CFGINT_VALID Ìvfª INTNO_VALID ÉÜÜêé©Ç¤©Ì`FbN
-$ // INTNO_CFGINT_VALID Í INTNO_VALID ÌªWÉÈéÍ¸D
+$ // INTNO_CFGINT_VALID の要素が INTNO_VALID に含まれるかどうかのチェック
+$ // INTNO_CFGINT_VALID は INTNO_VALID の部分集合になるはず．
 $FOREACH intno INTNO_CFGINT_VALID$
 	$IF LENGTH(FIND(INTNO_VALID, intno)) == 0$
@@ -667,6 +655,6 @@
 
 
-$ // INHNO_ATTISR_VALID Ìvfª INHNO_VALID ÉÜÜêé©Ç¤©Ì`FbN
-$ // INHNO_ATTISR_VALID Í INHNO_VALID ÌªWÉÈéÍ¸D
+$ // INHNO_ATTISR_VALID の要素が INHNO_VALID に含まれるかどうかのチェック
+$ // INHNO_ATTISR_VALID は INHNO_VALID の部分集合になるはず．
 $FOREACH inhno INHNO_ATTISR_VALID$
 	$IF LENGTH(FIND(INHNO_VALID, inhno)) == 0$
@@ -676,13 +664,13 @@
 
 
-$ // ÝvCÉÖ·éG[`FbN
+$ // 割込み要求ラインに関するエラーチェック
 $i = 0$
 $FOREACH intno INT.ORDER_LIST$
-$	// intnoªCFG_INTÉÎ·éÝÔÆµÄ³µ­È¢êiE_PARj
+$	// intnoがCFG_INTに対する割込み番号として正しくない場合（E_PAR）
 	$IF !LENGTH(FIND(INTNO_CFGINT_VALID, INT.INTNO[intno]))$
 		$ERROR INT.TEXT_LINE[intno]$E_PAR: $FORMAT(_("illegal %1% `%2%\' in %3%"), "intno", INT.INTNO[intno], "CFG_INT")$$END$
 	$END$
 
-$	// intnoªCFG_INTÉæÁÄÝèÏÝÌêiE_OBJj
+$	// intnoがCFG_INTによって設定済みの場合（E_OBJ）
 	$j = 0$
 	$FOREACH intno2 INT.ORDER_LIST$
@@ -693,15 +681,15 @@
 	$END$
 
-$	// intatrª TA_ENAINT, TA_EDGE, Ü½Í»Ì¼^[QbgÅpÂ\È®«Ì¢¸êÅàÈ¢êiE_RSATRj
+$	// intatrが TA_ENAINT, TA_EDGE, またはその他ターゲットで利用可能な属性のいずれでもない場合（E_RSATR）
 	$IF (INT.INTATR[intno] & ~(TA_ENAINT|TA_EDGE|ALT(TARGET_INTATR,0))) != 0$
 		$ERROR INT.TEXT_LINE[intno]$E_RSATR: $FORMAT(_("illegal %1% `%2%\' of %3% `%4%\' in %5%"), "intatr", INT.INTATR[intno], "intno", INT.INTNO[intno], "CFG_INT")$$END$
 	$END$
 
-$	// intpriªCFG_INTÉÎ·éÝDæxÆµÄ³µ­È¢êiE_PARj
+$	// intpriがCFG_INTに対する割込み優先度として正しくない場合（E_PAR）
 	$IF !LENGTH(FIND(INTPRI_CFGINT_VALID, INT.INTPRI[intno]))$
 		$ERROR INT.TEXT_LINE[intno]$E_PAR: $FORMAT(_("illegal %1% `%2%\' in %3%"), "intpri", INT.INTPRI[intno], "CFG_INT")$$END$
 	$END$
 
-$	// J[lÇÌÝÆµÄÅè³êÄ¢éÝÉCTMIN_INTPRI æèà¬³¢lªwè³ê½êiE_OBJj
+$	// カーネル管理の割込みとして固定されている割込みに，TMIN_INTPRI よりも小さい値が指定された場合（E_OBJ）
 	$IF LENGTH(FIND(INTNO_FIX_KERNEL, intno))$
 		$IF INT.INTPRI[intno] < TMIN_INTPRI$
@@ -710,5 +698,5 @@
 	$END$
 
-$	// J[lÇOÌÝÆµÄÅè³êÄ¢éÝÉCTMIN_INTPRI æèà¬³¢lªwè³êÈ©Á½êiE_OBJj
+$	// カーネル管理外の割込みとして固定されている割込みに，TMIN_INTPRI よりも小さい値が指定されなかった場合（E_OBJ）
 	$IF LENGTH(FIND(INTNO_FIX_NONKERNEL, intno))$
 		$IF INT.INTPRI[intno] >= TMIN_INTPRI$
@@ -720,13 +708,13 @@
 
 
-$ ÝnhÉÖ·éG[`FbN
+$ 割込みハンドラに関するエラーチェック
 $i = 0$
 $FOREACH inhno INH.ORDER_LIST$
-$	// ÝnhÔ(inhno)ª³µ­È¢êiE_PARj
+$	// 割込みハンドラ番号(inhno)が正しくない場合（E_PAR）
 	$IF !LENGTH(FIND(INHNO_DEFINH_VALID, INH.INHNO[inhno]))$
 		$ERROR INH.TEXT_LINE[inhno]$E_PAR: $FORMAT(_("illegal %1% `%2%\' in %3%"), "inhno", INH.INHNO[inhno], "DEF_INH")$$END$
 	$END$
 
-$	// ¯¶ÝnhÔÉÎ·éDEF_INHª¡¶Ý·éêiE_OBJj
+$	// 同じ割込みハンドラ番号に対するDEF_INHが複数存在する場合（E_OBJ）
 	$j = 0$
 	$FOREACH inhno2 INH.ORDER_LIST$
@@ -737,10 +725,10 @@
 	$END$
 
-$	// Ýnh®«(inhatr) ª TA_NULL, TA_NONKERNEL, yÑ»Ì¼^[QbgË¶ÅpÂ\È®«Ì¢¸êÅàÈ¢iE_RSATRj
+$	// 割込みハンドラ属性(inhatr) が TA_NULL, TA_NONKERNEL, 及びその他ターゲット依存で利用可能な属性のいずれでもない（E_RSATR）
 	$IF (INH.INHATR[inhno] & ~(TA_NONKERNEL|ALT(TARGET_INHATR,0))) != 0$
 		$ERROR INH.TEXT_LINE[inhno]$E_RSATR: $FORMAT(_("illegal %1% `%2%\' of %3% `%4%\' in %5%"), "inhatr", INH.INHATR[inhno], "inhno", INH.INHNO[inhno], "DEF_INH")$$END$
 	$END$
 
-$	// J[lÇÉÅè³êÄ¢éÝnhÉCTA_NONKERNEL ®«ªÝè³êÄ¢éiE_RSATRj
+$	// カーネル管理に固定されている割込みハンドラに，TA_NONKERNEL 属性が設定されている（E_RSATR）
 	$IF LENGTH(FIND(INHNO_FIX_KERNEL, inhno))$
 		$IF (INH.INHATR[inhno] & TA_NONKERNEL) != 0$
@@ -749,5 +737,5 @@
 	$END$
 
-$	// J[lÇOÉÅè³êÄ¢éÝnhÉCTA_NONKERNEL ®«ªÝè³êÄ¢È¢iE_RSATRj
+$	// カーネル管理外に固定されている割込みハンドラに，TA_NONKERNEL 属性が設定されていない（E_RSATR）
 	$IF LENGTH(FIND(INHNO_FIX_NONKERNEL, inhno))$
 		$IF (INH.INHATR[inhno] & TA_NONKERNEL) == 0$
@@ -757,24 +745,24 @@
 
 
-$	// ÝÔÆ1Î1Î·éÝnhÔ(ATT_ISRÅwèÂ\ÈÝnhÔ)ÍCÈºÌ`FbNàs¤D
-$	// INHNO_ATTISR_VALID ÉÜÜêÈ¢ÝnhÔÍ`FbN³êÈ¢±ÆÉÈéD
+$	// 割込み番号と1対1対応する割込みハンドラ番号(ATT_ISRで指定可能な割込みハンドラ番号)は，以下のチェックも行う．
+$	// INHNO_ATTISR_VALID に含まれない割込みハンドラ番号はチェックされないことになる．
 	$IF LENGTH(INTNO[INH.INHNO[inhno]]) > 0$
 		$intno = INTNO[INH.INHNO[inhno]]$
 
-$		// Ýnho^æÌÝvCª®«Ýè³êÄ¢È¢(CFG_INTªÈ¢)iE_OBJj
+$		// 割込みハンドラ登録先の割込み要求ラインが属性設定されていない(CFG_INTがない)（E_OBJ）
 		$IF !LENGTH(INT.INTNO[intno])$
 			$ERROR INH.TEXT_LINE[inhno]$E_OBJ: $FORMAT(_("%1% `%2%\' corresponding to %3% `%4%\' is not configured with %5%"), "intno", INT.INTNO[intno], "inhno", INH.INHNO[inhno], "CFG_INT")$$END$
 		$ELSE$
 			$IF (INH.INHATR[inhno] & TA_NONKERNEL) == 0$
-$				// inhatrÉTA_NONKERNELªwè³êÄ¨ç¸CinhnoÉÎ
-$				// ·éintnoÉÎµÄCFG_INTÅÝè³ê½ÝDæxª
-$				// TMIN_INTPRIæèà¬³¢êiE_OBJj
+$				// inhatrにTA_NONKERNELが指定されておらず，inhnoに対応
+$				// するintnoに対してCFG_INTで設定された割込み優先度が
+$				// TMIN_INTPRIよりも小さい場合（E_OBJ）
 				$IF INT.INTPRI[intno] < TMIN_INTPRI$
 					$ERROR INT.TEXT_LINE[intno]$E_OBJ: $FORMAT(_("%1% `%2%\' configured for %3% `%4%\' is higher than %5%"), "intpri", INT.INTPRI[intno], "inhno", INH.INHNO[inhno], "TMIN_INTPRI")$$END$
 				$END$
 			$ELSE$
-$				// inhatrÉTA_NONKERNELªwè³êÄ¨èCinhnoÉÎ
-$				// ·éintnoÉÎµÄCFG_INTÅÝè³ê½ÝDæxª
-$				// TMIN_INTPRIÈãÅ éêiE_OBJj
+$				// inhatrにTA_NONKERNELが指定されており，inhnoに対応
+$				// するintnoに対してCFG_INTで設定された割込み優先度が
+$				// TMIN_INTPRI以上である場合（E_OBJ）
 				$IF INT.INTPRI[intno] >= TMIN_INTPRI$
 					$ERROR INT.TEXT_LINE[intno]$E_OBJ: $FORMAT(_("%1% `%2%\' configured for %3% `%4%\' is lower than or equal to %5%"), "intpri", INT.INTPRI[intno], "inhno", INH.INHNO[inhno], "TMIN_INTPRI")$$END$
@@ -786,17 +774,17 @@
 $END$
 
-$ ÝT[rX[`iISRjÉÖ·éG[`FbNÆÝnhÌ¶¬
+$ 割込みサービスルーチン（ISR）に関するエラーチェックと割込みハンドラの生成
 $FOREACH order ISR.ORDER_LIST$
-$	// isratrªiTA_NULLjÅÈ¢êiE_RSATRj
+$	// isratrが（TA_NULL）でない場合（E_RSATR）
 	$IF (ISR.ISRATR[order] & ~ALT(TARGET_ISRATR,0)) != 0$
 		$ERROR ISR.TEXT_LINE[order]$E_RSATR: $FORMAT(_("illegal %1% `%2%\' of %3% `%4%\' in %5%"), "isratr", ISR.ISRATR[order], "isr", ISR.ISR[order], "ATT_ISR")$$END$
 	$END$
 
-$	// intnoªATT_ISRÉÎ·éÝÔÆµÄ³µ­È¢êiE_PARj
+$	// intnoがATT_ISRに対する割込み番号として正しくない場合（E_PAR）
 	$IF !LENGTH(FIND(INTNO_ATTISR_VALID, ISR.INTNO[order]))$
 		$ERROR ISR.TEXT_LINE[order]$E_PAR: $FORMAT(_("illegal %1% `%2%\' in %3%"), "intno", ISR.INTNO[order], "ATT_ISR")$$END$
 	$END$
 
-$	// (TMIN_ISRPRI <= isrpri && isrpri <= TMAX_ISRPRI)ÅÈ¢êiE_PARj
+$	// (TMIN_ISRPRI <= isrpri && isrpri <= TMAX_ISRPRI)でない場合（E_PAR）
 	$IF !(TMIN_ISRPRI <= ISR.ISRPRI[order] && ISR.ISRPRI[order] <= TMAX_ISRPRI)$
 		$ERROR ISR.TEXT_LINE[order]$E_PAR: $FORMAT(_("illegal %1% `%2%\' in %3%"), "isrpri", ISR.ISRPRI[order], "ATT_ISR")$$END$
@@ -808,5 +796,5 @@
 	$inhno = INHNO[intno]$
 
-$	// ÝÔintnoÉÎµÄo^³ê½ISRÌXgÌì¬
+$	// 割込み番号intnoに対して登録されたISRのリストの作成
 	$isr_order_list = {}$
 	$FOREACH order ISR.ORDER_LIST$
@@ -817,17 +805,17 @@
 	$END$
 
-$	// ÝÔintnoÉÎµÄo^³ê½ISRª¶Ý·éê
+$	// 割込み番号intnoに対して登録されたISRが存在する場合
 	$IF LENGTH(isr_order_list) > 0$
-$		// intnoÉÎ·éinhnoÉÎµÄDEF_INHª éêiE_OBJj
+$		// intnoに対応するinhnoに対してDEF_INHがある場合（E_OBJ）
 		$IF LENGTH(INH.INHNO[inhno])$
 			$ERROR ISR.TEXT_LINE[order_for_error]$E_OBJ: $FORMAT(_("%1% `%2%\' in %3% is duplicated with %4% `%5%\'"), "intno", ISR.INTNO[order_for_error], "ATT_ISR", "inhno", INH.INHNO[inhno])$$END$
 		$END$
 
-$		// intnoÉÎ·éCFG_INTªÈ¢êiE_OBJj
+$		// intnoに対するCFG_INTがない場合（E_OBJ）
 		$IF !LENGTH(INT.INTNO[intno])$
 			$ERROR ISR.TEXT_LINE[order_for_error]$E_OBJ: $FORMAT(_("%1% `%2%\' is not configured with %3%"), "intno", ISR.INTNO[order_for_error], "CFG_INT")$$END$
 		$ELSE$
-$			// intnoÉÎµÄCFG_INTÅÝè³ê½ÝDæxªTMIN_INTPRI
-$			// æèà¬³¢êiE_OBJj
+$			// intnoに対してCFG_INTで設定された割込み優先度がTMIN_INTPRI
+$			// よりも小さい場合（E_OBJ）
 			$IF INT.INTPRI[intno] < TMIN_INTPRI$
 				$ERROR INT.TEXT_LINE[intno]$E_OBJ: $FORMAT(_("%1% `%2%\' configured for %3% `%4%\' is higher than %5%"), "intpri", INT.INTPRI[intno], "intno", ISR.INTNO[order_for_error], "TMIN_INTPRI")$$END$
@@ -841,5 +829,5 @@
 		$INH.ORDER_LIST = APPEND(INH.ORDER_LIST, inhno)$
 
-$		// ISRpÌÝnh
+$		// ISR用の割込みハンドラ
 		void$NL$
 		_kernel_inthdr_$intno$(void)$NL$
@@ -853,5 +841,5 @@
 			$TAB$i_begin_int($intno$);$NL$
 		$END$
-$		// ISRðDæxÉÄÑo·
+$		// ISRを優先度順に呼び出す
 		$JOINEACH order SORT(isr_order_list, "ISR.ISRPRI") "\tif (i_sense_lock()) {\n\t\ti_unlock_cpu();\n\t}\n\ti_set_ipm(saved_ipm);\n"$
 			$TAB$LOG_ISR_ENTER($intno$);$NL$
@@ -866,10 +854,10 @@
 
 $ 
-$ ÝÇ@\Ì½ßÌWIÈú»îñÌ¶¬
-$ 
-$ ÝnhÌú»ÉKvÈîñ
+$ 割込み管理機能のための標準的な初期化情報の生成
+$ 
+$ 割込みハンドラの初期化に必要な情報
 $IF !OMIT_INITIALIZE_INTERRUPT || ALT(USE_INHINIB_TABLE,0)$
 
-$ Ýnh
+$ 割込みハンドラ数
 #define TNUM_INHNO	$LENGTH(INH.ORDER_LIST)$$NL$
 const uint_t _kernel_tnum_inhno = TNUM_INHNO;$NL$
@@ -879,5 +867,5 @@
 $END$
 
-$ Ýnhú»e[u
+$ 割込みハンドラ初期化テーブル
 $IF LENGTH(INH.ORDER_LIST)$
 	const INHNO _kernel_inhinib_inhno[TNUM_INHNO] = {
@@ -905,13 +893,13 @@
 $END$
 
-$ ÝvCÌú»ÉKvÈîñ
+$ 割込み要求ラインの初期化に必要な情報
 $IF !OMIT_INITIALIZE_INTERRUPT || ALT(USE_INTINIB_TABLE,0)$ 
 
-$ ÝvC
+$ 割込み要求ライン数
 #define TNUM_INTNO	$LENGTH(INT.ORDER_LIST)$$NL$
 const uint_t _kernel_tnum_intno = TNUM_INTNO;$NL$
 $NL$
 
-$ ÝvCú»e[u
+$ 割込み要求ライン初期化テーブル
 $IF LENGTH(INT.ORDER_LIST)$
 	const INTNO _kernel_intinib_intno[TNUM_INTNO] = {
@@ -941,5 +929,5 @@
 
 $ ---------------------------------------------------------------------
-$  CPUáOnh
+$  CPU例外ハンドラ
 $ ---------------------------------------------------------------------
 /*$NL$
@@ -948,6 +936,6 @@
 $NL$
 
-$ // EXCNO_DEFEXC_VALID Ìvfª EXCNO_VALID ÉÜÜêé©Ç¤©Ì`FbN
-$ // EXCNO_DEFEXC_VALID Í EXCNO_VALID ÌªWÉÈéÍ¸D
+$ // EXCNO_DEFEXC_VALID の要素が EXCNO_VALID に含まれるかどうかのチェック
+$ // EXCNO_DEFEXC_VALID は EXCNO_VALID の部分集合になるはず．
 $FOREACH excno EXCNO_DEFEXC_VALID$
 	$IF LENGTH(FIND(EXCNO_VALID, excno)) == 0$
@@ -957,13 +945,13 @@
 
 
-$ CPUáOnhÉÖ·éG[`FbN
+$ CPU例外ハンドラに関するエラーチェック
 $i = 0$
 $FOREACH excno EXC.ORDER_LIST$
-$	// excnoªDEF_EXCÉÎ·éCPUáOnhÔÆµÄ³µ­È¢êiE_PARj
+$	// excnoがDEF_EXCに対するCPU例外ハンドラ番号として正しくない場合（E_PAR）
 	$IF !LENGTH(FIND(EXCNO_DEFEXC_VALID, EXC.EXCNO[excno]))$
 		$ERROR EXC.TEXT_LINE[excno]$E_PAR: $FORMAT(_("illegal %1% `%2%\' in %3%"), "excno", EXC.EXCNO[excno], "DEF_EXC")$$END$
 	$END$
 
-$	// excnoªDEF_EXCÉæÁÄÝèÏÝÌêiE_OBJj
+$	// excnoがDEF_EXCによって設定済みの場合（E_OBJ）
 	$j = 0$
 	$FOREACH excno2 EXC.ORDER_LIST$
@@ -974,5 +962,5 @@
 	$END$
 
-$	// excatrªiTA_NULLjÅÈ¢êiE_RSATRj
+$	// excatrが（TA_NULL）でない場合（E_RSATR）
 	$IF (EXC.EXCATR[excno] & ~ALT(TARGET_EXCATR,0)) != 0$
 		$ERROR EXC.TEXT_LINE[excno]$E_RSATR: $FORMAT(_("illegal %1% `%2%\' of %3% `%4%\' in %5%"), "excatr", EXC.EXCATR[excno], "excno", EXC.EXCNO[excno], "DEF_EXC")$$END$
@@ -981,8 +969,8 @@
 $END$
 
-$ CPUáOnhÌ½ßÌWIÈú»îñÌ¶¬
+$ CPU例外ハンドラのための標準的な初期化情報の生成
 $IF !ALT(OMIT_INITIALIZE_EXCEPTION,0)$
 
-$ CPUáOnh
+$ CPU例外ハンドラ数
 #define TNUM_EXCNO	$LENGTH(EXC.ORDER_LIST)$$NL$
 const uint_t _kernel_tnum_excno = TNUM_EXCNO;$NL$
@@ -992,5 +980,5 @@
 $END$
 
-$ CPUáOnhú»e[u
+$ CPU例外ハンドラ初期化テーブル
 $IF LENGTH(EXC.ORDER_LIST)$
 	const EXCNO _kernel_excinib_excno[TNUM_EXCNO] = {
@@ -1021,5 +1009,5 @@
 
 $ ---------------------------------------------------------------------
-$  üúnh
+$  周期ハンドラ
 $ ---------------------------------------------------------------------
 
@@ -1029,13 +1017,13 @@
 $NL$
 
-$ üúnhIDÔÌÅål
+$ 周期ハンドラID番号の最大値
 const ID _kernel_tmax_cycid = (TMIN_CYCID + TNUM_CYCID - 1);$NL$
 
-$ üúnhÌ^CCxgIDItZbg
-$ üúnhÌ^CCxgIDÍ0©çJn
+$ 周期ハンドラのタイムイベントIDオフセット
+$ 周期ハンドラのタイムイベントIDは0から開始
 const uint_t _kernel_cycevtid_offset = 0;$NL$
 $NL$
 
-$ Ggª TMAX_MAXCYC(kernel.h) Âæè½¢êÍCG[Æ·é
+$ エントリが TMAX_MAXCYC(kernel.h) 個より多い場合は，エラーとする
 $IF LENGTH(CYC.ORDER_LIST) > TMAX_MAXCYC$
 	$ERROR$$FORMAT(_("The number of CRE_CYC must be equal to or less than %1%."), +VALUE("TMAX_MAXCYC", TMAX_MAXCYC))$$END$
@@ -1043,8 +1031,8 @@
 
 $IF LENGTH(CYC.ORDER_LIST)$
-$	üúnh®«
+$	周期ハンドラ属性
 	$CYCACT = 0$
 	$FOREACH cycid CYC.ORDER_LIST$
-$		// üúnh®«(cycatr) ª TA_NULL, TA_STA Ì¢¸êÅàÈ¢iE_RSATRj
+$		// 周期ハンドラ属性(cycatr) が TA_NULL, TA_STA のいずれでもない（E_RSATR）
 		$IF (CYC.CYCATR[cycid] & ~TA_STA) != 0$
 			$ERROR CYC.TEXT_LINE[cycid]$E_RSATR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "cycatr", CYC.CYCATR[cycid], cycid, "CRE_CYC")$$END$
@@ -1057,5 +1045,5 @@
 	const uint16_t _kernel_cycinib_cycact = $CYCACT$;$NL$
 
-$	üúnhg£îñ
+$	周期ハンドラ拡張情報
 	const intptr_t _kernel_cycinib_exinf[TNUM_CYCID] = {
 	$JOINEACH cycid CYC.ORDER_LIST ","$
@@ -1064,5 +1052,5 @@
 	};$NL$
 
-$	üúnhAhX
+$	周期ハンドラアドレス
 	const CYCHDR _kernel_cycinib_cychdr[TNUM_CYCID] = {
 	$JOINEACH cycid CYC.ORDER_LIST ","$
@@ -1071,8 +1059,8 @@
 	};$NL$
 
-$	üúnhüú
+$	周期ハンドラ周期
 	const RELTIM _kernel_cycinib_cyctim[TNUM_CYCID] = {
 	$JOINEACH cycid CYC.ORDER_LIST ","$
-$		// cyctim Í 0 æèå«­CTMAX_RELTIM ÈºÅ éD(E_PAR)
+$		// cyctim は 0 より大きく，TMAX_RELTIM 以下である．(E_PAR)
 		$IF CYC.CYCTIM[cycid] <= 0 || TMAX_RELTIM < CYC.CYCTIM[cycid] $
 			$ERROR CYC.TEXT_LINE[cycid]$E_PAR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "cyctim", CYC.CYCTIM[cycid], cycid, "CRE_CYC")$$END$
@@ -1083,13 +1071,13 @@
 	};$NL$
 
-$	üúnhÊ
+$	周期ハンドラ位相
 	const RELTIM _kernel_cycinib_cycphs[TNUM_CYCID] = {
 	$JOINEACH cycid CYC.ORDER_LIST ","$
-$		// cycphs Í 0 ÈãCTMAX_RELTIM ÈºÅ éD(E_PAR)
+$		// cycphs は 0 以上，TMAX_RELTIM 以下である．(E_PAR)
 		$IF CYC.CYCPHS[cycid] < 0 || TMAX_RELTIM < CYC.CYCPHS[cycid] $
 			$ERROR CYC.TEXT_LINE[cycid]$E_PAR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "cycphs", CYC.CYCPHS[cycid], cycid, "CRE_CYC")$$END$
 		$END$
 
-$		// Êª0©ÂC®«ª TA_STA ÌêÍx
+$		// 位相が0かつ，属性が TA_STA の場合は警告
 		$IF CYC.CYCPHS[cycid] == 0 && (CYC.CYCATR[cycid] & TA_STA) != 0$
 			$WARNING CYC.TEXT_LINE[cycid]$$FORMAT(_("%1% is not recommended when %2% is set to %3% in %4%"), "cycphs==0", "TA_STA", "cycatr", "CRE_CYC")$$END$
@@ -1101,5 +1089,5 @@
 	$NL$
 
-$	üúnhÌñN®
+$	周期ハンドラの次回起動時刻
 EVTTIM _kernel_cyccb_evttim[TNUM_CYCID];$NL$
 
@@ -1113,5 +1101,5 @@
 $END$
 
-$	üúnh®ìóÔ
+$	周期ハンドラ動作状態
 uint16_t _kernel_cyccb_cycact;$NL$
 
@@ -1120,5 +1108,5 @@
 
 $ ---------------------------------------------------------------------
-$  A[nh
+$  アラームハンドラ
 $ ---------------------------------------------------------------------
 
@@ -1128,18 +1116,18 @@
 $NL$
 
-$ Ggª TMAX_MAXALM(kernel.h) Âæè½¢êÍCG[Æ·é
+$ エントリが TMAX_MAXALM(kernel.h) 個より多い場合は，エラーとする
 $IF LENGTH(ALM.ORDER_LIST) > TMAX_MAXALM$
 	$ERROR$$FORMAT(_("The number of CRE_ALM must be equal to or less than %1%."), +VALUE("TMAX_MAXALM",TMAX_MAXALM))$$END$
 $END$
 
-$ A[nhÌÅåIDl
+$ アラームハンドラの最大ID値
 const ID _kernel_tmax_almid = (TMIN_ALMID + TNUM_ALMID - 1);$NL$
 
-$ A[nhÌ^CCxgIDItZbg
+$ アラームハンドラのタイムイベントIDオフセット
 const uint_t _kernel_almevtid_offset = $LENGTH(CYC.ORDER_LIST)$;$NL$
 $NL$
 
 $FOREACH almid ALM.ORDER_LIST$
-$	// almatrªiTA_NULLjÅÈ¢êiE_RSATRj
+$	// almatrが（TA_NULL）でない場合（E_RSATR）
 	$IF ALM.ALMATR[almid] != 0$
 		$ERROR ALM.TEXT_LINE[almid]$E_RSATR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "almatr", ALM.ALMATR[almid], almid, "CRE_ALM")$$END$
@@ -1148,5 +1136,5 @@
 
 $IF LENGTH(ALM.ORDER_LIST)$
-$	A[nhæªÔn
+$	アラームハンドラ先頭番地
 	const ALMHDR _kernel_alminib_almhdr[TNUM_ALMID] = {
 	$JOINEACH almid ALM.ORDER_LIST ","$
@@ -1155,5 +1143,5 @@
 	};$NL$
 
-$	A[nhg£îñ
+$	アラームハンドラ拡張情報
 	const intptr_t _kernel_alminib_exinf[TNUM_ALMID] = {
 	$JOINEACH almid ALM.ORDER_LIST ","$
@@ -1168,5 +1156,5 @@
 $END$
 
-$ A[nhóÔ
+$ アラームハンドラ状態
 uint16_t _kernel_almcb_almact;$NL$
 $NL$
@@ -1174,5 +1162,5 @@
 
 $ ---------------------------------------------------------------------
-$  ^CCxgÇ
+$  タイムイベント管理
 $ ---------------------------------------------------------------------
 
@@ -1187,16 +1175,15 @@
 $NL$
 
-$ ^CCxgubNÌTCY
+$ タイムイベントブロックのサイズ
 const uint_t _kernel_tnum_tmevt_queue = TNUM_TMEVT;$NL$$NL$
 
 $IF TNUM_TMEVT != 0$
-$	^CCxgL
-[
+$	タイムイベントキュー
 	QUEUE _kernel_tmevt_queue[TNUM_TMEVT+1];$NL$
-$	^CCxgÔ
+$	タイムイベント時間
 	EVTTIM _kernel_tmevt_time[TNUM_TMEVT];$NL$
-$	^CCxgÌR[obN
+$	タイムイベントのコールバック
 	CBACK _kernel_tmevt_callback[TNUM_TMEVT];$NL$
-$	^CCxgR[obNÌø
+$	タイムイベントコールバックの引数
 	uintptr_t _kernel_tmevt_arg[TNUM_TMEVT];$NL$
 	$NL$$NL$
@@ -1210,5 +1197,5 @@
 
 $ ---------------------------------------------------------------------
-$  ñ^XNReLXgpX^bNÌæ
+$  非タスクコンテキスト用スタック領域
 $ ---------------------------------------------------------------------
 /*$NL$
@@ -1216,28 +1203,28 @@
 $SPC$*/$NL$$NL$
 
-$ // Ïè`
-$ // ñ^XNReLXgpX^bNÌæÌTCY
+$ // 変数定義
+$ // 非タスクコンテキスト用スタック領域のサイズ
 $interrupt_context_stksz = 0$
 
-$ // DEF_ICS ÌGgª¶Ý·é©?
+$ // DEF_ICS のエントリが存在するか?
 $IF !LENGTH(ICS.ORDER_LIST)$
-$	// È¢êDTCYÍùèl (DEFAULT_ISTKSZ) ðg¤
+$	// ない場合．サイズは既定値 (DEFAULT_ISTKSZ) を使う
 	#define TOPPERS_ISTKSZ		DEFAULT_ISTKSZ$NL$$NL$
 	$interrupt_context_stksz = DEFAULT_ISTKSZ$
 $ELSE$
-$	// DEF_ICS ÌGgª éê
-
-$ 
-$	// G[`FbN
-$ 
-$	// ÃIAPIuDEF_ICSvª¡ éiE_OBJj
+$	// DEF_ICS のエントリがある場合
+
+$ 
+$	// エラーチェック
+$ 
+$	// 静的API「DEF_ICS」が複数ある（E_OBJ）
 	$IF LENGTH(ICS.ORDER_LIST) > 1$
 		$ERROR$E_OBJ: $FORMAT(_("too many %1%"), "DEF_ICS")$$END$
 	$END$
-$	// DEF_ICS Å0ðwèµ½ê(E_PAR)
+$	// DEF_ICS で0を指定した場合(E_PAR)
 	$IF ICS.ISTKSZ[1] == 0$
 		$ERROR ICS.TEXT_LINE[1]$E_PAR: $FORMAT(_("%1% in %2% is 0"), "istksz", "DEF_ICS")$$END$
 	$END$
-$	// íÉ NULL Å éD(E_PAR)
+$	// 常に NULL である．(E_PAR)
 	$IF !EQ(ICS.ISTK[1], "NULL")$
 		$ERROR ICS.TEXT_LINE[1]$E_PAR: $FORMAT(("'%1%' of %2% must be NULL."), "istk", "DEF_ICS")$$END$
@@ -1251,16 +1238,15 @@
 
 $ ---------------------------------------------------------------------
-$  ¤LX^bNÌæ
-$      SSPÅÍ·×ÄÌPÊÌX^bNð¤L·é½ßC
-$      ±±ÅVXeSÌÌX^bNÌæðmÛ·éD
-$ ---------------------------------------------------------------------
-
-$ 
-$ ¤LX^bNÌRtBM
-[VÉ¬÷µ½©Ç¤©
-$ 
-$ DEF_STK ÉG[ª­¶µ½êC±ÌÏª0ÉÈéD
-$ DEF_STK ÉG[ª­¶µ½©Ç¤©ð»fµÄ
-$ ÁèÌÀsðubN·é½ßÉgp·éD
+$  共有スタック領域
+$      SSPではすべての処理単位のスタックを共有するため，
+$      ここでシステム全体のスタック領域を確保する．
+$ ---------------------------------------------------------------------
+
+$ 
+$ 共有スタックのコンフィギュレーションに成功したかどうか
+$ 
+$ DEF_STK 処理中にエラーが発生した場合，この変数が0になる．
+$ DEF_STK 処理中にエラーが発生したかどうかを判断して
+$ 特定処理の実行をブロックするために使用する．
 $ 
 $configurated_defstk_successfully = 1$
@@ -1271,11 +1257,11 @@
 $NL$
 
-$ // Ïè`
-$ // èÄçê½¤LX^bNÌæÌTCY
+$ // 変数定義
+$ // 割り当てられた共有スタック領域のサイズ
 $allocated_stack_size = 0$
 
-$ // DEF_STK ÌGgª¶Ý·é©?
+$ // DEF_STK のエントリが存在するか?
 $IF !LENGTH(STK.ORDER_LIST)$
-$	// (1) DEF_STK ÌGgªÈ¢ê
+$	// (1) DEF_STK のエントリがない場合
 	static STK_T          		_kernel_stack[COUNT_STK_T(TOPPERS_TSTKSZ+TOPPERS_ISTKSZ)];$NL$
 	#define TOPPERS_STK   		_kernel_stack$NL$
@@ -1285,13 +1271,13 @@
 	$allocated_stack_size = max_tsk_stksz + interrupt_context_stksz$
 $ELSE$
-$	// (2) DEF_STK ÌGgª éê
-
-$	// G[`FbN
-$	// ÃIAPIuDEF_STKvª¡ éiE_OBJj
+$	// (2) DEF_STK のエントリがある場合
+
+$	// エラーチェック
+$	// 静的API「DEF_STK」が複数ある（E_OBJ）
 	$IF LENGTH(STK.ORDER_LIST) > 1$
 		$configurated_defstk_successfully = 0$
 		$ERROR$E_OBJ: $FORMAT(_("too many %1%"), "DEF_STK")$$END$
 	$END$
-$	// DEF_STK Ì stksz Å 0 ðwèµ½ê(E_PAR)
+$	// DEF_STK の stksz で 0 を指定した場合(E_PAR)
 	$IF STK.STKSZ[1] == 0$
 		$configurated_defstk_successfully = 0$
@@ -1300,12 +1286,12 @@
 
 	$IF EQ(STK.STK[1], "NULL")$
-$		// stk ª NULL ÌêCX^bNÌæð©®t¯
+$		// stk が NULL の場合，スタック領域を自動割付け
 		static STK_T         		_kernel_stack[COUNT_STK_T($STK.STKSZ[1]$)];$NL$
 		#define TOPPERS_STK  		_kernel_stack$NL$
 		#define TOPPERS_STKSZ		ROUND_STK_T($STK.STKSZ[1]$)$NL$
 	$ELSE$
-$		// stk ª NULL ÈOÌêiAv¤ÅX^bNÌæðpÓ·éêj
-
-$ 		// stkszª^[QbgÉèÜéACgTCYÌ{ÉACg³êÄ¢È¢êiE_PARj
+$		// stk が NULL 以外の場合（アプリ側でスタック領域を用意する場合）
+
+$ 		// stkszがターゲット毎に定まるアライメントサイズの倍数にアライメントされていない場合（E_PAR）
 		$IF LENGTH(CHECK_STKSZ_ALIGN) && (STK.STKSZ[1] & (CHECK_STKSZ_ALIGN - 1))$
 			$configurated_defstk_successfully = 0$
@@ -1321,5 +1307,5 @@
 $NL$
 
-$ ¤LX^bNpÌX^bNÌæ
+$ 共有スタック用のスタック領域
 const SIZE		_kernel_stksz = TOPPERS_STKSZ;$NL$
 STK_T *const	_kernel_stk = TOPPERS_STK;$NL$
@@ -1331,5 +1317,5 @@
 
 $ 
-$ // DæxèÄ¨æÑX^bNÝèÉÖ·éÊðWoÍÖ\¦
+$ // 優先度割り当ておよびスタック設定に関する結果を標準出力へ表示
 $ 
 $IF configurated_defepr_successfully == 1 && configurated_defstk_successfully == 1$
@@ -1347,5 +1333,5 @@
 	$TAB$Specified interrupt stack size = $interrupt_context_stksz$(value=$FORMAT("%d",+interrupt_context_stksz)$)$NL$
 	$TAB$Allocated total stack size = $allocated_stack_size$(value=$FORMAT("%d",+allocated_stack_size)$)$NL$
-$ 	// TCYÌ`FbNDX^bNTCYÌèlªÀÛÉÄçê½TCYæèå«¢êCx·éD
+$ 	// サイズのチェック．スタックサイズの推定値が実際に割当てられたサイズより大きい場合，警告する．
 	$IF (max_tsk_stksz+interrupt_context_stksz) > allocated_stack_size$
 		$TAB$!!!WARNING!!!: Estimated stack size is more than the allocated stack size.$NL$
@@ -1355,5 +1341,5 @@
 $END$
 $ 
-$ // oÍæð³ÉßµÄ¨­
+$ // 出力先を元に戻しておく
 $ 
 $FILE "kernel_cfg.c"$
@@ -1361,6 +1347,5 @@
 
 $ ---------------------------------------------------------------------
-$  eW
-[Ìú»Ö
+$  各モジュールの初期化関数
 $ ---------------------------------------------------------------------
 /*$NL$
@@ -1393,5 +1378,5 @@
 
 $ ---------------------------------------------------------------------
-$  ú»[`ÌÀsÖ
+$  初期化ルーチンの実行関数
 $ ---------------------------------------------------------------------
 /*$NL$
@@ -1403,5 +1388,5 @@
 {$NL$
 $FOREACH order INI.ORDER_LIST$
-$ 	// iniatrªiTA_NULLjÅÈ¢êiE_RSATRj
+$ 	// iniatrが（TA_NULL）でない場合（E_RSATR）
 	$IF INI.INIATR[order] != 0$
 		$ERROR INI.TEXT_LINE[order]$E_RSATR: $FORMAT(_("illegal %1% `%2%\' of %3% `%4%\' in %5%"), "iniatr", INI.INIATR[order], "inirtn", INI.INIRTN[order], "ATT_INI")$$END$
@@ -1413,5 +1398,5 @@
 
 $ ---------------------------------------------------------------------
-$  I¹[`ÌÀsÖ
+$  終了処理ルーチンの実行関数
 $ ---------------------------------------------------------------------
 /*$NL$
@@ -1423,5 +1408,5 @@
 {$NL$
 $FOREACH rorder TER.RORDER_LIST$
-$ 	// teratrªiTA_NULLjÅÈ¢êiE_RSATRj
+$ 	// teratrが（TA_NULL）でない場合（E_RSATR）
 	$IF TER.TERATR[rorder] != 0$
 		$ERROR TER.TEXT_LINE[rorder]$E_RSATR: $FORMAT(_("illegal %1% `%2%\' of %3% `%4%\' in %5%"), "teratr", TER.TERATR[rorder], "terrtn", TER.TERRTN[rorder], "ATT_TER")$$END$
Index: /ssp_qb_r5f100le_cs/trunk/kernel/kernel_impl.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/kernel/kernel_impl.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/kernel/kernel_impl.h	(revision 95)
@@ -10,46 +10,42 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  * 
- *  ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»EüÏE
- *  ÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 
- *      \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[X
- *      R[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Égp
- *      Å«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gipÒ}
- *      j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºLÌ³Û
- *      ØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Égp
- *      Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌì
- *         \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ
- *        ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹Q
- *      ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDÜ½C
- *      {\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©ÈéRÉîÃ
- *      ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
+ *  上記著作権者は，以下の (1)〜(4) の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改変・
+ *  再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作権
+ *      表示，この利用条件および下記の無保証規定が，そのままの形でソース
+ *      コード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使用
+ *      できる形で再配布する場合には，再配布に伴うドキュメント（利用者マ
+ *      ニュアルなど）に，上記の著作権表示，この利用条件および下記の無保
+ *      証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使用
+ *      できない形で再配布する場合には，次のいずれかの条件を満たすこと．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著作
+ *        権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに報
+ *        告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害
+ *      からも，上記著作権者およびTOPPERSプロジェクトを免責すること．また，
+ *      本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ
+ *      く請求からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ
- *  ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉÎ·
- *  éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEFAÌp
- *  Éæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»ÌÓCð
- *  íÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者およ
+ *  びTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的に対す
+ *  る適合性も含めて，いかなる保証も行わない．また，本ソフトウェアの利用
+ *  により直接的または間接的に生じたいかなる損害に関しても，その責任を負
+ *  わない．
  * 
  */
 
 /*
- *		TOPPERS/SSPJ[làü¯Wwb_t@C
+ *		TOPPERS/SSPカーネル内部向け標準ヘッダファイル
  *
- *  ±Ìwb_t@CÍCJ[lð\¬·évOÌ\[Xt@C
- *  ÅK¸CN[h·é×«Wwb_t@CÅ éD
+ *  このヘッダファイルは，カーネルを構成するプログラムのソースファイル
+ *  で必ずインクルードするべき標準ヘッダファイルである．
  *
- *  AZu¾êÌ\[Xt@C©ç±Ìt@CðCN[h·é
- *  ÍCTOPPERS_MACRO_ONLYðè`µÄ¨­D±êÉæèC}Nè`ÈOð
- *  ­æ¤ÉÈÁÄ¢éD
+ *  アセンブリ言語のソースファイルからこのファイルをインクルードする時
+ *  は，TOPPERS_MACRO_ONLYを定義しておく．これにより，マクロ定義以外を
+ *  除くようになっている．
  */
 
@@ -58,20 +54,20 @@
 
 /*
- *  J[lÌà¯Ê¼Ìl[
+ *  カーネルの内部識別名のリネーム
  */
 #include "kernel_rename.h"
 
 /*
- *  AvP[VÆ¤ÊÌwb_t@C
+ *  アプリケーションと共通のヘッダファイル
  */
 #include <kernel.h>
 
 /*
- *  VXeO@\Ì½ßÌè`
+ *  システムログ機能のための定義
  */
 #include <t_syslog.h>
 
 /*
- *  ^LXgðs¤}NÌè`
+ *  型キャストを行うマクロの定義
  */
 #ifndef CAST
@@ -80,10 +76,10 @@
 
 /*
- *  ^[QbgË¶îñÌè`
+ *  ターゲット依存情報の定義
  */
 #include "target_config.h"
 
 /*
- *  ·×ÄÌÖðRpC·é½ßÌè`
+ *  すべての関数をコンパイルするための定義
  */
 #ifdef ALLFUNC
@@ -92,11 +88,11 @@
 
 /*
- *  rbgtB[hÅÌ³µ®^
+ *  ビットフィールドでの符号無し整数型
  *
- *  8rbgÈºÌÌrbgtB[hÅC³µ®lðÛµ½¢ê
- *  Ép¢é×«f[^^DANSI CÅÍCrbgtB[hÌf[^^ÉÍ
- *  intÆunsigned intµ©³êÈ¢½ßCftHgÌè`Íunsigned
- *  intÆµÄ¢éªC^[Qbg¨æÑc[Ë¶ÅCunsigned charÜ½Í
- *  unsigned shortÉè`µ½ûªø¦ªÇ¢êª éD
+ *  8ビット以下の幅のビットフィールドで，符号無し整数値を保持したい場合
+ *  に用いるべきデータ型．ANSI Cでは，ビットフィールドのデータ型には
+ *  intとunsigned intしか許されないため，デフォルトの定義はunsigned
+ *  intとしているが，ターゲットおよびツール依存で，unsigned charまたは
+ *  unsigned shortに定義した方が効率が良い場合がある．
  */
 #ifndef BIT_FIELD_UINT
@@ -105,9 +101,9 @@
 
 /*
- *  rbgtB[hÅÌu[^
+ *  ビットフィールドでのブール型
  *
- *  1rbgÌrbgtB[hÅCu[lðÛµ½¢êÉp¢é×«
- *  f[^^DftHgÅÍBIT_FIELD_UINTÆ¯êÉè`µÄ¢éªCu[
- *  lðÛ·é±Æð¾¦·é½ßÉÊÌ¼ÌÆµÄ¢éD
+ *  1ビット幅のビットフィールドで，ブール値を保持したい場合に用いるべき
+ *  データ型．デフォルトではBIT_FIELD_UINTと同一に定義しているが，ブー
+ *  ル値を保持することを明示するために別の名称としている．
  */
 #ifndef BIT_FIELD_BOOL
@@ -116,15 +112,14 @@
 
 /*
- *  IuWFNgIDÌÅ¬lÌè`
+ *  オブジェクトIDの最小値の定義
  */
-#define TMIN_TSKID		1		/* ^XNIDÌÅ¬l */
-#define TMIN_FLGID		1		/* CxgtOIDÌÅ¬l */
-#define TMIN_DTQID		1		/* f[^L
-[IDÌÅ¬l */
-#define TMIN_CYCID		1		/* üúnhIDÌÅ¬l */
-#define TMIN_ALMID		1		/* A[nhIDÌÅ¬l */
+#define TMIN_TSKID		1		/* タスクIDの最小値 */
+#define TMIN_FLGID		1		/* イベントフラグIDの最小値 */
+#define TMIN_DTQID		1		/* データキューIDの最小値 */
+#define TMIN_CYCID		1		/* 周期ハンドラIDの最小値 */
+#define TMIN_ALMID		1		/* アラームハンドラIDの最小値 */
 
 /*
- *  DæxÌiKÌè`
+ *  優先度の段階数の定義
  */
 #define TNUM_TPRI		(TMAX_TPRI - TMIN_TPRI + 1)
@@ -132,46 +127,44 @@
 
 /*
- *  wb_t@Cð½È¢W
-[ÌÖEÏÌé¾
+ *  ヘッダファイルを持たないモジュールの関数・変数の宣言
  */
 #ifndef TOPPERS_MACRO_ONLY
 
 /*
- *  eW
-[Ìú»ikernel_cfg.cj
+ *  各モジュールの初期化（kernel_cfg.c）
  */
 extern void	initialize_object(void);
 
 /*
- *  ú»[`ÌÀsikernel_cfg.cj
+ *  初期化ルーチンの実行（kernel_cfg.c）
  */
 extern void	call_inirtn(void);
 
 /*
- *  I¹[`ÌÀsikernel_cfg.cj
+ *  終了処理ルーチンの実行（kernel_cfg.c）
  */
 extern void	call_terrtn(void);
 
 /*
- *  ñ^XNReLXgpÌX^bNÌæikernel_cfg.cj
+ *  非タスクコンテキスト用のスタック領域（kernel_cfg.c）
  */
-extern const SIZE	istksz;		/* X^bNÌæÌTCYiÛß½lj */
-extern STK_T *const	istk;		/* X^bNÌæÌæªÔn */
+extern const SIZE	istksz;		/* スタック領域のサイズ（丸めた値） */
+extern STK_T *const	istk;		/* スタック領域の先頭番地 */
 #ifdef TOPPRES_ISTKPT
-extern STK_T *const	istkpt;		/* X^bN|C^Ìúl */
+extern STK_T *const	istkpt;		/* スタックポインタの初期値 */
 #endif /* TOPPERS_ISTKPT */
 
 /*
- *  J[l®ìóÔtOistartup.cj
+ *  カーネル動作状態フラグ（startup.c）
  */
 extern bool_t	kerflg;
 
 /*
- *  J[lÌN®istartup.cj
+ *  カーネルの起動（startup.c）
  */
 extern void	sta_ker(void);
 
 /*
- *  J[lÌI¹istartup.cj
+ *  カーネルの終了処理（startup.c）
  */
 extern void	exit_kernel(void);
Index: /ssp_qb_r5f100le_cs/trunk/kernel/kernel_int.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/kernel/kernel_int.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/kernel/kernel_int.h	(revision 95)
@@ -11,39 +11,35 @@
  *  Copyright (C) 2011 by Meika Sugimoto
  * 
- *  ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»EüÏE
- *  ÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 
- *      \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[X
- *      R[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Égp
- *      Å«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gipÒ}
- *      j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºLÌ³Û
- *      ØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Égp
- *      Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌì
- *         \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ
- *        ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹Q
- *      ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDÜ½C
- *      {\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©ÈéRÉîÃ
- *      ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
+ *  上記著作権者は，以下の (1)〜(4) の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改変・
+ *  再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作権
+ *      表示，この利用条件および下記の無保証規定が，そのままの形でソース
+ *      コード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使用
+ *      できる形で再配布する場合には，再配布に伴うドキュメント（利用者マ
+ *      ニュアルなど）に，上記の著作権表示，この利用条件および下記の無保
+ *      証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使用
+ *      できない形で再配布する場合には，次のいずれかの条件を満たすこと．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著作
+ *        権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに報
+ *        告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害
+ *      からも，上記著作権者およびTOPPERSプロジェクトを免責すること．また，
+ *      本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ
+ *      く請求からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ
- *  ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉÎ·
- *  éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEFAÌp
- *  Éæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»ÌÓCð
- *  íÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者およ
+ *  びTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的に対す
+ *  る適合性も含めて，いかなる保証も行わない．また，本ソフトウェアの利用
+ *  により直接的または間接的に生じたいかなる損害に関しても，その責任を負
+ *  わない．
  * 
  */
 
 /*
- *		kernel_cfg.ci¨æÑcfg1_out.cjpwb_t@C
+ *		kernel_cfg.c（およびcfg1_out.c）用ヘッダファイル
  */
 
@@ -52,10 +48,10 @@
 
 /*
- *  J[lWwb_t@C
+ *  カーネル標準ヘッダファイル
  */
 #include "kernel_impl.h"
 
 /*
- *  J[lÌewb_t@C
+ *  カーネルの各ヘッダファイル
  */
 #include "task.h"
@@ -64,5 +60,5 @@
 
 /*
- *  g£pbP[WÌwb_t@C
+ *  拡張パッケージのヘッダファイル
  */
 #include "time_event.h"
@@ -73,5 +69,5 @@
 
 /*
- *  l[µ½V{ð³Éß·½ßÌwb_t@C
+ *  リネームしたシンボルを元に戻すためのヘッダファイル
  */
 #include "kernel_unrename.h"
Index: /ssp_qb_r5f100le_cs/trunk/kernel/queue.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/kernel/queue.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/kernel/queue.h	(revision 95)
@@ -5,43 +5,37 @@
  *  Copyright (C) 2011 by Meika Sugimoto
  * 
- *  ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»EüÏE
- *  ÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 
- *      \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[X
- *      R[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Égp
- *      Å«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gipÒ}
- *      j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºLÌ³Û
- *      ØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Égp
- *      Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌì
- *         \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ
- *        ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹Q
- *      ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDÜ½C
- *      {\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©ÈéRÉîÃ
- *      ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
+ *  上記著作権者は，以下の (1)〜(4) の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改変・
+ *  再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作権
+ *      表示，この利用条件および下記の無保証規定が，そのままの形でソース
+ *      コード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使用
+ *      できる形で再配布する場合には，再配布に伴うドキュメント（利用者マ
+ *      ニュアルなど）に，上記の著作権表示，この利用条件および下記の無保
+ *      証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使用
+ *      できない形で再配布する場合には，次のいずれかの条件を満たすこと．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著作
+ *        権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに報
+ *        告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害
+ *      からも，上記著作権者およびTOPPERSプロジェクトを免責すること．また，
+ *      本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ
+ *      く請求からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ
- *  ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉÎ·
- *  éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEFAÌp
- *  Éæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»ÌÓCð
- *  íÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者およ
+ *  びTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的に対す
+ *  る適合性も含めて，いかなる保証も行わない．また，本ソフトウェアの利用
+ *  により直接的または間接的に生じたいかなる損害に関しても，その責任を負
+ *  わない．
  * 
  */
 
 /*
- *  L
-[ìwb_
+ *  キュー操作ヘッダ
  *
- *  SSPJ[lÅÍßñÌ½ßÉCfbNXðgpµ½L
-[ðp¢é
+ *  SSPカーネルではメモリ節約のためにインデックスを使用したキューを用いる
  */
 
@@ -49,10 +43,8 @@
 #define TOPPERS_QUEUE_H
 
-/* L
-[ÌCfbNX */
+/* キューのインデックス */
 typedef uint8_t QUEIDX;
 
-/* L
-[\¢Ì */
+/* キュー構造体 */
 typedef struct
 {
@@ -62,6 +54,5 @@
 
 
-/* L
-[wb_Ìú» */
+/* キューヘッダの初期化 */
 Inline void
 queue_initialize(QUEUE *queue , QUEIDX queue_null)
@@ -70,5 +61,5 @@
 }
 
-/* wèµ½vfÌOÉV½ÈvfðÇÁ */
+/* 指定した要素の前に新たな要素を追加 */
 Inline void
 queue_insert_prev(QUEUE *top , QUEIDX queue , QUEIDX entry)
@@ -81,6 +72,5 @@
 
 
-/* wèµ½L
-[ÌÌvfðíµC»ÌCfbNXðÔ· */
+/* 指定したキューの次の要素を削除し，そのインデックスを返す */
 Inline QUEIDX
 queue_delete_next(QUEUE *top , QUEIDX queue)
@@ -94,9 +84,7 @@
 
 /*
- *  L
-[ªó©Ç¤©ÌeXg
+ *  キューが空かどうかのテスト
  *
- *  queueÉÍL
-[wb_ðwè·é±Æ
+ *  queueにはキューヘッダを指定すること
  */
 Inline bool_t
Index: /ssp_qb_r5f100le_cs/trunk/kernel/ssp_kernel_check.tf
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/kernel/ssp_kernel_check.tf	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/kernel/ssp_kernel_check.tf	(revision 95)
@@ -9,42 +9,38 @@
 $              Nagoya Municipal Industrial Research Institute, JAPAN
 $ 
-$  ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF
-$  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»EüÏE
-$  ÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
-$  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 
-$      \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[X
-$      R[hÉÜÜêÄ¢é±ÆD
-$  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Égp
-$      Å«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gipÒ}
-$      j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºLÌ³Û
-$      ØKèðfÚ·é±ÆD
-$  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Égp
-$      Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD
-$    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌì
-$         \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
-$    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ
-$        ·é±ÆD
-$  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹Q
-$      ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDÜ½C
-$      {\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©ÈéRÉîÃ
-$      ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
+$  上記著作権者は，以下の (1)〜(4) の条件を満たす場合に限り，本ソフトウェ
+$  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改変・
+$  再配布（以下，利用と呼ぶ）することを無償で許諾する．
+$  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作権
+$      表示，この利用条件および下記の無保証規定が，そのままの形でソース
+$      コード中に含まれていること．
+$  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使用
+$      できる形で再配布する場合には，再配布に伴うドキュメント（利用者マ
+$      ニュアルなど）に，上記の著作権表示，この利用条件および下記の無保
+$      証規定を掲載すること．
+$  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使用
+$      できない形で再配布する場合には，次のいずれかの条件を満たすこと．
+$    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著作
+$        権表示，この利用条件および下記の無保証規定を掲載すること．
+$    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに報
+$        告すること．
+$  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害
+$      からも，上記著作権者およびTOPPERSプロジェクトを免責すること．また，
+$      本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ
+$      く請求からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
 $ 
-$  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ
-$  ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉÎ·
-$  éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEFAÌp
-$  Éæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»ÌÓCð
-$  íÈ¢D
+$  本ソフトウェアは，無保証で提供されているものである．上記著作権者およ
+$  びTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的に対す
+$  る適合性も含めて，いかなる保証も行わない．また，本ソフトウェアの利用
+$  により直接的または間接的に生じたいかなる損害に関しても，その責任を負
+$  わない．
 $ 
 $ ======================================================================
 
 $ 
-$  ÖÌæªÔnÌ`FbN
+$  関数の先頭番地のチェック
 $ 
 $IF LENGTH(CHECK_FUNC_ALIGN) || LENGTH(CHECK_FUNC_NONNULL)$
-$	// ^XNÆ^XNáO[`ÌæªÔnÌ`FbN
+$	// タスクとタスク例外処理ルーチンの先頭番地のチェック
 	$tinib = SYMBOL("_kernel_tinib_table")$
 	$FOREACH tskid TSK.ID_LIST$
@@ -72,8 +68,8 @@
 
 $ 
-$  X^bNÌæÌæªÔnÌ`FbN
+$  スタック領域の先頭番地のチェック
 $ 
 $IF LENGTH(CHECK_STACK_ALIGN) || LENGTH(CHECK_STACK_NONNULL)$
-$	// ñ^XNReLXgpÌX^bNÌæÌæªÔnÌ`FbN
+$	// 非タスクコンテキスト用のスタック領域の先頭番地のチェック
 	$istk = PEEK(SYMBOL("_kernel_istk"), sizeof_void_ptr)$
 	$IF LENGTH(CHECK_STACK_ALIGN) && (istk & (CHECK_STACK_ALIGN - 1))$
Index: /ssp_qb_r5f100le_cs/trunk/kernel/startup.c
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/kernel/startup.c	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/kernel/startup.c	(revision 95)
@@ -11,39 +11,35 @@
  *  Copyright (C) 2010-2011 by Meika Sugimoto
  * 
- *  ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»EüÏE
- *  ÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 
- *      \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[X
- *      R[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Égp
- *      Å«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gipÒ}
- *      j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºLÌ³Û
- *      ØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Égp
- *      Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌì
- *         \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ
- *        ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹Q
- *      ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDÜ½C
- *      {\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©ÈéRÉîÃ
- *      ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
+ *  上記著作権者は，以下の (1)〜(4) の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改変・
+ *  再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作権
+ *      表示，この利用条件および下記の無保証規定が，そのままの形でソース
+ *      コード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使用
+ *      できる形で再配布する場合には，再配布に伴うドキュメント（利用者マ
+ *      ニュアルなど）に，上記の著作権表示，この利用条件および下記の無保
+ *      証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使用
+ *      できない形で再配布する場合には，次のいずれかの条件を満たすこと．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著作
+ *        権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに報
+ *        告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害
+ *      からも，上記著作権者およびTOPPERSプロジェクトを免責すること．また，
+ *      本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ
+ *      く請求からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ
- *  ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉÎ·
- *  éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEFAÌp
- *  Éæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»ÌÓCð
- *  íÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者およ
+ *  びTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的に対す
+ *  る適合性も含めて，いかなる保証も行わない．また，本ソフトウェアの利用
+ *  により直接的または間接的に生じたいかなる損害に関しても，その責任を負
+ *  わない．
  * 
  */
 
 /*
- *		J[lÌú»ÆI¹
+ *		カーネルの初期化と終了処理
  */
 
@@ -54,5 +50,5 @@
 
 /*
- *  g[XO}NÌftHgè`
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_KER_ENTER
@@ -76,14 +72,14 @@
 
 /*
- *  J[l®ìóÔtO
+ *  カーネル動作状態フラグ
  *
- *  X^[gAbv[`ÅCfalsei0jÉú»³êé±ÆðúÒµÄ
- *  ¢éD
+ *  スタートアップルーチンで，false（＝0）に初期化されることを期待して
+ *  いる．
  */
 bool_t	kerflg = false;
 
 /*
- *  J[lÌN®
- *    NMIð­SÄÌÝª}XN³ê½óÔ(SÝbNóÔÉ)ÅÄÑo³êéD
+ *  カーネルの起動
+ *    NMIを除く全ての割込みがマスクされた状態(全割込みロック状態に相当)で呼び出される．
  */
 void
@@ -97,9 +93,9 @@
 	
 	/*
-	 *  J[lÌ®ìðJn·éD
+	 *  カーネルの動作を開始する．
 	 */	
 	kerflg = true;
 	
-	/* fBXpb`ðN®µC^XNÌ®ìðJn·é */
+	/* ディスパッチャを起動し，タスクの動作を開始する */
 	LOG_KER_ENTER();
 	start_dispatch();
@@ -112,5 +108,5 @@
 
 /*
- *  J[lÌI¹
+ *  カーネルの終了
  */
 ER
@@ -122,10 +118,10 @@
 	
 	/*
-	 *  ÝbNóÔÉÚs
+	 *  割込みロック状態に移行
 	 */
 	SIL_LOC_INT();
 	
 	/*
-	 *  J[l®ìÌI¹
+	 *  カーネル動作の終了
 	 */
 	LOG_KER_LEAVE();
@@ -133,14 +129,14 @@
 	
 	/*
-	 *  J[lÌI¹ÌÄoµ
+	 *  カーネルの終了処理の呼出し
 	 *
-	 *  ñ^XNReLXgÉØè·¦ÄCexit_kernelðÄÑo·D
+	 *  非タスクコンテキストに切り換えて，exit_kernelを呼び出す．
 	 */
 	call_exit_kernel();
 	
 	/*
-	 *  SIL_UNL_INTðÄÑo·ªC±±ÉB·é±ÆÍÈ¢D
-	 *  Lq·éÌÍSIL_PRE_LOCÅé¾³êéÏª éêÉC
-	 *  RpCªoÍ·éxð}§·é½ßÅ éD
+	 *  SIL_UNL_INTを呼び出すが，ここに到達することはない．
+	 *  記述するのはSIL_PRE_LOCで宣言される変数がある場合に，
+	 *  コンパイラが出力する警告を抑制するためである．
 	 */
 	SIL_UNL_INT();
@@ -152,5 +148,5 @@
 
 /*
- *  J[lÌI¹
+ *  カーネルの終了処理
  */
 void
@@ -158,10 +154,10 @@
 {
 	/*
-	 *  I¹[`ÌÀs
+	 *  終了処理ルーチンの実行
 	 */
 	call_terrtn();
 	
 	/*
-	 *  ^[QbgË¶ÌI¹
+	 *  ターゲット依存の終了処理
 	 */
 	target_exit();
Index: /ssp_qb_r5f100le_cs/trunk/kernel/sys_manage.c
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/kernel/sys_manage.c	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/kernel/sys_manage.c	(revision 95)
@@ -9,41 +9,37 @@
  *  Copyright (C) 2010 by Meika Sugimoto
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  */
 
 /*
- *		VXeóÔÇ@\
+ *		システム状態管理機能
  */
 
@@ -53,5 +49,5 @@
 
 /*
- *  g[XO}NÌftHgè`
+ *  トレースログマクロのデフォルト定義
  */
 
@@ -145,5 +141,5 @@
 
 /*
- *  CPUbNóÔÖÌÚs
+ *  CPUロック状態への移行
  */
 #ifdef TOPPERS_loc_cpu
@@ -170,5 +166,5 @@
 
 /*
- *  CPUbNóÔÖÌÚsiñ^XNReLXgpj
+ *  CPUロック状態への移行（非タスクコンテキスト用）
  */
 #ifdef TOPPERS_iloc_cpu
@@ -195,9 +191,9 @@
 
 /*
- *  CPUbNóÔÌð
+ *  CPUロック状態の解除
  *
- *  CPUbNÍCfBXpb`ªKvÆÈéT[rXR[ðÄÑo·±
- *  ÆÍÅ«È¢½ßCCPUbNóÔÌðÉfBXpb`ðN®·é
- *  KvÍÈ¢D
+ *  CPUロック中は，ディスパッチが必要となるサービスコールを呼び出すこ
+ *  とはできないため，CPUロック状態の解除時にディスパッチャを起動する
+ *  必要はない．
  */
 #ifdef TOPPERS_unl_cpu
@@ -224,9 +220,9 @@
 
 /*
- *  CPUbNóÔÌðiñ^XNReLXgpj
+ *  CPUロック状態の解除（非タスクコンテキスト用）
  *
- *  CPUbNÍCfBXpb`ªKvÆÈéT[rXR[ðÄÑo·±
- *  ÆÍÅ«È¢½ßCCPUbNóÔÌðÉfBXpb`ÌN®ðv
- *  ·éKvÍÈ¢D
+ *  CPUロック中は，ディスパッチが必要となるサービスコールを呼び出すこ
+ *  とはできないため，CPUロック状態の解除時にディスパッチャの起動を要
+ *  求する必要はない．
  */
 #ifdef TOPPERS_iunl_cpu
@@ -253,5 +249,5 @@
 
 /*
- *  fBXpb`ÌÖ~
+ *  ディスパッチの禁止
  */
 #ifdef TOPPERS_dis_dsp
@@ -278,5 +274,5 @@
 
 /*
- *  fBXpb`ÌÂ
+ *  ディスパッチの許可
  */
 #ifdef TOPPERS_ena_dsp
@@ -309,5 +305,5 @@
 
 /*
- *  ReLXgÌQÆ
+ *  コンテキストの参照
  */
 #ifdef TOPPERS_sns_ctx
@@ -328,5 +324,5 @@
 
 /*
- *  CPUbNóÔÌQÆ
+ *  CPUロック状態の参照
  */
 #ifdef TOPPERS_sns_loc
@@ -347,5 +343,5 @@
 
 /*
- *  fBXpb`Ö~óÔÌQÆ
+ *  ディスパッチ禁止状態の参照
  */
 #ifdef TOPPERS_sns_dsp
@@ -366,5 +362,5 @@
 
 /*
- *  fBXpb`Û¯óÔÌQÆ
+ *  ディスパッチ保留状態の参照
  */
 #ifdef TOPPERS_sns_dpn
@@ -386,5 +382,5 @@
 
 /*
- *  J[lñ®ìóÔÌQÆ
+ *  カーネル非動作状態の参照
  */
 #ifdef TOPPERS_sns_ker
Index: /ssp_qb_r5f100le_cs/trunk/kernel/task.c
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/kernel/task.c	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/kernel/task.c	(revision 95)
@@ -11,34 +11,30 @@
  *  Copyright (C) 2010 by Meika Sugimoto
  * 
- *  ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»EüÏE
- *  ÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 
- *      \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[X
- *      R[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Égp
- *      Å«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gipÒ}
- *      j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºLÌ³Û
- *      ØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Égp
- *      Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌì
- *         \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ
- *        ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹Q
- *      ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDÜ½C
- *      {\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©ÈéRÉîÃ
- *      ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
+ *  上記著作権者は，以下の (1)〜(4) の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改変・
+ *  再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作権
+ *      表示，この利用条件および下記の無保証規定が，そのままの形でソース
+ *      コード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使用
+ *      できる形で再配布する場合には，再配布に伴うドキュメント（利用者マ
+ *      ニュアルなど）に，上記の著作権表示，この利用条件および下記の無保
+ *      証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使用
+ *      できない形で再配布する場合には，次のいずれかの条件を満たすこと．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著作
+ *        権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに報
+ *        告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害
+ *      からも，上記著作権者およびTOPPERSプロジェクトを免責すること．また，
+ *      本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ
+ *      く請求からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ
- *  ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉÎ·
- *  éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEFAÌp
- *  Éæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»ÌÓCð
- *  íÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者およ
+ *  びTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的に対す
+ *  る適合性も含めて，いかなる保証も行わない．また，本ソフトウェアの利用
+ *  により直接的または間接的に生じたいかなる損害に関しても，その責任を負
+ *  わない．
  * 
  */
@@ -48,5 +44,5 @@
 
 /*
- *  g[XO}NÌftHgè`
+ *  トレースログマクロのデフォルト定義
  */
 
@@ -60,9 +56,9 @@
 
 
-extern const intptr_t	tinib_exinf[];			/* ^XNÌg£îñ */
-extern const TASK    	tinib_task[];			/* ^XNÌN®Ôn */
-extern const uint_t  	tinib_epriority[];		/* ^XNÌÀsDæxià\»j */
-
-/* àÖÌvg^Cvé¾ */
+extern const intptr_t	tinib_exinf[];			/* タスクの拡張情報 */
+extern const TASK    	tinib_task[];			/* タスクの起動番地 */
+extern const uint_t  	tinib_epriority[];		/* タスクの実行時優先度（内部表現） */
+
+/* 内部関数のプロトタイプ宣言 */
 Inline bool_t primap_empty(void);
 Inline bool_t primap_test(uint_t pri);
@@ -76,37 +72,35 @@
 
 /*
- *  ÀsóÔ^XNÌ»ÝDæx
+ *  実行状態タスクの現在優先度
  */
 uint_t runtsk_curpri;
 
 /*
- *  ÀsóÔ^XNÌN®Dæx
+ *  実行状態タスクの起動時優先度
  */
 uint_t runtsk_ipri;
 
 /*
- *  fBL
-[T[`Ì½ßÌrbg}bv
+ *  レディキューサーチのためのビットマップ
  */
 volatile uint_t	ready_primap;
 
 /*
- *  N®vL
-[COÌrbg}bv
+ *  起動要求キューイングのビットマップ
  */
 uint_t	actque_bitmap;
 
 /*
- *  ^XNfBXpb`N®vtO
+ *  タスクディスパッチ起動要求フラグ
  */
 bool_t	reqflg;
 
 /*
- *  fBXpb`Ö~óÔ
+ *  ディスパッチ禁止状態
  */
 bool_t	disdsp;
 
 /*
- *  read_primapÌúl
+ *  read_primapの初期値
  */
 extern const uint_t init_rdypmap;
@@ -117,5 +111,5 @@
 
 /*
- *  ^XNID©çÌN®Dæxæ¾(^XNReLXgp)
+ *  タスクIDからの起動時優先度取得(タスクコンテキスト用)
  */
 uint_t
@@ -138,5 +132,5 @@
 
 /*
- *  ^XNID©çÌN®Dæxæ¾(ñ^XNReLXgp)
+ *  タスクIDからの起動時優先度取得(非タスクコンテキスト用)
  */
 #ifdef TOPPERS_get_ipri
@@ -151,20 +145,20 @@
 
 /*
- *  rbg}bvT[`Ö
+ *  ビットマップサーチ関数
  *
- *  bitmapàÌ1ÌrbgÌàCÅàºÊiEjÌàÌðT[`µC»Ìrb
- *  gÔðÔ·DrbgÔÍCÅºÊrbgð0Æ·éDbitmapÉ0ðwè
- *  µÄÍÈçÈ¢D±ÌÖÅÍCbitmapª8rbgÅ é±Æð¼èµC
- *  uint8_t^ÆµÄ¢éD
+ *  bitmap内の1のビットの内，最も下位（右）のものをサーチし，そのビッ
+ *  ト番号を返す．ビット番号は，最下位ビットを0とする．bitmapに0を指定
+ *  してはならない．この関数では，bitmapが8ビットであることを仮定し，
+ *  uint8_t型としている．
  *
- *  rbgT[`½ßðÂvZbTÅÍCrbgT[`½ßðg¤æ¤É
- *  «¼µ½ûªø¦ªÇ¢êª éD±Ìæ¤ÈêÉÍC^[Qbg
- *  Ë¶ÅrbgT[`½ßðgÁ½bitmap_searchðè`µC
- *  OMIT_BITMAP_SEARCHð}Nè`·êÎæ¢DÜ½CrbgT[`½ßÌ
- *  T[`ûüªtÈÇÌRÅDæxÆrbgÆÌÎðÏXµ½¢êÉ
- *  ÍCPRIMAP_BITð}Nè`·êÎæ¢D
+ *  ビットサーチ命令を持つプロセッサでは，ビットサーチ命令を使うように
+ *  書き直した方が効率が良い場合がある．このような場合には，ターゲット
+ *  依存部でビットサーチ命令を使ったbitmap_searchを定義し，
+ *  OMIT_BITMAP_SEARCHをマクロ定義すればよい．また，ビットサーチ命令の
+ *  サーチ方向が逆などの理由で優先度とビットとの対応を変更したい場合に
+ *  は，PRIMAP_BITをマクロ定義すればよい．
  *
- *  Ü½CWCuÉffsª éÈçCÌæ¤Éè`µÄWCu
- *  ðgÁ½ûªø¦ªÇ¢Â\«à éD
+ *  また，標準ライブラリにffsがあるなら，次のように定義して標準ライブ
+ *  ラリを使った方が効率が良い可能性もある．
  *		#define	bitmap_search(bitmap) (ffs(bitmap) - 1)
  */
@@ -201,5 +195,5 @@
 
 /*
- *  N®Dæxrbg}bvªó©Ì`FbN
+ *  起動時優先度ビットマップが空かのチェック
  */
 Inline bool_t
@@ -210,5 +204,5 @@
 
 /*
- *  wèµ½N®DæxÌN®Dæxrbg}bvªZbg³êÄ¢é©Ç¤©Ì`FbN
+ *  指定した起動時優先度の起動時優先度ビットマップがセットされているかどうかのチェック
  */
 Inline bool_t
@@ -219,5 +213,5 @@
 
 /*
- *  N®Dæxrbg}bvÌT[`
+ *  起動時優先度ビットマップのサーチ
  */
 Inline uint_t
@@ -228,5 +222,5 @@
 
 /*
- *  N®Dæxrbg}bvÌZbg
+ *  起動時優先度ビットマップのセット
  */
 Inline void
@@ -237,5 +231,5 @@
 
 /*
- *  N®Dæxrbg}bvÌNA
+ *  起動時優先度ビットマップのクリア
  */
 Inline void
@@ -246,5 +240,5 @@
 
 /*
- *  ÅDæÊ^XNÌT[`
+ *  最高優先順位タスクのサーチ
  */
 
@@ -261,5 +255,5 @@
 #ifdef TOPPERS_tskdmt
 /*
- *  wèµ½N®DæxÌ^XNªÀsÅ«éóÔ©Ç¤©ÌeXg
+ *  指定した起動時優先度のタスクが実行できる状態かどうかのテスト
  *
  */
@@ -273,6 +267,5 @@
 
 /*
- *  ^XNÇW
-[Ìú»
+ *  タスク管理モジュールの初期化
  */
 
@@ -283,16 +276,15 @@
 initialize_task(void)
 {
-	/* N®Dæxrbg}bvÌú» */
+	/* 起動時優先度ビットマップの初期化 */
 	ready_primap = init_rdypmap;
 	
-	/* ^XNDæxÌú» */
+	/* タスク優先度の初期化 */
 	runtsk_curpri = TSKPRI_NULL;
 	runtsk_ipri = TSKPRI_NULL;
 	
-	/* N®vL
-[COÌú» */
+	/* 起動要求キューイングの初期化 */
 	actque_bitmap = 0U;
 	
-	/* ÝÖ~tOÌú» */
+	/* 割込み禁止フラグの初期化 */
 	disdsp = false;
 }
@@ -301,5 +293,5 @@
 
 /*
- *  ^XNÌN®
+ *  タスクの起動
  */
 
@@ -314,9 +306,9 @@
 	
 	/* 
-	 *  ÀsóÔ^XNÌ»ÝDæxÆøÅwè³ê½
-	 *  N®ÎÛ^XNÌúDæxðärµCÀsóÔ^XNð
-	 *  ÏX·é©»è·éD
+	 *  実行状態タスクの現在優先度と引数で指定された
+	 *  起動対象タスクの初期優先度を比較し，実行状態タスクを
+	 *  変更するか判定する．
 	 *
-	 *  ½¾µÀsóÔ^XNðÏX·éêÍfBXpb`Ö~óÔàQÆ·éD
+	 *  ただし実行状態タスクを変更する場合はディスパッチ禁止状態も参照する．
 	 */
 	if(ipri < runtsk_curpri) {
@@ -334,5 +326,5 @@
 
 /*
- *  ^XNÌÀs
+ *  タスクの実行
  */
 
@@ -342,10 +334,10 @@
 run_task(uint_t ipri)
 {
-	uint_t next_pri;		/* ÉÀsJn·é^XNÌN®Dæx */
-	uint_t saved_ipri;		/* ÄÑoµ³^XNÌúDæx */
-	uint_t saved_curpri;	/* ÄÑoµ³^XNÌ»ÝDæx */
+	uint_t next_pri;		/* 次に実行開始するタスクの起動時優先度 */
+	uint_t saved_ipri;		/* 呼び出し元タスクの初期優先度 */
+	uint_t saved_curpri;	/* 呼び出し元タスクの現在優先度 */
 	bool_t cont;
 	
-	/* ÅDæÊ^XNðÀs·éOÉC»ÝÀsÌ^XNÌ»ÝDæxÆúDæxðÛ¶·é */
+	/* 最高優先順位タスクを実行する前に，現在実行中のタスクの現在優先度と初期優先度を保存する */
 	next_pri = ipri;
 	saved_ipri = runtsk_ipri;
@@ -353,37 +345,37 @@
 	
 	do {
-		/* Às·é^XNÌ»ÝDæxðÀsDæxÉÝè·é */
+		/* 実行するタスクの現在優先度を実行時優先度に設定する */
 		runtsk_curpri = tinib_epriority[next_pri];
 		runtsk_ipri = next_pri;
 		
-		/* CPUbNð */
+		/* CPUロック解除 */
 		t_unlock_cpu();
 		
-		/* ^XNÀsJn */
+		/* タスク実行開始 */
 		(*((TASK)(tinib_task[next_pri])))(tinib_exinf[next_pri]);
 		
 		if (t_sense_lock()) {
 			/*
-			 *  CPUbNóÔÅext_tskªÄÎê½êÍCCPUbNððµ
-			 *  Ä©ç^XNðI¹·éDÀãÍCT[rXR[àÅÌCPU
-			 *  bNðÈª·êÎæ¢¾¯D
+			 *  CPUロック状態でext_tskが呼ばれた場合は，CPUロックを解除し
+			 *  てからタスクを終了する．実装上は，サービスコール内でのCPU
+			 *  ロックを省略すればよいだけ．
 			 */
 		}
 		else {
 			/*
-			 *  ±Ìt_lock_cpuð±ÌºÌdisdspÌÝèÌæ¤ÉµÈ¢ÌÍC
-			 *  CPUbNÉÄxt_lock_cpuðÄÎÈ¢½ßÅ éD
+			 *  このt_lock_cpuをこの下のdisdspの設定のようにしないのは，
+			 *  CPUロック中に再度t_lock_cpuを呼ばないためである．
 			 */
 			t_lock_cpu();
 		}
 		
-		/* ÝDæx}XNÍSðóÔÌÍ¸ÈÌÅC½àµÈ¢ */
+		/* 割込み優先度マスクは全解除状態のはずなので，何もしない */
 		
 		/*
-		 *  fBXpb`Ö~óÔÅext_tskªÄÎê½êÍCfBXpb
-		 *  `ÂóÔÉµÄ©ç^XNðI¹·éD
+		 *  ディスパッチ禁止状態でext_tskが呼ばれた場合は，ディスパッ
+		 *  チ許可状態にしてからタスクを終了する．
 		 *
-		 *	{ÍÈºÌæ¤ÉLq·×«Å éªC¢¸êÉ¹ædisdspð
-		 *	falseÉ·êÎ¢¢½ßCPÉfalseÉÝè·éD
+		 *	本来は以下のように記述すべきであるが，いずれにせよdisdspを
+		 *	falseにすればいいため，単にfalseに設定する．
 		 *
 		 *		if (disdsp) {
@@ -393,11 +385,10 @@
 		disdsp = false;
 		
-		/* rbg}bvNAD */
+		/* ビットマップクリア． */
 		primap_clear(next_pri);
 		
 		cont = false;
 		
-		/* ^XNN®vL
-[COÌ`FbN */
+		/* タスク起動要求キューイングのチェック */
 		if (actque_test(next_pri)) {
 			actque_clear(next_pri);
@@ -405,8 +396,8 @@
 		}
 		
-		/* ¢¸ê©Ì^XNªÀsÂ\óÔÉÈÁÄ¢é© */
+		/* いずれかのタスクが実行可能状態になっているか */
 		if(!primap_empty())
 		{
-			/* ßèæ^XNÌ»ÝDæxæè¢N®DæxðàÂ^XNªN®³ê½© */
+			/* 戻り先タスクの現在優先度より高い起動時優先度をもつタスクが起動されたか */
 			next_pri = search_schedtsk();
 			if(saved_curpri > next_pri)
@@ -424,5 +415,5 @@
 
 /*
- *  ^XNfBXpb`
+ *  タスクディスパッチャ
  */
 
@@ -434,5 +425,5 @@
 	do {
 		if(!primap_empty()) {
-			/* ^XNÌJn */
+			/* タスクの開始 */
 			run_task(search_schedtsk());
 		}
Index: /ssp_qb_r5f100le_cs/trunk/kernel/task.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/kernel/task.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/kernel/task.h	(revision 95)
@@ -11,34 +11,30 @@
  *  Copyright (C) 2011 by Meika Sugimoto
  * 
- *  ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»EüÏE
- *  ÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 
- *      \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[X
- *      R[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Égp
- *      Å«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gipÒ}
- *      j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºLÌ³Û
- *      ØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Égp
- *      Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌì
- *         \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ
- *        ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹Q
- *      ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDÜ½C
- *      {\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©ÈéRÉîÃ
- *      ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
+ *  上記著作権者は，以下の (1)〜(4) の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改変・
+ *  再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作権
+ *      表示，この利用条件および下記の無保証規定が，そのままの形でソース
+ *      コード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使用
+ *      できる形で再配布する場合には，再配布に伴うドキュメント（利用者マ
+ *      ニュアルなど）に，上記の著作権表示，この利用条件および下記の無保
+ *      証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使用
+ *      できない形で再配布する場合には，次のいずれかの条件を満たすこと．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著作
+ *        権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに報
+ *        告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害
+ *      からも，上記著作権者およびTOPPERSプロジェクトを免責すること．また，
+ *      本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ
+ *      く請求からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ
- *  ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉÎ·
- *  éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEFAÌp
- *  Éæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»ÌÓCð
- *  íÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者およ
+ *  びTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的に対す
+ *  る適合性も含めて，いかなる保証も行わない．また，本ソフトウェアの利用
+ *  により直接的または間接的に生じたいかなる損害に関しても，その責任を負
+ *  わない．
  * 
  */
@@ -51,20 +47,20 @@
 
 /*
- *  ^XNDæxÌà\»EO\»Ï·}N
+ *  タスク優先度の内部表現・外部表現変換マクロ
  */
 #define INT_PRIORITY(x)		((uint_t)((x) - TMIN_TPRI))
 
 /*
- *  ^XNIDÌÅålikernel_cfg.cj
+ *  タスクIDの最大値（kernel_cfg.c）
  */
 extern const ID	tmax_tskid;
 
 /*
- *  ^XNÌ
+ *  タスクの数
  */
 #define tnum_tsk	((uint_t)(tmax_tskid - TMIN_TSKID + 1))
 
 /*
- *  ÀsÂ\óÔÌ^XNªÈ¢ÉÀs^XNÌ»ÝDæxÉÝè·él
+ *  実行可能状態のタスクがない時に実行中タスクの現在優先度に設定する値
  */
 #define TSKPRI_NULL		(UINT_MAX)
@@ -72,111 +68,107 @@
 
 /*
- *  fBL
-[T[`Ì½ßÌrbg}bv
+ *  レディキューサーチのためのビットマップ
  */
 extern volatile uint_t	ready_primap;
 
 /*
- *  N®vL
-[COÌrbg}bv
+ *  起動要求キューイングのビットマップ
  */
 extern uint_t	actque_bitmap;
 
 /*
- *  fBXpb`^^XNáO[`N®vtO
- *
- *  Ýnh^CPUáOnhÌoûÉCfBXpb`Ü½Í
- *  ^XNáO[`ÌN®ðv·é±Æð¦·tOD
+ *  ディスパッチ／タスク例外処理ルーチン起動要求フラグ
+ *
+ *  割込みハンドラ／CPU例外ハンドラの出口処理に，ディスパッチまたは
+ *  タスク例外処理ルーチンの起動を要求することを示すフラグ．
  */
 extern bool_t	reqflg;
 
 /*
- *  fBXpb`Ö~óÔ
- *
- *  fBXpb`Ö~óÔÅ é±Æð¦·tOD
+ *  ディスパッチ禁止状態
+ *
+ *  ディスパッチ禁止状態であることを示すフラグ．
  */
 extern bool_t	disdsp;
 
 /*
- *  ÀsóÔ^XNÌ»ÝDæx
- *
- *  ÀsÌ^XNÉÀsDæxªÝè³êÄ¢êÎÀsDæxªC
- *  Ýè³êÄ¢È¯êÎN®DæxªÝè³êéD
+ *  実行状態タスクの現在優先度
+ *
+ *  実行中のタスクに実行時優先度が設定されていれば実行時優先度が，
+ *  設定されていなければ起動時優先度が設定される．
  */
 extern uint_t runtsk_curpri;
 
 /*
- *  ÀsóÔ^XNÌN®Dæx
+ *  実行状態タスクの起動時優先度
  */
 extern uint_t runtsk_ipri;
 
 /*
- *  ^XNÇW
-[Ìú»
- *
- *  SÄÌ^XNðú»·éDe^XNÍ^XN®«ÉTA_ACTªÝè³êÄ¢êÎ
- *  ÀsÂ\óÔC»¤ÅÈ¢êÍx~óÔÆÈéD
+ *  タスク管理モジュールの初期化
+ *
+ *  全てのタスクを初期化する．各タスクはタスク属性にTA_ACTが設定されていれば
+ *  実行可能状態，そうでない場合は休止状態となる．
  *  
- *  Ü½AfBXpb`ÂtOðfBXpb`ÂóÔÉÝè·éD
+ *  また、ディスパッチ許可フラグをディスパッチ許可状態に設定する．
  *  
- *  {ÖÍRtBM
-[^ª¶¬·éobject_initializeÈOÅÄñÅÍÈçÈ¢D
+ *  本関数はコンフィギュレータが生成するobject_initialize以外で呼んではならない．
  */
 extern void initialize_task(void);
 
 /*
- *  ^XNÌN®
- *
- *  ipriÅwèµ½N®DæxðÂ^XNðÀsÂ\óÔÉJÚ³¹éD
- *  {ÖðÀs·é±ÆÉæèvGvgª­¶·éêÍtrueðC
- *  »¤ÅÈ¢êÍfalseðÔ·D
- *
- *  {ÖÍCPUbNóÔCSÝbNðóÔCÝDæx}XNSðóÔÅ
- *  ÄÑo·±ÆD
+ *  タスクの起動
+ *
+ *  ipriで指定した起動時優先度を持つタスクを実行可能状態に遷移させる．
+ *  本関数を実行することによりプリエンプトが発生する場合はtrueを，
+ *  そうでない場合はfalseを返す．
+ *
+ *  本関数はCPUロック状態，全割込みロック解除状態，割込み優先度マスク全解除状態で
+ *  呼び出すこと．
  */
 extern bool_t make_active(uint_t ipri);
 
 /*
- *  wèµ½N®DæxÌ^XNªx~óÔ©Ç¤©ÌeXg
- *
- *  ipriÅwèµ½N®DæxðÂ^XNªx~óÔÅ êÎ
- *  trueð»êÈOiÀsÂ\óÔCÀsÂ\óÔjÅ êÎfalseðÔ·D
- *
- *  {ÖÍCPUbNóÔCSÝbNðóÔCÝDæx}XNSðóÔÅ
- *  ÄÑo·±ÆD
+ *  指定した起動時優先度のタスクが休止状態かどうかのテスト
+ *
+ *  ipriで指定した起動時優先度を持つタスクが休止状態であれば
+ *  trueをそれ以外（実行可能状態，実行可能状態）であればfalseを返す．
+ *
+ *  本関数はCPUロック状態，全割込みロック解除状態，割込み優先度マスク全解除状態で
+ *  呼び出すこと．
  */
 extern bool_t test_dormant(uint_t ipri);
 
 /*
- *  ÅDæÊ^XNÌT[`
- *
- *  ÀsÂ\óÔÌ^XNÌ©çÅàDæÊª¢^XNÌúDæxð
- *  Ô·D
- *
- *  {ÖÍCPUbNóÔCSÝbNðóÔCÝDæx}XNSðóÔÅ
- *  ÄÑo·±ÆD
+ *  最高優先順位タスクのサーチ
+ *
+ *  実行可能状態のタスクの中から最も優先順位が高いタスクの初期優先度を
+ *  返す．
+ *
+ *  本関数はCPUロック状態，全割込みロック解除状態，割込み優先度マスク全解除状態で
+ *  呼び出すこと．
  */
 extern uint_t search_schedtsk(void);
 
 /*
- *  ^XNÌÀs
- *
- *  ipriÅwèµ½N®DæxðÂ^XNðÀs·éD
- *  {Ö©çÀsµ½^XN©çT[rXR[ðoRµÄ
- *  ÄAIÉÄÎêé±Æà éD
- *
- *  {ÖÍCPUbNóÔCSÝbNðóÔCÝDæx}XNSðóÔÅ
- *  ÄÑo·±ÆD
+ *  タスクの実行
+ *
+ *  ipriで指定した起動時優先度を持つタスクを実行する．
+ *  本関数から実行したタスクからサービスコールを経由して
+ *  再帰的に呼ばれることもある．
+ *
+ *  本関数はCPUロック状態，全割込みロック解除状態，割込み優先度マスク全解除状態で
+ *  呼び出すこと．
  */
 extern void run_task(uint_t ipri);
 
 /*
- *  ^XNfBXpb`
- *
- *  J[lú»®¹ãÉÄÑo³êCÅDæÊÆÈÁ½^XNðÀs·éD
- *
- *  {ÖÍCPUbNóÔCSÝbNðóÔCÝDæx}XNSðóÔÅ
- *  ÄÑo·±ÆD
- *  È¨C{Ö©çÍ^[µÈ¢D
+ *  タスクディスパッチャ
+ *
+ *  カーネル初期化完了後に呼び出され，最高優先順位となったタスクを実行する．
+ *
+ *  本関数はCPUロック状態，全割込みロック解除状態，割込み優先度マスク全解除状態で
+ *  呼び出すこと．
+ *  なお，本関数からはリターンしない．
  *  
  */
@@ -184,27 +176,25 @@
 
 /*
- *  ^XNÌN®Dæxæ¾(^XNReLXgp)
- *
- *  tskidÅwèµ½^XNÌN®Dæxðæ¾·éD
- *  tskidÍTMIN_TSKIDÈãCtmax_tskidÈºÌlCàµ­ÍTSK_SELFÅ
- *  wèµÈ¯êÎÈçÈ¢D
+ *  タスクの起動時優先度取得(タスクコンテキスト用)
+ *
+ *  tskidで指定したタスクの起動時優先度を取得する．
+ *  tskidはTMIN_TSKID以上，tmax_tskid以下の値，もしくはTSK_SELFで
+ *  指定しなければならない．
  */
 extern uint_t get_ipri_self(ID tskid);
 
 /*
- *  ^XNÌN®Dæxæ¾(ñ^XNReLXgp)
- *
- *  tskidÅwèµ½^XNÌN®Dæxðæ¾·éD
- *  tskidÍTMIN_TSKIDÈãCtmax_tskidÈºÌlÅwèµÈ¯êÎÈçÈ¢D
+ *  タスクの起動時優先度取得(非タスクコンテキスト用)
+ *
+ *  tskidで指定したタスクの起動時優先度を取得する．
+ *  tskidはTMIN_TSKID以上，tmax_tskid以下の値で指定しなければならない．
  */
 extern uint_t get_ipri(ID tskid);
 
 
-/* N®vL
-[COrbg}bvÌì */
+/* 起動要求キューイングビットマップの操作 */
 #define ACTQUE_BIT(ipri)			(1U << (ipri))
 
-/* N®vL
-[COÌZbg */
+/* 起動要求キューイングのセット */
 Inline
 void actque_set(uint_t ipri)
@@ -213,6 +203,5 @@
 }
 
-/* N®vL
-[COÌNA */
+/* 起動要求キューイングのクリア */
 Inline
 void actque_clear(uint_t ipri)
@@ -221,6 +210,5 @@
 }
 
-/* N®vL
-[COÌ`FbN */
+/* 起動要求キューイング数のチェック */
 Inline
 bool_t actque_test(uint_t ipri)
Index: /ssp_qb_r5f100le_cs/trunk/kernel/task_manage.c
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/kernel/task_manage.c	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/kernel/task_manage.c	(revision 95)
@@ -11,39 +11,35 @@
  *  Copyright (C) 2011 by Meika Sugimoto
  * 
- *  ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»EüÏE
- *  ÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 
- *      \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[X
- *      R[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Égp
- *      Å«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gipÒ}
- *      j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºLÌ³Û
- *      ØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Égp
- *      Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌì
- *         \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ
- *        ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹Q
- *      ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDÜ½C
- *      {\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©ÈéRÉîÃ
- *      ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
+ *  上記著作権者は，以下の (1)〜(4) の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改変・
+ *  再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作権
+ *      表示，この利用条件および下記の無保証規定が，そのままの形でソース
+ *      コード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使用
+ *      できる形で再配布する場合には，再配布に伴うドキュメント（利用者マ
+ *      ニュアルなど）に，上記の著作権表示，この利用条件および下記の無保
+ *      証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使用
+ *      できない形で再配布する場合には，次のいずれかの条件を満たすこと．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著作
+ *        権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに報
+ *        告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害
+ *      からも，上記著作権者およびTOPPERSプロジェクトを免責すること．また，
+ *      本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ
+ *      く請求からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ
- *  ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉÎ·
- *  éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEFAÌp
- *  Éæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»ÌÓCð
- *  íÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者およ
+ *  びTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的に対す
+ *  る適合性も含めて，いかなる保証も行わない．また，本ソフトウェアの利用
+ *  により直接的または間接的に生じたいかなる損害に関しても，その責任を負
+ *  わない．
  * 
  */
 
 /*
- *		^XNÇ@\
+ *		タスク管理機能
  */
 
@@ -53,5 +49,5 @@
 
 /*
- *  g[XO}NÌftHgè`
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_ACT_TSK_ENTER
@@ -73,5 +69,5 @@
 
 /*
- *  ^XNÌN®
+ *  タスクの起動
  */
 #ifdef TOPPERS_act_tsk
@@ -113,5 +109,5 @@
 
 /*
- *  ^XNÌN®iñ^XNReLXgpj
+ *  タスクの起動（非タスクコンテキスト用）
  */
 
Index: /ssp_qb_r5f100le_cs/trunk/sample/Makefile
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/sample/Makefile	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/sample/Makefile	(revision 95)
@@ -10,51 +10,47 @@
 #  Copyright (C) 2010 by Meika Sugimoto
 # 
-#  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
-#  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
-#  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
-#  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
-#       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
-#      XR[hÉÜÜêÄ¢é±ÆD
-#  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
-#      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
-#      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
-#      Ì³ÛØKèðfÚ·é±ÆD
-#  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
-#      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
-#      ÆD
-#    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
-#        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
-#    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
-#        ñ·é±ÆD
-#  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
-#      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
-#      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
-#      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
-#      ÆÓ·é±ÆD
+#  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+#  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+#  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+#  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+#      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+#      スコード中に含まれていること．
+#  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+#      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+#      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+#      の無保証規定を掲載すること．
+#  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+#      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+#      と．
+#    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+#        作権表示，この利用条件および下記の無保証規定を掲載すること．
+#    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+#        報告すること．
+#  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+#      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+#      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+#      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+#      免責すること．
 # 
-#  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
-#  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
-#  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
-#  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
-#  ÌÓCðíÈ¢D
+#  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+#  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+#  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+#  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+#  の責任を負わない．
 # 
 # 
 
 #
-#  ^[QbgÌwèiMakefile.targetÅã«³êéÌðh®½ßj
+#  ターゲットの指定（Makefile.targetで上書きされるのを防ぐため）
 #
 all:
 
 #
-#  ^[QbgªÌÌè`
+#  ターゲット略称の定義
 #
 TARGET = @(TARGET)
 
 #
-#  vO~O¾êÌè`
+#  プログラミング言語の定義
 #
 SRCLANG = @(SRCLANG)
@@ -66,36 +62,36 @@
 
 #
-#  \[Xt@CÌfBNgÌè`
+#  ソースファイルのディレクトリの定義
 #
 SRCDIR = @(SRCDIR)
 
 #
-#  IuWFNgt@C¼Ìg£qÌÝè
+#  オブジェクトファイル名の拡張子の設定
 #
 OBJEXT = @(OBJEXT)
 
 #
-#  ÀsÂ«Ìè`i^[QbgË¶Éã«³êéêª éj
+#  実行環境の定義（ターゲット依存に上書きされる場合がある）
 #
 DBGENV := @(DBGENV)
 
 #
-#  J[lCuilibkernel.ajÌfBNg¼
-#  iJ[lCuàmakeÎÛÉ·éÍCóÉè`·éj
+#  カーネルライブラリ（libkernel.a）のディレクトリ名
+#  （カーネルライブラリもmake対象にする時は，空に定義する）
 #
 KERNEL_LIB = @(KERNEL_LIB)
 
 #
-#  J[lðÖPÊÅRpC·é©Ç¤©Ìè`
+#  カーネルを関数単位でコンパイルするかどうかの定義
 #
 KERNEL_FUNCOBJS = @(KERNEL_FUNCOBJS)
 
 #
-#  g[XOðæ¾·é©Ç¤©Ìè`
+#  トレースログを取得するかどうかの定義
 #
 ENABLE_TRACE = @(ENABLE_TRACE)
 
 #
-#  [eBeBvOÌ¼Ì
+#  ユーティリティプログラムの名称
 #
 PERL = @(PERL)
@@ -103,5 +99,5 @@
 
 #
-#  IuWFNgt@C¼Ìè`
+#  オブジェクトファイル名の定義
 #
 OBJNAME = ssp
@@ -115,21 +111,20 @@
 
 #
-#  ^[QbgË¶ÌfBNgÌè`
+#  ターゲット依存部のディレクトリの定義
 #
 TARGETDIR = $(SRCDIR)/target/$(TARGET)
 
 #
-#  ^[QbgË¶Ìè`ÌCN[h
+#  ターゲット依存の定義のインクルード
 #
 include $(TARGETDIR)/Makefile.target
 
 #
-#  J[l\¬è`ÌCN[h
+#  カーネル構成定義のインクルード
 #
 -include Makefile.config
 
 #
-#  RtBM
-[^ÖWÌÏÌè`
+#  コンフィギュレータ関係の変数の定義
 #
 CFG_TABS := --api-table $(SRCDIR)/kernel/ssp_kernel_api.csv \
@@ -140,5 +135,5 @@
 
 #
-#  ¤ÊRpCIvVÌè`
+#  共通コンパイルオプションの定義
 #
 COPTS := $(COPTS) -g
@@ -156,5 +151,5 @@
 
 #
-#  AvP[VvOÉÖ·éè`
+#  アプリケーションプログラムに関する定義
 #
 APPLNAME = @(APPLNAME)
@@ -177,5 +172,5 @@
 
 #
-#  VXeT[rXÉÖ·éè`
+#  システムサービスに関する定義
 #
 SYSSVC_DIR := $(SYSSVC_DIR) $(SRCDIR)/syssvc $(SRCDIR)/library
@@ -187,5 +182,5 @@
 
 #
-#  g£pbP[WÉÖ·éè`
+#  拡張パッケージに関する定義
 #
 
@@ -194,18 +189,17 @@
 
 #
-#  J[lÉÖ·éè`
-#
-#  KERNEL_ASMOBJS: J[lCuÉÜßéC\[XªAZu¾êÌ
-#				   IuWFNgt@CD
-#  KERNEL_COBJS: J[lÌCuÉÜßéC\[XªC¾êÅC\[X
-#				 t@CÆ1Î1ÉÎ·éIuWFNgt@CD
-#  KERNEL_LCSRCS: J[lÌCuÉÜßéC¾êÌ\[Xt@CÅC
-#				  1ÂÌ\[Xt@C©ç¡ÌIuWFNgt@Cð¶
-#				  ¬·éàÌD
-#  KERNEL_LCOBJS: ãÌ\[Xt@C©ç¶¬³êéIuWFNgt@CD
-#  KERNEL_AUX_COBJS: [hW
-[ÉÜßÈ¢ªCJ[lÌ\[Xt@
-#					 CÆ¯¶IvVðKpµÄRpC·×«C\[
-#					 XªC¾êÌIuWFNgt@CD
+#  カーネルに関する定義
+#
+#  KERNEL_ASMOBJS: カーネルライブラリに含める，ソースがアセンブリ言語の
+#				   オブジェクトファイル．
+#  KERNEL_COBJS: カーネルのライブラリに含める，ソースがC言語で，ソース
+#				 ファイルと1対1に対応するオブジェクトファイル．
+#  KERNEL_LCSRCS: カーネルのライブラリに含めるC言語のソースファイルで，
+#				  1つのソースファイルから複数のオブジェクトファイルを生
+#				  成するもの．
+#  KERNEL_LCOBJS: 上のソースファイルから生成されるオブジェクトファイル．
+#  KERNEL_AUX_COBJS: ロードモジュールに含めないが，カーネルのソースファ
+#					 イルと同じオプションを適用してコンパイルすべき，ソー
+#					 スがC言語のオブジェクトファイル．
 #
 KERNEL_DIR := $(KERNEL_DIR) $(SRCDIR)/kernel
@@ -215,5 +209,5 @@
 
 #
-#  ^[Qbgt@Ci¡ð¯ÉIðµÄÍÈçÈ¢j
+#  ターゲットファイル（複数を同時に選択してはならない）
 #
 all: $(OBJFILE)
@@ -221,8 +215,8 @@
 #all: $(OBJNAME).srec
 
-##### ÈºÍÒWµÈ¢±Æ #####
-
-#
-#  Â«ÉË¶·éRpCIvVÌè`
+##### 以下は編集しないこと #####
+
+#
+#  環境に依存するコンパイルオプションの定義
 #
 ifdef DBGENV
@@ -230,5 +224,5 @@
 endif
 #
-#  J[lCuÉÖA·éè`
+#  カーネルライブラリに関連する定義
 #
 ifdef KERNEL_LIB
@@ -239,5 +233,5 @@
 
 #
-#  J[lÌt@C\¬Ìè`
+#  カーネルのファイル構成の定義
 #
 include $(SRCDIR)/kernel/Makefile.kernel
@@ -253,5 +247,5 @@
 
 #
-#  \[Xt@CÌ éfBNgÉÖ·éè`
+#  ソースファイルのあるディレクトリに関する定義
 #
 vpath %.c $(KERNEL_DIR) $(SYSSVC_DIR) $(APPL_DIR) $(EXTPKG_DIR)
@@ -259,5 +253,5 @@
 
 #
-#  RpCÌ½ßÌÏÌè`
+#  コンパイルのための変数の定義
 #
 KERNEL_LIB_OBJS = $(KERNEL_ASMOBJS) $(KERNEL_COBJS) $(KERNEL_LCOBJS)
@@ -280,6 +274,5 @@
 
 #
-#  J[lÌRtBM
-[Vt@CÌ¶¬
+#  カーネルのコンフィギュレーションファイルの生成
 #
 cfg1_out.c:
@@ -297,5 +290,5 @@
 
 #
-#  J[lCut@CÌ¶¬
+#  カーネルライブラリファイルの生成
 #
 libkernel.a: $(KERNEL_LIB_OBJS)
@@ -305,5 +298,5 @@
 
 #
-#  ÁÊÈË¶ÖWÌè`
+#  特別な依存関係の定義
 #
 banner.o: kernel_cfg.timestamp $(filter-out banner.o,$(ALL_OBJS)) \
@@ -311,5 +304,5 @@
 
 #
-#  SÌÌN
+#  全体のリンク
 #
 $(OBJFILE): kernel_cfg.timestamp $(ALL_OBJS) $(filter %.a,$(ALL_LIBS))
@@ -323,5 +316,5 @@
 
 #
-#  oCit@CÌ¶¬
+#  バイナリファイルの生成
 #
 $(OBJNAME).bin: $(OBJFILE)
@@ -329,5 +322,5 @@
 
 #
-#  SR[ht@CÌ¶¬
+#  Sレコードファイルの生成
 #
 $(OBJNAME).srec: $(OBJFILE)
@@ -335,5 +328,5 @@
 
 #
-#  RpCÊÌÁ
+#  コンパイル結果の消去
 #
 .PHONY: clean
@@ -370,8 +363,8 @@
 
 #
-#  kernel_cfg.cÆcfg1_out.cÌRpC[ÆË¶ÖWì¬[Ìè`
-#
-#  kernel_cfg.cÆcfg1_out.cÍCAvP[VvOpCVXeT[
-#  rXpCJ[lpÌ·×ÄÌIvVðt¯ÄRpC·éD
+#  kernel_cfg.cとcfg1_out.cのコンパイルルールと依存関係作成ルールの定義
+#
+#  kernel_cfg.cとcfg1_out.cは，アプリケーションプログラム用，システムサー
+#  ビス用，カーネル用のすべてのオプションを付けてコンパイルする．
 #
 KERNEL_CFG_CFLAGS = $(APPL_CFLAGS) $(SYSSVC_CFLAGS) $(KERNEL_CFLAGS)
@@ -388,5 +381,5 @@
 
 #
-#  ÁêÈË¶ÖWì¬[Ìè`
+#  特殊な依存関係作成ルールの定義
 #
 cfg1_out.depend:
@@ -398,5 +391,5 @@
 
 #
-#  Ë¶ÖWt@CÌ¶¬
+#  依存関係ファイルの生成
 #
 .PHONY: gendepend
@@ -417,14 +410,14 @@
 
 #
-#  Ë¶ÖWt@CðCN[h
+#  依存関係ファイルをインクルード
 #
 -include Makefile.depend
 
 #
-#  J­c[ÌR}h¼Ìè`
+#  開発ツールのコマンド名の定義
 #
 ifeq ($(TOOL),gcc)
   #
-  #  GNUJ­Â«p
+  #  GNU開発環境用
   #
   ifdef GCC_TARGET
@@ -451,5 +444,5 @@
 
 #
-#  RpC[Ìè`
+#  コンパイルルールの定義
 #
 KERNEL_ALL_COBJS = $(KERNEL_COBJS) $(KERNEL_AUX_COBJS)
@@ -495,5 +488,5 @@
 
 #
-#  Ë¶ÖWì¬[Ìè`
+#  依存関係作成ルールの定義
 #
 $(KERNEL_COBJS:.o=.d): %.d: %.c
@@ -530,5 +523,5 @@
 
 #
-#  ftHgRpC[ðã«
+#  デフォルトコンパイルルールを上書き
 #
 %.o: %.c
Index: /ssp_qb_r5f100le_cs/trunk/sample/hello_world.c
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/sample/hello_world.c	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/sample/hello_world.c	(revision 95)
@@ -10,41 +10,37 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  */
  
  /*
- *  TOPPERS/SSPÌHello WorldvOD
+ *  TOPPERS/SSPのHello Worldプログラム．
  */
 
@@ -56,5 +52,5 @@
 
 /*
- *  OoÍ
+ *  ログ出力
  */
 #define LOGPUT(str)	\
@@ -62,16 +58,16 @@
 
 /*
- *  \¦·ébZ[W
+ *  表示するメッセージ
  */
 #define MSGHELLO ("Hello World.!\n")
 
 void task(intptr_t exinf) {
-	/* VA|[gÌI[v */
+	/* シリアルポートのオープン */
 	serial_opn_por(TASK_PORTID);
 	
-	/* bZ[WÌ\¦ */
+	/* メッセージの表示 */
 	(void)LOGPUT(MSGHELLO);
 	
-	/* J[lÌI¹ */
+	/* カーネルの終了 */
 	(void)ext_ker();
 }
Index: /ssp_qb_r5f100le_cs/trunk/sample/hello_world.cfg
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/sample/hello_world.cfg	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/sample/hello_world.cfg	(revision 95)
@@ -1,4 +1,4 @@
 /*
- *  TOPPESRS/SSPJ[lÌTvvO
+ *  TOPPESRS/SSPカーネルのサンプルプログラム
  */
 
Index: /ssp_qb_r5f100le_cs/trunk/sample/hello_world.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/sample/hello_world.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/sample/hello_world.h	(revision 95)
@@ -5,34 +5,30 @@
  *  Copyright (C) 2010 by Meika Sugimoto
  * 
- *  ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»EüÏE
- *  ÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 
- *      \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[X
- *      R[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Égp
- *      Å«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gipÒ}
- *      j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºLÌ³Û
- *      ØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Égp
- *      Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌì
- *         \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ
- *        ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹Q
- *      ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDÜ½C
- *      {\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©ÈéRÉîÃ
- *      ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
+ *  上記著作権者は，以下の (1)〜(4) の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改変・
+ *  再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作権
+ *      表示，この利用条件および下記の無保証規定が，そのままの形でソース
+ *      コード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使用
+ *      できる形で再配布する場合には，再配布に伴うドキュメント（利用者マ
+ *      ニュアルなど）に，上記の著作権表示，この利用条件および下記の無保
+ *      証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使用
+ *      できない形で再配布する場合には，次のいずれかの条件を満たすこと．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著作
+ *        権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに報
+ *        告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害
+ *      からも，上記著作権者およびTOPPERSプロジェクトを免責すること．また，
+ *      本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ
+ *      く請求からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ
- *  ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉÎ·
- *  éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEFAÌp
- *  Éæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»ÌÓCð
- *  íÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者およ
+ *  びTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的に対す
+ *  る適合性も含めて，いかなる保証も行わない．また，本ソフトウェアの利用
+ *  により直接的または間接的に生じたいかなる損害に関しても，その責任を負
+ *  わない．
  * 
  */
@@ -42,5 +38,5 @@
 
 /*
- *  ^[QbgË¶Ìè`
+ *  ターゲット依存の定義
  */
 #include "target_test.h"
Index: /ssp_qb_r5f100le_cs/trunk/sample/sample1.c
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/sample/sample1.c	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/sample/sample1.c	(revision 95)
@@ -10,89 +10,83 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  */
  
 /* 
- *  TOPPERS/SSPÌTvvO
- *
- *  SSPJ[lÌî{IÈ®ìðmF·é½ßÌTvvOD
- *
- *  vOÌTv:
- *
- *  [UC^tF[Xðó¯ÂC^XNÆC3ÂÌÀsÀs³êé
- *  ^XNÆÅ\¬³êéD^XNID¨æÑDæxÝèÍÈºÌÊèD
- *     (^XNID)   (N®Dæx)    (ÀsDæx)
- *      MAIN_TASK    MAIN_PRIORITY     (¶É¯¶)
- *      TASK1        TASK1_PRIORITY    (¶É¯¶)
- *      TASK2        TASK2_PRIORITY    (¶É¯¶)
+ *  TOPPERS/SSPのサンプルプログラム
+ *
+ *  SSPカーネルの基本的な動作を確認するためのサンプルプログラム．
+ *
+ *  プログラムの概要:
+ *
+ *  ユーザインタフェースを受け持つメインタスクと，3つの並行実行される
+ *  タスクとで構成される．タスクIDおよび優先度設定は以下の通り．
+ *     (タスクID)   (起動時優先度)    (実行時優先度)
+ *      MAIN_TASK    MAIN_PRIORITY     (左に同じ)
+ *      TASK1        TASK1_PRIORITY    (左に同じ)
+ *      TASK2        TASK2_PRIORITY    (左に同じ)
  *      TASK3        TASK3_PRIORITY    TASK3_EXEPRIORITY
  *
- *  Ü½CN®üúª2bÌüúnhiüúnhID: CYC1j¨æÑ
- *  C^XNN®pÌüúnh(üúnhID: MAIN_CYC)ðp¢éD
- *
- *  ÀsÀs³êé^XNÍCtask_loopñó[vðÀs·éxÉC^XNª
- *  ÀsÅ é±Æð çí·bZ[Wð\¦·éDó[vðÀs·é
- *  ÌÍCó[vÈµÅbZ[WðoÍ·éÆC½ÊÌbZ[WªoÍ
- *  ³êCvOÌ®ìªmFµ¸ç­Èé½ßÅ éDÜ½Cá¬ÈV
- *  A|[gðp¢ÄbZ[WðoÍ·éêÉC·×ÄÌbZ[W
- *  ªoÍÅ«éæ¤ÉCbZ[WÌÊð§À·éÆ¢¤Rà éD
- *
- *  üúnh(CYC1)ÍCN®µ½±Æð¦·bZ[Wð\¦·éD
- *  vOÌN®¼ãÍCüúnh(CYC1)Íâ~óÔÉÈÁÄ¢éD
- *
- *  C^XNÍCüúnh(MAIN_CYC)©ç100~b²ÆÉN®³êC
- *  VAI/O|[g©çÌ¶üÍðs¢CüÍ³ê½
- *  ¶ÉÎµ½ðÀs·éDüÍ³ê½¶ÆÌÖWÍÌÊèD
- *  'Q'ªüÍ³êéÆCvOðI¹·éD
- *
- *  '1' : ÎÛ^XNðTASK1ÉØè·¦éiúÝèjD
- *  '2' : ÎÛ^XNðTASK2ÉØè·¦éD
- *  '3' : ÎÛ^XNðTASK3ÉØè·¦éD
- *  'a' : ÎÛ^XNðact_tskÉæèN®·éD
- *  'e' : ÎÛ^XNðÖÌ^[ÉæèI¹³¹éD
- *  'c' : üúnhð®ìJn³¹éD
- *  'C' : üúnhð®ìâ~³¹éD
- *  'b' : A[nhð5bãÉN®·éæ¤®ìJn³¹éD
- *  'B' : A[nhð®ìâ~³¹éD
- *  'z' : ÎÛ^XNÉCPUáOð­¶³¹éi^XNðI¹³¹éjD
- *  's' : CxgtO(ID:FLG1)ÉY^XNÉÖA·érbgðZbg·éD
- *  'l' : ·×ÄÌ^XNÖA·éCxgtO(ID:FLG1)ÌrbgðNA·éD
- *  'p' : |[OÅCxgtO(FLG1)ðÒÂD
- *  'd' : |[OÅf[^L
-[(ID:DTQ1)Öf[^ðM·éD
- *  'r' : |[OÅf[^L
-[(ID:DTQ1)©çf[^ðóM·éD
+ *  また，起動周期が2秒の周期ハンドラ（周期ハンドラID: CYC1）および
+ *  メインタスク起動用の周期ハンドラ(周期ハンドラID: MAIN_CYC)を用いる．
+ *
+ *  並行実行されるタスクは，task_loop回空ループを実行する度に，タスクが
+ *  実行中であることをあらわすメッセージを表示する．空ループを実行する
+ *  のは，空ループなしでメッセージを出力すると，多量のメッセージが出力
+ *  され，プログラムの動作が確認しずらくなるためである．また，低速なシ
+ *  リアルポートを用いてメッセージを出力する場合に，すべてのメッセージ
+ *  が出力できるように，メッセージの量を制限するという理由もある．
+ *
+ *  周期ハンドラ(CYC1)は，起動したことを示すメッセージを表示する．
+ *  プログラムの起動直後は，周期ハンドラ(CYC1)は停止状態になっている．
+ *
+ *  メインタスクは，周期ハンドラ(MAIN_CYC)から100ミリ秒ごとに起動され，
+ *  シリアルI/Oポートからの文字入力を行い，入力された
+ *  文字に対応した処理を実行する．入力された文字と処理の関係は次の通り．
+ *  'Q'が入力されると，プログラムを終了する．
+ *
+ *  '1' : 対象タスクをTASK1に切り換える（初期設定）．
+ *  '2' : 対象タスクをTASK2に切り換える．
+ *  '3' : 対象タスクをTASK3に切り換える．
+ *  'a' : 対象タスクをact_tskにより起動する．
+ *  'e' : 対象タスクを関数のリターンにより終了させる．
+ *  'c' : 周期ハンドラを動作開始させる．
+ *  'C' : 周期ハンドラを動作停止させる．
+ *  'b' : アラームハンドラを5秒後に起動するよう動作開始させる．
+ *  'B' : アラームハンドラを動作停止させる．
+ *  'z' : 対象タスクにCPU例外を発生させる（タスクを終了させる）．
+ *  's' : イベントフラグ(ID:FLG1)に当該タスクに関連するビットをセットする．
+ *  'l' : すべてのタスク関連するイベントフラグ(ID:FLG1)のビットをクリアする．
+ *  'p' : ポーリングでイベントフラグ(FLG1)を待つ．
+ *  'd' : ポーリングでデータキュー(ID:DTQ1)へデータを送信する．
+ *  'r' : ポーリングでデータキュー(ID:DTQ1)からデータを受信する．
  */
 
@@ -108,5 +102,5 @@
 
 /*
- *  VXeT[rXÌG[nhO
+ *  システムサービスのエラーハンドリング
  */
 #define SVC(expression)											\
@@ -118,12 +112,12 @@
 
 /*
- *  ÀñÀs³êé^XNÖÌbZ[WÌæ
+ *  並列実行されるタスクへのメッセージ領域
  */
 char message[3];
 
 /*
- *  [vñ
- */
-ulong_t	task_loop;		/* ^XNàÅÌ[vñ */
+ *  ループ回数
+ */
+ulong_t	task_loop;		/* タスク内でのループ回数 */
 
 void init_task(intptr_t exinf)
@@ -134,25 +128,25 @@
 #endif /* TASK_LOOP */
 	
-	/* VA|[gÌI[v */
+	/* シリアルポートのオープン */
 	SVC(serial_opn_por(TASK_PORTID));
 	SVC(serial_ctl_por(TASK_PORTID , IOCTL_CRLF));
 	
-	/* O^XNÌú» */
+	/* ログタスクの初期化 */
 	logtask_initialize(LOGTASK_PORTID);
 	
-	/* N®bZ[WÌoÍ */
+	/* 起動メッセージの出力 */
 	syslog(LOG_INFO , "Sample program starts.");
 	
-	/* üúnhÌN® */
+	/* 周期ハンドラの起動 */
 	SVC(sta_cyc(MAIN_CYC));
 	
 	/*
- 	 *  [vñÌÝè
+ 	 *  ループ回数の設定
 	 *
-	 *  TASK_LOOPª}Nè`³êÄ¢éêCªè¹¸ÉCTASK_LOOPÉè
-	 *  `³ê½lðC^XNàÅÌ[vñÆ·éD
+	 *  TASK_LOOPがマクロ定義されている場合，測定せずに，TASK_LOOPに定
+	 *  義された値を，タスク内でのループ回数とする．
 	 *
-	 *  MEASURE_TWICEª}Nè`³êÄ¢éêC1ñÚÌªèÊðÌÄ
-	 *  ÄC2ñÚÌªèÊðg¤D1ñÚÌªèÍ·ßÌÔªoé½ßD
+	 *  MEASURE_TWICEがマクロ定義されている場合，1回目の測定結果を捨て
+	 *  て，2回目の測定結果を使う．1回目の測定は長めの時間が出るため．
 	 */
 #ifdef TASK_LOOP
@@ -163,5 +157,5 @@
 	SVC(get_tim(&stime1));
 	for (i = 0; i < task_loop; i++) {
-		/* Ô©¹¬Ì½ßÌ[vÅ èC±±ÅÍ½àµÈ¢ */
+		/* 時間かせぎのためのループであり，ここでは何もしない */
 	}
 	SVC(get_tim(&stime2));
@@ -180,5 +174,5 @@
 	
 
-	/* VA|[g©çÌ¶óM */
+	/* シリアルポートからの文字受信 */
 	if(serial_rea_dat(TASK_PORTID , &c , 1) > 0)
 	{
@@ -231,5 +225,5 @@
 			break;
 		default:
-			/* G[\¦ */
+			/* エラー表示 */
 			syslog(LOG_INFO , "Unknown command.");
 			break;
@@ -241,5 +235,5 @@
 void task(intptr_t exinf)
 {
-	/* exinfÍ^XNÔ  */
+	/* exinfはタスク番号  */
 	uint_t tskno = (uint_t)exinf;
 	int_t		n = 0;
@@ -256,12 +250,12 @@
 	{
 		for (i = 0; i < task_loop; i++) {
-			/* Ô©¹¬Ì½ßÌ[vÅ èC±±ÅÍ½àµÈ¢ */
+			/* 時間かせぎのためのループであり，ここでは何もしない */
 		}
 		
-		/* ^XNÔÌ\¦ */
+		/* タスク番号の表示 */
 		syslog(LOG_NOTICE, "task%d is running (%03d).   %s",
 										tskno, ++n, graph[tskno-1]);
 		
-		/* R}hæ¾CbZ[WÌæðNA */
+		/* コマンド取得，メッセージ領域をクリア */
 		command = message[tskno - 1];
 		message[tskno - 1] = 0;
Index: /ssp_qb_r5f100le_cs/trunk/sample/sample1.cfg
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/sample/sample1.cfg	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/sample/sample1.cfg	(revision 95)
@@ -1,4 +1,4 @@
 /*
- *  TOPPESRS/SSPJ[lÌTvvO
+ *  TOPPESRS/SSPカーネルのサンプルプログラム
  */
 
Index: /ssp_qb_r5f100le_cs/trunk/sample/sample1.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/sample/sample1.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/sample/sample1.h	(revision 95)
@@ -7,34 +7,30 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  * 
- *  ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»EüÏE
- *  ÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 
- *      \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[X
- *      R[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Égp
- *      Å«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gipÒ}
- *      j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºLÌ³Û
- *      ØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Égp
- *      Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌì
- *         \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ
- *        ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹Q
- *      ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDÜ½C
- *      {\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©ÈéRÉîÃ
- *      ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
+ *  上記著作権者は，以下の (1)〜(4) の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改変・
+ *  再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作権
+ *      表示，この利用条件および下記の無保証規定が，そのままの形でソース
+ *      コード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使用
+ *      できる形で再配布する場合には，再配布に伴うドキュメント（利用者マ
+ *      ニュアルなど）に，上記の著作権表示，この利用条件および下記の無保
+ *      証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使用
+ *      できない形で再配布する場合には，次のいずれかの条件を満たすこと．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著作
+ *        権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに報
+ *        告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害
+ *      からも，上記著作権者およびTOPPERSプロジェクトを免責すること．また，
+ *      本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ
+ *      く請求からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ
- *  ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉÎ·
- *  éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEFAÌp
- *  Éæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»ÌÓCð
- *  íÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者およ
+ *  びTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的に対す
+ *  る適合性も含めて，いかなる保証も行わない．また，本ソフトウェアの利用
+ *  により直接的または間接的に生じたいかなる損害に関しても，その責任を負
+ *  わない．
  * 
  */
@@ -44,5 +40,5 @@
 
 /*
- *  ^[QbgË¶Ìè`
+ *  ターゲット依存の定義
  */
 #include "target_test.h"
@@ -81,9 +77,9 @@
 
 #ifndef TASK_PORTID
-#define	TASK_PORTID		1					/* ¶üÍ·éVA|[gID */
+#define	TASK_PORTID		1					/* 文字入力するシリアルポートID */
 #endif /* TASK_PORTID */
 
 #ifndef LOOP_REF
-#define LOOP_REF		ULONG_C(1000000)	/* ¬xvªpÌ[vñ */
+#define LOOP_REF		ULONG_C(1000000)	/* 速度計測用のループ回数 */
 #endif /* LOOP_REF */
 
Index: /ssp_qb_r5f100le_cs/trunk/syssvc/banner.c
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/syssvc/banner.c	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/syssvc/banner.c	(revision 95)
@@ -9,41 +9,37 @@
  *  Copyright (C) 2010-2012 by Meika Sugimoto
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  */
 
 /*
- *		J[lN®bZ[WÌoÍ
+ *		カーネル起動メッセージの出力
  */
 
Index: /ssp_qb_r5f100le_cs/trunk/syssvc/banner.cfg
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/syssvc/banner.cfg	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/syssvc/banner.cfg	(revision 95)
@@ -4,6 +4,5 @@
 
 /*
- *		J[lN®bZ[WÌoÍÌRtBM
-[Vt@C
+ *		カーネル起動メッセージの出力のコンフィギュレーションファイル
  */
 
Index: /ssp_qb_r5f100le_cs/trunk/syssvc/banner.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/syssvc/banner.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/syssvc/banner.h	(revision 95)
@@ -7,36 +7,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id: banner.h 774 2008-03-08 06:35:57Z hiro $
@@ -44,5 +40,5 @@
 
 /*
- *		J[lN®bZ[WÌoÍ
+ *		カーネル起動メッセージの出力
  */
 
@@ -51,5 +47,5 @@
 
 /*
- *  J[lN®bZ[WÌoÍ
+ *  カーネル起動メッセージの出力
  */
 extern void	print_banner(intptr_t exinf) throw();
Index: /ssp_qb_r5f100le_cs/trunk/syssvc/banner.tf
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/syssvc/banner.tf	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/syssvc/banner.tf	(revision 95)
@@ -1,11 +1,11 @@
 $ 
-$ oi[oÍpÌev[gt@C
+$ バナー出力用のテンプレートファイル
 $ 
 $FILE "kernel_cfg.c"$
 
-$ J[l¼Ì
+$ カーネル名称
 $KERNEL_NAME = "\"TOPPERS/SSP Kernel \""$
 
-$ o[WÌæèoµ
+$ バージョンの取り出し
 
 $MAJOR_VERSION = ((TKERNEL_PRVER >> 12) & 0x0f)$
@@ -13,5 +13,5 @@
 $PATCH_VERSION = ((TKERNEL_PRVER & 0x0f) & 0x0f)$
 
-$ J­Ò
+$ 開発者
 $AUTHOR = "\t\t\"Copyright (C) 2010 by Meika Sugimoto\\n\"\t\\\n"$
 $AUTHOR	= CONCAT(AUTHOR , "\t\t\"Copyright (C) 2010 by Naoki Saito\\n\"\t\\\n")$
Index: /ssp_qb_r5f100le_cs/trunk/syssvc/log_output.c
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/syssvc/log_output.c	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/syssvc/log_output.c	(revision 95)
@@ -10,36 +10,32 @@
  *              Nagoya Municipal Industrial Research Institute, JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id: log_output.c 1176 2008-07-01 10:24:46Z ertl-hiro $
@@ -47,5 +43,5 @@
 
 /*
- *		VXeOÌtH[}bgoÍ
+ *		システムログのフォーマット出力
  */
 
@@ -54,8 +50,8 @@
 
 /*
- *  lð¶ñÉÏ·
+ *  数値を文字列に変換
  */
 #define CONVERT_BUFLEN	((sizeof(uintptr_t) * CHAR_BIT + 2) / 3)
-										/* uintptr_t^ÌlÌÅå¶ */
+										/* uintptr_t型の数値の最大文字数 */
 static void
 convert(uintptr_t val, uint_t radix, const char *radchar,
@@ -89,5 +85,5 @@
 
 /*
- *  ¶ñ®`oÍ
+ *  文字列整形出力
  */
 static const char raddec[] = "0123456789";
@@ -170,5 +166,5 @@
 
 /*
- *  OîñÌoÍ
+ *  ログ情報の出力
  */
 void
@@ -185,5 +181,5 @@
 		break;
 	default:
-		// s¾ÈíÊÌêÍC½àµÈ¢
+		// 不明な種別の場合は，何もしない
 		break;
 	}
@@ -191,5 +187,5 @@
 
 /*
- *  Oîñr¸bZ[WÌoÍ
+ *  ログ情報喪失メッセージの出力
  */
 void
Index: /ssp_qb_r5f100le_cs/trunk/syssvc/logtask.c
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/syssvc/logtask.c	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/syssvc/logtask.c	(revision 95)
@@ -11,36 +11,32 @@
  *              Nagoya Municipal Industrial Research Institute, JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id: logtask.c 1111 2008-06-12 08:42:26Z ertl-hiro $
@@ -48,5 +44,5 @@
 
 /*
- *		VXeO^XN
+ *		システムログタスク
  */
 
@@ -59,10 +55,10 @@
 
 /*
- *  VXeO^XNÌoÍæÌ|[gID
+ *  システムログタスクの出力先のポートID
  */
 static ID	logtask_portid;
 
 /*
- *  VAC^tF[XÖÌ1¶oÍ
+ *  シリアルインタフェースへの1文字出力
  */
 static void
@@ -73,5 +69,5 @@
 
 /*
- *  O^XNÌú»
+ *  ログタスクの初期化処理
  */
 
@@ -85,5 +81,5 @@
 }
 /*
- *  VXeO^XNÌ{Ì
+ *  システムログタスクの本体
  */
 void
@@ -116,5 +112,5 @@
 
 /*
- *  VXeO^XNÌI¹
+ *  システムログタスクの終了処理
  */
 void
@@ -127,6 +123,6 @@
 
 	/*
-	 *  VAC^tF[XhCoÌMobt@É~Ï³ê½f[^
-	 *  ðCáxoÍ@\ðp¢ÄoÍ·éD
+	 *  シリアルインタフェースドライバの送信バッファに蓄積されたデータ
+	 *  を，低レベル出力機能を用いて出力する．
 	 */
 	while (serial_get_chr(logtask_portid, &c)) {
@@ -135,12 +131,12 @@
 
 	/*
-	 *  Oobt@ÉL^³ê½OîñðCáxoÍ@\ðp¢Äo
-	 *  Í·éD
+	 *  ログバッファに記録されたログ情報を，低レベル出力機能を用いて出
+	 *  力する．
 	 */
 	while ((rercd = syslog_rea_log(&syslog)) >= 0) {
 		if (!msgflg) {
 			/*
-			 *  Oobt@ÉcÁ½OîñÅ é±Æð¦·¶ñðo
-			 *  Í·éD
+			 *  ログバッファに残ったログ情報であることを示す文字列を出
+			 *  力する．
 			 */
 			syslog_printf("-- buffered messages --\n", NULL, target_fput_log);
Index: /ssp_qb_r5f100le_cs/trunk/syssvc/logtask.cfg
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/syssvc/logtask.cfg	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/syssvc/logtask.cfg	(revision 95)
@@ -4,6 +4,5 @@
 
 /*
- *		VXeO^XNÌRtBM
-[Vt@C
+ *		システムログタスクのコンフィギュレーションファイル
  */
 
Index: /ssp_qb_r5f100le_cs/trunk/syssvc/logtask.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/syssvc/logtask.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/syssvc/logtask.h	(revision 95)
@@ -8,36 +8,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id: logtask.h 774 2008-03-08 06:35:57Z hiro $
@@ -45,5 +41,5 @@
 
 /*
- *		VXeO^XN
+ *		システムログタスク
  */
 
@@ -58,52 +54,51 @@
 
 /*
- *  VXeO^XNÖAÌèÌftHglÌè`
+ *  システムログタスク関連の定数のデフォルト値の定義
  */ 
 #ifndef LOGTASK_PRIORITY
-#define LOGTASK_PRIORITY	3		/* úDæx */
+#define LOGTASK_PRIORITY	3		/* 初期優先度 */
 #endif /* LOGTASK_PRIORITY */
 
 #ifndef LOGTASK_STACK_SIZE
-#define LOGTASK_STACK_SIZE	256	/* X^bNÌæÌTCY */
+#define LOGTASK_STACK_SIZE	256	/* スタック領域のサイズ */
 #endif /* LOGTASK_STACK_SIZE */
 
 #ifndef LOGTASK_PORTID
-#define LOGTASK_PORTID		1		/* VXeOpÌVA|[gÔ */
+#define LOGTASK_PORTID		1		/* システムログ用のシリアルポート番号 */
 #endif /* LOGTASK_PORTID */
 
 #ifndef LOGTASK_INTERVAL
-#define LOGTASK_INTERVAL	10U		/* VXeO^XNÌ®ìÔui~bj*/
+#define LOGTASK_INTERVAL	10U		/* システムログタスクの動作間隔（ミリ秒）*/
 #endif /* LOGTASK_INTERVAL */
 
 #ifndef LOGTASK_FLUSH_WAIT
-#define LOGTASK_FLUSH_WAIT	1U		/* tbV
-Ò¿ÌPÊÔi~bj*/
+#define LOGTASK_FLUSH_WAIT	1U		/* フラッシュ待ちの単位時間（ミリ秒）*/
 #endif /* LOGTASK_FLUSH_WAIT */
 
 /*
- *  VXeOoÍÌÒ¿í¹
+ *  システムログ出力の待ち合わせ
  *
- *  Oobt@ÌOÌªcountÈºÉÈéÜÅÒÂDcountª0ÌêÉ
- *  ÍCVAobt@ªóÉÈéÌàÒÂD
+ *  ログバッファ中のログの数がcount以下になるまで待つ．countが0の場合に
+ *  は，シリアルバッファが空になるのも待つ．
  */
 extern ER	logtask_flush(uint_t count) throw();
 
 /*
- *  VXeO^XNÌú»
+ *  システムログタスクの初期化処理
  */
 extern void logtask_initialize(ID log_portid) throw();
 
 /*
- *  VXeO^XNÌ{Ì
+ *  システムログタスクの本体
  */
 extern void	logtask_main(intptr_t exinf) throw();
 
 /*
- *  VXeO^XNðN®·éüúnh
+ *  システムログタスクを起動する周期ハンドラ
  */
 extern void	cychdr_act_logtsk(intptr_t exinf) throw();
 
 /*
- *  VXeO^XNÌI¹
+ *  システムログタスクの終了処理
  */
 extern void	logtask_terminate(intptr_t exinf) throw();
Index: /ssp_qb_r5f100le_cs/trunk/syssvc/serial.c
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/syssvc/serial.c	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/syssvc/serial.c	(revision 95)
@@ -11,40 +11,36 @@
  *              Nagoya Municipal Industrial Research Institute, JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
- */
-
-/*
- *		VAC^tF[XhCo
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
+ */
+
+/*
+ *		シリアルインタフェースドライバ
  */
 
@@ -56,12 +52,12 @@
 
 /*
- *  obt@TCYÌftHglÆobt@Ìè`
+ *  バッファサイズのデフォルト値とバッファの定義
  */
 #ifndef SERIAL_RCV_BUFSZ1
-#define	SERIAL_RCV_BUFSZ1	64			/* |[g1ÌóMobt@TCY */
+#define	SERIAL_RCV_BUFSZ1	64			/* ポート1の受信バッファサイズ */
 #endif /* SERIAL_RCV_BUFSZ1 */
 
 #ifndef SERIAL_SND_BUFSZ1
-#define	SERIAL_SND_BUFSZ1	256			/* |[g1ÌMobt@TCY */
+#define	SERIAL_SND_BUFSZ1	256			/* ポート1の送信バッファサイズ */
 #endif /* SERIAL_SND_BUFSZ1 */
 
@@ -69,12 +65,12 @@
 static char	snd_buffer1[SERIAL_SND_BUFSZ1];
 
-#if TNUM_PORT >= 2						/* |[g2ÉÖ·éè` */
+#if TNUM_PORT >= 2						/* ポート2に関する定義 */
 
 #ifndef SERIAL_RCV_BUFSZ2
-#define	SERIAL_RCV_BUFSZ2	64			/* |[g2ÌóMobt@TCY */
+#define	SERIAL_RCV_BUFSZ2	64			/* ポート2の受信バッファサイズ */
 #endif /* SERIAL_RCV_BUFSZ2 */
 
 #ifndef SERIAL_SND_BUFSZ2
-#define	SERIAL_SND_BUFSZ2	64			/* |[g2ÌMobt@TCY */
+#define	SERIAL_SND_BUFSZ2	64			/* ポート2の送信バッファサイズ */
 #endif /* SERIAL_SND_BUFSZ2 */
 
@@ -84,12 +80,12 @@
 #endif /* TNUM_PORT >= 2 */
 
-#if TNUM_PORT >= 3						/* |[g3ÉÖ·éè` */
+#if TNUM_PORT >= 3						/* ポート3に関する定義 */
 
 #ifndef SERIAL_RCV_BUFSZ3
-#define	SERIAL_RCV_BUFSZ3	64			/* |[g3ÌóMobt@TCY */
+#define	SERIAL_RCV_BUFSZ3	64			/* ポート3の受信バッファサイズ */
 #endif /* SERIAL_RCV_BUFSZ3 */
 
 #ifndef SERIAL_SND_BUFSZ3
-#define	SERIAL_SND_BUFSZ3	64			/* |[g3ÌMobt@TCY */
+#define	SERIAL_SND_BUFSZ3	64			/* ポート3の送信バッファサイズ */
 #endif /* SERIAL_SND_BUFSZ3 */
 
@@ -100,11 +96,11 @@
 
 /*
- *  VA|[gú»ubN
+ *  シリアルポート初期化ブロック
  */
 typedef struct serial_port_initialization_block {
-	uint_t	rcv_bufsz;		/* óMobt@TCY */
-	char	*rcv_buffer;	/* óMobt@ */
-	uint_t	snd_bufsz;		/* Mobt@TCY */
-	char	*snd_buffer;	/* Mobt@ */
+	uint_t	rcv_bufsz;		/* 受信バッファサイズ */
+	char	*rcv_buffer;	/* 受信バッファ */
+	uint_t	snd_bufsz;		/* 送信バッファサイズ */
+	char	*snd_buffer;	/* 送信バッファ */
 } SPINIB;
 
@@ -123,20 +119,20 @@
 
 /*
- *  VA|[gÇubN
+ *  シリアルポート管理ブロック
  */
 typedef struct serial_port_control_block {
-	const SPINIB *p_spinib;		/* VA|[gú»ubN */
-	SIOPCB	*p_siopcb;			/* VAI/O|[gÇubN */
-	bool_t	openflag;			/* I[vÏÝtO */
-	bool_t	errorflag;			/* G[tO */
-	uint_t	ioctl;				/* ®ì§äÌÝèl */
-
-	uint_t	rcv_read_ptr;		/* óMobt@Çoµ|C^ */
-	uint_t	rcv_write_ptr;		/* óMobt@Ý|C^ */
-	uint_t	rcv_count;			/* óMobt@Ì¶ */
-
-	uint_t	snd_read_ptr;		/* Mobt@Çoµ|C^ */
-	uint_t	snd_write_ptr;		/* Mobt@Ý|C^ */
-	uint_t	snd_count;			/* Mobt@Ì¶ */
+	const SPINIB *p_spinib;		/* シリアルポート初期化ブロック */
+	SIOPCB	*p_siopcb;			/* シリアルI/Oポート管理ブロック */
+	bool_t	openflag;			/* オープン済みフラグ */
+	bool_t	errorflag;			/* エラーフラグ */
+	uint_t	ioctl;				/* 動作制御の設定値 */
+
+	uint_t	rcv_read_ptr;		/* 受信バッファ読出しポインタ */
+	uint_t	rcv_write_ptr;		/* 受信バッファ書込みポインタ */
+	uint_t	rcv_count;			/* 受信バッファ中の文字数 */
+
+	uint_t	snd_read_ptr;		/* 送信バッファ読出しポインタ */
+	uint_t	snd_write_ptr;		/* 送信バッファ書込みポインタ */
+	uint_t	snd_count;			/* 送信バッファ中の文字数 */
 } SPCB;
 
@@ -144,5 +140,5 @@
 
 /*
- *  VA|[gID©çVA|[gÇubNðæèo·½ßÌ}N
+ *  シリアルポートIDからシリアルポート管理ブロックを取り出すためのマクロ
  */
 #define INDEX_PORT(portid)	((uint_t)((portid) - 1))
@@ -150,13 +146,13 @@
 
 /*
- *  |C^ÌCNg
+ *  ポインタのインクリメント
  */
 #define INC_PTR(ptr, bufsz)		{ if (++(ptr) == (bufsz)) { (ptr) = 0; }}
 
 /*
- *  T[rXR[Äoµ}N
+ *  サービスコール呼出しマクロ
  *
- *  T[rXR[ÄoµðÜÞ®expð]¿µCÔlªG[iÌljÌê
- *  ÉÍCercÉercd_expð]¿µ½lðãüµCerror_exitÉgoto·éD
+ *  サービスコール呼出しを含む式expを評価し，返値がエラー（負の値）の場
+ *  合には，ercにercd_expを評価した値を代入し，error_exitにgotoする．
  */
 #define SVC(exp, ercd_exp) \
@@ -164,5 +160,5 @@
 
 /*
- *  E_SYSG[Ì¶¬
+ *  E_SYSエラーの生成
  */
 static ER
@@ -175,5 +171,5 @@
 
 /*
- *  VAC^tF[XhCoÌú»[`
+ *  シリアルインタフェースドライバの初期化ルーチン
  */
 void
@@ -191,5 +187,5 @@
 
 /*
- *  VAC^[tF[XhCoÌI¹[`
+ *  シリアルインターフェースドライバの終了ルーチン
  */
 
@@ -200,5 +196,5 @@
 	SPCB	*p_spcb;
 	
-	/* obt@ÉcÁÄ¢éSÄÌ¶ðoÍ·é */
+	/* バッファに残っている全ての文字を出力する */
 	for (i = 0; i < TNUM_PORT; i++) {
 		p_spcb = &(spcb_table[i]);
@@ -218,5 +214,5 @@
 
 /*
- *  VA|[gÌI[viT[rXR[j
+ *  シリアルポートのオープン（サービスコール）
  */
 ER
@@ -226,19 +222,19 @@
 	ER		ercd;
 
-	if (sns_dpn()) {				/* ReLXgÌ`FbN */
+	if (sns_dpn()) {				/* コンテキストのチェック */
 		return(E_CTX);
 	}
 	if (!(1 <= portid && portid <= TNUM_PORT)) {
-		return(E_ID);				/* |[gÔÌ`FbN */
+		return(E_ID);				/* ポート番号のチェック */
 	}
 	p_spcb = get_spcb(portid);
 
 	SVC(dis_dsp(), gen_ercd_sys(p_spcb));
-	if (p_spcb->openflag) {			/* I[vÏÝ©Ì`FbN */
+	if (p_spcb->openflag) {			/* オープン済みかのチェック */
 		ercd = E_OBJ;
 	}
 	else {
 		/*
-		 *  ÏÌú»
+		 *  変数の初期化
 		 */
 		p_spcb->ioctl = (IOCTL_ECHO | IOCTL_CRLF);
@@ -251,5 +247,5 @@
 
 		/*
-		 *  ±êÈ~CÝðÖ~·éD
+		 *  これ以降，割込みを禁止する．
 		 */
 		if (loc_cpu() < 0) {
@@ -259,10 +255,10 @@
 
 		/*
-		 *  n[hEFAË¶ÌI[v
+		 *  ハードウェア依存のオープン処理
 		 */
 		p_spcb->p_siopcb = sio_opn_por(portid, (intptr_t) p_spcb);
 
 		/*
-		 *  óMÊmR[obNðÂ·éD
+		 *  受信通知コールバックを許可する．
 		 */
 		sio_ena_cbr(p_spcb->p_siopcb, SIO_RDY_RCV);
@@ -286,5 +282,5 @@
 
 /*
- *  VA|[gÌN[YiT[rXR[j
+ *  シリアルポートのクローズ（サービスコール）
  */
 ER
@@ -295,19 +291,19 @@
 	bool_t	eflag = false;
 
-	if (sns_dpn()) {				/* ReLXgÌ`FbN */
+	if (sns_dpn()) {				/* コンテキストのチェック */
 		return(E_CTX);
 	}
 	if (!(1 <= portid && portid <= TNUM_PORT)) {
-		return(E_ID);				/* |[gÔÌ`FbN */
+		return(E_ID);				/* ポート番号のチェック */
 	}
 	p_spcb = get_spcb(portid);
 
 	SVC(dis_dsp(), gen_ercd_sys(p_spcb));
-	if (!(p_spcb->openflag)) {		/* I[vÏÝ©Ì`FbN */
+	if (!(p_spcb->openflag)) {		/* オープン済みかのチェック */
 		ercd = E_OBJ;
 	}
 	else {
 		/*
-		 *  n[hEFAË¶ÌN[Y
+		 *  ハードウェア依存のクローズ処理
 		 */
 		if (loc_cpu() < 0) {
@@ -321,5 +317,5 @@
 		
 		/*
-		 *  G[R[hÌÝè
+		 *  エラーコードの設定
 		 */
 		if (eflag) {
@@ -337,10 +333,10 @@
 
 /*
- *  VA|[gÖÌ¶M
+ *  シリアルポートへの文字送信
  *
- *  p_spcbÅwè³êéVAI/O|[gÉÎµÄC¶cðM·éD¶
- *  ðMWX^É¢ê½êÉÍtrueðÔ·D»¤ÅÈ¢êÉÍCM
- *  WX^ªó¢½±ÆðÊm·éR[obNÖðÂµCfalseðÔ·D
- *  ±ÌÖÍCCPUbNóÔÅÄÑo³êéD
+ *  p_spcbで指定されるシリアルI/Oポートに対して，文字cを送信する．文字
+ *  を送信レジスタにいれた場合にはtrueを返す．そうでない場合には，送信
+ *  レジスタが空いたことを通知するコールバック関数を許可し，falseを返す．
+ *  この関数は，CPUロック状態で呼び出される．
  */
 Inline bool_t
@@ -357,9 +353,9 @@
 
 /*
- *  VA|[gÖÌ1¶M
- *  wè³ê½¶ÌMðÝé.
- *  foCXÖÌMª¬÷µ½êÜ½Íobt@Éó«ª èi[Å«½êÍ false, 
- *  obt@ªtÅi[Å«È©Á½êÍ true ðÔ·D
- *  »êÈOÌG[ª­¶µ½êÍ ER ^ÌG[R[hðÔ·D
+ *  シリアルポートへの1文字送信
+ *  指定された文字の送信を試みる.
+ *  デバイスへの送信が成功した場合またはバッファに空きがあり格納できた場合は false, 
+ *  バッファがフルで格納できなかった場合は true を返す．
+ *  それ以外のエラーが発生した場合は ER 型のエラーコードを返す．
  */
 static ER_BOOL
@@ -370,6 +366,6 @@
 
 	/*
-	 *  LFÌOÉCRðM·éD
-	 *  ½¾µC1¶ÈºÌó«µ©È¢êÍobt@tÆÝÈµCMµÈ¢D
+	 *  LFの前にCRを送信する．
+	 *  ただし，1文字以下の空きしかない場合はバッファフルとみなし，送信しない．
 	 */
 	if (c == '\n' && (p_spcb->ioctl & IOCTL_CRLF) != 0U) {
@@ -385,6 +381,6 @@
 	if ((p_spcb->snd_count == 0U) && serial_snd_chr(p_spcb, c)) {
 		/*
-		 *  VAI/OfoCXÌMWX^É¶ðüêé±ÆÉ¬÷µ
-		 *  ½êD
+		 *  シリアルI/Oデバイスの送信レジスタに文字を入れることに成功し
+		 *  た場合．
 		 */
 		buffer_full = false;
@@ -392,6 +388,6 @@
 	else {
 		/*
-		 *  ó«ª êÎCMobt@É¶ðüêéD
-		 *  ó«ªÈ¢êCMµÈ¢D
+		 *  空きがあれば，送信バッファに文字を入れる．
+		 *  空きがない場合，送信しない．
 		 */
 		if(p_spcb->snd_count < p_spcb->p_spinib->snd_bufsz) {
@@ -420,5 +416,5 @@
 
 /*
- *  VA|[gÖÌ¶ñMiT[rXR[j
+ *  シリアルポートへの文字列送信（サービスコール）
  */
 ER_UINT
@@ -430,22 +426,22 @@
 	ER		ercd, rercd;
 
-	if (sns_dpn()) {				/* ReLXgÌ`FbN */
+	if (sns_dpn()) {				/* コンテキストのチェック */
 		return(E_CTX);
 	}
 	if (!(1 <= portid && portid <= TNUM_PORT)) {
-		return(E_ID);				/* |[gÔÌ`FbN */
+		return(E_ID);				/* ポート番号のチェック */
 	}
 
 	p_spcb = get_spcb(portid);
-	if (!(p_spcb->openflag)) {		/* I[vÏÝ©Ì`FbN */
+	if (!(p_spcb->openflag)) {		/* オープン済みかのチェック */
 		return(E_OBJ);
 	}
-	if (p_spcb->errorflag) {		/* G[óÔ©Ì`FbN */
+	if (p_spcb->errorflag) {		/* エラー状態かのチェック */
 		return(E_SYS);
 	}
 	
 	/*
-	 *  len ÜÅ1¶¸ÂMðÝéD
-	 *  rÅobt@tÉÈÁ½çf·éD
+	 *  len まで1文字ずつ送信を試みる．
+	 *  途中でバッファフルになったら中断する．
 	 */
 	SVC((rercd = dis_dsp()) , rercd);
@@ -465,9 +461,9 @@
 
 /*
- *  VA|[g©çÌ1¶óM
- *  ¶ÌóMðÝé.
- *  obt@Éf[^ª¶ÝµCæ¾Å«½êÍ false, 
- *  obt@ªóÅæ¾Å«È©Á½êÍ true ðÔ·D
- *  »êÈOÌG[ª­¶µ½êÍ ER ^ÌG[R[hðÔ·D
+ *  シリアルポートからの1文字受信
+ *  文字の受信を試みる.
+ *  バッファにデータが存在し，取得できた場合は false, 
+ *  バッファが空で取得できなかった場合は true を返す．
+ *  それ以外のエラーが発生した場合は ER 型のエラーコードを返す．
  */
 static ER_BOOL
@@ -480,6 +476,6 @@
 
 	/*
-	 *  f[^ª¶Ý·êÎCóMobt@©ç¶ðæèo·D
-	 *  È¯êÎæèo³È¢D
+	 *  データが存在すれば，受信バッファから文字を取り出す．
+	 *  なければ取り出さない．
 	 */
 	if(p_spcb->rcv_count > 0U) {
@@ -501,5 +497,5 @@
 
 /*
- *  VA|[g©çÌ¶ñóMiT[rXR[j
+ *  シリアルポートからの文字列受信（サービスコール）
  */
 ER_UINT
@@ -509,25 +505,25 @@
 	bool_t	buffer_empty;
 	uint_t	reacnt = 0U;
-	char	c = '\0';		/* RpCÌxð}~·é½ßÉú»·é */
+	char	c = '\0';		/* コンパイラの警告を抑止するために初期化する */
 	ER		ercd, rercd;
 
-	if (sns_dpn()) {				/* ReLXgÌ`FbN */
+	if (sns_dpn()) {				/* コンテキストのチェック */
 		return(E_CTX);
 	}
 	if (!(1 <= portid && portid <= TNUM_PORT)) {
-		return(E_ID);				/* |[gÔÌ`FbN */
+		return(E_ID);				/* ポート番号のチェック */
 	}
 
 	p_spcb = get_spcb(portid);
-	if (!(p_spcb->openflag)) {		/* I[vÏÝ©Ì`FbN */
+	if (!(p_spcb->openflag)) {		/* オープン済みかのチェック */
 		return(E_OBJ);
 	}
-	if (p_spcb->errorflag) {		/* G[óÔ©Ì`FbN */
+	if (p_spcb->errorflag) {		/* エラー状態かのチェック */
 		return(E_SYS);
 	}
 	
 	/*
-	 *  len ÜÅóMðÝéD
-	 *  obt@ªóÅÇÝo¹È©Á½êÍf·é
+	 *  len まで受信を試みる．
+	 *  バッファが空で読み出せなかった場合は中断する
 	 */
 	SVC((rercd = dis_dsp()) , rercd);
@@ -541,5 +537,5 @@
 		else {
 			/*
-			 *  GR[obND
+			 *  エコーバック処理．
 			 */
 			if ((p_spcb->ioctl & IOCTL_ECHO) != 0U) {
@@ -557,5 +553,5 @@
 
 /*
- *  VA|[gÌ§äiT[rXR[j
+ *  シリアルポートの制御（サービスコール）
  */
 ER
@@ -564,16 +560,16 @@
 	SPCB	*p_spcb;
 
-	if (sns_dpn()) {				/* ReLXgÌ`FbN */
+	if (sns_dpn()) {				/* コンテキストのチェック */
 		return(E_CTX);
 	}
 	if (!(1 <= portid && portid <= TNUM_PORT)) {
-		return(E_ID);				/* |[gÔÌ`FbN */
+		return(E_ID);				/* ポート番号のチェック */
 	}
 
 	p_spcb = get_spcb(portid);
-	if (!(p_spcb->openflag)) {		/* I[vÏÝ©Ì`FbN */
+	if (!(p_spcb->openflag)) {		/* オープン済みかのチェック */
 		return(E_OBJ);
 	}
-	if (p_spcb->errorflag) {		/* G[óÔ©Ì`FbN */
+	if (p_spcb->errorflag) {		/* エラー状態かのチェック */
 		return(E_SYS);
 	}
@@ -584,5 +580,5 @@
 
 /*
- *  VA|[g©çÌMÂ\R[obN
+ *  シリアルポートからの送信可能コールバック
  */
 void
@@ -595,5 +591,5 @@
 	if (p_spcb->snd_count > 0U) {
 		/*
-		 *  Mobt@©ç¶ðæèoµÄM·éD
+		 *  送信バッファ中から文字を取り出して送信する．
 		 */
 		(void) sio_snd_chr(p_spcb->p_siopcb,
@@ -604,5 +600,5 @@
 	else {
 		/*
-		 *  M·×«¶ªÈ¢êÍCMÂ\R[obNðÖ~·éD
+		 *  送信すべき文字がない場合は，送信可能コールバックを禁止する．
 		 */
 		sio_dis_cbr(p_spcb->p_siopcb, SIO_RDY_SND);
@@ -611,5 +607,5 @@
 
 /*
- *  VA|[g©çÌóMÊmR[obN
+ *  シリアルポートからの受信通知コールバック
  */
 void
@@ -624,6 +620,6 @@
 	if (p_spcb->rcv_count != p_spcb->p_spinib->rcv_bufsz) {
 		/*
-		 *  óMµ½¶ðóMobt@ÉüêéD
-		 *  obt@tÌêCóMµ½¶ðÌÄéD
+		 *  受信した文字を受信バッファに入れる．
+		 *  バッファフルの場合，受信した文字を捨てる．
 		 */
 		p_spcb->p_spinib->rcv_buffer[p_spcb->rcv_write_ptr] = c;
@@ -634,5 +630,5 @@
 
 /*
- *  VAC^tF[XhCo©çÌ¢M¶Ìæoµ
+ *  シリアルインタフェースドライバからの未送信文字の取出し
  */
 bool_t
@@ -641,7 +637,7 @@
 	SPCB	*p_spcb;
 
-	if (1 <= portid && portid <= TNUM_PORT) {	/* |[gÔÌ`FbN */
+	if (1 <= portid && portid <= TNUM_PORT) {	/* ポート番号のチェック */
 		p_spcb = get_spcb(portid);
-		if (p_spcb->openflag) {					/* I[vÏÝ©Ì`FbN */
+		if (p_spcb->openflag) {					/* オープン済みかのチェック */
 			if (p_spcb->snd_count > 0U) {
 				*p_c = p_spcb->p_spinib->snd_buffer[p_spcb->snd_read_ptr];
Index: /ssp_qb_r5f100le_cs/trunk/syssvc/serial.cfg
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/syssvc/serial.cfg	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/syssvc/serial.cfg	(revision 95)
@@ -4,6 +4,5 @@
 
 /*
- *  VAC^tF[XhCoÌRtBM
-[Vt@C
+ *  シリアルインタフェースドライバのコンフィギュレーションファイル
  */
 
Index: /ssp_qb_r5f100le_cs/trunk/syssvc/serial.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/syssvc/serial.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/syssvc/serial.h	(revision 95)
@@ -11,36 +11,32 @@
  *              Nagoya Municipal Industrial Research Institute, JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id: serial.h 1176 2008-07-01 10:24:46Z ertl-hiro $
@@ -48,5 +44,5 @@
 
 /*
- *		VAC^tF[XhCo
+ *		シリアルインタフェースドライバ
  */
 
@@ -59,28 +55,28 @@
 
 /*
- *  VAC^tF[XhCoÌp¢épPbg
+ *  シリアルインタフェースドライバの用いるパケット
  */
 typedef struct {
-	uint_t		reacnt;			/* óMobt@Ì¶ */
-	uint_t		wricnt;			/* Mobt@Ì¶ */
+	uint_t		reacnt;			/* 受信バッファ中の文字数 */
+	uint_t		wricnt;			/* 送信バッファ中の文字数 */
 } T_SERIAL_RPOR;
 
 /*
- *  VAC^tF[XhCoÌú»[`
+ *  シリアルインタフェースドライバの初期化ルーチン
  */
 extern void		serial_initialize(intptr_t exinf);
 
 /*
- *  VAC^tF[XhCoÌI¹[`
+ *  シリアルインタフェースドライバの終了処理ルーチン
  */
 extern void		serial_terminate(intptr_t exinf);
 
 /*
- *  VAC^tF[XhCo©çÌ¢M¶Ìæoµ
+ *  シリアルインタフェースドライバからの未送信文字の取出し
  */
 extern bool_t	serial_get_chr(ID portid, char *p_c);
 
 /*
- *  VAC^tF[XhCoÌT[rXR[
+ *  シリアルインタフェースドライバのサービスコール
  */
 extern ER		serial_opn_por(ID portid);
@@ -91,11 +87,11 @@
 
 /*
- *  VAC^tF[XhCoÌ®ì§äpÌ½ßÌè
+ *  シリアルインタフェースドライバの動作制御用のための定数
  *
- *  ÈºÌèÍCrbgÉ_aðÆÁÄp¢éD
+ *  以下の定数は，ビット毎に論理和をとって用いる．
  */
-#define	IOCTL_NULL	0U			/* wèÈµ */
-#define	IOCTL_ECHO	0x0001U		/* óMµ½¶ðGR[obN */
-#define	IOCTL_CRLF	0x0010U		/* LFðM·éOÉCRðtÁ */
+#define	IOCTL_NULL	0U			/* 指定なし */
+#define	IOCTL_ECHO	0x0001U		/* 受信した文字をエコーバック */
+#define	IOCTL_CRLF	0x0010U		/* LFを送信する前にCRを付加 */
 
 #ifdef __cplusplus
Index: /ssp_qb_r5f100le_cs/trunk/syssvc/syslog.c
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/syssvc/syslog.c	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/syssvc/syslog.c	(revision 95)
@@ -8,36 +8,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
- * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
+ * 
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  $Id: syslog.c 1846 2010-07-14 07:37:41Z ertl-hiro $
@@ -45,5 +41,5 @@
 
 /*
- *		VXeO@\
+ *		システムログ機能
  */
 
@@ -56,5 +52,5 @@
 
 /*
- *  g[XO}NÌftHgè`
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_SYSLOG_WRI_LOG_ENTER
@@ -91,28 +87,28 @@
 
 /*
- *  »ÝÌVXe
+ *  現在のシステム時刻
  *
- *  Oðæèo·½ßÉCâÞÈ­CJ[lÌàÏðQÆµÄ¢
- *  éD
+ *  ログ時刻を取り出すために，やむなく，カーネルの内部変数を参照してい
+ *  る．
  */
 extern ulong_t	_kernel_current_time;
 
 /*
- *  Oobt@Æ»êÉANZX·é½ßÌ|C^
- */
-static SYSLOG	syslog_buffer[TCNT_SYSLOG_BUFFER];	/* Oobt@ */
-static uint_t	syslog_count;			/* Oobt@ÌOÌ */
-static uint_t	syslog_head;			/* æªÌOÌi[Êu */
-static uint_t	syslog_tail;			/* ÌOÌi[Êu */
-static uint_t	syslog_lost;			/* ¸íê½OÌ */
-
-/*
- *  oÍ·×«OîñÌdvxirbg}bvj
- */
-static uint_t	syslog_logmask;			/* Oobt@ÉL^·×«dvx */
-static uint_t	syslog_lowmask_not;		/* áxoÍ·×«dvxi½]j*/
-
-/*
- *  VXeO@\Ìú»
+ *  ログバッファとそれにアクセスするためのポインタ
+ */
+static SYSLOG	syslog_buffer[TCNT_SYSLOG_BUFFER];	/* ログバッファ */
+static uint_t	syslog_count;			/* ログバッファ中のログの数 */
+static uint_t	syslog_head;			/* 先頭のログの格納位置 */
+static uint_t	syslog_tail;			/* 次のログの格納位置 */
+static uint_t	syslog_lost;			/* 失われたログの数 */
+
+/*
+ *  出力すべきログ情報の重要度（ビットマップ）
+ */
+static uint_t	syslog_logmask;			/* ログバッファに記録すべき重要度 */
+static uint_t	syslog_lowmask_not;		/* 低レベル出力すべき重要度（反転）*/
+
+/*
+ *  システムログ機能の初期化
  */
 void
@@ -127,7 +123,7 @@
 
 /* 
- *  OîñÌoÍ
+ *  ログ情報の出力
  *
- *  CPUbNóÔâÀsReLXgÉæç¸®ìÅ«éæ¤ÉÀµÄ éD
+ *  CPUロック状態や実行コンテキストによらず動作できるように実装してある．
  */
 ER
@@ -140,10 +136,10 @@
 
 	/*
-	 *  OÌÝè
+	 *  ログ時刻の設定
 	 */
 	((SYSLOG *) p_syslog)->logtim = _kernel_current_time;
 
 	/*
-	 *  Oobt@ÉL^
+	 *  ログバッファに記録
 	 */
 	if ((syslog_logmask & LOG_MASK(prio)) != 0U) {
@@ -163,5 +159,5 @@
 
 	/*
-	 *  áxoÍ
+	 *  低レベル出力
 	 */
 	if (((~syslog_lowmask_not) & LOG_MASK(prio)) != 0U) {
@@ -176,7 +172,7 @@
 
 /*
- *  Oobt@©çÌÇoµ
+ *  ログバッファからの読出し
  *
- *  CPUbNóÔâÀsReLXgÉæç¸®ìÅ«éæ¤ÉÀµÄ éD
+ *  CPUロック状態や実行コンテキストによらず動作できるように実装してある．
  */
 ER_UINT
@@ -190,5 +186,5 @@
 
 	/*
-	 *  Oobt@©çÌæoµ
+	 *  ログバッファからの取出し
 	 */
 	if (syslog_count > 0U) {
@@ -212,5 +208,5 @@
 
 /* 
- *  oÍ·×«OîñÌdvxÌÝè
+ *  出力すべきログ情報の重要度の設定
  */
 ER
Index: /ssp_qb_r5f100le_cs/trunk/syssvc/syslog.cfg
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/syssvc/syslog.cfg	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/syssvc/syslog.cfg	(revision 95)
@@ -4,6 +4,5 @@
 
 /*
- *		VXeO@\ÌRtBM
-[Vt@C
+ *		システムログ機能のコンフィギュレーションファイル
  */
 
Index: /ssp_qb_r5f100le_cs/trunk/syssvc/syslog.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/syssvc/syslog.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/syssvc/syslog.h	(revision 95)
@@ -8,36 +8,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  $Id: syslog.h 1788 2010-05-16 21:06:02Z ertl-hiro $
@@ -45,5 +41,5 @@
 
 /*
- *		VXeO@\
+ *		システムログ機能
  */
 
@@ -56,32 +52,32 @@
 
 /*
- *  VXeOoÍðs¤½ßÌè`
+ *  システムログ出力を行うための定義
  */
 #include <t_syslog.h>
 
 /*
- *  Oobt@Æ»êÉANZX·é½ßÌ|C^
+ *  ログバッファとそれにアクセスするためのポインタ
  */
 #ifndef TCNT_SYSLOG_BUFFER
-#define TCNT_SYSLOG_BUFFER	16		/* Oobt@ÌTCY */
+#define TCNT_SYSLOG_BUFFER	16		/* ログバッファのサイズ */
 #endif /* TCNT_SYSLOG_BUFFER */
 
 /*
- *  VXeO@\Ìú»
+ *  システムログ機能の初期化
  */
 extern void	syslog_initialize(intptr_t exinf) throw();
 
 /*
- *  OîñÌoÍ
+ *  ログ情報の出力
  */
 extern ER	syslog_wri_log(uint_t prio, const SYSLOG *p_syslog) throw();
 
 /*
- *  Oobt@©çÌOîñÌÇoµ
+ *  ログバッファからのログ情報の読出し
  */
 extern ER_UINT	syslog_rea_log(SYSLOG *p_syslog) throw();
 
 /* 
- *  oÍ·×«OîñÌdvxÌÝè
+ *  出力すべきログ情報の重要度の設定
  */
 extern ER	syslog_msk_log(uint_t logmask, uint_t lowmask) throw();
Index: /ssp_qb_r5f100le_cs/trunk/syssvc/vasyslog.c
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/syssvc/vasyslog.c	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/syssvc/vasyslog.c	(revision 95)
@@ -8,36 +8,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id: vasyslog.c 755 2008-03-07 17:42:37Z hiro $
@@ -45,5 +41,5 @@
 
 /*
- *		ÂÏøÌVXeOCu
+ *		可変数引数のシステムログライブラリ
  */
 
Index: /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/MB9BF618T.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/MB9BF618T.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/MB9BF618T.h	(revision 95)
@@ -5,36 +5,32 @@
  *  Copyright (C) 2012 Meika Sugimoto
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
-*      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+*      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  */
@@ -44,11 +40,11 @@
 
 /*
- *  CORTEX-M3 CPUÌË¶ÌCN[h
+ *  CORTEX-M3 CPUの依存部のインクルード
  */
 #include "arm_m_gcc/arm_m.h"
 
 /*
- *  vZbTÌGfBAè`
- *    MB9BF618TÍgGfBA
+ *  プロセッサのエンディアン定義
+ *    MB9BF618Tはリトルエンディアン
  */
 #define SIL_ENDIAN_LITTLE
@@ -56,10 +52,10 @@
 
 /*
- *  ÝÔÌÅål
+ *  割込み番号の最大値
  */
 #define TMAX_INTNO   (16 + 48)
 
 /*
- *  ÝDæxÌrbg
+ *  割込み優先度のビット幅
  */
 #define TBITW_IPRI     (4)
@@ -67,5 +63,5 @@
 
 /*
- *  ÝxN^Ôè`
+ *  割込みベクタ番号定義
  */
 #define INT_FCS					(16)
@@ -120,10 +116,10 @@
 
 /*
- *  ÝDæxrbgÌTuDæxÌrbg
+ *  割込み優先度ビット幅中のサブ優先度のビット幅
  */
 #define TBITW_SUBIPRI  0
 
 
-/* MB9BF618TÌytFWX^è` */
+/* MB9BF618Tのペリフェラルレジスタ定義 */
 
 /* BUS:AHB */
@@ -177,5 +173,5 @@
 #define FLASHIF_WORK_BASE		(0x200E0000)
 
-/* NbN/ZbgÖAÌWX^ */
+/* クロック/リセット関連のレジスタ */
 #define SCM_CTL					(CLOCKRESET_BASE + 0x0000)
 #define SCM_STR					(CLOCKRESET_BASE + 0x0004)
@@ -195,5 +191,5 @@
 #define INT_CLR					(CLOCKRESET_BASE + 0x0068)
 
-/* SCM_CTL , SCM_STRÌrbgÄ */
+/* SCM_CTL , SCM_STRのビット割当て */
 #define SCM_CTL_RCS_HIGHCR		(0 << 5)
 #define SCM_CTL_RCS_MAINCLK		(1 << 5)
@@ -210,5 +206,5 @@
 #define SCM_STR_PLRDY			(1 << 4)
 
-/* NbNªüäÝèl */
+/* クロック分周比設定値 */
 #define BSC_CLK_DIV_1			(0)
 #define BSC_CLK_DIV_2			(1)
@@ -219,9 +215,9 @@
 #define BSC_CLK_DIV_16			(6)
 
-/* APBNbN§äÝèl */
+/* APBクロック制御設定値 */
 #define APBC_EN					(1 << 7)
 #define APBC_RESET				(1 << 4)
 
-/* NbNªüäÝèl */
+/* クロック分周比設定値 */
 #define APB_CLK_DIV_1			(0)
 #define APB_CLK_DIV_2			(1)
@@ -230,5 +226,5 @@
 
 
-/* NbNÖAÝÌrbgÄ */
+/* クロック関連割込みのビット割当て */
 #define INT_CLL_MCS				(1 << 0)
 #define INT_CLL_SCS				(1 << 1)
@@ -236,5 +232,5 @@
 #define INT_CLL_FCS				(1 << 5)
 
-/* CSW_TMRÌrbgÄ */
+/* CSW_TMRのビット割当て */
 #define PSW_TMR_MOWT_CONF0		(0 << 0)		/* 2^1  / FCRH */
 #define PSW_TMR_MOWT_CONF1		(1 << 0)		/* 2^5 / FCRH */
@@ -254,5 +250,5 @@
 #define PSW_TMR_MOWT_CONF15		(15 << 0)		/* 2^23 / FCRH */
 
-/* PSW_TMRÌrbgÄ */
+/* PSW_TMRのビット割当て */
 #define PSW_TMR_PINC_MO			(0 << 4)
 #define PSW_TMR_PINC_CR			(1 << 4)
@@ -266,5 +262,5 @@
 #define PSW_TMR_POWT_CONF7		(7 << 0)		/* 2^16 / FCRH */
 
-/* PLL_CTL1 , PLL_CTL2ÌrbgÄ */
+/* PLL_CTL1 , PLL_CTL2のビット割当て */
 #define PLL_CTL1_PLLK(n)		(((n) - 1) << 4)
 #define PLL_CTL1_PLLM(n)		(((n) - 1) << 0)
Index: /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/Makefile.target
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/Makefile.target	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/Makefile.target	(revision 95)
@@ -1,8 +1,8 @@
 #
-#		Makefile Ì^[QbgË¶(CQ-FRM-FM3p)
+#		Makefile のターゲット依存部(CQ-FRM-FM3用)
 #
 
 #
-#  {[h¼CvZbT¼CJ­Â«¼Ìè`
+#  ボード名，プロセッサ名，開発環境名の定義
 #
 BOARD = cq_frk_fm3
@@ -11,5 +11,5 @@
 
 #
-#  ROM»·é©Ç¤©
+#  ROM化するかどうか
 #
 
@@ -17,19 +17,19 @@
 
 #
-#  GNUJ­Â«Ì^[QbgA[LeN`Ìè`
+#  GNU開発環境のターゲットアーキテクチャの定義
 #
 GCC_TARGET = arm-none-eabi
 
 #
-#  eZOgÌJnAhXÌè`
+#  各セグメントの開始アドレスの定義
 #
 
 #
-#  ñ^XNReLXgpÌX^bNÌúliêj
+#  非タスクコンテキスト用のスタックの初期値（底）
 #
 DEFAULT_STK_TOP = 0x20005000
 
 #
-#  RpCIvV
+#  コンパイルオプション
 #
 INCLUDES := $(INCLUDES) -I$(TARGETDIR)
@@ -38,5 +38,5 @@
 
 #
-#  J[lÉÖ·éè`
+#  カーネルに関する定義
 #
 KERNEL_DIR := $(KERNEL_DIR) $(TARGETDIR)
@@ -46,5 +46,5 @@
 
 #
-#  VXeT[rXÉÖ·éè`
+#  システムサービスに関する定義
 #
 SYSSVC_DIR := $(SYSSVC_DIR)
@@ -53,11 +53,10 @@
 
 #
-#  RtBM
-[^ÖWÌÏÌè`
+#  コンフィギュレータ関係の変数の定義
 #
 CFG_TABS := $(CFG_TABS) --cfg1-def-table $(TARGETDIR)/target_def.csv
 
 #
-#  g[XOÉÖ·éÝè
+#  トレースログに関する設定
 #
 ifeq ($(ENABLE_TRACE),true)
@@ -68,5 +67,5 @@
 
 #
-#  ROM»Í ROM_BOOTðtrueÉè`·é
+#  ROM化時は ROM_BOOTをtrueに定義する
 #
 ifeq ($(ROM_BOOT),true)
@@ -77,5 +76,5 @@
 
 #
-#  JXNvgÌè`
+#  リンカスクリプトの定義
 #
 
@@ -87,10 +86,8 @@
 
 #
-#  X^[gAbvW
-[ÉÖ·éè`
+#  スタートアップモジュールに関する定義
 #
-#  cq_starm.ldÉuSTARTUP(start.o)vðLqµ½½ßCX^[gAbvW
-[
-#  Ì¼OðHIDDEN_OBJSÉè`·éDÜ½CLDFLAGSÉ-nostdlibðÇÁµÄ¢éD
+#  cq_starm.ldに「STARTUP(start.o)」を記述したため，スタートアップモジュー
+#  ルの名前をHIDDEN_OBJSに定義する．また，LDFLAGSに-nostdlibを追加している．
 #
 HIDDEN_OBJS = start.o
@@ -106,5 +103,5 @@
 
 #
-#  Ë¶ÖWÌè`
+#  依存関係の定義
 #
 cfg1_out.c: $(TARGETDIR)/target_def.csv
@@ -113,5 +110,5 @@
 
 #
-#  vZbTË¶ÌCN[h
+#  プロセッサ依存部のインクルード
 #
 include $(SRCDIR)/arch/$(PRC)_$(TOOL)/Makefile.prc
Index: /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/cq_frm_fm3.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/cq_frm_fm3.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/cq_frm_fm3.h	(revision 95)
@@ -5,38 +5,34 @@
  *  Copyright (C) 2012 Meika Sugimoto
  * 
- *  ãLì ÒÍCFree Software Foundation ÉæÁÄö\³êÄ¢é 
- *  GNU General Public License Ì Version 2 ÉLq³êÄ¢éð©CÈ
- *  ºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEFAi{\tgEF
- *  AðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»EüÏEÄzziÈºC
- *  pÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðÄpÂ\ÈoCiR[hiP[^uIu
- *      WFNgt@CâCuÈÇjÌ`Åp·éêÉÍCp
- *      Éº¤hL
-gipÒ}j
-AÈÇjÉCãLÌì \¦C
- *      ±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðÄpsÂ\ÈoCiR[hÌ`Ü½Í@íÉg
- *      Ýñ¾`Åp·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD
- *    (a) pÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌì
- *         \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) pÌ`ÔðCÊÉèßéû@ÉæÁÄCãLì ÒÉñ·é
- *        ±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì ÒðÆÓ·é±ÆD
+ *  上記著作権者は，Free Software Foundation によって公表されている 
+ *  GNU General Public License の Version 2 に記述されている条件か，以
+ *  下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェア（本ソフトウェ
+ *  アを改変したものを含む．以下同じ）を使用・複製・改変・再配布（以下，
+ *  利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを再利用可能なバイナリコード（リロケータブルオブ
+ *      ジェクトファイルやライブラリなど）の形で利用する場合には，利用
+ *      に伴うドキュメント（利用者マニュアルなど）に，上記の著作権表示，
+ *      この利用条件および下記の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを再利用不可能なバイナリコードの形または機器に組
+ *      み込んだ形で利用する場合には，次のいずれかの条件を満たすこと．
+ *    (a) 利用に伴うドキュメント（利用者マニュアルなど）に，上記の著作
+ *        権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 利用の形態を，別に定める方法によって，上記著作権者に報告する
+ *        こと．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者を免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì ÒÍC
- *  {\tgEFAÉÖµÄC»ÌKpÂ\«àÜßÄC¢©ÈéÛØàsí
- *  È¢DÜ½C{\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢
- *  ©Èé¹QÉÖµÄàC»ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者は，
+ *  本ソフトウェアに関して，その適用可能性も含めて，いかなる保証も行わ
+ *  ない．また，本ソフトウェアの利用により直接的または間接的に生じたい
+ *  かなる損害に関しても，その責任を負わない．
  * 
  */
 
 /*
- *  ^[Qbg{[hÉÖ·éè`(CQ-FRM-FM3p)
+ *  ターゲットボードに関する定義(CQ-FRM-FM3用)
  */
 
@@ -49,5 +45,5 @@
 
 /*
- *  OIV[^NbNÌè`
+ *  外部オシレータクロックの定義
  */
 
@@ -55,8 +51,8 @@
 
 /*
- *  OIV[^ð³É¶¬·éVXeNbNÖAÌè`
+ *  外部オシレータを元に生成するシステムクロック関連の定義
  */
 
-/* PLLNbN */
+/* PLLクロック */
 #define PLLK_VALUE	(1)
 #define PLLN_VALUE	(36)
@@ -73,5 +69,5 @@
 #define SYSTIC_CLOCK	(PLL_CLOCK)	/* 18MHz */
 
-/* VAÊM{[[gÝè(oXNbN18MHzÌêÌÝè) */
+/* シリアル通信ボーレート設定(バスクロック18MHzの場合の設定) */
 #define BGR_VALUE_115200BPS		(155)
 #define BGR_VALUE_57600BPS		(311)
Index: /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/target.tf
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/target.tf	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/target.tf	(revision 95)
@@ -1,13 +1,13 @@
 $ 
-$     pX2Ì^[QbgË¶ev[g(CQ-FRM-FM3p)
+$     パス2のターゲット依存テンプレート(CQ-FRM-FM3用)
 $ 
 
 $ 
-$  vZbTË¶Ìev[gt@CÌCN[h
+$  プロセッサ依存のテンプレートファイルのインクルード
 $ 
 $INCLUDE"arm_m_gcc/prc.tf"$
 
 $ 
-$  oi[oÍpÌTFt@C
+$  バナー出力用のTFファイル
 $ 
 $INCLUDE "syssvc/banner.tf"$
Index: /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/target_cfg1_out.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/target_cfg1_out.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/target_cfg1_out.h	(revision 95)
@@ -1,8 +1,8 @@
 /*
- *		cfg1_out.cðN·é½ßÉKvÈX^uÌè`
+ *		cfg1_out.cをリンクするために必要なスタブの定義
  */
 
 /*
- *  RAË¶ÌX^uÌè` 
+ *  コア依存のスタブの定義 
  */
 #include "arm_m_gcc/prc_cfg1_out.h"
Index: /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/target_check.tf
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/target_check.tf	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/target_check.tf	(revision 95)
@@ -1,8 +1,8 @@
 $ 
-$     pX3Ì^[QbgË¶ev[g(CQ-FRM-FM3p)
+$     パス3のターゲット依存テンプレート(CQ-FRM-FM3用)
 $ 
 
 $ 
-$  pX3ÌvZbTË¶Ìev[gÌCN[h
+$  パス3のプロセッサ依存のテンプレートのインクルード
 $ 
 $INCLUDE"arm_m_gcc/prc_check.tf"$
Index: /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/target_config.c
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/target_config.c	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/target_config.c	(revision 95)
@@ -11,42 +11,37 @@
  *              Nagoya Municipal Industrial Research Institute, JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  */
 
 /*
- * ^[QbgË¶W
-[(CQ-FRM-FM3p)
+ * ターゲット依存モジュール(CQ-FRM-FM3用)
  */
 #include "kernel_impl.h"
@@ -56,5 +51,5 @@
 
 /*
- * ^[QbgVXeÌn[hEFA¹Ìè`
+ * ターゲットシステムのハードウェア資源の定義
  */
 #include "cq_frm_fm3.h"
@@ -62,19 +57,19 @@
 
 /*
- * ^[QbgË¶@ú»
+ * ターゲット依存部　初期化処理
  */
 void target_initialize(void)
 {
 	/*
-	 *  vZbTË¶Ìú»
+	 *  プロセッサ依存部の初期化
 	 */
 	prc_initialize();
 
 	/*
-	 *  ytFÌÝè
+	 *  ペリフェラルの設定
 	 */
 	
 	/*
-	 *  n[hEFAWDT³ø»
+	 *  ハードウェアWDT無効化
 	 */
 	sil_wrw_mem((void *)WDG_LCK , WDG_UNLOCK_VAL);
@@ -83,12 +78,12 @@
 	
 	/*
-	 *  I/O|[gÌú»
+	 *  I/Oポートの初期化
 	 */
 #if (SIO_PORTID == 1)
-	/* PFRÌÝè */
+	/* PFRの設定 */
 	
 	/* MFS(RX,TX) CH0 */
-	sil_andw((void *)EPFR7 , ~(0x03 << 2));	/* SIN0_0 , SOT0_0ðgp */
-	sil_orw((void *)EPFR7 , (0x01 << 6));	/* SIN0_0 , SOT0_0ðgp */
+	sil_andw((void *)EPFR7 , ~(0x03 << 2));	/* SIN0_0 , SOT0_0を使用 */
+	sil_orw((void *)EPFR7 , (0x01 << 6));	/* SIN0_0 , SOT0_0を使用 */
 	
 	/* P21(SIN),P22(SOT) */
@@ -98,6 +93,6 @@
 #elif (SIO_PORTID == 2)
 	/* USART2(RX,TX) CH2 */
-	sil_andw((void *)EPFR8 , ~(0x03 << 6));	/* SIN4_2ðgp */
-	sil_orw((void *)EPFR8 , (0x03 << 6));	/* SIN4_2 , SOT4_2ðgp */
+	sil_andw((void *)EPFR8 , ~(0x03 << 6));	/* SIN4_2を使用 */
+	sil_orw((void *)EPFR8 , (0x03 << 6));	/* SIN4_2 , SOT4_2を使用 */
 	
 	/* PD2(SIN),PD3(SOT) */
@@ -107,5 +102,5 @@
 
 	/*
-	 *  oi[oÍpÌVAú»
+	 *  バナー出力用のシリアル初期化
 	 */
 	
@@ -113,5 +108,5 @@
 	sil_dly_nse(10 * 1000 * 1000);
 	
-	/* LED|[g */
+	/* LEDポート */
 	sil_andw((void *)PFRF , ~BITMAP_3);
 	sil_orw((void *)PDDRF , BITMAP_3);
@@ -121,14 +116,14 @@
 
 /*
- * ^[QbgË¶ I¹
+ * ターゲット依存部 終了処理
  */
 void target_exit(void)
 {
-	/* vZbTË¶ÌI¹ */
+	/* プロセッサ依存部の終了処理 */
 	prc_terminate();
 }
 
 /*
- * VXeOÌáxoÍÌ½ßÌ¶oÍ
+ * システムログの低レベル出力のための文字出力
  */
 void target_fput_log(char c)
Index: /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/target_config.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/target_config.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/target_config.h	(revision 95)
@@ -9,36 +9,32 @@
  *  Copyright (C) 2012 by Meika Sugimoto
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  */
@@ -48,9 +44,8 @@
 
 /*
- * ^[QbgË¶W
-[(CQ-FRM-FM3p)
+ * ターゲット依存部モジュール(CQ-FRM-FM3用)
  *
- * J[lÌ^[QbgË¶ÌCN[ht@CDkernel_impl.hÌ^[
- * QbgË¶ÌÊut¯ÆÈ·D
+ * カーネルのターゲット依存部のインクルードファイル．kernel_impl.hのター
+ * ゲット依存部の位置付けとなす．
  */
 
@@ -58,5 +53,5 @@
 
 /*
- *  g[XOÉÖ·éÝè
+ *  トレースログに関する設定
  */
 #ifdef TOPPERS_ENABLE_TRACE
@@ -65,11 +60,11 @@
 
 /*
- *  ftHgÌñ^XNReLXgpÌX^bNÌæÌè`
- *  8bytePÊÅæ¾³êéD 
+ *  デフォルトの非タスクコンテキスト用のスタック領域の定義
+ *  8byte単位で取得される． 
  */
 #define DEFAULT_ISTKSZ			(0x1000 / 4)		/* 16KByte */
 
 /*
- *  ÷­ÔÒ¿Ì½ßÌè`i{ÍSILÌ^[QbgË¶j
+ *  微少時間待ちのための定義（本来はSILのターゲット依存部）
  */
 #define SIL_DLY_TIM1    162
@@ -80,12 +75,12 @@
 
 /*
- *  ^[QbgVXeË¶Ìú»
+ *  ターゲットシステム依存の初期化
  */
 extern void	target_initialize(void);
 
 /*
- *  ^[QbgVXeÌI¹
+ *  ターゲットシステムの終了
  *
- *  VXeðI¹·éÉg¤D
+ *  システムを終了する時に使う．
  */
 extern void	target_exit(void) NoReturn;
@@ -94,6 +89,5 @@
 
 /*
- *  `bvË¶W
-[iARM-Mpj
+ *  チップ依存モジュール（ARM-M用）
  */
 #include "arm_m_gcc/prc_config.h"
Index: /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/target_kernel.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/target_kernel.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/target_kernel.h	(revision 95)
@@ -6,46 +6,42 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  */
 
 /*
- *  kernel.hÌ^[QbgË¶(CQ-FRM-FM3p)
+ *  kernel.hのターゲット依存部(CQ-FRM-FM3用)
  *
- *  ±ÌCN[ht@CÍCkernel.hÅCN[h³êéD¼Ìt@
- *  C©ç¼ÚCN[h·é±ÆÍÈ¢D±Ìt@CðCN[h
- *  ·éOÉCt_stddef.hªCN[h³êéÌÅC»êçÉË¶µÄàæ
- *  ¢D
+ *  このインクルードファイルは，kernel.hでインクルードされる．他のファ
+ *  イルから直接インクルードすることはない．このファイルをインクルード
+ *  する前に，t_stddef.hがインクルードされるので，それらに依存してもよ
+ *  い．
  */
 
@@ -53,14 +49,14 @@
 #define TOPPERS_TARGET_KERNEL_H
 
-#define TMIN_INTPRI		(-15)		/* ÝDæxÌÅ¬liÅlj*/
+#define TMIN_INTPRI		(-15)		/* 割込み優先度の最小値（最高値）*/
 
 /*
- *  ^CeBbNÌè`
+ *  タイムティックの定義
  */
-#define TIC_NUME			1U		/* ^CeBbNÌüúÌªq */
-#define TIC_DENO			1U		/* ^CeBbNÌüúÌªê */
+#define TIC_NUME			1U		/* タイムティックの周期の分子 */
+#define TIC_DENO			1U		/* タイムティックの周期の分母 */
 
 /*
- *  vZbTÅ¤ÊÈè`
+ *  プロセッサで共通な定義
  */
 #include "arm_m_gcc/prc_kernel.h"
Index: /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/target_serial.c
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/target_serial.c	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/target_serial.c	(revision 95)
@@ -10,41 +10,37 @@
  *              Nagoya Municipal Industrial Research Institute, JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  */
 
 /*
- * VAhCoiCQ-FRM-FM3pj
+ * シリアルドライバ（CQ-FRM-FM3用）
  */
 
@@ -55,5 +51,5 @@
 
 /*
- * WX^Ýèl
+ * レジスタ設定値
  */
 #define PORT2SIOPID(x)	((x) + 1)
@@ -62,5 +58,5 @@
 
 /*
- * USARTWX^è`
+ * USARTレジスタ定義
  *  #define MFS_SMR(ch)				(MFS_BASEADDR((ch)) + 0x00)
  *  #define MFS_SCR(ch)				(MFS_BASEADDR((ch)) + 0x01)
@@ -74,5 +70,5 @@
 
 /*
- *  rbgèÄÍoCgANZXpÉLqµÄ¢é
+ *  ビット割り当てはバイトアクセス用に記述している
  */
 
@@ -94,6 +90,6 @@
 #define SMR_WAKEUP					(1U << 4)
 
-#define SMR_SBL_1OR3				(0U << 3)	/* ESCR.ESBL = 0Å1 */
-#define SMR_SBL_2OR4				(1U << 3)	/* ESCR.ESBL = 0Å2 */
+#define SMR_SBL_1OR3				(0U << 3)	/* ESCR.ESBL = 0で1 */
+#define SMR_SBL_2OR4				(1U << 3)	/* ESCR.ESBL = 0で2 */
 
 #define SMR_BDS_LSBFIRST			(0U << 2)
@@ -131,5 +127,5 @@
 
 /*
- * VAI/O|[gÇubNGA
+ * シリアルI/Oポート管理ブロックエリア
  */
 SIOPCB siopcb_table[TNUM_PORT];
@@ -153,5 +149,5 @@
 
 /*
- *  áxoÍÌú»
+ *  低レベル出力の初期化
  */
 
@@ -160,5 +156,5 @@
 	uint32_t ch = INDEX_PORT(siopid);
 	
-	/* ú»ÏÝÌêÍ·®É^[ */
+	/* 初期化済みの場合はすぐにリターン */
 	if((sil_reb_mem((void*)MFS_SCR(ch)) & (SCR_TXE | SCR_RXE)) != 0)
 	{
@@ -166,20 +162,20 @@
 	}
 	
-	/* USARTÌ³ø»CZbg */
+	/* USARTの無効化，リセット */
 	sil_wrb_mem((void *)MFS_SCR(ch) , SCR_UPCL);
 	sil_wrb_mem((void *)MFS_SCR(ch) , 0x0);
 	
-	/* ÊM[hÝè */
+	/* 通信モード設定 */
 	sil_wrb_mem((void *)MFS_SMR(ch) , 
 			(SMR_MODE_ASYNC_NORMAL | SMR_SBL_1OR3 | SMR_BDS_LSBFIRST | SMR_SOE_DISABLE));
 	sil_wrb_mem((void *)MFS_ESCR(ch) ,
 			(ESCR_FLWEN_DISABLE | ESCR_INV_NRZ | ESCR_PEN_DISABLE | ESCR_DATALEN_8));
-	/* ÊM¬xÝè */
-	sil_wrh_mem((void *)MFS_BGR0(ch) , BPS_SETTING);	/* n[t[hANZX·é */
-	/* FIFO³ø» */
+	/* 通信速度設定 */
+	sil_wrh_mem((void *)MFS_BGR0(ch) , BPS_SETTING);	/* ハーフワードアクセスする */
+	/* FIFO無効化 */
 	sil_wrb_mem((void *)MFS_FCR0(ch) , 0x00);
 	sil_wrb_mem((void *)MFS_FCR1(ch) , 0x00);
 	
-	/* USARTÌLø» */
+	/* USARTの有効化 */
 	sil_orb((void *)MFS_SMR(ch) , SMR_SOE_ENABLE);
 	sil_orb((void*)MFS_SCR(ch) , (SCR_TXE | SCR_RXE));
@@ -187,5 +183,5 @@
 
 /*
- *  ^[QbgÌVAú»
+ *  ターゲットのシリアル初期化
  */
 void target_usart_init(ID siopid)
@@ -193,8 +189,8 @@
 	target_low_output_init(siopid);
 	
-	/* ÝÂ */
+	/* 割込み許可 */
 	x_clear_int(INTNO_SIO_TX);
 	x_clear_int(INTNO_SIO_RX);
-	/* ÝÖ~ */
+	/* 割込み禁止 */
 	(void)ena_int(INTNO_SIO_TX);
 	(void)ena_int(INTNO_SIO_RX);
@@ -202,18 +198,18 @@
 
 /*
- *  ^[QbgÌVAI¹
+ *  ターゲットのシリアル終了
  */
 void target_usart_term(ID siopid)
 {
-	/* ÝÖ~ */
+	/* 割込み禁止 */
 	(void)dis_int(INTNO_SIO_TX);
 	(void)dis_int(INTNO_SIO_RX);
 	
-	/* USARTÌ³ø» */
+	/* USARTの無効化 */
 	sil_andb((void*)MFS_SCR(INDEX_PORT(siopid)) , (SCR_TXE | SCR_RIE));
 }
 
 /*
- *  SIOú»
+ *  SIO初期化
  */
 void sio_initialize(intptr_t exinf)
@@ -229,5 +225,5 @@
 
 /*
- *  VAI[v
+ *  シリアルオープン
  */
 SIOPCB *sio_opn_por(ID siopid, intptr_t exinf)
@@ -248,5 +244,5 @@
 
 /*
- *  VAN[Y
+ *  シリアルクローズ
  */
 void sio_cls_por(SIOPCB *p_siopcb)
@@ -256,5 +252,5 @@
 
 /*
- *  Ýnh
+ *  割込みハンドラ
  */
 void sio_isr_tx(intptr_t exinf)
@@ -277,5 +273,5 @@
 
 /*
- *  1¶M
+ *  1文字送信
  */
 bool_t sio_snd_chr(SIOPCB *siopcb, char c)
@@ -293,5 +289,5 @@
 
 /*
- *  1¶óM
+ *  1文字受信
  */
 int_t sio_rcv_chr(SIOPCB *siopcb)
@@ -307,5 +303,5 @@
 
 /*
- *  R[obNÌÂ
+ *  コールバックの許可
  */
 void sio_ena_cbr(SIOPCB *siopcb, uint_t cbrtn)
@@ -324,5 +320,5 @@
 
 /* 
- *  R[obNÌÖ~
+ *  コールバックの禁止
  */
 void sio_dis_cbr(SIOPCB *siopcb, uint_t cbrtn)
@@ -341,5 +337,5 @@
 
 /*
- *  1¶oÍi|[OÅÌoÍj
+ *  1文字出力（ポーリングでの出力）
  */
 void sio_pol_snd_chr(char c, ID siopid)
Index: /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/target_serial.cfg
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/target_serial.cfg	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/target_serial.cfg	(revision 95)
@@ -1,4 +1,4 @@
 /*
- *  SIOhCoiCQ-FRK-FM3pjÌRtBO[Vt@C
+ *  SIOドライバ（CQ-FRK-FM3用）のコンフィグレーションファイル
  */
 
Index: /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/target_serial.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/target_serial.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/target_serial.h	(revision 95)
@@ -8,41 +8,37 @@
  *              Nagoya Municipal Industrial Research Institute, JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  */
 
 /*
- *  VAI/OfoCXiSIOjhCo(CQ-FRM-FM3p)
+ *  シリアルI/Oデバイス（SIO）ドライバ(CQ-FRM-FM3用)
  */
 
@@ -54,5 +50,5 @@
 
 /*
- *  SIOÌÝxN^Ô
+ *  SIOの割込みベクタ番号
  */
 #if (SIO_PORTID == 1)
@@ -67,17 +63,17 @@
 #define INTNO_SIO_RX		INT_MFS4_RX
 #endif
-#define INTPRI_SIO		-3				/* ÝDæx */
-#define INTATR_SIO		0				/* Ý®« */
+#define INTPRI_SIO		-3				/* 割込み優先度 */
+#define INTATR_SIO		0				/* 割込み属性 */
 
 /*
- *  R[obN[`Ì¯ÊÔ
+ *  コールバックルーチンの識別番号
  */
-#define SIO_RDY_SND    1U        /* MÂ\R[obN */
-#define SIO_RDY_RCV    2U        /* óMÊmR[obN */
+#define SIO_RDY_SND    1U        /* 送信可能コールバック */
+#define SIO_RDY_RCV    2U        /* 受信通知コールバック */
 
 #ifndef TOPPERS_MACRO_ONLY
 
 /*
- *  VA|[gÌÇubN
+ *  シリアルポートの管理ブロック
  */
 typedef struct sio_port_control_block {
@@ -88,20 +84,20 @@
 
 /*
- *  SIOú»
+ *  SIO初期化
  */
 extern void sio_initialize(intptr_t exinf);
 
 /*
- *  VAI[v
+ *  シリアルオープン
  */
 extern SIOPCB *sio_opn_por(ID siopid, intptr_t exinf);
 
 /*
- *  VAN[Y
+ *  シリアルクローズ
  */
 extern void sio_cls_por(SIOPCB *p_siopcb);
 
 /*
- *  Ýnh
+ *  割込みハンドラ
  */
 extern void sio_isr_tx(intptr_t exinf);
@@ -109,45 +105,45 @@
 
 /*
- *  1¶M
+ *  1文字送信
  */
 extern bool_t sio_snd_chr(SIOPCB *siopcb, char c);
 
 /*
- *  1¶óM
+ *  1文字受信
  */
 extern int_t sio_rcv_chr(SIOPCB *siopcb);
 
 /*
- *  R[obNÌÂ
+ *  コールバックの許可
  */
 extern void sio_ena_cbr(SIOPCB *siopcb, uint_t cbrtn);
 
 /* 
- *  R[obNÌÖ~
+ *  コールバックの禁止
  */
 extern void sio_dis_cbr(SIOPCB *siopcb, uint_t cbrtn);
 
 /*
- *  MÂ\R[obN
+ *  送信可能コールバック
  */
 extern void sio_irdy_snd(intptr_t exinf);
 
 /*
- *  óMÊmR[obN
+ *  受信通知コールバック
  */
 extern void sio_irdy_rcv(intptr_t exinf);
 
 /*
- *  1¶Mi|[OÅÌoÍj
+ *  1文字送信（ポーリングでの出力）
  */
 extern void sio_pol_snd_chr(char c, ID siopid);
 
 /*
- *  ^[QbgÌVAú»
+ *  ターゲットのシリアル初期化
  */
 extern void target_usart_init(ID siopid);
 
 /*
- *  áxoÍú»
+ *  低レベル出力初期化
  */
 extern void target_low_output_init(ID siopid);
Index: /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/target_sil.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/target_sil.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/target_sil.h	(revision 95)
@@ -6,46 +6,42 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  */
 
 /*
- *  sil.hÌ^[QbgË¶iMB9BF618Tpj
+ *  sil.hのターゲット依存部（MB9BF618T用）
  *
- *  ±ÌCN[ht@CÍCsil.hÌæªÅCN[h³êéD¼Ìt@
- *  C©çÍ¼ÚCN[h·é±ÆÍÈ¢D±Ìt@CðCN[
- *  h·éOÉCt_stddef.hªCN[h³êéÌÅC»êçÉË¶µÄà
- *  æ¢D
+ *  このインクルードファイルは，sil.hの先頭でインクルードされる．他のファ
+ *  イルからは直接インクルードすることはない．このファイルをインクルー
+ *  ドする前に，t_stddef.hがインクルードされるので，それらに依存しても
+ *  よい．
  */
 
@@ -56,10 +52,10 @@
 
 /*
- *  vZbTÅ¤ÊÈè` 
+ *  プロセッサで共通な定義 
  */
 #include "arm_m_gcc/prc_sil.h"
 
 /*
- *  MB9BF618TpêÊ¤ÊWX^ìÖ
+ *  MB9BF618T用一般共通レジスタ操作関数
  */
 #define sil_orb( mem, val )		sil_wrb_mem( mem, sil_reb_mem( mem ) | val )
Index: /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/target_stddef.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/target_stddef.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/target_stddef.h	(revision 95)
@@ -6,46 +6,42 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  */
 
 /*
- *  t_stddef.hÌ^[QbgË¶(CQ-FRM-FM3p)
+ *  t_stddef.hのターゲット依存部(CQ-FRM-FM3用)
  *
- *  ±ÌCN[ht@CÍCt_stddef.hÌæªÅCN[h³êéD
- *  ¼Ìt@C©çÍ¼ÚCN[h·é±ÆÍÈ¢D¼ÌCN[h
- *  t@CÉæ§ÁÄ³êé½ßC¼ÌCN[ht@CÉË¶µ
- *  ÄÍÈçÈ¢D
+ *  このインクルードファイルは，t_stddef.hの先頭でインクルードされる．
+ *  他のファイルからは直接インクルードすることはない．他のインクルード
+ *  ファイルに先立って処理されるため，他のインクルードファイルに依存し
+ *  てはならない．
  */
 
@@ -54,11 +50,11 @@
 
 /*
- *  ^[Qbgð¯Ê·é½ßÌ}NÌè`
+ *  ターゲットを識別するためのマクロの定義
  */
-#define TOPPERS_CQ_FRM_FM3			/* VXeªÌ */
+#define TOPPERS_CQ_FRM_FM3			/* システム略称 */
 
 
 /*
- *  J­Â«Å¤ÊÈè`
+ *  開発環境で共通な定義
  */
 #define TOPPERS_STDFLOAT_TYPE1
@@ -66,5 +62,5 @@
 
 /*
- *  vZbTÅ¤ÊÈè`
+ *  プロセッサで共通な定義
  */
 #include "arm_m_gcc/prc_stddef.h"
@@ -73,5 +69,5 @@
 
 /*
- *  AT[VÌ¸sÌÀsfiT.B.Dj
+ *  アサーションの失敗時の実行中断処理（T.B.D）
  */
 Inline void
Index: /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/target_support.S
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/target_support.S	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/target_support.S	(revision 95)
@@ -11,41 +11,37 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  */
 
 /*
- * ^[QbgË¶@AZu¾êiCQ-FRM-FM3pj
+ * ターゲット依存部　アセンブリ言語（CQ-FRM-FM3用）
  */
 
@@ -57,7 +53,7 @@
 
 /*
- * áxÌ^[QbgË¶Ìú»
+ * 低レベルのターゲット依存の初期化
  *
- * ú»ÌOÉÄÑo³êé
+ * メモリ初期化の前に呼び出される
  */
 
@@ -71,14 +67,14 @@
 	.type	hardware_init_hook, function
 hardware_init_hook:
-	/* eoXNbNÌvXP[Ýè */
-	ldr	r0 , =#BSC_PSR					/* x[XNbN(1ªü) */
+	/* 各バスクロックのプリスケーラ設定 */
+	ldr	r0 , =#BSC_PSR					/* ベースクロック(1分周) */
 	mov	r1 , #BSC_CLK_DIV_1
 	str	r1 , [r0]
 	
-	ldr	r0 , =#APBC0_PSR				/* APB0(8ªü) */
+	ldr	r0 , =#APBC0_PSR				/* APB0(8分周) */
 	mov	r1 , #APB_CLK_DIV_8
 	str	r1 , [r0]
 	
-	ldr	r0 , =#APBC1_PSR				/* APB1(8ªü) */
+	ldr	r0 , =#APBC1_PSR				/* APB1(8分周) */
 	mov	r1 , #(APB_CLK_DIV_8 | APBC_EN | APBC_RESET)
 	str	r1 , [r0]
@@ -86,5 +82,5 @@
 	str	r1 , [r0]
 	
-	ldr	r0 , =#APBC2_PSR				/* APB2(8ªü) */
+	ldr	r0 , =#APBC2_PSR				/* APB2(8分周) */
 	mov	r1 , #(APB_CLK_DIV_8 | APBC_EN | APBC_RESET)
 	str	r1 , [r0]
@@ -92,19 +88,19 @@
 	str	r1 , [r0]
 	
-	ldr	r0 , =#INT_CLR		/* INT_CLRÌNA */
+	ldr	r0 , =#INT_CLR		/* INT_CLRのクリア */
 	mov	r1 , #(INT_CLL_MCS | INT_CLL_SCS | INT_CLL_PCS | INT_CLL_FCS)
 	str	r1 , [r0]
 	
-	/* CNbN­MÀèÒ¿ÝÌÝè */
+	/* メインクロック発信安定待ち割込みの設定 */
 	ldr	r0 , =#CSW_PSR
 	mov	r1 , #PSW_TMR_MOWT_CONF12
 	str	r1 , [r0]
 	
-	/* CNbNüÍÀèÒ¿ÝLø» */
+	/* メインクロック入力安定待ち割込み有効化 */
 	ldr	r0 , =#INT_ENR
 	mov	r1 , #INT_CLL_MCS
 	str	r1 , [r0]
 	
-	/* CNbNN® */
+	/* メインクロック起動 */
 	ldr	r0 , =#SCM_CTL
 	ldr	r1 , [r0]
@@ -112,5 +108,5 @@
 	str	r1 , [r0]
 	
-	/* CNbNÀèÒ¿ */
+	/* メインクロック安定待ち */
 	ldr	r0 , =#SCM_STR
   wait_main_clock_stable:
@@ -119,15 +115,15 @@
 	beq wait_main_clock_stable
 	
-	/* PLLüÍNbNÆ­MÀèÒ¿ÝÌÝè */
+	/* PLL入力クロックと発信安定待ち割込みの設定 */
 	ldr	r0 , =#PSW_TMR
-	mov	r1 , #(PSW_TMR_PINC_MO | PSW_TMR_POWT_CONF7)	/* Ò¿ÔÍÅålæé */
+	mov	r1 , #(PSW_TMR_PINC_MO | PSW_TMR_POWT_CONF7)	/* 待ち時間は最大値取る */
 	str	r1 , [r0]
 	
-	/* PLLüÍÀèÒ¿ÝLø» */
+	/* PLL入力安定待ち割込み有効化 */
 	ldr	r0 , =#INT_ENR
 	mov	r1 , #INT_CLL_PCS
 	str	r1 , [r0]
 	
-	/* PLLÌªü¦Ýè */
+	/* PLLの分周率設定 */
 	ldr	r0 , =#PLL_CTL1		/* PLLK , PLLM */
 	mov	r1 , #(PLL_CTL1_PLLK(PLLK_VALUE) | PLL_CTL1_PLLM(PLLM_VALUE))
@@ -137,5 +133,5 @@
 	str	r1 , [r0]
 	
-	/* PLLN® */
+	/* PLL起動 */
 	ldr	r0 , =#SCM_CTL
 	ldr	r1 , [r0]
@@ -143,6 +139,6 @@
 	str	r1 , [r0]
 	
-	/* PLLÀèÒ¿ */
-	ldr	r0 , =#SCM_STR		/* APB2(8ªü) */
+	/* PLL安定待ち */
+	ldr	r0 , =#SCM_STR		/* APB2(8分周) */
   wait_pll_stable:
 	ldr	r1 , [r0]
@@ -150,5 +146,5 @@
 	beq wait_pll_stable
 
-	/* }X^NbNØèÖ¦ */
+	/* マスタクロック切り替え */
 	ldr	r0 , =#SCM_CTL
 	ldr	r1 , [r0]
@@ -159,10 +155,10 @@
 	isb
 	
-	/* g[XNbNÌÝè */
-	ldr	r0 , =#TTC_PSR				/* TTC(8ªü) */
+	/* トレースクロックの設定 */
+	ldr	r0 , =#TTC_PSR				/* TTC(8分周) */
 	mov	r1 , #(APB_CLK_DIV_8)
 	str	r1 , [r0]
 	
-	/* g[X|[gÌÝè */
+	/* トレースポートの設定 */
 	ldr	r0 , =#PFR0
 	ldr	r1 , [r0]
Index: /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/target_syssvc.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/target_syssvc.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/target_syssvc.h	(revision 95)
@@ -8,45 +8,41 @@
  *              Nagoya Municipal Industrial Research Institute, JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  */
 
 /*
- *  VXeT[rXÌ^[QbgË¶(CQ-FRM-FM3p)
+ *  システムサービスのターゲット依存部(CQ-FRM-FM3用)
  *
- *  VXeT[rXÌ^[QbgË¶ÌCN[ht@CD±Ìt@
- *  CÌàeÍCR|[lgLqt@CÉLq³êC±Ìt@CÍ
- *  ³­Èé©ÝD
+ *  システムサービスのターゲット依存部のインクルードファイル．このファ
+ *  イルの内容は，コンポーネント記述ファイルに記述され，このファイルは
+ *  無くなる見込み．
  */
 
@@ -55,10 +51,10 @@
 
 /*
- *  ^[QbgVXeÌn[hEFA¹Ìè`
+ *  ターゲットシステムのハードウェア資源の定義
  */
 #include "cq_frm_fm3.h"
 
 /*
- *  g[XOÉÖ·éÝè
+ *  トレースログに関する設定
  */
 #ifdef TOPPERS_TRACE_ENABLE
@@ -67,11 +63,11 @@
 
 /*
- *  N®bZ[WÌ^[QbgVXe¼
+ *  起動メッセージのターゲットシステム名
  */
 #define TARGET_NAME    "CQ-FRK-FM3(MB9BF618T)"
 
 /*
- *  N®bZ[WÉ^[QbgË¶Ìì \¦ð
- *  ÇÁ·é½ßÌ}ND
+ *  起動メッセージにターゲット依存部の著作権表示を
+ *  追加するためのマクロ．
  */
 #ifdef PRC_COPYRIGHT
@@ -80,27 +76,27 @@
 
 /*
- *  VXeOÌáxoÍÌ½ßÌ¶oÍ
+ *  システムログの低レベル出力のための文字出力
  *
- *  ^[QbgË¶Ìû@ÅC¶cð\¦/oÍ/Û¶·éD
+ *  ターゲット依存の方法で，文字cを表示/出力/保存する．
  */
 extern void	target_fput_log(char c);
 
 /*
- *  VA|[gÌè`
+ *  シリアルポート数の定義
  *
- *  MFS ch0i|[gÔ1jÆch4i|[gÔ2jðT|[gµÄ¢é
+ *  MFS ch0（ポート番号1）とch4（ポート番号2）をサポートしている
  *  
  */
-#define TNUM_PORT        (2)		/* T|[g·éVA|[gÌ */
+#define TNUM_PORT        (2)		/* サポートするシリアルポートの数 */
 #define TNUM_SIOP        (2)
 
 
 /*
- *  {[[gÌIð
+ *  ボーレートの選択
  */
 #define BPS_SETTING		(BGR_VALUE_115200BPS)
 
 /*
- *  gp·éVA|[gID
+ *  使用するシリアルポートID
  */
 #define SIO_PORTID		(1)
Index: /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/target_test.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/target_test.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/target_test.h	(revision 95)
@@ -8,41 +8,37 @@
  *              Nagoya Municipal Industrial Research Institute, JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  */
 
 /*
- *		eXgvOÌ^[QbgË¶è`(CQ-FRM-FM3p)
+ *		テストプログラムのターゲット依存定義(CQ-FRM-FM3用)
  */
 
@@ -53,5 +49,5 @@
 
 /*
- *  gp·éVA|[gID
+ *  使用するシリアルポートID
  */
 #define TASK_PORTID			(1)
@@ -60,6 +56,5 @@
 
 /*
- *  vZbTË¶W
-[(ARM-Mp)
+ *  プロセッサ依存モジュール(ARM-M用)
  */
 #include "arm_m_gcc/prc_test.h"
Index: /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/target_timer.cfg
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/target_timer.cfg	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/target_timer.cfg	(revision 95)
@@ -1,5 +1,4 @@
 /*
- *  ^C}hCoÌRtBM
-[Vt@C(CQ-FRK-FM3p)
+ *  タイマドライバのコンフィギュレーションファイル(CQ-FRK-FM3用)
  */
 
Index: /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/target_timer.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/target_timer.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/target_timer.h	(revision 95)
@@ -6,41 +6,37 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  */
 
 /*
- *  ^C}hCo(CQ-FRM-FM3p)
+ *  タイマドライバ(CQ-FRM-FM3用)
  */
 
@@ -51,16 +47,16 @@
 
 /*
- *  ^C}lÌà\»Æ~bPÊÆÌÏ·
+ *  タイマ値の内部表現とミリ秒単位との変換
  */
 #define TIMER_CLOCK		(SYSTIC_CLOCK / 1000)
 
 /*
- *  ^C}Ýnho^Ì½ßÌè
+ *  タイマ割込みハンドラ登録のための定数
  */
-#define INTPRI_TIMER    (-6)          /* ÝDæx */
-#define INTATR_TIMER    TA_NULL       /* Ý®« */
+#define INTPRI_TIMER    (-6)          /* 割込み優先度 */
+#define INTATR_TIMER    TA_NULL       /* 割込み属性 */
 
 /*
- *  vZbTË¶Åè`·é
+ *  プロセッサ依存部で定義する
  */
 #include "arm_m_gcc/prc_timer.h"
Index: /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/target_user.txt
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/target_user.txt	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/target/cq_frk_fm3_gcc/target_user.txt	(revision 95)
@@ -1,62 +1,61 @@
 =====================================================================
-                 CQ-FRK-FM3^[QbgË¶ (ssp-1.3.0Îj
+                 CQ-FRK-FM3ターゲット依存部 (ssp-1.3.0対応）
                                Last Modified: '15/05/19
 =====================================================================
 
-Tv
+○概要
 
-CQ-FRK-FM3^[QbgË¶ÍCvZbTÉMB9BF618T(Cortex-M3)ðÚµ½C
-CQ-FRK-FM3{[hðT|[gµÄ¢éD
+CQ-FRK-FM3ターゲット依存部は，プロセッサにMB9BF618T(Cortex-M3)を搭載した，
+CQ-FRK-FM3ボードをサポートしている．
 
 
-J[lÌgp\[X
+○カーネルの使用リソース
 
-J[lÍÈºÌ\[Xðgp·éD
+カーネルは以下のリソースを使用する．
 
-  EROM
-     R[hðzu·éD
-     gpÊÍgp·éAPIÌÉË¶·éD
+  ・ROM
+     コードを配置する．
+     使用量は使用するAPIの数に依存する．
 
-  ERAM
-     f[^ðzu·éD
-  	 gpÊÍIuWFNgÉË¶·éD
+  ・RAM
+     データを配置する．
+  	 使用量はオブジェクト数に依存する．
   
-  ESysTick
-     J[làÌeBbNÌ¶¬Ép¢éD
+  ・SysTick
+     カーネル内部のティックの生成に用いる．
      
-  EMulti Serial Interface(MFS)`l0
-     R\[ÌoÍÉgpD
+  ・Multi Serial Interface(MFS)チャネル0
+     コンソールの出力に使用．
 
 
-¼Ì^[QbgÖÌÚA
+○他のターゲットへの移植
 
-CQ-FRK-FM3^[QbgË¶Ågp·éVAÍCMB9BF618TÌà @\Ì
-Ýðgp·é½ßCMB9BF61XnÌCotex-M3ðp¢½Â«ÉÍeÕÉ|[eB
-OªÂ\Å éD|[eBOÉÖµÄÍCÈºÌú»[`É^[Q
-bgÌú»ðÇÁ·êÎæ¢D
+CQ-FRK-FM3ターゲット依存部で使用するシリアルは，MB9BF618Tの内蔵機能の
+みを使用するため，MB9BF61X系のCotex-M3を用いた環境には容易にポーティ
+ングが可能である．ポーティングに関しては，以下の初期化ルーチンにターゲ
+ット毎の初期化を追加すればよい．
 
-  Etarget_initialize() : target_config.c
-    ^[QbgË¶Ìú»iC¾êj
-  E_hardware_init_hook : target_support.S
-    áxÌ^[QbgË¶Ìú»
-    X^[gAbvW
-[ÌÅCÌú»ÌOÉÄÑo³êé
+  ・target_initialize() : target_config.c
+    ターゲット依存部の初期化（C言語）
+  ・_hardware_init_hook : target_support.S
+    低レベルのターゲット依存の初期化
+    スタートアップモジュールの中で，メモリの初期化の前に呼び出される
 
 
-fobOÂ«
+○デバッグ環境
 
-fobOÂ«ÆµÄÍCJTAGfobKÌgpðOñÆ·éD
-fobKÍGDBðgp.
-JTAGn[hEFAÍCBesttechnology»ÌTiny JTAG-ICE2ðgp.
-\tgEFAÆµÄCOpenOCDðgp.o[WÍA0.7.0ðp¢Ä¢é.
+デバッグ環境としては，JTAGデバッガの使用を前提とする．
+デバッガはGDBを使用.
+JTAGハードウェアは，Besttechnology製のTiny JTAG-ICE2を使用.
+ソフトウェアとして，OpenOCDを使用.バージョンは、0.7.0を用いている.
 
-OpenOCDÉÂ¢ÄÍAÈºÌTCgðQÆ
+OpenOCDについては、以下のサイトを参照
    http://openocd.sourceforge.net/
 
-RpC
+○コンパイラ
 
-GCC Å®ìmFðsÁ½D®ìmFµ½ GCC ÍCÈºÌTCg©ç
-oCipbP[Wð_E[h·é±ÆªÅ«éD
-®ìmFo[WÍ 4.9.3 ÅsÁ½D
+GCC で動作確認を行った．動作確認した GCC は，以下のサイトから
+バイナリパッケージをダウンロードすることができる．
+動作確認バージョンは 4.9.3 で行った．
 
    http://www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/editions/lite-edition/
@@ -64,76 +63,76 @@
 
 
-ÝDæx
+○割込み優先度
 
-ÝDæxÆµÄwèÂ\ÈÍÍÍC-15 ` -1 Å éD
+割込み優先度として指定可能な範囲は，-15 〜 -1 である．
 
-R\[oÍ
+○コンソール出力
 
-R\[oÍÉÍCMFSÌ`l0ðp¢éDCQ-FRK-FM3ÍVA|[gð
-ÚµÄ¢È¢½ßCjo[TîÂÈÇðp¢ÄY|[gðPCÉÚ±·é
-Kvª éD»ÌÛCRS-232ChCoðî·éKvª é_àÓ·é±ÆD
-`l0ÌM/óM|[gÍ»ê¼êCN2Ì16/15sÉø«o³êÄ¢éD
-(¿ÈÝÉGNDÍCN2Ì40sªpÂ\)
+コンソール出力には，MFSのチャネル0を用いる．CQ-FRK-FM3はシリアルポートを
+搭載していないため，ユニバーサル基板などを用いて当該ポートをPCに接続する
+必要がある．その際，RS-232Cドライバを介する必要がある点も注意すること．
+チャネル0の送信/受信ポートはそれぞれCN2の16/15ピンに引き出されている．
+(ちなみにGNDはCN2の40ピンが利用可能)
 
-ÊMtH[}bgÍÈºÌÊèÅ éD
+通信フォーマットは以下の通りである．
 
-  E115200bps, Data 8bit, Parity none, Stop 1bit, Flow control none
+  ・115200bps, Data 8bit, Parity none, Stop 1bit, Flow control none
 
-AhX}bsO
+○アドレスマッピング
 
-@0x00000000 - 0x000FFFFF à FlashROM 1MB
-@@@@@@@@@@@@@@@EvectorZNV
-@@@@@@@@@@@@@@@EtextZNV
-@@@@@@@@@@@@@@@ErodataZNV
-@0x1fff0000 - 0x1FFFFFFF à RAM 64KB
-@@@@@@@@@@@@@@@EdataZNV
-@@@@@@@@@@@@@@@EbssZNV
-@0x20000000 - 0x2000FFFF à RAM 64KB
+　0x00000000 - 0x000FFFFF 内蔵FlashROM 1MB
+　　　　　　　　　　　　　　　・vectorセクション
+　　　　　　　　　　　　　　　・textセクション
+　　　　　　　　　　　　　　　・rodataセクション
+　0x1fff0000 - 0x1FFFFFFF 内蔵RAM 64KB
+　　　　　　　　　　　　　　　・dataセクション
+　　　　　　　　　　　　　　　・bssセクション
+　0x20000000 - 0x2000FFFF 内蔵RAM 64KB
 
-eíÝèÌÏX
+○各種設定の変更
 
-ôÂ©Ìp[^ÍÏXÂ\ÉÈÁÄ¢éDÝèt@CÉÝèÂ\Ú
-ÍÌæ¤ÉÈÁÄ¢éD
+幾つかのパラメータは変更可能になっている．設定ファイル毎に設定可能項目
+は次のようになっている．
 
-Makefile.target ÌÝèÚ
+●Makefile.target の設定項目
 
-EGCC_TARGET
-  GCCÌ suffix ðè`
+・GCC_TARGET
+  GCCの suffix を定義
 
-ETEXT_START_ADDRESS/DATA_START_ADDRESS
-  eLXgZNVCf[^ZNVÌJnAhX
+・TEXT_START_ADDRESS/DATA_START_ADDRESS
+  テキストセクション，データセクションの開始アドレス
 
-EDEFAULT_STK_TOP
-  fBtHgÌñ^XNReLXgpÌX^bNÌI¹Ôn
-  @Eñ^XNReLXgpX^bN|C^Ìúliêj
+・DEFAULT_STK_TOP
+  ディフォルトの非タスクコンテキスト用のスタックの終了番地
+  　・非タスクコンテキスト用スタックポインタの初期値（底）
 
-EINCLUDES
-  CN[hwè
+・INCLUDES
+  インクルード指定
 
-ECOPTS
-  CRpCÖÌIvV
+・COPTS
+  Cコンパイラへのオプション
 
-ELDFLAGS
-  JÖÌIvV
+・LDFLAGS
+  リンカへのオプション
 
-target_config.h ÌÝèÚ
+●target_config.h の設定項目
 
-EDEFAULT_ISTKSZ
-  ftHgÌñ^XNReLXgpÌX^bNTCY
+・DEFAULT_ISTKSZ
+  デフォルトの非タスクコンテキスト用のスタックサイズ
 
-ESIL_DLY_TIM1/2
-  ÷­ÔÒ¿Ì½ßÌè`
+・SIL_DLY_TIM1/2
+  微少時間待ちのための定義
 
-target_syssvc.h ÌÝèÚ
+●target_syssvc.h の設定項目
 
-EBPS_SETTING
-  R\[Égp·é|[giMFSÌ`l0jÌ{[[g
+・BPS_SETTING
+  コンソールに使用するポート（MFSのチャネル0）のボーレート
 
 
-ÏXð
- E2013/04/24
-@@VKì¬
- E2014/03/06
-    êLÚ~XÌC³
- E2015/05/19
-    mFRpCo[WÌÏX
+○変更履歴
+ ・2013/04/24
+　　新規作成
+ ・2014/03/06
+    一部記載ミスの修正
+ ・2015/05/19
+    確認コンパイラバージョンの変更
Index: /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/qb_r5f100le.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/qb_r5f100le.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/qb_r5f100le.h	(revision 95)
@@ -11,34 +11,30 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  * 
- *  ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»EüÏE
- *  ÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 
- *      \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[X
- *      R[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Égp
- *      Å«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gipÒ}
- *      j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºLÌ³Û
- *      ØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Égp
- *      Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌì
- *         \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ
- *        ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹Q
- *      ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDÜ½C
- *      {\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©ÈéRÉîÃ
- *      ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
+ *  上記著作権者は，以下の (1)〜(4) の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改変・
+ *  再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作権
+ *      表示，この利用条件および下記の無保証規定が，そのままの形でソース
+ *      コード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使用
+ *      できる形で再配布する場合には，再配布に伴うドキュメント（利用者マ
+ *      ニュアルなど）に，上記の著作権表示，この利用条件および下記の無保
+ *      証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使用
+ *      できない形で再配布する場合には，次のいずれかの条件を満たすこと．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著作
+ *        権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに報
+ *        告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害
+ *      からも，上記著作権者およびTOPPERSプロジェクトを免責すること．また，
+ *      本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ
+ *      く請求からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ
- *  ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉÎ·
- *  éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEFAÌp
- *  Éæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»ÌÓCð
- *  íÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者およ
+ *  びTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的に対す
+ *  る適合性も含めて，いかなる保証も行わない．また，本ソフトウェアの利用
+ *  により直接的または間接的に生じたいかなる損害に関しても，その責任を負
+ *  わない．
  * 
  */
@@ -50,5 +46,5 @@
 
 /*
- *  MCUË¶îñÌÇÝÝ
+ *  MCU依存情報の読み込み
  */
 #include "rl78_ca78k0r/rl78g13.h"
@@ -56,10 +52,10 @@
 
 /*
- *  VXe^C}Ì^C}ID
+ *  システムタイマのタイマID
  */
 #define TIMER_CH			UINT_C(0)
 
 /*
- *  {[[gÝè
+ *  ボーレート設定
  */
 #define BAUD_9600BPS		UINT_C(207)
@@ -69,5 +65,5 @@
 #define UART_BAUDRATE		BAUD_38400BPS
 /*
- *  NbN\[X
+ *  クロックソース
  */
 #define UART_CLKSRC			CLK_F1
Index: /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/ssp_rl78/sample1/sample1.mtsp
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/ssp_rl78/sample1/sample1.mtsp	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/ssp_rl78/sample1/sample1.mtsp	(revision 95)
@@ -49,5 +49,5 @@
     </Instance>
     <Instance Guid="4deb1ad4-921e-4a4e-9fa0-433f135d1da9">
-      <Name>ã¹ã¿ã¼ãã¢ãã</Name>
+      <Name>スタートアップ</Name>
       <Type>Category</Type>
       <TreeImageGuid>ca577376-6f97-4ef1-9fe7-b03e86e75233</TreeImageGuid>
Index: /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/ssp_rl78/sample1/src/sample1.c
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/ssp_rl78/sample1/src/sample1.c	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/ssp_rl78/sample1/src/sample1.c	(revision 95)
@@ -10,89 +10,83 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  */
  
 /* 
- *  TOPPERS/SSPÌTvvO
- *
- *  SSPJ[lÌî{IÈ®ìðmF·é½ßÌTvvOD
- *
- *  vOÌTv:
- *
- *  [UC^tF[Xðó¯ÂC^XNÆC3ÂÌÀsÀs³êé
- *  ^XNÆÅ\¬³êéD^XNID¨æÑDæxÝèÍÈºÌÊèD
- *     (^XNID)   (N®Dæx)    (ÀsDæx)
- *      MAIN_TASK    MAIN_PRIORITY     (¶É¯¶)
- *      TASK1        TASK1_PRIORITY    (¶É¯¶)
- *      TASK2        TASK2_PRIORITY    (¶É¯¶)
+ *  TOPPERS/SSPのサンプルプログラム
+ *
+ *  SSPカーネルの基本的な動作を確認するためのサンプルプログラム．
+ *
+ *  プログラムの概要:
+ *
+ *  ユーザインタフェースを受け持つメインタスクと，3つの並行実行される
+ *  タスクとで構成される．タスクIDおよび優先度設定は以下の通り．
+ *     (タスクID)   (起動時優先度)    (実行時優先度)
+ *      MAIN_TASK    MAIN_PRIORITY     (左に同じ)
+ *      TASK1        TASK1_PRIORITY    (左に同じ)
+ *      TASK2        TASK2_PRIORITY    (左に同じ)
  *      TASK3        TASK3_PRIORITY    TASK3_EXEPRIORITY
  *
- *  Ü½CN®üúª2bÌüúnhiüúnhID: CYC1j¨æÑ
- *  C^XNN®pÌüúnh(üúnhID: MAIN_CYC)ðp¢éD
- *
- *  ÀsÀs³êé^XNÍCtask_loopñó[vðÀs·éxÉC^XNª
- *  ÀsÅ é±Æð çí·bZ[Wð\¦·éDó[vðÀs·é
- *  ÌÍCó[vÈµÅbZ[WðoÍ·éÆC½ÊÌbZ[WªoÍ
- *  ³êCvOÌ®ìªmFµ¸ç­Èé½ßÅ éDÜ½Cá¬ÈV
- *  A|[gðp¢ÄbZ[WðoÍ·éêÉC·×ÄÌbZ[W
- *  ªoÍÅ«éæ¤ÉCbZ[WÌÊð§À·éÆ¢¤Rà éD
- *
- *  üúnh(CYC1)ÍCN®µ½±Æð¦·bZ[Wð\¦·éD
- *  vOÌN®¼ãÍCüúnh(CYC1)Íâ~óÔÉÈÁÄ¢éD
- *
- *  C^XNÍCüúnh(MAIN_CYC)©ç100~b²ÆÉN®³êC
- *  VAI/O|[g©çÌ¶üÍðs¢CüÍ³ê½
- *  ¶ÉÎµ½ðÀs·éDüÍ³ê½¶ÆÌÖWÍÌÊèD
- *  'Q'ªüÍ³êéÆCvOðI¹·éD
- *
- *  '1' : ÎÛ^XNðTASK1ÉØè·¦éiúÝèjD
- *  '2' : ÎÛ^XNðTASK2ÉØè·¦éD
- *  '3' : ÎÛ^XNðTASK3ÉØè·¦éD
- *  'a' : ÎÛ^XNðact_tskÉæèN®·éD
- *  'e' : ÎÛ^XNðÖÌ^[ÉæèI¹³¹éD
- *  'c' : üúnhð®ìJn³¹éD
- *  'C' : üúnhð®ìâ~³¹éD
- *  'b' : A[nhð5bãÉN®·éæ¤®ìJn³¹éD
- *  'B' : A[nhð®ìâ~³¹éD
- *  'z' : ÎÛ^XNÉCPUáOð­¶³¹éi^XNðI¹³¹éjD
- *  's' : CxgtO(ID:FLG1)ÉY^XNÉÖA·érbgðZbg·éD
- *  'l' : ·×ÄÌ^XNÖA·éCxgtO(ID:FLG1)ÌrbgðNA·éD
- *  'p' : |[OÅCxgtO(FLG1)ðÒÂD
- *  'd' : |[OÅf[^L
-[(ID:DTQ1)Öf[^ðM·éD
- *  'r' : |[OÅf[^L
-[(ID:DTQ1)©çf[^ðóM·éD
+ *  また，起動周期が2秒の周期ハンドラ（周期ハンドラID: CYC1）および
+ *  メインタスク起動用の周期ハンドラ(周期ハンドラID: MAIN_CYC)を用いる．
+ *
+ *  並行実行されるタスクは，task_loop回空ループを実行する度に，タスクが
+ *  実行中であることをあらわすメッセージを表示する．空ループを実行する
+ *  のは，空ループなしでメッセージを出力すると，多量のメッセージが出力
+ *  され，プログラムの動作が確認しずらくなるためである．また，低速なシ
+ *  リアルポートを用いてメッセージを出力する場合に，すべてのメッセージ
+ *  が出力できるように，メッセージの量を制限するという理由もある．
+ *
+ *  周期ハンドラ(CYC1)は，起動したことを示すメッセージを表示する．
+ *  プログラムの起動直後は，周期ハンドラ(CYC1)は停止状態になっている．
+ *
+ *  メインタスクは，周期ハンドラ(MAIN_CYC)から100ミリ秒ごとに起動され，
+ *  シリアルI/Oポートからの文字入力を行い，入力された
+ *  文字に対応した処理を実行する．入力された文字と処理の関係は次の通り．
+ *  'Q'が入力されると，プログラムを終了する．
+ *
+ *  '1' : 対象タスクをTASK1に切り換える（初期設定）．
+ *  '2' : 対象タスクをTASK2に切り換える．
+ *  '3' : 対象タスクをTASK3に切り換える．
+ *  'a' : 対象タスクをact_tskにより起動する．
+ *  'e' : 対象タスクを関数のリターンにより終了させる．
+ *  'c' : 周期ハンドラを動作開始させる．
+ *  'C' : 周期ハンドラを動作停止させる．
+ *  'b' : アラームハンドラを5秒後に起動するよう動作開始させる．
+ *  'B' : アラームハンドラを動作停止させる．
+ *  'z' : 対象タスクにCPU例外を発生させる（タスクを終了させる）．
+ *  's' : イベントフラグ(ID:FLG1)に当該タスクに関連するビットをセットする．
+ *  'l' : すべてのタスク関連するイベントフラグ(ID:FLG1)のビットをクリアする．
+ *  'p' : ポーリングでイベントフラグ(FLG1)を待つ．
+ *  'd' : ポーリングでデータキュー(ID:DTQ1)へデータを送信する．
+ *  'r' : ポーリングでデータキュー(ID:DTQ1)からデータを受信する．
  */
 
@@ -108,5 +102,5 @@
 
 /*
- *  VXeT[rXÌG[nhO
+ *  システムサービスのエラーハンドリング
  */
 #define SVC(expression)											\
@@ -118,12 +112,12 @@
 
 /*
- *  ÀñÀs³êé^XNÖÌbZ[WÌæ
+ *  並列実行されるタスクへのメッセージ領域
  */
 char message[3];
 
 /*
- *  [vñ
- */
-ulong_t	task_loop;		/* ^XNàÅÌ[vñ */
+ *  ループ回数
+ */
+ulong_t	task_loop;		/* タスク内でのループ回数 */
 
 void init_task(intptr_t exinf)
@@ -134,25 +128,25 @@
 #endif /* TASK_LOOP */
 	
-	/* VA|[gÌI[v */
+	/* シリアルポートのオープン */
 	SVC(serial_opn_por(TASK_PORTID));
 	SVC(serial_ctl_por(TASK_PORTID , IOCTL_CRLF));
 	
-	/* O^XNÌú» */
+	/* ログタスクの初期化 */
 	logtask_initialize(LOGTASK_PORTID);
 	
-	/* N®bZ[WÌoÍ */
+	/* 起動メッセージの出力 */
 	syslog(LOG_INFO , "Sample program starts.");
 	
-	/* üúnhÌN® */
+	/* 周期ハンドラの起動 */
 	SVC(sta_cyc(MAIN_CYC));
 	
 	/*
- 	 *  [vñÌÝè
+ 	 *  ループ回数の設定
 	 *
-	 *  TASK_LOOPª}Nè`³êÄ¢éêCªè¹¸ÉCTASK_LOOPÉè
-	 *  `³ê½lðC^XNàÅÌ[vñÆ·éD
+	 *  TASK_LOOPがマクロ定義されている場合，測定せずに，TASK_LOOPに定
+	 *  義された値を，タスク内でのループ回数とする．
 	 *
-	 *  MEASURE_TWICEª}Nè`³êÄ¢éêC1ñÚÌªèÊðÌÄ
-	 *  ÄC2ñÚÌªèÊðg¤D1ñÚÌªèÍ·ßÌÔªoé½ßD
+	 *  MEASURE_TWICEがマクロ定義されている場合，1回目の測定結果を捨て
+	 *  て，2回目の測定結果を使う．1回目の測定は長めの時間が出るため．
 	 */
 #ifdef TASK_LOOP
@@ -163,5 +157,5 @@
 	SVC(get_tim(&stime1));
 	for (i = 0; i < task_loop; i++) {
-		/* Ô©¹¬Ì½ßÌ[vÅ èC±±ÅÍ½àµÈ¢ */
+		/* 時間かせぎのためのループであり，ここでは何もしない */
 	}
 	SVC(get_tim(&stime2));
@@ -180,5 +174,5 @@
 	
 
-	/* VA|[g©çÌ¶óM */
+	/* シリアルポートからの文字受信 */
 	if(serial_rea_dat(TASK_PORTID , &c , 1) > 0)
 	{
@@ -231,5 +225,5 @@
 			break;
 		default:
-			/* G[\¦ */
+			/* エラー表示 */
 			syslog(LOG_INFO , "Unknown command.");
 			break;
@@ -241,5 +235,5 @@
 void task(intptr_t exinf)
 {
-	/* exinfÍ^XNÔ  */
+	/* exinfはタスク番号  */
 	uint_t tskno = (uint_t)exinf;
 	int_t		n = 0;
@@ -256,12 +250,12 @@
 	{
 		for (i = 0; i < task_loop; i++) {
-			/* Ô©¹¬Ì½ßÌ[vÅ èC±±ÅÍ½àµÈ¢ */
+			/* 時間かせぎのためのループであり，ここでは何もしない */
 		}
 		
-		/* ^XNÔÌ\¦ */
+		/* タスク番号の表示 */
 		syslog(LOG_NOTICE, "task%d is running (%03d).   %s",
 										tskno, ++n, graph[tskno-1]);
 		
-		/* R}hæ¾CbZ[WÌæðNA */
+		/* コマンド取得，メッセージ領域をクリア */
 		command = message[tskno - 1];
 		message[tskno - 1] = 0;
Index: /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/ssp_rl78/sample1/src/sample1.cfg
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/ssp_rl78/sample1/src/sample1.cfg	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/ssp_rl78/sample1/src/sample1.cfg	(revision 95)
@@ -1,4 +1,4 @@
 /*
- *  TOPPESRS/SSPJ[lÌTvvO
+ *  TOPPESRS/SSPカーネルのサンプルプログラム
  */
 
Index: /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/ssp_rl78/sample1/src/sample1.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/ssp_rl78/sample1/src/sample1.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/ssp_rl78/sample1/src/sample1.h	(revision 95)
@@ -7,34 +7,30 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  * 
- *  ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»EüÏE
- *  ÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 
- *      \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[X
- *      R[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Égp
- *      Å«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gipÒ}
- *      j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºLÌ³Û
- *      ØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Égp
- *      Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌì
- *         \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ
- *        ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹Q
- *      ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDÜ½C
- *      {\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©ÈéRÉîÃ
- *      ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
+ *  上記著作権者は，以下の (1)〜(4) の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改変・
+ *  再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作権
+ *      表示，この利用条件および下記の無保証規定が，そのままの形でソース
+ *      コード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使用
+ *      できる形で再配布する場合には，再配布に伴うドキュメント（利用者マ
+ *      ニュアルなど）に，上記の著作権表示，この利用条件および下記の無保
+ *      証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使用
+ *      できない形で再配布する場合には，次のいずれかの条件を満たすこと．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著作
+ *        権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに報
+ *        告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害
+ *      からも，上記著作権者およびTOPPERSプロジェクトを免責すること．また，
+ *      本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ
+ *      く請求からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ
- *  ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉÎ·
- *  éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEFAÌp
- *  Éæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»ÌÓCð
- *  íÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者およ
+ *  びTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的に対す
+ *  る適合性も含めて，いかなる保証も行わない．また，本ソフトウェアの利用
+ *  により直接的または間接的に生じたいかなる損害に関しても，その責任を負
+ *  わない．
  * 
  */
@@ -44,5 +40,5 @@
 
 /*
- *  ^[QbgË¶Ìè`
+ *  ターゲット依存の定義
  */
 #include "target_test.h"
@@ -81,9 +77,9 @@
 
 #ifndef TASK_PORTID
-#define	TASK_PORTID		1					/* ¶üÍ·éVA|[gID */
+#define	TASK_PORTID		1					/* 文字入力するシリアルポートID */
 #endif /* TASK_PORTID */
 
 #ifndef LOOP_REF
-#define LOOP_REF		ULONG_C(1000000)	/* ¬xvªpÌ[vñ */
+#define LOOP_REF		ULONG_C(1000000)	/* 速度計測用のループ回数 */
 #endif /* LOOP_REF */
 
Index: /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/ssp_rl78/sample1/sys-cfg/sys-cfg.mtsp
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/ssp_rl78/sample1/sys-cfg/sys-cfg.mtsp	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/ssp_rl78/sample1/sys-cfg/sys-cfg.mtsp	(revision 95)
@@ -41,5 +41,5 @@
     </Instance>
     <Instance Guid="4f2f2209-abeb-432d-847e-367e58304617">
-      <Name>ã¹ã¿ã¼ãã¢ãã</Name>
+      <Name>スタートアップ</Name>
       <Type>Category</Type>
       <TreeImageGuid>ca577376-6f97-4ef1-9fe7-b03e86e75233</TreeImageGuid>
Index: /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/ssp_rl78/ssp_rl78.dr
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/ssp_rl78/ssp_rl78.dr	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/ssp_rl78/ssp_rl78.dr	(revision 95)
@@ -1,10 +1,8 @@
 ;
-; zuè`
-;   ERpC¾êdlÌuZOg¼êvðQlÉRpC¶¬ÌZOgðè`
-;   EæªÉ"@@"ªt­ZOg¼ÍRpCª¶¬D»êÈOÍÆ©è`
-;   Eu[gtbV
-ÌÄN@\Ígp¹¸CtbV
-Ìæè`ÍÈª
-;   E@@VECTnn Ìè`à±±ÅÍÈª
+; メモリ配置定義
+;   ・コンパイラ言語仕様の「セグメント名一覧」を参考にコンパイラ生成のセグメントを定義
+;   ・先頭に"@@"が付くセグメント名はコンパイラが生成．それ以外は独自定義
+;   ・ブートフラッシュの再リンク機能は使用せず，フラッシュメモリ領域定義は省略
+;   ・@@VECTnn の定義もここでは省略
 ;
 
@@ -12,5 +10,5 @@
 ; MEMORY
 ;
-; @@CODE ÌzuAhXðÀè³¹é½ßROMÌæð2ÂÉª·é
+; @@CODE の配置アドレスを安定させるためROM領域を2つに分割する
 MEMORY ROM_HEAD : ( 00000000H, 000000d8H ) / REGULAR
 MEMORY ROM      : ( 000000d8H, 0000ff28H ) / REGULAR
@@ -20,17 +18,16 @@
 ; SEGMENT(ROM_HEAD)
 ;
-; xN^e[uÌæ(00000H--0007FH,128oCg, ½¾µ02h-03hÉÍzuµÈ¢)
+; ベクタテーブル領域(00000H--0007FH,128バイト, ただし02h-03hには配置しない)
 MERGE VECTOR  : AT ( 00000000H ) = ROM_HEAD / REGULAR
 
-; calltÖÌe[upZOg( 00080H-000BFH, 64oCg), CALLT0®«
+; callt関数のテーブル用セグメント( 00080H-000BFH, 64バイト), CALLT0属性
 MERGE @@CALT  : AT ( 00000080H ) = ROM_HEAD / REGULAR
 
-; IvVoCgÌæ(C0H--C2H, C3H)ÍZOgè`Å«È¢
+; オプションバイト領域(C0H--C2H, C3H)はセグメント定義できない
 
-; ZL
-eBID(C4H--CDH)
+; セキュリティID(C4H--CDH)
 MERGE SECID  : AT ( 000000c4H ) = ROM_HEAD / REGULAR
 
-; I`bvfobO@\ÌgpÌæ(CEH--D7H)
+; オンチップデバッグ機能の使用領域(CEH--D7H)
 ;MERGE OCDWORK : AT ( 000000ceH ) = ROM_HEAD / REGULAR
 
@@ -38,32 +35,32 @@
 ; SEGMENT(ROM)
 ;
-MERGE @@CODE  	: = ROM / REGULAR	; R[hpZOg(near), BASE®«
-MERGE @@BASE  	: = ROM / REGULAR	; calltÖEèÝÖpZOg, BASE®«
-MERGE @@LCODE 	: = ROM / REGULAR	; CuER[hpZOg(near), BASE®«
-MERGE @@LBASE 	: = ROM / REGULAR	; CuEcalltÖpZOg, BASE®«
-; ±ÌsðLøÉ·éÆÈº©MIRRORP®«ª¸íêé½ßCÆè ¦¸RgÆ·é
-;MERGE @@CNST  	: = ROM / REGULAR	; ROMf[^(near), MIRRORP®«
-MERGE @@R_INIT	: = ROM / REGULAR	; nearú»f[^pZOg(úl è), UNIT64KP®«
-MERGE @@R_INIS	: = ROM / REGULAR	; ú»f[^pZOg(úl èsregÏ), UNIT64KP®«
+MERGE @@CODE  	: = ROM / REGULAR	; コード部用セグメント(near), BASE属性
+MERGE @@BASE  	: = ROM / REGULAR	; callt関数・割り込み関数用セグメント, BASE属性
+MERGE @@LCODE 	: = ROM / REGULAR	; ライブラリ・コード部用セグメント(near), BASE属性
+MERGE @@LBASE 	: = ROM / REGULAR	; ライブラリ・callt関数用セグメント, BASE属性
+; この行を有効にするとなぜかMIRRORP属性が失われるため，とりあえずコメントとする
+;MERGE @@CNST  	: = ROM / REGULAR	; ROMデータ(near), MIRRORP属性
+MERGE @@R_INIT	: = ROM / REGULAR	; near初期化データ用セグメント(初期値あり), UNIT64KP属性
+MERGE @@R_INIS	: = ROM / REGULAR	; 初期化データ用セグメント(初期値ありsreg変数), UNIT64KP属性
 
-MERGE @@CODEL 	: = ROM / REGULAR	; R[hpZOg(far)
-MERGE @@LCODEL	: = ROM / REGULAR	; CuER[hpZOg(far)
-MERGE @@CNSTL 	: = ROM / REGULAR	; ROMf[^(far), PAGE64KP®«
-MERGE @@RLINIT	: = ROM / REGULAR	; farú»f[^pZOg(úl è), UNIT64KP®«
+MERGE @@CODEL 	: = ROM / REGULAR	; コード部用セグメント(far)
+MERGE @@LCODEL	: = ROM / REGULAR	; ライブラリ・コード部用セグメント(far)
+MERGE @@CNSTL 	: = ROM / REGULAR	; ROMデータ(far), PAGE64KP属性
+MERGE @@RLINIT	: = ROM / REGULAR	; far初期化データ用セグメント(初期値あり), UNIT64KP属性
 
 ;
 ; SEGMENT(RAM)
 ;
-MERGE @@BITS  	: = RAM / REGULAR	; boolean^Ï, bit^ÏpZOg, BSEGÌæ
+MERGE @@BITS  	: = RAM / REGULAR	; boolean型変数, bit型変数用セグメント, BSEG領域
 
-MERGE @@INIT  	: = RAM / REGULAR	; f[^ÌæpZOg(úl è, nearzu), BASEP®«
-MERGE @@DATA  	: = RAM / REGULAR	; f[^ÌæpZOg(úlÈµ, nearzu), BASEP®«
-MERGE @@INIS  	: = RAM / REGULAR	; f[^ÌæpZOg(úl è sreg Ï), SADDRP®«
-MERGE @@DATS  	: = RAM / REGULAR	; f[^ÌæpZOg(úlÈµ sreg Ï), SADDRP®«
-MERGE @@INITL 	: = RAM / REGULAR	; f[^ÌæpZOg(úl è, farzu), UNIT64KP®«
-MERGE @@DATAL 	: = RAM / REGULAR	; f[^ÌæpZOg(úlÈµ, farzu), UNIT64KP®«
+MERGE @@INIT  	: = RAM / REGULAR	; データ領域用セグメント(初期値あり, near配置), BASEP属性
+MERGE @@DATA  	: = RAM / REGULAR	; データ領域用セグメント(初期値なし, near配置), BASEP属性
+MERGE @@INIS  	: = RAM / REGULAR	; データ領域用セグメント(初期値あり sreg 変数), SADDRP属性
+MERGE @@DATS  	: = RAM / REGULAR	; データ領域用セグメント(初期値なし sreg 変数), SADDRP属性
+MERGE @@INITL 	: = RAM / REGULAR	; データ領域用セグメント(初期値あり, far配置), UNIT64KP属性
+MERGE @@DATAL 	: = RAM / REGULAR	; データ領域用セグメント(初期値なし, far配置), UNIT64KP属性
 
-MERGE @@CODER  	: = RAM / REGULAR	; RAMzu R[hpZOg
-MERGE @@LCODER	: = RAM / REGULAR	; RAMzu CuER[hpZOg
-MERGE @@CNSTR 	: = RAM / REGULAR	; RAMzu ROMf[^pZOg(near), MIRRORP Ü½Í UNIT64KP®«
-MERGE @@CNSTLR 	: = RAM / REGULAR	; RAMzu ROMf[^pZOg(far), PAGE64KP®«
+MERGE @@CODER  	: = RAM / REGULAR	; RAM配置 コード部用セグメント
+MERGE @@LCODER	: = RAM / REGULAR	; RAM配置 ライブラリ・コード用セグメント
+MERGE @@CNSTR 	: = RAM / REGULAR	; RAM配置 ROMデータ用セグメント(near), MIRRORP または UNIT64KP属性
+MERGE @@CNSTLR 	: = RAM / REGULAR	; RAM配置 ROMデータ用セグメント(far), PAGE64KP属性
Index: /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/ssp_rl78/ssp_rl78.mtpj
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/ssp_rl78/ssp_rl78.mtpj	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/ssp_rl78/ssp_rl78.mtpj	(revision 95)
@@ -23,5 +23,5 @@
     </Instance>
     <Instance Guid="6a49f382-64b8-4cda-b6de-092afb95b2fe">
-      <Name>ã¹ã¿ã¼ãã¢ãã</Name>
+      <Name>スタートアップ</Name>
       <Type>Category</Type>
       <TreeImageGuid>ca577376-6f97-4ef1-9fe7-b03e86e75233</TreeImageGuid>
Index: /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target.tf
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target.tf	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target.tf	(revision 95)
@@ -1,9 +1,9 @@
 $ 
-$  ^[QbgË¶ev[giQB-R5F100LEpj
+$  ターゲット依存テンプレート（QB-R5F100LE用）
 $ 
 
 $ 
-$  J[lÇÉÅè³êÄ¢éÝÔ(INTNO_FIX_KERNEL)
-$  J[lÇOÉÅè³êÄ¢éÝÔ(INTNO_FIX_NONKERNEL)
+$  カーネル管理に固定されている割込み番号(INTNO_FIX_KERNEL)
+$  カーネル管理外に固定されている割込み番号(INTNO_FIX_NONKERNEL)
 $ 
 
@@ -12,6 +12,6 @@
 
 $ 
-$  J[lÇÉÅè³êÄ¢éÝnhÔ(INHNO_FIX_KERNEL)
-$  J[lÇOÉÅè³êÄ¢éÝnhÔ(INHNO_FIX_NONKERNEL)
+$  カーネル管理に固定されている割込みハンドラ番号(INHNO_FIX_KERNEL)
+$  カーネル管理外に固定されている割込みハンドラ番号(INHNO_FIX_NONKERNEL)
 $ 
 
@@ -21,10 +21,10 @@
 
 $ 
-$  Ë¶ÌÇÝÝ
+$  依存部の読み込み
 $ 
 $INCLUDE "rl78_ca78k0r/rl78g13.tf"$
 
 $ 
-$  oi[oÍpÌTFt@C
+$  バナー出力用のTFファイル
 $ 
 $INCLUDE "syssvc/banner.tf"$
Index: /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target_cfg1_out.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target_cfg1_out.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target_cfg1_out.h	(revision 95)
@@ -1,4 +1,4 @@
 /*
- *		cfg1_out.cÌNÉKvÈX^uÌè`
+ *		cfg1_out.cのリンクに必要なスタブの定義
  */
 
Index: /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target_config.c
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target_config.c	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target_config.c	(revision 95)
@@ -10,40 +10,35 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  * 
- *  ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»EüÏE
- *  ÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 
- *      \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[X
- *      R[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Égp
- *      Å«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gipÒ}
- *      j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºLÌ³Û
- *      ØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Égp
- *      Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌì
- *         \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ
- *        ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹Q
- *      ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDÜ½C
- *      {\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©ÈéRÉîÃ
- *      ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
+ *  上記著作権者は，以下の (1)〜(4) の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改変・
+ *  再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作権
+ *      表示，この利用条件および下記の無保証規定が，そのままの形でソース
+ *      コード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使用
+ *      できる形で再配布する場合には，再配布に伴うドキュメント（利用者マ
+ *      ニュアルなど）に，上記の著作権表示，この利用条件および下記の無保
+ *      証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使用
+ *      できない形で再配布する場合には，次のいずれかの条件を満たすこと．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著作
+ *        権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに報
+ *        告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害
+ *      からも，上記著作権者およびTOPPERSプロジェクトを免責すること．また，
+ *      本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ
+ *      く請求からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ
- *  ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉÎ·
- *  éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEFAÌp
- *  Éæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»ÌÓCð
- *  íÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者およ
+ *  びTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的に対す
+ *  る適合性も含めて，いかなる保証も行わない．また，本ソフトウェアの利用
+ *  により直接的または間接的に生じたいかなる損害に関しても，その責任を負
+ *  わない．
  * 
  */
 
 /*
- *	^[QbgVXeË¶W
-[iQB-R5F100LEpj
+ *	ターゲットシステム依存モジュール（QB-R5F100LE用）
  */
 #pragma sfr
@@ -52,5 +47,5 @@
 
 /*
- *  ^[QbgVXeË¶ ú»[`
+ *  ターゲットシステム依存 初期化ルーチン
  */
 
@@ -59,45 +54,45 @@
 {
 	/*
-	 *  vZbTË¶Ìú»
+	 *  プロセッサ依存の初期化
 	 */
 	prc_initialize();
 	
 	/*
-	 * NbNÝè
+	 * クロック設定
 	 */
-	// X1­M[hCáÁï­UCAMPH=1(¬NbN)
+	// X1発信モード，低消費発振，AMPH=1(高速クロック)
 	CMC = UINT8_C(0x51);
 	
-	// NbN®ìXe[^X§äWX^(X1JnCXT1â~, I`bvIV[^®ì)
+	// クロック動作ステータス制御レジスタ(X1開始，XT1停止, オンチップオシレータ動作)
 	CSC = UINT8_C(0x40);
 
-	// ­UªÀè·éÜÅÌÔ¾¯ÒÂ
+	// 発振が安定するまでの時間だけ待つ
 	while((OSTC & UINT8_C(0x01)) == 0){}
 	
-	// VXeNbN§äWX^
-	CKC &= ~UINT8_C(0x40);	// CPU/üÓn[hEFANbNÉCVXeNbN
-	CKC |= UINT8_C(0x10);	// CVXeNbNÉ¬VXeNbN
-	CKC &= ~UINT8_C(0x0f);	// K¸0ÉÝè
+	// システムクロック制御レジスタ
+	CKC &= ~UINT8_C(0x40);	// CPU/周辺ハードウェアクロックにメインシステムクロック
+	CKC |= UINT8_C(0x10);	// メインシステムクロックに高速システムクロック
+	CKC &= ~UINT8_C(0x0f);	// 必ず0に設定
 
-	// NbN®ìXe[^X§äWX^
-	CSC |= UINT8_C(0x01); 	// ¬I`bvIV[^â~
+	// クロック動作ステータス制御レジスタ
+	CSC |= UINT8_C(0x01); 	// 高速オンチップオシレータ停止
 
 	/*
-	 * UARTpsÝè
+	 * UART用ピン設定
 	 */
-	// RXDCTXD É P11, P12 ðgp
+	// RXD，TXD に P11, P12 を使用
 	PIOR &= ~TBIT_PIOR_PIOR1;
 
-	// P11(RxD0) ðüÍÉÝè
+	// P11(RxD0) を入力に設定
 	PM1 |= UINT8_C(0x02);
 
-	// P12(TxD0) ðHÉÝèµÄ¨­
+	// P12(TxD0) をHに設定しておく
 	P1 |= UINT8_C(0x04);
 
-	// P12(TxD0) ðoÍÉÝè
+	// P12(TxD0) を出力に設定
 	PM1 &= ~UINT8_C(0x04);
 
 	/*
-	 * UARTÌÝè
+	 * UARTの設定
 	 */
 	target_sau_init(1);	
@@ -106,5 +101,5 @@
 
 /*
- *  ^[QbgVXeÌI¹[`
+ *  ターゲットシステムの終了ルーチン
  */
 
@@ -112,5 +107,5 @@
 target_exit(void)
 {
-	/* CPUË¶ÌI¹[` */
+	/* CPU依存の終了ルーチン */
 	prc_terminate();
 	
@@ -121,5 +116,5 @@
 
 /*
- * VXeOÌáxoÍÌ½ßÌ¶oÍ
+ * システムログの低レベル出力のための文字出力
  */
 void target_fput_log(char c)
@@ -132,5 +127,5 @@
 
 /*
- *  AT[VÌ¸sÌÀsf
+ *  アサーションの失敗時の実行中断処理
  */
 void
Index: /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target_config.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target_config.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target_config.h	(revision 95)
@@ -11,45 +11,40 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  */
 
 /*
- *		^[QbgË¶W
-[iQB-R5F100LE pj
+ *		ターゲット依存モジュール（QB-R5F100LE 用）
  *
- *  J[lÌ^[QbgË¶ÌCN[ht@CD
- *  kernel_impl.h Ì^[QbgË¶ÌÊut¯ÆÈéD
+ *  カーネルのターゲット依存部のインクルードファイル．
+ *  kernel_impl.h のターゲット依存部の位置付けとなる．
  */
 
@@ -58,5 +53,5 @@
 
 /*
- *  ^[QbgVXeÌn[hEFA¹Ìè`
+ *  ターゲットシステムのハードウェア資源の定義
  */
 #include "qb_r5f100le.h"
@@ -64,17 +59,17 @@
 
 /*
- *  SSPJ[l®ìÌ}bvÆÖA·éè`
+ *  SSPカーネル動作時のメモリマップと関連する定義
  *
- *  0x000D8 - 0x0ffff     à FlashROM  ñ63.8KB
- *  0xFEF00 - 0xFFEDF     à RAM  3.9KB
+ *  0x000D8 - 0x0ffff     内蔵FlashROM  約63.8KB
+ *  0xFEF00 - 0xFFEDF     内蔵RAM  3.9KB
  */
 
 /*
- *  ftHgÌñ^XNReLXgpÌX^bNÌæÌè`
+ *  デフォルトの非タスクコンテキスト用のスタック領域の定義
  */
 #define DEFAULT_ISTKSZ		0x400U
 
 /*
- *  áxOoÍÌoÍæ(ùèÅÍVAÆ·é)
+ *  低レベルログ出力の出力先(既定ではシリアルとする)
  */
 #include "target_serial.h"
@@ -85,12 +80,12 @@
 
 /*
- *  ^[QbgVXeË¶Ìú»
+ *  ターゲットシステム依存の初期化
  */
 extern void	target_initialize(void);
 
 /*
- *  ^[QbgVXeÌI¹
+ *  ターゲットシステムの終了
  *
- *  VXeðI¹·éÉg¤D
+ *  システムを終了する時に使う．
  */
 extern void	target_exit(void) NoReturn;
@@ -99,6 +94,5 @@
 
 /*
- *  vZbTË¶W
-[iRL78pj
+ *  プロセッサ依存モジュール（RL78用）
  */
 #include "rl78_ca78k0r/rl78g13_config.h"
Index: /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target_kernel.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target_kernel.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target_kernel.h	(revision 95)
@@ -12,36 +12,32 @@
  *  Copyright (C) 2008 by Witz Corporation, JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  */
@@ -49,8 +45,8 @@
 /*
  *
- *  ±ÌCN[ht@CÍCkernel.hÅCN[h³êéD¼Ìt@
- *  C©ç¼ÚCN[h·é±ÆÍÈ¢D±Ìt@CðCN[h
- *  ·éOÉCt_stddef.hªCN[h³êéÌÅC»êçÉË¶µÄàæ
- *  ¢D
+ *  このインクルードファイルは，kernel.hでインクルードされる．他のファ
+ *  イルから直接インクルードすることはない．このファイルをインクルード
+ *  する前に，t_stddef.hがインクルードされるので，それらに依存してもよ
+ *  い．
  */
 
@@ -59,18 +55,18 @@
 
 /*
- *  vZbTÅ¤ÊÈè`
+ *  プロセッサで共通な定義
  */
 #include "rl78_ca78k0r/prc_kernel.h"
 
 /*
- *  T|[g·é@\Ìè`
+ *  サポートする機能の定義
  */
-//#define TOPPERS_SUPPORT_GET_UTM			/* get_utmðT|[g·é */
+//#define TOPPERS_SUPPORT_GET_UTM			/* get_utmをサポートする */
 
 /*
- *  ^CeBbNÌè`
+ *  タイムティックの定義
  */
-#define	TIC_NUME		1U			/* ^CeBbNÌüúÌªq */
-#define	TIC_DENO		1U			/* ^CeBbNÌüúÌªê */
+#define	TIC_NUME		1U			/* タイムティックの周期の分子 */
+#define	TIC_DENO		1U			/* タイムティックの周期の分母 */
 
 #endif /* TOPPERS_TARGET_KERNEL_H */
Index: /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target_serial.c
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target_serial.c	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target_serial.c	(revision 95)
@@ -10,41 +10,37 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  */
 
 /*
- * VAhCoiQB-R5F100LEpj
+ * シリアルドライバ（QB-R5F100LE用）
  */
 #pragma sfr
@@ -56,5 +52,5 @@
 
 /*
- * VAI/O|[gÇubNGA
+ * シリアルI/Oポート管理ブロックエリア
  */
 static SIOPCB siopcb_table[TNUM_SIOP];
@@ -62,5 +58,5 @@
 
 /*
- * WX^Ýèl
+ * レジスタ設定値
  */
 #define PORT2SIOPID(x)	((x) + 1)
@@ -71,73 +67,73 @@
 
 /*
- * áxVAú»
+ * 低レベルシリアル初期化
  */
 void target_sau_init(ID siopid)
 {
-	/* ú»ÏÝÌêÍ·®É^[ */
+	/* 初期化済みの場合はすぐにリターン */
 	if(PER0 & TBIT_PER0_SAU0EN) {
 		return;
 	}
 
-	/* NbNÂ  */
+	/* クロック供給許可  */
 	PER0 |= TBIT_PER0_SAU0EN;
 
-	// ­µÒÂ
+	// 少し待つ
 	NOP();
 	NOP();
 	NOP();
 	
-	// CKm0 ðIðDügÍ fclk/8 (=2.5MHz)
+	// CKm0 を選択．周波数は fclk/8 (=2.5MHz)
 	SPS0 = UINT16_C(0x0033);
 
-	// jbg0C`l{0,1} Ì®ìâ~
+	// ユニット0，チャネル{0,1} の動作停止
 	ST0 |= UINT16_C(0x0003);
 	
-	// [hÝè
-	// ®ìNbNFSPS0WX^ÅÝèµ½®ìNbNÌ¤¿CCK00 Ìûðg¤ 
-	// ]NbNFCKS00, CKS01 rbgÅwèµ½®ìNbN(ÂÜèCK00)ÌªüNbN
-	// X^[ggKvöFM-->\tgEFAgKÌÝ, óM-->RxD0[q
-	// §ºèðX^[grbgÆµÄo
-	// UART[hCèÝÍ]®¹Ý
+	// モード設定
+	// 動作クロック：SPS0レジスタで設定した動作クロックのうち，CK00 の方を使う 
+	// 転送クロック：CKS00, CKS01 ビットで指定した動作クロック(つまりCK00)の分周クロック
+	// スタートトリガ要因：送信-->ソフトウェアトリガのみ, 受信-->RxD0端子
+	// 立下りをスタートビットとして検出
+	// UARTモード，割り込みは転送完了割込み
 	SMR00 = UINT16_C(0x0022);
 	SMR01 = UINT16_C(0x0122);
 	
-	// `l0: MÌÝÂC`l1: óMÌÝÂ
-	// G[ÝINTSRExÌ­¶ðÖ~
-	// peBÈµCLSBt@[XgC1XgbvrbgC8rbgf[^·
+	// チャネル0: 送信のみ許可，チャネル1: 受信のみ許可
+	// エラー割込みINTSRExの発生を禁止
+	// パリティなし，LSBファースト，1ストップビット，8ビットデータ長
 	SCR00 = UINT16_C(0x8097);
 	SCR01 = UINT16_C(0x4097);
 
-	// [rbg15:9] = 0x40 --> 64
-	// VAÖÌNbNÍ 2.5MHz(=20/8)
-	// ªüäÍ (64+1)*2 = 130
+	// [ビット15:9] = 0x40 --> 64
+	// シリアルへの供給クロックは 2.5MHz(=20/8)
+	// 分周比は (64+1)*2 = 130
 	// 2.5[MHz]/130 = 19.23[kHz]
 	SDR00 = UINT16_C(0x8000);
 	SDR01 = UINT16_C(0x8000);
 
-	// óM|[gÌmCYtB^ON
+	// 受信ポートのノイズフィルタON
 	NFEN0 |= UINT8_C(0x01);
 
-	// G[tOÌNA(óM¤Ì`l1ÌÝ)
+	// エラーフラグのクリア(受信側のチャネル1のみ)
 	SIR01 |= UINT16_C(0x0007);
 	
-	// VAf[^oÍlð`l0ÌÝ1Æ·éD
+	// シリアルデータ出力値をチャネル0のみ1とする．
 	SO0 |= UINT16_C(0x0001);
 	
-	// ÊMf[^Í½]¹¸»ÌÜÜoÍ
+	// 通信データは反転せずそのまま出力
 	SOL0 = UINT16_C(0x0000);
 
 	/*
-	 * VA`l0Jn
+	 * シリアルチャネル0開始
 	 */
-	// VAoÍÂ
+	// シリアル出力許可
 	SOE0 |= UINT16_C(0x0001);
 
-	// `l{0,1}ÌJn
+	// チャネル{0,1}の開始
 	SS0 |= UINT16_C(0x0003);
 }
 
 /*
- *  SIOú»
+ *  SIO初期化
  */
 void sio_initialize(intptr_t exinf)
@@ -146,5 +142,5 @@
 
 /*
- *  VAI[v
+ *  シリアルオープン
  */
 SIOPCB *sio_opn_por(ID siopid, intptr_t exinf)
@@ -162,12 +158,12 @@
 	p_siopcb->exinf = exinf;
 	
-	// ÝÌ}XN
+	// 割込みのマスク
 	dis_int(INTNO_INTST0);
 	dis_int(INTNO_INTSR0);
-	// ÝvNA
+	// 割込み要求クリア
 	x_clear_int(INTNO_INTST0);
 	x_clear_int(INTNO_INTSR0);
 
-	// n[hEFAÌú»
+	// ハードウェアの初期化
 	target_sau_init(siopid);	
 
@@ -176,15 +172,14 @@
 
 /*
- *  VAN[Y
+ *  シリアルクローズ
  */
 void sio_cls_por(SIOPCB *p_siopcb)
 {
-	/* óMÖ~ */
-
-	// `l{0,1}Ìâ~
+	/* 送受信禁止 */
+
+	// チャネル{0,1}の停止
 	ST0 |= UINT16_C(0x0003);
 
-	/* VAW
-[ð³øÉ·é */
+	/* シリアルモジュールを無効にする */
 	PER0 &= ~TBIT_PER0_SAU0EN;
 }
@@ -192,10 +187,10 @@
 
 /*
- *  1¶M
+ *  1文字送信
  */
 bool_t
 sio_snd_chr(SIOPCB *p_siopcb, char c)
 {
-	// Mobt@ªóÈçÎC1¶M
+	// 送信バッファが空ならば，1文字送信
 	if((SSR00L & TBIT_SSRmnL_TSF) == UINT16_C(0)) {
 		SDR00 = (uint16_t)c;
@@ -208,5 +203,5 @@
 
 /*
- *  1¶óM
+ *  1文字受信
  */
 int_t
@@ -215,5 +210,5 @@
 	int_t c = -1;
 
-	// óMobt@Éf[^ª êÎC1¶óM
+	// 受信バッファにデータがあれば，1文字受信
 	if((SSR01L & TBIT_SSRmnL_BFF) != 0) {
 		c = (int_t)SDR01;
@@ -224,5 +219,5 @@
 
 /*
- *  R[obNÌÂ
+ *  コールバックの許可
  */
 void
@@ -246,5 +241,5 @@
 
 /* 
- *  R[obNÌÖ~
+ *  コールバックの禁止
  */
 void
@@ -269,9 +264,9 @@
 
 /*
- *  ÝT[rX[`
- */
-
-/*
- *  óMÝ
+ *  割込みサービスルーチン
+ */
+
+/*
+ *  受信割込み
  */
 void
@@ -282,5 +277,5 @@
 	if((p_siopcb->enacb & TBIT_ENACB_RCV) != 0) {
 		/*
-		 *  óMÊmR[obN[`ðÄÑo·D
+		 *  受信通知コールバックルーチンを呼び出す．
 		 */
 		sio_irdy_rcv(p_siopcb->exinf);
@@ -289,5 +284,5 @@
 
 /*
- *  MÝ
+ *  送信割込み
  */
 void
@@ -298,5 +293,5 @@
 	if((p_siopcb->enacb & TBIT_ENACB_SND) != 0) {
 		/*
-		 *  MÊmR[obN[`ðÄÑo·D
+		 *  送信通知コールバックルーチンを呼び出す．
 		 */
 		sio_irdy_snd(p_siopcb->exinf);
@@ -305,13 +300,13 @@
 
 /*
- *  1¶oÍi|[OÅÌoÍj
+ *  1文字出力（ポーリングでの出力）
  */
 void
 sio_pol_snd_chr(char c, ID siopid)
 {
-	/* Mobt@ªóÉÈéÜÅÒÂ(LÀÔàÌð¬§ð¼è) */
+	/* 送信バッファが空になるまで待つ(有限時間内の条件成立を仮定) */
 	while((SSR00L & TBIT_SSRmnL_TSF) != 0){}
 
-	// 1¶M	
+	// 1文字送信	
 	SDR00 = (uint16_t)c;
 }
Index: /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target_serial.cfg
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target_serial.cfg	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target_serial.cfg	(revision 95)
@@ -1,4 +1,4 @@
 /*
- *  SIOhCoiQB-R5F100LEpjÌRtBO[Vt@C
+ *  SIOドライバ（QB-R5F100LE用）のコンフィグレーションファイル
  */
 
Index: /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target_serial.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target_serial.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target_serial.h	(revision 95)
@@ -9,41 +9,37 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  */
 
 /*
- *  VAI/OfoCXiSIOjhCo
+ *  シリアルI/Oデバイス（SIO）ドライバ
  */
 
@@ -54,66 +50,66 @@
 #include "target_syssvc.h"
 
-#define	TBIT_ENACB_RCV	UINT8_C(0x02)	/* óMR[obNÂ */
-#define	TBIT_ENACB_SND	UINT8_C(0x01)	/* MR[obNÂ */
+#define	TBIT_ENACB_RCV	UINT8_C(0x02)	/* 受信コールバック許可 */
+#define	TBIT_ENACB_SND	UINT8_C(0x01)	/* 送信コールバック許可 */
 
 /*
- *  e|[gÉÎ·éÝÔCDæx
+ *  各ポートに対応する割込み番号，優先度
  */
-/* |[g1 */
-// ÝÔ
+/* ポート1 */
+// 割込み番号
 #define INTNO_SIOP1_SND	INTNO_INTST0
 #define INTNO_SIOP1_RCV	INTNO_INTSR0
 
-// ÝDæx
+// 割込み優先度
 #define INTPRI_SIOP1_SND	(-1)	
 #define INTPRI_SIOP1_RCV	(-2)
 
-// ÝvC®«
+// 割込み要求ライン属性
 #define INTATR_SIOP1_RCV  	(0)
 #define INTATR_SIOP1_SND  	(0)
 
 /*
- *  R[obN[`Ì¯ÊÔ
+ *  コールバックルーチンの識別番号
  */
-#define SIO_RDY_SND    1U        /* MÂ\R[obN */
-#define SIO_RDY_RCV    2U        /* óMÊmR[obN */
+#define SIO_RDY_SND    1U        /* 送信可能コールバック */
+#define SIO_RDY_RCV    2U        /* 受信通知コールバック */
 
 #ifndef TOPPERS_MACRO_ONLY
 
 /*
- *  VAI/O|[gÇubN
+ *  シリアルI/Oポート管理ブロック
  */
 typedef struct sio_port_control_block {
-	intptr_t      	exinf;    	/* g£îñ */
-	uint8_t       	enacb;      /* R[obNÂÛÌóÔ */
+	intptr_t      	exinf;    	/* 拡張情報 */
+	uint8_t       	enacb;      /* コールバック可否の状態 */
 };
 
 /*
- *  VAI/O|[gÇubNÌè`
+ *  シリアルI/Oポート管理ブロックの定義
  */
 typedef struct sio_port_control_block	SIOPCB;
 
 /*
- *  SIOú»
+ *  SIO初期化
  */
 extern void sio_initialize(intptr_t exinf);
 
 /*
- * áxVAú»
+ * 低レベルシリアル初期化
  */
 extern void target_sau_init(ID siopid);
 
 /*
- *  VAI[v
+ *  シリアルオープン
  */
 extern SIOPCB *sio_opn_por(ID siopid, intptr_t exinf);
 
 /*
- *  VAN[Y
+ *  シリアルクローズ
  */
 extern void sio_cls_por(SIOPCB *p_siopcb);
 
 /*
- *  ÝT[rX[`
+ *  割込みサービスルーチン
  */
 extern void sio_isr_rcv(intptr_t exinf);
@@ -121,35 +117,35 @@
 
 /*
- *  1¶M
+ *  1文字送信
  */
 extern bool_t sio_snd_chr(SIOPCB *siopcb, char c);
 
 /*
- *  1¶óM
+ *  1文字受信
  */
 extern int_t sio_rcv_chr(SIOPCB *siopcb);
 
 /*
- *  R[obNÌÂ
+ *  コールバックの許可
  */
 extern void sio_ena_cbr(SIOPCB *siopcb, uint_t cbrtn);
 
 /* 
- *  R[obNÌÖ~
+ *  コールバックの禁止
  */
 extern void sio_dis_cbr(SIOPCB *siopcb, uint_t cbrtn);
 
 /*
- *  MÂ\R[obN
+ *  送信可能コールバック
  */
 extern void sio_irdy_snd(intptr_t exinf);
 
 /*
- *  óMÊmR[obN
+ *  受信通知コールバック
  */
 extern void sio_irdy_rcv(intptr_t exinf);
 
 /*
- *  1¶Mi|[OÅÌoÍj
+ *  1文字送信（ポーリングでの出力）
  */
 extern void sio_pol_snd_chr(char c, ID siopid);
Index: /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target_sil.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target_sil.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target_sil.h	(revision 95)
@@ -7,46 +7,42 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  */
 
 /*
- *		sil.h Ì^[QbgË¶iQB-R5F100LEpj
+ *		sil.h のターゲット依存部（QB-R5F100LE用）
  *
- *  ±ÌCN[ht@CÍCsil.hÌæªÅCN[h³êéD¼Ìt@
- *  C©çÍ¼ÚCN[h·é±ÆÍÈ¢D±Ìt@CðCN[
- *  h·éOÉCt_stddef.hªCN[h³êéÌÅC»êçÉË¶µÄà
- *  æ¢D
+ *  このインクルードファイルは，sil.hの先頭でインクルードされる．他のファ
+ *  イルからは直接インクルードすることはない．このファイルをインクルー
+ *  ドする前に，t_stddef.hがインクルードされるので，それらに依存しても
+ *  よい．
  */
 
@@ -55,12 +51,12 @@
 
 /*
- *  ^[QbgÉË¶·éÈºÌè`Ítarget_support.asm ÉLq·éD(not yet)
+ *  ターゲットに依存する以下の定義はtarget_support.asm に記述する．(not yet)
  *
- *  ESIL_DLY_TIM1
- *  ESIL_DLY_TIM2
+ *  ・SIL_DLY_TIM1
+ *  ・SIL_DLY_TIM2
  */
 
 /*
- *  vZbTÅ¤ÊÈè`
+ *  プロセッサで共通な定義
  */
 #include "rl78_ca78k0r/prc_sil.h"
Index: /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target_stddef.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target_stddef.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target_stddef.h	(revision 95)
@@ -11,46 +11,42 @@
  *  Copyright (C) 2008 by Witz Corporation, JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  */
 
 /*
- *  t_stddef.hÌ^[QbgË¶iQB-R5F100LEpj
+ *  t_stddef.hのターゲット依存部（QB-R5F100LE用）
  *
- *  ±ÌCN[ht@CÍCt_stddef.hÌæªÅCN[h³êéD
- *  ¼Ìt@C©çÍ¼ÚCN[h·é±ÆÍÈ¢D¼ÌCN[h
- *  t@CÉæ§ÁÄ³êé½ßC¼ÌCN[ht@CÉË¶µ
- *  ÄÍÈçÈ¢D
+ *  このインクルードファイルは，t_stddef.hの先頭でインクルードされる．
+ *  他のファイルからは直接インクルードすることはない．他のインクルード
+ *  ファイルに先立って処理されるため，他のインクルードファイルに依存し
+ *  てはならない．
  */
 
@@ -59,15 +55,15 @@
 
 /*
- *  ^[Qbgð¯Ê·é½ßÌ}NÌè`
+ *  ターゲットを識別するためのマクロの定義
  */
-#define TOPPERS_QB_R5F100LE		/* VXeªÌ */
+#define TOPPERS_QB_R5F100LE		/* システム略称 */
 
 /*
- *  J­Â«Å¤ÊÈè`
+ *  開発環境で共通な定義
  */
 #include "ca78k0r/tool_stddef.h"
 
 /*
- *  vZbTÅ¤ÊÈè`
+ *  プロセッサで共通な定義
  */
 #include "rl78_ca78k0r/prc_stddef.h"
@@ -76,12 +72,12 @@
 
 /*
- *  AT[VÌ¸sÌÀsf
+ *  アサーションの失敗時の実行中断処理
  */
 extern void TOPPERS_assert_abort(void);
 
 /*
- *  assert¸sÌîñ\¦/L^}N
- *    ftHgÅÍVXeOªg¦È¢½ßCóè`Æ·é(T.B.D)
- *    VXeOðOñÉÅ«éÌÅ êÎCè`·éD
+ *  assert失敗時の情報表示/記録マクロ
+ *    デフォルトではシステムログが使えないため，空定義とする(T.B.D)
+ *    システムログを前提にできるのであれば，定義する．
  */
 #define TOPPERS_assert_fail(exp, file, line) (0)
Index: /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target_support.asm
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target_support.asm	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target_support.asm	(revision 95)
@@ -7,36 +7,32 @@
 ;              Nagoya Municipal Industrial Research Institute, JAPAN
 ;  
-;   ãLì ÒÍCFree Software Foundation ÉæÁÄö\³êÄ¢é 
-;   GNU General Public License Ì Version 2 ÉLq³êÄ¢éð©CÈ
-;   ºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEFAi{\tgEF
-;   AðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»EüÏEÄzziÈºC
-;   pÆÄÔj·é±Æð³Åø·éD
-;   (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
-;        \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
-;       XR[hÉÜÜêÄ¢é±ÆD
-;   (2) {\tgEFAðÄpÂ\ÈoCiR[hiP[^uIu
-;       WFNgt@CâCuÈÇjÌ`Åp·éêÉÍCp
-;       Éº¤hL
-gipÒ}j
-AÈÇjÉCãLÌì \¦C
-;       ±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
-;   (3) {\tgEFAðÄpsÂ\ÈoCiR[hÌ`Ü½Í@íÉg
-;       Ýñ¾`Åp·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD
-;     (a) pÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌì
-;          \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
-;     (b) pÌ`ÔðCÊÉèßéû@ÉæÁÄCãLì ÒÉñ·é
-;         ±ÆD
-;   (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
-;       Q©çàCãLì ÒðÆÓ·é±ÆD
+;   上記著作権者は，Free Software Foundation によって公表されている 
+;   GNU General Public License の Version 2 に記述されている条件か，以
+;   下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェア（本ソフトウェ
+;   アを改変したものを含む．以下同じ）を使用・複製・改変・再配布（以下，
+;   利用と呼ぶ）することを無償で許諾する．
+;   (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+;       権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+;       スコード中に含まれていること．
+;   (2) 本ソフトウェアを再利用可能なバイナリコード（リロケータブルオブ
+;       ジェクトファイルやライブラリなど）の形で利用する場合には，利用
+;       に伴うドキュメント（利用者マニュアルなど）に，上記の著作権表示，
+;       この利用条件および下記の無保証規定を掲載すること．
+;   (3) 本ソフトウェアを再利用不可能なバイナリコードの形または機器に組
+;       み込んだ形で利用する場合には，次のいずれかの条件を満たすこと．
+;     (a) 利用に伴うドキュメント（利用者マニュアルなど）に，上記の著作
+;         権表示，この利用条件および下記の無保証規定を掲載すること．
+;     (b) 利用の形態を，別に定める方法によって，上記著作権者に報告する
+;         こと．
+;   (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+;       害からも，上記著作権者を免責すること．
 ;  
-;   {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì ÒÍC
-;   {\tgEFAÉÖµÄC»ÌKpÂ\«àÜßÄC¢©ÈéÛØàsí
-;   È¢DÜ½C{\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢
-;   ©Èé¹QÉÖµÄàC»ÌÓCðíÈ¢D
+;   本ソフトウェアは，無保証で提供されているものである．上記著作権者は，
+;   本ソフトウェアに関して，その適用可能性も含めて，いかなる保証も行わ
+;   ない．また，本ソフトウェアの利用により直接的または間接的に生じたい
+;   かなる損害に関しても，その責任を負わない．
 
 ;
-;  ^[QbgË¶ÌAZu[`
+;  ターゲット依存部のアセンブラルーチン
 ;
 
@@ -53,5 +49,5 @@
 
 ;
-;  sil_dly_nseÅp¢éèl(not yet)
+;  sil_dly_nseで用いる定数値(not yet)
 ;
 	public	SIL_DLY_TIM1
Index: /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target_syssvc.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target_syssvc.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target_syssvc.h	(revision 95)
@@ -9,45 +9,41 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  */
 
 /*
- *  VXeT[rXÌ^[QbgË¶iQB-R5F100LEpj
+ *  システムサービスのターゲット依存部（QB-R5F100LE用）
  *
- *  VXeT[rXÌ^[QbgË¶ÌCN[ht@CD±Ìt@
- *  CÌàeÍCR|[lgLqt@CÉLq³êC±Ìt@CÍ
- *  ³­Èé©ÝD
+ *  システムサービスのターゲット依存部のインクルードファイル．このファ
+ *  イルの内容は，コンポーネント記述ファイルに記述され，このファイルは
+ *  無くなる見込み．
  */
 
@@ -56,10 +52,10 @@
 
 /*
- *  ^[QbgVXeÌn[hEFA¹Ìè`
+ *  ターゲットシステムのハードウェア資源の定義
  */
 #include "qb_r5f100le.h"
 
 /*
- *  g[XOÉÖ·éÝè
+ *  トレースログに関する設定
  */
 #ifdef TOPPERS_TRACE_ENABLE
@@ -68,11 +64,11 @@
 
 /*
- *  N®bZ[WÌ^[QbgVXe¼
+ *  起動メッセージのターゲットシステム名
  */
 #define TARGET_NAME    "QB-R5F100LE"
 
 /*
- *  N®bZ[WÉ^[QbgË¶Ìì \¦ð
- *  ÇÁ·é½ßÌ}ND
+ *  起動メッセージにターゲット依存部の著作権表示を
+ *  追加するためのマクロ．
  */
 #ifdef PRC_COPYRIGHT
@@ -81,31 +77,31 @@
 
 /*
- *  VXeOÌáxoÍÌ½ßÌ¶oÍ
+ *  システムログの低レベル出力のための文字出力
  *
- *  ^[QbgË¶Ìû@ÅC¶cð\¦/oÍ/Û¶·éD
+ *  ターゲット依存の方法で，文字cを表示/出力/保存する．
  */
 extern void	target_fput_log(char c);
 
 /*
- *  VA|[gÌè`
+ *  シリアルポート数の定義
  */
-#define TNUM_PORT	(1) 	/* serial.c Ågp·éVA|[gÌ */
-#define TNUM_SIOP	(1) 	/* xxx_serial.c Ågp·é|[g */
+#define TNUM_PORT	(1) 	/* serial.c で使用するシリアルポートの数 */
+#define TNUM_SIOP	(1) 	/* xxx_serial.c で使用するポート数 */
 
 
 /*
- *  {[[g
+ *  ボーレート
  */
 #define BPS_SETTING		(19200)
 
 /*
- *  gp·éVAfoCX|[gID
+ *  使用するシリアルデバイスポートID
  */
 #define LOGTASK_PORTID		(1)
 
 /*
- *  VXeO^XNÖAÌèÌè`
+ *  システムログタスク関連の定数の定義
  *
- *  ftHglÌÊèD
+ *  デフォルト値の通り．
  */
 
Index: /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target_test.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target_test.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target_test.h	(revision 95)
@@ -12,41 +12,37 @@
  *  Copyright (C) 2008 by Witz Corporation, JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  */
 
 /*
- *		eXgvOÌ^[QbgË¶è`iQB-R5F100LEpj
+ *		テストプログラムのターゲット依存定義（QB-R5F100LE用）
  */
 
@@ -57,15 +53,15 @@
 
 /*
- *  ^C}ðT|[gµÄ¢é©
+ *  タイマをサポートしているか
  */
 #define USE_TIMER
 
 /*
- *  gp·éVA|[gID
+ *  使用するシリアルポートID
  */
 #define TASK_PORTID   	(1)
 
 
-#define CPUEXC1             	0	/* BRK½ß */
+#define CPUEXC1             	0	/* BRK命令 */
 #define RAISE_CPU_EXCEPTION 	{__asm("brk");}
 
Index: /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target_timer.c
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target_timer.c	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target_timer.c	(revision 95)
@@ -9,36 +9,32 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id: prc_timer.c 1304 2008-08-27 07:28:36Z ertl-honda $
@@ -46,8 +42,8 @@
 
 /*
- *  J[lÌ^CeBbNp^C}hCo
- *    ^[QbgÉgp·é^C}foCXªÙÈè¾é±Æ©ç
- *    ±Ìt@Cð^[QbgË¶Ézu·éD
- *    ±±ÅÍC^C}jbg0`l0 ðJ[lÌ^CeBbNp^C}ÆµÄgp·éD
+ *  カーネルのタイムティック用タイマドライバ
+ *    ターゲット毎に使用するタイマデバイスが異なり得ることから
+ *    このファイルをターゲット依存部に配置する．
+ *    ここでは，タイマユニット0チャネル0 をカーネルのタイムティック供給用タイマとして使用する．
  */
 #pragma sfr
@@ -58,43 +54,43 @@
 
 /*
- *  ^C}ÌN®
+ *  タイマの起動処理
  */
 void
 target_timer_initialize(intptr_t exinf)
 {
-	/* NbNÂ  */
+	/* クロック供給許可  */
 	PER0 |= TBIT_PER0_TAU0EN;
 	
-	// fclk/4 = 5MHz ð®ìNbNÆ·éD
-	TPS0 &= ~UINT16_C(0x000f);	/* NbNIð  */
+	// fclk/4 = 5MHz を動作クロックとする．
+	TPS0 &= ~UINT16_C(0x000f);	/* クロック選択  */
 	TPS0 |= UINT16_C(0x0002);
 		
-	// [hÝè(C^[o[^C}CÝ­¶C§ºèGbW
-	// \tgEFAEgKÌÝCNbNCK00)
+	// モード設定(インターバールタイマ，割込み発生，立下りエッジ
+	// ソフトウェア・トリガのみ，クロックCK00)
 	TMR00 = UINT16_C(0x0001);
 
-	// üúÌÝè
+	// 周期の設定
 	TDR00 = TIMER_CLOCK;
 
-	// ^C}JEgJn
+	// タイマカウント開始
 	TS0L |= TBIT_TSmL_TSm0;
 }
 
 /*
- *  ^C}Ìâ~
+ *  タイマの停止処理
  */
 void
 target_timer_terminate(intptr_t exinf)
 {
-	// ^C}JEgâ~
+	// タイマカウント停止
 	TT0L |= TBIT_TTmL_TTm0;
 }
 
 /*
- *  ^C}Ýnh
+ *  タイマ割込みハンドラ
  */
 void
 target_timer_handler(void)
 {
-	signal_time();                    /* ^CeBbNÌ */
+	signal_time();                    /* タイムティックの供給 */
 }
Index: /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target_timer.cfg
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target_timer.cfg	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target_timer.cfg	(revision 95)
@@ -2,6 +2,5 @@
 
 /*
- *  J[lÌ^CeBbNp^C}hCoü¯RtBM
-[Vt@C
+ *  カーネルのタイムティック用タイマドライバ向けコンフィギュレーションファイル
  */
 ATT_INI({ TA_NULL, 0, target_timer_initialize });
Index: /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target_timer.h
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target_timer.h	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target_timer.h	(revision 95)
@@ -9,41 +9,37 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  */
 
 /*
- *  ^C}hCoiQB-R5F100LEpj
+ *  タイマドライバ（QB-R5F100LE用）
  */
 
@@ -54,18 +50,18 @@
 
 /*
- *  ^C}Ýnho^Ì½ßÌè
+ *  タイマ割込みハンドラ登録のための定数
  */
-#define INTNO_TIMER     INTNO_INTTM00	/* ÝÔ */
-#define INHNO_TIMER     INHNO_INTTM00	/* ÝnhÔ */
-#define INTPRI_TIMER    (-2)         	/* ÝDæx */
+#define INTNO_TIMER     INTNO_INTTM00	/* 割込み番号 */
+#define INHNO_TIMER     INHNO_INTTM00	/* 割込みハンドラ番号 */
+#define INTPRI_TIMER    (-2)         	/* 割込み優先度 */
 
 /*
- *  ^C}lÌà\»ÆÐØbPÊÆÌÏ·
+ *  タイマ値の内部表現とﾐﾘ秒単位との変換
  */
-#define TIMER_CLOCK  UINT16_C(5000) /* VXeNbN 20MHzCJEg\[X f4 ÌÆ«C
-                                1ms Í^C}JE^ 5000JEgª */
+#define TIMER_CLOCK  UINT16_C(5000) /* システムクロック 20MHz，カウントソース f4 のとき，
+                                1ms はタイマカウンタ 5000カウント分 */
 
 /*
- *  ^C}lÌà\»Æ~bEÊbPÊÆÌÏ·
+ *  タイマ値の内部表現とミリ秒・μ秒単位との変換
  *
  */
@@ -77,19 +73,19 @@
 
 /*
- *  ^C}lÌà\»Ì^
+ *  タイマ値の内部表現の型
  */
 typedef uint16_t    CLOCK;
 
 /*
- *  ^C}ÌN®
+ *  タイマの起動処理
  *
- *  ^C}ðú»µCüúIÈ^C}Ývð­¶³¹éD
+ *  タイマを初期化し，周期的なタイマ割込み要求を発生させる．
  */
 extern void target_timer_initialize(intptr_t exinf);
 
 /*
- *  ^C}Ìâ~
+ *  タイマの停止処理
  *
- *  ^C}Ì®ìðâ~³¹éD
+ *  タイマの動作を停止させる．
  */
 extern void target_timer_terminate(intptr_t exinf);
@@ -97,5 +93,5 @@
 #if 0
 /*
- *  ^C}Ì»ÝlÌÇoµ(not yet)
+ *  タイマの現在値の読出し(not yet)
  */
 Inline CLOCK
@@ -106,5 +102,5 @@
 
 /*
- *  ^C}ÝvÌ`FbN(not yet)
+ *  タイマ割込み要求のチェック(not yet)
  */
 Inline bool_t
@@ -116,5 +112,5 @@
 
 /*
- *  ^C}Ýnh
+ *  タイマ割込みハンドラ
  */
 extern void target_timer_handler(void);
Index: /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target_user.txt
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target_user.txt	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target_user.txt	(revision 95)
@@ -1,249 +1,231 @@
 =====================================================================
-           QB-R5F100LE-TB ^[QbgË¶
+           QB-R5F100LE-TB ターゲット依存部
                                   Last Modified: '15/6/2
 =====================================================================
 
-Tv
-
-QB-R5F100LE-TB^[QbgË¶ÍCvZbTÉ RL78/G13 ðÚµ½C
-ijlTXGNgjNX»Ì QB-R5F100LE-TB {[hðT|[gµÄ¢éD
+○概要
+
+QB-R5F100LE-TBターゲット依存部は，プロセッサに RL78/G13 を搭載した，
+（株）ルネサスエレクトロニクス製の QB-R5F100LE-TB ボードをサポートしている．
 http://japan.renesas.com/products/tools/introductory_tools/cpu_board/qb_r5f100le_tb/index.jsp
 
-J[lÌgp\[X
-
-J[lÍÈºÌ\[Xðgp·éD
-
-EROM
-	R[hCèCúlCÝxN^ðzu·éD
-	gpÊÍgp·éAPIÌÉË¶·éD
-
-ERAM
-	f[^CX^bNðzu·éD
-	gpÊÍIuWFNgÉË¶·éD
-
-E^C}
-	J[làÌeBbNÌ¶¬É^C}EACEjbgÌ
-	jbg0 `l0 ðgp·éD
-	^CeBbNÌüúyÑVXeÌ¸xÍ¤É 1ms Æ·éD
-
-EVA
-	VAhCoÉ UART0(VAEACjbgÌjbg0
-	`l{0,1}) ðgp·éD
-	vZbTÌ UART0 óM|[gÍ{[h CN2 Ì 12s(M)
-	¨æÑ13s(óM)Æü³êÄ¢éD±ÌsðUARThCoICâ
-	USBVAÏ·W
-[ðpµÄPCÆÚ±·é±ÆÅoÍð
-	mF·é±ÆªÅ«éD
-
-¼Ì^[QbgÖÌÚA
-
-^[QbgË¶Ågp·é^C}¨æÑVAÍCRL78/G13 Ì
-à @\ÌÝðgp·é½ßCRL78 Ì¯lÌvZbTðp¢½Â«ÉÍ
-eÕÉ|[eBOªÂ\Å éD|[eBOÉÖµÄÍCÈºÌú»[`É
-^[QbgÌú»ðÇÁ·êÎæ¢D
-
-  Etarget_initialize() : target_config.c
-	    ^[QbgË¶Ìú»iC¾êj
-  E_hardware_init_hook : target_support.asm
-	    áxÌ^[QbgË¶Ìú»
-	    X^[gAbvW
-[ÌÅCÌú»ÌOÉÄÑo³êé
-	    ùèÅÍX^[gAbvW
-[©çp³êÄ¨ç¸C
-	    RgAEg³êÄ¢éD
-
-
-fobOÂ«
-
-fobOÂ«ÆµÄCE1 fobKÌgpðzèµÄ¢éD
-
-
-RpC
-
-ÈºÌJ­Â«ðp¢Ä®ìmFðsÁ½D
-
-n
-@lTXeNmW» RpC CA78K0R V1.70
-
-J­Â«
-@lTXeNmW» J­Â« Cube Suite+ V2.02.00
-
-
-R\[oÍ
-
-R\[oÍÉÍCUART0ðp¢éDÊMtH[}bgÍÈºÌÊèD
-
-  E19200bps, Data 8bit, Parity none, Stop 1bit, Flow control none
-
-
-AhX}bsO (¦1)
-
-  0x00000 - 0x0007F     xN^e[u                  128oCg
-  0x00080 - 0x000Bf     calltÖÌe[upZOg  64oCg
-  0x000C0 - 0x000C3     IvVoCgÌæ              4oCg
-  0x000C4 - 0x000CD     ZL
-eBID                   10oCg
-  0x000CE - 0x000D7     I`bvfobO@\ÌgpÌæ 10oCg
-  0x000D8 - 0x0ffff     à FlashROM  ñ63.8KB
-                            @@CODE  	; R[hpZOg(near)
-                            @@BASE  	; calltÖEèÝÖpZOg
-                            @@LCODE 	; CuER[hpZOg(near)
-                            @@LBASE 	; CuEcalltÖpZOg
-                            @@CNST  	; èf[^(near)
-                            @@R_INIT	; nearú»f[^pZOg(úl è)
-                            @@R_INIS	; ú»f[^pZOg(úl èsregÏ)
-                            @@CODEL 	; R[hpZOg(far)
-                            @@LCODEL	; CuER[hpZOg(far)
-                            @@CNSTL 	; ROMf[^(far)
-                            @@RLINIT	; farú»f[^pZOg(úl è)
-
-  0xF0000 - 0xF07FF     2nd SFRÌæ  2KB
-
-  0xF1000 - 0xF1FFF     f[^tbV
-
-  0xF2000 - 0xFEEFF     ~[Ìæ(0x2000-0xEEFFÆ¯¶l)
-  0xFEF00 - 0xFFEDF     à RAM  3.9KB (¦2)
-                            @@BITS  	; boolean^Ï, bit^ÏpZOg, BSEGÌæ
-                            @@INIT  	; f[^ÌæpZOg(úl è, nearzu)
-                            @@DATA  	; f[^ÌæpZOg(úlÈµ, nearzu)
-                            @@INIS  	; f[^ÌæpZOg(úl è sreg Ï)
-                            @@DATS  	; f[^ÌæpZOg(úlÈµ sreg Ï)
-                            @@INITL 	; f[^ÌæpZOg(úl è, farzu)
-                            @@DATAL 	; f[^ÌæpZOg(úlÈµ, farzu)
-                            @@CODER 	; RAMzu R[hpZOg
-                            @@LCODER	; RAMzu CuER[hpZOg
-                            @@CNSTR 	; RAMzu ROMf[^pZOg(near)
-                            @@CNSTLR	; RAMzu ROMf[^pZOg(far)
-  0xFFEE0 - 0xFFEFF         ÄpWX^ 32oCg (¦2)
-  0xFFF00 - 0xFFFFF         SFRÌæ (¦2)
-
-(¦1) @@ÅnÜéZOgÍRpCÉæè¶¬³êéD
-  uCubeSuite+ V2.01.00 J­Â«[U[Y}j
-A RL78,78K0RR[fBOÒvÌ
-  u3. 5 ZOg¼êvð³Éµ½D
+○カーネルの使用リソース
+
+カーネルは以下のリソースを使用する．
+
+・ROM
+	コード，定数，初期値，割込みベクタを配置する．
+	使用量は使用するAPIの数に依存する．
+
+・RAM
+	データ，スタックを配置する．
+	使用量はオブジェクト数に依存する．
+
+・タイマ
+	カーネル内部のティックの生成にタイマ・アレイ・ユニットの
+	ユニット0 チャネル0 を使用する．
+	タイムティックの周期及びシステム時刻の精度は共に 1ms とする．
+
+・シリアル
+	シリアルドライバに UART0(シリアル・アレイユニットのユニット0
+	チャネル{0,1}) を使用する．
+	プロセッサの UART0 送受信ポートはボード CN2 の 12ピン(送信)
+	および13ピン(受信)と結線されている．このピンをUARTドライバICや
+	USBシリアル変換モジュール等を利用してPCと接続することで出力を
+	確認することができる．
+
+○他のターゲットへの移植
+
+ターゲット依存部で使用するタイマおよびシリアルは，RL78/G13 の
+内蔵機能のみを使用するため，RL78 の同様のプロセッサを用いた環境には
+容易にポーティングが可能である．ポーティングに関しては，以下の初期化ルーチンに
+ターゲット毎の初期化を追加すればよい．
+
+  ・target_initialize() : target_config.c
+	    ターゲット依存部の初期化（C言語）
+  ・_hardware_init_hook : target_support.asm
+	    低レベルのターゲット依存の初期化
+	    スタートアップモジュールの中で，メモリの初期化の前に呼び出される
+	    既定ではスタートアップモジュールから利用されておらず，
+	    コメントアウトされている．
+
+
+○デバッグ環境
+
+デバッグ環境として，E1 デバッガの使用を想定している．
+
+
+○コンパイラ
+
+以下の開発環境を用いて動作確認を行った．
+
+処理系
+　ルネサステクノロジ製 コンパイラ CA78K0R V1.70
+
+統合開発環境
+　ルネサステクノロジ製 統合開発環境 Cube Suite+ V2.02.00
+
+
+○コンソール出力
+
+コンソール出力には，UART0を用いる．通信フォーマットは以下の通り．
+
+  ・19200bps, Data 8bit, Parity none, Stop 1bit, Flow control none
+
+
+○アドレスマッピング (※1)
+
+  0x00000 - 0x0007F     ベクタテーブル                  128バイト
+  0x00080 - 0x000Bf     callt関数のテーブル用セグメント  64バイト
+  0x000C0 - 0x000C3     オプションバイト領域              4バイト
+  0x000C4 - 0x000CD     セキュリティID                   10バイト
+  0x000CE - 0x000D7     オンチップデバッグ機能の使用領域 10バイト
+  0x000D8 - 0x0ffff     内蔵FlashROM  約63.8KB
+                            @@CODE  	; コード部用セグメント(near)
+                            @@BASE  	; callt関数・割り込み関数用セグメント
+                            @@LCODE 	; ライブラリ・コード部用セグメント(near)
+                            @@LBASE 	; ライブラリ・callt関数用セグメント
+                            @@CNST  	; 定数データ(near)
+                            @@R_INIT	; near初期化データ用セグメント(初期値あり)
+                            @@R_INIS	; 初期化データ用セグメント(初期値ありsreg変数)
+                            @@CODEL 	; コード部用セグメント(far)
+                            @@LCODEL	; ライブラリ・コード部用セグメント(far)
+                            @@CNSTL 	; ROMデータ(far)
+                            @@RLINIT	; far初期化データ用セグメント(初期値あり)
+
+  0xF0000 - 0xF07FF     2nd SFR領域  2KB
+
+  0xF1000 - 0xF1FFF     データフラッシュメモリ
+  0xF2000 - 0xFEEFF     ミラー領域(0x2000-0xEEFFと同じ値)
+  0xFEF00 - 0xFFEDF     内蔵RAM  3.9KB (※2)
+                            @@BITS  	; boolean型変数, bit型変数用セグメント, BSEG領域
+                            @@INIT  	; データ領域用セグメント(初期値あり, near配置)
+                            @@DATA  	; データ領域用セグメント(初期値なし, near配置)
+                            @@INIS  	; データ領域用セグメント(初期値あり sreg 変数)
+                            @@DATS  	; データ領域用セグメント(初期値なし sreg 変数)
+                            @@INITL 	; データ領域用セグメント(初期値あり, far配置)
+                            @@DATAL 	; データ領域用セグメント(初期値なし, far配置)
+                            @@CODER 	; RAM配置 コード部用セグメント
+                            @@LCODER	; RAM配置 ライブラリ・コード用セグメント
+                            @@CNSTR 	; RAM配置 ROMデータ用セグメント(near)
+                            @@CNSTLR	; RAM配置 ROMデータ用セグメント(far)
+  0xFFEE0 - 0xFFEFF         汎用レジスタ 32バイト (※2)
+  0xFFF00 - 0xFFFFF         SFR領域 (※2)
+
+(※1) @@で始まるセグメントはコンパイルにより生成される．
+  「CubeSuite+ V2.01.00 統合開発環境ユーザーズマニュアル RL78,78K0Rコーディング編」の
+  「3. 5 セグメント名一覧」を元にした．
   http://documentation.renesas.com/doc/products/tool/doc/r20ut2774jj0100_qscd78.pdf
 
-(¦2) V[gE_CNgEAhbVOÌæ(0xFFE20-0xFFF1F) Æêd¡·é
-
-eíÝèÌÏX
-
-ôÂ©Ìp[^ÍÏXÂ\ÉÈÁÄ¢éDÝèt@CÉÝèÂ\Ú
-ÍÌæ¤ÉÈÁÄ¢éD
-
-target.tfÌÝèÚ
+(※2) ショート・ダイレクト・アドレッシング領域(0xFFE20-0xFFF1F) と一部重複する
+
+○各種設定の変更
+
+幾つかのパラメータは変更可能になっている．設定ファイル毎に設定可能項目
+は次のようになっている．
+
+●target.tfの設定項目
 
 INTNO_FIX_KERNEL
-	ÅèIÉJ[lÇÌÝÆ·éÝÔ
+	固定的にカーネル管理の割込みとする割込み番号
 INTNO_FIX_NONKERNEL
-	ÅèIÉJ[lÇOÌÝÆ·éÝÔ
+	固定的にカーネル管理外の割込みとする割込み番号
 INHNO_FIX_KERNEL
-	ÅèIÉJ[lÇÌÝÆ·éÝnhÔ
+	固定的にカーネル管理の割込みとする割込みハンドラ番号
 INHNO_FIX_NONKERNEL
-	ÅèIÉJ[lÇOÌÝÆ·éÝnhÔ
-
-
-target_config.h ÌÝèÚ
-
-EDEFAULT_ISTKSZ
-	ñ^XNReLXgpX^bNTCYÌKèl
-	i½¾µCSSPÅÍ¤LX^bNÌæÌùèTCYðÓ¡·éj
-
-target_syssvc.h ÌÝèÚ
-
-EBPS_SETTING
-	R\[Égp·éVA|[gÌ{[[g(KèÅÍ 19200)
-	¦ »óÅÍ±Ì}NÍgpµÄ¢È¢D
-
-CPUbNÅp¢éÝDæxTMIN_INTPRIÌè`
-
-EC¾êpÌè`F
-	vZbTÉùèÌè`ÊuFprc_kernel.h
-	^[QbgË¶Åè`·éêÌè`ÊuFtarget_config.hi»óÅÍ¢è`j
-
-
-TvvWFNgÌÀsè
-   J­Â«ªCXg[³êÄ¢é±ÆðOñÆ·éD
-   ÈºÌà¾ÅÍpXÌæØè¶ÆµÄXbV
- '/' ðgp·éD
-
-0. ZIP³k³êÄ¢ét@CðKÈêÖWJ·éD
-   WJæÌpXÉÍú{ê¶âóÈÇðÜÜÈ¢ûªæ¢D
-
-1. [NXy[Xt@CðJ­
-	<WJætH_>/ssp/target/qb_r5c100le_cs/ssp_rl78/ssp_rl78.mtpj ð_uNbN·éD
-	CubeSuite+ ªCXg[³êÄ¢êÎCJ­Â«ªN®·éD
-
-2. sample1 vWFNgðANeBuvWFNgÉ·é
-	ùèÌÝèÅÍ·ÅÉANeBuÉÈÁÄ¢éD
-
-3. j
-[urh¨rhvWFNgvðIðµÄCsample1vWFNgðrh·é
-	Ë¶ÖWÌÝèÉæèæÉ libkernel, sys-cfg vWFNgÌrhªsíêC
-	»ÌãCsample1 vWFNgÌrhªÀ{³êéD
-	»µÄCAvP[V(sample1)CVXeCuCVXeT[rXC
-	yÑJ[lªN³êCÀst@Cª¶¬³êéD
-
-4. vOÌÀsðmF·éD
-
-	TvÍVA|[gÌ@\ðOñÆµÄ¢éDvZbTÌ
-	UART0 |[gª{[hÌ CN2 12Ôs(TxD0)C13Ôs(RxD0)Éü³êÄ¨èC
-	±Ìs¨æÑ GNDÌsðUARThCoIC é¢ÍUSB-VAÏ·W
-[ð
-	pµÄPCÉÚ±·éÆCVA©çÌoÍðmF·é±ÆªÅ«éD
-
-	ßÅÍCE1 ðpµ½tbV
-ÖÌvO«ÝCyÑCÀsÌ
-	èÉÂ¢ÄLq·éD
-
-5. tbV
-ROM ÖÌvO«Ý
-
-(1) E1ðPC¨æÑ^[Qbg{[hÉÚ±·éD
-(2) j
-[ufobO¨fobOc[Ö_E[hvðIð·éD
-    ¸s·éêCÈºðmF·éD
-    EE1ÌhCoªCXg[³êÄ¢é©Ç¤©D
-    EE1Æ{[hÌÚ±ª³µ¢©Ç¤©D¸êÄ¢È¢©Cü«Í³µ¢©D
-    E^[Qbg{[hÉd¹ª³êÄ¢é©Ç¤©D
-        ùèÌÝèÅÍµÈ¢ÝèÆÈÁÄ¢éD
-        E1©çd¹·éêÍÌèÅÝèÏX·éD
-        (2-1)uvWFNgEc[vEBhEÌussp_rl78(vWFNg) 
-               --> sample1(TuvWFNg) --> RL78_E1(Serial)vÚð
-               ENbNµCReLXgj
-[ð\¦·éD
-        (2-2) ReLXgj
-[©çuvpeBvðIð·éD
-        (2-3) uvpeBvEBhE©çuÚ±pÝèv^uðIð·éD
-        (2-4) u^[Qbg{[hÆÌÚ±vÌÚàÉ éC
-              uG~
-[^©çd¹·é(Åå200mA)vðuÍ¢vÉ·éD
-(3) _E[hª®¹·éÆC^[QbgÍ sta_ker ÌæªÅÀsâ~·éD
-(4) j
-[ufobO¨ÀsvðIð·éÆCvOÌÀsðJn·éD
-
-Ó
-ENÉÂ¢Ä
-	X^[gAbvW
-[(start.asm)ÉÄRAMÌú»ðs¤½ßÉÍ
-	ZNVÌæªAhX¨æÑÅIAhXðméKvª éD
-	»êçÌAhXðæ¾·é½ß segment_s.asm ¨æÑ segment_e.asm ð
-	»ê¼êÀsW
-[ÌæªÆöÉN·éKvª éD
+	固定的にカーネル管理外の割込みとする割込みハンドラ番号
+
+
+●target_config.h の設定項目
+
+・DEFAULT_ISTKSZ
+	非タスクコンテキスト用スタックサイズの規定値
+	（ただし，SSPでは共有スタック領域の既定サイズを意味する）
+
+●target_syssvc.h の設定項目
+
+・BPS_SETTING
+	コンソールに使用するシリアルポートのボーレート(規定では 19200)
+	※ 現状ではこのマクロは使用していない．
+
+●CPUロックで用いる割込み優先度TMIN_INTPRIの定義
+
+・C言語用の定義：
+	プロセッサに既定の定義位置：prc_kernel.h
+	ターゲット依存で定義する場合の定義位置：target_config.h（現状では未定義）
+
+
+○サンプルプロジェクトの実行手順
+   開発環境がインストールされていることを前提とする．
+   以下の説明ではパスの区切り文字としてスラッシュ '/' を使用する．
+
+0. ZIP圧縮されているファイルを適当な場所へ展開する．
+   展開先のパスには日本語文字や空白などを含まない方がよい．
+
+1. ワークスペースファイルを開く
+	<展開先フォルダ>/ssp/target/qb_r5c100le_cs/ssp_rl78/ssp_rl78.mtpj をダブルクリックする．
+	CubeSuite+ がインストールされていれば，統合開発環境が起動する．
+
+2. sample1 プロジェクトをアクティブプロジェクトにする
+	既定の設定ではすでにアクティブになっている．
+
+3. メニュー「ビルド→リビルドプロジェクト」を選択して，sample1プロジェクトをビルドする
+	依存関係の設定により先に libkernel, sys-cfg プロジェクトのビルドが行われ，
+	その後，sample1 プロジェクトのビルドが実施される．
+	そして，アプリケーション(sample1)，システムライブラリ，システムサービス，
+	及びカーネルがリンクされ，実行ファイルが生成される．
+
+4. プログラムの実行を確認する．
+
+	サンプルはシリアルポートの機能を前提としている．プロセッサの
+	UART0 ポートがボードの CN2 12番ピン(TxD0)，13番ピン(RxD0)に結線されており，
+	このピンおよび GNDのピンをUARTドライバICあるいはUSB-シリアル変換モジュール等を
+	利用してPCに接続すると，シリアルからの出力を確認することができる．
+
+	次節では，E1 を利用したフラッシュへのプログラム書き込み，及び，実行の
+	手順について記述する．
+
+5. フラッシュROM へのプログラム書き込み
+
+(1) E1をPCおよびターゲットボードに接続する．
+(2) メニュー「デバッグ→デバッグツールへダウンロード」を選択する．
+    失敗する場合，以下を確認する．
+    ・E1のドライバがインストールされているかどうか．
+    ・E1とボードの接続が正しいかどうか．ずれていないか，向きは正しいか．
+    ・ターゲットボードに電源が供給されているかどうか．
+        既定の設定では供給しない設定となっている．
+        E1から電源供給する場合は次の手順で設定変更する．
+        (2-1)「プロジェクト・ツリー」ウィンドウの「ssp_rl78(プロジェクト) 
+               --> sample1(サブプロジェクト) --> RL78_E1(Serial)」項目を
+               右クリックし，コンテキストメニューを表示する．
+        (2-2) コンテキストメニューから「プロパティ」を選択する．
+        (2-3) 「プロパティ」ウィンドウから「接続用設定」タブを選択する．
+        (2-4) 「ターゲットボードとの接続」の項目内にある，
+              「エミュレータから電源供給する(最大200mA)」を「はい」にする．
+(3) ダウンロードが完了すると，ターゲットは sta_ker の先頭で実行停止する．
+(4) メニュー「デバッグ→実行」を選択すると，プログラムの実行を開始する．
+
+○注意事項
+・リンク順序について
+	スタートアップモジュール(start.asm)にてRAMの初期化処理を行うためには
+	セクションの先頭アドレスおよび最終アドレスを知る必要がある．
+	それらのアドレスを取得するため segment_s.asm および segment_e.asm を
+	それぞれ実行モジュールの先頭と末尾にリンクする必要がある．
 	
-	segment_s.asm Í sample1TuvWFNgÌNÝèÅÅÉN
-	³êéæ¤Ýè³êÄ¢éDêûÅ segment_e.asm Í libkernel.lib ÌöÉ
-	N³êéæ¤Ýè³êÄ¢éD
+	segment_s.asm は sample1サブプロジェクトのリンク順序設定で最初にリンク
+	されるよう設定されている．一方で segment_e.asm は libkernel.lib の末尾に
+	リンクされるよう設定されている．
 	
-	±êÍCsample1TuvWFNgÅ libkernel.lib ÌNð
-	ÏX·é±ÆªÅ«È¢½ßCêI[uÆµÄ±Ìæ¤ÉµÄ¢éD
+	これは，sample1サブプロジェクトで libkernel.lib のリンク順序を
+	変更することができないため，一時的措置としてこのようにしている．
 	
-	¡ãÉ¨¢ÄCÊCuðÇÁIÉN·éêC
-	libkernel.lib ªöÉN³êéæ¤NÌÝèðs¤Kvª éD
-	öÉzu³êÈ¢êÍCÏZNVÌöAhXð³µ­æ¾Å«¸C
-	RAMÌú»ª³µ­síêÈ¢D
-
-
-ÏXð
-2014/08/21  EVKì¬
-2015/6/2    ESSP-1.3.0Î
-
+	今後において，別ライブラリを追加的にリンクする場合，
+	libkernel.lib が末尾にリンクされるようリンク順序の設定を行う必要がある．
+	末尾に配置されない場合は，変数セクションの末尾アドレスを正しく取得できず，
+	RAMの初期化が正しく行われない．
+
+
+○変更履歴
+2014/08/21  ・新規作成
+2015/6/2    ・SSP-1.3.0対応
+
Index: /ssp_qb_r5f100le_cs/trunk/utils/applyrename
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/utils/applyrename	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/utils/applyrename	(revision 95)
@@ -9,36 +9,32 @@
 #              Graduate School of Information Science, Nagoya Univ., JAPAN
 # 
-#  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
-#  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
-#  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
-#  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
-#       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
-#      XR[hÉÜÜêÄ¢é±ÆD
-#  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
-#      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
-#      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
-#      Ì³ÛØKèðfÚ·é±ÆD
-#  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
-#      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
-#      ÆD
-#    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
-#        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
-#    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
-#        ñ·é±ÆD
-#  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
-#      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
-#      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
-#      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
-#      ÆÓ·é±ÆD
+#  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+#  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+#  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+#  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+#      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+#      スコード中に含まれていること．
+#  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+#      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+#      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+#      の無保証規定を掲載すること．
+#  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+#      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+#      と．
+#    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+#        作権表示，この利用条件および下記の無保証規定を掲載すること．
+#    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+#        報告すること．
+#  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+#      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+#      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+#      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+#      免責すること．
 # 
-#  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
-#  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
-#  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
-#  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
-#  ÌÓCðíÈ¢D
+#  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+#  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+#  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+#  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+#  の責任を負わない．
 # 
 #  @(#) $Id: applyrename 332 2007-07-17 12:15:37Z hiro $
@@ -46,5 +42,5 @@
 
 #
-#  t@CÉl[ðKp·é
+#  ファイルにリネームを適用する
 #
 sub applyrename
@@ -76,5 +72,5 @@
 
 #
-#  G[`FbN
+#  エラーチェック
 #
 if ($#ARGV < 1) {
@@ -83,5 +79,5 @@
 
 #
-#  ú»
+#  初期化
 #
 @syms = ();
@@ -89,5 +85,5 @@
 
 #
-#  V{XgðÇÝÞ
+#  シンボルリストを読み込む
 #
 $deffile = $name."_rename.def";
@@ -108,14 +104,14 @@
 
 #
-#  ³K\»ðìé
+#  正規表現を作る
 #
 $syms = join("|", @syms);
 
 #
-#  t@CÉl[ðKp·é
+#  ファイルにリネームを適用する
 #
 shift @ARGV;
 foreach $infile (@ARGV) {
-	# t@CÅÈ¯êÎXLbv
+	# ファイルでなければスキップ
 	next unless (-f $infile);
 
Index: /ssp_qb_r5f100le_cs/trunk/utils/genrename
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/utils/genrename	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/utils/genrename	(revision 95)
@@ -9,36 +9,32 @@
 #              Graduate School of Information Science, Nagoya Univ., JAPAN
 # 
-#  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
-#  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
-#  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
-#  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
-#       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
-#      XR[hÉÜÜêÄ¢é±ÆD
-#  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
-#      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
-#      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
-#      Ì³ÛØKèðfÚ·é±ÆD
-#  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
-#      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
-#      ÆD
-#    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
-#        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
-#    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
-#        ñ·é±ÆD
-#  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
-#      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
-#      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
-#      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
-#      ÆÓ·é±ÆD
-# 
-#  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
-#  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
-#  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
-#  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
-#  ÌÓCðíÈ¢D
+#  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+#  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+#  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+#  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+#      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+#      スコード中に含まれていること．
+#  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+#      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+#      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+#      の無保証規定を掲載すること．
+#  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+#      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+#      と．
+#    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+#        作権表示，この利用条件および下記の無保証規定を掲載すること．
+#    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+#        報告すること．
+#  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+#      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+#      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+#      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+#      免責すること．
+# 
+#  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+#  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+#  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+#  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+#  の責任を負わない．
 # 
 #  @(#) $Id: genrename 509 2007-08-22 23:09:56Z hiro $
@@ -46,5 +42,5 @@
 
 #
-#  æªÉÂ¯é¶ñ
+#  先頭につける文字列
 #
 sub prefix_string {
@@ -60,5 +56,5 @@
 
 #
-#  l[è`ð¶¬·é
+#  リネーム定義を生成する
 #
 sub generate_define
@@ -77,5 +73,5 @@
 
 #
-#  l[ðð¶¬·é
+#  リネーム解除を生成する
 #
 sub generate_undef
@@ -87,5 +83,5 @@
 
 #
-#  CN[hfBNeBuð¶¬·é
+#  インクルードディレクティブを生成する
 #
 sub generate_include
@@ -98,5 +94,5 @@
 
 #
-#  G[`FbN
+#  エラーチェック
 #
 if ($#ARGV != 0) {
@@ -105,5 +101,5 @@
 
 #
-#  ú»
+#  初期化
 #
 @syms = ();
@@ -115,5 +111,5 @@
 
 #
-#  V{XgðÇÝÞ
+#  シンボルリストを読み込む
 #
 open(INFILE, $infile) || die "Cannot open $infile";
@@ -125,5 +121,5 @@
 
 #
-#  ???_rename.h ð¶¬·é
+#  ???_rename.h を生成する
 #
 $includes = "";
@@ -188,5 +184,5 @@
 
 #
-#  ???_unrename.h ð¶¬·é
+#  ???_unrename.h を生成する
 #
 $includes = "";
Index: /ssp_qb_r5f100le_cs/trunk/utils/makedep
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/utils/makedep	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/utils/makedep	(revision 95)
@@ -9,36 +9,32 @@
 #              Graduate School of Information Science, Nagoya Univ., JAPAN
 # 
-#  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
-#  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
-#  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
-#  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
-#       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
-#      XR[hÉÜÜêÄ¢é±ÆD
-#  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
-#      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
-#      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
-#      Ì³ÛØKèðfÚ·é±ÆD
-#  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
-#      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
-#      ÆD
-#    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
-#        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
-#    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
-#        ñ·é±ÆD
-#  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
-#      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
-#      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
-#      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
-#      ÆÓ·é±ÆD
+#  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+#  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+#  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+#  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+#      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+#      スコード中に含まれていること．
+#  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+#      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+#      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+#      の無保証規定を掲載すること．
+#  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+#      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+#      と．
+#    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+#        作権表示，この利用条件および下記の無保証規定を掲載すること．
+#    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+#        報告すること．
+#  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+#      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+#      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+#      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+#      免責すること．
 # 
-#  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
-#  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
-#  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
-#  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
-#  ÌÓCðíÈ¢D
+#  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+#  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+#  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+#  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+#  の責任を負わない．
 # 
 #  @(#) $Id: makedep 2264 2011-10-27 04:22:01Z ertl-hiro $
@@ -47,23 +43,23 @@
 use Getopt::Std;
 
-#  IvVÌè`
+#  オプションの定義
 #
-#  -C <cc_path>		CRpCÌR}h¼
-#  -O <cc_opts>		CRpC/CPPÉn·IvV
-#  -X				\[Xt@Cð­§IÉCwb_t@CÆ©È·
+#  -C <cc_path>		Cコンパイラのコマンド名
+#  -O <cc_opts>		Cコンパイラ/CPPに渡すオプション
+#  -X				ソースファイルを強制的にCヘッダファイルと見なす
 #
-#  -T <target>		^[Qbg¼iÌXgj
-#  -D <t_dir>		^[QbgÌfBNg¼ðwè·éi-Tðp¢½ê
-#					Í³øj
-#  -d				^[QbgÌfBNgðÛ·éi-Tðp¢½ê
-#					Í³øj
-#  -S				¡Ì^[Qbgª éË¶[ðC^[QbgÉ
-#					ª·éi±¤µÈ¢ÆÎÅ«È¢makeª éçµ¢j
+#  -T <target>		ターゲット名（のリスト）
+#  -D <t_dir>		ターゲットのディレクトリ名を指定する（-Tを用いた場
+#					合は無効）
+#  -d				ターゲットのディレクトリ部を保持する（-Tを用いた場
+#					合は無効）
+#  -S				複数のターゲットがある依存ルールを，ターゲット毎に
+#					分割する（こうしないと対応できないmakeがあるらしい）
 #
-#  -R <dirname>		CygwinÂ«É¨¯é[gfBNg¼ðwè·é
-#					iftHgÍcygdrivej
+#  -R <dirname>		Cygwin環境におけるルートディレクトリ名を指定する
+#					（デフォルトはcygdrive）
 
 #
-#  IvVÌ
+#  オプションの処理
 #
 getopt("COTDR");
@@ -90,5 +86,5 @@
 
 #
-#  CygwinÂ«Ì»Ê
+#  Cygwin環境の判別
 #
 if ($^O eq 'cygwin') {
@@ -97,5 +93,5 @@
 
 #
-#  %dependlist Éìçê½Ë¶ÖWðoÍ·é
+#  %dependlist に作られた依存関係を出力する
 #
 sub output_dependlist {
@@ -119,5 +115,5 @@
 
 #
-#  $file ÌË¶ÖWð %dependlist Éìé
+#  $file の依存関係を %dependlist に作る
 #
 sub makedepend_one {
@@ -153,5 +149,5 @@
 
 #
-#  C[`
+#  メインルーチン
 #
 foreach $file (@ARGV) {
Index: /ssp_qb_r5f100le_cs/trunk/utils/makerelease
===================================================================
--- /ssp_qb_r5f100le_cs/trunk/utils/makerelease	(revision 94)
+++ /ssp_qb_r5f100le_cs/trunk/utils/makerelease	(revision 95)
@@ -7,36 +7,32 @@
 #              Graduate School of Information Science, Nagoya Univ., JAPAN
 # 
-#  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
-#  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
-#  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
-#  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
-#       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
-#      XR[hÉÜÜêÄ¢é±ÆD
-#  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
-#      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
-#      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
-#      Ì³ÛØKèðfÚ·é±ÆD
-#  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
-#      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
-#      ÆD
-#    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
-#        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
-#    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
-#        ñ·é±ÆD
-#  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
-#      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
-#      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
-#      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
-#      ÆÓ·é±ÆD
+#  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+#  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+#  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+#  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+#      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+#      スコード中に含まれていること．
+#  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+#      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+#      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+#      の無保証規定を掲載すること．
+#  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+#      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+#      と．
+#    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+#        作権表示，この利用条件および下記の無保証規定を掲載すること．
+#    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+#        報告すること．
+#  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+#      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+#      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+#      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+#      免責すること．
 # 
-#  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
-#  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
-#  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
-#  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
-#  ÌÓCðíÈ¢D
+#  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+#  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+#  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+#  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+#  の責任を負わない．
 # 
 #  @(#) $Id: makerelease 1866 2010-07-25 13:19:17Z ertl-hiro $
