1 | ï¼ TOPPERS/JSPã«ã¼ãã« ã¦ã¼ã¶ãºããã¥ã¢ã« ï¼
|
---|
2 | ï¼H8 ã¿ã¼ã²ããä¾åé¨ï¼
|
---|
3 |
|
---|
4 | ï¼Release 1.4.3対å¿ï¼æçµæ´æ°: 15-Dec-2010ï¼
|
---|
5 |
|
---|
6 | -------------------------------------------------------------------
|
---|
7 | TOPPERS/JSP Kernel
|
---|
8 |
|
---|
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-2010 by Industrial Technology Institute,
|
---|
15 | Miyagi Prefectural Government, JAPAN
|
---|
16 | Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
|
---|
17 | Tomakomai National College of Technology, JAPAN
|
---|
18 | Copyright (C) 2001-2004 by Kunihiko Ohnaka
|
---|
19 | Copyright (C) 2004 by Katsuhiro Amano
|
---|
20 |
|
---|
21 | ä¸è¨è使¨©è
|
---|
22 | ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
|
---|
23 |
|
---|
24 | ã«ãã£ã¦å
|
---|
25 | ¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
|
---|
26 | è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
|
---|
27 | ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹å¤ã»åé
|
---|
28 | å¸ï¼ä»¥ä¸ï¼
|
---|
29 | å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
|
---|
30 | (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
|
---|
31 | 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
|
---|
32 | ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼
|
---|
33 | (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
|
---|
34 | ç¨ã§ããå½¢ã§åé
|
---|
35 | å¸ããå ´åã«ã¯ï¼åé
|
---|
36 | å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨
|
---|
37 | è
|
---|
38 | ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è使¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
|
---|
39 | ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
|
---|
40 | (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
|
---|
41 | ç¨ã§ããªãå½¢ã§åé
|
---|
42 | å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
|
---|
43 | ã¨ï¼
|
---|
44 | (a) åé
|
---|
45 | å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è
|
---|
46 | ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
|
---|
47 | 使¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
|
---|
48 | (b) åé
|
---|
49 | å¸ã®å½¢æ
|
---|
50 | ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã«
|
---|
51 | å ±åãããã¨ï¼
|
---|
52 | (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
|
---|
53 | 害ãããï¼ä¸è¨è使¨©è
|
---|
54 | ããã³TOPPERSããã¸ã§ã¯ããå
|
---|
55 | 責ãããã¨ï¼
|
---|
56 |
|
---|
57 | æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨è使¨©è
|
---|
58 | ã
|
---|
59 | ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
|
---|
60 | å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
|
---|
61 | æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
|
---|
62 |
|
---|
63 | @(#) $Id: h8.txt,v 1.21 2007/03/23 07:19:27 honda Exp $
|
---|
64 |
|
---|
65 | ---------------------------------------------------------------------
|
---|
66 |
|
---|
67 | 1. H8 ã¿ã¼ã²ããä¾åé¨ã®æ¦è¦
|
---|
68 |
|
---|
69 | 注æç¹ï¼Release1.4.1ã¾ã§ã®ãã¼ã¸ã§ã³ãã使ãã®æ¹ã¸
|
---|
70 | ãã»å¦çç³»ã«ã¤ãã¦
|
---|
71 | ãããç§æé»åéå製ãã¼ãä»å±ã®GNUéçºç°å¢ã¯ãã¼ã¸ã§ã³ãå¤ãããã
|
---|
72 | ããããµãã¼ããã¦ããªããï¼ã4. 1 éçºç°å¢ã®æ§ç¯ããåç
|
---|
73 | §ï¼
|
---|
74 | ãã»å²è¾¼ã¿ã®æ±ãã«ã¤ãã¦
|
---|
75 | ãããRelease1.4.2ããå²è¾¼ã¿ã®æ±ãã大å¹
|
---|
76 | ã«å¤æ´ããã¦ãããããæ§ãã¼
|
---|
77 | ãããã¸ã§ã³ãã使ç¨ã®æ¹ã¯ã2. 2. 2 å²è¾¼ã¿ãã³ãã©ã®ç»é²ããåç
|
---|
78 | §ãã
|
---|
79 | ãããããã
|
---|
80 |
|
---|
81 | 1. 1 ã¿ã¼ã²ããã·ã¹ãã ã¨éçºç°å¢
|
---|
82 |
|
---|
83 | H8 ããã»ããµã®ã¿ã¼ã²ããã·ã¹ãã ã¯ãH8/3052Fã H8/3069Fãæè¼ãã
|
---|
84 | 以ä¸ã®ãã¼ãã§ããã
|
---|
85 |
|
---|
86 | ã»(æ ª) ç§æé»åéå製㮠AKI-H8/3052F (AKI-H8-USB ãã¼ãã«è£
|
---|
87 | ç)
|
---|
88 | ã»(æ ª) ç§æé»åéå製㮠AKI-H8/3069F
|
---|
89 |
|
---|
90 | 以ä¸ã®ãã¼ãã¯åèå®è£
|
---|
91 | ã§ãããåä½ç¢ºèªã¯è¡ã£ã¦ããªãã
|
---|
92 | ã»(æ ª) ç§æé»åéå製㮠AKI-H8/3048F
|
---|
93 | ã»(æ) åå·éä¿¡è¨è£
|
---|
94 | ãµã¼ãã¹è£½ã® NKEV-010H8(H8/3069F使ç¨)
|
---|
95 |
|
---|
96 | ãªããä½ãããªãã¿ã¹ã¯ 1 åã®æå°æ§æã§ããH8/3069F以å¤ã§ã¯å¿
|
---|
97 | è¦ãªRAM容
|
---|
98 | éãããã»ããµã®å
|
---|
99 | èµRAM 容éã®ãè¶
|
---|
100 | ããããã®ããå¤é¨ RAM ã®å¢è¨ãå¿
|
---|
101 | è¦
|
---|
102 | ã§ãå¤é¨ã¢ãã¬ã¹ç©ºéãæå¹ã«ããå¿
|
---|
103 | è¦ããããç¾å¨ã®æ§æã§ã¯ãH8/3048F
|
---|
104 | ãã¢ã¼ã 5 ã®å
|
---|
105 | èµ ROMæå¹æ¡å¼µ 1M ãã¤ãã¢ã¼ãã H8/3052F ãã¢ã¼ã 6 ã®
|
---|
106 | å
|
---|
107 | èµ ROM æå¹æ¡å¼µ 16Mãã¤ãã¢ã¼ãã H8/3069F ãã¢ã¼ã 5 ã®å
|
---|
108 | èµROMæå¹
|
---|
109 | æ¡å¼µ 16M ãã¤ãã¢ã¼ããæ³å®ãã¦ããã
|
---|
110 | éçºç°å¢ã¯ã Windows XPä¸ã® cygwin ã®éçºç°å¢ãç¨ãããã¾ããã
|
---|
111 | ããã°ã¢ã¼ãã¨ãªãªã¼ã¹ã¢ã¼ãã§ã¢ã¸ã¥ã¼ã«ã®å®è¡æ¹æ³ãç°ãªã£ã¦ãããã
|
---|
112 | ããã°ã¢ã¼ãã§ã¯ (æ ª)ç§æé»æ°éå製ã¢ãã¿ãããã« (以ä¸ãç§æã¢ãã¿)ã
|
---|
113 | ã¾ãã¯è«å°ç§é«å°æ
|
---|
114 | å ±å¦ç§è£½ç°¡æã¢ãã¿ (以ä¸ã ç°¡æã¢ãã¿)ãã H8 ã®å
|
---|
115 | èµ
|
---|
116 | ãã©ãã·ã¥ ROM ã«æ¸ãè¾¼ã¿ããããã°ããã¢ã¸ã¥ã¼ã«ãå¤é¨ RAM ã«ãã¼ãã
|
---|
117 | ã¦ãããã°ãè¡ãããªãªã¼ã¹ã¢ã¼ãã§ã¯ããããã°ã®çµäºããã¢ã¸ã¥ã¼ã«ãå
|
---|
118 |
|
---|
119 | èµãã©ãã·ã¥ ROM ã«æ¸ãè¾¼ããã¨ãæ³å®ãã¦ããã ãããã°ã¢ã¼ãã¨ãªãªã¼
|
---|
120 | ã¹ã¢ã¼ãã®åãæ¿ãã¯ã ãã£ã¬ã¯ã㪠jsp/config/h8/$(SYS) ã«ãã
|
---|
121 | Makefile.config ã®DBGENV ã®å®ç¾©ã«ããã
|
---|
122 | ï¼$(SYS)ã«ã¯ãã¼ãåã示ããï¼
|
---|
123 | ãã¾ããåèå®è£
|
---|
124 | ã¨ãã¦eCos/RedBoot ããã¸ã§ã¯ã製ãããã«(以ä¸ãRedBoot)
|
---|
125 | ã«å¯¾å¿ãã¦ãããã宿©ãã¹ãã¯è¡ã£ã¦ããªãã詳ããã¯æ«å°¾ã®ä»é²ãåç
|
---|
126 | §ã
|
---|
127 |
|
---|
128 | NKEV-010H8ã¯GDB STUBã«ãããªã¢ã¼ããããã°ãæ³å®ãã¦ãããæ³¨æäºé
|
---|
129 | ç
|
---|
130 | 詳ããã¯æ«å°¾ã®ä»é²ãåç
|
---|
131 | §ã
|
---|
132 |
|
---|
133 | åè
|
---|
134 | ãAKI-H8/3052Fã¯ãAKI-H8-USBãã¼ãã®USBã³ãã¯ã¿ãã黿ºãä¾çµ¦ãããã¨
|
---|
135 | ãã§ãããé常ã®DC黿ºã³ãã¯ã¿ãã黿ºãä¾çµ¦ããå ´åã¯ã黿ºã³ãã¯ã¿ã®
|
---|
136 | å¨å²ã«æµæã追å ããå¿
|
---|
137 | è¦ãããã
|
---|
138 | ãAKI-H8/3069Fã¯ãåæãããã¨ãã以éã§ã¯å¤é¨RAMã®åçªãç°ãªã£ã¦ããã
|
---|
139 | ã¾ããåæãããã§ã¯å¤é¨RAMãèªåã§åç°ä»ãããããã«ãªã£ã¦ããã®ã§ã
|
---|
140 | ã©ã¡ãã«è©²å½ããã®ãã¯ãã¼ãã®ä»å±ããã¥ã¢ã«ãåç
|
---|
141 | §ã®ãã¨ã
|
---|
142 |
|
---|
143 | ããåèæ
|
---|
144 | å ±
|
---|
145 | ããããã(toppers-users 1375) akih8_3069f ä¾åé¨ã®ä¿®æ£ã«ã¤ãã¦ã
|
---|
146 | ãããã
|
---|
147 | 1. 2 ãµãã¼ãããæ©è½ã®æ¦è¦
|
---|
148 |
|
---|
149 | æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
|
---|
150 | §æ©è½ (vxget_tim) ã¨å²è¾¼ã¿ãã¹ã¯ã®å¤æ´ã»å
|
---|
151 | ç
|
---|
152 | § (chg_ixxã get_ixx)ã¯ãµãã¼ããã¦ããããå²ãè¾¼ã¿ã®ç¦æ¢ã¨è¨±å¯
|
---|
153 | (dis_intãena_int) ã¯ãµãã¼ããã¦ããªãã
|
---|
154 |
|
---|
155 | 1. 3 ä»ã®ã¿ã¼ã²ããã¸ã®ãã¼ãã£ã³ã°
|
---|
156 |
|
---|
157 | H8/300H ã·ãªã¼ãºã§ããã°ããã¼ãã£ã³ã°ã¯å®¹æã«åºæ¥ãã¨æãããã
|
---|
158 |
|
---|
159 | 1. 4 ã·ãªã¢ã«ãã¼ã (SCI)
|
---|
160 |
|
---|
161 | H8/3048F 㨠H8/3052F ã«ã¯ SCI0 㨠SCI1 ã® 2 æ¬ãH8/3069F ã«ã¯ SCI0
|
---|
162 | ãã SCI2 ã® 3 æ¬ã®ã·ãªã¢ã«ãã¼ãããããsys_config.h ã«å®ç¾©ãã¦ãã
|
---|
163 | TNUM_PORT ã«ãã使¬ä½¿ç¨ãããæå®ã§ããã
|
---|
164 | ç¾å¨ã®å®è£
|
---|
165 | ã§ã¯ 3æ¬ã¾ã§ä½¿ç¨ã§ããã JSP ã«ã¼ãã«ã®ãã°åºåç¨ã«ã¯ SCI1
|
---|
166 | ã使ç¨ãã¦ããã ã·ãªã¢ã«ãã¼ãã®è¨å®ã以ä¸ã«ç¤ºãã
|
---|
167 |
|
---|
168 | ã»ãã¼ã¬ã¤ãï¼38400[bps]
|
---|
169 | ã»ãã¼ã¿é·ï¼8 ããã
|
---|
170 | ã»ã¹ããããããï¼1 ããã
|
---|
171 | ã»ããªãã£ãªã
|
---|
172 | ã»ããã¼å¶å¾¡ï¼Xon/Xoff
|
---|
173 |
|
---|
174 | 1. 4. 1 ãã¼ãçªå·ã®å²ãå½ã¦ã«ã¤ãã¦
|
---|
175 |
|
---|
176 | ãã¼ãIDçªå·ï¼ãã¯ãåï¼ããããã¤ã¹çªå·ããããç¨é
|
---|
177 | ãï¼ï¼SYSTEM_PORTIDï¼ããããããSCI1ããããã·ã¹ãã ãã°åºåç¨
|
---|
178 | ãï¼ï¼USER_PORTIDï¼ãããããããSCI0ããããã¦ã¼ã¶ã¼ã¢ããªã±ã¼ã·ã§ã³
|
---|
179 | ãï¼ï¼USER2_PORTIDï¼ãããããã SCI2ããããã¦ã¼ã¶ã¼ã¢ããªã±ã¼ã·ã§ã³
|
---|
180 |
|
---|
181 | ããã¼ãIDã®ã«ã¹ã¿ãã¤ãºã«ã¤ãã¦ã¯ããã«ã¹ã¿ãã¤ãºæ¹æ³ãã®ç¯ãåç
|
---|
182 | §
|
---|
183 |
|
---|
184 | 2. H8 ããã»ããµä¾åé¨ã®æ©è½
|
---|
185 |
|
---|
186 | ã«ã¼ãã«ã¨ã·ã¹ãã ãµã¼ãã¹æ©è½ã®ä¸ã§ã H8 ä¾åã®é¨åã«ã¤ãã¦è§£èª¬ããã
|
---|
187 |
|
---|
188 | 2. 1 ãã¼ã¿å
|
---|
189 |
|
---|
190 | int å㨠unsigned int åã®ãµã¤ãºã¯ 32 ãããã§ãããã¾ãã64ãããæ´
|
---|
191 | æ°ã§ããDåã¨UDåã使ç¨ã§ãããå¦ãã¯å¦çç³»ã§å®ç¾©ãã¦ãããã¯ã
|
---|
192 | __LONG_LONG_MAX__ã®å¤ã§å¤å¥ãã¦ããã
|
---|
193 | gcc-2.95.3ã§ã¯ã³ã³ãã¤ã©ã®å¶ç´ã§ã64ãããæ´æ°ã¯æ±ããªãã
|
---|
194 |
|
---|
195 | 2. 2 å²è¾¼ã¿ç®¡çæ©è½ã¨å²è¾¼ã¿ãã³ãã©
|
---|
196 |
|
---|
197 | ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ã¯NMIã®ã¿ã§ããï¼ãã£ã¦ï¼CPUããã¯ç¶æ
|
---|
198 | ãåæå
|
---|
199 | ã«ã¼ãã³å
|
---|
200 | ã§ã¯ï¼NMI以å¤ã®å²è¾¼ã¿ã¯ãã¹ã¦ç¦æ¢ããã¦ããï¼å
|
---|
201 | ·ä½çã«ã¯ãCPU
|
---|
202 | ããã¯ç¶æ
|
---|
203 | ã§ã¯CCRã¬ã¸ã¹ã¿ã®Iãããã¨UIããããã»ããããããã«ã«ã¼ãã«
|
---|
204 | å
|
---|
205 | ã®ãã©ã°å¤æ°ãã»ãããã¦ããã
|
---|
206 |
|
---|
207 | ããCPUããã¯ç¶æ
|
---|
208 | ã表ããã©ã°å¤æ°ï¼BOOL iscpulocked
|
---|
209 | ããããTRUE ï¼CPUããã¯ç¶æ
|
---|
210 |
|
---|
211 | ããããFALSEï¼CPUããã¯è§£é¤ç¶æ
|
---|
212 |
|
---|
213 |
|
---|
214 | ãæ¬å®è£
|
---|
215 | ã§ã¯SYSCRã¬ã¸ã¹ã¿ã®UEããããã¯ãªã¢ããCCRã¬ã¸ã¹ã¿ã®Iãããã¨
|
---|
216 | UIããããå²è¾¼ã¿ãã¹ã¯ï¼IPMï¼Interrupt Priority Maskï¼ã¨ãã¦ä½¿ç¨ãã¦ã
|
---|
217 | ããï¼ã¬ãã«0ã¨ã¬ãã«1ã®å²è¾¼ã¿ã使ç¨ã§ãããï¼
|
---|
218 |
|
---|
219 | DEF_INHã§æå®ããå²è¾¼ã¿ãã³ãã©çªå·ï¼inhnoï¼ã¯ï¼H8ã§ã®ä¾å¤ãã¯ã¿çªå·ã
|
---|
220 | 表ãï¼ãã®ãã¼ã¿åï¼INHNOï¼ã¯unsigned intåã«å®ç¾©ããã¦ããï¼
|
---|
221 | DEF_INHã§ï¼ä¾å¤ãã¯ã¿çªå·ã¨ãã¦æå¹ã§ãªãå¤ãï¼å¤é¨å²è¾¼ã¿ã«å¯¾å¿ããªã
|
---|
222 | çªå·ãæå®ããå ´åã®åä½ã¯ä¿è¨¼ãããªãï¼
|
---|
223 | H8 ã®å²è¾¼ã¿ãã¯ã¿ã¯ ROM é åã«ããã åçã«å
|
---|
224 | 容ã夿´ããããã«ã¯ç¹å¥
|
---|
225 | ã®æ¹æ³ãå¿
|
---|
226 | è¦ã§ãããããåçãªãã³ãã©ã®ç»é²æ©è½ã¯ãªãã
|
---|
227 | å¾ã£ã¦ã å²è¾¼ã¿ãã³ãã©ã®è¨å®é¢æ° define_inh( )ã¯ä½ãããªã颿°ã§ããã
|
---|
228 |
|
---|
229 | 2. 2. 1 å²è¾¼ã¿çºçæã®ã¹ã¿ãã¯ä½¿ç¨éã«ã¤ãã¦
|
---|
230 |
|
---|
231 | å²è¾¼ã¿ãã¹ãã¬ãã«ã0ï¼ã¤ã¾ããã¿ã¹ã¯ã³ã³ããã¹ãå®è¡ä¸ï¼ã§å²è¾¼ã¿ã
|
---|
232 | çºçããã¨ã ã¿ã¹ã¯ã³ã³ããã¹ãç¨ã¹ã¿ãã¯ã«ã¬ã¸ã¹ã¿ãä¸é¨ä¿åããå¾ã
|
---|
233 | å²è¾¼ã¿ç¨ã¹ã¿ãã¯ã«åãæ¿ãããããåã¹ã¿ãã¯ã®ä½¿ç¨éã¯
|
---|
234 | ã»ã¿ã¹ã¯ã³ã³ããã¹ãç¨ã¹ã¿ãã¯ï¼ãPC+CCRãER0ã4ããè¨24ãã¤ã
|
---|
235 | ã»éã¿ã¹ã¯ã³ã³ããã¹ãç¨ã¹ã¿ãã¯ï¼ER5ã6ãSPããããè¨12ãã¤ã
|
---|
236 | ã¨ãªãã
|
---|
237 | å¤éå²è¾¼ã¿ãçºçããå ´åã¯ãã¹ã¦éã¿ã¹ã¯ã³ã³ããã¹ãç¨ã¹ã¿ãã¯ã«éé¿ã
|
---|
238 | ããããã¹ã¿ãã¯ä½¿ç¨éã¯
|
---|
239 | ã»éã¿ã¹ã¯ã³ã³ããã¹ãç¨ã¹ã¿ãã¯ï¼PC+CCRãER0ã6ããè¨32ãã¤ã
|
---|
240 | ã§ããã
|
---|
241 | å²è¾¼ã¿ãã¹ãæ°ã¯æå¤§ï¼ã§ããã®ã§ãå
|
---|
242 | ¨ä½ã®ã¹ã¿ãã¯ä½¿ç¨éã¯ä»¥ä¸ã®ããã«ãª
|
---|
243 | ããï¼å²è¾¼ã¿ãã³ãã©èªèº«ã«ããã¹ã¿ãã¯æ¶è²»åãé¤ããï¼
|
---|
244 |
|
---|
245 | ãã¿ã¹ã¯ã³ã³ãã¹ãç¨ã¹ã¿ãã¯ï¼ã24ãã¤ã
|
---|
246 | ãéã¿ã¹ã¯ã³ã³ãã¹ãç¨ã¹ã¿ãã¯ï¼
|
---|
247 | ã12ãã¤ãï¼å段ï¼ï¼32ãã¤ãï¼2段ç®ï¼ï¼44ãã¤ã
|
---|
248 |
|
---|
249 | ã¾ããå²è¾¼ã¿ã®åºå£å¦çã§ã¿ã¹ã¯ã¹ã¤ããããå ´åã¯ãæ®ãã®ã¬ã¸ã¹ã¿ER5ã6
|
---|
250 | ãã¿ã¹ã¯ã³ã³ãã¹ãç¨ã¹ã¿ãã¯ã«éé¿ãããããå
|
---|
251 | ¥å£å¦çã¨åããã¦ã¿ã¹ã¯
|
---|
252 | ã³ã³ãã¹ãç¨ã¹ã¿ãã¯ã¯32ãã¤ã使ç¨ãããã
|
---|
253 |
|
---|
254 |
|
---|
255 | 2. 2. 2 å²è¾¼ã¿ãã³ãã©ã®ç»é²
|
---|
256 |
|
---|
257 | ãgccç¨H8ä¾åé¨ã§ã¯ãå²è¾¼ã¿ãã³ãã©ãç»é²ããéãã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§
|
---|
258 | ã³ã»ãã¡ã¤ã«ã«éçAPI DEF_INH( )ãè¨è¿°ããã ãã§ã¯ä¸ååã§ãããç»é²ã®
|
---|
259 | æé ã以ä¸ã«è¿°ã¹ããæä¸ã®****ã¯ç»é²ããå²è¾¼ã¿ãã³ãã©ã®Cè¨èªã«ã¼ãã³
|
---|
260 | åã示ãã
|
---|
261 |
|
---|
262 | å²è¾¼ã¿ãã³ãã©ã®ç»é²æ¹æ³ã夿´ããã¦ããã
|
---|
263 | æ§çï¼Release1.4.1ï¼ããã®å¤æ´ç¹ã¯ä»¥ä¸ã®éãã
|
---|
264 | ã1ï¼å²è¾¼ã¿ãã¯ã¿ãã¼ãã«ã®èªåçæ
|
---|
265 | ãããã»DEF_INH()ã®å¼æ°ããå²è¾¼ã¿ãã¯ã¿ãã¼ãã«ãèªåçæããããã«
|
---|
266 | ãããããããããã«ãããã¦ã¼ã¶ã¼ãæä½æ¥ã§ç·¨éããå¿
|
---|
267 | è¦ããªããªã£ãã
|
---|
268 |
|
---|
269 | ã2ï¼å²è¾¼ã¿åªå
|
---|
270 | 度å¶å¾¡ããµãã¼ã
|
---|
271 | ãããã»å²è¾¼ã¿ãã©ã¤ãªãªãã£ã»ã¬ãã«0
|
---|
272 | ãããã»å²è¾¼ã¿ãã©ã¤ãªãªãã£ã»ã¬ãã«1
|
---|
273 | ã
|
---|
274 | ã3ï¼å²è¾¼ã¿ãã©ã¤ãªãªãã£ã¬ãã«ã®è¨å®ã¯2ã¶æã§è¡ãã
|
---|
275 | ããã(1) å²è¾¼ã¿è¦æ±æç¨ãã©ã¤ãªãªãã£ã»ã¬ãã«
|
---|
276 | ããããããããã¤ã¹ãå²è¾¼ã¿ã³ã³ããã¼ã©ã«è¦æ±ããå²è¾¼ã¿ã¬ãã«
|
---|
277 | ããããããIPRAãIPRBã¬ã¸ã¹ã¿ã®è¨å®å¦çãsys_support.Sããåããã¤ã¹
|
---|
278 | ãããããããã©ã¤ãã®åæåå¦çã«ç§»å
|
---|
279 | ããã(2) å²è¾¼ã¿è¨±å¯æç¨ãã©ã¤ãªãªãã£ã»ã¬ãã«
|
---|
280 | ããããããå²è¾¼ã¿ãã³ãã©å¼ã³åºãæã«å²è¾¼ã¿ãã¹ã¯ã«è¨å®ããå¤
|
---|
281 | ã
|
---|
282 | ã4ï¼sys_support.Sã§è¡ã£ã¦ãã以ä¸ã®è¨è¿°ã¯ä¸è¦ã«ãªã£ãã
|
---|
283 | ããï¼å²è¾¼ã¿ã¬ãã«å¶å¾¡ãè¡ã£ãããï¼
|
---|
284 | ãããã»ãã¼ãã¦ã§ã¢å²è¾¼ã¿è¨±å¯ã_****_enable_int
|
---|
285 | ãããã»ãã¼ãã¦ã§ã¢å²è¾¼ã¿ç¦æ¢ã_****_disable_int
|
---|
286 |
|
---|
287 | ãããããæ§çã§ã¯ãå²è¾¼ã¿è¦æ±ãã¯ãªã¢ããå¦çãå¿
|
---|
288 | è¦ãªå ´åã¯ããã®å¦ç
|
---|
289 | ãããããã_****_disable_intã«è¨è¿°ãã¦ããããæ°çã§ã¯å²è¾¼ã¿ãã³ãã©
|
---|
290 | ãããããã®Cè¨èªã«ã¼ãã³ã¾ãã¯ããããå¼ã°ãã颿°å
|
---|
291 | ã«è¨è¿°ããæ¹æ³ã
|
---|
292 | ãããããæ¨æºã¨ããã
|
---|
293 |
|
---|
294 |
|
---|
295 | å²è¾¼ã¿ãã³ãã©ãç»é²ãã使¥æé
|
---|
296 | ãã¿ã¤ãå²è¾¼ã¿ãä¾ã«èª¬æããã
|
---|
297 | ãï¼ãã¼ãä¾åé¨ã®ãã¹åã¯é©å®èªã¿æ¿ãããã¨ï¼
|
---|
298 |
|
---|
299 | ã(1) å²è¾¼ã¿ãã³ãã©ã®è¨è¿°
|
---|
300 |
|
---|
301 | ãããæ§çã§ã¯ãå²è¾¼ã¿è¦æ±ãã¯ãªã¢ããå¦çãå¿
|
---|
302 | è¦ãªå ´åã¯
|
---|
303 | ããã_xxxxx_disable_intã«è¨è¿°ãã¦ããããæ°çã§ã¯å²è¾¼ã¿ãã³ãã©ã®Cè¨
|
---|
304 | ãããèªã«ã¼ãã³ãã¾ãã¯ããããå¼ã°ãã颿°å
|
---|
305 | ã«è¨è¿°ããæ¹æ³ãæ¨æºã¨
|
---|
306 | ãããããã
|
---|
307 |
|
---|
308 | ãããã¿ã¤ãå²è¾¼ã¿ã§ã®è¨è¿°ä¾ï¼
|
---|
309 | ããããjsp/systask/timer.c
|
---|
310 | ããã ã timer_handler( )ããå¼ã³åºãããhw_timer_int_clear( )
|
---|
311 | ããããããï¼jsp/config/h8/hw_timer.hï¼
|
---|
312 |
|
---|
313 |
|
---|
314 | ã(2) ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã»ãã¡ã¤ã«ã®è¨è¿°
|
---|
315 |
|
---|
316 | ãããã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã»ãã¡ã¤ã«ã®è¨è¿°æ¹æ³ã¯ä»ã®ããã»ããµã¨åæ§
|
---|
317 | ãããã§ããã
|
---|
318 | ããããã¯ã¿çªå·ã¯jsp/config/h8/h8_3069f.hçã§ãã¯ãå®ç¾©ãã¦ããã
|
---|
319 | ãããDEF_INH( )ã®ç¬¬1弿°ã®å²è¾¼ã¿ãã³ãã©çªå·ã¯ããªããã»ã¹å¾ã«æ´æ°å®æ°
|
---|
320 | ãããã«ãªã£ã¦ããªããã°ãªããªããï¼èªåå²ãä»ãéå¯¾å¿æ´æ°å¤ãã©ã¡ã¼ã¿ï¼
|
---|
321 | ããããã¯ã¿ãã¼ãã«èªåçææããããä»®å®ãã¦ããã
|
---|
322 |
|
---|
323 | ãããã¿ã¤ãå²è¾¼ã¿ã§ã®è¨è¿°ä¾ï¼
|
---|
324 | ããããjsp/systask/timer.cfg
|
---|
325 | ããããDEF_INH(INHNO_TIMER, { TA_HLNG, timer_handler });
|
---|
326 |
|
---|
327 |
|
---|
328 | ã(3) å²è¾¼ã¿ãã©ã¤ãªãªãã£ã¬ãã«ã®è¨å®
|
---|
329 |
|
---|
330 | ãããIPRA,IPRBã«è¨å®ããå²è¾¼ã¿è¦æ±æã®ãã©ã¤ãªãªãã£ã¬ãã«ã¨ãå²è¾¼ã¿
|
---|
331 | ããããã³ãã©å¼ã³åºãæã«å²è¾¼ã¿ãã¹ã¯ã«è¨å®ãããã©ã¤ãªãªãã£ã¬ãã«
|
---|
332 | ãããã®ï¼ã¤ãå²è¾¼ã¿è¦å æ¯ã«è¨å®ããã
|
---|
333 |
|
---|
334 | ã(3)-1 å²è¾¼ã¿è¦æ±æç¨ãã©ã¤ãªãªãã£ã¬ãã«ã®è¨å®
|
---|
335 |
|
---|
336 | ãããåæåå¦çã®cpu_initialize( )ã§ãã¹ã¦ã®å²è¾¼ã¿ãã¬ãã«0ã«åæåã
|
---|
337 | ãããã¦ããã
|
---|
338 | ãããããã¤ã¹ãã©ã¤ãã®åæåå¦çã§å²è¾¼ã¿è¦å æ¯ã®ãã©ã¤ãªãªãã£ã»ã¬ã
|
---|
339 | ãããã«ãè¨å®ããããã®é¢æ°ãç¨æããã¦ããã
|
---|
340 | ãããã
|
---|
341 | ããããCè¨èªAPIã
|
---|
342 | ãããããvoid define_int_plevel(const IRC *irc);
|
---|
343 |
|
---|
344 | ããããããIRCï¼Interrupt Request Controller
|
---|
345 | ãããããããããå²è¾¼ã¿ã³ã³ããã¼ã©
|
---|
346 |
|
---|
347 | ãããããã©ã¡ã¼ã¿ã
|
---|
348 | ãããããconst IRC *ircãè¨å®ãã¼ã¿ãæ ¼ç´ããé åã®å
|
---|
349 | é ã¢ãã¬ã¹
|
---|
350 | ãããããUB *iprï¼è¨å®ããIPRã¬ã¸ã¹ã¿ã®çªå°
|
---|
351 | ããããããããããIPRAã¾ãã¯IPRBã¬ã¸ã¹ã¿
|
---|
352 | ãããããUB bit ï¼IPRã¬ã¸ã¹ã¿ã®è©²å½ãããããçªå·
|
---|
353 | ããã ããIPM ipmï¼è¨å®ããå²è¾¼ã¿ã¬ãã«
|
---|
354 | ããããããããããIPM_LEVEL0,IPM_LEVEL1ã®ãããã
|
---|
355 |
|
---|
356 | ãããããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
|
---|
357 | ããããããªã
|
---|
358 |
|
---|
359 | ããããæ©è½ã
|
---|
360 | ãããããircãæã示ãé åã®ãã¼ã¿ãç¨ãã¦ãããã¤ã¹ããã®å²è¾¼ã¿ã®
|
---|
361 | ããããããã©ã¤ãªãªãã£ã»ã¬ãã«ãè¨å®ããã
|
---|
362 | ããããããã®é¢æ°ãå¼ã³åºãåã«h8_sil.hãã¤ã³ã¯ã«ã¼ãããå¿
|
---|
363 | è¦ãããã
|
---|
364 |
|
---|
365 | ããããã¿ã¤ãå²è¾¼ã¿ã§ã®è¨è¿°ä¾ã
|
---|
366 |
|
---|
367 | ãããããjsp/config/h8/cpu_config.c
|
---|
368 | ããããããconst IRC TIMER_IRC = {(UB*)SYSTEM_TIMER_IPR,
|
---|
369 | ããããããSYSTEM_TIMER_IP_BIT,
|
---|
370 | ããããããSYSTEM_TIMER_IPM
|
---|
371 | ãããããã};
|
---|
372 |
|
---|
373 | ãããããjsp/config/h8/hw_timer.h
|
---|
374 | ããããããhw_timer_initialize( )
|
---|
375 | ããããã define_int_plevel(&TIMER_IRC);
|
---|
376 |
|
---|
377 | ãããè¨å®ã«ç¨ããå¤ã¯ãã¯ãå®ç¾©ããã¦ããã
|
---|
378 | ããã
|
---|
379 | ãããã»IPRAãIPRBã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹
|
---|
380 | ãããjsp/config/h8/h8_3069f.h
|
---|
381 | ããã#define H8IPRA 0xfee018
|
---|
382 | ããã#define H8IPRB 0xfee019
|
---|
383 |
|
---|
384 |
|
---|
385 | ãããã»IPRAãIPRBã¬ã¸ã¹ã¿ã®ãããçªå·
|
---|
386 | ãããjsp/config/h8/h8_3069f.h
|
---|
387 | ãããã»IPRA
|
---|
388 | ããã#define H8IPR_IRQ0_BIT 7 /* IRQ0 */
|
---|
389 | ããã#define H8IPR_IRQ1_BIT 6 /* IRQ1 */
|
---|
390 | ããã#define H8IPR_IRQ2_BIT 5 /* IRQ2 */
|
---|
391 | ããã#define H8IPR_IRQ3_BIT 5 /* IRQ3 */
|
---|
392 | ããã#define H8IPR_IRQ4_BIT 4 /* IRQ4 */
|
---|
393 | ããã#define H8IPR_IRQ5_BIT 4 /* IRQ5 */
|
---|
394 | ããã#define H8IPR_WDT_BIT 3 /* WDT */
|
---|
395 | ããã#define H8IPR_AD_BIT 3 /* A/D */
|
---|
396 | ããã#define H8IPR_CMI_BIT 3 /* CMI */
|
---|
397 | ããã#define H8IPR_ITU0_BIT 2 /* 16 bit timer 0 */
|
---|
398 | ããã#define H8IPR_ITU1_BIT 1 /* 16 bit timer 1 */
|
---|
399 | ããã#define H8IPR_ITU2_BIT 0 /* 16 bit timer 2 */
|
---|
400 |
|
---|
401 | ãããã»IPRB
|
---|
402 | ããã#define H8IPR_TU80_BIT 7 /* 8 bit timer 0 */
|
---|
403 | ããã#define H8IPR_TU81_BIT 6 /* 8 bit timer 1 */
|
---|
404 | ããã#define H8IPR_DMAC_BIT 5 /* DMAC (CH0,1) */
|
---|
405 | ããã#define H8IPR_SCI0_BIT 3 /* SCI0 */
|
---|
406 | ããã#define H8IPR_SCI1_BIT 2 /* SCI1 */
|
---|
407 | ããã#define H8IPR_SCI2_BIT 1 /* SCI2 */
|
---|
408 |
|
---|
409 |
|
---|
410 | (3)-2 å²è¾¼ã¿è¨±å¯æç¨ãã©ã¤ãªãªãã£ã¬ãã«ã®è¨å®
|
---|
411 |
|
---|
412 | ããã»****_intmaskãã¯ãã®å®ç¾©
|
---|
413 | ãããH8ä¾åé¨ã§ã¯ãéçAPI DEF_INH( )ã§å²è¾¼ã¿ãã³ãã©ãå®ç¾©ããã¨ã
|
---|
414 | ãããã«ã¼ãã«ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã«ãããå²è¾¼ã¿ã®å
|
---|
415 | ¥å£å¦çãèªåç
|
---|
416 | ãããæãããã
|
---|
417 | ããããã®å
|
---|
418 | ¥å£å¦çã§ã¯ãCè¨èªã«ã¼ãã³****ãå¼ã³åºãç´åã®å²è¾¼ã¿è¨±å¯æ
|
---|
419 | ãããã«å²è¾¼ã¿ãã¹ã¯ã«è¨å®ããå¤ã¨ãã¦ããã¯ã****_intmaskãå®ç¾©ããã¦
|
---|
420 | ãããããã¨ä»®å®ãã¦ããã®ã§ãå²è¾¼ã¿è¦å æ¯ã«IPM_LEVEL1ãIPM_LEVEL2ã®ã
|
---|
421 | ããããããã«å®ç¾©ãããã¨ã
|
---|
422 | ãããèªåã¨åãã¬ãã«ã®å²è¾¼ã¿ããã¹ã¯ãããããIPMã«ã¯ï¼ã¤ä¸ã®ã¬ãã«
|
---|
423 | ããããè¨å®ããå¿
|
---|
424 | è¦ãããã®ã§ã注æãããã¨ã
|
---|
425 | ãããcpu_config.hãsys_config.hã¾ãã¯ãããããã¤ã³ã¯ã«ã¼ãããããã¡
|
---|
426 | ãããã¤ã«ã§å®ç¾©ããã®ãæ¨æºã¨ããã
|
---|
427 |
|
---|
428 | ããããã¿ã¤ãå²è¾¼ã¿ã§ã®è¨è¿°ä¾ã
|
---|
429 | ããããjsp/config/h8/akih8_3069f/sys_config.h
|
---|
430 | ããã
|
---|
431 | ãããã#if SYSTEM_TIMER_IPM == IPM_LEVEL0
|
---|
432 | ãããã#define timer_handler_intmask IPM_LEVEL1
|
---|
433 | ãããã#elif SYSTEM_TIMER_IPM == IPM_LEVEL1
|
---|
434 | ãããã#define timer_handler_intmask IPM_LEVEL2
|
---|
435 | ãããã#endif /* SYSTEM_TIMER_IPM == IPM_LEVEL0 */
|
---|
436 |
|
---|
437 |
|
---|
438 | 2. 2. 3ãå²è¾¼ã¿ãã¹ã¯ã®å¤æ´ã»åç
|
---|
439 | §
|
---|
440 |
|
---|
441 | H8ä¾åã®æ©è½ã¨ãã¦ï¼CCRã¬ã¸ã¹ã¿ä¸ã®IPMã®å¤ã夿´ããããã®ãµã¼ãã¹ã³ã¼
|
---|
442 | ã«chg_ipmã¨ï¼åç
|
---|
443 | §ããããã®ãµã¼ãã¹ã³ã¼ã«get_ipmããµãã¼ããã¦ããï¼
|
---|
444 | ãªãï¼IPMã®å¤ã表ããã¼ã¿åIPMã¯ï¼unsigned charåã«å®ç¾©ããã¦ããï¼
|
---|
445 |
|
---|
446 | ãããã®ãµã¼ãã¹ã³ã¼ã«ã¯ï¼ã¿ã¹ã¯ã³ã³ããã¹ãã§CPUããã¯è§£é¤ç¶æ
|
---|
447 | ã®å ´å
|
---|
448 | ã«ã®ã¿å¼ã³åºããã¨ãã§ããï¼chg_ipmã«ããIPMãã¬ãã«0以å¤ï¼ããªãã¡ï¼
|
---|
449 | ä½ããã®å²è¾¼ã¿ãç¦æ¢ããã¦ããç¶æ
|
---|
450 | ï¼ã«ããå ´åã§ãï¼ãã£ã¹ãããã¯ç¦æ¢
|
---|
451 | ãããï¼chg_ipmã«ãã夿´ããIPMã®å¤ã¯ï¼ãã£ã¹ãããå¾ã®ã¿ã¹ã¯ã«å¼ãç¶
|
---|
452 | ãããï¼
|
---|
453 | ä¾ãã°ï¼ããã¿ã¹ã¯ã§IPMãã¬ãã«1ã«å¤æ´ããå¾ï¼ä½ããã®å²è¾¼ã¿ã«ããå¥ã®
|
---|
454 | ã¿ã¹ã¯ã«åãæ¿ããã¨ï¼åãæ¿ãã£ãå¾ã®ã¿ã¹ã¯ã§ãIPMã¯ã¬ãã«1ã«ãªãï¼
|
---|
455 |
|
---|
456 | chg_ipmããµãã¼ãããããã«ï¼å²è¾¼ã¿ãã³ãã©ã®åºå
|
---|
457 | ¥å£å¦çãªã©ã«ãªã¼ã
|
---|
458 | ããããçãã¦ããï¼ããã§ï¼SUPPORT_CHG_IPMã¨ãããã¯ãã«ããï¼ããã
|
---|
459 | ã®ãµã¼ãã¹ã³ã¼ã«ããµãã¼ããããã©ãããåãæ¿ããããããã«ãã¦ããï¼
|
---|
460 | SUPPORT_CHG_IPMã¯ï¼sys_config.hã§ãã¯ãå®ç¾©ããã¦ããï¼
|
---|
461 |
|
---|
462 | H8ä¾åã®å²è¾¼ã¿ãã¹ã¯ã®å¤æ´ã»åç
|
---|
463 | §ã®ããã®ãµã¼ãã¹ã³ã¼ã«ã®ä»æ§ã¯æ¬¡ã®éãï¼
|
---|
464 |
|
---|
465 | (1) chg_ipm å²è¾¼ã¿ãã¹ã¯ã®å¤æ´
|
---|
466 |
|
---|
467 | ãCè¨èªAPIã
|
---|
468 | ER ercd = chg_ipm(IPM ipm);
|
---|
469 |
|
---|
470 | ããã©ã¡ã¼ã¿ã
|
---|
471 | IPM ipm è¨å®ãã¹ã IPM ã®å¤
|
---|
472 |
|
---|
473 | ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
|
---|
474 | ER ercd ã¨ã©ã¼ã³ã¼ã
|
---|
475 |
|
---|
476 | ãã¨ã©ã¼ã³ã¼ãã
|
---|
477 | E_CTX ã³ã³ããã¹ãã¨ã©ã¼
|
---|
478 | E_PAR ãã©ã¡ã¼ã¿ã¨ã©ã¼ï¼ipm ã䏿£ï¼
|
---|
479 |
|
---|
480 | ãæ©è½ã
|
---|
481 |
|
---|
482 | IPMï¼Interrupt Priority Maskï¼ã ipm ã§æå®ãããå¤ã«è¨å®ããï¼
|
---|
483 | IPMã§ç¨ããå¤ã¨ãã¦ã以ä¸ã®ãã¯ããç¨æããã¦ããã
|
---|
484 | ãIPM_LEVEL0ï¼ã¬ãã«ï¼ããã¹ã¦ã®å²è¾¼ã¿ãåãä»ãã
|
---|
485 | ãIPM_LEVEL1ï¼ã¬ãã«ï¼ãNMIããã³ãã©ã¤ãªãªãã£ã¬ãã«ï¼ã®å²è¾¼ã¿ã®ã¿ã
|
---|
486 | ããããããããããããåãä»ãã
|
---|
487 | ãIPM_LEVEL2ï¼ã¬ãã«ï¼ãNMI以å¤ã®å²è¾¼ã¿ãåãä»ããªã
|
---|
488 |
|
---|
489 |
|
---|
490 | IPMã«æå®ããå¤ãä¸è¨ã®ãã¯ã以å¤ã®å ´åï¼E_PARã¨ã©ã¼ã¨ãªãï¼IPM ã
|
---|
491 | IPM_LEVEL0以å¤ã«è¨å®ããå ´åã§ãï¼ãã£ã¹ãããã¯ç¦æ¢ãããªãï¼ã¾ãï¼è¨
|
---|
492 | å®ããIPMã®å¤ã¯ï¼ãã£ã¹ãããå¾ãå¼ãç¶ãããï¼ãã£ã¹ããããç¦æ¢ã
|
---|
493 | ããå ´åã«ã¯ï¼dis_dspã¨ä½µç¨ããã°ããï¼
|
---|
494 |
|
---|
495 | ãã®ãµã¼ãã¹ã³ã¼ã«ã¯ï¼ã¿ã¹ã¯ã³ã³ããã¹ãã§ CPUããã¯è§£é¤ç¶æ
|
---|
496 | ã®æã®ã¿å¼
|
---|
497 | ã³åºããã¨ãã§ããï¼éã¿ã¹ã¯ã³ã³ããã¹ãã CPUããã¯ç¶æ
|
---|
498 | ã§å¼ã³åºããå ´
|
---|
499 | åã«ã¯ï¼E_CTXã¨ã©ã¼ã¨ãªãï¼
|
---|
500 |
|
---|
501 | (2) get_ipm å²è¾¼ã¿ãã¹ã¯ã®åç
|
---|
502 | §
|
---|
503 |
|
---|
504 | ãCè¨èªAPIã
|
---|
505 | ER ercd = get_ipm(IPM *p_ipm);
|
---|
506 |
|
---|
507 | ããã©ã¡ã¼ã¿ã
|
---|
508 | ãªã
|
---|
509 |
|
---|
510 | ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
|
---|
511 | ER ercd ã¨ã©ã¼ã³ã¼ã
|
---|
512 | IPM ipm ç¾å¨ã® IPM ã®å¤
|
---|
513 |
|
---|
514 | ãã¨ã©ã¼ã³ã¼ãã
|
---|
515 | E_CTX ã³ã³ããã¹ãã¨ã©ã¼
|
---|
516 |
|
---|
517 | ãæ©è½ã
|
---|
518 |
|
---|
519 | ç¾å¨ã® IPMï¼Interrupt Priority Maskï¼ã®å¤ãèªã¿åºãï¼ipm ã«è¿ãï¼
|
---|
520 |
|
---|
521 | ãã®ãµã¼ãã¹ã³ã¼ã«ã¯ï¼ã¿ã¹ã¯ã³ã³ããã¹ãã§ CPUããã¯è§£é¤ç¶æ
|
---|
522 | ã®æã®ã¿å¼
|
---|
523 | ã³åºããã¨ãã§ããï¼éã¿ã¹ã¯ã³ã³ããã¹ãã CPUããã¯ç¶æ
|
---|
524 | ã§å¼ã³åºããå ´
|
---|
525 | åã«ã¯ï¼E_CTXã¨ã©ã¼ã¨ãªãï¼
|
---|
526 |
|
---|
527 | 2. 4 CPUä¾å¤ç®¡çæ©è½ã¨CPUä¾å¤ãã³ãã©
|
---|
528 |
|
---|
529 | H8ã§ã¯ï¼ããã»ããµèªä½ãï¼CPUä¾å¤ãæ±ã£ã¦ããªããã仿©ç¨®ã¨ã®äºææ§
|
---|
530 | ã®ãããCPUä¾å¤ãã³ãã©çªå·ã®ãã¼ã¿å(EXCNO)ã¨CPUä¾å¤ãã³ãã©ã®è¨å®é¢
|
---|
531 | æ°define_exc( )ãå®ç¾©ãã¦ããã
|
---|
532 |
|
---|
533 |
|
---|
534 | 2. 5 ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
|
---|
535 |
|
---|
536 | H8 ä¾åã®ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã« (start.S) ã¯æ¬¡ã«ç¤ºãåæåãå®è¡ã
|
---|
537 | ãå¾ãã«ã¼ãã« (kernel_start) ãèµ·åããããã ãã kernel_start ããæ»ã£
|
---|
538 | ã¦ãããã¨ã¯æ³å®ãã¦ããªãã
|
---|
539 |
|
---|
540 | (1) ã¹ã¿ãã¯ãã¤ã³ã¿ã®è¨å®
|
---|
541 |
|
---|
542 | (2) hardware_init_hook ã®å¼åºã
|
---|
543 | hardware_init_hook ã 0 ã§ãªããã°ãhardware_init_hook ãå¼
|
---|
544 | åºããhardware_init_hook ã¯ã«ã¼ãã«ãèµ·åããåã«ãã¿ã¼ã²ãã
|
---|
545 | ä¾åã®ãã¼ãã¦ã§ã¢çãªåæåãè¡ãããã«ç¨æããã¦ããã æ¬å®
|
---|
546 | è£
|
---|
547 | ã§ã¯ãSYSCR ã¬ã¸ã¹ã¿ã® UE ãããã®ã¯ãªã¢ã å²è¾¼ã¿åªå
|
---|
548 | ã¬ã¸ã¹
|
---|
549 | ã¿ (IPRA 㨠IPRB) ã®åå¥å²ãè¾¼ã¿ã®åªå
|
---|
550 | 度ã®è¨å®ã å¤é¨ã¡ã¢ãªç©º
|
---|
551 | éã®æå¹åãè¡ã£ã¦ãããhardware_init_hook ãæªå®ç¾©ã®å ´åããª
|
---|
552 | ã³ã«ã¹ã¯ãªããã®è¨è¿°ã«ãããã®ã·ã³ãã«ã 0 ã«å®ç¾©ãããã
|
---|
553 |
|
---|
554 | (3) bss ã»ã¯ã·ã§ã³ã®åæå
|
---|
555 | bss ã»ã¯ã·ã§ã³ã®å
|
---|
556 | ¨é åã 0 ã¯ãªã¢ããã
|
---|
557 |
|
---|
558 | (4) data ã»ã¯ã·ã§ã³ã®åæå
|
---|
559 | data ã»ã¯ã·ã§ã³ãå¤é¨ RAM ã«è»¢éããã
|
---|
560 |
|
---|
561 | (5) software_init_hook ã®å¼åºã
|
---|
562 | software_init_hook ã 0 ã§ãªããã°ãsoftware_init_hook ãå¼
|
---|
563 | åºããsoftware_init_hook ã¯ã«ã¼ãã«ãèµ·åããåã«ãã½ããã¦ã§
|
---|
564 | ã¢ç°å¢ (ã©ã¤ãã©ãªç) ä¾åã®åæåãè¡ãããã«ç¨æããã¦ããã
|
---|
565 | ä¾ãã°ãã©ã¤ãã©ãªã®åæè¨å®ãªã©ã§ãããsoftware_init_hook ã
|
---|
566 | æªå®ç¾©ã®å ´åããªã³ã«ã¹ã¯ãªããã®è¨è¿°ã«ãããã®ã·ã³ãã«ã 0 ã«
|
---|
567 | å®ç¾©ãããã
|
---|
568 |
|
---|
569 |
|
---|
570 | 3. ã·ã¹ãã ä¾åé¨ã®æ©è½
|
---|
571 |
|
---|
572 | 3. 1 ã·ã¹ãã ã¯ããã¯ãã©ã¤ã
|
---|
573 |
|
---|
574 | ã·ã¹ãã ã¯ããã¯ãã©ã¤ãã isig_tim ãå¼åºã卿ã¯ã sys_defs.h å
|
---|
575 | ã®
|
---|
576 | TIC_NUME 㨠TIC_DENO ã§å®ç¾©ããã¦ããããã£ãã©ã«ã㯠1[ms] 卿ã§ããã
|
---|
577 | ãã®å®ç¾©ã夿´ãããã¨ã§ãisig_tim ãå¼åºã卿ã夿´ã§ããã ãã ãã
|
---|
578 | H8/3048F ã®ã¯ããã¯ã 16[MHz] ã§ã ã¿ã¤ãã®ç²¾åº¦ã 0.5[us]ãH8/3052F ã®
|
---|
579 | ã¯ããã¯ã 25[MHz] ã§ãã¿ã¤ãã®ç²¾åº¦ã 0.32[us]ãH8/3069F ã®ã¯ããã¯ã
|
---|
580 | 20[MHz] ã§ã ã¿ã¤ãã®ç²¾åº¦ã 0.4[us] ã®ããããããåä½ã§ç«¯æ°ã«ãªãå¤ã
|
---|
581 | è¨å®ããã¨ã isig_tim ã®å¼åºã卿ã«èª¤å·®ãçºçããã
|
---|
582 | ãã£ãã©ã«ãã®ã¯ããã¯ãã£ãã¤ã¹ã¯ H8/3048F 㨠H8/3052F ã ITU0ã
|
---|
583 | H8/3069F ã 16 ãããã¿ã¤ãã¦ããã 0 ã使ç¨ãã¦ããã
|
---|
584 |
|
---|
585 | 3. 2 æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
|
---|
586 | §æ©è½
|
---|
587 |
|
---|
588 | H8 ã§ã¯ãæ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
|
---|
589 | §æ©è½ (vxget_tim) ããµãã¼ããã¦ã
|
---|
590 | ãã精度㯠0.5[us] ã§ãSYSUTIM åã¯__LONG_LONG_MAX__ãã¯ãã®å¤ã«ããã
|
---|
591 | å¦çç³»ãæ±ããæ´æ°ã®ç¯å²ãå¤å®ããå®ç¾©æ¹æ³ã鏿ãã¦ããã64ãããæ´æ°
|
---|
592 | ã使ç¨ã§ããå ´åã¯ã64ããã符å·ãªãæ´æ°ã«ãããã§ãªãå ´åã¯32ããã符
|
---|
593 | å·ãªãæ´æ°ã¨ãã¦å®ç¾©ãã¦ããã
|
---|
594 |
|
---|
595 | 3. 3 ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ã
|
---|
596 |
|
---|
597 | H8/3048F 㨠H8/3052F ã«ã¯ SCI0 㨠SCI1 ã® 2 æ¬ãH8/3069F ã«ã¯ SCI0
|
---|
598 | ãã SCI2 ã® 3 æ¬ã®ã·ãªã¢ã«ãã¼ãããããsys_config.h ã«å®ç¾©ãã¦ãã
|
---|
599 | TNUM_PORT ã«ãã使¬ä½¿ç¨ãããæå®ã§ããã
|
---|
600 | ç¾å¨ã®å®è£
|
---|
601 | ã§ã¯ 2 æ¬ã¾ã§ä½¿ç¨ã§ããã JSP ã«ã¼ãã«ã®ãã°åºåç¨ã«ã¯ SCI1
|
---|
602 | ã使ç¨ãã¦ããã
|
---|
603 |
|
---|
604 | 3. 4 ã¡ã¢ãªããã
|
---|
605 |
|
---|
606 | 3. 4. 1 H8/3048F ã®ã¡ã¢ãªããã
|
---|
607 |
|
---|
608 | å¤é¨ã¢ãã¬ã¹ç©ºéãæå¹ã«ããå¿
|
---|
609 | è¦ããããããã¢ã¼ã 5 ã®å
|
---|
610 | èµ ROM æå¹
|
---|
611 | æ¡å¼µ 1M ãã¤ãã¢ã¼ããæ³å®ãã¦ããã
|
---|
612 |
|
---|
613 | (1) ãããã°æ
|
---|
614 |
|
---|
615 | 0x00000 - 0x1ffff å
|
---|
616 | èµROMãç§æã¢ãã¿
|
---|
617 | 0x20000 - 0x3ffff å¤é¨RAMã.textã.rodataã.dataã.bss
|
---|
618 | 0xfef10 - 0xfefff å
|
---|
619 | èµRAMãç§æã¢ãã¿
|
---|
620 | 0xff000 - 0xff0ff å
|
---|
621 | èµRAMãä»®æ³å²è¾¼ã¿ãã¯ã¿é å (.vectors)
|
---|
622 | 0xff100 - 0xfff0f å
|
---|
623 | èµRAMãéã¿ã¹ã¯ã³ã³ããã¹ãç¨ã¹ã¿ãã¯
|
---|
624 | 0xfff1c - 0xfffff å
|
---|
625 | é¨I/Oã¬ã¸ã¹ã¿
|
---|
626 |
|
---|
627 | (2) ãªãªã¼ã¹æ
|
---|
628 |
|
---|
629 | 0x00000 - 0x1ffff å
|
---|
630 | èµROMã.vectorsã.textã.rodata
|
---|
631 | 0x20000 - 0xfef0f å¤é¨RAMã.dataã.bss
|
---|
632 | 0xfef10 - 0xfff0f å
|
---|
633 | èµRAMãéã¿ã¹ã¯ã³ã³ããã¹ãç¨ã¹ã¿ãã¯
|
---|
634 | 0xfff1c - 0xfffff å
|
---|
635 | é¨I/Oã¬ã¸ã¹ã¿
|
---|
636 |
|
---|
637 | 3. 4. 2 H8/3052F ã®ã¡ã¢ãªããã
|
---|
638 |
|
---|
639 | å
|
---|
640 | èµã¡ã¢ãªã ãã§ã¯ä¸è¶³ããããã AKI-H8-USB ãã¼ãã«è£
|
---|
641 | çãã
|
---|
642 | AKI-H8-USB ãã¼ãã«ãã 128K ãã¤ãã® RAM ãå©ç¨ãã¦ããããã®ãããå¤
|
---|
643 | é¨ã¢ãã¬ã¹ç©ºéãæå¹ã«ããå¿
|
---|
644 | è¦ããããã¢ã¼ã 6 ã®å
|
---|
645 | èµ ROM æå¹æ¡å¼µ 16M
|
---|
646 | ãã¤ãã¢ã¼ããæ³å®ãã¦ããã
|
---|
647 |
|
---|
648 | (1) ãããã°æ
|
---|
649 |
|
---|
650 | 0x000000 - 0x07ffff å
|
---|
651 | èµROMãç°¡æã¢ãã¿
|
---|
652 | 0x220000 - 0x23ffff å¤é¨RAMã.textã.rodataã.dataã.bss
|
---|
653 | 0xffdf10 - 0xffdfff å
|
---|
654 | èµRAMãç°¡æã¢ãã¿
|
---|
655 | 0xffe000 - 0xffe0ff å
|
---|
656 | èµRAMãä»®æ³å²è¾¼ã¿ãã¯ã¿é å (.vectors)
|
---|
657 | 0xffe100 - 0xffff0f å
|
---|
658 | èµRAMãéã¿ã¹ã¯ã³ã³ããã¹ãç¨ã¹ã¿ãã¯
|
---|
659 | 0xffff1c - 0xffffff å
|
---|
660 | é¨I/Oã¬ã¸ã¹ã¿
|
---|
661 |
|
---|
662 | (2) ãªãªã¼ã¹æ
|
---|
663 |
|
---|
664 | 0x000000 - 0x07ffff å
|
---|
665 | èµROMã.vectorsã.textã.rodata
|
---|
666 | 0x220000 - 0x23ffff å¤é¨RAMã.dataã.bss
|
---|
667 | 0xffef10 - 0xffff0f å
|
---|
668 | èµRAMãéã¿ã¹ã¯ã³ã³ããã¹ãç¨ã¹ã¿ãã¯
|
---|
669 | 0xffff1c - 0xffffff å
|
---|
670 | é¨I/Oã¬ã¸ã¹ã¿
|
---|
671 |
|
---|
672 |
|
---|
673 | 3. 4. 3 H8/3069F ã®ã¡ã¢ãªããã
|
---|
674 |
|
---|
675 | å¤é¨ã¢ãã¬ã¹ç©ºéãæå¹ã«ããå¿
|
---|
676 | è¦ããããããã¢ã¼ã 5 ã®å
|
---|
677 | èµ ROM æå¹
|
---|
678 | æ¡å¼µ 16M ãã¤ãã¢ã¼ããæ³å®ãã¦ããã
|
---|
679 |
|
---|
680 | (1) ãããã°æ (ç°¡æã¢ãã¿ä½¿ç¨æ)
|
---|
681 |
|
---|
682 | 0x000000 - 0x07ffff å
|
---|
683 | èµROMãç°¡æã¢ãã¿
|
---|
684 | 0x400000 - 0x4fffff å¤é¨RAMã.textã.rodata
|
---|
685 | 0x500000 - 0x5fffff å¤é¨RAMã.dataã.bss
|
---|
686 | 0xfee000 - 0xfee0ff å
|
---|
687 | é¨I/Oã¬ã¸ã¹ã¿(1)
|
---|
688 | 0xffbf20 - 0xffbfff å¤é¨RAMãç°¡æã¢ãã¿
|
---|
689 | 0xffc000 - 0xffc0ff å
|
---|
690 | èµRAMãä»®æ³å²è¾¼ã¿ãã¯ã¿é å (.vectors)
|
---|
691 | 0xffc100 - 0xffff1f å
|
---|
692 | èµRAMãéã¿ã¹ã¯ã³ã³ããã¹ãç¨ã¹ã¿ãã¯
|
---|
693 | 0xffff20 - 0xffffe9 å
|
---|
694 | é¨I/Oã¬ã¸ã¹ã¿(2)
|
---|
695 |
|
---|
696 | (2) ãªãªã¼ã¹æï¼å¤é¨RAM使ç¨ï¼
|
---|
697 |
|
---|
698 | 0x000000 - 0x07ffff å
|
---|
699 | èµROMã.vectorsã.textã.rodata
|
---|
700 | 0x400000 - 0x5fffff å¤é¨RAMã.dataã.bss
|
---|
701 | 0xfee000 - 0xfee0ff å
|
---|
702 | é¨I/Oã¬ã¸ã¹ã¿(1)
|
---|
703 | 0xffbf20 - 0xffff1f å
|
---|
704 | èµRAMãéã¿ã¹ã¯ã³ã³ããã¹ãç¨ã¹ã¿ãã¯
|
---|
705 | 0xffff20 - 0xffffe9 å
|
---|
706 | é¨I/Oã¬ã¸ã¹ã¿(2)
|
---|
707 |
|
---|
708 | (3) ãªãªã¼ã¹æï¼å¤é¨RAMæªä½¿ç¨ï¼
|
---|
709 |
|
---|
710 | 0x000000 - 0x07ffff å
|
---|
711 | èµROMã.vectorsã.textã.rodata
|
---|
712 | 0xfee000 - 0xfee0ff å
|
---|
713 | é¨I/Oã¬ã¸ã¹ã¿(1)
|
---|
714 | 0xffbf20 - 0xfffb1f å
|
---|
715 | èµRAM(1)ã.dataã.bss
|
---|
716 | 0xfffb20 - 0xffff1f å
|
---|
717 | èµRAM(2)ã
|
---|
718 | éã¿ã¹ã¯ã³ã³ããã¹ãç¨ã¹ã¿ãã¯
|
---|
719 | 0xffff20 - 0xffffe9 å
|
---|
720 | é¨I/Oã¬ã¸ã¹ã¿(2)
|
---|
721 |
|
---|
722 |
|
---|
723 | 3. 4. 4 H8/3069F(NKEV-010H8) ã®ã¡ã¢ãªããã
|
---|
724 |
|
---|
725 | å¤é¨ã¢ãã¬ã¹ç©ºéãæå¹ã«ããå¿
|
---|
726 | è¦ããããããã¢ã¼ã 5 ã®å
|
---|
727 | èµ ROM æå¹
|
---|
728 | æ¡å¼µ 16M ãã¤ãã¢ã¼ããæ³å®ãã¦ããã
|
---|
729 |
|
---|
730 | (1) ãããã°æ (ç°¡æã¢ãã¿ä½¿ç¨æ)
|
---|
731 |
|
---|
732 | 0x000000 - 0x07ffff å
|
---|
733 | èµROMãç°¡æã¢ãã¿
|
---|
734 | 0x400000 - 0x43ffff å¤é¨RAMã.textã.rodata
|
---|
735 | 0x440000 - 0x47ffff å¤é¨RAMã.dataã.bss
|
---|
736 | 0xfee000 - 0xfee0ff å
|
---|
737 | é¨I/Oã¬ã¸ã¹ã¿(1)
|
---|
738 | 0xffbf20 - 0xffbfff å
|
---|
739 | èµRAMãç°¡æã¢ãã¿
|
---|
740 | 0xffc000 - 0xffc0ff å
|
---|
741 | èµRAMãä»®æ³å²è¾¼ã¿ãã¯ã¿é å (.vectors)
|
---|
742 | 0xffc100 - 0xffff1f å
|
---|
743 | èµRAMãéã¿ã¹ã¯ã³ã³ããã¹ãç¨ã¹ã¿ãã¯
|
---|
744 | 0xffff20 - 0xffffe9 å
|
---|
745 | é¨I/Oã¬ã¸ã¹ã¿(2)
|
---|
746 |
|
---|
747 | (2) ãããã°æ (GDB STUBä½¿ç¨æ)
|
---|
748 |
|
---|
749 | 0x000000 - 0x07ffff å
|
---|
750 | èµROMãGDB STUB
|
---|
751 | 0x400000 - 0x4000ff å
|
---|
752 | èµRAMãä»®æ³å²è¾¼ã¿ãã¯ã¿é å (.vectors)
|
---|
753 | 0x400100 - 0x43ffff å¤é¨RAMã.textã.rodata
|
---|
754 | 0x440000 - 0x47bfff å¤é¨RAMã.dataã.bss
|
---|
755 | 0x47c100 - 0x47ff1f å¤é¨RAMãéã¿ã¹ã¯ã³ã³ããã¹ãç¨ã¹ã¿ãã¯
|
---|
756 | 0xfee000 - 0xfee0ff å
|
---|
757 | èµI/O ã¬ã¸ã¹ã¿(1)
|
---|
758 | 0xffbf20 - 0xffbfff å
|
---|
759 | èµRAMãGDB STUB
|
---|
760 | 0xffff20 - 0xffffe9 å
|
---|
761 | é¨I/Oã¬ã¸ã¹ã¿(2)
|
---|
762 |
|
---|
763 | (3) ãªãªã¼ã¹æï¼å¤é¨RAM使ç¨ï¼
|
---|
764 |
|
---|
765 | 0x000000 - 0x07ffff å
|
---|
766 | èµROMã.vectorsã.textã.rodata
|
---|
767 | 0x400000 - 0x47ffff å¤é¨RAMã.dataã.bss
|
---|
768 | 0xfee000 - 0xfee0ff å
|
---|
769 | é¨I/Oã¬ã¸ã¹ã¿(1)
|
---|
770 | 0xffbf20 - 0xffff1f å
|
---|
771 | èµRAMãéã¿ã¹ã¯ã³ã³ããã¹ãç¨ã¹ã¿ãã¯
|
---|
772 | 0xffff20 - 0xffffe9 å
|
---|
773 | é¨I/Oã¬ã¸ã¹ã¿(2)
|
---|
774 |
|
---|
775 | (4) ãªãªã¼ã¹æï¼å¤é¨RAMæªä½¿ç¨ï¼
|
---|
776 |
|
---|
777 | 0x000000 - 0x07ffff å
|
---|
778 | èµROMã.vectorsã.textã.rodata
|
---|
779 | 0xfee000 - 0xfee0ff å
|
---|
780 | é¨I/Oã¬ã¸ã¹ã¿(1)
|
---|
781 | 0xffbf20 - 0xffff1f å
|
---|
782 | èµRAMã.dataã.bssã
|
---|
783 | ããããããããããããããããéã¿ã¹ã¯ã³ã³ããã¹ãç¨ã¹ã¿ãã¯
|
---|
784 | 0xffff20 - 0xffffe9 å
|
---|
785 | é¨I/Oã¬ã¸ã¹ã¿(2)
|
---|
786 |
|
---|
787 |
|
---|
788 | 4. éçº
|
---|
789 |
|
---|
790 | 4. 1 éçºç°å¢ã®æ§ç¯
|
---|
791 |
|
---|
792 | éçºç°å¢ã¯ã Windows XPä¸ã® cygwin ã®éçºç°å¢ãç¨ãããæ¬å®è£
|
---|
793 | ã«ç¨ã
|
---|
794 | ããã¼ã¸ã§ã³ã以ä¸ã«ç¤ºãã
|
---|
795 |
|
---|
796 | binutils-2.11.2
|
---|
797 | gcc-2.95.3
|
---|
798 | newlib-1.9.0
|
---|
799 |
|
---|
800 | è£å©çãªæå³ã§NKEV-010H8ã«ã¤ãã¦ã¯ä»¥ä¸ã®ãã¼ã¸ã§ã³ã§ã確èªãè¡ã£ãã
|
---|
801 |
|
---|
802 | ããbinutiles-2.16.1
|
---|
803 | ããgcc-3.4.3
|
---|
804 | ããnewlib-1.13.0
|
---|
805 |
|
---|
806 | 注æäºé
|
---|
807 | ï¼
|
---|
808 | ãç§æé»åéå製ãã¼ãä»å±ã®GNUéçºç°å¢ã¯ãã¼ã¸ã§ã³ãå¤ãããããµãã¼
|
---|
809 | ãããã¦ããªãã
|
---|
810 |
|
---|
811 | 注æäºé
|
---|
812 | ï¼
|
---|
813 | ãgcc-3.2.3ã¯ãã«ãã¤ã³é¢æ°__muldi3()ã®å®è£
|
---|
814 | ã«ä¸å
|
---|
815 | ·åãããããããã®
|
---|
816 | ããã¼ã¸ã§ã³ã®ä½¿ç¨ã¯æ¨å¥¨ãããªãã
|
---|
817 |
|
---|
818 | configure ã®ãªãã·ã§ã³ã¯ --target=h8300-hms ã§ããã ã¾ããbinutils ã®
|
---|
819 | configure ã®ãªãã·ã§ã³ã«ã¯ --disable-nls ãæå®ãããã¨ã
|
---|
820 | ãããã°ã®ãããç§æã¢ãã¿ãç°¡æã¢ãã¿ã使ç¨ãããã¨ãã§ããã
|
---|
821 | NKEV-010H8ã§ã¯ãGDB stubãç¨ãããã¨ãã§ããã詳ããã¯ã9. 3 NKEV-010H8
|
---|
822 | ã§ã® GDB STUB ã使ã£ãå®è¡ããåç
|
---|
823 | §ã
|
---|
824 | ï¼RedBootã«é¢ãã¦ã¯ãæ«å°¾ã®ä»é²ãåç
|
---|
825 | §ãï¼
|
---|
826 |
|
---|
827 |
|
---|
828 | 4. 2 sample1.h ã®è¨å®
|
---|
829 |
|
---|
830 | sample1.h ã§ãã¿ã¼ã²ããä¾åã®å®ç¾©ï¼CPU ä¾å¤ãã³ãã©ã®èµ·åæ¹æ³ãªã©ï¼ã
|
---|
831 | ã® H8 ä¾åé¨ã§ãTASK_PORTID ã 2ãã¤ã¾ã SCI1 ãè¨å®ãã¦ãããããä»ã®
|
---|
832 | ãã¼ãã使ç¨ããå ´åã¯ã ãã®å¤ã夿´ãããã¨ã
|
---|
833 |
|
---|
834 | 4. 3 ã¿ã¼ã²ããã¸ã®ãã¦ã³ãã¼ãã¨å®è¡
|
---|
835 |
|
---|
836 | ã¿ã¼ã²ããã¸ã®ãã¦ã³ãã¼ãã¨å®è¡ã«ã¯ãç§æã¢ãã¿ãã¾ãã¯ç°¡æã¢ãã¿ã
|
---|
837 | 使ç¨ããæ¹æ³ã¨ç´æ¥ H8 ã®ãã©ãã·ã¥ ROM ã«æ¸ãè¾¼ãã§å®è¡ããæ¹æ³ãããã
|
---|
838 |
|
---|
839 | (1) H8/3052FãH8/3069Fã§ç°¡æã¢ãã¿ã使ç¨ããæ¹æ³ (ãããã°ã¢ã¼ã)
|
---|
840 | è«å°ç§é«å°æ
|
---|
841 | å ±å¦ç§è£½ç°¡æã¢ãã¿ mon3052.mot (H8/3052F ç¨)ã
|
---|
842 | mon3068.mot(H8/3068FãH8/3069F ç¨) ãã H8 ã®å
|
---|
843 | èµãã©ãã·ã¥
|
---|
844 | ROM ã«æ¸ãè¾¼ãã以ä¸ã«ãä½¿ç¨æ¹æ³ã示ãã
|
---|
845 |
|
---|
846 | ç°¡æã¢ãã¿ã®é
|
---|
847 | å¸å
|
---|
848 | URLï¼
|
---|
849 | ã http://www.mit.pref.miyagi.jp/embedded/consortium/
|
---|
850 |
|
---|
851 |
|
---|
852 | [1] ãã£ã¬ã¯ã㪠$(CPU)/$(SYS) ã«ãã
|
---|
853 |
|
---|
854 | Makefileã®DBGENV := TNCT_MONITOR
|
---|
855 |
|
---|
856 | ãæå¹ã«ã㦠make ããã
|
---|
857 | [2] 端æ«ã½ããããã¢ãã¿ã³ãã³ã ld ãå
|
---|
858 | ¥åããã
|
---|
859 | [3] 端æ«ã½ãããã jsp.srec ãéä¿¡ããã
|
---|
860 | [4] 端æ«ã½ããããã¢ãã¿ã³ãã³ã go ãå
|
---|
861 | ¥åããã¨å®è¡ãéå§
|
---|
862 | ãããã
|
---|
863 |
|
---|
864 | (2) H8/3048F ã§ç§æã¢ãã¿ã使ç¨ããæ¹æ³ (ãããã°ã¢ã¼ã)
|
---|
865 | ãã£ã¬ã¯ã㪠$(CPU)/$(SYS) ã«ãã
|
---|
866 |
|
---|
867 | Makefileã®DBGENV := TNCT_MONITOR
|
---|
868 |
|
---|
869 | ãæå¹ã«ã㦠make ããã æ¬¡ã«ãH8/3048F ã®å¤é¨ RAM ã¸ã®ã¢ã¯ã»
|
---|
870 | ã¹ãæå¹ã«ããªããã°ãªããªããRAM ã®æ§æã«ããç°ãªããã ã¢ã
|
---|
871 | ã¬ã¹ãã¹ A0 ãã A19 ã¨ãã¼ã¿ãã¹ D8 ãã D15 ãæå¹ã«ããã«
|
---|
872 | ã¯ã以ä¸ã«ç¤ºããã¼ãã« 0xff ãæ¸ãè¾¼ãã
|
---|
873 |
|
---|
874 | Port Address
|
---|
875 | P1DDR 0xfffc0
|
---|
876 | P2DDR 0xfffc1
|
---|
877 | P3DDR 0xfffc4
|
---|
878 | P5DDR 0xfffc8
|
---|
879 |
|
---|
880 | æå¾ã«ç«¯æ«ã½ããã使ç¨ã㦠jsp.srec ã H8/3048F ã«è»¢éãã å®
|
---|
881 | è¡ããã
|
---|
882 |
|
---|
883 | (3) å
|
---|
884 | èµãã©ãã·ã¥ ROM ã«æ¸ãè¾¼ãã§å®è¡ããæ¹æ³
|
---|
885 | ããã(ãªãªã¼ã¹ã¢ã¼ãï¼å¤é¨RAM使ç¨)
|
---|
886 | ãã£ã¬ã¯ã㪠$(CPU)/$(SYS) ã«ãã Makefile.config ã®ãã£ã¬
|
---|
887 | ã¯ã㪠$(CPU)/$(SYS) ã«ãã Makefile ã®
|
---|
888 |
|
---|
889 | DBGENV := ROM
|
---|
890 |
|
---|
891 | ãæå¹ã«ã㦠make ãããæ¬¡ã«ãh8writeçã®ãã©ãã·ã¥ ROM æ¸ã
|
---|
892 | è¾¼ã¿ããã°ã©ã ã§ã ãã©ãã·ã¥ ROM ã«æ¸ãè¾¼ãã
|
---|
893 |
|
---|
894 | (4) H8/3069Fã§å
|
---|
895 | èµãã©ãã·ã¥ROMã«æ¸ãè¾¼ã¿ãå
|
---|
896 | èµRAMã ãã§å®è¡ãã
|
---|
897 | ãããæ¹æ³ (ãªãªã¼ã¹ã¢ã¼ãï¼å¤é¨RAMæªä½¿ç¨)
|
---|
898 | ãã£ã¬ã¯ã㪠$(CPU)/$(SYS) ã«ãã Makefile.config ã®ãã£ã¬
|
---|
899 | ã¯ã㪠$(CPU)/$(SYS) ã«ãã Makefile ã®
|
---|
900 |
|
---|
901 | DBGENV := INMEM_ONLY
|
---|
902 |
|
---|
903 | ãæå¹ã«ã㦠make ãããæ¬¡ã«ãh8writeçã®ãã©ãã·ã¥ ROM æ¸ã
|
---|
904 | è¾¼ã¿ããã°ã©ã ã§ã ãã©ãã·ã¥ ROM ã«æ¸ãè¾¼ãã
|
---|
905 |
|
---|
906 | 4. 4 H8/3048F ã®å¤é¨ RAM ã®æå¹å
|
---|
907 |
|
---|
908 | ãªãªã¼ã¹ã¢ã¼ãã§ã¯ã sys_support.S ã® _hardware_init_hook ã§ãã¢ãã¬
|
---|
909 | ã¹ãã¹ A0 ãã A19 ã¨ãã¼ã¿ãã¹ D8 ãã D15 ãæå¹ã«ããå¾ãã«ã¼ãã«ã
|
---|
910 | å®è¡ããã ãã以å¤ã«ã¢ãã¬ã¹ãã¹ã¨ãã¼ã¿ãã¹ãæå¹ã«ããå ´åã¯ã
|
---|
911 | sys_config.h ã®ä»¥ä¸ã®é¨åãé©å½ã«ç·¨éããã
|
---|
912 |
|
---|
913 | /*
|
---|
914 | * å¤é¨ã¢ãã¬ã¹ç©ºéå¶å¾¡
|
---|
915 | */
|
---|
916 | /*#define ENABLE_LOWER_DATA*/
|
---|
917 | #define ENABLE_P8_CS (H8P8DDR_CS0|H8P8DDR_CS1|\
|
---|
918 | H8P8DDR_CS2|H8P8DDR_CS3)
|
---|
919 | /*#define ENABLE_PA_CS (H8PADDR_CS4|H8PADDR_CS5|H8PADDR_CS6)*/
|
---|
920 | /*#define ENABLE_PB_CS H8PBDDR_CS7*/
|
---|
921 | #define ENABLE_PA_A21_A23 (H8BRCR_A23E|H8BRCR_A22E|H8BRCR_A21E)
|
---|
922 |
|
---|
923 | 4. 5 H8/3052F ã®å¤é¨ RAM ã®æå¹å
|
---|
924 |
|
---|
925 | ãªãªã¼ã¹ã¢ã¼ãã§ã¯ã sys_support.S ã® _hardware_init_hook ã§ãã¢ãã¬
|
---|
926 | ã¹ãã¹ A0 ãã A23ã ãã¼ã¿ãã¹ D8 ãã D15ã ãããã»ã¬ã¯ã CS0 ãã
|
---|
927 | CS3 ãæå¹ã«ããå¾ãã«ã¼ãã«ãå®è¡ããããã以å¤ã«ã¢ãã¬ã¹ãã¹ã¨ãã¼ã¿
|
---|
928 | ãã¹ãæå¹ã«ããå ´åã¯ãsys_config.h ã®ä»¥ä¸ã®é¨åãé©å½ã«ç·¨éããã
|
---|
929 |
|
---|
930 | /*
|
---|
931 | * å¤é¨ã¢ãã¬ã¹ç©ºéå¶å¾¡
|
---|
932 | */
|
---|
933 | /*#define ENABLE_LOWER_DATA*/
|
---|
934 | #define ENABLE_P8_CS (H8P8DDR_CS0|H8P8DDR_CS1|\
|
---|
935 | H8P8DDR_CS2|H8P8DDR_CS3)
|
---|
936 | /*#define ENABLE_PA_CS (H8PADDR_CS4|H8PADDR_CS5|H8PADDR_CS6)*/
|
---|
937 | /*#define ENABLE_PB_CS H8PBDDR_CS7*/
|
---|
938 | #define ENABLE_PA_A21_A23 (H8BRCR_A23E|H8BRCR_A22E|H8BRCR_A21E)
|
---|
939 |
|
---|
940 | 4. 6 H8/3069F ã®å¤é¨ RAM ã®æå¹å
|
---|
941 |
|
---|
942 | ãªãªã¼ã¹ã¢ã¼ãã§ã¯ã sys_support.S ã® _hardware_init_hook ã§ãã¢ãã¬
|
---|
943 | ã¹ãã¹ A0 ãã A23ã ãã¼ã¿ãã¹ D8 ãã D15ã ãããã»ã¬ã¯ã CS0 ãã
|
---|
944 | CS3 ãæå¹ã«ããå¾ãã«ã¼ãã«ãå®è¡ããããã以å¤ã«ã¢ãã¬ã¹ãã¹ã¨ãã¼ã¿
|
---|
945 | ãã¹ãæå¹ã«ããå ´åã¯ãsys_config.h ã®ä»¥ä¸ã®é¨åãé©å½ã«ç·¨éããã
|
---|
946 |
|
---|
947 | /*
|
---|
948 | * å¤é¨ã¢ãã¬ã¹ç©ºéå¶å¾¡
|
---|
949 | */
|
---|
950 | #define ENABLE_P8_CS (H8P8DDR_CS0|H8P8DDR_CS1|\
|
---|
951 | H8P8DDR_CS2|H8P8DDR_CS3)
|
---|
952 | #if 0
|
---|
953 | #define ENABLE_LOWER_DATA
|
---|
954 | #define ENABLE_PB_CS (H8PADDR_CS4|H8PADDR_CS5|\
|
---|
955 | H8PADDR_CS6|H8PBDDR_CS7)
|
---|
956 | #endif /* of #if 0 */
|
---|
957 |
|
---|
958 | 5. ãã¡ã¤ã«æ§æ
|
---|
959 |
|
---|
960 | 5. 1 ãã£ã¬ã¯ããªã»ãã¡ã¤ã«æ§æ
|
---|
961 |
|
---|
962 | (1) config/h8/
|
---|
963 |
|
---|
964 | Makefile.config Makefile ã® H8 ä¾åå®ç¾©
|
---|
965 | cpu_config.c H8 ããã»ããµä¾åé¨ã® C 颿°
|
---|
966 | cpu_config.h H8 ããã»ããµä¾åé¨ã®æ§æå®ç¾©
|
---|
967 | cpu_context.h H8 ããã»ããµä¾åé¨ã®ã³ã³ããã¹ãæä½
|
---|
968 | cpu_defs.h H8 ããã»ããµä¾åé¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
|
---|
969 | cpu_insn.h H8 ããã»ããµã®ã¢ã»ã³ã㪠inline 颿°
|
---|
970 | cpu_support.S H8 ããã»ããµã®ã¢ã»ã³ããªé¢æ°
|
---|
971 | cpu_rename.def ã«ã¼ãã«ã®å
|
---|
972 | é¨èå¥åã®ãªãã¼ã ã¨ãã®è§£é¤ã®
|
---|
973 | ãããããããã å®ç¾©ãªã¹ã
|
---|
974 | cpu_rename.h ã«ã¼ãã«ã®å
|
---|
975 | é¨èå¥åã®ãªãã¼ã ã®å®ç¾©
|
---|
976 | cpu_unrename.h ã«ã¼ãã«ã®å
|
---|
977 | é¨èå¥åã®ãªãã¼ã è§£é¤ã®å®ç¾©
|
---|
978 | h8.h H8/300H ããã»ããµã®å
|
---|
979 | ±éå®ç¾©
|
---|
980 | h8_3048f.h H8/3048F ããã»ããµã®å®ç¾©
|
---|
981 | h8_3052f.h H8/3052F ããã»ããµã®å®ç¾©
|
---|
982 | h8_3069f.h H8/3048F ããã»ããµã®å®ç¾©
|
---|
983 | h8_sil.c SILã®H8ããã»ããµåãæ¡å¼µ C颿°
|
---|
984 | h8_sil.h SILã®H8ããã»ããµåãæ¡å¼µ æ§æå®ç¾©
|
---|
985 | ãããããããããï¼ä¸»ã«I/Oãã¼ãã®DDRã¢ã¯ã»ã¹ã«ã¼ãã³ï¼
|
---|
986 | hw_serial.c SCI ã®å¤æ°ã¨é¢æ°
|
---|
987 | hw_serial.cfg SCI ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
|
---|
988 | hw_serial.h SCI ã®å®ç¾©
|
---|
989 | hw_timer.h ITU ã®å®ç¾©
|
---|
990 | start.S ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
|
---|
991 | tool_config.h H8 ããã»ããµã®éçºç°å¢ä¾åã¢ã¸ã¥ã¼ã«å®ç¾©
|
---|
992 | tool_defs.h H8 ããã»ããµã®éçºç°å¢ä¾åå®ç¾©
|
---|
993 | vector_header.S å²è¾¼ã¿ãã¯ã¿ãã¼ãã«ã®å
|
---|
994 | é é¨å
|
---|
995 | makeoffset.c offset.h çæãµãã¼ã颿°
|
---|
996 |
|
---|
997 | (2) config/h8/akih8_3048f/
|
---|
998 | (æ ª) ç§æé»åéå製㮠AKI-H8/3048F ãã¼ãã®ä¾åé¨å
|
---|
999 |
|
---|
1000 | Makefile.config Makefile ã® AKI-H8/3048F ãã¼ãä¾åå®ç¾©
|
---|
1001 | debug.ld ãããã°ç¨ãªã³ã«ã¹ã¯ãªãã
|
---|
1002 | release.ld ãªãªã¼ã¹ç¨ãªã³ã«ã¹ã¯ãªãã
|
---|
1003 | sys_config.c AKI-H8/3048F ãã¼ãä¾åé¨ã® C 颿°
|
---|
1004 | sys_config.h AKI-H8/3048F ãã¼ãä¾åé¨ã®æ§æå®ç¾©
|
---|
1005 | sys_defs.h AKI-H8/3048F ãã¼ãä¾åé¨ã®ã¢ããªã±ã¼ã·ã§
|
---|
1006 | ãããããããã ã³ç¨å®ç¾©
|
---|
1007 | sys_support.S AKI-H8/3048F ãã¼ãä¾åé¨ã®ã¢ã»ã³ããªé¢æ°
|
---|
1008 | sys_rename.def ã«ã¼ãã«ã®å
|
---|
1009 | é¨èå¥åã®ãªãã¼ã ã¨ãã®è§£é¤
|
---|
1010 | ãããããããã ã®å®ç¾©ãªã¹ã
|
---|
1011 | sys_rename.h ã«ã¼ãã«ã®å
|
---|
1012 | é¨èå¥åã®ãªãã¼ã ã®å®ç¾©
|
---|
1013 | sys_unrename.h ã«ã¼ãã«ã®å
|
---|
1014 | é¨èå¥åã®ãªãã¼ã è§£é¤ã®å®ç¾©
|
---|
1015 |
|
---|
1016 | (3) config/h8/akih8_3052f/
|
---|
1017 | (æ ª) ç§æé»åéå製㮠AKI-H8/3052F ãã¼ãã®ä¾åé¨å
|
---|
1018 |
|
---|
1019 | Makefile.config Makefile ã® AKI-H8/3052F ãã¼ãä¾åå®ç¾©
|
---|
1020 | debug.ld ãããã°ç¨ãªã³ã«ã¹ã¯ãªãã
|
---|
1021 | release.ld ãªãªã¼ã¹ç¨ãªã³ã«ã¹ã¯ãªãã
|
---|
1022 | sys_config.c AKI-H8/3052F ãã¼ãä¾åé¨ã® C 颿°
|
---|
1023 | sys_config.h AKI-H8/3052F ãã¼ãä¾åé¨ã®æ§æå®ç¾©
|
---|
1024 | sys_defs.h AKI-H8/3052F ãã¼ãä¾åé¨ã®ã¢ããªã±ã¼ã·ã§
|
---|
1025 | ãããããããã ã³ç¨å®ç¾©
|
---|
1026 | sys_support.S AKI-H8/3052F ãã¼ãä¾åé¨ã®ã¢ã»ã³ããªé¢æ°
|
---|
1027 | sys_rename.def ã«ã¼ãã«ã®å
|
---|
1028 | é¨èå¥åã®ãªãã¼ã ã¨ãã®è§£é¤
|
---|
1029 | ãããããããã ã®å®ç¾©ãªã¹ã
|
---|
1030 | sys_rename.h ã«ã¼ãã«ã®å
|
---|
1031 | é¨èå¥åã®ãªãã¼ã ã®å®ç¾©
|
---|
1032 | sys_unrename.h ã«ã¼ãã«ã®å
|
---|
1033 | é¨èå¥åã®ãªãã¼ã è§£é¤ã®å®ç¾©
|
---|
1034 |
|
---|
1035 | (4) config/h8/akih8_3069f/
|
---|
1036 | (æ ª) ç§æé»åéå製㮠AKI-H8/3069F ãã¼ãã®ä¾åé¨å
|
---|
1037 |
|
---|
1038 | Makefile.config Makefile ã® AKI-H8/3069F ãã¼ãä¾åå®ç¾©
|
---|
1039 | debug.ld ãããã° (ç°¡æã¢ãã¿å¯¾å¿) ç¨ãªã³ã«ã¹ã¯ãªãã
|
---|
1040 | debug_redboot.ld ãããã° (RedBoot対å¿) ç¨ãªã³ã«ã¹ã¯ãªãã
|
---|
1041 | release.ld ãªãªã¼ã¹ç¨ãªã³ã«ã¹ã¯ãªããï¼å¤é¨RAM使ç¨ï¼
|
---|
1042 | release_inmem.ld ãªãªã¼ã¹ç¨ãªã³ã«ã¹ã¯ãªããï¼å¤é¨RAMæªä½¿ç¨ï¼
|
---|
1043 | sys_config.c AKI-H8/3069F ãã¼ãä¾åé¨ã® C 颿°
|
---|
1044 | sys_config.h AKI-H8/3069F ãã¼ãä¾åé¨ã®æ§æå®ç¾©
|
---|
1045 | sys_defs.h AKI-H8/3069F ãã¼ãä¾åé¨ã®ã¢ããªã±ã¼ã·ã§
|
---|
1046 | ãããããããã ã³ç¨å®ç¾©
|
---|
1047 | sys_support.S AKI-H8/3069F ãã¼ãä¾åé¨ã®ã¢ã»ã³ããªé¢æ°
|
---|
1048 | sys_rename.def ã«ã¼ãã«ã®å
|
---|
1049 | é¨èå¥åã®ãªãã¼ã ã¨ãã®è§£é¤
|
---|
1050 | ãããããããã ã®å®ç¾©ãªã¹ã
|
---|
1051 | sys_rename.h ã«ã¼ãã«ã®å
|
---|
1052 | é¨èå¥åã®ãªãã¼ã ã®å®ç¾©
|
---|
1053 | sys_unrename.h ã«ã¼ãã«ã®å
|
---|
1054 | é¨èå¥åã®ãªãã¼ã è§£é¤ã®å®ç¾©
|
---|
1055 |
|
---|
1056 | (5) config/h8/nkev_010h8/
|
---|
1057 | (æ) åå·éä¿¡è¨è£
|
---|
1058 | ãµã¼ãã¹è£½ã® NKEV-010H8 ãã¼ãã®ä¾åé¨å
|
---|
1059 |
|
---|
1060 | Makefile.config Makefile NKEV-010H8 ãã¼ãä¾åå®ç¾©
|
---|
1061 | debug.ld ãããã° (ç°¡æã¢ãã¿å¯¾å¿) ç¨ãªã³ã«ã¹ã¯ãªãã
|
---|
1062 | debug_gdbstub.ld ãããã° (GDB STUB対å¿) ç¨ãªã³ã«ã¹ã¯ãªãã
|
---|
1063 | debug_redboot.ld ãããã° (RedBoot対å¿) ç¨ãªã³ã«ã¹ã¯ãªãã
|
---|
1064 | release.ld ãªãªã¼ã¹ç¨ãªã³ã«ã¹ã¯ãªããï¼å¤é¨RAM使ç¨ï¼
|
---|
1065 | release_inmem.ld ãªãªã¼ã¹ç¨ãªã³ã«ã¹ã¯ãªããï¼å¤é¨RAMæªä½¿ç¨ï¼
|
---|
1066 | sys_config.c NKEV-010H8 ãã¼ãä¾åé¨ã® C 颿°
|
---|
1067 | sys_config.h NKEV-010H8 ãã¼ãä¾åé¨ã®æ§æå®ç¾©
|
---|
1068 | sys_defs.h NKEV-010H8 ãã¼ãä¾åé¨ã®ã¢ããªã±ã¼ã·ã§
|
---|
1069 | ãããããããã ã³ç¨å®ç¾©
|
---|
1070 | sys_support.S NKEV-010H8 ãã¼ãä¾åé¨ã®ã¢ã»ã³ããªé¢æ°
|
---|
1071 | sys_rename.def ã«ã¼ãã«ã®å
|
---|
1072 | é¨èå¥åã®ãªãã¼ã ã¨ãã®è§£é¤
|
---|
1073 | ãããããããã ã®å®ç¾©ãªã¹ã
|
---|
1074 | sys_rename.h ã«ã¼ãã«ã®å
|
---|
1075 | é¨èå¥åã®ãªãã¼ã ã®å®ç¾©
|
---|
1076 | sys_unrename.h ã«ã¼ãã«ã®å
|
---|
1077 | é¨èå¥åã®ãªãã¼ã è§£é¤ã®å®ç¾©
|
---|
1078 |
|
---|
1079 | (6) jsp/utils/h8/
|
---|
1080 | H8ä¾åé¨ãã«ãç¨ã¹ã¯ãªãã
|
---|
1081 |
|
---|
1082 | cat.plããããã UNIXã®catã³ãã³ãç¸å½
|
---|
1083 | grep_def_inh.plãPerlã¹ã¯ãªããçæç¨ãã£ã«ã¿
|
---|
1084 | genvector.plãã ãã¯ã¿ãã¼ãã«çæç¨ã¹ã¯ãªãã
|
---|
1085 |
|
---|
1086 | (7) ãã«ãã»ãã£ã¬ã¯ããª
|
---|
1087 | vector.Sãããã ãã¯ã¿ãã¼ãã«ï¼make dependæã«èªåçæï¼
|
---|
1088 |
|
---|
1089 | 6. ã¢ããªã±ã¼ã·ã§ã³éçºè
|
---|
1090 | åãã®æ
|
---|
1091 | å ±
|
---|
1092 |
|
---|
1093 | ã¢ããªã±ã¼ã·ã§ã³éçºè
|
---|
1094 | ã«æçã¨æãããæ
|
---|
1095 | å ±ã«ã¤ãã¦è¿°ã¹ãã
|
---|
1096 |
|
---|
1097 | 6.1 ã«ã¼ãã«ã®è¨å®å¤æ´æ¹æ³
|
---|
1098 |
|
---|
1099 | (1) SUPPORT_CHG_IPM
|
---|
1100 | ãããã®ãã¯ããå®ç¾©ããã¨å²è¾¼ã¿ãã¹ã¯ã®å¤æ´ã»åç
|
---|
1101 | §æ©è½ãæå¹ã«ãªãã
|
---|
1102 | ãã詳細ã¯ã2. 2. 3ãå²è¾¼ã¿ãã¹ã¯ã®å¤æ´ã»åç
|
---|
1103 | §ããåç
|
---|
1104 | §
|
---|
1105 | ããè¨å®ãã¡ã¤ã«ï¼sys_config.h
|
---|
1106 |
|
---|
1107 | (2) SUPPORT_VXGET_TIM
|
---|
1108 | ãããã®ãã¯ããå®ç¾©ããã¨æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
|
---|
1109 | §æ©è½vxget_tim( )ã
|
---|
1110 | ããæå¹ã«ãªãã詳細ã¯ã3. 2 æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
|
---|
1111 | §æ©è½ããåç
|
---|
1112 | §
|
---|
1113 | ããè¨å®ãã¡ã¤ã«ï¼sys_config.h
|
---|
1114 |
|
---|
1115 | (3) STACKTOP
|
---|
1116 | ããéã¿ã¹ã¯ã³ã³ããã¹ãç¨ã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå¤
|
---|
1117 | ããã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã§ã¯STACKTOPãæãRAMé åãã¹ã¿ãã¯ã«ãã¦
|
---|
1118 | ãã_hardware_init_hookãå¼ã³åºãããã®ããããã®é åã¯
|
---|
1119 | ãã_hardware_init_hookãå¼ã³åºãåã«ã¢ã¯ã»ã¹å¯è½ã«ãªã£ã¦ããå¿
|
---|
1120 | è¦ãã
|
---|
1121 | ãããã
|
---|
1122 | ããã»åæç¶æ
|
---|
1123 | ã®ã¾ã¾ã¢ã¯ã»ã¹ã§ããå
|
---|
1124 | èµRAMãã¾ãã¯
|
---|
1125 | ããã»ã¢ãã¿ã«ããã¢ã¯ã»ã¹ã§ããç¶æ
|
---|
1126 | ã«ããå¤é¨RAM
|
---|
1127 |
|
---|
1128 | ããè¨å®ãã¡ã¤ã«ï¼sys_config.h
|
---|
1129 |
|
---|
1130 | (4) HEW_SIMULATOR ï¼akih8_3069fåºæã®æ¡å¼µï¼
|
---|
1131 | ãããã®å¤æ°ãtrueã«è¨å®ããã¨ãã¯ãHEW_SIMULATORãå®ç¾©ããã
|
---|
1132 | ããã·ãªã¢ã«ãã©ã¤ããHEWã®I/Oã·ãã¥ã¬ã¼ã·ã§ã³ã«å¯¾å¿ããã³ã¼ãã«ç½®ã
|
---|
1133 | ããæãããï¼ã·ãªã¢ã«éä¿¡ã¯ãã¹ã¦ãã¼ãªã³ã°ã«ãªããï¼
|
---|
1134 | ããã·ãªã¢ã«éä¿¡ã¯HEWã®I/Oã·ãã¥ã¬ã¼ã·ã§ã³ã»ã¦ã£ã³ãã¦ã«è¡¨ç¤ºããï¼ãã¹
|
---|
1135 | ããã¦ãã¼ãªã³ã°ã«ãªãï¼ãã·ãªã¢ã«åä¿¡ã¯HEWã®I/Oã·ãã¥ã¬ã¼ã·ã§ã³ã®æ¬ä¼¼
|
---|
1136 | ããå²è¾¼ã¿æ©è½ã«ããåç¾ããã
|
---|
1137 | ããåä¿¡ãããã£ã©ã¯ã¿ã¯ãHEWã®I/Oã·ãã¥ã¬ã¼ã·ã§ã³ã»ã¦ã£ã³ãã¦ã«ã«ã¼ã½
|
---|
1138 | ããã«ãä¸çªä¸ã®è¡ã«ç§»åãã¦ããå
|
---|
1139 | ¥åãããã¨ã«ããæå®ãããï¼è©³ç´°ã¯
|
---|
1140 | ããHEWã®ã·ãã¥ã¬ã¼ã¿ï¼ãããã¬ã®ã¦ã¼ã¶ã¼ãºã»ããã¥ã¢ã«ãåç
|
---|
1141 | §ã®ãã¨ï¼
|
---|
1142 | ããHEWã®I/Oã·ãã¥ã¬ã¼ã·ã§ã³æ©è½ãå©ç¨ããã«ã¯ãstart.Sã®ã©ãã«
|
---|
1143 | ãã_hew_io_simãHEWã«ç»é²ããå¿
|
---|
1144 | è¦ãããã
|
---|
1145 | ããï¼ã¿ã¼ã²ããakih8_3069fã«ãããåä½ç¢ºèªæã«ã¯0x0160çªå°ãç»é²ã
|
---|
1146 | ãããããï¼
|
---|
1147 |
|
---|
1148 | è¨å®ç®æ
|
---|
1149 | ãåºæ¬è¨å®ã¡ãã¥ã¼
|
---|
1150 | ãããã·ãã¥ã¬ã¼ã¿
|
---|
1151 | ããããã·ã¹ãã
|
---|
1152 | ããããããã·ã¹ãã ãã¿ã
|
---|
1153 | ãããããããI/Oã·ãã¥ã¬ã¼ã·ã§ã³ã»ã¢ãã¬ã¹
|
---|
1154 | ãããããããï¼ãæå¹ããã§ãã¯ããã¯ã¹ã§æå¹ãæå®ããï¼
|
---|
1155 |
|
---|
1156 | ãã
|
---|
1157 | ããè¨å®ãã¡ã¤ã«ï¼h8/akih8_3069f/Makefile.config
|
---|
1158 |
|
---|
1159 | ãã»åèï¼
|
---|
1160 | ãããHEWã®H8/300ç¨ã·ãã¥ã¬ã¼ã¿ã§ã¯ãã¿ã¤ãããµãã¼ãããã¦ããªãããã
|
---|
1161 | ããããã®æ¡å¼µã¯åèå®è£
|
---|
1162 | æ±ãã§ããã
|
---|
1163 | ãããï¼HEWã®ã·ãã¥ã¬ã¼ã¿ã«ããã¦ããã¬ã¼ã¯ãã¤ã³ãã®ãã¬ã¼ã¯ç¨®å¥ã
|
---|
1164 | ãããããã¬ã¼ã¯ãµã¤ã¯ã«ã¨ãããã¬ã¼ã¯åä½ãå²è¾¼ã¿ã«ããã°ãæ¬ä¼¼çã«
|
---|
1165 | ããããã¿ã¤ãå²è¾¼ã¿ãçºçãããã¨ãã§ããããã ãããã®æ¹æ³ã§ã¯å²è¾¼
|
---|
1166 | ããããã¿ãã¹ã¯ã¯èæ
|
---|
1167 | ®ãããªããï¼
|
---|
1168 | ããã
|
---|
1169 | ãããHEWã§ã¯ãæ¬ä¼¼ãã¯ã¿ãã¼ãã«ãç¨æãã¦ããªããããROMåããç¶æ
|
---|
1170 |
|
---|
1171 | ãããã®ã¡ã¢ãªãããã§ãªãã¨å²è¾¼ã¿ãã¯ã¿ãã¼ãã«ã®èªã¿åããæ£å¸¸ã«å
|
---|
1172 | ãããä½ããªãã
|
---|
1173 | ãããå¾ã£ã¦ãHEW_SIMULATOR=trueã¨ããéã«ã¯ãDBGENV=ROM ã¾ãã¯
|
---|
1174 | ãããDBGENV=INMEM_ONLYã¨ãããã¨
|
---|
1175 | ãããï¼DBGENV=TNCT_MONITORã®å ´åã§ããè«å°ç§é«å°è£½ ç°¡æã¢ãã¿ã
|
---|
1176 | ãããããã£ããã«ãã¦ã³ãã¼ãããã°ãåä½å¯è½ã¨æããããæªç¢ºèªã§
|
---|
1177 | ãããããããï¼
|
---|
1178 |
|
---|
1179 | ãã»åèï¼
|
---|
1180 | ãããHEWã®ã·ãã¥ã¬ã¼ã¿ã¯ãsleepå½ä»¤ã®å®è¡ã§ãã¬ã¼ã¯ãã仿§ã«ãªã£ã¦ã
|
---|
1181 | ãããããï¼å²è¾¼ã¿å¾
|
---|
1182 | ã¡ã«ãªããªããï¼ããã§ã¯ãæéçµéã«ããã¿ã¤ãå²
|
---|
1183 | ãããè¾¼ã¿ãã·ãã¥ã¬ã¼ãã§ããªãã®ã§ããã¯ãHEW_SIMULATORãå®ç¾©ããã
|
---|
1184 | ãããå ´åã¯ããã¯ãNO_SLEEPãå®ç¾©ããcpu_support.Sã®ã©ãã«
|
---|
1185 | ãããdispatcher_2_enable_interruptä»è¿ã®sleepå½ä»¤ãå®è¡ããªãããã«
|
---|
1186 | ããããã¦ããã
|
---|
1187 |
|
---|
1188 | 6.1.1 ã·ãªã¢ã«ãã©ã¤ãã®ã«ã¹ã¿ãã¤ãºæ¹æ³
|
---|
1189 |
|
---|
1190 | ãåºæ¬çã«jsp/config/h8/akih8_3069f/sys_config.hã«ãããã¯ãå®ç¾©ãä¿®æ£
|
---|
1191 | ãããã¨ã§ãã«ã¹ã¿ãã¤ãºãããã¨ãã§ããã以ä¸ã«åãã¯ãã®æå³ã示ãã
|
---|
1192 | ã
|
---|
1193 | ãã»ãã¼ãæ°
|
---|
1194 | ãããjsp/config/h8/akih8_3069f/sys_config.h 145è¡ç®
|
---|
1195 | ããããã¯ãTNUM_PORTã§ãã¼ãæ°ãå®ç¾©ããã
|
---|
1196 | ãããç¾å¨ã®å®è£
|
---|
1197 | ã§ã¯æå¤§ï¼ã¾ã§ä½¿ç¨ã§ããã
|
---|
1198 |
|
---|
1199 | ãã»ã·ã¹ãã ãã°ãåºåããã·ãªã¢ã«ãã¼ãçªå·
|
---|
1200 | ãããjsp/config/h8/akih8_3069f/sys_config.h 149è¡ç®
|
---|
1201 | ããããã¯ãLOGTASK_PORTIDã§ãã¼ãæ°ãå®ç¾©ããã
|
---|
1202 |
|
---|
1203 | åãã£ãã«æ¯ã«jsp/config/h8/akih8_3069f/sys_config.hã§å®ç¾©ãã¦ãããã¯
|
---|
1204 | ãã®æå³ã«ã¤ãã¦ã以ä¸ã«è¿°ã¹ãã???ã®é¨åã«ã¯ãã¼ãã®èå¥åã§ãã
|
---|
1205 | SYSTEMãUSERãUSER2ã®ãããããå
|
---|
1206 | ¥ãã
|
---|
1207 |
|
---|
1208 | ãã»???_SCI
|
---|
1209 | ãããã·ãªã¢ã«ããã¤ã¹ã®å¶å¾¡ã¬ã¸ã¹ã¿ç¾¤ã®å
|
---|
1210 | é ã¢ãã¬ã¹
|
---|
1211 |
|
---|
1212 | ãã»???_SCI_IPR
|
---|
1213 | ãããå²è¾¼ã¿å¶å¾¡ã§ç¨ããIPRAã¾ãã¯IPRBã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹
|
---|
1214 |
|
---|
1215 | ãã»???_SCI_IP_BIT
|
---|
1216 | ãããä¸è¨IPRã¬ã¸ã¹ã¿ä¸ã§ã·ãªã¢ã«ããã¤ã¹ã該å½ããããã
|
---|
1217 |
|
---|
1218 | ãã»???_SCI_SMR
|
---|
1219 | ãããSMRã¬ã¸ã¹ã¿ã®åæå¤
|
---|
1220 | ãããããã©ã«ãã§ä»¥ä¸ã®è¨å®ãè¡ã£ã¦ããã
|
---|
1221 | ããã ã»éåä¿¡ãã©ã¼ãããï¼èª¿æ©åæå¼
|
---|
1222 | ã»ãã£ã©ã¯ã¿ã¬ã³ã°ã¹ï¼8ããã
|
---|
1223 | ã»ããªãã£ãªã
|
---|
1224 | ã»ã¹ããããããã¬ã³ã°ã¹ï¼1
|
---|
1225 | ã»ã¯ããã¯ã»ã¬ã¯ãï¼å卿¯ï¼:1
|
---|
1226 |
|
---|
1227 | ãã»???_BAUD_RATE
|
---|
1228 | ããããã¼ã¬ã¼ã[bps]
|
---|
1229 |
|
---|
1230 | ãã»???_PORTID
|
---|
1231 | ããããã¼ãIDããã¯ãSYSTEM_PORTIDãUSER_PORTIDãUSER2_PORTIDã§å®ç¾©
|
---|
1232 | ãããããããã¼ãIDã¨ããã¤ã¹çªå·(sci0ã2)ã®å¯¾å¿é¢ä¿ã夿´ããå ´åã
|
---|
1233 | ããããã®ãã¯ãã夿´ããã ãã§ãªãã
|
---|
1234 | ããããjsp/config/h8/hw_serial.c
|
---|
1235 | ãããã§å®ç¾©ããã¦ããã·ãªã¢ã«ãã¼ãåæåãããã¯siopinib_table[]
|
---|
1236 | ãããå
|
---|
1237 | ã®åæåãã¼ã¿ã®é çªãå
|
---|
1238 | ¥ãæ¿ããã
|
---|
1239 |
|
---|
1240 | ãã»???_SCI_IPM
|
---|
1241 | ãããå²è¾¼ã¿ãã©ã¤ãªãªãã£ã¬ãã«ï¼éåä¿¡å
|
---|
1242 | ¼ç¨ï¼
|
---|
1243 | ãããIPM_LEVEL0ã¾ãã¯IPM_LEVEL1ãè¨å®ããã
|
---|
1244 |
|
---|
1245 | ãã»INHNO_SERIAL_INãINHNO_SERIAL2_INãINHNO_SERIAL3_IN
|
---|
1246 | ãããåãã¼ãIDã®ã·ãªã¢ã«åä¿¡å²è¾¼ã¿ã®ãã¯ã¿çªå·
|
---|
1247 |
|
---|
1248 | ãã»INHNO_SERIAL_OUTãINHNO_SERIAL2_OUTãINHNO_SERIAL3_OUT
|
---|
1249 | ãããåãã¼ãIDã®ã·ãªã¢ã«éä¿¡å²è¾¼ã¿ã®ãã¯ã¿çªå·
|
---|
1250 |
|
---|
1251 | ãã»INHNO_SERIAL_ERRãINHNO_SERIAL2_ERRãINHNO_SERIAL3_ERR
|
---|
1252 | ãããåãã¼ãIDã®ã·ãªã¢ã«ã¨ã©ã¼å²è¾¼ã¿ã®ãã¯ã¿çªå·
|
---|
1253 |
|
---|
1254 | ãã»sio_in_handler_intmaskãsio_in2_handler_intmaskã
|
---|
1255 | ããsio_in3_handler_intmask
|
---|
1256 | ãããåãã¼ãIDã®ã·ãªã¢ã«åä¿¡å²è¾¼ã¿ãã³ãã©å®è¡ä¸ã«ã
|
---|
1257 | ãããå²è¾¼ã¿ãã¹ã¯ã¨ãã¦è¨å®ããå¤
|
---|
1258 | ãããIPM_LEVEL1ã¾ãã¯IPM_LEVEL2ãè¨å®ããã
|
---|
1259 |
|
---|
1260 | ãã»sio_out_handler_intmaskãsio_out2_handler_intmaskã
|
---|
1261 | ããsio_out3_handler_intmask
|
---|
1262 | ãããåãã¼ãIDã®ã·ãªã¢ã«éä¿¡å²è¾¼ã¿ãã³ãã©å®è¡ä¸ã«ã
|
---|
1263 | ãããå²è¾¼ã¿ãã¹ã¯ã¨ãã¦è¨å®ããå¤
|
---|
1264 | ãããIPM_LEVEL1ã¾ãã¯IPM_LEVEL2ãè¨å®ããã
|
---|
1265 |
|
---|
1266 | ãã»sio_err_handler_intmaskãsio_err2_handler_intmaskã
|
---|
1267 | ããsio_err3_handler_intmask
|
---|
1268 | ãããåãã¼ãIDã®ã·ãªã¢ã«ã¨ã©ã¼å²è¾¼ã¿ãã³ãã©å®è¡ä¸ã«ã
|
---|
1269 | ãããå²è¾¼ã¿ãã¹ã¯ã¨ãã¦è¨å®ããå¤
|
---|
1270 | ãããIPM_LEVEL1ã¾ãã¯IPM_LEVEL2ãè¨å®ããã
|
---|
1271 |
|
---|
1272 |
|
---|
1273 | 6.2 ã¢ããªã±ã¼ã·ã§ã³åãã«æä¾ãããæ©è½
|
---|
1274 |
|
---|
1275 | H8ä¾åé¨ã§ã¯ã¢ããªã±ã¼ã·ã§ã³ãéçºããããããããã以ä¸ã®æ©è½ãæä¾ã
|
---|
1276 | ã¦ããã
|
---|
1277 |
|
---|
1278 | 6.2.1ãI/Oãã¼ãã®DDRã¬ã¸ã¹ã¿ã¸ã®ã¢ã¯ã»ã¹è£å©æ©è½
|
---|
1279 |
|
---|
1280 | H8ã®I/Oãã¼ãã®ãã¼ã¿ã»ãã£ã¬ã¯ã·ã§ã³ã»ã¬ã¸ã¹ã¿DDRã¯æ¸ãè¾¼ã¿å°ç¨ã§ããã
|
---|
1281 | ãã®ã¾ã¾ã§ã¯ææã®ãããã ãã夿´ãããã¨ãã§ããªãã
|
---|
1282 | ï¼bset,bclrå½ä»¤ã§ãåé¿ä¸å¯ï¼
|
---|
1283 | ã¾ããã«ã¼ãã«ã®ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã§ãããã¤ãã®DDRã¬ã¸ã¹ã¿ã«å¯¾ã
|
---|
1284 | ã¦è¨å®ãè¡ã£ã¦ããããããã®ã¾ã¾ã§ã¯ã«ã¼ãã«ã¨ã¢ããªã±ã¼ã·ã§ã³ã®éã§æ´
|
---|
1285 | åæ§ãä¿ã¤ãã¨ãã§ããªãã
|
---|
1286 | ãã®ãããæ¬å®è£
|
---|
1287 | ã§ã¯ãã¡ã¢ãªä¸ã«ãã³ãã©ãªãç¨æãã¦ãDDRã®ç¾å¨å¤ãä¿
|
---|
1288 | æããæ¹æ³ãæ¡ã£ã¦ããã
|
---|
1289 | æ¬æ©è½ãå©ç¨ããå ´åã¯h8_sil.hãã¤ã³ã¯ã«ã¼ãããå¿
|
---|
1290 | è¦ãããã
|
---|
1291 | ãã¼ãçªå·ã¯IO_PORT1, IO_PORT2, IO_PORT3, IO_PORT4, IO_PORT5, IO_PORT6,
|
---|
1292 | IO_PORT8, IO_PORT9, IO_PORTA, IO_PORTBã®ãããããæå®ãããï¼ãã¼ã7
|
---|
1293 | ã¯å
|
---|
1294 | ¥åå°ç¨ã®ãããDDRã¬ã¸ã¹ã¿ããªããï¼ãã¼ãçªå·ã¨ãã¦ãããã以å¤ã®
|
---|
1295 | å¤ãæå®ããå ´åã¯assertæã§ã¨ã©ã¼ã¨ãªãã
|
---|
1296 |
|
---|
1297 |
|
---|
1298 | (1) sil_reb_ddrããDDRã¬ã¸ã¹ã¿ã®èªã¿åºã
|
---|
1299 |
|
---|
1300 | ãCè¨èªAPIã
|
---|
1301 | ããUB sil_reb_ddr(UINT port);
|
---|
1302 |
|
---|
1303 | ããã©ã¡ã¼ã¿ã
|
---|
1304 | UINT portãããããã¼ãçªå·
|
---|
1305 |
|
---|
1306 | ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
|
---|
1307 | DDRã¬ã¸ã¹ã¿ã®å¤
|
---|
1308 |
|
---|
1309 | ãã¨ã©ã¼ã³ã¼ãã
|
---|
1310 | ãªã
|
---|
1311 |
|
---|
1312 | ãæ©è½ã
|
---|
1313 |
|
---|
1314 | portã§æå®ããããã¼ãçªå·ã®DDRã¬ã¸ã¹ã¿ã®å¤ãèªã¿åºãã
|
---|
1315 |
|
---|
1316 | (2) sil_wrb_ddrããDDRã¬ã¸ã¹ã¿ã¸ã®æ¸ãè¾¼ã¿
|
---|
1317 |
|
---|
1318 | ãCè¨èªAPIã
|
---|
1319 | ããvoid sil_wrb_ddr(UINT port, UB data);
|
---|
1320 |
|
---|
1321 | ããã©ã¡ã¼ã¿ã
|
---|
1322 | UINT portããããã¼ãçªå·
|
---|
1323 | UB dataããããæ¸ãè¾¼ãå¤
|
---|
1324 |
|
---|
1325 | ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
|
---|
1326 | ãªã
|
---|
1327 |
|
---|
1328 | ãã¨ã©ã¼ã³ã¼ãã
|
---|
1329 | ãªã
|
---|
1330 |
|
---|
1331 | ãæ©è½ã
|
---|
1332 |
|
---|
1333 | portã§æå®ããããã¼ãçªå·ã®DDRã¬ã¸ã¹ã¿ã«å¤dataãæ¸ãè¾¼ãã
|
---|
1334 |
|
---|
1335 | (3) sil_anb_ddrããDDRã¬ã¸ã¹ã¿ã®ANDæ¼ç®
|
---|
1336 |
|
---|
1337 | ãCè¨èªAPIã
|
---|
1338 | ããvoid sil_anb_ddr(UINT port, UB data);
|
---|
1339 |
|
---|
1340 | ããã©ã¡ã¼ã¿ã
|
---|
1341 | UINT portããããã¼ãçªå·
|
---|
1342 | UB dataããããANDæ¼ç®ãè¡ãå¤
|
---|
1343 |
|
---|
1344 | ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
|
---|
1345 | ãªã
|
---|
1346 |
|
---|
1347 | ãã¨ã©ã¼ã³ã¼ãã
|
---|
1348 | ãªã
|
---|
1349 |
|
---|
1350 | ãæ©è½ã
|
---|
1351 |
|
---|
1352 | portã§æå®ããããã¼ãçªå·ã®DDRã¬ã¸ã¹ã¿ã«å¯¾ãã¦ãå¤dataã¨ã®ANDæ¼ç®ã
|
---|
1353 | è¡ãã
|
---|
1354 |
|
---|
1355 | (4) sil_orb_ddrããDDRã¬ã¸ã¹ã¿ã®ORæ¼ç®
|
---|
1356 |
|
---|
1357 | ãCè¨èªAPIã
|
---|
1358 | ããvoid sil_orb_ddr(UINT port, UB data);
|
---|
1359 |
|
---|
1360 | ããã©ã¡ã¼ã¿ã
|
---|
1361 | UINT portããããã¼ãçªå·
|
---|
1362 | UB dataããããORæ¼ç®ãè¡ãå¤
|
---|
1363 |
|
---|
1364 | ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
|
---|
1365 | ãªã
|
---|
1366 |
|
---|
1367 | ãã¨ã©ã¼ã³ã¼ãã
|
---|
1368 | ãªã
|
---|
1369 |
|
---|
1370 | ãæ©è½ã
|
---|
1371 |
|
---|
1372 | portã§æå®ããããã¼ãçªå·ã®DDRã¬ã¸ã¹ã¿ã«å¯¾ãã¦ãå¤dataã¨ã®ORæ¼ç®ã
|
---|
1373 | è¡ãã
|
---|
1374 |
|
---|
1375 |
|
---|
1376 | 7. ã«ã¼ãã«ç§»æ¤è
|
---|
1377 | åãã®æ
|
---|
1378 | å ±
|
---|
1379 |
|
---|
1380 | ãH8ä¾åé¨ãä»ã®ã¿ã¼ã²ããã»ãã¼ãã¸ãç§»æ¤ããéã«å¿
|
---|
1381 | è¦ãªæ
|
---|
1382 | å ±ã以ä¸ã«
|
---|
1383 | è¿°ã¹ãã
|
---|
1384 |
|
---|
1385 | 7.1 ãã¯ãå®ç¾©
|
---|
1386 |
|
---|
1387 | (1) DDRã¢ã¯ã»ã¹ã«ã¼ãã³ã®ããã®å®æ°å®ç¾©
|
---|
1388 |
|
---|
1389 | (a) DDRã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹
|
---|
1390 | DDRã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹ã以ä¸ã®ãã¯ãåã§å®ç¾©ããã
|
---|
1391 | H8P1DDR, H8P2DDR, H8P3DDR, H8P4DDR, H8P5DDR,
|
---|
1392 | H8P6DDR, H8P8DDR, H8P9DDR, H8PADDR, H8PBDDR
|
---|
1393 | å®ç¾©ãã¡ã¤ã«ï¼sys_config.hããã¤ã³ã¯ã«ã¼ãããããã¡ã¤ã«
|
---|
1394 | ãããããããh8_30xxf.hã§å®ç¾©ããã®ãæ¨æºã¨ããã
|
---|
1395 |
|
---|
1396 | (b) DDRã¬ã¸ã¹ã¿ã®åæå¤
|
---|
1397 | ã¹ã¿ã¼ãã¢ããã«ã¼ãã³å®è¡ç´å¾ã®DDRã¬ã¸ã¹ã¿ã®å¤ã以ä¸ã®ãã¯ãåã§å®ç¾©
|
---|
1398 | ããã
|
---|
1399 | ããH8P1DDR0ãH8P2DDR0ãH8P3DDR0ãH8P4DDR0ãH8P5DDR0ã
|
---|
1400 | ããH8P6DDR0ãH8P8DDR0ãH8P9DDR0ãH8PADDR0ãH8PBDDR0
|
---|
1401 | å®ç¾©ãã¡ã¤ã«ï¼sys_config.h
|
---|
1402 |
|
---|
1403 | (2) ãã¯ã¿ãã¼ãã«çæã®ããã®æ
|
---|
1404 | å ±
|
---|
1405 | ãã¯ã¿ãã¼ãã«ã®ãµã¤ãºã夿°VECTOR_SIZEã¨ãã¦å®ç¾©ããã
|
---|
1406 | å®ç¾©ãã¡ã¤ã«ï¼$(CPU)/$(SYS)/Makefile.config
|
---|
1407 |
|
---|
1408 | 7.2 ãã¯ã¿ãã¼ãã«çæã®ããã®Perlã¹ã¯ãªããgenvector.plã®ä»æ§
|
---|
1409 |
|
---|
1410 | -s n ãã¯ã¿ã¼ãã¼ãã«ã®ãµã¤ãº
|
---|
1411 | nã¯æ´æ°å®æ°ãä»®å®ãã¦ããããã以å¤ã®å¼æ°ãä¸ãããã
|
---|
1412 | å ´åã®åä½ã¯æªå®ç¾©ã§ããã
|
---|
1413 |
|
---|
1414 | -z JSPã«ã¼ãã«ã§ã¯ç»é²ããã¦ããªãå²è¾¼ã¿çªå·ã«å¯¾ãã¦
|
---|
1415 | ããã©ã«ãã§_no_reg_exceptionãè¨å®ããã®ãæ
|
---|
1416 | £ä¾ã¨
|
---|
1417 | ãã¦ããããã¢ãã¿ãªã©ã®å®è¡ç°å¢ã«ãã£ã¦ã¯å¤0ã
|
---|
1418 | è¨å®ããå¿
|
---|
1419 | è¦ãããã
|
---|
1420 | ãã®ãªãã·ã§ã³ã§ã¯ç»é²ããã¦ããªãå²è¾¼ã¿ãã¯ã¿ã«0ã
|
---|
1421 | æ¸ãè¾¼ãã
|
---|
1422 | -zãªãã·ã§ã³ãæå®ããªãå ´åã¯ã_no_reg_exceptionã
|
---|
1423 | æ¸ãè¾¼ãï¼ããã©ã«ãï¼
|
---|
1424 | -zãªãã·ã§ã³ã®æç¡ã¯jsp/config/h8/Makefile.configã§
|
---|
1425 | å®ç¾©ãã¦ããã
|
---|
1426 | ãDBGENVãã¯ãã®å¤ã
|
---|
1427 | ããã»TNCT_MONITORã¾ãã¯REDBOOTã®å ´åï¼-zãªãã·ã§ã³ãã
|
---|
1428 | ããã»ãã以å¤ã®å ´åï¼-zãªãã·ã§ã³ãªã
|
---|
1429 |
|
---|
1430 |
|
---|
1431 | 8. å¶éäºé
|
---|
1432 |
|
---|
1433 |
|
---|
1434 | ã»ãã¯ã¿ãã¼ãã«
|
---|
1435 | ããmake realcleanãå®è¡ãã¦ããvector.Sãæ¶å»ãããªãã
|
---|
1436 | ããï¼Makefileãæ©ç¨®ä¾åã«ããªãããã®å¶éäºé
|
---|
1437 | ã¨ãããï¼
|
---|
1438 | ãããã ããmake dependããã³makeã³ãã³ãã§ãã¯ã¿ãã¼ãã«vector.Sã
|
---|
1439 | ããå¼·å¶çã«ä¸æ¸ããã¦ããã䏿¸ãããããªãå ´åã¯
|
---|
1440 | ããjsp/config/h8/Makefile.config 85è¡ç®ã®
|
---|
1441 | ããã.PHONY: vector.S
|
---|
1442 | ãããã³ã¡ã³ãã¢ã¦ãããã¨ã䏿¸ããããªããªãã
|
---|
1443 |
|
---|
1444 | ã»å®è¡ãã¹ãã¿ã¹ã¯ããªãã¨ãã®å²è¾¼ã¿å¾
|
---|
1445 | ã¡ã«ã¤ãã¦
|
---|
1446 | ããsleepãã¦ããéã«ãã¹æ¨©è¦æ±ãç«¶åããªãããã«ãã¹æ¨©ã®å¤é¨ã¸ã®è§£æ¾
|
---|
1447 | ãããç¦æ¢ããå¦çãçç¥ãã¦ããã
|
---|
1448 | ãããã該å½åæï¼cpu_support.Sã®dispatcher_2_enable_interrupt
|
---|
1449 | ãã
|
---|
1450 | ããHEWçã®jsp/config/h8-renesas/cpu_support.srcã«ã¯å®è£
|
---|
1451 | æ¸ã¿ã§ããã
|
---|
1452 | ãã詳ããã¯ãã¼ãã¦ã§ã¢ã»ããã¥ã¢ã«ã6.4.4 ã½ããã¦ã§ã¢ã»ã¹ã¿ã³ãã¤ã»
|
---|
1453 | ããã¢ã¼ãã¸ã®é·ç§»ãåç
|
---|
1454 | §
|
---|
1455 |
|
---|
1456 | ã»ãã¯ã¿ãã¼ãã«ã®èªåçæ
|
---|
1457 | ããããã©ã«ãã§ç¨æãã¦ããno_reg_exceptionã®ããã«ãè¤æ°ã®å²è¾¼ã¿è¦å
|
---|
1458 | ããã«å¯¾ãã¦åãå²è¾¼ã¿ãã³ãã©ãç»é²ãããããªä½¿ãæ¹ã«ã¯å¯¾å¿ãã¦ããªãã
|
---|
1459 |
|
---|
1460 | ã»#ifdef SUPPORT_ETHER
|
---|
1461 | ãããªãã¹ãã«ã¼ãã«ã¨TINETã®ç¬ç«æ§ãé«ããæ¹éã§ä¿®æ£ãè¡ã£ããããã¹
|
---|
1462 | ããã®è¨å®ã¯ã«ã¼ãã«å´ï¼ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ï¼ã§è¡ããããä¸é¨ã
|
---|
1463 | ããSUPPORT_ETHERãã¯ãã«ããæ¡ä»¶ã³ã³ãã¤ã«ãæ®ã£ã¦ããã
|
---|
1464 | ããï¼AKI-H8/3069Fä¾åé¨ã®ã¿ï¼
|
---|
1465 |
|
---|
1466 | ã»ã·ã³ãã«å
|
---|
1467 | ããCè¨èªã«ã¼ãã³ã®é¢æ°å****ã«å¯¾ãã¦ãå
|
---|
1468 | é¨çã«å
|
---|
1469 | ¥å£å¦çã®ã©ãã«ã«
|
---|
1470 | ãã__kernel_****_entryã使ç¨ãã¦ãããããããã¨åãã·ã³ãã«åã
|
---|
1471 | ããã¢ããªã±ã¼ã·ã§ã³å
|
---|
1472 | ã§ä½¿ç¨ã§ããªãã
|
---|
1473 | ããï¼å
|
---|
1474 | ã
|
---|
1475 | __kernel_ã§å§ã¾ãã·ã³ãã«åã¯ã«ã¼ãã«ç¨ã«äºç´ããã¦ãããï¼
|
---|
1476 |
|
---|
1477 | ã»ç§æé»å製ãã¼ãä»å±ã®CD-ROMã«å
|
---|
1478 | ¥ã£ã¦ããgccã¯ãã¼ã¸ã§ã³ãå¤ãããã
|
---|
1479 | ããµãã¼ããã¦ããªãã
|
---|
1480 |
|
---|
1481 | ã»gccã®ãã¼ã¸ã§ã³ã«ãã£ã¦ã¯64ãããæ´æ°ã¯ãµãã¼ãããªãã
|
---|
1482 | ãï¼å¦çç³»ã®å¶éäºé
|
---|
1483 | ï¼
|
---|
1484 |
|
---|
1485 | ã»ãã¹ããã·ã³ã®OS
|
---|
1486 | ãWindows9xç³»ã¯ãµãã¼ãããªãã
|
---|
1487 |
|
---|
1488 |
|
---|
1489 | 9. ä»é²
|
---|
1490 |
|
---|
1491 | 9. 1 RedBoot対å¿ã«ã¤ãã¦
|
---|
1492 |
|
---|
1493 | åèå®è£
|
---|
1494 | ã¨ãã¦AKI-H8/3069Fç¨ã®RedBootã«å¯¾å¿ãã¦ãããã宿©ãã¹ãã¯
|
---|
1495 | è¡ã£ã¦ããªãã以ä¸ã«ä½¿ç¨æ¹æ³ãè¨ãã
|
---|
1496 |
|
---|
1497 | 9. 1. 1 H8/3069F ã®ã¡ã¢ãªããã
|
---|
1498 | ãããã°æ (RedBootä½¿ç¨æ)
|
---|
1499 |
|
---|
1500 | 0x000000 - 0x07ffff å
|
---|
1501 | èµ ROMãRedBootã¢ãã¿ã¼
|
---|
1502 | 0x400000 - 0x44ffff å¤é¨ RAMã.textã.rodata
|
---|
1503 | 0x450000 - 0x4ffeff å¤é¨ RAMã.dataã.bss
|
---|
1504 | 0x4fff00 - 0x4fffff å¤é¨ RAMãå²ãè¾¼ã¿ãã¯ã¿é å (.vectors)
|
---|
1505 | 0x500000 - 0x510000 å¤é¨ RAMãéã¿ã¹ã¯ã³ã³ããã¹ãç¨ã¹ã¿ãã¯
|
---|
1506 | 0xee0000 - 0xee0081 å
|
---|
1507 | èµ I/O ã¬ã¸ã¹ã¿
|
---|
1508 | 0xffbf20 - 0xfffd1f å
|
---|
1509 | èµ RAMãRedBootã¢ãã¿ã¼
|
---|
1510 | 0xfffd20 - 0xfffe1f å
|
---|
1511 | èµ RAMãä»®æ³å²è¾¼ã¿ãã¯ã¿é å
|
---|
1512 | (cpu_config.cã§.vectorsããã³ãã¼)
|
---|
1513 | 0xffff20 - 0xffffe9 å
|
---|
1514 | èµ I/O ã¬ã¸ã¹ã¿
|
---|
1515 |
|
---|
1516 |
|
---|
1517 | 9. 1. 2 ã¿ã¼ã²ããã¸ã®ãã¦ã³ãã¼ãã¨å®è¡
|
---|
1518 |
|
---|
1519 | ãã£ã¬ã¯ã㪠$(CPU)/$(SYS) ã«ãã
|
---|
1520 |
|
---|
1521 | Makefileã®DBGENV := REDBOOT
|
---|
1522 |
|
---|
1523 | ãæå¹ã«ã㦠make ããã
|
---|
1524 |
|
---|
1525 | RedBoot
|
---|
1526 | http://sourceforge.jp/projects/ecos-h8/
|
---|
1527 | ãªãªã¼ã¹çã"h8write -3069 -f20 redboot.mot" ã§ç¼ãã
|
---|
1528 |
|
---|
1529 | å®è¡æ¹æ³ã¯
|
---|
1530 | ã(1) Redbootããã¼ãã¨ãã¦å©ç¨ããæ¹æ³
|
---|
1531 | ã(2) GDBã¨æ¥ç¶ããæ¹æ³
|
---|
1532 | ãããã
|
---|
1533 |
|
---|
1534 |
|
---|
1535 | ã(1) Redbootããã¼ãã¨ãã¦å©ç¨ããæ¹æ³
|
---|
1536 |
|
---|
1537 | 以ä¸ã¯ã 天鿰æä¾ã«ããè¨å®æ¹æ³ã§ããã
|
---|
1538 |
|
---|
1539 | ä¸è¨ãã¼ã«ããã¦ã³ãã¼ããã¦ã¤ã³ã¹ãã¼ã«(Winã¦ã¼ã¶ã¼)
|
---|
1540 | TFTPãµã¼ãã¼forWin32
|
---|
1541 | http://www.vector.co.jp/soft/win95/net/se174412.html
|
---|
1542 | Tera Term Pro
|
---|
1543 | http://www.sakurachan.org/soft/teraterm-j/
|
---|
1544 |
|
---|
1545 | TFTPãµã¼ãã¼ã®ãã©ã«ãæå®ãjsp.Sãçæãããå ´æã«æå®
|
---|
1546 | Tera Term Proãã¤ã³ã¹ãã¼ã«ããå ´æã«ãã¯ããã¡ã¤ã«ï¼ä¸è¨ï¼ã
|
---|
1547 | 使
|
---|
1548 | ttpmacro.exe ã¸ã®ã·ã§ã¼ãã«ããã使ãã¦
|
---|
1549 | å³ã¯ãªã®ããããã£-ãªã³ã¯å
|
---|
1550 | ã§akiboot.ttlã追å
|
---|
1551 | "C:\Program Files\TTERMPRO tpmacro.exe" akiboot.ttl
|
---|
1552 |
|
---|
1553 | ä¸è¨ã¯akiboot.ttlã®ãµã³ãã«
|
---|
1554 | ; Sample macro for Tera Term
|
---|
1555 | ;ç°å¢è¨å®ãã¡ã¤ã«ããã¼ãããå ´å
|
---|
1556 | ;connect '/F=redboot.ini'
|
---|
1557 | ;ããã©ã«ãè¨å®ã§ãã¼ãããå ´å
|
---|
1558 | connect ''
|
---|
1559 | ;æ¹è¡ã³ã¼ããéã£ã¦ããã³ãããã§ãã®ãå¾
|
---|
1560 | ã¤
|
---|
1561 | sendln
|
---|
1562 | UsernamePrompt = 'RedBoot>'
|
---|
1563 | ;IPã¢ãã¬ã¹ã¯ç°å¢ã«ãã£ã¦å¤æ´ãã¦ãã ããã
|
---|
1564 | ;-l akiãã¼ãã®IP -h TFTPãµã¼ãã¼ã®IP
|
---|
1565 | ipset = 'ip_address -l 192.168.0.12 -h 192.168.0.10'
|
---|
1566 | load = 'load -b 0x400000 jsp.S'
|
---|
1567 | go = 'go 0x400000'
|
---|
1568 | ; ipè¨å®
|
---|
1569 | wait UsernamePrompt
|
---|
1570 | sendln ipset
|
---|
1571 | ; load
|
---|
1572 | wait UsernamePrompt
|
---|
1573 | sendln load
|
---|
1574 | ; go
|
---|
1575 | wait UsernamePrompt
|
---|
1576 | sendln go
|
---|
1577 | ; OK, boot complete.
|
---|
1578 |
|
---|
1579 |
|
---|
1580 | ã(2) GDBã¨æ¥ç¶ããæ¹æ³
|
---|
1581 | ã
|
---|
1582 | ãããã§ã¯Ethernetçµç±ã§GDBãæ¥ç¶ããæ¹æ³ãè¿°ã¹ãã
|
---|
1583 | ã
|
---|
1584 | ããã¹ããã·ã³ã¨ã¿ã¼ã²ãããã¼ããã·ãªã¢ã«ã±ã¼ãã«ã¨Ethernetã±ã¼ãã«
|
---|
1585 | ãã§æ¥ç¶ããã
|
---|
1586 | ãï¼Ethernetã±ã¼ãã«ï¼ç´çµããå ´åã¯ã¯ãã¹ã±ã¼ãã«ãç¨ãããï¼
|
---|
1587 |
|
---|
1588 | ãã¿ã¼ããã«ã½ããï¼ã·ãªã¢ã«ï¼ãèµ·åããã¿ã¼ã²ããã®é»æºãå
|
---|
1589 | ¥ããã
|
---|
1590 | ããã°ããå¾
|
---|
1591 | ã¤ã¨ä»¥ä¸ã®ããã«åºåãããã
|
---|
1592 | ã
|
---|
1593 | ã... waiting for BOOTP information
|
---|
1594 | ãEthernet eth0: MAC address xx:xx:xx:xx:xx:xx
|
---|
1595 | ãCan't get BOOTP info for device!
|
---|
1596 | ã
|
---|
1597 | ãRedBoot(tm) bootstrap and debug environment [ROM]
|
---|
1598 | ãNon-certified release, version UNKNOWN - built 21:28:57, Apr 11 2004
|
---|
1599 | ã
|
---|
1600 | ãPlatform: Akizuki H8/3068 Network micom (H8/300H)
|
---|
1601 | ãCopyright (C) 2000, 2001, 2002, Red Hat, Inc.
|
---|
1602 | ã
|
---|
1603 | ãRAM: 0x00400000-0x005f4000, [0x00400000-0x005e1000] available
|
---|
1604 | ãFLASH: 0x00000000 - 0x00080000, 8 blocks of 0x00010000 bytes each.
|
---|
1605 | ãRedBoot>
|
---|
1606 | ã
|
---|
1607 | ã"RedBoot>"ã®ããã³ããã§å
|
---|
1608 | ¥åå¾
|
---|
1609 | ã¡ã«ãªã£ããã
|
---|
1610 | ãããip_address -l xxx.xxx.xxx.xxx
|
---|
1611 | ãã¨å
|
---|
1612 | ¥åããIPã¢ãã¬ã¹ãè¨å®ããã
|
---|
1613 | ãï¼xxx.xxx.xxx.xxxã®å
|
---|
1614 | ·ä½çãªå¤ã¯ç°å¢ã«åããããï¼
|
---|
1615 | ã以ä¸ã®ãããªå¿çãããã°ãæåã§ããã
|
---|
1616 |
|
---|
1617 | ãIP: xxx.xxx.xxx.xxx/255.255.255.0, Gateway: 0.0.0.0
|
---|
1618 | ãDefault server: 0.0.0.0
|
---|
1619 | ãRedBoot>
|
---|
1620 | ã
|
---|
1621 | ãï¼ã¿ã¼ããã«ã½ããã§ã¯ãªããã·ã§ã«ã®ï¼ã³ãã³ãããã³ããã«ã¦ã
|
---|
1622 | ãgdbãèµ·åããã
|
---|
1623 | ã
|
---|
1624 | ãh8300-hms-gdb jspãï¼Cygwinã®å ´åã¯jsp.exeï¼
|
---|
1625 | ã
|
---|
1626 | ãgdbã®ããã³ããã«ã¦ä»¥ä¸ã®ã³ãã³ããå®è¡ããã
|
---|
1627 | ãtarget remote xxx.xxx.xxx.xxx:9000
|
---|
1628 | ã ããxxx.xxx.xxx.xxxã¯ä¸è¨ã§è¨å®ããIPã¢ãã¬ã¹
|
---|
1629 | ã ãã9000ã¯ãã¼ãçªå·
|
---|
1630 | ãload
|
---|
1631 | ãb xxxx_xxxx
|
---|
1632 | ãc
|
---|
1633 | ã
|
---|
1634 | ãgdbã®ã³ãã³ãã«ã¤ãã¦ã¯gdbã®ããã¥ã¢ã«ãåç
|
---|
1635 | §
|
---|
1636 |
|
---|
1637 |
|
---|
1638 | 9. 1. 3 ç§»æ¤ã®ããã®åèæ
|
---|
1639 | å ±
|
---|
1640 |
|
---|
1641 | ããããã¬ã¨ã«ã¼ãã«ãè³æºã®ç«¶åãèµ·ãããªããããç¹ã«å²è¾¼ã¿ã¾ããã®è³
|
---|
1642 | æºã«ã¯é
|
---|
1643 | æ
|
---|
1644 | ®ããå¿
|
---|
1645 | è¦ããããRedboot対å¿ã«ãããã以ä¸ã®ãã¼ã¿æ§é ã颿°
|
---|
1646 | ãæ°è¨ãã¦ãããä»ã®ãã¼ãããããã¬ç¨ã«ç§»æ¤ããéã«ã¯ããããä¿®æ£ãã
|
---|
1647 | å¿
|
---|
1648 | è¦ãããã
|
---|
1649 |
|
---|
1650 | (1) ãã¯ã H8IPRA_INI,H8IPRB_INI
|
---|
1651 | ãIPRAãIPRBã¬ã¸ã¹ã¿ã®åæå¤
|
---|
1652 | ãå®ç¾©ãçç¥ããå ´åã¯ããã©ã«ãå¤0ã使ç¨ãããã
|
---|
1653 | ãcpu_config.cã®cpu_initialize颿°ã«ã¦ããã¹ã¦ã®å²è¾¼ã¿ãã©ã¤ãªãªãã£ã
|
---|
1654 | ã¬ãã«ï¼ã«ããå¦çãè¡ã£ã¦ããããããã¬ãå²è¾¼ã¿ã使ç¨ããå ´åã¯ããã®
|
---|
1655 | ãã¯ãã§åæå¤ãå®ç¾©ãã該å½ããå²è¾¼ã¿ãã£ãã«ã®å²è¾¼ã¿ãã©ã¤ãªãªãã£ã
|
---|
1656 | åæã«ã¬ãã«ï¼ã«ã¯ãªã¢ãããªãããã«ããã
|
---|
1657 | ãå®ç¾©å ´æï¼sys_config.h
|
---|
1658 |
|
---|
1659 | (2) ãã¯ã VECTOR_TABLE_ADDR
|
---|
1660 | ãRedbootã管çããæ¬ä¼¼ãã¯ã¿ãã¼ãã«ã®å
|
---|
1661 | é ã¢ãã¬ã¹
|
---|
1662 | ãå®ç¾©å ´æï¼sys_config.h
|
---|
1663 |
|
---|
1664 | (3) ãã¼ã¿å TMP_VECTOR
|
---|
1665 | ãcpu_config.cã®vector_table_copy颿°ã«ã¦ãã«ã¼ãã«ãæã¤ãã¯ã¿ãã¼ã
|
---|
1666 | ã«ãRedbootã管çããã³ãã¼ãã¦ããããã®éã䏿¸ããã¦ã¯ã¾ããåæã
|
---|
1667 | éé¿ï¼å¾©å
|
---|
1668 | ããå¿
|
---|
1669 | è¦ãããããã®éé¿å
|
---|
1670 | ã®ãã¼ã¿æ§é ãTMP_VECTORåã¨ãã¦å®
|
---|
1671 | 義ããã
|
---|
1672 | ãå®ç¾©å ´æï¼sys_config.h
|
---|
1673 |
|
---|
1674 | (4) 颿° load_vector å²è¾¼ã¿ãã¯ã¿ã®éé¿
|
---|
1675 |
|
---|
1676 | ãCè¨èªAPIã
|
---|
1677 | ããvoid load_vector(TMP_VECTOR *p);
|
---|
1678 |
|
---|
1679 | ããã©ã¡ã¼ã¿ã
|
---|
1680 | ããTMP_VECTOR *pãéé¿å
|
---|
1681 | ã®å
|
---|
1682 | é ã¢ãã¬ã¹
|
---|
1683 |
|
---|
1684 | ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
|
---|
1685 | ãããªã
|
---|
1686 |
|
---|
1687 | ãã¨ã©ã¼ã³ã¼ãã
|
---|
1688 | ãããªã
|
---|
1689 |
|
---|
1690 | ãæ©è½ã
|
---|
1691 | ããpã§æå®ãããã¡ã¢ãªé åã«Redbootã管çãããã¯ã¿ãã¼ãã«ã®ä¸é¨ã
|
---|
1692 | ããéé¿ããã
|
---|
1693 |
|
---|
1694 | ãå®ç¾©å ´æã
|
---|
1695 | ããsys_config.c
|
---|
1696 |
|
---|
1697 | (5) 颿° save_vector å²è¾¼ã¿ãã¯ã¿ã®å¾©å
|
---|
1698 |
|
---|
1699 |
|
---|
1700 | ãCè¨èªAPIã
|
---|
1701 | ããvoid save_vector(TMP_VECTOR *p);
|
---|
1702 |
|
---|
1703 | ããã©ã¡ã¼ã¿ã
|
---|
1704 | ããTMP_VECTOR *pãã³ãã¼å
|
---|
1705 | ã®å
|
---|
1706 | é ã¢ãã¬ã¹
|
---|
1707 |
|
---|
1708 | ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
|
---|
1709 | ãããªã
|
---|
1710 |
|
---|
1711 | ãã¨ã©ã¼ã³ã¼ãã
|
---|
1712 | ãããªã
|
---|
1713 |
|
---|
1714 | ãæ©è½ã
|
---|
1715 | ããpã§æå®ãããã¡ã¢ãªé åã«ãããã¼ã¿ãRedbootã管çãããã¯ã¿
|
---|
1716 | ãããã¼ãã«ã®ä¸é¨ã¨ãã¦å¾©å
|
---|
1717 | ããã
|
---|
1718 |
|
---|
1719 | ãå®ç¾©å ´æã
|
---|
1720 | ããsys_config.c
|
---|
1721 |
|
---|
1722 | 9. 2 gccã®å¼ã³åºãè¦ç´ã«ã¤ãã¦
|
---|
1723 |
|
---|
1724 | ãä¸è¨ã®åèè³æã«ããã¨ãã¹ã¯ã©ããã¬ã¸ã¹ã¿ã¯er0ãer3ã§ããã¨èªãããã
|
---|
1725 | å®éã«ã¯æé©åãªãã·ã§ã³ä½¿ç¨æã«er4ãç ´å£ããããããªã®ã§ãå²è¾¼ã¿ã®åº
|
---|
1726 | å
|
---|
1727 | ¥å£å¦çã§er0ãer4ãéé¿ï¼å¾©å
|
---|
1728 | ãã¦ããã
|
---|
1729 |
|
---|
1730 | ãåèè³æ
|
---|
1731 | ããhttp://gcc.gnu.org/projects/h8300-abi.html
|
---|
1732 |
|
---|
1733 |
|
---|
1734 | 9. 3 ã·ãªã¢ã«3chåã«ä¼´ãªãä¿®æ£å
|
---|
1735 | 容ã«ã¤ãã¦
|
---|
1736 | ãjsp/config/h8/hw_serial.cã§å®ç¾©ããã¦ããã·ãªã¢ã«ãã¼ãåæåããã
|
---|
1737 | ã¯siopinib_table[]ã®ãµã¤ãºã2ãã3ã«æ¡å¼µããããã«ä¼´ãã
|
---|
1738 | ããã»jsp/config/h8/hw_serial.cfg
|
---|
1739 | ããããå²è¾¼ã¿ãã³ãã©ã®ç»é²
|
---|
1740 | ããã»jsp/config/h8/akih8_3069f/sys_config.h
|
---|
1741 | ããããå¿
|
---|
1742 | è¦ãªãã¯ãå®ç¾©
|
---|
1743 | ãããããã追å ãã¦ããã
|
---|
1744 | ãã¾ããä¿®æ£ä»¥åã¯TNUM_PORTãã¯ãã®å¤ã«ãããã·ã¹ãã ãã°åºåã«ä½¿ç¨ã
|
---|
1745 | ããã¼ãçªå·ãå¤åããããã«ãªã£ã¦ããããä»åã®ä¿®æ£å¾ã¯ãTNUM_PORTã
|
---|
1746 | ã¯ãã®å¤ã«ä¾ããã·ã¹ãã ãã°åºåã®ãã¼ãçªå·ãåºå®ããããã仿§å¤æ´ã
|
---|
1747 | ãã
|
---|
1748 |
|
---|
1749 |
|
---|
1750 | 9. 4 NKEV-010H8 ã§ã® GDB STUB ã使ã£ãå®è¡
|
---|
1751 |
|
---|
1752 | 9. 4. 1 NKEV-010H8 対å¿STUB
|
---|
1753 |
|
---|
1754 | NKEV-010H8 å¯¾å¿ GDB STUB ã¯è£½åæ·»ä»ã® CD-ROM ã«ç´ãããã¦é
|
---|
1755 | å¸ãããã
|
---|
1756 | ãã® GDB STUB 㯠SCI1 ã使ç¨ããçºãsyslogåºåçã¯SCI0ã«è¡ãããã«
|
---|
1757 | ã¿ã¼ã²ããä¾åé¨ã§å®ç¾©ãããã
|
---|
1758 |
|
---|
1759 | 9. 4. 2 NKEV-010H8ãã¿ã¼ã²ããã¨ãã¦GDBã«ãããªã¢ã¼ããããã°
|
---|
1760 |
|
---|
1761 | 1. config/h8/nkev-010h8/Makefile.config ã§ DBGENV := ãå
|
---|
1762 | ¨ã¦
|
---|
1763 | ã³ã¡ã³ãã¢ã¦ãããã
|
---|
1764 | 2. ã¢ããªã±ã¼ã·ã§ã³ã® Makefile ã« DBGENV := GDB_STUBã追å ããã
|
---|
1765 | 3. ã¢ããªã±ã¼ã·ã§ã³ã® Makefile COPTS = -g -O0 ã追å ããã
|
---|
1766 | 4. åºåå
|
---|
1767 | ã®ã·ãªã¢ã«ãã¼ã IDã 2 ã«ãã¦ããå ´å㯠1 ã«å¤æ´ããã
|
---|
1768 | (jspã®sampleã®å ´åãTASK_PORTID ã 1 ã«ãã)
|
---|
1769 | 5. make dependãmake ãè¡ã
|
---|
1770 | ã6. h8300-hms-gdb jsp.exe ãå®è¡ããgdbãèµ·åããã
|
---|
1771 | 7. gdbããã³ãããåºãã以ä¸ãå
|
---|
1772 | ¥åããã
|
---|
1773 |
|
---|
1774 | (gdb) set machine h8300h
|
---|
1775 | (gdb) set endian big
|
---|
1776 | (gdb) set remotebaud 38400
|
---|
1777 | (gdb) set remoteaddress 32
|
---|
1778 | (gdb) target remote /dev/com1âPCã®COMãã¼ãçªå·
|
---|
1779 | 0x00001350 in ?? ()
|
---|
1780 | (gdb) load
|
---|
1781 | Loading section .vectors, size 0x100 lma 0x400000
|
---|
1782 | Loading section .text, size 0x59ca lma 0x400100
|
---|
1783 | Loading section .rodata, size 0x118a lma 0x405aca
|
---|
1784 | Loading section .data, size 0x12 lma 0x406c54
|
---|
1785 | Start address 0x400100, load size 27750
|
---|
1786 | Transfer rate: 20181 bits/sec, 50 bytes/write.
|
---|
1787 | (gdb)
|
---|
1788 |
|
---|
1789 | 8. contã¨å
|
---|
1790 | ¥åããäºã§ããã°ã©ã ãå®è¡ããã
|
---|
1791 |
|
---|
1792 | gdbã®æä½ã«ã¤ãã¦ã¯GNUããã¸ã§ã¯ãã«ããã¥ã¢ã«ãããã®ã§ããã¡ãã
|
---|
1793 | åç
|
---|
1794 | §ã®äºã
|
---|
1795 |
|
---|
1796 | 9. 4. 3 æ¢ç¥ã®åé¡ç¹
|
---|
1797 |
|
---|
1798 | TNUM_PORT = 2 ã¨ããã¨ãstub 㨠USER PORTããããã£ã³ã°ãã¦åä½ããªãã
|
---|
1799 |
|
---|
1800 |
|
---|
1801 | 夿´å±¥æ´
|
---|
1802 |
|
---|
1803 | '01/11/15 Release1.2
|
---|
1804 | ãH8ãµãã¼ãéå§
|
---|
1805 | ããã¿ã¼ã²ããï¼AKI-H8/3048F
|
---|
1806 |
|
---|
1807 | '02/04/15 Release1.3
|
---|
1808 | ãã¿ã¼ã²ããã®å¤æ´
|
---|
1809 | ããAKI-H8/3067Fã®ãµãã¼ãã追å
|
---|
1810 |
|
---|
1811 | '03/12/28 Release1.4
|
---|
1812 | ãã¿ã¼ã²ããã·ã¹ãã ã®å¤æ´
|
---|
1813 | ããã»AKI-H8/3052Fã®ãµãã¼ãã追å
|
---|
1814 | ããã»AKI-H8/3068Fã®ãµãã¼ãã追å
|
---|
1815 | ããã»AKI-H8/3069Fã®ãµãã¼ãã追å
|
---|
1816 |
|
---|
1817 | '05/12/28 Release1.4.2
|
---|
1818 | ãã¿ã¼ã²ããã·ã¹ãã ã®å¤æ´
|
---|
1819 | ããã»NKEV-010H8ã®ãµãã¼ãã追å
|
---|
1820 | ããã»AKI-H8/3068Fã®ãµãã¼ãã䏿¢
|
---|
1821 | ããã»AKI-H8/3069Fã®ãµãã¼ãã䏿¢
|
---|
1822 |
|
---|
1823 | ãæ°è¦
|
---|
1824 | ããã»ãã¯ã¿ãã¼ãã«ã®èªåçæ
|
---|
1825 | ããããDEF_INH()ã®å¼æ°ããå²è¾¼ã¿ãã¯ã¿ãã¼ãã«ãèªåçæããããã«ã
|
---|
1826 | ããããããããã«ãããã¦ã¼ã¶ã¼ãæä½æ¥ã§ç·¨éããå¿
|
---|
1827 | è¦ããªããªã£ãã
|
---|
1828 | ããã»å²è¾¼ã¿åªå
|
---|
1829 | 度ã®ãµãã¼ã
|
---|
1830 | ããããã»ã¬ãã«ï¼ã¨ã¬ãã«ï¼ã®å²è¾¼ã¿ããµãã¼ã
|
---|
1831 | ããããã»å²è¾¼ã¿ãã³ãã©ã®ç»é²æ¹æ³ã夿´
|
---|
1832 | ããããããå²è¾¼ã¿è¦å æ¯ã«2種é¡ã®å²è¾¼ã¿ã¬ãã«ã®å¤ãå®ç¾©ããã
|
---|
1833 | ããããããããã»å²è¾¼ã¿è¦æ±æï¼IPRAãIPRBã¬ã¸ã¹ã¿ã®è¨å®
|
---|
1834 | ããããããããã»å²è¾¼ã¿è¨±å¯æï¼ccrã®å²è¾¼ã¿ãã¹ã¯ã®è¨å®
|
---|
1835 | ããããã»å²è¾¼ã¿è¦å å¥ã«ç¨æãã¦ããxxx_enable_intã¨xxx_disable_intã
|
---|
1836 | ããããã廿¢
|
---|
1837 | ããããã»iscpulockedãã©ã°ãæ°è¨
|
---|
1838 | ããã»IPMã®åç
|
---|
1839 | §ã¨å¤æ´æ©è½ããµãã¼ãã
|
---|
1840 | ããã»I/Oãã¼ãã®DDRã¢ã¯ã»ã¹ã«ã¼ãã³ã追å
|
---|
1841 | ããã»AKI-H8/3069Fã®ãªãªã¼ã¹ã¢ã¼ãã§å
|
---|
1842 | èµRAMã ãã§åä½ããã¢ã¼ãã追å
|
---|
1843 | ããããã»Makefile.configã«DBGENV := INMEM_ONLYãæ°è¨
|
---|
1844 | ããããã»ãªã³ã¯ã¹ã¯ãªããrelease_inmem.ldã追å
|
---|
1845 |
|
---|
1846 | ãä¿®æ£
|
---|
1847 | ããã»å®è¡ç°å¢ã®å®ç¾©
|
---|
1848 | ããããMakefile.configå
|
---|
1849 | ã®å¤æ°DBGENVã®å®ç¾©ã®è¦ç´ã
|
---|
1850 | ãããããDBGENV := ROMãROMåã®å ´åï¼æ°è¦ï¼
|
---|
1851 | ãããããDBGENV := TNCT_MONITORãç°¡æã¢ãã¿ä½¿ç¨æï¼å¤æ´ï¼
|
---|
1852 | ãããããããTNCT:Tomakomai National College of Technology
|
---|
1853 | ããã»å¾®å°æéå¾
|
---|
1854 | ã¡é¢æ°sil_dly_nse( )ãå®è£
|
---|
1855 |
|
---|
1856 | ããã»_int64_ã®å®ç¾©ãå³å¯å
|
---|
1857 | ããããããã«ä¼´ããSYSUTIMåã®å®ç¾©ã夿´
|
---|
1858 | ããã»ã·ãªã¢ã«ãã©ã¤ãã®SCI_getchar()ã§èªã¿åºãã1ãã¤ããã¼ã¿ã符å·
|
---|
1859 | ãããæ¡å¼µããã¦ãã¾ãåé¡ãä¿®æ£
|
---|
1860 | ããã»å¦çç³»
|
---|
1861 | ããããç§æé»åéå製ãã¼ãä»å±ã®GNUéçºç°å¢ã¯ãã¼ã¸ã§ã³ãå¤ãããã
|
---|
1862 | ãããããµãã¼ããã¦ããªããï¼ã4. 1 éçºç°å¢ã®æ§ç¯ããåç
|
---|
1863 | §ï¼
|
---|
1864 | ããã»cpu_experr( )ã§ã¬ã¸ã¹ã¿ã®å
|
---|
1865 | 容ããã³ãããéãpcã¨ccrãåé¢ãã¦
|
---|
1866 | ãããããªãã£ãä¸å
|
---|
1867 | ·åãä¿®æ£
|
---|
1868 | ããã»TINETé¢é£ã®ãã¡ã¤ã«ãåé¢
|
---|
1869 | ããããã»åé¤ãããã¡ã¤ã«
|
---|
1870 | ããããããjsp/config/h8/tinet_cpu_defs.h
|
---|
1871 | ããããããjsp/config/h8/tinet_cpu_config.h
|
---|
1872 | ããããããjsp/config/h8/akih8_3048f/tinet_sys_config.h
|
---|
1873 | ããããããjsp/config/h8/akih8_3068f/tinet_sys_config.h
|
---|
1874 | ããããããjsp/config/h8/akih8_3069f/tinet_sys_config.h
|
---|
1875 | ããã»Redbooté¢é£
|
---|
1876 | ãããã»debug_redboot.ldãããã±ã¼ã¸ã«å«ãã
|
---|
1877 | ãããã»ã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå¤ãä¿®æ£
|
---|
1878 | ãããã»å²è¾¼ã¿ãã¯ã¿ãã¼ãã«ã¸ã®ç»é²å¦çãä¿®æ£
|
---|
1879 | ããã»ã¿ã¤ããã³ãã©ãã·ãªã¢ã«ãã³ãã©ã®æ´ç
|
---|
1880 | ããããã»BITSET,BITCLRãã¯ããã¤ã³ã©ã¤ã³ã»ã¢ã»ã³ãã©é¢æ°ã«å¤æ´
|
---|
1881 | ããã»å²è¾¼ã¿ã³ã³ããã¼ã©ã®åæå
|
---|
1882 | ãã ã»_hardware_init_hookã®å¦çå
|
---|
1883 | 容ãä¸é¨ãcpu_initialize()ã«ç§»å
|
---|
1884 | ããã»ã¢ã»ã³ãã©ã«ã¼ãã³
|
---|
1885 | ãããã»æ¡ä»¶åå²å½ä»¤åã®ä¸è¦ãªorå½ä»¤ãåé¤
|
---|
1886 | ãããã»gccã®å¼ã³åºãè¦ç´ã«åããã¦ãã¬ã¸ã¹ã¿ã®éé¿ã¨å¾©å
|
---|
1887 | ãå¿
|
---|
1888 | è¦æå°é
|
---|
1889 | ããããã«ããã
|
---|
1890 | ããããï¼gcc 3.x対çã®ãããå²è¾¼ã¿ã®åºå
|
---|
1891 | ¥å£ã§er4ãéé¿ï¼å¾©å
|
---|
1892 | ãã¦ãããï¼
|
---|
1893 | ããã»h8_3048f.hãh8_3052f.hãh8_3069f.hããã¼ãéã§å
|
---|
1894 | ±æã§ãããã
|
---|
1895 | ããã$(CPU)ãã£ã¬ã¯ããªã«ç§»å
|
---|
1896 | ããã»AKI-H8/3052F, AKI-H8/3069Fã·ã¹ãã ä¾åé¨
|
---|
1897 | ããããã»ããã©ã«ãã®ã·ãªã¢ã«chæ°ã1ã«å¤æ´
|
---|
1898 | ããããããã³ãã¯ã¿ãå¢è¨ããªãã¨ä½¿ç¨ã§ããªããã
|
---|
1899 | ããããã»ããã«ä¼´ãªãããµã³ãã«ããã°ã©ã ã®TASK_PORTIDã®å®ç¾©ã
|
---|
1900 | ãããããsys_defs.hã«ç§»å
|
---|
1901 | ããã»Makefile.configã«ãããã°ãªãã·ã§ã³-gã追å
|
---|
1902 | ããã»é¢æ°å®£è¨ã§ã弿°ã®ãªããã®ã¯æç¤ºçã«voidãè¨è¿°ããã
|
---|
1903 | ããã»vxget_tim()ã®ãããã¿ã¤ã宣è¨ã«throw()ã追å
|
---|
1904 | ããã»intnestãUWåããUBåã«å¤æ´
|
---|
1905 | ããã»ãã¬ã¼ã¹ãã°ã®è¨å®ãä¸é¨è¿½å
|
---|
1906 | ãããã#define LOG_VSNS_INI_ENTER()
|
---|
1907 | ãããã#define LOG_VSNS_INI_LEAVE(state)
|
---|
1908 | ããã»tool_config.hããNEWLIBãã¯ãã®å®ç¾©ãåé¤
|
---|
1909 | ããã»cpu_context.hããACTIVATED_STACK_SIZEãã¯ãã®å®ç¾©ãåé¤
|
---|
1910 | ããã»ã·ã³ãã«ã»ãªãã¼ã 対象ã®è¦ç´ã
|
---|
1911 | ãã ã»ã·ã³ãã«cpu_experrã®ãªãã¼ã æ¼ããä¿®æ£
|
---|
1912 | ããã»AKI-H8/3069F
|
---|
1913 | ããããã»HEAP_TOPãã¯ãã®å®ç¾©ãåé¤
|
---|
1914 | ããã»ããã¥ã¢ã«
|
---|
1915 | ãããã»ãã¼ãä»å±ã®CD-ROMã®gccã¯ãµãã¼ãå¤ã§ãããã¨ãæè¨
|
---|
1916 | ãããã»Redboot対å¿ãåèå®è£
|
---|
1917 | ã§ãããã¨ãæè¨ããä»é²ã«ç§»å
|
---|
1918 | ãããã»å²è¾¼ã¿çºçæã®ã¹ã¿ãã¯æ¶è²»éãè¨æ£
|
---|
1919 | ãããã»å²è¾¼ã¿ãã³ãã©ã®ç»é²æ¹æ³ãæè¨
|
---|
1920 | ãããã»ã·ãªã¢ã«ãã¼ãã®ããã¼å¶å¾¡ã®è¨å®ã追è¨
|
---|
1921 | ãããã»éçºç°å¢ã®ãã¼ã¸ã§ã³ã夿´
|
---|
1922 |
|
---|
1923 | '07/06/01 Release1.4.3
|
---|
1924 | ãã¿ã¼ã²ããã·ã¹ãã ã®å¤æ´
|
---|
1925 | ããã»NKEV-010H8ã®ãµãã¼ãã䏿¢
|
---|
1926 | ããã»AKI-H8/3048Fã®ãµãã¼ãã䏿¢
|
---|
1927 |
|
---|
1928 | ãä¿®æ£
|
---|
1929 | ãã»ã·ãªã¢ã«ãã©ã¤ãã3chå
|
---|
1930 | ãããAKI-H8/3069Fã®ã¿å¯¾å¿
|
---|
1931 | ãã»ãã¯ã¿ãã¼ãã«èªåçæ
|
---|
1932 | ããã»make dependããã³makeã³ãã³ãã§ãã¯ã¿ãã¼ãã«vector.Sãå¼·å¶çã«
|
---|
1933 | ããã䏿¸ããããã仿§å¤æ´
|
---|
1934 | ããã»å¦çç³»æ¯ã®æ¹è¡ã³ã¼ãã®éãã«å¯¾å¿
|
---|
1935 | ããã»DEF_INHæã®éä¸ã§æ¹è¡ãããã¨ãã¼ã¹ã«å¤±æããåé¡ãä¿®æ£
|
---|
1936 | ããã»å²è¾¼ã¿çªå·ã®ãã¯ããæªå®ç¾©ã®å ´åã0çªã¨è§£éãã¦ããªã»ãããã¯ã¿ã
|
---|
1937 | ããã䏿¸ããã¦ãã¾ãä¸å
|
---|
1938 | ·åãä¿®æ£
|
---|
1939 | ããã»å²è¾¼ã¿çªå·ã«uãä»ãã¦ããå ´åã«æ£ããå¦çã§ããªãåé¡ãä¿®æ£
|
---|
1940 | ããã»filter1.plã¨filter2.plãï¼ã¤ã«ã¾ã¨ããgrep_def_inh.plã«æ¹å
|
---|
1941 | ãããï¼gccçã¨HEWçã§åå¥ã«filter2.plãç¨æããå¿
|
---|
1942 | è¦ããªããªã£ãï¼
|
---|
1943 | ãã»å²ãè¾¼ã¿ã¬ãã«ã®è¨å®
|
---|
1944 | ãããã»h8_sil.hã®define_int_plevel()
|
---|
1945 | ãããããcpu_insh.hãã¤ã³ã¯ã«ã¼ãããªãã§ãbitset(),bitclr()ãå¼ã³
|
---|
1946 | ãããããåºãã¦ããä¸å
|
---|
1947 | ·åãä¿®æ£
|
---|
1948 | ãã»software_term_hookã®å¼ã³åºã
|
---|
1949 | ãããã»tool_config.hã®call_atexit()
|
---|
1950 | ãããããsoftware_term_hookã¸ã®ãã¤ã³ã¿ã¨0ã¨ã®æ¯è¼ããã³ã³ãã¤ã©ã®
|
---|
1951 | ãããããæé©åã«ãã£ã¦åé¤ããã¦ãã¾ããªããããvolatile修飾åã追å
|
---|
1952 | ãã»Redboot対å¿
|
---|
1953 | ãããã»Redbootã使ç¨ããå²è¾¼ã¿ãã¯ã¿ã䏿¸ããã¦ãã¾ãåé¡ãä¿®æ£
|
---|
1954 | ãããã»ããã¥ã¢ã«h8.txtã®9.1ç¯ã追è¨
|
---|
1955 |
|
---|
1956 | '10/02/15
|
---|
1957 | ãä¿®æ£
|
---|
1958 | ãã»ã³ã³ãã¤ã©ã®æé©åã«ãããã¯ãªãã£ã«ã«ã»ã¯ã·ã§ã³ã®åå¾ã§å½ä»¤ã®
|
---|
1959 | ããé çªãå
|
---|
1960 | ¥ãæ¿ãã£ã¦ãã¾ãåé¡ãä¿®æ£
|
---|
1961 |
|
---|
1962 |
|
---|
1963 | '10/02/16
|
---|
1964 | ãä¿®æ£
|
---|
1965 | ãã»h8_3069f.h
|
---|
1966 | ããã»Timer Interrupt Status Register B (TISRB)
|
---|
1967 | ã ããã¹ãã«ãã¹ãä¿®æ£ï¼AâBï¼
|
---|
1968 | ã ã»ã¬ã¸ã¹ã¿å®ç¾©ã追å
|
---|
1969 | ãã»hw_timer.h
|
---|
1970 | ããã»hw_timer_initialize( )
|
---|
1971 | ããããå²è¾¼ã¿è¨±å¯æã«ä»ã®chã®ãããã䏿¸ããã¦ããä¸å
|
---|
1972 | ·åãä¿®æ£
|
---|
1973 | ãã»å
|
---|
1974 | èµRAMã®ã¢ãã¬ã¹ãããã³ã°ã®èª¤ããä¿®æ£
|
---|
1975 |
|
---|
1976 | '10/06/15
|
---|
1977 | ãä¿®æ£
|
---|
1978 | ããã»ã·ãªã¢ã«ãã©ã¤ããHEWã®I/Oã·ãã¥ã¬ã¼ã·ã§ã³ã«å¯¾å¿
|
---|
1979 | ãããï¼akih8_3069fåºæã®æ¡å¼µï¼
|
---|
1980 | ããã»ããã¥ã¡ã³ãå
|
---|
1981 | ã«ããå
|
---|
1982 | é¨I/Oã¬ã¸ã¹ã¿ã®ã¢ãã¬ã¹ãããã³ã°ã®
|
---|
1983 | ãããè¨è¼ãã¹ãä¿®æ£
|
---|
1984 |
|
---|
1985 | '10/12/01
|
---|
1986 | ãä¿®æ£
|
---|
1987 | ããã»é¢æ°sil_dly_nseãh8_sil.cããcpu_support.Sã«ç§»å
|
---|
1988 | ããããã¤ã³ã©ã¤ã³ã¢ã»ã³ãã©ããé常ã®ã¢ã»ã³ãã©è¨èªè¨è¿°ã«å¤æ´
|
---|
1989 | ããã»akih8_3069f
|
---|
1990 | ããã ã»ãã¹ã®ã¦ã§ã¤ãã¨ã¢ã¯ã»ã¹ã¹ãã¼ããè¨å®ããã¦ããªãã£ãåé¡ãä¿®æ£
|
---|
1991 | ããã ããã(toppers-users 3087) [H8]ãã¹åæåã«ã¤ãã¦ãã¸ã®å¯¾å¿
|
---|
1992 | ããã ã»é¢æ°sil_dly_nseã®ãã©ã¡ã¼ã¿SIL_DLY_TIM1,2ã®å¤ã調æ´
|
---|
1993 |
|
---|
1994 | '10/12/15
|
---|
1995 | ãä¿®æ£
|
---|
1996 | ããã»ã·ãªã¢ã«åä¿¡å²è¾¼ã¿ãã³ãã©å
|
---|
1997 | ã®ã¨ã©ã¼ãã§ãã¯å¦çãã³ã¡ã³ãã¢ã¦ã
|
---|
1998 | ãããï¼ã¬ã¢ã±ã¼ã¹ãªããï¼
|
---|