Changeset 389 for azure_iot_hub/trunk/asp3_dcre/kernel/startup.c
- Timestamp:
- May 22, 2019, 10:03:37 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
azure_iot_hub/trunk/asp3_dcre/kernel/startup.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc;charset=UTF-8
r388 r389 9 9 * Graduate School of Information Science, Nagoya Univ., JAPAN 10 10 * 11 * ä¸è¨èä½æ¨©è 12 ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ 13 * ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹ 14 * å¤ã»åé 15 å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 16 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 17 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 18 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 19 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 20 * ç¨ã§ããå½¢ã§åé 21 å¸ããå ´åã«ã¯ï¼åé 22 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 23 * è 24 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 25 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 26 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 27 * ç¨ã§ããªãå½¢ã§åé 28 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 29 * ã¨ï¼ 30 * (a) åé 31 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 32 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 33 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 34 * (b) åé 35 å¸ã®å½¢æ 36 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 37 * å ±åãããã¨ï¼ 38 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 39 * 害ãããï¼ä¸è¨èä½æ¨©è 40 ããã³TOPPERSããã¸ã§ã¯ããå 41 責ãããã¨ï¼ 42 * ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç 43 * ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è 44 ããã³TOPPERSããã¸ã§ã¯ãã 45 * å 46 責ãããã¨ï¼ 47 * 48 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 49 ã 50 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 51 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 52 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 53 * ã®è²¬ä»»ãè² ããªãï¼ 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 * 免責すること. 33 * 34 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 35 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 36 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 37 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 38 * の責任を負わない. 54 39 * 55 40 * $Id$ … … 57 42 58 43 /* 59 * ã«ã¼ãã«ã®åæåã¨çµäºå¦ç44 * カーネルの初期化と終了処理 60 45 */ 61 46 … … 65 50 66 51 /* 67 * ãã¬ã¼ã¹ãã°ãã¯ãã®ããã©ã«ãå®ç¾©52 * トレースログマクロのデフォルト定義 68 53 */ 69 54 #ifndef LOG_KER_ENTER … … 86 71 87 72 /* 88 * ã«ã¼ãã«åä½ç¶æ 89 ãã©ã° 73 * カーネル動作状態フラグ 90 74 * 91 * ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã§ï¼falseï¼ï¼0ï¼ã«åæåããããã¨ãæå¾ 92 ã㦠93 * ããï¼ 75 * スタートアップルーチンで,false(=0)に初期化されることを期待して 76 * いる. 94 77 */ 95 78 bool_t kerflg = false; 96 79 97 80 /* 98 * ã«ã¼ãã«ã®èµ·å81 * カーネルの起動 99 82 */ 100 83 void … … 102 85 { 103 86 /* 104 * TECS ã®åæå87 * TECSの初期化 105 88 */ 106 89 #ifndef TOPPERS_OMIT_TECS … … 109 92 110 93 /* 111 * ã¿ã¼ã²ããä¾åã®åæå94 * ターゲット依存の初期化 112 95 */ 113 96 target_initialize(); 114 97 115 98 /* 116 * åã¢ã¸ã¥ã¼ã«ã®åæå99 * 各モジュールの初期化 117 100 * 118 * ã¿ã¤ã ã¤ãã³ã管çã¢ã¸ã¥ã¼ã«ã¯ä»ã®ã¢ã¸ã¥ã¼ã«ããå 119 ã«åæå 120 * ããå¿ 121 è¦ãããï¼ 101 * タイムイベント管理モジュールは他のモジュールより先に初期化 102 * する必要がある. 122 103 */ 123 104 initialize_kmm(); 124 initialize_tmevt(); /* ï¼»ASPD1061ï¼½*/105 initialize_tmevt(); /*[ASPD1061]*/ 125 106 initialize_object(); 126 107 127 108 /* 128 * åæåã«ã¼ãã³ã®å®è¡109 * 初期化ルーチンの実行 129 110 */ 130 111 call_inirtn(); 131 112 132 113 /* 133 * é«å解è½ã¿ã¤ãã®è¨å®134 */ 135 current_hrtcnt = target_hrt_get_current(); /* ï¼»ASPD1063ï¼½*/136 set_hrt_event(); /* ï¼»ASPD1064ï¼½*/137 138 /* 139 * ã«ã¼ãã«åä½ã®éå§114 * 高分解能タイマの設定 115 */ 116 current_hrtcnt = target_hrt_get_current(); /*[ASPD1063]*/ 117 set_hrt_event(); /*[ASPD1064]*/ 118 119 /* 120 * カーネル動作の開始 140 121 */ 141 122 kerflg = true; … … 148 129 149 130 /* 150 * ã«ã¼ãã«ã®çµäº131 * カーネルの終了 151 132 */ 152 133 #ifdef TOPPERS_ext_ker … … 160 141 161 142 /* 162 * å²è¾¼ã¿ããã¯ç¶æ 163 ã«ç§»è¡ 143 * 割込みロック状態に移行 164 144 */ 165 145 SIL_LOC_INT(); 166 146 167 147 /* 168 * ã«ã¼ãã«åä½ã®çµäº148 * カーネル動作の終了 169 149 */ 170 150 LOG_KER_LEAVE(); … … 172 152 173 153 /* 174 * ã«ã¼ãã«ã®çµäºå¦çã®å¼åºã154 * カーネルの終了処理の呼出し 175 155 * 176 * éã¿ã¹ã¯ã³ã³ããã¹ãã«åãæãã¦ï¼exit_kernelãå¼ã³åºãï¼156 * 非タスクコンテキストに切り換えて,exit_kernelを呼び出す. 177 157 */ 178 158 call_exit_kernel(); 179 159 180 160 /* 181 * ã³ã³ãã¤ã©ã®è¦å対çï¼ããã¸æ¥ããã¨ã¯ãªãã¯ãï¼161 * コンパイラの警告対策(ここへ来ることはないはず) 182 162 */ 183 163 SIL_UNL_INT(); … … 187 167 188 168 /* 189 * ã«ã¼ãã«ã®çµäºå¦ç169 * カーネルの終了処理 190 170 */ 191 171 void … … 193 173 { 194 174 /* 195 * çµäºå¦çã«ã¼ãã³ã®å®è¡175 * 終了処理ルーチンの実行 196 176 */ 197 177 call_terrtn(); 198 178 199 179 /* 200 * ã¿ã¼ã²ããä¾åã®çµäºå¦ç180 * ターゲット依存の終了処理 201 181 */ 202 182 target_exit(); … … 207 187 208 188 /* 209 * ã«ã¼ãã«ã®å²ãä»ããã¡ã¢ãªé åã®ç®¡ç189 * カーネルの割り付けるメモリ領域の管理 210 190 * 211 * ã¡ã¢ãªé åãå 212 é ããé ã«å²ãå½ã¦ï¼è§£æ¾ãããã¡ã¢ãªé åãåå©ç¨ã㪠213 * ãã¡ã¢ãªç®¡çã¢ã¸ã¥ã¼ã«ï¼ 191 * メモリ領域を先頭から順に割り当て,解放されたメモリ領域を再利用しな 192 * いメモリ管理モジュール. 214 193 */ 215 194 #ifdef TOPPERS_kermem
Note:
See TracChangeset
for help on using the changeset viewer.