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

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

ソースを追加

File size: 4.9 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;* ã‹L’˜ìŒ ŽÒ‚́CFree Software Foundation ‚É‚æ‚Á‚ÄŒö•\‚³‚ê‚Ä‚¢‚é
17;* GNU General Public License ‚Ì Version 2 ‚É‹Lq‚³‚ê‚Ä‚¢‚éðŒ‚©CˆÈ
18;* ‰º‚Ì(1)`(4)‚ÌðŒ‚ð–ž‚½‚·ê‡‚ÉŒÀ‚èC–{ƒ\ƒtƒgƒEƒFƒAi–{ƒ\ƒtƒgƒEƒF
19;* ƒA‚ð‰ü•Ï‚µ‚½‚à‚Ì‚ðŠÜ‚ށDˆÈ‰º“¯‚¶j‚ðŽg—pE•¡»E‰ü•ÏEÄ”z•ziˆÈ‰ºC
20;* —˜—p‚ƌĂԁj‚·‚邱‚Ƃ𖳏ž‚Å‹–‘ø‚·‚éD
21;* (1) –{ƒ\ƒtƒgƒEƒFƒA‚ðƒ\[ƒXƒR[ƒh‚ÌŒ`‚Å—˜—p‚·‚éê‡‚ɂ́Cã‹L‚Ì’˜ì
22;* Œ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’肪C‚»‚Ì‚Ü‚Ü‚ÌŒ`‚Ń\[
23;* ƒXƒR[ƒh’†‚ÉŠÜ‚Ü‚ê‚Ä‚¢‚邱‚ƁD
24;* (2) –{ƒ\ƒtƒgƒEƒFƒA‚ðÄ—˜—p‰Â”\‚ȃoƒCƒiƒŠƒR[ƒhiƒŠƒƒP[ƒ^ƒuƒ‹ƒIƒu
25;* ƒWƒFƒNƒgƒtƒ@ƒCƒ‹‚⃉ƒCƒuƒ‰ƒŠ‚Ȃǁj‚ÌŒ`‚Å—˜—p‚·‚éê‡‚ɂ́C—˜—p
26;* ‚É”º‚¤ƒhƒLƒ…
27ƒƒ“ƒgi—˜—pŽÒƒ}ƒjƒ…
28ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜ìŒ •\Ž¦C
29;* ‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’è‚ðŒfÚ‚·‚邱‚ƁD
30;* (3) –{ƒ\ƒtƒgƒEƒFƒA‚ðÄ—˜—p•s‰Â”\‚ȃoƒCƒiƒŠƒR[ƒh‚ÌŒ`‚Ü‚½‚Í‹@Ší‚É‘g
31;* ‚ݍž‚ñ‚¾Œ`‚Å—˜—p‚·‚éê‡‚ɂ́CŽŸ‚Ì‚¢‚¸‚ê‚©‚ÌðŒ‚ð–ž‚½‚·‚±‚ƁD
32;* (a) —˜—p‚É”º‚¤ƒhƒLƒ…
33ƒƒ“ƒgi—˜—pŽÒƒ}ƒjƒ…
34ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜ì
35;* Œ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’è‚ðŒfÚ‚·‚邱‚ƁD
36;* (b) —˜—p‚ÌŒ`‘Ô‚ðC•Ê‚É’è‚ß‚é•û–@‚É‚æ‚Á‚āCã‹L’˜ìŒ ŽÒ‚É•ñ‚·‚é
37;* ‚±‚ƁD
38;* (4) –{ƒ\ƒtƒgƒEƒFƒA‚Ì—˜—p‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚é‚¢‚©‚Ȃ鑹
39;* ŠQ‚©‚ç‚àCã‹L’˜ìŒ ŽÒ‚ð–Ɛӂ·‚邱‚ƁD
40;*
41;* –{ƒ\ƒtƒgƒEƒFƒA‚́C–³•ÛØ‚Å’ñ‹Ÿ‚³‚ê‚Ä‚¢‚é‚à‚Ì‚Å‚ ‚éDã‹L’˜ìŒ ŽÒ‚́C
42;* –{ƒ\ƒtƒgƒEƒFƒA‚ÉŠÖ‚µ‚āC‚»‚Ì“K—p‰Â”\«‚àŠÜ‚߂āC‚¢‚©‚È‚é•ÛØ‚às‚í
43;* ‚È‚¢D‚Ü‚½C–{ƒ\ƒtƒgƒEƒFƒA‚Ì—˜—p‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚½‚¢
44;* ‚©‚Ȃ鑹ŠQ‚ÉŠÖ‚µ‚Ä‚àC‚»‚̐ӔC‚𕉂í‚È‚¢D
45
46 .section P, CODE
47
48
49 .glb _hardware_init_hook
50 .glb _software_init_hook
51
52
53_hardware_init_hook:
54 ;
55 ; “®ìƒ‚[ƒhÝ’è
56 ;
57 ; “®ìƒ‚[ƒh‚̓{[ƒhã‚Ì’[Žq‚É‚æ‚Á‚ÄŒˆ’肳‚ê‚邽‚ß,
58 ; ‚±‚±‚Å‚Í“Á•ÊÝ’肵‚È‚¢.
59 ; ‚½‚¾‚µ, ƒŠƒgƒ‹ƒGƒ“ƒfƒBƒAƒ“/ƒVƒ“ƒOƒ‹ƒ`ƒbƒvƒ‚[ƒh
60 ; ‚Å‚ ‚邱‚Æ‚ð‘O’ñ‚Æ‚·‚é.
61 ;
62 ; ‚Ü‚½ƒŠƒZƒbƒgŒã, “à‘ ROMF—LŒø, “à‘ RAMF—LŒø, ŠO•”ƒoƒXF–³Œø
63 ; ‚Å‚ ‚é.
64 ;
65
66 ;
67 ; ƒNƒƒbƒNÝ’è
68 ;
69 ; “ü—́F12MHz
70 ; PLL‰ñ˜HF12 x 8 = 96MHz
71 ; ƒVƒXƒeƒ€ƒNƒƒbƒNF96MHz
72 ; Žü•Óƒ‚ƒWƒ…
73[ƒ‹ƒNƒƒbƒNF48MHz
74 ; ŠO•”ƒoƒXƒNƒƒbƒNF96MHz
75 ; ‚Æ‚·‚é.
76 ;
77
78 ;PORT3.PDR.BIT.B6 = 0;
79 MOV.L #08C003H,R11
80 MOV.B [R11],R10
81 BCLR #6,R10
82 MOV.B R10,[R11]
83 ;PORT3.PDR.BIT.B7 = 0;
84 MOV.L #08C003H,R11
85 MOV.B [R11],R10
86 BCLR #7,R10
87 MOV.B R10,[R11]
88 ;PORT3.PMR.BIT.B6 = 0;
89 MOV.L #08C003H,R11
90 MOV.B 60H[R11],R10
91 BCLR #6,R10
92 MOV.B R10,60H[R11]
93 ;PORT3.PMR.BIT.B7 = 0;
94 MOV.L #08C003H,R11
95 MOV.B 60H[R11],R10
96 BCLR #7,R10
97 MOV.B R10,60H[R11]
98 ;
99 ;SYSTEM.PRCR.WORD = 0xa503;
100 MOV.L #080000H,R10
101 MOV.W #-5AFDH,03FEH[R10]
102 ;
103 ;while(SYSTEM.MOFCR.BIT.MOFXIN == 0)
104 BRA.B _hardware_init_hook_01
105 ;SYSTEM.MOFCR.BIT.MOFXIN = 1; // ƒƒCƒ“ƒNƒƒbƒN”­UŠí‹­§”­U
106_hardware_init_hook_00:
107 MOV.L #080000H,R11
108 MOV.B 0C293H[R11],R10
109 BSET #0,R10
110 MOV.B R10,0C293H[R11]
111_hardware_init_hook_01:
112 MOV.L #080000H,R10
113 MOV.B 0C293H[R10],R10
114 AND #1H,R10
115 MOVU.B R10,R10
116 CMP #0H,R10
117 BEQ.B _hardware_init_hook_00
118 ;
119 ;while(SYSTEM.MOSCCR.BIT.MOSTP == 1)
120 BRA.B _hardware_init_hook_11
121 ;SYSTEM.MOSCCR.BIT.MOSTP = 0; // ƒƒCƒ“ƒNƒƒbƒN”­UŠí“®ì
122_hardware_init_hook_10:
123 MOV.L #080000H,R11
124 MOV.B 32H[R11],R10
125 BCLR #0,R10
126 MOV.B R10,32H[R11]
127_hardware_init_hook_11:
128 MOV.L #080000H,R10
129 MOV.B 32H[R10],R10
130 AND #1H,R10
131 MOVU.B R10,R10
132 CMP #0H,R10
133 BNE.B _hardware_init_hook_10
134 ;
135 ;SYSTEM.PLLCR.BIT.STC = 0x0f;
136 MOV.L #080000H,R10
137 MOV.W 28H[R10],R11
138 AND #-3F01H,R11
139 OR #0F00H,R11
140 MOV.W R11,28H[R10]
141 ;SYSTEM.PLLCR2.BIT.PLLEN = 0;
142 MOV.L #080000H,R11
143 MOV.B 2AH[R11],R10
144 BCLR #0,R10
145 MOV.B R10,2AH[R11]
146 ;
147 ;SYSTEM.SCKCR.LONG = 0x21021211;
148 MOV.L #080000H,R10
149 MOV.L #21021211H,20H[R10]
150 ;
151 ;SYSTEM.SCKCR3.BIT.CKSEL = 4; // PLL‰ñ˜H‘I‘ð
152 MOV.L #080000H,R10
153 MOV.W 26H[R10],R11
154 AND #-0701H,R11
155 OR #0400H,R11
156 MOV.W R11,26H[R10]
157
158 ;
159 ; ƒ‚ƒWƒ…
160[ƒ‹ƒXƒgƒbƒv
161 ;
162 ; ƒŠƒZƒbƒgŒã, “®ì‚µ‚Ä‚¢‚é“à‘ Žü•Óƒ‚ƒWƒ…
163[ƒ‹‚ÍDMAC, DTC,
164 ; “à‘ RAM‚Ì‚Ý‚Å‚ ‚é.
165 ; ‚»‚êˆÈŠO‚Ì“à‘ Žü•Óƒ‚ƒWƒ…
166[ƒ‹‚ÉŠÖ‚µ‚Ä‚ÍŽg—p‚·‚鑤‚Å
167 ; Ý’è‚·‚邱‚Æ.
168 ;
169
170 ;SYSTEM.PRCR.WORD = 0xa500;
171 MOV.L #080000H,R10
172 MOV.W #-5B00H,03FEH[R10]
173 rts
174
175
176_software_init_hook:
177 ;
178 ; –{ƒRƒ“ƒpƒCƒ‰‚Å‚Íweak definition‚Ì‹@”\‚ª–³‚¢‚½‚ß,
179 ; “Á‚É•K—v‚ȏˆ—‚Í‚È‚¢‚ª, •K‚¸ŒÄ‚яo‚·‚±‚Æ‚Æ‚·‚é.
180 ;
181 rts
182
183
184 .end
185
Note: See TracBrowser for help on using the repository browser.