1 |
|
---|
2 | ï¼ TOPPERS/JSPã«ã¼ãã« ã¦ã¼ã¶ãºããã¥ã¢ã« ï¼
|
---|
3 | ï¼Xstormy16 ã¿ã¼ã²ããä¾åé¨ï¼
|
---|
4 |
|
---|
5 | ï¼Release 1.4.4対å¿ï¼æçµæ´æ°: 07-Dec-2010ï¼
|
---|
6 |
|
---|
7 | ------------------------------------------------------------------------
|
---|
8 | TOPPERS/JSP Kernel
|
---|
9 | Toyohashi Open Platform for Embedded Real-Time Systems/
|
---|
10 | Just Standard Profile Kernel
|
---|
11 |
|
---|
12 | Copyright (C) 2003 by Embedded and Real-Time Systems Laboratory
|
---|
13 | Toyohashi Univ. of Technology, JAPAN
|
---|
14 | Copyright (C) 2004-2010 by Embedded and Real-Time Systems Laboratory
|
---|
15 | Graduate School of Information Science, Nagoya Univ., JAPAN
|
---|
16 |
|
---|
17 | ä¸è¨è使¨©è
|
---|
18 | ã¯ï¼ä»¥ä¸ã® (1)ã(3) ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ããã¥ã¡
|
---|
19 | ã³ãï¼æ¬ããã¥ã¡ã³ããæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹
|
---|
20 | å¤ã»åé
|
---|
21 | å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
|
---|
22 | (1) æ¬ããã¥ã¡ã³ããå©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®è使¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶
|
---|
23 | ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ããã¥ã¡ã³ãä¸ã«å«ã¾ãã¦
|
---|
24 | ãããã¨ï¼
|
---|
25 | (2) æ¬ããã¥ã¡ã³ããæ¹å¤ããå ´åã«ã¯ï¼ããã¥ã¡ã³ããæ¹å¤ããæ¨ã®è¨è¿°
|
---|
26 | ãï¼æ¹å¤å¾ã®ããã¥ã¡ã³ãä¸ã«å«ãããã¨ï¼ãã ãï¼æ¹å¤å¾ã®ããã¥ã¡
|
---|
27 | ã³ããï¼TOPPERSããã¸ã§ã¯ãæå®ã®éçºææç©ã§ããå ´åã«ã¯ï¼ãã®é
|
---|
28 | ãã§ã¯ãªãï¼
|
---|
29 | (3) æ¬ããã¥ã¡ã³ãã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³
|
---|
30 | ãããï¼ä¸è¨è使¨©è
|
---|
31 | ããã³TOPPERSããã¸ã§ã¯ããå
|
---|
32 | 責ãããã¨ï¼ã¾ãï¼
|
---|
33 | æ¬ããã¥ã¡ã³ãã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãçç±ã«åºã¥
|
---|
34 | ãè«æ±ãããï¼ä¸è¨è使¨©è
|
---|
35 | ããã³TOPPERSããã¸ã§ã¯ããå
|
---|
36 | 責ãããã¨ï¼
|
---|
37 |
|
---|
38 | æ¬ããã¥ã¡ã³ãã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨è使¨©è
|
---|
39 | ãã
|
---|
40 | ã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ããã¥ã¡ã³ãã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®çã«å¯¾ã
|
---|
41 | ãé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ããã¥ã¡ã³ãã®å©ç¨
|
---|
42 | ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè²
|
---|
43 | ããªãï¼
|
---|
44 |
|
---|
45 | ------------------------------------------------------------------------
|
---|
46 |
|
---|
47 | ï¼ï¼Xstormy16 ã¿ã¼ã²ããä¾åé¨ã®æ¦è¦
|
---|
48 |
|
---|
49 | 1.1 ã¿ã¼ã²ããã·ã¹ãã ã¨éçºç°å¢
|
---|
50 |
|
---|
51 | TOPPSER/JSPå
|
---|
52 | ¬å¼å
|
---|
53 | ¬éçã§ã®Xstormy16ããã»ããµã®ã¿ã¼ã²ããã·ã¹ãã ã¨ãã¦
|
---|
54 | ã¯ãã䏿´ãã¤ã³ã³ éçºãã¼ã«(Xstormy16ã·ãªã¼ãº)ãã®EVAãããã¬ã®ã¨ãã¥
|
---|
55 | ã¬ã¼ã·ã§ã³ç°å¢ããµãã¼ããã¦ããã
|
---|
56 | ã䏿´ãã¤ã³ã³ éçºãã¼ã«(Xstormy16ã·ãªã¼ãº)ãã¯ä»¥ä¸ããå
|
---|
57 | ¥æã§ããã
|
---|
58 | http://semicon.sanyo.com/jp/micon/index.php
|
---|
59 | ãã®ä¸ã«Cã³ã³ãã¤ã©çãå«ã¾ããã
|
---|
60 | Xstormy16ã·ãªã¼ãºã®åCPUã«å¯¾å¿ããTOPPERS/JSPé¢é£ã®ãã¡ã¤ã«ã¯ãä¸è¨ã«é
|
---|
61 | æè¿½å ãããã®ã§ãéã¨ãã¥ã¬ã¼ã·ã§ã³ç°å¢ã§ã®åä½ãå®éã®è£½åéçºãè¡ã
|
---|
62 | å ´åã¯ãä¸è¨ããå
|
---|
63 | ¥æã§ããææ°çã®ãã¡ã¤ã«ã使ç¨ããå¿
|
---|
64 | è¦ãããã
|
---|
65 | ã¾ããä¸è¨éçºãã¼ã«ä¸ã«ã¯ãTOPPERS/JSPããã¼ã¹ã«ããã¤ãã®ä¿®æ£ãè¡ã£ã
|
---|
66 | ãã®ããã½ã¼ã¹ããã³ã³ã³ãã¤ã«æ¸ã¿ã®ã©ã¤ãã©ãªã®å½¢ã§ç´ãããã¦ããã®ã§ã
|
---|
67 | ã«ã¼ãã«èªèº«ãä¿®æ£ã»åã³ã³ãã¤ã«ããå¿
|
---|
68 | è¦ããªãã®ã§ããã°ãä¸è¨éçºãã¼
|
---|
69 | ã«ããã¦ã³ãã¼ãã»ã¤ã³ã¹ãã¼ã«ããã®ã¿ã§ãTOPPERS/JSPãå©ç¨ã§ããã
|
---|
70 |
|
---|
71 | 1.2 ãµãã¼ãããæ©è½ã®æ¦è¦
|
---|
72 |
|
---|
73 | Xstormy16ã§ã¯ãJSPã§æ¡å¼µããã以ä¸ã®æ©è½ã¯ãµãã¼ããã¦ããªãã
|
---|
74 | (1) å²è¾¼ã¿ãã¹ã¯ã®å¤æ´ã»åç
|
---|
75 | §(chg_ixx/get_ixx)
|
---|
76 | (2) å²è¾¼ã¿ã®ç¦æ¢ã¨è¨±å¯(dis_int/ena_int)
|
---|
77 | (3) æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
|
---|
78 | §æ©è½(vxget_tim)
|
---|
79 | Xstormy16ã§ã¯ãå²ãè¾¼ã¿ã®è¨±å¯ã»ç¦æ¢ããã³ã¬ãã«(åªå
|
---|
80 | 度)ãSFR(IL1L-IL2H)
|
---|
81 | ã§ç®¡çããã¦ãããããä¸è¨APIã«é©åããªãããããã®å¤æ´ã¯SFRã¸ã®è¨å®ã«
|
---|
82 | ãã£ã¦å¤æ´ããå¿
|
---|
83 | è¦ãããã
|
---|
84 |
|
---|
85 | 1.3 ä»ã®ã¿ã¼ã²ããã¸ã®ãã¼ãã£ã³ã°
|
---|
86 |
|
---|
87 | Xstormy16ã·ãªã¼ãºã®(LC590200ãé¤ã)å
|
---|
88 | ¨ã¦ã®CPUã§ã¯CPUã³ã¢èªèº«ã®æ©è½ããã³
|
---|
89 | ã¿ã¤ã ã¹ãã£ãã¯ä¾çµ¦ç¨ã®ã¿ã¤ãã¯åä¸ã®ä»æ§ã§å®è£
|
---|
90 | ããã¦ãããã¾ãSIOãå®
|
---|
91 | è£
|
---|
92 | ããã¦ããæ©ç¨®ã§ã¯å
|
---|
93 | ¨ã¦åä¸ã®ä»æ§ã¨ãªã£ã¦ããã®ã§ãä»ã®ã¿ã¼ã²ããã¸ã®
|
---|
94 | ãã¼ãã£ã³ã°ãè¡ãæã«ãã«ã¼ãã«èªèº«ã¯ä¿®æ£ããå¿
|
---|
95 | è¦ã¯ãªãã
|
---|
96 | å®è£
|
---|
97 | ããã¦ããã¡ã¢ãªãµã¤ãºã«å¿ãããªã³ã«ã¼ã¹ã¯ãªããçãã¿ã¼ã²ããæ¯ã«
|
---|
98 | ä¿®æ£ãå¿
|
---|
99 | è¦ãªãã¡ã¤ã«ã¯ãä¸è¨ã䏿´ãã¤ã³ã³ éçºãã¼ã«(Xstormy16ã·ãªã¼ãº)ã
|
---|
100 | ã«å«ã¾ãã¦ããã®ã§ãããã使ç¨ããã
|
---|
101 |
|
---|
102 | 1.4 ã·ãªã¢ã«ãã¼ã (UART)
|
---|
103 |
|
---|
104 | EVAãããã¬ã§ã¯ãã¨ãã¥ã¬ã¼ã·ã§ã³ç°å¢ã»éã¨ãã¥ã¬ã¼ã·ã§ã³ç°å¢ã¨ãã«UART0
|
---|
105 | ã¨UART1ã®2æ¬ã®ã·ãªã¢ã«ãã¼ããæã¤ãã¾ããå®CPUã§ãåæ§ã®ä»æ§ã§UARTãæ
|
---|
106 | ã¤æ©ç¨®ãããã
|
---|
107 | TOPPERS/JSPã®ãã°åºåãããã³printf()/scanf()çã®æ¨æºå
|
---|
108 | ¥åºåã«ã¯ããã®å
|
---|
109 |
|
---|
110 | UART0ãç¨ããã(sys_config.hã®LOGTASK_PORTIDã§å¤æ´å¯è½)
|
---|
111 | ã·ãªã¢ã«ãã¼ãã®è¨å®ã以ä¸ã«ç¤ºãã
|
---|
112 | ã»ãã¼ã¬ã¤ãã57600Baud
|
---|
113 | ã»ãã¼ã¿é·ã8 ããã
|
---|
114 | ã»ã¹ããããããã1 ããã
|
---|
115 | ã»ããªãã£ãªã
|
---|
116 | ã»ããã¼å¶å¾¡ãªã
|
---|
117 |
|
---|
118 | ï¼ï¼Xstormy16 ããã»ããµä¾åé¨ã®æ©è½
|
---|
119 |
|
---|
120 | ãã®ç¯ã§ã¯ãã«ã¼ãã«ããã³ã·ã¹ãã ãµã¼ãã¹ã®æ©è½ã®ä¸ã§ãXstormy16ä¾åã®
|
---|
121 | é¨åã«ã¤ãã¦è§£èª¬ããã
|
---|
122 |
|
---|
123 | 2.1 ãã¼ã¿å
|
---|
124 |
|
---|
125 | signed intåããã³ unsigned intåã®ãµã¤ãºã¯ 16ãããã§ããã
|
---|
126 |
|
---|
127 | 2.2 å²è¾¼ã¿ç®¡çæ©è½ã¨å²è¾¼ã¿ãã³ãã©
|
---|
128 |
|
---|
129 | 2.2.1 ã«ã¼ãã«ç®¡çå¤ã®å²ãè¾¼ã¿
|
---|
130 |
|
---|
131 | ãXstormy16ããã°ã©ãã¼ãºã¬ã¤ãã2.4ç« ã«è¨è¿°ãããæ¹æ³ã§å®ç¾©ãããå²ã
|
---|
132 | è¾¼ã¿å¦çã«ã¼ãã³ã¯ãã«ã¼ãã«ç®¡çå¤ã®å²ãè¾¼ã¿ã¨ãã¦æ©è½ããã
|
---|
133 | ã«ã¼ãã«ç®¡çå¤ã®å²ãè¾¼ã¿ã¯ã«ã¼ãã«ã«é¢é£ããä½åãªãªã¼ãã¼ããããå°ãª
|
---|
134 | ãé«éã§ããå©ç¹ãããåé¢ã以ä¸ã®ç¹ã«æ³¨æããå¿
|
---|
135 | è¦ãããã
|
---|
136 | (1) ã«ã¼ãã«ç®¡çå¤ã®å²ãè¾¼ã¿ã®åªå
|
---|
137 | 度ã¯ãå
|
---|
138 | ¨ã¦ã®ã«ã¼ãã«ç®¡çã®å²ãè¾¼ã¿ã®
|
---|
139 | åªå
|
---|
140 | 度ãããé«ããªããã°ãªããªãã(ã«ã¼ãã«ç®¡çå¤ã®å²ãè¾¼ã¿å¦çä¸ã«
|
---|
141 | ã«ã¼ãã«ç®¡çã®å²ãè¾¼ã¿ãåãä»ããã¨ãããã§ãã£ã¹ããããçºçãã
|
---|
142 | ã«ã¼ãã«ç®¡çå¤ã®å²ãè¾¼ã¿ã®å¦çãéä¸ã§ä¸æãã¦ãã¾ãå¯è½æ§ãããã
|
---|
143 | ãã)
|
---|
144 | ã䏿´ãã¤ã³ã³ éçºãã¼ã«(Xstormy16ã·ãªã¼ãº)ãã«å«ã¾ããçã§ã¯ã"é
|
---|
145 | ã¿ã¹ã¯ã³ã³ããã¹ãããã®ãµã¼ãã¹ã³ã¼ã«ã®é
|
---|
146 | å»¶å®è¡"ãæ¡ç¨ãã¦ããããã
|
---|
147 | ãã®å¶éã¯ãªãã
|
---|
148 | (2) ã«ã¼ãã«ç®¡çå¤ã®å²ãè¾¼ã¿ã®å²ãè¾¼ã¿å¦çã«ã¼ãã³ã§ã¯ãã«ã¼ãã«ãµã¼ã
|
---|
149 | ã¹ãå¼ã³åºãã¦ã¯ãªããªãã
|
---|
150 | (3) ã«ã¼ãã«ç®¡çå¤ã®å²ãè¾¼ã¿ã§ã¯ããã®çºçæã®ã¹ã¿ãã¯ããã®ã¾ã¾ç¨ãã
|
---|
151 | ãããå
|
---|
152 | ¨ã¦ã®ã¿ã¹ã¯ã®ã¹ã¿ãã¯ã®å®¹éã«ãã®å¿
|
---|
153 | è¦åãå
|
---|
154 | ¥ãã¦ããå¿
|
---|
155 | è¦ãã
|
---|
156 | ãã
|
---|
157 | (4) ã«ã¼ãã«ç®¡çå¤ã®å²ãè¾¼ã¿ããCPUããã¯ç¶æ
|
---|
158 | ã§ã¯åãä»ããããªãã
|
---|
159 | å
|
---|
160 | ¬å¼å
|
---|
161 | ¬éçã®Xstormy16ç¨TOPPERS/JSPã§ã¯ã大é¨åã®ãµã¼ãã¹ã³ã¼ã«ãå
|
---|
162 |
|
---|
163 | é¨ã§ã¯CPUããã¯ç¶æ
|
---|
164 | ã¨ãªã£ã¦ããã®ã§æ³¨æãå¿
|
---|
165 | è¦ã
|
---|
166 | ã䏿´ãã¤ã³ã³ éçºãã¼ã«(Xstormy16ã·ãªã¼ãº)ãã«å«ã¾ããçã§ã¯ããµã¼
|
---|
167 | ãã¹ã³ã¼ã«å
|
---|
168 | ã§CPUãããã¯ããªããå²ãè¾¼ã¿ãã³ãã©ã®å
|
---|
169 | ¥ãå£ã»åºå£å¦ç
|
---|
170 | çã§æå¤§12ã¯ããã¯ã®CPUããã¯ã®åºéãããã
|
---|
171 |
|
---|
172 | 2.2.2 å²è¾¼ã¿ãã³ãã©çªå·
|
---|
173 |
|
---|
174 | DEF_INH ã§æå®ããå²è¾¼ã¿ãã³ãã©çªå·(inhno)ã¯ãXstormy16 ã§ã®å²ãè¾¼ã¿
|
---|
175 | ãã¯ã¿çªå·ã表ãããã®ãã¼ã¿å(INHNO)㯠unsigned intåã«å®ç¾©ããã¦ããã
|
---|
176 | å²ãè¾¼ã¿ãã³ãã©çªå·ã«ã¯ã0-16ãæå®ã§ããEVAãããã¬ã®ã¨ãã¥ã¬ã¼ã·ã§ã³
|
---|
177 | ç°å¢ã§ã¯ã以ä¸ãå®è£
|
---|
178 | ããã¦ããã
|
---|
179 | 1 : Base Timer (ã¢ããªã±ã¼ã·ã§ã³ã§ä½¿ç¨å¯)
|
---|
180 | 2 : Timer0 (ã¿ã¤ã ã¹ãã£ãã¯ä¾çµ¦ç¨ã«ä½¿ç¨)
|
---|
181 | 3 : Timer1 (ã¢ããªã±ã¼ã·ã§ã³ã§ä½¿ç¨å¯)
|
---|
182 | 16 : UART (ãã°åºåã»æ¨æºå
|
---|
183 | ¥åºåã§ä½¿ç¨)
|
---|
184 | å®CPUã§ä½¿ç¨å¯è½ãªå²ãè¾¼ã¿ã¨ä¾å¤ãã¯ã¿çªå·ã«ã¤ãã¦ã¯ãããããã®ãã¤ã³ã³
|
---|
185 | ã®ã¦ã¼ã¶ã¼ãºããã¥ã¢ã«ãåç
|
---|
186 | §ã
|
---|
187 |
|
---|
188 | 2.2.3 åã
|
---|
189 | ã®å²ãè¾¼ã¿ã®è¨±å¯ã»ç¦æ¢ã¨åªå
|
---|
190 | 度
|
---|
191 |
|
---|
192 | Xstormy16ã§ã¯ãåã
|
---|
193 | ã®å²ãè¾¼ã¿ã®è¨±å¯ã»ç¦æ¢ã¨åªå
|
---|
194 | 度ã¯ã«ã¼ãã«ã§ã¯ç®¡çããª
|
---|
195 | ãããããã®å¶å¾¡ã¯IL1L/IL1H/IL2L/IL2Hã¸ã®è¨å®ã§è¡ãã
|
---|
196 |
|
---|
197 | 2.3 CPUä¾å¤ç®¡çæ©è½ã¨CPUä¾å¤ãã³ãã©
|
---|
198 |
|
---|
199 | DEF_EXC ã§æå®ããå²è¾¼ã¿ãã³ãã©çªå·ã®ãã¼ã¿å(EXCNO)㯠unsigned int
|
---|
200 | åã«å®ç¾©ããã¦ããã以ä¸ã®çªå·ãæå®å¯è½ã§ããã
|
---|
201 | 0 : æªå®ç¾©å½ä»¤ã®å®è¡
|
---|
202 | 1 : 奿°çªå°ã¸ã®ã¯ã¼ãã¢ã¯ã»ã¹
|
---|
203 | 2 : ROM/RAMæªå®è£
|
---|
204 | ã¨ãªã¢ã¸ã®ã¢ã¯ã»ã¹
|
---|
205 |
|
---|
206 | 2.4 ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
|
---|
207 |
|
---|
208 | Xstormy16ä¾åã®ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«(start.S)ã§ã¯ã次ã®åæåå¦çã
|
---|
209 | è¡ãã
|
---|
210 | (1) ã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå
|
---|
211 | (2) .bssã»ã¯ã·ã§ã³ã®åæå
|
---|
212 | (3) .dataã»ã¯ã·ã§ã³ã®åæå
|
---|
213 | (4) ã«ã¼ãã«ã®èµ·å(kernel_startã¸åå²)
|
---|
214 |
|
---|
215 | 2.5 éã¿ã¹ã¯ã³ã³ããã¹ãã®ä½¿ç¨ããã¹ã¿ãã¯
|
---|
216 |
|
---|
217 | Xstormy16ã§ã¯ãå²ãè¾¼ã¿ãã³ãã©ãå«ãéã¿ã¹ã¯ã³ã³ããã¹ãç¨ã®ã¹ã¿ãã¯ã¨
|
---|
218 | ãã¦ãéç夿°ãã¿ã¹ã¯ç¨ã¹ã¿ãã¯ã確ä¿ããå¾ã®æ®ãã®RAMã使ç¨ããã
|
---|
219 | ã¿ã¹ã¯å®è¡ä¸ã«å²ãè¾¼ã¿ãçºçããå ´åãå²ãè¾¼ã¿ãã³ãã©ãå¼ã³åºãããå
|
---|
220 | ã«ã«ã¼ãã«å
|
---|
221 | ã§ã¹ã¿ãã¯ãã¤ã³ã¿ãéã³ã³ããã¹ãç¨ã®ã¹ã¿ãã¯ã«åãæ¿ãã
|
---|
222 | ãããåã¿ã¹ã¯ç¨ã®ã¹ã¿ãã¯ã®å¿
|
---|
223 | è¦ãªãµã¤ãºã決ããæã«å²ãè¾¼ã¿ãã³ãã©å
|
---|
224 |
|
---|
225 | ã§ä½¿ç¨ãããã¹ã¿ãã¯ãèæ
|
---|
226 | ®ããå¿
|
---|
227 | è¦ã¯ãªãã
|
---|
228 | ããããå²ãè¾¼ã¿çºçæã®PCã¨PSWããã³R0-R2ã¾ã§ã®ä¿åã¯ã¹ã¿ãã¯ã®åãæ¿
|
---|
229 | ãåã«è¡ãããããã12ãã¤ãåã®ã¨ãªã¢ã¯ã¿ã¹ã¯ç¨ã®ã¹ã¿ãã¯ã§ç¢ºä¿ãã¦ã
|
---|
230 | ãå¿
|
---|
231 | è¦ãããã
|
---|
232 | ã¯ã¼ã¹ãã±ã¼ã¹ã¨ãªãã®ã¯ãã¬ãã«ï¼ã®å²ãè¾¼ã¿ã§ã¹ã¿ãã¯ãåãæ¿ããç´å
|
---|
233 | ã«ã¬ãã«ï¼ã®å²ãè¾¼ã¿ãçºçãããã«ã¬ãã«2å²ãè¾¼ã¿ã§ã®ã¹ã¿ãã¯åãæ¿ãç´
|
---|
234 | åã«ã¬ãã«ï¼å²ãè¾¼ã¿çºçã»ã»ã»ã¨ãªããããªå ´åã§ããã®å¿
|
---|
235 | è¦ãªã¨ãªã¢ã¯ã
|
---|
236 | 12 à (ãã¹ããã¦çºçããå¯è½æ§ã®ããå²ãè¾¼ã¿ã¬ãã«ã®æ°) ã«ãªãããã®å
|
---|
237 | ã®ã¨ãªã¢ã¯ã¿ã¹ã¯ã®ã¹ã¿ãã¯ã«ç¢ºä¿ãã¦ããå¿
|
---|
238 | è¦ããã
|
---|
239 |
|
---|
240 | 3. ã·ã¹ãã ä¾åé¨ã®æ©è½
|
---|
241 |
|
---|
242 | 3.1 ã·ã¹ãã ã¯ããã¯ãã©ã¤ã
|
---|
243 |
|
---|
244 | ã·ã¹ãã ã¯ããã¯ãã©ã¤ãã«ä½¿ç¨ããTIMER0ã®ãªã·ã¬ã¼ã¿ã¯ããã©ã«ãã§ã¯
|
---|
245 | Xstormy16å
|
---|
246 | èã®RCçºä¿¡ãç¨ãã¦ããã(ç´1MHz)
|
---|
247 | ã·ã¹ãã ã¯ããã¯ãã©ã¤ãã isig_tim ãå¼ã³åºã卿ã¯ãsys_defs.h ä¸ã®
|
---|
248 | TIC_NUME 㨠TIC_DENO ã§å®ç¾©ããã¦ãã(æ¨æºã¯ 5ããªç§å¨æ)ã
|
---|
249 | å
|
---|
250 | èRCçºä¿¡ãç¨ãã¦5ããªç§å¨æã§ã¿ã¤ã ãã£ãã¯ãä¾çµ¦ãããã©ã¤ãã¯ã«ã¼
|
---|
251 | ãã«ã©ã¤ãã©ãªä¸(ã½ã¼ã¹ã¯hw_timer.c)ã«å«ã¾ãã¦ãããããã©ã«ãã§ã¯ãã
|
---|
252 | ããªã³ã¯ãããããã¦ã¼ã¶ã¼ããã°ã©ã å´ã§hw_timer.cãä¿®æ£ãããã®ã使
|
---|
253 | ããªã³ã¯ãããã¨ã§ã使ç¨ãããªã·ã¬ã¼ã¿ã»å²ãè¾¼ã¿ã®å¨æãä»»æã«å¤æ´ãã
|
---|
254 | ãã¨ãã§ããããã®å ´åãå¼ã³åºã卿ãCPUã¯ããã¯ã«å¯¾ãã¦ååã«é·ãå¿
|
---|
255 |
|
---|
256 | è¦ãããã(ç®å®ã¨ãã¦ãå¼ã³åºã卿 >2000/CPUã¯ããã¯)
|
---|
257 | Xstormy16å
|
---|
258 | èã®RCçºä¿¡ã¯ããã®å¨æ³¢æ°ã®ç²¾åº¦ãä½ããããã¿ã¤ãã®ç²¾åº¦ãå¿
|
---|
259 | è¦
|
---|
260 | ãªå ´åã¯ãå¤é¨X'talãªã·ã¬ã¼ã¿çã«åãæ¿ããå¿
|
---|
261 | è¦ãããã
|
---|
262 |
|
---|
263 | 3.2 ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ã
|
---|
264 |
|
---|
265 | ã·ã¹ãã ä¾åé¨ã®ã·ãªã¢ã«ã¤ã³ã¿ã¼ãã§ã¼ã¹ãã©ã¤ãã¯ãUART0/UART1ã®ï¼ã¤ã®
|
---|
266 | ã·ãªã¢ã«ã¤ã³ã¿ã¼ãã§ã¼ã¹ããµãã¼ããã¦ããããã¼ãID=1ãUART0ããã¼ãID=2
|
---|
267 | ãUART1ã«å¯¾å¿ãã¦ããã
|
---|
268 | ã·ã¹ãã ãã°çã§ç¨ããããã©ã«ãã®ã·ãªã¢ã«ãã¼ãã¯ãUART0ã«è¨å®ãã¦ããã
|
---|
269 |
|
---|
270 | 3.3 ã¡ã¢ãªããã
|
---|
271 |
|
---|
272 | EVAãããã¬ã®ã¨ãã¥ã¬ã¼ã·ã§ã³ç°å¢ã®ã¡ã¢ãªãããã¯ä»¥ä¸ã®ã¨ããã§ããã
|
---|
273 | 00000-077FF : RAM
|
---|
274 | 07E00-07FFF : SFR(Special Function Register)
|
---|
275 | 08000-7FFFF : ROM
|
---|
276 | ã«ã¼ãã«ç¨ã®ãã¼ã¿é åã»ã¦ã¼ã¶ã¼ããã°ã©ã ç¨ã®ãã¼ã¿é åãããã³ã¿ã¹ã¯
|
---|
277 | ç¨ã®ã¹ã¿ãã¯ã00000çªå°ãã確ä¿ããæ®ãã®RAMãéã¿ã¹ã¯ã³ã³ããã¹ãç¨ã®
|
---|
278 | ã¹ã¿ãã¯(ä¸ä½ãã)ãããã³ãã¼ãã¡ã¢ãª(ä¸ä½ãã)ã¨ãã¦ä½¿ç¨ããã
|
---|
279 |
|
---|
280 | ï¼ï¼éçºç°å¢ã®æ§ç¯
|
---|
281 |
|
---|
282 | 4.1 䏿´æä¾ã®ãã¡ã¤ã«ãå©ç¨ããå ´å
|
---|
283 |
|
---|
284 | ã䏿´ãã¤ã³ã³ éçºãã¼ã«(Xstormy16ã·ãªã¼ãº)ãã«ã¯ãã³ã³ãã¤ã«æ¸ã¿ã®ã©
|
---|
285 | ã¤ãã©ãªå½¢å¼ã®JPSã«ã¼ãã«ãå«ããã³ã³ãã¤ã©ã»ãããã¬ã»çµ±åéçºç°å¢çã
|
---|
286 | Windowsä¸ã§éçºã«å¿
|
---|
287 | è¦ãªå
|
---|
288 | ¨ã¦ã®ãã¡ã¤ã«ãå«ã¾ãã¦ããã®ã§ãé常ã¯ãããã
|
---|
289 | ãã¦ã³ãã¼ãã»ã¤ã³ã¹ãã¼ã«ãããã¨ã§TOPERS/JSPãå©ç¨ã§ããã
|
---|
290 | ã䏿´ãã¤ã³ã³ éçºãã¼ã«(Xstormy16ã·ãªã¼ãº)ãã¯
|
---|
291 | http://semicon.sanyo.com/jp/micon/index.php
|
---|
292 | ãããã¦ã³ãã¼ãã§ããã
|
---|
293 | éçºãã¼ã«ã«å«ã¾ããä¸è¨ã®ããã¥ã¡ã³ããåç
|
---|
294 | §ã®ãã¨ã
|
---|
295 | ã»TOPPERS/JSPã¦ã¼ã¶ã¼ã®ããã®ãã¡ã¼ã¹ãã¹ãããã¬ã¤ã
|
---|
296 | ã»Xstormy16 ããã°ã©ãã¼ãºã¬ã¤ã
|
---|
297 |
|
---|
298 | 4.2 ãã®å
|
---|
299 | ¬å¼å
|
---|
300 | ¬éçãå©ç¨ããå ´å
|
---|
301 |
|
---|
302 | ãã®å
|
---|
303 | ¬å¼å
|
---|
304 | ¬éçãå©ç¨ããå ´åã以ä¸ã®æé ã§éçºç°å¢ãæ§ç¯ããã
|
---|
305 |
|
---|
306 | Step1 䏿´ãã¤ã³ã³ éçºãã¼ã«(Xstormy16ã·ãªã¼ãº)ã®ã¤ã³ã¹ãã¼ã«
|
---|
307 | [å
|
---|
308 | ¥æå
|
---|
309 | ]
|
---|
310 | http://semicon.sanyo.com/jp/micon/index.php
|
---|
311 | [ã¤ã³ã¹ãã¼ã«æé ]
|
---|
312 | (1) ã¢ã¼ã«ã¤ããè§£åããã¤ã³ã¹ãã¼ã©ãå®è¡ããã
|
---|
313 | (2) ã¤ã³ã¹ãã¼ã©ããã®åãåããã«ã¯ãå
|
---|
314 | ¨ã¦ããã©ã«ãã§ã¤ã³ã¹ãã¼ã«
|
---|
315 | (3) ã¤ã³ã¹ãã¼ã«ãããIDEãèµ·å
|
---|
316 | (4) IDEã®ã¡ãã¥ã¼[ãã¼ã«]->[DOSããã³ãã]ãèµ·å
|
---|
317 | (5) DOSããã³ããå
|
---|
318 | ã§ãã³ãã³ã"Prepare_perl.bat"ãå®è¡(ã¤ã³ã¹ãã¼ã«å¾
|
---|
319 | ä¸åº¦ã ãå®è¡ããã°è¯ã)
|
---|
320 |
|
---|
321 | Step2 TOPPERS/JSPã®å
|
---|
322 | ¥æã¨æºå
|
---|
323 | [å
|
---|
324 | ¥æå
|
---|
325 | ]
|
---|
326 | http://www.toppers.jp/
|
---|
327 | ãããããTOPPERS/JSP Ver1.4.4ã®ã½ã¼ã¹ã³ã¼ã(SJISç)ããã¦ã³ãã¼ãã
|
---|
328 | [æé ]
|
---|
329 | (1) ã½ã¼ã¹ã¢ã¼ã«ã¤ããä»»æã®ãã£ã¬ã¯ããª(ããã§ã¯C:\jspã¨ãã)ã«è§£å
|
---|
330 | (2) Step1ã§ã¤ã³ã¹ãã¼ã«ãããä¸è¨ã®ãã£ã¬ã¯ããªã«ããcfg.exeã¨chk.exe
|
---|
331 | ãC:\jsp\cfgã«ã³ãã¼ãã¦ãã
|
---|
332 | C:\Program Files\SanyoX16\Gcc\for_toppers\bin
|
---|
333 | (3) è§£åãããã£ã¬ã¯ããªã®ä¸ã«ä½æ¥ç¨ãã£ã¬ã¯ããªobj(ããã§ã¯C:\jsp\obj)
|
---|
334 | ã使
|
---|
335 |
|
---|
336 | Step3 JSPã«ã¼ãã«ã¨ãµã³ãã«ããã°ã©ã ã®ã³ã³ãã¤ã«
|
---|
337 | (1) Step1(4)ã§éããDOSããã³ããã§ãStep2(3)ã§ä½æãããã£ã¬ã¯ããª
|
---|
338 | (C:\jsp\obj)ã«ç§»åããã
|
---|
339 | (2) 以ä¸ã®ã³ãã³ããå®è¡
|
---|
340 | æ£å¸¸ã«å®è¡ãããã°ãC:\jsp\obj\jsp.elf ã使ããã
|
---|
341 | perl ../configure -C xstormy16 -S simulator
|
---|
342 | make depend
|
---|
343 | make
|
---|
344 | (3) DOSããã³ãããéãã
|
---|
345 |
|
---|
346 | Step4 EVAãããã¬ã¨ãã¥ã¬ã¼ã·ã§ã³ç°å¢ã§ã®å®è¡
|
---|
347 | [æé ]
|
---|
348 | (1) Windowsã«æ»ããStep3(2)ã§ä½æãããC:\jsp\obj\jsp.elfãããã«ã¯ãª
|
---|
349 | ãã¯ãã¦EVAãããã¬ãèµ·åããã
|
---|
350 | (2) ãã¨ãã¥ã¬ã¼ã·ã§ã³ã¢ã¼ãã§èµ·åãã¾ããã®åãã«ãã¯ãããã¯ãªãã¯ã§
|
---|
351 | EVAãããã¬ãã¨ãã¥ã¬ã¼ã·ã§ã³ã¢ã¼ãã§èµ·å
|
---|
352 | (3) F5ãæ¼ãã¦ããã°ã©ã ãéå§ããã¨ãUSERã¦ã£ã³ãã¦ã«ä»¥ä¸ã®è¡¨ç¤ºãåºã
|
---|
353 | ã°æ£å¸¸ã«åä½ãã¦ãã
|
---|
354 | JSP Kernel Release......
|
---|
355 | : ä¸ç¥
|
---|
356 | task1 is running (001). |
|
---|
357 | task1 is running (002). |
|
---|
358 | :
|
---|
359 | (4) USERã¦ã£ã³ãã¦ä¸ã®ã³ãã³ãå
|
---|
360 | ¥åæ¬ã«ä»¥ä¸ã®ã³ãã³ããå
|
---|
361 | ¥å
|
---|
362 | < t[Enter] ('<'ã¨'t'ã®éã«ã¹ãã¼ã¹ãå¿
|
---|
363 | è¦)
|
---|
364 | task1ãter_tskãããtask2ãåãåºãã
|
---|
365 | (ãµã³ãã«ããã°ã©ã ã§ä½¿ç¨ã§ãã't'以å¤ã®ã³ãã³ãã«ã¤ãã¦ã¯ãsample1.c
|
---|
366 | é ã®ã³ã¡ã³ãåç
|
---|
367 | §)
|
---|
368 |
|
---|
369 | ï¼ï¼ãã®ä»
|
---|
370 |
|
---|
371 | 5.1 ãã£ã¬ã¯ããªã»ãã¡ã¤ã«æ§æ
|
---|
372 |
|
---|
373 | Xstormy16 ã¿ã¼ã²ããä¾åé¨ã®åãã¡ã¤ã«ã®æ¦è¦ã¯æ¬¡ã®éãã
|
---|
374 |
|
---|
375 | config/xstormy16/
|
---|
376 | Makefile.config Makefile ã® Xstormy16ä¾åå®ç¾©
|
---|
377 | cpu_config.c ããã»ããµä¾åé¨ã®é¢æ°
|
---|
378 | cpu_config.h ããã»ããµä¾åé¨ã®æ§æå®ç¾©
|
---|
379 | cpu_context.h ã³ã³ããã¹ãæä½
|
---|
380 | cpu_defs.h ããã»ããµä¾åé¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
|
---|
381 | cpu_insn.h ã¤ã³ã©ã¤ã³ã¢ã»ã³ãã©ã«ã¼ãã³ã®å®ç¾©
|
---|
382 | cpu_rename.def ã«ã¼ãã«ã®å
|
---|
383 | é¨èå¥åã®ãªãã¼ã å®ç¾©
|
---|
384 | cpu_rename.h ã«ã¼ãã«ã®å
|
---|
385 | é¨èå¥åã®ãªãã¼ã
|
---|
386 | cpu_unrename.h ã«ã¼ãã«ã®å
|
---|
387 | é¨èå¥åã®ãªãã¼ã è§£é¤
|
---|
388 | cpu_sfrs.h ã«ã¼ãã«å
|
---|
389 | ã§ä½¿ç¨ããSFRã®å®ç¾©
|
---|
390 | cpu_stdio.h æ¨æºå
|
---|
391 | ¥åºåãµãã¼ãã®ããã®é¢æ°
|
---|
392 | cpu_support.S ããã»ããµä¾åé¨ã®ãµãã«ã¼ãã³
|
---|
393 | hw_serial.h SIOãã©ã¤ãã®æ§æå®ç¾©
|
---|
394 | hw_serial.c SIOãã©ã¤ãã®é¢æ°
|
---|
395 | hw_serial.cfg SIOãã©ã¤ãã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
|
---|
396 | hw_timer.h ã¿ã¤ããã©ã¤ãã®æ§æå®ç¾©
|
---|
397 | hw_timer.c ã¿ã¤ããã©ã¤ãã®é¢æ°
|
---|
398 | offset.h ã¢ã»ã³ãã©ããCæ§é ä½ã¢ã¯ã»ã¹ã®ããã®å®ç¾©
|
---|
399 | start.S ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
|
---|
400 | tool_config.h éçºç°å¢ä¾åé¨ã®æ§æå®ç¾©
|
---|
401 | tool_defs.h éçºç°å¢ä¾åé¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
|
---|
402 | config/xstormy16/simulator/
|
---|
403 | Makefile.config Makefile ã® ã·ã¹ãã ä¾åå®ç¾©
|
---|
404 | LC88F0099.ld ã¨ãã¥ã¬ã¼ã·ã§ã³ç°å¢ç¨ãªã³ã«ã¼ã¹ã¯ãªãã
|
---|
405 | LC88F0099.S EVAãããã¬ã®ããã®æ©ç¨®æ
|
---|
406 | å ±
|
---|
407 | sys_config.c ã·ã¹ãã ä¾åé¨ã®é¢æ°
|
---|
408 | sys_config.h ã·ã¹ãã ä¾åé¨ã®æ§æå®ç¾©
|
---|
409 | sys_defs.h ã·ã¹ãã ä¾åé¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
|
---|
410 | sys_rename.def ã«ã¼ãã«ã®å
|
---|
411 | é¨èå¥åã®ãªãã¼ã å®ç¾©
|
---|
412 | sys_rename.h ã«ã¼ãã«ã®å
|
---|
413 | é¨èå¥åã®ãªãã¼ã
|
---|
414 | sys_unrename.h ã«ã¼ãã«ã®å
|
---|
415 | é¨èå¥åã®ãªãã¼ã è§£é¤
|
---|
416 |
|
---|
417 | 以ä¸
|
---|