source: rubycfg_asp/trunk/asp_dcre/target/gr_sakura_ccrx/target_support.src@ 315

Last change on this file since 315 was 315, checked in by coas-nagasima, 7 years ago

SVNプロパティを設定

  • 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
File size: 5.6 KB
Line 
1;*
2;* TOPPERS/ASP Kernel
3;* Toyohashi Open Platform for Embedded Real-Time Systems/
4;* Advanced Standard Profile Kernel
5;*
6;* Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
7;* Toyohashi Univ. of Technology, JAPAN
8;* Copyright (C) 2001 by OAKS16KIT support
9;* Copyright (C) 2003-2004 by Naoki Saito
10;* Nagoya Municipal Industrial Research Institute, JAPAN
11;* Copyright (C) 2003-2004 by Ryosuke Takeuchi
12;* Platform Development Center RICOH COMPANY,LTD. JAPAN
13;* Copyright (C) 2008-2010 by Witz Corporation, JAPAN
14;* Copyright (C) 2013 by Mitsuhiro Matsuura
15;*
16;* 上記著作権者は,Free Software Foundation によって公表されている
17;* GNU General Public License の Version 2 に記述されている条件か,以
18;* 下の(1)~(4)の条件を満たす場合に限り,本ソフトウェア(本ソフトウェ
19;* アを改変したものを含む.以下同じ)を使用・複製・改変・再配布(以下,
20;* 利用と呼ぶ)することを無償で許諾する.
21;* (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
22;* 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
23;* スコード中に含まれていること.
24;* (2) 本ソフトウェアを再利用可能なバイナリコード(リロケータブルオブ
25;* ジェクトファイルやライブラリなど)の形で利用する場合には,利用
26;* に伴うドキュメント(利用者マニュアルなど)に,上記の著作権表示,
27;* この利用条件および下記の無保証規定を掲載すること.
28;* (3) 本ソフトウェアを再利用不可能なバイナリコードの形または機器に組
29;* み込んだ形で利用する場合には,次のいずれかの条件を満たすこと.
30;* (a) 利用に伴うドキュメント(利用者マニュアルなど)に,上記の著作
31;* 権表示,この利用条件および下記の無保証規定を掲載すること.
32;* (b) 利用の形態を,別に定める方法によって,上記著作権者に報告する
33;* こと.
34;* (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
35;* 害からも,上記著作権者を免責すること.
36;*
37;* 本ソフトウェアは,無保証で提供されているものである.上記著作権者は,
38;* 本ソフトウェアに関して,その適用可能性も含めて,いかなる保証も行わ
39;* ない.また,本ソフトウェアの利用により直接的または間接的に生じたい
40;* かなる損害に関しても,その責任を負わない.
41
42 .section P, CODE
43
44
45 .glb _hardware_init_hook
46 .glb _software_init_hook
47
48
49_hardware_init_hook:
50 ;
51 ; 動作モード設定
52 ;
53 ; 動作モードはボード上の端子によって決定されるため,
54 ; ここでは特別設定しない.
55 ; ただし, リトルエンディアン/シングルチップモード
56 ; であることを前提とする.
57 ;
58 ; またリセット後, 内蔵ROM:有効, 内蔵RAM:有効, 外部バス:無効
59 ; である.
60 ;
61
62 ;
63 ; クロック設定
64 ;
65 ; 入力:12MHz
66 ; PLL回路:12 x 8 = 96MHz
67 ; システムクロック:96MHz
68 ; 周辺モジュールクロック:48MHz
69 ; 外部バスクロック:96MHz
70 ; とする.
71 ;
72
73 ;PORT3.PDR.BIT.B6 = 0;
74 MOV.L #08C003H,R11
75 MOV.B [R11],R10
76 BCLR #6,R10
77 MOV.B R10,[R11]
78 ;PORT3.PDR.BIT.B7 = 0;
79 MOV.L #08C003H,R11
80 MOV.B [R11],R10
81 BCLR #7,R10
82 MOV.B R10,[R11]
83 ;PORT3.PMR.BIT.B6 = 0;
84 MOV.L #08C003H,R11
85 MOV.B 60H[R11],R10
86 BCLR #6,R10
87 MOV.B R10,60H[R11]
88 ;PORT3.PMR.BIT.B7 = 0;
89 MOV.L #08C003H,R11
90 MOV.B 60H[R11],R10
91 BCLR #7,R10
92 MOV.B R10,60H[R11]
93 ;
94 ;SYSTEM.PRCR.WORD = 0xa503;
95 MOV.L #080000H,R10
96 MOV.W #-5AFDH,03FEH[R10]
97 ;
98 ;while(SYSTEM.MOFCR.BIT.MOFXIN == 0)
99 BRA.B _hardware_init_hook_01
100 ;SYSTEM.MOFCR.BIT.MOFXIN = 1; // メインクロック発振器強制発振
101_hardware_init_hook_00:
102 MOV.L #080000H,R11
103 MOV.B 0C293H[R11],R10
104 BSET #0,R10
105 MOV.B R10,0C293H[R11]
106_hardware_init_hook_01:
107 MOV.L #080000H,R10
108 MOV.B 0C293H[R10],R10
109 AND #1H,R10
110 MOVU.B R10,R10
111 CMP #0H,R10
112 BEQ.B _hardware_init_hook_00
113 ;
114 ;while(SYSTEM.MOSCCR.BIT.MOSTP == 1)
115 BRA.B _hardware_init_hook_11
116 ;SYSTEM.MOSCCR.BIT.MOSTP = 0; // メインクロック発振器動作
117_hardware_init_hook_10:
118 MOV.L #080000H,R11
119 MOV.B 32H[R11],R10
120 BCLR #0,R10
121 MOV.B R10,32H[R11]
122_hardware_init_hook_11:
123 MOV.L #080000H,R10
124 MOV.B 32H[R10],R10
125 AND #1H,R10
126 MOVU.B R10,R10
127 CMP #0H,R10
128 BNE.B _hardware_init_hook_10
129 ;
130 ;SYSTEM.PLLCR.BIT.STC = 0x0f;
131 MOV.L #080000H,R10
132 MOV.W 28H[R10],R11
133 AND #-3F01H,R11
134 OR #0F00H,R11
135 MOV.W R11,28H[R10]
136 ;SYSTEM.PLLCR2.BIT.PLLEN = 0;
137 MOV.L #080000H,R11
138 MOV.B 2AH[R11],R10
139 BCLR #0,R10
140 MOV.B R10,2AH[R11]
141 ;
142 ;SYSTEM.SCKCR.LONG = 0x21021211;
143 MOV.L #080000H,R10
144 MOV.L #21021211H,20H[R10]
145 ;
146 ;SYSTEM.SCKCR3.BIT.CKSEL = 4; // PLL回路選択
147 MOV.L #080000H,R10
148 MOV.W 26H[R10],R11
149 AND #-0701H,R11
150 OR #0400H,R11
151 MOV.W R11,26H[R10]
152
153 ;
154 ; モジュールストップ
155 ;
156 ; リセット後, 動作している内蔵周辺モジュールはDMAC, DTC,
157 ; 内蔵RAMのみである.
158 ; それ以外の内蔵周辺モジュールに関しては使用する側で
159 ; 設定すること.
160 ;
161
162 ;SYSTEM.PRCR.WORD = 0xa500;
163 MOV.L #080000H,R10
164 MOV.W #-5B00H,03FEH[R10]
165 rts
166
167
168_software_init_hook:
169 ;
170 ; 本コンパイラではweak definitionの機能が無いため,
171 ; 特に必要な処理はないが, 必ず呼び出すこととする.
172 ;
173 rts
174
175
176 .end
177
Note: See TracBrowser for help on using the repository browser.