source: ssp_qb_r5f100le_cs/trunk/doc/user.txt@ 93

Last change on this file since 93 was 93, checked in by nmir-saito, 8 years ago

add Combined package of SSP kernel for QB-R5F100LE-TB(RL78 processor)

File size: 48.9 KB
Line 
1
2 TOPPERS/SSPƒJ[ƒlƒ‹
3 ƒ†[ƒU[ƒYƒ}ƒjƒ…
4ƒAƒ‹
5
6 ‘Ήžƒo[ƒWƒ‡ƒ“: Release 1.3.0
7 ÅIXV: 2015”N5ŒŽ19“ú
8
9‚±‚̃hƒLƒ…
10ƒƒ“ƒg‚́CTOPPERS/SSPƒJ[ƒlƒ‹‚ðŽg—p‚·‚邽‚ß‚É•K—v‚ÈŽ–€‚ðà–¾
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–{ƒ\ƒtƒgƒEƒF
22 ƒAi–{ƒ\ƒtƒgƒEƒFƒA‚ð‰ü•Ï‚µ‚½‚à‚Ì‚ðŠÜ‚ށDˆÈ‰º“¯‚¶j‚ðŽg—pE•¡»E‰ü
23 •ÏEÄ”z•ziˆÈ‰ºC—˜—p‚ƌĂԁj‚·‚邱‚Ƃ𖳏ž‚Å‹–‘ø‚·‚éD
24 (1) –{ƒ\ƒtƒgƒEƒFƒA‚ðƒ\[ƒXƒR[ƒh‚ÌŒ`‚Å—˜—p‚·‚éê‡‚ɂ́Cã‹L‚Ì’˜ì
25 Œ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’肪C‚»‚Ì‚Ü‚Ü‚ÌŒ`‚Ń\[
26 ƒXƒR[ƒh’†‚ÉŠÜ‚Ü‚ê‚Ä‚¢‚邱‚ƁD
27 (2) –{ƒ\ƒtƒgƒEƒFƒA‚ðCƒ‰ƒCƒuƒ‰ƒŠŒ`Ž®‚ȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg
28 —p‚Å‚«‚éŒ`‚ōĔz•z‚·‚éê‡‚ɂ́CÄ”z•z‚É”º‚¤ƒhƒLƒ…
29ƒƒ“ƒgi—˜—p
30 ŽÒƒ}ƒjƒ…
31ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜ìŒ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L
32 ‚Ì–³•ÛØ‹K’è‚ðŒfÚ‚·‚邱‚ƁD
33 (3) –{ƒ\ƒtƒgƒEƒFƒA‚ðC‹@Ší‚É‘g‚ݍž‚ނȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg
34 —p‚Å‚«‚È‚¢Œ`‚ōĔz•z‚·‚éê‡‚ɂ́CŽŸ‚Ì‚¢‚¸‚ê‚©‚ÌðŒ‚ð–ž‚½‚·‚±
35 ‚ƁD
36 (a) Ä”z•z‚É”º‚¤ƒhƒLƒ…
37ƒƒ“ƒgi—˜—pŽÒƒ}ƒjƒ…
38ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜
39 ìŒ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’è‚ðŒfÚ‚·‚邱‚ƁD
40 (b) Ä”z•z‚ÌŒ`‘Ô‚ðC•Ê‚É’è‚ß‚é•û–@‚É‚æ‚Á‚āCTOPPERSƒvƒƒWƒFƒNƒg‚É
41 •ñ‚·‚邱‚ƁD
42 (4) –{ƒ\ƒtƒgƒEƒFƒA‚Ì—˜—p‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚é‚¢‚©‚Ȃ鑹
43 ŠQ‚©‚ç‚àCã‹L’˜ìŒ ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚ð–Ɛӂ·‚邱‚ƁD
44 ‚Ü‚½C–{ƒ\ƒtƒgƒEƒFƒA‚̃†[ƒU‚Ü‚½‚̓Gƒ“ƒhƒ†[ƒU‚©‚ç‚Ì‚¢‚©‚Ȃ闝
45 —R‚ÉŠî‚­¿‹‚©‚ç‚àCã‹L’˜ìŒ ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚ð
46 –Ɛӂ·‚邱‚ƁD
47
48 –{ƒ\ƒtƒgƒEƒFƒA‚́C–³•ÛØ‚Å’ñ‹Ÿ‚³‚ê‚Ä‚¢‚é‚à‚Ì‚Å‚ ‚éDã‹L’˜ìŒ ŽÒ‚¨
49 ‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚́C–{ƒ\ƒtƒgƒEƒFƒA‚ÉŠÖ‚µ‚āC“Á’è‚ÌŽg—p–Ú“I
50 ‚ɑ΂·‚é“K‡«‚àŠÜ‚߂āC‚¢‚©‚È‚é•ÛØ‚às‚í‚È‚¢D‚Ü‚½C–{ƒ\ƒtƒgƒEƒF
51 ƒA‚Ì—˜—p‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚½‚¢‚©‚Ȃ鑹ŠQ‚ÉŠÖ‚µ‚Ä‚àC‚»
52 ‚̐ӔC‚𕉂í‚È‚¢D
53
54----------------------------------------------------------------------
55
56›–ÚŽŸ
57
58‚PDTOPPERS/SSPƒJ[ƒlƒ‹‚ÌŠT—v
59 1.1 TOPPERS/SSPƒJ[ƒlƒ‹‚̈ʒu•t‚¯
60 1.2 TOPPERS/SSPƒJ[ƒlƒ‹‚ÌŽd—l
61 1.3 Šù’m‚Ì–â‘è
62‚QDƒ^[ƒQƒbƒgˆË‘¶•”
63 2.1 ƒ^[ƒQƒbƒgˆË‘¶•”‚ÌŠT—v
64 2.2 ŠÈˆÕƒpƒbƒP[ƒW
65 2.3 ŒÂ•ÊƒpƒbƒP[ƒW
66‚RDƒNƒCƒbƒNƒXƒ^[ƒgƒKƒCƒh
67 3.1 ŠJ”­ŠÂ‹«‚̏€”õ
68 3.2 ƒRƒ“ƒtƒBƒMƒ…
69ƒŒ[ƒ^‚̍\’z
70 3.3 ƒTƒ“ƒvƒ‹ƒvƒƒOƒ‰ƒ€‚̍\’z‚ÆŽÀs
71 3.4 ƒJ[ƒlƒ‹‚ðŠÖ”’PˆÊ‚щƒCƒuƒ‰ƒŠ‰»‚·‚é•û–@
72 3.5 ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ƃJ[ƒlƒ‹‚ð•ÊX‚ɍ\’z‚·‚é•û–@
73‚SDƒfƒBƒŒƒNƒgƒŠ\¬Eƒtƒ@ƒCƒ‹\¬
74 4.1 ”z•zƒpƒbƒP[ƒW‚̃fƒBƒŒƒNƒgƒŠ\¬
75 4.2 ƒ^[ƒQƒbƒg”ñˆË‘¶•”‚̃tƒ@ƒCƒ‹\¬
76‚TDƒRƒ“ƒtƒBƒMƒ…
77ƒŒ[ƒVƒ‡ƒ“ƒXƒNƒŠƒvƒg‚ÌŽg‚¢•û
78‚UDMakefile‚̏C³•û–@
79 6.1 Makefile‚̕ϐ”’è‹`
80 6.2 ƒRƒ“ƒpƒCƒ‹ƒIƒvƒVƒ‡ƒ“
81‚VDƒRƒ“ƒtƒBƒMƒ…
82ƒŒ[ƒ^‚ÌŽg‚¢•û
83‚WDƒVƒXƒeƒ€ƒT[ƒrƒX
84 8.1 ƒVƒŠƒAƒ‹ƒCƒ“ƒ^ƒtƒF[ƒXƒhƒ‰ƒCƒo
85 8.1.1 ƒVƒŠƒAƒ‹ƒCƒ“ƒ^ƒtƒF[ƒXƒhƒ‰ƒCƒo‚̃T[ƒrƒXƒR[ƒ‹
86 8.1.2 ƒVƒŠƒAƒ‹ƒCƒ“ƒ^ƒtƒF[ƒXƒhƒ‰ƒCƒo‚Ì‚»‚Ì‘¼‚̃T[ƒrƒX
87 8.2 ƒJ[ƒlƒ‹‹N“®ƒƒbƒZ[ƒW‚̏o—Í
88‚XDƒTƒ|[ƒgƒ‰ƒCƒuƒ‰ƒŠ
89 9.1 ƒLƒ…
90[‘€ìƒ‰ƒCƒuƒ‰ƒŠŠÖ”
91‚P‚ODŽg—pã‚Ì’ˆÓ‚ƃqƒ“ƒg
92 10.1 ƒ^ƒCƒ}ƒhƒ‰ƒCƒo‚Ì‘gž‚Ý
93 10.2 assertƒ}ƒNƒ‚̏ˆ—
94 10.3 ƒIƒuƒWƒFƒNƒgID‚ÌŠÇ—
95 10.4 ƒJ[ƒlƒ‹‚Ì“à•”ƒVƒ“ƒ{ƒ‹‚̃Šƒl[ƒ€
96 10.5 ƒVƒXƒeƒ€‚Ì‹N“®Žž‚̏‰Šú‰»ˆ—
97‚P‚PDŽQlî•ñ
98 11.1 —˜—pðŒ‚Æ—˜—p•ñ
99 11.2 •ÛØE“K—p«EƒTƒ|[ƒg
100 11.3 ƒoƒOƒŒƒ|[ƒg
101 11.4 ƒEƒFƒuƒTƒCƒg
102 11.5 TOPPERSƒ†[ƒU[ƒYƒ[ƒŠƒ“ƒOƒŠƒXƒg
103 11.6 TOPPERSƒvƒƒWƒFƒNƒg‚̃ƒ“ƒoŒü‚¯‚̃T[ƒrƒX
104 11.7 TOPPERSƒvƒƒWƒFƒNƒg‚Ö‚ÌŽQ‰Á
105‚P‚QD
106 12.1 ƒT[ƒrƒXƒR[ƒ‹ˆê——
107 12.2 Ã“IAPIˆê——
108 12.3 ƒo[ƒWƒ‡ƒ“—š—ð
109
110
111‚PDTOPPERS/SSPƒJ[ƒlƒ‹‚ÌŠT—v
112
1131.1. TOPPERS/SSPƒJ[ƒlƒ‹‚̈ʒu•t‚¯
114
115TOPPERS/SSPƒJ[ƒlƒ‹‚́CTOPPERS/ASPƒJ[ƒlƒ‹‚ÌŽd—l‚ɑ΂µ‚āC
116¬‹K–̓AƒvƒŠƒP[ƒVƒ‡ƒ“Œü‚¯‚ÉŽd—l‚ði‚Á‚½‚à‚Ì‚Å‚ ‚éDÅ¬ƒZƒbƒg‚É
117‚¨‚¯‚é"Å¬"‚Ƃ́CƒJ[ƒlƒ‹‚ªŽg—p‚·‚éROM/RAMŽg—p—Ê‚ð¬‚³‚­‚·‚邽‚ß‚É
118Žd—l‚ðÅ“K‰»‚·‚邱‚Æ‚ðˆÓ–¡‚·‚éD
119
120’ñ‹Ÿ‚·‚é‹@”\‚̓ÊITRON4.0Žd—l€‹’‚̍Œá‹@”\‚ðƒx[ƒX‚Æ‚µ‚āCˆê•”
121Ž©“®ŽÔ§Œä—pƒvƒƒtƒ@ƒCƒ‹‚Ì‹@”\‚ðŽæ‚荞‚ށD
122
123‚±‚Ì‚½‚߁CSSPƒJ[ƒlƒ‹‚ÍASPƒJ[ƒlƒ‹‚̉ºˆÊŒÝŠ·‚Å‚àãˆÊŒÝŠ·‚Å‚à‚È‚¢D
124‚½‚¾‚µC§–ñƒ^ƒXƒNŠg’£ƒpƒbƒP[ƒW‚ð“K—p‚µ‚½ê‡CSSPƒJ[ƒlƒ‹‚Í
125SSPƒJ[ƒlƒ‹‚̏ãˆÊŒÝŠ·‚Æ‚È‚éD
126
1271.2. TOPPERS/SSPƒJ[ƒlƒ‹‚ÌŽd—l
128
129SSPƒJ[ƒlƒ‹‚ÌŽd—l‚ÌŠT—v‚ɂ‚¢‚ẮCuTOPPERSV¢‘ãƒJ[ƒlƒ‹“‡Žd—l‘v‚ð
130ŽQÆ‚Ì‚±‚ƁD
131
1321.3. Šù’m‚Ì–â‘è
133
134kernel_cfg.ci‚¨‚æ‚Ñcfg1_out.cj‚́CƒJ[ƒlƒ‹CƒVƒXƒeƒ€ƒT[ƒrƒXCƒAƒvƒŠ
135ƒP[ƒVƒ‡ƒ“‚Ì‚¢‚¸‚ê‚̃Cƒ“ƒNƒ‹[ƒhƒtƒ@ƒCƒ‹‚àƒCƒ“ƒNƒ‹[ƒh‚µC‚¢‚¸‚ê‚̃Vƒ“
136ƒ{ƒ‹‚àŽQÆ‚·‚é‰Â”\«‚ª‚ ‚éD‚»‚Ì‚½‚߁CƒJ[ƒlƒ‹CƒVƒXƒeƒ€ƒT[ƒrƒXCƒAƒv
137ƒŠƒP[ƒVƒ‡ƒ“‚ŃVƒ“ƒ{ƒ‹“™‚ªÕ“Ë‚µ‚Ä‚¢‚éê‡‚âCƒRƒ“ƒpƒCƒ‹ƒIƒvƒVƒ‡ƒ“‚ªH
138‚¢ˆá‚Á‚Ä‚¢‚éê‡‚ɁCkernel_cfg.ci‚¨‚æ‚Ñcfg1_out.cj‚ª³‚µ‚­ƒRƒ“ƒpƒCƒ‹
139‚Å‚«‚È‚­‚È‚éê‡‚ªl‚¦‚ç‚ê‚éDƒJ[ƒlƒ‹‚̃Vƒ“ƒ{ƒ‹‚ðƒŠƒl[ƒ€‚·‚é‚È‚Ç‚Ì•û
140–@‚ÅŒyŒ¸‚³‚ê‚Ä‚Í‚¢‚邪C–â‘肪‚È‚­‚È‚Á‚Ä‚¢‚é‚킯‚Å‚Í‚È‚¢D
141
142ƒVƒXƒeƒ€ƒRƒ“ƒtƒBƒMƒ…
143ƒŒ[ƒVƒ‡ƒ“ƒtƒ@ƒCƒ‹‚©‚çCƒRƒ“ƒtƒBƒMƒ…
144ƒŒ[ƒ^‚ɑ΂·‚é
145INCLUDEƒfƒBƒŒƒNƒeƒBƒu‚É‚æ‚葼‚̃Rƒ“ƒtƒBƒMƒ…
146ƒŒ[ƒVƒ‡ƒ“ƒtƒ@ƒCƒ‹‚ðƒCƒ“ƒNƒ‹[
147ƒh‚µ‚Ä‚¢‚éê‡‚ɁC‚»‚Ì’†‚ÉŠÜ‚Ü‚ê‚éCŒ¾ŒêƒvƒŠƒvƒƒZƒbƒT‚̃Cƒ“ƒNƒ‹[ƒhƒfƒB
148ƒŒƒNƒeƒBƒui#includej‚ŁCƒRƒ“ƒtƒBƒMƒ…
149ƒŒ[ƒVƒ‡ƒ“ƒtƒ@ƒCƒ‹‚Ì’u‚©‚ê‚Ä‚¢‚é
150ƒfƒBƒŒƒNƒgƒŠ‚ªCƒtƒ@ƒCƒ‹‚ðŒŸõ‚·‚éƒpƒX‚É‚Í‚¢‚ç‚È‚¢‚Æ‚¢‚¤–â‘肪‚ ‚éD—á
151‚¦‚΁Csyssvc/syslog.cfg‚Ɂu#include "syslog.h"v‚Æ‹Lq‚Å‚«‚È‚¢‚̂́C‚±
152‚Ì–â‘肪‚ ‚邽‚ß‚Å‚ ‚éD
153
154Œ»Žž“_‚ł́CƒAƒhƒŒƒX‚ª64ƒrƒbƒg‚̊‹«‚ɂ͑Ήž‚µ‚Ä‚¢‚È‚¢D64ƒrƒbƒgƒAƒhƒŒ
155ƒXŠÂ‹«‚ðƒTƒ|[ƒg‚·‚邽‚߂̍őå‚̉ۑè‚́Cƒ‚ƒgƒ[ƒ‰SƒŒƒR[ƒhƒtƒH[ƒ}ƒbƒg
156‚ª64ƒrƒbƒgƒAƒhƒŒƒX‚ɑΉž‚µ‚Ä‚¢‚È‚¢‚±‚Æ‚Å‚ ‚éD
157
158‚QDƒ^[ƒQƒbƒgˆË‘¶•”
159
1602.1. ƒ^[ƒQƒbƒgˆË‘¶•”‚ÌŠT—v
161
162SSPƒJ[ƒlƒ‹‚̃^[ƒQƒbƒg”ñˆË‘¶•”‚ƁCŠeŽí‚̃^[ƒQƒbƒgƒVƒXƒeƒ€‚ɑΉž‚·‚邽
163‚߂̃^[ƒQƒbƒgˆË‘¶•”‚́C•ÊX‚ÉŠJ”­‚³‚ê‚Ä‚¢‚éD‚»‚Ì‚½‚߁CSSPƒJ[ƒlƒ‹‚ª‘Î
164‰ž‚µ‚Ä‚¢‚é‚·‚ׂẴ^[ƒQƒbƒgˆË‘¶•”‚ðCƒo[ƒWƒ‡ƒ“‚𐮍‡‚³‚¹‚ăpƒbƒP[ƒW
165‰»‚·‚邱‚Ƃ͍¢“ï‚Å‚ ‚éD‚»‚±‚ŁCŽå‚ɏ‰‹‰‚̃†[ƒU‚ð‘Ώۂɂµ‚½ŠÈˆÕƒpƒbƒP[
166ƒW‚ƁCã‹‰‚̃†[ƒU‚âƒJ[ƒlƒ‹ŠJ”­ŽÒ‚ð‘Ώۂɂµ‚½ŒÂ•ÊƒpƒbƒP[ƒW‚ð—pˆÓ‚µ‚Ä
167‚¢‚éD
168
169SSPƒJ[ƒlƒ‹‚𖢃Tƒ|[ƒg‚̃^[ƒQƒbƒgƒVƒXƒeƒ€‚Öƒ|[ƒeƒBƒ“ƒO‚·‚邽‚ß‚É•K—v
170‚ȍì‹Æ‚́CŠJ”­ŠÂ‹«‚̍\’z‚Æ•W€‚ÌŠJ”­ŠÂ‹«‚Ƃ̍·ˆÙ‚Ì‹zŽûCƒJ[ƒlƒ‹Ž©g‚Ì
171ƒ|[ƒeƒBƒ“ƒOCƒVƒXƒeƒ€ƒT[ƒrƒX‚̃|[ƒeƒBƒ“ƒO‚È‚Ç‚©‚ç‚È‚éDÚ‚µ‚­‚́C
172uƒ^[ƒQƒbƒgˆË‘¶•” ƒ|[ƒeƒBƒ“ƒOƒKƒCƒhv‚ðŽQÆ‚·‚邱‚ƁD
173
174¦ ƒ^[ƒQƒbƒgˆË‘¶•” ƒ|[ƒeƒBƒ“ƒOƒKƒCƒh‚ÍŒ»Ý‚Í–¢Š®‚Å‚ ‚é
175
1762.2. ŠÈˆÕƒpƒbƒP[ƒW
177
178ŠÈˆÕƒpƒbƒP[ƒW‚́CSSPƒJ[ƒlƒ‹‚ª‘Ήž‚µ‚Ä‚¢‚éƒ^[ƒQƒbƒgƒVƒXƒeƒ€–ˆ‚É—pˆÓ‚³
179‚êC‚»‚̃^[ƒQƒbƒgƒVƒXƒeƒ€ã‚ÅSSPƒJ[ƒlƒ‹‚𓮍삳‚¹‚邽‚ß‚É•K—v‚ȃtƒ@ƒC
180ƒ‹ˆêŽ®‚ðƒpƒbƒP[ƒW‰»‚µ‚½‚à‚Ì‚Å‚ ‚éDŠÈˆÕƒpƒbƒP[ƒW‚ÉŠÜ‚Ü‚ê‚éƒtƒ@ƒCƒ‹‚́C
181ƒo[ƒWƒ‡ƒ“‚ª®‡‚µ‚Ä‚¢‚邱‚Æ‚ªŠm”F‚³‚ê‚Ä‚¢‚éD
182
183ŠÈˆÕƒpƒbƒP[ƒW‚̃o[ƒWƒ‡ƒ“”ԍ†‚́CƒpƒbƒP[ƒW‰»‚µ‚½“ú•t‚Æ‚·‚邱‚Æ‚ðŒ´‘¥
184‚Æ‚·‚邪Cƒ^[ƒQƒbƒgƒVƒXƒeƒ€–ˆ‚ÌŽ–î‚É‚æ‚肱‚ÌŒ´‘¥‚ɏ]‚í‚È‚¢ê‡‚ª‚ ‚éD
185
186ŠÈˆÕƒpƒbƒP[ƒW‚́CŠî–{“I‚ɂ́CŽŸ‚Éà–¾‚·‚éŒÂ•ÊƒpƒbƒP[ƒW‚𕡐”‚Ü‚Æ‚ß‚½
187‚à‚Ì‚Å‚ ‚éD‚»‚Ì‚½‚߁C‘Ώۃ^[ƒQƒbƒgƒVƒXƒeƒ€‚É•K—v‚Ì‚È‚¢ƒtƒ@ƒCƒ‹‚àŠÜ‚Ü
188‚ê‚Ä‚¢‚éD‚Ü‚½CŠÈˆÕƒpƒbƒP[ƒW‚ÉŠÜ‚Ü‚ê‚Ä‚¢‚éŒÂ•ÊƒpƒbƒP[ƒW‚̃o[ƒWƒ‡ƒ“
189‚́CŒÂ•ÊƒpƒbƒP[ƒW‚ÌMANIFESTƒtƒ@ƒCƒ‹‚ðŽQÆ‚·‚邱‚Æ‚Å’m‚邱‚Æ‚ª‚Å‚«‚éD
190
1912.3. ŒÂ•ÊƒpƒbƒP[ƒW
192
193ŒÂ•ÊƒpƒbƒP[ƒW‚́CSSPƒJ[ƒlƒ‹‚ÌŠJ”­’PˆÊ–ˆ‚ɁC‚»‚ÌŠJ”­’PˆÊ‚ÅŠJ”­‚ð’S“–‚µ
194‚Ä‚¢‚éƒtƒ@ƒCƒ‹ˆêŽ®‚ðƒpƒbƒP[ƒW‰»‚µ‚½‚à‚Ì‚Å‚ ‚éDSSPƒJ[ƒlƒ‹‚̃^[ƒQƒbƒg
195”ñˆË‘¶•”‚àCˆê‚‚̌•ʃpƒbƒP[ƒW‚Æ‚µ‚Ä”z•z‚³‚ê‚éD‚ ‚éŒÂ•ÊƒpƒbƒP[ƒW‚ð
196Žg—p‚·‚邽‚߂ɂ́Cˆê”ʂɂ́C‘¼‚̌•ʃpƒbƒP[ƒW‚ª•K—v‚Æ‚È‚éDƒ^[ƒQƒbƒg
197ˆË‘¶•”‚̌•ʃpƒbƒP[ƒW‚ðŽg—p‚·‚邽‚ß‚É•K—v‚Æ‚È‚éŒÂ•ÊƒpƒbƒP[ƒW‚Æ‚»‚̃o[
198ƒWƒ‡ƒ“‚ɂ‚¢‚ẮCƒ^[ƒQƒbƒgˆË‘¶•”‚̃†[ƒU[ƒYƒ}ƒjƒ…
199ƒAƒ‹‚ðŽQÆ‚·‚邱‚ƁD
200Žg—p‚·‚éŒÂ•ÊƒpƒbƒP[ƒW‚̃o[ƒWƒ‡ƒ“‚𐮍‡‚³‚¹‚邱‚Ƃ́Cƒ†[ƒU‚̐ӔC‚Å‚ 
201‚éD
202
203ŒÂ•ÊƒpƒbƒP[ƒW‚̃o[ƒWƒ‡ƒ“”ԍ†‚́CX.Y.Z‚ÌŒ`‚Å•\Œ»‚³‚ê‚éDƒ^[ƒQƒbƒg”ñˆË
204‘¶•”‚̃o[ƒWƒ‡ƒ“”ԍ†‚ðCSSPƒJ[ƒlƒ‹‘S‘̂̃ŠƒŠ[ƒX”ԍ†‚Æ‚·‚éDƒ^[ƒQƒbƒg
205ˆË‘¶•”‚̃o[ƒWƒ‡ƒ“”ԍ†‚́CX‚ÆY‚ªC‚»‚ꂪˆË‘¶‚·‚éƒ^[ƒQƒbƒg”ñˆË‘¶•”‚ƈê
206’v‚µ‚Ä‚¢‚éD‚»‚ê‚ɑ΂µ‚āCZ‚͈ê’v‚µ‚Ä‚¢‚é‚Æ‚ÍŒÀ‚ç‚È‚¢D—Ⴆ‚΁Cƒ^[ƒQƒb
207ƒg”ñˆË‘¶•”‚̃o[ƒWƒ‡ƒ“1.1.0‚ɑΉž‚·‚éƒ^[ƒQƒbƒgˆË‘¶•”‚́Cƒo[ƒWƒ‡ƒ“
2081.1.Z‚ÌŒ`‚Æ‚È‚éDƒ^[ƒQƒbƒgˆË‘¶•”‚Ì‚Ý‚ªƒo[ƒWƒ‡ƒ“ƒAƒbƒv‚µ‚½ê‡‚ɂ́CZ
209‚ª•ÏX‚³‚ê‚éD
210
211Žg—p‚·‚éŒÂ•ÊƒpƒbƒP[ƒW‚́CŽŸ‚Ì—á‚̂悤‚ɁCƒ^[ƒQƒbƒg”ñˆË‘¶•”‚̌•ʃpƒb
212ƒP[ƒW‚ð“WŠJ‚µ‚½‚Ì‚Æ“¯‚¶ƒfƒBƒŒƒNƒgƒŠ‚Å“WŠJ‚·‚é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ƒ^[ƒQƒbƒg”ñˆË‘¶•”‚̌•ʃpƒbƒP[ƒW‚ɂ́CˆÈ‰º‚̃^[ƒQƒbƒgˆË‘¶•”‚ªŠÜ‚Ü‚ê
218‚Ä‚¢‚éD
219
220 target/cq_frk_fm3_gcc InterfaceŽ•t‘®Cortex-M3Šî”Â
221 iGNUŠJ”­ŠÂ‹«j—pƒ^[ƒQƒbƒgˆË‘¶•”
222 arch/arm_m_gcc Cortex-M3iGNUŠJ”­ŠÂ‹«j—pƒvƒƒZƒbƒTˆË‘¶•”
223
224
225‚RDƒNƒCƒbƒNƒXƒ^[ƒgƒKƒCƒh
226
227‚±‚±‚ł́Cƒ^[ƒQƒbƒgˆË‘¶•”‚ª—pˆÓ‚³‚ê‚Ä‚¢‚éƒ^[ƒQƒbƒgƒVƒXƒeƒ€ã‚ŁCSSPƒJ[
228ƒlƒ‹ã‚Å“®ì‚·‚éƒTƒ“ƒvƒ‹ƒvƒƒOƒ‰ƒ€‚ð\’zE“®ì‚³‚¹‚é‚܂ł̎菇‚ðŽ¦‚·D
229
2303.1. ŠJ”­ŠÂ‹«‚̏€”õ
231
232SSPƒJ[ƒlƒ‹‚ð—p‚¢‚½ƒVƒXƒeƒ€\’z‚ɂ́CˆÈ‰º‚̃c[ƒ‹‚ª•K—v‚Å‚ ‚éD
233
234 ƒzƒXƒgƒVƒXƒeƒ€—p‚̃c[ƒ‹
235 perl “®ìŠm”FF5.16.2
236 GNU Make “®ìŠm”FF3.81
237
238 TOPPERSV¢‘ãƒJ[ƒlƒ‹—pƒRƒ“ƒtƒBƒMƒ…
239ƒŒ[ƒ^
240 cfg “®ìŠm”FF1.8.0
241 ¦ 1.6.0ˆÈ‘O‚̃o[ƒWƒ‡ƒ“‚Å‚Í“®ì‚µ‚È‚¢D
242
243 ƒ^[ƒQƒbƒgƒVƒXƒeƒ€—p‚̃c[ƒ‹iƒNƒƒXŠJ”­ŠÂ‹«j
244 •W€‹KŠi‚ɏ€‹’‚µ‚½CƒRƒ“ƒpƒCƒ‰
245 ƒAƒZƒ“ƒuƒ‰CƒŠƒ“ƒJCƒ‰ƒCƒuƒ‰ƒŠƒAƒ“
246 ƒVƒ“ƒ{ƒ‹ƒtƒ@ƒCƒ‹o—̓c[ƒ‹CƒwƒLƒTƒtƒ@ƒCƒ‹o—̓c[ƒ‹
247 •W€Cƒ‰ƒCƒuƒ‰ƒŠi•K{‚Å‚Í‚È‚¢j
248
249ƒ^[ƒQƒbƒgƒVƒXƒeƒ€—p‚̃c[ƒ‹‚ÉGNUŠJ”­ŠÂ‹«‚ð—p‚¢‚éê‡‚ɂ́CˆÈ‰º‚̃c[ƒ‹
250‚ª•K—v‚Å‚ ‚éD
251
252 ƒ^[ƒQƒbƒgƒVƒXƒeƒ€—p‚ÌGNUŠJ”­ŠÂ‹«ƒc[ƒ‹
253 BINUTILSiasCldCarCnmCranlibCobjcopyCobjdumpj
254 GCC‚Ü‚½‚ÍGCC-COREigcc‚¨‚æ‚Ñ‚»‚±‚©‚çŒÄ‚яo‚³‚ê‚éƒc[ƒ‹j
255 NEWLIBi•W€Cƒ‰ƒCƒuƒ‰ƒŠC•K{‚Å‚Í‚È‚¢j
256
257“®ìŠm”F‚³‚ê‚Ä‚¢‚éƒ^[ƒQƒbƒgƒVƒXƒeƒ€—p‚̃c[ƒ‹‚ɂ‚¢‚ẮCƒ^[ƒQƒbƒgˆË
258‘¶•”‚̃†[ƒU[ƒYƒ}ƒjƒ…
259ƒAƒ‹‚ðŽQÆ‚·‚邱‚ƁD
260
261ƒ^[ƒQƒbƒgƒVƒXƒeƒ€—p‚Ì•W€Cƒ‰ƒCƒuƒ‰ƒŠ‚́CƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ª•W€Cƒ‰ƒCƒu
262ƒ‰ƒŠ‚ðŽg—p‚µ‚È‚¢ê‡‚ɂ́C•K—v‚È‚¢D‚½‚¾‚µCƒRƒ“ƒpƒCƒ‰‚ª•W€Cƒ‰ƒCƒuƒ‰ƒŠ
263ŠÖ”imemcpyCmemset‚Ȃǁj‚ðŒÄ‚яo‚·ƒR[ƒh‚𐶐¬‚·‚éê‡‚ª‚ ‚èC‚»‚̏ê
264‡‚É‚Í•W€Cƒ‰ƒCƒuƒ‰ƒŠ‚ª•K—v‚Å‚ ‚éD•W€Cƒ‰ƒCƒuƒ‰ƒŠ‚ð—pˆÓ‚·‚é‘ã‚í‚è‚ɁC
265¶¬‚µ‚½ƒR[ƒh‚ªŒÄ‚яo‚·ŠÖ”‚Ì‚Ý‚ðŽ©•ª‚Å—pˆÓ‚µ‚Ä‚à‚æ‚¢D
266
267‚È‚¨CperlƒXƒNƒŠƒvƒg‚̓}ƒ‹ƒ`ƒoƒCƒg•¶Žš‚ðˆµ‚¤•¶ŽšƒR[ƒh‚ªEUCC‰üsƒR[ƒh‚ª
268LF‚Å‚ ‚邱‚Æ‚ð‰¼’è‚µ‚Ä‚¢‚éD‚»‚êˆÈŠO‚Ì•¶ŽšƒR[ƒhC‰üsƒR[ƒh‚Å“®ì‚³‚¹‚é
269‚½‚ß‚É‚ÍperlƒXƒNƒŠƒvƒg‚̏C³‚ª•K—v‚ƂȂ邱‚Æ‚ª‚ ‚éD
270
271ˆÈ‰º‚ł́C‚±‚ê‚ç‚̃c[ƒ‹‚ª—pˆÓ‚Å‚«‚Ä‚¢‚邱‚Æ‚ð‘O’ñ‚ɁCUNIXƒ}ƒVƒ“ã‚Å‚Ì
272\’zŽè‡‚ðà–¾‚·‚éD‚Ü‚½ˆÈ‰º‚Ìà–¾‚ł́CmakeƒRƒ}ƒ“ƒh‚ªGNU Make‚Å‚ ‚é‚à
273‚Ì‚Æ‚·‚éiSSPƒJ[ƒlƒ‹‚̃Tƒ“ƒvƒ‹‚ÌMakefile‚́CGNU Make‚ÌŠg’£‹@”\‚ð—p‚¢‚Ä
274‚¢‚éjD
275
2763.2. ƒRƒ“ƒtƒBƒMƒ…
277ƒŒ[ƒ^‚̍\’z
278
279ƒJ[ƒlƒ‹‚ð\’z‚·‚é‘O‚ɁC‚Ü‚¸CTOPPERSV¢‘ãƒJ[ƒlƒ‹—pƒRƒ“ƒtƒBƒMƒ…
280ƒŒ[ƒ^
281‚ð\’z‚·‚é•K—v‚ª‚ ‚éDŠÈˆÕƒpƒbƒP[ƒW‚ÉŠÜ‚Ü‚ê‚Ä‚¢‚½ê‡‚ȂǁCƒRƒ“ƒtƒBƒMƒ…
282
283ƒŒ[ƒ^‚ðŽÀsƒtƒ@ƒCƒ‹Œ`Ž®‚Å“üŽè‚µ‚½ê‡‚ɂ́C‚±‚̃Xƒeƒbƒv‚Í•K—v‚È‚¢D
284
285ƒRƒ“ƒtƒBƒMƒ…
286ƒŒ[ƒ^‚̍\’z‚ɂ́CˆÈ‰º‚̃c[ƒ‹‚ª•K—v‚Å‚ ‚éD
287
288 ƒzƒXƒgƒVƒXƒeƒ€—p‚̃c[ƒ‹iƒZƒ‹ƒtŠJ”­ŠÂ‹«j
289 C++ƒRƒ“ƒpƒCƒ‰CC++ƒ‰ƒCƒuƒ‰ƒŠ
290 “®ìŠm”FiMac OS XŠÂ‹«jFApple LLVM version 5.0 (clang-500.2.79)
291 Boost “®ìŠm”FF1.55.0
292 Visual Studio (Windows‚̏ꍇ)
293
294Å‰‚ɁCƒpƒbƒP[ƒW‚ɃRƒ“ƒtƒBƒMƒ…
295ƒŒ[ƒ^‚̃\[ƒXƒtƒ@ƒCƒ‹‚ªŠÜ‚Ü‚ê‚Ä‚¢‚È‚¢
296ê‡‚ɂ́CƒRƒ“ƒtƒBƒMƒ…
297ƒŒ[ƒ^‚̃pƒbƒP[ƒW‚ðCSSPƒJ[ƒlƒ‹‚̃\[ƒXƒtƒ@ƒCƒ‹
298‚ð“WŠJ‚µ‚½ƒfƒBƒŒƒNƒgƒŠ‚̉º‚É“WŠJ‚·‚éD
299
300 % cd ssp
301 % tar xvfz cfg-1.8.0.tar.gz
302
303‚Ü‚½‚́CƒRƒ“ƒtƒBƒMƒ…
304ƒŒ[ƒ^‚̃pƒbƒP[ƒW‚𑼂̃fƒBƒŒƒNƒgƒŠ‚É“WŠJ‚µCSSPƒJ[
305ƒlƒ‹‚̃\[ƒXƒtƒ@ƒCƒ‹‚ð“WŠJ‚µ‚½ƒfƒBƒŒƒNƒgƒŠ‚©‚çƒVƒ“ƒ{ƒŠƒbƒNƒŠƒ“ƒN‚ð‚Í‚Á
306‚Ä‚à‚æ‚¢D
307
308ƒ\[ƒXƒtƒ@ƒCƒ‹‚ª“WŠJ‚Å‚«‚é‚ƁCcfgƒfƒBƒŒƒNƒgƒŠ‚Ɉړ®‚µCƒRƒ“ƒtƒBƒMƒ…
309ƒŒ[
310ƒVƒ‡ƒ“ƒXƒNƒŠƒvƒgiconfigurej‚ÅMakefile‚̊‹«ˆË‘¶•”iMakefile.configj
311‚𐶐¬‚µ‚½ŒãCmakeƒRƒ}ƒ“ƒh‚É‚æ‚èƒRƒ“ƒtƒBƒMƒ…
312ƒŒ[ƒ^icfgƒvƒƒOƒ‰ƒ€j‚ª\
313’z‚Å‚«‚éD
314
315 % cd cfg
316 % ./configure
317 % make
318
319‚½‚¾‚µCBoost‚ðƒCƒ“ƒXƒg[ƒ‹‚µ‚½ƒfƒBƒŒƒNƒgƒŠ‚¨‚æ‚Ñ–¼Ì‚ª•W€‚Å‘z’肵‚Ä‚¢
320‚é‚à‚̂Ƃ͈Ⴄê‡‚ɂ́Cconfigure‚Ì--with-headers‚¨‚æ‚Ñ--with-libraries
321ƒIƒvƒVƒ‡ƒ“‚É‚æ‚èCƒwƒbƒ_ƒtƒ@ƒCƒ‹‚¨‚æ‚у‰ƒCƒuƒ‰ƒŠ‚Ì’u‚©‚ꂽƒfƒBƒŒƒNƒgƒŠ
322‚ðŽw’è‚·‚é•K—v‚ª‚ ‚éD
323
324‚Ü‚½CƒzƒXƒgƒVƒXƒeƒ€‚É‚æ‚Á‚ẮCÅ“K‰»ƒŒƒxƒ‹‚ðã‚°‚é‚Ɛ³‚µ‚­ƒRƒ“ƒpƒCƒ‹
325‚Å‚«‚È‚¢‚±‚Æ‚ª’m‚ç‚ê‚Ä‚¢‚éD‚»‚̂悤‚ȏꍇ‚ɂ́CÅ“K‰»ƒŒƒxƒ‹‚ð‰º‚°‚é‚©C
326Å“K‰»‚ð—}Ž~‚·‚é‚悤‚ɁCMakefile‚ðC³‚·‚é•K—v‚ª‚ ‚éD
327
328‚È‚¨CƒRƒ“ƒtƒBƒMƒ…
329ƒŒ[ƒ^‚ÌŽg—p•û–@‚ɂ‚¢‚ẮCu‚VDƒRƒ“ƒtƒBƒMƒ…
330ƒŒ[ƒ^
331‚ÌŽg‚¢•ûv‚ÌÍ‚Åà–¾‚·‚éD
332
3333.3. ƒTƒ“ƒvƒ‹ƒvƒƒOƒ‰ƒ€‚̍\’z‚ÆŽÀs
334
335ŽŸ‚ɁCSSPƒJ[ƒlƒ‹ã‚Å“®ì‚·‚éƒTƒ“ƒvƒ‹ƒvƒƒOƒ‰ƒ€‚ð\’z‚·‚é•û–@‚ðà–¾‚·‚éD
336
337‚Ü‚¸CƒTƒ“ƒvƒ‹ƒvƒƒOƒ‰ƒ€‚̃IƒuƒWƒFƒNƒgƒtƒ@ƒCƒ‹‚ð’u‚­ƒfƒBƒŒƒNƒgƒŠ‚ðì¬
338‚µCƒRƒ“ƒtƒBƒMƒ…
339ƒŒ[ƒVƒ‡ƒ“ƒXƒNƒŠƒvƒg‚ðŽÀs‚·‚éD—Ⴆ‚΁CƒIƒuƒWƒFƒNƒgƒtƒ@
340ƒCƒ‹‚ð’u‚­ƒfƒBƒŒƒNƒgƒŠ‚ðCSSPƒJ[ƒlƒ‹‚̃\[ƒXƒtƒ@ƒCƒ‹‚ð“WŠJ‚µ‚½ƒfƒBƒŒ
341ƒNƒgƒŠ‚̉º‚ÌOBJ‚Æ‚¢‚¤–¼Ì‚̃fƒBƒŒƒNƒgƒŠ‚É‚·‚éê‡‚ɂ́CŽŸ‚̃Rƒ}ƒ“ƒh‚ð
342ŽÀs‚·‚éiƒfƒBƒŒƒNƒgƒŠ‚̏ꏊ‚Æ–¼Ì‚Í”CˆÓ‚ÉŒˆ‚ß‚Ä‚æ‚¢jD
343
344 % cd ssp
345 % mkdir OBJ
346 % cd OBJ
347 % perl ../configure -T <ƒ^[ƒQƒbƒg—ªÌ>
348
349‚±‚±‚ŁC<ƒ^[ƒQƒbƒg—ªÌ>‚́CtargetƒfƒBƒŒƒNƒgƒŠ‚̉º‚É’u‚©‚ê‚Ä‚¢‚éƒ^[ƒQƒb
350ƒgˆË‘¶•”ƒfƒBƒŒƒNƒgƒŠ‚Ì–¼Ì‚Å‚ ‚éDƒRƒ“ƒtƒBƒMƒ…
351ƒŒ[ƒVƒ‡ƒ“ƒXƒNƒŠƒvƒg‚̃I
352ƒvƒVƒ‡ƒ“‚ɂ‚¢‚ẮCu‚TDƒRƒ“ƒtƒBƒMƒ…
353ƒŒ[ƒVƒ‡ƒ“ƒXƒNƒŠƒvƒg‚ÌŽg‚¢•ûv‚Ì
354Í‚Åà–¾‚·‚éD
355
356ƒRƒ“ƒtƒBƒMƒ…
357ƒŒ[ƒVƒ‡ƒ“ƒXƒNƒŠƒvƒg‚ÌŽÀs‚É‚æ‚èCƒJƒŒƒ“ƒgƒfƒBƒŒƒNƒgƒŠ‚ɂ́C
358ƒTƒ“ƒvƒ‹ƒvƒƒOƒ‰ƒ€‚ð\’z‚·‚邽‚ß‚ÌMakefileCƒTƒ“ƒvƒ‹ƒvƒƒOƒ‰ƒ€—p‚̃Rƒ“
359ƒtƒBƒMƒ…
360ƒŒ[ƒVƒ‡ƒ“ƒtƒ@ƒCƒ‹isample1.cfgjCƒTƒ“ƒvƒ‹ƒvƒƒOƒ‰ƒ€–{‘Ì
361isample1.h‚¨‚æ‚Ñsample1.cj‚ª¶¬‚³‚ê‚éD
362
363ƒRƒ“ƒtƒBƒMƒ…
364ƒŒ[ƒVƒ‡ƒ“ƒXƒNƒŠƒvƒg‚ÌŽÀsŒãC•K—v‚Å‚ ‚ê‚ÎMakefile‚ðC³‚·
365‚éDMakefile‚̏C³•û–@‚ɂ‚¢‚ẮCu‚UDMakefile‚̏C³•û–@v‚ÌÍ‚Åà–¾
366‚·‚éD
367
368‚»‚ÌŒãCmake depend‚ňˑ¶ŠÖŒWƒtƒ@ƒCƒ‹iMakefile.dependj‚𐶐¬‚µ‚½ŒãC
369makeƒRƒ}ƒ“ƒh‚É‚æ‚èƒTƒ“ƒvƒ‹ƒvƒƒOƒ‰ƒ€‚̃[ƒhƒ‚ƒWƒ…
370[ƒ‹iSSP‚Ü‚½‚Í
371SSP.exej‚ª¶¬‚Å‚«‚éDˆË‘¶ŠÖŒWƒtƒ@ƒCƒ‹‚̐¶¬‚ɂ͎኱ŽžŠÔ‚ª‚©‚©‚éD
372
373 % make depend
374 % make
375
376‚±‚±‚ō\’z‚µ‚½ƒTƒ“ƒvƒ‹ƒvƒƒOƒ‰ƒ€isample1.hCsample1.cCsample1.cfgj
377‚́CSSPƒJ[ƒlƒ‹‚ÌŠî–{“I‚È“®ì‚ðŠm”F‚·‚邽‚ß‚Ì‚à‚Ì‚Å‚ ‚éD‚±‚̃vƒƒOƒ‰
378ƒ€‚ÌŠT—và–¾‚́Csample1.c‚̐擪‚̃Rƒƒ“ƒg‚É‚ ‚éD
379
3803.4. ƒJ[ƒlƒ‹‚ðŠÖ”’PˆÊ‚щƒCƒuƒ‰ƒŠ‰»‚·‚é•û–@
381
382‘Oß‚̎菇‚ł́CƒJ[ƒlƒ‹‚ðƒtƒ@ƒCƒ‹’PˆÊ‚ŃRƒ“ƒpƒCƒ‹‚µCƒ‰ƒCƒuƒ‰ƒŠ‰»‚µ‚Ä
383‚¢‚½‚ªCƒJ[ƒlƒ‹‚̃R[ƒhƒTƒCƒY‚ðk¬‚·‚邽‚߂ɂ́CŽg—p‚µ‚È‚¢ƒT[ƒrƒXƒR[
384ƒ‹‚̓Šƒ“ƒN‚µ‚È‚¢•û‚ª–]‚Ü‚µ‚¢D‚»‚±‚ÅSSPƒJ[ƒlƒ‹‚ł́CƒJ[ƒlƒ‹‚ðŠÖ”’PˆÊ
385‚ŃRƒ“ƒpƒCƒ‹‚µCƒ‰ƒCƒuƒ‰ƒŠ‰»‚·‚é•û–@‚ð—pˆÓ‚µ‚Ä‚¢‚éD
386
387‚±‚Ì•û–@‚ŃTƒ“ƒvƒ‹ƒvƒƒOƒ‰ƒ€‚ð\’z‚·‚é‚ɂ́CƒRƒ“ƒtƒBƒMƒ…
388ƒŒ[ƒVƒ‡ƒ“ƒXƒN
389ƒŠƒvƒg‚ɁC‚»‚ê‚ðŽwŽ¦‚·‚éƒIƒvƒVƒ‡ƒ“i-fj‚ð•t‰Á‚·‚邾‚¯‚Å‚æ‚¢D
390
391 % mkdir OBJ_LIB
392 % cd OBJ_LIB
393 % perl ../configure -T <ƒ^[ƒQƒbƒg—ªÌ> -f
394
395‚±‚±‚ŁCOBJ_LIB‚Æ‚¢‚¤ƒfƒBƒŒƒNƒgƒŠ‚̏ꏊ‚Æ–¼Ì‚́C”CˆÓ‚ÉŒˆ‚ß‚Ä‚æ‚¢D‚±‚ê
396ˆÈ~‚̎菇‚́C‘Oß‚Æ“¯‚¶‚Å‚ ‚éD
397
3983.5. ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ƃJ[ƒlƒ‹‚ð•ÊX‚ɍ\’z‚·‚é•û–@
399
400‘Oß‚Åà–¾‚µ‚½•û–@‚ł́CƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ƃJ[ƒlƒ‹‚𓯎ž‚ɐ¶¬‚·‚邽‚߁C
401ƒIƒuƒWƒFƒNƒgƒtƒ@ƒCƒ‹‚ð’u‚­ƒfƒBƒŒƒNƒgƒŠ‚É”ñí‚É‘½‚­‚̃tƒ@ƒCƒ‹‚ªì¬‚³‚ê
402‚āCˆµ‚¢‚É‚­‚­‚È‚éD‚»‚±‚ŁCƒJ[ƒlƒ‹‚ðC³‚·‚é•p“x‚ª’á‚¢ê‡‚ɂ́CƒJ[
403ƒlƒ‹‚ÍŽ–‘O‚ɍ\’z‚µ‚Ä‚¨‚«CŒã‚ŃAƒvƒŠƒP[ƒVƒ‡ƒ“‚¾‚¯‚ð\’z‚·‚é•û–@‚ð—pˆÓ
404‚µ‚Ä‚¢‚éDˆÈ‰º‚ł́CƒTƒ“ƒvƒ‹ƒvƒƒOƒ‰ƒ€‚ð\’z‚ð—á‚ɁC‚»‚̎菇‚ɂ‚¢‚Đà
405–¾‚·‚éD
406
407‚Ü‚¸CƒJ[ƒlƒ‹‚ð\’z‚·‚éƒfƒBƒŒƒNƒgƒŠ‚ðì¬‚µCƒRƒ“ƒtƒBƒMƒ…
408ƒŒ[ƒVƒ‡ƒ“ƒX
409ƒNƒŠƒvƒg‚ðŽÀs‚·‚éD—Ⴆ‚΁CƒJ[ƒlƒ‹‚ð\’z‚·‚éƒfƒBƒŒƒNƒgƒŠ‚ðCSSPƒJ[
410ƒlƒ‹‚̃\[ƒXƒtƒ@ƒCƒ‹‚ð“WŠJ‚µ‚½ƒfƒBƒŒƒNƒgƒŠ‚̉º‚ÌKERNEL_LIB‚Æ‚¢‚¤–¼Ì‚Ì
411ƒfƒBƒŒƒNƒgƒŠ‚É‚·‚éê‡‚ɂ́CŽŸ‚̃Rƒ}ƒ“ƒh‚ðŽÀs‚·‚éiƒfƒBƒŒƒNƒgƒŠ‚̏ꏊ
412‚Æ–¼Ì‚Í”CˆÓ‚ÉŒˆ‚ß‚Ä‚æ‚¢jD
413
414 % mkdir KERNEL_LIB
415 % cd KERNEL_LIB
416 % perl ../configure -T <ƒ^[ƒQƒbƒg—ªÌ> -f
417
418‚±‚ê‚É‚æ‚èCƒJ[ƒlƒ‹‚ð\’z‚·‚éƒfƒBƒŒƒNƒgƒŠ‚ɁCMakefileCsample1.cfgC
419sample1.hCsample1.c‚ª¶¬‚³‚ê‚邪CMakefileˆÈŠO‚ÍŽÀŽ¿“I‚É‚ÍŽg—p‚µ‚È‚¢D
420
421make depend‚ňˑ¶ŠÖŒWƒtƒ@ƒCƒ‹iMakefile.dependj‚𐶐¬‚µ‚½ŒãCmake
422libkernel.a‚É‚æ‚èƒJ[ƒlƒ‹ƒ‰ƒCƒuƒ‰ƒŠilibkernel.aj‚ª¶¬‚Å‚«‚éD
423
424 % make depend
425 % make libkernel.a
426
427ŽŸ‚ɁCƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ð\’z‚·‚éƒfƒBƒŒƒNƒgƒŠ‚ðì¬‚µCƒRƒ“ƒtƒBƒMƒ…
428ƒŒ[
429ƒVƒ‡ƒ“ƒXƒNƒŠƒvƒg‚ðŽÀs‚·‚éD—Ⴆ‚΁CƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ð\’z‚·‚éƒfƒBƒŒƒN
430ƒgƒŠ‚ðCSSPƒJ[ƒlƒ‹‚̃\[ƒXƒtƒ@ƒCƒ‹‚ð“WŠJ‚µ‚½ƒfƒBƒŒƒNƒgƒŠ‚̉º‚ÌAPL‚Æ‚¢
431‚¤–¼Ì‚̃fƒBƒŒƒNƒgƒŠ‚É‚·‚éê‡‚ɂ́CŽŸ‚̃Rƒ}ƒ“ƒh‚ðŽÀs‚·‚éiƒfƒBƒŒƒNƒg
432ƒŠ‚̏ꏊ‚Æ–¼Ì‚Í”CˆÓ‚ÉŒˆ‚ß‚Ä‚æ‚¢jD
433
434 % cd ..
435 % mkdir APL
436 % cd APL
437 % perl ../configure -T <ƒ^[ƒQƒbƒg—ªÌ> -L ../KERNEL_LIB
438
439‚±‚±‚Å-LƒIƒvƒVƒ‡ƒ“‚ɂ́CƒJ[ƒlƒ‹‚ð\’z‚µ‚½ƒfƒBƒŒƒNƒgƒŠ‚̃pƒX‚ðŽw’è‚·‚éD
440
441ÅŒã‚ɁCmake depend‚ňˑ¶ŠÖŒWƒtƒ@ƒCƒ‹iMakefile.dependj‚𐶐¬‚µ‚½ŒãC
442makeƒRƒ}ƒ“ƒh‚É‚æ‚èƒTƒ“ƒvƒ‹ƒvƒƒOƒ‰ƒ€‚̃[ƒhƒ‚ƒWƒ…
443[ƒ‹iSSP‚Ü‚½‚Í
444SSP.exej‚ª¶¬‚Å‚«‚éD
445
446 % make depend
447 % make
448
449‚±‚̎菇‚ł́CƒAƒvƒŠƒP[ƒVƒ‡ƒ“\’zŽž‚ɂ̓J[ƒlƒ‹‚̍č\’z‚ª•K—v‚©ƒ`ƒFƒb
450ƒN‚µ‚È‚¢‚½‚߁CƒJ[ƒlƒ‹‚̃\[ƒXƒR[ƒh‚ðC³‚µ‚½ê‡‚ɂ́CƒJ[ƒlƒ‹‚ð\’z
451‚µ‚½ƒfƒBƒŒƒNƒgƒŠ‚Åmake libkernel.a‚ðÄŽÀs‚·‚é•K—v‚ª‚ ‚éD
452
453ˆÈã‚ł́CƒJ[ƒlƒ‹‚ƃAƒvƒŠƒP[ƒVƒ‡ƒ“‚ð•ÊX‚̃fƒBƒŒƒNƒgƒŠ‚ō\’z‚µ‚½‚ªC
454-LƒIƒvƒVƒ‡ƒ“‚ɃJƒŒƒ“ƒgƒfƒBƒŒƒNƒgƒŠi‚½‚¾‚µC"."‚Æ‚¢‚¤‹Lq‚Å‚Í•s‰Âj‚ðŽw
455’è‚·‚邱‚ƂŁCƒJ[ƒlƒ‹‚ƃAƒvƒŠƒP[ƒVƒ‡ƒ“‚𓯂¶ƒfƒBƒŒƒNƒgƒŠ‚ŕʁX‚ɍ\’z
456‚·‚邱‚Æ‚à‚Å‚«‚éD‹ï‘Ì“I‚ɂ́CŽŸ‚̎菇‚Æ‚È‚éD
457
458 % mkdir OBJ
459 % cd OBJ
460 % perl ../configure -T <ƒ^[ƒQƒbƒg—ªÌ> -L ../OBJ
461 % make depend
462 % make libkernel.a
463 % make cleankernel
464 % make
465
466‚±‚±‚ŁCmake cleankernel‚́CƒJ[ƒlƒ‹ƒ‰ƒCƒuƒ‰ƒŠ‚𐶐¬‚·‚邽‚ß‚Ì’†ŠÔƒtƒ@
467ƒCƒ‹‚ðíœ‚·‚é‚à‚Ì‚Å‚ ‚éD‚±‚̎菇‚ł́Cmake depend‚É‚æ‚èƒJ[ƒlƒ‹ƒ‰ƒC
468ƒuƒ‰ƒŠ‚ÉŠÖ‚·‚éˆË‘¶ŠÖŒW‚𐶐¬‚µ‚È‚¢‚½‚߁CƒJ[ƒlƒ‹‚̃\[ƒXƒR[ƒh‚ðC³‚µ
469‚½ê‡‚ɂ́C•K‚¸make cleankerneli‚Ü‚½‚́Cmake cleanj‚µ‚Ä‚©‚çCmake
470libkernel.a‚·‚é•K—v‚ª‚ ‚é‚Ì‚Å’ˆÓ‚·‚邱‚ƁD
471
472‚È‚¨Cmake realclean‚·‚é‚ƁCmake depend‚Æmake‚É‚æ‚萶¬‚µ‚½ƒtƒ@ƒCƒ‹‚ð‚·
473‚ׂč폜‚·‚éD‚»‚ê‚ɑ΂µ‚āCmake clean‚ł́Cmake depend‚É‚æ‚萶¬‚µ‚½ˆË
474‘¶ŠÖŒWƒtƒ@ƒCƒ‹‚͍폜‚µ‚È‚¢D
475
476
477‚SDƒfƒBƒŒƒNƒgƒŠ\¬Eƒtƒ@ƒCƒ‹\¬
478
4794.1. ”z•zƒpƒbƒP[ƒW‚̃fƒBƒŒƒNƒgƒŠ\¬
480
481 include/ ƒAƒvƒŠƒP[ƒVƒ‡ƒ“Œü‚¯ƒwƒbƒ_ƒtƒ@ƒCƒ‹
482 kernel/ ƒJ[ƒlƒ‹ƒ\[ƒXƒtƒ@ƒCƒ‹
483 syssvc/ ƒVƒXƒeƒ€ƒT[ƒrƒXƒwƒbƒ_ƒtƒ@ƒCƒ‹Cƒ\[ƒXƒtƒ@ƒCƒ‹
484 target/ ƒ^[ƒQƒbƒgˆË‘¶•”
485 arch/ ƒ^[ƒQƒbƒgˆË‘¶•”‚Ì‹¤’Ê•”•ª
486 gcc/ GCCŠJ”­ŠÂ‹«ˆË‘¶•”
487 pdic/ PDICiƒfƒoƒCƒXƒhƒ‰ƒCƒo‚ÌOS”ñˆË‘¶•”•ªj
488 utils/ ƒ†[ƒeƒBƒŠƒeƒBƒvƒƒOƒ‰ƒ€
489 sample/ ƒTƒ“ƒvƒ‹ƒvƒƒOƒ‰ƒ€‚ÆMakefile
490 doc/ ƒhƒLƒ…
491ƒƒ“ƒg
492 extension/ Šg’£ƒpƒbƒP[ƒW
493
4944.2. ƒ^[ƒQƒbƒg”ñˆË‘¶•”‚̃tƒ@ƒCƒ‹\¬
495
496ƒ^[ƒQƒbƒg”ñˆË‘¶•”iƒeƒXƒgƒvƒƒOƒ‰ƒ€‚ÆŠg’£ƒpƒbƒP[ƒW‚͏œ‚­j‚ÌŠeƒtƒ@ƒC
497ƒ‹‚ÌŠT—v‚ÍŽŸ‚Ì’Ê‚èD
498
499 README.txt TOPPERS/SSPƒJ[ƒlƒ‹‚ÌŠÈ’P‚ȏЉî
500 configure ƒRƒ“ƒtƒBƒMƒ…
501ƒŒ[ƒVƒ‡ƒ“ƒXƒNƒŠƒvƒgiGNUŠJ”­ŠÂ‹«—pj
502 MANIFEST ŒÂ•ÊƒpƒbƒP[ƒW‚̃tƒ@ƒCƒ‹ƒŠƒXƒg
503
504 include/
505 kernel.h SSPƒJ[ƒlƒ‹‚ðŽg—p‚·‚邽‚ß‚Ì’è‹`
506 sil.h ƒVƒXƒeƒ€ƒCƒ“ƒ^ƒtƒF[ƒXƒŒƒCƒ„‚ðŽg—p‚·‚邽‚ß‚Ì’è‹`
507 t_stddef.h TOPPERS‹¤’ʃwƒbƒ_ƒtƒ@ƒCƒ‹
508 itron.h ITRONŽd—l‹¤’Ê‹K’è‚̃f[ƒ^Œ^E’萔Eƒ}ƒNƒ
509
510 kernel/
511 Makefile.kernel ƒJ[ƒlƒ‹‚̃tƒ@ƒCƒ‹\¬‚Ì’è‹`
512 kernel_impl.h ƒJ[ƒlƒ‹ŽÀ‘•—p•W€ƒwƒbƒ_ƒtƒ@ƒCƒ‹
513 kernel_int.h kernel_cfg.c—p‚̃wƒbƒ_ƒ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 ƒRƒ“ƒtƒBƒMƒ…
518ƒŒ[ƒ^‚̐ÓIAPIƒe[ƒuƒ‹
519 kernel_def.csv ƒRƒ“ƒtƒBƒMƒ…
520ƒŒ[ƒ^‚Ì’lŽæ“¾ƒVƒ“ƒ{ƒ‹ƒe[ƒuƒ‹
521 kernel.tf ƒRƒ“ƒtƒBƒMƒ…
522ƒŒ[ƒ^‚̃pƒX2‚̃eƒ“ƒvƒŒ[ƒgƒtƒ@ƒCƒ‹
523 kernel_check.tf ƒRƒ“ƒtƒBƒMƒ…
524ƒŒ[ƒ^‚̃pƒX3‚̃eƒ“ƒvƒŒ[ƒgƒtƒ@ƒCƒ‹
525 allfunc.h ‚·‚ׂĂ̊֐”‚ðƒRƒ“ƒpƒCƒ‹‚·‚邽‚ß‚Ì’è‹`
526 check.h ƒGƒ‰[ƒ`ƒFƒbƒN—pƒ}ƒNƒ
527 startup.c ƒJ[ƒlƒ‹‚̏‰Šú‰»‚ƏI—¹ˆ—
528 task.h ƒ^ƒXƒN‘€ìƒ‹[ƒ`ƒ“ŠÖ˜A‚Ì’è‹`
529 task.c ƒ^ƒXƒN‘€ìƒ‹[ƒ`ƒ“
530 task_manage.c ƒ^ƒXƒNŠÇ—‹@”\
531 sys_manage.c ƒVƒXƒeƒ€ó‘ÔŠÇ—‹@”\
532 interrupt.h Š„ž‚ÝŠÇ—‹@”\ŠÖ˜A‚Ì’è‹`
533 interrupt.c Š„ž‚ÝŠÇ—‹@”\
534 exception.h CPU—áŠOŠÇ—‹@”\ŠÖ˜A‚Ì’è‹`
535 exception.c CPU—áŠOŠÇ—‹@”\
536 queue.h ƒLƒ…
537[‘€ìƒ‰ƒCƒuƒ‰ƒŠ‚ðŽg—p‚·‚邽‚ß‚Ì’è‹`
538
539 syssvc/
540 banner.h ƒJ[ƒlƒ‹‹N“®ƒƒbƒZ[ƒW‚̏o—Í‚Ì‚½‚ß‚Ì’è‹`
541 banner.c ƒJ[ƒlƒ‹‹N“®ƒƒbƒZ[ƒW‚̏o—Í
542 banner.cfg ƒJ[ƒlƒ‹‹N“®ƒƒbƒZ[ƒW‚̏o—͂̃Rƒ“ƒtƒBƒMƒ…
543ƒŒ[
544 ƒVƒ‡ƒ“ƒtƒ@ƒCƒ‹
545 serial.h ƒVƒŠƒAƒ‹ƒCƒ“ƒ^ƒtƒF[ƒXƒhƒ‰ƒCƒo‚ðŽg—p‚·‚邽‚ß‚Ì’è‹`
546 serial.c ƒVƒŠƒAƒ‹ƒCƒ“ƒ^ƒtƒF[ƒXƒhƒ‰ƒCƒo
547 serial.cfg ƒVƒŠƒAƒ‹ƒhƒ‰ƒCƒo‚̃Rƒ“ƒtƒBƒMƒ…
548ƒŒ[ƒVƒ‡ƒ“ƒtƒ@ƒCƒ‹
549 syssvc_def.csv ƒVƒXƒeƒ€ƒT[ƒrƒX‚̃Rƒ“ƒtƒBƒMƒ…
550ƒŒ[ƒVƒ‡ƒ“‚̍ۂɕK—v‚È
551 ƒRƒ“ƒtƒBƒMƒ…
552ƒŒ[ƒ^‚Ì’lŽæ“¾ƒVƒ“ƒ{ƒ‹ƒe[ƒuƒ‹
553
554 arch/gcc/
555 MANIFEST ŒÂ•ÊƒpƒbƒP[ƒW‚̃tƒ@ƒCƒ‹ƒŠƒXƒg
556 tool_stddef.h t_stddef.h‚ÌŠJ”­ŠÂ‹«ˆË‘¶•”iGCC—pj
557
558 utils/
559 applyrename ƒtƒ@ƒCƒ‹‚ɃŠƒl[ƒ€‚ð“K—p
560 genrename ƒŠƒl[ƒ€ƒwƒbƒ_ƒtƒ@ƒCƒ‹‚̐¶¬
561 makedep ˆË‘¶ŠÖŒWƒŠƒXƒg‚̐¶¬iGNUŠJ”­ŠÂ‹«—pj
562 makerelease ƒŠƒŠ[ƒXƒpƒbƒP[ƒW‚̐¶¬
563
564 sample/
565 Makefile ƒTƒ“ƒvƒ‹‚ÌMakefileiGNUŠJ”­ŠÂ‹«—pj
566 sample1.h ƒTƒ“ƒvƒ‹ƒvƒƒOƒ‰ƒ€(1)‚ÉŠÖ‚·‚é’è‹`
567 sample1.c ƒTƒ“ƒvƒ‹ƒvƒƒOƒ‰ƒ€(1)
568 sample1.cfg ƒTƒ“ƒvƒ‹ƒvƒƒOƒ‰ƒ€(1)‚̃Rƒ“ƒtƒBƒMƒ…
569ƒŒ[ƒVƒ‡ƒ“ƒtƒ@ƒCƒ‹
570
571 extension/
572 alarm.h ƒAƒ‰[ƒ€ƒnƒ“ƒhƒ‰‹@”\ŠÖ˜A‚Ì’è‹`
573 alarm.c ƒAƒ‰[ƒ€ƒnƒ“ƒhƒ‰‹@”\
574 cyclic.h ŽüŠúƒnƒ“ƒhƒ‰‹@”\ŠÖ˜A‚Ì’è‹`
575 cyclic.c ŽüŠúƒnƒ“ƒhƒ‰‹@”\
576 dataqueue.h ƒf[ƒ^ƒLƒ…
577[‹@”\ŠÖ˜A‚Ì’è‹`
578 dataqueue.c ƒf[ƒ^ƒLƒ…
579[‹@”\
580 time_event.h ƒ^ƒCƒ€ƒCƒxƒ“ƒgŠÇ—ŠÖ˜A‚Ì’è‹`
581 eventflag.h ƒCƒxƒ“ƒgƒtƒ‰ƒOŠÖ˜A‚Ì’è‹`
582 eventflag.c ƒCƒxƒ“ƒgƒtƒ‰ƒO‹@”\
583 time_event.c ƒ^ƒCƒ€ƒCƒxƒ“ƒgŠÇ—
584 time_manage.c ƒVƒXƒeƒ€ŽžŠÇ—‹@”\
585 MANIFEST Šg’£ƒpƒbƒP[ƒW‚̃tƒ@ƒCƒ‹ƒŠƒXƒg
586
587 doc/
588 user.txt ƒ†[ƒU[ƒYƒ}ƒjƒ…
589ƒAƒ‹
590 ssp_spec.txt TOPPERS/SSPƒJ[ƒlƒ‹‚ÌŽd—lŠT—v
591 extension.txt ‹@”\Šg’£Eƒ`ƒ…
592[ƒjƒ“ƒOƒKƒCƒh
593 porting.txt ƒ^[ƒQƒbƒgˆË‘¶•” ƒ|[ƒeƒBƒ“ƒOƒKƒCƒh
594 configurator.txt ƒRƒ“ƒtƒBƒMƒ…
595ƒŒ[ƒ^Žd—l
596 version.txt •ÏX—š—ð
597
598
599‚TDƒRƒ“ƒtƒBƒMƒ…
600ƒŒ[ƒVƒ‡ƒ“ƒXƒNƒŠƒvƒg‚ÌŽg‚¢•û
601
602ƒRƒ“ƒtƒBƒMƒ…
603ƒŒ[ƒVƒ‡ƒ“ƒXƒNƒŠƒvƒgiconfigurej‚́CSSPƒJ[ƒlƒ‹‚¨‚æ‚уAƒv
604ƒŠƒP[ƒVƒ‡ƒ“ƒvƒƒOƒ‰ƒ€‚ð\’z‚·‚邽‚ß‚É•K—v‚ÈŠî–{“I‚ȃRƒ“ƒtƒBƒMƒ…
605ƒŒ[ƒVƒ‡
606ƒ“‚ðs‚¤‚½‚߂̃vƒƒOƒ‰ƒ€‚Å‚ ‚éD
607
608SSPƒJ[ƒlƒ‹‚ð—p‚¢‚ăAƒvƒŠƒP[ƒVƒ‡ƒ“‚ðì¬‚·‚éê‡‚ɂ́C‚Ü‚¸ƒIƒuƒWƒFƒNƒg
609ƒtƒ@ƒCƒ‹‚ð’u‚­ƒfƒBƒŒƒNƒgƒŠ‚ðì¬‚µC‚»‚̃fƒBƒŒƒNƒgƒŠ‚ŃRƒ“ƒtƒBƒMƒ…
610ƒŒ[
611ƒVƒ‡ƒ“ƒXƒNƒŠƒvƒg‚ðŽÀs‚·‚éDƒIƒuƒWƒFƒNƒgƒtƒ@ƒCƒ‹‚ð’u‚­ƒfƒBƒŒƒNƒgƒŠ‚̏ê
612Š‚Æ–¼Ì‚́C”CˆÓ‚ÉŒˆ‚ß‚Ä‚æ‚¢D
613
614ƒRƒ“ƒtƒBƒMƒ…
615ƒŒ[ƒVƒ‡ƒ“ƒXƒNƒŠƒvƒg‚ɑ΂·‚éƒIƒvƒVƒ‡ƒ“‚ÍŽŸ‚Ì’Ê‚èD
616
617 -T <ƒ^[ƒQƒbƒg—ªÌ>
618 ƒ^[ƒQƒbƒgƒVƒXƒeƒ€‚Ì–¼Ì‚ðCtargetƒfƒBƒŒƒNƒgƒŠ‚̉º‚É’u‚©‚ê‚Ä‚¢
619 ‚éƒ^[ƒQƒbƒgˆË‘¶•”ƒfƒBƒŒƒNƒgƒŠ‚Ì–¼Ì‚ÅŽw’è‚·‚éi•K{jD
620
621 -A <ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒvƒƒOƒ‰ƒ€–¼>
622 ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒvƒƒOƒ‰ƒ€‚Ì–¼Ì‚ðŽw’è‚·‚éDÈ—ª‚µ‚½ê‡‚ɂ́C
623 ƒTƒ“ƒvƒ‹ƒvƒƒOƒ‰ƒ€isample1j‚Æ‚È‚éD
624
625 -a <ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̃fƒBƒŒƒNƒgƒŠ–¼>
626 ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒvƒƒOƒ‰ƒ€‚̃\[ƒXƒtƒ@ƒCƒ‹iƒVƒXƒeƒ€ƒRƒ“ƒtƒBƒMƒ…
627
628 ƒŒ[ƒVƒ‡ƒ“ƒtƒ@ƒCƒ‹‚ðœ‚­j‚ð’u‚¢‚½ƒfƒBƒŒƒNƒgƒŠ–¼‚ðŽw’è‚·‚éDÈ
629 —ª‚µ‚½ê‡‚ɂ́CƒIƒuƒWƒFƒNƒgƒtƒ@ƒCƒ‹‚ð’u‚­ƒfƒBƒŒƒNƒgƒŠ‚É’u‚©‚ê
630 ‚Ä‚¢‚邱‚Æ‚ð‰¼’è‚·‚éDƒVƒXƒeƒ€ƒRƒ“ƒtƒBƒMƒ…
631ƒŒ[ƒVƒ‡ƒ“ƒtƒ@ƒCƒ‹‚́C
632 ƒIƒuƒWƒFƒNƒgƒtƒ@ƒCƒ‹‚ð’u‚­ƒfƒBƒŒƒNƒgƒŠ‚É’u‚­‚±‚ƁD
633
634 -U <ƒIƒuƒWƒFƒNƒgƒtƒ@ƒCƒ‹–¼>
635 ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒvƒƒOƒ‰ƒ€‚̃ƒCƒ“‚̃IƒuƒWƒFƒNƒgƒtƒ@ƒCƒ‹i-A
636 ‚ÅŽw’肵‚½ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒvƒƒOƒ‰ƒ€–¼‚É".o"‚ð•t‰Á‚µ‚½‚à‚́jˆÈ
637 ŠO‚ɁCƒŠƒ“ƒN‚·‚ׂ«ƒIƒuƒWƒFƒNƒgƒtƒ@ƒCƒ‹‚Ì–¼Ì‚ðC".o"‚ð•t‰Á‚µ‚½
638 Œ`‚ÅŽw’è‚·‚éD""‚ň͂ނ±‚Æ‚É‚æ‚Á‚āC•¡”‚̃tƒ@ƒCƒ‹‚ðŽw’è‚·‚邱
639 ‚Æ‚à‰Â”\‚Å‚ ‚éi-UƒIƒvƒVƒ‡ƒ“‚𕡐”Žg‚Á‚Ä‚Í‚È‚ç‚È‚¢jD
640
641 -L <ƒJ[ƒlƒ‹ƒ‰ƒCƒuƒ‰ƒŠ‚̃fƒBƒŒƒNƒgƒŠ–¼>
642 Ž–‘O‚ɍ\’z‚µ‚½ƒJ[ƒlƒ‹ƒ‰ƒCƒuƒ‰ƒŠilibkernel.aj‚ð—p‚¢‚āCƒAƒvƒŠ
643 ƒP[ƒVƒ‡ƒ“‚Ì‚Ý‚ð\’z‚·‚éê‡‚ɂ́C‚±‚̃IƒvƒVƒ‡ƒ“‚ɃJ[ƒlƒ‹ƒ‰ƒC
644 ƒuƒ‰ƒŠ‚Ì’u‚©‚ꂽƒfƒBƒŒƒNƒgƒŠ–¼‚ðŽw’è‚·‚éD‚±‚̃IƒvƒVƒ‡ƒ“‚ÌŽg—p
645 —á‚ɂ‚¢‚ẮCu3.5 ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ƃJ[ƒlƒ‹‚ð•ÊX‚ɍ\’z‚·‚é
646 •û–@v‚̐߂ðŽQÆ‚·‚邱‚ƁD
647
648 -f
649 ƒJ[ƒlƒ‹‚ðŠÖ”’PˆÊ‚ŃRƒ“ƒpƒCƒ‹‚µƒ‰ƒCƒuƒ‰ƒŠ‰»‚·‚éê‡‚ɁC‚±‚̃I
650 ƒvƒVƒ‡ƒ“‚ðŽw’è‚·‚éD‚±‚̃IƒvƒVƒ‡ƒ“‚ÌŽg—p—á‚ɂ‚¢‚ẮCu3.4 ƒJ[
651 ƒlƒ‹‚ðŠÖ”’PˆÊ‚щƒCƒuƒ‰ƒŠ‰»‚·‚é•û–@v‚̐߂ðŽQÆ‚·‚邱‚ƁD
652
653 -D <SSPƒJ[ƒlƒ‹‚̃\[ƒXƒfƒBƒŒƒNƒgƒŠ–¼>
654 SSPƒJ[ƒlƒ‹‚̃\[ƒXƒtƒ@ƒCƒ‹‚ð’u‚¢‚½ƒfƒBƒŒƒNƒgƒŠ–¼‚ðŽw’è‚·‚éDÈ
655 —ª‚µ‚½ê‡‚ɂ́Cconfigure‚Ì’u‚©‚ê‚Ä‚¢‚éƒfƒBƒŒƒNƒgƒŠ‚Æ‚È‚éD
656
657 -l <ƒvƒƒOƒ‰ƒ~ƒ“ƒOŒ¾Œê>
658 ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒvƒƒOƒ‰ƒ€‚̃vƒƒOƒ‰ƒ~ƒ“ƒOŒ¾Œê‚ðŽw’è‚·‚éDŒ»Žž
659 “_‚ł́Cc‚Æc++‚Ì‚Ý‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚éD
660
661 -t <ƒeƒ“ƒvƒŒ[ƒgƒfƒBƒŒƒNƒgƒŠ–¼>
662 Makefile‚âƒTƒ“ƒvƒ‹ƒvƒƒOƒ‰ƒ€‚̃eƒ“ƒvƒŒ[ƒg‚Ì’u‚©‚ꂽƒfƒBƒŒƒNƒg
663 ƒŠ–¼‚ðŽw’è‚·‚éDÈ—ª‚µ‚½ê‡‚ɂ́CSSPƒJ[ƒlƒ‹‚̃\[ƒXƒtƒ@ƒCƒ‹‚ð
664 ’u‚¢‚½ƒfƒBƒŒƒNƒgƒŠ‚̉º‚ÌsampleƒfƒBƒŒƒNƒgƒŠ‚Æ‚È‚éD
665
666 -m <ƒeƒ“ƒvƒŒ[ƒgMakefile–¼>
667 Makefile‚̃eƒ“ƒvƒŒ[ƒg‚Æ‚·‚éƒtƒ@ƒCƒ‹–¼‚ðŽw’è‚·‚éDÈ—ª‚µ‚½ê‡
668 ‚ɂ́CMakefile‚Æ‚È‚éD
669
670 -d <ŽÀsŠÂ‹«–¼>
671 ƒ^[ƒQƒbƒgƒVƒXƒeƒ€ã‚ł̃vƒƒOƒ‰ƒ€‚ÌŽÀsŠÂ‹«i‚È‚¢‚µ‚́Cƒfƒoƒb
672 ƒOŠÂ‹«j‚Ì–¼Ì‚ðŽw’è‚·‚éD‚±‚̃IƒvƒVƒ‡ƒ“‚ðŽw’è‚·‚é‚ƁCŽÀsŠÂ‹«
673 ‚ðŽw’è‚·‚éƒVƒ“ƒ{ƒ‹iTOPPERS_<ƒfƒoƒbƒOŠÂ‹«–¼>j‚ªƒ}ƒNƒ’è‹`‚³‚ê
674 ‚éDÈ—ª‚µ‚½ê‡‚ɂ́CŽÀsŠÂ‹«‚ðŽw’è‚·‚éƒVƒ“ƒ{ƒ‹‚̓}ƒNƒ’è‹`‚³
675 ‚ê‚È‚¢D
676
677 -r
678 ƒgƒŒ[ƒXƒƒO‹L˜^‚̃Tƒ“ƒvƒ‹ƒR[ƒh‚ð—LŒø‚É‚·‚éê‡‚ɁC‚±‚̃IƒvƒVƒ‡
679 ƒ“‚ðŽw’è‚·‚éD‚±‚̃IƒvƒVƒ‡ƒ“‚ÌŽg—p—á‚ɂ‚¢‚ẮCu11.5 ƒgƒŒ[ƒX
680 ƒƒO‹L˜^‚̃Tƒ“ƒvƒ‹ƒR[ƒh‚ÌŽg—p•û–@v‚̐߂ðŽQÆ‚·‚邱‚ƁD
681
682 -p <perl‚̃pƒX–¼>
683 perl‚̃pƒX–¼‚ðŽw’è‚·‚éDÈ—ª‚µ‚½ê‡‚ɂ́C/usr/local/bin‚Æ
684 /usr/bin‚ð’Tõ‚µCperl‚̃pƒX–¼‚ðŒˆ’è‚·‚éD
685
686 -g <ƒRƒ“ƒtƒBƒMƒ…
687ƒŒ[ƒ^‚̃pƒX–¼>
688 ƒRƒ“ƒtƒBƒMƒ…
689ƒŒ[ƒ^icfgj‚̃pƒX–¼‚ðŽw’è‚·‚éDÈ—ª‚µ‚½ê‡‚ɂ́C
690 ƒfƒtƒHƒ‹ƒg‚̃pƒX–¼iSSPƒJ[ƒlƒ‹‚̃\[ƒXƒfƒBƒŒƒNƒgƒŠ‚̉º‚Ì
691 cfg/cfg/cfgj‚Æ‚È‚éD
692
693ƒRƒ“ƒtƒBƒMƒ…
694ƒŒ[ƒVƒ‡ƒ“ƒXƒNƒŠƒvƒg‚ªs‚¤ˆ—‚ÍŽŸ‚Ì’Ê‚è‚Å‚ ‚éD
695
696(1) Makefile‚̐¶¬
697
698ƒeƒ“ƒvƒŒ[ƒgƒfƒBƒŒƒNƒgƒŠiƒfƒtƒHƒ‹ƒg‚ł́Csamplej‚©‚ç“KØ‚ÈMakefile‚ð
699‘I‘ð‚µC•K—v‚ȉӏŠ‚ð‘‚«Š·‚¦‚āCMakefile‚𐶐¬‚·‚éD
700
701(2) ƒTƒ“ƒvƒ‹ƒvƒƒOƒ‰ƒ€‚̐¶¬
702
703Žw’肵‚½ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒvƒƒOƒ‰ƒ€‚ªƒeƒ“ƒvƒŒ[ƒgƒfƒBƒŒƒNƒgƒŠ‚É‚ ‚éê‡C
704“KØ‚ȃAƒvƒŠƒP[ƒVƒ‡ƒ“ƒvƒƒOƒ‰ƒ€‚̃\[ƒXƒtƒ@ƒCƒ‹‚ð‘I‘ð‚µC•K—v‚ȉӏŠ‚ð
705‘‚«Š·‚¦‚āCƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒvƒƒOƒ‰ƒ€‚̃\[ƒXƒtƒ@ƒCƒ‹i—Ⴆ‚΁C
706sample1.hCsample1.cCsample1.cfgj‚𐶐¬‚·‚éD
707
708(3) ƒRƒ“ƒtƒBƒMƒ…
709ƒŒ[ƒ^‚ª—pˆÓ‚Å‚«‚Ä‚¢‚é‚©‚̃`ƒFƒbƒN
710
711ƒRƒ“ƒtƒBƒMƒ…
712ƒŒ[ƒ^icfgj‚ÌŽÀsƒtƒ@ƒCƒ‹‚ª‚ ‚é‚©ƒ`ƒFƒbƒN‚µCƒtƒ@ƒCƒ‹‚ª‚È
713‚¢ê‡‚ɂ́C‚»‚ÌŽ|‚ðo—Í‚·‚éD
714
715
716‚UDMakefile‚̏C³•û–@
717
718‘O‚ÌÍ‚Åà–¾‚µ‚½‚悤‚ɁCƒRƒ“ƒtƒBƒMƒ…
719ƒŒ[ƒVƒ‡ƒ“ƒXƒNƒŠƒvƒg‚É—^‚¦‚éƒIƒvƒVƒ‡
720ƒ““™‚©‚çMakefile‚ª¶¬‚³‚ê‚邪CƒRƒ“ƒtƒBƒMƒ…
721ƒŒ[ƒVƒ‡ƒ“ƒXƒNƒŠƒvƒg‚őΉž
722‚Å‚«‚È‚¢ê‡‚ɂ́CMakefile‚𒼐ڏC³‚·‚é•K—v‚ª‚ ‚éD‚±‚±‚ł́CMakefile
723‚Ì’†‚ŁCC³‚ª•K—v‚Æ‚È‚é‰Â”\«‚̍‚‚¢‰ÓŠ‚ɂ‚¢‚Äà–¾‚·‚éD
724
725‚È‚¨CMakefile‚ðC³‚µ‚½Œã‚ɃRƒ“ƒtƒBƒMƒ…
726ƒŒ[ƒVƒ‡ƒ“ƒXƒNƒŠƒvƒg‚ðÄŽÀs‚·
727‚é‚ƁCC³‚µ‚½Makefile‚ªã‘‚«‚³‚ê‚Ä‚µ‚Ü‚¤‚Ì‚Å’ˆÓ‚·‚邱‚ƁiŒÃ‚¢‚à‚Ì‚ª
728Makefile.bak‚É•Û‘¶‚³‚ê‚éjD
729
7306.1. Makefile‚̕ϐ”’è‹`
731
732(A) ƒ^[ƒQƒbƒg—ªÌ
733
734TARGET‚ɂ́Cƒ^[ƒQƒbƒgƒVƒXƒeƒ€‚Ì–¼Ì‚ðCtargetƒfƒBƒŒƒNƒgƒŠ‚̉º‚É’u‚©‚ê
735‚Ä‚¢‚éƒ^[ƒQƒbƒgˆË‘¶•”ƒfƒBƒŒƒNƒgƒŠ‚Ì–¼Ì‚ÅŽw’è‚·‚éD‚±‚Ì’è‹`‚́C’ʏí‚́C
736ƒRƒ“ƒtƒBƒMƒ…
737ƒŒ[ƒVƒ‡ƒ“ƒXƒNƒŠƒvƒg‚ɑ΂·‚é-TƒIƒvƒVƒ‡ƒ“‚É‚æ‚ès‚¤D
738
739(B) ƒIƒuƒWƒFƒNƒgƒtƒ@ƒCƒ‹‚ÌŠg’£Žq
740
741CygwinŠÂ‹«‚ŃRƒ“ƒpƒCƒ‹‚·‚鎞‚ɂ́COBJEXT‚ð"exe"‚É’è‹`‚·‚é•K—v‚ª‚ ‚éD‚±
742‚ê‚́CCygwinŠÂ‹«‚ł́Cƒ[ƒhƒ‚ƒWƒ…
743[ƒ‹‚̃tƒ@ƒCƒ‹–¼‚ÉŠg’£Žq".exe"‚ª•t‰Á
744‚³‚ê‚é‚̂ɑΉž‚·‚邽‚ß‚Ì‚à‚Ì‚Å‚ ‚éDCygwinŠÂ‹«‚Å‚ ‚邱‚Æ‚ð”»’è‚Å‚«‚ê‚΁C
745ƒRƒ“ƒtƒBƒMƒ…
746ƒŒ[ƒVƒ‡ƒ“ƒXƒNƒŠƒvƒg‚ª‚±‚Ì’è‹`‚ðs‚¤D
747
748(C) ŽÀsŠÂ‹«iƒ^[ƒQƒbƒgˆË‘¶j
749
750ƒ^[ƒQƒbƒg‚É‚æ‚Á‚ẮCŽÀsŠÂ‹«‚ɑΉž‚µ‚ă^[ƒQƒbƒgˆË‘¶•”‚̃R[ƒh‚ð·‚µ
751Š·‚¦‚éê‡‚ª‚ ‚éD‚±‚ê‚ð‰Â”\‚É‚·‚邽‚߂ɁCŽÀsŠÂ‹«‚Ì–¼Ì‚ðDBGENV‚É’è‹`
752‚µ‚Ä‚¢‚éD‚±‚Ì’è‹`‚́C’ʏí‚́CƒRƒ“ƒtƒBƒMƒ…
753ƒŒ[ƒVƒ‡ƒ“ƒXƒNƒŠƒvƒg‚ɑ΂·
754‚é-DƒIƒvƒVƒ‡ƒ“‚É‚æ‚ès‚¤D‚ǂ̃^[ƒQƒbƒg‚ª‚Ç‚ÌŽÀsŠÂ‹«‚ɑΉž‚µ‚Ä‚¢‚é‚©
755‚́Cƒ^[ƒQƒbƒgˆË‘¶•”‚̃†[ƒU[ƒYƒ}ƒjƒ…
756ƒAƒ‹‚ðŽQÆ‚·‚邱‚ƁD
757
758(D) ƒJ[ƒlƒ‹ƒ‰ƒCƒuƒ‰ƒŠ‚̃fƒBƒŒƒNƒgƒŠ–¼
759
760KERNEL_LIB‚ɂ́CƒJ[ƒlƒ‹ƒ‰ƒCƒuƒ‰ƒŠ‚Ì’u‚©‚ꂽƒfƒBƒŒƒNƒgƒŠ–¼‚ð’è‹`‚·‚éD
761‚±‚Ì’è‹`‚́C’ʏí‚́CƒRƒ“ƒtƒBƒMƒ…
762ƒŒ[ƒVƒ‡ƒ“ƒXƒNƒŠƒvƒg‚ɑ΂·‚é-LƒIƒvƒVƒ‡
763ƒ“‚É‚æ‚ès‚¤D
764
765(E) ƒJ[ƒlƒ‹‚ðŠÖ”’PˆÊ‚ŃRƒ“ƒpƒCƒ‹‚·‚é‚©‚Ç‚¤‚©
766
767KERNEL_FUNCOBJS‚́CƒJ[ƒlƒ‹‚ðŠÖ”’PˆÊ‚ŃRƒ“ƒpƒCƒ‹‚·‚éê‡‚É‚Ítrue‚É’è‹`
768‚µCƒtƒ@ƒCƒ‹’PˆÊ‚ŃRƒ“ƒpƒCƒ‹‚·‚éê‡‚É‚Í–¢’è‹`‚Æ‚·‚éD‚±‚Ì’è‹`‚́C’ʏí
769‚́CƒRƒ“ƒtƒBƒMƒ…
770ƒŒ[ƒVƒ‡ƒ“ƒXƒNƒŠƒvƒg‚ɑ΂·‚é-fƒIƒvƒVƒ‡ƒ“‚É‚æ‚ès‚¤D
771
772(F) ‹¤’ʃRƒ“ƒpƒCƒ‹ƒIƒvƒVƒ‡ƒ“
773
774‚·‚ׂẴvƒƒOƒ‰ƒ€‚É‹¤’Ê‚·‚éƒRƒ“ƒpƒCƒ‹ƒIƒvƒVƒ‡ƒ“‚̒ljÁ‚ª•K—v‚ȏꍇ‚ɂ́C
775‰º‚̕ϐ”‚Ì’è‹`‚ð•ÏX‚·‚éD‚»‚̃Rƒ“ƒpƒCƒ‹ƒIƒvƒVƒ‡ƒ“‚ªC“Á’è‚̃^[ƒQƒbƒg
776‚ŏí‚É•K—v‚ȏꍇ‚ɂ́Cƒ^[ƒQƒbƒgˆË‘¶‚Ì’è‹`‚ð“ü‚ꂽMakefile.target“™‚ðC
777³‚·‚ׂ«‚Å‚ ‚éD
778
779 CDEFS ƒRƒ“ƒpƒCƒ‰‚ɑ΂·‚é-DƒIƒvƒVƒ‡ƒ“‚ð‹Lq‚·‚éD
780 INCLUDES ƒRƒ“ƒpƒCƒ‰‚ɑ΂·‚é-IƒIƒvƒVƒ‡ƒ“‚ð‹Lq‚·‚éD
781 COPTS ƒRƒ“ƒpƒCƒ‰‚ɑ΂·‚é‚»‚Ì‘¼‚̃IƒvƒVƒ‡ƒ“‚ð‹Lq‚·‚éD
782 LDFLAGS ƒŠƒ“ƒJ‚ɑ΂·‚éƒIƒvƒVƒ‡ƒ“‚ð‹Lq‚·‚éD
783 LIBS ƒ‰ƒCƒuƒ‰ƒŠƒŠƒ“ƒN‚Ì‚½‚߂̃IƒvƒVƒ‡ƒ“‚ð‹Lq‚·‚éD
784
785’ljÁ‚̉”\«‚Ì‚ ‚éƒRƒ“ƒpƒCƒ‹ƒIƒvƒVƒ‡ƒ“‚ɂ‚¢‚ẮCu6.2 ƒRƒ“ƒpƒCƒ‹ƒIƒv
786ƒVƒ‡ƒ“v‚̐߂ðŽQÆ‚Ì‚±‚ƁD
787
788(G) ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒvƒƒOƒ‰ƒ€–¼
789
790APPLNAME‚ɂ́CƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒvƒƒOƒ‰ƒ€–¼‚ð’è‹`‚·‚éDƒVƒXƒeƒ€ƒRƒ“ƒtƒB
791ƒMƒ…
792ƒŒ[ƒVƒ‡ƒ“ƒtƒ@ƒCƒ‹–¼‚́CAPPLNAME‚É’è‹`‚µ‚½–¼‘O‚ÉŠg’£Žq".cfg"‚ð•t‰Á
793‚µ‚½–¼‘O‚Æ‚·‚éD‚Ü‚½CƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̃ƒCƒ“ƒtƒ@ƒCƒ‹‚́CAPPLNAME‚É’è
794‹`‚µ‚½–¼‘O‚ÉŠg’£Žq".c"‚ð•t‰Á‚µ‚½–¼‘O‚Æ‚·‚éD‚±‚Ì’è‹`‚́C’ʏí‚́CƒRƒ“ƒtƒB
795ƒMƒ…
796ƒŒ[ƒVƒ‡ƒ“ƒXƒNƒŠƒvƒg‚ɑ΂·‚é-AƒIƒvƒVƒ‡ƒ“‚É‚æ‚ès‚¤D
797
798(H) ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̃fƒBƒŒƒNƒgƒŠ–¼
799
800ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̃\[ƒXƒtƒ@ƒCƒ‹‚ðCƒIƒuƒWƒFƒNƒgƒtƒ@ƒCƒ‹‚ð’u‚­‚Ì‚Æ‚Í•Ê
801‚̃fƒBƒŒƒNƒgƒŠ‚É’u‚­ê‡‚ɂ́CAPPLDIR‚É‚»‚̃fƒBƒŒƒNƒgƒŠ–¼‚ð’è‹`‚·‚éD‚±
802‚Ì’è‹`‚́C’ʏí‚́CƒRƒ“ƒtƒBƒMƒ…
803ƒŒ[ƒVƒ‡ƒ“ƒXƒNƒŠƒvƒg‚ɑ΂·‚é-aƒIƒvƒVƒ‡ƒ“
804‚É‚æ‚ès‚¤DƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̃\[ƒXƒtƒ@ƒCƒ‹‚ð’u‚­ƒfƒBƒŒƒNƒgƒŠ‚ª•¡”‚ 
805‚éê‡‚ɂ́CAPPL_DIR‚Ì’è‹`‚ð•ÏX‚·‚邱‚ƂőΉž‚·‚éD
806
807(I) ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̃vƒƒOƒ‰ƒ€ƒtƒ@ƒCƒ‹–¼
808
809ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ª•¡”‚̃\[ƒXƒtƒ@ƒCƒ‹‚ō\¬‚³‚ê‚éê‡‚ɂ́C‚»‚̃IƒuƒWƒF
810ƒNƒgƒtƒ@ƒCƒ‹–¼‚ðCAPPL_ASMOBJSCAPPL_COBJSCAPPL_CXXOBJS‚É—ñ‹“‚·‚éD
811
812(J) ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̃Rƒ“ƒpƒCƒ‹ƒIƒvƒVƒ‡ƒ“
813
814ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̃Rƒ“ƒpƒCƒ‹‚É•K—v‚ȃRƒ“ƒpƒCƒ‹ƒIƒvƒVƒ‡ƒ“‚âCƒAƒvƒŠƒP[
815ƒVƒ‡ƒ“‚ªƒ‰ƒCƒuƒ‰ƒŠ‚ð•K—v‚Æ‚·‚éê‡‚ɂ́CAPPL_CFLAGS‚¨‚æ‚ÑAPPL_LIBS‚É’è
816‹`‚·‚éD
817
818(K) ƒ[ƒhƒ‚ƒWƒ…
819[ƒ‹‚̃tƒ@ƒCƒ‹–¼
820
821•W€‚̃[ƒhƒ‚ƒWƒ…
822[ƒ‹‚̃tƒ@ƒCƒ‹–¼‚ðOBJNAME‚É’è‹`‚·‚éDƒfƒtƒHƒ‹ƒg‚ÍSSP
823‚Å‚ ‚éD
824
825(L) ƒ^[ƒQƒbƒgƒtƒ@ƒCƒ‹‚Ì’è‹`
826
827ƒ^[ƒQƒbƒg"all"‚̈ˑ¶ƒtƒ@ƒCƒ‹‚Æ‚µ‚āCƒ[ƒhƒ‚ƒWƒ…
828[ƒ‹‚ÌŒ`Ž®‚ðŽw’è‚·‚éD
829‹ï‘Ì“I‚ɂ́CELFŒ`Ž®‚ÌŽž‚Í$(OBJFILE)CƒoƒCƒiƒŠŒ`Ž®‚ÌŽž‚Í$(OBJNAME).binC
830ƒ‚ƒgƒ[ƒ‰ SŒ`Ž®‚ÌŽž‚Í$(OBJNAME).srec‚ðŽw’è‚·‚éD$(OBJFILE)‚́CCygwin
831ŠÂ‹«‚ÅOBJEXT‚ð"exe"‚É’è‹`‚µ‚½Žž‚É‚Í$(OBJNAME).exeC‚»‚¤‚Å‚È‚¢ê‡‚É‚Í
832$(OBJNAME)‚Æ‚È‚éD
833
834(M) makedep‚̃IƒvƒVƒ‡ƒ“‚Ì’è‹`
835
836CygwinŠÂ‹«‚Ń‹[ƒgƒfƒBƒŒƒNƒgƒŠ‚ª"cygdrive"‚Å‚È‚¢ê‡‚ɂ́Cmakedep‚Ì-RƒI
837ƒvƒVƒ‡ƒ“‚Ń‹[ƒgƒfƒBƒŒƒNƒgƒŠ–¼‚ð—^‚¦‚é•K—v‚ª‚ ‚éDmakedep‚̃IƒvƒVƒ‡ƒ“‚́C
838ŽŸ‚Ì—á‚̂悤‚ɁCMAKEDEP_OPTS‚É’è‹`‚·‚éD
839
840MAKEDEP_OPTS = -R cygdrive
841
8426.2. ƒRƒ“ƒpƒCƒ‹ƒIƒvƒVƒ‡ƒ“
843
844SSPƒJ[ƒlƒ‹‚̃R[ƒh’†‚ɂ́Cassertƒ}ƒNƒ‚ªŽg‚í‚ê‚Ä‚¢‚éDassertƒ}ƒNƒ‚́C
845NDEBUG‚ð’è‹`‚·‚邱‚ƂŁCƒIƒuƒWƒFƒNƒgƒR[ƒh’†‚©‚çÁ‚·‚±‚Æ‚ª‚Å‚«‚éDƒJ[
846ƒlƒ‹‚̃fƒoƒbƒO‚ªI—¹‚·‚ê‚΁C-DNDEBUG‚ðŽw’肵‚ăRƒ“ƒpƒCƒ‹‚µ‚½•û‚ªŒø—¦‚ª
847‚æ‚­‚È‚éD
848
849ƒ^[ƒQƒbƒgˆË‘¶•”‚É‚¨‚¢‚āCƒRƒ“ƒpƒCƒ‹ƒIƒvƒVƒ‡ƒ“‚É-WerroriŒx‚ðƒGƒ‰[ˆµ
850‚¢‚·‚éj‚ðŽw’肵‚Ä‚¢‚éê‡‚ª‚ ‚éD‚»‚̂悤‚ȃ^[ƒQƒbƒg‚É‚¨‚¢‚āCƒAƒvƒŠ
851ƒP[ƒVƒ‡ƒ“‚ÅŒx‚ª”ð‚¯‚ç‚ê‚È‚¢ê‡‚ɂ́Cƒ^[ƒQƒbƒgˆË‘¶•”‚ðC³‚µ‚ăRƒ“
852ƒpƒCƒ‹ƒIƒvƒVƒ‡ƒ“‚ðíœ‚·‚é•K—v‚ª‚ ‚éD
853
854
855‚VDƒRƒ“ƒtƒBƒMƒ…
856ƒŒ[ƒ^‚ÌŽg‚¢•û
857
858ƒRƒ“ƒtƒBƒMƒ…
859ƒŒ[ƒ^icfgj‚́CTOPPERSV¢‘ãƒJ[ƒlƒ‹“‡Žd—l‘‚Ì2.12.5ß
860‚Ì‹Lq‚Ì’Ê‚èC3‚‚̃pƒX‚ō\¬‚³‚ê‚éD
861
862ƒRƒ“ƒtƒBƒMƒ…
863ƒŒ[ƒ^‚́CƒVƒXƒeƒ€ƒRƒ“ƒtƒBƒMƒ…
864ƒŒ[ƒVƒ‡ƒ“ƒtƒ@ƒCƒ‹–¼‚ðƒpƒ‰ƒ[
865ƒ^‚ÉŽæ‚èCˆÈ‰º‚̃IƒvƒVƒ‡ƒ“‚ðŽ‚Âid—v‚È‚à‚̂̂݁jD
866
867 --help
868 ƒIƒvƒVƒ‡ƒ“‚̃ŠƒXƒg‚Æà–¾‚ð•\Ž¦‚·‚éD
869
870 -vm--versionn
871 ƒRƒ“ƒtƒBƒMƒ…
872ƒŒ[ƒ^‚̃o[ƒWƒ‡ƒ“‚ð•\Ž¦‚·‚éD
873
874 -km--kerneln<ƒJ[ƒlƒ‹–¼>
875 ƒJ[ƒlƒ‹‚Ì–¼Ì‚ðŽw’è‚·‚éDƒfƒtƒHƒ‹ƒg‚ÍSSPD
876
877 -pm--passn<ƒpƒX”ԍ†>
878 ƒpƒX”ԍ†‚ðŽw’è‚·‚éD1`3‚Ì‚¢‚¸‚ê‚©D
879
880 -Im--include-pathn<ƒCƒ“ƒNƒ‹[ƒhƒpƒX–¼>
881 INCLUDEƒfƒBƒŒƒNƒeƒBƒu‚É‚¨‚¢‚āCƒCƒ“ƒNƒ‹[ƒh‚·‚éƒRƒ“ƒtƒBƒMƒ…
882ƒŒ[
883 ƒVƒ‡ƒ“ƒtƒ@ƒCƒ‹‚ð’T‚·ƒpƒX–¼‚ðŽw’è‚·‚éD
884
885 -Tm--template-filen<ƒeƒ“ƒvƒŒ[ƒgƒtƒ@ƒCƒ‹–¼>
886 ƒeƒ“ƒvƒŒ[ƒgƒtƒ@ƒCƒ‹‚Ì–¼Ì‚ðŽw’è‚·‚éDƒpƒX2‚ƃpƒX3‚Å—LŒøD
887
888 --api-table <Ã“IAPIƒe[ƒuƒ‹ƒtƒ@ƒCƒ‹–¼>
889 Ã“IAPIƒe[ƒuƒ‹‚̃tƒ@ƒCƒ‹–¼‚ðŽw’è‚·‚éD
890
891 --cfg1-def-table <’lŽæ“¾ƒVƒ“ƒ{ƒ‹ƒe[ƒuƒ‹ƒtƒ@ƒCƒ‹–¼>
892 ’lŽæ“¾ƒVƒ“ƒ{ƒ‹ƒe[ƒuƒ‹‚̃tƒ@ƒCƒ‹–¼‚ðŽw’è‚·‚éD
893
894 -rm--rom-imagen<ƒ[ƒhƒ‚ƒWƒ…
895[ƒ‹–¼>
896 ƒ[ƒhƒ‚ƒWƒ…
897[ƒ‹‚ðSƒŒƒR[ƒhƒtƒH[ƒ}ƒbƒg‚ÌŒ`‚É•ÏŠ·‚µ‚½ƒtƒ@ƒCƒ‹‚Ì
898 –¼Ì‚ðŽw’è‚·‚éDƒpƒX3‚Å‚Ì‚Ý—LŒøD
899
900 -s [--symbol-table] <ƒVƒ“ƒ{ƒ‹ƒtƒ@ƒCƒ‹–¼>
901 ƒ[ƒhƒ‚ƒWƒ…
902[ƒ‹’†‚ÌŠeƒVƒ“ƒ{ƒ‹‚ƃAƒhƒŒƒX‚̑Ήž•\‚ðŠÜ‚ÞƒVƒ“ƒ{ƒ‹
903 ƒtƒ@ƒCƒ‹‚Ì–¼Ì‚ðŽw’è‚·‚éDƒpƒX3‚Å‚Ì‚Ý—LŒøD
904
905 --id-output-file <ID”ԍ†o—̓tƒ@ƒCƒ‹–¼>
906 SSPƒJ[ƒlƒ‹‚Å‚ÍŽg—p‚µ‚Ä‚Í‚È‚ç‚È‚¢BÚ×‚Íconfigurator.txt‚Ì
907 u›ƒJ[ƒlƒ‹\¬E‰Šú‰»ƒtƒ@ƒCƒ‹ikernel_cfg.cjv‚Ì(5)‚ðŽQÆ‚Ì‚±‚ƁB
908
909 --id-input-file <ID”ԍ†“ü—̓tƒ@ƒCƒ‹–¼>
910 SSPƒJ[ƒlƒ‹‚Å‚ÍŽg—p‚µ‚Ä‚Í‚È‚ç‚È‚¢BÚ×‚Íconfigurator.txt‚Ì
911 u›ƒJ[ƒlƒ‹\¬E‰Šú‰»ƒtƒ@ƒCƒ‹ikernel_cfg.cjv‚Ì(5)‚ðŽQÆ‚Ì‚±‚ƁB
912
913 --external-id
914 ƒIƒuƒWƒFƒNƒg‚ÌID”ԍ†‚ð•ÛŽ‚·‚é•Ï”‚Ì’è‹`‚𐶐¬‚·‚éDƒpƒX2‚Å‚Ì‚Ý
915 —LŒøD
916
917 -Mm--print-dependenciesn<ƒ^[ƒQƒbƒgƒVƒ“ƒ{ƒ‹>
918 ƒVƒXƒeƒ€ƒRƒ“ƒtƒBƒMƒ…
919ƒŒ[ƒVƒ‡ƒ“ƒtƒ@ƒCƒ‹‚̈ˑ¶ŠÖŒW‚ðo—Í‚·‚éD
920 Makefile’†‚̈ˑ¶ŠÖŒW‚𐶐¬‚·‚éÛ‚É—p‚¢‚éD
921
922ƒRƒ“ƒtƒBƒMƒ…
923ƒŒ[ƒ^‚̏ڍ׎d—l‚ɂ‚¢‚ẮC•Ê“rPDFƒtƒ@ƒCƒ‹‚ÌŒ`‚Å”z•z‚µ‚Ä‚¢
924‚éuTOPPERSV¢‘ãƒJ[ƒlƒ‹—pƒRƒ“ƒtƒBƒMƒ…
925ƒŒ[ƒ^Žd—lv‚ðŽQÆ‚·‚邱‚ƁD
926
927
928‚WDƒVƒXƒeƒ€ƒT[ƒrƒX
929
930
9318.1. ƒVƒŠƒAƒ‹ƒCƒ“ƒ^ƒtƒF[ƒXƒhƒ‰ƒCƒo
932
933ƒVƒŠƒAƒ‹ƒCƒ“ƒ^ƒtƒF[ƒXƒhƒ‰ƒCƒo‚́CƒVƒŠƒAƒ‹ƒ|[ƒg‚ðˆµ‚¤‚½‚߂̃hƒ‰ƒCƒo‚Å
934‚ ‚éD
935
936ƒVƒŠƒAƒ‹ƒCƒ“ƒ^ƒtƒF[ƒXƒhƒ‰ƒCƒo‚́CƒVƒXƒeƒ€ƒRƒ“ƒtƒBƒMƒ…
937ƒŒ[ƒVƒ‡ƒ“ƒtƒ@ƒC
938ƒ‹‚Åserial.cfg‚ðƒCƒ“ƒNƒ‹[ƒh‚·‚邱‚ƂŁCƒVƒXƒeƒ€‚É‘g‚ݍž‚Þ‚±‚Æ‚ª‚Å‚«‚éD
939ƒVƒŠƒAƒ‹ƒCƒ“ƒ^ƒtƒF[ƒXƒhƒ‰ƒCƒo‚ðŒÄ‚яo‚·ƒ\[ƒXƒtƒ@ƒCƒ‹‚ł́Cserial.h‚ð
940ƒCƒ“ƒNƒ‹[ƒh‚·‚éD
941
9428.1.1. ƒVƒŠƒAƒ‹ƒCƒ“ƒ^ƒtƒF[ƒXƒhƒ‰ƒCƒo‚̃T[ƒrƒXƒR[ƒ‹
943
944ƒVƒŠƒAƒ‹ƒCƒ“ƒ^ƒtƒF[ƒXƒhƒ‰ƒCƒo‚ðŒÄ‚яo‚·ƒT[ƒrƒXƒR[ƒ‹‚ÌŽd—l‚ÍŽŸ‚Ì’Ê‚è
945‚Å‚ ‚éD‚±‚Ì’†‚ŁCƒVƒŠƒAƒ‹ƒ|[ƒg‚ÌID”ԍ†iportidj‚̉ðŽß‚̓^[ƒQƒbƒgˆË
946‘¶‚Æ‚È‚éD
947
948‚±‚ê‚ç‚̃T[ƒrƒXƒR[ƒ‹‚́C”ñƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg‚©‚çŒÄ‚яo‚·‚±‚Æ‚Í‚Å‚«‚È
949‚¢D‚Ü‚½Cserial_rea_dat‚Æserial_wri_dat‚́CƒfƒBƒXƒpƒbƒ`•Û—¯ó‘ԂŌĂÑ
950o‚·‚±‚Æ‚Í‚Å‚«‚È‚¢D‚¢‚¸‚ê‚àCŒÄ‚яo‚µ‚½ê‡‚É‚ÍE_CTXƒGƒ‰[‚Æ‚È‚éD
951
952(1) ER serial_opn_por(ID portid)
953
954portid‚ÅŽw’肳‚ꂽƒVƒŠƒAƒ‹ƒ|[ƒg‚ðƒI[ƒvƒ“‚µCŽóM^‘—M‚ª‰Â”\‚ȏó‘Ô‚É
955‚·‚éD
956
957(2) ER serial_cls_por(ID portid)
958
959portid‚ÅŽw’肳‚ꂽƒVƒŠƒAƒ‹ƒ|[ƒg‚ðƒNƒ[ƒY‚·‚éD
960
961(3) ER_UINT serial_rea_dat(ID portid, char *buf, uint_t len)
962
963portid‚ÅŽw’肳‚ꂽƒVƒŠƒAƒ‹ƒ|[ƒg‚©‚çClenƒoƒCƒg‚Ì•¶Žš—ñ‚ðŽóM‚µCbuf‚©
964‚ç‚̗̈æ‚É“ü‚ê‚éDƒVƒŠƒAƒ‹ƒ|[ƒg‚ÌŽóMƒoƒbƒtƒ@‚ÉŠi”[‚³‚ê‚Ä‚¢‚éƒoƒCƒg”‚ª
965len ƒoƒCƒg‚æ‚菭‚È‚¢ê‡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
970portid‚ÅŽw’肳‚ꂽƒVƒŠƒAƒ‹ƒ|[ƒg‚ɁCbuf‚©‚ç‚ÌlenƒoƒCƒg‚Ì•¶Žš—ñ‚𑗐M‚·
971‚éD‘—M’†‚ɃVƒŠƒAƒ‹ƒ|[ƒg‚Ì‘—Mƒoƒbƒtƒ@‚ªƒtƒ‹‚É‚È‚Á‚½ê‡C‚»‚ÌŽž“_‚Å
972‘¦À‚ɃŠƒ^[ƒ“‚·‚éD‘—M‚µ‚½•¶Žš”‚Ü‚½‚̓Gƒ‰[ƒR[ƒh‚ð•Ô‚·D
973
974(5) ER serial_ctl_por(ID portid, uint_t ioctl)
975
976portid‚ÅŽw’肳‚ꂽƒVƒŠƒAƒ‹ƒ|[ƒg‚̐§Œäî•ñ‚ðCioctl‚ÅŽ¦‚³‚ê‚é’l‚ɐݒ肷
977‚éD
978
979ioctl‚ɂ́CˆÈ‰º‚̐§Œäî•ñ‚ð•\‚·’萔‚ðCƒrƒbƒg–ˆ‚ɘ_—˜a‚ð‚Æ‚Á‚½‚à‚Ì‚ð
980Žw’è‚·‚éD
981
982 IOCTL_ECHOiƒGƒR[ƒoƒbƒNƒ‚[ƒhj
983 ‚±‚̃rƒbƒg‚ðÝ’è‚·‚é‚ƁCƒVƒŠƒAƒ‹ƒCƒ“ƒ^ƒtƒF[ƒXƒhƒ‰ƒCƒo‚ªƒGƒR[
984 ƒoƒbƒN‚ðs‚¤D‹ï‘Ì“I‚ɂ́Cƒoƒbƒtƒ@‚©‚當Žš‚ðŽæ‚èo‚·“x‚ɁC‚»‚Ì
985 •¶Žš‚ð‘‚«o‚·D
986
987 IOCTL_CRLFi‰üsƒ‚[ƒhj
988 LFiline feedj‚ð‘‚«o‚·‚ƁCCRicarriage returnj{LF‚É•ÏŠ·‚µ
989 ‚ď‘‚«o‚·D
990
991
992‚È‚¨CƒI[ƒvƒ“’¼Œã‚̃fƒtƒHƒ‹ƒg‚̐ݒè’l‚Í(IOCTL_ECHO | IOCTL_CRLF)‚Å‚ ‚éD
993
994
9958.1.2. ƒVƒŠƒAƒ‹ƒCƒ“ƒ^ƒtƒF[ƒXƒhƒ‰ƒCƒo‚Ì‚»‚Ì‘¼‚̃T[ƒrƒX
996
997ƒVƒŠƒAƒ‹ƒCƒ“ƒ^ƒtƒF[ƒXƒhƒ‰ƒCƒo‚́C‘O‹L‚̃T[ƒrƒXƒR[ƒ‹‚ɉÁ‚¦‚āC‰Šú‰»
998ˆ—‚Æ–¢‘—M•¶Žš‚ÌŽæo‚µˆ—‚ðŽ‚ÂD‰Šú‰»ˆ—‚́CƒJ[ƒlƒ‹‚ɏ‰Šú‰»ƒ‹[
999ƒ`ƒ“‚Æ‚µ‚Ä“o˜^‚·‚éD‚Ü‚½Cƒ^[ƒQƒbƒgˆË‘¶‚ŁC‰Šú‰»ˆ—CI—¹ˆ—CŠ„ž
1000‚݃T[ƒrƒXƒ‹[ƒ`ƒ“‚ðŽ‚ÂD‚±‚ê‚ç‚Ì“o˜^ˆ—‚Íserial.cfg‚ÉŠÜ‚Ü‚ê‚éD
1001
1002(1) void serial_initialize(intptr_t exinf)
1003
1004ƒVƒŠƒAƒ‹ƒCƒ“ƒ^ƒtƒF[ƒXƒhƒ‰ƒCƒo‚ð‰Šú‰»‚·‚éDƒJ[ƒlƒ‹‚ɏ‰Šú‰»ƒ‹[ƒ`ƒ“‚Æ
1005‚µ‚Ä“o˜^‚·‚éDexinf‚Í–³Ž‹‚·‚éD
1006
1007(2) bool_t serial_get_chr(ID portid, char *p_c)
1008
1009portid‚ÅŽw’肳‚ꂽƒVƒŠƒAƒ‹ƒ|[ƒg‚Ì‘—Mƒoƒbƒtƒ@’†‚Ì•¶Žš‚ðCp_c‚ÌŽw‚·”Ô’n
1010‚ÉŽæ‚èo‚µCtrue‚ð•Ô‚·ŠÖ”D•¶Žš‚ª‚È‚©‚Á‚½Žž‚ɂ́Cfalse‚ð•Ô‚·DI—¹ˆ—
1011ƒ‹[ƒ`ƒ“’†‚ŌĂяo‚·‚±‚Æ‚ð‘z’肵‚Ä‚¢‚éD
1012
1013
10148.2. ƒJ[ƒlƒ‹‹N“®ƒƒbƒZ[ƒW‚̏o—Í
1015
1016ƒJ[ƒlƒ‹‹N“®ƒƒbƒZ[ƒW‚̏o—͂́CƒJ[ƒlƒ‹‚Ì‹N“®Žž‚ɁCƒJ[ƒlƒ‹‚Ì–¼Ì‚âƒo[
1017ƒWƒ‡ƒ“”ԍ†C’˜ìŒ •\Ž¦‚È‚Ç‚ðo—Í‚·‚邽‚ß‚Ì‹@”\‚Å‚ ‚éD
1018
1019ƒJ[ƒlƒ‹‹N“®ƒƒbƒZ[ƒW‚̏o—͂́CƒVƒXƒeƒ€ƒRƒ“ƒtƒBƒMƒ…
1020ƒŒ[ƒVƒ‡ƒ“ƒtƒ@ƒCƒ‹
1021‚Åbanner.cfg‚ðƒCƒ“ƒNƒ‹[ƒh‚·‚邱‚ƂŁCƒVƒXƒeƒ€‚É‘g‚ݍž‚Þ‚±‚Æ‚ª‚Å‚«‚éD
1022
1023ƒJ[ƒlƒ‹‹N“®ƒƒbƒZ[ƒW‚̏o—͂́CŽŸ‚̊֐”‚ō\¬‚³‚ê‚éD
1024
1025(1) void print_banner(intptr_t exinf)
1026
1027ƒVƒXƒeƒ€ƒƒO‹@”\‚ð—p‚¢‚āCƒJ[ƒlƒ‹‹N“®ƒƒbƒZ[ƒW‚ðo—Í‚·‚éDbanner.cfg
1028‚É‚æ‚Á‚āCƒJ[ƒlƒ‹‚ɏ‰Šú‰»ƒ‹[ƒ`ƒ“‚Æ‚µ‚Ä“o˜^‚³‚ê‚éDexinf‚Í–³Ž‹‚³‚ê‚éD
1029
1030
1031‚XDƒTƒ|[ƒgƒ‰ƒCƒuƒ‰ƒŠ
1032
1033ƒTƒ|[ƒgƒ‰ƒCƒuƒ‰ƒŠ‚́CƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚âƒVƒXƒeƒ€ƒT[ƒrƒX‚ðì¬‚·‚邽‚ß
1034‚É—˜—p‚Å‚«‚郉ƒCƒuƒ‰ƒŠŠÖ”ŒQ‚Å‚ ‚éD
1035
1036
10379.1. ƒLƒ…
1038[‘€ìƒ‰ƒCƒuƒ‰ƒŠŠÖ”
1039
1040ƒLƒ…
1041[‘€ìƒ‰ƒCƒuƒ‰ƒŠ‚́CƒLƒ…
1042[ƒwƒbƒ_‚ðŠÜ‚ÞƒŠƒ“ƒO\‘¢‚̃_ƒuƒ‹ƒŠƒ“ƒNƒLƒ…
1043[
1044‚ðˆµ‚¤ƒ‰ƒCƒuƒ‰ƒŠ‚Å‚ ‚éDƒLƒ…
1045[ƒwƒbƒ_‚ÌŽŸƒGƒ“ƒgƒŠ‚̓Lƒ…
1046[‚̐擪‚̃Gƒ“ƒg
1047ƒŠC‘OƒGƒ“ƒgƒŠ‚̓Lƒ…
1048[‚Ì––”ö‚̃Gƒ“ƒgƒŠ‚Æ‚·‚éD‚Ü‚½CƒLƒ…
1049[‚̐擪‚̃Gƒ“
1050ƒgƒŠ‚Ì‘OƒGƒ“ƒgƒŠ‚ƁCƒLƒ…
1051[‚Ì––”ö‚̃Gƒ“ƒgƒŠ‚ÌŽŸƒGƒ“ƒgƒŠ‚́CƒLƒ…
1052[ƒwƒbƒ_
1053‚Æ‚·‚éD‹ó‚̃Lƒ…
1054[‚́CŽŸƒGƒ“ƒgƒŠC‘OƒGƒ“ƒgƒŠ‚Æ‚àŽ©•ªŽ©g‚ðŽw‚·ƒLƒ…
1055[ƒwƒb
1056ƒ_‚Å‚ ‚ç‚í‚·D
1057
1058ƒLƒ…
1059[‘€ìƒ‰ƒCƒuƒ‰ƒŠŠÖ”‚ð—p‚¢‚éê‡‚ɂ́Cqueue.h‚ðƒCƒ“ƒNƒ‹[ƒh‚·‚éD
1060
1061ƒLƒ…
1062[ƒwƒbƒ_‚ƃGƒ“ƒgƒŠ‚Ì‚½‚߂̃f[ƒ^\‘¢‚Æ‚µ‚āCQUEUE\‘¢‘Ì‚ð—p‚¢‚éD
1063QUEUE\‘¢‘Ì‚Ì’è‹`‚ÍŽŸ‚Ì’Ê‚èDQUEUEŒ^‚̕ϐ”‚Í”z—ñ‚Æ‚µ‚Ä’è‹`‚·‚邱‚Æ‚ð‘O’ñ‚Æ
1064‚µ‚Ä‚¢‚éD
1065
1066 typedef struct
1067 {
1068 QUEIDX next;
1069 QUEIDX prev;
1070 } QUEUE;
1071
1072QUEIDX‚ÍQUEUEŒ^‚Ì”z—ñ‚̃Cƒ“ƒfƒbƒNƒX’l‚ð•\‚·ƒf[ƒ^Œ^‚Å‚ ‚éD
1073
1074typedef 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[ƒwƒbƒ_‚ðCqueue_null‚É‚Í
1085–³Œø‚ȃLƒ…
1086[ƒwƒbƒ_‚ðŽ¦‚·ƒCƒ“ƒfƒbƒNƒX’l‚ðŽw’è‚·‚éD
1087
1088(2) queue_insert_prev(QUEUE *top , QUEIDX queue , QUEIDX entry)
1089
1090queue‚ÅŽw’è‚·‚éƒGƒ“ƒgƒŠ‚Ì‘O‚ɁCentry‚ÅŽw’è‚·‚éƒGƒ“ƒgƒŠ‚ð‘}“ü‚·‚éD
1091top‚ÍqueueCentry‚ðŠÜ‚ÞQUEUEŒ^”z—ñ‚̐擪ƒAƒhƒŒƒX‚Å‚ ‚éD
1092queue‚ɃLƒ…
1093[ƒwƒbƒ_‚ðŽw’肵‚½ê‡‚ɂ́CƒLƒ…
1094[‚Ì––”ö‚Ép_entry‚ÅŽw’è‚·
1095‚éƒGƒ“ƒgƒŠ‚ð‘}“ü‚·‚邱‚Æ‚É‚È‚éD
1096
1097(3) queue_delete_next(QUEUE *top , QUEIDX queue)
1098
1099queue‚ÅŽw’è‚·‚éƒGƒ“ƒgƒŠ‚ÌŽŸ‚̃Gƒ“ƒgƒŠ‚ðíœ‚µCíœ‚µ‚½ƒGƒ“ƒgƒŠ‚Ì
1100ƒLƒ…
1101[”z—ñ’†‚̃Cƒ“ƒfƒbƒNƒX‚ð•Ô‚·D
1102top‚ÍqueueCentry‚ðŠÜ‚ÞQUEUEŒ^”z—ñ‚̐擪ƒAƒhƒŒƒX‚Å‚ ‚éD
1103
1104(6) queue_empty(QUEUE *queue , QUEIDX queue_null)
1105
1106ƒLƒ…
1107[‚ª‹ó‚̏ꍇ‚É‚ÍtrueC‚»‚¤‚Å‚È‚¢ê‡‚É‚Ífalse‚ð•Ô‚·Dqueue‚É‚Í
1108ƒLƒ…
1109[ƒwƒbƒ_‚ðCqueue_null‚É‚Í–³Œø‚ȃLƒ…
1110[ƒwƒbƒ_‚ðŽ¦‚·ƒCƒ“ƒfƒbƒNƒX’l‚ð
1111Žw’è‚·‚éD
1112
1113
1114‚P‚ODŽg—pã‚Ì’ˆÓ‚ƃqƒ“ƒg
1115
111610.1. ƒ^ƒCƒ}ƒhƒ‰ƒCƒo‚Ì‘gž‚Ý
1117
1118ƒ^ƒCƒ}ƒhƒ‰ƒCƒo‚ðƒVƒXƒeƒ€‚É‘g‚ݍž‚Þ‚½‚߂ɁCƒVƒXƒeƒ€ƒRƒ“ƒtƒBƒMƒ…
1119ƒŒ[ƒVƒ‡
1120ƒ“ƒtƒ@ƒCƒ‹‚̐擪‚Åtarget_timer.cfg‚ðƒCƒ“ƒNƒ‹[ƒh‚·‚é•K—v‚ª‚ ‚éD
1121
112210.2. assertƒ}ƒNƒ‚̏ˆ—
1123
1124SSPƒJ[ƒlƒ‹‚̃R[ƒh’†‚ɂ́Cassertƒ}ƒNƒ‚ªŽg‚í‚ê‚Ä‚¢‚éDassertƒ}ƒNƒ‚Ì’è
1125‹`‚Ít_stddef.h‚ÉŠÜ‚Ü‚êCassert‚ªŽ¸”s‚µ‚½ê‡‚̍Ōã‚̏ˆ—i’ʏí‚́Cƒvƒ
1126ƒOƒ‰ƒ€‚ð’âŽ~‚³‚¹‚鏈—j‚́Cƒ^[ƒQƒbƒgˆË‘¶•”‚ÌTOPPERS_assert_abort‚ÅŒˆ
1127’肳‚ê‚éD
1128
1129assert‚ªŽ¸”s‚µ‚½ê‡CƒVƒXƒeƒ€ŠJ”­’†‚̓fƒoƒbƒK‚É—Ž‚Æ‚·‚Ì‚ª–]‚Ü‚µ‚¢‚ªC
1130ƒVƒXƒeƒ€‰Ò“­Žž‚̑Ώˆ–@‚́CƒVƒXƒeƒ€‚ɑ΂·‚é—vŒ‚Ɉˑ¶‚·‚éD‚»‚±‚ŁCƒ^[
1131ƒQƒbƒgˆË‘¶•”‚ÌTOPPERS_assert_abort‚ðCƒVƒXƒeƒ€—vŒ‚ɍ‡’v‚µ‚½“KØ‚ȏˆ—
1132‚É’u‚«Š·‚¦‚é•K—v‚ª‚ ‚éDƒVƒXƒeƒ€—vŒ‚É‚æ‚Á‚ẮCNDEBUG‚ð’è‹`‚µ‚Äassert
1133ƒ}ƒNƒ‚̏ˆ—‚ðƒIƒuƒWƒFƒNƒgƒR[ƒh’†‚©‚çÁ‚·iu6.2 ƒRƒ“ƒpƒCƒ‹ƒIƒvƒVƒ‡ƒ“v
1134‚̐߂ðŽQÆj•û–@‚àl‚¦‚ç‚ê‚éD
1135
1136
113710.3. ƒIƒuƒWƒFƒNƒgID‚ÌŠÇ—
1138
1139TOPPERS/SSPƒJ[ƒlƒ‹‚ł́CƒIƒuƒWƒFƒNƒg‚ÌID”ԍ†‚ðCƒRƒ“ƒtƒBƒMƒ…
1140ƒŒ[ƒ^‚ªŠ„
1141‚è•t‚¯‚é•û–@‚ªŠî–{‚Æ‚È‚Á‚Ä‚¢‚éD
1142
1143ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒvƒƒOƒ‰ƒ€’†‚ŃIƒuƒWƒFƒNƒg‚ÌID”ԍ†‚ðŽQÆ‚·‚éê‡‚ɂ́C
1144ŽŸ‚Ì2‚‚̕û–@‚ªl‚¦‚ç‚ê‚éD
1145
1146(1) ƒIƒuƒWƒFƒNƒgŽ¯•Ê–¼‚ð—p‚¢‚é
1147
1148ƒIƒuƒWƒFƒNƒg¶¬‚Ì‚½‚߂̐ÓIAPIiCRE_YYYj‚Ì‘æ1ƒpƒ‰ƒ[ƒ^‚É‹Lq‚µ‚½ƒIƒu
1149ƒWƒFƒNƒgŽ¯•Ê–¼‚ðCƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒvƒƒOƒ‰ƒ€’†‚Å‚à—p‚¢‚é•û–@D
1150
1151ƒRƒ“ƒtƒBƒMƒ…
1152ƒŒ[ƒ^‚́CƒIƒuƒWƒFƒNƒgŽ¯•Ê–¼‚ðCŠ„‚è•t‚¯‚½ID”ԍ†‚Ƀ}ƒNƒ’è
1153‹`‚·‚éCŒ¾ŒêƒvƒŠƒvƒƒZƒbƒT‚̃fƒBƒŒƒNƒeƒBƒui#definej‚ðkernel_cfg.h‚ɐ¶
1154¬‚·‚邽‚߁CƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒvƒƒOƒ‰ƒ€‚©‚çkernel_cfg.h‚ðƒCƒ“ƒNƒ‹[ƒh‚·
1155‚é•K—v‚ª‚ ‚éD
1156
1157‚±‚Ì•û–@‚́CƒIƒuƒWƒFƒNƒgƒR[ƒh’†‚ÉID”ԍ†‚ª’¼Ú–„‚ߍž‚Ü‚ê‚邽‚ß‚ÉŽÀsŒø
1158—¦‚ª—Ç‚¢ˆê•û‚ŁCƒRƒ“ƒtƒBƒMƒ…
1159ƒŒ[ƒ^‚ªŽÀs‚³‚ê‚Äkernel_cfg.h‚ª‘‚«Š·‚í‚é
1160“x‚ɁCƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒvƒƒOƒ‰ƒ€‚̍ăRƒ“ƒpƒCƒ‹‚ª•K—v‚É‚È‚é‚Æ‚¢‚¤Œ‡“_‚ª
1161‚ ‚éD‚»‚Ì‚½‚߁CƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒvƒƒOƒ‰ƒ€‚ð\¬‚·‚éƒtƒ@ƒCƒ‹‚Ì’†‚ŁCˆê
1162•”‚̃tƒ@ƒCƒ‹‚݂̂ŃIƒuƒWƒFƒNƒgŽ¯•Ê–¼‚ðŽQÆ‚·‚é\¬‚É‚·‚é‚Æ‚¢‚Á‚½H•v‚ð
1163‚·‚邱‚Æ‚ª–]‚Ü‚µ‚¢D
1164
1165(2) ƒIƒuƒWƒFƒNƒg‚ÌID”ԍ†‚ð•ÛŽ‚·‚é•Ï”‚ð—p‚¢‚é
1166
1167ƒIƒuƒWƒFƒNƒg‚ÌID”ԍ†‚ð•ÛŽ‚·‚éconst‘®«‚ð•t‰Á‚µ‚½•Ï”‚ð—pˆÓ‚µCƒAƒvƒŠƒP[
1168ƒVƒ‡ƒ“ƒvƒƒOƒ‰ƒ€’†‚ł́C‚»‚̕ϐ”‚ð—p‚¢‚é•û–@D
1169
1170—Ⴆ‚΁CTASK1‚Æ‚¢‚¤ƒIƒuƒWƒFƒNƒgŽ¯•Ê–¼‚̃^ƒXƒN‚ɑ΂µ‚āCŽŸ‚̂悤‚ȕϐ”‚ð
1171—pˆÓ‚·‚éD
1172
1173const ID TASK1_id = TASK1;
1174
1175ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒvƒƒOƒ‰ƒ€’†‚ł́C‚±‚̕ϐ”iTASK1_idj‚ð—p‚¢‚邱‚ƂŁC
1176ƒRƒ“ƒtƒBƒMƒ…
1177ƒŒ[ƒ^‚ªŽÀs‚³‚ê‚Äkernel_cfg.h‚ª‘‚«Š·‚í‚é“x‚ɁCã‹L‚̕ϐ”
1178’è‹`‚ðŠÜ‚ñ‚¾ƒtƒ@ƒCƒ‹‚Ì‚Ý‚ðÄƒRƒ“ƒpƒCƒ‹‚·‚ê‚΂悢‚±‚Æ‚É‚È‚éD
1179
1180‚±‚Ì•û–@‚́CƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒvƒƒOƒ‰ƒ€‚̍ăRƒ“ƒpƒCƒ‹‚ðÅ¬ŒÀ‚É‚Å‚«‚é—˜
1181“_‚ª‚ ‚éˆê•û‚ŁC•Ï”‚Ì‚½‚߂̃ƒ‚ƒŠ—̈悪•K—v‚ɂȂ邱‚ƂɉÁ‚¦‚āCiƒvƒ
1182ƒZƒbƒT‚É‚æ‚Á‚Ắj•Ï”ƒAƒNƒZƒX‚Ì‚½‚߂̃I[ƒoƒwƒbƒh‚ª¶‚¶‚é‚Æ‚¢‚¤Œ‡“_‚ª
1183‚ ‚éD‚Ü‚½C’萔‚Å‚Í‚È‚­•Ï”‚Å‚ ‚邱‚Æ‚©‚çC‘¼‚̕ϐ”‚̏‰Šú‰»‚É‚ÍŽg‚¦‚È
1184‚¢‚Æ‚¢‚¤§ŒÀ‚ª‚ ‚éD
1185
1186‚È‚¨CTOPPERS/SSPƒJ[ƒlƒ‹‚̃Rƒ“ƒtƒBƒMƒ…
1187ƒŒ[ƒ^‚́C--external-idƒIƒvƒVƒ‡
1188ƒ“‚ð•t‰Á‚·‚邱‚Æ‚É‚æ‚èCã‹L‚̕ϐ”’è‹`‚ðkernel_cfg.c’†‚ɐ¶¬‚·‚é‹@”\‚ð
1189Ž‚Á‚Ä‚¢‚é‚̂ŁC‚·‚ׂẴIƒuƒWƒFƒNƒgID‚ð‚±‚Ì•û–@‚ÅŽQÆ‚·‚éê‡‚ɂ́C‚±
1190‚Ì‹@”\‚ð—p‚¢‚邱‚Ƃ𐄏§‚·‚éD
1191
1192ƒRƒ“ƒtƒBƒMƒ…
1193ƒŒ[ƒ^‚É‚æ‚éID”ԍ†Š„•t‚¯‚Ì‚à‚¤1‚‚̉ۑè‚Æ‚µ‚āCƒRƒ“ƒtƒBƒMƒ…
1194
1195ƒŒ[ƒVƒ‡ƒ“ƒtƒ@ƒCƒ‹‚̏C³‚É‚æ‚èCƒIƒuƒWƒFƒNƒgID‚ÌŠ„•t‚¯‚ª•Ï‚í‚Á‚Ä‚µ‚Ü‚¤
1196‚±‚Æ‚ª‹“‚°‚ç‚ê‚éD‚±‚ê‚́CƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒ\ƒtƒgƒEƒFƒA‚̐݌vŽd—l‘‚ÉID
1197”ԍ†‚ª‹LÚ‚³‚ê‚Ä‚¢‚éê‡‚âCƒfƒoƒbƒOì‹Æ‚É‚¨‚¢‚ÄID”ԍ†‚𑦒l‚Æ‚µ‚Ä•\Ž¦
1198‚âŠm”F‚ª‚Å‚«‚È‚¢ê‡‚ɁCì‹ÆŒø—¦‚ð’ቺ‚³‚¹‚é‰Â”\«‚ªl‚¦‚ç‚ê‚éD
1199
1200‚±‚Ì–â‘è‚ɑΉž‚·‚邽‚߂ɁCTOPPERSV¢‘ãƒJ[ƒlƒ‹—pƒRƒ“ƒtƒBƒMƒ…
1201ƒŒ[ƒ^‚ɂ́C
1202ID”ԍ†‚ÌŠ„•t‚¯Œ‹‰Ê‚ðƒtƒ@ƒCƒ‹‚ɏ‘‚«o‚·‹@”\i--id-output-fileƒIƒvƒVƒ‡ƒ“j
1203‚ƁCID”ԍ†‚ÌŠ„•t‚¯‚ðƒtƒ@ƒCƒ‹‚©‚çŽæ‚荞‚Þ‹@”\i--id-input-fileƒIƒvƒVƒ‡ƒ“j
1204‚Æ‚ª—pˆÓ‚³‚ê‚Ä‚¢‚éD‚½‚¾‚µSSPƒJ[ƒlƒ‹‚̏ꍇCŒ»Žž“_‚Å‚Í“®ìã‚Ì–â‘肪‚ ‚è
1205Žg—p‚·‚邱‚Æ‚ª‚Å‚«‚È‚¢DÚ×‚Í configurator.txt ‚́u›ƒJ[ƒlƒ‹\¬E‰Šú
1206‰»ƒtƒ@ƒCƒ‹ikernel_cfg.cjv‚Ì (5) ‚ðŽQÆ‚Ì‚±‚ƁD
1207
120810.4. ƒJ[ƒlƒ‹‚Ì“à•”ƒVƒ“ƒ{ƒ‹‚̃Šƒl[ƒ€
1209
1210SSPƒJ[ƒlƒ‹‚ł́Cƒ‚ƒWƒ…
1211[ƒ‹“à•”‚Ì–¼Ì‚ª‘¼‚̃‚ƒWƒ…
1212[ƒ‹“à•”‚Ì–¼Ì‚ƏՓ˂·
1213‚邱‚Æ‚ð”ð‚¯‚é‚½‚߂ɁCƒJ[ƒlƒ‹‚Ì“à•”ƒVƒ“ƒ{ƒ‹‚́CCŒ¾ŒêƒŒƒxƒ‹‚ŁCæ“ª‚ª
1214"_kernel_"‚Ü‚½‚Í"_KERNEL_"‚Å‚ ‚é–¼Ì‚Æ‚µ‚Ä‚¢‚éD
1215
1216‚±‚ê‚ðƒ\[ƒXƒR[ƒh‚̉“ǐ«‚Æ—¼—§‚³‚¹‚邽‚߂ɁCSSPƒJ[ƒlƒ‹‚ł́Cƒ\[ƒXƒR[
1217ƒh‚ÍŽ©‘R‚È–¼‘O‚ð—p‚¢‚Ä‹Lq‚µCCŒ¾ŒêƒvƒŠƒvƒƒZƒbƒT‚̃}ƒNƒ’è‹`i#definej
1218‚ð—p‚¢‚āC‚»‚ê‚ð"_kernel_"‚Ü‚½‚Í"_KERNEL_"‚ÅŽn‚Ü‚é–¼‘OiŽ©‘R‚È–¼‘O‚ª
1219yyyyy‚̏ꍇ‚ɂ́C_kernel_yyyyyj‚ɃŠƒl[ƒ€‚·‚éŽd‘g‚Ý‚ð—p‚¢‚Ä‚¢‚éD
1220
1221‹ï‘Ì“I‚ɂ́CŠÖ˜A‚·‚éƒfƒBƒŒƒNƒgƒŠ‚Éxxx_rename.def‚ð’u‚«C‚»‚±‚©‚烊ƒl[
1222ƒ€‚Ì‚½‚߂̃wƒbƒ_ƒtƒ@ƒCƒ‹ixxx_rename.h‚¨‚æ‚Ñxxx_unrename.hj‚𐶐¬‚·‚é
1223ƒc[ƒ‹iutils/genrenamej‚ð—pˆÓ‚µ‚Ä‚¢‚éD
1224
1225‚±‚ÌŽd‘g‚݂́Cƒ\[ƒXƒR[ƒh‚̉“ǐ«Œüã‚ɖ𗧂ˆê•û‚ŁC•¾ŠQ‚à‚ ‚éD—Ⴆ
1226‚΁C‘½‚­‚̃fƒoƒbƒK‚ŁCƒ\[ƒXƒR[ƒh’†‚Ì–¼Ì‚ƃIƒuƒWƒFƒNƒgƒR[ƒh’†‚Ì–¼Ì
1227‚ªˆÙ‚Ȃ邽‚߂ɁCƒ\[ƒXƒR[ƒh’†‚̕ϐ”–¼‚ðŽw’肵‚Ä’l‚ð“Ç‚ñ‚¾‚èCŠÖ”–¼‚ð
1228Žw’肵‚ăuƒŒ[ƒNƒ|ƒCƒ“ƒg‚ð’u‚­‚Æ‚¢‚Á‚½‚±‚Æ‚ª‚Å‚«‚È‚¢D
1229
1230‚±‚̏󋵂ɑΉž‚·‚邽‚߂ɁCSSPƒJ[ƒlƒ‹‚ł́Cƒ\[ƒXƒR[ƒh’†‚ÌŠY“–‚·‚é–¼Ì
1231‚ðƒŠƒl[ƒ€‚·‚邽‚߂̃†[ƒeƒBƒŠƒeƒBiutils/applyrenamej‚ð—pˆÓ‚µ‚Ä‚¢‚éD
1232applyrenameƒ†[ƒeƒBƒŠƒeƒB‚ɁCƒŠƒl[ƒ€’è‹`ƒtƒ@ƒCƒ‹ixxx_rename.defj‚̃v
1233ƒŠƒtƒBƒbƒNƒXixxx‚Ì•”•ªj‚ƁCƒŠƒl[ƒ€‚µ‚½‚¢ƒtƒ@ƒCƒ‹ƒŠƒXƒg‚ð—^‚¦‚é‚ƁCƒŠ
1234ƒl[ƒ€ˆ—‚ðs‚È‚¤D—Ⴆ‚΁CkernelƒfƒBƒŒƒNƒgƒŠ‚Ì‚·‚ׂẴtƒ@ƒCƒ‹‚ɑ΂µ
1235‚āCƒJ[ƒlƒ‹‚Ì“à•”ƒVƒ“ƒ{ƒ‹‚ðƒŠƒl[ƒ€‚·‚é‚ɂ́CŽŸ‚̃Rƒ}ƒ“ƒh‚ðŽÀs‚·‚ê‚Î
1236‚æ‚¢D
1237
1238 % cd kernel
1239 % ../utils/applyrename kernel *
1240
1241‚Ü‚½Cƒ^[ƒQƒbƒgˆË‘¶•”‚̃fƒBƒŒƒNƒgƒŠ‚Ì‚·‚ׂẴtƒ@ƒCƒ‹‚ɑ΂µ‚āCƒJ[ƒ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
124810.5. ƒVƒXƒeƒ€‚Ì‹N“®Žž‚̏‰Šú‰»ˆ—
1249
1250ƒVƒXƒeƒ€‚Ì‹N“®Žž‚ɃAƒvƒŠƒP[ƒVƒ‡ƒ“‚Å•K—v‚ƂȂ鏉Šú‰»ˆ—‚ðs‚¤‚½‚ß‚Ì‹@
1251”\‚Æ‚µ‚ú‰»ƒ‹[ƒ`ƒ“‚ª—pˆÓ‚³‚ê‚Ä‚¢‚邪C‰Šú‰»ƒ‹[ƒ`ƒ“‚ªŽÀs‚³‚ê‚é‚æ
1252‚è‚à‘‚¢ƒ^ƒCƒ~ƒ“ƒO‚ÅŽÀs‚·‚邱‚Æ‚ª•K—v‚ȏ‰Šú‰»ˆ—‚ª‚ ‚éê‡‚ª‚ ‚éD
1253
1254‚±‚̂悤‚ȏꍇ‚É—p‚¢‚邽‚߂ɁC•W€“I‚ȃXƒ^[ƒgƒAƒbƒvƒ‚ƒWƒ…
1255[ƒ‹‚©‚çCƒ^[
1256ƒQƒbƒgƒVƒXƒeƒ€ˆË‘¶‚̏‰Šú‰»ƒtƒbƒNihardware_init_hookj‚ðŒÄ‚яo‚·‚±‚Æ‚Æ
1257‚µ‚Ä‚¢‚éDhardware_init_hook‚́CƒJ[ƒlƒ‹‚̃^[ƒQƒbƒgˆË‘¶•”‚Å—pˆÓ‚³‚ê‚Ä
1258‚¢‚é‚Ì‚ª•W€‚Å‚ ‚邪C‚±‚ê‚ðƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Å—pˆÓ‚µ‚½‚à‚Ì‚É’u‚«Š·‚¦C
1259‚»‚Ì’†‚ŃAƒvƒŠƒP[ƒVƒ‡ƒ“‚Å•K—v‚ƂȂ鏉Šú‰»ˆ—‚ðs‚¤‚±‚Æ‚ª‚Å‚«‚éD
1260
1261‚½‚¾‚µChardware_init_hook‚̍쐬‚·‚éê‡‚ɂ́CbssƒZƒNƒVƒ‡ƒ“‚ÆdataƒZƒNƒVƒ‡
1262ƒ“‚ª‰Šú‰»‚³‚ê‚Ä‚¢‚È‚¢‚±‚Æ‚âCƒ‰ƒCƒuƒ‰ƒŠ‚ª‰Šú‰»‚³‚ê‚Ä‚¢‚È‚¢‚±‚ƁCCŒ¾Œê
1263‚Å‹Lq‚Å‚«‚é‚Æ‚ÍŒÀ‚ç‚È‚¢‚±‚Æ‚È‚Ç‚É’ˆÓ‚ª•K—v‚Å‚ ‚éDì¬‚É‚ ‚½‚Á‚ẮC
1264uƒ^[ƒQƒbƒgˆË‘¶•” ƒ|[ƒeƒBƒ“ƒOƒKƒCƒhv‚ðŽQÆ‚·‚邱‚ƁD
1265
1266ƒJ[ƒlƒ‹‚̃Xƒ^[ƒgƒAƒbƒvƒ‚ƒWƒ…
1267[ƒ‹‚ªhardware_init_hook‚ðŒÄ‚яo‚·‚悤‚É
1268ŽÀ‘•‚³‚ê‚Ä‚¢‚È‚¢ê‡‚ɂ́CƒXƒ^[ƒgƒAƒbƒvƒ‚ƒWƒ…
1269[ƒ‹‚ðƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Å
1270—pˆÓ‚µ‚½‚à‚Ì‚É’u‚«Š·‚¦‚é•û–@‚𐄏§‚·‚éD
1271
1272‚P‚PDŽQlî•ñ
1273
127411.1. —˜—pðŒ‚Æ—˜—p•ñ
1275
1276SSPƒJ[ƒlƒ‹‚Ì—˜—pðŒ‚́CŠeƒtƒ@ƒCƒ‹‚̐擪‚É•\Ž¦‚³‚ê‚Ä‚¢‚éD’˜ìŒ ‚́CŠe
1277ƒtƒ@ƒCƒ‹‚̐擪‚É•\Ž¦‚³‚ê‚Ä‚¢‚é’˜ìŒ ŽÒ‚ª•Û—L‚µ‚Ä‚¢‚éD
1278
1279—˜—pðŒ‚Ì(3)‚Ì(b)‚É‚¨‚¢‚āC—˜—p‚ÌŒ`‘Ô‚ðTOPPERSƒvƒƒWƒFƒNƒg‚É•ñ‚·‚é•û
1280–@‚Æ‚µ‚ẮCSSPƒJ[ƒlƒ‹‚ð—˜—p‚µ‚½»•i‚Ì–¼Ì‚Ɖž—p•ª–ìC»•i‰»‚µ‚½‰ïŽÐ–¼
1281‚Æ‹ÆŽí“™‚̏î•ñ‚ðCˆÈ‰º‚ÌURL‚̃y[ƒW‚©‚ç•ñ‚·‚é‚à‚Ì‚Æ‚·‚éD
1282
1283 http://www.toppers.jp/report.html
1284
1285‚Ü‚½‚»‚̍ۂɁCSSPƒJ[ƒlƒ‹‚ðŽg—p‚µ‚ẴRƒƒ“ƒg‚₲ˆÓŒ©‚à‚¢‚½‚¾‚¯‚é‚ƍK‚¢
1286‚Å‚ ‚éD
1287
128811.2. •ÛØE“K—p«EƒTƒ|[ƒg
1289
1290SSPƒJ[ƒlƒ‹‚Í–³•ÛØ‚Å’ñ‹Ÿ‚³‚ê‚Ä‚¢‚é‚à‚Ì‚Å‚ ‚éDŠJ”­ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒ
1291ƒWƒFƒNƒg‚́CSSPƒJ[ƒlƒ‹‚ÉŠÖ‚µ‚āC“Á’è‚ÌŽg—p–Ú“I‚ɑ΂·‚é“K‡«‚àŠÜ‚߂āC
1292‚¢‚©‚È‚é•ÛØ‚às‚í‚È‚¢D‚Ü‚½CSSPƒJ[ƒlƒ‹‚Ì—˜—p‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI
1293‚ɐ¶‚¶‚½‚¢‚©‚Ȃ鑹ŠQ‚ÉŠÖ‚µ‚Ä‚àC‚»‚̐ӔC‚𕉂í‚È‚¢D
1294
1295ŠJ”­ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚́CSSPƒJ[ƒlƒ‹‚ÉŠÖ‚·‚éƒTƒ|[ƒg‚Ì–ñ‘©‚Í
1296‚µ‚Ä‚¢‚È‚¢DSSPƒJ[ƒlƒ‹‚ÉŠÖ‚µ‚ÄŽ¿–₪‚ ‚éê‡‚́CŒãq‚ÌTOPPERSƒ†[ƒU[
1297ƒYƒ[ƒŠƒ“ƒOƒŠƒXƒg‚ð—˜—p‚µ‚Ä‚¢‚½‚¾‚¯‚é‚ƍK‚¢‚Å‚ ‚éDŠmŽÀ‚ȃTƒ|[ƒg‚ª•K
1298—v‚ȏꍇ‚ɂ́C—Lž‚ŃTƒ|[ƒgƒT[ƒrƒX‚ð’ñ‹Ÿ‚µ‚Ä‚¢‚é‰ïŽÐ‚É‘Š’k‚³‚ꂽ‚¢D
1299
130011.3. ƒoƒOƒŒƒ|[ƒg
1301
1302SSPƒJ[ƒlƒ‹‚ɃoƒO‚â–â‘è“_‚ð”­Œ©‚³‚ꂽê‡‚ɂ́CŒãq‚ÌTOPPERSƒ†[ƒU[ƒY
1303ƒ[ƒŠƒ“ƒOƒŠƒXƒg‚É•ñ‚µ‚Ä—~‚µ‚¢D
1304
1305ƒ[ƒŠƒ“ƒOƒŠƒXƒg‚ɃoƒO‚â–â‘è“_‚È‚Ç‚ð•ñ‚·‚éê‡‚ɂ́C•K—v‚ɉž‚¶‚ÄŽŸ‚Ì
1306î•ñ‚ð’m‚点‚Ä—~‚µ‚¢D
1307
1308 Žg—p‚µ‚Ä‚¢‚éƒJ[ƒlƒ‹‚ÉŠÖ‚·‚éî•ñ
1309 Eƒ^[ƒQƒbƒg”ñˆË‘¶•”‚̃o[ƒWƒ‡ƒ“
1310 EŽg—p‚µ‚Ä‚¢‚éƒ^[ƒQƒbƒgˆË‘¶•”‚Æ‚»‚̃o[ƒWƒ‡ƒ“
1311 ETOPPERSƒvƒƒWƒFƒNƒg‚©‚ç‚̃ŠƒŠ[ƒX‚ɑ΂·‚é‰ü‘¢‰ÓŠi‚ ‚ê‚΁j
1312
1313 ƒ^[ƒQƒbƒgƒVƒXƒeƒ€‚ÉŠÖ‚·‚éî•ñ
1314 Eƒ^[ƒQƒbƒgƒvƒƒZƒbƒT‚ÌŽí—Þ
1315 Eƒ^[ƒQƒbƒgƒ{[ƒh“™‚ÌŽí—Þ
1316
1317 ƒzƒXƒg‚ÉŠÖ‚·‚éî•ñ
1318 EOS‚̃o[ƒWƒ‡ƒ“iƒT[ƒrƒXƒpƒbƒN‚Ì“K—pó‹µ‚àj
1319 EƒRƒ“ƒpƒCƒ‰‚È‚Ç‚ÌŠJ”­ŠÂ‹«‚̃o[ƒWƒ‡ƒ“iCygwin‚̃o[ƒWƒ‡ƒ“‚àj
1320
132111.4. ƒEƒFƒuƒTƒCƒg
1322
1323TOPPERSƒvƒƒWƒFƒNƒg‚̃EƒFƒuƒTƒCƒg‚́CˆÈ‰º‚ÌURL‚É‚ ‚éD
1324
1325 http://www.toppers.jp/
1326
1327TOPPERSƒvƒƒWƒFƒNƒg‚âSSPƒJ[ƒlƒ‹‚ÉŠÖ‚·‚éÅVî•ñ‚́C‚±‚̃EƒFƒuƒTƒCƒg‚©
1328‚瓾‚邱‚Æ‚ª‚Å‚«‚éD‚Ü‚½CSSPƒJ[ƒlƒ‹‚̍ŐV”ł́C‚±‚̃EƒFƒuƒTƒCƒg‚©‚çƒ_
1329ƒEƒ“ƒ[ƒh‚·‚邱‚Æ‚ª‚Å‚«‚éD
1330
133111.5. TOPPERSƒ†[ƒU[ƒYƒ[ƒŠƒ“ƒOƒŠƒXƒg
1332
1333SSPƒJ[ƒlƒ‹‚ðŠÜ‚ÞTOPPERSƒvƒƒWƒFƒNƒg‚ÌŠJ”­¬‰Ê•¨‚̃†[ƒU‚ɑ΂·‚éî•ñ’ñ
1334‹Ÿ‚¨‚æ‚у†[ƒU‘ŠŒÝŠÔ‚̏î•ñŒðŠ·‚ð—eˆÕ‚É‚·‚邽‚߂ɁCTOPPERSƒ†[ƒU[ƒYƒ[
1335ƒŠƒ“ƒOƒŠƒXƒgiusers@toppers.jpj‚ð—pˆÓ‚µ‚Ä‚¢‚éD
1336
1337‚±‚̃[ƒŠƒ“ƒOƒŠƒXƒg‚ɂ́C’N‚Å‚àŽ©—R‚É“o˜^‚µCƒ[ƒ‹‚ð‘—•t‚·‚邱‚Æ‚ª‚Å
1338‚«‚éi“o˜^ŽÒˆÈŠO‚̓[ƒ‹‚ð‘—•t‚Å‚«‚È‚¢jD‚Ü‚½C‘—•t‚³‚ꂽƒ[ƒ‹‚́C’N
1339‚Å‚àŽ©—R‚ɃEƒFƒuƒTƒCƒg‚Å“Ç‚Þ‚±‚Æ‚ª‚Å‚«‚éD
1340
1341ƒ[ƒŠƒ“ƒOƒŠƒXƒg‚Ö‚Ì“o˜^•û–@‚ɂ‚¢‚ẮCˆÈ‰º‚ÌURL‚̃y[ƒW‚Éà–¾‚ª‚ ‚éD
1342
1343 http://www.toppers.jp/community.html
1344
134511.6. TOPPERSƒvƒƒWƒFƒNƒg‚̃ƒ“ƒoŒü‚¯‚̃T[ƒrƒX
1346
1347TOPPERSƒvƒƒWƒFƒNƒg‚̃ƒ“ƒo‚ɑ΂µ‚ẮCã‹L‚ɉÁ‚¦‚āCSSPƒJ[ƒlƒ‹‚ÉŠÖ˜A
1348‚µ‚ÄŽŸ‚̃T[ƒrƒX‚ð—pˆÓ‚µ‚Ä‚¢‚éD
1349
1350(1) TOPPERSŠJ”­ŽÒƒ[ƒŠƒ“ƒOƒŠƒXƒg
1351
1352TOPPERSƒvƒƒWƒFƒNƒg‚̃ƒ“ƒo‚́CSSPƒJ[ƒlƒ‹‚ÉŠÖ‚·‚鎿–âCƒoƒO‚â–â‘è“_‚È
1353‚Ç‚Ì•ñ‚ɁCTOPPERSŠJ”­ŽÒƒ[ƒŠƒ“ƒOƒŠƒXƒgidev@toppers.jpj‚ð—˜—p‚·‚邱
1354‚Æ‚ª‚Å‚«‚éD
1355
1356(2) SSPƒJ[ƒlƒ‹‚ÌŠJ”­Žx‰‡ƒTƒCƒg
1357
1358SSPƒJ[ƒlƒ‹‚ÌŠJ”­Žx‰‡‚Ì‚½‚ß‚ÌTRACiƒoƒOƒgƒ‰ƒbƒLƒ“ƒOƒVƒXƒeƒ€j‚ªCˆÈ‰º‚Ì
1359URL‚É‚ ‚éiTRAC‚ւ̃AƒNƒZƒX‚ɂ́C‰ïˆõƒpƒXƒ[ƒh‚ª•K—v‚Å‚ ‚éjD
1360
1361 http://dev.toppers.jp/trac/ssp_core
1362
1363TOPPERSƒvƒƒWƒFƒNƒg‚̃ƒ“ƒo‚́C‚±‚̃TƒCƒg‚©‚çCƒEƒFƒuƒCƒ“ƒ^ƒtƒF[ƒX‚¨‚æ
1364‚ÑsubversionƒT[ƒo‚É‚æ‚èCSSPƒJ[ƒlƒ‹‚ÌŠJ”­’†‚̃o[ƒWƒ‡ƒ“‚𓾂邱‚Æ‚ª‚Å
1365‚«‚éD‚Ü‚½CƒoƒOƒgƒ‰ƒbƒLƒ“ƒOƒf[ƒ^ƒx[ƒX‚ɃAƒNƒZƒX‚·‚邱‚Æ‚ª‚Å‚«C‰ß‹Ž
1366‚̃oƒO—š—ð‚ւ̃AƒNƒZƒX‚âCƒoƒO‚Ì“o˜^‚ð‚·‚é‚±‚Æ‚ª‚Å‚«‚éD
1367
136811.7. TOPPERSƒvƒƒWƒFƒNƒg‚Ö‚ÌŽQ‰Á
1369
1370TOPPERSƒvƒƒWƒFƒNƒg‚ł́C‰½‚©‚ç‚ÌŒ`‚ŃvƒƒWƒFƒNƒg‚ɍvŒ£‚µ‚Ä‚¢‚½‚¾‚¯‚é•ûC
1371ƒvƒƒWƒFƒNƒg‚ÅŠJ”­‚µ‚½ƒ\ƒtƒgƒEƒFƒA‚ð‚¨Žg‚¢‚Ì•ûCƒvƒƒWƒFƒNƒg‚É‹»–¡‚ð‚¨
1372Ž‚¿‚Ì•û‚ÌŽQ‰Á‚ð‹‚ß‚Ä‚¢‚éDTOPPERSƒvƒƒWƒFƒNƒg‚Ö‚ÌŽQ‰Á•û–@‚ɂ‚¢‚ẮC
1373ˆÈ‰º‚̃y[ƒW‚Éà–¾‚ª‚ ‚éD
1374
1375 http://www.toppers.jp/joinus.html
1376
1377
1378‚P‚QDƒŠƒtƒ@ƒŒƒ“ƒX
1379
138012.1. ƒT[ƒrƒXƒR[ƒ‹ˆê——
1381
1382(1) ƒ^ƒXƒNŠÇ—‹@”\
1383
1384 ER ercd = act_tsk(ID tskid)
1385 ER ercd = iact_tsk(ID tskid)
1386
1387(2) ƒVƒXƒeƒ€ó‘ÔŠÇ—‹@”\
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
140712.2. Ã“IAPIˆê——
1408
1409(1) ƒ^ƒXƒNŠÇ—‹@”\
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) ƒVƒXƒeƒ€\¬ŠÇ—‹@”\
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
143212.3. ƒo[ƒWƒ‡ƒ“—š—ð
1433
1434 2011”N 3ŒŽ31“ú Release 1.0.0 ‘ŠúƒŠƒŠ[ƒX
1435 2011”N11ŒŽ16“ú Release 1.1.0 Å‰‚̈ê”ʃŠƒŠ[ƒX
1436 2011”N 3ŒŽ23“ú Release 1.1.1 Œy”÷‚ȏC³‚ƃoƒOƒtƒBƒbƒNƒX
1437 2013”N 4ŒŽ23“ú Release 1.2.0 ƒ^ƒXƒN‚Ì‹N“®—v‹ƒLƒ…
1438[ƒCƒ“ƒO‹@”\‚̒ljÁ
1439 DEF_ICS‚ÌŽd—l•ÏX
1440 DEF_STK‚̒ljÁ
1441 “¯ŠúE’ʐM‹@”\Šg’£ƒpƒbƒP[ƒW‚̒ljÁ
1442 2014”N 3ŒŽ 6“ú Release 1.2.1 ƒoƒOƒtƒBƒbƒNƒX
1443 2015”N 5ŒŽ19“ú Release 1.3.0
1444
1445ˆÈã
Note: See TracBrowser for help on using the repository browser.