1 |
|
---|
2 | TOPPERS/SSPJ[l
|
---|
3 | [U[Y}j
|
---|
4 | A
|
---|
5 |
|
---|
6 | Îo[W: Release 1.3.0
|
---|
7 | ÅIXV: 2015N519ú
|
---|
8 |
|
---|
9 | ±ÌhL
|
---|
10 | gÍCTOPPERS/SSPJ[lðgp·é½ßÉKvÈðà¾
|
---|
11 | ·éàÌÅ éD
|
---|
12 |
|
---|
13 | ----------------------------------------------------------------------
|
---|
14 | TOPPERS/SSP Kernel
|
---|
15 | Smallest Set Profile Kernel
|
---|
16 |
|
---|
17 | Copyright (C) 2011-2013 by Meika Sugimoto
|
---|
18 | Copyright (C) 2014,2015 by Naoki Saito
|
---|
19 | Nagoya Municipal Industrial Research Institute, JAPAN
|
---|
20 |
|
---|
21 | ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
|
---|
22 | Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü
|
---|
23 | ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD
|
---|
24 | (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
|
---|
25 | \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
|
---|
26 | XR[hÉÜÜêĢ鱯D
|
---|
27 | (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg
|
---|
28 | pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL
|
---|
29 | gip
|
---|
30 | Ò}j
|
---|
31 | AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
|
---|
32 | Ì³ÛØKèðfÚ·é±ÆD
|
---|
33 | (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg
|
---|
34 | pūȢ`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
|
---|
35 | ÆD
|
---|
36 | (a) Äzzɺ¤hL
|
---|
37 | gipÒ}j
|
---|
38 | AÈÇjÉCãLÌ
|
---|
39 | ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
|
---|
40 | (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
|
---|
41 | ñ·é±ÆD
|
---|
42 | (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹
|
---|
43 | Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
|
---|
44 | ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé
|
---|
45 | RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð
|
---|
46 | ÆÓ·é±ÆD
|
---|
47 |
|
---|
48 | {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
|
---|
49 | æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
|
---|
50 | ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF
|
---|
51 | AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»
|
---|
52 | ÌÓCðíÈ¢D
|
---|
53 |
|
---|
54 | ----------------------------------------------------------------------
|
---|
55 |
|
---|
56 | Ú
|
---|
57 |
|
---|
58 | PDTOPPERS/SSPJ[lÌTv
|
---|
59 | 1.1 TOPPERS/SSPJ[lÌÊut¯
|
---|
60 | 1.2 TOPPERS/SSPJ[lÌdl
|
---|
61 | 1.3 ùmÌâè
|
---|
62 | QD^[Qbg˶
|
---|
63 | 2.1 ^[Qbg˶ÌTv
|
---|
64 | 2.2 ÈÕpbP[W
|
---|
65 | 2.3 ÂÊpbP[W
|
---|
66 | RDNCbNX^[gKCh
|
---|
67 | 3.1 J«Ìõ
|
---|
68 | 3.2 RtBM
|
---|
69 | [^Ì\z
|
---|
70 | 3.3 TvvOÌ\zÆÀs
|
---|
71 | 3.4 J[lðÖPÊÅCu»·éû@
|
---|
72 | 3.5 AvP[VÆJ[lðÊXÉ\z·éû@
|
---|
73 | SDfBNg\¬Et@C\¬
|
---|
74 | 4.1 zzpbP[WÌfBNg\¬
|
---|
75 | 4.2 ^[Qbgñ˶Ìt@C\¬
|
---|
76 | TDRtBM
|
---|
77 | [VXNvgÌg¢û
|
---|
78 | UDMakefileÌC³û@
|
---|
79 | 6.1 MakefileÌÏè`
|
---|
80 | 6.2 RpCIvV
|
---|
81 | VDRtBM
|
---|
82 | [^Ìg¢û
|
---|
83 | WDVXeT[rX
|
---|
84 | 8.1 VAC^tF[XhCo
|
---|
85 | 8.1.1 VAC^tF[XhCoÌT[rXR[
|
---|
86 | 8.1.2 VAC^tF[XhCo̻̼ÌT[rX
|
---|
87 | 8.2 J[lN®bZ[WÌoÍ
|
---|
88 | XDT|[gCu
|
---|
89 | 9.1 L
|
---|
90 | [ìCuÖ
|
---|
91 | PODgpãÌÓÆqg
|
---|
92 | 10.1 ^C}hCoÌgÝ
|
---|
93 | 10.2 assert}NÌ
|
---|
94 | 10.3 IuWFNgIDÌÇ
|
---|
95 | 10.4 J[lÌàV{Ìl[
|
---|
96 | 10.5 VXeÌN®Ìú»
|
---|
97 | PPDQlîñ
|
---|
98 | 11.1 pðÆpñ
|
---|
99 | 11.2 ÛØEKp«ET|[g
|
---|
100 | 11.3 oO|[g
|
---|
101 | 11.4 EFuTCg
|
---|
102 | 11.5 TOPPERS[U[Y[OXg
|
---|
103 | 11.6 TOPPERSvWFNgÌoü¯ÌT[rX
|
---|
104 | 11.7 TOPPERSvWFNgÖÌQÁ
|
---|
105 | PQD
|
---|
106 | 12.1 T[rXR[ê
|
---|
107 | 12.2 ÃIAPIê
|
---|
108 | 12.3 o[Wð
|
---|
109 |
|
---|
110 |
|
---|
111 | PDTOPPERS/SSPJ[lÌTv
|
---|
112 |
|
---|
113 | 1.1. TOPPERS/SSPJ[lÌÊut¯
|
---|
114 |
|
---|
115 | TOPPERS/SSPJ[lÍCTOPPERS/ASPJ[lÌdlÉεÄC
|
---|
116 | ¬KÍAvP[Vü¯ÉdlðiÁ½àÌÅ éDŬZbgÉ
|
---|
117 | ¨¯é"Ŭ"ÆÍCJ[lªgp·éROM/RAMgpÊ𬳷é½ßÉ
|
---|
118 | dlðÅK»·é±ÆðÓ¡·éD
|
---|
119 |
|
---|
120 | ñ·é@\ÍÊITRON4.0dlÌÅá@\ðx[XƵÄCê
|
---|
121 | ©®Ô§äpvt@CÌ@\ðæèÞD
|
---|
122 |
|
---|
123 | ±Ì½ßCSSPJ[lÍASPJ[l̺ÊÝ·ÅàãÊÝ·ÅàÈ¢D
|
---|
124 | ½¾µC§ñ^XNg£pbP[WðKpµ½êCSSPJ[lÍ
|
---|
125 | SSPJ[lÌãÊÝ·ÆÈéD
|
---|
126 |
|
---|
127 | 1.2. TOPPERS/SSPJ[lÌdl
|
---|
128 |
|
---|
129 | SSPJ[lÌdlÌTvÉ¢ÄÍCuTOPPERSV¢ãJ[ldlvð
|
---|
130 | QÆÌ±ÆD
|
---|
131 |
|
---|
132 | 1.3. ùmÌâè
|
---|
133 |
|
---|
134 | kernel_cfg.ci¨æÑcfg1_out.cjÍCJ[lCVXeT[rXCAv
|
---|
135 | P[VÌ¢¸êÌCN[ht@CàCN[hµC¢¸êÌV
|
---|
136 | {àQÆ·éÂ\«ª éD»Ì½ßCJ[lCVXeT[rXCAv
|
---|
137 | P[VÅV{ªÕ˵ĢéêâCRpCIvVªH
|
---|
138 | ¢áÁÄ¢éêÉCkernel_cfg.ci¨æÑcfg1_out.cjª³µRpC
|
---|
139 | Å«ÈÈéêªl¦çêéDJ[lÌV{ðl[·éÈÇÌû
|
---|
140 | @Åy¸³êÄÍ¢éªCâèªÈÈÁÄ¢éí¯ÅÍÈ¢D
|
---|
141 |
|
---|
142 | VXeRtBM
|
---|
143 | [Vt@C©çCRtBM
|
---|
144 | [^Éηé
|
---|
145 | INCLUDEfBNeBuÉæè¼ÌRtBM
|
---|
146 | [Vt@CðCN[
|
---|
147 | hµÄ¢éêÉC»ÌÉÜÜêéC¾êvvZbTÌCN[hfB
|
---|
148 | NeBui#includejÅCRtBM
|
---|
149 | [Vt@CÌu©êÄ¢é
|
---|
150 | fBNgªCt@Cðõ·épXÉÍ¢çȢƢ¤âèª éDá
|
---|
151 | ¦ÎCsyssvc/syslog.cfgÉu#include "syslog.h"vÆLqūȢÌÍC±
|
---|
152 | Ìâèª é½ßÅ éD
|
---|
153 |
|
---|
154 | »_ÅÍCAhXª64rbgÌ«ÉÍεĢȢD64rbgAh
|
---|
155 | X«ðT|[g·é½ßÌÅåÌÛèÍCg[SR[htH[}bg
|
---|
156 | ª64rbgAhXÉεĢȢ±ÆÅ éD
|
---|
157 |
|
---|
158 | QD^[Qbg˶
|
---|
159 |
|
---|
160 | 2.1. ^[Qbg˶ÌTv
|
---|
161 |
|
---|
162 | SSPJ[lÌ^[Qbgñ˶ÆCeíÌ^[QbgVXeÉηé½
|
---|
163 | ßÌ^[Qbg˶ÍCÊXÉJ³êÄ¢éD»Ì½ßCSSPJ[lªÎ
|
---|
164 | µÄ¢é·×ÄÌ^[Qbg˶ðCo[W𮳹ÄpbP[W
|
---|
165 | »·é±ÆÍ¢ïÅ éD»±ÅCåÉÌ[UðÎÛɵ½ÈÕpbP[
|
---|
166 | WÆCãÌ[UâJ[lJÒðÎÛɵ½ÂÊpbP[WðpÓµÄ
|
---|
167 | ¢éD
|
---|
168 |
|
---|
169 | SSPJ[lð¢T|[gÌ^[QbgVXeÖ|[eBO·é½ßÉKv
|
---|
170 | ÈìÆÍCJ«Ì\zÆWÌJ«ÆÌ·ÙÌzûCJ[l©gÌ
|
---|
171 | |[eBOCVXeT[rXÌ|[eBOÈÇ©çÈéDÚµÍC
|
---|
172 | u^[Qbg˶ |[eBOKChvðQÆ·é±ÆD
|
---|
173 |
|
---|
174 | ¦ ^[Qbg˶ |[eBOKChÍ»ÝÍ¢®Å é
|
---|
175 |
|
---|
176 | 2.2. ÈÕpbP[W
|
---|
177 |
|
---|
178 | ÈÕpbP[WÍCSSPJ[lªÎµÄ¢é^[QbgVXeÉpÓ³
|
---|
179 | êC»Ì^[QbgVXeãÅSSPJ[lð®ì³¹é½ßÉKvÈt@C
|
---|
180 | ê®ðpbP[W»µ½àÌÅ éDÈÕpbP[WÉÜÜêét@CÍC
|
---|
181 | o[Wª®µÄ¢é±ÆªmF³êÄ¢éD
|
---|
182 |
|
---|
183 | ÈÕpbP[WÌo[WÔÍCpbP[W»µ½útÆ·é±Æð´¥
|
---|
184 | Æ·éªC^[QbgVXeÌîÉæè±Ì´¥É]íÈ¢êª éD
|
---|
185 |
|
---|
186 | ÈÕpbP[WÍCî{IÉÍCÉྷéÂÊpbP[Wð¡ÜÆß½
|
---|
187 | àÌÅ éD»Ì½ßCÎÛ^[QbgVXeÉKvÌÈ¢t@CàÜÜ
|
---|
188 | êÄ¢éDܽCÈÕpbP[WÉÜÜêÄ¢éÂÊpbP[WÌo[W
|
---|
189 | ÍCÂÊpbP[WÌMANIFESTt@CðQÆ·é±ÆÅm鱯ªÅ«éD
|
---|
190 |
|
---|
191 | 2.3. ÂÊpbP[W
|
---|
192 |
|
---|
193 | ÂÊpbP[WÍCSSPJ[lÌJPÊÉC»ÌJPÊÅJðSµ
|
---|
194 | Ä¢ét@Cê®ðpbP[W»µ½àÌÅ éDSSPJ[lÌ^[Qbg
|
---|
195 | ñ˶àCêÂÌÂÊpbP[WƵÄzz³êéD éÂÊpbP[Wð
|
---|
196 | gp·é½ßÉÍCêÊÉÍC¼ÌÂÊpbP[WªKvÆÈéD^[Qbg
|
---|
197 | ˶ÌÂÊpbP[Wðgp·é½ßÉKvÆÈéÂÊpbP[WÆ»Ìo[
|
---|
198 | WÉ¢ÄÍC^[Qbg˶Ì[U[Y}j
|
---|
199 | AðQÆ·é±ÆD
|
---|
200 | gp·éÂÊpbP[WÌo[Wð®³¹é±ÆÍC[UÌÓCÅ
|
---|
201 | éD
|
---|
202 |
|
---|
203 | ÂÊpbP[WÌo[WÔÍCX.Y.ZÌ`Å\»³êéD^[QbgñË
|
---|
204 | ¶Ìo[WÔðCSSPJ[lSÌÌ[XÔÆ·éD^[Qbg
|
---|
205 | ˶Ìo[WÔÍCXÆYªC»êªË¶·é^[Qbgñ˶Æê
|
---|
206 | vµÄ¢éD»êÉεÄCZÍêvµÄ¢éÆÍÀçÈ¢Dá¦ÎC^[Qb
|
---|
207 | gñ˶Ìo[W1.1.0Éηé^[Qbg˶ÍCo[W
|
---|
208 | 1.1.ZÌ`ÆÈéD^[Qbg˶Ìݪo[WAbvµ½êÉÍCZ
|
---|
209 | ªÏX³êéD
|
---|
210 |
|
---|
211 | gp·éÂÊpbP[WÍCÌáÌæ¤ÉC^[Qbgñ˶ÌÂÊpb
|
---|
212 | P[WðWJµ½ÌƯ¶fBNgÅWJ·éD
|
---|
213 |
|
---|
214 | % tar xvfz ssp-1.3.0.tar.gz
|
---|
215 | % tar xvfz ssp_arch_rx_rxc-1.3.0.tar.gz
|
---|
216 |
|
---|
217 | ^[Qbgñ˶ÌÂÊpbP[WÉÍCȺÌ^[Qbg˶ªÜÜê
|
---|
218 | Ä¢éD
|
---|
219 |
|
---|
220 | target/cq_frk_fm3_gcc Interfacet®Cortex-M3îÂ
|
---|
221 | iGNUJ«jp^[Qbg˶
|
---|
222 | arch/arm_m_gcc Cortex-M3iGNUJ«jpvZbT˶
|
---|
223 |
|
---|
224 |
|
---|
225 | RDNCbNX^[gKCh
|
---|
226 |
|
---|
227 | ±±ÅÍC^[Qbg˶ªpÓ³êÄ¢é^[QbgVXeãÅCSSPJ[
|
---|
228 | lãÅ®ì·éTvvOð\zE®ì³¹éÜÅÌèð¦·D
|
---|
229 |
|
---|
230 | 3.1. J«Ìõ
|
---|
231 |
|
---|
232 | SSPJ[lðp¢½VXe\zÉÍCȺÌc[ªKvÅ éD
|
---|
233 |
|
---|
234 | zXgVXepÌc[
|
---|
235 | perl ®ìmFF5.16.2
|
---|
236 | GNU Make ®ìmFF3.81
|
---|
237 |
|
---|
238 | TOPPERSV¢ãJ[lpRtBM
|
---|
239 | [^
|
---|
240 | cfg ®ìmFF1.8.0
|
---|
241 | ¦ 1.6.0ÈOÌo[WÅÍ®ìµÈ¢D
|
---|
242 |
|
---|
243 | ^[QbgVXepÌc[iNXJ«j
|
---|
244 | WKiɵ½CRpC
|
---|
245 | AZuCJCCuA
|
---|
246 | V{t@CoÍc[CwLTt@CoÍc[
|
---|
247 | WCCuiK{ÅÍÈ¢j
|
---|
248 |
|
---|
249 | ^[QbgVXepÌc[ÉGNUJ«ðp¢éêÉÍCȺÌc[
|
---|
250 | ªKvÅ éD
|
---|
251 |
|
---|
252 | ^[QbgVXepÌGNUJ«c[
|
---|
253 | BINUTILSiasCldCarCnmCranlibCobjcopyCobjdumpj
|
---|
254 | GCCܽÍGCC-COREigcc¨æÑ»±©çÄÑo³êéc[j
|
---|
255 | NEWLIBiWCCuCK{ÅÍÈ¢j
|
---|
256 |
|
---|
257 | ®ìmF³êÄ¢é^[QbgVXepÌc[É¢ÄÍC^[QbgË
|
---|
258 | ¶Ì[U[Y}j
|
---|
259 | AðQÆ·é±ÆD
|
---|
260 |
|
---|
261 | ^[QbgVXepÌWCCuÍCAvP[VªWCCu
|
---|
262 | ðgpµÈ¢êÉÍCKvÈ¢D½¾µCRpCªWCCu
|
---|
263 | ÖimemcpyCmemsetÈÇjðÄÑo·R[h𶬷éêª èC»Ìê
|
---|
264 | ÉÍWCCuªKvÅ éDWCCuðpÓ·éãíèÉC
|
---|
265 | ¶¬µ½R[hªÄÑo·ÖÌÝð©ªÅpÓµÄàæ¢D
|
---|
266 |
|
---|
267 | ȨCperlXNvgÍ}`oCg¶ðµ¤¶R[hªEUCCüsR[hª
|
---|
268 | LFŠ鱯ð¼èµÄ¢éD»êÈO̶R[hCüsR[hŮ쳹é
|
---|
269 | ½ßÉÍperlXNvgÌC³ªKvÆÈ鱯ª éD
|
---|
270 |
|
---|
271 | ȺÅÍC±êçÌc[ªpÓūĢ鱯ðOñÉCUNIX}VãÅÌ
|
---|
272 | \zèðྷéDܽȺÌà¾ÅÍCmakeR}hªGNU MakeÅ éà
|
---|
273 | ÌÆ·éiSSPJ[lÌTvÌMakefileÍCGNU MakeÌg£@\ðp¢Ä
|
---|
274 | ¢éjD
|
---|
275 |
|
---|
276 | 3.2. RtBM
|
---|
277 | [^Ì\z
|
---|
278 |
|
---|
279 | J[lð\z·éOÉCܸCTOPPERSV¢ãJ[lpRtBM
|
---|
280 | [^
|
---|
281 | ð\z·éKvª éDÈÕpbP[WÉÜÜêÄ¢½êÈÇCRtBM
|
---|
282 |
|
---|
283 | [^ðÀst@C`®Åüèµ½êÉÍC±ÌXebvÍKvÈ¢D
|
---|
284 |
|
---|
285 | RtBM
|
---|
286 | [^Ì\zÉÍCȺÌc[ªKvÅ éD
|
---|
287 |
|
---|
288 | zXgVXepÌc[iZtJ«j
|
---|
289 | C++RpCCC++Cu
|
---|
290 | ®ìmFiMac OS X«jFApple LLVM version 5.0 (clang-500.2.79)
|
---|
291 | Boost ®ìmFF1.55.0
|
---|
292 | Visual Studio (WindowsÌê)
|
---|
293 |
|
---|
294 | ÅÉCpbP[WÉRtBM
|
---|
295 | [^Ì\[Xt@CªÜÜêĢȢ
|
---|
296 | êÉÍCRtBM
|
---|
297 | [^ÌpbP[WðCSSPJ[lÌ\[Xt@C
|
---|
298 | ðWJµ½fBNg̺ÉWJ·éD
|
---|
299 |
|
---|
300 | % cd ssp
|
---|
301 | % tar xvfz cfg-1.8.0.tar.gz
|
---|
302 |
|
---|
303 | ܽÍCRtBM
|
---|
304 | [^ÌpbP[Wð¼ÌfBNgÉWJµCSSPJ[
|
---|
305 | lÌ\[Xt@CðWJµ½fBNg©çV{bNNðÍÁ
|
---|
306 | Äàæ¢D
|
---|
307 |
|
---|
308 | \[Xt@CªWJÅ«éÆCcfgfBNgÉÚ®µCRtBM
|
---|
309 | [
|
---|
310 | VXNvgiconfigurejÅMakefileÌ«˶iMakefile.configj
|
---|
311 | 𶬵½ãCmakeR}hÉæèRtBM
|
---|
312 | [^icfgvOjª\
|
---|
313 | zÅ«éD
|
---|
314 |
|
---|
315 | % cd cfg
|
---|
316 | % ./configure
|
---|
317 | % make
|
---|
318 |
|
---|
319 | ½¾µCBoostðCXg[µ½fBNg¨æÑ¼ÌªWÅzèµÄ¢
|
---|
320 | éàÌÆÍá¤êÉÍCconfigureÌ--with-headers¨æÑ--with-libraries
|
---|
321 | IvVÉæèCwb_t@C¨æÑCuÌu©ê½fBNg
|
---|
322 | ðwè·éKvª éD
|
---|
323 |
|
---|
324 | ܽCzXgVXeÉæÁÄÍCÅK»xðã°éƳµRpC
|
---|
325 | ūȢ±ÆªmçêÄ¢éD»Ìæ¤ÈêÉÍCÅK»xðº°é©C
|
---|
326 | ÅK»ð}~·éæ¤ÉCMakefileðC³·éKvª éD
|
---|
327 |
|
---|
328 | ȨCRtBM
|
---|
329 | [^Ìgpû@É¢ÄÍCuVDRtBM
|
---|
330 | [^
|
---|
331 | Ìg¢ûvÌÍÅྷéD
|
---|
332 |
|
---|
333 | 3.3. TvvOÌ\zÆÀs
|
---|
334 |
|
---|
335 | ÉCSSPJ[lãÅ®ì·éTvvOð\z·éû@ðྷéD
|
---|
336 |
|
---|
337 | ܸCTvvOÌIuWFNgt@CðufBNgðì¬
|
---|
338 | µCRtBM
|
---|
339 | [VXNvgðÀs·éDá¦ÎCIuWFNgt@
|
---|
340 | CðufBNgðCSSPJ[lÌ\[Xt@CðWJµ½fB
|
---|
341 | Ng̺ÌOBJÆ¢¤¼ÌÌfBNgÉ·éêÉÍCÌR}hð
|
---|
342 | Às·éifBNgÌêÆ¼ÌÍCÓÉßÄæ¢jD
|
---|
343 |
|
---|
344 | % cd ssp
|
---|
345 | % mkdir OBJ
|
---|
346 | % cd OBJ
|
---|
347 | % perl ../configure -T <^[QbgªÌ>
|
---|
348 |
|
---|
349 | ±±ÅC<^[QbgªÌ>ÍCtargetfBNg̺Éu©êÄ¢é^[Qb
|
---|
350 | g˶fBNg̼ÌÅ éDRtBM
|
---|
351 | [VXNvgÌI
|
---|
352 | vVÉ¢ÄÍCuTDRtBM
|
---|
353 | [VXNvgÌg¢ûvÌ
|
---|
354 | ÍÅྷéD
|
---|
355 |
|
---|
356 | RtBM
|
---|
357 | [VXNvgÌÀsÉæèCJgfBNgÉÍC
|
---|
358 | TvvOð\z·é½ßÌMakefileCTvvOpÌR
|
---|
359 | tBM
|
---|
360 | [Vt@Cisample1.cfgjCTvvO{Ì
|
---|
361 | isample1.h¨æÑsample1.cjª¶¬³êéD
|
---|
362 |
|
---|
363 | RtBM
|
---|
364 | [VXNvgÌÀsãCKvÅ êÎMakefileðC³·
|
---|
365 | éDMakefileÌC³û@É¢ÄÍCuUDMakefileÌC³û@vÌÍÅà¾
|
---|
366 | ·éD
|
---|
367 |
|
---|
368 | »ÌãCmake dependÅ˶ÖWt@CiMakefile.dependj𶬵½ãC
|
---|
369 | makeR}hÉæèTvvOÌ[hW
|
---|
370 | [iSSPܽÍ
|
---|
371 | SSP.exejª¶¬Å«éD˶ÖWt@C̶¬ÉÍá±Ôª©©éD
|
---|
372 |
|
---|
373 | % make depend
|
---|
374 | % make
|
---|
375 |
|
---|
376 | ±±Å\zµ½TvvOisample1.hCsample1.cCsample1.cfgj
|
---|
377 | ÍCSSPJ[lÌî{IÈ®ìðmF·é½ßÌàÌÅ éD±ÌvO
|
---|
378 | ÌTvà¾ÍCsample1.cÌæªÌRgÉ éD
|
---|
379 |
|
---|
380 | 3.4. J[lðÖPÊÅCu»·éû@
|
---|
381 |
|
---|
382 | OßÌèÅÍCJ[lðt@CPÊÅRpCµCCu»µÄ
|
---|
383 | ¢½ªCJ[lÌR[hTCYðk¬·é½ßÉÍCgpµÈ¢T[rXR[
|
---|
384 | ÍNµÈ¢ûª]ܵ¢D»±ÅSSPJ[lÅÍCJ[lðÖPÊ
|
---|
385 | ÅRpCµCCu»·éû@ðpӵĢéD
|
---|
386 |
|
---|
387 | ±Ìû@ÅTvvOð\z·éÉÍCRtBM
|
---|
388 | [VXN
|
---|
389 | vgÉC»êðw¦·éIvVi-fjðtÁ·é¾¯Åæ¢D
|
---|
390 |
|
---|
391 | % mkdir OBJ_LIB
|
---|
392 | % cd OBJ_LIB
|
---|
393 | % perl ../configure -T <^[QbgªÌ> -f
|
---|
394 |
|
---|
395 | ±±ÅCOBJ_LIBÆ¢¤fBNgÌêÆ¼ÌÍCCÓÉßÄæ¢D±ê
|
---|
396 | È~ÌèÍCO߯¯¶Å éD
|
---|
397 |
|
---|
398 | 3.5. AvP[VÆJ[lðÊXÉ\z·éû@
|
---|
399 |
|
---|
400 | OßÅྵ½û@ÅÍCAvP[VÆJ[lð¯É¶¬·é½ßC
|
---|
401 | IuWFNgt@CðufBNgÉñíɽÌt@Cªì¬³ê
|
---|
402 | ÄCµ¢ÉÈéD»±ÅCJ[lðC³·épxªá¢êÉÍCJ[
|
---|
403 | lÍOÉ\zµÄ¨«CãÅAvP[V¾¯ð\z·éû@ðpÓ
|
---|
404 | µÄ¢éDȺÅÍCTvvOð\zðáÉC»ÌèÉ¢Äà
|
---|
405 | ¾·éD
|
---|
406 |
|
---|
407 | ܸCJ[lð\z·éfBNgð쬵CRtBM
|
---|
408 | [VX
|
---|
409 | NvgðÀs·éDá¦ÎCJ[lð\z·éfBNgðCSSPJ[
|
---|
410 | lÌ\[Xt@CðWJµ½fBNg̺ÌKERNEL_LIBÆ¢¤¼ÌÌ
|
---|
411 | fBNgÉ·éêÉÍCÌR}hðÀs·éifBNgÌê
|
---|
412 | ƼÌÍCÓÉßÄæ¢jD
|
---|
413 |
|
---|
414 | % mkdir KERNEL_LIB
|
---|
415 | % cd KERNEL_LIB
|
---|
416 | % perl ../configure -T <^[QbgªÌ> -f
|
---|
417 |
|
---|
418 | ±êÉæèCJ[lð\z·éfBNgÉCMakefileCsample1.cfgC
|
---|
419 | sample1.hCsample1.cª¶¬³êéªCMakefileÈOÍÀ¿IÉÍgpµÈ¢D
|
---|
420 |
|
---|
421 | make dependÅ˶ÖWt@CiMakefile.dependj𶬵½ãCmake
|
---|
422 | libkernel.aÉæèJ[lCuilibkernel.ajª¶¬Å«éD
|
---|
423 |
|
---|
424 | % make depend
|
---|
425 | % make libkernel.a
|
---|
426 |
|
---|
427 | ÉCAvP[Vð\z·éfBNgð쬵CRtBM
|
---|
428 | [
|
---|
429 | VXNvgðÀs·éDá¦ÎCAvP[Vð\z·éfBN
|
---|
430 | gðCSSPJ[lÌ\[Xt@CðWJµ½fBNg̺ÌAPLÆ¢
|
---|
431 | ¤¼ÌÌfBNgÉ·éêÉÍCÌR}hðÀs·éifBNg
|
---|
432 | ÌêÆ¼ÌÍCÓÉßÄæ¢jD
|
---|
433 |
|
---|
434 | % cd ..
|
---|
435 | % mkdir APL
|
---|
436 | % cd APL
|
---|
437 | % perl ../configure -T <^[QbgªÌ> -L ../KERNEL_LIB
|
---|
438 |
|
---|
439 | ±±Å-LIvVÉÍCJ[lð\zµ½fBNgÌpXðwè·éD
|
---|
440 |
|
---|
441 | ÅãÉCmake dependÅ˶ÖWt@CiMakefile.dependj𶬵½ãC
|
---|
442 | makeR}hÉæèTvvOÌ[hW
|
---|
443 | [iSSPܽÍ
|
---|
444 | SSP.exejª¶¬Å«éD
|
---|
445 |
|
---|
446 | % make depend
|
---|
447 | % make
|
---|
448 |
|
---|
449 | ±ÌèÅÍCAvP[V\zÉÍJ[lÌÄ\zªKv©`Fb
|
---|
450 | NµÈ¢½ßCJ[lÌ\[XR[hðC³µ½êÉÍCJ[lð\z
|
---|
451 | µ½fBNgÅmake libkernel.aðÄÀs·éKvª éD
|
---|
452 |
|
---|
453 | ÈãÅÍCJ[lÆAvP[VðÊXÌfBNgÅ\zµ½ªC
|
---|
454 | -LIvVÉJgfBNgi½¾µC"."Æ¢¤LqÅÍsÂjðw
|
---|
455 | è·é±ÆÅCJ[lÆAvP[Vð¯¶fBNgÅÊXÉ\z
|
---|
456 | ·é±ÆàÅ«éDïÌIÉÍCÌèÆÈéD
|
---|
457 |
|
---|
458 | % mkdir OBJ
|
---|
459 | % cd OBJ
|
---|
460 | % perl ../configure -T <^[QbgªÌ> -L ../OBJ
|
---|
461 | % make depend
|
---|
462 | % make libkernel.a
|
---|
463 | % make cleankernel
|
---|
464 | % make
|
---|
465 |
|
---|
466 | ±±ÅCmake cleankernelÍCJ[lCu𶬷é½ßÌÔt@
|
---|
467 | Cðí·éàÌÅ éD±ÌèÅÍCmake dependÉæèJ[lC
|
---|
468 | uÉÖ·é˶ÖW𶬵Ȣ½ßCJ[lÌ\[XR[hðC³µ
|
---|
469 | ½êÉÍCK¸make cleankerneliܽÍCmake cleanjµÄ©çCmake
|
---|
470 | libkernel.a·éKvª éÌÅӷ鱯D
|
---|
471 |
|
---|
472 | ȨCmake realclean·éÆCmake dependÆmakeÉæè¶¬µ½t@Cð·
|
---|
473 | ×Äí·éD»êÉεÄCmake cleanÅÍCmake dependÉæè¶¬µ½Ë
|
---|
474 | ¶ÖWt@CÍíµÈ¢D
|
---|
475 |
|
---|
476 |
|
---|
477 | SDfBNg\¬Et@C\¬
|
---|
478 |
|
---|
479 | 4.1. zzpbP[WÌfBNg\¬
|
---|
480 |
|
---|
481 | include/ AvP[Vü¯wb_t@C
|
---|
482 | kernel/ J[l\[Xt@C
|
---|
483 | syssvc/ VXeT[rXwb_t@CC\[Xt@C
|
---|
484 | target/ ^[Qbg˶
|
---|
485 | arch/ ^[Qbg˶̤ʪ
|
---|
486 | gcc/ GCCJ«˶
|
---|
487 | pdic/ PDICifoCXhCoÌOSñ˶ªj
|
---|
488 | utils/ [eBeBvO
|
---|
489 | sample/ TvvOÆMakefile
|
---|
490 | doc/ hL
|
---|
491 | g
|
---|
492 | extension/ g£pbP[W
|
---|
493 |
|
---|
494 | 4.2. ^[Qbgñ˶Ìt@C\¬
|
---|
495 |
|
---|
496 | ^[Qbgñ˶ieXgvOÆg£pbP[WÍjÌet@C
|
---|
497 | ÌTvÍÌÊèD
|
---|
498 |
|
---|
499 | README.txt TOPPERS/SSPJ[lÌÈPÈÐî
|
---|
500 | configure RtBM
|
---|
501 | [VXNvgiGNUJ«pj
|
---|
502 | MANIFEST ÂÊpbP[WÌt@CXg
|
---|
503 |
|
---|
504 | include/
|
---|
505 | kernel.h SSPJ[lðgp·é½ßÌè`
|
---|
506 | sil.h VXeC^tF[XCðgp·é½ßÌè`
|
---|
507 | t_stddef.h TOPPERS¤Êwb_t@C
|
---|
508 | itron.h ITRONdl¤ÊKèÌf[^^EèE}N
|
---|
509 |
|
---|
510 | kernel/
|
---|
511 | Makefile.kernel J[lÌt@C\¬Ìè`
|
---|
512 | kernel_impl.h J[lÀpWwb_t@C
|
---|
513 | kernel_int.h kernel_cfg.cpÌwb_t@C
|
---|
514 | kernel_rename.def J[lÌà¯Ê¼Ìl[è`
|
---|
515 | kernel_rename.h J[lÌà¯Ê¼Ìl[
|
---|
516 | kernel_unrename.h J[lÌà¯Ê¼Ìl[ð
|
---|
517 | kernel_api.csv RtBM
|
---|
518 | [^ÌÃIAPIe[u
|
---|
519 | kernel_def.csv RtBM
|
---|
520 | [^Ìlæ¾V{e[u
|
---|
521 | kernel.tf RtBM
|
---|
522 | [^ÌpX2Ìev[gt@C
|
---|
523 | kernel_check.tf RtBM
|
---|
524 | [^ÌpX3Ìev[gt@C
|
---|
525 | allfunc.h ·×ÄÌÖðRpC·é½ßÌè`
|
---|
526 | check.h G[`FbNp}N
|
---|
527 | startup.c J[lÌú»ÆI¹
|
---|
528 | task.h ^XNì[`ÖAÌè`
|
---|
529 | task.c ^XNì[`
|
---|
530 | task_manage.c ^XNÇ@\
|
---|
531 | sys_manage.c VXeóÔÇ@\
|
---|
532 | interrupt.h ÝÇ@\ÖAÌè`
|
---|
533 | interrupt.c ÝÇ@\
|
---|
534 | exception.h CPUáOÇ@\ÖAÌè`
|
---|
535 | exception.c CPUáOÇ@\
|
---|
536 | queue.h L
|
---|
537 | [ìCuðgp·é½ßÌè`
|
---|
538 |
|
---|
539 | syssvc/
|
---|
540 | banner.h J[lN®bZ[WÌoÍ̽ßÌè`
|
---|
541 | banner.c J[lN®bZ[WÌoÍ
|
---|
542 | banner.cfg J[lN®bZ[WÌoÍÌRtBM
|
---|
543 | [
|
---|
544 | Vt@C
|
---|
545 | serial.h VAC^tF[XhCoðgp·é½ßÌè`
|
---|
546 | serial.c VAC^tF[XhCo
|
---|
547 | serial.cfg VAhCoÌRtBM
|
---|
548 | [Vt@C
|
---|
549 | syssvc_def.csv VXeT[rXÌRtBM
|
---|
550 | [VÌÛÉKvÈ
|
---|
551 | RtBM
|
---|
552 | [^Ìlæ¾V{e[u
|
---|
553 |
|
---|
554 | arch/gcc/
|
---|
555 | MANIFEST ÂÊpbP[WÌt@CXg
|
---|
556 | tool_stddef.h t_stddef.hÌJ«˶iGCCpj
|
---|
557 |
|
---|
558 | utils/
|
---|
559 | applyrename t@CÉl[ðKp
|
---|
560 | genrename l[wb_t@C̶¬
|
---|
561 | makedep ˶ÖWXg̶¬iGNUJ«pj
|
---|
562 | makerelease [XpbP[W̶¬
|
---|
563 |
|
---|
564 | sample/
|
---|
565 | Makefile TvÌMakefileiGNUJ«pj
|
---|
566 | sample1.h TvvO(1)ÉÖ·éè`
|
---|
567 | sample1.c TvvO(1)
|
---|
568 | sample1.cfg TvvO(1)ÌRtBM
|
---|
569 | [Vt@C
|
---|
570 |
|
---|
571 | extension/
|
---|
572 | alarm.h A[nh@\ÖAÌè`
|
---|
573 | alarm.c A[nh@\
|
---|
574 | cyclic.h üúnh@\ÖAÌè`
|
---|
575 | cyclic.c üúnh@\
|
---|
576 | dataqueue.h f[^L
|
---|
577 | [@\ÖAÌè`
|
---|
578 | dataqueue.c f[^L
|
---|
579 | [@\
|
---|
580 | time_event.h ^CCxgÇÖAÌè`
|
---|
581 | eventflag.h CxgtOÖAÌè`
|
---|
582 | eventflag.c CxgtO@\
|
---|
583 | time_event.c ^CCxgÇ
|
---|
584 | time_manage.c VXeÇ@\
|
---|
585 | MANIFEST g£pbP[WÌt@CXg
|
---|
586 |
|
---|
587 | doc/
|
---|
588 | user.txt [U[Y}j
|
---|
589 | A
|
---|
590 | ssp_spec.txt TOPPERS/SSPJ[lÌdlTv
|
---|
591 | extension.txt @\g£E`
|
---|
592 | [jOKCh
|
---|
593 | porting.txt ^[Qbg˶ |[eBOKCh
|
---|
594 | configurator.txt RtBM
|
---|
595 | [^dl
|
---|
596 | version.txt ÏXð
|
---|
597 |
|
---|
598 |
|
---|
599 | TDRtBM
|
---|
600 | [VXNvgÌg¢û
|
---|
601 |
|
---|
602 | RtBM
|
---|
603 | [VXNvgiconfigurejÍCSSPJ[l¨æÑAv
|
---|
604 | P[VvOð\z·é½ßÉKvÈî{IÈRtBM
|
---|
605 | [V
|
---|
606 | ðs¤½ßÌvOÅ éD
|
---|
607 |
|
---|
608 | SSPJ[lðp¢ÄAvP[Vð쬷éêÉÍCܸIuWFNg
|
---|
609 | t@CðufBNgð쬵C»ÌfBNgÅRtBM
|
---|
610 | [
|
---|
611 | VXNvgðÀs·éDIuWFNgt@CðufBNgÌê
|
---|
612 | ƼÌÍCCÓÉßÄæ¢D
|
---|
613 |
|
---|
614 | RtBM
|
---|
615 | [VXNvgÉηéIvVÍÌÊèD
|
---|
616 |
|
---|
617 | -T <^[QbgªÌ>
|
---|
618 | ^[QbgVXe̼ÌðCtargetfBNg̺Éu©êÄ¢
|
---|
619 | é^[Qbg˶fBNg̼ÌÅwè·éiK{jD
|
---|
620 |
|
---|
621 | -A <AvP[VvO¼>
|
---|
622 | AvP[VvO̼Ìðwè·éDȪµ½êÉÍC
|
---|
623 | TvvOisample1jÆÈéD
|
---|
624 |
|
---|
625 | -a <AvP[VÌfBNg¼>
|
---|
626 | AvP[VvOÌ\[Xt@CiVXeRtBM
|
---|
627 |
|
---|
628 | [Vt@Cðjðu¢½fBNg¼ðwè·éDÈ
|
---|
629 | ªµ½êÉÍCIuWFNgt@CðufBNgÉu©ê
|
---|
630 | Ģ鱯ð¼è·éDVXeRtBM
|
---|
631 | [Vt@CÍC
|
---|
632 | IuWFNgt@CðufBNgÉu±ÆD
|
---|
633 |
|
---|
634 | -U <IuWFNgt@C¼>
|
---|
635 | AvP[VvOÌCÌIuWFNgt@Ci-A
|
---|
636 | Åwèµ½AvP[VvO¼É".o"ðtÁµ½àÌjÈ
|
---|
637 | OÉCN·×«IuWFNgt@C̼ÌðC".o"ðtÁµ½
|
---|
638 | `Åwè·éD""ÅÍÞ±ÆÉæÁÄC¡Ìt@Cðwè·é±
|
---|
639 | ÆàÂ\Å éi-UIvVð¡gÁÄÍÈçÈ¢jD
|
---|
640 |
|
---|
641 | -L <J[lCuÌfBNg¼>
|
---|
642 | OÉ\zµ½J[lCuilibkernel.ajðp¢ÄCAv
|
---|
643 | P[VÌÝð\z·éêÉÍC±ÌIvVÉJ[lC
|
---|
644 | uÌu©ê½fBNg¼ðwè·éD±ÌIvVÌgp
|
---|
645 | áÉ¢ÄÍCu3.5 AvP[VÆJ[lðÊXÉ\z·é
|
---|
646 | û@vÌßðQÆ·é±ÆD
|
---|
647 |
|
---|
648 | -f
|
---|
649 | J[lðÖPÊÅRpCµCu»·éêÉC±ÌI
|
---|
650 | vVðwè·éD±ÌIvVÌgpáÉ¢ÄÍCu3.4 J[
|
---|
651 | lðÖPÊÅCu»·éû@vÌßðQÆ·é±ÆD
|
---|
652 |
|
---|
653 | -D <SSPJ[lÌ\[XfBNg¼>
|
---|
654 | SSPJ[lÌ\[Xt@Cðu¢½fBNg¼ðwè·éDÈ
|
---|
655 | ªµ½êÉÍCconfigureÌu©êÄ¢éfBNgÆÈéD
|
---|
656 |
|
---|
657 | -l <vO~O¾ê>
|
---|
658 | AvP[VvOÌvO~O¾êðwè·éD»
|
---|
659 | _ÅÍCcÆc++ÌÝðT|[gµÄ¢éD
|
---|
660 |
|
---|
661 | -t <ev[gfBNg¼>
|
---|
662 | MakefileâTvvOÌev[gÌu©ê½fBNg
|
---|
663 | ¼ðwè·éDȪµ½êÉÍCSSPJ[lÌ\[Xt@Cð
|
---|
664 | u¢½fBNg̺ÌsamplefBNgÆÈéD
|
---|
665 |
|
---|
666 | -m <ev[gMakefile¼>
|
---|
667 | MakefileÌev[gÆ·ét@C¼ðwè·éDȪµ½ê
|
---|
668 | ÉÍCMakefileÆÈéD
|
---|
669 |
|
---|
670 | -d <Às«¼>
|
---|
671 | ^[QbgVXeãÅÌvOÌÀs«iÈ¢µÍCfob
|
---|
672 | O«j̼Ìðwè·éD±ÌIvVðwè·éÆCÀs«
|
---|
673 | ðwè·éV{iTOPPERS_<fobO«¼>jª}Nè`³ê
|
---|
674 | éDȪµ½êÉÍCÀs«ðwè·éV{Í}Nè`³
|
---|
675 | êÈ¢D
|
---|
676 |
|
---|
677 | -r
|
---|
678 | g[XOL^ÌTvR[hðLøÉ·éêÉC±ÌIvV
|
---|
679 | ðwè·éD±ÌIvVÌgpáÉ¢ÄÍCu11.5 g[X
|
---|
680 | OL^ÌTvR[hÌgpû@vÌßðQÆ·é±ÆD
|
---|
681 |
|
---|
682 | -p <perlÌpX¼>
|
---|
683 | perlÌpX¼ðwè·éDȪµ½êÉÍC/usr/local/binÆ
|
---|
684 | /usr/binðTõµCperlÌpX¼ðè·éD
|
---|
685 |
|
---|
686 | -g <RtBM
|
---|
687 | [^ÌpX¼>
|
---|
688 | RtBM
|
---|
689 | [^icfgjÌpX¼ðwè·éDȪµ½êÉÍC
|
---|
690 | ftHgÌpX¼iSSPJ[lÌ\[XfBNg̺Ì
|
---|
691 | cfg/cfg/cfgjÆÈéD
|
---|
692 |
|
---|
693 | RtBM
|
---|
694 | [VXNvgªs¤ÍÌÊèÅ éD
|
---|
695 |
|
---|
696 | (1) Makefile̶¬
|
---|
697 |
|
---|
698 | ev[gfBNgiftHgÅÍCsamplej©çKØÈMakefileð
|
---|
699 | IðµCKvÈÓð«·¦ÄCMakefile𶬷éD
|
---|
700 |
|
---|
701 | (2) TvvO̶¬
|
---|
702 |
|
---|
703 | wèµ½AvP[VvOªev[gfBNgÉ éêC
|
---|
704 | KØÈAvP[VvOÌ\[Xt@CðIðµCKvÈÓð
|
---|
705 | «·¦ÄCAvP[VvOÌ\[Xt@Ciá¦ÎC
|
---|
706 | sample1.hCsample1.cCsample1.cfgj𶬷éD
|
---|
707 |
|
---|
708 | (3) RtBM
|
---|
709 | [^ªpÓūĢé©Ì`FbN
|
---|
710 |
|
---|
711 | RtBM
|
---|
712 | [^icfgjÌÀst@Cª é©`FbNµCt@CªÈ
|
---|
713 | ¢êÉÍC»Ì|ðoÍ·éD
|
---|
714 |
|
---|
715 |
|
---|
716 | UDMakefileÌC³û@
|
---|
717 |
|
---|
718 | OÌÍÅྵ½æ¤ÉCRtBM
|
---|
719 | [VXNvgÉ^¦éIvV
|
---|
720 | ©çMakefileª¶¬³êéªCRtBM
|
---|
721 | [VXNvgÅÎ
|
---|
722 | ūȢêÉÍCMakefileð¼ÚC³·éKvª éD±±ÅÍCMakefile
|
---|
723 | ÌÅCC³ªKvÆÈéÂ\«Ì¢ÓÉ¢ÄྷéD
|
---|
724 |
|
---|
725 | ȨCMakefileðC³µ½ãÉRtBM
|
---|
726 | [VXNvgðÄÀs·
|
---|
727 | éÆCC³µ½Makefileªã«³êĵܤÌÅӷ鱯iâà̪
|
---|
728 | Makefile.bakÉÛ¶³êéjD
|
---|
729 |
|
---|
730 | 6.1. MakefileÌÏè`
|
---|
731 |
|
---|
732 | (A) ^[QbgªÌ
|
---|
733 |
|
---|
734 | TARGETÉÍC^[QbgVXe̼ÌðCtargetfBNg̺Éu©ê
|
---|
735 | Ä¢é^[Qbg˶fBNg̼ÌÅwè·éD±Ìè`ÍCÊíÍC
|
---|
736 | RtBM
|
---|
737 | [VXNvgÉηé-TIvVÉæès¤D
|
---|
738 |
|
---|
739 | (B) IuWFNgt@CÌg£q
|
---|
740 |
|
---|
741 | Cygwin«ÅRpC·éÉÍCOBJEXTð"exe"Éè`·éKvª éD±
|
---|
742 | êÍCCygwin«ÅÍC[hW
|
---|
743 | [Ìt@C¼Ég£q".exe"ªtÁ
|
---|
744 | ³êéÌÉηé½ßÌàÌÅ éDCygwinÂ«Å é±Æð»èÅ«êÎC
|
---|
745 | RtBM
|
---|
746 | [VXNvgª±Ìè`ðs¤D
|
---|
747 |
|
---|
748 | (C) Às«i^[Qbg˶j
|
---|
749 |
|
---|
750 | ^[QbgÉæÁÄÍCÀs«ÉεÄ^[Qbg˶ÌR[hð·µ
|
---|
751 | ·¦éêª éD±êðÂ\É·é½ßÉCÀs«̼ÌðDBGENVÉè`
|
---|
752 | µÄ¢éD±Ìè`ÍCÊíÍCRtBM
|
---|
753 | [VXNvgÉη
|
---|
754 | é-DIvVÉæès¤DÇÌ^[QbgªÇÌÀs«ÉεĢé©
|
---|
755 | ÍC^[Qbg˶Ì[U[Y}j
|
---|
756 | AðQÆ·é±ÆD
|
---|
757 |
|
---|
758 | (D) J[lCuÌfBNg¼
|
---|
759 |
|
---|
760 | KERNEL_LIBÉÍCJ[lCuÌu©ê½fBNg¼ðè`·éD
|
---|
761 | ±Ìè`ÍCÊíÍCRtBM
|
---|
762 | [VXNvgÉηé-LIvV
|
---|
763 | Éæès¤D
|
---|
764 |
|
---|
765 | (E) J[lðÖPÊÅRpC·é©Ç¤©
|
---|
766 |
|
---|
767 | KERNEL_FUNCOBJSÍCJ[lðÖPÊÅRpC·éêÉÍtrueÉè`
|
---|
768 | µCt@CPÊÅRpC·éêÉÍ¢è`Æ·éD±Ìè`ÍCÊí
|
---|
769 | ÍCRtBM
|
---|
770 | [VXNvgÉηé-fIvVÉæès¤D
|
---|
771 |
|
---|
772 | (F) ¤ÊRpCIvV
|
---|
773 |
|
---|
774 | ·×ÄÌvOɤʷéRpCIvVÌÇÁªKvÈêÉÍC
|
---|
775 | ºÌÏÌè`ðÏX·éD»ÌRpCIvVªCÁèÌ^[Qbg
|
---|
776 | ÅíÉKvÈêÉÍC^[Qbg˶Ìè`ðüê½Makefile.targetðC
|
---|
777 | ³·×«Å éD
|
---|
778 |
|
---|
779 | CDEFS RpCÉηé-DIvVðLq·éD
|
---|
780 | INCLUDES RpCÉηé-IIvVðLq·éD
|
---|
781 | COPTS RpCÉηé»Ì¼ÌIvVðLq·éD
|
---|
782 | LDFLAGS JÉηéIvVðLq·éD
|
---|
783 | LIBS CuN̽ßÌIvVðLq·éD
|
---|
784 |
|
---|
785 | ÇÁÌÂ\«Ì éRpCIvVÉ¢ÄÍCu6.2 RpCIv
|
---|
786 | VvÌßðQÆÌ±ÆD
|
---|
787 |
|
---|
788 | (G) AvP[VvO¼
|
---|
789 |
|
---|
790 | APPLNAMEÉÍCAvP[VvO¼ðè`·éDVXeRtB
|
---|
791 | M
|
---|
792 | [Vt@C¼ÍCAPPLNAMEÉè`µ½¼OÉg£q".cfg"ðtÁ
|
---|
793 | µ½¼OÆ·éDܽCAvP[VÌCt@CÍCAPPLNAMEÉè
|
---|
794 | `µ½¼OÉg£q".c"ðtÁµ½¼OÆ·éD±Ìè`ÍCÊíÍCRtB
|
---|
795 | M
|
---|
796 | [VXNvgÉηé-AIvVÉæès¤D
|
---|
797 |
|
---|
798 | (H) AvP[VÌfBNg¼
|
---|
799 |
|
---|
800 | AvP[VÌ\[Xt@CðCIuWFNgt@CðuÌÆÍÊ
|
---|
801 | ÌfBNgÉuêÉÍCAPPLDIRÉ»ÌfBNg¼ðè`·éD±
|
---|
802 | Ìè`ÍCÊíÍCRtBM
|
---|
803 | [VXNvgÉηé-aIvV
|
---|
804 | Éæès¤DAvP[VÌ\[Xt@CðufBNgª¡
|
---|
805 | éêÉÍCAPPL_DIRÌè`ðÏX·é±ÆÅηéD
|
---|
806 |
|
---|
807 | (I) AvP[VÌvOt@C¼
|
---|
808 |
|
---|
809 | AvP[Vª¡Ì\[Xt@CÅ\¬³êéêÉÍC»ÌIuWF
|
---|
810 | Ngt@C¼ðCAPPL_ASMOBJSCAPPL_COBJSCAPPL_CXXOBJSÉñ·éD
|
---|
811 |
|
---|
812 | (J) AvP[VÌRpCIvV
|
---|
813 |
|
---|
814 | AvP[VÌRpCÉKvÈRpCIvVâCAvP[
|
---|
815 | VªCuðKvÆ·éêÉÍCAPPL_CFLAGS¨æÑAPPL_LIBSÉè
|
---|
816 | `·éD
|
---|
817 |
|
---|
818 | (K) [hW
|
---|
819 | [Ìt@C¼
|
---|
820 |
|
---|
821 | WÌ[hW
|
---|
822 | [Ìt@C¼ðOBJNAMEÉè`·éDftHgÍSSP
|
---|
823 | Å éD
|
---|
824 |
|
---|
825 | (L) ^[Qbgt@CÌè`
|
---|
826 |
|
---|
827 | ^[Qbg"all"Ì˶t@CƵÄC[hW
|
---|
828 | [Ì`®ðwè·éD
|
---|
829 | ïÌIÉÍCELF`®ÌÍ$(OBJFILE)CoCi`®ÌÍ$(OBJNAME).binC
|
---|
830 | g[ S`®ÌÍ$(OBJNAME).srecðwè·éD$(OBJFILE)ÍCCygwin
|
---|
831 | «ÅOBJEXTð"exe"Éè`µ½ÉÍ$(OBJNAME).exeC»¤ÅÈ¢êÉÍ
|
---|
832 | $(OBJNAME)ÆÈéD
|
---|
833 |
|
---|
834 | (M) makedepÌIvVÌè`
|
---|
835 |
|
---|
836 | Cygwin«Å[gfBNgª"cygdrive"ÅÈ¢êÉÍCmakedepÌ-RI
|
---|
837 | vVÅ[gfBNg¼ð^¦éKvª éDmakedepÌIvVÍC
|
---|
838 | ÌáÌæ¤ÉCMAKEDEP_OPTSÉè`·éD
|
---|
839 |
|
---|
840 | MAKEDEP_OPTS = -R cygdrive
|
---|
841 |
|
---|
842 | 6.2. RpCIvV
|
---|
843 |
|
---|
844 | SSPJ[lÌR[hÉÍCassert}NªgíêÄ¢éDassert}NÍC
|
---|
845 | NDEBUGðè`·é±ÆÅCIuWFNgR[h©çÁ·±ÆªÅ«éDJ[
|
---|
846 | lÌfobOªI¹·êÎC-DNDEBUGðwèµÄRpCµ½ûªø¦ª
|
---|
847 | æÈéD
|
---|
848 |
|
---|
849 | ^[Qbg˶ɨ¢ÄCRpCIvVÉ-WerrorixðG[µ
|
---|
850 | ¢·éjðwèµÄ¢éêª éD»Ìæ¤È^[Qbgɨ¢ÄCAv
|
---|
851 | P[VÅxªð¯çêÈ¢êÉÍC^[Qbg˶ðC³µÄR
|
---|
852 | pCIvVðí·éKvª éD
|
---|
853 |
|
---|
854 |
|
---|
855 | VDRtBM
|
---|
856 | [^Ìg¢û
|
---|
857 |
|
---|
858 | RtBM
|
---|
859 | [^icfgjÍCTOPPERSV¢ãJ[ldlÌ2.12.5ß
|
---|
860 | ÌLqÌÊèC3ÂÌpXÅ\¬³êéD
|
---|
861 |
|
---|
862 | RtBM
|
---|
863 | [^ÍCVXeRtBM
|
---|
864 | [Vt@C¼ðp[
|
---|
865 | ^ÉæèCȺÌIvVðÂidvÈàÌÌÝjD
|
---|
866 |
|
---|
867 | --help
|
---|
868 | IvVÌXgÆà¾ð\¦·éD
|
---|
869 |
|
---|
870 | -vm--versionn
|
---|
871 | RtBM
|
---|
872 | [^Ìo[Wð\¦·éD
|
---|
873 |
|
---|
874 | -km--kerneln<J[l¼>
|
---|
875 | J[l̼Ìðwè·éDftHgÍSSPD
|
---|
876 |
|
---|
877 | -pm--passn<pXÔ>
|
---|
878 | pXÔðwè·éD1`3Ì¢¸ê©D
|
---|
879 |
|
---|
880 | -Im--include-pathn<CN[hpX¼>
|
---|
881 | INCLUDEfBNeBuɨ¢ÄCCN[h·éRtBM
|
---|
882 | [
|
---|
883 | Vt@CðT·pX¼ðwè·éD
|
---|
884 |
|
---|
885 | -Tm--template-filen<ev[gt@C¼>
|
---|
886 | ev[gt@C̼Ìðwè·éDpX2ÆpX3ÅLøD
|
---|
887 |
|
---|
888 | --api-table <ÃIAPIe[ut@C¼>
|
---|
889 | ÃIAPIe[uÌt@C¼ðwè·éD
|
---|
890 |
|
---|
891 | --cfg1-def-table <læ¾V{e[ut@C¼>
|
---|
892 | læ¾V{e[uÌt@C¼ðwè·éD
|
---|
893 |
|
---|
894 | -rm--rom-imagen<[hW
|
---|
895 | [¼>
|
---|
896 | [hW
|
---|
897 | [ðSR[htH[}bgÌ`ÉÏ·µ½t@CÌ
|
---|
898 | ¼Ìðwè·éDpX3ÅÌÝLøD
|
---|
899 |
|
---|
900 | -s [--symbol-table] <V{t@C¼>
|
---|
901 | [hW
|
---|
902 | [ÌeV{ÆAhXÌÎ\ðÜÞV{
|
---|
903 | t@C̼Ìðwè·éDpX3ÅÌÝLøD
|
---|
904 |
|
---|
905 | --id-output-file <IDÔoÍt@C¼>
|
---|
906 | SSPJ[lÅÍgpµÄÍÈçÈ¢BÚ×Íconfigurator.txtÌ
|
---|
907 | uJ[l\¬Eú»t@Cikernel_cfg.cjvÌ(5)ðQÆÌ±ÆB
|
---|
908 |
|
---|
909 | --id-input-file <IDÔüÍt@C¼>
|
---|
910 | SSPJ[lÅÍgpµÄÍÈçÈ¢BÚ×Íconfigurator.txtÌ
|
---|
911 | uJ[l\¬Eú»t@Cikernel_cfg.cjvÌ(5)ðQÆÌ±ÆB
|
---|
912 |
|
---|
913 | --external-id
|
---|
914 | IuWFNgÌIDÔðÛ·éÏÌè`𶬷éDpX2ÅÌÝ
|
---|
915 | LøD
|
---|
916 |
|
---|
917 | -Mm--print-dependenciesn<^[QbgV{>
|
---|
918 | VXeRtBM
|
---|
919 | [Vt@CÌ˶ÖWðoÍ·éD
|
---|
920 | MakefileÌ˶ÖW𶬷éÛÉp¢éD
|
---|
921 |
|
---|
922 | RtBM
|
---|
923 | [^ÌÚ×dlÉ¢ÄÍCÊrPDFt@CÌ`ÅzzµÄ¢
|
---|
924 | éuTOPPERSV¢ãJ[lpRtBM
|
---|
925 | [^dlvðQÆ·é±ÆD
|
---|
926 |
|
---|
927 |
|
---|
928 | WDVXeT[rX
|
---|
929 |
|
---|
930 |
|
---|
931 | 8.1. VAC^tF[XhCo
|
---|
932 |
|
---|
933 | VAC^tF[XhCoÍCVA|[g𵤽ßÌhCoÅ
|
---|
934 | éD
|
---|
935 |
|
---|
936 | VAC^tF[XhCoÍCVXeRtBM
|
---|
937 | [Vt@C
|
---|
938 | Åserial.cfgðCN[h·é±ÆÅCVXeÉgÝޱƪūéD
|
---|
939 | VAC^tF[XhCoðÄÑo·\[Xt@CÅÍCserial.hð
|
---|
940 | CN[h·éD
|
---|
941 |
|
---|
942 | 8.1.1. VAC^tF[XhCoÌT[rXR[
|
---|
943 |
|
---|
944 | VAC^tF[XhCoðÄÑo·T[rXR[ÌdlÍÌÊè
|
---|
945 | Å éD±ÌÅCVA|[gÌIDÔiportidjÌðßÍ^[QbgË
|
---|
946 | ¶ÆÈéD
|
---|
947 |
|
---|
948 | ±êçÌT[rXR[ÍCñ^XNReLXg©çÄÑo·±ÆÍÅ«È
|
---|
949 | ¢DܽCserial_rea_datÆserial_wri_datÍCfBXpb`Û¯óÔÅÄÑ
|
---|
950 | o·±ÆÍūȢD¢¸êàCÄÑoµ½êÉÍE_CTXG[ÆÈéD
|
---|
951 |
|
---|
952 | (1) ER serial_opn_por(ID portid)
|
---|
953 |
|
---|
954 | portidÅwè³ê½VA|[gðI[vµCóM^MªÂ\ÈóÔÉ
|
---|
955 | ·éD
|
---|
956 |
|
---|
957 | (2) ER serial_cls_por(ID portid)
|
---|
958 |
|
---|
959 | portidÅwè³ê½VA|[gðN[Y·éD
|
---|
960 |
|
---|
961 | (3) ER_UINT serial_rea_dat(ID portid, char *buf, uint_t len)
|
---|
962 |
|
---|
963 | portidÅwè³ê½VA|[g©çClenoCg̶ñðóMµCbuf©
|
---|
964 | çÌÌæÉüêéDVA|[gÌóMobt@Éi[³êÄ¢éoCgª
|
---|
965 | len oCgæèÈ¢êCæ¾Â\Èf[^ðbufÉi[µ½ç¦ÀÉ^[
|
---|
966 | ·éDóMµ½¶Ü½ÍG[R[hðÔ·D
|
---|
967 |
|
---|
968 | (4) ER_UINT serial_wri_dat(ID portid, const char *buf, uint_t len)
|
---|
969 |
|
---|
970 | portidÅwè³ê½VA|[gÉCbuf©çÌlenoCg̶ñðM·
|
---|
971 | éDMÉVA|[gÌMobt@ªtÉÈÁ½êC»Ì_Å
|
---|
972 | ¦ÀÉ^[·éDMµ½¶Ü½ÍG[R[hðÔ·D
|
---|
973 |
|
---|
974 | (5) ER serial_ctl_por(ID portid, uint_t ioctl)
|
---|
975 |
|
---|
976 | portidÅwè³ê½VA|[ģäîñðCioctlŦ³êélÉÝè·
|
---|
977 | éD
|
---|
978 |
|
---|
979 | ioctlÉÍCȺ̧äîñð\·èðCrbgÉ_aðÆÁ½àÌð
|
---|
980 | wè·éD
|
---|
981 |
|
---|
982 | IOCTL_ECHOiGR[obN[hj
|
---|
983 | ±ÌrbgðÝè·éÆCVAC^tF[XhCoªGR[
|
---|
984 | obNðs¤DïÌIÉÍCobt@©ç¶ðæèo·xÉC»Ì
|
---|
985 | ¶ð«o·D
|
---|
986 |
|
---|
987 | IOCTL_CRLFiüs[hj
|
---|
988 | LFiline feedjð«o·ÆCCRicarriage returnj{LFÉÏ·µ
|
---|
989 | Ä«o·D
|
---|
990 |
|
---|
991 |
|
---|
992 | ȨCI[v¼ãÌftHgÌÝèlÍ(IOCTL_ECHO | IOCTL_CRLF)Å éD
|
---|
993 |
|
---|
994 |
|
---|
995 | 8.1.2. VAC^tF[XhCo̻̼ÌT[rX
|
---|
996 |
|
---|
997 | VAC^tF[XhCoÍCOLÌT[rXR[ÉÁ¦ÄCú»
|
---|
998 | Æ¢M¶ÌæoµðÂDú»ÍCJ[lÉú»[
|
---|
999 | `ƵÄo^·éDܽC^[Qbg˶ÅCú»CI¹C
|
---|
1000 | ÝT[rX[`ðÂD±êçÌo^Íserial.cfgÉÜÜêéD
|
---|
1001 |
|
---|
1002 | (1) void serial_initialize(intptr_t exinf)
|
---|
1003 |
|
---|
1004 | VAC^tF[XhCoðú»·éDJ[lÉú»[`Æ
|
---|
1005 | µÄo^·éDexinfͳ·éD
|
---|
1006 |
|
---|
1007 | (2) bool_t serial_get_chr(ID portid, char *p_c)
|
---|
1008 |
|
---|
1009 | portidÅwè³ê½VA|[gÌMobt@̶ðCp_cÌw·Ôn
|
---|
1010 | ÉæèoµCtrueðÔ·ÖD¶ªÈ©Á½ÉÍCfalseðÔ·DI¹
|
---|
1011 | [`ÅÄÑo·±ÆðzèµÄ¢éD
|
---|
1012 |
|
---|
1013 |
|
---|
1014 | 8.2. J[lN®bZ[WÌoÍ
|
---|
1015 |
|
---|
1016 | J[lN®bZ[WÌoÍÍCJ[lÌN®ÉCJ[l̼Ìâo[
|
---|
1017 | WÔCì \¦ÈÇðoÍ·é½ßÌ@\Å éD
|
---|
1018 |
|
---|
1019 | J[lN®bZ[WÌoÍÍCVXeRtBM
|
---|
1020 | [Vt@C
|
---|
1021 | Åbanner.cfgðCN[h·é±ÆÅCVXeÉgÝޱƪūéD
|
---|
1022 |
|
---|
1023 | J[lN®bZ[WÌoÍÍCÌÖÅ\¬³êéD
|
---|
1024 |
|
---|
1025 | (1) void print_banner(intptr_t exinf)
|
---|
1026 |
|
---|
1027 | VXeO@\ðp¢ÄCJ[lN®bZ[WðoÍ·éDbanner.cfg
|
---|
1028 | ÉæÁÄCJ[lÉú»[`ƵÄo^³êéDexinfͳ³êéD
|
---|
1029 |
|
---|
1030 |
|
---|
1031 | XDT|[gCu
|
---|
1032 |
|
---|
1033 | T|[gCuÍCAvP[VâVXeT[rXð쬷é½ß
|
---|
1034 | ÉpÅ«éCuÖQÅ éD
|
---|
1035 |
|
---|
1036 |
|
---|
1037 | 9.1. L
|
---|
1038 | [ìCuÖ
|
---|
1039 |
|
---|
1040 | L
|
---|
1041 | [ìCuÍCL
|
---|
1042 | [wb_ðÜÞO\¢Ì_uNL
|
---|
1043 | [
|
---|
1044 | ðµ¤CuÅ éDL
|
---|
1045 | [wb_ÌGgÍL
|
---|
1046 | [ÌæªÌGg
|
---|
1047 | COGgÍL
|
---|
1048 | [ÌöÌGgÆ·éDܽCL
|
---|
1049 | [ÌæªÌG
|
---|
1050 | gÌOGgÆCL
|
---|
1051 | [ÌöÌGgÌGgÍCL
|
---|
1052 | [wb_
|
---|
1053 | Æ·éDóÌL
|
---|
1054 | [ÍCGgCOGgÆà©ª©gðw·L
|
---|
1055 | [wb
|
---|
1056 | _Å çí·D
|
---|
1057 |
|
---|
1058 | L
|
---|
1059 | [ìCuÖðp¢éêÉÍCqueue.hðCN[h·éD
|
---|
1060 |
|
---|
1061 | L
|
---|
1062 | [wb_ÆGg̽ßÌf[^\¢ÆµÄCQUEUE\¢Ìðp¢éD
|
---|
1063 | QUEUE\¢ÌÌè`ÍÌÊèDQUEUE^ÌÏÍzñƵÄè`·é±ÆðOñÆ
|
---|
1064 | µÄ¢éD
|
---|
1065 |
|
---|
1066 | typedef struct
|
---|
1067 | {
|
---|
1068 | QUEIDX next;
|
---|
1069 | QUEIDX prev;
|
---|
1070 | } QUEUE;
|
---|
1071 |
|
---|
1072 | QUEIDXÍQUEUE^ÌzñÌCfbNXlð\·f[^^Å éD
|
---|
1073 |
|
---|
1074 | typedef uint8_t QUEIDX;
|
---|
1075 |
|
---|
1076 |
|
---|
1077 | L
|
---|
1078 | [ì̽ßÉpӵĢéÖÍÌÊèD
|
---|
1079 |
|
---|
1080 | (1) queue_initialize(QUEUE *queue , QUEIDX queue_null)
|
---|
1081 |
|
---|
1082 | L
|
---|
1083 | [ðú»·éDqueueÉÍL
|
---|
1084 | [wb_ðCqueue_nullÉÍ
|
---|
1085 | ³øÈL
|
---|
1086 | [wb_ð¦·CfbNXlðwè·éD
|
---|
1087 |
|
---|
1088 | (2) queue_insert_prev(QUEUE *top , QUEIDX queue , QUEIDX entry)
|
---|
1089 |
|
---|
1090 | queueÅwè·éGgÌOÉCentryÅwè·éGgð}ü·éD
|
---|
1091 | topÍqueueCentryðÜÞQUEUE^zñÌæªAhXÅ éD
|
---|
1092 | queueÉL
|
---|
1093 | [wb_ðwèµ½êÉÍCL
|
---|
1094 | [ÌöÉp_entryÅwè·
|
---|
1095 | éGgð}ü·é±ÆÉÈéD
|
---|
1096 |
|
---|
1097 | (3) queue_delete_next(QUEUE *top , QUEIDX queue)
|
---|
1098 |
|
---|
1099 | queueÅwè·éGgÌÌGgðíµCíµ½GgÌ
|
---|
1100 | L
|
---|
1101 | [zñÌCfbNXðÔ·D
|
---|
1102 | topÍqueueCentryðÜÞQUEUE^zñÌæªAhXÅ éD
|
---|
1103 |
|
---|
1104 | (6) queue_empty(QUEUE *queue , QUEIDX queue_null)
|
---|
1105 |
|
---|
1106 | L
|
---|
1107 | [ªóÌêÉÍtrueC»¤ÅÈ¢êÉÍfalseðÔ·DqueueÉÍ
|
---|
1108 | L
|
---|
1109 | [wb_ðCqueue_nullÉͳøÈL
|
---|
1110 | [wb_ð¦·CfbNXlð
|
---|
1111 | wè·éD
|
---|
1112 |
|
---|
1113 |
|
---|
1114 | PODgpãÌÓÆqg
|
---|
1115 |
|
---|
1116 | 10.1. ^C}hCoÌgÝ
|
---|
1117 |
|
---|
1118 | ^C}hCoðVXeÉgÝÞ½ßÉCVXeRtBM
|
---|
1119 | [V
|
---|
1120 | t@CÌæªÅtarget_timer.cfgðCN[h·éKvª éD
|
---|
1121 |
|
---|
1122 | 10.2. assert}NÌ
|
---|
1123 |
|
---|
1124 | SSPJ[lÌR[hÉÍCassert}NªgíêÄ¢éDassert}NÌè
|
---|
1125 | `Ít_stddef.hÉÜÜêCassertª¸sµ½êÌÅãÌiÊíÍCv
|
---|
1126 | Oðâ~³¹éjÍC^[Qbg˶ÌTOPPERS_assert_abortÅ
|
---|
1127 | è³êéD
|
---|
1128 |
|
---|
1129 | assertª¸sµ½êCVXeJÍfobKÉÆ·Ìª]ܵ¢ªC
|
---|
1130 | VXeÒÌÎ@ÍCVXeÉηévÉ˶·éD»±ÅC^[
|
---|
1131 | Qbg˶ÌTOPPERS_assert_abortðCVXevÉvµ½KØÈ
|
---|
1132 | Éu«·¦éKvª éDVXevÉæÁÄÍCNDEBUGðè`µÄassert
|
---|
1133 | }NÌðIuWFNgR[h©çÁ·iu6.2 RpCIvVv
|
---|
1134 | ÌßðQÆjû@àl¦çêéD
|
---|
1135 |
|
---|
1136 |
|
---|
1137 | 10.3. IuWFNgIDÌÇ
|
---|
1138 |
|
---|
1139 | TOPPERS/SSPJ[lÅÍCIuWFNgÌIDÔðCRtBM
|
---|
1140 | [^ª
|
---|
1141 | èt¯éû@ªî{ÆÈÁÄ¢éD
|
---|
1142 |
|
---|
1143 | AvP[VvOÅIuWFNgÌIDÔðQÆ·éêÉÍC
|
---|
1144 | Ì2ÂÌû@ªl¦çêéD
|
---|
1145 |
|
---|
1146 | (1) IuWFNg¯Ê¼ðp¢é
|
---|
1147 |
|
---|
1148 | IuWFNg¶¬Ì½ßÌÃIAPIiCRE_YYYjÌæ1p[^ÉLqµ½Iu
|
---|
1149 | WFNg¯Ê¼ðCAvP[VvOÅàp¢éû@D
|
---|
1150 |
|
---|
1151 | RtBM
|
---|
1152 | [^ÍCIuWFNg¯Ê¼ðCèt¯½IDÔÉ}Nè
|
---|
1153 | `·éC¾êvvZbTÌfBNeBui#definejðkernel_cfg.hɶ
|
---|
1154 | ¬·é½ßCAvP[VvO©çkernel_cfg.hðCN[h·
|
---|
1155 | éKvª éD
|
---|
1156 |
|
---|
1157 | ±Ìû@ÍCIuWFNgR[hÉIDÔª¼ÚßÜêé½ßÉÀsø
|
---|
1158 | ¦ªÇ¢êûÅCRtBM
|
---|
1159 | [^ªÀs³êÄkernel_cfg.hª«·íé
|
---|
1160 | xÉCAvP[VvOÌÄRpCªKvÉÈ鯢¤_ª
|
---|
1161 | éD»Ì½ßCAvP[VvOð\¬·ét@CÌÅCê
|
---|
1162 | Ìt@CÌÝÅIuWFNg¯Ê¼ðQÆ·é\¬É·éÆ¢Á½Hvð
|
---|
1163 | ·é±Æª]ܵ¢D
|
---|
1164 |
|
---|
1165 | (2) IuWFNgÌIDÔðÛ·éÏðp¢é
|
---|
1166 |
|
---|
1167 | IuWFNgÌIDÔðÛ·éconst®«ðtÁµ½ÏðpÓµCAvP[
|
---|
1168 | VvOÅÍC»ÌÏðp¢éû@D
|
---|
1169 |
|
---|
1170 | á¦ÎCTASK1Æ¢¤IuWFNg¯Ê¼Ì^XNÉεÄCÌæ¤ÈÏð
|
---|
1171 | pÓ·éD
|
---|
1172 |
|
---|
1173 | const ID TASK1_id = TASK1;
|
---|
1174 |
|
---|
1175 | AvP[VvOÅÍC±ÌÏiTASK1_idjðp¢é±ÆÅC
|
---|
1176 | RtBM
|
---|
1177 | [^ªÀs³êÄkernel_cfg.hª«·íéxÉCãLÌÏ
|
---|
1178 | è`ðÜñ¾t@CÌÝðÄRpC·êÎæ¢±ÆÉÈéD
|
---|
1179 |
|
---|
1180 | ±Ìû@ÍCAvP[VvOÌÄRpCðŬÀÉÅ«é
|
---|
1181 | _ª éêûÅCÏ̽ßÌÌæªKvÉÈ鱯ÉÁ¦ÄCiv
|
---|
1182 | ZbTÉæÁÄÍjÏANZX̽ßÌI[owbhª¶¶éÆ¢¤_ª
|
---|
1183 | éDܽCèÅÍÈÏŠ鱯©çC¼ÌÏÌú»ÉÍg¦È
|
---|
1184 | ¢Æ¢¤§Àª éD
|
---|
1185 |
|
---|
1186 | ȨCTOPPERS/SSPJ[lÌRtBM
|
---|
1187 | [^ÍC--external-idIvV
|
---|
1188 | ðtÁ·é±ÆÉæèCãLÌÏè`ðkernel_cfg.cɶ¬·é@\ð
|
---|
1189 | ÁÄ¢éÌÅC·×ÄÌIuWFNgIDð±Ìû@ÅQÆ·éêÉÍC±
|
---|
1190 | Ì@\ðp¢é±Æð§·éD
|
---|
1191 |
|
---|
1192 | RtBM
|
---|
1193 | [^ÉæéIDÔt¯Ìà¤1ÂÌÛèÆµÄCRtBM
|
---|
1194 |
|
---|
1195 | [Vt@CÌC³ÉæèCIuWFNgIDÌt¯ªÏíÁĵܤ
|
---|
1196 | ±Æª°çêéD±êÍCAvP[V\tgEFAÌÝvdlÉID
|
---|
1197 | ÔªLÚ³êÄ¢éêâCfobOìÆÉ¨¢ÄIDÔð¦lƵÄ\¦
|
---|
1198 | âmFªÅ«È¢êÉCìÆø¦ðẳ¹éÂ\«ªl¦çêéD
|
---|
1199 |
|
---|
1200 | ±ÌâèÉηé½ßÉCTOPPERSV¢ãJ[lpRtBM
|
---|
1201 | [^ÉÍC
|
---|
1202 | IDÔÌt¯Êðt@CÉ«o·@\i--id-output-fileIvVj
|
---|
1203 | ÆCIDÔÌt¯ðt@C©çæèÞ@\i--id-input-fileIvVj
|
---|
1204 | ƪpÓ³êÄ¢éD½¾µSSPJ[lÌêC»_ÅÍ®ìãÌâèª è
|
---|
1205 | gp·é±ÆªÅ«È¢DÚ×Í configurator.txt ÌuJ[l\¬Eú
|
---|
1206 | »t@Cikernel_cfg.cjvÌ (5) ðQÆÌ±ÆD
|
---|
1207 |
|
---|
1208 | 10.4. J[lÌàV{Ìl[
|
---|
1209 |
|
---|
1210 | SSPJ[lÅÍCW
|
---|
1211 | [à̼̪¼ÌW
|
---|
1212 | [àÌ¼ÌÆÕË·
|
---|
1213 | 鱯ðð¯é½ßÉCJ[lÌàV{ÍCC¾êxÅC檪
|
---|
1214 | "_kernel_"ܽÍ"_KERNEL_"Å é¼ÌƵĢéD
|
---|
1215 |
|
---|
1216 | ±êð\[XR[hÌÂǫƼ§³¹é½ßÉCSSPJ[lÅÍC\[XR[
|
---|
1217 | hÍ©RȼOðp¢ÄLqµCC¾êvvZbTÌ}Nè`i#definej
|
---|
1218 | ðp¢ÄC»êð"_kernel_"ܽÍ"_KERNEL_"ÅnÜé¼Oi©RȼOª
|
---|
1219 | yyyyyÌêÉÍC_kernel_yyyyyjÉl[·édgÝðp¢Ä¢éD
|
---|
1220 |
|
---|
1221 | ïÌIÉÍCÖA·éfBNgÉxxx_rename.defðu«C»±©çl[
|
---|
1222 | ̽ßÌwb_t@Cixxx_rename.h¨æÑxxx_unrename.hj𶬷é
|
---|
1223 | c[iutils/genrenamejðpӵĢéD
|
---|
1224 |
|
---|
1225 | ±ÌdgÝÍC\[XR[hÌÂÇ«üãÉð§ÂêûÅC¾Qà éDá¦
|
---|
1226 | ÎC½ÌfobKÅC\[XR[hÌ¼ÌÆIuWFNgR[h̼Ì
|
---|
1227 | ªÙÈé½ßÉC\[XR[hÌϼðwèµÄlðÇñ¾èCÖ¼ð
|
---|
1228 | wèµÄu[N|CgðuÆ¢Á½±ÆªÅ«È¢D
|
---|
1229 |
|
---|
1230 | ±ÌóµÉηé½ßÉCSSPJ[lÅÍC\[XR[hÌY·é¼Ì
|
---|
1231 | ðl[·é½ßÌ[eBeBiutils/applyrenamejðpӵĢéD
|
---|
1232 | applyrename[eBeBÉCl[è`t@Cixxx_rename.defjÌv
|
---|
1233 | tBbNXixxx̪jÆCl[µ½¢t@CXgð^¦éÆC
|
---|
1234 | l[ðsȤDá¦ÎCkernelfBNgÌ·×ÄÌt@CÉε
|
---|
1235 | ÄCJ[lÌàV{ðl[·éÉÍCÌR}hðÀs·êÎ
|
---|
1236 | æ¢D
|
---|
1237 |
|
---|
1238 | % cd kernel
|
---|
1239 | % ../utils/applyrename kernel *
|
---|
1240 |
|
---|
1241 | ܽC^[Qbg˶ÌfBNgÌ·×ÄÌt@CÉεÄCJ[l
|
---|
1242 | ÌàV{ðl[·éÉÍCÌæ¤ÈR}hðÀs·êÎæ¢D
|
---|
1243 |
|
---|
1244 | % cd target/cq_starm_gcc/
|
---|
1245 | % ../../utils/applyrename target *
|
---|
1246 | % ../../utils/applyrename ../../kernel/kernel *
|
---|
1247 |
|
---|
1248 | 10.5. VXeÌN®Ìú»
|
---|
1249 |
|
---|
1250 | VXeÌN®ÉAvP[VÅKvÆÈéú»ðs¤½ßÌ@
|
---|
1251 | \ƵÄú»[`ªpÓ³êÄ¢éªCú»[`ªÀs³êéæ
|
---|
1252 | èà¢^C~OÅÀs·é±ÆªKvÈú»ª éêª éD
|
---|
1253 |
|
---|
1254 | ±Ìæ¤ÈêÉp¢é½ßÉCWIÈX^[gAbvW
|
---|
1255 | [©çC^[
|
---|
1256 | QbgVXe˶Ìú»tbNihardware_init_hookjðÄÑo·±ÆÆ
|
---|
1257 | µÄ¢éDhardware_init_hookÍCJ[lÌ^[Qbg˶ÅpÓ³êÄ
|
---|
1258 | ¢é̪WÅ éªC±êðAvP[VÅpÓµ½àÌÉu«·¦C
|
---|
1259 | »ÌÅAvP[VÅKvÆÈéú»ðs¤±ÆªÅ«éD
|
---|
1260 |
|
---|
1261 | ½¾µChardware_init_hookÌ쬷éêÉÍCbssZNVÆdataZNV
|
---|
1262 | ªú»³êĢȢ±ÆâCCuªú»³êĢȢ±ÆCC¾ê
|
---|
1263 | ÅLqÅ«éÆÍÀçÈ¢±ÆÈÇÉÓªKvÅ éDì¬É ½ÁÄÍC
|
---|
1264 | u^[Qbg˶ |[eBOKChvðQÆ·é±ÆD
|
---|
1265 |
|
---|
1266 | J[lÌX^[gAbvW
|
---|
1267 | [ªhardware_init_hookðÄÑo·æ¤É
|
---|
1268 | À³êĢȢêÉÍCX^[gAbvW
|
---|
1269 | [ðAvP[VÅ
|
---|
1270 | pÓµ½àÌÉu«·¦éû@ð§·éD
|
---|
1271 |
|
---|
1272 | PPDQlîñ
|
---|
1273 |
|
---|
1274 | 11.1. pðÆpñ
|
---|
1275 |
|
---|
1276 | SSPJ[lÌpðÍCet@CÌæªÉ\¦³êÄ¢éDì ÍCe
|
---|
1277 | t@CÌæªÉ\¦³êÄ¢éì ÒªÛLµÄ¢éD
|
---|
1278 |
|
---|
1279 | pðÌ(3)Ì(b)ɨ¢ÄCpÌ`ÔðTOPPERSvWFNgÉñ·éû
|
---|
1280 | @ƵÄÍCSSPJ[lðpµ½»iÌ¼ÌÆpªìC»i»µ½ïм
|
---|
1281 | ÆÆíÌîñðCȺÌURLÌy[W©çñ·éàÌÆ·éD
|
---|
1282 |
|
---|
1283 | http://www.toppers.jp/report.html
|
---|
1284 |
|
---|
1285 | ܽ»ÌÛÉCSSPJ[lðgpµÄÌRgâ²Ó©à¢½¾¯éÆK¢
|
---|
1286 | Å éD
|
---|
1287 |
|
---|
1288 | 11.2. ÛØEKp«ET|[g
|
---|
1289 |
|
---|
1290 | SSPJ[lÍ³ÛØÅñ³êÄ¢éàÌÅ éDJÒ¨æÑTOPPERSv
|
---|
1291 | WFNgÍCSSPJ[lÉÖµÄCÁèÌgpÚIÉηéK«àÜßÄC
|
---|
1292 | ¢©ÈéÛØàsíÈ¢DܽCSSPJ[lÌpÉæè¼ÚIܽÍÔÚI
|
---|
1293 | ɶ¶½¢©Èé¹QÉÖµÄàC»ÌÓCðíÈ¢D
|
---|
1294 |
|
---|
1295 | JÒ¨æÑTOPPERSvWFNgÍCSSPJ[lÉÖ·éT|[gÌñ©Í
|
---|
1296 | µÄ¢È¢DSSPJ[lÉֵĿ⪠éêÍCãqÌTOPPERS[U[
|
---|
1297 | Y[OXgðpµÄ¢½¾¯éÆK¢Å éDmÀÈT|[gªK
|
---|
1298 | vÈêÉÍCLÅT|[gT[rXðñµÄ¢éïÐÉk³ê½¢D
|
---|
1299 |
|
---|
1300 | 11.3. oO|[g
|
---|
1301 |
|
---|
1302 | SSPJ[lÉoOââè_ð©³ê½êÉÍCãqÌTOPPERS[U[Y
|
---|
1303 | [OXgÉñµÄ~µ¢D
|
---|
1304 |
|
---|
1305 | [OXgÉoOââè_ÈÇðñ·éêÉÍCKvɶÄÌ
|
---|
1306 | îñðmç¹Ä~µ¢D
|
---|
1307 |
|
---|
1308 | gpµÄ¢éJ[lÉÖ·éîñ
|
---|
1309 | E^[Qbgñ˶Ìo[W
|
---|
1310 | EgpµÄ¢é^[Qbg˶ƻÌo[W
|
---|
1311 | ETOPPERSvWFNg©çÌ[XÉηéü¢Ói êÎj
|
---|
1312 |
|
---|
1313 | ^[QbgVXeÉÖ·éîñ
|
---|
1314 | E^[QbgvZbTÌíÞ
|
---|
1315 | E^[Qbg{[hÌíÞ
|
---|
1316 |
|
---|
1317 | zXgÉÖ·éîñ
|
---|
1318 | EOSÌo[WiT[rXpbNÌKpóµàj
|
---|
1319 | ERpCÈÇÌJ«Ìo[WiCygwinÌo[Wàj
|
---|
1320 |
|
---|
1321 | 11.4. EFuTCg
|
---|
1322 |
|
---|
1323 | TOPPERSvWFNgÌEFuTCgÍCȺÌURLÉ éD
|
---|
1324 |
|
---|
1325 | http://www.toppers.jp/
|
---|
1326 |
|
---|
1327 | TOPPERSvWFNgâSSPJ[lÉÖ·éÅVîñÍC±ÌEFuTCg©
|
---|
1328 | ç¾é±ÆªÅ«éDܽCSSPJ[lÌÅVÅÍC±ÌEFuTCg©ç_
|
---|
1329 | E[h·é±ÆªÅ«éD
|
---|
1330 |
|
---|
1331 | 11.5. TOPPERS[U[Y[OXg
|
---|
1332 |
|
---|
1333 | SSPJ[lðÜÞTOPPERSvWFNgÌJ¬Ê¨Ì[UÉηéîññ
|
---|
1334 | ¨æÑ[UÝÔÌîñð·ðeÕÉ·é½ßÉCTOPPERS[U[Y[
|
---|
1335 | OXgiusers@toppers.jpjðpӵĢéD
|
---|
1336 |
|
---|
1337 | ±Ì[OXgÉÍCNÅà©RÉo^µC[ðt·é±ÆªÅ
|
---|
1338 | «éio^ÒÈOÍ[ðtūȢjDܽCt³ê½[ÍCN
|
---|
1339 | Åà©RÉEFuTCgÅÇޱƪūéD
|
---|
1340 |
|
---|
1341 | [OXgÖÌo^û@É¢ÄÍCȺÌURLÌy[WÉྪ éD
|
---|
1342 |
|
---|
1343 | http://www.toppers.jp/community.html
|
---|
1344 |
|
---|
1345 | 11.6. TOPPERSvWFNgÌoü¯ÌT[rX
|
---|
1346 |
|
---|
1347 | TOPPERSvWFNgÌoÉεÄÍCãLÉÁ¦ÄCSSPJ[lÉÖA
|
---|
1348 | µÄÌT[rXðpӵĢéD
|
---|
1349 |
|
---|
1350 | (1) TOPPERSJÒ[OXg
|
---|
1351 |
|
---|
1352 | TOPPERSvWFNgÌoÍCSSPJ[lÉÖ·é¿âCoOââè_È
|
---|
1353 | ÇÌñÉCTOPPERSJÒ[OXgidev@toppers.jpjðp·é±
|
---|
1354 | ƪūéD
|
---|
1355 |
|
---|
1356 | (2) SSPJ[lÌJxTCg
|
---|
1357 |
|
---|
1358 | SSPJ[lÌJx̽ßÌTRACioOgbLOVXejªCȺÌ
|
---|
1359 | URLÉ éiTRACÖÌANZXÉÍCïõpX[hªKvÅ éjD
|
---|
1360 |
|
---|
1361 | http://dev.toppers.jp/trac/ssp_core
|
---|
1362 |
|
---|
1363 | TOPPERSvWFNgÌoÍC±ÌTCg©çCEFuC^tF[X¨æ
|
---|
1364 | ÑsubversionT[oÉæèCSSPJ[lÌJÌo[Wð¾é±ÆªÅ
|
---|
1365 | «éDܽCoOgbLOf[^x[XÉANZX·é±ÆªÅ«Cß
|
---|
1366 | ÌoOðÖÌANZXâCoOÌo^ð·é±ÆªÅ«éD
|
---|
1367 |
|
---|
1368 | 11.7. TOPPERSvWFNgÖÌQÁ
|
---|
1369 |
|
---|
1370 | TOPPERSvWFNgÅÍC½©çÌ`ÅvWFNgÉv£µÄ¢½¾¯éûC
|
---|
1371 | vWFNgÅJµ½\tgEFAð¨g¢ÌûCvWFNgÉ»¡ð¨
|
---|
1372 | ¿ÌûÌQÁðßÄ¢éDTOPPERSvWFNgÖÌQÁû@É¢ÄÍC
|
---|
1373 | ȺÌy[WÉྪ éD
|
---|
1374 |
|
---|
1375 | http://www.toppers.jp/joinus.html
|
---|
1376 |
|
---|
1377 |
|
---|
1378 | PQDt@X
|
---|
1379 |
|
---|
1380 | 12.1. T[rXR[ê
|
---|
1381 |
|
---|
1382 | (1) ^XNÇ@\
|
---|
1383 |
|
---|
1384 | ER ercd = act_tsk(ID tskid)
|
---|
1385 | ER ercd = iact_tsk(ID tskid)
|
---|
1386 |
|
---|
1387 | (2) VXeóÔÇ@\
|
---|
1388 |
|
---|
1389 | ER ercd = loc_cpu(void)
|
---|
1390 | ER ercd = iloc_cpu(void)
|
---|
1391 | ER ercd = unl_cpu(void)
|
---|
1392 | ER ercd = iunl_cpu(void)
|
---|
1393 | ER ercd = dis_dsp(void)
|
---|
1394 | ER ercd = ena_dsp(void)
|
---|
1395 | bool_t state = sns_ctx(void)
|
---|
1396 | bool_t state = sns_loc(void)
|
---|
1397 | bool_t state = sns_dsp(void)
|
---|
1398 | bool_t state = sns_dpn(void)
|
---|
1399 | bool_t state = sns_ker(void)
|
---|
1400 | ER ercd = ext_ker(void)
|
---|
1401 |
|
---|
1402 | (3) ÝÇ@\
|
---|
1403 |
|
---|
1404 | ER ercd = dis_int(INTNO intno)
|
---|
1405 | ER ercd = ena_int(INTNO intno)
|
---|
1406 |
|
---|
1407 | 12.2. ÃIAPIê
|
---|
1408 |
|
---|
1409 | (1) ^XNÇ@\
|
---|
1410 |
|
---|
1411 | CRE_TSK(ID tskid, { ATR tskatr, intptr_t exinf, TASK task,
|
---|
1412 | PRI itskpri, SIZE stksz, STK_T *stk })
|
---|
1413 | DEF_EPR(ID tskid,{ PRI etskpri })
|
---|
1414 |
|
---|
1415 | (2) ÝÇ@\
|
---|
1416 |
|
---|
1417 | ATT_ISR({ ATR isratr, intptr_t exinf, INTNO intno, ISR isr, PRI isrpri })
|
---|
1418 | DEF_INH(INHNO inhno, { ATR inhatr, INTHDR inthdr })
|
---|
1419 | CFG_INT(INTNO intno, { ATR intatr, PRI intpri })
|
---|
1420 |
|
---|
1421 | (3) CPUáOÇ@\
|
---|
1422 |
|
---|
1423 | DEF_EXC(EXCNO excno, { ATR excatr, EXCHDR exchdr })
|
---|
1424 |
|
---|
1425 | (4) VXe\‚@\
|
---|
1426 |
|
---|
1427 | DEF_ICS({ SIZE istksz, STK_T *istk })
|
---|
1428 | DEF_STK({SIZE stksz, STK_T *stk})
|
---|
1429 | ATT_INI({ ATR iniatr, intptr_t exinf, INIRTN inirtn })
|
---|
1430 | ATT_TER({ ATR teratr, intptr_t exinf, TERRTN terrtn })
|
---|
1431 |
|
---|
1432 | 12.3. o[Wð
|
---|
1433 |
|
---|
1434 | 2011N 331ú Release 1.0.0 ú[X
|
---|
1435 | 2011N1116ú Release 1.1.0 ÅÌêÊ[X
|
---|
1436 | 2011N 323ú Release 1.1.1 y÷ÈC³ÆoOtBbNX
|
---|
1437 | 2013N 423ú Release 1.2.0 ^XNÌN®vL
|
---|
1438 | [CO@\ÌÇÁ
|
---|
1439 | DEF_ICSÌdlÏX
|
---|
1440 | DEF_STKÌÇÁ
|
---|
1441 | ¯úEÊM@\g£pbP[WÌÇÁ
|
---|
1442 | 2014N 3 6ú Release 1.2.1 oOtBbNX
|
---|
1443 | 2015N 519ú Release 1.3.0
|
---|
1444 |
|
---|
1445 | Èã
|
---|