Changeset 95 for ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/prc_config.c
- Timestamp:
- Jun 2, 2015, 3:39:53 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/prc_config.c
-
Property svn:mime-type
set to
text/plain; charset=shift_jis
r93 r95 7 7 * Copyright (C) 2010 by Meika Sugimoto 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 35 * 36 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨ 37 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI 38 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF 39 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC» 40 * ÌÓCðíÈ¢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 * 免責すること. 31 * 32 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 33 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 34 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 35 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 36 * の責任を負わない. 41 37 * 42 38 * @(#) $Id: prc_config.c 1304 2008-08-27 07:28:36Z ertl-honda $ … … 44 40 45 41 /* 46 * vZbT˶W 47 [iARM-Mpj 42 * プロセッサ依存モジュール(ARM-M用) 48 43 */ 49 44 … … 55 50 56 51 /* 57 * CPU bNtOÀ»Ì½ßÌÏ58 */ 59 volatile bool_t lock_flag; /* CPU bNtOÌlðÛ·éÏ*/60 volatile uint32_t saved_iipm; /* ÝDæx}XNðÛ¶·éÏ*/61 62 /* ÝlXgÌÇ*/52 * CPUロックフラグ実現のための変数 53 */ 54 volatile bool_t lock_flag; /* CPUロックフラグの値を保持する変数 */ 55 volatile uint32_t saved_iipm; /* 割込み優先度マスクを保存する変数 */ 56 57 /* 割込みネスト数の管理 */ 63 58 uint8_t intnest; 64 59 65 60 /* 66 * xN^e[u(kernel_cfg.c)61 * ベクタテーブル(kernel_cfg.c) 67 62 */ 68 63 extern const FP vector_table[]; 69 64 70 65 /* 71 * VXeáOEÝÌiáOÔ 4`15j72 * ÝDæxÝèWX^ÖÌANZX̽ßÌzñ66 * システム例外・割込みの(例外番号 4〜15) 67 * 割込み優先度設定レジスタへのアクセスのための配列 73 68 */ 74 69 static const unsigned int nvic_sys_pri_reg[] = { … … 80 75 81 76 /* 82 * áOÆÝÌÝDæxðZbg77 * 例外と割込みの割込み優先度をセット 83 78 * 84 * excno ÍARM-MÅèßçêÄ¢é Exception Number ðwèD79 * excnoはARM-Mで定められている Exception Number を指定. 85 80 */ 86 81 void … … 89 84 90 85 /* 91 * ÝDæxÝèWX^Ìè86 * 割込み優先度設定レジスタの決定 92 87 */ 93 88 if ((EXCNO_MPU <= excno) && (excno <= IRQNO_SYSTICK)) { 94 89 /* 95 * Exception Number 4(Memory Management) ©ç96 * Exception Number 15(SysTick) ÜÅÌÝDæxÍVXeDæx97 * WX^ÉæèÝèD90 * Exception Number 4(Memory Management)から 91 * Exception Number 15(SysTick)までの割込み優先度はシステム優先度 92 * レジスタにより設定. 98 93 */ 99 94 reg = nvic_sys_pri_reg[excno >> 2]; … … 101 96 else if ((TMIN_INTNO < excno) && (excno <= TMAX_INTNO)){ 102 97 /* 103 * IRQ ÝÈç98 * IRQ割込みなら 104 99 */ 105 100 reg = NVIC_PRI0 + (((excno - (TMIN_INTNO + 1)) >> 2) * 4); … … 116 111 117 112 /* 118 * áOÌÂ113 * 例外の許可 119 114 * 120 * Memory Management, Bus Fault, Usage Fault ÍÖ~Eª¨¤115 * Memory Management, Bus Fault, Usage Fault は禁止・許可が買おう 121 116 */ 122 117 void … … 145 140 146 141 /* 147 * áOÌÖ~142 * 例外の禁止 148 143 */ 149 144 void … … 173 168 174 169 /* 175 * vZbT˶Ìú»170 * プロセッサ依存の初期化 176 171 */ 177 172 void … … 179 174 { 180 175 /* 181 * CPU bNtOÀ»Ì½ßÌÏÌú»176 * CPUロックフラグ実現のための変数の初期化 182 177 */ 183 178 lock_flag = true; 184 179 saved_iipm = IIPM_ENAALL; 185 180 186 /* ÝlXgÌú»*/181 /* 割込みネスト数の初期化 */ 187 182 intnest = 0u; 188 183 189 184 /* 190 * xN^e[uðÝè185 * ベクタテーブルを設定 191 186 */ 192 187 sil_wrw_mem((void*)NVIC_VECTTBL, (uint32_t)vector_table); 193 188 194 189 /* 195 * SVC nhÌDæxðÝè190 * SVCハンドラの優先度を設定 196 191 */ 197 192 set_exc_int_priority(EXCNO_SVCALL, 0); 198 193 199 194 /* 200 * SVC nhðLøÉ195 * SVCハンドラを有効に 201 196 */ 202 197 x_enable_int(EXCNO_SVCALL); … … 204 199 205 200 /* 206 * vZbT˶ÌI¹201 * プロセッサ依存の終了処理 207 202 */ 208 203 void … … 214 209 215 210 /* 216 * ÝvC®«ÌÝè211 * 割込み要求ライン属性の設定 217 212 */ 218 213 void … … 223 218 224 219 /* 225 * êUÝðÖ~·é220 * 一旦割込みを禁止する 226 221 */ 227 222 (void)x_disable_int(intno); … … 229 224 230 225 /* 231 * ÝDæxðZbg226 * 割込み優先度をセット 232 227 */ 233 228 set_exc_int_priority(intno, intpri); 234 229 235 230 /* 236 * Ýv}XNð(KvÈê)237 * ¯ÉÝDæxàZbg³êé231 * 割込み要求マスク解除(必要な場合) 232 * 同時に割込み優先度もセットされる 238 233 */ 239 234 if ((intatr & TA_ENAINT) != 0U) { … … 245 240 #ifndef OMIT_DEFAULT_EXC_HANDLER 246 241 /* 247 * Trapa ÈOÌáOÅo^³êĢȢáOª¶·éÆÄÑo³êé242 * Trapa以外の例外で登録されていない例外が発生すると呼び出される 248 243 */ 249 244 void … … 265 260 #ifndef OMIT_DEFAULT_INT_HANDLER 266 261 /* 267 * ¢o^Ìݪ¶µ½êÉÄÑo³êé262 * 未登録の割込みが発生した場合に呼び出される 268 263 */ 269 264 void -
Property svn:mime-type
set to
Note:
See TracChangeset
for help on using the changeset viewer.