Index: UsbWattMeter/trunk/Readme.txt
===================================================================
--- UsbWattMeter/trunk/Readme.txt	(revision 166)
+++ UsbWattMeter/trunk/Readme.txt	(revision 167)
@@ -1,89 +1,89 @@
-¡¡USB[dídÍv¡¡
+■■USB充電器電力計■■
 http://dev.toppers.jp/trac_user/contrib/wiki/UsbWattMeter
 
-USB[dídÍvÍAECHONET Lite ÊM~hEFATOPPERS/ECNLÌTvE
-AvP[VÅ·BRZvgER[hÅ èAÀpIÉgp·éêÍ\ªÈ
-±ªKvÅ·B
+USB充電器電力計は、ECHONET Lite 通信ミドルウェアTOPPERS/ECNLのサンプル・
+アプリケーションです。コンセプト・コードであり、実用的に使用する場合は十分な
+試験が必要です。
 
-GR-SAKURAÉECHONET LiteÌdÍvðUÂÀµAAiOPINO`TÌÅåüÍð
-2.4AÆµÄvªµÄ¢Ü·Bd³Í5VÅèÅdÍðZoµÄ¢Ü·B
-Ü½HTTPSNCAg@\ð¿AèúIÉvªlÌððPOSTµÜ·B
-NCES TRAINING BOARDihttp://miconboard.thebase.in/items/409183jðgpµ½êA
-7ZOÉAiOPINO`VÌulðQb²ÆÉØèÖ¦Ä\¦µÄ¢éÌª©¦Ü·B
+GR-SAKURAにECHONET Liteの電力計を６つ実装し、アナログPIN０〜５の最大入力を
+2.4Aとして計測しています。電圧は5V固定で電力を算出しています。
+またHTTPSクライアント機能を持ち、定期的に計測値の履歴をPOSTします。
+NCES TRAINING BOARD（http://miconboard.thebase.in/items/409183）を使用した場合、
+7セグにアナログPIN０〜７の瞬時値を２秒ごとに切り替えて表示しているのが見えます。
 
-¡\tgEFAÉÂ¢Ä¡
+■ソフトウェアについて■
 
-¢­Â©ÌI[v\[XðpµÄ¢Ü·ÌÅAe\tgEFAÌCZXÉ
-]ÁÄ­¾³¢B
+いくつかのオープンソースを利用していますので、各ソフトウェアのライセンスに
+従ってください。
 
-ETOPPERS/ASP 1.9.2 ®I¶¬Å
-@@https://www.toppers.jp/asp-kernel.html
-@@TOPPERSCZX
-@@RTOS
-ETOPPERS/ECNL lwIPÎÀÅ
-@@https://www.toppers.jp/ecnl.html
-@@TOPPERSCZX
-@@ECHONET LiteÊM~hEFA
-EFatFS R0.10b
-@@http://elm-chan.org/fsw/ff/00index_j.html
-@@BSDCNÈCZX
-@@SDJ[hpt@CVXe
-ElwIP 1.4.1
-@@http://savannah.nongnu.org/projects/lwip/
-@@BSD-style license
-@@TCP/IPvgRX^bNADHCPNCAgADNSNCAgA
-@@IGMPNCAgASNTPNCAg
-ETLSF 3.0
-@@http://tlsf.baisoku.org/
-@@public domain
-@@AP[^[
-EWolfSSL 3.7.0
-@@http://www.wolfssl.jp/wolfsite/
-@@GPLv2 or ¤p
-@@SSL/TLSCu
-Elibcurl 7.47.1
-@@https://curl.haxx.se/libcurl/
-@@MIT/X derivate license
-@@HTTP/HTTPSNCAg
-Emusl libc
-@@http://www.musl-libc.org/
-@@permissive MIT license
-@@timeÖÆgmtimeÖ
+・TOPPERS/ASP 1.9.2 動的生成版
+　　https://www.toppers.jp/asp-kernel.html
+　　TOPPERSライセンス
+　　RTOS
+・TOPPERS/ECNL lwIP対応β版
+　　https://www.toppers.jp/ecnl.html
+　　TOPPERSライセンス
+　　ECHONET Lite通信ミドルウェア
+・FatFS R0.10b
+　　http://elm-chan.org/fsw/ff/00index_j.html
+　　BSDライクなライセンス
+　　SDカード用ファイルシステム
+・lwIP 1.4.1
+　　http://savannah.nongnu.org/projects/lwip/
+　　BSD-style license
+　　TCP/IPプロトコルスタック、DHCPクライアント、DNSクライアント、
+　　IGMPクライアント、SNTPクライアント
+・TLSF 3.0
+　　http://tlsf.baisoku.org/
+　　public domain
+　　メモリアロケーター
+・WolfSSL 3.7.0
+　　http://www.wolfssl.jp/wolfsite/
+　　GPLv2 or 商用
+　　SSL/TLSライブラリ
+・libcurl 7.47.1
+　　https://curl.haxx.se/libcurl/
+　　MIT/X derivate license
+　　HTTP/HTTPSクライアント
+・musl libc
+　　http://www.musl-libc.org/
+　　permissive MIT license
+　　time関数とgmtime関数
 
-¦³mÈCZXÍA»ê¼êÌñTCgÅmFµÄ­¾³¢B
+※正確なライセンスは、それぞれの提供サイトで確認してください。
 
-lwIPÌASPÎÅÍAuæ3ñ TOPPERSpACfAEAvP[VJ­ReXgv
-ÌóÜìA¼Yõm³ñÌulwIP ÌÚAvðx[XÉ³¹Ä¢½¾«Üµ½B
+lwIPのASP対応では、「第3回 TOPPERS活用アイデア・アプリケーション開発コンテスト」
+の受賞作、松浦光洋さんの「lwIP の移植」をベースにさせていただきました。
 
-»ê¼êÌI[v\[XñÒÉ´Ó¢½µÜ·B
+それぞれのオープンソース提供者に感謝いたします。
 
-¡rhû@¡
+■ビルド方法■
 
-RpC/rhÉÍACubeSuite+ªKvÅ·B
-TCY§ÀÌ é³ÅÅÍrhÅ«Ü¹ñB
-csptH_ÌºÉÈºÌtH_ª èA»ÌÉCubeSuite+ÌvWFNgª èÜ·B
+コンパイル/ビルドには、CubeSuite+が必要です。
+サイズ制限のある無償版ではビルドできません。
+cspフォルダの下に以下のフォルダがあり、その中にCubeSuite+のプロジェクトがあります。
 
-Ecsp/libasp/libasp.mtpj	TOPPERS/ASPÌCu
-Ecsp/liblwip/liblwip.mtpj	lwIPÌCu
-Ecsp/libwolfssl/libwolfssl.mtpj	WolfSSLÌCu
-Ecsp/libcurl/libcurl.mtpj	libcurlÌCu
-Ecsp/usb_watt_meter/usb_watt_meter.mtpj	USB[dídÍvÌvO
+・csp/libasp/libasp.mtpj	TOPPERS/ASPのライブラリ
+・csp/liblwip/liblwip.mtpj	lwIPのライブラリ
+・csp/libwolfssl/libwolfssl.mtpj	WolfSSLのライブラリ
+・csp/libcurl/libcurl.mtpj	libcurlのライブラリ
+・csp/usb_watt_meter/usb_watt_meter.mtpj	USB充電器電力計のプログラム
 
-ÉrhµÄA
+順にビルドして、
 usb_watt_meter/DefaultBuild/usb_watt_meter.mot
-ªÀsvOÉÈèÜ·B
+が実行プログラムになります。
 
-¡Ó¡
+■注意事項■
 
-EHTTPSÌPOSTð·ÉÍSDJ[hªKvÅ·Bðt@Cð¼ºÌlogtH_ÌÉ
-@ì¬µA»Ìt@CðPOSTµÜ·B
-EÜ½Aðt@Cðó¯æéWebT[o[àKvÅ·B
-EJSON`®Å«oµÄ¢Ü·ªA±êð·éT[o[Ì¨è{ª éí¯ÅÍ
-@ èÜ¹ñB
-ET[o[Í¼ÌURLÆµÄuwww.example.comvÆÈÁÄ¢Ü·ÌÅAÏXµÄ­¾³¢B
-Eðæ¾·é½ßÉSNTPNCAgª®¢Ä¢Ü·ªAlwIPÅñ³êÄ¢éÜÜÌ
-@NTPT[o[AhXÅ·ÌÅAÏXµÄ­¾³¢B
-ElibcurlÌmprintf.cÉ édprintf_formatfÖÍAX^bNðåÊÉgpµÄ
-@¢½ÌÅAFatFsÌTvÉ éfprintfðpµÄãÖ¦ðsÁÄ¢Ü·B
-@ÊMd¶Ì¶ñª³µ­tH[}bg³êÈ¢Â\«ª èÜ·ÌÅAÓªKvÅ·B
+・HTTPSのPOSTを試すにはSDカードが必要です。履歴ファイルを直下のlogフォルダの中に
+　作成し、そのファイルをPOSTします。
+・また、履歴ファイルを受け取るWebサーバーも必要です。
+・JSON形式で書き出していますが、これを処理するサーバーのお手本があるわけでは
+　ありません。
+・サーバーは仮のURLとして「www.example.com」となっていますので、変更してください。
+・時刻を取得するためにSNTPクライアントが動いていますが、lwIPで提供されているままの
+　NTPサーバーアドレスですので、変更してください。
+・libcurlのmprintf.cにあるdprintf_formatf関数は、スタックメモリを大量に使用して
+　いたので、FatFsのサンプルにあるfprintfを利用して代替えを行っています。
+　通信電文の文字列が正しくフォーマットされない可能性がありますので、注意が必要です。
 
Index: UsbWattMeter/trunk/asp_dcre/arch/ccrx/tool_stddef.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/arch/ccrx/tool_stddef.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/arch/ccrx/tool_stddef.h	(revision 167)
@@ -9,36 +9,32 @@
  *  Copyright (C) 2007-2010 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プロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id$
@@ -46,10 +42,10 @@
 
 /*
- *  t_stddef.hÌJ­Â«Ë¶ilTX RXc[`FCpj
+ *  t_stddef.hの開発環境依存部（ルネサス RXツールチェイン用）
  *
- *  ±Ì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 の先頭でインクルードされる．
+ *  他のファイルからは直接インクルードすることはない．他のインクルード
+ *  ファイルに先立って処理されるため，他のインクルードファイルに依存し
+ *  てはならない．
  */
 
@@ -58,20 +54,20 @@
 
 /*
- *  RpCÌg£@\Ì½ßÌ}Nè`
+ *  コンパイラの拡張機能のためのマクロ定義
  */
 /*
- *  inline ¯ÊqÍOè`ð¶¬µÈ¢.
+ *  inline 識別子は外部定義を生成しない.
  */
 #define	Inline		static inline
 
 /*
- *  CCAZuÍ{RpCÅÍ
- *  #pragma inline_asmÌÝÌT|[gÆÈé½ß,
- *  asm/Asmè`ÍsíÈ¢.
+ *  インラインアセンブラは本コンパイラでは
+ *  #pragma inline_asmのみのサポートとなるため,
+ *  asm/Asm定義は行わない.
  */
 
 /*
- *  NoReturn / alignofÍ{RpCÅÍT|[g³êÈ¢.
- *  offsetofÍstddef.hÌè`ðp·é.
+ *  NoReturn / alignofは本コンパイラではサポートされない.
+ *  offsetofはstddef.hの定義を利用する.
  */
 #define	NoReturn
@@ -79,12 +75,12 @@
 
 /*
- *  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から取り込む．
  *
- *  C++/EC++ÅÍCWdlãÍ±êçÌCN[ht@CªpÓ³êÄ
- *  ¢éÆÍÀçÈ¢ÌÅÓªKvÅ éiÙÆñÇÌJ­Â«ÅpÓ³ê
- *  Ä¢éjD
+ *  C++/EC++では，標準仕様上はこれらのインクルードファイルが用意されて
+ *  いるとは限らないので注意が必要である（ほとんどの開発環境で用意され
+ *  ている）．
  */
 #ifndef TOPPERS_MACRO_ONLY
@@ -95,7 +91,7 @@
 
 /*
- *  RpCË¶Ìf[^^Ìè`
+ *  コンパイラ依存のデータ型の定義
  *
- *  stdint.hðCN[h·é
+ *  stdint.hをインクルードする
  */
 #ifndef TOPPERS_MACRO_ONLY
@@ -105,11 +101,11 @@
 
 /*
- *  ®¬_^ÉÖ·éè`
+ *  浮動小数点型に関する定義
  *
- *  ºLÌè`Ídbl_size = 8IvVðwèµ½êÌÝLøÆ·é±Æ.
+ *  下記の定義はdbl_size = 8オプションを指定した場合のみ有効とすること.
  */
 #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 */
 
@@ -121,8 +117,8 @@
 
 /*
- *  óxÌè`
+ *  空ラベルの定義
  *
- *  {RpCÅÍå«³[ÌzñÍRpCG[ÉÈé½ß,
- *  TCY1ÉÄè`·é.
+ *  本コンパイラでは大きさゼロの配列はコンパイルエラーになるため,
+ *  サイズ1にて定義する.
  */
 #define TOPPERS_EMPTY_LABEL( type, symbol )		type symbol[ 1 ]
Index: UsbWattMeter/trunk/asp_dcre/arch/logtrace/trace_config.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/arch/logtrace/trace_config.c	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/arch/logtrace/trace_config.c	(revision 167)
@@ -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$
@@ -45,5 +41,5 @@
 
 /*
- *		g[XO@\
+ *		トレースログ機能
  */
 
@@ -54,14 +50,14 @@
 
 /*
- *  g[XOobt@Æ»êÉANZX·é½ßÌ|C^
- */
-SYSLOG	trace_buffer[TCNT_TRACE_BUFFER];	/* g[XOobt@ */
-uint_t	trace_count;				/* g[XOobt@ÌOÌ */
-uint_t	trace_head;					/* æªÌg[XOÌi[Êu */
-uint_t	trace_tail;					/* Ìg[XOÌi[Êu */
-MODE	trace_mode;					/* g[X[h */
-
-/*
- *  g[XO@\Ìú»
+ *  トレースログバッファとそれにアクセスするためのポインタ
+ */
+SYSLOG	trace_buffer[TCNT_TRACE_BUFFER];	/* トレースログバッファ */
+uint_t	trace_count;				/* トレースログバッファ中のログの数 */
+uint_t	trace_head;					/* 先頭のトレースログの格納位置 */
+uint_t	trace_tail;					/* 次のトレースログの格納位置 */
+MODE	trace_mode;					/* トレースモード */
+
+/*
+ *  トレースログ機能の初期化
  */
 void
@@ -77,5 +73,5 @@
 
 /*
- *  g[XOÌJn
+ *  トレースログの開始
  */
 ER
@@ -92,5 +88,5 @@
 
 /* 
- *  g[XOÌÝ
+ *  トレースログの書込み
  */
 ER
@@ -103,14 +99,14 @@
 
 		/*
-		 *  g[XÌÝè
+		 *  トレース時刻の設定
 		 *
-		 *  LOG_WRI_LOG_ENTER©çÄÎê½êÉp_trace->logtimð«·
-		 *  ¦ÄµÜ¤ÌÍC¿ª«¢ªCwri_logÌûÅã«·é½ßâ
-		 *  èÍÈ¢D
+		 *  LOG_WRI_LOG_ENTERから呼ばれた場合にp_trace->logtimを書き換
+		 *  えてしまうのは気持ちが悪いが，wri_logの方で上書きするため問
+		 *  題はない．
 		 */
 		p_trace->logtim = TRACE_GET_TIM();
 
 		/*
-		 *  g[Xobt@ÉL^
+		 *  トレースバッファに記録
 		 */
 		trace_buffer[trace_tail] = *p_trace;
@@ -136,5 +132,5 @@
 
 /*
- *  g[XOÌÇoµ
+ *  トレースログの読出し
  */
 ER
@@ -147,5 +143,5 @@
 
 	/*
-	 *  g[XOobt@©çÌæoµ
+	 *  トレースログバッファからの取出し
 	 */
 	if (trace_count > 0U) {
@@ -167,5 +163,5 @@
 
 /*
- *  g[XOðoÍ·é½ßÌCuÖ
+ *  トレースログを出力するためのライブラリ関数
  */
 
@@ -213,6 +209,6 @@
 
 /*
- *  AZu¾êÅLq³êéR[h©çg[XOðoÍ·é½ßÌÖ
- *  
+ *  アセンブリ言語で記述されるコードからトレースログを出力するための関
+ *  数
  */
 
Index: UsbWattMeter/trunk/asp_dcre/arch/logtrace/trace_config.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/arch/logtrace/trace_config.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/arch/logtrace/trace_config.h	(revision 167)
@@ -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$
@@ -45,10 +41,10 @@
 
 /*
- *		g[XOÉÖ·éÝè
+ *		トレースログに関する設定
  *
- *  ±ÌCN[ht@CÍCtarget_config.h¨æÑtarget_syssvc.hÌ
- *  Ý©çCN[h³êéDÜ½Cg[XO@\Ìú»âL^ÌJ
- *  n^â~Cg[XOÌ_vðs¤vO©çCN[h·é
- *  ±ÆðzèµÄ¢éD
+ *  このインクルードファイルは，target_config.hおよびtarget_syssvc.hの
+ *  みからインクルードされる．また，トレースログ機能の初期化や記録の開
+ *  始／停止，トレースログのダンプを行うプログラムからインクルードする
+ *  ことを想定している．
  */
 
@@ -57,5 +53,5 @@
 
 /*
- *  g[XOobt@ÌTCY
+ *  トレースログバッファのサイズ
  */
 #ifndef TCNT_TRACE_BUFFER
@@ -64,5 +60,5 @@
 
 /*
- *  g[XÌæ¾û@
+ *  トレース時刻の取得方法
  */
 #ifndef TRACE_GET_TIM
@@ -73,7 +69,7 @@
 
 /*
- *  g[XOÌf[^\¢
+ *  トレースログのデータ構造
  *
- *  VXeO@\ÌOîñÌf[^\¢Æ¯¶àÌðp¢éD
+ *  システムログ機能のログ情報のデータ構造と同じものを用いる．
  */
 #include <t_syslog.h>
@@ -81,70 +77,70 @@
 
 /*
- *  g[XOobt@Æ»êÉANZX·é½ßÌ|C^
+ *  トレースログバッファとそれにアクセスするためのポインタ
  */
-extern TRACE	trace_buffer[];		/* g[XOobt@ */
-extern uint_t	trace_count;		/* g[XOobt@ÌOÌ */
-extern uint_t	trace_head;			/* æªÌg[XOÌi[Êu */
-extern uint_t	trace_tail;			/* Ìg[XOÌi[Êu */
-extern uint_t	trace_lost;			/* ¸íê½g[XÌ */
+extern TRACE	trace_buffer[];		/* トレースログバッファ */
+extern uint_t	trace_count;		/* トレースログバッファ中のログの数 */
+extern uint_t	trace_head;			/* 先頭のトレースログの格納位置 */
+extern uint_t	trace_tail;			/* 次のトレースログの格納位置 */
+extern uint_t	trace_lost;			/* 失われたトレースの数 */
 
 #endif /* TOPPERS_MACRO_ONLY */
 
 /*
- *  g[X[hÌè`
+ *  トレースモードの定義
  */
-#define TRACE_STOP			UINT_C(0x00)	/* g[Xâ~ */
-#define TRACE_RINGBUF		UINT_C(0x01)	/* Oobt@[h */
-#define TRACE_AUTOSTOP		UINT_C(0x02)	/* ©®â~[h */
-#define TRACE_CLEAR			UINT_C(0x04)	/* g[XOÌNA */
+#define TRACE_STOP			UINT_C(0x00)	/* トレース停止 */
+#define TRACE_RINGBUF		UINT_C(0x01)	/* リングバッファモード */
+#define TRACE_AUTOSTOP		UINT_C(0x02)	/* 自動停止モード */
+#define TRACE_CLEAR			UINT_C(0x04)	/* トレースログのクリア */
 
 #ifndef TOPPERS_MACRO_ONLY
 
 /*
- *  g[XO@\Ìú»
+ *  トレースログ機能の初期化
  *
- *  g[XO@\ðú»·éDú»[`ÆµÄo^·é±Æðz
- *  èµÄ¢éDøÉæèÌ®ìðs¤D
+ *  トレースログ機能を初期化する．初期化ルーチンとして登録することを想
+ *  定している．引数により次の動作を行う．
  *
- *  TRACE_STOPFú»ÌÝÅg[XÍJnµÈ¢D
- *  TRACE_RINGBUFFOobt@[hÅg[XðJnD
- *  TRACE_AUTOSTOPF©®â~[hÅg[XðJnD
+ *  TRACE_STOP：初期化のみでトレースは開始しない．
+ *  TRACE_RINGBUF：リングバッファモードでトレースを開始．
+ *  TRACE_AUTOSTOP：自動停止モードでトレースを開始．
  */
 extern void	trace_initialize(intptr_t exinf);
 
 /*
- *  g[XOÌJn
+ *  トレースログの開始
  *
- *  g[XOÌL^ðJn^â~·éDøÉæèÌ®ìðs¤D
+ *  トレースログの記録を開始／停止する．引数により次の動作を行う．
  *
- *  TRACE_STOPFg[Xðâ~D
- *  TRACE_RINGBUFFOobt@[hÅg[XðJnD
- *  TRACE_AUTOSTOPF©®â~[hÅg[XðJnD
- *  TRACE_CLEARFg[XOðNAD
+ *  TRACE_STOP：トレースを停止．
+ *  TRACE_RINGBUF：リングバッファモードでトレースを開始．
+ *  TRACE_AUTOSTOP：自動停止モードでトレースを開始．
+ *  TRACE_CLEAR：トレースログをクリア．
  */
 extern ER	trace_sta_log(MODE mode);
 
 /*
- *  g[XOÌÝ
+ *  トレースログの書込み
  */
 extern ER	trace_wri_log(TRACE *p_trace);
 
 /*
- *  g[XOÌÇoµ
+ *  トレースログの読出し
  */
 extern ER	trace_rea_log(TRACE *p_trace);
 
 /* 
- *  g[XOÌ_vitrace_dump.cj
+ *  トレースログのダンプ（trace_dump.c）
  *
- *  g[XOð_v·éDI¹[`ÆµÄo^·é±Æàzè
- *  µÄ¢éDøÆµÄC_væÆÈé¶oÍÖÖÌ|C^ðn·D
- *  ^[QbgË¶Ìáx¶oÍðp·éêÉÍCtarget_putcðn
- *  ·D
+ *  トレースログをダンプする．終了処理ルーチンとして登録することも想定
+ *  している．引数として，ダンプ先となる文字出力関数へのポインタを渡す．
+ *  ターゲット依存の低レベル文字出力を利用する場合には，target_putcを渡
+ *  す．
  */
 extern void	trace_dump(intptr_t exinf);
 
 /*
- *  g[XOðoÍ·é½ßÌCuÖ
+ *  トレースログを出力するためのライブラリ関数
  */
 extern void	trace_write_0(uint_t type);
@@ -155,5 +151,5 @@
 
 /*
- *  g[XOðoÍ·é½ßÌ}N
+ *  トレースログを出力するためのマクロ
  */
 
@@ -174,5 +170,5 @@
 
 /*
- *  g[XOû@ÌÝè
+ *  トレースログ方法の設定
  */
 #define LOG_TSKSTAT(p_tcb)		trace_2(LOG_TYPE_TSKSTAT, p_tcb, p_tcb->tstat)
Index: UsbWattMeter/trunk/asp_dcre/arch/logtrace/trace_dump.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/arch/logtrace/trace_dump.c	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/arch/logtrace/trace_dump.c	(revision 167)
@@ -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$
@@ -43,5 +39,5 @@
 
 /*
- *		g[XOÌ_v
+ *		トレースログのダンプ
  */
 
@@ -51,5 +47,5 @@
 
 /* 
- *  J[lîñÌæoµ
+ *  カーネル情報の取出し
  */
 static intptr_t
@@ -100,5 +96,5 @@
 
 /* 
- *  g[XOÌ\¦
+ *  トレースログの表示
  */
 static void
@@ -144,5 +140,5 @@
 
 /* 
- *  g[XOÌ_v
+ *  トレースログのダンプ
  */
 void
Index: UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/makeoffset.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/makeoffset.c	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/makeoffset.c	(revision 167)
@@ -8,36 +8,32 @@
  *  Copyright (C) 2008-2010 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
- * 
- *  {\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$
@@ -46,20 +42,20 @@
 
 /*
- *	offset.inc (àµ­Í offset.h) ÉÂ¢Ä
- *
- *	  offset.inc Í\¢ÌÌÁèÌvfª\¢ÌÌæª©ç½oCgÚÉ
- *	¶Ý·é©Æ¢¤±Æâ, ÁèÌrbgtB[hªæª©ç
- *	½oCgæÌ½rbgÚÉ¶Ý·é©, Æ¢¤îñð
- *	AZu¾êt@CÉ^¦é½ßÉ¶ÝµÄ¢é.
- *
- *	  offset.inc t@CÌgÍ, PÈéV{è`t@CÅ é.
- *	V{Æ¢ÁÄàè`·éV{Ì¼ÌÉÍp^[ª è,
- *	å«­ª¯ÄÌ3íÞÉªÞÅ«é.
- *
- *	<\¢Ì¼>_<vf¼>	(á) TCB_sp, TCB_pc, TCB_enatex ÈÇ
- *	<\¢Ì¼>_<vf¼>_bit	(á) TCB_enatex_bit ÈÇ
- *	<\¢Ì¼>_<vf¼>_mask (á) TCB_enatex_mask ÈÇ
- *
- *	(á)
+ *	offset.inc (もしくは offset.h) について
+ *
+ *	  offset.inc は構造体の特定の要素が構造体の先頭から何バイト目に
+ *	存在するかということや, 特定のビットフィールドが先頭から
+ *	何バイト先の何ビット目に存在するか, という情報を
+ *	アセンブリ言語ファイルに与えるために存在している.
+ *
+ *	  offset.inc ファイルの中身は, 単なるシンボル定義ファイルである.
+ *	シンボルといっても定義するシンボルの名称にはパターンがあり,
+ *	大きく分けて次の3種類に分類できる.
+ *
+ *	<構造体名>_<要素名>	(例) TCB_sp, TCB_pc, TCB_enatex など
+ *	<構造体名>_<要素名>_bit	(例) TCB_enatex_bit など
+ *	<構造体名>_<要素名>_mask (例) TCB_enatex_mask など
+ *
+ *	(例)
  *		TCB_texptn		.equ	14
  *		TCB_sp			.equ	20
@@ -69,57 +65,55 @@
  *		TCB_enatex_mask		.equ	0040H
  *
- *	  êÔÍ¶ßÍÁèÌvfª\¢ÌÌæª©ç½oCgæÉ é©
- *	Æ¢¤±Æð¦·lÉÂ¯éxÌ¼Ì.
- *	  ñÔÚÍÁèÌrbgtB[hÌrbgª, ºÊ©ç¦Ä
- *	½rbgÚÉ é©Æ¢¤±Æð¦·lÉÂ¯éxÌ¼Ì. 
- *	0©çnÜélÅ\»·é. ÅàºÊÌrbgÍæ0rbgÅ é.
- *	  OÔÚÍæÙÇÌ <\¢Ì¼>_<vf¼>_bit ÆàÖA·éª,
- *	ÁèÌrbgtB[hÌrbgÌ}XNlÌ¼Ì.
- *	_bit Æ *_mask ÌlÌÔÉÍÌÖWª é.
+ *	  一番はじめは特定の要素が構造体の先頭から何バイト先にあるか
+ *	ということを示す数値につけるラベルの名称.
+ *	  二番目は特定のビットフィールド中のビットが, 下位から数えて
+ *	何ビット目にあるかということを示す数値につけるラベルの名称. 
+ *	0から始まる数値で表現する. 最も下位のビットは第0ビットである.
+ *	  三番目は先ほどの <構造体名>_<要素名>_bit とも関連するが,
+ *	特定のビットフィールド中のビットのマスク値の名称.
+ *	_bit と *_mask の値の間には次の関係がある.
  *		(*_mask) == (1 << *_bit)
- * *	(á) TCB_enatex_bit ª 6 Ì, TCB_enatex_mask Í 40H
- *
- *	  ¿ÈÝÉM32CË¶ÌÀÅÍ, ÁèrbgÌ`FbNÈÇÉ
- *	rbg½ßAhbVOðgpµÄ¢éÌÅ *_mask Æ¢¤xÍ
- *	gpµÄ¢È¢.
+ * *	(例) TCB_enatex_bit が 6 の時, TCB_enatex_mask は 40H
+ *
+ *	  ちなみにM32C依存部の実装では, 特定ビットのチェックなどに
+ *	ビット命令アドレッシングを使用しているので *_mask というラベルは
+ *	使用していない.
  */
 
 /*
- *	offset.inc Ììèû(M32C^[QbgË¶ü¯)
- *
- *	  GNU CRpCðp¢Ä¢é^[QbgË¶ÉÂ¢ÄÍ,
- *	J[lÌgbvfBNgÌºÉ é util Æ¢¤fBNgÌ
- *	ºÉ genoffset Æ¢¤ perl XNvgªpÓ³êÄ¢éÌÅ,
- *	ÁÉè®Å offset.h ðì¬·éKvÍÈ¢.
- *	  genoffset Í GNU J­Â«ðzèµÄì¬³êÄ¢éÌÅ,
- *	¶¬³êéAZu¾ê^½ßâ¶¬K¥ÌÙÈé¼Ì
- *	CRpCÉÍ»ÌÜÜKpÅ«È¢Â\«ª é.
- *	  »±Å, ±±ÅÍWindowsÂ« ü¯Ì genoffset ðpÓ¹¸,
- *	ìèûð±±ÉLµ, èìÆÅ offset.inc ðì¬µÄàç¤±ÆÆ
- *	·é. ÈºÉ»Ìû@ð¦·. È¨, ±Ìû@ÍM32CÌJ­Â«â
- *	½ßZbgÉË¶µÄ¢é½ß, ¼Ì^[QbgðgpµÄ¢éêÍ
- *	»ÌÜÜKpÅ«È¢.
- *
- *  1.	makeoffset.c Æ¢¤t@C©çCRpCðgpµÄ
- *	AZu¾êt@C makeoffset.a30 ð¶¬·é.
- *	RpCIvVÍJ[lR[hÉ^¦éàÌÆ¯¶
- *	àÌð^¦é. 
- *	lTX»c[ TM ðgpµÄ¢éêÍ, vWFNgGfB^Ì
- *	¶¬èr
-[©ç makeoffset.a30 ðIÑ, ENbNj
-[Ì
- *	¢ªrh£ðIð·é±ÆÅ¶¬Å«é.
- *	àµ­ÍR}hvvgÅCNt@CÆ¯¶fBNgÉ
- *	Ú®µ, "make -f CNt@C¼ makeoffset.a30" ð
- *	ÀsµÄà¯lÌÊª¾çêé. (CNt@CÍTMªgpµÄ
- *	¢éàÌÆ¯¶t@CðwèÂ\)
- *
- *  2.	æÙÇÌ 1. ÌìÆÅ¾çê½, makeoffset.a30 t@C©ç
- *	"! BEGIN XXXX"  ÅÍ¶Üè "! END" ÅIíÁÄ¢éªðT·.
- *
- *	4Ó è, »ê¼ê­µ¸ÂÙÈéÌÅÉà¾·é.
- *	(Èº, à¾ÅÍAZu¾êt@CÌRgsÍÈ­)
- *
- * (1)	\¢ÌÌæª©çoÖÌItZbg
+ *	offset.inc の作り方(M32Cターゲット依存部向け)
+ *
+ *	  GNU Cコンパイラを用いているターゲット依存部については,
+ *	カーネルのトップディレクトリの下にある util というディレクトリの
+ *	下に genoffset という perl スクリプトが用意されているので,
+ *	特に手動で offset.h を作成する必要はない.
+ *	  genoffset は GNU 開発環境を想定して作成されているので,
+ *	生成されるアセンブリ言語疑似命令や生成規則の異なる他の
+ *	Cコンパイラにはそのまま適用できない可能性がある.
+ *	  そこで, ここではWindows環境 向けの genoffset を用意せず,
+ *	作り方をここに記し, 手作業で offset.inc を作成してもらうことと
+ *	する. 以下にその方法を示す. なお, この方法はM32Cの開発環境や
+ *	命令セットに依存しているため, 他のターゲットを使用している場合は
+ *	そのまま適用できない.
+ *
+ *  1.	makeoffset.c というファイルからCコンパイラを使用して
+ *	アセンブリ言語ファイル makeoffset.a30 を生成する.
+ *	コンパイルオプションはカーネルコードに与えるものと同じ
+ *	ものを与える. 
+ *	ルネサス製ツール TM を使用している場合は, プロジェクトエディタの
+ *	生成手順ビューから makeoffset.a30 を選び, 右クリックメニューの
+ *	｢部分ビルド｣を選択することで生成できる.
+ *	もしくはコマンドプロンプトでメイクファイルと同じディレクトリに
+ *	移動し, "make -f メイクファイル名 makeoffset.a30" を
+ *	実行しても同様の結果が得られる. (メイクファイルはTMが使用して
+ *	いるものと同じファイルを指定可能)
+ *
+ *  2.	先ほどの 1. の作業で得られた, makeoffset.a30 ファイルから
+ *	"! BEGIN XXXX"  ではじまり "! END" で終わっている部分を探す.
+ *
+ *	4箇所あり, それぞれ少しずつ異なるので順に説明する.
+ *	(以下, 説明中ではアセンブリ言語ファイルのコメント行は省く)
+ *
+ * (1)	構造体の先頭からメンバへのオフセット
  *
  *	! BEGIN TCB_texptn
@@ -127,17 +121,17 @@
  *	! END
  *
- *	ãL"! BEGIN"ÌãëÌ¶ñªoffset.incÅè`·éV{¼ÆÈé.
- *	»ÌV{ÌlÍ, sÌbset½ßÌæ2IyhÌlÅ é
- *	0000000eHª»êÉ·é. ±êª\¢ÌÌæª©çtexptnÜÅÌ
- *	ItZbglÆÈé. µ½ªÁÄ±Ìê, offset.inc ÉÍ
+ *	上記"! BEGIN"の後ろの文字列がoffset.incで定義するシンボル名となる.
+ *	そのシンボルの値は, 次行のbset命令の第2オペランドの値である
+ *	0000000eHがそれに相当する. これが構造体の先頭からtexptnまでの
+ *	オフセット値となる. したがってこの場合, offset.inc には
  *	TCB_texptn	.equ	14
- *	Æ¢¤sðLq·é.
- *
- * (2)	\¢ÌÌoª\¢ÌÅ, »ÌÌoÉÎ·éItZbg
- *
- *	TCB_sp ÉÂ¢ÄàÙÚ¯l¾ª, sp ÍTCB\¢ÌÌ¼ÚÌ
- *	oÅÈ­TCB\¢ÌÌoÅ éTSKCTXB\¢ÌÌoÅ
- *	 é_ªÙÈé. »êÅàè`·éV{¼ÆµÄÍ
- *	TCB_sp Ìæ¤É\»·é. AZu¾êt@CÅÍ
+ *	という行を記述する.
+ *
+ * (2)	構造体のメンバが構造体で, その中のメンバに対するオフセット
+ *
+ *	TCB_sp についてもほぼ同様だが, sp はTCB構造体の直接の
+ *	メンバでなくTCB構造体のメンバであるTSKCTXB構造体のメンバで
+ *	ある点が異なる. それでも定義するシンボル名としては
+ *	TCB_sp のように表現する. アセンブリ言語ファイルでは
  *
  *	! BEGIN TCB_sp
@@ -149,12 +143,12 @@
  *	! END *
  *
- *	Ìæ¤ÉÈè,14H(=20) ªßélÈÌÅoffset.inc ÉÍÌæ¤É
- *	Lq·é.
+ *	のようになり,14H(=20) が求める値なのでoffset.inc には次のように
+ *	記述する.
  *
  *	TCB_sp	.equ	20
  *
- * (3)	oªÖÖÌ|C^Å Á½ê
- *
- *	Í TCB_pc Ìê.
+ * (3)	メンバが関数へのポインタであった場合
+ *
+ *	次は TCB_pc の場合.
  *
  *	! BEGIN TCB_pc
@@ -163,17 +157,17 @@
  *	! END
  *
- *	pc à sp Æ¯¶­, TCB\¢ÌÌ¼ÚÌoÅÍÈ¢ª
- *	TCB_pc Æ\»µÄ¢é. ±êÍÖÌAhXði[·éÏÈÌÅ,
+ *	pc も sp と同じく, TCB構造体の直接のメンバではないが
+ *	TCB_pc と表現している. これは関数のアドレスを格納する変数なので,
  *	(((TCB *)0)->tskctxb.pc)();
- *	ÆµÄÖÄÑoµÌæ¤ÉLq·éÆãLÌæ¤ÈAZu¾ê
- *	R[hðoÍ·é. V{è`·éÛÌV{¼Í¡ÜÅÆ
- *	¯¶­, TCB_pc Æ·é. 
- *	ßélÍ\¢Ì©çÖ|C^ÜÅÌItZbgÅ è, ãÌmov.l
- *	½ßÌÊ©ç 	00000018H(=24) ÆÈé.
- *	µ½ªÁÄ, offset.inc ÉÍÌæ¤ÉLq·é.
+ *	として関数呼び出しのように記述すると上記のようなアセンブリ言語
+ *	コードを出力する. シンボル定義する際のシンボル名は今までと
+ *	同じく, TCB_pc とする. 
+ *	求める値は構造体から関数ポインタまでのオフセットであり, 上のmov.l
+ *	命令の結果から 	00000018H(=24) となる.
+ *	したがって, offset.inc には次のように記述する.
  *
  *	TCB_pc	.equ	24
  *
- * (4)	\¢ÌÌoªrbgtB[hÅ»ÌrbgÊuàmè½¢ê
+ * (4)	構造体のメンバがビットフィールドでそのビット位置も知りたい場合
  *
  *	! BEGIN TCB_enatex
@@ -181,11 +175,11 @@
  *	! END
  *
- *	¡ÜÅÆ¯l, BEGIN ÌãÌ¶ñðV{¼Æ·é.
- *	±±ÅÌTCB_enatexÌlÍ\¢ÌÌæª©çrbgtB[hðÜÞo
- *	CgÜÅÌItZbgÅ, M32CÌrbg½ßAhbVOÍwèÅ«
- *	érbgÊuª0©ç7ÌÔÉûÜéæ¤ÉANZX·éAhXÉK
- *	ªÁ¦çêéÌÅ cH+1(=13) ÆÈÁÄ¢é. Ü½, rbgtB[h
- *	ÌÅºÊrbg©çÌrbgÊuÍ 6ÆÈé.
- *	ÈãæèÌæ¤É­±ÆªÅ«é.
+ *	今までと同様, BEGIN の後の文字列をシンボル名とする.
+ *	ここでのTCB_enatexの値は構造体の先頭からビットフィールドを含むバ
+ *	イトまでのオフセットで, M32Cのビット命令アドレッシングは指定でき
+ *	るビット位置が0から7の間に収まるようにアクセスするアドレスに適当
+ *	数が加えられるので cH+1(=13) となっている. また, ビットフィールド
+ *	中の最下位ビットからのビット位置は 6となる.
+ *	以上より次のように書くことができる.
  *
  *		TCB_enatex	.equ	13
Index: UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/prc.tf
===================================================================
--- UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/prc.tf	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/prc.tf	(revision 167)
@@ -7,36 +7,32 @@
 $  Copyright (C) 2013      by Mitsuhiro Matsuura
 $ 
-$  ã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$
@@ -44,11 +40,11 @@
 
 $ 
-$  A[LeN`Ë¶ev[giRX630pj
-$ 
-
-
-
-$ 
-$  ATT_ISRÅgpÅ«éÝÔÆ»êÉÎ·éÝnhÔ
+$  アーキテクチャ依存テンプレート（RX630用）
+$ 
+
+
+
+$ 
+$  ATT_ISRで使用できる割込み番号とそれに対応する割込みハンドラ番号
 $ 
 
@@ -58,5 +54,5 @@
 
 $ 
-$  DEF_INT^DEF_EXCÅgpÅ«éÝnhÔ^CPUáOnhÔ
+$  DEF_INT／DEF_EXCで使用できる割込みハンドラ番号／CPU例外ハンドラ番号
 $ 
 
@@ -66,5 +62,5 @@
 
 $ 
-$  CFG_INTÅgpÅ«éÝÔÆÝDæx
+$  CFG_INTで使用できる割込み番号と割込み優先度
 $ 
 
@@ -74,5 +70,5 @@
 
 $ 
-$  ^[QbgñË¶ÉÜÜêéWÌÝÇ@\/áOÇ@\Ìú»ðgp·é
+$  ターゲット非依存部に含まれる標準の割込み管理機能/例外管理機能の初期化処理を使用する
 $ 
 
@@ -82,5 +78,5 @@
 
 $ 
-$  X^bNTCYÌ`FbNû@wè
+$  スタックサイズのチェック方法指定
 $ 
 
@@ -89,9 +85,9 @@
 
 $ 
-$  ^XNX^bNTCYÌÅ¬l
-$ 
-$  ^XNN®É4byte,
-$  ÝüûÉÄ48byte, CPUáOüûÉÄ84byte,
-$  Å é½ß, Å¬lÍ88byteÆ·é.
+$  タスクスタックサイズの最小値
+$ 
+$  タスク起動時に4byte,
+$  割込み入口処理にて48byte, CPU例外入口処理にて84byte,
+$  であるため, 最小値は88byteとする.
 $ 
 
@@ -100,5 +96,5 @@
 
 $ 
-$  èè`
+$  定数定義
 $ 
 
@@ -107,5 +103,5 @@
 
 $ 
-$ ^[QbgË¶ÌÝ®«Ìè`
+$ ターゲット依存の割込み属性の定義
 $ 
 
@@ -114,5 +110,5 @@
 
 $ 
-$ ^[QbgË¶ÌÝnh®«Ìè`
+$ ターゲット依存の割込みハンドラ属性の定義
 $ 
 
@@ -121,15 +117,15 @@
 
 $ 
-$ J[lÇOÝnhÍÅè³¹È¢½ß,
+$ カーネル管理外割込みハンドラは固定させないため,
 $ INTNO_FIX_KERNEL
 $ INHNO_FIX_KERNEL
 $ INHNO_FIX_NONKERNEL
 $ INHNO_FIX_NONKERNEL
-$ ðè`µÈ¢.
-$ 
-
-
-$ 
-$  Wev[gt@CÌCN[h
+$ を定義しない.
+$ 
+
+
+$ 
+$  標準テンプレートファイルのインクルード
 $ 
 $INCLUDE "kernel.tf"$
@@ -138,27 +134,27 @@
 
 $ 
-$  CFG_INTÌ^[QbgË¶ÌG[`FbN
+$  CFG_INTのターゲット依存のエラーチェック
 $ 
 
 $FOREACH intno INT.ORDER_LIST$
-$ IRQÝÔ©Ç¤©ð`FbN
+$ IRQ割込み番号かどうかをチェック
 	$IF ( LENGTH( FIND( INTNO_INT, INT.INTNO[intno] ) ) != 0 )$
 
-$   TA_POSEDGEÆTA_NEGEDGEª¯ÉÝè³êÄ¢éê
+$   TA_POSEDGEとTA_NEGEDGEが同時に設定されている場合
 		$IF ((INT.INTATR[intno] & ( TA_POSEDGE | TA_NEGEDGE )) == ( TA_POSEDGE | TA_NEGEDGE ))$
 			$ERROR$ INT.TEXT_LINE[intno]:$FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "intatr", INT.INTATR[intno], INT.INTNO[intno], "CFG_INT")$$END$
 		$END$
 
-$   TA_POSEDGEÆTA_BOTHEDGEª¯ÉÝè³êÄ¢éê
+$   TA_POSEDGEとTA_BOTHEDGEが同時に設定されている場合
 		$IF ((INT.INTATR[intno] & ( TA_POSEDGE | TA_BOTHEDGE )) == ( TA_POSEDGE | TA_BOTHEDGE ))$
 			$ERROR$ INT.TEXT_LINE[intno]:$FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "intatr", INT.INTATR[intno], INT.INTNO[intno], "CFG_INT")$$END$
 		$END$
 
-$   TA_NEGEDGEÆTA_BOTHEDGEª¯ÉÝè³êÄ¢éê
+$   TA_NEGEDGEとTA_BOTHEDGEが同時に設定されている場合
 		$IF ((INT.INTATR[intno] & ( TA_NEGEDGE | TA_BOTHEDGE )) == ( TA_NEGEDGE | TA_BOTHEDGE ))$
 			$ERROR$ INT.TEXT_LINE[intno]:$FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "intatr", INT.INTATR[intno], INT.INTNO[intno], "CFG_INT")$$END$
 		$END$
 
-$   TA_POSEDGEÆTA_NEGEDGEÆTA_BOTHEDGEª¯ÉÝè³êÄ¢éê
+$   TA_POSEDGEとTA_NEGEDGEとTA_BOTHEDGEが同時に設定されている場合
 		$IF ((INT.INTATR[intno] & ( TA_POSEDGE | TA_NEGEDGE | TA_BOTHEDGE )) == ( TA_POSEDGE | TA_NEGEDGE | TA_BOTHEDGE ))$
 			$ERROR$ INT.TEXT_LINE[intno]:$FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "intatr", INT.INTATR[intno], INT.INTNO[intno], "CFG_INT")$$END$
@@ -167,5 +163,5 @@
 	$ELSE$
 
-$   IRQÝÈOÌÝÉÎµÄÝ®«ªwè³êÄ¢éê
+$   IRQ割込み以外の割込みに対して割込み属性が指定されている場合
 		$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$
@@ -179,5 +175,5 @@
 
 $ 
-$ ÝÔ©çÝDæxyÑ®«ðæèo·e[u
+$ 割込み番号から割込み優先度及び属性を取り出すテーブル
 $ 
 
@@ -187,5 +183,5 @@
 const CFG_INT_INFO _kernel_cfg_int_table[$LENGTH(INTNO_RANGE)$] = {$NL$
 $FOREACH intno INTNO_RANGE$
-$ ÝDæxðæ¾
+$ 割込み優先度を取得
 	$IF LENGTH(INT.INTNO[intno])$
 		$intpri = -INT.INTPRI[intno]$
@@ -196,5 +192,5 @@
 	$END$
 
-$ e[uÌgðoÍ
+$ テーブルの中身を出力
 	$TAB$$FORMAT("{ %2d, %08x }, /* %02u */", intpri, intatr, +intno)$$NL$
 $END$
@@ -203,5 +199,5 @@
 
 $ 
-$  AZuoÍt@C
+$  アセンブラ出力ファイル
 $ 
 
@@ -209,7 +205,7 @@
 
 ;$NL$
-;  RX630A[LeN`Ë¶oÍt@C$NL$
-;$NL$
-;  ÝxN^yÑÝnhè`$NL$
+;  RX630アーキテクチャ依存出力ファイル$NL$
+;$NL$
+;  割込みベクタ及び割込みハンドラ定義$NL$
 ;$NL$
 $NL$$NL$
@@ -217,9 +213,9 @@
 
 $ 
-$  Ýüû
-$ 
-
-$ 
-$  ¤ÊÖÌé¾
+$  割込み入口処理
+$ 
+
+$ 
+$  共通関数の宣言
 $ 
 
@@ -231,5 +227,5 @@
 
 $ 
-$  ÝnhÌoÍ
+$  割込みハンドラの出力
 $ 
 
@@ -240,24 +236,24 @@
 			$TAB$.glb	__kernel_$INH.INTHDR[inhno]$_$+INH.INHNO[inhno]$_entry$NL$
 			__kernel_$INH.INTHDR[inhno]$_$+INH.INHNO[inhno]$_entry:$NL$
-			$TAB$pushm	r1-r5						; XNb`WX^ð^XNX^bNÖÞð $NL$
-			$TAB$mov.l	#$+INH.INHNO[inhno]$, r1	; ÝnhÔðr1Ö $NL$
-			$TAB$mov.l	#_$INH.INTHDR[inhno]$, r2	; nhÌAhXðr2Ö $NL$
-			$TAB$bra.a	_kernel_interrupt			; ¤Ê[`Ö $NL$$NL$$NL$
-		$END$
-	$END$
-$END$
-
-
-$ ¢o^Ýnhüû
+			$TAB$pushm	r1-r5						; スクラッチレジスタをタスクスタックへ退避 $NL$
+			$TAB$mov.l	#$+INH.INHNO[inhno]$, r1	; 割込みハンドラ番号をr1へ $NL$
+			$TAB$mov.l	#_$INH.INTHDR[inhno]$, r2	; ハンドラのアドレスをr2へ $NL$
+			$TAB$bra.a	_kernel_interrupt			; 共通ルーチンへ $NL$$NL$$NL$
+		$END$
+	$END$
+$END$
+
+
+$ 未登録割込みハンドラ入口処理
 $TAB$.glb$TAB$__kernel_default_int_handler_entry$NL$
 __kernel_default_int_handler_entry:$NL$
-$TAB$pushm	r1-r5								; XNb`WX^ð^XNX^bNÖÞð $NL$
-$TAB$mov.l	#0FFFFFFFFH, r1						; ÝnhÔðr1Ö $NL$
-$TAB$mov.l	#__kernel_default_int_handler, r2	; nhÌAhXðr2Ö $NL$
-$TAB$bra.a	_kernel_interrupt					; ¤Ê[`Ö $NL$$NL$$NL$
-
-
-$ 
-$  CPUáOnhüû
+$TAB$pushm	r1-r5								; スクラッチレジスタをタスクスタックへ退避 $NL$
+$TAB$mov.l	#0FFFFFFFFH, r1						; 割込みハンドラ番号をr1へ $NL$
+$TAB$mov.l	#__kernel_default_int_handler, r2	; ハンドラのアドレスをr2へ $NL$
+$TAB$bra.a	_kernel_interrupt					; 共通ルーチンへ $NL$$NL$$NL$
+
+
+$ 
+$  CPU例外ハンドラ入口処理
 $ 
 
@@ -269,27 +265,27 @@
 		$TAB$.glb	__kernel_$EXC.EXCHDR[excno]$_$+EXC.EXCNO[excno]$_entry$NL$
 		__kernel_$EXC.EXCHDR[excno]$_$+EXC.EXCNO[excno]$_entry:$NL$
-		$TAB$pushm	r1-r5						; XNb`WX^ð^XNX^bNÖÞð $NL$
-		$TAB$mov.l	#$+EXC.EXCNO[excno]$, r1	; CPUáOnhÔðr1Ö $NL$
-		$TAB$mov.l	#_$EXC.EXCHDR[excno]$, r2	; nhÌAhXðr2Ö $NL$
-		$TAB$bra.a	_kernel_exception			; ¤Ê[`Ö $NL$$NL$$NL$
-	$END$
-$END$
-
-
-$ ¢o^CPUáOnhüû
+		$TAB$pushm	r1-r5						; スクラッチレジスタをタスクスタックへ退避 $NL$
+		$TAB$mov.l	#$+EXC.EXCNO[excno]$, r1	; CPU例外ハンドラ番号をr1へ $NL$
+		$TAB$mov.l	#_$EXC.EXCHDR[excno]$, r2	; ハンドラのアドレスをr2へ $NL$
+		$TAB$bra.a	_kernel_exception			; 共通ルーチンへ $NL$$NL$$NL$
+	$END$
+$END$
+
+
+$ 未登録CPU例外ハンドラ入口処理
 $TAB$.glb$TAB$__kernel_default_exc_handler_entry$NL$
 __kernel_default_exc_handler_entry:$NL$
-$TAB$pushm	r1-r5								; XNb`WX^ð^XNX^bNÖÞð $NL$
-$TAB$mov.l	#0FFFFFFFFH, r1						; CPUáOnhÔðr1Ö $NL$
-$TAB$mov.l	#__kernel_default_exc_handler, r2	; nhÌAhXðr2Ö $NL$
-$TAB$bra.a	_kernel_exception					; ¤Ê[`Ö $NL$$NL$$NL$
-
-
-$ 
-$  ÂÏxN^e[u
-$ 
-
-;$NL$
-;  ÂÏxN^e[u$NL$
+$TAB$pushm	r1-r5								; スクラッチレジスタをタスクスタックへ退避 $NL$
+$TAB$mov.l	#0FFFFFFFFH, r1						; CPU例外ハンドラ番号をr1へ $NL$
+$TAB$mov.l	#__kernel_default_exc_handler, r2	; ハンドラのアドレスをr2へ $NL$
+$TAB$bra.a	_kernel_exception					; 共通ルーチンへ $NL$$NL$$NL$
+
+
+$ 
+$  可変ベクタテーブル
+$ 
+
+;$NL$
+;  可変ベクタテーブル$NL$
 ;$NL$
 $NL$
@@ -322,5 +318,5 @@
 
 $ 
-$  ÅèxN^e[u
+$  固定ベクタテーブル
 $ 
 $FOREACH excno EXCNO_RANGE$
@@ -334,5 +330,5 @@
 $NL$
 ;$NL$
-;  ÅèxN^e[u$NL$
+;  固定ベクタテーブル$NL$
 ;$NL$
 $NL$
@@ -343,18 +339,18 @@
 
 $TAB$ .offset$TAB$ 020H$NL$
-$TAB$ .lword$TAB$ 00000000 $TAB$ ; §äR[h, IDR[h1 - 3$NL$
-$TAB$ .lword$TAB$ 00000000 $TAB$ ; IDR[h4 - 7$NL$
-$TAB$ .lword$TAB$ 00000000 $TAB$ ; IDR[h8 - 11$NL$
-$TAB$ .lword$TAB$ 00000000 $TAB$ ; IDR[h12 - 15$NL$$NL$
+$TAB$ .lword$TAB$ 00000000 $TAB$ ; 制御コード, IDコード1 - 3$NL$
+$TAB$ .lword$TAB$ 00000000 $TAB$ ; IDコード4 - 7$NL$
+$TAB$ .lword$TAB$ 00000000 $TAB$ ; IDコード8 - 11$NL$
+$TAB$ .lword$TAB$ 00000000 $TAB$ ; IDコード12 - 15$NL$$NL$
 
 $TAB$ .offset$TAB$ 050H$NL$
-$TAB$ .lword$TAB$ _$EXCHDR[20]$ $TAB$ $TAB$ ;$SPC$ 20:Á ½ßáO $SPC$$NL$
+$TAB$ .lword$TAB$ _$EXCHDR[20]$ $TAB$ $TAB$ ;$SPC$ 20:特権命令例外 $SPC$$NL$
 $TAB$ .offset$TAB$ 05CH$NL$
-$TAB$ .lword$TAB$ _$EXCHDR[23]$ $TAB$ $TAB$ ;$SPC$ 23:¢è`½ßáO $SPC$$NL$
+$TAB$ .lword$TAB$ _$EXCHDR[23]$ $TAB$ $TAB$ ;$SPC$ 23:未定義命令例外 $SPC$$NL$
 $TAB$ .offset$TAB$ 064H$NL$
-$TAB$ .lword$TAB$ _$EXCHDR[25]$ $TAB$ $TAB$ ;$SPC$ 25:®¬_áO $SPC$$NL$
+$TAB$ .lword$TAB$ _$EXCHDR[25]$ $TAB$ $TAB$ ;$SPC$ 25:浮動小数点例外 $SPC$$NL$
 $TAB$ .offset$TAB$ 078H$NL$
-$TAB$ .lword$TAB$ _$EXCHDR[30]$ $TAB$ $TAB$ ;$SPC$ 30:m}XJuáO $SPC$$NL$
-$TAB$ .lword$TAB$ _start $TAB$ $TAB$ $TAB$ $TAB$ ;$SPC$ 31:Zbg $SPC$$NL$
+$TAB$ .lword$TAB$ _$EXCHDR[30]$ $TAB$ $TAB$ ;$SPC$ 30:ノンマスカブル例外 $SPC$$NL$
+$TAB$ .lword$TAB$ _start $TAB$ $TAB$ $TAB$ $TAB$ ;$SPC$ 31:リセット $SPC$$NL$
 
 $NL$ $NL$
Index: UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/prc_asm_config.tf
===================================================================
--- UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/prc_asm_config.tf	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/prc_asm_config.tf	(revision 167)
@@ -1,5 +1,5 @@
 $ 
-$     asm_config.inc ¶¬p
-$     pX2ÌA[LeN`Ë¶ev[giRX630pj
+$     asm_config.inc 生成用
+$     パス2のアーキテクチャ依存テンプレート（RX630用）
 $ 
 
Index: UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/prc_cfg1_out.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/prc_cfg1_out.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/prc_cfg1_out.h	(revision 167)
@@ -1,4 +1,4 @@
 /*
- *		cfg1_out.cÌNÉKvÈX^uÌè`
+ *		cfg1_out.cのリンクに必要なスタブの定義
  */
 
@@ -20,5 +20,5 @@
 
 /*
- *  ItZbgt@Cð¶¬·é½ßÌè`
+ *  オフセットファイルを生成するための定義
  */
 const uint8_t	MAGIC_1 = 0x12;
Index: UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/prc_check.tf
===================================================================
--- UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/prc_check.tf	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/prc_check.tf	(revision 167)
@@ -6,36 +6,32 @@
 $  Copyright (C) 2008-2010 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プロジェクトは，本ソフトウェアに関して，特定の使用目的
+$  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+$  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+$  の責任を負わない．
 $ 
 $  @(#) $Id$
@@ -43,9 +39,9 @@
 
 $ 
-$ 		pX3ÌvZbTË¶ev[giRX630pj
+$ 		パス3のプロセッサ依存テンプレート（RX630用）
 $ 
 
 $ 
-$  `FbNû@Ìwè
+$  チェック方法の指定
 $ 
 $CHECK_FUNC_ALIGN = 1$
@@ -57,5 +53,5 @@
 
 $ 
-$  Wev[gt@CÌCN[h
+$  標準テンプレートファイルのインクルード
 $ 
 $INCLUDE "kernel/kernel_check.tf"$
Index: UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/prc_config.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/prc_config.c	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/prc_config.c	(revision 167)
@@ -10,36 +10,32 @@
  *  Copyright (C) 2008-2010 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
- * 
- *  {\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$
@@ -47,6 +43,5 @@
 
 /*
- *		vZbTË¶W
-[iRX630pj
+ *		プロセッサ依存モジュール（RX630用）
  */
 
@@ -56,19 +51,19 @@
 
 /*
- *  Ý­¶ñðÛ¶·éÏ
+ *  割込み発生回数を保存する変数
  */
 uint16_t	intnest;
 
 /*
- *  CPUbNtOÀ»Ì½ßÌÏ
+ *  CPUロックフラグ実現のための変数
  */
 #if TIPM_LOCK != -15
-bool_t		lock_flag;		/* CPUbNtOÌlðÛ·éÏ */
-uint32_t	saved_ipl;		/* ÝDæxxðÛ¶·éÏ */
+bool_t		lock_flag;		/* CPUロックフラグの値を保持する変数 */
+uint32_t	saved_ipl;		/* 割込み優先度レベルを保存する変数 */
 #endif	/* TIPM_LOCK != -15	*/
 
 
 /*
- *  vZbTË¶Ìú»
+ *  プロセッサ依存の初期化
  */
 void
@@ -76,8 +71,8 @@
 {
 	/*
-	 *  Ý­¶ñÌú»
-	 *
-	 *  X^[gAbvÍSÝbNóÔ & ñ^XNReLXg
-	 *  ÉÄ®ì·é½ß, ñ^XNReLXgÉU·é.
+	 *  割込み発生回数の初期化
+	 *
+	 *  スタートアップは全割込みロック状態 & 非タスクコンテキスト
+	 *  にて動作するため, 非タスクコンテキストに偽装する.
 	 */
 	intnest = 1U;
@@ -85,5 +80,5 @@
 #if TIPM_LOCK != -15
 	/*
-	 *  CPUbNtOÀ»Ì½ßÌÏÌú»
+	 *  CPUロックフラグ実現のための変数の初期化
 	 */
 	lock_flag = true;
@@ -94,5 +89,5 @@
 
 /*
- *  vZbTË¶ÌI¹
+ *  プロセッサ依存の終了処理
  */
 void
@@ -100,14 +95,14 @@
 {
 	/*
-	 *  ÁÉKvÈÍÈ¢
-	 */
-}
-
-
-/*
- *  CPUáOÌ­¶óµÌOoÍ
+	 *  特に必要な処理はない
+	 */
+}
+
+
+/*
+ *  CPU例外の発生状況のログ出力
  *
- *  CPUáOnhÌ©çCCPUáOîñ|C^ip_excinfjðøÆµ
- *  ÄÄÑo·±ÆÅCCPUáOÌ­¶óµðVXeOÉoÍ·éD
+ *  CPU例外ハンドラの中から，CPU例外情報ポインタ（p_excinf）を引数とし
+ *  て呼び出すことで，CPU例外の発生状況をシステムログに出力する．
  */
 #ifdef SUPPORT_XLOG_SYS
@@ -140,9 +135,9 @@
 
 /*
- *  ÝvCÌ®«ÌÝè
+ *  割込み要求ラインの属性の設定
  *
- *  ASPJ[lÅÌpðzèµÄCp[^G[ÍAT[VÅ`Fb
- *  NµÄ¢éDcfg_intT[rXR[ðÝ¯éêÉÍCG[ðÔ·æ¤
- *  É·×«Å ë¤D
+ *  ASPカーネルでの利用を想定して，パラメータエラーはアサーションでチェッ
+ *  クしている．cfg_intサービスコールを設ける場合には，エラーを返すよう
+ *  にすべきであろう．
  */
 void
@@ -165,16 +160,16 @@
 
 	/*
-	 *  ÝÌ}XN
-	 *
-	 *  Ýðó¯t¯½ÜÜCxgK^GbWgKÌÝèâC
-	 *  ÝDæxÌÝèðs¤ÌÍë¯È½ßCÝ®«É©©íç¸C
-	 *  êU}XN·éD
+	 *  割込みのマスク
+	 *
+	 *  割込みを受け付けたまま，レベルトリガ／エッジトリガの設定や，割
+	 *  込み優先度の設定を行うのは危険なため，割込み属性にかかわらず，
+	 *  一旦マスクする．
 	 */
 	( void )x_disable_int( intno );
 
 	/*
-	 *  xgK/GbWgKÌÝè
-	 *
-	 *  IRQÌÝT|[g·é
+	 *  レベルトリガ/エッジトリガの設定
+	 *
+	 *  IRQのみサポートする
 	 */
 	if( INTNO_IRQ( intno ) != 0U ){
@@ -195,7 +190,6 @@
 		else{
 			/*
-			 *  RtBM
-[^ÉÄ`FbNµÄ¢é½ß,
-			 *  ±±Ö­é±ÆÍ è¦È¢.
+			 *  コンフィギュレータにてチェックしているため,
+			 *  ここへくることはありえない.
 			 */
 			irq_val = 0U;
@@ -206,12 +200,12 @@
 
 	/*
-	 *  ÝxÌÝè
-	 *
-	 *  ÝÔÉÎµ½IPRlðÝè·é.
+	 *  割込みレベルの設定
+	 *
+	 *  割込み番号に対応したIPR値を設定する.
 	 */
 	sil_wrb_mem((uint8_t *)ipr_reg_addr[intno], cfg_int_table[intno].intpri);
 
 	/*
-	 *  ÝÌ}XNð
+	 *  割込みのマスク解除
  	 */
 	if( ( intatr & TA_ENAINT ) != 0U ){
@@ -223,5 +217,5 @@
 #ifndef OMIT_DEFAULT_INT_HANDLER
 /*
- *  ¢o^ÌÝª­¶µ½êÉÄÑo³êé
+ *  未登録の割込みが発生した場合に呼び出される
  */
 void
@@ -234,5 +228,5 @@
 #ifndef OMIT_DEFAULT_EXC_HANDLER
 /*
- *  ¢o^ÌáOª­¶µ½êÉÄÑo³êé
+ *  未登録の例外が発生した場合に呼び出される
  */
 void
Index: UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/prc_config.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/prc_config.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/prc_config.h	(revision 167)
@@ -11,36 +11,32 @@
  *  Copyright (C) 2013      by Mitsuhiro Matsuura
  * 
- *  ã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$
@@ -48,10 +44,9 @@
 
 /*
- *		vZbTË¶W
-[iRX630pj
- *
- *  ±ÌCN[ht@CÍCtarget_config.hiÜ½ÍC»±©çCN
- *  [h³êét@CjÌÝ©çCN[h³êéD¼Ìt@C©ç
- *  ¼ÚCN[hµÄÍÈçÈ¢D
+ *		プロセッサ依存モジュール（RX630用）
+ *
+ *  このインクルードファイルは，target_config.h（または，そこからインク
+ *  ルードされるファイル）のみからインクルードされる．他のファイルから
+ *  直接インクルードしてはならない．
  */
 
@@ -62,5 +57,5 @@
 
 /*
- *  vZbTÌÁê½ßÌCCÖè`
+ *  プロセッサの特殊命令のインライン関数定義
  */
 #include "prc_insn.h"
@@ -69,5 +64,5 @@
 
 /*
- *  ñ^XNReLXgpÌX^bNúl
+ *  非タスクコンテキスト用のスタック初期値
  */
 
@@ -76,14 +71,14 @@
 
 /*
- *  ^XNReLXgubNÌè`
+ *  タスクコンテキストブロックの定義
  */
 typedef struct task_context_block {
-	void	*sp;		/* X^bN|C^ */
-	FP		pc;			/* vOJE^ */
+	void	*sp;		/* スタックポインタ */
+	FP		pc;			/* プログラムカウンタ */
 } TSKCTXB;
 
 
 /*
- *  Ý­¶ñðÛ¶·éÏ
+ *  割込み発生回数を保存する変数
  */
 extern uint16_t intnest;
@@ -91,13 +86,13 @@
 
 /*
- *  CPUbNóÔÅÌÝDæx}XN
- *
- *  TIPM_LOCKÍCCPUbNóÔÅÌÝDæx}XNC·Èí¿CJ[l
- *  ÇOÌàÌð­·×ÄÌÝvð}XN·élÉè`·éD
- *
- *  TMIN_INTPRIÏX·é±ÆÅÇOÝÌL³ðè·éD
- *  á¦ÎTMIN_INTPRIð-14ÉÝè·éÆCx15ÌÝªJ[lÇOÆ
- *  ÈéDTMIN_INTPRIð-15ÉÝè·éÆCNMIÈOÉJ[lÇOÌÝð
- *  Ý¯È¢±ÆÉÈéi±ÌêÉÍ-15ÉÝè·é±Æð§·éjD
+ *  CPUロック状態での割込み優先度マスク
+ *
+ *  TIPM_LOCKは，CPUロック状態での割込み優先度マスク，すなわち，カーネ
+ *  ル管理外のものを除くすべての割込み要求をマスクする値に定義する．
+ *
+ *  TMIN_INTPRI変更することで管理外割込みの有無を決定する．
+ *  例えばTMIN_INTPRIを-14に設定すると，レベル15の割込みがカーネル管理外と
+ *  なる．TMIN_INTPRIを-15に設定すると，NMI以外にカーネル管理外の割込みを
+ *  設けないことになる（この場合には-15に設定することを推奨する）．
  */
 #ifndef TIPM_LOCK
@@ -107,16 +102,16 @@
 
 /*
- *  TOPPERSWÝfÌÀ»
- */
-/*
- *  ReLXgÌQÆ
- *
- *  RXÅÍCÝÌßèæª^XN©Ç¤©ð»f·é½ßÉ intnest
- *  ðgpµÄ¢éD±êðp¢ÄReLXgð»f·éD
+ *  TOPPERS標準割込み処理モデルの実現
+ */
+/*
+ *  コンテキストの参照
+ *
+ *  RXでは，割込みの戻り先がタスクかどうかを判断するために intnest
+ *  を使用している．これを用いてコンテキストを判断する．
  */
 Inline bool_t
 sense_context( void )
 {
-	/*  lXgJE^0æèåÈçñ^XNReLXg  */
+	/*  ネストカウンタ0より大なら非タスクコンテキスト  */
 	return ( intnest > 0U );
 }
@@ -124,11 +119,11 @@
 
 /*
- *  CPUbNtOÀ»Ì½ßÌÏ
- *
- *  ±êçÌÏÍCCPUbNóÔÌÌÝ«·¦Äæ¢àÌÆ·éD
+ *  CPUロックフラグ実現のための変数
+ *
+ *  これらの変数は，CPUロック状態の時のみ書き換えてよいものとする．
  */
 #if TIPM_LOCK != -15
-extern bool_t	lock_flag;		/* CPUbNtOÌlðÛ·éÏ */
-extern uint32_t	saved_ipl;		/* ÝDæxxðÛ¶·éÏ */
+extern bool_t	lock_flag;		/* CPUロックフラグの値を保持する変数 */
+extern uint32_t	saved_ipl;		/* 割込み優先度レベルを保存する変数 */
 #endif	/* TIPM_LOCK != -15	*/
 
@@ -137,23 +132,23 @@
 
 /*
- *  ÝDæx}XNÌO\»Æà\»ÌÏ·
- *
- *  RX630ÅÍCvZbTXe[^X[hWX^iPSWjÌº©ç
- *  24`27rbgÚÌ4rbgÉÝDæxxiIPLjªu©êÄ¢éD
- *  J[lÇOÝðÀ·éêÉIPLðgpµ½§äðs¤D
- *  J[lÍÝDæx}XNi-1©çA±µ½ÌljÅÇ³êÄ
- *  ¢é½ßIPLÆÌÏ·ªKvÆÈéD
- */
-#define IPL_TO_IPM( ipl )	(-(( PRI )(( ipl ) >> 24U )))		/* IPLðIPMÉ	*/
-#define IPM_TO_IPL( ipm )	((( uint32_t )(-( ipm ))) << 24U )	/* IPMðIPLÉ	*/
-
-
-/*
- *  CPUbNóÔÅÌÝDæx}XNÌIPL
+ *  割込み優先度マスクの外部表現と内部表現の変換
+ *
+ *  RX630では，プロセッサステータスワードレジスタ（PSW）の下から
+ *  24〜27ビット目の4ビットに割込み優先度レベル（IPL）が置かれている．
+ *  カーネル管理外割込みを実装する場合にIPLを使用した制御を行う．
+ *  カーネルは割込み優先度マスク（-1から連続した負の値）で管理されて
+ *  いるためIPLとの変換が必要となる．
+ */
+#define IPL_TO_IPM( ipl )	(-(( PRI )(( ipl ) >> 24U )))		/* IPLをIPMに	*/
+#define IPM_TO_IPL( ipm )	((( uint32_t )(-( ipm ))) << 24U )	/* IPMをIPLに	*/
+
+
+/*
+ *  CPUロック状態での割込み優先度マスクのIPL
  */
 #define IPL_LOCK		( IPM_TO_IPL( TIPM_LOCK ) )
 
 /*
- *  TIPM_ENAALLiÝDæx}XNSðjÌIPL
+ *  TIPM_ENAALL（割込み優先度マスク全解除）のIPL
  */
 #define IPL_ENAALL		( IPM_TO_IPL( TIPM_ENAALL ) )
@@ -163,6 +158,6 @@
 
 /*
- *  ÝvöÌx & ®«è`e[u
- *  (ev[gt@CÉæéoÍ)
+ *  割込み要因毎のレベル & 属性定義テーブル
+ *  (テンプレートファイルによる出力)
  */
 typedef struct cfg_int_info {
@@ -175,9 +170,8 @@
 
 /*
- *  ÝÔÌÍÍÌ»è
- *
- *  ÝÔªLøÈl©µ§É`FbN·é½ß,
- *  RtBM
-[^oÍe[uðQÆ·é.
+ *  割込み番号の範囲の判定
+ *
+ *  割込み番号が有効な値か厳密にチェックするため,
+ *  コンフィギュレータ出力テーブルを参照する.
  */
 #define VALID_INTNO( intno )	\
@@ -186,13 +180,13 @@
 #define VALID_INTNO_CFGINT( intno )	VALID_INTNO( intno )
 
-/* cre_intÅLøÈÝÔÌwè  */
+/* cre_intで有効な割込み番号の指定  */
 #define VALID_INTNO_CREINT          VALID_INTNO_CFGINT((intno))
 
-/* cre_isrÅLøÈÝÔÌwè  */
+/* cre_isrで有効な割込み番号の指定  */
 #define	VALID_INTNO_CREISR(intno)	VALID_INTNO_CFGINT((intno))
 
 
 /*
- *  Ý§äWX^ÖAÌè`
+ *  割込み制御レジスタ関連の定義
  */
 #define	IRQ_POSEDGE			( 0x08U )
@@ -203,17 +197,17 @@
 
 /*
- *  CPUbNóÔÖÌÚs
- *
- *  IPMin[hEFAÌÝDæx}XNjðCsaved_iipmÉÛ¶µCJ[
- *  lÇOÌàÌð­·×ÄÌÝvð}XN·éliTIPM_LOCKj
- *  ÉÝè·éDÜ½Clock_flagðTRUEÉ·éD
- *
- *  IPMª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ロック状態への移行
+ *
+ *  IPM（ハードウェアの割込み優先度マスク）を，saved_iipmに保存し，カー
+ *  ネル管理外のものを除くすべての割込み要求をマスクする値（TIPM_LOCK）
+ *  に設定する．また，lock_flagをTRUEにする．
+ *
+ *  IPMが，最初からTIPM_LOCKと同じかそれより高い場合には，それを
+ *  saved_iipmに保存するのみで，TIPM_LOCKには設定しない．これは，モデル
+ *  上の割込み優先度マスクが，TIPM_LOCKと同じかそれより高いレベルに設定
+ *  されている状態にあたる．
+ *
+ *  この関数は，CPUロック状態（lock_flagがTRUEの状態）で呼ばれることは
+ *  ないものと想定している．
  */
 Inline void
@@ -226,8 +220,8 @@
 
 	/*
-	 *  current_ipl()ÌÔèlð¼Úsaved_iplÉÛ¶¹¸CêÏipl
-	 *  ðp¢Ä¢éÌÍCcurrent_ipl()ðÄñ¾¼ãÉÝª­¶µC
-	 *  N®³ê½ÝÅsaved_iplªÏX³êéÂ\«ª é½ßÅ
-	 *   éD
+	 *  current_ipl()の返り値を直接saved_iplに保存せず，一時変数ipl
+	 *  を用いているのは，current_ipl()を呼んだ直後に割込みが発生し，
+	 *  起動された割込み処理でsaved_iplが変更される可能性があるためで
+	 *  ある．
 	 */
 	ipl = current_ipl();
@@ -246,11 +240,11 @@
 
 /*
- *  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
@@ -270,5 +264,5 @@
 
 /*
- *  CPUbNóÔÌQÆ
+ *  CPUロック状態の参照
  */
 Inline bool_t
@@ -287,10 +281,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
@@ -316,8 +310,8 @@
 
 /*
- * ifãÌjÝDæx}XNÌQÆ
- *
- *  CPUbNtOªNA³êÄ¢éÍn[hEFAÌÝDæx}
- *  XNðCZbg³êÄ¢éÍsaved_iipmðQÆ·éD
+ * （モデル上の）割込み優先度マスクの参照
+ *
+ *  CPUロックフラグがクリアされている時はハードウェアの割込み優先度マ
+ *  スクを，セットされている時はsaved_iipmを参照する．
  */
 Inline PRI
@@ -343,8 +337,8 @@
 
 /*
- *  ÝvÖ~tOÌZbg
- *
- *  Ý®«ªÝè³êÄ¢È¢ÝvCÉÎµÄÝvÖ~
- *  tOðZbgµæ¤Æµ½êÉÍCFALSEðÔ·D
+ *  割込み要求禁止フラグのセット
+ *
+ *  割込み属性が設定されていない割込み要求ラインに対して割込み要求禁止
+ *  フラグをセットしようとした場合には，FALSEを返す．
  */
 Inline bool_t
@@ -352,5 +346,5 @@
 {
 	/*
-	 *  xè`ª0Å éêÍCFG_INT³êÄ¢È¢
+	 *  レベル定義が0である場合はCFG_INTされていない
 	 */
 	if( cfg_int_table[intno].intpri == 0 ){
@@ -368,8 +362,8 @@
 
 /*
- *  ÝvÖ~tOÌNA
- *
- *  Ý®«ªÝè³êÄ¢È¢ÝvCÉÎµÄÝvÖ~
- *  tOðNAµæ¤Æµ½êÉÍCFALSEðÔ·D
+ *  割込み要求禁止フラグのクリア
+ *
+ *  割込み属性が設定されていない割込み要求ラインに対して割込み要求禁止
+ *  フラグをクリアしようとした場合には，FALSEを返す．
  */
 Inline bool_t
@@ -377,5 +371,5 @@
 {
 	/*
-	 *  xè`ª0Å éêÍCFG_INT³êÄ¢È¢
+	 *  レベル定義が0である場合はCFG_INTされていない
 	 */
 	if( cfg_int_table[intno].intpri == 0 ){
@@ -393,5 +387,5 @@
 
 /*
- *  ÝvÌNA
+ *  割込み要求のクリア
  */
 Inline void
@@ -406,5 +400,5 @@
 
 /*
- *  ÝvÌ`FbN
+ *  割込み要求のチェック
  */
 Inline bool_t
@@ -412,6 +406,6 @@
 {
 	/*
-	 *  ÝvWX^Í0 or 1Åµ©È¢½ß,
-	 *  »ÌÜÜÌlðÔ·.
+	 *  割込み要求レジスタは0 or 1でしかないため,
+	 *  そのままの値を返す.
 	 */
 	return ( *IR_REG(intno) );
@@ -423,5 +417,5 @@
 
 /*
- *  ÝvCÌ®«ÌÝè
+ *  割込み要求ラインの属性の設定
  */
 extern void	x_config_int( INTNO intno, ATR intatr, PRI intpri );
@@ -429,5 +423,5 @@
 
 /*
- *  ÝnhÌüûÅKvÈIRCì
+ *  割込みハンドラの入口で必要なIRC操作
  *
  */
@@ -438,19 +432,18 @@
 
 	/*
-	 *  xoÌÝÉÎµÄÍÝXe[^X
-	 *  tOðNA·é.
+	 *  レベル検出の割込みに対しては割込みステータス
+	 *  フラグをクリアする.
 	 */
 	if( ( cfg_int_table[intno].intatr & TA_LOWLEVEL ) > 0 ){
 		if( *IR_REG(intno) > 0U ){
 			/*
-			 *  OÝÌê, IRQ[qªHighÉßÁÄ¢é
-			 *  ±ÆðmF·é|ªLÚ³êÄ¢éª, Èª·é.
+			 *  外部割込みの場合, IRQ端子がHighに戻っている
+			 *  ことを確認する旨が記載されているが, 省略する.
 			 */
 		//	*ir_reg_addr[intno] = 0U;
 
 			/*
-			 *  n[hEFA}j
-AÉ0ÉÈÁ½±Æð
-			 *  mF·é|ªLÚ é½ß, WX^lðÇÝo·.
+			 *  ハードウェアマニュアルに0になったことを
+			 *  確認する旨が記載あるため, レジスタ値を読み出す.
 			 */
 		//	reg = *ir_reg_addr[intno];
@@ -461,5 +454,5 @@
 
 /*
- *  ÝnhÌoûÅKvÈIRCì
+ *  割込みハンドラの出口で必要なIRC操作
  *
  */
@@ -467,33 +460,33 @@
 i_end_int( INTNO intno )
 {
-	/* ÁÉs¤×«ÍÈ¢ */
-}
-
-
-/*
- *  ÅDæÊ^XNÖÌfBXpb`iprc_support.a30j
- *
- *  dispatchÍC^XNReLXg©çÄÑo³ê½T[rXR[©
- *  çÄÑo·×«àÌÅC^XNReLXgECPUbNóÔEfBXpb
- *  `ÂóÔEifãÌjÝDæx}XNSðóÔÅÄÑo³È
- *  ¯êÎÈçÈ¢D
+	/* 特に行うべき処理はない */
+}
+
+
+/*
+ *  最高優先順位タスクへのディスパッチ（prc_support.a30）
+ *
+ *  dispatchは，タスクコンテキストから呼び出されたサービスコール処理か
+ *  ら呼び出すべきもので，タスクコンテキスト・CPUロック状態・ディスパッ
+ *  チ許可状態・（モデル上の）割込み優先度マスク全解除状態で呼び出さな
+ *  ければならない．
  */
 extern void	dispatch( void );
 
 /*
- *  fBXpb`Ì®ìJniprc_support.a30j
- *
- *  start_dispatchÍCJ[lN®ÉÄÑo·×«àÌÅC·×ÄÌ
- *  ÝðÖ~µ½óÔiSÝbNóÔÆ¯ÌóÔjÅÄÑo³È¯êÎ
- *  ÈçÈ¢D
+ *  ディスパッチャの動作開始（prc_support.a30）
+ *
+ *  start_dispatchは，カーネル起動時に呼び出すべきもので，すべての割込
+ *  みを禁止した状態（全割込みロック状態と同等の状態）で呼び出さなければ
+ *  ならない．
  */
 extern void	start_dispatch( void ) NoReturn;
 
 /*
- *  »ÝÌReLXgðÌÄÄfBXpb`iprc_support.a30j
- *
- *  exit_and_dispatchÍCext_tsk©çÄÑo·×«àÌÅC^XNReL
- *  XgECPUbNóÔEfBXpb`ÂóÔEifãÌjÝDæ
- *  x}XNSðóÔÅÄÑo³È¯êÎÈçÈ¢D
+ *  現在のコンテキストを捨ててディスパッチ（prc_support.a30）
+ *
+ *  exit_and_dispatchは，ext_tskから呼び出すべきもので，タスクコンテキ
+ *  スト・CPUロック状態・ディスパッチ許可状態・（モデル上の）割込み優先
+ *  度マスク全解除状態で呼び出さなければならない．
  */
 #define _kernel_exit_and_dispatch();	\
@@ -504,20 +497,20 @@
 
 /*
- *  J[lÌI¹ÌÄoµiprc_support.a30j
- *
- *  call_exit_kernelÍCJ[lÌI¹ÉÄÑo·×«àÌÅCñ^XN
- *  ReLXgÉØè·¦ÄCJ[lÌI¹iexit_kerneljðÄÑo
- *  ·D
+ *  カーネルの終了処理の呼出し（prc_support.a30）
+ *
+ *  call_exit_kernelは，カーネルの終了時に呼び出すべきもので，非タスク
+ *  コンテキストに切り換えて，カーネルの終了処理（exit_kernel）を呼び出
+ *  す．
  */
 extern void call_exit_kernel( void ) NoReturn;
 
 /*
- *  ^XNReLXgÌú»
- *
- *  ^XNªx~óÔ©çÀsÅ«éóÔÉÚs·éÉÄÎêéD±Ì_
- *  ÅX^bNÌæðgÁÄÍÈçÈ¢D
- *
- *  activate_contextðCCCÖÅÍÈ­}Nè`ÆµÄ¢éÌÍC
- *  ±Ì_ÅÍTCBªè`³êÄ¢È¢½ßÅ éD
+ *  タスクコンテキストの初期化
+ *
+ *  タスクが休止状態から実行できる状態に移行する時に呼ばれる．この時点
+ *  でスタック領域を使ってはならない．
+ *
+ *  activate_contextを，インライン関数ではなくマクロ定義としているのは，
+ *  この時点ではTCBが定義されていないためである．
  */
 extern void	start_r( void );
@@ -527,8 +520,8 @@
 	{																					\
 																						\
-		/*  X^bN|C^úlÌÝè  */											\
+		/*  スタックポインタ初期値の設定  */											\
 		( p_tcb )->tskctxb.sp = ( void * )((( uint32_t ) ( p_tcb )->p_tinib->stk ) + 	\
 								( p_tcb )->p_tinib->stksz );							\
-		/* N®ÔnÌÝè */															\
+		/* 起動番地の設定 */															\
 		( p_tcb )->tskctxb.pc = ( FP ) start_r;											\
 	}																					\
@@ -537,5 +530,5 @@
 
 /*
- *  calltexÍgpµÈ¢
+ *  calltexは使用しない
  */
 #define OMIT_CALLTEX
@@ -543,7 +536,7 @@
 
 /*
- *  ÝnhÌÝè
- *
- *  RX630ÍROMÉÝxN^ðzu·é½ßC{ÖÍóÖÅÀ·éD
+ *  割込みハンドラの設定
+ *
+ *  RX630はROMに割込みベクタを配置するため，本関数は空関数で実装する．
  */
 Inline void
@@ -554,7 +547,7 @@
 
 /*
- *  CPUáOnhÌÝè
- *
- *  RX630ÍROMÉáOxN^ðzu·é½ßC{ÖÍóÖÅÀ·éD
+ *  CPU例外ハンドラの設定
+ *
+ *  RX630はROMに例外ベクタを配置するため，本関数は空関数で実装する．
  */
 Inline void
@@ -565,12 +558,12 @@
 
 /*
- *  Ý/áOnhÌüûÌ¶¬}N
- *
- *  ev[gt@CÉæè¶¬·é½ßó}NÆ·éD
+ *  割込み/例外ハンドラの入口処理の生成マクロ
+ *
+ *  テンプレートファイルにより生成するため空マクロとする．
  */
 #define HDR_ENTRY(hdr, intexc_num , tobejmp)
 
 /*
- *  ÝnhÌüûÌ¶¬}N
+ *  割込みハンドラの入口処理の生成マクロ
  */
 #define _INT_ENTRY(inhno, inthdr)				_kernel_##inthdr##_##inhno##_entry
@@ -583,5 +576,5 @@
 
 /*
- *  CPUáOnhÌüûÌ¶¬}N
+ *  CPU例外ハンドラの入口処理の生成マクロ
  */
 #define _EXC_ENTRY(excno , exchdr)					_kernel_##exchdr##_##excno##_entry
@@ -594,8 +587,8 @@
 
 /*
- *  CPUáOÌ­¶µ½ÌReLXgÌQÆ
- *
- *  CPUáOÌ­¶µ½ÌReLXgªC^XNReLXgÌÉFALSEC
- *  »¤ÅÈ¢ÉtrueðÔ·D
+ *  CPU例外の発生した時のコンテキストの参照
+ *
+ *  CPU例外の発生した時のコンテキストが，タスクコンテキストの時にFALSE，
+ *  そうでない時にtrueを返す．
  */
 Inline bool_t
@@ -603,5 +596,5 @@
 {
 	/* 
-	 *  lXgJE^ª1æèåÈçñ^XNReLXg
+	 *  ネストカウンタが1より大なら非タスクコンテキスト
 	 */
 	return( intnest > 1U );
@@ -610,11 +603,11 @@
 
 /*
- *  CPUáOîñ p_excinf ©ç PSW Ìlðæ¾·é½ßÌItZbgl
- *  EXCNO + ACC + FPSW + R1`R15 + PC
+ *  CPU例外情報 p_excinf から PSW の値を取得するためのオフセット値
+ *  EXCNO + ACC + FPSW + R1〜R15 + PC
  */
 #define EXC_GET_PSW_OFFSET	(4+8+4+60+4)
 
 /*
- *  CPUáOÌ­¶µ½ÌIPLÌQÆ
+ *  CPU例外の発生した時のIPLの参照
  */
 Inline uint32_t
@@ -634,17 +627,17 @@
 
 /*
- *  CPUáOÌ­¶µ½ÌReLXgÆÝÌ}XNóÔÌQÆ
- *
- *  CPUáOÌ­¶µ½ÌVXeóÔªCJ[lÀsÅÈ­C^XNR
- *  eLXgÅ èCSÝbNóÔÅÈ­CCPUbNóÔÅÈ­Ci
- *  fãÌjÝDæx}XNSðóÔÅ éÉtrueC»¤ÅÈ¢
- *  ÉFALSEðÔ·iCPUáOªJ[lÇOÌÝÅ­¶µ½ê
- *  ÉàFALSEðÔ·jD
+ *  CPU例外の発生した時のコンテキストと割込みのマスク状態の参照
+ *
+ *  CPU例外の発生した時のシステム状態が，カーネル実行中でなく，タスクコ
+ *  ンテキストであり，全割込みロック状態でなく，CPUロック状態でなく，（モ
+ *  デル上の）割込み優先度マスク全解除状態である時にtrue，そうでない時
+ *  にFALSEを返す（CPU例外がカーネル管理外の割込み処理中で発生した場合
+ *  にもFALSEを返す）．
  *  
- *  J[lÀsÅÈ¢¨ (TIPM_LOCK== -15) ItO == 1
+ *  カーネル実行中でない→ (TIPM_LOCK== -15) Iフラグ == 1
  *                         (else)           IPL < IPL_LOCK
- *  ^XNReLXgÅ é¨intnest == 0
- *  SÝbNÅÈ¢¨ ItO == 1
- *  ÝDæx}XNªSð¨IPL == 0
+ *  タスクコンテキストである→intnest == 0
+ *  全割込みロックでない→ Iフラグ == 1
+ *  割込み優先度マスクが全解除→IPL == 0
  *  
  *  
@@ -659,16 +652,16 @@
 
 /*
- *  CPUáOÌ­¶µ½ÌReLXgÆÝ^CPUbNóÔÌQÆ
- *
- *  CPUáOÌ­¶µ½ÌVXeóÔªCJ[lÀsÅÈ­C^XNR
- *  eLXgÅ èCSÝbNóÔÅÈ­CCPUbNóÔÅÈ¢É
- *  trueC»¤ÅÈ¢ÉfalseðÔ·iCPUáOªJ[lÇOÌÝ
- *  Å­¶µ½êÉàfalseðÔ·jD
+ *  CPU例外の発生した時のコンテキストと割込み／CPUロック状態の参照
+ *
+ *  CPU例外の発生した時のシステム状態が，カーネル実行中でなく，タスクコ
+ *  ンテキストであり，全割込みロック状態でなく，CPUロック状態でない時に
+ *  true，そうでない時にfalseを返す（CPU例外がカーネル管理外の割込み処
+ *  理中で発生した場合にもfalseを返す）．
  *  
- *  J[lÀsÅÈ¢¨ (TIPM_LOCK== -15) ItO == 1
+ *  カーネル実行中でない→ (TIPM_LOCK== -15) Iフラグ == 1
  *                         (else)           IPL < TIPM_LOCK
- *  ^XNReLXgÅ é¨intnest < 1 
- *  SÝbNÅÈ¢¨ ItO == 1
- *  CPUbNóÔÅÈ¢¨(TIPM_LOCK== -15) ItO == 1
+ *  タスクコンテキストである→intnest < 1 
+ *  全割込みロックでない→ Iフラグ == 1
+ *  CPUロック状態でない→(TIPM_LOCK== -15) Iフラグ == 1
  *                         (else)           IPL < TIPM_LOCK
  */
@@ -688,10 +681,10 @@
 
 /*
- *  vZbTË¶Ìú»
+ *  プロセッサ依存の初期化
  */
 extern void	prc_initialize( void );
 
 /*
- *  vZbTË¶ÌI¹
+ *  プロセッサ依存の終了時処理
  */
 extern void	prc_terminate( void );
@@ -700,5 +693,5 @@
 #ifndef OMIT_DEFAULT_INT_HANDLER
 /*
- *  ¢o^ÌÝª­¶µ½êÉÄÑo³êé
+ *  未登録の割込みが発生した場合に呼び出される
  */
 void default_int_handler( void );
@@ -707,5 +700,5 @@
 #ifndef OMIT_DEFAULT_EXC_HANDLER
 /*
- *  ¢o^ÌáOª­¶µ½êÉÄÑo³êé
+ *  未登録の例外が発生した場合に呼び出される
  */
 void default_exc_handler( void );
Index: UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/prc_insn.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/prc_insn.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/prc_insn.h	(revision 167)
@@ -10,36 +10,32 @@
  *  Copyright (C) 2008-2010 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プロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id$
@@ -47,5 +43,5 @@
 
 /*
- *		vZbTÌÁê½ßÌCCÖè`iRX630pj
+ *		プロセッサの特殊命令のインライン関数定義（RX630用）
  */
 
@@ -65,5 +61,5 @@
 
 /*
- *  ItO, IPLðæ¾·é½ßÌ}Nè`
+ *  Iフラグ, IPLを取得するためのマクロ定義
  */
 #define PSW_I_MASK		( 0x00010000UL )
@@ -72,5 +68,5 @@
 
 /*
- *  vZbTXe[^XWX^(PSW)Ì»ÝlÌÇoµ
+ *  プロセッサステータスレジスタ(PSW)の現在値の読出し
  */
 #pragma inline_asm	current_psw
@@ -83,5 +79,5 @@
 
 /*
- *  vZbTXe[^XWX^(PSW)ÖÝè
+ *  プロセッサステータスレジスタ(PSW)へ設定
  */
 #pragma inline_asm	set_psw
@@ -94,5 +90,5 @@
 
 /*
- *  IPLÌ»ÝlÌÇoµ
+ *  IPLの現在値の読出し
  */
 Inline uint32_t
@@ -104,5 +100,5 @@
 
 /*
- *  IPLÖÝè
+ *  IPLへ設定
  */
 Inline void
@@ -114,5 +110,5 @@
 
 /*
- *  NMIð­·×ÄÌÝÌÖ~
+ *  NMIを除くすべての割込みの禁止
  */
 #pragma inline_asm	disint
@@ -125,5 +121,5 @@
 
 /*
- *  NMIð­·×ÄÌÝÌÂ
+ *  NMIを除くすべての割込みの許可
  */
 #pragma inline_asm	enaint
@@ -136,5 +132,5 @@
 
 /*
- *  GfBAÏ· 16bit
+ *  エンディアン変換 16bit
  */
 #pragma inline_asm	rev_endian_uint16
@@ -146,5 +142,5 @@
 
 /*
- *  GfBAÏ· 32bit
+ *  エンディアン変換 32bit
  */
 #pragma inline_asm	rev_endian_uint32
Index: UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/prc_kernel.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/prc_kernel.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/prc_kernel.h	(revision 167)
@@ -6,36 +6,32 @@
  *  Copyright (C) 2008-2010 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プロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id$
@@ -43,9 +39,9 @@
 
 /*
- *		kernel.hÌvZbTË¶iRX630pj
+ *		kernel.hのプロセッサ依存部（RX630用）
  *
- *  ±ÌCN[ht@CÍCtarget_kernel.hiÜ½ÍC»±©çCN
- *  [h³êét@CjÌÝ©çCN[h³êéD¼Ìt@C©ç
- *  ¼ÚCN[hµÄÍÈçÈ¢D
+ *  このインクルードファイルは，target_kernel.h（または，そこからインク
+ *  ルードされるファイル）のみからインクルードされる．他のファイルから
+ *  直接インクルードしてはならない．
  */
 
@@ -54,8 +50,8 @@
 
 /*
- *  J[l{ÌðRpC·é½ßÌ}Nè`
+ *  カーネル本体をコンパイルするためのマクロ定義
  *
- *  {Â«ÅÍ1Öð1IuWFNgt@CÉRpC·é±ÆªÅ«È¢½ßC
- *  ALLFUNC}Nðè`·éD
+ *  本環境では1関数を1オブジェクトファイルにコンパイルすることができないため，
+ *  ALLFUNCマクロを定義する．
  */
 #define ALLFUNC
@@ -63,39 +59,39 @@
 
 /*
- *  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ÌÍÍ
+ *  カーネル管理の割込み優先度の範囲
  *
- *  TMIN_INTPRIÌè`ðÏX·é±ÆÅCÇÌxæèà¢ÝDæx
- *  ðÂàÌðJ[lÇOÌÝÆ·é©ðÏXÅ«éD
+ *  TMIN_INTPRIの定義を変更することで，どのレベルよりも高い割込み優先度
+ *  を持つものをカーネル管理外の割込みとするかを変更できる．
  *
- *  TMIN_INTPRIÉÝèÅ«élÍC-15`-1ÌÍÍÅ éDá¦ÎTMIN_INTPRI
- *  ð-14ÉÝè·éÆCNMIÉÁ¦Äx7ÌÝªJ[lÇOÆÈéD
- *  TMIN_INTPRIð-15ÉÝè·éÆCNMIÈOÉJ[lÇOÌÝð
- *  Ý¯È¢±ÆÉÈéD
+ *  TMIN_INTPRIに設定できる値は，-15〜-1の範囲である．例えばTMIN_INTPRI
+ *  を-14に設定すると，NMIに加えてレベル7の割込みがカーネル管理外となる．
+ *  TMIN_INTPRIを-15に設定すると，NMI以外にカーネル管理外の割込みを
+ *  設けないことになる．
  */
 #ifndef TMIN_INTPRI
-#define TMIN_INTPRI		( -15 )		/* ÝDæxÌÅ¬liÅlj*/
+#define TMIN_INTPRI		( -15 )		/* 割込み優先度の最小値（最高値）*/
 #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 )	/* 両エッジトリガ */
 
-#define	TA_LOWLEVEL		UINT_C( 0x10 )	/* Lx */
+#define	TA_LOWLEVEL		UINT_C( 0x10 )	/* Lレベル */
 
 
 /*
- *  ftHgÌÝ/áOnhÌL³
+ *  デフォルトの割込み/例外ハンドラの有無
  */
 /*#define	OMIT_DEFAULT_INT_HANDLER*/
Index: UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/prc_offset.tf
===================================================================
--- UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/prc_offset.tf	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/prc_offset.tf	(revision 167)
@@ -1,8 +1,8 @@
 $ 
-$ 		ItZbgt@C¶¬pev[gt@CiRX630pj
+$ 		オフセットファイル生成用テンプレートファイル（RX630用）
 $ 
 
 $ 
-$  ItZbglÌ}Nè`Ì¶¬
+$  オフセット値のマクロ定義の生成
 $ 
 $DEFINE("TCB_p_tinib", offsetof_TCB_p_tinib)$
@@ -15,5 +15,5 @@
 
 $ 
-$  rbgItZbglÌ}Nè`Ì¶¬
+$  ビットオフセット値等のマクロ定義の生成
 $ 
 $DEFINE_BIT("TCB_enatex", sizeof_TCB, "B")$
Index: UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/prc_sil.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/prc_sil.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/prc_sil.h	(revision 167)
@@ -5,36 +5,32 @@
  *  Copyright (C) 2008-2010 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プロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id$
@@ -42,5 +38,5 @@
 
 /*
- *		sil.hÌvZbTË¶iRX630pj
+ *		sil.hのプロセッサ依存部（RX630用）
  */
 
@@ -55,5 +51,5 @@
 
 /*
- *  SÝÖ~
+ *  全割込み禁止
  */
 Inline uint32_t
@@ -70,5 +66,5 @@
 
 /*
- *  SÝÂ
+ *  全割込み許可
  */
 Inline void
@@ -82,5 +78,5 @@
 
 /*
- *  SÝbNóÔÌ§ä
+ *  全割込みロック状態の制御
  */
 #define SIL_PRE_LOC		uint32_t TOPPERS_i_psw;
@@ -90,8 +86,8 @@
 
 /*
- *  GfBAÌ½]
+ *  エンディアンの反転
  *
- *  {J­Â«ÅÍGfBAÏ·½ßª¶Ý·é½ß,
- *  A[LeN`Ë¶ÉÄ}Nðã«·é.
+ *  本開発環境ではエンディアン変換命令が存在するため,
+ *  アーキテクチャ依存部にてマクロを上書きする.
  */
 #define TOPPERS_SIL_REV_ENDIAN_UINT16( data )	\
@@ -102,5 +98,5 @@
 
 /*
- *  ÷­ÔÒ¿
+ *  微少時間待ち
  */
 extern void sil_dly_nse( ulong_t dlytim );
@@ -110,16 +106,16 @@
 
 /*
- *  vZbTÌGfBA
+ *  プロセッサのエンディアン
  */
 #ifdef __LIT
-#define SIL_ENDIAN_LITTLE			/* gGfBA */
+#define SIL_ENDIAN_LITTLE			/* リトルエンディアン */
 #endif
 #ifdef __BIG
-#define SIL_ENDIAN_BIG				/* rbOGfBA */
+#define SIL_ENDIAN_BIG				/* ビッグエンディアン */
 #endif
 
 
 /*
- *  8rbgPÊÌÇoµ^Ý
+ *  8ビット単位の読出し／書込み
  */
 #ifdef UINT8_MAX
@@ -145,5 +141,5 @@
 
 /*
- *  16rbgPÊÌÇoµ^Ý
+ *  16ビット単位の読出し／書込み
  */
 
@@ -165,5 +161,5 @@
 }
 
-#ifdef SIL_ENDIAN_BIG			/* rbOGfBAvZbT */
+#ifdef SIL_ENDIAN_BIG			/* ビッグエンディアンプロセッサ */
 
 #define	sil_reh_bem(mem)		sil_reh_mem(mem)
@@ -194,5 +190,5 @@
 #endif /* TOPPERS_OMIT_SIL_WRH_LEM */
 #else /* SIL_ENDIAN_BIG */
-#ifdef SIL_ENDIAN_LITTLE		/* gGfBAvZbT */
+#ifdef SIL_ENDIAN_LITTLE		/* リトルエンディアンプロセッサ */
 
 #define	sil_reh_lem(mem)		sil_reh_mem(mem)
@@ -230,5 +226,5 @@
 
 /*
- *  32rbgPÊÌÇoµ^Ý
+ *  32ビット単位の読出し／書込み
  */
 
@@ -250,5 +246,5 @@
 }
 
-#ifdef SIL_ENDIAN_BIG			/* rbOGfBAvZbT */
+#ifdef SIL_ENDIAN_BIG			/* ビッグエンディアンプロセッサ */
 
 #define	sil_rew_bem(mem)		sil_rew_mem(mem)
@@ -278,5 +274,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: UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/prc_stddef.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/prc_stddef.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/prc_stddef.h	(revision 167)
@@ -5,36 +5,32 @@
  *  Copyright (C) 2008-2010 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プロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id$
@@ -42,9 +38,9 @@
 
 /*
- *		t_stddef.hÌvZbTË¶iRX630pj
+ *		t_stddef.hのプロセッサ依存部（RX630用）
  *
- *  ±ÌCN[ht@CÍCtarget_stddef.hiÜ½ÍC»±©çCN
- *  [h³êét@CjÌÝ©çCN[h³êéD¼Ìt@C©ç
- *  ¼ÚCN[hµÄÍÈçÈ¢D
+ *  このインクルードファイルは，target_stddef.h（または，そこからインク
+ *  ルードされるファイル）のみからインクルードされる．他のファイルから
+ *  直接インクルードしてはならない．
  */
 
@@ -53,7 +49,7 @@
 
 /*
- *  ^[Qbgð¯Ê·é½ßÌ}NÌè`
+ *  ターゲットを識別するためのマクロの定義
  */
-#define TOPPERS_RX630				/* vZbTªÌ */
+#define TOPPERS_RX630				/* プロセッサ略称 */
 
 #endif /* TOPPERS_PRC_STDDEF_H */
Index: UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/prc_support.src
===================================================================
--- UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/prc_support.src	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/prc_support.src	(revision 167)
@@ -11,36 +11,32 @@
 ;   Copyright (C) 2013      by Mitsuhiro Matsuura
 ;  
-;   ã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_support.src 536 2014-10-09 23:11:40Z coas-nagasima $
@@ -48,55 +44,54 @@
 
 ;
-;  vZbTË¶W
-[ AZu¾êiRX630pj
-;
-
-;
-;  fBXpb`¨æÑÝ(CPUáO)oüèûÌ[:
-;	®ì[hðÈºÌæ¤Éè`·é.
-;		fBXpb`[h:
-;			CPUbNóÔ, ÝDæx}XNSðóÔ,
-;			^XNReLXg(intnest = 0), ^XNX^bN
-;		Ý(CPUáO)[h
-;			SÝbNóÔ(PSWWX^Irbg = 0),
-;			ÝDæx}XNSðÅÈ¢óÔ(IPL != 0)
-;			ÝReLXg(intnest != 0), ÝX^bN
-;
-;	J[lÇOÝÌT|[gL³Æ, CPUbNóÔ, ÝDæx
-;	}XNSðóÔÌÖWÍÈºÌÊèÅ é.
-;		J[lÇOÝ¢T|[g:
-;			CPUbNóÔ(PSWWX^Irbg = 0)
-;			ÝDæx}XNSðóÔ(IPL = 0)
-;		J[lÇOÝT|[g:
-;			CPUbNóÔ
-;				(PSWWX^Irbg = 0, IPL = IPL_LOCK, lock_flag = true)
-;			ÝDæx}XNSðóÔ(saved_ipl = 0)
-;
-;	e\¢Ì|C^ðÈºÌæ¤ÉeWX^ÉATC·é.
-;		r15 = p_runtsk	½¾µfBXpb`ÌeoûÅÍ³ø
-;		r14 = *p_runtsk	dispatcher ÌÅÍ p_runtsk mèÉÄæ¾·é
-;	eüèû©çÅÉÏANZX·éÆ«ÉãLWX^ÉÛ¶·é.
-;
-;	\¢ÌACgÖÌÎ
-;		\¢ÌACgª4Byte(ApbN)Ìê:
-;			êÊIÈWX^ÎAhbVOªÂ\
-;				á:	mov.l	#__kernel_p_runtsk, r15
+;  プロセッサ依存モジュール アセンブリ言語部（RX630用）
+;
+
+;
+;  ディスパッチャおよび割込み(CPU例外)出入り口のルール:
+;	動作モードを以下のように定義する.
+;		ディスパッチャモード:
+;			CPUロック状態, 割込み優先度マスク全解除状態,
+;			タスクコンテキスト(intnest = 0), タスクスタック
+;		割込み(CPU例外)処理モード
+;			全割込みロック状態(PSWレジスタIビット = 0),
+;			割込み優先度マスク全解除でない状態(IPL != 0)
+;			割込みコンテキスト(intnest != 0), 割込みスタック
+;
+;	カーネル管理外割込みのサポート有無と, CPUロック状態, 割込み優先度
+;	マスク全解除状態の関係は以下の通りである.
+;		カーネル管理外割込み未サポート時:
+;			CPUロック状態(PSWレジスタIビット = 0)
+;			割込み優先度マスク全解除状態(IPL = 0)
+;		カーネル管理外割込みサポート時:
+;			CPUロック状態
+;				(PSWレジスタIビット = 0, IPL = IPL_LOCK, lock_flag = true)
+;			割込み優先度マスク全解除状態(saved_ipl = 0)
+;
+;	各構造体ポインタを以下のように各レジスタにアサインする.
+;		r15 = p_runtsk	ただしディスパッチャの各出口では無効
+;		r14 = *p_runtsk	dispatcher の中では p_runtsk 確定時に再取得する
+;	各入り口から最初に変数アクセスするときに上記レジスタに保存する.
+;
+;	構造体アライメントへの対応
+;		構造体アライメントが4Byte(アンパック)の場合:
+;			一般的なレジスタ相対アドレッシングが可能
+;				例:	mov.l	#__kernel_p_runtsk, r15
 ;					mov.l  	r0, TCB_sp[r15]
-;		\¢ÌACgª4ByteÅÍÈ¢(pbN)Ìê:
-;			mov.lÌæ¤ÉOTCYwèÌêAÎlÍ4Ì{ÌÝLø
-;			±Ì½ß, êxÎÛAhXðßÄ©çANZX·éKvª é
-;				á:	mov.l	#__kernel_p_runtsk, r15
+;		構造体アライメントが4Byteではない(パック)の場合:
+;			mov.lのようにロングサイズ指定の場合、相対値は4の倍数のみ有効
+;			このため, 一度対象アドレスを求めてからアクセスする必要がある
+;				例:	mov.l	#__kernel_p_runtsk, r15
 ;					add		#TCB_sp, r15, r5
 ;					mov.l  	r0, [r5]
-;		eItZbglð»fµ, ðAZuÉæèR[hðØèÖ¦é
-;
-
-;
-;  \¢ÌANZXÌItZbgè`
+;		各オフセット値を判断し, 条件アセンブルによりコードを切り替える
+;
+
+;
+;  構造体アクセスのオフセット定義
 ;
 	.include	offset.inc
 
 ;
-;  eíEQUè`(Ht@CÌ#defineè`)
+;  各種EQU定義(Hファイルの#define定義)
 ;
 	.include	asm_config.inc
@@ -150,5 +145,5 @@
 
 ;
-;  TCB_sp ÖÌÝ}N
+;  TCB_sp への書込みマクロ
 ;
 st_TCB_sp	.macro	src, tcb, tmp
@@ -162,5 +157,5 @@
 
 ;
-;  TCB_sp ©çÌÇoµ}N
+;  TCB_sp からの読出しマクロ
 ;
 ld_TCB_sp	.macro	dst, tcb, tmp
@@ -174,5 +169,5 @@
 
 ;
-;  TCB_pc ÖÌÝ}N
+;  TCB_pc への書込みマクロ
 ;
 st_TCB_pc	.macro	src, tcb, tmp
@@ -186,5 +181,5 @@
 
 ;
-;  TCB_pc ©çÌÇoµ}N
+;  TCB_pc からの読出しマクロ
 ;
 ld_TCB_pc	.macro	dst, tcb, tmp
@@ -198,5 +193,5 @@
 
 ;
-;  TCB_texptn ©çÌÇoµ}N
+;  TCB_texptn からの読出しマクロ
 ;
 ld_TCB_texptn	.macro	dst, tcb, tmp
@@ -210,5 +205,5 @@
 
 ;
-;  TCB_p_tinib ©çÌÇoµ}N
+;  TCB_p_tinib からの読出しマクロ
 ;
 ld_TCB_p_tinib	.macro	dst, tcb, tmp
@@ -222,5 +217,5 @@
 
 ;
-;  TINIB_exinf ©çÌÇoµ}N
+;  TINIB_exinf からの読出しマクロ
 ;
 ld_TINIB_exinf	.macro	dst, tinib, tmp
@@ -234,5 +229,5 @@
 
 ;
-;  TINIB_task ©çÌÇoµ}N
+;  TINIB_task からの読出しマクロ
 ;
 ld_TINIB_task	.macro	dst, tinib, tmp
@@ -249,91 +244,91 @@
 
 ;
-;  API©çÌ^XNfBXpb`üû
-;
-;  ÄÑoµð:
-;	EfBXpb`[h(t@Cwb_QÆ)
-;
-;  ±±ÅÍ, ReLXgÌÞðÆ, ÀsÄJÔnÌÝèð·é.
+;  APIからのタスクディスパッチャ入口
+;
+;  呼び出し条件:
+;	・ディスパッチャモード(ファイルヘッダ参照)
+;
+;  ここでは, コンテキストの退避と, 実行再開番地の設定をする.
 ;
 __kernel_dispatch:
-	pushm	r6-r13						; ñXNb`WX^Û¶
+	pushm	r6-r13						; 非スクラッチレジスタ保存
 	mov.l	#__kernel_p_runtsk, r15
 	mov.l	[r15], r14
-	st_TCB_sp	r0, r14, r5				; X^bN|C^ðTCBÉÛ¶
-	st_TCB_pc	#dispatch_r, r14, r5	; ÀsÄJÔnðTCBÉÛ¶
+	st_TCB_sp	r0, r14, r5				; スタックポインタをTCBに保存
+	st_TCB_pc	#dispatch_r, r14, r5	; 実行再開番地をTCBに保存
 	bra		dispatcher
 
 ;
-;  APIÖÌ^XNfBXpb`oû
-;
-;  ÄÑoµð:
-;	EfBXpb`[h(t@Cwb_QÆ)
-;
-;  ±±ÅÍ, ^XNáOnhÄoµÆ, ReLXgÌAð·é.
+;  APIへのタスクディスパッチャ出口
+;
+;  呼び出し条件:
+;	・ディスパッチャモード(ファイルヘッダ参照)
+;
+;  ここでは, タスク例外ハンドラ呼出しと, コンテキストの復帰をする.
 ;
 dispatch_r:
-	btst 	#TCB_enatex_bit, TCB_enatex[r14]	; ^XNáOÂ?
+	btst 	#TCB_enatex_bit, TCB_enatex[r14]	; タスク例外処理許可?
 	bz   	dispatch_r_rts
-	ld_TCB_texptn	r5, r14, r4			; Û¯áOvöª é©H
+	ld_TCB_texptn	r5, r14, r4			; 保留例外要因があるか？
 	cmp		#0, r5
 	bz   	dispatch_r_rts
-	bsr		__kernel_call_texrtn		; ^XNáOnhÄoµÀs
+	bsr		__kernel_call_texrtn		; タスク例外ハンドラ呼出し処理実行
 dispatch_r_rts:
-	popm 	r6-r13						; ñXNb`WX^A
-	rts  	                        	; dispatch ÄÑoµ³Ößé.
-
-;
-;  ^XNN®(^XNæªÖÌ^XNfBXpb`oû)
-;
-;  ÄÑoµð:
-;	EfBXpb`[h(t@Cwb_QÆ)
-;
-;  ±±ÅÍ, CPUbNðóÔÉµ, ^XNðN®·é.
+	popm 	r6-r13						; 非スクラッチレジスタ復帰
+	rts  	                        	; dispatch 呼び出し元へ戻る.
+
+;
+;  タスク起動処理(タスク先頭へのタスクディスパッチャ出口)
+;
+;  呼び出し条件:
+;	・ディスパッチャモード(ファイルヘッダ参照)
+;
+;  ここでは, CPUロック解除状態にし, タスクを起動する.
 ;
 __kernel_start_r:
 	mov.l 	#_ext_tsk, r5
-	push.l	r5							; ßèÔnðX^bNÉÏÞ
+	push.l	r5							; 戻り番地をスタックに積む
 	ld_TCB_p_tinib	r5, r14, r4
-	ld_TINIB_exinf	r1, r5, r4			; g£îñðæêøÉÝè
-	ld_TINIB_task	r5, r5, r4			; ^XNÌN®Ônðæ¾
+	ld_TINIB_exinf	r1, r5, r4			; 拡張情報を第一引数に設定
+	ld_TINIB_task	r5, r5, r4			; タスクの起動番地を取得
 .if	TIPM_LOCK == -15
-	setpsw	i							; ÝÂ(CPUbNðóÔ)
-.else
-	mov.l	#__kernel_lock_flag, r4		; CPUbNðóÔÖ
-	mov.l	#0, [r4]					; ±±ÉéÆ«ÍK¸ saved_ipl Ì
-	mvtc	#00010000H, psw				; lÍ 0 Ì½ß, ¼lðÝè·é.
-								; SÝbNðóÔ( I = 1 )
-								; ÝDæx}XNSðóÔ( IPL = 0 )
+	setpsw	i							; 割込み許可(CPUロック解除状態)
+.else
+	mov.l	#__kernel_lock_flag, r4		; CPUロック解除状態へ
+	mov.l	#0, [r4]					; ここに来るときは必ず saved_ipl の
+	mvtc	#00010000H, psw				; 値は 0 のため, 直値を設定する.
+								; 全割込みロック解除状態( I = 1 )
+								; 割込み優先度マスク全解除状態( IPL = 0 )
 .endif
 	jmp		r5
 
 ;
-;  J[lN®©çÌ^XNfBXpb`üû
-;
-;  ±Ì[`ÍCJ[lN®ÉC·×ÄÌÝðÖ~µ½óÔ
-; iÝbNóÔÆ¯jÅÄÑo³êéDÜ½CÝ[hiñ
-;  ^XNReLXgÆ¯jÅÄÑo³êé±ÆðzèµÄ¢éD
-;
-;  ÄÑoµð:
-;	EÝ(CPUáO)[h(t@Cwb_QÆ)
-;
-;  ±±ÅÍ, fBXpb`[hÉÏX·é.
+;  カーネル起動からのタスクディスパッチャ入口
+;
+;  このルーチンは，カーネル起動時に，すべての割込みを禁止した状態
+; （割込みロック状態と同等）で呼び出される．また，割込みモード（非
+;  タスクコンテキストと同等）で呼び出されることを想定している．
+;
+;  呼び出し条件:
+;	・割込み(CPU例外)処理モード(ファイルヘッダ参照)
+;
+;  ここでは, ディスパッチャモードに変更する.
 ;
 __kernel_start_dispatch:
 	mov.l	#__kernel_intnest, r5
-	mov.w	#0, [r5]					; ^XNReLXgÉØ·¦
+	mov.w	#0, [r5]					; タスクコンテキストに切換え
 .if	TIPM_LOCK != -15
-	mvtc	#(IPL_LOCK | 00010000H), psw	; SÝbNðóÔ
-										; ÝDæx}XNSðÅÈ¢óÔ
-.endif
-
-;
-; ^XNI¹(»ÝÌReLXgðÌÄé)©çÌ^XNfBXpb`üû
-;
-;  ÄÑoµð:
-;	EfBXpb`[h(t@Cwb_QÆ)
-;
-;  ±±ÅÍ, ½à·é±ÆÍÈ¢.
-;  È¨, p_runtsk ÌAhXæ¾¾¯ÍsÈ¤.
+	mvtc	#(IPL_LOCK | 00010000H), psw	; 全割込みロック解除状態
+										; 割込み優先度マスク全解除でない状態
+.endif
+
+;
+; タスク終了(現在のコンテキストを捨てる)からのタスクディスパッチャ入口
+;
+;  呼び出し条件:
+;	・ディスパッチャモード(ファイルヘッダ参照)
+;
+;  ここでは, 何もすることはない.
+;  なお, p_runtsk のアドレス取得だけは行なう.
 ;
 __exit_and_dispatch:
@@ -341,96 +336,96 @@
 
 ;
-; fBXpb`{Ì
-;
-;  ÄÑoµð:
-;	E·×ÄÌ^XNÌReLXgÍÛ¶³êÄ¢é.
-;
-;  dispatcher ÄoÌX^bN:
-;	E__kernel_dispatch ©ç«½ê			: ^XNX^bN
-;	Eexit_and_dispatch ©ç«½ê: 
-;		exit_task ©ç«½ê					: ^XNX^bN
-;		J[lN®(__kernel_start_dispatch)	: ÝX^bN
-;	Eret_int ©ç«½ê						: ^XNX^bN
-;	Edispatcher_idle_loop ©ç«½ê			: ÝX^bN
+; ディスパッチャ本体
+;
+;  呼び出し条件:
+;	・すべてのタスクのコンテキストは保存されている.
+;
+;  dispatcher 呼出時のスタック:
+;	・__kernel_dispatch からきた場合			: タスクスタック
+;	・exit_and_dispatch からきた場合: 
+;		exit_task からきた場合					: タスクスタック
+;		カーネル起動時(__kernel_start_dispatch)	: 割込みスタック
+;	・ret_int からきた場合						: タスクスタック
+;	・dispatcher_idle_loop からきた場合			: 割込みスタック
 ;
 dispatcher:
 .if	LOG_DSP_ENTER == 1
 	push.l	r15
-	mov.l	r14, r1						; ø(fBXpb`³TCB)ðÝè
+	mov.l	r14, r1						; 引数(ディスパッチ元TCB)を設定
 	bsr		_kernel_log_dsp_enter
 	pop.l	r15
 .endif
 	mov.l	#__kernel_p_schedtsk, r5     
-	mov.l	[r5], [r15]					; p_schedtsk ð p_runtsk É
+	mov.l	[r5], [r15]					; p_schedtsk を p_runtsk に
 	mov.l	[r15], r14
 	cmp		#0, r14
-	bz		dispatcher_pre_idle			; schedtsk ªÈ¯êÎACh[vÖ
-	ld_TCB_sp	r0, r14, r5				; ^XNX^bN|C^ðA
+	bz		dispatcher_pre_idle			; schedtsk がなければアイドルループへ
+	ld_TCB_sp	r0, r14, r5				; タスクスタックポインタを復帰
 .if	LOG_DSP_LEAVE == 1
 	push.l	r14
-	mov.l	r14, r1						; ø(fBXpb`æTCB)ðÝè
+	mov.l	r14, r1						; 引数(ディスパッチ先TCB)を設定
 	bsr		_kernel_log_dsp_leave
 	pop.l	r14
 .endif
 	ld_TCB_pc	r5, r14, r4
-	jmp		r5					; ÀsÄJÔnÖWv
-
-;
-;  schdedtskªNULLÌêÍACh[vÉüé
-;  ACh[vÍÝ[hÅ®ì³¹é
-;
-;  ±±ÅÝ[hÉØè·¦éÌÍC±±Å­¶·éÝÉ
-;  ÇÌX^bNðg¤©Æ¢¤âèÌðÆCÝnhàÅÌ^
-;  XNfBXpb`Ìh~Æ¢¤2ÂÌÓ¡ª éD
+	jmp		r5					; 実行再開番地へジャンプ
+
+;
+;  schdedtskがNULLの場合はアイドルループに入る
+;  アイドルループは割込み処理モードで動作させる
+;
+;  ここで割込みモードに切り換えるのは，ここで発生する割込み処理に
+;  どのスタックを使うかという問題の解決と，割込みハンドラ内でのタ
+;  スクディスパッチの防止という2つの意味がある．
 ;
 dispatcher_pre_idle:
 	mov.l	#__kernel_istkpt,r5
-	mov.l	[r5], r0					; ÝpÌX^bNÖØÖ¦
-	mov.l	#__kernel_intnest, r5
-	mov.w	#1, [r5]					; ñ^XNReLXgÉØ·¦
+	mov.l	[r5], r0					; 割込み用のスタックへ切替え
+	mov.l	#__kernel_intnest, r5
+	mov.w	#1, [r5]					; 非タスクコンテキストに切換え
 .if	TIPM_LOCK != -15
-	mov.l	#__kernel_lock_flag, r5		; CPUbNðóÔÖ
+	mov.l	#__kernel_lock_flag, r5		; CPUロック解除状態へ
 	mov.l	#0, [r5]
-	mvtc	#0, psw						; Dæx0ÌÝðU
+	mvtc	#0, psw						; 優先度0の割込み処理中を偽装
 .endif
 
 dispatcher_idle_loop:
-	setpsw	i							; SÝÂ
-	clrpsw	i							; SÝÖ~
-
-	mov.l	#__kernel_reqflg, r5		; reqflg ª FALSE Èç
+	setpsw	i							; 全割込み許可
+	clrpsw	i							; 全割込み禁止
+
+	mov.l	#__kernel_reqflg, r5		; reqflg が FALSE なら
 	mov.l	[r5], r4
 	cmp		#0, r4
-	bz   	dispatcher_idle_loop		; ACh[vðJèÔ·
-	mov.l	#0, [r5]					; reqflgªtrueÈçfalseÉ·é
-	mov.l	#__kernel_intnest, r5
-	mov.w	#0, [r5]					; ^XNReLXgÉØ·¦
+	bz   	dispatcher_idle_loop		; アイドルループを繰り返す
+	mov.l	#0, [r5]					; reqflgがtrueならfalseにする
+	mov.l	#__kernel_intnest, r5
+	mov.w	#0, [r5]					; タスクコンテキストに切換え
 .if	TIPM_LOCK != -15
-	mov.l	#__kernel_lock_flag, r5		; CPUbNóÔÖ
+	mov.l	#__kernel_lock_flag, r5		; CPUロック状態へ
 	mov.l	#1, [r5]
 	mov.l	#__kernel_saved_ipl, r5
 	mov.l	#0, [r5]
-	mvtc	#(IPL_LOCK | PSW_I_MASK), psw	; SÝbNðóÔ
-										; ÝDæx}XNSðÅÈ¢óÔ
-.endif
-	bra		dispatcher					; dispatcher Ößé
-
-
-;
-; J[lÌI¹ÌÄoµ
-;
-; [hÆX^bNðñ^XNReLXgpÉØèÖ¦D
+	mvtc	#(IPL_LOCK | PSW_I_MASK), psw	; 全割込みロック解除状態
+										; 割込み優先度マスク全解除でない状態
+.endif
+	bra		dispatcher					; dispatcher へ戻る
+
+
+;
+; カーネルの終了処理の呼出し
+;
+; モードとスタックを非タスクコンテキスト用に切り替え．
 ;
 	.glb	__kernel_call_exit_kernel
 __kernel_call_exit_kernel:
 .if	TIPM_LOCK != -15
-	clrpsw	i							; SÝÖ~
-	mov.l	#__kernel_lock_flag, r5		; CPUbNðóÔÖ
+	clrpsw	i							; 全割込み禁止
+	mov.l	#__kernel_lock_flag, r5		; CPUロック解除状態へ
 	mov.l	#0, [r5]
 .endif
 	mov.l	#__kernel_istkpt, r5
-	mov.l	[r5], r0					; ÝpÌX^bNÖØÖ¦
-	mov.l	#__kernel_intnest, r5
-	mov.w	#1, [r5]					; ñ^XNReLXgÉØ·¦
+	mov.l	[r5], r0					; 割込み用のスタックへ切替え
+	mov.l	#__kernel_intnest, r5
+	mov.w	#1, [r5]					; 非タスクコンテキストに切換え
 	bsr		__kernel_exit_kernel
 	bra		__kernel_call_exit_kernel
@@ -438,19 +433,19 @@
 
 ;
-;  Ý(CPUáO)©çÌ^XNfBXpb`üû
-;
-;	Äoµð:
-;	ESÝbNóÔ(PSWWX^Irbg = 0)
-;	EÝDæx}XNSðÅÈ¢óÔ(IPL != 0)
-;	E^XNReLXg(intnest=0)
-;	EgpX^bNÍ^XNX^bN
-;	Ereqflg = true
-;
-;  ±±ÅÍ, fBXpb`[hÉÏXµ, reqflgðOFFÉµÄ©ç, 
-;  xfBXpb`ÌL³ð»f·é.
-;
-
-;
-;  ret_intæªÅX^bNÉÏÜêÄ¢éPSWWX^ÖÌItZbg
+;  割込み(CPU例外)からのタスクディスパッチャ入口
+;
+;	呼出し条件:
+;	・全割込みロック状態(PSWレジスタIビット = 0)
+;	・割込み優先度マスク全解除でない状態(IPL != 0)
+;	・タスクコンテキスト(intnest=0)
+;	・使用スタックはタスクスタック
+;	・reqflg = true
+;
+;  ここでは, ディスパッチャモードに変更し, reqflgをOFFにしてから, 
+;  遅延ディスパッチの有無を判断する.
+;
+
+;
+;  ret_int先頭でスタックに積まれているPSWレジスタへのオフセット
 ;  ACC + FPSW + R14--R15 + R1--R5 + PC
 ;
@@ -459,17 +454,17 @@
 ret_int:
 .if	TIPM_LOCK == -15
-	mov.l	RET_INT_GET_PSW_OFFSET[r0], r5	; Ý/CPUáO­¶OÌIPLlæ¾
+	mov.l	RET_INT_GET_PSW_OFFSET[r0], r5	; 割込み/CPU例外発生前のIPL値取得
 	and		#PSW_IPL_MASK, r5
-	mvtc	r5, psw						; SÝbN(CPUbN)óÔ
-										; Ý/CPUáO­¶OÌÝDæx
-.else
-	mov.l	#__kernel_lock_flag, r5		; CPUbNóÔÖ
+	mvtc	r5, psw						; 全割込みロック(CPUロック)状態
+										; 割込み/CPU例外発生前の割込み優先度
+.else
+	mov.l	#__kernel_lock_flag, r5		; CPUロック状態へ
 	mov.l	#1, [r5]
-	mov.l	RET_INT_GET_PSW_OFFSET[r0], r5	; Ý/CPUáO­¶OÌIPLlæ¾
+	mov.l	RET_INT_GET_PSW_OFFSET[r0], r5	; 割込み/CPU例外発生前のIPL値取得
 	and		#PSW_IPL_MASK, r5
 	mov.l	#__kernel_saved_ipl, r4
 	mov.l	r5, [r4]
-	mvtc	#(IPL_LOCK | PSW_I_MASK), psw	; SÝbNðóÔ
-										; ÝDæx}XNSðÅÈ¢óÔ
+	mvtc	#(IPL_LOCK | PSW_I_MASK), psw	; 全割込みロック解除状態
+										; 割込み優先度マスク全解除でない状態
 .endif
 	mov.l	#__kernel_reqflg, r5
@@ -477,5 +472,5 @@
 	mov.l	#__kernel_p_runtsk, r15     
 	mov.l	[r15], r14
-	mov.l	#__kernel_dspflg, r5		; dspflg ª FALSE Èç ret_int_r Ö
+	mov.l	#__kernel_dspflg, r5		; dspflg が FALSE なら ret_int_r へ
 	mov.l	[r5], r5
 	cmp		#0, r5
@@ -483,66 +478,65 @@
 	mov.l	#__kernel_p_schedtsk, r5
 	mov.l	[r5], r5
-	cmp		r5, r14						; p_schedtsk Æ p_runtsk ª¯¶Èç
-	beq  	ret_int_r_call_tex			; ret_int_r_call_tex Ö
-	pushm	r6-r13						; ñXNb`WX^Û¶
-	st_TCB_sp	r0, r14, r5				; X^bN|C^ðTCBÉÛ¶
-	st_TCB_pc	#ret_int_r, r14, r5		; ÀsÄJÔnðTCBÉÛ¶
+	cmp		r5, r14						; p_schedtsk と p_runtsk が同じなら
+	beq  	ret_int_r_call_tex			; ret_int_r_call_tex へ
+	pushm	r6-r13						; 非スクラッチレジスタ保存
+	st_TCB_sp	r0, r14, r5				; スタックポインタをTCBに保存
+	st_TCB_pc	#ret_int_r, r14, r5		; 実行再開番地をTCBに保存
 	bra		dispatcher
 
 ;
-;  Ý(CPUáO)ÖÌ^XNfBXpb`oû
-;
-;  ÄÑoµð:
-;	EfBXpb`[h(t@Cwb_QÆ)
-;
-;  ±±ÅÍ, ^XNáOnhÄoµÆ, Ý(CPUáO)[hÖÌ
-;  ÏXÆ, ReLXgÌAðs¢, Ý(CUPáO)­¶³Ößé.
-;
-__kernel_break_wait:					;^XNj^px
+;  割込み(CPU例外)へのタスクディスパッチャ出口
+;
+;  呼び出し条件:
+;	・ディスパッチャモード(ファイルヘッダ参照)
+;
+;  ここでは, タスク例外ハンドラ呼出しと, 割込み(CPU例外)処理モードへの
+;  変更と, コンテキストの復帰を行い, 割込み(CUP例外)発生元へ戻る.
+;
+__kernel_break_wait:					;タスクモニタ用ラベル
 ret_int_r:
-	popm 	r6-r13						; ñXNb`WX^A
+	popm 	r6-r13						; 非スクラッチレジスタ復帰
 ret_int_r_call_tex:
-	btst 	#TCB_enatex_bit, TCB_enatex[r14]	; ^XNáOÂ?
+	btst 	#TCB_enatex_bit, TCB_enatex[r14]	; タスク例外処理許可?
 	bz   	ret_int_r_rte
-	ld_TCB_texptn	r5, r14, r4			; Û¯áOvöª é©H
+	ld_TCB_texptn	r5, r14, r4			; 保留例外要因があるか？
 	cmp		#0, r5
 	bz   	ret_int_r_rte
-	bsr		__kernel_call_texrtn		; ^XNáOnhÄoµÀs
+	bsr		__kernel_call_texrtn		; タスク例外ハンドラ呼出し処理実行
 ret_int_r_rte:
 .if	TIPM_LOCK != -15
-	clrpsw	i							; SÝÖ~
-	mov.l	#__kernel_lock_flag, r5		; CPUbNðóÔÖ
+	clrpsw	i							; 全割込み禁止
+	mov.l	#__kernel_lock_flag, r5		; CPUロック解除状態へ
 	mov.l	#0, [r5]
 .endif
-	popm	r4-r5						; AL
-[^A
-	mvtaclo	r5							; ACCÅºÊ16bitÍ0ÅA
+	popm	r4-r5						; アキュムレータ復帰
+	mvtaclo	r5							; ACC最下位16bitは0で復帰
 	mvtachi	r4
-	popc	fpsw						; FPUXe[^XWX^A
-	popm	r14-r15						; WX^A
+	popc	fpsw						; FPUステータスレジスタ復帰
+	popm	r14-r15						; レジスタ復帰
 	popm	r1-r5
-	rte									; ÝOÌÉßé
-
-
-;
-;  ÝÌoüû(AZu¾êLqª)
-;
-;  Äoµð:
-;  EÝ­¶ÌH/WÉæè, PSWWX^ÌIrbg=0, IPLÍót¯
-;    ½ÝÌIPL.
-;  EX^bNÍ½dèÝÈçÝX^bN, »¤ÅÈ¯êÎ
-;    ^XNX^bN
-;  EÝ­¶ÌH/WÉæè,X^bNÉÝ©çÌAPCÆPSWª
-;    Û¶³êÄ¢é.
-;  ExN^e[uÉo^³ê½ÂÊÌüèûÉæè, X^bNÉ
-;    XNb`WX^(R1-R5)ªÛ¶³êÄ¢é.
-;
-;  ø:
-;  Er1:ÝvöÔ
-;  Er2:ÝnhÌAhX
-;
-;  WX^ªX^bNãÉÇÌæ¤ÉÛ¶³êÄ¢é©ðÈºÉ¦·.
-;  ±Ì}ÅÍãªáÊ, ºªÊÌAhXÅ, X^bNÍº©ç
-;  ãûüÉü©ÁÄÏÝã°çêéàÌÆ·é.
+	rte									; 割込み前の処理に戻る
+
+
+;
+;  割込みの出入口処理(アセンブリ言語記述部分)
+;
+;  呼出し条件:
+;  ・割込み発生時のH/W処理により, PSWレジスタのIビット=0, IPLは受付け
+;    た割込みのIPL.
+;  ・スタックは多重割り込みなら割込みスタック, そうでなければ
+;    タスクスタック
+;  ・割込み発生時のH/W処理により,スタックに割込みからの復帰PCとPSWが
+;    保存されている.
+;  ・ベクタテーブルに登録された個別の入り口処理により, スタックに
+;    スクラッチレジスタ(R1-R5)が保存されている.
+;
+;  引数:
+;  ・r1:割込み要因番号
+;  ・r2:割込みハンドラのアドレス
+;
+;  レジスタがスタック上にどのように保存されているかを以下に示す.
+;  この図では上が低位, 下が高位のアドレスで, スタックは下から
+;  上方向に向かって積み上げられるものとする.
 ;
 ;	-------------------------
@@ -572,104 +566,102 @@
 ;	-------------------------(SP + 44)
 ;
-;  ±±ÅÍ, Ý[hÉÏXµÄnhðÀs·é.
-;
-;  nh©ç^[µ½ãÍ, ½dÝÅÈ­, ©Â reqflg ª
-;  TRUE ÉÈÁ½ÉCret_int Öªò(xfBXpb`)·éD
-;
-;  ½dÝ©Ç¤©ÍÝlXgJE^ÌlÅ»è·é.
-;  intnest != 0 ÈçÎ½dÝÅ éÆ»è·é.
-;
-;  reqflg ÍCPUbNóÔÅ`FbN·é. »¤ÅÈ¢ÆC
-;  reqflg `FbNãÉN®³ê½ÝnhàÅ
-;  fBXpb`ªv³ê½êÉCfBXpb`³êÈ¢.
+;  ここでは, 割込み処理モードに変更してハンドラを実行する.
+;
+;  ハンドラからリターンした後は, 多重割込みでなく, かつ reqflg が
+;  TRUE になった時に，ret_int へ分岐(遅延ディスパッチ)する．
+;
+;  多重割込みかどうかは割込みネストカウンタの値で判定する.
+;  intnest != 0 ならば多重割込みであると判定する.
+;
+;  reqflg はCPUロック状態でチェックする. そうでないと，
+;  reqflg チェック後に起動された割込みハンドラ内で
+;  ディスパッチが要求された場合に，ディスパッチされない.
 ;
 _kernel_interrupt:
-	pushm	r14-r15						; XNb`WX^ðÞð
-	pushc	fpsw						; FPUXe[^XWX^Þð
+	pushm	r14-r15						; スクラッチレジスタを退避
+	pushc	fpsw						; FPUステータスレジスタ退避
 	mvfacmi	r5
-	shll	#16, r5						; ACCÅºÊ16bitÍ0Æ·é
+	shll	#16, r5						; ACC最下位16bitは0とする
 	mvfachi	r4
-	pushm	r4-r5						; AL
-[^Þð
+	pushm	r4-r5						; アキュムレータ退避
 	mov.l	#__kernel_intnest, r5
 	mov.w	[r5], r4
-	add		#1, r4						; lXgñðCNg
+	add		#1, r4						; ネスト回数をインクリメント
 	mov.w	r4, [r5]
-	cmp		#1, r4						; ½dèÝ©Ç¤©
-	bnz		interrupt_from_int			; ÁZOª0ÅÈ¯êÎ½dÝ
-						; iÌÝ
-	mov.l	r0, r3						; X^bN|C^ðæèoµ
-	mov.l	#__kernel_istkpt, r5		; ÝpÌX^bNÖØÖ¦é
+	cmp		#1, r4						; 多重割り込みかどうか
+	bnz		interrupt_from_int			; 加算前が0でなければ多重割込み
+						; 初段の割込み
+	mov.l	r0, r3						; スタックポインタを取り出し
+	mov.l	#__kernel_istkpt, r5		; 割込み用のスタックへ切替える
 	mov.l	[r5], r0
-	push.l	r3							; ^XNX^bNðÛ
-interrupt_from_int:		; ½dÝ
-	setpsw	i							; ÝÂ(CPUbNðóÔ)
+	push.l	r3							; タスクスタックを保持
+interrupt_from_int:		; 多重割込み
+	setpsw	i							; 割込み許可(CPUロック解除状態)
 
 .if	LOG_INH_LEAVE == 1
-	push.l	r1							; Og[XÌøðÛ
+	push.l	r1							; ログトレースの引数を保持
 .endif
 
 .if	LOG_INH_ENTER == 1
 	push.l	r2
-	bsr		_kernel_log_inh_enter		; Og[XÖÌÄoµ
-							; øÌÝvöÔÍùÉr1ÉüÁÄ¢é
+	bsr		_kernel_log_inh_enter		; ログトレース関数の呼出し
+							; 引数の割込み要因番号は既にr1に入っている
 	pop		r2
 .endif
 
-	jsr  	r2							; C[`ÄÑoµ
+	jsr  	r2							; Cルーチン呼び出し
 
 .if	LOG_INH_LEAVE == 1
-	pop		r1							; øÉÝvöÔðÝè
-	bsr		_kernel_log_inh_leave		; Og[XÖÌÄoµ
-.endif
-
-	clrpsw	i							; ÝÖ~(CPUbNóÔ)
+	pop		r1							; 引数に割込み要因番号を設定
+	bsr		_kernel_log_inh_leave		; ログトレース関数の呼出し
+.endif
+
+	clrpsw	i							; 割込み禁止(CPUロック状態)
 	mov.l	#__kernel_intnest, r5
 	mov.w	[r5], r4
-	sub		#1, r4						; lXgñðfNg
+	sub		#1, r4						; ネスト回数をデクリメント
 	mov.w	r4, [r5]
-	cmp		#0, r4						; ½dèÝ©Ç¤©
-	bnz		interrupt_return			; ½dèÝÈç^[
-	; iÌÝ
-	pop		r0							; ^XNÌX^bNÉß·
-	mov.l	#__kernel_reqflg, r5		; fBXpb`vªÈ¢©?
+	cmp		#0, r4						; 多重割り込みかどうか
+	bnz		interrupt_return			; 多重割り込みならリターン
+	; 初段の割込み
+	pop		r0							; タスクのスタックに戻す
+	mov.l	#__kernel_reqflg, r5		; ディスパッチ要求がないか?
 	mov.l	[r5], r5
 	cmp		#1, r5
-	bz		ret_int						;  êÎ ret_int ÖWv
+	bz		ret_int						; あれば ret_int へジャンプ
 interrupt_return:
-	popm	r4-r5						; AL
-[^A
-	mvtaclo	r5							; ACCÅºÊ16bitÍ0ÅA
+	popm	r4-r5						; アキュムレータ復帰
+	mvtaclo	r5							; ACC最下位16bitは0で復帰
 	mvtachi	r4
-	popc	fpsw						; FPUXe[^XWX^A
-	popm	r14-r15						; WX^A
+	popc	fpsw						; FPUステータスレジスタ復帰
+	popm	r14-r15						; レジスタ復帰
 	popm	r1-r5
-	rte									; ÝOÌÉßé
-
-
-;
-;  CPUáOÌoüû(AZu¾êLqª)
-;
-;  Äoµð:
-;  ECPUáO­¶ÌH/WÉæè, PSWWX^ÌIrbg=0, IPL=0.
-;  EX^bNÍ½dèÝÈçÝX^bN, »¤ÅÈ¯êÎ
-;    ^XNX^bN
-;  ECPUáO­¶ÌH/WÉæè,X^bNÉCPUáO©çÌAPCÆ
-;    PSWªÛ¶³êÄ¢é.
-;  ExN^e[uÉo^³ê½ÂÊÌüèûÉæè, X^bNÉ
-;    XNb`WX^(R1-R5)ªÛ¶³êÄ¢é.
-;
-;  ø:
-;  Er1:CPUáOvöÔ
-;  Er2:CPUáOnhÌAhX
-;
-;  WX^ªX^bNãÉÇÌæ¤ÉÛ¶³êÄ¢é©ðÈºÉ¦·.
-;  ±Ì}ÅÍãªáÊ, ºªÊÌAhXÅ, X^bNÍº©ç
-;  ãûüÉü©ÁÄÏÝã°çêéàÌÆ·é.
-;  È¨, CPUáOvöÔÆR6-R13ÍCPUáOnhàÅîñðæ¾
-;  ·éÚIÅÞðµÄ¨è, oûÅÍÛ¶àeðjü·êÎæ¢.
+	rte									; 割込み前の処理に戻る
+
+
+;
+;  CPU例外の出入口処理(アセンブリ言語記述部分)
+;
+;  呼出し条件:
+;  ・CPU例外発生時のH/W処理により, PSWレジスタのIビット=0, IPL=0.
+;  ・スタックは多重割り込みなら割込みスタック, そうでなければ
+;    タスクスタック
+;  ・CPU例外発生時のH/W処理により,スタックにCPU例外からの復帰PCと
+;    PSWが保存されている.
+;  ・ベクタテーブルに登録された個別の入り口処理により, スタックに
+;    スクラッチレジスタ(R1-R5)が保存されている.
+;
+;  引数:
+;  ・r1:CPU例外要因番号
+;  ・r2:CPU例外ハンドラのアドレス
+;
+;  レジスタがスタック上にどのように保存されているかを以下に示す.
+;  この図では上が低位, 下が高位のアドレスで, スタックは下から
+;  上方向に向かって積み上げられるものとする.
+;  なお, CPU例外要因番号とR6-R13はCPU例外ハンドラ内で情報を取得
+;  する目的で退避しており, 出口処理では保存内容を破棄すればよい.
 ;
 ;	-------------------------
-;	|    CPUáOvöÔ    | <----- p_excinf
+;	|    CPU例外要因番号    | <----- p_excinf
 ;	------------------------- (intptr_t)(p_excinf + 0)
 ;	|       R6(4byte)       |
@@ -714,25 +706,25 @@
 ;	------------------------- (intptr_t)(p_excinf + 80)
 ;
-;  ±±ÅÍ, Ý[hÉÏXµÄnhðÀs·é.
-;  CPUáOnhÉn·VP^ÌÏ p_excinf ÆµÄISPÌln·D
-;
-;  nh©ç^[µ½ãÍ, ½dÝÅÈ­, ©Â reqflg ª
-;  TRUE ÉÈÁ½ÉCret_int Öªò(xfBXpb`)·éD
-;
-;  ½dÝ©Ç¤©ÍÝlXgJE^ÌlÅ»è·é.
-;  intnest != 0 ÈçÎ½dÝÅ éÆ»è·é.
-;
-;  reqflg ÍCPUbNóÔÅ`FbN·é. »¤ÅÈ¢ÆC
-;  reqflg `FbNãÉN®³ê½ÝnhàÅ
-;  fBXpb`ªv³ê½êÉCfBXpb`³êÈ¢.
-;
-;
-;  CPUáOüû
-;
-;  ±±ÅÍ, Ý[hÉÏXµÄnhðÀs·é.
-;
-
-;
-;  CPUáOnhÄoµãÉsvÆÈéX^bNîñÌTCY
+;  ここでは, 割込み処理モードに変更してハンドラを実行する.
+;  CPU例外ハンドラに渡すVP型の変数 p_excinf としてISPの値渡す．
+;
+;  ハンドラからリターンした後は, 多重割込みでなく, かつ reqflg が
+;  TRUE になった時に，ret_int へ分岐(遅延ディスパッチ)する．
+;
+;  多重割込みかどうかは割込みネストカウンタの値で判定する.
+;  intnest != 0 ならば多重割込みであると判定する.
+;
+;  reqflg はCPUロック状態でチェックする. そうでないと，
+;  reqflg チェック後に起動された割込みハンドラ内で
+;  ディスパッチが要求された場合に，ディスパッチされない.
+;
+;
+;  CPU例外入口処理
+;
+;  ここでは, 割込み処理モードに変更してハンドラを実行する.
+;
+
+;
+;  CPU例外ハンドラ呼出し後に不要となるスタック情報のサイズ
 ;  EXCNO + R6--R13
 ;
@@ -740,113 +732,111 @@
 
 _kernel_exception:
-	pushm	r14-r15						; XNb`WX^ðÞð
+	pushm	r14-r15						; スクラッチレジスタを退避
 	pushc	fpsw
 	mvfacmi	r5
-	shll	#16, r5						; ACCÅºÊ16bitÍ0Æ·é
+	shll	#16, r5						; ACC最下位16bitは0とする
 	mvfachi	r4
-	pushm	r4-r5						; AL
-[^Þð
-	pushm	r6-r13						; ñXNb`WX^Û¶
-	push.l	r1							; CPUáOvöÔðÛ
-	mov.l	r0, r3						; X^bN|C^ðæèoµ
+	pushm	r4-r5						; アキュムレータ退避
+	pushm	r6-r13						; 非スクラッチレジスタ保存
+	push.l	r1							; CPU例外要因番号を保持
+	mov.l	r0, r3						; スタックポインタを取り出し
 	mov.l	EXC_GET_PSW_OFFSET[r3], r5
 	and		#PSW_I_MASK, r5
-	bz		exception_nonkernel			; SÝÖ~(CPUbN)óÔÈçÇO
+	bz		exception_nonkernel			; 全割込み禁止(CPUロック)状態なら管理外
 .if	TIPM_LOCK != -15
 	mov.l	EXC_GET_PSW_OFFSET[r3], r5
 	and		#PSW_IPL_MASK, r5
 	cmp		#IPL_LOCK, r5
-	bgt	exception_nonkernel			; IPLªCPUbNxÈãÈçÇO
+	bgt	exception_nonkernel			; IPLがCPUロックレベル以上なら管理外
 .endif
 	mov.l	#__kernel_intnest, r5
 	mov.w	[r5], r4
-	add		#1, r4						; lXgñðCNg
+	add		#1, r4						; ネスト回数をインクリメント
 	mov.w	r4, [r5]
-	cmp		#1, r4						; ½dèÝ©Ç¤©
-	bnz		exception_from_int			; ÁZOª0ÅÈ¯êÎ½dÝ
-						; iÌÝ
-	mov.l	#__kernel_istkpt, r5		; ÝpÌX^bNÖØÖ¦é
+	cmp		#1, r4						; 多重割り込みかどうか
+	bnz		exception_from_int			; 加算前が0でなければ多重割込み
+						; 初段の割込み
+	mov.l	#__kernel_istkpt, r5		; 割込み用のスタックへ切替える
 	mov.l	[r5], r0
-	push.l	r3							; ^XNX^bNðÛ
-exception_from_int:		; ½dÝ
+	push.l	r3							; タスクスタックを保持
+exception_from_int:		; 多重割込み
 	mov.l	EXC_GET_PSW_OFFSET[r3], r5
-	mvtc	r5, psw						; CPUáO­¶OÌóÔÉß·
+	mvtc	r5, psw						; CPU例外発生前の状態に戻す
 .if	LOG_EXC_LEAVE == 1
-	push.l	r1							; Og[XÌøðÛ
+	push.l	r1							; ログトレースの引数を保持
 .endif
 
 .if	LOG_EXC_ENTER == 1
 	pushm	r2-r3
-	bsr		_kernel_log_exc_enter		; Og[XÖÌÄoµ
-							; øÌÝvöÔÍùÉr1ÉüÁÄ¢é
+	bsr		_kernel_log_exc_enter		; ログトレース関数の呼出し
+							; 引数の割込み要因番号は既にr1に入っている
 	popm	r2-r3
 .endif
 
-	mov.l	r3, r1						; øÌp_excinfðÝè
-	jsr  	r2							; C[`ÄÑoµ
+	mov.l	r3, r1						; 引数のp_excinfを設定
+	jsr  	r2							; Cルーチン呼び出し
 
 .if	LOG_EXC_LEAVE == 1
-	pop		r1							; øÉÝvöÔðÝè
-	bsr		_kernel_log_exc_leave		; Og[XÖÌÄoµ
-.endif
-
-	clrpsw	i							; ±±©çÍK¸ÝÖ~
+	pop		r1							; 引数に割込み要因番号を設定
+	bsr		_kernel_log_exc_leave		; ログトレース関数の呼出し
+.endif
+
+	clrpsw	i							; ここからは必ず割込み禁止
 	mov.l	#__kernel_intnest, r5
 	mov.w	[r5], r4
-	sub		#1, r4						; lXgñðfNg
+	sub		#1, r4						; ネスト回数をデクリメント
 	mov.w	r4, [r5]
-	cmp		#0, r4						; ½dèÝ©Ç¤©
-	bnz		exception_return			; ½dèÝÈç^[
-	; iÌÝ
-	pop		r0							; ^XNÌX^bNÉß·
-	mov.l	#__kernel_reqflg, r5		; fBXpb`vªÈ¢©?
+	cmp		#0, r4						; 多重割り込みかどうか
+	bnz		exception_return			; 多重割り込みならリターン
+	; 初段の割込み
+	pop		r0							; タスクのスタックに戻す
+	mov.l	#__kernel_reqflg, r5		; ディスパッチ要求がないか?
 	mov.l	[r5], r5
 	cmp		#1, r5
-	bnz		exception_return			; È¯êÎ^[
-	add		#EXCINF_REG_SIZE, r0		; CPUáOîñÌjü
-	bra		ret_int						;  êÎ ret_int ÖWv
+	bnz		exception_return			; なければリターン
+	add		#EXCINF_REG_SIZE, r0		; CPU例外情報の破棄
+	bra		ret_int						; あれば ret_int へジャンプ
 
 exception_nonkernel:
 	mov.l	#__kernel_intnest, r5
 	mov.w	[r5], r4
-	add		#1, r4						; lXgñðCNg
+	add		#1, r4						; ネスト回数をインクリメント
 	mov.w	r4, [r5]
-	cmp		#1, r4						; ½dèÝ©Ç¤©
-	bnz		exception_from_nonkernelint	; ÁZOª0ÅÈ¯êÎ½dÝ
-						; iÌÝ
-	mov.l	#__kernel_istkpt, r5		; ÝpÌX^bNÖØÖ¦é
+	cmp		#1, r4						; 多重割り込みかどうか
+	bnz		exception_from_nonkernelint	; 加算前が0でなければ多重割込み
+						; 初段の割込み
+	mov.l	#__kernel_istkpt, r5		; 割込み用のスタックへ切替える
 	mov.l	[r5], r0
-	push.l	r3							; ^XNX^bNðÛ
-exception_from_nonkernelint:	; ½dÝ
+	push.l	r3							; タスクスタックを保持
+exception_from_nonkernelint:	; 多重割込み
 	mov.l	EXC_GET_PSW_OFFSET[r3], r5
-	mvtc	r5, psw						; CPUáO­¶OÌóÔÉß·
-
-	mov.l	r3, r1						; øÌp_excinfðÝè
-	jsr  	r2							; C[`ÄÑoµ
-
-	clrpsw	i							; ±±©çÍK¸ÝÖ~
+	mvtc	r5, psw						; CPU例外発生前の状態に戻す
+
+	mov.l	r3, r1						; 引数のp_excinfを設定
+	jsr  	r2							; Cルーチン呼び出し
+
+	clrpsw	i							; ここからは必ず割込み禁止
 	mov.l	#__kernel_intnest, r5
 	mov.w	[r5], r4
-	sub		#1, r4						; lXgñðfNg
+	sub		#1, r4						; ネスト回数をデクリメント
 	mov.w	r4, [r5]
-	cmp		#0, r4						; ½dèÝ©Ç¤©
-	bnz		exception_return			; ½dèÝÈç^[
-	; iÌÝ
-	pop		r0							; ^XNÌX^bNÉß·
+	cmp		#0, r4						; 多重割り込みかどうか
+	bnz		exception_return			; 多重割り込みならリターン
+	; 初段の割込み
+	pop		r0							; タスクのスタックに戻す
 
 exception_return:
-	add		#EXCINF_REG_SIZE, r0		; CPUáOîñÌjü
-	popm	r4-r5						; AL
-[^A
-	mvtaclo	r5							; ACCÅºÊ16bitÍ0ÅA
+	add		#EXCINF_REG_SIZE, r0		; CPU例外情報の破棄
+	popm	r4-r5						; アキュムレータ復帰
+	mvtaclo	r5							; ACC最下位16bitは0で復帰
 	mvtachi	r4
-	popc	fpsw						; FPUXe[^XWX^A
-	popm	r14-r15						; WX^A
+	popc	fpsw						; FPUステータスレジスタ復帰
+	popm	r14-r15						; レジスタ復帰
 	popm	r1-r5
-	rte									; ÝOÌÉßé
-
-
-;
-;  ÷­ÔÒ¿
+	rte									; 割込み前の処理に戻る
+
+
+;
+;  微少時間待ち
 ;
 _sil_dly_nse:
Index: UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/prc_syssvc.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/prc_syssvc.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/prc_syssvc.h	(revision 167)
@@ -7,36 +7,32 @@
  *  Copyright (C) 2013      by Mitsuhiro Matsuura
  * 
- *  ã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$
@@ -44,5 +40,5 @@
 
 /*
- *		eXgvOÌ^[QbgË¶è`iRX630pj
+ *		テストプログラムのターゲット依存定義（RX630用）
  */
 
@@ -51,6 +47,6 @@
 
 /*
- *  N®bZ[WÉ^[QbgË¶Ìì \¦ð
- *  ÇÁ·é½ßÌ}ND
+ *  起動メッセージにターゲット依存部の著作権表示を
+ *  追加するためのマクロ．
  */
 #define PRC_COPYRIGHT										\
Index: UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/prc_test.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/prc_test.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/prc_test.h	(revision 167)
@@ -6,36 +6,32 @@
  *  Copyright (C) 2008-2010 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プロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id$
@@ -43,5 +39,5 @@
 
 /*
- *		eXgvOÌ^[QbgË¶è`iRX630pj
+ *		テストプログラムのターゲット依存定義（RX630用）
  */
 
@@ -49,5 +45,5 @@
 #define TOPPERS_PRC_TEST_H
 
-#define CPUEXC1					25		/* ®¬_áO */
+#define CPUEXC1					25		/* 浮動小数点例外 */
 #define RAISE_CPU_EXCEPTION		trigger_cpu_exception()
 
Index: UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/prc_test.src
===================================================================
--- UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/prc_test.src	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/prc_test.src	(revision 167)
@@ -6,36 +6,32 @@
 ;*  Copyright (C) 2010 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プロジェクトは，本ソフトウェアに関して，特定の使用目的
+;*  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+;*  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+;*  の責任を負わない．
 ;* 
 ;*  @(#) $Id: prc_test.src 536 2014-10-09 23:11:40Z coas-nagasima $
@@ -48,8 +44,8 @@
 _trigger_cpu_exception:
 	;
-	;  CPUáOÌ­¶
+	;  CPU例外の発生
 	;
-	;  [èZðs¤±ÆÅ, ®¬_áOð
-	;  ­¶³¹é.
+	;  ゼロ割り算を行うことで, 浮動小数点例外を
+	;  発生させる.
 	;
 	mvtc	#00001000H, fpsw
Index: UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/rx630.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/rx630.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/rx630.h	(revision 167)
@@ -7,36 +7,32 @@
  *  Copyright (C) 2013      by Mitsuhiro Matsuura
  * 
- *  ã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$
@@ -44,5 +40,5 @@
 
 /*
- *  RX630ÉË¶·éè`
+ *  RX630に依存する定義
  */
 #ifndef TOPPERS_RX630_H
@@ -50,16 +46,16 @@
 
 /*
- *  CPUáOnhÔÌè`(ÅèxN^e[u)
+ *  CPU例外ハンドラ番号の定義(固定ベクタテーブル)
  *
- *  ÔÌÍÍÍ0 - 31
- */
-#define INT_PRIVILEGED_INSTRUNCTION		20		/* Á ½ßáO */
-#define INT_UNDEF_INSTRUNCTION			23		/* ¢è`½ßáO */
-#define INT_FLOATINGPOINT_INSTRUCTION	25		/* ®¬_áO */
-#define INT_NMI							30		/* m}XJuèÝ */
-#define INT_RESET						31		/* Zbg */
-
-/*
- *  ÝÔÌè`(ÂÏxN^e[u)
+ *  番号の範囲は0 - 31
+ */
+#define INT_PRIVILEGED_INSTRUNCTION		20		/* 特権命令例外 */
+#define INT_UNDEF_INSTRUNCTION			23		/* 未定義命令例外 */
+#define INT_FLOATINGPOINT_INSTRUCTION	25		/* 浮動小数点例外 */
+#define INT_NMI							30		/* ノンマスカブル割り込み */
+#define INT_RESET						31		/* リセット */
+
+/*
+ *  割込み番号の定義(可変ベクタテーブル)
  */
 #define INT_BUSERR			16
@@ -250,6 +246,5 @@
 
 /*
- *  eW
-[ÌWX^yÑÝèrbgîñ
+ *  各モジュールのレジスタ及び設定ビット情報
  */
 
@@ -257,6 +252,5 @@
 
 /*
- * W
-[XgbvRg[WX^AiMSTPCRAj
+ * モジュールストップコントロールレジスタA（MSTPCRA）
  */
 #define SYSTEM_MSTPCRA_ADDR			( ( volatile uint32_t __evenaccess * )0x00080010 )
@@ -296,6 +290,5 @@
 
 /*
- * W
-[XgbvRg[WX^BiMSTPCRBj
+ * モジュールストップコントロールレジスタB（MSTPCRB）
  */
 #define SYSTEM_MSTPCRB_ADDR			( ( volatile uint32_t __evenaccess * )0x00080014 )
@@ -334,6 +327,5 @@
 
 /*
- * W
-[XgbvRg[WX^CiMSTPCRCj
+ * モジュールストップコントロールレジスタC（MSTPCRC）
  */
 #define SYSTEM_MSTPCRC_ADDR			( ( volatile uint32_t __evenaccess * )0x00080018 )
@@ -372,5 +364,5 @@
 
 /*
- * NbN­¶ñH
+ * クロック発生回路
  */
 #define SYSTEM_SCKCR_ADDR			( ( volatile uint32_t __evenaccess * )0x00080020 )
@@ -392,10 +384,10 @@
 
 /*
- * veNgWX^
+ * プロテクトレジスタ
  */
 #define SYSTEM_PRCR_ADDR		( ( volatile uint16_t __evenaccess * )0x000803FE )
 
 /*
- * èÝvWX^
+ * 割り込み要求レジスタ
  */
 #define ICU_IR000_ADDR			( ( volatile uint8_t __evenaccess * )0x00087000 )
@@ -658,5 +650,5 @@
 
 /*
- * èÝvæÝèWX^
+ * 割り込み要求先設定レジスタ
  */
 #define ICU_ISELR000_ADDR		( ( volatile uint8_t __evenaccess * )0x00087100 )
@@ -919,5 +911,5 @@
 
 /*
- * èÝvÂWX^
+ * 割り込み要求許可レジスタ
  */
 #define ICU_IER02_ADDR			( ( volatile uint8_t __evenaccess * )0x00087202 )
@@ -960,5 +952,5 @@
 
 /* 
- * èÝvövCIeBWX^i(i=0`253)ÌÝè
+ * 割り込み要因プライオリティレジスタi(i=0〜253)の設定
  */
 #define ICU_IPR000_ADDR			( ( volatile uint8_t __evenaccess * )0x00087300 )
@@ -1222,5 +1214,5 @@
 
 /*
- *  IRQRg[WX^
+ *  IRQコントロールレジスタ
  */
 #define ICU_IRQ0_ADDR			( ( volatile uint8_t __evenaccess * )0x00087500 )
@@ -1244,5 +1236,5 @@
 
 /*
- *  e`lÌWX^yÑÝèrbgîñ
+ *  各チャンネルのレジスタ及び設定ビット情報
  */
 #define CMT_CMSTR0_ADDR			( ( volatile uint16_t __evenaccess * )0x00088000 )
@@ -1353,5 +1345,5 @@
 
 /*
- *  I/O|[gÌWX^yÑÝèrbgîñ
+ *  I/Oポートのレジスタ及び設定ビット情報
  */
 #define PORT0_PDR_ADDR			( ( volatile uint8_t __evenaccess * )0x0008C000 )
@@ -1523,5 +1515,5 @@
 
 /*
- *  }`t@NVsRg[ÌWX^îñ
+ *  マルチファンクションピンコントローラのレジスタ情報
  */
 #define MPC_PFUSB0_ADDR			( ( volatile uint8_t __evenaccess * )0x0008C114 )
@@ -1662,5 +1654,5 @@
 
 /*
- * A^CNbN
+ * リアルタイムクロック
  */
 #define RTC_R64CNT_ADDR			( ( volatile uint8_t __evenaccess * )0x0008C400 )
@@ -1674,5 +1666,5 @@
 
 /*
- * 12 rbgA/D Ro[^
+ * 12 ビットA/D コンバータ
  */
 #define S12AD_ADCSR_ADDR		( ( volatile uint8_t __evenaccess * )0x00089000 )
@@ -1903,10 +1895,10 @@
 
 /*
- *  UARTÖAÌè`
+ *  UART関連の定義
  *
- *  pdicÌrx600/rx630_uart.cÅgp·éD
- */
-/*
- *  VAI/OÌÂ
+ *  pdicのrx600/rx630_uart.cで使用する．
+ */
+/*
+ *  シリアルI/Oの個数
  */
 #define TNUM_SIOP	( 2 )
Index: UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/rx630.tf
===================================================================
--- UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/rx630.tf	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/rx630.tf	(revision 167)
@@ -1,4 +1,4 @@
 $ 
-$		A[LeN`Ë¶ev[giRX630pj
+$		アーキテクチャ依存テンプレート（RX630用）
 $ 
 
@@ -11,7 +11,7 @@
 
 $ 
-$  ÝÔÆÝnhÔÌè`
+$  割込み番号と割込みハンドラ番号の定義
 $ 
-$  RX630ÅÍÝÔÆÝnhÔª1Î1ÅÎ·éD
+$  RX630では割込み番号と割込みハンドラ番号が1対1で対応する．
 $ 
 
@@ -20,8 +20,8 @@
 
 $ 
-$  áOÔÌè`
+$  例外番号の定義
 $ 
-$  ÅèxN^e[uÌxN^e[uAhXÌ¬³¢ÔÉáOÔðUéD
-$  (\ñÌæàÜÞ)
+$  固定ベクタテーブルのベクタテーブルアドレスの小さい順番に例外番号を割振る．
+$  (予約領域も含む)
 $ 
 
@@ -29,5 +29,5 @@
 
 $ 
-$  INTÝÌÔ
+$  INT割込みの番号
 $ 
 
@@ -35,7 +35,7 @@
 
 $ 
-$  ÝÔCÝnhÔCáOÔÌÍÍ
+$  割込み番号，割込みハンドラ番号，例外番号の範囲
 $ 
-$ (\ñÌæàÜÞ)
+$ (予約領域も含む)
 $ 
 
@@ -45,5 +45,5 @@
 
 $ 
-$  vZbTË¶Ìev[gt@CÌCN[h
+$  プロセッサ依存のテンプレートファイルのインクルード
 $ 
 
Index: UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/rx630_config.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/rx630_config.c	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/rx630_config.c	(revision 167)
@@ -7,36 +7,32 @@
  *  Copyright (C) 2013 by Mitsuhiro Matsuura
  * 
- *  ã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$
@@ -44,6 +40,5 @@
 
 /*
- *		vZbTË¶W
-[iRX630pj
+ *		プロセッサ依存モジュール（RX630用）
  */
 
@@ -52,39 +47,39 @@
 
 /*
- *  ÝvövCIeBWX^AhXe[u
+ *  割込み要因プライオリティレジスタアドレステーブル
  */
 volatile uint8_t __evenaccess * const ipr_reg_addr[ INHNO_MAX ] = {
-	NULL,							/* No.0  \ñ */
-	NULL,							/* No.1  \ñ */
-	NULL,							/* No.2  \ñ */
-	NULL,							/* No.3  \ñ */
-	NULL,							/* No.4  \ñ */
-	NULL,							/* No.5  \ñ */
-	NULL,							/* No.6  \ñ */
-	NULL,							/* No.7  \ñ */
-	NULL,							/* No.8  \ñ */
-	NULL,							/* No.9  \ñ */
-	NULL,							/* No.10  \ñ */
-	NULL,							/* No.11  \ñ */
-	NULL,							/* No.12  \ñ */
-	NULL,							/* No.13  \ñ */
-	NULL,							/* No.14  \ñ */
-	NULL,							/* No.15  \ñ */
-	ICU_IPR000_ADDR,				/* No.16  oXG[ BUSERR */
-	NULL,							/* No.17  \ñ */
-	NULL,							/* No.18  \ñ */
-	NULL,							/* No.19  \ñ */
-	NULL,							/* No.20  \ñ */
+	NULL,							/* No.0  予約 */
+	NULL,							/* No.1  予約 */
+	NULL,							/* No.2  予約 */
+	NULL,							/* No.3  予約 */
+	NULL,							/* No.4  予約 */
+	NULL,							/* No.5  予約 */
+	NULL,							/* No.6  予約 */
+	NULL,							/* No.7  予約 */
+	NULL,							/* No.8  予約 */
+	NULL,							/* No.9  予約 */
+	NULL,							/* No.10  予約 */
+	NULL,							/* No.11  予約 */
+	NULL,							/* No.12  予約 */
+	NULL,							/* No.13  予約 */
+	NULL,							/* No.14  予約 */
+	NULL,							/* No.15  予約 */
+	ICU_IPR000_ADDR,				/* No.16  バスエラー BUSERR */
+	NULL,							/* No.17  予約 */
+	NULL,							/* No.18  予約 */
+	NULL,							/* No.19  予約 */
+	NULL,							/* No.20  予約 */
 	ICU_IPR001_ADDR,				/* No.21  FCU FIFERR */
-	NULL,							/* No.22  \ñ */
+	NULL,							/* No.22  予約 */
 	ICU_IPR002_ADDR,				/* No.23  FCU FRDYI */
-	NULL,							/* No.24  \ñ */
-	NULL,							/* No.25  \ñ */
-	NULL,							/* No.26  \ñ */
+	NULL,							/* No.24  予約 */
+	NULL,							/* No.25  予約 */
+	NULL,							/* No.26  予約 */
 	ICU_IPR003_ADDR,				/* No.27  SWINT */
-	ICU_IPR004_ADDR,				/* No.28  CMTjbg0 CMT0 */
-	ICU_IPR005_ADDR,				/* No.29  CMTjbg0 CMT1 */
-	ICU_IPR006_ADDR,				/* No.30  CMTjbg1 CMT2 */
-	ICU_IPR007_ADDR,				/* No.31  CMTjbg1 CMT3 */
+	ICU_IPR004_ADDR,				/* No.28  CMTユニット0 CMT0 */
+	ICU_IPR005_ADDR,				/* No.29  CMTユニット0 CMT1 */
+	ICU_IPR006_ADDR,				/* No.30  CMTユニット1 CMT2 */
+	ICU_IPR007_ADDR,				/* No.31  CMTユニット1 CMT3 */
 	ICU_IPR032_ADDR,				/* No.32  ETHER */
 	ICU_IPR033_ADDR,				/* No.33  USB0 D0FIFO0 */
@@ -115,50 +110,50 @@
 	ICU_IPR056_ADDR, 				/* No.58  CAN RXM2 */
 	ICU_IPR056_ADDR, 				/* No.59  CAN TXM2 */
-	NULL,							/* No.60  \ñ */
-	NULL,							/* No.61  \ñ */
+	NULL,							/* No.60  予約 */
+	NULL,							/* No.61  予約 */
 	ICU_IPR062_ADDR,			 	/* No.62  RTC PRD */
-	NULL,							/* No.63  \ñ */
-	ICU_IPR064_ADDR,				/* No.64  O[q IRQ0 */
-	ICU_IPR065_ADDR,				/* No.65  O[q IRQ1 */
-	ICU_IPR066_ADDR,				/* No.66  O[q IRQ2 */
-	ICU_IPR067_ADDR,				/* No.67  O[q IRQ3 */
-	ICU_IPR068_ADDR,				/* No.68  O[q IRQ4 */
-	ICU_IPR069_ADDR,				/* No.69  O[q IRQ5 */
-	ICU_IPR070_ADDR,				/* No.70  O[q IRQ6 */
-	ICU_IPR071_ADDR,				/* No.71  O[q IRQ7 */
-	ICU_IPR072_ADDR,				/* No.72  O[q IRQ8 */
-	ICU_IPR073_ADDR,				/* No.73  O[q IRQ9 */
-	ICU_IPR074_ADDR,				/* No.74  O[q IRQ10 */
-	ICU_IPR075_ADDR,				/* No.75  O[q IRQ11 */
-	ICU_IPR076_ADDR,				/* No.76  O[q IRQ12 */
-	ICU_IPR077_ADDR,				/* No.77  O[q IRQ13 */
-	ICU_IPR078_ADDR,				/* No.78  O[q IRQ14 */
-	ICU_IPR079_ADDR,				/* No.79  O[q IRQ15 */
-	NULL,							/* No.80  \ñ */
-	NULL,							/* No.81  \ñ */
-	NULL,							/* No.82  \ñ */
-	NULL,							/* No.83  \ñ */
-	NULL,							/* No.84  \ñ */
-	NULL,							/* No.85  \ñ */
-	NULL,							/* No.86  \ñ */
-	NULL,							/* No.87  \ñ */
-	NULL,							/* No.88  \ñ */
-	NULL,							/* No.89  \ñ */
+	NULL,							/* No.63  予約 */
+	ICU_IPR064_ADDR,				/* No.64  外部端子 IRQ0 */
+	ICU_IPR065_ADDR,				/* No.65  外部端子 IRQ1 */
+	ICU_IPR066_ADDR,				/* No.66  外部端子 IRQ2 */
+	ICU_IPR067_ADDR,				/* No.67  外部端子 IRQ3 */
+	ICU_IPR068_ADDR,				/* No.68  外部端子 IRQ4 */
+	ICU_IPR069_ADDR,				/* No.69  外部端子 IRQ5 */
+	ICU_IPR070_ADDR,				/* No.70  外部端子 IRQ6 */
+	ICU_IPR071_ADDR,				/* No.71  外部端子 IRQ7 */
+	ICU_IPR072_ADDR,				/* No.72  外部端子 IRQ8 */
+	ICU_IPR073_ADDR,				/* No.73  外部端子 IRQ9 */
+	ICU_IPR074_ADDR,				/* No.74  外部端子 IRQ10 */
+	ICU_IPR075_ADDR,				/* No.75  外部端子 IRQ11 */
+	ICU_IPR076_ADDR,				/* No.76  外部端子 IRQ12 */
+	ICU_IPR077_ADDR,				/* No.77  外部端子 IRQ13 */
+	ICU_IPR078_ADDR,				/* No.78  外部端子 IRQ14 */
+	ICU_IPR079_ADDR,				/* No.79  外部端子 IRQ15 */
+	NULL,							/* No.80  予約 */
+	NULL,							/* No.81  予約 */
+	NULL,							/* No.82  予約 */
+	NULL,							/* No.83  予約 */
+	NULL,							/* No.84  予約 */
+	NULL,							/* No.85  予約 */
+	NULL,							/* No.86  予約 */
+	NULL,							/* No.87  予約 */
+	NULL,							/* No.88  予約 */
+	NULL,							/* No.89  予約 */
 	ICU_IPR090_ADDR, 				/* No.90  USBR0 */
 	ICU_IPR091_ADDR, 				/* No.91  USBR1 */
 	ICU_IPR092_ADDR,				/* No.92  RTC ALM */
 	ICU_IPR093_ADDR,				/* No.93  RTC PRD */
-	NULL,							/* No.94  \ñ */
-	NULL,							/* No.95  \ñ */
-	NULL,							/* No.96  \ñ */
-	NULL,							/* No.97  \ñ */
+	NULL,							/* No.94  予約 */
+	NULL,							/* No.95  予約 */
+	NULL,							/* No.96  予約 */
+	NULL,							/* No.97  予約 */
 	ICU_IPR098_ADDR,				/* No.98  AD ADI0 */
-	NULL,							/* No.99  \ñ */
-	NULL,							/* No.100  \ñ */
-	NULL,							/* No.101  \ñ */
+	NULL,							/* No.99  予約 */
+	NULL,							/* No.100  予約 */
+	NULL,							/* No.101  予約 */
 	ICU_IPR102_ADDR,				/* No.102 S12AD S12ADIO */
-	NULL,							/* No.103  \ñ */
-	NULL,							/* No.104  \ñ */
-	NULL,							/* No.105  \ñ */
+	NULL,							/* No.103  予約 */
+	NULL,							/* No.104  予約 */
+	NULL,							/* No.105  予約 */
 	ICU_IPR106_ADDR,				/* No.106 ICU GROUP0 */
 	ICU_IPR107_ADDR,				/* No.107 ICU GROUP1 */
@@ -168,13 +163,13 @@
 	ICU_IPR111_ADDR,				/* No.111 ICU GROUP5 */
 	ICU_IPR112_ADDR,				/* No.112 ICU GROUP6 */
-	NULL,							/* No.113  \ñ */
+	NULL,							/* No.113  予約 */
 	ICU_IPR114_ADDR,				/* No.114 ICU GROUP12 */
-	NULL,							/* No.115  \ñ */
-	NULL,							/* No.116  \ñ */
-	NULL,							/* No.117  \ñ */
-	NULL,							/* No.118  \ñ */
-	NULL,							/* No.119  \ñ */
-	NULL,							/* No.120  \ñ */
-	NULL,							/* No.121  \ñ */
+	NULL,							/* No.115  予約 */
+	NULL,							/* No.116  予約 */
+	NULL,							/* No.117  予約 */
+	NULL,							/* No.118  予約 */
+	NULL,							/* No.119  予約 */
+	NULL,							/* No.120  予約 */
+	NULL,							/* No.121  予約 */
 	ICU_IPR122_ADDR,				/* No.122 SCI12 SCIX0 */
 	ICU_IPR123_ADDR,				/* No.123 SCI12 SCIX1 */
@@ -223,6 +218,6 @@
 	ICU_IPR167_ADDR,				/* No.166 POE OEI1 */
 	ICU_IPR167_ADDR,				/* No.167 POE OEI2 */
-	NULL,							/* No.168  \ñ */
-	NULL,							/* No.169  \ñ */
+	NULL,							/* No.168  予約 */
+	NULL,							/* No.169  予約 */
 	ICU_IPR170_ADDR,				/* No.170 TMR0 CMIA0 */
 	ICU_IPR170_ADDR,				/* No.171 TMR0 CMIB0 */
@@ -259,14 +254,14 @@
 	ICU_IPR202_ADDR,				/* No.202 EXDMAC EXDMACI0 */
 	ICU_IPR203_ADDR,				/* No.203 EXDMAC EXDMACI1 */
-	NULL,							/* No.204  \ñ */
-	NULL,							/* No.205  \ñ */
-	NULL,							/* No.206  \ñ */
-	NULL,							/* No.207  \ñ */
-	NULL,							/* No.208  \ñ */
-	NULL,							/* No.209  \ñ */
-	NULL,							/* No.210  \ñ */
-	NULL,							/* No.211  \ñ */
-	NULL,							/* No.212  \ñ */
-	NULL,							/* No.213  \ñ */
+	NULL,							/* No.204  予約 */
+	NULL,							/* No.205  予約 */
+	NULL,							/* No.206  予約 */
+	NULL,							/* No.207  予約 */
+	NULL,							/* No.208  予約 */
+	NULL,							/* No.209  予約 */
+	NULL,							/* No.210  予約 */
+	NULL,							/* No.211  予約 */
+	NULL,							/* No.212  予約 */
+	NULL,							/* No.213  予約 */
 	ICU_IPR214_ADDR,				/* No.214 SCI0 RXI0 */
 	ICU_IPR214_ADDR,				/* No.215 SCI0 TXI0 */
@@ -309,45 +304,45 @@
 	ICU_IPR250_ADDR,				/* No.252 SCI12 TEI12 */
 	ICU_IPR253_ADDR,				/* No.253 IEB IEBINT */
-	NULL,							/* No.254  \ñ */
-	NULL,							/* No.255  \ñ */
+	NULL,							/* No.254  予約 */
+	NULL,							/* No.255  予約 */
 };
 
 
 /*
- *  ÝvÂWX^AhXe[u
+ *  割込み要求許可レジスタアドレステーブル
  */
 const IER_INFO ier_reg_addr[ INHNO_MAX ] = {
-	{ NULL, INVALID_OFFSET },			/* No.0   \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.1   \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.2   \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.3   \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.4   \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.5   \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.6   \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.7   \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.8   \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.9   \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.10  \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.11  \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.12  \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.13  \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.14  \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.15  \ñ */
-	{ ICU_IER02_ADDR, ICU_IEN0_BIT },	/* No.16  oXG[ BUSERR */
-	{ NULL, INVALID_OFFSET },			/* No.17  \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.18  \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.19  \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.20  \ñ */
+	{ NULL, INVALID_OFFSET },			/* No.0   予約 */
+	{ NULL, INVALID_OFFSET },			/* No.1   予約 */
+	{ NULL, INVALID_OFFSET },			/* No.2   予約 */
+	{ NULL, INVALID_OFFSET },			/* No.3   予約 */
+	{ NULL, INVALID_OFFSET },			/* No.4   予約 */
+	{ NULL, INVALID_OFFSET },			/* No.5   予約 */
+	{ NULL, INVALID_OFFSET },			/* No.6   予約 */
+	{ NULL, INVALID_OFFSET },			/* No.7   予約 */
+	{ NULL, INVALID_OFFSET },			/* No.8   予約 */
+	{ NULL, INVALID_OFFSET },			/* No.9   予約 */
+	{ NULL, INVALID_OFFSET },			/* No.10  予約 */
+	{ NULL, INVALID_OFFSET },			/* No.11  予約 */
+	{ NULL, INVALID_OFFSET },			/* No.12  予約 */
+	{ NULL, INVALID_OFFSET },			/* No.13  予約 */
+	{ NULL, INVALID_OFFSET },			/* No.14  予約 */
+	{ NULL, INVALID_OFFSET },			/* No.15  予約 */
+	{ ICU_IER02_ADDR, ICU_IEN0_BIT },	/* No.16  バスエラー BUSERR */
+	{ NULL, INVALID_OFFSET },			/* No.17  予約 */
+	{ NULL, INVALID_OFFSET },			/* No.18  予約 */
+	{ NULL, INVALID_OFFSET },			/* No.19  予約 */
+	{ NULL, INVALID_OFFSET },			/* No.20  予約 */
 	{ ICU_IER02_ADDR, ICU_IEN5_BIT },	/* No.21  FCU FIFERR */
-	{ NULL, INVALID_OFFSET },			/* No.22  \ñ */
+	{ NULL, INVALID_OFFSET },			/* No.22  予約 */
 	{ ICU_IER02_ADDR, ICU_IEN7_BIT },	/* No.23  FCU FRDYI */
-	{ NULL, INVALID_OFFSET },			/* No.24  \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.25  \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.26  \ñ */
+	{ NULL, INVALID_OFFSET },			/* No.24  予約 */
+	{ NULL, INVALID_OFFSET },			/* No.25  予約 */
+	{ NULL, INVALID_OFFSET },			/* No.26  予約 */
 	{ ICU_IER03_ADDR, ICU_IEN3_BIT },	/* No.27  SWINT */
-	{ ICU_IER03_ADDR, ICU_IEN4_BIT },	/* No.28  CMTjbg0 CMT0 */
-	{ ICU_IER03_ADDR, ICU_IEN5_BIT },	/* No.29  CMTjbg0 CMT1 */
-	{ ICU_IER03_ADDR, ICU_IEN6_BIT },	/* No.30  CMTjbg1 CMT2 */
-	{ ICU_IER03_ADDR, ICU_IEN7_BIT },	/* No.31  CMTjbg1 CMT3 */
+	{ ICU_IER03_ADDR, ICU_IEN4_BIT },	/* No.28  CMTユニット0 CMT0 */
+	{ ICU_IER03_ADDR, ICU_IEN5_BIT },	/* No.29  CMTユニット0 CMT1 */
+	{ ICU_IER03_ADDR, ICU_IEN6_BIT },	/* No.30  CMTユニット1 CMT2 */
+	{ ICU_IER03_ADDR, ICU_IEN7_BIT },	/* No.31  CMTユニット1 CMT3 */
 	{ ICU_IER04_ADDR, ICU_IEN0_BIT },	/* No.32  ETHER */
 	{ ICU_IER04_ADDR, ICU_IEN1_BIT },	/* No.33  USB0 D0FIFO0 */
@@ -378,50 +373,50 @@
 	{ ICU_IER07_ADDR, ICU_IEN2_BIT },	/* No.58  CAN2 RXM2 */
 	{ ICU_IER07_ADDR, ICU_IEN3_BIT },	/* No.59  CAN2 TXM2 */
-	{ NULL, INVALID_OFFSET },			/* No.60  \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.61  \ñ */
+	{ NULL, INVALID_OFFSET },			/* No.60  予約 */
+	{ NULL, INVALID_OFFSET },			/* No.61  予約 */
 	{ ICU_IER07_ADDR, ICU_IEN6_BIT },	/* No.62  RTC PRD */
-	{ NULL, INVALID_OFFSET },			/* No.63  \ñ */
-	{ ICU_IER08_ADDR, ICU_IEN0_BIT },	/* No.64  O[q IRQ0 */
-	{ ICU_IER08_ADDR, ICU_IEN1_BIT },	/* No.65  O[q IRQ1 */
-	{ ICU_IER08_ADDR, ICU_IEN2_BIT },	/* No.66  O[q IRQ2 */
-	{ ICU_IER08_ADDR, ICU_IEN3_BIT },	/* No.67  O[q IRQ3 */
-	{ ICU_IER08_ADDR, ICU_IEN4_BIT },	/* No.68  O[q IRQ4 */
-	{ ICU_IER08_ADDR, ICU_IEN5_BIT },	/* No.69  O[q IRQ5 */
-	{ ICU_IER08_ADDR, ICU_IEN6_BIT },	/* No.70  O[q IRQ6 */
-	{ ICU_IER08_ADDR, ICU_IEN7_BIT },	/* No.71  O[q IRQ7 */
-	{ ICU_IER09_ADDR, ICU_IEN0_BIT },	/* No.72  O[q IRQ8 */
-	{ ICU_IER09_ADDR, ICU_IEN1_BIT },	/* No.73  O[q IRQ9 */
-	{ ICU_IER09_ADDR, ICU_IEN2_BIT },	/* No.74  O[q IRQ10 */
-	{ ICU_IER09_ADDR, ICU_IEN3_BIT },	/* No.75  O[q IRQ11 */
-	{ ICU_IER09_ADDR, ICU_IEN4_BIT },	/* No.76  O[q IRQ12 */
-	{ ICU_IER09_ADDR, ICU_IEN5_BIT },	/* No.77  O[q IRQ13 */
-	{ ICU_IER09_ADDR, ICU_IEN6_BIT },	/* No.78  O[q IRQ14 */
-	{ ICU_IER09_ADDR, ICU_IEN7_BIT },	/* No.79  O[q IRQ15 */
-	{ NULL, INVALID_OFFSET },			/* No.80  \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.81  \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.82  \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.83  \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.84  \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.85  \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.86  \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.87  \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.88  \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.89  \ñ */
+	{ NULL, INVALID_OFFSET },			/* No.63  予約 */
+	{ ICU_IER08_ADDR, ICU_IEN0_BIT },	/* No.64  外部端子 IRQ0 */
+	{ ICU_IER08_ADDR, ICU_IEN1_BIT },	/* No.65  外部端子 IRQ1 */
+	{ ICU_IER08_ADDR, ICU_IEN2_BIT },	/* No.66  外部端子 IRQ2 */
+	{ ICU_IER08_ADDR, ICU_IEN3_BIT },	/* No.67  外部端子 IRQ3 */
+	{ ICU_IER08_ADDR, ICU_IEN4_BIT },	/* No.68  外部端子 IRQ4 */
+	{ ICU_IER08_ADDR, ICU_IEN5_BIT },	/* No.69  外部端子 IRQ5 */
+	{ ICU_IER08_ADDR, ICU_IEN6_BIT },	/* No.70  外部端子 IRQ6 */
+	{ ICU_IER08_ADDR, ICU_IEN7_BIT },	/* No.71  外部端子 IRQ7 */
+	{ ICU_IER09_ADDR, ICU_IEN0_BIT },	/* No.72  外部端子 IRQ8 */
+	{ ICU_IER09_ADDR, ICU_IEN1_BIT },	/* No.73  外部端子 IRQ9 */
+	{ ICU_IER09_ADDR, ICU_IEN2_BIT },	/* No.74  外部端子 IRQ10 */
+	{ ICU_IER09_ADDR, ICU_IEN3_BIT },	/* No.75  外部端子 IRQ11 */
+	{ ICU_IER09_ADDR, ICU_IEN4_BIT },	/* No.76  外部端子 IRQ12 */
+	{ ICU_IER09_ADDR, ICU_IEN5_BIT },	/* No.77  外部端子 IRQ13 */
+	{ ICU_IER09_ADDR, ICU_IEN6_BIT },	/* No.78  外部端子 IRQ14 */
+	{ ICU_IER09_ADDR, ICU_IEN7_BIT },	/* No.79  外部端子 IRQ15 */
+	{ NULL, INVALID_OFFSET },			/* No.80  予約 */
+	{ NULL, INVALID_OFFSET },			/* No.81  予約 */
+	{ NULL, INVALID_OFFSET },			/* No.82  予約 */
+	{ NULL, INVALID_OFFSET },			/* No.83  予約 */
+	{ NULL, INVALID_OFFSET },			/* No.84  予約 */
+	{ NULL, INVALID_OFFSET },			/* No.85  予約 */
+	{ NULL, INVALID_OFFSET },			/* No.86  予約 */
+	{ NULL, INVALID_OFFSET },			/* No.87  予約 */
+	{ NULL, INVALID_OFFSET },			/* No.88  予約 */
+	{ NULL, INVALID_OFFSET },			/* No.89  予約 */
 	{ ICU_IER0B_ADDR, ICU_IEN2_BIT },	/* No.90  USBR0 */
 	{ ICU_IER0B_ADDR, ICU_IEN3_BIT },	/* No.91  USBR1 */
 	{ ICU_IER0B_ADDR, ICU_IEN4_BIT },	/* No.92  RTC ALM */
 	{ ICU_IER0B_ADDR, ICU_IEN5_BIT },	/* No.92  RTC PRD */
-	{ NULL, INVALID_OFFSET },			/* No.94  \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.95  \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.96  \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.97  \ñ */
+	{ NULL, INVALID_OFFSET },			/* No.94  予約 */
+	{ NULL, INVALID_OFFSET },			/* No.95  予約 */
+	{ NULL, INVALID_OFFSET },			/* No.96  予約 */
+	{ NULL, INVALID_OFFSET },			/* No.97  予約 */
 	{ ICU_IER0C_ADDR, ICU_IEN2_BIT },	/* No.98  AD0 ADI0 */
-	{ NULL, INVALID_OFFSET },			/* No.99  \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.100 \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.101 \ñ */
+	{ NULL, INVALID_OFFSET },			/* No.99  予約 */
+	{ NULL, INVALID_OFFSET },			/* No.100 予約 */
+	{ NULL, INVALID_OFFSET },			/* No.101 予約 */
 	{ ICU_IER0C_ADDR, ICU_IEN6_BIT },	/* No.102 S12AD S12ADI00 */
-	{ NULL, INVALID_OFFSET },			/* No.103 \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.104 \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.105 \ñ */
+	{ NULL, INVALID_OFFSET },			/* No.103 予約 */
+	{ NULL, INVALID_OFFSET },			/* No.104 予約 */
+	{ NULL, INVALID_OFFSET },			/* No.105 予約 */
 	{ ICU_IER0D_ADDR, ICU_IEN2_BIT },	/* No.106 ICU GROUP0 */
 	{ ICU_IER0D_ADDR, ICU_IEN3_BIT },	/* No.107 ICU GROUP1 */
@@ -431,13 +426,13 @@
 	{ ICU_IER0D_ADDR, ICU_IEN7_BIT },	/* No.111 ICU GROUP5 */
 	{ ICU_IER0E_ADDR, ICU_IEN0_BIT },	/* No.112 ICU GROUP6 */
-	{ NULL, INVALID_OFFSET },			/* No.113 \ñ */
+	{ NULL, INVALID_OFFSET },			/* No.113 予約 */
 	{ ICU_IER0E_ADDR, ICU_IEN1_BIT },	/* No.114 ICU GROUP12 */
-	{ NULL, INVALID_OFFSET },			/* No.115 \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.116 \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.117 \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.118 \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.119 \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.120 \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.121 \ñ */
+	{ NULL, INVALID_OFFSET },			/* No.115 予約 */
+	{ NULL, INVALID_OFFSET },			/* No.116 予約 */
+	{ NULL, INVALID_OFFSET },			/* No.117 予約 */
+	{ NULL, INVALID_OFFSET },			/* No.118 予約 */
+	{ NULL, INVALID_OFFSET },			/* No.119 予約 */
+	{ NULL, INVALID_OFFSET },			/* No.120 予約 */
+	{ NULL, INVALID_OFFSET },			/* No.121 予約 */
 	{ ICU_IER0F_ADDR, ICU_IEN2_BIT },	/* No.122 SCI12 SCIX0 */
 	{ ICU_IER0F_ADDR, ICU_IEN3_BIT },	/* No.123 SCI12 SCIX1 */
@@ -486,6 +481,6 @@
 	{ ICU_IER14_ADDR, ICU_IEN6_BIT },	/* No.166 POE OEI1 */
 	{ ICU_IER14_ADDR, ICU_IEN7_BIT },	/* No.167 POE OEI2 */
-	{ NULL, INVALID_OFFSET },			/* No.168 \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.169 \ñ */
+	{ NULL, INVALID_OFFSET },			/* No.168 予約 */
+	{ NULL, INVALID_OFFSET },			/* No.169 予約 */
 	{ ICU_IER15_ADDR, ICU_IEN2_BIT },	/* No.170 TMR0 CMIA0 */
 	{ ICU_IER15_ADDR, ICU_IEN3_BIT },	/* No.171 TMR0 CMIB0 */
@@ -522,14 +517,14 @@
 	{ ICU_IER19_ADDR, ICU_IEN2_BIT },	/* No.202 EXDMAC EXDMAC0I */
 	{ ICU_IER19_ADDR, ICU_IEN3_BIT },	/* No.203 EXDMAC EXDMAC1I */
-	{ NULL, INVALID_OFFSET },			/* No.204 \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.205 \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.206 \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.207 \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.208 \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.209 \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.210 \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.211 \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.212 \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.213 \ñ */
+	{ NULL, INVALID_OFFSET },			/* No.204 予約 */
+	{ NULL, INVALID_OFFSET },			/* No.205 予約 */
+	{ NULL, INVALID_OFFSET },			/* No.206 予約 */
+	{ NULL, INVALID_OFFSET },			/* No.207 予約 */
+	{ NULL, INVALID_OFFSET },			/* No.208 予約 */
+	{ NULL, INVALID_OFFSET },			/* No.209 予約 */
+	{ NULL, INVALID_OFFSET },			/* No.210 予約 */
+	{ NULL, INVALID_OFFSET },			/* No.211 予約 */
+	{ NULL, INVALID_OFFSET },			/* No.212 予約 */
+	{ NULL, INVALID_OFFSET },			/* No.213 予約 */
 	{ ICU_IER1A_ADDR, ICU_IEN6_BIT },	/* No.214 SCI0 RXI0 */
 	{ ICU_IER1A_ADDR, ICU_IEN7_BIT },	/* No.215 SCI0 TXI0 */
@@ -572,11 +567,11 @@
 	{ ICU_IER1F_ADDR, ICU_IEN4_BIT },	/* No.252 SCI12 TEI12 */
 	{ ICU_IER1F_ADDR, ICU_IEN5_BIT },	/* No.253 IEB IEBINT */
-	{ NULL, INVALID_OFFSET },			/* No.254 \ñ */
-	{ NULL, INVALID_OFFSET },			/* No.255 \ñ */
+	{ NULL, INVALID_OFFSET },			/* No.254 予約 */
+	{ NULL, INVALID_OFFSET },			/* No.255 予約 */
 };
 
 
 /*
- *  IRQRg[WX^AhXe[u
+ *  IRQコントロールレジスタアドレステーブル
  */
 volatile uint8_t __evenaccess * const irqcr_reg_addr[ IRQ_MAX ] = {
Index: UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/rx630_config.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/rx630_config.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/rx630_config.h	(revision 167)
@@ -7,36 +7,32 @@
  *  Copyright (C) 2013      by Mitsuhiro Matsuura
  * 
- *  ã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$
@@ -44,10 +40,9 @@
 
 /*
- *		vZbTË¶W
-[iRX630pj
+ *		プロセッサ依存モジュール（RX630用）
  *
- *  ±ÌCN[ht@CÍCtarget_config.hiÜ½ÍC»±©çCN
- *  [h³êét@CjÌÝ©çCN[h³êéD¼Ìt@C©ç
- *  ¼ÚCN[hµÄÍÈçÈ¢D
+ *  このインクルードファイルは，target_config.h（または，そこからインク
+ *  ルードされるファイル）のみからインクルードされる．他のファイルから
+ *  直接インクルードしてはならない．
  */
 
@@ -58,5 +53,5 @@
 
 /*
- *  Ývö
+ *  割込み要因数
  */
 #define	INHNO_MAX	UINT_C( 256 )
@@ -64,5 +59,5 @@
 
 /*
- *  Ý§äp^è`
+ *  割込み制御用型定義
  */
 typedef struct ier_info {
@@ -73,5 +68,5 @@
 
 /*
- *  Ý§äpè`
+ *  割込み制御用定義
  */
 #define	INVALID_OFFSET				( 0xFFU )
@@ -84,20 +79,19 @@
 
 /*
- *  Ý§äpe[u
+ *  割込み制御用テーブル
  */
 
-/* ÝvövCIeBWX^AhX */
+/* 割込み要因プライオリティレジスタアドレス */
 extern volatile uint8_t __evenaccess * const ipr_reg_addr[];
-/* ÝvÂWX^AhX */
+/* 割込み要求許可レジスタアドレス */
 extern const IER_INFO ier_reg_addr[];
-/* ÝvWX^AhX */
+/* 割込み要求レジスタアドレス */
 extern volatile uint8_t __evenaccess * const ir_reg_addr[];
-/* IRQRg[WX^AhX */
+/* IRQコントロールレジスタアドレス */
 extern volatile uint8_t __evenaccess * const irqcr_reg_addr[];
 
 
 /*
- *  vZbTË¶W
-[iRX630pj
+ *  プロセッサ依存モジュール（RX630用）
  */
 #include "rx630_ccrx/prc_config.h"
Index: UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/start.src
===================================================================
--- UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/start.src	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/arch/rx630_ccrx/start.src	(revision 167)
@@ -10,36 +10,32 @@
 ;*  Copyright (C) 2008-2010 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プロジェクトは，本ソフトウェアに関して，特定の使用目的
+;*  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+;*  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+;*  の責任を負わない．
 ;* 
 ;*  @(#) $Id: start.src 536 2014-10-09 23:11:40Z coas-nagasima $
@@ -49,13 +45,13 @@
 
 	;
-	;  }bvÌè`(^[QbgË¶)
+	;  メモリマップの定義(ターゲット依存部)
 	;
 
-DFLRE				.equ	007FC440H		; DFLREWX^
+DFLRE				.equ	007FC440H		; DFLREレジスタ
 
 DB_BLOCK_ENABLE		.equ	02D0FH
 
 ;
-;  ú»[`
+;  初期化ルーチン
 ;
 	.section	P, CODE
@@ -69,16 +65,14 @@
 _start:
 	;
-	;  d¹üãÍx0, SÝÖ~óÔÅ é.
-	;  J[lÅÍ¬ÝðgpµÈ¢½ßABPC, BPSWyÑFINTV
-	;  Ìú»ÍsíÈ¢.
+	;  電源投入後はレベル0, 全割込み禁止状態である.
+	;  カーネルでは高速割込みを使用しないため、BPC, BPSW及びFINTV
+	;  の初期化は行わない.
 	;
 
 	;
-	;  à ROMif[^tbV
-jÌæÌÝè
+	;  内蔵ROM（データフラッシュ）領域の設定
 	;
-	;  Zbgã, f[^tbV
-ÌæÍÇÝoµÖ~ÆÈÁÄ¢é
-	;  ½ß, ÇÝoµÂÉÝè·é.
+	;  リセット後, データフラッシュ領域は読み出し禁止となっている
+	;  ため, 読み出し許可に設定する.
 	;
 	mov.l	#DFLRE, r5
@@ -86,20 +80,20 @@
 	
 	;
-	;  X^bN|C^ÌÝè
+	;  スタックポインタの設定
 	;
-	;  [UÉÄñ^XNReLXgpX^bNÌæðpÓµ½ê,
-	;  [UÌæðÝè·é.
-	;  kernel_cfg.cÉÄ"_kernel_istkpt"Ìlðè·é.
+	;  ユーザにて非タスクコンテキスト用スタック領域を用意した場合,
+	;  ユーザ領域を設定する.
+	;  kernel_cfg.cにて"_kernel_istkpt"の値を決定する.
 	;
 	mov.l	#__kernel_istkpt, r5
-	mov.l	[r5], r0			; ñ^XNReLXgpX^bNÌæðÝè
+	mov.l	[r5], r0			; 非タスクコンテキスト用スタック領域を設定
 
 	;
-	;  ÂÏxN^e[uÌÝè
+	;  可変ベクタテーブルの設定
 	;
-	mvtc	#(topof C$VECT), intb			; xN^e[uÌÝè
+	mvtc	#(topof C$VECT), intb			; ベクタテーブルの設定
 
 	;
-	;  n[hEFAÅLÌú»[`ÌÄoµ
+	;  ハードウェア固有の初期化ルーチンの呼出し
 	;
 	mov.l	#_hardware_init_hook, r5
@@ -109,10 +103,10 @@
 
 	;
-	;  úl èÏÌæÌú»
+	;  初期値あり変数領域の初期化
 	;
 init_D:
 	mov.l	#(sizeof R), r3
 	cmp		#0, r3
-	beq.b	init_D_2					; TCY0Èçú»KvÈµ
+	beq.b	init_D_2					; サイズ0なら初期化必要なし
 	mov.l	#(topof R), r1
 	mov.l	#(topof D), r2
@@ -122,5 +116,5 @@
 	mov.l	#(sizeof R_2), r3
 	cmp		#0, r3
-	beq.b	init_D_1					; TCY0Èçú»KvÈµ
+	beq.b	init_D_1					; サイズ0なら初期化必要なし
 	mov.l	#(topof R_2), r1
 	mov.l	#(topof D_2), r2
@@ -130,5 +124,5 @@
 	mov.l	#(sizeof R_1), r3
 	cmp		#0, r3
-	beq.b	clear_B						; TCY0Èçú»KvÈµ
+	beq.b	clear_B						; サイズ0なら初期化必要なし
 	mov.l	#(topof R_1), r1
 	mov.l	#(topof D_1), r2
@@ -136,5 +130,5 @@
 
 	;
-	;  úlÈµÏÌæÌú»
+	;  初期値なし変数領域の初期化
 	;
 clear_B:
@@ -157,8 +151,8 @@
 
 	;
-	;  software_init_hook ðÄoµi0 ÅÈ¢êj
+	;  software_init_hook を呼出し（0 でない場合）
 	;
-	;  \tgEFAÂ«iÁÉCujÉË¶µÄKvÈú»
-	;  ª éêÍCsoftware_init_hook Æ¢¤ÖðpÓ·êÎæ¢.
+	;  ソフトウェア環境（特にライブラリ）に依存して必要な初期化処理
+	;  がある場合は，software_init_hook という関数を用意すればよい.
 	;
 	mov.l	#_software_init_hook, r5
@@ -168,5 +162,5 @@
 
 	;
-	;  J[lX^[g
+	;  カーネルスタート
 	;
 kernel_link:
Index: UsbWattMeter/trunk/asp_dcre/include/histogram.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/include/histogram.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/include/histogram.h	(revision 167)
@@ -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$
@@ -43,6 +39,5 @@
 
 /*
- *		ÀsÔªzWvW
-[
+ *		実行時間分布集計モジュール
  */
 
@@ -55,20 +50,20 @@
 
 /*
- *  ÀsÔªzvªÌú»
+ *  実行時間分布計測の初期化
  */
 extern void	init_hist(ID histid, uint_t maxval, uint_t histarea[]);
 
 /*
- *  ÀsÔvªÌJn
+ *  実行時間計測の開始
  */
 extern void	begin_measure(ID histid);
 
 /*
- *  ÀsÔvªÌI¹
+ *  実行時間計測の終了
  */
 extern void	end_measure(ID histid);
 
 /*
- *  ÀsÔªzvªÌ\¦
+ *  実行時間分布計測の表示
  */
 extern void	print_hist(ID histid);
Index: UsbWattMeter/trunk/asp_dcre/include/itron.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/include/itron.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/include/itron.h	(revision 167)
@@ -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$
@@ -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,72 +61,71 @@
 
 /*
- *  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_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つのみ */
 
 /*
- *  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: UsbWattMeter/trunk/asp_dcre/include/kernel.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/include/kernel.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/include/kernel.h	(revision 167)
@@ -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$
@@ -46,15 +42,15 @@
 
 /*
- *		TOPPERS/ASPJ[l Wwb_t@C
+ *		TOPPERS/ASPカーネル 標準ヘッダファイル
  *
- *  TOPPERS/ASPJ[lªT|[g·éT[rXR[Ìé¾ÆCKvÈf[
- *  ^^CèC}NÌè`ðÜÞwb_t@CD
+ *  TOPPERS/ASPカーネルがサポートするサービスコールの宣言と，必要なデー
+ *  タ型，定数，マクロの定義を含むヘッダファイル．
  *
- *  AZu¾êÌ\[Xt@C©ç±Ìt@CðCN[h·é
- *  ÍCTOPPERS_MACRO_ONLYðè`µÄ¨­D±êÉæèC}Nè`ÈOð
- *  ­æ¤ÉÈÁÄ¢éD
+ *  アセンブリ言語のソースファイルからこのファイルをインクルードする時
+ *  は，TOPPERS_MACRO_ONLYを定義しておく．これにより，マクロ定義以外を
+ *  除くようになっている．
  *
- *  ±Ìt@CðCN[h·éOÉCN[hµÄ¨­×«t@C
- *  ÍÈ¢D
+ *  このファイルをインクルードする前にインクルードしておくべきファイル
+ *  はない．
  */
 
@@ -67,10 +63,10 @@
 
 /*
- *	TOPPERS¤ÊÌf[^^EèE}N
+ *	TOPPERS共通のデータ型・定数・マクロ
  */
 #include <t_stddef.h>
 
 /*
- *  ^[QbgË¶
+ *  ターゲット依存部
  */
 #include "target_kernel.h"
@@ -79,18 +75,18 @@
 
 /*
- *  f[^^Ìè`
- */
-
-/*
- *  rbgp^[âIuWFNgÔÌ^è`
- */
-typedef	uint_t		TEXPTN;		/* ^XNáOvöÌrbgp^[ */
-typedef	uint_t		FLGPTN;		/* CxgtOÌrbgp^[ */
-typedef	uint_t		INTNO;		/* ÝÔ */
-typedef	uint_t		INHNO;		/* ÝnhÔ */
-typedef	uint_t		EXCNO;		/* CPUáOnhÔ */
-
-/*
- *  PÊÌ^è`
+ *  データ型の定義
+ */
+
+/*
+ *  ビットパターンやオブジェクト番号の型定義
+ */
+typedef	uint_t		TEXPTN;		/* タスク例外要因のビットパターン */
+typedef	uint_t		FLGPTN;		/* イベントフラグのビットパターン */
+typedef	uint_t		INTNO;		/* 割込み番号 */
+typedef	uint_t		INHNO;		/* 割込みハンドラ番号 */
+typedef	uint_t		EXCNO;		/* CPU例外ハンドラ番号 */
+
+/*
+ *  処理単位の型定義
  */
 typedef void	(*TASK)(intptr_t exinf);
@@ -105,194 +101,177 @@
 
 /*
- *  ÌæmÛÌ½ßÌ^è`
+ *  メモリ領域確保のための型定義
  */
 #ifndef TOPPERS_STK_T
 #define TOPPERS_STK_T	intptr_t
 #endif /* TOPPERS_STK_T */
-typedef	TOPPERS_STK_T	STK_T;	/* X^bNÌæðmÛ·é½ßÌ^ */
+typedef	TOPPERS_STK_T	STK_T;	/* スタック領域を確保するための型 */
 
 #ifndef TOPPERS_MPF_T
 #define TOPPERS_MPF_T	intptr_t
 #endif /* TOPPERS_MPF_T */
-typedef	TOPPERS_MPF_T	MPF_T;	/* Åè·v[ÌæðmÛ·é½ßÌ^ */
-
-/*
- *  bZ[Wwb_Ì^è`
- */
-typedef	struct t_msg {			/* [{bNXÌbZ[Wwb_ */
+typedef	TOPPERS_MPF_T	MPF_T;	/* 固定長メモリプール領域を確保するための型 */
+
+/*
+ *  メッセージヘッダの型定義
+ */
+typedef	struct t_msg {			/* メールボックスのメッセージヘッダ */
 	struct t_msg	*pk_next;
 } T_MSG;
 
-typedef	struct t_msg_pri {		/* Dæxt«bZ[Wwb_ */
-	T_MSG	msgque;				/* bZ[Wwb_ */
-	PRI		msgpri;				/* bZ[WDæx */
+typedef	struct t_msg_pri {		/* 優先度付きメッセージヘッダ */
+	T_MSG	msgque;				/* メッセージヘッダ */
+	PRI		msgpri;				/* メッセージ優先度 */
 } T_MSG_PRI;
 
 /*
- *  pPbg`®Ìè`
+ *  パケット形式の定義
  */
 typedef struct t_ctsk {
-	ATR			tskatr;		/* ^XN®« */
-	intptr_t	exinf;		/* ^XNÌg£îñ */
-	TASK		task;		/* ^XNÌC[`ÌæªÔn */
-	PRI			itskpri;	/* ^XNÌN®Dæx */
-	SIZE		stksz;		/* ^XNÌX^bNÌæÌTCY */
-	STK_T 		*stk;		/* ^XNÌX^bNÌæÌæªÔn */
+	ATR			tskatr;		/* タスク属性 */
+	intptr_t	exinf;		/* タスクの拡張情報 */
+	TASK		task;		/* タスクのメインルーチンの先頭番地 */
+	PRI			itskpri;	/* タスクの起動時優先度 */
+	SIZE		stksz;		/* タスクのスタック領域のサイズ */
+	STK_T 		*stk;		/* タスクのスタック領域の先頭番地 */
 } T_CTSK;
 
 typedef struct t_rtsk {
-	STAT	tskstat;	/* ^XNóÔ */
-	PRI		tskpri;		/* ^XNÌ»ÝDæx */
-	PRI		tskbpri;	/* ^XNÌx[XDæx */
-	STAT	tskwait;	/* Ò¿vö */
-	ID		wobjid;		/* Ò¿ÎÛÌIuWFNgÌID */
-	TMO		lefttmo;	/* ^CAEg·éÜÅÌÔ */
-	uint_t	actcnt;		/* N®vL
-[CO */
-	uint_t	wupcnt;		/* N°vL
-[CO */
+	STAT	tskstat;	/* タスク状態 */
+	PRI		tskpri;		/* タスクの現在優先度 */
+	PRI		tskbpri;	/* タスクのベース優先度 */
+	STAT	tskwait;	/* 待ち要因 */
+	ID		wobjid;		/* 待ち対象のオブジェクトのID */
+	TMO		lefttmo;	/* タイムアウトするまでの時間 */
+	uint_t	actcnt;		/* 起動要求キューイング数 */
+	uint_t	wupcnt;		/* 起床要求キューイング数 */
 } T_RTSK;
 
 typedef struct t_dtex {
-	ATR		texatr;		/* ^XNáO[`®« */
-	TEXRTN	texrtn;		/* ^XNáO[`ÌæªÔn */
+	ATR		texatr;		/* タスク例外処理ルーチン属性 */
+	TEXRTN	texrtn;		/* タスク例外処理ルーチンの先頭番地 */
 } T_DTEX;
 
 typedef struct t_rtex {
-	STAT	texstat;	/* ^XNáOÌóÔ */
-	TEXPTN	pndptn;		/* Û¯áOvö */
+	STAT	texstat;	/* タスク例外処理の状態 */
+	TEXPTN	pndptn;		/* 保留例外要因 */
 } T_RTEX;
 
 typedef struct t_csem {
-	ATR		sematr;		/* Z}tH®« */
-	uint_t	isemcnt;	/* Z}tHÌú¹ */
-	uint_t	maxsem;		/* Z}tHÌÅå¹ */
+	ATR		sematr;		/* セマフォ属性 */
+	uint_t	isemcnt;	/* セマフォの初期資源数 */
+	uint_t	maxsem;		/* セマフォの最大資源数 */
 } T_CSEM;
 
 typedef struct t_rsem {
-	ID		wtskid;		/* Z}tHÌÒ¿sñÌæªÌ^XNÌIDÔ */
-	uint_t	semcnt;		/* Z}tHÌ»ÝÌ¹ */
+	ID		wtskid;		/* セマフォの待ち行列の先頭のタスクのID番号 */
+	uint_t	semcnt;		/* セマフォの現在の資源数 */
 } T_RSEM;
 
 typedef struct t_cflg {
-	ATR		flgatr;		/* CxgtO®« */
-	FLGPTN	iflgptn;	/* CxgtOÌúrbgp^[ */
+	ATR		flgatr;		/* イベントフラグ属性 */
+	FLGPTN	iflgptn;	/* イベントフラグの初期ビットパターン */
 } T_CFLG;
 
 typedef struct t_rflg {
-	ID		wtskid;		/* CxgtOÌÒ¿sñÌæªÌ^XNÌIDÔ */
-	FLGPTN	flgptn;		/* CxgtOÌ»ÝÌrbgp^[ */
+	ID		wtskid;		/* イベントフラグの待ち行列の先頭のタスクのID番号 */
+	FLGPTN	flgptn;		/* イベントフラグの現在のビットパターン */
 } T_RFLG;
 
 typedef struct t_cdtq {
-	ATR		dtqatr;		/* f[^L
-[®« */
-	uint_t	dtqcnt;		/* f[^L
-[ÇÌæÉi[Å«éf[^ */
-	void 	*dtqmb;		/* f[^L
-[ÇÌæÌæªÔn */
+	ATR		dtqatr;		/* データキュー属性 */
+	uint_t	dtqcnt;		/* データキュー管理領域に格納できるデータ数 */
+	void 	*dtqmb;		/* データキュー管理領域の先頭番地 */
 } T_CDTQ;
 
 typedef struct t_rdtq {
-	ID		stskid;		/* f[^L
-[ÌMÒ¿sñÌæªÌ^XNÌIDÔ */
-	ID		rtskid;		/* f[^L
-[ÌóMÒ¿sñÌæªÌ^XNÌIDÔ */
-	uint_t	sdtqcnt;	/* f[^L
-[ÇÌæÉi[³êÄ¢éf[^Ì */
+	ID		stskid;		/* データキューの送信待ち行列の先頭のタスクのID番号 */
+	ID		rtskid;		/* データキューの受信待ち行列の先頭のタスクのID番号 */
+	uint_t	sdtqcnt;	/* データキュー管理領域に格納されているデータの数 */
 } T_RDTQ;
 
 typedef struct t_cpdq {
-	ATR		pdqatr;		/* Dæxf[^L
-[®« */
-	uint_t	pdqcnt;		/* Dæxf[^L
-[ÇÌæÉi[Å«éf[^ */
-	PRI		maxdpri;	/* Dæxf[^L
-[ÉMÅ«éf[^DæxÌÅ
-						   ål */
-	void 	*pdqmb;		/* Dæxf[^L
-[ÇÌæÌæªÔn */
+	ATR		pdqatr;		/* 優先度データキュー属性 */
+	uint_t	pdqcnt;		/* 優先度データキュー管理領域に格納できるデータ数 */
+	PRI		maxdpri;	/* 優先度データキューに送信できるデータ優先度の最
+						   大値 */
+	void 	*pdqmb;		/* 優先度データキュー管理領域の先頭番地 */
 } T_CPDQ;
 
 typedef struct t_rpdq {
-	ID		stskid;		/* Dæxf[^L
-[ÌMÒ¿sñÌæªÌ^XN
-						   ÌIDÔ */
-	ID		rtskid;		/* Dæxf[^L
-[ÌóMÒ¿sñÌæªÌ^XN
-						   ÌIDÔ */
-	uint_t	spdqcnt;	/* Dæxf[^L
-[ÇÌæÉi[³êÄ¢éf[
-						   ^Ì */
+	ID		stskid;		/* 優先度データキューの送信待ち行列の先頭のタスク
+						   のID番号 */
+	ID		rtskid;		/* 優先度データキューの受信待ち行列の先頭のタスク
+						   のID番号 */
+	uint_t	spdqcnt;	/* 優先度データキュー管理領域に格納されているデー
+						   タの数 */
 } T_RPDQ;
 
 typedef struct t_cmbx {
-	ATR		mbxatr;		/* [{bNX®« */
-	PRI		maxmpri;	/* Dæx[{bNXÉMÅ«ébZ[WDæ
-						   xÌÅål */
-	void 	*mprihd;	/* DæxÊÌbZ[WL
-[wb_ÌæÌæªÔn */
+	ATR		mbxatr;		/* メールボックス属性 */
+	PRI		maxmpri;	/* 優先度メールボックスに送信できるメッセージ優先
+						   度の最大値 */
+	void 	*mprihd;	/* 優先度別のメッセージキューヘッダ領域の先頭番地 */
 } T_CMBX;
 
 typedef struct t_rmbx {
-	ID		wtskid;		/* [{bNXÌÒ¿sñÌæªÌ^XNÌIDÔ */
-	T_MSG	*pk_msg;	/* bZ[WL
-[ÌæªÉÂÈªê½bZ[W
-						   ÌæªÔn */
+	ID		wtskid;		/* メールボックスの待ち行列の先頭のタスクのID番号 */
+	T_MSG	*pk_msg;	/* メッセージキューの先頭につながれたメッセージ
+						   の先頭番地 */
 } T_RMBX;
 
 typedef struct t_cmpf {
-	ATR		mpfatr;		/* Åè·v[®« */
-	uint_t	blkcnt;		/* l¾Å«éÅè·ubNÌ */
-	uint_t	blksz;		/* Åè·ubNÌTCY */
-	MPF_T 	*mpf;		/* Åè·v[ÌæÌæªÔn */
-	void 	*mpfmb;		/* Åè·v[ÇÌæÌæªÔn */
+	ATR		mpfatr;		/* 固定長メモリプール属性 */
+	uint_t	blkcnt;		/* 獲得できる固定長メモリブロックの数 */
+	uint_t	blksz;		/* 固定長メモリブロックのサイズ */
+	MPF_T 	*mpf;		/* 固定長メモリプール領域の先頭番地 */
+	void 	*mpfmb;		/* 固定長メモリプール管理領域の先頭番地 */
 } T_CMPF;
 
 typedef struct t_rmpf {
-	ID		wtskid;		/* Åè·v[ÌÒ¿sñÌæªÌ^XNÌ
-						   IDÔ */
-	uint_t	fblkcnt;	/* Åè·v[ÌæÌó«ÌæÉè
-						   t¯é±ÆªÅ«éÅè·ubNÌ */
+	ID		wtskid;		/* 固定長メモリプールの待ち行列の先頭のタスクの
+						   ID番号 */
+	uint_t	fblkcnt;	/* 固定長メモリプール領域の空きメモリ領域に割り
+						   付けることができる固定長メモリブロックの数 */
 } T_RMPF;
 
 typedef struct t_ccyc {
-	ATR			cycatr;		/* üúnh®« */
-	intptr_t	exinf;		/* üúnhÌg£îñ */
-	CYCHDR		cychdr;		/* üúnhÌæªÔn */
-	RELTIM		cyctim;		/* üúnhÌN®üú */
-	RELTIM		cycphs;		/* üúnhÌN®Ê */
+	ATR			cycatr;		/* 周期ハンドラ属性 */
+	intptr_t	exinf;		/* 周期ハンドラの拡張情報 */
+	CYCHDR		cychdr;		/* 周期ハンドラの先頭番地 */
+	RELTIM		cyctim;		/* 周期ハンドラの起動周期 */
+	RELTIM		cycphs;		/* 周期ハンドラの起動位相 */
 } T_CCYC;
 
 typedef struct t_rcyc {
-	STAT	cycstat;	/* üúnhÌ®ìóÔ */
-	RELTIM	lefttim;	/* ÉüúnhðN®·éÜÅÌÎÔ */
+	STAT	cycstat;	/* 周期ハンドラの動作状態 */
+	RELTIM	lefttim;	/* 次に周期ハンドラを起動する時刻までの相対時間 */
 } T_RCYC;
 
 typedef struct t_calm {
-	ATR			almatr;		/* A[nh®« */
-	intptr_t	exinf;		/* A[nhÌg£îñ */
-	ALMHDR		almhdr;		/* A[nhÌæªÔn */
+	ATR			almatr;		/* アラームハンドラ属性 */
+	intptr_t	exinf;		/* アラームハンドラの拡張情報 */
+	ALMHDR		almhdr;		/* アラームハンドラの先頭番地 */
 } T_CALM;
 
 typedef struct t_ralm {
-	STAT	almstat;	/* A[nhÌ®ìóÔ */
-	RELTIM	lefttim;	/* A[nhðN®·éÜÅÌÎÔ */
+	STAT	almstat;	/* アラームハンドラの動作状態 */
+	RELTIM	lefttim;	/* アラームハンドラを起動する時刻までの相対時間 */
 } T_RALM;
 
 typedef struct t_cisr {
-	ATR			isratr;		/* ÝT[rX[`®« */
-	intptr_t	exinf;		/* ÝT[rX[`Ìg£îñ */
-	INTNO		intno;		/* ÝT[rX[`ðo^·éÝÔ */
-	ISR			isr;		/* ÝT[rX[`ÌæªÔn */
-	PRI			isrpri;		/* ÝT[rX[`Dæx */
+	ATR			isratr;		/* 割込みサービスルーチン属性 */
+	intptr_t	exinf;		/* 割込みサービスルーチンの拡張情報 */
+	INTNO		intno;		/* 割込みサービスルーチンを登録する割込み番号 */
+	ISR			isr;		/* 割込みサービスルーチンの先頭番地 */
+	PRI			isrpri;		/* 割込みサービスルーチン優先度 */
 } T_CISR;
 
 /*
- *  T[rXR[Ìé¾
- */
-
-/*
- *  ^XNÇ@\
+ *  サービスコールの宣言
+ */
+
+/*
+ *  タスク管理機能
  */
 extern ER_UINT	acre_tsk(const T_CTSK *pk_ctsk) throw();
@@ -309,5 +288,5 @@
 
 /*
- *  ^XNt®¯ú@\
+ *  タスク付属同期機能
  */
 extern ER		slp_tsk(void) throw();
@@ -323,5 +302,5 @@
 
 /*
- *  ^XNáO@\
+ *  タスク例外処理機能
  */
 extern ER		def_tex(ID tskid, const T_DTEX *pk_dtex) throw();
@@ -334,5 +313,5 @@
 
 /*
- *  ¯úEÊM@\
+ *  同期・通信機能
  */
 extern ER_ID	acre_sem(const T_CSEM *pk_csem) throw();
@@ -398,5 +377,5 @@
 
 /*
- *  v[Ç@\
+ *  メモリプール管理機能
  */
 extern ER_ID	acre_mpf(const T_CMPF *pk_cmpf) throw();
@@ -410,5 +389,5 @@
 
 /*
- *  ÔÇ@\
+ *  時間管理機能
  */
 extern ER		get_tim(SYSTIM *p_systim) throw();
@@ -430,5 +409,5 @@
 
 /*
- *  VXeóÔÇ@\
+ *  システム状態管理機能
  */
 extern ER		rot_rdq(PRI tskpri) throw();
@@ -450,5 +429,5 @@
 
 /*
- *  ÝÇ@\
+ *  割込み管理機能
  */
 extern ER_ID	acre_isr(const T_CISR *pk_cisr) throw();
@@ -460,5 +439,5 @@
 
 /*
- *  CPUáOÇ@\
+ *  CPU例外管理機能
  */
 extern bool_t	xsns_dpn(void *p_excinf) throw();
@@ -468,139 +447,131 @@
 
 /*
- *  IuWFNg®«Ìè`
- */
-#define TA_ACT			UINT_C(0x02)	/* ^XNðN®³ê½óÔÅ¶¬ */
-
-#define TA_TPRI			UINT_C(0x01)	/* ^XNÌÒ¿sñðDæxÉ */
-#define TA_MPRI			UINT_C(0x02)	/* bZ[WL
-[ðDæxÉ */
-
-#define TA_WMUL			UINT_C(0x02)	/* ¡ÌÒ¿^XN */
-#define TA_CLR			UINT_C(0x04)	/* CxgtOÌNAwè */
-
-#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Ò¿ */
-
-/*
- *  IuWFNgÌóÔÌè`
- */
-#define TTS_RUN			UINT_C(0x01)	/* ÀsóÔ */
-#define TTS_RDY			UINT_C(0x02)	/* ÀsÂ\óÔ */
-#define TTS_WAI			UINT_C(0x04)	/* Ò¿óÔ */
-#define TTS_SUS			UINT_C(0x08)	/* ­§Ò¿óÔ */
-#define TTS_WAS			UINT_C(0x0c)	/* ñdÒ¿óÔ */
-#define TTS_DMT			UINT_C(0x10)	/* x~óÔ */
-
-#define TTW_SLP			UINT_C(0x0001)	/* N°Ò¿ */
-#define TTW_DLY			UINT_C(0x0002)	/* ÔoßÒ¿ */
-#define TTW_SEM			UINT_C(0x0004)	/* Z}tHÌ¹l¾Ò¿ */
-#define TTW_FLG			UINT_C(0x0008)	/* CxgtOÒ¿ */
-#define TTW_SDTQ		UINT_C(0x0010)	/* f[^L
-[ÖÌMÒ¿ */
-#define TTW_RDTQ		UINT_C(0x0020)	/* f[^L
-[©çÌóMÒ¿ */
-#define TTW_SPDQ		UINT_C(0x0100)	/* Dæxf[^L
-[ÖÌMÒ¿ */
-#define TTW_RPDQ		UINT_C(0x0200)	/* Dæxf[^L
-[©çÌóMÒ¿ */
-#define TTW_MBX			UINT_C(0x0040)	/* [{bNX©çÌóMÒ¿ */
-#define TTW_MPF			UINT_C(0x2000)	/* Åè·ubNÌl¾Ò¿ */
-
-#define TTEX_ENA		UINT_C(0x01)	/* ^XNáOÂóÔ */
-#define TTEX_DIS		UINT_C(0x02)	/* ^XNáOÖ~óÔ */
-
-#define TCYC_STP		UINT_C(0x01)	/* üúnhª®ìµÄ¢È¢ */
-#define TCYC_STA		UINT_C(0x02)	/* üúnhª®ìµÄ¢é */
-
-#define TALM_STP		UINT_C(0x01)	/* A[nhª®ìµÄ¢È¢ */
-#define TALM_STA		UINT_C(0x02)	/* A[nhª®ìµÄ¢é */
-
-/*
- *  »Ì¼ÌèÌè`
- */
-#define TSK_SELF		0			/* ©^XNwè */
-#define TSK_NONE		0			/* Y·é^XNªÈ¢ */
-
-#define TPRI_SELF		0			/* ©^XNÌx[XDæx */
-#define TPRI_INI		0			/* ^XNÌN®Dæx */
-
-#define TIPM_ENAALL		0			/* ÝDæx}XNSð */
-
-/*
- *  \¬èÆ}N
- */
-
-/*
- *  T|[g·é@\
+ *  オブジェクト属性の定義
+ */
+#define TA_ACT			UINT_C(0x02)	/* タスクを起動された状態で生成 */
+
+#define TA_TPRI			UINT_C(0x01)	/* タスクの待ち行列を優先度順に */
+#define TA_MPRI			UINT_C(0x02)	/* メッセージキューを優先度順に */
+
+#define TA_WMUL			UINT_C(0x02)	/* 複数の待ちタスク */
+#define TA_CLR			UINT_C(0x04)	/* イベントフラグのクリア指定 */
+
+#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 TTS_RUN			UINT_C(0x01)	/* 実行状態 */
+#define TTS_RDY			UINT_C(0x02)	/* 実行可能状態 */
+#define TTS_WAI			UINT_C(0x04)	/* 待ち状態 */
+#define TTS_SUS			UINT_C(0x08)	/* 強制待ち状態 */
+#define TTS_WAS			UINT_C(0x0c)	/* 二重待ち状態 */
+#define TTS_DMT			UINT_C(0x10)	/* 休止状態 */
+
+#define TTW_SLP			UINT_C(0x0001)	/* 起床待ち */
+#define TTW_DLY			UINT_C(0x0002)	/* 時間経過待ち */
+#define TTW_SEM			UINT_C(0x0004)	/* セマフォの資源獲得待ち */
+#define TTW_FLG			UINT_C(0x0008)	/* イベントフラグ待ち */
+#define TTW_SDTQ		UINT_C(0x0010)	/* データキューへの送信待ち */
+#define TTW_RDTQ		UINT_C(0x0020)	/* データキューからの受信待ち */
+#define TTW_SPDQ		UINT_C(0x0100)	/* 優先度データキューへの送信待ち */
+#define TTW_RPDQ		UINT_C(0x0200)	/* 優先度データキューからの受信待ち */
+#define TTW_MBX			UINT_C(0x0040)	/* メールボックスからの受信待ち */
+#define TTW_MPF			UINT_C(0x2000)	/* 固定長メモリブロックの獲得待ち */
+
+#define TTEX_ENA		UINT_C(0x01)	/* タスク例外処理許可状態 */
+#define TTEX_DIS		UINT_C(0x02)	/* タスク例外処理禁止状態 */
+
+#define TCYC_STP		UINT_C(0x01)	/* 周期ハンドラが動作していない */
+#define TCYC_STA		UINT_C(0x02)	/* 周期ハンドラが動作している */
+
+#define TALM_STP		UINT_C(0x01)	/* アラームハンドラが動作していない */
+#define TALM_STA		UINT_C(0x02)	/* アラームハンドラが動作している */
+
+/*
+ *  その他の定数の定義
+ */
+#define TSK_SELF		0			/* 自タスク指定 */
+#define TSK_NONE		0			/* 該当するタスクがない */
+
+#define TPRI_SELF		0			/* 自タスクのベース優先度 */
+#define TPRI_INI		0			/* タスクの起動時優先度 */
+
+#define TIPM_ENAALL		0			/* 割込み優先度マスク全解除 */
+
+/*
+ *  構成定数とマクロ
+ */
+
+/*
+ *  サポートする機能
  */
 #ifdef TOPPERS_TARGET_SUPPORT_DIS_INT
-#define TOPPERS_SUPPORT_DIS_INT			/* dis_intªT|[g³êÄ¢é */
+#define TOPPERS_SUPPORT_DIS_INT			/* dis_intがサポートされている */
 #endif /* TOPPERS_TARGET_SUPPORT_DIS_INT */
 
 #ifdef TOPPERS_TARGET_SUPPORT_ENA_INT
-#define TOPPERS_SUPPORT_ENA_INT			/* ena_intªT|[g³êÄ¢é */
+#define TOPPERS_SUPPORT_ENA_INT			/* ena_intがサポートされている */
 #endif /* TOPPERS_TARGET_SUPPORT_ENA_INT */
 
 #ifdef TOPPERS_TARGET_SUPPORT_GET_UTM
-#define TOPPERS_SUPPORT_GET_UTM			/* get_utmªT|[g³êÄ¢é */
+#define TOPPERS_SUPPORT_GET_UTM			/* get_utmがサポートされている */
 #endif /* TOPPERS_TARGET_SUPPORT_GET_UTM */
 
-#define TOPPERS_SUPPORT_DYNAMIC_CRE		/* ®I¶¬@\g£ */
-
-/*
- *  DæxÌÍÍ
- */
-#define TMIN_TPRI		1			/* ^XNDæxÌÅ¬liÅlj*/
-#define TMAX_TPRI		16			/* ^XNDæxÌÅåliÅálj*/
-#define TMIN_DPRI		1			/* f[^DæxÌÅ¬liÅlj*/
-#define TMAX_DPRI		16			/* f[^DæxÌÅåliÅálj*/
-#define TMIN_MPRI		1			/* bZ[WDæxÌÅ¬liÅlj*/
-#define TMAX_MPRI		16			/* bZ[WDæxÌÅåliÅálj*/
-#define TMIN_ISRPRI		1			/* ÝT[rX[`DæxÌÅ¬l */
-#define TMAX_ISRPRI		16			/* ÝT[rX[`DæxÌÅål */
-
-/*
- *  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(0xf517)	/* J[ldlÌo[WÔ */
-#define TKERNEL_PRVER	UINT_C(0x1092)	/* J[lÌo[WÔ */
-
-/*
- *  L
-[COñÌÅål
- */
-#define TMAX_ACTCNT		UINT_C(1)		/* N®vL
-[COÌÅål */
-#define TMAX_WUPCNT		UINT_C(1)		/* N°vL
-[COÌÅål */
-
-/*
- *  rbgp^[Ìrbg
- */
-#ifndef TBIT_TEXPTN					/* ^XNáOvöÌrbg */
+#define TOPPERS_SUPPORT_DYNAMIC_CRE		/* 動的生成機能拡張 */
+
+/*
+ *  優先度の範囲
+ */
+#define TMIN_TPRI		1			/* タスク優先度の最小値（最高値）*/
+#define TMAX_TPRI		16			/* タスク優先度の最大値（最低値）*/
+#define TMIN_DPRI		1			/* データ優先度の最小値（最高値）*/
+#define TMAX_DPRI		16			/* データ優先度の最大値（最低値）*/
+#define TMIN_MPRI		1			/* メッセージ優先度の最小値（最高値）*/
+#define TMAX_MPRI		16			/* メッセージ優先度の最大値（最低値）*/
+#define TMIN_ISRPRI		1			/* 割込みサービスルーチン優先度の最小値 */
+#define TMAX_ISRPRI		16			/* 割込みサービスルーチン優先度の最大値 */
+
+/*
+ *  バージョン情報
+ */
+#define TKERNEL_MAKER	UINT_C(0x0118)	/* カーネルのメーカーコード */
+#define TKERNEL_PRID	UINT_C(0x0007)	/* カーネルの識別番号 */
+#define TKERNEL_SPVER	UINT_C(0xf517)	/* カーネル仕様のバージョン番号 */
+#define TKERNEL_PRVER	UINT_C(0x1092)	/* カーネルのバージョン番号 */
+
+/*
+ *  キューイング回数の最大値
+ */
+#define TMAX_ACTCNT		UINT_C(1)		/* 起動要求キューイング数の最大値 */
+#define TMAX_WUPCNT		UINT_C(1)		/* 起床要求キューイング数の最大値 */
+
+/*
+ *  ビットパターンのビット数
+ */
+#ifndef TBIT_TEXPTN					/* タスク例外要因のビット数 */
 #define TBIT_TEXPTN		(sizeof(TEXPTN) * CHAR_BIT)
 #endif /* TBIT_TEXPTN */
 
-#ifndef TBIT_FLGPTN					/* CxgtOÌrbg */
+#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
@@ -629,7 +600,7 @@
 
 /*
- *  »Ì¼Ì\¬è
- */
-#define TMAX_MAXSEM		UINT_MAX	/* Z}tHÌÅå¹ÌÅål */
+ *  その他の構成定数
+ */
+#define TMAX_MAXSEM		UINT_MAX	/* セマフォの最大資源数の最大値 */
 
 #ifdef __cplusplus
Index: UsbWattMeter/trunk/asp_dcre/include/log_output.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/include/log_output.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/include/log_output.h	(revision 167)
@@ -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$
@@ -45,5 +41,5 @@
 
 /*
- *		VXeOÌtH[}bgoÍ
+ *		システムログのフォーマット出力
  */
 
@@ -58,8 +54,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,
@@ -67,16 +63,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¶ñ
+ *  ログ情報喪失メッセージ文字列
  *
- *  lostlogÂÌOîñª¸íê½|ÌbZ[WðC1¶oÍÖputcð
- *  p¢ÄoÍ·éD
+ *  lostlog個のログ情報が失われた旨のメッセージを，1文字出力関数putcを
+ *  用いて出力する．
  */
 extern void	syslog_lostmsg(uint_t lostlog, void (*putc)(char)) throw();
Index: UsbWattMeter/trunk/asp_dcre/include/queue.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/include/queue.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/include/queue.h	(revision 167)
@@ -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$
@@ -45,24 +41,12 @@
 
 /*
- *		L
-[ìCu
- *
- *  ±ÌL
-[ìCuÅÍCL
-[wb_ðÜÞO\¢Ì_u
- *  NL
-[ðµ¤DïÌIÉÍCL
-[wb_ÌGgÍL
-[Ì
- *  æªÌGgCOGgÍL
-[ÌöÌGgÆ·éDÜ½CL
- *  
-[ÌæªÌGgÌOGgÆCL
-[ÌöÌGgÌG
- *  gÍCL
-[wb_Æ·éDóÌL
-[ÍCGgCOGgÆ
- *  à©ª©gðw·L
-[wb_Å çí·D
+ *		キュー操作ライブラリ
+ *
+ *  このキュー操作ライブラリでは，キューヘッダを含むリング構造のダブル
+ *  リンクキューを扱う．具体的には，キューヘッダの次エントリはキューの
+ *  先頭のエントリ，前エントリはキューの末尾のエントリとする．また，キ
+ *  ューの先頭のエントリの前エントリと，キューの末尾のエントリの次エン
+ *  トリは，キューヘッダとする．空のキューは，次エントリ，前エントリと
+ *  も自分自身を指すキューヘッダであらわす．
  */
 
@@ -75,18 +59,15 @@
 
 /*
- *  L
-[Ìf[^\¢Ìè`
+ *  キューのデータ構造の定義
  */
 typedef struct queue {
-	struct queue *p_next;		/* GgÖÌ|C^ */
-	struct queue *p_prev;		/* OGgÖÌ|C^ */
+	struct queue *p_next;		/* 次エントリへのポインタ */
+	struct queue *p_prev;		/* 前エントリへのポインタ */
 } QUEUE;
 
 /*
- *  L
-[Ìú»
- *
- *  p_queueÉÍL
-[wb_ðwè·éD
+ *  キューの初期化
+ *
+ *  p_queueにはキューヘッダを指定する．
  */
 Inline void
@@ -98,11 +79,8 @@
 
 /*
- *  L
-[ÌOGgÖÌ}ü
- *
- *  p_queueÌOÉp_entryð}ü·éDp_queueÉL
-[wb_ðwèµ½ê
- *  ÉÍCL
-[ÌöÉp_entryð}ü·é±ÆÉÈéD
+ *  キューの前エントリへの挿入
+ *
+ *  p_queueの前にp_entryを挿入する．p_queueにキューヘッダを指定した場
+ *  合には，キューの末尾にp_entryを挿入することになる．
  */
 Inline void
@@ -116,11 +94,8 @@
 
 /*
- *  L
-[ÌGgÖÌ}ü
- *
- *  p_queueÌÉp_entryð}ü·éDp_queueÉL
-[wb_ðwèµ½ê
- *  ÉÍCL
-[ÌæªÉp_entryð}ü·é±ÆÉÈéD
+ *  キューの次エントリへの挿入
+ *
+ *  p_queueの次にp_entryを挿入する．p_queueにキューヘッダを指定した場
+ *  合には，キューの先頭にp_entryを挿入することになる．
  */
 Inline void
@@ -134,8 +109,7 @@
 
 /*
- *  GgÌí
- *
- *  p_entryðL
-[©çí·éD
+ *  エントリの削除
+ *
+ *  p_entryをキューから削除する．
  */
 Inline void
@@ -147,16 +121,13 @@
 
 /*
- *  L
-[Ìñ
- *
- *  øp_topðL
-[Æ·éGgðæª©çñ·éB
- *  ÅÌÄoµÅÍAp_entryÉNULLðn·BÔlÍp_topÌÌGg(ÂÜèæª)Å éB
- *  ñÈ~ÍOñÉ¾½Ggðp_entryÉn·BÔlÍp_entryÌÌGgÆÈéB
- *  p_entryÌÌGgªp_top¾Á½Æ«ANULLðÔlÆµÄAL
-[ÌI[ð çí·B
- *  p_topÌNULL`FbNâp_entryÌÃ«ØÍsÁÄ¢È¢BÄoµ¤ÌÓCÅs¤±ÆB
- *  Ü½A¾¤ÜÅàÈ¢ªAXbhZ[tÉÍÈè¦È¢Bñ[vÍr¼Í
- *  Äoµ¤ÌÓCÅs¤±ÆB
+ *  キューの列挙
+ *
+ *  引数p_topをキューとするエントリを先頭から列挙する。
+ *  最初の呼出しでは、p_entryにNULLを渡す。返値はp_topの次のエントリ(つまり先頭)である。
+ *  次回以降は前回に得たエントリをp_entryに渡す。返値はp_entryの次のエントリとなる。
+ *  p_entryの次のエントリがp_topだったとき、NULLを返値として、キューの終端をあらわす。
+ *  p_topのNULLチェックやp_entryの妥当性検証は行っていない。呼出し側の責任で行うこと。
+ *  また、言うまでもないが、スレッドセーフにはなりえない。列挙ループ中は排他は
+ *  呼出し側の責任で行うこと。
  */
 Inline QUEUE *
@@ -176,15 +147,10 @@
 
 /*
- *  L
-[ÌGgÌæoµ
- *
- *  p_queueÌGgðL
-[©çíµCíµ½GgðÔ·D
- *  p_queueÉL
-[wb_ðwèµ½êÉÍCL
-[ÌæªÌGgð
- *  æèo·±ÆÉÈéDp_queueÉóÌL
-[ðwèµÄÄÑoµÄÍÈç
- *  È¢D
+ *  キューの次エントリの取出し
+ *
+ *  p_queueの次エントリをキューから削除し，削除したエントリを返す．
+ *  p_queueにキューヘッダを指定した場合には，キューの先頭のエントリを
+ *  取り出すことになる．p_queueに空のキューを指定して呼び出してはなら
+ *  ない．
  */
 Inline QUEUE *
@@ -201,13 +167,9 @@
 
 /*
- *  L
-[ÌGgÌ|C^ðæ¾
- *
- *  p_queue ÌGgðÔ·Dp_queue ÉL
-[wb_ðwèµ½êÉÍC
- *  L
-[ÌæªÌGgðæèo·±ÆÉÈéDp_queue ÉóÌL
-[ð
- *  wèµÄÄÑoµÄÍÈçÈ¢D
+ *  キューの次エントリのポインタを取得
+ *
+ *  p_queue の次エントリを返す．p_queue にキューヘッダを指定した場合には，
+ *  キューの先頭のエントリを取り出すことになる．p_queue に空のキューを
+ *  指定して呼び出してはならない．
  */
 Inline QUEUE *
@@ -220,9 +182,7 @@
 
 /*
- *  L
-[ªó©Ç¤©Ì`FbN
- *
- *  p_queueÉÍL
-[wb_ðwè·éD
+ *  キューが空かどうかのチェック
+ *
+ *  p_queueにはキューヘッダを指定する．
  */
 Inline bool_t
Index: UsbWattMeter/trunk/asp_dcre/include/sil.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/include/sil.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/include/sil.h	(revision 167)
@@ -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$
@@ -45,15 +41,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を定義しておくことで，マクロ定義以外の記述を
+ *  除くことができる．
+ *
+ *  このファイルをインクルードする前にインクルードしておくべきファイル
+ *  はない．
  */
 
@@ -66,10 +62,10 @@
 
 /*
- *	TOPPERS¤ÊÌf[^^EèE}N
+ *	TOPPERS共通のデータ型・定数・マクロ
  */
 #include <t_stddef.h>
 
 /*
- *  ^[QbgË¶
+ *  ターゲット依存部
  */
 #include "target_sil.h"
@@ -78,17 +74,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
@@ -104,10 +100,10 @@
 
 /*
- *  óÔANZXÖ
+ *  メモリ空間アクセス関数
  */
 #ifndef TOPPERS_OMIT_SIL_ACCESS
 
 /*
- *  8rbgPÊÌÇoµ^Ý
+ *  8ビット単位の読出し／書込み
  */
 #ifdef UINT8_MAX
@@ -131,5 +127,5 @@
 
 /*
- *  16rbgPÊÌÇoµ^Ý
+ *  16ビット単位の読出し／書込み
  */
 
@@ -149,5 +145,5 @@
 }
 
-#ifdef SIL_ENDIAN_BIG			/* rbOGfBAvZbT */
+#ifdef SIL_ENDIAN_BIG			/* ビッグエンディアンプロセッサ */
 
 #define	sil_reh_bem(mem)		sil_reh_mem(mem)
@@ -176,5 +172,5 @@
 #endif /* TOPPERS_OMIT_SIL_WRH_LEM */
 #else /* SIL_ENDIAN_BIG */
-#ifdef SIL_ENDIAN_LITTLE		/* gGfBAvZbT */
+#ifdef SIL_ENDIAN_LITTLE		/* リトルエンディアンプロセッサ */
 
 #define	sil_reh_lem(mem)		sil_reh_mem(mem)
@@ -210,5 +206,5 @@
 
 /*
- *  32rbgPÊÌÇoµ^Ý
+ *  32ビット単位の読出し／書込み
  */
 
@@ -228,5 +224,5 @@
 }
 
-#ifdef SIL_ENDIAN_BIG			/* rbOGfBAvZbT */
+#ifdef SIL_ENDIAN_BIG			/* ビッグエンディアンプロセッサ */
 
 #define	sil_rew_bem(mem)		sil_rew_mem(mem)
@@ -254,5 +250,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: UsbWattMeter/trunk/asp_dcre/include/t_stddef.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/include/t_stddef.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/include/t_stddef.h	(revision 167)
@@ -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$
@@ -45,17 +41,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を定義しておく．これにより，マクロ定義以外を
+ *  除くようになっている．
+ *
+ *  このファイルをインクルードする前にインクルードしておくべきファイル
+ *  はない．
  */
 
@@ -68,10 +64,10 @@
 
 /*
- *  ^[QbgË¶
+ *  ターゲット依存部
  */
 #include "target_stddef.h"
 
 /*
- *  C¾ê/EC++Åthrow()ÉÎ·é½ßÌè`
+ *  C言語/EC++でthrow()に対処するための定義
  */
 #if !defined(__cplusplus) || defined(__embedded_cplusplus)
@@ -82,12 +78,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 */
 
@@ -95,46 +91,46 @@
 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 uintptr_t		MB_T;		/* ÇÌæðmÛ·é½ßÌf[^^ */
-
-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 uintptr_t		MB_T;		/* 管理領域を確保するためのデータ型 */
+
+typedef	uint32_t		ACPTN;		/* アクセス許可パターン */
+typedef	struct acvct {				/* アクセス許可ベクタ */
+	ACPTN		acptn1;				/* 通常操作1のアクセス許可パターン */
+	ACPTN		acptn2;				/* 通常操作2のアクセス許可パターン */
+	ACPTN		acptn3;				/* 管理操作のアクセス許可パターン */
+	ACPTN		acptn4;				/* 参照操作のアクセス許可パターン */
 } ACVCT;
 
@@ -142,81 +138,80 @@
 
 /*
- *  ®èðìé}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
- *
- *  ÈºÌALIGN_TYPEÌè`ÍCACgÌPÊª2ÌÐæÅ é±Æð
- *  ¼èµÄ¢éD
+#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)	/* すべてのドメインからアクセスを許可 */
+
+/*
+ *  型に関する情報を取り出すためのマクロ
+ *
+ *  以下のALIGN_TYPEの定義は，アラインメントの単位が2の巾乗であることを
+ *  仮定している．
  */
 #ifndef offsetof
@@ -228,5 +223,5 @@
 #endif /* alignof */
 
-#ifndef ALIGN_TYPE				/* ACgÌ`FbN */
+#ifndef ALIGN_TYPE				/* アラインメントのチェック */
 #define ALIGN_TYPE(addr, type) \
 						((((uintptr_t)(addr)) & (alignof(type) - 1)) == 0U)
@@ -234,5 +229,5 @@
 
 /*
- *  assert}N
+ *  assertマクロ
  */
 #undef assert
@@ -249,12 +244,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
@@ -276,10 +271,10 @@
 
 /*
- *  ANZXÂp^[¶¬}N
- */
-#define TACP(domid)		(1U << ((domid) - 1))	/* domid¾¯ÉANZXðÂ */
-
-/*
- *  ÎÔiRELTIMjÉwèÅ«éÅål
+ *  アクセス許可パターン生成マクロ
+ */
+#define TACP(domid)		(1U << ((domid) - 1))	/* domidだけにアクセスを許可 */
+
+/*
+ *  相対時間（RELTIM）に指定できる最大値
  */
 #if UINT_MAX < LONG_MAX
Index: UsbWattMeter/trunk/asp_dcre/include/t_stdlib.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/include/t_stdlib.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/include/t_stdlib.h	(revision 167)
@@ -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$
@@ -45,5 +41,5 @@
 
 /*
- *		î{IÈCuÖ
+ *		基本的なライブラリ関数
  */
 
@@ -56,16 +52,16 @@
 
 /*
- *  G[bZ[W¶ñðÔ·Ö
+ *  エラーメッセージ文字列を返す関数
  *
- *  ercdÅwè³ê½G[R[hÌCG[R[hÌ¼ÌiE_PARC
- *  E_OBJÈÇjÌ¶ñðÔ·ÖD
+ *  ercdで指定されたエラーコードのメインエラーコードの名称（E_PAR，
+ *  E_OBJなど）の文字列を返す関数．
  */
 extern const char	*itron_strerror(ER ercd) throw();
 
 /*
- *  G[bZ[WÌOoÍ
+ *  エラーメッセージのログ出力
  *
- *  T[rXR[ªG[ðÔµ½êÉC»Ìt@C¼CsÔCC
- *  G[R[hð\¦·é½ßÌÖD
+ *  サービスコールがエラーを返した場合に，そのファイル名，行番号，メイ
+ *  ンエラーコード等を表示するための関数．
  */
 extern void		t_perror(uint_t prio, const char *file, int_t line,
Index: UsbWattMeter/trunk/asp_dcre/include/t_syslog.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/include/t_syslog.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/include/t_syslog.h	(revision 167)
@@ -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$
@@ -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,15 +123,15 @@
 
 /*
- *  pPbg`®Ìè`
+ *  パケット形式の定義
  */
 typedef struct t_syslog_rlog {
-	uint_t	count;		/* Oobt@ÌOÌ */
-	uint_t	lost;		/* ¸íê½OÌ */
-	uint_t	logmask;	/* Oobt@ÉL^·×«dvx */
-	uint_t	lowmask;	/* áxoÍ·×«dvx */
+	uint_t	count;		/* ログバッファ中のログの数 */
+	uint_t	lost;		/* 失われたログの数 */
+	uint_t	logmask;	/* ログバッファに記録すべき重要度 */
+	uint_t	lowmask;	/* 低レベル出力すべき重要度 */
 } T_SYSLOG_RLOG;
 
 /*
- *  OîñðoÍ·é½ßÌCuÖ
+ *  ログ情報を出力するためのライブラリ関数
  */
 
@@ -233,5 +229,5 @@
 
 /*
- *  OîñiRgjðoÍ·é½ßÌCuÖivasyslog.cj
+ *  ログ情報（コメント）を出力するためのライブラリ関数（vasyslog.c）
  */
 extern void syslog(uint_t prio, const char *format, ...) throw();
@@ -241,5 +237,5 @@
 
 /*
- *  VXeOoÍð}~·éê
+ *  システムログ出力を抑止する場合
  */
 
@@ -291,9 +287,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型に型変換できる任意の型でよい．
  */
 
@@ -324,5 +320,5 @@
 
 /*
- *  OîñiAT[VÌ¸sjðoÍ·é½ßÌ}N
+ *  ログ情報（アサーションの失敗）を出力するためのマクロ
  */
 #ifndef TOPPERS_assert_fail
Index: UsbWattMeter/trunk/asp_dcre/include/test_lib.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/include/test_lib.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/include/test_lib.h	(revision 167)
@@ -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$
@@ -43,5 +39,5 @@
 
 /* 
- *		eXgvOpCu
+ *		テストプログラム用ライブラリ
  */
 
@@ -56,45 +52,45 @@
 
 /*
- *  ^[QbgË¶Ìè`
+ *  ターゲット依存の定義
  */
 #include "target_test.h"
 
 /*
- *	©ÈffÖÌ^
+ *	自己診断関数の型
  */
 typedef ER (*BIT_FUNC)(void);
 
 /*
- *	©ÈffÖÌÝè
+ *	自己診断関数の設定
  */
 extern void	set_bit_func(BIT_FUNC bit_func);
 
 /*
- *  eXgvOÌJn
+ *  テストプログラムの開始
  */
 extern void	test_start(char *progname);
 
 /*
- *  VXeOÌoÍ
+ *  システムログの出力処理
  */
 extern void	syslog_flush(void);
 
 /*
- *	eXgvOÌI¹
+ *	テストプログラムの終了
  */
 extern void	test_finish(void);
 
 /*
- *	`FbN|Cg
+ *	チェックポイント
  */
 extern void	check_point(uint_t count);
 
 /*
- *	®¹`FbN|Cg
+ *	完了チェックポイント
  */
 extern void	check_finish(uint_t count);
 
 /*
- *	ð`FbN
+ *	条件チェック
  */
 extern void	_check_assert(const char *expr, const char *file, int_t line);
@@ -103,5 +99,5 @@
 
 /*
- *	G[R[h`FbN
+ *	エラーコードチェック
  */
 extern void	_check_ercd(ER ercd, const char *file, int_t line);
@@ -111,5 +107,5 @@
 
 /*
- *	VXeóÔÌ`FbN
+ *	システム状態のチェック
  */
 Inline void
@@ -124,5 +120,5 @@
 	if (!loc) {
 		/*
-		 *  IPMÌ`FbNÍCCPUbNðóÔÌêÉÌÝs¤D
+		 *  IPMのチェックは，CPUロック解除状態の場合にのみ行う．
 		 */
 		ercd = get_ipm(&intpri);
@@ -136,5 +132,5 @@
 
 /*
- *	VXeóÔÌ`FbNiñ^XNReLXgpj
+ *	システム状態のチェック（非タスクコンテキスト用）
  */
 Inline void
Index: UsbWattMeter/trunk/asp_dcre/kernel/alarm.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/alarm.c	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/kernel/alarm.c	(revision 167)
@@ -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$
@@ -46,5 +42,5 @@
 
 /*
- *		A[nh@\
+ *		アラームハンドラ機能
  */
 
@@ -54,5 +50,5 @@
 
 /*
- *  g[XO}NÌftHgè`
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_ALM_ENTER
@@ -121,5 +117,5 @@
 
 /*
- *  A[nhÌ
+ *  アラームハンドラの数
  */
 #define tnum_alm	((uint_t)(tmax_almid - TMIN_ALMID + 1))
@@ -127,5 +123,5 @@
 
 /*
- *  A[nhID©çA[nhÇubNðæèo·½ßÌ}N
+ *  アラームハンドラIDからアラームハンドラ管理ブロックを取り出すためのマクロ
  */
 #define INDEX_ALM(almid)	((uint_t)((almid) - TMIN_ALMID))
@@ -135,14 +131,13 @@
 
 /*
- *  gpµÄ¢È¢A[nhÇubNÌXg
+ *  使用していないアラームハンドラ管理ブロックのリスト
  *
- *  A[nhÇubNÌæªÉÍL
-[ÉÂÈ®½ßÌÌæªÈ
- *  ¢½ßC^CCxgubNitmevtbjÌÌæðp¢éD
+ *  アラームハンドラ管理ブロックの先頭にはキューにつなぐための領域がな
+ *  いため，タイムイベントブロック（tmevtb）の領域を用いる．
  */
 QUEUE	free_almcb;
 
 /*
- *  A[nh@\Ìú»
+ *  アラームハンドラ機能の初期化
  */
 void
@@ -171,5 +166,5 @@
 
 /*
- *  A[nhÌ¶¬
+ *  アラームハンドラの生成
  */
 #ifdef TOPPERS_acre_alm
@@ -213,5 +208,5 @@
 
 /*
- *  A[nhÌí
+ *  アラームハンドラの削除
  */
 #ifdef TOPPERS_del_alm
@@ -257,5 +252,5 @@
 
 /*
- *  A[nhÌ®ìJn
+ *  アラームハンドラの動作開始
  */
 #ifdef TOPPERS_sta_alm
@@ -298,5 +293,5 @@
 
 /*
- *  A[nhÌ®ìJniñ^XNReLXgpj
+ *  アラームハンドラの動作開始（非タスクコンテキスト用）
  */
 #ifdef TOPPERS_ista_alm
@@ -339,5 +334,5 @@
 
 /*
- *  A[nhÌ®ìâ~
+ *  アラームハンドラの動作停止
  */
 #ifdef TOPPERS_stp_alm
@@ -375,5 +370,5 @@
 
 /*
- *  A[nhÌ®ìâ~iñ^XNReLXgpj
+ *  アラームハンドラの動作停止（非タスクコンテキスト用）
  */
 #ifdef TOPPERS_istp_alm
@@ -411,5 +406,5 @@
 
 /*
- *  A[nhÌóÔQÆ
+ *  アラームハンドラの状態参照
  */
 #ifdef TOPPERS_ref_alm
@@ -450,5 +445,5 @@
 
 /*
- *  A[nhN®[`
+ *  アラームハンドラ起動ルーチン
  */
 #ifdef TOPPERS_almcal
@@ -460,10 +455,10 @@
 
 	/*
-	 *  A[nhðâ~óÔÉ·éD
+	 *  アラームハンドラを停止状態にする．
 	 */
 	p_almcb->almsta = false;
 
 	/*
-	 *  A[nhðCCPUbNðóÔÅÄÑo·D
+	 *  アラームハンドラを，CPUロック解除状態で呼び出す．
 	 */
 	saved_ipm = i_get_ipm();
Index: UsbWattMeter/trunk/asp_dcre/kernel/alarm.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/alarm.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/kernel/alarm.h	(revision 167)
@@ -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$
@@ -46,5 +42,5 @@
 
 /*
- *		A[nh@\
+ *		アラームハンドラ機能
  */
 
@@ -56,28 +52,28 @@
 
 /*
- *  A[nhú»ubN
+ *  アラームハンドラ初期化ブロック
  */
 typedef struct alarm_handler_initialization_block {
-	ATR			almatr;			/* A[nh®« */
-	intptr_t	exinf;			/* A[nhÌg£îñ */
-	ALMHDR		almhdr;			/* A[nhÌN®Ôn */
+	ATR			almatr;			/* アラームハンドラ属性 */
+	intptr_t	exinf;			/* アラームハンドラの拡張情報 */
+	ALMHDR		almhdr;			/* アラームハンドラの起動番地 */
 } ALMINIB;
 
 /*
- *  A[nhÇubN
+ *  アラームハンドラ管理ブロック
  */
 typedef struct alarm_handler_control_block {
-	const ALMINIB *p_alminib;	/* ú»ubNÖÌ|C^ */
-	bool_t		almsta;			/* A[nhÌ®ìóÔ */
-	TMEVTB		tmevtb;			/* ^CCxgubN */
+	const ALMINIB *p_alminib;	/* 初期化ブロックへのポインタ */
+	bool_t		almsta;			/* アラームハンドラの動作状態 */
+	TMEVTB		tmevtb;			/* タイムイベントブロック */
 } ALMCB;
 
 /*
- *  gpµÄ¢È¢A[nhÇubNÌXg
+ *  使用していないアラームハンドラ管理ブロックのリスト
  */
 extern QUEUE	free_almcb;
 
 /*
- *  A[nhIDÌÅålikernel_cfg.cj
+ *  アラームハンドラIDの最大値（kernel_cfg.c）
  */
 extern const ID	tmax_almid;
@@ -85,5 +81,5 @@
 
 /*
- *  A[nhú»ubNÌGAikernel_cfg.cj
+ *  アラームハンドラ初期化ブロックのエリア（kernel_cfg.c）
  */
 extern const ALMINIB	alminib_table[];
@@ -91,21 +87,21 @@
 
 /*
- *  A[nhÇubNÌGAikernel_cfg.cj
+ *  アラームハンドラ管理ブロックのエリア（kernel_cfg.c）
  */
 extern ALMCB	almcb_table[];
 
 /*
- *  A[nhÇubN©çA[nhIDðæèo·½ßÌ
- *  }N
+ *  アラームハンドラ管理ブロックからアラームハンドラIDを取り出すための
+ *  マクロ
  */
 #define	ALMID(p_almcb)	((ID)(((p_almcb) - almcb_table) + TMIN_ALMID))
 
 /*
- *  A[nh@\Ìú»
+ *  アラームハンドラ機能の初期化
  */
 extern void	initialize_alarm(void);
 
 /*
- *  A[nhN®[`
+ *  アラームハンドラ起動ルーチン
  */
 extern void	call_almhdr(ALMCB *p_almcb);
Index: UsbWattMeter/trunk/asp_dcre/kernel/allfunc.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/allfunc.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/kernel/allfunc.h	(revision 167)
@@ -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
- * 
- *  {\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$
@@ -44,5 +40,5 @@
 
 /*
- *		·×ÄÌÖðRpC·é½ßÌè`
+ *		すべての関数をコンパイルするための定義
  */
 
Index: UsbWattMeter/trunk/asp_dcre/kernel/check.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/check.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/kernel/check.h	(revision 167)
@@ -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$
@@ -46,5 +42,5 @@
 
 /*
- *		G[`FbNp}N
+ *		エラーチェック用マクロ
  */
 
@@ -53,5 +49,5 @@
 
 /*
- *  \ñ®«G[Ì`FbNiE_PARj
+ *  予約属性エラーのチェック（E_PAR）
  */
 #define CHECK_RSATR(atr, valid_atr) do {					\
@@ -63,5 +59,5 @@
 
 /*
- *  DæxÌÍÍÌ»è
+ *  優先度の範囲の判定
  */
 #define VALID_TPRI(tpri)	(TMIN_TPRI <= (tpri) && (tpri) <= TMAX_TPRI)
@@ -80,5 +76,5 @@
 
 /*
- *  ^XNDæxÌ`FbNiE_PARj
+ *  タスク優先度のチェック（E_PAR）
  */
 #define CHECK_TPRI(tpri) do {								\
@@ -104,5 +100,5 @@
 
 /*
- *  f[^DæxÌ`FbNiE_PARj
+ *  データ優先度のチェック（E_PAR）
  */
 #define CHECK_DPRI(dpri) do {								\
@@ -114,5 +110,5 @@
 
 /*
- *  bZ[WDæxÌ`FbNiE_PARj
+ *  メッセージ優先度のチェック（E_PAR）
  */
 #define CHECK_MPRI(mpri) do {								\
@@ -124,5 +120,5 @@
 
 /*
- *  ÝT[rX[`DæxÌ`FbNiE_PARj
+ *  割込みサービスルーチン優先度のチェック（E_PAR）
  */
 #define CHECK_ISRPRI(isrpri) do {							\
@@ -134,5 +130,5 @@
 
 /*
- *  ^CAEgwèlÌ`FbNiE_PARj
+ *  タイムアウト指定値のチェック（E_PAR）
  */
 #define CHECK_TMOUT(tmout) do {								\
@@ -144,5 +140,5 @@
 
 /*
- *  ÝDæxÌ`FbNiE_PARj
+ *  割込み優先度のチェック（E_PAR）
  */
 #define CHECK_INTPRI_CHGIPM(intpri) do {					\
@@ -154,5 +150,5 @@
 
 /*
- *  ÝÔÌ`FbNiE_PARj
+ *  割込み番号のチェック（E_PAR）
  */
 #define CHECK_INTNO_CREISR(intno) do {						\
@@ -171,5 +167,5 @@
 
 /*
- *  ACµÄ¢é©Ì»è
+ *  アラインしているかの判定
  */
 #define ALIGNED(val, align)		((((uintptr_t)(val)) & ((align) - 1U)) == 0U)
@@ -206,5 +202,5 @@
 
 /*
- *  NULLÅÈ¢±ÆÌ`FbN
+ *  NULLでないことのチェック
  */
 #ifdef CHECK_FUNC_NONNULL
@@ -215,5 +211,5 @@
 
 /*
- *  ÖÌæªÔnÌ`FbNiE_PARj
+ *  関数の先頭番地のチェック（E_PAR）
  */
 #define CHECK_ALIGN_FUNC(func) do {							\
@@ -232,5 +228,5 @@
 
 /*
- *  X^bNTCYÌ`FbNiE_PARj
+ *  スタックサイズのチェック（E_PAR）
  */
 #define CHECK_ALIGN_STKSZ(stksz) do {						\
@@ -242,5 +238,5 @@
 
 /*
- *  X^bNÌæªÔnÌ`FbNiE_PARj
+ *  スタックの先頭番地のチェック（E_PAR）
  */
 #define CHECK_ALIGN_STACK(stack) do {						\
@@ -252,5 +248,5 @@
 
 /*
- *  Åè·v[ÌæÌæªÔnÌ`FbNiE_PARj
+ *  固定長メモリプール領域の先頭番地のチェック（E_PAR）
  */
 #define CHECK_ALIGN_MPF(mpf) do {							\
@@ -262,5 +258,5 @@
 
 /*
- *  ÇÌæÌæªÔnÌ`FbNiE_PARj
+ *  管理領域の先頭番地のチェック（E_PAR）
  */
 #define CHECK_ALIGN_MB(mb) do {								\
@@ -272,5 +268,5 @@
 
 /*
- *  »Ì¼Ìp[^G[Ì`FbNiE_PARj
+ *  その他のパラメータエラーのチェック（E_PAR）
  */
 #define CHECK_PAR(exp) do {									\
@@ -282,5 +278,5 @@
 
 /*
- *  IuWFNgIDÌÍÍÌ»è
+ *  オブジェクトIDの範囲の判定
  */
 #define VALID_TSKID(tskid)	(TMIN_TSKID <= (tskid) && (tskid) <= tmax_tskid)
@@ -296,5 +292,5 @@
 
 /*
- *  IuWFNgIDÌ`FbNiE_IDj
+ *  オブジェクトIDのチェック（E_ID）
  */
 #define CHECK_TSKID(tskid) do {								\
@@ -376,5 +372,5 @@
 
 /*
- *  ÄoµReLXgÌ`FbNiE_CTXj
+ *  呼出しコンテキストのチェック（E_CTX）
  */
 #define CHECK_TSKCTX() do {									\
@@ -393,5 +389,5 @@
 
 /*
- *  ÄoµReLXgÆCPUbNóÔÌ`FbNiE_CTXj
+ *  呼出しコンテキストとCPUロック状態のチェック（E_CTX）
  */
 #define CHECK_TSKCTX_UNL() do {								\
@@ -410,5 +406,5 @@
 
 /*
- *  fBXpb`Û¯óÔÅÈ¢©Ì`FbNiE_CTXj
+ *  ディスパッチ保留状態でないかのチェック（E_CTX）
  */
 #define CHECK_DISPATCH() do {								\
@@ -420,5 +416,5 @@
 
 /*
- *  »Ì¼ÌReLXgG[Ì`FbNiE_CTXj
+ *  その他のコンテキストエラーのチェック（E_CTX）
  */
 #define CHECK_CTX(exp) do {									\
@@ -430,5 +426,5 @@
 
 /*
- *  ©^XNðwèµÄ¢È¢©Ì`FbNiE_ILUSEj
+ *  自タスクを指定していないかのチェック（E_ILUSE）
  */
 #define CHECK_NONSELF(p_tcb) do {							\
@@ -440,5 +436,5 @@
 
 /*
- *  »Ì¼Ìs³gpG[Ì`FbNiE_ILUSEj
+ *  その他の不正使用エラーのチェック（E_ILUSE）
  */
 #define CHECK_ILUSE(exp) do {								\
@@ -450,5 +446,5 @@
 
 /*
- *  ¢T|[g@\G[Ì`FbNiE_NOSPTj
+ *  未サポート機能エラーのチェック（E_NOSPT）
  */
 #define CHECK_NOSPT(exp) do {								\
@@ -460,5 +456,5 @@
 
 /*
- *  ÃIÈIuWFNgóÔG[Ì`FbNiE_OBJj
+ *  静的なオブジェクト状態エラーのチェック（E_OBJ）
  */
 #define CHECK_OBJ(exp) do {									\
Index: UsbWattMeter/trunk/asp_dcre/kernel/cyclic.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/cyclic.c	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/kernel/cyclic.c	(revision 167)
@@ -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$
@@ -46,5 +42,5 @@
 
 /*
- *		üúnh@\
+ *		周期ハンドラ機能
  */
 
@@ -54,5 +50,5 @@
 
 /*
- *  g[XO}NÌftHgè`
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_CYC_ENTER
@@ -105,5 +101,5 @@
 
 /*
- *  üúnhÌ
+ *  周期ハンドラの数
  */
 #define tnum_cyc	((uint_t)(tmax_cycid - TMIN_CYCID + 1))
@@ -111,5 +107,5 @@
 
 /*
- *  üúnhID©çüúnhÇubNðæèo·½ßÌ}N
+ *  周期ハンドラIDから周期ハンドラ管理ブロックを取り出すためのマクロ
  */
 #define INDEX_CYC(cycid)	((uint_t)((cycid) - TMIN_CYCID))
@@ -117,5 +113,5 @@
 
 /*
- *  üúnhN®Ì½ßÌ^CCxgubNÌo^
+ *  周期ハンドラ起動のためのタイムイベントブロックの登録
  */
 Inline void
@@ -130,14 +126,13 @@
 
 /*
- *  gpµÄ¢È¢üúnhÇubNÌXg
+ *  使用していない周期ハンドラ管理ブロックのリスト
  *
- *  üúnhÇubNÌæªÉÍL
-[ÉÂÈ®½ßÌÌæªÈ¢½
- *  ßC^CCxgubNitmevtbjÌÌæðp¢éD
+ *  周期ハンドラ管理ブロックの先頭にはキューにつなぐための領域がないた
+ *  め，タイムイベントブロック（tmevtb）の領域を用いる．
  */
 QUEUE	free_cyccb;
 
 /*
- *  üúnh@\Ìú»
+ *  周期ハンドラ機能の初期化
  */
 void
@@ -172,5 +167,5 @@
 
 /*
- *  üúnhÌ¶¬
+ *  周期ハンドラの生成
  */
 #ifdef TOPPERS_acre_cyc
@@ -225,5 +220,5 @@
 
 /*
- *  üúnhÌí
+ *  周期ハンドラの削除
  */
 #ifdef TOPPERS_del_cyc
@@ -269,5 +264,5 @@
 
 /*
- *  üúnhÌ®ìJn
+ *  周期ハンドラの動作開始
  */
 #ifdef TOPPERS_sta_cyc
@@ -308,5 +303,5 @@
 
 /*
- *  üúnhÌ®ìâ~
+ *  周期ハンドラの動作停止
  */
 #ifdef TOPPERS_stp_cyc
@@ -344,5 +339,5 @@
 
 /*
- *  üúnhÌóÔQÆ
+ *  周期ハンドラの状態参照
  */
 #ifdef TOPPERS_ref_cyc
@@ -383,5 +378,5 @@
 
 /*
- *  üúnhN®[`
+ *  周期ハンドラ起動ルーチン
  */
 #ifdef TOPPERS_cyccal
@@ -393,14 +388,14 @@
 
 	/*
-	 *  ñÌN®Ì½ßÌ^CCxgubNðo^·éD
+	 *  次回の起動のためのタイムイベントブロックを登録する．
 	 *
-	 *  ¯¶^CeBbNÅüúnhðÄxN®·×«êÉÍC±Ì
-	 *  Ö©çsignal_timeÉßÁ½ãÉCÄx±ÌÖªÄÎêé±ÆÉÈ
-	 *  éD
+	 *  同じタイムティックで周期ハンドラを再度起動すべき場合には，この
+	 *  関数からsignal_timeに戻った後に，再度この関数が呼ばれることにな
+	 *  る．
 	 */
 	tmevtb_enqueue_cyc(p_cyccb, p_cyccb->evttim + p_cyccb->p_cycinib->cyctim);
 
 	/*
-	 *  üúnhðCCPUbNðóÔÅÄÑo·D
+	 *  周期ハンドラを，CPUロック解除状態で呼び出す．
 	 */
 	saved_ipm = i_get_ipm();
Index: UsbWattMeter/trunk/asp_dcre/kernel/cyclic.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/cyclic.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/kernel/cyclic.h	(revision 167)
@@ -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$
@@ -46,5 +42,5 @@
 
 /*
- *		üúnh@\
+ *		周期ハンドラ機能
  */
 
@@ -56,31 +52,31 @@
 
 /*
- *  üúnhú»ubN
+ *  周期ハンドラ初期化ブロック
  */
 typedef struct cyclic_handler_initialization_block {
-	ATR			cycatr;			/* üúnh®« */
-	intptr_t	exinf;			/* üúnhÌg£îñ */
-	CYCHDR		cychdr;			/* üúnhÌN®Ôn */
-	RELTIM		cyctim;			/* üúnhÌN®üú */
-	RELTIM		cycphs;			/* üúnhÌN®Ê */
+	ATR			cycatr;			/* 周期ハンドラ属性 */
+	intptr_t	exinf;			/* 周期ハンドラの拡張情報 */
+	CYCHDR		cychdr;			/* 周期ハンドラの起動番地 */
+	RELTIM		cyctim;			/* 周期ハンドラの起動周期 */
+	RELTIM		cycphs;			/* 周期ハンドラの起動位相 */
 } CYCINIB;
 
 /*
- *  üúnhÇubN
+ *  周期ハンドラ管理ブロック
  */
 typedef struct cyclic_handler_control_block {
-	const CYCINIB *p_cycinib;	/* ú»ubNÖÌ|C^ */
-	bool_t		cycsta;			/* üúnhÌ®ìóÔ */
-	EVTTIM		evttim;			/* ÉüúnhðN®·é */
-	TMEVTB		tmevtb;			/* ^CCxgubN */
+	const CYCINIB *p_cycinib;	/* 初期化ブロックへのポインタ */
+	bool_t		cycsta;			/* 周期ハンドラの動作状態 */
+	EVTTIM		evttim;			/* 次に周期ハンドラを起動する時刻 */
+	TMEVTB		tmevtb;			/* タイムイベントブロック */
 } CYCCB;
 
 /*
- *  gpµÄ¢È¢üúnhÇubNÌXg
+ *  使用していない周期ハンドラ管理ブロックのリスト
  */
 extern QUEUE	free_cyccb;
 
 /*
- *  üúnhIDÌÅålikernel_cfg.cj
+ *  周期ハンドラIDの最大値（kernel_cfg.c）
  */
 extern const ID	tmax_cycid;
@@ -88,5 +84,5 @@
 
 /*
- *  üúnhú»ubNÌGAikernel_cfg.cj
+ *  周期ハンドラ初期化ブロックのエリア（kernel_cfg.c）
  */
 extern const CYCINIB	cycinib_table[];
@@ -94,20 +90,20 @@
 
 /*
- *  üúnhÇubNÌGAikernel_cfg.cj
+ *  周期ハンドラ管理ブロックのエリア（kernel_cfg.c）
  */
 extern CYCCB	cyccb_table[];
 
 /*
- *  üúnhÇubN©çüúnhIDðæèo·½ßÌ}N
+ *  周期ハンドラ管理ブロックから周期ハンドラIDを取り出すためのマクロ
  */
 #define	CYCID(p_cyccb)	((ID)(((p_cyccb) - cyccb_table) + TMIN_CYCID))
 
 /*
- *  üúnh@\Ìú»
+ *  周期ハンドラ機能の初期化
  */
 extern void	initialize_cyclic(void);
 
 /*
- *  üúnhN®[`
+ *  周期ハンドラ起動ルーチン
  */
 extern void	call_cychdr(CYCCB *p_cyccb);
Index: UsbWattMeter/trunk/asp_dcre/kernel/dataqueue.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/dataqueue.c	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/kernel/dataqueue.c	(revision 167)
@@ -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$
@@ -46,6 +42,5 @@
 
 /*
- *		f[^L
-[@\
+ *		データキュー機能
  */
 
@@ -57,5 +52,5 @@
 
 /*
- *  g[XO}NÌftHgè`
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_ACRE_DTQ_ENTER
@@ -164,6 +159,5 @@
 
 /*
- *  f[^L
-[Ì
+ *  データキューの数
  */
 #define tnum_dtq	((uint_t)(tmax_dtqid - TMIN_DTQID + 1))
@@ -171,7 +165,5 @@
 
 /*
- *  f[^L
-[ID©çf[^L
-[ÇubNðæèo·½ßÌ}N
+ *  データキューIDからデータキュー管理ブロックを取り出すためのマクロ
  */
 #define INDEX_DTQ(dtqid)	((uint_t)((dtqid) - TMIN_DTQID))
@@ -181,12 +173,10 @@
 
 /*
- *  gpµÄ¢È¢f[^L
-[ÇubNÌXg
+ *  使用していないデータキュー管理ブロックのリスト
  */
 QUEUE	free_dtqcb;
 
 /*
- *  f[^L
-[@\Ìú»
+ *  データキュー機能の初期化
  */
 void
@@ -219,6 +209,5 @@
 
 /*
- *  f[^L
-[ÇÌæÖÌf[^Ìi[
+ *  データキュー管理領域へのデータの格納
  */
 #ifdef TOPPERS_dtqenq
@@ -238,6 +227,5 @@
 
 /*
- *  f[^L
-[ÇÌæÖÌf[^Ì­§i[
+ *  データキュー管理領域へのデータの強制格納
  */
 #ifdef TOPPERS_dtqfenq
@@ -262,6 +250,5 @@
 
 /*
- *  f[^L
-[ÇÌæ©çÌf[^Ìæoµ
+ *  データキュー管理領域からのデータの取出し
  */
 #ifdef TOPPERS_dtqdeq
@@ -281,6 +268,5 @@
 
 /*
- *  f[^L
-[ÖÌf[^M
+ *  データキューへのデータ送信
  */
 #ifdef TOPPERS_dtqsnd
@@ -310,6 +296,5 @@
 
 /*
- *  f[^L
-[ÖÌf[^­§M
+ *  データキューへのデータ強制送信
  */
 #ifdef TOPPERS_dtqfsnd
@@ -334,6 +319,5 @@
 
 /*
- *  f[^L
-[©çÌf[^óM
+ *  データキューからのデータ受信
  */
 #ifdef TOPPERS_dtqrcv
@@ -372,6 +356,5 @@
 
 /*
- *  f[^L
-[Ì¶¬
+ *  データキューの生成
  */
 #ifdef TOPPERS_acre_dtq
@@ -432,6 +415,5 @@
 
 /*
- *  f[^L
-[Ìí
+ *  データキューの削除
  */
 #ifdef TOPPERS_del_dtq
@@ -483,6 +465,5 @@
 
 /*
- *  f[^L
-[ÖÌM
+ *  データキューへの送信
  */
 #ifdef TOPPERS_snd_dtq
@@ -528,6 +509,5 @@
 
 /*
- *  f[^L
-[ÖÌMi|[Oj
+ *  データキューへの送信（ポーリング）
  */
 #ifdef TOPPERS_psnd_dtq
@@ -568,6 +548,5 @@
 
 /*
- *  f[^L
-[ÖÌMi|[OCñ^XNReLXgpj
+ *  データキューへの送信（ポーリング，非タスクコンテキスト用）
  */
 #ifdef TOPPERS_ipsnd_dtq
@@ -608,6 +587,5 @@
 
 /*
- *  f[^L
-[ÖÌMi^CAEg èj
+ *  データキューへの送信（タイムアウトあり）
  */
 #ifdef TOPPERS_tsnd_dtq
@@ -659,6 +637,5 @@
 
 /*
- *  f[^L
-[ÖÌ­§M
+ *  データキューへの強制送信
  */
 #ifdef TOPPERS_fsnd_dtq
@@ -696,6 +673,5 @@
 
 /*
- *  f[^L
-[ÖÌ­§Miñ^XNReLXgpj
+ *  データキューへの強制送信（非タスクコンテキスト用）
  */
 #ifdef TOPPERS_ifsnd_dtq
@@ -733,6 +709,5 @@
 
 /*
- *  f[^L
-[©çÌóM
+ *  データキューからの受信
  */
 #ifdef TOPPERS_rcv_dtq
@@ -783,6 +758,5 @@
 
 /*
- *  f[^L
-[©çÌóMi|[Oj
+ *  データキューからの受信（ポーリング）
  */
 #ifdef TOPPERS_prcv_dtq
@@ -823,6 +797,5 @@
 
 /*
- *  f[^L
-[©çÌóMi^CAEg èj
+ *  データキューからの受信（タイムアウトあり）
  */
 #ifdef TOPPERS_trcv_dtq
@@ -878,6 +851,5 @@
 
 /*
- *  f[^L
-[ÌÄú»
+ *  データキューの再初期化
  */
 #ifdef TOPPERS_ini_dtq
@@ -922,6 +894,5 @@
 
 /*
- *  f[^L
-[ÌóÔQÆ
+ *  データキューの状態参照
  */
 #ifdef TOPPERS_ref_dtq
Index: UsbWattMeter/trunk/asp_dcre/kernel/dataqueue.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/dataqueue.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/kernel/dataqueue.h	(revision 167)
@@ -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$
@@ -46,6 +42,5 @@
 
 /*
- *		f[^L
-[@\
+ *		データキュー機能
  */
 
@@ -56,77 +51,61 @@
 
 /*
- *  f[^ÇubN
+ *  データ管理ブロック
  */
 typedef struct data_management_block {
-	intptr_t	data;			/* f[^{Ì */
+	intptr_t	data;			/* データ本体 */
 } DTQMB;
 
 /*
- *  f[^L
-[ú»ubN
+ *  データキュー初期化ブロック
  *
- *  ±Ì\¢ÌÍC¯úEÊMIuWFNgÌú»ubNÌ¤Êª
- *  iWOBJINIBjðg£iIuWFNgwü¾êÌp³Éjµ½àÌÅC
- *  ÅÌtB[hª¤ÊÉÈÁÄ¢éD
+ *  この構造体は，同期・通信オブジェクトの初期化ブロックの共通部分
+ *  （WOBJINIB）を拡張（オブジェクト指向言語の継承に相当）したもので，
+ *  最初のフィールドが共通になっている．
  */
 typedef struct dataqueue_initialization_block {
-	ATR			dtqatr;			/* f[^L
-[®« */
-	uint_t		dtqcnt;			/* f[^L
-[ÌeÊ */
-	DTQMB		*p_dtqmb;		/* f[^L
-[ÇÌæÌæªÔn */
+	ATR			dtqatr;			/* データキュー属性 */
+	uint_t		dtqcnt;			/* データキューの容量 */
+	DTQMB		*p_dtqmb;		/* データキュー管理領域の先頭番地 */
 } DTQINIB;
 
 /*
- *  f[^L
-[ÇubN
+ *  データキュー管理ブロック
  *
- *  ±Ì\¢ÌÍC¯úEÊMIuWFNgÌÇubNÌ¤ÊªiWOBJCBj
- *  ðg£iIuWFNgwü¾êÌp³Éjµ½àÌÅCÅÌ2ÂÌ
- *  tB[hª¤ÊÉÈÁÄ¢éD
+ *  この構造体は，同期・通信オブジェクトの管理ブロックの共通部分（WOBJCB）
+ *  を拡張（オブジェクト指向言語の継承に相当）したもので，最初の2つの
+ *  フィールドが共通になっている．
  */
 typedef struct dataqueue_control_block {
-	QUEUE		swait_queue;	/* f[^L
-[MÒ¿L
-[ */
-	const DTQINIB *p_dtqinib;	/* ú»ubNÖÌ|C^ */
-	QUEUE		rwait_queue;	/* f[^L
-[óMÒ¿L
-[ */
-	uint_t		count;			/* f[^L
-[Ìf[^Ì */
-	uint_t		head;			/* ÅÌf[^Ìi[ê */
-	uint_t		tail;			/* ÅãÌf[^Ìi[êÌ */
+	QUEUE		swait_queue;	/* データキュー送信待ちキュー */
+	const DTQINIB *p_dtqinib;	/* 初期化ブロックへのポインタ */
+	QUEUE		rwait_queue;	/* データキュー受信待ちキュー */
+	uint_t		count;			/* データキュー中のデータの数 */
+	uint_t		head;			/* 最初のデータの格納場所 */
+	uint_t		tail;			/* 最後のデータの格納場所の次 */
 } DTQCB;
 
 /*
- *  f[^L
-[Ò¿îñubNÌè`
+ *  データキュー待ち情報ブロックの定義
  *
- *  ±Ì\¢ÌÍC¯úEÊMIuWFNgÌÒ¿îñubNÌ¤Êª
- *  iWINFO_WOBJjðg£iIuWFNgwü¾êÌp³Éjµ½àÌÅC
- *  ÅÌ2ÂÌtB[hª¤ÊÉÈÁÄ¢éD
- *  f[^L
-[ÖÌMÒ¿Æf[^L
-[©çÌóMÒ¿ÅC¯¶Ò¿î
- *  ñubNðg¤D
+ *  この構造体は，同期・通信オブジェクトの待ち情報ブロックの共通部分
+ *  （WINFO_WOBJ）を拡張（オブジェクト指向言語の継承に相当）したもので，
+ *  最初の2つのフィールドが共通になっている．
+ *  データキューへの送信待ちとデータキューからの受信待ちで，同じ待ち情
+ *  報ブロックを使う．
  */
 typedef struct dataqueue_waiting_information {
-	WINFO		winfo;			/* WÌÒ¿îñubN */
-	DTQCB		*p_dtqcb;		/* ÒÁÄ¢éf[^L
-[ÌÇubN */
-	intptr_t	data;			/* óMf[^ */
+	WINFO		winfo;			/* 標準の待ち情報ブロック */
+	DTQCB		*p_dtqcb;		/* 待っているデータキューの管理ブロック */
+	intptr_t	data;			/* 送受信データ */
 } WINFO_DTQ;
 
 /*
- *  gpµÄ¢È¢f[^L
-[ÇubNÌXg
+ *  使用していないデータキュー管理ブロックのリスト
  */
 extern QUEUE	free_dtqcb;
 
 /*
- *  f[^L
-[IDÌÅålikernel_cfg.cj
+ *  データキューIDの最大値（kernel_cfg.c）
  */
 extern const ID	tmax_dtqid;
@@ -134,6 +113,5 @@
 
 /*
- *  f[^L
-[ú»ubNÌGAikernel_cfg.cj
+ *  データキュー初期化ブロックのエリア（kernel_cfg.c）
  */
 extern const DTQINIB	dtqinib_table[];
@@ -141,55 +119,45 @@
 
 /*
- *  f[^L
-[ÇubNÌGAikernel_cfg.cj
+ *  データキュー管理ブロックのエリア（kernel_cfg.c）
  */
 extern DTQCB	dtqcb_table[];
 
 /*
- *  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);
 
 /*
- *  f[^L
-[ÇÌæÖÌf[^Ìi[
+ *  データキュー管理領域へのデータの格納
  */
 extern void	enqueue_data(DTQCB *p_dtqcb, intptr_t data);
 
 /*
- *  f[^L
-[ÇÌæÖÌf[^Ì­§i[
+ *  データキュー管理領域へのデータの強制格納
  */
 extern void	force_enqueue_data(DTQCB *p_dtqcb, intptr_t data);
 
 /*
- *  f[^L
-[ÇÌæ©çÌf[^Ìæoµ
+ *  データキュー管理領域からのデータの取出し
  */
 extern void	dequeue_data(DTQCB *p_dtqcb, intptr_t *p_data);
 
 /*
- *  f[^L
-[ÖÌf[^M
+ *  データキューへのデータ送信
  */
 extern bool_t	send_data(DTQCB *p_dtqcb, intptr_t data, bool_t *p_dspreq);
 
 /*
- *  f[^L
-[ÖÌf[^­§M
+ *  データキューへのデータ強制送信
  */
 extern bool_t	force_send_data(DTQCB *p_dtqcb, intptr_t data);
 
 /*
- *  f[^L
-[©çÌf[^óM
+ *  データキューからのデータ受信
  */
 extern bool_t	receive_data(DTQCB *p_dtqcb, intptr_t *p_data,
Index: UsbWattMeter/trunk/asp_dcre/kernel/eventflag.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/eventflag.c	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/kernel/eventflag.c	(revision 167)
@@ -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$
@@ -46,5 +42,5 @@
 
 /*
- *		CxgtO@\
+ *		イベントフラグ機能
  */
 
@@ -56,5 +52,5 @@
 
 /*
- *  g[XO}NÌftHgè`
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_ACRE_FLG_ENTER
@@ -139,5 +135,5 @@
 
 /*
- *  CxgtOÌ
+ *  イベントフラグの数
  */
 #define tnum_flg	((uint_t)(tmax_flgid - TMIN_FLGID + 1))
@@ -145,5 +141,5 @@
 
 /*
- *  CxgtOID©çCxgtOÇubNðæèo·½ßÌ}N
+ *  イベントフラグIDからイベントフラグ管理ブロックを取り出すためのマクロ
  */
 #define INDEX_FLG(flgid)	((uint_t)((flgid) - TMIN_FLGID))
@@ -153,10 +149,10 @@
 
 /*
- *  gpµÄ¢È¢CxgtOÇubNÌXg
+ *  使用していないイベントフラグ管理ブロックのリスト
  */
 QUEUE	free_flgcb;
 
 /*
- *  CxgtO@\Ìú»
+ *  イベントフラグ機能の初期化
  */
 void
@@ -186,5 +182,5 @@
 
 /*
- *  CxgtOÒ¿ððÌ`FbN
+ *  イベントフラグ待ち解除条件のチェック
  */
 #ifdef TOPPERS_flgcnd
@@ -207,5 +203,5 @@
 
 /*
- *  CxgtOÌ¶¬
+ *  イベントフラグの生成
  */
 #ifdef TOPPERS_acre_flg
@@ -246,5 +242,5 @@
 
 /*
- *  CxgtOÌí
+ *  イベントフラグの削除
  */
 #ifdef TOPPERS_del_flg
@@ -290,5 +286,5 @@
 
 /*
- *  CxgtOÌZbg
+ *  イベントフラグのセット
  */
 #ifdef TOPPERS_set_flg
@@ -346,5 +342,5 @@
 
 /*
- *  CxgtOÌZbgiñ^XNReLXgpj
+ *  イベントフラグのセット（非タスクコンテキスト用）
  */
 #ifdef TOPPERS_iset_flg
@@ -398,5 +394,5 @@
 
 /*
- *  CxgtOÌNA
+ *  イベントフラグのクリア
  */
 #ifdef TOPPERS_clr_flg
@@ -431,5 +427,5 @@
 
 /*
- *  CxgtOÒ¿
+ *  イベントフラグ待ち
  */
 #ifdef TOPPERS_wai_flg
@@ -481,5 +477,5 @@
 
 /*
- *  CxgtOÒ¿i|[Oj
+ *  イベントフラグ待ち（ポーリング）
  */
 #ifdef TOPPERS_pol_flg
@@ -522,5 +518,5 @@
 
 /*
- *  CxgtOÒ¿i^CAEg èj
+ *  イベントフラグ待ち（タイムアウトあり）
  */
 #ifdef TOPPERS_twai_flg
@@ -578,5 +574,5 @@
 
 /*
- *  CxgtOÌÄú»
+ *  イベントフラグの再初期化
  */
 #ifdef TOPPERS_ini_flg
@@ -616,5 +612,5 @@
 
 /*
- *  CxgtOÌóÔQÆ
+ *  イベントフラグの状態参照
  */
 #ifdef TOPPERS_ref_flg
Index: UsbWattMeter/trunk/asp_dcre/kernel/eventflag.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/eventflag.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/kernel/eventflag.h	(revision 167)
@@ -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$
@@ -46,5 +42,5 @@
 
 /*
- *		CxgtO@\
+ *		イベントフラグ機能
  */
 
@@ -55,54 +51,53 @@
 
 /*
- *  CxgtOú»ubN
+ *  イベントフラグ初期化ブロック
  *
- *  ±Ì\¢ÌÍC¯úEÊMIuWFNgÌú»ubNÌ¤Êª
- *  iWOBJINIBjðg£iIuWFNgwü¾êÌp³Éjµ½àÌÅC
- *  ÅÌtB[hª¤ÊÉÈÁÄ¢éD
+ *  この構造体は，同期・通信オブジェクトの初期化ブロックの共通部分
+ *  （WOBJINIB）を拡張（オブジェクト指向言語の継承に相当）したもので，
+ *  最初のフィールドが共通になっている．
  */
 typedef struct eventflag_initialization_block {
-	ATR			flgatr;			/* CxgtO®« */
-	FLGPTN		iflgptn;		/* CxgtOÌrbgp^[Ìúl */
+	ATR			flgatr;			/* イベントフラグ属性 */
+	FLGPTN		iflgptn;		/* イベントフラグのビットパターンの初期値 */
 } FLGINIB;
 
 /*
- *  CxgtOÇubN
+ *  イベントフラグ管理ブロック
  *
- *  ±Ì\¢ÌÍC¯úEÊMIuWFNgÌÇubNÌ¤ÊªiWOBJCBj
- *  ðg£iIuWFNgwü¾êÌp³Éjµ½àÌÅCÅÌ2ÂÌ
- *  tB[hª¤ÊÉÈÁÄ¢éD
+ *  この構造体は，同期・通信オブジェクトの管理ブロックの共通部分（WOBJCB）
+ *  を拡張（オブジェクト指向言語の継承に相当）したもので，最初の2つの
+ *  フィールドが共通になっている．
  */
 typedef struct eventflag_control_block {
-	QUEUE		wait_queue;		/* CxgtOÒ¿L
-[ */
-	const FLGINIB *p_flginib;	/* ú»ubNÖÌ|C^ */
-	FLGPTN		flgptn;			/* CxgtO»Ýp^[ */
+	QUEUE		wait_queue;		/* イベントフラグ待ちキュー */
+	const FLGINIB *p_flginib;	/* 初期化ブロックへのポインタ */
+	FLGPTN		flgptn;			/* イベントフラグ現在パターン */
 } FLGCB;
 
 /*
- *  CxgtOÒ¿îñubNÌè`
+ *  イベントフラグ待ち情報ブロックの定義
  *
- *  ±Ì\¢ÌÍC¯úEÊMIuWFNgÌÒ¿îñubNÌ¤Êª
- *  iWINFO_WOBJjðg£iIuWFNgwü¾êÌp³Éjµ½àÌÅC
- *  ÅÌ2ÂÌtB[hª¤ÊÉÈÁÄ¢éD
+ *  この構造体は，同期・通信オブジェクトの待ち情報ブロックの共通部分
+ *  （WINFO_WOBJ）を拡張（オブジェクト指向言語の継承に相当）したもので，
+ *  最初の2つのフィールドが共通になっている．
  *
- *  flgptnÍCwaiptn¨æÑwfmodeÆ¯Ég¤±ÆÍÈ¢½ßC¤pÌðg
- *  ¦Îðßñ·é±ÆªÂ\Å éD
+ *  flgptnは，waiptnおよびwfmodeと同時に使うことはないため，共用体を使
+ *  えばメモリを節約することが可能である．
  */
 typedef struct eventflag_waiting_information {
-	WINFO		winfo;			/* WÌÒ¿îñubN */
-	FLGCB		*p_flgcb;		/* ÒÁÄ¢éCxgtOÌÇubN */
-	FLGPTN		waiptn;			/* Ò¿p^[ */
-	MODE		wfmode;			/* Ò¿[h */
-	FLGPTN		flgptn;			/* Ò¿ðÌp^[ */
+	WINFO		winfo;			/* 標準の待ち情報ブロック */
+	FLGCB		*p_flgcb;		/* 待っているイベントフラグの管理ブロック */
+	FLGPTN		waiptn;			/* 待ちパターン */
+	MODE		wfmode;			/* 待ちモード */
+	FLGPTN		flgptn;			/* 待ち解除時のパターン */
 } WINFO_FLG;
 
 /*
- *  gpµÄ¢È¢CxgtOÇubNÌXg
+ *  使用していないイベントフラグ管理ブロックのリスト
  */
 extern QUEUE	free_flgcb;
 
 /*
- *  CxgtOIDÌÅålikernel_cfg.cj
+ *  イベントフラグIDの最大値（kernel_cfg.c）
  */
 extern const ID	tmax_flgid;
@@ -110,5 +105,5 @@
 
 /*
- *  CxgtOú»ubNÌGAikernel_cfg.cj
+ *  イベントフラグ初期化ブロックのエリア（kernel_cfg.c）
  */
 extern const FLGINIB	flginib_table[];
@@ -116,20 +111,20 @@
 
 /*
- *  CxgtOÇubNÌGAikernel_cfg.cj
+ *  イベントフラグ管理ブロックのエリア（kernel_cfg.c）
  */
 extern FLGCB	flgcb_table[];
 
 /*
- *  CxgtOÇubN©çCxgtOIDðæèo·½ßÌ}N
+ *  イベントフラグ管理ブロックからイベントフラグIDを取り出すためのマクロ
  */
 #define	FLGID(p_flgcb)	((ID)(((p_flgcb) - flgcb_table) + TMIN_FLGID))
 
 /*
- *  CxgtO@\Ìú»
+ *  イベントフラグ機能の初期化
  */
 extern void	initialize_eventflag(void);
 
 /*
- *  CxgtOÒ¿ððÌ`FbN
+ *  イベントフラグ待ち解除条件のチェック
  */
 extern bool_t	check_flg_cond(FLGCB *p_flgcb, FLGPTN waiptn,
Index: UsbWattMeter/trunk/asp_dcre/kernel/exception.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/exception.c	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/kernel/exception.c	(revision 167)
@@ -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$
@@ -46,5 +42,5 @@
 
 /*
- *		CPUáOÇ@\
+ *		CPU例外管理機能
  */
 
@@ -54,5 +50,5 @@
 
 /*
- *  g[XO}NÌftHgè`
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_XSNS_DPN_ENTER
@@ -73,5 +69,5 @@
 
 /* 
- *  CPUáOnhÇ@\Ìú»
+ *  CPU例外ハンドラ管理機能の初期化
  */
 #ifdef TOPPERS_excini
@@ -93,12 +89,12 @@
 
 /*
- *  CPUáOÌ­¶µ½ReLXgÌQÆ
+ *  CPU例外の発生したコンテキストの参照
  */
 
 /*
- *  CPUáO­¶ÌfBXpb`Û¯óÔÌQÆ
+ *  CPU例外発生時のディスパッチ保留状態の参照
  *
- *  CPUáOnhÅdisdspªÏ»·é±ÆÍÈ¢½ßCCPUáOª­¶µ
- *  ½ÌdisdspðÛ¶µÄ¨­KvÍÈ¢D
+ *  CPU例外ハンドラ中でdisdspが変化することはないため，CPU例外が発生し
+ *  た時のdisdspを保存しておく必要はない．
  */
 #ifdef TOPPERS_xsns_dpn
@@ -118,9 +114,9 @@
 
 /*
- *  CPUáO­¶Ì^XNáOÛ¯óÔÌQÆ
+ *  CPU例外発生時のタスク例外処理保留状態の参照
  *
- *  CPUáOnhÅp_runtskÆp_runtsk->enatexªÏ»·é±ÆÍÈ¢
- *  ½ßCCPUáOª­¶µ½Ìp_runtsk->enatexðÛ¶µÄ¨­KvÍÈ
- *  ¢D
+ *  CPU例外ハンドラ中でp_runtskとp_runtsk->enatexが変化することはない
+ *  ため，CPU例外が発生した時のp_runtsk->enatexを保存しておく必要はな
+ *  い．
  */
 #ifdef TOPPERS_xsns_xpn
Index: UsbWattMeter/trunk/asp_dcre/kernel/exception.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/exception.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/kernel/exception.h	(revision 167)
@@ -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$
@@ -46,5 +42,5 @@
 
 /*
- *		CPUáOÇ@\
+ *		CPU例外管理機能
  */
 
@@ -55,19 +51,19 @@
 
 /*
- *  CPUáOnhú»ubN
+ *  CPU例外ハンドラ初期化ブロック
  */
 typedef struct cpu_exception_handler_initialization_block {
-	EXCNO		excno;			/* CPUáOnhÔ */
-	ATR			excatr;			/* CPUáOnh®« */
-	FP			exc_entry;		/* CPUáOnhÌoüûÌÔn */
+	EXCNO		excno;			/* CPU例外ハンドラ番号 */
+	ATR			excatr;			/* CPU例外ハンドラ属性 */
+	FP			exc_entry;		/* CPU例外ハンドラの出入口処理の番地 */
 } EXCINIB;
 
 /*
- *  CPUáOnhÔÌikernel_cfg.cj
+ *  CPU例外ハンドラ番号の数（kernel_cfg.c）
  */
 extern const uint_t	tnum_excno;
 
 /*
- *  CPUáOnhú»ubNÌGAikernel_cfg.cj
+ *  CPU例外ハンドラ初期化ブロックのエリア（kernel_cfg.c）
  */
 extern const EXCINIB	excinib_table[];
@@ -76,5 +72,5 @@
 
 /*
- *  CPUáOnhÇ@\Ìú»
+ *  CPU例外ハンドラ管理機能の初期化
  */
 extern void	initialize_exception(void);
Index: UsbWattMeter/trunk/asp_dcre/kernel/genoffset.tf
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/genoffset.tf	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/kernel/genoffset.tf	(revision 167)
@@ -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$
@@ -46,5 +42,5 @@
 
 $ 
-$  #definefBNeBuÌ¶¬
+$  #defineディレクティブの生成
 $ 
 $FUNCTION DEFINE$
@@ -53,5 +49,5 @@
 
 $ 
-$  rbgÌT[`
+$  ビットのサーチ
 $ 
 $FUNCTION SEARCH_BIT$
@@ -66,5 +62,5 @@
 
 $ 
-$  rbgtB[hÌItZbgÆrbgÊuÌè`Ì¶¬
+$  ビットフィールドのオフセットとビット位置の定義の生成
 $ 
 $FUNCTION DEFINE_BIT$
@@ -115,5 +111,5 @@
 
 $ 
-$  oCgzuÌ`FbN
+$  バイト配置のチェック
 $ 
 $FUNCTION MAGIC_CHECK$
@@ -144,5 +140,5 @@
 
 $ 
-$  t@Cwb_Ì¶¬
+$  ファイルヘッダの生成
 $ 
 $FILE "offset.h"$
Index: UsbWattMeter/trunk/asp_dcre/kernel/interrupt.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/interrupt.c	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/kernel/interrupt.c	(revision 167)
@@ -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$
@@ -46,5 +42,5 @@
 
 /*
- *		ÝÇ@\
+ *		割込み管理機能
  */
 
@@ -55,5 +51,5 @@
 
 /*
- *  g[XO}NÌftHgè`
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_ISR_ENTER
@@ -114,11 +110,11 @@
 
 /*
- *  ÝT[rX[`Ì
+ *  割込みサービスルーチンの数
  */
 #define tnum_isr	((uint_t)(tmax_isrid - TMIN_SEMID + 1) + tnum_sisr)
 
 /*
- *  ÝT[rX[`ID©çÝT[rX[`ÇubNðæ
- *  èo·½ßÌ}N
+ *  割込みサービスルーチンIDから割込みサービスルーチン管理ブロックを取
+ *  り出すためのマクロ
  */
 #define INDEX_ISR(isrid)	((uint_t)((isrid) - TMIN_ISRID) + tnum_sisr)
@@ -126,6 +122,5 @@
 
 /*
- *  ÝT[rX[`L
-[ÖÌo^
+ *  割込みサービスルーチンキューへの登録
  */
 Inline void
@@ -147,10 +142,10 @@
 
 /*
- *  gpµÄ¢È¢ÝT[rX[`ÇubNÌXg
+ *  使用していない割込みサービスルーチン管理ブロックのリスト
  */
 QUEUE	free_isrcb;
 
 /* 
- *  ÝT[rX[`@\Ìú»
+ *  割込みサービスルーチン機能の初期化
  */
 void
@@ -182,5 +177,5 @@
 
 /*
- *  ÝT[rX[`ÌÄoµ
+ *  割込みサービスルーチンの呼出し
  */
 #ifdef TOPPERS_isrcal
@@ -202,5 +197,5 @@
 
 		if (p_queue->p_next != p_isr_queue) {
-			/* ISRÌÄoµOÌóÔÉß· */
+			/* ISRの呼出し前の状態に戻す */
 			if (i_sense_lock()) {
 				i_unlock_cpu();
@@ -214,6 +209,5 @@
 
 /*
- *  ÝT[rX[`ÄoµL
-[Ìõ
+ *  割込みサービスルーチン呼出しキューの検索
  */
 Inline QUEUE *
@@ -246,5 +240,5 @@
 
 /*
- *  ÝT[rX[`Ì¶¬
+ *  割込みサービスルーチンの生成
  */
 #ifdef TOPPERS_acre_isr
@@ -295,5 +289,5 @@
 
 /*
- *  ÝT[rX[`Ìí
+ *  割込みサービスルーチンの削除
  */
 #ifdef TOPPERS_del_isr
@@ -332,5 +326,5 @@
 
 /* 
- *  ÝÇ@\Ìú»
+ *  割込み管理機能の初期化
  */
 #ifdef TOPPERS_intini
@@ -358,5 +352,5 @@
 
 /*
- *  ÝÌÖ~
+ *  割込みの禁止
  */
 #ifdef TOPPERS_dis_int
@@ -396,5 +390,5 @@
 
 /*
- *  ÝÌÂ
+ *  割込みの許可
  */
 #ifdef TOPPERS_ena_int
@@ -434,5 +428,5 @@
 
 /*
- *  ÝDæx}XNÌÏX
+ *  割込み優先度マスクの変更
  */
 #ifdef TOPPERS_chg_ipm
@@ -476,5 +470,5 @@
 
 /*
- *  ÝDæx}XNÌQÆ
+ *  割込み優先度マスクの参照
  */
 #ifdef TOPPERS_get_ipm
Index: UsbWattMeter/trunk/asp_dcre/kernel/interrupt.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/interrupt.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/kernel/interrupt.h	(revision 167)
@@ -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$
@@ -46,5 +42,5 @@
 
 /*
- *		ÝÇ@\
+ *		割込み管理機能
  */
 
@@ -53,65 +49,58 @@
 
 /*
- *  ÝT[rX[`ú»ubN
+ *  割込みサービスルーチン初期化ブロック
  */
 typedef struct isr_initialization_block {
-	ATR			isratr;			/* ÝT[rX[`®« */
-	intptr_t	exinf;			/* ÝT[rX[`Ìg£îñ */
-	INTNO		intno;			/* ÝT[rX[`ðo^·éÝÔ */
-	QUEUE		*p_isr_queue;	/* o^æÝT[rX[`L
-[ÌÔn */
-	ISR			isr;			/* ÝT[rX[`ÌæªÔn */
-	PRI			isrpri;			/* ÝT[rX[`Dæx */
+	ATR			isratr;			/* 割込みサービスルーチン属性 */
+	intptr_t	exinf;			/* 割込みサービスルーチンの拡張情報 */
+	INTNO		intno;			/* 割込みサービスルーチンを登録する割込み番号 */
+	QUEUE		*p_isr_queue;	/* 登録先割込みサービスルーチンキューの番地 */
+	ISR			isr;			/* 割込みサービスルーチンの先頭番地 */
+	PRI			isrpri;			/* 割込みサービスルーチン優先度 */
 } ISRINIB;
 
 /*
- *  ÝT[rX[`ÇubN
+ *  割込みサービスルーチン管理ブロック
  */
 typedef struct isr_control_block {
-	QUEUE		isr_queue;		/* ÝT[rX[`ÄoµL
-[ */
-	const ISRINIB *p_isrinib;	/* ú»ubNÖÌ|C^ */
+	QUEUE		isr_queue;		/* 割込みサービスルーチン呼出しキュー */
+	const ISRINIB *p_isrinib;	/* 初期化ブロックへのポインタ */
 } ISRCB;
 
 /*
- *  ÝT[rX[`ÄoµL
-[ðõ·é½ßÌf[^\¢
+ *  割込みサービスルーチン呼出しキューを検索するためのデータ構造
  */
 typedef struct {
-	INTNO		intno;			/* ÝÔ */
-	QUEUE		*p_isr_queue;	/* ÝT[rX[`ÄoµL
-[ */
+	INTNO		intno;			/* 割込み番号 */
+	QUEUE		*p_isr_queue;	/* 割込みサービスルーチン呼出しキュー */
 } ISR_ENTRY;
 
 /*
- *  ÝT[rX[`L
-[ÌGgikernel_cfg.cj
+ *  割込みサービスルーチンキューのエントリ数（kernel_cfg.c）
  */
 extern const uint_t tnum_isr_queue;
 
 /*
- *  ÝT[rX[`L
-[Xgikernel_cfg.cj
+ *  割込みサービスルーチンキューリスト（kernel_cfg.c）
  */
 extern const ISR_ENTRY isr_queue_list[];
 
 /*
- *  ÝT[rX[`L
-[ÌGAikernel_cfg.cj
+ *  割込みサービスルーチンキューのエリア（kernel_cfg.c）
  */
 extern QUEUE isr_queue_table[];
 
 /*
- *  gpµÄ¢È¢ÝT[rX[`ÇubNÌXg
+ *  使用していない割込みサービスルーチン管理ブロックのリスト
  */
 extern QUEUE	free_isrcb;
 
 /*
- *  ÝT[rX[`IDÌÅålikernel_cfg.cj
+ *  割込みサービスルーチンIDの最大値（kernel_cfg.c）
  *
- *  ÃIÉ¶¬³êéÝT[rX[`ÍIDÔð½È¢½ßC
- *  tmax_isridÍ®IÉ¶¬³êéÝT[rX[`ÌIDÔÌÅål
- *  Å éDÃIÉ¶¬³êéÝT[rX[`ÌÍCtnum_sisrÉÛ
- *  ·éD
+ *  静的に生成される割込みサービスルーチンはID番号を持たないため，
+ *  tmax_isridは動的に生成される割込みサービスルーチンのID番号の最大値
+ *  である．静的に生成される割込みサービスルーチンの数は，tnum_sisrに保
+ *  持する．
  */
 extern const ID		tmax_isrid;
@@ -119,5 +108,5 @@
 
 /*
- *  ÝT[rX[`ú»ubNÌGAikernel_cfg.cj
+ *  割込みサービスルーチン初期化ブロックのエリア（kernel_cfg.c）
  */
 extern const ISRINIB	sisrinib_table[];
@@ -125,11 +114,11 @@
 
 /*
- *  ÝT[rX[`ÇubNÌGAikernel_cfg.cj
+ *  割込みサービスルーチン管理ブロックのエリア（kernel_cfg.c）
  */
 extern ISRCB	isrcb_table[];
 
 /*
- *  ÝT[rX[`ÇubN©çÝT[rX[`IDðæ
- *  èo·½ßÌ}N
+ *  割込みサービスルーチン管理ブロックから割込みサービスルーチンIDを取
+ *  り出すためのマクロ
  */
 #define	ISRID(p_isrcb)	((ID)(((p_isrcb) - isrcb_table) \
@@ -137,10 +126,10 @@
 
 /*
- *  ÝT[rX[`@\Ìú»
+ *  割込みサービスルーチン機能の初期化
  */
 extern void initialize_isr(void);
 
 /*
- *  ÝT[rX[`ÌÄoµ
+ *  割込みサービスルーチンの呼出し
  */
 extern void call_isr(QUEUE *p_isr_queue);
@@ -149,38 +138,38 @@
 
 /*
- *  Ýnhú»ubN
+ *  割込みハンドラ初期化ブロック
  */
 typedef struct interrupt_handler_initialization_block {
-	INHNO		inhno;			/* ÝnhÔ */
-	ATR			inhatr;			/* Ýnh®« */
-	FP			int_entry;		/* ÝnhÌoüûÌÔn */
+	INHNO		inhno;			/* 割込みハンドラ番号 */
+	ATR			inhatr;			/* 割込みハンドラ属性 */
+	FP			int_entry;		/* 割込みハンドラの出入口処理の番地 */
 } INHINIB;
 
 /*
- *  ÝvCú»ubN
+ *  割込み要求ライン初期化ブロック
  */
 typedef struct interrupt_request_initialization_block {
-	INTNO		intno;			/* ÝÔ */
-	ATR			intatr;			/* Ý®« */
-	PRI			intpri;			/* ÝDæx */
+	INTNO		intno;			/* 割込み番号 */
+	ATR			intatr;			/* 割込み属性 */
+	PRI			intpri;			/* 割込み優先度 */
 } INTINIB;
 
 /*
- *  ÝnhÔÌikernel_cfg.cj
+ *  割込みハンドラ番号の数（kernel_cfg.c）
  */
 extern const uint_t	tnum_inhno;
 
 /*
- *  Ýnhú»ubNÌGAikernel_cfg.cj
+ *  割込みハンドラ初期化ブロックのエリア（kernel_cfg.c）
  */
 extern const INHINIB	inhinib_table[];
 
 /*
- *  ÝvCÌikernel_cfg.cj
+ *  割込み要求ラインの数（kernel_cfg.c）
  */
 extern const uint_t	tnum_intno;
 
 /*
- *  ÝvCú»ubNÌGAikernel_cfg.cj
+ *  割込み要求ライン初期化ブロックのエリア（kernel_cfg.c）
  */
 extern const INTINIB	intinib_table[];
@@ -189,5 +178,5 @@
 
 /*
- *  ÝÇ@\Ìú»
+ *  割込み管理機能の初期化
  */
 extern void	initialize_interrupt(void);
Index: UsbWattMeter/trunk/asp_dcre/kernel/kernel.tf
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/kernel.tf	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/kernel/kernel.tf	(revision 167)
@@ -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$
@@ -47,10 +43,10 @@
 
 $ =====================================================================
-$ AID_YYYÌ
+$ AID_YYYの処理
 $ =====================================================================
 
 $num_atskid = 0$
 $FOREACH i ATSK.ORDER_LIST$
-$	// notskªÌêiE_PARj
+$	// notskが負の場合（E_PAR）
 	$IF ATSK.NOTSK[i] < 0$
 		$ERROR ATSK.TEXT_LINE[i]$E_PAR: $FORMAT(_("illegal %1% `%2%\' in %3%"), "notsk", ATSK.NOTSK[i], "AID_TSK")$$END$
@@ -62,5 +58,5 @@
 $num_asemid = 0$
 $FOREACH i ASEM.ORDER_LIST$
-$	// nosemªÌêiE_PARj
+$	// nosemが負の場合（E_PAR）
 	$IF ASEM.NOSEM[i] < 0$
 		$ERROR ASEM.TEXT_LINE[i]$E_PAR: $FORMAT(_("illegal %1% `%2%\' in %3%"), "nosem", ASEM.NOSEM[i], "AID_SEM")$$END$
@@ -72,5 +68,5 @@
 $num_aflgid = 0$
 $FOREACH i AFLG.ORDER_LIST$
-$	// noflgªÌêiE_PARj
+$	// noflgが負の場合（E_PAR）
 	$IF AFLG.NOFLG[i] < 0$
 		$ERROR AFLG.TEXT_LINE[i]$E_PAR: $FORMAT(_("illegal %1% `%2%\' in %3%"), "noflg", AFLG.NOFLG[i], "AID_FLG")$$END$
@@ -82,5 +78,5 @@
 $num_adtqid = 0$
 $FOREACH i ADTQ.ORDER_LIST$
-$	// nodtqªÌêiE_PARj
+$	// nodtqが負の場合（E_PAR）
 	$IF ADTQ.NODTQ[i] < 0$
 		$ERROR ADTQ.TEXT_LINE[i]$E_PAR: $FORMAT(_("illegal %1% `%2%\' in %3%"), "nodtq", ADTQ.NODTQ[i], "AID_DTQ")$$END$
@@ -92,5 +88,5 @@
 $num_apdqid = 0$
 $FOREACH i APDQ.ORDER_LIST$
-$	// nopdqªÌêiE_PARj
+$	// nopdqが負の場合（E_PAR）
 	$IF APDQ.NOPDQ[i] < 0$
 		$ERROR APDQ.TEXT_LINE[i]$E_PAR: $FORMAT(_("illegal %1% `%2%\' in %3%"), "nopdq", APDQ.NOPDQ[i], "AID_PDQ")$$END$
@@ -102,5 +98,5 @@
 $num_ambxid = 0$
 $FOREACH i AMBX.ORDER_LIST$
-$	// nombxªÌêiE_PARj
+$	// nombxが負の場合（E_PAR）
 	$IF AMBX.NOMBX[i] < 0$
 		$ERROR AMBX.TEXT_LINE[i]$E_PAR: $FORMAT(_("illegal %1% `%2%\' in %3%"), "nombx", AMBX.NOMBX[i], "AID_MBX")$$END$
@@ -112,5 +108,5 @@
 $num_ampfid = 0$
 $FOREACH i AMPF.ORDER_LIST$
-$	// nompfªÌêiE_PARj
+$	// nompfが負の場合（E_PAR）
 	$IF AMPF.NOMPF[i] < 0$
 		$ERROR AMPF.TEXT_LINE[i]$E_PAR: $FORMAT(_("illegal %1% `%2%\' in %3%"), "nompf", AMPF.NOMPF[i], "AID_MPF")$$END$
@@ -122,5 +118,5 @@
 $num_acycid = 0$
 $FOREACH i ACYC.ORDER_LIST$
-$	// nocycªÌêiE_PARj
+$	// nocycが負の場合（E_PAR）
 	$IF ACYC.NOCYC[i] < 0$
 		$ERROR ACYC.TEXT_LINE[i]$E_PAR: $FORMAT(_("illegal %1% `%2%\' in %3%"), "nocyc", ACYC.NOCYC[i], "AID_CYC")$$END$
@@ -132,5 +128,5 @@
 $num_aalmid = 0$
 $FOREACH i AALM.ORDER_LIST$
-$	// noalmªÌêiE_PARj
+$	// noalmが負の場合（E_PAR）
 	$IF AALM.NOALM[i] < 0$
 		$ERROR AALM.TEXT_LINE[i]$E_PAR: $FORMAT(_("illegal %1% `%2%\' in %3%"), "noalm", AALM.NOALM[i], "AID_ALM")$$END$
@@ -142,5 +138,5 @@
 $num_aisrid = 0$
 $FOREACH i AISR.ORDER_LIST$
-$	// noisrªÌêiE_PARj
+$	// noisrが負の場合（E_PAR）
 	$IF AISR.NOISR[i] < 0$
 		$ERROR AISR.TEXT_LINE[i]$E_PAR: $FORMAT(_("illegal %1% `%2%\' in %3%"), "noisr", AISR.NOISR[i], "AID_ISR")$$END$
@@ -152,5 +148,5 @@
 
 $ =====================================================================
-$ kernel_cfg.hÌ¶¬
+$ kernel_cfg.hの生成
 $ =====================================================================
 
@@ -202,5 +198,5 @@
 
 $ =====================================================================
-$ kernel_cfg.cÌ¶¬
+$ kernel_cfg.cの生成
 $ =====================================================================
 
@@ -216,5 +212,5 @@
 
 $ 
-$  CN[hfBNeBui#includej
+$  インクルードディレクティブ（#include）
 $ 
 /*$NL$
@@ -226,5 +222,5 @@
 
 $ 
-$  IuWFNgÌIDÔðÛ·éÏ
+$  オブジェクトのID番号を保持する変数
 $ 
 $IF USE_EXTERNAL_ID$
@@ -263,5 +259,5 @@
 
 $ 
-$  ^XN
+$  タスク
 $ 
 /*$NL$
@@ -270,31 +266,31 @@
 $NL$
 
-$ ÃIÉ¶¬³ê½^XNª1ÂÈã¶Ý·é±ÆÌ`FbN
+$ 静的に生成されたタスクが1個以上存在することのチェック
 $IF !LENGTH(TSK.ID_LIST)$
 	$ERROR$$FORMAT(_("no task is registered"))$$END$
 $END$
 
-$ ÃIÉ¶¬³ê½^XNÌ
+$ 静的に生成されたタスクの数
 #define TNUM_STSKID	$LENGTH(TSK.ID_LIST)$$NL$
 $NL$
 
-$ ^XNIDÔÌÅål
+$ タスクID番号の最大値
 const ID _kernel_tmax_tskid = (TMIN_TSKID + TNUM_TSKID - 1);$NL$
 const ID _kernel_tmax_stskid = (TMIN_TSKID + TNUM_STSKID - 1);$NL$
 $NL$
 
-$ G[`FbN
+$ エラーチェック
 $FOREACH tskid TSK.ID_LIST$
-$	// tskatrªimTA_ACTnjÅÈ¢êiE_RSATRj
+$	// tskatrが（［TA_ACT］）でない場合（E_RSATR）
 	$IF (TSK.TSKATR[tskid] & ~(TA_ACT|TARGET_TSKATR)) != 0$
 		$ERROR TSK.TEXT_LINE[tskid]$E_RSATR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "tskatr", TSK.TSKATR[tskid], tskid, "CRE_TSK")$$END$
 	$END$
 
-$	// (TMIN_TPRI <= itskpri && itskpri <= TMAX_TPRI)ÅÈ¢êiE_PARj
+$	// (TMIN_TPRI <= itskpri && itskpri <= TMAX_TPRI)でない場合（E_PAR）
 	$IF !(TMIN_TPRI <= TSK.ITSKPRI[tskid] && TSK.ITSKPRI[tskid] <= TMAX_TPRI)$
 		$ERROR TSK.TEXT_LINE[tskid]$E_PAR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "itskpri", TSK.ITSKPRI[tskid], tskid, "CRE_TSK")$$END$
 	$END$
 
-$ 	// texatrªiTA_NULLjÅÈ¢êiE_RSATRj
+$ 	// texatrが（TA_NULL）でない場合（E_RSATR）
 	$IF LENGTH(TSK.TEXATR[tskid]) && TSK.TEXATR[tskid] != 0$
 		$ERROR DEF_TEX.TEXT_LINE[tskid]$E_RSATR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "texatr", TSK.TEXATR[tskid], tskid, "DEF_TEX")$$END$
@@ -302,8 +298,8 @@
 $END$
 
-$ X^bNÌæÌ¶¬Æ»êÉÖ·é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 || (TARGET_MIN_STKSZ
 									&& TSK.STKSZ[tskid] < TARGET_MIN_STKSZ)$
@@ -311,5 +307,5 @@
 	$END$
 
-$ 	// stkszªX^bNÌæÌTCYÆµÄ³µ­È¢êiE_PARj
+$ 	// stkszがスタック領域のサイズとして正しくない場合（E_PAR）
 	$IF !EQ(TSK.STK[tskid], "NULL") && CHECK_STKSZ_ALIGN
 							&& (TSK.STKSZ[tskid] & (CHECK_STKSZ_ALIGN - 1))$
@@ -328,13 +324,13 @@
 $NL$
 
-$ ^XNú»ubNÌ¶¬i^XNÍ1ÂÈã¶Ý·éj
+$ タスク初期化ブロックの生成（タスクは1個以上存在する）
 const TINIB _kernel_tinib_table[TNUM_STSKID] = {$NL$
 $JOINEACH tskid TSK.ID_LIST ",\n"$
-$	// ^XN®«Cg£îñCN®ÔnCN®Dæx
+$	// タスク属性，拡張情報，起動番地，起動時優先度
 	$TAB${
 	$SPC$($TSK.TSKATR[tskid]$), (intptr_t)($TSK.EXINF[tskid]$),
 	$SPC$((TASK)($TSK.TASK[tskid]$)), INT_PRIORITY($TSK.ITSKPRI[tskid]$),
 
-$	// ^XNú»ReLXgubNCX^bNÌæ
+$	// タスク初期化コンテキストブロック，スタック領域
 	$IF USE_TSKINICTXB$
 		$GENERATE_TSKINICTXB(tskid)$
@@ -343,5 +339,5 @@
 	$END$
 
-$	// ^XNáO[`Ì®«ÆN®Ôn
+$	// タスク例外処理ルーチンの属性と起動番地
 	$SPC$($ALT(TSK.TEXATR[tskid],"TA_NULL")$), ($ALT(TSK.TEXRTN[tskid],"NULL")$) }
 $END$$NL$
@@ -349,5 +345,5 @@
 $NL$
 
-$ ®I¶¬^XNpÌ^XNú»ubNÌ¶¬
+$ 動的生成タスク用のタスク初期化ブロックの生成
 $IF num_atskid > 0$
 	TINIB _kernel_atinib_table[$num_atskid$];$NL$
@@ -356,9 +352,9 @@
 $END$$NL$
 
-$ ^XNÇubNÌ¶¬
+$ タスク管理ブロックの生成
 TCB _kernel_tcb_table[TNUM_TSKID];$NL$
 $NL$
 
-$ ^XN¶¬e[uÌ¶¬
+$ タスク生成順序テーブルの生成
 const ID _kernel_torder_table[TNUM_STSKID] = {$NL$
 $TAB$$JOINEACH tskid TSK.ORDER_LIST ", "$$tskid$$END$$NL$
@@ -367,5 +363,5 @@
 
 $ 
-$  Z}tH
+$  セマフォ
 $ 
 /*$NL$
@@ -374,33 +370,33 @@
 $NL$
 
-$ ÃIÉ¶¬³ê½Z}tHÌ
+$ 静的に生成されたセマフォの数
 #define TNUM_SSEMID	$LENGTH(SEM.ID_LIST)$$NL$
 $NL$
 
-$ Z}tHIDÔÌÅål
+$ セマフォID番号の最大値
 const ID _kernel_tmax_semid = (TMIN_SEMID + TNUM_SEMID - 1);$NL$
 const ID _kernel_tmax_ssemid = (TMIN_SEMID + TNUM_SSEMID - 1);$NL$
 $NL$
 
-$ Z}tHú»ubNÌ¶¬
+$ セマフォ初期化ブロックの生成
 $IF LENGTH(SEM.ID_LIST)$
 	const SEMINIB _kernel_seminib_table[TNUM_SSEMID] = {$NL$
 	$JOINEACH semid SEM.ID_LIST ",\n"$
-$		// sematrªimTA_TPRInjÅÈ¢êiE_RSATRj
+$		// sematrが（［TA_TPRI］）でない場合（E_RSATR）
 		$IF (SEM.SEMATR[semid] & ~TA_TPRI) != 0$
 			$ERROR SEM.TEXT_LINE[semid]$E_RSATR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "sematr", SEM.SEMATR[semid], semid, "CRE_SEM")$$END$
 		$END$
 
-$		// (0 <= isemcnt && isemcnt <= maxsem)ÅÈ¢êiE_PARj
+$		// (0 <= isemcnt && isemcnt <= maxsem)でない場合（E_PAR）
 		$IF !(0 <= SEM.ISEMCNT[semid] && SEM.ISEMCNT[semid] <= SEM.MAXSEM[semid])$
 			$ERROR SEM.TEXT_LINE[semid]$E_PAR: $FORMAT(_("too large %1% `%2%\' of `%3%\' in %4%"), "isemcnt", SEM.ISEMCNT[semid], semid, "CRE_SEM")$$END$
 		$END$
 
-$		// (1 <= maxsem && maxsem <= TMAX_MAXSEM)ÅÈ¢êiE_PARj
+$		// (1 <= maxsem && maxsem <= TMAX_MAXSEM)でない場合（E_PAR）
 		$IF !(1 <= SEM.MAXSEM[semid] && SEM.MAXSEM[semid] <= TMAX_MAXSEM)$
 			$ERROR SEM.TEXT_LINE[semid]$E_PAR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "maxsem", SEM.MAXSEM[semid], semid, "CRE_SEM")$$END$
 		$END$
 
-$		// Z}tHú»ubN
+$		// セマフォ初期化ブロック
 		$TAB${ ($SEM.SEMATR[semid]$), ($SEM.ISEMCNT[semid]$), ($SEM.MAXSEM[semid]$) }
 	$END$$NL$
@@ -410,5 +406,5 @@
 $END$$NL$
 
-$ ®I¶¬Z}tHpÌZ}tHú»ubNÌ¶¬
+$ 動的生成セマフォ用のセマフォ初期化ブロックの生成
 $IF num_asemid > 0$
 	SEMINIB _kernel_aseminib_table[$num_asemid$];$NL$
@@ -417,5 +413,5 @@
 $END$$NL$
 
-$ Z}tHÇubNÌ¶¬
+$ セマフォ管理ブロックの生成
 $IF num_semid > 0$
 	SEMCB _kernel_semcb_table[TNUM_SEMID];$NL$
@@ -425,5 +421,5 @@
 
 $ 
-$  CxgtO
+$  イベントフラグ
 $ 
 /*$NL$
@@ -432,28 +428,28 @@
 $NL$
 
-$ ÃIÉ¶¬³ê½CxgtOÌ
+$ 静的に生成されたイベントフラグの数
 #define TNUM_SFLGID	$LENGTH(FLG.ID_LIST)$$NL$
 $NL$
 
-$ CxgtOIDÔÌÅål
+$ イベントフラグID番号の最大値
 const ID _kernel_tmax_flgid = (TMIN_FLGID + TNUM_FLGID - 1);$NL$
 const ID _kernel_tmax_sflgid = (TMIN_FLGID + TNUM_SFLGID - 1);$NL$
 $NL$
 
-$ CxgtOú»ubNÌ¶¬
+$ イベントフラグ初期化ブロックの生成
 $IF LENGTH(FLG.ID_LIST)$
 	const FLGINIB _kernel_flginib_table[TNUM_SFLGID] = {$NL$
 	$JOINEACH flgid FLG.ID_LIST ",\n"$
-$		// flgatrªimTA_TPRInbmTA_WMULnbmTA_CLRnjÅÈ¢êiE_RSATRj
+$		// flgatrが（［TA_TPRI］｜［TA_WMUL］｜［TA_CLR］）でない場合（E_RSATR）
 		$IF (FLG.FLGATR[flgid] & ~(TA_TPRI|TA_WMUL|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$
 		$END$
 
-$		// iflgptnªFLGPTNÉi[Å«È¢êiE_PARj
+$		// iflgptnがFLGPTNに格納できない場合（E_PAR）
 		$IF (FLG.IFLGPTN[flgid] & ~((1 << TBIT_FLGPTN) - 1)) != 0$
 			$ERROR FLG.TEXT_LINE[flgid]$E_PAR: $FORMAT(_("too large %1% `%2%\' of `%3%\' in %4%"), "iflgptn", FLG.IFLGPTN[flgid], flgid, "CRE_FLG")$$END$
 		$END$
 
-$		// CxgtOú»ubN
+$		// イベントフラグ初期化ブロック
 		$TAB${ ($FLG.FLGATR[flgid]$), ($FLG.IFLGPTN[flgid]$) }
 	$END$$NL$
@@ -463,5 +459,5 @@
 $END$$NL$
 
-$ ®I¶¬CxgtOpÌCxgtOú»ubNÌ¶¬
+$ 動的生成イベントフラグ用のイベントフラグ初期化ブロックの生成
 $IF num_aflgid > 0$
 	FLGINIB _kernel_aflginib_table[$num_aflgid$];$NL$
@@ -470,5 +466,5 @@
 $END$$NL$
 
-$ CxgtOÇubNÌ¶¬
+$ イベントフラグ管理ブロックの生成
 $IF num_flgid > 0$
 	FLGCB _kernel_flgcb_table[TNUM_FLGID];$NL$
@@ -478,6 +474,5 @@
 
 $ 
-$  f[^L
-[
+$  データキュー
 $ 
 /*$NL$
@@ -486,11 +481,9 @@
 $NL$
 
-$ ÃIÉ¶¬³ê½f[^L
-[Ì
+$ 静的に生成されたデータキューの数
 #define TNUM_SDTQID	$LENGTH(DTQ.ID_LIST)$$NL$
 $NL$
 
-$ f[^L
-[IDÔÌÅål
+$ データキューID番号の最大値
 const ID _kernel_tmax_dtqid = (TMIN_DTQID + TNUM_DTQID - 1);$NL$
 const ID _kernel_tmax_sdtqid = (TMIN_DTQID + TNUM_SDTQID - 1);$NL$
@@ -499,21 +492,20 @@
 $IF LENGTH(DTQ.ID_LIST)$
 	$FOREACH dtqid DTQ.ID_LIST$
-$		// dtqatrªimTA_TPRInjÅÈ¢êiE_RSATRj
+$		// dtqatrが（［TA_TPRI］）でない場合（E_RSATR）
 		$IF (DTQ.DTQATR[dtqid] & ~TA_TPRI) != 0$
 			$ERROR DTQ.TEXT_LINE[dtqid]$E_RSATR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "dtqatr", DTQ.DTQATR[dtqid], dtqid, "CRE_DTQ")$$END$
 		$END$
 
-$		// dtqcntªÌêiE_PARj
+$		// dtqcntが負の場合（E_PAR）
 		$IF DTQ.DTQCNT[dtqid] < 0$
 			$ERROR DTQ.TEXT_LINE[dtqid]$E_PAR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "dtqcnt", DTQ.DTQCNT[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$
 
-$		// f[^L
-[ÇÌæ
+$		// データキュー管理領域
 		$IF DTQ.DTQCNT[dtqid]$
 			static DTQMB _kernel_dtqmb_$dtqid$[$DTQ.DTQCNT[dtqid]$];$NL$
@@ -521,6 +513,5 @@
 	$END$
 
-$	// f[^L
-[ú»ubNÌ¶¬
+$	// データキュー初期化ブロックの生成
 	const DTQINIB _kernel_dtqinib_table[TNUM_SDTQID] = {$NL$
 	$JOINEACH dtqid DTQ.ID_LIST ",\n"$
@@ -532,7 +523,5 @@
 $END$$NL$
 
-$ ®I¶¬f[^L
-[pÌf[^L
-[ú»ubNÌ¶¬
+$ 動的生成データキュー用のデータキュー初期化ブロックの生成
 $IF num_adtqid > 0$
 	DTQINIB _kernel_adtqinib_table[$num_adtqid$];$NL$
@@ -541,6 +530,5 @@
 $END$$NL$
 
-$ f[^L
-[ÇubNÌ¶¬
+$ データキュー管理ブロックの生成
 $IF num_dtqid > 0$
 	DTQCB _kernel_dtqcb_table[TNUM_DTQID];$NL$
@@ -550,6 +538,5 @@
 
 $ 
-$  Dæxf[^L
-[
+$  優先度データキュー
 $ 
 /*$NL$
@@ -558,11 +545,9 @@
 $NL$
 
-$ ÃIÉ¶¬³ê½Dæxf[^L
-[Ì
+$ 静的に生成された優先度データキューの数
 #define TNUM_SPDQID	$LENGTH(PDQ.ID_LIST)$$NL$
 $NL$
 
-$ Dæxf[^L
-[IDÔÌÅål
+$ 優先度データキューID番号の最大値
 const ID _kernel_tmax_pdqid = (TMIN_PDQID + TNUM_PDQID - 1);$NL$
 const ID _kernel_tmax_spdqid = (TMIN_PDQID + TNUM_SPDQID - 1);$NL$
@@ -571,26 +556,25 @@
 $IF LENGTH(PDQ.ID_LIST)$
 	$FOREACH pdqid PDQ.ID_LIST$
-$		// pdqatrªimTA_TPRInjÅÈ¢êiE_RSATRj
+$		// pdqatrが（［TA_TPRI］）でない場合（E_RSATR）
 		$IF (PDQ.PDQATR[pdqid] & ~TA_TPRI) != 0$
 			$ERROR PDQ.TEXT_LINE[pdqid]$E_RSATR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "pdqatr", PDQ.PDQATR[pdqid], pdqid, "CRE_PDQ")$$END$
 		$END$
 
-$		// pdqcntªÌêiE_PARj
+$		// pdqcntが負の場合（E_PAR）
 		$IF PDQ.PDQCNT[pdqid] < 0$
 			$ERROR PDQ.TEXT_LINE[pdqid]$E_PAR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "pdqcnt", PDQ.PDQCNT[pdqid], pdqid, "CRE_PDQ")$$END$
 		$END$
 
-$		// (TMIN_DPRI <= maxdpri && maxdpri <= TMAX_DPRI)ÅÈ¢êiE_PARj
+$		// (TMIN_DPRI <= maxdpri && maxdpri <= TMAX_DPRI)でない場合（E_PAR）
 		$IF !(TMIN_DPRI <= PDQ.MAXDPRI[pdqid] && PDQ.MAXDPRI[pdqid] <= TMAX_DPRI)$
 			$ERROR PDQ.TEXT_LINE[pdqid]$E_PAR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "maxdpri", PDQ.MAXDPRI[pdqid], pdqid, "CRE_PDQ")$$END$
 		$END$
 
-$		// pdqmbªNULLÅÈ¢êiE_NOSPTj
+$		// pdqmbがNULLでない場合（E_NOSPT）
 		$IF !EQ(PDQ.PDQMB[pdqid], "NULL")$
 			$ERROR PDQ.TEXT_LINE[pdqid]$E_NOSPT: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "pdqmb", PDQ.PDQMB[pdqid], pdqid, "CRE_PDQ")$$END$
 		$END$
 
-$		// Dæxf[^L
-[ÇÌæ
+$		// 優先度データキュー管理領域
 		$IF PDQ.PDQCNT[pdqid]$
 			static PDQMB _kernel_pdqmb_$pdqid$[$PDQ.PDQCNT[pdqid]$];$NL$
@@ -598,6 +582,5 @@
 	$END$
 
-$	// Dæxf[^L
-[ú»ubNÌ¶¬
+$	// 優先度データキュー初期化ブロックの生成
 	const PDQINIB _kernel_pdqinib_table[TNUM_SPDQID] = {$NL$
 	$JOINEACH pdqid PDQ.ID_LIST ",\n"$
@@ -609,7 +592,5 @@
 $END$$NL$
 
-$ ®I¶¬Dæxf[^L
-[pÌDæxf[^L
-[ú»ubNÌ¶¬
+$ 動的生成優先度データキュー用の優先度データキュー初期化ブロックの生成
 $IF num_apdqid > 0$
 	PDQINIB _kernel_apdqinib_table[$num_apdqid$];$NL$
@@ -618,6 +599,5 @@
 $END$$NL$
 
-$ Dæxf[^L
-[ÇubNÌ¶¬
+$ 優先度データキュー管理ブロックの生成
 $IF num_pdqid > 0$
 	PDQCB _kernel_pdqcb_table[TNUM_PDQID];$NL$
@@ -627,5 +607,5 @@
 
 $ 
-$  [{bNX
+$  メールボックス
 $ 
 /*$NL$
@@ -634,33 +614,33 @@
 $NL$
 
-$ ÃIÉ¶¬³ê½[{bNXÌ
+$ 静的に生成されたメールボックスの数
 #define TNUM_SMBXID	$LENGTH(MBX.ID_LIST)$$NL$
 $NL$
 
-$ [{bNXIDÔÌÅål
+$ メールボックスID番号の最大値
 const ID _kernel_tmax_mbxid = (TMIN_MBXID + TNUM_MBXID - 1);$NL$
 const ID _kernel_tmax_smbxid = (TMIN_MBXID + TNUM_SMBXID - 1);$NL$
 $NL$
 
-$ [{bNXú»ubNÌ¶¬
+$ メールボックス初期化ブロックの生成
 $IF LENGTH(MBX.ID_LIST)$
 	const MBXINIB _kernel_mbxinib_table[TNUM_SMBXID] = {$NL$
 	$JOINEACH mbxid MBX.ID_LIST ",\n"$
-$		// mbxatrªimTA_TPRInbmTA_MPRInjÅÈ¢êiE_RSATRj
+$		// mbxatrが（［TA_TPRI］｜［TA_MPRI］）でない場合（E_RSATR）
 		$IF (MBX.MBXATR[mbxid] & ~(TA_TPRI|TA_MPRI)) != 0$
 			$ERROR MBX.TEXT_LINE[mbxid]$E_RSATR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "mbxatr", MBX.MBXATR[mbxid], mbxid, "CRE_MBX")$$END$
 		$END$
 
-$		// (TMIN_MPRI <= maxmpri && maxmpri <= TMAX_MPRI)ÅÈ¢êiE_PARj
+$		// (TMIN_MPRI <= maxmpri && maxmpri <= TMAX_MPRI)でない場合（E_PAR）
 		$IF !(TMIN_MPRI <= MBX.MAXMPRI[mbxid] && MBX.MAXMPRI[mbxid] <= TMAX_MPRI)$
 			$ERROR MBX.TEXT_LINE[mbxid]$E_PAR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "maxmpri", MBX.MAXMPRI[mbxid], mbxid, "CRE_MBX")$$END$
 		$END$
 
-$		// mprihdªNULLÅÈ¢êiE_NOSPTj
+$		// mprihdがNULLでない場合（E_NOSPT）
 		$IF !EQ(MBX.MPRIHD[mbxid], "NULL")$
 			$ERROR MBX.TEXT_LINE[mbxid]$E_NOSPT: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "mprihd", MBX.MPRIHD[mbxid], mbxid, "CRE_MBX")$$END$
 		$END$
 
-$		// [{bNXú»ubN
+$		// メールボックス初期化ブロック
 		$TAB${ ($MBX.MBXATR[mbxid]$), ($MBX.MAXMPRI[mbxid]$) }
 	$END$$NL$
@@ -670,5 +650,5 @@
 $END$$NL$
 
-$ ®I¶¬[{bNXpÌ[{bNXú»ubNÌ¶¬
+$ 動的生成メールボックス用のメールボックス初期化ブロックの生成
 $IF num_ambxid > 0$
 	MBXINIB _kernel_ambxinib_table[$num_ambxid$];$NL$
@@ -677,5 +657,5 @@
 $END$$NL$
 
-$ [{bNXÇubNÌ¶¬
+$ メールボックス管理ブロックの生成
 $IF num_mbxid > 0$
 	MBXCB _kernel_mbxcb_table[TNUM_MBXID];$NL$
@@ -685,5 +665,5 @@
 
 $ 
-$  Åè·v[
+$  固定長メモリプール
 $ 
 /*$NL$
@@ -692,9 +672,9 @@
 $NL$
 
-$ ÃIÉ¶¬³ê½Åè·v[Ì
+$ 静的に生成された固定長メモリプールの数
 #define TNUM_SMPFID	$LENGTH(MPF.ID_LIST)$$NL$
 $NL$
 
-$ Åè·v[IDÔÌÅål
+$ 固定長メモリプールID番号の最大値
 const ID _kernel_tmax_mpfid = (TMIN_MPFID + TNUM_MPFID - 1);$NL$
 const ID _kernel_tmax_smpfid = (TMIN_MPFID + TNUM_SMPFID - 1);$NL$
@@ -703,34 +683,34 @@
 $IF LENGTH(MPF.ID_LIST)$
 	$FOREACH mpfid MPF.ID_LIST$
-$		// mpfatrªimTA_TPRInjÅÈ¢êiE_RSATRj
+$		// mpfatrが（［TA_TPRI］）でない場合（E_RSATR）
 		$IF (MPF.MPFATR[mpfid] & ~TA_TPRI) != 0$
 			$ERROR MPF.TEXT_LINE[mpfid]$E_RSATR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "mpfatr", MPF.MPFATR[mpfid], mpfid, "CRE_MPF")$$END$
 		$END$
 
-$		// blkcntª0ÈºÌêiE_PARj
+$		// blkcntが0以下の場合（E_PAR）
 		$IF MPF.BLKCNT[mpfid] <= 0$
 			$ERROR MPF.TEXT_LINE[mpfid]$E_PAR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "blkcnt", MPF.BLKCNT[mpfid], mpfid, "CRE_MPF")$$END$
 		$END$
 
-$		// blkszª0ÈºÌêiE_PARj
+$		// blkszが0以下の場合（E_PAR）
 		$IF MPF.BLKSZ[mpfid] <= 0$
 			$ERROR MPF.TEXT_LINE[mpfid]$E_PAR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "blksz", MPF.BLKSZ[mpfid], mpfid, "CRE_MPF")$$END$
 		$END$
 
-$		// Åè·v[Ìæ
+$		// 固定長メモリプール領域
 		$IF EQ(MPF.MPF[mpfid], "NULL")$
 			static MPF_T _kernel_mpf_$mpfid$[($MPF.BLKCNT[mpfid]$) * COUNT_MPF_T($MPF.BLKSZ[mpfid]$)];$NL$
 		$END$
 
-$		// mpfmbªNULLÅÈ¢êiE_NOSPTj
+$		// mpfmbがNULLでない場合（E_NOSPT）
 		$IF !EQ(MPF.MPFMB[mpfid], "NULL")$
 			$ERROR MPF.TEXT_LINE[mpfid]$E_NOSPT: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "mpfmb", MPF.MPFMB[mpfid], mpfid, "CRE_MPF")$$END$
 		$END$
 
-$		// Åè·v[ÇÌæ
+$		// 固定長メモリプール管理領域
 		static MPFMB _kernel_mpfmb_$mpfid$[$MPF.BLKCNT[mpfid]$];$NL$
 	$END$
 
-$	// Åè·v[ú»ubNÌ¶¬
+$	// 固定長メモリプール初期化ブロックの生成
 	const MPFINIB _kernel_mpfinib_table[TNUM_SMPFID] = {$NL$
 	$JOINEACH mpfid MPF.ID_LIST ",\n"$
@@ -742,5 +722,5 @@
 $END$$NL$
 
-$ ®I¶¬Åè·v[pÌÅè·v[ú»ubNÌ¶¬
+$ 動的生成固定長メモリプール用の固定長メモリプール初期化ブロックの生成
 $IF num_ampfid > 0$
 	MPFINIB _kernel_ampfinib_table[$num_ampfid$];$NL$
@@ -749,5 +729,5 @@
 $END$$NL$
 
-$ Åè·v[ÇubNÌ¶¬
+$ 固定長メモリプール管理ブロックの生成
 $IF num_mpfid > 0$
 	MPFCB _kernel_mpfcb_table[TNUM_MPFID];$NL$
@@ -757,5 +737,5 @@
 
 $ 
-$  üúnh
+$  周期ハンドラ
 $ 
 /*$NL$
@@ -764,38 +744,38 @@
 $NL$
 
-$ ÃIÉ¶¬³ê½üúnhÌ
+$ 静的に生成された周期ハンドラの数
 #define TNUM_SCYCID	$LENGTH(CYC.ID_LIST)$$NL$
 $NL$
 
-$ üúnhIDÔÌÅål
+$ 周期ハンドラID番号の最大値
 const ID _kernel_tmax_cycid = (TMIN_CYCID + TNUM_CYCID - 1);$NL$
 const ID _kernel_tmax_scycid = (TMIN_CYCID + TNUM_SCYCID - 1);$NL$
 $NL$
 
-$ üúnhú»e[uÌ¶¬
+$ 周期ハンドラ初期化テーブルの生成
 $IF LENGTH(CYC.ID_LIST)$
 	const CYCINIB _kernel_cycinib_table[TNUM_SCYCID] = {$NL$
 	$JOINEACH cycid CYC.ID_LIST ",\n"$
-$		// cycatrªimTA_STAnjÅÈ¢êiE_RSATRj
+$		// cycatrが（［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$
 		$END$
 
-$		// (0 < cyctim && cyctim <= TMAX_RELTIM)ÅÈ¢êiE_PARj
+$		// (0 < cyctim && cyctim <= TMAX_RELTIM)でない場合（E_PAR）
 		$IF !(0 < CYC.CYCTIM[cycid] && CYC.CYCTIM[cycid] <= TMAX_RELTIM)$
 			$ERROR CYC.TEXT_LINE[cycid]$E_PAR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "cyctim", CYC.CYCTIM[cycid], cycid, "CRE_CYC")$$END$
 		$END$
 
-$		// (0 <= cycphs && cycphs <= TMAX_RELTIM)ÅÈ¢êiE_PARj
+$		// (0 <= cycphs && cycphs <= TMAX_RELTIM)でない場合（E_PAR）
 		$IF !(0 <= CYC.CYCPHS[cycid] && CYC.CYCPHS[cycid] <= TMAX_RELTIM)$
 			$ERROR CYC.TEXT_LINE[cycid]$E_PAR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "cycphs", CYC.CYCPHS[cycid], cycid, "CRE_CYC")$$END$
 		$END$
 
-$		// xFcycatrÉTA_STAªÝè³êÄ¢ÄC(cycphs == 0)Ìê
+$		// 警告：cycatrにTA_STAが設定されていて，(cycphs == 0)の場合
 		$IF (CYC.CYCATR[cycid] & TA_STA) != 0 && CYC.CYCPHS[cycid] == 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$
 		$END$
 
-$		// üúnhú»ubN
+$		// 周期ハンドラ初期化ブロック
 		$TAB${ ($CYC.CYCATR[cycid]$), (intptr_t)($CYC.EXINF[cycid]$), ($CYC.CYCHDR[cycid]$), ($CYC.CYCTIM[cycid]$), ($CYC.CYCPHS[cycid]$) }
 	$END$$NL$
@@ -805,5 +785,5 @@
 $END$$NL$
 
-$ ®I¶¬üúnhpÌüúnhú»ubNÌ¶¬
+$ 動的生成周期ハンドラ用の周期ハンドラ初期化ブロックの生成
 $IF num_acycid > 0$
 	CYCINIB _kernel_acycinib_table[$num_acycid$];$NL$
@@ -812,5 +792,5 @@
 $END$$NL$
 
-$ üúnhÇubNÌ¶¬
+$ 周期ハンドラ管理ブロックの生成
 $IF num_cycid > 0$
 	CYCCB _kernel_cyccb_table[TNUM_CYCID];$NL$
@@ -820,5 +800,5 @@
 
 $ 
-$  A[nh
+$  アラームハンドラ
 $ 
 /*$NL$
@@ -827,23 +807,23 @@
 $NL$
 
-$ ÃIÉ¶¬³ê½A[nhÌ
+$ 静的に生成されたアラームハンドラの数
 #define TNUM_SALMID	$LENGTH(ALM.ID_LIST)$$NL$
 $NL$
 
-$ A[nhIDÔÌÅål
+$ アラームハンドラID番号の最大値
 const ID _kernel_tmax_almid = (TMIN_ALMID + TNUM_ALMID - 1);$NL$
 const ID _kernel_tmax_salmid = (TMIN_ALMID + TNUM_SALMID - 1);$NL$
 $NL$
 
-$ A[nhú»ubNÌ¶¬
+$ アラームハンドラ初期化ブロックの生成
 $IF LENGTH(ALM.ID_LIST)$
 	const ALMINIB _kernel_alminib_table[TNUM_SALMID] = {$NL$
 	$JOINEACH almid ALM.ID_LIST ",\n"$
-$		// 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$
 		$END$
 
-$		// A[nhú»ubN
+$		// アラームハンドラ初期化ブロック
 		$TAB${ ($ALM.ALMATR[almid]$), (intptr_t)($ALM.EXINF[almid]$), ($ALM.ALMHDR[almid]$) }
 	$END$$NL$
@@ -853,5 +833,5 @@
 $END$$NL$
 
-$ ®I¶¬A[nhpÌA[nhú»ubNÌ¶¬
+$ 動的生成アラームハンドラ用のアラームハンドラ初期化ブロックの生成
 $IF num_aalmid > 0$
 	ALMINIB _kernel_aalminib_table[$num_aalmid$];$NL$
@@ -860,5 +840,5 @@
 $END$$NL$
 
-$ A[nhÇubNÌ¶¬
+$ アラームハンドラ管理ブロックの生成
 $IF num_almid > 0$
 	ALMCB _kernel_almcb_table[TNUM_ALMID];$NL$
@@ -868,5 +848,5 @@
 
 $ 
-$  ÝÇ@\
+$  割込み管理機能
 $ 
 /*$NL$
@@ -875,5 +855,5 @@
 $NL$
 
-$ ÝÔÆÝnhÔÌÏ·e[uÌì¬
+$ 割込み番号と割込みハンドラ番号の変換テーブルの作成
 $IF LENGTH(INTNO_ATTISR_VALID) != LENGTH(INHNO_ATTISR_VALID)$
 	$ERROR$length of `INTNO_ATTISR_VALID' is different from length of `INHNO_ATTISR_VALID'$END$
@@ -887,13 +867,13 @@
 $END$
 
-$ Ý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$
@@ -904,16 +884,16 @@
 	$END$
 
-$	// intatrªimTA_ENAINTnbmTA_EDGEnjÅÈ¢êiE_RSATRj
+$	// intatrが（［TA_ENAINT］｜［TA_EDGE］）でない場合（E_RSATR）
 	$IF (INT.INTATR[intno] & ~(TA_ENAINT|TA_EDGE|TARGET_INTATR)) != 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ÇÉÅè³êÄ¢éintnoÉÎµÄCintpriÉTMIN_INTPRI
-$	// æèà¬³¢lªwè³ê½êiE_OBJj
+$	// カーネル管理に固定されているintnoに対して，intpriにTMIN_INTPRI
+$	// よりも小さい値が指定された場合（E_OBJ）
 	$IF LENGTH(FIND(INTNO_FIX_KERNEL, intno))$
 		$IF INT.INTPRI[intno] < TMIN_INTPRI$
@@ -922,6 +902,6 @@
 	$END$
 
-$	// J[lÇOÉÅè³êÄ¢éintnoÉÎµÄCintpriÉTMIN_INTPRI
-$	// æèà¬³¢lªwè³êÈ©Á½êiE_OBJj
+$	// カーネル管理外に固定されているintnoに対して，intpriにTMIN_INTPRI
+$	// よりも小さい値が指定されなかった場合（E_OBJ）
 	$IF LENGTH(FIND(INTNO_FIX_NONKERNEL, intno))$
 		$IF INT.INTPRI[intno] >= TMIN_INTPRI$
@@ -932,13 +912,13 @@
 $END$
 
-$ ÝnhÉÖ·éG[`FbN
+$ 割込みハンドラに関するエラーチェック
 $i = 0$
 $FOREACH inhno INH.ORDER_LIST$
-$	// inhnoªDEF_INHÉÎ·éÝnhÔÆµÄ³µ­È¢êiE_PARj
+$	// inhnoがDEF_INHに対する割込みハンドラ番号として正しくない場合（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$
 
-$	// inhnoªDEF_INHÉæÁÄÝèÏÝÌêiE_OBJj
+$	// inhnoがDEF_INHによって設定済みの場合（E_OBJ）
 	$j = 0$
 	$FOREACH inhno2 INH.ORDER_LIST$
@@ -949,11 +929,11 @@
 	$END$
 
-$	// inhatrªiTA_NULLjÅÈ¢êiE_RSATRj
+$	// inhatrが（TA_NULL）でない場合（E_RSATR）
 	$IF (INH.INHATR[inhno] & ~TARGET_INHATR) != 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ÇÉÅè³êÄ¢éinhnoÉÎµÄCinhatrÉTA_NONKERNEL
-$	//@ªwè³êÄ¢éêiE_RSATRj
+$	// カーネル管理に固定されているinhnoに対して，inhatrにTA_NONKERNEL
+$	//　が指定されている場合（E_RSATR）
 	$IF LENGTH(FIND(INHNO_FIX_KERNEL, inhno))$
 		$IF (INH.INHATR[inhno] & TA_NONKERNEL) != 0$
@@ -962,6 +942,6 @@
 	$END$
 
-$	// J[lÇOÉÅè³êÄ¢éinhnoÉÎµÄCinhatrÉTA_NONKERNEL
-$	// ªwè³êÄ¢È¢êiE_RSATRj
+$	// カーネル管理外に固定されているinhnoに対して，inhatrにTA_NONKERNEL
+$	// が指定されていない場合（E_RSATR）
 	$IF LENGTH(FIND(INHNO_FIX_NONKERNEL, inhno))$
 		$IF (INH.INHATR[inhno] & TA_NONKERNEL) == 0$
@@ -972,19 +952,19 @@
 	$IF LENGTH(INTNO[INH.INHNO[inhno]])$
 		$intno = INTNO[INH.INHNO[inhno]]$
-$		// inhnoÉÎ·éintnoÉÎ·éCFG_INTªÈ¢êiE_OBJj
+$		// inhnoに対応するintnoに対する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$
@@ -996,17 +976,17 @@
 $END$
 
-$ ÝT[rX[`iISRjÉÖ·éG[`FbN
+$ 割込みサービスルーチン（ISR）に関するエラーチェック
 $FOREACH order ISR.ORDER_LIST$
-$	// isratrªiTA_NULLjÅÈ¢êiE_RSATRj
+$	// isratrが（TA_NULL）でない場合（E_RSATR）
 	$IF (ISR.ISRATR[order] & ~TARGET_ISRATR) != 0$
 		$ERROR ISR.TEXT_LINE[order]$E_RSATR: $FORMAT(_("illegal %1% `%2%\' in %3%"), "isratr", ISR.ISRATR[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$
@@ -1017,5 +997,5 @@
 	$inhno = INHNO[intno]$
 
-$	// ÝÔintnoÉÎµÄo^³ê½ISRÌXgÌì¬
+$	// 割込み番号intnoに対して登録されたISRのリストの作成
 	$isr_order_list = {}$
 	$FOREACH order ISR.ORDER_LIST$
@@ -1026,17 +1006,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$
@@ -1046,5 +1026,5 @@
 $END$
 
-$ ÝT[rX[`iISRjÇÌf[^\¢
+$ 割込みサービスルーチン（ISR）管理のデータ構造
 $intno_isr_list = {}$
 $FOREACH intno INTNO_ATTISR_VALID$
@@ -1082,5 +1062,5 @@
 $END$$NL$
 
-$ ÝT[rX[`iISRjÄoµÌ½ßÌÝnhÌ¶¬
+$ 割込みサービスルーチン（ISR）呼出しのための割込みハンドラの生成
 $FOREACH intno INTNO_ISR$
 	$inhno = INHNO[intno]$
@@ -1092,5 +1072,5 @@
 	$INH.ORDER_LIST = APPEND(INH.ORDER_LIST, inhno)$
 
-$	// ISRpÌÝnh
+$	// ISR用の割込みハンドラ
 	void$NL$
 	_kernel_inthdr_$intno$(void)$NL$
@@ -1103,15 +1083,15 @@
 $END$
 
-$ ÝT[rX[`Ì
+$ 割込みサービスルーチンの数
 #define TNUM_SISR	$LENGTH(ISR.ORDER_LIST)$$NL$
 #define TNUM_ISR	$LENGTH(ISR.ORDER_LIST) + num_aisrid$$NL$
 $NL$
 
-$ ÝT[rX[`IDÔÌÅål
+$ 割込みサービスルーチンID番号の最大値
 const ID _kernel_tmax_isrid = (TMIN_ISRID + TNUM_ISRID - 1);$NL$
 const uint_t _kernel_tnum_sisr = TNUM_SISR;$NL$
 $NL$
 
-$ ÝT[rX[`ú»ubNÌ¶¬
+$ 割込みサービスルーチン初期化ブロックの生成
 $IF LENGTH(ISR.ORDER_LIST)$
 	const ISRINIB _kernel_sisrinib_table[TNUM_SISR] = {$NL$
@@ -1125,6 +1105,6 @@
 $NL$
 
-$ ®I¶¬ÝT[rX[`pÌÝT[rX[`ú»ub
-$ NÌ¶¬
+$ 動的生成割込みサービスルーチン用の割込みサービスルーチン初期化ブロッ
+$ クの生成
 $IF num_aisrid > 0$
 	ISRINIB _kernel_aisrinib_table[$num_aisrid$];$NL$
@@ -1134,5 +1114,5 @@
 $NL$
 
-$ ÝT[rX[`ÇubNÌ¶¬
+$ 割込みサービスルーチン管理ブロックの生成
 $IF num_isr > 0$
 	ISRCB _kernel_isrcb_table[TNUM_ISR];$NL$
@@ -1143,10 +1123,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$
@@ -1159,5 +1139,5 @@
 $NL$
 
-$ Ýnhú»e[u
+$ 割込みハンドラ初期化テーブル
 $IF LENGTH(INH.ORDER_LIST)$
 	const INHINIB _kernel_inhinib_table[TNUM_INHNO] = {$NL$
@@ -1175,13 +1155,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 INTINIB _kernel_intinib_table[TNUM_INTNO] = {$NL$
@@ -1196,5 +1176,5 @@
 
 $ 
-$  CPUáOÇ@\
+$  CPU例外管理機能
 $ 
 /*$NL$
@@ -1203,13 +1183,13 @@
 $NL$
 
-$ 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$
@@ -1220,5 +1200,5 @@
 	$END$
 
-$	// excatrªiTA_NULLjÅÈ¢êiE_RSATRj
+$	// excatrが（TA_NULL）でない場合（E_RSATR）
 	$IF (EXC.EXCATR[excno] & ~TARGET_EXCATR) != 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$
@@ -1227,8 +1207,8 @@
 $END$
 
-$ CPUáOnhÌ½ßÌWIÈú»îñÌ¶¬
+$ CPU例外ハンドラのための標準的な初期化情報の生成
 $IF !OMIT_INITIALIZE_EXCEPTION$
 
-$ CPUáOnh
+$ CPU例外ハンドラ数
 #define TNUM_EXCNO	$LENGTH(EXC.ORDER_LIST)$$NL$
 const uint_t _kernel_tnum_excno = TNUM_EXCNO;$NL$
@@ -1239,5 +1219,5 @@
 $NL$
 
-$ CPUáOnhú»e[u
+$ CPU例外ハンドラ初期化テーブル
 $IF LENGTH(EXC.ORDER_LIST)$
 	const EXCINIB _kernel_excinib_table[TNUM_EXCNO] = {$NL$
@@ -1252,5 +1232,5 @@
 
 $ 
-$  ñ^XNReLXgpÌX^bNÌæ
+$  非タスクコンテキスト用のスタック領域
 $ 
 /*$NL$
@@ -1260,5 +1240,5 @@
 
 $IF !LENGTH(ICS.ORDER_LIST)$
-$	// DEF_ICSªÈ¢êÌftHglÌÝè
+$	// DEF_ICSがない場合のデフォルト値の設定
 	#ifdef DEFAULT_ISTK$NL$
 	$NL$
@@ -1275,11 +1255,11 @@
 $ELSE$
 
-$	// ÃIAPIuDEF_ICSvª¡ éiE_OBJj
+$	// 静的API「DEF_ICS」が複数ある（E_OBJ）
 	$IF LENGTH(ICS.ORDER_LIST) > 1$
 		$ERROR$E_OBJ: $FORMAT(_("too many %1%"), "DEF_ICS")$$END$
 	$END$
 
-$	// istkszª0Èº©C^[Qbgè`ÌÅ¬liTARGET_MIN_ISTKSZjæèà
-$	// ¬³¢êiE_PARj
+$	// istkszが0以下か，ターゲット定義の最小値（TARGET_MIN_ISTKSZ）よりも
+$	// 小さい場合（E_PAR）
 	$IF ICS.ISTKSZ[1] <= 0 || (TARGET_MIN_ISTKSZ
 									&& ICS.ISTKSZ[1] < TARGET_MIN_ISTKSZ)$
@@ -1287,5 +1267,5 @@
 	$END$
 
-$ 	// istkszªX^bNÌæÌTCYÆµÄ³µ­È¢êiE_PARj
+$ 	// istkszがスタック領域のサイズとして正しくない場合（E_PAR）
 	$IF !EQ(ICS.ISTK[1], "NULL") && CHECK_STKSZ_ALIGN
 							&& (ICS.ISTKSZ[1] & (CHECK_STKSZ_ALIGN - 1))$
@@ -1294,5 +1274,5 @@
 
 	$IF EQ(ICS.ISTK[1], "NULL")$
-$		// X^bNÌæÌ©®t¯
+$		// スタック領域の自動割付け
 		static STK_T				_kernel_istack[COUNT_STK_T($ICS.ISTKSZ[1]$)];$NL$
 		#define TOPPERS_ISTKSZ		ROUND_STK_T($ICS.ISTKSZ[1]$)$NL$
@@ -1305,5 +1285,5 @@
 $NL$
 
-$ ñ^XNReLXgpÌX^bNÌæ
+$ 非タスクコンテキスト用のスタック領域
 const SIZE		_kernel_istksz = TOPPERS_ISTKSZ;$NL$
 STK_T *const	_kernel_istk = TOPPERS_ISTK;$NL$
@@ -1315,5 +1295,5 @@
 
 $ 
-$  J[lªèt¯éÌæ
+$  カーネルが割り付けるメモリ領域
 $ 
 /*$NL$
@@ -1323,19 +1303,19 @@
 
 $IF !LENGTH(KMM.ORDER_LIST)$
-$	// DEF_KMMªÈ¢êÌftHglÌÝè
+$	// DEF_KMMがない場合のデフォルト値の設定
 	#define TOPPERS_KMMSZ		0$NL$
 	#define TOPPERS_KMM			NULL$NL$
 $ELSE$
-$	// ÃIAPIuDEF_KMMvª¡ éiE_OBJj
+$	// 静的API「DEF_KMM」が複数ある（E_OBJ）
 	$IF LENGTH(KMM.ORDER_LIST) > 1$
 		$ERROR$E_OBJ: $FORMAT(_("too many %1%"), "DEF_KMM")$$END$
 	$END$
 
-$	// kmmszª0ÈºÌêiE_PARj
+$	// kmmszが0以下の場合（E_PAR）
 	$IF KMM.KMMSZ[1] <= 0$
 		$ERROR KMM.TEXT_LINE[1]$E_PAR: $FORMAT(_("%1% `%2%\' is zero in %3%"), "kmmsz", KMM.KMMSZ[1], "DEF_KMM")$$END$
 	$END$
 
-$ 	// kmmszªJ[lªèt¯éÌæÌTCYÆµÄ³µ­È¢êiE_PARj
+$ 	// kmmszがカーネルが割り付けるメモリ領域のサイズとして正しくない場合（E_PAR）
 	$IF !EQ(KMM.KMM[1], "NULL") && CHECK_MB_ALIGN
 							&& (KMM.KMMSZ[1] & (CHECK_MB_ALIGN - 1))$
@@ -1344,5 +1324,5 @@
 
 	$IF EQ(KMM.KMM[1], "NULL")$
-$		// J[lªèt¯éÌæÌ©®t¯
+$		// カーネルが割り付けるメモリ領域の自動割付け
 		static MB_T					_kernel_memory[TOPPERS_COUNT_SZ($KMM.KMMSZ[1]$, sizeof(MB_T))];$NL$
 		#define TOPPERS_KMMSZ		TOPPERS_ROUND_SZ($KMM.KMMSZ[1]$, sizeof(MB_T))$NL$
@@ -1355,5 +1335,5 @@
 $NL$
 
-$ J[lªèt¯éÌæ
+$ カーネルが割り付けるメモリ領域
 const SIZE		_kernel_kmmsz = TOPPERS_KMMSZ;$NL$
 MB_T *const		_kernel_kmm = TOPPERS_KMM;$NL$
@@ -1361,5 +1341,5 @@
 
 $ 
-$  ^CCxgÇ
+$  タイムイベント管理
 $ 
 /*$NL$
@@ -1371,6 +1351,5 @@
 
 $ 
-$  eW
-[Ìú»Ö
+$  各モジュールの初期化関数
 $ 
 /*$NL$
@@ -1397,5 +1376,5 @@
 
 $ 
-$  ú»[`ÌÀsÖ
+$  初期化ルーチンの実行関数
 $ 
 /*$NL$
@@ -1407,5 +1386,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$
@@ -1417,5 +1396,5 @@
 
 $ 
-$  I¹[`ÌÀsÖ
+$  終了処理ルーチンの実行関数
 $ 
 /*$NL$
@@ -1427,5 +1406,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: UsbWattMeter/trunk/asp_dcre/kernel/kernel_check.tf
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/kernel_check.tf	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/kernel/kernel_check.tf	(revision 167)
@@ -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$
@@ -46,5 +42,5 @@
 
 $
-$  f[^ZNVÌLMA©çVMAÖÌRs[
+$  データセクションのLMAからVMAへのコピー
 $
 $FOREACH lma LMA.ORDER_LIST$
@@ -64,8 +60,8 @@
 
 $ 
-$  ÖÌæªÔnÌ`FbN
+$  関数の先頭番地のチェック
 $ 
 $IF CHECK_FUNC_ALIGN || CHECK_FUNC_NONNULL$
-$	// ^XNÆ^XNáO[`ÌæªÔnÌ`FbN
+$	// タスクとタスク例外処理ルーチンの先頭番地のチェック
 	$tinib = SYMBOL("_kernel_tinib_table")$
 	$FOREACH tskid TSK.ID_LIST$
@@ -90,5 +86,5 @@
 	$END$
 
-$	// üúnhÌæªÔnÌ`FbN
+$	// 周期ハンドラの先頭番地のチェック
 	$cycinib = SYMBOL("_kernel_cycinib_table")$
 	$FOREACH cycid CYC.ID_LIST$
@@ -107,5 +103,5 @@
 	$END$
 
-$	// A[nhÌæªÔnÌ`FbN
+$	// アラームハンドラの先頭番地のチェック
 	$alminib = SYMBOL("_kernel_alminib_table")$
 	$FOREACH almid ALM.ID_LIST$
@@ -124,5 +120,5 @@
 	$END$
 
-$	// ÝT[rX[`ÌæªÔnÌ`FbN
+$	// 割込みサービスルーチンの先頭番地のチェック
 	$isrinib = SYMBOL("_kernel_sisrinib_table")$
 	$FOREACH order ISR.ORDER_LIST$
@@ -143,8 +139,8 @@
 
 $ 
-$  X^bNÌæÌæªÔnÌ`FbN
+$  スタック領域の先頭番地のチェック
 $ 
 $IF CHECK_STACK_ALIGN || CHECK_STACK_NONNULL$
-$	// ^XNÌX^bNÌæÌæªÔnÌ`FbN
+$	// タスクのスタック領域の先頭番地のチェック
 	$tinib = SYMBOL("_kernel_tinib_table")$
 	$FOREACH tskid TSK.ID_LIST$
@@ -167,5 +163,5 @@
 	$END$
 
-$	// ñ^XNReLXgpÌX^bNÌæÌæªÔnÌ`FbN
+$	// 非タスクコンテキスト用のスタック領域の先頭番地のチェック
 	$istk = PEEK(SYMBOL("_kernel_istk"), sizeof_void_ptr)$
 	$IF CHECK_STACK_ALIGN && (istk & (CHECK_STACK_ALIGN - 1)) != 0$
@@ -182,8 +178,8 @@
 
 $ 
-$  Åè·v[ÌæÌæªÔnÌ`FbN
+$  固定長メモリプール領域の先頭番地のチェック
 $ 
 $IF CHECK_MPF_ALIGN || CHECK_MPF_NONNULL$
-$	// Åè·v[ÌæÌæªÔnÌ`FbN
+$	// 固定長メモリプール領域の先頭番地のチェック
 	$mpfinib = SYMBOL("_kernel_mpfinib_table")$
 	$FOREACH mpfid MPF.ID_LIST$
@@ -204,8 +200,8 @@
 
 $ 
-$  J[lªèt¯éÌæÌæªÔnÌ`FbN
+$  カーネルが割り付けるメモリ領域の先頭番地のチェック
 $ 
 $IF CHECK_MB_ALIGN$
-$	// J[lªèt¯éÌæÌæªÔnÌ`FbN
+$	// カーネルが割り付けるメモリ領域の先頭番地のチェック
 	$kmm = PEEK(SYMBOL("_kernel_kmm"), sizeof_void_ptr)$
 	$IF CHECK_MB_ALIGN && (kmm & (CHECK_MB_ALIGN - 1)) != 0$
Index: UsbWattMeter/trunk/asp_dcre/kernel/kernel_impl.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/kernel_impl.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/kernel/kernel_impl.h	(revision 167)
@@ -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$
@@ -46,12 +42,12 @@
 
 /*
- *		TOPPERS/ASPJ[làü¯Wwb_t@C
- *
- *  ±Ì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/ASPカーネル内部向け標準ヘッダファイル
+ *
+ *  このヘッダファイルは，カーネルを構成するプログラムのソースファイル
+ *  で必ずインクルードするべき標準ヘッダファイルである．
+ *
+ *  アセンブリ言語のソースファイルからこのファイルをインクルードする時
+ *  は，TOPPERS_MACRO_ONLYを定義しておく．これにより，マクロ定義以外を
+ *  除くようになっている．
  */
 
@@ -60,20 +56,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
@@ -82,10 +78,10 @@
 
 /*
- *  ^[QbgË¶îñÌè`
+ *  ターゲット依存情報の定義
  */
 #include "target_config.h"
 
 /*
- *  ·×ÄÌÖðRpC·é½ßÌè`
+ *  すべての関数をコンパイルするための定義
  */
 #ifdef ALLFUNC
@@ -94,11 +90,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
@@ -107,9 +103,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
@@ -118,21 +114,19 @@
 
 /*
- *  IuWFNgIDÌÅ¬lÌè`
- */
-#define TMIN_TSKID		1		/* ^XNIDÌÅ¬l */
-#define TMIN_SEMID		1		/* Z}tHIDÌÅ¬l */
-#define TMIN_FLGID		1		/* tOIDÌÅ¬l */
-#define TMIN_DTQID		1		/* f[^L
-[IDÌÅ¬l */
-#define TMIN_PDQID		1		/* Dæxf[^L
-[IDÌÅ¬l */
-#define TMIN_MBXID		1		/* [{bNXIDÌÅ¬l */
-#define TMIN_MPFID		1		/* Åè·v[IDÌÅ¬l */
-#define TMIN_CYCID		1		/* üúnhIDÌÅ¬l */
-#define TMIN_ALMID		1		/* A[nhIDÌÅ¬l */
-#define TMIN_ISRID		1		/* ÝT[rX[`IDÌÅ¬l */
-
-/*
- *  DæxÌiKÌè`
+ *  オブジェクトIDの最小値の定義
+ */
+#define TMIN_TSKID		1		/* タスクIDの最小値 */
+#define TMIN_SEMID		1		/* セマフォIDの最小値 */
+#define TMIN_FLGID		1		/* フラグIDの最小値 */
+#define TMIN_DTQID		1		/* データキューIDの最小値 */
+#define TMIN_PDQID		1		/* 優先度データキューIDの最小値 */
+#define TMIN_MBXID		1		/* メールボックスIDの最小値 */
+#define TMIN_MPFID		1		/* 固定長メモリプールIDの最小値 */
+#define TMIN_CYCID		1		/* 周期ハンドラIDの最小値 */
+#define TMIN_ALMID		1		/* アラームハンドラIDの最小値 */
+#define TMIN_ISRID		1		/* 割込みサービスルーチンIDの最小値 */
+
+/*
+ *  優先度の段階数の定義
  */
 #define TNUM_TPRI		(TMAX_TPRI - TMIN_TPRI + 1)
@@ -141,80 +135,78 @@
 
 /*
- *  J[làÅgp·é®«Ìè`
- */
-#define TA_NOEXS		((ATR)(-1))			/* ¢o^óÔ */
+ *  カーネル内部で使用する属性の定義
+ */
+#define TA_NOEXS		((ATR)(-1))			/* 未登録状態 */
 
 #ifndef TA_MEMALLOC
-#define TA_MEMALLOC		UINT_C(0x8000)		/* ÌæðJ[lÅmÛ */
+#define TA_MEMALLOC		UINT_C(0x8000)		/* メモリ領域をカーネルで確保 */
 #endif /* TA_MEMALLOC */
 #ifndef TA_MBALLOC
-#define TA_MBALLOC		UINT_C(0x4000)		/* ÇÌæðJ[lÅmÛ */
+#define TA_MBALLOC		UINT_C(0x4000)		/* 管理領域をカーネルで確保 */
 #endif /* TA_MBALLOC */
 
 /*
- *  ^[Qbgè`ÌG[`FbN}NÌftHglÌè`
+ *  ターゲット定義のエラーチェックマクロのデフォルト値の定義
  */
 #ifndef TARGET_TSKATR
-#define TARGET_TSKATR		0U		/* ^[Qbgè`Ì^XN®« */
+#define TARGET_TSKATR		0U		/* ターゲット定義のタスク属性 */
 #endif /* TARGET_TSKATR */
 
 #ifndef TARGET_ISRATR
-#define TARGET_ISRATR		0U		/* ^[Qbgè`ÌISR®« */
+#define TARGET_ISRATR		0U		/* ターゲット定義のISR属性 */
 #endif /* TARGET_ISRATR */
 
 /*
- *  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
- */
-extern const SIZE	istksz;		/* X^bNÌæÌTCYiÛß½lj */
-extern STK_T *const	istk;		/* X^bNÌæÌæªÔn */
+ *  非タスクコンテキスト用のスタック領域（kernel_cfg.c）
+ */
+extern const SIZE	istksz;		/* スタック領域のサイズ（丸めた値） */
+extern STK_T *const	istk;		/* スタック領域の先頭番地 */
 #ifdef TOPPERS_ISTKPT
-extern STK_T *const	istkpt;		/* X^bN|C^Ìúl */
+extern STK_T *const	istkpt;		/* スタックポインタの初期値 */
 #endif /* TOPPERS_ISTKPT */
 
 /*
- *  J[lªèt¯éÌæikernel_cfg.cj
- */
-extern const SIZE	kmmsz;		/* J[lªèt¯éÌæÌTCY */
-extern MB_T *const	kmm;		/* J[lªèt¯éÌæÌæªÔn */
-
-/*
- *  J[l®ìóÔtOistartup.cj
+ *  カーネルが割り付けるメモリ領域（kernel_cfg.c）
+ */
+extern const SIZE	kmmsz;		/* カーネルが割り付けるメモリ領域のサイズ */
+extern MB_T *const	kmm;		/* カーネルが割り付けるメモリ領域の先頭番地 */
+
+/*
+ *  カーネル動作状態フラグ（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);
 
 /*
- *  J[lÌèt¯éÌæÌÇistartup.cj
+ *  カーネルの割り付けるメモリ領域の管理（startup.c）
  */
 extern void initialize_kmm(void);
Index: UsbWattMeter/trunk/asp_dcre/kernel/kernel_int.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/kernel_int.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/kernel/kernel_int.h	(revision 167)
@@ -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$
@@ -46,5 +42,5 @@
 
 /*
- *		kernel_cfg.ci¨æÑcfg1_out.cjpwb_t@C
+ *		kernel_cfg.c（およびcfg1_out.c）用ヘッダファイル
  */
 
@@ -53,10 +49,10 @@
 
 /*
- *  J[lWwb_t@C
+ *  カーネル標準ヘッダファイル
  */
 #include "kernel_impl.h"
 
 /*
- *  J[lÌewb_t@C
+ *  カーネルの各ヘッダファイル
  */
 #include "task.h"
@@ -74,5 +70,5 @@
 
 /*
- *  l[µ½V{ð³Éß·½ßÌwb_t@C
+ *  リネームしたシンボルを元に戻すためのヘッダファイル
  */
 #include "kernel_unrename.h"
Index: UsbWattMeter/trunk/asp_dcre/kernel/mailbox.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/mailbox.c	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/kernel/mailbox.c	(revision 167)
@@ -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$
@@ -46,5 +42,5 @@
 
 /*
- *		[{bNX@\
+ *		メールボックス機能
  */
 
@@ -56,5 +52,5 @@
 
 /*
- *  g[XO}NÌftHgè`
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_ACRE_MBX_ENTER
@@ -123,5 +119,5 @@
 
 /*
- *  [{bNXÌ
+ *  メールボックスの数
  */
 #define tnum_mbx	((uint_t)(tmax_mbxid - TMIN_MBXID + 1))
@@ -129,5 +125,5 @@
 
 /*
- *  [{bNXID©ç[{bNXÇubNðæèo·½ßÌ}N
+ *  メールボックスIDからメールボックス管理ブロックを取り出すためのマクロ
  */
 #define INDEX_MBX(mbxid)	((uint_t)((mbxid) - TMIN_MBXID))
@@ -137,10 +133,10 @@
 
 /*
- *  gpµÄ¢È¢[{bNXÇubNÌXg
+ *  使用していないメールボックス管理ブロックのリスト
  */
 QUEUE	free_mbxcb;
 
 /* 
- *  [{bNX@\Ìú»
+ *  メールボックス機能の初期化
  */
 void
@@ -170,11 +166,10 @@
 
 /*
- *  bZ[WDæxÌæoµ
+ *  メッセージ優先度の取出し
  */
 #define	MSGPRI(pk_msg)	(((T_MSG_PRI *)(pk_msg))->msgpri)
 
 /*
- *  DæxbZ[WL
-[ÖÌ}ü
+ *  優先度順メッセージキューへの挿入
  */
 Inline void
@@ -194,5 +189,5 @@
 
 /*
- *  [{bNXÌ¶¬
+ *  メールボックスの生成
  */
 #ifdef TOPPERS_acre_mbx
@@ -235,5 +230,5 @@
 
 /*
- *  [{bNXÌí
+ *  メールボックスの削除
  */
 #ifdef TOPPERS_del_mbx
@@ -279,5 +274,5 @@
 
 /*
- *  [{bNXÖÌM
+ *  メールボックスへの送信
  */
 #ifdef TOPPERS_snd_mbx
@@ -337,5 +332,5 @@
 
 /*
- *  [{bNX©çÌóM
+ *  メールボックスからの受信
  */
 #ifdef TOPPERS_rcv_mbx
@@ -381,5 +376,5 @@
 
 /*
- *  [{bNX©çÌóMi|[Oj
+ *  メールボックスからの受信（ポーリング）
  */
 #ifdef TOPPERS_prcv_mbx
@@ -418,5 +413,5 @@
 
 /*
- *  [{bNX©çÌóMi^CAEg èj
+ *  メールボックスからの受信（タイムアウトあり）
  */
 #ifdef TOPPERS_trcv_mbx
@@ -468,5 +463,5 @@
 
 /*
- *  [{bNXÌÄú»
+ *  メールボックスの再初期化
  */
 #ifdef TOPPERS_ini_mbx
@@ -506,5 +501,5 @@
 
 /*
- *  [{bNXÌóÔQÆ
+ *  メールボックスの状態参照
  */
 #ifdef TOPPERS_ref_mbx
Index: UsbWattMeter/trunk/asp_dcre/kernel/mailbox.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/mailbox.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/kernel/mailbox.h	(revision 167)
@@ -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$
@@ -46,5 +42,5 @@
 
 /*
- *		[{bNX@\
+ *		メールボックス機能
  */
 
@@ -55,56 +51,53 @@
 
 /*
- *  [{bNXú»ubN
+ *  メールボックス初期化ブロック
  *
- *  ±Ì\¢ÌÍC¯úEÊMIuWFNgÌú»ubNÌ¤Êª
- *  iWOBJINIBjðg£iIuWFNgwü¾êÌp³Éjµ½àÌÅC
- *  ÅÌtB[hª¤ÊÉÈÁÄ¢éD
+ *  この構造体は，同期・通信オブジェクトの初期化ブロックの共通部分
+ *  （WOBJINIB）を拡張（オブジェクト指向言語の継承に相当）したもので，
+ *  最初のフィールドが共通になっている．
  */
 typedef struct mailbox_initialization_block {
-	ATR			mbxatr;			/* [{bNX®« */
-	PRI			maxmpri;		/* bZ[WDæxÌÅål */
+	ATR			mbxatr;			/* メールボックス属性 */
+	PRI			maxmpri;		/* メッセージ優先度の最大値 */
 } MBXINIB;
 
 /*
- *  [{bNXÇubN
+ *  メールボックス管理ブロック
  *
- *  ±Ì\¢ÌÍC¯úEÊMIuWFNgÌÇubNÌ¤ÊªiWOBJCBj
- *  ðg£iIuWFNgwü¾êÌp³Éjµ½àÌÅCÅÌ2ÂÌ
- *  tB[hª¤ÊÉÈÁÄ¢éD
+ *  この構造体は，同期・通信オブジェクトの管理ブロックの共通部分（WOBJCB）
+ *  を拡張（オブジェクト指向言語の継承に相当）したもので，最初の2つの
+ *  フィールドが共通になっている．
  *
- *  bZ[WL
-[ªbZ[WÌDæxÌêÉÍCpk_lastÍgíÈ
- *  ¢DÜ½CbZ[WL
-[ªóÌêipk_headªNULLÌêjÉàC
- *  pk_lastÍ³øÅ éD
+ *  メッセージキューがメッセージの優先度順の場合には，pk_lastは使わな
+ *  い．また，メッセージキューが空の場合（pk_headがNULLの場合）にも，
+ *  pk_lastは無効である．
  */
 typedef struct mailbox_control_block {
-	QUEUE		wait_queue;		/* [{bNXÒ¿L
-[ */
-	const MBXINIB *p_mbxinib;	/* ú»ubNÖÌ|C^ */
-	T_MSG		*pk_head;		/* æªÌbZ[W */
-	T_MSG		*pk_last;		/* öÌbZ[W */
+	QUEUE		wait_queue;		/* メールボックス待ちキュー */
+	const MBXINIB *p_mbxinib;	/* 初期化ブロックへのポインタ */
+	T_MSG		*pk_head;		/* 先頭のメッセージ */
+	T_MSG		*pk_last;		/* 末尾のメッセージ */
 } MBXCB;
 
 /*
- *  [{bNXÒ¿îñubNÌè`
+ *  メールボックス待ち情報ブロックの定義
  *
- *  ±Ì\¢ÌÍC¯úEÊMIuWFNgÌÒ¿îñubNÌ¤Êª
- *  iWINFO_WOBJjðg£iIuWFNgwü¾êÌp³Éjµ½àÌÅC
- *  ÅÌ2ÂÌtB[hª¤ÊÉÈÁÄ¢éD
+ *  この構造体は，同期・通信オブジェクトの待ち情報ブロックの共通部分
+ *  （WINFO_WOBJ）を拡張（オブジェクト指向言語の継承に相当）したもので，
+ *  最初の2つのフィールドが共通になっている．
  */
 typedef struct mailbox_waiting_information {
-	WINFO		winfo;			/* WÌÒ¿îñubN */
-	MBXCB		*p_mbxcb;		/* ÒÁÄ¢é[{bNXÌÇubN */
-	T_MSG		*pk_msg;		/* óMµ½bZ[W */
+	WINFO		winfo;			/* 標準の待ち情報ブロック */
+	MBXCB		*p_mbxcb;		/* 待っているメールボックスの管理ブロック */
+	T_MSG		*pk_msg;		/* 受信したメッセージ */
 } WINFO_MBX;
 
 /*
- *  gpµÄ¢È¢[{bNXÇubNÌXg
+ *  使用していないメールボックス管理ブロックのリスト
  */
 extern QUEUE	free_mbxcb;
 
 /*
- *  [{bNXIDÌÅålikernel_cfg.cj
+ *  メールボックスIDの最大値（kernel_cfg.c）
  */
 extern const ID	tmax_mbxid;
@@ -112,5 +105,5 @@
 
 /*
- *  [{bNXú»ubNÌGAikernel_cfg.cj
+ *  メールボックス初期化ブロックのエリア（kernel_cfg.c）
  */
 extern const MBXINIB	mbxinib_table[];
@@ -118,15 +111,15 @@
 
 /*
- *  [{bNXÇubNÌGAikernel_cfg.cj
+ *  メールボックス管理ブロックのエリア（kernel_cfg.c）
  */
 extern MBXCB	mbxcb_table[];
 
 /*
- *  [{bNXÇubN©ç[{bNXIDðæèo·½ßÌ}N
+ *  メールボックス管理ブロックからメールボックスIDを取り出すためのマクロ
  */
 #define	MBXID(p_mbxcb)	((ID)(((p_mbxcb) - mbxcb_table) + TMIN_MBXID))
 
 /*
- *  [{bNX@\Ìú»
+ *  メールボックス機能の初期化
  */
 extern void	initialize_mailbox(void);
Index: UsbWattMeter/trunk/asp_dcre/kernel/mempfix.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/mempfix.c	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/kernel/mempfix.c	(revision 167)
@@ -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$
@@ -46,5 +42,5 @@
 
 /*
- *		Åè·v[@\
+ *		固定長メモリプール機能
  */
 
@@ -56,5 +52,5 @@
 
 /*
- *  g[XO}NÌftHgè`
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_ACRE_MPF_ENTER
@@ -123,5 +119,5 @@
 
 /*
- *  Åè·v[Ì
+ *  固定長メモリプールの数
  */
 #define tnum_mpf	((uint_t)(tmax_mpfid - TMIN_MPFID + 1))
@@ -129,6 +125,6 @@
 
 /*
- *  Åè·v[ID©çÅè·v[ÇubNðæèo·½
- *  ßÌ}N
+ *  固定長メモリプールIDから固定長メモリプール管理ブロックを取り出すた
+ *  めのマクロ
  */
 #define INDEX_MPF(mpfid)	((uint_t)((mpfid) - TMIN_MPFID))
@@ -136,18 +132,18 @@
 
 /*
- *  ÁêÈCfbNXlÌè`
- */
-#define INDEX_NULL		(~0U)		/* ó«ubNXgÌÅã */
-#define INDEX_ALLOC		(~1U)		/* ÄÏÝÌubN */
+ *  特殊なインデックス値の定義
+ */
+#define INDEX_NULL		(~0U)		/* 空きブロックリストの最後 */
+#define INDEX_ALLOC		(~1U)		/* 割当て済みのブロック */
 
 #ifdef TOPPERS_mpfini
 
 /*
- *  gpµÄ¢È¢Åè·v[ÇubNÌXg
+ *  使用していない固定長メモリプール管理ブロックのリスト
  */
 QUEUE	free_mpfcb;
 
 /* 
- *  Åè·v[@\Ìú»
+ *  固定長メモリプール機能の初期化
  */
 void
@@ -179,5 +175,5 @@
 
 /*
- *  Åè·v[©çubNðl¾
+ *  固定長メモリプールからブロックを獲得
  */
 #ifdef TOPPERS_mpfget
@@ -205,5 +201,5 @@
 
 /*
- *  Åè·v[Ì¶¬
+ *  固定長メモリプールの生成
  */
 #ifdef TOPPERS_acre_mpf
@@ -284,5 +280,5 @@
 
 /*
- *  Åè·v[Ìí
+ *  固定長メモリプールの削除
  */
 #ifdef TOPPERS_del_mpf
@@ -334,5 +330,5 @@
 
 /*
- *  Åè·ubNÌl¾
+ *  固定長メモリブロックの獲得
  */
 #ifdef TOPPERS_get_mpf
@@ -377,5 +373,5 @@
 
 /*
- *  Åè·ubNÌl¾i|[Oj
+ *  固定長メモリブロックの獲得（ポーリング）
  */
 #ifdef TOPPERS_pget_mpf
@@ -413,5 +409,5 @@
 
 /*
- *  Åè·ubNÌl¾i^CAEg èj
+ *  固定長メモリブロックの獲得（タイムアウトあり）
  */
 #ifdef TOPPERS_tget_mpf
@@ -462,5 +458,5 @@
 
 /*
- *  Åè·ubNÌÔp
+ *  固定長メモリブロックの返却
  */
 #ifdef TOPPERS_rel_mpf
@@ -519,5 +515,5 @@
 
 /*
- *  Åè·v[ÌÄú»
+ *  固定長メモリプールの再初期化
  */
 #ifdef TOPPERS_ini_mpf
@@ -559,5 +555,5 @@
 
 /*
- *  Åè·v[ÌóÔQÆ
+ *  固定長メモリプールの状態参照
  */
 #ifdef TOPPERS_ref_mpf
Index: UsbWattMeter/trunk/asp_dcre/kernel/mempfix.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/mempfix.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/kernel/mempfix.h	(revision 167)
@@ -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$
@@ -46,5 +42,5 @@
 
 /*
- *		Åè·v[@\
+ *		固定長メモリプール機能
  */
 
@@ -55,65 +51,64 @@
 
 /*
- *  Åè·ubNÇubN
+ *  固定長メモリブロック管理ブロック
  *
- *  nexttB[hÉÍCubNªÄÏÝÌêÍINDEX_ALLOCðC
- *  ¢ÄÌêÍÌ¢ÄubNÌCfbNXÔði[·éD
- *  ÅãÌ¢ÄubNÌêÉÍCINDEX_NULLði[·éD
+ *  nextフィールドには，メモリブロックが割当て済みの場合はINDEX_ALLOCを，
+ *  未割当ての場合は次の未割当てブロックのインデックス番号を格納する．
+ *  最後の未割当てブロックの場合には，INDEX_NULLを格納する．
  */
 typedef struct fixed_memoryblock_management_block {
-	uint_t		next;			/* Ì¢ÄubN */
+	uint_t		next;			/* 次の未割当てブロック */
 } MPFMB;
 
 /*
- *  Åè·v[ú»ubN
+ *  固定長メモリプール初期化ブロック
  *
- *  ±Ì\¢ÌÍC¯úEÊMIuWFNgÌú»ubNÌ¤Êª
- *  iWOBJINIBjðg£iIuWFNgwü¾êÌp³Éjµ½àÌÅC
- *  ÅÌtB[hª¤ÊÉÈÁÄ¢éD
+ *  この構造体は，同期・通信オブジェクトの初期化ブロックの共通部分
+ *  （WOBJINIB）を拡張（オブジェクト指向言語の継承に相当）したもので，
+ *  最初のフィールドが共通になっている．
  */
 typedef struct fixed_memorypool_initialization_block {
-	ATR			mpfatr;			/* Åè·v[®« */
-	uint_t		blkcnt;			/* ubN */
-	uint_t		blksz;			/* ubNÌTCYiÛß½lj */
-	void		*mpf;			/* Åè·v[ÌæÌæªÔn */
-	MPFMB		*p_mpfmb;		/* Åè·v[ÇÌæÌæªÔn */
+	ATR			mpfatr;			/* 固定長メモリプール属性 */
+	uint_t		blkcnt;			/* メモリブロック数 */
+	uint_t		blksz;			/* メモリブロックのサイズ（丸めた値） */
+	void		*mpf;			/* 固定長メモリプール領域の先頭番地 */
+	MPFMB		*p_mpfmb;		/* 固定長メモリプール管理領域の先頭番地 */
 } MPFINIB;
 
 /*
- *  Åè·v[ÇubN
+ *  固定長メモリプール管理ブロック
  *
- *  ±Ì\¢ÌÍC¯úEÊMIuWFNgÌÇubNÌ¤ÊªiWOBJCBj
- *  ðg£iIuWFNgwü¾êÌp³Éjµ½àÌÅCÅÌ2ÂÌ
- *  tB[hª¤ÊÉÈÁÄ¢éD
+ *  この構造体は，同期・通信オブジェクトの管理ブロックの共通部分（WOBJCB）
+ *  を拡張（オブジェクト指向言語の継承に相当）したもので，最初の2つの
+ *  フィールドが共通になっている．
  */
 typedef struct fixed_memorypool_control_block {
-	QUEUE		wait_queue;		/* Åè·v[Ò¿L
-[ */
-	const MPFINIB *p_mpfinib;	/* ú»ubNÖÌ|C^ */
-	uint_t		fblkcnt;		/* ¢ÄubN */
-	uint_t		unused;			/* ¢gpubNÌæª */
-	uint_t		freelist;		/* ¢ÄubNÌXg */
+	QUEUE		wait_queue;		/* 固定長メモリプール待ちキュー */
+	const MPFINIB *p_mpfinib;	/* 初期化ブロックへのポインタ */
+	uint_t		fblkcnt;		/* 未割当てブロック数 */
+	uint_t		unused;			/* 未使用ブロックの先頭 */
+	uint_t		freelist;		/* 未割当てブロックのリスト */
 } MPFCB;
 
 /*
- *  Åè·v[Ò¿îñubNÌè`
+ *  固定長メモリプール待ち情報ブロックの定義
  *
- *  ±Ì\¢ÌÍC¯úEÊMIuWFNgÌÒ¿îñubNÌ¤Êª
- *  iWINFO_WOBJjðg£iIuWFNgwü¾êÌp³Éjµ½àÌÅC
- *  ÅÌ2ÂÌtB[hª¤ÊÉÈÁÄ¢éD
+ *  この構造体は，同期・通信オブジェクトの待ち情報ブロックの共通部分
+ *  （WINFO_WOBJ）を拡張（オブジェクト指向言語の継承に相当）したもので，
+ *  最初の2つのフィールドが共通になっている．
  */
 typedef struct fixed_memorypool_waiting_information {
-	WINFO		winfo;			/* WÌÒ¿îñubN */
-	MPFCB		*p_mpfcb;		/* ÒÁÄ¢éÅè·v[ÌÇubN*/
-	void		*blk;			/* l¾µ½ubN */
+	WINFO		winfo;			/* 標準の待ち情報ブロック */
+	MPFCB		*p_mpfcb;		/* 待っている固定長メモリプールの管理ブロック*/
+	void		*blk;			/* 獲得したメモリブロック */
 } WINFO_MPF;
 
 /*
- *  gpµÄ¢È¢Åè·v[ÇubNÌXg
+ *  使用していない固定長メモリプール管理ブロックのリスト
  */
 extern QUEUE	free_mpfcb;
 
 /*
- *  Åè·v[IDÌÅålikernel_cfg.cj
+ *  固定長メモリプールIDの最大値（kernel_cfg.c）
  */
 extern const ID	tmax_mpfid;
@@ -121,5 +116,5 @@
 
 /*
- *  Åè·v[ú»ubNÌGAikernel_cfg.cj
+ *  固定長メモリプール初期化ブロックのエリア（kernel_cfg.c）
  */
 extern const MPFINIB	mpfinib_table[];
@@ -127,21 +122,21 @@
 
 /*
- *  Åè·v[ÇubNÌGAikernel_cfg.cj
+ *  固定長メモリプール管理ブロックのエリア（kernel_cfg.c）
  */
 extern MPFCB	mpfcb_table[];
 
 /*
- *  Åè·v[ÇubN©çÅè·v[IDðæèo·½
- *  ßÌ}N
+ *  固定長メモリプール管理ブロックから固定長メモリプールIDを取り出すた
+ *  めのマクロ
  */
 #define	MPFID(p_mpfcb)	((ID)(((p_mpfcb) - mpfcb_table) + TMIN_MPFID))
 
 /*
- *  Åè·v[@\Ìú»
+ *  固定長メモリプール機能の初期化
  */
 extern void	initialize_mempfix(void);
 
 /*
- *  Åè·v[©çubNðl¾
+ *  固定長メモリプールからブロックを獲得
  */
 extern void	get_mpf_block(MPFCB *p_mpfcb, void **p_blk);
Index: UsbWattMeter/trunk/asp_dcre/kernel/pridataq.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/pridataq.c	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/kernel/pridataq.c	(revision 167)
@@ -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$
@@ -46,6 +42,5 @@
 
 /*
- *		Dæxf[^L
-[@\
+ *		優先度データキュー機能
  */
 
@@ -57,5 +52,5 @@
 
 /*
- *  g[XO}NÌftHgè`
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_ACRE_PDQ_ENTER
@@ -148,6 +143,5 @@
 
 /*
- *  Dæxf[^L
-[Ì
+ *  優先度データキューの数
  */
 #define tnum_pdq	((uint_t)(tmax_pdqid - TMIN_PDQID + 1))
@@ -155,8 +149,6 @@
 
 /*
- *  Dæxf[^L
-[ID©çDæxf[^L
-[ÇubNðæèo·½
- *  ßÌ}N
+ *  優先度データキューIDから優先度データキュー管理ブロックを取り出すた
+ *  めのマクロ
  */
 #define INDEX_PDQ(pdqid)	((uint_t)((pdqid) - TMIN_PDQID))
@@ -166,12 +158,10 @@
 
 /*
- *  gpµÄ¢È¢Dæxf[^L
-[ÇubNÌXg
+ *  使用していない優先度データキュー管理ブロックのリスト
  */
 QUEUE	free_pdqcb;
 
 /*
- *  Dæxf[^L
-[@\Ìú»
+ *  優先度データキュー機能の初期化
  */
 void
@@ -205,6 +195,5 @@
 
 /*
- *  Dæxf[^L
-[ÇÌæÖÌf[^Ìi[
+ *  優先度データキュー管理領域へのデータの格納
  */
 #ifdef TOPPERS_pdqenq
@@ -243,6 +232,5 @@
 
 /*
- *  Dæxf[^L
-[ÇÌæ©çÌf[^Ìæoµ
+ *  優先度データキュー管理領域からのデータの取出し
  */
 #ifdef TOPPERS_pdqdeq
@@ -267,6 +255,5 @@
 
 /*
- *  Dæxf[^L
-[ÖÌf[^M
+ *  優先度データキューへのデータ送信
  */
 #ifdef TOPPERS_pdqsnd
@@ -297,6 +284,5 @@
 
 /*
- *  Dæxf[^L
-[©çÌf[^óM
+ *  優先度データキューからのデータ受信
  */
 #ifdef TOPPERS_pdqrcv
@@ -339,6 +325,5 @@
 
 /*
- *  Dæxf[^L
-[Ì¶¬
+ *  優先度データキューの生成
  */
 #ifdef TOPPERS_acre_pdq
@@ -402,6 +387,5 @@
 
 /*
- *  Dæxf[^L
-[Ìí
+ *  優先度データキューの削除
  */
 #ifdef TOPPERS_del_pdq
@@ -453,6 +437,5 @@
 
 /*
- *  Dæxf[^L
-[ÖÌM
+ *  優先度データキューへの送信
  */
 #ifdef TOPPERS_snd_pdq
@@ -503,6 +486,5 @@
 
 /*
- *  Dæxf[^L
-[ÖÌMi|[Oj
+ *  優先度データキューへの送信（ポーリング）
  */
 #ifdef TOPPERS_psnd_pdq
@@ -547,6 +529,5 @@
 
 /*
- *  Dæxf[^L
-[ÖÌMi|[OCñ^XNReLXgpj
+ *  優先度データキューへの送信（ポーリング，非タスクコンテキスト用）
  */
 #ifdef TOPPERS_ipsnd_pdq
@@ -591,6 +572,5 @@
 
 /*
- *  Dæxf[^L
-[ÖÌMi^CAEg èj
+ *  優先度データキューへの送信（タイムアウトあり）
  */
 #ifdef TOPPERS_tsnd_pdq
@@ -647,6 +627,5 @@
 
 /*
- *  Dæxf[^L
-[©çÌóM
+ *  優先度データキューからの受信
  */
 #ifdef TOPPERS_rcv_pdq
@@ -698,6 +677,5 @@
 
 /*
- *  Dæxf[^L
-[©çÌóMi|[Oj
+ *  優先度データキューからの受信（ポーリング）
  */
 #ifdef TOPPERS_prcv_pdq
@@ -738,6 +716,5 @@
 
 /*
- *  Dæxf[^L
-[©çÌóMi^CAEg èj
+ *  優先度データキューからの受信（タイムアウトあり）
  */
 #ifdef TOPPERS_trcv_pdq
@@ -794,6 +771,5 @@
 
 /*
- *  Dæxf[^L
-[ÌÄú»
+ *  優先度データキューの再初期化
  */
 #ifdef TOPPERS_ini_pdq
@@ -839,6 +815,5 @@
 
 /*
- *  Dæxf[^L
-[ÌóÔQÆ
+ *  優先度データキューの状態参照
  */
 #ifdef TOPPERS_ref_pdq
Index: UsbWattMeter/trunk/asp_dcre/kernel/pridataq.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/pridataq.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/kernel/pridataq.h	(revision 167)
@@ -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$
@@ -46,6 +42,5 @@
 
 /*
- *		Dæxf[^L
-[@\
+ *		優先度データキュー機能
  */
 
@@ -56,84 +51,68 @@
 
 /*
- *  Dæxf[^ÇubN
+ *  優先度データ管理ブロック
  */
 typedef struct pridata_management_block PDQMB;
 
 struct pridata_management_block {
-	PDQMB		*p_next;		/* Ìf[^ */
-	intptr_t	data;			/* f[^{Ì */
-	PRI			datapri;		/* f[^Dæx */
+	PDQMB		*p_next;		/* 次のデータ */
+	intptr_t	data;			/* データ本体 */
+	PRI			datapri;		/* データ優先度 */
 };
 
 /*
- *  Dæxf[^L
-[ú»ubN
+ *  優先度データキュー初期化ブロック
  *
- *  ±Ì\¢ÌÍC¯úEÊMIuWFNgÌú»ubNÌ¤Êª
- *  iWOBJINIBjðg£iIuWFNgwü¾êÌp³Éjµ½àÌÅC
- *  ÅÌtB[hª¤ÊÉÈÁÄ¢éD
+ *  この構造体は，同期・通信オブジェクトの初期化ブロックの共通部分
+ *  （WOBJINIB）を拡張（オブジェクト指向言語の継承に相当）したもので，
+ *  最初のフィールドが共通になっている．
  */
 typedef struct pridataq_initialization_block {
-	ATR			pdqatr;			/* Dæxf[^L
-[®« */
-	uint_t		pdqcnt;			/* Dæxf[^L
-[ÌeÊ */
-	PRI			maxdpri;		/* f[^DæxÌÅål */
-	PDQMB		*p_pdqmb;		/* Dæxf[^L
-[ÇÌæÌæªÔn */
+	ATR			pdqatr;			/* 優先度データキュー属性 */
+	uint_t		pdqcnt;			/* 優先度データキューの容量 */
+	PRI			maxdpri;		/* データ優先度の最大値 */
+	PDQMB		*p_pdqmb;		/* 優先度データキュー管理領域の先頭番地 */
 } PDQINIB;
 
 /*
- *  Dæxf[^L
-[ÇubN
+ *  優先度データキュー管理ブロック
  *
- *  ±Ì\¢ÌÍC¯úEÊMIuWFNgÌÇubNÌ¤ÊªiWOBJCBj
- *  ðg£iIuWFNgwü¾êÌp³Éjµ½àÌÅCÅÌ2ÂÌ
- *  tB[hª¤ÊÉÈÁÄ¢éD
+ *  この構造体は，同期・通信オブジェクトの管理ブロックの共通部分（WOBJCB）
+ *  を拡張（オブジェクト指向言語の継承に相当）したもので，最初の2つの
+ *  フィールドが共通になっている．
  */
 typedef struct pridataq_control_block {
-	QUEUE		swait_queue;	/* Dæxf[^L
-[MÒ¿L
-[ */
-	const PDQINIB *p_pdqinib;	/* ú»ubNÖÌ|C^ */
-	QUEUE		rwait_queue;	/* Dæxf[^L
-[óMÒ¿L
-[ */
-	uint_t		count;			/* Dæxf[^L
-[Ìf[^Ì */
-	PDQMB		*p_head;		/* ÅÌf[^ */
-	uint_t		unused;			/* ¢gpf[^ÇubNÌæª */
-	PDQMB		*p_freelist;	/* ¢Äf[^ÇubNÌXg */
+	QUEUE		swait_queue;	/* 優先度データキュー送信待ちキュー */
+	const PDQINIB *p_pdqinib;	/* 初期化ブロックへのポインタ */
+	QUEUE		rwait_queue;	/* 優先度データキュー受信待ちキュー */
+	uint_t		count;			/* 優先度データキュー中のデータの数 */
+	PDQMB		*p_head;		/* 最初のデータ */
+	uint_t		unused;			/* 未使用データ管理ブロックの先頭 */
+	PDQMB		*p_freelist;	/* 未割当てデータ管理ブロックのリスト */
 } PDQCB;
 
 /*
- *  Dæxf[^L
-[Ò¿îñubNÌè`
+ *  優先度データキュー待ち情報ブロックの定義
  *
- *  ±Ì\¢ÌÍC¯úEÊMIuWFNgÌÒ¿îñubNÌ¤Êª
- *  iWINFO_WOBJjðg£iIuWFNgwü¾êÌp³Éjµ½àÌÅC
- *  ÅÌ2ÂÌtB[hª¤ÊÉÈÁÄ¢éD
- *  Dæxf[^L
-[ÖÌMÒ¿ÆDæxf[^L
-[©çÌóMÒ¿ÅC
- *  ¯¶Ò¿îñubNðg¤D
+ *  この構造体は，同期・通信オブジェクトの待ち情報ブロックの共通部分
+ *  （WINFO_WOBJ）を拡張（オブジェクト指向言語の継承に相当）したもので，
+ *  最初の2つのフィールドが共通になっている．
+ *  優先度データキューへの送信待ちと優先度データキューからの受信待ちで，
+ *  同じ待ち情報ブロックを使う．
  */
 typedef struct pridataq_waiting_information {
-	WINFO		winfo;			/* WÌÒ¿îñubN */
-	PDQCB		*p_pdqcb;		/* ÒÁÄ¢éDæxf[^L
-[ÌÇubN*/
-	intptr_t	data;			/* óMf[^ */
-	PRI			datapri;		/* f[^Dæx */
+	WINFO		winfo;			/* 標準の待ち情報ブロック */
+	PDQCB		*p_pdqcb;		/* 待っている優先度データキューの管理ブロック*/
+	intptr_t	data;			/* 送受信データ */
+	PRI			datapri;		/* データ優先度 */
 } WINFO_PDQ;
 
 /*
- *  gpµÄ¢È¢Dæxf[^L
-[ÇubNÌXg
+ *  使用していない優先度データキュー管理ブロックのリスト
  */
 extern QUEUE	free_pdqcb;
 
 /*
- *  Dæxf[^L
-[IDÌÅålikernel_cfg.cj
+ *  優先度データキューIDの最大値（kernel_cfg.c）
  */
 extern const ID	tmax_pdqid;
@@ -141,6 +120,5 @@
 
 /*
- *  Dæxf[^L
-[ú»ubNÌGAikernel_cfg.cj
+ *  優先度データキュー初期化ブロックのエリア（kernel_cfg.c）
  */
 extern const PDQINIB	pdqinib_table[];
@@ -148,38 +126,31 @@
 
 /*
- *  Dæxf[^L
-[ÇubNÌGAikernel_cfg.cj
+ *  優先度データキュー管理ブロックのエリア（kernel_cfg.c）
  */
 extern PDQCB	pdqcb_table[];
 
 /*
- *  Dæxf[^L
-[ÇubN©çDæxf[^L
-[IDðæèo·½
- *  ßÌ}N
+ *  優先度データキュー管理ブロックから優先度データキューIDを取り出すた
+ *  めのマクロ
  */
 #define	PDQID(p_pdqcb)	((ID)(((p_pdqcb) - pdqcb_table) + TMIN_PDQID))
 
 /*
- *  Dæxf[^L
-[@\Ìú»
+ *  優先度データキュー機能の初期化
  */
 extern void	initialize_pridataq(void);
 
 /*
- *  Dæxf[^L
-[ÇÌæÖÌf[^Ìi[
+ *  優先度データキュー管理領域へのデータの格納
  */
 extern void	enqueue_pridata(PDQCB *p_pdqcb, intptr_t data, PRI datapri);
 
 /*
- *  Dæxf[^L
-[ÇÌæ©çÌf[^Ìæoµ
+ *  優先度データキュー管理領域からのデータの取出し
  */
 extern void	dequeue_pridata(PDQCB *p_pdqcb, intptr_t *p_data, PRI *p_datapri);
 
 /*
- *  Dæxf[^L
-[ÖÌf[^M
+ *  優先度データキューへのデータ送信
  */
 extern bool_t	send_pridata(PDQCB *p_pdqcb, intptr_t data,
@@ -187,6 +158,5 @@
 
 /*
- *  Dæxf[^L
-[©çÌf[^óM
+ *  優先度データキューからのデータ受信
  */
 extern bool_t	receive_pridata(PDQCB *p_pdqcb, intptr_t *p_data,
Index: UsbWattMeter/trunk/asp_dcre/kernel/semaphore.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/semaphore.c	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/kernel/semaphore.c	(revision 167)
@@ -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$
@@ -46,5 +42,5 @@
 
 /*
- *		Z}tH@\
+ *		セマフォ機能
  */
 
@@ -56,5 +52,5 @@
 
 /*
- *  g[XO}NÌftHgè`
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_ACRE_SEM_ENTER
@@ -131,5 +127,5 @@
 
 /*
- *  Z}tHÌ
+ *  セマフォの数
  */
 #define tnum_sem	((uint_t)(tmax_semid - TMIN_SEMID + 1))
@@ -137,5 +133,5 @@
 
 /*
- *  Z}tHID©çZ}tHÇubNðæèo·½ßÌ}N
+ *  セマフォIDからセマフォ管理ブロックを取り出すためのマクロ
  */
 #define INDEX_SEM(semid)	((uint_t)((semid) - TMIN_SEMID))
@@ -145,10 +141,10 @@
 
 /*
- *  gpµÄ¢È¢Z}tHÇubNÌXg
+ *  使用していないセマフォ管理ブロックのリスト
  */
 QUEUE	free_semcb;
 
 /* 
- *  Z}tH@\Ìú»
+ *  セマフォ機能の初期化
  */
 void
@@ -178,5 +174,5 @@
 
 /*
- *  Z}tHÌ¶¬
+ *  セマフォの生成
  */
 #ifdef TOPPERS_acre_sem
@@ -220,5 +216,5 @@
 
 /*
- *  Z}tHÌí
+ *  セマフォの削除
  */
 #ifdef TOPPERS_del_sem
@@ -264,5 +260,5 @@
 
 /*
- *  Z}tH¹ÌÔp
+ *  セマフォ資源の返却
  */
 #ifdef TOPPERS_sig_sem
@@ -308,5 +304,5 @@
 
 /*
- *  Z}tH¹ÌÔpiñ^XNReLXgpj
+ *  セマフォ資源の返却（非タスクコンテキスト用）
  */
 #ifdef TOPPERS_isig_sem
@@ -352,5 +348,5 @@
 
 /*
- *  Z}tH¹Ìl¾
+ *  セマフォ資源の獲得
  */
 #ifdef TOPPERS_wai_sem
@@ -392,5 +388,5 @@
 
 /*
- *  Z}tH¹Ìl¾i|[Oj
+ *  セマフォ資源の獲得（ポーリング）
  */
 #ifdef TOPPERS_pol_sem
@@ -428,5 +424,5 @@
 
 /*
- *  Z}tH¹Ìl¾i^CAEg èj
+ *  セマフォ資源の獲得（タイムアウトあり）
  */
 #ifdef TOPPERS_twai_sem
@@ -474,5 +470,5 @@
 
 /*
- *  Z}tHÌÄú»
+ *  セマフォの再初期化
  */
 #ifdef TOPPERS_ini_sem
@@ -512,5 +508,5 @@
 
 /*
- *  Z}tHÌóÔQÆ
+ *  セマフォの状態参照
  */
 #ifdef TOPPERS_ref_sem
Index: UsbWattMeter/trunk/asp_dcre/kernel/semaphore.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/semaphore.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/kernel/semaphore.h	(revision 167)
@@ -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$
@@ -46,5 +42,5 @@
 
 /*
- *		Z}tH@\
+ *		セマフォ機能
  */
 
@@ -55,49 +51,48 @@
 
 /*
- *  Z}tHú»ubN
+ *  セマフォ初期化ブロック
  *
- *  ±Ì\¢ÌÍC¯úEÊMIuWFNgÌú»ubNÌ¤Êª
- *  iWOBJINIBjðg£iIuWFNgwü¾êÌp³Éjµ½àÌÅC
- *  ÅÌtB[hª¤ÊÉÈÁÄ¢éD
+ *  この構造体は，同期・通信オブジェクトの初期化ブロックの共通部分
+ *  （WOBJINIB）を拡張（オブジェクト指向言語の継承に相当）したもので，
+ *  最初のフィールドが共通になっている．
  */
 typedef struct semaphore_initialization_block {
-	ATR			sematr;			/* Z}tH®« */
-	uint_t		isemcnt;		/* Z}tHÌ¹Ìúl */
-	uint_t		maxsem;			/* Z}tHÌÅå¹ */
+	ATR			sematr;			/* セマフォ属性 */
+	uint_t		isemcnt;		/* セマフォの資源数の初期値 */
+	uint_t		maxsem;			/* セマフォの最大資源数 */
 } SEMINIB;
 
 /*
- *  Z}tHÇubN
+ *  セマフォ管理ブロック
  *
- *  ±Ì\¢ÌÍC¯úEÊMIuWFNgÌÇubNÌ¤ÊªiWOBJCBj
- *  ðg£iIuWFNgwü¾êÌp³Éjµ½àÌÅCÅÌ2ÂÌ
- *  tB[hª¤ÊÉÈÁÄ¢éD
+ *  この構造体は，同期・通信オブジェクトの管理ブロックの共通部分（WOBJCB）
+ *  を拡張（オブジェクト指向言語の継承に相当）したもので，最初の2つの
+ *  フィールドが共通になっている．
  */
 typedef struct semaphore_control_block {
-	QUEUE		wait_queue;		/* Z}tHÒ¿L
-[ */
-	const SEMINIB *p_seminib;	/* ú»ubNÖÌ|C^ */
-	uint_t		semcnt;			/* Z}tH»ÝJEgl */
+	QUEUE		wait_queue;		/* セマフォ待ちキュー */
+	const SEMINIB *p_seminib;	/* 初期化ブロックへのポインタ */
+	uint_t		semcnt;			/* セマフォ現在カウント値 */
 } SEMCB;
 
 /*
- *  Z}tHÒ¿îñubNÌè`
+ *  セマフォ待ち情報ブロックの定義
  *
- *  ±Ì\¢ÌÍC¯úEÊMIuWFNgÌÒ¿îñubNÌ¤Êª
- *  iWINFO_WOBJjðg£iIuWFNgwü¾êÌp³Éjµ½àÌÅC
- *  ·×ÄÌtB[hª¤ÊÉÈÁÄ¢éD
+ *  この構造体は，同期・通信オブジェクトの待ち情報ブロックの共通部分
+ *  （WINFO_WOBJ）を拡張（オブジェクト指向言語の継承に相当）したもので，
+ *  すべてのフィールドが共通になっている．
  */
 typedef struct semaphore_waiting_information {
-	WINFO	winfo;			/* WÌÒ¿îñubN */
-	SEMCB	*p_semcb;		/* ÒÁÄ¢éZ}tHÌÇubN */
+	WINFO	winfo;			/* 標準の待ち情報ブロック */
+	SEMCB	*p_semcb;		/* 待っているセマフォの管理ブロック */
 } WINFO_SEM;
 
 /*
- *  gpµÄ¢È¢Z}tHÇubNÌXg
+ *  使用していないセマフォ管理ブロックのリスト
  */
 extern QUEUE	free_semcb;
 
 /*
- *  Z}tHIDÌÅålikernel_cfg.cj
+ *  セマフォIDの最大値（kernel_cfg.c）
  */
 extern const ID	tmax_semid;
@@ -105,5 +100,5 @@
 
 /*
- *  Z}tHú»ubNÌGAikernel_cfg.cj
+ *  セマフォ初期化ブロックのエリア（kernel_cfg.c）
  */
 extern const SEMINIB	seminib_table[];
@@ -111,15 +106,15 @@
 
 /*
- *  Z}tHÇubNÌGAikernel_cfg.cj
+ *  セマフォ管理ブロックのエリア（kernel_cfg.c）
  */
 extern SEMCB	semcb_table[];
 
 /*
- *  Z}tHÇubN©çZ}tHIDðæèo·½ßÌ}N
+ *  セマフォ管理ブロックからセマフォIDを取り出すためのマクロ
  */
 #define	SEMID(p_semcb)	((ID)(((p_semcb) - semcb_table) + TMIN_SEMID))
 
 /*
- *  Z}tH@\Ìú»
+ *  セマフォ機能の初期化
  */
 extern void	initialize_semaphore(void);
Index: UsbWattMeter/trunk/asp_dcre/kernel/startup.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/startup.c	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/kernel/startup.c	(revision 167)
@@ -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$
@@ -46,5 +42,5 @@
 
 /*
- *		J[lÌú»ÆI¹
+ *		カーネルの初期化と終了処理
  */
 
@@ -54,5 +50,5 @@
 
 /*
- *  g[XO}NÌftHgè`
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_KER_ENTER
@@ -75,13 +71,13 @@
 
 /*
- *  J[l®ìóÔtO
+ *  カーネル動作状態フラグ
  *
- *  X^[gAbv[`ÅCfalsei0jÉú»³êé±ÆðúÒµÄ
- *  ¢éD
+ *  スタートアップルーチンで，false（＝0）に初期化されることを期待して
+ *  いる．
  */
 bool_t	kerflg = false;
 
 /*
- *  J[lÌN®
+ *  カーネルの起動
  */
 void
@@ -89,16 +85,13 @@
 {
 	/*
-	 *  ^[QbgË¶Ìú»
+	 *  ターゲット依存の初期化
 	 */
 	target_initialize();
 
 	/*
-	 *  eW
-[Ìú»
+	 *  各モジュールの初期化
 	 *
-	 *  ^CCxgÇW
-[Í¼ÌW
-[æèæÉú»
-	 *  ·éKvª éD
+	 *  タイムイベント管理モジュールは他のモジュールより先に初期化
+	 *  する必要がある．
 	 */
 	initialize_kmm();
@@ -107,10 +100,10 @@
 
 	/*
-	 *  ú»[`ÌÀs
+	 *  初期化ルーチンの実行
 	 */ 
 	call_inirtn();
 
 	/*
-	 *  J[l®ìÌJn
+	 *  カーネル動作の開始
 	 */
 	kerflg = true;
@@ -123,5 +116,5 @@
 
 /*
- *  J[lÌI¹
+ *  カーネルの終了
  */
 #ifdef TOPPERS_ext_ker
@@ -135,10 +128,10 @@
 
 	/*
-	 *  ÝbNóÔÉÚs
+	 *  割込みロック状態に移行
 	 */
 	SIL_LOC_INT();
 
 	/*
-	 *  J[l®ìÌI¹
+	 *  カーネル動作の終了
 	 */
 	LOG_KER_LEAVE();
@@ -146,12 +139,12 @@
 
 	/*
-	 *  J[lÌI¹ÌÄoµ
+	 *  カーネルの終了処理の呼出し
 	 *
-	 *  ñ^XNReLXgÉØè·¦ÄCexit_kernelðÄÑo·D
+	 *  非タスクコンテキストに切り換えて，exit_kernelを呼び出す．
 	 */
 	call_exit_kernel();
 
 	/*
-	 *  RpCÌxÎôi±±Öé±ÆÍÈ¢Í¸j
+	 *  コンパイラの警告対策（ここへ来ることはないはず）
 	 */
 	SIL_UNL_INT();
@@ -161,5 +154,5 @@
 
 /*
- *  J[lÌI¹
+ *  カーネルの終了処理
  */
 void
@@ -167,10 +160,10 @@
 {
 	/*
-	 *  I¹[`ÌÀs
+	 *  終了処理ルーチンの実行
 	 */
 	call_terrtn();
 
 	/*
-	 *  ^[QbgË¶ÌI¹
+	 *  ターゲット依存の終了処理
 	 */
 	target_exit();
@@ -181,9 +174,8 @@
 
 /*
- *  J[lÌèt¯éÌæÌÇ
+ *  カーネルの割り付けるメモリ領域の管理
  *
- *  Ìæðæª©çÉèÄCðú³ê½ÌæðÄpµÈ
- *  ¢ÇW
-[D
+ *  メモリ領域を先頭から順に割り当て，解放されたメモリ領域を再利用しな
+ *  いメモリ管理モジュール．
  */
 #ifdef TOPPERS_kermem
Index: UsbWattMeter/trunk/asp_dcre/kernel/sys_manage.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/sys_manage.c	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/kernel/sys_manage.c	(revision 167)
@@ -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$
@@ -46,5 +42,5 @@
 
 /*
- *		VXeóÔÇ@\
+ *		システム状態管理機能
  */
 
@@ -54,5 +50,5 @@
 
 /*
- *  g[XO}NÌftHgè`
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_ROT_RDQ_ENTER
@@ -177,5 +173,5 @@
 
 /*
- *  ^XNÌDæÊÌñ]
+ *  タスクの優先順位の回転
  */
 #ifdef TOPPERS_rot_rdq
@@ -207,5 +203,5 @@
 
 /*
- *  ^XNÌDæÊÌñ]iñ^XNReLXgpj
+ *  タスクの優先順位の回転（非タスクコンテキスト用）
  */
 #ifdef TOPPERS_irot_rdq
@@ -235,5 +231,5 @@
 
 /*
- *  ÀsóÔÌ^XNIDÌQÆ
+ *  実行状態のタスクIDの参照
  */
 #ifdef TOPPERS_get_tid
@@ -260,5 +256,5 @@
 
 /*
- *  ÀsóÔÌ^XNIDÌQÆiñ^XNReLXgpj
+ *  実行状態のタスクIDの参照（非タスクコンテキスト用）
  */
 #ifdef TOPPERS_iget_tid
@@ -285,5 +281,5 @@
 
 /*
- *  CPUbNóÔÖÌÚs
+ *  CPUロック状態への移行
  */
 #ifdef TOPPERS_loc_cpu
@@ -310,5 +306,5 @@
 
 /*
- *  CPUbNóÔÖÌÚsiñ^XNReLXgpj
+ *  CPUロック状態への移行（非タスクコンテキスト用）
  */
 #ifdef TOPPERS_iloc_cpu
@@ -335,9 +331,9 @@
 
 /*
- *  CPUbNóÔÌð
+ *  CPUロック状態の解除
  *
- *  CPUbNÍCfBXpb`ªKvÆÈéT[rXR[ðÄÑo·±
- *  ÆÍÅ«È¢½ßCCPUbNóÔÌðÉfBXpb`ðN®·é
- *  KvÍÈ¢D
+ *  CPUロック中は，ディスパッチが必要となるサービスコールを呼び出すこ
+ *  とはできないため，CPUロック状態の解除時にディスパッチャを起動する
+ *  必要はない．
  */
 #ifdef TOPPERS_unl_cpu
@@ -364,9 +360,9 @@
 
 /*
- *  CPUbNóÔÌðiñ^XNReLXgpj
+ *  CPUロック状態の解除（非タスクコンテキスト用）
  *
- *  CPUbNÍCfBXpb`ªKvÆÈéT[rXR[ðÄÑo·±
- *  ÆÍÅ«È¢½ßCCPUbNóÔÌðÉfBXpb`ÌN®ðv
- *  ·éKvÍÈ¢D
+ *  CPUロック中は，ディスパッチが必要となるサービスコールを呼び出すこ
+ *  とはできないため，CPUロック状態の解除時にディスパッチャの起動を要
+ *  求する必要はない．
  */
 #ifdef TOPPERS_iunl_cpu
@@ -393,5 +389,5 @@
 
 /*
- *  fBXpb`ÌÖ~
+ *  ディスパッチの禁止
  */
 #ifdef TOPPERS_dis_dsp
@@ -419,5 +415,5 @@
 
 /*
- *  fBXpb`ÌÂ
+ *  ディスパッチの許可
  */
 #ifdef TOPPERS_ena_dsp
@@ -450,5 +446,5 @@
 
 /*
- *  ReLXgÌQÆ
+ *  コンテキストの参照
  */
 #ifdef TOPPERS_sns_ctx
@@ -468,5 +464,5 @@
 
 /*
- *  CPUbNóÔÌQÆ
+ *  CPUロック状態の参照
  */
 #ifdef TOPPERS_sns_loc
@@ -486,5 +482,5 @@
 
 /*
- *  fBXpb`Ö~óÔÌQÆ
+ *  ディスパッチ禁止状態の参照
  */
 #ifdef TOPPERS_sns_dsp
@@ -504,5 +500,5 @@
 
 /*
- *  fBXpb`Û¯óÔÌQÆ
+ *  ディスパッチ保留状態の参照
  */
 #ifdef TOPPERS_sns_dpn
@@ -522,5 +518,5 @@
 
 /*
- *  J[lñ®ìóÔÌQÆ
+ *  カーネル非動作状態の参照
  */
 #ifdef TOPPERS_sns_ker
Index: UsbWattMeter/trunk/asp_dcre/kernel/task.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/task.c	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/kernel/task.c	(revision 167)
@@ -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$
@@ -46,6 +42,5 @@
 
 /*
- *		^XNÇW
-[
+ *		タスク管理モジュール
  */
 
@@ -55,5 +50,5 @@
 
 /*
- *  g[XO}NÌftHgè`
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_TEX_ENTER
@@ -68,53 +63,50 @@
 
 /*
- *  ÀsóÔÌ^XN
+ *  実行状態のタスク
  */
 TCB		*p_runtsk;
 
 /*
- *  ÅDæÊÌ^XN
+ *  最高優先順位のタスク
  */
 TCB		*p_schedtsk;
 
 /*
- *  ^XNfBXpb`^^XNáO[`N®vtO
+ *  タスクディスパッチ／タスク例外処理ルーチン起動要求フラグ
  */
 bool_t	reqflg;
 
 /*
- *  ÝDæx}XNSðóÔ
+ *  割込み優先度マスク全解除状態
  */
 bool_t	ipmflg;
 
 /*
- *  fBXpb`Ö~óÔ
+ *  ディスパッチ禁止状態
  */
 bool_t	disdsp;
 
 /*
- *  ^XNfBXpb`Â\óÔ
+ *  タスクディスパッチ可能状態
  */
 bool_t	dspflg;
 
 /*
- *  fBL
-[
+ *  レディキュー
  */
 QUEUE	ready_queue[TNUM_TPRI];
 
 /*
- *  fBL
-[T[`Ì½ßÌrbg}bv
+ *  レディキューサーチのためのビットマップ
  */
 uint16_t	ready_primap;
 
 /*
- *  gpµÄ¢È¢TCBÌXg
+ *  使用していないTCBのリスト
  */
 QUEUE	free_tcb;
 
 /*
- *  ^XNÇW
-[Ìú»
+ *  タスク管理モジュールの初期化
  */
 void
@@ -160,20 +152,20 @@
 
 /*
- *  rbg}bvT[`Ö
- *
- *  bitmapàÌ1ÌrbgÌàCÅàºÊiEjÌàÌðT[`µC»Ìrb
- *  gÔðÔ·DrbgÔÍCÅºÊrbgð0Æ·éDbitmapÉ0ðwè
- *  µÄÍÈçÈ¢D±ÌÖÅÍCbitmapª16rbgÅ é±Æð¼èµC
- *  uint16_t^ÆµÄ¢éD
- *
- *  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
- *
- *  Ü½CCuÉffsª éÈçCÌæ¤Éè`µÄCuÖð
- *  gÁ½ûªø¦ªÇ¢Â\«à éD
+ *  ビットマップサーチ関数
+ *
+ *  bitmap内の1のビットの内，最も下位（右）のものをサーチし，そのビッ
+ *  ト番号を返す．ビット番号は，最下位ビットを0とする．bitmapに0を指定
+ *  してはならない．この関数では，bitmapが16ビットであることを仮定し，
+ *  uint16_t型としている．
+ *
+ *  ビットサーチ命令を持つプロセッサでは，ビットサーチ命令を使うように
+ *  書き直した方が効率が良い場合がある．このような場合には，ターゲット
+ *  依存部でビットサーチ命令を使ったbitmap_searchを定義し，
+ *  OMIT_BITMAP_SEARCHをマクロ定義すればよい．また，ビットサーチ命令の
+ *  サーチ方向が逆などの理由で優先度とビットとの対応を変更したい場合に
+ *  は，PRIMAP_BITをマクロ定義すればよい．
+ *
+ *  また，ライブラリにffsがあるなら，次のように定義してライブラリ関数を
+ *  使った方が効率が良い可能性もある．
  *		#define	bitmap_search(bitmap) (ffs(bitmap) - 1)
  */
@@ -207,5 +199,5 @@
 
 /*
- *  Dæxrbg}bvªó©Ì`FbN
+ *  優先度ビットマップが空かのチェック
  */
 Inline bool_t
@@ -216,5 +208,5 @@
 
 /*
- *  Dæxrbg}bvÌT[`
+ *  優先度ビットマップのサーチ
  */
 Inline uint_t
@@ -225,5 +217,5 @@
 
 /*
- *  Dæxrbg}bvÌZbg
+ *  優先度ビットマップのセット
  */
 Inline void
@@ -234,5 +226,5 @@
 
 /*
- *  Dæxrbg}bvÌNA
+ *  優先度ビットマップのクリア
  */
 Inline void
@@ -243,5 +235,5 @@
 
 /*
- *  ÅDæÊ^XNÌT[`
+ *  最高優先順位タスクのサーチ
  */
 #ifdef TOPPERS_tsksched
@@ -259,9 +251,9 @@
 
 /*
- *  ÀsÅ«éóÔÖÌJÚ
- *
- *  ÅDæÊÌ^XNðXV·éÌÍCÀsÅ«é^XNªÈ©Á½ê
- *  ÆCp_tcbÌDæxªÅDæÊÌ^XNÌDæxæèà¢êÅ 
- *  éD
+ *  実行できる状態への遷移
+ *
+ *  最高優先順位のタスクを更新するのは，実行できるタスクがなかった場合
+ *  と，p_tcbの優先度が最高優先順位のタスクの優先度よりも高い場合であ
+ *  る．
  */
 #ifdef TOPPERS_tskrun
@@ -285,11 +277,10 @@
 
 /*
- *  ÀsÅ«éóÔ©ç¼ÌóÔÖÌJÚ
- *
- *  ÅDæÊÌ^XNðXV·éÌÍCp_tcbªÅDæÊÌ^XNÅ
- *   Á½êÅ éDp_tcbÆ¯¶DæxÌ^XNª¼É éêÍCp_tcb
- *  ÌÌ^XNªÅDæÊÉÈéD»¤ÅÈ¢êÍCfBL
-[ð
- *  T[`·éKvª éD
+ *  実行できる状態から他の状態への遷移
+ *
+ *  最高優先順位のタスクを更新するのは，p_tcbが最高優先順位のタスクで
+ *  あった場合である．p_tcbと同じ優先度のタスクが他にある場合は，p_tcb
+ *  の次のタスクが最高優先順位になる．そうでない場合は，レディキューを
+ *  サーチする必要がある．
  */
 #ifdef TOPPERS_tsknrun
@@ -321,5 +312,5 @@
 
 /*
- *  x~óÔÖÌJÚ
+ *  休止状態への遷移
  */
 #ifdef TOPPERS_tskdmt
@@ -339,5 +330,5 @@
 
 /*
- *  x~óÔ©çÀsÅ«éóÔÖÌJÚ
+ *  休止状態から実行できる状態への遷移
  */
 #ifdef TOPPERS_tskact
@@ -355,18 +346,14 @@
 
 /*
- *  ^XNÌDæxÌÏX
- *
- *  ^XNªÀsÅ«éóÔÌêÉÍCfBL
-[ÌÅÌÊuðÏX·
- *  éDIuWFNgÌÒ¿L
-[ÌÅÒ¿óÔÉÈÁÄ¢éêÉÍCÒ
- *  ¿L
-[ÌÅÌÊuðÏX·éD
- *
- *  ÅDæÊÌ^XNðXV·éÌÍC(1) p_tcbªÅDæÊÌ^X
- *  NÅ ÁÄC»ÌDæxðº°½êC(2) p_tcbªÅDæÊÌ^X
- *  NÅÍÈ­CÏXãÌDæxªÅDæÊÌ^XNÌDæxæèà¢
- *  êÅ éD(1)ÌêÉÍCfBL
-[ðT[`·éKvª éD
+ *  タスクの優先度の変更
+ *
+ *  タスクが実行できる状態の場合には，レディキューの中での位置を変更す
+ *  る．オブジェクトの待ちキューの中で待ち状態になっている場合には，待
+ *  ちキューの中での位置を変更する．
+ *
+ *  最高優先順位のタスクを更新するのは，(1) p_tcbが最高優先順位のタス
+ *  クであって，その優先度を下げた場合，(2) p_tcbが最高優先順位のタス
+ *  クではなく，変更後の優先度が最高優先順位のタスクの優先度よりも高い
+ *  場合である．(1)の場合には，レディキューをサーチする必要がある．
  */
 #ifdef TOPPERS_tskpri
@@ -382,5 +369,5 @@
 	if (TSTAT_RUNNABLE(p_tcb->tstat)) {
 		/*
-		 *  ^XNªÀsÅ«éóÔÌê
+		 *  タスクが実行できる状態の場合
 		 */
 		queue_delete(&(p_tcb->task_queue));
@@ -407,7 +394,6 @@
 		if (TSTAT_WAIT_WOBJCB(p_tcb->tstat)) {
 			/*
-			 *  ^XNªC¯úEÊMIuWFNgÌÇubNÌ¤Ê
-			 *  ªiWOBJCBjÌÒ¿L
-[ÉÂÈªêÄ¢éê
+			 *  タスクが，同期・通信オブジェクトの管理ブロックの共通部
+			 *  分（WOBJCB）の待ちキューにつながれている場合
 			 */
 			wobj_change_priority(((WINFO_WOBJ *)(p_tcb->p_winfo))->p_wobjcb,
@@ -421,10 +407,8 @@
 
 /*
- *  fBL
-[Ìñ]
- *
- *  ÅDæÊÌ^XNðXV·éÌÍCÅDæÊÌ^XNª^XNL
- *  
-[ÌöÉÚ®µ½êÅ éD
+ *  レディキューの回転
+ *
+ *  最高優先順位のタスクを更新するのは，最高優先順位のタスクがタスクキ
+ *  ューの末尾に移動した場合である．
  */
 #ifdef TOPPERS_tskrot
@@ -450,8 +434,8 @@
 
 /*
- *  ^XNáO[`ÌÄoµ
- *
- *  ASPJ[lÅÍC^XNáO[`àÅCPUbNóÔÉJÚµC
- *  ³ÌóÔÉß³¸É^[µ½êCJ[lª³ÌóÔÉß·D
+ *  タスク例外処理ルーチンの呼出し
+ *
+ *  ASPカーネルでは，タスク例外処理ルーチン内でCPUロック状態に遷移し，
+ *  元の状態に戻さずにリターンした場合，カーネルが元の状態に戻す．
  */
 #ifdef TOPPERS_tsktex
@@ -486,8 +470,8 @@
 		if (p_runtsk != p_schedtsk && dspflg) {
 			/*
-			 *  ±±ÅdispatchðÄÑo·ÍCÝÄAÄoµÉÈÁÄ
-			 *  ¢éªCdispatchðÄÔOÉp_runtsk->enatexðfalseÉµÄ
-			 *  ¨¯ÎxáªÈ¢D»ÌRÉÂ¢ÄÍCuTOPPERS/ASP J[
-			 *  l ÝvvðQÆÌ±ÆD
+			 *  ここでdispatchを呼び出す処理は，相互再帰呼出しになって
+			 *  いるが，dispatchを呼ぶ前にp_runtsk->enatexをfalseにして
+			 *  おけば支障がない．その理由については，「TOPPERS/ASP カー
+			 *  ネル 設計メモ」を参照のこと．
 			 */
 			dispatch();
@@ -498,5 +482,5 @@
 
 /*
- *  ^XNáO[`ÌN®
+ *  タスク例外処理ルーチンの起動
  */
 #ifndef OMIT_CALLTEX
Index: UsbWattMeter/trunk/asp_dcre/kernel/task.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/task.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/kernel/task.h	(revision 167)
@@ -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$
@@ -46,6 +42,5 @@
 
 /*
- *		^XNÇW
-[
+ *		タスク管理モジュール
  */
 
@@ -57,5 +52,5 @@
 
 /*
- *  g[XO}NÌftHgè`
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_TSKSTAT
@@ -64,5 +59,5 @@
 
 /*
- *  ^XNDæxÌà\»EO\»Ï·}N
+ *  タスク優先度の内部表現・外部表現変換マクロ
  */
 #define INT_PRIORITY(x)		((uint_t)((x) - TMIN_TPRI))
@@ -70,38 +65,34 @@
 
 /*
- *  ^XNóÔÌà\»
- *
- *  TCBÌ^XNóÔÅÍCÀsóÔiRUNNINGjÆÀsÂ\óÔiREADYj
- *  ÍæÊµÈ¢D¼óÔðÌµÄCÀsÅ«éóÔiRUNNABLEjÆÄÔD
- *  ñdÒ¿óÔÍC(TS_WAITING | TS_SUSPENDED)Å\·DTS_WAIT_???ÍÒ
- *  ¿vöð\µCÒ¿óÔiñdÒ¿óÔðÜÞjÌêÉÌÝÝè·éD
- */
-#define TS_DORMANT		0x00U			/* x~óÔ */
-#define TS_RUNNABLE		0x01U			/* ÀsÅ«éóÔ */
-#define TS_WAITING		0x02U			/* Ò¿óÔ */
-#define TS_SUSPENDED	0x04U			/* ­§Ò¿óÔ */
-
-#define TS_WAIT_DLY		(0x00U << 3)	/* ÔoßÒ¿ */
-#define TS_WAIT_SLP		(0x01U << 3)	/* N°Ò¿ */
-#define TS_WAIT_RDTQ	(0x02U << 3)	/* f[^L
-[©çÌóMÒ¿ */
-#define TS_WAIT_RPDQ	(0x03U << 3)	/* Dæxf[^L
-[©çÌóMÒ¿ */
-#define TS_WAIT_SEM		(0x04U << 3)	/* Z}tH¹Ìl¾Ò¿ */
-#define TS_WAIT_FLG		(0x05U << 3)	/* CxgtOÒ¿ */
-#define TS_WAIT_SDTQ	(0x06U << 3)	/* f[^L
-[ÖÌMÒ¿ */
-#define TS_WAIT_SPDQ	(0x07U << 3)	/* Dæxf[^L
-[ÖÌMÒ¿ */
-#define TS_WAIT_MBX		(0x08U << 3)	/* [{bNX©çÌóMÒ¿ */
-#define TS_WAIT_MPF		(0x09U << 3)	/* Åè·ubNÌl¾Ò¿ */
-
-/*
- *  ^XNóÔ»Ê}N
- *
- *  TSTAT_DORMANTÍ^XNªx~óÔÅ é©Ç¤©ðCTSTAT_RUNNABLEÍ
- *  ^XNªÀsÅ«éóÔÅ é©Ç¤©ð»Ê·éDTSTAT_WAITINGÍÒ
- *  ¿óÔÆñdÒ¿óÔÌ¢¸ê©Å é©Ç¤©ðCTSTAT_SUSPENDEDÍ
- *  ­§Ò¿óÔÆñdÒ¿óÔÌ¢¸ê©Å é©Ç¤©ð»Ê·éD
+ *  タスク状態の内部表現
+ *
+ *  TCB中のタスク状態では，実行状態（RUNNING）と実行可能状態（READY）
+ *  は区別しない．両状態を総称して，実行できる状態（RUNNABLE）と呼ぶ．
+ *  二重待ち状態は，(TS_WAITING | TS_SUSPENDED)で表す．TS_WAIT_???は待
+ *  ち要因を表し，待ち状態（二重待ち状態を含む）の場合にのみ設定する．
+ */
+#define TS_DORMANT		0x00U			/* 休止状態 */
+#define TS_RUNNABLE		0x01U			/* 実行できる状態 */
+#define TS_WAITING		0x02U			/* 待ち状態 */
+#define TS_SUSPENDED	0x04U			/* 強制待ち状態 */
+
+#define TS_WAIT_DLY		(0x00U << 3)	/* 時間経過待ち */
+#define TS_WAIT_SLP		(0x01U << 3)	/* 起床待ち */
+#define TS_WAIT_RDTQ	(0x02U << 3)	/* データキューからの受信待ち */
+#define TS_WAIT_RPDQ	(0x03U << 3)	/* 優先度データキューからの受信待ち */
+#define TS_WAIT_SEM		(0x04U << 3)	/* セマフォ資源の獲得待ち */
+#define TS_WAIT_FLG		(0x05U << 3)	/* イベントフラグ待ち */
+#define TS_WAIT_SDTQ	(0x06U << 3)	/* データキューへの送信待ち */
+#define TS_WAIT_SPDQ	(0x07U << 3)	/* 優先度データキューへの送信待ち */
+#define TS_WAIT_MBX		(0x08U << 3)	/* メールボックスからの受信待ち */
+#define TS_WAIT_MPF		(0x09U << 3)	/* 固定長メモリブロックの獲得待ち */
+
+/*
+ *  タスク状態判別マクロ
+ *
+ *  TSTAT_DORMANTはタスクが休止状態であるかどうかを，TSTAT_RUNNABLEは
+ *  タスクが実行できる状態であるかどうかを判別する．TSTAT_WAITINGは待
+ *  ち状態と二重待ち状態のいずれかであるかどうかを，TSTAT_SUSPENDEDは
+ *  強制待ち状態と二重待ち状態のいずれかであるかどうかを判別する．
  */
 #define TSTAT_DORMANT(tstat)	((tstat) == TS_DORMANT)
@@ -111,24 +102,22 @@
 
 /*
- *  ^XNÒ¿vö»Ê}N
- *
- *  TSTAT_WAIT_SLPÍ^XNªN°Ò¿Å é©Ç¤©ðCTSTAT_WAIT_WOBJ
- *  Í^XNª¯úEÊMIuWFNgÉÎ·éÒ¿Å é©i¾¢·¦éÆC
- *  ¯úÊMIuWFNgÌÒ¿L
-[ÉÂÈªêÄ¢é©jÇ¤©ð»Ê·
- *  éDÜ½CTSTAT_WAIT_WOBJCBÍ^XNª¯úEÊMIuWFNgÌÇ
- *  ubNÌ¤ÊªiWOBJCBjÌÒ¿L
-[ÉÂÈªêÄ¢é©Ç¤©ð
- *  »Ê·éD
- *
- *  TSTAT_WAIT_SLPÍCCÓÌ^XNóÔÌ©çC^XNªN°Ò¿Å é
- *  ±Æð»ÊÅ«éD·Èí¿CTSTAT_WAITINGÉæèÒ¿óÔÅ é±Æð
- *  »Ê¹¸ÉCTSTAT_SLP¾¯ðp¢ÄN°Ò¿óÔÅ é±Æð»ÊÅ«éD
- *  ±êðø¦IÉÀ»·é½ßÉCTS_WAIT_SLPÌlðC(0x00U << 3)ÅÍÈ
- *  ­(0x01U << 3)ÆµÄ¢éD»Ì½ßC^XNªÔoßÒ¿óÔÅ é
- *  ±Æð»Ê·é½ßÌTSTAT_WAIT_DLYðCTSTAT_WAIT_SLPÆ¯lÌû@Å
- *  À»·é±ÆÍÅ«È¢D
- */
-#define TS_WAIT_MASK	(0x0fU << 3)	/* Ò¿vöÌæoµ}XN */
+ *  タスク待ち要因判別マクロ
+ *
+ *  TSTAT_WAIT_SLPはタスクが起床待ちであるかどうかを，TSTAT_WAIT_WOBJ
+ *  はタスクが同期・通信オブジェクトに対する待ちであるか（言い換えると，
+ *  同期通信オブジェクトの待ちキューにつながれているか）どうかを判別す
+ *  る．また，TSTAT_WAIT_WOBJCBはタスクが同期・通信オブジェクトの管理
+ *  ブロックの共通部分（WOBJCB）の待ちキューにつながれているかどうかを
+ *  判別する．
+ *
+ *  TSTAT_WAIT_SLPは，任意のタスク状態の中から，タスクが起床待ちである
+ *  ことを判別できる．すなわち，TSTAT_WAITINGにより待ち状態であることを
+ *  判別せずに，TSTAT_SLPだけを用いて起床待ち状態であることを判別できる．
+ *  これを効率的に実現するために，TS_WAIT_SLPの値を，(0x00U << 3)ではな
+ *  く(0x01U << 3)としている．そのため，タスクが時間経過待ち状態である
+ *  ことを判別するためのTSTAT_WAIT_DLYを，TSTAT_WAIT_SLPと同様の方法で
+ *  実現することはできない．
+ */
+#define TS_WAIT_MASK	(0x0fU << 3)	/* 待ち要因の取出しマスク */
 
 #define TSTAT_WAIT_SLP(tstat)		(((tstat) & TS_WAIT_MASK) == TS_WAIT_SLP)
@@ -137,242 +126,222 @@
 
 /*
- *  Ò¿îñubNiWINFOjÌè`
- *
- *  ^XNªÒ¿óÔÌÔÍCTCB¨æÑ»Ìp_winfoÅw³êéWINFOðÌ
- *  æ¤ÉÝèµÈ¯êÎÈçÈ¢D
- *
- *  (a) TCBÌ^XNóÔðÒ¿óÔiTS_WAITINGjÉ·éD»ÌÛÉCÒ¿
- *  vöiTS_WAIT_???jàÝè·éD
- *
- *  (b) ^CAEgðÄ·é½ßÉC^CCxgubNðo^·éD
- *  o^·é^CCxgubNÍCÒ¿ÉüéT[rXR[Ö
- *  Ì[JÏÆµÄmÛµC»êÖÌ|C^ðWINFOÌp_tmevtbÉL
- *  ¯·éD^CAEgÌÄªKvÈ¢êiivÒ¿ÌêjÉÍC
- *  p_tmevtbðNULLÉ·éD
- *
- *  ¯úEÊMIuWFNgÉÎ·éÒ¿óÔÌêÉÍCWÌWINFOÉ
- *  p_wobjcbtB[hðÇÁµ½\¢ÌiWINFO_WOBJCwait.hÅè`jðg
- *  ¤DÜ½CÈºÌ(c)`(e)ÌÝèðs¤Kvª éD¯úEÊMIuWF
- *  NgÉÖWµÈ¢Ò¿iN°Ò¿CÔoßÒ¿jÌêÉÍC(c)`(e)
- *  ÍKvÈ¢D
- *
- *  (c) TCBðÒ¿ÎÛÌ¯úEÊMIuWFNgÌÒ¿L
-[ÉÂÈ®DÒ
- *  ¿L
-[ÉÂÈ®½ßÉCtask_queueðg¤D
- *
- *  (d) Ò¿ÎÛÌ¯úEÊMIuWFNgÌÇubNÖÌ|C^ðC
- *  WINFO_WOBJÌp_wobjcbÉL¯·éD
- *
- *  (e) Ò¿ÎÛÌ¯úEÊMIuWFNgÉË¶µÄL¯·é±ÆªKvÈ
- *  îñª éêÉÍCWINFO_WOBJÉKvÈîñÌ½ßÌtB[hðÇÁ
- *  µ½\¢Ìðè`µCWINFO_WOBJÌãíèÉp¢éD
- *
- *  Ò¿óÔðð·éÛÉÍCÒ¿ðµ½^XNÉÎ·éÔlðWINFOÌ
- *  wercdÉÝè·éDwercdªKvÈÌÍÒ¿ðÈ~Å éÌÉÎµÄC
- *  p_tmevtbÍÒ¿ðãÍKvÈ¢½ßCßñÌ½ßÉ¤pÌðgÁ
- *  Ä¢éD»Ì½ßCwercdÖG[R[hðÝè·éÌÍC^CCxg
- *  ubNðo^ðµ½ãÉµÈ¯êÎÈçÈ¢D
+ *  待ち情報ブロック（WINFO）の定義
+ *
+ *  タスクが待ち状態の間は，TCBおよびそのp_winfoで指されるWINFOを次の
+ *  ように設定しなければならない．
+ *
+ *  (a) TCBのタスク状態を待ち状態（TS_WAITING）にする．その際に，待ち
+ *  要因（TS_WAIT_???）も設定する．
+ *
+ *  (b) タイムアウトを監視するために，タイムイベントブロックを登録する．
+ *  登録するタイムイベントブロックは，待ちに入るサービスコール処理関数
+ *  のローカル変数として確保し，それへのポインタをWINFOのp_tmevtbに記
+ *  憶する．タイムアウトの監視が必要ない場合（永久待ちの場合）には，
+ *  p_tmevtbをNULLにする．
+ *
+ *  同期・通信オブジェクトに対する待ち状態の場合には，標準のWINFOに
+ *  p_wobjcbフィールドを追加した構造体（WINFO_WOBJ，wait.hで定義）を使
+ *  う．また，以下の(c)〜(e)の設定を行う必要がある．同期・通信オブジェ
+ *  クトに関係しない待ち（起床待ち，時間経過待ち）の場合には，(c)〜(e)
+ *  は必要ない．
+ *
+ *  (c) TCBを待ち対象の同期・通信オブジェクトの待ちキューにつなぐ．待
+ *  ちキューにつなぐために，task_queueを使う．
+ *
+ *  (d) 待ち対象の同期・通信オブジェクトの管理ブロックへのポインタを，
+ *  WINFO_WOBJのp_wobjcbに記憶する．
+ *
+ *  (e) 待ち対象の同期・通信オブジェクトに依存して記憶することが必要な
+ *  情報がある場合には，WINFO_WOBJに必要な情報のためのフィールドを追加
+ *  した構造体を定義し，WINFO_WOBJの代わりに用いる．
+ *
+ *  待ち状態を解除する際には，待ち解除したタスクに対する返値をWINFOの
+ *  wercdに設定する．wercdが必要なのは待ち解除以降であるのに対して，
+ *  p_tmevtbは待ち解除後は必要ないため，メモリ節約のために共用体を使っ
+ *  ている．そのため，wercdへエラーコードを設定するのは，タイムイベント
+ *  ブロックを登録解除した後にしなければならない．
  */
 typedef union waiting_information {
-	ER		wercd;			/* Ò¿ðÌG[R[h */
-	TMEVTB	*p_tmevtb;		/* Ò¿óÔpÌ^CCxgubN */
+	ER		wercd;			/* 待ち解除時のエラーコード */
+	TMEVTB	*p_tmevtb;		/* 待ち状態用のタイムイベントブロック */
 } WINFO;
 
 /*
- *  ^XNú»ubN
- *
- *  ^XNÉÖ·éîñðClªÏíçÈ¢½ßÉROMÉu¯éªi^XN
- *  ú»ubNjÆClªÏ»·é½ßÉRAMÉu©È¯êÎÈçÈ¢
- *  ªi^XNÇubNCTCBjÉª£µCTCBàÉÎ·é^XNú»
- *  ubNðw·|C^ðüêéD^XNú»ubNàÉÎ·é
- *  TCBðw·|C^ðüêéû@ÌûªCRAMÌßñÌÏ_©çÍ]Üµ¢
- *  ªCÀsø¦ª«­Èé½ßÉÌpµÄ¢È¢D¼ÌIuWFNgÉÂ¢
- *  Äà¯lÉµ¤D
- *
- *  ^XNú»ubNÉÍCDEF_TEXÅè`³êé^XNáO[`
- *  ÉÖ·éîñàÜÞD
+ *  タスク初期化ブロック
+ *
+ *  タスクに関する情報を，値が変わらないためにROMに置ける部分（タスク
+ *  初期化ブロック）と，値が変化するためにRAMに置かなければならない部
+ *  分（タスク管理ブロック，TCB）に分離し，TCB内に対応するタスク初期化
+ *  ブロックを指すポインタを入れる．タスク初期化ブロック内に対応する
+ *  TCBを指すポインタを入れる方法の方が，RAMの節約の観点からは望ましい
+ *  が，実行効率が悪くなるために採用していない．他のオブジェクトについ
+ *  ても同様に扱う．
+ *
+ *  タスク初期化ブロックには，DEF_TEXで定義されるタスク例外処理ルーチ
+ *  ンに関する情報も含む．
  */
 typedef struct task_initialization_block {
-	ATR			tskatr;			/* ^XN®« */
-	intptr_t	exinf;			/* ^XNÌg£îñ */
-	TASK		task;			/* ^XNÌN®Ôn */
-	uint_t		ipriority;		/* ^XNÌN®Dæxià\»j */
+	ATR			tskatr;			/* タスク属性 */
+	intptr_t	exinf;			/* タスクの拡張情報 */
+	TASK		task;			/* タスクの起動番地 */
+	uint_t		ipriority;		/* タスクの起動時優先度（内部表現） */
 
 #ifdef USE_TSKINICTXB
-	TSKINICTXB	tskinictxb;		/* ^XNú»ReLXgubN */
+	TSKINICTXB	tskinictxb;		/* タスク初期化コンテキストブロック */
 #else /* USE_TSKINICTXB */
-	SIZE		stksz;			/* X^bNÌæÌTCYiÛß½lj */
-	void		*stk;			/* X^bNÌæÌæªÔn */
+	SIZE		stksz;			/* スタック領域のサイズ（丸めた値） */
+	void		*stk;			/* スタック領域の先頭番地 */
 #endif /* USE_TSKINICTXB */
 
-	ATR			texatr;			/* ^XNáO[`®« */
-	TEXRTN		texrtn;			/* ^XNáO[`ÌN®Ôn */
+	ATR			texatr;			/* タスク例外処理ルーチン属性 */
+	TEXRTN		texrtn;			/* タスク例外処理ルーチンの起動番地 */
 } TINIB;
 
 /*
- *  TCBÌtB[hÌrbgÌè`
- *
- *  vZbTÉæÁÄÍCTCBÌtB[hÌrbgÅgpÊÆ
- *  «\ªg[hItÉÈé½ßC^[QbgË¶ÉtB[hÌrbg
- *  ðÏX·é±ÆðµÄ¢éD
+ *  TCB中のフィールドのビット幅の定義
+ *
+ *  プロセッサによっては，TCB中のフィールドのビット幅でメモリ使用量と
+ *  性能がトレードオフになるため，ターゲット依存にフィールドのビット幅
+ *  を変更することを許している．
  */
 #ifndef TBIT_TCB_PRIORITY
-#define	TBIT_TCB_PRIORITY		8		/* prioritytB[hÌrbg */
+#define	TBIT_TCB_PRIORITY		8		/* priorityフィールドのビット幅 */
 #endif /* TBIT_TCB_PRIORITY */
 
 /*
- *  ^XNÇubNiTCBj
- *
- *  ASPJ[lÅÍC^XNÌN®vL
-[COÌÅåliTMAX_ACTCNTj
- *  ÆN°vL
-[COÌÅåliTMAX_WUPCNTjÍ1ÉÅè³êÄ¢é
- *  ½ßCL
-[CO³êÄ¢é©Ç¤©Ì^UlÅ\»·é±ÆªÅ«éD
- *  Ü½C­§Ò¿vlXgÌÅåliTMAX_SUSCNTjª1ÉÅè³êÄ¢
- *  éÌÅC­§Ò¿vlXgisuscntjÍKvÈ¢D
- *
- *  TCBÌ¢­Â©ÌtB[hÍCÁèÌ^XNóÔÅÌÝLøÈlðÛµC
- *  »êÈOÌêÍlªÛØ³êÈ¢iæÁÄCQÆµÄÍÈçÈ¢jDe
- *  tB[hªLøÈlðÛ·éðÍÌÊèD
- *
- *  Eú»ãÍíÉLøF
- *  		p_tinibCtstatCactque
- *  Ex~óÔÈOÅLøix~óÔÅÍúlÉÈÁÄ¢éjF
- *  		priorityCwupqueCenatexCtexptn
- *  EÒ¿óÔiñdÒ¿óÔðÜÞjÅLøF
+ *  タスク管理ブロック（TCB）
+ *
+ *  ASPカーネルでは，タスクの起動要求キューイング数の最大値（TMAX_ACTCNT）
+ *  と起床要求キューイング数の最大値（TMAX_WUPCNT）は1に固定されている
+ *  ため，キューイングされているかどうかの真偽値で表現することができる．
+ *  また，強制待ち要求ネスト数の最大値（TMAX_SUSCNT）が1に固定されてい
+ *  るので，強制待ち要求ネスト数（suscnt）は必要ない．
+ *
+ *  TCBのいくつかのフィールドは，特定のタスク状態でのみ有効な値を保持し，
+ *  それ以外の場合は値が保証されない（よって，参照してはならない）．各
+ *  フィールドが有効な値を保持する条件は次の通り．
+ *
+ *  ・初期化後は常に有効：
+ *  		p_tinib，tstat，actque
+ *  ・休止状態以外で有効（休止状態では初期値になっている）：
+ *  		priority，wupque，enatex，texptn
+ *  ・待ち状態（二重待ち状態を含む）で有効：
  *  		p_winfo
- *  EÀsÅ«éóÔÆ¯úEÊMIuWFNgÉÎ·éÒ¿óÔÅLøF
+ *  ・実行できる状態と同期・通信オブジェクトに対する待ち状態で有効：
  *  		task_queue
- *  EÀsÂ\óÔCÒ¿óÔC­§Ò¿óÔCñdÒ¿óÔÅLøF
+ *  ・実行可能状態，待ち状態，強制待ち状態，二重待ち状態で有効：
  *  		tskctxb
  */
 typedef struct task_control_block {
-	QUEUE			task_queue;		/* ^XNL
-[ */
-	const TINIB		*p_tinib;		/* ú»ubNÖÌ|C^ */
+	QUEUE			task_queue;		/* タスクキュー */
+	const TINIB		*p_tinib;		/* 初期化ブロックへのポインタ */
 
 #ifdef UINT8_MAX
-	uint8_t			tstat;			/* ^XNóÔià\»j*/
+	uint8_t			tstat;			/* タスク状態（内部表現）*/
 #else /* UINT8_MAX */
-	BIT_FIELD_UINT	tstat : 8;		/* ^XNóÔià\»j*/
+	BIT_FIELD_UINT	tstat : 8;		/* タスク状態（内部表現）*/
 #endif /* UINT8_MAX */
 #if defined(UINT8_MAX) && (TBIT_TCB_PRIORITY == 8)
-	uint8_t			priority;		/* »ÝÌDæxià\»j*/
+	uint8_t			priority;		/* 現在の優先度（内部表現）*/
 #else /* defined(UINT8_MAX) && (TBIT_TCB_PRIORITY == 8) */
 	BIT_FIELD_UINT	priority : TBIT_TCB_PRIORITY;
-									/* »ÝÌDæxià\»j*/
+									/* 現在の優先度（内部表現）*/
 #endif /* defined(UINT8_MAX) && (TBIT_TCB_PRIORITY == 8) */
-	BIT_FIELD_BOOL	actque : 1;		/* N®vL
-[CO */
-	BIT_FIELD_BOOL	wupque : 1;		/* N°vL
-[CO */
-	BIT_FIELD_BOOL	enatex : 1;		/* ^XNáOÂóÔ */
-
-	TEXPTN			texptn;			/* Û¯áOvö */
-	WINFO			*p_winfo;		/* Ò¿îñubNÖÌ|C^ */
-	TSKCTXB			tskctxb;		/* ^XNReLXgubN */
+	BIT_FIELD_BOOL	actque : 1;		/* 起動要求キューイング */
+	BIT_FIELD_BOOL	wupque : 1;		/* 起床要求キューイング */
+	BIT_FIELD_BOOL	enatex : 1;		/* タスク例外処理許可状態 */
+
+	TEXPTN			texptn;			/* 保留例外要因 */
+	WINFO			*p_winfo;		/* 待ち情報ブロックへのポインタ */
+	TSKCTXB			tskctxb;		/* タスクコンテキストブロック */
 } TCB;
 
 /*
- *  ÀsóÔÌ^XN
- *
- *  ÀsóÔÌ^XNivZbTªReLXgðÁÄ¢é^XNjÌ
- *  TCBðw·|C^DÀsóÔÌ^XNªÈ¢êÍNULLÉ·éD
- *
- *  T[rXR[ÌÅC©^XNiT[rXR[ðÄÑoµ½^X
- *  NjÉÖ·éîñðQÆ·éêÍp_runtskðg¤Dp_runtskð«·¦
- *  éÌÍCfBXpb`iÆú»jÌÝÅ éD
+ *  実行状態のタスク
+ *
+ *  実行状態のタスク（＝プロセッサがコンテキストを持っているタスク）の
+ *  TCBを指すポインタ．実行状態のタスクがない場合はNULLにする．
+ *
+ *  サービスコールの処理中で，自タスク（サービスコールを呼び出したタス
+ *  ク）に関する情報を参照する場合はp_runtskを使う．p_runtskを書き換え
+ *  るのは，ディスパッチャ（と初期化処理）のみである．
  */
 extern TCB	*p_runtsk;
 
 /*
- *  ÅDæÊÌ^XN
- *
- *  ÀsÅ«é^XNÌÅÅDæÊÌ^XNÌTCBðw·|C^DÀ
- *  sÅ«é^XNªÈ¢êÍNULLÉ·éD
- *
- *  fBXpb`Ö~óÔÈÇCfBXpb`ªÛ¯³êÄ¢éÔÍp_runtsk
- *  ÆêvµÄ¢éÆÍÀçÈ¢D
+ *  最高優先順位のタスク
+ *
+ *  実行できるタスクの中で最高優先順位のタスクのTCBを指すポインタ．実
+ *  行できるタスクがない場合はNULLにする．
+ *
+ *  ディスパッチ禁止状態など，ディスパッチが保留されている間はp_runtsk
+ *  と一致しているとは限らない．
  */
 extern TCB	*p_schedtsk;
 
 /*
- *  fBXpb`^^XNáO[`N®vtO
- *
- *  Ýnh^CPUáOnhÌoûÉCfBXpb`Ü½Í
- *  ^XNáO[`ÌN®ðv·é±Æð¦·tOD
+ *  ディスパッチ／タスク例外処理ルーチン起動要求フラグ
+ *
+ *  割込みハンドラ／CPU例外ハンドラの出口処理に，ディスパッチまたは
+ *  タスク例外処理ルーチンの起動を要求することを示すフラグ．
  */
 extern bool_t	reqflg;
 
 /*
- *  ÝDæx}XNSðóÔ
- *
- *  ÝDæx}XNSðóÔÅ é±Æð¦·tOD
+ *  割込み優先度マスク全解除状態
+ *
+ *  割込み優先度マスク全解除状態であることを示すフラグ．
  */
 extern bool_t	ipmflg;
 
 /*
- *  fBXpb`Ö~óÔ
- *
- *  fBXpb`Ö~óÔÅ é±Æð¦·tOD
+ *  ディスパッチ禁止状態
+ *
+ *  ディスパッチ禁止状態であることを示すフラグ．
  */
 extern bool_t	disdsp;
 
 /*
- *  ^XNfBXpb`Â\óÔ
- *
- *  ÝDæx}XNSðóÔÅ èCfBXpb`ÂóÔÅ éifB
- *  Xpb`Ö~óÔÅÈ¢j±Æð¦·tOD
+ *  タスクディスパッチ可能状態
+ *
+ *  割込み優先度マスク全解除状態であり，ディスパッチ許可状態である（ディ
+ *  スパッチ禁止状態でない）ことを示すフラグ．
  */
 extern bool_t	dspflg;
 
 /*
- *  fBL
-[
- *
- *  fBL
-[ÍCÀsÅ«éóÔÌ^XNðÇ·é½ßÌL
-[Å éD
- *  ÀsóÔÌ^XNàÇµÄ¢é½ßCfBiÀsÂ\jL
-[Æ¢¤
- *  ¼ÌÍ³mÅÍÈ¢ªCfBL
-[Æ¢¤¼Ìªè
-µÄ¢é½ßC±
- *  Ì¼ÌÅÄÔ±ÆÉ·éD
- *
- *  fBL
-[ÍCDæx²ÆÌ^XNL
-[Å\¬³êÄ¢éD^XNÌ
- *  TCBÍCY·éDæxÌL
-[Éo^³êéD
+ *  レディキュー
+ *
+ *  レディキューは，実行できる状態のタスクを管理するためのキューである．
+ *  実行状態のタスクも管理しているため，レディ（実行可能）キューという
+ *  名称は正確ではないが，レディキューという名称が定着しているため，こ
+ *  の名称で呼ぶことにする．
+ *
+ *  レディキューは，優先度ごとのタスクキューで構成されている．タスクの
+ *  TCBは，該当する優先度のキューに登録される．
  */
 extern QUEUE	ready_queue[TNUM_TPRI];
 
 /*
- *  fBL
-[T[`Ì½ßÌrbg}bv
- *
- *  fBL
-[ÌT[`ðø¦æ­s¤½ßÉCDæx²ÆÌ^XNL
-[
- *  É^XNªüÁÄ¢é©Ç¤©ð¦·rbg}bvðpÓµÄ¢éDrb
- *  g}bvðg¤±ÆÅCANZXÌñð¸ç·±ÆªÅ«éªC
- *  rbgì½ßª[ÀµÄ¢È¢vZbTÅCDæxÌiKª­È¢
- *  êÉÍCrbg}bvìÌI[o[wbhÌ½ßÉCtÉø¦ª¿
- *  éÂ\«à éD
- *
- *  Dæxª16iKÅ é±Æð¼èµÄ¢é½ßCuint16_t^ÆµÄ¢éD
+ *  レディキューサーチのためのビットマップ
+ *
+ *  レディキューのサーチを効率よく行うために，優先度ごとのタスクキュー
+ *  にタスクが入っているかどうかを示すビットマップを用意している．ビッ
+ *  トマップを使うことで，メモリアクセスの回数を減らすことができるが，
+ *  ビット操作命令が充実していないプロセッサで，優先度の段階数が少ない
+ *  場合には，ビットマップ操作のオーバーヘッドのために，逆に効率が落ち
+ *  る可能性もある．
+ *
+ *  優先度が16段階であることを仮定しているため，uint16_t型としている．
  */
 extern uint16_t	ready_primap;
 
 /*
- *  gpµÄ¢È¢TCBÌXg
+ *  使用していないTCBのリスト
  */
 extern QUEUE	free_tcb;
 
 /*
- *  ^XNIDÌÅålikernel_cfg.cj
+ *  タスクIDの最大値（kernel_cfg.c）
  */
 extern const ID	tmax_tskid;
@@ -380,5 +349,5 @@
 
 /*
- *  ^XNú»ubNÌGAikernel_cfg.cj
+ *  タスク初期化ブロックのエリア（kernel_cfg.c）
  */
 extern const TINIB	tinib_table[];
@@ -386,15 +355,15 @@
 
 /*
- *  ^XN¶¬e[uikernel_cfg.cj
+ *  タスク生成順序テーブル（kernel_cfg.c）
  */
 extern const ID	torder_table[];
 
 /*
- *  TCBÌGAikernel_cfg.cj
+ *  TCBのエリア（kernel_cfg.c）
  */
 extern TCB	tcb_table[];
 
 /*
- *  ^XNÌ
+ *  タスクの数
  */
 #define tnum_tsk	((uint_t)(tmax_tskid - TMIN_TSKID + 1))
@@ -402,5 +371,5 @@
 
 /*
- *  ^XNID©çTCBðæèo·½ßÌ}N
+ *  タスクIDからTCBを取り出すためのマクロ
  */
 #define INDEX_TSK(tskid)	((uint_t)((tskid) - TMIN_TSKID))
@@ -409,118 +378,109 @@
 
 /*
- *  TCB©ç^XNIDðæèo·½ßÌ}N
+ *  TCBからタスクIDを取り出すためのマクロ
  */
 #define	TSKID(p_tcb)	((ID)(((p_tcb) - tcb_table) + TMIN_TSKID))
 
 /*
- *  ^XNÇW
-[Ìú»
+ *  タスク管理モジュールの初期化
  */
 extern void	initialize_task(void);
 
 /*
- *  ÅDæÊ^XNÌT[`
- *
- *  fBL
-[ÌÅDæÊÌ^XNðT[`µC»ÌTCBÖÌ|C^
- *  ðÔ·DfBL
-[ªóÌêÉÍC±ÌÖðÄÑoµÄÍÈçÈ¢D
+ *  最高優先順位タスクのサーチ
+ *
+ *  レディキュー中の最高優先順位のタスクをサーチし，そのTCBへのポインタ
+ *  を返す．レディキューが空の場合には，この関数を呼び出してはならない．
  */
 extern TCB	*search_schedtsk(void);
 
 /*
- *  ÀsÅ«éóÔÖÌJÚ
- *
- *  p_tcbÅwè³êé^XNðfBL
-[É}ü·éDfBL
-[É}ü
- *  µ½^XNÌDæxªCÅDæÊÌ^XNÌDæxæèà¢êÍC
- *  ÅDæÊÌ^XNðXVµCfBXpb`ÂóÔÅ êÎtrueðÔ
- *  ·D»¤ÅÈ¢êÍfalseðÔ·D
+ *  実行できる状態への遷移
+ *
+ *  p_tcbで指定されるタスクをレディキューに挿入する．レディキューに挿入
+ *  したタスクの優先度が，最高優先順位のタスクの優先度よりも高い場合は，
+ *  最高優先順位のタスクを更新し，ディスパッチ許可状態であればtrueを返
+ *  す．そうでない場合はfalseを返す．
  */
 extern bool_t	make_runnable(TCB *p_tcb);
 
 /*
- *  ÀsÅ«éóÔ©ç¼ÌóÔÖÌJÚ
- *
- *  p_tcbÅwè³êé^XNðfBL
-[©çí·éDp_tcbÅwèµ½
- *  ^XNªÅDæÊÌ^XNÅ Á½êÉÍCÅDæÊÌ^XN
- *  ðÝèµÈ¨µCfBXpb`ÂóÔÅ êÎtrueðÔ·D»¤ÅÈ¢
- *  êÍfalseðÔ·D^XNÌóÔÍXVµÈ¢D
+ *  実行できる状態から他の状態への遷移
+ *
+ *  p_tcbで指定されるタスクをレディキューから削除する．p_tcbで指定した
+ *  タスクが最高優先順位のタスクであった場合には，最高優先順位のタスク
+ *  を設定しなおし，ディスパッチ許可状態であればtrueを返す．そうでない
+ *  場合はfalseを返す．タスクの状態は更新しない．
  */
 extern bool_t	make_non_runnable(TCB *p_tcb);
 
 /*
- *  x~óÔÖÌJÚ
- *
- *  p_tcbÅwè³êé^XNÌóÔðx~óÔÆ·éDÜ½C^XNÌN®
- *  Éú»·×«ÏÌú»ÆC^XNN®Ì½ßÌReLXgðÝ
- *  è·éD
+ *  休止状態への遷移
+ *
+ *  p_tcbで指定されるタスクの状態を休止状態とする．また，タスクの起動
+ *  時に初期化すべき変数の初期化と，タスク起動のためのコンテキストを設
+ *  定する．
  */
 extern void	make_dormant(TCB *p_tcb);
 
 /*
- *  x~óÔ©çÀsÅ«éóÔÖÌJÚ
- *
- *  p_tcbÅwè³êé^XNÌóÔðx~óÔ©çÀsÅ«éóÔÆ·éD
- *  ÀsÅ«éóÔÉJÚµ½^XNÖÌfBXpb`ªKvÈêÍtrueC
- *  »¤ÅÈ¢êÍfalseðÔ·D
+ *  休止状態から実行できる状態への遷移
+ *
+ *  p_tcbで指定されるタスクの状態を休止状態から実行できる状態とする．
+ *  実行できる状態に遷移したタスクへのディスパッチが必要な場合はtrue，
+ *  そうでない場合はfalseを返す．
  */
 extern bool_t	make_active(TCB *p_tcb);
 
 /*
- *  ^XNÌDæxÌÏX
- *
- *  p_tcbÅwè³êé^XNÌDæxðnewpriià\»jÉÏX·éDÜ½C
- *  KvÈêÉÍÅDæÊÌ^XNðXVµCfBXpb`ÂóÔÅ
- *   êÎtrueðÔ·D»¤ÅÈ¢êÍfalseðÔ·D
+ *  タスクの優先度の変更
+ *
+ *  p_tcbで指定されるタスクの優先度をnewpri（内部表現）に変更する．また，
+ *  必要な場合には最高優先順位のタスクを更新し，ディスパッチ許可状態で
+ *  あればtrueを返す．そうでない場合はfalseを返す．
  */
 extern bool_t	change_priority(TCB *p_tcb, uint_t newpri);
 
 /*
- *  fBL
-[Ìñ]
- *
- *  fBL
-[ÌCpriÅwè³êéDæxÌ^XNL
-[ðñ]³¹éD
- *  Ü½CKvÈêÉÍÅDæÊÌ^XNðÏXµCfBXpb`ªÛ
- *  ¯³êÄ¢È¯êÎtrueðÔ·D»¤ÅÈ¢êÍfalseðÔ·D
+ *  レディキューの回転
+ *
+ *  レディキュー中の，priで指定される優先度のタスクキューを回転させる．
+ *  また，必要な場合には最高優先順位のタスクを変更し，ディスパッチが保
+ *  留されていなければtrueを返す．そうでない場合はfalseを返す．
  */
 extern bool_t	rotate_ready_queue(uint_t pri);
 
 /*
- *  ^XNáO[`ÌÄoµ
- *
- *  ^XNáO[`ðÄÑo·DÄÑo·OÉCÀsóÔÌ^XNÌ
- *  Û¯áOvöðNAµC^XNáOÖ~óÔÉµCCPUbNðð
- *  ·éD
- *
- *  ^XNáO[`©çßéÆCÜ¸CPUbNóÔÉßµC»ÌÔ
- *  ÉÛ¯áOvöª0ÅÈ­ÈÁÄ¢êÎCÄÑ^XNáO[`ð
- *  ÄÑo·DÛ¯áOvöª0ÌêÉÍCáOÂóÔÉµÄÖ©
- *  ç^[·éD
- *
- *  ±ÌÖÍCÀsóÔÌ^XNªC^XNáOÂóÔienatexª
- *  truejÅCÛ¯áOvöª0ÅÈ¢itexptnª0ÅÈ¢jêÉÄÑo·±
- *  ÆðzèµÄ¢éD±ÌÖÍCCPUbNóÔÅÄÑo³È¯êÎÈç
- *  È¢D
+ *  タスク例外処理ルーチンの呼出し
+ *
+ *  タスク例外処理ルーチンを呼び出す．呼び出す前に，実行状態のタスクの
+ *  保留例外要因をクリアし，タスク例外処理禁止状態にし，CPUロックを解
+ *  除する．
+ *
+ *  タスク例外処理ルーチンから戻ると，まずCPUロック状態に戻し，その間
+ *  に保留例外要因が0でなくなっていれば，再びタスク例外処理ルーチンを
+ *  呼び出す．保留例外要因が0の場合には，例外処理許可状態にして関数か
+ *  らリターンする．
+ *
+ *  この関数は，実行状態のタスクが，タスク例外処理許可状態（enatexが
+ *  true）で，保留例外要因が0でない（texptnが0でない）場合に呼び出すこ
+ *  とを想定している．この関数は，CPUロック状態で呼び出さなければなら
+ *  ない．
  */
 extern void	call_texrtn(void);
 
 /*
- *  ^XNáO[`ÌN®
- *
- *  ÀsóÔÌ^XNª^XNáO[`ÌN®ðð½µÄ¢êÎC
- *  ^XNáO[`ðÄÑo·DCPUáO[`ðÄÑo·
- *  ÍCêIÉCPUbNðð·éD
- *
- *  ±ÌÖÍCfBXpb`âÝnh^CPUáOnhÌoû
- *  ©çÄÑo³êé±ÆðzèµÄ¢éD±ÌÖÍCCPUbNóÔ
- *  ÅÄÑo³È¯êÎÈçÈ¢D
- *
- *  Àsø¦ðã°é½ßÉC±ÌÖð^[QbgË¶ÅLqµÄàæ¢D
- *  »ÌêÉÍCOMIT_CALLTEXð}Nè`·éD
+ *  タスク例外処理ルーチンの起動
+ *
+ *  実行状態のタスクがタスク例外処理ルーチンの起動条件を満たしていれば，
+ *  タスク例外処理ルーチンを呼び出す．CPU例外処理ルーチンを呼び出す時
+ *  は，一時的にCPUロックを解除する．
+ *
+ *  この関数は，ディスパッチャや割込みハンドラ／CPU例外ハンドラの出口
+ *  処理から呼び出されることを想定している．この関数は，CPUロック状態
+ *  で呼び出さなければならない．
+ *
+ *  実行効率を上げるために，この関数をターゲット依存部で記述してもよい．
+ *  その場合には，OMIT_CALLTEXをマクロ定義する．
  */
 extern void	calltex(void);
Index: UsbWattMeter/trunk/asp_dcre/kernel/task_except.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/task_except.c	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/kernel/task_except.c	(revision 167)
@@ -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$
@@ -46,5 +42,5 @@
 
 /*
- *		^XNáO@\
+ *		タスク例外処理機能
  */
 
@@ -54,5 +50,5 @@
 
 /*
- *  g[XO}NÌftHgè`
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_DEF_TEX_ENTER
@@ -113,5 +109,5 @@
 
 /*
- *  ^XNáO[`Ìè`
+ *  タスク例外処理ルーチンの定義
  */
 #ifdef TOPPERS_def_tex
@@ -175,5 +171,5 @@
 
 /*
- *  ^XNáOÌv
+ *  タスク例外処理の要求
  */
 #ifdef TOPPERS_ras_tex
@@ -215,5 +211,5 @@
 
 /*
- *  ^XNáOÌviñ^XNReLXgpj
+ *  タスク例外処理の要求（非タスクコンテキスト用）
  */
 #ifdef TOPPERS_iras_tex
@@ -255,5 +251,5 @@
 
 /*
- *  ^XNáOÌÖ~
+ *  タスク例外処理の禁止
  */
 #ifdef TOPPERS_dis_tex
@@ -285,5 +281,5 @@
 
 /*
- *  ^XNáOÌÂ
+ *  タスク例外処理の許可
  */
 #ifdef TOPPERS_ena_tex
@@ -318,5 +314,5 @@
 
 /*
- *  ^XNáOÖ~óÔÌQÆ
+ *  タスク例外処理禁止状態の参照
  */
 #ifdef TOPPERS_sns_tex
@@ -336,5 +332,5 @@
 
 /*
- *  ^XNáOÌóÔQÆ
+ *  タスク例外処理の状態参照
  */
 #ifdef TOPPERS_ref_tex
Index: UsbWattMeter/trunk/asp_dcre/kernel/task_manage.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/task_manage.c	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/kernel/task_manage.c	(revision 167)
@@ -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$
@@ -46,5 +42,5 @@
 
 /*
- *		^XNÇ@\
+ *		タスク管理機能
  */
 
@@ -55,5 +51,5 @@
 
 /*
- *  g[XO}NÌftHgè`
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_ACRE_TSK_ENTER
@@ -138,10 +134,10 @@
 
 /*
- *  ^XNÌ¶¬
+ *  タスクの生成
  */
 #ifdef TOPPERS_acre_tsk
 
 #ifndef TARGET_MIN_STKSZ
-#define TARGET_MIN_STKSZ	1U		/* ¢è`ÌêÍ0ÅÈ¢±Æð`FbN */
+#define TARGET_MIN_STKSZ	1U		/* 未定義の場合は0でないことをチェック */
 #endif /* TARGET_MIN_STKSZ */
 
@@ -215,5 +211,5 @@
 
 /*
- *  ^XNÌí
+ *  タスクの削除
  */
 #ifdef TOPPERS_del_tsk
@@ -261,5 +257,5 @@
 
 /*
- *  ^XNÌN®
+ *  タスクの起動
  */
 #ifdef TOPPERS_act_tsk
@@ -303,5 +299,5 @@
 
 /*
- *  ^XNÌN®iñ^XNReLXgpj
+ *  タスクの起動（非タスクコンテキスト用）
  */
 #ifdef TOPPERS_iact_tsk
@@ -345,5 +341,5 @@
 
 /*
- *  ^XNN®vÌLZ
+ *  タスク起動要求のキャンセル
  */
 #ifdef TOPPERS_can_act
@@ -378,5 +374,5 @@
 
 /*
- *  ©^XNÌI¹
+ *  自タスクの終了
  */
 #ifdef TOPPERS_ext_tsk
@@ -392,7 +388,7 @@
 	if (t_sense_lock()) {
 		/*
-		 *  CPUbNóÔÅext_tskªÄÎê½êÍCCPUbNððµ
-		 *  Ä©ç^XNðI¹·éDÀãÍCT[rXR[àÅÌCPU
-		 *  bNðÈª·êÎæ¢¾¯D
+		 *  CPUロック状態でext_tskが呼ばれた場合は，CPUロックを解除し
+		 *  てからタスクを終了する．実装上は，サービスコール内でのCPU
+		 *  ロックを省略すればよいだけ．
 		 */
 	}
@@ -402,6 +398,6 @@
 	if (disdsp) {
 		/*
-		 *  fBXpb`Ö~óÔÅext_tskªÄÎê½êÍCfBXpb
-		 *  `ÂóÔÉµÄ©ç^XNðI¹·éD
+		 *  ディスパッチ禁止状態でext_tskが呼ばれた場合は，ディスパッ
+		 *  チ許可状態にしてからタスクを終了する．
 		 */
 		disdsp = false;
@@ -409,7 +405,7 @@
 	if (!ipmflg) {
 		/*
-		 *  ÝDæx}XNiIPMjªTIPM_ENAALLÈOÌóÔÅext_tsk
-		 *  ªÄÎê½êÍCIPMðTIPM_ENAALLÉµÄ©ç^XNðI¹·
-		 *  éD
+		 *  割込み優先度マスク（IPM）がTIPM_ENAALL以外の状態でext_tsk
+		 *  が呼ばれた場合は，IPMをTIPM_ENAALLにしてからタスクを終了す
+		 *  る．
 		 */
 		t_set_ipm(TIPM_ENAALL);
@@ -435,5 +431,5 @@
 
 /*
- *  ^XNÌ­§I¹
+ *  タスクの強制終了
  */
 #ifdef TOPPERS_ter_tsk
@@ -461,7 +457,7 @@
 		if (TSTAT_RUNNABLE(p_tcb->tstat)) {
 			/*
-			 *  p_tcbÍ©^XNÅÈ¢½ßCiVOvZbTÅÍjÀ
-			 *  sóÔÅÈ­Cmake_non_runnable(p_tcb)Å^XNfBXpb
-			 *  `ªKvÉÈé±ÆÍÈ¢D
+			 *  p_tcbは自タスクでないため，（シングルプロセッサでは）実
+			 *  行状態でなく，make_non_runnable(p_tcb)でタスクディスパッ
+			 *  チが必要になることはない．
 			 */
 			(void) make_non_runnable(p_tcb);
@@ -490,5 +486,5 @@
 
 /*
- *  ^XNÌx[XDæxÌÏX
+ *  タスクのベース優先度の変更
  */
 #ifdef TOPPERS_chg_pri
@@ -532,5 +528,5 @@
 
 /*
- *  ^XNDæxÌQÆ
+ *  タスク優先度の参照
  */
 #ifdef TOPPERS_get_pri
@@ -568,5 +564,5 @@
 
 /*
- *  ©^XNÌg£îñÌQÆ
+ *  自タスクの拡張情報の参照
  */
 #ifdef TOPPERS_get_inf
Index: UsbWattMeter/trunk/asp_dcre/kernel/task_refer.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/task_refer.c	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/kernel/task_refer.c	(revision 167)
@@ -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
- * 
- *  {\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$
@@ -44,5 +40,5 @@
 
 /*
- *		^XNÌóÔQÆ@\
+ *		タスクの状態参照機能
  */
 
@@ -60,5 +56,5 @@
 
 /*
- *  g[XO}NÌftHgè`
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_REF_TSK_ENTER
@@ -71,5 +67,5 @@
 
 /*
- *  ^XNÌóÔQÆ
+ *  タスクの状態参照
  */
 #ifdef TOPPERS_ref_tsk
@@ -95,5 +91,5 @@
 		if (TSTAT_DORMANT(tstat)) {
 			/*
-	 		 *  ÎÛ^XNªx~óÔÌê
+	 		 *  対象タスクが休止状態の場合
 			 */
 			pk_rtsk->tskstat = TTS_DMT;
@@ -101,5 +97,5 @@
 		else {
 			/*
-	 		 *  ^XNóÔÌæoµ
+	 		 *  タスク状態の取出し
 			 */
 			if (TSTAT_SUSPENDED(tstat)) {
@@ -122,5 +118,5 @@
 
 			/*
-	 		 *  »ÝDæxÆx[XDæxÌæoµ
+	 		 *  現在優先度とベース優先度の取出し
 			 */
 			pk_rtsk->tskpri = EXT_TSKPRI(p_tcb->priority);
@@ -129,5 +125,5 @@
 			if (TSTAT_WAITING(tstat)) {
 				/*
-		 		 *  Ò¿vöÆÒ¿ÎÛÌIuWFNgÌIDÌæoµ
+		 		 *  待ち要因と待ち対象のオブジェクトのIDの取出し
 				 */
 				switch (tstat & TS_WAIT_MASK) {
@@ -181,5 +177,5 @@
 
 				/*
-		 		 *  ^CAEg·éÜÅÌÔÌæoµ
+		 		 *  タイムアウトするまでの時間の取出し
 				 */
 				if (p_tcb->p_winfo->p_tmevtb != NULL) {
@@ -193,6 +189,5 @@
 
 			/*
-	 		 *  N°vL
-[COÌæoµ
+	 		 *  起床要求キューイング数の取出し
 			 */
 			pk_rtsk->wupcnt = p_tcb->wupque ? 1U : 0U;
@@ -200,6 +195,5 @@
 
 		/*
-		 *  N®vL
-[COÌæoµ
+		 *  起動要求キューイング数の取出し
 		 */
 		pk_rtsk->actcnt = p_tcb->actque ? 1U : 0U;
Index: UsbWattMeter/trunk/asp_dcre/kernel/task_sync.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/task_sync.c	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/kernel/task_sync.c	(revision 167)
@@ -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$
@@ -46,5 +42,5 @@
 
 /*
- *		^XNt®¯ú@\
+ *		タスク付属同期機能
  */
 
@@ -55,5 +51,5 @@
 
 /*
- *  g[XO}NÌftHgè`
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_SLP_TSK_ENTER
@@ -138,5 +134,5 @@
 
 /*
- *  N°Ò¿
+ *  起床待ち
  */
 #ifdef TOPPERS_slp_tsk
@@ -173,5 +169,5 @@
 
 /*
- *  N°Ò¿i^CAEg èj
+ *  起床待ち（タイムアウトあり）
  */
 #ifdef TOPPERS_tslp_tsk
@@ -213,5 +209,5 @@
 
 /*
- *  ^XNÌN°
+ *  タスクの起床
  */
 #ifdef TOPPERS_wup_tsk
@@ -258,5 +254,5 @@
 
 /*
- *  ^XNÌN°iñ^XNReLXgpj
+ *  タスクの起床（非タスクコンテキスト用）
  */
 #ifdef TOPPERS_iwup_tsk
@@ -303,5 +299,5 @@
 
 /*
- *  ^XNN°vÌLZ
+ *  タスク起床要求のキャンセル
  */
 #ifdef TOPPERS_can_wup
@@ -339,5 +335,5 @@
 
 /*
- *  Ò¿óÔÌ­§ð
+ *  待ち状態の強制解除
  */
 #ifdef TOPPERS_rel_wai
@@ -377,5 +373,5 @@
 
 /*
- *  Ò¿óÔÌ­§ðiñ^XNReLXgpj
+ *  待ち状態の強制解除（非タスクコンテキスト用）
  */
 #ifdef TOPPERS_irel_wai
@@ -415,5 +411,5 @@
 
 /*
- *  ­§Ò¿óÔÖÌÚs
+ *  強制待ち状態への移行
  */
 #ifdef TOPPERS_sus_tsk
@@ -442,5 +438,5 @@
 	else if (TSTAT_RUNNABLE(p_tcb->tstat)) {
 		/*
-		 *  ÀsÅ«éóÔ©ç­§Ò¿óÔÖÌJÚ
+		 *  実行できる状態から強制待ち状態への遷移
 		 */
 		p_tcb->tstat = TS_SUSPENDED;
@@ -456,5 +452,5 @@
 	else {
 		/*
-		 *  Ò¿óÔ©çñdÒ¿óÔÖÌJÚ
+		 *  待ち状態から二重待ち状態への遷移
 		 */
 		p_tcb->tstat |= TS_SUSPENDED;
@@ -472,5 +468,5 @@
 
 /*
- *  ­§Ò¿óÔ©çÌÄJ
+ *  強制待ち状態からの再開
  */
 #ifdef TOPPERS_rsm_tsk
@@ -496,5 +492,5 @@
 	else if (!TSTAT_WAITING(p_tcb->tstat)) {
 		/*
-		 *  ­§Ò¿óÔ©çÀsÅ«éóÔÖÌJÚ
+		 *  強制待ち状態から実行できる状態への遷移
 		 */
 		p_tcb->tstat = TS_RUNNABLE;
@@ -507,5 +503,5 @@
 	else {
 		/*
-		 *  ñdÒ¿óÔ©çÒ¿óÔÖÌJÚ
+		 *  二重待ち状態から待ち状態への遷移
 		 */
 		p_tcb->tstat &= ~TS_SUSPENDED;
@@ -523,5 +519,5 @@
 
 /*
- *  ©^XNÌx
+ *  自タスクの遅延
  */
 #ifdef TOPPERS_dly_tsk
Index: UsbWattMeter/trunk/asp_dcre/kernel/time_event.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/time_event.c	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/kernel/time_event.c	(revision 167)
@@ -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$
@@ -46,6 +42,5 @@
 
 /*
- *		^CCxgÇW
-[
+ *		タイムイベント管理モジュール
  */
 
@@ -54,16 +49,16 @@
 
 /*
- *  ^CCxgq[vì}N
- */
-#define	PARENT(index)		((index) >> 1)		/* em[hðßé */
-#define	LCHILD(index)		((index) << 1)		/* ¶Ìqm[hðßé */
+ *  タイムイベントヒープ操作マクロ
+ */
+#define	PARENT(index)		((index) >> 1)		/* 親ノードを求める */
+#define	LCHILD(index)		((index) << 1)		/* 左の子ノードを求める */
 #define	TMEVT_NODE(index)	(tmevt_heap[(index) - 1])
 
 /*
- *  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))
@@ -73,22 +68,22 @@
 
 /*
- *  »ÝÌVXeiPÊ: 1~bj
- *
- *  µ§ÉÍCOÌ^CeBbNÌVXeD
+ *  現在のシステム時刻（単位: 1ミリ秒）
+ *
+ *  厳密には，前のタイムティックのシステム時刻．
  */
 EVTTIM	current_time;
 
 /*
- *  ^CCxgq[vÅLøÈÅ¬ÌVXeiPÊ: 1~bj
+ *  タイムイベントヒープ中で有効な最小のシステム時刻（単位: 1ミリ秒）
  */
 EVTTIM	min_time;
 
 /*
- *  Ì^CeBbNÌVXeiPÊ: 1~bj
+ *  次のタイムティックのシステム時刻（単位: 1ミリ秒）
  */
 EVTTIM	next_time;
 
 /*
- *  VXeÏZpÏiPÊ: 1/TIC_DENO~bj
+ *  システム時刻積算用変数（単位: 1/TIC_DENOミリ秒）
  */
 #if TIC_DENO != 1U
@@ -97,11 +92,10 @@
 
 /*
- *  ^CCxgq[vÌÅãÌgpÌæÌCfbNX
+ *  タイムイベントヒープの最後の使用領域のインデックス
  */
 uint_t	last_index;
 
 /*
- *  ^C}W
-[Ìú»
+ *  タイマモジュールの初期化
  */
 void
@@ -120,9 +114,9 @@
 
 /*
- *  ^CCxgÌ}üÊuðãü«ÉTõ
- *
- *  timeÉ­¶·é^CCxgð}ü·ém[hðó¯é½ßÉC
- *  q[vÌãÉü©ÁÄóm[hðÚ®³¹éDÚ®OÌóm[hÌÊuð
- *  indexÉn·ÆCÚ®ãÌóm[hÌÊui·Èí¿}üÊujðÔ·D
+ *  タイムイベントの挿入位置を上向きに探索
+ *
+ *  時刻timeに発生するタイムイベントを挿入するノードを空けるために，
+ *  ヒープの上に向かって空ノードを移動させる．移動前の空ノードの位置を
+ *  indexに渡すと，移動後の空ノードの位置（すなわち挿入位置）を返す．
  */
 #ifdef TOPPERS_tmeup
@@ -135,6 +129,6 @@
 	while (index > 1) {
 		/*
-		 *  em[hÌCxg­¶Ìûª¢iÜ½Í¯¶jÈçÎC
-		 *  indexª}üÊuÈÌÅ[vð²¯éD
+		 *  親ノードのイベント発生時刻の方が早い（または同じ）ならば，
+		 *  indexが挿入位置なのでループを抜ける．
 		 */
 		parent = PARENT(index);
@@ -144,5 +138,5 @@
 
 		/*
-		 *  em[hðindexÌÊuÉÚ®³¹éD
+		 *  親ノードをindexの位置に移動させる．
 		 */
 		TMEVT_NODE(index) = TMEVT_NODE(parent);
@@ -150,5 +144,5 @@
 
 		/*
-		 *  indexðem[hÌÊuÉXVD
+		 *  indexを親ノードの位置に更新．
 		 */
 		index = parent;
@@ -160,9 +154,9 @@
 
 /*
- *  ^CCxgÌ}üÊuðºü«ÉTõ
- *
- *  timeÉ­¶·é^CCxgð}ü·ém[hðó¯é½ßÉC
- *  q[vÌºÉü©ÁÄóm[hðÚ®³¹éDÚ®OÌóm[hÌÊuð 
- *  indexÉn·ÆCÚ®ãÌóm[hÌÊui·Èí¿}üÊujðÔ·D
+ *  タイムイベントの挿入位置を下向きに探索
+ *
+ *  時刻timeに発生するタイムイベントを挿入するノードを空けるために，
+ *  ヒープの下に向かって空ノードを移動させる．移動前の空ノードの位置を 
+ *  indexに渡すと，移動後の空ノードの位置（すなわち挿入位置）を返す．
  */
 #ifdef TOPPERS_tmedown
@@ -175,7 +169,7 @@
 	while ((child = LCHILD(index)) <= last_index) {
 		/*
-		 *  ¶EÌqm[hÌCxg­¶ðärµC¢ûÌqm[h
-		 *  ÌÊuðchildÉÝè·éDÈºÌqm[hÍC±±ÅIÎê½û
-		 *  Ìqm[hÌ±ÆD
+		 *  左右の子ノードのイベント発生時刻を比較し，早い方の子ノード
+		 *  の位置をchildに設定する．以下の子ノードは，ここで選ばれた方
+		 *  の子ノードのこと．
 		 */
 		if (child + 1 <= last_index
@@ -186,6 +180,6 @@
 
 		/*
-		 *  qm[hÌCxg­¶Ìûªx¢iÜ½Í¯¶jÈçÎC
-		 *  indexª}üÊuÈÌÅ[vð²¯éD
+		 *  子ノードのイベント発生時刻の方が遅い（または同じ）ならば，
+		 *  indexが挿入位置なのでループを抜ける．
 		 */
 		if (EVTTIM_LE(time, TMEVT_NODE(child).time)) {
@@ -194,5 +188,5 @@
 
 		/*
-		 *  qm[hðindexÌÊuÉÚ®³¹éD
+		 *  子ノードをindexの位置に移動させる．
 		 */
 		TMEVT_NODE(index) = TMEVT_NODE(child);
@@ -200,5 +194,5 @@
 
 		/*
-		 *  indexðqm[hÌÊuÉXVD
+		 *  indexを子ノードの位置に更新．
 		 */
 		index = child;
@@ -210,8 +204,8 @@
 
 /*
- *  ^CCxgq[vÖÌo^
- *
- *  p_tmevtbÅwèµ½^CCxgubNðCtimeÅwèµ½Ôªo
- *  ßãÉCxgª­¶·éæ¤ÉC^CCxgq[vÉo^·éD
+ *  タイムイベントヒープへの登録
+ *
+ *  p_tmevtbで指定したタイムイベントブロックを，timeで指定した時間が経
+ *  過後にイベントが発生するように，タイムイベントヒープに登録する．
  */
 #ifdef TOPPERS_tmeins
@@ -223,10 +217,10 @@
 
 	/*
-	 *  last_indexðCNgµC»±©çãÉ}üÊuðT·D
+	 *  last_indexをインクリメントし，そこから上に挿入位置を探す．
 	 */
 	index = tmevt_up(++last_index, time);
 
 	/*
-	 *  ^CCxgðindexÌÊuÉ}ü·éD
+	 *  タイムイベントをindexの位置に挿入する．
 	 */ 
 	TMEVT_NODE(index).time = time;
@@ -238,5 +232,5 @@
 
 /*
- *  ^CCxgq[v©çÌí
+ *  タイムイベントヒープからの削除
  */
 #ifdef TOPPERS_tmedel
@@ -250,5 +244,5 @@
 
 	/*
-	 *  íÉæè^CCxgq[vªóÉÈéêÍ½àµÈ¢D
+	 *  削除によりタイムイベントヒープが空になる場合は何もしない．
 	 */
 	if (--last_index == 0) {
@@ -257,17 +251,17 @@
 
 	/*
-	 *  íµ½m[hÌÊuÉÅãÌm[hilast_index+1ÌÊuÌm[hj
-	 *  ð}üµC»êðKØÈÊuÖÚ®³¹éDÀÛÉÍCÅãÌm[h
-	 *  ðÀÛÉ}ü·éÌÅÍÈ­Cíµ½m[hÌÊuªóm[hÉÈ
-	 *  éÌÅCÅãÌm[hð}ü·×«ÊuÖü¯Äóm[hðÚ®³¹
-	 *  éD
-	 *  ÅãÌm[hÌCxg­¶ªCíµ½m[hÌem[hÌC
-	 *  xg­¶æèOÌêÉÍCãÉü©ÁÄ}üÊuðT·D»
-	 *  ¤ÅÈ¢êÉÍCºÉü©ÁÄT·D
+	 *  削除したノードの位置に最後のノード（last_index+1の位置のノード）
+	 *  を挿入し，それを適切な位置へ移動させる．実際には，最後のノード
+	 *  を実際に挿入するのではなく，削除したノードの位置が空ノードにな
+	 *  るので，最後のノードを挿入すべき位置へ向けて空ノードを移動させ
+	 *  る．
+	 *  最後のノードのイベント発生時刻が，削除したノードの親ノードのイ
+	 *  ベント発生時刻より前の場合には，上に向かって挿入位置を探す．そ
+	 *  うでない場合には，下に向かって探す．
 	 */
 	if (index > 1 && EVTTIM_LT(event_time,
 								TMEVT_NODE(parent = PARENT(index)).time)) {
 		/*
-		 *  em[hðindexÌÊuÉÚ®³¹éD
+		 *  親ノードをindexの位置に移動させる．
 		 */
 		TMEVT_NODE(index) = TMEVT_NODE(parent);
@@ -275,5 +269,5 @@
 
 		/*
-		 *  íµ½m[hÌem[h©çãÉü©ÁÄ}üÊuðT·D
+		 *  削除したノードの親ノードから上に向かって挿入位置を探す．
 		 */
 		index = tmevt_up(parent, event_time);
@@ -281,5 +275,5 @@
 	else {
 		/*
-		 *  íµ½m[h©çºÉü©ÁÄ}üÊuðT·D
+		 *  削除したノードから下に向かって挿入位置を探す．
 		 */
 		index = tmevt_down(index, event_time);
@@ -287,5 +281,5 @@
 
 	/*
-	 *  ÅãÌm[hðindexÌÊuÉ}ü·éD
+	 *  最後のノードをindexの位置に挿入する．
 	 */ 
 	TMEVT_NODE(index) = TMEVT_NODE(last_index + 1);
@@ -296,5 +290,5 @@
 
 /*
- *  ^CCxgq[vÌæªÌm[hÌí
+ *  タイムイベントヒープの先頭のノードの削除
  */
 Inline void
@@ -305,5 +299,5 @@
 
 	/*
-	 *  íÉæè^CCxgq[vªóÉÈéêÍ½àµÈ¢D
+	 *  削除によりタイムイベントヒープが空になる場合は何もしない．
 	 */
 	if (--last_index == 0) {
@@ -312,13 +306,13 @@
 
 	/*
-	 *  [gm[hÉÅãÌm[hilast_index + 1 ÌÊuÌm[hjð
-	 *  }üµC»êðKØÈÊuÖÚ®³¹éDÀÛÉÍCÅãÌm[hð
-	 *  ÀÛÉ}ü·éÌÅÍÈ­C[gm[hªóm[hÉÈéÌÅCÅ
-	 *  ãÌm[hð}ü·×«ÊuÖü¯Äóm[hðÚ®³¹éD
+	 *  ルートノードに最後のノード（last_index + 1 の位置のノード）を
+	 *  挿入し，それを適切な位置へ移動させる．実際には，最後のノードを
+	 *  実際に挿入するのではなく，ルートノードが空ノードになるので，最
+	 *  後のノードを挿入すべき位置へ向けて空ノードを移動させる．
 	 */
 	index = tmevt_down(1, event_time);
 
 	/*
-	 *  ÅãÌm[hðindexÌÊuÉ}ü·éD
+	 *  最後のノードをindexの位置に挿入する．
 	 */ 
 	TMEVT_NODE(index) = TMEVT_NODE(last_index + 1);
@@ -327,5 +321,5 @@
 
 /*
- *  ^CCxgÜÅÌcèÔÌvZ
+ *  タイムイベントまでの残り時間の計算
  */
 #ifdef TOPPERS_tmeltim
@@ -339,5 +333,5 @@
 	if (EVTTIM_LE(time, next_time)) {
 		/*
-		 *  Ì^CeBbNÅ³êéêÉÍ0ðÔ·D
+		 *  次のタイムティックで処理される場合には0を返す．
 		 */
 		return(0U);
@@ -351,5 +345,5 @@
 
 /*
- *  ^CeBbNÌ
+ *  タイムティックの供給
  */
 #ifdef TOPPERS_sigtim
@@ -366,10 +360,10 @@
 
 	/*
-	 *  current_timeðXV·éD
+	 *  current_timeを更新する．
 	 */
 	current_time = next_time;
 
 	/*
-	 *  next_timeCnext_subtimeðXV·éD
+	 *  next_time，next_subtimeを更新する．
 	 */
 #if TIC_DENO == 1U
@@ -385,7 +379,7 @@
 
 	/*
-	 *  current_timeæèCxg­¶Ì¢iÜ½Í¯¶j^CCx
-	 *  gðC^CCxgq[v©çíµCR[obNÖðÄÑ
-	 *  o·D
+	 *  current_timeよりイベント発生時刻の早い（または同じ）タイムイベ
+	 *  ントを，タイムイベントヒープから削除し，コールバック関数を呼び
+	 *  出す．
 	 */
 	while (last_index > 0 && EVTTIM_LE(TMEVT_NODE(1).time, current_time)) {
@@ -396,5 +390,5 @@
 
 	/*
-	 *  min_timeðXV·éD
+	 *  min_timeを更新する．
 	 */
 	min_time = current_time;
Index: UsbWattMeter/trunk/asp_dcre/kernel/time_event.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/time_event.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/kernel/time_event.h	(revision 167)
@@ -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$
@@ -46,6 +42,5 @@
 
 /*
- *		^CCxgÇW
-[
+ *		タイムイベント管理モジュール
  */
 
@@ -54,64 +49,61 @@
 
 /*
- *  Cxg­¶Ìf[^^Ìè`
- *
- *  EVTTIMÍCRELTIMÆµÄwèÅ«éÍÍæèàL¢ÍÍð\»Å«éKv
- *  ª éDÊITRON4.0dlÌX^_[hvt@CÅÍCRELTIMª16rb
- *  gÈãÅÈ¯êÎÈçÈ¢½ßCEVTTIMÍ17rbgÈãÅ é±ÆªKv
- *  Å éD»Ì½ßC16rbgÉÈéêª éuint_tÅÍÈ­Culong_tÉ
- *  è`µÄ¢éD
+ *  イベント発生時刻のデータ型の定義
+ *
+ *  EVTTIMは，RELTIMとして指定できる範囲よりも広い範囲を表現できる必要
+ *  がある．μITRON4.0仕様のスタンダードプロファイルでは，RELTIMが16ビッ
+ *  ト以上でなければならないため，EVTTIMは17ビット以上であることが必要
+ *  である．そのため，16ビットになる場合があるuint_tではなく，ulong_tに
+ *  定義している．
  */
 typedef ulong_t	EVTTIM;
 
 /* 
- *  ^CCxgubNÌf[^^Ìè`
- */
-typedef void	(*CBACK)(void *);	/* R[obNÖÌ^ */
+ *  タイムイベントブロックのデータ型の定義
+ */
+typedef void	(*CBACK)(void *);	/* コールバック関数の型 */
 
 typedef struct time_event_block {
-	uint_t	index;			/* ^CCxgq[vÅÌÊu */
-	CBACK	callback;		/* R[obNÖ */
-	void	*arg;			/* R[obNÖÖn·ø */
+	uint_t	index;			/* タイムイベントヒープ中での位置 */
+	CBACK	callback;		/* コールバック関数 */
+	void	*arg;			/* コールバック関数へ渡す引数 */
 } TMEVTB;
 
 /*
- *  ^CCxgq[vÌm[hÌf[^^Ìè`
+ *  タイムイベントヒープ中のノードのデータ型の定義
  */
 typedef struct time_event_node {
-	EVTTIM	time;			/* Cxg­¶ */
-	TMEVTB	*p_tmevtb;		/* Î·é^CCxgubN */
+	EVTTIM	time;			/* イベント発生時刻 */
+	TMEVTB	*p_tmevtb;		/* 対応するタイムイベントブロック */
 } TMEVTN;
 
 /*
- *  ^CCxgq[vikernel_cfg.cj
+ *  タイムイベントヒープ（kernel_cfg.c）
  */
 extern TMEVTN	tmevt_heap[];
 
 /*
- *  »ÝÌVXeiPÊ: 1~bj
- *
- *  VXeN®É0Éú»³êCÈ~C^CeBbNª³êéxÉ
- *  P²ÉÁ·éD
+ *  現在のシステム時刻（単位: 1ミリ秒）
+ *
+ *  システム起動時に0に初期化され，以降，タイムティックが供給される度に
+ *  単調に増加する．
  */
 extern EVTTIM	current_time;
 
 /*
- *  ^CCxgq[vÅLøÈÅ¬ÌVXeiPÊ: 1~bj
+ *  タイムイベントヒープ中で有効な最小のシステム時刻（単位: 1ミリ秒）
  */
 extern EVTTIM	min_time;
 
 /*
- *  Ì^CeBbNÌVXeiPÊ: 1~bj
+ *  次のタイムティックのシステム時刻（単位: 1ミリ秒）
  */
 extern EVTTIM	next_time;
 
 /*
- *  VXeÏZpÏiPÊ: 1/TIC_DENO~bj
- *
- *  Ì^CeBbNÌVXeÌºÊ
-ð¦·iãÊ
-Ínext_timejD
- *  TIC_DENOª1ÌÍCºÊ
-ÍíÉ0Å é½ßC±ÌÏÍKvÈ¢D
+ *  システム時刻積算用変数（単位: 1/TIC_DENOミリ秒）
+ *
+ *  次のタイムティックのシステム時刻の下位桁を示す（上位桁はnext_time）．
+ *  TIC_DENOが1の時は，下位桁は常に0であるため，この変数は必要ない．
  */
 #if TIC_DENO != 1U
@@ -120,8 +112,8 @@
 
 /*
- *  ÎÔÌîiPÊ: 1~bj
- *
- *  Ì^CeBbNÌVXeðØèã°½DTIC_DENOª1Ì
- *  ÍCnext_timeÉêv·éD
+ *  相対時間の基準時刻（単位: 1ミリ秒）
+ *
+ *  次のタイムティックのシステム時刻を切り上げた時刻．TIC_DENOが1の時
+ *  は，next_timeに一致する．
  */
 #if TIC_DENO == 1U
@@ -132,18 +124,17 @@
 
 /*
- *  ^CCxgq[vÌÅãÌgpÌæÌCfbNX
- *
- *  ^CCxgq[vÉo^³êÄ¢é^CCxgÌÉêv·éD
+ *  タイムイベントヒープの最後の使用領域のインデックス
+ *
+ *  タイムイベントヒープに登録されているタイムイベントの数に一致する．
  */
 extern uint_t	last_index;
 
 /*
- *  ^CCxgÇW
-[Ìú»
+ *  タイムイベント管理モジュールの初期化
  */
 extern void	initialize_tmevt(void);
 
 /*
- *  ^CCxgÌ}üÊuÌTõ
+ *  タイムイベントの挿入位置の探索
  */
 extern uint_t	tmevt_up(uint_t index, EVTTIM time);
@@ -151,5 +142,5 @@
 
 /*
- *  ^CCxgq[vÖÌo^Æí
+ *  タイムイベントヒープへの登録と削除
  */
 extern void	tmevtb_insert(TMEVTB *p_tmevtb, EVTTIM time);
@@ -157,9 +148,9 @@
 
 /*
- *  ^CCxgubNÌo^iÎÔwèj
- *
- *  timeÅwèµ½ÎÔªoßµ½ãÉCargðøÆµÄcallbackªÄ
- *  Ño³êéæ¤ÉCp_tmevtbÅwèµ½^CCxgubNðo^·
- *  éD
+ *  タイムイベントブロックの登録（相対時間指定）
+ *
+ *  timeで指定した相対時間が経過した後に，argを引数としてcallbackが呼
+ *  び出されるように，p_tmevtbで指定したタイムイベントブロックを登録す
+ *  る．
  *  
  */
@@ -175,8 +166,8 @@
 
 /*
- *  ^CCxgubNÌo^iCxg­¶wèj
- *
- *  timeÅwèµ½Cxg­¶ÉCargðøÆµÄcallbackªÄÑo
- *  ³êéæ¤ÉCp_tmevtbÅwèµ½^CCxgubNðo^·éD
+ *  タイムイベントブロックの登録（イベント発生時刻指定）
+ *
+ *  timeで指定したイベント発生時刻に，argを引数としてcallbackが呼び出
+ *  されるように，p_tmevtbで指定したタイムイベントブロックを登録する．
  */
 Inline void
@@ -189,5 +180,5 @@
 
 /*
- *  ^CCxgubNÌo^ð
+ *  タイムイベントブロックの登録解除
  */
 Inline void
@@ -198,10 +189,10 @@
 
 /*
- *  ^CCxgÜÅÌcèÔÌvZ
+ *  タイムイベントまでの残り時間の計算
  */
 extern RELTIM	tmevt_lefttim(TMEVTB *p_tmevtb);
 
 /*
- *  ^CeBbNÌ
+ *  タイムティックの供給
  */
 extern void	signal_time(void);
Index: UsbWattMeter/trunk/asp_dcre/kernel/time_manage.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/time_manage.c	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/kernel/time_manage.c	(revision 167)
@@ -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$
@@ -46,5 +42,5 @@
 
 /*
- *		VXeÇ@\
+ *		システム時刻管理機能
  */
 
@@ -54,5 +50,5 @@
 
 /*
- *  g[XO}NÌftHgè`
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_GET_TIM_ENTER
@@ -73,5 +69,5 @@
 
 /*
- *  VXeÌQÆ
+ *  システム時刻の参照
  */
 #ifdef TOPPERS_get_tim
@@ -98,5 +94,5 @@
 
 /*
- *  «\]¿pVXeÌQÆ
+ *  性能評価用システム時刻の参照
  */
 #ifdef TOPPERS_get_utm
Index: UsbWattMeter/trunk/asp_dcre/kernel/wait.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/wait.c	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/kernel/wait.c	(revision 167)
@@ -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$
@@ -46,6 +42,5 @@
 
 /*
- *		Ò¿óÔÇW
-[
+ *		待ち状態管理モジュール
  */
 
@@ -54,5 +49,5 @@
 
 /*
- *  Ò¿óÔÖÌJÚi^CAEgwèj
+ *  待ち状態への遷移（タイムアウト指定）
  */
 #ifdef TOPPERS_waimake
@@ -77,5 +72,5 @@
 
 /*
- *  Ò¿ð
+ *  待ち解除
  */
 #ifdef TOPPERS_waicmp
@@ -92,5 +87,5 @@
 
 /*
- *  ^CAEgÉº¤Ò¿ð
+ *  タイムアウトに伴う待ち解除
  */
 #ifdef TOPPERS_waitmo
@@ -106,5 +101,5 @@
 
 	/*
-	 *  ±±ÅDæxÌ¢Ýðó¯t¯éD
+	 *  ここで優先度の高い割込みを受け付ける．
 	 */
 	i_unlock_cpu();
@@ -124,5 +119,5 @@
 
 	/*
-	 *  ±±ÅDæxÌ¢Ýðó¯t¯éD
+	 *  ここで優先度の高い割込みを受け付ける．
 	 */
 	i_unlock_cpu();
@@ -133,5 +128,5 @@
 
 /*
- *  Ò¿óÔÌ­§ð
+ *  待ち状態の強制解除
  */
 #ifdef TOPPERS_wairel
@@ -149,10 +144,8 @@
 
 /*
- *  ÀsÌ^XNÌ¯úEÊMIuWFNgÌÒ¿L
-[ÖÌ}ü
+ *  実行中のタスクの同期・通信オブジェクトの待ちキューへの挿入
  *
- *  ÀsÌ^XNðC¯úEÊMIuWFNgÌÒ¿L
-[Ö}ü·éDI
- *  uWFNgÌ®«É¶ÄCFIFOÜ½Í^XNDæxÅ}ü·éD
+ *  実行中のタスクを，同期・通信オブジェクトの待ちキューへ挿入する．オ
+ *  ブジェクトの属性に応じて，FIFO順またはタスク優先度順で挿入する．
  */
 Inline void
@@ -168,5 +161,5 @@
 
 /*
- *  ¯úEÊMIuWFNgÉÎ·éÒ¿óÔÖÌJÚ
+ *  同期・通信オブジェクトに対する待ち状態への遷移
  */
 #ifdef TOPPERS_wobjwai
@@ -197,6 +190,5 @@
 
 /*
- *  Ò¿L
-[Ìú»
+ *  待ちキューの初期化
  */
 #ifdef TOPPERS_iniwque
Index: UsbWattMeter/trunk/asp_dcre/kernel/wait.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/wait.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/kernel/wait.h	(revision 167)
@@ -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$
@@ -46,6 +42,5 @@
 
 /*
- *		Ò¿óÔÇW
-[
+ *		待ち状態管理モジュール
  */
 
@@ -57,11 +52,8 @@
 
 /*
- *  ^XNÌDæxÌÒ¿L
-[ÖÌ}ü
- *
- *  p_tcbÅwè³êé^XNðC^XNDæxÌL
-[p_queueÉ}ü·éD
- *  L
-[ÌÉ¯¶DæxÌ^XNª éêÉÍC»ÌÅãÉ}ü·éD
+ *  タスクの優先度順の待ちキューへの挿入
+ *
+ *  p_tcbで指定されるタスクを，タスク優先度順のキューp_queueに挿入する．
+ *  キューの中に同じ優先度のタスクがある場合には，その最後に挿入する．
  */
 Inline void
@@ -81,10 +73,9 @@
 
 /*
- *  Ò¿óÔÖÌJÚ
- *
- *  ÀsÌ^XNðÒ¿óÔÉJÚ³¹éDïÌIÉÍCÀsÌ^XNð
- *  fBL
-[©çíµCTCBÌp_winfotB[hCWINFOÌp_tmevtbtB[
- *  hðÝè·éD
+ *  待ち状態への遷移
+ *
+ *  実行中のタスクを待ち状態に遷移させる．具体的には，実行中のタスクを
+ *  レディキューから削除し，TCBのp_winfoフィールド，WINFOのp_tmevtbフィー
+ *  ルドを設定する．
  */
 Inline void
@@ -97,21 +88,19 @@
 
 /*
- *  Ò¿óÔÖÌJÚi^CAEgwèj
- *
- *  ÀsÌ^XNðC^CAEgwèt«ÅÒ¿óÔÉJÚ³¹éDïÌ
- *  IÉÍCÀsÌ^XNðfBL
-[©çíµCTCBÌp_winfotB[
- *  hCWINFOÌp_tmevtbtB[hðÝè·éDÜ½C^CCxgu
- *  bNðo^·éD
+ *  待ち状態への遷移（タイムアウト指定）
+ *
+ *  実行中のタスクを，タイムアウト指定付きで待ち状態に遷移させる．具体
+ *  的には，実行中のタスクをレディキューから削除し，TCBのp_winfoフィー
+ *  ルド，WINFOのp_tmevtbフィールドを設定する．また，タイムイベントブ
+ *  ロックを登録する．
  */
 extern void	make_wait_tmout(WINFO *p_winfo, TMEVTB *p_tmevtb, TMO tmout);
 
 /*
- *  Ò¿ðÌ½ßÌ^XNóÔÌXV
- *
- *  p_tcbÅwè³êé^XNðCÒ¿ð·éæ¤^XNóÔðXV·éD
- *  Ò¿ð·é^XNªÀsÅ«éóÔÉÈéêÍCfBL
-[ÉÂÈ
- *  ®DÜ½CfBXpb`ªKvÈêÉÍtrueðÔ·D
+ *  待ち解除のためのタスク状態の更新
+ *
+ *  p_tcbで指定されるタスクを，待ち解除するようタスク状態を更新する．
+ *  待ち解除するタスクが実行できる状態になる場合は，レディキューにつな
+ *  ぐ．また，ディスパッチが必要な場合にはtrueを返す．
  */
 Inline bool_t
@@ -122,5 +111,5 @@
 	if (!TSTAT_SUSPENDED(p_tcb->tstat)) {
 		/*
-		 *  Ò¿óÔ©çÀsÅ«éóÔÖÌJÚ
+		 *  待ち状態から実行できる状態への遷移
 		 */
 		p_tcb->tstat = TS_RUNNABLE;
@@ -130,5 +119,5 @@
 	else {
 		/*
-		 *  ñdÒ¿óÔ©ç­§Ò¿óÔÖÌJÚ
+		 *  二重待ち状態から強制待ち状態への遷移
 		 */
 		p_tcb->tstat = TS_SUSPENDED;
@@ -139,11 +128,8 @@
 
 /*
- *  IuWFNgÒ¿L
-[©çÌí
- *
- *  p_tcbÅwè³êé^XNªC¯úEÊMIuWFNgÌÒ¿L
-[ÉÂ
- *  ÈªêÄ¢êÎCÒ¿L
-[©çí·éD
+ *  オブジェクト待ちキューからの削除
+ *
+ *  p_tcbで指定されるタスクが，同期・通信オブジェクトの待ちキューにつ
+ *  ながれていれば，待ちキューから削除する．
  */
 Inline void
@@ -156,8 +142,8 @@
 
 /*
- *  ÔÒ¿Ì½ßÌ^CCxgubNÌo^ð
- *
- *  p_tcbÅwè³êé^XNÉÎµÄCÔÒ¿Ì½ßÌ^CCxgu
- *  bNªo^³êÄ¢êÎC»êðo^ð·éD
+ *  時間待ちのためのタイムイベントブロックの登録解除
+ *
+ *  p_tcbで指定されるタスクに対して，時間待ちのためのタイムイベントブ
+ *  ロックが登録されていれば，それを登録解除する．
  */
 Inline void
@@ -170,31 +156,27 @@
 
 /*
- *  Ò¿ð
- *
- *  p_tcbÅwè³êé^XNÌÒ¿óÔðð·éDïÌIÉÍC^CC
- *  xgubNªo^³êÄ¢êÎC»êðo^ð·éDÜ½C^XN
- *  óÔðXVµCÒ¿ðµ½^XN©çÌÔlðE_OKÆ·éDÒ¿L
-[
- *  ©çÌíÍsíÈ¢DÒ¿ðµ½^XNÖÌfBXpb`ªKvÈê
- *  ÉÍtrueðÔ·D
+ *  待ち解除
+ *
+ *  p_tcbで指定されるタスクの待ち状態を解除する．具体的には，タイムイ
+ *  ベントブロックが登録されていれば，それを登録解除する．また，タスク
+ *  状態を更新し，待ち解除したタスクからの返値をE_OKとする．待ちキュー
+ *  からの削除は行わない．待ち解除したタスクへのディスパッチが必要な場
+ *  合にはtrueを返す．
  */
 extern bool_t	wait_complete(TCB *p_tcb);
 
 /*
- *  ^CAEgÉº¤Ò¿ð
- *
- *  p_tcbÅwè³êé^XNªCÒ¿L
-[ÉÂÈªêÄ¢êÎÒ¿L
-[
- *  ©çíµC^XNóÔðXV·éDÜ½CÒ¿ðµ½^XN©çÌÔ
- *  lðCwait_tmoutÅÍE_TMOUTCwait_tmout_okÅÍE_OKÆ·éDÒ¿ð
- *  µ½^XNÖÌfBXpb`ªKvÈÍCreqflgðtrueÉ·éD
- *
- *  wait_tmout_okÍCdly_tskÅg¤½ßÌàÌÅCÒ¿L
-[©çí·é
- *  ðsíÈ¢D
- *
- *  ¢¸êÌÖàC^CCxgÌR[obNÖÆµÄp¢é½ßÌ
- *  àÌÅCÝnh©çÄÑo³êé±ÆðzèµÄ¢éD
+ *  タイムアウトに伴う待ち解除
+ *
+ *  p_tcbで指定されるタスクが，待ちキューにつながれていれば待ちキュー
+ *  から削除し，タスク状態を更新する．また，待ち解除したタスクからの返
+ *  値を，wait_tmoutではE_TMOUT，wait_tmout_okではE_OKとする．待ち解除
+ *  したタスクへのディスパッチが必要な時は，reqflgをtrueにする．
+ *
+ *  wait_tmout_okは，dly_tskで使うためのもので，待ちキューから削除する
+ *  処理を行わない．
+ *
+ *  いずれの関数も，タイムイベントのコールバック関数として用いるための
+ *  もので，割込みハンドラから呼び出されることを想定している．
  */
 extern void	wait_tmout(TCB *p_tcb);
@@ -202,24 +184,19 @@
 
 /*
- *  Ò¿óÔÌ­§ð
- *
- *  p_tcbÅwè³êé^XNÌÒ¿óÔð­§IÉð·éDïÌIÉÍC
- *  ^XNªÒ¿L
-[ÉÂÈªêÄ¢êÎÒ¿L
-[©çíµC^CC
- *  xgubNªo^³êÄ¢êÎ»êðo^ð·éDÜ½C^XNÌ
- *  óÔðXVµCÒ¿ðµ½^XN©çÌÔlðE_RLWAIÆ·éDÜ½C
- *  Ò¿ðµ½^XNÖÌfBXpb`ªKvÈêÉÍtrueðÔ·D
+ *  待ち状態の強制解除
+ *
+ *  p_tcbで指定されるタスクの待ち状態を強制的に解除する．具体的には，
+ *  タスクが待ちキューにつながれていれば待ちキューから削除し，タイムイ
+ *  ベントブロックが登録されていればそれを登録解除する．また，タスクの
+ *  状態を更新し，待ち解除したタスクからの返値をE_RLWAIとする．また，
+ *  待ち解除したタスクへのディスパッチが必要な場合にはtrueを返す．
  */
 extern bool_t	wait_release(TCB *p_tcb);
 
 /*
- *  Ò¿L
-[ÌæªÌ^XNID
- *
- *  p_wait_queueÅwèµ½Ò¿L
-[ÌæªÌ^XNIDðÔ·DÒ¿L
-[
- *  ªóÌêÉÍCTSK_NONEðÔ·D
+ *  待ちキューの先頭のタスクID
+ *
+ *  p_wait_queueで指定した待ちキューの先頭のタスクIDを返す．待ちキュー
+ *  が空の場合には，TSK_NONEを返す．
  */
 Inline ID
@@ -235,53 +212,49 @@
 
 /*
- *  ¯úEÊMIuWFNgÌÇubNÌ¤Êªì[`
- *
- *  ¯úEÊMIuWFNgÌú»ubNÆÇubNÌæªªÍ¤
- *  ÊÉÈÁÄ¢éDÈºÍC»Ì¤Êªðµ¤½ßÌ^¨æÑ[`Q
- *  Å éD
- *
- *  ¡ÌÒ¿L
-[ðÂ¯úEÊMIuWFNgÌêCæªÈOÌÒ¿
- *  L
-[ðì·éêÉÍC±êçÌ[`Íg¦È¢DÜ½CIuWF
- *  Ng®«ÌTA_TPRIrbgðQÆ·éÌÅC±Ìrbgð¼ÌÚIÉgÁÄ
- *  ¢éêàC±êçÌ[`Íg¦È¢D
- */
-
-/*
- *  ¯úEÊMIuWFNgÌú»ubNÌ¤Êª
+ *  同期・通信オブジェクトの管理ブロックの共通部分操作ルーチン
+ *
+ *  同期・通信オブジェクトの初期化ブロックと管理ブロックの先頭部分は共
+ *  通になっている．以下は，その共通部分を扱うための型およびルーチン群
+ *  である．
+ *
+ *  複数の待ちキューを持つ同期・通信オブジェクトの場合，先頭以外の待ち
+ *  キューを操作する場合には，これらのルーチンは使えない．また，オブジェ
+ *  クト属性のTA_TPRIビットを参照するので，このビットを他の目的に使って
+ *  いる場合も，これらのルーチンは使えない．
+ */
+
+/*
+ *  同期・通信オブジェクトの初期化ブロックの共通部分
  */
 typedef struct wait_object_initialization_block {
-	ATR			wobjatr;		/* IuWFNg®« */
+	ATR			wobjatr;		/* オブジェクト属性 */
 } WOBJINIB;
 
 /*
- *  ¯úEÊMIuWFNgÌÇubNÌ¤Êª
+ *  同期・通信オブジェクトの管理ブロックの共通部分
  */
 typedef struct wait_object_control_block {
-	QUEUE		wait_queue;		/* Ò¿L
-[ */
-	const WOBJINIB *p_wobjinib;	/* ú»ubNÖÌ|C^ */
+	QUEUE		wait_queue;		/* 待ちキュー */
+	const WOBJINIB *p_wobjinib;	/* 初期化ブロックへのポインタ */
 } WOBJCB;
 
 /*
- *  ¯úEÊMIuWFNgÌÒ¿îñubNÌ¤Êª
- *
- *  ±Ì\¢ÌÍCÒ¿îñubNiWINFOjðg£iIuWFNgwü¾
- *  êÌp³Éjµ½àÌÅ éªCWINFOª¤pÌÅè`³êÄ¢é½
- *  ßÉC1ÂÌtB[hÆµÄÜßÄ¢éD
+ *  同期・通信オブジェクトの待ち情報ブロックの共通部分
+ *
+ *  この構造体は，待ち情報ブロック（WINFO）を拡張（オブジェクト指向言
+ *  語の継承に相当）したものであるが，WINFOが共用体で定義されているた
+ *  めに，1つのフィールドとして含めている．
  */
 typedef struct wait_object_waiting_information {
-	WINFO	winfo;			/* WÌÒ¿îñubN */
-	WOBJCB	*p_wobjcb;		/* Ò¿IuWFNgÌÇubN */
+	WINFO	winfo;			/* 標準の待ち情報ブロック */
+	WOBJCB	*p_wobjcb;		/* 待ちオブジェクトの管理ブロック */
 } WINFO_WOBJ;
 
 /*
- *  ¯úEÊMIuWFNgÉÎ·éÒ¿óÔÖÌJÚ
+ *  同期・通信オブジェクトに対する待ち状態への遷移
  *  
- *  ÀsÌ^XNðÒ¿óÔÉJÚ³¹C¯úEÊMIuWFNgÌÒ¿L
-[
- *  ÉÂÈ®DÜ½CÒ¿îñubNiWINFOjÌp_wobjcbðÝè·éD
- *  wobj_make_wait_tmoutÍC^CCxgubNÌo^às¤D
+ *  実行中のタスクを待ち状態に遷移させ，同期・通信オブジェクトの待ちキュー
+ *  につなぐ．また，待ち情報ブロック（WINFO）のp_wobjcbを設定する．
+ *  wobj_make_wait_tmoutは，タイムイベントブロックの登録も行う．
  */
 extern void	wobj_make_wait(WOBJCB *p_wobjcb, WINFO_WOBJ *p_winfo);
@@ -290,9 +263,8 @@
 
 /*
- *  ^XNDæxÏXÌ
- *
- *  ¯úEÊMIuWFNgÉÎ·éÒ¿óÔÉ é^XNÌDæxªÏX³
- *  ê½êÉCÒ¿L
-[ÌÅÌ^XNÌÊuðC³·éD
+ *  タスク優先度変更時の処理
+ *
+ *  同期・通信オブジェクトに対する待ち状態にあるタスクの優先度が変更さ
+ *  れた場合に，待ちキューの中でのタスクの位置を修正する．
  */
 Inline void
@@ -306,11 +278,9 @@
 
 /*
- *  Ò¿L
-[Ìú»
- *
- *  Ò¿L
-[ÉÂÈªêÄ¢é^XNð·×ÄÒ¿ð·éDÒ¿ðµ½
- *  ^XN©çÌÔlÍCE_DLTÆ·éDÒ¿ðµ½^XNÖÌfBXpb`
- *  ªKvÈêÍtrueC»¤ÅÈ¢êÍfalseðÔ·D
+ *  待ちキューの初期化
+ *
+ *  待ちキューにつながれているタスクをすべて待ち解除する．待ち解除した
+ *  タスクからの返値は，E_DLTとする．待ち解除したタスクへのディスパッチ
+ *  が必要な場合はtrue，そうでない場合はfalseを返す．
  */
 extern bool_t	init_wait_queue(QUEUE *p_wait_queue);
Index: UsbWattMeter/trunk/asp_dcre/library/histogram.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/library/histogram.c	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/library/histogram.c	(revision 167)
@@ -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$
@@ -43,6 +39,5 @@
 
 /*
- *		ÀsÔªzWvW
-[
+ *		実行時間分布集計モジュール
  */
 
@@ -54,5 +49,5 @@
 
 /*
- *  ÀsÔªzvªÌ
+ *  実行時間分布計測の数
  */
 #ifndef TNUM_HIST
@@ -61,11 +56,11 @@
 
 /*
- *  ^[QbgË¶ÅÝèÏX·é½ßÌ}N
+ *  ターゲット依存部で設定変更するためのマクロ
  */
-#ifndef HISTTIM						/* ÀsÔvªpÌÌf[^^ */
+#ifndef HISTTIM						/* 実行時間計測用の時刻のデータ型 */
 #define HISTTIM			SYSUTM
 #endif /* HISTTIM */
 
-#ifndef HIST_GET_TIM				/* ÀsÔvªpÌ»ÝÌæ¾ */
+#ifndef HIST_GET_TIM				/* 実行時間計測用の現在時刻の取得 */
 #ifndef TOPPERS_SUPPORT_GET_UTM
 #error get_utm is not supported.
@@ -74,30 +69,30 @@
 #endif /* HIST_GET_TIM */
 
-#ifndef HIST_CONV_TIM				/* Ì·©çÀsÔÖÌÏ· */
+#ifndef HIST_CONV_TIM				/* 時刻の差から実行時間への変換 */
 #define HIST_CONV_TIM(time)		((uint_t)(time))
 #endif /* HIST_CONV_TIM */
 
-#ifndef HIST_BM_HOOK				/* ÀsÔvª¼OÉs¤×« */
+#ifndef HIST_BM_HOOK				/* 実行時間計測直前に行うべき処理 */
 #define HIST_BM_HOOK()			((void) 0)
 #endif
 
 /*
- *  ÀsÔªzvªÇubN
+ *  実行時間分布計測管理ブロック
  */
 typedef struct histogram_control_block {
-	HISTTIM		begin_time;			/* vªJn */
-	uint_t		maxval;				/* ªzðL^·éÅåÔ */
-	uint_t		*histarea;			/* ªzðL^·éÌæ */
-	uint_t		over;				/* ÅåÔð´¦½x */
-	uint_t		under;				/* ÔÌt]ª^íêéx */
+	HISTTIM		begin_time;			/* 計測開始時刻 */
+	uint_t		maxval;				/* 分布を記録する最大時間 */
+	uint_t		*histarea;			/* 分布を記録するメモリ領域 */
+	uint_t		over;				/* 最大時間を超えた度数 */
+	uint_t		under;				/* 時間の逆転が疑われる度数 */
 } HISTCB;
 
 /*
- *  ÀsÔªzvªÇubNÌGA
+ *  実行時間分布計測管理ブロックのエリア
  */
 static HISTCB	histcb_table[TNUM_HIST];
 
 /*
- *  ÀsÔªzvªIDÌÅ¬lÆÅål
+ *  実行時間分布計測IDの最小値と最大値
  */
 #define TMIN_HISTID		1
@@ -105,5 +100,5 @@
 
 /*
- *  ÀsÔªzvªÌú»
+ *  実行時間分布計測の初期化
  */
 void
@@ -126,5 +121,5 @@
 
 /*
- *  ÀsÔvªÌJn
+ *  実行時間計測の開始
  */
 void
@@ -141,5 +136,5 @@
 
 /*
- *  ÀsÔvªÌI¹
+ *  実行時間計測の終了
  */
 void
@@ -168,5 +163,5 @@
 
 /*
- *  ÀsÔªzvªÌ\¦
+ *  実行時間分布計測の表示
  */
 void
Index: UsbWattMeter/trunk/asp_dcre/library/log_output.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/library/log_output.c	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/library/log_output.c	(revision 167)
@@ -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$
@@ -45,5 +41,5 @@
 
 /*
- *		VXeOÌtH[}bgoÍ
+ *		システムログのフォーマット出力
  */
 
@@ -53,8 +49,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,
@@ -88,5 +84,5 @@
 
 /*
- *  ¶ñ®`oÍ
+ *  文字列整形出力
  */
 static const char raddec[] = "0123456789";
@@ -169,5 +165,5 @@
 
 /*
- *  OîñÌoÍ
+ *  ログ情報の出力
  */
 void
@@ -185,5 +181,5 @@
 	default:
 		/*
-		 *  ¼ÌíÊÌOîñÉÍÎµÄ¢È¢D
+		 *  他の種別のログ情報には対応していない．
 		 */
 		break;
@@ -192,5 +188,5 @@
 
 /*
- *  Oîñr¸bZ[WÌoÍ
+ *  ログ情報喪失メッセージの出力
  */
 void
Index: UsbWattMeter/trunk/asp_dcre/library/mem_pool.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/library/mem_pool.c	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/library/mem_pool.c	(revision 167)
@@ -1,5 +1,5 @@
 /*
- * æ3ñ TOPPERSpACfAEAvP[VJ­ReXg
- * ¼Y õm³ñÌulwIP ÌÚAvðx[XÉµÜµ½B
+ * 第3回 TOPPERS活用アイデア・アプリケーション開発コンテスト
+ * 松浦 光洋さんの「lwIP の移植」をベースにしました。
  * http://www.toppers.jp/contest.html
  *
@@ -7,5 +7,5 @@
  */
 //asp\doc\porting.txt
-//6.15.1æè
+//6.15.1より
 
 #include "kernel/kernel_impl.h"
Index: UsbWattMeter/trunk/asp_dcre/library/strerror.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/library/strerror.c	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/library/strerror.c	(revision 167)
@@ -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$
@@ -45,5 +41,5 @@
 
 /*
- *		G[bZ[W¶ñðÔ·Ö
+ *		エラーメッセージ文字列を返す関数
  */
 
Index: UsbWattMeter/trunk/asp_dcre/library/t_perror.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/library/t_perror.c	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/library/t_perror.c	(revision 167)
@@ -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$
@@ -45,5 +41,5 @@
 
 /*
- *		G[bZ[WÌoÍ
+ *		エラーメッセージの出力
  */
 
Index: UsbWattMeter/trunk/asp_dcre/library/test_lib.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/library/test_lib.c	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/library/test_lib.c	(revision 167)
@@ -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
- * 
- *  {\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$
@@ -43,5 +39,5 @@
 
 /* 
- *		eXgvOpCu
+ *		テストプログラム用ライブラリ
  */
 
@@ -56,15 +52,15 @@
 
 /*
- *	`FbN|Cg
+ *	チェックポイント
  */
 static uint_t	check_count = 0u;
 
 /*
- *	©ÈffÖ
+ *	自己診断関数
  */
 static BIT_FUNC	check_bit_func = NULL;
 
 /*
- *	©ÈffÖÌÝè
+ *	自己診断関数の設定
  */
 void
@@ -75,5 +71,5 @@
 
 /*
- *  eXgvOÌJn
+ *  テストプログラムの開始
  */
 void
@@ -84,5 +80,5 @@
 
 /*
- *  VXeOÌoÍ
+ *  システムログの出力処理
  */
 void
@@ -93,6 +89,6 @@
 
 	/*
-	 *  Oobt@ÉL^³ê½OîñðCáxoÍ@\ðp¢Äo
-	 *  Í·éD
+	 *  ログバッファに記録されたログ情報を，低レベル出力機能を用いて出
+	 *  力する．
 	 */
 	while ((rercd = syslog_rea_log(&logbuf)) >= 0) {
@@ -108,5 +104,5 @@
 
 /*
- *	eXgvOÌI¹
+ *	テストプログラムの終了
  */
 void
@@ -119,10 +115,10 @@
 	(void) ext_ker();
 
-	/* ±±Öé±ÆÍÈ¢Í¸ */
+	/* ここへ来ることはないはず */
 	SIL_UNL_INT();
 }
 
 /*
- *	`FbN|Cg
+ *	チェックポイント
  */
 void
@@ -134,10 +130,10 @@
 
 	/*
-	 *  ÝbNóÔÉ
+	 *  割込みロック状態に
 	 */
 	SIL_LOC_INT();
 
 	/*
-	 *  V[PX`FbN
+	 *  シーケンスチェック
 	 */
 	if (++check_count == count) {
@@ -150,5 +146,5 @@
 
 	/*
-	 *  J[lÌàóÔÌ¸
+	 *  カーネルの内部状態の検査
 	 */
 	if (check_bit_func != NULL) {
@@ -162,5 +158,5 @@
 
 	/*
-	 *  G[ªo³ê½êÍCeXgvOðI¹·éD
+	 *  エラーが検出された場合は，テストプログラムを終了する．
 	 */
 	if (errorflag) {
@@ -169,5 +165,5 @@
 
 	/*
-	 *  ÝbNóÔðð
+	 *  割込みロック状態を解除
 	 */
 	SIL_UNL_INT();
@@ -175,5 +171,5 @@
 
 /*
- *	®¹`FbN|Cg
+ *	完了チェックポイント
  */
 void
@@ -186,5 +182,5 @@
 
 /*
- *	ð`FbNÌG[
+ *	条件チェックのエラー処理
  */
 void
@@ -197,5 +193,5 @@
 
 /*
- *	G[R[h`FbNÌG[
+ *	エラーコードチェックのエラー処理
  */
 void
Index: UsbWattMeter/trunk/asp_dcre/library/vasyslog.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/library/vasyslog.c	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/library/vasyslog.c	(revision 167)
@@ -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$
@@ -45,5 +41,5 @@
 
 /*
- *		ÂÏøÌVXeOCu
+ *		可変数引数のシステムログライブラリ
  */
 
Index: UsbWattMeter/trunk/asp_dcre/pdic/rx600/rx630_uart.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/pdic/rx600/rx630_uart.c	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/pdic/rx600/rx630_uart.c	(revision 167)
@@ -7,36 +7,32 @@
  *  Copyright (C) 2013      by Mitsuhiro Matsuura
  * 
- *  ã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$
@@ -45,5 +41,5 @@
 
 /*
- * UARTp ÈÕSIOhCo
+ * UART用 簡易SIOドライバ
  */
 
@@ -54,5 +50,5 @@
 #include "rx630_uart.h"
 
-/* VA[hWX^iSMR) */
+/* シリアルモードレジスタ（SMR) */
 #define CKS			UINT_C(0x03)
 #define STOP		UINT_C(0x08)
@@ -64,5 +60,5 @@
 #define ASYNC_8BIT	UINT_C(0x40)
 
-/* VARg[WX^iSCR) */
+/* シリアルコントロールレジスタ（SCR) */
 #define CKE			UINT_C(0x03)
 #define TEIE		UINT_C(0x04)
@@ -72,5 +68,5 @@
 #define TIE			UINT_C(0x80)
 
-/* VAXe[^XWX^iSSRj */
+/* シリアルステータスレジスタ（SSR） */
 #define TEND		UINT_C(0x04)
 #define PER			UINT_C(0x08)
@@ -78,5 +74,5 @@
 #define ORER		UINT_C(0x20)
 
-/* VAg£[hWX^iSEMR) */
+/* シリアル拡張モードレジスタ（SEMR) */
 #define ACS0		UINT_C(0x01)
 #define ABCS		UINT_C(0x10)
@@ -86,44 +82,43 @@
 
 /*
- *  VAI/O|[gú»ubNÌè`
+ *  シリアルI/Oポート初期化ブロックの定義
  */
 typedef struct sio_port_initialization_block {
-	volatile uint8_t	*ctlreg;		/* VARg[WX^iSCR) */
-	volatile uint8_t	*modereg;		/* VA[hWX^iSMR) */
-	volatile uint8_t	*extmodereg;	/* VAg£[hWX^iSEMR) */	
-	volatile uint8_t	*statusreg;		/* VAXe[^XWX^iSSRj */
-	volatile uint8_t	*tdreg;			/* gX~bgf[^WX^iTDR)*/
-	volatile uint8_t	*rdreg;			/* V[uf[^WX^iRDR) */
-	volatile uint8_t	*bitratereg;	/* rbg[gWX^iBRR) */
-	volatile uint32_t	*mstpcrreg;		/* W
-[XgbvRg[WX^iMSTPCRj */
-	volatile uint8_t	*ssrreg;		/* Xe[^XWX^ */
-	volatile uint8_t	*rxiirreg;		/* RXIpÝvWX^ */
-	uint8_t				tx_intno;		/* Mif[^GveBjèÝÔ */
-	uint8_t				rx_intno;		/* óMif[^tjèÝÔ */
-	uint8_t				te_intno;		/* MiI¹jèÝÔ */
-	uint8_t				sci_no;			/* SCIÌÔ(SCI0`SCI6) */
-	uint32_t			mstpcr_offset;	/* MSTPCRÌÎ·érbgItZbg */
+	volatile uint8_t	*ctlreg;		/* シリアルコントロールレジスタ（SCR) */
+	volatile uint8_t	*modereg;		/* シリアルモードレジスタ（SMR) */
+	volatile uint8_t	*extmodereg;	/* シリアル拡張モードレジスタ（SEMR) */	
+	volatile uint8_t	*statusreg;		/* シリアルステータスレジスタ（SSR） */
+	volatile uint8_t	*tdreg;			/* トランスミットデータレジスタ（TDR)*/
+	volatile uint8_t	*rdreg;			/* レシーブデータレジスタ（RDR) */
+	volatile uint8_t	*bitratereg;	/* ビットレートレジスタ（BRR) */
+	volatile uint32_t	*mstpcrreg;		/* モジュールストップコントロールレジスタ（MSTPCR） */
+	volatile uint8_t	*ssrreg;		/* ステータスレジスタ */
+	volatile uint8_t	*rxiirreg;		/* RXI用割込み要求レジスタ */
+	uint8_t				tx_intno;		/* 送信（データエンプティ）割り込み番号 */
+	uint8_t				rx_intno;		/* 受信（データフル）割り込み番号 */
+	uint8_t				te_intno;		/* 送信（終了）割り込み番号 */
+	uint8_t				sci_no;			/* SCIの番号(SCI0〜SCI6) */
+	uint32_t			mstpcr_offset;	/* MSTPCRの対応するビットオフセット */
 } SIOPINIB;
 
 /*
- *  VAI/O|[gÇubNÌè`
+ *  シリアルI/Oポート管理ブロックの定義
  */
 struct sio_port_control_block {
-	const SIOPINIB	*p_siopinib; 				/* VAI/O|[gú»ubN */
-	intptr_t 	exinf;			 				/* g£îñ */
-	bool_t		openflag;						/* I[vÏÝtO */
-	bool_t		sendflag;						/* MÝCl[utO */
-	bool_t		getready;						/* ¶ðóMµ½óÔ */
-	bool_t		putready;						/* ¶ðMÅ«éóÔ */
-	bool_t		is_initialized; 				/* foCXú»ÏÝtO */
+	const SIOPINIB	*p_siopinib; 				/* シリアルI/Oポート初期化ブロック */
+	intptr_t 	exinf;			 				/* 拡張情報 */
+	bool_t		openflag;						/* オープン済みフラグ */
+	bool_t		sendflag;						/* 送信割込みイネーブルフラグ */
+	bool_t		getready;						/* 文字を受信した状態 */
+	bool_t		putready;						/* 文字を送信できる状態 */
+	bool_t		is_initialized; 				/* デバイス初期化済みフラグ */
 };
 
 /*
- *  VAI/O|[gÇubNÌGA
+ *  シリアルI/Oポート管理ブロックのエリア
  */
 static SIOPCB	siopcb_table[TNUM_SIOP];
 
-/* WX^e[u */
+/* レジスタテーブル */
 static const SIOPINIB siopinib_table[TNUM_SIOP] =
 {
@@ -167,5 +162,5 @@
 
 /*
- *  VAI/O|[gID©çÇubNðæèo·½ßÌ}N
+ *  シリアルI/OポートIDから管理ブロックを取り出すためのマクロ
  */
 #define INDEX_SIOP(siopid)	 ((uint_t)((siopid) - 1))
@@ -175,5 +170,5 @@
 
 /*
- *  SIOhCoÌVA[hWX^(SMR)
+ *  SIOドライバのシリアルモードレジスタ(SMR)
  */
 static void
@@ -183,41 +178,40 @@
 
 	/*
-	 *  SCIhCoÌú»[`
-	 */
-
-	/*
-	 *  èÝvæWX^ÌÝè(ISELRi)
+	 *  SCIドライバの初期化ルーチン
+	 */
+
+	/*
+	 *  割り込み要求先レジスタの設定(ISELRi)
 	 *
-	 *  ZbglÆ¯¶lðÝè·é±ÆÉÈé½ß,
-	 *  ÍÈª·é.
-	 */
-
-	/*
-	 *  W
-[Xgbv@\ÌÝè
-	 */
-	sil_wrh_mem((uint16_t *)SYSTEM_PRCR_ADDR, (uint16_t)0xA502);	/* ÝÂ */
+	 *  リセット値と同じ値を設定することになるため,
+	 *  処理は省略する.
+	 */
+
+	/*
+	 *  モジュールストップ機能の設定
+	 */
+	sil_wrh_mem((uint16_t *)SYSTEM_PRCR_ADDR, (uint16_t)0xA502);	/* 書込み許可 */
 	sil_wrw_mem((uint32_t *)p_siopinib->mstpcrreg,
 		sil_rew_mem((uint32_t *)p_siopinib->mstpcrreg) & ~p_siopinib->mstpcr_offset);
-	sil_wrh_mem((uint16_t *)SYSTEM_PRCR_ADDR, (uint16_t)0xA500);	/* ÝÖ~ */
-
-	/* óMÖ~, SCKn[qÍüoÍ|[gÆµÄgp */
+	sil_wrh_mem((uint16_t *)SYSTEM_PRCR_ADDR, (uint16_t)0xA500);	/* 書込み禁止 */
+
+	/* 送受信禁止, SCKn端子は入出力ポートとして使用 */
 	sil_wrb_mem((uint8_t *)p_siopinib->ctlreg, 0x00U);
 
-	/* NbNIðrbg(SMR.CKS[1:0]rbgðÝè) */
+	/* クロック選択ビット(SMR.CKS[1:0]ビットを設定) */
 	sil_wrb_mem((uint8_t *)p_siopinib->modereg, 
 					sil_reb_mem((uint8_t *)p_siopinib->modereg) | clksrc);
 
-	/* SMRÉM^ óMtH[}bgðÝè) */
+	/* SMRに送信／ 受信フォーマットを設定) */
 	sil_wrb_mem((uint8_t *)p_siopinib->modereg, 
 			sil_reb_mem((uint8_t *)p_siopinib->modereg) & (~SCI_SMR_FLG_ENABLE));
 
-	/* rbg[gðÝè */
+	/* ビットレートを設定 */
 	sil_wrb_mem((uint8_t *)p_siopinib->bitratereg, bitrate);
 
-	/* rbgúÔ(î{NbN16TCNÌúÔª1rbgúÔÆÈé) */
+	/* ビット期間(基本クロック16サイクルの期間が1ビット期間となる) */
 	for(i = 0; i < 16; i++) { }
 
-	/* óMÂ */
+	/* 送受信許可 */
 	sil_wrb_mem((uint8_t *)p_siopinib->ctlreg, 
 		(sil_reb_mem((uint8_t *)p_siopinib->ctlreg) | SCI_SCR_FLG_ENABLE));
@@ -226,5 +220,5 @@
 
 /*
- *  SIOhCoÌú»[`
+ *  SIOドライバの初期化ルーチン
  */
 void
@@ -235,5 +229,5 @@
 
 	/*
-	 *  VAI/O|[gÇubNÌú»
+	 *  シリアルI/Oポート管理ブロックの初期化
 	 */
 	for (p_siopcb = siopcb_table, i = 0; i < TNUM_SIOP; p_siopcb++, i++){
@@ -245,5 +239,5 @@
 
 /*
- *  J[lN®Ìoi[oÍpÌú»
+ *  カーネル起動時のバナー出力用の初期化
  */
 void
@@ -252,10 +246,10 @@
 	SIOPCB          *p_siopcb   = get_siopcb(siopid);
 	const SIOPINIB  *p_siopinib = get_siopinib(siopid);
-	/*  ±Ì_ÅÍAp_siopcb->p_siopinibÍú»³êÄ¢È¢  */
-
-	/*  ñdú»Ìh~  */
+	/*  この時点では、p_siopcb->p_siopinibは初期化されていない  */
+
+	/*  二重初期化の防止  */
 	p_siopcb->is_initialized = true;
 
-	/*  n[hEFAÌú»ÆMÂ  */
+	/*  ハードウェアの初期化処理と送信許可  */
 	rx630_uart_setmode(p_siopinib , bitrate, clksrc);
 	sil_wrb_mem((uint8_t *)p_siopinib->ctlreg, 
@@ -264,5 +258,5 @@
 
 /*
- *  VAI/O|[gÖÌ|[OÅÌoÍ
+ *  シリアルI/Oポートへのポーリングでの出力
  */
 void
@@ -274,5 +268,5 @@
 
 	/*
-	 *  MWX^ªóÉÈéÜÅÒÂ
+	 *  送信レジスタが空になるまで待つ
 	 */
 	while((sil_reb_mem((uint8_t *)p_siopinib->ssrreg) & SCI_SSR_TEND_BIT) == 0U);
@@ -282,5 +276,5 @@
 
 /*
- *  VAI/O|[gÌI[v
+ *  シリアルI/Oポートのオープン
  */
 SIOPCB *
@@ -295,7 +289,7 @@
 
 	/*
-	 *  n[hEFAÌú»
+	 *  ハードウェアの初期化
 	 *
-	 *  ùÉú»µÄ¢éêÍ, ñdÉú»µÈ¢.
+	 *  既に初期化している場合は, 二重に初期化しない.
 	 */
 	if(!(p_siopcb->is_initialized)){
@@ -312,5 +306,5 @@
 
 /*
- *  VAI/O|[gÌN[Y
+ *  シリアルI/Oポートのクローズ
  */
 void
@@ -318,5 +312,5 @@
 {
 	/*
-	 *  UARTâ~
+	 *  UART停止
 	 */
 	sil_wrh_mem((uint16_t *)p_siopcb->p_siopinib->ctlreg, 0x00U);
@@ -326,5 +320,5 @@
 
 /*
- *  VAI/O|[gÖÌ¶M
+ *  シリアルI/Oポートへの文字送信
  */
 bool_t
@@ -343,5 +337,5 @@
 
 /*
- *  VAI/O|[g©çÌ¶óM
+ *  シリアルI/Oポートからの文字受信
  */
 int_t
@@ -351,9 +345,9 @@
 
 	/*
-	 *  óMtOªONÌÆ«ÌÝóMobt@©ç¶ðæ¾·é.
-	 *  ±êÍ, |[OóMÉÎ·é½ßÅ é.
-	 *  µ©µ, RX600V[YÅÍóMtOªÈ¢±Æ, VXeT[rX
-	 *  ÅÍóMÝÌ©çµ©f[^ðóMµÉÈ¢±Æ©ç, íÉ
-	 *  óMobt@©ç¶ðæ¾·é.
+	 *  受信フラグがONのときのみ受信バッファから文字を取得する.
+	 *  これは, ポーリング受信に対応するためである.
+	 *  しかし, RX600シリーズでは受信フラグがないこと, システムサービス
+	 *  では受信割込みの中からしかデータを受信しに来ないことから, 常に
+	 *  受信バッファから文字を取得する.
 	 */
 	c = (int)(sil_reb_mem((uint8_t *)p_siopcb->p_siopinib->rdreg));
@@ -363,5 +357,5 @@
 
 /*
- *  VAI/O|[g©çÌR[obNÌÂ
+ *  シリアルI/Oポートからのコールバックの許可
  */
 void
@@ -384,5 +378,5 @@
 
 /*
- *  VAI/O|[g©çÌR[obNÌÖ~
+ *  シリアルI/Oポートからのコールバックの禁止
  */
 void
@@ -405,5 +399,5 @@
 
 /*
- *  SIOÌÝT[rX[`
+ *  SIOの割込みサービスルーチン
  */
 void
@@ -415,5 +409,5 @@
 		(void *)p_siopcb->p_siopinib->ssrreg) & SCI_SSR_TEND_BIT) != 0U){
 		/*
-		 *  MÂ\R[obN[`ðÄÑo·D
+		 *  送信可能コールバックルーチンを呼び出す．
 		 */
 		rx630_uart_irdy_snd(p_siopcb->exinf);
@@ -427,11 +421,11 @@
 
 	/*
-	 *  óMtOªONÌÆ«ÌÝóMÊmR[obN[`ðÄÑo·.
-	 *  µ©µ, RX600V[YÅÍóMtOªÈ¢½ß, íÉóMÊm
-	 *  R[obN[`ðÄÑo·.
-	 *  ±±ÅÍóMÝÌ­¶ðM¶é.
-	 */
-	/*
-	 *  óMÊmR[obN[`ðÄÑo·D
+	 *  受信フラグがONのときのみ受信通知コールバックルーチンを呼び出す.
+	 *  しかし, RX600シリーズでは受信フラグがないため, 常に受信通知
+	 *  コールバックルーチンを呼び出す.
+	 *  ここでは受信割込みの発生を信じる.
+	 */
+	/*
+	 *  受信通知コールバックルーチンを呼び出す．
 	 */
 	rx630_uart_irdy_rcv(p_siopcb->exinf);
@@ -440,5 +434,5 @@
 
 /*
- *  |[gÔ©çÇubNÌæªÔnÖÌÏ·
+ *  ポート番号から管理ブロックの先頭番地への変換
  */
 SIOPCB *
@@ -449,5 +443,5 @@
 
 /*
- * ÇubNÌæªÔn©çóMÝÔÖÌÏ·
+ * 管理ブロックの先頭番地から受信割込み番号への変換
  */
 INTNO 
@@ -458,5 +452,5 @@
 
 /*
- * ÇubNÌæªÔn©çMÝÔÖÌÏ·
+ * 管理ブロックの先頭番地から送信割込み番号への変換
  */
 INTNO 
Index: UsbWattMeter/trunk/asp_dcre/pdic/rx600/rx630_uart.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/pdic/rx600/rx630_uart.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/pdic/rx600/rx630_uart.h	(revision 167)
@@ -7,36 +7,32 @@
  *  Copyright (C) 2013      by Mitsuhiro Matsuura
  * 
- *  ã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$
@@ -44,5 +40,5 @@
 
 /*
- *  UARTp ÈÕSIOhCo
+ *  UART用 簡易SIOドライバ
  */
 
@@ -50,5 +46,5 @@
 #define TOPPERS_RX630_UART_H
 
-/* wèÂ\ÈNbN\[X */
+/* 指定可能なクロックソース */
 #define CLK_F1	UINT_C(0x00)
 #define CLK_F4	UINT_C(0x01)
@@ -59,31 +55,31 @@
 
 /*
- *  VAI/O|[gÇubNÌè`
+ *  シリアルI/Oポート管理ブロックの定義
  */
 typedef struct sio_port_control_block	SIOPCB;
 
 /*
- *  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)        /* 受信通知コールバック */
 
 /*
- *  SIOhCoÌú»[`
+ *  SIOドライバの初期化ルーチン
  */
 extern void rx630_uart_initialize(void);
 
 /*
- * J[lN®Ìoi[oÍpÌú»
+ * カーネル起動時のバナー出力用の初期化
  */
 extern void rx630_uart_init(ID siopid , uint8_t baud , uint8_t clksrc);
 
 /*
- *  VAI/O|[gÖÌ|[OÅÌoÍ
+ *  シリアルI/Oポートへのポーリングでの出力
  */
 extern void rx630_uart_pol_putc(char c, ID siopid);
 
 /*
- *  VAI/O|[gÌI[v
+ *  シリアルI/Oポートのオープン
  */
 extern SIOPCB *rx630_uart_opn_por
@@ -91,30 +87,30 @@
 
 /*
- *  VAI/O|[gÌN[Y
+ *  シリアルI/Oポートのクローズ
  */
 extern void rx630_uart_cls_por(SIOPCB *p_siopcb);
 
 /*
- *  VAI/O|[gÖÌ¶M
+ *  シリアルI/Oポートへの文字送信
  */
 extern bool_t rx630_uart_snd_chr(SIOPCB *p_siopcb, char c);
 
 /*
- *  VAI/O|[g©çÌ¶óM
+ *  シリアルI/Oポートからの文字受信
  */
 extern int_t rx630_uart_rcv_chr(SIOPCB *p_siopcb);
 
 /*
- *  VAI/O|[g©çÌR[obNÌÂ
+ *  シリアルI/Oポートからのコールバックの許可
  */
 extern void  rx630_uart_ena_cbr(SIOPCB *p_siopcb, uint_t cbrtn);
 
 /*
- *  VAI/O|[g©çÌR[obNÌÖ~
+ *  シリアルI/Oポートからのコールバックの禁止
  */
 extern void rx630_uart_dis_cbr(SIOPCB *p_siopcb, uint_t cbrtn);
 
 /*
- *  SIOÌÝT[rX[`
+ *  SIOの割込みサービスルーチン
  */
 extern void rx630_uart_tx_isr(ID siopid);
@@ -122,10 +118,10 @@
 
 /*
- *  VAI/O|[g©çÌMÂ\R[obN
+ *  シリアルI/Oポートからの送信可能コールバック
  */
 extern void rx630_uart_irdy_snd(intptr_t exinf);
 
 /*
- *  VAI/O|[g©çÌóMÊmR[obN
+ *  シリアルI/Oポートからの受信通知コールバック
  */
 extern void rx630_uart_irdy_rcv(intptr_t exinf);
@@ -133,15 +129,15 @@
 
 /*
- *  |[gÔ©çÇubNÌæªÔnÖÌÏ·
+ *  ポート番号から管理ブロックの先頭番地への変換
  */
 extern SIOPCB *rx630_uart_get_siopcb(ID siopid);
 
 /*
- * ÇubNÌæªÔn©çóMÝÔÖÌÏ·
+ * 管理ブロックの先頭番地から受信割込み番号への変換
  */
 extern INTNO rx630_uart_intno_rx(SIOPCB *p_siopcb);
 
 /*
- * ÇubNÌæªÔn©çMÝÔÖÌÏ·
+ * 管理ブロックの先頭番地から送信割込み番号への変換
  */
 extern INTNO rx630_uart_intno_tx(SIOPCB *p_siopcb);
Index: UsbWattMeter/trunk/asp_dcre/syssvc/banner.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/syssvc/banner.c	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/syssvc/banner.c	(revision 167)
@@ -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$
@@ -46,5 +42,5 @@
 
 /*
- *		J[lN®bZ[WÌoÍ
+ *		カーネル起動メッセージの出力
  */
 
Index: UsbWattMeter/trunk/asp_dcre/syssvc/banner.cfg
===================================================================
--- UsbWattMeter/trunk/asp_dcre/syssvc/banner.cfg	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/syssvc/banner.cfg	(revision 167)
@@ -4,6 +4,5 @@
 
 /*
- *		J[lN®bZ[WÌoÍÌRtBM
-[Vt@C
+ *		カーネル起動メッセージの出力のコンフィギュレーションファイル
  */
 
Index: UsbWattMeter/trunk/asp_dcre/syssvc/banner.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/syssvc/banner.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/syssvc/banner.h	(revision 167)
@@ -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$
@@ -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: UsbWattMeter/trunk/asp_dcre/syssvc/logtask.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/syssvc/logtask.c	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/syssvc/logtask.c	(revision 167)
@@ -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$
@@ -46,5 +42,5 @@
 
 /*
- *		VXeO^XN
+ *		システムログタスク
  */
 
@@ -57,10 +53,10 @@
 
 /*
- *  VXeO^XNÌoÍæÌ|[gID
+ *  システムログタスクの出力先のポートID
  */
 static ID	logtask_portid;
 
 /*
- *  VAC^tF[XÖÌ1¶oÍ
+ *  シリアルインタフェースへの1文字出力
  */
 static void
@@ -71,5 +67,5 @@
 
 /*
- *  VXeOoÍÌÒ¿í¹
+ *  システムログ出力の待ち合わせ
  */
 ER
@@ -92,6 +88,6 @@
 				if (count == 0U) {
 					/*
-					 *  countª0ÌêÉÍCVAobt@ªó©ðm
-					 *  F·éD
+					 *  countが0の場合には，シリアルバッファが空かを確
+					 *  認する．
 					 */
 					if (serial_ref_por(logtask_portid, &rpor) < 0) {
@@ -111,5 +107,5 @@
 
 			/*
-			 *  LOGTASK_FLUSH_WAIT~bÒÂD
+			 *  LOGTASK_FLUSH_WAITミリ秒待つ．
 			 */
 			rercd = dly_tsk(LOGTASK_FLUSH_WAIT);
@@ -126,5 +122,5 @@
 
 /*
- *  VXeO^XNÌ{Ì
+ *  システムログタスクの本体
  */
 void
@@ -161,5 +157,5 @@
 
 /*
- *  VXeO^XNÌI¹
+ *  システムログタスクの終了処理
  */
 void
@@ -172,6 +168,6 @@
 
 	/*
-	 *  VAC^tF[XhCoÌMobt@É~Ï³ê½f[^
-	 *  ðCáxoÍ@\ðp¢ÄoÍ·éD
+	 *  シリアルインタフェースドライバの送信バッファに蓄積されたデータ
+	 *  を，低レベル出力機能を用いて出力する．
 	 */
 	while (serial_get_chr(logtask_portid, &c)) {
@@ -180,12 +176,12 @@
 
 	/*
-	 *  Oobt@ÉL^³ê½OîñðCáxoÍ@\ðp¢Äo
-	 *  Í·éD
+	 *  ログバッファに記録されたログ情報を，低レベル出力機能を用いて出
+	 *  力する．
 	 */
 	while ((rercd = syslog_rea_log(&logbuf)) >= 0) {
 		if (!msgflg) {
 			/*
-			 *  Oobt@ÉcÁ½OîñÅ é±Æð¦·¶ñðo
-			 *  Í·éD
+			 *  ログバッファに残ったログ情報であることを示す文字列を出
+			 *  力する．
 			 */
 			syslog_printf("-- buffered messages --\n", NULL, target_fput_log);
Index: UsbWattMeter/trunk/asp_dcre/syssvc/logtask.cfg
===================================================================
--- UsbWattMeter/trunk/asp_dcre/syssvc/logtask.cfg	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/syssvc/logtask.cfg	(revision 167)
@@ -4,6 +4,5 @@
 
 /*
- *		VXeO^XNÌRtBM
-[Vt@C
+ *		システムログタスクのコンフィギュレーションファイル
  */
 
Index: UsbWattMeter/trunk/asp_dcre/syssvc/logtask.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/syssvc/logtask.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/syssvc/logtask.h	(revision 167)
@@ -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$
@@ -46,5 +42,5 @@
 
 /*
- *		VXeO^XN
+ *		システムログタスク
  */
 
@@ -59,42 +55,41 @@
 
 /*
- *  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	1024	/* X^bNÌæÌTCY */
+#define LOGTASK_STACK_SIZE	1024	/* スタック領域のサイズ */
 #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_main(intptr_t exinf) throw();
 
 /*
- *  VXeO^XNÌI¹
+ *  システムログタスクの終了処理
  */
 extern void	logtask_terminate(intptr_t exinf) throw();
Index: UsbWattMeter/trunk/asp_dcre/syssvc/serial.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/syssvc/serial.c	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/syssvc/serial.c	(revision 167)
@@ -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$
@@ -46,5 +42,5 @@
 
 /*
- *		VAC^tF[XhCo
+ *		シリアルインタフェースドライバ
  */
 
@@ -57,12 +53,12 @@
 
 /*
- *  obt@TCYÌftHglÆobt@Ìè`
+ *  バッファサイズのデフォルト値とバッファの定義
  */
 #ifndef SERIAL_RCV_BUFSZ1
-#define	SERIAL_RCV_BUFSZ1	256			/* |[g1ÌóMobt@TCY */
+#define	SERIAL_RCV_BUFSZ1	256			/* ポート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 */
 
@@ -70,12 +66,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	256			/* |[g2ÌóMobt@TCY */
+#define	SERIAL_RCV_BUFSZ2	256			/* ポート2の受信バッファサイズ */
 #endif /* SERIAL_RCV_BUFSZ2 */
 
 #ifndef SERIAL_SND_BUFSZ2
-#define	SERIAL_SND_BUFSZ2	256			/* |[g2ÌMobt@TCY */
+#define	SERIAL_SND_BUFSZ2	256			/* ポート2の送信バッファサイズ */
 #endif /* SERIAL_SND_BUFSZ2 */
 
@@ -85,12 +81,12 @@
 #endif /* TNUM_PORT >= 2 */
 
-#if TNUM_PORT >= 3						/* |[g3ÉÖ·éè` */
+#if TNUM_PORT >= 3						/* ポート3に関する定義 */
 
 #ifndef SERIAL_RCV_BUFSZ3
-#define	SERIAL_RCV_BUFSZ3	256			/* |[g3ÌóMobt@TCY */
+#define	SERIAL_RCV_BUFSZ3	256			/* ポート3の受信バッファサイズ */
 #endif /* SERIAL_RCV_BUFSZ3 */
 
 #ifndef SERIAL_SND_BUFSZ3
-#define	SERIAL_SND_BUFSZ3	256			/* |[g3ÌMobt@TCY */
+#define	SERIAL_SND_BUFSZ3	256			/* ポート3の送信バッファサイズ */
 #endif /* SERIAL_SND_BUFSZ3 */
 
@@ -100,12 +96,12 @@
 #endif /* TNUM_PORT >= 3 */
 
-#if TNUM_PORT >= 4						/* |[g4ÉÖ·éè` */
+#if TNUM_PORT >= 4						/* ポート4に関する定義 */
 
 #ifndef SERIAL_RCV_BUFSZ4
-#define	SERIAL_RCV_BUFSZ4	256			/* |[g4ÌóMobt@TCY */
+#define	SERIAL_RCV_BUFSZ4	256			/* ポート4の受信バッファサイズ */
 #endif /* SERIAL_RCV_BUFSZ4 */
 
 #ifndef SERIAL_SND_BUFSZ4
-#define	SERIAL_SND_BUFSZ4	256			/* |[g4ÌMobt@TCY */
+#define	SERIAL_SND_BUFSZ4	256			/* ポート4の送信バッファサイズ */
 #endif /* SERIAL_SND_BUFSZ4 */
 
@@ -115,12 +111,12 @@
 #endif /* TNUM_PORT >= 4 */
 
-#if TNUM_PORT >= 5						/* |[g5ÉÖ·éè` */
+#if TNUM_PORT >= 5						/* ポート5に関する定義 */
 
 #ifndef SERIAL_RCV_BUFSZ5
-#define	SERIAL_RCV_BUFSZ5	256			/* |[g5ÌóMobt@TCY */
+#define	SERIAL_RCV_BUFSZ5	256			/* ポート5の受信バッファサイズ */
 #endif /* SERIAL_RCV_BUFSZ5 */
 
 #ifndef SERIAL_SND_BUFSZ5
-#define	SERIAL_SND_BUFSZ5	256			/* |[g5ÌMobt@TCY */
+#define	SERIAL_SND_BUFSZ5	256			/* ポート5の送信バッファサイズ */
 #endif /* SERIAL_SND_BUFSZ5 */
 
@@ -130,12 +126,12 @@
 #endif /* TNUM_PORT >= 5 */
 
-#if TNUM_PORT >= 6						/* |[g6ÉÖ·éè` */
+#if TNUM_PORT >= 6						/* ポート6に関する定義 */
 
 #ifndef SERIAL_RCV_BUFSZ6
-#define	SERIAL_RCV_BUFSZ6	256			/* |[g6ÌóMobt@TCY */
+#define	SERIAL_RCV_BUFSZ6	256			/* ポート6の受信バッファサイズ */
 #endif /* SERIAL_RCV_BUFSZ6 */
 
 #ifndef SERIAL_SND_BUFSZ6
-#define	SERIAL_SND_BUFSZ6	256			/* |[g6ÌMobt@TCY */
+#define	SERIAL_SND_BUFSZ6	256			/* ポート6の送信バッファサイズ */
 #endif /* SERIAL_SND_BUFSZ6 */
 
@@ -150,22 +146,22 @@
 
 /*
- *  t[§äÉÖA·éèÆ}N
- */
-#define	FC_STOP			'\023'		/* Rg[-S */
-#define	FC_START		'\021'		/* Rg[-Q */
-
-#define BUFCNT_STOP(bufsz)		((bufsz) * 3 / 4)	/* STOPðéî¶ */
-#define BUFCNT_START(bufsz)		((bufsz) / 2)		/* STARTðéî¶ */
-
-/*
- *  VA|[gú»ubN
+ *  フロー制御に関連する定数とマクロ
+ */
+#define	FC_STOP			'\023'		/* コントロール-S */
+#define	FC_START		'\021'		/* コントロール-Q */
+
+#define BUFCNT_STOP(bufsz)		((bufsz) * 3 / 4)	/* STOPを送る基準文字数 */
+#define BUFCNT_START(bufsz)		((bufsz) / 2)		/* STARTを送る基準文字数 */
+
+/*
+ *  シリアルポート初期化ブロック
  */
 typedef struct serial_port_initialization_block {
-	ID		rcv_semid;		/* óMobt@ÇpZ}tHÌID */
-	ID		snd_semid;		/* Mobt@ÇpZ}tHÌID */
-	uint_t	rcv_bufsz;		/* óMobt@TCY */
-	char	*rcv_buffer;	/* óMobt@ */
-	uint_t	snd_bufsz;		/* Mobt@TCY */
-	char	*snd_buffer;	/* Mobt@ */
+	ID		rcv_semid;		/* 受信バッファ管理用セマフォのID */
+	ID		snd_semid;		/* 送信バッファ管理用セマフォのID */
+	uint_t	rcv_bufsz;		/* 受信バッファサイズ */
+	char	*rcv_buffer;	/* 受信バッファ */
+	uint_t	snd_bufsz;		/* 送信バッファサイズ */
+	char	*snd_buffer;	/* 送信バッファ */
 } SPINIB;
 
@@ -192,23 +188,23 @@
 
 /*
- *  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@Ì¶ */
-	char	rcv_fc_chr;			/* é×«START/STOP */
-	bool_t	rcv_stopped;		/* STOPðÁ½óÔ©H */
-
-	uint_t	snd_read_ptr;		/* Mobt@Çoµ|C^ */
-	uint_t	snd_write_ptr;		/* Mobt@Ý|C^ */
-	uint_t	snd_count;			/* Mobt@Ì¶ */
-	bool_t	snd_stopped;		/* STOPðó¯æÁ½óÔ©H */
+	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;			/* 受信バッファ中の文字数 */
+	char	rcv_fc_chr;			/* 送るべきSTART/STOP */
+	bool_t	rcv_stopped;		/* STOPを送った状態か？ */
+
+	uint_t	snd_read_ptr;		/* 送信バッファ読出しポインタ */
+	uint_t	snd_write_ptr;		/* 送信バッファ書込みポインタ */
+	uint_t	snd_count;			/* 送信バッファ中の文字数 */
+	bool_t	snd_stopped;		/* STOPを受け取った状態か？ */
 } SPCB;
 
@@ -216,5 +212,5 @@
 
 /*
- *  VA|[gID©çVA|[gÇubNðæèo·½ßÌ}N
+ *  シリアルポートIDからシリアルポート管理ブロックを取り出すためのマクロ
  */
 #define INDEX_PORT(portid)	((uint_t)((portid) - 1))
@@ -222,5 +218,5 @@
 
 /*
- *  |C^ÌCNg
+ *  ポインタのインクリメント
  */
 #define INC_PTR(ptr, bufsz) do {	\
@@ -231,8 +227,8 @@
 
 /*
- *  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) do {		\
@@ -244,5 +240,5 @@
 
 /*
- *  E_SYSG[Ì¶¬
+ *  E_SYSエラーの生成
  */
 static ER
@@ -254,5 +250,5 @@
 
 /*
- *  Ò¿ÉüéT[rXR[©çÌG[ÌÏ·
+ *  待ちに入るサービスコールからのエラーの変換
  */
 static ER
@@ -270,5 +266,5 @@
 
 /*
- *  VAC^tF[XhCoÌú»[`
+ *  シリアルインタフェースドライバの初期化ルーチン
  */
 void
@@ -286,5 +282,5 @@
 
 /*
- *  VA|[gÌI[viT[rXR[j
+ *  シリアルポートのオープン（サービスコール）
  */
 ER
@@ -294,19 +290,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 | IOCTL_FCSND | IOCTL_FCRCV);
@@ -324,5 +320,5 @@
 
 		/*
-		 *  ±êÈ~CÝðÖ~·éD
+		 *  これ以降，割込みを禁止する．
 		 */
 		if (loc_cpu() < 0) {
@@ -332,10 +328,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);
@@ -359,5 +355,5 @@
 
 /*
- *  VA|[gÌN[YiT[rXR[j
+ *  シリアルポートのクローズ（サービスコール）
  */
 ER
@@ -368,19 +364,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) {
@@ -394,5 +390,5 @@
 
 		/*
-		 *  Z}tHÌú»
+		 *  セマフォの初期化
 		 */
 		if (ini_sem(p_spcb->p_spinib->snd_semid) < 0) {
@@ -404,5 +400,5 @@
 
 		/*
-		 *  G[R[hÌÝè
+		 *  エラーコードの設定
 		 */
 		if (eflag) {
@@ -420,10 +416,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
@@ -440,5 +436,5 @@
 
 /*
- *  VA|[gÖÌ1¶M
+ *  シリアルポートへの1文字送信
  */
 static ER_BOOL
@@ -449,11 +445,11 @@
 
 	/*
-	 *  LFÌOÉCRðM·éD
+	 *  LFの前にCRを送信する．
 	 */
 	if (c == '\n' && (p_spcb->ioctl & IOCTL_CRLF) != 0U) {
 		/*
-		 *  ÈºÌR[hÍÄAÄoµÉÈÁÄ¢éªCøcª'\n'ÌêÉ
-		 *  øcð'\r'ÆµÄÄÑo·±Æ©çC±ÌÄAÄoµÍ2ñÚÌ
-		 *  ÄÑoµÅK¸~ÜéD
+		 *  以下のコードは再帰呼出しになっているが，引数cが'\n'の場合に
+		 *  引数cを'\r'として呼び出すことから，この再帰呼出しは2回目の
+		 *  呼び出しで必ず止まる．
 		 */
 		SVC(rercd = serial_wri_chr(p_spcb, '\r'), rercd);
@@ -468,6 +464,6 @@
 								&& serial_snd_chr(p_spcb, c)) {
 		/*
-		 *  VAI/OfoCXÌMWX^É¶ðüêé±ÆÉ¬÷µ
-		 *  ½êD
+		 *  シリアルI/Oデバイスの送信レジスタに文字を入れることに成功し
+		 *  た場合．
 		 */
 		buffer_full = false;
@@ -475,5 +471,5 @@
 	else {
 		/*
-		 *  Mobt@É¶ðüêéD
+		 *  送信バッファに文字を入れる．
 		 */
 		p_spcb->p_spinib->snd_buffer[p_spcb->snd_write_ptr] = c;
@@ -491,5 +487,5 @@
 
 /*
- *  VA|[gÖÌ¶ñMiT[rXR[j
+ *  シリアルポートへの文字列送信（サービスコール）
  */
 ER_UINT
@@ -501,20 +497,20 @@
 	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);
 	}
 
-	buffer_full = true;				/* [vÌ1ñßÍwai_sem·é */
+	buffer_full = true;				/* ループの1回めはwai_semする */
 	while (wricnt < len) {
 		if (buffer_full) {
@@ -536,5 +532,5 @@
 
 /*
- *  VA|[g©çÌ1¶óM
+ *  シリアルポートからの1文字受信
  */
 static bool_t
@@ -547,5 +543,5 @@
 
 	/*
-	 *  óMobt@©ç¶ðæèo·D
+	 *  受信バッファから文字を取り出す．
 	 */
 	*p_c = p_spcb->p_spinib->rcv_buffer[p_spcb->rcv_read_ptr];
@@ -555,5 +551,5 @@
 
 	/*
-	 *  STARTðM·éD
+	 *  STARTを送信する．
 	 */
 	if (p_spcb->rcv_stopped && p_spcb->rcv_count
@@ -573,5 +569,5 @@
 
 /*
- *  VA|[g©çÌ¶ñóMiT[rXR[j
+ *  シリアルポートからの文字列受信（サービスコール）
  */
 ER_UINT
@@ -581,23 +577,23 @@
 	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);
 	}
 
-	buffer_empty = true;			/* [vÌ1ñßÍwai_sem·é */
+	buffer_empty = true;			/* ループの1回めはwai_semする */
 	while (reacnt < len) {
 		if (buffer_empty) {
@@ -611,5 +607,5 @@
 
 		/*
-		 *  GR[obND
+		 *  エコーバック処理．
 		 */
 		if ((p_spcb->ioctl & IOCTL_ECHO) != 0U) {
@@ -633,5 +629,5 @@
 
 /*
- *  VA|[gÌ§äiT[rXR[j
+ *  シリアルポートの制御（サービスコール）
  */
 ER
@@ -640,16 +636,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);
 	}
@@ -660,5 +656,5 @@
 
 /*
- *  VA|[góÔÌQÆiT[rXR[j
+ *  シリアルポート状態の参照（サービスコール）
  */
 ER
@@ -667,16 +663,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);
 	}
@@ -688,5 +684,5 @@
 
 /*
- *  VA|[g©çÌMÂ\R[obN
+ *  シリアルポートからの送信可能コールバック
  */
 void
@@ -698,5 +694,5 @@
 	if (p_spcb->rcv_fc_chr != '\0') {
 		/*
-		 *  START/STOP ðM·éD
+		 *  START/STOP を送信する．
 		 */
 		(void) sio_snd_chr(p_spcb->p_siopcb, p_spcb->rcv_fc_chr);
@@ -705,5 +701,5 @@
 	else if (!(p_spcb->snd_stopped) && p_spcb->snd_count > 0U) {
 		/*
-		 *  Mobt@©ç¶ðæèoµÄM·éD
+		 *  送信バッファ中から文字を取り出して送信する．
 		 */
 		(void) sio_snd_chr(p_spcb->p_siopcb,
@@ -719,5 +715,5 @@
 	else {
 		/*
-		 *  M·×«¶ªÈ¢êÍCMÂ\R[obNðÖ~·éD
+		 *  送信すべき文字がない場合は，送信可能コールバックを禁止する．
 		 */
 		sio_dis_cbr(p_spcb->p_siopcb, SIO_RDY_SND);
@@ -726,5 +722,5 @@
 
 /*
- *  VA|[g©çÌóMÊmR[obN
+ *  シリアルポートからの受信通知コールバック
  */
 void
@@ -738,5 +734,5 @@
 	if ((p_spcb->ioctl & IOCTL_FCSND) != 0U && c == FC_STOP) {
 		/*
-		 *  Mðêâ~·éDMÌ¶Í»ÌÜÜM·éD
+		 *  送信を一時停止する．送信中の文字はそのまま送信する．
 		 */
 		p_spcb->snd_stopped = true;
@@ -745,5 +741,5 @@
 				|| (p_spcb->ioctl & IOCTL_FCANY) != 0U)) {
 		/*
-		 *  MðÄJ·éD
+		 *  送信を再開する．
 		 */
 		p_spcb->snd_stopped = false;
@@ -763,15 +759,15 @@
 	else if ((p_spcb->ioctl & IOCTL_FCSND) != 0U && c == FC_START) {
 		/*
-		 *  MÉÎµÄt[§äµÄ¢éêCSTART ÍÌÄéD
+		 *  送信に対してフロー制御している場合，START は捨てる．
 		 */
 	}
 	else if (p_spcb->rcv_count == p_spcb->p_spinib->rcv_bufsz) {
 		/*
-		 *  obt@tÌêCóMµ½¶ðÌÄéD
+		 *  バッファフルの場合，受信した文字を捨てる．
 		 */
 	}
 	else {
 		/*
-		 *  óMµ½¶ðóMobt@ÉüêéD
+		 *  受信した文字を受信バッファに入れる．
 		 */
 		p_spcb->p_spinib->rcv_buffer[p_spcb->rcv_write_ptr] = c;
@@ -785,5 +781,5 @@
 
 		/*
-		 *  STOPðM·éD
+		 *  STOPを送信する．
 		 */
 		if ((p_spcb->ioctl & IOCTL_FCRCV) != 0U && !(p_spcb->rcv_stopped)
@@ -799,5 +795,5 @@
 
 /*
- *  VAC^tF[XhCo©çÌ¢M¶Ìæoµ
+ *  シリアルインタフェースドライバからの未送信文字の取出し
  */
 bool_t
@@ -806,7 +802,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: UsbWattMeter/trunk/asp_dcre/syssvc/serial.cfg
===================================================================
--- UsbWattMeter/trunk/asp_dcre/syssvc/serial.cfg	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/syssvc/serial.cfg	(revision 167)
@@ -4,6 +4,5 @@
 
 /*
- *  VAC^tF[XhCoÌRtBM
-[Vt@C
+ *  シリアルインタフェースドライバのコンフィギュレーションファイル
  */
 
Index: UsbWattMeter/trunk/asp_dcre/syssvc/serial.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/syssvc/serial.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/syssvc/serial.h	(revision 167)
@@ -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$
@@ -46,5 +42,5 @@
 
 /*
- *		VAC^tF[XhCo
+ *		シリアルインタフェースドライバ
  */
 
@@ -57,23 +53,23 @@
 
 /*
- *  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) throw();
 
 /*
- *  VAC^tF[XhCo©çÌ¢M¶Ìæoµ
+ *  シリアルインタフェースドライバからの未送信文字の取出し
  */
 extern bool_t	serial_get_chr(ID portid, char *p_c) throw();
 
 /*
- *  VAC^tF[XhCoÌT[rXR[
+ *  シリアルインタフェースドライバのサービスコール
  */
 extern ER		serial_opn_por(ID portid) throw();
@@ -85,14 +81,14 @@
 
 /*
- *  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_FCSND	0x0100U		/* MÉÎµÄt[§äðs¤ */
-#define	IOCTL_FCANY	0x0200U		/* ÇÌæ¤È¶ÅàMÄJ */
-#define	IOCTL_FCRCV	0x0400U		/* óMÉÎµÄt[§äðs¤ */
+#define	IOCTL_NULL	0U			/* 指定なし */
+#define	IOCTL_ECHO	0x0001U		/* 受信した文字をエコーバック */
+#define	IOCTL_CRLF	0x0010U		/* LFを送信する前にCRを付加 */
+#define	IOCTL_FCSND	0x0100U		/* 送信に対してフロー制御を行う */
+#define	IOCTL_FCANY	0x0200U		/* どのような文字でも送信再開 */
+#define	IOCTL_FCRCV	0x0400U		/* 受信に対してフロー制御を行う */
 
 #ifdef __cplusplus
Index: UsbWattMeter/trunk/asp_dcre/syssvc/syslog.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/syssvc/syslog.c	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/syssvc/syslog.c	(revision 167)
@@ -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$
@@ -46,5 +42,5 @@
 
 /*
- *		VXeO@\
+ *		システムログ機能
  */
 
@@ -57,5 +53,5 @@
 
 /*
- *  g[XO}NÌftHgè`
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_SYSLOG_WRI_LOG_ENTER
@@ -92,28 +88,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
@@ -129,7 +125,7 @@
 
 /* 
- *  OîñÌoÍ
+ *  ログ情報の出力
  *
- *  CPUbNóÔâÀsReLXgÉæç¸®ìÅ«éæ¤ÉÀµÄ éD
+ *  CPUロック状態や実行コンテキストによらず動作できるように実装してある．
  */
 ER
@@ -142,10 +138,10 @@
 
 	/*
-	 *  OÌÝè
+	 *  ログ時刻の設定
 	 */
 	((SYSLOG *) p_syslog)->logtim = _kernel_current_time;
 
 	/*
-	 *  Oobt@ÉL^
+	 *  ログバッファに記録
 	 */
 	if ((syslog_logmask & LOG_MASK(prio)) != 0U) {
@@ -165,5 +161,5 @@
 
 	/*
-	 *  áxoÍ
+	 *  低レベル出力
 	 */
 	if (((~syslog_lowmask_not) & LOG_MASK(prio)) != 0U) {
@@ -178,7 +174,7 @@
 
 /*
- *  Oobt@©çÌÇoµ
+ *  ログバッファからの読出し
  *
- *  CPUbNóÔâÀsReLXgÉæç¸®ìÅ«éæ¤ÉÀµÄ éD
+ *  CPUロック状態や実行コンテキストによらず動作できるように実装してある．
  */
 ER_UINT
@@ -192,5 +188,5 @@
 
 	/*
-	 *  Oobt@©çÌæoµ
+	 *  ログバッファからの取出し
 	 */
 	if (syslog_count > 0U) {
@@ -214,5 +210,5 @@
 
 /* 
- *  oÍ·×«OîñÌdvxÌÝè
+ *  出力すべきログ情報の重要度の設定
  */
 ER
@@ -227,5 +223,5 @@
 
 /*
- *  Oobt@ÌóÔQÆ
+ *  ログバッファの状態参照
  */
 ER
Index: UsbWattMeter/trunk/asp_dcre/syssvc/syslog.cfg
===================================================================
--- UsbWattMeter/trunk/asp_dcre/syssvc/syslog.cfg	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/syssvc/syslog.cfg	(revision 167)
@@ -4,6 +4,5 @@
 
 /*
- *		VXeO@\ÌRtBM
-[Vt@C
+ *		システムログ機能のコンフィギュレーションファイル
  */
 
Index: UsbWattMeter/trunk/asp_dcre/syssvc/syslog.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/syssvc/syslog.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/syssvc/syslog.h	(revision 167)
@@ -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$
@@ -46,5 +42,5 @@
 
 /*
- *		VXeO@\
+ *		システムログ機能
  */
 
@@ -57,37 +53,37 @@
 
 /*
- *  VXeOoÍðs¤½ßÌè`
+ *  システムログ出力を行うための定義
  */
 #include <t_syslog.h>
 
 /*
- *  Oobt@Æ»êÉANZX·é½ßÌ|C^
+ *  ログバッファとそれにアクセスするためのポインタ
  */
 #ifndef TCNT_SYSLOG_BUFFER
-#define TCNT_SYSLOG_BUFFER	32		/* Oobt@ÌTCY */
+#define TCNT_SYSLOG_BUFFER	32		/* ログバッファのサイズ */
 #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();
 
 /* 
- *  Oobt@ÌóÔQÆ
+ *  ログバッファの状態参照
  */
 extern ER	syslog_ref_log(T_SYSLOG_RLOG *pk_rlog) throw();
Index: UsbWattMeter/trunk/asp_dcre/syssvc/vasyslog.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/syssvc/vasyslog.c	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/syssvc/vasyslog.c	(revision 167)
@@ -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$
@@ -45,5 +41,5 @@
 
 /*
- *		ÂÏøÌVXeOCu
+ *		可変数引数のシステムログライブラリ
  */
 
Index: UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/asm_config.cfg
===================================================================
--- UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/asm_config.cfg	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/asm_config.cfg	(revision 167)
@@ -1,8 +1,6 @@
 /*
- *  asm_config.inc ¶¬vWFNgpRtBM
-[Vt@C
+ *  asm_config.inc 生成プロジェクト用コンフィギュレーションファイル
  *
- *  RtBM
-[VÍsÈíÈ¢½ßót@CÆ·é.
+ *  コンフィギュレーションは行なわないため空ファイルとする.
  */
 
Index: UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/grsakura.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/grsakura.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/grsakura.h	(revision 167)
@@ -6,41 +6,37 @@
  *  Copyright (C) 2010 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プロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id$
  */
 
-/* GR-SAKURApwb_t@ */
+/* GR-SAKURA用ヘッダファル */
 
 #ifndef	TOPPERS_GRSAKURA_H
@@ -49,5 +45,5 @@
 
 /*
- *  MCUË¶îñÌÇÝÝ
+ *  MCU依存情報の読み込み
  */
 #ifdef __RX
@@ -58,11 +54,11 @@
 
 /*
- *  NbNÝè
+ *  クロック設定
  */
 
 /*
- *  VXeNbNICLK(kHz)
+ *  システムクロックICLK(kHz)
  *
- *  CPUCDTCCDMACACETHERCCEDMACCROMCRAMp
+ *  CPU，DTC，DMACA，ETHERC，EDMAC，ROM，RAM用
  *  
  */
@@ -70,8 +66,7 @@
 
 /*
- *  NbNPCLK(kHz)
+ *  クロックPCLK(kHz)
  *
- *  ^C}CVAÈÇüÓW
-[p
+ *  タイマ，シリアルなど周辺モジュール用
  */
 #define FREQ_PCLK  (48000U)
@@ -79,5 +74,5 @@
 
 /*
- *  {[[gÝè
+ *  ボーレート設定
  */
 #define BAUD_19200BPS		UINT_C( 78 )
@@ -90,5 +85,5 @@
 
 /*
- *  NbN\[X
+ *  クロックソース
  */
 #define UART_CLKSRC			CLK_F1
Index: UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target.tf
===================================================================
--- UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target.tf	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target.tf	(revision 167)
@@ -6,36 +6,32 @@
 $  Copyright (C) 2008-2010 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プロジェクトは，本ソフトウェアに関して，特定の使用目的
+$  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+$  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+$  の責任を負わない．
 $ 
 $  @(#) $Id$
@@ -43,5 +39,5 @@
 
 $ 
-$  ^[QbgË¶ev[giGR-SAKURApj
+$  ターゲット依存テンプレート（GR-SAKURA用）
 $ 
 
@@ -53,10 +49,10 @@
 
 $ 
-$  RX630Ë¶ÌÇÝÝ
+$  RX630依存部の読み込み
 $ 
 $INCLUDE "rx630_ccrx/rx630.tf"$
 
 $
-$  AZut@CpÌwb_t@CÌ¶¬
+$  アセンブリファイル用のヘッダファイルの生成
 $
 $INCLUDE "target_asm_config.tf"$
Index: UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_asm_config.tf
===================================================================
--- UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_asm_config.tf	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_asm_config.tf	(revision 167)
@@ -1,5 +1,5 @@
 $ 
-$     asm_config.inc ¶¬p
-$     pX2Ì^[QbgË¶ev[giGR-SAKURApj
+$     asm_config.inc 生成用
+$     パス2のターゲット依存テンプレート（GR-SAKURA用）
 $ 
 $     Copyright (C) 2010 by Witz Corporation, JAPAN
@@ -8,5 +8,5 @@
 
 $ 
-$  vZbTË¶Ìev[gt@CÌCN[h
+$  プロセッサ依存のテンプレートファイルのインクルード
 $ 
 $INCLUDE"rx630_ccrx/prc_asm_config.tf"$
Index: UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_ccrx_echonet.tf
===================================================================
--- UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_ccrx_echonet.tf	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_ccrx_echonet.tf	(revision 167)
@@ -8,36 +8,32 @@
 $  Copyright (C) 2014 Cores Co., Ltd. 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$
@@ -45,5 +41,5 @@
 
 $ 
-$  ^[QbgË¶ev[giGR-SAKURApj
+$  ターゲット依存テンプレート（GR-SAKURA用）
 $ 
 
@@ -55,13 +51,13 @@
 
 $ 
-$  RX630Ë¶ÌÇÝÝ
+$  RX630依存部の読み込み
 $ 
 $INCLUDE "rx630_ccrx/rx630.tf"$
 
 $
-$  AZut@CpÌwb_t@CÌ¶¬
+$  アセンブリファイル用のヘッダファイルの生成
 $
 $INCLUDE "target_asm_config.tf"$
 
-$ ECHONET Lite~hEFATFt@CÌCN[h
+$ ECHONET LiteミドルウェアTFファイルのインクルード
 $INCLUDE "../../echonet/echonet.tf"$
Index: UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_ccrx_ecnl_lwip.tf
===================================================================
--- UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_ccrx_ecnl_lwip.tf	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_ccrx_ecnl_lwip.tf	(revision 167)
@@ -8,36 +8,32 @@
 $  Copyright (C) 2014 Cores Co., Ltd. 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$
@@ -45,5 +41,5 @@
 
 $ 
-$  ^[QbgË¶ev[giGR-SAKURApj
+$  ターゲット依存テンプレート（GR-SAKURA用）
 $ 
 
@@ -55,13 +51,13 @@
 
 $ 
-$  RX630Ë¶ÌÇÝÝ
+$  RX630依存部の読み込み
 $ 
 $INCLUDE "rx630_ccrx/rx630.tf"$
 
 $
-$  AZut@CpÌwb_t@CÌ¶¬
+$  アセンブリファイル用のヘッダファイルの生成
 $
 $INCLUDE "target_asm_config.tf"$
 
-$ ECHONET Lite~hEFATFt@CÌCN[h
+$ ECHONET LiteミドルウェアTFファイルのインクルード
 $INCLUDE "../../ecnl_lwip/echonet.tf"$
Index: UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_cfg1_out.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_cfg1_out.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_cfg1_out.h	(revision 167)
@@ -1,4 +1,4 @@
 /*
- *		cfg1_out.cÌNÉKvÈX^uÌè`
+ *		cfg1_out.cのリンクに必要なスタブの定義
  */
 
Index: UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_check.tf
===================================================================
--- UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_check.tf	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_check.tf	(revision 167)
@@ -6,36 +6,32 @@
 $  Copyright (C) 2008-2010 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プロジェクトは，本ソフトウェアに関して，特定の使用目的
+$  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+$  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+$  の責任を負わない．
 $ 
 $  @(#) $Id$
@@ -43,9 +39,9 @@
 
 $ 
-$     pX3Ì^[QbgË¶ev[giGR-SAKURApj
+$     パス3のターゲット依存テンプレート（GR-SAKURA用）
 $ 
 
 $ 
-$  pX3ÌvZbTË¶Ìev[gÌCN[h
+$  パス3のプロセッサ依存のテンプレートのインクルード
 $ 
 $INCLUDE"rx630_ccrx/prc_check.tf"$
Index: UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_config.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_config.c	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_config.c	(revision 167)
@@ -11,36 +11,32 @@
  *  Copyright (C) 2013      by Mitsuhiro Matsuura
  * 
- *  ã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$
@@ -48,6 +44,5 @@
 
 /*
- *	^[QbgVXeË¶W
-[iGR-SAKURApj
+ *	ターゲットシステム依存モジュール（GR-SAKURA用）
  */
 
@@ -58,5 +53,5 @@
 
 /*
- *  ^[QbgVXeË¶ ú»[`
+ *  ターゲットシステム依存 初期化ルーチン
  */
 void
@@ -64,69 +59,69 @@
 {
 	/*
-	 *  vZbTË¶Ìú»
+	 *  プロセッサ依存の初期化
 	 */
 	prc_initialize();
 
-	/* IO|[gú» */
-	/* P25ðoÍ|[gÉ·é */
+	/* IOポート初期化 */
+	/* P25を出力ポートにする */
 	sil_wrb_mem((uint8_t *)PORT2_PDR_ADDR, 
 		sil_reb_mem((uint8_t *)PORT2_PDR_ADDR) | PORT_PDR_B5_BIT);
-	/* PA0, PA1, PA2, PA6ðoÍ|[gÉ·é */
+	/* PA0, PA1, PA2, PA6を出力ポートにする */
 	sil_wrb_mem((uint8_t *)PORTA_PDR_ADDR,
 		sil_reb_mem((uint8_t *)PORTA_PDR_ADDR) | PORT_PDR_B0_BIT | PORT_PDR_B1_BIT | PORT_PDR_B2_BIT | PORT_PDR_B6_BIT);
-	/* PA7ðüÍ|[gÉ·é */
+	/* PA7を入力ポートにする */
 	sil_wrb_mem((uint8_t *)PORTA_PDR_ADDR,
 		sil_reb_mem((uint8_t *)PORTA_PDR_ADDR) & ~PORT_PDR_B7_BIT);
 
 	/*
-	 *  VA|[gÌÝè
+	 *  シリアルポートの設定
 	 */
 	rx630_uart_init(TARGET_PUTC_PORTID, UART_BAUDRATE, UART_CLKSRC);
 
-	/* |[gP20ðTxD0, |[gP21ðRxD0É */
+	/* ポートP20をTxD0, ポートP21をRxD0に */
 	sil_wrb_mem((uint8_t *)PORT2_PMR_ADDR, 0x03);
 
-	/* f[^fBNVWX^(PDR)ÌÝè P21(RxD0)ðüÍ|[gÉ·é */
+	/* データディレクションレジスタ(PDR)の設定 P21(RxD0)を入力ポートにする */
 	sil_wrb_mem((uint8_t *)PORT2_PDR_ADDR, 
 		sil_reb_mem((uint8_t *)PORT2_PDR_ADDR) & ~PORT_PDR_B1_BIT);
 
-	/* f[^fBNVWX^(PDR)ÌÝè P20(TxD0)ðoÍ|[gÉ·é */
+	/* データディレクションレジスタ(PDR)の設定 P20(TxD0)を出力ポートにする */
 	sil_wrb_mem((uint8_t *)PORT2_PDR_ADDR, 
 		sil_reb_mem((uint8_t *)PORT2_PDR_ADDR) | PORT_PDR_B0_BIT);
 
-	/* |[gP40`P47ðüÓ@íÉ */
+	/* ポートP40〜P47を周辺機器に */
 	sil_wrb_mem((uint8_t *)PORT4_PMR_ADDR, 0xFF);
 
-	/* |[gP40`P47ðüÍ|[gÉ·é */
+	/* ポートP40〜P47を入力ポートにする */
 	sil_wrb_mem((uint8_t *)PORT4_PDR_ADDR, 0x00);
 
-	/* «ÝveNgWX^ÌÝè PFSWErbgÖÌ«ÝðÂ */
+	/* 書き込みプロテクトレジスタの設定 PFSWEビットへの書き込みを許可 */
 	sil_wrb_mem((uint8_t *)MPC_PWPR_ADDR, 0x00);
-	/* «ÝveNgWX^ÌÝè PxxFSWX^ÖÌ«ÝðÂ */
+	/* 書き込みプロテクトレジスタの設定 PxxFSレジスタへの書き込みを許可 */
 	sil_wrb_mem((uint8_t *)MPC_PWPR_ADDR, 0x40);
 
-	/* P21[q@\§äWX^ RXD0Æ·é */
+	/* P21端子機能制御レジスタ RXD0とする */
 	sil_wrb_mem((uint8_t *)MPC_P21PFS_ADDR, 0x0a);
-	/* P20[q@\§äWX^ TXD0Æ·é */
+	/* P20端子機能制御レジスタ TXD0とする */
 	sil_wrb_mem((uint8_t *)MPC_P20PFS_ADDR, 0x0a);
 
-	/* P40[q@\§äWX^ AiOüÍAN000Æ·é */
+	/* P40端子機能制御レジスタ アナログ入力AN000とする */
 	sil_wrb_mem((uint8_t *)MPC_P40PFS_ADDR, 0x80);
-	/* P41[q@\§äWX^ AiOüÍAN001Æ·é */
+	/* P41端子機能制御レジスタ アナログ入力AN001とする */
 	sil_wrb_mem((uint8_t *)MPC_P41PFS_ADDR, 0x80);
-	/* P42[q@\§äWX^ AiOüÍAN002Æ·é */
+	/* P42端子機能制御レジスタ アナログ入力AN002とする */
 	sil_wrb_mem((uint8_t *)MPC_P42PFS_ADDR, 0x80);
-	/* P43[q@\§äWX^ AiOüÍAN003Æ·é */
+	/* P43端子機能制御レジスタ アナログ入力AN003とする */
 	sil_wrb_mem((uint8_t *)MPC_P43PFS_ADDR, 0x80);
-	/* P44[q@\§äWX^ AiOüÍAN004Æ·é */
+	/* P44端子機能制御レジスタ アナログ入力AN004とする */
 	sil_wrb_mem((uint8_t *)MPC_P44PFS_ADDR, 0x80);
-	/* P45[q@\§äWX^ AiOüÍAN005Æ·é */
+	/* P45端子機能制御レジスタ アナログ入力AN005とする */
 	sil_wrb_mem((uint8_t *)MPC_P45PFS_ADDR, 0x80);
-	/* P46[q@\§äWX^ AiOüÍAN006Æ·é */
+	/* P46端子機能制御レジスタ アナログ入力AN006とする */
 	sil_wrb_mem((uint8_t *)MPC_P46PFS_ADDR, 0x80);
-	/* P47[q@\§äWX^ AiOüÍAN007Æ·é */
+	/* P47端子機能制御レジスタ アナログ入力AN007とする */
 	sil_wrb_mem((uint8_t *)MPC_P47PFS_ADDR, 0x80);
 
-	/* «ÝveNgWX^ÌÝè «ÝðÖ~ */
+	/* 書き込みプロテクトレジスタの設定 書き込みを禁止 */
 	sil_wrb_mem((uint8_t *)MPC_PWPR_ADDR, 0x80);
 }
@@ -134,5 +129,5 @@
 
 /*
- *  ^[QbgVXeÌI¹[`
+ *  ターゲットシステムの終了ルーチン
  */
 void
@@ -140,5 +135,5 @@
 {
 	/*
-	 *	vZbTË¶ÌI¹
+	 *	プロセッサ依存の終了処理
 	 */
 	prc_terminate();
@@ -149,5 +144,5 @@
 
 /*
- *  VXeOÌáxoÍÌ½ßÌ¶oÍ
+ *  システムログの低レベル出力のための文字出力
  */
 void
Index: UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_config.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_config.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_config.h	(revision 167)
@@ -10,36 +10,32 @@
  *  Copyright (C) 2008-2010 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プロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id$
@@ -47,9 +43,8 @@
 
 /*
- *		^[QbgË¶W
-[iGR-SAKURApj
+ *		ターゲット依存モジュール（GR-SAKURA用）
  *
- *  J[lÌ^[QbgË¶ÌCN[ht@CDkernel_impl.hÌ^[
- *  QbgË¶ÌÊut¯ÆÈéD
+ *  カーネルのターゲット依存部のインクルードファイル．kernel_impl.hのター
+ *  ゲット依存部の位置付けとなる．
  */
 
@@ -58,5 +53,5 @@
 
 /*
- *  ^[QbgVXeÌn[hEFA¹Ìè`
+ *  ターゲットシステムのハードウェア資源の定義
  */
 #include "grsakura.h"
@@ -64,9 +59,9 @@
 
 /*
- *  ftHgÌñ^XNReLXgpÌX^bNÌæÌè`
+ *  デフォルトの非タスクコンテキスト用のスタック領域の定義
  *
- *  X^bNTCYðÏX·éêÍ, sectrx.incÌ_DEFAULT_ISTACK
- *  xÌÊuÉ é.blkb½ßÌTCYÆ, ÈºDEFAULT_ISTKSZÌ
- *  TCYðí¹Ä¯¶lÉÏX·é±Æ.
+ *  スタックサイズを変更する場合は, sectrx.incの_DEFAULT_ISTACK
+ *  ラベルの位置にある.blkb命令のサイズと, 以下DEFAULT_ISTKSZの
+ *  サイズを合わせて同じ値に変更すること.
  */
 #ifndef _MSC_VER
@@ -79,5 +74,5 @@
 
 /*
- *  ^[QbgË¶Ì¶oÍÉgp·é|[gÌè`  
+ *  ターゲット依存の文字出力に使用するポートの定義  
  */
 #define TARGET_PUTC_PORTID	( 1 )
@@ -87,12 +82,12 @@
 
 /*
- *  ^[QbgVXeË¶Ìú»
+ *  ターゲットシステム依存の初期化
  */
 extern void	target_initialize( void );
 
 /*
- *  ^[QbgVXeÌI¹
+ *  ターゲットシステムの終了
  *
- *  VXeðI¹·éÉg¤D
+ *  システムを終了する時に使う．
  */
 extern void	target_exit( void )	NoReturn;
@@ -102,6 +97,5 @@
 
 /*
- *  vZbTË¶W
-[iRX630pj
+ *  プロセッサ依存モジュール（RX630用）
  */
 #ifdef __RX
@@ -112,12 +106,12 @@
 
 /*
- *  g[XOÉÖ·éÝè
+ *  トレースログに関する設定
  */
 #define TCNT_TRACE_BUFFER	( 32 )
 
 /*
- *  g[XOoÍ·éÓÌIð
- *    OoÍ·éÓð1Åè`
- *    OoÍµÈ¢Óð0Åè`
+ *  トレースログ出力する箇所の選択
+ *    ログ出力する箇所を1で定義
+ *    ログ出力しない箇所を0で定義
  */
 #ifdef TOPPERS_ENABLE_TRACE
Index: UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_kernel.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_kernel.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_kernel.h	(revision 167)
@@ -12,36 +12,32 @@
  *  Copyright (C) 2008-2010 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プロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id$
@@ -49,12 +45,12 @@
 
 /*
- *  J[lÌ^[QbgË¶è`iGR-SAKURApj
+ *  カーネルのターゲット依存定義（GR-SAKURA用）
  */
 
 /*
- *  ±Ì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がインクルードされるので，それらに依存してもよ
+ *  い．
  */
 
@@ -64,5 +60,5 @@
 
 /*
- *  vZbTÅ¤ÊÈè`
+ *  プロセッサで共通な定義
  */
 #ifdef __RX
@@ -73,14 +69,14 @@
 
 /*
- *  T|[g·é@\Ìè`
+ *  サポートする機能の定義
  */
-#define	TOPPERS_TARGET_SUPPORT_GET_UTM		/* get_utmðT|[g·é */
+#define	TOPPERS_TARGET_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: UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_offset.tf
===================================================================
--- UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_offset.tf	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_offset.tf	(revision 167)
@@ -1,13 +1,13 @@
 $ 
-$       ItZbgt@C¶¬pev[gt@CiGR-SAKURApj
+$       オフセットファイル生成用テンプレートファイル（GR-SAKURA用）
 $
 
 $
-$  Wev[gt@CÌCN[h
+$  標準テンプレートファイルのインクルード
 $
 $INCLUDE "kernel/genoffset.tf"$
 
 $ 
-$  RAË¶ev[gÌCN[hiRX630pj
+$  コア依存テンプレートのインクルード（RX630用）
 $ 
 $INCLUDE"../../arch/rx630_ccrx/prc_offset.tf"$
Index: UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_serial.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_serial.c	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_serial.c	(revision 167)
@@ -13,36 +13,32 @@
  *  Copyright (C) 2013      by Mitsuhiro Matsuura
  * 
- *  ã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$
@@ -50,6 +46,5 @@
 
 /*
- *	RX630 UARTpVAI/OW
-[
+ *	RX630 UART用シリアルI/Oモジュール
  */
 #include "kernel_impl.h"
@@ -58,5 +53,5 @@
 
 /*
- *  SIOhCoÌú»
+ *  SIOドライバの初期化
  */
 void
@@ -67,5 +62,5 @@
 
 /*
- *  VAI/O|[gÌI[v
+ *  シリアルI/Oポートのオープン
  */
 SIOPCB *
@@ -77,6 +72,6 @@
 	
 	/*
-	 *  VAI/OÝð}XN·éD
-	 *  (dis_intÖÍA"\kernel\interrupt.c"ÉLq)
+	 *  シリアルI/O割込みをマスクする．
+	 *  (dis_int関数は、"\kernel\interrupt.c"に記述)
 	 */
 	p_siopcb = rx630_uart_get_siopcb(siopid);
@@ -92,6 +87,6 @@
 
 	/*
-	 *  VAI/OÝð}XNð·éD
-	 *  (ena_intÖÍA"\kernel\interrupt.c"ÉLq)
+	 *  シリアルI/O割込みをマスク解除する．
+	 *  (ena_int関数は、"\kernel\interrupt.c"に記述)
 	 */
 	ercd = ena_int(intno_sio_tx);
@@ -104,5 +99,5 @@
 
 /*
- *  VAI/O|[gÌN[Y
+ *  シリアルI/Oポートのクローズ
  */
 void
@@ -113,10 +108,10 @@
 
 	/*
-	 *  foCXË¶ÌN[YD
+	 *  デバイス依存のクローズ処理．
 	 */
 	rx630_uart_cls_por(p_siopcb);
 	
 	/*
-	 *  VAI/OÝð}XN·éD
+	 *  シリアルI/O割込みをマスクする．
 	 */
 	intno_sio_tx = rx630_uart_intno_tx(p_siopcb);
@@ -129,5 +124,5 @@
 
 /*
- *  SIOÌÝnh
+ *  SIOの割込みハンドラ
  */
 void sio_tx_isr(intptr_t exinf)
@@ -137,5 +132,5 @@
 
 /*
- *  SIOÌÝnh
+ *  SIOの割込みハンドラ
  */
 void sio_rx_isr(intptr_t exinf)
@@ -145,5 +140,5 @@
 
 /*
- *  VAI/O|[gÖÌ¶M
+ *  シリアルI/Oポートへの文字送信
  */
 bool_t
@@ -154,5 +149,5 @@
 
 /*
- *  VAI/O|[g©çÌ¶óM
+ *  シリアルI/Oポートからの文字受信
  */
 int_t
@@ -163,5 +158,5 @@
 
 /*
- *  VAI/O|[g©çÌR[obNÌÂ
+ *  シリアルI/Oポートからのコールバックの許可
  */
 void
@@ -172,5 +167,5 @@
 
 /*
- *  VAI/O|[g©çÌR[obNÌÖ~
+ *  シリアルI/Oポートからのコールバックの禁止
  */
 void
@@ -181,20 +176,20 @@
 
 /*
- *  VAI/O|[g©çÌMÂ\R[obN
+ *  シリアルI/Oポートからの送信可能コールバック
  */
 void
 rx630_uart_irdy_snd(intptr_t exinf)
 {
-	/* ¤Êisyssvc\serial.cjÉ ésio_irdy_sndÖðÄÑoµ*/
+	/* 共通部（syssvc\serial.c）にあるsio_irdy_snd関数を呼び出し*/
 	sio_irdy_snd(exinf);
 }
 
 /*
- *  VAI/O|[g©çÌóMÊmR[obN
+ *  シリアルI/Oポートからの受信通知コールバック
  */
 void
 rx630_uart_irdy_rcv(intptr_t exinf)
 {
-	/* ¤Êisyssvc\serial.cjÉ ésio_irdy_rcvÖðÄÑoµ*/
+	/* 共通部（syssvc\serial.c）にあるsio_irdy_rcv関数を呼び出し*/
 	sio_irdy_rcv(exinf);
 }
Index: UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_serial.cfg
===================================================================
--- UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_serial.cfg	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_serial.cfg	(revision 167)
@@ -1,5 +1,4 @@
 /*
- *	SIOhCoiGR-SAKURApjÌRtBM
-[Vt@C
+ *	SIOドライバ（GR-SAKURA用）のコンフィギュレーションファイル
  */
 
Index: UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_serial.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_serial.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_serial.h	(revision 167)
@@ -13,36 +13,32 @@
  *  Copyright (C) 2013      by Mitsuhiro Matsuura
  * 
- *  ã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$
@@ -50,5 +46,5 @@
 
 /*
- *		VAI/OfoCXiSIOjhCoiGR-SAKURApj
+ *		シリアルI/Oデバイス（SIO）ドライバ（GR-SAKURA用）
  */
 
@@ -60,12 +56,12 @@
 
 /*
- *  SIOÌÝnhÌxN^Ô
+ *  SIOの割込みハンドラのベクタ番号
  */
-#define INHNO_SIO_TX	INT_SCI0_TEI			/* ÝnhÔ */
-#define INTNO_SIO_TX	INT_SCI0_TEI			/* ÝÔ */
-#define INHNO_SIO_RX	INT_SCI0_RXI			/* ÝnhÔ */
-#define INTNO_SIO_RX	INT_SCI0_RXI			/* ÝÔ */
-#define INTPRI_SIO		-4						/* ÝDæx */
-#define INTATR_SIO		(TA_NULL)				/* Ý®« */
+#define INHNO_SIO_TX	INT_SCI0_TEI			/* 割込みハンドラ番号 */
+#define INTNO_SIO_TX	INT_SCI0_TEI			/* 割込み番号 */
+#define INHNO_SIO_RX	INT_SCI0_RXI			/* 割込みハンドラ番号 */
+#define INTNO_SIO_RX	INT_SCI0_RXI			/* 割込み番号 */
+#define INTPRI_SIO		-4						/* 割込み優先度 */
+#define INTATR_SIO		(TA_NULL)				/* 割込み属性 */
 
 #ifndef TOPPERS_MACRO_ONLY
@@ -73,20 +69,20 @@
 
 /*
- *  SIOhCoÌú»
+ *  SIOドライバの初期化
  */
 extern void		sio_initialize(intptr_t exinf);
 
 /*
- *  VAI/O|[gÌI[v
+ *  シリアルI/Oポートのオープン
  */
 extern SIOPCB	*sio_opn_por(ID siopid, intptr_t exinf);
 
 /*
- *  VAI/O|[gÌN[Y
+ *  シリアルI/Oポートのクローズ
  */
 extern void		sio_cls_por(SIOPCB *p_siopcb);
 
 /*
- *  SIOÌÝnh
+ *  SIOの割込みハンドラ
  */
 extern void 	sio_tx_isr(intptr_t exinf);
@@ -94,30 +90,30 @@
 
 /*
- *  VAI/O|[gÖÌ¶M
+ *  シリアルI/Oポートへの文字送信
  */
 extern bool_t	sio_snd_chr(SIOPCB *siopcb, char c);
 
 /*
- *  VAI/O|[g©çÌ¶óM
+ *  シリアルI/Oポートからの文字受信
  */
 extern int_t	sio_rcv_chr(SIOPCB *siopcb);
 
 /*
- *  VAI/O|[g©çÌR[obNÌÂ
+ *  シリアルI/Oポートからのコールバックの許可
  */
 extern void		sio_ena_cbr(SIOPCB *siopcb, uint_t cbrtn);
 
 /*
- *  VAI/O|[g©çÌR[obNÌÖ~
+ *  シリアルI/Oポートからのコールバックの禁止
  */
 extern void		sio_dis_cbr(SIOPCB *siopcb, uint_t cbrtn);
 
 /*
- *  VAI/O|[g©çÌMÂ\R[obN
+ *  シリアルI/Oポートからの送信可能コールバック
  */
 extern void		sio_irdy_snd(intptr_t exinf);
 
 /*
- *  VAI/O|[g©çÌóMÊmR[obN
+ *  シリアルI/Oポートからの受信通知コールバック
  */
 extern void		sio_irdy_rcv(intptr_t exinf);
Index: UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_sil.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_sil.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_sil.h	(revision 167)
@@ -5,36 +5,32 @@
  *  Copyright (C) 2008-2010 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プロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id$
@@ -42,10 +38,10 @@
 
 /*
- *		sil.hÌ^[QbgË¶iGR-SAKURApj
+ *		sil.hのターゲット依存部（GR-SAKURA用）
  *
- *  ±Ì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がインクルードされるので，それらに依存しても
+ *  よい．
  */
 
@@ -54,5 +50,5 @@
 
 /*
- *  ÷­ÔÒ¿Ì½ßÌè`
+ *  微少時間待ちのための定義
  */
 #define SIL_DLY_TIM1     69
@@ -60,5 +56,5 @@
 
 /*
- *  vZbTÅ¤ÊÈè`
+ *  プロセッサで共通な定義
  */
 #ifdef __RX
Index: UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_stddef.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_stddef.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_stddef.h	(revision 167)
@@ -11,36 +11,32 @@
  *  Copyright (C) 2008-2010 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プロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id$
@@ -48,10 +44,10 @@
 
 /*
- *  t_stddef.hÌ^[QbgË¶iGR-SAKURApj
+ *  t_stddef.hのターゲット依存部（GR-SAKURA用）
  *
- *  ±Ì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の先頭でインクルードされる．
+ *  他のファイルからは直接インクルードすることはない．他のインクルード
+ *  ファイルに先立って処理されるため，他のインクルードファイルに依存し
+ *  てはならない．
  */
 
@@ -60,12 +56,12 @@
 
 /*
- *  ^[Qbgð¯Ê·é½ßÌ}NÌè`
+ *  ターゲットを識別するためのマクロの定義
  */
-#define TOPPERS_GRSAKURA			/* VXeªÌ */
+#define TOPPERS_GRSAKURA			/* システム略称 */
 
 
 #ifdef __RX
 /*
- *  J­Â«Å¤ÊÈè`
+ *  開発環境で共通な定義
  */
 /*#define TOPPERS_STDINT_TYPE1*/
@@ -74,10 +70,10 @@
 
 /*
- *  vZbTÅ¤ÊÈè`
+ *  プロセッサで共通な定義
  */
 #include "rx630_ccrx/prc_stddef.h"
 #else /* __RX */
 /*
- *  J­Â«Å¤ÊÈè`
+ *  開発環境で共通な定義
  */
 #include <stdint.h>
@@ -85,5 +81,5 @@
 
 /*
- *  vZbTÅ¤ÊÈè`
+ *  プロセッサで共通な定義
  */
 #include "rx630_msvc/prc_stddef.h"
@@ -93,5 +89,5 @@
 
 /*
- *  AT[VÌ¸sÌÀsf
+ *  アサーションの失敗時の実行中断処理
  */
 #ifndef TOPPERS_MACRO_ONLY
Index: UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_support.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_support.c	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_support.c	(revision 167)
@@ -7,6 +7,5 @@
 
 /*
- *	^[QbgVXeË¶W
-[iAP-RX62N-0Apj
+ *	ターゲットシステム依存モジュール（AP-RX62N-0A用）
  */
 
@@ -17,25 +16,24 @@
 {
 	/*
-	 * ®ì[hÝè
+	 * 動作モード設定
 	 *
-	 * ®ì[hÍ{[hãÌ[qÉæÁÄè³êé½ß,
-	 * ±±ÅÍÁÊÝèµÈ¢.
-	 * ½¾µ, gGfBA/VO`bv[h
-	 * Å é±ÆðOñÆ·é.
+	 * 動作モードはボード上の端子によって決定されるため,
+	 * ここでは特別設定しない.
+	 * ただし, リトルエンディアン/シングルチップモード
+	 * であることを前提とする.
 	 *
-	 * Ü½Zbgã, à ROMFLø, à RAMFLø, OoXF³ø
-	 * Å é.
+	 * またリセット後, 内蔵ROM：有効, 内蔵RAM：有効, 外部バス：無効
+	 * である.
 	 */
 
 	/*
-	 * NbNÝè
+	 * クロック設定
 	 *
-	 * üÍF12MHz
-	 * PLLñHF12 x 8 = 96MHz
-	 * VXeNbNF96MHz
-	 * üÓW
-[NbNF48MHz
-	 * OoXNbNF96MHz
-	 * Æ·é.
+	 * 入力：12MHz
+	 * PLL回路：12 x 8 = 96MHz
+	 * システムクロック：96MHz
+	 * 周辺モジュールクロック：48MHz
+	 * 外部バスクロック：96MHz
+	 * とする.
 	 */
 	sil_wrb_mem(PORT3_PDR_ADDR,
@@ -50,10 +48,10 @@
 	sil_wrh_mem(SYSTEM_PRCR_ADDR, 0xa503);
 
-	/* CNbN­Uí­§­U */
+	/* メインクロック発振器強制発振 */
 	while((sil_reb_mem(SYSTEM_MOFCR_ADDR) & SYSTEM_MOFCR_MOFXIN) == 0)
 		sil_wrb_mem(SYSTEM_MOFCR_ADDR,
 			sil_reb_mem(SYSTEM_MOFCR_ADDR) | SYSTEM_MOFCR_MOFXIN);
 
-	/* CNbN­Uí®ì */
+	/* メインクロック発振器動作 */
 	while((sil_reb_mem(SYSTEM_MOSCCR_ADDR) & SYSTEM_MOSCCR_MOSTP) != 0)
 		sil_wrb_mem(SYSTEM_MOSCCR_ADDR,
@@ -69,5 +67,5 @@
 	sil_wrw_mem(SYSTEM_SCKCR_ADDR, 0x21021211);
 
-	/* PLLñHIð */
+	/* PLL回路選択 */
 	sil_wrh_mem(SYSTEM_SCKCR3_ADDR,
 		(sil_reh_mem(SYSTEM_SCKCR3_ADDR) & ~SYSTEM_SCKCR3_CKSEL_MASK)
@@ -75,13 +73,10 @@
 
 	/*
-	 * W
-[Xgbv
+	 * モジュールストップ
 	 *
-	 * Zbgã, ®ìµÄ¢éà üÓW
-[ÍDMAC, DTC,
-	 * à RAMÌÝÅ é.
-	 * »êÈOÌà üÓW
-[ÉÖµÄÍgp·é¤Å
-	 * Ýè·é±Æ.
+	 * リセット後, 動作している内蔵周辺モジュールはDMAC, DTC,
+	 * 内蔵RAMのみである.
+	 * それ以外の内蔵周辺モジュールに関しては使用する側で
+	 * 設定すること.
 	 */
 	sil_wrh_mem(SYSTEM_PRCR_ADDR, 0xa500);
@@ -91,6 +86,6 @@
 {
 	/*
-	 * {RpCÅÍweak definitionÌ@\ª³¢½ß,
-	 * ÁÉKvÈÍÈ¢ª, K¸ÄÑo·±ÆÆ·é.
+	 * 本コンパイラではweak definitionの機能が無いため,
+	 * 特に必要な処理はないが, 必ず呼び出すこととする.
 	 */
 }
Index: UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_support.src
===================================================================
--- UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_support.src	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_support.src	(revision 167)
@@ -14,36 +14,32 @@
 ;*  Copyright (C) 2013      by Mitsuhiro Matsuura
 ;* 
-;*  ã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: target_support.src 536 2014-10-09 23:11:40Z coas-nagasima $
@@ -59,25 +55,24 @@
 _hardware_init_hook:
 	;
-	;  ®ì[hÝè
+	;  動作モード設定
 	;
-	;  ®ì[hÍ{[hãÌ[qÉæÁÄè³êé½ß,
-	;  ±±ÅÍÁÊÝèµÈ¢.
-	;  ½¾µ, gGfBA/VO`bv[h
-	;  Å é±ÆðOñÆ·é.
+	;  動作モードはボード上の端子によって決定されるため,
+	;  ここでは特別設定しない.
+	;  ただし, リトルエンディアン/シングルチップモード
+	;  であることを前提とする.
 	;
-	;  Ü½Zbgã, à ROMFLø, à RAMFLø, OoXF³ø
-	;  Å é.
+	;  またリセット後, 内蔵ROM：有効, 内蔵RAM：有効, 外部バス：無効
+	;  である.
 	;
 
 	;
-	;  NbNÝè
+	;  クロック設定
 	;
-	;  üÍF12MHz
-	;  PLLñHF12 x 8 = 96MHz
-	;  VXeNbNF96MHz
-	;  üÓW
-[NbNF48MHz
-	;  OoXNbNF96MHz
-	;  Æ·é.
+	;  入力：12MHz
+	;  PLL回路：12 x 8 = 96MHz
+	;  システムクロック：96MHz
+	;  周辺モジュールクロック：48MHz
+	;  外部バスクロック：96MHz
+	;  とする.
 	;
 
@@ -109,5 +104,5 @@
 	;while(SYSTEM.MOFCR.BIT.MOFXIN == 0)
 	BRA.B	_hardware_init_hook_01
-	;SYSTEM.MOFCR.BIT.MOFXIN = 1;	// CNbN­Uí­§­U
+	;SYSTEM.MOFCR.BIT.MOFXIN = 1;	// メインクロック発振器強制発振
 _hardware_init_hook_00:
 	MOV.L	#080000H,R11
@@ -125,5 +120,5 @@
 	;while(SYSTEM.MOSCCR.BIT.MOSTP == 1)
 	BRA.B	_hardware_init_hook_11
-	;SYSTEM.MOSCCR.BIT.MOSTP = 0;	// CNbN­Uí®ì
+	;SYSTEM.MOSCCR.BIT.MOSTP = 0;	// メインクロック発振器動作
 _hardware_init_hook_10:
 	MOV.L	#080000H,R11
@@ -155,5 +150,5 @@
 	MOV.L	#21021211H,20H[R10]
 	;
-	;SYSTEM.SCKCR3.BIT.CKSEL = 4;		// PLLñHIð
+	;SYSTEM.SCKCR3.BIT.CKSEL = 4;		// PLL回路選択
 	MOV.L	#080000H,R10
 	MOV.W	26H[R10],R11
@@ -163,13 +158,10 @@
 
 	;
-	;  W
-[Xgbv
+	;  モジュールストップ
 	;
-	;  Zbgã, ®ìµÄ¢éà üÓW
-[ÍDMAC, DTC,
-	;  à RAMÌÝÅ é.
-	;  »êÈOÌà üÓW
-[ÉÖµÄÍgp·é¤Å
-	;  Ýè·é±Æ.
+	;  リセット後, 動作している内蔵周辺モジュールはDMAC, DTC,
+	;  内蔵RAMのみである.
+	;  それ以外の内蔵周辺モジュールに関しては使用する側で
+	;  設定すること.
 	;
 
@@ -182,6 +174,6 @@
 _software_init_hook:
 	;
-	;  {RpCÅÍweak definitionÌ@\ª³¢½ß,
-	;  ÁÉKvÈÍÈ¢ª, K¸ÄÑo·±ÆÆ·é.
+	;  本コンパイラではweak definitionの機能が無いため,
+	;  特に必要な処理はないが, 必ず呼び出すこととする.
 	;
 	rts
Index: UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_syssvc.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_syssvc.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_syssvc.h	(revision 167)
@@ -12,36 +12,32 @@
  *  Copyright (C) 2008-2010 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プロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id$
@@ -49,9 +45,9 @@
 
 /*
- *		VXeT[rXÌ^[QbgË¶iGR-SAKURApj
+ *		システムサービスのターゲット依存部（GR-SAKURA用）
  *
- *  VXeT[rXÌ^[QbgË¶ÌCN[ht@CD±Ìt@
- *  CÌàeÍCR|[lgLqt@CÉLq³êC±Ìt@CÍ
- *  ³­Èé©ÝD
+ *  システムサービスのターゲット依存部のインクルードファイル．このファ
+ *  イルの内容は，コンポーネント記述ファイルに記述され，このファイルは
+ *  無くなる見込み．
  */
 
@@ -61,5 +57,5 @@
 
 /*
- *  vZbTË¶Ìè`
+ *  プロセッサ依存の定義
  */
 #ifdef __RX
@@ -70,5 +66,5 @@
 
 /*
- *  g[XOÉÖ·éÝè
+ *  トレースログに関する設定
  */
 #ifdef TOPPERS_ENABLE_TRACE
@@ -78,5 +74,5 @@
 
 /*
- *  {[hË¶îñÌÇÝÝ
+ *  ボード依存情報の読み込み
  */
 #include "grsakura.h"
@@ -84,5 +80,5 @@
 
 /*
- *  N®bZ[WÌ^[QbgVXe¼
+ *  起動メッセージのターゲットシステム名
  */
 #define	TARGET_NAME	"GRSAKURA"
@@ -90,7 +86,7 @@
 
 /*
- *  VXeOÌáxoÍÌ½ßÌ¶oÍ
+ *  システムログの低レベル出力のための文字出力
  *
- *  ^[QbgË¶Ìû@ÅC¶cð\¦/oÍ/Û¶·éD
+ *  ターゲット依存の方法で，文字cを表示/出力/保存する．
  */
 extern void	target_fput_log( char c );
@@ -98,6 +94,6 @@
 
 /*
- *  N®bZ[WÉ^[QbgË¶Ìì \¦ð
- *  ÇÁ·é½ßÌ}ND
+ *  起動メッセージにターゲット依存部の著作権表示を
+ *  追加するためのマクロ．
  */
 #ifdef PRC_COPYRIGHT
@@ -107,10 +103,10 @@
 
 /*
- *  VA|[gÌè`
+ *  シリアルポート数の定義
  */
 #define	TNUM_PORT			UINT_C( 2 )
 
 /*
- *  gp·éVA|[gID
+ *  使用するシリアルポートID
  */
 #define	SIO_PORTID			UINT_C( 1 )
@@ -121,7 +117,7 @@
 
 /*
- *  VXeO^XNÖAÌèÌè`
+ *  システムログタスク関連の定数の定義
  *
- *  ftHglÌÊèD
+ *  デフォルト値の通り．
  */
 
Index: UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_test.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_test.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_test.h	(revision 167)
@@ -12,36 +12,32 @@
  *  Copyright (C) 2008-2010 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プロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id$
@@ -49,5 +45,5 @@
 
 /*
- *		eXgvOÌ^[QbgË¶è`iGR-SAKURApj
+ *		テストプログラムのターゲット依存定義（GR-SAKURA用）
  */
 
@@ -56,5 +52,5 @@
 
 /*
- *  vZbTÅ¤ÊÈè`
+ *  プロセッサで共通な定義
  */
 #ifdef __RX
@@ -65,5 +61,5 @@
 
 /*
- *  ^XNÅgp·éVA|[gID
+ *  タスクで使用するシリアルポートID
  */
 #define	TASK_PORTID		( 1 )
Index: UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_timer.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_timer.c	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_timer.c	(revision 167)
@@ -13,36 +13,32 @@
  *  Copyright (C) 2013      by Mitsuhiro Matsuura
  * 
- *  ã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$
@@ -50,5 +46,5 @@
 
 /*
- *		^C}hCoiGR-SAKURApj
+ *		タイマドライバ（GR-SAKURA用）
  */
 
@@ -59,5 +55,5 @@
 
 /*
- *  ^C}Ìú»
+ *  タイマの初期化処理
  */
 void
@@ -65,14 +61,13 @@
 {
 	/*
-	 * W
-[Xgbv@\ÌÝè
+	 * モジュールストップ機能の設定
 	 */
-	sil_wrh_mem((uint16_t *)SYSTEM_PRCR_ADDR, (uint16_t)0xA502);	/* ÝÂ */
+	sil_wrh_mem((uint16_t *)SYSTEM_PRCR_ADDR, (uint16_t)0xA502);	/* 書込み許可 */
 	sil_wrw_mem((uint32_t *)SYSTEM_MSTPCRA_ADDR,
 		sil_rew_mem((uint32_t *)SYSTEM_MSTPCRA_ADDR) & ~SYSTEM_MSTPCRA_MSTPA15_BIT); /* CMT0 */
-	sil_wrh_mem((uint16_t *)SYSTEM_PRCR_ADDR, (uint16_t)0xA500);	/* ÝÖ~ */
+	sil_wrh_mem((uint16_t *)SYSTEM_PRCR_ADDR, (uint16_t)0xA500);	/* 書込み禁止 */
 
 	/* 
-	 * ^C}â~ 
+	 * タイマ停止 
 	 */
 	sil_wrh_mem((uint16_t *)CMT_CMSTR0_ADDR,
@@ -80,31 +75,31 @@
 	
 	/*
- 	 * JEgAbvÉp¢çêéNbNÝè
-	 * PCLK/32ðIð
+ 	 * カウントアップに用いられるクロック設定
+	 * PCLK/32を選択
 	 */
 	sil_wrh_mem((uint16_t *)CMT0_CMCR_ADDR, CMT_PCLK_DIV_8);
 
 	/* 
-	 * RyA}b`^C}JE^Ýè
+	 * コンペアマッチタイマカウンタ設定
 	 */
 	sil_wrh_mem((uint16_t *)CMT0_CMCNT_ADDR, 0U);
 
 	/* 
-	 * RyA}b`^C}üúÝè
+	 * コンペアマッチタイマ周期設定
 	 */
 	sil_wrh_mem((uint16_t *)CMT0_CMCOR_ADDR, CMCOR_PERIOD);
 
 	/*
-	 * RyA}b`^C}èÝvæÝèWX^iISELR28j
+	 * コンペアマッチタイマ割り込み要求先設定レジスタ（ISELR28）
 	 */
 	sil_wrb_mem((uint8_t *)ICU_ISELR028_ADDR, ICU_ISEL_CPU);
 
 	/*
-	 *  ^C}®ìJnOÌÝvðNA
+	 *  タイマ動作開始前の割込み要求をクリア
 	 */
 	x_clear_int(INTNO_TIMER);
 
 	/* 
-	 * RyA}b`^C}èÝðÂ
+	 * コンペアマッチタイマ割り込みを許可
 	 */
 	sil_wrh_mem((uint16_t *)CMT0_CMCR_ADDR,
@@ -112,5 +107,5 @@
 	
 	/* 
-	 * ^C}®ìJn
+	 * タイマ動作開始
 	 */
 	sil_wrh_mem((uint16_t *)CMT_CMSTR0_ADDR,
@@ -119,5 +114,5 @@
 
 /*
- *  ^C}Ìâ~
+ *  タイマの停止処理
  */
 void
@@ -125,5 +120,5 @@
 {
 	/* 
-	 * ^C}â~ 
+	 * タイマ停止 
 	 */
 	sil_wrh_mem((uint16_t *)CMT_CMSTR0_ADDR,
@@ -132,5 +127,5 @@
 
 /*
- *  ^C}Ýnh
+ *  タイマ割込みハンドラ
  */
 void target_timer_handler(void)
@@ -138,5 +133,5 @@
 	i_begin_int(INTNO_TIMER);
 
-	signal_time();				/* ^CeBbNÌ */
+	signal_time();				/* タイムティックの供給 */
 
 	i_end_int(INTNO_TIMER);
Index: UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_timer.cfg
===================================================================
--- UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_timer.cfg	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_timer.cfg	(revision 167)
@@ -1,5 +1,4 @@
 /*
- *  ^C}hCoiRX630pjÌRtBM
-[Vt@C
+ *  タイマドライバ（RX630用）のコンフィギュレーションファイル
  */
 
Index: UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_timer.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_timer.h	(revision 166)
+++ UsbWattMeter/trunk/asp_dcre/target/grsakura_ccrx/target_timer.h	(revision 167)
@@ -13,36 +13,32 @@
  *  Copyright (C) 2013      by Mitsuhiro Matsuura
  * 
- *  ã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$
@@ -50,5 +46,5 @@
 
 /*
- *		^C}hCoiGR-SAKURApj
+ *		タイマドライバ（GR-SAKURA用）
  */
  
@@ -61,46 +57,46 @@
 
 /*
- *  ^C}Ýnho^Ì½ßÌè
+ *  タイマ割込みハンドラ登録のための定数
  */
-#define INHNO_TIMER		INT_CMT0_CMI				/* ÝnhÔ */
-#define INTNO_TIMER		INT_CMT0_CMI				/* ÝÔ */
-#define INTPRI_TIMER	-5							/* ÝDæx */
-#define INTATR_TIMER	(TA_ENAINT | TA_EDGE)		/* Ý®« */
+#define INHNO_TIMER		INT_CMT0_CMI				/* 割込みハンドラ番号 */
+#define INTNO_TIMER		INT_CMT0_CMI				/* 割込み番号 */
+#define INTPRI_TIMER	-5							/* 割込み優先度 */
+#define INTATR_TIMER	(TA_ENAINT | TA_EDGE)		/* 割込み属性 */
 
 #ifndef TOPPERS_MACRO_ONLY
 
 /*
- *  ^C}lÌà\»Ì^
+ *  タイマ値の内部表現の型
  */
 typedef uint16_t	CLOCK;
 
 /*
- *  ^C}lÌà\»Æ~bPÊÆÌÏ·
+ *  タイマ値の内部表現とミリ秒単位との変換
  *
- *  1msÌ^C}[èÝðgp·éÌÅ»ÌNbNðè`·éD
+ *  1msのタイマー割り込みを使用するのでそのクロックを定義する．
  */
-#define TIMER_CLOCK				(FREQ_PCLK / 8U)		/* PCLK/Åáªüä8 = 6MHz */
+#define TIMER_CLOCK				(FREQ_PCLK / 8U)		/* PCLK/最低分周比8 = 6MHz */
 #define TO_CLOCK(nume, deno)	((CLOCK)(TIMER_CLOCK * (nume) / (deno)))
 #define	TO_USEC(clock)			((SYSUTM)((clock) * 1000U / TIMER_CLOCK))
 
 /*
- *  ÝèÅ«éÅåÌ^C}üúiPÊÍà\»j
+ *  設定できる最大のタイマ周期（単位は内部表現）
  */
 #define	MAX_CLOCK	((CLOCK) 0xFFFFU)
 
 /*
- *  «\]¿pVXeðæèo·ÛÌÔÌ©ÏèliPÊÍà\»j
+ *  性能評価用システム時刻を取り出す際の処理時間の見積り値（単位は内部表現）
  */
-#define	GET_TOLERANCE	(100U)	/* xêÌ©ÏèliPÊÍà\»j*/
+#define	GET_TOLERANCE	(100U)	/* 処理遅れの見積り値（単位は内部表現）*/
 #define	BEFORE_IREQ(clock) \
 		((clock) >= (TO_CLOCK(TIC_NUME, TIC_DENO) - GET_TOLERANCE))
 
 /*
- *  RyA}b`^C}Rg[WX^ÌÝèl
+ *  コンペアマッチタイマコントロールレジスタの設定値
  */
 /*
- *  NbNIðrbg
+ *  クロック選択ビット
  *
- *  bit7Í\ñÌæÅ è, ÝÍ1Åè
+ *  bit7は予約領域であり, 書込みは1固定
  */
 #define CMT_PCLK_DIV_8			(0x0080U)
@@ -110,15 +106,14 @@
 
 /*
- *  RyA}b`^C}RX^gWX^iCMCORj
+ *  コンペアマッチタイマコンスタントレジスタ（CMCOR）
  *
- *  RyA}b`üúð1msÆ·éD
- *  üÓW
-[NbNiPCLKj48MHzð8ªü·éÌÅC
- *  1üú ½è166.7nsecÆÈèC6000üúÅ1msi^CeBbNÌüújÆ·éD
+ *  コンペアマッチ周期を1msとする．
+ *  周辺モジュールクロック（PCLK）48MHzを8分周するので，
+ *  1周期あたり166.7nsecとなり，6000周期で1ms（タイムティックの周期）とする．
  */
 #define CMCOR_PERIOD			(TIMER_CLOCK)
 
 /*
- * RyA}b`^C}èÝvæÝèWX^iiISELRijii= èÝxN^Ôj
+ * コンペアマッチタイマ割り込み要求先設定レジスタi（ISELRi）（i= 割り込みベクタ番号）
  */
 #define ICU_ISEL_CPU			(0x00U)
@@ -128,19 +123,19 @@
 
 /*
- *  ^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}WX^lÌÇÝoµ
+ *  タイマレジスタ値の読み出し
  */
 Inline uint16_t rx630_cmt_getcount(void)
@@ -150,5 +145,5 @@
 
 /*
- *  ^C}WX^lÌ«Ý
+ *  タイマレジスタ値の書き込み
  */
 Inline void rx630_cmt_setcount(uint16_t count)
@@ -158,15 +153,15 @@
 
 /*
- *  ^C}Ì»ÝlÌÇoµ
+ *  タイマの現在値の読出し
  */
 Inline CLOCK
 target_timer_get_current(void)
 {
-	/* AbvJEgÌ½ß^C}WX^lð»ÌÜÜÔ·	*/
+	/* アップカウントのためタイマレジスタ値をそのまま返す	*/
 	return (rx630_cmt_getcount());
 }
 
 /*
- *  ^C}ÝvÌ`FbN
+ *  タイマ割込み要求のチェック
  */
 Inline bool_t
@@ -177,5 +172,5 @@
 
 /*
- *  ^C}Ýnh
+ *  タイマ割込みハンドラ
  */
 extern void	target_timer_handler(void);
Index: UsbWattMeter/trunk/csp/libasp/dummy.c
===================================================================
--- UsbWattMeter/trunk/csp/libasp/dummy.c	(revision 166)
+++ UsbWattMeter/trunk/csp/libasp/dummy.c	(revision 167)
@@ -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$
@@ -46,5 +42,5 @@
 
 /* 
- *  J[lì¬p_~[^XN
+ *  カーネル作成用ダミータスク
  */
 
@@ -54,5 +50,5 @@
 
 /*
- *  C^XN
+ *  メインタスク
  */
 void dummy_task(intptr_t exinf)
Index: UsbWattMeter/trunk/csp/libasp/dummy.cfg
===================================================================
--- UsbWattMeter/trunk/csp/libasp/dummy.cfg	(revision 166)
+++ UsbWattMeter/trunk/csp/libasp/dummy.cfg	(revision 167)
@@ -4,6 +4,5 @@
 
 /*
- *  TvvO(1)ÌVXeRtBM
-[Vt@C
+ *  サンプルプログラム(1)のシステムコンフィギュレーションファイル
  */
 #include "dummy.h"
Index: UsbWattMeter/trunk/csp/libasp/dummy.h
===================================================================
--- UsbWattMeter/trunk/csp/libasp/dummy.h	(revision 166)
+++ UsbWattMeter/trunk/csp/libasp/dummy.h	(revision 167)
@@ -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$
@@ -46,32 +42,32 @@
 
 /*
- *	J[lì¬p_~[^XNÌwb_t@C
+ *	カーネル作成用ダミータスクのヘッダファイル
  */
 
 /*
- *  ^[QbgË¶Ìè`
+ *  ターゲット依存の定義
  */
 #include "target_test.h"
 
 /*
- *  e^XNÌDæxÌè`
+ *  各タスクの優先度の定義
  */
 
-#define MAIN_PRIORITY	5		/* C^XNÌDæx */
+#define MAIN_PRIORITY	5		/* メインタスクの優先度 */
 
 /*
- *  ^[QbgÉË¶·éÂ\«Ì éèÌè`
+ *  ターゲットに依存する可能性のある定数の定義
  */
 
 #ifndef TASK_PORTID
-#define	TASK_PORTID		1			/* ¶üÍ·éVA|[gID */
+#define	TASK_PORTID		1			/* 文字入力するシリアルポートID */
 #endif /* TASK_PORTID */
 
 #ifndef STACK_SIZE
-#define	STACK_SIZE		4096		/* ^XNÌX^bNTCY */
+#define	STACK_SIZE		4096		/* タスクのスタックサイズ */
 #endif /* STACK_SIZE */
 
 /*
- *  ÖÌvg^Cvé¾
+ *  関数のプロトタイプ宣言
  */
 #ifndef TOPPERS_MACRO_ONLY
Index: UsbWattMeter/trunk/ecnl_lwip/echonet.c
===================================================================
--- UsbWattMeter/trunk/ecnl_lwip/echonet.c	(revision 166)
+++ UsbWattMeter/trunk/ecnl_lwip/echonet.c	(revision 167)
@@ -4,36 +4,32 @@
  *  Copyright (C) 2014-2016 Cores Co., Ltd. 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$
@@ -52,5 +48,5 @@
 
 /*
- * ECHONET LiteT[rXJn
+ * ECHONET Liteサービス処理開始
  */
 ER ecn_sta_svc()
@@ -60,11 +56,11 @@
 
 /*
- * ECHONETIuWFNgQÆ
- * ø
- * ID		fa_eobjid	ECHONETIuWFNgID
- * T_REOBJ	*fp_eobj	ECHONETIuWFNgÌÝèàeRs[æ
+ * ECHONETオブジェクト参照
+ * 引数
+ * ID		fa_eobjid	ECHONETオブジェクトID
+ * T_REOBJ	*fp_eobj	ECHONETオブジェクトの設定内容コピー先
  *
- * eobjidÅwèµ½ECHONETIuWFNgÌÝèàeðQÆ·éB
- * QÆµ½ÝèàeÍpk_eobjÉwèµ½ÉÔ³êéB
+ * eobjidで指定したECHONETオブジェクトの設定内容を参照する。
+ * 参照した設定内容はpk_eobjに指定したメモリに返される。
  */
 ER ecn_ref_eobj(ID fa_eobjid, T_REOBJ *fp_eobj)
@@ -73,8 +69,8 @@
 
 	if (!fp_eobj)
-		return E_PAR;	/* p[^G[ */
+		return E_PAR;	/* パラメータエラー */
 
 	if ((fa_eobjid <= 0) || (fa_eobjid > tmax_eobjid))
-		return E_OBJ;	/* IuWFNg¢o^ */
+		return E_OBJ;	/* オブジェクト未登録 */
 
 	p_obj = &eobjinib_table[fa_eobjid - 1];
@@ -86,12 +82,12 @@
 
 /*
- * ECHONETvpeBQÆ
- * ø
- * ID			fa_eobjid	ECHONETIuWFNgID
- * uint8_t		fa_epc		vpeBR[h
- * T_RPRP		*fp_eprp	ECHONETIuWFNgÌvpeBÝèàeRs[æ
+ * ECHONETプロパティ参照
+ * 引数
+ * ID			fa_eobjid	ECHONETオブジェクトID
+ * uint8_t		fa_epc		プロパティコード
+ * T_RPRP		*fp_eprp	ECHONETオブジェクトのプロパティ設定内容コピー先
  *
- * eobjidÅwèµ½ECHONETIuWFNgÌAepcÅwèµ½vpeBÌÝèàeðQÆ·éB
- * QÆµ½ÝèàeÍpk_eprpÉwèµ½ÉÔ³êéB
+ * eobjidで指定したECHONETオブジェクトの、epcで指定したプロパティの設定内容を参照する。
+ * 参照した設定内容はpk_eprpに指定したメモリに返される。
  */
 ER ecn_ref_eprp(ID fa_eobjid, uint8_t fa_epc, T_RPRP *fp_eprp)
@@ -102,12 +98,12 @@
 
 	if (!fp_eprp)
-		return E_PAR;	/* p[^G[ */
+		return E_PAR;	/* パラメータエラー */
 
 	if ((fa_eobjid <= 0) || (fa_eobjid > tmax_eobjid))
-		return E_OBJ;	/* IuWFNg¢o^ */
+		return E_OBJ;	/* オブジェクト未登録 */
 
 	p_obj = &eobjinib_table[fa_eobjid - 1];
 
-	/* eojÌÂvpeBú»è`zñ©çõ */
+	/* eojの持つプロパティ初期化定義配列から検索 */
 	p = p_obj->eprp;
 	for (i = 0; i < p_obj->eprpcnt; i++, p++) {
@@ -118,21 +114,21 @@
 	}
 
-	return E_PAR;	/* p[^G[ */
-}
-
-/*
- * vpeBl«Ývisvjd¶ì¬
- * ø
- * T_EDATA			**ppk_esv	æ¾µ½d¶Ìi[æ
- * ID				fa_deoj		¶æÌECHONETIuWFNgID
- * uint8_t			fa_epc		vpeBR[h
- * uint8_t			fa_pdc		vpeBlf[^TCY
- * const void		*p_edt		vpeBlf[^
+	return E_PAR;	/* パラメータエラー */
+}
+
+/*
+ * プロパティ値書き込み要求（応答不要）電文作成
+ * 引数
+ * T_EDATA			**ppk_esv	取得した電文の格納先
+ * ID				fa_deoj		宛先のECHONETオブジェクトID
+ * uint8_t			fa_epc		プロパティコード
+ * uint8_t			fa_pdc		プロパティ値データサイズ
+ * const void		*p_edt		プロパティ値データ
  *
- *	vpeBl«Ývisvjd¶ðì¬·éB
- *	d¶ÍdeojÅwèµ½ECHONETIuWFNgð¶æÆµA
- *	d¶ÌßÌvpeBlÆµÄAepcÆpdcAp_edtÅwè³ê½
- *	vpeBR[hAf[^TCYAf[^ðd¶ÉÝè·éB
- *	ì¬µ½d¶ÌæªAhXÍ|C^oRÅÔ³êéB
+ *	プロパティ値書き込み要求（応答不要）電文を作成する。
+ *	電文はdeojで指定したECHONETオブジェクトを宛先とし、
+ *	電文の初めのプロパティ値として、epcとpdc、p_edtで指定された
+ *	プロパティコード、データサイズ、データを電文に設定する。
+ *	作成した電文の先頭アドレスはポインタ経由で返される。
  */
 ER ecn_esv_seti(T_EDATA **ppk_esv, ID fa_deoj, uint8_t fa_epc, uint8_t fa_pdc,
@@ -143,17 +139,17 @@
 
 /*
- * vpeBl«Ývivjd¶ì¬
- * ø
- * T_EDATA			**ppk_esv	æ¾µ½d¶Ìi[æ
- * ID				fa_deoj		¶æÌECHONETIuWFNgID
- * uint8_t			fa_epc		vpeBR[h
- * uint8_t			fa_pdc		vpeBlf[^TCY
- * const void		*p_edt		vpeBlf[^
+ * プロパティ値書き込み要求（応答要）電文作成
+ * 引数
+ * T_EDATA			**ppk_esv	取得した電文の格納先
+ * ID				fa_deoj		宛先のECHONETオブジェクトID
+ * uint8_t			fa_epc		プロパティコード
+ * uint8_t			fa_pdc		プロパティ値データサイズ
+ * const void		*p_edt		プロパティ値データ
  *
- *	vpeBl«Ývivjd¶ðì¬·éB
- *	d¶ÍdeojÅwèµ½ECHONETIuWFNgð¶æÆµA
- *	d¶ÌßÌvpeBlÆµÄAepcÆpdcAp_edtÅwè³ê½
- *	vpeBR[hAf[^TCYAf[^ðd¶ÉÝè·éB
- *	ì¬µ½d¶ÌæªAhXÍ|C^oRÅÔ³êéB
+ *	プロパティ値書き込み要求（応答要）電文を作成する。
+ *	電文はdeojで指定したECHONETオブジェクトを宛先とし、
+ *	電文の初めのプロパティ値として、epcとpdc、p_edtで指定された
+ *	プロパティコード、データサイズ、データを電文に設定する。
+ *	作成した電文の先頭アドレスはポインタ経由で返される。
  */
 ER ecn_esv_setc(T_EDATA **ppk_esv, ID fa_deoj, uint8_t fa_epc, uint8_t fa_pdc,
@@ -164,15 +160,15 @@
 
 /*
- * vpeBlÇÝoµvd¶ì¬
- * ø
- * T_EDATA			**ppk_esv	æ¾µ½d¶Ìi[æ
- * ID				fa_deoj		¶æÌECHONETIuWFNgID
- * uint8_t			fa_epc		vpeBR[h
+ * プロパティ値読み出し要求電文作成
+ * 引数
+ * T_EDATA			**ppk_esv	取得した電文の格納先
+ * ID				fa_deoj		宛先のECHONETオブジェクトID
+ * uint8_t			fa_epc		プロパティコード
  *
- * vpeBlÇÝoµvd¶ðì¬·éB
- * d¶ÍdeojÅwèµ½ECHONETIuWFNgð¶æÆµA
- * d¶ÌßÌvpeBlÆµÄAepcÅwè³ê½
- * vpeBR[hðd¶ÉÝè·éB
- * ì¬µ½d¶ÌæªAhXÍ|C^oRÅÔ³êéB
+ * プロパティ値読み出し要求電文を作成する。
+ * 電文はdeojで指定したECHONETオブジェクトを宛先とし、
+ * 電文の初めのプロパティ値として、epcで指定された
+ * プロパティコードを電文に設定する。
+ * 作成した電文の先頭アドレスはポインタ経由で返される。
  */
 ER ecn_esv_get(T_EDATA **ppk_esv, ID fa_deoj, uint8_t fa_epc)
@@ -182,15 +178,15 @@
 
 /*
- * vpeBlÊmvd¶ì¬
- * ø
- * T_EDATA			**ppk_esv	æ¾µ½d¶Ìi[æ
- * ID				fa_deoj		¶æÌECHONETIuWFNgID
- * uint8_t			fa_epc		vpeBR[h
+ * プロパティ値通知要求電文作成
+ * 引数
+ * T_EDATA			**ppk_esv	取得した電文の格納先
+ * ID				fa_deoj		宛先のECHONETオブジェクトID
+ * uint8_t			fa_epc		プロパティコード
  *
- * vpeBlÊmvd¶ðì¬·éB
- * d¶ÍdeojÅwèµ½ECHONETIuWFNgð¶æÆµA
- * d¶ÌßÌvpeBlÆµÄAepcÅwè³ê½
- * vpeBR[hðd¶ÉÝè·éB
- * ì¬µ½d¶ÌæªAhXÍ|C^oRÅÔ³êéB
+ * プロパティ値通知要求電文を作成する。
+ * 電文はdeojで指定したECHONETオブジェクトを宛先とし、
+ * 電文の初めのプロパティ値として、epcで指定された
+ * プロパティコードを電文に設定する。
+ * 作成した電文の先頭アドレスはポインタ経由で返される。
  */
 ER ecn_esv_inf_req(T_EDATA **ppk_esv, ID fa_deoj, uint8_t fa_epc)
@@ -200,17 +196,17 @@
 
 /*
- * vpeBl«ÝEÇÝoµvd¶ì¬
- * ø
- * T_EDATA			**ppk_esv	æ¾µ½d¶Ìi[æ
- * ID				fa_deoj		¶æÌECHONETIuWFNgID
- * uint8_t			fa_epc		vpeBR[h
- * uint8_t			fa_pdc		vpeBlf[^TCY
- * const void		*p_edt		vpeBlf[^
+ * プロパティ値書き込み・読み出し要求電文作成
+ * 引数
+ * T_EDATA			**ppk_esv	取得した電文の格納先
+ * ID				fa_deoj		宛先のECHONETオブジェクトID
+ * uint8_t			fa_epc		プロパティコード
+ * uint8_t			fa_pdc		プロパティ値データサイズ
+ * const void		*p_edt		プロパティ値データ
  *
- * vpeBl«ÝEÇÝoµvd¶ðì¬·éB
- * d¶ÍdeojÅwèµ½ECHONETIuWFNgð¶æÆµA
- * d¶ÌßÌvpeBlÆµÄAepcÆpdcAp_edtÅwè³ê½
- * vpeBR[hAf[^TCYAf[^ðd¶ÉÝè·éB
- * ì¬µ½d¶ÌæªAhXÍ|C^oRÅÔ³êéB
+ * プロパティ値書き込み・読み出し要求電文を作成する。
+ * 電文はdeojで指定したECHONETオブジェクトを宛先とし、
+ * 電文の初めのプロパティ値として、epcとpdc、p_edtで指定された
+ * プロパティコード、データサイズ、データを電文に設定する。
+ * 作成した電文の先頭アドレスはポインタ経由で返される。
  */
 ER ecn_esv_set_get(T_EDATA **ppk_esv, ID fa_deoj, uint8_t fa_epc, uint8_t fa_pdc,
@@ -221,7 +217,7 @@
 
 /*
- * vpeBl«ÝEÇÝoµvd¶ì¬FÜèÔµwè
- * vpeBl«ÝEÇÝoµvd¶ì¬ÌA«ÝvpeBzñðI¦Ä
- * ÇÝoµvpeBzñÉÚéÉp¢éB
+ * プロパティ値書き込み・読み出し要求電文作成：折り返し指定
+ * プロパティ値書き込み・読み出し要求電文作成中の、書き込みプロパティ配列を終えて
+ * 読み出しプロパティ配列に移る時に用いる。
  */
 ER ecn_trn_set_get(T_EDATA *ppk_esv, int *p_trn_pos)
@@ -234,8 +230,8 @@
 		return E_PAR;
 
-	/* vpeBÇÝÝ«ÝÌwbhîñðL^ */
+	/* プロパティ読み込み件数書き込み時のヘッド情報を記録 */
 	*p_trn_pos = _ecn_fbs_get_datalen(*(ECN_FBS_ID *)&ppk_esv);
 
-	/* d¶pÉf[^ÇÁE±Ì_ÅÌd¶vpeBðL^ */
+	/* 応答電文用メモリにデータ追加・この時点での応答電文中プロパティ件数を記録 */
 	a_ret = _ecn_fbs_add_data_ex(*(ECN_FBS_ID *)&ppk_esv, &ppk_esv->hdr.edata.opc, 1);
 	if (a_ret) {
@@ -244,5 +240,5 @@
 	}
 
-	/* d¶vpeBð 0 Éß·i¡ãAI¹wè·éÜÅÍÇÝoµvpeBÉÈéj */
+	/* 応答電文中プロパティ件数を 0 に戻す（今後、終了指定するまでは読み出しプロパティ件数になる） */
 	ppk_esv->hdr.edata.opc = 0;
 
@@ -251,6 +247,6 @@
 
 /*
- * vpeBl«ÝEÇÝoµvd¶ì¬FI¹wè
- * vpeBl«ÝEÇÝoµvd¶ì¬ÌAÇÝoµvpeBzñðI¦éÉp¢éB
+ * プロパティ値書き込み・読み出し要求電文作成：終了指定
+ * プロパティ値書き込み・読み出し要求電文作成中の、読み出しプロパティ配列を終える時に用いる。
  */
 ER ecn_end_set_get(T_EDATA *ppk_esv, int fa_trn_pos)
@@ -263,8 +259,8 @@
 		return E_PAR;
 
-	/* ±Ì_ÅÌd¶vpeB(ÇÝoµvpeB)ðÛ */
+	/* この時点での応答電文中プロパティ件数(読み出しプロパティ件数)を保持 */
 	a_rd_opc = ppk_esv->hdr.edata.opc;
 
-	/* d¶vpeB(«ÝvpeB)ðÛ¶Êu©çÇÝæè */
+	/* 応答電文中プロパティ件数(書き込みプロパティ件数)を保存位置から読み取り */
 	a_wr_opc = _ecn_fbs_peek(*(ECN_FBS_ID *)&ppk_esv, fa_trn_pos);
 	if (a_wr_opc < 0) {
@@ -273,8 +269,8 @@
 	}
 
-	/* d¶vpeB(«ÝvpeB)ð³ */
+	/* 応答電文中プロパティ件数(書き込みプロパティ件数)を復元 */
 	ppk_esv->hdr.edata.opc = (uint8_t)a_wr_opc;
 
-	/* d¶vpeB(ÇÝoµvpeB)ðÛ¶ÊuÉ«Ý */
+	/* 応答電文中プロパティ件数(読み出しプロパティ件数)を保存位置に書き込み */
 	a_ret = _ecn_fbs_poke(*(ECN_FBS_ID *)&ppk_esv, fa_trn_pos, a_rd_opc);
 	if (a_ret) {
@@ -287,10 +283,10 @@
 
 /*
- * vpeBlÊmivjd¶ì¬
- * ø
- * T_EDATA			**ppk_esv	æ¾µ½d¶Ìi[æ
- * ID				fa_deoj		¶æÌECHONETIuWFNgID
- * ID				fa_seoj		M³ÌECHONETIuWFNgID
- * uint8_t			fa_sepc		M³ÌvpeBR[h
+ * プロパティ値通知（応答要）電文作成
+ * 引数
+ * T_EDATA			**ppk_esv	取得した電文の格納先
+ * ID				fa_deoj		宛先のECHONETオブジェクトID
+ * ID				fa_seoj		送信元のECHONETオブジェクトID
+ * uint8_t			fa_sepc		送信元のプロパティコード
  */
 ER ecn_esv_infc(T_EDATA **ppk_esv, ID fa_deoj, ID fa_seoj, uint8_t fa_sepc)
@@ -300,5 +296,5 @@
 
 /*
- * vd¶ÖÌvpeBwèÇÁ (vpeBf[^ªtµÈ¢êÉp¢é)
+ * 要求電文へのプロパティ指定追加 (プロパティデータが付随しない場合に用いる)
  */
 ER ecn_add_epc(T_EDATA *pk_esv, uint8_t epc)
@@ -308,5 +304,5 @@
 
 /*
- * vd¶ÖÌvpeBf[^ÇÁ (vpeB¨æÑtf[^ðÇÁ·é)
+ * 要求電文へのプロパティデータ追加 (プロパティおよび付随データを追加する)
  */
 ER ecn_add_edt(T_EDATA *pk_esv, uint8_t fa_epc, uint8_t fa_pdc, const void *p_edt)
@@ -317,15 +313,15 @@
 
 	if (!pk_esv)
-		return E_PAR; /* æ¾µ½FBS_IDÌi[æªNULL */
+		return E_PAR; /* 取得したFBS_IDの格納先がNULL */
 	if (ECHONET_MEMPOOL_BLOCK_SIZE <= fa_pdc)
-		return E_PAR; /* vpeBlTCYªå«·¬é */
+		return E_PAR; /* プロパティ値サイズが大きすぎる */
 	if (!p_edt && 0 < fa_pdc)
-		return E_PAR; /* vpeBlTCYª1ÈãÈÌÉf[^|C^ªNULL */
+		return E_PAR; /* プロパティ値サイズが1以上なのにデータポインタがNULL */
 
 	a_fbs_id.ptr = (T_ECN_FST_BLK *)pk_esv;
 	if (((T_EDATA *)a_fbs_id.ptr)->hdr.edata.opc == 0xFF)
-		return E_PAR; /* vpeBª½·¬é */
-
-	/* vd¶pÉf[^ÇÁ */
+		return E_PAR; /* プロパティが多すぎる */
+
+	/* 要求電文用メモリにデータ追加 */
 	memset(&a_ecn_prp, 0, sizeof(a_ecn_prp));
 	a_ecn_prp.epc = fa_epc;
@@ -339,5 +335,5 @@
 	}
 	if (0 < fa_pdc) {
-		/* tf[^ÇÁ */
+		/* 付随データ追加 */
 		a_ret = _ecn_fbs_add_data_ex(a_fbs_id, p_edt, fa_pdc);
 		if (a_ret) {
@@ -348,5 +344,5 @@
 		}
 	}
-	/* vpeBCNg */
+	/* プロパティ数インクリメント */
 	((T_EDATA *)a_fbs_id.ptr)->hdr.edata.opc++;
 
@@ -356,7 +352,7 @@
 
 /*
- * vd¶ÌM
- * esvÅwè³ê½vd¶ðM·éB
- * d¶Éwè³ê½¶æ©çIPAhXðÁèµAUDPpPbgÆµÄM·éB
+ * 要求電文の送信
+ * esvで指定された要求電文を送信する。
+ * 電文に指定された宛先からIPアドレスを特定し、UDPパケットとして送信する。
  */
 ER ecn_snd_esv(T_EDATA *pk_esv)
@@ -368,10 +364,10 @@
 
 /*
- * d¶ÌóMiÒ¿
- * d¶ðóM·éÌðÒÂB
- * óMµ½d¶Íppk_esvÅwèµ½|C^[ÉæªAhXªÔ³êéB
- * vd¶Ì¶æÌECHONETIuWFNgªlbg[NÉ¶ÝµÈ¢êA
- * d¶ÍÔ³êÈ¢ÌÅAiÉÒÂ±ÆÉÈéÌÅ^CAEgt«Ì
- * ecn_trcv_esvðgp·é±Æð§·éB
+ * 応答電文の受信永遠待ち
+ * 応答電文を受信するのを待つ。
+ * 受信した応答電文はppk_esvで指定したポインターに先頭アドレスが返される。
+ * 要求電文の宛先のECHONETオブジェクトがネットワークに存在しない場合、
+ * 応答電文は返送されないので、永遠に待つことになるのでタイムアウト付きの
+ * ecn_trcv_esvを使用することを推奨する。
  */
 ER ecn_rcv_esv(T_EDATA **ppk_esv)
@@ -381,11 +377,11 @@
 
 /*
- * d¶ÌóMÒ¿^CAEg è
- * d¶ðóM·éÌðÒÂB
- * óMµ½d¶Íppk_esvÅwèµ½|C^[ÉæªAhXªÔ³êéB
- * tmoÅwè³ê½^CAEgÔªoßµÄàd¶ðóMµÈ¢êA
- * Ò¿ªð³êAßèlªE_TMOÅÔ³êéB
- * tmoÉTMO_FEVRðwè·éÆecn_rcv_esvÆ¯¶Ué¢ð·éB
- * tmoÉ0ðwè·éÆecn_prcv_esvÆ¯¶Ué¢ð·éB
+ * 応答電文の受信待ちタイムアウトあり
+ * 応答電文を受信するのを待つ。
+ * 受信した応答電文はppk_esvで指定したポインターに先頭アドレスが返される。
+ * tmoで指定されたタイムアウト時間が経過しても応答電文を受信しない場合、
+ * 待ちが解除され、戻り値がE_TMOで返される。
+ * tmoにTMO_FEVRを指定するとecn_rcv_esvと同じ振る舞いをする。
+ * tmoに0を指定するとecn_prcv_esvと同じ振る舞いをする。
  */
 ER ecn_trcv_esv(T_EDATA **ppk_esv, TMO fa_tmout)
@@ -408,8 +404,8 @@
 
 /*
- * d¶ÌóM|[O
- * d¶ðóM·éÌðÒÂB
- * óMµ½d¶Íppk_esvÅwèµ½|C^[ÉæªAhXªÔ³êéB
- * d¶ÌóMÌL³É©©íç¸AÒ½¸ÉÖð²¯éB
+ * 応答電文の受信ポーリング
+ * 応答電文を受信するのを待つ。
+ * 受信した応答電文はppk_esvで指定したポインターに先頭アドレスが返される。
+ * 応答電文の受信の有無にかかわらず、待たずに関数を抜ける。
  */
 ER ecn_prcv_esv(T_EDATA **ppk_esv)
@@ -419,5 +415,5 @@
 
 /*
- * d¶Ìjü
+ * 応答電文の破棄
  */
 ER ecn_rel_esv(T_EDATA *pk_esv)
@@ -432,5 +428,5 @@
 
 /*
- * d¶ÌM³@íIuWFNgðæ¾·é
+ * 応答電文の送信元機器オブジェクトを取得する
  */
 ID ecn_get_eobj(T_EDATA *pk_esv)
@@ -443,10 +439,10 @@
 	p_snod = _ecn_eno_fnd(((T_ECN_FST_BLK *)pk_esv)->hdr.sender.id);
 	if (p_snod != NULL) {
-		/* m[hvt@CÌê */
+		/* ノードプロファイルの場合 */
 		if ((p_esv->edata.seoj.eojx1 == EOJ_X1_PROFILE)
 			&& (p_esv->edata.seoj.eojx2 == EOJ_X2_NODE_PROFILE)) {
 			p_sobj = p_snod->profile;
 		}
-		/* @íIuWFNgÌê */
+		/* 機器オブジェクトの場合 */
 		else {
 			p_sobj = _ecn_eoj_fnd(p_snod, &p_esv->edata.seoj);
@@ -464,5 +460,5 @@
 
 /*
- * d¶ðÍCe[^[ú»
+ * 応答電文解析イテレーター初期化
  */
 ER ecn_itr_ini(T_ENUM_EPC *pk_itr, T_EDATA *pk_esv)
@@ -476,14 +472,14 @@
 	pk_itr->pk_esv = pk_esv;
 	pk_itr->count = pk_esv->hdr.edata.opc;
-								/* ¡ÌubNÅÌvpeB */
-	pk_itr->got_ct = 0;			/* ¡ÌubNÅAÇÝæÁ½ */
-	pk_itr->next_blk_ct = 0;	/* ã±ubN */
-	pk_itr->is_eof = 0;			/* I[ÉBµ½Añ0 */
+								/* 今のブロックでのプロパティ総数 */
+	pk_itr->got_ct = 0;			/* 今のブロックで、読み取った数 */
+	pk_itr->next_blk_ct = 0;	/* 後続ブロック数 */
+	pk_itr->is_eof = 0;			/* 終端に達した時、非0 */
 	pk_itr->cur = offsetof(T_ECN_EDT_HDR, ecn_prp);
 
 	switch (pk_esv->hdr.edata.esv) {
-	case ESV_SET_GET:		/* 0x6E vpeBl«ÝEÇÝoµv		*/
-	case ESV_SET_GET_RES:	/* 0x7E vpeBl«ÝEÇÝoµ		*/
-	case ESV_SET_GET_SNA:	/* 0x5E	vpeBl«ÝEÇÝoµsÂ	*/
+	case ESV_SET_GET:		/* 0x6E プロパティ値書き込み・読み出し要求		*/
+	case ESV_SET_GET_RES:	/* 0x7E プロパティ値書き込み・読み出し応答		*/
+	case ESV_SET_GET_SNA:	/* 0x5E	プロパティ値書き込み・読み出し不可応答	*/
 		pk_itr->next_blk_ct ++;
 	default:
@@ -495,5 +491,5 @@
 
 /*
- * d¶ðÍCe[^[CNg
+ * 応答電文解析イテレーターインクリメント
  */
 ER ecn_itr_nxt(T_ENUM_EPC *pk_itr, uint8_t *p_epc, uint8_t *p_pdc, void *p_edt)
@@ -517,14 +513,14 @@
 
 	if (pk_itr->is_eof)
-		return E_BOVR; /* f[^I¹ */
+		return E_BOVR; /* データ終了 */
 	if (	pk_itr->count <= pk_itr->got_ct
 	&&	pk_itr->next_blk_ct < 1) {
-		pk_itr->is_eof = 1;			/* I[ÉBµ½Añ0 */
-		return E_BOVR; /* f[^I¹ */
+		pk_itr->is_eof = 1;			/* 終端に達した時、非0 */
+		return E_BOVR; /* データ終了 */
 	}
 
 	a_fbs_id.ptr = (T_ECN_FST_BLK *)pk_itr->pk_esv;
 
-	/* ³ÌJ[\ÊuðÛ¶µACe[^ÌJ[\ÊuÉ·é */
+	/* 元のカーソル位置を保存し、イテレータのカーソル位置にする */
 	a_rd_bak = a_fbs_id.ptr->hdr.rd;
 	a_fbs_id.ptr->hdr.rd = pk_itr->cur;
@@ -534,10 +530,10 @@
 #endif
 	if (pk_itr->count <= pk_itr->got_ct && 0 < pk_itr->next_blk_ct) {
-		/* ubNÉÚ® */
+		/* 次ブロックに移動 */
 		pk_itr->next_blk_ct --;
-		pk_itr->count = 0;		/* ¡ÌubNÅÌvpeB */
-		pk_itr->got_ct = 0;		/* ¡ÌubNÅAÇÝæÁ½ */
-
-		/* ubNÌvpeBðÇÝæé */
+		pk_itr->count = 0;		/* 今のブロックでのプロパティ総数 */
+		pk_itr->got_ct = 0;		/* 今のブロックで、読み取った数 */
+
+		/* 次ブロックのプロパティ数を読み取る */
 		a_rd_len = 0;
 		a_ret = _ecn_fbs_get_data(a_fbs_id, &a_ecn_prp.pdc, 1, &a_rd_len);
@@ -545,11 +541,11 @@
 			goto lb_except;
 		if (0 < a_rd_len) {
-			pk_itr->count = a_ecn_prp.pdc;	/* ¡ÌubNÅÌvpeB */
+			pk_itr->count = a_ecn_prp.pdc;	/* 今のブロックでのプロパティ総数 */
 		}
-		a_ret = E_BOVR;	/* f[^I¹ */
+		a_ret = E_BOVR;	/* データ終了 */
 		goto lb_finally;
 	}
 
-	/* vpeBR[hÆf[^TCYðÇÝæé */
+	/* プロパティコードとデータサイズを読み取る */
 	memset(&a_ecn_prp, 0, sizeof(a_ecn_prp));
 	a_rd_len = 0;
@@ -560,6 +556,6 @@
 		ECN_DBG_PUT( "ecn_itr_nxt() ecn_prp read fault." 
 			" rd.cur=%d", pk_itr->cur );
-		pk_itr->is_eof = 1;			/* I[ÉBµ½Añ0 */
-		a_ret = E_BOVR;	/* f[^I¹ */
+		pk_itr->is_eof = 1;			/* 終端に達した時、非0 */
+		a_ret = E_BOVR;	/* データ終了 */
 		goto lb_finally;
 	}
@@ -568,5 +564,5 @@
 
 	if (0 < a_ecn_prp.pdc) {
-		/* tf[^ðÇÝæé */
+		/* 付随データを読み取る */
 		a_rd_len = 0;
 		a_ret = _ecn_fbs_get_data(a_fbs_id, p_edt, a_ecn_prp.pdc, &a_rd_len);
@@ -576,6 +572,6 @@
 			ECN_DBG_PUT( "ecn_itr_nxt() edt read fault."
 				" rd.cur=%d,epc=0x%02X,pdc=%u", pk_itr->cur, a_ecn_prp.epc , a_ecn_prp.pdc );
-			pk_itr->is_eof = 1;			/* I[ÉBµ½Añ0 */
-			a_ret = E_BOVR;	/* f[^I¹ */
+			pk_itr->is_eof = 1;			/* 終端に達した時、非0 */
+			a_ret = E_BOVR;	/* データ終了 */
 			goto lb_finally;
 		}
@@ -588,9 +584,9 @@
 
 lb_finally:
-	/* Ce[^ÌJ[\ÊuðXV */
+	/* イテレータのカーソル位置を更新 */
 	pk_itr->cur = a_fbs_id.ptr->hdr.rd;
 
 lb_except:
-	/* ³ÌJ[\ÊuÉß· */
+	/* 元のカーソル位置に戻す */
 	a_fbs_id.ptr->hdr.rd = a_rd_bak;
 	return a_ret;
@@ -598,17 +594,17 @@
 
 /*
- * d¶Ò¿ÌèÝM
+ * 応答電文待ちの割り込み送信
  */
 ER ecn_brk_wai(const void *p_dat, int fa_datsz)
 {
 	ER				a_ret;
-	ECN_FBS_ID		a_fbs_id = { 0 };	/* vd¶p	*/
-
-	/* d¶Ò¿ÌèÝd¶ì¬ */
+	ECN_FBS_ID		a_fbs_id = { 0 };	/* 要求電文用メモリ	*/
+
+	/* 応答電文待ちの割り込み電文作成 */
 	a_ret = _ecn_mk_brk_wai(&a_fbs_id, p_dat, fa_datsz);
 	if (a_ret)
 		return a_ret;
 
-	/* èÝM */
+	/* 割り込み送信 */
 	a_ret = _ecn_tsk_snd_mbx(a_fbs_id, true);
 	if (a_ret) {
@@ -618,9 +614,9 @@
 	}
 
-	/* ³íI¹ */
+	/* 正常終了 */
 	return a_ret;
 
 lb_except:
-	/* f[^ì¬¸sµ½çÌæðú */
+	/* データ作成失敗したら領域解放 */
 	if (a_fbs_id.ptr)
 		_ecn_fbs_del(a_fbs_id);
@@ -630,5 +626,5 @@
 
 /*
- * èÝf[^Ìæ¾
+ * 割り込みデータの取得
  */
 ER ecn_get_brk_dat(T_EDATA *pk_esv, void *p_buf, int fa_bufsz, int *p_datsz)
@@ -650,5 +646,5 @@
 	}
 
-	/* ÇÝæèÊuðæªÉß· */
+	/* 読み取り位置を先頭に戻す */
 	a_ret = _ecn_fbs_set_rpos(a_fbs, 0);
 	if (a_ret) {
@@ -658,5 +654,5 @@
 	}
 
-	/* tf[^ðÇÝÞ */
+	/* 付随データを読み込む */
 	if (p_buf && 0 < fa_bufsz) {
 		a_len = 0;
@@ -675,5 +671,5 @@
 #ifndef ECN_USER_DATA_PROP_SET
 /*
- * f[^ÝèÖ
+ * データ設定関数
  */
 int ecn_data_prop_set(const EPRPINIB *item, const void *src, int size, bool_t *anno)
@@ -693,5 +689,5 @@
 #ifndef ECN_USER_DATA_PROP_GET
 /*
- * f[^æ¾Ö
+ * データ取得関数
  */
 int ecn_data_prop_get(const EPRPINIB *item, void *dst, int size)
Index: UsbWattMeter/trunk/ecnl_lwip/echonet.h
===================================================================
--- UsbWattMeter/trunk/ecnl_lwip/echonet.h	(revision 166)
+++ UsbWattMeter/trunk/ecnl_lwip/echonet.h	(revision 167)
@@ -4,36 +4,32 @@
  *  Copyright (C) 2014-2016 Cores Co., Ltd. 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$
@@ -57,26 +53,26 @@
 
 #define EOBJ_NULL 0x00
-#define EOBJ_LOCAL_NODE 0x01			/* ©m[h */
-#define EOBJ_SYNC_REMOTE_NODE 0x02		/* ¼m[h */
-#define EOBJ_ASYNC_REMOTE_NODE 0x04		/* ¼m[hiñ¯új */
-#define EOBJ_DEVICE 0x08				/* @íIuWFNg */
+#define EOBJ_LOCAL_NODE 0x01			/* 自ノード */
+#define EOBJ_SYNC_REMOTE_NODE 0x02		/* 他ノード */
+#define EOBJ_ASYNC_REMOTE_NODE 0x04		/* 他ノード（非同期） */
+#define EOBJ_DEVICE 0x08				/* 機器オブジェクト */
 
 #define EPC_NONE 0x00
-#define EPC_RULE_SET 0x01				/* ANZX[ Set */
-#define EPC_RULE_GET 0x02				/* ANZX[ Get */
-#define EPC_RULE_ANNO 0x04				/* ANZX[ Anno */
-#define EPC_ANNOUNCE 0x40				/* óÔÏ»Êm */
-#define EPC_VARIABLE 0x80				/* ÂÏ·f[^ */
+#define EPC_RULE_SET 0x01				/* アクセスルール Set */
+#define EPC_RULE_GET 0x02				/* アクセスルール Get */
+#define EPC_RULE_ANNO 0x04				/* アクセスルール Anno */
+#define EPC_ANNOUNCE 0x40				/* 状態変化時通知 */
+#define EPC_VARIABLE 0x80				/* 可変長データ */
 
 typedef enum _echonet_enod_id
 {
 	ENOD_NOT_MATCH_ID	= -1,
-	ENOD_MULTICAST_ID	= 0,			/* }`LXgAhXID */
-	ENOD_LOCAL_ID		= 1,			/* ©m[hAhXID */
-	ENOD_API_ID			= 2,			/* APIAhXID */
-	ENOD_REMOTE_ID		= 3,			/* ¼m[hAhXID */
+	ENOD_MULTICAST_ID	= 0,			/* マルチキャストアドレスID */
+	ENOD_LOCAL_ID		= 1,			/* 自ノードアドレスID */
+	ENOD_API_ID			= 2,			/* APIアドレスID */
+	ENOD_REMOTE_ID		= 3,			/* 他ノードアドレスID */
 } ECN_ENOD_ID;
 
-/* ECHONET LiteKi */
+/* ECHONET Lite規格 */
 typedef enum
 {
@@ -84,31 +80,31 @@
 } ECN_EHD1_ECL_VERSION;
 
-/* d¶`®1/2 */
+/* 電文形式1/2 */
 typedef enum
 {
-	ECN_EDH2_FORMAT_1 = 0x81,	/* d¶`®1 */
-	ECN_EDH2_FORMAT_2 = 0x82	/* d¶`®2 */
+	ECN_EDH2_FORMAT_1 = 0x81,	/* 電文形式1 */
+	ECN_EDH2_FORMAT_2 = 0x82	/* 電文形式2 */
 } ECN_EHD2_FORMAT;
 
-/* ECHONET LiteT[rXR[h */
+/* ECHONET Liteサービスコード */
 typedef enum _echonet_service_code
 {
-	ESV_NOP				=	0,		/* (@\wèÈµ)							*/
-	ESV_SET_I			=	0x60,	/* vpeBl«Ývisvj		*/
-	ESV_SET_C			=	0x61,	/* vpeBl«Ývivj		*/
-	ESV_GET				=	0x62,	/* vpeBlÇÝoµv					*/
-	ESV_INF_REQ			=	0x63,	/* vpeBlÊmv						*/
-	ESV_SET_GET			=	0x6E,	/* vpeBl«ÝEÇÝoµv		*/
-	ESV_SET_RES			=	0x71,	/* vpeBl«Ý					*/
-	ESV_GET_RES			=	0x72,	/* vpeBlÇÝoµ					*/
-	ESV_INF				=	0x73,	/* vpeBlÊm							*/
-	ESV_INFC			=	0x74,	/* vpeBlÊmivj				*/
-	ESV_INFC_RES		=	0x7A,	/* vpeBlÊm						*/
-	ESV_SET_GET_RES		=	0x7E,	/* vpeBl«ÝEÇÝoµ		*/
-	ESV_SET_I_SNA		=	0x50,	/* vpeBl«ÝvsÂ			*/
-	ESV_SET_C_SNA		=	0x51,	/* vpeBl«ÝvsÂ			*/
-	ESV_GET_SNA			=	0x52,	/* vpeBlÇÝoµsÂ				*/
-	ESV_INF_SNA			=	0x53,	/* vpeBlÊmsÂ					*/
-	ESV_SET_GET_SNA		=	0x5E	/* vpeBl«ÝEÇÝoµsÂ	*/
+	ESV_NOP				=	0,		/* (機能指定なし)							*/
+	ESV_SET_I			=	0x60,	/* プロパティ値書き込み要求（応答不要）		*/
+	ESV_SET_C			=	0x61,	/* プロパティ値書き込み要求（応答要）		*/
+	ESV_GET				=	0x62,	/* プロパティ値読み出し要求					*/
+	ESV_INF_REQ			=	0x63,	/* プロパティ値通知要求						*/
+	ESV_SET_GET			=	0x6E,	/* プロパティ値書き込み・読み出し要求		*/
+	ESV_SET_RES			=	0x71,	/* プロパティ値書き込み応答					*/
+	ESV_GET_RES			=	0x72,	/* プロパティ値読み出し応答					*/
+	ESV_INF				=	0x73,	/* プロパティ値通知							*/
+	ESV_INFC			=	0x74,	/* プロパティ値通知（応答要）				*/
+	ESV_INFC_RES		=	0x7A,	/* プロパティ値通知応答						*/
+	ESV_SET_GET_RES		=	0x7E,	/* プロパティ値書き込み・読み出し応答		*/
+	ESV_SET_I_SNA		=	0x50,	/* プロパティ値書き込み要求不可応答			*/
+	ESV_SET_C_SNA		=	0x51,	/* プロパティ値書き込み要求不可応答			*/
+	ESV_GET_SNA			=	0x52,	/* プロパティ値読み出し不可応答				*/
+	ESV_INF_SNA			=	0x53,	/* プロパティ値通知不可応答					*/
+	ESV_SET_GET_SNA		=	0x5E	/* プロパティ値書き込み・読み出し不可応答	*/
 } ECN_SRV_CODE;
 
@@ -122,46 +118,46 @@
 
 /*
- *  ECHONET Lited¶wb_[
+ *  ECHONET Lite電文ヘッダー
  */
 typedef struct
 {
-	uint8_t	ehd1;		/* ECHONET Lited¶wb_[1 ECN_EHD1_ECL_VERSION */
-	uint8_t	ehd2;		/* ECHONET Lited¶wb_[2 ECN_EHD2_FORMAT */
-	uint16_t	tid;	/* gUNVID */
+	uint8_t	ehd1;		/* ECHONET Lite電文ヘッダー1 ECN_EHD1_ECL_VERSION */
+	uint8_t	ehd2;		/* ECHONET Lite電文ヘッダー2 ECN_EHD2_FORMAT */
+	uint16_t	tid;	/* トランザクションID */
 } T_ECN_HDR;
 
 /*
- *  ECHONET LiteIuWFNgR[h
+ *  ECHONET Liteオブジェクトコード
  */
 typedef struct
 {
-	uint8_t	eojx1;		/* NXO[vR[h */
-	uint8_t	eojx2;		/* NXR[h */
-	uint8_t	eojx3;		/* CX^XR[h */
+	uint8_t	eojx1;		/* クラスグループコード */
+	uint8_t	eojx2;		/* クラスコード */
+	uint8_t	eojx3;		/* インスタンスコード */
 } T_ECN_EOJ;
 
 /*
- *  ECHONET Litef[^wb_[
+ *  ECHONET Liteデータヘッダー
  */
 typedef struct
 {
-	T_ECN_EOJ	seoj;	/* M³ECHONET LiteIuWFNgwè */
-	T_ECN_EOJ	deoj;	/* èæECHONET LiteIuWFNgwè */
-	uint8_t	esv;		/* ECHONET LiteT[rX (ECN_SRV_CODE) */
-	uint8_t	opc;		/* vpeB */
+	T_ECN_EOJ	seoj;	/* 送信元ECHONET Liteオブジェクト指定 */
+	T_ECN_EOJ	deoj;	/* 相手先ECHONET Liteオブジェクト指定 */
+	uint8_t	esv;		/* ECHONET Liteサービス (ECN_SRV_CODE) */
+	uint8_t	opc;		/* 処理プロパティ数 */
 } T_ECN_EDATA_BODY;
 
 /*
- *  ECHONET LitevpeB
+ *  ECHONET Liteプロパティ
  */
 typedef struct
 {
-	uint8_t	epc;		/* ECHONET LitevpeBR[h */
-	uint8_t	pdc;		/* EDTÌoCg */
-	/*void	*p_edt;*/	/* vpeBlf[^ */
+	uint8_t	epc;		/* ECHONET Liteプロパティコード */
+	uint8_t	pdc;		/* EDTのバイト数 */
+	/*void	*p_edt;*/	/* プロパティ値データ */
 } T_ECN_PRP;
 
 /*
- *  ECHONET Litef[^
+ *  ECHONET Liteデータ
  */
 typedef struct
@@ -173,5 +169,5 @@
 
 /*
- *  ECHONET Lite d¶
+ *  ECHONET Lite 電文
  */
 typedef struct echonet_object_data
@@ -191,13 +187,13 @@
 
 /*
- *  d¶ðÍCe[^[
+ *  応答電文解析イテレーター
  */
 typedef struct echonet_epc_enumerator
 {
 	T_EDATA *pk_esv;
-	uint8_t count;			/* ¡ÇÝæèÌubNÉ évpeB */
-	uint8_t got_ct;			/* ¡ÇÝæèÌubNÅAÇÝæÁ½ */
-	uint8_t next_blk_ct;	/* ã±ubN */
-	uint8_t is_eof;			/* I[ÉBµ½Añ0 */
+	uint8_t count;			/* 今読み取り中のブロックにあるプロパティ総数 */
+	uint8_t got_ct;			/* 今読み取り中のブロックで、読み取った数 */
+	uint8_t next_blk_ct;	/* 後続ブロック数 */
+	uint8_t is_eof;			/* 終端に達した時、非0 */
 	int cur;
 } T_ENUM_EPC;
@@ -206,94 +202,94 @@
 
 /*
- * ECHONET Lite vpeBÌÝèÖ
+ * ECHONET Lite プロパティの設定関数
  */
 typedef int (EPRP_SETTER)(const EPRPINIB *item, const void *src, int size, bool_t *anno);
 
 /*
- * ECHONET Lite vpeBÌæ¾Ö
+ * ECHONET Lite プロパティの取得関数
  */
 typedef int (EPRP_GETTER)(const EPRPINIB *item, void *dst, int size);
 
 /*
- *  ECHONET Lite vpeBú»ubN
+ *  ECHONET Lite プロパティ初期化ブロック
  */
 struct echonet_property_initialization_block
 {
-	uint8_t		eprpcd;			/* ECHONET Lite vpeBR[h */
-	ATR			eprpatr;		/* ECHONET Lite vpeB®« */
-	uint8_t		eprpsz;			/* ECHONET Lite vpeBÌTCY */
-	intptr_t	exinf;			/* ECHONET Lite vpeBÌg£îñ */
-	EPRP_SETTER	*eprpset;		/* ECHONET Lite vpeBÌÝèÖ */
-	EPRP_GETTER	*eprpget;		/* ECHONET Lite vpeBÌæ¾Ö */
+	uint8_t		eprpcd;			/* ECHONET Lite プロパティコード */
+	ATR			eprpatr;		/* ECHONET Lite プロパティ属性 */
+	uint8_t		eprpsz;			/* ECHONET Lite プロパティのサイズ */
+	intptr_t	exinf;			/* ECHONET Lite プロパティの拡張情報 */
+	EPRP_SETTER	*eprpset;		/* ECHONET Lite プロパティの設定関数 */
+	EPRP_GETTER	*eprpget;		/* ECHONET Lite プロパティの取得関数 */
 };
 
-#define TMIN_EOBJID		1		/* ECHONET Lite IuWFNgIDÌÅ¬l */
-
-/*
- *  ECHONET Lite IuWFNgú»ubN
+#define TMIN_EOBJID		1		/* ECHONET Lite オブジェクトIDの最小値 */
+
+/*
+ *  ECHONET Lite オブジェクト初期化ブロック
  */
 typedef struct echonet_object_initialization_block
 {
-	ATR			eobjatr;		/* ECHONET Lite IuWFNg®« */
-	ID			enodid;			/* ECHONET Lite m[hvt@CIuWFNgID */
-	intptr_t	exinf;			/* ECHONET Lite IuWFNgÌg£îñ */
-	uint8_t		eojx1;			/* ECHONET Lite IuWFNgÌNXO[vR[h */
-	uint8_t		eojx2;			/* ECHONET Lite IuWFNgÌNXR[h */
-	uint8_t		eojx3;			/* ECHONET Lite IuWFNgÌCX^XR[h */
-	const EPRPINIB *eprp;		/* ECHONET Lite vpeBú»ubN */
-	uint_t		eprpcnt;		/* ECHONET Lite vpeBú»ubN */
+	ATR			eobjatr;		/* ECHONET Lite オブジェクト属性 */
+	ID			enodid;			/* ECHONET Lite ノードプロファイルオブジェクトID */
+	intptr_t	exinf;			/* ECHONET Lite オブジェクトの拡張情報 */
+	uint8_t		eojx1;			/* ECHONET Lite オブジェクトのクラスグループコード */
+	uint8_t		eojx2;			/* ECHONET Lite オブジェクトのクラスコード */
+	uint8_t		eojx3;			/* ECHONET Lite オブジェクトのインスタンスコード */
+	const EPRPINIB *eprp;		/* ECHONET Lite プロパティ初期化ブロック */
+	uint_t		eprpcnt;		/* ECHONET Lite プロパティ初期化ブロック数 */
 } EOBJINIB;
 
 /*
- *  ECHONET Lite m[hÇubN
+ *  ECHONET Lite ノード管理ブロック
  */
 typedef struct echonet_object_control_block
 {
-	const EOBJINIB *profile;	/* ECHONET Lite m[hvt@CÖÌ|C^ */
-	const EOBJINIB **eobjs;		/* ECHONET Lite IuWFNgXgÖÌ|C^ */
-	uint_t		eobjcnt;		/* ECHONET Lite IuWFNg */
+	const EOBJINIB *profile;	/* ECHONET Lite ノードプロファイルへのポインタ */
+	const EOBJINIB **eobjs;		/* ECHONET Lite オブジェクトリストへのポインタ */
+	uint_t		eobjcnt;		/* ECHONET Lite オブジェクト数 */
 } EOBJCB;
 
 /*
- *  ECHONET Lite m[hÆIPAhXÌÎîñubNÌè`
+ *  ECHONET Lite ノードとIPアドレスの対応情報ブロックの定義
  */
 typedef struct echonet_node_address_block
 {
-	bool_t		inuse;			/* gpóµ */
-	uint8_t		ipaddr[16];		/* IPAhX */
+	bool_t		inuse;			/* 使用状況 */
+	uint8_t		ipaddr[16];		/* IPアドレス */
 } ENODADRB;
 
 /*
- *  ECHONET Lite IuWFNgIDÌÅåliechonet_cfg.cj
+ *  ECHONET Lite オブジェクトIDの最大値（echonet_cfg.c）
  */
 extern const ID	tmax_eobjid;
 
 /*
- *  ECHONET Lite IuWFNgú»ubNÌGAiechonet_cfg.cj
+ *  ECHONET Lite オブジェクト初期化ブロックのエリア（echonet_cfg.c）
  */
 extern const EOBJINIB	eobjinib_table[];
 
 /*
- *  ECHONET Litem[hÇubNÌ
+ *  ECHONET Liteノード管理ブロックの数
  */
 extern const int tnum_enodid;
 
 /*
- *  ECHONET Lite IuWFNgÇubNÌGAiechonet_cfg.cj
+ *  ECHONET Lite オブジェクト管理ブロックのエリア（echonet_cfg.c）
  */
 extern EOBJCB	eobjcb_table[];
 
 /*
- * ECHONET Litem[hÆIPAhXÌÎîñÌ
+ * ECHONET LiteノードとIPアドレスの対応情報の数
  */
 extern const int tnum_enodadr;
 
 /*
- *  ECHONET Lite m[hÆIPAhXÌÎîñubNÌGAiechonet_cfg.cj
+ *  ECHONET Lite ノードとIPアドレスの対応情報ブロックのエリア（echonet_cfg.c）
  */
 extern ENODADRB	enodadrb_table[];
 
 /*
- * ECHONET Lite J[lIuWFNgID
+ * ECHONET Lite カーネルオブジェクトID
  */
 extern const ID ecn_svc_taskid;
@@ -306,10 +302,10 @@
 
 /*
- *  ECHONET Lite IuWFNgÇubN©çECHONET Lite IuWFNgIDðæèo·½ßÌ}N
+ *  ECHONET Lite オブジェクト管理ブロックからECHONET Lite オブジェクトIDを取り出すためのマクロ
  */
 #define	EOBJID(p_eobjcb)	((ID)(((p_eobjcb) - eobjcb_table) + TMIN_EOBJID))
 
 /*
- *  ECHONET Lite IuWFNg@\Ìú»
+ *  ECHONET Lite オブジェクト機能の初期化
  */
 extern void	initialize_echonet_object(void);
@@ -322,125 +318,125 @@
 
 /*
- * ECHONET LiteT[rXJn
+ * ECHONET Liteサービス処理開始
  */
 ER ecn_sta_svc();
 
 /*
- * ECHONETIuWFNgQÆ
+ * ECHONETオブジェクト参照
  */
 ER ecn_ref_eobj(ID eobjid, T_REOBJ *pk_eobj);
 
 /*
- * ECHONETvpeBQÆ
+ * ECHONETプロパティ参照
  */
 ER ecn_ref_eprp(ID eobjid, uint8_t epc, T_RPRP *pk_eprp);
 
 /*
- * vpeBl«Ývisvjd¶ì¬
+ * プロパティ値書き込み要求（応答不要）電文作成
  */
 ER ecn_esv_seti(T_EDATA **ppk_esv, ID eobjid, uint8_t epc, uint8_t pdc, const void *p_edt);
 
 /*
- * vpeBl«Ývivjd¶ì¬
+ * プロパティ値書き込み要求（応答要）電文作成
  */
 ER ecn_esv_setc(T_EDATA **ppk_esv, ID eobjid, uint8_t epc, uint8_t pdc, const void *p_edt);
 
 /*
- * vpeBlÇÝoµvd¶ì¬
+ * プロパティ値読み出し要求電文作成
  */
 ER ecn_esv_get(T_EDATA **ppk_esv, ID eobjid, uint8_t epc);
 
 /*
- * vpeBlÊmvd¶ì¬
+ * プロパティ値通知要求電文作成
  */
 ER ecn_esv_inf_req(T_EDATA **ppk_esv, ID eobjid, uint8_t epc);
 
 /*
- * vpeBl«ÝEÇÝoµvd¶ì¬
+ * プロパティ値書き込み・読み出し要求電文作成
  */
 ER ecn_esv_set_get(T_EDATA **ppk_esv, ID eobjid, uint8_t epc, uint8_t pdc, const void *p_edt);
 
 /*
- * vpeBl«ÝEÇÝoµvd¶ÜèÔµwè
+ * プロパティ値書き込み・読み出し要求電文折り返し指定
  */
 ER ecn_trn_set_get(T_EDATA *pk_esv, int *p_trn_pos);
 
 /*
- * vpeBl«ÝEÇÝoµvd¶I¹wè
+ * プロパティ値書き込み・読み出し要求電文終了指定
  */
 ER ecn_end_set_get(T_EDATA *pk_esv, int trn_pos);
 
 /*
- * vpeBlÊmivjd¶ì¬
+ * プロパティ値通知（応答要）電文作成
  */
 ER ecn_esv_infc(T_EDATA **ppk_esv, ID eobjid, ID seobjid, uint8_t sepc);
 
 /*
- * vd¶ÖÌvpeBwèÇÁ
+ * 要求電文へのプロパティ指定追加
  */
 ER ecn_add_epc(T_EDATA *pk_esv, uint8_t epc);
 
 /*
- * vd¶ÖÌvpeBf[^ÇÁ
+ * 要求電文へのプロパティデータ追加
  */
 ER ecn_add_edt(T_EDATA *pk_esv, uint8_t epc, uint8_t pdc, const void *p_edt);
 
 /*
- * vd¶ÌM
+ * 要求電文の送信
  */
 ER ecn_snd_esv(T_EDATA *pk_esv);
 
 /*
- * d¶ÌóMiÒ¿
+ * 応答電文の受信永遠待ち
  */
 ER ecn_rcv_esv(T_EDATA **ppk_esv);
 
 /*
- * d¶ÌóMÒ¿^CAEg è
+ * 応答電文の受信待ちタイムアウトあり
  */
 ER ecn_trcv_esv(T_EDATA **ppk_esv, TMO tmout);
 
 /*
- * d¶ÌóM|[O
+ * 応答電文の受信ポーリング
  */
 ER ecn_prcv_esv(T_EDATA **ppk_esv);
 
 /*
- * d¶Ìjü
+ * 応答電文の破棄
  */
 ER ecn_rel_esv(T_EDATA *pk_esv);
 
 /*
- * d¶ÌM³@íIuWFNgðæ¾·é
+ * 応答電文の送信元機器オブジェクトを取得する
  */
 ID ecn_get_eobj(T_EDATA *pk_esv);
 
 /*
- * d¶ðÍCe[^[ú»
+ * 応答電文解析イテレーター初期化
  */
 ER ecn_itr_ini(T_ENUM_EPC *pk_itr, T_EDATA *pk_esv);
 
 /*
- * d¶ðÍCe[^[CNg
+ * 応答電文解析イテレーターインクリメント
  */
 ER ecn_itr_nxt(T_ENUM_EPC *pk_itr, uint8_t *p_epc, uint8_t *p_pdc, void *p_edt);
 
 /*
- * d¶Ò¿ÌèÝM
+ * 応答電文待ちの割り込み送信
  */
 ER ecn_brk_wai(const void *p_dat, int datsz);
 
 /*
- * èÝf[^Ìæ¾
+ * 割り込みデータの取得
  */
 ER ecn_get_brk_dat(T_EDATA *pk_esv, void *p_buf, int bufsz, int *p_datsz);
 
 /*
- * f[^ÝèÖ
+ * データ設定関数
  */
 int ecn_data_prop_set(const EPRPINIB *item, const void *src, int size, bool_t *anno);
 
 /*
- * f[^æ¾Ö
+ * データ取得関数
  */
 int ecn_data_prop_get(const EPRPINIB *item, void *dst, int size);
Index: UsbWattMeter/trunk/ecnl_lwip/echonet.tf
===================================================================
--- UsbWattMeter/trunk/ecnl_lwip/echonet.tf	(revision 166)
+++ UsbWattMeter/trunk/ecnl_lwip/echonet.tf	(revision 167)
@@ -5,36 +5,32 @@
 $  Copyright (C) 2014-2016 Cores Co., Ltd. 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$
@@ -43,5 +39,5 @@
 
 $ =====================================================================
-$ echonet_cfg.hÌ¶¬
+$ echonet_cfg.hの生成
 $ =====================================================================
 
@@ -55,5 +51,5 @@
 $NL$
 
-$ m[hXgÌì¬
+$ ノードリストの作成
 $ENOD.LIST = {}$
 $LOCAL_NODE = {}$
@@ -61,8 +57,8 @@
 
 $FOREACH eobjid EOBJ.ORDER_LIST$
-$	// m[hvt@CIuWFNgÌê
+$	// ノードプロファイルオブジェクトの場合
 	$IF (EOBJ.EOBJATR[eobjid] & EOBJ_LOCAL_NODE) != 0$
 		$LOCAL_NODE = APPEND(LOCAL_NODE, eobjid)$
-$	// @íIuWFNgÌê
+$	// 機器オブジェクトの場合
 	$ELIF (EOBJ.EOBJATR[eobjid] & (EOBJ_SYNC_REMOTE_NODE|EOBJ_ASYNC_REMOTE_NODE)) != 0$
 		$REMOTE_NODE = APPEND(REMOTE_NODE, eobjid)$
@@ -70,5 +66,5 @@
 $END$
 
-$	// [JÌm[hvt@CÍPÂ¾¯
+$	// ローカルのノードプロファイルは１つだけ
 $IF LENGTH(LOCAL_NODE) != 1$
 	$ERROR$Local node must be only one.$END$
@@ -90,5 +86,5 @@
 	$eprp_list = {}$
 	$prp_map_cnt = 3$
-$	// m[hvt@CÌê
+$	// ノードプロファイルの場合
 	$IF (EOBJ.EOBJATR[eobjid] & (EOBJ_LOCAL_NODE|EOBJ_SYNC_REMOTE_NODE|EOBJ_ASYNC_REMOTE_NODE)) != 0$
 		$prp_map_cnt = prp_map_cnt + 5$
@@ -104,5 +100,5 @@
 		$END$
 
-$		// m[hvt@CÌê
+$		// ノードプロファイルの場合
 		$IF (EOBJ.EOBJATR[eobjid] & (EOBJ_LOCAL_NODE|EOBJ_SYNC_REMOTE_NODE|EOBJ_ASYNC_REMOTE_NODE)) != 0$
 			$IF (EPRP.EPRPCD[eprpno] >= 0xD3) && (EPRP.EPRPCD[eprpno] <= 0xD7)$
@@ -135,5 +131,5 @@
 
 $ =====================================================================
-$ echonet_cfg.cÌ¶¬
+$ echonet_cfg.cの生成
 $ =====================================================================
 
@@ -145,5 +141,5 @@
 
 $ 
-$  CN[hfBNeBui#includej
+$  インクルードディレクティブ（#include）
 $ 
 /*$NL$
@@ -155,5 +151,5 @@
 
 $ 
-$  IuWFNgÌIDÔðÛ·éÏ
+$  オブジェクトのID番号を保持する変数
 $ 
 $IF USE_EXTERNAL_ID$
@@ -168,5 +164,5 @@
 
 $ 
-$  ECHONET LitevpeB
+$  ECHONET Liteプロパティ
 $ 
 /*$NL$
@@ -177,5 +173,5 @@
 $INCLUDE "echonet_chk.tf"$
 
-$ ECHONET LitevpeBú»ubNÌ¶¬
+$ ECHONET Liteプロパティ初期化ブロックの生成
 $IF LENGTH(EOBJ.ID_LIST) && LENGTH(EPRP.ID_LIST)$
 	$FOREACH enodid ENOD.LIST$
@@ -200,5 +196,5 @@
 
 		/*$NL$
-		$SPC$* CX^X$NL$
+		$SPC$* インスタンス数$NL$
 		$SPC$*/$NL$
 		$inst_list_len = LENGTH(INST_LIST)$
@@ -209,7 +205,7 @@
 
 		/*$NL$
-		$SPC$* NX$NL$
-		$SPC$*/$NL$
-$		// m[hvt@CàÜßéi + 1j
+		$SPC$* クラス数$NL$
+		$SPC$*/$NL$
+$		// ノードプロファイルも含める（ + 1）
 		$class_list_len = LENGTH(CLASS_LIST) + 1$
 		const uint8_t _echonet_$EOBJ.EOBJID[enodid]$_class_count[] = {$NL$
@@ -219,5 +215,5 @@
 
 		/*$NL$
-		$SPC$* CX^XXg$NL$
+		$SPC$* インスタンスリスト$NL$
 		$SPC$*/$NL$
 		$pos = 0$
@@ -238,5 +234,5 @@
 
 		/*$NL$
-		$SPC$* NXXg$NL$
+		$SPC$* クラスリスト$NL$
 		$SPC$*/$NL$
 		$pos = 0$
@@ -268,10 +264,10 @@
 			$get_map[i] = 0x00$
 		$END$
-$		// 0x9DA0x9EA0x9FÍONÉµÄ¨­
+$		// 0x9D、0x9E、0x9FはONにしておく
 		$FOREACH i { 13 , 14 , 15 }$
 			$anno_map[i] = anno_map[i] | 0x02$
 			$get_map[i] = get_map[i] | 0x02$
 		$END$
-$		// m[hvt@CÌê
+$		// ノードプロファイルの場合
 		$IF (EOBJ.EOBJATR[eobjid] & (EOBJ_LOCAL_NODE|EOBJ_SYNC_REMOTE_NODE|EOBJ_ASYNC_REMOTE_NODE)) != 0$
 			$anno_map[5] = anno_map[5] | 0x20$
@@ -285,20 +281,20 @@
 		$FOREACH eprpno EPRP.ID_LIST$
 			$IF EQ(EPRP.EOBJID[eprpno], eobjid)$
-$				// (0x80 <= eprpcd && eprpcd <= 0xFF)ÅÈ¢êiE_PARj
+$				// (0x80 <= eprpcd && eprpcd <= 0xFF)でない場合（E_PAR）
 				$IF !(0x80 <= EPRP.EPRPCD[eprpno] && EPRP.EPRPCD[eprpno] <= 0xFF)$
 					$ERROR EPRP.TEXT_LINE[eprpno]$E_PAR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "eprpcd", EPRP.EPRPCD[eprpno], eprpno, "ECN_DEF_EPRP")$$END$
 				$END$
 
-$				// eprpatrªimEPC_RULE_SET] | [EPC_RULE_GET] | [EPC_RULE_ANNO] | [EPC_ANNOUNCEn| [EPC_VARIABLE]jÅÈ¢êiE_RSATRj
+$				// eprpatrが（［EPC_RULE_SET] | [EPC_RULE_GET] | [EPC_RULE_ANNO] | [EPC_ANNOUNCE］| [EPC_VARIABLE]）でない場合（E_RSATR）
 				$IF (EPRP.EPRPATR[eprpno] & ~(EPC_RULE_SET|EPC_RULE_GET|EPC_RULE_ANNO|EPC_ANNOUNCE|EPC_VARIABLE)) != 0$
 					$ERROR EPRP.TEXT_LINE[eprpno]$E_RSATR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "eprpatr", EPRP.EPRPATR[eprpno], eprpno, "ECN_DEF_EPRP")$$END$
 				$END$
 
-$				// (0 <= eprpsz && eprpsz <= 255)ÅÈ¢êiE_PARj
+$				// (0 <= eprpsz && eprpsz <= 255)でない場合（E_PAR）
 				$IF !(0 <= EPRP.EPRPSZ[eprpno] && EPRP.EPRPSZ[eprpno] <= 255)$
 					$ERROR EPRP.TEXT_LINE[eprpno]$E_PAR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "eprpsz", EPRP.EPRPSZ[eprpno], eprpno, "ECN_DEF_EPRP")$$END$
 				$END$
 
-$				// vpeB}bvÉÝè
+$				// プロパティマップに設定
 				$pos = EPRP.EPRPCD[eprpno] & 0xF$
 				$bit = (EPRP.EPRPCD[eprpno] >> 4) - 8$
@@ -320,5 +316,5 @@
 		$END$
 
-$		// K{AiEXvpeBª é©`FbN
+$		// 必須アナウンスプロパティがあるかチェック
 		$must_anno_map = GetPropertyInfo(EOBJ.EOJX1[eobjid], EOBJ.EOJX2[eobjid], EPC_ANNOUNCE)$
 		$i = 0$
@@ -331,5 +327,5 @@
 		$END$
 
-$		// K{SETvpeBª é©`FbN
+$		// 必須SETプロパティがあるかチェック
 		$must_set_map = GetPropertyInfo(EOBJ.EOJX1[eobjid], EOBJ.EOJX2[eobjid], EPC_RULE_SET)$
 		$i = 0$
@@ -342,5 +338,5 @@
 		$END$
 
-$		// K{GETvpeBª é©`FbN
+$		// 必須GETプロパティがあるかチェック
 		$must_get_map = GetPropertyInfo(EOBJ.EOJX1[eobjid], EOBJ.EOJX2[eobjid], EPC_RULE_GET)$
 		$i = 0$
@@ -354,5 +350,5 @@
 
 		/*$NL$
-		$SPC$* AiEXvpeB}bv$NL$
+		$SPC$* アナウンスプロパティマップ$NL$
 		$SPC$*/$NL$
 		$anno_list = LSORT(anno_list, "compare")$
@@ -375,5 +371,5 @@
 
 		/*$NL$
-		$SPC$* SETvpeB}bv$NL$
+		$SPC$* SETプロパティマップ$NL$
 		$SPC$*/$NL$
 		$set_list = LSORT(set_list, "compare")$
@@ -396,5 +392,5 @@
 
 		/*$NL$
-		$SPC$* GETvpeB}bv$NL$
+		$SPC$* GETプロパティマップ$NL$
 		$SPC$*/$NL$
 		$get_list = LSORT(get_list, "compare")$
@@ -417,29 +413,29 @@
 
 		/*$NL$
-		$SPC$* vpeBè`$NL$
+		$SPC$* プロパティ定義$NL$
 		$SPC$*/$NL$
 		const EPRPINIB _echonet_$EOBJ.EOBJID[eobjid]$_eprpinib_table[TNUM_$EOBJ.EOBJID[eobjid]$_EPRPNO] = {$NL$
 		$FOREACH eprpno eprp_list$
-$			// ECHONET LitevpeBú»ubN
+$			// ECHONET Liteプロパティ初期化ブロック
 			$TAB${ ($EPRP.EPRPCD[eprpno]$), ($EPRP.EPRPATR[eprpno]$), ($EPRP.EPRPSZ[eprpno]$), ($EPRP.EXINF[eprpno]$), ($EPRP.EPRPSET[eprpno]$), ($EPRP.EPRPGET[eprpno]$) },$NL$
 		$END$
-$		// óÔAiEXvpeB}bv
+$		// 状態アナウンスプロパティマップ
 		$TAB${ (0x9D), (EPC_RULE_GET), $FORMAT("0x%1$x" , +anno_len)$, (intptr_t)_echonet_$EOBJ.EOBJID[eobjid]$_anno_prpmap, ((EPRP_SETTER *)NULL), ((EPRP_GETTER *)ecn_data_prop_get) },$NL$
-$		// SetvpeB}bv
+$		// Setプロパティマップ
 		$TAB${ (0x9E), (EPC_RULE_GET), $FORMAT("0x%1$x" , +set_len)$, (intptr_t)_echonet_$EOBJ.EOBJID[eobjid]$_set_prpmap, ((EPRP_SETTER *)NULL), ((EPRP_GETTER *)ecn_data_prop_get) },$NL$
-$		// GetvpeB}bv
+$		// Getプロパティマップ
 		$TAB${ (0x9F), (EPC_RULE_GET), $FORMAT("0x%1$x" , +get_len)$, (intptr_t)_echonet_$EOBJ.EOBJID[eobjid]$_get_prpmap, ((EPRP_SETTER *)NULL), ((EPRP_GETTER *)ecn_data_prop_get) }
-$		// m[hvt@CÌê
+$		// ノードプロファイルの場合
 		$IF (EOBJ.EOBJATR[eobjid] & (EOBJ_LOCAL_NODE|EOBJ_SYNC_REMOTE_NODE|EOBJ_ASYNC_REMOTE_NODE)) != 0$
 			,$NL$
-$			// CX^X
+$			// インスタンス数
 			$TAB${ (0xD3), (EPC_RULE_GET), (3), (intptr_t)_echonet_$EOBJ.EOBJID[eobjid]$_inst_count, ((EPRP_SETTER *)NULL), ((EPRP_GETTER *)ecn_data_prop_get) },$NL$
-$			// NX
+$			// クラス数
 			$TAB${ (0xD4), (EPC_RULE_GET), (2), (intptr_t)_echonet_$EOBJ.EOBJID[eobjid]$_class_count, ((EPRP_SETTER *)NULL), ((EPRP_GETTER *)ecn_data_prop_get) },$NL$
-$			// CX^XXgÊm
+$			// インスタンスリスト通知
 			$TAB${ (0xD5), (EPC_RULE_ANNO), sizeof(_echonet_$EOBJ.EOBJID[eobjid]$_inst_list), (intptr_t)_echonet_$EOBJ.EOBJID[eobjid]$_inst_list, ((EPRP_SETTER *)NULL), ((EPRP_GETTER *)ecn_data_prop_get) },$NL$
-$			// CX^XXgS
+$			// インスタンスリストS
 			$TAB${ (0xD6), (EPC_RULE_GET), sizeof(_echonet_$EOBJ.EOBJID[eobjid]$_inst_list), (intptr_t)_echonet_$EOBJ.EOBJID[eobjid]$_inst_list, ((EPRP_SETTER *)NULL), ((EPRP_GETTER *)ecn_data_prop_get) },$NL$
-$			// NXXgS
+$			// クラスリストS
 			$TAB${ (0xD7), (EPC_RULE_GET), sizeof(_echonet_$EOBJ.EOBJID[eobjid]$_class_list), (intptr_t)_echonet_$EOBJ.EOBJID[eobjid]$_class_list, ((EPRP_SETTER *)NULL), ((EPRP_GETTER *)ecn_data_prop_get) }$NL$
 		$ELSE$
@@ -455,5 +451,5 @@
 
 $ 
-$  ECHONET LiteIuWFNg
+$  ECHONET Liteオブジェクト
 $ 
 /*$NL$
@@ -462,56 +458,56 @@
 $NL$
 
-$ ECHONET LiteIuWFNgIDÔÌÅål
+$ ECHONET LiteオブジェクトID番号の最大値
 const ID _echonet_tmax_eobjid = (TMIN_EOBJID + TNUM_EOBJID - 1);$NL$
 $NL$
 
-$ ECHONET LiteIuWFNgú»ubNÌ¶¬
+$ ECHONET Liteオブジェクト初期化ブロックの生成
 $IF LENGTH(EOBJ.ID_LIST)$
 	const EOBJINIB _echonet_eobjinib_table[TNUM_EOBJID] = {$NL$
 	$JOINEACH eobjid EOBJ.ID_LIST ",\n"$
-$		// eobjatrªimEOBJ_LOCAL_NODE] | [EOBJ_SYNC_REMOTE_NODE] | [EOBJ_ASYNC_REMOTE_NODE] | [EOBJ_DEVICEnjÅÈ¢êiE_RSATRj
+$		// eobjatrが（［EOBJ_LOCAL_NODE] | [EOBJ_SYNC_REMOTE_NODE] | [EOBJ_ASYNC_REMOTE_NODE] | [EOBJ_DEVICE］）でない場合（E_RSATR）
 		$IF (EOBJ.EOBJATR[eobjid] & ~(EOBJ_LOCAL_NODE|EOBJ_SYNC_REMOTE_NODE|EOBJ_ASYNC_REMOTE_NODE|EOBJ_DEVICE)) != 0$
 			$ERROR EOBJ.TEXT_LINE[eobjid]$E_RSATR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "eobjatr", EOBJ.EOBJATR[eobjid], eobjid, "ECN_CRE_EOBJ")$$END$
 		$END$
 
-$		// m[hvt@CIuWFNgÌê
+$		// ノードプロファイルオブジェクトの場合
 		$IF (EOBJ.EOBJATR[eobjid] & (EOBJ_LOCAL_NODE|EOBJ_SYNC_REMOTE_NODE|EOBJ_ASYNC_REMOTE_NODE)) != 0$
-$			// (enodid == EOBJ_NULL)ÅÈ¢êiE_PARj
+$			// (enodid == EOBJ_NULL)でない場合（E_PAR）
 			$IF !EQ(EOBJ.ENODID[eobjid], EOBJ_NULL)$
 				$ERROR EOBJ.TEXT_LINE[eobjid]$E_PAR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "enodid", EOBJ.ENODID[eobjid], eobjid, "ECN_CRE_EOBJ")$$END$
 			$END$
 
-$			// (eojx1 == EOJ_X1_PROFILE)ÅÈ¢êiE_PARj
+$			// (eojx1 == EOJ_X1_PROFILE)でない場合（E_PAR）
 			$IF EOBJ.EOJX1[eobjid] != EOJ_X1_PROFILE$
 				$ERROR EOBJ.TEXT_LINE[eobjid]$E_PAR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "eojx1", EOBJ.EOJX1[eobjid], eobjid, "ECN_CRE_EOBJ")$$END$
 			$END$
 
-$			// (eojx2 == EOJ_X2_NODE_PROFILE)ÅÈ¢êiE_PARj
+$			// (eojx2 == EOJ_X2_NODE_PROFILE)でない場合（E_PAR）
 			$IF EOBJ.EOJX2[eobjid] != EOJ_X2_NODE_PROFILE$
 				$ERROR EOBJ.TEXT_LINE[eobjid]$E_PAR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "eojx2", EOBJ.EOJX2[eobjid], eobjid, "ECN_CRE_EOBJ")$$END$
 			$END$
 
-$			// (1 <= eojx3 && eojx3 <= 2)ÅÈ¢êiE_PARj
+$			// (1 <= eojx3 && eojx3 <= 2)でない場合（E_PAR）
 			$IF !(1 <= EOBJ.EOJX3[eobjid] && EOBJ.EOJX3[eobjid] <= 2)$
 				$ERROR EOBJ.TEXT_LINE[eobjid]$E_PAR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "eojx3", EOBJ.EOJX3[eobjid], eobjid, "ECN_CRE_EOBJ")$$END$
 			$END$
-$		// @íIuWFNgÌê
-		$ELSE$
-$			// (enodid != EOBJ_NULL)ÅÈ¢êiE_PARj
+$		// 機器オブジェクトの場合
+		$ELSE$
+$			// (enodid != EOBJ_NULL)でない場合（E_PAR）
 			$IF EQ(EOBJ.ENODID[eobjid], EOBJ_NULL)$
 				$ERROR EOBJ.TEXT_LINE[eobjid]$E_PAR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "enodid", EOBJ.ENODID[eobjid], eobjid, "ECN_CRE_EOBJ")$$END$
 			$END$
 
-$			// (0 <= eojx1 && eojx1 <= 255)ÅÈ¢êiE_PARj
+$			// (0 <= eojx1 && eojx1 <= 255)でない場合（E_PAR）
 			$IF !(0 <= EOBJ.EOJX1[eobjid] && EOBJ.EOJX1[eobjid] <= 255)$
 				$ERROR EOBJ.TEXT_LINE[eobjid]$E_PAR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "eojx1", EOBJ.EOJX1[eobjid], eobjid, "ECN_CRE_EOBJ")$$END$
 			$END$
 
-$			// (0 <= eojx2 && eojx2 <= 255)ÅÈ¢êiE_PARj
+$			// (0 <= eojx2 && eojx2 <= 255)でない場合（E_PAR）
 			$IF !(0 <= EOBJ.EOJX2[eobjid] && EOBJ.EOJX2[eobjid] <= 255)$
 				$ERROR EOBJ.TEXT_LINE[eobjid]$E_PAR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "eojx2", EOBJ.EOJX2[eobjid], eobjid, "ECN_CRE_EOBJ")$$END$
 			$END$
 
-$			// (0 <= eojx3 && eojx3 <= 255)ÅÈ¢êiE_PARj
+$			// (0 <= eojx3 && eojx3 <= 255)でない場合（E_PAR）
 			$IF !(0 <= EOBJ.EOJX3[eobjid] && EOBJ.EOJX3[eobjid] <= 255)$
 				$ERROR EOBJ.TEXT_LINE[eobjid]$E_PAR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "eojx3", EOBJ.EOJX3[eobjid], eobjid, "ECN_CRE_EOBJ")$$END$
@@ -519,5 +515,5 @@
 		$END$
 
-$		// ECHONET LiteIuWFNgú»ubN
+$		// ECHONET Liteオブジェクト初期化ブロック
 		$TAB${ ($EOBJ.EOBJATR[eobjid]$), ($EOBJ.ENODID[eobjid]$), ($EOBJ.EXINF[eobjid]$), ($EOBJ.EOJX1[eobjid]$), ($EOBJ.EOJX2[eobjid]$), ($EOBJ.EOJX3[eobjid]$), _echonet_$EOBJ.EOBJID[eobjid]$_eprpinib_table, TNUM_$EOBJ.EOBJID[eobjid]$_EPRPNO }
 	$END$$NL$
@@ -529,10 +525,10 @@
 $NL$
 
-$ ECHONET Litem[hÇubNÌ
+$ ECHONET Liteノード管理ブロックの数
 const int _echonet_tnum_enodid = TNUM_ENODID;$NL$
 $NL$
 
 $ 
-$  ECHONET Litem[hÇubN
+$  ECHONET Liteノード管理ブロック
 $ 
 /*$NL$
@@ -540,5 +536,5 @@
 $SPC$*/$NL$
 $NL$
-$ ECHONET Litem[hÆIPAhXÌÎîñubNÌ¶¬
+$ ECHONET LiteノードとIPアドレスの対応情報ブロックの生成
 $FOREACH enodid ENOD.LIST$
 	$eobj_list = {}$
@@ -549,5 +545,5 @@
 	$END$
 	/*$NL$
-	$SPC$* m[hÉ®·é@íIuWFNgÌê$NL$
+	$SPC$* ノードに所属する機器オブジェクトの一覧$NL$
 	$SPC$*/$NL$
 	const EOBJINIB *_echonet_$EOBJ.EOBJID[enodid]$_eobjinib_table[TNUM_$EOBJ.EOBJID[enodid]$_EOBJNO] = {$NL$
@@ -560,5 +556,5 @@
 $IF LENGTH(ENOD.LIST)$
 	/*$NL$
-	$SPC$* ECHONET Litem[hÇubN$NL$
+	$SPC$* ECHONET Liteノード管理ブロック$NL$
 	$SPC$*/$NL$
 	EOBJCB _echonet_eobjcb_table[TNUM_ENODID] = {$NL$
@@ -572,10 +568,10 @@
 $NL$
 
-$ ECHONET Litem[hÆIPAhXÌÎîñÌ
+$ ECHONET LiteノードとIPアドレスの対応情報の数
 const int _echonet_tnum_enodadr = TNUM_ENODADR;$NL$
 $NL$
 
 $ 
-$  ECHONET Litem[hÆIPAhXÌÎîñ
+$  ECHONET LiteノードとIPアドレスの対応情報
 $ 
 /*$NL$
@@ -583,5 +579,5 @@
 $SPC$*/$NL$
 $NL$
-$ ECHONET Litem[hÆIPAhXÌÎîñubNÌ¶¬
+$ ECHONET LiteノードとIPアドレスの対応情報ブロックの生成
 $IF LENGTH(EOBJ.ID_LIST)$
 	ENODADRB _echonet_enodadrb_table[TNUM_ENODADR] = {$NL$
@@ -606,5 +602,5 @@
 
 $
-$ ECHONET Lite J[lIuWFNgID
+$ ECHONET Lite カーネルオブジェクトID
 $
 const ID _echonet_ecn_svc_taskid = ECHONET_SVC_TASK;$NL$
Index: UsbWattMeter/trunk/ecnl_lwip/echonet_agent.c
===================================================================
--- UsbWattMeter/trunk/ecnl_lwip/echonet_agent.c	(revision 166)
+++ UsbWattMeter/trunk/ecnl_lwip/echonet_agent.c	(revision 167)
@@ -4,36 +4,32 @@
  *  Copyright (C) 2015 Cores Co., Ltd. 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$
@@ -41,5 +37,5 @@
 
 /*
- *		ECHONET Lite ®I¶¬m[h
+ *		ECHONET Lite 動的生成ノード
  */
 
@@ -181,9 +177,7 @@
 
 /*
- *  L
-[Ìú»
+ *  キューの初期化
  *
- *  p_queueÉÍL
-[wb_ðwè·éD
+ *  p_queueにはキューヘッダを指定する．
  */
 Inline void
@@ -198,11 +192,8 @@
 
 /*
- *  L
-[ÌOGgÖÌ}ü
+ *  キューの前エントリへの挿入
  *
- *  p_queueÌOÉp_entryð}ü·éDp_queueÉL
-[wb_ðwèµ½ê
- *  ÉÍCL
-[ÌöÉp_entryð}ü·é±ÆÉÈéD
+ *  p_queueの前にp_entryを挿入する．p_queueにキューヘッダを指定した場
+ *  合には，キューの末尾にp_entryを挿入することになる．
  */
 Inline void
@@ -220,8 +211,7 @@
 
 /*
- *  GgÌí
+ *  エントリの削除
  *
- *  p_entryðL
-[©çí·éD
+ *  p_entryをキューから削除する．
  */
 Inline void
@@ -336,5 +326,5 @@
 	int i = eobjid;
 
-	/* IuWFNgID©çÀÌðæ¾ */
+	/* オブジェクトIDから実体を取得 */
 	i -= (tmax_eobjid + 1);
 	if ((i < 0)
@@ -347,8 +337,8 @@
 		return false;
 
-	/* IuWFNgÌEOJðRs[ */
+	/* オブジェクトのEOJをコピー */
 	memcpy(eoj, &buf->obj.inib.eojx1, sizeof(*eoj));
 
-	/* ®·ém[hÌIuWFNgIDðæ¾ */
+	/* 所属するノードのオブジェクトIDを取得 */
 	if(buf->obj.inib.enodid == 0)
 		i = buf->obj.eobjId;
@@ -362,5 +352,5 @@
 	}
 
-	/* m[hIDðæ¾ */
+	/* ノードIDを取得 */
 	buf = &agent->blockes[i];
 	*enodid = buf->node.enodId;
@@ -403,5 +393,5 @@
 	T_ECN_EOJ *eoj, *end;
 
-	// vpeBÊm©æ¾ÅA
+	// プロパティ通知か取得応答で、
 	switch (esv->hdr.edata.esv) {
 	case ESV_GET_RES:
@@ -413,5 +403,5 @@
 	}
 
-	// m[hvt@C¶Ìê
+	// ノードプロファイル宛の場合
 	eoj = &esv->hdr.edata.seoj;
 	if ((eoj->eojx1 != EOJ_X1_PROFILE) || (eoj->eojx2 != EOJ_X2_NODE_PROFILE)
@@ -426,9 +416,9 @@
 	while (ecn_itr_nxt(&enm, &epc, &pdc, &edt) == E_OK) {
 		switch (epc) {
-		// CX^XXgÊmÌê
+		// インスタンスリスト通知の場合
 		case 0xD5:
-		// ©m[hCX^XXgrÊmÌê
+		// 自ノードインスタンスリストＳ通知の場合
 		case 0xD6:
-			// TCYªíÈ¢ê
+			// サイズが合わない場合
 			if (pdc != (1 + edt[0] * sizeof(T_ECN_EOJ)))
 				return NULL;
@@ -726,7 +716,7 @@
 	ecn_obj_t *sobj;
 
-	/* ÃIÉè`³ê½M³Ìê */
+	/* 静的に定義された送信元の場合 */
 	if ((*ppk_snod != NULL) && (*ppk_snod)->eobjs != NULL) {
-		/* µÈ¢ */
+		/* 処理しない */
 		return;
 	}
@@ -734,7 +724,7 @@
 	snod = ecn_agent_find_node2(*ppk_snod);
 
-	/* M³ðmçÈ©Á½ç */
+	/* 送信元を知らなかったら */
 	if (snod == NULL) {
-		/* M³Ìm[hîñðVKÉì¬ */
+		/* 送信元のノード情報を新規に作成 */
 		snod = ecn_agent_create_node(agent, esv);
 		if (snod == NULL)
@@ -744,10 +734,10 @@
 	sobj = ecn_agent_find_obj2(snod, *ppk_sobj);
 
-	/* m[hvt@CÌê */
+	/* ノードプロファイルの場合 */
 	if ((esv->hdr.edata.seoj.eojx1 == EOJ_X1_PROFILE)
 		&& (esv->hdr.edata.seoj.eojx2 == EOJ_X2_NODE_PROFILE)) {
 		sobj = &snod->base;
 	}
-	/* @íIuWFNgÌê */
+	/* 機器オブジェクトの場合 */
 	else {
 		sobj = ecn_agent_find_eobj(&snod->eobj, esv->hdr.edata.seoj);
@@ -794,5 +784,5 @@
 	ecn_obj_t *obj = node->current;
 
-	// vpeBlÇÝoµv
+	// プロパティ値読み出し要求
 	ecn_esv_get(&esv, obj->eobjId, 0x9E);
 	ecn_snd_esv(esv);
@@ -807,5 +797,5 @@
 	ecn_obj_t *obj = node->current;
 
-	// vpeBlÇÝoµv
+	// プロパティ値読み出し要求
 	ecn_esv_get(&esv, obj->eobjId, 0x9F);
 	ecn_snd_esv(esv);
@@ -820,5 +810,5 @@
 	ecn_obj_t *obj = node->current;
 
-	// vpeBlÇÝoµv
+	// プロパティ値読み出し要求
 	ecn_esv_get(&esv, obj->eobjId, 0x9D);
 	ecn_snd_esv(esv);
@@ -834,21 +824,21 @@
 	ecn_device_t *device;
 
-	/* objªwè³êÄ¢È¢ê */
+	/* objが指定されていない場合 */
 	if(obj == NULL){
-		/* ±Ìm[hðÔ· */
+		/* このノードを返す */
 		node->current = &node->base;
 		return;
 	}
-	/* m[hÌê */
+	/* ノードの場合 */
 	else if((obj->inib.eojx1 == EOJ_X1_PROFILE) && (obj->inib.eojx2 == EOJ_X2_NODE_PROFILE)){
 		node = (ecn_node_t *)obj;
 
-		/* zºÌ@íðÔ· */
+		/* 配下の機器を返す */
 		queue = node->devices.p_next;
 		device = (ecn_device_t *)cast_obj(queue);
 	}
-	/* @íÌê */
+	/* 機器の場合 */
 	else{
-		/* Ì@íðÔ· */
+		/* 次の機器を返す */
 		node = ((ecn_device_t *)obj)->node;
 		queue = cast_queue(obj)->p_next;
@@ -856,5 +846,5 @@
 	}
 
-	/* »Ì@íªö¾Á½ê */
+	/* その機器が末尾だった場合 */
 	if(&node->devices == queue){
 		node->current = NULL;
@@ -985,5 +975,5 @@
 	bool_t has = false;
 
-	/* m[hÌêÍCX^XXgÊmÆ©m[hCX^XXgrÊmðK{Åó¯æé */
+	/* ノードの場合はインスタンスリスト通知と自ノードインスタンスリストＳ通知を必須で受け取る */
 	if ((fp_obj->enodid == 0) && ((fa_epc == 0xD5) || (fa_epc == 0xD6)))
 		has = true;
@@ -1019,7 +1009,7 @@
 
 	switch (item->eprpcd) {
-	/* CX^XXgÊmÌê */
+	/* インスタンスリスト通知の場合 */
 	case 0xD5:
-	/* ©m[hCX^XXgrÊmÌê */
+	/* 自ノードインスタンスリストＳ通知の場合 */
 	case 0xD6:
 		if ((node != NULL) && (node->state == ecn_node_state_idle)) {
@@ -1039,10 +1029,10 @@
 		}
 		break;
-	/* ÊmvpeB}bvÌê */
+	/* 通知プロパティマップの場合 */
 	case 0x9D:
 		eprpcnt = edt[0];
 
 		if (eprpcnt < 16) {
-			/* TCY`FbN */
+			/* サイズチェック */
 			if (eprpcnt + 1 != size)
 				return 0;
@@ -1052,5 +1042,5 @@
 		}
 		else {
-			/* TCY`FbN */
+			/* サイズチェック */
 			if (size != 17)
 				return 0;
@@ -1061,10 +1051,10 @@
 		sobj->pmapFlag |= PMAP_FLAG_ANNO;
 		break;
-	/* SETvpeB}bvÌê */
+	/* SETプロパティマップの場合 */
 	case 0x9E:
 		eprpcnt = edt[0];
 
 		if (eprpcnt < 16) {
-			/* TCY`FbN */
+			/* サイズチェック */
 			if (eprpcnt + 1 != size)
 				return 0;
@@ -1074,5 +1064,5 @@
 		}
 		else {
-			/* TCY`FbN */
+			/* サイズチェック */
 			if (size != 17)
 				return 0;
@@ -1083,10 +1073,10 @@
 		sobj->pmapFlag |= PMAP_FLAG_SET;
 		break;
-	/* GETvpeB}bvÌê */
+	/* GETプロパティマップの場合 */
 	case 0x9F:
 		eprpcnt = edt[0];
 
 		if (eprpcnt < 16) {
-			/* TCY`FbN */
+			/* サイズチェック */
 			if (eprpcnt + 1 != size)
 				return 0;
@@ -1096,5 +1086,5 @@
 		}
 		else {
-			/* TCY`FbN */
+			/* サイズチェック */
 			if (size != 17)
 				return 0;
Index: UsbWattMeter/trunk/ecnl_lwip/echonet_agent.h
===================================================================
--- UsbWattMeter/trunk/ecnl_lwip/echonet_agent.h	(revision 166)
+++ UsbWattMeter/trunk/ecnl_lwip/echonet_agent.h	(revision 167)
@@ -4,36 +4,32 @@
  *  Copyright (C) 2015 Cores Co., Ltd. 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$
@@ -41,5 +37,5 @@
 
 /*
- *		ECHONET Lite ®I¶¬m[h
+ *		ECHONET Lite 動的生成ノード
  */
 
@@ -56,14 +52,12 @@
 
 /*
- *  L
-[Ìf[^\¢Ìè`
+ *  キューのデータ構造の定義
  */
 typedef struct ecn_agent_queue {
 #ifdef _DEBUG
-	struct ecn_agent_queue *p_parent;	/* eL
-[ÖÌ|C^ */
+	struct ecn_agent_queue *p_parent;	/* 親キューへのポインタ */
 #endif
-	struct ecn_agent_queue *p_next;		/* GgÖÌ|C^ */
-	struct ecn_agent_queue *p_prev;		/* OGgÖÌ|C^ */
+	struct ecn_agent_queue *p_next;		/* 次エントリへのポインタ */
+	struct ecn_agent_queue *p_prev;		/* 前エントリへのポインタ */
 } ecn_agent_queue_t;
 
@@ -77,8 +71,8 @@
 	EOBJINIB inib;
 	uint8_t pmapFlag;
-	uint8_t pmapSet[16];		/* SETvpeB}bv */
-	uint8_t pmapGet[16];		/* GETvpeB}bv */
-	uint8_t pmapAnno[16];		/* óÔÏ»ÊmvpeB}bv */
-	uint_t eprpcnt;				/* ECHONET Lite vpeB */
+	uint8_t pmapSet[16];		/* SETプロパティマップ */
+	uint8_t pmapGet[16];		/* GETプロパティマップ */
+	uint8_t pmapAnno[16];		/* 状態変化時通知プロパティマップ */
+	uint_t eprpcnt;				/* ECHONET Lite プロパティ数 */
 } ecn_obj_t;
 
@@ -116,10 +110,10 @@
 typedef struct ecn_inm_get_device_item
 {
-	ID			eobjid;			/* ECHONET Lite IuWFNgID */
-	ID			enodid;			/* ECHONET Lite m[hvt@CIuWFNgID */
-	uint8_t		eojx1;			/* ECHONET Lite IuWFNgÌNXO[vR[h */
-	uint8_t		eojx2;			/* ECHONET Lite IuWFNgÌNXR[h */
-	uint8_t		eojx3;			/* ECHONET Lite IuWFNgÌCX^XR[h */
-	ECN_ENOD_ID	addrid;			/* IPAhXæ¾pID */
+	ID			eobjid;			/* ECHONET Lite オブジェクトID */
+	ID			enodid;			/* ECHONET Lite ノードプロファイルオブジェクトID */
+	uint8_t		eojx1;			/* ECHONET Lite オブジェクトのクラスグループコード */
+	uint8_t		eojx2;			/* ECHONET Lite オブジェクトのクラスコード */
+	uint8_t		eojx3;			/* ECHONET Lite オブジェクトのインスタンスコード */
+	ECN_ENOD_ID	addrid;			/* IPアドレス取得用ID */
 } ecn_inm_get_device_item_t;
 
@@ -146,29 +140,29 @@
 } ecn_inm_get_device_info_res_t;
 
-/* ú» */
+/* 初期化 */
 void ecn_agent_init(void);
-/* m[hðõ */
+/* ノードを検索 */
 ecn_node_t *ecn_agent_find_node(ECN_ENOD_ID enodid);
-/* @íðõ */
+/* 機器を検索 */
 ecn_obj_t *ecn_agent_find_eobj(const EOBJCB *pk_nod, T_ECN_EOJ eoj);
-/* IuWFNgIDðæ¾ */
+/* オブジェクトIDを取得 */
 ID ecn_agent_get_eobj(const EOBJINIB *pk_obj);
-/* Ì@íðæ¾ */
+/* 次の機器を取得 */
 const EOBJINIB *ecn_agent_next_eobj(const EOBJCB *pk_nod, const EOBJINIB *pk_obj);
-/* IuWFNgID©çEOJÆm[hIDðæ¾ */
+/* オブジェクトIDからEOJとノードIDを取得 */
 bool_t ecn_agent_get_eoj_enodid(ID eobjid, T_ECN_EOJ *eoj, ECN_ENOD_ID *enodid);
-/* ^CAEglðÔ· */
+/* タイムアウト値を返す */
 TMO ecn_agent_get_timer();
-/* ^C}[ÌÔðißé */
+/* タイマーの時間を進める */
 void ecn_agent_progress(TMO interval);
-/* ^CAEgiÌ½ßÌÄÑoµj */
+/* タイムアウト処理（のための呼び出し） */
 void ecn_agent_timeout();
-/* àbZ[W */
+/* 内部メッセージ処理 */
 bool_t ecn_agent_proc_int_msg(ECN_FBS_ID fbs, uint8_t cmd);
-/* ECHONETd¶óM */
+/* ECHONET電文受信処理 */
 void ecn_agent_proc_ecn_msg(const EOBJCB **snod, const EOBJINIB **sobj, T_EDATA *esv);
-/* ECHONETd¶óMI¹ */
+/* ECHONET電文受信処理終了 */
 void ecn_agent_proc_ecn_msg_end();
-/* vpeBðæ¾ */
+/* プロパティを取得 */
 const EPRPINIB *ecn_agent_get_property(const EOBJINIB *fp_obj, uint8_t fa_epc, const EPRPINIB *item);
 
Index: UsbWattMeter/trunk/ecnl_lwip/echonet_asp.cfg
===================================================================
--- UsbWattMeter/trunk/ecnl_lwip/echonet_asp.cfg	(revision 166)
+++ UsbWattMeter/trunk/ecnl_lwip/echonet_asp.cfg	(revision 167)
@@ -4,36 +4,32 @@
  *  Copyright (C) 2014-2016 Cores Co., Ltd. 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$
@@ -41,6 +37,5 @@
 
 /*
- *  ECHONET Lite RtBM
-[Vt@C
+ *  ECHONET Lite コンフィギュレーションファイル
  */
 
@@ -50,30 +45,30 @@
 
 /*
- * ECHONET Lite d¶ppZ}tH
+ * ECHONET Lite 電文用メモリ用セマフォ
  */
 CRE_SEM(ECHONET_MEM_SEMAPHORE, { TA_TPRI, 1, 1 });
 
 /*
- * ECHONET Lite APIp[{bNX
+ * ECHONET Lite API用メールボックス
  */
 CRE_MBX(ECHONET_API_MAILBOX, { TA_TFIFO, 1, NULL });
 
 /*
- * ECHONET Lite T[rX^XNp[{bNX
+ * ECHONET Lite サービス処理タスク用メールボックス
  */
 CRE_MBX(ECHONET_SVC_MAILBOX, { TA_TFIFO, 1, NULL });
 
 /*
- * ECHONET Lite T[rX^XN
+ * ECHONET Lite サービス処理タスク
  */
 CRE_TSK(ECHONET_SVC_TASK, { TA_HLNG, 0, echonet_task, ECHONET_TASK_PRIORITY, ECHONET_TASK_STACK_SIZE, NULL });
 
 /*
- * ECHONET Lite UDPÊMp[{bNX
+ * ECHONET Lite UDP通信処理用メールボックス
  */
 CRE_MBX(ECHONET_UDP_MAILBOX, { TA_TFIFO, 1, NULL });
 
 /*
- * ECHONET Lite UDPÊM^XN
+ * ECHONET Lite UDP通信処理タスク
  */
 CRE_TSK(ECHONET_UDP_TASK, { TA_HLNG, 0, echonet_udp_task, ECHONET_UDP_TASK_PRIORITY, ECHONET_UDP_TASK_STACK_SIZE, NULL });
Index: UsbWattMeter/trunk/ecnl_lwip/echonet_chk.tf
===================================================================
--- UsbWattMeter/trunk/ecnl_lwip/echonet_chk.tf	(revision 166)
+++ UsbWattMeter/trunk/ecnl_lwip/echonet_chk.tf	(revision 167)
@@ -5,36 +5,32 @@
 $  Copyright (C) 2014-2016 Cores Co., Ltd. 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$
@@ -43,5 +39,5 @@
 
 $ =====================================================================
-$ K{vpeBÌ`FbN
+$ 必須プロパティのチェック
 $ =====================================================================
 
@@ -50,13 +46,13 @@
 $END$
 
-$ vt@CIuWFNgX[p[NX
+$ プロファイルオブジェクトスーパークラス
 $ProfileObjectSuperClass.EPC = { 0x88, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x9D, 0x9E, 0x9F }$
 $ProfileObjectSuperClass.MUST = { EPC_NONE, EPC_RULE_GET, EPC_NONE, EPC_NONE, EPC_NONE, EPC_NONE, EPC_RULE_GET, EPC_RULE_GET, EPC_RULE_GET }$
 
-$ m[hvt@CNX
+$ ノードプロファイルクラス
 $NodeProfileClass.EPC = { 0x80, 0x82, 0x83, 0x89, 0xBF, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7 }$
 $NodeProfileClass.MUST = { EPC_RULE_GET, EPC_RULE_GET, EPC_RULE_GET, EPC_NONE, EPC_NONE, EPC_RULE_GET, EPC_RULE_GET, EPC_RULE_ANNO, EPC_RULE_GET, EPC_RULE_GET }$
 
-$ @íIuWFNgX[p[NX
+$ 機器オブジェクトスーパークラス
 $DeviceSuperClass.EPC = { 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x93, 0x97, 0x98, 0x99, 0x9A, 0x9D, 0x9E, 0x9F }$
 $DeviceSuperClass.MUST = { EPC_RULE_GET, EPC_RULE_SET|EPC_RULE_GET, EPC_RULE_GET, EPC_NONE, EPC_NONE, EPC_NONE, EPC_NONE, EPC_NONE, EPC_RULE_GET, EPC_NONE, EPC_RULE_GET, EPC_NONE, EPC_NONE, EPC_NONE, EPC_NONE, EPC_NONE, EPC_NONE, EPC_NONE, EPC_NONE, EPC_NONE, EPC_NONE, EPC_RULE_GET, EPC_RULE_GET, EPC_RULE_GET }$
Index: UsbWattMeter/trunk/ecnl_lwip/echonet_class.h
===================================================================
--- UsbWattMeter/trunk/ecnl_lwip/echonet_class.h	(revision 166)
+++ UsbWattMeter/trunk/ecnl_lwip/echonet_class.h	(revision 167)
@@ -4,36 +4,32 @@
  *  Copyright (C) 2014-2016 Cores Co., Ltd. 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$
@@ -43,575 +39,557 @@
 #define ECHONET_CLASS_H
 
-/* ZT[ÖA@í */
+/* センサー関連機器 */
 #define EOJ_X1_SENSOR 0x00
 
-/* ó²ÖA@í */
+/* 空調関連機器 */
 #define EOJ_X1_AIR_CONDITIONER 0x01
 
-/* ZîEÝõÖA@í */
+/* 住宅・設備関連機器 */
 #define EOJ_X1_AMENITY 0x02
 
-/* ²EÆÖA@í */
+/* 調理・家事関連機器 */
 #define EOJ_X1_HOUSEWORK 0x03
 
-/* NÖA@í */
+/* 健康関連機器 */
 #define EOJ_X1_WELLNESS 0x04
 
-/* ÇEìÖA@í */
+/* 管理・操作関連機器 */
 #define EOJ_X1_CONTROLLER 0x05
 
-/* AVÖA@í */
+/* AV関連機器 */
 #define EOJ_X1_AUDIO_VISUAL 0x06
 
-/* vt@C */
+/* プロファイル */
 #define EOJ_X1_PROFILE 0x0E
 
-/* [U[è` */
+/* ユーザー定義 */
 #define EOJ_X1_USER_DEFINED 0x0F
 
 /*
- * ZTÖA@íNXO[v *
- */
-/* KXRêZT */
+ * センサ関連機器クラスグループ *
+ */
+/* ガス漏れセンサ */
 #define EOJ_X2_GAS_LEAK_SENSOR 0x01
 
-/* hÆZT */
+/* 防犯センサ */
 #define EOJ_X2_CRIME_PREVENTION_SENSOR 0x02
 
-/* ñí{^ */
+/* 非常ボタン */
 #define EOJ_X2_EMERGENCY_BUTTON 0x03
 
-/* ~}pZT */
+/* 救急用センサ */
 #define EOJ_X2_FIRST_AID_SENSOR 0x04
 
-/* nkZT */
+/* 地震センサ */
 #define EOJ_X2_EARTHQUAKE_SENSOR 0x05
 
-/* RdZT */
+/* 漏電センサ */
 #define EOJ_X2_ELECTRIC_LEAK_SENSOR 0x06
 
-/* lÌmZT */
+/* 人体検知センサ */
 #define EOJ_X2_HUMAN_DETECTION_SENSOR 0x07
 
-/* qZT */
+/* 来客センサ */
 #define EOJ_X2_VISITOR_SENSOR 0x08
 
-/* ÄÑoµZT */
+/* 呼び出しセンサ */
 #define EOJ_X2_CALL_SENSOR 0x09
 
-/* IZT */
+/* 結露センサ */
 #define EOJ_X2_CONDENSATION_SENSOR 0x0A
 
-/* óCõZT */
+/* 空気汚染センサ */
 #define EOJ_X2_AIR_POLLUTION_SENSOR 0x0B
 
-/* _fZT */
+/* 酸素センサ */
 #define EOJ_X2_OXYGEN_SENSOR 0x0C
 
-/* ÆxZT */
+/* 照度センサ */
 #define EOJ_X2_ILLUMINANCE_SENSOR 0x0D
 
-/* ¹ZT */
+/* 音センサ */
 #define EOJ_X2_SOUND_SENSOR 0x0E
 
-/* ZT */
+/* 投函センサ */
 #define EOJ_X2_MAILING_SENSOR 0x0F
 
-/* d×ZT */
+/* 重荷センサ */
 #define EOJ_X2_WEIGHT_SENSOR 0x10
 
-/* ·xZT */
+/* 温度センサ */
 #define EOJ_X2_TEMPERATURE_SENSOR 0x11
 
-/* ¼xZT */
+/* 湿度センサ */
 #define EOJ_X2_HUMIDITY_SENSOR 0x12
 
-/* JZT */
+/* 雨センサ */
 #define EOJ_X2_RAIN_SENSOR 0x13
 
-/* 
-ÊZT */
+/* 水位センサ */
 #define EOJ_X2_WATER_LEVEL_SENSOR 0x14
 
-/* C
-ÊZT */
+/* 風呂水位センサ */
 #define EOJ_X2_BATH_WATER_LEVEL_SENSOR 0x15
 
-/* C¦«ãªèZT */
+/* 風呂沸き上がりセンサ */
 #define EOJ_X2_BATH_HEATING_STATUS_SENSOR 0x16
 
-/* 
-RêZT */
+/* 水漏れセンサ */
 #define EOJ_X2_WATER_LEAK_SENSOR 0x17
 
-/* 
- ÓêZT */
+/* 水あふれセンサ */
 #define EOJ_X2_WATER_OVERFLOW_SENSOR 0x18
 
-/* ÎÐZT */
+/* 火災センサ */
 #define EOJ_X2_FIRE_SENSOR 0x19
 
-/* ^oRZT */
+/* タバコ煙センサ */
 #define EOJ_X2_CIGARETTE_SMOKE_SENSOR 0x1A
 
-/* bnQZT */
+/* ＣＯ２センサ */
 #define EOJ_X2_CO2_SENSOR 0x1B
 
-/* KXZT */
+/* ガスセンサ */
 #define EOJ_X2_GAS_SENSOR 0x1C
 
-/* unbZT */
+/* ＶＯＣセンサ */
 #define EOJ_X2_VOC_SENSOR 0x1D
 
-/* ·³ZT */
+/* 差圧センサ */
 #define EOJ_X2_DIFFERENTIAL_PRESSURE_SENSOR 0x1E
 
-/* ¬ZT */
+/* 風速センサ */
 #define EOJ_X2_AIR_SPEED_SENSOR 0x1F
 
-/* L¢ZT */
+/* 臭いセンサ */
 #define EOJ_X2_ODOR_SENSOR 0x20
 
-/* ZT */
+/* 炎センサ */
 #define EOJ_X2_FLAME_SENSOR 0x21
 
-/* dÍÊZT */
+/* 電力量センサ */
 #define EOJ_X2_ELECTRIC_ENERGY_SENSOR 0x22
 
-/* d¬ÊZT */
+/* 電流量センサ */
 #define EOJ_X2_CURRENT_VALUE_SENSOR 0x23
 
-/* õZT */
+/* 昼光センサ */
 #define EOJ_X2_DAYLIGHT_SENSOR 0x24
 
-/* 
-¬ÊZT */
+/* 水流量センサ */
 #define EOJ_X2_WATER_FLOW_RATE_SENSOR 0x25
 
-/* ÷®ZT */
+/* 微動センサ */
 #define EOJ_X2_MICROMOTION_SENSOR 0x26
 
-/* ÊßZT */
+/* 通過センサ */
 #define EOJ_X2_PASSAGE_SENSOR 0x27
 
-/* Ý°ZT */
+/* 在床センサ */
 #define EOJ_X2_BED_PRESENCE_SENSOR 0x28
 
-/* JÂZT */
+/* 開閉センサ */
 #define EOJ_X2_OPEN_CLOSE_SENSOR 0x29
 
-/* ®ÊZT */
+/* 活動量センサ */
 #define EOJ_X2_ACTIVITY_AMOUNT_SENSOR 0x2A
 
-/* lÌÊuZT */
+/* 人体位置センサ */
 #define EOJ_X2_HUMAN_BODY_LOCATION_SENSOR 0x2B
 
-/* áZT */
+/* 雪センサ */
 #define EOJ_X2_SNOW_SENSOR 0x2C
 
 /*
- * ó²ÖA@íNXO[v *
- */
-/* ÆëpGAR */
+ * 空調関連機器クラスグループ *
+ */
+/* 家庭用エアコン */
 #define EOJ_X2_HOME_AIR_CONDITIONER 0x30
 
-/* â@ */
+/* 冷風機 */
 #define EOJ_X2_COLD_BLASTER 0x31
 
-/* î@ */
+/* 扇風機 */
 #define EOJ_X2_ELECTRIC_FAN 0x32
 
-/* ·Cî */
+/* 換気扇 */
 #define EOJ_X2_VENTILATION_FAN 0x33
 
-/* ó²·Cî */
+/* 空調換気扇 */
 #define EOJ_X2_AIR_CONDITIONING_VENTILATION_FAN 0x34
 
-/* óC´òí */
+/* 空気清浄器 */
 #define EOJ_X2_AIR_CLEANER 0x35
 
-/* âî */
+/* 冷風扇 */
 #define EOJ_X2_COLD_BLAST_FAN 0x36
 
-/* T[L
-[^ */
+/* サーキュレータ */
 #define EOJ_X2_CIRCULATOR 0x37
 
-/* ¼@ */
+/* 除湿機 */
 #define EOJ_X2_DEHUMIDIFIER 0x38
 
-/* Á¼í */
+/* 加湿器 */
 #define EOJ_X2_HUMIDIFIER 0x39
 
-/* Väî */
+/* 天井扇 */
 #define EOJ_X2_CEILING_FAN 0x3A
 
-/* dC±½Â */
+/* 電気こたつ */
 #define EOJ_X2_ELECTRIC_KOTATSU 0x3B
 
-/* dC ñ© */
+/* 電気あんか */
 #define EOJ_X2_ELECTRIC_HEATING_PAD 0x3C
 
-/* dCÑz */
+/* 電気毛布 */
 #define EOJ_X2_ELECTRIC_BLANKET 0x3D
 
-/* Xg[u */
+/* ストーブ */
 #define EOJ_X2_SPACE_HEATER 0x3E
 
-/* plq[^ */
+/* パネルヒータ */
 #define EOJ_X2_PANEL_HEATER 0x3F
 
-/* dCJ[ybg */
+/* 電気カーペット */
 #define EOJ_X2_ELECTRIC_CARPET 0x40
 
-/* tAq[^ */
+/* フロアヒータ */
 #define EOJ_X2_FLOOR_HEATER 0x41
 
-/* dCg[í */
+/* 電気暖房器 */
 #define EOJ_X2_ELECTRIC_HEATER 0x42
 
-/* t@q[^ */
+/* ファンヒータ */
 #define EOJ_X2_FAN_HEATER 0x43
 
-/* [dí */
+/* 充電器 */
 #define EOJ_X2_BATTERY_CHARGER 0x44
 
-/* Æ±ppbP[WGARºà@ */
+/* 業務用パッケージエアコン室内機 */
 #define EOJ_X2_PACKAGE_TYPE_COMMERCIAL_AIR_CONDITIONER_INDOOR_UNIT 0x45
 
-/* Æ±ppbP[WGARºO@ */
+/* 業務用パッケージエアコン室外機 */
 #define EOJ_X2_PACKAGE_TYPE_COMMERCIAL_AIR_CONDITIONER_OUTDOOR_UNIT 0x46
 
-/* Æ±ppbP[WGAR~Mjbg */
+/* 業務用パッケージエアコン蓄熱ユニット */
 #define EOJ_X2_PACKAGE_TYPE_COMMERCIAL_AIR_CONDITIONER_THERMAL_STORAGE_UNIT 0x47
 
-/* Æ±pt@RCjbg */
+/* 業務用ファンコイルユニット */
 #define EOJ_X2_COMMERCIAL_FAN_COIL_UNIT 0x48
 
-/* Æ±pó²âM¹(`[) */
+/* 業務用空調冷熱源(チラー) */
 #define EOJ_X2_COMMERCIAL_AIR_CONDITIONING_COLD_SOURCE_CHILLER 0x49
 
-/* Æ±pó²·M¹({C[) */
+/* 業務用空調温熱源(ボイラー) */
 #define EOJ_X2_COMMERCIAL_AIR_CONDITIONING_HEAT_SOURCE_BOILER 0x50
 
-/* Æ±pó²VAV */
+/* 業務用空調VAV */
 #define EOJ_X2_AIR_CONDITIONING_VAV_FOR_COMMERCIAL_APPLICATION 0x51
 
-/* Æ±pó²GAnhOjbg */
+/* 業務用空調エアハンドリングユニット */
 #define EOJ_X2_AIR_HANDLING_UNIT_AIR_CONDITIONING_FOR_COMMERCIAL_APPLICATION 0x52
 
-/* jbgN[[ */
+/* ユニットクーラー */
 #define EOJ_X2_UNIT_COOLER 0x53
 
-/* Æ±pRfVOjbg */
+/* 業務用コンデンシングユニット */
 #define EOJ_X2_CONDENSING_UNIT_FOR_COMMERCIAL_APPLICATION 0x54
 
 /*
- * ZîEÝõÖA@íNXO[v *
- */
-/* d®uCh */
+ * 住宅・設備関連機器クラスグループ *
+ */
+/* 電動ブラインド */
 #define EOJ_X2_ELECTRICALLY_OPERATED_SHADE 0x60
 
-/* d®Vb^[ */
+/* 電動シャッター */
 #define EOJ_X2_ELECTRICALLY_OPERATED_SHUTTER 0x61
 
-/* d®J[e */
+/* 電動カーテン */
 #define EOJ_X2_ELECTRICALLY_OPERATED_CURTAIN 0x62
 
-/* d®JË */
+/* 電動雨戸 */
 #define EOJ_X2_ELECTRICALLY_OPERATED_STORM_WINDOW 0x63
 
-/* d®K[W */
+/* 電動ガレージ */
 #define EOJ_X2_ELECTRICALLY_OPERATED_DOOR 0x64
 
-/* d®V */
+/* 電動天窓 */
 #define EOJ_X2_ELECTRICALLY_OPERATED_SKYLIGHT 0x65
 
-/* I[jOiúæ¯j */
+/* オーニング（日よけ） */
 #define EOJ_X2_AWNING 0x66
 
-/* U
-íiëpj */
+/* 散水器（庭用） */
 #define EOJ_X2_GARDEN_SPRINKLER 0x67
 
-/* U
-íiÎÐpj */
+/* 散水器（火災用） */
 #define EOJ_X2_FIRE_SPRINKLER 0x68
 
-/* ¬
- */
+/* 噴水 */
 #define EOJ_X2_FOUNTAIN 0x69
 
-/* uÔ¦í */
+/* 瞬間湯沸器 */
 #define EOJ_X2_INSTANTANEOUS_WATER_HEATERS 0x6A
 
-/* dC·
-í */
+/* 電気温水器 */
 #define EOJ_X2_ELECTRIC_WATER_HEATER 0x6B
 
-/* ¾zM·
-í */
+/* 太陽熱温水器 */
 #define EOJ_X2_SOLAR_WATER_HEATER 0x6C
 
-/* zÂ|v */
+/* 循環ポンプ */
 #define EOJ_X2_CIRCULATION_PUMP 0x6D
 
-/* dCÖÀi·
-ôòÖÀAg[ÖÀÈÇj */
+/* 電気便座（温水洗浄便座、暖房便座など） */
 #define EOJ_X2_BIDET_EQUIPPED_TOILET 0x6E
 
-/* dCù */
+/* 電気錠 */
 #define EOJ_X2_ELECTRIC_KEY 0x6F
 
-/* KX³Ù */
+/* ガス元弁 */
 #define EOJ_X2_GAS_LINE_VALVE 0x70
 
-/* z[TEi */
+/* ホームサウナ */
 #define EOJ_X2_HOME_SAUNA 0x71
 
-/* uÔ®í */
+/* 瞬間式給湯器 */
 #define EOJ_X2_HOT_WATER_GENERATOR 0x72
 
-/* ºg[£@ */
+/* 浴室暖房乾燥機 */
 #define EOJ_X2_BATHROOM_DRYER 0x73
 
-/* z[Gx[^ */
+/* ホームエレベータ */
 #define EOJ_X2_HOME_ELEVATOR 0x74
 
-/* d®ÔdØè */
+/* 電動間仕切り */
 #define EOJ_X2_ELECTRICALLY_OPERATED_ROOM_DIVIDER 0x75
 
-/* 
-½gXt@ */
+/* 水平トランスファ */
 #define EOJ_X2_HORIZONTAL_TRANSFER 0x76
 
-/* d®¨±µ */
+/* 電動物干し */
 #define EOJ_X2_ELECTRICALLY_OPERATED_CLOTHES_DRYING_POLE 0x77
 
-/* ò»
- */
+/* 浄化槽 */
 #define EOJ_X2_SEPTIC_TANK 0x78
 
-/* Zîp¾zõ­d */
+/* 住宅用太陽光発電 */
 #define EOJ_X2_HOME_SOLAR_POWER_GENERATION 0x79
 
-/* â·
-M¹@ */
+/* 冷温水熱源機 */
 #define EOJ_X2_COLD_AND_HOT_WATER_HEAT_SOURCE_EQUIPMENT 0x7A
 
-/* °g[ */
+/* 床暖房 */
 #define EOJ_X2_FLOOR_HEATING 0x7B
 
-/* R¿dr */
+/* 燃料電池 */
 #define EOJ_X2_FUEL_CELL 0x7C
 
-/* ~dr */
+/* 蓄電池 */
 #define EOJ_X2_STORAGE_BATTERY 0x7D
 
-/* dC©®Ô[údVXe */
+/* 電気自動車充放電システム */
 #define EOJ_X2_ELECTRIC_VEHICLE 0x7E
 
-/* dÍÊ[^ */
+/* 電力量メータ */
 #define EOJ_X2_ELECTRIC_ENERGY_METER 0x80
 
-/* 
-¬Ê[^ */
+/* 水流量メータ */
 #define EOJ_X2_WATER_FLOW_METER 0x81
 
-/* KX[^ */
+/* ガスメータ */
 #define EOJ_X2_GAS_METER 0x82
 
-/* LPKX[^ */
+/* LPガスメータ */
 #define EOJ_X2_LP_GAS_METERS 0x83
 
-/* v */
+/* 時計 */
 #define EOJ_X2_CLOCK 0x84
 
-/* ©®hA */
+/* 自動ドア */
 #define EOJ_X2_AUTOMATIC_DOOR 0x85
 
-/* Æ±pGx[^ */
+/* 業務用エレベータ */
 #define EOJ_X2_COMMERCIAL_ELEVATOR 0x86
 
-/* ªdÕ[^O */
+/* 分電盤メータリング */
 #define EOJ_X2_DISTRIBUTION_PANEL_METERING 0x87
 
-/* X}[gdÍÊ[^ */
+/* スマート電力量メータ */
 #define EOJ_X2_SMART_ELECTRIC_ENERGY_METER 0x88
 
-/* X}[gKX[^ */
+/* スマートガスメータ */
 #define EOJ_X2_SMART_GAS_METER 0x89
 
-/* êÊÆ¾ */
+/* 一般照明 */
 #define EOJ_X2_GENERAL_LIGHTING_CLASS 0x90
 
-/* ñíÆ¾ */
+/* 非常照明 */
 #define EOJ_X2_EMERGENCY_LIGHTING 0x99
 
-/* ÝõÆ¾ */
+/* 設備照明 */
 #define EOJ_X2_EQUIPMENT_LIGHT 0x9D
 
-/* uU[ */
+/* ブザー */
 #define EOJ_X2_BUZZER 0xA0
 
 /*
- * ²EÆÖA@íNXO[v *
- */
-/* R[q[[J */
+ * 調理・家事関連機器クラスグループ *
+ */
+/* コーヒーメーカ */
 #define EOJ_X2_COFFEE_MACHINE 0xB0
 
-/* R[q[~ */
+/* コーヒーミル */
 #define EOJ_X2_COFFEE_MILL 0xB1
 
-/* dC|bg */
+/* 電気ポット */
 #define EOJ_X2_ELECTRIC_HOT_WATER_POT 0xB2
 
-/* dC±ñë */
+/* 電気こんろ */
 #define EOJ_X2_ELECTRIC_STOVE 0xB3
 
-/* g[X^ */
+/* トースタ */
 #define EOJ_X2_TOASTER 0xB4
 
-/* W
-[TE~LT */
+/* ジューサ・ミキサ */
 #define EOJ_X2_JUICER_FOOD_MIXER 0xB5
 
-/* t[hvZbT */
+/* フードプロセッサ */
 #define EOJ_X2_FOOD_PROCESSOR 0xB6
 
-/* ââ É */
+/* 冷凍冷蔵庫 */
 #define EOJ_X2_REFRIGERATOR_FREEZER 0xB7
 
-/* I[uW */
+/* オーブンレンジ */
 #define EOJ_X2_COMBINATION_MICROWAVE_OVEN 0xB8
 
-/* NbLOq[^ */
+/* クッキングヒータ */
 #define EOJ_X2_COOKING_HEATER 0xB9
 
-/* I[u */
+/* オーブン */
 #define EOJ_X2_OVEN 0xBA
 
-/* Ñí */
+/* 炊飯器 */
 #define EOJ_X2_RICE_COOKER 0xBB
 
-/* dqW[ */
+/* 電子ジャー */
 #define EOJ_X2_ELECTRONIC_JAR 0xBC
 
-/* Híô¢@ */
+/* 食器洗い機 */
 #define EOJ_X2_DISH_WASHER 0xBD
 
-/* Hí£@ */
+/* 食器乾燥機 */
 #define EOJ_X2_DISH_DRYER 0xBE
 
-/* dCà¿Â«@ */
+/* 電気もちつき機 */
 #define EOJ_X2_ELECTRIC_RICE_CAKE_COOKER 0xBF
 
-/* Û·@ */
+/* 保温機 */
 #define EOJ_X2_KEEP_WARM_MACHINE 0xC0
 
-/* ¸Ä@ */
+/* 精米機 */
 #define EOJ_X2_RICE_MILL 0xC1
 
-/* ©®»p@ */
+/* 自動製パン機 */
 #define EOJ_X2_AUTOMATIC_BREAD_COOKER 0xC2
 
-/* X[NbJ[ */
+/* スロークッカー */
 #define EOJ_X2_SLOW_COOKER 0xC3
 
-/* dCÐ¨@ */
+/* 電気漬物機 */
 #define EOJ_X2_ELECTRIC_PICKLES_COOKER 0xC4
 
-/* ôó@ */
+/* 洗濯機 */
 #define EOJ_X2_WASHING_MACHINE 0xC5
 
-/* ßÞ£@ */
+/* 衣類乾燥機 */
 #define EOJ_X2_CLOTH_DRYER 0xC6
 
-/* dCAC */
+/* 電気アイロン */
 #define EOJ_X2_ELECTRIC_IRON 0xC7
 
-/* Y{vbT */
+/* ズボンプレッサ */
 #define EOJ_X2_TROUSER_PRESS 0xC8
 
-/* ÓÆñ£@ */
+/* ふとん乾燥機 */
 #define EOJ_X2_FUTON_DRYER 0xC9
 
-/* ¬¨E­Â£@ */
+/* 小物・くつ乾燥機 */
 #define EOJ_X2_SMALL_ARTICLE_SHOES_DRYER 0xCA
 
-/* dC|@iZgN[iÜÞj */
+/* 電気掃除機（セントラルクリーナ含む） */
 #define EOJ_X2_ELECTRIC_VACUUM_CLEANER 0xCB
 
-/* fBX|[U */
+/* ディスポーザ */
 #define EOJ_X2_DISPOSER 0xCC
 
-/* dCáæè@ */
+/* 電気蚊取り機 */
 #define EOJ_X2_ELECTRIC_MOSQUITO_CATCHER 0xCD
 
-/* Æ±pV[P[X */
+/* 業務用ショーケース */
 #define EOJ_X2_COMMERCIAL_SHOW_CASE 0xCE
 
-/* Æ±pâ É */
+/* 業務用冷蔵庫 */
 #define EOJ_X2_COMMERCIAL_REFRIGERATOR 0xCF
 
-/* Æ±pzbgP[X */
+/* 業務用ホットケース */
 #define EOJ_X2_COMMERCIAL_HOT_CASE 0xD0
 
-/* Æ±ptC[ */
+/* 業務用フライヤー */
 #define EOJ_X2_COMMERCIAL_FRYER 0xD1
 
-/* Æ±pdqW */
+/* 業務用電子レンジ */
 #define EOJ_X2_COMMERCIAL_MICROWAVE_OVEN 0xD2
 
-/* ôó£@ */
+/* 洗濯乾燥機 */
 #define EOJ_X2_WASHER_AND_DRYER 0xD3
 
 /*
- * NÖA@íNXO[v *
- */
-/* Ìdv */
+ * 健康関連機器クラスグループ *
+ */
+/* 体重計 */
 #define EOJ_X2_WEIGHING_MACHINE 0x01
 
-/* Ì·v */
+/* 体温計 */
 #define EOJ_X2_CLINICAL_THERMOMETER 0x02
 
-/* ³v */
+/* 血圧計 */
 #define EOJ_X2_BLOOD_PRESSURE_METER 0x03
 
-/* lv */
+/* 血糖値計 */
 #define EOJ_X2_BLOOD_SUGAR_METER 0x04
 
-/* Ìbv */
+/* 体脂肪計 */
 #define EOJ_X2_BODY_FAT_METER 0x05
 
 /*
- * ÇEìÖA@íNXO[v *
- */
-/* ZL
-AÊMp¤L®Ýèm[h */
+ * 管理・操作関連機器クラスグループ *
+ */
+/* セキュア通信用共有鍵設定ノード */
 #define EOJ_X2_SECURE_COMMUNICATION_SHARED_KEY_SETUP_NODE 0xFC
 
-/* XCb`iJEMA/HA[qÎj */
+/* スイッチ（JEMA/HA端子対応） */
 #define EOJ_X2_SWITCH 0xFD
 
-/* gÑ[ */
+/* 携帯端末 */
 #define EOJ_X2_PORTABLE_TERMINAL 0xFE
 
-/* Rg[ */
+/* コントローラ */
 #define EOJ_X2_CONTROLLER 0xFF
 
 /*
- * `uÖA@íNXO[v *
- */
-/* fBXv[ */
+ * ＡＶ関連機器クラスグループ *
+ */
+/* ディスプレー */
 #define EOJ_X2_DISPLAY 0x01
 
-/* er */
+/* テレビ */
 #define EOJ_X2_TELEVISION 0x02
 
 /*
- * vt@CNXO[v *
- */
-/* m[hvt@C */
+ * プロファイルクラスグループ *
+ */
+/* ノードプロファイル */
 #define EOJ_X2_NODE_PROFILE 0xF0
 
Index: UsbWattMeter/trunk/ecnl_lwip/echonet_dbg.c
===================================================================
--- UsbWattMeter/trunk/ecnl_lwip/echonet_dbg.c	(revision 166)
+++ UsbWattMeter/trunk/ecnl_lwip/echonet_dbg.c	(revision 167)
@@ -4,36 +4,32 @@
  *  Copyright (C) 2014-2016 Cores Co., Ltd. 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$
@@ -41,5 +37,5 @@
 
 /*
- *		ECHONET Lite ^XN fobOoÍ
+ *		ECHONET Lite タスク デバッグ出力
  */
 
@@ -72,5 +68,5 @@
 static ER _ecn_dbg_wai_syslog(void);
 /*
- *  syslog()obt@É]TªÅ«éÜÅÒÂ
+ *  syslog()バッファに余裕ができるまで待つ
  */
 static ER _ecn_dbg_wai_syslog(void)
@@ -113,6 +109,6 @@
 
 /*
- * fobOoÍ
- * áF		ECN_DBG_PUT( "task start" );
+ * デバッグ出力
+ * 例：		ECN_DBG_PUT( "task start" );
  */
 int _ecn_dbg_dbgput(const char *fp_srcloc, const char *fp_form, ...)
@@ -142,5 +138,5 @@
 #endif
 
-	_ECN_DBG_WAI_SYSLOG; /* syslog()obt@É]TªÅ«éÜÅÒÂ */
+	_ECN_DBG_WAI_SYSLOG; /* syslog()バッファに余裕ができるまで待つ */
 
 #ifdef SEM_ECN_DBG_PUT
@@ -155,5 +151,5 @@
 }
 
-/* ECN_ENOD_IDÌ¶ñÏ· */
+/* ECN_ENOD_IDの文字列変換 */
 const char *_ecn_dbg_enod2str(ECN_ENOD_ID fa_enod_id)
 {
@@ -203,9 +199,9 @@
 
 /*
- * oCi_voÍ
+ * バイナリダンプ出力
  */
 void _ecn_dbg_bindmp(const T_ECN_FST_BLK *buffer, size_t len)
 {
-	/* staticÌæÌobt@ðØèÖ¦éÂ(2^n) */
+	/* static領域のバッファを切り替える個数(2^n) */
 	#define _ECN_FBS_DBG_BINDMP_BUF_MAX_BIT (4)
 /*	*/
@@ -213,23 +209,23 @@
  #ifdef _ECN_FBS_DBG_BINDMP_BUF_MAX_BIT
   #undef _ECN_FBS_DBG_BINDMP_BUF_MAX_BIT
-  /* Z}tH(SEM_ECN_DBG_BINDMP)ªè`³êÄ¢éêAobt@ØèÖ¦ÍsvÈÌÅundef */
+  /* セマフォ(SEM_ECN_DBG_BINDMP)が定義されている場合、バッファ切り替えは不要なのでundef */
  #endif
 #endif
 #ifndef _ECN_FBS_DBG_BINDMP_BUFLEN
- /* obt@TCY(bindmpÌ1sªûÜéTCY) */
+ /* バッファサイズ(bindmp中の1行が収まるサイズ) */
  #define _ECN_FBS_DBG_BINDMP_BUFLEN (80)
 #endif
 #ifdef _ECN_FBS_DBG_BINDMP_BUF_MAX_BIT
-	/* staticÌæÌobt@ðØèÖ¦é½ßÌÇpÏ */
+	/* static領域のバッファを切り替えるための管理用変数 */
 	static volatile uint8_t a_idx_vol = 0;
-	/* staticÌæÌobt@ØèÖ¦Ìæ */
+	/* static領域のバッファ切り替え領域 */
 	static char a_buf_area[1 << _ECN_FBS_DBG_BINDMP_BUF_MAX_BIT][_ECN_FBS_DBG_BINDMP_BUFLEN];
 	uint8_t a_idx;
 	char *a_buf;
 #else
-	/* staticÌæÌobt@Ìæ */
+	/* static領域のバッファ領域 */
 	static char a_buf[_ECN_FBS_DBG_BINDMP_BUFLEN];
 #endif
-	const uint8_t *p = buffer;			/* ÇÝæè|C^ */
+	const uint8_t *p = buffer;			/* 読み取りポインタ */
 	int i, a_blk, a_blk_max, a_pos = 0;
 	const T_ECN_EDT_HDR *p_req_esv;
@@ -248,5 +244,5 @@
 	}
 	#ifndef ECN_DBG_BINDMP_MAXLEN
-	 /* bindmpoÍÌÅåTCY */
+	 /* bindmp出力の最大サイズ */
 	 #define ECN_DBG_BINDMP_MAXLEN 1600
 	#endif
@@ -263,5 +259,5 @@
 	for (a_blk = 0; p && a_blk < a_blk_max; p = buffer->lnk.p_sub[a_blk++]->payload) {
 		if (0 < a_blk) {
-			_ECN_DBG_WAI_SYSLOG; /* syslog()obt@É]TªÅ«éÜÅÒÂ */
+			_ECN_DBG_WAI_SYSLOG; /* syslog()バッファに余裕ができるまで待つ */
 			syslog(LOG_NOTICE, "p_sub[%d] (0x%08X)", a_blk - 1, p);
 		}
@@ -270,5 +266,5 @@
 			if (i % 16 == 0) {
 				if (a_buf[0]) {
-					_ECN_DBG_WAI_SYSLOG; /* syslog()obt@É]TªÅ«éÜÅÒÂ */
+					_ECN_DBG_WAI_SYSLOG; /* syslog()バッファに余裕ができるまで待つ */
 					syslog(LOG_NOTICE, "%s", a_buf);
 				}
@@ -290,5 +286,5 @@
 		}
 		if (a_buf[0]) {
-			_ECN_DBG_WAI_SYSLOG; /* syslog()obt@É]TªÅ«éÜÅÒÂ */
+			_ECN_DBG_WAI_SYSLOG; /* syslog()バッファに余裕ができるまで待つ */
 			syslog(LOG_NOTICE, "%s", a_buf);
 		}
@@ -301,18 +297,18 @@
 		case ECN_MSG_ECHONET:
 			p_req_esv = &((T_EDATA *)buffer)->hdr;
-			_ECN_DBG_WAI_SYSLOG; /* syslog()obt@É]TªÅ«éÜÅÒÂ */
+			_ECN_DBG_WAI_SYSLOG; /* syslog()バッファに余裕ができるまで待つ */
 			syslog(LOG_NOTICE, " sender: %d %s, target: %d %s",
 				buffer->hdr.sender.id, _ecn_dbg_enod2str(buffer->hdr.sender.id),
 				buffer->hdr.target.id, _ecn_dbg_enod2str(buffer->hdr.target.id));
-			_ECN_DBG_WAI_SYSLOG; /* syslog()obt@É]TªÅ«éÜÅÒÂ */
+			_ECN_DBG_WAI_SYSLOG; /* syslog()バッファに余裕ができるまで待つ */
 			syslog(LOG_NOTICE, " ecn_hdr: 0x%02X 0x%02X 0x%04X", p_req_esv->ecn_hdr.ehd1, p_req_esv->ecn_hdr.ehd2, p_req_esv->ecn_hdr.tid);
-			_ECN_DBG_WAI_SYSLOG; /* syslog()obt@É]TªÅ«éÜÅÒÂ */
+			_ECN_DBG_WAI_SYSLOG; /* syslog()バッファに余裕ができるまで待つ */
 			syslog(LOG_NOTICE, " edata: 0x%06X 0x%06X 0x%02X 0x%02X (%s)",
 				p_req_esv->edata.seoj.eojx1 << 16 | p_req_esv->edata.seoj.eojx2 << 8 | p_req_esv->edata.seoj.eojx3,
 				p_req_esv->edata.deoj.eojx1 << 16 | p_req_esv->edata.deoj.eojx2 << 8 | p_req_esv->edata.deoj.eojx3,
 				p_req_esv->edata.esv, p_req_esv->edata.opc, _ecn_dbg_esv2str(p_req_esv->edata.esv));
-			_ECN_DBG_WAI_SYSLOG; /* syslog()obt@É]TªÅ«éÜÅÒÂ */
+			_ECN_DBG_WAI_SYSLOG; /* syslog()バッファに余裕ができるまで待つ */
 			syslog(LOG_NOTICE, " ecn_prp: 0x%02X 0x%02X", p_req_esv->ecn_prp.epc, p_req_esv->ecn_prp.pdc);
-			_ECN_DBG_WAI_SYSLOG; /* syslog()obt@É]TªÅ«éÜÅÒÂ */
+			_ECN_DBG_WAI_SYSLOG; /* syslog()バッファに余裕ができるまで待つ */
 			syslog(LOG_NOTICE, " cur(blk/pos): wr %d, rd %d",
 				(int)buffer->hdr.wr,
@@ -354,12 +350,12 @@
 		&& buffer->payload[1] == 0x81) {
 		p_req_esv = (const T_ECN_EDT_HDR *)&buffer->payload[0];
-		_ECN_DBG_WAI_SYSLOG; /* syslog()obt@É]TªÅ«éÜÅÒÂ */
+		_ECN_DBG_WAI_SYSLOG; /* syslog()バッファに余裕ができるまで待つ */
 		syslog(LOG_NOTICE, " ecn_hdr: 0x%02X 0x%02X 0x%04X", p_req_esv->ecn_hdr.ehd1, p_req_esv->ecn_hdr.ehd2, p_req_esv->ecn_hdr.tid);
-		_ECN_DBG_WAI_SYSLOG; /* syslog()obt@É]TªÅ«éÜÅÒÂ */
+		_ECN_DBG_WAI_SYSLOG; /* syslog()バッファに余裕ができるまで待つ */
 		syslog(LOG_NOTICE, " edata: 0x%06X 0x%06X 0x%02X 0x%02X (%s)",
 			p_req_esv->edata.seoj.eojx1 << 16 | p_req_esv->edata.seoj.eojx2 << 8 | p_req_esv->edata.seoj.eojx3,
 			p_req_esv->edata.deoj.eojx1 << 16 | p_req_esv->edata.deoj.eojx2 << 8 | p_req_esv->edata.deoj.eojx3,
 			p_req_esv->edata.esv, p_req_esv->edata.opc, _ecn_dbg_esv2str(p_req_esv->edata.esv));
-		_ECN_DBG_WAI_SYSLOG; /* syslog()obt@É]TªÅ«éÜÅÒÂ */
+		_ECN_DBG_WAI_SYSLOG; /* syslog()バッファに余裕ができるまで待つ */
 		syslog(LOG_NOTICE, " ecn_prp: 0x%02X 0x%02X", p_req_esv->ecn_prp.epc, p_req_esv->ecn_prp.pdc);
 	}
@@ -370,25 +366,25 @@
 
 /*
- * ECHONET LiteT[rXR[h¶ñÏ·
+ * ECHONET Liteサービスコード文字列変換
  */
 const char *_ecn_dbg_esv2str(uint8_t fa_esv)
 {
 	switch (fa_esv) {
-	case ESV_SET_I_SNA:		return "vpeBl«ÝvsÂ";			/* 0x50 */
-	case ESV_SET_C_SNA:		return "vpeBl«ÝvsÂ";			/* 0x51	*/
-	case ESV_GET_SNA:		return "vpeBlÇÝoµsÂ";				/* 0x52	*/
-	case ESV_INF_SNA:		return "vpeBlÊmsÂ";					/* 0x53 */
-	case ESV_SET_GET_SNA:	return "vpeBl«ÝEÇÝoµsÂ";	/* 0x5E	*/
-	case ESV_SET_I:			return "vpeBl«Ývisvj";		/* 0x60 */
-	case ESV_SET_C:			return "vpeBl«Ývivj";		/* 0x61 */
-	case ESV_GET:			return "vpeBlÇÝoµv";					/* 0x62 */
-	case ESV_INF_REQ:		return "vpeBlÊmv";						/* 0x63 */
-	case ESV_SET_GET:		return "vpeBl«ÝEÇÝoµv";		/* 0x6E */
-	case ESV_SET_RES:		return "vpeBl«Ý";					/* 0x71 */
-	case ESV_GET_RES:		return "vpeBlÇÝoµ";					/* 0x72 */
-	case ESV_INF:			return "vpeBlÊm";							/* 0x73 */
-	case ESV_INFC:			return "vpeBlÊmivj";				/* 0x74 */
-	case ESV_SET_GET_RES:	return "vpeBl«ÝEÇÝoµ";		/* 0x7E */
-	case ESV_INFC_RES:		return "vpeBlÊm";						/* 0x7A */
+	case ESV_SET_I_SNA:		return "プロパティ値書き込み要求不可応答";			/* 0x50 */
+	case ESV_SET_C_SNA:		return "プロパティ値書き込み要求不可応答";			/* 0x51	*/
+	case ESV_GET_SNA:		return "プロパティ値読み出し不可応答";				/* 0x52	*/
+	case ESV_INF_SNA:		return "プロパティ値通知不可応答";					/* 0x53 */
+	case ESV_SET_GET_SNA:	return "プロパティ値書き込み・読み出し不可応答";	/* 0x5E	*/
+	case ESV_SET_I:			return "プロパティ値書き込み要求（応答不要）";		/* 0x60 */
+	case ESV_SET_C:			return "プロパティ値書き込み要求（応答要）";		/* 0x61 */
+	case ESV_GET:			return "プロパティ値読み出し要求";					/* 0x62 */
+	case ESV_INF_REQ:		return "プロパティ値通知要求";						/* 0x63 */
+	case ESV_SET_GET:		return "プロパティ値書き込み・読み出し要求";		/* 0x6E */
+	case ESV_SET_RES:		return "プロパティ値書き込み応答";					/* 0x71 */
+	case ESV_GET_RES:		return "プロパティ値読み出し応答";					/* 0x72 */
+	case ESV_INF:			return "プロパティ値通知";							/* 0x73 */
+	case ESV_INFC:			return "プロパティ値通知（応答要）";				/* 0x74 */
+	case ESV_SET_GET_RES:	return "プロパティ値書き込み・読み出し応答";		/* 0x7E */
+	case ESV_INFC_RES:		return "プロパティ値通知応答";						/* 0x7A */
 	default:
 		return "(unknown)";
Index: UsbWattMeter/trunk/ecnl_lwip/echonet_dbg.cfg
===================================================================
--- UsbWattMeter/trunk/ecnl_lwip/echonet_dbg.cfg	(revision 166)
+++ UsbWattMeter/trunk/ecnl_lwip/echonet_dbg.cfg	(revision 167)
@@ -4,36 +4,32 @@
  *  Copyright (C) 2014-2016 Cores Co., Ltd. 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$
@@ -41,7 +37,6 @@
 
 /*
- *  lbg[NÎTvvO(1)Ì
- *  VXeRtBM
-[Vt@C
+ *  ネットワーク対応サンプルプログラム(1)の
+ *  システムコンフィギュレーションファイル
  */
 
@@ -55,5 +50,5 @@
 /* INCLUDE("tinet/tinet_asp.cfg"); // */
 
-/* Z}tH */
+/* セマフォ */
 
 CRE_SEM(SEM_ECN_DBG_PUT, { TA_TPRI, 1, 1 });
Index: UsbWattMeter/trunk/ecnl_lwip/echonet_dbg.h
===================================================================
--- UsbWattMeter/trunk/ecnl_lwip/echonet_dbg.h	(revision 166)
+++ UsbWattMeter/trunk/ecnl_lwip/echonet_dbg.h	(revision 167)
@@ -4,36 +4,32 @@
  *  Copyright (C) 2014-2016 Cores Co., Ltd. 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$
@@ -41,5 +37,5 @@
 
 /*
- *		ECHONET Lite ^XN fobOoÍ
+ *		ECHONET Lite タスク デバッグ出力
  */
 
@@ -59,5 +55,5 @@
 #include "echonet_fbs.h"
 
-/* ECN_SRC_LOC: \[XÌt@C¼ÆsÔð¦·¶ñðìé}N */
+/* ECN_SRC_LOC: ソース中のファイル名と行番号を示す文字列を作るマクロ */
 #ifndef ECN_SRC_LOC
  #ifndef _ECN_BLD_BASE_DIR
@@ -83,5 +79,5 @@
 #endif
 
-/* fobOoÍ(CARP) */
+/* デバッグ出力(CARP) */
 #ifdef ECN_CAP_PUT_ENA
 #define ECN_CAP_PUT(...) _ecn_dbg_dbgput(ECN_SRC_LOC, __VA_ARGS__)
@@ -91,21 +87,21 @@
 
 /*
- * fobOoÍ
- * áF		ECN_DBG_PUT( "task start" );
+ * デバッグ出力
+ * 例：		ECN_DBG_PUT( "task start" );
  */
 int _ecn_dbg_dbgput(const char *, const char *, ...);
 
 /*
- * oCi_voÍ
+ * バイナリダンプ出力
  */
 void _ecn_dbg_bindmp(const T_ECN_FST_BLK *buffer, size_t len);
 
 /*
- * ECHONET LiteT[rXR[h¶ñÏ·
+ * ECHONET Liteサービスコード文字列変換
  */
 const char *_ecn_dbg_esv2str(uint8_t fa_esv);
 
 /*
- * ECN_ENOD_IDÌ¶ñÏ·
+ * ECN_ENOD_IDの文字列変換
  */
 const char *_ecn_dbg_enod2str(ECN_ENOD_ID fa_enod_id);
Index: UsbWattMeter/trunk/ecnl_lwip/echonet_fbs.c
===================================================================
--- UsbWattMeter/trunk/ecnl_lwip/echonet_fbs.c	(revision 166)
+++ UsbWattMeter/trunk/ecnl_lwip/echonet_fbs.c	(revision 167)
@@ -4,36 +4,32 @@
  *  Copyright (C) 2014-2016 Cores Co., Ltd. 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$
@@ -41,5 +37,5 @@
 
 /*
- * Åè·obt@ÂÏ·Xg[
+ * 固定長バッファ可変長ストリーム
  */
 
@@ -260,5 +256,5 @@
 }
 
-/* ÌæmÛ */
+/* 領域確保 */
 ER _ecn_fbs_cre(ECN_FBS_SIZE_T fa_req_size, ECN_FBS_ID *fp_id)
 {
@@ -266,5 +262,5 @@
 }
 
-/* Ìæðú */
+/* 領域解放 */
 ER _ecn_fbs_del(ECN_FBS_ID fa_id)
 {
@@ -272,5 +268,5 @@
 }
 
-/* Ûf[^ÌL³ */
+/* 保持データの有無 */
 bool_t _ecn_fbs_exist_data(ECN_FBS_ID fa_id)
 {
@@ -278,5 +274,5 @@
 }
 
-/* Ûf[^·Ìæ¾ */
+/* 保持データ長の取得 */
 ECN_FBS_SSIZE_T _ecn_fbs_get_datalen(ECN_FBS_ID fa_id)
 {
@@ -284,5 +280,5 @@
 }
 
-/* ÇÝæèJ[\ÌÊuæ¾ */
+/* 読み取りカーソルの位置取得 */
 ECN_FBS_SSIZE_T _ecn_fbs_get_rpos(ECN_FBS_ID fa_id)
 {
@@ -290,8 +286,8 @@
 }
 
-/* ÇÝæèJ[\ÌÊuÝè */
+/* 読み取りカーソルの位置設定 */
 ER _ecn_fbs_set_rpos(ECN_FBS_ID fa_id, ECN_FBS_SSIZE_T fa_pos)
 {
-	if (fa_id.ptr->hdr.length <= (unsigned int)fa_pos)	/* Êuwèªå«·¬é */
+	if (fa_id.ptr->hdr.length <= (unsigned int)fa_pos)	/* 位置指定が大きすぎる */
 		return E_PAR;
 
@@ -301,5 +297,5 @@
 }
 
-/* ÇÝæèJ[\ÌÊuÚ® */
+/* 読み取りカーソルの位置移動 */
 ER _ecn_fbs_seek_rpos(ECN_FBS_ID fa_id, ECN_FBS_SSIZE_T fa_seek)
 {
@@ -311,5 +307,5 @@
 }
 
-/* CÓwèÊuÌ1byteÇÝæè */
+/* 任意指定位置の1byte読み取り */
 int _ecn_fbs_peek(ECN_FBS_ID fa_id, ECN_FBS_SSIZE_T fa_seek)
 {
@@ -322,5 +318,5 @@
 }
 
-/* CÓwèÊuÌ1byte«Ý */
+/* 任意指定位置の1byte書き込み */
 ER _ecn_fbs_poke(ECN_FBS_ID fa_id, ECN_FBS_SSIZE_T fa_seek, int fa_val)
 {
@@ -333,5 +329,5 @@
 }
 
-/* f[^ÇÁ */
+/* データ追加 */
 ER _ecn_fbs_add_data(ECN_FBS_ID fa_id, const void *fa_dat, ECN_FBS_SSIZE_T fa_len)
 {
@@ -343,5 +339,5 @@
 }
 
-/* f[^ÇÁ(Ìæð©®IÉg£·é) */
+/* データ追加(領域を自動的に拡張する) */
 ER _ecn_fbs_add_data_ex(ECN_FBS_ID fa_id, const void *fa_dat, ECN_FBS_SSIZE_T fa_len)
 {
@@ -350,5 +346,5 @@
 }
 
-/* f[^æ¾ */
+/* データ取得 */
 ER _ecn_fbs_get_data(ECN_FBS_ID fa_id, void *fa_buf, ECN_FBS_SSIZE_T fa_maxlen, ECN_FBS_SSIZE_T *p_len)
 {
Index: UsbWattMeter/trunk/ecnl_lwip/echonet_fbs.h
===================================================================
--- UsbWattMeter/trunk/ecnl_lwip/echonet_fbs.h	(revision 166)
+++ UsbWattMeter/trunk/ecnl_lwip/echonet_fbs.h	(revision 167)
@@ -4,36 +4,32 @@
  *  Copyright (C) 2014-2016 Cores Co., Ltd. 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$
@@ -41,5 +37,5 @@
 
 /*
- * Åè·obt@ÂÏ·Xg[
+ * 固定長バッファ可変長ストリーム
  */
 
@@ -55,19 +51,19 @@
 
 #ifndef ECHONET_MEMPOOL_GET_TMO
-#define ECHONET_MEMPOOL_GET_TMO	(0)			/* v[æ¾Ì^CAEgwè */
+#define ECHONET_MEMPOOL_GET_TMO	(0)			/* メモリプール取得時のタイムアウト指定 */
 #endif /* ECHONET_MEMPOOL_GET_TMO */
 
 #ifndef NUM_ECHONET_MEMPOOL_BLOCK
-#define NUM_ECHONET_MEMPOOL_BLOCK (60)		/* d¶pubNÌ */
+#define NUM_ECHONET_MEMPOOL_BLOCK (60)		/* 電文用メモリブロックの数 */
 #endif /* NUM_ECHONET_MEMPOOL_BLOCK */
 
 #ifndef ECHONET_MEMPOOL_BLOCK_SIZE
-#define ECHONET_MEMPOOL_BLOCK_SIZE (256)	/* d¶pubNÌTCY */
+#define ECHONET_MEMPOOL_BLOCK_SIZE (256)	/* 電文用メモリブロックのサイズ */
 #endif /* ECHONET_MEMPOOL_BLOCK_SIZE */
 
-typedef unsigned int ECN_FBS_SIZE_T;	/* size_t  */
-typedef int ECN_FBS_SSIZE_T;			/* ssize_t */
-
-/* T_EDATAÇÌæTCY */
+typedef unsigned int ECN_FBS_SIZE_T;	/* size_t相当  */
+typedef int ECN_FBS_SSIZE_T;			/* ssize_t相当 */
+
+/* T_EDATA管理領域サイズ */
 #ifdef TARGET_KERNEL_ASP
 #define DEF_ECN_EDT_HDR_LEN (sizeof(T_MSG))
@@ -76,29 +72,29 @@
 #endif
 
-/* ÇÌæTCY(64byte - sizeof(T_MSG)) */
+/* 管理領域サイズ(64byte - sizeof(T_MSG)) */
 /* #define DEF_ECN_FBS_LIB_HDR_LEN ((ECHONET_MEMPOOL_BLOCK_SIZE + sizeof(int) - 1)>> 2) // */
 #define DEF_ECN_FBS_LIB_HDR_LEN (64 - DEF_ECN_EDT_HDR_LEN)
 
-/* ÇÌæðÜÞubNÉÛ·éf[^TCY */
+/* 管理領域を含むブロックに保持するデータサイズ */
 #define DEF_ECN_FBS_FST_DAT_LEN (64)
 
-/* N|C^zñÌTCY(byte) */
+/* リンクポインタ配列のサイズ(byte) */
 #define DEF_ECN_FBS_LNK_LEN (ECHONET_MEMPOOL_BLOCK_SIZE - DEF_ECN_EDT_HDR_LEN - DEF_ECN_FBS_LIB_HDR_LEN - DEF_ECN_FBS_FST_DAT_LEN)
 
-/* Åè·obt@ÅåTCY */
+/* 固定長バッファ最大サイズ */
 #define DEF_ECN_FBS_BUF_MAXLEN ((DEF_ECN_FBS_LNK_LEN / sizeof(void *)) * ECHONET_MEMPOOL_BLOCK_SIZE + DEF_ECN_FBS_FST_DAT_LEN)
 
-/* qvfobt@ÌTCY */
+/* 子要素バッファのサイズ */
 #define DEF_ECN_FBS_SUB_BUF_LEN ECHONET_MEMPOOL_BLOCK_SIZE
 
-/* d¶ÌíÊ(àeÍ¼) */
+/* 電文の種別(内容は仮) */
 typedef enum
 {
-	ECN_FBS_TYPE_BLANK		=	0,		/* ¢gpXg[ */
-	ECN_FBS_TYPE_INTERNAL	=	1,		/* àbZ[W */
-	ECN_FBS_TYPE_ECHONET	=	2		/* ECHONETd¶ */
+	ECN_FBS_TYPE_BLANK		=	0,		/* 未使用ストリーム */
+	ECN_FBS_TYPE_INTERNAL	=	1,		/* 内部メッセージ */
+	ECN_FBS_TYPE_ECHONET	=	2		/* ECHONET電文 */
 } TA_ECN_MSG_TYPE;
 
-/* N|C^zñÉñ³êéAqvfobt@ */
+/* リンクポインタ配列に列挙される、子要素バッファ */
 typedef struct
 {
@@ -106,5 +102,5 @@
 } T_ECN_SUB_BLK;
 
-/* N|C^zñ */
+/* リンクポインタ配列 */
 typedef union
 {
@@ -113,33 +109,33 @@
 } T_ECN_FBS_LNK;
 
-/* ÇÌæ(64byte - sizeof(T_MSG)) */
+/* 管理領域(64byte - sizeof(T_MSG)) */
 typedef struct
 {
-	uint16_t	length;			/* bZ[W· */
-	uint16_t	type;			/* bZ[W^Cv */
+	uint16_t	length;			/* メッセージ長 */
+	uint16_t	type;			/* メッセージタイプ */
 	union{
-		ECN_ENOD_ID id;			/* M³m[hIDiECHONETd¶j */
-		ID mbxid;				/* M³[{bNXIDiàbZ[Wj */
+		ECN_ENOD_ID id;			/* 送信元ノードID（ECHONET電文） */
+		ID mbxid;				/* 送信元メールボックスID（内部メッセージ） */
 	}sender;
 	union{
-		ECN_ENOD_ID id;			/* Mæm[hIDiECHONETd¶j */
-		ID mbxid;				/* Mæ[{bNXIDiàbZ[Wj */
+		ECN_ENOD_ID id;			/* 送信先ノードID（ECHONET電文） */
+		ID mbxid;				/* 送信先メールボックスID（内部メッセージ） */
 	}target;
 	union{
-		ECN_ENOD_ID id;			/* ÔMæm[hIDiECHONETd¶j */
-		ID mbxid;				/* ÔMæ[{bNXIDiàbZ[Wj */
+		ECN_ENOD_ID id;			/* 返信先ノードID（ECHONET電文） */
+		ID mbxid;				/* 返信先メールボックスID（内部メッセージ） */
 	}reply;
 
-	int			rd;				/*	ÇÝæèwbhîñ	*/
-	int			wr;				/*	«Ýwbhîñ	*/
+	int			rd;				/*	読み取りヘッド情報	*/
+	int			wr;				/*	書き込みヘッド情報	*/
 } T_ECN_FBS_HDR;
 
-/* ÇÌæðÜÞubNÌ\¢ */
+/* 管理領域を含むブロックの構造 */
 typedef struct
 {
 	uint8_t	_msg[DEF_ECN_EDT_HDR_LEN];	/* T_MSG */
-	T_ECN_FBS_HDR	hdr;	/*	ÇÌæ  64byte  - sizeof(T_MSG)	*/
+	T_ECN_FBS_HDR	hdr;	/*	管理領域  64byte  - sizeof(T_MSG)	*/
 	uint8_t			_gap[DEF_ECN_FBS_LIB_HDR_LEN - sizeof(T_ECN_FBS_HDR)];
-	T_ECN_FBS_LNK	lnk;	/*	N|C^zñ	128byte			*/
+	T_ECN_FBS_LNK	lnk;	/*	リンクポインタ配列	128byte			*/
 	uint8_t			payload[DEF_ECN_FBS_FST_DAT_LEN];
 } T_ECN_FST_BLK;
@@ -151,120 +147,119 @@
 } ECN_FBS_ID;
 
-/* bZ[WL
-[ */
+/* メッセージキュー */
 typedef struct ecn_fbs_queue
 {
-	T_ECN_FST_BLK	*pk_head;		/* æªÌbZ[W */
-	T_ECN_FST_BLK	*pk_last;		/* öÌbZ[W */
+	T_ECN_FST_BLK	*pk_head;		/* 先頭のメッセージ */
+	T_ECN_FST_BLK	*pk_last;		/* 末尾のメッセージ */
 } T_ECN_FBS_QUEUE;
 
 /*
- * ÌæmÛ
- *	ø
- *		ECN_FBS_SIZE_T	fa_req_size		vobt@TCY(byte)
+ * 領域確保
+ *	引数
+ *		ECN_FBS_SIZE_T	fa_req_size		要求バッファサイズ(byte)
  *										max: DEF_ECN_FBS_BUF_MAXLEN
- *		ECN_FBS_ID		*fp_id			mÛµ½FBS-IDÌi[æ
- *	ßèl
- *		ER				0:ok ñ0:NG
+ *		ECN_FBS_ID		*fp_id			確保したFBS-IDの格納先
+ *	戻り値
+ *		ER				0:ok 非0:NG
  */
 ER _ecn_fbs_cre(ECN_FBS_SIZE_T fa_req_size, ECN_FBS_ID *fp_id);
 
 /*
- * Ìæðú
- *	ø
- *		ecn_fbs_id^	mÛµ½FBS-ID
- *	ßèl
- *		ER				0:ok, ñ0:NG
+ * 領域解放
+ *	引数
+ *		ecn_fbs_id型	確保したFBS-ID
+ *	戻り値
+ *		ER				0:ok, 非0:NG
  */
 ER _ecn_fbs_del(ECN_FBS_ID fa_id);
 
 /*
- * Ûf[^ÌL³
- *	ø
- *		ecn_fbs_id^	mÛµ½FBS-ID
- *	ßèl
- *		bool_t			0:³µ, 1: è
+ * 保持データの有無
+ *	引数
+ *		ecn_fbs_id型	確保したFBS-ID
+ *	戻り値
+ *		bool_t			0:無し, 1:あり
  */
 bool_t _ecn_fbs_exist_data(ECN_FBS_ID fa_id);
 
 /*
- * Ûf[^·Ìæ¾
- *	ø
- *		ecn_fbs_id^	mÛµ½FBS-ID
- *	ßèl
- *		ECN_FBS_SSIZE_T	ÛµÄ¢éf[^Ì·³(byte) -1:NG
+ * 保持データ長の取得
+ *	引数
+ *		ecn_fbs_id型	確保したFBS-ID
+ *	戻り値
+ *		ECN_FBS_SSIZE_T	保持しているデータの長さ(byte) -1:NG
  */
 ECN_FBS_SSIZE_T _ecn_fbs_get_datalen(ECN_FBS_ID fa_id);
 
 /*
- * ÇÝæèJ[\ÌÊuæ¾
- *	ø
- *		ecn_fbs_id^	mÛµ½FBS-ID
- *	ßèl
- *		ECN_FBS_SIZE_T	æª©çÌâÎÊu -1:NG
+ * 読み取りカーソルの位置取得
+ *	引数
+ *		ecn_fbs_id型	確保したFBS-ID
+ *	戻り値
+ *		ECN_FBS_SIZE_T	先頭からの絶対位置 -1:NG
  */
 ECN_FBS_SSIZE_T _ecn_fbs_get_rpos(ECN_FBS_ID fa_id);
 
 /*
- * ÇÝæèJ[\ÌÊuÝè
- *	ø
- *		ecn_fbs_id^	mÛµ½FBS-ID
- *		ECN_FBS_SIZE_T	fa_pos	Ýè·éÊu(æª©çÌâÎÊu)
- *	ßèl
- *		ER				0:ok, ñ0:NG
+ * 読み取りカーソルの位置設定
+ *	引数
+ *		ecn_fbs_id型	確保したFBS-ID
+ *		ECN_FBS_SIZE_T	fa_pos	設定する位置(先頭からの絶対位置)
+ *	戻り値
+ *		ER				0:ok, 非0:NG
  */
 ER _ecn_fbs_set_rpos(ECN_FBS_ID fa_id, ECN_FBS_SSIZE_T fa_pos);
 
 /*
- * ÇÝæèJ[\ÌÊuÚ®
- *	ø
- *		ecn_fbs_id^	mÛµ½FBS-ID
- *		ECN_FBS_SIZE_T	fa_seek	Ú®Ê(»óAOiÌÝ)
- *	ßèl
- *		ER				0:ok, ñ0:NG
+ * 読み取りカーソルの位置移動
+ *	引数
+ *		ecn_fbs_id型	確保したFBS-ID
+ *		ECN_FBS_SIZE_T	fa_seek	移動量(現状、前進のみ)
+ *	戻り値
+ *		ER				0:ok, 非0:NG
  */
 ER _ecn_fbs_seek_rpos(ECN_FBS_ID fa_id, ECN_FBS_SSIZE_T fa_seek);
 
 /*
- * CÓwèÊuÌ1byteÇÝæè
+ * 任意指定位置の1byte読み取り
  */
 int _ecn_fbs_peek(ECN_FBS_ID fa_id, ECN_FBS_SSIZE_T fa_seek);
 
 /*
- * CÓwèÊuÌ1byte«Ý
+ * 任意指定位置の1byte書き込み
  */
 ER _ecn_fbs_poke(ECN_FBS_ID fa_id, ECN_FBS_SSIZE_T fa_seek, int fa_val);
 
 /*
- * f[^ÇÁ
- *	ø
- *		ecn_fbs_id^	mÛµ½FBS-ID
- *		const void *	fa_dat	ÇÁ·éf[^
- *		ECN_FBS_SSIZE_T	fa_len	ÇÁ·é·³(byte)
- *	ßèl
- *		ER				0:ok, ñ0:NG
+ * データ追加
+ *	引数
+ *		ecn_fbs_id型	確保したFBS-ID
+ *		const void *	fa_dat	追加するデータ
+ *		ECN_FBS_SSIZE_T	fa_len	追加する長さ(byte)
+ *	戻り値
+ *		ER				0:ok, 非0:NG
  */
 ER _ecn_fbs_add_data(ECN_FBS_ID fa_id, const void *fa_dat, ECN_FBS_SSIZE_T fa_len);
 
 /*
- * f[^ÇÁ(Ìæð©®IÉg£·é)
- *	ø
- *		ecn_fbs_id^	mÛµ½FBS-ID
- *		const void *	fa_dat	ÇÁ·éf[^
- *		ECN_FBS_SSIZE_T	fa_len	ÇÁ·é·³(byte)
- *	ßèl
- *		ER				0:ok, ñ0:NG
+ * データ追加(領域を自動的に拡張する)
+ *	引数
+ *		ecn_fbs_id型	確保したFBS-ID
+ *		const void *	fa_dat	追加するデータ
+ *		ECN_FBS_SSIZE_T	fa_len	追加する長さ(byte)
+ *	戻り値
+ *		ER				0:ok, 非0:NG
  */
 ER _ecn_fbs_add_data_ex(ECN_FBS_ID fa_id, const void *fa_dat, ECN_FBS_SSIZE_T fa_len);
 
 /*
- * f[^æ¾
- *	ø
- *		ecn_fbs_id^	mÛµ½FBS-ID
- *		void *			fa_buf		æ¾·éobt@
- *		ECN_FBS_SSIZE_T	fa_maxlen	æ¾·é·³(byte)
- *		ECN_FBS_SSIZE_T	*p_len		æ¾µ½·³(byte)
- *	ßèl
- *		ER				0:ok, ñ0:NG
+ * データ取得
+ *	引数
+ *		ecn_fbs_id型	確保したFBS-ID
+ *		void *			fa_buf		取得するバッファ
+ *		ECN_FBS_SSIZE_T	fa_maxlen	取得する長さ(byte)
+ *		ECN_FBS_SSIZE_T	*p_len		取得した長さ(byte)
+ *	戻り値
+ *		ER				0:ok, 非0:NG
  */
 ER _ecn_fbs_get_data(ECN_FBS_ID fa_id, void *fa_buf, ECN_FBS_SSIZE_T fa_maxlen,
Index: UsbWattMeter/trunk/ecnl_lwip/echonet_lcl_task.h
===================================================================
--- UsbWattMeter/trunk/ecnl_lwip/echonet_lcl_task.h	(revision 166)
+++ UsbWattMeter/trunk/ecnl_lwip/echonet_lcl_task.h	(revision 167)
@@ -4,36 +4,32 @@
  *  Copyright (C) 2014-2016 Cores Co., Ltd. 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$
@@ -41,5 +37,5 @@
 
 /*
- *		ECHONET Lite ºÊÊMC[^XN
+ *		ECHONET Lite 下位通信レイヤー処理タスク
  */
 
Index: UsbWattMeter/trunk/ecnl_lwip/echonet_rename.h
===================================================================
--- UsbWattMeter/trunk/ecnl_lwip/echonet_rename.h	(revision 166)
+++ UsbWattMeter/trunk/ecnl_lwip/echonet_rename.h	(revision 167)
@@ -4,36 +4,32 @@
  *  Copyright (C) 2014-2016 Cores Co., Ltd. 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$
Index: UsbWattMeter/trunk/ecnl_lwip/echonet_task.c
===================================================================
--- UsbWattMeter/trunk/ecnl_lwip/echonet_task.c	(revision 166)
+++ UsbWattMeter/trunk/ecnl_lwip/echonet_task.c	(revision 167)
@@ -4,36 +4,32 @@
  *  Copyright (C) 2014-2016 Cores Co., Ltd. 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$
@@ -41,5 +37,5 @@
 
 /*
- *		ECHONET Lite ^XN
+ *		ECHONET Lite タスク
  */
 
@@ -75,8 +71,8 @@
 #endif /* ECHONET_TASK_TIMEOUT */
 
-/* AvP[Vªvµ½d¶ÌV[PXÔ */
+/* アプリケーションが要求した電文のシーケンス番号 */
 static uint16_t g_api_tid;
 
-/* óMbZ[WðJú·é©Û© */
+/* 受信メッセージを開放するか否か */
 static bool_t g_release_esv;
 
@@ -122,5 +118,5 @@
 			i += - ENOD_REMOTE_ID + 1;
 			if (from_app && (i < tnum_enodid)) {
-				/* ñ¯úÌ[gm[hÍT[rX^XNÅ·é */
+				/* 非同期のリモートノードはサービス処理タスクで処理する */
 				switch (eobjcb_table[i].profile->eobjatr) {
 				case EOBJ_SYNC_REMOTE_NODE:
@@ -170,13 +166,12 @@
 	ECN_FBS_ID fa_fbs_id, ECN_FBS_ID *fa_fbs_anno);
 
-/* W
-[ú»tO */
+/* モジュール初期化フラグ */
 static uint8_t		m_eobjlist_need_init = 1;
 
-/* V[PXÔ */
+/* シーケンス番号 */
 static uint16_t		g_current_tid = 1;
 
 /*
- *  ECHONET Lite ^XNÌú»iRXgN^j
+ *  ECHONET Lite タスクの初期化（コンストラクタ相当）
  */
 void echonet_task_init(intptr_t exinf)
@@ -187,6 +182,5 @@
 
 /*
- * W
-[ú»
+ * モジュール初期化
  */
 static void _ecn_tsk_int_module_init(intptr_t exinf)
@@ -209,5 +203,5 @@
 
 /*
- *  ECHONET Lite ^XNÌ{Ì
+ *  ECHONET Lite タスクの本体
  */
 void echonet_task(intptr_t fa_exinf)
@@ -233,5 +227,5 @@
 	}
 
-	/* bZ[W[v */
+	/* メッセージループ */
 	for (;;) {
 		a_prev = a_now;
@@ -271,10 +265,10 @@
 
 			switch (a_mdt.fbs_id.ptr->hdr.type) {
-			/* àgpbZ[W */
+			/* 内部使用メッセージ */
 			case ECN_MSG_INTERNAL:
 				_ecn_tsk_int_msg(fa_exinf, a_mdt.fbs_id);
 				break;
 
-			/* ECHONETpbZ[W */
+			/* ECHONET用メッセージ */
 			case ECN_MSG_ECHONET:
 				_ecn_tsk_ecn_msg(fa_exinf, a_mdt.fbs_id);
@@ -285,5 +279,5 @@
 			}
 
-			/* Ìæðú */
+			/* 領域解放 */
 			if (g_release_esv)
 				_ecn_fbs_del(a_mdt.fbs_id);
@@ -298,5 +292,5 @@
 
 /*
- * V[PXÔ¶¬
+ * シーケンス番号生成
  */
 static uint16_t _ecn_tsk_new_tid(void)
@@ -306,13 +300,13 @@
 
 /*
- * vd¶ì¬
- * ø
- * ECN_FBS_ID		*fp_fbs_id		æ¾µ½FBS_IDÌi[æ
- * ID				fa_seoj			M³ÌECHONETIuWFNgID
- * ID				fa_deoj			¶æÌECHONETIuWFNgID
- * uint8_t			fa_epc			vpeBR[h
- * uint8_t			fa_pdc			vpeBlf[^TCY
- * const void		*p_edt			vpeBlf[^
- * ECN_SRV_CODE		fa_esv			ECHONET Light T[rXR[h
+ * 要求電文作成
+ * 引数
+ * ECN_FBS_ID		*fp_fbs_id		取得したFBS_IDの格納先
+ * ID				fa_seoj			送信元のECHONETオブジェクトID
+ * ID				fa_deoj			宛先のECHONETオブジェクトID
+ * uint8_t			fa_epc			プロパティコード
+ * uint8_t			fa_pdc			プロパティ値データサイズ
+ * const void		*p_edt			プロパティ値データ
+ * ECN_SRV_CODE		fa_esv			ECHONET Light サービスコード
  */
 ER _ecn_tsk_mk_esv(ECN_FBS_ID *fp_fbs_id, ID fa_seoj, ID fa_deoj,
@@ -321,5 +315,5 @@
 	ER				a_ret;
 	int				a_size, i;
-	ECN_FBS_ID		a_fbs_id = { 0 };	/* vd¶p				*/
+	ECN_FBS_ID		a_fbs_id = { 0 };	/* 要求電文用メモリ				*/
 	T_ECN_EDT_HDR	a_ecn_hdp;			/* ecn_hdr+edata+ecn_prp 14byte	*/
 	ID				a_enodid;
@@ -328,28 +322,28 @@
 
 	if (!fp_fbs_id)
-		return E_PAR; /* æ¾µ½FBS_IDÌi[æªNULL */
+		return E_PAR; /* 取得したFBS_IDの格納先がNULL */
 	if (ECHONET_MEMPOOL_BLOCK_SIZE <= fa_pdc)
-		return E_PAR; /* vpeBlTCYªå«·¬é */
+		return E_PAR; /* プロパティ値サイズが大きすぎる */
 	if (!p_edt && 0 < fa_pdc)
-		return E_PAR; /* vpeBlTCYª1ÈãÈÌÉf[^|C^ªNULL */
+		return E_PAR; /* プロパティ値サイズが1以上なのにデータポインタがNULL */
 
 	if (fa_seoj <= EOBJ_NULL || tmax_eobjid < fa_seoj)
-		return E_NOEXS; /* ECHONETIuWFNgIDª¢è` */
+		return E_NOEXS; /* ECHONETオブジェクトIDが未定義 */
 #ifndef ECHONET_CONTROLLER_EXTENTION
 	if (fa_deoj < EOBJ_NULL || tmax_eobjid < fa_deoj)
-		return E_NOEXS; /* ECHONETIuWFNgIDª¢è` */
+		return E_NOEXS; /* ECHONETオブジェクトIDが未定義 */
 #else
 	if (fa_deoj < EOBJ_NULL || (tmax_eobjid + TNUM_AEOBJID) < fa_deoj)
-		return E_NOEXS; /* ECHONETIuWFNgIDª¢è` */
+		return E_NOEXS; /* ECHONETオブジェクトIDが未定義 */
 #endif
 	if (fa_deoj == EOBJ_NULL && fa_esv == ESV_INFC)
-		return E_NOEXS; /* ECHONETIuWFNgIDª¢è` */
-
-	/* vÅ¬TCYÌæ¾ */
+		return E_NOEXS; /* ECHONETオブジェクトIDが未定義 */
+
+	/* 要求最小サイズの取得 */
 	a_size = sizeof(T_ECN_HDR) + sizeof(T_ECN_EDATA_BODY) + sizeof(T_ECN_PRP);
 
-	/* vd¶pÌæ¾ */
+	/* 要求電文用メモリの取得 */
 	a_ret = _ecn_fbs_cre(a_size, &a_fbs_id);
-	if (a_ret != E_OK || !a_fbs_id.ptr) { /* mÛ¸s */
+	if (a_ret != E_OK || !a_fbs_id.ptr) { /* 確保失敗 */
 		ECN_DBG_PUT( "_ecn_fbs_cre(%d) result = %d:%s",
 			a_size,
@@ -358,5 +352,5 @@
 	}
 
-	/* vd¶Ýè						*/
+	/* 要求電文設定						*/
 	memset(&a_ecn_hdp, 0, sizeof(a_ecn_hdp));
 	a_ecn_hdp.ecn_hdr.ehd1 = ECN_EDH1_ECHONET_LITE;
@@ -365,9 +359,9 @@
 	memcpy(&a_ecn_hdp.edata.seoj, &eobjinib_table[fa_seoj - 1].eojx1, sizeof(a_ecn_hdp.edata.seoj));
 	a_ecn_hdp.edata.esv = fa_esv;
-	a_ecn_hdp.edata.opc = 1;		/* vpeB */
-	a_ecn_hdp.ecn_prp.epc = fa_epc;	/* vpeBR[h */
-	a_ecn_hdp.ecn_prp.pdc = fa_pdc;	/* tf[^TCY */
-
-	/* vd¶pÉf[^ÇÁ */
+	a_ecn_hdp.edata.opc = 1;		/* 処理プロパティ数 */
+	a_ecn_hdp.ecn_prp.epc = fa_epc;	/* プロパティコード */
+	a_ecn_hdp.ecn_prp.pdc = fa_pdc;	/* 付随データサイズ */
+
+	/* 要求電文用メモリにデータ追加 */
 	a_ret = _ecn_fbs_add_data_ex(a_fbs_id, &a_ecn_hdp, a_size);
 	if (a_ret) {
@@ -378,5 +372,5 @@
 	}
 	if (0 < fa_pdc) {
-		/* tf[^ÇÁ */
+		/* 付随データ追加 */
 		a_ret = _ecn_fbs_add_data_ex(a_fbs_id, p_edt, fa_pdc);
 		if (a_ret) {
@@ -388,6 +382,6 @@
 	}
 	if (fa_deoj == 0) {
-		ECN_DBG_PUT( "%s", "}`LXg" );
-		/* fa_deoj == 0 : }`LXg */
+		ECN_DBG_PUT( "%s", "マルチキャスト" );
+		/* fa_deoj == 0 : マルチキャスト */
 		((T_EDATA *)a_fbs_id.ptr)->hdr.edata.deoj.eojx1 = EOJ_X1_PROFILE;
 		((T_EDATA *)a_fbs_id.ptr)->hdr.edata.deoj.eojx2 = EOJ_X2_NODE_PROFILE;
@@ -397,10 +391,10 @@
 	else if (fa_deoj <= tmax_eobjid) {
 		ECN_DBG_PUT( "fa_deoj = %d", fa_deoj );
-		/* if (fa_deoj < 1 || tmax_eobjid < fa_deoj) cÌÙínÍÖ`ªÅOÏÝÆ·é */
+		/* if (fa_deoj < 1 || tmax_eobjid < fa_deoj) …の異常系は関数冒頭で除外済みとする */
 		a_eobj = &eobjinib_table[fa_deoj - 1];
 		memcpy(&((T_EDATA *)a_fbs_id.ptr)->hdr.edata.deoj, &a_eobj->eojx1,
 			sizeof(((T_EDATA *)a_fbs_id.ptr)->hdr.edata.deoj));
 
-		/* e[u©çõ */
+		/* テーブルから検索 */
 		a_fbs_id.ptr->hdr.target.id = ENOD_NOT_MATCH_ID;
 		a_enodid = (a_eobj->enodid == 0) ? fa_deoj : a_eobj->enodid;
@@ -442,5 +436,5 @@
 		ECN_ENOD_ID enodid;
 		ECN_DBG_PUT( "fa_deoj = %d", fa_deoj );
-		/* IuWFNgID©çEOJÆm[hIDðæ¾ */
+		/* オブジェクトIDからEOJとノードIDを取得 */
 		if(ecn_agent_get_eoj_enodid(fa_deoj, &eoj, &enodid)){
 			memcpy(&((T_EDATA *)a_fbs_id.ptr)->hdr.edata.deoj, &eoj,
@@ -475,10 +469,10 @@
 		a_fbs_id.ptr->hdr.reply.id = ENOD_API_ID;
 
-	/* ³íI¹ */
+	/* 正常終了 */
 	*fp_fbs_id = a_fbs_id;
 	return E_OK;
 
 lb_except:
-	/* f[^ì¬¸sµ½çÌæðú */
+	/* データ作成失敗したら領域解放 */
 	if (a_fbs_id.ptr)
 		_ecn_fbs_del(a_fbs_id);
@@ -488,5 +482,5 @@
 
 /*
- * àgpbZ[W
+ * 内部使用メッセージ
  */
 static void _ecn_tsk_int_msg(intptr_t fa_exinf, ECN_FBS_ID fa_fbs_id)
@@ -519,5 +513,5 @@
 
 /*
- * ^XNú»
+ * タスク初期化
  */
 static void _ecn_tsk_int_startup(intptr_t fa_exinf)
@@ -528,5 +522,5 @@
 		_ecn_tsk_int_module_init(fa_exinf);
 
-	/* CX^XXgÊmÌM */
+	/* インスタンスリスト通知の送信 */
 	a_ret = _ecn_tsk_ntf_inl(fa_exinf);
 	if (a_ret) {
@@ -536,10 +530,10 @@
 
 /*
- * CX^XXgÊmÌM
- * ECHONET-Lite_Ver.1.10_02.pdf p.43 }4-1-4
+ * インスタンスリスト通知の送信
+ * ECHONET-Lite_Ver.1.10_02.pdf p.43 図4-1-4
  */
 ER _ecn_tsk_ntf_inl(intptr_t fa_exinf)
 {
-	const T_ECN_EOJ	a_seoj =	/* 0x01 : êÊm[hA0x02FMêpm[h */
+	const T_ECN_EOJ	a_seoj =	/* 0x01 : 一般ノード、0x02：送信専用ノード */
 		{ EOJ_X1_PROFILE, EOJ_X2_NODE_PROFILE, 0x01 };
 	const T_ECN_EOJ	a_deoj =
@@ -551,5 +545,5 @@
 	int			i;
 	uint8_t		a_count;
-	const EOBJCB	*enod = &eobjcb_table[0];	/* [Jm[h */
+	const EOBJCB	*enod = &eobjcb_table[0];	/* ローカルノード */
 	const EOBJINIB *eobj;
 
@@ -569,11 +563,11 @@
 
 		if (!a_eoj_ct) {
-			/* mÛEwb_i[ */
-			a_hdr.ecn_hdr.tid = (uint8_t)_ecn_tsk_new_tid(); /* V[PXÔ¶¬ */
+			/* メモリ確保・ヘッダ格納 */
+			a_hdr.ecn_hdr.tid = (uint8_t)_ecn_tsk_new_tid(); /* シーケンス番号生成 */
 			a_ret = _ecn_fbs_cre(sizeof(a_hdr), &a_fbs);
-			if (a_ret != E_OK) /* mÛ¸s */
+			if (a_ret != E_OK) /* 確保失敗 */
 				goto lb_except;
 			a_ret = _ecn_fbs_add_data(a_fbs, &a_hdr, sizeof(a_hdr));
-			if (a_ret != E_OK) /* f[^ÇÁ¸s */
+			if (a_ret != E_OK) /* データ追加失敗 */
 				goto lb_except;
 
@@ -582,26 +576,26 @@
 			a_fbs.ptr->hdr.target.id = ENOD_MULTICAST_ID;
 			a_fbs.ptr->hdr.reply.id = ENOD_LOCAL_ID;
-			((T_EDATA *)a_fbs.ptr)->hdr.ecn_prp.pdc = 1;	/*  */
-			/* ði[ */
+			((T_EDATA *)a_fbs.ptr)->hdr.ecn_prp.pdc = 1;	/* 件数 */
+			/* 件数を格納 */
 			a_count = (uint8_t)(enod->eobjcnt - i);
 			if (a_count >= ECN_IST_LST_EOJ_MAX_CT)
 				a_count = ECN_IST_LST_EOJ_MAX_CT;
 			a_ret = _ecn_fbs_add_data_ex(a_fbs, &a_count, sizeof(a_count));
-			if (a_ret != E_OK) /* f[^ÇÁ¸s */
+			if (a_ret != E_OK) /* データ追加失敗 */
 				goto lb_except;
 		}
-		/* ECHONETIuWFNgID(3byte)ði[ */
+		/* ECHONETオブジェクトID(3byte)を格納 */
 		a_ret = _ecn_fbs_add_data_ex(a_fbs, &eobj->eojx1, sizeof(T_ECN_EOJ));
-		if (a_ret != E_OK) /* f[^ÇÁ¸s */
+		if (a_ret != E_OK) /* データ追加失敗 */
 			goto lb_except;
 
-		/* EedtTCYÁZ */
+		/* 件数・edtサイズ加算 */
 		((T_EDATA *)a_fbs.ptr)->hdr.ecn_prp.pdc += sizeof(T_ECN_EOJ);
 		if (++a_eoj_ct < ECN_IST_LST_EOJ_MAX_CT)
 			continue;
 
-		/* 1AiEXÅÌãÀÉBµ½çAêUM */
+		/* 1アナウンスでの上限に達したら、一旦送信 */
 		a_ret = _ecn_tsk_snd_mbx(a_fbs, false);
-		if (a_ret != E_OK) /* f[^M¸s */
+		if (a_ret != E_OK) /* データ送信失敗 */
 			goto lb_except;
 		a_eoj_ct = 0;
@@ -609,7 +603,7 @@
 	}
 	if (a_eoj_ct) {
-		/* ¢Mf[^ª Á½çAM */
+		/* 未送信データがあったら、送信 */
 		a_ret = _ecn_tsk_snd_mbx(a_fbs, false);
-		if (a_ret != E_OK) /* f[^M¸s */
+		if (a_ret != E_OK) /* データ送信失敗 */
 			goto lb_except;
 		a_fbs.ptr = 0;
@@ -655,5 +649,5 @@
 
 /*
- * 3byteÌeobjidÅzñðõ·é
+ * 3byteのeobjidで配列中を検索する
  */
 const EOBJINIB *_ecn_eoj_fnd(const EOBJCB *fp_nod, const T_ECN_EOJ *fp_eoj)
@@ -691,5 +685,5 @@
 
 /*
- * ECHONETpbZ[W
+ * ECHONET用メッセージ
  */
 static void _ecn_tsk_ecn_msg(intptr_t fa_exinf, ECN_FBS_ID fa_fbs_id)
@@ -718,16 +712,16 @@
 	}
 
-	/* M¶©çm[hðõ */
+	/* 送信宛からノードを検索 */
 	p_nod = _ecn_eno_fnd(fa_fbs_id.ptr->hdr.target.id);
-	/* M³©çm[hðõ */
+	/* 送信元からノードを検索 */
 	p_snod = _ecn_eno_fnd(fa_fbs_id.ptr->hdr.sender.id);
 	if (p_snod != NULL) {
 		sobjatr = p_snod->profile->eobjatr;
-		/* m[hvt@CÌê */
+		/* ノードプロファイルの場合 */
 		if ((p_esv->edata.seoj.eojx1 == EOJ_X1_PROFILE)
 			&& (p_esv->edata.seoj.eojx2 == EOJ_X2_NODE_PROFILE)) {
 			p_sobj = p_snod->profile;
 		}
-		/* @íIuWFNgÌê */
+		/* 機器オブジェクトの場合 */
 		else {
 			p_sobj = _ecn_eoj_fnd(p_snod, &p_esv->edata.seoj);
@@ -739,5 +733,5 @@
 #endif
 
-	/* m[hàÌ@íIuWFNgðõ */
+	/* ノード内の機器オブジェクトを検索 */
 	a_prc = false;
 	a_fwd = false;
@@ -745,20 +739,20 @@
 		eobjatr = p_nod->profile->eobjatr;
 		p_eoj = &p_esv->edata.deoj;
-		/* m[hvt@CÌê */
+		/* ノードプロファイルの場合 */
 		if ((p_eoj->eojx1 == EOJ_X1_PROFILE)
 			&& (p_eoj->eojx2 == EOJ_X2_NODE_PROFILE)) {
 			if ((p_eoj->eojx3 == p_nod->profile->eojx3)
 				|| (p_eoj->eojx3 == 0)) {
-				/* d¶Às */
+				/* 電文処理実行 */
 				if (_ecn_tsk_ecn_msg_main(fa_fbs_id, p_nod->profile, eobjatr, p_sobj, sobjatr) == 1)
 					a_fwd = true;
 				a_prc = true;
 			}
-			/* 0x74 vpeBlÊmivjÌêµ½±ÆÉ·é */
+			/* 0x74 プロパティ値通知（応答要）の場合処理したことにする */
 			else if (p_esv->edata.esv == ESV_INFC) {
 				a_prc = true;
 			}
 		}
-		/* @íIuWFNgÌê */
+		/* 機器オブジェクトの場合 */
 		else {
 			count = p_nod->eobjcnt;
@@ -779,9 +773,9 @@
 				if (p_obj->eojx2 != p_eoj->eojx2)
 					continue;
-				/* CX^XR[hªOÌêA¯¶NXÌSÄÌCX^X¶ */
+				/* インスタンスコードが０の場合、同じクラスの全てのインスタンス宛 */
 				if ((p_obj->eojx3 != p_eoj->eojx3) && (p_eoj->eojx3 != 0))
 					continue;
 
-				/* d¶Às */
+				/* 電文処理実行 */
 				if (_ecn_tsk_ecn_msg_main(fa_fbs_id, p_obj, eobjatr, p_sobj, sobjatr) == 1)
 					a_fwd = true;
@@ -790,16 +784,16 @@
 		}
 	}
-	/* @íIuWFNgª©Â©çÈ¢êÅà */
+	/* 機器オブジェクトが見つからない場合でも */
 	if (!a_prc) {
-		/* d¶ÀsióMpj */
+		/* 電文処理実行（応答受信用） */
 		if (_ecn_tsk_ecn_msg_main(fa_fbs_id, NULL, EPC_NONE, p_sobj, sobjatr) == 1)
 			a_fwd = true;
 	}
 
-	/* ÌêAvP[VÉ]·é */
+	/* 応答の場合アプリケーションに転送する */
 	if (a_fwd && (p_esv->ecn_hdr.tid == g_api_tid)) {
 		g_release_esv = false;
 
-		ECN_CAP_PUT( "redirect ecn_svc_mailboxid ¨ ecn_api_mailboxid (esv:0x%02X)",
+		ECN_CAP_PUT( "redirect ecn_svc_mailboxid → ecn_api_mailboxid (esv:0x%02X)",
 			p_esv->edata.esv );
 		fa_fbs_id.ptr->hdr.target.id = ENOD_API_ID;
@@ -826,5 +820,5 @@
 
 	switch (p_esv->edata.esv) {
-	/* 0x60 vpeBl«Ývisvj */
+	/* 0x60 プロパティ値書き込み要求（応答不要） */
 	case ESV_SET_I:
 		if (!p_obj) {
@@ -838,5 +832,5 @@
 		break;
 
-	/* 0x61 vpeBl«Ývivj */
+	/* 0x61 プロパティ値書き込み要求（応答要） */
 	case ESV_SET_C:
 		if (!p_obj) {
@@ -850,5 +844,5 @@
 		break;
 
-	/* 0x62 vpeBlÇÝoµv */
+	/* 0x62 プロパティ値読み出し要求 */
 	case ESV_GET:
 		if (!p_obj) {
@@ -862,5 +856,5 @@
 		break;
 
-	/* 0x63 vpeBlÊmv */
+	/* 0x63 プロパティ値通知要求 */
 	case ESV_INF_REQ:
 		if (!p_obj) {
@@ -875,5 +869,5 @@
 		break;
 
-	/* 0x6E vpeBl«ÝEÇÝoµv */
+	/* 0x6E プロパティ値書き込み・読み出し要求 */
 	case ESV_SET_GET:
 		if (!p_obj) {
@@ -887,5 +881,5 @@
 		break;
 
-	/* 0x74 vpeBlÊmivj */
+	/* 0x74 プロパティ値通知（応答要） */
 	case ESV_INFC:
 		if (!p_sobj)
@@ -898,18 +892,18 @@
 		break;
 
-	/* 0x60 vpeBl«Ývisvj */
-	case ESV_SET_I_SNA:		/* 0x50 vpeBl«ÝvsÂ */
+	/* 0x60 プロパティ値書き込み要求（応答不要） */
+	case ESV_SET_I_SNA:		/* 0x50 プロパティ値書き込み要求不可応答 */
 		result = 1;
 		break;
 
-	/* 0x61 vpeBl«Ývivj */
-	case ESV_SET_RES:		/* 0x71 vpeBl«Ý */
-	case ESV_SET_C_SNA:		/* 0x51 vpeBl«ÝvsÂ */
+	/* 0x61 プロパティ値書き込み要求（応答要） */
+	case ESV_SET_RES:		/* 0x71 プロパティ値書き込み応答 */
+	case ESV_SET_C_SNA:		/* 0x51 プロパティ値書き込み要求不可応答 */
 		result = 1;
 		break;
 
-	/* 0x62 vpeBlÇÝoµv */
-	case ESV_GET_RES:		/* 0x72 vpeBlÇÝoµ */
-	case ESV_GET_SNA:		/* 0x52 vpeBlÇÝoµsÂ */
+	/* 0x62 プロパティ値読み出し要求 */
+	case ESV_GET_RES:		/* 0x72 プロパティ値読み出し応答 */
+	case ESV_GET_SNA:		/* 0x52 プロパティ値読み出し不可応答 */
 		if (!p_sobj) {
 			ECN_DBG_PUT( "_ecn_tsk_ecn_msg_main() eoj %06X not found.",
@@ -922,7 +916,7 @@
 		break;
 
-	/* 0x63 vpeBlÊmv */
-	case ESV_INF:			/* 0x73 vpeBlÊm */
-	case ESV_INF_SNA:		/* 0x53 vpeBlÊmsÂ */
+	/* 0x63 プロパティ値通知要求 */
+	case ESV_INF:			/* 0x73 プロパティ値通知 */
+	case ESV_INF_SNA:		/* 0x53 プロパティ値通知不可応答 */
 		if (!p_sobj) {
 			ECN_DBG_PUT( "_ecn_tsk_ecn_msg_main() eoj %06X not found.",
@@ -935,7 +929,7 @@
 		break;
 
-	/* 0x6E vpeBl«ÝEÇÝoµv */
-	case ESV_SET_GET_RES:	/* 0x7E vpeBl«ÝEÇÝoµ */
-	case ESV_SET_GET_SNA:	/* 0x5E vpeBl«ÝEÇÝoµsÂ */
+	/* 0x6E プロパティ値書き込み・読み出し要求 */
+	case ESV_SET_GET_RES:	/* 0x7E プロパティ値書き込み・読み出し応答 */
+	case ESV_SET_GET_SNA:	/* 0x5E プロパティ値書き込み・読み出し不可応答 */
 		if (!p_sobj) {
 			ECN_DBG_PUT( "_ecn_tsk_ecn_msg_main() eoj %06X not found.",
@@ -948,6 +942,6 @@
 		break;
 
-	/* 0x74 vpeBlÊmivj */
-	case ESV_INFC_RES:		/* 0x7A vpeBlÊm */
+	/* 0x74 プロパティ値通知（応答要） */
+	case ESV_INFC_RES:		/* 0x7A プロパティ値通知応答 */
 		result = 1;
 		break;
@@ -959,5 +953,5 @@
 	}
 
-	/* vpeBÊmvðM */
+	/* プロパティ通知要求を送信 */
 	if (a_fbs_anno.ptr != NULL) {
 		ER a_ret = _ecn_tsk_snd_mbx(a_fbs_anno, true);
@@ -1039,10 +1033,10 @@
 
 /*
- * ECN_FBS_ID©çT_ECN_PRP1Æ»Ìtf[^(edt)ðoµAedtÌ|C^ðÔ·
- * ø
- * ECN_FBS_ID fa_fbs_id					ÇÝæéFBS
- * T_ECN_PRP *fp_prp					epc+pdcÌi[æ
- * uint8_t *fp_blk						ìÆpÌ|C^
- * ³íF|C^ NG:0
+ * ECN_FBS_IDからT_ECN_PRP1件とその付随データ(edt)を抽出し、edtのポインタを返す
+ * 引数
+ * ECN_FBS_ID fa_fbs_id					読み取るFBS
+ * T_ECN_PRP *fp_prp					epc+pdcの格納先
+ * uint8_t *fp_blk						作業用メモリのポインタ
+ * 正常：ポインタ NG:0
  */
 static ID _ecn_tsk_get_prp_pce(ECN_FBS_ID fa_fbs_id, T_ECN_PRP *fp_prp,
@@ -1054,5 +1048,5 @@
 	memset(fp_blk, 0, sizeof(T_ECN_SUB_BLK));
 
-	/* T_ECN_PRPª(epc,pdc)ðÇÝæé */
+	/* T_ECN_PRP部分(epc,pdc)を読み取る */
 	a_size = 0;
 	a_ret = _ecn_fbs_get_data(fa_fbs_id, fp_prp, sizeof(*fp_prp), &a_size);
@@ -1063,5 +1057,5 @@
 
 	if (0 < fp_prp->pdc) {
-		/* tf[^ª(edt)ðÇÝæé */
+		/* 付随データ部分(edt)を読み取る */
 		a_size = 0;
 		a_ret = _ecn_fbs_get_data(fa_fbs_id, fp_blk, fp_prp->pdc, &a_size);
@@ -1078,5 +1072,5 @@
 	ECN_FBS_ID fa_fbs_id, ECN_FBS_ID a_fbs_res, ECN_FBS_ID *fa_fbs_anno, int a_count,
 	int *p_sw_ok);
-/* vpeBl«ÝÀs */
+/* プロパティ値書き込み実行 */
 static ER _ecn_tsk_eoj_set_main(const EOBJINIB *fp_obj, ATR fa_eobjatr, bool_t fa_fromapp, bool_t fa_update,
 	ECN_FBS_ID fa_fbs_id, ECN_FBS_ID a_fbs_res, ECN_FBS_ID *fa_fbs_anno, int a_count,
@@ -1094,5 +1088,5 @@
 
 	for (i = 0; i < a_count; i++) {
-		/* ECN_FBS_ID©çT_ECN_PRP1Æ»Ìtf[^ðoµA»Ì|C^ðÔ· */
+		/* ECN_FBS_IDからT_ECN_PRP1件とその付随データを抽出し、そのポインタを返す */
 		a_ret = _ecn_tsk_get_prp_pce(fa_fbs_id, &a_prp, p_edt);
 		if (a_ret != E_OK) {
@@ -1101,7 +1095,7 @@
 		}
 
-		/* vpeBÌÝè set_prp(obj, reqp, resp) */
+		/* プロパティの設定 set_prp(obj, reqp, resp) */
 		a_size = a_prp.pdc;
-		/* obj,epcÉÎ·ésetÖðÄÔ */
+		/* obj,epcに対応するset関数を呼ぶ */
 		a_eprp = _ecn_tsk_eoj_get_property(fp_obj, a_prp.epc);
 		if ((a_eprp != NULL)
@@ -1125,11 +1119,11 @@
 				fp_obj->eojx1 << 16 | fp_obj->eojx2 << 8 | fp_obj->eojx3,
 				a_prp.epc, p_edt[0], a_size );
-			*p_sw_ok = 0;	/* vpeBÝè¸s */
-			/* ÌêEDTÍÝèµÈ¢ */
+			*p_sw_ok = 0;	/* プロパティ設定失敗 */
+			/* 応答処理の場合EDTは設定しない */
 			if (fa_update)
 				a_prp.pdc = 0;
 		}
 
-		/* d¶pÉf[^ÇÁ(epc,pdcÌ2byte) */
+		/* 応答電文用メモリにデータ追加(epc,pdcの2byte) */
 		a_ret = _ecn_fbs_add_data_ex(a_fbs_res, &a_prp, sizeof(a_prp));
 		if (a_ret) {
@@ -1139,5 +1133,5 @@
 
 		if (0 < a_prp.pdc) {
-			/* d¶pÉf[^ÇÁ(edt n-byte) */
+			/* 応答電文用メモリにデータ追加(edt n-byte) */
 			a_ret = _ecn_fbs_add_data_ex(a_fbs_res, p_edt, a_prp.pdc);
 			if (a_ret) {
@@ -1148,5 +1142,5 @@
 		((T_EDATA *)a_fbs_res.ptr)->hdr.edata.opc ++;
 
-		/* vpeBÊm èÌê */
+		/* プロパティ通知ありの場合 */
 		if (a_anno && (a_ans == a_size)) {
 			if (fa_fbs_anno->ptr == NULL) {
@@ -1171,9 +1165,9 @@
 static ER _ecn_tsk_eoj_get_main(const EOBJINIB *fp_obj, ATR fa_eobjatr, bool_t fa_forward, ATR fa_access,
 	ECN_FBS_ID fa_fbs_id, ECN_FBS_ID a_fbs_res, int a_count, int *p_sw_ok);
-/* vpeBlÇÝoµÀs */
+/* プロパティ値読み出し実行 */
 static ER _ecn_tsk_eoj_get_main(const EOBJINIB *fp_obj, ATR fa_eobjatr, bool_t fa_forward, ATR fa_access,
 	ECN_FBS_ID fa_fbs_id, ECN_FBS_ID a_fbs_res, int a_count, int *p_sw_ok)
 {
-	uint8_t p_edt[256];	/* ìÆÌæ */
+	uint8_t p_edt[256];	/* 作業領域 */
 	const EPRPINIB		*a_eprp;
 	ER					a_ret		=	E_SYS;
@@ -1184,5 +1178,5 @@
 
 	for (i = 0; i < a_count; i++) {
-		/* ECN_FBS_ID©çT_ECN_PRP1Æ»Ìtf[^ðo */
+		/* ECN_FBS_IDからT_ECN_PRP1件とその付随データを抽出 */
 		a_ret = _ecn_tsk_get_prp_pce(fa_fbs_id, &a_prp, p_edt);
 		if (a_ret != E_OK) {
@@ -1191,7 +1185,7 @@
 		}
 
-		/* vpeBÌæ¾ get_eprp(obj, reqp, resp, size) */
+		/* プロパティの取得 get_eprp(obj, reqp, resp, size) */
 		memset(p_edt, 0, sizeof(p_edt));
-		/* obj,epcÉÎ·égetÖðÄÔ */
+		/* obj,epcに対応するget関数を呼ぶ */
 		a_eprp = _ecn_tsk_eoj_get_property(fp_obj, a_prp.epc);
 		if ((a_eprp != NULL) && (((a_eprp->eprpatr & fa_access) != 0) && (fa_eobjatr == EOBJ_LOCAL_NODE) || fa_forward)) {
@@ -1204,10 +1198,10 @@
 			a_prp.pdc = (uint8_t)a_ans;
 		} else {
-			*p_sw_ok = 0;	/* vpeBæ¾¸s */
+			*p_sw_ok = 0;	/* プロパティ取得失敗 */
 			a_ans = 0;
 			a_prp.pdc = 0;
 		}
 
-		/* d¶pÉf[^ÇÁ(epc,pdcÌ2byte) */
+		/* 応答電文用メモリにデータ追加(epc,pdcの2byte) */
 		a_ret = _ecn_fbs_add_data_ex(a_fbs_res, &a_prp, sizeof(a_prp));
 		if (a_ret) {
@@ -1216,5 +1210,5 @@
 		}
 		if (0 < a_ans) {
-			/* tf[^ÇÁ */
+			/* 付随データ追加 */
 			a_ret = _ecn_fbs_add_data_ex(a_fbs_res, p_edt, a_ans);
 			if (a_ret) {
@@ -1236,5 +1230,5 @@
 
 static ER _ecn_tsk_eoj_res_main(ECN_FBS_ID fa_fbs_id, ECN_FBS_ID a_fbs_res, int a_count, int *p_sw_ok);
-/* vpeBlÇÝoµÀs */
+/* プロパティ値読み出し実行 */
 static ER _ecn_tsk_eoj_res_main(ECN_FBS_ID fa_fbs_id, ECN_FBS_ID a_fbs_res, int a_count, int *p_sw_ok)
 {
@@ -1247,5 +1241,5 @@
 
 	for (i = 0; i < a_count; i++) {
-		/* ECN_FBS_ID©çT_ECN_PRP1Æ»Ìtf[^ðo */
+		/* ECN_FBS_IDからT_ECN_PRP1件とその付随データを抽出 */
 		a_ret = _ecn_tsk_get_prp_pce(fa_fbs_id, &a_prp, p_edt);
 		if (a_ret != E_OK) {
@@ -1256,5 +1250,5 @@
 		a_prp.pdc = 0;
 
-		/* d¶pÉf[^ÇÁ(epc,pdcÌ2byte) */
+		/* 応答電文用メモリにデータ追加(epc,pdcの2byte) */
 		a_ret = _ecn_fbs_add_data_ex(a_fbs_res, &a_prp, sizeof(a_prp));
 		if (a_ret) {
@@ -1274,5 +1268,5 @@
 }
 
-/* vpeBlÇÝòÎµÀs */
+/* プロパティ値読み飛ばし実行 */
 static ER _ecn_tsk_eoj_skip_main(const EOBJINIB *fp_obj, ECN_FBS_ID fa_fbs_id,
 	int a_count);
@@ -1285,5 +1279,5 @@
 
 	for (i = 0; i < a_count; i++) {
-		/* T_ECN_PRPª(epc,pdc)ðÇÝæé */
+		/* T_ECN_PRP部分(epc,pdc)を読み取る */
 		a_size = 0;
 		a_ret = _ecn_fbs_get_data(fa_fbs_id, &a_prp, sizeof(a_prp), &a_size);
@@ -1293,5 +1287,5 @@
 		}
 
-		/* pdcªÇÝòÎµ */
+		/* pdc分読み飛ばし */
 		a_ret = _ecn_fbs_seek_rpos(fa_fbs_id, a_prp.pdc);
 		if (a_ret) {
@@ -1312,5 +1306,5 @@
 static void _ecn_tsk_mk_rsp_hdr(const EOBJINIB *fp_obj, T_ECN_EDT_HDR *fp_rsp_esv,
 	T_ECN_EDT_HDR const *fp_req_esv);
-/* d¶Ýè */
+/* 応答電文設定 */
 static void _ecn_tsk_mk_rsp_hdr(const EOBJINIB *fp_obj, T_ECN_EDT_HDR *fp_rsp_esv,
 	T_ECN_EDT_HDR const *fp_req_esv)
@@ -1337,7 +1331,7 @@
 }
 
-/* d¶pfbsÝè */
+/* 応答電文用fbs設定 */
 static void _ecn_tsk_set_rsp_fbs(ECN_FBS_ID fa_rsp_fbs, T_ECN_FST_BLK const *fp_req_ptr);
-/* d¶pfbsÝè(sender/targetÌÝè) */
+/* 応答電文用fbs設定(sender/targetの設定) */
 static void _ecn_tsk_set_rsp_fbs(ECN_FBS_ID fa_rsp_fbs, T_ECN_FST_BLK const *fp_req_ptr)
 {
@@ -1348,5 +1342,5 @@
 }
 
-/* vpeBl«Ýv	*/
+/* プロパティ値書き込み要求	*/
 static void _ecn_tsk_eoj_set(const EOBJINIB *fp_obj, ATR fa_eobjatr, bool_t fa_fromapp, bool_t fa_update,
 	ECN_FBS_ID fa_fbs_id, ECN_SRV_CODE fa_res_esv, ECN_SRV_CODE fa_sna_esv,
@@ -1363,13 +1357,13 @@
 	memset(&a_ecn_hdp, 0, sizeof(a_ecn_hdp));
 
-	/* ÅåTCYÌæ¾ */
+	/* 応答最大サイズの取得 */
 	a_size = sizeof(T_ECN_HDR) + sizeof(T_ECN_EDATA_BODY) + sizeof(T_ECN_PRP);
 
-	/* d¶pÌæ¾ */
+	/* 応答電文用メモリの取得 */
 	a_ret = _ecn_fbs_cre(a_size, &a_fbs_res);
-	if (a_ret != E_OK || !a_fbs_res.ptr) /* mÛ¸s */
+	if (a_ret != E_OK || !a_fbs_res.ptr) /* 確保失敗 */
 		return;
 
-	/* d¶Ýè */
+	/* 応答電文設定 */
 	if(p_req_esv->edata.deoj.eojx3 != 0)
 		_ecn_tsk_mk_rsp_hdr_res(&a_ecn_hdp, p_req_esv);
@@ -1377,7 +1371,7 @@
 		_ecn_tsk_mk_rsp_hdr(fp_obj, &a_ecn_hdp, p_req_esv);
 
-	/* ³íÌd¶ªvpeBlÊmÌê */
+	/* 正常時の応答電文がプロパティ値通知応答の場合 */
 	if (fa_res_esv == ESV_INFC_RES) {
-		/* M³Æ¶æðüêÖ¦ */
+		/* 送信元と宛先を入れ替え */
 		eoj = a_ecn_hdp.edata.seoj;
 		a_ecn_hdp.edata.seoj = a_ecn_hdp.edata.deoj;
@@ -1385,7 +1379,7 @@
 	}
 
-	f_put_fbs_eoj("_ecn_tsk_eoj_set", "fa_fbs_id", fa_fbs_id); /* s/deoj fobOoÍ */
-
-	/* d¶pÉf[^ÇÁ */
+	f_put_fbs_eoj("_ecn_tsk_eoj_set", "fa_fbs_id", fa_fbs_id); /* s/deoj デバッグ出力 */
+
+	/* 応答電文用メモリにデータ追加 */
 	a_ret = _ecn_fbs_add_data_ex(a_fbs_res, &a_ecn_hdp,
 				sizeof(a_ecn_hdp.ecn_hdr) + sizeof(a_ecn_hdp.edata));
@@ -1393,13 +1387,13 @@
 		goto lb_except;
 
-	/* payloadæªÌT_ECN_HDR(ecn_hdr), T_ECN_EDATA_BODY(edata)ðÇÝòÎ· */
+	/* payload先頭のT_ECN_HDR(ecn_hdr), T_ECN_EDATA_BODY(edata)を読み飛ばす */
 	a_ret = _ecn_fbs_set_rpos(fa_fbs_id, offsetof(T_ECN_EDT_HDR, ecn_prp));
 	if (a_ret)
 		goto lb_except;
 
-	/* d¶pfbsÝè */
+	/* 応答電文用fbs設定 */
 	_ecn_tsk_set_rsp_fbs(a_fbs_res, fa_fbs_id.ptr);
 
-	/* vpeBl«ÝÀs */
+	/* プロパティ値書き込み実行 */
 	a_ret = _ecn_tsk_eoj_set_main(fp_obj, fa_eobjatr, fa_fromapp, fa_update, fa_fbs_id, a_fbs_res,
 		fa_fbs_anno, p_req_esv->edata.opc, &a_sw_ok);
@@ -1407,23 +1401,23 @@
 		goto lb_except;
 
-	/* vÌê */
+	/* 応答要の場合 */
 	if (a_sw_ok) {
 		if (!fa_res_esv) {
-			/* svÌê */
+			/* 応答不要の場合 */
 			_ecn_fbs_del(a_fbs_res);
 			goto lb_finally;
 		}
-		/* Ýè¬÷ */
+		/* 設定処理成功 */
 		((T_EDATA *)a_fbs_res.ptr)->hdr.edata.esv = fa_res_esv;
 	} else {
 		if (!fa_sna_esv) {
-			/* svÌê */
+			/* 応答不要の場合 */
 			_ecn_fbs_del(a_fbs_res);
 			goto lb_finally;
 		}
-		/* Ýè¸s */
+		/* 設定処理失敗 */
 		((T_EDATA *)a_fbs_res.ptr)->hdr.edata.esv = fa_sna_esv;
 	}
-	/* M */
+	/* 応答送信 */
 	a_ret = _ecn_tsk_snd_mbx(a_fbs_res, false);
 	if (a_ret == E_OK)
@@ -1431,5 +1425,5 @@
 
 lb_except:
-	/* f[^M¸sµ½çÌæðú */
+	/* データ送信失敗したら領域解放 */
 	if (a_fbs_res.ptr)
 		_ecn_fbs_del(a_fbs_res);
@@ -1439,5 +1433,5 @@
 }
 
-/* vpeBlÇÝoµv	*/
+/* プロパティ値読み出し要求	*/
 static void _ecn_tsk_eoj_get(const EOBJINIB *fp_obj, ATR fa_eobjatr, bool_t fa_forward, ATR fa_access,
 	ECN_FBS_ID fa_fbs_id, ECN_SRV_CODE fa_res_esv, ECN_SRV_CODE fa_sna_esv)
@@ -1452,15 +1446,15 @@
 	memset(&a_ecn_hdp, 0, sizeof(a_ecn_hdp));
 
-	/* úæ¾TCY */
+	/* 初期取得サイズ */
 	a_size = sizeof(T_ECN_HDR) + sizeof(T_ECN_EDATA_BODY) + sizeof(T_ECN_PRP);
 
-	/* d¶pÌæ¾ */
+	/* 応答電文用メモリの取得 */
 	a_ret = _ecn_fbs_cre(a_size, &a_fbs_res);
-	if (a_ret != E_OK || !a_fbs_res.ptr) { /* mÛ¸s */
+	if (a_ret != E_OK || !a_fbs_res.ptr) { /* 確保失敗 */
 		ECN_DBG_PUT( "_ecn_fbs_cre() result = %d:%s", a_ret, itron_strerror(a_ret) );
 		goto lb_finally;
 	}
 
-	/* d¶Ýè */
+	/* 応答電文設定 */
 	if(p_req_esv->edata.deoj.eojx3 != 0)
 		_ecn_tsk_mk_rsp_hdr_res(&a_ecn_hdp, p_req_esv);
@@ -1468,7 +1462,7 @@
 		_ecn_tsk_mk_rsp_hdr(fp_obj, &a_ecn_hdp, p_req_esv);
 
-	f_put_fbs_eoj("_ecn_tsk_eoj_get", "fa_fbs_id", fa_fbs_id); /* s/deoj fobOoÍ */
-
-	/* d¶pÉf[^ÇÁ */
+	f_put_fbs_eoj("_ecn_tsk_eoj_get", "fa_fbs_id", fa_fbs_id); /* s/deoj デバッグ出力 */
+
+	/* 応答電文用メモリにデータ追加 */
 	a_ret = _ecn_fbs_add_data_ex(a_fbs_res, &a_ecn_hdp,
 			sizeof(a_ecn_hdp.ecn_hdr) + sizeof(a_ecn_hdp.edata));
@@ -1478,5 +1472,5 @@
 	}
 
-	/* payloadæªÌT_ECN_HDR(ecn_hdr), T_ECN_EDATA_BODY(edata)ðÇÝòÎ· */
+	/* payload先頭のT_ECN_HDR(ecn_hdr), T_ECN_EDATA_BODY(edata)を読み飛ばす */
 	a_ret = _ecn_fbs_set_rpos(fa_fbs_id, offsetof(T_ECN_EDT_HDR, ecn_prp));
 	if (a_ret) {
@@ -1485,8 +1479,8 @@
 	}
 
-	/* d¶pfbsÝè */
+	/* 応答電文用fbs設定 */
 	_ecn_tsk_set_rsp_fbs(a_fbs_res, fa_fbs_id.ptr);
 
-	/* vpeBlÇÝÝÀs */
+	/* プロパティ値読み込み実行 */
 	a_ret = _ecn_tsk_eoj_get_main(fp_obj, fa_eobjatr, fa_forward, fa_access, fa_fbs_id, a_fbs_res,
 		((T_EDATA *)fa_fbs_id.ptr)->hdr.edata.opc, &a_sw_ok);
@@ -1498,20 +1492,20 @@
 	if (a_sw_ok) {
 		if (!fa_res_esv) {
-			/* svÌê */
+			/* 応答不要の場合 */
 			_ecn_fbs_del(a_fbs_res);
 			goto lb_finally;
 		}
-		/* Ýè¬÷ */
+		/* 設定処理成功 */
 		((T_EDATA *)a_fbs_res.ptr)->hdr.edata.esv = fa_res_esv;
 	} else {
 		if (!fa_sna_esv) {
-			/* svÌê */
+			/* 応答不要の場合 */
 			_ecn_fbs_del(a_fbs_res);
 			goto lb_finally;
 		}
-		/* Ýè¸s */
+		/* 設定処理失敗 */
 		((T_EDATA *)a_fbs_res.ptr)->hdr.edata.esv = fa_sna_esv;
 	}
-	/* M */
+	/* 応答送信 */
 	a_ret = _ecn_tsk_snd_mbx(a_fbs_res, false);
 	if (a_ret != E_OK) {
@@ -1522,5 +1516,5 @@
 
 lb_except:
-	/* f[^M¸sµ½çÌæðú */
+	/* データ送信失敗したら領域解放 */
 	if (a_fbs_res.ptr)
 		_ecn_fbs_del(a_fbs_res);
@@ -1530,5 +1524,5 @@
 }
 
-/* vpeBlÇÝoµv	*/
+/* プロパティ値読み出し要求	*/
 static void _ecn_tsk_eoj_res(ECN_FBS_ID fa_fbs_id, ECN_SRV_CODE fa_res_esv,
 	ECN_SRV_CODE fa_sna_esv)
@@ -1543,20 +1537,20 @@
 	memset(&a_ecn_hdp, 0, sizeof(a_ecn_hdp));
 
-	/* úæ¾TCY */
+	/* 初期取得サイズ */
 	a_size = sizeof(T_ECN_HDR) + sizeof(T_ECN_EDATA_BODY) + sizeof(T_ECN_PRP);
 
-	/* d¶pÌæ¾ */
+	/* 応答電文用メモリの取得 */
 	a_ret = _ecn_fbs_cre(a_size, &a_fbs_res);
-	if (a_ret != E_OK || !a_fbs_res.ptr) { /* mÛ¸s */
+	if (a_ret != E_OK || !a_fbs_res.ptr) { /* 確保失敗 */
 		ECN_DBG_PUT( "_ecn_fbs_cre() result = %d:%s", a_ret, itron_strerror(a_ret) );
 		goto lb_finally;
 	}
 
-	/* d¶Ýè						*/
+	/* 応答電文設定						*/
 	_ecn_tsk_mk_rsp_hdr_res(&a_ecn_hdp, p_req_esv);
 
-	f_put_fbs_eoj("_ecn_tsk_eoj_res", "fa_fbs_id", fa_fbs_id); /* s/deoj fobOoÍ */
-
-	/* d¶pÉf[^ÇÁ */
+	f_put_fbs_eoj("_ecn_tsk_eoj_res", "fa_fbs_id", fa_fbs_id); /* s/deoj デバッグ出力 */
+
+	/* 応答電文用メモリにデータ追加 */
 	a_ret = _ecn_fbs_add_data_ex(a_fbs_res, &a_ecn_hdp,
 			sizeof(a_ecn_hdp.ecn_hdr) + sizeof(a_ecn_hdp.edata));
@@ -1566,5 +1560,5 @@
 	}
 
-	/* payloadæªÌT_ECN_HDR(ecn_hdr), T_ECN_EDATA_BODY(edata)ðÇÝòÎ· */
+	/* payload先頭のT_ECN_HDR(ecn_hdr), T_ECN_EDATA_BODY(edata)を読み飛ばす */
 	a_ret = _ecn_fbs_set_rpos(fa_fbs_id, offsetof(T_ECN_EDT_HDR, ecn_prp));
 	if (a_ret) {
@@ -1573,8 +1567,8 @@
 	}
 
-	/* d¶pfbsÝè */
+	/* 応答電文用fbs設定 */
 	_ecn_tsk_set_rsp_fbs(a_fbs_res, fa_fbs_id.ptr);
 
-	/* vpeBlÇÝÝÀs */
+	/* プロパティ値読み込み実行 */
 	a_ret = _ecn_tsk_eoj_res_main(fa_fbs_id, a_fbs_res,
 		((T_EDATA *)fa_fbs_id.ptr)->hdr.edata.opc, &a_sw_ok);
@@ -1586,20 +1580,20 @@
 	if (a_sw_ok) {
 		if (!fa_res_esv) {
-			/* svÌê */
+			/* 応答不要の場合 */
 			_ecn_fbs_del(a_fbs_res);
 			goto lb_finally;
 		}
-		/* Ýè¬÷ */
+		/* 設定処理成功 */
 		((T_EDATA *)a_fbs_res.ptr)->hdr.edata.esv = fa_res_esv;
 	} else {
 		if (!fa_sna_esv) {
-			/* svÌê */
+			/* 応答不要の場合 */
 			_ecn_fbs_del(a_fbs_res);
 			goto lb_finally;
 		}
-		/* Ýè¸s */
+		/* 設定処理失敗 */
 		((T_EDATA *)a_fbs_res.ptr)->hdr.edata.esv = fa_sna_esv;
 	}
-	/* M */
+	/* 応答送信 */
 	a_ret = _ecn_tsk_snd_mbx(a_fbs_res, false);
 	if (a_ret != E_OK) {
@@ -1610,5 +1604,5 @@
 
 lb_except:
-	/* f[^M¸sµ½çÌæðú */
+	/* データ送信失敗したら領域解放 */
 	if (a_fbs_res.ptr)
 		_ecn_fbs_del(a_fbs_res);
@@ -1625,9 +1619,9 @@
 	T_ECN_EDT_HDR	a_ecn_hdp;
 	ECN_FBS_ID		a_fbs_res	= { 0 };
-	int				a_rdprp_wrpos;	/*	vpeBÇÝÝ«ÝÌwbhÊu	*/
+	int				a_rdprp_wrpos;	/*	プロパティ読み込み件数書き込み時のヘッド位置	*/
 	ER		a_ret;
 	int		i, a_size, a_rdlen;
 	int		a_sw_ok = 1;
-	int		a_count = ((T_EDATA *)fa_fbs_id.ptr)->hdr.edata.opc;	/* vpeB */
+	int		a_count = ((T_EDATA *)fa_fbs_id.ptr)->hdr.edata.opc;	/* 処理プロパティ数 */
 
 	memset(&a_ecn_hdp, 0, sizeof(a_ecn_hdp));
@@ -1636,13 +1630,13 @@
 		fp_obj->eojx1 << 16 | fp_obj->eojx2 << 8 | fp_obj->eojx3 );
 
-	/* úæ¾TCY */
+	/* 初期取得サイズ */
 	a_size = sizeof(T_ECN_HDR) + sizeof(T_ECN_EDATA_BODY) + sizeof(T_ECN_PRP);
 
-	/* d¶pÌæ¾ */
+	/* 応答電文用メモリの取得 */
 	a_ret = _ecn_fbs_cre(a_size, &a_fbs_res);
-	if (a_ret != E_OK || !a_fbs_res.ptr) /* mÛ¸s */
+	if (a_ret != E_OK || !a_fbs_res.ptr) /* 確保失敗 */
 		goto lb_finally;
 
-	/* d¶Ýè */
+	/* 応答電文設定 */
 	if(p_req_esv->edata.deoj.eojx3 != 0)
 		_ecn_tsk_mk_rsp_hdr_res(&a_ecn_hdp, p_req_esv);
@@ -1651,7 +1645,7 @@
 	a_size -= sizeof(T_ECN_HDR) + sizeof(T_ECN_EDATA_BODY);
 
-	f_put_fbs_eoj("_ecn_tsk_eoj_set_get", "fa_fbs_id", fa_fbs_id); /* s/deoj fobOoÍ */
-
-	/* d¶pÉf[^ÇÁ */
+	f_put_fbs_eoj("_ecn_tsk_eoj_set_get", "fa_fbs_id", fa_fbs_id); /* s/deoj デバッグ出力 */
+
+	/* 応答電文用メモリにデータ追加 */
 	a_ret = _ecn_fbs_add_data_ex(a_fbs_res, &a_ecn_hdp,
 				sizeof(a_ecn_hdp.ecn_hdr) + sizeof(a_ecn_hdp.edata));
@@ -1659,13 +1653,13 @@
 		goto lb_except;
 
-	/* payloadæªÌT_ECN_HDR(ecn_hdr), T_ECN_EDATA_BODY(edata)ðÇÝòÎ· */
+	/* payload先頭のT_ECN_HDR(ecn_hdr), T_ECN_EDATA_BODY(edata)を読み飛ばす */
 	a_ret = _ecn_fbs_set_rpos(fa_fbs_id, offsetof(T_ECN_EDT_HDR, ecn_prp));
 	if (a_ret)
 		goto lb_except;
 
-	/* d¶pfbsÝè */
+	/* 応答電文用fbs設定 */
 	_ecn_tsk_set_rsp_fbs(a_fbs_res, fa_fbs_id.ptr);
 
-	/* vpeBl«ÝÀs */
+	/* プロパティ値書き込み実行 */
 	a_ret = _ecn_tsk_eoj_set_main(fp_obj, fa_eobjatr, fa_fromapp, false, fa_fbs_id, a_fbs_res,
 		fa_fbs_anno, a_count, &a_sw_ok);
@@ -1680,6 +1674,6 @@
 		(a_sw_ok ? "true" : "false") );
 
-	/* ÌðÇÝæé(1byte)						*/
-	/* ¨ ECHONET-Lite_Ver.1.10_02.pdf p.40 [OPCGet]	*/
+	/* 次の件数を読み取る(1byte)						*/
+	/* → ECHONET-Lite_Ver.1.10_02.pdf p.40 [OPCGet]	*/
 	a_rdlen = i = 0;
 	a_ret = _ecn_fbs_get_data(fa_fbs_id, &i, 1, &a_rdlen);
@@ -1688,17 +1682,17 @@
 	a_count = *(uint8_t *)&i;
 
-	/* vpeBÇÝÝ«ÝÌwbhîñðL^ */
+	/* プロパティ読み込み件数書き込み時のヘッド情報を記録 */
 	a_rdprp_wrpos = _ecn_fbs_get_datalen(a_fbs_res);
 
-	/* d¶pÉf[^ÇÁ (OPCGet 1byte) */
+	/* 応答電文用メモリにデータ追加 (OPCGet 1byte) */
 	a_ret = _ecn_fbs_add_data_ex(a_fbs_res, &i, 1);
 	if (a_ret)
 		goto lb_except;
 
-	/* ±Ì_ÅÌd¶vpeBðL^ */
+	/* この時点での応答電文中プロパティ件数を記録 */
 	i = ((T_EDATA *)a_fbs_res.ptr)->hdr.edata.opc;
 	((T_EDATA *)a_fbs_res.ptr)->hdr.edata.opc = 0;
 
-	/* vpeBlÇÝÝÀs */
+	/* プロパティ値読み込み実行 */
 	a_ret = _ecn_tsk_eoj_get_main(fp_obj, fa_eobjatr, false, EPC_RULE_GET, fa_fbs_id, a_fbs_res,
 		a_count, &a_sw_ok);
@@ -1714,19 +1708,19 @@
 		(a_sw_ok ? "true" : "false") );
 
-	/* vpeBÇÝÝ«ÝÌwbhîñÅAÇÝoµðL^ */
+	/* プロパティ読み込み件数書き込み時のヘッド情報で、読み出し件数を記録 */
 	_ecn_fbs_poke(a_fbs_res, a_rdprp_wrpos, ((T_EDATA *)a_fbs_res.ptr)->hdr.edata.opc);
 
-	/* L^µÄ¨¢½vpeBi«Ýjð«ß· */
+	/* 記録しておいたプロパティ件数（書き込み件数）を書き戻す */
 	((T_EDATA *)a_fbs_res.ptr)->hdr.edata.opc = (uint8_t)i;
 
-	/* vÌê */
+	/* 応答要の場合 */
 	if (a_sw_ok) {
-		/* Ýè¬÷ */
+		/* 設定処理成功 */
 		((T_EDATA *)a_fbs_res.ptr)->hdr.edata.esv = fa_res_esv;
 	} else {
-		/* Ýè¸s */
+		/* 設定処理失敗 */
 		((T_EDATA *)a_fbs_res.ptr)->hdr.edata.esv = fa_sna_esv;
 	}
-	/* M */
+	/* 応答送信 */
 	a_ret = _ecn_tsk_snd_mbx(a_fbs_res, false);
 	if (a_ret == E_OK)
@@ -1734,5 +1728,5 @@
 
 lb_except:
-	/* f[^M¸sµ½çÌæðú */
+	/* データ送信失敗したら領域解放 */
 	if (a_fbs_res.ptr)
 		_ecn_fbs_del(a_fbs_res);
@@ -1751,5 +1745,5 @@
 	int		i, a_size, a_rdlen;
 	int		a_sw_ok = 1;
-	int		a_count = ((T_EDATA *)fa_fbs_id.ptr)->hdr.edata.opc;	/* vpeB */
+	int		a_count = ((T_EDATA *)fa_fbs_id.ptr)->hdr.edata.opc;	/* 処理プロパティ数 */
 
 	memset(&a_ecn_hdp, 0, sizeof(a_ecn_hdp));
@@ -1758,22 +1752,22 @@
 		fp_obj->eojx1 << 16 | fp_obj->eojx2 << 8 | fp_obj->eojx3 );
 
-	/* úæ¾TCY */
+	/* 初期取得サイズ */
 	a_size = sizeof(T_ECN_HDR) + sizeof(T_ECN_EDATA_BODY) + sizeof(T_ECN_PRP);
 
-	/* d¶pi_~[jÌæ¾ */
+	/* 応答電文用メモリ（ダミー）の取得 */
 	a_ret = _ecn_fbs_cre(a_size, &a_fbs_dmy);
-	if (a_ret != E_OK || !a_fbs_dmy.ptr) /* mÛ¸s */
+	if (a_ret != E_OK || !a_fbs_dmy.ptr) /* 確保失敗 */
 		goto lb_finally;
 
-	/* d¶Ýè						*/
+	/* 応答電文設定						*/
 	_ecn_tsk_mk_rsp_hdr_res(&a_ecn_hdp, p_req_esv);
 	a_size -= sizeof(T_ECN_HDR) + sizeof(T_ECN_EDATA_BODY);
 
-	/* payloadæªÌT_ECN_HDR(ecn_hdr), T_ECN_EDATA_BODY(edata)ðÇÝòÎ· */
+	/* payload先頭のT_ECN_HDR(ecn_hdr), T_ECN_EDATA_BODY(edata)を読み飛ばす */
 	a_ret = _ecn_fbs_set_rpos(fa_fbs_id, offsetof(T_ECN_EDT_HDR, ecn_prp));
 	if (a_ret)
 		goto lb_except;
 
-	/* vpeBl«ÝÇÝòÎµÀs */
+	/* プロパティ値書き込み応答読み飛ばし実行 */
 	a_ret = _ecn_tsk_eoj_skip_main(fp_obj, fa_fbs_id, a_count);
 	if (a_ret) {
@@ -1787,6 +1781,6 @@
 		(a_sw_ok ? "true" : "false") );
 
-	/* ÌðÇÝæé(1byte)						*/
-	/* ¨ ECHONET-Lite_Ver.1.10_02.pdf p.40 [OPCGet]	*/
+	/* 次の件数を読み取る(1byte)						*/
+	/* → ECHONET-Lite_Ver.1.10_02.pdf p.40 [OPCGet]	*/
 	a_rdlen = i = 0;
 	a_ret = _ecn_fbs_get_data(fa_fbs_id, &i, 1, &a_rdlen);
@@ -1795,5 +1789,5 @@
 	a_count = *(uint8_t *)&i;
 
-	/* vpeBlÇÝoµÌ«ÝÀs */
+	/* プロパティ値読み出し応答の書き込み実行 */
 	a_ret = _ecn_tsk_eoj_set_main(fp_obj, fa_eobjatr, fa_fromapp, true, fa_fbs_id, a_fbs_dmy,
 		fa_fbs_anno, a_count, &a_sw_ok);
@@ -1812,5 +1806,5 @@
 
 lb_except:
-	/* f[^M¸sµ½çÌæðú */
+	/* データ送信失敗したら領域解放 */
 	if (a_fbs_dmy.ptr)
 		_ecn_fbs_del(a_fbs_dmy);
@@ -1821,10 +1815,10 @@
 
 /*
- * d¶Ò¿ÌèÝd¶ì¬
+ * 応答電文待ちの割り込み電文作成
  */
 ER _ecn_mk_brk_wai(ECN_FBS_ID *pk_fbs_id, const void *p_dat, size_t fa_size)
 {
 	ER				a_ret;
-	ECN_FBS_ID		a_fbs_id = { 0 };	/* vd¶p	*/
+	ECN_FBS_ID		a_fbs_id = { 0 };	/* 要求電文用メモリ	*/
 
 	if (!pk_fbs_id)
@@ -1832,16 +1826,16 @@
 	*pk_fbs_id = a_fbs_id;
 	if (sizeof(a_fbs_id.ptr->payload) <= fa_size)
-		return E_PAR; /* tf[^ªå«·¬é */
+		return E_PAR; /* 付随データが大きすぎる */
 	if (!p_dat && 0 < fa_size)
-		return E_PAR; /* tf[^TCYª1ÈãÈÌÉf[^|C^ªNULL */
-
-	/* vd¶pÌæ¾ */
+		return E_PAR; /* 付随データサイズが1以上なのにデータポインタがNULL */
+
+	/* 要求電文用メモリの取得 */
 	a_ret = _ecn_fbs_cre((0 < fa_size ? fa_size : 1), &a_fbs_id);
-	if (a_ret != E_OK || !a_fbs_id.ptr) { /* mÛ¸s */
+	if (a_ret != E_OK || !a_fbs_id.ptr) { /* 確保失敗 */
 		syslog(LOG_WARNING, "_ecn_fbs_cre(%d) result = %d:%s", fa_size, a_ret, itron_strerror(a_ret));
 		return a_ret;
 	}
 
-	/* vd¶Ýè */
+	/* 要求電文設定 */
 	a_fbs_id.ptr->hdr.type = ECN_MSG_USER_BREAK;
 	a_fbs_id.ptr->hdr.sender.id = ENOD_API_ID;
@@ -1850,5 +1844,5 @@
 
 	if (0 < fa_size && p_dat) {
-		/* tf[^ÇÁ */
+		/* 付随データ追加 */
 		a_ret = _ecn_fbs_add_data_ex(a_fbs_id, p_dat, fa_size);
 		if (a_ret) {
@@ -1862,9 +1856,9 @@
 	*pk_fbs_id = a_fbs_id;
 
-	/* ³íI¹ */
+	/* 正常終了 */
 	return a_ret;
 
 lb_except:
-	/* f[^ì¬¸sµ½çÌæðú */
+	/* データ作成失敗したら領域解放 */
 	if (a_fbs_id.ptr)
 		_ecn_fbs_del(a_fbs_id);
@@ -1873,5 +1867,5 @@
 }
 
-/* d¶pfbsÝè(sender/targetÌÝè) */
+/* 応答電文用fbs設定(sender/targetの設定) */
 ER _ecn_tsk_cre_req_fbs(ID sender, uint8_t cmd, ECN_FBS_ID *pk_req)
 {
@@ -1902,5 +1896,5 @@
 }
 
-/* d¶pfbsÝè(sender/targetÌÝè) */
+/* 応答電文用fbs設定(sender/targetの設定) */
 ER _ecn_tsk_cre_res_fbs(ECN_FBS_ID req, uint8_t cmd, ECN_FBS_ID *pk_res)
 {
Index: UsbWattMeter/trunk/ecnl_lwip/echonet_task.h
===================================================================
--- UsbWattMeter/trunk/ecnl_lwip/echonet_task.h	(revision 166)
+++ UsbWattMeter/trunk/ecnl_lwip/echonet_task.h	(revision 167)
@@ -4,36 +4,32 @@
  *  Copyright (C) 2014-2016 Cores Co., Ltd. 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$
@@ -41,5 +37,5 @@
 
 /*
- *		ECHONET Lite ^XN
+ *		ECHONET Lite タスク
  */
 
@@ -58,12 +54,12 @@
 
 /*
- *  ECHONET Lite ^XNÖAÌèÌftHglÌè`
+ *  ECHONET Lite タスク関連の定数のデフォルト値の定義
  */ 
 #ifndef ECHONET_TASK_PRIORITY
-#define ECHONET_TASK_PRIORITY	3		/* úDæx */
+#define ECHONET_TASK_PRIORITY	3		/* 初期優先度 */
 #endif /* ECHONET_TASK_PRIORITY */
 
 #ifndef ECHONET_TASK_STACK_SIZE
-#define ECHONET_TASK_STACK_SIZE	1024	/* X^bNÌæÌTCY */
+#define ECHONET_TASK_STACK_SIZE	1024	/* スタック領域のサイズ */
 #endif /* ECHONET_TASK_STACK_SIZE */
 
@@ -73,17 +69,17 @@
 
 /*
- *  ECHONET Lite ^XNÌ{Ì
+ *  ECHONET Lite タスクの本体
  */
 void echonet_task(intptr_t exinf);
 
-/* ECHONET Lite CX^XXgÌ1AiEX½èÅåm[h */
+/* ECHONET Lite インスタンスリストの1アナウンス当たり最大ノード数 */
 #define ECN_IST_LST_EOJ_MAX_CT (84)
 
-/* ECHONET LiteIuWFNgR[h x1,x2,x3(T_ECN_EOJ)ð24bit®ÉÏ· */
+/* ECHONET Liteオブジェクトコード x1,x2,x3(T_ECN_EOJ)を24bit整数に変換 */
 #define _ECN_EOJ2VALUE(s) (((s).eojx1 << 16) | ((s).eojx2 << 8) | (s).eojx3)
 
 enum ecn_epc_code
 {
-	ECN_EPC_INL_BCS		=	0xD5	/* CX^XXgÊmvpeB */
+	ECN_EPC_INL_BCS		=	0xD5	/* インスタンスリスト通知プロパティ */
 };
 
@@ -115,5 +111,5 @@
 
 /*
- * vd¶ì¬
+ * 要求電文作成
  */
 ER _ecn_tsk_mk_esv(ECN_FBS_ID *fp_fbs_id, ID fa_seoj, ID fa_deoj,
@@ -123,5 +119,5 @@
 
 /*
- * d¶Ò¿ÌèÝd¶ì¬
+ * 応答電文待ちの割り込み電文作成
  */
 ER _ecn_mk_brk_wai(ECN_FBS_ID *pk_fbs_id, const void *p_dat, size_t fa_size);
Index: UsbWattMeter/trunk/ecnl_lwip/echonet_udp_task.c
===================================================================
--- UsbWattMeter/trunk/ecnl_lwip/echonet_udp_task.c	(revision 166)
+++ UsbWattMeter/trunk/ecnl_lwip/echonet_udp_task.c	(revision 167)
@@ -4,36 +4,32 @@
  *  Copyright (C) 2014-2016 Cores Co., Ltd. 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$
@@ -41,5 +37,5 @@
 
 /*
- *		ECHONET Lite UDPÊM^XN
+ *		ECHONET Lite UDP通信処理タスク
  */
 #ifdef SUPPORT_INET4
@@ -107,5 +103,5 @@
 
 /*
- * óMµ½UDPf[^ðMAILBOXÉé
+ * 受信したUDPデータをMAILBOXに送る
  */
 ER _ecn_udp2mbx(ECN_FBS_ID fbs_id, const T_IPV4EP *dst);
@@ -117,6 +113,6 @@
 
 	t_esv = (const T_ECN_EDT_HDR	*)fbs_id.ptr->payload;
-	if (t_esv->ecn_hdr.ehd1 != ECN_EDH1_ECHONET_LITE	/* ECHONET LiteKi	*/
-		|| t_esv->ecn_hdr.ehd2 != ECN_EDH2_FORMAT_1			/* d¶`®1		*/) {
+	if (t_esv->ecn_hdr.ehd1 != ECN_EDH1_ECHONET_LITE	/* ECHONET Lite規格	*/
+		|| t_esv->ecn_hdr.ehd2 != ECN_EDH2_FORMAT_1			/* 電文形式1		*/) {
 		ECN_DBG_PUT("[UDP ECHO SRV] illegal type (0x%02X,0x%02X)", t_esv->ecn_hdr.ehd1, t_esv->ecn_hdr.ehd2);
 		return E_PAR;
@@ -131,5 +127,5 @@
 	fbs_id.ptr->hdr.sender.id = ENOD_NOT_MATCH_ID;
 
-	/* IPAhX©ç[gECHONETm[hÖÏ· */
+	/* IPアドレスからリモートECHONETノードへ変換 */
 	a_enod_id = udp_get_id((T_EDATA *)fbs_id.ptr, &dst->ipaddr, dst->portno);
 	if (a_enod_id < 0 || tnum_enodadr <= a_enod_id) {
@@ -138,10 +134,10 @@
 	}
 	else {
-	 /* M³ECHONETm[hðL^ */
+	 /* 送信元ECHONETノードを記録 */
 		fbs_id.ptr->hdr.sender.id = a_enod_id;
 	}
 	fbs_id.ptr->hdr.reply.id = fbs_id.ptr->hdr.sender.id;
 
-	/* echonet_taskÉé */
+	/* echonet_taskに送る */
 	a_ret = snd_mbx(ecn_svc_mailboxid, (T_MSG *)fbs_id.ptr);
 	if (a_ret != E_OK) {
@@ -156,5 +152,5 @@
 
 /*
- *  ECHONET UDPÊM^XN
+ *  ECHONET UDP通信処理タスク
  */
 void echonet_udp_task(intptr_t exinf)
@@ -215,5 +211,5 @@
 	}
 
-	/* bZ[W[v */
+	/* メッセージループ */
 	for (;;) {
 		a_prev = a_now;
@@ -237,5 +233,5 @@
 
 		if (a_ret == E_OK) {
-			/* Mf[^·ðæ¾ */
+			/* 送信データ長を取得 */
 			a_snd_len = _ecn_fbs_get_datalen(a_mdt.fbs_id);
 
@@ -260,5 +256,5 @@
 }
 
-/* d¶pfbsÝè(sender/targetÌÝè) */
+/* 応答電文用fbs設定(sender/targetの設定) */
 static ER _ecn_udp_cre_req_fbs(ID sender, uint8_t cmd, ECN_FBS_ID *pk_req)
 {
@@ -289,5 +285,5 @@
 }
 
-/* d¶pfbsÝè(sender/targetÌÝè) */
+/* 応答電文用fbs設定(sender/targetの設定) */
 static ER _ecn_udp_cre_res_fbs(ECN_FBS_ID req, uint8_t cmd, ECN_FBS_ID *pk_res)
 {
@@ -319,5 +315,5 @@
 
 /*
- *  àbZ[WóM
+ *  内部メッセージ受信処理
  */
 void _ecn_int_msg(ECN_FBS_ID fbs_id, ECN_FBS_SSIZE_T a_snd_len)
@@ -338,5 +334,5 @@
 
 	switch (cmd) {
-	// IPAhXðÔM
+	// IPアドレスを返信
 	case ECN_UDP_MSG_GET_IPADDR_REQ:
 		if (a_snd_len < sizeof(msg)) {
@@ -418,5 +414,5 @@
 
 /*
- *  ECHONET d¶óM
+ *  ECHONET 電文受信処理
  */
 void _ecn_esv_msg(ECN_FBS_ID fbs_id)
@@ -429,8 +425,8 @@
 	IP4_ADDR(&a_dst.ipaddr, 0, 0, 0, 0);
 	a_dst.portno = 0;
-	/* MæIPAhX */
+	/* 送信先IPアドレス */
 	a_ret = udp_get_ip(&a_dst, fbs_id.ptr->hdr.target.id);
 	if (!a_ret) {
-		ECN_DBG_PUT("[UDP TSK] echonet-node 0x%02X-0x%02X-0x%02X ¨ udp dest(%s)",
+		ECN_DBG_PUT("[UDP TSK] echonet-node 0x%02X-0x%02X-0x%02X → udp dest(%s)",
 			((T_EDATA *)fbs_id.ptr)->hdr.edata.deoj.eojx1,
 			((T_EDATA *)fbs_id.ptr)->hdr.edata.deoj.eojx2,
@@ -439,6 +435,6 @@
 
 		if (ip_addr_cmp(&a_dst.ipaddr, &localhost)) {
-			/* Mæª127.0.0.1 ¨ mbxÉ] */
-			ECN_DBG_PUT("redirect ecn_udp_mailboxid ¨ ecn_svc_mailboxid (esv:0x%02X)",
+			/* 送信先が127.0.0.1 → mbxに転送 */
+			ECN_DBG_PUT("redirect ecn_udp_mailboxid → ecn_svc_mailboxid (esv:0x%02X)",
 				((T_EDATA *)fbs_id.ptr)->hdr.edata.esv);
 
@@ -460,5 +456,5 @@
 			}
 
-			/* fbs©çoÍÌæÉf[^ðo */
+			/* fbsから出力領域にデータを抽出 */
 			a_snd_len = 0;
 			for (q = p; q != NULL; q = q->next) {
@@ -473,5 +469,5 @@
 			}
 
-			/* UDPM */
+			/* UDP送信 */
 			a_ret = udp_sendto(UDP_CEPID, p, &a_dst.ipaddr, 3610);
 			if (a_ret < 0) {
@@ -481,5 +477,5 @@
 		}
 
-		/* f[^ª··¬Ä1pPbgÉûÜçÈ©Á½ê */
+		/* データが長すぎて1パケットに収まらなかった場合 */
 		if (_ecn_fbs_exist_data(fbs_id)) {
 			ECN_DBG_PUT("[UDP TSK] send, data so long: %dbyte(s)", _ecn_fbs_get_datalen(fbs_id));
@@ -495,5 +491,5 @@
 
 /*
- *  mubLOR[ÌR[obNÖ
+ *  ノンブロッキングコールのコールバック関数
  */
 static void
@@ -525,6 +521,6 @@
 
 	t_esv = (const T_ECN_EDT_HDR *)a_fbs_id.ptr->payload;
-	if (t_esv->ecn_hdr.ehd1 != ECN_EDH1_ECHONET_LITE	/* ECHONET LiteKi	*/
-		|| t_esv->ecn_hdr.ehd2 != ECN_EDH2_FORMAT_1			/* d¶`®1		*/) {
+	if (t_esv->ecn_hdr.ehd1 != ECN_EDH1_ECHONET_LITE	/* ECHONET Lite規格	*/
+		|| t_esv->ecn_hdr.ehd2 != ECN_EDH2_FORMAT_1			/* 電文形式1		*/) {
 		ECN_DBG_PUT("[UDP ECHO SRV] illegal type (0x%02X,0x%02X)", t_esv->ecn_hdr.ehd1, t_esv->ecn_hdr.ehd2);
 		goto lb_except;
@@ -539,5 +535,5 @@
 	a_fbs_id.ptr->hdr.sender.id = ENOD_NOT_MATCH_ID;
 
-	/* IPAhX©ç[gECHONETm[hÖÏ· */
+	/* IPアドレスからリモートECHONETノードへ変換 */
 	a_enod_id = udp_get_id((T_EDATA *)a_fbs_id.ptr, addr, port);
 	if (a_enod_id < 0 || tnum_enodadr <= a_enod_id) {
@@ -546,10 +542,10 @@
 	}
 	else {
-		/* M³ECHONETm[hðL^ */
+		/* 送信元ECHONETノードを記録 */
 		a_fbs_id.ptr->hdr.sender.id = a_enod_id;
 	}
 	a_fbs_id.ptr->hdr.reply.id = a_fbs_id.ptr->hdr.sender.id;
 
-	/* echonet_taskÉé */
+	/* echonet_taskに送る */
 	a_ret = snd_mbx(ecn_svc_mailboxid, (T_MSG *)a_fbs_id.ptr);
 	if (a_ret != E_OK) {
@@ -564,5 +560,5 @@
 
 /*
- *  [gECHONETm[hÌKmF
+ *  リモートECHONETノードの適合確認
  */
 bool_t is_match(const EOBJCB *enodcb, T_EDATA *edata, const void *_ipaddr, uint16_t portno)
@@ -582,5 +578,5 @@
 		return false;
 
-	/* m[hX^[gCX^XXgÊmÈOÍO */
+	/* ノードスタート時インスタンスリスト通知以外は除外 */
 	if (edata->hdr.edata.esv != ESV_INF
 		|| edata->hdr.edata.deoj.eojx1 != EOJ_X1_PROFILE
@@ -604,17 +600,17 @@
 		}
 		ECN_DBG_PUT("is_match(): ecn_itr_nxt() result: epc=0x%02X, pdc=%d", epc, pdc);
-		/* CX^XXgÊmÜ½Í©m[hCX^XXgrÈOÍO */
+		/* インスタンスリスト通知または自ノードインスタンスリストＳ以外は除外 */
 		if ((epc != 0xD5) && (epc != 0xD6)) {
 			continue;
 		}
 
-		/* QoCgÚÈ~Éeojªñ³êÄ¢é */
+		/* ２バイト目以降にeojが列挙されている */
 		count = (pdc - 1) / sizeof(T_ECN_EOJ);
 
-		/* m[hàÌ@íIuWFNgðõ */
+		/* ノード内の機器オブジェクトを検索 */
 		for (k = 0; k < enodcb->eobjcnt; k++) {
 			p_eobj = enodcb->eobjs[k];
 
-			/* CX^XXgðmF */
+			/* インスタンスリストを確認 */
 			match = false;
 			for (i = 0, j = 1; i < count; i++, j += sizeof(T_ECN_EOJ)) {
@@ -634,5 +630,5 @@
 		}
 
-		/* ·×ÄµÁÄ¢½çKiCX^XXgÌûª½­Äà¢¢±ÆÆ·éj */
+		/* すべて揃っていたら適合（インスタンスリストの方が多くてもいいこととする） */
 		return true;
 	}
@@ -642,5 +638,5 @@
 
 /*
- *  IPAhX©ç[gECHONETm[hÖÏ·
+ *  IPアドレスからリモートECHONETノードへ変換
  */
 ECN_ENOD_ID udp_get_id(T_EDATA *edata, const ip_addr_t *ipaddr, uint16_t portno)
@@ -654,5 +650,5 @@
 		return ENOD_MULTICAST_ID;
 
-	/* IPAhXÌ¯¶àÌðõ */
+	/* IPアドレスの同じものを検索 */
 	for (i = 0, ea = enodadrb_table; i < tnum_enodadr; i++, ea++) {
 		if (!ea->inuse)
@@ -666,5 +662,5 @@
 	}
 
-	/* Î·é[gm[hðõ */
+	/* 対応するリモートノードを検索 */
 	for (i = ENOD_REMOTE_ID, ea = &enodadrb_table[ENOD_REMOTE_ID]; i < tnum_enodadr; i++, ea++) {
 		if (!ea->inuse)
@@ -677,5 +673,5 @@
 			continue;
 
-		/* Î·é[gm[hª êÎIPAhXðÝè */
+		/* 対応するリモートノードがあればIPアドレスを設定 */
 		*((ip_addr_t *)ea->ipaddr) = *ipaddr;
 
@@ -685,5 +681,5 @@
 	}
 
-	/* ó«ÌæðTµÄ©®o^ */
+	/* 空き領域を探して自動登録 */
 	for (i = ENOD_REMOTE_ID, ea = &enodadrb_table[ENOD_REMOTE_ID]; i < tnum_enodadr; i++, ea++) {
 		if (ea->inuse)
@@ -702,5 +698,5 @@
 
 /*
- *  [gECHONETm[h©çIPAhXÖÏ·
+ *  リモートECHONETノードからIPアドレスへ変換
  */
 int udp_get_ip(T_IPV4EP *fp_ipep, ECN_ENOD_ID fa_enodid)
@@ -714,5 +710,5 @@
 
 	if (fa_enodid == ENOD_MULTICAST_ID) {
-		/* targetªENOD_MULTICAST_IDÌêA}`LXgðs¤ */
+		/* targetがENOD_MULTICAST_IDの場合、マルチキャストを行う */
 		ip_addr_copy(fp_ipep->ipaddr, multicast);
 		return 0;	/* ok */
@@ -720,5 +716,5 @@
 
 	if (fa_enodid < ENOD_REMOTE_ID) {
-		/* targetª¢è`ELOCALEAPIÌêA[Jzðs¤ */
+		/* targetが未定義・LOCAL・APIの場合、ローカル配送を行う */
 		ip_addr_copy(fp_ipep->ipaddr, localhost);
 		return 0;	/* ok */
Index: UsbWattMeter/trunk/ecnl_lwip/echonet_udp_task.h
===================================================================
--- UsbWattMeter/trunk/ecnl_lwip/echonet_udp_task.h	(revision 166)
+++ UsbWattMeter/trunk/ecnl_lwip/echonet_udp_task.h	(revision 167)
@@ -4,36 +4,32 @@
  *  Copyright (C) 2014-2016 Cores Co., Ltd. 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$
@@ -41,5 +37,5 @@
 
 /*
- *		ECHONET Lite ^XN
+ *		ECHONET Lite タスク
  */
 
@@ -56,5 +52,5 @@
 
 /*
- *  ECHONET Lite êÄ¯ñAhX
+ *  ECHONET Lite 一斉同報アドレス
  */
 #ifdef SIL_ENDIAN_LITTLE
@@ -65,12 +61,12 @@
 
 /*
- *  ECHONET Lite ^XNÖAÌèÌftHglÌè`
+ *  ECHONET Lite タスク関連の定数のデフォルト値の定義
  */
 #ifndef ECHONET_UDP_TASK_PRIORITY
-#define ECHONET_UDP_TASK_PRIORITY	3		/* úDæx */
+#define ECHONET_UDP_TASK_PRIORITY	3		/* 初期優先度 */
 #endif /* ECHONET_UDP_TASK_PRIORITY */
 
 #ifndef ECHONET_UDP_TASK_STACK_SIZE
-#define ECHONET_UDP_TASK_STACK_SIZE	1024	/* X^bNÌæÌTCY */
+#define ECHONET_UDP_TASK_STACK_SIZE	1024	/* スタック領域のサイズ */
 #endif /* ECHONET_UDP_TASK_STACK_SIZE */
 
@@ -80,14 +76,14 @@
 
 /*
- *  ECHONET Lite ^XNÌ{Ì
+ *  ECHONET Lite タスクの本体
  */
 void echonet_udp_task(intptr_t exinf);
 
 /*
- *  [gECHONETm[hÌKmF
+ *  リモートECHONETノードの適合確認
  */
 bool_t is_match(const EOBJCB *eobjcb, T_EDATA *edata, const void *_ipaddr, uint16_t portno);
 
-/* IPAhXð¶ñÉÏ· */
+/* IPアドレスを文字列に変換 */
 char *ipaddr2str(char *buf, int bubsz, uint8_t *ipaddr);
 
Index: UsbWattMeter/trunk/ecnl_lwip/fbs_string.c
===================================================================
--- UsbWattMeter/trunk/ecnl_lwip/fbs_string.c	(revision 166)
+++ UsbWattMeter/trunk/ecnl_lwip/fbs_string.c	(revision 167)
@@ -9,36 +9,32 @@
  *  Copyright (C) 2015 Cores Co., Ltd. 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$
@@ -51,8 +47,8 @@
 
 /*
- *  lð¶ñÉÏ·
+ *  数値を文字列に変換
  */
 #define CONVERT_BUFLEN	((sizeof(uintptr_t) * CHAR_BIT + 2) / 3)
-										/* uintptr_t^ÌlÌÅå¶ */
+										/* uintptr_t型の数値の最大文字数 */
 static ER
 convert(ECN_FBS_ID fbs, ECN_FBS_SSIZE_T *pos, uintptr_t val, uint_t radix, const char *radchar,
@@ -100,5 +96,5 @@
 
 /*
- *  ¶ñ®`oÍ
+ *  文字列整形出力
  */
 static const char raddec[] = "0123456789";
Index: UsbWattMeter/trunk/ecnl_lwip/fbs_string.h
===================================================================
--- UsbWattMeter/trunk/ecnl_lwip/fbs_string.h	(revision 166)
+++ UsbWattMeter/trunk/ecnl_lwip/fbs_string.h	(revision 167)
@@ -4,36 +4,32 @@
  *  Copyright (C) 2015 Cores Co., Ltd. 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$
Index: UsbWattMeter/trunk/fatfs/mmc_rspi.c
===================================================================
--- UsbWattMeter/trunk/fatfs/mmc_rspi.c	(revision 166)
+++ UsbWattMeter/trunk/fatfs/mmc_rspi.c	(revision 167)
@@ -60,7 +60,7 @@
 	/* SPIMISO=PULLUP */
 	sil_wrb_mem(PORTC_PCR_ADDR, sil_reb_mem(PORTC_PDR_ADDR) | PORT_PDR_B7_BIT);
-	/* CMOSðIð */
+	/* CMOSを選択 */
 	sil_wrb_mem(PORTC_ODR0_ADDR, 0x00);
-	/* CMOSðIð */
+	/* CMOSを選択 */
 	sil_wrb_mem(PORTC_ODR1_ADDR, 0x00);
 }
@@ -73,35 +73,34 @@
 {
 	/*
-	 * W
-[Xgbv@\ÌÝè(RSPI0)
+	 * モジュールストップ機能の設定(RSPI0)
 	 */
-	sil_wrh_mem(SYSTEM_PRCR_ADDR, (uint16_t)0xA502);	/* ÝÂ */
+	sil_wrh_mem(SYSTEM_PRCR_ADDR, (uint16_t)0xA502);	/* 書込み許可 */
 	sil_wrw_mem(SYSTEM_MSTPCRB_ADDR,
 		sil_rew_mem(SYSTEM_MSTPCRB_ADDR) & ~SYSTEM_MSTPCRB_MSTPB17_BIT);
-	sil_wrh_mem(SYSTEM_PRCR_ADDR, (uint16_t)0xA500);	/* ÝÖ~ */
-
-	/* P15ðGPIOÆµÄgp */
+	sil_wrh_mem(SYSTEM_PRCR_ADDR, (uint16_t)0xA500);	/* 書込み禁止 */
+
+	/* P15をGPIOとして使用 */
 	sil_wrb_mem(PORT1_PMR_ADDR,
 		sil_reb_mem(PORT1_PMR_ADDR) & ~PORT_PMR_B5_BIT);
-	/* PC0ðGPIOÆµÄgp */
+	/* PC0をGPIOとして使用 */
 	sil_wrb_mem(PORTC_PMR_ADDR,
 		sil_reb_mem(PORTC_PMR_ADDR) & ~PORT_PMR_B0_BIT);
-	/* PC5, PC6, PC7ðüÓ@\ÆµÄgp */
+	/* PC5, PC6, PC7を周辺機能として使用 */
 	sil_wrb_mem(PORTC_PMR_ADDR,
 		sil_reb_mem(PORTC_PMR_ADDR) | PORT_PMR_B5_BIT | PORT_PMR_B6_BIT | PORT_PMR_B7_BIT);
 
-	/* «ÝveNgWX^ÌÝè PFSWErbgÖÌ«ÝðÂ */
+	/* 書き込みプロテクトレジスタの設定 PFSWEビットへの書き込みを許可 */
 	sil_wrb_mem(MPC_PWPR_ADDR, 0x00);
-	/* «ÝveNgWX^ÌÝè PxxFSWX^ÖÌ«ÝðÂ */
+	/* 書き込みプロテクトレジスタの設定 PxxFSレジスタへの書き込みを許可 */
 	sil_wrb_mem(MPC_PWPR_ADDR, 0x40);
 
-	/* RSPCKAðIð */
+	/* RSPCKAを選択 */
 	sil_wrb_mem(MPC_PC5PFS_ADDR, 0x0d);
-	/* MOSIAðIð */
+	/* MOSIAを選択 */
 	sil_wrb_mem(MPC_PC6PFS_ADDR, 0x0d);
-	/* MISOAðIð */
+	/* MISOAを選択 */
 	sil_wrb_mem(MPC_PC7PFS_ADDR, 0x0d);
 
-	/* «ÝveNgWX^ÌÝè «ÝðÖ~ */
+	/* 書き込みプロテクトレジスタの設定 書き込みを禁止 */
 	sil_wrb_mem(MPC_PWPR_ADDR, 0x80);
 }
@@ -109,10 +108,10 @@
 static void FCLK_FAST()
 {
-	/* RSPI@\ð³ø» */
+	/* RSPI機能を無効化 */
 	sil_wrb_mem(RSPI0_SPCR_ADDR,
 		sil_reb_mem(RSPI0_SPCR_ADDR) & ~RSPI_SPCR_SPE_BIT);
-	/* rbg[gÝè */
+	/* ビットレート設定 */
 	sil_wrb_mem(RSPI0_SPBR_ADDR, F_PCLK / 2 / SCLK_FAST - 1);
-	/* RSPI@\ðLø» */
+	/* RSPI機能を有効化 */
 	sil_wrb_mem(RSPI0_SPCR_ADDR,
 		sil_reb_mem(RSPI0_SPCR_ADDR) | RSPI_SPCR_SPE_BIT);
Index: UsbWattMeter/trunk/fatfs/mmc_rspi.cfg
===================================================================
--- UsbWattMeter/trunk/fatfs/mmc_rspi.cfg	(revision 166)
+++ UsbWattMeter/trunk/fatfs/mmc_rspi.cfg	(revision 167)
@@ -4,36 +4,32 @@
  *  Copyright (C) 2016 Cores Co., Ltd. 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$
@@ -42,5 +38,5 @@
 #include "mmc_rspi.h"
 
-/* èÝnh */
+/* 割り込みハンドラ */
 
 DEF_INH(INHNO_MMC_RSPI_SPRI, { TA_HLNG, mmc_rspi_spri_handler });
Index: UsbWattMeter/trunk/fatfs/mmc_rspi.h
===================================================================
--- UsbWattMeter/trunk/fatfs/mmc_rspi.h	(revision 166)
+++ UsbWattMeter/trunk/fatfs/mmc_rspi.h	(revision 167)
@@ -4,36 +4,32 @@
  *  Copyright (C) 2016 Cores Co., Ltd. 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$
@@ -45,18 +41,18 @@
 #include "t_stddef.h"
 
-#define INHNO_MMC_RSPI_SPRI		INT_RSPI0_SPRI0	/* óMèÝ */
-#define INTNO_MMC_RSPI_SPRI		INT_RSPI0_SPRI0	/* óMèÝ */
-#define INTATR_MMC_RSPI_SPRI	(TA_NULL)		/* Ý®«	*/
-#define INTPRI_MMC_RSPI_SPRI	(-1)			/* ÝDæx	*/
+#define INHNO_MMC_RSPI_SPRI		INT_RSPI0_SPRI0	/* 受信割り込み */
+#define INTNO_MMC_RSPI_SPRI		INT_RSPI0_SPRI0	/* 受信割り込み */
+#define INTATR_MMC_RSPI_SPRI	(TA_NULL)		/* 割込み属性	*/
+#define INTPRI_MMC_RSPI_SPRI	(-1)			/* 割込み優先度	*/
 
-#define INHNO_MMC_RSPI_SPTI		INT_RSPI0_SPTI0	/* MèÝ */
-#define INTNO_MMC_RSPI_SPTI		INT_RSPI0_SPTI0	/* MèÝ */
-#define INTATR_MMC_RSPI_SPTI	(TA_NULL)		/* Ý®«	*/
-#define INTPRI_MMC_RSPI_SPTI	(-1)			/* ÝDæx	*/
+#define INHNO_MMC_RSPI_SPTI		INT_RSPI0_SPTI0	/* 送信割り込み */
+#define INTNO_MMC_RSPI_SPTI		INT_RSPI0_SPTI0	/* 送信割り込み */
+#define INTATR_MMC_RSPI_SPTI	(TA_NULL)		/* 割込み属性	*/
+#define INTPRI_MMC_RSPI_SPTI	(-1)			/* 割込み優先度	*/
 
-#define INHNO_MMC_RSPI_SPII		INT_RSPI0_SPII0	/* AChèÝ */
-#define INTNO_MMC_RSPI_SPII		INT_RSPI0_SPII0	/* AChèÝ */
-#define INTATR_MMC_RSPI_SPII	(TA_NULL)		/* Ý®«	*/
-#define INTPRI_MMC_RSPI_SPII	(-1)			/* ÝDæx	*/
+#define INHNO_MMC_RSPI_SPII		INT_RSPI0_SPII0	/* アイドル割り込み */
+#define INTNO_MMC_RSPI_SPII		INT_RSPI0_SPII0	/* アイドル割り込み */
+#define INTATR_MMC_RSPI_SPII	(TA_NULL)		/* 割込み属性	*/
+#define INTPRI_MMC_RSPI_SPII	(-1)			/* 割込み優先度	*/
 
 extern void mmc_rspi_spri_handler(void);
Index: UsbWattMeter/trunk/lwip-1.4.1/ports/asp_dcre/arch/sys_arch.h
===================================================================
--- UsbWattMeter/trunk/lwip-1.4.1/ports/asp_dcre/arch/sys_arch.h	(revision 166)
+++ UsbWattMeter/trunk/lwip-1.4.1/ports/asp_dcre/arch/sys_arch.h	(revision 167)
@@ -1,5 +1,5 @@
 /*
- * æ3ñ TOPPERSpACfAEAvP[VJ­ReXg
- * ¼Y õm³ñÌulwIP ÌÚAvðx[XÉµÜµ½B
+ * 第3回 TOPPERS活用アイデア・アプリケーション開発コンテスト
+ * 松浦 光洋さんの「lwIP の移植」をベースにしました。
  * http://www.toppers.jp/contest.html
  *
Index: UsbWattMeter/trunk/lwip-1.4.1/ports/asp_dcre/lwip_task.c
===================================================================
--- UsbWattMeter/trunk/lwip-1.4.1/ports/asp_dcre/lwip_task.c	(revision 166)
+++ UsbWattMeter/trunk/lwip-1.4.1/ports/asp_dcre/lwip_task.c	(revision 167)
@@ -4,36 +4,32 @@
  *  Copyright (C) 2016 Cores Co., Ltd. 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$
Index: UsbWattMeter/trunk/lwip-1.4.1/ports/asp_dcre/lwip_task.cfg
===================================================================
--- UsbWattMeter/trunk/lwip-1.4.1/ports/asp_dcre/lwip_task.cfg	(revision 166)
+++ UsbWattMeter/trunk/lwip-1.4.1/ports/asp_dcre/lwip_task.cfg	(revision 167)
@@ -4,36 +4,32 @@
  *  Copyright (C) 2016 Cores Co., Ltd. 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$
@@ -44,5 +40,5 @@
 
 /*
- * lwIP^XN
+ * lwIPタスク
  */
 CRE_TSK(LWIP_TASK,	{ TA_NULL, (intptr_t)&lwiptsk, lwip_task, LWIP_TASK_PRIORITY, LWIP_TASK_STACK_SIZE, NULL });
Index: UsbWattMeter/trunk/lwip-1.4.1/ports/asp_dcre/lwip_task.h
===================================================================
--- UsbWattMeter/trunk/lwip-1.4.1/ports/asp_dcre/lwip_task.h	(revision 166)
+++ UsbWattMeter/trunk/lwip-1.4.1/ports/asp_dcre/lwip_task.h	(revision 167)
@@ -4,36 +4,32 @@
  *  Copyright (C) 2016 Cores Co., Ltd. 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$
@@ -51,12 +47,12 @@
 
 /*
- *  uIP ^XNÖAÌèÌftHglÌè`
+ *  uIP タスク関連の定数のデフォルト値の定義
  */ 
 #ifndef LWIP_TASK_PRIORITY
-#define LWIP_TASK_PRIORITY	3		/* úDæx */
+#define LWIP_TASK_PRIORITY	3		/* 初期優先度 */
 #endif /* LWIP_TASK_PRIORITY */
 
 #ifndef LWIP_TASK_STACK_SIZE
-#define LWIP_TASK_STACK_SIZE	1024	/* X^bNÌæÌTCY */
+#define LWIP_TASK_STACK_SIZE	1024	/* スタック領域のサイズ */
 #endif /* LWIP_TASK_STACK_SIZE */
 
Index: UsbWattMeter/trunk/lwip-1.4.1/ports/asp_dcre/sys_arch.c
===================================================================
--- UsbWattMeter/trunk/lwip-1.4.1/ports/asp_dcre/sys_arch.c	(revision 166)
+++ UsbWattMeter/trunk/lwip-1.4.1/ports/asp_dcre/sys_arch.c	(revision 167)
@@ -1,5 +1,5 @@
 /*
- * æ3ñ TOPPERSpACfAEAvP[VJ­ReXg
- * ¼Y õm³ñÌulwIP ÌÚAvðx[XÉµÜµ½B
+ * 第3回 TOPPERS活用アイデア・アプリケーション開発コンテスト
+ * 松浦 光洋さんの「lwIP の移植」をベースにしました。
  * http://www.toppers.jp/contest.html
  *
Index: UsbWattMeter/trunk/lwip-1.4.1/ports/grsakura/ether_phy.c
===================================================================
--- UsbWattMeter/trunk/lwip-1.4.1/ports/grsakura/ether_phy.c	(revision 166)
+++ UsbWattMeter/trunk/lwip-1.4.1/ports/grsakura/ether_phy.c	(revision 167)
@@ -6,36 +6,32 @@
  *  Copyright (C) 2014 Cores Co., Ltd. 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$
@@ -98,12 +94,12 @@
 	switch(state){
 	case PHY_STATE_UNINIT:
-		/* PHYÌZbg */
+		/* PHYのリセット */
 		phy_write_reg(phy_addr, PHY_CONTROL_REGISTER, PHY_CONTROL_RESET);
 
-		/* 500msÒÂ */
-		/* tslp_tsk(500); svH */
+		/* 500ms待つ */
+		/* tslp_tsk(500); 不要？ */
 		/* continue; */
 	case PHY_STATE_RESETING:
-		/* Zbg®¹ÌmF */
+		/* リセット完了の確認 */
 		if((phy_read_reg(phy_addr, PHY_CONTROL_REGISTER) & PHY_CONTROL_RESET) != 0)
 			return PHY_STATE_RESETING;
@@ -129,5 +125,5 @@
 		if(reset < 2){
 #endif
-		/* N®¹ÌmF */
+		/* リンク完了の確認 */
 		if(!phy_is_link(phy_addr))
 			return PHY_STATE_RESET;
@@ -136,10 +132,10 @@
 		reset = 0;
 #endif
-		/* I[glSVG[VÌ¨mç¹ðLøÉÝè */
+		/* オートネゴシエーションのお知らせを有効に設定 */
 		phy_write_reg(phy_addr, PHY_AN_ADVERTISEMENT_REGISTER, 
 			PHY_AN_AD_100BASE_T4 | PHY_AN_AD_100BASE_TX_FULL_DUPLEX | PHY_AN_AD_100BASE_TX_HALF_DUPLEX
 			| PHY_AN_AD_10BASE_T_FULL_DUPLEX | PHY_AN_AD_10BASE_T_HALF_DUPLEX | PHY_AN_AD_SELECTOR_FIELD);
 
-		/* I[glSVG[VðLøÉÝè */
+		/* オートネゴシエーションを有効に設定 */
 		phy_write_reg(phy_addr, PHY_CONTROL_REGISTER, PHY_CONTROL_SPEED_SELECT | PHY_CONTROL_A_N_ENABLE);
 
@@ -150,5 +146,5 @@
 		if(reset < 2){
 #endif
-		/* I[glSVG[V®¹ÌmF */
+		/* オートネゴシエーション完了の確認 */
 		if((phy_read_reg(phy_addr, PHY_STATUS_REGISTER) & PHY_STATUS_A_N_COMPLETE) == 0)
 			return PHY_STATE_LINKED;
@@ -173,5 +169,5 @@
 {
 #ifdef __RX
-	/* NÌmF */
+	/* リンクの確認 */
 	return (phy_read_reg(phy_addr, PHY_STATUS_REGISTER) & PHY_STATUS_LINK_STATUS) != 0;
 #else
@@ -185,17 +181,17 @@
 	int i;
 
-	/* PRE F32ÂÌA±µ½1b */
+	/* PRE ：32個の連続した1b */
 	for (i = 0; i < 32; i++)
 		phy_write_bit(true);
 
-	/* ST Ft[Ìæªð¦·01bÌCg */
-	phy_write_bit(false);
-	phy_write_bit(true);
-
-	/* OP FANZXíÊð¦·R[hÌCg */
-	phy_write_bit(true);
-	phy_write_bit(false);
-
-	/* PHYAD FPHY-LSIÌAhXª1ÔÌêA00001bðCgiMSB ©çCgjB */
+	/* ST ：フレームの先頭を示す01bのライト */
+	phy_write_bit(false);
+	phy_write_bit(true);
+
+	/* OP ：アクセス種別を示すコードのライト */
+	phy_write_bit(true);
+	phy_write_bit(false);
+
+	/* PHYAD ：PHY-LSIのアドレスが1番の場合、00001bをライト（MSB から順次ライト）。 */
 	phy_write_bit((phy_addr & 0x10) != 0);
 	phy_write_bit((phy_addr & 0x08) != 0);
@@ -204,5 +200,5 @@
 	phy_write_bit((phy_addr & 0x01) != 0);
 
-	/* REGAD FWX^AhXª1ÔÌêA00001bðCgiMSB©çCgjB */
+	/* REGAD ：レジスタアドレスが1番の場合、00001bをライト（MSBから順次ライト）。 */
 	phy_write_bit((reg_addr & 0x10) != 0);
 	phy_write_bit((reg_addr & 0x08) != 0);
@@ -211,9 +207,9 @@
 	phy_write_bit((reg_addr & 0x01) != 0);
 
-	/* TA FMII/RMIIC^tF[XãÅf[^ÌM³ðØèÖ¦éÔ */
-	/* uoXðúviZ0Æ\Ljðs¤ */
+	/* TA ：MII/RMIIインタフェース上でデータの送信元を切り替える時間 */
+	/* 「バス解放」（Z0と表記）を行う */
 	phy_release_bus();
 
-	/* DATA F16rbgÌf[^BMSB©ç[h */
+	/* DATA ：16ビットのデータ。MSBから順次リード */
 	for (bit = 0x8000; bit != 0; bit >>= 1) {
 		if(phy_read_bit())
@@ -221,6 +217,6 @@
 	}
 
-	/* IDLE FÌMIIÇtH[}bgüÍÜÅÌÒ@Ô */
-	/* ·ÅÉTAÉoXðúÏÝÅ è§äsv */
+	/* IDLE ：次のMII管理フォーマット入力までの待機時間 */
+	/* すでにTA時にバス解放済みであり制御不要 */
 	phy_release_bus();
 
@@ -233,17 +229,17 @@
 	uint16_t bit;
 
-	/* PRE F32ÂÌA±µ½1b */
+	/* PRE ：32個の連続した1b */
 	for (i = 0; i < 32; i++)
 		phy_write_bit(true);
 
-	/* ST Ft[Ìæªð¦·01bÌCg */
-	phy_write_bit(false);
-	phy_write_bit(true);
-
-	/* OP FANZXíÊð¦·R[hÌCg */
-	phy_write_bit(false);
-	phy_write_bit(true);
-
-	/* PHYAD FPHY-LSIÌAhXª1ÔÌêA00001bðCgiMSB ©çCgjB */
+	/* ST ：フレームの先頭を示す01bのライト */
+	phy_write_bit(false);
+	phy_write_bit(true);
+
+	/* OP ：アクセス種別を示すコードのライト */
+	phy_write_bit(false);
+	phy_write_bit(true);
+
+	/* PHYAD ：PHY-LSIのアドレスが1番の場合、00001bをライト（MSB から順次ライト）。 */
 	phy_write_bit((phy_addr & 0x10) != 0);
 	phy_write_bit((phy_addr & 0x08) != 0);
@@ -252,5 +248,5 @@
 	phy_write_bit((phy_addr & 0x01) != 0);
 
-	/* REGAD FWX^AhXª1ÔÌêA00001bðCgiMSB©çCgjB */
+	/* REGAD ：レジスタアドレスが1番の場合、00001bをライト（MSBから順次ライト）。 */
 	phy_write_bit((reg_addr & 0x10) != 0);
 	phy_write_bit((reg_addr & 0x08) != 0);
@@ -259,16 +255,16 @@
 	phy_write_bit((reg_addr & 0x01) != 0);
 
-	/* TA FMII/RMIIC^tF[XãÅf[^ÌM³ðØèÖ¦éÔ */
-	/* 10bðCg */
-	phy_write_bit(true);
-	phy_write_bit(false);
-
-	/* DATA F16rbgÌf[^BMSB©çCg */
+	/* TA ：MII/RMIIインタフェース上でデータの送信元を切り替える時間 */
+	/* 10bをライト */
+	phy_write_bit(true);
+	phy_write_bit(false);
+
+	/* DATA ：16ビットのデータ。MSBから順次ライト */
 	for (bit = 0x8000; bit != 0; bit >>= 1) {
 		phy_write_bit((reg_data & bit) != 0);
 	}
 
-	/* IDLE FÌMIIÇtH[}bgüÍÜÅÌÒ@Ô */
-	/* uPÆoXðúviXÆ\Ljðs¤ */
+	/* IDLE ：次のMII管理フォーマット入力までの待機時間 */
+	/* 「単独バス解放」（Xと表記）を行う */
 	phy_single_rel_bus();
 }
@@ -277,5 +273,5 @@
 
 /*
- * 1 rbgf[^ÌCg
+ * 1 ビットデータのライト
  */
 static void phy_write_bit(bool_t bit)
@@ -284,15 +280,15 @@
 	uint32_t data = bit ? ETHERC_PIR_MDO : 0;
 
-	/* PHYC^tF[XWX^ÖÌCg */
+	/* PHY部インタフェースレジスタへのライト */
 	sil_wrw_mem(ETHERC_PIR, data | ETHERC_PIR_MMD | 0/*ETHERC_PIR_MDC*/);
 
 	for(i = ETHERC_PIR_WAIT; i > 0; i--);
 
-	/* PHYC^tF[XWX^ÖÌCg */
+	/* PHY部インタフェースレジスタへのライト */
 	sil_wrw_mem(ETHERC_PIR, data | ETHERC_PIR_MMD | ETHERC_PIR_MDC);
 
 	for(i = 2 * ETHERC_PIR_WAIT; i > 0; i--);
 
-	/* PHYC^tF[XWX^ÖÌCg */
+	/* PHY部インタフェースレジスタへのライト */
 	sil_wrw_mem(ETHERC_PIR, data | ETHERC_PIR_MMD | 0/*ETHERC_PIR_MDC*/);
 
@@ -301,5 +297,5 @@
 
 /*
- * oXðú
+ * バス解放
  */
 static void phy_release_bus()
@@ -307,15 +303,15 @@
 	int i;
 
-	/* PHYC^tF[XWX^ÖÌCg */
+	/* PHY部インタフェースレジスタへのライト */
 	sil_wrw_mem(ETHERC_PIR, 0/*ETHERC_PIR_MMD*/ | 0/*ETHERC_PIR_MDC*/);
 
 	for(i = ETHERC_PIR_WAIT; i > 0; i--);
 
-	/* PHYC^tF[XWX^ÖÌCg */
+	/* PHY部インタフェースレジスタへのライト */
 	sil_wrw_mem(ETHERC_PIR, 0/*ETHERC_PIR_MMD*/ | ETHERC_PIR_MDC);
 
 	for(i = 2 * ETHERC_PIR_WAIT; i > 0; i--);
 
-	/* PHYC^tF[XWX^ÖÌCg */
+	/* PHY部インタフェースレジスタへのライト */
 	sil_wrw_mem(ETHERC_PIR, 0/*ETHERC_PIR_MMD*/ | 0/*ETHERC_PIR_MDC*/);
 
@@ -324,5 +320,5 @@
 
 /*
- * 1 rbgf[^Ì[h
+ * 1 ビットデータのリード
  */
 static bool_t phy_read_bit()
@@ -333,15 +329,15 @@
 	for(i = ETHERC_PIR_WAIT; i > 0; i--);
 
-	/* PHYC^tF[XWX^ÖÌCg */
+	/* PHY部インタフェースレジスタへのライト */
 	sil_wrw_mem(ETHERC_PIR, 0/*ETHERC_PIR_MMD*/ | ETHERC_PIR_MDC);
 
 	for(i = ETHERC_PIR_WAIT; i > 0; i--);
 
-	/* PHYC^tF[XWX^ÖÌCg */
+	/* PHY部インタフェースレジスタへのライト */
 	bit = (sil_rew_mem(ETHERC_PIR) & ETHERC_PIR_MDI) != 0;
 
 	for(i = ETHERC_PIR_WAIT; i > 0; i--);
 
-	/* PHYC^tF[XWX^ÖÌCg */
+	/* PHY部インタフェースレジスタへのライト */
 	sil_wrw_mem(ETHERC_PIR, 0/*ETHERC_PIR_MMD*/ | 0/*ETHERC_PIR_MDC*/);
 
@@ -352,5 +348,5 @@
 
 /*
- * PÆoXðú
+ * 単独バス解放
  */
 static void phy_single_rel_bus()
@@ -360,10 +356,10 @@
 	for(i = ETHERC_PIR_WAIT; i > 0; i--);
 
-	/* PHYC^tF[XWX^ÖÌCg */
+	/* PHY部インタフェースレジスタへのライト */
 	sil_wrw_mem(ETHERC_PIR, ETHERC_PIR_MMD | ETHERC_PIR_MDC);
 
 	for(i = 2 * ETHERC_PIR_WAIT; i > 0; i--);
 
-	/* PHYC^tF[XWX^ÖÌCg */
+	/* PHY部インタフェースレジスタへのライト */
 	sil_wrw_mem(ETHERC_PIR, 0/*ETHERC_PIR_MMD*/ | 0/*ETHERC_PIR_MDC*/);
 
Index: UsbWattMeter/trunk/lwip-1.4.1/ports/grsakura/ether_phy.h
===================================================================
--- UsbWattMeter/trunk/lwip-1.4.1/ports/grsakura/ether_phy.h	(revision 166)
+++ UsbWattMeter/trunk/lwip-1.4.1/ports/grsakura/ether_phy.h	(revision 167)
@@ -6,36 +6,32 @@
  *  Copyright (C) 2014 Cores Co., Ltd. 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$
Index: UsbWattMeter/trunk/lwip-1.4.1/ports/grsakura/if_rx62n.c
===================================================================
--- UsbWattMeter/trunk/lwip-1.4.1/ports/grsakura/if_rx62n.c	(revision 166)
+++ UsbWattMeter/trunk/lwip-1.4.1/ports/grsakura/if_rx62n.c	(revision 167)
@@ -118,5 +118,5 @@
 
 /*
- *  rx62n_bus_init -- ^[QbgË¶ÌoXÌú»
+ *  rx62n_bus_init -- ターゲット依存部のバスの初期化
  */
 
@@ -124,55 +124,55 @@
 rx62n_bus_init (void)
 {
-  /* C[TlbgERg[Ì®ìðÂ */
-  sil_wrh_mem((uint16_t *)SYSTEM_PRCR_ADDR, (uint16_t)0xA502);  /* ÝÂ */
+  /* イーサネット・コントローラの動作を許可 */
+  sil_wrh_mem((uint16_t *)SYSTEM_PRCR_ADDR, (uint16_t)0xA502);  /* 書込み許可 */
   sil_wrw_mem((uint32_t *)SYSTEM_MSTPCRB_ADDR,
     sil_rew_mem((uint32_t *)SYSTEM_MSTPCRB_ADDR) & ~SYSTEM_MSTPCRB_MSTPB15_BIT);
-  sil_wrh_mem((uint16_t *)SYSTEM_PRCR_ADDR, (uint16_t)0xA500);  /* ÝÖ~ */
-
-  /* EtherNETLø */
-  /* PA3`5 RMII_MDIO, RMII_MDC, RMII_LINKSTA */
+  sil_wrh_mem((uint16_t *)SYSTEM_PRCR_ADDR, (uint16_t)0xA500);  /* 書込み禁止 */
+
+  /* EtherNET有効 */
+  /* PA3〜5 RMII_MDIO, RMII_MDC, RMII_LINKSTA */
   sil_wrb_mem((uint8_t *)PORTA_PMR_ADDR,
     sil_reb_mem((uint8_t *)PORTA_PMR_ADDR) | (1 << 3) | (1 << 4) | (1 << 5));
-  /* PB0`7 RXD1, RXD0, REF50CK, RX-ER, TXD-EN, TXD0, TXD1, CRS */
+  /* PB0〜7 RXD1, RXD0, REF50CK, RX-ER, TXD-EN, TXD0, TXD1, CRS */
   sil_wrb_mem((uint8_t *)PORTB_PMR_ADDR,
     sil_reb_mem((uint8_t *)PORTB_PMR_ADDR) | 0xFF);
 
-  /* «ÝveNgWX^ÌÝè PFSWErbgÖÌ«ÝðÂ */
+  /* 書き込みプロテクトレジスタの設定 PFSWEビットへの書き込みを許可 */
   sil_wrb_mem((uint8_t *)(MPC_PWPR_ADDR) , 0x00);
-  /* «ÝveNgWX^ÌÝè PxxFSWX^ÖÌ«ÝðÂ */
+  /* 書き込みプロテクトレジスタの設定 PxxFSレジスタへの書き込みを許可 */
   sil_wrb_mem((uint8_t *)(MPC_PWPR_ADDR) , 0x40);
 
-  /* PA3ðET_MDIOÆ·é */
+  /* PA3をET_MDIOとする */
   sil_wrb_mem((uint8_t *)MPC_PA3PFS_ADDR, 0x11); 
-  /* PA4ðET_MDCÆ·é */
+  /* PA4をET_MDCとする */
   sil_wrb_mem((uint8_t *)MPC_PA4PFS_ADDR, 0x11); 
-  /* PA5ðET_LINKSTAÆ·é */
+  /* PA5をET_LINKSTAとする */
   sil_wrb_mem((uint8_t *)MPC_PA5PFS_ADDR, 0x11); 
 
-  /* PB0ðRXD1Æ·é */
+  /* PB0をRXD1とする */
   sil_wrb_mem((uint8_t *)MPC_PB0PFS_ADDR, 0x12);
-  /* PB1ðRXD0Æ·é */
+  /* PB1をRXD0とする */
   sil_wrb_mem((uint8_t *)MPC_PB1PFS_ADDR, 0x12);
-  /* PB2ðREF50CKÆ·é */
+  /* PB2をREF50CKとする */
   sil_wrb_mem((uint8_t *)MPC_PB2PFS_ADDR, 0x12);
-  /* PB3ðRX-ERÆ·é */
+  /* PB3をRX-ERとする */
   sil_wrb_mem((uint8_t *)MPC_PB3PFS_ADDR, 0x12);
-  /* PB4ðTXD-ENÆ·é */
+  /* PB4をTXD-ENとする */
   sil_wrb_mem((uint8_t *)MPC_PB4PFS_ADDR, 0x12);
-  /* PB5ðTXD0Æ·é */
+  /* PB5をTXD0とする */
   sil_wrb_mem((uint8_t *)MPC_PB5PFS_ADDR, 0x12);
-  /* PB6ðTXD1Æ·é */
+  /* PB6をTXD1とする */
   sil_wrb_mem((uint8_t *)MPC_PB6PFS_ADDR, 0x12);
-  /* PB7ðCRSÆ·é */
+  /* PB7をCRSとする */
   sil_wrb_mem((uint8_t *)MPC_PB7PFS_ADDR, 0x12);
 
-  /* «ÝveNgWX^ÌÝè «ÝðÖ~ */
+  /* 書き込みプロテクトレジスタの設定 書き込みを禁止 */
   sil_wrb_mem((uint8_t *)(MPC_PWPR_ADDR) , 0x80);
 }
 
 /*
- *  rx62n_init_sub -- lbg[NC^tF[XÌú»
- *
- *    Ó: NIC èÝÖ~óÔÅÄÑo·±ÆB
+ *  rx62n_init_sub -- ネットワークインタフェースの初期化
+ *
+ *    注意: NIC 割り込み禁止状態で呼び出すこと。
  */
 
@@ -183,5 +183,5 @@
   PHY_STATE_T state = PHY_STATE_UNINIT;
 
-  /* MAC\tgEGAEZbg */
+  /* MAC部ソフトウエア・リセット */
   sil_wrw_mem(EDMAC_EDMR, sil_rew_mem(EDMAC_EDMR) | EDMAC_EDMR_SWR_BIT);
 
@@ -194,5 +194,5 @@
     | (uint32_t)mac_addr[5]);
 
-  /* PHYZbg */
+  /* PHYリセット */
   while ((state = phy_reset(state, 0)) != PHY_STATE_RESET);
   ethernetif->state = state;
@@ -201,5 +201,5 @@
   sil_wrw_mem(ETHERC_ECSR, 0x00000037);
 
-  /* NÏ»èÝLø */
+  /* リンク変化割り込み有効 */
   sil_wrw_mem(ETHERC_ECSIPR, sil_rew_mem(ETHERC_ECSIPR) | ETHERC_ECSIPR_LCHNGIP);
 
@@ -207,11 +207,11 @@
   sil_wrw_mem(EDMAC_EESR, 0x47FF0F9F);
 
-  /* óMèÝLø */
+  /* 送受信割り込み有効 */
   sil_wrw_mem(EDMAC_EESIPR, (EDMAC_EESIPR_TCIP | EDMAC_EESIPR_FRIP | EDMAC_EESIPR_RDEIP | EDMAC_EESIPR_FROFIP));
 
-  /* óMt[·ãÀiobt@TCYj */
+  /* 受信フレーム長上限（バッファサイズ） */
   sil_wrw_mem(ETHERC_RFLR, IF_RX62N_BUF_PAGE_SIZE);
 
-  /* 96rbgÔiúlj */
+  /* 96ビット時間（初期値） */
   sil_wrw_mem(ETHERC_IPGR, 0x00000014);
 
@@ -232,5 +232,5 @@
   sil_wrw_mem(EDMAC_RMCR, 0x00000001);
 
-  /* PHYÌú»ð£· */
+  /* PHYの初期化を促す */
   ethernetif->link_pre = false;
   ethernetif->link_now = true;
@@ -270,5 +270,5 @@
   ER ret;
 
-  /* NIC ©çÌèÝðÖ~·éB*/
+  /* NIC からの割り込みを禁止する。*/
   ret = dis_int(INTNO_IF_RX62N_TRX);
   if (ret != E_OK)
@@ -299,5 +299,5 @@
   rdsc->rdle = 1;
 
-  /* rx62n_init {ÌðÄÑo·B*/
+  /* rx62n_init 本体を呼び出す。*/
   rx62n_init_sub(netif);
 
@@ -306,5 +306,5 @@
   }
 
-  /* NIC ©çÌèÝðÂ·éB*/
+  /* NIC からの割り込みを許可する。*/
   ret = ena_int(INTNO_IF_RX62N_TRX);
   if (ret != E_OK)
@@ -313,5 +313,5 @@
 
 /*
-*  rx62n_set_ecmr -- ECMRWX^ÌÝè
+*  rx62n_set_ecmr -- ECMRレジスタの設定
 */
 
@@ -328,5 +328,5 @@
     ecmr |= ETHERC_ECMR_RTM;
 
-  /* ®ì[hÝè */
+  /* 動作モード設定 */
   sil_wrw_mem(ETHERC_ECMR, ecmr);
 }
@@ -500,5 +500,5 @@
 
 /* 
- * rx62n_link -- NóÔÌÏ»ÉÎ·é
+ * rx62n_link -- リンク状態の変化に対する処理
  */
 bool_t
@@ -517,5 +517,5 @@
 	}
 
-	/* PHYÌú» */
+	/* PHYの初期化 */
 	ethernetif->state = phy_initialize(ethernetif->state, 0, &mode);
 	if(ethernetif->state != PHY_STATE_NEGOTIATED){
@@ -523,5 +523,5 @@
 	}
 
-	/* ECMRWX^ÌÝè */
+	/* ECMRレジスタの設定 */
 	rx62n_set_ecmr(netif, mode);
 	return true;
@@ -550,5 +550,5 @@
       bool_t cng = ethernetif->link_pre != ethernetif->link_now;
       ethernetif->link_pre = ethernetif->link_now;
-      /* NóÔÉÏ» è */
+      /* リンク状態に変化あり */
       if(cng){
         if (ethernetif->link_pre) {
@@ -657,5 +657,5 @@
 
 /*
-*  RX62N Ethernet Controler óMèÝnh
+*  RX62N Ethernet Controler 送受信割り込みハンドラ
 */
 
@@ -675,5 +675,5 @@
 
   if (ecsr & ETHERC_ECSR_LCHNG) {
-    /* ETHERCèÝvöNA */
+    /* ETHERC部割り込み要因クリア */
     sil_wrw_mem(ETHERC_ECSR, ETHERC_ECSR_LCHNG);
 
@@ -681,7 +681,7 @@
     ethernetif->link_now = (psr & ETHERC_PSR_LMON) != 0;
 
-    /* NóÔÉÏ» è */
+    /* リンク状態に変化あり */
     if (ethernetif->link_pre != ethernetif->link_now) {
-      /* óMèÝ */
+      /* 受信割り込み処理 */
       isig_sem(ethernetif->sem_rev);
     }
@@ -691,24 +691,24 @@
 
   if (eesr & EDMAC_EESR_FR) {
-    /* DMAèÝvöNA */
+    /* DMA部割り込み要因クリア */
     sil_wrw_mem(EDMAC_EESR, EDMAC_EESR_FR);
 
-    /* óMèÝ */
+    /* 受信割り込み処理 */
     isig_sem(ethernetif->sem_rev);
   }
   if (eesr & EDMAC_EESR_TC) {
-    /* DMAèÝvöNA */
+    /* DMA部割り込み要因クリア */
     sil_wrw_mem(EDMAC_EESR, EDMAC_EESR_TC);
 
-    /* MèÝ */
+    /* 送信割り込み処理 */
     isig_sem(ethernetif->sem_rev);
   }
   if (eesr & (EDMAC_EESR_FROF | EDMAC_EESR_RDE)) {
-    /* DMAèÝvöNA */
+    /* DMA部割り込み要因クリア */
     sil_wrw_mem(EDMAC_EESR, EDMAC_EESR_FROF | EDMAC_EESR_RDE);
 
     ethernetif->over_flow = true;
 
-    /* óMèÝ */
+    /* 受信割り込み処理 */
     isig_sem(ethernetif->sem_rev);
   }
Index: UsbWattMeter/trunk/lwip-1.4.1/ports/grsakura/if_rx62n.cfg
===================================================================
--- UsbWattMeter/trunk/lwip-1.4.1/ports/grsakura/if_rx62n.cfg	(revision 166)
+++ UsbWattMeter/trunk/lwip-1.4.1/ports/grsakura/if_rx62n.cfg	(revision 167)
@@ -6,36 +6,32 @@
  *  Copyright (C) 2014 Cores Co., Ltd. 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$
@@ -43,6 +39,5 @@
 
 /*
- *  if_rx62n RtBM
-[Vt@C
+ *  if_rx62n コンフィギュレーションファイル
  */
 
@@ -51,10 +46,10 @@
 #include "if_rx62n.h"
 
-/* èÝnh */
+/* 割り込みハンドラ */
 
 DEF_INH(INHNO_IF_RX62N_TRX, { TA_HLNG, if_rx62n_trx_handler });
 CFG_INT(INTNO_IF_RX62N_TRX, { INTATR_IF_RX62N_TRX, INTPRI_IF_RX62N_TRX });
 
-/* üoÍ¯úpZ}tH */
+/* 入出力同期用セマフォ */
 
 CRE_SEM(SEM_IF_RX62N_SBUF_READY,	{ TA_TPRI, NUM_IF_RX62N_TXBUF, NUM_IF_RX62N_TXBUF });
Index: UsbWattMeter/trunk/lwip-1.4.1/ports/grsakura/if_rx62n.h
===================================================================
--- UsbWattMeter/trunk/lwip-1.4.1/ports/grsakura/if_rx62n.h	(revision 166)
+++ UsbWattMeter/trunk/lwip-1.4.1/ports/grsakura/if_rx62n.h	(revision 167)
@@ -6,36 +6,32 @@
  *  Copyright (C) 2014 Cores Co., Ltd. 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$
@@ -56,15 +52,15 @@
 #include "target_config.h"
 
-#define INHNO_IF_RX62N_TRX	INT_ETH_EINT	/* pPbgóM */
-#define INTNO_IF_RX62N_TRX	INT_ETH_EINT	/* pPbgóM */
-#define INTATR_IF_RX62N_TRX	(TA_NULL)	/* Ý®«	*/
-#define INTPRI_IF_RX62N_TRX	(-1)		/* ÝDæx	*/
+#define INHNO_IF_RX62N_TRX	INT_ETH_EINT	/* パケット送受信 */
+#define INTNO_IF_RX62N_TRX	INT_ETH_EINT	/* パケット送受信 */
+#define INTATR_IF_RX62N_TRX	(TA_NULL)	/* 割込み属性	*/
+#define INTPRI_IF_RX62N_TRX	(-1)		/* 割込み優先度	*/
 
 #define NUM_IF_RX62N_RXBUF 2
 #define NUM_IF_RX62N_TXBUF 2
-#define IF_RX62N_BUF_PAGE_SIZE	1518	/* obt@TCY */
+#define IF_RX62N_BUF_PAGE_SIZE	1518	/* バッファサイズ */
 
 /*
- *  Ö
+ *  関数
  */
 
Index: UsbWattMeter/trunk/lwip-1.4.1/ports/grsakura/if_rx62nreg.h
===================================================================
--- UsbWattMeter/trunk/lwip-1.4.1/ports/grsakura/if_rx62nreg.h	(revision 166)
+++ UsbWattMeter/trunk/lwip-1.4.1/ports/grsakura/if_rx62nreg.h	(revision 167)
@@ -6,36 +6,32 @@
  *  Copyright (C) 2014 Cores Co., Ltd. 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$
@@ -47,18 +43,18 @@
 #include "t_stddef.h"
 
-#define EDMAC_EDMR			((uint32_t *)0x000C0000)	/* EDMAC[hWX^ */
+#define EDMAC_EDMR			((uint32_t *)0x000C0000)	/* EDMACモードレジスタ */
 #define EDMAC_EDMR_SWR_BIT	0x00000001
 #define EDMAC_EDMR_DE_BIT	0x00000040
 
-#define EDMAC_EDTRR			((uint32_t *)0x000C0008)	/* EDMACMvWX^ */
+#define EDMAC_EDTRR			((uint32_t *)0x000C0008)	/* EDMAC送信要求レジスタ */
 #define EDMAC_EDTRR_TR		0x00000001
 
-#define EDMAC_EDRRR			((uint32_t *)0x000C0010)	/* EDMACóMvWX^ */
+#define EDMAC_EDRRR			((uint32_t *)0x000C0010)	/* EDMAC受信要求レジスタ */
 #define EDMAC_EDRRR_RR		0x00000001
 
-#define EDMAC_TDLAR			((uint32_t *)0x000C0018)	/* MfBXNv^XgæªAhXWX^ */
-#define EDMAC_RDLAR			((uint32_t *)0x000C0020)	/* óMfBXNv^XgæªAhXWX^ */
+#define EDMAC_TDLAR			((uint32_t *)0x000C0018)	/* 送信ディスクリプタリスト先頭アドレスレジスタ */
+#define EDMAC_RDLAR			((uint32_t *)0x000C0020)	/* 受信ディスクリプタリスト先頭アドレスレジスタ */
 
-#define EDMAC_EESR			((uint32_t *)0x000C0028)	/* ETHERC/EDMACXe[^XWX^ */
+#define EDMAC_EESR			((uint32_t *)0x000C0028)	/* ETHERC/EDMACステータスレジスタ */
 #define EDMAC_EESR_FROF		0x00010000
 #define EDMAC_EESR_RDE		0x00020000
@@ -67,5 +63,5 @@
 #define EDMAC_EESR_TWB		0x40000000
 
-#define EDMAC_EESIPR		((uint32_t *)0x000C0030)	/* ETHERC/EDMACXe[^XèÝÂWX^ */
+#define EDMAC_EESIPR		((uint32_t *)0x000C0030)	/* ETHERC/EDMACステータス割り込み許可レジスタ */
 #define EDMAC_EESIPR_RMAFIP	0x00000080
 #define EDMAC_EESIPR_FROFIP	0x00010000
@@ -75,21 +71,21 @@
 #define EDMAC_EESIPR_TWBIP	0x40000000
 
-#define EDMAC_TRSCER		((uint32_t *)0x000C0038)	/* óMXe[^XRs[w¦WX^ */
-#define EDMAC_RMFCR			((uint32_t *)0x000C0040)	/* ~Xht[JE^WX^ */
-#define EDMAC_TFTR			((uint32_t *)0x000C0048)	/* MFIFOµ«¢lwèWX^ */
-#define EDMAC_FDR			((uint32_t *)0x000C0050)	/* FIFOeÊwèWX^ */
-#define EDMAC_RMCR			((uint32_t *)0x000C0058)	/* óMû®§äWX^ */
-#define EDMAC_TFUCR			((uint32_t *)0x000C0064)	/* MFIFOA_JEg */
-#define EDMAC_RFOCR			((uint32_t *)0x000C0068)	/* óMFIFOI[ot[JEg */
-#define EDMAC_IOSR			((uint32_t *)0x000C006C)	/* ÂÊoÍMÝèWX^ */
-#define EDMAC_FCFTR			((uint32_t *)0x000C0070)	/* t[§äJnFIFOµ«¢lÝèWX^ */
-#define EDMAC_RPADIR		((uint32_t *)0x000C0078)	/* óMf[^pfBO}üÝèWX^ */
-#define EDMAC_TRIMD			((uint32_t *)0x000C007C)	/* MèÝÝèWX^ */
-#define EDMAC_RBWAR			((uint32_t *)0x000C00C8)	/* óMobt@CgAhXWX^ */
-#define EDMAC_RDFAR			((uint32_t *)0x000C00CC)	/* óMfBXNv^tFb`AhXWX^ */
-#define EDMAC_TBRAR			((uint32_t *)0x000C00D4)	/* Mobt@[hAhXWX^ */
-#define EDMAC_TDFAR			((uint32_t *)0x000C00D8)	/* MfBXNv^tFb`AhXWX^ */
+#define EDMAC_TRSCER		((uint32_t *)0x000C0038)	/* 送受信ステータスコピー指示レジスタ */
+#define EDMAC_RMFCR			((uint32_t *)0x000C0040)	/* ミスドフレームカウンタレジスタ */
+#define EDMAC_TFTR			((uint32_t *)0x000C0048)	/* 送信FIFOしきい値指定レジスタ */
+#define EDMAC_FDR			((uint32_t *)0x000C0050)	/* FIFO容量指定レジスタ */
+#define EDMAC_RMCR			((uint32_t *)0x000C0058)	/* 受信方式制御レジスタ */
+#define EDMAC_TFUCR			((uint32_t *)0x000C0064)	/* 送信FIFOアンダランカウント */
+#define EDMAC_RFOCR			((uint32_t *)0x000C0068)	/* 受信FIFOオーバフローカウント */
+#define EDMAC_IOSR			((uint32_t *)0x000C006C)	/* 個別出力信号設定レジスタ */
+#define EDMAC_FCFTR			((uint32_t *)0x000C0070)	/* フロー制御開始FIFOしきい値設定レジスタ */
+#define EDMAC_RPADIR		((uint32_t *)0x000C0078)	/* 受信データパディング挿入設定レジスタ */
+#define EDMAC_TRIMD			((uint32_t *)0x000C007C)	/* 送信割り込み設定レジスタ */
+#define EDMAC_RBWAR			((uint32_t *)0x000C00C8)	/* 受信バッファライトアドレスレジスタ */
+#define EDMAC_RDFAR			((uint32_t *)0x000C00CC)	/* 受信ディスクリプタフェッチアドレスレジスタ */
+#define EDMAC_TBRAR			((uint32_t *)0x000C00D4)	/* 送信バッファリードアドレスレジスタ */
+#define EDMAC_TDFAR			((uint32_t *)0x000C00D8)	/* 送信ディスクリプタフェッチアドレスレジスタ */
 
-#define ETHERC_ECMR			((uint32_t *)0x000C0100)	/* ETHERC[hWX^ */
+#define ETHERC_ECMR			((uint32_t *)0x000C0100)	/* ETHERCモードレジスタ */
 #define ETHERC_ECMR_PRM		0x00000001
 #define ETHERC_ECMR_DM		0x00000002
@@ -98,10 +94,10 @@
 #define ETHERC_ECMR_RE		0x00000040
 
-#define ETHERC_RFLR			((uint32_t *)0x000C0108)	/* óMt[·ãÀWX^ */
-#define ETHERC_ECSR			((uint32_t *)0x000C0110)	/* ETHERCXe[^XWX^ */
+#define ETHERC_RFLR			((uint32_t *)0x000C0108)	/* 受信フレーム長上限レジスタ */
+#define ETHERC_ECSR			((uint32_t *)0x000C0110)	/* ETHERCステータスレジスタ */
 #define ETHERC_ECSR_LCHNG	0x00000004
-#define ETHERC_ECSIPR		((uint32_t *)0x000C0118)	/* ETHERCèÝÂWX^ */
+#define ETHERC_ECSIPR		((uint32_t *)0x000C0118)	/* ETHERC割り込み許可レジスタ */
 #define ETHERC_ECSIPR_LCHNGIP	0x00000004
-#define ETHERC_PIR			((uint32_t *)0x000C0120)	/* PHYC^tF[XWX^ */
+#define ETHERC_PIR			((uint32_t *)0x000C0120)	/* PHY部インタフェースレジスタ */
 #define ETHERC_PIR_MDC		0x00000001
 #define ETHERC_PIR_MMD		0x00000002
@@ -109,29 +105,29 @@
 #define ETHERC_PIR_MDI		0x00000008
 
-#define ETHERC_PSR			((uint32_t *)0x000C0128)	/* PHYXe[^XWX^ */
+#define ETHERC_PSR			((uint32_t *)0x000C0128)	/* PHY部ステータスレジスタ */
 #define ETHERC_PSR_LMON		0x00000001
 
-#define ETHERC_RDMLR		((uint32_t *)0x000C0140)	/* ¶¬JE^ãÀlÝèWX^ */
-#define ETHERC_IPGR			((uint32_t *)0x000C0150)	/* IPGÝèWX^ */
-#define ETHERC_APR			((uint32_t *)0x000C0154)	/* ©®PAUSEt[ÝèWX^ */
-#define ETHERC_MPR			((uint32_t *)0x000C0158)	/* è®PAUSEt[ÝèWX^ */
-#define ETHERC_RFCF			((uint32_t *)0x000C0160)	/* óMPAUSEt[JE^ */
-#define ETHERC_TPAUSER		((uint32_t *)0x000C0164)	/* ©®PAUSEt[ÄñÝèWX^ */
-#define ETHERC_TPAUSECR		((uint32_t *)0x000C0168)	/* PAUSEt[ÄñJE^ */
-#define ETHERC_BCFRR		((uint32_t *)0x000C016C)	/* Broadcastt[óMñÝèWX^ */
-#define ETHERC_MAHR			((uint32_t *)0x000C01C0)	/* MACAhXãÊÝèWX^ */
-#define ETHERC_MALR			((uint32_t *)0x000C01C8)	/* MACAhXºÊÝèWX^ */
-#define ETHERC_TROCR		((uint32_t *)0x000C01D0)	/* MgCI[oJE^WX^ */
-#define ETHERC_CDCR			((uint32_t *)0x000C01D4)	/* xÕËoJE^WX^ */
-#define ETHERC_LCCR			((uint32_t *)0x000C01D8)	/* LAÁ¸JE^WX^ */
-#define ETHERC_CNDCR		((uint32_t *)0x000C01DC)	/* LA¢oJE^WX^ */
-#define ETHERC_CEFCR		((uint32_t *)0x000C01E4)	/* CRCG[t[óMJE^WX^ */
-#define ETHERC_FRECR		((uint32_t *)0x000C01E8)	/* t[óMG[JE^WX^ */
-#define ETHERC_TSFRCR		((uint32_t *)0x000C01EC)	/* 64oCg¢t[óMJE^WX^ */
-#define ETHERC_TLFRCR		((uint32_t *)0x000C01F0)	/* wèoCg´t[óMJE^WX^ */
-#define ETHERC_RFCR			((uint32_t *)0x000C01F4)	/* [rbgt[óMJE^WX^ */
-#define ETHERC_MAFCR		((uint32_t *)0x000C01F8)	/* }`LXgAhXt[óMJE^WX^ */
+#define ETHERC_RDMLR		((uint32_t *)0x000C0140)	/* 乱数生成カウンタ上限値設定レジスタ */
+#define ETHERC_IPGR			((uint32_t *)0x000C0150)	/* IPG設定レジスタ */
+#define ETHERC_APR			((uint32_t *)0x000C0154)	/* 自動PAUSEフレーム設定レジスタ */
+#define ETHERC_MPR			((uint32_t *)0x000C0158)	/* 手動PAUSEフレーム設定レジスタ */
+#define ETHERC_RFCF			((uint32_t *)0x000C0160)	/* 受信PAUSEフレームカウンタ */
+#define ETHERC_TPAUSER		((uint32_t *)0x000C0164)	/* 自動PAUSEフレーム再送回数設定レジスタ */
+#define ETHERC_TPAUSECR		((uint32_t *)0x000C0168)	/* PAUSEフレーム再送回数カウンタ */
+#define ETHERC_BCFRR		((uint32_t *)0x000C016C)	/* Broadcastフレーム受信回数設定レジスタ */
+#define ETHERC_MAHR			((uint32_t *)0x000C01C0)	/* MACアドレス上位設定レジスタ */
+#define ETHERC_MALR			((uint32_t *)0x000C01C8)	/* MACアドレス下位設定レジスタ */
+#define ETHERC_TROCR		((uint32_t *)0x000C01D0)	/* 送信リトライオーバカウンタレジスタ */
+#define ETHERC_CDCR			((uint32_t *)0x000C01D4)	/* 遅延衝突検出カウンタレジスタ */
+#define ETHERC_LCCR			((uint32_t *)0x000C01D8)	/* キャリア消失カウンタレジスタ */
+#define ETHERC_CNDCR		((uint32_t *)0x000C01DC)	/* キャリア未検出カウンタレジスタ */
+#define ETHERC_CEFCR		((uint32_t *)0x000C01E4)	/* CRCエラーフレーム受信カウンタレジスタ */
+#define ETHERC_FRECR		((uint32_t *)0x000C01E8)	/* フレーム受信エラーカウンタレジスタ */
+#define ETHERC_TSFRCR		((uint32_t *)0x000C01EC)	/* 64バイト未満フレーム受信カウンタレジスタ */
+#define ETHERC_TLFRCR		((uint32_t *)0x000C01F0)	/* 指定バイト超フレーム受信カウンタレジスタ */
+#define ETHERC_RFCR			((uint32_t *)0x000C01F4)	/* 端数ビットフレーム受信カウンタレジスタ */
+#define ETHERC_MAFCR		((uint32_t *)0x000C01F8)	/* マルチキャストアドレスフレーム受信カウンタレジスタ */
 
-/* MfBXNv^ */
+/* 送信ディスクリプタ */
 typedef struct t_rx62n_tx_desc {
 	uint32_t	tfs : 26;
@@ -147,5 +143,5 @@
 } T_RX62N_TX_DESC;
 
-/* óMfBXNv^ */
+/* 受信ディスクリプタ */
 typedef struct t_rx62n_rx_desc {
 	uint32_t	rfs : 27;
Index: UsbWattMeter/trunk/lwip-1.4.1/ports/grsakura/wolfssl_asp_dcre.c
===================================================================
--- UsbWattMeter/trunk/lwip-1.4.1/ports/grsakura/wolfssl_asp_dcre.c	(revision 166)
+++ UsbWattMeter/trunk/lwip-1.4.1/ports/grsakura/wolfssl_asp_dcre.c	(revision 167)
@@ -23,5 +23,5 @@
 #endif
 
-/* NTPT[o[ÌO[oÔ */
+/* NTPサーバーのグローバル時間 */
 static time_t sys_time_offset = 1453334400LL;
 
Index: UsbWattMeter/trunk/src/usb_watt_meter/client.c
===================================================================
--- UsbWattMeter/trunk/src/usb_watt_meter/client.c	(revision 166)
+++ UsbWattMeter/trunk/src/usb_watt_meter/client.c	(revision 167)
@@ -4,36 +4,32 @@
  *  Copyright (C) 2016 Cores Co., Ltd. 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$
@@ -133,5 +129,5 @@
 	gmtime_r(&t, &tm);
 
-	/* N */
+	/* 年 */
 	tmp1 = 1900 + tm.tm_year;
 	tmp2 = tmp1 / 1000;
@@ -145,5 +141,5 @@
 	*pos++ = '0' + tmp2;
 	*pos++ = '0' + tmp1;
-	/*  */
+	/* 月 */
 	tmp1 = tm.tm_mon + 1;
 	tmp2 = tmp1 / 10;
@@ -151,5 +147,5 @@
 	*pos++ = '0' + tmp2;
 	*pos++ = '0' + tmp1;
-	/* ú */
+	/* 日 */
 	tmp1 = tm.tm_mday;
 	tmp2 = tmp1 / 10;
@@ -157,5 +153,5 @@
 	*pos++ = '0' + tmp2;
 	*pos++ = '0' + tmp1;
-	/*  */
+	/* 時 */
 	tmp1 = tm.tm_hour;
 	tmp2 = tmp1 / 10;
@@ -163,5 +159,5 @@
 	*pos++ = '0' + tmp2;
 	*pos++ = '0' + tmp1;
-	/* ª */
+	/* 分 */
 	tmp1 = tm.tm_min;
 	tmp2 = tmp1 / 10;
@@ -169,5 +165,5 @@
 	*pos++ = '0' + tmp2;
 	*pos++ = '0' + tmp1;
-	/* b */
+	/* 秒 */
 	tmp1 = tm.tm_sec;
 	tmp2 = tmp1 / 10;
Index: UsbWattMeter/trunk/src/usb_watt_meter/client.h
===================================================================
--- UsbWattMeter/trunk/src/usb_watt_meter/client.h	(revision 166)
+++ UsbWattMeter/trunk/src/usb_watt_meter/client.h	(revision 167)
@@ -4,36 +4,32 @@
  *  Copyright (C) 2016 Cores Co., Ltd. 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$
@@ -46,7 +42,7 @@
 #include "target_config.h"
 
-#define CLIENT_PRIORITY		4		/* NCAg^XNÌDæx */
+#define CLIENT_PRIORITY		4		/* クライアントタスクの優先度 */
 
-#define CLIENT_STACK_SIZE	6144	/* X^bNÌæÌTCY */
+#define CLIENT_STACK_SIZE	6144	/* スタック領域のサイズ */
 
 extern void client_init(void);
Index: UsbWattMeter/trunk/src/usb_watt_meter/echonet_app_config.h
===================================================================
--- UsbWattMeter/trunk/src/usb_watt_meter/echonet_app_config.h	(revision 166)
+++ UsbWattMeter/trunk/src/usb_watt_meter/echonet_app_config.h	(revision 167)
@@ -4,36 +4,32 @@
  *  Copyright (C) 2016 Cores Co., Ltd. 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$
@@ -43,21 +39,21 @@
 #define _ECHONET_APP_CONFIG_H_
 
-/* d¶pubNÌÍWolfSSLAlwIPÆà¤pÈÌÅâ· */
+/* 電文用メモリブロックの数はWolfSSL、lwIPとも共用なので増やす */
 #define NUM_ECHONET_MEMPOOL_BLOCK (300)
 
-#define ECHONET_TASK_STACK_SIZE	1024	/* ECNL UDP^XNpX^bNÌæÌTCY */
+#define ECHONET_TASK_STACK_SIZE	1024	/* ECNL UDPタスク用スタック領域のサイズ */
 
 /*
- * T[rX^XNÉÇÁÌð}üµ½¢êÉè`·é
+ * サービス処理タスクに追加の処理を挿入したい場合に定義する
  *
- * ^CAEglðÔ·
+ * タイムアウト値を返す
  * TMO echonet_task_get_timer();
  * #define ECHONET_TASK_GET_TIMER echonet_task_get_timer
  *
- * ^C}[ÌÔðißé
+ * タイマーの時間を進める
  * void echonet_task_progress(TMO interval);
  * #define ECHONET_TASK_PROGRESS(interval) echonet_task_progress(interval)
  *
- * ^CAEgiÌ½ßÌÄÑoµj
+ * タイムアウト処理（のための呼び出し）
  * void echonet_task_timeout();
  * #define ECHONET_TASK_TIMEOUT echonet_task_timeout()
@@ -65,32 +61,32 @@
 
 /*
- * tcoÊM^XNÉÇÁÌð}üµ½¢êÉè`·é
+ * ＵＤＰ通信タスクに追加の処理を挿入したい場合に定義する
  *
- * ^CAEglðÔ·
+ * タイムアウト値を返す
  * TMO echonet_udp_task_get_timer();
  * #define ECHONET_UDP_TASK_GET_TIMER echonet_udp_task_get_timer
  *
- * ^C}[ÌÔðißé
+ * タイマーの時間を進める
  * void echonet_udp_task_progress(TMO interval);
  * #define ECHONET_UDP_TASK_PROGRESS(interval) echonet_udp_task_progress(interval)
  *
- * ^CAEgiÌ½ßÌÄÑoµj
+ * タイムアウト処理（のための呼び出し）
  * void echonet_udp_task_timeout();
  * #define ECHONET_UDP_TASK_TIMEOUT echonet_udp_task_timeout()
  */
 
-/* fobOoÍLø»Ýè·éÆ«Éè` */
+/* デバッグ出力有効化設定するときに定義 */
 /* #define ECN_DBG_PUT_ENA */
 
-/* fobOoÍ(CARP)Lø»Ýè·éÆ«Éè` */
+/* デバッグ出力(CARP)有効化設定するときに定義 */
 /* #define ECN_CAP_PUT_ENA */
 
-/* syslogó«Ò¿Lø»Ýè·éÆ«Éè` */
+/* syslog空き待ち有効化設定するときに定義 */
 /* #define ECN_DBG_WAI_ENA */
 
-/* WÌecn_data_prop_setðgíÈ¢Æ«Éè` */
+/* 標準のecn_data_prop_setを使わないときに定義 */
 /* #define ECN_USER_DATA_PROP_SET */
 
-/* WÌecn_data_prop_getðgíÈ¢Æ«Éè` */
+/* 標準のecn_data_prop_getを使わないときに定義 */
 /* #define ECN_USER_DATA_PROP_GET */
 
Index: UsbWattMeter/trunk/src/usb_watt_meter/main.c
===================================================================
--- UsbWattMeter/trunk/src/usb_watt_meter/main.c	(revision 166)
+++ UsbWattMeter/trunk/src/usb_watt_meter/main.c	(revision 167)
@@ -4,36 +4,32 @@
  *  Copyright (C) 2016 Cores Co., Ltd. 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$
@@ -41,5 +37,5 @@
 
 /* 
- *  TvvO(1)Ì{Ì
+ *  サンプルプログラム(1)の本体
  */
 
@@ -68,5 +64,5 @@
 #include "client.h"
 
-/* TODO: MACAhXðÝè */
+/* TODO: MACアドレスを設定 */
 uint8_t mac_addr[6] = { 0x00, 0x12, 0x34, 0x56, 0x78, 0x9A };
 
@@ -77,102 +73,95 @@
 } lwiptsk = {{0},SEM_IF_RX62N_RBUF_READY};
 
-/* TODO: [J[R[hðÝè */
-#define MAKER_CODE	0x00, 0x00, 0xB3	/* TOPPERSvWFNg */
-
-/* m[hvt@CIuWFNg */
+/* TODO: メーカーコードを設定 */
+#define MAKER_CODE	0x00, 0x00, 0xB3	/* TOPPERSプロジェクト */
+
+/* ノードプロファイルオブジェクト */
 struct node_profile_object_t local_node_data = {
-	0x30,	/* ®ìóÔ */
-	{ 0x01, 0x0A, 0x01, 0x00 },	/* u
-îñ */
+	0x30,	/* 動作状態 */
+	{ 0x01, 0x0A, 0x01, 0x00 },	/* Ｖｅｒｓｉｏｎ情報 */
 	{
-		0xFE,	/* ºÊÊMwIDtB[h */
-		{ MAKER_CODE },	/* [J[R[h */
-		{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, },	/* j[NID([J[Æ©) */
+		0xFE,	/* 下位通信層IDフィールド */
+		{ MAKER_CODE },	/* メーカーコード */
+		{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, },	/* ユニークID部(メーカー独自) */
 	},
 	0,
-	{ MAKER_CODE },	/* [J[R[h */
+	{ MAKER_CODE },	/* メーカーコード */
 };
 
 struct watt_hour_meter_t electric_energy_meter_data[6] = {
-	/* dÍÊ[^P */
+	/* 電力量メータ１ */
 	{
-		0x30,	/* ®ìóÔ */
-		0x00,	/* Ýuê */
-		{ 0x00, 0x00, 'C', 0x00 },	/* Kiu
-îñ */
-		0x41,	/* Ùí­¶óÔ */
-		{ MAKER_CODE },	/* [J[R[h */
-		0x02,	/* ÏZdÍÊPÊ */
-		0x00000000,	/* ÏZdÍÊvªl */
-		{ 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, },	/* ÏZdÍÊvªlðP */
+		0x30,	/* 動作状態 */
+		0x00,	/* 設置場所 */
+		{ 0x00, 0x00, 'C', 0x00 },	/* 規格Ｖｅｒｓｉｏｎ情報 */
+		0x41,	/* 異常発生状態 */
+		{ MAKER_CODE },	/* メーカーコード */
+		0x02,	/* 積算電力量単位 */
+		0x00000000,	/* 積算電力量計測値 */
+		{ 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, },	/* 積算電力量計測値履歴１ */
 	},
-	/* dÍÊ[^Q */
+	/* 電力量メータ２ */
 	{
-		0x30,	/* ®ìóÔ */
-		0x00,	/* Ýuê */
-		{0x00, 0x00, 'C', 0x00},	/* Kiu
-îñ */
-		0x41,	/* Ùí­¶óÔ */
-		{MAKER_CODE},	/* [J[R[h */
-		0x02,	/* ÏZdÍÊPÊ */
-		0x00000000,	/* ÏZdÍÊvªl */
-		{0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,},	/* ÏZdÍÊvªlðP */
+		0x30,	/* 動作状態 */
+		0x00,	/* 設置場所 */
+		{0x00, 0x00, 'C', 0x00},	/* 規格Ｖｅｒｓｉｏｎ情報 */
+		0x41,	/* 異常発生状態 */
+		{MAKER_CODE},	/* メーカーコード */
+		0x02,	/* 積算電力量単位 */
+		0x00000000,	/* 積算電力量計測値 */
+		{0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,},	/* 積算電力量計測値履歴１ */
 	},
-	/* dÍÊ[^R */
+	/* 電力量メータ３ */
 	{
-		0x30,	/* ®ìóÔ */
-		0x00,	/* Ýuê */
-		{0x00, 0x00, 'C', 0x00},	/* Kiu
-îñ */
-		0x41,	/* Ùí­¶óÔ */
-		{MAKER_CODE},	/* [J[R[h */
-		0x02,	/* ÏZdÍÊPÊ */
-		0x00000000,	/* ÏZdÍÊvªl */
-		{0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,},	/* ÏZdÍÊvªlðP */
+		0x30,	/* 動作状態 */
+		0x00,	/* 設置場所 */
+		{0x00, 0x00, 'C', 0x00},	/* 規格Ｖｅｒｓｉｏｎ情報 */
+		0x41,	/* 異常発生状態 */
+		{MAKER_CODE},	/* メーカーコード */
+		0x02,	/* 積算電力量単位 */
+		0x00000000,	/* 積算電力量計測値 */
+		{0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,},	/* 積算電力量計測値履歴１ */
 	},
-	/* dÍÊ[^S */
+	/* 電力量メータ４ */
 	{
-		0x30,	/* ®ìóÔ */
-		0x00,	/* Ýuê */
-		{0x00, 0x00, 'C', 0x00},	/* Kiu
-îñ */
-		0x41,	/* Ùí­¶óÔ */
-		{MAKER_CODE},	/* [J[R[h */
-		0x02,	/* ÏZdÍÊPÊ */
-		0x00000000,	/* ÏZdÍÊvªl */
-		{0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,},	/* ÏZdÍÊvªlðP */
+		0x30,	/* 動作状態 */
+		0x00,	/* 設置場所 */
+		{0x00, 0x00, 'C', 0x00},	/* 規格Ｖｅｒｓｉｏｎ情報 */
+		0x41,	/* 異常発生状態 */
+		{MAKER_CODE},	/* メーカーコード */
+		0x02,	/* 積算電力量単位 */
+		0x00000000,	/* 積算電力量計測値 */
+		{0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,},	/* 積算電力量計測値履歴１ */
 	},
-	/* dÍÊ[^T */
+	/* 電力量メータ５ */
 	{
-		0x30,	/* ®ìóÔ */
-		0x00,	/* Ýuê */
-		{0x00, 0x00, 'C', 0x00},	/* Kiu
-îñ */
-		0x41,	/* Ùí­¶óÔ */
-		{MAKER_CODE},	/* [J[R[h */
-		0x02,	/* ÏZdÍÊPÊ */
-		0x00000000,	/* ÏZdÍÊvªl */
-		{0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,},	/* ÏZdÍÊvªlðP */
+		0x30,	/* 動作状態 */
+		0x00,	/* 設置場所 */
+		{0x00, 0x00, 'C', 0x00},	/* 規格Ｖｅｒｓｉｏｎ情報 */
+		0x41,	/* 異常発生状態 */
+		{MAKER_CODE},	/* メーカーコード */
+		0x02,	/* 積算電力量単位 */
+		0x00000000,	/* 積算電力量計測値 */
+		{0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,},	/* 積算電力量計測値履歴１ */
 	},
-	/* dÍÊ[^U */
+	/* 電力量メータ６ */
 	{
-		0x30,	/* ®ìóÔ */
-		0x00,	/* Ýuê */
-		{0x00, 0x00, 'C', 0x00},	/* Kiu
-îñ */
-		0x41,	/* Ùí­¶óÔ */
-		{MAKER_CODE},	/* [J[R[h */
-		0x02,	/* ÏZdÍÊPÊ */
-		0x00000000,	/* ÏZdÍÊvªl */
-		{0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,},	/* ÏZdÍÊvªlðP */
+		0x30,	/* 動作状態 */
+		0x00,	/* 設置場所 */
+		{0x00, 0x00, 'C', 0x00},	/* 規格Ｖｅｒｓｉｏｎ情報 */
+		0x41,	/* 異常発生状態 */
+		{MAKER_CODE},	/* メーカーコード */
+		0x02,	/* 積算電力量単位 */
+		0x00000000,	/* 積算電力量計測値 */
+		{0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,},	/* 積算電力量計測値履歴１ */
 	}
 };
 
 /*
- * ®ìóÔON/OFFÝèÖi0x30, 0x31ÌÝó¯t¯j
+ * 動作状態ON/OFF設定関数（0x30, 0x31のみ受け付け）
  */
 int onoff_prop_set(const EPRPINIB *item, const void *src, int size, bool_t *anno)
 {
-	/* TCYªPÈOÍó¯t¯È¢ */
+	/* サイズが１以外は受け付けない */
 	if(size != 1)
 		return 0;
@@ -181,17 +170,17 @@
 
 	switch(*(uint8_t *)src){
-	/* ONÌê */
+	/* ONの場合 */
 	case 0x30:
 		*((uint8_t *)item->exinf) = *((uint8_t *)src);
-		/* LEDÌ"."ðON */
+		/* LEDの"."をON */
 		sil_wrb_mem((uint8_t *)PORTE_PODR_ADDR, sil_reb_mem((uint8_t *)PORTE_PODR_ADDR) | 0x01);
 		break;
-	/* OFFÌê */
+	/* OFFの場合 */
 	case 0x31:
 		*((uint8_t *)item->exinf) = *((uint8_t *)src);
-		/* LEDÌ"."ðOFF */
+		/* LEDの"."をOFF */
 		sil_wrb_mem((uint8_t *)PORTE_PODR_ADDR, sil_reb_mem((uint8_t *)PORTE_PODR_ADDR) & ~0x01);
 		break;
-	/* 0x30©0x31ÈOÍó¯t¯È¢ */
+	/* 0x30か0x31以外は受け付けない */
 	default:
 		return 0;
@@ -202,9 +191,9 @@
 
 /*
- * Ùí­¶óÔÝèÖi0x41, 0x42ÌÝó¯t¯j
+ * 異常発生状態設定関数（0x41, 0x42のみ受け付け）
  */
 int alarm_prop_set(const EPRPINIB *item, const void *src, int size, bool_t *anno)
 {
-	/* TCYªPÈOÍó¯t¯È¢ */
+	/* サイズが１以外は受け付けない */
 	if(size != 1)
 		return 0;
@@ -213,11 +202,11 @@
 
 	switch(*(uint8_t *)src){
-	/* Ùí­¶ èÌê */
+	/* 異常発生ありの場合 */
 	case 0x41:
-	/* Ùí­¶ÈµÌê */
+	/* 異常発生なしの場合 */
 	case 0x42:
 		*((uint8_t *)item->exinf) = *((uint8_t *)src);
 		break;
-	/* 0x41©0x42ÈOÍó¯t¯È¢ */
+	/* 0x41か0x42以外は受け付けない */
 	default:
 		return 0;
@@ -228,5 +217,5 @@
 
 /*
- * »ÝÝèÖ
+ * 現在時刻設定関数
  */
 int time_prop_set(const EPRPINIB *item, const void *src, int size, bool_t *anno)
@@ -237,5 +226,5 @@
 		return 0;
 
-	/* Ýè */
+	/* 時刻設定 */
 	p_src = (uint8_t *)src;
 	sil_wrb_mem((uint8_t *)RTC_RHRCNT_ADDR, *p_src++);
@@ -247,5 +236,5 @@
 
 /*
- * »Ýæ¾Ö
+ * 現在時刻取得関数
  */
 int time_prop_get(const EPRPINIB *item, void *dst, int size)
@@ -256,5 +245,5 @@
 		return 0;
 
-	/* Ýè */
+	/* 時刻設定 */
 	p_dst = (uint8_t *)dst;
 	*p_dst++ = sil_reb_mem((uint8_t *)RTC_RHRCNT_ADDR);
@@ -265,5 +254,5 @@
 
 /*
- * »ÝNúÝèÖ
+ * 現在年月日設定関数
  */
 int date_prop_set(const EPRPINIB *item, const void *src, int size, bool_t *anno)
@@ -274,5 +263,5 @@
 		return 0;
 
-	/* NúÝè */
+	/* 年月日設定 */
 	p_src = (uint8_t *)src;
 	p_src++;	/* 20XX */
@@ -285,5 +274,5 @@
 
 /*
- * »ÝNúæ¾Ö
+ * 現在年月日取得関数
  */
 int date_prop_get(const EPRPINIB *item, void *dst, int size)
@@ -304,5 +293,5 @@
 
 /*
- * ÏZdÍÊvªlæ¾Ö
+ * 積算電力量計測値取得関数
  */
 int watt_hour_meter_integral_electric_energy_measurement_value_get(const EPRPINIB *item, void *dst, int size)
@@ -310,5 +299,5 @@
 	struct watt_hour_meter_t *meter = (struct watt_hour_meter_t *)(item->exinf - (intptr_t)&((struct watt_hour_meter_t *)0)->integral_electric_energy_measurement_value);
 
-	/* TCYª4ÈOÍó¯t¯È¢ */
+	/* サイズが4以外は受け付けない */
 	if(size != 4)
 		return 0;
@@ -324,5 +313,5 @@
 	int len;
 
-	/* TCYª192ÈOÍó¯t¯È¢ */
+	/* サイズが192以外は受け付けない */
 	if (size != 192)
 		return 0;
@@ -379,5 +368,5 @@
 
 /*
- *  C^XN
+ *  メインタスク
  */
 void main_task(intptr_t exinf)
@@ -390,11 +379,11 @@
 	int32_t len;
 
-	/* t@CVXeÌú» */
+	/* ファイルシステムの初期化 */
 	fatfs_initialize();
 
-	/* vgRX^bNÌú» */
+	/* プロトコルスタックの初期化 */
 	netif_initialize();
 
-	/* AvP[VÌú» */
+	/* アプリケーションの初期化 */
 	main_initialize();
 
@@ -408,8 +397,8 @@
 		prev = now;
 
-		/* ^C}[æ¾ */
+		/* タイマー取得 */
 		timer = main_get_timer();
 
-		/* d¶Ò¿ */
+		/* 応答電文待ち */
 		ret = ecn_trcv_esv(&esv, timer);
 		if ((ret != E_OK) && (ret != E_WBLK) && (ret != E_TMOUT)){
@@ -424,13 +413,13 @@
 		}
 
-		/* Ôoß */
+		/* 時間経過 */
 		main_progress(now - prev);
 
-		/* Echonetd¶óMÌê */
+		/* Echonet電文受信の場合 */
 		if (ret == E_OK) {
-			/* Echonetd¶óM */
+			/* Echonet電文受信処理 */
 			main_recv_esv(esv);
 
-			/* Ìæðú */
+			/* 領域解放 */
 			ret = ecn_rel_esv(esv);
 			if (ret != E_OK){
@@ -439,7 +428,7 @@
 			}
 		}
-		/* d¶Ò¿ÌèÝÌê */
+		/* 応答電文待ちの割り込みの場合 */
 		else if (ret == E_WBLK) {
-			/* d¶Ò¿ÌèÝf[^æ¾ */
+			/* 応答電文待ちの割り込みデータ取得 */
 			ret = ecn_get_brk_dat(esv, brkdat, sizeof(brkdat), &len);
 			if (ret != E_OK){
@@ -448,8 +437,8 @@
 			}
 
-			/* d¶Ò¿ÌèÝ */
+			/* 応答電文待ちの割り込み処理 */
 			main_break_wait(brkdat, len);
 
-			/* Ìæðú */
+			/* 領域解放 */
 			ret = ecn_rel_esv(esv);
 			if (ret != E_OK){
@@ -459,5 +448,5 @@
 		}
 
-		/* ^CAEg */
+		/* タイムアウト処理 */
 		main_timeout();
 	}
@@ -532,5 +521,5 @@
 	syslog(LOG_NOTICE, "mac_addr %s %s", data, dhcp_enable ? "dhcp" : "static");
 
-	/* libcurlÆWolfSSLÆlwIPÌú» */
+	/* libcurlとWolfSSLとlwIPの初期化 */
 	client_init();
 
@@ -573,14 +562,14 @@
 		started = true;
 
-		/* ECHONET~hEFAðN® */
+		/* ECHONETミドルウェアを起動 */
 		ret = ecn_sta_svc();
 		if (ret != E_OK)
 			return;
 
-		/* SNTPðJn */
+		/* SNTPを開始 */
 		sntp_init();
 	}
 
-	/* C^XNÉÊm */
+	/* メインタスクに通知 */
 	uint8_t data[2];
 	data[0] = 0x01;
@@ -609,5 +598,5 @@
 
 /*
- * ú»
+ * 初期化
  */
 static void main_initialize()
@@ -616,48 +605,47 @@
 
 	/*
-	 * W
-[Xgbv@\ÌÝè(S12AD)
+	 * モジュールストップ機能の設定(S12AD)
 	 */
-	sil_wrh_mem((uint16_t *)SYSTEM_PRCR_ADDR, (uint16_t)0xA502);	/* ÝÂ */
+	sil_wrh_mem((uint16_t *)SYSTEM_PRCR_ADDR, (uint16_t)0xA502);	/* 書込み許可 */
 	sil_wrw_mem((uint32_t *)SYSTEM_MSTPCRA_ADDR,
 		sil_rew_mem((uint32_t *)SYSTEM_MSTPCRA_ADDR) & ~SYSTEM_MSTPCRA_MSTPA17_BIT);
-	sil_wrh_mem((uint16_t *)SYSTEM_PRCR_ADDR, (uint16_t)0xA500);	/* ÝÖ~ */
-
-	/* 7seg_1100p|[goÍÝè */
+	sil_wrh_mem((uint16_t *)SYSTEM_PRCR_ADDR, (uint16_t)0xA500);	/* 書込み禁止 */
+
+	/* 7seg_1100用ポート出力設定 */
 	sil_wrb_mem((uint8_t *)PORT2_PDR_ADDR, sil_reb_mem((uint8_t *)PORT2_PDR_ADDR) | PORT_PDR_B4_BIT | PORT_PDR_B3_BIT);
-	/* 7seg_0010p|[goÍÝè */
+	/* 7seg_0010用ポート出力設定 */
 	sil_wrb_mem((uint8_t *)PORT5_PDR_ADDR, sil_reb_mem((uint8_t *)PORT5_PDR_ADDR) | PORT_PDR_B3_BIT);
-	/* 7seg_0001p|[goÍÝè */
+	/* 7seg_0001用ポート出力設定 */
 	sil_wrb_mem((uint8_t *)PORTC_PDR_ADDR, sil_reb_mem((uint8_t *)PORTC_PDR_ADDR) | PORT_PDR_B1_BIT);
-	/* 7seg_ledp|[goÍÝè */
+	/* 7seg_led用ポート出力設定 */
 	sil_wrb_mem((uint8_t *)PORTD_PDR_ADDR, 0xFF);
-	/* SWITCHp|[güÍALEDp|[goÍÝè */
+	/* SWITCH用ポート入力、LED用ポート出力設定 */
 	sil_wrb_mem((uint8_t *)PORTE_PDR_ADDR, 0x0F);
 
-	/* LEDð"0000"Æ\¦ */
+	/* LEDを"0000"と表示 */
 	sil_wrb_mem((uint8_t *)PORTE_PDR_ADDR, 0x0F);
 
-	/* 3msãÉ7SEG\¦ðXV */
+	/* 3ms後に7SEG表示を更新 */
 	main_led_timer = 3;
 
-	/* 10msãÉ{^óÔðmF */
+	/* 10ms後にボタン状態を確認 */
 	main_timer = 10;
 
-	/* 12bitADCú» */
-	sil_wrh_mem((uint16_t *)S12AD_ADEXICR_ADDR, 0x0000);	/* ·xZToÍAàîd³ñIð */
-	sil_wrh_mem((uint16_t *)S12AD_ADANS0_ADDR, 0x00FF);		/* Ï·|[gAN000`AN007IðAAN008`AN015ñIð */
-	sil_wrh_mem((uint16_t *)S12AD_ADANS1_ADDR, 0x0000);		/* Ï·|[gAN016`AN020ñIð */
-
-	/* {^óÔÇÝÝ */
+	/* 12bitADC初期化 */
+	sil_wrh_mem((uint16_t *)S12AD_ADEXICR_ADDR, 0x0000);	/* 温度センサ出力、内部基準電圧非選択 */
+	sil_wrh_mem((uint16_t *)S12AD_ADANS0_ADDR, 0x00FF);		/* 変換ポートAN000〜AN007選択、AN008〜AN015非選択 */
+	sil_wrh_mem((uint16_t *)S12AD_ADANS1_ADDR, 0x0000);		/* 変換ポートAN016〜AN020非選択 */
+
+	/* ボタン状態読み込み */
 	btn = sil_reb_mem((uint8_t *)PORT0_PIDR_ADDR);
 	main_btn1_state = (btn & 0x20) != 0;
 	main_btn2_state = (btn & 0x80) != 0;
 
-	/* 1bãÉ\¦ðXV */
+	/* 1秒後に表示を更新 */
 	main_adv_timer = 1000;
 }
 
 /*
- * ^C}[æ¾
+ * タイマー取得
  */
 static TMO main_get_timer()
@@ -679,5 +667,5 @@
 
 /*
- * Ôoß
+ * 時間経過
  */
 static void main_progress(TMO interval)
@@ -706,5 +694,5 @@
 
 /*
- * Echonetd¶óM
+ * Echonet電文受信処理
  */
 static void main_recv_esv(T_EDATA *esv)
@@ -741,5 +729,5 @@
 
 /*
- * d¶Ò¿ÌèÝ
+ * 応答電文待ちの割り込み処理
  */
 static void main_break_wait(uint8_t *brkdat, int32_t len)
@@ -761,5 +749,5 @@
 
 				syslog(LOG_NOTICE, "ip_addr %s, netmask %s, gateway %s", ip_addr, netmask, gateway);
-				tslp_tsk(100); /* OªoÍ³êéÜÅ¿åÁÆÒÂ */
+				tslp_tsk(100); /* ログが出力されるまでちょっと待つ */
 				break;
 			case 2:
@@ -778,5 +766,5 @@
 
 /*
- * ^CAEg
+ * タイムアウト処理
  */
 static void main_timeout()
@@ -802,5 +790,5 @@
 static void main_led_ontimer()
 {
-	/* 7Seg\¦ */
+	/* 7Seg表示 */
 	sil_wrb_mem((uint8_t *)PORTD_PODR_ADDR, ~main_7seg[main_7seg_pos]);
 
@@ -832,5 +820,5 @@
 	main_7seg_pos = (main_7seg_pos + 1) & 0x3;
 
-	/* 3msãÉ7SEG\¦ðXV */
+	/* 3ms後に7SEG表示を更新 */
 	main_led_timer = 3;
 }
@@ -859,5 +847,5 @@
 
 /*
- * ^CAEg
+ * タイムアウト処理
  */
 static void main_ontimer()
@@ -868,14 +856,14 @@
 	switch(main_state){
 	case main_state_idle:
-		/* 10msãÉ{^óÔðmF */
+		/* 10ms後にボタン状態を確認 */
 		main_timer = 10;
 
-		/* ADCÌÏ·Êæ¾ */
+		/* ADCの変換結果取得 */
 		if((sil_reb_mem((uint8_t *)S12AD_ADCSR_ADDR) & S12AD_ADCSR_ADST_BIT) == 0){
 			for (int i = 0; i < main_ad_count; i++) {
 				main_ad_avelage[i] -= main_ad_table[i][main_ad_pos];
-				ad_value = sil_reh_mem(main_ad_addr[i]);	// 12bitlæ¾
-				main_ad_integral[i] += 5/*[V]*/ * ad_value/*[A]*/;	// 12bitÏZl
-				ad_value = (ad_value << 4) | (ad_value >> 12);	// 16bitg£
+				ad_value = sil_reh_mem(main_ad_addr[i]);	// 12bit値取得
+				main_ad_integral[i] += 5/*[V]*/ * ad_value/*[A]*/;	// 12bit積算値
+				ad_value = (ad_value << 4) | (ad_value >> 12);	// 16bit拡張
 				main_ad_table[i][main_ad_pos] = ad_value;
 				main_ad_avelage[i] += ad_value;
@@ -887,10 +875,10 @@
 			}
 
-			/* Ï·JniVOXL[hj */
+			/* 変換開始（シングルスキャンモード） */
 			sil_wrb_mem((uint8_t *)S12AD_ADCSR_ADDR, S12AD_ADCSR_ADST_BIT);
 		}
 
 		main_whm_counter += 10;
-		if (main_whm_counter >= 1250/* 180000=30ª */) {
+		if (main_whm_counter >= 1250/* 180000=30分 */) {
 			main_whm_counter = 0;
 
@@ -908,8 +896,8 @@
 		}
 
-		/* {^óÔÇÝÝ */
+		/* ボタン状態読み込み */
 		btn = sil_reb_mem((uint8_t *)PORT0_PIDR_ADDR);
 
-		/* {^PÌ */
+		/* ボタン１の処理 */
 		if(((btn & 0x20) != 0) && !main_btn1_state){
 			main_btn1_count++;
@@ -931,5 +919,5 @@
 		}
 
-		/* {^QÌ */
+		/* ボタン２の処理 */
 		if(((btn & 0x80) != 0) && !main_btn2_state){
 			main_btn2_count++;
@@ -960,13 +948,13 @@
 
 /*
- * {^PóÔÏ»
+ * ボタン１状態変化処理
  */
 static void main_btn1_change(bool_t push)
 {
-	/* ³êÄßÁ½É·é */
+	/* 押されて戻った時に処理する */
 	if(push)
 		return;
 
-	/* \¦|[gÔ */
+	/* 表示ポート番号 */
 	if(!main_rev){
 		main_port_no--;
@@ -988,9 +976,9 @@
 
 /*
- * {^QóÔÏ»
+ * ボタン２状態変化処理
  */
 static void main_btn2_change(bool_t push)
 {
-	/* ³êÄßÁ½É·é */
+	/* 押されて戻った時に処理する */
 	if(push)
 		return;
@@ -1001,5 +989,5 @@
 	}
 
-	/* \¦|[gÔ */
+	/* 表示ポート番号 */
 	if(!main_rev){
 		main_port_no++;
Index: UsbWattMeter/trunk/src/usb_watt_meter/main.cfg
===================================================================
--- UsbWattMeter/trunk/src/usb_watt_meter/main.cfg	(revision 166)
+++ UsbWattMeter/trunk/src/usb_watt_meter/main.cfg	(revision 167)
@@ -4,36 +4,32 @@
  *  Copyright (C) 2016 Cores Co., Ltd. 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$
@@ -41,6 +37,5 @@
 
 /*
- *  TvvO(1)ÌVXeRtBM
-[Vt@C
+ *  サンプルプログラム(1)のシステムコンフィギュレーションファイル
  */
 #include "main.h"
@@ -71,234 +66,227 @@
 
 /*
- *  m[hvt@CIuWFNg
+ *  ノードプロファイルオブジェクト
  */
 ECN_CRE_EOBJ (LOCAL_NODE_EOBJ, { EOBJ_LOCAL_NODE, EOBJ_NULL, 0, EOJ_X1_PROFILE, EOJ_X2_NODE_PROFILE, EOJ_X3_LOCAL_NODE });
 
-/* ®ìóÔ */
+/* 動作状態 */
 ECN_DEF_EPRP (LOCAL_NODE_EOBJ, { 0x80, EPC_RULE_SET | EPC_RULE_GET, 1, (intptr_t)&local_node_data.operation_status, (EPRP_SETTER *)onoff_prop_set, (EPRP_GETTER *)ecn_data_prop_get });
 
-/* u
-îñ */
+/* Ｖｅｒｓｉｏｎ情報 */
 ECN_DEF_EPRP (LOCAL_NODE_EOBJ, { 0x82, EPC_RULE_GET, 4, (intptr_t)&local_node_data.version_information, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get });
 
-/* ¯ÊÔ */
+/* 識別番号 */
 ECN_DEF_EPRP (LOCAL_NODE_EOBJ, { 0x83, EPC_RULE_GET, 17, (intptr_t)&local_node_data.identification_number, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get });
 
-/* [J[R[h */
+/* メーカーコード */
 ECN_DEF_EPRP (LOCAL_NODE_EOBJ, { 0x8A, EPC_RULE_GET, 3, (intptr_t)&local_node_data.manufacturer_code, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get });
 
 /*
- *  dÍÊ[^P
+ *  電力量メータ１
  */
 ECN_CRE_EOBJ (ELECTRIC_ENERGY_METER_1_EOBJ, { EOBJ_DEVICE, LOCAL_NODE_EOBJ, 0, EOJ_X1_AMENITY, EOJ_X2_ELECTRIC_ENERGY_METER, EOJ_X3_ELECTRIC_ENERGY_METER_1 });
 
-/* ®ìóÔ */
+/* 動作状態 */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_1_EOBJ, { 0x80, EPC_RULE_SET | EPC_RULE_GET | EPC_ANNOUNCE, 1, (intptr_t)&electric_energy_meter_data[0], (EPRP_SETTER *)onoff_prop_set, (EPRP_GETTER *)ecn_data_prop_get });
 
-/* Ýuê */
+/* 設置場所 */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_1_EOBJ, { 0x81, EPC_RULE_SET | EPC_RULE_GET | EPC_ANNOUNCE, 1, (intptr_t)&electric_energy_meter_data[0].installation_location, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get });
 
-/* Kiu
-îñ */
+/* 規格Ｖｅｒｓｉｏｎ情報 */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_1_EOBJ, { 0x82, EPC_RULE_GET, 4, (intptr_t)&electric_energy_meter_data[0].standard_version_information, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get });
 
-/* Ùí­¶óÔ */
+/* 異常発生状態 */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_1_EOBJ, { 0x88, EPC_RULE_GET | EPC_ANNOUNCE, 1, (intptr_t)&electric_energy_meter_data[0].fault_status, (EPRP_SETTER *)alarm_prop_set, (EPRP_GETTER *)ecn_data_prop_get });
 
-/* [J[R[h */
+/* メーカーコード */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_1_EOBJ, { 0x8A, EPC_RULE_GET, 3, (intptr_t)&electric_energy_meter_data[0].manufacturer_code, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get });
 
-/* »ÝÝè */
+/* 現在時刻設定 */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_1_EOBJ, { 0x97, EPC_RULE_SET | EPC_RULE_GET, 2, (intptr_t)NULL, (EPRP_SETTER *)time_prop_set, (EPRP_GETTER *)time_prop_get });
 
-/* »ÝNúÝè */
+/* 現在年月日設定 */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_1_EOBJ, { 0x98, EPC_RULE_SET | EPC_RULE_GET, 4, (intptr_t)NULL, (EPRP_SETTER *)date_prop_set, (EPRP_GETTER *)date_prop_get });
 
-/* ÏZdÍÊPÊ */
+/* 積算電力量単位 */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_1_EOBJ, { 0xE2, EPC_RULE_GET, 1, (intptr_t)&electric_energy_meter_data[0].integral_electric_energy_unit, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get });
 
-/* ÏZdÍÊvªl */
+/* 積算電力量計測値 */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_1_EOBJ, { 0xE0, EPC_RULE_GET, 4, (intptr_t)&electric_energy_meter_data[0].integral_electric_energy_measurement_value, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)watt_hour_meter_integral_electric_energy_measurement_value_get });
 
-/* ÏZdÍÊvªlðP */
+/* 積算電力量計測値履歴１ */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_1_EOBJ, { 0xE3, EPC_RULE_GET, 192, (intptr_t)&electric_energy_meter_data[0].integral_electric_energy_measurement_log, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)watt_hour_meter_integral_electric_energy_measurement_log_get });
 
 /*
- *  dÍÊ[^Q
+ *  電力量メータ２
  */
 ECN_CRE_EOBJ (ELECTRIC_ENERGY_METER_2_EOBJ, { EOBJ_DEVICE, LOCAL_NODE_EOBJ, 0, EOJ_X1_AMENITY, EOJ_X2_ELECTRIC_ENERGY_METER, EOJ_X3_ELECTRIC_ENERGY_METER_2 });
 
-/* ®ìóÔ */
+/* 動作状態 */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_2_EOBJ, { 0x80, EPC_RULE_SET | EPC_RULE_GET | EPC_ANNOUNCE, 1, (intptr_t)&electric_energy_meter_data[1], (EPRP_SETTER *)onoff_prop_set, (EPRP_GETTER *)ecn_data_prop_get });
 
-/* Ýuê */
+/* 設置場所 */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_2_EOBJ, { 0x81, EPC_RULE_SET | EPC_RULE_GET | EPC_ANNOUNCE, 1, (intptr_t)&electric_energy_meter_data[1].installation_location, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get });
 
-/* Kiu
-îñ */
+/* 規格Ｖｅｒｓｉｏｎ情報 */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_2_EOBJ, { 0x82, EPC_RULE_GET, 4, (intptr_t)&electric_energy_meter_data[1].standard_version_information, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get });
 
-/* Ùí­¶óÔ */
+/* 異常発生状態 */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_2_EOBJ, { 0x88, EPC_RULE_GET | EPC_ANNOUNCE, 1, (intptr_t)&electric_energy_meter_data[1].fault_status, (EPRP_SETTER *)alarm_prop_set, (EPRP_GETTER *)ecn_data_prop_get });
 
-/* [J[R[h */
+/* メーカーコード */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_2_EOBJ, { 0x8A, EPC_RULE_GET, 3, (intptr_t)&electric_energy_meter_data[1].manufacturer_code, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get });
 
-/* »ÝÝè */
+/* 現在時刻設定 */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_2_EOBJ, { 0x97, EPC_RULE_SET | EPC_RULE_GET, 2, (intptr_t)NULL, (EPRP_SETTER *)time_prop_set, (EPRP_GETTER *)time_prop_get });
 
-/* »ÝNúÝè */
+/* 現在年月日設定 */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_2_EOBJ, { 0x98, EPC_RULE_SET | EPC_RULE_GET, 4, (intptr_t)NULL, (EPRP_SETTER *)date_prop_set, (EPRP_GETTER *)date_prop_get });
 
-/* ÏZdÍÊPÊ */
+/* 積算電力量単位 */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_2_EOBJ, { 0xE2, EPC_RULE_GET, 1, (intptr_t)&electric_energy_meter_data[1].integral_electric_energy_unit, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get });
 
-/* ÏZdÍÊvªl */
+/* 積算電力量計測値 */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_2_EOBJ, { 0xE0, EPC_RULE_GET, 4, (intptr_t)&electric_energy_meter_data[1].integral_electric_energy_measurement_value, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)watt_hour_meter_integral_electric_energy_measurement_value_get });
 
-/* ÏZdÍÊvªlðP */
+/* 積算電力量計測値履歴１ */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_2_EOBJ, { 0xE3, EPC_RULE_GET, 192, (intptr_t)&electric_energy_meter_data[1].integral_electric_energy_measurement_log, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)watt_hour_meter_integral_electric_energy_measurement_log_get });
 
 /*
- *  dÍÊ[^R
+ *  電力量メータ３
  */
 ECN_CRE_EOBJ (ELECTRIC_ENERGY_METER_3_EOBJ, { EOBJ_DEVICE, LOCAL_NODE_EOBJ, 0, EOJ_X1_AMENITY, EOJ_X2_ELECTRIC_ENERGY_METER, EOJ_X3_ELECTRIC_ENERGY_METER_3 });
 
-/* ®ìóÔ */
+/* 動作状態 */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_3_EOBJ, { 0x80, EPC_RULE_SET | EPC_RULE_GET | EPC_ANNOUNCE, 1, (intptr_t)&electric_energy_meter_data[2], (EPRP_SETTER *)onoff_prop_set, (EPRP_GETTER *)ecn_data_prop_get });
 
-/* Ýuê */
+/* 設置場所 */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_3_EOBJ, { 0x81, EPC_RULE_SET | EPC_RULE_GET | EPC_ANNOUNCE, 1, (intptr_t)&electric_energy_meter_data[2].installation_location, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get });
 
-/* Kiu
-îñ */
+/* 規格Ｖｅｒｓｉｏｎ情報 */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_3_EOBJ, { 0x82, EPC_RULE_GET, 4, (intptr_t)&electric_energy_meter_data[2].standard_version_information, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get });
 
-/* Ùí­¶óÔ */
+/* 異常発生状態 */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_3_EOBJ, { 0x88, EPC_RULE_GET | EPC_ANNOUNCE, 1, (intptr_t)&electric_energy_meter_data[2].fault_status, (EPRP_SETTER *)alarm_prop_set, (EPRP_GETTER *)ecn_data_prop_get });
 
-/* [J[R[h */
+/* メーカーコード */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_3_EOBJ, { 0x8A, EPC_RULE_GET, 3, (intptr_t)&electric_energy_meter_data[2].manufacturer_code, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get });
 
-/* »ÝÝè */
+/* 現在時刻設定 */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_3_EOBJ, { 0x97, EPC_RULE_SET | EPC_RULE_GET, 2, (intptr_t)NULL, (EPRP_SETTER *)time_prop_set, (EPRP_GETTER *)time_prop_get });
 
-/* »ÝNúÝè */
+/* 現在年月日設定 */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_3_EOBJ, { 0x98, EPC_RULE_SET | EPC_RULE_GET, 4, (intptr_t)NULL, (EPRP_SETTER *)date_prop_set, (EPRP_GETTER *)date_prop_get });
 
-/* ÏZdÍÊPÊ */
+/* 積算電力量単位 */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_3_EOBJ, { 0xE2, EPC_RULE_GET, 1, (intptr_t)&electric_energy_meter_data[2].integral_electric_energy_unit, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get });
 
-/* ÏZdÍÊvªl */
+/* 積算電力量計測値 */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_3_EOBJ, { 0xE0, EPC_RULE_GET, 4, (intptr_t)&electric_energy_meter_data[2].integral_electric_energy_measurement_value, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)watt_hour_meter_integral_electric_energy_measurement_value_get });
 
-/* ÏZdÍÊvªlðP */
+/* 積算電力量計測値履歴１ */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_3_EOBJ, { 0xE3, EPC_RULE_GET, 192, (intptr_t)&electric_energy_meter_data[2].integral_electric_energy_measurement_log, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)watt_hour_meter_integral_electric_energy_measurement_log_get });
 
 /*
- *  dÍÊ[^S
+ *  電力量メータ４
  */
 ECN_CRE_EOBJ (ELECTRIC_ENERGY_METER_4_EOBJ, { EOBJ_DEVICE, LOCAL_NODE_EOBJ, 0, EOJ_X1_AMENITY, EOJ_X2_ELECTRIC_ENERGY_METER, EOJ_X3_ELECTRIC_ENERGY_METER_4 });
 
-/* ®ìóÔ */
+/* 動作状態 */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_4_EOBJ, { 0x80, EPC_RULE_SET | EPC_RULE_GET | EPC_ANNOUNCE, 1, (intptr_t)&electric_energy_meter_data[3], (EPRP_SETTER *)onoff_prop_set, (EPRP_GETTER *)ecn_data_prop_get });
 
-/* Ýuê */
+/* 設置場所 */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_4_EOBJ, { 0x81, EPC_RULE_SET | EPC_RULE_GET | EPC_ANNOUNCE, 1, (intptr_t)&electric_energy_meter_data[3].installation_location, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get });
 
-/* Kiu
-îñ */
+/* 規格Ｖｅｒｓｉｏｎ情報 */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_4_EOBJ, { 0x82, EPC_RULE_GET, 4, (intptr_t)&electric_energy_meter_data[3].standard_version_information, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get });
 
-/* Ùí­¶óÔ */
+/* 異常発生状態 */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_4_EOBJ, { 0x88, EPC_RULE_GET | EPC_ANNOUNCE, 1, (intptr_t)&electric_energy_meter_data[3].fault_status, (EPRP_SETTER *)alarm_prop_set, (EPRP_GETTER *)ecn_data_prop_get });
 
-/* [J[R[h */
+/* メーカーコード */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_4_EOBJ, { 0x8A, EPC_RULE_GET, 3, (intptr_t)&electric_energy_meter_data[3].manufacturer_code, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get });
 
-/* »ÝÝè */
+/* 現在時刻設定 */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_4_EOBJ, { 0x97, EPC_RULE_SET | EPC_RULE_GET, 2, (intptr_t)NULL, (EPRP_SETTER *)time_prop_set, (EPRP_GETTER *)time_prop_get });
 
-/* »ÝNúÝè */
+/* 現在年月日設定 */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_4_EOBJ, { 0x98, EPC_RULE_SET | EPC_RULE_GET, 4, (intptr_t)NULL, (EPRP_SETTER *)date_prop_set, (EPRP_GETTER *)date_prop_get });
 
-/* ÏZdÍÊPÊ */
+/* 積算電力量単位 */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_4_EOBJ, { 0xE2, EPC_RULE_GET, 1, (intptr_t)&electric_energy_meter_data[3].integral_electric_energy_unit, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get });
 
-/* ÏZdÍÊvªl */
+/* 積算電力量計測値 */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_4_EOBJ, { 0xE0, EPC_RULE_GET, 4, (intptr_t)&electric_energy_meter_data[3].integral_electric_energy_measurement_value, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)watt_hour_meter_integral_electric_energy_measurement_value_get });
 
-/* ÏZdÍÊvªlðP */
+/* 積算電力量計測値履歴１ */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_4_EOBJ, { 0xE3, EPC_RULE_GET, 192, (intptr_t)&electric_energy_meter_data[3].integral_electric_energy_measurement_log, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)watt_hour_meter_integral_electric_energy_measurement_log_get });
 
 /*
- *  dÍÊ[^T
+ *  電力量メータ５
  */
 ECN_CRE_EOBJ (ELECTRIC_ENERGY_METER_5_EOBJ, { EOBJ_DEVICE, LOCAL_NODE_EOBJ, 0, EOJ_X1_AMENITY, EOJ_X2_ELECTRIC_ENERGY_METER, EOJ_X3_ELECTRIC_ENERGY_METER_5 });
 
-/* ®ìóÔ */
+/* 動作状態 */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_5_EOBJ, { 0x80, EPC_RULE_SET | EPC_RULE_GET | EPC_ANNOUNCE, 1, (intptr_t)&electric_energy_meter_data[4], (EPRP_SETTER *)onoff_prop_set, (EPRP_GETTER *)ecn_data_prop_get });
 
-/* Ýuê */
+/* 設置場所 */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_5_EOBJ, { 0x81, EPC_RULE_SET | EPC_RULE_GET | EPC_ANNOUNCE, 1, (intptr_t)&electric_energy_meter_data[4].installation_location, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get });
 
-/* Kiu
-îñ */
+/* 規格Ｖｅｒｓｉｏｎ情報 */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_5_EOBJ, { 0x82, EPC_RULE_GET, 4, (intptr_t)&electric_energy_meter_data[4].standard_version_information, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get });
 
-/* Ùí­¶óÔ */
+/* 異常発生状態 */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_5_EOBJ, { 0x88, EPC_RULE_GET | EPC_ANNOUNCE, 1, (intptr_t)&electric_energy_meter_data[4].fault_status, (EPRP_SETTER *)alarm_prop_set, (EPRP_GETTER *)ecn_data_prop_get });
 
-/* [J[R[h */
+/* メーカーコード */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_5_EOBJ, { 0x8A, EPC_RULE_GET, 3, (intptr_t)&electric_energy_meter_data[4].manufacturer_code, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get });
 
-/* »ÝÝè */
+/* 現在時刻設定 */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_5_EOBJ, { 0x97, EPC_RULE_SET | EPC_RULE_GET, 2, (intptr_t)NULL, (EPRP_SETTER *)time_prop_set, (EPRP_GETTER *)time_prop_get });
 
-/* »ÝNúÝè */
+/* 現在年月日設定 */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_5_EOBJ, { 0x98, EPC_RULE_SET | EPC_RULE_GET, 4, (intptr_t)NULL, (EPRP_SETTER *)date_prop_set, (EPRP_GETTER *)date_prop_get });
 
-/* ÏZdÍÊPÊ */
+/* 積算電力量単位 */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_5_EOBJ, { 0xE2, EPC_RULE_GET, 1, (intptr_t)&electric_energy_meter_data[4].integral_electric_energy_unit, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get });
 
-/* ÏZdÍÊvªl */
+/* 積算電力量計測値 */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_5_EOBJ, { 0xE0, EPC_RULE_GET, 4, (intptr_t)&electric_energy_meter_data[4].integral_electric_energy_measurement_value, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)watt_hour_meter_integral_electric_energy_measurement_value_get });
 
-/* ÏZdÍÊvªlðP */
+/* 積算電力量計測値履歴１ */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_5_EOBJ, { 0xE3, EPC_RULE_GET, 192, (intptr_t)&electric_energy_meter_data[4].integral_electric_energy_measurement_log, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)watt_hour_meter_integral_electric_energy_measurement_log_get });
 
 /*
- *  dÍÊ[^U
+ *  電力量メータ６
  */
 ECN_CRE_EOBJ (ELECTRIC_ENERGY_METER_6_EOBJ, { EOBJ_DEVICE, LOCAL_NODE_EOBJ, 0, EOJ_X1_AMENITY, EOJ_X2_ELECTRIC_ENERGY_METER, EOJ_X3_ELECTRIC_ENERGY_METER_6 });
 
-/* ®ìóÔ */
+/* 動作状態 */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_6_EOBJ, { 0x80, EPC_RULE_SET | EPC_RULE_GET | EPC_ANNOUNCE, 1, (intptr_t)&electric_energy_meter_data[5], (EPRP_SETTER *)onoff_prop_set, (EPRP_GETTER *)ecn_data_prop_get });
 
-/* Ýuê */
+/* 設置場所 */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_6_EOBJ, { 0x81, EPC_RULE_SET | EPC_RULE_GET | EPC_ANNOUNCE, 1, (intptr_t)&electric_energy_meter_data[5].installation_location, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get });
 
-/* Kiu
-îñ */
+/* 規格Ｖｅｒｓｉｏｎ情報 */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_6_EOBJ, { 0x82, EPC_RULE_GET, 4, (intptr_t)&electric_energy_meter_data[5].standard_version_information, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get });
 
-/* Ùí­¶óÔ */
+/* 異常発生状態 */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_6_EOBJ, { 0x88, EPC_RULE_GET | EPC_ANNOUNCE, 1, (intptr_t)&electric_energy_meter_data[5].fault_status, (EPRP_SETTER *)alarm_prop_set, (EPRP_GETTER *)ecn_data_prop_get });
 
-/* [J[R[h */
+/* メーカーコード */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_6_EOBJ, { 0x8A, EPC_RULE_GET, 3, (intptr_t)&electric_energy_meter_data[5].manufacturer_code, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get });
 
-/* »ÝÝè */
+/* 現在時刻設定 */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_6_EOBJ, { 0x97, EPC_RULE_SET | EPC_RULE_GET, 2, (intptr_t)NULL, (EPRP_SETTER *)time_prop_set, (EPRP_GETTER *)time_prop_get });
 
-/* »ÝNúÝè */
+/* 現在年月日設定 */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_6_EOBJ, { 0x98, EPC_RULE_SET | EPC_RULE_GET, 4, (intptr_t)NULL, (EPRP_SETTER *)date_prop_set, (EPRP_GETTER *)date_prop_get });
 
-/* ÏZdÍÊPÊ */
+/* 積算電力量単位 */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_6_EOBJ, { 0xE2, EPC_RULE_GET, 1, (intptr_t)&electric_energy_meter_data[5].integral_electric_energy_unit, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get });
 
-/* ÏZdÍÊvªl */
+/* 積算電力量計測値 */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_6_EOBJ, { 0xE0, EPC_RULE_GET, 4, (intptr_t)&electric_energy_meter_data[5].integral_electric_energy_measurement_value, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)watt_hour_meter_integral_electric_energy_measurement_value_get });
 
-/* ÏZdÍÊvªlðP */
+/* 積算電力量計測値履歴１ */
 ECN_DEF_EPRP (ELECTRIC_ENERGY_METER_6_EOBJ, { 0xE3, EPC_RULE_GET, 192, (intptr_t)&electric_energy_meter_data[5].integral_electric_energy_measurement_log, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)watt_hour_meter_integral_electric_energy_measurement_log_get });
Index: UsbWattMeter/trunk/src/usb_watt_meter/main.h
===================================================================
--- UsbWattMeter/trunk/src/usb_watt_meter/main.h	(revision 166)
+++ UsbWattMeter/trunk/src/usb_watt_meter/main.h	(revision 167)
@@ -4,36 +4,32 @@
  *  Copyright (C) 2016 Cores Co., Ltd. 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$
@@ -44,9 +40,9 @@
 
 /*
- *		TvvO(1)Ìwb_t@C
+ *		サンプルプログラム(1)のヘッダファイル
  */
 
 /*
- *  ^[QbgË¶Ìè`
+ *  ターゲット依存の定義
  */
 #include <kernel.h>
@@ -55,24 +51,24 @@
 
 /*
- *  e^XNÌDæxÌè`
+ *  各タスクの優先度の定義
  */
 
-#define MAIN_PRIORITY	5		/* C^XNÌDæx */
+#define MAIN_PRIORITY	5		/* メインタスクの優先度 */
 
-#define MAIN_STACK_SIZE	1024	/* X^bNÌæÌTCY */
+#define MAIN_STACK_SIZE	1024	/* スタック領域のサイズ */
 
-#define EOJ_X3_LOCAL_NODE 1	/* m[hvt@CIuWFNgÌCX^XR[h */
+#define EOJ_X3_LOCAL_NODE 1	/* ノードプロファイルオブジェクトのインスタンスコード */
 
-#define EOJ_X3_ELECTRIC_ENERGY_METER_1 1	/* dÍÊ[^PÌCX^XR[h */
-#define EOJ_X3_ELECTRIC_ENERGY_METER_2 2	/* dÍÊ[^QÌCX^XR[h */
-#define EOJ_X3_ELECTRIC_ENERGY_METER_3 3	/* dÍÊ[^RÌCX^XR[h */
-#define EOJ_X3_ELECTRIC_ENERGY_METER_4 4	/* dÍÊ[^SÌCX^XR[h */
-#define EOJ_X3_ELECTRIC_ENERGY_METER_5 5	/* dÍÊ[^TÌCX^XR[h */
-#define EOJ_X3_ELECTRIC_ENERGY_METER_6 6	/* dÍÊ[^UÌCX^XR[h */
+#define EOJ_X3_ELECTRIC_ENERGY_METER_1 1	/* 電力量メータ１のインスタンスコード */
+#define EOJ_X3_ELECTRIC_ENERGY_METER_2 2	/* 電力量メータ２のインスタンスコード */
+#define EOJ_X3_ELECTRIC_ENERGY_METER_3 3	/* 電力量メータ３のインスタンスコード */
+#define EOJ_X3_ELECTRIC_ENERGY_METER_4 4	/* 電力量メータ４のインスタンスコード */
+#define EOJ_X3_ELECTRIC_ENERGY_METER_5 5	/* 電力量メータ５のインスタンスコード */
+#define EOJ_X3_ELECTRIC_ENERGY_METER_6 6	/* 電力量メータ６のインスタンスコード */
 
-#define	KMM_SIZE	8192		/* J[lªèt¯éÌæÌTCY */
+#define	KMM_SIZE	8192		/* カーネルが割り付けるメモリ領域のサイズ */
 
 /*
- *  ÖÌvg^Cvé¾
+ *  関数のプロトタイプ宣言
  */
 #ifndef TOPPERS_MACRO_ONLY
@@ -89,88 +85,84 @@
 
 /*
- *  u
-îñÌ^
+ *  Ｖｅｒｓｉｏｎ情報の型
  */
 struct version_information_t {
-	/* W[o[W(¬_Èã) */
+	/* メジャーバージョン(小数点以上) */
 	uint8_t major_version_number;
-	/* }Ci[o[W(¬_Èº) */
+	/* マイナーバージョン(小数点以下) */
 	uint8_t minor_version_number;
-	/* d¶^Cv */
+	/* 電文タイプ */
 	uint8_t message_type[2];
 };
 
 /*
- *  [J[R[hÌ^
+ *  メーカーコードの型
  */
 struct manufacturer_code_t {
-	/* [J[R[h */
+	/* メーカーコード */
 	uint8_t manufacturer_code[3];
 };
 
 /*
- *  ¯ÊÔÌ^
+ *  識別番号の型
  */
 struct node_identification_number_t {
-	/* ºÊÊMwIDtB[h */
+	/* 下位通信層IDフィールド */
 	uint8_t lower_communication_id_field;
-	/* [J[R[h */
+	/* メーカーコード */
 	struct manufacturer_code_t manufacturer_code;
-	/* j[NID([J[Æ©) */
+	/* ユニークID部(メーカー独自) */
 	uint8_t unique_id_section[13];
 };
 
 /*
- *  Kiu
-îñÌ^
+ *  規格Ｖｅｒｓｉｏｎ情報の型
  */
 struct standard_version_information_t {
-	/* Åè1(for future reserved) */
+	/* 固定1(for future reserved) */
 	uint8_t reserved1;
-	/* Åè2(for future reserved) */
+	/* 固定2(for future reserved) */
 	uint8_t reserved2;
-	/* [XðASCIIÅ¦· */
+	/* リリース順をASCIIで示す */
 	uint8_t order_of_release;
-	/* Åè4(for future reserved) */
+	/* 固定4(for future reserved) */
 	uint8_t reserved3;
 };
 
 /*
- *  m[hvt@CIuWFNg
+ *  ノードプロファイルオブジェクト
  */
 struct node_profile_object_t {
-	/* ®ìóÔ */
+	/* 動作状態 */
 	uint8_t operation_status;
-	/* u
-îñ */
+	/* Ｖｅｒｓｉｏｎ情報 */
 	struct version_information_t version_information;
-	/* ¯ÊÔ */
+	/* 識別番号 */
 	struct node_identification_number_t identification_number;
-	/* Ùíàe */
+	/* 異常内容 */
 	uint16_t fault_content;
-	/* [J[R[h */
+	/* メーカーコード */
 	struct manufacturer_code_t manufacturer_code;
 };
 
 /*
- *  dÍÊ[^
+ *  電力量メータ
  */
 struct watt_hour_meter_t {
-	/* ®ìóÔ */
+	/* 動作状態 */
 	uint8_t operation_status;
-	/* Ýuê */
+	/* 設置場所 */
 	uint8_t installation_location;
-	/* Kiu
-îñ */
+	/* 規格Ｖｅｒｓｉｏｎ情報 */
 	struct standard_version_information_t standard_version_information;
-	/* Ùí­¶óÔ */
+	/* 異常発生状態 */
 	uint8_t fault_status;
-	/* [J[R[h */
+	/* メーカーコード */
 	struct manufacturer_code_t manufacturer_code;
-	/* ÏZdÍÊPÊ */
+	/* 積算電力量単位 */
 	uint8_t integral_electric_energy_unit;
-	/* ÏZdÍÊvªl */
+	/* 積算電力量計測値 */
 	uint32_t integral_electric_energy_measurement_value;
-	/* ÏZdÍÊvªlðP */
+	/* 積算電力量計測値履歴１ */
 	uint32_t integral_electric_energy_measurement_log[48];
 	int current_pos;
@@ -185,7 +177,7 @@
 #endif
 
-extern struct node_profile_object_t local_node_data;	/* m[hvt@CIuWFNgÌf[^ */
+extern struct node_profile_object_t local_node_data;	/* ノードプロファイルオブジェクトのデータ */
 
-extern struct watt_hour_meter_t electric_energy_meter_data[6];	/* dÍÊ[^P`UÌf[^ */
+extern struct watt_hour_meter_t electric_energy_meter_data[6];	/* 電力量メータ１〜６のデータ */
 
 EPRP_SETTER onoff_prop_set;
