1 | ï¼ TOPPERS/JSPã«ã¼ãã« ã¦ã¼ã¶ãºããã¥ã¢ã« ï¼
|
---|
2 | ï¼M32C ã¿ã¼ã²ããä¾åé¨ï¼
|
---|
3 |
|
---|
4 | ï¼Release 1.4.4 対å¿ï¼æçµæ´æ°: 20-May-2011ï¼
|
---|
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-2003 by Embedded and Real-Time Systems Laboratory
|
---|
13 | Toyohashi Univ. of Technology, JAPAN
|
---|
14 | Copyright (C) 2003-2004, 2010, 2011 by Naoki Saito
|
---|
15 | Nagoya Municipal Industrial Research Institute, JAPAN
|
---|
16 | Copyright (C) 2003-2004 by Platform Development Center
|
---|
17 | RIOCH COMPANY,LTD. JAPAN
|
---|
18 |
|
---|
19 | ä¸è¨è使¨©è
|
---|
20 | ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
|
---|
21 | ã«ãã£ã¦å
|
---|
22 | ¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
|
---|
23 | è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
|
---|
24 | ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹å¤ã»åé
|
---|
25 | å¸ï¼ä»¥ä¸ï¼
|
---|
26 | å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
|
---|
27 | (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
|
---|
28 | 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
|
---|
29 | ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼
|
---|
30 | (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
|
---|
31 | ç¨ã§ããå½¢ã§åé
|
---|
32 | å¸ããå ´åã«ã¯ï¼åé
|
---|
33 | å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨
|
---|
34 | è
|
---|
35 | ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è使¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
|
---|
36 | ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
|
---|
37 | (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
|
---|
38 | ç¨ã§ããªãå½¢ã§åé
|
---|
39 | å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
|
---|
40 | ã¨ï¼
|
---|
41 | (a) åé
|
---|
42 | å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è
|
---|
43 | ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
|
---|
44 | 使¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
|
---|
45 | (b) åé
|
---|
46 | å¸ã®å½¢æ
|
---|
47 | ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã«
|
---|
48 | å ±åãããã¨ï¼
|
---|
49 | (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
|
---|
50 | 害ãããï¼ä¸è¨è使¨©è
|
---|
51 | ããã³TOPPERSããã¸ã§ã¯ããå
|
---|
52 | 責ãããã¨ï¼
|
---|
53 |
|
---|
54 | æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨è使¨©è
|
---|
55 | ã
|
---|
56 | ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
|
---|
57 | å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
|
---|
58 | æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
|
---|
59 |
|
---|
60 | ------------------------------------------------------------------------
|
---|
61 |
|
---|
62 | 1. M32C ã¿ã¼ã²ããä¾åé¨ã®æ¦è¦
|
---|
63 |
|
---|
64 | 1.1 ã¿ã¼ã²ããã·ã¹ãã ã¨éçºç°å¢
|
---|
65 |
|
---|
66 | ãM32C ããã»ããµã®ã¿ã¼ã²ããä¾åé¨ã¯ï¼ã¿ã¼ã²ããã·ã¹ãã ã¨ãã¦
|
---|
67 | ãªã¼ã¯ã¹é»åæ ªå¼ä¼ç¤¾ã® OAKS32 ããµãã¼ããã¦ããï¼
|
---|
68 | OAKS32 㯠ããã»ããµã¨ã㦠M30833FJFP(100pinç) ã¾ã㯠M30835FJGP(144pinç)
|
---|
69 | ãæè¼ãã¦ããï¼
|
---|
70 |
|
---|
71 | 1.2 éçºç°å¢ã¨å®è¡ç°å¢
|
---|
72 |
|
---|
73 | éçºç°å¢ã¯ï¼ã«ããµã¹ã¨ã¬ã¯ãããã¯ã¹ç¤¾è£½ã®éçºç°å¢ã使ç¨ããï¼
|
---|
74 |
|
---|
75 | å®è¡ç°å¢ã¯ Windows ãã¤ã³ã¹ãã¼ã«ããã¦ããï¼ãã¤ï¼ã·ãªã¢ã«ãã¼ãã
|
---|
76 | æè¼ãã PC ãããã°ï¼ãã¼ãã¢ã¸ã¥ã¼ã«ã®æ§ç¯ï¼ãã¼ãã¸ã®è»¢éï¼
|
---|
77 | ããã³ãã¼ãä¸ã§ã®å®è¡ãå¯è½ã§ããï¼
|
---|
78 |
|
---|
79 | 1.3 ãµãã¼ãããæ©è½ã®æ¦è¦
|
---|
80 |
|
---|
81 | ã¿ã¼ã²ããä¾åã¨ããã¦ããæ©è½ã«å¯¾ãããµãã¼ãç¶æ³ã¯ä»¥ä¸ã®éãï¼
|
---|
82 | ã»æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
|
---|
83 | §æ©è½ (vxget_tim) ï¼ ãµãã¼ã
|
---|
84 | ã»å²è¾¼ã¿ãã¹ã¯ã®å¤æ´ã»åç
|
---|
85 | § (chg_ixxï¼ get_ixx)ï¼æªãµãã¼ã
|
---|
86 | ã»å²ãè¾¼ã¿ã®ç¦æ¢ã¨è¨±å¯(dis_intï¼ena_int)ï¼æªãµãã¼ã
|
---|
87 |
|
---|
88 | 1.4 ä»ã®ã¿ã¼ã²ããã¸ã®ãã¼ãã£ã³ã°
|
---|
89 |
|
---|
90 | M32Cã¯CPUä¸ã«å¤ãã®ããã¤ã¹ãå®è£
|
---|
91 | ããã¦ããï¼SFRã¨ããå½¢å¼ã§
|
---|
92 | çµ±ä¸åããã¦ããï¼ãã®ãã M32C ã·ãªã¼ãºã® CPU ãæè¼ãããã¼ãã§ããã°ï¼
|
---|
93 | ãã¼ãã£ã³ã°ã¯å®¹æã«åºæ¥ãã¨æãããï¼
|
---|
94 |
|
---|
95 | 1.5 ã·ãªã¢ã«ãã¼ã
|
---|
96 |
|
---|
97 | ã¿ã¼ã²ãããã¼ãã«ã¯ UART1 ãå®è£
|
---|
98 | ããã¦ããï¼ã¾ã UART0 ãã¼ãã
|
---|
99 | æ¡å¼µå¯è½ã¨ãªã£ã¦ããï¼UART1 ã¯ï¼ããã㬠KD3083 ãç¨ãããããã°ç¨ã®
|
---|
100 | ãã¼ãã¨ãã¦ä½¿ç¨ãããã¨ãæ³å®ãã¦ãã.
|
---|
101 |
|
---|
102 | ã·ãªã¢ã«ãã©ã¤ã㯠UART0 ãã¼ãã¸ã®å¯¾å¿ãè¡ããã¦ããï¼ã¢ããªã±ã¼ã·ã§ã³ç¨
|
---|
103 | ã¨ãã¦å©ç¨å¯è½ã¨ãªã£ã¦ããï¼
|
---|
104 |
|
---|
105 | UART0 ãã¼ãã®è¨å®ã以ä¸ã«ç¤ºãï¼
|
---|
106 | ã»ãã¼ã¬ã¼ãï¼38400[bps]
|
---|
107 | ã»ãã¼ã¿é·ï¼8 ããã
|
---|
108 | ã»ã¹ããããããï¼1 ããã
|
---|
109 | ã»ããªãã£ãªã
|
---|
110 |
|
---|
111 | 1.6 対象ã¨ããã½ã¼ã¹ã³ã¼ãã®æåã³ã¼ã
|
---|
112 |
|
---|
113 | TOPPERSããã¸ã§ã¯ãããå
|
---|
114 | ¬éããã TOPPERS/JSP ã«ã¼ãã«ã®ããã±ã¼ã¸ã¯ï¼
|
---|
115 | æåã³ã¼ãåã³æ¹è¡ã³ã¼ãã EUC+LF åã³ SJIS+CRLF ã® 2ã¤ã®ãã¿ã¼ã³ã®
|
---|
116 | ããã±ã¼ã¸ãåå¨ããï¼EUC+LFçã®ããã±ã¼ã¸ã§ããã¦ã³ãã¼ããã¦å±éå¾ï¼
|
---|
117 | æåã³ã¼ã夿ããã°ä½¿ç¨å¯è½ã¨æããããï¼M32Cä¾åé¨ãå©ç¨ããå ´åã¯ï¼
|
---|
118 | SJIS+CRLF ã®ããã±ã¼ã¸ããã¦ã³ãã¼ããããã¨ãæ¨å¥¨ããï¼
|
---|
119 |
|
---|
120 |
|
---|
121 | 2. M32C ããã»ããµä¾åé¨ã®æ©è½
|
---|
122 |
|
---|
123 | ãã®ç¯ã§ã¯ï¼ã«ã¼ãã«ããã³ã·ã¹ãã ãµã¼ãã¹ã®æ©è½ã®ä¸ã§ï¼M32Cä¾åã®é¨å
|
---|
124 | ã«ã¤ãã¦è§£èª¬ããï¼
|
---|
125 |
|
---|
126 | 2.1 ãã¼ã¿å
|
---|
127 |
|
---|
128 | ã»æ´æ°å
|
---|
129 | ã»int å㨠unsigned int åã®ãµã¤ãºã¯ 16ãããã§ããï¼
|
---|
130 | ã»_int64_ ã«ã¯å¯¾å¿ãã¦ããªãï¼
|
---|
131 |
|
---|
132 | ã»ãã¤ã³ã¿å
|
---|
133 | VP ããã³ VP_INT ã¯å
|
---|
134 | ±ã« far ãã¤ã³ã¿ã¨å®ç¾©ãã¦ããï¼
|
---|
135 |
|
---|
136 | (説æ)
|
---|
137 | ãã¤ã³ã¿ã«é¢ãã¦ï¼M32C ã§ã¯16ãããé·ã® near ãã¤ã³ã¿ã¨32ãããé·ã®
|
---|
138 | far ãã¤ã³ã¿ãåå¨ããï¼near ãã¤ã³ã¿ã¯ RAM åã³ããã¤ã¹ã®ãã¼ãé åã§ãã
|
---|
139 | SFR(Special Function Register) ãã¢ã¯ã»ã¹ããçºã®ãã¤ã³ã¿ã§ããï¼
|
---|
140 | 䏿¹ï¼far ãã¤ã³ã¿ã¯ near ãã¤ã³ã¿ã§ã¢ã¯ã»ã¹å¯è½ãªé åã«å ã
|
---|
141 | ROM é åã¾ã§ã¢ã¯ã»ã¹ãå¯è½ãªãã¤ã³ã¿ã§ããï¼
|
---|
142 |
|
---|
143 | ãã¤ã³ã¿å¤æ°ã«å¯¾ãæç¤ºçã« near ã far ãæå®ããªãå ´åï¼
|
---|
144 | ã³ã³ãã¤ã©(NC308)ã¯ãã¤ã³ã¿å¤æ°ã far ãã¤ã³ã¿ã¨ãã¦æ±ãï¼
|
---|
145 | ãã®ããï¼é常ã®ä½¿ç¨ã§ã¯ãã¤ã³ã¿ã®ãµã¤ãºãç¹ã«æèããå¿
|
---|
146 | è¦ã¯ãªããï¼
|
---|
147 | near 㨠far ãæç¤ºçã«æå®ãã¦åæã«ä½¿ãå ´åï¼ä»£å
|
---|
148 | ¥ãªã©ã§ã¢ãã¬ã¹æ
|
---|
149 | å ±ã
|
---|
150 | æ¬ è½ãããã¨ããªããæ³¨æããå¿
|
---|
151 | è¦ãããï¼
|
---|
152 |
|
---|
153 | 2.2 å²è¾¼ã¿ç®¡çæ©è½ã¨å²è¾¼ã¿ãã³ãã©
|
---|
154 |
|
---|
155 | DEF_INHã§æå®ããå²è¾¼ã¿ãã³ãã©çªå·ï¼inhnoï¼ã¯ï¼M32Cã§ã®ã½ããã¦ã§ã¢å²è¾¼ã¿
|
---|
156 | çªå·ã表ãï¼ãã®ãã¼ã¿åï¼INHNOï¼ã¯ charåã«å®ç¾©ããã¦ããï¼
|
---|
157 | DEF_INHã§ï¼ä¾å¤ãã¯ã¿çªå·ã¨ãã¦æå¹ã§ãªãå¤ãï¼å¤é¨å²è¾¼ã¿ã«å¯¾å¿ããªã
|
---|
158 | çªå·ãæå®ããå ´åã®åä½ã¯ä¿è¨¼ãããªãï¼
|
---|
159 |
|
---|
160 | ãã¼ãã¦ã§ã¢å²è¾¼ã¿ã¯å²è¾¼ã¿ç¦æ¢ã¨ãããã¨ãã§ããï¼M32Cã®å²è¾¼ã¿ã®ç¦æ¢ã¯
|
---|
161 | ãã©ã°ã¬ã¸ã¹ã¿ä¸ã®å²è¾¼ã¿è¨±å¯ãã©ã°(Iãã©ã°)ã«ãã£ã¦è¡ãï¼ããªãã¡ï¼Iã
|
---|
162 | ã©ã°ãï¼ã®å ´åã¯ãã¹ã«ãã«å²è¾¼ã¿ã¯ç¦æ¢ããï¼ã®å ´åã¯è¨±å¯ãããï¼
|
---|
163 |
|
---|
164 | å²è¾¼ã¿ãã¯ã¿ã¯è¨å®ä½ç½®ã«éçã«é
|
---|
165 | ç½®ãããï¼æ¬éçºç°å¢ã§ã¯ã³ã³ãã£ã®ã¥
|
---|
166 | ã¬ã¼ã·ã§ã³ããçæããã kernel_cfg.c ã®å
|
---|
167 | 容ãèå¥ãï¼èªåçã«éçãª
|
---|
168 | å²è¾¼ã¿ãã¯ã¿å®ç¾©ãã¡ã¤ã«ãçæããã¦ã¼ãã£ãªãã£ãç¨æãã¦ããï¼ ãã®
|
---|
169 | ã¦ã¼ãã£ãªãã£ã¯åå¦çããã kernel_cfg.c ã®å
|
---|
170 | 容ã utils/m16c-renesas
|
---|
171 | ãã£ã¬ã¯ããªä¸ã® m16cvec.exe ã³ãã³ãã§è§£æãï¼å²è¾¼ã¿ãã¯ã¿å®ç¾©ãã¡ã¤ã«
|
---|
172 | m16cvec.inc ãçæããï¼m16cvec.inc ã¯CPUã®ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã§ãã
|
---|
173 | start.a30 ããã¤ã³ã¯ã«ã¼ãããï¼å²è¾¼ã¿ãã¯ã¿ãROMä¸ã«éçã«é
|
---|
174 | ç½®ããï¼
|
---|
175 |
|
---|
176 | 2.3 CPU ä¾å¤ç®¡çæ©è½ã¨ CPU ä¾å¤ãã³ãã©
|
---|
177 |
|
---|
178 | CPUä¾å¤ã¨ãã¦ï¼ãã¼ãã¦ã§ã¢ãã³ãã¹ã«ãã«å²è¾¼ã¿ã¨ã½ããã¦ã§ã¢ãã³ãã¹ã«
|
---|
179 | ãã«å²è¾¼ã¿ãããï¼ãã¼ãã¦ã§ã¢ãã³ãã¹ã«ãã«å²è¾¼ã¿ä¸ã®ãªã»ãããé¤ãã¦
|
---|
180 | ãã¯ãã«ã®è¨å®ãå¯è½ã§ããï¼
|
---|
181 | CPUä¾å¤ãã¯ã¿ã¯å²è¾¼ã¿ãã³ãã©ã¨åæ§ã«è¨å®ä½ç½®ã«éçã«é
|
---|
182 | ç½®ãããï¼
|
---|
183 | CPUä¾å¤ãã³ãã©ã«é¢ãã¦ãå²è¾¼ã¿ãã³ãã©ã¨åæ§ã« m16cvec.exe ãç¨ãã¦ï¼
|
---|
184 | CPUä¾å¤ãã¯ã¿å®ç¾©ãèªåçã«çæãããã¨ãã§ããï¼ãã®ãã¼ã¿ã¯å²è¾¼ã¿
|
---|
185 | ãã³ãã©ã¨åæ§ã«m16cvec.incã«è¨å®ãããï¼
|
---|
186 |
|
---|
187 | ãDEF_EXC ã§æå®ããCPUä¾å¤ãã³ãã©çªå·ï¼excnoï¼ã¯ï¼M32Cã§ã®ã½ããã¦ã¨ã¢
|
---|
188 | å²è¾¼ã¿çªå·ã表ãï¼ãã®ãã¼ã¿åï¼EXCNOï¼ã¯ charåã«å®ç¾©ããã¦ããï¼
|
---|
189 |
|
---|
190 | 2.4 ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
|
---|
191 |
|
---|
192 | m32cä¾åã®ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã« (start.a30) ã¯æ¬¡ã«ç¤ºãåæåãå®è¡
|
---|
193 | ããå¾ï¼ã«ã¼ãã« (kernel_start) ãèµ·åããï¼ãã ãï¼ kernel_start ãã
|
---|
194 | æ»ã£ã¦ãããã¨ã¯æ³å®ãã¦ããªãï¼
|
---|
195 |
|
---|
196 | (1) ã¹ã¿ãã¯ãã¤ã³ã¿ã®è¨å®
|
---|
197 |
|
---|
198 | (2) CPUé¢é£ã®åæè¨å®
|
---|
199 |
|
---|
200 | ããã»ããµã¢ã¼ãã®è¨å®ã¨ã¯ããã¯ã®è¨å®ãè¡ãï¼
|
---|
201 |
|
---|
202 | (3) hardware_init_hook ã®å¼åºã(æªå®è¡)
|
---|
203 |
|
---|
204 | M32Cã¢ã»ã³ãã©ã§ã¯ï¼hardware_init_hook ã®å¤å®ãã§ããªããã¨ã¨ï¼
|
---|
205 | M32Cã®ãã¼ãã¦ã§ã¢è¨å®ã sys_initialize() 颿°ã®ä¸ã§è¡ã£ã¦ã
|
---|
206 | ååã«å¯¾å¿ã§ããã¨èãããããã¨ããï¼å¯¾å¿ãã¦ããªã.
|
---|
207 |
|
---|
208 | (4) bssã»ã¯ã·ã§ã³ã¨ dataã»ã¯ã·ã§ã³ã®åæå
|
---|
209 |
|
---|
210 | bssã»ã¯ã·ã§ã³ãã¼ãã¯ãªã¢ããï¼ã¾ãï¼dataã»ã¯ã·ã§ã³ãåæåããï¼
|
---|
211 |
|
---|
212 | (5) software_init_hook ã®å¼åºã
|
---|
213 |
|
---|
214 | software_init_hookã 0ã§ãªããã°ï¼software_init_hook ãå¼åºãï¼
|
---|
215 | software_init_hook ã¯ã«ã¼ãã«èµ·ååã«ï¼ã½ããã¦ã§ã¢ç°å¢ (ã©ã¤ãã©ãªç)
|
---|
216 | ä¾åã®åæåãè¡ãããã«ç¨æããã¦ããï¼
|
---|
217 |
|
---|
218 | software_init_hook ã®å®ç¾©ã¯ cpu_config.c ä¸ã§è¡ãï¼è¦å®ã§ã¯ 0 ã«ä»®è¨å®
|
---|
219 | ããã¦ããï¼ç¬èªã«å¥ã®å ´æã§ software_init_hook ãå®ç¾©ããå ´åï¼ãã¯ã
|
---|
220 | ã¨ã㦠EXTERNAL_SOFT_HOOK ãå®ç¾©ããï¼ãã®ããã«ããã°ï¼å
|
---|
221 | ã®å¤æ°å®ç¾©ã¯
|
---|
222 | å«ã¾ããªããªãããï¼å¤é¨ããã®è¨å®ãå¯è½ã¨ãªãï¼
|
---|
223 | ä¾ãã°ï¼ã©ã¤ãã©ãªã®åæè¨å®ãªã©ãè¡ãããå ´åã¯ï¼å¤é¨ããã®å¤æ°å®ç¾©ã
|
---|
224 | è¡ããã¨ãå¯è½ã¨ãªãï¼
|
---|
225 |
|
---|
226 | (6) ã«ã¼ãã«ã®èµ·å
|
---|
227 |
|
---|
228 | kernel_start ã¸åå²ãï¼ã«ã¼ãã«ãèµ·åããï¼kernel_start ãããªã¿ã¼ã³ã
|
---|
229 | ã¦ãããã¨ã¯æ³å®ãã¦ããªãï¼
|
---|
230 |
|
---|
231 | 2.5 å²è¾¼ã¿çºçæã®ã¹ã¿ãã¯ä½¿ç¨éã«ã¤ãã¦
|
---|
232 |
|
---|
233 | ã«ã¼ãã«èµ·åï¼åã³ï¼å²è¾¼ã¿çºçæã¯ã¿ã¹ã¯ç¨ã®ã¹ã¿ãã¯ã¨ã¯å¥ã®å²è¾¼ã¿å°ç¨ã®
|
---|
234 | ã¹ã¿ãã¯ã使ç¨ãã¦ããï¼ãã®ã¹ã¿ãã¯é å㯠RAMEND ã¨ãããã¯ãã§
|
---|
235 | æå®ãããã¢ãã¬ã¹ããä½ä½æ¹åã«åããã¡ã¢ãªä¸ã®é åã«ç¢ºä¿ãããï¼
|
---|
236 | ãã®ããï¼ã·ã¹ãã èµ·åæã«ã¯ãã®é åã確ä¿ããå¿
|
---|
237 | è¦ãããï¼
|
---|
238 |
|
---|
239 | å²è¾¼ã¿ãã¹ãã¬ãã«ã 0ï¼ã¤ã¾ãï¼ã¿ã¹ã¯å®è¡ä¸ï¼ã§å²è¾¼ã¿ãçºçããã¨ï¼
|
---|
240 | ã«ã¼ãã«ã¯ã¿ã¹ã¯ã³ã³ããã¹ãç¨ã¹ã¿ãã¯ã«ã¬ã¸ã¹ã¿ãä¿åããå¾ï¼
|
---|
241 | å²è¾¼ã¿ç¨ã¹ã¿ãã¯ã«ã¹ã¿ãã¯ãåãæ¿ããï¼ãã®ããï¼ã¿ã¹ã¯ã³ã³ããã¹ãç¨
|
---|
242 | ã¹ã¿ãã¯ã«ã¯ï¼æ±ç¨ã¬ã¸ã¹ã¿ï¼ãã©ã°ï¼PC ãªã© 30 ãã¤ãã®é åãä½åã«å¿
|
---|
243 | è¦ã¨ãªãï¼
|
---|
244 |
|
---|
245 | å²è¾¼ã¿ãã¹ãã¬ãã«ã 1以ä¸ã®ç¶æ
|
---|
246 | ï¼ã¤ã¾ãï¼éã¿ã¹ã¯ã³ã³ããã¹ãï¼ã§
|
---|
247 | å²è¾¼ã¿è¦æ±ãåãä»ããããå ´åï¼å²è¾¼ã¿ã¹ã¿ãã¯ã«ã¬ã¸ã¹ã¿ãä¿åãããï¼
|
---|
248 | ããã«ã¯å²è¾¼ã¿çºçæ¯ã«30ãã¤ããã¤å¿
|
---|
249 | è¦ã§ããï¼ããã«å ãï¼ããããã®
|
---|
250 | å²è¾¼ã¿å¦çã«ã¼ãã³ã§ä½¿ç¨ãããã¹ã¿ãã¯ãµã¤ãºãå¿
|
---|
251 | è¦ã¨ãªãï¼
|
---|
252 |
|
---|
253 | 3. ã·ã¹ãã ä¾åé¨ã®æ©è½
|
---|
254 |
|
---|
255 | 3.1 ã·ã¹ãã ã¯ããã¯ãã©ã¤ã
|
---|
256 |
|
---|
257 | ã·ã¹ãã ã¯ããã¯ãã©ã¤ãã isig_tim ãå¼ã³åºã卿ã¯ï¼sys_defs.h ä¸ã®
|
---|
258 | TIC_NUME 㨠TIC_DENO ã§å®ç¾©ããã¦ããï¼æ¨æºã¯ 1ããªç§å¨æï¼ï¼
|
---|
259 | ãã®å®ç¾©ã夿´ãããã¨ã§ï¼isig_timãå¼ã³åºã卿ã夿´ãããã¨ãã§ããï¼
|
---|
260 | ãã ãï¼ã¿ã¤ãã®ç²¾åº¦ã1μç§ã§ããããï¼1μç§åä½ã§ç«¯æ°ã«ãªãå¤ãè¨å®ãã
|
---|
261 | å ´åã«ã¯ï¼isig_timã®å¼åºã卿ã«èª¤å·®ãçãããã¨ã«ãªãï¼
|
---|
262 |
|
---|
263 | 3.2 æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
|
---|
264 | §æ©è½
|
---|
265 |
|
---|
266 | M32Cã§ã¯ï¼æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
|
---|
267 | §æ©è½ (vxget_tim) ããµãã¼ããã¦ããï¼
|
---|
268 | OAKS16ã§ã¯ç²¾åº¦ 0.0333[us]ã§ããï¼SYSUTIMå㯠UW å (32 ããã符å·ãªã
|
---|
269 | æ´æ°å) ã§ããï¼
|
---|
270 |
|
---|
271 | 3.3 ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ã
|
---|
272 |
|
---|
273 | OAKS32 ã§ã¯ UART0 㨠UART1 ã®ï¼ã¤ã®ã·ãªã¢ã«ãã¼ããå©ç¨å¯è½ã§ããï¼
|
---|
274 | ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã§ã¯ UART0 ã®ã¿ã«å¯¾å¿ãï¼ãã°åºåç¨ã«
|
---|
275 | 使ç¨ãã¦ããï¼
|
---|
276 | 䏿¹ï¼UART1 㯠ããã㬠KD3083 ã§ãã¹ãPCã¨ã®éä¿¡ç¨ãã¼ãã¨ãã¦ä½¿ç¨ãã
|
---|
277 | ãã¨ãæ³å®ãã¦ããï¼ãã®ããï¼ãã®ã¾ã¾ã§ã¯ãã©ã¤ãã§ä½¿ç¨ã§ããªã.
|
---|
278 |
|
---|
279 | 3.4 ã¡ã¢ãªããã
|
---|
280 |
|
---|
281 | 3.4.1 OAKS32ã®ã¡ã¢ãªããã
|
---|
282 |
|
---|
283 | (1) å®è¡ç°å¢
|
---|
284 |
|
---|
285 | 0x000000 - 0x0003ff SFRé å
|
---|
286 | 0x000400 - 0x0077ff å
|
---|
287 | è RAMï¼data_NEï¼data_NOï¼bss_NEï¼bss_NO
|
---|
288 | 0x007800 - 0x007fff å
|
---|
289 | è RAMï¼ãããã°ã¢ãã¿ç¨RAMé åï¼ã¢ãã¿ã使ç¨â»ï¼
|
---|
290 |
|
---|
291 | 0xf80000 - 0x0ffdff å
|
---|
292 | èµ ROMï¼programï¼rom_FEï¼rom_FOï¼data_NEIï¼data_NOI
|
---|
293 | 0xffbd00 - 0xffbdff å
|
---|
294 | èµ ROMï¼ãã¼ãï¼ã½ããå²è¾¼ã¿ãã¯ã¿é å (vvector)
|
---|
295 | 0xffbe00 - 0xfffdff å
|
---|
296 | èµ ROMï¼ãããã°ã¢ãã¿ããã°ã©ã é åâ»
|
---|
297 | 0xfffe00 - 0xffffdb å
|
---|
298 | èµ ROMï¼ã¹ãã·ã£ã«ãã¼ã¸ãã¯ã¿ãã¼ãã«é å
|
---|
299 | 0xffffdc - 0xffffff å
|
---|
300 | èµ ROMï¼ãã¼ãCPUä¾å¤ãã¯ã¿é å(fvector)
|
---|
301 |
|
---|
302 | 注⻠ãããã¬KD3083ã使ç¨ããªãå ´åã¯é常ã®ã¡ã¢ãªã¨ãã¦ä½¿ç¨å¯è½
|
---|
303 |
|
---|
304 | 4. éçº
|
---|
305 |
|
---|
306 | 4.1 éçºç°å¢
|
---|
307 |
|
---|
308 | éçºç°å¢ã¯ï¼Windows XP (Service Pack3) ã§åä½ç¢ºèªããï¼
|
---|
309 | æ§ç¯ç°å¢ã¯ã«ããµã¹ã¨ã¬ã¯ãããã¯ã¹ç¤¾è£½ã®éçºç°å¢ãç¨ããï¼
|
---|
310 | ãã«ãç®¡çæ¹æ³ã¨ãã¦ï¼ä»¥ä¸ã® 2 ã¤ã®æ¹æ³ãããï¼
|
---|
311 |
|
---|
312 | (1) ã«ããµã¹ã¨ã¬ã¯ãããã¯ã¹ç¤¾è£½ã®çµ±åéçºç°å¢ TM ã使ç¨ããï¼
|
---|
313 |
|
---|
314 | 対象ï¼OAKS32ãã¼ã
|
---|
315 | æ¹å¼ï¼ã«ããµã¹ã¨ã¬ã¯ãããã¯ã¹ç¤¾ã® TM ãç¨ãã¦æ§ç¯ãã
|
---|
316 | ãã®éï¼ã«ã¼ãã«é¨ãã©ã¤ãã©ãªåããæ§ç¯ãã
|
---|
317 | åä½ç¢ºèªãã¼ã«ï¼
|
---|
318 | NC308WA V.5.42 Release 00 ç¡åè©ä¾¡ç
|
---|
319 | TM V3.20
|
---|
320 |
|
---|
321 | (2) DOS çªãã make ã³ãã³ããç¨ãã
|
---|
322 | 対象ï¼OAKS32ãã¼ã
|
---|
323 | æ¹å¼ï¼DOSçªããmakeã使ã£ã¦æ§ç¯
|
---|
324 | ã«ã¼ãã«ãã©ã¤ãã©ãªåããæ¹æ³ã¨ããªãæ¹æ³ã®ä¸¡æ¹ã«å¯¾å¿
|
---|
325 | åä½ç¢ºèªãã¼ã«ï¼
|
---|
326 | NC308WA V.5.42 Release 00 ç¡åè©ä¾¡ç
|
---|
327 | GNU make (version 3.80 ã§åä½ç¢ºèªæ¸)
|
---|
328 | Perl (åä½ç¢ºèªã¯ Active Perl v5.6.1, 5.12.2 ã§è¡ã£ã)
|
---|
329 |
|
---|
330 | ãã ãï¼ãããã®å ´åã NC308WA ã®ã¤ã³ã¹ãã¼ã«å
|
---|
331 | ã«ã¯æ³¨æãå¿
|
---|
332 | è¦ã§ããï¼
|
---|
333 | æè¿ã®çã§ã¯è¦å®å¤ã¨ã㦠C:\Program Files 以ä¸ã«ã¤ã³ã¹ãã¼ã«ããããï¼
|
---|
334 | TM åã³ make ã¯ãã¹æååä¸ã«ç©ºç½ãå«ã¾ããå ´åï¼æ£ããåä½ããªãï¼
|
---|
335 | ãã®ããï¼ã¤ã³ã¹ãã¼ã«å
|
---|
336 | ãã¹ã空ç½ãå«ã¾ãªãããã«ããå¿
|
---|
337 | è¦ãããï¼
|
---|
338 |
|
---|
339 | ã¾ãï¼ã½ã¼ã¹ã®å±éä½ç½®ã¨ãã¼ã«ã®ã¤ã³ã¹ãã¼ã«å
|
---|
340 | ã¨ãç°ãªããã©ã¤ãã«
|
---|
341 | é
|
---|
342 | ç½®ããã¦ããæ§æãï¼æ£å¸¸ã«åä½ããªãå ´åãããããï¼æ¨å¥¨ããªãï¼
|
---|
343 |
|
---|
344 | 4.2 çµ±åéçºç°å¢TMãç¨ããæ§ç¯
|
---|
345 |
|
---|
346 | m32c ç¨ã® TOPPERS/JSP ãæ§ç¯ããã«ã¯ï¼ã«ããµã¹ã¨ã¬ã¯ãããã¯ã¹ç¤¾è£½ã®
|
---|
347 | éçºç°å¢ã使ç¨ããï¼ãã®ããï¼ã¾ããã¼ã«ãã¤ã³ã¹ãã¼ã«ãã¦ããï¼
|
---|
348 | çµ±åéçºç°å¢ TM
|
---|
349 | ã³ã³ãã¤ã© NC308WA
|
---|
350 |
|
---|
351 | ã¾ãï¼ã¿ã¼ã²ããããã°ã©ã ã®æ§ç¯ã«ã¯ï¼éçºãã¹ãä¸ã§åä½ããï¼
|
---|
352 | ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ cfg/cfg.exe åã³ M16Cã¿ã¼ã²ããåãã¦ã¼ãã£ãªãã£
|
---|
353 | ããã°ã©ã utils/m16c-renesas/m16cvec.exe ãç¨ããï¼
|
---|
354 | (m32cã¿ã¼ã²ããã§ã¯m16coffset.exeã¯ä½¿ç¨ããªã)
|
---|
355 | m16cvec.exe ã¯ã³ã³ãã¤ã«æ¸ã¿ã®ãã®ãç¨æããã¦ãããï¼
|
---|
356 | ããã°ã©ã ã夿´ãããå ´åã¯åæ§ç¯ããå¿
|
---|
357 | è¦ãããï¼
|
---|
358 |
|
---|
359 |
|
---|
360 | 4.2.1 ãã¼ã«ã®æ§ç¯
|
---|
361 |
|
---|
362 | cfg.exe ã®æ§ç¯ã«ã¤ãã¦ã¯ user.txt ãªã©ãåç
|
---|
363 | §ã®ãã¨ï¼
|
---|
364 | utils/m16c-renesas ä¸ã®ãã¼ã« m16cvec.exe ãæ§ç¯ããå ´åï¼
|
---|
365 | MinGW (Minimalist GNU for Windows)ã使ç¨ããï¼
|
---|
366 | (ã¡ãªã¿ã«ï¼cfg.exe ã®ãã«ãã MinGW ã§å¯¾å¿å¯è½ã§ããï¼
|
---|
367 |
|
---|
368 | éå¸¸ã¯æ¢ã«ã³ã³ãã¤ã«æ¸ã¿ã®ãã®ãç¨æããã¦ããããï¼ãã¡ãã
|
---|
369 | å©ç¨ããã°ããï¼
|
---|
370 |
|
---|
371 | MinGW (Minimalist GNU for Windows)
|
---|
372 | http://www.mingw.org/
|
---|
373 | http://sourceforge.net/projects/mingw/ (ã¤ã³ã¹ãã¼ã©ã®å
|
---|
374 | ¥æå
|
---|
375 | )
|
---|
376 |
|
---|
377 |
|
---|
378 | 4.2.2 TM ã§ããã¸ã§ã¯ãã鏿ããã«ãããï¼
|
---|
379 |
|
---|
380 | (1) äºå確èª
|
---|
381 |
|
---|
382 | ãã«ã対象ã®ã½ã¼ã¹ã³ã¼ãããããã¦ãããã©ã¤ãã¨ï¼ã³ã³ãã¤ã©ãªã©ã®
|
---|
383 | éçºãã¼ã«ãã¤ã³ã¹ãã¼ã«ããã¦ãããã©ã¤ãã¯åããã©ã¤ããã©ãã確èªãã.
|
---|
384 | ç°ãªãå ´åã¯ãã«ãã®ç¢ºèªãåºæ¥ã¦ããªãããï¼éæ¨å¥¨ã®æ¹æ³ã¨ãã.
|
---|
385 |
|
---|
386 | (2) ããã¸ã§ã¯ãã®ãªã¼ãã³
|
---|
387 |
|
---|
388 | (2-1) Windows ã¡ãã¥ã¼ãã TM ãèµ·åããï¼
|
---|
389 | (2-2) TM ãèµ·åããããOpen Projectãã¡ãã¥ã¼ãéãï¼
|
---|
390 | (2-3) tools/M32C-RENESAS ãã£ã¬ã¯ããªä¸ã® Jsp14sample1.tmk ã鏿ããï¼
|
---|
391 | (2-4) 鏿æï¼ã³ã³ãã¤ã©ã®éãã«ããè¨å®ã¡ãã¥ã¼ã表示ãããå ´åãããï¼
|
---|
392 | ãã®ç°å¢ã¯ï¼NC308WA ã³ã³ãã¤ã©ã® Version Version 5.42 Release 00
|
---|
393 | ç¡åè©ä¾¡çã«ã¦è©ä¾¡ãè¡ã£ã¦ããï¼ç¾å¨ã®ç°å¢ã«ãããã£ã¦è¨å®ããï¼
|
---|
394 |
|
---|
395 | (3) ããªããã»ããµã®æå®
|
---|
396 |
|
---|
397 | ãã«ãéç¨ã§ããªããã»ããµã使ç¨ããããï¼éçºç°å¢ãã¤ã³ã¹ãã¼ã«ããã
|
---|
398 | å ´æã«å¿ã㦠CPP ã¨ããååã®ãã¯ãã夿´ããï¼
|
---|
399 |
|
---|
400 |
|
---|
401 | (4) è¨å®å¾ï¼ããªãã«ããã¡ãã¥ã¼ã鏿ããã«ããè¡ã
|
---|
402 |
|
---|
403 | TMã®è¨å®ã¨ãã¦ã½ã¼ã¹ãã¡ã¤ã«ã®ä¾åæ§ã®è¨å®ãè¡ã£ã¦ããªãã®ã§ï¼
|
---|
404 | æ§ç¯æã¯ããªãã«ããã®å®è¡ãæ¨å¥¨ããï¼
|
---|
405 |
|
---|
406 | ããã«ããçµäºããã¨ï¼ãã®ãã£ã¬ã¯ããªä¸ã« Jsp14sample1.x30 ããã³
|
---|
407 | Jsp14sample1.motãçæãããï¼
|
---|
408 |
|
---|
409 |
|
---|
410 | 4.3 DOSçªããmakeã³ãã³ããç¨ããæ§ç¯
|
---|
411 |
|
---|
412 | GNU make ãç¨ãã¦m32cç¨ã® TOPPERS/JSPã«ã¼ãã«ãæ§ç¯ããæ¹æ³ã示ãï¼
|
---|
413 | ãã®æ¹æ³ã§å¯¾å¿ãã¦ãããã¼ã㯠OAKS32 ã§ããï¼
|
---|
414 | ã³ã³ãã¤ã©ã¯ NC308WA V.5.42 Release 00 ç¡åè©ä¾¡çã§åä½ã確èªãã¦ãã.
|
---|
415 |
|
---|
416 | æ§ç¯ã«ããã£ã¦ã¯ï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ cfg.exe ã cfg ãã£ã¬ã¯ããªã«ï¼
|
---|
417 | 4.2.1 ã§ç¤ºãã m16cvec.exe ã utils/m16c-renesas ãã£ã¬ã¯ããªã«ï¼
|
---|
418 | ããããåå¨ãã¦ãããã¨ãåæã¨ãªãï¼
|
---|
419 | ã¾ãï¼NC308WA, KD3083 ã¯ãããããã¤ã³ã¹ãã¼ã«ãã¦ãããã¨ãå¿
|
---|
420 | è¦ã§ããï¼
|
---|
421 |
|
---|
422 | 4.3.1 éçºãã¼ã«ã®å
|
---|
423 | ¥æ
|
---|
424 |
|
---|
425 | ãã¼ã«ã¯ä»¥ä¸ã®ãµã¤ãããå
|
---|
426 | ¥æå¯è½ï¼
|
---|
427 |
|
---|
428 | GNU Make
|
---|
429 | http://www.mingw.org/
|
---|
430 |
|
---|
431 | Active Perl
|
---|
432 | http://www.activestate.com/
|
---|
433 |
|
---|
434 | 4.3.2 ãµã³ãã«ããã°ã©ã ã®æ§ç¯
|
---|
435 |
|
---|
436 | ãµã³ãã«ããã°ã©ã ã®æ§ç¯æ¹æ³ã¯åºæ¬çã« doc/user.txt ã® ã7.4 ãµã³ãã«ã
|
---|
437 | ãã°ã©ã ã®æ§ç¯ãã§ç¤ºãããæ¹æ³ã«æºæ ãã¦ããï¼ãã ãï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³
|
---|
438 | ã¹ã¯ãªããçã® perl ã§æ¸ãããã¹ã¯ãªããã¯ãã®ã¾ã¾ Windows ã® DOSçª
|
---|
439 | ï¼Windows XPçã§ã¯ãã³ãã³ãã¹ã¯ãªãããï¼ã®ä¸ã§ã¯ä½¿ç¨ãããã¨ãã§ããªãï¼
|
---|
440 | ãã®ããï¼utils/m16c-renesas ãã£ã¬ã¯ããªã«ç¨æãããå°ç¨ã® Perl
|
---|
441 | ã¹ã¯ãªããã使ç¨ããï¼
|
---|
442 |
|
---|
443 | 4.3.3 ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã¹ã¯ãªããã®å®è¡
|
---|
444 |
|
---|
445 | > mkdir foo
|
---|
446 | > cd foo
|
---|
447 | > perl ..\utils\m16c-renesas\configure.m16c -C m32c -S oaks32 -T renesas -D ..
|
---|
448 |
|
---|
449 | -D ãªãã·ã§ã³ã¯ãã£ã¬ã¯ããªã®ä½ç½®ã«ããé©å½ã«ä¿®æ£ãã.
|
---|
450 | ä¾ã¯ foo ãã£ã¬ã¯ããªã JSPã«ã¼ãã«ã®ããããã£ã¬ã¯ããªã®ä¸ã«ããå ´åã®ä¾ã§ã.
|
---|
451 |
|
---|
452 | ãã®å¦çã«ããï¼ã«ã¬ã³ããã£ã¬ã¯ããªã«ã¯ä»¥ä¸ã®ãã¡ã¤ã«ãçæããã
|
---|
453 | ã»Makefile
|
---|
454 | ã»ãµã³ãã«ããã°ã©ã ç¨ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ï¼sample1.cfgï¼
|
---|
455 | ã»ãµã³ãã«ããã°ã©ã æ¬ä½ï¼sample1.hããã³sample1.cï¼
|
---|
456 | ããã§Makefileã®ä¿®æ£ãå¿
|
---|
457 | è¦ãªãã°ï¼ä¿®æ£ãè¡ãã®ã¯ä»ã®ã¿ã¼ã²ããã®å ´åã¨åãã§ããï¼
|
---|
458 |
|
---|
459 | 4.3.4 Makefile ã®ä¿®æ£
|
---|
460 |
|
---|
461 | (A) ã¡ã¢ãªã¢ãã¬ã¹ã®è¨å®
|
---|
462 |
|
---|
463 | RAMEND ã¯å²è¾¼ã¿ã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå¤ï¼RAM_START_ADR ã¯SFRãé¤ãã
|
---|
464 | RAMã®å
|
---|
465 | é çªå°ï¼ROM_START_ADR 㯠ROMã®å
|
---|
466 | é çªå°ããããã示ã.
|
---|
467 |
|
---|
468 | (B) ãã¼ã«ã®ã¤ã³ã¹ãã¼ã«ãã£ã¬ã¯ããª
|
---|
469 |
|
---|
470 | NC308WA ã³ã³ãã¤ã©ãã¼ã«ã®ã¤ã³ã¹ãã¼ã«ããã¦ãããã£ã¬ã¯ããªã
|
---|
471 | TOOLDIR ã«è¨å®ãã.
|
---|
472 |
|
---|
473 | (C) KD3083ã使ç¨ããã
|
---|
474 | 使ç¨ããå ´åã¯KD3083ã®å¤ã1ã«ï¼ä½¿ç¨ããªãå ´åã¯0ã«è¨å®ãã
|
---|
475 |
|
---|
476 | (D) ã©ã¤ãã©ãªã¢ã³ LB308ã使ããã©ãã
|
---|
477 |
|
---|
478 | ã¨ã³ããªã¼çã³ã³ãã¤ã©ãªã©ï¼ã©ã¤ãã©ãªã¢ã³ãæããªãéçºç°å¢ãç¨ãï¼
|
---|
479 | ã«ã¼ãã«ã©ã¤ãã©ãªã®æ§ç¯ãè¡ãªããªãå ´åã¯
|
---|
480 | USE_LB308 = TRUE
|
---|
481 | ã®è¡ãã³ã¡ã³ãã¢ã¦ããã
|
---|
482 |
|
---|
483 | (E) JSPã«ã¼ãã«ã½ã¼ã¹ã®ããããã£ã¬ã¯ããªã®ä½ç½®
|
---|
484 |
|
---|
485 | é常㯠configure ã¹ã¯ãªããã§è¨å®ãããï¼JSPã«ã¼ãã«ã½ã¼ã¹
|
---|
486 | ãã£ã¬ã¯ããªã¨ãã«ã使¥ãè¡ããã£ã¬ã¯ããªã¨ã®ä½ç½®é¢ä¿ãå¤åããå ´åã¯
|
---|
487 | SRCDIR ã®å¤ã夿´ãã.
|
---|
488 |
|
---|
489 | (F) ã¿ã¼ã²ãããã¡ã¤ã«ã®å®ç¾©
|
---|
490 |
|
---|
491 | ãã¼ããããå®è¡ããã°ã©ã ã®å½¢å¼ãæå®ããï¼IEEE-695å½¢å¼ã®ã¨ãã¯
|
---|
492 | $(OBJNAME).x30ï¼ã¢ããã¼ã© Så½¢å¼ã®æã¯ $(OBJNAME).mot ãæå®ããï¼
|
---|
493 |
|
---|
494 | (G) ãã®ä»
|
---|
495 |
|
---|
496 | ã以ä¸ã®é
|
---|
497 | ç®ã«ã¤ãã¦ã¯ï¼doc/user.txt ã®å
|
---|
498 | å®¹ã«æºæ ãã¦ããã®ã§
|
---|
499 | ãã¡ããåç
|
---|
500 | §ã®ãã¨.
|
---|
501 | ã»ã«ã¼ãã«ã©ã¤ãã©ãªã®ãã£ã¬ã¯ããªåã®å®ç¾©
|
---|
502 | ã»å
|
---|
503 | ±éã³ã³ãã¤ã«ãªãã·ã§ã³ã®å®ç¾©
|
---|
504 | ã»ã¢ããªã±ã¼ã·ã§ã³ããã°ã©ã ã«é¢ããå®ç¾©
|
---|
505 | ã»ãªãã¸ã§ã¯ããã¡ã¤ã«åã®å®ç¾©
|
---|
506 | ã»ã«ã¼ãã«ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ã®çæ
|
---|
507 |
|
---|
508 | 4.3.5 ä¾åé¢ä¿ãã¡ã¤ã«ã®çæããã³ãµã³ãã«ã®å®è¡ããã°ã©ã 使
|
---|
509 |
|
---|
510 | ä¾åé¢ä¿ãã¡ã¤ã« Makefile.depend ããã³å®è¡ããã°ã©ã jsp.x30 ããã³ jsp.mot ã
|
---|
511 | 使ããã«ã¯æ¬¡ã®ããã«å®è¡ããï¼MinGW ã® make ãå©ç¨ããå ´åï¼make ã®ä»£ããã«
|
---|
512 | mingw32-make ãå®è¡ããå¿
|
---|
513 | è¦ããããããããªãï¼
|
---|
514 |
|
---|
515 | > make depend
|
---|
516 | > make
|
---|
517 |
|
---|
518 | ããã§å®è¡ããã°ã©ã (jsp.x30,jsp.mot)ãã«ã¬ã³ããã£ã¬ã¯ããªã«çæããã.
|
---|
519 |
|
---|
520 | 4.4 å®è¡ããã°ã©ã ã®è»¢é
|
---|
521 |
|
---|
522 | ãã¼ãä¸ã§å®è¡ã確èªããããã®æ¹æ³ã¨ãã¦ã¯2éãã®æ¹æ³ãããï¼
|
---|
523 |
|
---|
524 | a. MOTãã¡ã¤ã«ãFlashSta ããã°ã©ã ãç¨ãã¦ï¼ãã¼ãä¸ã®ãã©ãã·ã¥ROMã«æ¸ãè¾¼ã
|
---|
525 | b. ãããã¬KD3083ãç¨ãã¦ãã¼ãï¼å®è¡ãã
|
---|
526 | OAKS32 ã«ã¯ï¼ããã㬠KD3083 ãæ·»ä»ããã¦ããï¼ãã®ãããã¬ã¯
|
---|
527 | ãã©ãã·ã¥ROMä¸ã®ã¢ãã¿ããã°ã©ã 㨠UART1 ãç¨ã㦠PC ã¨éä¿¡ãè¡ã
|
---|
528 | ãã¨ã§ï¼ãããã¯æ©è½ãå®ç¾ããï¼
|
---|
529 | æ¬ã«ã¼ãã«ã¯KD3083ã使ç¨ãã¦ã«ã¼ãã«ã®ãã¼ãï¼å®è¡ãè¡ããã¨ãåºæ¥ãï¼
|
---|
530 | 使ç¨ã«å½ãã£ã¦ã¯ä¸é¨å¶éäºé
|
---|
531 | ãããï¼è©³ç´°ã«ã¤ãã¦ã¯KD3083ã®ããã¥ã¢ã«ã
|
---|
532 | åç
|
---|
533 | §ã®ãã¨ï¼
|
---|
534 |
|
---|
535 | 4.4.1 FlashStaãç¨ãã¦ãã©ãã·ã¥ROMã«æ¸ãè¾¼ãæ¹æ³
|
---|
536 |
|
---|
537 | ã»éçºç¨ã®ãã½ã³ã³ã¨OAKS32ãã¼ãã¨ãï¼RS-232Cã±ã¼ãã«ã使ã£ã¦æ¥ç¶ããï¼
|
---|
538 | OAKS32ãã¼ãã®UART1ãã¼ãã«æ¥ç¶ããï¼
|
---|
539 | ã»CNVSSãã³ãã¸ã£ã³ãã¼ãã³ã使ã£ã¦ã·ã§ã¼ããããï¼
|
---|
540 | ã»é»æºãæ¥ç¶ãï¼é»æºã¹ã¤ããããªã³ã«ããï¼
|
---|
541 |
|
---|
542 | ã»FlashStaãèµ·åããï¼
|
---|
543 | ã»Select Programã¡ãã¥ã¼ã«ã¦ãã¼ãã鏿ãã¦ãOKããã¿ã³ãæ¼ãï¼
|
---|
544 | ã»ID Checkã¡ãã¥ã¼ã表示ãããããRefer..ããã¿ã³ãæ¼ãï¼MOTãã¡ã¤ã«ã鏿ããï¼
|
---|
545 | ã»Select Programã«æ»ã£ããï¼ãOKããã¿ã³ãæ¼ä¸ãFlash Startã¡ãã¥ã¼ã表示ãããï¼
|
---|
546 |
|
---|
547 | ã»ãEraseããã¿ã³ãæ¼ãï¼ãã©ãã·ã¥ROMãã¯ãªã¢ããï¼
|
---|
548 | ã»ãProgram..ããã¿ã³ãæ¼ãããã°ã©ã ã®æ¸ãè¾¼ã¿ãè¡ãï¼
|
---|
549 | ã»æ¸ãè¾¼ã¿ãçµäºãããï¼ãExitããã¿ã³ãæ¼ä¸ãFlashStaãçµäºãããï¼
|
---|
550 | ã»ãã¼ãã®é»æºãåãï¼CNVSSãã³ããã¸ã£ã³ãã¼ãã³ãã¯ããï¼
|
---|
551 |
|
---|
552 | 4.4.2 KD3083ã使ç¨ãã¦ãã¼ãï¼å®è¡ããæ¹æ³
|
---|
553 |
|
---|
554 | ã»ãã®æ¹æ³ãå®è¡ããå ´åã¯ï¼ãããããKD3083 ç¨ã®ã¢ãã¿ããã°ã©ã ã
|
---|
555 | å
|
---|
556 | è ROM ã«æ¸ãè¾¼ã¾ãã¦ãããã©ãã確èªãã. æ¸ãè¾¼ã¾ãã¦ããªãå ´åã¯
|
---|
557 | ã¢ãã¿ããã°ã©ã ãä¸è¨4.2.3ã® FlashSta ã使ç¨ãã¦æ¸ãè¾¼ãå¿
|
---|
558 | è¦ããã.
|
---|
559 |
|
---|
560 | ã»éçºç¨ã®ãã½ã³ã³ã¨OAKS32ãã¼ãã¨ãï¼RS-232Cã±ã¼ãã«ã使ã£ã¦æ¥ç¶ããï¼
|
---|
561 | OAKS32ãã¼ãã¯UART1ãã¼ãã«æ¥ç¶ããï¼
|
---|
562 | ã»é»æºãæ¥ç¶ãï¼é»æºã¹ã¤ããããªã³ã«ããï¼
|
---|
563 |
|
---|
564 | ã»KD3083ãèµ·åããï¼
|
---|
565 | ã»Initç»é¢ã§æ¥ç¶ããPCå´ã®ãã¼ãã¨éä¿¡é度ãè¨å®ãï¼ãOKããæ¼ãï¼
|
---|
566 | ã»ã¡ãã¥ã¼ãFileâDownloadâLoad Moduleãã鏿ãï¼.x30ãã¡ã¤ã«ã鏿ããï¼
|
---|
567 | ããã¨ï¼ãã¼ãã¢ã¸ã¥ã¼ã«ãCPUãã¼ãã«è»¢éãããï¼
|
---|
568 | ãã¨ã¯ãGoããã¿ã³ãæ¼ãã°å®è¡ãéå§ãããï¼
|
---|
569 |
|
---|
570 | 4.4.3 sample1ã®å®è¡ã«å¿
|
---|
571 | è¦ãªPCå´ã®ã·ãªã¢ã«è¨å®
|
---|
572 |
|
---|
573 | ãã½ã³ã³ä¸ã§ç«¯æ«ã¨ãã¥ã¬ã¼ã¿ã½ããã¦ã§ã¢ãå®è¡ããï¼
|
---|
574 |
|
---|
575 | éä¿¡è¨å®ã¯ä»¥ä¸ã®éãï¼
|
---|
576 | ãã¼ã¬ã¼ãï¼ 38400bps
|
---|
577 | ãã¼ã¿é·ï¼8ããã
|
---|
578 | ããªãã£ï¼ãªã
|
---|
579 | ã¹ããããããï¼1ããã
|
---|
580 | ããã¼å¶å¾¡ï¼Xon/Xoff
|
---|
581 |
|
---|
582 | 5. ãã¡ã¤ã«æ§æ
|
---|
583 |
|
---|
584 | 5.1 ãã£ã¬ã¯ããªã»ãã¡ã¤ã«æ§æ
|
---|
585 |
|
---|
586 | (1) config/m32c-renesas
|
---|
587 |
|
---|
588 | api.h ã©ã¤ãã©ãªåããªãæã«ä½¿ç¨ããï¼APIå®ç¾©
|
---|
589 | cpu_config.c M32Cããã»ããµä¾åé¨ã® C 颿°
|
---|
590 | cpu_config.h M32Cããã»ããµä¾åé¨ã®æ§æå®ç¾©
|
---|
591 | cpu_context.h M32Cããã»ããµä¾åé¨ã®ã³ã³ããã¹ãæä½
|
---|
592 | cpu_defs.h M32Cããã»ããµä¾åé¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
|
---|
593 | cpu_insn.h M32Cããã»ããµã®ã¢ã»ã³ã㪠inline 颿°
|
---|
594 | cpu_rename.def ã«ã¼ãã«ã®å
|
---|
595 | é¨èå¥åã®ãªãã¼ã ã¨ãã®è§£é¤ã®å®ç¾©ãªã¹ã
|
---|
596 | cpu_rename.h ã«ã¼ãã«ã®å
|
---|
597 | é¨èå¥åã®ãªãã¼ã ã®å®ç¾©
|
---|
598 | cpu_support.a30 M32Cããã»ããµã®ã¢ã»ã³ããªé¢æ°
|
---|
599 | cpu_unrename.h ã«ã¼ãã«ã®å
|
---|
600 | é¨èå¥åã®ãªãã¼ã è§£é¤ã®å®ç¾©
|
---|
601 | makeoffset.c offset.inc çæãµãã¼ã颿°
|
---|
602 | offset.inc TCBã¡ã³ãã¸ã®ãªãã»ããå®ç¾©ãã¡ã¤ã«
|
---|
603 | start.a30 ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
|
---|
604 | tool_config.h M32Cããã»ããµã®éçºç°å¢ä¾åã¢ã¸ã¥ã¼ã«å®ç¾©
|
---|
605 | tool_defs.h M32Cããã»ããµã®éçºç°å¢ä¾åå®ç¾©
|
---|
606 |
|
---|
607 | (2) config/m32c-renesas/oak32/
|
---|
608 |
|
---|
609 | hw_serial.cfg SCI ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
|
---|
610 | hw_serial.h SCI ã®ããããã¡ã¤ã«
|
---|
611 | hw_timer.h OAKS32ç¨ã¿ã¤ãæä½ã«ã¼ãã³
|
---|
612 | Makefile.kernel ã«ã¼ãã«ã®ãã¡ã¤ã«æ§æã®å®ç¾©(M32Cç¨)
|
---|
613 | makeã³ãã³ããç¨ããm32cç¨TOPPERS/JSPã«ã¼ãã«æ§ç¯ã§ä½¿ç¨ãã
|
---|
614 | oaks32.h ããã»ããµã®å®ç¾©
|
---|
615 | sfr_uart.c OAKS32ç¨SIOãã©ã¤ãã®C颿°
|
---|
616 | sfr_uart.h OAKS32ç¨SIOãã©ã¤ãã®ããããã¡ã¤ã«
|
---|
617 | sys_config.c OAKS32ãã¼ãä¾åé¨ã® C 颿°
|
---|
618 | sys_config.h OAKS32ãã¼ãä¾åé¨ã®æ§æå®ç¾©
|
---|
619 | sys_defs.h OAKS32ãã¼ãä¾åé¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
|
---|
620 | sys_rename.def ã«ã¼ãã«ã®å
|
---|
621 | é¨èå¥åã®ãªãã¼ã ã¨ãã®è§£é¤ã®å®ç¾©ãªã¹ã
|
---|
622 | sys_rename.h ã«ã¼ãã«ã®å
|
---|
623 | é¨èå¥åã®ãªãã¼ã ã®å®ç¾©
|
---|
624 | sys_unrename.h ã«ã¼ãã«ã®å
|
---|
625 | é¨èå¥åã®ãªãã¼ã è§£é¤ã®å®ç¾©
|
---|
626 |
|
---|
627 | (3) tools/M32C-RENESAS/
|
---|
628 | çµ±åéçºç°å¢TMãç¨ãã¦TOPPERS/JSPãæ§ç¯ããããã®
|
---|
629 | ããã¸ã§ã¯ããã¡ã¤ã«ãç½®ããããã£ã¬ã¯ããª
|
---|
630 | Jsp14sample1.tmi,Jsp14sample.tmk
|
---|
631 | TMãç¨ãã¦OAKS32ç¨ã®TOPPERS/JSPãæ§ç¯ããããã®ããã¸ã§ã¯ããã¡ã¤ã«
|
---|
632 | sample1.cfg OAKS32ç¨ã®TOPPERS/JSPãæ§ç¯ããããã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
|
---|
633 |
|
---|
634 | (4) sample/
|
---|
635 |
|
---|
636 | Makefile.m32c-oaks32 GNU make ã³ãã³ãã使ç¨ãã¦TOPPERS/JSPã«ã¼ãã«ãæ§ç¯
|
---|
637 | ããããã® Makefile
|
---|