Changeset 315 for rubycfg_asp/trunk/asp_dcre/arch/rx630_ccrx/start.src
- Timestamp:
- Jul 23, 2017, 2:29:40 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
rubycfg_asp/trunk/asp_dcre/arch/rx630_ccrx/start.src
-
Property svn:eol-style
set to
native
-
Property svn:keywords
set to
Id
-
Property svn:mime-type
set to
text/x-gas; charset=UTF-8
r313 r315 11 11 ;* Copyright (C) 2013 by Mitsuhiro Matsuura 12 12 ;* 13 ;* ä¸è¨èä½æ¨©è 14 ã¯ï¼Free Software Foundation ã«ãã£ã¦å 15 ¬è¡¨ããã¦ãã 16 ;* GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥ 17 ;* ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ 18 ;* ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹å¤ã»åé 19 å¸ï¼ä»¥ä¸ï¼ 20 ;* å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 21 ;* (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 22 ;* 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 23 ;* ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 24 ;* (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªãã±ã¼ã¿ãã«ãªã 25 ;* ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨ 26 ;* ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 27 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ 28 ;* ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 29 ;* (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ 30 ;* ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼ 31 ;* (a) å©ç¨ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 32 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½ 33 ;* 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 34 ;* (b) å©ç¨ã®å½¢æ 35 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨èä½æ¨©è 36 ã«å ±åãã 37 ;* ãã¨ï¼ 38 ;* (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 39 ;* 害ãããï¼ä¸è¨èä½æ¨©è 40 ãå 41 責ãããã¨ï¼ 13 ;* 上記著作権者は,Free Software Foundation によって公表されている 14 ;* GNU General Public License の Version 2 に記述されている条件か,以 15 ;* 下の(1)~(4)の条件を満たす場合に限り,本ソフトウェア(本ソフトウェ 16 ;* アを改変したものを含む.以下同じ)を使用・複製・改変・再配布(以下, 17 ;* 利用と呼ぶ)することを無償で許諾する. 18 ;* (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 19 ;* 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 20 ;* スコード中に含まれていること. 21 ;* (2) 本ソフトウェアを再利用可能なバイナリコード(リロケータブルオブ 22 ;* ジェクトファイルやライブラリなど)の形で利用する場合には,利用 23 ;* に伴うドキュメント(利用者マニュアルなど)に,上記の著作権表示, 24 ;* この利用条件および下記の無保証規定を掲載すること. 25 ;* (3) 本ソフトウェアを再利用不可能なバイナリコードの形または機器に組 26 ;* み込んだ形で利用する場合には,次のいずれかの条件を満たすこと. 27 ;* (a) 利用に伴うドキュメント(利用者マニュアルなど)に,上記の著作 28 ;* 権表示,この利用条件および下記の無保証規定を掲載すること. 29 ;* (b) 利用の形態を,別に定める方法によって,上記著作権者に報告する 30 ;* こと. 31 ;* (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 32 ;* 害からも,上記著作権者を免責すること. 42 33 ;* 43 ;* æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 44 ã¯ï¼ 45 ;* æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã 46 ;* ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã 47 ;* ããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 34 ;* 本ソフトウェアは,無保証で提供されているものである.上記著作権者は, 35 ;* 本ソフトウェアに関して,その適用可能性も含めて,いかなる保証も行わ 36 ;* ない.また,本ソフトウェアの利用により直接的または間接的に生じたい 37 ;* かなる損害に関しても,その責任を負わない. 48 38 ;* 49 39 50 40 51 41 ; 52 ; ã¡ã¢ãªãããã®å®ç¾©(ã¿ã¼ã²ããä¾åé¨)42 ; メモリマップの定義(ターゲット依存部) 53 43 ; 54 44 .include sectrx.inc 55 45 56 DFLRE .equ 007FC440H ; DFLRE ã¬ã¸ã¹ã¿46 DFLRE .equ 007FC440H ; DFLREレジスタ 57 47 58 48 DB_BLOCK_ENABLE .equ 02D0FH 59 49 60 50 ; 61 ; åæåã«ã¼ãã³51 ; 初期化ルーチン 62 52 ; 63 53 .section P_START, CODE … … 71 61 _start: 72 62 ; 73 ; é»æºæå 74 ¥å¾ã¯ã¬ãã«0, å 75 ¨å²è¾¼ã¿ç¦æ¢ç¶æ 76 ã§ãã. 77 ; ã«ã¼ãã«ã§ã¯é«éå²è¾¼ã¿ã使ç¨ããªããããBPC, BPSWåã³FINTV 78 ; ã®åæåã¯è¡ããªã. 63 ; 電源投入後はレベル0, 全割込み禁止状態である. 64 ; カーネルでは高速割込みを使用しないため、BPC, BPSW及びFINTV 65 ; の初期化は行わない. 79 66 ; 80 67 81 68 ; 82 ; å 83 èµROMï¼ãã¼ã¿ãã©ãã·ã¥ï¼é åã®è¨å® 69 ; 内蔵ROM(データフラッシュ)領域の設定 84 70 ; 85 ; ãªã»ããå¾, ãã¼ã¿ãã©ãã·ã¥é åã¯èªã¿åºãç¦æ¢ã¨ãªã£ã¦ãã86 ; ãã, èªã¿åºã許å¯ã«è¨å®ãã.71 ; リセット後, データフラッシュ領域は読み出し禁止となっている 72 ; ため, 読み出し許可に設定する. 87 73 ; 88 74 mov.l #DFLRE, r5 … … 90 76 91 77 ; 92 ; ã¹ã¿ãã¯ãã¤ã³ã¿ã®è¨å®78 ; スタックポインタの設定 93 79 ; 94 ; ã¦ã¼ã¶ã«ã¦éã¿ã¹ã¯ã³ã³ããã¹ãç¨ã¹ã¿ãã¯é åãç¨æããå ´å,95 ; ã¦ã¼ã¶é åãè¨å®ãã.96 ; kernel_cfg.c ã«ã¦"_kernel_istkpt"ã®å¤ã決å®ãã.80 ; ユーザにて非タスクコンテキスト用スタック領域を用意した場合, 81 ; ユーザ領域を設定する. 82 ; kernel_cfg.cにて"_kernel_istkpt"の値を決定する. 97 83 ; 98 84 mov.l #__kernel_istkpt, r5 99 mov.l [r5], r0 ; éã¿ã¹ã¯ã³ã³ããã¹ãç¨ã¹ã¿ãã¯é åãè¨å®85 mov.l [r5], r0 ; 非タスクコンテキスト用スタック領域を設定 100 86 101 87 ; 102 ; å¯å¤ãã¯ã¿ãã¼ãã«ã®è¨å®88 ; 可変ベクタテーブルの設定 103 89 ; 104 mvtc #VVECTOR_TOP, intb ; ãã¯ã¿ãã¼ãã«ã®è¨å®90 mvtc #VVECTOR_TOP, intb ; ベクタテーブルの設定 105 91 106 92 ; 107 ; ãã¼ãã¦ã§ã¢åºæã®åæåã«ã¼ãã³ã®å¼åºã93 ; ハードウェア固有の初期化ルーチンの呼出し 108 94 ; 109 95 mov.l #_hardware_init_hook, r5 … … 113 99 114 100 ; 115 ; åæå¤ããå¤æ°é åã®åæå101 ; 初期値あり変数領域の初期化 116 102 ; 117 103 init_D: 118 104 mov.l #(sizeof R), r3 119 105 cmp #0, r3 120 beq.b init_D_2 ; ãµã¤ãº0ãªãåæåå¿ 121 è¦ãªã 106 beq.b init_D_2 ; サイズ0なら初期化必要なし 122 107 mov.l #(topof R), r1 123 108 mov.l #(topof D), r2 … … 127 112 mov.l #(sizeof R_2), r3 128 113 cmp #0, r3 129 beq.b init_D_1 ; ãµã¤ãº0ãªãåæåå¿ 130 è¦ãªã 114 beq.b init_D_1 ; サイズ0なら初期化必要なし 131 115 mov.l #(topof R_2), r1 132 116 mov.l #(topof D_2), r2 … … 136 120 mov.l #(sizeof R_1), r3 137 121 cmp #0, r3 138 beq.b clear_B ; ãµã¤ãº0ãªãåæåå¿ 139 è¦ãªã 122 beq.b clear_B ; サイズ0なら初期化必要なし 140 123 mov.l #(topof R_1), r1 141 124 mov.l #(topof D_1), r2 … … 143 126 144 127 ; 145 ; åæå¤ãªãå¤æ°é åã®åæå128 ; 初期値なし変数領域の初期化 146 129 ; 147 130 clear_B: … … 164 147 165 148 ; 166 ; software_init_hook ãå¼åºãï¼0 ã§ãªãå ´åï¼149 ; software_init_hook を呼出し(0 でない場合) 167 150 ; 168 ; ã½ããã¦ã§ã¢ç°å¢ï¼ç¹ã«ã©ã¤ãã©ãªï¼ã«ä¾åãã¦å¿ 169 è¦ãªåæåå¦ç 170 ; ãããå ´åã¯ï¼software_init_hook ã¨ããé¢æ°ãç¨æããã°ãã. 151 ; ソフトウェア環境(特にライブラリ)に依存して必要な初期化処理 152 ; がある場合は,software_init_hook という関数を用意すればよい. 171 153 ; 172 154 mov.l #_software_init_hook, r5 … … 176 158 177 159 ; 178 ; ã«ã¼ãã«ã¹ã¿ã¼ã160 ; カーネルスタート 179 161 ; 180 162 kernel_link: -
Property svn:eol-style
set to
Note:
See TracChangeset
for help on using the changeset viewer.