- Timestamp:
- Aug 23, 2017, 9:27:43 AM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
EcnlProtoTool/trunk/asp3_dcre/target/gr_peach_gcc/target_support.S
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain;charset=UTF-8
r270 r321 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 責ãããã¨ï¼ 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 * 免責すること. 47 33 * 48 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 49 ã 50 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 51 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 52 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 53 * ã®è²¬ä»»ãè² ããªãï¼ 34 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 35 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 36 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 37 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 38 * の責任を負わない. 54 39 * 55 40 * $Id$ … … 57 42 58 43 /* 59 * ã«ã¼ãã«ã®ã¿ã¼ã²ããä¾åé¨ã®ã¢ã»ã³ããªè¨èªé¨ï¼GR-PEACHç¨ï¼44 * カーネルのターゲット依存部のアセンブリ言語部(GR-PEACH用) 60 45 */ 61 46 62 47 #define TOPPERS_MACRO_ONLY 63 48 #define TOPPERS_ASM_MACRO 64 #define UINT_C(val) (val) /* uint_t åã®å®æ°ãä½ããã¯ã*/65 #define ULONG_C(val) (val) /* ulong_t åã®å®æ°ãä½ããã¯ã*/66 #define CAST(type, val) (val) /* åãã£ã¹ããè¡ããã¯ã*/49 #define UINT_C(val) (val) /* uint_t型の定数を作るマクロ */ 50 #define ULONG_C(val) (val) /* ulong_t型の定数を作るマクロ */ 51 #define CAST(type, val) (val) /* 型キャストを行うマクロ */ 67 52 #include "kernel_impl.h" 68 53 #include "core_pl310.h" … … 70 55 71 56 /* 72 * ä½ã¬ãã«ã®ã¿ã¼ã²ããã·ã¹ãã ä¾åã®åæå57 * 低レベルのターゲットシステム依存の初期化 73 58 * 74 * ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã®ä¸ã§ï¼ã¡ã¢ãªåæåã®åã«å¼ã³åºãããï¼59 * スタートアップモジュールの中で,メモリ初期化の前に呼び出される. 75 60 */ 76 61 ATEXT … … 79 64 ALABEL(hardware_init_hook) 80 65 /* 81 * å 82 èµRAMã¸ã®ã¢ã¯ã»ã¹ï¼æ¸è¾¼ã¿è¨±å¯ 66 * 内蔵RAMへのアクセス/書込み許可 83 67 */ 84 68 ldr r2, =(RZA1_SYSCR3) 85 69 ldr r0, =0x0f 86 strb r0, [r2] /* å 87 èµä¿æç¨RAMã®ãã¼ã¸0ï½3ã¸ã®æ¸è¾¼ã¿è¨±å¯ */ 88 ldrb r0, [r2] /* ããã¼ãªã¼ã */ 70 strb r0, [r2] /* 内蔵保持用RAMのページ0~3への書込み許可 */ 71 ldrb r0, [r2] /* ダミーリード */ 89 72 90 73 /* 91 * ã¯ããã¯é¢ä¿ã®åæå74 * クロック関係の初期化 92 75 * 93 * 以ä¸ã®è¨å®ã¨ããï¼ 94 * å 95 ¥åå¨æ³¢æ°ï¼13.33MHzï¼CKIOï¼66.67MHz 96 * CPUã¯ããã¯ï¼IÏï¼ï¼400.00MHz 97 * ç»åå¦çã¯ããã¯ï¼GÏï¼ï¼266.67MHz 98 * å 99 é¨ãã¹ã¯ããã¯ï¼BÏï¼ï¼133.33MHz 100 * å¨è¾ºã¯ããã¯1ï¼P1Ïï¼ï¼66.67MHz 101 * å¨è¾ºã¯ããã¯0ï¼P0Ïï¼ï¼33.33MHz 76 * 以下の設定とする. 77 * 入力周波数:13.33MHz,CKIO:66.67MHz 78 * CPUクロック(Iφ):400.00MHz 79 * 画像処理クロック(Gφ):266.67MHz 80 * 内部バスクロック(Bφ):133.33MHz 81 * 周辺クロック1(P1φ):66.67MHz 82 * 周辺クロック0(P0φ):33.33MHz 102 83 */ 103 84 104 85 /* 105 * L2ãã£ãã·ã¥ã®ã¹ã¿ã³ãã¤ã¢ã¼ããã¤ãã¼ãã«ï¼å¨æ³¢æ°å¤æ´æã«å¿ 106 è¦ï¼ 86 * L2キャッシュのスタンバイモードをイネーブル(周波数変更時に必要) 107 87 */ 108 88 ldr r2, =(PL310_POWER_CTRL) 109 89 ldr r0, [r2] 110 orr r0, r0, #0x01 /* ã¹ã¿ã³ãã¤ã¢ã¼ãã«*/90 orr r0, r0, #0x01 /* スタンバイモードに */ 111 91 str r0, [r2] 112 92 113 93 ALABEL(set_frqcr) 114 94 /* 115 * CPU ã¯ããã¯ããÃ1åãã«ï¼400MHzï¼95 * CPUクロックを「×1倍」に(400MHz) 116 96 */ 117 97 ldr r2, =(RZA1_FRQCR) … … 124 104 #ifdef TOPPERS_RZA1H 125 105 /* 126 * ç»åå¦çã¯ããã¯ããÃ2/3ãã«ï¼266.67MHzï¼106 * 画像処理クロックを「×2/3」に(266.67MHz) 127 107 */ 128 108 ALABEL(set_frqcr2) … … 136 116 137 117 /* 138 * ã½ããã¦ã§ã¢ã¹ã¿ã³ãã¤å¾©å¸°ä¸ã§ãªããªãã¾ã§å¾ 139 㤠118 * ソフトウェアスタンバイ復帰中でなくなるまで待つ 140 119 */ 141 120 wait_isbusy: … … 146 125 147 126 /* 148 * L2 ãã£ãã·ã¥ã®ã¹ã¿ã³ãã¤ã¢ã¼ãããã£ã¹ã¨ã¼ãã«127 * L2キャッシュのスタンバイモードをディスエーブル 149 128 */ 150 129 ldr r2, =(PL310_POWER_CTRL) 151 130 ldr r0, [r2] 152 bfc r0, #0, #1 /* ã¹ã¿ã³ãã¤ã¢ã¼ãããã£ã¹ã¨ã¼ãã«*/131 bfc r0, #0, #1 /* スタンバイモードをディスエーブル */ 153 132 str r0, [r2] 154 133 bx lr
Note:
See TracChangeset
for help on using the changeset viewer.