Changeset 107
- Timestamp:
- Jun 10, 2015, 8:40:31 PM (9 years ago)
- Location:
- uKadecot/trunk
- Files:
-
- 255 edited
Legend:
- Unmodified
- Added
- Removed
-
uKadecot/trunk/csp/libssp/dummy.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 9 9 * Graduate School of Information Science, Nagoya Univ., JAPAN 10 10 * 11 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 12 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 13 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 14 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 15 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 16 * XR[hÉÜÜêÄ¢é±ÆD 17 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 18 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 19 gip 20 * Ò}j 21 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 22 * ̳ÛØKèðfÚ·é±ÆD 23 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 24 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 25 * ÆD 26 * (a) Äzzɺ¤hL 27 gipÒ}j 28 AÈÇjÉCãLÌ 29 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 30 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 31 * ñ·é±ÆD 32 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 33 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 34 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 35 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 36 * ÆÓ·é±ÆD 11 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 12 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 13 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 14 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 15 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 16 * スコード中に含まれていること. 17 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 18 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 19 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 20 * の無保証規定を掲載すること. 21 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 22 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 23 * と. 24 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 25 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 26 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 27 * 報告すること. 28 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 29 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 30 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 31 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 32 * 免責すること. 37 33 * 38 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨39 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI40 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF41 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»42 * ÌÓCðíÈ¢D34 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 35 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 36 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 37 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 38 * の責任を負わない. 43 39 * 44 40 * @(#) $Id$ … … 46 42 47 43 /* 48 * J[lì¬p_~[^XN44 * カーネル作成用ダミータスク 49 45 */ 50 46 … … 54 50 55 51 /* 56 * C^XN52 * メインタスク 57 53 */ 58 54 void dummy_task(intptr_t exinf) -
Property svn:mime-type
changed from
-
uKadecot/trunk/csp/libssp/dummy.cfg
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 5 5 /* 6 * TvvO(1)ÌVXeRtBM 7 [Vt@C 6 * サンプルプログラム(1)のシステムコンフィギュレーションファイル 8 7 */ 9 8 #include "dummy.h" -
Property svn:mime-type
changed from
-
uKadecot/trunk/csp/libssp/dummy.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 9 9 * Graduate School of Information Science, Nagoya Univ., JAPAN 10 10 * 11 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 12 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 13 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 14 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 15 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 16 * XR[hÉÜÜêÄ¢é±ÆD 17 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 18 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 19 gip 20 * Ò}j 21 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 22 * ̳ÛØKèðfÚ·é±ÆD 23 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 24 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 25 * ÆD 26 * (a) Äzzɺ¤hL 27 gipÒ}j 28 AÈÇjÉCãLÌ 29 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 30 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 31 * ñ·é±ÆD 32 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 33 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 34 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 35 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 36 * ÆÓ·é±ÆD 11 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 12 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 13 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 14 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 15 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 16 * スコード中に含まれていること. 17 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 18 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 19 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 20 * の無保証規定を掲載すること. 21 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 22 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 23 * と. 24 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 25 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 26 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 27 * 報告すること. 28 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 29 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 30 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 31 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 32 * 免責すること. 37 33 * 38 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨39 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI40 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF41 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»42 * ÌÓCðíÈ¢D34 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 35 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 36 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 37 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 38 * の責任を負わない. 43 39 * 44 40 * @(#) $Id$ … … 46 42 47 43 /* 48 * J[lì¬p_~[^XNÌwb_t@C44 * カーネル作成用ダミータスクのヘッダファイル 49 45 */ 50 46 51 47 /* 52 * ^[Qbg˶Ìè`48 * ターゲット依存の定義 53 49 */ 54 50 #include "target_test.h" 55 51 56 52 /* 57 * e^XNÌDæxÌè`53 * 各タスクの優先度の定義 58 54 */ 59 55 60 #define MAIN_PRIORITY 5 /* C^XNÌDæx*/56 #define MAIN_PRIORITY 5 /* メインタスクの優先度 */ 61 57 62 58 /* 63 * ^[QbgÉ˶·éÂ\«Ì éèÌè`59 * ターゲットに依存する可能性のある定数の定義 64 60 */ 65 61 66 62 #ifndef TASK_PORTID 67 #define TASK_PORTID 1 /* ¶üÍ·éVA|[gID */63 #define TASK_PORTID 1 /* 文字入力するシリアルポートID */ 68 64 #endif /* TASK_PORTID */ 69 65 70 66 #ifndef STACK_SIZE 71 #define STACK_SIZE 4096 /* ^XNÌX^bNTCY*/67 #define STACK_SIZE 4096 /* タスクのスタックサイズ */ 72 68 #endif /* STACK_SIZE */ 73 69 74 70 /* 75 * ÖÌvg^Cvé¾71 * 関数のプロトタイプ宣言 76 72 */ 77 73 #ifndef TOPPERS_MACRO_ONLY -
Property svn:mime-type
changed from
-
uKadecot/trunk/ecnl_ssp/echonet.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2014 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ … … 51 47 52 48 /* 53 * ECHONET Lite T[rXJn49 * ECHONET Liteサービス処理開始 54 50 */ 55 51 ER ecn_sta_svc() … … 59 55 60 56 /* 61 * ECHONET IuWFNgQÆ62 * ø63 * ID fa_eobjid ECHONET IuWFNgID64 * T_REOBJ *fp_eobj ECHONET IuWFNgÌÝèàeRs[æ57 * ECHONETオブジェクト参照 58 * 引数 59 * ID fa_eobjid ECHONETオブジェクトID 60 * T_REOBJ *fp_eobj ECHONETオブジェクトの設定内容コピー先 65 61 * 66 * eobjid Åwèµ½ECHONETIuWFNgÌÝèàeðQÆ·éB67 * QƵ½ÝèàeÍpk_eobjÉwèµ½ÉÔ³êéB62 * eobjidで指定したECHONETオブジェクトの設定内容を参照する。 63 * 参照した設定内容はpk_eobjに指定したメモリに返される。 68 64 */ 69 65 ER ecn_ref_eobj(ID fa_eobjid, T_REOBJ *fp_eobj) … … 72 68 73 69 if (!fp_eobj) 74 return E_PAR; /* p[^G[*/70 return E_PAR; /* パラメータエラー */ 75 71 76 72 if ((fa_eobjid <= 0) || (fa_eobjid > tmax_eobjid)) 77 return E_OBJ; /* IuWFNg¢o^*/73 return E_OBJ; /* オブジェクト未登録 */ 78 74 79 75 p_obj = &eobjinib_table[fa_eobjid - 1]; … … 85 81 86 82 /* 87 * ECHONET vpeBQÆ88 * ø89 * ID fa_eobjid ECHONET IuWFNgID90 * uint8_t fa_epc vpeBR[h91 * T_RPRP *fp_eprp ECHONET IuWFNgÌvpeBÝèàeRs[æ83 * ECHONETプロパティ参照 84 * 引数 85 * ID fa_eobjid ECHONETオブジェクトID 86 * uint8_t fa_epc プロパティコード 87 * T_RPRP *fp_eprp ECHONETオブジェクトのプロパティ設定内容コピー先 92 88 * 93 * eobjid Åwèµ½ECHONETIuWFNgÌAepcÅwèµ½vpeBÌÝèàeðQÆ·éB94 * QƵ½ÝèàeÍpk_eprpÉwèµ½ÉÔ³êéB89 * eobjidで指定したECHONETオブジェクトの、epcで指定したプロパティの設定内容を参照する。 90 * 参照した設定内容はpk_eprpに指定したメモリに返される。 95 91 */ 96 92 ER ecn_ref_eprp(ID fa_eobjid, uint8_t fa_epc, T_RPRP *fp_eprp) … … 101 97 102 98 if (!fp_eprp) 103 return E_PAR; /* p[^G[*/99 return E_PAR; /* パラメータエラー */ 104 100 105 101 if ((fa_eobjid <= 0) || (fa_eobjid > tmax_eobjid)) 106 return E_OBJ; /* IuWFNg¢o^*/102 return E_OBJ; /* オブジェクト未登録 */ 107 103 108 104 p_obj = &eobjinib_table[fa_eobjid - 1]; 109 105 110 /* eoj ÌÂvpeBú»è`zñ©çõ*/106 /* eojの持つプロパティ初期化定義配列から検索 */ 111 107 p = p_obj->eprp; 112 108 for (i = 0; i < p_obj->eprpcnt; i++, p++) { … … 117 113 } 118 114 119 return E_PAR; /* p[^G[*/120 } 121 122 /* 123 * vpeBl«Ývisvjd¶ì¬124 * ø125 * T_EDATA **ppk_esv æ¾µ½d¶Ìi[æ126 * ID fa_deoj ¶æÌECHONETIuWFNgID127 * uint8_t fa_epc vpeBR[h128 * uint8_t fa_pdc vpeBlf[^TCY129 * const void *p_edt vpeBlf[^115 return E_PAR; /* パラメータエラー */ 116 } 117 118 /* 119 * プロパティ値書き込み要求(応答不要)電文作成 120 * 引数 121 * T_EDATA **ppk_esv 取得した電文の格納先 122 * ID fa_deoj 宛先のECHONETオブジェクトID 123 * uint8_t fa_epc プロパティコード 124 * uint8_t fa_pdc プロパティ値データサイズ 125 * const void *p_edt プロパティ値データ 130 126 * 131 * vpeBl«Ývisvjd¶ð쬷éB132 * d¶ÍdeojÅwèµ½ECHONETIuWFNgð¶æƵA133 * d¶ÌßÌvpeBlƵÄAepcÆpdcAp_edtÅwè³ê½134 * vpeBR[hAf[^TCYAf[^ðd¶ÉÝè·éB135 * 쬵½d¶ÌæªAhXÍ|C^oRÅÔ³êéB127 * プロパティ値書き込み要求(応答不要)電文を作成する。 128 * 電文はdeojで指定したECHONETオブジェクトを宛先とし、 129 * 電文の初めのプロパティ値として、epcとpdc、p_edtで指定された 130 * プロパティコード、データサイズ、データを電文に設定する。 131 * 作成した電文の先頭アドレスはポインタ経由で返される。 136 132 */ 137 133 ER ecn_esv_seti(T_EDATA **ppk_esv, ID fa_deoj, uint8_t fa_epc, uint8_t fa_pdc, … … 142 138 143 139 /* 144 * vpeBl«Ývivjd¶ì¬145 * ø146 * T_EDATA **ppk_esv æ¾µ½d¶Ìi[æ147 * ID fa_deoj ¶æÌECHONETIuWFNgID148 * uint8_t fa_epc vpeBR[h149 * uint8_t fa_pdc vpeBlf[^TCY150 * const void *p_edt vpeBlf[^140 * プロパティ値書き込み要求(応答要)電文作成 141 * 引数 142 * T_EDATA **ppk_esv 取得した電文の格納先 143 * ID fa_deoj 宛先のECHONETオブジェクトID 144 * uint8_t fa_epc プロパティコード 145 * uint8_t fa_pdc プロパティ値データサイズ 146 * const void *p_edt プロパティ値データ 151 147 * 152 * vpeBl«Ývivjd¶ð쬷éB153 * d¶ÍdeojÅwèµ½ECHONETIuWFNgð¶æƵA154 * d¶ÌßÌvpeBlƵÄAepcÆpdcAp_edtÅwè³ê½155 * vpeBR[hAf[^TCYAf[^ðd¶ÉÝè·éB156 * 쬵½d¶ÌæªAhXÍ|C^oRÅÔ³êéB148 * プロパティ値書き込み要求(応答要)電文を作成する。 149 * 電文はdeojで指定したECHONETオブジェクトを宛先とし、 150 * 電文の初めのプロパティ値として、epcとpdc、p_edtで指定された 151 * プロパティコード、データサイズ、データを電文に設定する。 152 * 作成した電文の先頭アドレスはポインタ経由で返される。 157 153 */ 158 154 ER ecn_esv_setc(T_EDATA **ppk_esv, ID fa_deoj, uint8_t fa_epc, uint8_t fa_pdc, … … 163 159 164 160 /* 165 * vpeBlÇÝoµvd¶ì¬166 * ø167 * T_EDATA **ppk_esv æ¾µ½d¶Ìi[æ168 * ID fa_deoj ¶æÌECHONETIuWFNgID169 * uint8_t fa_epc vpeBR[h161 * プロパティ値読み出し要求電文作成 162 * 引数 163 * T_EDATA **ppk_esv 取得した電文の格納先 164 * ID fa_deoj 宛先のECHONETオブジェクトID 165 * uint8_t fa_epc プロパティコード 170 166 * 171 * vpeBlÇÝoµvd¶ð쬷éB172 * d¶ÍdeojÅwèµ½ECHONETIuWFNgð¶æƵA173 * d¶ÌßÌvpeBlƵÄAepcÅwè³ê½174 * vpeBR[hðd¶ÉÝè·éB175 * 쬵½d¶ÌæªAhXÍ|C^oRÅÔ³êéB167 * プロパティ値読み出し要求電文を作成する。 168 * 電文はdeojで指定したECHONETオブジェクトを宛先とし、 169 * 電文の初めのプロパティ値として、epcで指定された 170 * プロパティコードを電文に設定する。 171 * 作成した電文の先頭アドレスはポインタ経由で返される。 176 172 */ 177 173 ER ecn_esv_get(T_EDATA **ppk_esv, ID fa_deoj, uint8_t fa_epc) … … 181 177 182 178 /* 183 * vpeBlÊmvd¶ì¬184 * ø185 * T_EDATA **ppk_esv æ¾µ½d¶Ìi[æ186 * ID fa_deoj ¶æÌECHONETIuWFNgID187 * uint8_t fa_epc vpeBR[h179 * プロパティ値通知要求電文作成 180 * 引数 181 * T_EDATA **ppk_esv 取得した電文の格納先 182 * ID fa_deoj 宛先のECHONETオブジェクトID 183 * uint8_t fa_epc プロパティコード 188 184 * 189 * vpeBlÊmvd¶ð쬷éB190 * d¶ÍdeojÅwèµ½ECHONETIuWFNgð¶æƵA191 * d¶ÌßÌvpeBlƵÄAepcÅwè³ê½192 * vpeBR[hðd¶ÉÝè·éB193 * 쬵½d¶ÌæªAhXÍ|C^oRÅÔ³êéB185 * プロパティ値通知要求電文を作成する。 186 * 電文はdeojで指定したECHONETオブジェクトを宛先とし、 187 * 電文の初めのプロパティ値として、epcで指定された 188 * プロパティコードを電文に設定する。 189 * 作成した電文の先頭アドレスはポインタ経由で返される。 194 190 */ 195 191 ER ecn_esv_inf_req(T_EDATA **ppk_esv, ID fa_deoj, uint8_t fa_epc) … … 199 195 200 196 /* 201 * vpeBl«ÝEÇÝoµvd¶ì¬202 * ø203 * T_EDATA **ppk_esv æ¾µ½d¶Ìi[æ204 * ID fa_deoj ¶æÌECHONETIuWFNgID205 * uint8_t fa_epc vpeBR[h206 * uint8_t fa_pdc vpeBlf[^TCY207 * const void *p_edt vpeBlf[^197 * プロパティ値書き込み・読み出し要求電文作成 198 * 引数 199 * T_EDATA **ppk_esv 取得した電文の格納先 200 * ID fa_deoj 宛先のECHONETオブジェクトID 201 * uint8_t fa_epc プロパティコード 202 * uint8_t fa_pdc プロパティ値データサイズ 203 * const void *p_edt プロパティ値データ 208 204 * 209 * vpeBl«ÝEÇÝoµvd¶ð쬷éB210 * d¶ÍdeojÅwèµ½ECHONETIuWFNgð¶æƵA211 * d¶ÌßÌvpeBlƵÄAepcÆpdcAp_edtÅwè³ê½212 * vpeBR[hAf[^TCYAf[^ðd¶ÉÝè·éB213 * 쬵½d¶ÌæªAhXÍ|C^oRÅÔ³êéB205 * プロパティ値書き込み・読み出し要求電文を作成する。 206 * 電文はdeojで指定したECHONETオブジェクトを宛先とし、 207 * 電文の初めのプロパティ値として、epcとpdc、p_edtで指定された 208 * プロパティコード、データサイズ、データを電文に設定する。 209 * 作成した電文の先頭アドレスはポインタ経由で返される。 214 210 */ 215 211 ER ecn_esv_set_get(T_EDATA **ppk_esv, ID fa_deoj, uint8_t fa_epc, uint8_t fa_pdc, … … 220 216 221 217 /* 222 * vpeBl«ÝEÇÝoµvd¶ì¬FÜèÔµwè223 * vpeBl«ÝEÇÝoµvd¶ì¬ÌA«ÝvpeBzñðI¦Ä224 * ÇÝoµvpeBzñÉÚéÉp¢éB218 * プロパティ値書き込み・読み出し要求電文作成:折り返し指定 219 * プロパティ値書き込み・読み出し要求電文作成中の、書き込みプロパティ配列を終えて 220 * 読み出しプロパティ配列に移る時に用いる。 225 221 */ 226 222 ER ecn_trn_set_get(T_EDATA *ppk_esv, int *p_trn_pos) … … 233 229 return E_PAR; 234 230 235 /* vpeBÇÝÝ«ÝÌwbhîñðL^*/231 /* プロパティ読み込み件数書き込み時のヘッド情報を記録 */ 236 232 *p_trn_pos = _ecn_fbs_get_datalen(*(ECN_FBS_ID *)&ppk_esv); 237 233 238 /* d¶pÉf[^ÇÁE±Ì_ÅÌd¶vpeBðL^*/234 /* 応答電文用メモリにデータ追加・この時点での応答電文中プロパティ件数を記録 */ 239 235 a_ret = _ecn_fbs_add_data_ex(*(ECN_FBS_ID *)&ppk_esv, &ppk_esv->hdr.edata.opc, 1); 240 236 if (a_ret) { … … 243 239 } 244 240 245 /* d¶vpeBð 0 Éß·i¡ãAI¹wè·éÜÅÍÇÝoµvpeBÉÈéj*/241 /* 応答電文中プロパティ件数を 0 に戻す(今後、終了指定するまでは読み出しプロパティ件数になる) */ 246 242 ppk_esv->hdr.edata.opc = 0; 247 243 … … 250 246 251 247 /* 252 * vpeBl«ÝEÇÝoµvd¶ì¬FI¹wè253 * vpeBl«ÝEÇÝoµvd¶ì¬ÌAÇÝoµvpeBzñðI¦éÉp¢éB248 * プロパティ値書き込み・読み出し要求電文作成:終了指定 249 * プロパティ値書き込み・読み出し要求電文作成中の、読み出しプロパティ配列を終える時に用いる。 254 250 */ 255 251 ER ecn_end_set_get(T_EDATA *ppk_esv, int fa_trn_pos) … … 262 258 return E_PAR; 263 259 264 /* ±Ì_ÅÌd¶vpeB(ÇÝoµvpeB)ðÛ*/260 /* この時点での応答電文中プロパティ件数(読み出しプロパティ件数)を保持 */ 265 261 a_rd_opc = ppk_esv->hdr.edata.opc; 266 262 267 /* d¶vpeB(«ÝvpeB)ðÛ¶Êu©çÇÝæè*/263 /* 応答電文中プロパティ件数(書き込みプロパティ件数)を保存位置から読み取り */ 268 264 a_wr_opc = _ecn_fbs_peek(*(ECN_FBS_ID *)&ppk_esv, fa_trn_pos); 269 265 if (a_wr_opc < 0) { … … 272 268 } 273 269 274 /* d¶vpeB(«ÝvpeB)ð³*/270 /* 応答電文中プロパティ件数(書き込みプロパティ件数)を復元 */ 275 271 ppk_esv->hdr.edata.opc = (uint8_t)a_wr_opc; 276 272 277 /* d¶vpeB(ÇÝoµvpeB)ðÛ¶ÊuÉ«Ý*/273 /* 応答電文中プロパティ件数(読み出しプロパティ件数)を保存位置に書き込み */ 278 274 a_ret = _ecn_fbs_poke(*(ECN_FBS_ID *)&ppk_esv, fa_trn_pos, a_rd_opc); 279 275 if (a_ret) { … … 286 282 287 283 /* 288 * vpeBlÊmivjd¶ì¬289 * ø290 * T_EDATA **ppk_esv æ¾µ½d¶Ìi[æ291 * ID fa_deoj ¶æÌECHONETIuWFNgID292 * ID fa_seoj M³ÌECHONETIuWFNgID293 * uint8_t fa_sepc M³ÌvpeBR[h284 * プロパティ値通知(応答要)電文作成 285 * 引数 286 * T_EDATA **ppk_esv 取得した電文の格納先 287 * ID fa_deoj 宛先のECHONETオブジェクトID 288 * ID fa_seoj 送信元のECHONETオブジェクトID 289 * uint8_t fa_sepc 送信元のプロパティコード 294 290 */ 295 291 ER ecn_esv_infc(T_EDATA **ppk_esv, ID fa_deoj, ID fa_seoj, uint8_t fa_sepc) … … 299 295 300 296 /* 301 * vd¶ÖÌvpeBwèÇÁ (vpeBf[^ªtµÈ¢êÉp¢é)297 * 要求電文へのプロパティ指定追加 (プロパティデータが付随しない場合に用いる) 302 298 */ 303 299 ER ecn_add_epc(T_EDATA *pk_esv, uint8_t epc) … … 307 303 308 304 /* 309 * vd¶ÖÌvpeBf[^ÇÁ (vpeB¨æÑtf[^ðÇÁ·é)305 * 要求電文へのプロパティデータ追加 (プロパティおよび付随データを追加する) 310 306 */ 311 307 ER ecn_add_edt(T_EDATA *pk_esv, uint8_t fa_epc, uint8_t fa_pdc, const void *p_edt) … … 316 312 317 313 if (!pk_esv) 318 return E_PAR; /* æ¾µ½FBS_IDÌi[æªNULL */314 return E_PAR; /* 取得したFBS_IDの格納先がNULL */ 319 315 if (ECHONET_MEMPOOL_BLOCK_SIZE <= fa_pdc) 320 return E_PAR; /* vpeBlTCYªå«·¬é*/316 return E_PAR; /* プロパティ値サイズが大きすぎる */ 321 317 if (!p_edt && 0 < fa_pdc) 322 return E_PAR; /* vpeBlTCYª1ÈãÈÌÉf[^|C^ªNULL */318 return E_PAR; /* プロパティ値サイズが1以上なのにデータポインタがNULL */ 323 319 324 320 a_fbs_id.ptr = (T_ECN_FST_BLK *)pk_esv; 325 321 if (((T_EDATA *)a_fbs_id.ptr)->hdr.edata.opc == 0xFF) 326 return E_PAR; /* vpeBª½·¬é*/327 328 /* vd¶pÉf[^ÇÁ*/322 return E_PAR; /* プロパティが多すぎる */ 323 324 /* 要求電文用メモリにデータ追加 */ 329 325 memset(&a_ecn_prp, 0, sizeof(a_ecn_prp)); 330 326 a_ecn_prp.epc = fa_epc; … … 338 334 } 339 335 if (0 < fa_pdc) { 340 /* tf[^ÇÁ*/336 /* 付随データ追加 */ 341 337 a_ret = _ecn_fbs_add_data_ex(a_fbs_id, p_edt, fa_pdc); 342 338 if (a_ret) { … … 347 343 } 348 344 } 349 /* vpeBCNg*/345 /* プロパティ数インクリメント */ 350 346 ((T_EDATA *)a_fbs_id.ptr)->hdr.edata.opc++; 351 347 … … 355 351 356 352 /* 357 * vd¶ÌM358 * esv Åwè³ê½vd¶ðM·éB359 * d¶Éwè³ê½¶æ©çIPAhXðÁèµAUDPpPbgƵÄM·éB353 * 要求電文の送信 354 * esvで指定された要求電文を送信する。 355 * 電文に指定された宛先からIPアドレスを特定し、UDPパケットとして送信する。 360 356 */ 361 357 ER ecn_snd_esv(T_EDATA *pk_esv) … … 367 363 368 364 /* 369 * d¶ÌóM|[O370 * d¶ðóM·éÌðÒÂB371 * óMµ½d¶Íppk_esvÅwèµ½|C^[ÉæªAhXªÔ³êéB372 * d¶ÌóMÌL³É©©íç¸AÒ½¸ÉÖð²¯éB365 * 応答電文の受信ポーリング 366 * 応答電文を受信するのを待つ。 367 * 受信した応答電文はppk_esvで指定したポインターに先頭アドレスが返される。 368 * 応答電文の受信の有無にかかわらず、待たずに関数を抜ける。 373 369 */ 374 370 ER ecn_prcv_esv(T_EDATA **ppk_esv) … … 391 387 392 388 /* 393 * d¶Ìjü389 * 応答電文の破棄 394 390 */ 395 391 ER ecn_rel_esv(T_EDATA *pk_esv) … … 404 400 405 401 /* 406 * d¶ÌM³m[hðæ¾·é402 * 応答電文の送信元ノードを取得する 407 403 */ 408 404 ID ecn_get_enod(T_EDATA *pk_esv) … … 428 424 429 425 /* 430 * d¶ÌM³@íIuWFNgðæ¾·é426 * 応答電文の送信元機器オブジェクトを取得する 431 427 */ 432 428 ID ecn_get_eobj(T_EDATA *pk_esv) … … 439 435 p_snod = _ecn_eno_fnd(((T_ECN_FST_BLK *)pk_esv)->hdr.sender); 440 436 if (p_snod != NULL) { 441 /* m[hvt@CÌê*/437 /* ノードプロファイルの場合 */ 442 438 if ((p_esv->edata.seoj.eojx1 == EOJ_X1_PROFILE) 443 439 && (p_esv->edata.seoj.eojx2 == EOJ_X2_NODE_PROFILE)) { 444 440 p_sobj = p_snod->profile; 445 441 } 446 /* @íIuWFNgÌê*/442 /* 機器オブジェクトの場合 */ 447 443 else { 448 444 p_sobj = _ecn_eoj_fnd(p_snod, &p_esv->edata.seoj); … … 460 456 461 457 /* 462 * d¶ðÍCe[^[ú»458 * 応答電文解析イテレーター初期化 463 459 */ 464 460 ER ecn_itr_ini(T_ENUM_EPC *pk_itr, T_EDATA *pk_esv) … … 472 468 pk_itr->pk_esv = pk_esv; 473 469 pk_itr->count = pk_esv->hdr.edata.opc; 474 /* ¡ÌubNÅÌvpeB*/475 pk_itr->got_ct = 0; /* ¡ÌubNÅAÇÝæÁ½*/476 pk_itr->next_blk_ct = 0; /* ã±ubN*/477 pk_itr->is_eof = 0; /* I[ÉBµ½Añ0 */470 /* 今のブロックでのプロパティ総数 */ 471 pk_itr->got_ct = 0; /* 今のブロックで、読み取った数 */ 472 pk_itr->next_blk_ct = 0; /* 後続ブロック数 */ 473 pk_itr->is_eof = 0; /* 終端に達した時、非0 */ 478 474 pk_itr->cur = offsetof(T_ECN_EDT_HDR, ecn_prp); 479 475 480 476 switch (pk_esv->hdr.edata.esv) { 481 case ESV_SET_GET: /* 0x6E vpeBl«ÝEÇÝoµv*/482 case ESV_SET_GET_RES: /* 0x7E vpeBl«ÝEÇÝoµ*/483 case ESV_SET_GET_SNA: /* 0x5E vpeBl«ÝEÇÝoµsÂ*/477 case ESV_SET_GET: /* 0x6E プロパティ値書き込み・読み出し要求 */ 478 case ESV_SET_GET_RES: /* 0x7E プロパティ値書き込み・読み出し応答 */ 479 case ESV_SET_GET_SNA: /* 0x5E プロパティ値書き込み・読み出し不可応答 */ 484 480 pk_itr->next_blk_ct ++; 485 481 default: … … 491 487 492 488 /* 493 * d¶ðÍCe[^[CNg489 * 応答電文解析イテレーターインクリメント 494 490 */ 495 491 ER ecn_itr_nxt(T_ENUM_EPC *pk_itr, uint8_t *p_epc, uint8_t *p_pdc, void *p_edt) … … 513 509 514 510 if (pk_itr->is_eof) 515 return E_BOVR; /* f[^I¹*/511 return E_BOVR; /* データ終了 */ 516 512 if ( pk_itr->count <= pk_itr->got_ct 517 513 && pk_itr->next_blk_ct < 1) { 518 pk_itr->is_eof = 1; /* I[ÉBµ½Añ0 */519 return E_BOVR; /* f[^I¹*/514 pk_itr->is_eof = 1; /* 終端に達した時、非0 */ 515 return E_BOVR; /* データ終了 */ 520 516 } 521 517 522 518 a_fbs_id.ptr = (T_ECN_FST_BLK *)pk_itr->pk_esv; 523 519 524 /* ³ÌJ[\ÊuðÛ¶µACe[^ÌJ[\ÊuÉ·é*/520 /* 元のカーソル位置を保存し、イテレータのカーソル位置にする */ 525 521 a_rd_bak = a_fbs_id.ptr->hdr.rd; 526 522 a_fbs_id.ptr->hdr.rd = pk_itr->cur; … … 530 526 #endif 531 527 if (pk_itr->count <= pk_itr->got_ct && 0 < pk_itr->next_blk_ct) { 532 /* ubNÉÚ®*/528 /* 次ブロックに移動 */ 533 529 pk_itr->next_blk_ct --; 534 pk_itr->count = 0; /* ¡ÌubNÅÌvpeB*/535 pk_itr->got_ct = 0; /* ¡ÌubNÅAÇÝæÁ½*/536 537 /* ubNÌvpeBðÇÝæé*/530 pk_itr->count = 0; /* 今のブロックでのプロパティ総数 */ 531 pk_itr->got_ct = 0; /* 今のブロックで、読み取った数 */ 532 533 /* 次ブロックのプロパティ数を読み取る */ 538 534 a_rd_len = 0; 539 535 a_ret = _ecn_fbs_get_data(a_fbs_id, &a_ecn_prp.pdc, 1, &a_rd_len); … … 541 537 goto lb_except; 542 538 if (0 < a_rd_len) { 543 pk_itr->count = a_ecn_prp.pdc; /* ¡ÌubNÅÌvpeB*/539 pk_itr->count = a_ecn_prp.pdc; /* 今のブロックでのプロパティ総数 */ 544 540 } 545 a_ret = E_BOVR; /* f[^I¹*/541 a_ret = E_BOVR; /* データ終了 */ 546 542 goto lb_finally; 547 543 } 548 544 549 /* vpeBR[hÆf[^TCYðÇÝæé*/545 /* プロパティコードとデータサイズを読み取る */ 550 546 memset(&a_ecn_prp, 0, sizeof(a_ecn_prp)); 551 547 a_rd_len = 0; … … 556 552 ECN_DBG_PUT "ecn_itr_nxt() ecn_prp read fault." 557 553 " rd.cur=%d", pk_itr->cur ECN_DBG_END; 558 pk_itr->is_eof = 1; /* I[ÉBµ½Añ0 */559 a_ret = E_BOVR; /* f[^I¹*/554 pk_itr->is_eof = 1; /* 終端に達した時、非0 */ 555 a_ret = E_BOVR; /* データ終了 */ 560 556 goto lb_finally; 561 557 } … … 564 560 565 561 if (0 < a_ecn_prp.pdc) { 566 /* tf[^ðÇÝæé*/562 /* 付随データを読み取る */ 567 563 a_rd_len = 0; 568 564 a_ret = _ecn_fbs_get_data(a_fbs_id, p_edt, a_ecn_prp.pdc, &a_rd_len); … … 572 568 ECN_DBG_PUT "ecn_itr_nxt() edt read fault." 573 569 " rd.cur=%d,epc=0x%02X,pdc=%u", pk_itr->cur, a_ecn_prp.epc , a_ecn_prp.pdc ECN_DBG_END; 574 pk_itr->is_eof = 1; /* I[ÉBµ½Añ0 */575 a_ret = E_BOVR; /* f[^I¹*/570 pk_itr->is_eof = 1; /* 終端に達した時、非0 */ 571 a_ret = E_BOVR; /* データ終了 */ 576 572 goto lb_finally; 577 573 } … … 584 580 585 581 lb_finally: 586 /* Ce[^ÌJ[\ÊuðXV*/582 /* イテレータのカーソル位置を更新 */ 587 583 pk_itr->cur = a_fbs_id.ptr->hdr.rd; 588 584 589 585 lb_except: 590 /* ³ÌJ[\ÊuÉß·*/586 /* 元のカーソル位置に戻す */ 591 587 a_fbs_id.ptr->hdr.rd = a_rd_bak; 592 588 return a_ret; … … 594 590 595 591 /* 596 * d¶Ò¿ÌèÝM592 * 応答電文待ちの割り込み送信 597 593 */ 598 594 ER ecn_brk_wai(const void *p_dat, int fa_datsz) 599 595 { 600 596 ER a_ret; 601 ECN_FBS_ID a_fbs_id = { 0 }; /* vd¶p*/602 603 /* d¶Ò¿ÌèÝd¶ì¬*/597 ECN_FBS_ID a_fbs_id = { 0 }; /* 要求電文用メモリ */ 598 599 /* 応答電文待ちの割り込み電文作成 */ 604 600 a_ret = _ecn_mk_brk_wai(&a_fbs_id, p_dat, fa_datsz); 605 601 if (a_ret) 606 602 return a_ret; 607 603 608 /* èÝM*/604 /* 割り込み送信 */ 609 605 a_ret = _ecn_tsk_snd_mbx(a_fbs_id, true); 610 606 if (a_ret) { … … 614 610 } 615 611 616 /* ³íI¹*/612 /* 正常終了 */ 617 613 return a_ret; 618 614 619 615 lb_except: 620 /* f[^쬸sµ½çÌæðú*/616 /* データ作成失敗したら領域解放 */ 621 617 if (a_fbs_id.ptr) 622 618 _ecn_fbs_del(a_fbs_id); … … 626 622 627 623 /* 628 * èÝf[^Ìæ¾624 * 割り込みデータの取得 629 625 */ 630 626 ER ecn_get_brk_dat(T_EDATA *pk_esv, void *p_buf, int fa_bufsz, int *p_datsz) … … 646 642 } 647 643 648 /* ÇÝæèÊuðæªÉß·*/644 /* 読み取り位置を先頭に戻す */ 649 645 a_ret = _ecn_fbs_set_rpos(a_fbs, 0); 650 646 if (a_ret) { … … 654 650 } 655 651 656 /* tf[^ðÇÝÞ*/652 /* 付随データを読み込む */ 657 653 if (p_buf && 0 < fa_bufsz) { 658 654 a_len = 0; … … 671 667 #ifndef ECN_USER_DATA_PROP_SET 672 668 /* 673 * f[^ÝèÖ669 * データ設定関数 674 670 */ 675 671 int ecn_data_prop_set(const EPRPINIB *item, const void *src, int size, bool_t *anno) … … 689 685 #ifndef ECN_USER_DATA_PROP_GET 690 686 /* 691 * f[^æ¾Ö687 * データ取得関数 692 688 */ 693 689 int ecn_data_prop_get(const EPRPINIB *item, void *dst, int size) -
Property svn:mime-type
changed from
-
uKadecot/trunk/ecnl_ssp/echonet.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2014 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ … … 57 53 58 54 #define EOBJ_NULL 0x00 59 #define EOBJ_LOCAL_NODE 0x01 /* ©m[h*/60 #define EOBJ_SYNC_REMOTE_NODE 0x02 /* ¼m[h*/61 #define EOBJ_ASYNC_REMOTE_NODE 0x04 /* ¼m[hiñ¯új*/62 #define EOBJ_DEVICE 0x08 /* @íIuWFNg*/55 #define EOBJ_LOCAL_NODE 0x01 /* 自ノード */ 56 #define EOBJ_SYNC_REMOTE_NODE 0x02 /* 他ノード */ 57 #define EOBJ_ASYNC_REMOTE_NODE 0x04 /* 他ノード(非同期) */ 58 #define EOBJ_DEVICE 0x08 /* 機器オブジェクト */ 63 59 64 60 #define EPC_NONE 0x00 65 #define EPC_RULE_SET 0x01 /* ANZX[Set */66 #define EPC_RULE_GET 0x02 /* ANZX[Get */67 #define EPC_RULE_ANNO 0x04 /* ANZX[Anno */68 #define EPC_ANNOUNCE 0x40 /* óÔÏ»Êm*/69 #define EPC_VARIABLE 0x80 /* ÂÏ·f[^*/61 #define EPC_RULE_SET 0x01 /* アクセスルール Set */ 62 #define EPC_RULE_GET 0x02 /* アクセスルール Get */ 63 #define EPC_RULE_ANNO 0x04 /* アクセスルール Anno */ 64 #define EPC_ANNOUNCE 0x40 /* 状態変化時通知 */ 65 #define EPC_VARIABLE 0x80 /* 可変長データ */ 70 66 71 67 typedef enum _echonet_enod_id 72 68 { 73 69 ENOD_NOT_MATCH_ID = -1, 74 ENOD_MULTICAST_ID = 0, /* }`LXgAhXID */75 ENOD_LOCAL_ID = 1, /* ©m[hAhXID */76 ENOD_API_ID = 2, /* API AhXID */77 ENOD_REMOTE_ID = 3, /* ¼m[hAhXID */70 ENOD_MULTICAST_ID = 0, /* マルチキャストアドレスID */ 71 ENOD_LOCAL_ID = 1, /* 自ノードアドレスID */ 72 ENOD_API_ID = 2, /* APIアドレスID */ 73 ENOD_REMOTE_ID = 3, /* 他ノードアドレスID */ 78 74 } ECN_ENOD_ID; 79 75 80 /* ECHONET Lite Ki*/76 /* ECHONET Lite規格 */ 81 77 typedef enum 82 78 { … … 84 80 } ECN_EHD1_ECL_VERSION; 85 81 86 /* d¶`®1/2 */82 /* 電文形式1/2 */ 87 83 typedef enum 88 84 { 89 ECN_EDH2_FORMAT_1 = 0x81, /* d¶`®1 */90 ECN_EDH2_FORMAT_2 = 0x82 /* d¶`®2 */85 ECN_EDH2_FORMAT_1 = 0x81, /* 電文形式1 */ 86 ECN_EDH2_FORMAT_2 = 0x82 /* 電文形式2 */ 91 87 } ECN_EHD2_FORMAT; 92 88 93 /* ECHONET Lite T[rXR[h*/89 /* ECHONET Liteサービスコード */ 94 90 typedef enum _echonet_service_code 95 91 { 96 ESV_NOP = 0, /* ( @\wèȵ) */97 ESV_SET_I = 0x60, /* vpeBl«Ývisvj*/98 ESV_SET_C = 0x61, /* vpeBl«Ývivj*/99 ESV_GET = 0x62, /* vpeBlÇÝoµv*/100 ESV_INF_REQ = 0x63, /* vpeBlÊmv*/101 ESV_SET_GET = 0x6E, /* vpeBl«ÝEÇÝoµv*/102 ESV_SET_RES = 0x71, /* vpeBl«Ý*/103 ESV_GET_RES = 0x72, /* vpeBlÇÝoµ*/104 ESV_INF = 0x73, /* vpeBlÊm*/105 ESV_INFC = 0x74, /* vpeBlÊmivj*/106 ESV_INFC_RES = 0x7A, /* vpeBlÊm*/107 ESV_SET_GET_RES = 0x7E, /* vpeBl«ÝEÇÝoµ*/108 ESV_SET_I_SNA = 0x50, /* vpeBl«ÝvsÂ*/109 ESV_SET_C_SNA = 0x51, /* vpeBl«ÝvsÂ*/110 ESV_GET_SNA = 0x52, /* vpeBlÇÝoµsÂ*/111 ESV_INF_SNA = 0x53, /* vpeBlÊmsÂ*/112 ESV_SET_GET_SNA = 0x5E /* vpeBl«ÝEÇÝoµsÂ*/92 ESV_NOP = 0, /* (機能指定なし) */ 93 ESV_SET_I = 0x60, /* プロパティ値書き込み要求(応答不要) */ 94 ESV_SET_C = 0x61, /* プロパティ値書き込み要求(応答要) */ 95 ESV_GET = 0x62, /* プロパティ値読み出し要求 */ 96 ESV_INF_REQ = 0x63, /* プロパティ値通知要求 */ 97 ESV_SET_GET = 0x6E, /* プロパティ値書き込み・読み出し要求 */ 98 ESV_SET_RES = 0x71, /* プロパティ値書き込み応答 */ 99 ESV_GET_RES = 0x72, /* プロパティ値読み出し応答 */ 100 ESV_INF = 0x73, /* プロパティ値通知 */ 101 ESV_INFC = 0x74, /* プロパティ値通知(応答要) */ 102 ESV_INFC_RES = 0x7A, /* プロパティ値通知応答 */ 103 ESV_SET_GET_RES = 0x7E, /* プロパティ値書き込み・読み出し応答 */ 104 ESV_SET_I_SNA = 0x50, /* プロパティ値書き込み要求不可応答 */ 105 ESV_SET_C_SNA = 0x51, /* プロパティ値書き込み要求不可応答 */ 106 ESV_GET_SNA = 0x52, /* プロパティ値読み出し不可応答 */ 107 ESV_INF_SNA = 0x53, /* プロパティ値通知不可応答 */ 108 ESV_SET_GET_SNA = 0x5E /* プロパティ値書き込み・読み出し不可応答 */ 113 109 } ECN_SRV_CODE; 114 110 … … 122 118 123 119 /* 124 * ECHONET Lite d¶wb_[120 * ECHONET Lite電文ヘッダー 125 121 */ 126 122 typedef struct 127 123 { 128 uint8_t ehd1; /* ECHONET Lite d¶wb_[1 ECN_EHD1_ECL_VERSION */129 uint8_t ehd2; /* ECHONET Lite d¶wb_[2 ECN_EHD2_FORMAT */130 uint16_t tid; /* gUNVID */124 uint8_t ehd1; /* ECHONET Lite電文ヘッダー1 ECN_EHD1_ECL_VERSION */ 125 uint8_t ehd2; /* ECHONET Lite電文ヘッダー2 ECN_EHD2_FORMAT */ 126 uint16_t tid; /* トランザクションID */ 131 127 } T_ECN_HDR; 132 128 133 129 /* 134 * ECHONET Lite IuWFNgR[h130 * ECHONET Liteオブジェクトコード 135 131 */ 136 132 typedef struct 137 133 { 138 uint8_t eojx1; /* NXO[vR[h*/139 uint8_t eojx2; /* NXR[h*/140 uint8_t eojx3; /* CX^XR[h*/134 uint8_t eojx1; /* クラスグループコード */ 135 uint8_t eojx2; /* クラスコード */ 136 uint8_t eojx3; /* インスタンスコード */ 141 137 } T_ECN_EOJ; 142 138 143 139 /* 144 * ECHONET Lite f[^wb_[140 * ECHONET Liteデータヘッダー 145 141 */ 146 142 typedef struct 147 143 { 148 T_ECN_EOJ seoj; /* M³ECHONET LiteIuWFNgwè*/149 T_ECN_EOJ deoj; /* èæECHONET LiteIuWFNgwè*/150 uint8_t esv; /* ECHONET Lite T[rX(ECN_SRV_CODE) */151 uint8_t opc; /* vpeB*/144 T_ECN_EOJ seoj; /* 送信元ECHONET Liteオブジェクト指定 */ 145 T_ECN_EOJ deoj; /* 相手先ECHONET Liteオブジェクト指定 */ 146 uint8_t esv; /* ECHONET Liteサービス (ECN_SRV_CODE) */ 147 uint8_t opc; /* 処理プロパティ数 */ 152 148 } T_ECN_EDATA_BODY; 153 149 154 150 /* 155 * ECHONET Lite vpeB151 * ECHONET Liteプロパティ 156 152 */ 157 153 typedef struct 158 154 { 159 uint8_t epc; /* ECHONET Lite vpeBR[h*/160 uint8_t pdc; /* EDT ÌoCg*/161 /*void *p_edt;*/ /* vpeBlf[^*/155 uint8_t epc; /* ECHONET Liteプロパティコード */ 156 uint8_t pdc; /* EDTのバイト数 */ 157 /*void *p_edt;*/ /* プロパティ値データ */ 162 158 } T_ECN_PRP; 163 159 164 160 /* 165 * ECHONET Lite f[^161 * ECHONET Liteデータ 166 162 */ 167 163 typedef struct … … 173 169 174 170 /* 175 * ECHONET Lite d¶171 * ECHONET Lite 電文 176 172 */ 177 173 typedef struct echonet_object_data … … 191 187 192 188 /* 193 * d¶ðÍCe[^[189 * 応答電文解析イテレーター 194 190 */ 195 191 typedef struct echonet_epc_enumerator 196 192 { 197 193 T_EDATA *pk_esv; 198 uint8_t count; /* ¡ÇÝæèÌubNÉ évpeB*/199 uint8_t got_ct; /* ¡ÇÝæèÌubNÅAÇÝæÁ½*/200 uint8_t next_blk_ct; /* ã±ubN*/201 uint8_t is_eof; /* I[ÉBµ½Añ0 */194 uint8_t count; /* 今読み取り中のブロックにあるプロパティ総数 */ 195 uint8_t got_ct; /* 今読み取り中のブロックで、読み取った数 */ 196 uint8_t next_blk_ct; /* 後続ブロック数 */ 197 uint8_t is_eof; /* 終端に達した時、非0 */ 202 198 int cur; 203 199 } T_ENUM_EPC; … … 206 202 207 203 /* 208 * ECHONET Lite vpeBÌÝèÖ204 * ECHONET Lite プロパティの設定関数 209 205 */ 210 206 typedef int (EPRP_SETTER)(const EPRPINIB *item, const void *src, int size, bool_t *anno); 211 207 212 208 /* 213 * ECHONET Lite vpeBÌæ¾Ö209 * ECHONET Lite プロパティの取得関数 214 210 */ 215 211 typedef int (EPRP_GETTER)(const EPRPINIB *item, void *dst, int size); 216 212 217 213 /* 218 * ECHONET Lite vpeBú»ubN214 * ECHONET Lite プロパティ初期化ブロック 219 215 */ 220 216 struct echonet_property_initialization_block 221 217 { 222 uint8_t eprpcd; /* ECHONET Lite vpeBR[h*/223 ATR eprpatr; /* ECHONET Lite vpeB®«*/224 uint8_t eprpsz; /* ECHONET Lite vpeBÌTCY*/225 intptr_t exinf; /* ECHONET Lite vpeBÌg£îñ*/226 EPRP_SETTER *eprpset; /* ECHONET Lite vpeBÌÝèÖ*/227 EPRP_GETTER *eprpget; /* ECHONET Lite vpeBÌæ¾Ö*/218 uint8_t eprpcd; /* ECHONET Lite プロパティコード */ 219 ATR eprpatr; /* ECHONET Lite プロパティ属性 */ 220 uint8_t eprpsz; /* ECHONET Lite プロパティのサイズ */ 221 intptr_t exinf; /* ECHONET Lite プロパティの拡張情報 */ 222 EPRP_SETTER *eprpset; /* ECHONET Lite プロパティの設定関数 */ 223 EPRP_GETTER *eprpget; /* ECHONET Lite プロパティの取得関数 */ 228 224 }; 229 225 230 #define TMIN_EOBJID 1 /* ECHONET Lite IuWFNgIDÌŬl*/231 232 /* 233 * ECHONET Lite IuWFNgú»ubN226 #define TMIN_EOBJID 1 /* ECHONET Lite オブジェクトIDの最小値 */ 227 228 /* 229 * ECHONET Lite オブジェクト初期化ブロック 234 230 */ 235 231 typedef struct echonet_object_initialization_block 236 232 { 237 ATR eobjatr; /* ECHONET Lite IuWFNg®«*/238 ID enodid; /* ECHONET Lite m[hvt@CIuWFNgID */239 intptr_t exinf; /* ECHONET Lite IuWFNgÌg£îñ*/240 uint8_t eojx1; /* ECHONET Lite IuWFNgÌNXO[vR[h*/241 uint8_t eojx2; /* ECHONET Lite IuWFNgÌNXR[h*/242 uint8_t eojx3; /* ECHONET Lite IuWFNgÌCX^XR[h*/243 const EPRPINIB *eprp; /* ECHONET Lite vpeBú»ubN*/244 uint_t eprpcnt; /* ECHONET Lite vpeBú»ubN*/233 ATR eobjatr; /* ECHONET Lite オブジェクト属性 */ 234 ID enodid; /* ECHONET Lite ノードプロファイルオブジェクトID */ 235 intptr_t exinf; /* ECHONET Lite オブジェクトの拡張情報 */ 236 uint8_t eojx1; /* ECHONET Lite オブジェクトのクラスグループコード */ 237 uint8_t eojx2; /* ECHONET Lite オブジェクトのクラスコード */ 238 uint8_t eojx3; /* ECHONET Lite オブジェクトのインスタンスコード */ 239 const EPRPINIB *eprp; /* ECHONET Lite プロパティ初期化ブロック */ 240 uint_t eprpcnt; /* ECHONET Lite プロパティ初期化ブロック数 */ 245 241 } EOBJINIB; 246 242 247 243 /* 248 * ECHONET Lite m[hÇubN244 * ECHONET Lite ノード管理ブロック 249 245 */ 250 246 typedef struct echonet_object_control_block 251 247 { 252 const EOBJINIB *profile; /* ECHONET Lite m[hvt@CÖÌ|C^*/253 const EOBJINIB **eobjs; /* ECHONET Lite IuWFNgXgÖÌ|C^*/254 uint_t eobjcnt; /* ECHONET Lite IuWFNg*/248 const EOBJINIB *profile; /* ECHONET Lite ノードプロファイルへのポインタ */ 249 const EOBJINIB **eobjs; /* ECHONET Lite オブジェクトリストへのポインタ */ 250 uint_t eobjcnt; /* ECHONET Lite オブジェクト数 */ 255 251 } EOBJCB; 256 252 257 253 /* 258 * ECHONET Lite m[hÆIPAhXÌÎîñubNÌè`254 * ECHONET Lite ノードとIPアドレスの対応情報ブロックの定義 259 255 */ 260 256 typedef struct echonet_node_address_block 261 257 { 262 bool_t inuse; /* gpóµ*/263 uint8_t ipaddr[16]; /* IP AhX*/258 bool_t inuse; /* 使用状況 */ 259 uint8_t ipaddr[16]; /* IPアドレス */ 264 260 } ENODADRB; 265 261 266 262 /* 267 * ECHONET Lite IuWFNgIDÌÅåliechonet_cfg.cj263 * ECHONET Lite オブジェクトIDの最大値(echonet_cfg.c) 268 264 */ 269 265 extern const ID tmax_eobjid; 270 266 271 267 /* 272 * ECHONET Lite IuWFNgú»ubNÌGAiechonet_cfg.cj268 * ECHONET Lite オブジェクト初期化ブロックのエリア(echonet_cfg.c) 273 269 */ 274 270 extern const EOBJINIB eobjinib_table[]; 275 271 276 272 /* 277 * ECHONET Lite m[hÇubNÌ273 * ECHONET Liteノード管理ブロックの数 278 274 */ 279 275 extern const int tnum_enodid; 280 276 281 277 /* 282 * ECHONET Lite IuWFNgÇubNÌGAiechonet_cfg.cj278 * ECHONET Lite オブジェクト管理ブロックのエリア(echonet_cfg.c) 283 279 */ 284 280 extern EOBJCB eobjcb_table[]; 285 281 286 282 /* 287 * ECHONET Lite m[hÆIPAhXÌÎîñÌ283 * ECHONET LiteノードとIPアドレスの対応情報の数 288 284 */ 289 285 extern const int tnum_enodadr; 290 286 291 287 /* 292 * ECHONET Lite m[hÆIPAhXÌÎîñubNÌGAiechonet_cfg.cj288 * ECHONET Lite ノードとIPアドレスの対応情報ブロックのエリア(echonet_cfg.c) 293 289 */ 294 290 extern ENODADRB enodadrb_table[]; 295 291 296 292 /* 297 * ECHONET Lite J[lIuWFNgID293 * ECHONET Lite カーネルオブジェクトID 298 294 */ 299 295 extern const ID ecn_svc_taskid; … … 306 302 307 303 /* 308 * ECHONET Lite IuWFNgÇubN©çECHONET Lite IuWFNgIDðæèo·½ßÌ}N304 * ECHONET Lite オブジェクト管理ブロックからECHONET Lite オブジェクトIDを取り出すためのマクロ 309 305 */ 310 306 #define EOBJID(p_eobjcb) ((ID)(((p_eobjcb) - eobjcb_table) + TMIN_EOBJID)) 311 307 312 308 /* 313 * ECHONET Lite IuWFNg@\Ìú»309 * ECHONET Lite オブジェクト機能の初期化 314 310 */ 315 311 extern void initialize_echonet_object(void); … … 322 318 323 319 /* 324 * ECHONET Lite T[rXJn320 * ECHONET Liteサービス処理開始 325 321 */ 326 322 ER ecn_sta_svc(); 327 323 328 324 /* 329 * ECHONET IuWFNgQÆ325 * ECHONETオブジェクト参照 330 326 */ 331 327 ER ecn_ref_eobj(ID eobjid, T_REOBJ *pk_eobj); 332 328 333 329 /* 334 * ECHONET vpeBQÆ330 * ECHONETプロパティ参照 335 331 */ 336 332 ER ecn_ref_eprp(ID eobjid, uint8_t epc, T_RPRP *pk_eprp); 337 333 338 334 /* 339 * vpeBl«Ývisvjd¶ì¬335 * プロパティ値書き込み要求(応答不要)電文作成 340 336 */ 341 337 ER ecn_esv_seti(T_EDATA **ppk_esv, ID eobjid, uint8_t epc, uint8_t pdc, const void *p_edt); 342 338 343 339 /* 344 * vpeBl«Ývivjd¶ì¬340 * プロパティ値書き込み要求(応答要)電文作成 345 341 */ 346 342 ER ecn_esv_setc(T_EDATA **ppk_esv, ID eobjid, uint8_t epc, uint8_t pdc, const void *p_edt); 347 343 348 344 /* 349 * vpeBlÇÝoµvd¶ì¬345 * プロパティ値読み出し要求電文作成 350 346 */ 351 347 ER ecn_esv_get(T_EDATA **ppk_esv, ID eobjid, uint8_t epc); 352 348 353 349 /* 354 * vpeBlÊmvd¶ì¬350 * プロパティ値通知要求電文作成 355 351 */ 356 352 ER ecn_esv_inf_req(T_EDATA **ppk_esv, ID eobjid, uint8_t epc); 357 353 358 354 /* 359 * vpeBl«ÝEÇÝoµvd¶ì¬355 * プロパティ値書き込み・読み出し要求電文作成 360 356 */ 361 357 ER ecn_esv_set_get(T_EDATA **ppk_esv, ID eobjid, uint8_t epc, uint8_t pdc, const void *p_edt); 362 358 363 359 /* 364 * vpeBl«ÝEÇÝoµvd¶ÜèÔµwè360 * プロパティ値書き込み・読み出し要求電文折り返し指定 365 361 */ 366 362 ER ecn_trn_set_get(T_EDATA *pk_esv, int *p_trn_pos); 367 363 368 364 /* 369 * vpeBl«ÝEÇÝoµvd¶I¹wè365 * プロパティ値書き込み・読み出し要求電文終了指定 370 366 */ 371 367 ER ecn_end_set_get(T_EDATA *pk_esv, int trn_pos); 372 368 373 369 /* 374 * vpeBlÊmivjd¶ì¬370 * プロパティ値通知(応答要)電文作成 375 371 */ 376 372 ER ecn_esv_infc(T_EDATA **ppk_esv, ID eobjid, ID seobjid, uint8_t sepc); 377 373 378 374 /* 379 * vd¶ÖÌvpeBwèÇÁ375 * 要求電文へのプロパティ指定追加 380 376 */ 381 377 ER ecn_add_epc(T_EDATA *pk_esv, uint8_t epc); 382 378 383 379 /* 384 * vd¶ÖÌvpeBf[^ÇÁ380 * 要求電文へのプロパティデータ追加 385 381 */ 386 382 ER ecn_add_edt(T_EDATA *pk_esv, uint8_t epc, uint8_t pdc, const void *p_edt); 387 383 388 384 /* 389 * vd¶ÌM385 * 要求電文の送信 390 386 */ 391 387 ER ecn_snd_esv(T_EDATA *pk_esv); 392 388 393 389 /* 394 * d¶ÌóM|[O390 * 応答電文の受信ポーリング 395 391 */ 396 392 ER ecn_prcv_esv(T_EDATA **ppk_esv); 397 393 398 394 /* 399 * d¶Ìjü395 * 応答電文の破棄 400 396 */ 401 397 ER ecn_rel_esv(T_EDATA *pk_esv); 402 398 403 399 /* 404 * d¶ÌM³m[hðæ¾·é400 * 応答電文の送信元ノードを取得する 405 401 */ 406 402 ID ecn_get_enod(T_EDATA *pk_esv); 407 403 408 404 /* 409 * d¶ÌM³@íIuWFNgðæ¾·é405 * 応答電文の送信元機器オブジェクトを取得する 410 406 */ 411 407 ID ecn_get_eobj(T_EDATA *pk_esv); 412 408 413 409 /* 414 * d¶ðÍCe[^[ú»410 * 応答電文解析イテレーター初期化 415 411 */ 416 412 ER ecn_itr_ini(T_ENUM_EPC *pk_itr, T_EDATA *pk_esv); 417 413 418 414 /* 419 * d¶ðÍCe[^[CNg415 * 応答電文解析イテレーターインクリメント 420 416 */ 421 417 ER ecn_itr_nxt(T_ENUM_EPC *pk_itr, uint8_t *p_epc, uint8_t *p_pdc, void *p_edt); 422 418 423 419 /* 424 * d¶Ò¿ÌèÝM420 * 応答電文待ちの割り込み送信 425 421 */ 426 422 ER ecn_brk_wai(const void *p_dat, int datsz); 427 423 428 424 /* 429 * èÝf[^Ìæ¾425 * 割り込みデータの取得 430 426 */ 431 427 ER ecn_get_brk_dat(T_EDATA *pk_esv, void *p_buf, int bufsz, int *p_datsz); 432 428 433 429 /* 434 * f[^ÝèÖ430 * データ設定関数 435 431 */ 436 432 int ecn_data_prop_set(const EPRPINIB *item, const void *src, int size, bool_t *anno); 437 433 438 434 /* 439 * f[^æ¾Ö435 * データ取得関数 440 436 */ 441 437 int ecn_data_prop_get(const EPRPINIB *item, void *dst, int size); -
Property svn:mime-type
changed from
-
uKadecot/trunk/ecnl_ssp/echonet.tf
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 5 5 $ Copyright (C) 2014 Cores Co., Ltd. Japan 6 6 $ 7 $ ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 8 $ Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 9 $ ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 10 $ (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 11 $ \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 12 $ XR[hÉÜÜêÄ¢é±ÆD 13 $ (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 14 $ pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 15 gip 16 $ Ò}j 17 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 18 $ ̳ÛØKèðfÚ·é±ÆD 19 $ (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 20 $ pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 21 $ ÆD 22 $ (a) Äzzɺ¤hL 23 gipÒ}j 24 AÈÇjÉCãLÌ 25 $ ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 26 $ (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 27 $ ñ·é±ÆD 28 $ (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 29 $ Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 30 $ ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 31 $ RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 32 $ ÆÓ·é±ÆD 33 $ 34 $ {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨ 35 $ æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI 36 $ ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF 37 $ AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC» 38 $ ÌÓCðíÈ¢D 7 $ 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 8 $ ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 9 $ 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 10 $ (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 11 $ 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 12 $ スコード中に含まれていること. 13 $ (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 14 $ 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 15 $ 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 16 $ の無保証規定を掲載すること. 17 $ (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 18 $ 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 19 $ と. 20 $ (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 21 $ 作権表示,この利用条件および下記の無保証規定を掲載すること. 22 $ (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 23 $ 報告すること. 24 $ (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 25 $ 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 26 $ また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 27 $ 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 28 $ 免責すること. 29 $ 30 $ 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 31 $ よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 32 $ に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 33 $ アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 34 $ の責任を負わない. 39 35 $ 40 36 $ @(#) $Id$ … … 43 39 44 40 $ ===================================================================== 45 $ echonet_cfg.h ̶¬41 $ echonet_cfg.hの生成 46 42 $ ===================================================================== 47 43 … … 55 51 $NL$ 56 52 57 $ m[hXgÌì¬53 $ ノードリストの作成 58 54 $ENOD.LIST = {}$ 59 55 $LOCAL_NODE = {}$ … … 61 57 62 58 $FOREACH eobjid EOBJ.ORDER_LIST$ 63 $ // m[hvt@CIuWFNgÌê59 $ // ノードプロファイルオブジェクトの場合 64 60 $IF (EOBJ.EOBJATR[eobjid] & EOBJ_LOCAL_NODE) != 0$ 65 61 $LOCAL_NODE = APPEND(LOCAL_NODE, eobjid)$ 66 $ // @íIuWFNgÌê62 $ // 機器オブジェクトの場合 67 63 $ELIF (EOBJ.EOBJATR[eobjid] & (EOBJ_SYNC_REMOTE_NODE|EOBJ_ASYNC_REMOTE_NODE)) != 0$ 68 64 $REMOTE_NODE = APPEND(REMOTE_NODE, eobjid)$ … … 70 66 $END$ 71 67 72 $ // [JÌm[hvt@CÍP¾¯68 $ // ローカルのノードプロファイルは1つだけ 73 69 $IF LENGTH(LOCAL_NODE) != 1$ 74 70 $ERROR$Local node must be only one.$END$ … … 90 86 $eprp_list = {}$ 91 87 $prp_map_cnt = 3$ 92 $ // m[hvt@CÌê88 $ // ノードプロファイルの場合 93 89 $IF (EOBJ.EOBJATR[eobjid] & (EOBJ_LOCAL_NODE|EOBJ_SYNC_REMOTE_NODE|EOBJ_ASYNC_REMOTE_NODE)) != 0$ 94 90 $prp_map_cnt = prp_map_cnt + 5$ … … 104 100 $END$ 105 101 106 $ // m[hvt@CÌê102 $ // ノードプロファイルの場合 107 103 $IF (EOBJ.EOBJATR[eobjid] & (EOBJ_LOCAL_NODE|EOBJ_SYNC_REMOTE_NODE|EOBJ_ASYNC_REMOTE_NODE)) != 0$ 108 104 $IF (EPRP.EPRPCD[eprpno] >= 0xD3) && (EPRP.EPRPCD[eprpno] <= 0xD7)$ … … 135 131 136 132 $ ===================================================================== 137 $ echonet_cfg.c ̶¬133 $ echonet_cfg.cの生成 138 134 $ ===================================================================== 139 135 … … 145 141 146 142 $ 147 $ CN[hfBNeBui#includej143 $ インクルードディレクティブ(#include) 148 144 $ 149 145 /*$NL$ … … 155 151 156 152 $ 157 $ IuWFNgÌIDÔðÛ·éÏ153 $ オブジェクトのID番号を保持する変数 158 154 $ 159 155 $IF USE_EXTERNAL_ID$ … … 168 164 169 165 $ 170 $ ECHONET Lite vpeB166 $ ECHONET Liteプロパティ 171 167 $ 172 168 /*$NL$ … … 177 173 $INCLUDE "echonet_chk.tf"$ 178 174 179 $ ECHONET Lite vpeBú»ubN̶¬175 $ ECHONET Liteプロパティ初期化ブロックの生成 180 176 $IF LENGTH(EOBJ.ID_LIST) && LENGTH(EPRP.ID_LIST)$ 181 177 $FOREACH enodid ENOD.LIST$ … … 200 196 201 197 /*$NL$ 202 $SPC$* CX^X$NL$198 $SPC$* インスタンス数$NL$ 203 199 $SPC$*/$NL$ 204 200 $inst_list_len = LENGTH(INST_LIST)$ … … 209 205 210 206 /*$NL$ 211 $SPC$* NX$NL$212 $SPC$*/$NL$ 213 $ // m[hvt@CàÜßéi + 1j207 $SPC$* クラス数$NL$ 208 $SPC$*/$NL$ 209 $ // ノードプロファイルも含める( + 1) 214 210 $class_list_len = LENGTH(CLASS_LIST) + 1$ 215 211 const uint8_t _echonet_$EOBJ.EOBJID[enodid]$_class_count[] = {$NL$ … … 219 215 220 216 /*$NL$ 221 $SPC$* CX^XXg$NL$217 $SPC$* インスタンスリスト$NL$ 222 218 $SPC$*/$NL$ 223 219 $pos = 0$ … … 238 234 239 235 /*$NL$ 240 $SPC$* NXXg$NL$236 $SPC$* クラスリスト$NL$ 241 237 $SPC$*/$NL$ 242 238 $pos = 0$ … … 268 264 $get_map[i] = 0x00$ 269 265 $END$ 270 $ // 0x9D A0x9EA0x9FÍONɵĨ266 $ // 0x9D、0x9E、0x9FはONにしておく 271 267 $FOREACH i { 13 , 14 , 15 }$ 272 268 $anno_map[i] = anno_map[i] | 0x02$ 273 269 $get_map[i] = get_map[i] | 0x02$ 274 270 $END$ 275 $ // m[hvt@CÌê271 $ // ノードプロファイルの場合 276 272 $IF (EOBJ.EOBJATR[eobjid] & (EOBJ_LOCAL_NODE|EOBJ_SYNC_REMOTE_NODE|EOBJ_ASYNC_REMOTE_NODE)) != 0$ 277 273 $anno_map[5] = anno_map[5] | 0x20$ … … 285 281 $FOREACH eprpno EPRP.ID_LIST$ 286 282 $IF EQ(EPRP.EOBJID[eprpno], eobjid)$ 287 $ // (0x80 <= eprpcd && eprpcd <= 0xFF) ÅÈ¢êiE_PARj283 $ // (0x80 <= eprpcd && eprpcd <= 0xFF)でない場合(E_PAR) 288 284 $IF !(0x80 <= EPRP.EPRPCD[eprpno] && EPRP.EPRPCD[eprpno] <= 0xFF)$ 289 285 $ERROR EPRP.TEXT_LINE[eprpno]$E_PAR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "eprpcd", EPRP.EPRPCD[eprpno], eprpno, "ECN_DEF_EPRP")$$END$ 290 286 $END$ 291 287 292 $ // eprpatr ªimEPC_RULE_SET] | [EPC_RULE_GET] | [EPC_RULE_ANNO] | [EPC_ANNOUNCEn| [EPC_VARIABLE]jÅÈ¢êiE_RSATRj288 $ // eprpatrが([EPC_RULE_SET] | [EPC_RULE_GET] | [EPC_RULE_ANNO] | [EPC_ANNOUNCE]| [EPC_VARIABLE])でない場合(E_RSATR) 293 289 $IF (EPRP.EPRPATR[eprpno] & ~(EPC_RULE_SET|EPC_RULE_GET|EPC_RULE_ANNO|EPC_ANNOUNCE|EPC_VARIABLE)) != 0$ 294 290 $ERROR EPRP.TEXT_LINE[eprpno]$E_RSATR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "eprpatr", EPRP.EPRPATR[eprpno], eprpno, "ECN_DEF_EPRP")$$END$ 295 291 $END$ 296 292 297 $ // (0 <= eprpsz && eprpsz <= 255) ÅÈ¢êiE_PARj293 $ // (0 <= eprpsz && eprpsz <= 255)でない場合(E_PAR) 298 294 $IF !(0 <= EPRP.EPRPSZ[eprpno] && EPRP.EPRPSZ[eprpno] <= 255)$ 299 295 $ERROR EPRP.TEXT_LINE[eprpno]$E_PAR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "eprpsz", EPRP.EPRPSZ[eprpno], eprpno, "ECN_DEF_EPRP")$$END$ 300 296 $END$ 301 297 302 $ // vpeB}bvÉÝè298 $ // プロパティマップに設定 303 299 $pos = EPRP.EPRPCD[eprpno] & 0xF$ 304 300 $bit = (EPRP.EPRPCD[eprpno] >> 4) - 8$ … … 320 316 $END$ 321 317 322 $ // K{AiEXvpeBª é©`FbN318 $ // 必須アナウンスプロパティがあるかチェック 323 319 $must_anno_map = GetPropertyInfo(EOBJ.EOJX1[eobjid], EOBJ.EOJX2[eobjid], EPC_ANNOUNCE)$ 324 320 $i = 0$ … … 331 327 $END$ 332 328 333 $ // K{SETvpeBª é©`FbN329 $ // 必須SETプロパティがあるかチェック 334 330 $must_set_map = GetPropertyInfo(EOBJ.EOJX1[eobjid], EOBJ.EOJX2[eobjid], EPC_RULE_SET)$ 335 331 $i = 0$ … … 342 338 $END$ 343 339 344 $ // K{GETvpeBª é©`FbN340 $ // 必須GETプロパティがあるかチェック 345 341 $must_get_map = GetPropertyInfo(EOBJ.EOJX1[eobjid], EOBJ.EOJX2[eobjid], EPC_RULE_GET)$ 346 342 $i = 0$ … … 354 350 355 351 /*$NL$ 356 $SPC$* AiEXvpeB}bv$NL$352 $SPC$* アナウンスプロパティマップ$NL$ 357 353 $SPC$*/$NL$ 358 354 $anno_list = LSORT(anno_list, "compare")$ … … 375 371 376 372 /*$NL$ 377 $SPC$* SET vpeB}bv$NL$373 $SPC$* SETプロパティマップ$NL$ 378 374 $SPC$*/$NL$ 379 375 $set_list = LSORT(set_list, "compare")$ … … 396 392 397 393 /*$NL$ 398 $SPC$* GET vpeB}bv$NL$394 $SPC$* GETプロパティマップ$NL$ 399 395 $SPC$*/$NL$ 400 396 $get_list = LSORT(get_list, "compare")$ … … 417 413 418 414 /*$NL$ 419 $SPC$* vpeBè`$NL$415 $SPC$* プロパティ定義$NL$ 420 416 $SPC$*/$NL$ 421 417 const EPRPINIB _echonet_$EOBJ.EOBJID[eobjid]$_eprpinib_table[TNUM_$EOBJ.EOBJID[eobjid]$_EPRPNO] = {$NL$ 422 418 $FOREACH eprpno eprp_list$ 423 $ // ECHONET Lite vpeBú»ubN419 $ // ECHONET Liteプロパティ初期化ブロック 424 420 $TAB${ ($EPRP.EPRPCD[eprpno]$), ($EPRP.EPRPATR[eprpno]$), ($EPRP.EPRPSZ[eprpno]$), ($EPRP.EXINF[eprpno]$), ($EPRP.EPRPSET[eprpno]$), ($EPRP.EPRPGET[eprpno]$) },$NL$ 425 421 $END$ 426 $ // óÔAiEXvpeB}bv422 $ // 状態アナウンスプロパティマップ 427 423 $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$ 428 $ // Set vpeB}bv424 $ // Setプロパティマップ 429 425 $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$ 430 $ // Get vpeB}bv426 $ // Getプロパティマップ 431 427 $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) } 432 $ // m[hvt@CÌê428 $ // ノードプロファイルの場合 433 429 $IF (EOBJ.EOBJATR[eobjid] & (EOBJ_LOCAL_NODE|EOBJ_SYNC_REMOTE_NODE|EOBJ_ASYNC_REMOTE_NODE)) != 0$ 434 430 ,$NL$ 435 $ // CX^X431 $ // インスタンス数 436 432 $TAB${ (0xD3), (EPC_RULE_GET), (3), (intptr_t)_echonet_$EOBJ.EOBJID[eobjid]$_inst_count, ((EPRP_SETTER *)NULL), ((EPRP_GETTER *)ecn_data_prop_get) },$NL$ 437 $ // NX433 $ // クラス数 438 434 $TAB${ (0xD4), (EPC_RULE_GET), (2), (intptr_t)_echonet_$EOBJ.EOBJID[eobjid]$_class_count, ((EPRP_SETTER *)NULL), ((EPRP_GETTER *)ecn_data_prop_get) },$NL$ 439 $ // CX^XXgÊm435 $ // インスタンスリスト通知 440 436 $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$ 441 $ // CX^XXgS437 $ // インスタンスリストS 442 438 $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$ 443 $ // NXXgS439 $ // クラスリストS 444 440 $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$ 445 441 $ELSE$ … … 455 451 456 452 $ 457 $ ECHONET Lite IuWFNg453 $ ECHONET Liteオブジェクト 458 454 $ 459 455 /*$NL$ … … 462 458 $NL$ 463 459 464 $ ECHONET Lite IuWFNgIDÔÌÅål460 $ ECHONET LiteオブジェクトID番号の最大値 465 461 const ID _echonet_tmax_eobjid = (TMIN_EOBJID + TNUM_EOBJID - 1);$NL$ 466 462 $NL$ 467 463 468 $ ECHONET Lite IuWFNgú»ubN̶¬464 $ ECHONET Liteオブジェクト初期化ブロックの生成 469 465 $IF LENGTH(EOBJ.ID_LIST)$ 470 466 const EOBJINIB _echonet_eobjinib_table[TNUM_EOBJID] = {$NL$ 471 467 $JOINEACH eobjid EOBJ.ID_LIST ",\n"$ 472 $ // eobjatr ªimEOBJ_LOCAL_NODE] | [EOBJ_SYNC_REMOTE_NODE] | [EOBJ_ASYNC_REMOTE_NODE] | [EOBJ_DEVICEnjÅÈ¢êiE_RSATRj468 $ // eobjatrが([EOBJ_LOCAL_NODE] | [EOBJ_SYNC_REMOTE_NODE] | [EOBJ_ASYNC_REMOTE_NODE] | [EOBJ_DEVICE])でない場合(E_RSATR) 473 469 $IF (EOBJ.EOBJATR[eobjid] & ~(EOBJ_LOCAL_NODE|EOBJ_SYNC_REMOTE_NODE|EOBJ_ASYNC_REMOTE_NODE|EOBJ_DEVICE)) != 0$ 474 470 $ERROR EOBJ.TEXT_LINE[eobjid]$E_RSATR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "eobjatr", EOBJ.EOBJATR[eobjid], eobjid, "ECN_CRE_EOBJ")$$END$ 475 471 $END$ 476 472 477 $ // m[hvt@CIuWFNgÌê473 $ // ノードプロファイルオブジェクトの場合 478 474 $IF (EOBJ.EOBJATR[eobjid] & (EOBJ_LOCAL_NODE|EOBJ_SYNC_REMOTE_NODE|EOBJ_ASYNC_REMOTE_NODE)) != 0$ 479 $ // (enodid == EOBJ_NULL) ÅÈ¢êiE_PARj475 $ // (enodid == EOBJ_NULL)でない場合(E_PAR) 480 476 $IF !EQ(EOBJ.ENODID[eobjid], EOBJ_NULL)$ 481 477 $ERROR EOBJ.TEXT_LINE[eobjid]$E_PAR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "enodid", EOBJ.ENODID[eobjid], eobjid, "ECN_CRE_EOBJ")$$END$ 482 478 $END$ 483 479 484 $ // (eojx1 == EOJ_X1_PROFILE) ÅÈ¢êiE_PARj480 $ // (eojx1 == EOJ_X1_PROFILE)でない場合(E_PAR) 485 481 $IF EOBJ.EOJX1[eobjid] != EOJ_X1_PROFILE$ 486 482 $ERROR EOBJ.TEXT_LINE[eobjid]$E_PAR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "eojx1", EOBJ.EOJX1[eobjid], eobjid, "ECN_CRE_EOBJ")$$END$ 487 483 $END$ 488 484 489 $ // (eojx2 == EOJ_X2_NODE_PROFILE) ÅÈ¢êiE_PARj485 $ // (eojx2 == EOJ_X2_NODE_PROFILE)でない場合(E_PAR) 490 486 $IF EOBJ.EOJX2[eobjid] != EOJ_X2_NODE_PROFILE$ 491 487 $ERROR EOBJ.TEXT_LINE[eobjid]$E_PAR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "eojx2", EOBJ.EOJX2[eobjid], eobjid, "ECN_CRE_EOBJ")$$END$ 492 488 $END$ 493 489 494 $ // (1 <= eojx3 && eojx3 <= 2) ÅÈ¢êiE_PARj490 $ // (1 <= eojx3 && eojx3 <= 2)でない場合(E_PAR) 495 491 $IF !(1 <= EOBJ.EOJX3[eobjid] && EOBJ.EOJX3[eobjid] <= 2)$ 496 492 $ERROR EOBJ.TEXT_LINE[eobjid]$E_PAR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "eojx3", EOBJ.EOJX3[eobjid], eobjid, "ECN_CRE_EOBJ")$$END$ 497 493 $END$ 498 $ // @íIuWFNgÌê499 $ELSE$ 500 $ // (enodid != EOBJ_NULL) ÅÈ¢êiE_PARj494 $ // 機器オブジェクトの場合 495 $ELSE$ 496 $ // (enodid != EOBJ_NULL)でない場合(E_PAR) 501 497 $IF EQ(EOBJ.ENODID[eobjid], EOBJ_NULL)$ 502 498 $ERROR EOBJ.TEXT_LINE[eobjid]$E_PAR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "enodid", EOBJ.ENODID[eobjid], eobjid, "ECN_CRE_EOBJ")$$END$ 503 499 $END$ 504 500 505 $ // (0 <= eojx1 && eojx1 <= 255) ÅÈ¢êiE_PARj501 $ // (0 <= eojx1 && eojx1 <= 255)でない場合(E_PAR) 506 502 $IF !(0 <= EOBJ.EOJX1[eobjid] && EOBJ.EOJX1[eobjid] <= 255)$ 507 503 $ERROR EOBJ.TEXT_LINE[eobjid]$E_PAR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "eojx1", EOBJ.EOJX1[eobjid], eobjid, "ECN_CRE_EOBJ")$$END$ 508 504 $END$ 509 505 510 $ // (0 <= eojx2 && eojx2 <= 255) ÅÈ¢êiE_PARj506 $ // (0 <= eojx2 && eojx2 <= 255)でない場合(E_PAR) 511 507 $IF !(0 <= EOBJ.EOJX2[eobjid] && EOBJ.EOJX2[eobjid] <= 255)$ 512 508 $ERROR EOBJ.TEXT_LINE[eobjid]$E_PAR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "eojx2", EOBJ.EOJX2[eobjid], eobjid, "ECN_CRE_EOBJ")$$END$ 513 509 $END$ 514 510 515 $ // (0 <= eojx3 && eojx3 <= 255) ÅÈ¢êiE_PARj511 $ // (0 <= eojx3 && eojx3 <= 255)でない場合(E_PAR) 516 512 $IF !(0 <= EOBJ.EOJX3[eobjid] && EOBJ.EOJX3[eobjid] <= 255)$ 517 513 $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 515 $END$ 520 516 521 $ // ECHONET Lite IuWFNgú»ubN517 $ // ECHONET Liteオブジェクト初期化ブロック 522 518 $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 } 523 519 $END$$NL$ … … 529 525 $NL$ 530 526 531 $ ECHONET Lite m[hÇubNÌ527 $ ECHONET Liteノード管理ブロックの数 532 528 const int _echonet_tnum_enodid = TNUM_ENODID;$NL$ 533 529 $NL$ 534 530 535 531 $ 536 $ ECHONET Lite m[hÇubN532 $ ECHONET Liteノード管理ブロック 537 533 $ 538 534 /*$NL$ … … 540 536 $SPC$*/$NL$ 541 537 $NL$ 542 $ ECHONET Lite m[hÆIPAhXÌÎîñubN̶¬538 $ ECHONET LiteノードとIPアドレスの対応情報ブロックの生成 543 539 $FOREACH enodid ENOD.LIST$ 544 540 $eobj_list = {}$ … … 549 545 $END$ 550 546 /*$NL$ 551 $SPC$* m[hÉ®·é@íIuWFNgÌê$NL$547 $SPC$* ノードに所属する機器オブジェクトの一覧$NL$ 552 548 $SPC$*/$NL$ 553 549 const EOBJINIB *_echonet_$EOBJ.EOBJID[enodid]$_eobjinib_table[TNUM_$EOBJ.EOBJID[enodid]$_EOBJNO] = {$NL$ … … 560 556 $IF LENGTH(ENOD.LIST)$ 561 557 /*$NL$ 562 $SPC$* ECHONET Lite m[hÇubN$NL$558 $SPC$* ECHONET Liteノード管理ブロック$NL$ 563 559 $SPC$*/$NL$ 564 560 EOBJCB _echonet_eobjcb_table[TNUM_ENODID] = {$NL$ … … 572 568 $NL$ 573 569 574 $ ECHONET Lite m[hÆIPAhXÌÎîñÌ570 $ ECHONET LiteノードとIPアドレスの対応情報の数 575 571 const int _echonet_tnum_enodadr = TNUM_ENODADR;$NL$ 576 572 $NL$ 577 573 578 574 $ 579 $ ECHONET Lite m[hÆIPAhXÌÎîñ575 $ ECHONET LiteノードとIPアドレスの対応情報 580 576 $ 581 577 /*$NL$ … … 583 579 $SPC$*/$NL$ 584 580 $NL$ 585 $ ECHONET Lite m[hÆIPAhXÌÎîñubN̶¬581 $ ECHONET LiteノードとIPアドレスの対応情報ブロックの生成 586 582 $IF LENGTH(EOBJ.ID_LIST)$ 587 583 ENODADRB _echonet_enodadrb_table[TNUM_ENODADR] = {$NL$ … … 601 597 $NL$ 602 598 603 $ ECHONET Lite m[h²ÆÌAvP[Vªvµ½d¶ÌV[PXÔ599 $ ECHONET Liteノードごとのアプリケーションが要求した電文のシーケンス番号 604 600 uint16_t _echonet_apitid_table[TNUM_ENODADR];$NL$ 605 601 $NL$ … … 610 606 611 607 $ 612 $ ECHONET Lite J[lIuWFNgID608 $ ECHONET Lite カーネルオブジェクトID 613 609 $ 614 610 const ID _echonet_ecn_svc_taskid = ECHONET_SVC_TASK;$NL$ -
Property svn:mime-type
changed from
-
uKadecot/trunk/ecnl_ssp/echonet_agent.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2015 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ … … 41 37 42 38 /* 43 * ECHONET Lite ®I¶¬m[h39 * ECHONET Lite 動的生成ノード 44 40 */ 45 41 … … 183 179 184 180 /* 185 * L 186 [Ìú» 181 * キューの初期化 187 182 * 188 * p_queueÉÍL 189 [wb_ðwè·éD 183 * p_queueにはキューヘッダを指定する. 190 184 */ 191 185 Inline void … … 200 194 201 195 /* 202 * L 203 [ÌOGgÖÌ}ü 196 * キューの前エントリへの挿入 204 197 * 205 * p_queueÌOÉp_entryð}ü·éDp_queueÉL 206 [wb_ðwèµ½ê 207 * ÉÍCL 208 [ÌöÉp_entryð}ü·é±ÆÉÈéD 198 * p_queueの前にp_entryを挿入する.p_queueにキューヘッダを指定した場 199 * 合には,キューの末尾にp_entryを挿入することになる. 209 200 */ 210 201 Inline void … … 222 213 223 214 /* 224 * GgÌí215 * エントリの削除 225 216 * 226 * p_entryðL 227 [©çí·éD 217 * p_entryをキューから削除する. 228 218 */ 229 219 Inline void … … 338 328 int i = eobjid; 339 329 340 /* IuWFNgID©çÀÌðæ¾*/330 /* オブジェクトIDから実体を取得 */ 341 331 i -= (tmax_eobjid + 1); 342 332 if ((i < 0) … … 349 339 return false; 350 340 351 /* IuWFNgÌEOJðRs[*/341 /* オブジェクトのEOJをコピー */ 352 342 memcpy(eoj, &buf->obj.inib.eojx1, sizeof(*eoj)); 353 343 354 /* ®·ém[hÌIuWFNgIDðæ¾*/344 /* 所属するノードのオブジェクトIDを取得 */ 355 345 if(buf->obj.inib.enodid == 0) 356 346 i = buf->obj.eobjId; … … 364 354 } 365 355 366 /* m[hIDðæ¾*/356 /* ノードIDを取得 */ 367 357 buf = &agent->blockes[i]; 368 358 *enodid = buf->node.enodId; … … 405 395 T_ECN_EOJ *eoj, *end; 406 396 407 // vpeBÊm©æ¾ÅA397 // プロパティ通知か取得応答で、 408 398 switch (esv->hdr.edata.esv) { 409 399 case ESV_GET_RES: … … 415 405 } 416 406 417 // m[hvt@C¶Ìê407 // ノードプロファイル宛の場合 418 408 eoj = &esv->hdr.edata.seoj; 419 409 if ((eoj->eojx1 != EOJ_X1_PROFILE) || (eoj->eojx2 != EOJ_X2_NODE_PROFILE) … … 428 418 while (ecn_itr_nxt(&enm, &epc, &pdc, &edt) == E_OK) { 429 419 switch (epc) { 430 // CX^XXgÊmÌê420 // インスタンスリスト通知の場合 431 421 case 0xD5: 432 // ©m[hCX^XXgrÊmÌê422 // 自ノードインスタンスリストS通知の場合 433 423 case 0xD6: 434 // TCYªíÈ¢ê424 // サイズが合わない場合 435 425 if (pdc != (1 + edt[0] * sizeof(T_ECN_EOJ))) 436 426 return NULL; … … 773 763 ecn_obj_t *sobj; 774 764 775 /* ÃIÉè`³ê½M³Ìê*/765 /* 静的に定義された送信元の場合 */ 776 766 if ((*ppk_snod != NULL) && (*ppk_snod)->eobjs != NULL) { 777 /* µÈ¢*/767 /* 処理しない */ 778 768 return; 779 769 } … … 781 771 snod = ecn_agent_find_node2(*ppk_snod); 782 772 783 /* M³ðmçÈ©Á½ç*/773 /* 送信元を知らなかったら */ 784 774 if (snod == NULL) { 785 /* M³Ìm[hîñðVKÉì¬*/775 /* 送信元のノード情報を新規に作成 */ 786 776 snod = ecn_agent_create_node(agent, esv); 787 777 if (snod == NULL) … … 791 781 sobj = ecn_agent_find_obj2(snod, *ppk_sobj); 792 782 793 /* m[hvt@CÌê*/783 /* ノードプロファイルの場合 */ 794 784 if ((esv->hdr.edata.seoj.eojx1 == EOJ_X1_PROFILE) 795 785 && (esv->hdr.edata.seoj.eojx2 == EOJ_X2_NODE_PROFILE)) { 796 786 sobj = &snod->base; 797 787 } 798 /* @íIuWFNgÌê*/788 /* 機器オブジェクトの場合 */ 799 789 else { 800 790 sobj = ecn_agent_find_eobj(&snod->eobj, esv->hdr.edata.seoj); … … 841 831 ecn_obj_t *obj = node->current; 842 832 843 // vpeBlÇÝoµv833 // プロパティ値読み出し要求 844 834 ecn_esv_get(&esv, obj->eobjId, 0x9E); 845 835 ecn_snd_esv(esv); … … 854 844 ecn_obj_t *obj = node->current; 855 845 856 // vpeBlÇÝoµv846 // プロパティ値読み出し要求 857 847 ecn_esv_get(&esv, obj->eobjId, 0x9F); 858 848 ecn_snd_esv(esv); … … 867 857 ecn_obj_t *obj = node->current; 868 858 869 // vpeBlÇÝoµv859 // プロパティ値読み出し要求 870 860 ecn_esv_get(&esv, obj->eobjId, 0x9D); 871 861 ecn_snd_esv(esv); … … 881 871 ecn_device_t *device; 882 872 883 /* obj ªwè³êĢȢê*/873 /* objが指定されていない場合 */ 884 874 if(obj == NULL){ 885 /* ±Ìm[hðÔ·*/875 /* このノードを返す */ 886 876 node->current = &node->base; 887 877 return; 888 878 } 889 /* m[hÌê*/879 /* ノードの場合 */ 890 880 else if((obj->inib.eojx1 == EOJ_X1_PROFILE) && (obj->inib.eojx2 == EOJ_X2_NODE_PROFILE)){ 891 881 node = (ecn_node_t *)obj; 892 882 893 /* zºÌ@íðÔ·*/883 /* 配下の機器を返す */ 894 884 queue = node->devices.p_next; 895 885 device = (ecn_device_t *)cast_obj(queue); 896 886 } 897 /* @íÌê*/887 /* 機器の場合 */ 898 888 else{ 899 /* Ì@íðÔ·*/889 /* 次の機器を返す */ 900 890 node = ((ecn_device_t *)obj)->node; 901 891 queue = cast_queue(obj)->p_next; … … 903 893 } 904 894 905 /* »Ì@íªö¾Á½ê*/895 /* その機器が末尾だった場合 */ 906 896 if(&node->devices == queue){ 907 897 node->current = NULL; … … 1040 1030 bool_t has = false; 1041 1031 1042 /* m[hÌêÍCX^XXgÊmÆ©m[hCX^XXgrÊmðK{Åó¯æé*/1032 /* ノードの場合はインスタンスリスト通知と自ノードインスタンスリストS通知を必須で受け取る */ 1043 1033 if ((fp_obj->enodid == 0) && ((fa_epc == 0xD5) || (fa_epc == 0xD6))) 1044 1034 has = true; … … 1074 1064 1075 1065 switch (item->eprpcd) { 1076 /* CX^XXgÊmÌê*/1066 /* インスタンスリスト通知の場合 */ 1077 1067 case 0xD5: 1078 /* ©m[hCX^XXgrÊmÌê*/1068 /* 自ノードインスタンスリストS通知の場合 */ 1079 1069 case 0xD6: 1080 1070 if ((node != NULL) && (node->state == ecn_node_state_idle)) { … … 1094 1084 } 1095 1085 break; 1096 /* ÊmvpeB}bvÌê*/1086 /* 通知プロパティマップの場合 */ 1097 1087 case 0x9D: 1098 1088 eprpcnt = edt[0]; 1099 1089 1100 1090 if (eprpcnt < 16) { 1101 /* TCY`FbN*/1091 /* サイズチェック */ 1102 1092 if (eprpcnt + 1 != size) 1103 1093 return 0; … … 1107 1097 } 1108 1098 else { 1109 /* TCY`FbN*/1099 /* サイズチェック */ 1110 1100 if (size != 17) 1111 1101 return 0; … … 1116 1106 sobj->pmapFlag |= PMAP_FLAG_ANNO; 1117 1107 break; 1118 /* SET vpeB}bvÌê*/1108 /* SETプロパティマップの場合 */ 1119 1109 case 0x9E: 1120 1110 eprpcnt = edt[0]; 1121 1111 1122 1112 if (eprpcnt < 16) { 1123 /* TCY`FbN*/1113 /* サイズチェック */ 1124 1114 if (eprpcnt + 1 != size) 1125 1115 return 0; … … 1129 1119 } 1130 1120 else { 1131 /* TCY`FbN*/1121 /* サイズチェック */ 1132 1122 if (size != 17) 1133 1123 return 0; … … 1138 1128 sobj->pmapFlag |= PMAP_FLAG_SET; 1139 1129 break; 1140 /* GET vpeB}bvÌê*/1130 /* GETプロパティマップの場合 */ 1141 1131 case 0x9F: 1142 1132 eprpcnt = edt[0]; 1143 1133 1144 1134 if (eprpcnt < 16) { 1145 /* TCY`FbN*/1135 /* サイズチェック */ 1146 1136 if (eprpcnt + 1 != size) 1147 1137 return 0; … … 1151 1141 } 1152 1142 else { 1153 /* TCY`FbN*/1143 /* サイズチェック */ 1154 1144 if (size != 17) 1155 1145 return 0; -
Property svn:mime-type
changed from
-
uKadecot/trunk/ecnl_ssp/echonet_agent.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2015 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ … … 41 37 42 38 /* 43 * ECHONET Lite ®I¶¬m[h39 * ECHONET Lite 動的生成ノード 44 40 */ 45 41 … … 56 52 57 53 /* 58 * L 59 [Ìf[^\¢Ìè` 54 * キューのデータ構造の定義 60 55 */ 61 56 typedef struct ecn_agent_queue { 62 57 #ifdef _DEBUG 63 struct ecn_agent_queue *p_parent; /* eL 64 [ÖÌ|C^ */ 58 struct ecn_agent_queue *p_parent; /* 親キューへのポインタ */ 65 59 #endif 66 struct ecn_agent_queue *p_next; /* GgÖÌ|C^*/67 struct ecn_agent_queue *p_prev; /* OGgÖÌ|C^*/60 struct ecn_agent_queue *p_next; /* 次エントリへのポインタ */ 61 struct ecn_agent_queue *p_prev; /* 前エントリへのポインタ */ 68 62 } ecn_agent_queue_t; 69 63 … … 77 71 EOBJINIB inib; 78 72 uint8_t pmapFlag; 79 uint8_t pmapSet[16]; /* SET vpeB}bv*/80 uint8_t pmapGet[16]; /* GET vpeB}bv*/81 uint8_t pmapAnno[16]; /* óÔÏ»ÊmvpeB}bv*/82 uint_t eprpcnt; /* ECHONET Lite vpeB*/73 uint8_t pmapSet[16]; /* SETプロパティマップ */ 74 uint8_t pmapGet[16]; /* GETプロパティマップ */ 75 uint8_t pmapAnno[16]; /* 状態変化時通知プロパティマップ */ 76 uint_t eprpcnt; /* ECHONET Lite プロパティ数 */ 83 77 } ecn_obj_t; 84 78 … … 118 112 typedef struct ecn_inm_get_device_item 119 113 { 120 ID eobjid; /* ECHONET Lite IuWFNgID */121 ID enodid; /* ECHONET Lite m[hvt@CIuWFNgID */122 uint8_t state; /* îñûWóÔ*/123 uint8_t eojx1; /* ECHONET Lite IuWFNgÌNXO[vR[h*/124 uint8_t eojx2; /* ECHONET Lite IuWFNgÌNXR[h*/125 uint8_t eojx3; /* ECHONET Lite IuWFNgÌCX^XR[h*/126 ECN_ENOD_ID addrid; /* IP AhXæ¾pID */114 ID eobjid; /* ECHONET Lite オブジェクトID */ 115 ID enodid; /* ECHONET Lite ノードプロファイルオブジェクトID */ 116 uint8_t state; /* 情報収集状態 */ 117 uint8_t eojx1; /* ECHONET Lite オブジェクトのクラスグループコード */ 118 uint8_t eojx2; /* ECHONET Lite オブジェクトのクラスコード */ 119 uint8_t eojx3; /* ECHONET Lite オブジェクトのインスタンスコード */ 120 ECN_ENOD_ID addrid; /* IPアドレス取得用ID */ 127 121 } ecn_inm_get_device_item_t; 128 122 … … 149 143 } ecn_inm_get_device_info_res_t; 150 144 151 /* ú»*/145 /* 初期化 */ 152 146 void ecn_agent_init(void); 153 /* m[hðõ*/147 /* ノードを検索 */ 154 148 ecn_node_t *ecn_agent_find_node(ECN_ENOD_ID enodid); 155 /* @íðõ*/149 /* 機器を検索 */ 156 150 ecn_obj_t *ecn_agent_find_eobj(const EOBJCB *pk_nod, T_ECN_EOJ eoj); 157 /* IuWFNgIDðæ¾*/151 /* オブジェクトIDを取得 */ 158 152 ID ecn_agent_get_eobj(const EOBJINIB *pk_obj); 159 /* Ì@íðæ¾*/153 /* 次の機器を取得 */ 160 154 const EOBJINIB *ecn_agent_next_eobj(const EOBJCB *pk_nod, const EOBJINIB *pk_obj); 161 /* IuWFNgID©çEOJÆm[hIDðæ¾*/155 /* オブジェクトIDからEOJとノードIDを取得 */ 162 156 bool_t ecn_agent_get_eoj_enodid(ID eobjid, T_ECN_EOJ *eoj, ECN_ENOD_ID *enodid); 163 /* ^CAEglðÔ·*/157 /* タイムアウト値を返す */ 164 158 TMO ecn_agent_get_timer(); 165 /* ^C}[ÌÔðißé*/159 /* タイマーの時間を進める */ 166 160 void ecn_agent_progress(TMO interval); 167 /* ^CAEgi̽ßÌÄÑoµj*/161 /* タイムアウト処理(のための呼び出し) */ 168 162 void ecn_agent_timeout(); 169 /* àbZ[W*/163 /* 内部メッセージ処理 */ 170 164 bool_t ecn_agent_proc_int_msg(ECN_FBS_ID fbs, uint8_t cmd); 171 /* ECHONET d¶óM*/165 /* ECHONET電文受信処理 */ 172 166 void ecn_agent_proc_ecn_msg(const EOBJCB **snod, const EOBJINIB **sobj, T_EDATA *esv); 173 /* ECHONET d¶óMI¹*/167 /* ECHONET電文受信処理終了 */ 174 168 void ecn_agent_proc_ecn_msg_end(); 175 /* vpeBðæ¾*/169 /* プロパティを取得 */ 176 170 const EPRPINIB *ecn_agent_get_property(const EOBJINIB *fp_obj, uint8_t fa_epc, const EPRPINIB *item); 177 171 -
Property svn:mime-type
changed from
-
uKadecot/trunk/ecnl_ssp/echonet_chk.tf
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 5 5 $ Copyright (C) 2014 Cores Co., Ltd. Japan 6 6 $ 7 $ ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 8 $ Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 9 $ ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 10 $ (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 11 $ \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 12 $ XR[hÉÜÜêÄ¢é±ÆD 13 $ (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 14 $ pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 15 gip 16 $ Ò}j 17 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 18 $ ̳ÛØKèðfÚ·é±ÆD 19 $ (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 20 $ pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 21 $ ÆD 22 $ (a) Äzzɺ¤hL 23 gipÒ}j 24 AÈÇjÉCãLÌ 25 $ ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 26 $ (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 27 $ ñ·é±ÆD 28 $ (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 29 $ Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 30 $ ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 31 $ RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 32 $ ÆÓ·é±ÆD 7 $ 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 8 $ ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 9 $ 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 10 $ (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 11 $ 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 12 $ スコード中に含まれていること. 13 $ (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 14 $ 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 15 $ 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 16 $ の無保証規定を掲載すること. 17 $ (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 18 $ 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 19 $ と. 20 $ (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 21 $ 作権表示,この利用条件および下記の無保証規定を掲載すること. 22 $ (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 23 $ 報告すること. 24 $ (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 25 $ 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 26 $ また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 27 $ 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 28 $ 免責すること. 33 29 $ 34 $ {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨35 $ æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI36 $ ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF37 $ AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»38 $ ÌÓCðíÈ¢D30 $ 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 31 $ よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 32 $ に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 33 $ アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 34 $ の責任を負わない. 39 35 $ 40 36 $ @(#) $Id$ … … 43 39 44 40 $ ===================================================================== 45 $ K{vpeBÌ`FbN41 $ 必須プロパティのチェック 46 42 $ ===================================================================== 47 43 … … 50 46 $END$ 51 47 52 $ vt@CIuWFNgX[p[NX48 $ プロファイルオブジェクトスーパークラス 53 49 $ProfileObjectSuperClass.EPC = { 0x88, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x9D, 0x9E, 0x9F }$ 54 50 $ProfileObjectSuperClass.MUST = { EPC_NONE, EPC_RULE_GET, EPC_NONE, EPC_NONE, EPC_NONE, EPC_NONE, EPC_RULE_GET, EPC_RULE_GET, EPC_RULE_GET }$ 55 51 56 $ m[hvt@CNX52 $ ノードプロファイルクラス 57 53 $NodeProfileClass.EPC = { 0x80, 0x82, 0x83, 0x89, 0xBF, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7 }$ 58 54 $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 }$ 59 55 60 $ @íIuWFNgX[p[NX56 $ 機器オブジェクトスーパークラス 61 57 $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 }$ 62 58 $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 }$ -
Property svn:mime-type
changed from
-
uKadecot/trunk/ecnl_ssp/echonet_class.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2014 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ … … 43 39 #define ECHONET_CLASS_H 44 40 45 /* ZT[ÖA@í*/41 /* センサー関連機器 */ 46 42 #define EOJ_X1_SENSOR 0x00 47 43 48 /* ó²ÖA@í*/44 /* 空調関連機器 */ 49 45 #define EOJ_X1_AIR_CONDITIONER 0x01 50 46 51 /* ZîEÝõÖA@í*/47 /* 住宅・設備関連機器 */ 52 48 #define EOJ_X1_AMENITY 0x02 53 49 54 /* ²EÆÖA@í*/50 /* 調理・家事関連機器 */ 55 51 #define EOJ_X1_HOUSEWORK 0x03 56 52 57 /* NÖA@í*/53 /* 健康関連機器 */ 58 54 #define EOJ_X1_WELLNESS 0x04 59 55 60 /* ÇEìÖA@í*/56 /* 管理・操作関連機器 */ 61 57 #define EOJ_X1_CONTROLLER 0x05 62 58 63 /* AV ÖA@í*/59 /* AV関連機器 */ 64 60 #define EOJ_X1_AUDIO_VISUAL 0x06 65 61 66 /* vt@C*/62 /* プロファイル */ 67 63 #define EOJ_X1_PROFILE 0x0E 68 64 69 /* [U[è`*/65 /* ユーザー定義 */ 70 66 #define EOJ_X1_USER_DEFINED 0x0F 71 67 72 68 /* 73 * ZTÖA@íNXO[v*74 */ 75 /* KXRêZT*/69 * センサ関連機器クラスグループ * 70 */ 71 /* ガス漏れセンサ */ 76 72 #define EOJ_X2_GAS_LEAK_SENSOR 0x01 77 73 78 /* hÆZT*/74 /* 防犯センサ */ 79 75 #define EOJ_X2_CRIME_PREVENTION_SENSOR 0x02 80 76 81 /* ñí{^*/77 /* 非常ボタン */ 82 78 #define EOJ_X2_EMERGENCY_BUTTON 0x03 83 79 84 /* ~}pZT*/80 /* 救急用センサ */ 85 81 #define EOJ_X2_FIRST_AID_SENSOR 0x04 86 82 87 /* nkZT*/83 /* 地震センサ */ 88 84 #define EOJ_X2_EARTHQUAKE_SENSOR 0x05 89 85 90 /* RdZT*/86 /* 漏電センサ */ 91 87 #define EOJ_X2_ELECTRIC_LEAK_SENSOR 0x06 92 88 93 /* lÌmZT*/89 /* 人体検知センサ */ 94 90 #define EOJ_X2_HUMAN_DETECTION_SENSOR 0x07 95 91 96 /* qZT*/92 /* 来客センサ */ 97 93 #define EOJ_X2_VISITOR_SENSOR 0x08 98 94 99 /* ÄÑoµZT*/95 /* 呼び出しセンサ */ 100 96 #define EOJ_X2_CALL_SENSOR 0x09 101 97 102 /* IZT*/98 /* 結露センサ */ 103 99 #define EOJ_X2_CONDENSATION_SENSOR 0x0A 104 100 105 /* óCõZT*/101 /* 空気汚染センサ */ 106 102 #define EOJ_X2_AIR_POLLUTION_SENSOR 0x0B 107 103 108 /* _fZT*/104 /* 酸素センサ */ 109 105 #define EOJ_X2_OXYGEN_SENSOR 0x0C 110 106 111 /* ÆxZT*/107 /* 照度センサ */ 112 108 #define EOJ_X2_ILLUMINANCE_SENSOR 0x0D 113 109 114 /* ¹ZT*/110 /* 音センサ */ 115 111 #define EOJ_X2_SOUND_SENSOR 0x0E 116 112 117 /* ZT*/113 /* 投函センサ */ 118 114 #define EOJ_X2_MAILING_SENSOR 0x0F 119 115 120 /* d×ZT*/116 /* 重荷センサ */ 121 117 #define EOJ_X2_WEIGHT_SENSOR 0x10 122 118 123 /* ·xZT*/119 /* 温度センサ */ 124 120 #define EOJ_X2_TEMPERATURE_SENSOR 0x11 125 121 126 /* ¼xZT*/122 /* 湿度センサ */ 127 123 #define EOJ_X2_HUMIDITY_SENSOR 0x12 128 124 129 /* JZT*/125 /* 雨センサ */ 130 126 #define EOJ_X2_RAIN_SENSOR 0x13 131 127 132 /* 133 ÊZT */ 128 /* 水位センサ */ 134 129 #define EOJ_X2_WATER_LEVEL_SENSOR 0x14 135 130 136 /* C 137 ÊZT */ 131 /* 風呂水位センサ */ 138 132 #define EOJ_X2_BATH_WATER_LEVEL_SENSOR 0x15 139 133 140 /* C¦«ãªèZT*/134 /* 風呂沸き上がりセンサ */ 141 135 #define EOJ_X2_BATH_HEATING_STATUS_SENSOR 0x16 142 136 143 /* 144 RêZT */ 137 /* 水漏れセンサ */ 145 138 #define EOJ_X2_WATER_LEAK_SENSOR 0x17 146 139 147 /* 148 ÓêZT */ 140 /* 水あふれセンサ */ 149 141 #define EOJ_X2_WATER_OVERFLOW_SENSOR 0x18 150 142 151 /* ÎÐZT*/143 /* 火災センサ */ 152 144 #define EOJ_X2_FIRE_SENSOR 0x19 153 145 154 /* ^oRZT*/146 /* タバコ煙センサ */ 155 147 #define EOJ_X2_CIGARETTE_SMOKE_SENSOR 0x1A 156 148 157 /* bnQZT*/149 /* CO2センサ */ 158 150 #define EOJ_X2_CO2_SENSOR 0x1B 159 151 160 /* KXZT*/152 /* ガスセンサ */ 161 153 #define EOJ_X2_GAS_SENSOR 0x1C 162 154 163 /* unbZT*/155 /* VOCセンサ */ 164 156 #define EOJ_X2_VOC_SENSOR 0x1D 165 157 166 /* ·³ZT*/158 /* 差圧センサ */ 167 159 #define EOJ_X2_DIFFERENTIAL_PRESSURE_SENSOR 0x1E 168 160 169 /* ¬ZT*/161 /* 風速センサ */ 170 162 #define EOJ_X2_AIR_SPEED_SENSOR 0x1F 171 163 172 /* L¢ZT*/164 /* 臭いセンサ */ 173 165 #define EOJ_X2_ODOR_SENSOR 0x20 174 166 175 /* ZT*/167 /* 炎センサ */ 176 168 #define EOJ_X2_FLAME_SENSOR 0x21 177 169 178 /* dÍÊZT*/170 /* 電力量センサ */ 179 171 #define EOJ_X2_ELECTRIC_ENERGY_SENSOR 0x22 180 172 181 /* d¬ÊZT*/173 /* 電流量センサ */ 182 174 #define EOJ_X2_CURRENT_VALUE_SENSOR 0x23 183 175 184 /* õZT*/176 /* 昼光センサ */ 185 177 #define EOJ_X2_DAYLIGHT_SENSOR 0x24 186 178 187 /* 188 ¬ÊZT */ 179 /* 水流量センサ */ 189 180 #define EOJ_X2_WATER_FLOW_RATE_SENSOR 0x25 190 181 191 /* ÷®ZT*/182 /* 微動センサ */ 192 183 #define EOJ_X2_MICROMOTION_SENSOR 0x26 193 184 194 /* ÊßZT*/185 /* 通過センサ */ 195 186 #define EOJ_X2_PASSAGE_SENSOR 0x27 196 187 197 /* Ý°ZT*/188 /* 在床センサ */ 198 189 #define EOJ_X2_BED_PRESENCE_SENSOR 0x28 199 190 200 /* JÂZT*/191 /* 開閉センサ */ 201 192 #define EOJ_X2_OPEN_CLOSE_SENSOR 0x29 202 193 203 /* ®ÊZT*/194 /* 活動量センサ */ 204 195 #define EOJ_X2_ACTIVITY_AMOUNT_SENSOR 0x2A 205 196 206 /* lÌÊuZT*/197 /* 人体位置センサ */ 207 198 #define EOJ_X2_HUMAN_BODY_LOCATION_SENSOR 0x2B 208 199 209 /* áZT*/200 /* 雪センサ */ 210 201 #define EOJ_X2_SNOW_SENSOR 0x2C 211 202 212 203 /* 213 * ó²ÖA@íNXO[v*214 */ 215 /* ÆëpGAR*/204 * 空調関連機器クラスグループ * 205 */ 206 /* 家庭用エアコン */ 216 207 #define EOJ_X2_HOME_AIR_CONDITIONER 0x30 217 208 218 /* â@*/209 /* 冷風機 */ 219 210 #define EOJ_X2_COLD_BLASTER 0x31 220 211 221 /* î@*/212 /* 扇風機 */ 222 213 #define EOJ_X2_ELECTRIC_FAN 0x32 223 214 224 /* ·Cî*/215 /* 換気扇 */ 225 216 #define EOJ_X2_VENTILATION_FAN 0x33 226 217 227 /* ó²·Cî*/218 /* 空調換気扇 */ 228 219 #define EOJ_X2_AIR_CONDITIONING_VENTILATION_FAN 0x34 229 220 230 /* óC´òí*/221 /* 空気清浄器 */ 231 222 #define EOJ_X2_AIR_CLEANER 0x35 232 223 233 /* âî*/224 /* 冷風扇 */ 234 225 #define EOJ_X2_COLD_BLAST_FAN 0x36 235 226 236 /* T[L 237 [^ */ 227 /* サーキュレータ */ 238 228 #define EOJ_X2_CIRCULATOR 0x37 239 229 240 /* ¼@*/230 /* 除湿機 */ 241 231 #define EOJ_X2_DEHUMIDIFIER 0x38 242 232 243 /* Á¼í*/233 /* 加湿器 */ 244 234 #define EOJ_X2_HUMIDIFIER 0x39 245 235 246 /* Väî*/236 /* 天井扇 */ 247 237 #define EOJ_X2_CEILING_FAN 0x3A 248 238 249 /* dC±½Â*/239 /* 電気こたつ */ 250 240 #define EOJ_X2_ELECTRIC_KOTATSU 0x3B 251 241 252 /* dC ñ©*/242 /* 電気あんか */ 253 243 #define EOJ_X2_ELECTRIC_HEATING_PAD 0x3C 254 244 255 /* dCÑz*/245 /* 電気毛布 */ 256 246 #define EOJ_X2_ELECTRIC_BLANKET 0x3D 257 247 258 /* Xg[u*/248 /* ストーブ */ 259 249 #define EOJ_X2_SPACE_HEATER 0x3E 260 250 261 /* plq[^*/251 /* パネルヒータ */ 262 252 #define EOJ_X2_PANEL_HEATER 0x3F 263 253 264 /* dCJ[ybg*/254 /* 電気カーペット */ 265 255 #define EOJ_X2_ELECTRIC_CARPET 0x40 266 256 267 /* tAq[^*/257 /* フロアヒータ */ 268 258 #define EOJ_X2_FLOOR_HEATER 0x41 269 259 270 /* dCg[í*/260 /* 電気暖房器 */ 271 261 #define EOJ_X2_ELECTRIC_HEATER 0x42 272 262 273 /* t@q[^*/263 /* ファンヒータ */ 274 264 #define EOJ_X2_FAN_HEATER 0x43 275 265 276 /* [dí*/266 /* 充電器 */ 277 267 #define EOJ_X2_BATTERY_CHARGER 0x44 278 268 279 /* ƱppbP[WGARºà@*/269 /* 業務用パッケージエアコン室内機 */ 280 270 #define EOJ_X2_PACKAGE_TYPE_COMMERCIAL_AIR_CONDITIONER_INDOOR_UNIT 0x45 281 271 282 /* ƱppbP[WGARºO@*/272 /* 業務用パッケージエアコン室外機 */ 283 273 #define EOJ_X2_PACKAGE_TYPE_COMMERCIAL_AIR_CONDITIONER_OUTDOOR_UNIT 0x46 284 274 285 /* ƱppbP[WGAR~Mjbg*/275 /* 業務用パッケージエアコン蓄熱ユニット */ 286 276 #define EOJ_X2_PACKAGE_TYPE_COMMERCIAL_AIR_CONDITIONER_THERMAL_STORAGE_UNIT 0x47 287 277 288 /* Ʊpt@RCjbg*/278 /* 業務用ファンコイルユニット */ 289 279 #define EOJ_X2_COMMERCIAL_FAN_COIL_UNIT 0x48 290 280 291 /* Ʊpó²âM¹(`[) */281 /* 業務用空調冷熱源(チラー) */ 292 282 #define EOJ_X2_COMMERCIAL_AIR_CONDITIONING_COLD_SOURCE_CHILLER 0x49 293 283 294 /* Ʊpó²·M¹({C[) */284 /* 業務用空調温熱源(ボイラー) */ 295 285 #define EOJ_X2_COMMERCIAL_AIR_CONDITIONING_HEAT_SOURCE_BOILER 0x50 296 286 297 /* Ʊpó²VAV */287 /* 業務用空調VAV */ 298 288 #define EOJ_X2_AIR_CONDITIONING_VAV_FOR_COMMERCIAL_APPLICATION 0x51 299 289 300 /* Ʊpó²GAnhOjbg*/290 /* 業務用空調エアハンドリングユニット */ 301 291 #define EOJ_X2_AIR_HANDLING_UNIT_AIR_CONDITIONING_FOR_COMMERCIAL_APPLICATION 0x52 302 292 303 /* jbgN[[*/293 /* ユニットクーラー */ 304 294 #define EOJ_X2_UNIT_COOLER 0x53 305 295 306 /* ƱpRfVOjbg*/296 /* 業務用コンデンシングユニット */ 307 297 #define EOJ_X2_CONDENSING_UNIT_FOR_COMMERCIAL_APPLICATION 0x54 308 298 309 299 /* 310 * ZîEÝõÖA@íNXO[v*311 */ 312 /* d®uCh*/300 * 住宅・設備関連機器クラスグループ * 301 */ 302 /* 電動ブラインド */ 313 303 #define EOJ_X2_ELECTRICALLY_OPERATED_SHADE 0x60 314 304 315 /* d®Vb^[*/305 /* 電動シャッター */ 316 306 #define EOJ_X2_ELECTRICALLY_OPERATED_SHUTTER 0x61 317 307 318 /* d®J[e*/308 /* 電動カーテン */ 319 309 #define EOJ_X2_ELECTRICALLY_OPERATED_CURTAIN 0x62 320 310 321 /* d®JË*/311 /* 電動雨戸 */ 322 312 #define EOJ_X2_ELECTRICALLY_OPERATED_STORM_WINDOW 0x63 323 313 324 /* d®K[W*/314 /* 電動ガレージ */ 325 315 #define EOJ_X2_ELECTRICALLY_OPERATED_DOOR 0x64 326 316 327 /* d®V*/317 /* 電動天窓 */ 328 318 #define EOJ_X2_ELECTRICALLY_OPERATED_SKYLIGHT 0x65 329 319 330 /* I[jOiúæ¯j*/320 /* オーニング(日よけ) */ 331 321 #define EOJ_X2_AWNING 0x66 332 322 333 /* U 334 íiëpj */ 323 /* 散水器(庭用) */ 335 324 #define EOJ_X2_GARDEN_SPRINKLER 0x67 336 325 337 /* U 338 íiÎÐpj */ 326 /* 散水器(火災用) */ 339 327 #define EOJ_X2_FIRE_SPRINKLER 0x68 340 328 341 /* ¬ 342 */ 329 /* 噴水 */ 343 330 #define EOJ_X2_FOUNTAIN 0x69 344 331 345 /* uÔ¦í*/332 /* 瞬間湯沸器 */ 346 333 #define EOJ_X2_INSTANTANEOUS_WATER_HEATERS 0x6A 347 334 348 /* dC· 349 í */ 335 /* 電気温水器 */ 350 336 #define EOJ_X2_ELECTRIC_WATER_HEATER 0x6B 351 337 352 /* ¾zM· 353 í */ 338 /* 太陽熱温水器 */ 354 339 #define EOJ_X2_SOLAR_WATER_HEATER 0x6C 355 340 356 /* zÂ|v*/341 /* 循環ポンプ */ 357 342 #define EOJ_X2_CIRCULATION_PUMP 0x6D 358 343 359 /* dCÖÀi· 360 ôòÖÀAg[ÖÀÈÇj */ 344 /* 電気便座(温水洗浄便座、暖房便座など) */ 361 345 #define EOJ_X2_BIDET_EQUIPPED_TOILET 0x6E 362 346 363 /* dCù*/347 /* 電気錠 */ 364 348 #define EOJ_X2_ELECTRIC_KEY 0x6F 365 349 366 /* KX³Ù*/350 /* ガス元弁 */ 367 351 #define EOJ_X2_GAS_LINE_VALVE 0x70 368 352 369 /* z[TEi*/353 /* ホームサウナ */ 370 354 #define EOJ_X2_HOME_SAUNA 0x71 371 355 372 /* uÔ®í*/356 /* 瞬間式給湯器 */ 373 357 #define EOJ_X2_HOT_WATER_GENERATOR 0x72 374 358 375 /* ºg[£@*/359 /* 浴室暖房乾燥機 */ 376 360 #define EOJ_X2_BATHROOM_DRYER 0x73 377 361 378 /* z[Gx[^*/362 /* ホームエレベータ */ 379 363 #define EOJ_X2_HOME_ELEVATOR 0x74 380 364 381 /* d®ÔdØè*/365 /* 電動間仕切り */ 382 366 #define EOJ_X2_ELECTRICALLY_OPERATED_ROOM_DIVIDER 0x75 383 367 384 /* 385 ½gXt@ */ 368 /* 水平トランスファ */ 386 369 #define EOJ_X2_HORIZONTAL_TRANSFER 0x76 387 370 388 /* d®¨±µ*/371 /* 電動物干し */ 389 372 #define EOJ_X2_ELECTRICALLY_OPERATED_CLOTHES_DRYING_POLE 0x77 390 373 391 /* ò» 392 */ 374 /* 浄化槽 */ 393 375 #define EOJ_X2_SEPTIC_TANK 0x78 394 376 395 /* Zîp¾zõd*/377 /* 住宅用太陽光発電 */ 396 378 #define EOJ_X2_HOME_SOLAR_POWER_GENERATION 0x79 397 379 398 /* â· 399 M¹@ */ 380 /* 冷温水熱源機 */ 400 381 #define EOJ_X2_COLD_AND_HOT_WATER_HEAT_SOURCE_EQUIPMENT 0x7A 401 382 402 /* °g[*/383 /* 床暖房 */ 403 384 #define EOJ_X2_FLOOR_HEATING 0x7B 404 385 405 /* R¿dr*/386 /* 燃料電池 */ 406 387 #define EOJ_X2_FUEL_CELL 0x7C 407 388 408 /* ~dr*/389 /* 蓄電池 */ 409 390 #define EOJ_X2_STORAGE_BATTERY 0x7D 410 391 411 /* dC©®Ô[údVXe*/392 /* 電気自動車充放電システム */ 412 393 #define EOJ_X2_ELECTRIC_VEHICLE 0x7E 413 394 414 /* dÍÊ[^*/395 /* 電力量メータ */ 415 396 #define EOJ_X2_ELECTRIC_ENERGY_METER 0x80 416 397 417 /* 418 ¬Ê[^ */ 398 /* 水流量メータ */ 419 399 #define EOJ_X2_WATER_FLOW_METER 0x81 420 400 421 /* KX[^*/401 /* ガスメータ */ 422 402 #define EOJ_X2_GAS_METER 0x82 423 403 424 /* LP KX[^*/404 /* LPガスメータ */ 425 405 #define EOJ_X2_LP_GAS_METERS 0x83 426 406 427 /* v*/407 /* 時計 */ 428 408 #define EOJ_X2_CLOCK 0x84 429 409 430 /* ©®hA*/410 /* 自動ドア */ 431 411 #define EOJ_X2_AUTOMATIC_DOOR 0x85 432 412 433 /* ƱpGx[^*/413 /* 業務用エレベータ */ 434 414 #define EOJ_X2_COMMERCIAL_ELEVATOR 0x86 435 415 436 /* ªdÕ[^O*/416 /* 分電盤メータリング */ 437 417 #define EOJ_X2_DISTRIBUTION_PANEL_METERING 0x87 438 418 439 /* X}[gdÍÊ[^*/419 /* スマート電力量メータ */ 440 420 #define EOJ_X2_SMART_ELECTRIC_ENERGY_METER 0x88 441 421 442 /* X}[gKX[^*/422 /* スマートガスメータ */ 443 423 #define EOJ_X2_SMART_GAS_METER 0x89 444 424 445 /* êÊƾ*/425 /* 一般照明 */ 446 426 #define EOJ_X2_GENERAL_LIGHTING_CLASS 0x90 447 427 448 /* ñíƾ*/428 /* 非常照明 */ 449 429 #define EOJ_X2_EMERGENCY_LIGHTING 0x99 450 430 451 /* Ýõƾ*/431 /* 設備照明 */ 452 432 #define EOJ_X2_EQUIPMENT_LIGHT 0x9D 453 433 454 /* uU[*/434 /* ブザー */ 455 435 #define EOJ_X2_BUZZER 0xA0 456 436 457 437 /* 458 * ²EÆÖA@íNXO[v*459 */ 460 /* R[q[[J*/438 * 調理・家事関連機器クラスグループ * 439 */ 440 /* コーヒーメーカ */ 461 441 #define EOJ_X2_COFFEE_MACHINE 0xB0 462 442 463 /* R[q[~*/443 /* コーヒーミル */ 464 444 #define EOJ_X2_COFFEE_MILL 0xB1 465 445 466 /* dC|bg*/446 /* 電気ポット */ 467 447 #define EOJ_X2_ELECTRIC_HOT_WATER_POT 0xB2 468 448 469 /* dC±ñë*/449 /* 電気こんろ */ 470 450 #define EOJ_X2_ELECTRIC_STOVE 0xB3 471 451 472 /* g[X^*/452 /* トースタ */ 473 453 #define EOJ_X2_TOASTER 0xB4 474 454 475 /* W 476 [TE~LT */ 455 /* ジューサ・ミキサ */ 477 456 #define EOJ_X2_JUICER_FOOD_MIXER 0xB5 478 457 479 /* t[hvZbT*/458 /* フードプロセッサ */ 480 459 #define EOJ_X2_FOOD_PROCESSOR 0xB6 481 460 482 /* ââ É*/461 /* 冷凍冷蔵庫 */ 483 462 #define EOJ_X2_REFRIGERATOR_FREEZER 0xB7 484 463 485 /* I[uW*/464 /* オーブンレンジ */ 486 465 #define EOJ_X2_COMBINATION_MICROWAVE_OVEN 0xB8 487 466 488 /* NbLOq[^*/467 /* クッキングヒータ */ 489 468 #define EOJ_X2_COOKING_HEATER 0xB9 490 469 491 /* I[u*/470 /* オーブン */ 492 471 #define EOJ_X2_OVEN 0xBA 493 472 494 /* Ñí*/473 /* 炊飯器 */ 495 474 #define EOJ_X2_RICE_COOKER 0xBB 496 475 497 /* dqW[*/476 /* 電子ジャー */ 498 477 #define EOJ_X2_ELECTRONIC_JAR 0xBC 499 478 500 /* Híô¢@*/479 /* 食器洗い機 */ 501 480 #define EOJ_X2_DISH_WASHER 0xBD 502 481 503 /* Hí£@*/482 /* 食器乾燥機 */ 504 483 #define EOJ_X2_DISH_DRYER 0xBE 505 484 506 /* dCà¿Â«@*/485 /* 電気もちつき機 */ 507 486 #define EOJ_X2_ELECTRIC_RICE_CAKE_COOKER 0xBF 508 487 509 /* Û·@*/488 /* 保温機 */ 510 489 #define EOJ_X2_KEEP_WARM_MACHINE 0xC0 511 490 512 /* ¸Ä@*/491 /* 精米機 */ 513 492 #define EOJ_X2_RICE_MILL 0xC1 514 493 515 /* ©®»p@*/494 /* 自動製パン機 */ 516 495 #define EOJ_X2_AUTOMATIC_BREAD_COOKER 0xC2 517 496 518 /* X[NbJ[*/497 /* スロークッカー */ 519 498 #define EOJ_X2_SLOW_COOKER 0xC3 520 499 521 /* dCШ@*/500 /* 電気漬物機 */ 522 501 #define EOJ_X2_ELECTRIC_PICKLES_COOKER 0xC4 523 502 524 /* ôó@*/503 /* 洗濯機 */ 525 504 #define EOJ_X2_WASHING_MACHINE 0xC5 526 505 527 /* ßÞ£@*/506 /* 衣類乾燥機 */ 528 507 #define EOJ_X2_CLOTH_DRYER 0xC6 529 508 530 /* dCAC*/509 /* 電気アイロン */ 531 510 #define EOJ_X2_ELECTRIC_IRON 0xC7 532 511 533 /* Y{vbT*/512 /* ズボンプレッサ */ 534 513 #define EOJ_X2_TROUSER_PRESS 0xC8 535 514 536 /* ÓÆñ£@*/515 /* ふとん乾燥機 */ 537 516 #define EOJ_X2_FUTON_DRYER 0xC9 538 517 539 /* ¬¨E£@*/518 /* 小物・くつ乾燥機 */ 540 519 #define EOJ_X2_SMALL_ARTICLE_SHOES_DRYER 0xCA 541 520 542 /* dC|@iZgN[iÜÞj*/521 /* 電気掃除機(セントラルクリーナ含む) */ 543 522 #define EOJ_X2_ELECTRIC_VACUUM_CLEANER 0xCB 544 523 545 /* fBX|[U*/524 /* ディスポーザ */ 546 525 #define EOJ_X2_DISPOSER 0xCC 547 526 548 /* dCáæè@*/527 /* 電気蚊取り機 */ 549 528 #define EOJ_X2_ELECTRIC_MOSQUITO_CATCHER 0xCD 550 529 551 /* ƱpV[P[X*/530 /* 業務用ショーケース */ 552 531 #define EOJ_X2_COMMERCIAL_SHOW_CASE 0xCE 553 532 554 /* Ʊpâ É*/533 /* 業務用冷蔵庫 */ 555 534 #define EOJ_X2_COMMERCIAL_REFRIGERATOR 0xCF 556 535 557 /* ƱpzbgP[X*/536 /* 業務用ホットケース */ 558 537 #define EOJ_X2_COMMERCIAL_HOT_CASE 0xD0 559 538 560 /* ƱptC[*/539 /* 業務用フライヤー */ 561 540 #define EOJ_X2_COMMERCIAL_FRYER 0xD1 562 541 563 /* ƱpdqW*/542 /* 業務用電子レンジ */ 564 543 #define EOJ_X2_COMMERCIAL_MICROWAVE_OVEN 0xD2 565 544 566 /* ôó£@*/545 /* 洗濯乾燥機 */ 567 546 #define EOJ_X2_WASHER_AND_DRYER 0xD3 568 547 569 548 /* 570 * NÖA@íNXO[v*571 */ 572 /* Ìdv*/549 * 健康関連機器クラスグループ * 550 */ 551 /* 体重計 */ 573 552 #define EOJ_X2_WEIGHING_MACHINE 0x01 574 553 575 /* Ì·v*/554 /* 体温計 */ 576 555 #define EOJ_X2_CLINICAL_THERMOMETER 0x02 577 556 578 /* ³v*/557 /* 血圧計 */ 579 558 #define EOJ_X2_BLOOD_PRESSURE_METER 0x03 580 559 581 /* lv*/560 /* 血糖値計 */ 582 561 #define EOJ_X2_BLOOD_SUGAR_METER 0x04 583 562 584 /* Ìbv*/563 /* 体脂肪計 */ 585 564 #define EOJ_X2_BODY_FAT_METER 0x05 586 565 587 566 /* 588 * ÇEìÖA@íNXO[v * 589 */ 590 /* ZL 591 AÊMp¤L®Ýèm[h */ 567 * 管理・操作関連機器クラスグループ * 568 */ 569 /* セキュア通信用共有鍵設定ノード */ 592 570 #define EOJ_X2_SECURE_COMMUNICATION_SHARED_KEY_SETUP_NODE 0xFC 593 571 594 /* XCb`iJEMA/HA[qÎj*/572 /* スイッチ(JEMA/HA端子対応) */ 595 573 #define EOJ_X2_SWITCH 0xFD 596 574 597 /* gÑ[*/575 /* 携帯端末 */ 598 576 #define EOJ_X2_PORTABLE_TERMINAL 0xFE 599 577 600 /* Rg[*/578 /* コントローラ */ 601 579 #define EOJ_X2_CONTROLLER 0xFF 602 580 603 581 /* 604 * `uÖA@íNXO[v*605 */ 606 /* fBXv[*/582 * AV関連機器クラスグループ * 583 */ 584 /* ディスプレー */ 607 585 #define EOJ_X2_DISPLAY 0x01 608 586 609 /* er*/587 /* テレビ */ 610 588 #define EOJ_X2_TELEVISION 0x02 611 589 612 590 /* 613 * vt@CNXO[v*614 */ 615 /* m[hvt@C*/591 * プロファイルクラスグループ * 592 */ 593 /* ノードプロファイル */ 616 594 #define EOJ_X2_NODE_PROFILE 0xF0 617 595 -
Property svn:mime-type
changed from
-
uKadecot/trunk/ecnl_ssp/echonet_dbg.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2014 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ … … 41 37 42 38 /* 43 * ECHONET Lite ^XN fobOoÍ39 * ECHONET Lite タスク デバッグ出力 44 40 */ 45 41 … … 71 67 static ER _ecn_dbg_wai_syslog(void); 72 68 /* 73 * syslog() obt@É]TªÅ«éÜÅÒÂ69 * syslog()バッファに余裕ができるまで待つ 74 70 */ 75 71 static ER _ecn_dbg_wai_syslog(void) … … 112 108 113 109 /* 114 * fobOoÍ115 * áFECN_DBG_PUT "task start" ECN_DBG_END;110 * デバッグ出力 111 * 例: ECN_DBG_PUT "task start" ECN_DBG_END; 116 112 */ 117 113 int _ecn_dbg_dbgput(const char *fp_srcloc, const char *fp_form, ...) … … 122 118 #ifdef ECN_DBG_PUT_USE_STATIC 123 119 #ifndef SEM_ECN_DBG_PUT 124 /* 256byte obt@8{[e[V*/120 /* 256byteバッファ8本ローテーション */ 125 121 static char a_buf[8][256]; 126 122 static volatile uint_t a_buf_idx = 0; 127 123 uint_t a_buf_idx_a; 128 124 #else 129 /* Z}tHðp¢ÄA1{Ìobt@ãɶñðÀ×Äg¤*/125 /* セマフォを用いて、1本のバッファ上に文字列を並べて使う */ 130 126 static char a_buf[1024]; 131 127 static volatile uint_t a_buf_pos = 0; … … 152 148 p_buf = a_buf[a_buf_idx_a & 0x07]; 153 149 #else 154 if (sizeof(a_buf) - a_buf_pos < 80) /* cèª80byte¢ÉÈÁ½çAæªÉßé*/150 if (sizeof(a_buf) - a_buf_pos < 80) /* 残りが80byte未満になったら、先頭に戻る */ 155 151 a_buf_pos = 0; 156 152 p_buf = a_buf + a_buf_pos; 157 153 a_buf_len = sizeof(a_buf) - a_buf_pos - 1; 158 if (80 * 2 <= a_buf_len) /* 80byte*2 ÈãÌ]ª 餿ÍAö80byteðc·*/154 if (80 * 2 <= a_buf_len) /* 80byte*2以上の余白があるうちは、末尾80byteを残す */ 159 155 a_buf_len -= 80; 160 156 #endif /* #ifdef SEM_ECN_DBG_PUT */ … … 180 176 #ifdef SEM_ECN_DBG_PUT 181 177 a_buf_len = strlen(p_buf) + 1; 182 /* cèª80byte¢ÉÈÁ½ç*/178 /* 残りが80byte未満になったら */ 183 179 if (sizeof(a_buf) - a_buf_pos - a_buf_len < 80) { 184 /* æªÉßé*/180 /* 先頭に戻る */ 185 181 a_buf_pos = 0; 186 182 } else { … … 190 186 #endif 191 187 192 _ECN_DBG_WAI_SYSLOG; /* syslog() obt@É]TªÅ«éÜÅÒÂ*/188 _ECN_DBG_WAI_SYSLOG; /* syslog()バッファに余裕ができるまで待つ */ 193 189 194 190 #ifdef SEM_ECN_DBG_PUT … … 206 202 } 207 203 208 /* ECN_ENOD_ID ̶ñÏ·*/204 /* ECN_ENOD_IDの文字列変換 */ 209 205 const char *_ecn_dbg_enod2str(ECN_ENOD_ID fa_enod_id) 210 206 { … … 254 250 255 251 /* 256 * oCi_voÍ252 * バイナリダンプ出力 257 253 */ 258 254 void _ecn_dbg_bindmp(const uint8_t *buffer, size_t len) 259 255 { 260 /* static ÌæÌobt@ðØèÖ¦éÂ(2^n) */256 /* static領域のバッファを切り替える個数(2^n) */ 261 257 #define _ECN_FBS_DBG_BINDMP_BUF_MAX_BIT (4) 262 258 /* */ … … 264 260 #ifdef _ECN_FBS_DBG_BINDMP_BUF_MAX_BIT 265 261 #undef _ECN_FBS_DBG_BINDMP_BUF_MAX_BIT 266 /* Z}tH(SEM_ECN_DBG_BINDMP)ªè`³êÄ¢éêAobt@ØèÖ¦ÍsvÈÌÅundef */262 /* セマフォ(SEM_ECN_DBG_BINDMP)が定義されている場合、バッファ切り替えは不要なのでundef */ 267 263 #endif 268 264 #endif 269 265 #ifndef _ECN_FBS_DBG_BINDMP_BUFLEN 270 /* obt@TCY(bindmpÌ1sªûÜéTCY) */266 /* バッファサイズ(bindmp中の1行が収まるサイズ) */ 271 267 #define _ECN_FBS_DBG_BINDMP_BUFLEN (80) 272 268 #endif 273 269 #ifdef _ECN_FBS_DBG_BINDMP_BUF_MAX_BIT 274 /* static ÌæÌobt@ðØèÖ¦é½ßÌÇpÏ*/270 /* static領域のバッファを切り替えるための管理用変数 */ 275 271 static volatile uint8_t a_idx_vol = 0; 276 /* static ÌæÌobt@ØèÖ¦Ìæ*/272 /* static領域のバッファ切り替え領域 */ 277 273 static char a_buf_area[1 << _ECN_FBS_DBG_BINDMP_BUF_MAX_BIT][_ECN_FBS_DBG_BINDMP_BUFLEN]; 278 274 uint8_t a_idx; 279 275 char *a_buf; 280 276 #else 281 /* static ÌæÌobt@Ìæ*/277 /* static領域のバッファ領域 */ 282 278 static char a_buf[_ECN_FBS_DBG_BINDMP_BUFLEN]; 283 279 #endif 284 const uint8_t *p = buffer; /* ÇÝæè|C^*/280 const uint8_t *p = buffer; /* 読み取りポインタ */ 285 281 int i, a_blk, a_blk_max, a_pos = 0; 286 282 const T_ECN_EDT_HDR *p_req_esv; … … 300 296 } 301 297 #ifndef ECN_DBG_BINDMP_MAXLEN 302 /* bindmp oÍÌÅåTCY*/298 /* bindmp出力の最大サイズ */ 303 299 #define ECN_DBG_BINDMP_MAXLEN 1600 304 300 #endif … … 315 311 for (a_blk = 0; p && a_blk < a_blk_max; p = ((T_ECN_FST_BLK *)buffer)->lnk.p_sub[a_blk++]->dat) { 316 312 if (0 < a_blk) { 317 _ECN_DBG_WAI_SYSLOG; /* syslog() obt@É]TªÅ«éÜÅÒÂ*/313 _ECN_DBG_WAI_SYSLOG; /* syslog()バッファに余裕ができるまで待つ */ 318 314 syslog(LOG_NOTICE, "p_sub[%d] (0x%08X)", a_blk - 1, p); 319 315 } … … 322 318 if (i % 16 == 0) { 323 319 if (a_buf[0]) { 324 _ECN_DBG_WAI_SYSLOG; /* syslog() obt@É]TªÅ«éÜÅÒÂ*/320 _ECN_DBG_WAI_SYSLOG; /* syslog()バッファに余裕ができるまで待つ */ 325 321 syslog(LOG_NOTICE, "%s", a_buf); 326 322 } … … 342 338 } 343 339 if (a_buf[0]) { 344 _ECN_DBG_WAI_SYSLOG; /* syslog() obt@É]TªÅ«éÜÅÒÂ*/340 _ECN_DBG_WAI_SYSLOG; /* syslog()バッファに余裕ができるまで待つ */ 345 341 syslog(LOG_NOTICE, "%s", a_buf); 346 342 } … … 353 349 case ECN_MSG_ECHONET: 354 350 p_req_esv = &((const T_ECN_FST_BLK *)buffer)->d.t_esv; 355 _ECN_DBG_WAI_SYSLOG; /* syslog() obt@É]TªÅ«éÜÅÒÂ*/351 _ECN_DBG_WAI_SYSLOG; /* syslog()バッファに余裕ができるまで待つ */ 356 352 syslog(LOG_NOTICE, " sender: %d %s, target: %d %s", 357 353 ((T_ECN_FST_BLK *)buffer)->hdr.sender, _ecn_dbg_enod2str(((T_ECN_FST_BLK *)buffer)->hdr.sender), 358 354 ((T_ECN_FST_BLK *)buffer)->hdr.target, _ecn_dbg_enod2str(((T_ECN_FST_BLK *)buffer)->hdr.target)); 359 _ECN_DBG_WAI_SYSLOG; /* syslog() obt@É]TªÅ«éÜÅÒÂ*/355 _ECN_DBG_WAI_SYSLOG; /* syslog()バッファに余裕ができるまで待つ */ 360 356 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); 361 _ECN_DBG_WAI_SYSLOG; /* syslog() obt@É]TªÅ«éÜÅÒÂ*/357 _ECN_DBG_WAI_SYSLOG; /* syslog()バッファに余裕ができるまで待つ */ 362 358 syslog(LOG_NOTICE, " edata: 0x%06X 0x%06X 0x%02X 0x%02X (%s)", 363 359 p_req_esv->edata.seoj.eojx1 << 16 | p_req_esv->edata.seoj.eojx2 << 8 | p_req_esv->edata.seoj.eojx3, 364 360 p_req_esv->edata.deoj.eojx1 << 16 | p_req_esv->edata.deoj.eojx2 << 8 | p_req_esv->edata.deoj.eojx3, 365 361 p_req_esv->edata.esv, p_req_esv->edata.opc, _ecn_dbg_esv2str(p_req_esv->edata.esv)); 366 _ECN_DBG_WAI_SYSLOG; /* syslog() obt@É]TªÅ«éÜÅÒÂ*/362 _ECN_DBG_WAI_SYSLOG; /* syslog()バッファに余裕ができるまで待つ */ 367 363 syslog(LOG_NOTICE, " ecn_prp: 0x%02X 0x%02X", p_req_esv->ecn_prp.epc, p_req_esv->ecn_prp.pdc); 368 _ECN_DBG_WAI_SYSLOG; /* syslog() obt@É]TªÅ«éÜÅÒÂ*/364 _ECN_DBG_WAI_SYSLOG; /* syslog()バッファに余裕ができるまで待つ */ 369 365 syslog(LOG_NOTICE, " cur(blk/pos): wr %d/%d, rd %d/%d", 370 366 (int)((T_ECN_FST_BLK *)buffer)->hdr.wr.blk, … … 403 399 && ((const T_ECN_FST_BLK *)buffer)->bin[1] == 0x81) { 404 400 p_req_esv = (const T_ECN_EDT_HDR *)&((const T_ECN_FST_BLK *)buffer)->bin[0]; 405 _ECN_DBG_WAI_SYSLOG; /* syslog() obt@É]TªÅ«éÜÅÒÂ*/401 _ECN_DBG_WAI_SYSLOG; /* syslog()バッファに余裕ができるまで待つ */ 406 402 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); 407 _ECN_DBG_WAI_SYSLOG; /* syslog() obt@É]TªÅ«éÜÅÒÂ*/403 _ECN_DBG_WAI_SYSLOG; /* syslog()バッファに余裕ができるまで待つ */ 408 404 syslog(LOG_NOTICE, " edata: 0x%06X 0x%06X 0x%02X 0x%02X (%s)", 409 405 p_req_esv->edata.seoj.eojx1 << 16 | p_req_esv->edata.seoj.eojx2 << 8 | p_req_esv->edata.seoj.eojx3, 410 406 p_req_esv->edata.deoj.eojx1 << 16 | p_req_esv->edata.deoj.eojx2 << 8 | p_req_esv->edata.deoj.eojx3, 411 407 p_req_esv->edata.esv, p_req_esv->edata.opc, _ecn_dbg_esv2str(p_req_esv->edata.esv)); 412 _ECN_DBG_WAI_SYSLOG; /* syslog() obt@É]TªÅ«éÜÅÒÂ*/408 _ECN_DBG_WAI_SYSLOG; /* syslog()バッファに余裕ができるまで待つ */ 413 409 syslog(LOG_NOTICE, " ecn_prp: 0x%02X 0x%02X", p_req_esv->ecn_prp.epc, p_req_esv->ecn_prp.pdc); 414 410 } … … 419 415 420 416 /* 421 * ECHONET Lite T[rXR[h¶ñÏ·417 * ECHONET Liteサービスコード文字列変換 422 418 */ 423 419 const char *_ecn_dbg_esv2str(uint8_t fa_esv) 424 420 { 425 421 switch (fa_esv) { 426 case ESV_SET_I_SNA: return " vpeBl«ÝvsÂ"; /* 0x50 */427 case ESV_SET_C_SNA: return " vpeBl«ÝvsÂ"; /* 0x51 */428 case ESV_GET_SNA: return " vpeBlÇÝoµsÂ"; /* 0x52 */429 case ESV_INF_SNA: return " vpeBlÊmsÂ"; /* 0x53 */430 case ESV_SET_GET_SNA: return " vpeBl«ÝEÇÝoµsÂ"; /* 0x5E */431 case ESV_SET_I: return " vpeBl«Ývisvj"; /* 0x60 */432 case ESV_SET_C: return " vpeBl«Ývivj"; /* 0x61 */433 case ESV_GET: return " vpeBlÇÝoµv"; /* 0x62 */434 case ESV_INF_REQ: return " vpeBlÊmv"; /* 0x63 */435 case ESV_SET_GET: return " vpeBl«ÝEÇÝoµv"; /* 0x6E */436 case ESV_SET_RES: return " vpeBl«Ý"; /* 0x71 */437 case ESV_GET_RES: return " vpeBlÇÝoµ"; /* 0x72 */438 case ESV_INF: return " vpeBlÊm"; /* 0x73 */439 case ESV_INFC: return " vpeBlÊmivj"; /* 0x74 */440 case ESV_SET_GET_RES: return " vpeBl«ÝEÇÝoµ"; /* 0x7E */441 case ESV_INFC_RES: return " vpeBlÊm"; /* 0x7A */422 case ESV_SET_I_SNA: return "プロパティ値書き込み要求不可応答"; /* 0x50 */ 423 case ESV_SET_C_SNA: return "プロパティ値書き込み要求不可応答"; /* 0x51 */ 424 case ESV_GET_SNA: return "プロパティ値読み出し不可応答"; /* 0x52 */ 425 case ESV_INF_SNA: return "プロパティ値通知不可応答"; /* 0x53 */ 426 case ESV_SET_GET_SNA: return "プロパティ値書き込み・読み出し不可応答"; /* 0x5E */ 427 case ESV_SET_I: return "プロパティ値書き込み要求(応答不要)"; /* 0x60 */ 428 case ESV_SET_C: return "プロパティ値書き込み要求(応答要)"; /* 0x61 */ 429 case ESV_GET: return "プロパティ値読み出し要求"; /* 0x62 */ 430 case ESV_INF_REQ: return "プロパティ値通知要求"; /* 0x63 */ 431 case ESV_SET_GET: return "プロパティ値書き込み・読み出し要求"; /* 0x6E */ 432 case ESV_SET_RES: return "プロパティ値書き込み応答"; /* 0x71 */ 433 case ESV_GET_RES: return "プロパティ値読み出し応答"; /* 0x72 */ 434 case ESV_INF: return "プロパティ値通知"; /* 0x73 */ 435 case ESV_INFC: return "プロパティ値通知(応答要)"; /* 0x74 */ 436 case ESV_SET_GET_RES: return "プロパティ値書き込み・読み出し応答"; /* 0x7E */ 437 case ESV_INFC_RES: return "プロパティ値通知応答"; /* 0x7A */ 442 438 default: 443 439 return "(unknown)"; -
Property svn:mime-type
changed from
-
uKadecot/trunk/ecnl_ssp/echonet_dbg.cfg
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2014 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ … … 41 37 42 38 /* 43 * lbg[NÎTvvO(1)Ì 44 * VXeRtBM 45 [Vt@C 39 * ネットワーク対応サンプルプログラム(1)の 40 * システムコンフィギュレーションファイル 46 41 */ 47 42 … … 55 50 /* INCLUDE("tinet/tinet_asp.cfg"); // */ 56 51 57 /* Z}tH*/52 /* セマフォ */ 58 53 59 54 CRE_SEM(SEM_ECN_DBG_PUT, { TA_TPRI, 1, 1 }); -
Property svn:mime-type
changed from
-
uKadecot/trunk/ecnl_ssp/echonet_dbg.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2014 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ … … 41 37 42 38 /* 43 * ECHONET Lite ^XN fobOoÍ39 * ECHONET Lite タスク デバッグ出力 44 40 */ 45 41 … … 56 52 #define ECN_DBG_PUT syslog(LOG_WARNING, 57 53 #define ECN_DBG_END ) 58 /* áFECN_DBG_PUT "task start" ECN_DBG_END; */54 /* 例: ECN_DBG_PUT "task start" ECN_DBG_END; */ 59 55 #else 60 56 #define ECN_DBG_PUT for (;0; … … 62 58 #endif 63 59 64 /* fobOoÍ(CARP) */60 /* デバッグ出力(CARP) */ 65 61 #ifdef ECN_CAP_PUT_ENA 66 62 #define ECN_CAP_PUT syslog(LOG_DEBUG, 67 63 #define ECN_CAP_END ) 68 /* áFECN_CAP_PUT "task start" ECN_CAP_END; */64 /* 例: ECN_CAP_PUT "task start" ECN_CAP_END; */ 69 65 #else 70 66 #define ECN_CAP_PUT for (;0; -
Property svn:mime-type
changed from
-
uKadecot/trunk/ecnl_ssp/echonet_fbs.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2014 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ … … 41 37 42 38 /* 43 * Åè·obt@ÂÏ·Xg[39 * 固定長バッファ可変長ストリーム 44 40 */ 45 41 … … 353 349 } 354 350 355 /* ubNæ¾ ok:|C^NG:NULL */351 /* メモリブロック取得 ok:ポインタ NG:NULL */ 356 352 void *_ecn_fbs_mbx_get(ECN_FBS_SIZE_T fa_req_size) 357 353 { … … 363 359 } 364 360 365 /* ubNðú*/361 /* メモリブロック解放 */ 366 362 ER _ecn_fbs_mbx_rel(void *p) 367 363 { … … 369 365 } 370 366 371 /* ÌæmÛ*/367 /* 領域確保 */ 372 368 ER _ecn_fbs_cre(ECN_FBS_SIZE_T fa_req_size, ECN_FBS_ID *fp_id) 373 369 { … … 375 371 } 376 372 377 /* Ìæðú*/373 /* 領域解放 */ 378 374 ER _ecn_fbs_del(ECN_FBS_ID fa_id) 379 375 { … … 381 377 } 382 378 383 /* Ûf[^ÌL³*/379 /* 保持データの有無 */ 384 380 bool_t _ecn_fbs_exist_data(ECN_FBS_ID fa_id) 385 381 { … … 387 383 } 388 384 389 /* Ûf[^·Ìæ¾*/385 /* 保持データ長の取得 */ 390 386 ECN_FBS_SSIZE_T _ecn_fbs_get_datalen(ECN_FBS_ID fa_id) 391 387 { … … 393 389 } 394 390 395 /* ÇÝæèJ[\ÌÊuæ¾*/391 /* 読み取りカーソルの位置取得 */ 396 392 ECN_FBS_SSIZE_T _ecn_fbs_get_rpos(ECN_FBS_ID fa_id) 397 393 { … … 399 395 } 400 396 401 /* ÇÝæèJ[\ÌÊuÝè*/397 /* 読み取りカーソルの位置設定 */ 402 398 ER _ecn_fbs_set_rpos(ECN_FBS_ID fa_id, ECN_FBS_SSIZE_T fa_pos) 403 399 { 404 if (fa_id.ptr->hdr.length <= (unsigned int)fa_pos) /* Êuwèªå«·¬é*/400 if (fa_id.ptr->hdr.length <= (unsigned int)fa_pos) /* 位置指定が大きすぎる */ 405 401 return E_PAR; 406 402 … … 410 406 } 411 407 412 /* ÇÝæèJ[\ÌÊuÚ®*/408 /* 読み取りカーソルの位置移動 */ 413 409 ER _ecn_fbs_seek_rpos(ECN_FBS_ID fa_id, ECN_FBS_SSIZE_T fa_seek) 414 410 { … … 420 416 } 421 417 422 /* CÓwèÊuÌ1byteÇÝæè*/418 /* 任意指定位置の1byte読み取り */ 423 419 int _ecn_fbs_peek(ECN_FBS_ID fa_id, ECN_FBS_SSIZE_T fa_seek) 424 420 { … … 431 427 } 432 428 433 /* CÓwèÊuÌ1byte«Ý*/429 /* 任意指定位置の1byte書き込み */ 434 430 ER _ecn_fbs_poke(ECN_FBS_ID fa_id, ECN_FBS_SSIZE_T fa_seek, int fa_val) 435 431 { … … 442 438 } 443 439 444 /* f[^ÇÁ*/440 /* データ追加 */ 445 441 ER _ecn_fbs_add_data(ECN_FBS_ID fa_id, const void *fa_dat, ECN_FBS_SSIZE_T fa_len) 446 442 { … … 452 448 } 453 449 454 /* f[^ÇÁ(Ìæð©®IÉg£·é) */450 /* データ追加(領域を自動的に拡張する) */ 455 451 ER _ecn_fbs_add_data_ex(ECN_FBS_ID fa_id, const void *fa_dat, ECN_FBS_SSIZE_T fa_len) 456 452 { … … 459 455 } 460 456 461 /* f[^æ¾*/457 /* データ取得 */ 462 458 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) 463 459 { -
Property svn:mime-type
changed from
-
uKadecot/trunk/ecnl_ssp/echonet_fbs.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2014 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 32 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨ 34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI 35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF 36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC» 37 * ÌÓCðíÈ¢D 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 28 * 29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ … … 41 37 42 38 /* 43 * Åè·obt@ÂÏ·Xg[39 * 固定長バッファ可変長ストリーム 44 40 */ 45 41 … … 55 51 56 52 #ifndef NUM_ECHONET_MEMPOOL_BLOCK 57 #define NUM_ECHONET_MEMPOOL_BLOCK (60) /* d¶pubNÌ*/53 #define NUM_ECHONET_MEMPOOL_BLOCK (60) /* 電文用メモリブロックの数 */ 58 54 #endif /* NUM_ECHONET_MEMPOOL_BLOCK */ 59 55 60 56 #ifndef ECHONET_MEMPOOL_BLOCK_SIZE 61 #define ECHONET_MEMPOOL_BLOCK_SIZE (256) /* d¶pubNÌTCY*/57 #define ECHONET_MEMPOOL_BLOCK_SIZE (256) /* 電文用メモリブロックのサイズ */ 62 58 #endif /* ECHONET_MEMPOOL_BLOCK_SIZE */ 63 59 64 typedef unsigned int ECN_FBS_SIZE_T; /* size_t */65 typedef int ECN_FBS_SSIZE_T; /* ssize_t */66 67 /* T_EDATA ÇÌæTCY*/60 typedef unsigned int ECN_FBS_SIZE_T; /* size_t相当 */ 61 typedef int ECN_FBS_SSIZE_T; /* ssize_t相当 */ 62 63 /* T_EDATA管理領域サイズ */ 68 64 #ifdef TARGET_KERNEL_ASP 69 65 #define DEF_ECN_EDT_HDR_LEN (sizeof(T_MSG)) … … 72 68 #endif 73 69 74 /* ÇÌæTCY(64byte - sizeof(T_MSG)) */70 /* 管理領域サイズ(64byte - sizeof(T_MSG)) */ 75 71 /* #define DEF_ECN_FBS_LIB_HDR_LEN ((ECHONET_MEMPOOL_BLOCK_SIZE + sizeof(int) - 1)>> 2) // */ 76 72 #define DEF_ECN_FBS_LIB_HDR_LEN (64 - DEF_ECN_EDT_HDR_LEN) 77 73 78 /* ÇÌæðÜÞubNÉÛ·éf[^TCY*/74 /* 管理領域を含むブロックに保持するデータサイズ */ 79 75 #define DEF_ECN_FBS_FST_DAT_LEN (64) 80 76 81 /* N|C^zñÌTCY(byte) */77 /* リンクポインタ配列のサイズ(byte) */ 82 78 #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) 83 79 84 /* Åè·obt@ÅåTCY*/80 /* 固定長バッファ最大サイズ */ 85 81 #define DEF_ECN_FBS_BUF_MAXLEN ((DEF_ECN_FBS_LNK_LEN / sizeof(void *)) * ECHONET_MEMPOOL_BLOCK_SIZE + DEF_ECN_FBS_FST_DAT_LEN) 86 82 87 /* qvfobt@ÌTCY*/83 /* 子要素バッファのサイズ */ 88 84 #define DEF_ECN_FBS_SUB_BUF_LEN ECHONET_MEMPOOL_BLOCK_SIZE 89 85 90 /* d¶ÌíÊ(àeͼ) */86 /* 電文の種別(内容は仮) */ 91 87 typedef enum 92 88 { 93 ECN_FBS_TYPE_BLANK = 0, /* ¢gpXg[*/94 ECN_FBS_TYPE_INTERNAL = 1, /* àbZ[W*/95 ECN_FBS_TYPE_ECHONET = 2 /* ECHONET d¶*/89 ECN_FBS_TYPE_BLANK = 0, /* 未使用ストリーム */ 90 ECN_FBS_TYPE_INTERNAL = 1, /* 内部メッセージ */ 91 ECN_FBS_TYPE_ECHONET = 2 /* ECHONET電文 */ 96 92 } TA_ECN_MSG_TYPE; 97 93 98 /* N|C^zñÉñ³êéAqvfobt@*/94 /* リンクポインタ配列に列挙される、子要素バッファ */ 99 95 typedef struct 100 96 { … … 102 98 } T_ECN_SUB_BLK; 103 99 104 /* N|C^zñ*/100 /* リンクポインタ配列 */ 105 101 typedef union 106 102 { … … 109 105 } T_ECN_FBS_LNK; 110 106 111 /* ÇÌæ(64byte - sizeof(T_MSG)) */107 /* 管理領域(64byte - sizeof(T_MSG)) */ 112 108 typedef struct 113 109 { 114 uint16_t length; /* bZ[W·*/115 uint16_t type; /* bZ[W^Cv*/110 uint16_t length; /* メッセージ長 */ 111 uint16_t type; /* メッセージタイプ */ 116 112 union{ 117 ECN_ENOD_ID sender; /* M³m[hIDiECHONETd¶j*/118 ID sender_mbxid; /* M³[{bNXIDiàbZ[Wj*/113 ECN_ENOD_ID sender; /* 送信元ノードID(ECHONET電文) */ 114 ID sender_mbxid; /* 送信元メールボックスID(内部メッセージ) */ 119 115 }; 120 116 union{ 121 ECN_ENOD_ID target; /* Mæm[hIDiECHONETd¶j*/122 ID target_mbxid; /* Mæ[{bNXIDiàbZ[Wj*/117 ECN_ENOD_ID target; /* 送信先ノードID(ECHONET電文) */ 118 ID target_mbxid; /* 送信先メールボックスID(内部メッセージ) */ 123 119 }; 124 120 union{ 125 ECN_ENOD_ID reply; /* ÔMæm[hIDiECHONETd¶j*/126 ID reply_mbxid; /* ÔMæ[{bNXIDiàbZ[Wj*/121 ECN_ENOD_ID reply; /* 返信先ノードID(ECHONET電文) */ 122 ID reply_mbxid; /* 返信先メールボックスID(内部メッセージ) */ 127 123 }; 128 124 129 int rd; /* ÇÝæèwbhîñ*/130 int wr; /* «Ýwbhîñ*/125 int rd; /* 読み取りヘッド情報 */ 126 int wr; /* 書き込みヘッド情報 */ 131 127 } T_ECN_FBS_HDR; 132 128 133 /* ÇÌæðÜÞubNÌ\¢*/129 /* 管理領域を含むブロックの構造 */ 134 130 typedef struct 135 131 { 136 132 uint8_t _msg[DEF_ECN_EDT_HDR_LEN]; /* T_MSG */ 137 T_ECN_FBS_HDR hdr; /* ÇÌæ64byte - sizeof(T_MSG) */133 T_ECN_FBS_HDR hdr; /* 管理領域 64byte - sizeof(T_MSG) */ 138 134 uint8_t _gap[DEF_ECN_FBS_LIB_HDR_LEN - sizeof(T_ECN_FBS_HDR)]; 139 T_ECN_FBS_LNK lnk; /* N|C^zñ128byte */135 T_ECN_FBS_LNK lnk; /* リンクポインタ配列 128byte */ 140 136 uint8_t payload[DEF_ECN_FBS_FST_DAT_LEN]; 141 137 } T_ECN_FST_BLK; … … 147 143 } ECN_FBS_ID; 148 144 149 /* bZ[WL 150 [ */ 145 /* メッセージキュー */ 151 146 typedef struct ecn_fbs_queue 152 147 { 153 T_ECN_FST_BLK *pk_head; /* æªÌbZ[W*/154 T_ECN_FST_BLK *pk_last; /* öÌbZ[W*/148 T_ECN_FST_BLK *pk_head; /* 先頭のメッセージ */ 149 T_ECN_FST_BLK *pk_last; /* 末尾のメッセージ */ 155 150 } T_ECN_FBS_QUEUE; 156 151 157 /* ubNæ¾ ok:|C^NG:NULL */152 /* メモリブロック取得 ok:ポインタ NG:NULL */ 158 153 void *_ecn_fbs_mbx_get(ECN_FBS_SIZE_T fa_req_size); 159 154 160 /* ubNðú ok:0 NG:ñ0 */155 /* メモリブロック解放 ok:0 NG:非0 */ 161 156 ER _ecn_fbs_mbx_rel(void *p); 162 157 163 158 /* 164 * ÌæmÛ165 * ø166 * ECN_FBS_SIZE_T fa_req_size vobt@TCY(byte)159 * 領域確保 160 * 引数 161 * ECN_FBS_SIZE_T fa_req_size 要求バッファサイズ(byte) 167 162 * max: DEF_ECN_FBS_BUF_MAXLEN 168 * ECN_FBS_ID *fp_id mÛµ½FBS-IDÌi[æ169 * ßèl170 * ER 0:ok ñ0:NG163 * ECN_FBS_ID *fp_id 確保したFBS-IDの格納先 164 * 戻り値 165 * ER 0:ok 非0:NG 171 166 */ 172 167 ER _ecn_fbs_cre(ECN_FBS_SIZE_T fa_req_size, ECN_FBS_ID *fp_id); 173 168 174 169 /* 175 * Ìæðú176 * ø177 * ecn_fbs_id ^ mÛµ½FBS-ID178 * ßèl179 * ER 0:ok, ñ0:NG170 * 領域解放 171 * 引数 172 * ecn_fbs_id型 確保したFBS-ID 173 * 戻り値 174 * ER 0:ok, 非0:NG 180 175 */ 181 176 ER _ecn_fbs_del(ECN_FBS_ID fa_id); 182 177 183 178 /* 184 * Ûf[^ÌL³185 * ø186 * ecn_fbs_id ^ mÛµ½FBS-ID187 * ßèl188 * bool_t 0: ³µ, 1: è179 * 保持データの有無 180 * 引数 181 * ecn_fbs_id型 確保したFBS-ID 182 * 戻り値 183 * bool_t 0:無し, 1:あり 189 184 */ 190 185 bool_t _ecn_fbs_exist_data(ECN_FBS_ID fa_id); 191 186 192 187 /* 193 * Ûf[^·Ìæ¾194 * ø195 * ecn_fbs_id ^ mÛµ½FBS-ID196 * ßèl197 * ECN_FBS_SSIZE_T ۵Ģéf[^Ì·³(byte) -1:NG188 * 保持データ長の取得 189 * 引数 190 * ecn_fbs_id型 確保したFBS-ID 191 * 戻り値 192 * ECN_FBS_SSIZE_T 保持しているデータの長さ(byte) -1:NG 198 193 */ 199 194 ECN_FBS_SSIZE_T _ecn_fbs_get_datalen(ECN_FBS_ID fa_id); 200 195 201 196 /* 202 * ÇÝæèJ[\ÌÊuæ¾203 * ø204 * ecn_fbs_id ^ mÛµ½FBS-ID205 * ßèl206 * ECN_FBS_SIZE_T 檩çÌâÎÊu-1:NG197 * 読み取りカーソルの位置取得 198 * 引数 199 * ecn_fbs_id型 確保したFBS-ID 200 * 戻り値 201 * ECN_FBS_SIZE_T 先頭からの絶対位置 -1:NG 207 202 */ 208 203 ECN_FBS_SSIZE_T _ecn_fbs_get_rpos(ECN_FBS_ID fa_id); 209 204 210 205 /* 211 * ÇÝæèJ[\ÌÊuÝè212 * ø213 * ecn_fbs_id ^ mÛµ½FBS-ID214 * ECN_FBS_SIZE_T fa_pos Ýè·éÊu(檩çÌâÎÊu)215 * ßèl216 * ER 0:ok, ñ0:NG206 * 読み取りカーソルの位置設定 207 * 引数 208 * ecn_fbs_id型 確保したFBS-ID 209 * ECN_FBS_SIZE_T fa_pos 設定する位置(先頭からの絶対位置) 210 * 戻り値 211 * ER 0:ok, 非0:NG 217 212 */ 218 213 ER _ecn_fbs_set_rpos(ECN_FBS_ID fa_id, ECN_FBS_SSIZE_T fa_pos); 219 214 220 215 /* 221 * ÇÝæèJ[\ÌÊuÚ®222 * ø223 * ecn_fbs_id ^ mÛµ½FBS-ID224 * ECN_FBS_SIZE_T fa_seek Ú®Ê(»óAOiÌÝ)225 * ßèl226 * ER 0:ok, ñ0:NG216 * 読み取りカーソルの位置移動 217 * 引数 218 * ecn_fbs_id型 確保したFBS-ID 219 * ECN_FBS_SIZE_T fa_seek 移動量(現状、前進のみ) 220 * 戻り値 221 * ER 0:ok, 非0:NG 227 222 */ 228 223 ER _ecn_fbs_seek_rpos(ECN_FBS_ID fa_id, ECN_FBS_SSIZE_T fa_seek); 229 224 230 225 /* 231 * CÓwèÊuÌ1byteÇÝæè226 * 任意指定位置の1byte読み取り 232 227 */ 233 228 int _ecn_fbs_peek(ECN_FBS_ID fa_id, ECN_FBS_SSIZE_T fa_seek); 234 229 235 230 /* 236 * CÓwèÊuÌ1byte«Ý231 * 任意指定位置の1byte書き込み 237 232 */ 238 233 ER _ecn_fbs_poke(ECN_FBS_ID fa_id, ECN_FBS_SSIZE_T fa_seek, int fa_val); 239 234 240 235 /* 241 * f[^ÇÁ242 * ø243 * ecn_fbs_id ^ mÛµ½FBS-ID244 * const void * fa_dat ÇÁ·éf[^245 * ECN_FBS_SSIZE_T fa_len ÇÁ·é·³(byte)246 * ßèl247 * ER 0:ok, ñ0:NG236 * データ追加 237 * 引数 238 * ecn_fbs_id型 確保したFBS-ID 239 * const void * fa_dat 追加するデータ 240 * ECN_FBS_SSIZE_T fa_len 追加する長さ(byte) 241 * 戻り値 242 * ER 0:ok, 非0:NG 248 243 */ 249 244 ER _ecn_fbs_add_data(ECN_FBS_ID fa_id, const void *fa_dat, ECN_FBS_SSIZE_T fa_len); 250 245 251 246 /* 252 * f[^ÇÁ(Ìæð©®IÉg£·é)253 * ø254 * ecn_fbs_id ^ mÛµ½FBS-ID255 * const void * fa_dat ÇÁ·éf[^256 * ECN_FBS_SSIZE_T fa_len ÇÁ·é·³(byte)257 * ßèl258 * ER 0:ok, ñ0:NG247 * データ追加(領域を自動的に拡張する) 248 * 引数 249 * ecn_fbs_id型 確保したFBS-ID 250 * const void * fa_dat 追加するデータ 251 * ECN_FBS_SSIZE_T fa_len 追加する長さ(byte) 252 * 戻り値 253 * ER 0:ok, 非0:NG 259 254 */ 260 255 ER _ecn_fbs_add_data_ex(ECN_FBS_ID fa_id, const void *fa_dat, ECN_FBS_SSIZE_T fa_len); 261 256 262 257 /* 263 * f[^æ¾264 * ø265 * ecn_fbs_id ^ mÛµ½FBS-ID266 * void * fa_buf æ¾·éobt@267 * ECN_FBS_SSIZE_T fa_maxlen æ¾·é·³(byte)268 * ECN_FBS_SSIZE_T *p_len æ¾µ½·³(byte)269 * ßèl270 * ER 0:ok, ñ0:NG258 * データ取得 259 * 引数 260 * ecn_fbs_id型 確保したFBS-ID 261 * void * fa_buf 取得するバッファ 262 * ECN_FBS_SSIZE_T fa_maxlen 取得する長さ(byte) 263 * ECN_FBS_SSIZE_T *p_len 取得した長さ(byte) 264 * 戻り値 265 * ER 0:ok, 非0:NG 271 266 */ 272 267 ER _ecn_fbs_get_data(ECN_FBS_ID fa_id, void *fa_buf, ECN_FBS_SSIZE_T fa_maxlen, -
Property svn:mime-type
changed from
-
uKadecot/trunk/ecnl_ssp/echonet_lcl_task.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2014 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ … … 41 37 42 38 /* 43 * ECHONET Lite ºÊÊMC[^XN39 * ECHONET Lite 下位通信レイヤー処理タスク 44 40 */ 45 41 -
Property svn:mime-type
changed from
-
uKadecot/trunk/ecnl_ssp/echonet_rename.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2014 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ -
Property svn:mime-type
changed from
-
uKadecot/trunk/ecnl_ssp/echonet_ssp.cfg
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2014 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ … … 41 37 42 38 /* 43 * ECHONET Lite RtBM 44 [Vt@C 39 * ECHONET Lite コンフィギュレーションファイル 45 40 */ 46 41 … … 50 45 51 46 /* 52 * ECHONET Lite d¶p47 * ECHONET Lite 電文用メモリ 53 48 */ 54 49 /*CRE_MPF(ECHONET_MEMPOOL, { TA_TFIFO, 60, 256, NULL, NULL });*/ 55 50 56 51 /* 57 * ECHONET Lite API p[{bNX52 * ECHONET Lite API用メールボックス 58 53 */ 59 54 CRE_DTQ(ECHONET_API_MAILBOX, { TA_TFIFO, NUM_ECHONET_API_MAILBOX, NULL }); 60 55 61 56 /* 62 * ECHONET Lite T[rX^XNp[{bNX57 * ECHONET Lite サービス処理タスク用メールボックス 63 58 */ 64 59 CRE_DTQ(ECHONET_SVC_MAILBOX, { TA_TFIFO, NUM_ECHONET_MAILBOX, NULL }); 65 60 66 61 /* 67 * ECHONET Lite T[rX^XN62 * ECHONET Lite サービス処理タスク 68 63 */ 69 64 CRE_TSK(ECHONET_SVC_TASK, { TA_HLNG, 0, echonet_task, ECHONET_TASK_PRIORITY, ECHONET_TASK_STACK_SIZE, NULL }); 70 65 71 66 /* 72 * ECHONET Lite ^XNN®püúnh[67 * ECHONET Lite タスク起動用周期ハンドラー 73 68 */ 74 69 CRE_CYC(ECHONET_SVC_CYCHDR, { TA_NULL, ECHONET_SVC_TASK, echonet_cychdr, 1, 0 }); 75 70 76 71 /* 77 * ECHONET Lite UDP ÊMp[{bNX72 * ECHONET Lite UDP通信処理用メールボックス 78 73 */ 79 74 CRE_DTQ(ECHONET_UDP_MAILBOX, { TA_TFIFO, NUM_ECHONET_UDP_MAILBOX, NULL }); 80 75 81 76 /* 82 * ECHONET Lite UDP ÊM^XN77 * ECHONET Lite UDP通信処理タスク 83 78 */ 84 79 CRE_TSK(ECHONET_UDP_TASK, { TA_HLNG, 0, echonet_udp_task, ECHONET_UDP_TASK_PRIORITY, ECHONET_UDP_TASK_STACK_SIZE, NULL }); 85 80 86 81 /* 87 * ECHONET Lite ^XNN®püúnh[82 * ECHONET Lite タスク起動用周期ハンドラー 88 83 */ 89 84 CRE_CYC(ECHONET_UDP_CYCHDR, { TA_NULL, ECHONET_UDP_TASK, echonet_udp_cychdr, 1, 0 }); -
Property svn:mime-type
changed from
-
uKadecot/trunk/ecnl_ssp/echonet_task.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2014 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ … … 41 37 42 38 /* 43 * ECHONET Lite ^XN39 * ECHONET Lite タスク 44 40 */ 45 41 … … 78 74 static struct ecnl_state s; 79 75 80 /* óMbZ[WðJú·é©Û©*/76 /* 受信メッセージを開放するか否か */ 81 77 static bool_t g_release_esv; 82 78 83 /* óMbZ[Wð]·é©Û©*/79 /* 受信メッセージを転送するか否か */ 84 80 bool_t g_forward_esv; 85 81 … … 126 122 target += - ENOD_REMOTE_ID + 1; 127 123 if (from_app && (target < tnum_enodid)) { 128 /* ñ¯úÌ[gm[hÍT[rX^XNÅ·é*/124 /* 非同期のリモートノードはサービス処理タスクで処理する */ 129 125 switch (eobjcb_table[target].profile->eobjatr) { 130 126 case EOBJ_SYNC_REMOTE_NODE: … … 174 170 ECN_FBS_ID fa_fbs_id, ECN_FBS_ID *fa_fbs_anno); 175 171 176 /* W 177 [ú»tO */ 172 /* モジュール初期化フラグ */ 178 173 static uint8_t m_eobjlist_need_init = 1; 179 174 180 /* V[PXÔ*/175 /* シーケンス番号 */ 181 176 static uint16_t g_current_tid = 1; 182 177 183 178 /* 184 * ECHONET Lite ^XNÌú»iRXgN^j179 * ECHONET Lite タスクの初期化(コンストラクタ相当) 185 180 */ 186 181 void echonet_task_init(intptr_t exinf) … … 191 186 192 187 /* 193 * W 194 [ú» 188 * モジュール初期化 195 189 */ 196 190 static void _ecn_tsk_int_module_init(intptr_t exinf) … … 210 204 211 205 /* 212 * ECHONET Lite ^XNÌ{Ì206 * ECHONET Lite タスクの本体 213 207 */ 214 208 static … … 243 237 } 244 238 245 /* bZ[W[v*/239 /* メッセージループ */ 246 240 for (;;) { 247 241 a_prev = a_now; … … 283 277 284 278 switch (a_mdt.fbs_id.ptr->hdr.type) { 285 /* àgpbZ[W*/279 /* 内部使用メッセージ */ 286 280 case ECN_MSG_INTERNAL: 287 281 _ecn_tsk_int_msg(fa_exinf, a_mdt.fbs_id); 288 282 break; 289 283 290 /* ECHONET pbZ[W*/284 /* ECHONET用メッセージ */ 291 285 case ECN_MSG_ECHONET: 292 286 _ecn_tsk_ecn_msg(fa_exinf, a_mdt.fbs_id); … … 297 291 } 298 292 299 /* Ìæðú*/293 /* 領域解放 */ 300 294 if (g_release_esv) 301 295 _ecn_fbs_del(a_mdt.fbs_id); … … 312 306 313 307 /* 314 * ECHONET Lite vgXbhN®^XN308 * ECHONET Lite プロトスレッド起動タスク 315 309 */ 316 310 void echonet_task(intptr_t fa_exinf) … … 320 314 321 315 /* 322 * ECHONET Lite ^XNN®püúnh[316 * ECHONET Lite タスク起動用周期ハンドラー 323 317 */ 324 318 void echonet_cychdr(intptr_t exinf) … … 328 322 329 323 /* 330 * V[PXÔ¶¬324 * シーケンス番号生成 331 325 */ 332 326 static uint16_t _ecn_tsk_new_tid(void) … … 336 330 337 331 /* 338 * vd¶ì¬339 * ø340 * ECN_FBS_ID *fp_fbs_id æ¾µ½FBS_IDÌi[æ341 * ID fa_seoj M³ÌECHONETIuWFNgID342 * ID fa_deoj ¶æÌECHONETIuWFNgID343 * uint8_t fa_epc vpeBR[h344 * uint8_t fa_pdc vpeBlf[^TCY345 * const void *p_edt vpeBlf[^346 * ECN_SRV_CODE fa_esv ECHONET Light T[rXR[h332 * 要求電文作成 333 * 引数 334 * ECN_FBS_ID *fp_fbs_id 取得したFBS_IDの格納先 335 * ID fa_seoj 送信元のECHONETオブジェクトID 336 * ID fa_deoj 宛先のECHONETオブジェクトID 337 * uint8_t fa_epc プロパティコード 338 * uint8_t fa_pdc プロパティ値データサイズ 339 * const void *p_edt プロパティ値データ 340 * ECN_SRV_CODE fa_esv ECHONET Light サービスコード 347 341 */ 348 342 ER _ecn_tsk_mk_esv(ECN_FBS_ID *fp_fbs_id, ID fa_seoj, ID fa_deoj, … … 351 345 ER a_ret; 352 346 int a_size, i; 353 ECN_FBS_ID a_fbs_id = { 0 }; /* vd¶p*/347 ECN_FBS_ID a_fbs_id = { 0 }; /* 要求電文用メモリ */ 354 348 T_ECN_EDT_HDR a_ecn_hdp; /* ecn_hdr+edata+ecn_prp 14byte */ 355 349 ID a_enodid; … … 358 352 359 353 if (!fp_fbs_id) 360 return E_PAR; /* æ¾µ½FBS_IDÌi[æªNULL */354 return E_PAR; /* 取得したFBS_IDの格納先がNULL */ 361 355 if (ECHONET_MEMPOOL_BLOCK_SIZE <= fa_pdc) 362 return E_PAR; /* vpeBlTCYªå«·¬é*/356 return E_PAR; /* プロパティ値サイズが大きすぎる */ 363 357 if (!p_edt && 0 < fa_pdc) 364 return E_PAR; /* vpeBlTCYª1ÈãÈÌÉf[^|C^ªNULL */358 return E_PAR; /* プロパティ値サイズが1以上なのにデータポインタがNULL */ 365 359 366 360 if (fa_seoj <= EOBJ_NULL || tmax_eobjid < fa_seoj) 367 return E_NOEXS; /* ECHONET IuWFNgIDª¢è`*/361 return E_NOEXS; /* ECHONETオブジェクトIDが未定義 */ 368 362 #ifndef ECHONET_CONTROLLER_EXTENTION 369 363 if (fa_deoj < EOBJ_NULL || tmax_eobjid < fa_deoj) 370 return E_NOEXS; /* ECHONET IuWFNgIDª¢è`*/364 return E_NOEXS; /* ECHONETオブジェクトIDが未定義 */ 371 365 #else 372 366 if (fa_deoj < EOBJ_NULL || (tmax_eobjid + TNUM_AEOBJID) < fa_deoj) 373 return E_NOEXS; /* ECHONET IuWFNgIDª¢è`*/367 return E_NOEXS; /* ECHONETオブジェクトIDが未定義 */ 374 368 #endif 375 369 if (fa_deoj == EOBJ_NULL && fa_esv == ESV_INFC) 376 return E_NOEXS; /* ECHONET IuWFNgIDª¢è`*/377 378 /* vŬTCYÌæ¾*/370 return E_NOEXS; /* ECHONETオブジェクトIDが未定義 */ 371 372 /* 要求最小サイズの取得 */ 379 373 a_size = sizeof(T_ECN_HDR) + sizeof(T_ECN_EDATA_BODY) + sizeof(T_ECN_PRP); 380 374 381 /* vd¶pÌæ¾*/375 /* 要求電文用メモリの取得 */ 382 376 a_ret = _ecn_fbs_cre(a_size, &a_fbs_id); 383 if (a_ret != E_OK || !a_fbs_id.ptr) { /* mÛ¸s*/377 if (a_ret != E_OK || !a_fbs_id.ptr) { /* 確保失敗 */ 384 378 ECN_DBG_PUT "_ecn_fbs_cre(%d) result = %d:%s", 385 379 a_size, … … 388 382 } 389 383 390 /* vd¶Ýè*/384 /* 要求電文設定 */ 391 385 memset(&a_ecn_hdp, 0, sizeof(a_ecn_hdp)); 392 386 a_ecn_hdp.ecn_hdr.ehd1 = ECN_EDH1_ECHONET_LITE; … … 395 389 memcpy(&a_ecn_hdp.edata.seoj, &eobjinib_table[fa_seoj - 1].eojx1, sizeof(a_ecn_hdp.edata.seoj)); 396 390 a_ecn_hdp.edata.esv = fa_esv; 397 a_ecn_hdp.edata.opc = 1; /* vpeB*/398 a_ecn_hdp.ecn_prp.epc = fa_epc; /* vpeBR[h*/399 a_ecn_hdp.ecn_prp.pdc = fa_pdc; /* tf[^TCY*/400 401 /* vd¶pÉf[^ÇÁ*/391 a_ecn_hdp.edata.opc = 1; /* 処理プロパティ数 */ 392 a_ecn_hdp.ecn_prp.epc = fa_epc; /* プロパティコード */ 393 a_ecn_hdp.ecn_prp.pdc = fa_pdc; /* 付随データサイズ */ 394 395 /* 要求電文用メモリにデータ追加 */ 402 396 a_ret = _ecn_fbs_add_data_ex(a_fbs_id, &a_ecn_hdp, a_size); 403 397 if (a_ret) { … … 408 402 } 409 403 if (0 < fa_pdc) { 410 /* tf[^ÇÁ*/404 /* 付随データ追加 */ 411 405 a_ret = _ecn_fbs_add_data_ex(a_fbs_id, p_edt, fa_pdc); 412 406 if (a_ret) { … … 418 412 } 419 413 if (fa_deoj == 0) { 420 ECN_DBG_PUT "%s", " }`LXg" ECN_DBG_END;421 /* fa_deoj == 0 : }`LXg*/414 ECN_DBG_PUT "%s", "マルチキャスト" ECN_DBG_END; 415 /* fa_deoj == 0 : マルチキャスト */ 422 416 ((T_EDATA *)a_fbs_id.ptr)->hdr.edata.deoj.eojx1 = EOJ_X1_PROFILE; 423 417 ((T_EDATA *)a_fbs_id.ptr)->hdr.edata.deoj.eojx2 = EOJ_X2_NODE_PROFILE; … … 427 421 else if (fa_deoj <= tmax_eobjid) { 428 422 ECN_DBG_PUT "fa_deoj = %d", fa_deoj ECN_DBG_END; 429 /* if (fa_deoj < 1 || tmax_eobjid < fa_deoj) cÌÙínÍÖ`ªÅOÏÝÆ·é*/423 /* if (fa_deoj < 1 || tmax_eobjid < fa_deoj) …の異常系は関数冒頭で除外済みとする */ 430 424 a_eobj = &eobjinib_table[fa_deoj - 1]; 431 425 memcpy(&((T_EDATA *)a_fbs_id.ptr)->hdr.edata.deoj, &a_eobj->eojx1, 432 426 sizeof(((T_EDATA *)a_fbs_id.ptr)->hdr.edata.deoj)); 433 427 434 /* e[u©çõ*/428 /* テーブルから検索 */ 435 429 a_fbs_id.ptr->hdr.target = ENOD_NOT_MATCH_ID; 436 430 a_enodid = (a_eobj->enodid == 0) ? fa_deoj : a_eobj->enodid; … … 472 466 ECN_ENOD_ID enodid; 473 467 ECN_DBG_PUT "fa_deoj = %d", fa_deoj ECN_DBG_END; 474 /* IuWFNgID©çEOJÆm[hIDðæ¾*/468 /* オブジェクトIDからEOJとノードIDを取得 */ 475 469 if(ecn_agent_get_eoj_enodid(fa_deoj, &eoj, &enodid)){ 476 470 memcpy(&((T_EDATA *)a_fbs_id.ptr)->hdr.edata.deoj, &eoj, … … 505 499 a_fbs_id.ptr->hdr.reply = ENOD_API_ID; 506 500 507 /* ³íI¹*/501 /* 正常終了 */ 508 502 *fp_fbs_id = a_fbs_id; 509 503 return E_OK; 510 504 511 505 lb_except: 512 /* f[^쬸sµ½çÌæðú*/506 /* データ作成失敗したら領域解放 */ 513 507 if (a_fbs_id.ptr) 514 508 _ecn_fbs_del(a_fbs_id); … … 518 512 519 513 /* 520 * àgpbZ[W514 * 内部使用メッセージ 521 515 */ 522 516 static void _ecn_tsk_int_msg(intptr_t fa_exinf, ECN_FBS_ID fa_fbs_id) … … 549 543 550 544 /* 551 * ^XNú»545 * タスク初期化 552 546 */ 553 547 static void _ecn_tsk_int_startup(intptr_t fa_exinf) … … 558 552 _ecn_tsk_int_module_init(fa_exinf); 559 553 560 /* CX^XXgÊmÌM*/554 /* インスタンスリスト通知の送信 */ 561 555 a_ret = _ecn_tsk_ntf_inl(fa_exinf); 562 556 if (a_ret) { … … 566 560 567 561 /* 568 * CX^XXgÊmÌM569 * ECHONET-Lite_Ver.1.10_02.pdf p.43 }4-1-4562 * インスタンスリスト通知の送信 563 * ECHONET-Lite_Ver.1.10_02.pdf p.43 図4-1-4 570 564 */ 571 565 ER _ecn_tsk_ntf_inl(intptr_t fa_exinf) 572 566 { 573 const T_ECN_EOJ a_seoj = /* 0x01 : êÊm[hA0x02FMêpm[h*/567 const T_ECN_EOJ a_seoj = /* 0x01 : 一般ノード、0x02:送信専用ノード */ 574 568 { EOJ_X1_PROFILE, EOJ_X2_NODE_PROFILE, 0x01 }; 575 569 const T_ECN_EOJ a_deoj = … … 581 575 int i; 582 576 uint8_t a_count; 583 const EOBJCB *enod = &eobjcb_table[0]; /* [Jm[h*/577 const EOBJCB *enod = &eobjcb_table[0]; /* ローカルノード */ 584 578 const EOBJINIB *eobj; 585 579 … … 599 593 600 594 if (!a_eoj_ct) { 601 /* mÛEwb_i[*/602 a_hdr.ecn_hdr.tid = (uint8_t)_ecn_tsk_new_tid(); /* V[PXÔ¶¬*/595 /* メモリ確保・ヘッダ格納 */ 596 a_hdr.ecn_hdr.tid = (uint8_t)_ecn_tsk_new_tid(); /* シーケンス番号生成 */ 603 597 a_ret = _ecn_fbs_cre(sizeof(a_hdr), &a_fbs); 604 if (a_ret != E_OK) /* mÛ¸s*/598 if (a_ret != E_OK) /* 確保失敗 */ 605 599 goto lb_except; 606 600 a_ret = _ecn_fbs_add_data(a_fbs, &a_hdr, sizeof(a_hdr)); 607 if (a_ret != E_OK) /* f[^ÇÁ¸s*/601 if (a_ret != E_OK) /* データ追加失敗 */ 608 602 goto lb_except; 609 603 … … 612 606 a_fbs.ptr->hdr.target = ENOD_MULTICAST_ID; 613 607 a_fbs.ptr->hdr.reply = ENOD_LOCAL_ID; 614 ((T_EDATA *)a_fbs.ptr)->hdr.ecn_prp.pdc = 1; /* */615 /* ði[*/608 ((T_EDATA *)a_fbs.ptr)->hdr.ecn_prp.pdc = 1; /* 件数 */ 609 /* 件数を格納 */ 616 610 a_count = (uint8_t)(enod->eobjcnt - i); 617 611 if (a_count >= ECN_IST_LST_EOJ_MAX_CT) 618 612 a_count = ECN_IST_LST_EOJ_MAX_CT; 619 613 a_ret = _ecn_fbs_add_data_ex(a_fbs, &a_count, sizeof(a_count)); 620 if (a_ret != E_OK) /* f[^ÇÁ¸s*/614 if (a_ret != E_OK) /* データ追加失敗 */ 621 615 goto lb_except; 622 616 } 623 /* ECHONET IuWFNgID(3byte)ði[*/617 /* ECHONETオブジェクトID(3byte)を格納 */ 624 618 a_ret = _ecn_fbs_add_data_ex(a_fbs, &eobj->eojx1, sizeof(T_ECN_EOJ)); 625 if (a_ret != E_OK) /* f[^ÇÁ¸s*/619 if (a_ret != E_OK) /* データ追加失敗 */ 626 620 goto lb_except; 627 621 628 /* EedtTCYÁZ*/622 /* 件数・edtサイズ加算 */ 629 623 ((T_EDATA *)a_fbs.ptr)->hdr.ecn_prp.pdc += sizeof(T_ECN_EOJ); 630 624 if (++a_eoj_ct < ECN_IST_LST_EOJ_MAX_CT) 631 625 continue; 632 626 633 /* 1 AiEXÅÌãÀÉBµ½çAêUM*/627 /* 1アナウンスでの上限に達したら、一旦送信 */ 634 628 a_ret = _ecn_tsk_snd_mbx(a_fbs, false); 635 if (a_ret != E_OK) /* f[^M¸s*/629 if (a_ret != E_OK) /* データ送信失敗 */ 636 630 goto lb_except; 637 631 a_eoj_ct = 0; … … 639 633 } 640 634 if (a_eoj_ct) { 641 /* ¢Mf[^ª Á½çAM*/635 /* 未送信データがあったら、送信 */ 642 636 a_ret = _ecn_tsk_snd_mbx(a_fbs, false); 643 if (a_ret != E_OK) /* f[^M¸s*/637 if (a_ret != E_OK) /* データ送信失敗 */ 644 638 goto lb_except; 645 639 a_fbs.ptr = 0; … … 685 679 686 680 /* 687 * 3byte ÌeobjidÅzñðõ·é681 * 3byteのeobjidで配列中を検索する 688 682 */ 689 683 const EOBJINIB *_ecn_eoj_fnd(const EOBJCB *fp_nod, const T_ECN_EOJ *fp_eoj) … … 721 715 722 716 /* 723 * ECHONET pbZ[W717 * ECHONET用メッセージ 724 718 */ 725 719 static void _ecn_tsk_ecn_msg(intptr_t fa_exinf, ECN_FBS_ID fa_fbs_id) … … 749 743 } 750 744 751 /* M¶©çm[hðõ*/745 /* 送信宛からノードを検索 */ 752 746 p_nod = _ecn_eno_fnd(fa_fbs_id.ptr->hdr.target); 753 /* M³©çm[hðõ*/747 /* 送信元からノードを検索 */ 754 748 sender = fa_fbs_id.ptr->hdr.sender; 755 749 p_snod = _ecn_eno_fnd(sender); 756 750 if (p_snod != NULL) { 757 751 sobjatr = p_snod->profile->eobjatr; 758 /* m[hvt@CÌê*/752 /* ノードプロファイルの場合 */ 759 753 if ((p_esv->edata.seoj.eojx1 == EOJ_X1_PROFILE) 760 754 && (p_esv->edata.seoj.eojx2 == EOJ_X2_NODE_PROFILE)) { 761 755 p_sobj = p_snod->profile; 762 756 } 763 /* @íIuWFNgÌê*/757 /* 機器オブジェクトの場合 */ 764 758 else { 765 759 p_sobj = _ecn_eoj_fnd(p_snod, &p_esv->edata.seoj); … … 771 765 #endif 772 766 773 /* m[hàÌ@íIuWFNgðõ*/767 /* ノード内の機器オブジェクトを検索 */ 774 768 a_prc = false; 775 769 a_fwd = false; … … 778 772 eobjatr = p_nod->profile->eobjatr; 779 773 p_eoj = &p_esv->edata.deoj; 780 /* m[hvt@CÌê*/774 /* ノードプロファイルの場合 */ 781 775 if ((p_eoj->eojx1 == EOJ_X1_PROFILE) 782 776 && (p_eoj->eojx2 == EOJ_X2_NODE_PROFILE)) { 783 /* d¶Às*/777 /* 電文処理実行 */ 784 778 if (_ecn_tsk_ecn_msg_main(fa_fbs_id, p_nod->profile, eobjatr, p_sobj, sobjatr) == 1) 785 779 a_fwd = true; 786 780 a_prc = true; 787 781 } 788 /* @íIuWFNgÌê*/782 /* 機器オブジェクトの場合 */ 789 783 else { 790 784 count = p_nod->eobjcnt; … … 805 799 if (p_obj->eojx2 != p_eoj->eojx2) 806 800 continue; 807 /* CX^XR[hªOÌêA¯¶NXÌSÄÌCX^X¶*/801 /* インスタンスコードが0の場合、同じクラスの全てのインスタンス宛 */ 808 802 if ((p_obj->eojx3 != p_eoj->eojx3) && (p_eoj->eojx3 != 0)) 809 803 continue; 810 804 811 /* d¶Às*/805 /* 電文処理実行 */ 812 806 if (_ecn_tsk_ecn_msg_main(fa_fbs_id, p_obj, eobjatr, p_sobj, sobjatr) == 1) 813 807 a_fwd = true; … … 816 810 } 817 811 } 818 /* @íIuWFNgª©Â©çÈ¢êÅà*/812 /* 機器オブジェクトが見つからない場合でも */ 819 813 if (!a_prc) { 820 /* d¶ÀsióMpj*/814 /* 電文処理実行(応答受信用) */ 821 815 if (_ecn_tsk_ecn_msg_main(fa_fbs_id, NULL, EPC_NONE, p_sobj, sobjatr) == 1) 822 816 a_fwd = true; 823 817 } 824 818 825 /* ÌêAvP[VÉ]·é*/819 /* 応答の場合アプリケーションに転送する */ 826 820 if (a_fwd && ((p_esv->ecn_hdr.tid == apitid_table[sender]) 827 821 || g_forward_esv)) … … 829 823 g_release_esv = false; 830 824 831 ECN_CAP_PUT "redirect ecn_svc_mailboxid ¨ecn_api_mailboxid (esv:0x%02X)",825 ECN_CAP_PUT "redirect ecn_svc_mailboxid → ecn_api_mailboxid (esv:0x%02X)", 832 826 p_esv->edata.esv ECN_CAP_END; 833 827 fa_fbs_id.ptr->hdr.target = ENOD_API_ID; … … 853 847 854 848 switch (p_esv->edata.esv) { 855 /* 0x60 vpeBl«Ývisvj*/849 /* 0x60 プロパティ値書き込み要求(応答不要) */ 856 850 case ESV_SET_I: 857 851 if (!p_obj) { … … 865 859 break; 866 860 867 /* 0x61 vpeBl«Ývivj*/861 /* 0x61 プロパティ値書き込み要求(応答要) */ 868 862 case ESV_SET_C: 869 863 if (!p_obj) { … … 877 871 break; 878 872 879 /* 0x62 vpeBlÇÝoµv*/873 /* 0x62 プロパティ値読み出し要求 */ 880 874 case ESV_GET: 881 875 if (!p_obj) { … … 889 883 break; 890 884 891 /* 0x63 vpeBlÊmv*/885 /* 0x63 プロパティ値通知要求 */ 892 886 case ESV_INF_REQ: 893 887 if (!p_obj) { … … 902 896 break; 903 897 904 /* 0x6E vpeBl«ÝEÇÝoµv*/898 /* 0x6E プロパティ値書き込み・読み出し要求 */ 905 899 case ESV_SET_GET: 906 900 if (!p_obj) { … … 914 908 break; 915 909 916 /* 0x74 vpeBlÊmivj*/910 /* 0x74 プロパティ値通知(応答要) */ 917 911 case ESV_INFC: 918 912 if (!p_sobj) … … 925 919 break; 926 920 927 /* 0x60 vpeBl«Ývisvj*/928 case ESV_SET_I_SNA: /* 0x50 vpeBl«ÝvsÂ*/921 /* 0x60 プロパティ値書き込み要求(応答不要) */ 922 case ESV_SET_I_SNA: /* 0x50 プロパティ値書き込み要求不可応答 */ 929 923 result = 1; 930 924 break; 931 925 932 /* 0x61 vpeBl«Ývivj*/933 case ESV_SET_RES: /* 0x71 vpeBl«Ý*/934 case ESV_SET_C_SNA: /* 0x51 vpeBl«ÝvsÂ*/926 /* 0x61 プロパティ値書き込み要求(応答要) */ 927 case ESV_SET_RES: /* 0x71 プロパティ値書き込み応答 */ 928 case ESV_SET_C_SNA: /* 0x51 プロパティ値書き込み要求不可応答 */ 935 929 result = 1; 936 930 break; 937 931 938 /* 0x62 vpeBlÇÝoµv*/939 case ESV_GET_RES: /* 0x72 vpeBlÇÝoµ*/940 case ESV_GET_SNA: /* 0x52 vpeBlÇÝoµsÂ*/932 /* 0x62 プロパティ値読み出し要求 */ 933 case ESV_GET_RES: /* 0x72 プロパティ値読み出し応答 */ 934 case ESV_GET_SNA: /* 0x52 プロパティ値読み出し不可応答 */ 941 935 if (!p_sobj) { 942 936 ECN_DBG_PUT "_ecn_tsk_ecn_msg_main() eoj %06X not found.", … … 949 943 break; 950 944 951 /* 0x63 vpeBlÊmv*/952 case ESV_INF: /* 0x73 vpeBlÊm*/953 case ESV_INF_SNA: /* 0x53 vpeBlÊmsÂ*/945 /* 0x63 プロパティ値通知要求 */ 946 case ESV_INF: /* 0x73 プロパティ値通知 */ 947 case ESV_INF_SNA: /* 0x53 プロパティ値通知不可応答 */ 954 948 if (!p_sobj) { 955 949 ECN_DBG_PUT "_ecn_tsk_ecn_msg_main() eoj %06X not found.", … … 962 956 break; 963 957 964 /* 0x6E vpeBl«ÝEÇÝoµv*/965 case ESV_SET_GET_RES: /* 0x7E vpeBl«ÝEÇÝoµ*/966 case ESV_SET_GET_SNA: /* 0x5E vpeBl«ÝEÇÝoµsÂ*/958 /* 0x6E プロパティ値書き込み・読み出し要求 */ 959 case ESV_SET_GET_RES: /* 0x7E プロパティ値書き込み・読み出し応答 */ 960 case ESV_SET_GET_SNA: /* 0x5E プロパティ値書き込み・読み出し不可応答 */ 967 961 if (!p_sobj) { 968 962 ECN_DBG_PUT "_ecn_tsk_ecn_msg_main() eoj %06X not found.", … … 975 969 break; 976 970 977 /* 0x74 vpeBlÊmivj*/978 case ESV_INFC_RES: /* 0x7A vpeBlÊm*/971 /* 0x74 プロパティ値通知(応答要) */ 972 case ESV_INFC_RES: /* 0x7A プロパティ値通知応答 */ 979 973 result = 1; 980 974 break; … … 986 980 } 987 981 988 /* vpeBÊmvðM*/982 /* プロパティ通知要求を送信 */ 989 983 if (a_fbs_anno.ptr != NULL) { 990 984 ER a_ret = _ecn_tsk_snd_mbx(a_fbs_anno, true); … … 1066 1060 1067 1061 /* 1068 * ECN_FBS_ID ©çT_ECN_PRP1Æ»Ìtf[^(edt)ðoµAedtÌ|C^ðÔ·1069 * ø1070 * ECN_FBS_ID fa_fbs_id ÇÝæéFBS1071 * T_ECN_PRP *fp_prp epc+pdc Ìi[æ1072 * T_ECN_SUB_BLK * const fp_prev_blk OñgÁ½Ì|C^(³¯êÎ0)1073 * ³íF|C^NG:01074 * |C^Í_ecn_fbs_mbx_rel()Åðú·éKvª é1062 * ECN_FBS_IDからT_ECN_PRP1件とその付随データ(edt)を抽出し、edtのポインタを返す 1063 * 引数 1064 * ECN_FBS_ID fa_fbs_id 読み取るFBS 1065 * T_ECN_PRP *fp_prp epc+pdcの格納先 1066 * T_ECN_SUB_BLK * const fp_prev_blk 前回使ったメモリのポインタ(無ければ0) 1067 * 正常:ポインタ NG:0 1068 * ポインタは_ecn_fbs_mbx_rel()で解放する必要がある 1075 1069 */ 1076 1070 static T_ECN_SUB_BLK *_ecn_tsk_get_prp_pce(ECN_FBS_ID fa_fbs_id, T_ECN_PRP *fp_prp, … … 1081 1075 ER a_ret; 1082 1076 1083 /* vpeBpÌæ¾*/1077 /* プロパティ用メモリの取得 */ 1084 1078 if (fp_prev_blk) { 1085 p_blk = fp_prev_blk; /* OñgÁ½ª éÈçAÄp·é*/1079 p_blk = fp_prev_blk; /* 前回使ったメモリがあるなら、再利用する */ 1086 1080 } 1087 1081 else { … … 1089 1083 if (!p_blk) { 1090 1084 ECN_DBG_PUT "_ecn_fbs_mbx_get() fault." ECN_DBG_END; 1091 return 0; /* s«*/1085 return 0; /* メモリ不足 */ 1092 1086 } 1093 1087 } 1094 1088 memset(p_blk, 0, sizeof(*p_blk)); 1095 1089 1096 /* T_ECN_PRP ª(epc,pdc)ðÇÝæé*/1090 /* T_ECN_PRP部分(epc,pdc)を読み取る */ 1097 1091 a_size = 0; 1098 1092 a_ret = _ecn_fbs_get_data(fa_fbs_id, fp_prp, sizeof(*fp_prp), &a_size); … … 1103 1097 1104 1098 if (0 < fp_prp->pdc) { 1105 /* tf[^ª(edt)ðÇÝæé*/1099 /* 付随データ部分(edt)を読み取る */ 1106 1100 a_size = 0; 1107 1101 a_ret = _ecn_fbs_get_data(fa_fbs_id, p_blk, fp_prp->pdc, &a_size); … … 1115 1109 1116 1110 lb_except: 1117 /* vpeBpðú*/1111 /* プロパティ用メモリ解放 */ 1118 1112 if (p_blk && !fp_prev_blk) 1119 1113 _ecn_fbs_mbx_rel(p_blk); … … 1125 1119 ECN_FBS_ID fa_fbs_id, ECN_FBS_ID a_fbs_res, ECN_FBS_ID *fa_fbs_anno, int a_count, 1126 1120 int *p_sw_ok); 1127 /* vpeBl«ÝÀs*/1121 /* プロパティ値書き込み実行 */ 1128 1122 static ER _ecn_tsk_eoj_set_main(const EOBJINIB *fp_obj, ATR fa_eobjatr, bool_t fa_update, 1129 1123 ECN_FBS_ID fa_fbs_id, ECN_FBS_ID a_fbs_res, ECN_FBS_ID *fa_fbs_anno, int a_count, … … 1141 1135 1142 1136 for (i = 0; i < a_count; i++) { 1143 /* ECN_FBS_ID ©çT_ECN_PRP1Æ»Ìtf[^ðoµA»Ì|C^ðÔ·*/1137 /* ECN_FBS_IDからT_ECN_PRP1件とその付随データを抽出し、そのポインタを返す */ 1144 1138 p_edt = _ecn_tsk_get_prp_pce(fa_fbs_id, &a_prp, p_edt); 1145 1139 if (!p_edt) { … … 1148 1142 } 1149 1143 1150 /* vpeBÌÝèset_prp(obj, reqp, resp) */1144 /* プロパティの設定 set_prp(obj, reqp, resp) */ 1151 1145 a_size = a_prp.pdc; 1152 /* obj,epc ÉηésetÖðÄÔ*/1146 /* obj,epcに対応するset関数を呼ぶ */ 1153 1147 a_eprp = _ecn_tsk_eoj_get_property(fp_obj, a_prp.epc); 1154 1148 if ((a_eprp != NULL) … … 1172 1166 fp_obj->eojx1 << 16 | fp_obj->eojx2 << 8 | fp_obj->eojx3, 1173 1167 a_prp.epc, p_edt->payload[0], a_size ECN_DBG_END; 1174 *p_sw_ok = 0; /* vpeBÝè¸s*/1175 /* ÌêEDTÍÝèµÈ¢*/1168 *p_sw_ok = 0; /* プロパティ設定失敗 */ 1169 /* 応答処理の場合EDTは設定しない */ 1176 1170 if (fa_update) 1177 1171 a_prp.pdc = 0; 1178 1172 } 1179 1173 1180 /* d¶pÉf[^ÇÁ(epc,pdcÌ2byte) */1174 /* 応答電文用メモリにデータ追加(epc,pdcの2byte) */ 1181 1175 a_ret = _ecn_fbs_add_data_ex(a_fbs_res, &a_prp, sizeof(a_prp)); 1182 1176 if (a_ret) { … … 1186 1180 1187 1181 if (0 < a_prp.pdc) { 1188 /* d¶pÉf[^ÇÁ(edt n-byte) */1182 /* 応答電文用メモリにデータ追加(edt n-byte) */ 1189 1183 a_ret = _ecn_fbs_add_data_ex(a_fbs_res, p_edt->payload, a_prp.pdc); 1190 1184 if (a_ret) { … … 1195 1189 ((T_EDATA *)a_fbs_res.ptr)->hdr.edata.opc ++; 1196 1190 1197 /* vpeBÊm èÌê*/1191 /* プロパティ通知ありの場合 */ 1198 1192 if (a_anno && (a_ans == a_size)) { 1199 1193 if (fa_fbs_anno->ptr == NULL) { … … 1213 1207 1214 1208 lb_finally: 1215 /* vpeBpðú*/1209 /* プロパティ用メモリ解放 */ 1216 1210 if (p_edt) 1217 1211 _ecn_fbs_mbx_rel(p_edt); … … 1222 1216 static ER _ecn_tsk_eoj_get_main(const EOBJINIB *fp_obj, ATR fa_eobjatr, bool_t fa_forward, ATR fa_access, 1223 1217 ECN_FBS_ID fa_fbs_id, ECN_FBS_ID a_fbs_res, int a_count, int *p_sw_ok); 1224 /* vpeBlÇÝoµÀs*/1218 /* プロパティ値読み出し実行 */ 1225 1219 static ER _ecn_tsk_eoj_get_main(const EOBJINIB *fp_obj, ATR fa_eobjatr, bool_t fa_forward, ATR fa_access, 1226 1220 ECN_FBS_ID fa_fbs_id, ECN_FBS_ID a_fbs_res, int a_count, int *p_sw_ok) 1227 1221 { 1228 1222 T_ECN_SUB_BLK *p_edt = 0; 1229 void *p_prp_buf = 0; /* ìÆÌæ*/1223 void *p_prp_buf = 0; /* 作業領域 */ 1230 1224 const EPRPINIB *a_eprp; 1231 1225 ER a_ret = E_SYS; … … 1235 1229 ((T_EDATA *)a_fbs_res.ptr)->hdr.edata.opc = 0; 1236 1230 1237 /* ìÆÌæmÛ*/1231 /* 作業領域確保 */ 1238 1232 p_prp_buf = _ecn_fbs_mbx_get(ECHONET_MEMPOOL_BLOCK_SIZE); 1239 1233 if (!p_prp_buf) { 1240 1234 ECN_DBG_PUT "_ecn_fbs_mbx_get() result = %d:%s", a_ret, itron_strerror(a_ret) ECN_DBG_END; 1241 goto lb_except; /* s«*/1235 goto lb_except; /* メモリ不足 */ 1242 1236 } 1243 1237 1244 1238 for (i = 0; i < a_count; i++) { 1245 /* ECN_FBS_ID ©çT_ECN_PRP1Æ»Ìtf[^ðo*/1239 /* ECN_FBS_IDからT_ECN_PRP1件とその付随データを抽出 */ 1246 1240 p_edt = _ecn_tsk_get_prp_pce(fa_fbs_id, &a_prp, p_edt); 1247 1241 if (!p_edt) { … … 1250 1244 } 1251 1245 1252 /* vpeBÌæ¾get_eprp(obj, reqp, resp, size) */1246 /* プロパティの取得 get_eprp(obj, reqp, resp, size) */ 1253 1247 memset(p_prp_buf, 0, ECHONET_MEMPOOL_BLOCK_SIZE); 1254 /* obj,epc ÉηégetÖðÄÔ*/1248 /* obj,epcに対応するget関数を呼ぶ */ 1255 1249 a_eprp = _ecn_tsk_eoj_get_property(fp_obj, a_prp.epc); 1256 1250 if ((a_eprp != NULL) && (((a_eprp->eprpatr & fa_access) != 0) && (fa_eobjatr == EOBJ_LOCAL_NODE) || fa_forward)) { … … 1263 1257 a_prp.pdc = (uint8_t)a_ans; 1264 1258 } else { 1265 *p_sw_ok = 0; /* vpeB澸s*/1259 *p_sw_ok = 0; /* プロパティ取得失敗 */ 1266 1260 a_ans = 0; 1267 1261 a_prp.pdc = 0; 1268 1262 } 1269 1263 1270 /* d¶pÉf[^ÇÁ(epc,pdcÌ2byte) */1264 /* 応答電文用メモリにデータ追加(epc,pdcの2byte) */ 1271 1265 a_ret = _ecn_fbs_add_data_ex(a_fbs_res, &a_prp, sizeof(a_prp)); 1272 1266 if (a_ret) { … … 1275 1269 } 1276 1270 if (0 < a_ans) { 1277 /* tf[^ÇÁ*/1271 /* 付随データ追加 */ 1278 1272 a_ret = _ecn_fbs_add_data_ex(a_fbs_res, p_prp_buf, a_ans); 1279 1273 if (a_ret) { … … 1291 1285 1292 1286 lb_finally: 1293 /* ìÆÌæðú*/1287 /* 作業領域解放 */ 1294 1288 if (p_prp_buf) 1295 1289 _ecn_fbs_mbx_rel(p_prp_buf); 1296 1290 1297 /* vpeBpðú*/1291 /* プロパティ用メモリ解放 */ 1298 1292 if (p_edt) 1299 1293 _ecn_fbs_mbx_rel(p_edt); … … 1303 1297 1304 1298 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); 1305 /* vpeBlÇÝoµÀs*/1299 /* プロパティ値読み出し実行 */ 1306 1300 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) 1307 1301 { 1308 1302 T_ECN_SUB_BLK *p_edt = 0; 1309 void *p_prp_buf = 0; /* ìÆÌæ*/1303 void *p_prp_buf = 0; /* 作業領域 */ 1310 1304 ER a_ret = E_SYS; 1311 1305 T_ECN_PRP a_prp; /* epc+pdc */ … … 1314 1308 ((T_EDATA *)a_fbs_res.ptr)->hdr.edata.opc = 0; 1315 1309 1316 /* ìÆÌæmÛ*/1310 /* 作業領域確保 */ 1317 1311 p_prp_buf = _ecn_fbs_mbx_get(ECHONET_MEMPOOL_BLOCK_SIZE); 1318 1312 if (!p_prp_buf) { 1319 1313 ECN_DBG_PUT "_ecn_fbs_mbx_get() result = %d:%s", a_ret, itron_strerror(a_ret) ECN_DBG_END; 1320 goto lb_except; /* s«*/1314 goto lb_except; /* メモリ不足 */ 1321 1315 } 1322 1316 1323 1317 for (i = 0; i < a_count; i++) { 1324 /* ECN_FBS_ID ©çT_ECN_PRP1Æ»Ìtf[^ðo*/1318 /* ECN_FBS_IDからT_ECN_PRP1件とその付随データを抽出 */ 1325 1319 p_edt = _ecn_tsk_get_prp_pce(fa_fbs_id, &a_prp, p_edt); 1326 1320 if (!p_edt) { … … 1331 1325 a_prp.pdc = 0; 1332 1326 1333 /* d¶pÉf[^ÇÁ(epc,pdcÌ2byte) */1327 /* 応答電文用メモリにデータ追加(epc,pdcの2byte) */ 1334 1328 a_ret = _ecn_fbs_add_data_ex(a_fbs_res, &a_prp, sizeof(a_prp)); 1335 1329 if (a_ret) { … … 1346 1340 1347 1341 lb_finally: 1348 /* ìÆÌæðú*/1342 /* 作業領域解放 */ 1349 1343 if (p_prp_buf) 1350 1344 _ecn_fbs_mbx_rel(p_prp_buf); 1351 1345 1352 /* vpeBpðú*/1346 /* プロパティ用メモリ解放 */ 1353 1347 if (p_edt) 1354 1348 _ecn_fbs_mbx_rel(p_edt); … … 1357 1351 } 1358 1352 1359 /* vpeBlÇÝòεÀs*/1353 /* プロパティ値読み飛ばし実行 */ 1360 1354 static ER _ecn_tsk_eoj_skip_main(const EOBJINIB *fp_obj, ECN_FBS_ID fa_fbs_id, 1361 1355 int a_count); … … 1368 1362 1369 1363 for (i = 0; i < a_count; i++) { 1370 /* T_ECN_PRP ª(epc,pdc)ðÇÝæé*/1364 /* T_ECN_PRP部分(epc,pdc)を読み取る */ 1371 1365 a_size = 0; 1372 1366 a_ret = _ecn_fbs_get_data(fa_fbs_id, &a_prp, sizeof(a_prp), &a_size); … … 1376 1370 } 1377 1371 1378 /* pdc ªÇÝòε*/1372 /* pdc分読み飛ばし */ 1379 1373 a_ret = _ecn_fbs_seek_rpos(fa_fbs_id, a_prp.pdc); 1380 1374 if (a_ret) { … … 1395 1389 static void _ecn_tsk_mk_rsp_hdr(const EOBJINIB *fp_obj, T_ECN_EDT_HDR *fp_rsp_esv, 1396 1390 T_ECN_EDT_HDR const *fp_req_esv); 1397 /* d¶Ýè*/1391 /* 応答電文設定 */ 1398 1392 static void _ecn_tsk_mk_rsp_hdr(const EOBJINIB *fp_obj, T_ECN_EDT_HDR *fp_rsp_esv, 1399 1393 T_ECN_EDT_HDR const *fp_req_esv) … … 1420 1414 } 1421 1415 1422 /* d¶pfbsÝè*/1416 /* 応答電文用fbs設定 */ 1423 1417 static void _ecn_tsk_set_rsp_fbs(ECN_FBS_ID fa_rsp_fbs, T_ECN_FST_BLK const *fp_req_ptr); 1424 /* d¶pfbsÝè(sender/targetÌÝè) */1418 /* 応答電文用fbs設定(sender/targetの設定) */ 1425 1419 static void _ecn_tsk_set_rsp_fbs(ECN_FBS_ID fa_rsp_fbs, T_ECN_FST_BLK const *fp_req_ptr) 1426 1420 { … … 1431 1425 } 1432 1426 1433 /* vpeBl«Ýv*/1427 /* プロパティ値書き込み要求 */ 1434 1428 static void _ecn_tsk_eoj_set(const EOBJINIB *fp_obj, ATR fa_eobjatr, bool_t fa_update, 1435 1429 ECN_FBS_ID fa_fbs_id, ECN_SRV_CODE fa_res_esv, ECN_SRV_CODE fa_sna_esv, … … 1446 1440 memset(&a_ecn_hdp, 0, sizeof(a_ecn_hdp)); 1447 1441 1448 /* ÅåTCYÌæ¾*/1442 /* 応答最大サイズの取得 */ 1449 1443 a_size = sizeof(T_ECN_HDR) + sizeof(T_ECN_EDATA_BODY) + sizeof(T_ECN_PRP); 1450 1444 1451 /* d¶pÌæ¾*/1445 /* 応答電文用メモリの取得 */ 1452 1446 a_ret = _ecn_fbs_cre(a_size, &a_fbs_res); 1453 if (a_ret != E_OK || !a_fbs_res.ptr) /* mÛ¸s*/1447 if (a_ret != E_OK || !a_fbs_res.ptr) /* 確保失敗 */ 1454 1448 return; 1455 1449 1456 /* d¶Ýè*/1450 /* 応答電文設定 */ 1457 1451 if(p_req_esv->edata.deoj.eojx3 != 0) 1458 1452 _ecn_tsk_mk_rsp_hdr_res(&a_ecn_hdp, p_req_esv); … … 1460 1454 _ecn_tsk_mk_rsp_hdr(fp_obj, &a_ecn_hdp, p_req_esv); 1461 1455 1462 /* ³íÌd¶ªvpeBlÊmÌê*/1456 /* 正常時の応答電文がプロパティ値通知応答の場合 */ 1463 1457 if (fa_res_esv == ESV_INFC_RES) { 1464 /* M³Æ¶æðüêÖ¦*/1458 /* 送信元と宛先を入れ替え */ 1465 1459 eoj = a_ecn_hdp.edata.seoj; 1466 1460 a_ecn_hdp.edata.seoj = a_ecn_hdp.edata.deoj; … … 1468 1462 } 1469 1463 1470 f_put_fbs_eoj("_ecn_tsk_eoj_set", "fa_fbs_id", fa_fbs_id); /* s/deoj fobOoÍ*/1471 1472 /* d¶pÉf[^ÇÁ*/1464 f_put_fbs_eoj("_ecn_tsk_eoj_set", "fa_fbs_id", fa_fbs_id); /* s/deoj デバッグ出力 */ 1465 1466 /* 応答電文用メモリにデータ追加 */ 1473 1467 a_ret = _ecn_fbs_add_data_ex(a_fbs_res, &a_ecn_hdp, 1474 1468 sizeof(a_ecn_hdp.ecn_hdr) + sizeof(a_ecn_hdp.edata)); … … 1476 1470 goto lb_except; 1477 1471 1478 /* payload æªÌT_ECN_HDR(ecn_hdr), T_ECN_EDATA_BODY(edata)ðÇÝòη*/1472 /* payload先頭のT_ECN_HDR(ecn_hdr), T_ECN_EDATA_BODY(edata)を読み飛ばす */ 1479 1473 a_ret = _ecn_fbs_set_rpos(fa_fbs_id, offsetof(T_ECN_EDT_HDR, ecn_prp)); 1480 1474 if (a_ret) 1481 1475 goto lb_except; 1482 1476 1483 /* d¶pfbsÝè*/1477 /* 応答電文用fbs設定 */ 1484 1478 _ecn_tsk_set_rsp_fbs(a_fbs_res, fa_fbs_id.ptr); 1485 1479 1486 /* vpeBl«ÝÀs*/1480 /* プロパティ値書き込み実行 */ 1487 1481 a_ret = _ecn_tsk_eoj_set_main(fp_obj, fa_eobjatr, fa_update, fa_fbs_id, a_fbs_res, 1488 1482 fa_fbs_anno, p_req_esv->edata.opc, &a_sw_ok); … … 1490 1484 goto lb_except; 1491 1485 1492 /* vÌê*/1486 /* 応答要の場合 */ 1493 1487 if (a_sw_ok) { 1494 1488 if (!fa_res_esv) { 1495 /* svÌê*/1489 /* 応答不要の場合 */ 1496 1490 _ecn_fbs_del(a_fbs_res); 1497 1491 goto lb_finally; 1498 1492 } 1499 /* Ýè¬÷*/1493 /* 設定処理成功 */ 1500 1494 ((T_EDATA *)a_fbs_res.ptr)->hdr.edata.esv = fa_res_esv; 1501 1495 } else { 1502 1496 if (!fa_sna_esv) { 1503 /* svÌê*/1497 /* 応答不要の場合 */ 1504 1498 _ecn_fbs_del(a_fbs_res); 1505 1499 goto lb_finally; 1506 1500 } 1507 /* Ýè¸s*/1501 /* 設定処理失敗 */ 1508 1502 ((T_EDATA *)a_fbs_res.ptr)->hdr.edata.esv = fa_sna_esv; 1509 1503 } 1510 /* M*/1504 /* 応答送信 */ 1511 1505 a_ret = _ecn_tsk_snd_mbx(a_fbs_res, false); 1512 1506 if (a_ret == E_OK) … … 1514 1508 1515 1509 lb_except: 1516 /* f[^M¸sµ½çÌæðú*/1510 /* データ送信失敗したら領域解放 */ 1517 1511 if (a_fbs_res.ptr) 1518 1512 _ecn_fbs_del(a_fbs_res); … … 1522 1516 } 1523 1517 1524 /* vpeBlÇÝoµv*/1518 /* プロパティ値読み出し要求 */ 1525 1519 static void _ecn_tsk_eoj_get(const EOBJINIB *fp_obj, ATR fa_eobjatr, bool_t fa_forward, ATR fa_access, 1526 1520 ECN_FBS_ID fa_fbs_id, ECN_SRV_CODE fa_res_esv, ECN_SRV_CODE fa_sna_esv) … … 1535 1529 memset(&a_ecn_hdp, 0, sizeof(a_ecn_hdp)); 1536 1530 1537 /* úæ¾TCY*/1531 /* 初期取得サイズ */ 1538 1532 a_size = sizeof(T_ECN_HDR) + sizeof(T_ECN_EDATA_BODY) + sizeof(T_ECN_PRP); 1539 1533 1540 /* d¶pÌæ¾*/1534 /* 応答電文用メモリの取得 */ 1541 1535 a_ret = _ecn_fbs_cre(a_size, &a_fbs_res); 1542 if (a_ret != E_OK || !a_fbs_res.ptr) { /* mÛ¸s*/1536 if (a_ret != E_OK || !a_fbs_res.ptr) { /* 確保失敗 */ 1543 1537 ECN_DBG_PUT "_ecn_fbs_cre() result = %d:%s", a_ret, itron_strerror(a_ret) ECN_DBG_END; 1544 1538 goto lb_finally; 1545 1539 } 1546 1540 1547 /* d¶Ýè*/1541 /* 応答電文設定 */ 1548 1542 if(p_req_esv->edata.deoj.eojx3 != 0) 1549 1543 _ecn_tsk_mk_rsp_hdr_res(&a_ecn_hdp, p_req_esv); … … 1551 1545 _ecn_tsk_mk_rsp_hdr(fp_obj, &a_ecn_hdp, p_req_esv); 1552 1546 1553 f_put_fbs_eoj("_ecn_tsk_eoj_get", "fa_fbs_id", fa_fbs_id); /* s/deoj fobOoÍ*/1554 1555 /* d¶pÉf[^ÇÁ*/1547 f_put_fbs_eoj("_ecn_tsk_eoj_get", "fa_fbs_id", fa_fbs_id); /* s/deoj デバッグ出力 */ 1548 1549 /* 応答電文用メモリにデータ追加 */ 1556 1550 a_ret = _ecn_fbs_add_data_ex(a_fbs_res, &a_ecn_hdp, 1557 1551 sizeof(a_ecn_hdp.ecn_hdr) + sizeof(a_ecn_hdp.edata)); … … 1561 1555 } 1562 1556 1563 /* payload æªÌT_ECN_HDR(ecn_hdr), T_ECN_EDATA_BODY(edata)ðÇÝòη*/1557 /* payload先頭のT_ECN_HDR(ecn_hdr), T_ECN_EDATA_BODY(edata)を読み飛ばす */ 1564 1558 a_ret = _ecn_fbs_set_rpos(fa_fbs_id, offsetof(T_ECN_EDT_HDR, ecn_prp)); 1565 1559 if (a_ret) { … … 1568 1562 } 1569 1563 1570 /* d¶pfbsÝè*/1564 /* 応答電文用fbs設定 */ 1571 1565 _ecn_tsk_set_rsp_fbs(a_fbs_res, fa_fbs_id.ptr); 1572 1566 1573 /* vpeBlÇÝÝÀs*/1567 /* プロパティ値読み込み実行 */ 1574 1568 a_ret = _ecn_tsk_eoj_get_main(fp_obj, fa_eobjatr, fa_forward, fa_access, fa_fbs_id, a_fbs_res, 1575 1569 ((T_EDATA *)fa_fbs_id.ptr)->hdr.edata.opc, &a_sw_ok); … … 1581 1575 if (a_sw_ok) { 1582 1576 if (!fa_res_esv) { 1583 /* svÌê*/1577 /* 応答不要の場合 */ 1584 1578 _ecn_fbs_del(a_fbs_res); 1585 1579 goto lb_finally; 1586 1580 } 1587 /* Ýè¬÷*/1581 /* 設定処理成功 */ 1588 1582 ((T_EDATA *)a_fbs_res.ptr)->hdr.edata.esv = fa_res_esv; 1589 1583 } else { 1590 1584 if (!fa_sna_esv) { 1591 /* svÌê*/1585 /* 応答不要の場合 */ 1592 1586 _ecn_fbs_del(a_fbs_res); 1593 1587 goto lb_finally; 1594 1588 } 1595 /* Ýè¸s*/1589 /* 設定処理失敗 */ 1596 1590 ((T_EDATA *)a_fbs_res.ptr)->hdr.edata.esv = fa_sna_esv; 1597 1591 } 1598 /* M*/1592 /* 応答送信 */ 1599 1593 a_ret = _ecn_tsk_snd_mbx(a_fbs_res, false); 1600 1594 if (a_ret != E_OK) { … … 1605 1599 1606 1600 lb_except: 1607 /* f[^M¸sµ½çÌæðú*/1601 /* データ送信失敗したら領域解放 */ 1608 1602 if (a_fbs_res.ptr) 1609 1603 _ecn_fbs_del(a_fbs_res); … … 1613 1607 } 1614 1608 1615 /* vpeBlÇÝoµv*/1609 /* プロパティ値読み出し要求 */ 1616 1610 static void _ecn_tsk_eoj_res(ECN_FBS_ID fa_fbs_id, ECN_SRV_CODE fa_res_esv, 1617 1611 ECN_SRV_CODE fa_sna_esv) … … 1626 1620 memset(&a_ecn_hdp, 0, sizeof(a_ecn_hdp)); 1627 1621 1628 /* úæ¾TCY*/1622 /* 初期取得サイズ */ 1629 1623 a_size = sizeof(T_ECN_HDR) + sizeof(T_ECN_EDATA_BODY) + sizeof(T_ECN_PRP); 1630 1624 1631 /* d¶pÌæ¾*/1625 /* 応答電文用メモリの取得 */ 1632 1626 a_ret = _ecn_fbs_cre(a_size, &a_fbs_res); 1633 if (a_ret != E_OK || !a_fbs_res.ptr) { /* mÛ¸s*/1627 if (a_ret != E_OK || !a_fbs_res.ptr) { /* 確保失敗 */ 1634 1628 ECN_DBG_PUT "_ecn_fbs_cre() result = %d:%s", a_ret, itron_strerror(a_ret) ECN_DBG_END; 1635 1629 goto lb_finally; 1636 1630 } 1637 1631 1638 /* d¶Ýè*/1632 /* 応答電文設定 */ 1639 1633 _ecn_tsk_mk_rsp_hdr_res(&a_ecn_hdp, p_req_esv); 1640 1634 1641 f_put_fbs_eoj("_ecn_tsk_eoj_res", "fa_fbs_id", fa_fbs_id); /* s/deoj fobOoÍ*/1642 1643 /* d¶pÉf[^ÇÁ*/1635 f_put_fbs_eoj("_ecn_tsk_eoj_res", "fa_fbs_id", fa_fbs_id); /* s/deoj デバッグ出力 */ 1636 1637 /* 応答電文用メモリにデータ追加 */ 1644 1638 a_ret = _ecn_fbs_add_data_ex(a_fbs_res, &a_ecn_hdp, 1645 1639 sizeof(a_ecn_hdp.ecn_hdr) + sizeof(a_ecn_hdp.edata)); … … 1649 1643 } 1650 1644 1651 /* payload æªÌT_ECN_HDR(ecn_hdr), T_ECN_EDATA_BODY(edata)ðÇÝòη*/1645 /* payload先頭のT_ECN_HDR(ecn_hdr), T_ECN_EDATA_BODY(edata)を読み飛ばす */ 1652 1646 a_ret = _ecn_fbs_set_rpos(fa_fbs_id, offsetof(T_ECN_EDT_HDR, ecn_prp)); 1653 1647 if (a_ret) { … … 1656 1650 } 1657 1651 1658 /* d¶pfbsÝè*/1652 /* 応答電文用fbs設定 */ 1659 1653 _ecn_tsk_set_rsp_fbs(a_fbs_res, fa_fbs_id.ptr); 1660 1654 1661 /* vpeBlÇÝÝÀs*/1655 /* プロパティ値読み込み実行 */ 1662 1656 a_ret = _ecn_tsk_eoj_res_main(fa_fbs_id, a_fbs_res, 1663 1657 ((T_EDATA *)fa_fbs_id.ptr)->hdr.edata.opc, &a_sw_ok); … … 1669 1663 if (a_sw_ok) { 1670 1664 if (!fa_res_esv) { 1671 /* svÌê*/1665 /* 応答不要の場合 */ 1672 1666 _ecn_fbs_del(a_fbs_res); 1673 1667 goto lb_finally; 1674 1668 } 1675 /* Ýè¬÷*/1669 /* 設定処理成功 */ 1676 1670 ((T_EDATA *)a_fbs_res.ptr)->hdr.edata.esv = fa_res_esv; 1677 1671 } else { 1678 1672 if (!fa_sna_esv) { 1679 /* svÌê*/1673 /* 応答不要の場合 */ 1680 1674 _ecn_fbs_del(a_fbs_res); 1681 1675 goto lb_finally; 1682 1676 } 1683 /* Ýè¸s*/1677 /* 設定処理失敗 */ 1684 1678 ((T_EDATA *)a_fbs_res.ptr)->hdr.edata.esv = fa_sna_esv; 1685 1679 } 1686 /* M*/1680 /* 応答送信 */ 1687 1681 a_ret = _ecn_tsk_snd_mbx(a_fbs_res, false); 1688 1682 if (a_ret != E_OK) { … … 1693 1687 1694 1688 lb_except: 1695 /* f[^M¸sµ½çÌæðú*/1689 /* データ送信失敗したら領域解放 */ 1696 1690 if (a_fbs_res.ptr) 1697 1691 _ecn_fbs_del(a_fbs_res); … … 1708 1702 T_ECN_EDT_HDR a_ecn_hdp; 1709 1703 ECN_FBS_ID a_fbs_res = { 0 }; 1710 int a_rdprp_wrpos; /* vpeBÇÝÝ«ÝÌwbhÊu*/1704 int a_rdprp_wrpos; /* プロパティ読み込み件数書き込み時のヘッド位置 */ 1711 1705 ER a_ret; 1712 1706 int i, a_size, a_rdlen; 1713 1707 int a_sw_ok = 1; 1714 int a_count = ((T_EDATA *)fa_fbs_id.ptr)->hdr.edata.opc; /* vpeB*/1708 int a_count = ((T_EDATA *)fa_fbs_id.ptr)->hdr.edata.opc; /* 処理プロパティ数 */ 1715 1709 1716 1710 memset(&a_ecn_hdp, 0, sizeof(a_ecn_hdp)); … … 1719 1713 fp_obj->eojx1 << 16 | fp_obj->eojx2 << 8 | fp_obj->eojx3 ECN_DBG_END; 1720 1714 1721 /* úæ¾TCY*/1715 /* 初期取得サイズ */ 1722 1716 a_size = sizeof(T_ECN_HDR) + sizeof(T_ECN_EDATA_BODY) + sizeof(T_ECN_PRP); 1723 1717 1724 /* d¶pÌæ¾*/1718 /* 応答電文用メモリの取得 */ 1725 1719 a_ret = _ecn_fbs_cre(a_size, &a_fbs_res); 1726 if (a_ret != E_OK || !a_fbs_res.ptr) /* mÛ¸s*/1720 if (a_ret != E_OK || !a_fbs_res.ptr) /* 確保失敗 */ 1727 1721 goto lb_finally; 1728 1722 1729 /* d¶Ýè*/1723 /* 応答電文設定 */ 1730 1724 if(p_req_esv->edata.deoj.eojx3 != 0) 1731 1725 _ecn_tsk_mk_rsp_hdr_res(&a_ecn_hdp, p_req_esv); … … 1734 1728 a_size -= sizeof(T_ECN_HDR) + sizeof(T_ECN_EDATA_BODY); 1735 1729 1736 f_put_fbs_eoj("_ecn_tsk_eoj_set_get", "fa_fbs_id", fa_fbs_id); /* s/deoj fobOoÍ*/1737 1738 /* d¶pÉf[^ÇÁ*/1730 f_put_fbs_eoj("_ecn_tsk_eoj_set_get", "fa_fbs_id", fa_fbs_id); /* s/deoj デバッグ出力 */ 1731 1732 /* 応答電文用メモリにデータ追加 */ 1739 1733 a_ret = _ecn_fbs_add_data_ex(a_fbs_res, &a_ecn_hdp, 1740 1734 sizeof(a_ecn_hdp.ecn_hdr) + sizeof(a_ecn_hdp.edata)); … … 1742 1736 goto lb_except; 1743 1737 1744 /* payload æªÌT_ECN_HDR(ecn_hdr), T_ECN_EDATA_BODY(edata)ðÇÝòη*/1738 /* payload先頭のT_ECN_HDR(ecn_hdr), T_ECN_EDATA_BODY(edata)を読み飛ばす */ 1745 1739 a_ret = _ecn_fbs_set_rpos(fa_fbs_id, offsetof(T_ECN_EDT_HDR, ecn_prp)); 1746 1740 if (a_ret) 1747 1741 goto lb_except; 1748 1742 1749 /* d¶pfbsÝè*/1743 /* 応答電文用fbs設定 */ 1750 1744 _ecn_tsk_set_rsp_fbs(a_fbs_res, fa_fbs_id.ptr); 1751 1745 1752 /* vpeBl«ÝÀs*/1746 /* プロパティ値書き込み実行 */ 1753 1747 a_ret = _ecn_tsk_eoj_set_main(fp_obj, fa_eobjatr, false, fa_fbs_id, a_fbs_res, 1754 1748 fa_fbs_anno, a_count, &a_sw_ok); … … 1763 1757 (a_sw_ok ? "true" : "false") ECN_DBG_END; 1764 1758 1765 /* ÌðÇÝæé(1byte) */1766 /* ¨ECHONET-Lite_Ver.1.10_02.pdf p.40 [OPCGet] */1759 /* 次の件数を読み取る(1byte) */ 1760 /* → ECHONET-Lite_Ver.1.10_02.pdf p.40 [OPCGet] */ 1767 1761 a_rdlen = i = 0; 1768 1762 a_ret = _ecn_fbs_get_data(fa_fbs_id, &i, 1, &a_rdlen); … … 1771 1765 a_count = *(uint8_t *)&i; 1772 1766 1773 /* vpeBÇÝÝ«ÝÌwbhîñðL^*/1767 /* プロパティ読み込み件数書き込み時のヘッド情報を記録 */ 1774 1768 a_rdprp_wrpos = _ecn_fbs_get_datalen(a_fbs_res); 1775 1769 1776 /* d¶pÉf[^ÇÁ(OPCGet 1byte) */1770 /* 応答電文用メモリにデータ追加 (OPCGet 1byte) */ 1777 1771 a_ret = _ecn_fbs_add_data_ex(a_fbs_res, &i, 1); 1778 1772 if (a_ret) 1779 1773 goto lb_except; 1780 1774 1781 /* ±Ì_ÅÌd¶vpeBðL^*/1775 /* この時点での応答電文中プロパティ件数を記録 */ 1782 1776 i = ((T_EDATA *)a_fbs_res.ptr)->hdr.edata.opc; 1783 1777 ((T_EDATA *)a_fbs_res.ptr)->hdr.edata.opc = 0; 1784 1778 1785 /* vpeBlÇÝÝÀs*/1779 /* プロパティ値読み込み実行 */ 1786 1780 a_ret = _ecn_tsk_eoj_get_main(fp_obj, fa_eobjatr, false, EPC_RULE_GET, fa_fbs_id, a_fbs_res, 1787 1781 a_count, &a_sw_ok); … … 1796 1790 (a_sw_ok ? "true" : "false") ECN_DBG_END; 1797 1791 1798 /* vpeBÇÝÝ«ÝÌwbhîñÅAÇÝoµðL^*/1792 /* プロパティ読み込み件数書き込み時のヘッド情報で、読み出し件数を記録 */ 1799 1793 _ecn_fbs_poke(a_fbs_res, a_rdprp_wrpos, ((T_EDATA *)a_fbs_res.ptr)->hdr.edata.opc); 1800 1794 1801 /* L^µÄ¨¢½vpeBi«Ýjð«ß·*/1795 /* 記録しておいたプロパティ件数(書き込み件数)を書き戻す */ 1802 1796 ((T_EDATA *)a_fbs_res.ptr)->hdr.edata.opc = (uint8_t)i; 1803 1797 1804 /* vÌê*/1798 /* 応答要の場合 */ 1805 1799 if (a_sw_ok) { 1806 /* Ýè¬÷*/1800 /* 設定処理成功 */ 1807 1801 ((T_EDATA *)a_fbs_res.ptr)->hdr.edata.esv = fa_res_esv; 1808 1802 } else { 1809 /* Ýè¸s*/1803 /* 設定処理失敗 */ 1810 1804 ((T_EDATA *)a_fbs_res.ptr)->hdr.edata.esv = fa_sna_esv; 1811 1805 } 1812 /* M*/1806 /* 応答送信 */ 1813 1807 a_ret = _ecn_tsk_snd_mbx(a_fbs_res, false); 1814 1808 if (a_ret == E_OK) … … 1816 1810 1817 1811 lb_except: 1818 /* f[^M¸sµ½çÌæðú*/1812 /* データ送信失敗したら領域解放 */ 1819 1813 if (a_fbs_res.ptr) 1820 1814 _ecn_fbs_del(a_fbs_res); … … 1833 1827 int i, a_size, a_rdlen; 1834 1828 int a_sw_ok = 1; 1835 int a_count = ((T_EDATA *)fa_fbs_id.ptr)->hdr.edata.opc; /* vpeB*/1829 int a_count = ((T_EDATA *)fa_fbs_id.ptr)->hdr.edata.opc; /* 処理プロパティ数 */ 1836 1830 1837 1831 memset(&a_ecn_hdp, 0, sizeof(a_ecn_hdp)); … … 1840 1834 fp_obj->eojx1 << 16 | fp_obj->eojx2 << 8 | fp_obj->eojx3 ECN_DBG_END; 1841 1835 1842 /* úæ¾TCY*/1836 /* 初期取得サイズ */ 1843 1837 a_size = sizeof(T_ECN_HDR) + sizeof(T_ECN_EDATA_BODY) + sizeof(T_ECN_PRP); 1844 1838 1845 /* d¶pi_~[jÌæ¾*/1839 /* 応答電文用メモリ(ダミー)の取得 */ 1846 1840 a_ret = _ecn_fbs_cre(a_size, &a_fbs_dmy); 1847 if (a_ret != E_OK || !a_fbs_dmy.ptr) /* mÛ¸s*/1841 if (a_ret != E_OK || !a_fbs_dmy.ptr) /* 確保失敗 */ 1848 1842 goto lb_finally; 1849 1843 1850 /* d¶Ýè*/1844 /* 応答電文設定 */ 1851 1845 _ecn_tsk_mk_rsp_hdr_res(&a_ecn_hdp, p_req_esv); 1852 1846 a_size -= sizeof(T_ECN_HDR) + sizeof(T_ECN_EDATA_BODY); 1853 1847 1854 /* payload æªÌT_ECN_HDR(ecn_hdr), T_ECN_EDATA_BODY(edata)ðÇÝòη*/1848 /* payload先頭のT_ECN_HDR(ecn_hdr), T_ECN_EDATA_BODY(edata)を読み飛ばす */ 1855 1849 a_ret = _ecn_fbs_set_rpos(fa_fbs_id, offsetof(T_ECN_EDT_HDR, ecn_prp)); 1856 1850 if (a_ret) 1857 1851 goto lb_except; 1858 1852 1859 /* vpeBl«ÝÇÝòεÀs*/1853 /* プロパティ値書き込み応答読み飛ばし実行 */ 1860 1854 a_ret = _ecn_tsk_eoj_skip_main(fp_obj, fa_fbs_id, a_count); 1861 1855 if (a_ret) { … … 1869 1863 (a_sw_ok ? "true" : "false") ECN_DBG_END; 1870 1864 1871 /* ÌðÇÝæé(1byte) */1872 /* ¨ECHONET-Lite_Ver.1.10_02.pdf p.40 [OPCGet] */1865 /* 次の件数を読み取る(1byte) */ 1866 /* → ECHONET-Lite_Ver.1.10_02.pdf p.40 [OPCGet] */ 1873 1867 a_rdlen = i = 0; 1874 1868 a_ret = _ecn_fbs_get_data(fa_fbs_id, &i, 1, &a_rdlen); … … 1877 1871 a_count = *(uint8_t *)&i; 1878 1872 1879 /* vpeBlÇÝoµÌ«ÝÀs*/1873 /* プロパティ値読み出し応答の書き込み実行 */ 1880 1874 a_ret = _ecn_tsk_eoj_set_main(fp_obj, fa_eobjatr, true, fa_fbs_id, a_fbs_dmy, 1881 1875 fa_fbs_anno, a_count, &a_sw_ok); … … 1893 1887 1894 1888 lb_except: 1895 /* f[^M¸sµ½çÌæðú*/1889 /* データ送信失敗したら領域解放 */ 1896 1890 if (a_fbs_dmy.ptr) 1897 1891 _ecn_fbs_del(a_fbs_dmy); … … 1902 1896 1903 1897 /* 1904 * d¶Ò¿ÌèÝd¶ì¬1898 * 応答電文待ちの割り込み電文作成 1905 1899 */ 1906 1900 ER _ecn_mk_brk_wai(ECN_FBS_ID *pk_fbs_id, const void *p_dat, size_t fa_size) 1907 1901 { 1908 1902 ER a_ret; 1909 ECN_FBS_ID a_fbs_id = { 0 }; /* vd¶p*/1903 ECN_FBS_ID a_fbs_id = { 0 }; /* 要求電文用メモリ */ 1910 1904 1911 1905 if (!pk_fbs_id) … … 1913 1907 *pk_fbs_id = a_fbs_id; 1914 1908 if (sizeof(a_fbs_id.ptr->payload) <= fa_size) 1915 return E_PAR; /* tf[^ªå«·¬é*/1909 return E_PAR; /* 付随データが大きすぎる */ 1916 1910 if (!p_dat && 0 < fa_size) 1917 return E_PAR; /* tf[^TCYª1ÈãÈÌÉf[^|C^ªNULL */1918 1919 /* vd¶pÌæ¾*/1911 return E_PAR; /* 付随データサイズが1以上なのにデータポインタがNULL */ 1912 1913 /* 要求電文用メモリの取得 */ 1920 1914 a_ret = _ecn_fbs_cre((0 < fa_size ? fa_size : 1), &a_fbs_id); 1921 if (a_ret != E_OK || !a_fbs_id.ptr) { /* mÛ¸s*/1915 if (a_ret != E_OK || !a_fbs_id.ptr) { /* 確保失敗 */ 1922 1916 syslog(LOG_WARNING, "_ecn_fbs_cre(%d) result = %d:%s", fa_size, a_ret, itron_strerror(a_ret)); 1923 1917 return a_ret; 1924 1918 } 1925 1919 1926 /* vd¶Ýè*/1920 /* 要求電文設定 */ 1927 1921 a_fbs_id.ptr->hdr.type = ECN_MSG_USER_BREAK; 1928 1922 a_fbs_id.ptr->hdr.sender = ENOD_API_ID; … … 1931 1925 1932 1926 if (0 < fa_size && p_dat) { 1933 /* tf[^ÇÁ*/1927 /* 付随データ追加 */ 1934 1928 a_ret = _ecn_fbs_add_data_ex(a_fbs_id, p_dat, fa_size); 1935 1929 if (a_ret) { … … 1943 1937 *pk_fbs_id = a_fbs_id; 1944 1938 1945 /* ³íI¹*/1939 /* 正常終了 */ 1946 1940 return a_ret; 1947 1941 1948 1942 lb_except: 1949 /* f[^쬸sµ½çÌæðú*/1943 /* データ作成失敗したら領域解放 */ 1950 1944 if (a_fbs_id.ptr) 1951 1945 _ecn_fbs_del(a_fbs_id); … … 1954 1948 } 1955 1949 1956 /* d¶pfbsÝè(sender/targetÌÝè) */1950 /* 応答電文用fbs設定(sender/targetの設定) */ 1957 1951 ER _ecn_tsk_cre_req_fbs(ID sender, uint8_t cmd, ECN_FBS_ID *pk_req) 1958 1952 { … … 1983 1977 } 1984 1978 1985 /* d¶pfbsÝè(sender/targetÌÝè) */1979 /* 応答電文用fbs設定(sender/targetの設定) */ 1986 1980 ER _ecn_tsk_cre_res_fbs(ECN_FBS_ID req, uint8_t cmd, ECN_FBS_ID *pk_res) 1987 1981 { -
Property svn:mime-type
changed from
-
uKadecot/trunk/ecnl_ssp/echonet_task.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2014 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ … … 41 37 42 38 /* 43 * ECHONET Lite ^XN39 * ECHONET Lite タスク 44 40 */ 45 41 … … 58 54 59 55 /* 60 * ECHONET Lite ^XNÖAÌèÌftHglÌè`56 * ECHONET Lite タスク関連の定数のデフォルト値の定義 61 57 */ 62 58 #ifndef ECHONET_TASK_PRIORITY 63 #define ECHONET_TASK_PRIORITY 6 /* úDæx*/59 #define ECHONET_TASK_PRIORITY 6 /* 初期優先度 */ 64 60 #endif /* ECHONET_TASK_PRIORITY */ 65 61 66 62 #ifndef ECHONET_TASK_STACK_SIZE 67 #define ECHONET_TASK_STACK_SIZE 1024 /* X^bNÌæÌTCY*/63 #define ECHONET_TASK_STACK_SIZE 1024 /* スタック領域のサイズ */ 68 64 #endif /* ECHONET_TASK_STACK_SIZE */ 69 65 … … 82 78 83 79 /* 84 * ECHONET Lite ^XNÌ{Ì80 * ECHONET Lite タスクの本体 85 81 */ 86 82 void echonet_task(intptr_t exinf); 87 83 88 84 /* 89 * ECHONET Lite ^XNN®p85 * ECHONET Lite タスク起動用 90 86 */ 91 87 void echonet_cychdr(intptr_t exinf); 92 88 93 /* ECHONET Lite CX^XXgÌ1AiEX½èÅåm[h*/89 /* ECHONET Lite インスタンスリストの1アナウンス当たり最大ノード数 */ 94 90 #define ECN_IST_LST_EOJ_MAX_CT (84) 95 91 96 /* ECHONET Lite IuWFNgR[h x1,x2,x3(T_ECN_EOJ)ð24bit®ÉÏ·*/92 /* ECHONET Liteオブジェクトコード x1,x2,x3(T_ECN_EOJ)を24bit整数に変換 */ 97 93 #define _ECN_EOJ2VALUE(s) (((s).eojx1 << 16) | ((s).eojx2 << 8) | (s).eojx3) 98 94 99 95 enum ecn_epc_code 100 96 { 101 ECN_EPC_INL_BCS = 0xD5 /* CX^XXgÊmvpeB*/97 ECN_EPC_INL_BCS = 0xD5 /* インスタンスリスト通知プロパティ */ 102 98 }; 103 99 … … 129 125 130 126 /* 131 * vd¶ì¬127 * 要求電文作成 132 128 */ 133 129 ER _ecn_tsk_mk_esv(ECN_FBS_ID *fp_fbs_id, ID fa_seoj, ID fa_deoj, … … 137 133 138 134 /* 139 * d¶Ò¿ÌèÝd¶ì¬135 * 応答電文待ちの割り込み電文作成 140 136 */ 141 137 ER _ecn_mk_brk_wai(ECN_FBS_ID *pk_fbs_id, const void *p_dat, size_t fa_size); -
Property svn:mime-type
changed from
-
uKadecot/trunk/ecnl_ssp/echonet_uip_task.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2014 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ … … 41 37 42 38 /* 43 * ECHONET Lite UDP ÊM^XN39 * ECHONET Lite UDP通信処理タスク 44 40 */ 45 41 #ifdef SUPPORT_UIP … … 95 91 96 92 /* 97 * óMµ½UDPf[^ðMAILBOXÉé93 * 受信したUDPデータをMAILBOXに送る 98 94 */ 99 95 ER _ecn_udp2mbx(const uint8_t *buffer, size_t fa_len, const T_IPV4EP *dst); … … 110 106 111 107 a_rcv_pkt.buffer = buffer; 112 if ( a_rcv_pkt.t_esv->ecn_hdr.ehd1 != ECN_EDH1_ECHONET_LITE /* ECHONET Lite Ki*/113 || a_rcv_pkt.t_esv->ecn_hdr.ehd2 != ECN_EDH2_FORMAT_1 /* d¶`®1 */) {108 if ( a_rcv_pkt.t_esv->ecn_hdr.ehd1 != ECN_EDH1_ECHONET_LITE /* ECHONET Lite規格 */ 109 || a_rcv_pkt.t_esv->ecn_hdr.ehd2 != ECN_EDH2_FORMAT_1 /* 電文形式1 */) { 114 110 ECN_DBG_PUT "[UDP ECHO SRV] illegal type (0x%02X,0x%02X)", a_rcv_pkt.t_esv->ecn_hdr.ehd1, a_rcv_pkt.t_esv->ecn_hdr.ehd2 ECN_DBG_END; 115 111 return E_PAR; … … 134 130 a_fbs_id.ptr->hdr.sender = ENOD_NOT_MATCH_ID; 135 131 136 /* IP AhX©ç[gECHONETm[hÖÏ·*/132 /* IPアドレスからリモートECHONETノードへ変換 */ 137 133 a_enod_id = udp_get_id((T_EDATA *)a_fbs_id.ptr, dst->ipaddr, dst->portno); 138 134 if (a_enod_id < 0 || tnum_enodadr <= a_enod_id) { … … 140 136 ip2str(NULL, dst->ipaddr) ECN_DBG_END; 141 137 } else { 142 /* M³ECHONETm[hðL^*/138 /* 送信元ECHONETノードを記録 */ 143 139 a_fbs_id.ptr->hdr.sender = a_enod_id; 144 140 } 145 141 a_fbs_id.ptr->hdr.reply = a_fbs_id.ptr->hdr.sender; 146 142 147 /* echonet_task Éé*/143 /* echonet_taskに送る */ 148 144 a_ret = psnd_dtq(ecn_svc_mailboxid, (intptr_t)a_fbs_id.ptr); 149 145 if (a_ret != E_OK) { … … 158 154 159 155 /* 160 * ECHONET UDP ÊM^XN156 * ECHONET UDP通信処理タスク 161 157 */ 162 158 static 163 159 PT_THREAD(echonet_udp_task_pt(void)) 164 160 { 165 /* UDP oÍÌæibèj*/161 /* UDP出力領域(暫定) */ 166 162 static uint_t buffer[(UIP_BUFSIZE) / sizeof(uint_t) + 1]; 167 163 … … 201 197 } 202 198 203 /* üúnhÌN®*/199 /* 周期ハンドラの起動 */ 204 200 a_ret = sta_cyc(ecn_udp_cychdrid); 205 201 if (a_ret != E_OK) { … … 220 216 } 221 217 222 /* bZ[W[v*/218 /* メッセージループ */ 223 219 for (;;) { 224 220 a_prev = a_now; … … 244 240 245 241 if (a_ret == E_OK) { 246 /* Mf[^·ðæ¾*/242 /* 送信データ長を取得 */ 247 243 a_snd_len = _ecn_fbs_get_datalen(a_mdt.fbs_id); 248 244 … … 270 266 271 267 /* 272 * ECHONET UDP ÊMvgXbhN®^XN268 * ECHONET UDP通信処理プロトスレッド起動タスク 273 269 */ 274 270 void echonet_udp_task(intptr_t exinf) … … 278 274 279 275 /* 280 * ECHONET UDP ÊM^XNN®püúnh[276 * ECHONET UDP通信処理タスク起動用周期ハンドラー 281 277 */ 282 278 void echonet_udp_cychdr(intptr_t exinf) … … 285 281 } 286 282 287 /* d¶pfbsÝè(sender/targetÌÝè) */283 /* 応答電文用fbs設定(sender/targetの設定) */ 288 284 static ER _ecn_udp_cre_req_fbs(ID sender, uint8_t cmd, ECN_FBS_ID *pk_req) 289 285 { … … 314 310 } 315 311 316 /* d¶pfbsÝè(sender/targetÌÝè) */312 /* 応答電文用fbs設定(sender/targetの設定) */ 317 313 static ER _ecn_udp_cre_res_fbs(ECN_FBS_ID req, uint8_t cmd, ECN_FBS_ID *pk_res) 318 314 { … … 344 340 345 341 /* 346 * àbZ[WóM342 * 内部メッセージ受信処理 347 343 */ 348 344 void _ecn_int_msg(ECN_FBS_ID fbs_id, ECN_FBS_SSIZE_T a_snd_len) … … 362 358 363 359 switch(cmd){ 364 // IP AhXðÔM360 // IPアドレスを返信 365 361 case ECN_UDP_MSG_GET_IPADDR_REQ: 366 362 if (a_snd_len < sizeof(msg)) { … … 431 427 432 428 /* 433 * ECHONET d¶óM429 * ECHONET 電文受信処理 434 430 */ 435 431 void _ecn_esv_msg(ECN_FBS_ID fbs_id) 436 432 { 437 /* UDP oÍÌæibèj*/433 /* UDP出力領域(暫定) */ 438 434 static uint_t buffer[(UIP_BUFSIZE) / sizeof(uint_t) + 1]; 439 435 T_IPV4EP a_dst; … … 444 440 uip_ipaddr(a_dst.ipaddr, 0,0,0,0); 445 441 a_dst.portno = 0; 446 /* MæIPAhX*/442 /* 送信先IPアドレス */ 447 443 a_ret = udp_get_ip(&a_dst, fbs_id.ptr->hdr.target); 448 444 if (!a_ret) { 449 ECN_DBG_PUT "[UDP TSK] echonet-node 0x%02X-0x%02X-0x%02X ¨udp dest(%s)",445 ECN_DBG_PUT "[UDP TSK] echonet-node 0x%02X-0x%02X-0x%02X → udp dest(%s)", 450 446 ((T_EDATA *)fbs_id.ptr)->hdr.edata.deoj.eojx1, 451 447 ((T_EDATA *)fbs_id.ptr)->hdr.edata.deoj.eojx2, … … 453 449 ip2str(NULL, a_dst.ipaddr) ECN_DBG_END; 454 450 455 /* fbs ©çoÍÌæÉf[^ðo*/451 /* fbsから出力領域にデータを抽出 */ 456 452 a_snd_len = 0; 457 453 a_ret = _ecn_fbs_get_data(fbs_id, buffer, sizeof(buffer), &a_snd_len); … … 460 456 } 461 457 else if(uip_ipaddr_cmp(a_dst.ipaddr, localhost)) { 462 /* Mæª127.0.0.1 ¨ mbxÉ]*/463 ECN_DBG_PUT "redirect ecn_udp_mailboxid ¨ecn_svc_mailboxid (esv:0x%02X)",458 /* 送信先が127.0.0.1 → mbxに転送 */ 459 ECN_DBG_PUT "redirect ecn_udp_mailboxid → ecn_svc_mailboxid (esv:0x%02X)", 464 460 ((T_EDATA *)fbs_id.ptr)->hdr.edata.esv ECN_DBG_END; 465 461 … … 475 471 _ecn_dbg_bindmp((const uint8_t *)buffer, a_snd_len); 476 472 #endif 477 /* UDP M*/473 /* UDP送信 */ 478 474 a_ret = udp_snd_dat(UDP_CEPID, &a_dst, buffer, a_snd_len); 479 475 if (a_ret < 0) { … … 482 478 } 483 479 484 /* f[^ª··¬Ä1pPbgÉûÜçÈ©Á½ê*/480 /* データが長すぎて1パケットに収まらなかった場合 */ 485 481 if (_ecn_fbs_exist_data(fbs_id)) { 486 482 ECN_DBG_PUT "[UDP TSK] send, data so long: %dbyte(s)", _ecn_fbs_get_datalen(fbs_id) ECN_DBG_END; … … 497 493 498 494 /* 499 * mubLOR[ÌR[obNÖ495 * ノンブロッキングコールのコールバック関数 500 496 */ 501 497 static … … 518 514 } 519 515 #ifdef _MSC_VER 520 /* ( Jp) ECHONETppPbgÈOÍÇÝÌÄé*/516 /* (開発用) ECHONET用パケット以外は読み捨てる */ 521 517 if (buffer[0] != 0x10 || buffer[1] != 0x81) { 522 518 PT_EXIT(&s.pt); … … 548 544 549 545 /* 550 * [gECHONETm[hÌKmF546 * リモートECHONETノードの適合確認 551 547 */ 552 548 bool_t is_match(const EOBJCB *enodcb, T_EDATA *edata, const void *_ipaddr, uint16_t portno) … … 566 562 return false; 567 563 568 /* m[hX^[gCX^XXgÊmÈOÍO*/564 /* ノードスタート時インスタンスリスト通知以外は除外 */ 569 565 if ( edata->hdr.edata.esv != ESV_INF 570 566 || edata->hdr.edata.deoj.eojx1 != EOJ_X1_PROFILE … … 588 584 } 589 585 ECN_DBG_PUT "is_match(): ecn_itr_nxt() result: epc=0x%02X, pdc=%d", epc, pdc ECN_DBG_END; 590 /* CX^XXgÊmܽͩm[hCX^XXgrÈOÍO*/586 /* インスタンスリスト通知または自ノードインスタンスリストS以外は除外 */ 591 587 if ((epc != 0xD5) && (epc != 0xD6)) { 592 588 continue; 593 589 } 594 590 595 /* QoCgÚÈ~Éeojªñ³êÄ¢é*/591 /* 2バイト目以降にeojが列挙されている */ 596 592 count = (pdc - 1) / sizeof(T_ECN_EOJ); 597 593 598 /* m[hàÌ@íIuWFNgðõ*/594 /* ノード内の機器オブジェクトを検索 */ 599 595 for (k = 0; k < enodcb->eobjcnt; k++) { 600 596 p_eobj = enodcb->eobjs[k]; 601 597 602 /* CX^XXgðmF*/598 /* インスタンスリストを確認 */ 603 599 match = false; 604 600 for (i = 0, j = 1; i < count; i++, j += sizeof(T_ECN_EOJ)) { … … 618 614 } 619 615 620 /* ·×ĵÁÄ¢½çKiCX^XXgÌûª½Äࢢ±ÆÆ·éj*/616 /* すべて揃っていたら適合(インスタンスリストの方が多くてもいいこととする) */ 621 617 return true; 622 618 } … … 626 622 627 623 /* 628 * IP AhX©ç[gECHONETm[hÖÏ·624 * IPアドレスからリモートECHONETノードへ変換 629 625 */ 630 626 ECN_ENOD_ID udp_get_id(T_EDATA *edata, const T_IN4_ADDR ipaddr, uint16_t portno) … … 638 634 return ENOD_MULTICAST_ID; 639 635 640 /* IP AhX̯¶àÌðõ*/636 /* IPアドレスの同じものを検索 */ 641 637 for (i = 0, ea = enodadrb_table; i < tnum_enodadr; i++, ea++) { 642 638 if (!ea->inuse) … … 650 646 } 651 647 652 /* ηé[gm[hðõ*/648 /* 対応するリモートノードを検索 */ 653 649 for (i = ENOD_REMOTE_ID, ea = &enodadrb_table[ENOD_REMOTE_ID]; i < tnum_enodadr; i++, ea++) { 654 650 if (!ea->inuse) … … 661 657 continue; 662 658 663 /* ηé[gm[hª êÎIPAhXðÝè*/659 /* 対応するリモートノードがあればIPアドレスを設定 */ 664 660 uip_ipaddr_copy(ea->ipaddr, ipaddr); 665 661 … … 669 665 } 670 666 671 /* ó«ÌæðTµÄ©®o^*/667 /* 空き領域を探して自動登録 */ 672 668 for (i = ENOD_REMOTE_ID, ea = &enodadrb_table[ENOD_REMOTE_ID]; i < tnum_enodadr; i++, ea++) { 673 669 if (ea->inuse) … … 686 682 687 683 /* 688 * [gECHONETm[h©çIPAhXÖÏ·684 * リモートECHONETノードからIPアドレスへ変換 689 685 */ 690 686 int udp_get_ip(T_IPV4EP *fp_ipep, ECN_ENOD_ID fa_enodid) … … 698 694 699 695 if (fa_enodid == ENOD_MULTICAST_ID) { 700 /* target ªENOD_MULTICAST_IDÌêA}`LXgðs¤*/696 /* targetがENOD_MULTICAST_IDの場合、マルチキャストを行う */ 701 697 uip_ipaddr_copy(fp_ipep->ipaddr, multicast); 702 698 return 0; /* ok */ … … 704 700 705 701 if (fa_enodid < ENOD_REMOTE_ID) { 706 /* target ª¢è`ELOCALEAPIÌêA[Jzðs¤*/702 /* targetが未定義・LOCAL・APIの場合、ローカル配送を行う */ 707 703 uip_ipaddr_copy(fp_ipep->ipaddr, localhost); 708 704 return 0; /* ok */ -
Property svn:mime-type
changed from
-
uKadecot/trunk/ecnl_ssp/echonet_uip_task.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2014 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ … … 41 37 42 38 /* 43 * ECHONET Lite ^XN39 * ECHONET Lite タスク 44 40 */ 45 41 … … 55 51 56 52 /* 57 * ECHONET Lite êįñAhX53 * ECHONET Lite 一斉同報アドレス 58 54 */ 59 55 #ifdef SIL_ENDIAN_LITTLE … … 64 60 65 61 /* 66 * ECHONET Lite ^XNÖAÌèÌftHglÌè`62 * ECHONET Lite タスク関連の定数のデフォルト値の定義 67 63 */ 68 64 #ifndef ECHONET_UDP_TASK_PRIORITY 69 #define ECHONET_UDP_TASK_PRIORITY 5 /* úDæx*/65 #define ECHONET_UDP_TASK_PRIORITY 5 /* 初期優先度 */ 70 66 #endif /* ECHONET_UDP_TASK_PRIORITY */ 71 67 72 68 #ifndef ECHONET_UDP_TASK_STACK_SIZE 73 #define ECHONET_UDP_TASK_STACK_SIZE 1024 /* X^bNÌæÌTCY*/69 #define ECHONET_UDP_TASK_STACK_SIZE 1024 /* スタック領域のサイズ */ 74 70 #endif /* ECHONET_UDP_TASK_STACK_SIZE */ 75 71 … … 79 75 80 76 /* 81 * ECHONET Lite ^XNÌ{Ì77 * ECHONET Lite タスクの本体 82 78 */ 83 79 void echonet_udp_task(intptr_t exinf); 84 80 85 /* mubLOR[ÌR[obNÖ*/81 /* ノンブロッキングコールのコールバック関数 */ 86 82 ER callback_nblk_udp(struct uip_udp_conn *uip_udp_conn, int fncd, void *p_parblk); 87 83 88 /* ECHONET Lite ^XNN®püúnh[*/84 /* ECHONET Lite タスク起動用周期ハンドラー */ 89 85 void echonet_udp_cychdr(intptr_t exinf); 90 86 91 87 /* 92 * [gECHONETm[hÌKmF88 * リモートECHONETノードの適合確認 93 89 */ 94 90 bool_t is_match(const EOBJCB *eobjcb, T_EDATA *edata, const void *_ipaddr, uint16_t portno); 95 91 96 /* IP AhXð¶ñÉÏ·*/92 /* IPアドレスを文字列に変換 */ 97 93 char *ipaddr2str(char *buf, int bubsz, uint8_t *ipaddr); 98 94 -
Property svn:mime-type
changed from
-
uKadecot/trunk/ecnl_ssp/fbs_string.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 9 9 * Copyright (C) 2015 Cores Co., Ltd. Japan 10 10 * 11 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 12 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 13 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 14 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 15 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 16 * XR[hÉÜÜêÄ¢é±ÆD 17 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 18 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 19 gip 20 * Ò}j 21 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 22 * ̳ÛØKèðfÚ·é±ÆD 23 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 24 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 25 * ÆD 26 * (a) Äzzɺ¤hL 27 gipÒ}j 28 AÈÇjÉCãLÌ 29 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 30 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 31 * ñ·é±ÆD 32 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 33 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 34 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 35 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 36 * ÆÓ·é±ÆD 11 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 12 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 13 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 14 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 15 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 16 * スコード中に含まれていること. 17 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 18 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 19 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 20 * の無保証規定を掲載すること. 21 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 22 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 23 * と. 24 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 25 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 26 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 27 * 報告すること. 28 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 29 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 30 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 31 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 32 * 免責すること. 37 33 * 38 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨39 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI40 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF41 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»42 * ÌÓCðíÈ¢D34 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 35 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 36 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 37 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 38 * の責任を負わない. 43 39 * 44 40 * @(#) $Id$ … … 51 47 52 48 /* 53 * lð¶ñÉÏ·49 * 数値を文字列に変換 54 50 */ 55 51 #define CONVERT_BUFLEN ((sizeof(uintptr_t) * CHAR_BIT + 2) / 3) 56 /* uintptr_t ^ÌlÌÅå¶*/52 /* uintptr_t型の数値の最大文字数 */ 57 53 static ER 58 54 convert(ECN_FBS_ID fbs, ECN_FBS_SSIZE_T *pos, uintptr_t val, uint_t radix, const char *radchar, … … 100 96 101 97 /* 102 * ¶ñ®`oÍ98 * 文字列整形出力 103 99 */ 104 100 static const char raddec[] = "0123456789"; -
Property svn:mime-type
changed from
-
uKadecot/trunk/ecnl_ssp/fbs_string.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2015 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ -
Property svn:mime-type
changed from
-
uKadecot/trunk/kadecot/jsonsl.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/kadecot/jsonsl.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/kadecot/kadecot_names.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2015 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ … … 133 129 count = table[pos++]; 134 130 135 /* [Ìm[h*/131 /* 末端のノード */ 136 132 if (count == 0) { 137 /* NULL ¶àÜß½TCY*/133 /* NULL文字も含めたサイズ */ 138 134 if(i != (nameLen + 1)) 139 135 return 0; … … 150 146 length = table[pos++]; 151 147 for (j = 0, k = i; j < length; j++, k++) { 152 /* NULL ¶àÜß½`FbN*/148 /* NULL文字も含めたチェック */ 153 149 if((k > nameLen) || (table[pos++] != name[k])){ 154 150 pos = start + 1 + length + 2; … … 199 195 } 200 196 201 /* [Ìm[h*/197 /* 末端のノード */ 202 198 if ((mask & 0x0001) != 0) { 203 199 int bufpos = 0; … … 243 239 count = table[pos++]; 244 240 245 /* [Ìm[h*/241 /* 末端のノード */ 246 242 if (count == 0) { 247 /* NULL ¶àÜß½TCY*/243 /* NULL文字も含めたサイズ */ 248 244 if(i != (nameLen + 1)) 249 245 return 0; … … 258 254 length = table[pos++]; 259 255 for (j = 0, k = i; j < length; j++, k++) { 260 /* NULL ¶àÜß½`FbN*/256 /* NULL文字も含めたチェック */ 261 257 if((k > nameLen) || (table[pos++] != name[k])){ 262 258 pos = start + 1 + length + 2; … … 295 291 count = table[pos++]; 296 292 297 /* [Ìm[h*/293 /* 末端のノード */ 298 294 if (count == 0) { 299 295 epc = table[pos++]; -
Property svn:mime-type
changed from
-
uKadecot/trunk/kadecot/kadecot_names.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2015 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ -
Property svn:mime-type
changed from
-
uKadecot/trunk/kadecot/wamp.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2015 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ … … 46 42 #include "main.h" 47 43 48 /* p[XG[iè`ÌÝj*/44 /* パースエラー(定義のみ) */ 49 45 const char parse_error[] = "com.sonycsl.kadecot.plugin.echonetlite.error.parse_error"; 50 /* ³øÈNGXgiè`ÌÝj*/46 /* 無効なリクエスト(定義のみ) */ 51 47 const char invalid_request[] = "com.sonycsl.kadecot.plugin.echonetlite.error.invalid_request"; 52 /* ¶ÝµÈ¢\bhiè`ÌÝj*/48 /* 存在しないメソッド(定義のみ) */ 53 49 const char method_not_found[] = "com.sonycsl.kadecot.plugin.echonetlite.error.method_not_found"; 54 /* echo object ª¶ÝµÈ¢,@JSONArray`®ÉÈÁĢȢ*/50 /* echo objectが存在しない, JSONArray形式になっていない */ 55 51 const char invalid_params[] = "com.sonycsl.kadecot.plugin.echonetlite.error.invalid_params"; 56 /* ^CAEg¶, R[obNª@null*/52 /* タイムアウト発生, コールバックが null*/ 57 53 const char internal_error[] = "com.sonycsl.kadecot.plugin.echonetlite.error.internal_error"; 58 54 … … 278 274 279 275 if (s->state == WAMP_PARSE_STATE_ERROR) { 280 /* WAMP bZ[WÌÅã¾Á½ç*/276 /* WAMPメッセージの最後だったら */ 281 277 if ((state->level == 1) && (action == JSONSL_ACTION_POP) 282 278 && (state->type == JSONSL_T_LIST)) { … … 300 296 struct jsonsl_state_st *state, const char *buf) 301 297 { 302 /* WAMP bZ[WÌ檾Á½ç*/298 /* WAMPメッセージの先頭だったら */ 303 299 if ((state->level == 1) && (action == JSONSL_ACTION_PUSH) 304 300 && (state->type == JSONSL_T_LIST)) { 305 /* bZ[WR[hæ¾JnóÔÉÚé*/301 /* メッセージコード取得開始状態に移る */ 306 302 s->state = WAMP_PARSE_STATE_CODE_PUSH; 307 303 } … … 311 307 struct jsonsl_state_st *state, const char *buf) 312 308 { 313 /* bZ[WR[hÌæ¾Jn*/309 /* メッセージコードの取得開始 */ 314 310 if ((action == JSONSL_ACTION_PUSH) 315 311 && (state->type == JSONSL_T_SPECIAL)) { 316 /* bZ[WR[hæ¾óÔÉÚé*/312 /* メッセージコード取得状態に移る */ 317 313 s->state = WAMP_PARSE_STATE_CODE_POP; 318 314 } 319 315 else 320 /* bZ[WR[hªæ¾Å«È¯êÎG[*/316 /* メッセージコードが取得できなければエラー */ 321 317 s->state = WAMP_PARSE_STATE_ERROR; 322 318 } … … 328 324 wamp_parse_state_t prsst = WAMP_PARSE_STATE_ERROR; 329 325 330 /* bZ[WR[hªæ¾Å«*/326 /* メッセージコードが取得でき */ 331 327 if ((action == JSONSL_ACTION_POP) 332 328 && (state->type == JSONSL_T_SPECIAL)) { 333 /* bZ[WR[hðæ¾*/329 /* メッセージコードを取得 */ 334 330 code = atoi(s->jsn_buf); 335 331 switch (code) { … … 531 527 } 532 528 533 /* mÁÄ¢ébZ[WR[h¾Á½ç*/529 /* 知っているメッセージコードだったら */ 534 530 if (s->proc_handler != NULL) { 535 /* p[^æ¾óÔÉÚé*/531 /* パラメータ取得状態に移る */ 536 532 s->code = (wamp_code_t)code; 537 533 } 538 534 } 539 535 540 /* bZ[WR[hªæ¾Å«È¯êÎG[*/536 /* メッセージコードが取得できなければエラー */ 541 537 s->state = prsst; 542 538 } … … 545 541 struct jsonsl_state_st *state, const char *buf) 546 542 { 547 /* bZ[WR[hÌæ¾Jn*/543 /* メッセージコードの取得開始 */ 548 544 if ((action == JSONSL_ACTION_PUSH) 549 545 && (state->type == JSONSL_T_SPECIAL)) { 550 546 s->param_handler(s, action, s->prmst, NULL); 551 /* bZ[WR[hæ¾óÔÉÚé*/547 /* メッセージコード取得状態に移る */ 552 548 s->state = WAMP_PARSE_STATE_PARAM; 553 549 } 554 550 else 555 /* bZ[WR[hªæ¾Å«È¯êÎG[*/551 /* メッセージコードが取得できなければエラー */ 556 552 s->state = WAMP_PARSE_STATE_ERROR; 557 553 } … … 560 556 struct jsonsl_state_st *state, const char *buf) 561 557 { 562 /* bZ[WR[hÌæ¾Jn*/558 /* メッセージコードの取得開始 */ 563 559 if ((action == JSONSL_ACTION_PUSH) 564 560 && (state->type == JSONSL_T_LIST)) { 565 561 s->param_handler(s, action, s->prmst, NULL); 566 /* bZ[WR[hæ¾óÔÉÚé*/562 /* メッセージコード取得状態に移る */ 567 563 s->state = WAMP_PARSE_STATE_PARAM; 568 564 } 569 565 else 570 /* bZ[WR[hªæ¾Å«È¯êÎG[*/566 /* メッセージコードが取得できなければエラー */ 571 567 s->state = WAMP_PARSE_STATE_ERROR; 572 568 } … … 575 571 struct jsonsl_state_st *state, const char *buf) 576 572 { 577 /* bZ[WR[hÌæ¾Jn*/573 /* メッセージコードの取得開始 */ 578 574 if ((action == JSONSL_ACTION_PUSH) 579 575 && (state->type == JSONSL_T_OBJECT)) { 580 576 s->param_handler(s, action, s->prmst, NULL); 581 /* bZ[WR[hæ¾óÔÉÚé*/577 /* メッセージコード取得状態に移る */ 582 578 s->state = WAMP_PARSE_STATE_PARAM; 583 579 } 584 580 else 585 /* bZ[WR[hªæ¾Å«È¯êÎG[*/581 /* メッセージコードが取得できなければエラー */ 586 582 s->state = WAMP_PARSE_STATE_ERROR; 587 583 } … … 590 586 struct jsonsl_state_st *state, const char *buf) 591 587 { 592 /* bZ[WR[hÌæ¾Jn*/588 /* メッセージコードの取得開始 */ 593 589 if ((action == JSONSL_ACTION_PUSH) 594 590 && (state->type == JSONSL_T_STRING)) { 595 591 s->param_handler(s, action, s->prmst, NULL); 596 /* bZ[WR[hæ¾óÔÉÚé*/592 /* メッセージコード取得状態に移る */ 597 593 s->state = WAMP_PARSE_STATE_PARAM; 598 594 } 599 595 else 600 /* bZ[WR[hªæ¾Å«È¯êÎG[*/596 /* メッセージコードが取得できなければエラー */ 601 597 s->state = WAMP_PARSE_STATE_ERROR; 602 598 } … … 605 601 struct jsonsl_state_st *state, const char *buf) 606 602 { 607 /* bZ[WR[hÌæ¾Jn*/603 /* メッセージコードの取得開始 */ 608 604 if ((action == JSONSL_ACTION_PUSH) 609 605 && (state->type == JSONSL_T_SPECIAL)) { 610 606 s->param_handler(s, action, s->prmst, NULL); 611 /* bZ[WR[hæ¾óÔÉÚé*/607 /* メッセージコード取得状態に移る */ 612 608 s->state = WAMP_PARSE_STATE_PARAM; 613 609 } 614 610 else 615 /* bZ[WR[hªæ¾Å«È¯êÎG[*/611 /* メッセージコードが取得できなければエラー */ 616 612 s->state = WAMP_PARSE_STATE_ERROR; 617 613 } … … 620 616 struct jsonsl_state_st *state, const char *buf) 621 617 { 622 /* bZ[WR[hÌæ¾Jn*/618 /* メッセージコードの取得開始 */ 623 619 if ((action == JSONSL_ACTION_PUSH) 624 620 && (state->type == JSONSL_T_STRING)) { 625 621 s->param_handler(s, action, s->prmst, NULL); 626 /* bZ[WR[hæ¾óÔÉÚé*/622 /* メッセージコード取得状態に移る */ 627 623 s->state = WAMP_PARSE_STATE_PARAM; 628 624 } 629 625 else 630 /* bZ[WR[hªæ¾Å«È¯êÎG[*/626 /* メッセージコードが取得できなければエラー */ 631 627 s->state = WAMP_PARSE_STATE_ERROR; 632 628 } … … 635 631 struct jsonsl_state_st *state, const char *buf) 636 632 { 637 /* R[h²ÆÌðÀs*/633 /* コードごとの処理を実行 */ 638 634 s->proc_handler(s, action, state, buf); 639 635 640 /* WAMP bZ[WÌö¾Á½ç*/636 /* WAMPメッセージの末尾だったら */ 641 637 if ((state->level == 1) && (action == JSONSL_ACTION_POP) 642 638 && (state->type == JSONSL_T_LIST)) { … … 644 640 s->message_close_handler(s); 645 641 jsonsl_reset((jsonsl_t)s->jsn); 646 /* Ò@óÔÉÚé*/642 /* 待機状態に移る */ 647 643 s->state = WAMP_PARSE_STATE_IDLE; 648 644 } … … 652 648 struct jsonsl_state_st *state, const char *buf) 653 649 { 654 /* WAMP bZ[WÌö¾Á½ç*/650 /* WAMPメッセージの末尾だったら */ 655 651 if ((state->level == 1) && (action == JSONSL_ACTION_POP) 656 652 && (state->type == JSONSL_T_LIST)) { 657 653 s->message_close_handler(s); 658 654 jsonsl_reset((jsonsl_t)s->jsn); 659 /* Ò@óÔÉÚé*/655 /* 待機状態に移る */ 660 656 s->state = WAMP_PARSE_STATE_IDLE; 661 657 } 662 658 else 663 /* bZ[WR[hªæ¾Å«È¯êÎG[*/659 /* メッセージコードが取得できなければエラー */ 664 660 s->state = WAMP_PARSE_STATE_ERROR; 665 661 } -
Property svn:mime-type
changed from
-
uKadecot/trunk/kadecot/wamp.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2015 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ … … 56 52 #define JSN_NLEVELS 10 57 53 58 /* p[XG[*/54 /* パースエラー */ 59 55 extern const char parse_error[]; 60 /* ³øÈNGXg*/56 /* 無効なリクエスト */ 61 57 extern const char invalid_request[]; 62 /* ¶ÝµÈ¢\bh*/58 /* 存在しないメソッド */ 63 59 extern const char method_not_found[]; 64 /* echo object ª¶ÝµÈ¢,@JSONArray`®ÉÈÁĢȢ*/60 /* echo objectが存在しない, JSONArray形式になっていない */ 65 61 extern const char invalid_params[]; 66 /* ^CAEg¶, R[obNª@null*/62 /* タイムアウト発生, コールバックが null*/ 67 63 extern const char internal_error[]; 68 64 -
Property svn:mime-type
changed from
-
uKadecot/trunk/kadecot/wamp_broker.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2015 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ … … 358 354 } 359 355 360 /* ÅãÌ","ðÁ·*/356 /* 最後の","を消す */ 361 357 if(start != pos) 362 358 pos--; -
Property svn:mime-type
changed from
-
uKadecot/trunk/kadecot/wamp_broker.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2015 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ -
Property svn:mime-type
changed from
-
uKadecot/trunk/kadecot/wamp_callee.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2015 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ -
Property svn:mime-type
changed from
-
uKadecot/trunk/kadecot/wamp_callee.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2015 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ -
Property svn:mime-type
changed from
-
uKadecot/trunk/kadecot/wamp_caller.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2015 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ -
Property svn:mime-type
changed from
-
uKadecot/trunk/kadecot/wamp_caller.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2015 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ -
Property svn:mime-type
changed from
-
uKadecot/trunk/kadecot/wamp_client.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2015 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ -
Property svn:mime-type
changed from
-
uKadecot/trunk/kadecot/wamp_client.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2015 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ -
Property svn:mime-type
changed from
-
uKadecot/trunk/kadecot/wamp_dealer.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2015 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ … … 656 652 ER ret; 657 653 658 /* @íîñðNA*/654 /* 機器情報をクリア */ 659 655 for(dev = dealer->devices; dev < end; dev++){ 660 656 dev->deviceId = 0; 661 657 } 662 658 663 /* bZ[W©ç@íîñðì¬*/659 /* メッセージから機器情報を作成 */ 664 660 for(dev = dealer->devices; dev < end; ){ 665 661 ret = _ecn_fbs_get_data(msg, &device, sizeof(device), &rlen); … … 787 783 } 788 784 789 /* ÅãÌ","ðÁ·*/785 /* 最後の","を消す */ 790 786 if(start != pos) 791 787 pos--; … … 880 876 } 881 877 882 /* ÅãÌ","ðÁ·*/878 /* 最後の","を消す */ 883 879 if(start != pos) 884 880 pos--; … … 983 979 } 984 980 985 /* ÅãÌ","ðÁ·*/981 /* 最後の","を消す */ 986 982 if(start != pos) 987 983 pos--; … … 1095 1091 } 1096 1092 } 1097 /* ÅãÌ","ðÁ·*/1093 /* 最後の","を消す */ 1098 1094 pos--; 1099 1095 … … 1107 1103 } 1108 1104 1109 /* ÅãÌ","ðÁ·*/1105 /* 最後の","を消す */ 1110 1106 if(prop != pos) 1111 1107 pos--; … … 1190 1186 } 1191 1187 1192 /* vpeBl«Ý0x71 */1188 /* プロパティ値書き込み応答 0x71 */ 1193 1189 ret = fbs_printf(buf, &pos, "{\"esv\":113,\"sender\":%d,\"seoj\":\"%02x%02x%02x\",\"deoj\":\"%02x%02x%02x\",\"properties\":[", 1194 1190 ecn_get_enod(esv), esv->hdr.edata.seoj.eojx1, esv->hdr.edata.seoj.eojx2, esv->hdr.edata.seoj.eojx3, … … 1248 1244 } 1249 1245 1250 /* ÅãÌ","ðÁ·*/1246 /* 最後の","を消す */ 1251 1247 if(start != pos) 1252 1248 pos--; … … 1331 1327 } 1332 1328 1333 /* vpeBlÇÝÝ0x72 */1329 /* プロパティ値読み込み応答 0x72 */ 1334 1330 ret = fbs_printf(buf, &pos, "{\"esv\":114,\"sender\":%d,\"seoj\":\"%02x%02x%02x\",\"deoj\":\"%02x%02x%02x\",\"properties\":[", 1335 1331 ecn_get_enod(esv), esv->hdr.edata.seoj.eojx1, esv->hdr.edata.seoj.eojx2, esv->hdr.edata.seoj.eojx3, … … 1389 1385 } 1390 1386 1391 /* ÅãÌ","ðÁ·*/1387 /* 最後の","を消す */ 1392 1388 if(start != pos) 1393 1389 pos--; … … 1472 1468 } 1473 1469 1474 /* vpeBl«ÝEÇÝÝ0x7E */1470 /* プロパティ値書き込み・読み込み応答 0x7E */ 1475 1471 ret = fbs_printf(buf, &pos, "{\"esv\":126,\"sender\":%d,\"seoj\":\"%02x%02x%02x\",\"deoj\":\"%02x%02x%02x\",\"properties\":[", 1476 1472 ecn_get_enod(esv), esv->hdr.edata.seoj.eojx1, esv->hdr.edata.seoj.eojx2, esv->hdr.edata.seoj.eojx3, … … 1530 1526 } 1531 1527 1532 /* ÅãÌ","ðÁ·*/1528 /* 最後の","を消す */ 1533 1529 if(start != pos) 1534 1530 pos--; … … 1846 1842 } 1847 1843 1848 /* ÅãÌ","ðÁ·*/1844 /* 最後の","を消す */ 1849 1845 pos--; 1850 1846 -
Property svn:mime-type
changed from
-
uKadecot/trunk/kadecot/wamp_dealer.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2015 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 32 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨ 34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI 35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF 36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC» 37 * ÌÓCðíÈ¢D 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 28 * 29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ … … 114 110 typedef struct wamp_dealer_init_params{ 115 111 int pos; 116 uint8_t mac_addr[32]; /* DATA FLASH ÌTCYª*/112 uint8_t mac_addr[32]; /* DATA FLASHのサイズ分 */ 117 113 } wamp_dealer_init_params_t; 118 114 -
Property svn:mime-type
changed from
-
uKadecot/trunk/kadecot/wamp_publisher.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2015 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ -
Property svn:mime-type
changed from
-
uKadecot/trunk/kadecot/wamp_publisher.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2015 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ -
Property svn:mime-type
changed from
-
uKadecot/trunk/kadecot/wamp_router.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2015 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 32 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨ 34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI 35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF 36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC» 37 * ÌÓCðíÈ¢D 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 28 * 29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ … … 196 192 } 197 193 198 /* ÅãÌ","ðÁ·*/194 /* 最後の","を消す */ 199 195 if(start != pos) 200 196 pos--; -
Property svn:mime-type
changed from
-
uKadecot/trunk/kadecot/wamp_router.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2015 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ -
Property svn:mime-type
changed from
-
uKadecot/trunk/kadecot/wamp_subscriber.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2015 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ -
Property svn:mime-type
changed from
-
uKadecot/trunk/kadecot/wamp_subscriber.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2015 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ -
Property svn:mime-type
changed from
-
uKadecot/trunk/pfatfs/diskio.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/pfatfs/diskio.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/pfatfs/integer.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/pfatfs/pff.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/pfatfs/pff.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/pfatfs/pffconf.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/src/ukadecot/arduino.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2014 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ … … 41 37 42 38 /* 43 * TvvO(1)Ì{Ì39 * サンプルプログラム(1)の本体 44 40 */ 45 41 … … 54 50 #endif 55 51 56 /* PWM oÍ(490Hz) */52 /* PWM出力(490Hz) */ 57 53 #define TPU_BASE_COUNTER (48000000 / 4 / 490) 58 54 … … 60 56 { 61 57 /* 62 * W 63 [Xgbv@\ÌÝè(S12AD) 58 * モジュールストップ機能の設定(S12AD) 64 59 */ 65 sil_wrh_mem((uint16_t *)SYSTEM_PRCR_ADDR, (uint16_t)0xA502); /* ÝÂ*/60 sil_wrh_mem((uint16_t *)SYSTEM_PRCR_ADDR, (uint16_t)0xA502); /* 書込み許可 */ 66 61 sil_wrw_mem((uint32_t *)SYSTEM_MSTPCRA_ADDR, 67 62 sil_rew_mem((uint32_t *)SYSTEM_MSTPCRA_ADDR) & ~SYSTEM_MSTPCRA_MSTPA17_BIT); 68 sil_wrh_mem((uint16_t *)SYSTEM_PRCR_ADDR, (uint16_t)0xA500); /* ÝÖ~*/69 70 /* 12bitADC ú»*/71 sil_wrh_mem((uint16_t *)S12AD_ADEXICR_ADDR, 0x0000); /* ·xZToÍAàîd³ñIð*/72 sil_wrh_mem((uint16_t *)S12AD_ADANS0_ADDR, 0x00FF); /* Ï·|[gAN000`AN007IðAAN008`AN015ñIð*/73 sil_wrh_mem((uint16_t *)S12AD_ADANS1_ADDR, 0x0000); /* Ï·|[gAN016`AN020ñIð*/74 75 /* PWM oÍ(490Hz) */76 sil_wrh_mem(SYSTEM_PRCR_ADDR, (uint16_t)0xA502); /* ÝÂ*/63 sil_wrh_mem((uint16_t *)SYSTEM_PRCR_ADDR, (uint16_t)0xA500); /* 書込み禁止 */ 64 65 /* 12bitADC初期化 */ 66 sil_wrh_mem((uint16_t *)S12AD_ADEXICR_ADDR, 0x0000); /* 温度センサ出力、内部基準電圧非選択 */ 67 sil_wrh_mem((uint16_t *)S12AD_ADANS0_ADDR, 0x00FF); /* 変換ポートAN000〜AN007選択、AN008〜AN015非選択 */ 68 sil_wrh_mem((uint16_t *)S12AD_ADANS1_ADDR, 0x0000); /* 変換ポートAN016〜AN020非選択 */ 69 70 /* PWM出力(490Hz) */ 71 sil_wrh_mem(SYSTEM_PRCR_ADDR, (uint16_t)0xA502); /* 書込み許可 */ 77 72 sil_wrw_mem(SYSTEM_MSTPCRA_ADDR, 78 sil_rew_mem(SYSTEM_MSTPCRA_ADDR) & ~SYSTEM_MSTPCRA_MSTPA13_BIT); /* TPU0 `TPU5 */79 sil_wrh_mem(SYSTEM_PRCR_ADDR, (uint16_t)0xA500); /* ÝÖ~*/80 81 /* JE^NbNÌIðAJE^NAvöÌIð*/73 sil_rew_mem(SYSTEM_MSTPCRA_ADDR) & ~SYSTEM_MSTPCRA_MSTPA13_BIT); /* TPU0〜TPU5 */ 74 sil_wrh_mem(SYSTEM_PRCR_ADDR, (uint16_t)0xA500); /* 書込み禁止 */ 75 76 /* カウンタクロックの選択、カウンタクリア要因の選択 */ 82 77 sil_wrb_mem(TPU0_TCR_ADDR, (1 << TPU_TCR_TPSC_OFFSET) | (1 << TPU_TCR_CKEG_OFFSET) 83 78 | (1 << TPU_TCR_CCLR_OFFSET)); … … 86 81 sil_wrb_mem(TPU4_TCR_ADDR, (1 << TPU_TCR_TPSC_OFFSET) | (1 << TPU_TCR_CKEG_OFFSET) 87 82 | (3 << TPU_TCR_CCLR_OFFSET)); 88 /* g`oÍxÌIð*/83 /* 波形出力レベルの選択 */ 89 84 sil_wrb_mem(TPU0_TIORL_ADDR, (5 << TPU_TIORL_IOC_OFFSET) | (5 << TPU_TIORL_IOD_OFFSET)); 90 85 sil_wrb_mem(TPU3_TIORH_ADDR, (5 << TPU_TIORL_IOA_OFFSET) | (5 << TPU_TIORL_IOB_OFFSET)); 91 86 sil_wrb_mem(TPU3_TIORL_ADDR, (5 << TPU_TIORL_IOC_OFFSET) | (5 << TPU_TIORL_IOD_OFFSET)); 92 87 sil_wrb_mem(TPU4_TIOR_ADDR, (5 << TPU_TIORL_IOA_OFFSET) | (5 << TPU_TIORL_IOB_OFFSET)); 93 /* TGRy ÌÝè*/88 /* TGRyの設定 */ 94 89 sil_wrh_mem(TPU0_TGRA_ADDR, TPU_BASE_COUNTER); 95 90 sil_wrh_mem(TPU0_TGRC_ADDR, 0); … … 101 96 sil_wrh_mem(TPU4_TGRA_ADDR, 0); 102 97 sil_wrh_mem(TPU4_TGRB_ADDR, 0); 103 /* PWM [h2ÌÝè*/98 /* PWMモード2の設定 */ 104 99 sil_wrb_mem(TPU0_TMDR_ADDR, 3); 105 100 sil_wrb_mem(TPU3_TMDR_ADDR, 3); 106 101 sil_wrb_mem(TPU4_TMDR_ADDR, 3); 107 /* ¯ú®ìÝè*/102 /* 同期動作設定 */ 108 103 sil_wrb_mem(TPUA_TSYR_ADDR, TPU_TSYR_SYNC0_BIT | TPU_TSYR_SYNC3_BIT | TPU_TSYR_SYNC4_BIT); 109 /* JEg®ìJn*/104 /* カウント動作開始 */ 110 105 sil_wrb_mem(TPUA_TSTR_ADDR, TPU_TSTR_CST0_BIT | TPU_TSTR_CST3_BIT | TPU_TSTR_CST4_BIT); 111 106 } … … 125 120 return E_OK; 126 121 127 /* ÄpüoÍ|[gÉÝè*/122 /* 汎用入出力ポートに設定 */ 128 123 switch(pin){ 129 124 case 0: … … 161 156 } 162 157 163 /* «ÝveNgWX^ÌÝè PFSWErbgÖÌ«ÝðÂ*/158 /* 書き込みプロテクトレジスタの設定 PFSWEビットへの書き込みを許可 */ 164 159 sil_wrb_mem((uint8_t *)MPC_PWPR_ADDR, 0x00); 165 /* «ÝveNgWX^ÌÝè PxxFSWX^ÖÌ«ÝðÂ*/160 /* 書き込みプロテクトレジスタの設定 PxxFSレジスタへの書き込みを許可 */ 166 161 sil_wrb_mem((uint8_t *)MPC_PWPR_ADDR, 0x40); 167 162 … … 170 165 case 0: 171 166 if(gpio){ 172 /* P21 [q@\§äWX^ P21Æ·é*/167 /* P21端子機能制御レジスタ P21とする */ 173 168 sil_wrb_mem((uint8_t *)MPC_P21PFS_ADDR, 0x00); 174 169 } 175 170 else{ 176 /* P21 [q@\§äWX^ TIOCA3Æ·é*/171 /* P21端子機能制御レジスタ TIOCA3とする */ 177 172 sil_wrb_mem((uint8_t *)MPC_P21PFS_ADDR, 0x03); 178 173 } … … 182 177 case 1: 183 178 if(gpio){ 184 /* P20 [q@\§äWX^ P20Æ·é*/179 /* P20端子機能制御レジスタ P20とする */ 185 180 sil_wrb_mem((uint8_t *)MPC_P20PFS_ADDR, 0x00); 186 181 } 187 182 else{ 188 /* P20 [q@\§äWX^ TIOCB3Æ·é*/183 /* P20端子機能制御レジスタ TIOCB3とする */ 189 184 sil_wrb_mem((uint8_t *)MPC_P20PFS_ADDR, 0x03); 190 185 } … … 194 189 case 2: 195 190 if(gpio){ 196 /* P22 [q@\§äWX^ P22Æ·é*/191 /* P22端子機能制御レジスタ P22とする */ 197 192 sil_wrb_mem((uint8_t *)MPC_P22PFS_ADDR, 0x00); 198 193 } 199 194 else{ 200 /* P22 [q@\§äWX^ TIOCC3Æ·é*/195 /* P22端子機能制御レジスタ TIOCC3とする */ 201 196 sil_wrb_mem((uint8_t *)MPC_P22PFS_ADDR, 0x03); 202 197 } … … 206 201 case 3: 207 202 if(gpio){ 208 /* P23 [q@\§äWX^ P23Æ·é*/203 /* P23端子機能制御レジスタ P23とする */ 209 204 sil_wrb_mem((uint8_t *)MPC_P23PFS_ADDR, 0x00); 210 205 } 211 206 else{ 212 /* P23 [q@\§äWX^ TIOCD3Æ·é*/207 /* P23端子機能制御レジスタ TIOCD3とする */ 213 208 sil_wrb_mem((uint8_t *)MPC_P23PFS_ADDR, 0x03); 214 209 } … … 218 213 case 4: 219 214 if(gpio){ 220 /* P24 [q@\§äWX^ P24Æ·é*/215 /* P24端子機能制御レジスタ P24とする */ 221 216 sil_wrb_mem((uint8_t *)MPC_P24PFS_ADDR, 0x00); 222 217 } 223 218 else{ 224 /* P24 [q@\§äWX^ TIOCB4Æ·é*/219 /* P24端子機能制御レジスタ TIOCB4とする */ 225 220 sil_wrb_mem((uint8_t *)MPC_P24PFS_ADDR, 0x03); 226 221 } … … 230 225 case 5: 231 226 if(gpio){ 232 /* P25 [q@\§äWX^ P25Æ·é*/227 /* P25端子機能制御レジスタ P25とする */ 233 228 sil_wrb_mem((uint8_t *)MPC_P25PFS_ADDR, 0x00); 234 229 } 235 230 else{ 236 /* P25 [q@\§äWX^ TIOCA4Æ·é*/231 /* P25端子機能制御レジスタ TIOCA4とする */ 237 232 sil_wrb_mem((uint8_t *)MPC_P25PFS_ADDR, 0x03); 238 233 } … … 242 237 case 6: 243 238 if(gpio){ 244 /* P32 [q@\§äWX^ P32Æ·é*/239 /* P32端子機能制御レジスタ P32とする */ 245 240 sil_wrb_mem((uint8_t *)MPC_P32PFS_ADDR, 0x00); 246 241 } 247 242 else{ 248 /* P32 [q@\§äWX^ TIOCC0Æ·é*/243 /* P32端子機能制御レジスタ TIOCC0とする */ 249 244 sil_wrb_mem((uint8_t *)MPC_P32PFS_ADDR, 0x03); 250 245 } … … 254 249 case 7: 255 250 if(gpio){ 256 /* P33 [q@\§äWX^ P33Æ·é*/251 /* P33端子機能制御レジスタ P33とする */ 257 252 sil_wrb_mem((uint8_t *)MPC_P33PFS_ADDR, 0x00); 258 253 } 259 254 else{ 260 /* P33 [q@\§äWX^ TIOCD0Æ·é*/255 /* P33端子機能制御レジスタ TIOCD0とする */ 261 256 sil_wrb_mem((uint8_t *)MPC_P33PFS_ADDR, 0x03); 262 257 } … … 265 260 } 266 261 267 /* «ÝveNgWX^ÌÝè «ÝðÖ~*/262 /* 書き込みプロテクトレジスタの設定 書き込みを禁止 */ 268 263 sil_wrb_mem((uint8_t *)MPC_PWPR_ADDR, 0x80); 269 264 270 /* @\|[gÉÝè*/265 /* 機能ポートに設定 */ 271 266 if(!gpio){ 272 267 switch(pin){ … … 342 337 ER arduino_pinMode(int pin, arduino_pin_mode_t mode) 343 338 { 344 /* ÄpüoÍ|[gÉÝè*/339 /* 汎用入出力ポートに設定 */ 345 340 change_pin_function(pin, true); 346 341 … … 529 524 case 14: 530 525 /* *value = sil_reh_mem((uint16_t *)S12AD_ADDR0_ADDR); */ 531 *value = 1023 - (arduino_ad_avelage[0] / (arduino_ad_table_count * 4/*12bit ¨10bit*/));526 *value = 1023 - (arduino_ad_avelage[0] / (arduino_ad_table_count * 4/*12bit→10bit*/)); 532 527 return E_OK; 533 528 case 15: 534 529 /* *value = sil_reh_mem((uint16_t *)S12AD_ADDR1_ADDR); */ 535 *value = 1023 - (arduino_ad_avelage[1] / (arduino_ad_table_count * 4/*12bit ¨10bit*/));530 *value = 1023 - (arduino_ad_avelage[1] / (arduino_ad_table_count * 4/*12bit→10bit*/)); 536 531 return E_OK; 537 532 case 16: 538 533 /* *value = sil_reh_mem((uint16_t *)S12AD_ADDR2_ADDR); */ 539 *value = 1023 - (arduino_ad_avelage[2] / (arduino_ad_table_count * 4/*12bit ¨10bit*/));534 *value = 1023 - (arduino_ad_avelage[2] / (arduino_ad_table_count * 4/*12bit→10bit*/)); 540 535 return E_OK; 541 536 case 17: 542 537 /* *value = sil_reh_mem((uint16_t *)S12AD_ADDR3_ADDR); */ 543 *value = 1023 - (arduino_ad_avelage[3] / (arduino_ad_table_count * 4/*12bit ¨10bit*/));538 *value = 1023 - (arduino_ad_avelage[3] / (arduino_ad_table_count * 4/*12bit→10bit*/)); 544 539 return E_OK; 545 540 case 18: 546 541 /* *value = sil_reh_mem((uint16_t *)S12AD_ADDR4_ADDR); */ 547 *value = 1023 - (arduino_ad_avelage[4] / (arduino_ad_table_count * 4/*12bit ¨10bit*/));542 *value = 1023 - (arduino_ad_avelage[4] / (arduino_ad_table_count * 4/*12bit→10bit*/)); 548 543 return E_OK; 549 544 case 19: 550 545 /* *value = sil_reh_mem((uint16_t *)S12AD_ADDR5_ADDR); */ 551 *value = 1023 - (arduino_ad_avelage[5] / (arduino_ad_table_count * 4/*12bit ¨10bit*/));546 *value = 1023 - (arduino_ad_avelage[5] / (arduino_ad_table_count * 4/*12bit→10bit*/)); 552 547 return E_OK; 553 548 case 20: 554 549 /* *value = sil_reh_mem((uint16_t *)S12AD_ADDR6_ADDR); */ 555 *value = 1023 - (arduino_ad_avelage[6] / (arduino_ad_table_count * 4/*12bit ¨10bit*/));550 *value = 1023 - (arduino_ad_avelage[6] / (arduino_ad_table_count * 4/*12bit→10bit*/)); 556 551 return E_OK; 557 552 case 21: 558 553 /* *value = sil_reh_mem((uint16_t *)S12AD_ADDR7_ADDR); */ 559 *value = 1023 - (arduino_ad_avelage[7] / (arduino_ad_table_count * 4/*12bit ¨10bit*/));554 *value = 1023 - (arduino_ad_avelage[7] / (arduino_ad_table_count * 4/*12bit→10bit*/)); 560 555 return E_OK; 561 556 } … … 623 618 int i; 624 619 625 /* ADC ÌÏ·Êæ¾*/620 /* ADCの変換結果取得 */ 626 621 if((sil_reb_mem((uint8_t *)S12AD_ADCSR_ADDR) & S12AD_ADCSR_ADST_BIT) == 0){ 627 622 for (i = 0; i < 8; i++){ … … 637 632 } 638 633 639 /* Ï·JniVOXL[hj*/634 /* 変換開始(シングルスキャンモード) */ 640 635 sil_wrb_mem((uint8_t *)S12AD_ADCSR_ADDR, S12AD_ADCSR_ADST_BIT); 641 636 } -
Property svn:mime-type
changed from
-
uKadecot/trunk/src/ukadecot/arduino.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2014 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ … … 56 52 } arduino_digital_value_t; 57 53 58 /* ú»*/54 /* 初期化 */ 59 55 void arduino_init(); 60 56 61 /* fW^üoÍÖ*/57 /* デジタル入出力関数 */ 62 58 ER arduino_pinMode(int pin, arduino_pin_mode_t mode); 63 59 ER arduino_digitalWrite(int pin, arduino_digital_value_t value); 64 60 ER arduino_digitalRead(int pin, arduino_digital_value_t *result); 65 61 66 /* AiOüoÍÖ*/62 /* アナログ入出力関数 */ 67 63 ER arduino_analogRead(int pin, int *result); 68 64 ER arduino_analogWrite(int pin, int value); 69 65 70 /* üú*/66 /* 周期処理 */ 71 67 void arduino_tick(); 72 68 -
Property svn:mime-type
changed from
-
uKadecot/trunk/src/ukadecot/data_flash.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2014 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ … … 41 37 42 38 /* 43 * TvvO(1)Ì{Ì39 * サンプルプログラム(1)の本体 44 40 */ 45 41 … … 129 125 ER ret; 130 126 131 /* E2f[^tbV 132 ÌÇÝÝ */ 127 /* E2データフラッシュの読み込み許可 */ 133 128 sil_wrh_mem(FLASH_DFLRE0_ADDR, 0x2DFF); 134 129 sil_wrh_mem(FLASH_DFLRE1_ADDR, 0xD2FF); 135 /* E2f[^tbV 136 Ì«Ý */ 130 /* E2データフラッシュの書き込み許可 */ 137 131 sil_wrh_mem(FLASH_DFLWE0_ADDR, 0x1EFF); 138 132 sil_wrh_mem(FLASH_DFLWE1_ADDR, 0xE1FF); … … 141 135 fcu_check_frdy(240000); 142 136 143 /* G[mF*/137 /* エラー確認 */ 144 138 fcu_check_error(); 145 139 146 /* FCU t@[EFAÌRs[*/140 /* FCUファームウェアのコピー */ 147 141 fcu_copy_firm(); 148 142 149 /* P/E [hÚs*/143 /* P/Eモード移行 */ 150 144 fcu_pe_mode(); 151 145 152 /* P/E m[}[hÚs*/146 /* P/E ノーマルモード移行 */ 153 147 *((uint8_t *)DATA_FLASH_BASE_ADDR) = 0xFF; 154 148 155 /* G[mF*/149 /* エラー確認 */ 156 150 fcu_check_error(); 157 151 158 /* üÓNbNÊmR}hs*/152 /* 周辺クロック通知コマンド発行 */ 159 153 ret = fcu_notify_clock(); 160 154 161 /* [h[hÚs*/155 /* リードモード移行 */ 162 156 fcu_read_mode(); 163 157 … … 170 164 uint16_t *dst = (uint16_t *)data; 171 165 172 /* P/E [hÚs*/166 /* P/Eモード移行 */ 173 167 fcu_pe_mode(); 174 168 175 /* Løf[^`FbN*/169 /* 有効データチェック */ 176 170 if(!fcu_check_valid(blockno)){ 177 /* [h[hÚs*/171 /* リードモード移行 */ 178 172 fcu_read_mode(); 179 173 return E_OBJ; 180 174 } 181 175 182 /* [h[hÚs*/176 /* リードモード移行 */ 183 177 fcu_read_mode(); 184 178 … … 186 180 end = &wa[DATA_FLASH_BLOCK_SIZE/sizeof(uint16_t)]; 187 181 188 /* ÇÝoµ*/182 /* 読み出し */ 189 183 for(; wa < end; wa++, dst++){ 190 184 *dst = *wa; … … 198 192 bool_t ret = true; 199 193 200 /* P/E [hÚs*/194 /* P/Eモード移行 */ 201 195 fcu_pe_mode(); 202 196 203 /* uN`FbN*/197 /* ブランクチェック */ 204 198 if(!fcu_check_blank(blockno)){ 205 /* uNÅÈ¢ÈçubNÁ*/199 /* ブランクでないならブロック消去 */ 206 200 ret = fcu_erase(blockno); 207 201 if(!ret) … … 210 204 211 205 if(ret){ 212 /* «Ý*/206 /* 書き込み */ 213 207 ret = fcu_write(blockno, data); 214 208 if(!ret) … … 216 210 } 217 211 218 /* [h[hÚs*/212 /* リードモード移行 */ 219 213 fcu_read_mode(); 220 214 … … 226 220 unsigned int *src, *dst, *end; 227 221 228 /* [h[hÚs*/222 /* リードモード移行 */ 229 223 if(sil_reh_mem(FLASH_FENTRYR_ADDR) != 0) 230 224 sil_wrh_mem(FLASH_FENTRYR_ADDR, 0xAA00); 231 225 232 /* FCU RAM ANZXÂ*/226 /* FCU RAMアクセス許可 */ 233 227 sil_wrh_mem(FLASH_FCURAME_ADDR, 0xC401); 234 228 235 /* FCU t@[EFAðFCU RAMÉRs[*/229 /* FCUファームウェアをFCU RAMにコピー */ 236 230 src = (unsigned int *)FCU_FIRMWARE_ADDR; 237 231 dst = (unsigned int *)FCU_RAM_ADDR; … … 249 243 wa = (volatile uint16_t *)ra; 250 244 251 /* ügðÝè*/245 /* 周波数を設定 */ 252 246 sil_wrh_mem(FLASH_PCKAR_ADDR, 48/*FREQ_PCLK / 1000*/); 253 247 254 /* üÓNbNÊmR}hs*/248 /* 周辺クロック通知コマンド発行 */ 255 249 *ra = 0xE9; 256 250 *ra = 0x03; … … 260 254 *ra = 0xD0; 261 255 262 /* 120 Ês */256 /* 120μs */ 263 257 fcu_check_frdy(120); 264 258 265 /* G[mF*/259 /* エラー確認 */ 266 260 return !fcu_check_error(); 267 261 } 268 262 269 263 /* 270 * [h[hÚs264 * リードモード移行 271 265 */ 272 266 static void fcu_read_mode() … … 290 284 291 285 /* 292 * P/E [hÚs286 * P/Eモード移行 293 287 */ 294 288 static void fcu_pe_mode() … … 309 303 for(wa = (volatile uint16_t *)ra; wa < end; wa++, src++) 310 304 { 311 /* vOR}hs*/305 /* プログラムコマンド発行 */ 312 306 *ra = 0xE8; 313 307 *ra = 0x01; … … 315 309 *ra = 0xD0; 316 310 317 /* 2ms ~1.1 */311 /* 2ms×1.1 */ 318 312 fcu_check_frdy(2200); 319 313 320 /* G[mF*/314 /* エラー確認 */ 321 315 if(fcu_check_error()) 322 316 return false; … … 332 326 ra = (volatile uint8_t *)(DATA_FLASH_BLOCK_SIZE * blockno + (intptr_t)DATA_FLASH_BASE_ADDR); 333 327 334 /* C[XR}hs*/328 /* イレースコマンド発行 */ 335 329 *ra = 0x20; 336 330 *ra = 0xD0; 337 331 338 /* 20ms ~1.1 */332 /* 20ms×1.1 */ 339 333 fcu_check_frdy(22000); 340 334 341 /* G[mF*/335 /* エラー確認 */ 342 336 return !fcu_check_error(); 343 337 } … … 361 355 *ra = 0xD0; 362 356 363 /* 30 Ês~1.1 */357 /* 30μs×1.1 */ 364 358 fcu_check_frdy(33); 365 359 366 /* G[mF*/360 /* エラー確認 */ 367 361 if(fcu_check_error()) 368 362 return false; 369 363 370 /* uNmF*/364 /* ブランク確認 */ 371 365 if((sil_reh_mem(FLASH_DFLBCSTAT_ADDR) & FLASH_DFLBCSTAT_BCST_BIT) != 0) 372 366 return false; … … 394 388 *ra = 0xD0; 395 389 396 /* 30 Ês~1.1 */390 /* 30μs×1.1 */ 397 391 fcu_check_frdy(33); 398 392 399 /* G[mF*/393 /* エラー確認 */ 400 394 if(fcu_check_error()) 401 395 return false; 402 396 403 /* uNmF*/397 /* ブランク確認 */ 404 398 if((sil_reh_mem(FLASH_DFLBCSTAT_ADDR) & FLASH_DFLBCSTAT_BCST_BIT) == 0) 405 399 return false; … … 423 417 } 424 418 425 /* Xe[^XNAR}hs*/419 /* ステータスクリアコマンド発行 */ 426 420 *((uint8_t *)DATA_FLASH_BASE_ADDR) = 0x50; 427 421 } … … 437 431 438 432 for(i = 0; i < tWAIT; i++){ 439 /* õ®¹ÈçI¹*/433 /* 準備完了なら終了 */ 440 434 if((sil_reb_mem(FLASH_FSTATR0_ADDR) & FLASH_FSTATR0_FRDY_BIT) != 0) 441 435 return true; 442 436 443 /* 1 Ês? */437 /* 1μs? */ 444 438 for(j = 0; j < 100; j++); 445 439 } … … 447 441 syslog(LOG_WARNING, "fcu_check_frdy timeout"); 448 442 449 /* FCU ú»*/443 /* FCU初期化 */ 450 444 fcu_init(); 451 445 … … 459 453 sil_wrh_mem(FLASH_FRESETR_ADDR, 0xCC01); 460 454 461 // 200 Ês? */455 // 200μs? */ 462 456 for(j = 0; j < 20000; j++); 463 457 -
Property svn:mime-type
changed from
-
uKadecot/trunk/src/ukadecot/data_flash.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2014 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ -
Property svn:mime-type
changed from
-
uKadecot/trunk/src/ukadecot/echonet_app_config.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2014 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ … … 46 42 47 43 /* 48 * T[rX^XNÉÇÁÌð}üµ½¢êÉè`·é44 * サービス処理タスクに追加の処理を挿入したい場合に定義する 49 45 * 50 * ^CAEglðÔ·46 * タイムアウト値を返す 51 47 * TMO echonet_task_get_timer(); 52 48 * #define ECHONET_TASK_GET_TIMER echonet_task_get_timer 53 49 * 54 * ^C}[ÌÔðißé50 * タイマーの時間を進める 55 51 * void echonet_task_progress(TMO interval); 56 52 * #define ECHONET_TASK_PROGRESS(interval) echonet_task_progress(interval) 57 53 * 58 * ^CAEgi̽ßÌÄÑoµj54 * タイムアウト処理(のための呼び出し) 59 55 * void echonet_task_timeout(); 60 56 * #define ECHONET_TASK_TIMEOUT echonet_task_timeout() … … 62 58 63 59 /* 64 * tcoÊM^XNÉÇÁÌð}üµ½¢êÉè`·é60 * UDP通信タスクに追加の処理を挿入したい場合に定義する 65 61 * 66 * ^CAEglðÔ·62 * タイムアウト値を返す 67 63 * TMO echonet_udp_task_get_timer(); 68 64 * #define ECHONET_UDP_TASK_GET_TIMER echonet_udp_task_get_timer 69 65 * 70 * ^C}[ÌÔðißé66 * タイマーの時間を進める 71 67 * void echonet_udp_task_progress(TMO interval); 72 68 * #define ECHONET_UDP_TASK_PROGRESS(interval) echonet_udp_task_progress(interval) 73 69 * 74 * ^CAEgi̽ßÌÄÑoµj70 * タイムアウト処理(のための呼び出し) 75 71 * void echonet_udp_task_timeout(); 76 72 * #define ECHONET_UDP_TASK_TIMEOUT echonet_udp_task_timeout() 77 73 */ 78 74 79 /* fobOoÍLø»Ýè·éÆ«Éè`*/75 /* デバッグ出力有効化設定するときに定義 */ 80 76 /* #define ECN_DBG_PUT_ENA */ 81 77 82 /* fobOoÍ(CARP)Lø»Ýè·éÆ«Éè`*/78 /* デバッグ出力(CARP)有効化設定するときに定義 */ 83 79 /* #define ECN_CAP_PUT_ENA */ 84 80 85 /* syslog ó«Ò¿Lø»Ýè·éÆ«Éè`*/81 /* syslog空き待ち有効化設定するときに定義 */ 86 82 /* #define ECN_DBG_WAI_ENA */ 87 83 88 /* WÌecn_data_prop_setðgíȢƫÉè`*/84 /* 標準のecn_data_prop_setを使わないときに定義 */ 89 85 /* #define ECN_USER_DATA_PROP_SET */ 90 86 91 /* WÌecn_data_prop_getðgíȢƫÉè`*/87 /* 標準のecn_data_prop_getを使わないときに定義 */ 92 88 /* #define ECN_USER_DATA_PROP_GET */ 93 89 -
Property svn:mime-type
changed from
-
uKadecot/trunk/src/ukadecot/main.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r105 r107 4 4 * Copyright (C) 2014 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ … … 41 37 42 38 /* 43 * TvvO(1)Ì{Ì39 * サンプルプログラム(1)の本体 44 40 */ 45 41 … … 61 57 #include "uip_adpt.h" 62 58 #include "wamp.h" 63 // TODO: Rg[ü¯wb_[t@Cð쬷é59 // TODO:コントローラ向けヘッダーファイルを作成する 64 60 #include "echonet_task.h" 65 61 #include "echonet_agent.h" … … 70 66 uint8_t mac_addr[6] = { 0x12, 0x34, 0x56, 0x78, 0x9A, 0xB8 }; 71 67 72 #define MAKER_CODE 0x00, 0x00, 0xB3 /* TOPPERS vWFNg*/73 74 /* m[hvt@CIuWFNg*/68 #define MAKER_CODE 0x00, 0x00, 0xB3 /* TOPPERSプロジェクト */ 69 70 /* ノードプロファイルオブジェクト */ 75 71 struct node_profile_object_t local_node_data = { 76 0x30, /* ®ìóÔ */ 77 { 0x01, 0x0A, 0x01, 0x00 }, /* u 78 îñ */ 72 0x30, /* 動作状態 */ 73 { 0x01, 0x0A, 0x01, 0x00 }, /* Version情報 */ 79 74 { 80 0xFE, /* ºÊÊMwIDtB[h*/81 { MAKER_CODE }, /* [J[R[h*/82 { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }, /* j[NID([J[Æ©) */75 0xFE, /* 下位通信層IDフィールド */ 76 { MAKER_CODE }, /* メーカーコード */ 77 { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }, /* ユニークID部(メーカー独自) */ 83 78 }, 84 0x0000, /* Ùíàe*/85 { MAKER_CODE }, /* [J[R[h*/79 0x0000, /* 異常内容 */ 80 { MAKER_CODE }, /* メーカーコード */ 86 81 }; 87 82 88 /* Rg[[NX*/83 /* コントローラークラス */ 89 84 struct controller_t controller_class_data = { 90 0x30, /* ®ìóÔ */ 91 0x00, /* Ýuê */ 92 { 0x00, 0x00, 'C', 0x00 }, /* Kiu 93 îñ */ 94 0x41, /* Ùí¶óÔ */ 95 { MAKER_CODE }, /* [J[R[h */ 85 0x30, /* 動作状態 */ 86 0x00, /* 設置場所 */ 87 { 0x00, 0x00, 'C', 0x00 }, /* 規格Version情報 */ 88 0x41, /* 異常発生状態 */ 89 { MAKER_CODE }, /* メーカーコード */ 96 90 }; 97 91 98 92 /* 99 * ®ìóÔON/OFFÝèÖi0x30, 0x31ÌÝó¯t¯j93 * 動作状態ON/OFF設定関数(0x30, 0x31のみ受け付け) 100 94 */ 101 95 int onoff_prop_set(const EPRPINIB *item, const void *src, int size, bool_t *anno) 102 96 { 103 /* TCYªPÈOÍó¯t¯È¢*/97 /* サイズが1以外は受け付けない */ 104 98 if(size != 1) 105 99 return 0; … … 108 102 109 103 switch(*(uint8_t *)src){ 110 /* ON Ìê*/104 /* ONの場合 */ 111 105 case 0x30: 112 106 *((uint8_t *)item->exinf) = *((uint8_t *)src); 113 /* LED Ì"."ðON */107 /* LEDの"."をON */ 114 108 sil_wrb_mem((uint8_t *)0x0008C02A, sil_reb_mem((uint8_t *)0x0008C02A) | 0x40); 115 109 break; 116 /* OFF Ìê*/110 /* OFFの場合 */ 117 111 case 0x31: 118 112 *((uint8_t *)item->exinf) = *((uint8_t *)src); 119 /* LED Ì"."ðOFF */113 /* LEDの"."をOFF */ 120 114 sil_wrb_mem((uint8_t *)0x0008C02A, sil_reb_mem((uint8_t *)0x0008C02A) & ~0x40); 121 115 break; 122 /* 0x30 ©0x31ÈOÍó¯t¯È¢*/116 /* 0x30か0x31以外は受け付けない */ 123 117 default: 124 118 return 0; … … 129 123 130 124 /* 131 * ÙíàeÝèÖ125 * 異常内容設定関数 132 126 */ 133 127 int node_profile_object_fault_content_set(const EPRPINIB *item, const void *src, int size, bool_t *anno) 134 128 { 135 /* TCYª2ÈOÍó¯t¯È¢*/129 /* サイズが2以外は受け付けない */ 136 130 if(size != 2) 137 131 return 0; … … 139 133 if((*(uint16_t *)src >= 0x0) && (*(uint16_t *)src <= 0x3ec)){ 140 134 *((uint16_t *)item->exinf) = *((uint16_t *)src); 141 /* TODO: ±ÌÌêÌ*/142 } 143 /* ãLÈOÍó¯t¯È¢*/135 /* TODO: このの場合の処理*/ 136 } 137 /* 上記以外は受け付けない */ 144 138 else{ 145 139 return 0; … … 150 144 151 145 /* 152 * Ùí¶óÔÝèÖi0x41, 0x42ÌÝó¯t¯j146 * 異常発生状態設定関数(0x41, 0x42のみ受け付け) 153 147 */ 154 148 int alarm_prop_set(const EPRPINIB *item, const void *src, int size, bool_t *anno) 155 149 { 156 /* TCYªPÈOÍó¯t¯È¢*/150 /* サイズが1以外は受け付けない */ 157 151 if(size != 1) 158 152 return 0; … … 161 155 162 156 switch(*(uint8_t *)src){ 163 /* Ùí¶ èÌê*/157 /* 異常発生ありの場合 */ 164 158 case 0x41: 165 /* Ùí¶ÈµÌê*/159 /* 異常発生なしの場合 */ 166 160 case 0x42: 167 161 *((uint8_t *)item->exinf) = *((uint8_t *)src); 168 162 break; 169 /* 0x41 ©0x42ÈOÍó¯t¯È¢*/163 /* 0x41か0x42以外は受け付けない */ 170 164 default: 171 165 return 0; … … 176 170 177 171 /* 178 * »ÝÝèÖ172 * 現在時刻設定関数 179 173 */ 180 174 int time_prop_set(const EPRPINIB *item, const void *src, int size, bool_t *anno) … … 185 179 return 0; 186 180 187 /* Ýè*/181 /* 時刻設定 */ 188 182 p_src = (uint8_t *)src; 189 183 sil_wrb_mem((uint8_t *)RTC_RHRCNT_ADDR, *p_src++); … … 195 189 196 190 /* 197 * »Ýæ¾Ö191 * 現在時刻取得関数 198 192 */ 199 193 int time_prop_get(const EPRPINIB *item, void *dst, int size) … … 204 198 return 0; 205 199 206 /* Ýè*/200 /* 時刻設定 */ 207 201 p_dst = (uint8_t *)dst; 208 202 *p_dst++ = sil_reb_mem((uint8_t *)RTC_RHRCNT_ADDR); … … 213 207 214 208 /* 215 * »ÝNúÝèÖ209 * 現在年月日設定関数 216 210 */ 217 211 int date_prop_set(const EPRPINIB *item, const void *src, int size, bool_t *anno) … … 222 216 return 0; 223 217 224 /* NúÝè*/218 /* 年月日設定 */ 225 219 p_src = (uint8_t *)src; 226 220 p_src++; /* 20XX */ … … 233 227 234 228 /* 235 * »ÝNúæ¾Ö229 * 現在年月日取得関数 236 230 */ 237 231 int date_prop_get(const EPRPINIB *item, void *dst, int size) … … 252 246 253 247 /* 254 * uIP ^XNú»248 * uIP タスク初期化処理 255 249 */ 256 250 void uip_task_init(intptr_t exinf) … … 284 278 285 279 /* 286 * C^XN280 * メインタスク 287 281 */ 288 282 static … … 298 292 PT_BEGIN(&main_pt); 299 293 300 /* ú»*/294 /* 初期化 */ 301 295 main_initialize(); 302 296 … … 310 304 prev = now; 311 305 312 /* ^C}[æ¾*/306 /* タイマー取得 */ 313 307 timer = main_get_timer(); 314 308 timer_set(&main_pt_timer, timer); 315 309 316 /* d¶Ò¿*/310 /* 応答電文待ち */ 317 311 PT_WAIT_UNTIL(&main_pt, (((ret = ecn_prcv_esv(&esv)) == E_OK) || (ret == E_BRK) 318 312 || ((ret = timer_expired(&main_pt_timer) ? E_TMOUT : E_WBLK) == E_TMOUT))); … … 328 322 } 329 323 330 /* Ôoß*/324 /* 時間経過 */ 331 325 main_progress(now - prev); 332 326 333 /* Echonet d¶óMÌê*/327 /* Echonet電文受信の場合 */ 334 328 if (ret == E_OK) { 335 /* Echonet d¶óM*/329 /* Echonet電文受信処理 */ 336 330 main_recv_esv(esv); 337 331 338 /* Ìæðú*/332 /* 領域解放 */ 339 333 ret = ecn_rel_esv(esv); 340 334 if (ret != E_OK){ … … 343 337 } 344 338 } 345 /* d¶Ò¿ÌèÝÌê*/339 /* 応答電文待ちの割り込みの場合 */ 346 340 else if (ret == E_BRK) { 347 341 ECN_FBS_ID msg = { (T_ECN_FST_BLK *)esv }; … … 355 349 break; 356 350 case 3/*ECN_MSG_USER_BREAK*/: 357 /* d¶Ò¿ÌèÝf[^æ¾*/351 /* 応答電文待ちの割り込みデータ取得 */ 358 352 ret = ecn_get_brk_dat(esv, brkdat, sizeof(brkdat), &len); 359 353 if (ret != E_OK){ … … 362 356 } 363 357 364 /* d¶Ò¿ÌèÝ*/358 /* 応答電文待ちの割り込み処理 */ 365 359 main_break_wait(brkdat, len); 366 360 break; 367 361 } 368 362 369 /* Ìæðú*/363 /* 領域解放 */ 370 364 if (rel_msg) { 371 365 ret = ecn_rel_esv(esv); … … 377 371 } 378 372 379 /* ^CAEg*/373 /* タイムアウト処理 */ 380 374 main_timeout(); 381 375 382 /* L 383 [ÉÜÁ½bZ[Wð */ 376 /* キューに溜まったメッセージを処理 */ 384 377 while(main_wbs_que_msg()); 385 378 } … … 436 429 437 430 /* 438 * ú»431 * 初期化 439 432 */ 440 433 static void main_initialize() … … 446 439 ER ret; 447 440 448 /* LED ð"000"Æ\¦*/441 /* LEDを"000"と表示 */ 449 442 sil_wrb_mem((uint8_t *)0x0008C02A, 0x00); 450 443 … … 473 466 syslog(LOG_INFO, "mac_addr %s %s", data, dflt_addr ? "default" : "flash-rom"); 474 467 475 /* uIP ðJn*/468 /* uIPを開始 */ 476 469 uip_start(); 477 470 478 471 wamp_init(&wamp); 479 472 480 /* 10ms ãÉ{^óÔðmF*/473 /* 10ms後にボタン状態を確認 */ 481 474 main_state = main_state_start; 482 475 main_timer = TMO_FEVR; 483 476 484 /* Arduino Ý·@\ú»*/477 /* Arduino互換機能初期化 */ 485 478 arduino_init(); 486 479 487 /* {^óÔÇÝÝ*/480 /* ボタン状態読み込み */ 488 481 btn1 = sil_reb_mem((uint8_t *)0x0008C04A); 489 482 /*btn1 = sil_reb_mem((uint8_t *)0x0008C040);*/ … … 498 491 499 492 /* 500 * ^C}[æ¾493 * タイマー取得 501 494 */ 502 495 static TMO main_get_timer() … … 518 511 519 512 /* 520 * Ôoß513 * 時間経過 521 514 */ 522 515 static void main_progress(TMO interval) … … 547 540 548 541 /* 549 * Echonet d¶óM542 * Echonet電文受信処理 550 543 */ 551 544 static void main_recv_esv(T_EDATA *esv) … … 610 603 611 604 /* 612 * WebSocket bZ[WóM605 * WebSocketメッセージ受信処理 613 606 */ 614 607 static bool_t main_wbs_msg(ECN_FBS_ID msg) … … 646 639 647 640 /* 648 * èÝbZ[WóM641 * 割り込みメッセージ受信処理 649 642 */ 650 643 static void main_int_msg(ECN_FBS_ID msg) … … 673 666 674 667 /* 675 * d¶Ò¿ÌèÝ668 * 応答電文待ちの割り込み処理 676 669 */ 677 670 static void main_break_wait(uint8_t *brkdat, int32_t len) … … 689 682 690 683 /* 691 * d¶Ò¿ÌèÝ684 * 応答電文待ちの割り込み処理 692 685 */ 693 686 void main_set_addr_callback() … … 696 689 uint8_t data[1]; 697 690 698 /* C^XNÉÊm*/691 /* メインタスクに通知 */ 699 692 data[0] = 0x01; 700 693 ret = ecn_brk_wai(data, sizeof(data)); … … 705 698 706 699 /* 707 * d¶Ò¿ÌèÝ700 * 応答電文待ちの割り込み処理 708 701 */ 709 702 static void main_start_service() … … 717 710 syslog(LOG_INFO, "ip_addr %s, netmask %s, gateway %s", ip_addr, netmask, gateway); 718 711 719 /* ECHONET ~hEFAðN®*/712 /* ECHONETミドルウェアを起動 */ 720 713 ret = ecn_sta_svc(); 721 714 if(ret != E_OK) … … 727 720 728 721 /* 729 * ^CAEg722 * タイムアウト処理 730 723 */ 731 724 static void main_timeout() … … 760 753 switch(main_state){ 761 754 case main_state_idle: 762 /* 10ms ãÉ{^óÔðmF*/755 /* 10ms後にボタン状態を確認 */ 763 756 main_timer = 10; 764 757 765 758 arduino_tick(); 766 759 767 /* {^óÔÇÝÝ*/760 /* ボタン状態読み込み */ 768 761 btn1 = sil_reb_mem((uint8_t *)0x0008C04A); 769 762 /*btn1 = sil_reb_mem((uint8_t *)0x0008C040);*/ 770 763 btn2 = sil_reb_mem((uint8_t *) 0x0008C040); 771 764 772 /* {^PÌ*/765 /* ボタン1の処理 */ 773 766 if(((btn1 & 0x80/*0x20*/) != 0) && !main_btn1_state){ 774 767 main_btn1_count++; … … 793 786 } 794 787 795 /* {^QÌ*/788 /* ボタン2の処理 */ 796 789 if(((btn2 & 0x80) != 0) && !main_btn2_state){ 797 790 main_btn2_count++; … … 852 845 853 846 /* 854 * {^PóÔÏ»847 * ボタン1状態変化処理 855 848 */ 856 849 static void main_btn1_change(bool_t push) 857 850 { 858 /* ³êÄßÁ½É·é*/851 /* 押されて戻った時に処理する */ 859 852 if(push) 860 853 return; 861 854 862 /* @íÌõ*/855 /* 機器の検索 */ 863 856 main_search_device(); 864 857 } 865 858 866 859 /* 867 * {^QóÔÏ»860 * ボタン2状態変化処理 868 861 */ 869 862 static void main_btn2_change(bool_t push) … … 872 865 873 866 /* 874 * @íÌõ867 * 機器の検索 875 868 */ 876 869 static ER main_search_device() … … 879 872 T_EDATA *esv; 880 873 881 /* @íÌõ*/874 /* 機器の検索 */ 882 875 ret = ecn_esv_inf_req(&esv, EOBJ_NULL, 0xD6); 883 876 if(ret != E_OK){ … … 886 879 } 887 880 888 /* d¶M*/881 /* 電文送信 */ 889 882 ret = ecn_snd_esv(esv); 890 883 if(ret != E_OK){ … … 925 918 return E_QOVR; 926 919 927 /* @íÌõ*/920 /* 機器の検索 */ 928 921 ret = main_search_device(); 929 922 if(ret != E_OK){ … … 1120 1113 return E_QOVR; 1121 1114 1122 /* vpeBæ¾d¶ì¬*/1115 /* プロパティ取得電文作成 */ 1123 1116 ret = ecn_esv_get(&esv, eobjid, epc); 1124 1117 if(ret != E_OK){ … … 1127 1120 } 1128 1121 1129 /* d¶M*/1122 /* 電文送信 */ 1130 1123 ret = ecn_snd_esv(esv); 1131 1124 if(ret != E_OK){ … … 1195 1188 return E_QOVR; 1196 1189 1197 /* vpeBæ¾d¶ì¬*/1190 /* プロパティ取得電文作成 */ 1198 1191 ret = ecn_esv_setc(&esv, eobjid, epc, pdc, edt); 1199 1192 if(ret != E_OK){ … … 1202 1195 } 1203 1196 1204 /* d¶M*/1197 /* 電文送信 */ 1205 1198 ret = ecn_snd_esv(esv); 1206 1199 if(ret != E_OK){ … … 1270 1263 return E_QOVR; 1271 1264 1272 /* d¶M*/1265 /* 電文送信 */ 1273 1266 ret = ecn_snd_esv(esv); 1274 1267 if(ret != E_OK){ … … 1306 1299 return E_QOVR; 1307 1300 1308 /* d¶M*/1301 /* 電文送信 */ 1309 1302 ret = ecn_snd_esv(esv); 1310 1303 if(ret != E_OK){ … … 1342 1335 return E_QOVR; 1343 1336 1344 /* d¶M*/1337 /* 電文送信 */ 1345 1338 ret = ecn_snd_esv(esv); 1346 1339 if(ret != E_OK){ -
Property svn:mime-type
changed from
-
uKadecot/trunk/src/ukadecot/main.cfg
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2014 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ … … 43 39 44 40 /* 45 * TvvO(1)ÌVXeRtBM 46 [Vt@C 41 * サンプルプログラム(1)のシステムコンフィギュレーションファイル 47 42 */ 48 43 INCLUDE("target_timer.cfg"); … … 62 57 63 58 /* 64 * m[hvt@CIuWFNg59 * ノードプロファイルオブジェクト 65 60 */ 66 61 ECN_CRE_EOBJ (LOCAL_NODE_EOBJ, { EOBJ_LOCAL_NODE, EOBJ_NULL, 0, EOJ_X1_PROFILE, EOJ_X2_NODE_PROFILE, EOJ_X3_LOCAL_NODE }); 67 62 68 /* ®ìóÔ*/63 /* 動作状態 */ 69 64 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 }); 70 65 71 /* u 72 îñ */ 66 /* Version情報 */ 73 67 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 }); 74 68 75 /* ¯ÊÔ*/69 /* 識別番号 */ 76 70 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 }); 77 71 78 /* Ùíàe*/72 /* 異常内容 */ 79 73 ECN_DEF_EPRP (LOCAL_NODE_EOBJ, { 0x89, EPC_RULE_GET, 2, (intptr_t)&local_node_data.fault_content, (EPRP_SETTER *)node_profile_object_fault_content_set, (EPRP_GETTER *)ecn_data_prop_get }); 80 74 81 /* [J[R[h*/75 /* メーカーコード */ 82 76 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 }); 83 77 84 78 /* 85 * Rg[[NX79 * コントローラークラス 86 80 */ 87 81 ECN_CRE_EOBJ (CONTROLLER_CLASS_EOBJ, { EOBJ_DEVICE, LOCAL_NODE_EOBJ, 0, EOJ_X1_CONTROLLER, EOJ_X2_CONTROLLER, EOJ_X3_CONTROLLER }); 88 82 89 /* ®ìóÔ*/83 /* 動作状態 */ 90 84 ECN_DEF_EPRP (CONTROLLER_CLASS_EOBJ, { 0x80, EPC_RULE_SET | EPC_RULE_GET | EPC_ANNOUNCE, 1, (intptr_t)&controller_class_data.operation_status, (EPRP_SETTER *)onoff_prop_set, (EPRP_GETTER *)ecn_data_prop_get }); 91 85 92 /* Ýuê*/86 /* 設置場所 */ 93 87 ECN_DEF_EPRP (CONTROLLER_CLASS_EOBJ, { 0x81, EPC_RULE_SET | EPC_RULE_GET | EPC_ANNOUNCE, 1, (intptr_t)&controller_class_data.installation_location, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get }); 94 88 95 /* Kiu 96 îñ */ 89 /* 規格Version情報 */ 97 90 ECN_DEF_EPRP (CONTROLLER_CLASS_EOBJ, { 0x82, EPC_RULE_GET, 4, (intptr_t)&controller_class_data.standard_version_information, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get }); 98 91 99 /* Ùí¶óÔ*/92 /* 異常発生状態 */ 100 93 ECN_DEF_EPRP (CONTROLLER_CLASS_EOBJ, { 0x88, EPC_RULE_GET | EPC_ANNOUNCE, 1, (intptr_t)&controller_class_data.fault_status, (EPRP_SETTER *)alarm_prop_set, (EPRP_GETTER *)ecn_data_prop_get }); 101 94 102 /* [J[R[h*/95 /* メーカーコード */ 103 96 ECN_DEF_EPRP (CONTROLLER_CLASS_EOBJ, { 0x8A, EPC_RULE_GET, 3, (intptr_t)&controller_class_data.manufacturer_code, (EPRP_SETTER *)ecn_data_prop_set, (EPRP_GETTER *)ecn_data_prop_get }); 104 97 105 /* »ÝÝè*/98 /* 現在時刻設定 */ 106 99 ECN_DEF_EPRP (CONTROLLER_CLASS_EOBJ, { 0x97, EPC_RULE_SET | EPC_RULE_GET, 2, (intptr_t)NULL, (EPRP_SETTER *)time_prop_set, (EPRP_GETTER *)time_prop_get }); 107 100 108 /* »ÝNúÝè*/101 /* 現在年月日設定 */ 109 102 ECN_DEF_EPRP (CONTROLLER_CLASS_EOBJ, { 0x98, EPC_RULE_SET | EPC_RULE_GET, 4, (intptr_t)NULL, (EPRP_SETTER *)date_prop_set, (EPRP_GETTER *)date_prop_get }); -
Property svn:mime-type
changed from
-
uKadecot/trunk/src/ukadecot/main.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2014 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ … … 44 40 45 41 /* 46 * TvvO(1)Ìwb_t@C42 * サンプルプログラム(1)のヘッダファイル 47 43 */ 48 44 49 45 /* 50 * ^[Qbg˶Ìè`46 * ターゲット依存の定義 51 47 */ 52 48 #include <kernel.h> … … 56 52 57 53 /* 58 * e^XNÌDæxÌè`54 * 各タスクの優先度の定義 59 55 */ 60 56 61 #define MAIN_PRIORITY 7 /* C^XNÌDæx*/62 #define INIT_PRIORITY 1 /* ú»^XNÌDæx*/63 #define LOGTASK_PRIORITY 8 /* O^XNÌDæx*/57 #define MAIN_PRIORITY 7 /* メインタスクの優先度 */ 58 #define INIT_PRIORITY 1 /* 初期化タスクの優先度 */ 59 #define LOGTASK_PRIORITY 8 /* ログタスクの優先度 */ 64 60 65 #define MAIN_STACK_SIZE 1024 /* X^bNÌæÌTCY*/61 #define MAIN_STACK_SIZE 1024 /* スタック領域のサイズ */ 66 62 67 #define EOJ_X3_LOCAL_NODE 1 /* m[hvt@CIuWFNgÌCX^XR[h*/63 #define EOJ_X3_LOCAL_NODE 1 /* ノードプロファイルオブジェクトのインスタンスコード */ 68 64 69 #define EOJ_X3_CONTROLLER 1 /* Rg[[NXÌCX^XR[h*/65 #define EOJ_X3_CONTROLLER 1 /* コントローラークラスのインスタンスコード */ 70 66 71 67 #define NUM_WEBSOCKET_MBXID 2 72 68 73 69 /* 74 * ÖÌvg^Cvé¾70 * 関数のプロトタイプ宣言 75 71 */ 76 72 #ifndef TOPPERS_MACRO_ONLY … … 88 84 89 85 /* 90 * u 91 îñÌ^ 86 * Version情報の型 92 87 */ 93 88 struct version_information_t { 94 /* W[o[W(¬_Èã) */89 /* メジャーバージョン(小数点以上) */ 95 90 uint8_t major_version_number; 96 /* }Ci[o[W(¬_Ⱥ) */91 /* マイナーバージョン(小数点以下) */ 97 92 uint8_t minor_version_number; 98 /* d¶^Cv*/93 /* 電文タイプ */ 99 94 uint8_t message_type[2]; 100 95 }; 101 96 102 97 /* 103 * [J[R[hÌ^98 * メーカーコードの型 104 99 */ 105 100 struct manufacturer_code_t { 106 /* [J[R[h*/101 /* メーカーコード */ 107 102 uint8_t manufacturer_code[3]; 108 103 }; 109 104 110 105 /* 111 * ¯ÊÔÌ^106 * 識別番号の型 112 107 */ 113 108 struct node_identification_number_t { 114 /* ºÊÊMwIDtB[h*/109 /* 下位通信層IDフィールド */ 115 110 uint8_t lower_communication_id_field; 116 /* [J[R[h*/111 /* メーカーコード */ 117 112 struct manufacturer_code_t manufacturer_code; 118 /* j[NID([J[Æ©) */113 /* ユニークID部(メーカー独自) */ 119 114 uint8_t unique_id_section[13]; 120 115 }; 121 116 122 117 /* 123 * Kiu 124 îñÌ^ 118 * 規格Version情報の型 125 119 */ 126 120 struct standard_version_information_t { 127 /* Åè1(for future reserved) */121 /* 固定1(for future reserved) */ 128 122 uint8_t reserved1; 129 /* Åè2(for future reserved) */123 /* 固定2(for future reserved) */ 130 124 uint8_t reserved2; 131 /* [XðASCIIŦ·*/125 /* リリース順をASCIIで示す */ 132 126 uint8_t order_of_release; 133 /* Åè4(for future reserved) */127 /* 固定4(for future reserved) */ 134 128 uint8_t reserved4; 135 129 }; 136 130 137 131 /* 138 * m[hvt@CIuWFNg132 * ノードプロファイルオブジェクト 139 133 */ 140 134 struct node_profile_object_t { 141 /* ®ìóÔ*/135 /* 動作状態 */ 142 136 uint8_t operation_status; 143 /* u 144 îñ */ 137 /* Version情報 */ 145 138 struct version_information_t version_information; 146 /* ¯ÊÔ*/139 /* 識別番号 */ 147 140 struct node_identification_number_t identification_number; 148 /* Ùíàe*/141 /* 異常内容 */ 149 142 uint16_t fault_content; 150 /* [J[R[h*/143 /* メーカーコード */ 151 144 struct manufacturer_code_t manufacturer_code; 152 145 }; 153 146 154 147 /* 155 * Rg[[NX148 * コントローラークラス 156 149 */ 157 150 struct controller_t { 158 /* ®ìóÔ*/151 /* 動作状態 */ 159 152 uint8_t operation_status; 160 /* Ýuê*/153 /* 設置場所 */ 161 154 uint8_t installation_location; 162 /* Kiu 163 îñ */ 155 /* 規格Version情報 */ 164 156 struct standard_version_information_t standard_version_information; 165 /* Ùí¶óÔ*/157 /* 異常発生状態 */ 166 158 uint8_t fault_status; 167 /* [J[R[h*/159 /* メーカーコード */ 168 160 struct manufacturer_code_t manufacturer_code; 169 161 }; … … 177 169 #endif 178 170 179 extern struct node_profile_object_t local_node_data; /* m[hvt@CIuWFNgÌf[^*/171 extern struct node_profile_object_t local_node_data; /* ノードプロファイルオブジェクトのデータ */ 180 172 181 extern struct controller_t controller_class_data; /* Rg[[NXÌf[^*/173 extern struct controller_t controller_class_data; /* コントローラークラスのデータ */ 182 174 183 175 EPRP_SETTER onoff_prop_set; -
Property svn:mime-type
changed from
-
uKadecot/trunk/src/ukadecot/uip-conf.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/src/ukadecot/uip_app_config.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 6 6 * Copyright (C) 2014 Cores Co., Ltd. Japan 7 7 * 8 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 9 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 10 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 11 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 12 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 13 * XR[hÉÜÜêÄ¢é±ÆD 14 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 15 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 16 gip 17 * Ò}j 18 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 19 * ̳ÛØKèðfÚ·é±ÆD 20 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 21 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 22 * ÆD 23 * (a) Äzzɺ¤hL 24 gipÒ}j 25 AÈÇjÉCãLÌ 26 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 27 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 28 * ñ·é±ÆD 29 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 30 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 31 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 32 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 33 * ÆÓ·é±ÆD 8 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 34 30 * 35 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨36 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI37 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF38 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»39 * ÌÓCðíÈ¢D31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 40 36 * 41 37 * @(#) $Id$ … … 46 42 47 43 /* 48 * RX62N Ethernet Controler ÉÖ·éè`44 * RX62N Ethernet Controler に関する定義 49 45 */ 50 46 … … 52 48 #define UIP_TASK_STACK_SIZE 256 53 49 54 /* IPv4 ÉÖ·éè`*/50 /* IPv4 に関する定義 */ 55 51 #define IPV4_ADDR_LOCAL MAKE_IPV4_ADDR(192,168,2,110) 56 52 #define IPV4_ADDR_LOCAL_MASK MAKE_IPV4_ADDR(255,255,255,0) … … 58 54 59 55 /* 60 * DHCP NCAgÉÖ·éè`56 * DHCP クライアントに関する定義 61 57 */ 62 58 -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/arch/ccrx/tool_stddef.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 9 9 * Copyright (C) 2007-2010 by Witz Corporation, JAPAN 10 10 * 11 * ãLì ÒÍCÈºÌ (1)`(4) Ìð©CFree Software Foundation 12 * ÉæÁÄö\³êÄ¢é GNU General Public License Ì Version 2 ÉL 13 * q³êÄ¢éðð½·êÉÀèC{\tgEFAi{\tgEFA 14 * ðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»EüÏEÄzziȺC 15 * pÆÄÔj·é±Æð³Åø·éD 16 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 17 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 18 * XR[hÉÜÜêÄ¢é±ÆD 19 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 20 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 21 gip 22 * Ò}j 23 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 24 * ̳ÛØKèðfÚ·é±ÆD 25 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 26 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 27 * ÆD 28 * (a) Äzzɺ¤hL 29 gipÒ}j 30 AÈÇjÉCãLÌ 31 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 32 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 33 * ñ·é±ÆD 34 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 35 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 11 * 上記著作権者は,以下の (1)〜(4) の条件か,Free Software Foundation 12 * によって公表されている GNU General Public License の Version 2 に記 13 * 述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア 14 * を改変したものを含む.以下同じ)を使用・複製・改変・再配布(以下, 15 * 利用と呼ぶ)することを無償で許諾する. 16 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 17 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 18 * スコード中に含まれていること. 19 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 20 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 21 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 22 * の無保証規定を掲載すること. 23 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 24 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 25 * と. 26 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 27 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 28 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 29 * 報告すること. 30 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 31 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 36 32 * 37 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨38 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄC»ÌKpÂ\«à39 * ÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEFAÌpÉæè¼40 * ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»ÌÓCðíÈ¢D33 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 34 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 35 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 36 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 41 37 * 42 38 */ 43 39 44 40 /* 45 * t_stddef.h ÌJ«˶ilTX RXc[`FCpj41 * t_stddef.hの開発環境依存部(ルネサス RXツールチェイン用) 46 42 * 47 * ±ÌCN[ht@CÍCt_stddef.h ÌæªÅCN[h³êéD48 * ¼Ìt@C©çͼÚCN[h·é±ÆÍÈ¢D¼ÌCN[h49 * t@CÉæ§Áijêé½ßC¼ÌCN[ht@CÉ˶µ50 * ÄÍÈçÈ¢D43 * このインクルードファイルは,t_stddef.h の先頭でインクルードされる. 44 * 他のファイルからは直接インクルードすることはない.他のインクルード 45 * ファイルに先立って処理されるため,他のインクルードファイルに依存し 46 * てはならない. 51 47 */ 52 48 … … 55 51 56 52 /* 57 * RpCÌg£@\̽ßÌ}Nè`53 * コンパイラの拡張機能のためのマクロ定義 58 54 */ 59 55 /* 60 * inline ¯ÊqÍOè`𶬵Ȣ.56 * inline 識別子は外部定義を生成しない. 61 57 */ 62 58 #define Inline static inline 63 59 64 60 /* 65 * CCAZuÍ{RpCÅÍ66 * #pragma inline_asm ÌÝÌT|[gÆÈé½ß,67 * asm/Asm è`ÍsíÈ¢.61 * インラインアセンブラは本コンパイラでは 62 * #pragma inline_asmのみのサポートとなるため, 63 * asm/Asm定義は行わない. 68 64 */ 69 65 70 66 /* 71 * NoReturn / alignof Í{RpCÅÍT|[g³êÈ¢.72 * offsetof Ístddef.hÌè`ðp·é.67 * NoReturn / alignofは本コンパイラではサポートされない. 68 * offsetofはstddef.hの定義を利用する. 73 69 */ 74 70 #define NoReturn … … 76 72 77 73 /* 78 * J«ÌWCN[ht@CÌp74 * 開発環境の標準インクルードファイルの利用 79 75 * 80 * NULL Ìè`ðstddef.h©çCINT_MAXCINT_MINCUINT_MAXCLONG_MAXC81 * LONG_MIN CULONG_MAXCCHAR_BITÌè`ðlimits.h©çæèÞD76 * NULLの定義をstddef.hから,INT_MAX,INT_MIN,UINT_MAX,LONG_MAX, 77 * LONG_MIN,ULONG_MAX,CHAR_BITの定義をlimits.hから取り込む. 82 78 * 83 * C++/EC++ ÅÍCWdlãͱêçÌCN[ht@CªpÓ³êÄ84 * ¢éÆÍÀçÈ¢ÌÅÓªKvÅ éiÙÆñÇÌJ«ÅpÓ³ê85 * Ä¢éjD79 * C++/EC++では,標準仕様上はこれらのインクルードファイルが用意されて 80 * いるとは限らないので注意が必要である(ほとんどの開発環境で用意され 81 * ている). 86 82 */ 87 83 #ifndef TOPPERS_MACRO_ONLY … … 92 88 93 89 /* 94 * RpC˶Ìf[^^Ìè`90 * コンパイラ依存のデータ型の定義 95 91 * 96 * stdint.h ðCN[h·é92 * stdint.hをインクルードする 97 93 */ 98 94 #ifndef TOPPERS_MACRO_ONLY … … 102 98 103 99 /* 104 * ®¬_^ÉÖ·éè`100 * 浮動小数点型に関する定義 105 101 * 106 * ºLÌè`Ídbl_size = 8IvVðwèµ½êÌÝLøÆ·é±Æ.102 * 下記の定義はdbl_size = 8オプションを指定した場合のみ有効とすること. 107 103 */ 108 104 #ifndef TOPPERS_MACRO_ONLY 109 typedef float float32_t; /* IEEE754 ÌP¸x®¬_*/110 typedef double double64_t; /* IEEE754 Ì{¸x®¬_*/105 typedef float float32_t; /* IEEE754準拠の単精度浮動小数点数 */ 106 typedef double double64_t; /* IEEE754準拠の倍精度浮動小数点数 */ 111 107 #endif /* TOPPERS_MACRO_ONLY */ 112 108 … … 118 114 119 115 /* 120 * óxÌè`116 * 空ラベルの定義 121 117 * 122 * {RpCÅÍ嫳[ÌzñÍRpCG[ÉÈé½ß,123 * TCY1ÉÄè`·é.118 * 本コンパイラでは大きさゼロの配列はコンパイルエラーになるため, 119 * サイズ1にて定義する. 124 120 */ 125 121 #define TOPPERS_EMPTY_LABEL( type, symbol ) type symbol[ 1 ] -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/arch/rx630_ccrx/makeoffset.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 7 7 * Copyright (C) 2008-2010 by Witz Corporation, JAPAN 8 8 * 9 * ãLì ÒÍCÈºÌ (1)`(4) Ìð©CFree Software Foundation 10 * ÉæÁÄö\³êÄ¢é GNU General Public License Ì Version 2 ÉL 11 * q³êÄ¢éðð½·êÉÀèC{\tgEFAi{\tgEFA 12 * ðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»EüÏEÄzziȺC 13 * pÆÄÔj·é±Æð³Åø·éD 14 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 15 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 16 * XR[hÉÜÜêÄ¢é±ÆD 17 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 18 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 19 gip 20 * Ò}j 21 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 22 * ̳ÛØKèðfÚ·é±ÆD 23 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 24 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 25 * ÆD 26 * (a) Äzzɺ¤hL 27 gipÒ}j 28 AÈÇjÉCãLÌ 29 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 30 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 31 * ñ·é±ÆD 32 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 33 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 34 * 35 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨ 36 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄC»ÌKpÂ\«à 37 * ÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEFAÌpÉæè¼ 38 * ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»ÌÓCðíÈ¢D 9 * 上記著作権者は,以下の (1)〜(4) の条件か,Free Software Foundation 10 * によって公表されている GNU General Public License の Version 2 に記 11 * 述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア 12 * を改変したものを含む.以下同じ)を使用・複製・改変・再配布(以下, 13 * 利用と呼ぶ)することを無償で許諾する. 14 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 15 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 16 * スコード中に含まれていること. 17 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 18 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 19 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 20 * の無保証規定を掲載すること. 21 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 22 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 23 * と. 24 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 25 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 26 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 27 * 報告すること. 28 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 29 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 30 * 31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 33 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 34 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 39 35 * 40 36 */ … … 42 38 43 39 /* 44 * offset.inc ( àµÍ offset.h) É¢Ä45 * 46 * offset.inc Í\¢ÌÌÁèÌvfª\¢ÌÌ檩ç½oCgÚÉ47 * ¶Ý·é©Æ¢¤±Æâ, ÁèÌrbgtB[hªæª©ç48 * ½oCgæ̽rbgÚɶݷé©, Æ¢¤îñð49 * AZu¾êt@CÉ^¦é½ßɶݵĢé.50 * 51 * offset.inc t@CÌgÍ, PÈéV{è`t@CÅ é.52 * V{Æ¢ÁÄàè`·éV{̼ÌÉÍp^[ª è,53 * 嫪¯ÄÌ3íÞɪÞÅ«é.54 * 55 * < \¢Ì¼>_<vf¼> (á) TCB_sp, TCB_pc, TCB_enatex ÈÇ56 * < \¢Ì¼>_<vf¼>_bit (á) TCB_enatex_bit ÈÇ57 * < \¢Ì¼>_<vf¼>_mask (á) TCB_enatex_mask ÈÇ58 * 59 * ( á)40 * offset.inc (もしくは offset.h) について 41 * 42 * offset.inc は構造体の特定の要素が構造体の先頭から何バイト目に 43 * 存在するかということや, 特定のビットフィールドが先頭から 44 * 何バイト先の何ビット目に存在するか, という情報を 45 * アセンブリ言語ファイルに与えるために存在している. 46 * 47 * offset.inc ファイルの中身は, 単なるシンボル定義ファイルである. 48 * シンボルといっても定義するシンボルの名称にはパターンがあり, 49 * 大きく分けて次の3種類に分類できる. 50 * 51 * <構造体名>_<要素名> (例) TCB_sp, TCB_pc, TCB_enatex など 52 * <構造体名>_<要素名>_bit (例) TCB_enatex_bit など 53 * <構造体名>_<要素名>_mask (例) TCB_enatex_mask など 54 * 55 * (例) 60 56 * TCB_texptn .equ 14 61 57 * TCB_sp .equ 20 … … 65 61 * TCB_enatex_mask .equ 0040H 66 62 * 67 * êÔͶßÍÁèÌvfª\¢ÌÌ檩ç½oCgæÉ é©68 * Æ¢¤±Æð¦·lɯéx̼Ì.69 * ñÔÚÍÁèÌrbgtB[hÌrbgª, ºÊ©ç¦Ä70 * ½rbgÚÉ é©Æ¢¤±Æð¦·lɯéx̼Ì.71 * 0 ©çnÜélÅ\»·é. ÅàºÊÌrbgÍæ0rbgÅ é.72 * OÔÚÍæÙÇÌ <\¢Ì¼>_<vf¼>_bit ÆàÖA·éª,73 * ÁèÌrbgtB[hÌrbgÌ}XNl̼Ì.74 * _bit Æ *_mask ÌlÌÔÉÍÌÖWª é.63 * 一番はじめは特定の要素が構造体の先頭から何バイト先にあるか 64 * ということを示す数値につけるラベルの名称. 65 * 二番目は特定のビットフィールド中のビットが, 下位から数えて 66 * 何ビット目にあるかということを示す数値につけるラベルの名称. 67 * 0から始まる数値で表現する. 最も下位のビットは第0ビットである. 68 * 三番目は先ほどの <構造体名>_<要素名>_bit とも関連するが, 69 * 特定のビットフィールド中のビットのマスク値の名称. 70 * _bit と *_mask の値の間には次の関係がある. 75 71 * (*_mask) == (1 << *_bit) 76 * * ( á) TCB_enatex_bit ª 6 Ì, TCB_enatex_mask Í40H77 * 78 * ¿ÈÝÉM32C˶ÌÀÅÍ, ÁèrbgÌ`FbNÈÇÉ79 * rbg½ßAhbVOðgpµÄ¢éÌÅ *_mask Æ¢¤xÍ80 * gpµÄ¢È¢.72 * * (例) TCB_enatex_bit が 6 の時, TCB_enatex_mask は 40H 73 * 74 * ちなみにM32C依存部の実装では, 特定ビットのチェックなどに 75 * ビット命令アドレッシングを使用しているので *_mask というラベルは 76 * 使用していない. 81 77 */ 82 78 83 79 /* 84 * offset.inc Ììèû(M32C^[Qbg˶ü¯) 85 * 86 * GNU CRpCðp¢Ä¢é^[Qbg˶É¢ÄÍ, 87 * J[lÌgbvfBNgÌºÉ é util Æ¢¤fBNgÌ 88 * ºÉ genoffset Æ¢¤ perl XNvgªpÓ³êÄ¢éÌÅ, 89 * ÁÉè®Å offset.h ð쬷éKvÍÈ¢. 90 * genoffset Í GNU J«ðzèµÄ쬳êÄ¢éÌÅ, 91 * ¶¬³êéAZu¾ê^½ßⶬK¥ÌÙÈé¼Ì 92 * CRpCÉÍ»ÌÜÜKpÅ«È¢Â\«ª é. 93 * »±Å, ±±ÅÍWindows« ü¯Ì genoffset ðpÓ¹¸, 94 * ìèûð±±ÉLµ, èìÆÅ offset.inc ð쬵Äà礱ÆÆ 95 * ·é. ȺɻÌû@ð¦·. Ȩ, ±Ìû@ÍM32CÌJ«â 96 * ½ßZbgÉ˶µÄ¢é½ß, ¼Ì^[QbgðgpµÄ¢éêÍ 97 * »ÌÜÜKpÅ«È¢. 98 * 99 * 1. makeoffset.c Æ¢¤t@C©çCRpCðgpµÄ 100 * AZu¾êt@C makeoffset.a30 𶬷é. 101 * RpCIvVÍJ[lR[hÉ^¦éàÌƯ¶ 102 * àÌð^¦é. 103 * lTX»c[ TM ðgpµÄ¢éêÍ, vWFNgGfB^Ì 104 * ¶¬èr 105 [©ç makeoffset.a30 ðIÑ, ENbNj 106 [Ì 107 * ¢ªrh£ðIð·é±ÆŶ¬Å«é. 108 * àµÍR}hvvgÅCNt@CƯ¶fBNgÉ 109 * Ú®µ, "make -f CNt@C¼ makeoffset.a30" ð 110 * ÀsµÄà¯lÌʪ¾çêé. (CNt@CÍTMªgpµÄ 111 * ¢éàÌƯ¶t@CðwèÂ\) 112 * 113 * 2. æÙÇÌ 1. ÌìÆžçê½, makeoffset.a30 t@C©ç 114 * "! BEGIN XXXX" ÅͶÜè "! END" ÅIíÁÄ¢éªðT·. 115 * 116 * 4Ó è, »ê¼êµ¸ÂÙÈéÌÅÉྷé. 117 * (Ⱥ, à¾ÅÍAZu¾êt@CÌRgsÍÈ) 118 * 119 * (1) \¢ÌÌ檩çoÖÌItZbg 80 * offset.inc の作り方(M32Cターゲット依存部向け) 81 * 82 * GNU Cコンパイラを用いているターゲット依存部については, 83 * カーネルのトップディレクトリの下にある util というディレクトリの 84 * 下に genoffset という perl スクリプトが用意されているので, 85 * 特に手動で offset.h を作成する必要はない. 86 * genoffset は GNU 開発環境を想定して作成されているので, 87 * 生成されるアセンブリ言語疑似命令や生成規則の異なる他の 88 * Cコンパイラにはそのまま適用できない可能性がある. 89 * そこで, ここではWindows環境 向けの genoffset を用意せず, 90 * 作り方をここに記し, 手作業で offset.inc を作成してもらうことと 91 * する. 以下にその方法を示す. なお, この方法はM32Cの開発環境や 92 * 命令セットに依存しているため, 他のターゲットを使用している場合は 93 * そのまま適用できない. 94 * 95 * 1. makeoffset.c というファイルからCコンパイラを使用して 96 * アセンブリ言語ファイル makeoffset.a30 を生成する. 97 * コンパイルオプションはカーネルコードに与えるものと同じ 98 * ものを与える. 99 * ルネサス製ツール TM を使用している場合は, プロジェクトエディタの 100 * 生成手順ビューから makeoffset.a30 を選び, 右クリックメニューの 101 * 「部分ビルド」を選択することで生成できる. 102 * もしくはコマンドプロンプトでメイクファイルと同じディレクトリに 103 * 移動し, "make -f メイクファイル名 makeoffset.a30" を 104 * 実行しても同様の結果が得られる. (メイクファイルはTMが使用して 105 * いるものと同じファイルを指定可能) 106 * 107 * 2. 先ほどの 1. の作業で得られた, makeoffset.a30 ファイルから 108 * "! BEGIN XXXX" ではじまり "! END" で終わっている部分を探す. 109 * 110 * 4箇所あり, それぞれ少しずつ異なるので順に説明する. 111 * (以下, 説明中ではアセンブリ言語ファイルのコメント行は省く) 112 * 113 * (1) 構造体の先頭からメンバへのオフセット 120 114 * 121 115 * ! BEGIN TCB_texptn … … 123 117 * ! END 124 118 * 125 * ãL"! BEGIN"Ìãë̶ñªoffset.incÅè`·éV{¼ÆÈé.126 * »ÌV{ÌlÍ, sÌbset½ßÌæ2IyhÌlÅ é127 * 0000000eH ª»êÉ·é. ±êª\¢ÌÌ檩çtexptnÜÅÌ128 * ItZbglÆÈé. µ½ªÁıÌê, offset.inc ÉÍ119 * 上記"! BEGIN"の後ろの文字列がoffset.incで定義するシンボル名となる. 120 * そのシンボルの値は, 次行のbset命令の第2オペランドの値である 121 * 0000000eHがそれに相当する. これが構造体の先頭からtexptnまでの 122 * オフセット値となる. したがってこの場合, offset.inc には 129 123 * TCB_texptn .equ 14 130 * Æ¢¤sðLq·é.131 * 132 * (2) \¢ÌÌoª\¢ÌÅ, »ÌÌoÉηéItZbg133 * 134 * TCB_sp É¢ÄàÙÚ¯l¾ª, sp ÍTCB\¢Ì̼ÚÌ135 * oÅÈTCB\¢ÌÌoÅ éTSKCTXB\¢ÌÌoÅ136 * é_ªÙÈé. »êÅàè`·éV{¼ÆµÄÍ137 * TCB_sp Ìæ¤É\»·é. AZu¾êt@CÅÍ124 * という行を記述する. 125 * 126 * (2) 構造体のメンバが構造体で, その中のメンバに対するオフセット 127 * 128 * TCB_sp についてもほぼ同様だが, sp はTCB構造体の直接の 129 * メンバでなくTCB構造体のメンバであるTSKCTXB構造体のメンバで 130 * ある点が異なる. それでも定義するシンボル名としては 131 * TCB_sp のように表現する. アセンブリ言語ファイルでは 138 132 * 139 133 * ! BEGIN TCB_sp … … 145 139 * ! END * 146 140 * 147 * Ìæ¤ÉÈè,14H(=20) ªßélÈÌÅoffset.inc ÉÍÌæ¤É148 * Lq·é.141 * のようになり,14H(=20) が求める値なのでoffset.inc には次のように 142 * 記述する. 149 143 * 150 144 * TCB_sp .equ 20 151 145 * 152 * (3) oªÖÖÌ|C^Å Á½ê153 * 154 * Í TCB_pc Ìê.146 * (3) メンバが関数へのポインタであった場合 147 * 148 * 次は TCB_pc の場合. 155 149 * 156 150 * ! BEGIN TCB_pc … … 159 153 * ! END 160 154 * 161 * pc à sp Ư¶, TCB\¢Ì̼ÚÌoÅÍÈ¢ª162 * TCB_pc Æ\»µÄ¢é. ±êÍÖÌAhXði[·éÏÈÌÅ,155 * pc も sp と同じく, TCB構造体の直接のメンバではないが 156 * TCB_pc と表現している. これは関数のアドレスを格納する変数なので, 163 157 * (((TCB *)0)->tskctxb.pc)(); 164 * ƵÄÖÄÑoµÌæ¤ÉLq·éÆãLÌæ¤ÈAZu¾ê165 * R[hðoÍ·é. V{è`·éÛÌV{¼Í¡ÜÅÆ166 * ¯¶, TCB_pc Æ·é.167 * ßélÍ\¢Ì©çÖ|C^ÜÅÌItZbgÅ è, ãÌmov.l168 * ½ßÌÊ©ç 00000018H(=24) ÆÈé.169 * µ½ªÁÄ, offset.inc ÉÍÌæ¤ÉLq·é.158 * として関数呼び出しのように記述すると上記のようなアセンブリ言語 159 * コードを出力する. シンボル定義する際のシンボル名は今までと 160 * 同じく, TCB_pc とする. 161 * 求める値は構造体から関数ポインタまでのオフセットであり, 上のmov.l 162 * 命令の結果から 00000018H(=24) となる. 163 * したがって, offset.inc には次のように記述する. 170 164 * 171 165 * TCB_pc .equ 24 172 166 * 173 * (4) \¢ÌÌoªrbgtB[hÅ»ÌrbgÊuàmè½¢ê167 * (4) 構造体のメンバがビットフィールドでそのビット位置も知りたい場合 174 168 * 175 169 * ! BEGIN TCB_enatex … … 177 171 * ! END 178 172 * 179 * ¡ÜÅƯl, BEGIN Ìã̶ñðV{¼Æ·é.180 * ±±ÅÌTCB_enatexÌlÍ\¢ÌÌ檩çrbgtB[hðÜÞo181 * CgÜÅÌItZbgÅ, M32CÌrbg½ßAhbVOÍwèÅ«182 * érbgÊuª0©ç7ÌÔÉûÜéæ¤ÉANZX·éAhXÉK183 * ªÁ¦çêéÌÅ cH+1(=13) ÆÈÁÄ¢é. ܽ, rbgtB[h184 * ÌźÊrbg©çÌrbgÊuÍ 6ÆÈé.185 * ÈãæèÌæ¤É±ÆªÅ«é.173 * 今までと同様, BEGIN の後の文字列をシンボル名とする. 174 * ここでのTCB_enatexの値は構造体の先頭からビットフィールドを含むバ 175 * イトまでのオフセットで, M32Cのビット命令アドレッシングは指定でき 176 * るビット位置が0から7の間に収まるようにアクセスするアドレスに適当 177 * 数が加えられるので cH+1(=13) となっている. また, ビットフィールド 178 * 中の最下位ビットからのビット位置は 6となる. 179 * 以上より次のように書くことができる. 186 180 * 187 181 * TCB_enatex .equ 13 -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/arch/rx630_ccrx/prc.tf
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 6 6 $ Copyright (C) 2013 by Mitsuhiro Matsuura 7 7 $ 8 $ ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 9 $ Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 10 $ ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 11 $ (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 12 $ \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 13 $ XR[hÉÜÜêÄ¢é±ÆD 14 $ (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 15 $ pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 16 gip 17 $ Ò}j 18 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 19 $ ̳ÛØKèðfÚ·é±ÆD 20 $ (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 21 $ pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 22 $ ÆD 23 $ (a) Äzzɺ¤hL 24 gipÒ}j 25 AÈÇjÉCãLÌ 26 $ ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 27 $ (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 28 $ ñ·é±ÆD 29 $ (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 30 $ Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 31 $ ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 32 $ RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 33 $ ÆÓ·é±ÆD 34 $ 35 $ {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨ 36 $ æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI 37 $ ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF 38 $ AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC» 39 $ ÌÓCðíÈ¢D 40 $ 41 $ 42 43 $ 44 $ A[LeN`˶ev[giRX630pj 45 $ 46 47 48 49 $ 50 $ ATT_ISRÅgpÅ«éÝÔÆ»êÉηéÝnhÔ 8 $ 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 9 $ ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 $ 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 $ (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 $ 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 $ スコード中に含まれていること. 14 $ (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 $ 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 $ 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 $ の無保証規定を掲載すること. 18 $ (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 $ 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 $ と. 21 $ (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 $ 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 $ (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 $ 報告すること. 25 $ (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 $ 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 $ また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 $ 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 $ 免責すること. 30 $ 31 $ 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 $ よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 $ に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 $ アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 $ の責任を負わない. 36 $ 37 $ 38 39 $ 40 $ アーキテクチャ依存テンプレート(RX630用) 41 $ 42 43 44 45 $ 46 $ ATT_ISRで使用できる割込み番号とそれに対応する割込みハンドラ番号 51 47 $ 52 48 … … 56 52 57 53 $ 58 $ DEF_INT ^DEF_EXCÅgpÅ«éÝnhÔ^CPUáOnhÔ54 $ DEF_INT/DEF_EXCで使用できる割込みハンドラ番号/CPU例外ハンドラ番号 59 55 $ 60 56 … … 64 60 65 61 $ 66 $ CFG_INT ÅgpÅ«éÝÔÆÝDæx62 $ CFG_INTで使用できる割込み番号と割込み優先度 67 63 $ 68 64 … … 72 68 73 69 $ 74 $ ^[Qbgñ˶ÉÜÜêéWÌÝÇ@\/áOÇ@\Ìú»ðgp·é70 $ ターゲット非依存部に含まれる標準の割込み管理機能/例外管理機能の初期化処理を使用する 75 71 $ 76 72 … … 80 76 81 77 $ 82 $ X^bNTCYÌ`FbNû@wè78 $ スタックサイズのチェック方法指定 83 79 $ 84 80 … … 87 83 88 84 $ 89 $ ^XNX^bNTCYÌŬl90 $ 91 $ ^XNN®É4byte,92 $ ÝüûÉÄ48byte, CPUáOüûÉÄ84byte,93 $ Å é½ß, ŬlÍ88byteÆ·é.85 $ タスクスタックサイズの最小値 86 $ 87 $ タスク起動時に4byte, 88 $ 割込み入口処理にて48byte, CPU例外入口処理にて84byte, 89 $ であるため, 最小値は88byteとする. 94 90 $ 95 91 … … 98 94 99 95 $ 100 $ èè`96 $ 定数定義 101 97 $ 102 98 … … 105 101 106 102 $ 107 $ ^[Qbg˶ÌÝ®«Ìè`103 $ ターゲット依存の割込み属性の定義 108 104 $ 109 105 … … 112 108 113 109 $ 114 $ ^[Qbg˶ÌÝnh®«Ìè`110 $ ターゲット依存の割込みハンドラ属性の定義 115 111 $ 116 112 … … 119 115 120 116 $ 121 $ J[lÇOÝnhÍÅ賹Ȣ½ß,117 $ カーネル管理外割込みハンドラは固定させないため, 122 118 $ INTNO_FIX_KERNEL 123 119 $ INHNO_FIX_KERNEL 124 120 $ INHNO_FIX_NONKERNEL 125 121 $ INHNO_FIX_NONKERNEL 126 $ ðè`µÈ¢.127 $ 128 129 130 $ 131 $ Wev[gt@CÌCN[h122 $ を定義しない. 123 $ 124 125 126 $ 127 $ 標準テンプレートファイルのインクルード 132 128 $ 133 129 $INCLUDE "kernel.tf"$ … … 136 132 137 133 $ 138 $ CFG_INT Ì^[Qbg˶ÌG[`FbN134 $ CFG_INTのターゲット依存のエラーチェック 139 135 $ 140 136 141 137 $FOREACH intno INT.ORDER_LIST$ 142 $ IRQ ÝԩǤ©ð`FbN138 $ IRQ割込み番号かどうかをチェック 143 139 $IF ( LENGTH( FIND( INTNO_INT, INT.INTNO[intno] ) ) != 0 )$ 144 140 145 $ TA_POSEDGE ÆTA_NEGEDGEª¯ÉÝè³êÄ¢éê141 $ TA_POSEDGEとTA_NEGEDGEが同時に設定されている場合 146 142 $IF ((INT.INTATR[intno] & ( TA_POSEDGE | TA_NEGEDGE )) == ( TA_POSEDGE | TA_NEGEDGE ))$ 147 143 $ERROR$ INT.TEXT_LINE[intno]:$FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "intatr", INT.INTATR[intno], INT.INTNO[intno], "CFG_INT")$$END$ 148 144 $END$ 149 145 150 $ TA_POSEDGE ÆTA_BOTHEDGEª¯ÉÝè³êÄ¢éê146 $ TA_POSEDGEとTA_BOTHEDGEが同時に設定されている場合 151 147 $IF ((INT.INTATR[intno] & ( TA_POSEDGE | TA_BOTHEDGE )) == ( TA_POSEDGE | TA_BOTHEDGE ))$ 152 148 $ERROR$ INT.TEXT_LINE[intno]:$FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "intatr", INT.INTATR[intno], INT.INTNO[intno], "CFG_INT")$$END$ 153 149 $END$ 154 150 155 $ TA_NEGEDGE ÆTA_BOTHEDGEª¯ÉÝè³êÄ¢éê151 $ TA_NEGEDGEとTA_BOTHEDGEが同時に設定されている場合 156 152 $IF ((INT.INTATR[intno] & ( TA_NEGEDGE | TA_BOTHEDGE )) == ( TA_NEGEDGE | TA_BOTHEDGE ))$ 157 153 $ERROR$ INT.TEXT_LINE[intno]:$FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "intatr", INT.INTATR[intno], INT.INTNO[intno], "CFG_INT")$$END$ 158 154 $END$ 159 155 160 $ TA_POSEDGE ÆTA_NEGEDGEÆTA_BOTHEDGEª¯ÉÝè³êÄ¢éê156 $ TA_POSEDGEとTA_NEGEDGEとTA_BOTHEDGEが同時に設定されている場合 161 157 $IF ((INT.INTATR[intno] & ( TA_POSEDGE | TA_NEGEDGE | TA_BOTHEDGE )) == ( TA_POSEDGE | TA_NEGEDGE | TA_BOTHEDGE ))$ 162 158 $ERROR$ INT.TEXT_LINE[intno]:$FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "intatr", INT.INTATR[intno], INT.INTNO[intno], "CFG_INT")$$END$ … … 165 161 $ELSE$ 166 162 167 $ IRQ ÝÈOÌÝÉεÄÝ®«ªwè³êÄ¢éê163 $ IRQ割込み以外の割込みに対して割込み属性が指定されている場合 168 164 $IF (INT.INTATR[intno] & (~( TA_ENAINT | TA_EDGE ))) != 0$ 169 165 $ERROR$ INT.TEXT_LINE[intno]: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "intatr", INT.INTATR[intno], INT.INTNO[intno], "CFG_INT")$$END$ … … 177 173 178 174 $ 179 $ ÝÔ©çÝDæxyÑ®«ðæèo·e[u175 $ 割込み番号から割込み優先度及び属性を取り出すテーブル 180 176 $ 181 177 … … 185 181 const CFG_INT_INFO _kernel_cfg_int_table[$LENGTH(INTNO_RANGE)$] = {$NL$ 186 182 $FOREACH intno INTNO_RANGE$ 187 $ ÝDæxðæ¾183 $ 割込み優先度を取得 188 184 $IF LENGTH(INT.INTNO[intno])$ 189 185 $intpri = -INT.INTPRI[intno]$ … … 194 190 $END$ 195 191 196 $ e[uÌgðoÍ192 $ テーブルの中身を出力 197 193 $TAB$$FORMAT("{ %2d, %08x }, /* %02u */", intpri, intatr, +intno)$$NL$ 198 194 $END$ … … 201 197 202 198 $ 203 $ AZuoÍt@C199 $ アセンブラ出力ファイル 204 200 $ 205 201 … … 207 203 208 204 ;$NL$ 209 ; RX630 A[LeN`˶oÍt@C$NL$210 ;$NL$ 211 ; ÝxN^yÑÝnhè`$NL$205 ; RX630アーキテクチャ依存出力ファイル$NL$ 206 ;$NL$ 207 ; 割込みベクタ及び割込みハンドラ定義$NL$ 212 208 ;$NL$ 213 209 $NL$$NL$ … … 215 211 216 212 $ 217 $ Ýüû218 $ 219 220 $ 221 $ ¤ÊÖÌé¾213 $ 割込み入口処理 214 $ 215 216 $ 217 $ 共通関数の宣言 222 218 $ 223 219 … … 229 225 230 226 $ 231 $ ÝnhÌoÍ227 $ 割込みハンドラの出力 232 228 $ 233 229 … … 238 234 $TAB$.glb __kernel_$INH.INTHDR[inhno]$_$+INH.INHNO[inhno]$_entry$NL$ 239 235 __kernel_$INH.INTHDR[inhno]$_$+INH.INHNO[inhno]$_entry:$NL$ 240 $TAB$pushm r1-r5 ; XNb`WX^ð^XNX^bNÖÞð$NL$241 $TAB$mov.l #$+INH.INHNO[inhno]$, r1 ; ÝnhÔðr1Ö$NL$242 $TAB$mov.l #_$INH.INTHDR[inhno]$, r2 ; nhÌAhXðr2Ö$NL$243 $TAB$bra.a _kernel_interrupt ; ¤Ê[`Ö$NL$$NL$$NL$244 $END$ 245 $END$ 246 $END$ 247 248 249 $ ¢o^Ýnhüû236 $TAB$pushm r1-r5 ; スクラッチレジスタをタスクスタックへ退避 $NL$ 237 $TAB$mov.l #$+INH.INHNO[inhno]$, r1 ; 割込みハンドラ番号をr1へ $NL$ 238 $TAB$mov.l #_$INH.INTHDR[inhno]$, r2 ; ハンドラのアドレスをr2へ $NL$ 239 $TAB$bra.a _kernel_interrupt ; 共通ルーチンへ $NL$$NL$$NL$ 240 $END$ 241 $END$ 242 $END$ 243 244 245 $ 未登録割込みハンドラ入口処理 250 246 $TAB$.glb$TAB$__kernel_default_int_handler_entry$NL$ 251 247 __kernel_default_int_handler_entry:$NL$ 252 $TAB$pushm r1-r5 ; XNb`WX^ð^XNX^bNÖÞð$NL$253 $TAB$mov.l #0FFFFFFFFH, r1 ; ÝnhÔðr1Ö$NL$254 $TAB$mov.l #__kernel_default_int_handler, r2 ; nhÌAhXðr2Ö$NL$255 $TAB$bra.a _kernel_interrupt ; ¤Ê[`Ö$NL$$NL$$NL$256 257 258 $ 259 $ CPU áOnhüû248 $TAB$pushm r1-r5 ; スクラッチレジスタをタスクスタックへ退避 $NL$ 249 $TAB$mov.l #0FFFFFFFFH, r1 ; 割込みハンドラ番号をr1へ $NL$ 250 $TAB$mov.l #__kernel_default_int_handler, r2 ; ハンドラのアドレスをr2へ $NL$ 251 $TAB$bra.a _kernel_interrupt ; 共通ルーチンへ $NL$$NL$$NL$ 252 253 254 $ 255 $ CPU例外ハンドラ入口処理 260 256 $ 261 257 … … 267 263 $TAB$.glb __kernel_$EXC.EXCHDR[excno]$_$+EXC.EXCNO[excno]$_entry$NL$ 268 264 __kernel_$EXC.EXCHDR[excno]$_$+EXC.EXCNO[excno]$_entry:$NL$ 269 $TAB$pushm r1-r5 ; XNb`WX^ð^XNX^bNÖÞð$NL$270 $TAB$mov.l #$+EXC.EXCNO[excno]$, r1 ; CPU áOnhÔðr1Ö$NL$271 $TAB$mov.l #_$EXC.EXCHDR[excno]$, r2 ; nhÌAhXðr2Ö$NL$272 $TAB$bra.a _kernel_exception ; ¤Ê[`Ö$NL$$NL$$NL$273 $END$ 274 $END$ 275 276 277 $ ¢o^CPUáOnhüû265 $TAB$pushm r1-r5 ; スクラッチレジスタをタスクスタックへ退避 $NL$ 266 $TAB$mov.l #$+EXC.EXCNO[excno]$, r1 ; CPU例外ハンドラ番号をr1へ $NL$ 267 $TAB$mov.l #_$EXC.EXCHDR[excno]$, r2 ; ハンドラのアドレスをr2へ $NL$ 268 $TAB$bra.a _kernel_exception ; 共通ルーチンへ $NL$$NL$$NL$ 269 $END$ 270 $END$ 271 272 273 $ 未登録CPU例外ハンドラ入口処理 278 274 $TAB$.glb$TAB$__kernel_default_exc_handler_entry$NL$ 279 275 __kernel_default_exc_handler_entry:$NL$ 280 $TAB$pushm r1-r5 ; XNb`WX^ð^XNX^bNÖÞð$NL$281 $TAB$mov.l #0FFFFFFFFH, r1 ; CPU áOnhÔðr1Ö$NL$282 $TAB$mov.l #__kernel_default_exc_handler, r2 ; nhÌAhXðr2Ö$NL$283 $TAB$bra.a _kernel_exception ; ¤Ê[`Ö$NL$$NL$$NL$284 285 286 $ 287 $ ÂÏxN^e[u288 $ 289 290 ;$NL$ 291 ; ÂÏxN^e[u$NL$276 $TAB$pushm r1-r5 ; スクラッチレジスタをタスクスタックへ退避 $NL$ 277 $TAB$mov.l #0FFFFFFFFH, r1 ; CPU例外ハンドラ番号をr1へ $NL$ 278 $TAB$mov.l #__kernel_default_exc_handler, r2 ; ハンドラのアドレスをr2へ $NL$ 279 $TAB$bra.a _kernel_exception ; 共通ルーチンへ $NL$$NL$$NL$ 280 281 282 $ 283 $ 可変ベクタテーブル 284 $ 285 286 ;$NL$ 287 ; 可変ベクタテーブル$NL$ 292 288 ;$NL$ 293 289 $NL$ … … 320 316 321 317 $ 322 $ ÅèxN^e[u318 $ 固定ベクタテーブル 323 319 $ 324 320 $FOREACH excno EXCNO_RANGE$ … … 332 328 $NL$ 333 329 ;$NL$ 334 ; ÅèxN^e[u$NL$330 ; 固定ベクタテーブル$NL$ 335 331 ;$NL$ 336 332 $NL$ … … 341 337 342 338 $TAB$ .offset$TAB$ 020H$NL$ 343 $TAB$ .lword$TAB$ 00000000 $TAB$ ; §äR[h, IDR[h1 - 3$NL$344 $TAB$ .lword$TAB$ 00000000 $TAB$ ; ID R[h4 - 7$NL$345 $TAB$ .lword$TAB$ 00000000 $TAB$ ; ID R[h8 - 11$NL$346 $TAB$ .lword$TAB$ 00000000 $TAB$ ; ID R[h12 - 15$NL$$NL$339 $TAB$ .lword$TAB$ 00000000 $TAB$ ; 制御コード, IDコード1 - 3$NL$ 340 $TAB$ .lword$TAB$ 00000000 $TAB$ ; IDコード4 - 7$NL$ 341 $TAB$ .lword$TAB$ 00000000 $TAB$ ; IDコード8 - 11$NL$ 342 $TAB$ .lword$TAB$ 00000000 $TAB$ ; IDコード12 - 15$NL$$NL$ 347 343 348 344 $TAB$ .offset$TAB$ 050H$NL$ 349 $TAB$ .lword$TAB$ _$EXCHDR[20]$ $TAB$ $TAB$ ;$SPC$ 20: Á ½ßáO$SPC$$NL$345 $TAB$ .lword$TAB$ _$EXCHDR[20]$ $TAB$ $TAB$ ;$SPC$ 20:特権命令例外 $SPC$$NL$ 350 346 $TAB$ .offset$TAB$ 05CH$NL$ 351 $TAB$ .lword$TAB$ _$EXCHDR[23]$ $TAB$ $TAB$ ;$SPC$ 23: ¢è`½ßáO$SPC$$NL$347 $TAB$ .lword$TAB$ _$EXCHDR[23]$ $TAB$ $TAB$ ;$SPC$ 23:未定義命令例外 $SPC$$NL$ 352 348 $TAB$ .offset$TAB$ 064H$NL$ 353 $TAB$ .lword$TAB$ _$EXCHDR[25]$ $TAB$ $TAB$ ;$SPC$ 25: ®¬_áO$SPC$$NL$349 $TAB$ .lword$TAB$ _$EXCHDR[25]$ $TAB$ $TAB$ ;$SPC$ 25:浮動小数点例外 $SPC$$NL$ 354 350 $TAB$ .offset$TAB$ 078H$NL$ 355 $TAB$ .lword$TAB$ _$EXCHDR[30]$ $TAB$ $TAB$ ;$SPC$ 30: m}XJuáO$SPC$$NL$356 $TAB$ .lword$TAB$ _start $TAB$ $TAB$ $TAB$ $TAB$ ;$SPC$ 31: Zbg$SPC$$NL$351 $TAB$ .lword$TAB$ _$EXCHDR[30]$ $TAB$ $TAB$ ;$SPC$ 30:ノンマスカブル例外 $SPC$$NL$ 352 $TAB$ .lword$TAB$ _start $TAB$ $TAB$ $TAB$ $TAB$ ;$SPC$ 31:リセット $SPC$$NL$ 357 353 358 354 $NL$ $NL$ -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/arch/rx630_ccrx/prc_asm_config.tf
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 1 1 $ 2 $ asm_config.inc ¶¬p3 $ pX2ÌA[LeN`˶ev[giRX630pj2 $ asm_config.inc 生成用 3 $ パス2のアーキテクチャ依存テンプレート(RX630用) 4 4 $ 5 5 -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/arch/rx630_ccrx/prc_cfg1_out.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 1 1 /* 2 * cfg1_out.c ÌNÉKvÈX^uÌè`2 * cfg1_out.cのリンクに必要なスタブの定義 3 3 */ 4 4 -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/arch/rx630_ccrx/prc_check.tf
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 5 5 $ Copyright (C) 2008-2010 by Witz Corporation, JAPAN 6 6 $ 7 $ ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 8 $ Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 9 $ ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 10 $ (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 11 $ \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 12 $ XR[hÉÜÜêÄ¢é±ÆD 13 $ (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 14 $ pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 15 gip 16 $ Ò}j 17 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 18 $ ̳ÛØKèðfÚ·é±ÆD 19 $ (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 20 $ pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 21 $ ÆD 22 $ (a) Äzzɺ¤hL 23 gipÒ}j 24 AÈÇjÉCãLÌ 25 $ ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 26 $ (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 27 $ ñ·é±ÆD 28 $ (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 29 $ Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 30 $ ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 31 $ RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 32 $ ÆÓ·é±ÆD 7 $ 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 8 $ ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 9 $ 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 10 $ (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 11 $ 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 12 $ スコード中に含まれていること. 13 $ (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 14 $ 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 15 $ 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 16 $ の無保証規定を掲載すること. 17 $ (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 18 $ 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 19 $ と. 20 $ (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 21 $ 作権表示,この利用条件および下記の無保証規定を掲載すること. 22 $ (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 23 $ 報告すること. 24 $ (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 25 $ 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 26 $ また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 27 $ 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 28 $ 免責すること. 33 29 $ 34 $ {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨35 $ æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI36 $ ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF37 $ AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»38 $ ÌÓCðíÈ¢D30 $ 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 31 $ よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 32 $ に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 33 $ アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 34 $ の責任を負わない. 39 35 $ 40 36 41 37 $ 42 $ pX3ÌvZbT˶ev[giRX630pj38 $ パス3のプロセッサ依存テンプレート(RX630用) 43 39 $ 44 40 45 41 $ 46 $ `FbNû@Ìwè42 $ チェック方法の指定 47 43 $ 48 44 $CHECK_FUNC_ALIGN = 1$ … … 54 50 55 51 $ 56 $ Wev[gt@CÌCN[h52 $ 標準テンプレートファイルのインクルード 57 53 $ 58 54 $INCLUDE "kernel/kernel_check.tf"$ -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/arch/rx630_ccrx/prc_config.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 9 9 * Copyright (C) 2008-2010 by Witz Corporation, JAPAN 10 10 * 11 * ãLì ÒÍCÈºÌ (1)`(4) Ìð©CFree Software Foundation 12 * ÉæÁÄö\³êÄ¢é GNU General Public License Ì Version 2 ÉL 13 * q³êÄ¢éðð½·êÉÀèC{\tgEFAi{\tgEFA 14 * ðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»EüÏEÄzziȺC 15 * pÆÄÔj·é±Æð³Åø·éD 16 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 17 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 18 * XR[hÉÜÜêÄ¢é±ÆD 19 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 20 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 21 gip 22 * Ò}j 23 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 24 * ̳ÛØKèðfÚ·é±ÆD 25 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 26 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 27 * ÆD 28 * (a) Äzzɺ¤hL 29 gipÒ}j 30 AÈÇjÉCãLÌ 31 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 32 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 33 * ñ·é±ÆD 34 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 35 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 36 * 37 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨ 38 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄC»ÌKpÂ\«à 39 * ÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEFAÌpÉæè¼ 40 * ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»ÌÓCðíÈ¢D 41 * 42 */ 43 44 /* 45 * vZbT˶W 46 [iRX630pj 11 * 上記著作権者は,以下の (1)〜(4) の条件か,Free Software Foundation 12 * によって公表されている GNU General Public License の Version 2 に記 13 * 述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア 14 * を改変したものを含む.以下同じ)を使用・複製・改変・再配布(以下, 15 * 利用と呼ぶ)することを無償で許諾する. 16 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 17 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 18 * スコード中に含まれていること. 19 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 20 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 21 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 22 * の無保証規定を掲載すること. 23 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 24 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 25 * と. 26 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 27 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 28 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 29 * 報告すること. 30 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 31 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 32 * 33 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 34 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 35 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 36 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 37 * 38 */ 39 40 /* 41 * プロセッサ依存モジュール(RX630用) 47 42 */ 48 43 … … 52 47 53 48 /* 54 * ݶñðÛ¶·éÏ49 * 割込み発生回数を保存する変数 55 50 */ 56 51 uint16_t intnest; 57 52 58 53 /* 59 * CPU bNtOÀ»Ì½ßÌÏ54 * CPUロックフラグ実現のための変数 60 55 */ 61 56 #if TIPM_LOCK != -15 62 bool_t lock_flag; /* CPU bNtOÌlðÛ·éÏ*/63 uint32_t saved_ipl; /* ÝDæxxðÛ¶·éÏ*/57 bool_t lock_flag; /* CPUロックフラグの値を保持する変数 */ 58 uint32_t saved_ipl; /* 割込み優先度レベルを保存する変数 */ 64 59 #endif /* TIPM_LOCK != -15 */ 65 60 66 61 67 62 /* 68 * vZbT˶Ìú»63 * プロセッサ依存の初期化 69 64 */ 70 65 void … … 72 67 { 73 68 /* 74 * ݶñÌú»75 * 76 * X^[gAbvÍSÝbNóÔ & ñ^XNReLXg77 * ÉÄ®ì·é½ß, ñ^XNReLXgÉU·é.69 * 割込み発生回数の初期化 70 * 71 * スタートアップは全割込みロック状態 & 非タスクコンテキスト 72 * にて動作するため, 非タスクコンテキストに偽装する. 78 73 */ 79 74 intnest = 1U; … … 81 76 #if TIPM_LOCK != -15 82 77 /* 83 * CPU bNtOÀ»Ì½ßÌÏÌú»78 * CPUロックフラグ実現のための変数の初期化 84 79 */ 85 80 lock_flag = true; … … 90 85 91 86 /* 92 * vZbT˶ÌI¹87 * プロセッサ依存の終了処理 93 88 */ 94 89 void … … 96 91 { 97 92 /* 98 * ÁÉKvÈÍÈ¢99 */ 100 } 101 102 103 /* 104 * CPU áO̶óµÌOoÍ93 * 特に必要な処理はない 94 */ 95 } 96 97 98 /* 99 * CPU例外の発生状況のログ出力 105 100 * 106 * CPU áOnhÌ©çCCPUáOîñ|C^ip_excinfjðøƵ107 * ÄÄÑo·±ÆÅCCPUáO̶óµðVXeOÉoÍ·éD101 * CPU例外ハンドラの中から,CPU例外情報ポインタ(p_excinf)を引数とし 102 * て呼び出すことで,CPU例外の発生状況をシステムログに出力する. 108 103 */ 109 104 #ifdef SUPPORT_XLOG_SYS … … 136 131 137 132 /* 138 * ÝvCÌ®«ÌÝè133 * 割込み要求ラインの属性の設定 139 134 * 140 * ASP J[lÅÌpðzèµÄCp[^G[ÍAT[VÅ`Fb141 * NµÄ¢éDcfg_intT[rXR[ðݯéêÉÍCG[ðÔ·æ¤142 * ɷ׫Šë¤D135 * ASPカーネルでの利用を想定して,パラメータエラーはアサーションでチェッ 136 * クしている.cfg_intサービスコールを設ける場合には,エラーを返すよう 137 * にすべきであろう. 143 138 */ 144 139 void … … 161 156 162 157 /* 163 * ÝÌ}XN164 * 165 * Ýðó¯t¯½ÜÜCxgK^GbWgKÌÝèâC166 * ÝDæxÌÝèðs¤ÌÍë¯È½ßCÝ®«É©©íç¸C167 * êU}XN·éD158 * 割込みのマスク 159 * 160 * 割込みを受け付けたまま,レベルトリガ/エッジトリガの設定や,割 161 * 込み優先度の設定を行うのは危険なため,割込み属性にかかわらず, 162 * 一旦マスクする. 168 163 */ 169 164 ( void )x_disable_int( intno ); 170 165 171 166 /* 172 * xgK/GbWgKÌÝè173 * 174 * IRQ ÌÝT|[g·é167 * レベルトリガ/エッジトリガの設定 168 * 169 * IRQのみサポートする 175 170 */ 176 171 if( INTNO_IRQ( intno ) != 0U ){ … … 191 186 else{ 192 187 /* 193 * RtBM 194 [^ÉÄ`FbNµÄ¢é½ß, 195 * ±±Öé±ÆÍ è¦È¢. 188 * コンフィギュレータにてチェックしているため, 189 * ここへくることはありえない. 196 190 */ 197 191 irq_val = 0U; … … 202 196 203 197 /* 204 * ÝxÌÝè205 * 206 * ÝÔÉε½IPRlðÝè·é.198 * 割込みレベルの設定 199 * 200 * 割込み番号に対応したIPR値を設定する. 207 201 */ 208 202 sil_wrb_mem((uint8_t *)ipr_reg_addr[intno], cfg_int_table[intno].intpri); 209 203 210 204 /* 211 * ÝÌ}XNð205 * 割込みのマスク解除 212 206 */ 213 207 if( ( intatr & TA_ENAINT ) != 0U ){ … … 219 213 #ifndef OMIT_DEFAULT_INT_HANDLER 220 214 /* 221 * ¢o^Ìݪ¶µ½êÉÄÑo³êé215 * 未登録の割込みが発生した場合に呼び出される 222 216 */ 223 217 void … … 230 224 #ifndef OMIT_DEFAULT_EXC_HANDLER 231 225 /* 232 * ¢o^ÌáOª¶µ½êÉÄÑo³êé226 * 未登録の例外が発生した場合に呼び出される 233 227 */ 234 228 void -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/arch/rx630_ccrx/prc_config.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 10 10 * Copyright (C) 2013 by Mitsuhiro Matsuura 11 11 * 12 * ãLì ÒÍCÈºÌ (1)`(4) Ìð©CFree Software Foundation 13 * ÉæÁÄö\³êÄ¢é GNU General Public License Ì Version 2 ÉL 14 * q³êÄ¢éðð½·êÉÀèC{\tgEFAi{\tgEFA 15 * ðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»EüÏEÄzziȺC 16 * pÆÄÔj·é±Æð³Åø·éD 17 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 18 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 19 * XR[hÉÜÜêÄ¢é±ÆD 20 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 21 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 22 gip 23 * Ò}j 24 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 25 * ̳ÛØKèðfÚ·é±ÆD 26 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 27 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 28 * ÆD 29 * (a) Äzzɺ¤hL 30 gipÒ}j 31 AÈÇjÉCãLÌ 32 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 33 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 34 * ñ·é±ÆD 35 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 36 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 12 * 上記著作権者は,以下の (1)〜(4) の条件か,Free Software Foundation 13 * によって公表されている GNU General Public License の Version 2 に記 14 * 述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア 15 * を改変したものを含む.以下同じ)を使用・複製・改変・再配布(以下, 16 * 利用と呼ぶ)することを無償で許諾する. 17 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 18 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 19 * スコード中に含まれていること. 20 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 21 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 22 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 23 * の無保証規定を掲載すること. 24 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 25 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 26 * と. 27 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 28 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 29 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 30 * 報告すること. 31 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 32 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 37 33 * 38 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨39 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄC»ÌKpÂ\«à40 * ÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEFAÌpÉæè¼41 * ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»ÌÓCðíÈ¢D34 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 35 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 36 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 37 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 38 * 43 39 */ 44 40 45 41 /* 46 * vZbT˶W 47 [iRX630pj 48 * 49 * ±ÌCN[ht@CÍCtarget_config.hiܽÍC»±©çCN 50 * [h³êét@CjÌÝ©çCN[h³êéD¼Ìt@C©ç 51 * ¼ÚCN[hµÄÍÈçÈ¢D 42 * プロセッサ依存モジュール(RX630用) 43 * 44 * このインクルードファイルは,target_config.h(または,そこからインク 45 * ルードされるファイル)のみからインクルードされる.他のファイルから 46 * 直接インクルードしてはならない. 52 47 */ 53 48 … … 58 53 59 54 /* 60 * vZbTÌÁê½ßÌCCÖè`55 * プロセッサの特殊命令のインライン関数定義 61 56 */ 62 57 #include "prc_insn.h" … … 64 59 65 60 /* 66 * ñ^XNReLXgpÌX^bNúl61 * 非タスクコンテキスト用のスタック初期値 67 62 */ 68 63 … … 71 66 72 67 /* 73 * ^XNReLXgubNÌè`68 * タスクコンテキストブロックの定義 74 69 */ 75 70 typedef struct task_context_block { 76 void *sp; /* X^bN|C^*/77 FP pc; /* vOJE^*/71 void *sp; /* スタックポインタ */ 72 FP pc; /* プログラムカウンタ */ 78 73 } TSKCTXB; 79 74 80 75 81 76 /* 82 * ݶñðÛ¶·éÏ77 * 割込み発生回数を保存する変数 83 78 */ 84 79 extern uint16_t intnest; … … 86 81 87 82 /* 88 * CPU bNóÔÅÌÝDæx}XN89 * 90 * TIPM_LOCK ÍCCPUbNóÔÅÌÝDæx}XNC·Èí¿CJ[l91 * ÇOÌàÌð·×ÄÌÝvð}XN·élÉè`·éD92 * 93 * TMIN_INTPRI ÏX·é±ÆÅÇOÝÌL³ðè·éD94 * á¦ÎTMIN_INTPRIð-14ÉÝè·éÆCx15ÌݪJ[lÇOÆ95 * ÈéDTMIN_INTPRIð-15ÉÝè·éÆCNMIÈOÉJ[lÇOÌÝð96 * ݯȢ±ÆÉÈéi±ÌêÉÍ-15ÉÝè·é±Æð§·éjD83 * CPUロック状態での割込み優先度マスク 84 * 85 * TIPM_LOCKは,CPUロック状態での割込み優先度マスク,すなわち,カーネ 86 * ル管理外のものを除くすべての割込み要求をマスクする値に定義する. 87 * 88 * TMIN_INTPRI変更することで管理外割込みの有無を決定する. 89 * 例えばTMIN_INTPRIを-14に設定すると,レベル15の割込みがカーネル管理外と 90 * なる.TMIN_INTPRIを-15に設定すると,NMI以外にカーネル管理外の割込みを 91 * 設けないことになる(この場合には-15に設定することを推奨する). 97 92 */ 98 93 #ifndef TIPM_LOCK … … 102 97 103 98 /* 104 * TOPPERS WÝfÌÀ»105 */ 106 /* 107 * ReLXgÌQÆ108 * 109 * RX ÅÍCÝÌßèæª^XN©Ç¤©ð»f·é½ßÉintnest110 * ðgpµÄ¢éD±êðp¢ÄReLXgð»f·éD99 * TOPPERS標準割込み処理モデルの実現 100 */ 101 /* 102 * コンテキストの参照 103 * 104 * RXでは,割込みの戻り先がタスクかどうかを判断するために intnest 105 * を使用している.これを用いてコンテキストを判断する. 111 106 */ 112 107 Inline bool_t 113 108 sense_context( void ) 114 109 { 115 /* lXgJE^0æèåÈçñ^XNReLXg*/110 /* ネストカウンタ0より大なら非タスクコンテキスト */ 116 111 return ( intnest > 0U ); 117 112 } … … 119 114 120 115 /* 121 * CPU bNtOÀ»Ì½ßÌÏ122 * 123 * ±êçÌÏÍCCPUbNóÔÌÌÝ«·¦Äæ¢àÌÆ·éD116 * CPUロックフラグ実現のための変数 117 * 118 * これらの変数は,CPUロック状態の時のみ書き換えてよいものとする. 124 119 */ 125 120 #if TIPM_LOCK != -15 126 extern bool_t lock_flag; /* CPU bNtOÌlðÛ·éÏ*/127 extern uint32_t saved_ipl; /* ÝDæxxðÛ¶·éÏ*/121 extern bool_t lock_flag; /* CPUロックフラグの値を保持する変数 */ 122 extern uint32_t saved_ipl; /* 割込み優先度レベルを保存する変数 */ 128 123 #endif /* TIPM_LOCK != -15 */ 129 124 … … 132 127 133 128 /* 134 * ÝDæx}XNÌO\»Æà\»ÌÏ·135 * 136 * RX630 ÅÍCvZbTXe[^X[hWX^iPSWj̺©ç137 * 24 `27rbgÚÌ4rbgÉÝDæxxiIPLjªu©êÄ¢éD138 * J[lÇOÝðÀ·éêÉIPLðgpµ½§äðs¤D139 * J[lÍÝDæx}XNi-1©çA±µ½ÌljÅdzêÄ140 * ¢é½ßIPLÆÌÏ·ªKvÆÈéD141 */ 142 #define IPL_TO_IPM( ipl ) (-(( PRI )(( ipl ) >> 24U ))) /* IPL ðIPMÉ*/143 #define IPM_TO_IPL( ipm ) ((( uint32_t )(-( ipm ))) << 24U ) /* IPM ðIPLÉ*/144 145 146 /* 147 * CPU bNóÔÅÌÝDæx}XNÌIPL129 * 割込み優先度マスクの外部表現と内部表現の変換 130 * 131 * RX630では,プロセッサステータスワードレジスタ(PSW)の下から 132 * 24〜27ビット目の4ビットに割込み優先度レベル(IPL)が置かれている. 133 * カーネル管理外割込みを実装する場合にIPLを使用した制御を行う. 134 * カーネルは割込み優先度マスク(-1から連続した負の値)で管理されて 135 * いるためIPLとの変換が必要となる. 136 */ 137 #define IPL_TO_IPM( ipl ) (-(( PRI )(( ipl ) >> 24U ))) /* IPLをIPMに */ 138 #define IPM_TO_IPL( ipm ) ((( uint32_t )(-( ipm ))) << 24U ) /* IPMをIPLに */ 139 140 141 /* 142 * CPUロック状態での割込み優先度マスクのIPL 148 143 */ 149 144 #define IPL_LOCK ( IPM_TO_IPL( TIPM_LOCK ) ) 150 145 151 146 /* 152 * TIPM_ENAALL iÝDæx}XNSðjÌIPL147 * TIPM_ENAALL(割込み優先度マスク全解除)のIPL 153 148 */ 154 149 #define IPL_ENAALL ( IPM_TO_IPL( TIPM_ENAALL ) ) … … 158 153 159 154 /* 160 * ÝvöÌx & ®«è`e[u161 * ( ev[gt@CÉæéoÍ)155 * 割込み要因毎のレベル & 属性定義テーブル 156 * (テンプレートファイルによる出力) 162 157 */ 163 158 typedef struct cfg_int_info { … … 170 165 171 166 /* 172 * ÝÔÌÍÍÌ»è 173 * 174 * ÝÔªLøÈl©µ§É`FbN·é½ß, 175 * RtBM 176 [^oÍe[uðQÆ·é. 167 * 割込み番号の範囲の判定 168 * 169 * 割込み番号が有効な値か厳密にチェックするため, 170 * コンフィギュレータ出力テーブルを参照する. 177 171 */ 178 172 #define VALID_INTNO( intno ) \ … … 181 175 #define VALID_INTNO_CFGINT( intno ) VALID_INTNO( intno ) 182 176 183 /* cre_int ÅLøÈÝÔÌwè*/177 /* cre_intで有効な割込み番号の指定 */ 184 178 #define VALID_INTNO_CREINT VALID_INTNO_CFGINT((intno)) 185 179 186 /* cre_isr ÅLøÈÝÔÌwè*/180 /* cre_isrで有効な割込み番号の指定 */ 187 181 #define VALID_INTNO_CREISR(intno) VALID_INTNO_CFGINT((intno)) 188 182 189 183 190 184 /* 191 * ݧäWX^ÖAÌè`185 * 割込み制御レジスタ関連の定義 192 186 */ 193 187 #define IRQ_POSEDGE ( 0x08U ) … … 198 192 199 193 /* 200 * CPU bNóÔÖÌÚs201 * 202 * IPM in[hEFAÌÝDæx}XNjðCsaved_iipmÉÛ¶µCJ[203 * lÇOÌàÌð·×ÄÌÝvð}XN·éliTIPM_LOCKj204 * ÉÝè·éDܽClock_flagðTRUEÉ·éD205 * 206 * IPM ªCÅ©çTIPM_LOCKƯ¶©»êæè¢êÉÍC»êð207 * saved_iipm ÉÛ¶·éÌÝÅCTIPM_LOCKÉÍÝèµÈ¢D±êÍCf208 * ãÌÝDæx}XNªCTIPM_LOCKƯ¶©»êæè¢xÉÝè209 * ³êÄ¢éóÔÉ ½éD210 * 211 * ±ÌÖÍCCPUbNóÔilock_flagªTRUEÌóÔjÅÄÎêé±ÆÍ212 * È¢àÌÆzèµÄ¢éD194 * CPUロック状態への移行 195 * 196 * IPM(ハードウェアの割込み優先度マスク)を,saved_iipmに保存し,カー 197 * ネル管理外のものを除くすべての割込み要求をマスクする値(TIPM_LOCK) 198 * に設定する.また,lock_flagをTRUEにする. 199 * 200 * IPMが,最初からTIPM_LOCKと同じかそれより高い場合には,それを 201 * saved_iipmに保存するのみで,TIPM_LOCKには設定しない.これは,モデル 202 * 上の割込み優先度マスクが,TIPM_LOCKと同じかそれより高いレベルに設定 203 * されている状態にあたる. 204 * 205 * この関数は,CPUロック状態(lock_flagがTRUEの状態)で呼ばれることは 206 * ないものと想定している. 213 207 */ 214 208 Inline void … … 221 215 222 216 /* 223 * current_ipl() ÌÔèlð¼Úsaved_iplÉÛ¶¹¸CêÏipl224 * ðp¢Ä¢éÌÍCcurrent_ipl()ðÄñ¾¼ãÉݪ¶µC225 * N®³ê½ÝÅsaved_iplªÏX³êéÂ\«ª é½ßÅ226 * éD217 * current_ipl()の返り値を直接saved_iplに保存せず,一時変数ipl 218 * を用いているのは,current_ipl()を呼んだ直後に割込みが発生し, 219 * 起動された割込み処理でsaved_iplが変更される可能性があるためで 220 * ある. 227 221 */ 228 222 ipl = current_ipl(); … … 241 235 242 236 /* 243 * CPU bNóÔÌð244 * 245 * lock_flag ðFALSEɵCIPMin[hEFAÌÝDæx}XNjðC246 * saved_iipm ÉÛ¶µ½lÉß·D247 * 248 * ±ÌÖÍCCPUbNóÔilock_flagªtrueÌóÔjÅÌÝÄÎêéà249 * ÌÆzèµÄ¢éD237 * CPUロック状態の解除 238 * 239 * lock_flagをFALSEにし,IPM(ハードウェアの割込み優先度マスク)を, 240 * saved_iipmに保存した値に戻す. 241 * 242 * この関数は,CPUロック状態(lock_flagがtrueの状態)でのみ呼ばれるも 243 * のと想定している. 250 244 */ 251 245 Inline void … … 265 259 266 260 /* 267 * CPU bNóÔÌQÆ261 * CPUロック状態の参照 268 262 */ 269 263 Inline bool_t … … 282 276 283 277 /* 284 * ifãÌjÝDæx}XNÌÝè285 * 286 * CPU bNtOªNA³êÄ¢éÍCn[hEFAÌÝDæx}287 * XNðÝè·éDCPUbNtOªZbg³êÄ¢éÍCsaved_iipm288 * ðÝèµC³çÉCn[hEFAÌÝDæx}XNðCÝèµæ¤Æ289 * µ½ifãÌjÝDæx}XNÆTIPM_LOCKÌ¢ûÉÝè·éD278 * (モデル上の)割込み優先度マスクの設定 279 * 280 * CPUロックフラグがクリアされている時は,ハードウェアの割込み優先度マ 281 * スクを設定する.CPUロックフラグがセットされている時は,saved_iipm 282 * を設定し,さらに,ハードウェアの割込み優先度マスクを,設定しようと 283 * した(モデル上の)割込み優先度マスクとTIPM_LOCKの高い方に設定する. 290 284 */ 291 285 Inline void … … 311 305 312 306 /* 313 * ifãÌjÝDæx}XNÌQÆ314 * 315 * CPU bNtOªNA³êÄ¢éÍn[hEFAÌÝDæx}316 * XNðCZbg³êÄ¢éÍsaved_iipmðQÆ·éD307 * (モデル上の)割込み優先度マスクの参照 308 * 309 * CPUロックフラグがクリアされている時はハードウェアの割込み優先度マ 310 * スクを,セットされている時はsaved_iipmを参照する. 317 311 */ 318 312 Inline PRI … … 338 332 339 333 /* 340 * ÝvÖ~tOÌZbg341 * 342 * Ý®«ªÝè³êĢȢÝvCÉεÄÝvÖ~343 * tOðZbgµæ¤Æµ½êÉÍCFALSEðÔ·D334 * 割込み要求禁止フラグのセット 335 * 336 * 割込み属性が設定されていない割込み要求ラインに対して割込み要求禁止 337 * フラグをセットしようとした場合には,FALSEを返す. 344 338 */ 345 339 Inline bool_t … … 347 341 { 348 342 /* 349 * xè`ª0Å éêÍCFG_INT³êĢȢ343 * レベル定義が0である場合はCFG_INTされていない 350 344 */ 351 345 if( cfg_int_table[intno].intpri == 0 ){ … … 363 357 364 358 /* 365 * ÝvÖ~tOÌNA366 * 367 * Ý®«ªÝè³êĢȢÝvCÉεÄÝvÖ~368 * tOðNAµæ¤Æµ½êÉÍCFALSEðÔ·D359 * 割込み要求禁止フラグのクリア 360 * 361 * 割込み属性が設定されていない割込み要求ラインに対して割込み要求禁止 362 * フラグをクリアしようとした場合には,FALSEを返す. 369 363 */ 370 364 Inline bool_t … … 372 366 { 373 367 /* 374 * xè`ª0Å éêÍCFG_INT³êĢȢ368 * レベル定義が0である場合はCFG_INTされていない 375 369 */ 376 370 if( cfg_int_table[intno].intpri == 0 ){ … … 388 382 389 383 /* 390 * ÝvÌNA384 * 割込み要求のクリア 391 385 */ 392 386 Inline void … … 401 395 402 396 /* 403 * ÝvÌ`FbN397 * 割込み要求のチェック 404 398 */ 405 399 Inline bool_t … … 407 401 { 408 402 /* 409 * ÝvWX^Í0 or 1ŵ©È¢½ß,410 * »ÌÜÜÌlðÔ·.403 * 割込み要求レジスタは0 or 1でしかないため, 404 * そのままの値を返す. 411 405 */ 412 406 return ( *IR_REG(intno) ); … … 418 412 419 413 /* 420 * ÝvCÌ®«ÌÝè414 * 割込み要求ラインの属性の設定 421 415 */ 422 416 extern void x_config_int( INTNO intno, ATR intatr, PRI intpri ); … … 424 418 425 419 /* 426 * ÝnhÌüûÅKvÈIRCì420 * 割込みハンドラの入口で必要なIRC操作 427 421 * 428 422 */ … … 433 427 434 428 /* 435 * xoÌÝÉεÄÍÝXe[^X436 * tOðNA·é.429 * レベル検出の割込みに対しては割込みステータス 430 * フラグをクリアする. 437 431 */ 438 432 if( ( cfg_int_table[intno].intatr & TA_LOWLEVEL ) > 0 ){ 439 433 if( *IR_REG(intno) > 0U ){ 440 434 /* 441 * OÝÌê, IRQ[qªHighÉßÁÄ¢é442 * ±ÆðmF·é|ªLÚ³êÄ¢éª, Ȫ·é.435 * 外部割込みの場合, IRQ端子がHighに戻っている 436 * ことを確認する旨が記載されているが, 省略する. 443 437 */ 444 438 // *ir_reg_addr[intno] = 0U; 445 439 446 440 /* 447 * n[hEFA}j 448 AÉ0ÉÈÁ½±Æð 449 * mF·é|ªLÚ é½ß, WX^lðÇÝo·. 441 * ハードウェアマニュアルに0になったことを 442 * 確認する旨が記載あるため, レジスタ値を読み出す. 450 443 */ 451 444 // reg = *ir_reg_addr[intno]; … … 456 449 457 450 /* 458 * ÝnhÌoûÅKvÈIRCì451 * 割込みハンドラの出口で必要なIRC操作 459 452 * 460 453 */ … … 462 455 i_end_int( INTNO intno ) 463 456 { 464 /* ÁÉs¤×«ÍÈ¢*/465 } 466 467 468 /* 469 * ÅDæÊ^XNÖÌfBXpb`iprc_support.a30j470 * 471 * dispatch ÍC^XNReLXg©çÄÑo³ê½T[rXR[©472 * çÄÑo·×«àÌÅC^XNReLXgECPUbNóÔEfBXpb473 * `ÂóÔEifãÌjÝDæx}XNSðóÔÅÄÑo³È474 * ¯êÎÈçÈ¢D457 /* 特に行うべき処理はない */ 458 } 459 460 461 /* 462 * 最高優先順位タスクへのディスパッチ(prc_support.a30) 463 * 464 * dispatchは,タスクコンテキストから呼び出されたサービスコール処理か 465 * ら呼び出すべきもので,タスクコンテキスト・CPUロック状態・ディスパッ 466 * チ許可状態・(モデル上の)割込み優先度マスク全解除状態で呼び出さな 467 * ければならない. 475 468 */ 476 469 extern void dispatch( void ); 477 470 478 471 /* 479 * fBXpb`Ì®ìJniprc_support.a30j480 * 481 * start_dispatch ÍCJ[lN®ÉÄÑo·×«àÌÅC·×ÄÌ482 * ÝðÖ~µ½óÔiSÝbNóÔƯÌóÔjÅÄÑo³È¯êÎ483 * ÈçÈ¢D472 * ディスパッチャの動作開始(prc_support.a30) 473 * 474 * start_dispatchは,カーネル起動時に呼び出すべきもので,すべての割込 475 * みを禁止した状態(全割込みロック状態と同等の状態)で呼び出さなければ 476 * ならない. 484 477 */ 485 478 extern void start_dispatch( void ) NoReturn; 486 479 487 480 /* 488 * »ÝÌReLXgðÌÄÄfBXpb`iprc_support.a30j489 * 490 * exit_and_dispatch ÍCext_tsk©çÄÑo·×«àÌÅC^XNReL491 * XgECPUbNóÔEfBXpb`ÂóÔEifãÌjÝDæ492 * x}XNSðóÔÅÄÑo³È¯êÎÈçÈ¢D481 * 現在のコンテキストを捨ててディスパッチ(prc_support.a30) 482 * 483 * exit_and_dispatchは,ext_tskから呼び出すべきもので,タスクコンテキ 484 * スト・CPUロック状態・ディスパッチ許可状態・(モデル上の)割込み優先 485 * 度マスク全解除状態で呼び出さなければならない. 493 486 */ 494 487 #define _kernel_exit_and_dispatch(); \ … … 499 492 500 493 /* 501 * J[lÌI¹ÌÄoµiprc_support.a30j502 * 503 * call_exit_kernel ÍCJ[lÌI¹ÉÄÑo·×«àÌÅCñ^XN504 * ReLXgÉØè·¦ÄCJ[lÌI¹iexit_kerneljðÄÑo505 * ·D494 * カーネルの終了処理の呼出し(prc_support.a30) 495 * 496 * call_exit_kernelは,カーネルの終了時に呼び出すべきもので,非タスク 497 * コンテキストに切り換えて,カーネルの終了処理(exit_kernel)を呼び出 498 * す. 506 499 */ 507 500 extern void call_exit_kernel( void ) NoReturn; 508 501 509 502 /* 510 * ^XNReLXgÌú»511 * 512 * ^XNªx~óÔ©çÀsÅ«éóÔÉÚs·éÉÄÎêéD±Ì_513 * ÅX^bNÌæðgÁÄÍÈçÈ¢D514 * 515 * activate_context ðCCCÖÅÍÈ}Nè`ƵĢéÌÍC516 * ±Ì_ÅÍTCBªè`³êĢȢ½ßÅ éD503 * タスクコンテキストの初期化 504 * 505 * タスクが休止状態から実行できる状態に移行する時に呼ばれる.この時点 506 * でスタック領域を使ってはならない. 507 * 508 * activate_contextを,インライン関数ではなくマクロ定義としているのは, 509 * この時点ではTCBが定義されていないためである. 517 510 */ 518 511 extern void start_r( void ); … … 522 515 { \ 523 516 \ 524 /* X^bN|C^úlÌÝè*/ \517 /* スタックポインタ初期値の設定 */ \ 525 518 ( p_tcb )->tskctxb.sp = ( void * )((( uint32_t ) ( p_tcb )->p_tinib->stk ) + \ 526 519 ( p_tcb )->p_tinib->stksz ); \ 527 /* N®ÔnÌÝè*/ \520 /* 起動番地の設定 */ \ 528 521 ( p_tcb )->tskctxb.pc = ( FP ) start_r; \ 529 522 } \ … … 532 525 533 526 /* 534 * calltex ÍgpµÈ¢527 * calltexは使用しない 535 528 */ 536 529 #define OMIT_CALLTEX … … 538 531 539 532 /* 540 * ÝnhÌÝè541 * 542 * RX630 ÍROMÉÝxN^ðzu·é½ßC{ÖÍóÖÅÀ·éD533 * 割込みハンドラの設定 534 * 535 * RX630はROMに割込みベクタを配置するため,本関数は空関数で実装する. 543 536 */ 544 537 Inline void … … 549 542 550 543 /* 551 * CPU áOnhÌÝè552 * 553 * RX630 ÍROMÉáOxN^ðzu·é½ßC{ÖÍóÖÅÀ·éD544 * CPU例外ハンドラの設定 545 * 546 * RX630はROMに例外ベクタを配置するため,本関数は空関数で実装する. 554 547 */ 555 548 Inline void … … 560 553 561 554 /* 562 * Ý/áOnhÌüû̶¬}N563 * 564 * ev[gt@CÉæ趬·é½ßó}NÆ·éD555 * 割込み/例外ハンドラの入口処理の生成マクロ 556 * 557 * テンプレートファイルにより生成するため空マクロとする. 565 558 */ 566 559 #define HDR_ENTRY(hdr, intexc_num , tobejmp) 567 560 568 561 /* 569 * ÝnhÌüû̶¬}N562 * 割込みハンドラの入口処理の生成マクロ 570 563 */ 571 564 #define _INT_ENTRY(inhno, inthdr) _kernel_##inthdr##_##inhno##_entry … … 578 571 579 572 /* 580 * CPU áOnhÌüû̶¬}N573 * CPU例外ハンドラの入口処理の生成マクロ 581 574 */ 582 575 #define _EXC_ENTRY(excno , exchdr) _kernel_##exchdr##_##excno##_entry … … 589 582 590 583 /* 591 * CPU áO̶µ½ÌReLXgÌQÆ592 * 593 * CPU áO̶µ½ÌReLXgªC^XNReLXgÌÉFALSEC594 * »¤ÅÈ¢ÉtrueðÔ·D584 * CPU例外の発生した時のコンテキストの参照 585 * 586 * CPU例外の発生した時のコンテキストが,タスクコンテキストの時にFALSE, 587 * そうでない時にtrueを返す. 595 588 */ 596 589 Inline bool_t … … 598 591 { 599 592 /* 600 * lXgJE^ª1æèåÈçñ^XNReLXg593 * ネストカウンタが1より大なら非タスクコンテキスト 601 594 */ 602 595 return( intnest > 1U ); … … 605 598 606 599 /* 607 * CPU áOîñ p_excinf ©ç PSW Ìlðæ¾·é½ßÌItZbgl608 * EXCNO + ACC + FPSW + R1 `R15 + PC600 * CPU例外情報 p_excinf から PSW の値を取得するためのオフセット値 601 * EXCNO + ACC + FPSW + R1〜R15 + PC 609 602 */ 610 603 #define EXC_GET_PSW_OFFSET (4+8+4+60+4) 611 604 612 605 /* 613 * CPU áO̶µ½ÌIPLÌQÆ606 * CPU例外の発生した時のIPLの参照 614 607 */ 615 608 Inline uint32_t … … 629 622 630 623 /* 631 * CPU áO̶µ½ÌReLXgÆÝÌ}XNóÔÌQÆ632 * 633 * CPU áO̶µ½ÌVXeóÔªCJ[lÀsÅÈC^XNR634 * eLXgÅ èCSÝbNóÔÅÈCCPUbNóÔÅÈCi635 * fãÌjÝDæx}XNSðóÔÅ éÉtrueC»¤ÅÈ¢636 * ÉFALSEðÔ·iCPUáOªJ[lÇOÌÝŶµ½ê637 * ÉàFALSEðÔ·jD624 * CPU例外の発生した時のコンテキストと割込みのマスク状態の参照 625 * 626 * CPU例外の発生した時のシステム状態が,カーネル実行中でなく,タスクコ 627 * ンテキストであり,全割込みロック状態でなく,CPUロック状態でなく,(モ 628 * デル上の)割込み優先度マスク全解除状態である時にtrue,そうでない時 629 * にFALSEを返す(CPU例外がカーネル管理外の割込み処理中で発生した場合 630 * にもFALSEを返す). 638 631 * 639 * J[lÀsÅÈ¢¨ (TIPM_LOCK== -15) ItO== 1632 * カーネル実行中でない→ (TIPM_LOCK== -15) Iフラグ == 1 640 633 * (else) IPL < IPL_LOCK 641 * ^XNReLXgÅ é¨intnest == 0642 * SÝbNÅÈ¢¨ ItO== 1643 * ÝDæx}XNªSð¨IPL == 0634 * タスクコンテキストである→intnest == 0 635 * 全割込みロックでない→ Iフラグ == 1 636 * 割込み優先度マスクが全解除→IPL == 0 644 637 * 645 638 * … … 654 647 655 648 /* 656 * CPU áO̶µ½ÌReLXgÆÝ^CPUbNóÔÌQÆ657 * 658 * CPU áO̶µ½ÌVXeóÔªCJ[lÀsÅÈC^XNR659 * eLXgÅ èCSÝbNóÔÅÈCCPUbNóÔÅÈ¢É660 * true C»¤ÅÈ¢ÉfalseðÔ·iCPUáOªJ[lÇOÌÝ661 * Ŷµ½êÉàfalseðÔ·jD649 * CPU例外の発生した時のコンテキストと割込み/CPUロック状態の参照 650 * 651 * CPU例外の発生した時のシステム状態が,カーネル実行中でなく,タスクコ 652 * ンテキストであり,全割込みロック状態でなく,CPUロック状態でない時に 653 * true,そうでない時にfalseを返す(CPU例外がカーネル管理外の割込み処 654 * 理中で発生した場合にもfalseを返す). 662 655 * 663 * J[lÀsÅÈ¢¨ (TIPM_LOCK== -15) ItO== 1656 * カーネル実行中でない→ (TIPM_LOCK== -15) Iフラグ == 1 664 657 * (else) IPL < TIPM_LOCK 665 * ^XNReLXgÅ é¨intnest < 1666 * SÝbNÅÈ¢¨ ItO== 1667 * CPU bNóÔÅÈ¢¨(TIPM_LOCK== -15) ItO== 1658 * タスクコンテキストである→intnest < 1 659 * 全割込みロックでない→ Iフラグ == 1 660 * CPUロック状態でない→(TIPM_LOCK== -15) Iフラグ == 1 668 661 * (else) IPL < TIPM_LOCK 669 662 */ … … 689 682 690 683 /* 691 * vZbT˶Ìú»684 * プロセッサ依存の初期化 692 685 */ 693 686 extern void prc_initialize( void ); 694 687 695 688 /* 696 * vZbT˶ÌI¹689 * プロセッサ依存の終了時処理 697 690 */ 698 691 extern void prc_terminate( void ); … … 701 694 #ifndef OMIT_DEFAULT_INT_HANDLER 702 695 /* 703 * ¢o^Ìݪ¶µ½êÉÄÑo³êé696 * 未登録の割込みが発生した場合に呼び出される 704 697 */ 705 698 void default_int_handler( void ); … … 708 701 #ifndef OMIT_DEFAULT_EXC_HANDLER 709 702 /* 710 * ¢o^ÌáOª¶µ½êÉÄÑo³êé703 * 未登録の例外が発生した場合に呼び出される 711 704 */ 712 705 void default_exc_handler( void ); -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/arch/rx630_ccrx/prc_insn.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 9 9 * Copyright (C) 2008-2010 by Witz Corporation, JAPAN 10 10 * 11 * ãLì ÒÍCÈºÌ (1)`(4) Ìð©CFree Software Foundation 12 * ÉæÁÄö\³êÄ¢é GNU General Public License Ì Version 2 ÉL 13 * q³êÄ¢éðð½·êÉÀèC{\tgEFAi{\tgEFA 14 * ðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»EüÏEÄzziȺC 15 * pÆÄÔj·é±Æð³Åø·éD 16 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 17 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 18 * XR[hÉÜÜêÄ¢é±ÆD 19 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 20 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 21 gip 22 * Ò}j 23 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 24 * ̳ÛØKèðfÚ·é±ÆD 25 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 26 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 27 * ÆD 28 * (a) Äzzɺ¤hL 29 gipÒ}j 30 AÈÇjÉCãLÌ 31 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 32 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 33 * ñ·é±ÆD 34 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 35 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 11 * 上記著作権者は,以下の (1)〜(4) の条件か,Free Software Foundation 12 * によって公表されている GNU General Public License の Version 2 に記 13 * 述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア 14 * を改変したものを含む.以下同じ)を使用・複製・改変・再配布(以下, 15 * 利用と呼ぶ)することを無償で許諾する. 16 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 17 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 18 * スコード中に含まれていること. 19 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 20 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 21 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 22 * の無保証規定を掲載すること. 23 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 24 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 25 * と. 26 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 27 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 28 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 29 * 報告すること. 30 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 31 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 36 32 * 37 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨38 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄC»ÌKpÂ\«à39 * ÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEFAÌpÉæè¼40 * ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»ÌÓCðíÈ¢D33 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 34 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 35 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 36 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 41 37 * 42 38 */ 43 39 44 40 /* 45 * vZbTÌÁê½ßÌCCÖè`iRX630pj41 * プロセッサの特殊命令のインライン関数定義(RX630用) 46 42 */ 47 43 … … 61 57 62 58 /* 63 * I tO, IPLðæ¾·é½ßÌ}Nè`59 * Iフラグ, IPLを取得するためのマクロ定義 64 60 */ 65 61 #define PSW_I_MASK ( 0x00010000UL ) … … 68 64 69 65 /* 70 * vZbTXe[^XWX^(PSW)Ì»ÝlÌÇoµ66 * プロセッサステータスレジスタ(PSW)の現在値の読出し 71 67 */ 72 68 #pragma inline_asm current_psw … … 79 75 80 76 /* 81 * vZbTXe[^XWX^(PSW)ÖÝè77 * プロセッサステータスレジスタ(PSW)へ設定 82 78 */ 83 79 #pragma inline_asm set_psw … … 90 86 91 87 /* 92 * IPL Ì»ÝlÌÇoµ88 * IPLの現在値の読出し 93 89 */ 94 90 Inline uint32_t … … 100 96 101 97 /* 102 * IPL ÖÝè98 * IPLへ設定 103 99 */ 104 100 Inline void … … 110 106 111 107 /* 112 * NMI ð·×ÄÌÝÌÖ~108 * NMIを除くすべての割込みの禁止 113 109 */ 114 110 #pragma inline_asm disint … … 121 117 122 118 /* 123 * NMI ð·×ÄÌÝÌÂ119 * NMIを除くすべての割込みの許可 124 120 */ 125 121 #pragma inline_asm enaint … … 132 128 133 129 /* 134 * GfBAÏ·16bit130 * エンディアン変換 16bit 135 131 */ 136 132 #pragma inline_asm rev_endian_uint16 … … 142 138 143 139 /* 144 * GfBAÏ·32bit140 * エンディアン変換 32bit 145 141 */ 146 142 #pragma inline_asm rev_endian_uint32 -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/arch/rx630_ccrx/prc_kernel.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 5 5 * Copyright (C) 2008-2010 by Witz Corporation, JAPAN 6 6 * 7 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 8 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 9 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 10 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 11 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 12 * XR[hÉÜÜêÄ¢é±ÆD 13 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 14 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 15 gip 16 * Ò}j 17 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 18 * ̳ÛØKèðfÚ·é±ÆD 19 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 20 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 21 * ÆD 22 * (a) Äzzɺ¤hL 23 gipÒ}j 24 AÈÇjÉCãLÌ 25 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 26 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 27 * ñ·é±ÆD 28 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 29 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 30 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 31 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 32 * ÆÓ·é±ÆD 7 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 8 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 9 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 10 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 11 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 12 * スコード中に含まれていること. 13 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 14 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 15 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 16 * の無保証規定を掲載すること. 17 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 18 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 19 * と. 20 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 21 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 22 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 23 * 報告すること. 24 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 25 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 26 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 27 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 28 * 免責すること. 33 29 * 34 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨35 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI36 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF37 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»38 * ÌÓCðíÈ¢D30 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 31 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 32 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 33 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 34 * の責任を負わない. 39 35 * 40 36 */ 41 37 42 38 /* 43 * kernel.h ÌvZbT˶iRX630pj39 * kernel.hのプロセッサ依存部(RX630用) 44 40 * 45 * ±ÌCN[ht@CÍCtarget_kernel.hiܽÍC»±©çCN46 * [h³êét@CjÌÝ©çCN[h³êéD¼Ìt@C©ç47 * ¼ÚCN[hµÄÍÈçÈ¢D41 * このインクルードファイルは,target_kernel.h(または,そこからインク 42 * ルードされるファイル)のみからインクルードされる.他のファイルから 43 * 直接インクルードしてはならない. 48 44 */ 49 45 … … 52 48 53 49 /* 54 * J[l{ÌðRpC·é½ßÌ}Nè`50 * カーネル本体をコンパイルするためのマクロ定義 55 51 * 56 * {«ÅÍ1Öð1IuWFNgt@CÉRpC·é±ÆªÅ«È¢½ßC57 * ALLFUNC }Nðè`·éD52 * 本環境では1関数を1オブジェクトファイルにコンパイルすることができないため, 53 * ALLFUNCマクロを定義する. 58 54 */ 59 55 #define ALLFUNC … … 61 57 62 58 /* 63 * T|[g·é@\Ìè`59 * サポートする機能の定義 64 60 */ 65 #define TOPPERS_TARGET_SUPPORT_DIS_INT /* dis_int ðT|[g·é*/66 #define TOPPERS_TARGET_SUPPORT_ENA_INT /* ena_int ðT|[g·é*/61 #define TOPPERS_TARGET_SUPPORT_DIS_INT /* dis_intをサポートする */ 62 #define TOPPERS_TARGET_SUPPORT_ENA_INT /* ena_intをサポートする */ 67 63 68 64 69 65 /* 70 * J[lÇÌÝDæxÌÍÍ66 * カーネル管理の割込み優先度の範囲 71 67 * 72 * TMIN_INTPRI Ìè`ðÏX·é±ÆÅCÇÌxæèà¢ÝDæx73 * ðÂàÌðJ[lÇOÌÝÆ·é©ðÏXÅ«éD68 * TMIN_INTPRIの定義を変更することで,どのレベルよりも高い割込み優先度 69 * を持つものをカーネル管理外の割込みとするかを変更できる. 74 70 * 75 * TMIN_INTPRI ÉÝèÅ«élÍC-15`-1ÌÍÍÅ éDá¦ÎTMIN_INTPRI76 * ð-14ÉÝè·éÆCNMIÉÁ¦Äx7ÌݪJ[lÇOÆÈéD77 * TMIN_INTPRI ð-15ÉÝè·éÆCNMIÈOÉJ[lÇOÌÝð78 * ݯȢ±ÆÉÈéD71 * TMIN_INTPRIに設定できる値は,-15〜-1の範囲である.例えばTMIN_INTPRI 72 * を-14に設定すると,NMIに加えてレベル7の割込みがカーネル管理外となる. 73 * TMIN_INTPRIを-15に設定すると,NMI以外にカーネル管理外の割込みを 74 * 設けないことになる. 79 75 */ 80 76 #ifndef TMIN_INTPRI 81 #define TMIN_INTPRI ( -15 ) /* ÝDæxÌŬliÅlj*/77 #define TMIN_INTPRI ( -15 ) /* 割込み優先度の最小値(最高値)*/ 82 78 #endif /* TMIN_INTPRI */ 83 #define TMAX_INTPRI ( -1 ) /* ÝDæxÌÅåliÅálj*/79 #define TMAX_INTPRI ( -1 ) /* 割込み優先度の最大値(最低値) */ 84 80 85 81 86 82 /* 87 * Ý®«Ìè`83 * 割込み属性の定義 88 84 */ 89 #define TA_POSEDGE TA_EDGE /* |WeBuGbWgK*/90 #define TA_NEGEDGE UINT_C( 0x04 ) /* lKeBuGbWgK*/91 #define TA_BOTHEDGE UINT_C( 0x08 ) /* ¼GbWgK*/85 #define TA_POSEDGE TA_EDGE /* ポジティブエッジトリガ */ 86 #define TA_NEGEDGE UINT_C( 0x04 ) /* ネガティブエッジトリガ */ 87 #define TA_BOTHEDGE UINT_C( 0x08 ) /* 両エッジトリガ */ 92 88 93 #define TA_LOWLEVEL UINT_C( 0x10 ) /* L x*/89 #define TA_LOWLEVEL UINT_C( 0x10 ) /* Lレベル */ 94 90 95 91 96 92 /* 97 * ftHgÌÝ/áOnhÌL³93 * デフォルトの割込み/例外ハンドラの有無 98 94 */ 99 95 /*#define OMIT_DEFAULT_INT_HANDLER*/ -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/arch/rx630_ccrx/prc_rename.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/arch/rx630_ccrx/prc_sil.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 5 5 * Copyright (C) 2008-2010 by Witz Corporation, JAPAN 6 6 * 7 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 8 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 9 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 10 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 11 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 12 * XR[hÉÜÜêÄ¢é±ÆD 13 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 14 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 15 gip 16 * Ò}j 17 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 18 * ̳ÛØKèðfÚ·é±ÆD 19 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 20 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 21 * ÆD 22 * (a) Äzzɺ¤hL 23 gipÒ}j 24 AÈÇjÉCãLÌ 25 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 26 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 27 * ñ·é±ÆD 28 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 29 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 30 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 31 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 32 * ÆÓ·é±ÆD 7 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 8 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 9 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 10 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 11 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 12 * スコード中に含まれていること. 13 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 14 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 15 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 16 * の無保証規定を掲載すること. 17 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 18 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 19 * と. 20 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 21 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 22 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 23 * 報告すること. 24 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 25 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 26 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 27 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 28 * 免責すること. 33 29 * 34 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨35 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI36 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF37 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»38 * ÌÓCðíÈ¢D30 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 31 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 32 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 33 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 34 * の責任を負わない. 39 35 * 40 36 */ 41 37 42 38 /* 43 * sil.h ÌvZbT˶iRX630pj39 * sil.hのプロセッサ依存部(RX630用) 44 40 */ 45 41 … … 53 49 54 50 /* 55 * SÝÖ~51 * 全割込み禁止 56 52 */ 57 53 Inline uint32_t … … 68 64 69 65 /* 70 * SÝÂ66 * 全割込み許可 71 67 */ 72 68 Inline void … … 80 76 81 77 /* 82 * SÝbNóÔ̧ä78 * 全割込みロック状態の制御 83 79 */ 84 80 #define SIL_PRE_LOC uint32_t TOPPERS_i_psw; … … 88 84 89 85 /* 90 * GfBA̽]86 * エンディアンの反転 91 87 * 92 * {J«ÅÍGfBAÏ·½ßª¶Ý·é½ß,93 * A[LeN`˶ÉÄ}Nðã«·é.88 * 本開発環境ではエンディアン変換命令が存在するため, 89 * アーキテクチャ依存部にてマクロを上書きする. 94 90 */ 95 91 #define TOPPERS_SIL_REV_ENDIAN_UINT16( data ) \ … … 100 96 101 97 /* 102 * ÷ÔÒ¿98 * 微少時間待ち 103 99 */ 104 100 extern void sil_dly_nse( ulong_t dlytim ); … … 108 104 109 105 /* 110 * vZbTÌGfBA106 * プロセッサのエンディアン 111 107 */ 112 #define SIL_ENDIAN_LITTLE /* gGfBA*/108 #define SIL_ENDIAN_LITTLE /* リトルエンディアン */ 113 109 114 110 -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/arch/rx630_ccrx/prc_stddef.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 5 5 * Copyright (C) 2008-2010 by Witz Corporation, JAPAN 6 6 * 7 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 8 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 9 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 10 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 11 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 12 * XR[hÉÜÜêÄ¢é±ÆD 13 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 14 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 15 gip 16 * Ò}j 17 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 18 * ̳ÛØKèðfÚ·é±ÆD 19 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 20 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 21 * ÆD 22 * (a) Äzzɺ¤hL 23 gipÒ}j 24 AÈÇjÉCãLÌ 25 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 26 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 27 * ñ·é±ÆD 28 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 29 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 30 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 31 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 32 * ÆÓ·é±ÆD 7 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 8 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 9 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 10 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 11 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 12 * スコード中に含まれていること. 13 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 14 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 15 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 16 * の無保証規定を掲載すること. 17 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 18 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 19 * と. 20 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 21 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 22 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 23 * 報告すること. 24 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 25 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 26 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 27 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 28 * 免責すること. 33 29 * 34 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨35 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI36 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF37 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»38 * ÌÓCðíÈ¢D30 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 31 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 32 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 33 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 34 * の責任を負わない. 39 35 * 40 36 */ 41 37 42 38 /* 43 * t_stddef.h ÌvZbT˶iRX630pj39 * t_stddef.hのプロセッサ依存部(RX630用) 44 40 * 45 * ±ÌCN[ht@CÍCtarget_stddef.hiܽÍC»±©çCN46 * [h³êét@CjÌÝ©çCN[h³êéD¼Ìt@C©ç47 * ¼ÚCN[hµÄÍÈçÈ¢D41 * このインクルードファイルは,target_stddef.h(または,そこからインク 42 * ルードされるファイル)のみからインクルードされる.他のファイルから 43 * 直接インクルードしてはならない. 48 44 */ 49 45 … … 52 48 53 49 /* 54 * ^[Qbgð¯Ê·é½ßÌ}NÌè`50 * ターゲットを識別するためのマクロの定義 55 51 */ 56 #define TOPPERS_RX630 /* vZbTªÌ*/52 #define TOPPERS_RX630 /* プロセッサ略称 */ 57 53 58 54 #endif /* TOPPERS_PRC_STDDEF_H */ -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/arch/rx630_ccrx/prc_syssvc.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 6 6 * Copyright (C) 2013 by Mitsuhiro Matsuura 7 7 * 8 * ãLì ÒÍCÈºÌ (1)`(4) Ìð©CFree Software Foundation 9 * ÉæÁÄö\³êÄ¢é GNU General Public License Ì Version 2 ÉL 10 * q³êÄ¢éðð½·êÉÀèC{\tgEFAi{\tgEFA 11 * ðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»EüÏEÄzziȺC 12 * pÆÄÔj·é±Æð³Åø·éD 13 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 14 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 15 * XR[hÉÜÜêÄ¢é±ÆD 16 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 17 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 18 gip 19 * Ò}j 20 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 21 * ̳ÛØKèðfÚ·é±ÆD 22 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 23 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 24 * ÆD 25 * (a) Äzzɺ¤hL 26 gipÒ}j 27 AÈÇjÉCãLÌ 28 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 29 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 30 * ñ·é±ÆD 31 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 32 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 8 * 上記著作権者は,以下の (1)〜(4) の条件か,Free Software Foundation 9 * によって公表されている GNU General Public License の Version 2 に記 10 * 述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア 11 * を改変したものを含む.以下同じ)を使用・複製・改変・再配布(以下, 12 * 利用と呼ぶ)することを無償で許諾する. 13 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 14 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 15 * スコード中に含まれていること. 16 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 17 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 18 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 19 * の無保証規定を掲載すること. 20 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 21 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 22 * と. 23 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 24 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 25 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 26 * 報告すること. 27 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 28 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 33 29 * 34 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨35 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄC»ÌKpÂ\«à36 * ÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEFAÌpÉæè¼37 * ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»ÌÓCðíÈ¢D30 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 31 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 32 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 33 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 38 34 * 39 35 */ 40 36 41 37 /* 42 * eXgvOÌ^[Qbg˶è`iRX630pj38 * テストプログラムのターゲット依存定義(RX630用) 43 39 */ 44 40 … … 47 43 48 44 /* 49 * N®bZ[WÉ^[Qbg˶Ìì \¦ð50 * ÇÁ·é½ßÌ}ND45 * 起動メッセージにターゲット依存部の著作権表示を 46 * 追加するためのマクロ. 51 47 */ 52 48 #define PRC_COPYRIGHT \ -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/arch/rx630_ccrx/prc_test.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 5 5 * Copyright (C) 2008-2010 by Witz Corporation, JAPAN 6 6 * 7 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 8 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 9 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 10 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 11 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 12 * XR[hÉÜÜêÄ¢é±ÆD 13 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 14 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 15 gip 16 * Ò}j 17 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 18 * ̳ÛØKèðfÚ·é±ÆD 19 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 20 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 21 * ÆD 22 * (a) Äzzɺ¤hL 23 gipÒ}j 24 AÈÇjÉCãLÌ 25 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 26 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 27 * ñ·é±ÆD 28 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 29 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 30 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 31 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 32 * ÆÓ·é±ÆD 7 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 8 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 9 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 10 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 11 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 12 * スコード中に含まれていること. 13 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 14 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 15 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 16 * の無保証規定を掲載すること. 17 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 18 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 19 * と. 20 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 21 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 22 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 23 * 報告すること. 24 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 25 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 26 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 27 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 28 * 免責すること. 33 29 * 34 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨35 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI36 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF37 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»38 * ÌÓCðíÈ¢D30 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 31 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 32 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 33 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 34 * の責任を負わない. 39 35 * 40 36 */ 41 37 42 38 /* 43 * eXgvOÌ^[Qbg˶è`iRX630pj39 * テストプログラムのターゲット依存定義(RX630用) 44 40 */ 45 41 … … 47 43 #define TOPPERS_PRC_TEST_H 48 44 49 #define CPUEXC1 25 /* ®¬_áO*/45 #define CPUEXC1 25 /* 浮動小数点例外 */ 50 46 #define RAISE_CPU_EXCEPTION trigger_cpu_exception() 51 47 -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/arch/rx630_ccrx/prc_unrename.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/arch/rx630_ccrx/rx630.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 6 6 * Copyright (C) 2013 by Mitsuhiro Matsuura 7 7 * 8 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 9 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 10 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 11 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 12 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 13 * XR[hÉÜÜêÄ¢é±ÆD 14 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 15 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 16 gip 17 * Ò}j 18 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 19 * ̳ÛØKèðfÚ·é±ÆD 20 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 21 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 22 * ÆD 23 * (a) Äzzɺ¤hL 24 gipÒ}j 25 AÈÇjÉCãLÌ 26 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 27 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 28 * ñ·é±ÆD 29 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 30 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 31 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 32 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 33 * ÆÓ·é±ÆD 8 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 34 30 * 35 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨36 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI37 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF38 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»39 * ÌÓCðíÈ¢D31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 40 36 * 41 37 */ 42 38 43 39 /* 44 * RX630 É˶·éè`40 * RX630に依存する定義 45 41 */ 46 42 #ifndef TOPPERS_RX630_H … … 48 44 49 45 /* 50 * CPU áOnhÔÌè`(ÅèxN^e[u)46 * CPU例外ハンドラ番号の定義(固定ベクタテーブル) 51 47 * 52 * ÔÌÍÍÍ0 - 3153 */ 54 #define INT_PRIVILEGED_INSTRUNCTION 20 /* Á ½ßáO*/55 #define INT_UNDEF_INSTRUNCTION 23 /* ¢è`½ßáO*/56 #define INT_FLOATINGPOINT_INSTRUCTION 25 /* ®¬_áO*/57 #define INT_NMI 30 /* m}XJuèÝ*/58 #define INT_RESET 31 /* Zbg*/59 60 /* 61 * ÝÔÌè`(ÂÏxN^e[u)48 * 番号の範囲は0 - 31 49 */ 50 #define INT_PRIVILEGED_INSTRUNCTION 20 /* 特権命令例外 */ 51 #define INT_UNDEF_INSTRUNCTION 23 /* 未定義命令例外 */ 52 #define INT_FLOATINGPOINT_INSTRUCTION 25 /* 浮動小数点例外 */ 53 #define INT_NMI 30 /* ノンマスカブル割り込み */ 54 #define INT_RESET 31 /* リセット */ 55 56 /* 57 * 割込み番号の定義(可変ベクタテーブル) 62 58 */ 63 59 #define INT_BUSERR 16 … … 248 244 249 245 /* 250 * eW 251 [ÌWX^yÑÝèrbgîñ 246 * 各モジュールのレジスタ及び設定ビット情報 252 247 */ 253 248 … … 255 250 256 251 /* 257 * W 258 [XgbvRg[WX^AiMSTPCRAj 252 * モジュールストップコントロールレジスタA(MSTPCRA) 259 253 */ 260 254 #define SYSTEM_MSTPCRA_ADDR ( ( volatile uint32_t __evenaccess * )0x00080010 ) … … 294 288 295 289 /* 296 * W 297 [XgbvRg[WX^BiMSTPCRBj 290 * モジュールストップコントロールレジスタB(MSTPCRB) 298 291 */ 299 292 #define SYSTEM_MSTPCRB_ADDR ( ( volatile uint32_t __evenaccess * )0x00080014 ) … … 332 325 333 326 /* 334 * W 335 [XgbvRg[WX^CiMSTPCRCj 327 * モジュールストップコントロールレジスタC(MSTPCRC) 336 328 */ 337 329 #define SYSTEM_MSTPCRC_ADDR ( ( volatile uint32_t __evenaccess * )0x00080018 ) … … 370 362 371 363 /* 372 * NbN¶ñH364 * クロック発生回路 373 365 */ 374 366 #define SYSTEM_SCKCR_ADDR ( ( volatile uint32_t __evenaccess * )0x00080020 ) … … 390 382 391 383 /* 392 * veNgWX^384 * プロテクトレジスタ 393 385 */ 394 386 #define SYSTEM_PRCR_ADDR ( ( volatile uint16_t __evenaccess * )0x000803FE ) 395 387 396 388 /* 397 * èÝvWX^389 * 割り込み要求レジスタ 398 390 */ 399 391 #define ICU_IR000_ADDR ( ( volatile uint8_t __evenaccess * )0x00087000 ) … … 656 648 657 649 /* 658 * èÝvæÝèWX^650 * 割り込み要求先設定レジスタ 659 651 */ 660 652 #define ICU_ISELR000_ADDR ( ( volatile uint8_t __evenaccess * )0x00087100 ) … … 917 909 918 910 /* 919 * èÝvÂWX^911 * 割り込み要求許可レジスタ 920 912 */ 921 913 #define ICU_IER02_ADDR ( ( volatile uint8_t __evenaccess * )0x00087202 ) … … 958 950 959 951 /* 960 * èÝvövCIeBWX^i(i=0`253)ÌÝè952 * 割り込み要因プライオリティレジスタi(i=0〜253)の設定 961 953 */ 962 954 #define ICU_IPR000_ADDR ( ( volatile uint8_t __evenaccess * )0x00087300 ) … … 1220 1212 1221 1213 /* 1222 * IRQ Rg[WX^1214 * IRQコントロールレジスタ 1223 1215 */ 1224 1216 #define ICU_IRQ0_ADDR ( ( volatile uint8_t __evenaccess * )0x00087500 ) … … 1242 1234 1243 1235 /* 1244 * e`lÌWX^yÑÝèrbgîñ1236 * 各チャンネルのレジスタ及び設定ビット情報 1245 1237 */ 1246 1238 #define CMT_CMSTR0_ADDR ( ( volatile uint16_t __evenaccess * )0x00088000 ) … … 1351 1343 1352 1344 /* 1353 * I/O |[gÌWX^yÑÝèrbgîñ1345 * I/Oポートのレジスタ及び設定ビット情報 1354 1346 */ 1355 1347 #define PORT0_PDR_ADDR ( ( volatile uint8_t __evenaccess * )0x0008C000 ) … … 1485 1477 1486 1478 /* 1487 * }`t@NVsRg[ÌWX^îñ1479 * マルチファンクションピンコントローラのレジスタ情報 1488 1480 */ 1489 1481 #define MPC_PFUSB0_ADDR ( ( volatile uint8_t __evenaccess * )0x0008C114 ) … … 1624 1616 1625 1617 /* 1626 * A^CNbN1618 * リアルタイムクロック 1627 1619 */ 1628 1620 #define RTC_R64CNT_ADDR ( ( volatile uint8_t __evenaccess * )0x0008C400 ) … … 1636 1628 1637 1629 /* 1638 * 12 rbgA/D Ro[^1630 * 12 ビットA/D コンバータ 1639 1631 */ 1640 1632 #define S12AD_ADCSR_ADDR ( ( volatile uint8_t __evenaccess * )0x00089000 ) … … 1775 1767 1776 1768 /* 1777 * UART ÖAÌè`1769 * UART関連の定義 1778 1770 * 1779 * pdic Ìrx600/rx630_uart.cÅgp·éD1780 */ 1781 /* 1782 * VAI/OÌÂ1771 * pdicのrx600/rx630_uart.cで使用する. 1772 */ 1773 /* 1774 * シリアルI/Oの個数 1783 1775 */ 1784 1776 #define TNUM_SIOP ( 2 ) -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/arch/rx630_ccrx/rx630.tf
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 1 1 $ 2 $ A[LeN`˶ev[giRX630pj2 $ アーキテクチャ依存テンプレート(RX630用) 3 3 $ 4 4 … … 11 11 12 12 $ 13 $ ÝÔÆÝnhÔÌè`13 $ 割込み番号と割込みハンドラ番号の定義 14 14 $ 15 $ RX630 ÅÍÝÔÆÝnhÔª1Î1ÅηéD15 $ RX630では割込み番号と割込みハンドラ番号が1対1で対応する. 16 16 $ 17 17 … … 20 20 21 21 $ 22 $ áOÔÌè`22 $ 例外番号の定義 23 23 $ 24 $ ÅèxN^e[uÌxN^e[uAhX̬³¢ÔÉáOÔðUéD25 $ ( \ñÌæàÜÞ)24 $ 固定ベクタテーブルのベクタテーブルアドレスの小さい順番に例外番号を割振る. 25 $ (予約領域も含む) 26 26 $ 27 27 … … 29 29 30 30 $ 31 $ INT ÝÌÔ31 $ INT割込みの番号 32 32 $ 33 33 … … 35 35 36 36 $ 37 $ ÝÔCÝnhÔCáOÔÌÍÍ37 $ 割込み番号,割込みハンドラ番号,例外番号の範囲 38 38 $ 39 $ ( \ñÌæàÜÞ)39 $ (予約領域も含む) 40 40 $ 41 41 … … 45 45 46 46 $ 47 $ vZbT˶Ìev[gt@CÌCN[h47 $ プロセッサ依存のテンプレートファイルのインクルード 48 48 $ 49 49 -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/arch/rx630_ccrx/rx630_config.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 6 6 * Copyright (C) 2013 by Mitsuhiro Matsuura 7 7 * 8 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 9 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 10 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 11 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 12 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 13 * XR[hÉÜÜêÄ¢é±ÆD 14 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 15 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 16 gip 17 * Ò}j 18 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 19 * ̳ÛØKèðfÚ·é±ÆD 20 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 21 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 22 * ÆD 23 * (a) Äzzɺ¤hL 24 gipÒ}j 25 AÈÇjÉCãLÌ 26 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 27 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 28 * ñ·é±ÆD 29 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 30 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 31 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 32 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 33 * ÆÓ·é±ÆD 8 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 34 30 * 35 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨36 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI37 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF38 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»39 * ÌÓCðíÈ¢D31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 40 36 * 41 37 */ 42 38 43 39 /* 44 * vZbT˶W 45 [iRX630pj 40 * プロセッサ依存モジュール(RX630用) 46 41 */ 47 42 … … 50 45 51 46 /* 52 * ÝvövCIeBWX^AhXe[u47 * 割込み要因プライオリティレジスタアドレステーブル 53 48 */ 54 49 volatile uint8_t __evenaccess * const ipr_reg_addr[ INHNO_MAX ] = { 55 NULL, /* No.0 \ñ*/56 NULL, /* No.1 \ñ*/57 NULL, /* No.2 \ñ*/58 NULL, /* No.3 \ñ*/59 NULL, /* No.4 \ñ*/60 NULL, /* No.5 \ñ*/61 NULL, /* No.6 \ñ*/62 NULL, /* No.7 \ñ*/63 NULL, /* No.8 \ñ*/64 NULL, /* No.9 \ñ*/65 NULL, /* No.10 \ñ*/66 NULL, /* No.11 \ñ*/67 NULL, /* No.12 \ñ*/68 NULL, /* No.13 \ñ*/69 NULL, /* No.14 \ñ*/70 NULL, /* No.15 \ñ*/71 ICU_IPR000_ADDR, /* No.16 oXG[BUSERR */72 NULL, /* No.17 \ñ*/73 NULL, /* No.18 \ñ*/74 NULL, /* No.19 \ñ*/75 NULL, /* No.20 \ñ*/50 NULL, /* No.0 予約 */ 51 NULL, /* No.1 予約 */ 52 NULL, /* No.2 予約 */ 53 NULL, /* No.3 予約 */ 54 NULL, /* No.4 予約 */ 55 NULL, /* No.5 予約 */ 56 NULL, /* No.6 予約 */ 57 NULL, /* No.7 予約 */ 58 NULL, /* No.8 予約 */ 59 NULL, /* No.9 予約 */ 60 NULL, /* No.10 予約 */ 61 NULL, /* No.11 予約 */ 62 NULL, /* No.12 予約 */ 63 NULL, /* No.13 予約 */ 64 NULL, /* No.14 予約 */ 65 NULL, /* No.15 予約 */ 66 ICU_IPR000_ADDR, /* No.16 バスエラー BUSERR */ 67 NULL, /* No.17 予約 */ 68 NULL, /* No.18 予約 */ 69 NULL, /* No.19 予約 */ 70 NULL, /* No.20 予約 */ 76 71 ICU_IPR001_ADDR, /* No.21 FCU FIFERR */ 77 NULL, /* No.22 \ñ*/72 NULL, /* No.22 予約 */ 78 73 ICU_IPR002_ADDR, /* No.23 FCU FRDYI */ 79 NULL, /* No.24 \ñ*/80 NULL, /* No.25 \ñ*/81 NULL, /* No.26 \ñ*/74 NULL, /* No.24 予約 */ 75 NULL, /* No.25 予約 */ 76 NULL, /* No.26 予約 */ 82 77 ICU_IPR003_ADDR, /* No.27 SWINT */ 83 ICU_IPR004_ADDR, /* No.28 CMT jbg0 CMT0 */84 ICU_IPR005_ADDR, /* No.29 CMT jbg0 CMT1 */85 ICU_IPR006_ADDR, /* No.30 CMT jbg1 CMT2 */86 ICU_IPR007_ADDR, /* No.31 CMT jbg1 CMT3 */78 ICU_IPR004_ADDR, /* No.28 CMTユニット0 CMT0 */ 79 ICU_IPR005_ADDR, /* No.29 CMTユニット0 CMT1 */ 80 ICU_IPR006_ADDR, /* No.30 CMTユニット1 CMT2 */ 81 ICU_IPR007_ADDR, /* No.31 CMTユニット1 CMT3 */ 87 82 ICU_IPR032_ADDR, /* No.32 ETHER */ 88 83 ICU_IPR033_ADDR, /* No.33 USB0 D0FIFO0 */ … … 113 108 ICU_IPR056_ADDR, /* No.58 CAN RXM2 */ 114 109 ICU_IPR056_ADDR, /* No.59 CAN TXM2 */ 115 NULL, /* No.60 \ñ*/116 NULL, /* No.61 \ñ*/110 NULL, /* No.60 予約 */ 111 NULL, /* No.61 予約 */ 117 112 ICU_IPR062_ADDR, /* No.62 RTC PRD */ 118 NULL, /* No.63 \ñ*/119 ICU_IPR064_ADDR, /* No.64 O[qIRQ0 */120 ICU_IPR065_ADDR, /* No.65 O[qIRQ1 */121 ICU_IPR066_ADDR, /* No.66 O[qIRQ2 */122 ICU_IPR067_ADDR, /* No.67 O[qIRQ3 */123 ICU_IPR068_ADDR, /* No.68 O[qIRQ4 */124 ICU_IPR069_ADDR, /* No.69 O[qIRQ5 */125 ICU_IPR070_ADDR, /* No.70 O[qIRQ6 */126 ICU_IPR071_ADDR, /* No.71 O[qIRQ7 */127 ICU_IPR072_ADDR, /* No.72 O[qIRQ8 */128 ICU_IPR073_ADDR, /* No.73 O[qIRQ9 */129 ICU_IPR074_ADDR, /* No.74 O[qIRQ10 */130 ICU_IPR075_ADDR, /* No.75 O[qIRQ11 */131 ICU_IPR076_ADDR, /* No.76 O[qIRQ12 */132 ICU_IPR077_ADDR, /* No.77 O[qIRQ13 */133 ICU_IPR078_ADDR, /* No.78 O[qIRQ14 */134 ICU_IPR079_ADDR, /* No.79 O[qIRQ15 */135 NULL, /* No.80 \ñ*/136 NULL, /* No.81 \ñ*/137 NULL, /* No.82 \ñ*/138 NULL, /* No.83 \ñ*/139 NULL, /* No.84 \ñ*/140 NULL, /* No.85 \ñ*/141 NULL, /* No.86 \ñ*/142 NULL, /* No.87 \ñ*/143 NULL, /* No.88 \ñ*/144 NULL, /* No.89 \ñ*/113 NULL, /* No.63 予約 */ 114 ICU_IPR064_ADDR, /* No.64 外部端子 IRQ0 */ 115 ICU_IPR065_ADDR, /* No.65 外部端子 IRQ1 */ 116 ICU_IPR066_ADDR, /* No.66 外部端子 IRQ2 */ 117 ICU_IPR067_ADDR, /* No.67 外部端子 IRQ3 */ 118 ICU_IPR068_ADDR, /* No.68 外部端子 IRQ4 */ 119 ICU_IPR069_ADDR, /* No.69 外部端子 IRQ5 */ 120 ICU_IPR070_ADDR, /* No.70 外部端子 IRQ6 */ 121 ICU_IPR071_ADDR, /* No.71 外部端子 IRQ7 */ 122 ICU_IPR072_ADDR, /* No.72 外部端子 IRQ8 */ 123 ICU_IPR073_ADDR, /* No.73 外部端子 IRQ9 */ 124 ICU_IPR074_ADDR, /* No.74 外部端子 IRQ10 */ 125 ICU_IPR075_ADDR, /* No.75 外部端子 IRQ11 */ 126 ICU_IPR076_ADDR, /* No.76 外部端子 IRQ12 */ 127 ICU_IPR077_ADDR, /* No.77 外部端子 IRQ13 */ 128 ICU_IPR078_ADDR, /* No.78 外部端子 IRQ14 */ 129 ICU_IPR079_ADDR, /* No.79 外部端子 IRQ15 */ 130 NULL, /* No.80 予約 */ 131 NULL, /* No.81 予約 */ 132 NULL, /* No.82 予約 */ 133 NULL, /* No.83 予約 */ 134 NULL, /* No.84 予約 */ 135 NULL, /* No.85 予約 */ 136 NULL, /* No.86 予約 */ 137 NULL, /* No.87 予約 */ 138 NULL, /* No.88 予約 */ 139 NULL, /* No.89 予約 */ 145 140 ICU_IPR090_ADDR, /* No.90 USBR0 */ 146 141 ICU_IPR091_ADDR, /* No.91 USBR1 */ 147 142 ICU_IPR092_ADDR, /* No.92 RTC ALM */ 148 143 ICU_IPR093_ADDR, /* No.93 RTC PRD */ 149 NULL, /* No.94 \ñ*/150 NULL, /* No.95 \ñ*/151 NULL, /* No.96 \ñ*/152 NULL, /* No.97 \ñ*/144 NULL, /* No.94 予約 */ 145 NULL, /* No.95 予約 */ 146 NULL, /* No.96 予約 */ 147 NULL, /* No.97 予約 */ 153 148 ICU_IPR098_ADDR, /* No.98 AD ADI0 */ 154 NULL, /* No.99 \ñ*/155 NULL, /* No.100 \ñ*/156 NULL, /* No.101 \ñ*/149 NULL, /* No.99 予約 */ 150 NULL, /* No.100 予約 */ 151 NULL, /* No.101 予約 */ 157 152 ICU_IPR102_ADDR, /* No.102 S12AD S12ADIO */ 158 NULL, /* No.103 \ñ*/159 NULL, /* No.104 \ñ*/160 NULL, /* No.105 \ñ*/153 NULL, /* No.103 予約 */ 154 NULL, /* No.104 予約 */ 155 NULL, /* No.105 予約 */ 161 156 ICU_IPR106_ADDR, /* No.106 ICU GROUP0 */ 162 157 ICU_IPR107_ADDR, /* No.107 ICU GROUP1 */ … … 166 161 ICU_IPR111_ADDR, /* No.111 ICU GROUP5 */ 167 162 ICU_IPR112_ADDR, /* No.112 ICU GROUP6 */ 168 NULL, /* No.113 \ñ*/163 NULL, /* No.113 予約 */ 169 164 ICU_IPR114_ADDR, /* No.114 ICU GROUP12 */ 170 NULL, /* No.115 \ñ*/171 NULL, /* No.116 \ñ*/172 NULL, /* No.117 \ñ*/173 NULL, /* No.118 \ñ*/174 NULL, /* No.119 \ñ*/175 NULL, /* No.120 \ñ*/176 NULL, /* No.121 \ñ*/165 NULL, /* No.115 予約 */ 166 NULL, /* No.116 予約 */ 167 NULL, /* No.117 予約 */ 168 NULL, /* No.118 予約 */ 169 NULL, /* No.119 予約 */ 170 NULL, /* No.120 予約 */ 171 NULL, /* No.121 予約 */ 177 172 ICU_IPR122_ADDR, /* No.122 SCI12 SCIX0 */ 178 173 ICU_IPR123_ADDR, /* No.123 SCI12 SCIX1 */ … … 221 216 ICU_IPR167_ADDR, /* No.166 POE OEI1 */ 222 217 ICU_IPR167_ADDR, /* No.167 POE OEI2 */ 223 NULL, /* No.168 \ñ*/224 NULL, /* No.169 \ñ*/218 NULL, /* No.168 予約 */ 219 NULL, /* No.169 予約 */ 225 220 ICU_IPR170_ADDR, /* No.170 TMR0 CMIA0 */ 226 221 ICU_IPR170_ADDR, /* No.171 TMR0 CMIB0 */ … … 257 252 ICU_IPR202_ADDR, /* No.202 EXDMAC EXDMACI0 */ 258 253 ICU_IPR203_ADDR, /* No.203 EXDMAC EXDMACI1 */ 259 NULL, /* No.204 \ñ*/260 NULL, /* No.205 \ñ*/261 NULL, /* No.206 \ñ*/262 NULL, /* No.207 \ñ*/263 NULL, /* No.208 \ñ*/264 NULL, /* No.209 \ñ*/265 NULL, /* No.210 \ñ*/266 NULL, /* No.211 \ñ*/267 NULL, /* No.212 \ñ*/268 NULL, /* No.213 \ñ*/254 NULL, /* No.204 予約 */ 255 NULL, /* No.205 予約 */ 256 NULL, /* No.206 予約 */ 257 NULL, /* No.207 予約 */ 258 NULL, /* No.208 予約 */ 259 NULL, /* No.209 予約 */ 260 NULL, /* No.210 予約 */ 261 NULL, /* No.211 予約 */ 262 NULL, /* No.212 予約 */ 263 NULL, /* No.213 予約 */ 269 264 ICU_IPR214_ADDR, /* No.214 SCI0 RXI0 */ 270 265 ICU_IPR214_ADDR, /* No.215 SCI0 TXI0 */ … … 307 302 ICU_IPR250_ADDR, /* No.252 SCI12 TEI12 */ 308 303 ICU_IPR253_ADDR, /* No.253 IEB IEBINT */ 309 NULL, /* No.254 \ñ*/310 NULL, /* No.255 \ñ*/304 NULL, /* No.254 予約 */ 305 NULL, /* No.255 予約 */ 311 306 }; 312 307 313 308 314 309 /* 315 * ÝvÂWX^AhXe[u310 * 割込み要求許可レジスタアドレステーブル 316 311 */ 317 312 const IER_INFO ier_reg_addr[ INHNO_MAX ] = { 318 { NULL, INVALID_OFFSET }, /* No.0 \ñ*/319 { NULL, INVALID_OFFSET }, /* No.1 \ñ*/320 { NULL, INVALID_OFFSET }, /* No.2 \ñ*/321 { NULL, INVALID_OFFSET }, /* No.3 \ñ*/322 { NULL, INVALID_OFFSET }, /* No.4 \ñ*/323 { NULL, INVALID_OFFSET }, /* No.5 \ñ*/324 { NULL, INVALID_OFFSET }, /* No.6 \ñ*/325 { NULL, INVALID_OFFSET }, /* No.7 \ñ*/326 { NULL, INVALID_OFFSET }, /* No.8 \ñ*/327 { NULL, INVALID_OFFSET }, /* No.9 \ñ*/328 { NULL, INVALID_OFFSET }, /* No.10 \ñ*/329 { NULL, INVALID_OFFSET }, /* No.11 \ñ*/330 { NULL, INVALID_OFFSET }, /* No.12 \ñ*/331 { NULL, INVALID_OFFSET }, /* No.13 \ñ*/332 { NULL, INVALID_OFFSET }, /* No.14 \ñ*/333 { NULL, INVALID_OFFSET }, /* No.15 \ñ*/334 { ICU_IER02_ADDR, ICU_IEN0_BIT }, /* No.16 oXG[BUSERR */335 { NULL, INVALID_OFFSET }, /* No.17 \ñ*/336 { NULL, INVALID_OFFSET }, /* No.18 \ñ*/337 { NULL, INVALID_OFFSET }, /* No.19 \ñ*/338 { NULL, INVALID_OFFSET }, /* No.20 \ñ*/313 { NULL, INVALID_OFFSET }, /* No.0 予約 */ 314 { NULL, INVALID_OFFSET }, /* No.1 予約 */ 315 { NULL, INVALID_OFFSET }, /* No.2 予約 */ 316 { NULL, INVALID_OFFSET }, /* No.3 予約 */ 317 { NULL, INVALID_OFFSET }, /* No.4 予約 */ 318 { NULL, INVALID_OFFSET }, /* No.5 予約 */ 319 { NULL, INVALID_OFFSET }, /* No.6 予約 */ 320 { NULL, INVALID_OFFSET }, /* No.7 予約 */ 321 { NULL, INVALID_OFFSET }, /* No.8 予約 */ 322 { NULL, INVALID_OFFSET }, /* No.9 予約 */ 323 { NULL, INVALID_OFFSET }, /* No.10 予約 */ 324 { NULL, INVALID_OFFSET }, /* No.11 予約 */ 325 { NULL, INVALID_OFFSET }, /* No.12 予約 */ 326 { NULL, INVALID_OFFSET }, /* No.13 予約 */ 327 { NULL, INVALID_OFFSET }, /* No.14 予約 */ 328 { NULL, INVALID_OFFSET }, /* No.15 予約 */ 329 { ICU_IER02_ADDR, ICU_IEN0_BIT }, /* No.16 バスエラー BUSERR */ 330 { NULL, INVALID_OFFSET }, /* No.17 予約 */ 331 { NULL, INVALID_OFFSET }, /* No.18 予約 */ 332 { NULL, INVALID_OFFSET }, /* No.19 予約 */ 333 { NULL, INVALID_OFFSET }, /* No.20 予約 */ 339 334 { ICU_IER02_ADDR, ICU_IEN5_BIT }, /* No.21 FCU FIFERR */ 340 { NULL, INVALID_OFFSET }, /* No.22 \ñ*/335 { NULL, INVALID_OFFSET }, /* No.22 予約 */ 341 336 { ICU_IER02_ADDR, ICU_IEN7_BIT }, /* No.23 FCU FRDYI */ 342 { NULL, INVALID_OFFSET }, /* No.24 \ñ*/343 { NULL, INVALID_OFFSET }, /* No.25 \ñ*/344 { NULL, INVALID_OFFSET }, /* No.26 \ñ*/337 { NULL, INVALID_OFFSET }, /* No.24 予約 */ 338 { NULL, INVALID_OFFSET }, /* No.25 予約 */ 339 { NULL, INVALID_OFFSET }, /* No.26 予約 */ 345 340 { ICU_IER03_ADDR, ICU_IEN3_BIT }, /* No.27 SWINT */ 346 { ICU_IER03_ADDR, ICU_IEN4_BIT }, /* No.28 CMT jbg0 CMT0 */347 { ICU_IER03_ADDR, ICU_IEN5_BIT }, /* No.29 CMT jbg0 CMT1 */348 { ICU_IER03_ADDR, ICU_IEN6_BIT }, /* No.30 CMT jbg1 CMT2 */349 { ICU_IER03_ADDR, ICU_IEN7_BIT }, /* No.31 CMT jbg1 CMT3 */341 { ICU_IER03_ADDR, ICU_IEN4_BIT }, /* No.28 CMTユニット0 CMT0 */ 342 { ICU_IER03_ADDR, ICU_IEN5_BIT }, /* No.29 CMTユニット0 CMT1 */ 343 { ICU_IER03_ADDR, ICU_IEN6_BIT }, /* No.30 CMTユニット1 CMT2 */ 344 { ICU_IER03_ADDR, ICU_IEN7_BIT }, /* No.31 CMTユニット1 CMT3 */ 350 345 { ICU_IER04_ADDR, ICU_IEN0_BIT }, /* No.32 ETHER */ 351 346 { ICU_IER04_ADDR, ICU_IEN1_BIT }, /* No.33 USB0 D0FIFO0 */ … … 376 371 { ICU_IER07_ADDR, ICU_IEN2_BIT }, /* No.58 CAN2 RXM2 */ 377 372 { ICU_IER07_ADDR, ICU_IEN3_BIT }, /* No.59 CAN2 TXM2 */ 378 { NULL, INVALID_OFFSET }, /* No.60 \ñ*/379 { NULL, INVALID_OFFSET }, /* No.61 \ñ*/373 { NULL, INVALID_OFFSET }, /* No.60 予約 */ 374 { NULL, INVALID_OFFSET }, /* No.61 予約 */ 380 375 { ICU_IER07_ADDR, ICU_IEN6_BIT }, /* No.62 RTC PRD */ 381 { NULL, INVALID_OFFSET }, /* No.63 \ñ*/382 { ICU_IER08_ADDR, ICU_IEN0_BIT }, /* No.64 O[qIRQ0 */383 { ICU_IER08_ADDR, ICU_IEN1_BIT }, /* No.65 O[qIRQ1 */384 { ICU_IER08_ADDR, ICU_IEN2_BIT }, /* No.66 O[qIRQ2 */385 { ICU_IER08_ADDR, ICU_IEN3_BIT }, /* No.67 O[qIRQ3 */386 { ICU_IER08_ADDR, ICU_IEN4_BIT }, /* No.68 O[qIRQ4 */387 { ICU_IER08_ADDR, ICU_IEN5_BIT }, /* No.69 O[qIRQ5 */388 { ICU_IER08_ADDR, ICU_IEN6_BIT }, /* No.70 O[qIRQ6 */389 { ICU_IER08_ADDR, ICU_IEN7_BIT }, /* No.71 O[qIRQ7 */390 { ICU_IER09_ADDR, ICU_IEN0_BIT }, /* No.72 O[qIRQ8 */391 { ICU_IER09_ADDR, ICU_IEN1_BIT }, /* No.73 O[qIRQ9 */392 { ICU_IER09_ADDR, ICU_IEN2_BIT }, /* No.74 O[qIRQ10 */393 { ICU_IER09_ADDR, ICU_IEN3_BIT }, /* No.75 O[qIRQ11 */394 { ICU_IER09_ADDR, ICU_IEN4_BIT }, /* No.76 O[qIRQ12 */395 { ICU_IER09_ADDR, ICU_IEN5_BIT }, /* No.77 O[qIRQ13 */396 { ICU_IER09_ADDR, ICU_IEN6_BIT }, /* No.78 O[qIRQ14 */397 { ICU_IER09_ADDR, ICU_IEN7_BIT }, /* No.79 O[qIRQ15 */398 { NULL, INVALID_OFFSET }, /* No.80 \ñ*/399 { NULL, INVALID_OFFSET }, /* No.81 \ñ*/400 { NULL, INVALID_OFFSET }, /* No.82 \ñ*/401 { NULL, INVALID_OFFSET }, /* No.83 \ñ*/402 { NULL, INVALID_OFFSET }, /* No.84 \ñ*/403 { NULL, INVALID_OFFSET }, /* No.85 \ñ*/404 { NULL, INVALID_OFFSET }, /* No.86 \ñ*/405 { NULL, INVALID_OFFSET }, /* No.87 \ñ*/406 { NULL, INVALID_OFFSET }, /* No.88 \ñ*/407 { NULL, INVALID_OFFSET }, /* No.89 \ñ*/376 { NULL, INVALID_OFFSET }, /* No.63 予約 */ 377 { ICU_IER08_ADDR, ICU_IEN0_BIT }, /* No.64 外部端子 IRQ0 */ 378 { ICU_IER08_ADDR, ICU_IEN1_BIT }, /* No.65 外部端子 IRQ1 */ 379 { ICU_IER08_ADDR, ICU_IEN2_BIT }, /* No.66 外部端子 IRQ2 */ 380 { ICU_IER08_ADDR, ICU_IEN3_BIT }, /* No.67 外部端子 IRQ3 */ 381 { ICU_IER08_ADDR, ICU_IEN4_BIT }, /* No.68 外部端子 IRQ4 */ 382 { ICU_IER08_ADDR, ICU_IEN5_BIT }, /* No.69 外部端子 IRQ5 */ 383 { ICU_IER08_ADDR, ICU_IEN6_BIT }, /* No.70 外部端子 IRQ6 */ 384 { ICU_IER08_ADDR, ICU_IEN7_BIT }, /* No.71 外部端子 IRQ7 */ 385 { ICU_IER09_ADDR, ICU_IEN0_BIT }, /* No.72 外部端子 IRQ8 */ 386 { ICU_IER09_ADDR, ICU_IEN1_BIT }, /* No.73 外部端子 IRQ9 */ 387 { ICU_IER09_ADDR, ICU_IEN2_BIT }, /* No.74 外部端子 IRQ10 */ 388 { ICU_IER09_ADDR, ICU_IEN3_BIT }, /* No.75 外部端子 IRQ11 */ 389 { ICU_IER09_ADDR, ICU_IEN4_BIT }, /* No.76 外部端子 IRQ12 */ 390 { ICU_IER09_ADDR, ICU_IEN5_BIT }, /* No.77 外部端子 IRQ13 */ 391 { ICU_IER09_ADDR, ICU_IEN6_BIT }, /* No.78 外部端子 IRQ14 */ 392 { ICU_IER09_ADDR, ICU_IEN7_BIT }, /* No.79 外部端子 IRQ15 */ 393 { NULL, INVALID_OFFSET }, /* No.80 予約 */ 394 { NULL, INVALID_OFFSET }, /* No.81 予約 */ 395 { NULL, INVALID_OFFSET }, /* No.82 予約 */ 396 { NULL, INVALID_OFFSET }, /* No.83 予約 */ 397 { NULL, INVALID_OFFSET }, /* No.84 予約 */ 398 { NULL, INVALID_OFFSET }, /* No.85 予約 */ 399 { NULL, INVALID_OFFSET }, /* No.86 予約 */ 400 { NULL, INVALID_OFFSET }, /* No.87 予約 */ 401 { NULL, INVALID_OFFSET }, /* No.88 予約 */ 402 { NULL, INVALID_OFFSET }, /* No.89 予約 */ 408 403 { ICU_IER0B_ADDR, ICU_IEN2_BIT }, /* No.90 USBR0 */ 409 404 { ICU_IER0B_ADDR, ICU_IEN3_BIT }, /* No.91 USBR1 */ 410 405 { ICU_IER0B_ADDR, ICU_IEN4_BIT }, /* No.92 RTC ALM */ 411 406 { ICU_IER0B_ADDR, ICU_IEN5_BIT }, /* No.92 RTC PRD */ 412 { NULL, INVALID_OFFSET }, /* No.94 \ñ*/413 { NULL, INVALID_OFFSET }, /* No.95 \ñ*/414 { NULL, INVALID_OFFSET }, /* No.96 \ñ*/415 { NULL, INVALID_OFFSET }, /* No.97 \ñ*/407 { NULL, INVALID_OFFSET }, /* No.94 予約 */ 408 { NULL, INVALID_OFFSET }, /* No.95 予約 */ 409 { NULL, INVALID_OFFSET }, /* No.96 予約 */ 410 { NULL, INVALID_OFFSET }, /* No.97 予約 */ 416 411 { ICU_IER0C_ADDR, ICU_IEN2_BIT }, /* No.98 AD0 ADI0 */ 417 { NULL, INVALID_OFFSET }, /* No.99 \ñ*/418 { NULL, INVALID_OFFSET }, /* No.100 \ñ*/419 { NULL, INVALID_OFFSET }, /* No.101 \ñ*/412 { NULL, INVALID_OFFSET }, /* No.99 予約 */ 413 { NULL, INVALID_OFFSET }, /* No.100 予約 */ 414 { NULL, INVALID_OFFSET }, /* No.101 予約 */ 420 415 { ICU_IER0C_ADDR, ICU_IEN6_BIT }, /* No.102 S12AD S12ADI00 */ 421 { NULL, INVALID_OFFSET }, /* No.103 \ñ*/422 { NULL, INVALID_OFFSET }, /* No.104 \ñ*/423 { NULL, INVALID_OFFSET }, /* No.105 \ñ*/416 { NULL, INVALID_OFFSET }, /* No.103 予約 */ 417 { NULL, INVALID_OFFSET }, /* No.104 予約 */ 418 { NULL, INVALID_OFFSET }, /* No.105 予約 */ 424 419 { ICU_IER0D_ADDR, ICU_IEN2_BIT }, /* No.106 ICU GROUP0 */ 425 420 { ICU_IER0D_ADDR, ICU_IEN3_BIT }, /* No.107 ICU GROUP1 */ … … 429 424 { ICU_IER0D_ADDR, ICU_IEN7_BIT }, /* No.111 ICU GROUP5 */ 430 425 { ICU_IER0E_ADDR, ICU_IEN0_BIT }, /* No.112 ICU GROUP6 */ 431 { NULL, INVALID_OFFSET }, /* No.113 \ñ*/426 { NULL, INVALID_OFFSET }, /* No.113 予約 */ 432 427 { ICU_IER0E_ADDR, ICU_IEN1_BIT }, /* No.114 ICU GROUP12 */ 433 { NULL, INVALID_OFFSET }, /* No.115 \ñ*/434 { NULL, INVALID_OFFSET }, /* No.116 \ñ*/435 { NULL, INVALID_OFFSET }, /* No.117 \ñ*/436 { NULL, INVALID_OFFSET }, /* No.118 \ñ*/437 { NULL, INVALID_OFFSET }, /* No.119 \ñ*/438 { NULL, INVALID_OFFSET }, /* No.120 \ñ*/439 { NULL, INVALID_OFFSET }, /* No.121 \ñ*/428 { NULL, INVALID_OFFSET }, /* No.115 予約 */ 429 { NULL, INVALID_OFFSET }, /* No.116 予約 */ 430 { NULL, INVALID_OFFSET }, /* No.117 予約 */ 431 { NULL, INVALID_OFFSET }, /* No.118 予約 */ 432 { NULL, INVALID_OFFSET }, /* No.119 予約 */ 433 { NULL, INVALID_OFFSET }, /* No.120 予約 */ 434 { NULL, INVALID_OFFSET }, /* No.121 予約 */ 440 435 { ICU_IER0F_ADDR, ICU_IEN2_BIT }, /* No.122 SCI12 SCIX0 */ 441 436 { ICU_IER0F_ADDR, ICU_IEN3_BIT }, /* No.123 SCI12 SCIX1 */ … … 484 479 { ICU_IER14_ADDR, ICU_IEN6_BIT }, /* No.166 POE OEI1 */ 485 480 { ICU_IER14_ADDR, ICU_IEN7_BIT }, /* No.167 POE OEI2 */ 486 { NULL, INVALID_OFFSET }, /* No.168 \ñ*/487 { NULL, INVALID_OFFSET }, /* No.169 \ñ*/481 { NULL, INVALID_OFFSET }, /* No.168 予約 */ 482 { NULL, INVALID_OFFSET }, /* No.169 予約 */ 488 483 { ICU_IER15_ADDR, ICU_IEN2_BIT }, /* No.170 TMR0 CMIA0 */ 489 484 { ICU_IER15_ADDR, ICU_IEN3_BIT }, /* No.171 TMR0 CMIB0 */ … … 520 515 { ICU_IER19_ADDR, ICU_IEN2_BIT }, /* No.202 EXDMAC EXDMAC0I */ 521 516 { ICU_IER19_ADDR, ICU_IEN3_BIT }, /* No.203 EXDMAC EXDMAC1I */ 522 { NULL, INVALID_OFFSET }, /* No.204 \ñ*/523 { NULL, INVALID_OFFSET }, /* No.205 \ñ*/524 { NULL, INVALID_OFFSET }, /* No.206 \ñ*/525 { NULL, INVALID_OFFSET }, /* No.207 \ñ*/526 { NULL, INVALID_OFFSET }, /* No.208 \ñ*/527 { NULL, INVALID_OFFSET }, /* No.209 \ñ*/528 { NULL, INVALID_OFFSET }, /* No.210 \ñ*/529 { NULL, INVALID_OFFSET }, /* No.211 \ñ*/530 { NULL, INVALID_OFFSET }, /* No.212 \ñ*/531 { NULL, INVALID_OFFSET }, /* No.213 \ñ*/517 { NULL, INVALID_OFFSET }, /* No.204 予約 */ 518 { NULL, INVALID_OFFSET }, /* No.205 予約 */ 519 { NULL, INVALID_OFFSET }, /* No.206 予約 */ 520 { NULL, INVALID_OFFSET }, /* No.207 予約 */ 521 { NULL, INVALID_OFFSET }, /* No.208 予約 */ 522 { NULL, INVALID_OFFSET }, /* No.209 予約 */ 523 { NULL, INVALID_OFFSET }, /* No.210 予約 */ 524 { NULL, INVALID_OFFSET }, /* No.211 予約 */ 525 { NULL, INVALID_OFFSET }, /* No.212 予約 */ 526 { NULL, INVALID_OFFSET }, /* No.213 予約 */ 532 527 { ICU_IER1A_ADDR, ICU_IEN6_BIT }, /* No.214 SCI0 RXI0 */ 533 528 { ICU_IER1A_ADDR, ICU_IEN7_BIT }, /* No.215 SCI0 TXI0 */ … … 570 565 { ICU_IER1F_ADDR, ICU_IEN4_BIT }, /* No.252 SCI12 TEI12 */ 571 566 { ICU_IER1F_ADDR, ICU_IEN5_BIT }, /* No.253 IEB IEBINT */ 572 { NULL, INVALID_OFFSET }, /* No.254 \ñ*/573 { NULL, INVALID_OFFSET }, /* No.255 \ñ*/567 { NULL, INVALID_OFFSET }, /* No.254 予約 */ 568 { NULL, INVALID_OFFSET }, /* No.255 予約 */ 574 569 }; 575 570 576 571 577 572 /* 578 * IRQ Rg[WX^AhXe[u573 * IRQコントロールレジスタアドレステーブル 579 574 */ 580 575 volatile uint8_t __evenaccess * const irqcr_reg_addr[ IRQ_MAX ] = { -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/arch/rx630_ccrx/rx630_config.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 6 6 * Copyright (C) 2013 by Mitsuhiro Matsuura 7 7 * 8 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 9 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 10 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 11 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 12 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 13 * XR[hÉÜÜêÄ¢é±ÆD 14 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 15 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 16 gip 17 * Ò}j 18 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 19 * ̳ÛØKèðfÚ·é±ÆD 20 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 21 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 22 * ÆD 23 * (a) Äzzɺ¤hL 24 gipÒ}j 25 AÈÇjÉCãLÌ 26 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 27 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 28 * ñ·é±ÆD 29 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 30 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 31 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 32 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 33 * ÆÓ·é±ÆD 8 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 34 30 * 35 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨36 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI37 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF38 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»39 * ÌÓCðíÈ¢D31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 40 36 * 41 37 */ 42 38 43 39 /* 44 * vZbT˶W 45 [iRX630pj 40 * プロセッサ依存モジュール(RX630用) 46 41 * 47 * ±ÌCN[ht@CÍCtarget_config.hiܽÍC»±©çCN48 * [h³êét@CjÌÝ©çCN[h³êéD¼Ìt@C©ç49 * ¼ÚCN[hµÄÍÈçÈ¢D42 * このインクルードファイルは,target_config.h(または,そこからインク 43 * ルードされるファイル)のみからインクルードされる.他のファイルから 44 * 直接インクルードしてはならない. 50 45 */ 51 46 … … 56 51 57 52 /* 58 * Ývö53 * 割込み要因数 59 54 */ 60 55 #define INHNO_MAX UINT_C( 256 ) … … 62 57 63 58 /* 64 * ݧäp^è`59 * 割込み制御用型定義 65 60 */ 66 61 typedef struct ier_info { … … 71 66 72 67 /* 73 * ݧäpè`68 * 割込み制御用定義 74 69 */ 75 70 #define INVALID_OFFSET ( 0xFFU ) … … 82 77 83 78 /* 84 * ݧäpe[u79 * 割込み制御用テーブル 85 80 */ 86 81 87 /* ÝvövCIeBWX^AhX*/82 /* 割込み要因プライオリティレジスタアドレス */ 88 83 extern volatile uint8_t __evenaccess * const ipr_reg_addr[]; 89 /* ÝvÂWX^AhX*/84 /* 割込み要求許可レジスタアドレス */ 90 85 extern const IER_INFO ier_reg_addr[]; 91 /* ÝvWX^AhX*/86 /* 割込み要求レジスタアドレス */ 92 87 extern volatile uint8_t __evenaccess * const ir_reg_addr[]; 93 /* IRQ Rg[WX^AhX*/88 /* IRQコントロールレジスタアドレス */ 94 89 extern volatile uint8_t __evenaccess * const irqcr_reg_addr[]; 95 90 96 91 97 92 /* 98 * vZbT˶W 99 [iRX630pj 93 * プロセッサ依存モジュール(RX630用) 100 94 */ 101 95 #include "rx630_ccrx/prc_config.h" -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/extension/alarm.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 7 7 * Nagoya Municipal Industrial Research Institute, JAPAN 8 8 * 9 * ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF 10 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»EüÏE 11 * ÄzziȺCpÆÄÔj·é±Æð³Åø·éD 12 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 13 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[X 14 * R[hÉÜÜêÄ¢é±ÆD 15 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉgp 16 * Å«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 17 gipÒ} 18 * j 19 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺLÌ³Û 20 * ØKèðfÚ·é±ÆD 21 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉgp 22 * Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD 23 * (a) Äzzɺ¤hL 24 gipÒ}j 25 AÈÇjÉCãLÌì 26 * \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 27 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ 28 * ·é±ÆD 29 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹Q 30 * ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDܽC 31 * {\tgEFAÌ[UܽÍGh[U©çÌ¢©ÈéRÉîà 32 * ¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 9 * 上記著作権者は,以下の (1)〜(4) の条件を満たす場合に限り,本ソフトウェ 10 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改変・ 11 * 再配布(以下,利用と呼ぶ)することを無償で許諾する. 12 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作権 13 * 表示,この利用条件および下記の無保証規定が,そのままの形でソース 14 * コード中に含まれていること. 15 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使用 16 * できる形で再配布する場合には,再配布に伴うドキュメント(利用者マ 17 * ニュアルなど)に,上記の著作権表示,この利用条件および下記の無保 18 * 証規定を掲載すること. 19 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使用 20 * できない形で再配布する場合には,次のいずれかの条件を満たすこと. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著作 22 * 権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに報 24 * 告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害 26 * からも,上記著作権者およびTOPPERSプロジェクトを免責すること.また, 27 * 本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ 28 * く請求からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 33 29 * 34 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ35 * ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉη36 * éK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEFAÌp37 * Éæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»ÌÓCð38 * íÈ¢D30 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者およ 31 * びTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的に対す 32 * る適合性も含めて,いかなる保証も行わない.また,本ソフトウェアの利用 33 * により直接的または間接的に生じたいかなる損害に関しても,その責任を負 34 * わない. 39 35 * 40 36 */ 41 37 42 38 /* 43 * A[nh@\39 * アラームハンドラ機能 44 40 */ 45 41 … … 49 45 50 46 /* 51 * g[XO}NÌftHgè`47 * トレースログマクロのデフォルト定義 52 48 */ 53 49 … … 93 89 94 90 95 /* üúnhIDð^CCxgIDÉÏ·*/91 /* 周期ハンドラIDをタイムイベントIDに変換 */ 96 92 #define ALM_EVTID(almid) ((ID)(INDEX_ALM(almid) + almevtid_offset)) 97 93 #define INDEX_ALM(almid) ((uint_t)((almid) - TMIN_ALMID)) 98 94 99 /* A[nhÌÂ*/95 /* アラームハンドラの個数 */ 100 96 #define tnum_alm ((uint_t)(tmax_almid - TMIN_ALMID + 1)) 101 97 102 /* A[Ì®ìóÔð\·rbg}bv*/98 /* アラームの動作状態を表すビットマップ */ 103 99 #define ALMACT_BIT(index) (1U << (index)) 104 100 105 101 106 /* A[nhÀs^CCxg*/102 /* アラームハンドラ実行タイムイベント */ 107 103 void call_almhdr(uintptr_t almidx); 108 104 109 105 110 106 /* 111 * A[nh@\Ìú»107 * アラームハンドラ機能の初期化 112 108 */ 113 109 … … 117 113 initialize_alarm(void) 118 114 { 119 /* SÄÌA[ðâ~óÔÉ·é*/115 /* 全てのアラームを停止状態にする */ 120 116 almcb_almact = 0U; 121 117 } … … 124 120 125 121 /* 126 * A[ÌJn122 * アラームの開始 127 123 */ 128 124 … … 162 158 163 159 /* 164 * A[ÌJn(ñ^XNReLXgp)160 * アラームの開始(非タスクコンテキスト用) 165 161 */ 166 162 … … 200 196 201 197 /* 202 * A[Ìâ~198 * アラームの停止 203 199 */ 204 200 … … 232 228 233 229 /* 234 * A[Ìâ~(ñ^XNReLXgp)230 * アラームの停止(非タスクコンテキスト用) 235 231 */ 236 232 … … 264 260 265 261 /* 266 * A[nhN®[`262 * アラームハンドラ起動ルーチン 267 263 */ 268 264 … … 272 268 call_almhdr(uintptr_t almidx) 273 269 { 274 /* A[nhðâ~óÔÉ·é*/270 /* アラームハンドラを停止状態にする */ 275 271 almcb_almact &= ~ALMACT_BIT(almidx); 276 272 277 273 i_unlock_cpu(); 278 274 279 /* A[nhÌÀs*/275 /* アラームハンドラの実行 */ 280 276 LOG_ALM_ENTER(almidx); 281 277 (*alminib_almhdr[almidx])(alminib_exinf[almidx]); -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/extension/alarm.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 5 5 * Copyright (C) 2011 by Meika Sugimoto 6 6 * 7 * ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF 8 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»EüÏE 9 * ÄzziȺCpÆÄÔj·é±Æð³Åø·éD 10 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 11 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[X 12 * R[hÉÜÜêÄ¢é±ÆD 13 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉgp 14 * Å«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 15 gipÒ} 16 * j 17 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺLÌ³Û 18 * ØKèðfÚ·é±ÆD 19 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉgp 20 * Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌì 24 * \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ 26 * ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹Q 28 * ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDܽC 29 * {\tgEFAÌ[UܽÍGh[U©çÌ¢©ÈéRÉîà 30 * ¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 7 * 上記著作権者は,以下の (1)〜(4) の条件を満たす場合に限り,本ソフトウェ 8 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改変・ 9 * 再配布(以下,利用と呼ぶ)することを無償で許諾する. 10 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作権 11 * 表示,この利用条件および下記の無保証規定が,そのままの形でソース 12 * コード中に含まれていること. 13 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使用 14 * できる形で再配布する場合には,再配布に伴うドキュメント(利用者マ 15 * ニュアルなど)に,上記の著作権表示,この利用条件および下記の無保 16 * 証規定を掲載すること. 17 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使用 18 * できない形で再配布する場合には,次のいずれかの条件を満たすこと. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著作 20 * 権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに報 22 * 告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害 24 * からも,上記著作権者およびTOPPERSプロジェクトを免責すること.また, 25 * 本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ 26 * く請求からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 31 27 * 32 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ33 * ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉη34 * éK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEFAÌp35 * Éæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»ÌÓCð36 * íÈ¢D28 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者およ 29 * びTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的に対す 30 * る適合性も含めて,いかなる保証も行わない.また,本ソフトウェアの利用 31 * により直接的または間接的に生じたいかなる損害に関しても,その責任を負 32 * わない. 37 33 * 38 34 */ … … 45 41 46 42 /* 47 * RtBM 48 [Vf[^ 43 * コンフィギュレーションデータ 49 44 */ 50 45 51 /* A[nhÌ^CCxgIDItZbg*/46 /* アラームハンドラのタイムイベントIDオフセット */ 52 47 extern const uint_t almevtid_offset; 53 48 54 /* A[nhÌÅåIDl*/49 /* アラームハンドラの最大ID値 */ 55 50 extern const ID tmax_almid; 56 51 57 /* A[nhæªÔn*/52 /* アラームハンドラ先頭番地 */ 58 53 extern const ALMHDR alminib_almhdr[]; 59 54 60 /* A[nhg£îñ*/55 /* アラームハンドラ拡張情報 */ 61 56 extern const intptr_t alminib_exinf[]; 62 57 63 /* A[nhóÔ*/58 /* アラームハンドラ状態 */ 64 59 extern uint16_t almcb_almact; 65 60 66 61 67 62 /* 68 * A[nh@\Ìú»63 * アラームハンドラ機能の初期化 69 64 */ 70 65 extern void -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/extension/cyclic.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 5 5 * Copyright (C) 2011 by Meika Sugimoto 6 6 * 7 * ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF 8 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»EüÏE 9 * ÄzziȺCpÆÄÔj·é±Æð³Åø·éD 10 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 11 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[X 12 * R[hÉÜÜêÄ¢é±ÆD 13 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉgp 14 * Å«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 15 gipÒ} 16 * j 17 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺLÌ³Û 18 * ØKèðfÚ·é±ÆD 19 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉgp 20 * Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌì 24 * \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ 26 * ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹Q 28 * ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDܽC 29 * {\tgEFAÌ[UܽÍGh[U©çÌ¢©ÈéRÉîà 30 * ¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 7 * 上記著作権者は,以下の (1)〜(4) の条件を満たす場合に限り,本ソフトウェ 8 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改変・ 9 * 再配布(以下,利用と呼ぶ)することを無償で許諾する. 10 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作権 11 * 表示,この利用条件および下記の無保証規定が,そのままの形でソース 12 * コード中に含まれていること. 13 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使用 14 * できる形で再配布する場合には,再配布に伴うドキュメント(利用者マ 15 * ニュアルなど)に,上記の著作権表示,この利用条件および下記の無保 16 * 証規定を掲載すること. 17 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使用 18 * できない形で再配布する場合には,次のいずれかの条件を満たすこと. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著作 20 * 権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに報 22 * 告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害 24 * からも,上記著作権者およびTOPPERSプロジェクトを免責すること.また, 25 * 本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ 26 * く請求からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 31 27 * 32 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ33 * ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉη34 * éK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEFAÌp35 * Éæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»ÌÓCð36 * íÈ¢D28 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者およ 29 * びTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的に対す 30 * る適合性も含めて,いかなる保証も行わない.また,本ソフトウェアの利用 31 * により直接的または間接的に生じたいかなる損害に関しても,その責任を負 32 * わない. 37 33 * 38 34 */ 39 35 40 36 /* 41 * üúnh@\37 * 周期ハンドラ機能 42 38 */ 43 39 … … 48 44 49 45 /* 50 * g[XO}NÌftHgè`46 * トレースログマクロのデフォルト定義 51 47 */ 52 48 #ifndef LOG_CYC_ENTER … … 75 71 76 72 77 /* üúnhIDð^CCxgIDÉÏ·*/73 /* 周期ハンドラIDをタイムイベントIDに変換 */ 78 74 #define CYC_EVTID(cycidx) ((ID)((cycidx) + cycevtid_offset)) 79 75 #define INDEX_CYC(cycid) ((uint_t)((cycid) - TMIN_CYCID)) 80 76 81 77 82 /* üúnhÌ®ìóÔð\·rbg}bv*/78 /* 周期ハンドラの動作状態を表すビットマップ */ 83 79 #define CYCACT_BIT(index) (1U << (index)) 84 80 85 81 /* 86 * üúnhN®[`82 * 周期ハンドラ起動ルーチン 87 83 */ 88 84 void call_cychdr(uintptr_t cycidx); 89 85 90 86 /* 91 * üúnh@\Ìú»87 * 周期ハンドラ機能の初期化 92 88 */ 93 89 … … 99 95 uint_t i; 100 96 101 /* üúnhÌóÔÝè*/97 /* 周期ハンドラの状態設定 */ 102 98 cyccb_cycact = cycinib_cycact; 103 99 … … 105 101 cyccb_evttim[i] = 0U; 106 102 107 /* üúnhÌúN®*/103 /* 周期ハンドラの初期起動 */ 108 104 if((cycinib_cycact & CYCACT_BIT(i)) != 0U) { 109 105 time_event_enqueue(CYC_EVTID(i) , … … 189 185 cyccb_evttim[cycidx] += cycinib_cyctim[cycidx]; 190 186 191 /* üúÌ^CCxgðo^*/187 /* 次周期のタイムイベントを登録 */ 192 188 time_event_enqueue((ID)cycidx , 193 189 cyccb_evttim[cycidx] , call_cychdr , cycidx); … … 195 191 i_unlock_cpu(); 196 192 197 /* üúnhðÀs*/193 /* 周期ハンドラを実行 */ 198 194 LOG_CYC_ENTER(cycidx); 199 195 (*cycinib_cychdr[cycidx])(cycinib_exinf[cycidx]); -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/extension/cyclic.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 5 5 * Copyright (C) 2011 by Meika Sugimoto 6 6 * 7 * ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF 8 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»EüÏE 9 * ÄzziȺCpÆÄÔj·é±Æð³Åø·éD 10 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 11 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[X 12 * R[hÉÜÜêÄ¢é±ÆD 13 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉgp 14 * Å«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 15 gipÒ} 16 * j 17 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺLÌ³Û 18 * ØKèðfÚ·é±ÆD 19 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉgp 20 * Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌì 24 * \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ 26 * ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹Q 28 * ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDܽC 29 * {\tgEFAÌ[UܽÍGh[U©çÌ¢©ÈéRÉîà 30 * ¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 7 * 上記著作権者は,以下の (1)〜(4) の条件を満たす場合に限り,本ソフトウェ 8 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改変・ 9 * 再配布(以下,利用と呼ぶ)することを無償で許諾する. 10 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作権 11 * 表示,この利用条件および下記の無保証規定が,そのままの形でソース 12 * コード中に含まれていること. 13 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使用 14 * できる形で再配布する場合には,再配布に伴うドキュメント(利用者マ 15 * ニュアルなど)に,上記の著作権表示,この利用条件および下記の無保 16 * 証規定を掲載すること. 17 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使用 18 * できない形で再配布する場合には,次のいずれかの条件を満たすこと. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著作 20 * 権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに報 22 * 告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害 24 * からも,上記著作権者およびTOPPERSプロジェクトを免責すること.また, 25 * 本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ 26 * く請求からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 31 27 * 32 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ33 * ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉη34 * éK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEFAÌp35 * Éæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»ÌÓCð36 * íÈ¢D28 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者およ 29 * びTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的に対す 30 * る適合性も含めて,いかなる保証も行わない.また,本ソフトウェアの利用 31 * により直接的または間接的に生じたいかなる損害に関しても,その責任を負 32 * わない. 37 33 * 38 34 */ … … 42 38 43 39 /* 44 * üúnhú»ubN40 * 周期ハンドラ初期化ブロック 45 41 * 46 * RtBM 47 [^ÉæÁĶ¬·éD 42 * コンフィギュレータによって生成する. 48 43 */ 49 44 50 /* üúnhIDÌÅål*/45 /* 周期ハンドラIDの最大値 */ 51 46 extern const ID tmax_cycid; 52 47 53 /* üúnh®«*/48 /* 周期ハンドラ属性 */ 54 49 extern const uint16_t cycinib_cycact; 55 50 56 /* üúnhAhX*/51 /* 周期ハンドラアドレス */ 57 52 extern const CYCHDR cycinib_cychdr[]; 58 53 59 /* üúnhüú*/54 /* 周期ハンドラ周期 */ 60 55 extern const RELTIM cycinib_cyctim[]; 61 56 62 /* üúnhÊ*/57 /* 周期ハンドラ位相 */ 63 58 extern const RELTIM cycinib_cycphs[]; 64 59 65 /* üúnhg£îñ*/60 /* 周期ハンドラ拡張情報 */ 66 61 extern const intptr_t cycinib_exinf[]; 67 62 68 /* üúnh®ìóÔ*/63 /* 周期ハンドラ動作状態 */ 69 64 extern uint16_t cyccb_cycact; 70 65 71 /* üúnhÌñN®*/66 /* 周期ハンドラの次回起動時刻 */ 72 67 extern EVTTIM cyccb_evttim[]; 73 68 74 /* üúnhÌ^CCxgIDItZbg*/69 /* 周期ハンドラのタイムイベントIDオフセット */ 75 70 extern const uint_t cycevtid_offset; 76 71 … … 79 74 80 75 /* 81 * üúnh@\Ìú»76 * 周期ハンドラ機能の初期化 82 77 */ 83 78 extern void -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/extension/dataqueue.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 9 9 * Copyright (C) 2011 by Meika Sugimoto 10 10 * 11 * ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF 12 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»EüÏE 13 * ÄzziȺCpÆÄÔj·é±Æð³Åø·éD 14 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 15 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[X 16 * R[hÉÜÜêÄ¢é±ÆD 17 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉgp 18 * Å«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 19 gipÒ} 20 * j 21 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺLÌ³Û 22 * ØKèðfÚ·é±ÆD 23 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉgp 24 * Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD 25 * (a) Äzzɺ¤hL 26 gipÒ}j 27 AÈÇjÉCãLÌì 28 * \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 29 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ 30 * ·é±ÆD 31 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹Q 32 * ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDܽC 33 * {\tgEFAÌ[UܽÍGh[U©çÌ¢©ÈéRÉîà 34 * ¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 11 * 上記著作権者は,以下の (1)〜(4) の条件を満たす場合に限り,本ソフトウェ 12 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改変・ 13 * 再配布(以下,利用と呼ぶ)することを無償で許諾する. 14 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作権 15 * 表示,この利用条件および下記の無保証規定が,そのままの形でソース 16 * コード中に含まれていること. 17 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使用 18 * できる形で再配布する場合には,再配布に伴うドキュメント(利用者マ 19 * ニュアルなど)に,上記の著作権表示,この利用条件および下記の無保 20 * 証規定を掲載すること. 21 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使用 22 * できない形で再配布する場合には,次のいずれかの条件を満たすこと. 23 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著作 24 * 権表示,この利用条件および下記の無保証規定を掲載すること. 25 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに報 26 * 告すること. 27 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害 28 * からも,上記著作権者およびTOPPERSプロジェクトを免責すること.また, 29 * 本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ 30 * く請求からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 35 31 * 36 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ37 * ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉη38 * éK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEFAÌp39 * Éæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»ÌÓCð40 * íÈ¢D32 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者およ 33 * びTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的に対す 34 * る適合性も含めて,いかなる保証も行わない.また,本ソフトウェアの利用 35 * により直接的または間接的に生じたいかなる損害に関しても,その責任を負 36 * わない. 41 37 * 42 38 */ 43 39 44 40 /* 45 * f[^L 46 [@\ 41 * データキュー機能 47 42 */ 48 43 … … 52 47 53 48 /* 54 * g[XO}NÌftHgè`49 * トレースログマクロのデフォルト定義 55 50 */ 56 51 #ifndef LOG_PSND_DTQ_ENTER … … 79 74 80 75 /* 81 * f[^L 82 [ÖÌf[^M 76 * データキューへのデータ送信 83 77 */ 84 78 void … … 86 80 87 81 /* 88 * f[^L 89 [©çÌf[^óM 82 * データキューからのデータ受信 90 83 */ 91 84 void … … 94 87 95 88 /* 96 * f[^L 97 [Ì 89 * データキューの数 98 90 */ 99 91 #define tnum_dtq ((uint_t)(tmax_dtqid - TMIN_DTQID + 1)) 100 92 101 93 /* 102 * f[^L 103 [ID©çf[^L 104 [ÇubNðæèo·½ßÌ}N 94 * データキューIDからデータキュー管理ブロックを取り出すためのマクロ 105 95 */ 106 96 #define INDEX_DTQ(dtqid) ((uint_t)((dtqid) - TMIN_DTQID)) 107 97 108 98 /* 109 * f[^L 110 [@\Ìú» 99 * データキュー機能の初期化 111 100 */ 112 101 #ifdef TOPPERS_dtqini … … 128 117 129 118 /* 130 * f[^L 131 [ªt©Ì`FbN 119 * データキューが満杯かのチェック 132 120 */ 133 121 … … 139 127 140 128 /* 141 * f[^L 142 [ªó©Ì`FbN 129 * データキューが空かのチェック 143 130 */ 144 131 … … 151 138 152 139 /* 153 * f[^L 154 [ÖÌf[^M 140 * データキューへのデータ送信 155 141 */ 156 142 … … 171 157 172 158 /* 173 * MÒ¿L 174 [Ìæª^XN©çÌf[^óM 159 * 送信待ちキューの先頭タスクからのデータ受信 175 160 */ 176 161 #ifdef TOPPERS_dtqdeq … … 190 175 191 176 /* 192 * f[^L 193 [ÖÌMi|[Oj 177 * データキューへの送信(ポーリング) 194 178 */ 195 179 #ifdef TOPPERS_psnd_dtq … … 228 212 229 213 /* 230 * f[^L 231 [ÖÌMi|[OCñ^XNReLXgpj 214 * データキューへの送信(ポーリング,非タスクコンテキスト用) 232 215 */ 233 216 #ifdef TOPPERS_ipsnd_dtq … … 266 249 267 250 /* 268 * f[^L 269 [©çÌóMi|[Oj 251 * データキューからの受信(ポーリング) 270 252 */ 271 253 #ifdef TOPPERS_prcv_dtq -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/extension/dataqueue.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 9 9 * Graduate School of Information Science, Nagoya Univ., JAPAN 10 10 * 11 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 12 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 13 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 14 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 15 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 16 * XR[hÉÜÜêÄ¢é±ÆD 17 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 18 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 19 gip 20 * Ò}j 21 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 22 * ̳ÛØKèðfÚ·é±ÆD 23 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 24 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 25 * ÆD 26 * (a) Äzzɺ¤hL 27 gipÒ}j 28 AÈÇjÉCãLÌ 29 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 30 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 31 * ñ·é±ÆD 32 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 33 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 34 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 35 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 36 * ÆÓ·é±ÆD 11 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 12 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 13 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 14 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 15 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 16 * スコード中に含まれていること. 17 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 18 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 19 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 20 * の無保証規定を掲載すること. 21 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 22 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 23 * と. 24 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 25 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 26 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 27 * 報告すること. 28 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 29 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 30 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 31 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 32 * 免責すること. 37 33 * 38 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨39 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI40 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF41 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»42 * ÌÓCðíÈ¢D34 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 35 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 36 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 37 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 38 * の責任を負わない. 43 39 * 44 40 */ 45 41 46 42 /* 47 * f[^L 48 [@\ 43 * データキュー機能 49 44 */ 50 45 … … 55 50 56 51 /* 57 * f[^L 58 [ú»ubN 52 * データキュー初期化ブロック 59 53 */ 60 extern const ATR dtqinib_atr[]; /* f[^L 61 [®« */ 62 extern intptr_t* const dtqinib_data[]; /* f[^i[ÌæÌæªÔn */ 63 extern const uint8_t dtqinib_size[]; /* f[^L 64 [ÌeÊ */ 54 extern const ATR dtqinib_atr[]; /* データキュー属性 */ 55 extern intptr_t* const dtqinib_data[]; /* データ格納領域の先頭番地 */ 56 extern const uint8_t dtqinib_size[]; /* データキューの容量 */ 65 57 66 58 /* 67 * f[^L 68 [ÇubN 59 * データキュー管理ブロック 69 60 */ 70 extern uint8_t dtqcb_count[]; /* f[^L 71 [Éi[³êÄ¢éf[^Ì */ 72 extern uint8_t dtqcb_head[]; /* ÅÌf[^Ìi[ê */ 73 extern uint8_t dtqcb_tail[]; /* ÅãÌf[^Ìi[êÌ */ 61 extern uint8_t dtqcb_count[]; /* データキューに格納されているデータの数 */ 62 extern uint8_t dtqcb_head[]; /* 最初のデータの格納場所 */ 63 extern uint8_t dtqcb_tail[]; /* 最後のデータの格納場所の次 */ 74 64 75 65 76 66 /* 77 * f[^L 78 [IDÌÅålikernel_cfg.cj 67 * データキューIDの最大値(kernel_cfg.c) 79 68 */ 80 69 extern const ID tmax_dtqid; 81 70 82 71 /* 83 * f[^L 84 [ÇubN©çf[^L 85 [IDðæèo·½ßÌ}N 72 * データキュー管理ブロックからデータキューIDを取り出すためのマクロ 86 73 */ 87 74 #define DTQID(p_dtqcb) ((ID)(((p_dtqcb) - dtqcb_table) + TMIN_DTQID)) 88 75 89 76 /* 90 * f[^L 91 [@\Ìú» 77 * データキュー機能の初期化 92 78 */ 93 79 extern void initialize_dataqueue(void); -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/extension/eventflag.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 11 11 * Nagoya Municipal Industrial Research Institute, JAPAN 12 12 * 13 * ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF 14 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»EüÏE 15 * ÄzziȺCpÆÄÔj·é±Æð³Åø·éD 16 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 17 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[X 18 * R[hÉÜÜêÄ¢é±ÆD 19 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉgp 20 * Å«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 21 gipÒ} 22 * j 23 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺLÌ³Û 24 * ØKèðfÚ·é±ÆD 25 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉgp 26 * Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD 27 * (a) Äzzɺ¤hL 28 gipÒ}j 29 AÈÇjÉCãLÌì 30 * \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 31 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ 32 * ·é±ÆD 33 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹Q 34 * ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDܽC 35 * {\tgEFAÌ[UܽÍGh[U©çÌ¢©ÈéRÉîà 36 * ¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 13 * 上記著作権者は,以下の (1)〜(4) の条件を満たす場合に限り,本ソフトウェ 14 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改変・ 15 * 再配布(以下,利用と呼ぶ)することを無償で許諾する. 16 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作権 17 * 表示,この利用条件および下記の無保証規定が,そのままの形でソース 18 * コード中に含まれていること. 19 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使用 20 * できる形で再配布する場合には,再配布に伴うドキュメント(利用者マ 21 * ニュアルなど)に,上記の著作権表示,この利用条件および下記の無保 22 * 証規定を掲載すること. 23 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使用 24 * できない形で再配布する場合には,次のいずれかの条件を満たすこと. 25 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著作 26 * 権表示,この利用条件および下記の無保証規定を掲載すること. 27 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに報 28 * 告すること. 29 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害 30 * からも,上記著作権者およびTOPPERSプロジェクトを免責すること.また, 31 * 本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ 32 * く請求からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 37 33 * 38 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ39 * ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉη40 * éK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEFAÌp41 * Éæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»ÌÓCð42 * íÈ¢D34 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者およ 35 * びTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的に対す 36 * る適合性も含めて,いかなる保証も行わない.また,本ソフトウェアの利用 37 * により直接的または間接的に生じたいかなる損害に関しても,その責任を負 38 * わない. 43 39 * 44 40 */ 45 41 /* 46 * CxgtO@\42 * イベントフラグ機能 47 43 */ 48 44 … … 53 49 54 50 /* 55 * g[XO}NÌftHgè`51 * トレースログマクロのデフォルト定義 56 52 */ 57 53 #ifndef LOG_SET_FLG_ENTER … … 89 85 90 86 91 /* CxgtOIDID©çÌzñItZbgÖÌÏ·}N*/87 /* イベントフラグIDIDからの配列オフセットへの変換マクロ */ 92 88 #define INDEX_FLG(flgid) ((uint_t)((flgid) - TMIN_FLGID)) 93 89 … … 100 96 for(i = 0 ; i < tmax_flgid ; i++) 101 97 { 102 /* rbgp^[Ìú»*/98 /* ビットパターンの初期化 */ 103 99 flgcb_flgptn[i] = flginib_iflgptn[i]; 104 100 } … … 108 104 109 105 /* 110 * CxgtO𪬧µÄ¢é©Ì`FbN106 * イベントフラグ条件が成立しているかのチェック 111 107 */ 112 108 Inline bool_t … … 134 130 135 131 /* 136 * CxgtOÌZbg132 * イベントフラグのセット 137 133 */ 138 134 #ifdef TOPPERS_set_flg … … 161 157 162 158 /* 163 * CxgtOÌZbgiñ^XNReLXgpj159 * イベントフラグのセット(非タスクコンテキスト用) 164 160 */ 165 161 #ifdef TOPPERS_iset_flg … … 187 183 188 184 /* 189 * CxgtOÌNA185 * イベントフラグのクリア 190 186 */ 191 187 #ifdef TOPPERS_clr_flg … … 214 210 215 211 /* 216 * CxgtOÒ¿i|[Oj212 * イベントフラグ待ち(ポーリング) 217 213 */ 218 214 #ifdef TOPPERS_pol_flg -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/extension/eventflag.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 9 9 * Copyright (C) 2011 by Meika Sugimoto 10 10 * 11 * ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF 12 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»EüÏE 13 * ÄzziȺCpÆÄÔj·é±Æð³Åø·éD 14 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 15 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[X 16 * R[hÉÜÜêÄ¢é±ÆD 17 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉgp 18 * Å«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 19 gipÒ} 20 * j 21 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺLÌ³Û 22 * ØKèðfÚ·é±ÆD 23 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉgp 24 * Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD 25 * (a) Äzzɺ¤hL 26 gipÒ}j 27 AÈÇjÉCãLÌì 28 * \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 29 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ 30 * ·é±ÆD 31 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹Q 32 * ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDܽC 33 * {\tgEFAÌ[UܽÍGh[U©çÌ¢©ÈéRÉîà 34 * ¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 11 * 上記著作権者は,以下の (1)〜(4) の条件を満たす場合に限り,本ソフトウェ 12 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改変・ 13 * 再配布(以下,利用と呼ぶ)することを無償で許諾する. 14 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作権 15 * 表示,この利用条件および下記の無保証規定が,そのままの形でソース 16 * コード中に含まれていること. 17 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使用 18 * できる形で再配布する場合には,再配布に伴うドキュメント(利用者マ 19 * ニュアルなど)に,上記の著作権表示,この利用条件および下記の無保 20 * 証規定を掲載すること. 21 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使用 22 * できない形で再配布する場合には,次のいずれかの条件を満たすこと. 23 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著作 24 * 権表示,この利用条件および下記の無保証規定を掲載すること. 25 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに報 26 * 告すること. 27 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害 28 * からも,上記著作権者およびTOPPERSプロジェクトを免責すること.また, 29 * 本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ 30 * く請求からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 35 31 * 36 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ37 * ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉη38 * éK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEFAÌp39 * Éæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»ÌÓCð40 * íÈ¢D32 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者およ 33 * びTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的に対す 34 * る適合性も含めて,いかなる保証も行わない.また,本ソフトウェアの利用 35 * により直接的または間接的に生じたいかなる損害に関しても,その責任を負 36 * わない. 41 37 * 42 38 */ … … 47 43 48 44 /* 49 * CxgtOú»ubN45 * イベントフラグ初期化ブロック 50 46 */ 51 47 52 /* CxgtO®«*/48 /* イベントフラグ属性 */ 53 49 extern const ATR flginib_atr[]; 54 50 55 /* CxgtOúl*/51 /* イベントフラグ初期値 */ 56 52 extern const FLGPTN flginib_iflgptn[]; 57 53 58 54 /* 59 * CxgtOÇubN55 * イベントフラグ管理ブロック 60 56 */ 61 57 62 /* CxgtO»Ýp^[*/58 /* イベントフラグ現在パターン */ 63 59 extern FLGPTN flgcb_flgptn[]; 64 60 65 61 66 62 /* 67 * CxgtOIDÌÅålikernel_cfg.cj63 * イベントフラグIDの最大値(kernel_cfg.c) 68 64 */ 69 65 extern const ID tmax_flgid; 70 66 71 67 /* 72 * CxgtO@\Ìú»68 * イベントフラグ機能の初期化 73 69 */ 74 70 extern void initialize_eventflag(void); -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/extension/time_event.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 5 5 * Copyright (C) 2011 by Meika Sugimoto 6 6 * 7 * ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF 8 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»EüÏE 9 * ÄzziȺCpÆÄÔj·é±Æð³Åø·éD 10 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 11 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[X 12 * R[hÉÜÜêÄ¢é±ÆD 13 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉgp 14 * Å«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 15 gipÒ} 16 * j 17 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺLÌ³Û 18 * ØKèðfÚ·é±ÆD 19 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉgp 20 * Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌì 24 * \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ 26 * ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹Q 28 * ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDܽC 29 * {\tgEFAÌ[UܽÍGh[U©çÌ¢©ÈéRÉîà 30 * ¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 7 * 上記著作権者は,以下の (1)〜(4) の条件を満たす場合に限り,本ソフトウェ 8 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改変・ 9 * 再配布(以下,利用と呼ぶ)することを無償で許諾する. 10 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作権 11 * 表示,この利用条件および下記の無保証規定が,そのままの形でソース 12 * コード中に含まれていること. 13 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使用 14 * できる形で再配布する場合には,再配布に伴うドキュメント(利用者マ 15 * ニュアルなど)に,上記の著作権表示,この利用条件および下記の無保 16 * 証規定を掲載すること. 17 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使用 18 * できない形で再配布する場合には,次のいずれかの条件を満たすこと. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著作 20 * 権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに報 22 * 告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害 24 * からも,上記著作権者およびTOPPERSプロジェクトを免責すること.また, 25 * 本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ 26 * く請求からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 31 27 * 32 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ33 * ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉη34 * éK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEFAÌp35 * Éæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»ÌÓCð36 * íÈ¢D28 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者およ 29 * びTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的に対す 30 * る適合性も含めて,いかなる保証も行わない.また,本ソフトウェアの利用 31 * により直接的または間接的に生じたいかなる損害に関しても,その責任を負 32 * わない. 37 33 * 38 34 */ … … 44 40 45 41 /* 46 * »ÝÌVXeiPÊ: 1~bj42 * 現在のシステム時刻(単位: 1ミリ秒) 47 43 * 48 * µ§ÉÍCOÌ^CeBbNÌVXeD44 * 厳密には,前のタイムティックのシステム時刻. 49 45 */ 50 46 EVTTIM current_time; 51 47 52 48 /* 53 * ^CCxgq[vÅLøÈŬÌVXeiPÊ: 1~bj49 * タイムイベントヒープ中で有効な最小のシステム時刻(単位: 1ミリ秒) 54 50 */ 55 51 EVTTIM min_time; … … 57 53 58 54 /* 59 * ^CCxgL 60 [ÌL 61 [wb_ 55 * タイムイベントキューのキューヘッダ 62 56 * 63 * ^CCxgL 64 [ubNÌI[ÉmÛ·éD 57 * タイムイベントキューブロックの終端に確保する. 65 58 */ 66 59 #define TMEVT_HEAD() (tmevt_queue[tnum_tmevt_queue]) … … 68 61 69 62 /* 70 * Cxg¶är}N63 * イベント発生時刻比較マクロ 71 64 * 72 * Cxg¶ÍCmin_time©çÌÎlÅär·éD·Èí¿C73 * min_time ðŬliÅàߢjCmit_time-1ªÅåliÅà¢j74 * ÆÝȵÄär·éD65 * イベント発生時刻は,min_timeからの相対値で比較する.すなわち, 66 * min_timeを最小値(最も近い時刻),mit_time-1が最大値(最も遠い時刻) 67 * とみなして比較する. 75 68 */ 76 69 #define EVTTIM_LT(t1, t2) (((t1) - min_time) < ((t2) - min_time)) … … 78 71 79 72 /* 80 * ^CCxgÌú»73 * タイムイベントの初期化 81 74 */ 82 75 … … 86 79 initialize_time_event(void) 87 80 { 88 /* ÏÌú»*/81 /* 変数の初期化 */ 89 82 current_time = 0U; 90 83 min_time = 0U; 91 84 92 /* ^CCxgL 93 [Ìú» */ 85 /* タイムイベントキューの初期化 */ 94 86 queue_initialize(&TMEVT_HEAD() , (QUEIDX)tnum_tmevt_queue); 95 87 } … … 98 90 99 91 /* 100 * ^CCxgÌo^92 * タイムイベントの登録 101 93 */ 102 94 … … 108 100 QUEIDX pos = TMEVT_HEAD().next; 109 101 110 /* }üÊuðõ*/102 /* 挿入位置を検索 */ 111 103 while((pos != TMEVT_NULL) 112 104 && (EVTTIM_LE(tmevt_time[pos] , evttim))) { … … 114 106 } 115 107 116 /* L 117 [É}ü */ 108 /* キューに挿入 */ 118 109 queue_insert_prev(&(tmevt_queue[0]) , pos , (QUEIDX)tmevtid); 119 110 tmevt_callback[tmevtid] = (CBACK)callback; … … 125 116 126 117 /* 127 * ^CCxgÌí118 * タイムイベントの削除 128 119 */ 129 120 … … 133 124 time_event_dequeue(ID tmevtid) 134 125 { 135 /* L 136 [©çí */ 126 /* キューから削除 */ 137 127 (void)queue_delete_next(&(tmevt_queue[0]) , (QUEIDX)tmevtid); 138 128 } … … 141 131 142 132 /* 143 * VXeÌÊm133 * システム時刻の通知 144 134 */ 145 135 … … 153 143 i_lock_cpu(); 154 144 155 /* »ÝÌXV*/145 /* 現在時刻の更新 */ 156 146 current_time += (EVTTIM)TIC_NUME; 157 147 158 /* R[obNÌÀs*/148 /* コールバックの実行 */ 159 149 while((pos != TMEVT_NULL) 160 150 && EVTTIM_LT(tmevt_time[pos] , current_time)) { … … 165 155 } 166 156 167 /* min_time ÌXV*/157 /* min_timeの更新 */ 168 158 min_time = current_time; 169 159 -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/extension/time_event.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 5 5 * Copyright (C) 2011 by Meika Sugimoto 6 6 * 7 * ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF 8 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»EüÏE 9 * ÄzziȺCpÆÄÔj·é±Æð³Åø·éD 10 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 11 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[X 12 * R[hÉÜÜêÄ¢é±ÆD 13 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉgp 14 * Å«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 15 gipÒ} 16 * j 17 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺLÌ³Û 18 * ØKèðfÚ·é±ÆD 19 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉgp 20 * Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌì 24 * \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ 26 * ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹Q 28 * ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDܽC 29 * {\tgEFAÌ[UܽÍGh[U©çÌ¢©ÈéRÉîà 30 * ¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 7 * 上記著作権者は,以下の (1)〜(4) の条件を満たす場合に限り,本ソフトウェ 8 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改変・ 9 * 再配布(以下,利用と呼ぶ)することを無償で許諾する. 10 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作権 11 * 表示,この利用条件および下記の無保証規定が,そのままの形でソース 12 * コード中に含まれていること. 13 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使用 14 * できる形で再配布する場合には,再配布に伴うドキュメント(利用者マ 15 * ニュアルなど)に,上記の著作権表示,この利用条件および下記の無保 16 * 証規定を掲載すること. 17 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使用 18 * できない形で再配布する場合には,次のいずれかの条件を満たすこと. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著作 20 * 権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに報 22 * 告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害 24 * からも,上記著作権者およびTOPPERSプロジェクトを免責すること.また, 25 * 本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ 26 * く請求からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 31 27 * 32 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ33 * ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉη34 * éK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEFAÌp35 * Éæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»ÌÓCð36 * íÈ¢D28 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者およ 29 * びTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的に対す 30 * る適合性も含めて,いかなる保証も行わない.また,本ソフトウェアの利用 31 * により直接的または間接的に生じたいかなる損害に関しても,その責任を負 32 * わない. 37 33 * 38 34 */ … … 44 40 #include "queue.h" 45 41 46 /* Cxg*/42 /* イベント時刻 */ 47 43 typedef ulong_t EVTTIM; 48 44 49 45 /* 50 * ^CCxgR[obNÖ46 * タイムイベントコールバック関数 51 47 */ 52 48 … … 54 50 55 51 /* 56 * ^CCxgubN52 * タイムイベントブロック 57 53 * 58 * RtBM 59 [^ÉæÁĶ¬·éD 54 * コンフィギュレータによって生成する. 60 55 */ 61 56 62 /* ^CCxgubNÌTCY*/57 /* タイムイベントブロックのサイズ */ 63 58 extern const uint_t tnum_tmevt_queue; 64 59 65 /* ^CCxgL 66 [ */ 60 /* タイムイベントキュー */ 67 61 extern QUEUE tmevt_queue[]; 68 62 69 /* ^CCxgÔ*/63 /* タイムイベント時間 */ 70 64 extern EVTTIM tmevt_time[]; 71 65 72 /* ^CCxgÌR[obN*/66 /* タイムイベントのコールバック */ 73 67 extern CBACK tmevt_callback[]; 74 68 75 /* ^CCxgR[obNÌø*/69 /* タイムイベントコールバックの引数 */ 76 70 extern uintptr_t tmevt_arg[]; 77 71 78 72 79 /* »ÝÌVXe*/73 /* 現在のシステム時刻 */ 80 74 extern EVTTIM current_time; 81 75 82 76 83 77 /* 84 * ^CCxgÌú»78 * タイムイベントの初期化 85 79 */ 86 80 extern void … … 88 82 89 83 /* 90 * ^CCxgÌo^84 * タイムイベントの登録 91 85 */ 92 86 extern void … … 94 88 95 89 /* 96 * ^CCxgÌí90 * タイムイベントの削除 97 91 */ 98 92 extern void … … 100 94 101 95 /* 102 * ^CeBbNÌ96 * タイムティックの供給 103 97 */ 104 98 extern void -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/extension/time_manage.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 6 6 * Nagoya Municipal Industrial Research Institute, JAPAN 7 7 * 8 * ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF 9 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»EüÏE 10 * ÄzziȺCpÆÄÔj·é±Æð³Åø·éD 11 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 12 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[X 13 * R[hÉÜÜêÄ¢é±ÆD 14 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉgp 15 * Å«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 16 gipÒ} 17 * j 18 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺLÌ³Û 19 * ØKèðfÚ·é±ÆD 20 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉgp 21 * Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD 22 * (a) Äzzɺ¤hL 23 gipÒ}j 24 AÈÇjÉCãLÌì 25 * \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 26 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ 27 * ·é±ÆD 28 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹Q 29 * ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDܽC 30 * {\tgEFAÌ[UܽÍGh[U©çÌ¢©ÈéRÉîà 31 * ¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 8 * 上記著作権者は,以下の (1)〜(4) の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改変・ 10 * 再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作権 12 * 表示,この利用条件および下記の無保証規定が,そのままの形でソース 13 * コード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使用 15 * できる形で再配布する場合には,再配布に伴うドキュメント(利用者マ 16 * ニュアルなど)に,上記の著作権表示,この利用条件および下記の無保 17 * 証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使用 19 * できない形で再配布する場合には,次のいずれかの条件を満たすこと. 20 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著作 21 * 権表示,この利用条件および下記の無保証規定を掲載すること. 22 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに報 23 * 告すること. 24 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害 25 * からも,上記著作権者およびTOPPERSプロジェクトを免責すること.また, 26 * 本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ 27 * く請求からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ34 * ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉη35 * éK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEFAÌp36 * Éæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»ÌÓCð37 * íÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者およ 30 * びTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的に対す 31 * る適合性も含めて,いかなる保証も行わない.また,本ソフトウェアの利用 32 * により直接的または間接的に生じたいかなる損害に関しても,その責任を負 33 * わない. 38 34 * 39 35 */ 40 36 41 37 /* 42 * VXeÔÇ38 * システム時間管理 43 39 */ 44 40 -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/include/itron.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 8 8 * Graduate School of Information Science, Nagoya Univ., JAPAN 9 9 * 10 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 11 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 12 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 13 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 14 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 15 * XR[hÉÜÜêÄ¢é±ÆD 16 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 17 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 18 gip 19 * Ò}j 20 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 21 * ̳ÛØKèðfÚ·é±ÆD 22 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 23 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 24 * ÆD 25 * (a) Äzzɺ¤hL 26 gipÒ}j 27 AÈÇjÉCãLÌ 28 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 29 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 30 * ñ·é±ÆD 31 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 32 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 33 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 34 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 35 * ÆÓ·é±ÆD 10 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 11 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 12 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 13 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 14 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 15 * スコード中に含まれていること. 16 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 17 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 18 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 19 * の無保証規定を掲載すること. 20 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 21 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 22 * と. 23 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 24 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 25 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 26 * 報告すること. 27 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 28 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 29 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 30 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 31 * 免責すること. 36 32 * 37 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨38 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI39 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF40 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»41 * ÌÓCðíÈ¢D33 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 34 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 35 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 36 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 37 * の責任を負わない. 42 38 * 43 39 * @(#) $Id$ … … 45 41 46 42 /* 47 * ITRON dl¤ÊKèÌf[^^EèE}N43 * ITRON仕様共通規定のデータ型・定数・マクロ 48 44 * 49 * ±Ìwb_t@CÍCITRONdl¤ÊKèÌf[^^EèE}NÌ50 * ÅCTOPPERS¤Êwb_t@CÉÜÜêÈ¢àÌÌè`ðÜÞDITRONd51 * lÆÌÝ·«ðKvÆ·éAvP[VªCN[h·é±Æðz52 * èµÄ¢éD45 * このヘッダファイルは,ITRON仕様共通規定のデータ型・定数・マクロの中 46 * で,TOPPERS共通ヘッダファイルに含まれないものの定義を含む.ITRON仕 47 * 様との互換性を必要とするアプリケーションがインクルードすることを想 48 * 定している. 53 49 * 54 * AZu¾êÌ\[Xt@C©ç±Ìt@CðCN[h·é55 * ÍCTOPPERS_MACRO_ONLYðè`µÄ¨D±êÉæèC}Nè`ÈOð56 * æ¤ÉÈÁÄ¢éD50 * アセンブリ言語のソースファイルからこのファイルをインクルードする時 51 * は,TOPPERS_MACRO_ONLYを定義しておく.これにより,マクロ定義以外を 52 * 除くようになっている. 57 53 */ 58 54 … … 65 61 66 62 /* 67 * TOPPERS ¤Êwb_t@C63 * TOPPERS共通ヘッダファイル 68 64 */ 69 65 #include "t_stddef.h" 70 66 71 67 /* 72 * ITRON dl¤Êf[^^68 * ITRON仕様共通データ型 73 69 */ 74 70 #ifndef TOPPERS_MACRO_ONLY 75 71 76 72 #ifdef INT8_MAX 77 typedef int8_t B; /* t«8rbg®*/73 typedef int8_t B; /* 符号付き8ビット整数 */ 78 74 #endif /* INT8_MAX */ 79 75 80 76 #ifdef UINT8_MAX 81 typedef uint8_t UB; /* ³µ8rbg®*/82 typedef uint8_t VB; /* ^ªèÜçÈ¢8rbgÌl*/77 typedef uint8_t UB; /* 符号無し8ビット整数 */ 78 typedef uint8_t VB; /* 型が定まらない8ビットの値 */ 83 79 #endif /* UINT8_MAX */ 84 80 85 typedef int16_t H; /* t«16rbg®*/86 typedef uint16_t UH; /* ³µ16rbg®*/87 typedef uint16_t VH; /* ^ªèÜçÈ¢16rbgÌl*/81 typedef int16_t H; /* 符号付き16ビット整数 */ 82 typedef uint16_t UH; /* 符号無し16ビット整数 */ 83 typedef uint16_t VH; /* 型が定まらない16ビットの値 */ 88 84 89 typedef int32_t W; /* t«32rbg®*/90 typedef uint32_t UW; /* ³µ32rbg®*/91 typedef uint32_t VW; /* ^ªèÜçÈ¢32rbgÌl*/85 typedef int32_t W; /* 符号付き32ビット整数 */ 86 typedef uint32_t UW; /* 符号無し32ビット整数 */ 87 typedef uint32_t VW; /* 型が定まらない32ビットの値 */ 92 88 93 89 #ifdef INT64_MAX 94 typedef int64_t D; /* t«64rbg®*/90 typedef int64_t D; /* 符号付き64ビット整数 */ 95 91 #endif /* INT64_MAX */ 96 92 97 93 #ifdef UINT64_MAX 98 typedef uint64_t UD; /* ³µ64rbg®*/99 typedef uint64_t VD; /* ^ªèÜçÈ¢64rbgÌl*/94 typedef uint64_t UD; /* 符号無し64ビット整数 */ 95 typedef uint64_t VD; /* 型が定まらない64ビットの値 */ 100 96 #endif /* UINT64_MAX */ 101 97 102 typedef void *VP; /* ^ªèÜçÈ¢àÌÖÌ|C^*/98 typedef void *VP; /* 型が定まらないものへのポインタ */ 103 99 104 typedef int_t INT; /* ©RÈTCYÌt«®*/105 typedef uint_t UINT; /* ©RÈTCY̳µ®*/100 typedef int_t INT; /* 自然なサイズの符号付き整数 */ 101 typedef uint_t UINT; /* 自然なサイズの符号無し整数 */ 106 102 107 typedef bool_t BOOL; /* ^Ul*/103 typedef bool_t BOOL; /* 真偽値 */ 108 104 109 typedef intptr_t VP_INT; /* |C^ܽÍt«®*/105 typedef intptr_t VP_INT; /* ポインタまたは符号付き整数 */ 110 106 111 107 #endif /* TOPPERS_MACRO_ONLY */ 112 108 113 109 /* 114 * ITRON dl¤Êè110 * ITRON仕様共通定数 115 111 */ 116 #define TRUE true /* ^*/117 #define FALSE false /* U*/112 #define TRUE true /* 真 */ 113 #define FALSE false /* 偽 */ 118 114 119 115 /* 120 * IuWFNg®«Ìè`116 * オブジェクト属性の定義 121 117 */ 122 #define TA_HLNG UINT_C(0x00) /* ¾êpC^tF[X */ 123 #define TA_TFIFO UINT_C(0x00) /* ^XNÌÒ¿sñðFIFOÉ */ 124 #define TA_MFIFO UINT_C(0x00) /* bZ[WL 125 [ðFIFOÉ */ 126 #define TA_WSGL UINT_C(0x00) /* Ò¿^XNÍ1ÂÌÝ */ 127 #define TA_DISINT UINT_C(0x00) /* ÝvÖ~tOðZbg */ 128 #define TA_LEVEL UINT_C(0x00) /* xgK */ 118 #define TA_HLNG UINT_C(0x00) /* 高級言語用インタフェース */ 119 #define TA_TFIFO UINT_C(0x00) /* タスクの待ち行列をFIFO順に */ 120 #define TA_MFIFO UINT_C(0x00) /* メッセージキューをFIFO順に */ 121 #define TA_WSGL UINT_C(0x00) /* 待ちタスクは1つのみ */ 122 #define TA_DISINT UINT_C(0x00) /* 割込み要求禁止フラグをセット */ 123 #define TA_LEVEL UINT_C(0x00) /* レベルトリガ */ 129 124 130 125 /* 131 * lXgñÌÅål126 * ネスト回数の最大値 132 127 */ 133 #define TMAX_SUSCNT UINT_C(1) /* §Ò¿vlXgÌÅål*/128 #define TMAX_SUSCNT UINT_C(1) /* 強制待ち要求ネスト数の最大値 */ 134 129 135 130 /* 136 * §Ò¿óÔ©ç̧ÄJ131 * 強制待ち状態からの強制再開 137 132 */ 138 133 #define frsm_tsk(tskid) rsm_tsk(tskid) -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/include/kernel.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 11 11 * Copyright (C) 2010-2012 by Meika Sugimoto 12 12 * 13 * ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF 14 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»EüÏE 15 * ÄzziȺCpÆÄÔj·é±Æð³Åø·éD 16 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 17 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[X 18 * R[hÉÜÜêÄ¢é±ÆD 19 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉgp 20 * Å«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 21 gipÒ} 22 * j 23 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺLÌ³Û 24 * ØKèðfÚ·é±ÆD 25 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉgp 26 * Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD 27 * (a) Äzzɺ¤hL 28 gipÒ}j 29 AÈÇjÉCãLÌì 30 * \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 31 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ 32 * ·é±ÆD 33 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹Q 34 * ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDܽC 35 * {\tgEFAÌ[UܽÍGh[U©çÌ¢©ÈéRÉîà 36 * ¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 13 * 上記著作権者は,以下の (1)〜(4) の条件を満たす場合に限り,本ソフトウェ 14 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改変・ 15 * 再配布(以下,利用と呼ぶ)することを無償で許諾する. 16 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作権 17 * 表示,この利用条件および下記の無保証規定が,そのままの形でソース 18 * コード中に含まれていること. 19 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使用 20 * できる形で再配布する場合には,再配布に伴うドキュメント(利用者マ 21 * ニュアルなど)に,上記の著作権表示,この利用条件および下記の無保 22 * 証規定を掲載すること. 23 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使用 24 * できない形で再配布する場合には,次のいずれかの条件を満たすこと. 25 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著作 26 * 権表示,この利用条件および下記の無保証規定を掲載すること. 27 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに報 28 * 告すること. 29 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害 30 * からも,上記著作権者およびTOPPERSプロジェクトを免責すること.また, 31 * 本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ 32 * く請求からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 37 33 * 38 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ39 * ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉη40 * éK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEFAÌp41 * Éæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»ÌÓCð42 * íÈ¢D34 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者およ 35 * びTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的に対す 36 * る適合性も含めて,いかなる保証も行わない.また,本ソフトウェアの利用 37 * により直接的または間接的に生じたいかなる損害に関しても,その責任を負 38 * わない. 43 39 * 44 40 */ 45 41 46 42 /* 47 * TOPPERS/SSP J[l Wwb_t@C48 * 49 * TOPPERS/SSP J[lªT|[g·éT[rXR[Ìé¾ÆCKvÈf[50 * ^^CèC}NÌè`ðÜÞwb_t@CD51 * 52 * AZu¾êÌ\[Xt@C©ç±Ìt@CðCN[h·é53 * ÍCTOPPERS_MACRO_ONLYðè`µÄ¨D±êÉæèC}Nè`ÈOð54 * æ¤ÉÈÁÄ¢éD55 * 56 * ±Ìt@CðCN[h·éOÉCN[hµÄ¨×«t@C57 * ÍÈ¢D43 * TOPPERS/SSPカーネル 標準ヘッダファイル 44 * 45 * TOPPERS/SSPカーネルがサポートするサービスコールの宣言と,必要なデー 46 * タ型,定数,マクロの定義を含むヘッダファイル. 47 * 48 * アセンブリ言語のソースファイルからこのファイルをインクルードする時 49 * は,TOPPERS_MACRO_ONLYを定義しておく.これにより,マクロ定義以外を 50 * 除くようになっている. 51 * 52 * このファイルをインクルードする前にインクルードしておくべきファイル 53 * はない. 58 54 */ 59 55 … … 62 58 63 59 /* 64 * TOPPERS ¤ÊÌf[^^EèE}N60 * TOPPERS共通のデータ型・定数・マクロ 65 61 */ 66 62 #include <t_stddef.h> 67 63 68 64 /* 69 * ^[Qbg˶65 * ターゲット依存部 70 66 */ 71 67 #include "target_kernel.h" … … 73 69 74 70 /* 75 * f[^^Ìè`76 */ 77 78 /* 79 * rbgp^[âIuWFNgÔÌ^è`80 */ 81 typedef uint_t INTNO; /* ÝÔ*/82 typedef uint_t INHNO; /* ÝnhÔ*/83 typedef uint_t EXCNO; /* CPU áOnhÔ*/84 typedef unsigned long FLGPTN; /* CxgtOp^[*/85 86 87 /* 88 * PÊÌ^è`71 * データ型の定義 72 */ 73 74 /* 75 * ビットパターンやオブジェクト番号の型定義 76 */ 77 typedef uint_t INTNO; /* 割込み番号 */ 78 typedef uint_t INHNO; /* 割込みハンドラ番号 */ 79 typedef uint_t EXCNO; /* CPU例外ハンドラ番号 */ 80 typedef unsigned long FLGPTN; /* イベントフラグパターン */ 81 82 83 /* 84 * 処理単位の型定義 89 85 */ 90 86 typedef void (*TASK)(intptr_t exinf); … … 98 94 99 95 /* 100 * ÌæmÛ̽ßÌ^è`96 * メモリ領域確保のための型定義 101 97 */ 102 98 #ifndef TOPPERS_STK_T 103 99 #define TOPPERS_STK_T intptr_t 104 100 #endif /* TOPPERS_STK_T */ 105 typedef TOPPERS_STK_T STK_T; /* X^bNÌæðmÛ·é½ßÌ^*/106 107 108 /* 109 * T[rXR[Ìé¾110 */ 111 112 /* 113 * ^XNÇ@\101 typedef TOPPERS_STK_T STK_T; /* スタック領域を確保するための型 */ 102 103 104 /* 105 * サービスコールの宣言 106 */ 107 108 /* 109 * タスク管理機能 114 110 */ 115 111 extern ER act_tsk(ID tskid); … … 117 113 118 114 /* 119 * ¯úEÊM@\ 120 */ 121 122 /* f[^L 123 [ */ 115 * 同期・通信機能 116 */ 117 118 /* データキュー */ 124 119 extern ER psnd_dtq(ID dtqid, intptr_t data); 125 120 extern ER ipsnd_dtq(ID dtqid, intptr_t data); 126 121 extern ER prcv_dtq(ID dtqid, intptr_t *p_data); 127 122 128 /* CxgtO*/123 /* イベントフラグ */ 129 124 extern ER set_flg(ID flgid, FLGPTN setptn); 130 125 extern ER iset_flg(ID flgid, FLGPTN setptn); … … 133 128 134 129 /* 135 * VXeóÔÇ@\130 * システム状態管理機能 136 131 */ 137 132 extern ER loc_cpu(void); … … 149 144 150 145 /* 151 * ÝÇ@\146 * 割込み管理機能 152 147 */ 153 148 extern ER dis_int(INTNO intno); … … 155 150 156 151 /* 157 * üúnh@\152 * 周期ハンドラ機能 158 153 */ 159 154 extern ER sta_cyc(ID cycid); … … 161 156 162 157 /* 163 * A[nh@\158 * アラームハンドラ機能 164 159 */ 165 160 extern ER sta_alm(ID almid , RELTIM almtim); … … 169 164 170 165 /* 171 * VXeÇ@\166 * システム時刻管理機能 172 167 */ 173 168 extern ER get_tim(SYSTIM *p_systim); … … 176 171 177 172 /* 178 * IuWFNg®«Ìè`179 */ 180 #define TA_RSTR UINT_C(0x04) /* §ñ^XN*/181 182 #define TA_CLR UINT_C(0x04) /* CxgtOÌNAwè*/183 184 #define TA_ACT UINT_C(0x02) /* ^XNðN®³ê½óÔŶ¬*/185 186 #define TA_STA UINT_C(0x02) /* üúnhð®ìóÔŶ¬*/187 188 #define TA_NONKERNEL UINT_C(0x02) /* J[lÇOÌÝ*/189 190 #define TA_ENAINT UINT_C(0x01) /* ÝvÖ~tOðNA*/191 #define TA_EDGE UINT_C(0x02) /* GbWgK*/192 193 /* 194 * T[rXR[Ì®ì[hÌè`195 */ 196 #define TWF_ORW UINT_C(0x01) /* CxgtOÌORÒ¿*/197 #define TWF_ANDW UINT_C(0x02) /* CxgtOÌANDÒ¿*/198 199 /* 200 * »Ì¼ÌèÌè`201 */ 202 #define TSK_SELF 0 /* ©^XNwè*/203 #define TSK_NONE 0 /* Y·é^XNªÈ¢*/204 205 #define TPRI_INI 0 /* ^XNÌN®Dæx*/206 207 #define TIPM_ENAALL 0 /* ÝDæx}XNSð*/208 209 /* 210 * \¬èÆ}N211 */ 212 213 /* 214 * DæxÌÍÍ215 */ 216 #define TMIN_TPRI 1 /* ^XNDæxÌŬliÅlj*/173 * オブジェクト属性の定義 174 */ 175 #define TA_RSTR UINT_C(0x04) /* 制約タスク */ 176 177 #define TA_CLR UINT_C(0x04) /* イベントフラグのクリア指定 */ 178 179 #define TA_ACT UINT_C(0x02) /* タスクを起動された状態で生成 */ 180 181 #define TA_STA UINT_C(0x02) /* 周期ハンドラを動作状態で生成 */ 182 183 #define TA_NONKERNEL UINT_C(0x02) /* カーネル管理外の割込み */ 184 185 #define TA_ENAINT UINT_C(0x01) /* 割込み要求禁止フラグをクリア */ 186 #define TA_EDGE UINT_C(0x02) /* エッジトリガ */ 187 188 /* 189 * サービスコールの動作モードの定義 190 */ 191 #define TWF_ORW UINT_C(0x01) /* イベントフラグのOR待ち */ 192 #define TWF_ANDW UINT_C(0x02) /* イベントフラグのAND待ち */ 193 194 /* 195 * その他の定数の定義 196 */ 197 #define TSK_SELF 0 /* 自タスク指定 */ 198 #define TSK_NONE 0 /* 該当するタスクがない */ 199 200 #define TPRI_INI 0 /* タスクの起動時優先度 */ 201 202 #define TIPM_ENAALL 0 /* 割込み優先度マスク全解除 */ 203 204 /* 205 * 構成定数とマクロ 206 */ 207 208 /* 209 * 優先度の範囲 210 */ 211 #define TMIN_TPRI 1 /* タスク優先度の最小値(最高値)*/ 217 212 #ifndef TMAX_TPRI 218 #define TMAX_TPRI 16 /* ^XNDæxÌÅåliÅálj*/213 #define TMAX_TPRI 16 /* タスク優先度の最大値(最低値)*/ 219 214 #elif (TMAX_TPRI != 8) && (TMAX_TPRI != 16) 220 215 #error "TMAX_TPRI must defined 8 or 16." 221 216 #endif /* TMAX_TPRI */ 222 217 223 #define TMIN_ISRPRI 1 /* ÝT[rX[`DæxÌŬl*/218 #define TMIN_ISRPRI 1 /* 割込みサービスルーチン優先度の最小値 */ 224 219 #ifndef TMAX_ISRPRI 225 #define TMAX_ISRPRI 16 /* ÝT[rX[`DæxÌÅål*/220 #define TMAX_ISRPRI 16 /* 割込みサービスルーチン優先度の最大値 */ 226 221 #elif (TMAX_ISRPRI != 8) && (TMAX_ISRPRI != 16) 227 222 #error "TMAX_ISRPRI must defined 8 or 16." … … 229 224 230 225 /* 231 * o[Wîñ 232 */ 233 #define TKERNEL_MAKER UINT_C(0x0118) /* J[lÌ[J[R[h */ 234 #define TKERNEL_PRID UINT_C(0x0007) /* J[l̯ÊÔ */ 235 #define TKERNEL_SPVER UINT_C(0xf511) /* J[ldlÌo[WÔ */ 236 #define TKERNEL_PRVER UINT_C(0x1030) /* J[lÌo[WÔ */ 237 238 /* 239 * L 240 [COñÌÅål 241 */ 242 #define TMAX_ACTCNT UINT_C(1) /* N®vL 243 [COÌÅål */ 244 245 /* 246 * rbgp^[Ìrbg 247 */ 248 #ifndef TBIT_FLGPTN /* CxgtOÌrbg */ 226 * バージョン情報 227 */ 228 #define TKERNEL_MAKER UINT_C(0x0118) /* カーネルのメーカーコード */ 229 #define TKERNEL_PRID UINT_C(0x0007) /* カーネルの識別番号 */ 230 #define TKERNEL_SPVER UINT_C(0xf511) /* カーネル仕様のバージョン番号 */ 231 #define TKERNEL_PRVER UINT_C(0x1030) /* カーネルのバージョン番号 */ 232 233 /* 234 * キューイング回数の最大値 235 */ 236 #define TMAX_ACTCNT UINT_C(1) /* 起動要求キューイング数の最大値 */ 237 238 /* 239 * ビットパターンのビット数 240 */ 241 #ifndef TBIT_FLGPTN /* イベントフラグのビット数 */ 249 242 #define TBIT_FLGPTN (sizeof(FLGPTN) * CHAR_BIT) 250 243 #endif /* TBIT_FLGPTN */ 251 244 252 245 /* 253 * ÌæmÛ̽ßÌ}N254 * 255 * ȺÌTOPPERS_COUNT_SZÆTOPPERS_ROUND_SZÌè`ÍCunitª2ÌÐæÅ256 * é±Æð¼èµÄ¢éD246 * メモリ領域確保のためのマクロ 247 * 248 * 以下のTOPPERS_COUNT_SZとTOPPERS_ROUND_SZの定義は,unitが2の巾乗であ 249 * ることを仮定している. 257 250 */ 258 251 #ifndef TOPPERS_COUNT_SZ … … 267 260 268 261 /* 269 * »Ì¼Ì\¬è270 */ 271 #define TMAX_MAXCYC UINT_C(16) /* üúnhÌÅå*/272 #define TMAX_MAXALM UINT_C(16) /* A[nhÌÅå*/262 * その他の構成定数 263 */ 264 #define TMAX_MAXCYC UINT_C(16) /* 周期ハンドラの最大数 */ 265 #define TMAX_MAXALM UINT_C(16) /* アラームハンドラの最大数 */ 273 266 274 267 #endif /* TOPPERS_KERNEL_H */ -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/include/log_output.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 10 10 * Nagoya Municipal Industrial Research Institute, JAPAN 11 11 * 12 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 13 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 14 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 15 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 16 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 17 * XR[hÉÜÜêÄ¢é±ÆD 18 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 19 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 20 gip 21 * Ò}j 22 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 23 * ̳ÛØKèðfÚ·é±ÆD 24 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 25 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 26 * ÆD 27 * (a) Äzzɺ¤hL 28 gipÒ}j 29 AÈÇjÉCãLÌ 30 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 31 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 32 * ñ·é±ÆD 33 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 34 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 35 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 36 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 37 * ÆÓ·é±ÆD 12 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 13 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 14 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 15 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 16 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 17 * スコード中に含まれていること. 18 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 19 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 20 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 21 * の無保証規定を掲載すること. 22 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 23 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 24 * と. 25 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 26 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 27 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 28 * 報告すること. 29 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 30 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 31 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 32 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 33 * 免責すること. 38 34 * 39 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨40 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI41 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF42 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»43 * ÌÓCðíÈ¢D35 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 36 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 37 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 38 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 39 * の責任を負わない. 44 40 * 45 41 * @(#) $Id$ … … 47 43 48 44 /* 49 * VXeOÌtH[}bgoÍ45 * システムログのフォーマット出力 50 46 */ 51 47 … … 60 56 61 57 /* 62 * ¶ñ®`oÍ58 * 文字列整形出力 63 59 * 64 * format Åwè³êétH[}bgLqÆp_argsÅwè³êéøñ©çì65 * ¬µ½bZ[WðC1¶oÍÖputcðp¢ÄoÍ·éD60 * formatで指定されるフォーマット記述とp_argsで指定される引数列から作 61 * 成したメッセージを,1文字出力関数putcを用いて出力する. 66 62 */ 67 63 extern void syslog_printf(const char *format, const intptr_t *p_args, … … 69 65 70 66 /* 71 * OîñÌoÍ67 * ログ情報の出力 72 68 * 73 * p_syslog Åwè³êéOîñð¶ñÉ®`µC1¶oÍÖputcðp74 * ¢ÄoÍ·éD69 * p_syslogで指定されるログ情報を文字列に整形し,1文字出力関数putcを用 70 * いて出力する. 75 71 */ 76 72 extern void syslog_print(const SYSLOG *p_syslog, void (*putc)(char)) throw(); 77 73 78 74 /* 79 * Oîñr¸bZ[W¶ñ75 * ログ情報喪失メッセージ文字列 80 76 * 81 * lost ÂÌOîñª¸íê½|ÌbZ[WðC1¶oÍÖputcðp¢82 * ÄoÍ·éD77 * lost個のログ情報が失われた旨のメッセージを,1文字出力関数putcを用い 78 * て出力する. 83 79 */ 84 80 extern void syslog_lostmsg(uint_t lost, void (*putc)(char)) throw(); -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/include/queue.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 5 5 * Copyright (C) 2011 by Meika Sugimoto 6 6 * 7 * ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF 8 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»EüÏE 9 * ÄzziȺCpÆÄÔj·é±Æð³Åø·éD 10 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 11 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[X 12 * R[hÉÜÜêÄ¢é±ÆD 13 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉgp 14 * Å«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 15 gipÒ} 16 * j 17 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺLÌ³Û 18 * ØKèðfÚ·é±ÆD 19 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉgp 20 * Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌì 24 * \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ 26 * ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹Q 28 * ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDܽC 29 * {\tgEFAÌ[UܽÍGh[U©çÌ¢©ÈéRÉîà 30 * ¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 7 * 上記著作権者は,以下の (1)〜(4) の条件を満たす場合に限り,本ソフトウェ 8 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改変・ 9 * 再配布(以下,利用と呼ぶ)することを無償で許諾する. 10 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作権 11 * 表示,この利用条件および下記の無保証規定が,そのままの形でソース 12 * コード中に含まれていること. 13 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使用 14 * できる形で再配布する場合には,再配布に伴うドキュメント(利用者マ 15 * ニュアルなど)に,上記の著作権表示,この利用条件および下記の無保 16 * 証規定を掲載すること. 17 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使用 18 * できない形で再配布する場合には,次のいずれかの条件を満たすこと. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著作 20 * 権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに報 22 * 告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害 24 * からも,上記著作権者およびTOPPERSプロジェクトを免責すること.また, 25 * 本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ 26 * く請求からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 31 27 * 32 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ33 * ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉη34 * éK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEFAÌp35 * Éæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»ÌÓCð36 * íÈ¢D28 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者およ 29 * びTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的に対す 30 * る適合性も含めて,いかなる保証も行わない.また,本ソフトウェアの利用 31 * により直接的または間接的に生じたいかなる損害に関しても,その責任を負 32 * わない. 37 33 * 38 34 */ 39 35 40 36 /* 41 * L 42 [ìwb_ 37 * キュー操作ヘッダ 43 38 * 44 * SSPJ[lÅÍßñ̽ßÉCfbNXðgpµ½L 45 [ðp¢é 39 * SSPカーネルではメモリ節約のためにインデックスを使用したキューを用いる 46 40 */ 47 41 … … 49 43 #define TOPPERS_QUEUE_H 50 44 51 /* L 52 [ÌCfbNX */ 45 /* キューのインデックス */ 53 46 typedef uint8_t QUEIDX; 54 47 55 /* L 56 [\¢Ì */ 48 /* キュー構造体 */ 57 49 typedef struct 58 50 { … … 62 54 63 55 64 /* L 65 [wb_Ìú» */ 56 /* キューヘッダの初期化 */ 66 57 Inline void 67 58 queue_initialize(QUEUE *queue , QUEIDX queue_null) … … 70 61 } 71 62 72 /* wèµ½vfÌOÉV½ÈvfðÇÁ*/63 /* 指定した要素の前に新たな要素を追加 */ 73 64 Inline void 74 65 queue_insert_prev(QUEUE *top , QUEIDX queue , QUEIDX entry) … … 81 72 82 73 83 /* wèµ½L 84 [ÌÌvfðíµC»ÌCfbNXðÔ· */ 74 /* 指定したキューの次の要素を削除し,そのインデックスを返す */ 85 75 Inline QUEIDX 86 76 queue_delete_next(QUEUE *top , QUEIDX queue) … … 94 84 95 85 /* 96 * L 97 [ªó©Ç¤©ÌeXg 86 * キューが空かどうかのテスト 98 87 * 99 * queueÉÍL 100 [wb_ðwè·é±Æ 88 * queueにはキューヘッダを指定すること 101 89 */ 102 90 Inline bool_t -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/include/sil.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 10 10 * Nagoya Municipal Industrial Research Institute, JAPAN 11 11 * 12 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 13 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 14 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 15 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 16 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 17 * XR[hÉÜÜêÄ¢é±ÆD 18 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 19 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 20 gip 21 * Ò}j 22 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 23 * ̳ÛØKèðfÚ·é±ÆD 24 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 25 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 26 * ÆD 27 * (a) Äzzɺ¤hL 28 gipÒ}j 29 AÈÇjÉCãLÌ 30 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 31 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 32 * ñ·é±ÆD 33 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 34 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 35 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 36 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 37 * ÆÓ·é±ÆD 38 * 39 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨ 40 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI 41 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF 42 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC» 43 * ÌÓCðíÈ¢D 12 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 13 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 14 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 15 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 16 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 17 * スコード中に含まれていること. 18 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 19 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 20 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 21 * の無保証規定を掲載すること. 22 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 23 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 24 * と. 25 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 26 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 27 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 28 * 報告すること. 29 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 30 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 31 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 32 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 33 * 免責すること. 34 * 35 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 36 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 37 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 38 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 39 * の責任を負わない. 44 40 * 45 41 * @(#) $Id$ … … 47 43 48 44 /* 49 * VXeC^tF[XC50 * 51 * VXeC^tF[XCÌT[rXR[Ìè`Eé¾Æ}NÈ52 * ÇÌè`ðÜÞwb_t@CD53 * 54 * AZu¾êÌ\[Xt@C©ç±Ìt@CðCN[h·é55 * ÍCTOPPERS_MACRO_ONLYðè`µÄ¨±ÆÅC}Nè`ÈOÌLqð56 * ±ÆªÅ«éD57 * 58 * ±Ìt@CðCN[h·éOÉCN[hµÄ¨×«t@C59 * ÍÈ¢D45 * システムインタフェースレイヤ 46 * 47 * システムインタフェースレイヤのサービスコールの定義・宣言とマクロな 48 * どの定義を含むヘッダファイル. 49 * 50 * アセンブリ言語のソースファイルからこのファイルをインクルードする時 51 * は,TOPPERS_MACRO_ONLYを定義しておくことで,マクロ定義以外の記述を 52 * 除くことができる. 53 * 54 * このファイルをインクルードする前にインクルードしておくべきファイル 55 * はない. 60 56 */ 61 57 … … 68 64 69 65 /* 70 * TOPPERS ¤ÊÌf[^^EèE}N66 * TOPPERS共通のデータ型・定数・マクロ 71 67 */ 72 68 #include <t_stddef.h> 73 69 74 70 /* 75 * ^[Qbg˶71 * ターゲット依存部 76 72 */ 77 73 #include "target_sil.h" … … 80 76 81 77 /* 82 * SÝbNóÔ̧ä83 * 84 * SIL_PRE_LOC CSIL_LOC_INT()CSIL_UNL_INT()ÍC^[Qbg˶Åp85 * Ó·éDftHgÌè`ÍpӵĢȢD86 */ 87 88 /* 89 * ÷ÔÒ¿78 * 全割込みロック状態の制御 79 * 80 * SIL_PRE_LOC,SIL_LOC_INT(),SIL_UNL_INT()は,ターゲット依存部で用 81 * 意する.デフォルトの定義は用意していない. 82 */ 83 84 /* 85 * 微少時間待ち 90 86 */ 91 87 extern void sil_dly_nse(ulong_t dlytim) throw(); 92 88 93 89 /* 94 * GfBA̽]90 * エンディアンの反転 95 91 */ 96 92 #ifndef TOPPERS_SIL_REV_ENDIAN_UINT16 … … 106 102 107 103 /* 108 * óÔANZXÖ104 * メモリ空間アクセス関数 109 105 */ 110 106 #ifndef TOPPERS_OMIT_SIL_ACCESS 111 107 112 108 /* 113 * 8 rbgPÊÌÇoµ^Ý109 * 8ビット単位の読出し/書込み 114 110 */ 115 111 #ifdef UINT8_MAX … … 133 129 134 130 /* 135 * 16 rbgPÊÌÇoµ^Ý131 * 16ビット単位の読出し/書込み 136 132 */ 137 133 … … 151 147 } 152 148 153 #ifdef SIL_ENDIAN_BIG /* rbOGfBAvZbT*/149 #ifdef SIL_ENDIAN_BIG /* ビッグエンディアンプロセッサ */ 154 150 155 151 #define sil_reh_bem(mem) sil_reh_mem(mem) … … 177 173 178 174 #endif /* TOPPERS_OMIT_SIL_WRH_LEM */ 179 #else /* SIL_ENDIAN_BIG */ /* gGfBAvZbT*/175 #else /* SIL_ENDIAN_BIG */ /* リトルエンディアンプロセッサ */ 180 176 181 177 #define sil_reh_lem(mem) sil_reh_mem((mem)) … … 206 202 207 203 /* 208 * 32 rbgPÊÌÇoµ^Ý204 * 32ビット単位の読出し/書込み 209 205 */ 210 206 … … 224 220 } 225 221 226 #ifdef SIL_ENDIAN_BIG /* rbOGfBAvZbT*/222 #ifdef SIL_ENDIAN_BIG /* ビッグエンディアンプロセッサ */ 227 223 228 224 #define sil_rew_bem(mem) sil_rew_mem(mem) … … 250 246 251 247 #endif /* TOPPERS_OMIT_SIL_WRW_LEM */ 252 #else /* SIL_ENDIAN_BIG */ /* gGfBAvZbT*/248 #else /* SIL_ENDIAN_BIG */ /* リトルエンディアンプロセッサ */ 253 249 254 250 #define sil_rew_lem(mem) sil_rew_mem((mem)) -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/include/t_stddef.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 10 10 * Nagoya Municipal Industrial Research Institute, JAPAN 11 11 * 12 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 13 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 14 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 15 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 16 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 17 * XR[hÉÜÜêÄ¢é±ÆD 18 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 19 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 20 gip 21 * Ò}j 22 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 23 * ̳ÛØKèðfÚ·é±ÆD 24 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 25 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 26 * ÆD 27 * (a) Äzzɺ¤hL 28 gipÒ}j 29 AÈÇjÉCãLÌ 30 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 31 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 32 * ñ·é±ÆD 33 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 34 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 35 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 36 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 37 * ÆÓ·é±ÆD 38 * 39 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨ 40 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI 41 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF 42 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC» 43 * ÌÓCðíÈ¢D 12 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 13 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 14 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 15 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 16 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 17 * スコード中に含まれていること. 18 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 19 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 20 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 21 * の無保証規定を掲載すること. 22 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 23 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 24 * と. 25 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 26 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 27 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 28 * 報告すること. 29 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 30 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 31 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 32 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 33 * 免責すること. 34 * 35 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 36 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 37 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 38 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 39 * の責任を負わない. 44 40 * 45 41 * @(#) $Id$ … … 47 43 48 44 /* 49 * TOPPERS ¤Êwb_t@C50 * 51 * TOPPERS ÖAÌ·×ÄÌ\[Xt@CÅCN[h·×«wb_t@C52 * DeíÌJ[lâ\tgEFAiŤÊÉp¢é±ÆðzèµÄ¢53 * éDTOPPERSÌeíÌJ[lâ\tgEFAiŤÊÉp¢éf[^^C54 * èC}NÌè`ÈÇðÜÞD55 * 56 * AZu¾êÌ\[Xt@C©ç±Ìt@CðCN[h·é57 * ÍCTOPPERS_MACRO_ONLYðè`µÄ¨D±êÉæèC}Nè`ÈOð58 * æ¤ÉÈÁÄ¢éD59 * 60 * ±Ìt@CðCN[h·éOÉCN[hµÄ¨×«t@C61 * ÍÈ¢D45 * TOPPERS共通ヘッダファイル 46 * 47 * TOPPERS関連のすべてのソースファイルでインクルードすべきヘッダファイ 48 * ル.各種のカーネルやソフトウェア部品で共通に用いることを想定してい 49 * る.TOPPERSの各種のカーネルやソフトウェア部品で共通に用いるデータ型, 50 * 定数,マクロの定義などを含む. 51 * 52 * アセンブリ言語のソースファイルからこのファイルをインクルードする時 53 * は,TOPPERS_MACRO_ONLYを定義しておく.これにより,マクロ定義以外を 54 * 除くようになっている. 55 * 56 * このファイルをインクルードする前にインクルードしておくべきファイル 57 * はない. 62 58 */ 63 59 … … 70 66 71 67 /* 72 * ^[Qbg˶68 * ターゲット依存部 73 69 */ 74 70 #include "target_stddef.h" 75 71 76 72 /* 77 * C ¾ê/EC++Åthrow()Éηé½ßÌè`73 * C言語/EC++でthrow()に対処するための定義 78 74 */ 79 75 #if !defined(__cplusplus) || defined(__embedded_cplusplus) … … 84 80 85 81 /* 86 * ^[Qbg˶Ìf[^^Ì}NÌftHgè`82 * ターゲット依存のデータ型のマクロのデフォルト定義 87 83 */ 88 84 #ifndef TOPPERS_bool 89 #define TOPPERS_bool int /* u[^*/85 #define TOPPERS_bool int /* ブール型 */ 90 86 #endif /* TOPPERS_bool */ 91 87 92 88 #ifndef TOPPERS_size 93 #define TOPPERS_size uintptr_t /* TCY^*/89 #define TOPPERS_size uintptr_t /* サイズ型 */ 94 90 #endif /* TOPPERS_size */ 95 91 … … 97 93 struct TOPPERS_dummy_t { int TOPPERS_dummy_field; }; 98 94 typedef void (*TOPPERS_fp_t)(struct TOPPERS_dummy_t); 99 #define TOPPERS_fp TOPPERS_fp_t /* vOÌN®Ôn*/95 #define TOPPERS_fp TOPPERS_fp_t /* プログラムの起動番地 */ 100 96 #endif /* TOPPERS_fp */ 101 97 102 98 /* 103 * ¤Êf[^^104 */ 105 typedef TOPPERS_bool bool_t; /* ^Ul*/106 107 typedef signed int int_t; /* ©RÈTCYÌt«®*/108 typedef unsigned int uint_t; /* ©RÈTCY̳µ®*/109 110 typedef signed long long_t; /* ·ßÌTCYÌt«®*/111 typedef unsigned long ulong_t; /* ·ßÌTCY̳µ®*/112 113 typedef int_t FN; /* @\R[h*/114 typedef int_t ER; /* G[R[h*/115 typedef int_t ID; /* IuWFNgÌIDÔ*/116 typedef uint_t ATR; /* IuWFNgÌ®«*/117 typedef uint_t STAT; /* IuWFNgÌóÔ*/118 typedef uint_t MODE; /* T[rXR[Ì®ì[h*/119 typedef int_t PRI; /* Dæx*/120 typedef TOPPERS_size SIZE; /* ÌæÌTCY*/121 122 typedef int_t TMO; /* ^CAEgwè*/123 typedef uint_t RELTIM; /* ÎÔ*/124 typedef ulong_t SYSTIM; /* VXe*/125 typedef ulong_t SYSUTM; /* «\]¿pVXe*/126 127 typedef TOPPERS_fp FP; /* vOÌN®Ôn*/128 129 typedef int_t ER_BOOL; /* G[R[hܽÍ^Ul*/130 typedef int_t ER_ID; /* G[R[hܽÍIDÔ*/131 typedef int_t ER_UINT; /* G[R[hܽͳµ®*/132 133 typedef uint32_t ACPTN; /* ANZXÂp^[*/134 typedef struct acvct { /* ANZXÂxN^*/135 ACPTN acptn1; /* Êíì1ÌANZXÂp^[*/136 ACPTN acptn2; /* Êíì2ÌANZXÂp^[*/137 ACPTN acptn3; /* ÇìÌANZXÂp^[*/138 ACPTN acptn4; /* QÆìÌANZXÂp^[*/99 * 共通データ型 100 */ 101 typedef TOPPERS_bool bool_t; /* 真偽値 */ 102 103 typedef signed int int_t; /* 自然なサイズの符号付き整数 */ 104 typedef unsigned int uint_t; /* 自然なサイズの符号無し整数 */ 105 106 typedef signed long long_t; /* 長めのサイズの符号付き整数 */ 107 typedef unsigned long ulong_t; /* 長めのサイズの符号無し整数 */ 108 109 typedef int_t FN; /* 機能コード */ 110 typedef int_t ER; /* エラーコード */ 111 typedef int_t ID; /* オブジェクトのID番号 */ 112 typedef uint_t ATR; /* オブジェクトの属性 */ 113 typedef uint_t STAT; /* オブジェクトの状態 */ 114 typedef uint_t MODE; /* サービスコールの動作モード */ 115 typedef int_t PRI; /* 優先度 */ 116 typedef TOPPERS_size SIZE; /* メモリ領域のサイズ */ 117 118 typedef int_t TMO; /* タイムアウト指定 */ 119 typedef uint_t RELTIM; /* 相対時間 */ 120 typedef ulong_t SYSTIM; /* システム時刻 */ 121 typedef ulong_t SYSUTM; /* 性能評価用システム時刻 */ 122 123 typedef TOPPERS_fp FP; /* プログラムの起動番地 */ 124 125 typedef int_t ER_BOOL; /* エラーコードまたは真偽値 */ 126 typedef int_t ER_ID; /* エラーコードまたはID番号 */ 127 typedef int_t ER_UINT; /* エラーコードまたは符号無し整数 */ 128 129 typedef uint32_t ACPTN; /* アクセス許可パターン */ 130 typedef struct acvct { /* アクセス許可ベクタ */ 131 ACPTN acptn1; /* 通常操作1のアクセス許可パターン */ 132 ACPTN acptn2; /* 通常操作2のアクセス許可パターン */ 133 ACPTN acptn3; /* 管理操作のアクセス許可パターン */ 134 ACPTN acptn4; /* 参照操作のアクセス許可パターン */ 139 135 } ACVCT; 140 136 … … 142 138 143 139 /* 144 * ®èðìé}N140 * 整数定数を作るマクロ 145 141 */ 146 142 #ifndef UINT_C 147 #define UINT_C(val) (val ## U) /* uint_t ^Ìèðìé}N*/143 #define UINT_C(val) (val ## U) /* uint_t型の定数を作るマクロ */ 148 144 #endif /* UINT_C */ 149 145 150 146 #ifndef ULONG_C 151 #define ULONG_C(val) (val ## UL) /* ulong_t ^Ìèðìé}N*/147 #define ULONG_C(val) (val ## UL) /* ulong_t型の定数を作るマクロ */ 152 148 #endif /* ULONG_C */ 153 149 154 150 /* 155 * êÊè151 * 一般定数 156 152 */ 157 153 #ifndef NULL 158 #define NULL 0 /* ³ø|C^*/154 #define NULL 0 /* 無効ポインタ */ 159 155 #endif /* NULL */ 160 156 161 157 #ifndef true 162 #define true 1 /* ^*/158 #define true 1 /* 真 */ 163 159 #endif /* true */ 164 160 165 161 #ifndef false 166 #define false 0 /* U*/162 #define false 0 /* 偽 */ 167 163 #endif /* false */ 168 164 169 #define E_OK 0 /* ³íI¹ */ 170 171 /* 172 * CG[R[h 173 */ 174 #define E_SYS (-5) /* VXeG[ */ 175 #define E_NOSPT (-9) /* ¢T|[g@\ */ 176 #define E_RSFN (-10) /* \ñ@\R[h */ 177 #define E_RSATR (-11) /* \ñ®« */ 178 #define E_PAR (-17) /* p[^G[ */ 179 #define E_ID (-18) /* s³IDÔ */ 180 #define E_CTX (-25) /* ReLXgG[ */ 181 #define E_MACV (-26) /* ANZXá½ */ 182 #define E_OACV (-27) /* IuWFNgANZXá½ */ 183 #define E_ILUSE (-28) /* T[rXR[s³gp */ 184 #define E_NOMEM (-33) /* s« */ 185 #define E_NOID (-34) /* IDÔs« */ 186 #define E_NORES (-35) /* ¹s« */ 187 #define E_OBJ (-41) /* IuWFNgóÔG[ */ 188 #define E_NOEXS (-42) /* IuWFNg¢¶¬ */ 189 #define E_QOVR (-43) /* L 190 [COI[o[t[ */ 191 #define E_RLWAI (-49) /* Ò¿óÔ̧ð */ 192 #define E_TMOUT (-50) /* |[O¸sܽÍ^CAEg */ 193 #define E_DLT (-51) /* Ò¿IuWFNgÌí */ 194 #define E_CLS (-52) /* Ò¿IuWFNgÌóÔÏ» */ 195 #define E_WBLK (-57) /* mubLOót¯ */ 196 #define E_BOVR (-58) /* obt@I[o[t[ */ 197 198 /* 199 * IuWFNg®« 200 */ 201 #define TA_NULL UINT_C(0) /* IuWFNg®«ðwèµÈ¢ */ 202 203 /* 204 * ^CAEgwè 205 */ 206 #define TMO_POL 0 /* |[O */ 207 #define TMO_FEVR (-1) /* ivÒ¿ */ 208 #define TMO_NBLK (-2) /* mubLO */ 209 210 /* 211 * ANZXÂp^[ 212 */ 213 #define TACP_KERNEL (0U) /* J[lhC¾¯ÉANZXð */ 214 #define TACP_SHARED (~0U) /* ·×ÄÌhC©çANZXð */ 215 216 /* 217 * ^ÉÖ·éîñðæèo·½ßÌ}N 165 #define E_OK 0 /* 正常終了 */ 166 167 /* 168 * メインエラーコード 169 */ 170 #define E_SYS (-5) /* システムエラー */ 171 #define E_NOSPT (-9) /* 未サポート機能 */ 172 #define E_RSFN (-10) /* 予約機能コード */ 173 #define E_RSATR (-11) /* 予約属性 */ 174 #define E_PAR (-17) /* パラメータエラー */ 175 #define E_ID (-18) /* 不正ID番号 */ 176 #define E_CTX (-25) /* コンテキストエラー */ 177 #define E_MACV (-26) /* メモリアクセス違反 */ 178 #define E_OACV (-27) /* オブジェクトアクセス違反 */ 179 #define E_ILUSE (-28) /* サービスコール不正使用 */ 180 #define E_NOMEM (-33) /* メモリ不足 */ 181 #define E_NOID (-34) /* ID番号不足 */ 182 #define E_NORES (-35) /* 資源不足 */ 183 #define E_OBJ (-41) /* オブジェクト状態エラー */ 184 #define E_NOEXS (-42) /* オブジェクト未生成 */ 185 #define E_QOVR (-43) /* キューイングオーバーフロー */ 186 #define E_RLWAI (-49) /* 待ち状態の強制解除 */ 187 #define E_TMOUT (-50) /* ポーリング失敗またはタイムアウト */ 188 #define E_DLT (-51) /* 待ちオブジェクトの削除 */ 189 #define E_CLS (-52) /* 待ちオブジェクトの状態変化 */ 190 #define E_WBLK (-57) /* ノンブロッキング受付け */ 191 #define E_BOVR (-58) /* バッファオーバーフロー */ 192 193 /* 194 * オブジェクト属性 195 */ 196 #define TA_NULL UINT_C(0) /* オブジェクト属性を指定しない */ 197 198 /* 199 * タイムアウト指定 200 */ 201 #define TMO_POL 0 /* ポーリング */ 202 #define TMO_FEVR (-1) /* 永久待ち */ 203 #define TMO_NBLK (-2) /* ノンブロッキング */ 204 205 /* 206 * アクセス許可パターン 207 */ 208 #define TACP_KERNEL (0U) /* カーネルドメインだけにアクセスを許可 */ 209 #define TACP_SHARED (~0U) /* すべてのドメインからアクセスを許可 */ 210 211 /* 212 * 型に関する情報を取り出すためのマクロ 218 213 */ 219 214 #ifndef offsetof … … 225 220 #endif /* alignof */ 226 221 227 #ifndef ALIGN_TYPE /* ACgÌ`FbN*/222 #ifndef ALIGN_TYPE /* アラインメントのチェック */ 228 223 #define ALIGN_TYPE(addr, type) \ 229 224 ((((uintptr_t)(addr)) & (alignof(type) - 1)) == 0U) … … 231 226 232 227 /* 233 * assert }N228 * assertマクロ 234 229 */ 235 230 #undef assert … … 246 241 247 242 /* 248 * G[R[h¶¬Eªð}N249 * 250 * ȺÌ}Nè`ÍCt«®ª2ÌâÅ\»³êĨèCEVtg251 * Zqi>>jªZpVtg³êé±Æð¼èµÄ¢éD»¤ÅÈ¢JÂ252 * «ÅÍCtarget_stddef.hűêçÌè`ð㫵ȯêÎÈçÈ¢D253 * 254 * MERCD }NÌè`ÍCCG[R[hªÅ é±Æð¼èµÄ¢éD255 * »¤ÅÈ¢êC2ÂÌè`ªêvµÈÈéD243 * エラーコード生成・分解マクロ 244 * 245 * 以下のマクロ定義は,符号付き整数が2の補数で表現されており,右シフト 246 * 演算子(>>)が算術シフトされることを仮定している.そうでない開発環 247 * 境では,target_stddef.hでこれらの定義を上書きしなければならない. 248 * 249 * MERCDマクロの定義は,メインエラーコードが負であることを仮定している. 250 * そうでない場合,2つの定義が一致しなくなる. 256 251 */ 257 252 #ifndef ERCD … … 273 268 274 269 /* 275 * ÎÔiRELTIMjÉwèÅ«éÅål270 * 相対時間(RELTIM)に指定できる最大値 276 271 */ 277 272 #if UINT_MAX < LONG_MAX -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/include/t_syslog.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 9 9 * Graduate School of Information Science, Nagoya Univ., JAPAN 10 10 * 11 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 12 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 13 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 14 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 15 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 16 * XR[hÉÜÜêÄ¢é±ÆD 17 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 18 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 19 gip 20 * Ò}j 21 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 22 * ̳ÛØKèðfÚ·é±ÆD 23 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 24 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 25 * ÆD 26 * (a) Äzzɺ¤hL 27 gipÒ}j 28 AÈÇjÉCãLÌ 29 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 30 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 31 * ñ·é±ÆD 32 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 33 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 34 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 35 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 36 * ÆÓ·é±ÆD 11 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 12 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 13 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 14 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 15 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 16 * スコード中に含まれていること. 17 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 18 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 19 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 20 * の無保証規定を掲載すること. 21 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 22 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 23 * と. 24 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 25 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 26 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 27 * 報告すること. 28 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 29 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 30 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 31 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 32 * 免責すること. 37 33 * 38 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨39 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI40 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF41 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»42 * ÌÓCðíÈ¢D34 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 35 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 36 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 37 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 38 * の責任を負わない. 43 39 * 44 40 * @(#) $Id$ … … 46 42 47 43 /* 48 * VXeOoÍðs¤½ßÌè`49 * 50 * VXeOT[rXÍCVXeÌOîñðoÍ·é½ßÌT[rX51 * Å éDJ[l©çÌOîñÌoÍÉàp¢é½ßCàÅÒ¿óÔ52 * ÉÍ¢é±ÆÍÈ¢D53 * 54 * OîñÍCJ[làÌOobt@É«Þ©Cáx̶o55 * ÍÖðp¢ÄoÍ·éDÇ¿çðg¤©ÍCg£T[rXR[ÅØè56 * ·¦é±ÆªÅ«éD57 * 58 * Oobt@ÌæªI[ot[µ½êÉÍCâOîñðÁµÄã59 * «·éD60 * 61 * AZu¾êÌ\[Xt@C©ç±Ìt@CðCN[h·é62 * ÍCTOPPERS_MACRO_ONLYðè`µÄ¨±ÆÅC}Nè`ÈOÌLqð63 * ±ÆªÅ«éD64 * 65 * ±Ìt@CðCN[h·éOÉCt_stddef.hðCN[hµÄ¨66 * ±ÆªKvÅ éD44 * システムログ出力を行うための定義 45 * 46 * システムログサービスは,システムのログ情報を出力するためのサービス 47 * である.カーネルからのログ情報の出力にも用いるため,内部で待ち状態 48 * にはいることはない. 49 * 50 * ログ情報は,カーネル内のログバッファに書き込むか,低レベルの文字出 51 * 力関数を用いて出力する.どちらを使うかは,拡張サービスコールで切り 52 * 換えることができる. 53 * 54 * ログバッファ領域がオーバフローした場合には,古いログ情報を消して上 55 * 書きする. 56 * 57 * アセンブリ言語のソースファイルからこのファイルをインクルードする時 58 * は,TOPPERS_MACRO_ONLYを定義しておくことで,マクロ定義以外の記述を 59 * 除くことができる. 60 * 61 * このファイルをインクルードする前に,t_stddef.hをインクルードしてお 62 * くことが必要である. 67 63 */ 68 64 … … 75 71 76 72 /* 77 * OîñÌíÊÌè`78 */ 79 #define LOG_TYPE_COMMENT UINT_C(0x01) /* Rg*/80 #define LOG_TYPE_ASSERT UINT_C(0x02) /* AT[V̸s*/81 82 #define LOG_TYPE_INH UINT_C(0x11) /* Ýnh*/83 #define LOG_TYPE_ISR UINT_C(0x12) /* ÝT[rX[`*/84 #define LOG_TYPE_CYC UINT_C(0x13) /* üúnh*/85 #define LOG_TYPE_ALM UINT_C(0x14) /* A[nh*/86 #define LOG_TYPE_OVR UINT_C(0x15) /* I[onh*/87 #define LOG_TYPE_EXC UINT_C(0x16) /* CPU áOnh*/88 #define LOG_TYPE_TEX UINT_C(0x17) /* ^XNáO[`*/89 #define LOG_TYPE_TSKSTAT UINT_C(0x18) /* ^XNóÔÏ»*/90 #define LOG_TYPE_DSP UINT_C(0x19) /* fBXpb`*/91 #define LOG_TYPE_SVC UINT_C(0x1a) /* T[rXR[*/92 93 #define LOG_ENTER UINT_C(0x00) /* üû^Jn*/94 #define LOG_LEAVE UINT_C(0x80) /* oû^I¹*/95 96 /* 97 * OîñÌdvxÌè`98 */ 99 #define LOG_EMERG UINT_C(0) /* Vbg_EÉl·éG[*/73 * ログ情報の種別の定義 74 */ 75 #define LOG_TYPE_COMMENT UINT_C(0x01) /* コメント */ 76 #define LOG_TYPE_ASSERT UINT_C(0x02) /* アサーションの失敗 */ 77 78 #define LOG_TYPE_INH UINT_C(0x11) /* 割込みハンドラ */ 79 #define LOG_TYPE_ISR UINT_C(0x12) /* 割込みサービスルーチン */ 80 #define LOG_TYPE_CYC UINT_C(0x13) /* 周期ハンドラ */ 81 #define LOG_TYPE_ALM UINT_C(0x14) /* アラームハンドラ */ 82 #define LOG_TYPE_OVR UINT_C(0x15) /* オーバランハンドラ */ 83 #define LOG_TYPE_EXC UINT_C(0x16) /* CPU例外ハンドラ */ 84 #define LOG_TYPE_TEX UINT_C(0x17) /* タスク例外処理ルーチン */ 85 #define LOG_TYPE_TSKSTAT UINT_C(0x18) /* タスク状態変化 */ 86 #define LOG_TYPE_DSP UINT_C(0x19) /* ディスパッチャ */ 87 #define LOG_TYPE_SVC UINT_C(0x1a) /* サービスコール */ 88 89 #define LOG_ENTER UINT_C(0x00) /* 入口/開始 */ 90 #define LOG_LEAVE UINT_C(0x80) /* 出口/終了 */ 91 92 /* 93 * ログ情報の重要度の定義 94 */ 95 #define LOG_EMERG UINT_C(0) /* シャットダウンに値するエラー */ 100 96 #define LOG_ALERT UINT_C(1) 101 97 #define LOG_CRIT UINT_C(2) 102 #define LOG_ERROR UINT_C(3) /* VXeG[*/103 #define LOG_WARNING UINT_C(4) /* xbZ[W*/98 #define LOG_ERROR UINT_C(3) /* システムエラー */ 99 #define LOG_WARNING UINT_C(4) /* 警告メッセージ */ 104 100 #define LOG_NOTICE UINT_C(5) 105 101 #define LOG_INFO UINT_C(6) 106 #define LOG_DEBUG UINT_C(7) /* fobOpbZ[W*/102 #define LOG_DEBUG UINT_C(7) /* デバッグ用メッセージ */ 107 103 108 104 #ifndef TOPPERS_MACRO_ONLY 109 105 110 106 /* 111 * OîñÌf[^\¢107 * ログ情報のデータ構造 112 108 */ 113 109 … … 115 111 116 112 typedef struct { 117 uint_t logtype; /* OîñÌíÊ*/118 SYSTIM logtim; /* O*/119 intptr_t loginfo[TMAX_LOGINFO]; /* »Ì¼ÌOîñ*/113 uint_t logtype; /* ログ情報の種別 */ 114 SYSTIM logtim; /* ログ時刻 */ 115 intptr_t loginfo[TMAX_LOGINFO]; /* その他のログ情報 */ 120 116 } SYSLOG; 121 117 122 118 /* 123 * OîñÌdvxÌrbg}bvðìé½ßÌ}N119 * ログ情報の重要度のビットマップを作るためのマクロ 124 120 */ 125 121 #define LOG_MASK(prio) (1U << (prio)) … … 127 123 128 124 /* 129 * OîñðoÍ·é½ßÌCuÖ125 * ログ情報を出力するためのライブラリ関数 130 126 */ 131 127 … … 223 219 224 220 /* 225 * OîñiRgjðoÍ·é½ßÌCuÖivasyslog.cj221 * ログ情報(コメント)を出力するためのライブラリ関数(vasyslog.c) 226 222 */ 227 223 extern void syslog(uint_t prio, const char *format, ...) throw(); … … 230 226 231 227 /* 232 * VXeOoÍð}~·éê228 * システムログ出力を抑止する場合 233 229 */ 234 230 … … 280 276 281 277 /* 282 * OîñiRgjðoÍ·é½ßÌ}N283 * 284 * format ¨æÑã±Ìø©ç쬵½bZ[WðCdåxprioÅOî285 * ñƵÄoÍ·é½ßÌ}NDarg1`argnÍintptr_t^ÉLXg·é286 * ½ßCintptr_t^É^Ï·Å«éCÓÌ^Åæ¢D278 * ログ情報(コメント)を出力するためのマクロ 279 * 280 * formatおよび後続の引数から作成したメッセージを,重大度prioでログ情 281 * 報として出力するためのマクロ.arg1〜argnはintptr_t型にキャストする 282 * ため,intptr_t型に型変換できる任意の型でよい. 287 283 */ 288 284 … … 313 309 314 310 /* 315 * OîñiAT[V̸sjðoÍ·é½ßÌ}N311 * ログ情報(アサーションの失敗)を出力するためのマクロ 316 312 */ 317 313 #ifndef TOPPERS_assert_fail -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/kernel/allfunc.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 9 9 * Copyright (C) 2011-2012 by Meika Sugimoto 10 10 * 11 * ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF 12 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»EüÏE 13 * ÄzziȺCpÆÄÔj·é±Æð³Åø·éD 14 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 15 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[X 16 * R[hÉÜÜêÄ¢é±ÆD 17 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉgp 18 * Å«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 19 gipÒ} 20 * j 21 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺLÌ³Û 22 * ØKèðfÚ·é±ÆD 23 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉgp 24 * Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD 25 * (a) Äzzɺ¤hL 26 gipÒ}j 27 AÈÇjÉCãLÌì 28 * \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 29 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ 30 * ·é±ÆD 31 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹Q 32 * ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDܽC 33 * {\tgEFAÌ[UܽÍGh[U©çÌ¢©ÈéRÉîà 34 * ¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 11 * 上記著作権者は,以下の (1)〜(4) の条件を満たす場合に限り,本ソフトウェ 12 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改変・ 13 * 再配布(以下,利用と呼ぶ)することを無償で許諾する. 14 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作権 15 * 表示,この利用条件および下記の無保証規定が,そのままの形でソース 16 * コード中に含まれていること. 17 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使用 18 * できる形で再配布する場合には,再配布に伴うドキュメント(利用者マ 19 * ニュアルなど)に,上記の著作権表示,この利用条件および下記の無保 20 * 証規定を掲載すること. 21 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使用 22 * できない形で再配布する場合には,次のいずれかの条件を満たすこと. 23 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著作 24 * 権表示,この利用条件および下記の無保証規定を掲載すること. 25 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに報 26 * 告すること. 27 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害 28 * からも,上記著作権者およびTOPPERSプロジェクトを免責すること.また, 29 * 本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ 30 * く請求からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 35 31 * 36 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ37 * ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉη38 * éK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEFAÌp39 * Éæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»ÌÓCð40 * íÈ¢D32 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者およ 33 * びTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的に対す 34 * る適合性も含めて,いかなる保証も行わない.また,本ソフトウェアの利用 35 * により直接的または間接的に生じたいかなる損害に関しても,その責任を負 36 * わない. 41 37 * 42 38 */ 43 39 44 40 /* 45 * ·×ÄÌÖðRpC·é½ßÌè`41 * すべての関数をコンパイルするための定義 46 42 */ 47 43 -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/kernel/check.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 11 11 * Copyright (C) 2011 by Meika Sugimoto 12 12 * 13 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 14 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 15 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 16 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 17 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 18 * XR[hÉÜÜêÄ¢é±ÆD 19 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 20 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 21 gip 22 * Ò}j 23 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 24 * ̳ÛØKèðfÚ·é±ÆD 25 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 26 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 27 * ÆD 28 * (a) Äzzɺ¤hL 29 gipÒ}j 30 AÈÇjÉCãLÌ 31 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 32 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 33 * ñ·é±ÆD 34 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 35 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 36 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 37 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 38 * ÆÓ·é±ÆD 39 * 40 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨ 41 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI 42 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF 43 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC» 44 * ÌÓCðíÈ¢D 13 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 14 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 15 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 16 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 17 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 18 * スコード中に含まれていること. 19 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 20 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 21 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 22 * の無保証規定を掲載すること. 23 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 24 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 25 * と. 26 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 27 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 28 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 29 * 報告すること. 30 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 31 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 32 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 33 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 34 * 免責すること. 35 * 36 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 37 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 38 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 39 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 40 * の責任を負わない. 45 41 * 46 42 * @(#) $Id$ … … 56 52 * Graduate School of Information Science, Nagoya Univ., JAPAN 57 53 * 58 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 59 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 60 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 61 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 62 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 63 * XR[hÉÜÜêÄ¢é±ÆD 64 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 65 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 66 gip 67 * Ò}j 68 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 69 * ̳ÛØKèðfÚ·é±ÆD 70 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 71 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 72 * ÆD 73 * (a) Äzzɺ¤hL 74 gipÒ}j 75 AÈÇjÉCãLÌ 76 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 77 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 78 * ñ·é±ÆD 79 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 80 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 81 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 82 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 83 * ÆÓ·é±ÆD 84 * 85 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨ 86 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI 87 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF 88 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC» 89 * ÌÓCðíÈ¢D 54 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 55 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 56 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 57 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 58 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 59 * スコード中に含まれていること. 60 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 61 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 62 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 63 * の無保証規定を掲載すること. 64 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 65 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 66 * と. 67 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 68 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 69 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 70 * 報告すること. 71 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 72 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 73 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 74 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 75 * 免責すること. 76 * 77 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 78 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 79 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 80 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 81 * の責任を負わない. 90 82 * 91 83 * @(#) $Id$ … … 93 85 94 86 /* 95 * G[`FbNp}N87 * エラーチェック用マクロ 96 88 */ 97 89 … … 100 92 101 93 /* 102 * ^XNDæxÌÍÍÌ»è94 * タスク優先度の範囲の判定 103 95 */ 104 96 #define VALID_TPRI(tpri) (TMIN_TPRI <= (tpri) && (tpri) <= TMAX_TPRI) 105 97 106 98 /* 107 * ÝÔÌ`FbNiE_PARj99 * 割込み番号のチェック(E_PAR) 108 100 */ 109 101 #define CHECK_INTNO_DISINT(intno) { \ … … 115 107 116 108 /* 117 * »Ì¼Ìp[^G[Ì`FbNiE_PARj109 * その他のパラメータエラーのチェック(E_PAR) 118 110 */ 119 111 #define CHECK_PAR(exp) { \ … … 125 117 126 118 /* 127 * IuWFNgIDÌÍÍÌ»è119 * オブジェクトIDの範囲の判定 128 120 */ 129 121 #define VALID_TSKID(tskid) \ … … 139 131 140 132 /* 141 * IuWFNgIDÌ`FbNiE_IDj133 * オブジェクトIDのチェック(E_ID) 142 134 */ 143 135 #define CHECK_TSKID(tskid) { \ … … 185 177 186 178 /* 187 * ÄoµReLXgÌ`FbNiE_CTXj179 * 呼出しコンテキストのチェック(E_CTX) 188 180 */ 189 181 #define CHECK_TSKCTX() { \ … … 202 194 203 195 /* 204 * ÄoµReLXgÆCPUbNóÔÌ`FbNiE_CTXj196 * 呼出しコンテキストとCPUロック状態のチェック(E_CTX) 205 197 */ 206 198 #define CHECK_TSKCTX_UNL() { \ … … 219 211 220 212 /* 221 * »Ì¼ÌReLXgG[Ì`FbNiE_CTXj213 * その他のコンテキストエラーのチェック(E_CTX) 222 214 */ 223 215 #define CHECK_CTX(exp) { \ -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/kernel/exception.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 11 11 * Copyright (C) 2010 by Meika Sugimoto 12 12 * 13 * ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF 14 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»EüÏE 15 * ÄzziȺCpÆÄÔj·é±Æð³Åø·éD 16 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 17 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[X 18 * R[hÉÜÜêÄ¢é±ÆD 19 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉgp 20 * Å«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 21 gipÒ} 22 * j 23 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺLÌ³Û 24 * ØKèðfÚ·é±ÆD 25 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉgp 26 * Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD 27 * (a) Äzzɺ¤hL 28 gipÒ}j 29 AÈÇjÉCãLÌì 30 * \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 31 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ 32 * ·é±ÆD 33 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹Q 34 * ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDܽC 35 * {\tgEFAÌ[UܽÍGh[U©çÌ¢©ÈéRÉîà 36 * ¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 13 * 上記著作権者は,以下の (1)〜(4) の条件を満たす場合に限り,本ソフトウェ 14 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改変・ 15 * 再配布(以下,利用と呼ぶ)することを無償で許諾する. 16 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作権 17 * 表示,この利用条件および下記の無保証規定が,そのままの形でソース 18 * コード中に含まれていること. 19 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使用 20 * できる形で再配布する場合には,再配布に伴うドキュメント(利用者マ 21 * ニュアルなど)に,上記の著作権表示,この利用条件および下記の無保 22 * 証規定を掲載すること. 23 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使用 24 * できない形で再配布する場合には,次のいずれかの条件を満たすこと. 25 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著作 26 * 権表示,この利用条件および下記の無保証規定を掲載すること. 27 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに報 28 * 告すること. 29 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害 30 * からも,上記著作権者およびTOPPERSプロジェクトを免責すること.また, 31 * 本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ 32 * く請求からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 37 33 * 38 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ39 * ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉη40 * éK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEFAÌp41 * Éæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»ÌÓCð42 * íÈ¢D34 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者およ 35 * びTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的に対す 36 * る適合性も含めて,いかなる保証も行わない.また,本ソフトウェアの利用 37 * により直接的または間接的に生じたいかなる損害に関しても,その責任を負 38 * わない. 43 39 * 44 40 */ 45 41 46 42 /* 47 * CPU áOÇ@\43 * CPU例外管理機能 48 44 */ 49 45 … … 52 48 53 49 /* 54 * CPU áOnhÇ@\Ìú»50 * CPU例外ハンドラ管理機能の初期化 55 51 */ 56 52 -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/kernel/exception.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 11 11 * Copyright (C) 2011 by Meika Sugimoto 12 12 * 13 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 14 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 15 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 16 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 17 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 18 * XR[hÉÜÜêÄ¢é±ÆD 19 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 20 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 21 gip 22 * Ò}j 23 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 24 * ̳ÛØKèðfÚ·é±ÆD 25 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 26 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 27 * ÆD 28 * (a) Äzzɺ¤hL 29 gipÒ}j 30 AÈÇjÉCãLÌ 31 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 32 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 33 * ñ·é±ÆD 34 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 35 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 36 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 37 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 38 * ÆÓ·é±ÆD 13 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 14 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 15 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 16 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 17 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 18 * スコード中に含まれていること. 19 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 20 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 21 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 22 * の無保証規定を掲載すること. 23 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 24 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 25 * と. 26 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 27 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 28 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 29 * 報告すること. 30 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 31 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 32 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 33 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 34 * 免責すること. 39 35 * 40 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨41 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI42 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF43 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»44 * ÌÓCðíÈ¢D36 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 37 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 38 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 39 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 40 * の責任を負わない. 45 41 * 46 42 */ 47 43 48 44 /* 49 * CPU áOÇ@\45 * CPU例外管理機能 50 46 */ 51 47 … … 55 51 #ifndef OMIT_INITIALIZE_EXCEPTION 56 52 57 extern const EXCNO excinib_excno[]; /* CPU áOnhÔ*/58 extern const ATR excinib_excatr[]; /* CPU áOnh®«*/59 extern const FP excinib_entry[]; /* CPU áOnhÌoüûÌÔn*/53 extern const EXCNO excinib_excno[]; /* CPU例外ハンドラ番号 */ 54 extern const ATR excinib_excatr[]; /* CPU例外ハンドラ属性 */ 55 extern const FP excinib_entry[]; /* CPU例外ハンドラの出入口処理の番地 */ 60 56 61 57 /* 62 * CPU áOnhÔÌikernel_cfg.cj58 * CPU例外ハンドラ番号の数(kernel_cfg.c) 63 59 */ 64 60 extern const uint_t tnum_excno; … … 68 64 69 65 /* 70 * CPU áOnhÇ@\Ìú»66 * CPU例外ハンドラ管理機能の初期化 71 67 */ 72 68 extern void -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/kernel/interrupt.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 11 11 * Copyright (C) 2010-2011 by Meika Sugimoto 12 12 * 13 * ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF 14 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»EüÏE 15 * ÄzziȺCpÆÄÔj·é±Æð³Åø·éD 16 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 17 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[X 18 * R[hÉÜÜêÄ¢é±ÆD 19 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉgp 20 * Å«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 21 gipÒ} 22 * j 23 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺLÌ³Û 24 * ØKèðfÚ·é±ÆD 25 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉgp 26 * Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD 27 * (a) Äzzɺ¤hL 28 gipÒ}j 29 AÈÇjÉCãLÌì 30 * \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 31 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ 32 * ·é±ÆD 33 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹Q 34 * ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDܽC 35 * {\tgEFAÌ[UܽÍGh[U©çÌ¢©ÈéRÉîà 36 * ¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 13 * 上記著作権者は,以下の (1)〜(4) の条件を満たす場合に限り,本ソフトウェ 14 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改変・ 15 * 再配布(以下,利用と呼ぶ)することを無償で許諾する. 16 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作権 17 * 表示,この利用条件および下記の無保証規定が,そのままの形でソース 18 * コード中に含まれていること. 19 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使用 20 * できる形で再配布する場合には,再配布に伴うドキュメント(利用者マ 21 * ニュアルなど)に,上記の著作権表示,この利用条件および下記の無保 22 * 証規定を掲載すること. 23 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使用 24 * できない形で再配布する場合には,次のいずれかの条件を満たすこと. 25 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著作 26 * 権表示,この利用条件および下記の無保証規定を掲載すること. 27 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに報 28 * 告すること. 29 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害 30 * からも,上記著作権者およびTOPPERSプロジェクトを免責すること.また, 31 * 本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ 32 * く請求からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 37 33 * 38 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ39 * ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉη40 * éK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEFAÌp41 * Éæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»ÌÓCð42 * íÈ¢D34 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者およ 35 * びTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的に対す 36 * る適合性も含めて,いかなる保証も行わない.また,本ソフトウェアの利用 37 * により直接的または間接的に生じたいかなる損害に関しても,その責任を負 38 * わない. 43 39 * 44 40 */ 45 41 46 42 /* 47 * ÝÇ@\43 * 割込み管理機能 48 44 */ 49 45 … … 55 51 56 52 /* 57 * ÝÇ@\Ìú»53 * 割込み管理機能の初期化 58 54 */ 59 55 #ifdef TOPPERS_intini … … 77 73 78 74 /* 79 * ÝÌÖ~75 * 割込みの禁止 80 76 */ 81 77 #ifdef TOPPERS_dis_int … … 117 113 118 114 /* 119 * ÝÌÂ115 * 割込みの許可 120 116 */ 121 117 #ifdef TOPPERS_ena_int -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/kernel/interrupt.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 10 10 * Nagoya Municipal Industrial Research Institute, JAPAN 11 11 * 12 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 13 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 14 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 15 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 16 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 17 * XR[hÉÜÜêÄ¢é±ÆD 18 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 19 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 20 gip 21 * Ò}j 22 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 23 * ̳ÛØKèðfÚ·é±ÆD 24 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 25 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 26 * ÆD 27 * (a) Äzzɺ¤hL 28 gipÒ}j 29 AÈÇjÉCãLÌ 30 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 31 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 32 * ñ·é±ÆD 33 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 34 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 35 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 36 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 37 * ÆÓ·é±ÆD 12 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 13 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 14 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 15 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 16 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 17 * スコード中に含まれていること. 18 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 19 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 20 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 21 * の無保証規定を掲載すること. 22 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 23 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 24 * と. 25 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 26 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 27 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 28 * 報告すること. 29 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 30 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 31 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 32 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 33 * 免責すること. 38 34 * 39 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨40 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI41 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF42 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»43 * ÌÓCðíÈ¢D35 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 36 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 37 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 38 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 39 * の責任を負わない. 44 40 * 45 41 */ 46 42 47 43 /* 48 * ÝÇ@\44 * 割込み管理機能 49 45 */ 50 46 … … 55 51 56 52 /* 57 * Ýnhú»ubNÌGAikernel_cfg.cj53 * 割込みハンドラ初期化ブロックのエリア(kernel_cfg.c) 58 54 */ 59 extern const INHNO inhinib_inhno[]; /* ÝnhÔ*/60 extern const ATR inhinib_inhatr[]; /* Ýnh®«*/61 extern const FP inhinib_entry[]; /* ÝnhÌoüûÌÔn*/55 extern const INHNO inhinib_inhno[]; /* 割込みハンドラ番号 */ 56 extern const ATR inhinib_inhatr[]; /* 割込みハンドラ属性 */ 57 extern const FP inhinib_entry[]; /* 割込みハンドラの出入口処理の番地 */ 62 58 63 59 /* 64 * ÝvCú»ubNÌGAikernel_cfg.cj60 * 割込み要求ライン初期化ブロックのエリア(kernel_cfg.c) 65 61 */ 66 extern const INTNO intinib_intno[]; /* ÝÔ*/67 extern const ATR intinib_intatr[]; /* Ý®«*/68 extern const PRI intinib_intpri[]; /* ÝDæx*/62 extern const INTNO intinib_intno[]; /* 割込み番号 */ 63 extern const ATR intinib_intatr[]; /* 割込み属性 */ 64 extern const PRI intinib_intpri[]; /* 割込み優先度 */ 69 65 70 66 /* 71 * ÝnhÔÌikernel_cfg.cj67 * 割込みハンドラ番号の数(kernel_cfg.c) 72 68 */ 73 69 extern const uint_t tnum_inhno; 74 70 75 71 /* 76 * ÝvCÌikernel_cfg.cj72 * 割込み要求ラインの数(kernel_cfg.c) 77 73 */ 78 74 extern const uint_t tnum_intno; … … 82 78 83 79 /* 84 * ÝÇ@\Ìú»80 * 割込み管理機能の初期化 85 81 */ 86 82 extern void -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/kernel/kernel.tf
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 10 10 $ Nagoya Municipal Industrial Research Institute, JAPAN 11 11 $ 12 $ ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF 13 $ Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»EüÏE 14 $ ÄzziȺCpÆÄÔj·é±Æð³Åø·éD 15 $ (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 16 $ \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[X 17 $ R[hÉÜÜêÄ¢é±ÆD 18 $ (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉgp 19 $ Å«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 20 gipÒ} 21 $ j 22 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺLÌ³Û 23 $ ØKèðfÚ·é±ÆD 24 $ (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉgp 25 $ Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD 26 $ (a) Äzzɺ¤hL 27 gipÒ}j 28 AÈÇjÉCãLÌì 29 $ \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 30 $ (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ 31 $ ·é±ÆD 32 $ (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹Q 33 $ ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDܽC 34 $ {\tgEFAÌ[UܽÍGh[U©çÌ¢©ÈéRÉîà 35 $ ¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 36 $ 37 $ {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ 38 $ ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉη 39 $ éK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEFAÌp 40 $ Éæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»ÌÓCð 41 $ íÈ¢D 12 $ 上記著作権者は,以下の (1)〜(4) の条件を満たす場合に限り,本ソフトウェ 13 $ ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改変・ 14 $ 再配布(以下,利用と呼ぶ)することを無償で許諾する. 15 $ (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作権 16 $ 表示,この利用条件および下記の無保証規定が,そのままの形でソース 17 $ コード中に含まれていること. 18 $ (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使用 19 $ できる形で再配布する場合には,再配布に伴うドキュメント(利用者マ 20 $ ニュアルなど)に,上記の著作権表示,この利用条件および下記の無保 21 $ 証規定を掲載すること. 22 $ (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使用 23 $ できない形で再配布する場合には,次のいずれかの条件を満たすこと. 24 $ (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著作 25 $ 権表示,この利用条件および下記の無保証規定を掲載すること. 26 $ (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに報 27 $ 告すること. 28 $ (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害 29 $ からも,上記著作権者およびTOPPERSプロジェクトを免責すること.また, 30 $ 本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ 31 $ く請求からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 32 $ 33 $ 本ソフトウェアは,無保証で提供されているものである.上記著作権者およ 34 $ びTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的に対す 35 $ る適合性も含めて,いかなる保証も行わない.また,本ソフトウェアの利用 36 $ により直接的または間接的に生じたいかなる損害に関しても,その責任を負 37 $ わない. 42 38 $ 43 39 $ ====================================================================== 44 40 45 $ OoÍ46 $ wèµ½¾¯sªÉ^uð¯Ä\¦·éD47 $ R[hyÑoÍÌÂÇ«ð°é½ßÉg¤D48 $ ø : ARGV[1] : sªÉ}ü·é^uÌ49 $ Ôl : ó¶ñ50 $ Ó : RESULTðìµÄ¢é½ßC¼ÌÖÌoÍðÛ¶·éOÉÄÑo·Æ㫳êéD41 $ ログ出力 42 $ 指定した数だけ行頭にタブをつけて表示する. 43 $ コード及び出力の可読性を挙げるために使う. 44 $ 引数 : ARGV[1] : 行頭に挿入するタブの数 45 $ 返値 : 空文字列 46 $ 注意 : RESULTを操作しているため,他の関数の出力を保存する前に呼び出すと上書きされる. 51 47 $ 52 48 $FUNCTION LOG$ … … 56 52 57 53 $ ===================================================================== 58 $ OÌ`FbN54 $ 処理前のチェック 59 55 $ ===================================================================== 60 56 61 $ ^XNª1ÂÈã¶Ý·é±ÆÌ`FbN57 $ タスクが1個以上存在することのチェック 62 58 $IF !LENGTH(TSK.ID_LIST)$ 63 59 $ERROR$$FORMAT("no task is registered")$$END$ … … 65 61 66 62 $ ===================================================================== 67 $ kernel_cfg.h ̶¬63 $ kernel_cfg.h の生成 68 64 $ ===================================================================== 69 65 … … 81 77 $NL$ 82 78 83 $ // ^XNIDðN®Dæx(tskapri)Ì¢É reallocate_tskapri ÖèÄC84 $ // è`ð kernel_cfg.h ÖoÍ·éD79 $ // タスクIDを起動優先度(tskapri)の高い順に reallocate_tskapri へ割り当て, 80 $ // 定義を kernel_cfg.h へ出力する. 85 81 $tsk_apriorder_list={}$ 86 82 $tsk_epri_list={}$ … … 91 87 #define $TSK.TSKID[id]$ $tsk_index$$NL$ 92 88 93 $ DEF_EPR Åè`³êĢȢ^XNÌÀsDæxªCN®DæxƯ¶ÉÈéæ¤É·éD89 $ DEF_EPR で定義されていないタスクの実行時優先度が,起動優先度と同じになるようにする. 94 90 $tsk_epri_list = APPEND(tsk_epri_list, ALT(TSK.EXEPRI[TSK.TSKID[id]], TSK.ATSKPRI[TSK.TSKID[id]]))$ 95 91 $tsk_index = tsk_index + 1$ … … 111 107 112 108 $ ===================================================================== 113 $ kernel_cfg.c ̶¬109 $ kernel_cfg.cの生成 114 110 $ ===================================================================== 115 111 … … 126 122 127 123 $ --------------------------------------------------------------------- 128 $ CN[hfBNeBui#includej124 $ インクルードディレクティブ(#include) 129 125 $ --------------------------------------------------------------------- 130 126 /*$NL$ … … 136 132 137 133 $ --------------------------------------------------------------------- 138 $ IuWFNgÌIDÔðÛ·éÏ134 $ オブジェクトのID番号を保持する変数 139 135 $ --------------------------------------------------------------------- 140 136 $IF USE_EXTERNAL_ID$ … … 161 157 162 158 $ --------------------------------------------------------------------- 163 $ g[XO}NÌftHgè`159 $ トレースログマクロのデフォルト定義 164 160 $ --------------------------------------------------------------------- 165 161 /*$NL$ … … 178 174 179 175 $ --------------------------------------------------------------------- 180 $ ^XNÉÖ·éoÍ 181 $ --------------------------------------------------------------------- 182 183 $ 184 $ ÀsDæxÌRtBM 185 [Vɬ÷µ½©Ç¤© 186 $ 187 $ DEF_EPR ÉG[ª¶µ½êC±ÌϪ0ÉÈéD 188 $ DEF_EPR ÉG[ª¶µ½©Ç¤©ð»fµÄ 189 $ ÁèÌÀsðubN·é½ßÉgp·éD 176 $ タスクに関する出力 177 $ --------------------------------------------------------------------- 178 179 $ 180 $ 実行時優先度のコンフィギュレーションに成功したかどうか 181 $ 182 $ DEF_EPR 処理中にエラーが発生した場合,この変数が0になる. 183 $ DEF_EPR 処理中にエラーが発生したかどうかを判断して 184 $ 特定処理の実行をブロックするために使用する. 190 185 $ 191 186 $configurated_defepr_successfully = 1$ … … 196 191 $NL$ 197 192 198 $ ^XNIDÔÌÅål193 $ タスクID番号の最大値 199 194 const ID _kernel_tmax_tskid = (TMIN_TSKID + TNUM_TSKID - 1);$NL$ 200 195 $NL$ 201 196 202 $ ready_primap Ìúl197 $ ready_primap の初期値 203 198 $init_rdypmap = 0$ 204 199 $tsk_index = 1$ 205 200 206 $ ^XN®«D201 $ タスク属性. 207 202 const ATR _kernel_tinib_tskatr[TNUM_TSKID] = { 208 203 $JOINEACH tskid tsk_apriorder_list ","$ 209 $ // TA_ACT , TA_RSTR Ü½Í TA_NULL Å éiE_RSATRj204 $ // TA_ACT , TA_RSTR または TA_NULL である(E_RSATR) 210 205 $IF (TSK.TSKATR[tskid] & ~(TA_ACT | TA_RSTR | ALT(TARGET_TSKATR,0))) != 0$ 211 206 $ERROR TSK.TEXT_LINE[tskid]$E_RSATR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "tskatr", TSK.TSKATR[tskid], tskid, "CRE_TSK")$$END$ … … 223 218 const uint_t$TAB$_kernel_init_rdypmap = $init_rdypmap$U;$NL$ 224 219 225 $ g£îñ(exinf)D G[ÍRpCܽÍAvÌeXgÅo·é½ßC±±Å͵ȢD220 $ 拡張情報(exinf). エラーはコンパイル時またはアプリのテストで検出するため,ここではしない. 226 221 const intptr_t _kernel_tinib_exinf[TNUM_TSKID] = { 227 222 $JOINEACH tskid tsk_apriorder_list ","$ … … 230 225 };$NL$ 231 226 232 $ N®Ôn(task)DG[ÍRpCܽÍAvÌeXgÅo·é½ßC±±Å͵ȢD227 $ 起動番地(task).エラーはコンパイル時またはアプリのテストで検出するため,ここではしない. 233 228 const TASK _kernel_tinib_task[TNUM_TSKID] = { 234 229 $JOINEACH tskid tsk_apriorder_list ","$ … … 237 232 };$NL$ 238 233 239 $ N®Dæx(atskpri)D234 $ 起動優先度(atskpri). 240 235 $FOREACH tskid tsk_apriorder_list$ 241 $ // atskpri Í TMIN_TPRI ÈãCTMAX_TPRI ȺŠéDiE_PARj236 $ // atskpri は TMIN_TPRI 以上,TMAX_TPRI 以下である.(E_PAR) 242 237 $IF !(TMIN_TPRI <= TSK.ATSKPRI[tskid] && TSK.ATSKPRI[tskid] <= TMAX_TPRI)$ 243 238 $ERROR TSK.TEXT_LINE[tskid]$E_PAR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "atskpri", TSK.ATSKPRI[tskid], tskid, "CRE_TSK")$$END$ 244 239 $END$ 245 240 246 $ // atskpri Íd¡ªÈ¢DiE_PARj241 $ // atskpri は重複がない.(E_PAR) 247 242 $FOREACH tskid2 tsk_apriorder_list$ 248 243 $IF tskid != tskid2 && TSK.ATSKPRI[tskid] == TSK.ATSKPRI[tskid2] $ … … 252 247 $END$ 253 248 254 $ ÀsDæx(exepri)D249 $ 実行時優先度(exepri). 255 250 const uint_t _kernel_tinib_epriority[TNUM_TSKID] = { 256 251 $epri_allocated = 0$ … … 259 254 $epri = AT(tsk_epri_list, tsk_index)$ 260 255 261 $ // exepri Í TMIN_TPRI Èã©Â TMAX_TPRI ȺŠéD(E_PAR)256 $ // exepri は TMIN_TPRI 以上かつ TMAX_TPRI 以下である.(E_PAR) 262 257 $IF TMIN_TPRI > epri || TMAX_TPRI < epri$ 263 258 $configurated_defepr_successfully = 0$ … … 265 260 $END$ 266 261 267 $ // exepri Í atskpri ȺÌlðàÂ(DæxƵÄͯ¶©»êæè¢)D(E_ILUSE)262 $ // exepri は atskpri 以下の値をもつ(優先度としては同じかそれより高い).(E_ILUSE) 268 263 $IF epri <= TMAX_TPRI && epri > TSK.ATSKPRI[tskid]$ 269 264 $configurated_defepr_successfully = 0$ … … 271 266 $END$ 272 267 273 $ // exepri Ìà\»ðèµ reallocate_tskepri Éi[D268 $ // exepri の内部表現を決定し reallocate_tskepri に格納. 274 269 $FOREACH tskid2 tsk_apriorder_list $ 275 270 $IF epri_allocated != 1 && epri <= TSK.ATSKPRI[tskid2]$ … … 285 280 286 281 $ 287 $ // DæxèÄÊðoÍ282 $ // 優先度割り当て結果を出力 288 283 $ 289 284 /*$NL$ … … 295 290 296 291 $ 297 $ ^XNÌÅåX^bNgpÊÌvZ298 $ 299 300 $ X^bNTCYÉÖ·éG[`FbN292 $ タスクの最大スタック使用量の計算 293 $ 294 295 $ スタックサイズに関するエラーチェック 301 296 $FOREACH tskid TSK.ID_LIST$ 302 $ // stksz ª0©C^[Qbgè`ÌŬliTARGET_MIN_STKSZjæèଳ¢êiE_PARj297 $ // stkszが0か,ターゲット定義の最小値(TARGET_MIN_STKSZ)よりも小さい場合(E_PAR) 303 298 $IF TSK.STKSZ[tskid] == 0 || (LENGTH(TARGET_MIN_STKSZ) && 304 299 TSK.STKSZ[tskid] < TARGET_MIN_STKSZ)$ … … 308 303 309 304 $ 310 $ Öè`311 $ 312 $ 313 $ Ö1: N®DæxÌá¢É\[eBO·é½ßÌärÖ305 $ 関数定義 306 $ 307 $ 308 $ 関数1: 起動時優先度の低い順にソーティングするための比較関数 314 309 $ 315 310 $FUNCTION compare_tskapri_rev$ … … 318 313 319 314 $ 320 $ Ö2: wèµ½^XNÉηéX^bNgpÊÌÅåðvZ·éÖ321 $ ø : ARGV[1] : ^XNID(à\», N®DæxÌà\»Éµ¢)322 $ Ôl : RESULT : Y^XNÉηéX^bNgpÊÌÅålD323 $ ±ÌlÍCY^XNÌÀsJn©çI¹ÜÅÌÔÉ324 $ »Ì^XNÉηévGvgðl¶µÄX^bNgpÊð325 $ vZµ½êÉCÂ\«Ì égÝí¹ÌÅÅåÆÈélðÔ·D315 $ 関数2: 指定したタスクに対するスタック使用量の最大を計算する関数 316 $ 引数 : ARGV[1] : タスクID(内部表現, 起動時優先度の内部表現に等しい) 317 $ 返値 : RESULT : 当該タスクに対するスタック使用量の最大値. 318 $ この値は,当該タスクの実行開始から終了までの間に 319 $ そのタスクに対するプリエンプトを考慮してスタック使用量を 320 $ 計算した場合に,可能性のある組み合わせの中で最大となる値を返す. 326 321 $ 327 322 $nest_level = 0$ 328 323 $ 329 324 $FUNCTION calc_stksz$ 330 $ // ÏXg325 $ // 変数リスト 331 326 $nest_level = nest_level + 1$ 332 327 $arg[nest_level] = ARGV[1]$ 333 328 $calculated_stack_size = 0$ 334 329 335 $ // Jn330 $ // 処理開始 336 331 $SPC$* $LOG(nest_level-1)$Calculation start (Task ID = $arg[nest_level]$, StackSize[$arg[nest_level]$]=$TSK.STKSZ[arg[nest_level]]$)$NL$ 337 332 338 $ // wèµ½^XNID ÌX^bNvZª®¹µÄ¢é©333 $ // 指定したタスクID のスタック計算が完了しているか 339 334 $IF LENGTH(done[arg[nest_level]]) == 0$ 340 335 341 336 $SPC$* $LOG(nest_level)$Task list with higher priority than $arg[nest_level]$ = $higher_pri_tsklist[arg[nest_level]]$$NL$ 342 337 343 $ // (1) ®¹µÄ¢È¢ê344 $ // ÏÌú»338 $ // (1) 完了していない場合 339 $ // 変数の初期化 345 340 $max_stksz[arg[nest_level]] = 0$ 346 341 $higher_pri_maxstksz[arg[nest_level]] = 0$ 347 342 348 $ // Y^XNID ÌÀsDæxæè¢N®DæxðÂ^XNª¶Ý·éê343 $ // 当該タスクID の実行時優先度より高い起動優先度を持つタスクが存在する場合 349 344 $IF LENGTH(higher_pri_tsklist[arg[nest_level]]) > 0$ 350 $ // »ê¼êÌDæx^XNÉε345 $ // それぞれの高優先度タスクに対し 351 346 $FOREACH id higher_pri_tsklist[arg[nest_level]]$ 352 $ // ÄAÄo·éÆϪ㫳êé½ßCÛ¶µÄ¨347 $ // 再帰呼出すると変数が上書きされるため,保存しておく 353 348 $id_saved[nest_level] = id$ 354 $ // X^bNvZðÀs·é349 $ // スタック計算を実行する 355 350 $calculated_stack_size = calc_stksz(id_saved[nest_level])$ 356 $ // Û¶µ½ÏðA351 $ // 保存した変数を復帰 357 352 $id = id_saved[nest_level]$ 358 353 359 354 $IF higher_pri_maxstksz[arg[nest_level]] < calculated_stack_size$ 360 $ // L¯µÄ¨355 $ // 記憶しておく 361 356 $higher_pri_maxstksz[arg[nest_level]] = calculated_stack_size$ 362 357 $END$ … … 366 361 $SPC$* $LOG(nest_level)$higher_pri_maxstksz[$arg[nest_level]$] = $higher_pri_maxstksz[arg[nest_level]]$$NL$ 367 362 368 $ // Dæx^XNÌX^bNgpÊÉCY^XNÌgpÊðÁZ·é363 $ // 高優先度タスクのスタック使用量に,当該タスクの使用量を加算する 369 364 $max_stksz[arg[nest_level]] = higher_pri_maxstksz[arg[nest_level]] + TSK.STKSZ[arg[nest_level]]$ 370 365 371 366 $SPC$* $LOG(nest_level)$DONE(max_stksz[$arg[nest_level]$] = $max_stksz[arg[nest_level]]$)$NL$ 372 367 373 $ // Y^XNIDÉεÄÍvZðÏܹ½Æ¢¤L^ðcµÄ¨368 $ // 当該タスクIDに対しては計算を済ませたという記録を残しておく 374 369 $done[arg[nest_level]] = 1$ 375 370 376 371 $ELSE$ 377 $ // (2) vZªùÉ®¹µÄ¢éêCvZðXLbv·éD372 $ // (2) 計算が既に完了している場合,計算をスキップする. 378 373 379 374 $SPC$* $LOG(nest_level)$SKIP(max_stksz[$arg[nest_level]$] = $max_stksz[arg[nest_level]]$)$NL$ 380 375 $END$ 381 376 382 $ // ©ÏàèÌÅålðÔ·377 $ // 見積もりの最大値を返す 383 378 $RESULT = max_stksz[arg[nest_level]]$ 384 379 $nest_level = nest_level - 1$ … … 386 381 387 382 $ 388 $ Öè`±±ÜÅC±±©çX^bNvZÌJn389 $ 390 391 $ 392 $ ܸÍØ\¢Ìf[^\¢ì¬383 $ 関数定義ここまで,ここからスタック計算処理の開始 384 $ 385 386 $ 387 $ まずは木構造のデータ構造作成 393 388 $ 394 389 $FOREACH id LSORT(tsk_apriorder_list, "compare_tskapri_rev")$ 395 390 396 $ // e^XNÉC»ÌÀsDæxæèà¢N®DæxðÂ^XNÌXgðìéD397 $ // »êÍvGvg³êéÂ\«Ì é^XNÌêÆÈéD391 $ // 各タスク毎に,その実行時優先度よりも高い起動時優先度を持つタスクのリストを作る. 392 $ // それはプリエンプトされる可能性のあるタスクの一覧となる. 398 393 $FOREACH id2 LSORT(tsk_apriorder_list, "compare_tskapri_rev")$ 399 394 $IF reallocate_tskepri[id] > reallocate_tskapri[id2]$ … … 402 397 $END$ 403 398 404 $ // vGvg·éE³êéÖWð¦·Ø\¢Ìª(root)ÆÈé^XNÌTõD405 $ // ÎÛ^XN(id)ÌN®Dæx(reallocate_tskapri[id])æèá¢406 $ // ( lƵÄÍå«¢)N®DæxðàÂ^XNÌ higher_pri_tsklist ÉC407 $ // ÎÛ^XN(id) ªÜÜêȯêÎCªÆÈéD399 $ // プリエンプトする・される関係を示す木構造の根(root)となるタスクの探索. 400 $ // 対象タスク(id)の起動時優先度(reallocate_tskapri[id])より低い 401 $ // (値としては大きい)起動時優先度をもつタスクの higher_pri_tsklist に, 402 $ // 対象タスク(id) が含まれなければ,根となる. 408 403 $is_root = 1$ 409 404 $FOREACH id2 LSORT(tsk_apriorder_list, "compare_tskapri_rev")$ … … 414 409 $END$ 415 410 $END$ 416 $ // ª(root)ÆÈé^XNÈçÎCXgÖÇÁ411 $ // 根(root)となるタスクならば,リストへ追加 417 412 $IF is_root == 1$ 418 413 $root_apri = APPEND(root_apri, id)$ … … 421 416 422 417 $ 423 $ oÍJn418 $ 出力開始 424 419 $ 425 420 … … 428 423 $SPC$* $NL$ 429 424 430 $ // ªÆÈée^XNÉεÄC»ÌÅå^XNgpÊðvZµCXgÖÇÁ·éD425 $ // 根となる各タスクに対して,その最大タスク使用量を計算し,リストへ追加する. 431 426 $FOREACH root_id root_apri$ 432 427 $stksz_estimated = APPEND(stksz_estimated, calc_stksz(root_id))$ 433 428 $END$ 434 429 435 $ // ^XNÌX^bNgpÊÌÅålðè436 $ // XgÌvfÌÅålª^XNÌÅåX^bNgpÊÆÈéD430 $ // タスクのスタック使用量の最大値を決定 431 $ // リスト中の要素の最大値がタスクの最大スタック使用量となる. 437 432 $max_tsk_stksz = 0$ 438 433 $FOREACH size stksz_estimated$ … … 442 437 $END$ 443 438 444 $ // mF439 $ // 確認 445 440 $SPC$* List of Estimated Total Stack Sizes of Tasks = $stksz_estimated$$NL$ 446 441 $SPC$* Estimated Maximum Total Stack Size of Tasks = $max_tsk_stksz$$NL$ … … 449 444 450 445 451 $ SÄÌPÊÌX^bNͤL³êéD452 $ »Ì½ßCX^bNTCYÉÖ·é`FbNÍ453 $ ¤LX^bNÝèÌƱëÅÜÆßÄs¤D454 455 $ X^bNÌæªÔn(stk)D446 $ 全ての処理単位のスタックは共有される. 447 $ そのため,スタックサイズに関するチェックは 448 $ 共有スタック設定のところでまとめて行う. 449 450 $ スタックの先頭番地(stk). 456 451 $FOREACH tskid tsk_apriorder_list$ 457 $ // íÉ NULL Å éD(E_PAR)452 $ // 常に NULL である.(E_PAR) 458 453 $IF !EQ(TSK.STK[tskid], "NULL")$ 459 454 $ERROR TSK.TEXT_LINE[tskid]$E_PAR: $FORMAT(("'%1%' of %2% must be NULL."), "stk", "CRE_TSK")$$END$ … … 462 457 463 458 $ --------------------------------------------------------------------- 464 $ CxgtO459 $ イベントフラグ 465 460 $ --------------------------------------------------------------------- 466 461 /*$NL$ … … 469 464 $NL$ 470 465 471 $ Ggª (UINT8_MAX - TMIN_FLGID)Âæè½¢êÍCG[Æ·é --> »_ÅÍRgAEg466 $ エントリが (UINT8_MAX - TMIN_FLGID)個より多い場合は,エラーとする --> 現時点ではコメントアウト 472 467 $ $IF LENGTH(ALM.ORDER_LIST) > (UINT8_MAX - TMIN_FLGID)$ 473 468 $ $ERROR$$FORMAT("The number of CRE_FLG must be equal to or less than (UINT8_MAX - TMIN_FLGID).")$$END$ 474 469 $ $END$ 475 470 476 $ CxgtOIDÔÌÅål471 $ イベントフラグID番号の最大値 477 472 const ID _kernel_tmax_flgid = (TMIN_FLGID + TNUM_FLGID - 1);$NL$ 478 473 $NL$ 479 474 480 $ // iflgptn ªFLGPTNÉi[Å«È¢êiE_PARj475 $ // iflgptnがFLGPTNに格納できない場合(E_PAR) 481 476 $FOREACH flgid FLG.ORDER_LIST$ 482 477 $IF (FLG.IFLGPTN[flgid] & ~((1 << TBIT_FLGPTN) - 1)) != 0$ … … 485 480 $END$ 486 481 487 $ CxgtOú»ubN̶¬482 $ イベントフラグ初期化ブロックの生成 488 483 $IF LENGTH(FLG.ID_LIST)$ 489 484 490 $ CxgtO®«485 $ イベントフラグ属性 491 486 const ATR _kernel_flginib_atr[TNUM_FLGID] = { 492 487 $JOINEACH flgid FLG.ORDER_LIST ","$ 493 $ // flgatr ªimTA_CLRnjÅÈ¢êiE_RSATRj488 $ // flgatrが([TA_CLR])でない場合(E_RSATR) 494 489 $IF (FLG.FLGATR[flgid] & ~(TA_CLR)) != 0$ 495 490 $ERROR FLG.TEXT_LINE[flgid]$E_RSATR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "flgatr", FLG.FLGATR[flgid], flgid, "CRE_FLG")$$END$ … … 499 494 };$NL$ 500 495 501 $ CxgtOp^[Ìúl496 $ イベントフラグパターンの初期値 502 497 const FLGPTN _kernel_flginib_iflgptn[TNUM_FLGID] = { 503 498 $JOINEACH flgid FLG.ORDER_LIST ","$ … … 506 501 };$NL$ 507 502 508 $ // CxgtOÌ»ÝÌtOp^[ði[·éÏ503 $ // イベントフラグの現在のフラグパターンを格納する変数 509 504 FLGPTN _kernel_flgcb_flgptn[TNUM_FLGID];$NL$ 510 505 $ELSE$ … … 516 511 517 512 $ --------------------------------------------------------------------- 518 $ f[^L 519 [ 513 $ データキュー 520 514 $ --------------------------------------------------------------------- 521 515 /*$NL$ … … 524 518 $NL$ 525 519 526 $ f[^L 527 [IDÔÌÅål 520 $ データキューID番号の最大値 528 521 const ID _kernel_tmax_dtqid = (TMIN_DTQID + TNUM_DTQID - 1);$NL$ 529 522 $NL$ … … 531 524 $IF LENGTH(DTQ.ID_LIST)$ 532 525 $FOREACH dtqid DTQ.ORDER_LIST$ 533 $ // dtqatr ª TA_NULL ÅÈ¢êiE_RSATRj526 $ // dtqatrが TA_NULL でない場合(E_RSATR) 534 527 $IF (DTQ.DTQATR[dtqid] != TA_NULL) $ 535 528 $ERROR DTQ.TEXT_LINE[dtqid]$E_RSATR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "dtqatr", DTQ.DTQATR[dtqid], dtqid, "CRE_DTQ")$$END$ 536 529 $END$ 537 530 538 $ // dtqmb ªNULLÅÈ¢êiE_NOSPTj531 $ // dtqmbがNULLでない場合(E_NOSPT) 539 532 $IF !EQ(DTQ.DTQMB[dtqid], "NULL")$ 540 533 $ERROR DTQ.TEXT_LINE[dtqid]$E_NOSPT: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "dtqmb", DTQ.DTQMB[dtqid], dtqid, "CRE_DTQ")$$END$ 541 534 $END$ 542 535 543 $ // dtqcnt ª0Å éê536 $ // dtqcntが0である場合 544 537 $IF EQ(+DTQ.DTQCNT[dtqid], 0)$ 545 538 $ERROR DTQ.TEXT_LINE[dtqid]$E_PAR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "dtqmb", DTQ.DTQCNT[dtqid], dtqid, "CRE_DTQ")$$END$ … … 547 540 548 541 549 $ // f[^L 550 [Ìæ 542 $ // データキュー領域 551 543 $IF DTQ.DTQCNT[dtqid]$ 552 544 static intptr_t _kernel_dtqmb_$dtqid$[$DTQ.DTQCNT[dtqid]$];$NL$ … … 554 546 $END$ 555 547 556 $ // f[^L 557 [ú»ubN̶¬(®«) 548 $ // データキュー初期化ブロックの生成(属性) 558 549 const ATR _kernel_dtqinib_atr[TNUM_DTQID] = { 559 550 $JOINEACH dtqid DTQ.ORDER_LIST ",\n"$ … … 563 554 $NL$ 564 555 565 $ // f[^L 566 [ú»ubN̶¬(TCY) 556 $ // データキュー初期化ブロックの生成(サイズ) 567 557 const uint8_t _kernel_dtqinib_size[TNUM_DTQID] = { 568 558 $JOINEACH dtqid DTQ.ORDER_LIST ",\n"$ … … 572 562 $NL$ 573 563 574 $ // f[^L 575 [ú»ubN̶¬(ÇÌæ) 564 $ // データキュー初期化ブロックの生成(管理領域) 576 565 intptr_t * const _kernel_dtqinib_data[TNUM_DTQID] = { 577 566 $JOINEACH dtqid DTQ.ORDER_LIST ",\n"$ … … 581 570 $NL$ 582 571 583 $ // f[^L 584 [Rg[ubN 572 $ // データキューコントロールブロック 585 573 uint8_t _kernel_dtqcb_count[TNUM_DTQID];$NL$ 586 574 uint8_t _kernel_dtqcb_head[TNUM_DTQID];$NL$ … … 598 586 599 587 $ --------------------------------------------------------------------- 600 $ ÝÇ@\588 $ 割込み管理機能 601 589 $ --------------------------------------------------------------------- 602 590 /*$NL$ … … 605 593 $NL$ 606 594 607 $ // INTNO_ATTISR_VALID Ìvfªd¡µÄ¢È¢©Ç¤©Ì`FbN595 $ // INTNO_ATTISR_VALID の要素が重複していないかどうかのチェック 608 596 $i = 0$ 609 597 $FOREACH intno INTNO_ATTISR_VALID$ … … 618 606 $END$ 619 607 620 $ // INHNO_ATTISR_VALID Ìvfªd¡µÄ¢È¢©Ç¤©Ì`FbN608 $ // INHNO_ATTISR_VALID の要素が重複していないかどうかのチェック 621 609 $i = 0$ 622 610 $FOREACH intno INHNO_ATTISR_VALID$ … … 632 620 633 621 634 $ // ATT_ISR ÅgpÂ\ÈÝÔÆC»êÉηéÝnhÔ̪¯¶©Ç¤©635 $ // eXgÌvfÍd¡µÄ¢È¢±ÆðOñƵĢéD622 $ // ATT_ISR で使用可能な割込み番号と,それに対応する割込みハンドラ番号の数が同じかどうか 623 $ // 各リストの要素は重複していないことを前提としている. 636 624 $IF LENGTH(INTNO_ATTISR_VALID) != LENGTH(INHNO_ATTISR_VALID)$ 637 625 $ERROR$length of `INTNO_ATTISR_VALID' is different from length of `INHNO_ATTISR_VALID'$END$ … … 639 627 640 628 641 $ // ÝÔÆÝnhÔÌÏ·e[uÌì¬642 $ // ÝÔÌXgÆÝnhÔÌXgÍηévfª¯¶ÔÅ643 $ // »êéæ¤ÉÀ×çêÄ¢é±ÆðOñÆ·éD629 $ // 割込み番号と割込みハンドラ番号の変換テーブルの作成 630 $ // 割込み番号のリストと割込みハンドラ番号のリストは対応する要素が同じ順番で 631 $ // 現れるように並べられていることを前提とする. 644 632 $i = 0$ 645 633 $FOREACH intno INTNO_ATTISR_VALID$ 646 634 647 $ // INTNO_ATTISR_VALID ÉÜÜêélÍ INTNO_CFGINT_VALID ÉàÜÜêé׫ŠéD648 $ // INTNO_ATTISR_VALID Í INTNO_CFGINT_VALID ̪WÉÈé͸D635 $ // INTNO_ATTISR_VALID に含まれる値は INTNO_CFGINT_VALID にも含まれるべきである. 636 $ // INTNO_ATTISR_VALID は INTNO_CFGINT_VALID の部分集合になるはず. 649 637 $IF LENGTH(FIND(INTNO_CFGINT_VALID, intno)) == 0$ 650 638 $ERROR$all elements of `INTNO_ATTISR_VALID' must be included in `INTNO_CFGINT_VALID'$END$ … … 658 646 659 647 660 $ // INTNO_CFGINT_VALID Ìvfª INTNO_VALID ÉÜÜêé©Ç¤©Ì`FbN661 $ // INTNO_CFGINT_VALID Í INTNO_VALID ̪WÉÈé͸D648 $ // INTNO_CFGINT_VALID の要素が INTNO_VALID に含まれるかどうかのチェック 649 $ // INTNO_CFGINT_VALID は INTNO_VALID の部分集合になるはず. 662 650 $FOREACH intno INTNO_CFGINT_VALID$ 663 651 $IF LENGTH(FIND(INTNO_VALID, intno)) == 0$ … … 667 655 668 656 669 $ // INHNO_ATTISR_VALID Ìvfª INHNO_VALID ÉÜÜêé©Ç¤©Ì`FbN670 $ // INHNO_ATTISR_VALID Í INHNO_VALID ̪WÉÈé͸D657 $ // INHNO_ATTISR_VALID の要素が INHNO_VALID に含まれるかどうかのチェック 658 $ // INHNO_ATTISR_VALID は INHNO_VALID の部分集合になるはず. 671 659 $FOREACH inhno INHNO_ATTISR_VALID$ 672 660 $IF LENGTH(FIND(INHNO_VALID, inhno)) == 0$ … … 676 664 677 665 678 $ // ÝvCÉÖ·éG[`FbN666 $ // 割込み要求ラインに関するエラーチェック 679 667 $i = 0$ 680 668 $FOREACH intno INT.ORDER_LIST$ 681 $ // intno ªCFG_INTÉηéÝÔƵijµÈ¢êiE_PARj669 $ // intnoがCFG_INTに対する割込み番号として正しくない場合(E_PAR) 682 670 $IF !LENGTH(FIND(INTNO_CFGINT_VALID, INT.INTNO[intno]))$ 683 671 $ERROR INT.TEXT_LINE[intno]$E_PAR: $FORMAT(_("illegal %1% `%2%\' in %3%"), "intno", INT.INTNO[intno], "CFG_INT")$$END$ 684 672 $END$ 685 673 686 $ // intno ªCFG_INTÉæÁÄÝèÏÝÌêiE_OBJj674 $ // intnoがCFG_INTによって設定済みの場合(E_OBJ) 687 675 $j = 0$ 688 676 $FOREACH intno2 INT.ORDER_LIST$ … … 693 681 $END$ 694 682 695 $ // intatr ª TA_ENAINT, TA_EDGE, ܽͻ̼^[QbgÅpÂ\È®«Ì¢¸êÅàÈ¢êiE_RSATRj683 $ // intatrが TA_ENAINT, TA_EDGE, またはその他ターゲットで利用可能な属性のいずれでもない場合(E_RSATR) 696 684 $IF (INT.INTATR[intno] & ~(TA_ENAINT|TA_EDGE|ALT(TARGET_INTATR,0))) != 0$ 697 685 $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$ 698 686 $END$ 699 687 700 $ // intpri ªCFG_INTÉηéÝDæxƵijµÈ¢êiE_PARj688 $ // intpriがCFG_INTに対する割込み優先度として正しくない場合(E_PAR) 701 689 $IF !LENGTH(FIND(INTPRI_CFGINT_VALID, INT.INTPRI[intno]))$ 702 690 $ERROR INT.TEXT_LINE[intno]$E_PAR: $FORMAT(_("illegal %1% `%2%\' in %3%"), "intpri", INT.INTPRI[intno], "CFG_INT")$$END$ 703 691 $END$ 704 692 705 $ // J[lÇÌÝƵÄÅè³êÄ¢éÝÉCTMIN_INTPRI æèଳ¢lªwè³ê½êiE_OBJj693 $ // カーネル管理の割込みとして固定されている割込みに,TMIN_INTPRI よりも小さい値が指定された場合(E_OBJ) 706 694 $IF LENGTH(FIND(INTNO_FIX_KERNEL, intno))$ 707 695 $IF INT.INTPRI[intno] < TMIN_INTPRI$ … … 710 698 $END$ 711 699 712 $ // J[lÇOÌÝƵÄÅè³êÄ¢éÝÉCTMIN_INTPRI æèଳ¢lªwè³êÈ©Á½êiE_OBJj700 $ // カーネル管理外の割込みとして固定されている割込みに,TMIN_INTPRI よりも小さい値が指定されなかった場合(E_OBJ) 713 701 $IF LENGTH(FIND(INTNO_FIX_NONKERNEL, intno))$ 714 702 $IF INT.INTPRI[intno] >= TMIN_INTPRI$ … … 720 708 721 709 722 $ ÝnhÉÖ·éG[`FbN710 $ 割込みハンドラに関するエラーチェック 723 711 $i = 0$ 724 712 $FOREACH inhno INH.ORDER_LIST$ 725 $ // ÝnhÔ(inhno)ª³µÈ¢êiE_PARj713 $ // 割込みハンドラ番号(inhno)が正しくない場合(E_PAR) 726 714 $IF !LENGTH(FIND(INHNO_DEFINH_VALID, INH.INHNO[inhno]))$ 727 715 $ERROR INH.TEXT_LINE[inhno]$E_PAR: $FORMAT(_("illegal %1% `%2%\' in %3%"), "inhno", INH.INHNO[inhno], "DEF_INH")$$END$ 728 716 $END$ 729 717 730 $ // ¯¶ÝnhÔÉηéDEF_INHª¡¶Ý·éêiE_OBJj718 $ // 同じ割込みハンドラ番号に対するDEF_INHが複数存在する場合(E_OBJ) 731 719 $j = 0$ 732 720 $FOREACH inhno2 INH.ORDER_LIST$ … … 737 725 $END$ 738 726 739 $ // Ýnh®«(inhatr) ª TA_NULL, TA_NONKERNEL, yѻ̼^[Qbg˶ÅpÂ\È®«Ì¢¸êÅàÈ¢iE_RSATRj727 $ // 割込みハンドラ属性(inhatr) が TA_NULL, TA_NONKERNEL, 及びその他ターゲット依存で利用可能な属性のいずれでもない(E_RSATR) 740 728 $IF (INH.INHATR[inhno] & ~(TA_NONKERNEL|ALT(TARGET_INHATR,0))) != 0$ 741 729 $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$ 742 730 $END$ 743 731 744 $ // J[lÇÉÅè³êÄ¢éÝnhÉCTA_NONKERNEL ®«ªÝè³êÄ¢éiE_RSATRj732 $ // カーネル管理に固定されている割込みハンドラに,TA_NONKERNEL 属性が設定されている(E_RSATR) 745 733 $IF LENGTH(FIND(INHNO_FIX_KERNEL, inhno))$ 746 734 $IF (INH.INHATR[inhno] & TA_NONKERNEL) != 0$ … … 749 737 $END$ 750 738 751 $ // J[lÇOÉÅè³êÄ¢éÝnhÉCTA_NONKERNEL ®«ªÝè³êĢȢiE_RSATRj739 $ // カーネル管理外に固定されている割込みハンドラに,TA_NONKERNEL 属性が設定されていない(E_RSATR) 752 740 $IF LENGTH(FIND(INHNO_FIX_NONKERNEL, inhno))$ 753 741 $IF (INH.INHATR[inhno] & TA_NONKERNEL) == 0$ … … 757 745 758 746 759 $ // ÝÔÆ1Î1ηéÝnhÔ(ATT_ISRÅwèÂ\ÈÝnhÔ)ÍCȺÌ`FbNàs¤D760 $ // INHNO_ATTISR_VALID ÉÜÜêÈ¢ÝnhÔÍ`FbN³êÈ¢±ÆÉÈéD747 $ // 割込み番号と1対1対応する割込みハンドラ番号(ATT_ISRで指定可能な割込みハンドラ番号)は,以下のチェックも行う. 748 $ // INHNO_ATTISR_VALID に含まれない割込みハンドラ番号はチェックされないことになる. 761 749 $IF LENGTH(INTNO[INH.INHNO[inhno]]) > 0$ 762 750 $intno = INTNO[INH.INHNO[inhno]]$ 763 751 764 $ // Ýnho^æÌÝvCª®«Ýè³êĢȢ(CFG_INTªÈ¢)iE_OBJj752 $ // 割込みハンドラ登録先の割込み要求ラインが属性設定されていない(CFG_INTがない)(E_OBJ) 765 753 $IF !LENGTH(INT.INTNO[intno])$ 766 754 $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$ 767 755 $ELSE$ 768 756 $IF (INH.INHATR[inhno] & TA_NONKERNEL) == 0$ 769 $ // inhatr ÉTA_NONKERNELªwè³êĨç¸CinhnoÉÎ770 $ // ·éintnoÉεÄCFG_INTÅÝè³ê½ÝDæxª771 $ // TMIN_INTPRI æèଳ¢êiE_OBJj757 $ // inhatrにTA_NONKERNELが指定されておらず,inhnoに対応 758 $ // するintnoに対してCFG_INTで設定された割込み優先度が 759 $ // TMIN_INTPRIよりも小さい場合(E_OBJ) 772 760 $IF INT.INTPRI[intno] < TMIN_INTPRI$ 773 761 $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$ 774 762 $END$ 775 763 $ELSE$ 776 $ // inhatr ÉTA_NONKERNELªwè³êĨèCinhnoÉÎ777 $ // ·éintnoÉεÄCFG_INTÅÝè³ê½ÝDæxª778 $ // TMIN_INTPRI ÈãÅ éêiE_OBJj764 $ // inhatrにTA_NONKERNELが指定されており,inhnoに対応 765 $ // するintnoに対してCFG_INTで設定された割込み優先度が 766 $ // TMIN_INTPRI以上である場合(E_OBJ) 779 767 $IF INT.INTPRI[intno] >= TMIN_INTPRI$ 780 768 $ERROR INT.TEXT_LINE[intno]$E_OBJ: $FORMAT(_("%1% `%2%\' configured for %3% `%4%\' is lower than or equal to %5%"), "intpri", INT.INTPRI[intno], "inhno", INH.INHNO[inhno], "TMIN_INTPRI")$$END$ … … 786 774 $END$ 787 775 788 $ ÝT[rX[`iISRjÉÖ·éG[`FbNÆÝnh̶¬776 $ 割込みサービスルーチン(ISR)に関するエラーチェックと割込みハンドラの生成 789 777 $FOREACH order ISR.ORDER_LIST$ 790 $ // isratr ªiTA_NULLjÅÈ¢êiE_RSATRj778 $ // isratrが(TA_NULL)でない場合(E_RSATR) 791 779 $IF (ISR.ISRATR[order] & ~ALT(TARGET_ISRATR,0)) != 0$ 792 780 $ERROR ISR.TEXT_LINE[order]$E_RSATR: $FORMAT(_("illegal %1% `%2%\' of %3% `%4%\' in %5%"), "isratr", ISR.ISRATR[order], "isr", ISR.ISR[order], "ATT_ISR")$$END$ 793 781 $END$ 794 782 795 $ // intno ªATT_ISRÉηéÝÔƵijµÈ¢êiE_PARj783 $ // intnoがATT_ISRに対する割込み番号として正しくない場合(E_PAR) 796 784 $IF !LENGTH(FIND(INTNO_ATTISR_VALID, ISR.INTNO[order]))$ 797 785 $ERROR ISR.TEXT_LINE[order]$E_PAR: $FORMAT(_("illegal %1% `%2%\' in %3%"), "intno", ISR.INTNO[order], "ATT_ISR")$$END$ 798 786 $END$ 799 787 800 $ // (TMIN_ISRPRI <= isrpri && isrpri <= TMAX_ISRPRI) ÅÈ¢êiE_PARj788 $ // (TMIN_ISRPRI <= isrpri && isrpri <= TMAX_ISRPRI)でない場合(E_PAR) 801 789 $IF !(TMIN_ISRPRI <= ISR.ISRPRI[order] && ISR.ISRPRI[order] <= TMAX_ISRPRI)$ 802 790 $ERROR ISR.TEXT_LINE[order]$E_PAR: $FORMAT(_("illegal %1% `%2%\' in %3%"), "isrpri", ISR.ISRPRI[order], "ATT_ISR")$$END$ … … 808 796 $inhno = INHNO[intno]$ 809 797 810 $ // ÝÔintnoÉεÄo^³ê½ISRÌXgÌì¬798 $ // 割込み番号intnoに対して登録されたISRのリストの作成 811 799 $isr_order_list = {}$ 812 800 $FOREACH order ISR.ORDER_LIST$ … … 817 805 $END$ 818 806 819 $ // ÝÔintnoÉεÄo^³ê½ISRª¶Ý·éê807 $ // 割込み番号intnoに対して登録されたISRが存在する場合 820 808 $IF LENGTH(isr_order_list) > 0$ 821 $ // intno ÉηéinhnoÉεÄDEF_INHª éêiE_OBJj809 $ // intnoに対応するinhnoに対してDEF_INHがある場合(E_OBJ) 822 810 $IF LENGTH(INH.INHNO[inhno])$ 823 811 $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$ 824 812 $END$ 825 813 826 $ // intno ÉηéCFG_INTªÈ¢êiE_OBJj814 $ // intnoに対するCFG_INTがない場合(E_OBJ) 827 815 $IF !LENGTH(INT.INTNO[intno])$ 828 816 $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$ 829 817 $ELSE$ 830 $ // intno ÉεÄCFG_INTÅÝè³ê½ÝDæxªTMIN_INTPRI831 $ // æèଳ¢êiE_OBJj818 $ // intnoに対してCFG_INTで設定された割込み優先度がTMIN_INTPRI 819 $ // よりも小さい場合(E_OBJ) 832 820 $IF INT.INTPRI[intno] < TMIN_INTPRI$ 833 821 $ERROR INT.TEXT_LINE[intno]$E_OBJ: $FORMAT(_("%1% `%2%\' configured for %3% `%4%\' is higher than %5%"), "intpri", INT.INTPRI[intno], "intno", ISR.INTNO[order_for_error], "TMIN_INTPRI")$$END$ … … 841 829 $INH.ORDER_LIST = APPEND(INH.ORDER_LIST, inhno)$ 842 830 843 $ // ISR pÌÝnh831 $ // ISR用の割込みハンドラ 844 832 void$NL$ 845 833 _kernel_inthdr_$intno$(void)$NL$ … … 853 841 $TAB$i_begin_int($intno$);$NL$ 854 842 $END$ 855 $ // ISR ðDæxÉÄÑo·843 $ // ISRを優先度順に呼び出す 856 844 $JOINEACH order SORT(isr_order_list, "ISR.ISRPRI") "\tif (i_sense_lock()) {\n\t\ti_unlock_cpu();\n\t}\n\ti_set_ipm(saved_ipm);\n"$ 857 845 $TAB$LOG_ISR_ENTER($intno$);$NL$ … … 866 854 867 855 $ 868 $ ÝÇ@\̽ßÌWIÈú»îñ̶¬869 $ 870 $ ÝnhÌú»ÉKvÈîñ856 $ 割込み管理機能のための標準的な初期化情報の生成 857 $ 858 $ 割込みハンドラの初期化に必要な情報 871 859 $IF !OMIT_INITIALIZE_INTERRUPT || ALT(USE_INHINIB_TABLE,0)$ 872 860 873 $ Ýnh861 $ 割込みハンドラ数 874 862 #define TNUM_INHNO $LENGTH(INH.ORDER_LIST)$$NL$ 875 863 const uint_t _kernel_tnum_inhno = TNUM_INHNO;$NL$ … … 879 867 $END$ 880 868 881 $ Ýnhú»e[u869 $ 割込みハンドラ初期化テーブル 882 870 $IF LENGTH(INH.ORDER_LIST)$ 883 871 const INHNO _kernel_inhinib_inhno[TNUM_INHNO] = { … … 905 893 $END$ 906 894 907 $ ÝvCÌú»ÉKvÈîñ895 $ 割込み要求ラインの初期化に必要な情報 908 896 $IF !OMIT_INITIALIZE_INTERRUPT || ALT(USE_INTINIB_TABLE,0)$ 909 897 910 $ ÝvC898 $ 割込み要求ライン数 911 899 #define TNUM_INTNO $LENGTH(INT.ORDER_LIST)$$NL$ 912 900 const uint_t _kernel_tnum_intno = TNUM_INTNO;$NL$ 913 901 $NL$ 914 902 915 $ ÝvCú»e[u903 $ 割込み要求ライン初期化テーブル 916 904 $IF LENGTH(INT.ORDER_LIST)$ 917 905 const INTNO _kernel_intinib_intno[TNUM_INTNO] = { … … 941 929 942 930 $ --------------------------------------------------------------------- 943 $ CPU áOnh931 $ CPU例外ハンドラ 944 932 $ --------------------------------------------------------------------- 945 933 /*$NL$ … … 948 936 $NL$ 949 937 950 $ // EXCNO_DEFEXC_VALID Ìvfª EXCNO_VALID ÉÜÜêé©Ç¤©Ì`FbN951 $ // EXCNO_DEFEXC_VALID Í EXCNO_VALID ̪WÉÈé͸D938 $ // EXCNO_DEFEXC_VALID の要素が EXCNO_VALID に含まれるかどうかのチェック 939 $ // EXCNO_DEFEXC_VALID は EXCNO_VALID の部分集合になるはず. 952 940 $FOREACH excno EXCNO_DEFEXC_VALID$ 953 941 $IF LENGTH(FIND(EXCNO_VALID, excno)) == 0$ … … 957 945 958 946 959 $ CPU áOnhÉÖ·éG[`FbN947 $ CPU例外ハンドラに関するエラーチェック 960 948 $i = 0$ 961 949 $FOREACH excno EXC.ORDER_LIST$ 962 $ // excno ªDEF_EXCÉηéCPUáOnhÔƵijµÈ¢êiE_PARj950 $ // excnoがDEF_EXCに対するCPU例外ハンドラ番号として正しくない場合(E_PAR) 963 951 $IF !LENGTH(FIND(EXCNO_DEFEXC_VALID, EXC.EXCNO[excno]))$ 964 952 $ERROR EXC.TEXT_LINE[excno]$E_PAR: $FORMAT(_("illegal %1% `%2%\' in %3%"), "excno", EXC.EXCNO[excno], "DEF_EXC")$$END$ 965 953 $END$ 966 954 967 $ // excno ªDEF_EXCÉæÁÄÝèÏÝÌêiE_OBJj955 $ // excnoがDEF_EXCによって設定済みの場合(E_OBJ) 968 956 $j = 0$ 969 957 $FOREACH excno2 EXC.ORDER_LIST$ … … 974 962 $END$ 975 963 976 $ // excatr ªiTA_NULLjÅÈ¢êiE_RSATRj964 $ // excatrが(TA_NULL)でない場合(E_RSATR) 977 965 $IF (EXC.EXCATR[excno] & ~ALT(TARGET_EXCATR,0)) != 0$ 978 966 $ERROR EXC.TEXT_LINE[excno]$E_RSATR: $FORMAT(_("illegal %1% `%2%\' of %3% `%4%\' in %5%"), "excatr", EXC.EXCATR[excno], "excno", EXC.EXCNO[excno], "DEF_EXC")$$END$ … … 981 969 $END$ 982 970 983 $ CPU áOnh̽ßÌWIÈú»îñ̶¬971 $ CPU例外ハンドラのための標準的な初期化情報の生成 984 972 $IF !ALT(OMIT_INITIALIZE_EXCEPTION,0)$ 985 973 986 $ CPU áOnh974 $ CPU例外ハンドラ数 987 975 #define TNUM_EXCNO $LENGTH(EXC.ORDER_LIST)$$NL$ 988 976 const uint_t _kernel_tnum_excno = TNUM_EXCNO;$NL$ … … 992 980 $END$ 993 981 994 $ CPU áOnhú»e[u982 $ CPU例外ハンドラ初期化テーブル 995 983 $IF LENGTH(EXC.ORDER_LIST)$ 996 984 const EXCNO _kernel_excinib_excno[TNUM_EXCNO] = { … … 1021 1009 1022 1010 $ --------------------------------------------------------------------- 1023 $ üúnh1011 $ 周期ハンドラ 1024 1012 $ --------------------------------------------------------------------- 1025 1013 … … 1029 1017 $NL$ 1030 1018 1031 $ üúnhIDÔÌÅål1019 $ 周期ハンドラID番号の最大値 1032 1020 const ID _kernel_tmax_cycid = (TMIN_CYCID + TNUM_CYCID - 1);$NL$ 1033 1021 1034 $ üúnhÌ^CCxgIDItZbg1035 $ üúnhÌ^CCxgIDÍ0©çJn1022 $ 周期ハンドラのタイムイベントIDオフセット 1023 $ 周期ハンドラのタイムイベントIDは0から開始 1036 1024 const uint_t _kernel_cycevtid_offset = 0;$NL$ 1037 1025 $NL$ 1038 1026 1039 $ Ggª TMAX_MAXCYC(kernel.h) Âæè½¢êÍCG[Æ·é1027 $ エントリが TMAX_MAXCYC(kernel.h) 個より多い場合は,エラーとする 1040 1028 $IF LENGTH(CYC.ORDER_LIST) > TMAX_MAXCYC$ 1041 1029 $ERROR$$FORMAT(_("The number of CRE_CYC must be equal to or less than %1%."), +VALUE("TMAX_MAXCYC", TMAX_MAXCYC))$$END$ … … 1043 1031 1044 1032 $IF LENGTH(CYC.ORDER_LIST)$ 1045 $ üúnh®«1033 $ 周期ハンドラ属性 1046 1034 $CYCACT = 0$ 1047 1035 $FOREACH cycid CYC.ORDER_LIST$ 1048 $ // üúnh®«(cycatr) ª TA_NULL, TA_STA Ì¢¸êÅàÈ¢iE_RSATRj1036 $ // 周期ハンドラ属性(cycatr) が TA_NULL, TA_STA のいずれでもない(E_RSATR) 1049 1037 $IF (CYC.CYCATR[cycid] & ~TA_STA) != 0$ 1050 1038 $ERROR CYC.TEXT_LINE[cycid]$E_RSATR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "cycatr", CYC.CYCATR[cycid], cycid, "CRE_CYC")$$END$ … … 1057 1045 const uint16_t _kernel_cycinib_cycact = $CYCACT$;$NL$ 1058 1046 1059 $ üúnhg£îñ1047 $ 周期ハンドラ拡張情報 1060 1048 const intptr_t _kernel_cycinib_exinf[TNUM_CYCID] = { 1061 1049 $JOINEACH cycid CYC.ORDER_LIST ","$ … … 1064 1052 };$NL$ 1065 1053 1066 $ üúnhAhX1054 $ 周期ハンドラアドレス 1067 1055 const CYCHDR _kernel_cycinib_cychdr[TNUM_CYCID] = { 1068 1056 $JOINEACH cycid CYC.ORDER_LIST ","$ … … 1071 1059 };$NL$ 1072 1060 1073 $ üúnhüú1061 $ 周期ハンドラ周期 1074 1062 const RELTIM _kernel_cycinib_cyctim[TNUM_CYCID] = { 1075 1063 $JOINEACH cycid CYC.ORDER_LIST ","$ 1076 $ // cyctim Í 0 æèå«CTMAX_RELTIM ȺŠéD(E_PAR)1064 $ // cyctim は 0 より大きく,TMAX_RELTIM 以下である.(E_PAR) 1077 1065 $IF CYC.CYCTIM[cycid] <= 0 || TMAX_RELTIM < CYC.CYCTIM[cycid] $ 1078 1066 $ERROR CYC.TEXT_LINE[cycid]$E_PAR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "cyctim", CYC.CYCTIM[cycid], cycid, "CRE_CYC")$$END$ … … 1083 1071 };$NL$ 1084 1072 1085 $ üúnhÊ1073 $ 周期ハンドラ位相 1086 1074 const RELTIM _kernel_cycinib_cycphs[TNUM_CYCID] = { 1087 1075 $JOINEACH cycid CYC.ORDER_LIST ","$ 1088 $ // cycphs Í 0 ÈãCTMAX_RELTIM ȺŠéD(E_PAR)1076 $ // cycphs は 0 以上,TMAX_RELTIM 以下である.(E_PAR) 1089 1077 $IF CYC.CYCPHS[cycid] < 0 || TMAX_RELTIM < CYC.CYCPHS[cycid] $ 1090 1078 $ERROR CYC.TEXT_LINE[cycid]$E_PAR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "cycphs", CYC.CYCPHS[cycid], cycid, "CRE_CYC")$$END$ 1091 1079 $END$ 1092 1080 1093 $ // ʪ0©ÂC®«ª TA_STA ÌêÍx1081 $ // 位相が0かつ,属性が TA_STA の場合は警告 1094 1082 $IF CYC.CYCPHS[cycid] == 0 && (CYC.CYCATR[cycid] & TA_STA) != 0$ 1095 1083 $WARNING CYC.TEXT_LINE[cycid]$$FORMAT(_("%1% is not recommended when %2% is set to %3% in %4%"), "cycphs==0", "TA_STA", "cycatr", "CRE_CYC")$$END$ … … 1101 1089 $NL$ 1102 1090 1103 $ üúnhÌñN®1091 $ 周期ハンドラの次回起動時刻 1104 1092 EVTTIM _kernel_cyccb_evttim[TNUM_CYCID];$NL$ 1105 1093 … … 1113 1101 $END$ 1114 1102 1115 $ üúnh®ìóÔ1103 $ 周期ハンドラ動作状態 1116 1104 uint16_t _kernel_cyccb_cycact;$NL$ 1117 1105 … … 1120 1108 1121 1109 $ --------------------------------------------------------------------- 1122 $ A[nh1110 $ アラームハンドラ 1123 1111 $ --------------------------------------------------------------------- 1124 1112 … … 1128 1116 $NL$ 1129 1117 1130 $ Ggª TMAX_MAXALM(kernel.h) Âæè½¢êÍCG[Æ·é1118 $ エントリが TMAX_MAXALM(kernel.h) 個より多い場合は,エラーとする 1131 1119 $IF LENGTH(ALM.ORDER_LIST) > TMAX_MAXALM$ 1132 1120 $ERROR$$FORMAT(_("The number of CRE_ALM must be equal to or less than %1%."), +VALUE("TMAX_MAXALM",TMAX_MAXALM))$$END$ 1133 1121 $END$ 1134 1122 1135 $ A[nhÌÅåIDl1123 $ アラームハンドラの最大ID値 1136 1124 const ID _kernel_tmax_almid = (TMIN_ALMID + TNUM_ALMID - 1);$NL$ 1137 1125 1138 $ A[nhÌ^CCxgIDItZbg1126 $ アラームハンドラのタイムイベントIDオフセット 1139 1127 const uint_t _kernel_almevtid_offset = $LENGTH(CYC.ORDER_LIST)$;$NL$ 1140 1128 $NL$ 1141 1129 1142 1130 $FOREACH almid ALM.ORDER_LIST$ 1143 $ // almatr ªiTA_NULLjÅÈ¢êiE_RSATRj1131 $ // almatrが(TA_NULL)でない場合(E_RSATR) 1144 1132 $IF ALM.ALMATR[almid] != 0$ 1145 1133 $ERROR ALM.TEXT_LINE[almid]$E_RSATR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "almatr", ALM.ALMATR[almid], almid, "CRE_ALM")$$END$ … … 1148 1136 1149 1137 $IF LENGTH(ALM.ORDER_LIST)$ 1150 $ A[nhæªÔn1138 $ アラームハンドラ先頭番地 1151 1139 const ALMHDR _kernel_alminib_almhdr[TNUM_ALMID] = { 1152 1140 $JOINEACH almid ALM.ORDER_LIST ","$ … … 1155 1143 };$NL$ 1156 1144 1157 $ A[nhg£îñ1145 $ アラームハンドラ拡張情報 1158 1146 const intptr_t _kernel_alminib_exinf[TNUM_ALMID] = { 1159 1147 $JOINEACH almid ALM.ORDER_LIST ","$ … … 1168 1156 $END$ 1169 1157 1170 $ A[nhóÔ1158 $ アラームハンドラ状態 1171 1159 uint16_t _kernel_almcb_almact;$NL$ 1172 1160 $NL$ … … 1174 1162 1175 1163 $ --------------------------------------------------------------------- 1176 $ ^CCxgÇ1164 $ タイムイベント管理 1177 1165 $ --------------------------------------------------------------------- 1178 1166 … … 1187 1175 $NL$ 1188 1176 1189 $ ^CCxgubNÌTCY1177 $ タイムイベントブロックのサイズ 1190 1178 const uint_t _kernel_tnum_tmevt_queue = TNUM_TMEVT;$NL$$NL$ 1191 1179 1192 1180 $IF TNUM_TMEVT != 0$ 1193 $ ^CCxgL 1194 [ 1181 $ タイムイベントキュー 1195 1182 QUEUE _kernel_tmevt_queue[TNUM_TMEVT+1];$NL$ 1196 $ ^CCxgÔ1183 $ タイムイベント時間 1197 1184 EVTTIM _kernel_tmevt_time[TNUM_TMEVT];$NL$ 1198 $ ^CCxgÌR[obN1185 $ タイムイベントのコールバック 1199 1186 CBACK _kernel_tmevt_callback[TNUM_TMEVT];$NL$ 1200 $ ^CCxgR[obNÌø1187 $ タイムイベントコールバックの引数 1201 1188 uintptr_t _kernel_tmevt_arg[TNUM_TMEVT];$NL$ 1202 1189 $NL$$NL$ … … 1210 1197 1211 1198 $ --------------------------------------------------------------------- 1212 $ ñ^XNReLXgpX^bNÌæ1199 $ 非タスクコンテキスト用スタック領域 1213 1200 $ --------------------------------------------------------------------- 1214 1201 /*$NL$ … … 1216 1203 $SPC$*/$NL$$NL$ 1217 1204 1218 $ // Ïè`1219 $ // ñ^XNReLXgpX^bNÌæÌTCY1205 $ // 変数定義 1206 $ // 非タスクコンテキスト用スタック領域のサイズ 1220 1207 $interrupt_context_stksz = 0$ 1221 1208 1222 $ // DEF_ICS ÌGgª¶Ý·é©?1209 $ // DEF_ICS のエントリが存在するか? 1223 1210 $IF !LENGTH(ICS.ORDER_LIST)$ 1224 $ // È¢êDTCYÍùèl (DEFAULT_ISTKSZ) ðg¤1211 $ // ない場合.サイズは既定値 (DEFAULT_ISTKSZ) を使う 1225 1212 #define TOPPERS_ISTKSZ DEFAULT_ISTKSZ$NL$$NL$ 1226 1213 $interrupt_context_stksz = DEFAULT_ISTKSZ$ 1227 1214 $ELSE$ 1228 $ // DEF_ICS ÌGgª éê1229 1230 $ 1231 $ // G[`FbN1232 $ 1233 $ // ÃIAPIuDEF_ICSvª¡ éiE_OBJj1215 $ // DEF_ICS のエントリがある場合 1216 1217 $ 1218 $ // エラーチェック 1219 $ 1220 $ // 静的API「DEF_ICS」が複数ある(E_OBJ) 1234 1221 $IF LENGTH(ICS.ORDER_LIST) > 1$ 1235 1222 $ERROR$E_OBJ: $FORMAT(_("too many %1%"), "DEF_ICS")$$END$ 1236 1223 $END$ 1237 $ // DEF_ICS Å0ðwèµ½ê(E_PAR)1224 $ // DEF_ICS で0を指定した場合(E_PAR) 1238 1225 $IF ICS.ISTKSZ[1] == 0$ 1239 1226 $ERROR ICS.TEXT_LINE[1]$E_PAR: $FORMAT(_("%1% in %2% is 0"), "istksz", "DEF_ICS")$$END$ 1240 1227 $END$ 1241 $ // íÉ NULL Å éD(E_PAR)1228 $ // 常に NULL である.(E_PAR) 1242 1229 $IF !EQ(ICS.ISTK[1], "NULL")$ 1243 1230 $ERROR ICS.TEXT_LINE[1]$E_PAR: $FORMAT(("'%1%' of %2% must be NULL."), "istk", "DEF_ICS")$$END$ … … 1251 1238 1252 1239 $ --------------------------------------------------------------------- 1253 $ ¤LX^bNÌæ 1254 $ SSPÅÍ·×ÄÌPÊÌX^bNð¤L·é½ßC 1255 $ ±±ÅVXeSÌÌX^bNÌæðmÛ·éD 1256 $ --------------------------------------------------------------------- 1257 1258 $ 1259 $ ¤LX^bNÌRtBM 1260 [Vɬ÷µ½©Ç¤© 1261 $ 1262 $ DEF_STK ÉG[ª¶µ½êC±ÌϪ0ÉÈéD 1263 $ DEF_STK ÉG[ª¶µ½©Ç¤©ð»fµÄ 1264 $ ÁèÌÀsðubN·é½ßÉgp·éD 1240 $ 共有スタック領域 1241 $ SSPではすべての処理単位のスタックを共有するため, 1242 $ ここでシステム全体のスタック領域を確保する. 1243 $ --------------------------------------------------------------------- 1244 1245 $ 1246 $ 共有スタックのコンフィギュレーションに成功したかどうか 1247 $ 1248 $ DEF_STK 処理中にエラーが発生した場合,この変数が0になる. 1249 $ DEF_STK 処理中にエラーが発生したかどうかを判断して 1250 $ 特定処理の実行をブロックするために使用する. 1265 1251 $ 1266 1252 $configurated_defstk_successfully = 1$ … … 1271 1257 $NL$ 1272 1258 1273 $ // Ïè`1274 $ // èÄç꽤LX^bNÌæÌTCY1259 $ // 変数定義 1260 $ // 割り当てられた共有スタック領域のサイズ 1275 1261 $allocated_stack_size = 0$ 1276 1262 1277 $ // DEF_STK ÌGgª¶Ý·é©?1263 $ // DEF_STK のエントリが存在するか? 1278 1264 $IF !LENGTH(STK.ORDER_LIST)$ 1279 $ // (1) DEF_STK ÌGgªÈ¢ê1265 $ // (1) DEF_STK のエントリがない場合 1280 1266 static STK_T _kernel_stack[COUNT_STK_T(TOPPERS_TSTKSZ+TOPPERS_ISTKSZ)];$NL$ 1281 1267 #define TOPPERS_STK _kernel_stack$NL$ … … 1285 1271 $allocated_stack_size = max_tsk_stksz + interrupt_context_stksz$ 1286 1272 $ELSE$ 1287 $ // (2) DEF_STK ÌGgª éê1288 1289 $ // G[`FbN1290 $ // ÃIAPIuDEF_STKvª¡ éiE_OBJj1273 $ // (2) DEF_STK のエントリがある場合 1274 1275 $ // エラーチェック 1276 $ // 静的API「DEF_STK」が複数ある(E_OBJ) 1291 1277 $IF LENGTH(STK.ORDER_LIST) > 1$ 1292 1278 $configurated_defstk_successfully = 0$ 1293 1279 $ERROR$E_OBJ: $FORMAT(_("too many %1%"), "DEF_STK")$$END$ 1294 1280 $END$ 1295 $ // DEF_STK Ì stksz Å 0 ðwèµ½ê(E_PAR)1281 $ // DEF_STK の stksz で 0 を指定した場合(E_PAR) 1296 1282 $IF STK.STKSZ[1] == 0$ 1297 1283 $configurated_defstk_successfully = 0$ … … 1300 1286 1301 1287 $IF EQ(STK.STK[1], "NULL")$ 1302 $ // stk ª NULL ÌêCX^bNÌæð©®t¯1288 $ // stk が NULL の場合,スタック領域を自動割付け 1303 1289 static STK_T _kernel_stack[COUNT_STK_T($STK.STKSZ[1]$)];$NL$ 1304 1290 #define TOPPERS_STK _kernel_stack$NL$ 1305 1291 #define TOPPERS_STKSZ ROUND_STK_T($STK.STKSZ[1]$)$NL$ 1306 1292 $ELSE$ 1307 $ // stk ª NULL ÈOÌêiAv¤ÅX^bNÌæðpÓ·éêj1308 1309 $ // stksz ª^[QbgÉèÜéACgTCYÌ{ÉACg³êĢȢêiE_PARj1293 $ // stk が NULL 以外の場合(アプリ側でスタック領域を用意する場合) 1294 1295 $ // stkszがターゲット毎に定まるアライメントサイズの倍数にアライメントされていない場合(E_PAR) 1310 1296 $IF LENGTH(CHECK_STKSZ_ALIGN) && (STK.STKSZ[1] & (CHECK_STKSZ_ALIGN - 1))$ 1311 1297 $configurated_defstk_successfully = 0$ … … 1321 1307 $NL$ 1322 1308 1323 $ ¤LX^bNpÌX^bNÌæ1309 $ 共有スタック用のスタック領域 1324 1310 const SIZE _kernel_stksz = TOPPERS_STKSZ;$NL$ 1325 1311 STK_T *const _kernel_stk = TOPPERS_STK;$NL$ … … 1331 1317 1332 1318 $ 1333 $ // DæxèĨæÑX^bNÝèÉÖ·éÊðWoÍÖ\¦1319 $ // 優先度割り当ておよびスタック設定に関する結果を標準出力へ表示 1334 1320 $ 1335 1321 $IF configurated_defepr_successfully == 1 && configurated_defstk_successfully == 1$ … … 1347 1333 $TAB$Specified interrupt stack size = $interrupt_context_stksz$(value=$FORMAT("%d",+interrupt_context_stksz)$)$NL$ 1348 1334 $TAB$Allocated total stack size = $allocated_stack_size$(value=$FORMAT("%d",+allocated_stack_size)$)$NL$ 1349 $ // TCYÌ`FbNDX^bNTCYÌèlªÀÛÉÄçê½TCYæèå«¢êCx·éD1335 $ // サイズのチェック.スタックサイズの推定値が実際に割当てられたサイズより大きい場合,警告する. 1350 1336 $IF (max_tsk_stksz+interrupt_context_stksz) > allocated_stack_size$ 1351 1337 $TAB$!!!WARNING!!!: Estimated stack size is more than the allocated stack size.$NL$ … … 1355 1341 $END$ 1356 1342 $ 1357 $ // oÍæð³ÉߵĨ1343 $ // 出力先を元に戻しておく 1358 1344 $ 1359 1345 $FILE "kernel_cfg.c"$ … … 1361 1347 1362 1348 $ --------------------------------------------------------------------- 1363 $ eW 1364 [Ìú»Ö 1349 $ 各モジュールの初期化関数 1365 1350 $ --------------------------------------------------------------------- 1366 1351 /*$NL$ … … 1393 1378 1394 1379 $ --------------------------------------------------------------------- 1395 $ ú»[`ÌÀsÖ1380 $ 初期化ルーチンの実行関数 1396 1381 $ --------------------------------------------------------------------- 1397 1382 /*$NL$ … … 1403 1388 {$NL$ 1404 1389 $FOREACH order INI.ORDER_LIST$ 1405 $ // iniatr ªiTA_NULLjÅÈ¢êiE_RSATRj1390 $ // iniatrが(TA_NULL)でない場合(E_RSATR) 1406 1391 $IF INI.INIATR[order] != 0$ 1407 1392 $ERROR INI.TEXT_LINE[order]$E_RSATR: $FORMAT(_("illegal %1% `%2%\' of %3% `%4%\' in %5%"), "iniatr", INI.INIATR[order], "inirtn", INI.INIRTN[order], "ATT_INI")$$END$ … … 1413 1398 1414 1399 $ --------------------------------------------------------------------- 1415 $ I¹[`ÌÀsÖ1400 $ 終了処理ルーチンの実行関数 1416 1401 $ --------------------------------------------------------------------- 1417 1402 /*$NL$ … … 1423 1408 {$NL$ 1424 1409 $FOREACH rorder TER.RORDER_LIST$ 1425 $ // teratr ªiTA_NULLjÅÈ¢êiE_RSATRj1410 $ // teratrが(TA_NULL)でない場合(E_RSATR) 1426 1411 $IF TER.TERATR[rorder] != 0$ 1427 1412 $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$ -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/kernel/kernel_impl.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 10 10 * Nagoya Municipal Industrial Research Institute, JAPAN 11 11 * 12 * ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF 13 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»EüÏE 14 * ÄzziȺCpÆÄÔj·é±Æð³Åø·éD 15 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 16 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[X 17 * R[hÉÜÜêÄ¢é±ÆD 18 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉgp 19 * Å«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 20 gipÒ} 21 * j 22 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺLÌ³Û 23 * ØKèðfÚ·é±ÆD 24 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉgp 25 * Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD 26 * (a) Äzzɺ¤hL 27 gipÒ}j 28 AÈÇjÉCãLÌì 29 * \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 30 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ 31 * ·é±ÆD 32 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹Q 33 * ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDܽC 34 * {\tgEFAÌ[UܽÍGh[U©çÌ¢©ÈéRÉîà 35 * ¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 12 * 上記著作権者は,以下の (1)〜(4) の条件を満たす場合に限り,本ソフトウェ 13 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改変・ 14 * 再配布(以下,利用と呼ぶ)することを無償で許諾する. 15 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作権 16 * 表示,この利用条件および下記の無保証規定が,そのままの形でソース 17 * コード中に含まれていること. 18 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使用 19 * できる形で再配布する場合には,再配布に伴うドキュメント(利用者マ 20 * ニュアルなど)に,上記の著作権表示,この利用条件および下記の無保 21 * 証規定を掲載すること. 22 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使用 23 * できない形で再配布する場合には,次のいずれかの条件を満たすこと. 24 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著作 25 * 権表示,この利用条件および下記の無保証規定を掲載すること. 26 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに報 27 * 告すること. 28 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害 29 * からも,上記著作権者およびTOPPERSプロジェクトを免責すること.また, 30 * 本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ 31 * く請求からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 36 32 * 37 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ38 * ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉη39 * éK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEFAÌp40 * Éæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»ÌÓCð41 * íÈ¢D33 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者およ 34 * びTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的に対す 35 * る適合性も含めて,いかなる保証も行わない.また,本ソフトウェアの利用 36 * により直接的または間接的に生じたいかなる損害に関しても,その責任を負 37 * わない. 42 38 * 43 39 */ 44 40 45 41 /* 46 * TOPPERS/SSP J[làü¯Wwb_t@C42 * TOPPERS/SSPカーネル内部向け標準ヘッダファイル 47 43 * 48 * ±Ìwb_t@CÍCJ[lð\¬·évOÌ\[Xt@C49 * ÅK¸CN[h·é׫Wwb_t@CÅ éD44 * このヘッダファイルは,カーネルを構成するプログラムのソースファイル 45 * で必ずインクルードするべき標準ヘッダファイルである. 50 46 * 51 * AZu¾êÌ\[Xt@C©ç±Ìt@CðCN[h·é52 * ÍCTOPPERS_MACRO_ONLYðè`µÄ¨D±êÉæèC}Nè`ÈOð53 * æ¤ÉÈÁÄ¢éD47 * アセンブリ言語のソースファイルからこのファイルをインクルードする時 48 * は,TOPPERS_MACRO_ONLYを定義しておく.これにより,マクロ定義以外を 49 * 除くようになっている. 54 50 */ 55 51 … … 58 54 59 55 /* 60 * J[lÌà¯Ê¼Ìl[56 * カーネルの内部識別名のリネーム 61 57 */ 62 58 #include "kernel_rename.h" 63 59 64 60 /* 65 * AvP[VƤÊÌwb_t@C61 * アプリケーションと共通のヘッダファイル 66 62 */ 67 63 #include <kernel.h> 68 64 69 65 /* 70 * VXeO@\̽ßÌè`66 * システムログ機能のための定義 71 67 */ 72 68 #include <t_syslog.h> 73 69 74 70 /* 75 * ^LXgðs¤}NÌè`71 * 型キャストを行うマクロの定義 76 72 */ 77 73 #ifndef CAST … … 80 76 81 77 /* 82 * ^[Qbg˶îñÌè`78 * ターゲット依存情報の定義 83 79 */ 84 80 #include "target_config.h" 85 81 86 82 /* 87 * ·×ÄÌÖðRpC·é½ßÌè`83 * すべての関数をコンパイルするための定義 88 84 */ 89 85 #ifdef ALLFUNC … … 92 88 93 89 /* 94 * rbgtB[hÅ̳µ®^90 * ビットフィールドでの符号無し整数型 95 91 * 96 * 8 rbgȺÌÌrbgtB[hÅC³µ®lðÛµ½¢ê97 * Ép¢é׫f[^^DANSI CÅÍCrbgtB[hÌf[^^ÉÍ98 * int Æunsigned intµ©³êÈ¢½ßCftHgÌè`Íunsigned99 * int ƵĢéªC^[Qbg¨æÑc[˶ÅCunsigned charܽÍ100 * unsigned short Éè`µ½ûªø¦ªÇ¢êª éD92 * 8ビット以下の幅のビットフィールドで,符号無し整数値を保持したい場合 93 * に用いるべきデータ型.ANSI Cでは,ビットフィールドのデータ型には 94 * intとunsigned intしか許されないため,デフォルトの定義はunsigned 95 * intとしているが,ターゲットおよびツール依存で,unsigned charまたは 96 * unsigned shortに定義した方が効率が良い場合がある. 101 97 */ 102 98 #ifndef BIT_FIELD_UINT … … 105 101 106 102 /* 107 * rbgtB[hÅÌu[^103 * ビットフィールドでのブール型 108 104 * 109 * 1 rbgÌrbgtB[hÅCu[lðÛµ½¢êÉp¢é׫110 * f[^^DftHgÅÍBIT_FIELD_UINTƯêÉè`µÄ¢éªCu[111 * lðÛ·é±Æ𾦷é½ßÉÊ̼ÌƵĢéD105 * 1ビット幅のビットフィールドで,ブール値を保持したい場合に用いるべき 106 * データ型.デフォルトではBIT_FIELD_UINTと同一に定義しているが,ブー 107 * ル値を保持することを明示するために別の名称としている. 112 108 */ 113 109 #ifndef BIT_FIELD_BOOL … … 116 112 117 113 /* 118 * IuWFNgIDÌŬlÌè`114 * オブジェクトIDの最小値の定義 119 115 */ 120 #define TMIN_TSKID 1 /* ^XNIDÌŬl */ 121 #define TMIN_FLGID 1 /* CxgtOIDÌŬl */ 122 #define TMIN_DTQID 1 /* f[^L 123 [IDÌŬl */ 124 #define TMIN_CYCID 1 /* üúnhIDÌŬl */ 125 #define TMIN_ALMID 1 /* A[nhIDÌŬl */ 116 #define TMIN_TSKID 1 /* タスクIDの最小値 */ 117 #define TMIN_FLGID 1 /* イベントフラグIDの最小値 */ 118 #define TMIN_DTQID 1 /* データキューIDの最小値 */ 119 #define TMIN_CYCID 1 /* 周期ハンドラIDの最小値 */ 120 #define TMIN_ALMID 1 /* アラームハンドラIDの最小値 */ 126 121 127 122 /* 128 * DæxÌiKÌè`123 * 優先度の段階数の定義 129 124 */ 130 125 #define TNUM_TPRI (TMAX_TPRI - TMIN_TPRI + 1) … … 132 127 133 128 /* 134 * wb_t@Cð½È¢W 135 [ÌÖEÏÌé¾ 129 * ヘッダファイルを持たないモジュールの関数・変数の宣言 136 130 */ 137 131 #ifndef TOPPERS_MACRO_ONLY 138 132 139 133 /* 140 * eW 141 [Ìú»ikernel_cfg.cj 134 * 各モジュールの初期化(kernel_cfg.c) 142 135 */ 143 136 extern void initialize_object(void); 144 137 145 138 /* 146 * ú»[`ÌÀsikernel_cfg.cj139 * 初期化ルーチンの実行(kernel_cfg.c) 147 140 */ 148 141 extern void call_inirtn(void); 149 142 150 143 /* 151 * I¹[`ÌÀsikernel_cfg.cj144 * 終了処理ルーチンの実行(kernel_cfg.c) 152 145 */ 153 146 extern void call_terrtn(void); 154 147 155 148 /* 156 * ñ^XNReLXgpÌX^bNÌæikernel_cfg.cj149 * 非タスクコンテキスト用のスタック領域(kernel_cfg.c) 157 150 */ 158 extern const SIZE istksz; /* X^bNÌæÌTCYiÛß½lj*/159 extern STK_T *const istk; /* X^bNÌæÌæªÔn*/151 extern const SIZE istksz; /* スタック領域のサイズ(丸めた値) */ 152 extern STK_T *const istk; /* スタック領域の先頭番地 */ 160 153 #ifdef TOPPRES_ISTKPT 161 extern STK_T *const istkpt; /* X^bN|C^Ìúl*/154 extern STK_T *const istkpt; /* スタックポインタの初期値 */ 162 155 #endif /* TOPPERS_ISTKPT */ 163 156 164 157 /* 165 * J[l®ìóÔtOistartup.cj158 * カーネル動作状態フラグ(startup.c) 166 159 */ 167 160 extern bool_t kerflg; 168 161 169 162 /* 170 * J[lÌN®istartup.cj163 * カーネルの起動(startup.c) 171 164 */ 172 165 extern void sta_ker(void); 173 166 174 167 /* 175 * J[lÌI¹istartup.cj168 * カーネルの終了処理(startup.c) 176 169 */ 177 170 extern void exit_kernel(void); -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/kernel/kernel_int.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 11 11 * Copyright (C) 2011 by Meika Sugimoto 12 12 * 13 * ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF 14 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»EüÏE 15 * ÄzziȺCpÆÄÔj·é±Æð³Åø·éD 16 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 17 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[X 18 * R[hÉÜÜêÄ¢é±ÆD 19 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉgp 20 * Å«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 21 gipÒ} 22 * j 23 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺLÌ³Û 24 * ØKèðfÚ·é±ÆD 25 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉgp 26 * Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD 27 * (a) Äzzɺ¤hL 28 gipÒ}j 29 AÈÇjÉCãLÌì 30 * \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 31 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ 32 * ·é±ÆD 33 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹Q 34 * ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDܽC 35 * {\tgEFAÌ[UܽÍGh[U©çÌ¢©ÈéRÉîà 36 * ¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 13 * 上記著作権者は,以下の (1)〜(4) の条件を満たす場合に限り,本ソフトウェ 14 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改変・ 15 * 再配布(以下,利用と呼ぶ)することを無償で許諾する. 16 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作権 17 * 表示,この利用条件および下記の無保証規定が,そのままの形でソース 18 * コード中に含まれていること. 19 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使用 20 * できる形で再配布する場合には,再配布に伴うドキュメント(利用者マ 21 * ニュアルなど)に,上記の著作権表示,この利用条件および下記の無保 22 * 証規定を掲載すること. 23 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使用 24 * できない形で再配布する場合には,次のいずれかの条件を満たすこと. 25 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著作 26 * 権表示,この利用条件および下記の無保証規定を掲載すること. 27 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに報 28 * 告すること. 29 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害 30 * からも,上記著作権者およびTOPPERSプロジェクトを免責すること.また, 31 * 本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ 32 * く請求からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 37 33 * 38 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ39 * ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉη40 * éK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEFAÌp41 * Éæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»ÌÓCð42 * íÈ¢D34 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者およ 35 * びTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的に対す 36 * る適合性も含めて,いかなる保証も行わない.また,本ソフトウェアの利用 37 * により直接的または間接的に生じたいかなる損害に関しても,その責任を負 38 * わない. 43 39 * 44 40 */ 45 41 46 42 /* 47 * kernel_cfg.c i¨æÑcfg1_out.cjpwb_t@C43 * kernel_cfg.c(およびcfg1_out.c)用ヘッダファイル 48 44 */ 49 45 … … 52 48 53 49 /* 54 * J[lWwb_t@C50 * カーネル標準ヘッダファイル 55 51 */ 56 52 #include "kernel_impl.h" 57 53 58 54 /* 59 * J[lÌewb_t@C55 * カーネルの各ヘッダファイル 60 56 */ 61 57 #include "task.h" … … 64 60 65 61 /* 66 * g£pbP[WÌwb_t@C62 * 拡張パッケージのヘッダファイル 67 63 */ 68 64 #include "extension/time_event.h" … … 73 69 74 70 /* 75 * l[µ½V{ð³Éß·½ßÌwb_t@C71 * リネームしたシンボルを元に戻すためのヘッダファイル 76 72 */ 77 73 #include "kernel_unrename.h" -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/kernel/kernel_rename.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/kernel/kernel_unrename.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/kernel/ssp_kernel_check.tf
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 9 9 $ Nagoya Municipal Industrial Research Institute, JAPAN 10 10 $ 11 $ ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF 12 $ Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»EüÏE 13 $ ÄzziȺCpÆÄÔj·é±Æð³Åø·éD 14 $ (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 15 $ \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[X 16 $ R[hÉÜÜêÄ¢é±ÆD 17 $ (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉgp 18 $ Å«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 19 gipÒ} 20 $ j 21 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺLÌ³Û 22 $ ØKèðfÚ·é±ÆD 23 $ (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉgp 24 $ Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD 25 $ (a) Äzzɺ¤hL 26 gipÒ}j 27 AÈÇjÉCãLÌì 28 $ \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 29 $ (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ 30 $ ·é±ÆD 31 $ (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹Q 32 $ ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDܽC 33 $ {\tgEFAÌ[UܽÍGh[U©çÌ¢©ÈéRÉîà 34 $ ¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 11 $ 上記著作権者は,以下の (1)〜(4) の条件を満たす場合に限り,本ソフトウェ 12 $ ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改変・ 13 $ 再配布(以下,利用と呼ぶ)することを無償で許諾する. 14 $ (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作権 15 $ 表示,この利用条件および下記の無保証規定が,そのままの形でソース 16 $ コード中に含まれていること. 17 $ (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使用 18 $ できる形で再配布する場合には,再配布に伴うドキュメント(利用者マ 19 $ ニュアルなど)に,上記の著作権表示,この利用条件および下記の無保 20 $ 証規定を掲載すること. 21 $ (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使用 22 $ できない形で再配布する場合には,次のいずれかの条件を満たすこと. 23 $ (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著作 24 $ 権表示,この利用条件および下記の無保証規定を掲載すること. 25 $ (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに報 26 $ 告すること. 27 $ (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害 28 $ からも,上記著作権者およびTOPPERSプロジェクトを免責すること.また, 29 $ 本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ 30 $ く請求からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 35 31 $ 36 $ {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ37 $ ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉη38 $ éK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEFAÌp39 $ Éæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»ÌÓCð40 $ íÈ¢D32 $ 本ソフトウェアは,無保証で提供されているものである.上記著作権者およ 33 $ びTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的に対す 34 $ る適合性も含めて,いかなる保証も行わない.また,本ソフトウェアの利用 35 $ により直接的または間接的に生じたいかなる損害に関しても,その責任を負 36 $ わない. 41 37 $ 42 38 $ ====================================================================== 43 39 44 40 $ 45 $ ÖÌæªÔnÌ`FbN41 $ 関数の先頭番地のチェック 46 42 $ 47 43 $IF LENGTH(CHECK_FUNC_ALIGN) || LENGTH(CHECK_FUNC_NONNULL)$ 48 $ // ^XNÆ^XNáO[`ÌæªÔnÌ`FbN44 $ // タスクとタスク例外処理ルーチンの先頭番地のチェック 49 45 $tinib = SYMBOL("_kernel_tinib_table")$ 50 46 $FOREACH tskid TSK.ID_LIST$ … … 72 68 73 69 $ 74 $ X^bNÌæÌæªÔnÌ`FbN70 $ スタック領域の先頭番地のチェック 75 71 $ 76 72 $IF LENGTH(CHECK_STACK_ALIGN) || LENGTH(CHECK_STACK_NONNULL)$ 77 $ // ñ^XNReLXgpÌX^bNÌæÌæªÔnÌ`FbN73 $ // 非タスクコンテキスト用のスタック領域の先頭番地のチェック 78 74 $istk = PEEK(SYMBOL("_kernel_istk"), sizeof_void_ptr)$ 79 75 $IF LENGTH(CHECK_STACK_ALIGN) && (istk & (CHECK_STACK_ALIGN - 1))$ -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/kernel/startup.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 11 11 * Copyright (C) 2010-2011 by Meika Sugimoto 12 12 * 13 * ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF 14 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»EüÏE 15 * ÄzziȺCpÆÄÔj·é±Æð³Åø·éD 16 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 17 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[X 18 * R[hÉÜÜêÄ¢é±ÆD 19 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉgp 20 * Å«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 21 gipÒ} 22 * j 23 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺLÌ³Û 24 * ØKèðfÚ·é±ÆD 25 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉgp 26 * Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD 27 * (a) Äzzɺ¤hL 28 gipÒ}j 29 AÈÇjÉCãLÌì 30 * \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 31 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ 32 * ·é±ÆD 33 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹Q 34 * ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDܽC 35 * {\tgEFAÌ[UܽÍGh[U©çÌ¢©ÈéRÉîà 36 * ¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 13 * 上記著作権者は,以下の (1)〜(4) の条件を満たす場合に限り,本ソフトウェ 14 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改変・ 15 * 再配布(以下,利用と呼ぶ)することを無償で許諾する. 16 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作権 17 * 表示,この利用条件および下記の無保証規定が,そのままの形でソース 18 * コード中に含まれていること. 19 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使用 20 * できる形で再配布する場合には,再配布に伴うドキュメント(利用者マ 21 * ニュアルなど)に,上記の著作権表示,この利用条件および下記の無保 22 * 証規定を掲載すること. 23 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使用 24 * できない形で再配布する場合には,次のいずれかの条件を満たすこと. 25 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著作 26 * 権表示,この利用条件および下記の無保証規定を掲載すること. 27 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに報 28 * 告すること. 29 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害 30 * からも,上記著作権者およびTOPPERSプロジェクトを免責すること.また, 31 * 本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ 32 * く請求からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 37 33 * 38 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ39 * ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉη40 * éK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEFAÌp41 * Éæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»ÌÓCð42 * íÈ¢D34 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者およ 35 * びTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的に対す 36 * る適合性も含めて,いかなる保証も行わない.また,本ソフトウェアの利用 37 * により直接的または間接的に生じたいかなる損害に関しても,その責任を負 38 * わない. 43 39 * 44 40 */ 45 41 46 42 /* 47 * J[lÌú»ÆI¹43 * カーネルの初期化と終了処理 48 44 */ 49 45 … … 54 50 55 51 /* 56 * g[XO}NÌftHgè`52 * トレースログマクロのデフォルト定義 57 53 */ 58 54 #ifndef LOG_KER_ENTER … … 76 72 77 73 /* 78 * J[l®ìóÔtO74 * カーネル動作状態フラグ 79 75 * 80 * X^[gAbv[`ÅCfalsei0jÉú»³êé±ÆðúÒµÄ81 * ¢éD76 * スタートアップルーチンで,false(=0)に初期化されることを期待して 77 * いる. 82 78 */ 83 79 bool_t kerflg = false; 84 80 85 81 /* 86 * J[lÌN®87 * NMI ðSÄÌݪ}XN³ê½óÔ(SÝbNóÔÉ)ÅÄÑo³êéD82 * カーネルの起動 83 * NMIを除く全ての割込みがマスクされた状態(全割込みロック状態に相当)で呼び出される. 88 84 */ 89 85 void … … 97 93 98 94 /* 99 * J[lÌ®ìðJn·éD95 * カーネルの動作を開始する. 100 96 */ 101 97 kerflg = true; 102 98 103 /* fBXpb`ðN®µC^XNÌ®ìðJn·é*/99 /* ディスパッチャを起動し,タスクの動作を開始する */ 104 100 LOG_KER_ENTER(); 105 101 start_dispatch(); … … 112 108 113 109 /* 114 * J[lÌI¹110 * カーネルの終了 115 111 */ 116 112 ER … … 122 118 123 119 /* 124 * ÝbNóÔÉÚs120 * 割込みロック状態に移行 125 121 */ 126 122 SIL_LOC_INT(); 127 123 128 124 /* 129 * J[l®ìÌI¹125 * カーネル動作の終了 130 126 */ 131 127 LOG_KER_LEAVE(); … … 133 129 134 130 /* 135 * J[lÌI¹ÌÄoµ131 * カーネルの終了処理の呼出し 136 132 * 137 * ñ^XNReLXgÉØè·¦ÄCexit_kernelðÄÑo·D133 * 非タスクコンテキストに切り換えて,exit_kernelを呼び出す. 138 134 */ 139 135 call_exit_kernel(); 140 136 141 137 /* 142 * SIL_UNL_INT ðÄÑo·ªC±±ÉB·é±ÆÍÈ¢D143 * Lq·éÌÍSIL_PRE_LOCÅé¾³êéϪ éêÉC144 * RpCªoÍ·éxð}§·é½ßÅ éD138 * SIL_UNL_INTを呼び出すが,ここに到達することはない. 139 * 記述するのはSIL_PRE_LOCで宣言される変数がある場合に, 140 * コンパイラが出力する警告を抑制するためである. 145 141 */ 146 142 SIL_UNL_INT(); … … 152 148 153 149 /* 154 * J[lÌI¹150 * カーネルの終了処理 155 151 */ 156 152 void … … 158 154 { 159 155 /* 160 * I¹[`ÌÀs156 * 終了処理ルーチンの実行 161 157 */ 162 158 call_terrtn(); 163 159 164 160 /* 165 * ^[Qbg˶ÌI¹161 * ターゲット依存の終了処理 166 162 */ 167 163 target_exit(); -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/kernel/sys_manage.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 9 9 * Copyright (C) 2010 by Meika Sugimoto 10 10 * 11 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 12 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 13 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 14 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 15 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 16 * XR[hÉÜÜêÄ¢é±ÆD 17 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 18 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 19 gip 20 * Ò}j 21 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 22 * ̳ÛØKèðfÚ·é±ÆD 23 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 24 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 25 * ÆD 26 * (a) Äzzɺ¤hL 27 gipÒ}j 28 AÈÇjÉCãLÌ 29 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 30 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 31 * ñ·é±ÆD 32 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 33 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 34 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 35 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 36 * ÆÓ·é±ÆD 11 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 12 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 13 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 14 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 15 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 16 * スコード中に含まれていること. 17 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 18 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 19 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 20 * の無保証規定を掲載すること. 21 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 22 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 23 * と. 24 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 25 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 26 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 27 * 報告すること. 28 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 29 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 30 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 31 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 32 * 免責すること. 37 33 * 38 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨39 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI40 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF41 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»42 * ÌÓCðíÈ¢D34 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 35 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 36 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 37 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 38 * の責任を負わない. 43 39 * 44 40 */ 45 41 46 42 /* 47 * VXeóÔÇ@\43 * システム状態管理機能 48 44 */ 49 45 … … 53 49 54 50 /* 55 * g[XO}NÌftHgè`51 * トレースログマクロのデフォルト定義 56 52 */ 57 53 … … 145 141 146 142 /* 147 * CPU bNóÔÖÌÚs143 * CPUロック状態への移行 148 144 */ 149 145 #ifdef TOPPERS_loc_cpu … … 170 166 171 167 /* 172 * CPU bNóÔÖÌÚsiñ^XNReLXgpj168 * CPUロック状態への移行(非タスクコンテキスト用) 173 169 */ 174 170 #ifdef TOPPERS_iloc_cpu … … 195 191 196 192 /* 197 * CPU bNóÔÌð193 * CPUロック状態の解除 198 194 * 199 * CPU bNÍCfBXpb`ªKvÆÈéT[rXR[ðÄÑo·±200 * ÆÍÅ«È¢½ßCCPUbNóÔÌðÉfBXpb`ðN®·é201 * KvÍÈ¢D195 * CPUロック中は,ディスパッチが必要となるサービスコールを呼び出すこ 196 * とはできないため,CPUロック状態の解除時にディスパッチャを起動する 197 * 必要はない. 202 198 */ 203 199 #ifdef TOPPERS_unl_cpu … … 224 220 225 221 /* 226 * CPU bNóÔÌðiñ^XNReLXgpj222 * CPUロック状態の解除(非タスクコンテキスト用) 227 223 * 228 * CPU bNÍCfBXpb`ªKvÆÈéT[rXR[ðÄÑo·±229 * ÆÍÅ«È¢½ßCCPUbNóÔÌðÉfBXpb`ÌN®ðv230 * ·éKvÍÈ¢D224 * CPUロック中は,ディスパッチが必要となるサービスコールを呼び出すこ 225 * とはできないため,CPUロック状態の解除時にディスパッチャの起動を要 226 * 求する必要はない. 231 227 */ 232 228 #ifdef TOPPERS_iunl_cpu … … 253 249 254 250 /* 255 * fBXpb`ÌÖ~251 * ディスパッチの禁止 256 252 */ 257 253 #ifdef TOPPERS_dis_dsp … … 278 274 279 275 /* 280 * fBXpb`ÌÂ276 * ディスパッチの許可 281 277 */ 282 278 #ifdef TOPPERS_ena_dsp … … 309 305 310 306 /* 311 * ReLXgÌQÆ307 * コンテキストの参照 312 308 */ 313 309 #ifdef TOPPERS_sns_ctx … … 328 324 329 325 /* 330 * CPU bNóÔÌQÆ326 * CPUロック状態の参照 331 327 */ 332 328 #ifdef TOPPERS_sns_loc … … 347 343 348 344 /* 349 * fBXpb`Ö~óÔÌQÆ345 * ディスパッチ禁止状態の参照 350 346 */ 351 347 #ifdef TOPPERS_sns_dsp … … 366 362 367 363 /* 368 * fBXpb`Û¯óÔÌQÆ364 * ディスパッチ保留状態の参照 369 365 */ 370 366 #ifdef TOPPERS_sns_dpn … … 386 382 387 383 /* 388 * J[lñ®ìóÔÌQÆ384 * カーネル非動作状態の参照 389 385 */ 390 386 #ifdef TOPPERS_sns_ker -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/kernel/task.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 11 11 * Copyright (C) 2010 by Meika Sugimoto 12 12 * 13 * ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF 14 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»EüÏE 15 * ÄzziȺCpÆÄÔj·é±Æð³Åø·éD 16 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 17 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[X 18 * R[hÉÜÜêÄ¢é±ÆD 19 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉgp 20 * Å«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 21 gipÒ} 22 * j 23 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺLÌ³Û 24 * ØKèðfÚ·é±ÆD 25 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉgp 26 * Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD 27 * (a) Äzzɺ¤hL 28 gipÒ}j 29 AÈÇjÉCãLÌì 30 * \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 31 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ 32 * ·é±ÆD 33 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹Q 34 * ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDܽC 35 * {\tgEFAÌ[UܽÍGh[U©çÌ¢©ÈéRÉîà 36 * ¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 13 * 上記著作権者は,以下の (1)〜(4) の条件を満たす場合に限り,本ソフトウェ 14 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改変・ 15 * 再配布(以下,利用と呼ぶ)することを無償で許諾する. 16 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作権 17 * 表示,この利用条件および下記の無保証規定が,そのままの形でソース 18 * コード中に含まれていること. 19 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使用 20 * できる形で再配布する場合には,再配布に伴うドキュメント(利用者マ 21 * ニュアルなど)に,上記の著作権表示,この利用条件および下記の無保 22 * 証規定を掲載すること. 23 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使用 24 * できない形で再配布する場合には,次のいずれかの条件を満たすこと. 25 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著作 26 * 権表示,この利用条件および下記の無保証規定を掲載すること. 27 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに報 28 * 告すること. 29 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害 30 * からも,上記著作権者およびTOPPERSプロジェクトを免責すること.また, 31 * 本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ 32 * く請求からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 37 33 * 38 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ39 * ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉη40 * éK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEFAÌp41 * Éæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»ÌÓCð42 * íÈ¢D34 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者およ 35 * びTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的に対す 36 * る適合性も含めて,いかなる保証も行わない.また,本ソフトウェアの利用 37 * により直接的または間接的に生じたいかなる損害に関しても,その責任を負 38 * わない. 43 39 * 44 40 */ … … 48 44 49 45 /* 50 * g[XO}NÌftHgè`46 * トレースログマクロのデフォルト定義 51 47 */ 52 48 … … 60 56 61 57 62 extern const intptr_t tinib_exinf[]; /* ^XNÌg£îñ*/63 extern const TASK tinib_task[]; /* ^XNÌN®Ôn*/64 extern const uint_t tinib_epriority[]; /* ^XNÌÀsDæxià\»j*/65 66 /* àÖÌvg^Cvé¾*/58 extern const intptr_t tinib_exinf[]; /* タスクの拡張情報 */ 59 extern const TASK tinib_task[]; /* タスクの起動番地 */ 60 extern const uint_t tinib_epriority[]; /* タスクの実行時優先度(内部表現) */ 61 62 /* 内部関数のプロトタイプ宣言 */ 67 63 Inline bool_t primap_empty(void); 68 64 Inline bool_t primap_test(uint_t pri); … … 76 72 77 73 /* 78 * ÀsóÔ^XNÌ»ÝDæx74 * 実行状態タスクの現在優先度 79 75 */ 80 76 uint_t runtsk_curpri; 81 77 82 78 /* 83 * ÀsóÔ^XNÌN®Dæx79 * 実行状態タスクの起動時優先度 84 80 */ 85 81 uint_t runtsk_ipri; 86 82 87 83 /* 88 * fBL 89 [T[`̽ßÌrbg}bv 84 * レディキューサーチのためのビットマップ 90 85 */ 91 86 volatile uint_t ready_primap; 92 87 93 88 /* 94 * N®vL 95 [COÌrbg}bv 89 * 起動要求キューイングのビットマップ 96 90 */ 97 91 uint_t actque_bitmap; 98 92 99 93 /* 100 * ^XNfBXpb`N®vtO94 * タスクディスパッチ起動要求フラグ 101 95 */ 102 96 bool_t reqflg; 103 97 104 98 /* 105 * fBXpb`Ö~óÔ99 * ディスパッチ禁止状態 106 100 */ 107 101 bool_t disdsp; 108 102 109 103 /* 110 * read_primap Ìúl104 * read_primapの初期値 111 105 */ 112 106 extern const uint_t init_rdypmap; … … 117 111 118 112 /* 119 * ^XNID©çÌN®Dæxæ¾(^XNReLXgp)113 * タスクIDからの起動時優先度取得(タスクコンテキスト用) 120 114 */ 121 115 uint_t … … 138 132 139 133 /* 140 * ^XNID©çÌN®Dæxæ¾(ñ^XNReLXgp)134 * タスクIDからの起動時優先度取得(非タスクコンテキスト用) 141 135 */ 142 136 #ifdef TOPPERS_get_ipri … … 151 145 152 146 /* 153 * rbg}bvT[`Ö147 * ビットマップサーチ関数 154 148 * 155 * bitmap àÌ1ÌrbgÌàCÅàºÊiEjÌàÌðT[`µC»Ìrb156 * gÔðÔ·DrbgÔÍCźÊrbgð0Æ·éDbitmapÉ0ðwè157 * µÄÍÈçÈ¢D±ÌÖÅÍCbitmapª8rbgÅ é±Æð¼èµC158 * uint8_t ^ƵĢéD149 * bitmap内の1のビットの内,最も下位(右)のものをサーチし,そのビッ 150 * ト番号を返す.ビット番号は,最下位ビットを0とする.bitmapに0を指定 151 * してはならない.この関数では,bitmapが8ビットであることを仮定し, 152 * uint8_t型としている. 159 153 * 160 * rbgT[`½ßðÂvZbTÅÍCrbgT[`½ßðg¤æ¤É161 * «¼µ½ûªø¦ªÇ¢êª éD±Ìæ¤ÈêÉÍC^[Qbg162 * ˶ÅrbgT[`½ßðgÁ½bitmap_searchðè`µC163 * OMIT_BITMAP_SEARCH ð}Nè`·êÎæ¢DܽCrbgT[`½ßÌ164 * T[`ûüªtÈÇÌRÅDæxÆrbgÆÌÎðÏXµ½¢êÉ165 * ÍCPRIMAP_BITð}Nè`·êÎæ¢D154 * ビットサーチ命令を持つプロセッサでは,ビットサーチ命令を使うように 155 * 書き直した方が効率が良い場合がある.このような場合には,ターゲット 156 * 依存部でビットサーチ命令を使ったbitmap_searchを定義し, 157 * OMIT_BITMAP_SEARCHをマクロ定義すればよい.また,ビットサーチ命令の 158 * サーチ方向が逆などの理由で優先度とビットとの対応を変更したい場合に 159 * は,PRIMAP_BITをマクロ定義すればよい. 166 160 * 167 * ܽCWCuÉffsª éÈçCÌæ¤Éè`µÄWCu168 * ðgÁ½ûªø¦ªÇ¢Â\«à éD161 * また,標準ライブラリにffsがあるなら,次のように定義して標準ライブ 162 * ラリを使った方が効率が良い可能性もある. 169 163 * #define bitmap_search(bitmap) (ffs(bitmap) - 1) 170 164 */ … … 201 195 202 196 /* 203 * N®Dæxrbg}bvªó©Ì`FbN197 * 起動時優先度ビットマップが空かのチェック 204 198 */ 205 199 Inline bool_t … … 210 204 211 205 /* 212 * wèµ½N®DæxÌN®Dæxrbg}bvªZbg³êÄ¢é©Ç¤©Ì`FbN206 * 指定した起動時優先度の起動時優先度ビットマップがセットされているかどうかのチェック 213 207 */ 214 208 Inline bool_t … … 219 213 220 214 /* 221 * N®Dæxrbg}bvÌT[`215 * 起動時優先度ビットマップのサーチ 222 216 */ 223 217 Inline uint_t … … 228 222 229 223 /* 230 * N®Dæxrbg}bvÌZbg224 * 起動時優先度ビットマップのセット 231 225 */ 232 226 Inline void … … 237 231 238 232 /* 239 * N®Dæxrbg}bvÌNA233 * 起動時優先度ビットマップのクリア 240 234 */ 241 235 Inline void … … 246 240 247 241 /* 248 * ÅDæÊ^XNÌT[`242 * 最高優先順位タスクのサーチ 249 243 */ 250 244 … … 261 255 #ifdef TOPPERS_tskdmt 262 256 /* 263 * wèµ½N®DæxÌ^XNªÀsÅ«éóԩǤ©ÌeXg257 * 指定した起動時優先度のタスクが実行できる状態かどうかのテスト 264 258 * 265 259 */ … … 273 267 274 268 /* 275 * ^XNÇW 276 [Ìú» 269 * タスク管理モジュールの初期化 277 270 */ 278 271 … … 283 276 initialize_task(void) 284 277 { 285 /* N®Dæxrbg}bvÌú»*/278 /* 起動時優先度ビットマップの初期化 */ 286 279 ready_primap = init_rdypmap; 287 280 288 /* ^XNDæxÌú»*/281 /* タスク優先度の初期化 */ 289 282 runtsk_curpri = TSKPRI_NULL; 290 283 runtsk_ipri = TSKPRI_NULL; 291 284 292 /* N®vL 293 [COÌú» */ 285 /* 起動要求キューイングの初期化 */ 294 286 actque_bitmap = 0U; 295 287 296 /* ÝÖ~tOÌú»*/288 /* 割込み禁止フラグの初期化 */ 297 289 disdsp = false; 298 290 } … … 301 293 302 294 /* 303 * ^XNÌN®295 * タスクの起動 304 296 */ 305 297 … … 314 306 315 307 /* 316 * ÀsóÔ^XNÌ»ÝDæxÆøÅwè³ê½317 * N®ÎÛ^XNÌúDæxðärµCÀsóÔ^XNð318 * ÏX·é©»è·éD308 * 実行状態タスクの現在優先度と引数で指定された 309 * 起動対象タスクの初期優先度を比較し,実行状態タスクを 310 * 変更するか判定する. 319 311 * 320 * ½¾µÀsóÔ^XNðÏX·éêÍfBXpb`Ö~óÔàQÆ·éD312 * ただし実行状態タスクを変更する場合はディスパッチ禁止状態も参照する. 321 313 */ 322 314 if(ipri < runtsk_curpri) { … … 334 326 335 327 /* 336 * ^XNÌÀs328 * タスクの実行 337 329 */ 338 330 … … 342 334 run_task(uint_t ipri) 343 335 { 344 uint_t next_pri; /* ÉÀsJn·é^XNÌN®Dæx*/345 uint_t saved_ipri; /* ÄÑoµ³^XNÌúDæx*/346 uint_t saved_curpri; /* ÄÑoµ³^XNÌ»ÝDæx*/336 uint_t next_pri; /* 次に実行開始するタスクの起動時優先度 */ 337 uint_t saved_ipri; /* 呼び出し元タスクの初期優先度 */ 338 uint_t saved_curpri; /* 呼び出し元タスクの現在優先度 */ 347 339 bool_t cont; 348 340 349 /* ÅDæÊ^XNðÀs·éOÉC»ÝÀsÌ^XNÌ»ÝDæxÆúDæxðÛ¶·é*/341 /* 最高優先順位タスクを実行する前に,現在実行中のタスクの現在優先度と初期優先度を保存する */ 350 342 next_pri = ipri; 351 343 saved_ipri = runtsk_ipri; … … 353 345 354 346 do { 355 /* Às·é^XNÌ»ÝDæxðÀsDæxÉÝè·é*/347 /* 実行するタスクの現在優先度を実行時優先度に設定する */ 356 348 runtsk_curpri = tinib_epriority[next_pri]; 357 349 runtsk_ipri = next_pri; 358 350 #ifndef _MSC_VER 359 /* CPU bNð*/351 /* CPUロック解除 */ 360 352 t_unlock_cpu(); 361 353 362 /* ^XNÀsJn*/354 /* タスク実行開始 */ 363 355 (*((TASK)(tinib_task[next_pri])))(tinib_exinf[next_pri]); 364 356 #else … … 367 359 if (t_sense_lock()) { 368 360 /* 369 * CPU bNóÔÅext_tskªÄÎê½êÍCCPUbNððµ370 * Ä©ç^XNðI¹·éDÀãÍCT[rXR[àÅÌCPU371 * bNðȪ·êÎ梾¯D361 * CPUロック状態でext_tskが呼ばれた場合は,CPUロックを解除し 362 * てからタスクを終了する.実装上は,サービスコール内でのCPU 363 * ロックを省略すればよいだけ. 372 364 */ 373 365 } 374 366 else { 375 367 /* 376 * ±Ìt_lock_cpuð±ÌºÌdisdspÌÝèÌæ¤ÉµÈ¢ÌÍC377 * CPU bNÉÄxt_lock_cpuðÄÎÈ¢½ßÅ éD368 * このt_lock_cpuをこの下のdisdspの設定のようにしないのは, 369 * CPUロック中に再度t_lock_cpuを呼ばないためである. 378 370 */ 379 371 t_lock_cpu(); 380 372 } 381 373 382 /* ÝDæx}XNÍSðóÔÌ͸ÈÌÅC½àµÈ¢*/374 /* 割込み優先度マスクは全解除状態のはずなので,何もしない */ 383 375 384 376 /* 385 * fBXpb`Ö~óÔÅext_tskªÄÎê½êÍCfBXpb386 * `ÂóÔɵĩç^XNðI¹·éD377 * ディスパッチ禁止状態でext_tskが呼ばれた場合は,ディスパッ 378 * チ許可状態にしてからタスクを終了する. 387 379 * 388 * {ÍȺÌæ¤ÉLq·×«Å éªC¢¸êɹædisdspð389 * false É·ê΢¢½ßCPÉfalseÉÝè·éD380 * 本来は以下のように記述すべきであるが,いずれにせよdisdspを 381 * falseにすればいいため,単にfalseに設定する. 390 382 * 391 383 * if (disdsp) { … … 395 387 disdsp = false; 396 388 397 /* rbg}bvNAD*/389 /* ビットマップクリア. */ 398 390 primap_clear(next_pri); 399 391 400 392 cont = false; 401 393 402 /* ^XNN®vL 403 [COÌ`FbN */ 394 /* タスク起動要求キューイングのチェック */ 404 395 if (actque_test(next_pri)) { 405 396 actque_clear(next_pri); … … 407 398 } 408 399 409 /* ¢¸ê©Ì^XNªÀsÂ\óÔÉÈÁÄ¢é©*/400 /* いずれかのタスクが実行可能状態になっているか */ 410 401 if(!primap_empty()) 411 402 { 412 /* ßèæ^XNÌ»ÝDæxæè¢N®DæxðàÂ^XNªN®³ê½©*/403 /* 戻り先タスクの現在優先度より高い起動時優先度をもつタスクが起動されたか */ 413 404 next_pri = search_schedtsk(); 414 405 if(saved_curpri > next_pri) … … 426 417 427 418 /* 428 * ^XNfBXpb`419 * タスクディスパッチャ 429 420 */ 430 421 … … 436 427 do { 437 428 if(!primap_empty()) { 438 /* ^XNÌJn*/429 /* タスクの開始 */ 439 430 run_task(search_schedtsk()); 440 431 } -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/kernel/task.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 11 11 * Copyright (C) 2011 by Meika Sugimoto 12 12 * 13 * ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF 14 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»EüÏE 15 * ÄzziȺCpÆÄÔj·é±Æð³Åø·éD 16 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 17 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[X 18 * R[hÉÜÜêÄ¢é±ÆD 19 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉgp 20 * Å«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 21 gipÒ} 22 * j 23 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺLÌ³Û 24 * ØKèðfÚ·é±ÆD 25 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉgp 26 * Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD 27 * (a) Äzzɺ¤hL 28 gipÒ}j 29 AÈÇjÉCãLÌì 30 * \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 31 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ 32 * ·é±ÆD 33 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹Q 34 * ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDܽC 35 * {\tgEFAÌ[UܽÍGh[U©çÌ¢©ÈéRÉîà 36 * ¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 13 * 上記著作権者は,以下の (1)〜(4) の条件を満たす場合に限り,本ソフトウェ 14 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改変・ 15 * 再配布(以下,利用と呼ぶ)することを無償で許諾する. 16 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作権 17 * 表示,この利用条件および下記の無保証規定が,そのままの形でソース 18 * コード中に含まれていること. 19 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使用 20 * できる形で再配布する場合には,再配布に伴うドキュメント(利用者マ 21 * ニュアルなど)に,上記の著作権表示,この利用条件および下記の無保 22 * 証規定を掲載すること. 23 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使用 24 * できない形で再配布する場合には,次のいずれかの条件を満たすこと. 25 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著作 26 * 権表示,この利用条件および下記の無保証規定を掲載すること. 27 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに報 28 * 告すること. 29 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害 30 * からも,上記著作権者およびTOPPERSプロジェクトを免責すること.また, 31 * 本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ 32 * く請求からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 37 33 * 38 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ39 * ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉη40 * éK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEFAÌp41 * Éæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»ÌÓCð42 * íÈ¢D34 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者およ 35 * びTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的に対す 36 * る適合性も含めて,いかなる保証も行わない.また,本ソフトウェアの利用 37 * により直接的または間接的に生じたいかなる損害に関しても,その責任を負 38 * わない. 43 39 * 44 40 */ … … 51 47 52 48 /* 53 * ^XNDæxÌà\»EO\»Ï·}N49 * タスク優先度の内部表現・外部表現変換マクロ 54 50 */ 55 51 #define INT_PRIORITY(x) ((uint_t)((x) - TMIN_TPRI)) 56 52 57 53 /* 58 * ^XNIDÌÅålikernel_cfg.cj54 * タスクIDの最大値(kernel_cfg.c) 59 55 */ 60 56 extern const ID tmax_tskid; 61 57 62 58 /* 63 * ^XNÌ59 * タスクの数 64 60 */ 65 61 #define tnum_tsk ((uint_t)(tmax_tskid - TMIN_TSKID + 1)) 66 62 67 63 /* 68 * ÀsÂ\óÔÌ^XNªÈ¢ÉÀs^XNÌ»ÝDæxÉÝè·él64 * 実行可能状態のタスクがない時に実行中タスクの現在優先度に設定する値 69 65 */ 70 66 #define TSKPRI_NULL (UINT_MAX) … … 72 68 73 69 /* 74 * fBL 75 [T[`̽ßÌrbg}bv 70 * レディキューサーチのためのビットマップ 76 71 */ 77 72 extern volatile uint_t ready_primap; 78 73 79 74 /* 80 * N®vL 81 [COÌrbg}bv 75 * 起動要求キューイングのビットマップ 82 76 */ 83 77 extern uint_t actque_bitmap; 84 78 85 79 /* 86 * fBXpb`^^XNáO[`N®vtO87 * 88 * Ýnh^CPUáOnhÌoûÉCfBXpb`ܽÍ89 * ^XNáO[`ÌN®ðv·é±Æð¦·tOD80 * ディスパッチ/タスク例外処理ルーチン起動要求フラグ 81 * 82 * 割込みハンドラ/CPU例外ハンドラの出口処理に,ディスパッチまたは 83 * タスク例外処理ルーチンの起動を要求することを示すフラグ. 90 84 */ 91 85 extern bool_t reqflg; 92 86 93 87 /* 94 * fBXpb`Ö~óÔ95 * 96 * fBXpb`Ö~óÔÅ é±Æð¦·tOD88 * ディスパッチ禁止状態 89 * 90 * ディスパッチ禁止状態であることを示すフラグ. 97 91 */ 98 92 extern bool_t disdsp; 99 93 100 94 /* 101 * ÀsóÔ^XNÌ»ÝDæx102 * 103 * ÀsÌ^XNÉÀsDæxªÝè³êÄ¢êÎÀsDæxªC104 * Ýè³êĢȯêÎN®DæxªÝè³êéD95 * 実行状態タスクの現在優先度 96 * 97 * 実行中のタスクに実行時優先度が設定されていれば実行時優先度が, 98 * 設定されていなければ起動時優先度が設定される. 105 99 */ 106 100 extern uint_t runtsk_curpri; 107 101 108 102 /* 109 * ÀsóÔ^XNÌN®Dæx103 * 実行状態タスクの起動時優先度 110 104 */ 111 105 extern uint_t runtsk_ipri; 112 106 113 107 /* 114 * ^XNÇW 115 [Ìú» 116 * 117 * SÄÌ^XNðú»·éDe^XNÍ^XN®«ÉTA_ACTªÝè³êÄ¢êÎ 118 * ÀsÂ\óÔC»¤ÅÈ¢êÍx~óÔÆÈéD 108 * タスク管理モジュールの初期化 109 * 110 * 全てのタスクを初期化する.各タスクはタスク属性にTA_ACTが設定されていれば 111 * 実行可能状態,そうでない場合は休止状態となる. 119 112 * 120 * ܽAfBXpb`ÂtOðfBXpb`ÂóÔÉÝè·éD113 * また、ディスパッチ許可フラグをディスパッチ許可状態に設定する. 121 114 * 122 * {ÖÍRtBM 123 [^ª¶¬·éobject_initializeÈOÅÄñÅÍÈçÈ¢D 115 * 本関数はコンフィギュレータが生成するobject_initialize以外で呼んではならない. 124 116 */ 125 117 extern void initialize_task(void); 126 118 127 119 /* 128 * ^XNÌN®129 * 130 * ipri Åwèµ½N®DæxðÂ^XNðÀsÂ\óÔÉJÚ³¹éD131 * {ÖðÀs·é±ÆÉæèvGvgª¶·éêÍtrueðC132 * »¤ÅÈ¢êÍfalseðÔ·D133 * 134 * {ÖÍCPUbNóÔCSÝbNðóÔCÝDæx}XNSðóÔÅ135 * ÄÑo·±ÆD120 * タスクの起動 121 * 122 * ipriで指定した起動時優先度を持つタスクを実行可能状態に遷移させる. 123 * 本関数を実行することによりプリエンプトが発生する場合はtrueを, 124 * そうでない場合はfalseを返す. 125 * 126 * 本関数はCPUロック状態,全割込みロック解除状態,割込み優先度マスク全解除状態で 127 * 呼び出すこと. 136 128 */ 137 129 extern bool_t make_active(uint_t ipri); 138 130 139 131 /* 140 * wèµ½N®DæxÌ^XNªx~óԩǤ©ÌeXg141 * 142 * ipri Åwèµ½N®DæxðÂ^XNªx~óÔÅ êÎ143 * true ð»êÈOiÀsÂ\óÔCÀsÂ\óÔjÅ êÎfalseðÔ·D144 * 145 * {ÖÍCPUbNóÔCSÝbNðóÔCÝDæx}XNSðóÔÅ146 * ÄÑo·±ÆD132 * 指定した起動時優先度のタスクが休止状態かどうかのテスト 133 * 134 * ipriで指定した起動時優先度を持つタスクが休止状態であれば 135 * trueをそれ以外(実行可能状態,実行可能状態)であればfalseを返す. 136 * 137 * 本関数はCPUロック状態,全割込みロック解除状態,割込み優先度マスク全解除状態で 138 * 呼び出すこと. 147 139 */ 148 140 extern bool_t test_dormant(uint_t ipri); 149 141 150 142 /* 151 * ÅDæÊ^XNÌT[`152 * 153 * ÀsÂ\óÔÌ^XNÌ©çÅàDæʪ¢^XNÌúDæxð154 * Ô·D155 * 156 * {ÖÍCPUbNóÔCSÝbNðóÔCÝDæx}XNSðóÔÅ157 * ÄÑo·±ÆD143 * 最高優先順位タスクのサーチ 144 * 145 * 実行可能状態のタスクの中から最も優先順位が高いタスクの初期優先度を 146 * 返す. 147 * 148 * 本関数はCPUロック状態,全割込みロック解除状態,割込み優先度マスク全解除状態で 149 * 呼び出すこと. 158 150 */ 159 151 extern uint_t search_schedtsk(void); 160 152 161 153 /* 162 * ^XNÌÀs163 * 164 * ipri Åwèµ½N®DæxðÂ^XNðÀs·éD165 * {Ö©çÀsµ½^XN©çT[rXR[ðoRµÄ166 * ÄAIÉÄÎêé±Æà éD167 * 168 * {ÖÍCPUbNóÔCSÝbNðóÔCÝDæx}XNSðóÔÅ169 * ÄÑo·±ÆD154 * タスクの実行 155 * 156 * ipriで指定した起動時優先度を持つタスクを実行する. 157 * 本関数から実行したタスクからサービスコールを経由して 158 * 再帰的に呼ばれることもある. 159 * 160 * 本関数はCPUロック状態,全割込みロック解除状態,割込み優先度マスク全解除状態で 161 * 呼び出すこと. 170 162 */ 171 163 extern void run_task(uint_t ipri); 172 164 173 165 /* 174 * ^XNfBXpb`175 * 176 * J[lú»®¹ãÉÄÑo³êCÅDæÊÆÈÁ½^XNðÀs·éD177 * 178 * {ÖÍCPUbNóÔCSÝbNðóÔCÝDæx}XNSðóÔÅ179 * ÄÑo·±ÆD180 * ȨC{Ö©çÍ^[µÈ¢D166 * タスクディスパッチャ 167 * 168 * カーネル初期化完了後に呼び出され,最高優先順位となったタスクを実行する. 169 * 170 * 本関数はCPUロック状態,全割込みロック解除状態,割込み優先度マスク全解除状態で 171 * 呼び出すこと. 172 * なお,本関数からはリターンしない. 181 173 * 182 174 */ … … 184 176 185 177 /* 186 * ^XNÌN®Dæxæ¾(^XNReLXgp)187 * 188 * tskid Åwèµ½^XNÌN®Dæxðæ¾·éD189 * tskid ÍTMIN_TSKIDÈãCtmax_tskidȺÌlCàµÍTSK_SELFÅ190 * wèµÈ¯êÎÈçÈ¢D178 * タスクの起動時優先度取得(タスクコンテキスト用) 179 * 180 * tskidで指定したタスクの起動時優先度を取得する. 181 * tskidはTMIN_TSKID以上,tmax_tskid以下の値,もしくはTSK_SELFで 182 * 指定しなければならない. 191 183 */ 192 184 extern uint_t get_ipri_self(ID tskid); 193 185 194 186 /* 195 * ^XNÌN®Dæxæ¾(ñ^XNReLXgp)196 * 197 * tskid Åwèµ½^XNÌN®Dæxðæ¾·éD198 * tskid ÍTMIN_TSKIDÈãCtmax_tskidȺÌlÅwèµÈ¯êÎÈçÈ¢D187 * タスクの起動時優先度取得(非タスクコンテキスト用) 188 * 189 * tskidで指定したタスクの起動時優先度を取得する. 190 * tskidはTMIN_TSKID以上,tmax_tskid以下の値で指定しなければならない. 199 191 */ 200 192 extern uint_t get_ipri(ID tskid); 201 193 202 194 203 /* N®vL 204 [COrbg}bvÌì */ 195 /* 起動要求キューイングビットマップの操作 */ 205 196 #define ACTQUE_BIT(ipri) (1U << (ipri)) 206 197 207 /* N®vL 208 [COÌZbg */ 198 /* 起動要求キューイングのセット */ 209 199 Inline 210 200 void actque_set(uint_t ipri) … … 213 203 } 214 204 215 /* N®vL 216 [COÌNA */ 205 /* 起動要求キューイングのクリア */ 217 206 Inline 218 207 void actque_clear(uint_t ipri) … … 221 210 } 222 211 223 /* N®vL 224 [COÌ`FbN */ 212 /* 起動要求キューイング数のチェック */ 225 213 Inline 226 214 bool_t actque_test(uint_t ipri) -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/kernel/task_manage.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 11 11 * Copyright (C) 2011 by Meika Sugimoto 12 12 * 13 * ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF 14 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»EüÏE 15 * ÄzziȺCpÆÄÔj·é±Æð³Åø·éD 16 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 17 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[X 18 * R[hÉÜÜêÄ¢é±ÆD 19 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉgp 20 * Å«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 21 gipÒ} 22 * j 23 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺLÌ³Û 24 * ØKèðfÚ·é±ÆD 25 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉgp 26 * Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD 27 * (a) Äzzɺ¤hL 28 gipÒ}j 29 AÈÇjÉCãLÌì 30 * \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 31 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ 32 * ·é±ÆD 33 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹Q 34 * ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDܽC 35 * {\tgEFAÌ[UܽÍGh[U©çÌ¢©ÈéRÉîà 36 * ¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 13 * 上記著作権者は,以下の (1)〜(4) の条件を満たす場合に限り,本ソフトウェ 14 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改変・ 15 * 再配布(以下,利用と呼ぶ)することを無償で許諾する. 16 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作権 17 * 表示,この利用条件および下記の無保証規定が,そのままの形でソース 18 * コード中に含まれていること. 19 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使用 20 * できる形で再配布する場合には,再配布に伴うドキュメント(利用者マ 21 * ニュアルなど)に,上記の著作権表示,この利用条件および下記の無保 22 * 証規定を掲載すること. 23 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使用 24 * できない形で再配布する場合には,次のいずれかの条件を満たすこと. 25 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著作 26 * 権表示,この利用条件および下記の無保証規定を掲載すること. 27 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに報 28 * 告すること. 29 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害 30 * からも,上記著作権者およびTOPPERSプロジェクトを免責すること.また, 31 * 本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ 32 * く請求からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 37 33 * 38 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ39 * ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉη40 * éK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEFAÌp41 * Éæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»ÌÓCð42 * íÈ¢D34 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者およ 35 * びTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的に対す 36 * る適合性も含めて,いかなる保証も行わない.また,本ソフトウェアの利用 37 * により直接的または間接的に生じたいかなる損害に関しても,その責任を負 38 * わない. 43 39 * 44 40 */ 45 41 46 42 /* 47 * ^XNÇ@\43 * タスク管理機能 48 44 */ 49 45 … … 53 49 54 50 /* 55 * g[XO}NÌftHgè`51 * トレースログマクロのデフォルト定義 56 52 */ 57 53 #ifndef LOG_ACT_TSK_ENTER … … 73 69 74 70 /* 75 * ^XNÌN®71 * タスクの起動 76 72 */ 77 73 #ifdef TOPPERS_act_tsk … … 113 109 114 110 /* 115 * ^XNÌN®iñ^XNReLXgpj111 * タスクの起動(非タスクコンテキスト用) 116 112 */ 117 113 -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/pdic/rx600/rx630_uart.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 6 6 * Copyright (C) 2013 by Mitsuhiro Matsuura 7 7 * 8 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 9 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 10 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 11 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 12 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 13 * XR[hÉÜÜêÄ¢é±ÆD 14 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 15 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 16 gip 17 * Ò}j 18 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 19 * ̳ÛØKèðfÚ·é±ÆD 20 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 21 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 22 * ÆD 23 * (a) Äzzɺ¤hL 24 gipÒ}j 25 AÈÇjÉCãLÌ 26 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 27 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 28 * ñ·é±ÆD 29 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 30 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 31 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 32 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 33 * ÆÓ·é±ÆD 8 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 34 30 * 35 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨36 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI37 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF38 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»39 * ÌÓCðíÈ¢D31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 40 36 * 41 37 */ … … 43 39 44 40 /* 45 * UART p ÈÕSIOhCo41 * UART用 簡易SIOドライバ 46 42 */ 47 43 … … 52 48 #include "rx630_uart.h" 53 49 54 /* VA[hWX^iSMR) */50 /* シリアルモードレジスタ(SMR) */ 55 51 #define CKS UINT_C(0x03) 56 52 #define STOP UINT_C(0x08) … … 62 58 #define ASYNC_8BIT UINT_C(0x40) 63 59 64 /* VARg[WX^iSCR) */60 /* シリアルコントロールレジスタ(SCR) */ 65 61 #define CKE UINT_C(0x03) 66 62 #define TEIE UINT_C(0x04) … … 70 66 #define TIE UINT_C(0x80) 71 67 72 /* VAXe[^XWX^iSSRj*/68 /* シリアルステータスレジスタ(SSR) */ 73 69 #define TEND UINT_C(0x04) 74 70 #define PER UINT_C(0x08) … … 76 72 #define ORER UINT_C(0x20) 77 73 78 /* VAg£[hWX^iSEMR) */74 /* シリアル拡張モードレジスタ(SEMR) */ 79 75 #define ACS0 UINT_C(0x01) 80 76 #define ABCS UINT_C(0x10) … … 84 80 85 81 /* 86 * VAI/O|[gú»ubNÌè`82 * シリアルI/Oポート初期化ブロックの定義 87 83 */ 88 84 typedef struct sio_port_initialization_block { 89 volatile uint8_t *ctlreg; /* VARg[WX^iSCR) */ 90 volatile uint8_t *modereg; /* VA[hWX^iSMR) */ 91 volatile uint8_t *extmodereg; /* VAg£[hWX^iSEMR) */ 92 volatile uint8_t *statusreg; /* VAXe[^XWX^iSSRj */ 93 volatile uint8_t *tdreg; /* gX~bgf[^WX^iTDR)*/ 94 volatile uint8_t *rdreg; /* V[uf[^WX^iRDR) */ 95 volatile uint8_t *bitratereg; /* rbg[gWX^iBRR) */ 96 volatile uint32_t *mstpcrreg; /* W 97 [XgbvRg[WX^iMSTPCRj */ 98 volatile uint8_t *ssrreg; /* Xe[^XWX^ */ 99 volatile uint8_t *rxiirreg; /* RXIpÝvWX^ */ 100 uint8_t tx_intno; /* Mif[^GveBjèÝÔ */ 101 uint8_t rx_intno; /* óMif[^tjèÝÔ */ 102 uint8_t te_intno; /* MiI¹jèÝÔ */ 103 uint8_t sci_no; /* SCIÌÔ(SCI0`SCI6) */ 104 uint32_t mstpcr_offset; /* MSTPCRÌηérbgItZbg */ 85 volatile uint8_t *ctlreg; /* シリアルコントロールレジスタ(SCR) */ 86 volatile uint8_t *modereg; /* シリアルモードレジスタ(SMR) */ 87 volatile uint8_t *extmodereg; /* シリアル拡張モードレジスタ(SEMR) */ 88 volatile uint8_t *statusreg; /* シリアルステータスレジスタ(SSR) */ 89 volatile uint8_t *tdreg; /* トランスミットデータレジスタ(TDR)*/ 90 volatile uint8_t *rdreg; /* レシーブデータレジスタ(RDR) */ 91 volatile uint8_t *bitratereg; /* ビットレートレジスタ(BRR) */ 92 volatile uint32_t *mstpcrreg; /* モジュールストップコントロールレジスタ(MSTPCR) */ 93 volatile uint8_t *ssrreg; /* ステータスレジスタ */ 94 volatile uint8_t *rxiirreg; /* RXI用割込み要求レジスタ */ 95 uint8_t tx_intno; /* 送信(データエンプティ)割り込み番号 */ 96 uint8_t rx_intno; /* 受信(データフル)割り込み番号 */ 97 uint8_t te_intno; /* 送信(終了)割り込み番号 */ 98 uint8_t sci_no; /* SCIの番号(SCI0〜SCI6) */ 99 uint32_t mstpcr_offset; /* MSTPCRの対応するビットオフセット */ 105 100 } SIOPINIB; 106 101 107 102 /* 108 * VAI/O|[gÇubNÌè`103 * シリアルI/Oポート管理ブロックの定義 109 104 */ 110 105 struct sio_port_control_block { 111 const SIOPINIB *p_siopinib; /* VAI/O|[gú»ubN*/112 intptr_t exinf; /* g£îñ*/113 bool_t openflag; /* I[vÏÝtO*/114 bool_t sendflag; /* MÝCl[utO*/115 bool_t getready; /* ¶ðóMµ½óÔ*/116 bool_t putready; /* ¶ðMÅ«éóÔ*/117 bool_t is_initialized; /* foCXú»ÏÝtO*/106 const SIOPINIB *p_siopinib; /* シリアルI/Oポート初期化ブロック */ 107 intptr_t exinf; /* 拡張情報 */ 108 bool_t openflag; /* オープン済みフラグ */ 109 bool_t sendflag; /* 送信割込みイネーブルフラグ */ 110 bool_t getready; /* 文字を受信した状態 */ 111 bool_t putready; /* 文字を送信できる状態 */ 112 bool_t is_initialized; /* デバイス初期化済みフラグ */ 118 113 }; 119 114 120 115 /* 121 * VAI/O|[gÇubNÌGA116 * シリアルI/Oポート管理ブロックのエリア 122 117 */ 123 118 static SIOPCB siopcb_table[TNUM_SIOP]; 124 119 125 /* WX^e[u*/120 /* レジスタテーブル */ 126 121 static const SIOPINIB siopinib_table[TNUM_SIOP] = 127 122 { … … 165 160 166 161 /* 167 * VAI/O|[gID©çÇubNðæèo·½ßÌ}N162 * シリアルI/OポートIDから管理ブロックを取り出すためのマクロ 168 163 */ 169 164 #define INDEX_SIOP(siopid) ((uint_t)((siopid) - 1)) … … 173 168 174 169 /* 175 * SIO hCoÌVA[hWX^(SMR)170 * SIOドライバのシリアルモードレジスタ(SMR) 176 171 */ 177 172 static void … … 181 176 182 177 /* 183 * SCI hCoÌú»[`184 */ 185 186 /* 187 * èÝvæWX^ÌÝè(ISELRi)178 * SCIドライバの初期化ルーチン 179 */ 180 181 /* 182 * 割り込み要求先レジスタの設定(ISELRi) 188 183 * 189 * ZbglƯ¶lðÝè·é±ÆÉÈé½ß, 190 * ÍȪ·é. 191 */ 192 193 /* 194 * W 195 [Xgbv@\ÌÝè 196 */ 197 sil_wrh_mem(SYSTEM_PRCR_ADDR, (uint16_t)0xA502); /* Ý */ 184 * リセット値と同じ値を設定することになるため, 185 * 処理は省略する. 186 */ 187 188 /* 189 * モジュールストップ機能の設定 190 */ 191 sil_wrh_mem(SYSTEM_PRCR_ADDR, (uint16_t)0xA502); /* 書込み許可 */ 198 192 sil_wrw_mem(p_siopinib->mstpcrreg, 199 193 sil_rew_mem(p_siopinib->mstpcrreg) & ~p_siopinib->mstpcr_offset); 200 sil_wrh_mem(SYSTEM_PRCR_ADDR, (uint16_t)0xA500); /* ÝÖ~*/201 202 /* óMÖ~, SCKn[qÍüoÍ|[gƵÄgp*/194 sil_wrh_mem(SYSTEM_PRCR_ADDR, (uint16_t)0xA500); /* 書込み禁止 */ 195 196 /* 送受信禁止, SCKn端子は入出力ポートとして使用 */ 203 197 sil_wrb_mem(p_siopinib->ctlreg, 0x00U); 204 198 205 /* NbNIðrbg(SMR.CKS[1:0]rbgðÝè) */199 /* クロック選択ビット(SMR.CKS[1:0]ビットを設定) */ 206 200 sil_wrb_mem(p_siopinib->modereg, 207 201 sil_reb_mem(p_siopinib->modereg) | clksrc); 208 202 209 /* SMR ÉM^ óMtH[}bgðÝè) */203 /* SMRに送信/ 受信フォーマットを設定) */ 210 204 sil_wrb_mem(p_siopinib->modereg, 211 205 sil_reb_mem(p_siopinib->modereg) & (~SCI_SMR_FLG_ENABLE)); 212 206 213 /* rbg[gðÝè*/207 /* ビットレートを設定 */ 214 208 sil_wrb_mem(p_siopinib->bitratereg, bitrate); 215 209 216 /* rbgúÔ(î{NbN16TCNÌúÔª1rbgúÔÆÈé) */210 /* ビット期間(基本クロック16サイクルの期間が1ビット期間となる) */ 217 211 for(i = 0; i < 16; i++) { } 218 212 219 /* óMÂ*/213 /* 送受信許可 */ 220 214 sil_wrb_mem(p_siopinib->ctlreg, 221 215 (sil_reb_mem(p_siopinib->ctlreg) | SCI_SCR_FLG_ENABLE)); … … 224 218 225 219 /* 226 * SIO hCoÌú»[`220 * SIOドライバの初期化ルーチン 227 221 */ 228 222 void … … 233 227 234 228 /* 235 * VAI/O|[gÇubNÌú»229 * シリアルI/Oポート管理ブロックの初期化 236 230 */ 237 231 for (p_siopcb = siopcb_table, i = 0; i < TNUM_SIOP; p_siopcb++, i++){ … … 243 237 244 238 /* 245 * J[lN®Ìoi[oÍpÌú»239 * カーネル起動時のバナー出力用の初期化 246 240 */ 247 241 void … … 250 244 SIOPCB *p_siopcb = get_siopcb(siopid); 251 245 const SIOPINIB *p_siopinib = get_siopinib(siopid); 252 /* ±Ì_ÅÍAp_siopcb->p_siopinibÍú»³êĢȢ*/253 254 /* ñdú»Ìh~*/246 /* この時点では、p_siopcb->p_siopinibは初期化されていない */ 247 248 /* 二重初期化の防止 */ 255 249 p_siopcb->is_initialized = true; 256 250 257 /* n[hEFAÌú»ÆMÂ*/251 /* ハードウェアの初期化処理と送信許可 */ 258 252 rx630_uart_setmode(p_siopinib , bitrate, clksrc); 259 253 sil_wrb_mem(p_siopinib->ctlreg, … … 262 256 263 257 /* 264 * VAI/O|[gÖÌ|[OÅÌoÍ258 * シリアルI/Oポートへのポーリングでの出力 265 259 */ 266 260 void … … 272 266 273 267 /* 274 * MWX^ªóÉÈéÜÅÒÂ268 * 送信レジスタが空になるまで待つ 275 269 */ 276 270 while((sil_reb_mem(p_siopinib->ssrreg) & SCI_SSR_TEND_BIT) == 0U); … … 280 274 281 275 /* 282 * VAI/O|[gÌI[v276 * シリアルI/Oポートのオープン 283 277 */ 284 278 SIOPCB * … … 293 287 294 288 /* 295 * n[hEFAÌú»289 * ハードウェアの初期化 296 290 * 297 * ùÉú»µÄ¢éêÍ, ñdÉú»µÈ¢.291 * 既に初期化している場合は, 二重に初期化しない. 298 292 */ 299 293 if(!(p_siopcb->is_initialized)){ … … 310 304 311 305 /* 312 * VAI/O|[gÌN[Y306 * シリアルI/Oポートのクローズ 313 307 */ 314 308 void … … 316 310 { 317 311 /* 318 * UART â~312 * UART停止 319 313 */ 320 314 sil_wrh_mem(p_siopcb->p_siopinib->ctlreg, 0x00U); … … 324 318 325 319 /* 326 * VAI/O|[gÖ̶M320 * シリアルI/Oポートへの文字送信 327 321 */ 328 322 bool_t … … 341 335 342 336 /* 343 * VAI/O|[g©ç̶óM337 * シリアルI/Oポートからの文字受信 344 338 */ 345 339 int_t … … 349 343 350 344 /* 351 * óMtOªONÌÆ«ÌÝóMobt@©ç¶ðæ¾·é.352 * ±êÍ, |[OóMÉηé½ßÅ é.353 * µ©µ, RX600V[YÅÍóMtOªÈ¢±Æ, VXeT[rX354 * ÅÍóMÝ̩絩f[^ðóMµÉÈ¢±Æ©ç, íÉ355 * óMobt@©ç¶ðæ¾·é.345 * 受信フラグがONのときのみ受信バッファから文字を取得する. 346 * これは, ポーリング受信に対応するためである. 347 * しかし, RX600シリーズでは受信フラグがないこと, システムサービス 348 * では受信割込みの中からしかデータを受信しに来ないことから, 常に 349 * 受信バッファから文字を取得する. 356 350 */ 357 351 c = (int)(sil_reb_mem(p_siopcb->p_siopinib->rdreg)); … … 361 355 362 356 /* 363 * VAI/O|[g©çÌR[obNÌÂ357 * シリアルI/Oポートからのコールバックの許可 364 358 */ 365 359 void … … 382 376 383 377 /* 384 * VAI/O|[g©çÌR[obNÌÖ~378 * シリアルI/Oポートからのコールバックの禁止 385 379 */ 386 380 void … … 403 397 404 398 /* 405 * SIO ÌÝT[rX[`399 * SIOの割込みサービスルーチン 406 400 */ 407 401 void … … 413 407 (void *)p_siopcb->p_siopinib->ssrreg) & SCI_SSR_TEND_BIT) != 0U){ 414 408 /* 415 * MÂ\R[obN[`ðÄÑo·D409 * 送信可能コールバックルーチンを呼び出す. 416 410 */ 417 411 rx630_uart_irdy_snd(p_siopcb->exinf); … … 425 419 426 420 /* 427 * óMtOªONÌÆ«ÌÝóMÊmR[obN[`ðÄÑo·.428 * µ©µ, RX600V[YÅÍóMtOªÈ¢½ß, íÉóMÊm429 * R[obN[`ðÄÑo·.430 * ±±ÅÍóMÝ̶ðM¶é.431 */ 432 /* 433 * óMÊmR[obN[`ðÄÑo·D421 * 受信フラグがONのときのみ受信通知コールバックルーチンを呼び出す. 422 * しかし, RX600シリーズでは受信フラグがないため, 常に受信通知 423 * コールバックルーチンを呼び出す. 424 * ここでは受信割込みの発生を信じる. 425 */ 426 /* 427 * 受信通知コールバックルーチンを呼び出す. 434 428 */ 435 429 rx630_uart_irdy_rcv(p_siopcb->exinf); … … 438 432 439 433 /* 440 * |[gÔ©çÇubNÌæªÔnÖÌÏ·434 * ポート番号から管理ブロックの先頭番地への変換 441 435 */ 442 436 SIOPCB * … … 447 441 448 442 /* 449 * ÇubNÌæªÔn©çóMÝÔÖÌÏ·443 * 管理ブロックの先頭番地から受信割込み番号への変換 450 444 */ 451 445 INTNO … … 456 450 457 451 /* 458 * ÇubNÌæªÔn©çMÝÔÖÌÏ·452 * 管理ブロックの先頭番地から送信割込み番号への変換 459 453 */ 460 454 INTNO -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/pdic/rx600/rx630_uart.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 6 6 * Copyright (C) 2013 by Mitsuhiro Matsuura 7 7 * 8 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 9 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 10 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 11 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 12 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 13 * XR[hÉÜÜêÄ¢é±ÆD 14 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 15 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 16 gip 17 * Ò}j 18 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 19 * ̳ÛØKèðfÚ·é±ÆD 20 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 21 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 22 * ÆD 23 * (a) Äzzɺ¤hL 24 gipÒ}j 25 AÈÇjÉCãLÌ 26 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 27 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 28 * ñ·é±ÆD 29 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 30 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 31 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 32 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 33 * ÆÓ·é±ÆD 8 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 34 30 * 35 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨36 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI37 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF38 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»39 * ÌÓCðíÈ¢D31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 40 36 * 41 37 */ 42 38 43 39 /* 44 * UART p ÈÕSIOhCo40 * UART用 簡易SIOドライバ 45 41 */ 46 42 … … 48 44 #define TOPPERS_RX630_UART_H 49 45 50 /* wèÂ\ÈNbN\[X*/46 /* 指定可能なクロックソース */ 51 47 #define CLK_F1 UINT_C(0x00) 52 48 #define CLK_F4 UINT_C(0x01) … … 57 53 58 54 /* 59 * VAI/O|[gÇubNÌè`55 * シリアルI/Oポート管理ブロックの定義 60 56 */ 61 57 typedef struct sio_port_control_block SIOPCB; 62 58 63 59 /* 64 * R[obN[`̯ÊÔ60 * コールバックルーチンの識別番号 65 61 */ 66 #define SIO_RDY_SND (1U) /* MÂ\R[obN*/67 #define SIO_RDY_RCV (2U) /* óMÊmR[obN*/62 #define SIO_RDY_SND (1U) /* 送信可能コールバック */ 63 #define SIO_RDY_RCV (2U) /* 受信通知コールバック */ 68 64 69 65 /* 70 * SIO hCoÌú»[`66 * SIOドライバの初期化ルーチン 71 67 */ 72 68 extern void rx630_uart_initialize(void); 73 69 74 70 /* 75 * J[lN®Ìoi[oÍpÌú»71 * カーネル起動時のバナー出力用の初期化 76 72 */ 77 73 extern void rx630_uart_init(ID siopid , uint8_t baud , uint8_t clksrc); 78 74 79 75 /* 80 * VAI/O|[gÖÌ|[OÅÌoÍ76 * シリアルI/Oポートへのポーリングでの出力 81 77 */ 82 78 extern void rx630_uart_pol_putc(char c, ID siopid); 83 79 84 80 /* 85 * VAI/O|[gÌI[v81 * シリアルI/Oポートのオープン 86 82 */ 87 83 extern SIOPCB *rx630_uart_opn_por … … 89 85 90 86 /* 91 * VAI/O|[gÌN[Y87 * シリアルI/Oポートのクローズ 92 88 */ 93 89 extern void rx630_uart_cls_por(SIOPCB *p_siopcb); 94 90 95 91 /* 96 * VAI/O|[gÖ̶M92 * シリアルI/Oポートへの文字送信 97 93 */ 98 94 extern bool_t rx630_uart_snd_chr(SIOPCB *p_siopcb, char c); 99 95 100 96 /* 101 * VAI/O|[g©ç̶óM97 * シリアルI/Oポートからの文字受信 102 98 */ 103 99 extern int_t rx630_uart_rcv_chr(SIOPCB *p_siopcb); 104 100 105 101 /* 106 * VAI/O|[g©çÌR[obNÌÂ102 * シリアルI/Oポートからのコールバックの許可 107 103 */ 108 104 extern void rx630_uart_ena_cbr(SIOPCB *p_siopcb, uint_t cbrtn); 109 105 110 106 /* 111 * VAI/O|[g©çÌR[obNÌÖ~107 * シリアルI/Oポートからのコールバックの禁止 112 108 */ 113 109 extern void rx630_uart_dis_cbr(SIOPCB *p_siopcb, uint_t cbrtn); 114 110 115 111 /* 116 * SIO ÌÝT[rX[`112 * SIOの割込みサービスルーチン 117 113 */ 118 114 extern void rx630_uart_tx_isr(ID siopid); … … 120 116 121 117 /* 122 * VAI/O|[g©çÌMÂ\R[obN118 * シリアルI/Oポートからの送信可能コールバック 123 119 */ 124 120 extern void rx630_uart_irdy_snd(intptr_t exinf); 125 121 126 122 /* 127 * VAI/O|[g©çÌóMÊmR[obN123 * シリアルI/Oポートからの受信通知コールバック 128 124 */ 129 125 extern void rx630_uart_irdy_rcv(intptr_t exinf); … … 131 127 132 128 /* 133 * |[gÔ©çÇubNÌæªÔnÖÌÏ·129 * ポート番号から管理ブロックの先頭番地への変換 134 130 */ 135 131 extern SIOPCB *rx630_uart_get_siopcb(ID siopid); 136 132 137 133 /* 138 * ÇubNÌæªÔn©çóMÝÔÖÌÏ·134 * 管理ブロックの先頭番地から受信割込み番号への変換 139 135 */ 140 136 extern INTNO rx630_uart_intno_rx(SIOPCB *p_siopcb); 141 137 142 138 /* 143 * ÇubNÌæªÔn©çMÝÔÖÌÏ·139 * 管理ブロックの先頭番地から送信割込み番号への変換 144 140 */ 145 141 extern INTNO rx630_uart_intno_tx(SIOPCB *p_siopcb); -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/syssvc/banner.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 9 9 * Copyright (C) 2010-2012 by Meika Sugimoto 10 10 * 11 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 12 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 13 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 14 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 15 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 16 * XR[hÉÜÜêÄ¢é±ÆD 17 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 18 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 19 gip 20 * Ò}j 21 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 22 * ̳ÛØKèðfÚ·é±ÆD 23 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 24 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 25 * ÆD 26 * (a) Äzzɺ¤hL 27 gipÒ}j 28 AÈÇjÉCãLÌ 29 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 30 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 31 * ñ·é±ÆD 32 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 33 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 34 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 35 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 36 * ÆÓ·é±ÆD 11 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 12 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 13 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 14 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 15 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 16 * スコード中に含まれていること. 17 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 18 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 19 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 20 * の無保証規定を掲載すること. 21 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 22 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 23 * と. 24 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 25 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 26 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 27 * 報告すること. 28 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 29 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 30 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 31 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 32 * 免責すること. 37 33 * 38 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨39 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI40 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF41 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»42 * ÌÓCðíÈ¢D34 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 35 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 36 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 37 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 38 * の責任を負わない. 43 39 * 44 40 */ 45 41 46 42 /* 47 * J[lN®bZ[WÌoÍ43 * カーネル起動メッセージの出力 48 44 */ 49 45 -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/syssvc/banner.cfg
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 5 5 /* 6 * J[lN®bZ[WÌoÍÌRtBM 7 [Vt@C 6 * カーネル起動メッセージの出力のコンフィギュレーションファイル 8 7 */ 9 8 -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/syssvc/banner.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 7 7 * Graduate School of Information Science, Nagoya Univ., JAPAN 8 8 * 9 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 10 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 11 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 12 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 13 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 14 * XR[hÉÜÜêÄ¢é±ÆD 15 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 16 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 17 gip 18 * Ò}j 19 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 20 * ̳ÛØKèðfÚ·é±ÆD 21 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 22 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 23 * ÆD 24 * (a) Äzzɺ¤hL 25 gipÒ}j 26 AÈÇjÉCãLÌ 27 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 28 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 29 * ñ·é±ÆD 30 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 31 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 32 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 33 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 34 * ÆÓ·é±ÆD 9 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 10 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 11 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 12 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 13 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 14 * スコード中に含まれていること. 15 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 16 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 17 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 18 * の無保証規定を掲載すること. 19 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 20 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 21 * と. 22 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 23 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 24 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 25 * 報告すること. 26 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 27 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 28 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 29 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 30 * 免責すること. 35 31 * 36 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨37 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI38 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF39 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»40 * ÌÓCðíÈ¢D32 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 33 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 34 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 35 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 36 * の責任を負わない. 41 37 * 42 38 * @(#) $Id$ … … 44 40 45 41 /* 46 * J[lN®bZ[WÌoÍ42 * カーネル起動メッセージの出力 47 43 */ 48 44 … … 51 47 52 48 /* 53 * J[lN®bZ[WÌoÍ49 * カーネル起動メッセージの出力 54 50 */ 55 51 extern void print_banner(intptr_t exinf) throw(); -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/syssvc/banner.tf
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 1 1 $ 2 $ oi[oÍpÌev[gt@C2 $ バナー出力用のテンプレートファイル 3 3 $ 4 4 $FILE "kernel_cfg.c"$ 5 5 6 $ J[l¼Ì6 $ カーネル名称 7 7 $KERNEL_NAME = "\"TOPPERS/SSP Kernel \""$ 8 8 9 $ o[WÌæèoµ9 $ バージョンの取り出し 10 10 11 11 $MAJOR_VERSION = ((TKERNEL_PRVER >> 12) & 0x0f)$ … … 13 13 $PATCH_VERSION = ((TKERNEL_PRVER & 0x0f) & 0x0f)$ 14 14 15 $ JÒ15 $ 開発者 16 16 $AUTHOR = "\t\t\"Copyright (C) 2010 by Meika Sugimoto\\n\"\t\\\n"$ 17 17 $AUTHOR = CONCAT(AUTHOR , "\t\t\"Copyright (C) 2010 by Naoki Saito\\n\"\t\\\n")$ -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/syssvc/log_output.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 10 10 * Nagoya Municipal Industrial Research Institute, JAPAN 11 11 * 12 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 13 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 14 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 15 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 16 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 17 * XR[hÉÜÜêÄ¢é±ÆD 18 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 19 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 20 gip 21 * Ò}j 22 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 23 * ̳ÛØKèðfÚ·é±ÆD 24 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 25 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 26 * ÆD 27 * (a) Äzzɺ¤hL 28 gipÒ}j 29 AÈÇjÉCãLÌ 30 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 31 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 32 * ñ·é±ÆD 33 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 34 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 35 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 36 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 37 * ÆÓ·é±ÆD 12 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 13 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 14 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 15 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 16 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 17 * スコード中に含まれていること. 18 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 19 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 20 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 21 * の無保証規定を掲載すること. 22 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 23 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 24 * と. 25 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 26 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 27 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 28 * 報告すること. 29 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 30 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 31 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 32 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 33 * 免責すること. 38 34 * 39 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨40 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI41 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF42 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»43 * ÌÓCðíÈ¢D35 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 36 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 37 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 38 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 39 * の責任を負わない. 44 40 * 45 41 * @(#) $Id$ … … 47 43 48 44 /* 49 * VXeOÌtH[}bgoÍ45 * システムログのフォーマット出力 50 46 */ 51 47 … … 54 50 55 51 /* 56 * lð¶ñÉÏ·52 * 数値を文字列に変換 57 53 */ 58 54 #define CONVERT_BUFLEN ((sizeof(uintptr_t) * CHAR_BIT + 2) / 3) 59 /* uintptr_t ^ÌlÌÅå¶*/55 /* uintptr_t型の数値の最大文字数 */ 60 56 static void 61 57 convert(uintptr_t val, uint_t radix, const char *radchar, … … 89 85 90 86 /* 91 * ¶ñ®`oÍ87 * 文字列整形出力 92 88 */ 93 89 static const char raddec[] = "0123456789"; … … 170 166 171 167 /* 172 * OîñÌoÍ168 * ログ情報の出力 173 169 */ 174 170 void … … 185 181 break; 186 182 default: 187 // s¾ÈíÊÌêÍC½àµÈ¢183 // 不明な種別の場合は,何もしない 188 184 break; 189 185 } … … 191 187 192 188 /* 193 * Oîñr¸bZ[WÌoÍ189 * ログ情報喪失メッセージの出力 194 190 */ 195 191 void -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/syssvc/logtask.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 11 11 * Nagoya Municipal Industrial Research Institute, JAPAN 12 12 * 13 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 14 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 15 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 16 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 17 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 18 * XR[hÉÜÜêÄ¢é±ÆD 19 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 20 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 21 gip 22 * Ò}j 23 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 24 * ̳ÛØKèðfÚ·é±ÆD 25 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 26 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 27 * ÆD 28 * (a) Äzzɺ¤hL 29 gipÒ}j 30 AÈÇjÉCãLÌ 31 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 32 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 33 * ñ·é±ÆD 34 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 35 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 36 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 37 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 38 * ÆÓ·é±ÆD 13 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 14 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 15 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 16 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 17 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 18 * スコード中に含まれていること. 19 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 20 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 21 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 22 * の無保証規定を掲載すること. 23 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 24 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 25 * と. 26 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 27 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 28 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 29 * 報告すること. 30 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 31 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 32 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 33 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 34 * 免責すること. 39 35 * 40 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨41 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI42 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF43 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»44 * ÌÓCðíÈ¢D36 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 37 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 38 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 39 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 40 * の責任を負わない. 45 41 * 46 42 * @(#) $Id$ … … 48 44 49 45 /* 50 * VXeO^XN46 * システムログタスク 51 47 */ 52 48 … … 59 55 60 56 /* 61 * VXeO^XNÌoÍæÌ|[gID57 * システムログタスクの出力先のポートID 62 58 */ 63 59 static ID logtask_portid; 64 60 65 61 /* 66 * VAC^tF[XÖÌ1¶oÍ62 * シリアルインタフェースへの1文字出力 67 63 */ 68 64 static void … … 73 69 74 70 /* 75 * O^XNÌú»71 * ログタスクの初期化処理 76 72 */ 77 73 … … 85 81 } 86 82 /* 87 * VXeO^XNÌ{Ì83 * システムログタスクの本体 88 84 */ 89 85 void … … 116 112 117 113 /* 118 * VXeO^XNÌI¹114 * システムログタスクの終了処理 119 115 */ 120 116 void … … 127 123 128 124 /* 129 * VAC^tF[XhCoÌMobt@É~ϳê½f[^130 * ðCáxoÍ@\ðp¢ÄoÍ·éD125 * シリアルインタフェースドライバの送信バッファに蓄積されたデータ 126 * を,低レベル出力機能を用いて出力する. 131 127 */ 132 128 while (serial_get_chr(logtask_portid, &c)) { … … 135 131 136 132 /* 137 * Oobt@ÉL^³ê½OîñðCáxoÍ@\ðp¢Äo138 * Í·éD133 * ログバッファに記録されたログ情報を,低レベル出力機能を用いて出 134 * 力する. 139 135 */ 140 136 while ((rercd = syslog_rea_log(&syslog)) >= 0) { 141 137 if (!msgflg) { 142 138 /* 143 * Oobt@ÉcÁ½OîñÅ é±Æ𦷶ñðo144 * Í·éD139 * ログバッファに残ったログ情報であることを示す文字列を出 140 * 力する. 145 141 */ 146 142 syslog_printf("-- buffered messages --\n", NULL, target_fput_log); -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/syssvc/logtask.cfg
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 5 5 /* 6 * VXeO^XNÌRtBM 7 [Vt@C 6 * システムログタスクのコンフィギュレーションファイル 8 7 */ 9 8 -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/syssvc/logtask.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 8 8 * Graduate School of Information Science, Nagoya Univ., JAPAN 9 9 * 10 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 11 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 12 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 13 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 14 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 15 * XR[hÉÜÜêÄ¢é±ÆD 16 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 17 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 18 gip 19 * Ò}j 20 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 21 * ̳ÛØKèðfÚ·é±ÆD 22 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 23 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 24 * ÆD 25 * (a) Äzzɺ¤hL 26 gipÒ}j 27 AÈÇjÉCãLÌ 28 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 29 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 30 * ñ·é±ÆD 31 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 32 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 33 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 34 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 35 * ÆÓ·é±ÆD 10 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 11 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 12 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 13 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 14 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 15 * スコード中に含まれていること. 16 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 17 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 18 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 19 * の無保証規定を掲載すること. 20 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 21 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 22 * と. 23 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 24 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 25 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 26 * 報告すること. 27 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 28 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 29 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 30 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 31 * 免責すること. 36 32 * 37 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨38 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI39 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF40 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»41 * ÌÓCðíÈ¢D33 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 34 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 35 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 36 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 37 * の責任を負わない. 42 38 * 43 39 * @(#) $Id$ … … 45 41 46 42 /* 47 * VXeO^XN43 * システムログタスク 48 44 */ 49 45 … … 58 54 59 55 /* 60 * VXeO^XNÖAÌèÌftHglÌè`56 * システムログタスク関連の定数のデフォルト値の定義 61 57 */ 62 58 #ifndef LOGTASK_PRIORITY 63 #define LOGTASK_PRIORITY 3 /* úDæx*/59 #define LOGTASK_PRIORITY 3 /* 初期優先度 */ 64 60 #endif /* LOGTASK_PRIORITY */ 65 61 66 62 #ifndef LOGTASK_STACK_SIZE 67 #define LOGTASK_STACK_SIZE 256 /* X^bNÌæÌTCY*/63 #define LOGTASK_STACK_SIZE 256 /* スタック領域のサイズ */ 68 64 #endif /* LOGTASK_STACK_SIZE */ 69 65 70 66 #ifndef LOGTASK_PORTID 71 #define LOGTASK_PORTID 1 /* VXeOpÌVA|[gÔ*/67 #define LOGTASK_PORTID 1 /* システムログ用のシリアルポート番号 */ 72 68 #endif /* LOGTASK_PORTID */ 73 69 74 70 #ifndef LOGTASK_INTERVAL 75 #define LOGTASK_INTERVAL 10U /* VXeO^XNÌ®ìÔui~bj*/71 #define LOGTASK_INTERVAL 10U /* システムログタスクの動作間隔(ミリ秒)*/ 76 72 #endif /* LOGTASK_INTERVAL */ 77 73 78 74 #ifndef LOGTASK_FLUSH_WAIT 79 #define LOGTASK_FLUSH_WAIT 1U /* tbV 80 Ò¿ÌPÊÔi~bj*/ 75 #define LOGTASK_FLUSH_WAIT 1U /* フラッシュ待ちの単位時間(ミリ秒)*/ 81 76 #endif /* LOGTASK_FLUSH_WAIT */ 82 77 83 78 /* 84 * VXeOoÍÌÒ¿í¹79 * システムログ出力の待ち合わせ 85 80 * 86 * Oobt@ÌO̪countȺÉÈéÜÅÒÂDcountª0ÌêÉ87 * ÍCVAobt@ªóÉÈéÌàÒÂD81 * ログバッファ中のログの数がcount以下になるまで待つ.countが0の場合に 82 * は,シリアルバッファが空になるのも待つ. 88 83 */ 89 84 extern ER logtask_flush(uint_t count) throw(); 90 85 91 86 /* 92 * VXeO^XNÌú»87 * システムログタスクの初期化処理 93 88 */ 94 89 extern void logtask_initialize(ID log_portid) throw(); 95 90 96 91 /* 97 * VXeO^XNÌ{Ì92 * システムログタスクの本体 98 93 */ 99 94 extern void logtask_main(intptr_t exinf) throw(); 100 95 101 96 /* 102 * VXeO^XNðN®·éüúnh97 * システムログタスクを起動する周期ハンドラ 103 98 */ 104 99 extern void cychdr_act_logtsk(intptr_t exinf) throw(); 105 100 106 101 /* 107 * VXeO^XNÌI¹102 * システムログタスクの終了処理 108 103 */ 109 104 extern void logtask_terminate(intptr_t exinf) throw(); -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/syssvc/serial.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 11 11 * Nagoya Municipal Industrial Research Institute, JAPAN 12 12 * 13 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 14 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 15 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 16 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 17 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 18 * XR[hÉÜÜêÄ¢é±ÆD 19 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 20 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 21 gip 22 * Ò}j 23 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 24 * ̳ÛØKèðfÚ·é±ÆD 25 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 26 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 27 * ÆD 28 * (a) Äzzɺ¤hL 29 gipÒ}j 30 AÈÇjÉCãLÌ 31 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 32 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 33 * ñ·é±ÆD 34 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 35 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 36 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 37 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 38 * ÆÓ·é±ÆD 13 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 14 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 15 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 16 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 17 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 18 * スコード中に含まれていること. 19 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 20 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 21 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 22 * の無保証規定を掲載すること. 23 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 24 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 25 * と. 26 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 27 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 28 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 29 * 報告すること. 30 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 31 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 32 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 33 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 34 * 免責すること. 39 35 * 40 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨41 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI42 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF43 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»44 * ÌÓCðíÈ¢D45 */ 46 47 /* 48 * VAC^tF[XhCo36 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 37 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 38 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 39 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 40 * の責任を負わない. 41 */ 42 43 /* 44 * シリアルインタフェースドライバ 49 45 */ 50 46 … … 56 52 57 53 /* 58 * obt@TCYÌftHglÆobt@Ìè`54 * バッファサイズのデフォルト値とバッファの定義 59 55 */ 60 56 #ifndef SERIAL_RCV_BUFSZ1 61 #define SERIAL_RCV_BUFSZ1 64 /* |[g1ÌóMobt@TCY*/57 #define SERIAL_RCV_BUFSZ1 64 /* ポート1の受信バッファサイズ */ 62 58 #endif /* SERIAL_RCV_BUFSZ1 */ 63 59 64 60 #ifndef SERIAL_SND_BUFSZ1 65 #define SERIAL_SND_BUFSZ1 256 /* |[g1ÌMobt@TCY*/61 #define SERIAL_SND_BUFSZ1 256 /* ポート1の送信バッファサイズ */ 66 62 #endif /* SERIAL_SND_BUFSZ1 */ 67 63 … … 69 65 static char snd_buffer1[SERIAL_SND_BUFSZ1]; 70 66 71 #if TNUM_PORT >= 2 /* |[g2ÉÖ·éè`*/67 #if TNUM_PORT >= 2 /* ポート2に関する定義 */ 72 68 73 69 #ifndef SERIAL_RCV_BUFSZ2 74 #define SERIAL_RCV_BUFSZ2 64 /* |[g2ÌóMobt@TCY*/70 #define SERIAL_RCV_BUFSZ2 64 /* ポート2の受信バッファサイズ */ 75 71 #endif /* SERIAL_RCV_BUFSZ2 */ 76 72 77 73 #ifndef SERIAL_SND_BUFSZ2 78 #define SERIAL_SND_BUFSZ2 64 /* |[g2ÌMobt@TCY*/74 #define SERIAL_SND_BUFSZ2 64 /* ポート2の送信バッファサイズ */ 79 75 #endif /* SERIAL_SND_BUFSZ2 */ 80 76 … … 84 80 #endif /* TNUM_PORT >= 2 */ 85 81 86 #if TNUM_PORT >= 3 /* |[g3ÉÖ·éè`*/82 #if TNUM_PORT >= 3 /* ポート3に関する定義 */ 87 83 88 84 #ifndef SERIAL_RCV_BUFSZ3 89 #define SERIAL_RCV_BUFSZ3 64 /* |[g3ÌóMobt@TCY*/85 #define SERIAL_RCV_BUFSZ3 64 /* ポート3の受信バッファサイズ */ 90 86 #endif /* SERIAL_RCV_BUFSZ3 */ 91 87 92 88 #ifndef SERIAL_SND_BUFSZ3 93 #define SERIAL_SND_BUFSZ3 64 /* |[g3ÌMobt@TCY*/89 #define SERIAL_SND_BUFSZ3 64 /* ポート3の送信バッファサイズ */ 94 90 #endif /* SERIAL_SND_BUFSZ3 */ 95 91 … … 100 96 101 97 /* 102 * VA|[gú»ubN98 * シリアルポート初期化ブロック 103 99 */ 104 100 typedef struct serial_port_initialization_block { 105 uint_t rcv_bufsz; /* óMobt@TCY*/106 char *rcv_buffer; /* óMobt@*/107 uint_t snd_bufsz; /* Mobt@TCY*/108 char *snd_buffer; /* Mobt@*/101 uint_t rcv_bufsz; /* 受信バッファサイズ */ 102 char *rcv_buffer; /* 受信バッファ */ 103 uint_t snd_bufsz; /* 送信バッファサイズ */ 104 char *snd_buffer; /* 送信バッファ */ 109 105 } SPINIB; 110 106 … … 123 119 124 120 /* 125 * VA|[gÇubN121 * シリアルポート管理ブロック 126 122 */ 127 123 typedef struct serial_port_control_block { 128 const SPINIB *p_spinib; /* VA|[gú»ubN*/129 SIOPCB *p_siopcb; /* VAI/O|[gÇubN*/130 bool_t openflag; /* I[vÏÝtO*/131 bool_t errorflag; /* G[tO*/132 uint_t ioctl; /* ®ì§äÌÝèl*/133 134 uint_t rcv_read_ptr; /* óMobt@Çoµ|C^*/135 uint_t rcv_write_ptr; /* óMobt@Ý|C^*/136 uint_t rcv_count; /* óMobt@̶*/137 138 uint_t snd_read_ptr; /* Mobt@Çoµ|C^*/139 uint_t snd_write_ptr; /* Mobt@Ý|C^*/140 uint_t snd_count; /* Mobt@̶*/124 const SPINIB *p_spinib; /* シリアルポート初期化ブロック */ 125 SIOPCB *p_siopcb; /* シリアルI/Oポート管理ブロック */ 126 bool_t openflag; /* オープン済みフラグ */ 127 bool_t errorflag; /* エラーフラグ */ 128 uint_t ioctl; /* 動作制御の設定値 */ 129 130 uint_t rcv_read_ptr; /* 受信バッファ読出しポインタ */ 131 uint_t rcv_write_ptr; /* 受信バッファ書込みポインタ */ 132 uint_t rcv_count; /* 受信バッファ中の文字数 */ 133 134 uint_t snd_read_ptr; /* 送信バッファ読出しポインタ */ 135 uint_t snd_write_ptr; /* 送信バッファ書込みポインタ */ 136 uint_t snd_count; /* 送信バッファ中の文字数 */ 141 137 } SPCB; 142 138 … … 144 140 145 141 /* 146 * VA|[gID©çVA|[gÇubNðæèo·½ßÌ}N142 * シリアルポートIDからシリアルポート管理ブロックを取り出すためのマクロ 147 143 */ 148 144 #define INDEX_PORT(portid) ((uint_t)((portid) - 1)) … … 150 146 151 147 /* 152 * |C^ÌCNg148 * ポインタのインクリメント 153 149 */ 154 150 #define INC_PTR(ptr, bufsz) { if (++(ptr) == (bufsz)) { (ptr) = 0; }} 155 151 156 152 /* 157 * T[rXR[Äoµ}N153 * サービスコール呼出しマクロ 158 154 * 159 * T[rXR[ÄoµðÜÞ®expð]¿µCÔlªG[iÌljÌê160 * ÉÍCercÉercd_expð]¿µ½lðãüµCerror_exitÉgoto·éD155 * サービスコール呼出しを含む式expを評価し,返値がエラー(負の値)の場 156 * 合には,ercにercd_expを評価した値を代入し,error_exitにgotoする. 161 157 */ 162 158 #define SVC(exp, ercd_exp) \ … … 164 160 165 161 /* 166 * E_SYS G[̶¬162 * E_SYSエラーの生成 167 163 */ 168 164 static ER … … 175 171 176 172 /* 177 * VAC^tF[XhCoÌú»[`173 * シリアルインタフェースドライバの初期化ルーチン 178 174 */ 179 175 void … … 191 187 192 188 /* 193 * VAC^[tF[XhCoÌI¹[`189 * シリアルインターフェースドライバの終了ルーチン 194 190 */ 195 191 … … 200 196 SPCB *p_spcb; 201 197 202 /* obt@ÉcÁÄ¢éSÄ̶ðoÍ·é*/198 /* バッファに残っている全ての文字を出力する */ 203 199 for (i = 0; i < TNUM_PORT; i++) { 204 200 p_spcb = &(spcb_table[i]); … … 218 214 219 215 /* 220 * VA|[gÌI[viT[rXR[j216 * シリアルポートのオープン(サービスコール) 221 217 */ 222 218 ER … … 226 222 ER ercd; 227 223 228 if (sns_dpn()) { /* ReLXgÌ`FbN*/224 if (sns_dpn()) { /* コンテキストのチェック */ 229 225 return(E_CTX); 230 226 } 231 227 if (!(1 <= portid && portid <= TNUM_PORT)) { 232 return(E_ID); /* |[gÔÌ`FbN*/228 return(E_ID); /* ポート番号のチェック */ 233 229 } 234 230 p_spcb = get_spcb(portid); 235 231 236 232 SVC(dis_dsp(), gen_ercd_sys(p_spcb)); 237 if (p_spcb->openflag) { /* I[vÏÝ©Ì`FbN*/233 if (p_spcb->openflag) { /* オープン済みかのチェック */ 238 234 ercd = E_OBJ; 239 235 } 240 236 else { 241 237 /* 242 * ÏÌú»238 * 変数の初期化 243 239 */ 244 240 p_spcb->ioctl = (IOCTL_ECHO | IOCTL_CRLF); … … 251 247 252 248 /* 253 * ±êÈ~CÝðÖ~·éD249 * これ以降,割込みを禁止する. 254 250 */ 255 251 if (loc_cpu() < 0) { … … 259 255 260 256 /* 261 * n[hEFA˶ÌI[v257 * ハードウェア依存のオープン処理 262 258 */ 263 259 p_spcb->p_siopcb = sio_opn_por(portid, (intptr_t) p_spcb); 264 260 265 261 /* 266 * óMÊmR[obNð·éD262 * 受信通知コールバックを許可する. 267 263 */ 268 264 sio_ena_cbr(p_spcb->p_siopcb, SIO_RDY_RCV); … … 286 282 287 283 /* 288 * VA|[gÌN[YiT[rXR[j284 * シリアルポートのクローズ(サービスコール) 289 285 */ 290 286 ER … … 295 291 bool_t eflag = false; 296 292 297 if (sns_dpn()) { /* ReLXgÌ`FbN*/293 if (sns_dpn()) { /* コンテキストのチェック */ 298 294 return(E_CTX); 299 295 } 300 296 if (!(1 <= portid && portid <= TNUM_PORT)) { 301 return(E_ID); /* |[gÔÌ`FbN*/297 return(E_ID); /* ポート番号のチェック */ 302 298 } 303 299 p_spcb = get_spcb(portid); 304 300 305 301 SVC(dis_dsp(), gen_ercd_sys(p_spcb)); 306 if (!(p_spcb->openflag)) { /* I[vÏÝ©Ì`FbN*/302 if (!(p_spcb->openflag)) { /* オープン済みかのチェック */ 307 303 ercd = E_OBJ; 308 304 } 309 305 else { 310 306 /* 311 * n[hEFA˶ÌN[Y307 * ハードウェア依存のクローズ処理 312 308 */ 313 309 if (loc_cpu() < 0) { … … 321 317 322 318 /* 323 * G[R[hÌÝè319 * エラーコードの設定 324 320 */ 325 321 if (eflag) { … … 337 333 338 334 /* 339 * VA|[gÖ̶M335 * シリアルポートへの文字送信 340 336 * 341 * p_spcb Åwè³êéVAI/O|[gÉεÄC¶cðM·éD¶342 * ðMWX^É¢ê½êÉÍtrueðÔ·D»¤ÅÈ¢êÉÍCM343 * WX^ªó¢½±ÆðÊm·éR[obNÖðµCfalseðÔ·D344 * ±ÌÖÍCCPUbNóÔÅÄÑo³êéD337 * p_spcbで指定されるシリアルI/Oポートに対して,文字cを送信する.文字 338 * を送信レジスタにいれた場合にはtrueを返す.そうでない場合には,送信 339 * レジスタが空いたことを通知するコールバック関数を許可し,falseを返す. 340 * この関数は,CPUロック状態で呼び出される. 345 341 */ 346 342 Inline bool_t … … 357 353 358 354 /* 359 * VA|[gÖÌ1¶M360 * wè³ê½¶ÌMðÝé.361 * foCXÖÌMª¬÷µ½êܽÍobt@Éó«ª èi[Å«½êÍfalse,362 * obt@ªtÅi[Å«È©Á½êÍ true ðÔ·D363 * »êÈOÌG[ª¶µ½êÍ ER ^ÌG[R[hðÔ·D355 * シリアルポートへの1文字送信 356 * 指定された文字の送信を試みる. 357 * デバイスへの送信が成功した場合またはバッファに空きがあり格納できた場合は false, 358 * バッファがフルで格納できなかった場合は true を返す. 359 * それ以外のエラーが発生した場合は ER 型のエラーコードを返す. 364 360 */ 365 361 static ER_BOOL … … 370 366 371 367 /* 372 * LF ÌOÉCRðM·éD373 * ½¾µC1¶ÈºÌ󫵩ȢêÍobt@tÆÝȵCMµÈ¢D368 * LFの前にCRを送信する. 369 * ただし,1文字以下の空きしかない場合はバッファフルとみなし,送信しない. 374 370 */ 375 371 if (c == '\n' && (p_spcb->ioctl & IOCTL_CRLF) != 0U) { … … 385 381 if ((p_spcb->snd_count == 0U) && serial_snd_chr(p_spcb, c)) { 386 382 /* 387 * VAI/OfoCXÌMWX^ɶðüêé±Æɬ÷µ388 * ½êD383 * シリアルI/Oデバイスの送信レジスタに文字を入れることに成功し 384 * た場合. 389 385 */ 390 386 buffer_full = false; … … 392 388 else { 393 389 /* 394 * ó«ª êÎCMobt@ɶðüêéD395 * ó«ªÈ¢êCMµÈ¢D390 * 空きがあれば,送信バッファに文字を入れる. 391 * 空きがない場合,送信しない. 396 392 */ 397 393 if(p_spcb->snd_count < p_spcb->p_spinib->snd_bufsz) { … … 420 416 421 417 /* 422 * VA|[gÖ̶ñMiT[rXR[j418 * シリアルポートへの文字列送信(サービスコール) 423 419 */ 424 420 ER_UINT … … 430 426 ER ercd, rercd; 431 427 432 if (sns_dpn()) { /* ReLXgÌ`FbN*/428 if (sns_dpn()) { /* コンテキストのチェック */ 433 429 return(E_CTX); 434 430 } 435 431 if (!(1 <= portid && portid <= TNUM_PORT)) { 436 return(E_ID); /* |[gÔÌ`FbN*/432 return(E_ID); /* ポート番号のチェック */ 437 433 } 438 434 439 435 p_spcb = get_spcb(portid); 440 if (!(p_spcb->openflag)) { /* I[vÏÝ©Ì`FbN*/436 if (!(p_spcb->openflag)) { /* オープン済みかのチェック */ 441 437 return(E_OBJ); 442 438 } 443 if (p_spcb->errorflag) { /* G[óÔ©Ì`FbN*/439 if (p_spcb->errorflag) { /* エラー状態かのチェック */ 444 440 return(E_SYS); 445 441 } 446 442 447 443 /* 448 * len ÜÅ1¶¸ÂMðÝéD449 * rÅobt@tÉÈÁ½çf·éD444 * len まで1文字ずつ送信を試みる. 445 * 途中でバッファフルになったら中断する. 450 446 */ 451 447 SVC((rercd = dis_dsp()) , rercd); … … 465 461 466 462 /* 467 * VA|[g©çÌ1¶óM468 * ¶ÌóMðÝé.469 * obt@Éf[^ª¶ÝµCæ¾Å«½êÍfalse,470 * obt@ªóÅæ¾Å«È©Á½êÍ true ðÔ·D471 * »êÈOÌG[ª¶µ½êÍ ER ^ÌG[R[hðÔ·D463 * シリアルポートからの1文字受信 464 * 文字の受信を試みる. 465 * バッファにデータが存在し,取得できた場合は false, 466 * バッファが空で取得できなかった場合は true を返す. 467 * それ以外のエラーが発生した場合は ER 型のエラーコードを返す. 472 468 */ 473 469 static ER_BOOL … … 480 476 481 477 /* 482 * f[^ª¶Ý·êÎCóMobt@©ç¶ðæèo·D483 * ȯêÎæèo³È¢D478 * データが存在すれば,受信バッファから文字を取り出す. 479 * なければ取り出さない. 484 480 */ 485 481 if(p_spcb->rcv_count > 0U) { … … 501 497 502 498 /* 503 * VA|[g©ç̶ñóMiT[rXR[j499 * シリアルポートからの文字列受信(サービスコール) 504 500 */ 505 501 ER_UINT … … 509 505 bool_t buffer_empty; 510 506 uint_t reacnt = 0U; 511 char c = '\0'; /* RpCÌxð}~·é½ßÉú»·é*/507 char c = '\0'; /* コンパイラの警告を抑止するために初期化する */ 512 508 ER ercd, rercd; 513 509 514 if (sns_dpn()) { /* ReLXgÌ`FbN*/510 if (sns_dpn()) { /* コンテキストのチェック */ 515 511 return(E_CTX); 516 512 } 517 513 if (!(1 <= portid && portid <= TNUM_PORT)) { 518 return(E_ID); /* |[gÔÌ`FbN*/514 return(E_ID); /* ポート番号のチェック */ 519 515 } 520 516 521 517 p_spcb = get_spcb(portid); 522 if (!(p_spcb->openflag)) { /* I[vÏÝ©Ì`FbN*/518 if (!(p_spcb->openflag)) { /* オープン済みかのチェック */ 523 519 return(E_OBJ); 524 520 } 525 if (p_spcb->errorflag) { /* G[óÔ©Ì`FbN*/521 if (p_spcb->errorflag) { /* エラー状態かのチェック */ 526 522 return(E_SYS); 527 523 } 528 524 529 525 /* 530 * len ÜÅóMðÝéD531 * obt@ªóÅÇÝo¹È©Á½êÍf·é526 * len まで受信を試みる. 527 * バッファが空で読み出せなかった場合は中断する 532 528 */ 533 529 SVC((rercd = dis_dsp()) , rercd); … … 541 537 else { 542 538 /* 543 * GR[obND539 * エコーバック処理. 544 540 */ 545 541 if ((p_spcb->ioctl & IOCTL_ECHO) != 0U) { … … 557 553 558 554 /* 559 * VA|[ģäiT[rXR[j555 * シリアルポートの制御(サービスコール) 560 556 */ 561 557 ER … … 564 560 SPCB *p_spcb; 565 561 566 if (sns_dpn()) { /* ReLXgÌ`FbN*/562 if (sns_dpn()) { /* コンテキストのチェック */ 567 563 return(E_CTX); 568 564 } 569 565 if (!(1 <= portid && portid <= TNUM_PORT)) { 570 return(E_ID); /* |[gÔÌ`FbN*/566 return(E_ID); /* ポート番号のチェック */ 571 567 } 572 568 573 569 p_spcb = get_spcb(portid); 574 if (!(p_spcb->openflag)) { /* I[vÏÝ©Ì`FbN*/570 if (!(p_spcb->openflag)) { /* オープン済みかのチェック */ 575 571 return(E_OBJ); 576 572 } 577 if (p_spcb->errorflag) { /* G[óÔ©Ì`FbN*/573 if (p_spcb->errorflag) { /* エラー状態かのチェック */ 578 574 return(E_SYS); 579 575 } … … 584 580 585 581 /* 586 * VA|[g©çÌMÂ\R[obN582 * シリアルポートからの送信可能コールバック 587 583 */ 588 584 void … … 595 591 if (p_spcb->snd_count > 0U) { 596 592 /* 597 * Mobt@©ç¶ðæèoµÄM·éD593 * 送信バッファ中から文字を取り出して送信する. 598 594 */ 599 595 (void) sio_snd_chr(p_spcb->p_siopcb, … … 604 600 else { 605 601 /* 606 * M·×«¶ªÈ¢êÍCMÂ\R[obNðÖ~·éD602 * 送信すべき文字がない場合は,送信可能コールバックを禁止する. 607 603 */ 608 604 sio_dis_cbr(p_spcb->p_siopcb, SIO_RDY_SND); … … 611 607 612 608 /* 613 * VA|[g©çÌóMÊmR[obN609 * シリアルポートからの受信通知コールバック 614 610 */ 615 611 void … … 624 620 if (p_spcb->rcv_count != p_spcb->p_spinib->rcv_bufsz) { 625 621 /* 626 * óMµ½¶ðóMobt@ÉüêéD627 * obt@tÌêCóMµ½¶ðÌÄéD622 * 受信した文字を受信バッファに入れる. 623 * バッファフルの場合,受信した文字を捨てる. 628 624 */ 629 625 p_spcb->p_spinib->rcv_buffer[p_spcb->rcv_write_ptr] = c; … … 634 630 635 631 /* 636 * VAC^tF[XhCo©çÌ¢M¶Ìæoµ632 * シリアルインタフェースドライバからの未送信文字の取出し 637 633 */ 638 634 bool_t … … 641 637 SPCB *p_spcb; 642 638 643 if (1 <= portid && portid <= TNUM_PORT) { /* |[gÔÌ`FbN*/639 if (1 <= portid && portid <= TNUM_PORT) { /* ポート番号のチェック */ 644 640 p_spcb = get_spcb(portid); 645 if (p_spcb->openflag) { /* I[vÏÝ©Ì`FbN*/641 if (p_spcb->openflag) { /* オープン済みかのチェック */ 646 642 if (p_spcb->snd_count > 0U) { 647 643 *p_c = p_spcb->p_spinib->snd_buffer[p_spcb->snd_read_ptr]; -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/syssvc/serial.cfg
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 5 5 /* 6 * VAC^tF[XhCoÌRtBM 7 [Vt@C 6 * シリアルインタフェースドライバのコンフィギュレーションファイル 8 7 */ 9 8 -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/syssvc/serial.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 11 11 * Nagoya Municipal Industrial Research Institute, JAPAN 12 12 * 13 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 14 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 15 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 16 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 17 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 18 * XR[hÉÜÜêÄ¢é±ÆD 19 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 20 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 21 gip 22 * Ò}j 23 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 24 * ̳ÛØKèðfÚ·é±ÆD 25 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 26 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 27 * ÆD 28 * (a) Äzzɺ¤hL 29 gipÒ}j 30 AÈÇjÉCãLÌ 31 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 32 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 33 * ñ·é±ÆD 34 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 35 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 36 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 37 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 38 * ÆÓ·é±ÆD 13 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 14 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 15 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 16 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 17 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 18 * スコード中に含まれていること. 19 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 20 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 21 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 22 * の無保証規定を掲載すること. 23 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 24 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 25 * と. 26 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 27 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 28 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 29 * 報告すること. 30 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 31 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 32 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 33 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 34 * 免責すること. 39 35 * 40 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨41 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI42 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF43 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»44 * ÌÓCðíÈ¢D36 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 37 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 38 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 39 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 40 * の責任を負わない. 45 41 * 46 42 * @(#) $Id$ … … 48 44 49 45 /* 50 * VAC^tF[XhCo46 * シリアルインタフェースドライバ 51 47 */ 52 48 … … 59 55 60 56 /* 61 * VAC^tF[XhCoÌp¢épPbg57 * シリアルインタフェースドライバの用いるパケット 62 58 */ 63 59 typedef struct { 64 uint_t reacnt; /* óMobt@̶*/65 uint_t wricnt; /* Mobt@̶*/60 uint_t reacnt; /* 受信バッファ中の文字数 */ 61 uint_t wricnt; /* 送信バッファ中の文字数 */ 66 62 } T_SERIAL_RPOR; 67 63 68 64 /* 69 * VAC^tF[XhCoÌú»[`65 * シリアルインタフェースドライバの初期化ルーチン 70 66 */ 71 67 extern void serial_initialize(intptr_t exinf); 72 68 73 69 /* 74 * VAC^tF[XhCoÌI¹[`70 * シリアルインタフェースドライバの終了処理ルーチン 75 71 */ 76 72 extern void serial_terminate(intptr_t exinf); 77 73 78 74 /* 79 * VAC^tF[XhCo©çÌ¢M¶Ìæoµ75 * シリアルインタフェースドライバからの未送信文字の取出し 80 76 */ 81 77 extern bool_t serial_get_chr(ID portid, char *p_c); 82 78 83 79 /* 84 * VAC^tF[XhCoÌT[rXR[80 * シリアルインタフェースドライバのサービスコール 85 81 */ 86 82 extern ER serial_opn_por(ID portid); … … 91 87 92 88 /* 93 * VAC^tF[XhCoÌ®ì§äp̽ßÌè89 * シリアルインタフェースドライバの動作制御用のための定数 94 90 * 95 * ȺÌèÍCrbgÉ_aðÆÁÄp¢éD91 * 以下の定数は,ビット毎に論理和をとって用いる. 96 92 */ 97 #define IOCTL_NULL 0U /* wèȵ*/98 #define IOCTL_ECHO 0x0001U /* óMµ½¶ðGR[obN*/99 #define IOCTL_CRLF 0x0010U /* LF ðM·éOÉCRðtÁ*/93 #define IOCTL_NULL 0U /* 指定なし */ 94 #define IOCTL_ECHO 0x0001U /* 受信した文字をエコーバック */ 95 #define IOCTL_CRLF 0x0010U /* LFを送信する前にCRを付加 */ 100 96 101 97 #ifdef __cplusplus -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/syssvc/syslog.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 8 8 * Graduate School of Information Science, Nagoya Univ., JAPAN 9 9 * 10 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 11 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 12 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 13 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 14 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 15 * XR[hÉÜÜêÄ¢é±ÆD 16 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 17 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 18 gip 19 * Ò}j 20 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 21 * ̳ÛØKèðfÚ·é±ÆD 22 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 23 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 24 * ÆD 25 * (a) Äzzɺ¤hL 26 gipÒ}j 27 AÈÇjÉCãLÌ 28 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 29 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 30 * ñ·é±ÆD 31 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 32 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 33 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 34 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 35 * ÆÓ·é±ÆD 36 * 37 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨ 38 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI 39 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF 40 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC» 41 * ÌÓCðíÈ¢D 10 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 11 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 12 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 13 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 14 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 15 * スコード中に含まれていること. 16 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 17 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 18 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 19 * の無保証規定を掲載すること. 20 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 21 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 22 * と. 23 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 24 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 25 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 26 * 報告すること. 27 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 28 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 29 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 30 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 31 * 免責すること. 32 * 33 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 34 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 35 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 36 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 37 * の責任を負わない. 42 38 * 43 39 * $Id$ … … 45 41 46 42 /* 47 * VXeO@\43 * システムログ機能 48 44 */ 49 45 … … 56 52 57 53 /* 58 * g[XO}NÌftHgè`54 * トレースログマクロのデフォルト定義 59 55 */ 60 56 #ifndef LOG_SYSLOG_WRI_LOG_ENTER … … 91 87 92 88 /* 93 * »ÝÌVXe89 * 現在のシステム時刻 94 90 * 95 * Oðæèo·½ßÉCâÞÈCJ[lÌàÏðQƵĢ96 * éD91 * ログ時刻を取り出すために,やむなく,カーネルの内部変数を参照してい 92 * る. 97 93 */ 98 94 extern ulong_t _kernel_current_time; 99 95 100 96 /* 101 * Oobt@Æ»êÉANZX·é½ßÌ|C^102 */ 103 static SYSLOG syslog_buffer[TCNT_SYSLOG_BUFFER]; /* Oobt@*/104 static uint_t syslog_count; /* Oobt@ÌOÌ*/105 static uint_t syslog_head; /* æªÌOÌi[Êu*/106 static uint_t syslog_tail; /* ÌOÌi[Êu*/107 static uint_t syslog_lost; /* ¸íê½OÌ*/108 109 /* 110 * oͷ׫OîñÌdvxirbg}bvj111 */ 112 static uint_t syslog_logmask; /* Oobt@ÉL^·×«dvx*/113 static uint_t syslog_lowmask_not; /* áxoͷ׫dvxi½]j*/114 115 /* 116 * VXeO@\Ìú»97 * ログバッファとそれにアクセスするためのポインタ 98 */ 99 static SYSLOG syslog_buffer[TCNT_SYSLOG_BUFFER]; /* ログバッファ */ 100 static uint_t syslog_count; /* ログバッファ中のログの数 */ 101 static uint_t syslog_head; /* 先頭のログの格納位置 */ 102 static uint_t syslog_tail; /* 次のログの格納位置 */ 103 static uint_t syslog_lost; /* 失われたログの数 */ 104 105 /* 106 * 出力すべきログ情報の重要度(ビットマップ) 107 */ 108 static uint_t syslog_logmask; /* ログバッファに記録すべき重要度 */ 109 static uint_t syslog_lowmask_not; /* 低レベル出力すべき重要度(反転)*/ 110 111 /* 112 * システムログ機能の初期化 117 113 */ 118 114 void … … 127 123 128 124 /* 129 * OîñÌoÍ125 * ログ情報の出力 130 126 * 131 * CPU bNóÔâÀsReLXgÉæ縮ìÅ«éæ¤ÉÀµÄ éD127 * CPUロック状態や実行コンテキストによらず動作できるように実装してある. 132 128 */ 133 129 ER … … 140 136 141 137 /* 142 * OÌÝè138 * ログ時刻の設定 143 139 */ 144 140 ((SYSLOG *) p_syslog)->logtim = _kernel_current_time; 145 141 146 142 /* 147 * Oobt@ÉL^143 * ログバッファに記録 148 144 */ 149 145 if ((syslog_logmask & LOG_MASK(prio)) != 0U) { … … 163 159 164 160 /* 165 * áxoÍ161 * 低レベル出力 166 162 */ 167 163 if (((~syslog_lowmask_not) & LOG_MASK(prio)) != 0U) { … … 176 172 177 173 /* 178 * Oobt@©çÌÇoµ174 * ログバッファからの読出し 179 175 * 180 * CPU bNóÔâÀsReLXgÉæ縮ìÅ«éæ¤ÉÀµÄ éD176 * CPUロック状態や実行コンテキストによらず動作できるように実装してある. 181 177 */ 182 178 ER_UINT … … 190 186 191 187 /* 192 * Oobt@©çÌæoµ188 * ログバッファからの取出し 193 189 */ 194 190 if (syslog_count > 0U) { … … 212 208 213 209 /* 214 * oͷ׫OîñÌdvxÌÝè210 * 出力すべきログ情報の重要度の設定 215 211 */ 216 212 ER -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/syssvc/syslog.cfg
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 5 5 /* 6 * VXeO@\ÌRtBM 7 [Vt@C 6 * システムログ機能のコンフィギュレーションファイル 8 7 */ 9 8 -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/syssvc/syslog.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 8 8 * Graduate School of Information Science, Nagoya Univ., JAPAN 9 9 * 10 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 11 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 12 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 13 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 14 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 15 * XR[hÉÜÜêÄ¢é±ÆD 16 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 17 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 18 gip 19 * Ò}j 20 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 21 * ̳ÛØKèðfÚ·é±ÆD 22 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 23 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 24 * ÆD 25 * (a) Äzzɺ¤hL 26 gipÒ}j 27 AÈÇjÉCãLÌ 28 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 29 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 30 * ñ·é±ÆD 31 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 32 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 33 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 34 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 35 * ÆÓ·é±ÆD 10 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 11 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 12 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 13 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 14 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 15 * スコード中に含まれていること. 16 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 17 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 18 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 19 * の無保証規定を掲載すること. 20 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 21 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 22 * と. 23 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 24 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 25 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 26 * 報告すること. 27 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 28 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 29 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 30 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 31 * 免責すること. 36 32 * 37 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨38 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI39 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF40 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»41 * ÌÓCðíÈ¢D33 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 34 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 35 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 36 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 37 * の責任を負わない. 42 38 * 43 39 * $Id$ … … 45 41 46 42 /* 47 * VXeO@\43 * システムログ機能 48 44 */ 49 45 … … 56 52 57 53 /* 58 * VXeOoÍðs¤½ßÌè`54 * システムログ出力を行うための定義 59 55 */ 60 56 #include <t_syslog.h> 61 57 62 58 /* 63 * Oobt@Æ»êÉANZX·é½ßÌ|C^59 * ログバッファとそれにアクセスするためのポインタ 64 60 */ 65 61 #ifndef TCNT_SYSLOG_BUFFER 66 #define TCNT_SYSLOG_BUFFER 16 /* Oobt@ÌTCY*/62 #define TCNT_SYSLOG_BUFFER 16 /* ログバッファのサイズ */ 67 63 #endif /* TCNT_SYSLOG_BUFFER */ 68 64 69 65 /* 70 * VXeO@\Ìú»66 * システムログ機能の初期化 71 67 */ 72 68 extern void syslog_initialize(intptr_t exinf) throw(); 73 69 74 70 /* 75 * OîñÌoÍ71 * ログ情報の出力 76 72 */ 77 73 extern ER syslog_wri_log(uint_t prio, const SYSLOG *p_syslog) throw(); 78 74 79 75 /* 80 * Oobt@©çÌOîñÌÇoµ76 * ログバッファからのログ情報の読出し 81 77 */ 82 78 extern ER_UINT syslog_rea_log(SYSLOG *p_syslog) throw(); 83 79 84 80 /* 85 * oͷ׫OîñÌdvxÌÝè81 * 出力すべきログ情報の重要度の設定 86 82 */ 87 83 extern ER syslog_msk_log(uint_t logmask, uint_t lowmask) throw(); -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/syssvc/vasyslog.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 8 8 * Graduate School of Information Science, Nagoya Univ., JAPAN 9 9 * 10 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 11 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 12 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 13 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 14 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 15 * XR[hÉÜÜêÄ¢é±ÆD 16 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 17 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 18 gip 19 * Ò}j 20 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 21 * ̳ÛØKèðfÚ·é±ÆD 22 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 23 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 24 * ÆD 25 * (a) Äzzɺ¤hL 26 gipÒ}j 27 AÈÇjÉCãLÌ 28 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 29 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 30 * ñ·é±ÆD 31 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 32 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 33 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 34 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 35 * ÆÓ·é±ÆD 10 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 11 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 12 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 13 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 14 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 15 * スコード中に含まれていること. 16 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 17 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 18 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 19 * の無保証規定を掲載すること. 20 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 21 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 22 * と. 23 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 24 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 25 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 26 * 報告すること. 27 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 28 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 29 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 30 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 31 * 免責すること. 36 32 * 37 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨38 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI39 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF40 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»41 * ÌÓCðíÈ¢D33 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 34 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 35 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 36 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 37 * の責任を負わない. 42 38 * 43 39 * @(#) $Id$ … … 45 41 46 42 /* 47 * ÂÏøÌVXeOCu43 * 可変数引数のシステムログライブラリ 48 44 */ 49 45 -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/target/grsakura_ccrx/asm_config.cfg
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 1 1 /* 2 * asm_config.inc ¶¬vWFNgpRtBM 3 [Vt@C 2 * asm_config.inc 生成プロジェクト用コンフィギュレーションファイル 4 3 * 5 * RtBM 6 [VÍsÈíÈ¢½ßót@CÆ·é. 4 * コンフィギュレーションは行なわないため空ファイルとする. 7 5 */ 8 6 -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/target/grsakura_ccrx/grsakura.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 5 5 * Copyright (C) 2010 by Witz Corporation, JAPAN 6 6 * 7 * ãLì ÒÍCÈºÌ (1)`(4) Ìð©CFree Software Foundation 8 * ÉæÁÄö\³êÄ¢é GNU General Public License Ì Version 2 ÉL 9 * q³êÄ¢éðð½·êÉÀèC{\tgEFAi{\tgEFA 10 * ðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»EüÏEÄzziȺC 11 * pÆÄÔj·é±Æð³Åø·éD 12 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 13 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 14 * XR[hÉÜÜêÄ¢é±ÆD 15 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 16 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 17 gip 18 * Ò}j 19 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 20 * ̳ÛØKèðfÚ·é±ÆD 21 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 22 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 23 * ÆD 24 * (a) Äzzɺ¤hL 25 gipÒ}j 26 AÈÇjÉCãLÌ 27 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 28 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 29 * ñ·é±ÆD 30 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 31 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 7 * 上記著作権者は,以下の (1)〜(4) の条件か,Free Software Foundation 8 * によって公表されている GNU General Public License の Version 2 に記 9 * 述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア 10 * を改変したものを含む.以下同じ)を使用・複製・改変・再配布(以下, 11 * 利用と呼ぶ)することを無償で許諾する. 12 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 13 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 14 * スコード中に含まれていること. 15 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 16 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 17 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 18 * の無保証規定を掲載すること. 19 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 20 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 21 * と. 22 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 23 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 24 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 25 * 報告すること. 26 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 27 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄC»ÌKpÂ\«à35 * ÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEFAÌpÉæè¼36 * ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 31 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 32 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 37 33 * 38 34 */ 39 35 40 /* GR-SAKURA pwb_t@*/36 /* GR-SAKURA用ヘッダファル */ 41 37 42 38 #ifndef TOPPERS_GRSAKURA_H … … 45 41 46 42 /* 47 * MCU ˶îñÌÇÝÝ43 * MCU依存情報の読み込み 48 44 */ 49 45 #ifdef __RX … … 54 50 55 51 /* 56 * NbNÝè52 * クロック設定 57 53 */ 58 54 59 55 /* 60 * VXeNbNICLK(kHz)56 * システムクロックICLK(kHz) 61 57 * 62 * CPU CDTCCDMACACETHERCCEDMACCROMCRAMp58 * CPU,DTC,DMACA,ETHERC,EDMAC,ROM,RAM用 63 59 * 64 60 */ … … 66 62 67 63 /* 68 * NbNPCLK(kHz)64 * クロックPCLK(kHz) 69 65 * 70 * ^C}CVAÈÇüÓW 71 [p 66 * タイマ,シリアルなど周辺モジュール用 72 67 */ 73 68 #define FREQ_PCLK (48000U) … … 75 70 76 71 /* 77 * {[[gÝè72 * ボーレート設定 78 73 */ 79 74 #define BAUD_19200BPS UINT_C( 78 ) … … 86 81 87 82 /* 88 * NbN\[X83 * クロックソース 89 84 */ 90 85 #define UART_CLKSRC CLK_F1 -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/target/grsakura_ccrx/target.tf
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 5 5 $ Copyright (C) 2008-2010 by Witz Corporation, JAPAN 6 6 $ 7 $ ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 8 $ Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 9 $ ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 10 $ (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 11 $ \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 12 $ XR[hÉÜÜêÄ¢é±ÆD 13 $ (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 14 $ pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 15 gip 16 $ Ò}j 17 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 18 $ ̳ÛØKèðfÚ·é±ÆD 19 $ (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 20 $ pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 21 $ ÆD 22 $ (a) Äzzɺ¤hL 23 gipÒ}j 24 AÈÇjÉCãLÌ 25 $ ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 26 $ (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 27 $ ñ·é±ÆD 28 $ (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 29 $ Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 30 $ ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 31 $ RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 32 $ ÆÓ·é±ÆD 7 $ 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 8 $ ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 9 $ 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 10 $ (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 11 $ 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 12 $ スコード中に含まれていること. 13 $ (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 14 $ 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 15 $ 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 16 $ の無保証規定を掲載すること. 17 $ (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 18 $ 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 19 $ と. 20 $ (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 21 $ 作権表示,この利用条件および下記の無保証規定を掲載すること. 22 $ (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 23 $ 報告すること. 24 $ (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 25 $ 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 26 $ また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 27 $ 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 28 $ 免責すること. 33 29 $ 34 $ {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨35 $ æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI36 $ ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF37 $ AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»38 $ ÌÓCðíÈ¢D30 $ 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 31 $ よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 32 $ に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 33 $ アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 34 $ の責任を負わない. 39 35 $ 40 36 $ 41 37 42 38 $ 43 $ ^[Qbg˶ev[giGR-SAKURApj39 $ ターゲット依存テンプレート(GR-SAKURA用) 44 40 $ 45 41 … … 51 47 52 48 $ 53 $ RX630 ˶ÌÇÝÝ49 $ RX630依存部の読み込み 54 50 $ 55 51 $INCLUDE "rx630_ccrx/rx630.tf"$ 56 52 57 53 $ 58 $ oi[oÍpÌTFt@C54 $ バナー出力用のTFファイル 59 55 $ 60 56 $INCLUDE "syssvc/banner.tf"$ 61 57 62 58 $ 63 $ AZut@CpÌwb_t@C̶¬59 $ アセンブリファイル用のヘッダファイルの生成 64 60 $ 65 61 $INCLUDE "target_asm_config.tf"$ -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/target/grsakura_ccrx/target_asm_config.tf
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 1 1 $ 2 $ asm_config.inc ¶¬p3 $ pX2Ì^[Qbg˶ev[giGR-SAKURApj2 $ asm_config.inc 生成用 3 $ パス2のターゲット依存テンプレート(GR-SAKURA用) 4 4 $ 5 5 $ Copyright (C) 2010 by Witz Corporation, JAPAN … … 8 8 9 9 $ 10 $ vZbT˶Ìev[gt@CÌCN[h10 $ プロセッサ依存のテンプレートファイルのインクルード 11 11 $ 12 12 $INCLUDE"rx630_ccrx/prc_asm_config.tf"$ -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/target/grsakura_ccrx/target_cfg1_out.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 1 1 /* 2 * cfg1_out.c ÌNÉKvÈX^uÌè`2 * cfg1_out.cのリンクに必要なスタブの定義 3 3 */ 4 4 -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/target/grsakura_ccrx/target_check.tf
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 5 5 $ Copyright (C) 2008-2010 by Witz Corporation, JAPAN 6 6 $ 7 $ ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 8 $ Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 9 $ ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 10 $ (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 11 $ \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 12 $ XR[hÉÜÜêÄ¢é±ÆD 13 $ (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 14 $ pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 15 gip 16 $ Ò}j 17 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 18 $ ̳ÛØKèðfÚ·é±ÆD 19 $ (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 20 $ pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 21 $ ÆD 22 $ (a) Äzzɺ¤hL 23 gipÒ}j 24 AÈÇjÉCãLÌ 25 $ ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 26 $ (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 27 $ ñ·é±ÆD 28 $ (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 29 $ Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 30 $ ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 31 $ RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 32 $ ÆÓ·é±ÆD 7 $ 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 8 $ ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 9 $ 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 10 $ (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 11 $ 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 12 $ スコード中に含まれていること. 13 $ (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 14 $ 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 15 $ 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 16 $ の無保証規定を掲載すること. 17 $ (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 18 $ 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 19 $ と. 20 $ (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 21 $ 作権表示,この利用条件および下記の無保証規定を掲載すること. 22 $ (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 23 $ 報告すること. 24 $ (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 25 $ 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 26 $ また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 27 $ 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 28 $ 免責すること. 33 29 $ 34 $ {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨35 $ æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI36 $ ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF37 $ AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»38 $ ÌÓCðíÈ¢D30 $ 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 31 $ よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 32 $ に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 33 $ アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 34 $ の責任を負わない. 39 35 $ 40 36 41 37 $ 42 $ pX3Ì^[Qbg˶ev[giGR-SAKURApj38 $ パス3のターゲット依存テンプレート(GR-SAKURA用) 43 39 $ 44 40 45 41 $ 46 $ pX3ÌvZbT˶Ìev[gÌCN[h42 $ パス3のプロセッサ依存のテンプレートのインクルード 47 43 $ 48 44 $INCLUDE"rx630_ccrx/prc_check.tf"$ -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/target/grsakura_ccrx/target_config.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 10 10 * Copyright (C) 2013 by Mitsuhiro Matsuura 11 11 * 12 * ãLì ÒÍCFree Software Foundation ÉæÁÄö\³êÄ¢é 13 * GNU General Public License Ì Version 2 ÉLq³êÄ¢éð©CÈ 14 * ºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEFAi{\tgEF 15 * Aðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»EüÏEÄzziȺC 16 * pÆÄÔj·é±Æð³Åø·éD 17 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 18 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 19 * XR[hÉÜÜêÄ¢é±ÆD 20 * (2) {\tgEFAðÄpÂ\ÈoCiR[hiP[^uIu 21 * WFNgt@CâCuÈÇjÌ`Åp·éêÉÍCp 22 * ɺ¤hL 23 gipÒ}j 24 AÈÇjÉCãLÌì \¦C 25 * ±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 26 * (3) {\tgEFAðÄpsÂ\ÈoCiR[hÌ`ܽÍ@íÉg 27 * Ýñ¾`Åp·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD 28 * (a) pɺ¤hL 29 gipÒ}j 30 AÈÇjÉCãLÌì 31 * \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 32 * (b) pÌ`ÔðCÊÉèßéû@ÉæÁÄCãLì ÒÉñ·é 33 * ±ÆD 34 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 35 * Q©çàCãLì ÒðÆÓ·é±ÆD 12 * 上記著作権者は,Free Software Foundation によって公表されている 13 * GNU General Public License の Version 2 に記述されている条件か,以 14 * 下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェア(本ソフトウェ 15 * アを改変したものを含む.以下同じ)を使用・複製・改変・再配布(以下, 16 * 利用と呼ぶ)することを無償で許諾する. 17 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 18 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 19 * スコード中に含まれていること. 20 * (2) 本ソフトウェアを再利用可能なバイナリコード(リロケータブルオブ 21 * ジェクトファイルやライブラリなど)の形で利用する場合には,利用 22 * に伴うドキュメント(利用者マニュアルなど)に,上記の著作権表示, 23 * この利用条件および下記の無保証規定を掲載すること. 24 * (3) 本ソフトウェアを再利用不可能なバイナリコードの形または機器に組 25 * み込んだ形で利用する場合には,次のいずれかの条件を満たすこと. 26 * (a) 利用に伴うドキュメント(利用者マニュアルなど)に,上記の著作 27 * 権表示,この利用条件および下記の無保証規定を掲載すること. 28 * (b) 利用の形態を,別に定める方法によって,上記著作権者に報告する 29 * こと. 30 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 31 * 害からも,上記著作権者を免責すること. 36 32 * 37 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì ÒÍC38 * {\tgEFAÉÖµÄC»ÌKpÂ\«àÜßÄC¢©ÈéÛØàsí39 * È¢DܽC{\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢40 * ©Èé¹QÉÖµÄàC»ÌÓCðíÈ¢D33 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者は, 34 * 本ソフトウェアに関して,その適用可能性も含めて,いかなる保証も行わ 35 * ない.また,本ソフトウェアの利用により直接的または間接的に生じたい 36 * かなる損害に関しても,その責任を負わない. 41 37 * 42 38 */ 43 39 44 40 /* 45 * ^[QbgVXe˶W 46 [iGR-SAKURApj 41 * ターゲットシステム依存モジュール(GR-SAKURA用) 47 42 */ 48 43 … … 53 48 54 49 /* 55 * ^[QbgVXe˶ ú»[`50 * ターゲットシステム依存 初期化ルーチン 56 51 */ 57 52 void … … 59 54 { 60 55 /* 61 * vZbT˶Ìú»56 * プロセッサ依存の初期化 62 57 */ 63 58 prc_initialize(); 64 59 65 /* IO |[gú»*/66 /* P25 ðoÍ|[gÉ·é*/60 /* IOポート初期化 */ 61 /* P25を出力ポートにする */ 67 62 sil_wrb_mem(PORT2_PDR_ADDR, 68 63 sil_reb_mem(PORT2_PDR_ADDR) | PORT_PDR_B5_BIT); 69 /* PA0, PA1, PA2, PA6 ðoÍ|[gÉ·é*/64 /* PA0, PA1, PA2, PA6を出力ポートにする */ 70 65 sil_wrb_mem(PORTA_PDR_ADDR, 71 66 sil_reb_mem(PORTA_PDR_ADDR) | PORT_PDR_B0_BIT | PORT_PDR_B1_BIT | PORT_PDR_B2_BIT | PORT_PDR_B6_BIT); 72 /* PA7 ðüÍ|[gÉ·é*/67 /* PA7を入力ポートにする */ 73 68 sil_wrb_mem(PORTA_PDR_ADDR, 74 69 sil_reb_mem(PORTA_PDR_ADDR) & ~PORT_PDR_B7_BIT); 75 70 76 71 /* 77 * VA|[gÌÝè72 * シリアルポートの設定 78 73 */ 79 74 rx630_uart_init(TARGET_PUTC_PORTID, UART_BAUDRATE, UART_CLKSRC); 80 75 81 /* |[gP20ðTxD0, |[gP21ðRxD0É*/76 /* ポートP20をTxD0, ポートP21をRxD0に */ 82 77 sil_wrb_mem(PORT2_PMR_ADDR, 0x03); 83 78 84 /* f[^fBNVWX^(PDR)ÌÝè P21(RxD0)ðüÍ|[gÉ·é*/79 /* データディレクションレジスタ(PDR)の設定 P21(RxD0)を入力ポートにする */ 85 80 sil_wrb_mem(PORT2_PDR_ADDR, 86 81 sil_reb_mem(PORT2_PDR_ADDR) & ~PORT_PDR_B1_BIT); 87 82 88 /* f[^fBNVWX^(PDR)ÌÝè P20(TxD0)ðoÍ|[gÉ·é*/83 /* データディレクションレジスタ(PDR)の設定 P20(TxD0)を出力ポートにする */ 89 84 sil_wrb_mem(PORT2_PDR_ADDR, 90 85 sil_reb_mem(PORT2_PDR_ADDR) | PORT_PDR_B0_BIT); 91 86 92 /* |[gP40`P47ðüÓ@íÉ*/87 /* ポートP40〜P47を周辺機器に */ 93 88 sil_wrb_mem(PORT4_PMR_ADDR, 0xFF); 94 89 95 /* |[gP40`P47ðüÍ|[gÉ·é*/90 /* ポートP40〜P47を入力ポートにする */ 96 91 sil_wrb_mem(PORT4_PDR_ADDR, 0x00); 97 92 98 /* «ÝveNgWX^ÌÝè PFSWErbgÖÌ«ÝðÂ*/93 /* 書き込みプロテクトレジスタの設定 PFSWEビットへの書き込みを許可 */ 99 94 sil_wrb_mem(MPC_PWPR_ADDR, 0x00); 100 /* «ÝveNgWX^ÌÝè PxxFSWX^ÖÌ«ÝðÂ*/95 /* 書き込みプロテクトレジスタの設定 PxxFSレジスタへの書き込みを許可 */ 101 96 sil_wrb_mem(MPC_PWPR_ADDR, 0x40); 102 97 103 /* P21 [q@\§äWX^ RXD0Æ·é*/98 /* P21端子機能制御レジスタ RXD0とする */ 104 99 sil_wrb_mem(MPC_P21PFS_ADDR, 0x0a); 105 /* P20 [q@\§äWX^ TXD0Æ·é*/100 /* P20端子機能制御レジスタ TXD0とする */ 106 101 sil_wrb_mem(MPC_P20PFS_ADDR, 0x0a); 107 102 108 /* P40 [q@\§äWX^ AiOüÍAN000Æ·é*/103 /* P40端子機能制御レジスタ アナログ入力AN000とする */ 109 104 sil_wrb_mem(MPC_P40PFS_ADDR, 0x80); 110 /* P41 [q@\§äWX^ AiOüÍAN001Æ·é*/105 /* P41端子機能制御レジスタ アナログ入力AN001とする */ 111 106 sil_wrb_mem(MPC_P41PFS_ADDR, 0x80); 112 /* P42 [q@\§äWX^ AiOüÍAN002Æ·é*/107 /* P42端子機能制御レジスタ アナログ入力AN002とする */ 113 108 sil_wrb_mem(MPC_P42PFS_ADDR, 0x80); 114 /* P43 [q@\§äWX^ AiOüÍAN003Æ·é*/109 /* P43端子機能制御レジスタ アナログ入力AN003とする */ 115 110 sil_wrb_mem(MPC_P43PFS_ADDR, 0x80); 116 /* P44 [q@\§äWX^ AiOüÍAN004Æ·é*/111 /* P44端子機能制御レジスタ アナログ入力AN004とする */ 117 112 sil_wrb_mem(MPC_P44PFS_ADDR, 0x80); 118 /* P45 [q@\§äWX^ AiOüÍAN005Æ·é*/113 /* P45端子機能制御レジスタ アナログ入力AN005とする */ 119 114 sil_wrb_mem(MPC_P45PFS_ADDR, 0x80); 120 /* P46 [q@\§äWX^ AiOüÍAN006Æ·é*/115 /* P46端子機能制御レジスタ アナログ入力AN006とする */ 121 116 sil_wrb_mem(MPC_P46PFS_ADDR, 0x80); 122 /* P47 [q@\§äWX^ AiOüÍAN007Æ·é*/117 /* P47端子機能制御レジスタ アナログ入力AN007とする */ 123 118 sil_wrb_mem(MPC_P47PFS_ADDR, 0x80); 124 119 125 /* «ÝveNgWX^ÌÝè «ÝðÖ~*/120 /* 書き込みプロテクトレジスタの設定 書き込みを禁止 */ 126 121 sil_wrb_mem(MPC_PWPR_ADDR, 0x80); 127 122 } … … 129 124 130 125 /* 131 * ^[QbgVXeÌI¹[`126 * ターゲットシステムの終了ルーチン 132 127 */ 133 128 void … … 135 130 { 136 131 /* 137 * vZbT˶ÌI¹132 * プロセッサ依存の終了処理 138 133 */ 139 134 prc_terminate(); … … 144 139 145 140 /* 146 * VXeOÌáxoÍ̽ß̶oÍ141 * システムログの低レベル出力のための文字出力 147 142 */ 148 143 void -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/target/grsakura_ccrx/target_config.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 9 9 * Copyright (C) 2008-2010 by Witz Corporation, JAPAN 10 10 * 11 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 12 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 13 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 14 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 15 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 16 * XR[hÉÜÜêÄ¢é±ÆD 17 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 18 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 19 gip 20 * Ò}j 21 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 22 * ̳ÛØKèðfÚ·é±ÆD 23 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 24 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 25 * ÆD 26 * (a) Äzzɺ¤hL 27 gipÒ}j 28 AÈÇjÉCãLÌ 29 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 30 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 31 * ñ·é±ÆD 32 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 33 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 34 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 35 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 36 * ÆÓ·é±ÆD 11 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 12 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 13 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 14 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 15 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 16 * スコード中に含まれていること. 17 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 18 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 19 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 20 * の無保証規定を掲載すること. 21 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 22 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 23 * と. 24 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 25 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 26 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 27 * 報告すること. 28 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 29 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 30 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 31 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 32 * 免責すること. 37 33 * 38 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨39 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI40 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF41 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»42 * ÌÓCðíÈ¢D34 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 35 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 36 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 37 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 38 * の責任を負わない. 43 39 * 44 40 */ 45 41 46 42 /* 47 * ^[Qbg˶W 48 [iGR-SAKURApj 43 * ターゲット依存モジュール(GR-SAKURA用) 49 44 * 50 * J[lÌ^[Qbg˶ÌCN[ht@CDkernel_impl.hÌ^[51 * Qbg˶ÌÊut¯ÆÈéD45 * カーネルのターゲット依存部のインクルードファイル.kernel_impl.hのター 46 * ゲット依存部の位置付けとなる. 52 47 */ 53 48 … … 56 51 57 52 /* 58 * ^[QbgVXeÌn[hEFA¹Ìè`53 * ターゲットシステムのハードウェア資源の定義 59 54 */ 60 55 #include "grsakura.h" … … 62 57 63 58 /* 64 * ftHgÌñ^XNReLXgpÌX^bNÌæÌè`59 * デフォルトの非タスクコンテキスト用のスタック領域の定義 65 60 * 66 * X^bNTCYðÏX·éêÍ, sectrx.incÌ_DEFAULT_ISTACK67 * xÌÊuÉ é.blkb½ßÌTCYÆ, ȺDEFAULT_ISTKSZÌ68 * TCYðí¹Ä¯¶lÉÏX·é±Æ.61 * スタックサイズを変更する場合は, sectrx.incの_DEFAULT_ISTACK 62 * ラベルの位置にある.blkb命令のサイズと, 以下DEFAULT_ISTKSZの 63 * サイズを合わせて同じ値に変更すること. 69 64 */ 70 65 #define DEFAULT_ISTKSZ ( 0x2000U ) … … 73 68 74 69 /* 75 * ^[Qbg˶̶oÍÉgp·é|[gÌè`70 * ターゲット依存の文字出力に使用するポートの定義 76 71 */ 77 72 #define TARGET_PUTC_PORTID ( 1 ) … … 81 76 82 77 /* 83 * ^[QbgVXe˶Ìú»78 * ターゲットシステム依存の初期化 84 79 */ 85 80 extern void target_initialize( void ); 86 81 87 82 /* 88 * ^[QbgVXeÌI¹83 * ターゲットシステムの終了 89 84 * 90 * VXeðI¹·éÉg¤D85 * システムを終了する時に使う. 91 86 */ 92 87 extern void target_exit( void ) NoReturn; … … 96 91 97 92 /* 98 * vZbT˶W 99 [iRX630pj 93 * プロセッサ依存モジュール(RX630用) 100 94 */ 101 95 #ifdef __RX … … 106 100 107 101 /* 108 * g[XOÉÖ·éÝè102 * トレースログに関する設定 109 103 */ 110 104 #define TCNT_TRACE_BUFFER ( 32 ) 111 105 112 106 /* 113 * g[XOoÍ·éÓÌIð114 * OoÍ·éÓð1Åè`115 * Oo͵ȢÓð0Åè`107 * トレースログ出力する箇所の選択 108 * ログ出力する箇所を1で定義 109 * ログ出力しない箇所を0で定義 116 110 */ 117 111 #ifdef TOPPERS_ENABLE_TRACE -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/target/grsakura_ccrx/target_echonet.tf
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 5 5 $ Copyright (C) 2008-2010 by Witz Corporation, JAPAN 6 6 $ 7 $ ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 8 $ Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 9 $ ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 10 $ (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 11 $ \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 12 $ XR[hÉÜÜêÄ¢é±ÆD 13 $ (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 14 $ pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 15 gip 16 $ Ò}j 17 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 18 $ ̳ÛØKèðfÚ·é±ÆD 19 $ (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 20 $ pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 21 $ ÆD 22 $ (a) Äzzɺ¤hL 23 gipÒ}j 24 AÈÇjÉCãLÌ 25 $ ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 26 $ (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 27 $ ñ·é±ÆD 28 $ (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 29 $ Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 30 $ ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 31 $ RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 32 $ ÆÓ·é±ÆD 7 $ 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 8 $ ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 9 $ 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 10 $ (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 11 $ 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 12 $ スコード中に含まれていること. 13 $ (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 14 $ 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 15 $ 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 16 $ の無保証規定を掲載すること. 17 $ (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 18 $ 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 19 $ と. 20 $ (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 21 $ 作権表示,この利用条件および下記の無保証規定を掲載すること. 22 $ (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 23 $ 報告すること. 24 $ (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 25 $ 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 26 $ また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 27 $ 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 28 $ 免責すること. 33 29 $ 34 $ {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨35 $ æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI36 $ ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF37 $ AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»38 $ ÌÓCðíÈ¢D30 $ 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 31 $ よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 32 $ に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 33 $ アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 34 $ の責任を負わない. 39 35 $ 40 36 $ 41 37 42 38 $ 43 $ ^[Qbg˶ev[giGR-SAKURApj39 $ ターゲット依存テンプレート(GR-SAKURA用) 44 40 $ 45 41 … … 51 47 52 48 $ 53 $ RX630 ˶ÌÇÝÝ49 $ RX630依存部の読み込み 54 50 $ 55 51 $INCLUDE "rx630_ccrx/rx630.tf"$ 56 52 57 53 $ 58 $ oi[oÍpÌTFt@C54 $ バナー出力用のTFファイル 59 55 $ 60 56 $INCLUDE "syssvc/banner.tf"$ 61 57 62 58 $ 63 $ AZut@CpÌwb_t@C̶¬59 $ アセンブリファイル用のヘッダファイルの生成 64 60 $ 65 61 $INCLUDE "target_asm_config.tf"$ 66 62 67 $ ECHONET Lite ~hEFATFt@CÌCN[h63 $ ECHONET LiteミドルウェアTFファイルのインクルード 68 64 $INCLUDE "../../ecnl_ssp/echonet.tf"$ -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/target/grsakura_ccrx/target_kernel.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 11 11 * Copyright (C) 2008-2010 by Witz Corporation, JAPAN 12 12 * 13 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 14 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 15 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 16 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 17 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 18 * XR[hÉÜÜêÄ¢é±ÆD 19 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 20 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 21 gip 22 * Ò}j 23 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 24 * ̳ÛØKèðfÚ·é±ÆD 25 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 26 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 27 * ÆD 28 * (a) Äzzɺ¤hL 29 gipÒ}j 30 AÈÇjÉCãLÌ 31 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 32 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 33 * ñ·é±ÆD 34 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 35 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 36 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 37 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 38 * ÆÓ·é±ÆD 13 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 14 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 15 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 16 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 17 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 18 * スコード中に含まれていること. 19 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 20 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 21 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 22 * の無保証規定を掲載すること. 23 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 24 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 25 * と. 26 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 27 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 28 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 29 * 報告すること. 30 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 31 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 32 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 33 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 34 * 免責すること. 39 35 * 40 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨41 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI42 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF43 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»44 * ÌÓCðíÈ¢D36 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 37 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 38 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 39 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 40 * の責任を負わない. 45 41 * 46 42 */ 47 43 48 44 /* 49 * J[lÌ^[Qbg˶è`iGR-SAKURApj45 * カーネルのターゲット依存定義(GR-SAKURA用) 50 46 */ 51 47 52 48 /* 53 * ±ÌCN[ht@CÍCkernel.hÅCN[h³êéD¼Ìt@54 * C©ç¼ÚCN[h·é±ÆÍÈ¢D±Ìt@CðCN[h55 * ·éOÉCt_stddef.hªCN[h³êéÌÅC»êçÉ˶µÄàæ56 * ¢D49 * このインクルードファイルは,kernel.hでインクルードされる.他のファ 50 * イルから直接インクルードすることはない.このファイルをインクルード 51 * する前に,t_stddef.hがインクルードされるので,それらに依存してもよ 52 * い. 57 53 */ 58 54 … … 62 58 63 59 /* 64 * vZbTŤÊÈè`60 * プロセッサで共通な定義 65 61 */ 66 62 #ifdef __RX … … 71 67 72 68 /* 73 * T|[g·é@\Ìè`69 * サポートする機能の定義 74 70 */ 75 #define TOPPERS_TARGET_SUPPORT_GET_UTM /* get_utm ðT|[g·é*/71 #define TOPPERS_TARGET_SUPPORT_GET_UTM /* get_utmをサポートする */ 76 72 77 73 78 74 /* 79 * ^CeBbNÌè`75 * タイムティックの定義 80 76 */ 81 #define TIC_NUME ( 1U ) /* ^CeBbNÌüú̪q*/82 #define TIC_DENO ( 1U ) /* ^CeBbNÌüú̪ê*/77 #define TIC_NUME ( 1U ) /* タイムティックの周期の分子 */ 78 #define TIC_DENO ( 1U ) /* タイムティックの周期の分母 */ 83 79 84 80 #endif /* TOPPERS_TARGET_KERNEL_H */ -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/target/grsakura_ccrx/target_msvc.tf
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 5 5 $ Copyright (C) 2008-2010 by Witz Corporation, JAPAN 6 6 $ 7 $ ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 8 $ Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 9 $ ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 10 $ (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 11 $ \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 12 $ XR[hÉÜÜêÄ¢é±ÆD 13 $ (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 14 $ pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 15 gip 16 $ Ò}j 17 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 18 $ ̳ÛØKèðfÚ·é±ÆD 19 $ (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 20 $ pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 21 $ ÆD 22 $ (a) Äzzɺ¤hL 23 gipÒ}j 24 AÈÇjÉCãLÌ 25 $ ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 26 $ (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 27 $ ñ·é±ÆD 28 $ (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 29 $ Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 30 $ ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 31 $ RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 32 $ ÆÓ·é±ÆD 7 $ 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 8 $ ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 9 $ 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 10 $ (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 11 $ 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 12 $ スコード中に含まれていること. 13 $ (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 14 $ 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 15 $ 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 16 $ の無保証規定を掲載すること. 17 $ (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 18 $ 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 19 $ と. 20 $ (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 21 $ 作権表示,この利用条件および下記の無保証規定を掲載すること. 22 $ (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 23 $ 報告すること. 24 $ (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 25 $ 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 26 $ また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 27 $ 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 28 $ 免責すること. 33 29 $ 34 $ {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨35 $ æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI36 $ ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF37 $ AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»38 $ ÌÓCðíÈ¢D30 $ 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 31 $ よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 32 $ に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 33 $ アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 34 $ の責任を負わない. 39 35 $ 40 36 $ 41 37 42 38 $ 43 $ ^[Qbg˶ev[giGR-SAKURApj39 $ ターゲット依存テンプレート(GR-SAKURA用) 44 40 $ 45 41 … … 51 47 52 48 $ 53 $ RX630 ˶ÌÇÝÝ49 $ RX630依存部の読み込み 54 50 $ 55 51 $INCLUDE "rx630_msvc/rx630.tf"$ 56 52 57 53 $ 58 $ oi[oÍpÌTFt@C54 $ バナー出力用のTFファイル 59 55 $ 60 56 $INCLUDE "syssvc/banner.tf"$ -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/target/grsakura_ccrx/target_msvc_echonet.tf
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 5 5 $ Copyright (C) 2008-2010 by Witz Corporation, JAPAN 6 6 $ 7 $ ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 8 $ Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 9 $ ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 10 $ (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 11 $ \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 12 $ XR[hÉÜÜêÄ¢é±ÆD 13 $ (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 14 $ pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 15 gip 16 $ Ò}j 17 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 18 $ ̳ÛØKèðfÚ·é±ÆD 19 $ (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 20 $ pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 21 $ ÆD 22 $ (a) Äzzɺ¤hL 23 gipÒ}j 24 AÈÇjÉCãLÌ 25 $ ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 26 $ (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 27 $ ñ·é±ÆD 28 $ (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 29 $ Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 30 $ ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 31 $ RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 32 $ ÆÓ·é±ÆD 7 $ 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 8 $ ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 9 $ 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 10 $ (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 11 $ 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 12 $ スコード中に含まれていること. 13 $ (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 14 $ 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 15 $ 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 16 $ の無保証規定を掲載すること. 17 $ (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 18 $ 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 19 $ と. 20 $ (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 21 $ 作権表示,この利用条件および下記の無保証規定を掲載すること. 22 $ (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 23 $ 報告すること. 24 $ (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 25 $ 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 26 $ また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 27 $ 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 28 $ 免責すること. 33 29 $ 34 $ {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨35 $ æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI36 $ ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF37 $ AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»38 $ ÌÓCðíÈ¢D30 $ 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 31 $ よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 32 $ に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 33 $ アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 34 $ の責任を負わない. 39 35 $ 40 36 $ 41 37 42 38 $ 43 $ ^[Qbg˶ev[giGR-SAKURApj39 $ ターゲット依存テンプレート(GR-SAKURA用) 44 40 $ 45 41 … … 51 47 52 48 $ 53 $ RX630 ˶ÌÇÝÝ49 $ RX630依存部の読み込み 54 50 $ 55 51 $INCLUDE "rx630_msvc/rx630.tf"$ 56 52 57 53 $ 58 $ oi[oÍpÌTFt@C54 $ バナー出力用のTFファイル 59 55 $ 60 56 $INCLUDE "syssvc/banner.tf"$ 61 57 62 $ ECHONET Lite ~hEFATFt@CÌCN[h58 $ ECHONET LiteミドルウェアTFファイルのインクルード 63 59 $INCLUDE "../../ecnl_ssp/echonet.tf"$ -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/target/grsakura_ccrx/target_offset.tf
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 1 1 $ 2 $ ItZbgt@C¶¬pev[gt@CiGR-SAKURApj2 $ オフセットファイル生成用テンプレートファイル(GR-SAKURA用) 3 3 $ 4 4 5 5 $ 6 $ Wev[gt@CÌCN[h6 $ 標準テンプレートファイルのインクルード 7 7 $ 8 8 $INCLUDE "kernel/genoffset.tf"$ 9 9 10 10 $ 11 $ RA˶ev[gÌCN[hiRX630pj11 $ コア依存テンプレートのインクルード(RX630用) 12 12 $ 13 13 $INCLUDE"../../arch/rx630_ccrx/prc_offset.tf"$ -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/target/grsakura_ccrx/target_rename.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/target/grsakura_ccrx/target_serial.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 12 12 * Copyright (C) 2013 by Mitsuhiro Matsuura 13 13 * 14 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 15 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 16 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 17 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 18 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 19 * XR[hÉÜÜêÄ¢é±ÆD 20 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 21 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 22 gip 23 * Ò}j 24 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 25 * ̳ÛØKèðfÚ·é±ÆD 26 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 27 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 28 * ÆD 29 * (a) Äzzɺ¤hL 30 gipÒ}j 31 AÈÇjÉCãLÌ 32 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 33 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 34 * ñ·é±ÆD 35 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 36 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 37 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 38 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 39 * ÆÓ·é±ÆD 14 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 15 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 16 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 17 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 18 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 19 * スコード中に含まれていること. 20 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 21 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 22 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 23 * の無保証規定を掲載すること. 24 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 25 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 26 * と. 27 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 28 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 29 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 30 * 報告すること. 31 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 32 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 33 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 34 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 35 * 免責すること. 40 36 * 41 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨42 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI43 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF44 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»45 * ÌÓCðíÈ¢D37 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 38 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 39 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 40 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 41 * の責任を負わない. 46 42 * 47 43 */ 48 44 49 45 /* 50 * RX630 UARTpVAI/OW 51 [ 46 * RX630 UART用シリアルI/Oモジュール 52 47 */ 53 48 #include "kernel_impl.h" … … 56 51 57 52 /* 58 * SIO hCoÌú»53 * SIOドライバの初期化 59 54 */ 60 55 void … … 65 60 66 61 /* 67 * VAI/O|[gÌI[v62 * シリアルI/Oポートのオープン 68 63 */ 69 64 SIOPCB * … … 75 70 76 71 /* 77 * VAI/OÝð}XN·éD78 * (dis_int ÖÍA"\kernel\interrupt.c"ÉLq)72 * シリアルI/O割込みをマスクする. 73 * (dis_int関数は、"\kernel\interrupt.c"に記述) 79 74 */ 80 75 p_siopcb = rx630_uart_get_siopcb(siopid); … … 90 85 91 86 /* 92 * VAI/OÝð}XNð·éD93 * (ena_int ÖÍA"\kernel\interrupt.c"ÉLq)87 * シリアルI/O割込みをマスク解除する. 88 * (ena_int関数は、"\kernel\interrupt.c"に記述) 94 89 */ 95 90 ercd = ena_int(intno_sio_tx); … … 102 97 103 98 /* 104 * VAI/O|[gÌN[Y99 * シリアルI/Oポートのクローズ 105 100 */ 106 101 void … … 111 106 112 107 /* 113 * foCX˶ÌN[YD108 * デバイス依存のクローズ処理. 114 109 */ 115 110 rx630_uart_cls_por(p_siopcb); 116 111 117 112 /* 118 * VAI/OÝð}XN·éD113 * シリアルI/O割込みをマスクする. 119 114 */ 120 115 intno_sio_tx = rx630_uart_intno_tx(p_siopcb); … … 127 122 128 123 /* 129 * SIO ÌÝnh124 * SIOの割込みハンドラ 130 125 */ 131 126 void sio_tx_isr(intptr_t exinf) … … 135 130 136 131 /* 137 * SIO ÌÝnh132 * SIOの割込みハンドラ 138 133 */ 139 134 void sio_rx_isr(intptr_t exinf) … … 143 138 144 139 /* 145 * VAI/O|[gÖ̶M140 * シリアルI/Oポートへの文字送信 146 141 */ 147 142 bool_t … … 152 147 153 148 /* 154 * VAI/O|[g©ç̶óM149 * シリアルI/Oポートからの文字受信 155 150 */ 156 151 int_t … … 161 156 162 157 /* 163 * VAI/O|[g©çÌR[obNÌÂ158 * シリアルI/Oポートからのコールバックの許可 164 159 */ 165 160 void … … 170 165 171 166 /* 172 * VAI/O|[g©çÌR[obNÌÖ~167 * シリアルI/Oポートからのコールバックの禁止 173 168 */ 174 169 void … … 179 174 180 175 /* 181 * VAI/O|[g©çÌMÂ\R[obN176 * シリアルI/Oポートからの送信可能コールバック 182 177 */ 183 178 void 184 179 rx630_uart_irdy_snd(intptr_t exinf) 185 180 { 186 /* ¤Êisyssvc\serial.cjÉ ésio_irdy_sndÖðÄÑoµ*/181 /* 共通部(syssvc\serial.c)にあるsio_irdy_snd関数を呼び出し*/ 187 182 sio_irdy_snd(exinf); 188 183 } 189 184 190 185 /* 191 * VAI/O|[g©çÌóMÊmR[obN186 * シリアルI/Oポートからの受信通知コールバック 192 187 */ 193 188 void 194 189 rx630_uart_irdy_rcv(intptr_t exinf) 195 190 { 196 /* ¤Êisyssvc\serial.cjÉ ésio_irdy_rcvÖðÄÑoµ*/191 /* 共通部(syssvc\serial.c)にあるsio_irdy_rcv関数を呼び出し*/ 197 192 sio_irdy_rcv(exinf); 198 193 } -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/target/grsakura_ccrx/target_serial.cfg
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 1 1 /* 2 * SIOhCoiGR-SAKURApjÌRtBM 3 [Vt@C 2 * SIOドライバ(GR-SAKURA用)のコンフィギュレーションファイル 4 3 */ 5 4 -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/target/grsakura_ccrx/target_serial.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 12 12 * Copyright (C) 2013 by Mitsuhiro Matsuura 13 13 * 14 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 15 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 16 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 17 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 18 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 19 * XR[hÉÜÜêÄ¢é±ÆD 20 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 21 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 22 gip 23 * Ò}j 24 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 25 * ̳ÛØKèðfÚ·é±ÆD 26 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 27 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 28 * ÆD 29 * (a) Äzzɺ¤hL 30 gipÒ}j 31 AÈÇjÉCãLÌ 32 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 33 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 34 * ñ·é±ÆD 35 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 36 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 37 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 38 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 39 * ÆÓ·é±ÆD 14 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 15 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 16 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 17 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 18 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 19 * スコード中に含まれていること. 20 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 21 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 22 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 23 * の無保証規定を掲載すること. 24 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 25 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 26 * と. 27 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 28 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 29 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 30 * 報告すること. 31 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 32 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 33 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 34 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 35 * 免責すること. 40 36 * 41 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨42 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI43 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF44 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»45 * ÌÓCðíÈ¢D37 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 38 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 39 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 40 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 41 * の責任を負わない. 46 42 * 47 43 */ 48 44 49 45 /* 50 * VAI/OfoCXiSIOjhCoiGR-SAKURApj46 * シリアルI/Oデバイス(SIO)ドライバ(GR-SAKURA用) 51 47 */ 52 48 … … 58 54 59 55 /* 60 * SIO ÌÝnhÌxN^Ô56 * SIOの割込みハンドラのベクタ番号 61 57 */ 62 #define INHNO_SIO_TX INT_SCI0_TEI /* ÝnhÔ*/63 #define INTNO_SIO_TX INT_SCI0_TEI /* ÝÔ*/64 #define INHNO_SIO_RX INT_SCI0_RXI /* ÝnhÔ*/65 #define INTNO_SIO_RX INT_SCI0_RXI /* ÝÔ*/66 #define INTPRI_SIO -4 /* ÝDæx*/67 #define INTATR_SIO (TA_NULL) /* Ý®«*/58 #define INHNO_SIO_TX INT_SCI0_TEI /* 割込みハンドラ番号 */ 59 #define INTNO_SIO_TX INT_SCI0_TEI /* 割込み番号 */ 60 #define INHNO_SIO_RX INT_SCI0_RXI /* 割込みハンドラ番号 */ 61 #define INTNO_SIO_RX INT_SCI0_RXI /* 割込み番号 */ 62 #define INTPRI_SIO -4 /* 割込み優先度 */ 63 #define INTATR_SIO (TA_NULL) /* 割込み属性 */ 68 64 69 65 #ifndef TOPPERS_MACRO_ONLY … … 71 67 72 68 /* 73 * SIO hCoÌú»69 * SIOドライバの初期化 74 70 */ 75 71 extern void sio_initialize(intptr_t exinf); 76 72 77 73 /* 78 * VAI/O|[gÌI[v74 * シリアルI/Oポートのオープン 79 75 */ 80 76 extern SIOPCB *sio_opn_por(ID siopid, intptr_t exinf); 81 77 82 78 /* 83 * VAI/O|[gÌN[Y79 * シリアルI/Oポートのクローズ 84 80 */ 85 81 extern void sio_cls_por(SIOPCB *p_siopcb); 86 82 87 83 /* 88 * SIO ÌÝnh84 * SIOの割込みハンドラ 89 85 */ 90 86 extern void sio_tx_isr(intptr_t exinf); … … 92 88 93 89 /* 94 * VAI/O|[gÖ̶M90 * シリアルI/Oポートへの文字送信 95 91 */ 96 92 extern bool_t sio_snd_chr(SIOPCB *siopcb, char c); 97 93 98 94 /* 99 * VAI/O|[g©ç̶óM95 * シリアルI/Oポートからの文字受信 100 96 */ 101 97 extern int_t sio_rcv_chr(SIOPCB *siopcb); 102 98 103 99 /* 104 * VAI/O|[g©çÌR[obNÌÂ100 * シリアルI/Oポートからのコールバックの許可 105 101 */ 106 102 extern void sio_ena_cbr(SIOPCB *siopcb, uint_t cbrtn); 107 103 108 104 /* 109 * VAI/O|[g©çÌR[obNÌÖ~105 * シリアルI/Oポートからのコールバックの禁止 110 106 */ 111 107 extern void sio_dis_cbr(SIOPCB *siopcb, uint_t cbrtn); 112 108 113 109 /* 114 * VAI/O|[g©çÌMÂ\R[obN110 * シリアルI/Oポートからの送信可能コールバック 115 111 */ 116 112 extern void sio_irdy_snd(intptr_t exinf); 117 113 118 114 /* 119 * VAI/O|[g©çÌóMÊmR[obN115 * シリアルI/Oポートからの受信通知コールバック 120 116 */ 121 117 extern void sio_irdy_rcv(intptr_t exinf); -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/target/grsakura_ccrx/target_sil.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 5 5 * Copyright (C) 2008-2010 by Witz Corporation, JAPAN 6 6 * 7 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 8 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 9 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 10 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 11 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 12 * XR[hÉÜÜêÄ¢é±ÆD 13 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 14 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 15 gip 16 * Ò}j 17 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 18 * ̳ÛØKèðfÚ·é±ÆD 19 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 20 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 21 * ÆD 22 * (a) Äzzɺ¤hL 23 gipÒ}j 24 AÈÇjÉCãLÌ 25 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 26 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 27 * ñ·é±ÆD 28 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 29 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 30 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 31 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 32 * ÆÓ·é±ÆD 7 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 8 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 9 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 10 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 11 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 12 * スコード中に含まれていること. 13 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 14 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 15 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 16 * の無保証規定を掲載すること. 17 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 18 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 19 * と. 20 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 21 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 22 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 23 * 報告すること. 24 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 25 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 26 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 27 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 28 * 免責すること. 33 29 * 34 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨35 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI36 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF37 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»38 * ÌÓCðíÈ¢D30 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 31 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 32 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 33 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 34 * の責任を負わない. 39 35 * 40 36 */ 41 37 42 38 /* 43 * sil.h Ì^[Qbg˶iGR-SAKURApj39 * sil.hのターゲット依存部(GR-SAKURA用) 44 40 * 45 * ±ÌCN[ht@CÍCsil.hÌæªÅCN[h³êéD¼Ìt@46 * C©çͼÚCN[h·é±ÆÍÈ¢D±Ìt@CðCN[47 * h·éOÉCt_stddef.hªCN[h³êéÌÅC»êçÉ˶µÄà48 * æ¢D41 * このインクルードファイルは,sil.hの先頭でインクルードされる.他のファ 42 * イルからは直接インクルードすることはない.このファイルをインクルー 43 * ドする前に,t_stddef.hがインクルードされるので,それらに依存しても 44 * よい. 49 45 */ 50 46 … … 53 49 54 50 /* 55 * ÷Ôҿ̽ßÌè`51 * 微少時間待ちのための定義 56 52 */ 57 53 #define SIL_DLY_TIM1 69 … … 59 55 60 56 /* 61 * vZbTŤÊÈè`57 * プロセッサで共通な定義 62 58 */ 63 59 #ifdef __RX -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/target/grsakura_ccrx/target_stddef.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 11 11 * Copyright (C) 2008-2010 by Witz Corporation, JAPAN 12 12 * 13 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 14 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 15 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 16 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 17 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 18 * XR[hÉÜÜêÄ¢é±ÆD 19 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 20 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 21 gip 22 * Ò}j 23 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 24 * ̳ÛØKèðfÚ·é±ÆD 25 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 26 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 27 * ÆD 28 * (a) Äzzɺ¤hL 29 gipÒ}j 30 AÈÇjÉCãLÌ 31 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 32 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 33 * ñ·é±ÆD 34 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 35 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 36 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 37 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 38 * ÆÓ·é±ÆD 13 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 14 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 15 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 16 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 17 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 18 * スコード中に含まれていること. 19 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 20 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 21 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 22 * の無保証規定を掲載すること. 23 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 24 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 25 * と. 26 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 27 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 28 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 29 * 報告すること. 30 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 31 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 32 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 33 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 34 * 免責すること. 39 35 * 40 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨41 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI42 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF43 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»44 * ÌÓCðíÈ¢D36 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 37 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 38 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 39 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 40 * の責任を負わない. 45 41 * 46 42 */ 47 43 48 44 /* 49 * t_stddef.h Ì^[Qbg˶iGR-SAKURApj45 * t_stddef.hのターゲット依存部(GR-SAKURA用) 50 46 * 51 * ±ÌCN[ht@CÍCt_stddef.hÌæªÅCN[h³êéD52 * ¼Ìt@C©çͼÚCN[h·é±ÆÍÈ¢D¼ÌCN[h53 * t@CÉæ§Áijêé½ßC¼ÌCN[ht@CÉ˶µ54 * ÄÍÈçÈ¢D47 * このインクルードファイルは,t_stddef.hの先頭でインクルードされる. 48 * 他のファイルからは直接インクルードすることはない.他のインクルード 49 * ファイルに先立って処理されるため,他のインクルードファイルに依存し 50 * てはならない. 55 51 */ 56 52 … … 59 55 60 56 /* 61 * ^[Qbgð¯Ê·é½ßÌ}NÌè`57 * ターゲットを識別するためのマクロの定義 62 58 */ 63 #define TOPPERS_GRSAKURA /* VXeªÌ*/59 #define TOPPERS_GRSAKURA /* システム略称 */ 64 60 65 61 66 62 #ifdef __RX 67 63 /* 68 * J«ŤÊÈè`64 * 開発環境で共通な定義 69 65 */ 70 66 /*#define TOPPERS_STDINT_TYPE1*/ … … 73 69 74 70 /* 75 * vZbTŤÊÈè`71 * プロセッサで共通な定義 76 72 */ 77 73 #include "rx630_ccrx/prc_stddef.h" 78 74 #else /* __RX */ 79 75 /* 80 * J«ŤÊÈè`76 * 開発環境で共通な定義 81 77 */ 82 78 #include <stdint.h> … … 84 80 85 81 /* 86 * vZbTŤÊÈè`82 * プロセッサで共通な定義 87 83 */ 88 84 #include "rx630_msvc/prc_stddef.h" … … 92 88 93 89 /* 94 * AT[V̸sÌÀsf90 * アサーションの失敗時の実行中断処理 95 91 */ 96 92 #ifndef TOPPERS_MACRO_ONLY -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/target/grsakura_ccrx/target_support.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 7 7 8 8 /* 9 * ^[QbgVXe˶W 10 [iAP-RX62N-0Apj 9 * ターゲットシステム依存モジュール(AP-RX62N-0A用) 11 10 */ 12 11 … … 17 16 { 18 17 /* 19 * ®ì[hÝè18 * 動作モード設定 20 19 * 21 * ®ì[hÍ{[hãÌ[qÉæÁÄè³êé½ß,22 * ±±ÅÍÁÊÝèµÈ¢.23 * ½¾µ, gGfBA/VO`bv[h24 * Å é±ÆðOñÆ·é.20 * 動作モードはボード上の端子によって決定されるため, 21 * ここでは特別設定しない. 22 * ただし, リトルエンディアン/シングルチップモード 23 * であることを前提とする. 25 24 * 26 * ܽZbgã, à ROMFLø, à RAMFLø, OoXF³ø27 * Å é.25 * またリセット後, 内蔵ROM:有効, 内蔵RAM:有効, 外部バス:無効 26 * である. 28 27 */ 29 28 30 29 /* 31 * NbNÝè30 * クロック設定 32 31 * 33 * üÍF12MHz 34 * PLLñHF12 x 8 = 96MHz 35 * VXeNbNF96MHz 36 * üÓW 37 [NbNF48MHz 38 * OoXNbNF96MHz 39 * Æ·é. 32 * 入力:12MHz 33 * PLL回路:12 x 8 = 96MHz 34 * システムクロック:96MHz 35 * 周辺モジュールクロック:48MHz 36 * 外部バスクロック:96MHz 37 * とする. 40 38 */ 41 39 sil_wrb_mem(PORT3_PDR_ADDR, … … 50 48 sil_wrh_mem(SYSTEM_PRCR_ADDR, 0xa503); 51 49 52 /* CNbNUí§U*/50 /* メインクロック発振器強制発振 */ 53 51 while((sil_reb_mem(SYSTEM_MOFCR_ADDR) & SYSTEM_MOFCR_MOFXIN) == 0) 54 52 sil_wrb_mem(SYSTEM_MOFCR_ADDR, 55 53 sil_reb_mem(SYSTEM_MOFCR_ADDR) | SYSTEM_MOFCR_MOFXIN); 56 54 57 /* CNbNUí®ì*/55 /* メインクロック発振器動作 */ 58 56 while((sil_reb_mem(SYSTEM_MOSCCR_ADDR) & SYSTEM_MOSCCR_MOSTP) != 0) 59 57 sil_wrb_mem(SYSTEM_MOSCCR_ADDR, … … 69 67 sil_wrw_mem(SYSTEM_SCKCR_ADDR, 0x21021211); 70 68 71 /* PLL ñHIð*/69 /* PLL回路選択 */ 72 70 sil_wrh_mem(SYSTEM_SCKCR3_ADDR, 73 71 (sil_reh_mem(SYSTEM_SCKCR3_ADDR) & ~SYSTEM_SCKCR3_CKSEL_MASK) … … 75 73 76 74 /* 77 * W 78 [Xgbv 75 * モジュールストップ 79 76 * 80 * Zbgã, ®ìµÄ¢éà üÓW 81 [ÍDMAC, DTC, 82 * à RAMÌÝÅ é. 83 * »êÈOÌà üÓW 84 [ÉÖµÄÍgp·é¤Å 85 * Ýè·é±Æ. 77 * リセット後, 動作している内蔵周辺モジュールはDMAC, DTC, 78 * 内蔵RAMのみである. 79 * それ以外の内蔵周辺モジュールに関しては使用する側で 80 * 設定すること. 86 81 */ 87 82 sil_wrh_mem(SYSTEM_PRCR_ADDR, 0xa500); … … 91 86 { 92 87 /* 93 * {RpCÅÍweak definitionÌ@\ª³¢½ß,94 * ÁÉKvÈÍÈ¢ª, K¸ÄÑo·±ÆÆ·é.88 * 本コンパイラではweak definitionの機能が無いため, 89 * 特に必要な処理はないが, 必ず呼び出すこととする. 95 90 */ 96 91 } -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/target/grsakura_ccrx/target_syssvc.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 11 11 * Copyright (C) 2008-2010 by Witz Corporation, JAPAN 12 12 * 13 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 14 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 15 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 16 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 17 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 18 * XR[hÉÜÜêÄ¢é±ÆD 19 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 20 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 21 gip 22 * Ò}j 23 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 24 * ̳ÛØKèðfÚ·é±ÆD 25 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 26 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 27 * ÆD 28 * (a) Äzzɺ¤hL 29 gipÒ}j 30 AÈÇjÉCãLÌ 31 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 32 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 33 * ñ·é±ÆD 34 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 35 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 36 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 37 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 38 * ÆÓ·é±ÆD 13 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 14 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 15 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 16 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 17 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 18 * スコード中に含まれていること. 19 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 20 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 21 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 22 * の無保証規定を掲載すること. 23 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 24 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 25 * と. 26 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 27 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 28 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 29 * 報告すること. 30 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 31 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 32 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 33 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 34 * 免責すること. 39 35 * 40 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨41 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI42 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF43 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»44 * ÌÓCðíÈ¢D36 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 37 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 38 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 39 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 40 * の責任を負わない. 45 41 * 46 42 */ 47 43 48 44 /* 49 * VXeT[rXÌ^[Qbg˶iGR-SAKURApj45 * システムサービスのターゲット依存部(GR-SAKURA用) 50 46 * 51 * VXeT[rXÌ^[Qbg˶ÌCN[ht@CD±Ìt@52 * CÌàeÍCR|[lgLqt@CÉLq³êC±Ìt@CÍ53 * ³Èé©ÝD47 * システムサービスのターゲット依存部のインクルードファイル.このファ 48 * イルの内容は,コンポーネント記述ファイルに記述され,このファイルは 49 * 無くなる見込み. 54 50 */ 55 51 … … 59 55 60 56 /* 61 * vZbT˶Ìè`57 * プロセッサ依存の定義 62 58 */ 63 59 #ifdef __RX … … 68 64 69 65 /* 70 * g[XOÉÖ·éÝè66 * トレースログに関する設定 71 67 */ 72 68 #ifdef TOPPERS_ENABLE_TRACE … … 76 72 77 73 /* 78 * {[h˶îñÌÇÝÝ74 * ボード依存情報の読み込み 79 75 */ 80 76 #include "grsakura.h" … … 82 78 83 79 /* 84 * N®bZ[WÌ^[QbgVXe¼80 * 起動メッセージのターゲットシステム名 85 81 */ 86 82 #define TARGET_NAME "GR-SAKURA" … … 88 84 89 85 /* 90 * VXeOÌáxoÍ̽ß̶oÍ86 * システムログの低レベル出力のための文字出力 91 87 * 92 * ^[Qbg˶Ìû@ÅC¶cð\¦/oÍ/Û¶·éD88 * ターゲット依存の方法で,文字cを表示/出力/保存する. 93 89 */ 94 90 extern void target_fput_log( char c ); … … 96 92 97 93 /* 98 * N®bZ[WÉ^[Qbg˶Ìì \¦ð99 * ÇÁ·é½ßÌ}ND94 * 起動メッセージにターゲット依存部の著作権表示を 95 * 追加するためのマクロ. 100 96 */ 101 97 #ifdef PRC_COPYRIGHT … … 105 101 106 102 /* 107 * VA|[gÌè`103 * シリアルポート数の定義 108 104 */ 109 105 #define TNUM_PORT UINT_C( 2 ) 110 106 111 107 /* 112 * gp·éVA|[gID108 * 使用するシリアルポートID 113 109 */ 114 110 #define SIO_PORTID UINT_C( 1 ) … … 119 115 120 116 /* 121 * VXeO^XNÖAÌèÌè`117 * システムログタスク関連の定数の定義 122 118 * 123 * ftHglÌÊèD119 * デフォルト値の通り. 124 120 */ 125 121 -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/target/grsakura_ccrx/target_test.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 11 11 * Copyright (C) 2008-2010 by Witz Corporation, JAPAN 12 12 * 13 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 14 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 15 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 16 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 17 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 18 * XR[hÉÜÜêÄ¢é±ÆD 19 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 20 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 21 gip 22 * Ò}j 23 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 24 * ̳ÛØKèðfÚ·é±ÆD 25 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 26 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 27 * ÆD 28 * (a) Äzzɺ¤hL 29 gipÒ}j 30 AÈÇjÉCãLÌ 31 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 32 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 33 * ñ·é±ÆD 34 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 35 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 36 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 37 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 38 * ÆÓ·é±ÆD 13 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 14 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 15 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 16 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 17 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 18 * スコード中に含まれていること. 19 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 20 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 21 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 22 * の無保証規定を掲載すること. 23 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 24 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 25 * と. 26 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 27 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 28 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 29 * 報告すること. 30 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 31 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 32 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 33 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 34 * 免責すること. 39 35 * 40 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨41 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI42 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF43 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»44 * ÌÓCðíÈ¢D36 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 37 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 38 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 39 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 40 * の責任を負わない. 45 41 * 46 42 */ 47 43 48 44 /* 49 * eXgvOÌ^[Qbg˶è`iGR-SAKURApj45 * テストプログラムのターゲット依存定義(GR-SAKURA用) 50 46 */ 51 47 … … 54 50 55 51 /* 56 * vZbTŤÊÈè`52 * プロセッサで共通な定義 57 53 */ 58 54 #ifdef __RX … … 63 59 64 60 /* 65 * ^XNÅgp·éVA|[gID61 * タスクで使用するシリアルポートID 66 62 */ 67 63 #define TASK_PORTID ( 1 ) -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/target/grsakura_ccrx/target_timer.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 12 12 * Copyright (C) 2013 by Mitsuhiro Matsuura 13 13 * 14 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 15 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 16 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 17 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 18 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 19 * XR[hÉÜÜêÄ¢é±ÆD 20 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 21 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 22 gip 23 * Ò}j 24 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 25 * ̳ÛØKèðfÚ·é±ÆD 26 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 27 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 28 * ÆD 29 * (a) Äzzɺ¤hL 30 gipÒ}j 31 AÈÇjÉCãLÌ 32 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 33 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 34 * ñ·é±ÆD 35 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 36 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 37 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 38 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 39 * ÆÓ·é±ÆD 14 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 15 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 16 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 17 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 18 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 19 * スコード中に含まれていること. 20 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 21 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 22 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 23 * の無保証規定を掲載すること. 24 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 25 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 26 * と. 27 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 28 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 29 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 30 * 報告すること. 31 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 32 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 33 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 34 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 35 * 免責すること. 40 36 * 41 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨42 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI43 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF44 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»45 * ÌÓCðíÈ¢D37 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 38 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 39 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 40 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 41 * の責任を負わない. 46 42 * 47 43 */ 48 44 49 45 /* 50 * ^C}hCoiGR-SAKURApj46 * タイマドライバ(GR-SAKURA用) 51 47 */ 52 48 … … 57 53 58 54 /* 59 * ^C}Ìú»55 * タイマの初期化処理 60 56 */ 61 57 void … … 63 59 { 64 60 /* 65 * W 66 [Xgbv@\ÌÝè 61 * モジュールストップ機能の設定 67 62 */ 68 sil_wrh_mem(SYSTEM_PRCR_ADDR, (uint16_t)0xA502); /* ÝÂ*/63 sil_wrh_mem(SYSTEM_PRCR_ADDR, (uint16_t)0xA502); /* 書込み許可 */ 69 64 sil_wrw_mem(SYSTEM_MSTPCRA_ADDR, 70 65 sil_rew_mem(SYSTEM_MSTPCRA_ADDR) & ~SYSTEM_MSTPCRA_MSTPA15_BIT); /* CMT0 */ 71 sil_wrh_mem(SYSTEM_PRCR_ADDR, (uint16_t)0xA500); /* ÝÖ~*/66 sil_wrh_mem(SYSTEM_PRCR_ADDR, (uint16_t)0xA500); /* 書込み禁止 */ 72 67 73 68 /* 74 * ^C}â~69 * タイマ停止 75 70 */ 76 71 sil_wrh_mem(CMT_CMSTR0_ADDR, … … 78 73 79 74 /* 80 * JEgAbvÉp¢çêéNbNÝè81 * PCLK/32 ðIð75 * カウントアップに用いられるクロック設定 76 * PCLK/32を選択 82 77 */ 83 78 sil_wrh_mem(CMT0_CMCR_ADDR, CMT_PCLK_DIV_8); 84 79 85 80 /* 86 * RyA}b`^C}JE^Ýè81 * コンペアマッチタイマカウンタ設定 87 82 */ 88 83 sil_wrh_mem(CMT0_CMCNT_ADDR, 0U); 89 84 90 85 /* 91 * RyA}b`^C}üúÝè86 * コンペアマッチタイマ周期設定 92 87 */ 93 88 sil_wrh_mem(CMT0_CMCOR_ADDR, CMCOR_PERIOD); 94 89 95 90 /* 96 * RyA}b`^C}èÝvæÝèWX^iISELR28j91 * コンペアマッチタイマ割り込み要求先設定レジスタ(ISELR28) 97 92 */ 98 93 sil_wrb_mem(ICU_ISELR028_ADDR, ICU_ISEL_CPU); 99 94 100 95 /* 101 * ^C}®ìJnOÌÝvðNA96 * タイマ動作開始前の割込み要求をクリア 102 97 */ 103 98 x_clear_int(INTNO_TIMER); 104 99 105 100 /* 106 * RyA}b`^C}èÝðÂ101 * コンペアマッチタイマ割り込みを許可 107 102 */ 108 103 sil_wrh_mem(CMT0_CMCR_ADDR, … … 110 105 111 106 /* 112 * ^C}®ìJn107 * タイマ動作開始 113 108 */ 114 109 sil_wrh_mem(CMT_CMSTR0_ADDR, … … 117 112 118 113 /* 119 * ^C}Ìâ~114 * タイマの停止処理 120 115 */ 121 116 void … … 123 118 { 124 119 /* 125 * ^C}â~120 * タイマ停止 126 121 */ 127 122 sil_wrh_mem(CMT_CMSTR0_ADDR, … … 130 125 131 126 /* 132 * ^C}Ýnh127 * タイマ割込みハンドラ 133 128 */ 134 129 void target_timer_handler(void) … … 136 131 i_begin_int(INTNO_TIMER); 137 132 138 signal_time(); /* ^CeBbNÌ*/133 signal_time(); /* タイムティックの供給 */ 139 134 140 135 i_end_int(INTNO_TIMER); -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/target/grsakura_ccrx/target_timer.cfg
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 1 1 /* 2 * ^C}hCoiRX630pjÌRtBM 3 [Vt@C 2 * タイマドライバ(RX630用)のコンフィギュレーションファイル 4 3 */ 5 4 -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/target/grsakura_ccrx/target_timer.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 12 12 * Copyright (C) 2013 by Mitsuhiro Matsuura 13 13 * 14 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 15 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 16 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 17 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 18 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 19 * XR[hÉÜÜêÄ¢é±ÆD 20 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 21 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 22 gip 23 * Ò}j 24 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 25 * ̳ÛØKèðfÚ·é±ÆD 26 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 27 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 28 * ÆD 29 * (a) Äzzɺ¤hL 30 gipÒ}j 31 AÈÇjÉCãLÌ 32 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 33 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 34 * ñ·é±ÆD 35 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 36 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 37 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 38 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 39 * ÆÓ·é±ÆD 14 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 15 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 16 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 17 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 18 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 19 * スコード中に含まれていること. 20 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 21 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 22 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 23 * の無保証規定を掲載すること. 24 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 25 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 26 * と. 27 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 28 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 29 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 30 * 報告すること. 31 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 32 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 33 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 34 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 35 * 免責すること. 40 36 * 41 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨42 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI43 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF44 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»45 * ÌÓCðíÈ¢D37 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 38 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 39 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 40 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 41 * の責任を負わない. 46 42 * 47 43 */ 48 44 49 45 /* 50 * ^C}hCoiGR-SAKURApj46 * タイマドライバ(GR-SAKURA用) 51 47 */ 52 48 … … 60 56 61 57 /* 62 * ^C}Ýnho^̽ßÌè58 * タイマ割込みハンドラ登録のための定数 63 59 */ 64 #define INHNO_TIMER INT_CMT0_CMI /* ÝnhÔ*/65 #define INTNO_TIMER INT_CMT0_CMI /* ÝÔ*/66 #define INTPRI_TIMER -5 /* ÝDæx*/67 #define INTATR_TIMER (TA_ENAINT | TA_EDGE) /* Ý®«*/60 #define INHNO_TIMER INT_CMT0_CMI /* 割込みハンドラ番号 */ 61 #define INTNO_TIMER INT_CMT0_CMI /* 割込み番号 */ 62 #define INTPRI_TIMER -5 /* 割込み優先度 */ 63 #define INTATR_TIMER (TA_ENAINT | TA_EDGE) /* 割込み属性 */ 68 64 69 65 #ifndef TOPPERS_MACRO_ONLY 70 66 71 67 /* 72 * ^C}lÌà\»Ì^68 * タイマ値の内部表現の型 73 69 */ 74 70 typedef uint16_t CLOCK; 75 71 76 72 /* 77 * ^C}lÌà\»Æ~bPÊÆÌÏ·73 * タイマ値の内部表現とミリ秒単位との変換 78 74 * 79 * 1ms Ì^C}[èÝðgp·éÌÅ»ÌNbNðè`·éD75 * 1msのタイマー割り込みを使用するのでそのクロックを定義する. 80 76 */ 81 #define TIMER_CLOCK (FREQ_PCLK / 8U) /* PCLK/ Åáªüä8 = 6MHz */77 #define TIMER_CLOCK (FREQ_PCLK / 8U) /* PCLK/最低分周比8 = 6MHz */ 82 78 #define TO_CLOCK(nume, deno) ((CLOCK)(TIMER_CLOCK * (nume) / (deno))) 83 79 #define TO_USEC(clock) ((SYSUTM)((clock) * 1000U / TIMER_CLOCK)) 84 80 85 81 /* 86 * ÝèÅ«éÅåÌ^C}üúiPÊÍà\»j82 * 設定できる最大のタイマ周期(単位は内部表現) 87 83 */ 88 84 #define MAX_CLOCK ((CLOCK) 0xFFFFU) 89 85 90 86 /* 91 * «\]¿pVXeðæèo·ÛÌÔÌ©ÏèliPÊÍà\»j87 * 性能評価用システム時刻を取り出す際の処理時間の見積り値(単位は内部表現) 92 88 */ 93 #define GET_TOLERANCE (100U) /* xêÌ©ÏèliPÊÍà\»j*/89 #define GET_TOLERANCE (100U) /* 処理遅れの見積り値(単位は内部表現)*/ 94 90 #define BEFORE_IREQ(clock) \ 95 91 ((clock) >= (TO_CLOCK(TIC_NUME, TIC_DENO) - GET_TOLERANCE)) 96 92 97 93 /* 98 * RyA}b`^C}Rg[WX^ÌÝèl94 * コンペアマッチタイマコントロールレジスタの設定値 99 95 */ 100 96 /* 101 * NbNIðrbg97 * クロック選択ビット 102 98 * 103 * bit7 Í\ñÌæÅ è, ÝÍ1Åè99 * bit7は予約領域であり, 書込みは1固定 104 100 */ 105 101 #define CMT_PCLK_DIV_8 (0x0080U) … … 109 105 110 106 /* 111 * RyA}b`^C}RX^gWX^iCMCORj107 * コンペアマッチタイマコンスタントレジスタ(CMCOR) 112 108 * 113 * RyA}b`üúð1msÆ·éD 114 * üÓW 115 [NbNiPCLKj48MHzð8ªü·éÌÅC 116 * 1üú ½è166.7nsecÆÈèC6000üúÅ1msi^CeBbNÌüújÆ·éD 109 * コンペアマッチ周期を1msとする. 110 * 周辺モジュールクロック(PCLK)48MHzを8分周するので, 111 * 1周期あたり166.7nsecとなり,6000周期で1ms(タイムティックの周期)とする. 117 112 */ 118 113 #define CMCOR_PERIOD (TIMER_CLOCK) 119 114 120 115 /* 121 * RyA}b`^C}èÝvæÝèWX^iiISELRijii= èÝxN^Ôj116 * コンペアマッチタイマ割り込み要求先設定レジスタi(ISELRi)(i= 割り込みベクタ番号) 122 117 */ 123 118 #define ICU_ISEL_CPU (0x00U) … … 127 122 128 123 /* 129 * ^C}ÌN®124 * タイマの起動処理 130 125 * 131 * ^C}ðú»µCüúIÈ^C}Ýv𶳹éD126 * タイマを初期化し,周期的なタイマ割込み要求を発生させる. 132 127 */ 133 128 extern void target_timer_initialize(intptr_t exinf); 134 129 135 130 /* 136 * ^C}Ìâ~131 * タイマの停止処理 137 132 * 138 * ^C}Ì®ìðâ~³¹éD133 * タイマの動作を停止させる. 139 134 */ 140 135 extern void target_timer_terminate(intptr_t exinf); 141 136 142 137 /* 143 * ^C}WX^lÌÇÝoµ138 * タイマレジスタ値の読み出し 144 139 */ 145 140 Inline uint16_t rx630_cmt_getcount(void) … … 149 144 150 145 /* 151 * ^C}WX^lÌ«Ý146 * タイマレジスタ値の書き込み 152 147 */ 153 148 Inline void rx630_cmt_setcount(uint16_t count) … … 157 152 158 153 /* 159 * ^C}Ì»ÝlÌÇoµ154 * タイマの現在値の読出し 160 155 */ 161 156 Inline CLOCK 162 157 target_timer_get_current(void) 163 158 { 164 /* AbvJEg̽ß^C}WX^lð»ÌÜÜÔ·*/159 /* アップカウントのためタイマレジスタ値をそのまま返す */ 165 160 return (rx630_cmt_getcount()); 166 161 } 167 162 168 163 /* 169 * ^C}ÝvÌ`FbN164 * タイマ割込み要求のチェック 170 165 */ 171 166 Inline bool_t … … 176 171 177 172 /* 178 * ^C}Ýnh173 * タイマ割込みハンドラ 179 174 */ 180 175 extern void target_timer_handler(void); -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/target/grsakura_ccrx/target_unrename.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/target/grsakura_ccrx/uip_target_config.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 5 5 * Tomakomai National College of Technology, JAPAN 6 6 * 7 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 8 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 9 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 10 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 11 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 12 * XR[hÉÜÜêÄ¢é±ÆD 13 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 14 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 15 gip 16 * Ò}j 17 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 18 * ̳ÛØKèðfÚ·é±ÆD 19 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 20 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 21 * ÆD 22 * (a) Äzzɺ¤hL 23 gipÒ}j 24 AÈÇjÉCãLÌ 25 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 26 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 27 * ñ·é±ÆD 28 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 29 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 30 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 31 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 32 * ÆÓ·é±ÆD 7 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 8 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 9 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 10 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 11 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 12 * スコード中に含まれていること. 13 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 14 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 15 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 16 * の無保証規定を掲載すること. 17 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 18 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 19 * と. 20 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 21 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 22 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 23 * 報告すること. 24 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 25 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 26 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 27 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 28 * 免責すること. 33 29 * 34 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨35 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI36 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF37 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»38 * ÌÓCðíÈ¢D30 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 31 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 32 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 33 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 34 * の責任を負わない. 39 35 * 40 36 * @(#) $Id$ … … 42 38 43 39 /* 44 * ^[Qbg˶W 45 [iRX63Npj 40 * ターゲット依存モジュール(RX63N用) 46 41 */ 47 42 … … 56 51 57 52 /* 58 * rx62n_bus_init -- ^[Qbg˶ÌoXÌú»53 * rx62n_bus_init -- ターゲット依存部のバスの初期化 59 54 */ 60 55 … … 62 57 rx62n_bus_init (void) 63 58 { 64 /* C[TlbgERg[Ì®ìðÂ*/65 sil_wrh_mem((uint16_t *)SYSTEM_PRCR_ADDR, (uint16_t)0xA502); /* ÝÂ*/59 /* イーサネット・コントローラの動作を許可 */ 60 sil_wrh_mem((uint16_t *)SYSTEM_PRCR_ADDR, (uint16_t)0xA502); /* 書込み許可 */ 66 61 sil_wrw_mem((uint32_t *)SYSTEM_MSTPCRB_ADDR, 67 62 sil_rew_mem((uint32_t *)SYSTEM_MSTPCRB_ADDR) & ~SYSTEM_MSTPCRB_MSTPB15_BIT); 68 sil_wrh_mem((uint16_t *)SYSTEM_PRCR_ADDR, (uint16_t)0xA500); /* ÝÖ~*/63 sil_wrh_mem((uint16_t *)SYSTEM_PRCR_ADDR, (uint16_t)0xA500); /* 書込み禁止 */ 69 64 70 /* EtherNET Lø*/71 /* PA3 `5 RMII_MDIO, RMII_MDC, RMII_LINKSTA */65 /* EtherNET有効 */ 66 /* PA3〜5 RMII_MDIO, RMII_MDC, RMII_LINKSTA */ 72 67 sil_wrb_mem((uint8_t *)PORTA_PMR_ADDR, 73 68 sil_reb_mem((uint8_t *)PORTA_PMR_ADDR) | (1 << 3) | (1 << 4) | (1 << 5)); 74 /* PB0 `7 RXD1, RXD0, REF50CK, RX-ER, TXD-EN, TXD0, TXD1, CRS */69 /* PB0〜7 RXD1, RXD0, REF50CK, RX-ER, TXD-EN, TXD0, TXD1, CRS */ 75 70 sil_wrb_mem((uint8_t *)PORTB_PMR_ADDR, 76 71 sil_reb_mem((uint8_t *)PORTB_PMR_ADDR) | 0xFF); 77 72 78 /* «ÝveNgWX^ÌÝè PFSWErbgÖÌ«ÝðÂ*/73 /* 書き込みプロテクトレジスタの設定 PFSWEビットへの書き込みを許可 */ 79 74 sil_wrb_mem((uint8_t *)(MPC_PWPR_ADDR) , 0x00); 80 /* «ÝveNgWX^ÌÝè PxxFSWX^ÖÌ«ÝðÂ*/75 /* 書き込みプロテクトレジスタの設定 PxxFSレジスタへの書き込みを許可 */ 81 76 sil_wrb_mem((uint8_t *)(MPC_PWPR_ADDR) , 0x40); 82 77 83 /* PA3 ðET_MDIOÆ·é*/78 /* PA3をET_MDIOとする */ 84 79 sil_wrb_mem((uint8_t *)MPC_PA3PFS_ADDR, 0x11); 85 /* PA4 ðET_MDCÆ·é*/80 /* PA4をET_MDCとする */ 86 81 sil_wrb_mem((uint8_t *)MPC_PA4PFS_ADDR, 0x11); 87 /* PA5 ðET_LINKSTAÆ·é*/82 /* PA5をET_LINKSTAとする */ 88 83 sil_wrb_mem((uint8_t *)MPC_PA5PFS_ADDR, 0x11); 89 84 90 /* PB0 ðRXD1Æ·é*/85 /* PB0をRXD1とする */ 91 86 sil_wrb_mem((uint8_t *)MPC_PB0PFS_ADDR, 0x12); 92 /* PB1 ðRXD0Æ·é*/87 /* PB1をRXD0とする */ 93 88 sil_wrb_mem((uint8_t *)MPC_PB1PFS_ADDR, 0x12); 94 /* PB2 ðREF50CKÆ·é*/89 /* PB2をREF50CKとする */ 95 90 sil_wrb_mem((uint8_t *)MPC_PB2PFS_ADDR, 0x12); 96 /* PB3 ðRX-ERÆ·é*/91 /* PB3をRX-ERとする */ 97 92 sil_wrb_mem((uint8_t *)MPC_PB3PFS_ADDR, 0x12); 98 /* PB4 ðTXD-ENÆ·é*/93 /* PB4をTXD-ENとする */ 99 94 sil_wrb_mem((uint8_t *)MPC_PB4PFS_ADDR, 0x12); 100 /* PB5 ðTXD0Æ·é*/95 /* PB5をTXD0とする */ 101 96 sil_wrb_mem((uint8_t *)MPC_PB5PFS_ADDR, 0x12); 102 /* PB6 ðTXD1Æ·é*/97 /* PB6をTXD1とする */ 103 98 sil_wrb_mem((uint8_t *)MPC_PB6PFS_ADDR, 0x12); 104 /* PB7 ðCRSÆ·é*/99 /* PB7をCRSとする */ 105 100 sil_wrb_mem((uint8_t *)MPC_PB7PFS_ADDR, 0x12); 106 101 107 /* «ÝveNgWX^ÌÝè «ÝðÖ~*/102 /* 書き込みプロテクトレジスタの設定 書き込みを禁止 */ 108 103 sil_wrb_mem((uint8_t *)(MPC_PWPR_ADDR) , 0x80); 109 104 } 110 105 111 106 /* 112 * rx62n_inter_init -- ^[Qbg˶ÌÝÌú»107 * rx62n_inter_init -- ターゲット依存部の割込みの初期化 113 108 */ 114 109 -
Property svn:mime-type
changed from
-
uKadecot/trunk/ssp/target/grsakura_ccrx/uip_target_config.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 6 6 * Copyright (C) 2014 Cores Co., Ltd. Japan 7 7 * 8 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 9 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 10 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 11 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 12 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 13 * XR[hÉÜÜêÄ¢é±ÆD 14 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 15 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 16 gip 17 * Ò}j 18 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 19 * ̳ÛØKèðfÚ·é±ÆD 20 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 21 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 22 * ÆD 23 * (a) Äzzɺ¤hL 24 gipÒ}j 25 AÈÇjÉCãLÌ 26 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 27 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 28 * ñ·é±ÆD 29 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 30 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 31 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 32 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 33 * ÆÓ·é±ÆD 8 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 34 30 * 35 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨36 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI37 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF38 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»39 * ÌÓCðíÈ¢D31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 40 36 * 41 37 * @(#) $Id$ … … 48 44 49 45 /* 50 * RX62N Ethernet Controler ÉÖ·éè`46 * RX62N Ethernet Controler に関する定義 51 47 */ 52 48 53 #define INHNO_IF_RX62N_TRX INT_ETH_EINT /* pPbgóM*/54 #define INTNO_IF_RX62N_TRX INT_ETH_EINT /* pPbgóM*/55 #define INTATR_IF_RX62N_TRX (TA_NULL) /* Ý®«*/56 #define INTPRI_IF_RX62N_TRX (-1) /* ÝDæx*/49 #define INHNO_IF_RX62N_TRX INT_ETH_EINT /* パケット送受信 */ 50 #define INTNO_IF_RX62N_TRX INT_ETH_EINT /* パケット送受信 */ 51 #define INTATR_IF_RX62N_TRX (TA_NULL) /* 割込み属性 */ 52 #define INTPRI_IF_RX62N_TRX (-1) /* 割込み優先度 */ 57 53 58 54 #ifndef TOPPERS_MACRO_ONLY 59 55 60 56 /* 61 * Ö57 * 関数 62 58 */ 63 59 -
Property svn:mime-type
changed from
-
uKadecot/trunk/tools/makefsdata/diskio.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/tools/makefsdata/diskio.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/tools/makefsdata/ff.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/tools/makefsdata/ff.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/tools/makefsdata/ffconf.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/tools/makefsdata/integer.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/tools/makefsdata/main.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 266 266 267 267 while (res == FR_OK) { 268 /* ³k*/268 /* 圧縮 */ 269 269 memset(&stream, 0, sizeof(stream)); 270 270 /* allocate deflate memory, set up for gzip compression */ -
Property svn:mime-type
changed from
-
uKadecot/trunk/tools/makefsdata/mod_deflate.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/tools/makefsdata/option/cc932.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/tools/makefsdata/option/cc936.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/tools/makefsdata/option/cc949.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/tools/makefsdata/option/cc950.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/tools/makefsdata/option/ccsbcs.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/tools/makefsdata/option/syscall.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/tools/makefsdata/option/unicode.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/tools/zlib/adler32.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/tools/zlib/compress.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/tools/zlib/crc32.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/tools/zlib/crc32.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/tools/zlib/deflate.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/tools/zlib/deflate.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/tools/zlib/gzguts.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/tools/zlib/infback.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/tools/zlib/inffast.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/tools/zlib/inffast.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/tools/zlib/inffixed.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/tools/zlib/inflate.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/tools/zlib/inflate.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/tools/zlib/inftrees.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/tools/zlib/inftrees.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/tools/zlib/trees.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/tools/zlib/trees.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/tools/zlib/uncompr.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/tools/zlib/zconf.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/tools/zlib/zlib.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/tools/zlib/zutil.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/tools/zlib/zutil.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/apps/dhcpc/dhcpc.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/apps/dhcpc/dhcpc.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/apps/webserver/base64.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/apps/webserver/base64.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/apps/webserver/http-strings.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/apps/webserver/http-strings.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/apps/webserver/http_parser.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/apps/webserver/http_parser.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/apps/webserver/http_pcb.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/apps/webserver/http_pcb.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/apps/webserver/httpd-fs.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/apps/webserver/httpd-fs.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/apps/webserver/httpd.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 335 335 } 336 336 337 /* "" ©"/"Èç"index.html"ÉÏX*/337 /* ""か"/"なら"index.html"に変更 */ 338 338 if ((s->message.request_url[0] == '\0') || ((s->message.request_url[0] == '/') && (s->message.request_url[1] == '\0'))) { 339 339 strncpy_s(s->message.request_url, sizeof(s->message.request_url), http_index_html, sizeof(s->message.request_url)); -
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/apps/webserver/httpd.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/apps/webserver/sha1.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/apps/webserver/sha1.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/apps/webserver/webserver.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/apps/webserver/websocket.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2015 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 32 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨ 34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI 35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF 36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC» 37 * ÌÓCðíÈ¢D 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 28 * 29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ … … 86 82 // MASK Payload len 87 83 case 1: 88 // MASK=0 ÍNG84 // MASK=0はNG 89 85 if((*pos & 0x80) == 0) 90 86 return -1/*MASK_ERROR*/; -
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/apps/webserver/websocket.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2015 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ -
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/target/if_rx62n/ether_phy.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 6 6 * Copyright (C) 2014 Cores Co., Ltd. Japan 7 7 * 8 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 9 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 10 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 11 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 12 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 13 * XR[hÉÜÜêÄ¢é±ÆD 14 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 15 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 16 gip 17 * Ò}j 18 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 19 * ̳ÛØKèðfÚ·é±ÆD 20 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 21 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 22 * ÆD 23 * (a) Äzzɺ¤hL 24 gipÒ}j 25 AÈÇjÉCãLÌ 26 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 27 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 28 * ñ·é±ÆD 29 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 30 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 31 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 32 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 33 * ÆÓ·é±ÆD 8 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 34 30 * 35 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨36 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI37 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF38 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»39 * ÌÓCðíÈ¢D31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 40 36 * 41 37 * @(#) $Id$ … … 99 95 switch(state){ 100 96 case PHY_STATE_UNINIT: 101 /* PHY ÌZbg*/97 /* PHYのリセット */ 102 98 phy_write_reg(phy_addr, PHY_CONTROL_REGISTER, PHY_CONTROL_RESET); 103 99 104 /* 500ms ÒÂ*/105 /* tslp_tsk(500); svH*/100 /* 500ms待つ */ 101 /* tslp_tsk(500); 不要? */ 106 102 /* continue; */ 107 103 case PHY_STATE_RESETING: 108 /* Zbg®¹ÌmF*/104 /* リセット完了の確認 */ 109 105 if((phy_read_reg(phy_addr, PHY_CONTROL_REGISTER) & PHY_CONTROL_RESET) != 0) 110 106 return PHY_STATE_RESETING; … … 130 126 if(reset < 2){ 131 127 #endif 132 /* N®¹ÌmF*/128 /* リンク完了の確認 */ 133 129 if(!phy_is_link(phy_addr)) 134 130 return PHY_STATE_RESET; … … 137 133 reset = 0; 138 134 #endif 139 /* I[glSVG[V̨mç¹ðLøÉÝè*/135 /* オートネゴシエーションのお知らせを有効に設定 */ 140 136 phy_write_reg(phy_addr, PHY_AN_ADVERTISEMENT_REGISTER, 141 137 PHY_AN_AD_100BASE_T4 | PHY_AN_AD_100BASE_TX_FULL_DUPLEX | PHY_AN_AD_100BASE_TX_HALF_DUPLEX 142 138 | PHY_AN_AD_10BASE_T_FULL_DUPLEX | PHY_AN_AD_10BASE_T_HALF_DUPLEX | PHY_AN_AD_SELECTOR_FIELD); 143 139 144 /* I[glSVG[VðLøÉÝè*/140 /* オートネゴシエーションを有効に設定 */ 145 141 phy_write_reg(phy_addr, PHY_CONTROL_REGISTER, PHY_CONTROL_SPEED_SELECT | PHY_CONTROL_A_N_ENABLE); 146 142 … … 151 147 if(reset < 2){ 152 148 #endif 153 /* I[glSVG[V®¹ÌmF*/149 /* オートネゴシエーション完了の確認 */ 154 150 if((phy_read_reg(phy_addr, PHY_STATUS_REGISTER) & PHY_STATUS_A_N_COMPLETE) == 0) 155 151 return PHY_STATE_LINKED; … … 174 170 { 175 171 #ifdef __RX 176 /* NÌmF*/172 /* リンクの確認 */ 177 173 return (phy_read_reg(phy_addr, PHY_STATUS_REGISTER) & PHY_STATUS_LINK_STATUS) != 0; 178 174 #else … … 186 182 int i; 187 183 188 /* PRE F32ÂÌA±µ½1b */184 /* PRE :32個の連続した1b */ 189 185 for (i = 0; i < 32; i++) 190 186 phy_write_bit(true); 191 187 192 /* ST Ft[Ìæªð¦·01bÌCg*/193 phy_write_bit(false); 194 phy_write_bit(true); 195 196 /* OP FANZXíÊð¦·R[hÌCg*/197 phy_write_bit(true); 198 phy_write_bit(false); 199 200 /* PHYAD FPHY-LSIÌAhXª1ÔÌêA00001bðCgiMSB ©çCgjB*/188 /* ST :フレームの先頭を示す01bのライト */ 189 phy_write_bit(false); 190 phy_write_bit(true); 191 192 /* OP :アクセス種別を示すコードのライト */ 193 phy_write_bit(true); 194 phy_write_bit(false); 195 196 /* PHYAD :PHY-LSIのアドレスが1番の場合、00001bをライト(MSB から順次ライト)。 */ 201 197 phy_write_bit((phy_addr & 0x10) != 0); 202 198 phy_write_bit((phy_addr & 0x08) != 0); … … 205 201 phy_write_bit((phy_addr & 0x01) != 0); 206 202 207 /* REGAD FWX^AhXª1ÔÌêA00001bðCgiMSB©çCgjB*/203 /* REGAD :レジスタアドレスが1番の場合、00001bをライト(MSBから順次ライト)。 */ 208 204 phy_write_bit((reg_addr & 0x10) != 0); 209 205 phy_write_bit((reg_addr & 0x08) != 0); … … 212 208 phy_write_bit((reg_addr & 0x01) != 0); 213 209 214 /* TA FMII/RMIIC^tF[XãÅf[^ÌM³ðØèÖ¦éÔ*/215 /* uoXðúviZ0Æ\Ljðs¤*/210 /* TA :MII/RMIIインタフェース上でデータの送信元を切り替える時間 */ 211 /* 「バス解放」(Z0と表記)を行う */ 216 212 phy_release_bus(); 217 213 218 /* DATA F16rbgÌf[^BMSB©ç[h*/214 /* DATA :16ビットのデータ。MSBから順次リード */ 219 215 for (bit = 0x8000; bit != 0; bit >>= 1) { 220 216 if(phy_read_bit()) … … 222 218 } 223 219 224 /* IDLE FÌMIIÇtH[}bgüÍÜÅÌÒ@Ô*/225 /* ·ÅÉTAÉoXðúÏÝÅ è§äsv*/220 /* IDLE :次のMII管理フォーマット入力までの待機時間 */ 221 /* すでにTA時にバス解放済みであり制御不要 */ 226 222 phy_release_bus(); 227 223 … … 234 230 uint16_t bit; 235 231 236 /* PRE F32ÂÌA±µ½1b */232 /* PRE :32個の連続した1b */ 237 233 for (i = 0; i < 32; i++) 238 234 phy_write_bit(true); 239 235 240 /* ST Ft[Ìæªð¦·01bÌCg*/241 phy_write_bit(false); 242 phy_write_bit(true); 243 244 /* OP FANZXíÊð¦·R[hÌCg*/245 phy_write_bit(false); 246 phy_write_bit(true); 247 248 /* PHYAD FPHY-LSIÌAhXª1ÔÌêA00001bðCgiMSB ©çCgjB*/236 /* ST :フレームの先頭を示す01bのライト */ 237 phy_write_bit(false); 238 phy_write_bit(true); 239 240 /* OP :アクセス種別を示すコードのライト */ 241 phy_write_bit(false); 242 phy_write_bit(true); 243 244 /* PHYAD :PHY-LSIのアドレスが1番の場合、00001bをライト(MSB から順次ライト)。 */ 249 245 phy_write_bit((phy_addr & 0x10) != 0); 250 246 phy_write_bit((phy_addr & 0x08) != 0); … … 253 249 phy_write_bit((phy_addr & 0x01) != 0); 254 250 255 /* REGAD FWX^AhXª1ÔÌêA00001bðCgiMSB©çCgjB*/251 /* REGAD :レジスタアドレスが1番の場合、00001bをライト(MSBから順次ライト)。 */ 256 252 phy_write_bit((reg_addr & 0x10) != 0); 257 253 phy_write_bit((reg_addr & 0x08) != 0); … … 260 256 phy_write_bit((reg_addr & 0x01) != 0); 261 257 262 /* TA FMII/RMIIC^tF[XãÅf[^ÌM³ðØèÖ¦éÔ*/263 /* 10b ðCg*/264 phy_write_bit(true); 265 phy_write_bit(false); 266 267 /* DATA F16rbgÌf[^BMSB©çCg*/258 /* TA :MII/RMIIインタフェース上でデータの送信元を切り替える時間 */ 259 /* 10bをライト */ 260 phy_write_bit(true); 261 phy_write_bit(false); 262 263 /* DATA :16ビットのデータ。MSBから順次ライト */ 268 264 for (bit = 0x8000; bit != 0; bit >>= 1) { 269 265 phy_write_bit((reg_data & bit) != 0); 270 266 } 271 267 272 /* IDLE FÌMIIÇtH[}bgüÍÜÅÌÒ@Ô*/273 /* uPÆoXðúviXÆ\Ljðs¤*/268 /* IDLE :次のMII管理フォーマット入力までの待機時間 */ 269 /* 「単独バス解放」(Xと表記)を行う */ 274 270 phy_single_rel_bus(); 275 271 } … … 278 274 279 275 /* 280 * 1 rbgf[^ÌCg276 * 1 ビットデータのライト 281 277 */ 282 278 static void phy_write_bit(bool_t bit) … … 285 281 uint32_t data = bit ? ETHERC_PIR_MDO : 0; 286 282 287 /* PHY C^tF[XWX^ÖÌCg*/283 /* PHY部インタフェースレジスタへのライト */ 288 284 sil_wrw_mem(ETHERC_PIR, data | ETHERC_PIR_MMD | 0/*ETHERC_PIR_MDC*/); 289 285 290 286 for(i = ETHERC_PIR_WAIT; i > 0; i--); 291 287 292 /* PHY C^tF[XWX^ÖÌCg*/288 /* PHY部インタフェースレジスタへのライト */ 293 289 sil_wrw_mem(ETHERC_PIR, data | ETHERC_PIR_MMD | ETHERC_PIR_MDC); 294 290 295 291 for(i = 2 * ETHERC_PIR_WAIT; i > 0; i--); 296 292 297 /* PHY C^tF[XWX^ÖÌCg*/293 /* PHY部インタフェースレジスタへのライト */ 298 294 sil_wrw_mem(ETHERC_PIR, data | ETHERC_PIR_MMD | 0/*ETHERC_PIR_MDC*/); 299 295 … … 302 298 303 299 /* 304 * oXðú300 * バス解放 305 301 */ 306 302 static void phy_release_bus() … … 308 304 int i; 309 305 310 /* PHY C^tF[XWX^ÖÌCg*/306 /* PHY部インタフェースレジスタへのライト */ 311 307 sil_wrw_mem(ETHERC_PIR, 0/*ETHERC_PIR_MMD*/ | 0/*ETHERC_PIR_MDC*/); 312 308 313 309 for(i = ETHERC_PIR_WAIT; i > 0; i--); 314 310 315 /* PHY C^tF[XWX^ÖÌCg*/311 /* PHY部インタフェースレジスタへのライト */ 316 312 sil_wrw_mem(ETHERC_PIR, 0/*ETHERC_PIR_MMD*/ | ETHERC_PIR_MDC); 317 313 318 314 for(i = 2 * ETHERC_PIR_WAIT; i > 0; i--); 319 315 320 /* PHY C^tF[XWX^ÖÌCg*/316 /* PHY部インタフェースレジスタへのライト */ 321 317 sil_wrw_mem(ETHERC_PIR, 0/*ETHERC_PIR_MMD*/ | 0/*ETHERC_PIR_MDC*/); 322 318 … … 325 321 326 322 /* 327 * 1 rbgf[^Ì[h323 * 1 ビットデータのリード 328 324 */ 329 325 static bool_t phy_read_bit() … … 334 330 for(i = ETHERC_PIR_WAIT; i > 0; i--); 335 331 336 /* PHY C^tF[XWX^ÖÌCg*/332 /* PHY部インタフェースレジスタへのライト */ 337 333 sil_wrw_mem(ETHERC_PIR, 0/*ETHERC_PIR_MMD*/ | ETHERC_PIR_MDC); 338 334 339 335 for(i = ETHERC_PIR_WAIT; i > 0; i--); 340 336 341 /* PHY C^tF[XWX^ÖÌCg*/337 /* PHY部インタフェースレジスタへのライト */ 342 338 bit = (sil_rew_mem(ETHERC_PIR) & ETHERC_PIR_MDI) != 0; 343 339 344 340 for(i = ETHERC_PIR_WAIT; i > 0; i--); 345 341 346 /* PHY C^tF[XWX^ÖÌCg*/342 /* PHY部インタフェースレジスタへのライト */ 347 343 sil_wrw_mem(ETHERC_PIR, 0/*ETHERC_PIR_MMD*/ | 0/*ETHERC_PIR_MDC*/); 348 344 … … 353 349 354 350 /* 355 * PÆoXðú351 * 単独バス解放 356 352 */ 357 353 static void phy_single_rel_bus() … … 361 357 for(i = ETHERC_PIR_WAIT; i > 0; i--); 362 358 363 /* PHY C^tF[XWX^ÖÌCg*/359 /* PHY部インタフェースレジスタへのライト */ 364 360 sil_wrw_mem(ETHERC_PIR, ETHERC_PIR_MMD | ETHERC_PIR_MDC); 365 361 366 362 for(i = 2 * ETHERC_PIR_WAIT; i > 0; i--); 367 363 368 /* PHY C^tF[XWX^ÖÌCg*/364 /* PHY部インタフェースレジスタへのライト */ 369 365 sil_wrw_mem(ETHERC_PIR, 0/*ETHERC_PIR_MMD*/ | 0/*ETHERC_PIR_MDC*/); 370 366 -
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/target/if_rx62n/ether_phy.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 6 6 * Copyright (C) 2014 Cores Co., Ltd. Japan 7 7 * 8 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 9 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 10 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 11 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 12 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 13 * XR[hÉÜÜêÄ¢é±ÆD 14 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 15 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 16 gip 17 * Ò}j 18 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 19 * ̳ÛØKèðfÚ·é±ÆD 20 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 21 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 22 * ÆD 23 * (a) Äzzɺ¤hL 24 gipÒ}j 25 AÈÇjÉCãLÌ 26 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 27 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 28 * ñ·é±ÆD 29 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 30 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 31 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 32 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 33 * ÆÓ·é±ÆD 8 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 34 30 * 35 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨36 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI37 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF38 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»39 * ÌÓCðíÈ¢D31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 40 36 * 41 37 * @(#) $Id$ -
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/target/if_rx62n/if_rx62n.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2014 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ … … 56 52 57 53 /* 58 * lbg[NC^tF[XÉ˶·é\tgEFAîñ54 * ネットワークインタフェースに依存するソフトウェア情報 59 55 */ 60 56 … … 66 62 67 63 /* 68 * lbg[NC^tF[XÌ\tgEFAîñ69 */ 70 71 /* lbg[NC^tF[XÉ˶·é\tgEFAîñ*/64 * ネットワークインタフェースのソフトウェア情報 65 */ 66 67 /* ネットワークインタフェースに依存するソフトウェア情報 */ 72 68 73 69 static T_RX62N_SOFTC rx62n_softc; … … 88 84 #endif 89 85 90 /* lbg[NC^tF[XÉ˶µÈ¢\tgEFAîñ*/86 /* ネットワークインタフェースに依存しないソフトウェア情報 */ 91 87 92 88 T_IF_SOFTC if_softc = { 93 // {0,}, /* lbg[NC^tF[XÌAhX*/94 // 0, /* M^CAEg*/95 &rx62n_softc, /* fBoCX˶Ì\tgEFAîñ*/89 // {0,}, /* ネットワークインタフェースのアドレス */ 90 // 0, /* 送信タイムアウト */ 91 &rx62n_softc, /* ディバイス依存のソフトウェア情報 */ 96 92 }; 97 93 98 94 /* 99 * ÇÏ95 * 局所変数 100 96 */ 101 97 … … 105 101 106 102 /* 107 * rx62n_stop -- lbg[NC^tF[Xðâ~·éB103 * rx62n_stop -- ネットワークインタフェースを停止する。 108 104 * 109 * Ó: NIC èÝÖ~óÔÅÄÑo·±ÆB105 * 注意: NIC 割り込み禁止状態で呼び出すこと。 110 106 */ 111 107 … … 113 109 rx62n_stop (T_RX62N_SOFTC *sc) 114 110 { 115 /* ®ì[hNA*/111 /* 動作モードクリア */ 116 112 sil_wrw_mem(ETHERC_ECMR, 0x00000000); 117 113 } 118 114 119 115 /* 120 * rx62n_init_sub -- lbg[NC^tF[XÌú»116 * rx62n_init_sub -- ネットワークインタフェースの初期化 121 117 * 122 * Ó: NIC èÝÖ~óÔÅÄÑo·±ÆB118 * 注意: NIC 割り込み禁止状態で呼び出すこと。 123 119 */ 124 120 … … 129 125 PHY_STATE_T state = PHY_STATE_UNINIT; 130 126 131 /* MAC \tgEGAEZbg*/127 /* MAC部ソフトウエア・リセット */ 132 128 sil_wrw_mem(EDMAC_EDMR, sil_rew_mem(EDMAC_EDMR) | EDMAC_EDMR_SWR_BIT); 133 129 134 /* Zbg®¹Ò¿*/130 /* リセット完了待ち */ 135 131 for (i = 0; i < 10000; i++) { 136 132 } … … 142 138 | (uint32_t)mac_addr[5]); 143 139 144 /* PHY Zbg*/140 /* PHYリセット */ 145 141 while((state = phy_reset(state, 0)) != PHY_STATE_RESET); 146 142 ic->sc->state = state; … … 149 145 sil_wrw_mem(ETHERC_ECSR, 0x00000037); 150 146 151 /* NÏ»èÝLø*/147 /* リンク変化割り込み有効 */ 152 148 sil_wrw_mem(ETHERC_ECSIPR, sil_rew_mem(ETHERC_ECSIPR) | ETHERC_ECSIPR_LCHNGIP); 153 149 … … 155 151 sil_wrw_mem(EDMAC_EESR, 0x47FF0F9F); 156 152 157 /* óMèÝLø*/153 /* 送受信割り込み有効 */ 158 154 sil_wrw_mem(EDMAC_EESIPR, (EDMAC_EESIPR_TCIP | EDMAC_EESIPR_FRIP | EDMAC_EESIPR_RDEIP | EDMAC_EESIPR_FROFIP)); 159 155 160 /* óMt[·ãÀiobt@TCYj*/156 /* 受信フレーム長上限(バッファサイズ) */ 161 157 sil_wrw_mem(ETHERC_RFLR, IF_RX62N_BUF_PAGE_SIZE); 162 158 163 /* 96 rbgÔiúlj*/159 /* 96ビット時間(初期値) */ 164 160 sil_wrw_mem(ETHERC_IPGR, 0x00000014); 165 161 … … 180 176 sil_wrw_mem(EDMAC_RMCR, 0x00000001); 181 177 182 /* PHY Ìú»ð£·*/178 /* PHYの初期化を促す */ 183 179 ic->link_pre = true; 184 180 ic->link_now = false; 185 181 186 /* ^[Qbg˶ÌÝú»*/182 /* ターゲット依存部の割込み初期化 */ 187 183 rx62n_inter_init(); 188 184 } 189 185 190 186 /* 191 * rx62n_set_ecmr -- ECMR WX^ÌÝè187 * rx62n_set_ecmr -- ECMRレジスタの設定 192 188 */ 193 189 … … 204 200 ecmr |= ETHERC_ECMR_RTM; 205 201 206 /* ®ì[hÝè*/202 /* 動作モード設定 */ 207 203 sil_wrw_mem(ETHERC_ECMR, ecmr); 208 204 } 209 205 210 206 /* 211 * rx62n_reset -- lbg[NC^tF[XðZbg·éB207 * rx62n_reset -- ネットワークインタフェースをリセットする。 212 208 */ 213 209 … … 215 211 rx62n_reset (T_IF_SOFTC *ic) 216 212 { 217 /* NIC ©çÌèÝðÖ~·éB*/213 /* NIC からの割り込みを禁止する。*/ 218 214 dis_int(INTNO_IF_RX62N_TRX); 219 215 … … 221 217 rx62n_init_sub(ic); 222 218 223 /* NIC ©çÌèÝð·éB*/219 /* NIC からの割り込みを許可する。*/ 224 220 ena_int(INTNO_IF_RX62N_TRX); 225 221 } 226 222 227 223 /* 228 * get_rx62n_softc -- lbg[NC^tF[XÌ\tgEFAîñðÔ·B224 * get_rx62n_softc -- ネットワークインタフェースのソフトウェア情報を返す。 229 225 */ 230 226 … … 236 232 237 233 /* 238 * rx62n_watchdog -- lbg[NC^tF[XÌb`hbO^CAEg234 * rx62n_watchdog -- ネットワークインタフェースのワッチドッグタイムアウト 239 235 */ 240 236 … … 246 242 247 243 /* 248 * rx62n_probe -- lbg[NC^tF[XÌo244 * rx62n_probe -- ネットワークインタフェースの検出 249 245 */ 250 246 … … 252 248 rx62n_probe (T_IF_SOFTC *ic) 253 249 { 254 /* ^[Qbg˶ÌoXÌú»*/250 /* ターゲット依存部のバスの初期化 */ 255 251 rx62n_bus_init(); 256 252 … … 259 255 260 256 /* 261 * rx62n_init -- lbg[NC^tF[XÌú»257 * rx62n_init -- ネットワークインタフェースの初期化 262 258 */ 263 259 … … 270 266 int i; 271 267 272 /* NIC ©çÌèÝðÖ~·éB*/268 /* NIC からの割り込みを禁止する。*/ 273 269 dis_int(INTNO_IF_RX62N_TRX); 274 270 … … 297 293 rdsc->rdle = 1; 298 294 299 /* rx62n_init {ÌðÄÑo·B*/295 /* rx62n_init 本体を呼び出す。*/ 300 296 rx62n_init_sub(ic); 301 297 … … 304 300 } 305 301 306 /* NIC ©çÌèÝð·éB*/302 /* NIC からの割り込みを許可する。*/ 307 303 ena_int(INTNO_IF_RX62N_TRX); 308 304 } 309 305 310 306 /* 311 * rx62n_link -- NóÔÌÏ»Éηé307 * rx62n_link -- リンク状態の変化に対する処理 312 308 */ 313 309 bool_t … … 324 320 } 325 321 326 /* PHY Ìú»*/322 /* PHYの初期化 */ 327 323 sc->state = phy_initialize(sc->state, 0, &mode); 328 324 if(sc->state != PHY_STATE_NEGOTIATED){ … … 330 326 } 331 327 332 /* ECMR WX^ÌÝè*/328 /* ECMRレジスタの設定 */ 333 329 rx62n_set_ecmr(ic, mode); 334 330 return true; … … 336 332 337 333 /* 338 * rx62n_read -- t[ÌÇÝÝ334 * rx62n_read -- フレームの読み込み 339 335 */ 340 336 … … 379 375 380 376 /* 381 * rx62n_start -- Mt[ðobt@O·éB377 * rx62n_start -- 送信フレームをバッファリングする。 382 378 */ 383 379 … … 430 426 431 427 /* 432 * RX62N Ethernet Controler óMèÝnh428 * RX62N Ethernet Controler 送受信割り込みハンドラ 433 429 */ 434 430 … … 449 445 450 446 if (ecsr & ETHERC_ECSR_LCHNG) { 451 /* ETHERC èÝvöNA*/447 /* ETHERC部割り込み要因クリア */ 452 448 sil_wrw_mem(ETHERC_ECSR, ETHERC_ECSR_LCHNG); 453 449 … … 455 451 ic->link_now = (psr & ETHERC_PSR_LMON) != 0; 456 452 457 /* NóÔÉÏ» è*/453 /* リンク状態に変化あり */ 458 454 if (ic->link_pre != ic->link_now) { 459 /* óMèÝ*/455 /* 受信割り込み処理 */ 460 456 acttsk = true; 461 457 } … … 465 461 466 462 if (eesr & EDMAC_EESR_FR) { 467 /* DMA èÝvöNA*/463 /* DMA部割り込み要因クリア */ 468 464 sil_wrw_mem(EDMAC_EESR, EDMAC_EESR_FR); 469 465 470 /* óMèÝ*/466 /* 受信割り込み処理 */ 471 467 acttsk = true; 472 468 ic->rxb_write++; 473 469 } 474 470 if (eesr & EDMAC_EESR_TC) { 475 /* DMA èÝvöNA*/471 /* DMA部割り込み要因クリア */ 476 472 sil_wrw_mem(EDMAC_EESR, EDMAC_EESR_TC); 477 473 478 /* MèÝ*/474 /* 送信割り込み処理 */ 479 475 acttsk = true; 480 476 } 481 477 if (eesr & (EDMAC_EESR_FROF | EDMAC_EESR_RDE)) { 482 /* DMA èÝvöNA*/478 /* DMA部割り込み要因クリア */ 483 479 sil_wrw_mem(EDMAC_EESR, EDMAC_EESR_FROF | EDMAC_EESR_RDE); 484 480 485 481 ic->over_flow = true; 486 482 487 /* óMèÝ*/483 /* 受信割り込み処理 */ 488 484 acttsk = true; 489 485 ic->rxb_write++; -
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/target/if_rx62n/if_rx62n.cfg
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 6 6 * Copyright (C) 2014 Cores Co., Ltd. Japan 7 7 * 8 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 9 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 10 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 11 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 12 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 13 * XR[hÉÜÜêÄ¢é±ÆD 14 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 15 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 16 gip 17 * Ò}j 18 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 19 * ̳ÛØKèðfÚ·é±ÆD 20 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 21 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 22 * ÆD 23 * (a) Äzzɺ¤hL 24 gipÒ}j 25 AÈÇjÉCãLÌ 26 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 27 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 28 * ñ·é±ÆD 29 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 30 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 31 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 32 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 33 * ÆÓ·é±ÆD 8 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 34 30 * 35 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨36 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI37 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF38 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»39 * ÌÓCðíÈ¢D31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 40 36 * 41 37 * @(#) $Id$ … … 43 39 44 40 /* 45 * if_rx62n RtBM 46 [Vt@C 41 * if_rx62n コンフィギュレーションファイル 47 42 */ 48 43 … … 51 46 #include "if_rx62n.h" 52 47 53 /* èÝnh*/48 /* 割り込みハンドラ */ 54 49 55 50 DEF_INH(INHNO_IF_RX62N_TRX, { TA_HLNG, if_rx62n_trx_handler }); -
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/target/if_rx62n/if_rx62n.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 6 6 * Copyright (C) 2014 Cores Co., Ltd. Japan 7 7 * 8 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 9 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 10 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 11 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 12 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 13 * XR[hÉÜÜêÄ¢é±ÆD 14 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 15 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 16 gip 17 * Ò}j 18 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 19 * ̳ÛØKèðfÚ·é±ÆD 20 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 21 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 22 * ÆD 23 * (a) Äzzɺ¤hL 24 gipÒ}j 25 AÈÇjÉCãLÌ 26 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 27 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 28 * ñ·é±ÆD 29 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 30 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 31 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 32 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 33 * ÆÓ·é±ÆD 8 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 34 30 * 35 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨36 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI37 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF38 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»39 * ÌÓCðíÈ¢D31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 40 36 * 41 37 * @(#) $Id$ … … 55 51 56 52 /* 57 * tB[h·53 * フィールド長 58 54 */ 59 55 … … 61 57 62 58 /* 63 * RX62N Ethernet Controler ÉÖ·éè`59 * RX62N Ethernet Controler に関する定義 64 60 */ 65 61 66 #define NUM_IF_RX62N_TXBUF 8 /* Mobt@*/67 #define NUM_IF_RX62N_RXBUF 8 /* óMobt@*/68 #define IF_RX62N_BUF_PAGE_SIZE 1518 /* obt@TCY*/62 #define NUM_IF_RX62N_TXBUF 8 /* 送信バッファ数 */ 63 #define NUM_IF_RX62N_RXBUF 8 /* 受信バッファ数 */ 64 #define IF_RX62N_BUF_PAGE_SIZE 1518 /* バッファサイズ */ 69 65 70 66 /* 71 * NIC ÌIð}N67 * NIC の選択マクロ 72 68 */ 73 69 … … 83 79 #define T_IF_ETHER_NIC_SOFTC struct t_rx62n_softc 84 80 struct t_if_softc { 85 //T_IF_ADDR ifaddr; /* lbg[NC^tF[XÌAhX*/86 //uint16_t timer; /* M^CAEg*/87 T_IF_ETHER_NIC_SOFTC *sc; /* fBoCX˶Ì\tgEFAîñ*/81 //T_IF_ADDR ifaddr; /* ネットワークインタフェースのアドレス */ 82 //uint16_t timer; /* 送信タイムアウト */ 83 T_IF_ETHER_NIC_SOFTC *sc; /* ディバイス依存のソフトウェア情報 */ 88 84 uint8_t rxb_write; 89 85 uint8_t rxb_read; … … 94 90 }; 95 91 96 /* IPv6 ÖW*/92 /* IPv6 関係 */ 97 93 98 #define IF_ETHER_NIC_IN6_IFID(i,a) get_mac6_ifid(i,a) /* C^tF[X¯ÊqÌÝè*/99 #define IF_ETHER_NIC_ADDMULTI(s) rx62n_addmulti(s) /* }`LXgAhXÌo^*/94 #define IF_ETHER_NIC_IN6_IFID(i,a) get_mac6_ifid(i,a) /* インタフェース識別子の設定 */ 95 #define IF_ETHER_NIC_ADDMULTI(s) rx62n_addmulti(s) /* マルチキャストアドレスの登録 */ 100 96 101 97 #if !defined(TOPPERS_MACRO_ONLY) && !defined(_MACRO_ONLY) 102 98 103 99 /* 104 * OûQÆ100 * 前方参照 105 101 */ 106 102 … … 114 110 115 111 /* 116 * Ö112 * 関数 117 113 */ 118 114 -
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/target/if_rx62n/if_rx62nreg.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 6 6 * Copyright (C) 2014 Cores Co., Ltd. Japan 7 7 * 8 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 9 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 10 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 11 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 12 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 13 * XR[hÉÜÜêÄ¢é±ÆD 14 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 15 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 16 gip 17 * Ò}j 18 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 19 * ̳ÛØKèðfÚ·é±ÆD 20 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 21 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 22 * ÆD 23 * (a) Äzzɺ¤hL 24 gipÒ}j 25 AÈÇjÉCãLÌ 26 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 27 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 28 * ñ·é±ÆD 29 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 30 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 31 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 32 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 33 * ÆÓ·é±ÆD 8 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 34 30 * 35 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨36 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI37 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF38 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»39 * ÌÓCðíÈ¢D31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 40 36 * 41 37 * @(#) $Id$ … … 47 43 #include "t_stddef.h" 48 44 49 #define EDMAC_EDMR ((uint32_t *)0x000C0000) /* EDMAC [hWX^*/45 #define EDMAC_EDMR ((uint32_t *)0x000C0000) /* EDMACモードレジスタ */ 50 46 #define EDMAC_EDMR_SWR_BIT 0x00000001 51 47 #define EDMAC_EDMR_DE_BIT 0x00000040 52 48 53 #define EDMAC_EDTRR ((uint32_t *)0x000C0008) /* EDMAC MvWX^*/49 #define EDMAC_EDTRR ((uint32_t *)0x000C0008) /* EDMAC送信要求レジスタ */ 54 50 #define EDMAC_EDTRR_TR 0x00000001 55 51 56 #define EDMAC_EDRRR ((uint32_t *)0x000C0010) /* EDMAC óMvWX^*/52 #define EDMAC_EDRRR ((uint32_t *)0x000C0010) /* EDMAC受信要求レジスタ */ 57 53 #define EDMAC_EDRRR_RR 0x00000001 58 54 59 #define EDMAC_TDLAR ((uint32_t *)0x000C0018) /* MfBXNv^XgæªAhXWX^*/60 #define EDMAC_RDLAR ((uint32_t *)0x000C0020) /* óMfBXNv^XgæªAhXWX^*/55 #define EDMAC_TDLAR ((uint32_t *)0x000C0018) /* 送信ディスクリプタリスト先頭アドレスレジスタ */ 56 #define EDMAC_RDLAR ((uint32_t *)0x000C0020) /* 受信ディスクリプタリスト先頭アドレスレジスタ */ 61 57 62 #define EDMAC_EESR ((uint32_t *)0x000C0028) /* ETHERC/EDMAC Xe[^XWX^*/58 #define EDMAC_EESR ((uint32_t *)0x000C0028) /* ETHERC/EDMACステータスレジスタ */ 63 59 #define EDMAC_EESR_FROF 0x00010000 64 60 #define EDMAC_EESR_RDE 0x00020000 … … 67 63 #define EDMAC_EESR_TWB 0x40000000 68 64 69 #define EDMAC_EESIPR ((uint32_t *)0x000C0030) /* ETHERC/EDMAC Xe[^XèÝÂWX^*/65 #define EDMAC_EESIPR ((uint32_t *)0x000C0030) /* ETHERC/EDMACステータス割り込み許可レジスタ */ 70 66 #define EDMAC_EESIPR_RMAFIP 0x00000080 71 67 #define EDMAC_EESIPR_FROFIP 0x00010000 … … 75 71 #define EDMAC_EESIPR_TWBIP 0x40000000 76 72 77 #define EDMAC_TRSCER ((uint32_t *)0x000C0038) /* óMXe[^XRs[w¦WX^*/78 #define EDMAC_RMFCR ((uint32_t *)0x000C0040) /* ~Xht[JE^WX^*/79 #define EDMAC_TFTR ((uint32_t *)0x000C0048) /* MFIFOµ«¢lwèWX^*/80 #define EDMAC_FDR ((uint32_t *)0x000C0050) /* FIFO eÊwèWX^*/81 #define EDMAC_RMCR ((uint32_t *)0x000C0058) /* óMû®§äWX^*/82 #define EDMAC_TFUCR ((uint32_t *)0x000C0064) /* MFIFOA_JEg*/83 #define EDMAC_RFOCR ((uint32_t *)0x000C0068) /* óMFIFOI[ot[JEg*/84 #define EDMAC_IOSR ((uint32_t *)0x000C006C) /* ÂÊoÍMÝèWX^*/85 #define EDMAC_FCFTR ((uint32_t *)0x000C0070) /* t[§äJnFIFOµ«¢lÝèWX^*/86 #define EDMAC_RPADIR ((uint32_t *)0x000C0078) /* óMf[^pfBO}üÝèWX^*/87 #define EDMAC_TRIMD ((uint32_t *)0x000C007C) /* MèÝÝèWX^*/88 #define EDMAC_RBWAR ((uint32_t *)0x000C00C8) /* óMobt@CgAhXWX^*/89 #define EDMAC_RDFAR ((uint32_t *)0x000C00CC) /* óMfBXNv^tFb`AhXWX^*/90 #define EDMAC_TBRAR ((uint32_t *)0x000C00D4) /* Mobt@[hAhXWX^*/91 #define EDMAC_TDFAR ((uint32_t *)0x000C00D8) /* MfBXNv^tFb`AhXWX^*/73 #define EDMAC_TRSCER ((uint32_t *)0x000C0038) /* 送受信ステータスコピー指示レジスタ */ 74 #define EDMAC_RMFCR ((uint32_t *)0x000C0040) /* ミスドフレームカウンタレジスタ */ 75 #define EDMAC_TFTR ((uint32_t *)0x000C0048) /* 送信FIFOしきい値指定レジスタ */ 76 #define EDMAC_FDR ((uint32_t *)0x000C0050) /* FIFO容量指定レジスタ */ 77 #define EDMAC_RMCR ((uint32_t *)0x000C0058) /* 受信方式制御レジスタ */ 78 #define EDMAC_TFUCR ((uint32_t *)0x000C0064) /* 送信FIFOアンダランカウント */ 79 #define EDMAC_RFOCR ((uint32_t *)0x000C0068) /* 受信FIFOオーバフローカウント */ 80 #define EDMAC_IOSR ((uint32_t *)0x000C006C) /* 個別出力信号設定レジスタ */ 81 #define EDMAC_FCFTR ((uint32_t *)0x000C0070) /* フロー制御開始FIFOしきい値設定レジスタ */ 82 #define EDMAC_RPADIR ((uint32_t *)0x000C0078) /* 受信データパディング挿入設定レジスタ */ 83 #define EDMAC_TRIMD ((uint32_t *)0x000C007C) /* 送信割り込み設定レジスタ */ 84 #define EDMAC_RBWAR ((uint32_t *)0x000C00C8) /* 受信バッファライトアドレスレジスタ */ 85 #define EDMAC_RDFAR ((uint32_t *)0x000C00CC) /* 受信ディスクリプタフェッチアドレスレジスタ */ 86 #define EDMAC_TBRAR ((uint32_t *)0x000C00D4) /* 送信バッファリードアドレスレジスタ */ 87 #define EDMAC_TDFAR ((uint32_t *)0x000C00D8) /* 送信ディスクリプタフェッチアドレスレジスタ */ 92 88 93 #define ETHERC_ECMR ((uint32_t *)0x000C0100) /* ETHERC [hWX^*/89 #define ETHERC_ECMR ((uint32_t *)0x000C0100) /* ETHERCモードレジスタ */ 94 90 #define ETHERC_ECMR_PRM 0x00000001 95 91 #define ETHERC_ECMR_DM 0x00000002 … … 98 94 #define ETHERC_ECMR_RE 0x00000040 99 95 100 #define ETHERC_RFLR ((uint32_t *)0x000C0108) /* óMt[·ãÀWX^*/101 #define ETHERC_ECSR ((uint32_t *)0x000C0110) /* ETHERC Xe[^XWX^*/96 #define ETHERC_RFLR ((uint32_t *)0x000C0108) /* 受信フレーム長上限レジスタ */ 97 #define ETHERC_ECSR ((uint32_t *)0x000C0110) /* ETHERCステータスレジスタ */ 102 98 #define ETHERC_ECSR_LCHNG 0x00000004 103 #define ETHERC_ECSIPR ((uint32_t *)0x000C0118) /* ETHERC èÝÂWX^*/99 #define ETHERC_ECSIPR ((uint32_t *)0x000C0118) /* ETHERC割り込み許可レジスタ */ 104 100 #define ETHERC_ECSIPR_LCHNGIP 0x00000004 105 #define ETHERC_PIR ((uint32_t *)0x000C0120) /* PHY C^tF[XWX^*/101 #define ETHERC_PIR ((uint32_t *)0x000C0120) /* PHY部インタフェースレジスタ */ 106 102 #define ETHERC_PIR_MDC 0x00000001 107 103 #define ETHERC_PIR_MMD 0x00000002 … … 109 105 #define ETHERC_PIR_MDI 0x00000008 110 106 111 #define ETHERC_PSR ((uint32_t *)0x000C0128) /* PHY Xe[^XWX^*/107 #define ETHERC_PSR ((uint32_t *)0x000C0128) /* PHY部ステータスレジスタ */ 112 108 #define ETHERC_PSR_LMON 0x00000001 113 109 114 #define ETHERC_RDMLR ((uint32_t *)0x000C0140) /* ¶¬JE^ãÀlÝèWX^*/115 #define ETHERC_IPGR ((uint32_t *)0x000C0150) /* IPG ÝèWX^*/116 #define ETHERC_APR ((uint32_t *)0x000C0154) /* ©®PAUSEt[ÝèWX^*/117 #define ETHERC_MPR ((uint32_t *)0x000C0158) /* è®PAUSEt[ÝèWX^*/118 #define ETHERC_RFCF ((uint32_t *)0x000C0160) /* óMPAUSEt[JE^*/119 #define ETHERC_TPAUSER ((uint32_t *)0x000C0164) /* ©®PAUSEt[ÄñÝèWX^*/120 #define ETHERC_TPAUSECR ((uint32_t *)0x000C0168) /* PAUSE t[ÄñJE^*/121 #define ETHERC_BCFRR ((uint32_t *)0x000C016C) /* Broadcast t[óMñÝèWX^*/122 #define ETHERC_MAHR ((uint32_t *)0x000C01C0) /* MAC AhXãÊÝèWX^*/123 #define ETHERC_MALR ((uint32_t *)0x000C01C8) /* MAC AhXºÊÝèWX^*/124 #define ETHERC_TROCR ((uint32_t *)0x000C01D0) /* MgCI[oJE^WX^*/125 #define ETHERC_CDCR ((uint32_t *)0x000C01D4) /* xÕËoJE^WX^*/126 #define ETHERC_LCCR ((uint32_t *)0x000C01D8) /* LAÁ¸JE^WX^*/127 #define ETHERC_CNDCR ((uint32_t *)0x000C01DC) /* LA¢oJE^WX^*/128 #define ETHERC_CEFCR ((uint32_t *)0x000C01E4) /* CRC G[t[óMJE^WX^*/129 #define ETHERC_FRECR ((uint32_t *)0x000C01E8) /* t[óMG[JE^WX^*/130 #define ETHERC_TSFRCR ((uint32_t *)0x000C01EC) /* 64 oCg¢t[óMJE^WX^*/131 #define ETHERC_TLFRCR ((uint32_t *)0x000C01F0) /* wèoCg´t[óMJE^WX^*/132 #define ETHERC_RFCR ((uint32_t *)0x000C01F4) /* [rbgt[óMJE^WX^*/133 #define ETHERC_MAFCR ((uint32_t *)0x000C01F8) /* }`LXgAhXt[óMJE^WX^*/110 #define ETHERC_RDMLR ((uint32_t *)0x000C0140) /* 乱数生成カウンタ上限値設定レジスタ */ 111 #define ETHERC_IPGR ((uint32_t *)0x000C0150) /* IPG設定レジスタ */ 112 #define ETHERC_APR ((uint32_t *)0x000C0154) /* 自動PAUSEフレーム設定レジスタ */ 113 #define ETHERC_MPR ((uint32_t *)0x000C0158) /* 手動PAUSEフレーム設定レジスタ */ 114 #define ETHERC_RFCF ((uint32_t *)0x000C0160) /* 受信PAUSEフレームカウンタ */ 115 #define ETHERC_TPAUSER ((uint32_t *)0x000C0164) /* 自動PAUSEフレーム再送回数設定レジスタ */ 116 #define ETHERC_TPAUSECR ((uint32_t *)0x000C0168) /* PAUSEフレーム再送回数カウンタ */ 117 #define ETHERC_BCFRR ((uint32_t *)0x000C016C) /* Broadcastフレーム受信回数設定レジスタ */ 118 #define ETHERC_MAHR ((uint32_t *)0x000C01C0) /* MACアドレス上位設定レジスタ */ 119 #define ETHERC_MALR ((uint32_t *)0x000C01C8) /* MACアドレス下位設定レジスタ */ 120 #define ETHERC_TROCR ((uint32_t *)0x000C01D0) /* 送信リトライオーバカウンタレジスタ */ 121 #define ETHERC_CDCR ((uint32_t *)0x000C01D4) /* 遅延衝突検出カウンタレジスタ */ 122 #define ETHERC_LCCR ((uint32_t *)0x000C01D8) /* キャリア消失カウンタレジスタ */ 123 #define ETHERC_CNDCR ((uint32_t *)0x000C01DC) /* キャリア未検出カウンタレジスタ */ 124 #define ETHERC_CEFCR ((uint32_t *)0x000C01E4) /* CRCエラーフレーム受信カウンタレジスタ */ 125 #define ETHERC_FRECR ((uint32_t *)0x000C01E8) /* フレーム受信エラーカウンタレジスタ */ 126 #define ETHERC_TSFRCR ((uint32_t *)0x000C01EC) /* 64バイト未満フレーム受信カウンタレジスタ */ 127 #define ETHERC_TLFRCR ((uint32_t *)0x000C01F0) /* 指定バイト超フレーム受信カウンタレジスタ */ 128 #define ETHERC_RFCR ((uint32_t *)0x000C01F4) /* 端数ビットフレーム受信カウンタレジスタ */ 129 #define ETHERC_MAFCR ((uint32_t *)0x000C01F8) /* マルチキャストアドレスフレーム受信カウンタレジスタ */ 134 130 135 /* MfBXNv^*/131 /* 送信ディスクリプタ */ 136 132 typedef struct t_rx62n_tx_desc { 137 133 uint32_t tfs : 26; … … 147 143 } T_RX62N_TX_DESC; 148 144 149 /* óMfBXNv^*/145 /* 受信ディスクリプタ */ 150 146 typedef struct t_rx62n_rx_desc { 151 147 uint32_t rfs : 27; -
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/target/if_rx62n/nic_ssp.cfg
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 6 6 * Copyright (C) 2014 Cores Co., Ltd. Japan 7 7 * 8 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 9 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 10 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 11 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 12 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 13 * XR[hÉÜÜêÄ¢é±ÆD 14 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 15 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 16 gip 17 * Ò}j 18 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 19 * ̳ÛØKèðfÚ·é±ÆD 20 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 21 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 22 * ÆD 23 * (a) Äzzɺ¤hL 24 gipÒ}j 25 AÈÇjÉCãLÌ 26 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 27 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 28 * ñ·é±ÆD 29 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 30 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 31 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 32 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 33 * ÆÓ·é±ÆD 8 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 34 30 * 35 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨36 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI37 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF38 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»39 * ÌÓCðíÈ¢D31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 40 36 * 41 37 * @(#) $Id$ … … 43 39 44 40 /* 45 * if_rx62n RtBM 46 [Vt@C 41 * if_rx62n コンフィギュレーションファイル 47 42 */ 48 43 INCLUDE("if_rx62n.cfg"); -
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/target/if_rx62n/uip_nic_config.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 6 6 * Copyright (C) 2014 Cores Co., Ltd. Japan 7 7 * 8 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 9 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 10 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 11 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 12 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 13 * XR[hÉÜÜêÄ¢é±ÆD 14 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 15 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 16 gip 17 * Ò}j 18 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 19 * ̳ÛØKèðfÚ·é±ÆD 20 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 21 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 22 * ÆD 23 * (a) Äzzɺ¤hL 24 gipÒ}j 25 AÈÇjÉCãLÌ 26 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 27 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 28 * ñ·é±ÆD 29 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 30 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 31 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 32 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 33 * ÆÓ·é±ÆD 8 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 34 30 * 35 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨36 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI37 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF38 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»39 * ÌÓCðíÈ¢D31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 40 36 * 41 37 * @(#) $Id$ … … 46 42 47 43 /* 48 * lbg[NC^tF[XÌà¯Ê¼Ìl[44 * ネットワークインタフェースの内部識別名のリネーム 49 45 */ 50 46 -
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/task/clock-arch.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/task/uip_adpt.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2014 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ … … 47 43 48 44 /* 49 * uip_task ðN®45 * uip_taskを起動 50 46 */ 51 47 ER uip_start() … … 53 49 ER ret; 54 50 55 /* uip_task püúnhÌN®*/51 /* uip_task用周期ハンドラの起動 */ 56 52 ret = sta_cyc(UIP_CYCHDR); 57 53 if (ret != E_OK) { … … 64 60 65 61 /* 66 * convert_hexdigit -- 16 i¨¶ñÏ·62 * convert_hexdigit -- 16進数→文字列変換 67 63 */ 68 64 int_t convert_hexdigit (char *buf, uint_t val, int_t radix, int_t width, char padchar) … … 88 84 89 85 /* 90 * ip2str -- IPv4 AhXð¶ñÉÏ··éB86 * ip2str -- IPv4 アドレスを文字列に変換する。 91 87 */ 92 88 char *ip2str(char *buf, const T_IN4_ADDR ipaddr) -
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/task/uip_adpt.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2014 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ … … 48 44 49 45 /* 50 * IPv4 AhX46 * IPv4 アドレス 51 47 */ 52 48 … … 54 50 55 51 /* 56 * ITRON TCP/IPv4 AhX/|[gÔÌè`52 * ITRON TCP/IPv4 アドレス/ポート番号の定義 57 53 */ 58 54 59 55 typedef struct t_ipv4ep { 60 T_IN4_ADDR ipaddr; /* IPv4 AhX*/61 u16_t portno; /* |[gÔ*/56 T_IN4_ADDR ipaddr; /* IPv4アドレス */ 57 u16_t portno; /* ポート番号 */ 62 58 } T_IPV4EP; 63 59 … … 66 62 typedef struct t_tcp_ccep 67 63 { 68 T_IN4_ADDR ripaddr; /* [gIPv4AhX*/69 u16_t rport; /* [g|[gÔ*/70 u16_t lport; /* [J|[gÔ*/64 T_IN4_ADDR ripaddr; /* リモートIPv4アドレス */ 65 u16_t rport; /* リモートポート番号 */ 66 u16_t lport; /* ローカルポート番号 */ 71 67 void(*callback)(struct uip_conn *uip_conn, int fncd, void *p_parblk); 72 68 } T_TCP_CCEP; … … 78 74 typedef struct t_udp_ccep 79 75 { 80 T_IN4_ADDR ripaddr; /* [gIPv4AhX*/81 u16_t rport; /* [g|[gÔ*/82 u16_t lport; /* [J|[gÔ*/76 T_IN4_ADDR ripaddr; /* リモートIPv4アドレス */ 77 u16_t rport; /* リモートポート番号 */ 78 u16_t lport; /* ローカルポート番号 */ 83 79 void (*callback)(struct uip_udp_conn *uip_udp_conn, int fncd, void *p_parblk); 84 80 } T_UDP_CCEP; -
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/task/uip_task.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 100 100 PT_BEGIN(&uiptsk->pt); 101 101 102 /* NIC ðú»·éB*/102 /* NIC を初期化する。*/ 103 103 IF_ETHER_NIC_PROBE(ic); 104 104 IF_ETHER_NIC_INIT(ic); … … 273 273 274 274 /* 275 * uIP vgXbhN®^XN275 * uIP プロトスレッド起動タスク 276 276 */ 277 277 void uip_task(intptr_t exinf) … … 283 283 284 284 /* 285 * uIP ^XNN®püúnh[285 * uIP タスク起動用周期ハンドラー 286 286 */ 287 287 void uip_cychdr(intptr_t exinf) -
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/task/uip_task.cfg
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2014 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ … … 45 41 46 42 /* 47 * uIP ^XNN®püúnh[43 * uIP タスク起動用周期ハンドラー 48 44 */ 49 45 CRE_CYC(UIP_CYCHDR, { TA_NULL, &uiptsk, uip_cychdr, 1, 0 }); -
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/task/uip_task.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
r101 r107 4 4 * Copyright (C) 2014 Cores Co., Ltd. Japan 5 5 * 6 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 7 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 8 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 9 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 10 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 11 * XR[hÉÜÜêÄ¢é±ÆD 12 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 13 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 14 gip 15 * Ò}j 16 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 17 * ̳ÛØKèðfÚ·é±ÆD 18 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 19 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 20 * ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌ 24 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 26 * ñ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 28 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 29 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 30 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 31 * ÆÓ·é±ÆD 6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 32 28 * 33 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨34 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI35 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF36 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»37 * ÌÓCðíÈ¢D29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 38 34 * 39 35 * @(#) $Id$ … … 50 46 51 47 /* 52 * uIP ^XNÖAÌèÌftHglÌè`48 * uIP タスク関連の定数のデフォルト値の定義 53 49 */ 54 50 #ifndef UIP_TASK_PRIORITY 55 #define UIP_TASK_PRIORITY 3 /* úDæx*/51 #define UIP_TASK_PRIORITY 3 /* 初期優先度 */ 56 52 #endif /* UIP_TASK_PRIORITY */ 57 53 58 54 #ifndef UIP_TASK_STACK_SIZE 59 #define UIP_TASK_STACK_SIZE 256 /* X^bNÌæÌTCY*/55 #define UIP_TASK_STACK_SIZE 256 /* スタック領域のサイズ */ 60 56 #endif /* UIP_TASK_STACK_SIZE */ 61 57 -
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/uip/clock.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/uip/lc-addrlabels.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/uip/lc-switch.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/uip/lc.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/uip/psock.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/uip/psock.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/uip/pt.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/uip/timer.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/uip/timer.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/uip/uip-fw.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/uip/uip-fw.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/uip/uip-neighbor.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/uip/uip-neighbor.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/uip/uip-split.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/uip/uip-split.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/uip/uip.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/uip/uip.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/uip/uip_arch.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/uip/uip_arp.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/uip/uip_arp.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/uip/uiplib.c
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/uip/uiplib.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
-
uKadecot/trunk/uip/uip/uipopt.h
-
Property svn:mime-type
changed from
text/plain
totext/plain; charset=SHIFT_JIS
-
Property svn:mime-type
changed from
Note:
See TracChangeset
for help on using the changeset viewer.