Changeset 107 for uKadecot/trunk/ssp
- Timestamp:
- Jun 10, 2015, 8:40:31 PM (9 years ago)
- Location:
- uKadecot/trunk/ssp
- Files:
-
- 100 edited
Legend:
- Unmodified
- Added
- Removed
-
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
Note:
See TracChangeset
for help on using the changeset viewer.