1 |
|
---|
2 | ï¼ TOPPERS/JSPã«ã¼ãã« ã¦ã¼ã¶ãºããã¥ã¢ã« ï¼
|
---|
3 | ï¼H8S ã¿ã¼ã²ããä¾åé¨ï¼
|
---|
4 |
|
---|
5 | ï¼Release 1.4.1 対å¿ï¼æçµæ´æ°: 18-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-2004 by Embedded and Real-Time Systems Laboratory
|
---|
13 | Toyohashi Univ. of Technology, JAPAN
|
---|
14 | Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
|
---|
15 | Tomakomai National College of Technology, JAPAN
|
---|
16 | Copyright (C) 2001-2004 by Industrial Technology Institute,
|
---|
17 | Miyagi Prefectural Government, JAPAN
|
---|
18 |
|
---|
19 | ä¸è¨è使¨©è
|
---|
20 | ã¯ï¼Free Software Foundation ã«ãã£ã¦å
|
---|
21 | ¬è¡¨ããã¦ãã
|
---|
22 | GNU General Public License ã® Version 2 ã«è¨è¿°ããã¦ããæ¡ä»¶ãï¼ä»¥
|
---|
23 | ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§
|
---|
24 | ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹å¤ã»åé
|
---|
25 | å¸ï¼ä»¥ä¸ï¼
|
---|
26 | å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
|
---|
27 | (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
|
---|
28 | 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
|
---|
29 | ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼
|
---|
30 | (2) æ¬ã½ããã¦ã§ã¢ãåå©ç¨å¯è½ãªãã¤ããªã³ã¼ãï¼ãªãã±ã¼ã¿ãã«ãªã
|
---|
31 | ã¸ã§ã¯ããã¡ã¤ã«ãã©ã¤ãã©ãªãªã©ï¼ã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼å©ç¨
|
---|
32 | ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è
|
---|
33 | ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è使¨©è¡¨ç¤ºï¼
|
---|
34 | ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
|
---|
35 | (3) æ¬ã½ããã¦ã§ã¢ãåå©ç¨ä¸å¯è½ãªãã¤ããªã³ã¼ãã®å½¢ã¾ãã¯æ©å¨ã«çµ
|
---|
36 | ã¿è¾¼ãã å½¢ã§å©ç¨ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºãããã¨ï¼
|
---|
37 | (a) å©ç¨ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è
|
---|
38 | ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½
|
---|
39 | 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
|
---|
40 | (b) å©ç¨ã®å½¢æ
|
---|
41 | ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼ä¸è¨è使¨©è
|
---|
42 | ã«å ±åãã
|
---|
43 | ãã¨ï¼
|
---|
44 | (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
|
---|
45 | 害ãããï¼ä¸è¨è使¨©è
|
---|
46 | ãå
|
---|
47 | 責ãããã¨ï¼
|
---|
48 |
|
---|
49 | æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨è使¨©è
|
---|
50 | ã¯ï¼
|
---|
51 | æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ã
|
---|
52 | ãªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çããã
|
---|
53 | ããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
|
---|
54 | ------------------------------------------------------------------------
|
---|
55 |
|
---|
56 | ï¼ï¼H8Sã¿ã¼ã²ããä¾åé¨ã®æ¦è¦
|
---|
57 |
|
---|
58 | 1.1 ã¿ã¼ã²ããã·ã¹ãã ã¨éçºç°å¢
|
---|
59 |
|
---|
60 | H8Sãã¡ããªã¼ã®ããã»ããµããµãã¼ããã¦ãããH8Sãã¡ããªã¼ã¯ãå
|
---|
61 | èµã¤ã³ã¿
|
---|
62 | ãã§ã¼ã¹ãªã©ã®éããªã©ã«ãããæ§ã
|
---|
63 | ãªããã»ããµãããããããå
|
---|
64 | ¨ã¦ã«ã対å¿
|
---|
65 | å¯è½ãªããã«è¨è¨ãè¡ã£ãã
|
---|
66 |
|
---|
67 | ä»åã®å®è£
|
---|
68 | ã«ããã¦ãµãã¼ãã¨ããã¿ã¼ã²ãããã¼ãã¯ã以ä¸ã§ããã
|
---|
69 |
|
---|
70 | ã»æ ªå¼ä¼ç¤¾ãã¹ã製 H8S/2350 è©ä¾¡ãã¼ã (H8S/2350æè¼)
|
---|
71 |
|
---|
72 | éçºç°å¢ã«ã¯ãGCC ãªã©ã® GNUéçºç°å¢ãç¨ãããªãã¸ã§ã¯ããã¡ã¤ã«ãã©ã¼ãã
|
---|
73 | ã㯠coff ãæ¨æºã¨ããã
|
---|
74 |
|
---|
75 | 1.2 ãµãã¼ãããæ©è½ã®æ¦è¦
|
---|
76 |
|
---|
77 | H8Sã¿ã¼ã²ããä¾åé¨ã«ããæ©è½ã¨ãã¦ã¯ã
|
---|
78 | ã»å²è¾¼ã¿ãã¹ã¯ã®å¤æ´ã»åç
|
---|
79 | §(chg_ipmãget_ipm)
|
---|
80 | ã»æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
|
---|
81 | §æ©è½(vxget_tim)
|
---|
82 | ããµãã¼ããã¦ãããã¾ãã
|
---|
83 | ã»å²è¾¼ã¿ã®ç¦æ¢ã¨è¨±å¯(dis_intãena_int)
|
---|
84 | ã¯ãµãã¼ããã¦ããªãã(2.2.4åã³3.2åç
|
---|
85 | §ã)
|
---|
86 |
|
---|
87 | 1.3 ä»ã®ã¿ã¼ã²ããã¸ã®ãã¼ãã£ã³ã°
|
---|
88 |
|
---|
89 | H8Sãã¡ããªã¼ã§ããã°ããã¼ãã£ã³ã°ã¯å®¹æã«åºæ¥ããããããªãããéçºæ©æã®
|
---|
90 | é¢ä¿ä¸ãH8S/2350以å¤ã§ã®ãã¹ããè¡ã£ã¦ããªãã
|
---|
91 | ï¼ãªãããã®éçºæ©æã®é¢ä¿ãããä¸è¨ã«ããã¦ã¯H8S/2350ã§ã®ç¶æ³ãæ³å®ãã¦
|
---|
92 | ãããããããéçºèªä½ã¯ãH8Sãã¡ããªã¼å
|
---|
93 | ¨ä½ã«æå¹ãªå
|
---|
94 | 容ã§ãããï¼
|
---|
95 |
|
---|
96 | 1.4 GDB ã¹ã¿ã
|
---|
97 |
|
---|
98 | ç¾å¨ã® TOPPERS/JSP ã«ã¼ãã« H8S çã¯ROMåããµãã¼ããã¦ããã
|
---|
99 |
|
---|
100 | ã¾ããGDBã¹ã¿ãã¸å¯¾å¿ãã¦ãããèå³ã®ããæ¹ã¯ãå¥éãåãåãããã ããã
|
---|
101 | ãªãããããã°ç°å¢ã¨ãã¦ã¯ICEãæ¨å¥¨ããã
|
---|
102 |
|
---|
103 | 1.5 ã·ãªã¢ã«ãã¼ã(SCI)
|
---|
104 |
|
---|
105 | H8Sãã¡ããªã¼ã®å
|
---|
106 | ¨ã¦ã®ããã»ããµããï¼ãã£ã³ãã«ä»¥ä¸ã®ã·ãªã¢ã«ãã¼ããå
|
---|
107 | èµ
|
---|
108 | ãã¦ãããããã§ããããã®ãã¡ãã«ã¼ãã«ã®ãã°åºåç¨ã«ï¼ã¤ä½¿ç¨ããã
|
---|
109 | ã·ãªã¢ã«ãã¼ãã®è¨å®ã¯
|
---|
110 | ã»8ããã
|
---|
111 | ã»ããªãã£ãªã
|
---|
112 | ã»ã¹ããããããï¼1ããã
|
---|
113 | ã»ãã¼ã¬ã¼ãï¼38400 bps
|
---|
114 | ã§ããã
|
---|
115 |
|
---|
116 | ãªãããã¼ã¬ã¼ãã«ã¤ãã¦ã¯ãBAUD_RATEãã¯ãã«ã¦å®ç¾©ãã¦ããã®ã§å¿
|
---|
117 | è¦ã«å¿ãã¦
|
---|
118 | 夿´ãããã¨ãã§ããã
|
---|
119 | (sys_config.h)
|
---|
120 |
|
---|
121 | (H8S/2350ã¯ï¼ãã£ã³ãã«ã®ã·ãªã¢ã«ãã¼ããå
|
---|
122 | èµãã¦ãããããã¯ãsys_config.h
|
---|
123 | ã«å®ç¾©ãã¦ããNUM_PORTã«ãããµãã¼ããããã¼ãæ°ã決ã¾ããç¾å¨ã®å®è£
|
---|
124 | ã§ã¯ã
|
---|
125 | ï¼ãã£ã³ãã«ããµãã¼ããã¦ããã
|
---|
126 | ã¾ããJSPã«ã¼ãã«ã®ãã°åºåç¨ã«ã¯ãSCI0ã使ç¨ãã¦ããã)
|
---|
127 |
|
---|
128 | ï¼ï¼H8Sã¿ã¼ã²ããä¾åé¨ã®æ©è½
|
---|
129 |
|
---|
130 | 2.1 ãã¼ã¿å
|
---|
131 |
|
---|
132 | intåããã³ unsigned intåã®ãµã¤ãºã¯ 32ãããã§ããã
|
---|
133 |
|
---|
134 | 2.2 å²è¾¼ã¿ç®¡çæ©è½ã¨å²è¾¼ã¿ãã³ãã©
|
---|
135 |
|
---|
136 | ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ã¯ NMI ã®ã¿ã§ãããCPUããã¯ç¶æ
|
---|
137 | ãåæåã«ã¼ãã³å
|
---|
138 | ã§ã¯
|
---|
139 | NMI 以å¤ã®å²è¾¼ã¿ã¯å
|
---|
140 | ¨ã¦ç¦æ¢ããããå
|
---|
141 | ·ä½çã«ã¯ãå²è¾¼ã¿ãã¹ã¯ãï¼ã«è¨å®ãããã
|
---|
142 |
|
---|
143 | å²è¾¼ã¿ãã³ãã©ã®ç»é²ã«é¢ãã¦ã¯ãã³ã³ãã£ã°ãã¡ã¤ã«ã«å¯¾ããéçAPIã®è¨è¿°ã¨ã
|
---|
144 | ãã¯ã¿ãã¼ãã«ã¸ã®è¨è¿°ã¨ã®ãäºã¤ã®è¨è¿°ãè¡ããªããã°ãªããªãã
|
---|
145 | ãã®ãã¯ã¿ãã¼ãã«ã¸ã®è¨è¿°ã«ã¤ãã¦ã¯ãå¾è¿°ããã
|
---|
146 | ï¼éçAPIã«ããè¨è¿°ã«ãããå²è¾¼ã¿ãã³ãã©ï¼å²è¾¼ã¿åºå
|
---|
147 | ¥å£å¦çãå«ãï¼ãçæããã
|
---|
148 | ä¾å¤å¦çãã¯ã¿ãã¼ãã«ã«ç»é²ãããã¨ã§ããã®å²è¾¼ã¿ãã³ãã©ãå¼ã³åºããããï¼
|
---|
149 |
|
---|
150 | 2.2.1 å²è¾¼ã¿å¶å¾¡ã¢ã¼ã
|
---|
151 |
|
---|
152 | H8Sãã¡ããªã¼ã¯ãã¢ã¼ãï¼ã¨ã¢ã¼ãï¼ã®ï¼ã¤ã®å²è¾¼ã¿å¶å¾¡ã¢ã¼ãã®é¸æãå¯è½ã§
|
---|
153 | ãããä»åã®å®è£
|
---|
154 | ã§ã¯ãã¢ã¼ãï¼ããµãã¼ããã¦ããã
|
---|
155 |
|
---|
156 | 2.2.2 ãã¯ã¿ãã¼ãã«ã®è¨è¿°æ¹æ³
|
---|
157 |
|
---|
158 | å²è¾¼ã¿ãã³ãã©ãå¼ã³åºãããã«ã¯ãä¾å¤å¦çãã¯ã¿ãã¼ãã«ã«ç»é²ããå¿
|
---|
159 | è¦ãããã
|
---|
160 | ãã®ã¨ããH8Sãã¡ããªã¼ã¯ãROMé åã«ä¾å¤å¦çãã¯ã¿ãã¼ãã«ãé
|
---|
161 | ç½®ãã¦ããã
|
---|
162 | ãã¯ã¿ãã¼ãã«ã¯å®è¡ä¸ã¯åºå®ã¨ãªãã
|
---|
163 |
|
---|
164 | ãã®ãããã³ã³ãã¤ã«åã«ãexception_vector.S ã«è¨è¼ããã¦ãããã¯ã¿ãã¼ãã«ã«ã
|
---|
165 | å²è¾¼ã¿ãã³ãã©ã®å
|
---|
166 | ¥å£å¦çã®ã©ãã«åãç´æ¥è¨è¿°ããå¿
|
---|
167 | è¦ãããã
|
---|
168 |
|
---|
169 | ãã®ã¨ãã«è¨è¿°ãããä¾å¤å¦çã®å
|
---|
170 | ¥å£å¦çã®ã©ãã«åã¯ï¼ä»¥ä¸ã®ããã«è¨å®ããã
|
---|
171 |
|
---|
172 | ã»ä¾å¤å¦çã®ï¼£è¨èªã«ã¼ãã³å ï¼ *******
|
---|
173 | ã»ä¾å¤å¦çã®å
|
---|
174 | ¥ãå£å¦çã®ã©ãã«åï¼_*******_entry
|
---|
175 | (ããã§ãã©ãã«åã«"_"ãä»ãã¦ããã®ã¯ãï¼£è¨èªã«ã¼ãã³foo()ã«å¯¾ãã¦
|
---|
176 | ã¢ã»ã³ãã«ããã¨ã_fooã¨ããã©ãã«ã対å¿ä»ããããããã§ããã)
|
---|
177 |
|
---|
178 | ä¾ï¼SCI(ã·ãªã¢ã«ã³ãã¥ãã±ã¼ã·ã§ã³ã¤ã³ã¿ã¼ãã§ã¼ã¹ï¼ããã®å²è¾¼ã¿
|
---|
179 | ä¾å¤å¦çã®ï¼£è¨èªã«ã¼ãã³å ï¼ serial_in_handler
|
---|
180 | ä¾å¤å¦çã®å
|
---|
181 | ¥ãå£å¦çã®ã©ãã«åï¼_serial_in_handler_entry
|
---|
182 |
|
---|
183 | ãªãããã®ã«ã¼ã«ã«å¾ã£ãã©ãã«ãçæããã_INT_ENTRYãã¯ããå®ç¾©ãã¦ããã®ã§ã
|
---|
184 | å©ç¨ãã¦ãã ããã
|
---|
185 |
|
---|
186 | ä¾ï¼SCI(ã·ãªã¢ã«ã³ãã¥ãã±ã¼ã·ã§ã³ã¤ã³ã¿ã¼ãã§ã¼ã¹ï¼ããã®å²è¾¼ã¿
|
---|
187 | ä¾å¤å¦çã®ï¼£è¨èªã«ã¼ãã³å ï¼ serial_in_handler
|
---|
188 | ä¾å¤å¦çã®å
|
---|
189 | ¥ãå£å¦çã®ã©ãã«åï¼
|
---|
190 | _INT_ENTRY(serial_in_handler) -> _serial_in_handler_entry ãçæ
|
---|
191 |
|
---|
192 | ãªãããã®ãã¯ãããexception_vector.S ã§å©ç¨ãã¦ããã®ã§ãåèã«ãã¦ãã ããã
|
---|
193 |
|
---|
194 | 2.2.3 å²è¾¼ã¿ãã¹ã¯ï¼å²è¾¼ã¿åªå
|
---|
195 | 度å¶å¾¡
|
---|
196 |
|
---|
197 | å²è¾¼ã¿ãã¹ã¯ï¼å²è¾¼ã¿åªå
|
---|
198 | 度å¶å¾¡ã®ããã®ãå®ç¾©ã»APIã¯ä»¥ä¸ã®éãã§ããã
|
---|
199 |
|
---|
200 | (1)IPMå
|
---|
201 | å²è¾¼ã¿ãã¹ã¯ã®å¤ã示ããã¼ã¿åã§ãããå²è¾¼ã¿ãã¹ã¯ã¯ãEXRï¼ã¨ã¯ã¹ãã³ãã¬ã¸
|
---|
202 | ã¹ã¿ï¼ã®å²è¾¼ã¿ãã¹ã¯ããã(I2-0)ã®å¤ã§ããããã®ãããEXRåã®ï¼ãã¤ãããã°
|
---|
203 | ããã®ã§ãUBåã§å®ç¾©ãã¦ããã
|
---|
204 |
|
---|
205 | (2)icu_set_ilv å²è¾¼ã¿ã¬ãã«ã®è¨å®
|
---|
206 |
|
---|
207 | ãCè¨èªAPIã
|
---|
208 | icu_set_ilv( IPR, MASK, LEVEL )
|
---|
209 |
|
---|
210 | ããã©ã¡ã¼ã¿ã
|
---|
211 | VP IPR è¨å®ããã¤ã³ã¿ã©ãããã©ã¤ãªãªãã£ã¬ã¸ã¹ã¿ã®
|
---|
212 | ã¢ãã¬ã¹ ( IPRA - IPRK ãã¯ãã§è¨å® )
|
---|
213 | BOOL MASK è¨å®ããã¤ã³ã¿ã©ãããã©ã¤ãªãªãã£ã¬ã¸ã¹ã¿ã®
|
---|
214 | è¨å®ç¯å²ï¼ä¸ä½é¨åã¾ãã¯ä¸ä½é¨åï¼ã®é¸æ
|
---|
215 | ( IPR_UPRãã¾ãã¯ãIPR_LOW ãã¯ãã§è¨å® )
|
---|
216 | INT LEVEL è¨å®ããå²è¾¼ã¿ã¬ãã« ( 0 - 7 )
|
---|
217 |
|
---|
218 | ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
|
---|
219 | ãªã
|
---|
220 |
|
---|
221 | ãæ©è½ã
|
---|
222 | ã¤ã³ã¿ã©ãããã©ã¤ãªãªãã£ã¬ã¸ã¹ã¿ã®åä¾å¤è¦å å¥ã«ãå²è¾¼ã¿ã¬ãã«è¨å®ãè¡ãã
|
---|
223 |
|
---|
224 | ãæ³¨æã
|
---|
225 | ç¾å¨ã¯ããã¯ããç¨ããå®è£
|
---|
226 | ãè¡ã£ã¦ãããããã¨ã©ã¼å¦çã¯ç¹ã«è¡ã£ã¦ããªãã
|
---|
227 | (cpu_config.h)
|
---|
228 |
|
---|
229 | ãªããä»åã®å®è£
|
---|
230 | ã«ããã¦ãå²è¾¼ã¿ã¬ãã«ã¯ã
|
---|
231 | ï¼ä½ï¼ã·ãªã¢ã«ï¼ ï¼ ã·ãªã¢ã«ï¼ -> ã¿ã¤ãï¼ï¼é«ï¼
|
---|
232 | ã¨å®ç¾©ãã¦ããã
|
---|
233 | (sys_config.h)
|
---|
234 |
|
---|
235 | 2.2.4 å²è¾¼ã¿ãã¹ã¯å¤æ´ã»åç
|
---|
236 | §ã®ããã®ãµã¼ãã¹ã³ã¼ã«ã«ã¤ãã¦
|
---|
237 |
|
---|
238 | å²è¾¼ã¿ãã¹ã¯å¤æ´ã»åç
|
---|
239 | §ã®ããã®ãµã¼ãã¹ã³ã¼ã«ã¯ãã¿ã¹ã¯ã³ã³ããã¹ãã㤠CPU
|
---|
240 | ããã¯è§£é¤ç¶æ
|
---|
241 | ã®å ´åã«ã®ã¿å¼ã³åºããã¨ãã§ãããchg_ipm ã«ãã IPM ãã
|
---|
242 | ä½ããã®å²è¾¼ã¿ãç¦æ¢ããã¦ããç¶æ
|
---|
243 | ï¼ï¼ä»¥å¤ã®å¤ã®å ´åï¼ã«ããå ´åã§ãã
|
---|
244 | ãã£ã¹ãããã¯ç¦æ¢ããããchg_ipm ã«ãã夿´ãã IPM ã®å¤ã¯ããã£ã¹ããã
|
---|
245 | å¾ã®ã¿ã¹ã¯ã«å¼ãç¶ãããã
|
---|
246 |
|
---|
247 | chg_ipm ããµãã¼ãããããã«ãå²è¾¼ã¿ãã³ãã©ã®åºå
|
---|
248 | ¥å£å¦çãªã©ã«ãªã¼ãããã
|
---|
249 | ãçãã¦ãããããã§ãSUPPORT_CHG_IPM ã¨ãããã¯ãã«ããããããã®ãµã¼ãã¹
|
---|
250 | ã³ã¼ã«ããµãã¼ããããã©ãããåãæ¿ããããããã«ãã¦ããã
|
---|
251 | (SUPPORT_CHG_IPM ã¯ãcpu_config.h ã®ä¸ã§ #define ããã¦ããã)
|
---|
252 |
|
---|
253 | H8Sã¿ã¼ã²ããä¾åã®å²è¾¼ã¿ãã¹ã¯ã®å¤æ´ã»åç
|
---|
254 | §ã®ããã®ãµã¼ãã¹ã³ã¼ã«ã®ä»æ§ã¯
|
---|
255 | 次ã®éãã
|
---|
256 |
|
---|
257 | (1) chg_ipm å²è¾¼ã¿ãã¹ã¯ã®å¤æ´
|
---|
258 |
|
---|
259 | ãCè¨èªAPIã
|
---|
260 | ER ercd = chg_ipm(IPM ipm);
|
---|
261 |
|
---|
262 | ããã©ã¡ã¼ã¿ã
|
---|
263 | IPM ipm è¨å®ãã¹ã IPM ã®å¤
|
---|
264 |
|
---|
265 | ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
|
---|
266 | ER ercd ã¨ã©ã¼ã³ã¼ã
|
---|
267 |
|
---|
268 | ãã¨ã©ã¼ã³ã¼ãã
|
---|
269 | E_CTX ã³ã³ããã¹ãã¨ã©ã¼
|
---|
270 | E_PAR ãã©ã¡ã¼ã¿ã¨ã©ã¼(ipm ã䏿£)
|
---|
271 |
|
---|
272 | ãæ©è½ã
|
---|
273 |
|
---|
274 | å²è¾¼ã¿ãã¹ã¯ãã ipm ã§æå®ããå¤ã«è¨å®ãããæå®ããå¤ãã0ã6 ã«å
|
---|
275 | ¥ã£ã¦
|
---|
276 | ããªãå ´åãE_PARã¨ã©ã¼ãè¿ããå²è¾¼ã¿ãã¹ã¯ã0以å¤ï¼1ãMAX_IPM-1ï¼ã«è¨å®
|
---|
277 | ããå ´åã§ãããã£ã¹ãããã¯ç¦æ¢ãããªããã¾ããè¨å®ããå²è¾¼ã¿ãã¹ã¯ã®å¤ã¯ã
|
---|
278 | ãã£ã¹ãããç¦æ¢å¾ãå¼ãç¶ãããã
|
---|
279 |
|
---|
280 | ãã®ãµã¼ãã¹ã³ã¼ã«ã¯ãã¿ã¹ã¯ã³ã³ããã¹ãã§ CPUããã¯è§£é¤ç¶æ
|
---|
281 | ã®æã®ã¿å¼ã³
|
---|
282 | åºããã¨ãã§ãããéã¿ã¹ã¯ã³ã³ããã¹ãã CPUããã¯ç¶æ
|
---|
283 | ã§å¼ã³åºããå ´åã«ã¯ã
|
---|
284 | E_CTXã¨ã©ã¼ã¨ãªãã
|
---|
285 |
|
---|
286 | ãªãããã®ãµã¼ãã¹ã³ã¼ã«ãç¨ãã¦ãIPMãMAX_IPMï¼å
|
---|
287 | ¨ã¦ã®å²è¾¼ã¿ãç¦æ¢ï¼ã«è¨å®
|
---|
288 | ãããã¨ã¯ã§ããªããIPMãMAX_IPMã«ãããå ´åã«ã¯ãloc_cpuã使ç¨ãã¹ãã§ããã
|
---|
289 |
|
---|
290 | (2) get_ipm å²è¾¼ã¿ãã¹ã¯ã®åç
|
---|
291 | §
|
---|
292 |
|
---|
293 | ãCè¨èªAPIã
|
---|
294 | ER ercd = get_ipm(IPM *p_ipm);
|
---|
295 |
|
---|
296 | ããã©ã¡ã¼ã¿ã
|
---|
297 | ãªã
|
---|
298 |
|
---|
299 | ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
|
---|
300 | ER ercd ã¨ã©ã¼ã³ã¼ã
|
---|
301 | IPM ipm ç¾å¨ã® IPM ã®å¤
|
---|
302 |
|
---|
303 | ãã¨ã©ã¼ã³ã¼ãã
|
---|
304 | E_CTX ã³ã³ããã¹ãã¨ã©ã¼
|
---|
305 |
|
---|
306 | ãæ©è½ã
|
---|
307 |
|
---|
308 | ç¾å¨ã®å²è¾¼ã¿ãã¹ã¯ã®å¤ãèªã¿åºããipm ã«è¿ãã
|
---|
309 |
|
---|
310 | ãã®ãµã¼ãã¹ã³ã¼ã«ã¯ãã¿ã¹ã¯ã³ã³ããã¹ãã§ CPUããã¯è§£é¤ç¶æ
|
---|
311 | ã®æã®ã¿å¼
|
---|
312 | ã³åºããã¨ãã§ãããéã¿ã¹ã¯ã³ã³ããã¹ãã CPUããã¯ç¶æ
|
---|
313 | ã§å¼ã³åºããå ´
|
---|
314 | åã«ã¯ãE_CTXã¨ã©ã¼ã¨ãªãã
|
---|
315 |
|
---|
316 | 2.3 CPUä¾å¤ç®¡çæ©è½ã¨CPUä¾å¤ãã³ãã©
|
---|
317 |
|
---|
318 | DEF_EXC ã§æå®ãã CPUä¾å¤ãã³ãã©çªå·ï¼excnoï¼ã¯ãH8Sãã¡ããªã¼ã«ããã
|
---|
319 | ãã¯ã¿ãã¼ãã«ã®ãã¯ã¿çªå·ã表ãããã®ãã¼ã¿åï¼EXCNOï¼ã¯ unsigned int å
|
---|
320 | ã«å®ç¾©ããã¦ããã
|
---|
321 | DEF_EXC ã§ããã¯ã¿çªå·ã¨ãã¦æå¹ã§ãªãå¤ããCPUä¾å¤ã«å¯¾å¿ããªãçªå·ãæå®
|
---|
322 | ããå ´åã®åä½ã¯ä¿è¨¼ãããªãã
|
---|
323 |
|
---|
324 | (1)夿°p_excinf
|
---|
325 | CPUä¾å¤ãã³ãã©ã«æ¸¡ãããp_excinfã¯ãCPUä¾å¤çºçæã®ã³ã³ããã¹ããä¿å
|
---|
326 | ããã¹ã¿ãã¯ã¸ã®ãã¤ã³ã¿ã渡ããããã¹ã¿ãã¯ã®æ§é ã以ä¸ã«ç¤ºãã
|
---|
327 |
|
---|
328 | ----------------------
|
---|
329 | | er6 (32ããã) | <-- p_excinf
|
---|
330 | ----------------------
|
---|
331 | | er5 (32ããã) |
|
---|
332 | ----------------------
|
---|
333 | | er4 (32ããã) |
|
---|
334 | ----------------------
|
---|
335 | | er3 (32ããã) |
|
---|
336 | ----------------------
|
---|
337 | | er2 (32ããã) |
|
---|
338 | ----------------------
|
---|
339 | | er1 (32ããã) |
|
---|
340 | ----------------------
|
---|
341 | | er0 (32ããã) |
|
---|
342 | ----------------------
|
---|
343 | | EXR ( 8ããã) |
|
---|
344 | ----------------------
|
---|
345 | | äºç´( 8ããã) |
|
---|
346 | ----------------------
|
---|
347 | | CCR ( 8ããã) |
|
---|
348 | ----------------------
|
---|
349 | | PC (24ããã) |
|
---|
350 | ----------------------
|
---|
351 |
|
---|
352 | EXR : ã¨ã¯ã¹ãã³ãã¬ã¸ã¹ã¿
|
---|
353 | CCR : ã³ã³ãã£ã·ã§ã³ã³ã¼ãã¬ã¸ã¹ã¿
|
---|
354 | PC : ããã°ã©ã ã«ã¦ã³ã¿
|
---|
355 |
|
---|
356 | ã¾ããCPUä¾å¤çºçæã®PCã®å¤ã¯ã¤ã³ã¯ãªã¡ã³ããããããã®ãããCPUä¾å¤ãã³ãã©
|
---|
357 | ãã復帰ãè¡ãã¨ãCPUä¾å¤ãçºçããå½ä»¤ã®æ¬¡ã®å½ä»¤ããå®è¡ãåéããã
|
---|
358 |
|
---|
359 | 2.4 å²è¾¼ã¿çºçæã®ã¹ã¿ãã¯æ¶è²»éã«ã¤ãã¦
|
---|
360 |
|
---|
361 | åã¿ã¹ã¯ã¹ã¿ãã¯ã¯ãã¿ã¹ã¯èªèº«ã使ç¨ããåã«å ãã¦ãæå¤§ ï¼ï¼ ãã¤ãä½åã«
|
---|
362 | ç¨æããå¿
|
---|
363 | è¦ãããã
|
---|
364 |
|
---|
365 | JSPã«ã¼ãã«ã¯ãã¿ã¹ã¯ã³ã³ããã¹ãç¨ã®ã¿ã¹ã¯ã¹ã¿ãã¯ã¨ãéã¿ã¹ã¯ã³ã³ããã¹ã
|
---|
366 | ç¨ã®ã¹ã¿ãã¯ï¼ä»¥ä¸ãå²è¾¼ã¿ã¹ã¿ãã¯ï¼ã¨ãç¨æãã¦ããããã®ãããéã¿ã¹ã¯ã³ã³
|
---|
367 | ããã¹ãã¯å²è¾¼ã¿ã¹ã¿ãã¯ã§å®è¡ãããã
|
---|
368 |
|
---|
369 | H8Sãã¡ããªã¼ã«ããã¦ãå²è¾¼ã¿ã¢ã¼ãï¼ã§ã¯ãå²è¾¼ã¿å仿ã«å²è¾¼ã¿ç¦æ¢ã«ãªã
|
---|
370 | æ©æ§ããã¼ãã¦ã§ã¢ã§ç¨æããã¦ããªãããã®ããã«ãå²è¾¼ã¿ã®å
|
---|
371 | ¥å£å¦çã§ã½ãã
|
---|
372 | ã¦ã§ã¢ã«ãã£ã¦å²è¾¼ã¿ç¦æ¢ã«ããå¿
|
---|
373 | è¦ããããå²è¾¼ã¿å
|
---|
374 | ¥å£å¦çã§ã¯ãå²è¾¼ã¿ç¦æ¢ã«
|
---|
375 | ç§»è¡ããããã®ä½æ¥ç¨ã«ãå²è¾¼ã¿è¨±å¯ã®ç¶æ
|
---|
376 | ã®ã¾ã¾ãã¿ã¹ã¯ã¹ã¿ãã¯ã« er0ãer1
|
---|
377 | ãéé¿ãããã
|
---|
378 | ï¼ä¸è¨ã¬ã¸ã¹ã¿ã¯å²è¾¼ã¿å仿ã«ãã¼ãã¦ã§ã¢ãèªåçã«éé¿ãè¡ãã
|
---|
379 | PC : ããã°ã©ã ã«ã¦ã³ã¿ï¼ï¼ãã¤ãï¼
|
---|
380 | CCR : ã³ã³ãã£ã·ã§ã³ã³ã¼ãã¬ã¸ã¹ã¿ï¼ï¼ãã¤ãï¼
|
---|
381 | EXR : ã¨ã¯ã¹ãã³ãã¬ã¸ã¹ã¿ï¼ï¼ãã¤ãï¼ï¼
|
---|
382 |
|
---|
383 | ãã¦ãå¤éå²è¾¼ã¿ããå²è¾¼ã¿ã¹ã¿ãã¯ã«åãæ¿ããåã«çºçããå ´åã«ã¯ãåæ§ã®
|
---|
384 | ã¹ã¿ãã¯ãã¬ã¼ã ãã¿ã¹ã¯ã¹ã¿ãã¯ä¸ã«çæãããã
|
---|
385 | ãã®ãããææªã®ã¿ã¤ãã³ã°ã§å²è¾¼ã¿ãçºçããã¨ãH8S ã¯å²è¾¼ã¿ã¬ãã«ãï¼ã¬ãã«
|
---|
386 | ããã®ã§ãã¿ã¹ã¯ã¹ã¿ãã¯ã«ããã¦ãï¼ï¼ãã¤ãæ¶è²»ããããã¨ã«ãªãã
|
---|
387 | ï¼ï¼ã¹ã¿ãã¯ãã¬ã¼ã ã®å¤§ãããã¢ããã³ã¹ã¢ã¼ãã®å ´åãï¼
|
---|
388 | er1ï¼ï¼ãã¤ãï¼ï¼ er0ï¼ï¼ãã¤ãï¼ï¼ EXRï¼ï¼ãã¤ãï¼ï¼ãªã¶ã¼ãï¼ï¼ãã¤ãï¼
|
---|
389 | ï¼ CCRï¼ï¼ãã¤ãï¼ï¼ PCï¼ï¼ãã¤ãï¼= ï¼ï¼ ãã¤ã
|
---|
390 | æå¤§ã¿ã¹ã¯ã¹ã¿ãã¯æ¶è²»éï¼
|
---|
391 | ï¼ï¼ãã¤ãÃï¼ã»ãã = ï¼ï¼ãã¤ãï¼
|
---|
392 |
|
---|
393 | 2.5 ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
|
---|
394 |
|
---|
395 | H8Sãã¡ããªã¼ã§ã¯ããã¯ã¿ãã¼ãã«ã«ããã¯ã¼ãªã³ãªã»ãããããã¥ã¢ã«ãªã»ãã
|
---|
396 | 並ã³ã« NMI(Non Maskable Interrupt)ç¨ã®ãã¯ã¿ã¢ãã¬ã¹ãåãã¦ããããããã®
|
---|
397 | ã¢ãã¬ã¹ããã®ã¸ã£ã³ãå
|
---|
398 | ãã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã¨ãªã£ã¦ããã
|
---|
399 |
|
---|
400 | ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«(start.S)ã§ã¯ã次ã®åæåå¦çãè¡ãã
|
---|
401 |
|
---|
402 | (A) ã¹ã¿ãã¯ãã¤ã³ã¿ã®è¨å®
|
---|
403 | ã¹ã¿ãã¯ãã¤ã³ã¿ sp ããSTACKTOP ã®å¤ã«è¨å®ããããã®å¤ã¯ãsys_config.h ã«
|
---|
404 | å®ç¾©ããã¦ããã
|
---|
405 |
|
---|
406 | (B) hardware_init_hookã®å¼ã³åºã
|
---|
407 |
|
---|
408 | hardware_init_hook ã 0 ã§ãªããã°ãhardware_init_hook ãå¼ã³åºãã
|
---|
409 | hardware_init_hook ã¯ã«ã¼ãã«ãèµ·åããåã«ããã¼ã²ããä¾åã®ãã¼ãã¦ã§ã¢ç
|
---|
410 | ãªåæåãè¡ãããã«ç¨æããã¦ããã
|
---|
411 | æ¬å®è£
|
---|
412 | ã§ã¯ãhardware_init_hook å
|
---|
413 | ã§ã¯ã
|
---|
414 | ã»SYSCR ã®è¨å®ï¼å²è¾¼ã¿å¶å¾¡ã¢ã¼ããå
|
---|
415 | èµRAMã®è¨å®ï¼
|
---|
416 | ã»I/O ãã¼ãã®åæå
|
---|
417 | ã»ãã¹ã³ã³ããã¼ã©ã®è¨å®ï¼ABWCRãASTCRãWCRLãBCRHã®è¨å®ï¼
|
---|
418 | ãªã©ã®å¦çãè¡ããè¨è¿°å ´æã¯ãsys_support.S ãæ¨æºã¨ããã
|
---|
419 |
|
---|
420 | hardware_init_hook ãã©ãã§ãå®ç¾©ããã¦ããªãå ´åã«ã¯ããã®ã·ã³ãã«ã0ã«
|
---|
421 | å®ç¾©ãã(ãªã³ã«ã¹ã¯ãªããå
|
---|
422 | ã«è¨è¿°ãã)ã
|
---|
423 |
|
---|
424 | ãªããhardware_init_hook ãæ°ãã«è¨è¿°ããå ´åã«ã¯ãå¼ã³åºãå
|
---|
425 | ã¸ã®ãªã¿ã¼ã³ã¯
|
---|
426 | rts å½ä»¤ã§ãªããjmp å½ä»¤ã§ start_1 ã«æ»ããã¨ã
|
---|
427 |
|
---|
428 | (C) bssã»ã¯ã·ã§ã³ãdataã»ã¯ã·ã§ã³ã®åæå
|
---|
429 |
|
---|
430 | bss ã»ã¯ã·ã§ã³ã®å
|
---|
431 | ¨é åãã¼ãã¯ãªã¢ãããdata ã»ã¯ã·ã§ã³ãåæåãããROM å
|
---|
432 | 対å¿ã®ããã«ãROM ãã RAM ã¸ã¨ãã³ãã¼ãè¡ãã
|
---|
433 |
|
---|
434 | (D) software_init_hookã®å¼ã³åºã
|
---|
435 |
|
---|
436 | software_init_hook ã 0 ã§ãªããã°ãsoftware_init_hook ãå¼ã³åºãã
|
---|
437 | software_init_hook ã¯ãã«ã¼ãã«ãèµ·åãããåã«è¡ãå¿
|
---|
438 | è¦ãããã½ããã¦ã§ã¢
|
---|
439 | ç°å¢(å
|
---|
440 | ·ä½çã«ã¯ãã©ã¤ãã©ãª)ä¾åã®åæåãè¡ãããã«ç¨æãã¦ããã
|
---|
441 |
|
---|
442 | software_init_hook ãã©ãã§ãå®ç¾©ããã¦ããªãå ´åããªã³ã«ã§ãã®ã·ã³ãã«ã
|
---|
443 | 0 ã«å®ç¾©ãã(ãªã³ã«ã¹ã¯ãªããå
|
---|
444 | ã«è¨è¿°ãã)ã
|
---|
445 |
|
---|
446 | (E) ã«ã¼ãã«ã®èµ·å
|
---|
447 |
|
---|
448 | kernel_start ã¸åå²ããã«ã¼ãã«ãèµ·åãããkernel_start ãããªã¿ã¼ã³ãã¦
|
---|
449 | ãããã¨ã¯æ³å®ãã¦ããªãã
|
---|
450 |
|
---|
451 | 2.6 MAC ã¬ã¸ã¹ã¿ (H8S/2600ã³ã¢å
|
---|
452 | èµããã»ããµã®ã¿)
|
---|
453 |
|
---|
454 | â»ãã®é¨åã®ãµãã¼ãååè
|
---|
455 | ãæ±ãã¦ããã¾ãã
|
---|
456 |
|
---|
457 | H8Sãã¡ããªã¼ã«ã¯ãCPUã³ã¢ã« H8S/2600 㨠H8S/2000 ã®ï¼ç¨®é¡ãåå¨ããããã®
|
---|
458 | ãã¡ãH8S/2600 ã¯ãç©åã¬ã¸ã¹ã¿ã¨ã㦠MAC ã¬ã¸ã¹ã¿ããµãã¼ããã¦ããã
|
---|
459 |
|
---|
460 | ããã§ã使ç¨ããããã»ããµããH8S/2600 ãæã¤å ´åã¯ã
|
---|
461 | ã»cpu_defs.h ã«ãã㦠H8S_2600 ãã¯ããå®ç¾©ããã
|
---|
462 | (ãã®ãã¯ãã«ãã£ã¦ãcpu_support.S ã«ããã¦ãMAC ã¬ã¸ã¹ã¿ã®ãµãã¼ãã
|
---|
463 | è¡ãããã)
|
---|
464 | ã»$(CPU)/Makefile.config å
|
---|
465 | ãé©åã«ã³ã¡ã³ãã¤ã³ããã
|
---|
466 | (ããã«ãããH8S/2600 ç¨ã®ã³ã³ãã¤ã«ãªãã·ã§ã³ãä»å ãããã)
|
---|
467 | ãè¡ããã¨ã«ãããMAC ã¬ã¸ã¹ã¿ã«å¯¾å¿ãããã¨ãã§ããã
|
---|
468 |
|
---|
469 | ãµãã¼ãç¶æ³ã¯ã以ä¸ã®éãã§ããã
|
---|
470 |
|
---|
471 | ã»ï¼£è¨èªã§æ¸ãããã¿ã¹ã¯å
|
---|
472 | ã§ããã® MAC ã¬ã¸ã¹ã¿ã使ç¨ããå ´åã«ãèªããã£ã¹
|
---|
473 | ãããã£ãå¼ã³åºãã¦ãã£ã¹ãããããå ´åã¯ã颿°å¼ã³åºãã«ãªãã
|
---|
474 | ãã®ãããå¼ã³åºãåå¾ã«ã¾ããã£ãã¿ã¹ã¯éã§ãMAC ã¬ã¸ã¹ã¿ã使ããã¨ã¯
|
---|
475 | ãªãããä¿åãã¦ããªãã
|
---|
476 | ï¼ãã®ãããã¿ã¹ã¯å
|
---|
477 | ã§ã¢ã»ã³ãã©ã®ã³ã¼ãã使ç¨ããå ´åããã®ã«ã¼ã«ã«å¾ã
|
---|
478 | å¿
|
---|
479 | è¦ããããï¼
|
---|
480 | ã»å²è¾¼ã¿ããã®ãã£ã¹ãããï¼ååçãã£ã¹ãããï¼ã§ã¯ä¿åãã¦ããã
|
---|
481 |
|
---|
482 | â»å²è¾¼ã¿çºçæã® MAC ã¬ã¸ã¹ã¿ã®ä¿åã«ã¤ãã¦ã¯ãå®è¡ç°å¢ãç¡ããããä¿åã®
|
---|
483 | æç¡ã確èªã§ãã¦ããªãã
|
---|
484 |
|
---|
485 | ï¼ï¼ã·ã¹ãã ä¾åé¨ã®æ©è½
|
---|
486 |
|
---|
487 | 3.1 ã·ã¹ãã ã¯ããã¯ãã©ã¤ã
|
---|
488 |
|
---|
489 | ã·ã¹ãã ã¯ããã¯ãã©ã¤ãã isig_tim ãå¼ã³åºã卿ã¯ãsys_defs.h ä¸ã®
|
---|
490 | TIC_NUME 㨠TIC_DENO ã§å®ç¾©ããã¦ãã(ããã©ã«ãã§ã¯ 1ããªç§å¨æ)ããã®å®
|
---|
491 | 義ã夿´ãããã¨ã§ãisig_tim ãå¼ã³åºã卿ã夿´ãããã¨ãã§ãããä½ãã
|
---|
492 | ã¿ã¤ãã®ç²¾åº¦ã1μç§ã§ããããã«ã1μç§åä½ã§ç«¯æ°ã«ãªãå¤ãè¨å®ããå ´åã«ã¯ã
|
---|
493 | isig_timã®å¼åºã卿ã«èª¤å·®ãçãããã¨ã«ãªãã
|
---|
494 |
|
---|
495 | ããã©ã«ãã§ã¯ãä¸è¨ã®ã¿ã¤ããå©ç¨ãã¦ããã
|
---|
496 | (a) H8S/2350
|
---|
497 | H8Så
|
---|
498 | èµã¿ã¤ã(TPU)ã®ãã£ãã«0
|
---|
499 |
|
---|
500 | 3.2 æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
|
---|
501 | §æ©è½
|
---|
502 |
|
---|
503 | H8Sä¾åé¨ã§ã¯ãæ§è½è©ä¾¡ç¨ã·ã¹ãã åç
|
---|
504 | §æ©è½(vxget_tim)ããµãã¼ããã¦ããã
|
---|
505 | 精度ã¯1μç§ã§ãSYSUTIMåã¯UWå(32ããã符å·ãªãæ´æ°å)ã§ããã
|
---|
506 |
|
---|
507 | æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ã®ç²¾åº¦ã¯ä¾çµ¦ã¯ããã¯åä½ã§ããããã¿ã¤ãã®ç¾å¨å¤ã
|
---|
508 | èªã¿åºãããã«ä¸æçã«ã¿ã¤ãã忢ãããå¿
|
---|
509 | è¦ããããããvxget_tim ãå¼ã¶
|
---|
510 | 度ã«ã·ã¹ãã ã¯ããã¯ãå°ãã¥ã¤é
|
---|
511 | ãããã¨ã«ãªããããã§ãSUPPORT_VXGET_TIM
|
---|
512 | ã¨ãããã¯ãã«ããããããã®ãµã¼ãã¹ã³ã¼ã«ããµãã¼ããããã©ãããåãæ¿
|
---|
513 | ããããããã«ãã¦ããã
|
---|
514 | (SUPPORT_VXGET_TIM ã¯ãsys_config.h ã®ä¸ã§ #define ããã¦ããã)
|
---|
515 |
|
---|
516 | 3.3 ã·ãªã¢ã«ã¤ã³ã¿ã¼ãã§ã¼ã¹ãã©ã¤ã
|
---|
517 |
|
---|
518 | ä»åã®å®è£
|
---|
519 | ã§ã¯ãã¿ã¼ã²ããããã»ããµã®é¢ä¿ãããï¼ãã£ã³ãã«ã¾ã§ã®å¯¾å¿ã
|
---|
520 | è¡ã£ã¦ãããããããä»ã®H8Sãã¡ããªã¼ã«ã¯ãï¼ãã£ã³ãã«ä»¥ä¸ã®ã·ãªã¢ã«ã¤ã³ã¿
|
---|
521 | ãã§ã¼ã¹ãå
|
---|
522 | èµãã¦ãããã®ãããããã®ããã®ã夿´ã¯å®¹æã«å¯è½ã§ããã
|
---|
523 | 詳ããã¯ãã½ã¼ã¹ã³ã¼ããåç
|
---|
524 | §ã®ãã¨ã
|
---|
525 |
|
---|
526 | ãªããã·ãªã¢ã«ã¤ã³ã¿ã¼ãã§ã¼ã¹ãã©ã¤ãã¯ãã«ã¼ãã«ã®ãã°åºåç¨ã«ãH8Så
|
---|
527 | èµ
|
---|
528 | SCIãã£ãã«0ã使ç¨ãã¦ããã
|
---|
529 |
|
---|
530 | 3.4 ã¡ã¢ãªããã
|
---|
531 |
|
---|
532 | ã¡ã¢ãªãããã¯ä»¥ä¸ã®ããã«è¨å®ãã¦ããã
|
---|
533 | ã»ROM åæ
|
---|
534 | 0x000000 - 0x01ffff : ã³ã¼ãé å(128kB)
|
---|
535 | 0x200000 - : ãã¼ã¿é å(128kB)
|
---|
536 | 0x21ffff : éã¿ã¹ã¯ã³ã³ããã¹ãç¨ã®ã¹ã¿ãã¯é å
|
---|
537 |
|
---|
538 | ã»GDB ã¹ã¿ãå©ç¨æ
|
---|
539 | 0x200000 - 0x20ffff : ã³ã¼ãé å(64kB)
|
---|
540 | 0x210000 - : ãã¼ã¿é å(64kB-8kB(for GDB_STUB))
|
---|
541 | 0x21efff : éã¿ã¹ã¯ã³ã³ããã¹ãç¨ã®ã¹ã¿ãã¯é å
|
---|
542 |
|
---|
543 | å
|
---|
544 | èµ RAM ã¯ãç¾å¨ä½¿ç¨ãã¦ããªããã使ç¨ããå ´åã«ã¯ãhardware_init_hook ã®
|
---|
545 | ä¸ã§å
|
---|
546 | èµ RAM ãæå¹ã«ããå¿
|
---|
547 | è¦ãããã(2.3 (2)ãåç
|
---|
548 | §ã)
|
---|
549 |
|
---|
550 | ï¼ï¼éçºç°å¢ã®æ§ç¯
|
---|
551 |
|
---|
552 | éçºç°å¢ã®æ§ç¯æ¹æ³ã«ã¤ãã¦ã¯ãGNUéçºç°å¢æ§ç¯ããã¥ã¢ã«ãåç
|
---|
553 | §ãããã¨ã
|
---|
554 | ãªããã¿ã¼ã²ããç°å¢ <TARGET> ã®å¤ã«ã¤ãã¦ã¯ã以ä¸ãåèã®ãã¨ã
|
---|
555 | éçºã«ã¯ Windows2000SP4 ä¸ã§ Cygwin ãç¨ããã
|
---|
556 |
|
---|
557 | åä½ç¢ºèªã¯ãä¸è¨ã®ãã¼ã«ã«ã¦ç¢ºèªãã¦ããããã®ãã¼ã«ãããã©ã«ãã¨ããã
|
---|
558 |
|
---|
559 | ã»GNUããé
|
---|
560 | å¸ããã¦ãããªãªã¸ãã«ã®GCCãªã©ãã½ã¼ã¹ããæ§ç¯ãããã¼ã«
|
---|
561 | åä½ç¢ºèªãè¡ã£ãã¨ãã®ãã¼ã¸ã§ã³ã¯ä»¥ä¸ã®éãã§ããã
|
---|
562 | BINUTILS : 2.14
|
---|
563 | GCC-CORE : 3.3.2
|
---|
564 | NEWLIB : 1.11.0
|
---|
565 | ï¼ãã®å ´åã®ã¿ã¼ã²ããç°å¢ <TARGET> ã«ã¯ãh8300-hms- ãç¨ãããï¼
|
---|
566 |
|
---|
567 | ã¾ããWindowsä¸ã§Cygwinãç¨ãã¦éçºããå ´åã¯ãbinutils ã® configure ã®ãªã
|
---|
568 | ã·ã§ã³ã« --disable-nls ãæå®ãããã¨ã
|
---|
569 |
|
---|
570 | ï¼ï¼å¶éäºé
|
---|
571 |
|
---|
572 |
|
---|
573 | ã»å²è¾¼ã¿å¶å¾¡ã¢ã¼ãï¼ã¯ãµãã¼ããã¦ããªãã
|
---|
574 |
|
---|
575 | ã»ãã¼ãã«ã¢ã¼ãã§ã®å®è¡ã¯ããã¹ããè¡ã£ã¦ããªãã
|
---|
576 |
|
---|
577 | ã»MACã¬ã¸ã¹ã¿ã®ãµãã¼ãã¯ããã¹ããè¡ã£ã¦ããªãã
|
---|
578 |
|
---|
579 | ã»ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ããªã³ã¯ã¹ã¯ãªããã¯ãC++ ã«å¯¾å¿ãã¦ããªãã
|
---|
580 |
|
---|
581 | ã»SYSUTIM åã UW å(32ããã符å·ãªãæ´æ°å)ã¨ãã¦å®ç¾©ãã¦ããããã«ãæ§è½
|
---|
582 | è©ä¾¡ç¨ã·ã¹ãã åç
|
---|
583 | §æ©è½(vxget_tim)ã«ããæ¸¬å®ã§ããç¯å²ãã夿©ç¨®ããçãã
|
---|
584 |
|
---|
585 | ã»ä»ã® gcc ã®ãã¼ã¸ã§ã³ï¼ç¹ã«ãgcc 3.4.xï¼ã§ã®ã³ã³ãã¤ã«ã¯ä¿è¨¼ããªãã
|
---|
586 |
|
---|
587 | ï¼ï¼ãã®ä»
|
---|
588 |
|
---|
589 | 6.1 ãã£ã¬ã¯ããªã»ãã¡ã¤ã«æ§æ
|
---|
590 |
|
---|
591 | H8S ã¿ã¼ã²ããä¾åé¨ã®åãã¡ã¤ã«ã®æ¦è¦ã¯æ¬¡ã®éãã
|
---|
592 |
|
---|
593 | config/h8s/
|
---|
594 | H8Så
|
---|
595 | ±éé¨
|
---|
596 |
|
---|
597 | Makefile.config Makefileã®H8Sã¿ã¼ã²ããä¾åã®å®ç¾©
|
---|
598 | cpu_defs.h ããã»ããµä¾åé¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
|
---|
599 | cpu_config.h ããã»ããµä¾åé¨ã®æ§æå®ç¾©
|
---|
600 | cpu_config.c ããã»ããµä¾åé¨ã®é¢æ°
|
---|
601 | cpu_support.S ããã»ããµä¾åé¨ã®ãµãã«ã¼ãã³
|
---|
602 | cpu_context.h ã³ã³ããã¹ãæä½
|
---|
603 | cpu_rename.def ã«ã¼ãã«ã®å
|
---|
604 | é¨èå¥åã®ãªãã¼ã å®ç¾©
|
---|
605 | cpu_rename.h ã«ã¼ãã«ã®å
|
---|
606 | é¨èå¥åã®ãªãã¼ã
|
---|
607 | cpu_unrename.h ã«ã¼ãã«ã®å
|
---|
608 | é¨èå¥åã®ãªãã¼ã è§£é¤
|
---|
609 | tool_defs.h éçºç°å¢ä¾åé¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
|
---|
610 | ï¼GNUéçºç°å¢ç¨ï¼
|
---|
611 | tool_config.h éçºç°å¢ä¾åé¨ã®æ§æå®ç¾©ï¼GNUéçºç°å¢ç¨ï¼
|
---|
612 | makeoffset.c offset.h çæãµãã¼ãããã°ã©ã
|
---|
613 | cpu_insn.h ä½ã¬ãã«ã®ããã»ããµæä½ã«ã¼ãã³
|
---|
614 | start.S ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
|
---|
615 | h8s.h H8Sã®ã¬ã¸ã¹ã¿åãªã©ã®å®ç¾©
|
---|
616 | h8s_sil.h H8Sãã¡ããªã¼ç¨ã·ã¹ãã ã¤ã³ã¿ãã§ã¼ã¹
|
---|
617 | ã¬ã¤ã¤ã¼å®ç¾©
|
---|
618 | util.h ãããçªå·ãªã©ã®å®ç¾©
|
---|
619 | hw_serial.h SIOãã©ã¤ã
|
---|
620 | hw_serial.cfg SIOãã©ã¤ãã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
|
---|
621 | h8s_sci.h H8Sã·ãªã¼ãºå
|
---|
622 | èµã·ãªã¢ã«ãã¼ãç¨
|
---|
623 | ç°¡æSIOãã©ã¤ãé¢é£ã®å®ç¾©
|
---|
624 | h8s_sci.c H8Sã·ãªã¼ãºå
|
---|
625 | èµã·ãªã¢ã«ãã¼ãç¨
|
---|
626 | ç°¡æSIOãã©ã¤ã
|
---|
627 | hw_timer.h ã¿ã¤ãæä½ã«ã¼ãã³
|
---|
628 | h8s_tpu.h H8Sã·ãªã¼ãºå
|
---|
629 | èµã¿ã¤ãç¨
|
---|
630 | ã¿ã¤ããã©ã¤ãé¢é£ã®å®ç¾©
|
---|
631 |
|
---|
632 | config/h8s/h8s2350/
|
---|
633 | H8S/2350対å¿ã·ã¹ãã ä¾åé¨
|
---|
634 | (æ ªå¼ä¼ç¤¾ãã¹ã製 H8S/2350 è©ä¾¡ãã¼ã対å¿)
|
---|
635 |
|
---|
636 | Makefile.config Makefile ã® MISPO H8S/2350 è©ä¾¡ãã¼ãä¾åå®ç¾©
|
---|
637 | sys_defs.h ã·ã¹ãã ä¾åé¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
|
---|
638 | sys_config.h ã·ã¹ãã ä¾åé¨ã®æ§æå®ç¾©(Cè¨èªç¨)
|
---|
639 | sys_config.c ã·ã¹ãã ä¾åé¨ã®é¢æ°
|
---|
640 | sys_support.S ã·ã¹ãã ä¾åé¨ã®ãµãã«ã¼ãã³
|
---|
641 | exception_vector.S å²è¾¼ã¿ä¾å¤å¦çãã¯ã¿ãã¼ãã«
|
---|
642 | sys_rename.def ã«ã¼ãã«ã®å
|
---|
643 | é¨èå¥åã®ãªãã¼ã å®ç¾©
|
---|
644 | sys_rename.h ã«ã¼ãã«ã®å
|
---|
645 | é¨èå¥åã®ãªãã¼ã
|
---|
646 | sys_unrename.h ã«ã¼ãã«ã®å
|
---|
647 | é¨èå¥åã®ãªãã¼ã è§£é¤
|
---|
648 | h8s2350.h H8S/2350ããã»ããµã®ãã¼ãã¦ã§ã¢å®ç¾©
|
---|
649 | mispo_h8s2350.h MISP H8S/2350 è©ä¾¡ãã¼ãã®ãã¼ãã¦ã§ã¢å®ç¾©
|
---|
650 | h8s_coff.ld ãªã³ã«ã¹ã¯ãªãã(ROM åç¨)
|
---|
651 | h8s_coff_gdb.ld ãªã³ã«ã¹ã¯ãªãã(GDB ã¹ã¿ãç¨)
|
---|
652 |
|
---|
653 | 6.1 ãã®ä»
|
---|
654 |
|
---|
655 | H8Sãã¡ããªã¼ã¯ãé常ã«ããã»ããµã®ç¨®é¡ãå¤ãã§ãããã®ä¸ã§ãæã
|
---|
656 | éçºè
|
---|
657 | ã®
|
---|
658 | ã¿ã¼ã²ããç°å¢ã®åé¡ãããä»åã®å®è£
|
---|
659 | 㯠H8S/2350 ã¨ããç¹å®ã®ããã»ããµã®ã¿
|
---|
660 | ã®ãµãã¼ãã¨ãªã£ã¦ãã¾ãã
|
---|
661 |
|
---|
662 | ããã§ããããã®ãé常ã«å¤å²ã«æ¸¡ã£ã¦ããããã»ããµã®åä½ãã¹ãã«ååãã¦
|
---|
663 | ããã ããæ¹ãåéãã¦ããã¾ãã
|
---|
664 |
|
---|
665 | æ¯éãä¸è¨ã¸ã¨ãé£çµ¡ãã ããããå¾
|
---|
666 | ã¡ãã¦ããã¾ãã
|
---|
667 |
|
---|
668 | âTOPPERSããã¸ã§ã¯ã ã¡ã¼ãªã³ã°ãªã¹ã TOPPERS-USER
|
---|
669 |
|
---|
670 | âå®®åçç£æ¥æè¡ç·åã»ã³ã¿ã¼ æ©æ¢°é»åæ
|
---|
671 | å ±æè¡é¨ æ
|
---|
672 | å ±æè¡éçºç
|
---|
673 | TEL : 022-377-8700ãe-mail : micom@mit.pref.miyagi.jp
|
---|
674 |
|
---|
675 | 夿´å±¥æ´
|
---|
676 |
|
---|
677 | 2004å¹´ 4æ15æ¥ãJSPã«ã¼ãã« Release1.4 対å¿
|
---|
678 | 2004å¹´10æ18æ¥ãJSPã«ã¼ãã« Release1.4.1 対å¿
|
---|