1 |
|
---|
2 | ï¼ TOPPERS/JSPã«ã¼ãã« ã¦ã¼ã¶ãºããã¥ã¢ã« ï¼
|
---|
3 | ï¼ColdFire Version 2 ã¿ã¼ã²ããä¾åé¨ï¼
|
---|
4 |
|
---|
5 | ï¼Release 1.4.1対å¿ï¼æçµæ´æ°: 6-Oct-2004ï¼
|
---|
6 |
|
---|
7 | ------------------------------------------------------------------------
|
---|
8 | TOPPERS/JSP Kernel
|
---|
9 | Toyohashi Open Platform for Embedded Real-Time Systems/
|
---|
10 | Just Standard Profile Kernel
|
---|
11 |
|
---|
12 | Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
|
---|
13 | Toyohashi Univ. of Technology, JAPAN
|
---|
14 | Copyright (C) 2004-2006 by Embedded and Real-Time Systems Laboratory
|
---|
15 | Graduate School of Information Science, Nagoya Univ., JAPAN
|
---|
16 | Copyright (C) 2007 by KURUSUGAWA Electronics Industry Inc, JAPAN
|
---|
17 | Copyright (C) 2008 by Takahisa Yokota
|
---|
18 |
|
---|
19 | ä¸è¨è使¨©è
|
---|
20 | ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
|
---|
21 | ã«ãã£ã¦å
|
---|
22 | ¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
|
---|
23 | è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
|
---|
24 | ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹å¤ã»åé
|
---|
25 | å¸ï¼ä»¥ä¸ï¼
|
---|
26 | å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
|
---|
27 | (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
|
---|
28 | 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
|
---|
29 | ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼
|
---|
30 | (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
|
---|
31 | ç¨ã§ããå½¢ã§åé
|
---|
32 | å¸ããå ´åã«ã¯ï¼åé
|
---|
33 | å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨
|
---|
34 | è
|
---|
35 | ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è使¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
|
---|
36 | ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
|
---|
37 | (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
|
---|
38 | ç¨ã§ããªãå½¢ã§åé
|
---|
39 | å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
|
---|
40 | ã¨ï¼
|
---|
41 | (a) åé
|
---|
42 | å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è
|
---|
43 | ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
|
---|
44 | 使¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
|
---|
45 | (b) åé
|
---|
46 | å¸ã®å½¢æ
|
---|
47 | ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã«
|
---|
48 | å ±åãããã¨ï¼
|
---|
49 | (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
|
---|
50 | 害ãããï¼ä¸è¨è使¨©è
|
---|
51 | ããã³TOPPERSããã¸ã§ã¯ããå
|
---|
52 | 責ãããã¨ï¼
|
---|
53 |
|
---|
54 | æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨è使¨©è
|
---|
55 | ã
|
---|
56 | ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
|
---|
57 | å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
|
---|
58 | æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
|
---|
59 |
|
---|
60 | @(#) $Id: m68k.txt,v 1.13 2004/10/06 06:51:51 honda Exp $
|
---|
61 | ------------------------------------------------------------------------
|
---|
62 |
|
---|
63 |
|
---|
64 | ï¼ï¼ColdFire V2 ã¿ã¼ã²ããä¾åé¨ã®æ¦è¦
|
---|
65 |
|
---|
66 | 1.1 ã¿ã¼ã²ããã·ã¹ãã
|
---|
67 |
|
---|
68 | ColdFire V2ããã»ããµã®ã¿ã¼ã²ããã·ã¹ãã ã¨ãã¦ã¯ï¼ããªã¼ã¹ã±ã¼ã«ã»ã»ãã³ã³
|
---|
69 | ãã¯ã¿æ ªå¼ä¼ç¤¾ã®CPUãã¼ãM52235EVB(MCF52235ï¼ã®ã¿ããµãã¼ããã¦ããï¼
|
---|
70 |
|
---|
71 | 1.2 éçºç°å¢ã¨å®è¡ç°å¢
|
---|
72 |
|
---|
73 | éçºç°å¢ã«ã¯ï¼GCCãªã©ã®GNUéçºç°å¢ãç¨ãï¼ãªãã¸ã§ã¯ããã¡ã¤ã«ãã©ã¼ãã
|
---|
74 | ãã¯ELFãæ¨æºã¨ããï¼
|
---|
75 |
|
---|
76 | å®è¡ç°å¢ã¨ãã¦ï¼ROMããç´æ¥èµ·åããæ¹æ³ã¨GDBã¹ã¿ããç¨ããæ¹æ³ããµãã¼ã
|
---|
77 | ãã¦ããï¼GDBã¹ã¿ããç¨ããå ´åã«ã¯ï¼Makefileä¸ã§ï¼DBGENVã«GDB_STUBã
|
---|
78 | å®ç¾©ããï¼ããã©ã«ãï¼ï¼ROMã¢ãã¿ãç¨ããå ´åã«ã¯ï¼DBGENVãå®ç¾©ããªãï¼
|
---|
79 |
|
---|
80 | (注)RAMã«ã«ã¼ãã«ãé
|
---|
81 | ç½®ããã¨M52235EVBã§ã¯ãµã¤ãºãåã¾ããªããããGDB_STUB
|
---|
82 | ã¯ç¾ç¶ä½¿ç¨ããªã
|
---|
83 |
|
---|
84 | 1.3 ãµãã¼ãããæ©è½ã®æ¦è¦
|
---|
85 |
|
---|
86 | ColdFire V2ä¾åã®æ©è½ã¨ãã¦ï¼å²è¾¼ã¿ãã¹ã¯ã®å¤æ´ã»åç
|
---|
87 | §ï¼chg_ixxï¼get_ixxï¼ã
|
---|
88 | ãµãã¼ããã¦ããï¼ã¾ãï¼M52235EVBãã¼ãä¾åã®æ©è½ã¨ãã¦ï¼æ§è½è©ä¾¡ç¨ã·ã¹ãã
|
---|
89 | æå»åç
|
---|
90 | §æ©è½ï¼vxget_timï¼ããµãã¼ããã¦ããï¼å²è¾¼ã¿ã®ç¦æ¢ã¨
|
---|
91 | 許å¯ï¼dis_intï¼ena_intï¼ã¯ãµãã¼ããã¦ããªãï¼
|
---|
92 |
|
---|
93 |
|
---|
94 | ï¼ï¼ColdFireããã»ããµä¾åé¨ã®æ©è½
|
---|
95 |
|
---|
96 | ãã®ç¯ã§ã¯ï¼ã«ã¼ãã«ããã³ã·ã¹ãã ãµã¼ãã¹ã®æ©è½ã®ä¸ã§ï¼ColdFireä¾åã®é¨
|
---|
97 | åã«ã¤ãã¦è§£èª¬ããï¼
|
---|
98 |
|
---|
99 | 2.1 ãã¼ã¿å
|
---|
100 |
|
---|
101 | signed intåï¼unsigned intåï¼size_tåã®ãµã¤ãºã¯ï¼ãããã32ãããã§ã
|
---|
102 | ãï¼
|
---|
103 |
|
---|
104 | 2.2 å²è¾¼ã¿ç®¡çæ©è½ã¨å²è¾¼ã¿ãã³ãã©
|
---|
105 |
|
---|
106 | ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ã¯NMIã®ã¿ã§ããï¼ãã£ã¦ï¼CPUããã¯ç¶æ
|
---|
107 | ãåæåã«ã¼
|
---|
108 | ãã³å
|
---|
109 | ã§ã¯ï¼NMI以å¤ã®å²è¾¼ã¿ã¯ãã¹ã¦ç¦æ¢ããã¦ããï¼å
|
---|
110 | ·ä½çã«ã¯ï¼IPM
|
---|
111 | ï¼Interrupt Priority Maskï¼ã7ã«è¨å®ãããï¼
|
---|
112 |
|
---|
113 | DEF_INHã§æå®ããå²è¾¼ã¿ãã³ãã©çªå·ï¼inhnoï¼ã¯ï¼MCF52235ã§ã®ä¾å¤ãã¯ã¿çª
|
---|
114 | å·ã表ãï¼ãã®ãã¼ã¿åï¼INHNOï¼ã¯unsigned intåã«å®ç¾©ããã¦ããï¼
|
---|
115 | DEF_INHã§ï¼ä¾å¤ãã¯ã¿çªå·ã¨ãã¦æå¹ã§ãªãå¤ãï¼å¤é¨å²è¾¼ã¿ã«å¯¾å¿ããªã
|
---|
116 | çªå·ãæå®ããå ´åã®åä½ã¯ä¿è¨¼ãããªãï¼
|
---|
117 |
|
---|
118 | MCF52235ä¾åã®æ©è½ã¨ãã¦ï¼SRï¼Status Registerï¼ä¸ã®IPMï¼Interrupt
|
---|
119 | Priority Maskï¼ã®å¤ã夿´ããããã®ãµã¼ãã¹ã³ã¼ã«chg_ipmã¨ï¼åç
|
---|
120 | §ããã
|
---|
121 | ãã®ãµã¼ãã¹ã³ã¼ã«get_ipmããµãã¼ããã¦ããï¼ãªãï¼IPMã®å¤ã表ããã¼ã¿
|
---|
122 | åIPMã¯ï¼unsigned intåã«å®ç¾©ããã¦ããï¼
|
---|
123 |
|
---|
124 | ãããã®ãµã¼ãã¹ã³ã¼ã«ã¯ï¼ã¿ã¹ã¯ã³ã³ããã¹ãã§CPUããã¯è§£é¤ç¶æ
|
---|
125 | ã®å ´å
|
---|
126 | ã«ã®ã¿å¼ã³åºããã¨ãã§ããï¼chg_ipmã«ããIPMã0以å¤ï¼ããªãã¡ï¼ä½ãã
|
---|
127 | ã®å²è¾¼ã¿ãç¦æ¢ããã¦ããç¶æ
|
---|
128 | ï¼ã«ããå ´åã§ãï¼ãã£ã¹ãããã¯ç¦æ¢ãããï¼
|
---|
129 | chg_ipmã«ãã夿´ããIPMã®å¤ã¯ï¼ãã£ã¹ãããå¾ã®ã¿ã¹ã¯ã«å¼ãç¶ãããï¼
|
---|
130 | ä¾ãã°ï¼ããã¿ã¹ã¯ã§IPMã1ã«å¤æ´ããå¾ï¼ä½ããã®å²è¾¼ã¿ã«ããå¥ã®ã¿ã¹ã¯
|
---|
131 | ã«åãæ¿ããã¨ï¼åãæ¿ãã£ãå¾ã®ã¿ã¹ã¯ã§ãIPMã¯1ã«ãªãï¼ãã ãï¼IPMã0
|
---|
132 | 以å¤ã«è¨å®ãã¦ãã¦ãï¼å®è¡ã§ããã¿ã¹ã¯ããªããªã£ãå ´åã«ã¯IPMã¯ä¸æç
|
---|
133 | ã«0ã«ãªãï¼ããã¯ï¼COLDFIREã®å½ä»¤ã»ããããããå¶éäºé
|
---|
134 | ã§ããï¼è§£æ±ºææ®µ
|
---|
135 | ããªãããã§ã¯ãªãï¼ï¼
|
---|
136 |
|
---|
137 | chg_ipmããµãã¼ãããããã«ï¼å²è¾¼ã¿ãã³ãã©ã®åºå
|
---|
138 | ¥å£å¦çãªã©ã«ãªã¼ããã
|
---|
139 | ããçãã¦ããï¼ããã§ï¼SUPPORT_CHG_IPMã¨ãããã¯ãã«ããï¼ãããã®ãµã¼
|
---|
140 | ãã¹ã³ã¼ã«ããµãã¼ããããã©ãããåãæ¿ããããããã«ãã¦ããï¼
|
---|
141 | SUPPORT_CHG_IPMã¯ï¼cpu_config.hã®ä¸ã§ãã¯ãå®ç¾©ããã¦ããï¼
|
---|
142 |
|
---|
143 | ColdFire V2ä¾åã®å²è¾¼ã¿ãã¹ã¯ã®å¤æ´ã»åç
|
---|
144 | §ã®ããã®ãµã¼ãã¹ã³ã¼ã«ã®ä»æ§ã¯æ¬¡ã®
|
---|
145 | éãï¼
|
---|
146 |
|
---|
147 | (1) chg_ipm å²è¾¼ã¿ãã¹ã¯ã®å¤æ´
|
---|
148 |
|
---|
149 | ãCè¨èªAPIã
|
---|
150 | ER ercd = chg_ipm(IPM ipm);
|
---|
151 |
|
---|
152 | ããã©ã¡ã¼ã¿ã
|
---|
153 | IPM ipm è¨å®ãã¹ã IPM ã®å¤
|
---|
154 |
|
---|
155 | ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
|
---|
156 | ER ercd ã¨ã©ã¼ã³ã¼ã
|
---|
157 |
|
---|
158 | ãã¨ã©ã¼ã³ã¼ãã
|
---|
159 | E_CTX ã³ã³ããã¹ãã¨ã©ã¼
|
---|
160 | E_PAR ãã©ã¡ã¼ã¿ã¨ã©ã¼ï¼ipm ã䏿£ï¼
|
---|
161 |
|
---|
162 | ãæ©è½ã
|
---|
163 |
|
---|
164 | IPMï¼Interrupt Priority Maskï¼ã ipm ã§æå®ãããå¤ã«è¨å®ããï¼æå®ã
|
---|
165 | ãå¤ã 0ã6 以å¤ã®å ´åï¼E_PARã¨ã©ã¼ã¨ãªãï¼IPM ã 1ã6 ã«è¨å®ããå ´å
|
---|
166 | ã§ãï¼ãã£ã¹ãããã¯ç¦æ¢ãããªãï¼ã¾ãï¼è¨å®ãã IPM ã®å¤ã¯ï¼ãã£ã¹ãã
|
---|
167 | ãå¾ãå¼ãç¶ãããï¼ãã£ã¹ããããç¦æ¢ãããå ´åã«ã¯ï¼dis_dsp ã¨ä½µç¨ã
|
---|
168 | ãã°ããï¼
|
---|
169 |
|
---|
170 | ãªãï¼ãã®ãµã¼ãã¹ã³ã¼ã«ãç¨ãã¦ï¼IPM ã 7 ï¼ãã¹ã¦ã®å²è¾¼ã¿ãç¦æ¢ï¼ã«
|
---|
171 | è¨å®ãããã¨ã¯ã§ããªãï¼IPM ã 7 ã«ãããå ´åã«ã¯ï¼loc_cpu ã使ãã¹ã
|
---|
172 | ã§ããï¼
|
---|
173 |
|
---|
174 | ãã®ãµã¼ãã¹ã³ã¼ã«ã¯ï¼ã¿ã¹ã¯ã³ã³ããã¹ãã§ CPUããã¯è§£é¤ç¶æ
|
---|
175 | ã®æã®ã¿å¼
|
---|
176 | ã³åºããã¨ãã§ããï¼éã¿ã¹ã¯ã³ã³ããã¹ãã CPUããã¯ç¶æ
|
---|
177 | ã§å¼ã³åºããå ´
|
---|
178 | åã«ã¯ï¼E_CTXã¨ã©ã¼ã¨ãªãï¼
|
---|
179 |
|
---|
180 | (2) get_ipm å²è¾¼ã¿ãã¹ã¯ã®åç
|
---|
181 | §
|
---|
182 |
|
---|
183 | ãCè¨èªAPIã
|
---|
184 | ER ercd = get_ipm(IPM *p_ipm);
|
---|
185 |
|
---|
186 | ããã©ã¡ã¼ã¿ã
|
---|
187 | ãªã
|
---|
188 |
|
---|
189 | ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
|
---|
190 | ER ercd ã¨ã©ã¼ã³ã¼ã
|
---|
191 | IPM ipm ç¾å¨ã® IPM ã®å¤
|
---|
192 |
|
---|
193 | ãã¨ã©ã¼ã³ã¼ãã
|
---|
194 | E_CTX ã³ã³ããã¹ãã¨ã©ã¼
|
---|
195 |
|
---|
196 | ãæ©è½ã
|
---|
197 |
|
---|
198 | ç¾å¨ã® IPMï¼Interrupt Priority Maskï¼ã®å¤ãèªã¿åºãï¼ipm ã«è¿ãï¼
|
---|
199 |
|
---|
200 | ãã®ãµã¼ãã¹ã³ã¼ã«ã¯ï¼ã¿ã¹ã¯ã³ã³ããã¹ãã§ CPUããã¯è§£é¤ç¶æ
|
---|
201 | ã®æã®ã¿å¼
|
---|
202 | ã³åºããã¨ãã§ããï¼éã¿ã¹ã¯ã³ã³ããã¹ãã CPUããã¯ç¶æ
|
---|
203 | ã§å¼ã³åºããå ´
|
---|
204 | åã«ã¯ï¼E_CTXã¨ã©ã¼ã¨ãªãï¼
|
---|
205 |
|
---|
206 | 2.3 CPUä¾å¤ç®¡çæ©è½ã¨CPUä¾å¤ãã³ãã©
|
---|
207 |
|
---|
208 | DEF_EXC ã§æå®ããå²è¾¼ã¿ãã³ãã©çªå·ï¼excnoï¼ã¯ï¼COLDFIREã§ã®ä¾å¤ãã¯ã¿
|
---|
209 | çªå·ã表ãï¼ãã®ãã¼ã¿åï¼EXCNOï¼ã¯ unsigned intåã«å®ç¾©ããã¦ããï¼
|
---|
210 | DEF_EXC ã§ï¼ä¾å¤ãã¯ã¿çªå·ã¨ãã¦æå¹ã§ãªãå¤ãï¼CPUä¾å¤ã«å¯¾å¿ããªãçª
|
---|
211 | å·ãæå®ããå ´åã®åä½ã¯ä¿è¨¼ãããªãï¼
|
---|
212 |
|
---|
213 | 2.4 ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
|
---|
214 |
|
---|
215 | COLFIREä¾åã®ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ï¼start.Sï¼ã§ã¯ï¼æ¬¡ã®åæåå¦çã
|
---|
216 | è¡ãï¼
|
---|
217 |
|
---|
218 | (A) ãã¼ãã¦ã§ã¢ã®åæå
|
---|
219 |
|
---|
220 | æåã«SRAMãFlashROMã®é
|
---|
221 | ç½®ã¢ãã¬ã¹ãè¨å®ããã
|
---|
222 |
|
---|
223 | (B) ããã»ããµã¢ã¼ãã®åæåã¨ã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå
|
---|
224 |
|
---|
225 | ããã»ããµã®ã¢ã¼ããï¼ã¹ã¼ããã¤ã¶ã¢ã¼ãã»å²è¾¼ã¿ã¢ã¼ãã«è¨å®ãï¼NMI 以å¤
|
---|
226 | ã®ãã¹ã¦ã®å²è¾¼ã¿ãç¦æ¢ããï¼ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã¯ï¼ã¹ã¼ããã¤ã¶ã¢ã¼ã
|
---|
227 | ã§èµ·åããªããã°ãªããªãã®ã§ï¼ããã§ã¹ã¼ããã¤ã¶ã¢ã¼ãã«è¨å®ããã®ã¯ï¼æ¬å½
|
---|
228 | ã¯ã ãã§ããï¼
|
---|
229 |
|
---|
230 | 次ã«ï¼å²è¾¼ã¿ã¹ã¿ãã¯ãã¤ã³ã¿ï¼SPIï¼ã STACKTOP ã«è¨å®ããï¼ããã§å²è¾¼
|
---|
231 | ã¿ã¹ã¿ãã¯ãã¤ã³ã¿ã«è¨å®ãããã¹ã¿ãã¯é åã¯ï¼ã«ã¼ãã«èµ·åå¾ã¯éã¿ã¹ã¯
|
---|
232 | ã³ã³ããã¹ãç¨ã®ã¹ã¿ãã¯é åã¨ãã¦ä½¿ãããï¼STACKTOP ã¯ï¼sys_config.h
|
---|
233 | é¨ã§å®ç¾©ãããã¨ãæ³å®ãã¦ããï¼ã¾ãï¼ãã¬ã¼ã ãã¤ã³ã¿ã 0 ã«åæåã
|
---|
234 | ãï¼
|
---|
235 |
|
---|
236 | (B) hardware_init_hook ã®å¼åºã
|
---|
237 |
|
---|
238 | hardware_init_hook ã 0 ã§ãªãå ´åã«ã¯ï¼hardware_init_hook ãå¼ã³åºãï¼
|
---|
239 | hardware_init_hook ã¯ï¼ã«ã¼ãã«ãèµ·åãããåã«è¡ãå¿
|
---|
240 | è¦ãããã¿ã¼ã²ã
|
---|
241 | ãä¾åã®åæåãè¡ãããã«ç¨æãã¦ããï¼hardware_init_hook ãã©ãã§ã
|
---|
242 | å®ç¾©ããã¦ããªãå ´åï¼ãªã³ã«ã§ãã®ã·ã³ãã«ã 0 ã«å®ç¾©ããï¼ãªã³ã«ã¹ã¯
|
---|
243 | ãªããå
|
---|
244 | ã«è¨è¿°ããï¼ï¼
|
---|
245 |
|
---|
246 | (C) bssã»ã¯ã·ã§ã³ã¨ dataã»ã¯ã·ã§ã³ã®åæå
|
---|
247 |
|
---|
248 | bssã»ã¯ã·ã§ã³ãã¼ãã¯ãªã¢ããï¼ã¾ãï¼dataã»ã¯ã·ã§ã³ãåæåããï¼
|
---|
249 |
|
---|
250 | (D) software_init_hook ã®å¼åºã
|
---|
251 |
|
---|
252 | software_init_hook ã 0 ã§ãªãå ´åã«ã¯ï¼software_init_hook ãå¼ã³åºãï¼
|
---|
253 | software_init_hook ã¯ï¼ã«ã¼ãã«ãèµ·åãããåã«è¡ãå¿
|
---|
254 | è¦ãããã½ããã¦ã§
|
---|
255 | ã¢ç°å¢ï¼å
|
---|
256 | ·ä½çã«ã¯ï¼ã©ã¤ãã©ãªï¼ä¾åã®åæåãè¡ãããã«ç¨æãã¦ããï¼
|
---|
257 | software_init_hook ãã©ãã§ãå®ç¾©ããã¦ããªãå ´åï¼ãªã³ã«ã§ãã®ã·ã³ã
|
---|
258 | ã«ã 0 ã«å®ç¾©ããï¼ãªã³ã«ã¹ã¯ãªããå
|
---|
259 | ã«è¨è¿°ããï¼ï¼
|
---|
260 |
|
---|
261 | (E) ã«ã¼ãã«ã®èµ·å
|
---|
262 |
|
---|
263 | kernel_start ã¸åå²ãï¼ã«ã¼ãã«ãèµ·åããï¼kernel_start ãããªã¿ã¼ã³ã
|
---|
264 | ã¦ãããã¨ã¯æ³å®ãã¦ããªãï¼
|
---|
265 |
|
---|
266 |
|
---|
267 | ï¼ï¼M52235EVB ã·ã¹ãã ä¾åé¨ã®æ©è½
|
---|
268 |
|
---|
269 | ç¹ã«ãªã
|
---|
270 |
|
---|
271 | ï¼ï¼éçºç°å¢ã®æ§ç¯
|
---|
272 |
|
---|
273 | éçºç°å¢ã®æ§ç¯æ¹æ³ã«ã¤ãã¦ã¯ï¼GNUéçºç°å¢æ§ç¯ããã¥ã¢ã«ãåç
|
---|
274 | §ãããã¨ï¼
|
---|
275 |
|
---|
276 | 4.1 éçºç°å¢ã®ãã¼ã¸ã§ã³
|
---|
277 |
|
---|
278 | åä½ç¢ºèªãããã¼ã«ã®ãã¼ã¸ã§ã³ã¯ä»¥ä¸ã®éãã§ããï¼
|
---|
279 |
|
---|
280 | BINUTILS : 2.18
|
---|
281 | GCC-CORE : 3.6.3
|
---|
282 |
|
---|
283 | GCC 3.3ãç¨ããå ´åï¼ã³ã³ãã¤ã©ãæ¨æºCã©ã¤ãã©ãªé¢æ°ãå¼ã³åºãã³ã¼ãã
|
---|
284 | çæããããï¼NEWLIBãå¿
|
---|
285 | è¦ã«ãªãï¼NEWLIBã®æ¨æºCã©ã¤ãã©ãªããªã³ã¯ãã
|
---|
286 | ããã«ï¼Makefileä¸ã®LIBSã®å®ç¾©ã«ä»¥ä¸ã®ããã« -lc ã追å ããå¿
|
---|
287 | è¦ãããï¼
|
---|
288 |
|
---|
289 | LIBS := $(LIBS) $(CXXLIBS) -lc -lgcc
|
---|
290 |
|
---|
291 |
|
---|
292 | ï¼ï¼ãã®ä»
|
---|
293 |
|
---|
294 | 5.1 ãã£ã¬ã¯ããªã»ãã¡ã¤ã«æ§æ
|
---|
295 |
|
---|
296 | M68040ã¿ã¼ã²ããä¾åé¨ã®åãã¡ã¤ã«ã®æ¦è¦ã¯æ¬¡ã®éãï¼
|
---|
297 |
|
---|
298 | config/cfv2/
|
---|
299 | Makefile.config Makefileã®ColdFire V2ä¾åå®ç¾©
|
---|
300 | cpu_config.c ããã»ããµä¾åé¨ã®é¢æ°
|
---|
301 | cpu_config.h ããã»ããµä¾åé¨ã®æ§æå®ç¾©
|
---|
302 | cpu_context.h ã³ã³ããã¹ãæä½
|
---|
303 | cpu_defs.h ããã»ããµä¾åé¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
|
---|
304 | cpu_insn.h ä½ã¬ãã«ã®ããã»ããµæä½ã«ã¼ãã³
|
---|
305 | cpu_rename.def ã«ã¼ãã«ã®å
|
---|
306 | é¨èå¥åã®ãªãã¼ã å®ç¾©
|
---|
307 | cpu_rename.h ã«ã¼ãã«ã®å
|
---|
308 | é¨èå¥åã®ãªãã¼ã
|
---|
309 | cpu_support.S ããã»ããµä¾åé¨ã®ãµãã«ã¼ãã³
|
---|
310 | cpu_unrename.h ã«ã¼ãã«ã®å
|
---|
311 | é¨èå¥åã®ãªãã¼ã è§£é¤
|
---|
312 | m52235.h MCF52235ã®å®ç¾©
|
---|
313 | makeoffset.c offset.hçæãµãã¼ãããã°ã©ã
|
---|
314 | mcfpit.h MCF52235å
|
---|
315 | èPITã¿ã¤ãã¼ãã©ã¤ã
|
---|
316 | mcfuart.c MCF52235å
|
---|
317 | èUARTç¨ã·ãªã¢ã«ãã©ã¤ã
|
---|
318 | mcfuart.h MCF52235å
|
---|
319 | èUARTç¨ã·ãªã¢ã«ãã©ã¤ã
|
---|
320 | start.S ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
|
---|
321 | tinet_cpu_config.h TINETç¨ããã
|
---|
322 | tinet_cpu_defs.h TINETç¨ããã
|
---|
323 | tool_config.h éçºç°å¢ä¾åé¨ã®æ§æå®ç¾©ï¼GNUéçºç°å¢ç¨ï¼
|
---|
324 | tool_defs.h éçºç°å¢ä¾åé¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©ï¼GNUéçºç°å¢ç¨ï¼
|
---|
325 | util.h
|
---|
326 | vector_table.c
|
---|
327 |
|
---|
328 | config/cfv2/m52235evb/
|
---|
329 | Makefile.config Makefileã®M52235EVBä¾åå®ç¾©
|
---|
330 | Makefile.tinet
|
---|
331 | cfv2.h ColdFireV2ã®å®ç¾©
|
---|
332 | cfv2elf.ld ãªã³ã«ã¹ã¯ãªãã
|
---|
333 | cfv2elf.stub.ld ãªã³ã«ã¹ã¯ãªãã(stubç¨)
|
---|
334 | hw_serial.cfg SIOãã©ã¤ãã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
|
---|
335 | hw_serial.h SIOãã©ã¤ã
|
---|
336 | hw_timer.h ã¿ã¤ãæä½ã«ã¼ãã³
|
---|
337 | m52235evb.h M52235EVBãã¼ãã®ãã¼ãã¦ã§ã¢è³æºã®å®ç¾©
|
---|
338 | sys_config.c ã·ã¹ãã ä¾åé¨ã®é¢æ°
|
---|
339 | sys_config.h ã·ã¹ãã ä¾åé¨ã®æ§æå®ç¾©
|
---|
340 | sys_defs.h ã·ã¹ãã ä¾åé¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
|
---|
341 | sys_rename.def ã«ã¼ãã«ã®å
|
---|
342 | é¨èå¥åã®ãªãã¼ã å®ç¾©
|
---|
343 | sys_rename.h ã«ã¼ãã«ã®å
|
---|
344 | é¨èå¥åã®ãªãã¼ã
|
---|
345 | sys_support.S ã·ã¹ãã ä¾åé¨ã®ãµãã«ã¼ãã³
|
---|
346 | sys_unrename.h ã«ã¼ãã«ã®å
|
---|
347 | é¨èå¥åã®ãªãã¼ã è§£é¤
|
---|
348 | tinet_sys_config.c TINETç¨ã·ã¹ãã ä¾åé¨ã®é¢æ°
|
---|
349 | tinet_sys_config.h TINETç¨ã·ã¹ãã ä¾åé¨ã®æ§æå®ç¾©
|
---|
350 | user_config.h ã¦ã¼ã¶ã¼å®ç¾©æ
|
---|
351 | å ±
|
---|
352 |
|
---|
353 | 5.2 ã¿ã¼ã²ããã¸ã®ãã¦ã³ãã¼ãã¨å®è¡
|
---|
354 |
|
---|
355 | ã¿ã¼ã²ããã¸ã®ãã¦ã³ãã¼ãã¨å®è¡æé ã«ã¤ãã¦ã¯ï¼GNUéçºç°å¢æ§ç¯ããã¥
|
---|
356 | ã¢ã«ã«èª¬æããã¦ãããï¼ä»¥ä¸ã§ã¯ï¼ColdFire V2ããã³ M52235EVBãã¼ãã®å ´
|
---|
357 | åã«ç¹æã®äºé
|
---|
358 | ã«ã¤ãã¦èª¬æããï¼
|
---|
359 |
|
---|
360 | ROMããç´æ¥èµ·åããæ¹æ³
|
---|
361 |
|
---|
362 | CF Flasherã§BDMçµç±ã§æ¸ãè¾¼ããã¨ã«ããROMããèµ·åã§ããã
|
---|
363 |
|
---|
364 |
|
---|
365 | 以ä¸
|
---|