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ì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
|
---|
17 | ;* Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü
|
---|
18 | ;* ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD
|
---|
19 | ;* (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
|
---|
20 | ;* \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[
|
---|
21 | ;* XR[hÉÜÜêÄ¢é±ÆD
|
---|
22 | ;* (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg
|
---|
23 | ;* pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL
|
---|
24 | gip
|
---|
25 | ;* Ò}j
|
---|
26 | AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL
|
---|
27 | ;* ̳ÛØKèðfÚ·é±ÆD
|
---|
28 | ;* (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg
|
---|
29 | ;* pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
|
---|
30 | ;* ÆD
|
---|
31 | ;* (a) Äzzɺ¤hL
|
---|
32 | gipÒ}j
|
---|
33 | AÈÇjÉCãLÌ
|
---|
34 | ;* ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD
|
---|
35 | ;* (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
|
---|
36 | ;* ñ·é±ÆD
|
---|
37 | ;* (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹
|
---|
38 | ;* Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
|
---|
39 | ;* ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé
|
---|
40 | ;* RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð
|
---|
41 | ;* ÆÓ·é±ÆD
|
---|
42 | ;*
|
---|
43 | ;* {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
|
---|
44 | ;* æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
|
---|
45 | ;* ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF
|
---|
46 | ;* AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»
|
---|
47 | ;* ÌÓCðíÈ¢D
|
---|
48 | ;*
|
---|
49 | ;* @(#) $Id: target_support.src 536 2014-10-09 23:11:40Z coas-nagasima $
|
---|
50 | ;*
|
---|
51 |
|
---|
52 | .section P, CODE
|
---|
53 |
|
---|
54 |
|
---|
55 | .glb _hardware_init_hook
|
---|
56 | .glb _software_init_hook
|
---|
57 |
|
---|
58 |
|
---|
59 | _hardware_init_hook:
|
---|
60 | ;
|
---|
61 | ; ®ì[hÝè
|
---|
62 | ;
|
---|
63 | ; ®ì[hÍ{[hãÌ[qÉæÁÄè³êé½ß,
|
---|
64 | ; ±±ÅÍÁÊÝèµÈ¢.
|
---|
65 | ; ½¾µ, gGfBA/VO`bv[h
|
---|
66 | ; Å é±ÆðOñÆ·é.
|
---|
67 | ;
|
---|
68 | ; ܽZbgã, à ROMFLø, à RAMFLø, OoXF³ø
|
---|
69 | ; Å é.
|
---|
70 | ;
|
---|
71 |
|
---|
72 | ;
|
---|
73 | ; NbNÝè
|
---|
74 | ;
|
---|
75 | ; üÍF12MHz
|
---|
76 | ; PLLñHF12 x 8 = 96MHz
|
---|
77 | ; VXeNbNF96MHz
|
---|
78 | ; üÓW
|
---|
79 | [NbNF48MHz
|
---|
80 | ; OoXNbNF96MHz
|
---|
81 | ; Æ·é.
|
---|
82 | ;
|
---|
83 |
|
---|
84 | ;PORT3.PDR.BIT.B6 = 0;
|
---|
85 | MOV.L #08C003H,R11
|
---|
86 | MOV.B [R11],R10
|
---|
87 | BCLR #6,R10
|
---|
88 | MOV.B R10,[R11]
|
---|
89 | ;PORT3.PDR.BIT.B7 = 0;
|
---|
90 | MOV.L #08C003H,R11
|
---|
91 | MOV.B [R11],R10
|
---|
92 | BCLR #7,R10
|
---|
93 | MOV.B R10,[R11]
|
---|
94 | ;PORT3.PMR.BIT.B6 = 0;
|
---|
95 | MOV.L #08C003H,R11
|
---|
96 | MOV.B 60H[R11],R10
|
---|
97 | BCLR #6,R10
|
---|
98 | MOV.B R10,60H[R11]
|
---|
99 | ;PORT3.PMR.BIT.B7 = 0;
|
---|
100 | MOV.L #08C003H,R11
|
---|
101 | MOV.B 60H[R11],R10
|
---|
102 | BCLR #7,R10
|
---|
103 | MOV.B R10,60H[R11]
|
---|
104 | ;
|
---|
105 | ;SYSTEM.PRCR.WORD = 0xa503;
|
---|
106 | MOV.L #080000H,R10
|
---|
107 | MOV.W #-5AFDH,03FEH[R10]
|
---|
108 | ;
|
---|
109 | ;while(SYSTEM.MOFCR.BIT.MOFXIN == 0)
|
---|
110 | BRA.B _hardware_init_hook_01
|
---|
111 | ;SYSTEM.MOFCR.BIT.MOFXIN = 1; // CNbNUí§U
|
---|
112 | _hardware_init_hook_00:
|
---|
113 | MOV.L #080000H,R11
|
---|
114 | MOV.B 0C293H[R11],R10
|
---|
115 | BSET #0,R10
|
---|
116 | MOV.B R10,0C293H[R11]
|
---|
117 | _hardware_init_hook_01:
|
---|
118 | MOV.L #080000H,R10
|
---|
119 | MOV.B 0C293H[R10],R10
|
---|
120 | AND #1H,R10
|
---|
121 | MOVU.B R10,R10
|
---|
122 | CMP #0H,R10
|
---|
123 | BEQ.B _hardware_init_hook_00
|
---|
124 | ;
|
---|
125 | ;while(SYSTEM.MOSCCR.BIT.MOSTP == 1)
|
---|
126 | BRA.B _hardware_init_hook_11
|
---|
127 | ;SYSTEM.MOSCCR.BIT.MOSTP = 0; // CNbNUí®ì
|
---|
128 | _hardware_init_hook_10:
|
---|
129 | MOV.L #080000H,R11
|
---|
130 | MOV.B 32H[R11],R10
|
---|
131 | BCLR #0,R10
|
---|
132 | MOV.B R10,32H[R11]
|
---|
133 | _hardware_init_hook_11:
|
---|
134 | MOV.L #080000H,R10
|
---|
135 | MOV.B 32H[R10],R10
|
---|
136 | AND #1H,R10
|
---|
137 | MOVU.B R10,R10
|
---|
138 | CMP #0H,R10
|
---|
139 | BNE.B _hardware_init_hook_10
|
---|
140 | ;
|
---|
141 | ;SYSTEM.PLLCR.BIT.STC = 0x0f;
|
---|
142 | MOV.L #080000H,R10
|
---|
143 | MOV.W 28H[R10],R11
|
---|
144 | AND #-3F01H,R11
|
---|
145 | OR #0F00H,R11
|
---|
146 | MOV.W R11,28H[R10]
|
---|
147 | ;SYSTEM.PLLCR2.BIT.PLLEN = 0;
|
---|
148 | MOV.L #080000H,R11
|
---|
149 | MOV.B 2AH[R11],R10
|
---|
150 | BCLR #0,R10
|
---|
151 | MOV.B R10,2AH[R11]
|
---|
152 | ;
|
---|
153 | ;SYSTEM.SCKCR.LONG = 0x21021211;
|
---|
154 | MOV.L #080000H,R10
|
---|
155 | MOV.L #21021211H,20H[R10]
|
---|
156 | ;
|
---|
157 | ;SYSTEM.SCKCR3.BIT.CKSEL = 4; // PLLñHIð
|
---|
158 | MOV.L #080000H,R10
|
---|
159 | MOV.W 26H[R10],R11
|
---|
160 | AND #-0701H,R11
|
---|
161 | OR #0400H,R11
|
---|
162 | MOV.W R11,26H[R10]
|
---|
163 |
|
---|
164 | ;
|
---|
165 | ; W
|
---|
166 | [Xgbv
|
---|
167 | ;
|
---|
168 | ; Zbgã, ®ìµÄ¢éà üÓW
|
---|
169 | [ÍDMAC, DTC,
|
---|
170 | ; à RAMÌÝÅ é.
|
---|
171 | ; »êÈOÌà üÓW
|
---|
172 | [ÉÖµÄÍgp·é¤Å
|
---|
173 | ; Ýè·é±Æ.
|
---|
174 | ;
|
---|
175 |
|
---|
176 | ;SYSTEM.PRCR.WORD = 0xa500;
|
---|
177 | MOV.L #080000H,R10
|
---|
178 | MOV.W #-5B00H,03FEH[R10]
|
---|
179 | rts
|
---|
180 |
|
---|
181 |
|
---|
182 | _software_init_hook:
|
---|
183 | ;
|
---|
184 | ; {RpCÅÍweak definitionÌ@\ª³¢½ß,
|
---|
185 | ; ÁÉKvÈÍÈ¢ª, K¸ÄÑo·±ÆÆ·é.
|
---|
186 | ;
|
---|
187 | rts
|
---|
188 |
|
---|
189 |
|
---|
190 | .end
|
---|
191 |
|
---|