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

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

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

File size: 121.1 KB
RevLine 
[93]1
2 TOPPERS/SSPƒJ[ƒlƒ‹
3 ƒ^[ƒQƒbƒgˆË‘¶•” ƒ|[ƒeƒBƒ“ƒOƒKƒCƒh
4
5 ‘Ήžƒo[ƒWƒ‡ƒ“: Release 1.3.0
6 ÅIXV: 2015”N5ŒŽ11“ú
7
8‚±‚̃hƒLƒ…
9ƒƒ“ƒg‚́CTOPPERS/SSPƒJ[ƒlƒ‹‚ðC–¢ƒTƒ|[ƒg‚̃^[ƒQƒbƒgƒVƒXƒe
10ƒ€‚Ƀ|[ƒeƒBƒ“ƒO‚·‚邽‚ß‚É•K—v‚Æ‚È‚éƒ^[ƒQƒbƒgˆË‘¶•”‚ÌŽÀ‘••û–@‚ðà–¾‚·
11‚é‚à‚Ì‚Å‚ ‚éD
12
13----------------------------------------------------------------------
14 TOPPERS/SSP Kernel
15 Smallest Set Profile Kernel
16
17 Copyright (C) 2011-2012 by Meika Sugimoto
18 Copyright (C) 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
581. ‹¤’ÊŽ–€
59 1.1 ƒ^[ƒQƒbƒgˆË‘¶•”‚̍\¬
60 1.2 –¼‘O‚̏Փ˂̖hŽ~
61 1.3 ‘½dƒCƒ“ƒNƒ‹[ƒh‚Ì–hŽ~
62 1.4 ƒAƒZƒ“ƒuƒŠŒ¾Œê‚Ƃ̃wƒbƒ_ƒtƒ@ƒCƒ‹‚Ì‹¤—p
63 1.5 ƒCƒ“ƒNƒ‹[ƒh‹Lq‚Ì•û–@
64 1.6 ƒNƒŠƒeƒBƒJƒ‹ƒZƒNƒVƒ‡ƒ“‚̏o“üˆ—‚ÌŽÀŒ»‚ÉŠÖ‚·‚鐧–ñ
652. ƒVƒXƒeƒ€\’zŠÂ‹«‚̃^[ƒQƒbƒgˆË‘¶•”
66 2.1 ƒ^[ƒQƒbƒg—ªÌ‚ƃ^[ƒQƒbƒgˆË‘¶•”‚̃fƒBƒŒƒNƒgƒŠ
67 2.2 Makefile‚̃^[ƒQƒbƒgˆË‘¶•”
68 2.3 ŠJ”­ŠÂ‹«–¼‚ƃRƒ}ƒ“ƒh–¼‚̐ݒè
69 2.4 ƒRƒ“ƒpƒCƒ‹ƒIƒvƒVƒ‡ƒ“‚ƃIƒuƒWƒFƒNƒgƒtƒ@ƒCƒ‹‚̐ݒè
70 2.5 ƒŠƒ“ƒN•û–@‚̐ݒè
71 2.6 ˆË‘¶ŠÖŒW‚Ì’è‹`
72 2.7 ‚»‚Ì‘¼‚̐ݒè
733. TOPPERS‹¤’Ê’è‹`‚̃^[ƒQƒbƒgˆË‘¶•”
74 3.1 ƒ^[ƒQƒbƒgŽ¯•Êƒ}ƒNƒ
75 3.2 ®”Œ^‚̍őå’lEÅ¬’lEƒrƒbƒg”
76 3.3 ƒTƒCƒY‚ÌŽw’肳‚ꂽ®”Œ^C‚»‚̍őå’lEÅ¬’lC®”’萔‚ðì‚éƒ}ƒNƒ
77 3.4 ƒTƒCƒY‚ÌŽw’肳‚ꂽ•‚“®¬”“_Œ^C‚»‚̍őå’lEÅ¬’l‚̃}ƒNƒ
78 3.5 ƒRƒ“ƒpƒCƒ‰‚ÌŠg’£‹@”\‚Ì‚½‚߂̃}ƒNƒ’è‹`
79 3.6 •W€“I‚È’è‹`‚̏㏑‚«
80 3.7 ƒAƒT[ƒVƒ‡ƒ“‚Ì‚½‚ß‚Ì’è‹`
814. ƒVƒXƒeƒ€ƒCƒ“ƒ^ƒtƒF[ƒXƒŒƒCƒ„iSILj‚̃^[ƒQƒbƒgˆË‘¶•”
82 4.1 ‘SŠ„ž‚݃ƒbƒNó‘Ô‚ÌŠÇ—
83 4.2 ”÷­ŽžŠÔ‘Ò‚¿
84 4.3 ƒvƒƒZƒbƒT‚̃Gƒ“ƒfƒBƒAƒ“
85 4.4 ƒƒ‚ƒŠ‹óŠÔƒAƒNƒZƒXŠÖ”
86 4.5 I/O‹óŠÔƒAƒNƒZƒXŠÖ”
875. ƒJ[ƒlƒ‹API‚̃^[ƒQƒbƒgˆË‘¶•”
88 5.1 ƒ^[ƒQƒbƒg’è‹`‚ŃTƒ|[ƒg‚·‚é‹@”\
89 5.2 Š„ž‚Ý—Dæ“x‚͈̔Í
90 5.3 ƒ^ƒCƒ€ƒeƒBƒbƒN‚Ì’è‹`
91 5.4 ƒƒ‚ƒŠ—̈æŠm•Û‚Ì‚½‚ß‚ÌŒ^’è‹`
92 5.5 ƒƒ‚ƒŠ—̈æŠm•Û‚Ì‚½‚߂̃}ƒNƒ
93 5.6 ƒI[ƒoƒ‰ƒ“ƒnƒ“ƒhƒ‰‹@”\Šg’£‚Ì‚½‚ß‚Ì’è‹`iƒIƒvƒVƒ‡ƒ“j
946. ƒJ[ƒlƒ‹ŽÀ‘•‚̃^[ƒQƒbƒgˆË‘¶•”
95 6.1 ƒJ[ƒlƒ‹ŽÀ‘•‚̃^[ƒQƒbƒgˆË‘¶•”‚Ì‹¤’ÊŽ–€
96 6.1.1 ƒJ[ƒlƒ‹ŽÀ‘•‚̃^[ƒQƒbƒgˆË‘¶•”‚̍\¬—v‘f
97 6.1.2 ƒ^[ƒQƒbƒgˆË‘¶•”‚̊֐”‚Ì–½–¼‹K‘¥
98 6.2 ƒgƒŒ[ƒXƒƒO‹@”\‚ւ̑Ήž
99 6.3 ƒVƒXƒeƒ€ó‘Ô‚ÌŠÇ—
100 6.3.1 ‘SŠ„ž‚݃ƒbƒNó‘Ô‚ÌŠÇ—
101 6.3.2 ƒRƒ“ƒeƒLƒXƒg‚ÌŠÇ—
102 6.3.3 CPUƒƒbƒNó‘Ô‚ÌŠÇ—
103 6.4 Š„ž‚Ý‚ÉŠÖ˜A‚·‚éƒVƒXƒeƒ€ó‘Ô‚ÌŠÇ—
104 6.4.1 Š„ž‚Ý—Dæ“xƒ}ƒXƒN‚ÌŠÇ—
105 6.4.2 Š„ž‚Ý—v‹‹ÖŽ~ƒtƒ‰ƒO‚ÌŠÇ—
106 6.4.3 Š„ž‚Ý—v‹‚̃NƒŠƒA
107 6.4.4 Š„ž‚Ý—v‹‚̃vƒ[ƒu
108 6.4.5 Š„ž‚݃nƒ“ƒhƒ‰‚̐擪ˆ—‚Æ––”öˆ—
109 6.5 ƒ^ƒXƒNƒfƒBƒXƒpƒbƒ`ƒƒ
110 6.5.1 ƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒgƒuƒƒbƒN‚ƃ^ƒXƒN‰Šú‰»ƒRƒ“ƒeƒLƒXƒgƒuƒƒbƒN
111 6.5.2 ƒfƒBƒXƒpƒbƒ`ƒƒ–{‘Ì
112 6.5.3 ƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg‚©‚ç‚̃fƒBƒXƒpƒbƒ`
113 6.5.4 ƒfƒBƒXƒpƒbƒ`ƒƒ‚Ì“®ìŠJŽn
114 6.5.5 Œ»Ý‚̃Rƒ“ƒeƒLƒXƒg‚ðŽÌ‚ĂăfƒBƒXƒpƒbƒ`
115 6.5.6 ƒ^ƒXƒN‚Ì‹N“®ˆ—
116 6.6 Š„ž‚݃nƒ“ƒhƒ‰
117 6.6.1 Š„ž‚݃nƒ“ƒhƒ‰‚̏o“üŒûˆ—
118 6.6.2 Š„ž‚݃nƒ“ƒhƒ‰–ˆ‚̏o“üŒûˆ—‚̐¶¬
119 6.6.3 Š„ž‚݃nƒ“ƒhƒ‰‚̐ݒè
120 6.6.4 Š„ž‚Ý—v‹ƒ‰ƒCƒ“‚Ì‘®«‚̐ݒè
121 6.6.5 Š„ž‚ÝŠÇ—‹@”\‚̏‰Šú‰»ˆ—‚̕ύX
122 6.6.6 ƒfƒtƒHƒ‹ƒg‚ÌŠ„ž‚݃nƒ“ƒhƒ‰
123 6.6.7 ƒJ[ƒlƒ‹ŠÇ—ŠO‚ÌŠ„ž‚Ý
124 6.7 CPU—áŠOƒnƒ“ƒhƒ‰‚ÆCPU—áŠO”­¶Žž‚̃VƒXƒeƒ€ó‘Ô‚ÌŽQÆ
125 6.7.1 CPU—áŠOƒnƒ“ƒhƒ‰‚̏o“üŒûˆ—
126 6.7.2 CPU—áŠOƒnƒ“ƒhƒ‰‚̏o“üŒûˆ—‚̐¶¬
127 6.7.3 CPU—áŠOƒnƒ“ƒhƒ‰‚̐ݒè
128 6.7.4 CPU—áŠOŠÇ—‹@”\‚̏‰Šú‰»ˆ—‚̕ύX
129 6.7.5 ƒfƒtƒHƒ‹ƒg‚ÌCPU—áŠOƒnƒ“ƒhƒ‰
130 6.7.6 CPU—áŠO”­¶Žž‚̃VƒXƒeƒ€ó‘Ô‚ÌŽQÆ
131 6.8 ƒJ[ƒlƒ‹‚Ì‹N“®EI—¹‚ƃXƒ^ƒbƒN—̈æ‚È‚Ç
132 6.9 ƒJ[ƒlƒ‹“à•”‚̃`ƒ…
133[ƒjƒ“ƒO
134 6.9.1 ƒrƒbƒgƒ}ƒbƒvƒT[ƒ`
135 6.9.2 ƒrƒbƒgƒtƒB[ƒ‹ƒh
136 6.10 ƒJ[ƒlƒ‹ŽÀ‘•‚ÉŠÖ‚·‚é‚»‚Ì‘¼‚Ì’è‹`
137 6.10.1 ”ñƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg—p‚̃Xƒ^ƒbƒN—̈æ
138 6.10.2 ‹óƒ‰ƒxƒ‹‚Ì’è‹`
139 6.11 ƒJ[ƒlƒ‹ŽÀ‘•‚̃^[ƒQƒbƒgˆË‘¶•”‚Ì‚½‚߂̃Šƒl[ƒ€‹Lq
140 6.12 ƒ^ƒCƒ}ƒhƒ‰ƒCƒo
141 6.12.1 ƒ^ƒCƒ}ƒhƒ‰ƒCƒo‚̃tƒ@ƒCƒ‹\¬
142 6.12.2 ƒ^ƒCƒ}‚̏‰Šú‰»EI—¹ˆ—EŠ„ž‚ݏˆ—
143 6.12.3 «”\•]‰¿—pƒVƒXƒeƒ€Žž‚ÌŽQÆ‚Ì‚½‚ß‚Ì‹@”\
1447. ƒRƒ“ƒtƒBƒMƒ…
145ƒŒ[ƒ^Ý’èƒtƒ@ƒCƒ‹‚̃^[ƒQƒbƒgˆË‘¶•”
146 7.1 Ý’èƒtƒ@ƒCƒ‹‚ƃ^[ƒQƒbƒgˆË‘¶•”‚̈ʒu•t‚¯
147 7.2 ƒpƒX2‚̃eƒ“ƒvƒŒ[ƒgƒtƒ@ƒCƒ‹‚̃^[ƒQƒbƒgˆË‘¶•”
148 7.2.1 ƒ^[ƒQƒbƒg”ñˆË‘¶•”‚ðƒCƒ“ƒNƒ‹[ƒh‚·‚é‘O‚É’è‹`‚·‚ׂ«•Ï”
149 7.2.2 ƒ^[ƒQƒbƒg”ñˆË‘¶•”‚Å’è‹`‚³‚ê‚é•Ï”
150 7.3 ƒpƒX3‚̃eƒ“ƒvƒŒ[ƒgƒtƒ@ƒCƒ‹‚̃^[ƒQƒbƒgˆË‘¶•”
151 7.4 cfg1_out.c‚̃Šƒ“ƒN‚É•K—v‚ȃXƒ^ƒu‚Ì’è‹`ƒtƒ@ƒCƒ‹
1528. ƒVƒXƒeƒ€ƒT[ƒrƒX“™‚̃^[ƒQƒbƒgˆË‘¶•”
153 8.1 ƒVƒXƒeƒ€ƒT[ƒrƒX‚̃^[ƒQƒbƒgˆË‘¶•”
154 8.2 ƒVƒŠƒAƒ‹ƒCƒ“ƒ^ƒtƒF[ƒXƒhƒ‰ƒCƒo‚̃^[ƒQƒbƒgˆË‘¶•”
155 8.2.1 •Ï”Cƒf[ƒ^Œ^CŠÇ—ŠÖ”
156 8.2.2 ƒfƒoƒCƒXƒT[ƒrƒXƒ‹[ƒ`ƒ“
157 8.2.3 ƒR[ƒ‹ƒoƒbƒNƒ‹[ƒ`ƒ“
158 8.3 ƒJ[ƒlƒ‹‹N“®ƒƒbƒZ[ƒW‚̏o—͂̃^[ƒQƒbƒgˆË‘¶’è‹`
159 8.4 ƒTƒ“ƒvƒ‹ƒvƒƒOƒ‰ƒ€‚ƃeƒXƒgƒvƒƒOƒ‰ƒ€‚̃^[ƒQƒbƒgˆË‘¶’è‹`
1609. ‚»‚Ì‘¼
161 9.1 ƒhƒLƒ…
162ƒƒ“ƒg
163 9.2 ƒpƒbƒP[ƒW‹Lqƒtƒ@ƒCƒ‹
16410. ƒŠƒtƒ@ƒŒƒ“ƒX
165 10.1 ƒ^[ƒQƒbƒgˆË‘¶•”‚̃tƒ@ƒCƒ‹ˆê——
166
167
1681. ‹¤’ÊŽ–€
169
1701.1 ƒ^[ƒQƒbƒgˆË‘¶•”‚̍\¬
171
172ƒ^[ƒQƒbƒgˆË‘¶•”‚́CtargetƒfƒBƒŒƒNƒgƒŠ‚̉º‚ɁCƒ^[ƒQƒbƒgƒn[ƒhƒEƒFƒA‚Æ
173ŠJ”­ŠÂ‹«‚Ì‘g‚ݍ‡‚킹–ˆ‚É—pˆÓ‚·‚éD‚½‚¾‚µCƒ^[ƒQƒbƒgˆË‘¶•”‚̍ė˜—p«‚ð
174l—¶‚µCƒvƒƒZƒbƒTCƒ`ƒbƒvCŠJ”­ŠÂ‹«‚݂̂Ɉˑ¶‚·‚é•”•ª‚ðCƒvƒƒZƒbƒTˆË
175‘¶•”Cƒ`ƒbƒvˆË‘¶•”CŠJ”­ŠÂ‹«ˆË‘¶•”‚Æ‚¢‚¤Œ`‚Ő؂蕪‚¯‚Ä‚à‚æ‚¢DØ‚蕪‚¯
176•û‚́Cƒ^[ƒQƒbƒgˆË‘¶•”‚ÌŽÀ‘•‚É”C‚³‚ê‚Ä‚¢‚éDƒvƒƒZƒbƒTˆË‘¶•”Cƒ`ƒbƒvˆË
177‘¶•”CŠJ”­ŠÂ‹«ˆË‘¶•”‚́CarchƒfƒBƒŒƒNƒgƒŠ‚̉º‚É’u‚­D
178
179SSPƒJ[ƒlƒ‹‚̃^[ƒQƒbƒgˆË‘¶•”‚́CƒVƒXƒeƒ€\’zŠÂ‹«iMakefile“™j‚̃^[ƒQƒb
180ƒgˆË‘¶•”CTOPPERS‹¤’Ê’è‹`it_stddef.hj‚̃^[ƒQƒbƒgˆË‘¶•”CƒVƒXƒeƒ€ƒCƒ“
181ƒ^ƒtƒF[ƒXƒŒƒCƒ„iSILCsil.hj‚̃^[ƒQƒbƒgˆË‘¶•”CƒJ[ƒlƒ‹APIikernel.hj
182‚̃^[ƒQƒbƒgˆË‘¶•”CƒJ[ƒlƒ‹ŽÀ‘•‚̃^[ƒQƒbƒgˆË‘¶•”iƒRƒ“ƒtƒBƒMƒ…
183ƒŒ[ƒ^
184Ý’èƒtƒ@ƒCƒ‹‚̃^[ƒQƒbƒgˆË‘¶•”‚ðŠÜ‚ށjCƒVƒXƒeƒ€ƒT[ƒrƒX‚̃^[ƒQƒbƒgˆË
185‘¶•”Cƒ^[ƒQƒbƒgˆË‘¶•”‚ÉŠÖ‚·‚éƒhƒLƒ…
186ƒƒ“ƒg“™‚ō\¬‚³‚ê‚éD
187
1881.2 –¼‘O‚̏Փ˂̖hŽ~
189
190TOPPERSƒvƒƒWƒFƒNƒg‚ª’ñ‹Ÿ‚·‚éƒ\ƒtƒgƒEƒFƒA‚Ì‚½‚߂ɁCTOPPERS_‚ÅŽn‚Ü‚éƒVƒ“
191ƒ{ƒ‹‚ð—\–ñ‚µ‚Ä‚¢‚éDƒwƒbƒ_ƒtƒ@ƒCƒ‹’†‚É‹Lq‚³‚êCƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚©‚çŽQ
192Æ‚Å‚«‚é“à•”ƒVƒ“ƒ{ƒ‹‚́CTOPPERS_‚ÅŽn‚Ü‚é–¼‘O‚Æ‚·‚éD
193
194‚Ü‚½C_kernel_‚ÅŽn‚Ü‚éƒVƒ“ƒ{ƒ‹‚́CƒJ[ƒlƒ‹“à•”‚̕ϐ”‚âŠÖ”‚Ì‚½‚ß‚É—\–ñ
195‚µ‚Ä‚¢‚éDƒJ[ƒlƒ‹“à•”‚̕ϐ”‚âŠÖ”‚Ì–¼‘O‚ŁCƒŠƒ“ƒNŽž‚ɃAƒvƒŠƒP[ƒVƒ‡ƒ“
196‚Ì–¼‘O‚ƏՓ˂·‚é‰Â”\«‚ª‚ ‚é‚à‚̂́CƒŠƒl[ƒ€‹Lq‚ɃŠƒXƒgƒAƒbƒv‚·‚邱‚Æ
197‚ŁCƒRƒ“ƒpƒCƒ‹Žž‚É_kernel_‚ÅŽn‚Ü‚é–¼‘O‚É’u‚«Š·‚¦‚邱‚Æ‚Æ‚µ‚Ä‚¢‚éD
198
1991.3 ‘½dƒCƒ“ƒNƒ‹[ƒh‚Ì–hŽ~
200
201‚·‚ׂẴwƒbƒ_ƒtƒ@ƒCƒ‹‚́C‘½d‚ɃCƒ“ƒNƒ‹[ƒh‚³‚ê‚é‚Ì‚ð–hŽ~‚·‚邽‚߂̏ð
202ŒƒRƒ“ƒpƒCƒ‹‹Lq‚ð“ü‚ê‚邱‚Æ‚Æ‚·‚éD—Ⴆ‚΁Ctarget_config.h‚Å‚ ‚ê‚΁Cƒtƒ@
203ƒCƒ‹‚̐擪‚É
204
205#ifndef TOPPERS_TARGET_CONFIG_H
206#define TOPPERS_TARGET_CONFIG_H
207
208‚ðCƒtƒ@ƒCƒ‹‚Ì––”ö‚É
209
210#endif /* TOPPERS_TARGET_CONFIG_H */
211
212‚ð‹Lq‚·‚éD
213
2141.4 ƒAƒZƒ“ƒuƒŠŒ¾Œê‚Ƃ̃wƒbƒ_ƒtƒ@ƒCƒ‹‚Ì‹¤—p
215
216SSPƒJ[ƒlƒ‹‚̃wƒbƒ_ƒtƒ@ƒCƒ‹‚Ì‘½‚­‚́CƒAƒZƒ“ƒuƒŠŒ¾Œê‚̃\[ƒXƒtƒ@ƒCƒ‹‚©‚ç
217‚àƒCƒ“ƒNƒ‹[ƒh‚Å‚«‚é‚悤‚É‚·‚邽‚߂ɁCŽŸ‚̃‹[ƒ‹‚ɏ]‚Á‚Ä‹Lq‚·‚é‚à‚Ì‚Æ
218‚·‚éD
219
220ETOPPERS_MACRO_ONLY‚ªƒ}ƒNƒ’è‹`‚³‚ê‚Ä‚¢‚éê‡‚ɂ́CƒAƒZƒ“ƒuƒŠŒ¾Œê‚Å‚Í
221@‰ðŽß‚Å‚«‚È‚¢‹Lqiƒ}ƒNƒ’è‹`ˆÈŠO‚Ì‹Lqj‚ðœ‚­‚悤‚É‹Lq‚·‚éD
222
223E•„†–³‚µ®”Œ^‚̒萔’l‚́CUINT_C‚âULONG_C‚Ȃǂ̐®”’萔‚ðì‚邽‚߂̃}
224@ƒNƒ‚ð—p‚¢‚Ä‹Lq‚·‚éD‚½‚¾‚µCƒAƒZƒ“ƒuƒŠŒ¾Œê‚̃\[ƒXƒtƒ@ƒCƒ‹‚©‚ç‚àƒC
225@ƒ“ƒNƒ‹[ƒh‚Å‚«‚éƒtƒ@ƒCƒ‹’†‚Å‚ ‚Á‚Ä‚àCCŒ¾Œê‚Ì‚Ý‚Å—p‚¢‚é’萔‚ð‚±‚ê‚ç‚Ì
226@ƒ}ƒNƒ‚ðŽg‚Á‚Ä‹Lq‚·‚é•K—v‚Í‚È‚¢D
227
228‚Ü‚½CƒJ[ƒlƒ‹ŽÀ‘•‚É‚¨‚¢‚ẮCŽŸ‚̃‹[ƒ‹‚ɏ]‚¤‚à‚Ì‚Æ‚·‚éD
229
230EƒAƒZƒ“ƒuƒŠŒ¾Œê‚©‚ç‚à—p‚¢‚é’萔‚Ì’è‹`’†‚ÉŒ^ƒLƒƒƒXƒg‚ð—p‚¢‚éê‡‚ɂ́C
231@CASTƒ}ƒNƒ‚ð—p‚¢‚Ä‹Lq‚·‚éD
232
233ƒAƒZƒ“ƒuƒŠŒ¾Œê‚©‚çƒwƒbƒ_ƒtƒ@ƒCƒ‹‚ðƒCƒ“ƒNƒ‹[ƒh‚·‚éÛ‚ɂ́C•K—v‚ɉž‚¶‚āC
234TOPPERS_MACRO_ONLYCUINC_CCULONG_CCCAST‚ðƒ}ƒNƒ’è‹`‚µ‚Ä‚©‚çCƒCƒ“ƒNƒ‹[
235ƒh‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢D
236
2371.5 ƒCƒ“ƒNƒ‹[ƒh‹Lq‚Ì•û–@
238
239ŠJ”­ŠÂ‹«‚Å—pˆÓ‚³‚ê‚Ä‚¢‚é•W€ƒwƒbƒ_ƒtƒ@ƒCƒ‹‚¨‚æ‚ÑincludeƒfƒBƒŒƒNƒgƒŠ‰º‚Ì
240•W€ƒwƒbƒ_ƒtƒ@ƒCƒ‹‚́Cu#include <...>v‚É‚æ‚èƒCƒ“ƒNƒ‹[ƒh‚·‚éD
241
242‚»‚Ì‘¼‚̃wƒbƒ_ƒtƒ@ƒCƒ‹‚́Cu#include "..."v‚É‚æ‚èƒCƒ“ƒNƒ‹[ƒh‚·‚éDƒwƒb
243ƒ_ƒtƒ@ƒCƒ‹‚ªCƒJƒŒƒ“ƒgƒfƒBƒŒƒNƒgƒŠ‚âƒCƒ“ƒNƒ‹[ƒh‚·‚éƒtƒ@ƒCƒ‹‚Æ“¯‚¶ƒfƒB
244ƒŒƒNƒgƒŠˆÈŠO‚̃fƒBƒŒƒNƒgƒŠ‚É’u‚©‚ê‚Ä‚¢‚éê‡‚ɂ́CŽŸ‚̂悤‚ɃpƒXŽw’è‚ð
245s‚¤D
246
247Eƒ^[ƒQƒbƒgˆË‘¶•”itarget/<ƒ^[ƒQƒbƒg–¼>j‚̃fƒBƒŒƒNƒgƒŠ‚É’u‚©‚ê‚Ä‚¢‚é
248@ê‡‚́CƒpƒXŽw’è‚ðs‚킸Cƒtƒ@ƒCƒ‹–¼‚Ì‚Ý‚ð‹Lq‚·‚éD
249 —áj#include "target_config.h"
250
251EarchƒfƒBƒŒƒNƒgƒŠ‰º‚̃fƒBƒŒƒNƒgƒŠ‚É’u‚©‚ê‚Ä‚¢‚éê‡‚ɂ́CarchƒfƒBƒŒƒN
252@ƒgƒŠ‚©‚ç‚Ì‘Š‘΃pƒX‚Å‹Lq‚·‚éD
253 —áj#include "m68k_gcc/prc_config.h"
254
255E‚»‚Ì‘¼‚̏ꍇ‚ɂ́Cƒ\[ƒXƒvƒƒOƒ‰ƒ€‚̃‹[ƒgƒfƒBƒŒƒNƒgƒŠiconfigure‚ª’u
256@‚©‚ê‚Ä‚¢‚éƒfƒBƒŒƒNƒgƒŠj‚©‚ç‚Ì‘Š‘΃pƒX‚Å‹Lq‚·‚éD
257 —áj#include "pdic/upd72001/upd72001.h"
258
259EƒJ[ƒlƒ‹‚ð\¬‚·‚éƒtƒ@ƒCƒ‹‚©‚çCkernelƒfƒBƒŒƒNƒgƒŠ‰º‚̃wƒbƒ_ƒtƒ@ƒCƒ‹
260@‚ðƒCƒ“ƒNƒ‹[ƒh‚·‚éê‡‚́CƒpƒXŽw’è‚ðs‚킸Cƒtƒ@ƒCƒ‹–¼‚Ì‚Ý‚ð‹Lq‚·‚éD
261 —áj#include "kernel_impl.h"
262
2631.6 ƒNƒŠƒeƒBƒJƒ‹ƒZƒNƒVƒ‡ƒ“‚̏o“üˆ—‚ÌŽÀŒ»‚ÉŠÖ‚·‚鐧–ñ
264
265ƒJ[ƒlƒ‹“à‚Å—p‚¢‚éƒNƒŠƒeƒBƒJƒ‹ƒZƒNƒVƒ‡ƒ“‚̏o“üˆ—‚ðŽÀŒ»‚·‚éê‡‚ɂ́C
266ŽŸ‚Ì2‚Â‚ÌðŒ‚ð–ž‚½‚·‚悤‚ÉŽÀ‘•‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢D
267
268(1-6-1) o“üˆ—‚©‚甲‚¯‚½Žž“_‚ł́CŠ„ž‚Ý‚Ì‹ÖŽ~^‹–‰Â‚ªŠ®—¹‚µ‚Ä‚¢‚È‚¯
269‚ê‚΂Ȃç‚È‚¢D—Ⴆ‚΁CŠ„ž‚Ý‹ÖŽ~^‹–‰Â–½—ß‚ðŽÀs‚µ‚Ä‚©‚çŽÀÛ‚ÉŠ„ž‚Ý‚ª
270‹ÖŽ~^‹–‰Â‚³‚ê‚é‚܂ʼn½–½—ß‚©’x‰„‚·‚éƒvƒƒZƒbƒT‚̏ꍇ‚ɂ́Co“üˆ—‚Ì’†
271‚ÉNOP–½—ß‚ð“ü‚ê‚é‚È‚Ç‚Ì•û–@‚ŁCo“üˆ—‚𔲂¯‚½Žž“_‚ł́CŠ„ž‚Ý‚ª‹ÖŽ~^
272‹–‰Â‚³‚ꂽó‘Ô‚É‚È‚Á‚Ä‚¢‚邱‚Æ‚ð•ÛØ‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢D
273
274(1-6-2) ƒƒ‚ƒŠã‚̃f[ƒ^\‘¢‚ª‘‚«•Ï‚í‚é‰Â”\«‚ª‚ ‚邱‚Æ‚ðC‰½‚ç‚©‚Ì•û
275–@‚ŃRƒ“ƒpƒCƒ‰‚É’m‚点‚È‚¯‚ê‚΂Ȃç‚È‚¢DGNUŠJ”­ŠÂ‹«‚ł́CŽŸ‚Ì‚¢‚¸‚ê‚©‚Ì
276•û–@‚Å‚±‚̐§–ñ‚ð–ž‚½‚·‚±‚Æ‚ª‚Å‚«‚éD
277
278(a) ƒNƒŠƒeƒBƒJƒ‹ƒZƒNƒVƒ‡ƒ“‚̏o“üˆ—‚Ì‘S‘Ì‚Ü‚½‚͏o“üˆ—‚Ì–{Ž¿“I‚È•”•ª
279 i‹ï‘Ì“I‚ɂ́CŠ„ž‚Ý‹ÖŽ~^‹–‰Â‚·‚鏈—j‚ðiƒCƒ“ƒ‰ƒCƒ“‚Å‚È‚¢j’ʏí
280 ‚̊֐”‚É‚æ‚èŽÀŒ»‚·‚éD
281
282(b) ƒNƒŠƒeƒBƒJƒ‹ƒZƒNƒVƒ‡ƒ“‚̏o“üˆ—‚Ì–{Ž¿“I‚È•”•ª‚ðƒCƒ“ƒ‰ƒCƒ“ƒAƒZƒ“ƒu
283 ƒ‰‚É‚æ‚Á‚ÄŽÀŒ»‚µ‚Ä‚¢‚éê‡‚ɂ́C‚»‚̃Cƒ“ƒ‰ƒCƒ“ƒAƒZƒ“ƒuƒ‰‚Ìclobber•Ï
284 ”ƒŠƒXƒg‚É"memory"‚ð’ljÁ‚·‚éD
285
286(c) ƒNƒŠƒeƒBƒJƒ‹ƒZƒNƒVƒ‡ƒ“‚̏o“üˆ—‚Ì–{Ž¿“I‚È•”•ª‚ªCƒ}ƒNƒ‚âƒCƒ“ƒ‰ƒC
287 ƒ“ŠÖ”ŒÄo‚µ‚ÅŽÀŒ»‚µ‚Ä‚¢‚éê‡‚ɂ́CƒNƒŠƒeƒBƒJƒ‹ƒZƒNƒVƒ‡ƒ“‚É“ü‚鏈
288 —‚̍Ōã‚Əo‚鏈—‚̐擪‚ɁCAsm("":::"memory")‚Æ‚¢‚¤‹Lq‚ð“ü‚ê‚éD
289
290‚±‚̂悤‚Ȑ§–ñ‚ðÝ‚¯‚闝—R‚ɂ‚¢‚ẮCuTOPPERS/ASPƒJ[ƒlƒ‹ ÝŒvƒƒ‚v
291‚́uƒJ[ƒlƒ‹‚̃f[ƒ^\‘¢‚ɑ΂·‚évolatileéŒ¾‚ɂ‚¢‚āv‚̐߂ðŽQÆ‚·‚邱
292‚ƁD
293
2942. ƒVƒXƒeƒ€\’zŠÂ‹«‚̃^[ƒQƒbƒgˆË‘¶•”
295
296‚±‚ÌÍ‚Ìà–¾‚́CGNUŠJ”­ŠÂ‹«iGCCCGASCBINUTILSCGNU Makej‚ð—p‚¢‚邱‚Æ
297‚ð‘z’肵‚Ä‹Lq‚µ‚Ä‚ ‚éD‚»‚êˆÈŠO‚ÌŠJ”­ŠÂ‹«‚ð—p‚¢‚éê‡‚ɂ́CŠJ”­ŠÂ‹«‚É
298‚ ‚킹‚ďC³‚·‚é•K—v‚ª‚ ‚éD
299
3002.1 ƒ^[ƒQƒbƒg—ªÌ‚ƃ^[ƒQƒbƒgˆË‘¶•”‚̃fƒBƒŒƒNƒgƒŠ
301
302V‚µ‚¢ƒ^[ƒQƒbƒgˆË‘¶•”‚ðì¬‚·‚鎞‚́C‚Ü‚¸Cƒ^[ƒQƒbƒg—ªÌ‚ð’è‚ß‚éDƒ^[
303ƒQƒbƒg—ªÌ‚́CƒVƒXƒeƒ€—ªÌ‚ÆŠJ”­ŠÂ‹«—ªÌ‚ð"_"‚ŘAŒ‹‚µ‚½‚à‚Ì‚Æ‚·‚éDƒVƒX
304ƒeƒ€—ªÌ‚É—p‚¢‚镶Žš‚͉p¬•¶Žš‚Ɛ”Žš‚Æ"_"‚ɁCŠJ”­ŠÂ‹«—ªÌ‚É—p‚¢‚镶Žš‚Í
305‰p¬•¶Žš‚Ɛ”Žš‚ÉŒÀ’è‚·‚éDGNUŠJ”­ŠÂ‹«‚ÌŠJ”­ŠÂ‹«—ªÌ‚́C"gcc"‚Æ‚·‚éD—á
306‚¦‚΁CƒVƒXƒeƒ€—ªÌ‚ª"dve68k"‚ŁCGNUŠJ”­ŠÂ‹«‚ð—p‚¢‚éê‡‚ɂ́Cƒ^[ƒQƒbƒg
307—ªÌ‚Í"dve68k_gcc"‚Æ‚È‚éD
308
309ƒ^[ƒQƒbƒgˆË‘¶•”‚̃tƒ@ƒCƒ‹‚ð’u‚­‚½‚߂ɁCtargetƒfƒBƒŒƒNƒgƒŠ‚̉º‚ɁCƒ^[
310ƒQƒbƒg—ªÌ‚𖼏̂Ƃ·‚éƒfƒBƒŒƒNƒgƒŠ‚ðì¬‚·‚éD‚±‚ê‚ðƒ^[ƒQƒbƒgˆË‘¶•”ƒfƒB
311ƒŒƒNƒgƒŠ‚ƌĂԁD
312
313ƒ^[ƒQƒbƒgˆË‘¶•”‚©‚çƒvƒƒZƒbƒTˆË‘¶•”‚âƒ`ƒbƒvˆË‘¶•”‚ðØ‚蕪‚¯‚éê‡‚ɂ́C
314ˆË‘¶•”—ªÌ‚ð’è‚ß‚éDˆË‘¶•”—ªÌ‚́CƒvƒƒZƒbƒT‚âƒ`ƒbƒv‚Ì—ªÌ‚ÆŠJ”­ŠÂ‹«—ª
315Ì‚ð"_"‚ŘAŒ‹‚µ‚½‚à‚Ì‚Æ‚·‚éDƒvƒƒZƒbƒT‚âƒ`ƒbƒv‚Ì—ªÌ‚É—p‚¢‚镶Žš‚́C‰p
316¬•¶Žš‚Ɛ”Žš‚Æ"_"‚ÉŒÀ’è‚·‚éD—Ⴆ‚΁CƒvƒƒZƒbƒT—ªÌ‚ª"m68k"‚ŁCGNUŠJ”­
317ŠÂ‹«‚ð—p‚¢‚éê‡‚ɂ́CˆË‘¶•”—ªÌ‚Í"m68k_gcc"‚Æ‚È‚éD
318
319‚Ü‚½Cƒ^[ƒQƒbƒgˆË‘¶•”‚©‚çŠJ”­ŠÂ‹«ˆË‘¶•”‚ðØ‚蕪‚¯‚éê‡‚ɂ́CŠJ”­ŠÂ‹«
320—ªÌ‚ðˆË‘¶•”—ªÌ‚Æ‚·‚éD—Ⴆ‚΁CGNUŠJ”­ŠÂ‹«ˆË‘¶•”‚̈ˑ¶•”—ªÌ‚́C"gcc"
321‚Æ‚È‚éD
322
323‚±‚ê‚ç‚̈ˑ¶•”‚̃tƒ@ƒCƒ‹‚ð’u‚­‚½‚߂ɁCarchƒfƒBƒŒƒNƒgƒŠ‚̉º‚ɁCˆË‘¶•”—ª
324Ì‚𖼏̂Ƃ·‚éƒfƒBƒŒƒNƒgƒŠ‚ðì¬‚·‚éD
325
326‚È‚¨CGNUŠJ”­ŠÂ‹«ˆÈŠO‚ÌŠJ”­ŠÂ‹«‚ð—p‚¢‚éê‡‚ɂ́CƒRƒ“ƒtƒBƒMƒ…
327ƒŒ[ƒVƒ‡ƒ“
328ƒXƒNƒŠƒvƒgiconfigurejCƒTƒ“ƒvƒ‹‚ÌMakefileisample/MakefilejCˆê•”‚Ì
329ƒ†[ƒeƒBƒŠƒeƒBƒvƒƒOƒ‰ƒ€iutils/genoffsetCutils/makedepj‚ðC‚»‚ÌŠJ”­
330ŠÂ‹«—p‚É—pˆÓ‚·‚é•K—v‚ª‚ ‚éê‡‚ª‚ ‚éD‚»‚̏ꍇ‚ɂ́C‚±‚ê‚ç‚̃tƒ@ƒCƒ‹‚ðC
331ƒ^[ƒQƒbƒgˆË‘¶•”ƒfƒBƒŒƒNƒgƒŠ‚©ŠJ”­ŠÂ‹«ˆË‘¶•”ƒfƒBƒŒƒNƒgƒŠ‚É’u‚­‚à‚Ì‚Æ‚·
332‚éD‚Ü‚½CŠJ”­ŠÂ‹«—p‚̃vƒƒWƒFƒNƒgƒtƒ@ƒCƒ‹‚ª•K—v‚ȏꍇ‚ɂ́Cƒ^[ƒQƒbƒg
333ˆË‘¶•”ƒfƒBƒŒƒNƒgƒŠ‚É’u‚­‚à‚Ì‚Æ‚·‚éD
334
3352.2 Makefile‚̃^[ƒQƒbƒgˆË‘¶•”
336
337Makefile‚̃^[ƒQƒbƒgˆË‘¶•”‚́Cƒ^[ƒQƒbƒgˆË‘¶•”ƒfƒBƒŒƒNƒgƒŠ‚É’u‚¢‚½
338Makefile.target‚Ü‚½‚Í‚»‚±‚©‚çƒCƒ“ƒNƒ‹[ƒh‚³‚ê‚éƒtƒ@ƒCƒ‹iƒvƒƒZƒbƒTEƒ`ƒb
339ƒvEŠJ”­ŠÂ‹«ˆË‘¶•”‚Å—pˆÓ‚³‚ê‚éƒtƒ@ƒCƒ‹‚Ȃǁj‚ÉŠÜ‚ß‚éD
340
3412.3 ŠJ”­ŠÂ‹«–¼‚ƃRƒ}ƒ“ƒh–¼‚̐ݒè
342
343ŠJ”­ŠÂ‹«–¼‚ƃRƒ}ƒ“ƒh–¼‚ðÝ’è‚·‚邽‚߂ɁCMakefile‚̃^[ƒQƒbƒgˆË‘¶•”‚ÅŽŸ
344‚̕ϐ”‚ð’è‹`‚·‚éD
345
346(2-3-1) TOOL ŠJ”­ŠÂ‹«–¼
347
348ŠJ”­ŠÂ‹«–¼‚É’è‹`‚·‚éDGNUŠJ”­ŠÂ‹«‚ð—p‚¢‚éê‡‚ɂ́Cgcc‚É’è‹`‚·‚éD
349
350(2-3-2) GCC_TARGET GNUŠJ”­ŠÂ‹«‚̃^[ƒQƒbƒg–¼
351
352GNUŠJ”­ŠÂ‹«‚ð—p‚¢‚éê‡‚ɁCGNUŠJ”­ŠÂ‹«‚ðconfigure‚·‚éê‡‚ÉŽw’è‚·‚éƒ^[
353ƒQƒbƒg–¼‚É’è‹`‚·‚éD‚±‚±‚ÅŽw’肵‚½ƒ^[ƒQƒbƒg–¼‚́CŠJ”­ŠÂ‹«‚̃Rƒ}ƒ“ƒh–¼
354‚̐擪‚É•t—^‚³‚ê‚镶Žš—ñ‚Æ‚È‚éD—Ⴆ‚΁CGCC_TARGET‚ðm68k-unknown-elf‚É
355’è‹`‚µ‚½ê‡‚ɂ́CƒRƒ“ƒpƒCƒ‰‚Æ‚µ‚Äm68k-unknown-elf-gcc‚ªŽg‚í‚ê‚éD‚±‚Ì
356•Ï”‚ª’è‹`‚³‚ê‚È‚¢ê‡‚ɂ́C’P‚È‚égcc‚ªŽg‚í‚ê‚éD
357
358(2-3-3) CC CƒRƒ“ƒpƒCƒ‰ƒhƒ‰ƒCƒo‚Ì–¼Ì
359(2-3-4) CXX C++ƒRƒ“ƒpƒCƒ‰ƒhƒ‰ƒCƒo‚Ì–¼Ì
360(2-3-5) AS ƒAƒZƒ“ƒuƒ‰‚Ì–¼Ì
361(2-3-6) LD ƒŠƒ“ƒJ‚Ì–¼Ì
362(2-3-7) AR ƒA[ƒJƒCƒo‚Ì–¼Ì
363(2-3-8) NM nmƒvƒƒOƒ‰ƒ€‚Ì–¼Ì
364(2-3-9) RANLIB ranlibƒvƒƒOƒ‰ƒ€‚Ì–¼Ì
365(2-3-10) OBJCOPY objcopyƒvƒƒOƒ‰ƒ€‚Ì–¼Ì
366(2-3-11) OBJDUMP objdumpƒvƒƒOƒ‰ƒ€‚Ì–¼Ì
367
368GNUŠJ”­ŠÂ‹«ˆÈŠO‚ÌŠJ”­ŠÂ‹«‚ð—p‚¢‚éê‡‚ɁC‚»‚ꂼ‚ê‚̃Rƒ}ƒ“ƒh‚Ì–¼Ì‚É’è‹`
369‚·‚éD‘Ήž‚·‚éƒRƒ}ƒ“ƒh‚ª‚È‚¢ê‡‚âCƒRƒ}ƒ“ƒhƒpƒ‰ƒ[ƒ^‚ªˆÙ‚È‚éê‡‚ɂ́C
370Makefile’†‚Å‚»‚̃Rƒ}ƒ“ƒh‚ðŒÄ‚яo‚µ‚Ä‚¢‚é•”•ª‚ð•ÏX‚·‚é•K—v‚ª‚ ‚éD
371
372GNUŠJ”­ŠÂ‹«‚ł́C‚±‚ê‚ç‚ÍGCC_TARGET‚ð—p‚¢‚Ä’è‹`‚³‚ê‚é‚̂ŁC’è‹`‚·‚é•K—v
373‚Í‚È‚¢D
374
3752.4 ƒRƒ“ƒpƒCƒ‹ƒIƒvƒVƒ‡ƒ“‚ƃIƒuƒWƒFƒNƒgƒtƒ@ƒCƒ‹‚̐ݒè
376
377Makefile‚̃^[ƒQƒbƒgˆË‘¶•”‚ňȉº‚Åà–¾‚·‚é•Ï”‚ð’è‹`‚·‚鎞‚ɂ́C":="‚ð
378—p‚¢‚āC‚»‚ê‚Ü‚Å‚Ì’è‹`‚ɒljÁ‚·‚éŒ`‚ōs‚¤D—Ⴆ‚΁CƒRƒ“ƒpƒCƒ‰‚ɑ΂·‚é‚»
379‚Ì‘¼‚̃IƒvƒVƒ‡ƒ“‚Æ‚µ‚āu-Wall -g -O2v‚ð’ljÁ‚µ‚½‚¢ê‡‚ɂ́CuCOPTS :=
380$(COPTS) -Wall -g -O2v‚Æ‚¢‚¤‹Lq‚ðMakefile‚̃^[ƒQƒbƒgˆË‘¶•”‚ÉŠÜ‚ß‚éD
381
382(2-4-1) COPTS ƒRƒ“ƒpƒCƒ‰‚ɑ΂·‚é‚»‚Ì‘¼‚̃IƒvƒVƒ‡ƒ“
383(2-4-2) CDEFS ƒ}ƒNƒ’è‹`ƒIƒvƒVƒ‡ƒ“i-DƒIƒvƒVƒ‡ƒ“j
384(2-4-3) INCLUDES ƒwƒbƒ_ƒtƒ@ƒCƒ‹‚Ì’u‚©‚ꂽƒfƒBƒŒƒNƒgƒŠŽw’èƒI
385 ƒvƒVƒ‡ƒ“i-IƒIƒvƒVƒ‡ƒ“j
386(2-4-4) LDFLAGS ƒŠƒ“ƒJ‚ɑ΂·‚é‚»‚Ì‘¼‚̃IƒvƒVƒ‡ƒ“
387(2-4-5) LIBS ƒ‰ƒCƒuƒ‰ƒŠƒŠƒ“ƒNŽw’è‚Ì‚½‚߂̃IƒvƒVƒ‡ƒ“
388
389ƒ^[ƒQƒbƒg‚Ɉˑ¶‚µ‚āC‚·‚ׂẴ\[ƒXƒtƒ@ƒCƒ‹‚É‹¤’Ê‚·‚éƒRƒ“ƒpƒCƒ‹ƒIƒvƒVƒ‡
390ƒ“‚̒ljÁ‚ª•K—v‚ȏꍇ‚ɂ́CƒIƒvƒVƒ‡ƒ“‚ÌŽí—Þ–ˆ‚ɏã‚ÉŽ¦‚µ‚½•Ï”‚É’è‹`‚·‚éD
391
392‚Ù‚Æ‚ñ‚ǂ̏ꍇ‚ɁCƒ^[ƒQƒbƒgˆË‘¶•”ƒfƒBƒŒƒNƒgƒŠ‚ÌMakefile.target‚ɂ́CˆÈ
393‰º‚Ì‹Lq‚ðŠÜ‚ß‚é•K—v‚ª‚ ‚éD
394
395----------------------------------------
396INCLUDES := $(INCLUDES) -I$(TARGETDIR)
397----------------------------------------
398
399‚±‚±‚ÅTARGETDIR‚́Cƒ^[ƒQƒbƒgˆË‘¶•”ƒfƒBƒŒƒNƒgƒŠ‚É’è‹`‚³‚ê‚Ä‚¢‚éD‚Ü‚½
400SRCDIR‚́CMakefile‚É‚¨‚¢‚āCƒ\[ƒXƒvƒƒOƒ‰ƒ€‚̃‹[ƒgƒfƒBƒŒƒNƒgƒŠ
401iconfigure‚ª’u‚©‚ê‚Ä‚¢‚éƒfƒBƒŒƒNƒgƒŠj‚É’è‹`‚³‚ê‚Ä‚¢‚éD
402
403ƒRƒ“ƒpƒCƒ‰‚Ì–â‘è“™‚ŁCŒxƒƒbƒZ[ƒW‚ªo‚邱‚Æ‚ð–h‚°‚È‚¢ó‹µˆÈŠO‚ł́C
404COPTS‚É-Werror‚ð’ljÁ‚·‚邱‚Ƃ𐄏§‚·‚éD
405
406----------------------------------------
407COPTS := $(COPTS) -Werror
408----------------------------------------
409
410ƒJ[ƒlƒ‹‚̃Rƒ“ƒpƒCƒ‹Žž‚ɁCdereferencing type-punned pointer will break
411strict-aliasing rules‚Æ‚¢‚¤Œx‚ªo‚éê‡‚ɂ́CˆÈ‰º‚ð’ljÁ‚·‚é‚Æ‚æ‚¢D‚±
412‚ÌŒxƒƒbƒZ[ƒW‚ÉŠÖ‚·‚éÚ×‚́CuTOPPERS/ASPƒJ[ƒlƒ‹ ÝŒvƒƒ‚v‚́uŒ^
413ƒLƒƒƒXƒg‚É”º‚¤ŒxƒƒbƒZ[ƒWv‚̐߂ðŽQÆ‚·‚邱‚ƁD
414
415----------------------------------------
416KERNEL_CFLAGS := $(KERNEL_CFLAGS) -fno-strict-aliasing
417----------------------------------------
418
419‚Ü‚½CƒAƒZƒ“ƒuƒŠŒ¾ŒêƒŒƒxƒ‹‚ÌŽ¯•Ê–¼‚ªCCŒ¾ŒêƒŒƒxƒ‹‚ÌŽ¯•Ê–¼‚̐擪‚É"_"‚ª
420•t‚¢‚½‚à‚Ì‚É‚È‚éê‡‚ɂ́CCDEFS‚É-DTOPPERS_LABEL_ASM‚ð’ljÁ‚·‚éD
421
422(2-4-6) SYSSVC_DIR ƒVƒXƒeƒ€ƒT[ƒrƒX‚̃\[ƒX‚ª’u‚©‚ꂽƒfƒBƒŒƒNƒgƒŠ
423(2-4-7) SYSSVC_ASMOBJS ƒAƒZƒ“ƒuƒŠŒ¾Œê‚Å‹Lq‚³‚ꂽƒVƒXƒeƒ€ƒT[ƒrƒX‚Ì
424 ƒIƒuƒWƒFƒNƒg
425(2-4-8) SYSSVC_COBJS CŒ¾Œê‚Å‹Lq‚³‚ꂽƒVƒXƒeƒ€ƒT[ƒrƒX‚̃IƒuƒWƒFƒNƒg
426(2-4-9) SYSSVC_CFLAGS ƒVƒXƒeƒ€ƒT[ƒrƒX‚ɑ΂·‚éƒRƒ“ƒpƒCƒ‹ƒIƒvƒVƒ‡ƒ“
427(2-4-10) SYSSVC_LIBS ƒVƒXƒeƒ€ƒT[ƒrƒX‚ɑ΂·‚郉ƒCƒuƒ‰ƒŠƒŠƒ“ƒNŽw’è
428
429ƒ^[ƒQƒbƒg‚Ɉˑ¶‚µ‚āCƒVƒXƒeƒ€ƒT[ƒrƒXiƒVƒXƒeƒ€ƒƒOƒ^ƒXƒN‚âƒfƒoƒCƒXƒh
430ƒ‰ƒCƒo‚Ȃǁj‚̃\[ƒX‚ª’u‚©‚ꂽƒfƒBƒŒƒNƒgƒŠCƒVƒXƒeƒ€ƒT[ƒrƒX‚ð\¬‚·‚é
431ƒIƒuƒWƒFƒNƒgƒtƒ@ƒCƒ‹‚̃ŠƒXƒgC‚»‚ê‚ç‚ðƒRƒ“ƒpƒCƒ‹‚·‚éÛ‚É“K—p‚·‚éƒRƒ“ƒp
432ƒCƒ‹ƒIƒvƒVƒ‡ƒ“C‚»‚̍\¬‚É•K—v‚ȃ‰ƒCƒuƒ‰ƒŠƒŠƒ“ƒNŽw’è‚ð’ljÁ‚·‚éê‡‚ɂ́C
433ã‚ÉŽ¦‚µ‚½•Ï”‚É’è‹`‚·‚éD
434
435(2-4-11) KERNEL_DIR ƒJ[ƒlƒ‹‚̃\[ƒX‚ª’u‚©‚ꂽƒfƒBƒŒƒNƒgƒŠ
436(2-4-12) KERNEL_ASMOBJS ƒAƒZƒ“ƒuƒŠŒ¾Œê‚Å‹Lq‚³‚ꂽƒJ[ƒlƒ‹‚̃IƒuƒWƒFƒNƒg
437(2-4-13) KERNEL_COBJS CŒ¾Œê‚Å‹Lq‚³‚ꂽƒJ[ƒlƒ‹‚̃IƒuƒWƒFƒNƒg
438(2-4-14) KERNEL_CFLAGS ƒJ[ƒlƒ‹‚ɑ΂·‚éƒRƒ“ƒpƒCƒ‹ƒIƒvƒVƒ‡ƒ“
439
440ƒ^[ƒQƒbƒg‚Ɉˑ¶‚µ‚āCƒJ[ƒlƒ‹‚̃\[ƒX‚ª’u‚©‚ꂽƒfƒBƒŒƒNƒgƒŠCƒJ[ƒlƒ‹
441‚ð\¬‚·‚éƒIƒuƒWƒFƒNƒgƒtƒ@ƒCƒ‹‚̃ŠƒXƒgC‚»‚ê‚ç‚ðƒRƒ“ƒpƒCƒ‹‚·‚éÛ‚É“K—p
442‚·‚éƒRƒ“ƒpƒCƒ‹ƒIƒvƒVƒ‡ƒ“‚ð’ljÁ‚·‚éê‡‚ɂ́Cã‚ÉŽ¦‚µ‚½•Ï”‚É’è‹`‚·‚éD
443
444‚Ù‚Æ‚ñ‚ǂ̏ꍇ‚ɁCƒ^[ƒQƒbƒgˆË‘¶•”ƒfƒBƒŒƒNƒgƒŠ‚ÌMakefile.target‚ɂ́CˆÈ
445‰º‚Ì‹Lq‚ðŠÜ‚ß‚é•K—v‚ª‚ ‚éD
446
447----------------------------------------
448KERNEL_DIR := $(KERNEL_DIR) $(TARGETDIR)
449KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) target_support.o
450KERNEL_COBJS := $(KERNEL_COBJS) target_config.o target_timer.o
451----------------------------------------
452
453(2-4-15) CFG_TABS ƒRƒ“ƒtƒBƒMƒ…
454ƒŒ[ƒ^‚ɑ΂·‚éƒIƒvƒVƒ‡ƒ“
455
456ƒ^[ƒQƒbƒg‚Ɉˑ¶‚µ‚āCƒRƒ“ƒtƒBƒMƒ…
457ƒŒ[ƒ^‚ɑ΂·‚éƒIƒvƒVƒ‡ƒ“‚ð’ljÁ‚·‚éê
458‡‚ɂ́Cã‚ÉŽ¦‚µ‚½•Ï”‚É’è‹`‚·‚éD‹ï‘Ì“I‚ɂ́CƒRƒ“ƒtƒBƒMƒ…
459ƒŒ[ƒ^‚Ì’lŽæ
460“¾ƒVƒ“ƒ{ƒ‹ƒe[ƒuƒ‹‚̃^[ƒQƒbƒgˆË‘¶•”itarget_def.csvj‚ª‚ ‚éê‡‚ɂ́C
461‚»‚ê‚ðŽw’è‚·‚éƒIƒvƒVƒ‡ƒ“‚ð’ljÁ‚·‚é•K—v‚ª‚ ‚éD
462
463‚Ù‚Æ‚ñ‚ǂ̏ꍇ‚ɁCƒ^[ƒQƒbƒgˆË‘¶•”ƒfƒBƒŒƒNƒgƒŠ‚ÌMakefile.target‚ɂ́CˆÈ
464‰º‚Ì‹Lq‚ðŠÜ‚ß‚é•K—v‚ª‚ ‚éD
465
466----------------------------------------
467CFG_TABS := $(CFG_TABS) --cfg1-def-table $(TARGETDIR)/target_def.csv
468----------------------------------------
469
470(2-4-16) CFG1_OUT_LDFLAGS cfg1_out.c‚ɑ΂·‚郊ƒ“ƒNƒIƒvƒVƒ‡ƒ“
471
472ƒ^[ƒQƒbƒg‚Ɉˑ¶‚µ‚āCcfg1_out.c‚ðƒŠƒ“ƒN‚·‚éÛ‚É“K—p‚·‚éƒIƒvƒVƒ‡ƒ“‚ð’Ç
473‰Á‚·‚éê‡‚ɂ́Cã‚ÉŽ¦‚µ‚½•Ï”‚É’è‹`‚·‚éD
474
475(2-4-17) CFG_OBJS ƒVƒXƒeƒ€ƒRƒ“ƒtƒBƒMƒ…
476ƒŒ[ƒVƒ‡ƒ“‚Ì‚½‚߂̃Iƒu
477 ƒWƒFƒNƒg
478
479ƒ^[ƒQƒbƒg‚Ɉˑ¶‚µ‚āCƒVƒXƒeƒ€ƒRƒ“ƒtƒBƒMƒ…
480ƒŒ[ƒVƒ‡ƒ“‚Ì‚½‚߂̃IƒuƒWƒFƒN
481ƒgƒtƒ@ƒCƒ‹‚ðikernel_cfg.oˆÈŠO‚Ɂj’ljÁ‚·‚éê‡‚ɂ́Cã‚ÉŽ¦‚µ‚½•Ï”‚É’è
482‹`‚·‚éD‚±‚̏ꍇC’ljÁ‚µ‚½ƒIƒuƒWƒFƒNƒgƒtƒ@ƒCƒ‹‚̍쐬ƒ‹[ƒ‹iƒRƒ“ƒpƒCƒ‹^
483ƒAƒZƒ“ƒuƒ‹ƒ‹[ƒ‹‚ƈˑ¶ŠÖŒWì¬ƒ‹[ƒ‹j‚ðCMakefile‚̃^[ƒQƒbƒgˆË‘¶•”‚É
484‹Lq‚·‚é•K—v‚ª‚ ‚éD
485
486(2-4-18) CFG2_OUT
487
488ƒ^[ƒQƒbƒg‚Ɉˑ¶‚µ‚āCƒRƒ“ƒtƒBƒMƒ…
489ƒŒ[ƒ^‚̃pƒX2‚Åkernel_cfg.c‚Æ
490kernel_cfg.hˆÈŠO‚̃tƒ@ƒCƒ‹‚𐶐¬‚·‚éê‡‚ɂ́Cã‚ÉŽ¦‚µ‚½•Ï”‚É’è‹`‚·‚éD
491
492(2-4-19) OMIT_WARINIG_ALL
493(2-4-20) OMIT_OPTIMIZATION
494
495ƒTƒ“ƒvƒ‹‚ÌMakefile‚ł́CƒRƒ“ƒpƒCƒ‰‚ɑ΂·‚éƒIƒvƒVƒ‡ƒ“‚Ɂu-Wall -g -O2v
496‚ð’ljÁ‚·‚éD-Wall‚ð’ljÁ‚µ‚½‚­‚È‚¢ê‡‚ɂ́CMakefile‚̃^[ƒQƒbƒgˆË‘¶•”‚Å
497OMIT_WARNING_ALL‚ð"true"‚É’è‹`‚·‚éD-O2‚ð’ljÁ‚µ‚½‚­‚È‚¢ê‡‚ɂ́C
498Makefile‚̃^[ƒQƒbƒgˆË‘¶•”‚ÅOMIT_OPTIMIZATION‚ð"true"‚É’è‹`‚·‚éD
499
5002.5 ƒŠƒ“ƒN•û–@‚̐ݒè
501
502(2-5-1) LDSCRIPT ƒŠƒ“ƒJƒXƒNƒŠƒvƒg‚̃tƒ@ƒCƒ‹–¼
503
504ŠJ”­ŠÂ‹«‚É•W€‚̃Šƒ“ƒJƒXƒNƒŠƒvƒg‚ªŽg—p‚Å‚«‚È‚¢ê‡‚ɂ́Cƒ^[ƒQƒbƒgˆË‘¶
505•”‚ŃŠƒ“ƒJƒXƒNƒŠƒvƒg‚ð—pˆÓ‚µC‚»‚̃tƒ@ƒCƒ‹–¼‚ð‚±‚Ì•Ï”‚É’è‹`‚·‚éD
506
507(2-5-2) TEXT_START_ADDRESS ƒeƒLƒXƒgƒZƒNƒVƒ‡ƒ“‚̐擪”Ô’n
508(2-5-3) DATA_START_ADDRESS ƒf[ƒ^ƒZƒNƒVƒ‡ƒ“‚̐擪”Ô’n
509
510ŠeƒZƒNƒVƒ‡ƒ“‚̐擪”Ô’n‚ÌŽw’肪•K—v‚ȏꍇ‚ɂ́C‚±‚ê‚ç‚̕ϐ”‚ɐ擪”Ô’n‚ð
511’è‹`‚·‚éD
512
513(2-5-4) START_OBJS æ“ª‚ɃŠƒ“ƒN‚·‚ׂ«ƒ‚ƒWƒ…
514[ƒ‹–¼
515(2-5-5) END_OBJS ÅŒã‚ɃŠƒ“ƒN‚·‚ׂ«ƒ‚ƒWƒ…
516[ƒ‹–¼
517
518ƒ^[ƒQƒbƒg‚É‚æ‚Á‚ẮCƒ[ƒhƒ‚ƒWƒ…
519[ƒ‹‚̐擪‚ƍŌã‚ɃŠƒ“ƒN‚·‚ׂ«ƒ‚ƒWƒ…
520[
521ƒ‹‚ðCƒ^[ƒQƒbƒgˆË‘¶•”‚Å—pˆÓ‚·‚é•K—v‚ª‚ ‚éD‘½‚­‚̏ꍇCƒXƒ^[ƒgƒAƒbƒv
522ƒ‚ƒWƒ…
523[ƒ‹‚ðƒ[ƒhƒ‚ƒWƒ…
524[ƒ‹‚̐擪‚ɃŠƒ“ƒN‚·‚é•K—v‚ª‚ ‚éD
525
526ƒ[ƒhƒ‚ƒWƒ…
527[ƒ‹‚̐擪‚ɃŠƒ“ƒN‚·‚ׂ«ƒvƒƒOƒ‰ƒ€‚ª‚ ‚éê‡‚ɂ́CMakefile
528‚̃^[ƒQƒbƒgˆË‘¶•”‚É‚¨‚¢‚āC‚»‚̃IƒuƒWƒFƒNƒgƒtƒ@ƒCƒ‹–¼‚ðSTART_OBJS‚É’è
529‹`‚µC‚»‚ê‚ɑ΂·‚éƒRƒ“ƒpƒCƒ‹ƒ‹[ƒ‹‚ƈˑ¶ŠÖŒWì¬ƒ‹[ƒ‹‚ð’è‹`‚·‚éDƒ[
530ƒhƒ‚ƒWƒ…
531[ƒ‹‚̍Ōã‚ɃŠƒ“ƒN‚·‚ׂ«ƒ‚ƒWƒ…
532[ƒ‹‚ª‚ ‚éê‡‚ɂ́C‚»‚̃IƒuƒWƒF
533ƒNƒgƒtƒ@ƒCƒ‹–¼‚ðEND_OBJS‚É’è‹`‚µC‚»‚ê‚ɑ΂·‚éƒRƒ“ƒpƒCƒ‹ƒ‹[ƒ‹‚ƈˑ¶ŠÖ
534ŒWì¬ƒ‹[ƒ‹‚ð’è‹`‚·‚éD‚Ü‚½C•W€‚̃Xƒ^[ƒgƒAƒbƒvƒ‚ƒWƒ…
535[ƒ‹icrt0.oj
536‚ðƒŠƒ“ƒN‚µ‚È‚¢‚悤‚ɁCLDFLAGS‚É-nostdlib‚ð’ljÁ‚·‚é•K—v‚ª‚ ‚éD‚³‚ç
537‚ɁC-nostdlib‚ð‚‚¯‚邱‚Æ‚Å•W€ƒ‰ƒCƒuƒ‰ƒŠ‚ªƒŠƒ“ƒN‚³‚ê‚È‚­‚Ȃ邽‚߁C
538LIBS‚É-lgcc‚ð’ljÁ‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢D
539
540—Ⴆ‚΁CƒXƒ^[ƒgƒAƒbƒvƒ‚ƒWƒ…
541[ƒ‹‚̃\[ƒXƒtƒ@ƒCƒ‹‚ªstart.S‚̏ꍇ‚ɂ́C
542Makefile‚̃^[ƒQƒbƒgˆË‘¶•”‚ÉŽŸ‚̂悤‚È‹Lq‚ð“ü‚ê‚é‚Æ‚æ‚¢D
543
544----------------------------------------
545# ƒXƒ^[ƒgƒAƒbƒvƒ‚ƒWƒ…
546[ƒ‹‚̃IƒuƒWƒFƒNƒgƒtƒ@ƒCƒ‹–¼
547START_OBJS = start.o
548
549# ƒXƒ^[ƒgƒAƒbƒvƒ‚ƒWƒ…
550[ƒ‹‚̃Rƒ“ƒpƒCƒ‹ƒ‹[ƒ‹
551$(START_OBJS): %.o: %.S
552 $(CC) -c $(CFLAGS) $(KERNEL_CFLAGS) $<
553
554# ƒXƒ^[ƒgƒAƒbƒvƒ‚ƒWƒ…
555[ƒ‹‚̈ˑ¶ŠÖŒWì¬ƒ‹[ƒ‹
556$(START_OBJS:.o=.d): %.d: %.S
557 @$(PERL) $(SRCDIR)/utils/makedep -C $(CC) $(MAKEDEP_OPTS) \
558 -O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
559
560# ƒŠƒ“ƒJ‚ɑ΂·‚éƒIƒvƒVƒ‡ƒ“
561LDFLAGS := -nostdlib $(LDFLAGS)
562LIBS := $(LIBS) -lgcc
563----------------------------------------
564
565‚Ü‚½CGNUŠJ”­ŠÂ‹«‚ŁCƒRƒ“ƒpƒCƒ‰‚É•W€‚Ìcrtbegin.o‚Æcrtend.o‚ð—p‚¢‚éê‡
566‚ɂ́CMakefile ‚̃^[ƒQƒbƒgˆË‘¶•”‚ÉŽŸ‚̂悤‚È‹Lq‚ð“ü‚ê‚é‚Æ‚æ‚¢D
567
568----------------------------------------
569# ƒIƒuƒWƒFƒNƒgƒtƒ@ƒCƒ‹–¼
570START_OBJS = $(shell $(CC) -print-file-name=crtbegin.o)
571END_OBJS = $(shell $(CC) -print-file-name=crtend.o)
572
573# ˆË‘¶ŠÖŒWì¬ƒ‹[ƒ‹
574$(START_OBJS:.o=.d): %.d:
575$(END_OBJS:.o=.d): %.d:
576
577# ƒŠƒ“ƒJ‚ɑ΂·‚éƒIƒvƒVƒ‡ƒ“
578LDFLAGS := -nostdlib $(LDFLAGS)
579LIBS := $(LIBS) -lgcc
580----------------------------------------
581
582‚±‚̏ꍇC‚±‚ê‚ç‚̃tƒ@ƒCƒ‹‚ðƒRƒ“ƒpƒCƒ‹‚·‚邱‚Æ‚Í‚È‚¢‚½‚߁CƒRƒ“ƒpƒCƒ‹ƒ‹[
583ƒ‹‚Í•s—v‚Å‚ ‚éD‚Ü‚½CˆË‘¶ŠÖŒWì¬ƒ‹[ƒ‹‚̓_ƒ~[‚Å‚æ‚¢iˆË‘¶ŠÖŒWì¬ƒ‹[
584ƒ‹‚ª‚È‚¢‚ƃGƒ‰[‚É‚È‚éjD
585
586(2-5-6) HIDDEN_OBJS Žw’肵‚È‚­‚Ä‚àƒŠƒ“ƒN‚³‚ê‚郂ƒWƒ…
587[ƒ‹–¼
588
589ƒ[ƒhƒ‚ƒWƒ…
590[ƒ‹‚ɃŠƒ“ƒN‚·‚ׂ«ƒ‚ƒWƒ…
591[ƒ‹‚ðCƒŠƒ“ƒJ‚ɑ΂·‚éƒpƒ‰ƒ[ƒ^‚Å
592‚Í‚È‚­CƒŠƒ“ƒJƒXƒNƒŠƒvƒg’†‚Ɂi—Ⴆ‚΁CGNUŠJ”­ŠÂ‹«‚̃Šƒ“ƒJƒXƒNƒŠƒvƒg‚Ì
593STARTUP‚ðŽg‚Á‚āj‹Lq‚·‚éê‡‚ɂ́C‚»‚̃IƒuƒWƒFƒNƒgƒtƒ@ƒCƒ‹–¼‚ðC
594iSTART_OBJS‚Ü‚½‚ÍEND_OBJS‚Å‚Í‚È‚­jHIDDEN_OBJS‚É’è‹`‚µC‚»‚ê‚ɑ΂·‚éƒR
595ƒ“ƒpƒCƒ‹ƒ‹[ƒ‹‚ƈˑ¶ŠÖŒWì¬ƒ‹[ƒ‹‚ð’è‹`‚·‚éDHIDDEN_OBJS‚É’è‹`‚µ‚½ƒ‚
596ƒWƒ…
597[ƒ‹‚́CƒŠƒ“ƒJ‚ɑ΂·‚éƒpƒ‰ƒ[ƒ^‚©‚ç‚͏œŠO‚³‚ê‚éDLIBS‚ÆLDFLAGS‚É‚Â
598‚¢‚ẮCSTART_OBJS‚Ü‚½‚ÍEND_OBJS‚ð—p‚¢‚éê‡‚Æ“¯—l‚Å‚ ‚éD
599
600—Ⴆ‚΁CƒXƒ^[ƒgƒAƒbƒvƒ‚ƒWƒ…
601[ƒ‹‚̃\[ƒXƒtƒ@ƒCƒ‹‚ªstart.S‚ŁCstart.o‚ð
602ƒŠƒ“ƒN‚·‚邱‚Æ‚ðƒŠƒ“ƒJƒXƒNƒŠƒvƒg’†‚É‹Lq‚·‚éê‡‚ɂ́CMakefile‚̃^[ƒQƒb
603ƒgˆË‘¶•”‚ÉŽŸ‚̂悤‚È‹Lq‚ð“ü‚ê‚é‚Æ‚æ‚¢D
604
605----------------------------------------
606# ƒXƒ^[ƒgƒAƒbƒvƒ‚ƒWƒ…
607[ƒ‹‚̃IƒuƒWƒFƒNƒgƒtƒ@ƒCƒ‹–¼
608HIDDEN_OBJS = start.o
609
610# ƒXƒ^[ƒgƒAƒbƒvƒ‚ƒWƒ…
611[ƒ‹‚̃Rƒ“ƒpƒCƒ‹ƒ‹[ƒ‹
612$(HIDDEN_OBJS): %.o: %.S
613 $(CC) -c $(CFLAGS) $(KERNEL_CFLAGS) $<
614
615# ƒXƒ^[ƒgƒAƒbƒvƒ‚ƒWƒ…
616[ƒ‹‚̈ˑ¶ŠÖŒWì¬ƒ‹[ƒ‹
617$(HIDDEN_OBJS:.o=.d): %.d: %.S
618 @$(PERL) $(SRCDIR)/utils/makedep -C $(CC) $(MAKEDEP_OPTS) \
619 -O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
620
621# ƒŠƒ“ƒJ‚ɑ΂·‚éƒIƒvƒVƒ‡ƒ“
622LDFLAGS := -nostdlib $(LDFLAGS)
623LIBS := $(LIBS) -lgcc
624----------------------------------------
625
6262.6 ˆË‘¶ŠÖŒW‚Ì’è‹`
627
628ƒRƒ“ƒtƒBƒMƒ…
629ƒŒ[ƒ^‚ÌŠeƒpƒX‚ɑ΂µ‚āCƒ^[ƒQƒbƒgˆË‘¶‚̃tƒ@ƒCƒ‹‚ւ̈ˑ¶ŠÖ
630ŒW‚ð’è‹`‚·‚éD‹ï‘Ì“I‚ɂ́CƒpƒX1CƒpƒX2CƒpƒX3‚ªˆË‘¶‚·‚éƒtƒ@ƒCƒ‹‚ðC‚»‚ê
631‚¼‚êcfg1_out.cCkernel_cfg.timestampC$(OBJFILE)‚ɑ΂·‚éˆË‘¶ŠÖŒW‚ÌŒ`‚Å
632‹Lq‚·‚éD
633
634‚Ù‚Æ‚ñ‚ǂ̏ꍇ‚ɁCƒ^[ƒQƒbƒgˆË‘¶•”ƒfƒBƒŒƒNƒgƒŠ‚ÌMakefile.target‚ɂ́CˆÈ
635‰º‚Ì‹Lq‚ðŠÜ‚ß‚é•K—v‚ª‚ ‚éD
636
637----------------------------------------
638cfg1_out.c: $(TARGETDIR)/target_def.csv
639kernel_cfg.timestamp: $(TARGETDIR)/target.tf
640$(OBJFILE): $(TARGETDIR)/target_check.tf
641----------------------------------------
642
6432.7 ‚»‚Ì‘¼‚̐ݒè
644
645(2-7-1) CLEAN_FILES clean‚É‚æ‚èíœ‚·‚éƒtƒ@ƒCƒ‹–¼
646
647clean‚É‚æ‚èíœ‚·‚éƒtƒ@ƒCƒ‹‚ðƒ^[ƒQƒbƒgˆË‘¶•”‚ŒljÁ‚µ‚½‚¢ê‡‚ɂ́Cƒtƒ@
648ƒCƒ‹–¼‚ð‚±‚Ì•Ï”‚ɒljÁ’è‹`‚·‚éD
649
650(2-7-2) REALCLEAN_FILES realclean‚É‚æ‚èíœ‚·‚éƒtƒ@ƒCƒ‹–¼
651
652realclean‚É‚æ‚èíœ‚·‚éƒtƒ@ƒCƒ‹‚ðƒ^[ƒQƒbƒgˆË‘¶•”‚ŒljÁ‚µ‚½‚¢ê‡‚ɂ́C
653ƒtƒ@ƒCƒ‹–¼‚ð‚±‚Ì•Ï”‚ɒljÁ’è‹`‚·‚éD
654
655
6563. TOPPERS‹¤’Ê’è‹`‚̃^[ƒQƒbƒgˆË‘¶•”
657
658TOPPERS‹¤’Ê’è‹`it_stddef.hj‚̃^[ƒQƒbƒgˆË‘¶•”‚́Ctarget_stddef.h‚Ü‚½
659‚Í‚»‚±‚©‚çƒCƒ“ƒNƒ‹[ƒh‚³‚ê‚éƒtƒ@ƒCƒ‹iƒvƒƒZƒbƒTEƒ`ƒbƒvEŠJ”­ŠÂ‹«ˆË‘¶
660•”‚Å—pˆÓ‚³‚ê‚éƒwƒbƒ_ƒtƒ@ƒCƒ‹‚Ȃǁj‚ÉŠÜ‚ß‚éD
661
6623.1 ƒ^[ƒQƒbƒgŽ¯•Êƒ}ƒNƒ
663
664ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚âƒVƒXƒeƒ€ƒT[ƒrƒX‚Ń^[ƒQƒbƒg‚ðŽ¯•Ê‚·‚邽‚߂ɁC
665"TOPPERS_"‚ɃVƒXƒeƒ€—ªÌ‚ð‘啶Žš‚É‚µ‚½•¶Žš—ñ‚ð˜AŒ‹‚µ‚½‚à‚́i—Ⴆ‚΁C
666"TOPPERS_DVE68K"j‚ðƒ}ƒNƒ’è‹`‚·‚éD
667
668‚Ü‚½Cƒ^[ƒQƒbƒgˆË‘¶•”‚©‚çƒvƒƒZƒbƒTˆË‘¶•”‚âƒ`ƒbƒvˆË‘¶•”‚ðØ‚蕪‚¯‚½ê
669‡‚ɂ́C"TOPPERS_"‚Ɉˑ¶•”—ªÌ‚ð‘啶Žš‚É‚µ‚½•¶Žš—ñ‚ð˜AŒ‹‚µ‚½‚à‚́i—Ⴆ
670‚΁C"TOPPERS_M68K"j‚ðƒ}ƒNƒ’è‹`‚·‚éD
671
6723.2 ®”Œ^‚̍őå’lEÅ¬’lEƒrƒbƒg”
673
674(3-2-1) INT_MAX int‚ÉŠi”[‚Å‚«‚éÅ‘å’liC90€‹’j
675(3-2-2) INT_MIN int‚ÉŠi”[‚Å‚«‚éÅ¬’liC90€‹’j
676(3-2-3) UINT_MAX unsigned int‚ÉŠi”[‚Å‚«‚éÅ‘å’liC90€‹’j
677(3-2-4) LONG_MAX long‚ÉŠi”[‚Å‚«‚éÅ‘å’liC90€‹’j
678(3-2-5) LONG_MIN long‚ÉŠi”[‚Å‚«‚éÅ¬’liC90€‹’j
679(3-2-6) ULONG_MAX unsigned long‚ÉŠi”[‚Å‚«‚éÅ‘å’liC90€‹’j
680(3-2-7) CHAR_BIT charŒ^‚̃rƒbƒg”iC90€‹’j
681
682®”Œ^‚̍őå’lEÅ¬’lEƒrƒbƒg”‚ðC‚±‚ê‚ç‚̃Vƒ“ƒ{ƒ‹‚Ƀ}ƒNƒ‚É’è‹`‚·‚éD
683
684‚±‚ê‚ç‚̃}ƒNƒ‚́CC90‚ɏ€‹’‚µ‚½‚à‚Ì‚Å‚ ‚éDŠJ”­ŠÂ‹«‚ÉC90‚ɏ€‹’‚µ‚½
685limits.h‚ª—pˆÓ‚³‚ê‚Ä‚¢‚éê‡‚ɂ́C‚±‚ê‚ç‚̃}ƒNƒ‚ð’è‹`‚·‚邱‚Ƃɑウ‚āC
686limits.h‚ðƒCƒ“ƒNƒ‹[ƒh‚·‚ê‚΂悢D
687
6883.3 ƒTƒCƒY‚ÌŽw’肳‚ꂽ®”Œ^C‚»‚̍őå’lEÅ¬’lC®”’萔‚ðì‚éƒ}ƒNƒ
689
690(3-3-1) int8_t •„†•t‚«8ƒrƒbƒg®”iƒIƒvƒVƒ‡ƒ“CC99€‹’j
691(3-3-2) uint8_t •„†–³‚µ8ƒrƒbƒg®”iƒIƒvƒVƒ‡ƒ“CC99€‹’j
692(3-3-3) int16_t •„†•t‚«16ƒrƒbƒg®”iC99€‹’j
693(3-3-4) uint16_t •„†–³‚µ16ƒrƒbƒg®”iC99€‹’j
694(3-3-5) int32_t •„†•t‚«32ƒrƒbƒg®”iC99€‹’j
695(3-3-6) uint32_t •„†–³‚µ32ƒrƒbƒg®”iC99€‹’j
696(3-3-7) int64_t •„†•t‚«64ƒrƒbƒg®”iƒIƒvƒVƒ‡ƒ“CC99€‹’j
697(3-3-8) uint64_t •„†–³‚µ64ƒrƒbƒg®”iƒIƒvƒVƒ‡ƒ“CC99€‹’j
698(3-3-9) int128_t •„†•t‚«128ƒrƒbƒg®”iƒIƒvƒVƒ‡ƒ“CC99€‹’j
699(3-3-10) uint128_t •„†–³‚µ128ƒrƒbƒg®”iƒIƒvƒVƒ‡ƒ“CC99€‹’j
700(3-3-11) int_least8_t 8ƒrƒbƒgˆÈã‚Ì•„†•t‚«®”iC99€‹’j
701(3-3-12) uint_least8_t 8ƒrƒbƒgˆÈã‚Ì•„†–³‚µ®”iC99€‹’j
702(3-3-13) intptr_t ƒ|ƒCƒ“ƒ^‚ðŠi”[‚Å‚«‚éƒTƒCƒY‚Ì•„†•t‚«®”iC99€‹’j
703(3-3-14) uintptr_t ƒ|ƒCƒ“ƒ^‚ðŠi”[‚Å‚«‚éƒTƒCƒY‚Ì•„†–³‚µ®”iC99€‹’j
704(3-3-15) INT8_MAX int8_t‚ÉŠi”[‚Å‚«‚éÅ‘å’liƒIƒvƒVƒ‡ƒ“CC99€‹’j
705(3-3-16) INT8_MIN int8_t‚ÉŠi”[‚Å‚«‚éÅ¬’liƒIƒvƒVƒ‡ƒ“CC99€‹’j
706(3-3-17) UINT8_MAX uint8_t‚ÉŠi”[‚Å‚«‚éÅ‘å’liƒIƒvƒVƒ‡ƒ“CC99€‹’j
707(3-3-18) INT16_MAX int16_t‚ÉŠi”[‚Å‚«‚éÅ‘å’liC99€‹’j
708(3-3-19) INT16_MIN int16_t‚ÉŠi”[‚Å‚«‚éÅ¬’liC99€‹’j
709(3-3-20) UINT16_MAX uint16_t‚ÉŠi”[‚Å‚«‚éÅ‘å’liC99€‹’j
710(3-3-21) INT32_MAX int32_t‚ÉŠi”[‚Å‚«‚éÅ‘å’liC99€‹’j
711(3-3-22) INT32_MIN int32_t‚ÉŠi”[‚Å‚«‚éÅ¬’liC99€‹’j
712(3-3-23) UINT32_MAX uint32_t‚ÉŠi”[‚Å‚«‚éÅ‘å’liC99€‹’j
713(3-3-24) INT64_MAX int64_t‚ÉŠi”[‚Å‚«‚éÅ‘å’liƒIƒvƒVƒ‡ƒ“CC99€‹’j
714(3-3-25) INT64_MIN int64_t‚ÉŠi”[‚Å‚«‚éÅ¬’liƒIƒvƒVƒ‡ƒ“CC99€‹’j
715(3-3-26) UINT64_MAX uint64_t‚ÉŠi”[‚Å‚«‚éÅ‘å’liƒIƒvƒVƒ‡ƒ“CC99€‹’j
716(3-3-27) INT128_MAX int128_t‚ÉŠi”[‚Å‚«‚éÅ‘å’liƒIƒvƒVƒ‡ƒ“CC99€‹’j
717(3-3-28) INT128_MIN int128_t‚ÉŠi”[‚Å‚«‚éÅ¬’liƒIƒvƒVƒ‡ƒ“CC99€‹’j
718(3-3-29) UINT128_MAX uint128_t‚ÉŠi”[‚Å‚«‚éÅ‘å’liƒIƒvƒVƒ‡ƒ“CC99€‹’j
719(3-3-30) INT_LEAST8_MAX int_least8_t‚ÉŠi”[‚Å‚«‚éÅ‘å’liC99€‹’j
720(3-3-31) INT_LEAST8_MIN int_least8_t‚ÉŠi”[‚Å‚«‚éÅ¬’liC99€‹’j
721(3-3-32) UINT_LEAST8_MAX uint_least8_t‚ÉŠi”[‚Å‚«‚éÅ‘å’liC99€‹’j
722(3-3-33) INT8_C(val) int_least8_tŒ^‚̒萔‚ðì‚éƒ}ƒNƒiC99€‹’j
723(3-3-34) UINT8_C(val) uint_least8_tŒ^‚̒萔‚ðì‚éƒ}ƒNƒiC99€‹’j
724(3-3-35) INT16_C(val) int16_tŒ^‚̒萔‚ðì‚éƒ}ƒNƒiC99€‹’j
725(3-3-36) UINT16_C(val) uint16_tŒ^‚̒萔‚ðì‚éƒ}ƒNƒiC99€‹’j
726(3-3-37) INT32_C(val) int32_tŒ^‚̒萔‚ðì‚éƒ}ƒNƒiC99€‹’j
727(3-3-38) UINT32_C(val) uint32_tŒ^‚̒萔‚ðì‚éƒ}ƒNƒiC99€‹’j
728(3-3-39) INT64_C(val) int64_tŒ^‚̒萔‚ðì‚éƒ}ƒNƒiƒIƒvƒVƒ‡ƒ“CC99€‹’j
729(3-3-40) UINT64_C(val) uint64_tŒ^‚̒萔‚ðì‚éƒ}ƒNƒiƒIƒvƒVƒ‡ƒ“CC99€‹’j
730(3-3-41) INT128_C(val) int128_tŒ^‚̒萔‚ðì‚éƒ}ƒNƒiƒIƒvƒVƒ‡ƒ“CC99€‹’j
731(3-3-42) UINT128_C(val) uint128_tŒ^‚̒萔‚ðì‚éƒ}ƒNƒiƒIƒvƒVƒ‡ƒ“CC99€‹’j
732
733Žw’肳‚ꂽƒTƒCƒY‚̐®”Œ^‚ðC‚±‚ê‚ç‚̃Vƒ“ƒ{ƒ‹‚ÉŒ^’è‹`‚·‚éD‚Ü‚½Cƒf[ƒ^
734Œ^‚ÉŠi”[‚Å‚«‚éÅ‘å’lEÅ¬’l‚ƁC®”’萔‚ðì‚éƒ}ƒNƒ‚ðC‚±‚ê‚ç‚̃Vƒ“ƒ{
735ƒ‹‚Ƀ}ƒNƒ’è‹`‚·‚éD
736
737‚±‚ê‚ç‚̃f[ƒ^Œ^‚¨‚æ‚у}ƒNƒ‚́CC99‚ɏ€‹’‚µ‚½‚à‚Ì‚Å‚ ‚éDŠJ”­ŠÂ‹«‚ÉC99
738‚ɏ€‹’‚µ‚½stdint.h‚ª—pˆÓ‚³‚ê‚Ä‚¢‚éê‡‚ɂ́C‚±‚ê‚ç‚̃f[ƒ^Œ^‚¨‚æ‚у}ƒN
739ƒ‚ð’è‹`‚·‚邱‚Ƃɑウ‚āCstdint.h‚ðƒCƒ“ƒNƒ‹[ƒh‚·‚ê‚΂悢D
740
741ã‚ŃIƒvƒVƒ‡ƒ“‚Æ‹Lq‚µ‚½‚à‚̂́CŠY“–‚·‚éƒf[ƒ^Œ^‚ªƒRƒ“ƒpƒCƒ‰‚ŃTƒ|[ƒg
742‚³‚ê‚Ä‚¢‚éê‡‚É‚Ì‚Ý’è‹`‚·‚邱‚Æ‚ðŽ¦‚·D
743
7443.4 ƒTƒCƒY‚ÌŽw’肳‚ꂽ•‚“®¬”“_Œ^C‚»‚̍őå’lEÅ¬’l‚̃}ƒNƒ
745
746(3-4-1) float32_t IEEE754€‹’‚Ì32ƒrƒbƒg’P¸“x•‚“®¬”“_”iƒIƒv
747 ƒVƒ‡ƒ“j
748(3-4-2) double64_t IEEE754€‹’‚Ì64ƒrƒbƒg”{¸“x•‚“®¬”“_”iƒIƒv
749 ƒVƒ‡ƒ“j
750(3-4-3) FLOAT32_MIN float32_t‚ÉŠi”[‚Å‚«‚éÅ¬‚̐³‹K‰»‚³‚ꂽ³‚Ì•‚
751 “®¬”“_”iƒIƒvƒVƒ‡ƒ“j
752(3-4-4) FLOAT32_MAX float32_t‚ÉŠi”[‚Å‚«‚é•\Œ»‰Â”\‚ȍőå‚Ì—LŒÀ•‚“®
753 ¬”“_”iƒIƒvƒVƒ‡ƒ“j
754(3-4-5) DOUBLE64_MIN double64_t‚ÉŠi”[‚Å‚«‚éÅ¬‚̐³‹K‰»‚³‚ꂽ³‚Ì•‚
755 “®¬”“_”iƒIƒvƒVƒ‡ƒ“j
756(3-4-6) DOUBLE64_MAX double64_t‚ÉŠi”[‚Å‚«‚é•\Œ»‰Â”\‚ȍőå‚Ì—LŒÀ•‚“®
757 ¬”“_”iƒIƒvƒVƒ‡ƒ“j
758
759Žw’肳‚ꂽƒTƒCƒYE•\Œ»Œ`Ž®‚Ì•‚“®¬”“_Œ^‚ðC‚±‚ê‚ç‚̃Vƒ“ƒ{ƒ‹‚ÉŒ^’è‹`‚·
760‚éD‚Ü‚½Cƒf[ƒ^Œ^‚ÉŠi”[‚Å‚«‚éÅ‘å’lEÅ¬’l‚ðC‚±‚ê‚ç‚̃Vƒ“ƒ{ƒ‹‚Ƀ}ƒN
761ƒ’è‹`‚·‚éD
762
763‚¢‚¸‚ê‚àCŠY“–‚·‚éƒf[ƒ^Œ^‚ªƒRƒ“ƒpƒCƒ‰‚ŃTƒ|[ƒg‚³‚ê‚Ä‚¢‚éê‡‚É‚Ì‚Ý’è
764‹`‚·‚éD
765
7663.5 ƒRƒ“ƒpƒCƒ‰‚ÌŠg’£‹@”\‚Ì‚½‚߂̃}ƒNƒ’è‹`
767
768ƒRƒ“ƒpƒCƒ‰‚ÌŠg’£‹@”\‚ð—p‚¢‚邽‚߂̃}ƒNƒ‚Æ‚µ‚āC•K—v‚ɉž‚¶‚āCˆÈ‰º‚̃}
769ƒNƒ‚Ì’è‹`‚ðŠÜ‚ß‚éD
770
771(3-5-1) inlineiƒIƒvƒVƒ‡ƒ“CƒfƒtƒHƒ‹ƒg‚Í–¢’è‹`j
772(3-5-2) InlineiƒIƒvƒVƒ‡ƒ“CƒfƒtƒHƒ‹ƒg‚Ístatic inlinej
773
774ƒCƒ“ƒ‰ƒCƒ“ŠÖ”‚Å‚ ‚邱‚Æ‚ðŽ¦‚·Žw’èDInline‚́CƒRƒ“ƒpƒCƒ‹’PˆÊ‚Ƀ[ƒJƒ‹
775‚ȃCƒ“ƒ‰ƒCƒ“ŠÖ”‚Å‚ ‚邱‚Æ‚ðŽ¦‚·D
776
777(3-5-3) asmiƒIƒvƒVƒ‡ƒ“CƒfƒtƒHƒ‹ƒg‚Í–¢’è‹`j
778(3-5-4) AsmiƒIƒvƒVƒ‡ƒ“CƒfƒtƒHƒ‹ƒg‚Í–¢’è‹`j
779
780ƒCƒ“ƒ‰ƒCƒ“ƒAƒZƒ“ƒuƒ‰‚ð‹Lq‚·‚邽‚ß‚ÌŽw’èDAsm‚́CÅ“K‰»‚É‚æ‚èíœ‚µ‚Ä‚Í
781‚È‚ç‚È‚¢‚±‚Æ‚ðŽ¦‚·D‚±‚ê‚ç‚́Cƒ^[ƒQƒbƒgˆË‘¶•”‚Å‚Ì‚ÝŽg‚¤ƒ}ƒNƒ‚Å‚ ‚邽
782‚߁Cƒ^[ƒQƒbƒgˆË‘¶•”‚ÅŽg‚í‚È‚¢‚È‚ç’è‹`‚·‚é•K—v‚Í‚È‚¢D
783
784(3-5-5) offsetof(structure, field)iƒIƒvƒVƒ‡ƒ“CƒfƒtƒHƒ‹ƒg‚Ì’è‹`‚ ‚èj
785
786\‘¢‘Ìstructure‚Ì’†‚ł́CƒtƒB[ƒ‹ƒhfield‚̃IƒtƒZƒbƒg‚ð‹‚ß‚éƒ}ƒNƒD
787
788(3-5-6) alignof(type)iƒIƒvƒVƒ‡ƒ“CƒfƒtƒHƒ‹ƒg‚Ì’è‹`‚ ‚èj
789
790ƒf[ƒ^Œ^type‚̃Aƒ‰ƒCƒ“ƒƒ“ƒg’PˆÊ‚ð‹‚ß‚éƒ}ƒNƒD
791
792(3-5-7) NoReturniƒIƒvƒVƒ‡ƒ“CƒfƒtƒHƒ‹ƒg‚Í–¢’è‹`j
793
794ƒŠƒ^[ƒ“‚·‚邱‚Æ‚Ì‚È‚¢ŠÖ”‚Å‚ ‚邱‚Æ‚ðŽ¦‚·Žw’èD‚±‚ê‚́Cƒ^[ƒQƒbƒgˆË‘¶
795•”‚Ì‚ÝŽg‚¤ƒ}ƒNƒ‚Å‚ ‚邽‚߁Cƒ^[ƒQƒbƒgˆË‘¶•”‚ÅŽg‚í‚È‚¢‚È‚ç’è‹`‚·‚é•K—v
796‚Í‚È‚¢D
797
7983.6 •W€“I‚È’è‹`‚̏㏑‚«
799
800t_stddef.h‚ÉŠÜ‚Ü‚ê‚éTOPPERS‹¤’Ê’è‹`‚Ì•W€“I‚È’è‹`‚ðã‘‚«‚·‚éê‡‚ɂ́C
801ˆÈ‰º‚̃}ƒNƒ‚ð’è‹`‚·‚éD
802
803(3-6-1) TOPPERS_booliƒIƒvƒVƒ‡ƒ“CƒfƒtƒHƒ‹ƒg‚Íintj
804(3-6-2) TOPPERS_sizeiƒIƒvƒVƒ‡ƒ“CƒfƒtƒHƒ‹ƒg‚Íuintptr_tj
805(3-6-3) TOPPERS_fpiƒIƒvƒVƒ‡ƒ“CƒfƒtƒHƒ‹ƒg‚Í‘¼‚ƌ݊·«‚Ì‚È‚¢ŠÖ”ƒ|ƒCƒ“ƒ^j
806
807‚»‚ꂼ‚êCbool_tCSIZECFP‚ÉŒ^’è‹`‚·‚ׂ«ƒf[ƒ^Œ^D
808
809(3-6-4) UINT_C(val)iƒIƒvƒVƒ‡ƒ“CƒfƒtƒHƒ‹ƒg‚ÍU‚ð•t‰Áj
810(3-6-5) ULONG_C(val)iƒIƒvƒVƒ‡ƒ“CƒfƒtƒHƒ‹ƒg‚ÍUL‚ð•t‰Áj
811
812‚»‚ꂼ‚êCunsigned uintŒ^Cunsigned longŒ^‚̒萔‚ðì‚邽‚߂̃}ƒNƒD
813
814(3-6-6) NULLiƒIƒvƒVƒ‡ƒ“CƒfƒtƒHƒ‹ƒg‚Í0j
815
816C90€‹’‚ÌCŒ¾ŒêŠÂ‹«‚ł́CNULL‚Ì’è‹`‚Ístddef.h‚ÉŠÜ‚Ü‚ê‚Ä‚¢‚邽‚߁C‚±‚ê‚ð
817ƒCƒ“ƒNƒ‹[ƒh‚µ‚Ä‚à‚æ‚¢D
818
819(3-6-7) ERCD(mercd, sercd)iƒIƒvƒVƒ‡ƒ“j
820(3-6-8) MERCD(ercd)iƒIƒvƒVƒ‡ƒ“j
821(3-6-9) SERCD(ercd)iƒIƒvƒVƒ‡ƒ“j
822
823ERCDCMERCDCSERCD‚Ì•W€‚Ì’è‹`‚́C•„†•t‚«®”‚ª2‚̕␔‚Å•\Œ»‚³‚ê‚Ä‚¨‚èC
824‰EƒVƒtƒg‰‰ŽZŽqi>>j‚ªŽZpƒVƒtƒg‚³‚ê‚邱‚Æ‚ð‰¼’è‚µ‚Ä‚¢‚éD‘½‚­‚̃Rƒ“ƒp
825ƒCƒ‰‚Å‚±‚̉¼’肪¬‚è—§‚‚ªC‚»‚¤‚Å‚È‚¢ê‡‚ɂ́Cƒ^[ƒQƒbƒgˆË‘¶•”‚Å‚±‚ê
826‚ç‚Ì’è‹`‚ðã‘‚«‚·‚é•K—v‚ª‚ ‚éD
827
828(3-6-10) ALIGN_TYPE(addr, type)iƒIƒvƒVƒ‡ƒ“j
829
830ƒAƒhƒŒƒXaddr‚ªCƒf[ƒ^Œ^type‚̃Aƒ‰ƒCƒ“ƒƒ“ƒg’PˆÊ‚ɃAƒ‰ƒCƒ“‚µ‚Ä‚¢‚é‚©
831ƒ`ƒFƒbƒN‚·‚éƒ}ƒNƒD
832
8333.7 ƒAƒT[ƒVƒ‡ƒ“‚Ì‚½‚ß‚Ì’è‹`
834
835t_stddef.h‚ɂ́Cassert‚Ì’è‹`‚ªŠÜ‚Ü‚ê‚éDassert‚ªŽ¸”s‚µ‚½ê‡iassert‚Ì
836ƒpƒ‰ƒ[ƒ^‚ªfalse‚É‚È‚Á‚½ê‡j‚̏ˆ—‚ðCƒ^[ƒQƒbƒgˆË‘¶‚É—pˆÓ‚·‚é•K—v‚ª
837‚ ‚éD‚±‚ê‚ç‚Ì’è‹`‚́Cassertƒ}ƒNƒ‚ðŽg—p‚·‚é‘O‚Å‚ ‚ê‚΁Ct_stddef.hˆÈ~
838‚ɃCƒ“ƒNƒ‹[ƒh‚³‚ê‚éƒtƒ@ƒCƒ‹‚ÉŠÜ‚Ü‚ê‚Ä‚¢‚Ä‚à‚æ‚¢D‚È‚¨Cassert‚𖳌ø‚É
839‚·‚éiNDEBUG‚ðƒ}ƒNƒ’è‹`‚µ‚ăRƒ“ƒpƒCƒ‹‚·‚éjê‡‚ɂ́C‚±‚ê‚ç‚ð—pˆÓ‚·‚é
840•K—v‚Í‚È‚¢D
841
842(3-7-1) TOPPERS_assert_abort(void)
843
844assert‚ªŽ¸”s‚µ‚½ê‡‚ɁCƒvƒƒOƒ‰ƒ€‚ð’âŽ~‚³‚¹‚éŠÖ”DƒVƒXƒeƒ€ŠJ”­’†‚̓f
845ƒoƒbƒK‚É—Ž‚Æ‚·‚Ì‚ª—‘z“I‚Å‚ ‚éDƒVƒXƒeƒ€‰Ò“­Žž‚É‚Í—áŠOˆ—‚ðs‚킹‚邱
846‚Æ‚É‚È‚éD
847
848–{ŠÖ”‚𖳌Àƒ‹[ƒv‚ÅŽÀ‘•‚·‚éÛ‚́CˆÈ‰º‚ÌŒ`Ž®‚Æ‚·‚邱‚Æ(TECS‚̃p[ƒT‚Ì
849§ŒÀ‚ɍ‡‚킹‚邽‚߁jD
850
851Inline void
852TOPPERS_assert_abort(void)
853{
854 while(1)
855 {
856 }
857}
858
859(3-7-2) TOPPERS_assert_fail(exp, file, line)
860
861assert‚ªŽ¸”s‚µ‚½Žž‚̏î•ñ‚ð•\Ž¦/‹L˜^‚·‚邽‚߂̃}ƒNƒDƒVƒXƒeƒ€ƒƒO‹@”\‚ð
862—p‚¢‚éê‡‚ɂ́Ct_syslog.h‚ɃVƒXƒeƒ€ƒƒO‹@”\‚É‹L˜^‚·‚邽‚ß‚Ì’è‹`‚ªŠÜ‚Ü
863‚ê‚Ä‚¢‚é‚̂ŁCƒ^[ƒQƒbƒgˆË‘¶•”‚Å—pˆÓ‚·‚é•K—v‚Í‚È‚¢D
864
865
8664. ƒVƒXƒeƒ€ƒCƒ“ƒ^ƒtƒF[ƒXƒŒƒCƒ„iSILj‚̃^[ƒQƒbƒgˆË‘¶•”
867
868ƒVƒXƒeƒ€ƒCƒ“ƒ^ƒtƒF[ƒXƒŒƒCƒ„iSILCsil.hj‚̃^[ƒQƒbƒgˆË‘¶•”‚Ì’è‹`‚́C
869target_sil.h‚Ü‚½‚Í‚»‚±‚©‚çƒCƒ“ƒNƒ‹[ƒh‚³‚ê‚éƒtƒ@ƒCƒ‹iƒvƒƒZƒbƒTEƒ`ƒb
870ƒvEŠJ”­ŠÂ‹«ˆË‘¶•”‚Å—pˆÓ‚³‚ê‚éƒwƒbƒ_ƒtƒ@ƒCƒ‹‚Ȃǁj‚ÉŠÜ‚ß‚éD
871
872SIL‚̃T[ƒrƒXƒR[ƒ‹‚́C”CˆÓ‚̃VƒXƒeƒ€ó‘ԂŌĂяo‚·‚±‚Æ‚ª‚Å‚«‚éD‚»‚Ì‚½
873‚߁CSIL‚̃^[ƒQƒbƒgˆË‘¶•”‚̊֐”‚́C”CˆÓ‚̃VƒXƒeƒ€ó‘ԂŌĂяo‚¹‚é‚悤‚É
874ŽÀ‘•‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢D
875
8764.1 ‘SŠ„ž‚݃ƒbƒNó‘Ô‚ÌŠÇ—
877
878SIL‚̃^[ƒQƒbƒgˆË‘¶•”‚ł́C‘SŠ„ž‚݃ƒbƒNó‘Ô‚Ö‘JˆÚ‚·‚é‹@”\‚ƁCŒ³‚̏ó‘Ô
879‚Ö–ß‚·‹@”\iŒ³‚̏ó‘Ô‚ð‹L‰¯‚·‚邽‚߂ɕϐ”‚ðŽg‚¤j‚ð’ñ‹Ÿ‚·‚éD‘SŠ„ž‚݃ƒb
880ƒNó‘Ô‚Å‚ ‚é‚©‚ð”»•Ê‚·‚é‹@”\‚Í’ñ‹Ÿ‚·‚é•K—v‚ª‚È‚¢D
881
882SIL‚Ì‹@”\‚́CƒJ[ƒlƒ‹‚ðŽg—p‚µ‚È‚¢ê‡‚É‚àŽg—p‚Å‚«‚é•K—v‚ª‚ ‚éD‚»‚Ì‚½‚߁C
883‘SŠ„ž‚݃ƒbƒNó‘Ô‚Ö‚Ì‘JˆÚ‚ÆŒ³‚̏ó‘Ô‚Ö‚Ì•œ‹A‚́CƒJ[ƒlƒ‹‚ð—p‚¢‚¸Cƒvƒ
884ƒZƒbƒT‚̃Šƒ\[ƒX‚𒼐ڑ€ì‚·‚邱‚Æ‚É‚æ‚Á‚ÄŽÀŒ»‚·‚éD‚Ü‚½C‘SŠ„ž‚݃ƒb
885ƒNó‘Ô‚Ö‚Ì‘JˆÚ‚ÆŒ³‚̏ó‘Ô‚Ö‚Ì•œ‹A‚́C‘SŠ„ž‚݃ƒbƒNó‘Ô‚âCPUƒƒbƒNó‘Ô‚Å
886‚às‚¦‚é•K—v‚ª‚ ‚éD
887
888•ÛŒì‹@”\‚ðŽ‚Á‚½ƒJ[ƒlƒ‹‚ł́Cƒ†[ƒUƒ^ƒXƒN‚©‚çƒvƒƒZƒbƒT‚̃Šƒ\[ƒX‚ð’¼
889Ú‘€ì‚·‚邱‚Æ‚ª‚Å‚«‚È‚¢‚½‚߁Cƒ†[ƒUƒ^ƒXƒN‚©‚ç‚Í‚±‚ê‚ç‚Ì‹@”\‚ð—p‚¢‚邱
890‚Æ‚ª‚Å‚«‚È‚¢D—p‚¢‚½ê‡‚̐U•‘‚¢‚̓^[ƒQƒbƒgƒvƒƒZƒbƒT‚Ɉˑ¶‚·‚邪C“T
891Œ^“I‚ɂ́C“ÁŒ –½—߈ᔽ‚È‚Ç‚ÌCPU—áŠO‚ª”­¶‚·‚邱‚Æ‚É‚È‚éD
892
893(4-1-1) SIL_PRE_LOC
894
895‘SŠ„ž‚݃ƒbƒNƒtƒ‰ƒO‚̏ó‘Ô‚ð•Û‘¶‚·‚邽‚߂̕ϐ”‚ð’è‹`‚·‚éƒ}ƒNƒDŒ^–¼‚Ì
896Œã‚ɁC•Ï”–¼‚𑱂¯‚½‚à‚Ì‚É’è‹`‚·‚éD•Ï”–¼‚́C‘¼‚Ì–¼‘O‚ƏՓ˂µ‚È‚¢‚悤
897‚ɁC"TOPPERS_"‚ÅŽn‚Ü‚é–¼‘O‚É‚·‚éD
898
899(4-1-2) SIL_LOC_INT()
900
901Œ»Ý‚Ì‘SŠ„ž‚݃ƒbƒNƒtƒ‰ƒO‚̏ó‘Ô‚ðSIL_PRE_LOC‚Å’è‹`‚µ‚½•Ï”‚É•Û‘¶‚µC‘S
902Š„ž‚݃ƒbƒNó‘Ô‚É‘JˆÚ‚³‚¹‚éƒ}ƒNƒD‚±‚̃}ƒNƒ‚ðŽÀŒ»‚·‚éÛ‚ɂ́Cu1.6
903ƒNƒŠƒeƒBƒJƒ‹ƒZƒNƒVƒ‡ƒ“‚̏o“üˆ—‚ÌŽÀŒ»‚ÉŠÖ‚·‚鐧–ñv‚̐߂ɋLq‚³‚ê‚Ä‚¢
904‚鐧–ñ‚ɏ]‚í‚È‚¯‚ê‚΂Ȃç‚È‚¢D
905
906(4-1-3) SIL_UNL_INT()
907
908SIL_LOC_INT()‚É‚æ‚Á‚ĕϐ”‚É•Û‘¶‚µ‚½ó‘Ô‚É–ß‚·ƒ}ƒNƒD‚±‚̃}ƒNƒ‚ðŽÀŒ»‚·
909‚éÛ‚ɂ́Cu1.6 ƒNƒŠƒeƒBƒJƒ‹ƒZƒNƒVƒ‡ƒ“‚̏o“üˆ—‚ÌŽÀŒ»‚ÉŠÖ‚·‚鐧–ñv‚Ì
910ß‚É‹Lq‚³‚ê‚Ä‚¢‚鐧–ñ‚ɏ]‚í‚È‚¯‚ê‚΂Ȃç‚È‚¢D
911
9124.2 ”÷­ŽžŠÔ‘Ò‚¿
913
914(4-2-1) void sil_dly_nse(ulong_t dlytim)
915
916dlytim‚ÅŽw’肳‚ꂽˆÈã‚ÌŽžŠÔi’PˆÊ‚̓iƒm•bjCƒ‹[ƒv‚È‚Ç‚É‚æ‚Á‚đ҂ŠÖ
917”D
918
919ˆÈ‰º‚̊֐”‚Æ“™‰¿‚ȏˆ—‚ðCƒAƒZƒ“ƒuƒŠŒ¾Œê‚Å‹Lq‚·‚é•û–@‚ðC•W€“I‚ÈŽÀ‘•
920•û–@‚Æ‚·‚éDƒAƒZƒ“ƒuƒŠŒ¾Œê‚Å‹Lq‚·‚é‚̂́CƒRƒ“ƒpƒCƒ‰‚̍œK‰»‚Ɉˑ¶‚µ‚È
921‚¢‚悤‚É‚·‚邽‚ß‚Å‚ ‚éD‚Ü‚½‚±‚̊֐”‚́CƒLƒƒƒbƒVƒ…
922“™‚̉e‹¿‚ðŽó‚¯‚È‚¢‚æ
923‚¤‚ɁC‚Å‚«‚éŒÀ‚胁ƒ‚ƒŠƒAƒNƒZƒX‚ðs‚í‚È‚¢‚悤‚ÉŽÀ‘•‚·‚ׂ«‚Å‚ ‚éD
924
925 void sil_dly_nse(ulong_t dlytim)
926 {
927 dlytim -= SIL_DLY_TIM1;
928 if (Œ‹‰Ê‚ª0‚æ‚è‘å‚«‚¢) {
929 do {
930 dlytim -= SIL_DLY_TIM2;
931 } while (Œ‹‰Ê‚ª0‚æ‚è‘å‚«‚¢);
932 }
933 }
934
935‚±‚̊֐”‚Ì“®ì‚ÍŽŸ‚Ì’Ê‚è‚Å‚ ‚éDdlytim‚ªSIL_DLY_TIM1ˆÈ‰º‚̏ꍇ‚ɂ́CÅ
936‰‚Ìif•¶‚ÌðŒ‚ª¬—§‚¹‚¸C‚·‚®‚Ɋ֐”‚©‚甲‚¯‚éDdlytim‚ªSIL_DLY_TIM1‚æ
937‚è‘å‚«‚­C(SIL_DLY_TIM1+SIL_DLY_TIM2)ˆÈ‰º‚̏ꍇ‚ɂ́CÅ‰‚Ìif•¶‚ÌðŒ‚Í
938¬—§‚·‚邪Cdoƒ‹[ƒv‚Í1‰ñ‚à‰ñ‚炸‚Ɋ֐”‚©‚甲‚¯‚éDdlytim‚ª
939(SIL_DLY_TIM1+SIL_DLY_TIM2)‚æ‚è‘å‚«‚­C(SIL_DLY_TIM1+SIL_DLY_TIM2*2)ˆÈ
940‰º‚̏ꍇ‚ɂ́Cdoƒ‹[ƒv‚ð1‰ñ‚¾‚¯‰ñ‚Á‚Ċ֐”‚©‚甲‚¯‚éD‚»‚ÌŒãCdlytim‚ª
941SIL_DLY_TIM2‘å‚«‚­‚È‚é“x‚ɁCwhileƒ‹[ƒv‚ð‰ñ‚é‰ñ”‚ª1‰ñ‚¸‚‘‚¦‚éD
942
943‚È‚¨C‚±‚̊֐”‚ðƒAƒZƒ“ƒuƒŠŒ¾Œêi‚Ü‚½‚́CCŒ¾Œêj‚Å‹Lq‚·‚éê‡C‚ǂ̃tƒ@
944ƒCƒ‹‚É‹Lq‚·‚é‚©‚ª–â‘è‚É‚È‚éDSIL‚̃^[ƒQƒbƒgˆË‘¶•”‚ɂ́C•W€‚ł́CƒAƒZ
945ƒ“ƒuƒŠŒ¾Œêi‚Ü‚½‚́CCŒ¾Œêj‚̊֐”’è‹`‚ð‹Lq‚·‚邽‚߂̃tƒ@ƒCƒ‹‚ð—pˆÓ‚µ‚Ä
946‚¢‚È‚¢Dƒ^[ƒQƒbƒgˆË‘¶‚Å—pˆÓ‚µ‚Ä‚à‚æ‚¢‚ªC—áŠO“I‚ɁCƒJ[ƒlƒ‹ŽÀ‘•‚̃^[
947ƒQƒbƒgˆË‘¶ƒ‚ƒWƒ…
948[ƒ‹itarget_support.S‚Ü‚½‚Ítarget_config.cj‚É‹Lq‚µ‚Ä
949‚à‚æ‚¢‚±‚Æ‚É‚·‚éD
950
951(4-2-2) SIL_DLY_TIM1iƒIƒvƒVƒ‡ƒ“j
952(4-2-3) SIL_DLY_TIM2iƒIƒvƒVƒ‡ƒ“j
953
954sil_dly_nse‚ðã‹L‚Ì•W€“I‚È•û–@‚ÅŽÀŒ»‚µ‚½ê‡C‚±‚Ì2‚‚̒萔‚ðƒ^[ƒQƒb
955ƒgˆË‘¶•”‚Ń}ƒNƒ’è‹`‚·‚éD
956
957SIL_DLY_TIM2‚́Cã‹L‚̊֐”‚É‚¨‚¢‚āCdoƒ‹[ƒv1‰ñ‚ÌŽÀsŽžŠÔi’PˆÊ‚̓iƒm•bj
958‚ɐݒ肷‚éDƒ^[ƒQƒbƒgƒvƒƒZƒbƒT‚Ì–½—߃Zƒbƒg‚É‚à‚æ‚邪C‚¨‚¨‚æ‚»CŒ¸ŽZ
959–½—ß‚ÆðŒ•ªŠò–½—ߊe1‰ñ‚ÌŽÀsŽžŠÔ‚É‚È‚éDSIL_DLY_TIM2‚ªŒˆ‚Ü‚ê‚΁CŠÖ”ŒÄ
960o‚µ‚àŠÜ‚ß‚½‘S‘Ì‚ÌŽžŠÔ‚ªdlytim‚ÅŽw’肳‚ꂽˆÈã‚ÌŽžŠÔ‚É‚È‚é‚悤‚ɁC
961SIL_DLY_TIM1‚ðŒˆ‚ß‚éD
962
963¦‰º‹L‚Ì“à—e‚́CŒ»Žž“_‚ÅSSPƒJ[ƒlƒ‹‚Å‚Í–¢ƒTƒ|[ƒg‚Å‚ ‚éD
964
965‚±‚Ì2‚‚̒萔’l‚ÌŒˆ’è‚ðŽx‰‡‚·‚éƒvƒƒOƒ‰ƒ€‚Æ‚µ‚āCtestƒfƒBƒŒƒNƒgƒŠ‚ɁC
966test_dlynse‚ð—pˆÓ‚µ‚Ä‚¢‚éDtest_dlynse‚ðŽÀs‚·‚é‚ƁCŽŸ‚̂悤‚ȏo—Í‚ª“¾
967‚ç‚ê‚éD
968
969-- for fitting parameters --
970sil_dly_nse(0): 430 OK
971sil_dly_nse(420): 430 OK
972sil_dly_nse(510): 520 OK
973sil_dly_nse(600): 610 OK
974<’†—ª>
975-- for checking boundary conditions --
976sil_dly_nse(421): 520 OK
977sil_dly_nse(511): 610 OK
978sil_dly_nse(601): 700 OK
979
980"for fitting parameters"‚É‘±‚­o—͂́Csil_dly_nse(dlytim)‚ðŒÄ‚яo‚µ‚½ê
981‡‚Ì‘Ò‚¿ŽžŠÔ‚𑪒肵‚½Œ‹‰Ê‚Å‚ ‚éD‚±‚̃vƒƒOƒ‰ƒ€‚ð—p‚¢‚āC":"‚̉E‘¤‚̐”
982’l‚ªCdlytim‚æ‚è‚à‘å‚«‚¢”͈͂łȂé‚ׂ­‹ß‚¢’l‚É‚È‚é‚悤‚ɁC2‚‚̒萔’l‚ð
983’²®‚·‚éD"for checking boundary conditions"‚É‘±‚­o—͂́CƒvƒƒOƒ‰ƒ€‚Ì
984‘Ó–«‚ðƒ`ƒFƒbƒN‚·‚邽‚ß‚Ì‚à‚̂ŁC":"‚̉E‘¤‚̐”’l‚ªCdlytim‚æ‚è‚à‘å‚«‚¢
985‚±‚Æ‚ðŠm”F‚·‚éi‹ß‚¢’l‚É‚È‚é•K—v‚Í‚È‚¢jD
986
9874.3 ƒvƒƒZƒbƒT‚̃Gƒ“ƒfƒBƒAƒ“
988
989(4-3-1) SIL_ENDIAN_BIG
990(4-3-2) SIL_ENDIAN_LITTLE
991
992ƒvƒƒZƒbƒT‚̃Gƒ“ƒfƒBƒAƒ“‚É‚æ‚èC‚¢‚¸‚ê‚©•Ð•û‚̃Vƒ“ƒ{ƒ‹‚ðƒ}ƒNƒ’è‹`‚·‚éD
993
994(4-3-3) TOPPERS_SIL_REV_ENDIAN_UINT16iƒIƒvƒVƒ‡ƒ“j
995(4-3-4) TOPPERS_SIL_REV_ENDIAN_UINT32iƒIƒvƒVƒ‡ƒ“j
996
997‚»‚ꂼ‚êC16ƒrƒbƒgC32ƒrƒbƒg‚Ì•„†–³‚µ®”‚̃Gƒ“ƒfƒBƒAƒ“‚𔽓]‚³‚¹‚éƒ}
998ƒNƒDƒvƒƒZƒbƒT‚ªƒGƒ“ƒfƒBƒAƒ“”½“]‚Ì‚½‚ß‚Ì–½—ß‚ðŽ‚Âê‡‚ɂ́C‚»‚Ì–½—ß
999‚ð—p‚¢‚ÄŽÀŒ»‚·‚éD‚±‚ê‚ç‚̃Vƒ“ƒ{ƒ‹‚ðƒ}ƒNƒ’è‹`‚µ‚È‚¢ê‡‚ɂ́CƒfƒtƒHƒ‹
1000ƒg‚Ì’è‹`‚ªŽg‚í‚ê‚éD
1001
10024.4 ƒƒ‚ƒŠ‹óŠÔƒAƒNƒZƒXŠÖ”
1003
1004(4-4-1) TOPPERS_OMIT_SIL_ACCESS
1005
1006•W€‚̃ƒ‚ƒŠ‹óŠÔƒAƒNƒZƒXŠÖ”‚ðŽg—p‚¹‚¸Cƒ^[ƒQƒbƒgˆË‘¶•”‚Å—pˆÓ‚·‚éê‡
1007‚ɂ́C‚±‚̃Vƒ“ƒ{ƒ‹‚ðƒ}ƒNƒ’è‹`‚·‚éD
1008
1009(4-4-2) TOPPERS_OMIT_SIL_REH_LEM
1010(4-4-3) TOPPERS_OMIT_SIL_WRH_LEM
1011(4-4-4) TOPPERS_OMIT_SIL_REH_BEM
1012(4-4-5) TOPPERS_OMIT_SIL_WRH_BEM
1013(4-4-6) TOPPERS_OMIT_SIL_REW_LEM
1014(4-4-7) TOPPERS_OMIT_SIL_WRW_LEM
1015(4-4-8) TOPPERS_OMIT_SIL_REW_BEM
1016(4-4-9) TOPPERS_OMIT_SIL_WRW_BEM
1017
1018‚»‚ꂼ‚êC•W€‚Ìsil_reh_lemCsil_wrh_lemCsil_reh_bemCsil_wrh_bemC
1019sil_rew_lemCsil_wrw_lemCsil_rew_bemCsil_wrw_bem‚ðŽg—p‚¹‚¸Cƒ^[ƒQƒb
1020ƒgˆË‘¶•”‚Å—pˆÓ‚·‚éê‡‚ɂ́C‚±‚ê‚ç‚̃Vƒ“ƒ{ƒ‹‚ðƒ}ƒNƒ’è‹`‚·‚éD
1021
10224.5 I/O‹óŠÔƒAƒNƒZƒXŠÖ”
1023
1024ƒƒ‚ƒŠ‹óŠÔ‚Æ‚Í•Ê‚ÉI/O‹óŠÔ‚ðŽ‚ÂƒvƒƒZƒbƒT‚ł́CI/O‹óŠÔ‚É‚ ‚éƒfƒoƒCƒXƒŒ
1025ƒWƒXƒ^‚ðƒAƒNƒZƒX‚·‚邽‚߂̊֐”‚Æ‚µ‚āCsil_reb_iopCsil_wrb_iopC
1026sil_reh_iopCsil_wrh_iopCsil_reh_lepCsil_wrh_lepCsil_reh_bepC
1027sil_wrh_bepCsil_rew_iopCsil_wrw_iopCsil_rew_lepCsil_wrw_lepC
1028sil_rew_bepCsil_wrw_bep‚Ì’†‚Å•K—v‚È‚à‚Ì‚ðCƒ^[ƒQƒbƒgˆË‘¶•”‚Å—pˆÓ‚·‚éD
1029
1030
10315. ƒJ[ƒlƒ‹API‚̃^[ƒQƒbƒgˆË‘¶•”
1032
1033ƒJ[ƒlƒ‹APIikernel.hj‚̃^[ƒQƒbƒgˆË‘¶•”‚Ì’è‹`‚́Ctarget_kernel.h‚Ü‚½
1034‚Í‚»‚±‚©‚çƒCƒ“ƒNƒ‹[ƒh‚³‚ê‚éƒtƒ@ƒCƒ‹iƒvƒƒZƒbƒTEƒ`ƒbƒvEŠJ”­ŠÂ‹«ˆË‘¶
1035•”‚Å—pˆÓ‚³‚ê‚éƒwƒbƒ_ƒtƒ@ƒCƒ‹‚Ȃǁj‚ÉŠÜ‚ß‚éD
1036
10375.1 ƒ^[ƒQƒbƒg’è‹`‚ŃTƒ|[ƒg‚·‚é‹@”\
1038
1039(5-1-1) TOPPERS_TARGET_SUPPORT_DIS_INT dis_int‚ðƒTƒ|[ƒg‚·‚é
1040(5-1-2) TOPPERS_TARGET_SUPPORT_ENA_INT ena_int‚ðƒTƒ|[ƒg‚·‚é
1041
1042dis_intCena_intCƒTƒ|[ƒg‚·‚éê‡‚ɁC‚»‚ꂼ‚ê‚̃Vƒ“ƒ{ƒ‹‚ðƒ}ƒN
1043ƒ’è‹`‚·‚éD
1044
10455.2 Š„ž‚Ý—Dæ“x‚͈̔Í
1046
1047(5-2-1) TMIN_INTPRI Š„ž‚Ý—Dæ“x‚̍ŏ¬’liÅ‚’lj
1048(5-2-2) TMAX_INTPRI Š„ž‚Ý—Dæ“x‚̍őå’liÅ’á’lj
1049
1050‚»‚ꂼ‚êCƒJ[ƒlƒ‹ŠÇ—‚ÌŠ„ž‚Ý—Dæ“x‚̍ŏ¬’li—Dæ“x‚ªÅ‚jCƒJ[ƒl
1051ƒ‹ŠÇ—‚ÌŠ„ž‚Ý—Dæ“x‚̍őå’li—Dæ“x‚ªÅ’áj‚É’è‹`‚·‚éDTMAX_INTPRI‚Í-1
1052‚ɌŒ肳‚ê‚Ä‚¢‚邪C‘Ώ̐«‚Ì‚½‚߂ɁCƒ^[ƒQƒbƒgˆË‘¶•”‚Å’è‹`‚·‚邱‚Æ‚É‚µ
1053‚Ä‚¢‚éD
1054
10555.3 ƒ^ƒCƒ€ƒeƒBƒbƒN‚Ì’è‹`
1056
1057(5-3-1) TIC_NUME ƒ^ƒCƒ€ƒeƒBƒbƒN‚ÌŽüŠú‚Ì•ªŽq
1058(5-3-2) TIC_DENO ƒ^ƒCƒ€ƒeƒBƒbƒN‚ÌŽüŠú‚Ì•ª•ê
1059
1060ƒ^ƒCƒ€ƒeƒBƒbƒN‚ÌŽüŠúisignal_time‚ðŒÄ‚яo‚·ŽüŠúj‚ðCƒ~ƒŠ•b’PˆÊ‚ŁC
1061TIC_NUME/TIC_DENO‚É’è‹`‚·‚éD—Ⴆ‚΁Cƒ^ƒCƒ€ƒeƒBƒbƒN‚ÌŽüŠú‚ª1/30•b‚̏ꍇ
1062‚ɂ́CTIC_NUME‚ð100‚ɁCTIC_DENO‚ð3‚É’è‹`‚·‚ê‚΂悢D
1063
1064ƒ^ƒCƒ€ƒeƒBƒbƒN‚ÌŽüŠú‚́C1ƒ~ƒŠ•b‚Æ‚·‚éi‚‚܂èCTIC_NUMECTIC_DENO‚Æ‚à1
1065‚É’è‹`‚·‚éj‚±‚Ƃ𐄏§‚·‚邪CƒVƒ~ƒ…
1066ƒŒ[ƒVƒ‡ƒ“ŠÂ‹«‚␫”\‚Ì’á‚¢ƒvƒƒZƒb
1067ƒT‚Å‚»‚ꂪ“KØ‚Å‚È‚¢ê‡‚ɂ́C‚»‚êˆÈŠO‚Ì’l‚Æ‚µ‚Ä‚à‚æ‚¢D‚»‚̏ꍇ‚Å‚àC
1068‰Â”\‚ÈŒÀ‚èC1ƒ~ƒŠ•b‚Ì”{”‚Å‚ ‚éi‚‚܂èCTIC_DENO‚ð1‚É’è‹`‚·‚éj‚±‚Æ‚ª
1069–]‚Ü‚µ‚¢D
1070
1071TIC_NUME‚ÆTIC_DENO‚Ì’è‹`‚ð•ÏX‚·‚邱‚ƂŁCƒ^ƒCƒ€ƒeƒBƒbƒN‚ÌŽüŠú‚ð•ÏX‚Å
1072‚«‚é‚悤‚Ƀ^ƒCƒ}ƒhƒ‰ƒCƒo‚ðŽÀ‘•‚·‚éê‡‚ɂ́C‚±‚Ì2‚‚̒萔‚Ì’è‹`‚̓fƒtƒH
1073ƒ‹ƒg’l‚ð—^‚¦‚Ä‚¢‚邱‚Æ‚É‚È‚éD‚»‚±‚ŁC‚±‚ê‚ç‚Ì’è‹`‚ðu#ifndef TIC_NUMEv
1074u#endifv‚ň͂ñ‚Å‹Lq‚·‚éD
1075
10765.4 ƒƒ‚ƒŠ—̈æŠm•Û‚Ì‚½‚ß‚ÌŒ^’è‹`
1077
1078(5-4-1) TOPPERS_STK_T ƒXƒ^ƒbƒN—̈æ‚ðŠm•Û‚·‚邽‚ß‚ÌŒ^iƒIƒvƒVƒ‡ƒ“j
1079
1080ƒXƒ^ƒbƒN—̈æ‚́C•W€‚ł́Cintptr_tŒ^‚Ì”z—ñ‚Æ‚µ‚ÄŠm•Û‚·‚邪C‚æ‚è‘å‚«‚¢’PˆÊ‚Å
1081ƒAƒ‰ƒCƒ“‚³‚¹‚½‚¢‚È‚Ç‚Ì——R‚ŁC‚»‚êˆÈŠO‚ÌŒ^‚Ì”z—ñ‚Æ‚µ‚ÄŠm•Û‚·‚éê‡‚ɂ́C
1082‚»‚ꂼ‚êTOPPERS_STK_T‚Æ‚ðC”z—ñ‚̃x[ƒX‚Æ‚È‚éƒf[ƒ^Œ^‚Ƀ}ƒNƒ’è‹`‚·‚éD
1083
10845.5 ƒƒ‚ƒŠ—̈æŠm•Û‚Ì‚½‚߂̃}ƒNƒ
1085
1086(5-5-1) TOPPERS_ROUND_SZiƒIƒvƒVƒ‡ƒ“j
1087(5-5-2) TOPPERS_COUNT_SZiƒIƒvƒVƒ‡ƒ“j
1088
1089TOPPERS_COUNT_SZ(sz, unit)‚́Csz/unit‚ðØ‚èã‚°‚½’l‚ð‹‚ß‚éƒ}ƒNƒ‚ŁCƒT
1090ƒCƒY‚ªsz‚̃ƒ‚ƒŠ—̈æ‚ðƒTƒCƒY‚ªunit‚̃f[ƒ^Œ^‚Ì”z—ñ‚ÅŠm•Û‚·‚éê‡‚Ì—v‘f
1091”‚ð‹‚ß‚é‚½‚ß‚É—p‚¢‚éDTOPPERS_ROUND_SZ(sz, unit)‚́Csz/unit‚ðØ‚èã‚°
1092‚½‚à‚Ì‚Éunit‚ð‚©‚¯‚½’l‚ð‹‚ß‚éƒ}ƒNƒ‚ŁCƒTƒCƒY‚ªsz‚̃ƒ‚ƒŠ—̈æ‚ðƒTƒCƒY
1093‚ªunit‚̃f[ƒ^Œ^‚Ì”z—ñ‚ÅŠm•Û‚·‚éê‡‚̃g[ƒ^ƒ‹ƒTƒCƒY‚ð‹‚ß‚é‚½‚ß‚É—p‚¢
1094‚éD
1095
1096‚»‚ꂼ‚êC•W€‚ÌTOPPERS_ROUND_SZCTOPPERS_COUNT_SZ‚ª“KØ‚Å‚È‚­Cƒ^[ƒQƒb
1097ƒgˆË‘¶•”‚Å—pˆÓ‚·‚éê‡‚ɂ́C‚±‚ê‚ç‚̃Vƒ“ƒ{ƒ‹‚ð“KØ‚È’l‚Ƀ}ƒNƒ’è‹`‚·‚éD
1098
10996. ƒJ[ƒlƒ‹ŽÀ‘•‚̃^[ƒQƒbƒgˆË‘¶•”
1100
11016.1 ƒJ[ƒlƒ‹ŽÀ‘•‚̃^[ƒQƒbƒgˆË‘¶•”‚Ì‹¤’ÊŽ–€
1102
11036.1.1 ƒJ[ƒlƒ‹ŽÀ‘•‚̃^[ƒQƒbƒgˆË‘¶•”‚̍\¬—v‘f
1104
1105ƒJ[ƒlƒ‹ŽÀ‘•‚̃^[ƒQƒbƒgˆË‘¶•”‚́CˆÈ‰º‚Ì—v‘f‚ō\¬‚³‚ê‚éD
1106
1107(a) ƒJ[ƒlƒ‹ŽÀ‘•‚̃^[ƒQƒbƒgˆË‘¶‚Ì’è‹`
1108
1109ƒJ[ƒlƒ‹ŽÀ‘•‚̃^[ƒQƒbƒg”ñˆË‘¶•”‚©‚çŽQÆ‚³‚ê‚éƒ^[ƒQƒbƒgˆË‘¶‚Ì’è‹`‚́C
1110target_config.h‚Ü‚½‚Í‚»‚±‚©‚çƒCƒ“ƒNƒ‹[ƒh‚³‚ê‚éƒtƒ@ƒCƒ‹iƒvƒƒZƒbƒTEƒ`ƒb
1111ƒvEŠJ”­ŠÂ‹«ˆË‘¶•”‚Å—pˆÓ‚³‚ê‚éƒwƒbƒ_ƒtƒ@ƒCƒ‹‚Ȃǁj‚ÉŠÜ‚ß‚éD
1112
1113ƒ^[ƒQƒbƒg‚̃n[ƒhƒEƒFƒAŽ‘Œ¹iŠ„ž‚݃nƒ“ƒhƒ‰”ԍ†‚âCPU—áŠOƒnƒ“ƒhƒ‰”ԍ†C
1114ƒfƒoƒCƒXƒŒƒWƒXƒ^‚̔Ԓn‚Ȃǁj‚Ì’è‹`‚́CƒVƒXƒeƒ€ƒT[ƒrƒX‚âƒAƒvƒŠƒP[ƒVƒ‡
1115ƒ“‚É‚à—L—p‚Å‚ ‚邽‚߁CƒJ[ƒlƒ‹ŽÀ‘•‚Ì‚Ý‚É—L—p‚È’è‹`‚ðŠÜ‚Þƒtƒ@ƒCƒ‹‚Ƃ͐Ø
1116‚蕪‚¯‚āC“Æ—§‚µ‚½ƒwƒbƒ_ƒtƒ@ƒCƒ‹‚ÉŠÜ‚ß‚éD‚±‚̃wƒbƒ_ƒtƒ@ƒCƒ‹‚Ì•W€“I‚È
1117–¼Ì‚ðCƒVƒXƒeƒ€—ªÌ.hi‚Ü‚½‚́Cƒ`ƒbƒv—ªÌ.hCƒvƒƒZƒbƒT—ªÌ.hj‚Æ‚·‚éD
1118
1119(b) ƒJ[ƒlƒ‹ŽÀ‘•‚̃^[ƒQƒbƒgˆË‘¶ƒ‚ƒWƒ…
1120[ƒ‹
1121
1122ƒJ[ƒlƒ‹ŽÀ‘•‚̃^[ƒQƒbƒgˆË‘¶‚̕ϐ”’è‹`‚âŠÖ”‚ðŠÜ‚Þƒ‚ƒWƒ…
1123[ƒ‹DCŒ¾Œê‚Å‹L
1124q‚³‚ê‚é•”•ª‚ðtarget_config.cCƒAƒZƒ“ƒuƒŠŒ¾Œê‚Å‹Lq‚³‚ê‚é•”•ª‚ð
1125target_support.S‚ÉŠÜ‚ß‚éDƒvƒƒZƒbƒTEƒ`ƒbƒvEŠJ”­ŠÂ‹«ˆË‘¶•”‚ðØ‚蕪‚¯
1126‚邱‚Æ‚âCƒtƒ@ƒCƒ‹‚ª‘å‚«‚­‚È‚éê‡‚É•¡”‚̃tƒ@ƒCƒ‹‚É•ªŠ„‚·‚邱‚Æ‚à‰Â”\
1127‚Å‚ ‚éD
1128
1129(c) ƒJ[ƒlƒ‹ŽÀ‘•‚̃^[ƒQƒbƒgˆË‘¶•”‚Ì‚½‚߂̃Šƒl[ƒ€‹Lq
1130
1131ƒJ[ƒlƒ‹ŽÀ‘•‚̃^[ƒQƒbƒgˆË‘¶•”‚̕ϐ”–¼‚âŠÖ”–¼‚ðCæ“ª‚É_kernel_‚ð•t—^
1132‚µ‚½–¼‘O‚ɃŠƒl[ƒ€‚·‚邽‚߂̃‚ƒWƒ…
1133[ƒ‹Dtarget_rename.def‚ð—pˆÓ‚µCƒc[
1134ƒ‹iutils/genrenamej‚É‚æ‚èCtarget_rename.h‚Ætarget_unrename.h‚𐶐¬‚·
1135‚éDƒvƒƒZƒbƒTEƒ`ƒbƒvEŠJ”­ŠÂ‹«ˆË‘¶•”‚ðØ‚蕪‚¯‚éê‡‚ɂ́CƒŠƒl[ƒ€‹L
1136q‚àØ‚蕪‚¯‚éD
1137
1138¦
1139(d) ƒ^ƒCƒ}ƒhƒ‰ƒCƒo
1140
1141ƒJ[ƒlƒ‹‚Ƀ^ƒCƒ€ƒeƒBƒbƒN‚ð’Ê’m‚·‚éisignal_time‚ðŽüŠú“I‚ɌĂяo‚·j‚½‚ß
1142‚̃^ƒCƒ}ƒhƒ‰ƒCƒo‚̃wƒbƒ_ƒtƒ@ƒCƒ‹CŽÀ‘•ƒtƒ@ƒCƒ‹CƒVƒXƒeƒ€ƒRƒ“ƒtƒBƒMƒ…
1143ƒŒ[
1144ƒVƒ‡ƒ“ƒtƒ@ƒCƒ‹‚ðC‚»‚ꂼ‚êCtarget_timer.hCtarget_timer.cC
1145target_timer.cfg‚ÉŠÜ‚ß‚éDƒvƒƒZƒbƒTEƒ`ƒbƒvEŠJ”­ŠÂ‹«ˆË‘¶•”‚ðØ‚蕪‚¯
1146‚邱‚Æ‚à‰Â”\‚Å‚ ‚éD
1147
1148(e) ƒRƒ“ƒtƒBƒMƒ…
1149ƒŒ[ƒ^Ý’èƒtƒ@ƒCƒ‹
1150
1151ƒRƒ“ƒtƒBƒMƒ…
1152ƒŒ[ƒ^‚̐ݒèƒtƒ@ƒCƒ‹‚̃^[ƒQƒbƒgˆË‘¶•”‚ðCtarget_def.csvC
1153target.tfCtarget_check.tf‚É—pˆÓ‚·‚éDƒRƒ“ƒtƒBƒMƒ…
1154ƒŒ[ƒ^Ý’èƒtƒ@ƒCƒ‹‚Ì
1155‹Lq•û–@‚ɂ‚¢‚ẮC‚VÍ‚Åà–¾‚·‚éD
1156
11576.1.2 ƒ^[ƒQƒbƒgˆË‘¶•”‚̊֐”‚Ì–½–¼‹K‘¥
1158
1159ƒJ[ƒlƒ‹ŽÀ‘•‚̃^[ƒQƒbƒgˆË‘¶•”‚ð\¬‚·‚éŠÖ”‚Ì’†‚ŁCt_‚ÅŽn‚Ü‚é‚à‚̂̓^
1160ƒXƒNƒRƒ“ƒeƒLƒXƒgê—pCi_‚ÅŽn‚Ü‚é‚à‚Ì‚Í”ñƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒgê—pCx_‚ÅŽn
1161‚Ü‚é‚à‚Ì‚Í‚¢‚¸‚ê‚̃Rƒ“ƒeƒLƒXƒg‚©‚ç‚Å‚àŒÄ‚яo‚·‚±‚Æ‚ª‚Å‚«‚éŠÖ”‚Å‚ ‚éD
1162
11636.2 ƒgƒŒ[ƒXƒƒO‹@”\‚ւ̑Ήž
1164
1165ƒJ[ƒlƒ‹‚̃gƒŒ[ƒXƒƒO‹@”\‚Ì’†‚ŁCŠ„ž‚݃nƒ“ƒhƒ‰CCPU—áŠOƒnƒ“ƒhƒ‰‚ÌŠJŽn
1166EI—¹‚̃gƒŒ[ƒXƒƒOŽæ“¾‚́Cƒ^[ƒQƒbƒgˆË‘¶•”‚ÅŽÀ‘•‚·‚é•K—v‚ª‚ ‚éD‚Ù‚Æ‚ñ
1167‚ǂ̃^[ƒQƒbƒgƒVƒXƒeƒ€‚É‚¨‚¢‚āC‚»‚ê‚ç‚̏ˆ—‚̓AƒZƒ“ƒuƒŠŒ¾Œê‚Å‹Lq‚³‚ê‚Ä
1168‚¨‚èCƒ^[ƒQƒbƒg”ñˆË‘¶•”Œü‚¯‚̃gƒŒ[ƒXƒƒOƒ}ƒNƒ‚Æ“¯‚¶•û–@iƒgƒŒ[ƒXƒƒO
1169ƒ}ƒNƒ‚ðCƒgƒŒ[ƒXƒƒOŽæ“¾ˆ—‚ÌCŒ¾Œê‹Lq‚Ƀ}ƒNƒ’è‹`‚·‚é•û–@j‚́C—p‚¢
1170‚邱‚Æ‚ª‚Å‚«‚È‚¢D
1171
1172‚»‚±‚ŁCƒAƒZƒ“ƒuƒŠŒ¾Œê‚Å‹Lq‚³‚ê‚Ä‚¢‚鏈—’†‚ɃgƒŒ[ƒXƒƒOŽæ“¾‚𖄂ߍž
1173‚ޏꍇ‚ɂ́CƒgƒŒ[ƒXƒƒOƒ}ƒNƒ‚ª’è‹`‚³‚ê‚Ä‚¢‚ê‚΁C‚»‚ꂪ‰½‚É’è‹`‚³‚ê‚Ä
1174‚¢‚é‚©‚Í–³Ž‹‚µ‚āC•W€“I‚ȃgƒŒ[ƒXƒƒOŠÖ”‚ªCŒ¾Œê‚Å‹Lq‚³‚ê‚Ä‚¢‚é‚Æ‘z’è
1175‚µ‚āC‚»‚ê‚ðŒÄ‚яo‚·‚悤‚ɃR[ƒfƒBƒ“ƒO‚·‚éD
1176
1177‹ï‘Ì“I‚ɂ́C‰º‚Ì•\‚̍¶‘¤‚ÉŽ¦‚µ‚½ƒgƒŒ[ƒXƒƒOƒ}ƒNƒ‚ª’è‹`‚³‚ê‚Ä‚¢‚ê‚΁C
1178•\‚̉E‘¤‚ÉŽ¦‚µ‚½CŒ¾Œê‹Lq‚Æ“¯“™‚̏ˆ—‚ðs‚¤‚悤‚ɃR[ƒfƒBƒ“ƒO‚·‚éD
1179
1180 ƒgƒŒ[ƒXƒƒOƒ}ƒNƒ ƒgƒŒ[ƒXƒƒOŽæ“¾ˆ—
1181 -----------------------------------------------
1182 LOG_INH_ENTER log_inh_enter(inhno)
1183 LOG_INH_LEAVE log_inh_leave(inhno)
1184 LOG_EXC_ENTER log_exc_enter(excno)
1185 LOG_EXC_LEAVE log_exc_leave(excno)
1186
11876.3 ƒVƒXƒeƒ€ó‘Ô‚ÌŠÇ—
1188
1189SSPƒJ[ƒlƒ‹‚ðV‚½‚ȃ^[ƒQƒbƒgƒVƒXƒeƒ€‚Ƀ|[ƒeƒBƒ“ƒO‚·‚éÛ‚ɁCÅ‚àd—v‚È
1190ì‹Æ‚́CƒJ[ƒlƒ‹‚ª’è‹`‚·‚éƒVƒXƒeƒ€ó‘Ô‚ðCƒn[ƒhƒEƒFƒAiƒvƒƒZƒbƒTjã
1191‚łǂ̂悤‚ÉŽÀŒ»‚·‚é‚©‚Å‚ ‚éDˆÈ‰º‚Ìà–¾‚́CTOPPERSV¢‘ãƒJ[ƒlƒ‹‚É‚¨‚¯
1192‚éƒVƒXƒeƒ€ó‘Ô‚Ì’è‹`EˆÓ–¡‚ð’m‚Á‚Ä‚¢‚邱‚Æ‚ð‘O’ñ‚É‹Lq‚µ‚Ä‚¢‚éD
1193
11946.3.1 ‘SŠ„ž‚݃ƒbƒNó‘Ô‚ÌŠÇ—
1195
1196‘SŠ„ž‚݃ƒbƒNó‘Ԃ́CNMI‚ðœ‚­‚·‚ׂĂ̊„ž‚Ý‚ðƒ}ƒXƒN‚µ‚½ó‘Ô‚Å‚ ‚éD‘S
1197Š„ž‚݃ƒbƒNó‘Ô‚ðŠÇ—‚·‚é‹@”\‚́CƒVƒXƒeƒ€ƒCƒ“ƒ^ƒtƒF[ƒXƒŒƒCƒ„iSILj‚É
1198‚æ‚Á‚Ä’ñ‹Ÿ‚³‚êCƒJ[ƒlƒ‹‚Í‘SŠ„ž‚݃ƒbƒNó‘Ô‚ðŠÇ—‚µ‚È‚¢D
1199
1200‘SŠ„ž‚݃ƒbƒNó‘Ԃł́Csns_ker‚Æext_kerˆÈŠO‚̃J[ƒlƒ‹‚̃T[ƒrƒXƒR[ƒ‹
1201‚ðŒÄ‚Ô‚±‚Æ‚Í‚Å‚«‚È‚¢‚à‚Ì‚Æ‚µ‚Ä‚¨‚èCŒÄ‚ñ‚¾ê‡‚ɂ͉½‚ª‹N‚±‚é‚©•ÛØ‚µ‚Ä
1202‚¢‚È‚¢Dsns_ker‚Æext_ker‚©‚çŒÄ‚яo‚·ˆ—‚́CƒgƒŒ[ƒXƒƒOŽæ“¾ˆ—‚ÆSIL‚Ì
1203ƒT[ƒrƒXƒR[ƒ‹‚ðœ‚­‚ƁCcall_exit_kernel‚Ì‚Ý‚Å‚ ‚éD‚»‚Ì‚½‚߁C
1204call_exit_kernel‚©‚çŒÄ‚яo‚·‚à‚Ì‚ðœ‚¢‚āCƒJ[ƒlƒ‹‚̃^[ƒQƒbƒgˆË‘¶•”‚Ì
1205ŠÖ”‚ªC‘SŠ„ž‚݃ƒbƒNó‘ԂŌĂяo‚³‚ê‚éó‹µ‚͍l‚¦‚é•K—v‚ª‚È‚¢D
1206
12076.3.2 ƒRƒ“ƒeƒLƒXƒg‚ÌŠÇ—
1208
1209ˆ—’PˆÊ‚ªŽÀs‚³‚ê‚éƒRƒ“ƒeƒLƒXƒg‚́Cƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg‚Æ”ñƒ^ƒXƒNƒRƒ“ƒe
1210ƒLƒXƒg‚É•ª—Þ‚³‚ê‚éD
1211
1212ƒ^[ƒQƒbƒgˆË‘¶•”‚́CŽÀs’†‚̏ˆ—’PˆÊ‚ªCƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg‚ÅŽÀs‚³‚ê‚Ä
1213‚¢‚é‚©”ñƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg‚ÅŽÀs‚³‚ê‚Ä‚¢‚é‚©‚ð”»•Ê‚·‚é‹@”\‚ð’ñ‹Ÿ‚·‚éD
1214‚Ü‚½CCPU—áŠO‚ª”­¶‚µ‚½ƒRƒ“ƒeƒLƒXƒg‚ɂ‚¢‚Ä”»•Ê‚·‚é‹@”\‚ð’ñ‹Ÿ‚·‚éD
1215
1216ƒ^[ƒQƒbƒgˆË‘¶•”‚ł́CŠ„ž‚݃nƒ“ƒhƒ‰‚ÆCPU—áŠOƒnƒ“ƒhƒ‰‚Ì“üŒûˆ—‚Å”ñƒ^ƒX
1217ƒNƒRƒ“ƒeƒLƒXƒg‚ɐ؂芷‚¦C‚»‚ê‚ç‚̏oŒûˆ—‚ÅŒ³‚̃Rƒ“ƒeƒLƒXƒg‚É–ß‚·D‚Ü
1218‚½CƒfƒBƒXƒpƒbƒ`ƒƒ‚Ì“à•”‚ňꎞ“I‚É”ñƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg‚ɐ؂芷‚¦‚éD
1219
1220(6-3-2-1) bool_t sense_context(void)
1221
1222ŽÀs’†‚̏ˆ—’PˆÊ‚ªCƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg‚ÅŽÀs‚³‚ê‚Ä‚¢‚éê‡‚É‚ÍfalseC”ñ
1223ƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg‚ÅŽÀs‚³‚ê‚Ä‚¢‚éê‡‚É‚Ítrue‚ð•Ô‚·ŠÖ”D‚±‚̊֐”‚́C
1224CPUƒƒbƒNó‘Ô‚Å‚àCPUƒƒbƒN‰ðœó‘Ô‚Å‚àŒÄ‚яo‚¹‚é‚悤‚ÉŽÀ‘•‚µ‚È‚¯‚ê‚΂È
1225‚ç‚È‚¢D
1226
12276.3.3 CPUƒƒbƒNó‘Ô‚ÌŠÇ—
1228
1229ƒ^[ƒQƒbƒgˆË‘¶•”‚́CCPUƒƒbƒNó‘Ô‚Ö‘JˆÚ‚·‚é‹@”\CCPUƒƒbƒN‰ðœó‘Ô‚Ö‘J
1230ˆÚ‚·‚é‹@”\CCPUƒƒbƒNó‘Ô‚Å‚ ‚é‚©‚ð”»•Ê‚·‚é‹@”\‚ð’ñ‹Ÿ‚·‚éD
1231
1232(6-3-3-1) void t_lock_cpu(void)
1233(6-3-3-2) void i_lock_cpu(void)
1234(6-3-3-3) void x_lock_cpu(void)
1235
1236CPUƒƒbƒN‰ðœó‘Ô‚©‚çCCPUƒƒbƒNó‘Ô‚Ö‘JˆÚ‚³‚¹‚éŠÖ”D‚±‚ê‚ç‚̊֐”‚́C
1237CPUƒƒbƒNó‘ԂŌĂяo‚³‚ê‚邱‚Æ‚Í‚È‚­CŒÄ‚яo‚³‚ꂽê‡‚Ì“®ì‚͕ۏ؂·‚é
1238•K—v‚ª‚È‚¢D
1239
1240‚±‚ê‚ç‚̊֐”‚ðŽÀŒ»‚·‚éÛ‚ɂ́Cu1.6 ƒNƒŠƒeƒBƒJƒ‹ƒZƒNƒVƒ‡ƒ“‚̏o“üˆ—‚Ì
1241ŽÀŒ»‚ÉŠÖ‚·‚鐧–ñv‚̐߂ɋLq‚³‚ê‚Ä‚¢‚鐧–ñ‚ɏ]‚í‚È‚¯‚ê‚΂Ȃç‚È‚¢D
1242
1243(6-3-3-4) void t_unlock_cpu(void)
1244(6-3-3-5) void i_unlock_cpu(void)
1245(6-3-3-6) void x_unlock_cpu(void)
1246
1247CPUƒƒbƒNó‘Ô‚©‚çCCPUƒƒbƒN‰ðœó‘Ô‚Ö‘JˆÚ‚³‚¹‚éŠÖ”D‚±‚ê‚ç‚̊֐”‚́C
1248CPUƒƒbƒN‰ðœó‘ԂŌĂяo‚³‚ê‚邱‚Æ‚Í‚È‚­CŒÄ‚яo‚³‚ꂽê‡‚Ì“®ì‚͕ۏØ
1249‚·‚é•K—v‚ª‚È‚¢D
1250
1251ƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg‚ÅCPUƒƒbƒNó‘Ô‚É‘JˆÚ‚µ‚½ê‡‚ɂ́CCPUƒƒbƒN‰ðœó‘Ô
1252‚É–ß‚é‚̂̓^ƒXƒNƒRƒ“ƒeƒLƒXƒg‚ÉŒÀ‚ç‚êC”ñƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg‚ÅCPUƒƒbƒN‰ð
1253œó‘Ԃɖ߂邱‚Æ‚Í‚È‚¢DŒ¾‚¢Š·‚¦‚é‚ƁCt_unlock_cpu‚ªŒÄ‚яo‚³‚ê‚é‚̂́C
1254t_lock_cpu‚É‚æ‚Á‚ÄCPUƒƒbƒNó‘Ô‚É‚È‚Á‚Ä‚¢‚鎞‚Å‚ ‚éDi_lock_cpu‚É‚æ‚Á‚Ä
1255CPUƒƒbƒNó‘Ô‚É‚È‚Á‚Ä‚¢‚鎞‚ɂ́Ct_unlock_cpu‚ªŒÄ‚яo‚³‚ê‚邱‚Æ‚Í‚È‚¢D
1256
1257“¯—l‚ɁC”ñƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg‚ÅCPUƒƒbƒNó‘Ô‚É‘JˆÚ‚µ‚½ê‡‚ɂ́CCPUƒƒb
1258ƒN‰ðœó‘Ô‚É–ß‚é‚Ì‚Í”ñƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg‚ÉŒÀ‚ç‚êCƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg‚Å
1259CPUƒƒbƒN‰ðœó‘Ԃɖ߂邱‚Æ‚Í‚È‚¢DŒ¾‚¢Š·‚¦‚é‚ƁCi_unlock_cpu‚ªŒÄ‚яo‚³
1260‚ê‚é‚̂́Ci_lock_cpu‚É‚æ‚Á‚ÄCPUƒƒbƒNó‘Ô‚É‚È‚Á‚Ä‚¢‚鎞‚Å‚ ‚éD
1261t_lock_cpu‚É‚æ‚Á‚ÄCPUƒƒbƒNó‘Ô‚É‚È‚Á‚Ä‚¢‚鎞‚ɂ́Ci_unlock_cpu‚ªŒÄ‚яo
1262‚³‚ê‚邱‚Æ‚Í‚È‚¢D
1263
1264‚±‚ê‚ç‚̊֐”‚ðŽÀŒ»‚·‚éÛ‚ɂ́Cu1.6 ƒNƒŠƒeƒBƒJƒ‹ƒZƒNƒVƒ‡ƒ“‚̏o“üˆ—‚Ì
1265ŽÀŒ»‚ÉŠÖ‚·‚鐧–ñv‚̐߂ɋLq‚³‚ê‚Ä‚¢‚鐧–ñ‚ɏ]‚í‚È‚¯‚ê‚΂Ȃç‚È‚¢D
1266
1267(6-3-3-7) bool_t t_sense_lock(void)
1268(6-3-3-8) bool_t i_sense_lock(void)
1269(6-3-3-9) bool_t x_sense_lock(void)
1270
1271Œ»Ý‚̃VƒXƒeƒ€ó‘Ô‚ªCCPUƒƒbƒNó‘Ԃ̏ꍇ‚ÍtrueCCPUƒƒbƒN‰ðœó‘Ԃ̏ê
1272‡‚É‚Ífalse‚ð•Ô‚·ŠÖ”D
1273
1274‚±‚ê‚ç‚̊֐”‚ª‘SŠ„ž‚݃ƒbƒNó‘ԂŌĂяo‚³‚ê‚éó‹µ‚͍l‚¦‚é•K—v‚ª‚È‚¢‚±
1275‚Æ‚©‚çC‘SŠ„ž‚݃ƒbƒNó‘Ô‚ÆCPUƒƒbƒNó‘Ô‚ð‹æ•Ê‚Å‚«‚é•K—v‚Í‚È‚¢DNMIˆÈ
1276ŠO‚ɃJ[ƒlƒ‹‚ÌŠÇ—ŠO‚ÌŠ„ž‚Ý‚ðÝ‚¯‚È‚¢ê‡‚ɂ́C‘SŠ„ž‚݃ƒbƒNó‘Ô‚Æ
1277CPUƒƒbƒNó‘Ô‚ª‘S‚­“¯ˆê‚̏ó‘Ô‚Å‚à‚©‚Ü‚í‚È‚¢D
1278
12796.4 Š„ž‚Ý‚ÉŠÖ˜A‚·‚éƒVƒXƒeƒ€ó‘Ô‚ÌŠÇ—
1280
12816.4.1 Š„ž‚Ý—Dæ“xƒ}ƒXƒN‚ÌŠÇ—
1282
1283ƒ^[ƒQƒbƒgˆË‘¶•”‚́CŠ„ž‚Ý—Dæ“xƒ}ƒXƒN‚ðÝ’è‚·‚é‹@”\‚ƁCŠ„ž‚Ý—Dæ“xƒ}
1284ƒXƒN‚ðŽQÆ‚·‚é‹@”\‚ð’ñ‹Ÿ‚·‚éD
1285
1286(6-4-1-1) void x_set_ipm(PRI intpri)
1287(6-4-1-2) void t_set_ipm(PRI intpri)
1288(6-4-1-3) void i_set_ipm(PRI intpri)
1289
1290Š„ž‚Ý—Dæ“xƒ}ƒXƒN‚Ì’l‚ðintpri‚ɐݒ肷‚éŠÖ”D
1291
1292‚±‚ê‚ç‚̊֐”‚́CCPUƒƒbƒNó‘Ô‚Å‚àCPUƒƒbƒN‰ðœó‘Ô‚Å‚àŒÄ‚яo‚¹‚é‚悤‚É
1293ŽÀ‘•‚·‚é‚Ì‚ª–]‚Ü‚µ‚¢D‚½‚¾‚µCx_set_ipm‚Æt_set_ipm‚́Cƒ^[ƒQƒbƒg”ñˆË‘¶
1294•”‚ªCPUƒƒbƒN‰ðœó‘ԂŌĂяo‚·‚±‚Æ‚Í‚È‚¢‚½‚߁CCPUƒƒbƒN‰ðœó‘ԂŌĂÑ
1295o‚³‚ꂽê‡‚Ì“®ì‚͕ۏ؂·‚é•K—v‚ª‚È‚¢Di_set_ipm‚́CCPUƒƒbƒNó‘Ô‚Å‚à
1296CPUƒƒbƒN‰ðœó‘Ô‚Å‚àŒÄ‚яo‚¹‚é‚悤‚ÉŽÀ‘•‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢D
1297
1298‚Ü‚½C‚±‚ê‚ç‚̊֐”‚́CVALID_INTPRI_CHGIPM(intpri)‚ªtrue‚ð•Ô‚·intpri‚É‘Î
1299‚µ‚Ă̂݌Ă΂ê‚éDintpri‚É‚»‚¤‚Å‚È‚¢’l‚ª“n‚³‚ꂽê‡‚Ì“®ì‚͕ۏ؂·‚é•K
1300—v‚ª‚È‚¢D
1301
1302(6-4-1-4) PRI x_get_ipm(void)
1303(6-4-1-5) PRI t_get_ipm(void)
1304(6-4-1-6) PRI i_get_ipm(void)
1305
1306Š„ž‚Ý—Dæ“xƒ}ƒXƒN‚Ì’l‚ðŽQÆ‚µ‚Ä•Ô‚·ŠÖ”D
1307
1308‚±‚ê‚ç‚̊֐”‚́CCPUƒƒbƒNó‘Ô‚Å‚àCPUƒƒbƒN‰ðœó‘Ô‚Å‚àŒÄ‚яo‚¹‚é‚悤‚É
1309ŽÀ‘•‚·‚é‚Ì‚ª–]‚Ü‚µ‚¢D‚½‚¾‚µCx_get_ipm‚Æt_get_ipm‚́Cƒ^[ƒQƒbƒg”ñˆË‘¶
1310•”‚ªCPUƒƒbƒN‰ðœó‘ԂŌĂяo‚·‚±‚Æ‚Í‚È‚¢‚½‚߁CCPUƒƒbƒN‰ðœó‘ԂŌĂÑ
1311o‚³‚ꂽê‡‚Ì“®ì‚͕ۏ؂·‚é•K—v‚ª‚È‚¢Di_get_ipm‚́CCPUƒƒbƒNó‘Ô‚Å‚à
1312CPUƒƒbƒN‰ðœó‘Ô‚Å‚àŒÄ‚яo‚¹‚é‚悤‚ÉŽÀ‘•‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢D
1313
1314Š„ž‚Ý—Dæ“xƒ}ƒXƒN‚ð—p‚¢‚ăJ[ƒlƒ‹ŠÇ—‚ÌŠ„ž‚Ý‚ð‚·‚×‚Äƒ}ƒXƒN‚µ‚½ó‘Ԃ́C
1315CPUƒƒbƒNó‘Ô‚Æ‹æ•Ê‚Å‚«‚邱‚Æ‚ª•K—v‚Å‚ ‚éD‹ï‘Ì“I‚ɂ́CCPUƒƒbƒN‰ðœó
1316‘Ô‚É‚¨‚¢‚āCx_set_ipm‚ð—p‚¢‚ăJ[ƒlƒ‹ŠÇ—‚ÌŠ„ž‚Ý‚ð‚·‚×‚Äƒ}ƒXƒN‚µ‚½ê‡
1317‚Å‚àCx_sense_lock‚Ífalse‚ð•Ô‚·D
1318
1319‚»‚ê‚ɑ΂µ‚āCŠ„ž‚Ý—Dæ“xƒ}ƒXƒN‚ð—p‚¢‚ÄNMI‚ðœ‚­‚·‚ׂĂ̊„ž‚Ý‚ðƒ}ƒXƒN
1320‚Å‚«‚éê‡C‚»‚̏ó‘Ô‚Æ‘SŠ„ž‚݃ƒbƒNó‘Ô‚ð‹æ•Ê‚Å‚«‚é•K—v‚Í‚È‚­C‘S‚­“¯
1321ˆê‚̏ó‘Ô‚Å‚à‚©‚Ü‚í‚È‚¢D
1322
13236.4.2 Š„ž‚Ý—v‹‹ÖŽ~ƒtƒ‰ƒO‚ÌŠÇ—
1324
1325ƒ^[ƒQƒbƒgˆË‘¶•”‚́CŠ„ž‚Ý—v‹‹ÖŽ~ƒtƒ‰ƒO‚ðƒZƒbƒg‚·‚é‹@”\‚ƃNƒŠƒA‚·‚é‹@
1326”\‚ð’ñ‹Ÿ‚·‚éD
1327
1328(6-4-2-1) bool_t VALID_INTNO_DISINT(INTNO intno)
1329
1330intno‚ªCdis_int^ena_int‚ɑ΂·‚銄ž‚ݔԍ†‚Æ‚µ‚Ä—LŒø‚È’l‚Å‚ ‚éê‡‚É
1331trueC‚»‚¤‚Å‚È‚¢ê‡‚Éfalse‚ð•Ô‚·ƒ}ƒNƒDŠ„ž‚Ý—v‹‹ÖŽ~ƒtƒ‰ƒO‚ªƒZƒbƒg^
1332ƒNƒŠƒA‚Å‚«‚È‚¢intno‚ɑ΂µ‚ẮC‚±‚̃}ƒNƒ‚ªfalse‚ð•Ô‚·‚悤‚É‚·‚éD
1333
1334(6-4-2-2) bool_t x_disable_int(INTNO intno)
1335(6-4-2-3) bool_t t_disable_int(INTNO intno)
1336(6-4-2-4) bool_t i_disable_int(INTNO intno)
1337
1338intno‚ÅŽw’肳‚ꂽŠ„ž‚Ý—v‹ƒ‰ƒCƒ“‚ɑ΂·‚銄ž‚Ý—v‹‹ÖŽ~ƒtƒ‰ƒO‚ðƒZƒbƒg‚µC
1339true‚ð•Ô‚·ŠÖ”DŽw’肳‚ꂽŠ„ž‚Ý—v‹ƒ‰ƒCƒ“‚ɑ΂µ‚āCŠ„ž‚Ý‘®«‚ªÝ’肳
1340‚ê‚Ä‚¢‚È‚¢ê‡‚ɂ́Cfalse‚ð•Ô‚·D
1341
1342‚±‚ê‚ç‚̊֐”‚́Cƒ^[ƒQƒbƒg”ñˆË‘¶•”‚ªCPUƒƒbƒN‰ðœó‘ԂŌĂяo‚·‚±‚Æ‚Í‚È
1343‚¢‚½‚߁CCPUƒƒbƒN‰ðœó‘ԂŌĂяo‚³‚ꂽê‡‚Ì“®ì‚͕ۏ؂·‚é•K—v‚ª‚È‚¢D
1344‚½‚¾‚µCƒ^[ƒQƒbƒgˆË‘¶•”‚©‚çCPUƒƒbƒN‰ðœó‘ԂŌĂяo‚·ê‡‚ɂ́C•ÛØ‚·
1345‚é•K—v‚ª‚ ‚éD
1346
1347‚Ü‚½C‚±‚ê‚ç‚̊֐”‚́CVALID_INTNO_DISINT(intno)‚ªtrue‚Æ‚È‚éintno‚ɑ΂µ
1348‚Ă̂݌Ă΂ê‚éDintno‚É‚»‚¤‚Å‚È‚¢’l‚ª“n‚³‚ꂽê‡‚Ì“®ì‚͕ۏ؂·‚é•K—v‚ª
1349‚È‚¢D
1350
1351dis_intƒT[ƒrƒXƒR[ƒ‹‚ðƒTƒ|[ƒg‚·‚éê‡iTOPPERS_SUPPORT_DIS_INT‚ðƒ}ƒN
1352ƒ’è‹`‚·‚éê‡j‚ɂ́Ct_disable_int‚ª—pˆÓ‚³‚ê‚Ä‚¢‚È‚¯‚ê‚΂Ȃç‚È‚¢D
1353
1354(6-4-2-5) bool_t x_enable_int(INTNO intno)
1355(6-4-2-6) bool_t t_enable_int(INTNO intno)
1356(6-4-2-7) bool_t i_enable_int(INTNO intno)
1357
1358intno‚ÅŽw’肳‚ꂽŠ„ž‚Ý—v‹ƒ‰ƒCƒ“‚ɑ΂·‚銄ž‚Ý—v‹‹ÖŽ~ƒtƒ‰ƒO‚ðƒNƒŠƒA‚µC
1359true‚ð•Ô‚·ŠÖ”DŽw’肳‚ꂽŠ„ž‚Ý—v‹ƒ‰ƒCƒ“‚ɑ΂µ‚āCŠ„ž‚Ý‘®«‚ªÝ’肳
1360‚ê‚Ä‚¢‚È‚¢ê‡‚ɂ́Cfalse‚ð•Ô‚·D
1361
1362‚±‚ê‚ç‚̊֐”‚́Cƒ^[ƒQƒbƒg”ñˆË‘¶•”‚ªCPUƒƒbƒN‰ðœó‘ԂŌĂяo‚·‚±‚Æ‚Í‚È
1363‚¢‚½‚߁CCPUƒƒbƒN‰ðœó‘ԂŌĂяo‚³‚ꂽê‡‚Ì“®ì‚͕ۏ؂·‚é•K—v‚ª‚È‚¢D
1364‚½‚¾‚µCƒ^[ƒQƒbƒgˆË‘¶•”‚©‚çCPUƒƒbƒN‰ðœó‘ԂŌĂяo‚·ê‡‚ɂ́C•ÛØ‚·
1365‚é•K—v‚ª‚ ‚éD
1366
1367‚Ü‚½C‚±‚ê‚ç‚̊֐”‚́CVALID_INTNO_DISINT(intno)‚ªtrue‚Æ‚È‚éintno‚ɑ΂µ
1368‚Ă̂݌Ă΂ê‚éDintno‚É‚»‚¤‚Å‚È‚¢’l‚ª“n‚³‚ꂽê‡‚Ì“®ì‚͕ۏ؂·‚é•K—v‚ª
1369‚È‚¢D
1370
1371ena_intƒT[ƒrƒXƒR[ƒ‹‚ðƒTƒ|[ƒg‚·‚éê‡iTOPPERS_SUPPORT_ENA_INT‚ðƒ}ƒN
1372ƒ’è‹`‚·‚éê‡j‚ɂ́Ct_enable_int‚ª—pˆÓ‚³‚ê‚Ä‚¢‚È‚¯‚ê‚΂Ȃç‚È‚¢D
1373
13746.4.3 Š„ž‚Ý—v‹‚̃NƒŠƒA
1375
1376(6-4-3-1) void x_clear_int(INTNO intno)
1377(6-4-3-2) void t_clear_int(INTNO intno)
1378(6-4-3-3) void i_clear_int(INTNO intno)
1379
1380intno‚ÅŽw’肳‚ꂽŠ„ž‚Ý—v‹ƒ‰ƒCƒ“‚ªƒGƒbƒWƒgƒŠƒK‚Å‚ ‚éê‡‚ɁCƒgƒŠƒK‚³‚ê
1381‚½Š„ž‚Ý—v‹‚ðƒNƒŠƒA‚·‚éŠÖ”Dintno‚ÅŽw’肳‚ꂽŠ„ž‚Ý—v‹ƒ‰ƒCƒ“‚ªƒŒƒxƒ‹
1382ƒgƒŠƒK‚Å‚ ‚éê‡‚ɂ͉½‚à‚µ‚È‚¢D
1383
1384SSPƒJ[ƒlƒ‹‚̃^[ƒQƒbƒg”ñˆË‘¶•”‚ł́C‚±‚ê‚ç‚̊֐”‚ðŒÄ‚яo‚µ‚Ä‚¢‚È‚¢‚ªC
1385ƒ^[ƒQƒbƒgˆË‘¶•”‚âƒVƒXƒeƒ€ƒT[ƒrƒX‚ŌĂяo‚·‰Â”\«‚ª‚‚¢‚½‚߁C—pˆÓ‚·‚é
1386‚±‚Æ‚Æ‚µ‚Ä‚¢‚éD‚»‚Ì‚½‚߁C‚±‚ê‚ç‚̊֐”‚ª‚ǂ̂悤‚ȃVƒXƒeƒ€ó‘ԂŌĂяo
1387‚¹‚é‚©‚́Cƒ^[ƒQƒbƒgˆË‘¶•”“à‚ňêŠÑ‚µ‚Ä‚¢‚ê‚΂悢D
1388
13896.4.4 Š„ž‚Ý—v‹‚̃vƒ[ƒu
1390
1391(6-4-4-1) bool_t x_probe_int(INTNO intno)
1392(6-4-4-2) bool_t t_probe_int(INTNO intno)
1393(6-4-4-3) bool_t i_probe_int(INTNO intno)
1394
1395intno‚ÅŽw’肳‚ꂽŠ„ž‚Ý—v‹ƒ‰ƒCƒ“‚ɑ΂µ‚āCŠ„ž‚Ý‚ª—v‹‚³‚ê‚Ä‚¢‚éê‡‚É
1396trueC‚»‚¤‚Å‚È‚¢ê‡‚Éfalse‚ð•Ô‚·ŠÖ”D
1397
1398SSPƒJ[ƒlƒ‹‚̃^[ƒQƒbƒg”ñˆË‘¶•”‚ł́C‚±‚ê‚ç‚̊֐”‚ðŒÄ‚яo‚µ‚Ä‚¢‚È‚¢‚ªC
1399ƒ^[ƒQƒbƒgˆË‘¶•”‚âƒVƒXƒeƒ€ƒT[ƒrƒX‚ŌĂяo‚·‰Â”\«‚ª‚‚¢‚½‚߁C—pˆÓ‚·‚é
1400‚±‚Æ‚Æ‚µ‚Ä‚¢‚éD‚»‚Ì‚½‚߁C‚±‚ê‚ç‚̊֐”‚ª‚ǂ̂悤‚ȃVƒXƒeƒ€ó‘ԂŌĂяo
1401‚¹‚é‚©‚́Cƒ^[ƒQƒbƒgˆË‘¶•”“à‚ňêŠÑ‚µ‚Ä‚¢‚ê‚΂悢D
1402
14036.4.5 Š„ž‚݃nƒ“ƒhƒ‰‚̐擪ˆ—‚Æ––”öˆ—
1404
1405(6-4-5-1) void i_begin_int(INTNO intno)
1406
1407intno‚ÅŽw’肳‚ꂽŠ„ž‚Ý—v‹ƒ‰ƒCƒ“‚ɑ΂·‚銄ž‚݃nƒ“ƒhƒ‰‚̐擪‚ōs‚¤‚ׂ«
1408ˆ—‚ðs‚¤ŠÖ”D‚±‚±‚ōs‚¤‚ׂ«ˆ—‚Æ‚µ‚ẮCŠ„ž‚Ý—v‹ƒ‰ƒCƒ“‚ªƒGƒbƒWƒg
1409ƒŠƒK‚Å‚ ‚éê‡‚̃gƒŠƒK‚³‚ꂽŠ„ž‚Ý—v‹‚̃NƒŠƒA‚ª‹“‚°‚ç‚ê‚éD
1410
1411intno‚ɑ΂µ‚Ä“o˜^‚³‚ꂽŠ„ž‚݃T[ƒrƒXƒ‹[ƒ`ƒ“‚ðŒÄ‚яo‚·Š„ž‚݃nƒ“ƒhƒ‰‚Ì
1412æ“ª‚ŌĂяo‚³‚ê‚éD‚»‚Ì‚½‚ß‚±‚̊֐”‚́CŠ„ž‚݃nƒ“ƒhƒ‰‚̐擪i’ʏí‚Í
1413CPUƒƒbƒN‰ðœó‘ԁj‚ŌĂяo‚¹‚é‚悤‚ÉŽÀ‘•‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢D
1414
1415(6-4-5-2) void i_end_int(INTNO intno)
1416
1417intno‚ÅŽw’肳‚ꂽŠ„ž‚Ý—v‹ƒ‰ƒCƒ“‚ɑ΂·‚銄ž‚݃nƒ“ƒhƒ‰‚Ì––”ö‚ōs‚¤‚ׂ«
1418ˆ—‚ðs‚¤ŠÖ”D‚±‚±‚ōs‚¤‚ׂ«ˆ—‚Æ‚µ‚ẮCŠ„ž‚݃Rƒ“ƒgƒ[ƒ‰iIRCj‚É
1419‘΂·‚銄ž‚ݏˆ—‚̏I—¹‚ð’Ê’m‚ª‹“‚°‚ç‚ê‚éD
1420
1421intno‚ɑ΂µ‚Ä“o˜^‚³‚ꂽŠ„ž‚݃T[ƒrƒXƒ‹[ƒ`ƒ“‚ðŒÄ‚яo‚·Š„ž‚݃nƒ“ƒhƒ‰‚Ì
1422––”ö‚ŌĂяo‚³‚ê‚éD‚»‚Ì‚½‚ß‚±‚̊֐”‚́CŠ„ž‚݃nƒ“ƒhƒ‰‚Ì––”öi’ʏí‚Í
1423CPUƒƒbƒN‰ðœó‘ԁj‚ŌĂяo‚¹‚é‚悤‚ÉŽÀ‘•‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢D
1424
14256.5 ƒ^ƒXƒNƒfƒBƒXƒpƒbƒ`ƒƒ
1426
1427
14286.5.1 ƒfƒBƒXƒpƒbƒ`ƒƒ‚Ì“®ìŠJŽn
1429
1430(6-5-1-1) void start_dispatch(void)
1431
1432ƒfƒBƒXƒpƒbƒ`ƒƒ‚Ì“®ìŠJŽnistart_dispatchj‚́CƒJ[ƒlƒ‹‹N“®Žž‚ɁCƒJ[ƒl
1433ƒ‹‚̏‰Šú‰»ˆ—‚©‚çŒÄ‚яo‚³‚ê‚éDstart_dispatch‚́CƒŠƒ^[ƒ“‚·‚邱‚Æ‚Ì‚È
1434‚¢ŠÖ”‚Å‚ ‚éD
1435
1436start_dispatch‚́C”ñƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg‚ŁCNMI‚ðœ‚­‚·‚ׂĂ̊„ž‚Ý‚ðƒ}ƒX
1437ƒN‚µ‚½ó‘ԁi‘SŠ„ž‚݃ƒbƒNó‘Ô‚Æ“¯“™‚̏ó‘ԁj‚ŌĂяo‚³‚ê‚éDstart_dispatch
1438“à‚ŁCƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg‚ɐ؂芷‚¦CCPUƒƒbƒNó‘ԁEŠ„ž‚Ý—Dæ“xƒ}ƒXƒN‘S
1439‰ðœó‘Ô‚É‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢D
1440
1441ƒRƒ“ƒeƒLƒXƒg‚ðØ‚è‘Ö‚¦‚½Œã‚̓^[ƒQƒbƒg”ñˆË‘¶•”ŠÖ”dispatcher‚ðŒÄ‚яo‚·D
1442
1443start_dispatch‚̏ˆ—“à—e‚ÍŽŸ‚Ì’Ê‚èDdispatcher‚©‚珈—‚ª•Ô‚邱‚Ƃ͍l—Ê‚·‚é•K—v‚Í
1444‚È‚¢D
1445
1446----------------------------------------
1447void
1448start_dispatch(void)
1449{
1450 ƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg‚ɐ؂芷‚¦‚é
1451 CPUƒƒbƒNó‘ԁEŠ„ž‚Ý—Dæ“xƒ}ƒXƒN‘S‰ðœó‘Ô‚É‚·‚é
1452 dispatcher‚É•ªŠò‚·‚é
1453}
1454----------------------------------------
1455
14566.6 Š„ž‚݃nƒ“ƒhƒ‰
1457
14586.6.1 Š„ž‚݃nƒ“ƒhƒ‰‚̏o“üŒûˆ—
1459
1460ƒJ[ƒlƒ‹ŠÇ—‚ÌŠ„ž‚݂̏o“üŒûˆ—‚Ì•û–@‚́CƒvƒƒZƒbƒT‚É‚æ‚Á‚Ä‘å‚«‚­ˆÙ‚È
1461‚邪C‚¨‚¨‚æ‚»‚̏ˆ—“à—e‚ÍŽŸ‚Ì’Ê‚èD
1462
1463----------------------------------------
1464void
1465<Š„ž‚݂̏o“üŒûˆ—>(void)
1466{
1467 ­‚È‚­‚Æ‚àƒJ[ƒlƒ‹ŠÇ—‚ÌŠ„ž‚Ý‚ð‹ÖŽ~‚µ‚½ó‘Ô‚É‚·‚é c (*f)
1468 ƒXƒNƒ‰ƒbƒ`ƒŒƒWƒXƒ^‚ðƒXƒ^ƒbƒN‚É•Û‘¶‚·‚é
1469 if (ƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg‚ÅŠ„ž‚Ý”­¶) {
1470 ”ñƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg‚ɐ؂芷‚¦‚é
1471 }
1472
1473 ‚±‚ÌŠ„ž‚Ý‚æ‚è‚à—Dæ“x‚̍‚‚¢Š„ž‚Ý‚Ì‚Ý‚ðŽó‚¯•t‚¯‚ç‚ê‚é‚悤‚É‚µ‚āC
1474 CPUƒƒbƒN‰ðœó‘Ô‚É‚·‚é
1475#ifdef LOG_INH_ENTER
1476 log_inh_enter(Š„ž‚݃nƒ“ƒhƒ‰”ԍ†);
1477#endif /* LOG_INH_ENTER */
1478 Š„ž‚݃nƒ“ƒhƒ‰‚ðŒÄ‚яo‚·
1479#ifdef LOG_INH_LEAVE
1480 log_inh_leave(Š„ž‚݃nƒ“ƒhƒ‰”ԍ†);
1481#endif /* LOG_INH_LEAVE */
1482
1483 ret_int:
1484 if (ƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg‚ÅŠ„ž‚Ý”­¶) {
1485 i­‚È‚­‚Æ‚àjƒJ[ƒlƒ‹ŠÇ—‚ÌŠ„ž‚Ý‚ð‹ÖŽ~‚µ‚½ó‘Ô‚É‚·‚é c (*d)
1486 if (reqflg) {
1487 reqflg = false;
1488 CPUƒƒbƒNó‘Ô‚É‚·‚é c (*e)
1489 search_schedtsk‚ðŒÄ‚яo‚µCÅ‚—Dæ‡ˆÊƒ^ƒXƒN‚ð‹‚ß‚é
1490 Å‚—Dæ‡ˆÊ‚̃^ƒXƒNID‚ðˆø”‚É‚µ‚Ärun_task‚É•ªŠò‚·‚é
1491 }
1492 }
1493 Š„ž‚ݏˆ—‚©‚ç‚̃Šƒ^[ƒ“Œã‚ɁCCPUƒƒbƒN‰ðœó‘Ô‚É–ß‚é‚悤‚ɏ€”õ‚·‚é
1494 ƒXƒNƒ‰ƒbƒ`ƒŒƒWƒXƒ^‚ðƒXƒ^ƒbƒN‚©‚ç•œ‹A‚·‚é
1495 Š„ž‚ݏˆ—‚©‚ç‚̃Šƒ^[ƒ“
1496}
1497----------------------------------------
1498
1499Š„ž‚Ý‚ÌŽó•t‚¯‚É‚æ‚è‚·‚ׂĂ̊„ž‚Ý‚ª‹ÖŽ~‚³‚ê‚È‚¢ƒvƒƒZƒbƒT‚ł́C(*f)‚É
1500‚¨‚¢‚āC­‚È‚­‚Æ‚àƒJ[ƒlƒ‹ŠÇ—‚ÌŠ„ž‚Ý‚ð‹ÖŽ~‚·‚éD‚±‚Ì——R‚ÍŽŸ‚Ì’Ê‚è‚Å
1501‚ ‚éD
1502
1503Š„ž‚Ý‚Ì“üŒûˆ—‚É‚¨‚¢‚āCƒXƒ^ƒbƒN‚ð”ñƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg—p‚̃Xƒ^ƒbƒN‚É
1504Ø‚芷‚¦‚é‘O‚É‘½dŠ„ž‚Ý‚ª”­¶‚·‚é‚ƁCƒ^ƒXƒN‚̃Xƒ^ƒbƒN—̈悪Žg—p‚³‚ê‚éD
1505ã‹L‚̂悤‚ȃvƒƒZƒbƒT‚ł́CƒXƒ^ƒbƒN‚̐؊·‚¦‘O‚ɁCÅ‘å‚ÅŠ„ž‚Ý—Dæ“x‚Ì
1506’i”•ª‚Ì‘½dŠ„ž‚Ý‚ª”­¶‚·‚邱‚Æ‚ð–h‚®‚±‚Æ‚Í‚Å‚«‚¸CŠeƒ^ƒXƒN‚̃Xƒ^ƒbƒN
1507—̈æ‚ðŠm•Û‚·‚éÛ‚ɁC‚»‚Ì•ª‚ðŒ©ž‚ñ‚ÅŠm•Û‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢DŠeƒ^ƒXƒN‚Ì
1508ƒXƒ^ƒbƒN—̈æ‚ð‚È‚é‚ׂ­¬‚³‚­‚·‚邽‚߂ɂ́CƒXƒ^ƒbƒN‚ð‚È‚é‚ׂ­Žg—p‚µ‚È‚¢
1509“à‚ɁC‘½dŠ„ž‚Ý‚ð‹ÖŽ~‚·‚é‚Ì‚ª–]‚Ü‚µ‚¢D‚»‚Ì‚½‚߁CƒXƒNƒ‰ƒbƒ`ƒŒƒWƒXƒ^‚ð
1510ƒXƒ^ƒbƒN‚É•Û‘¶‚·‚é‘O‚ɁCŠ„ž‚Ý‚ð‹ÖŽ~‚·‚éD‚½‚¾‚µCŠ„ž‚Ý‚Ì‹ÖŽ~ˆ—‚É•K
1511—v‚ȍŒáŒÀ‚̃ŒƒWƒXƒ^‚ɂ‚¢‚ẮCŠ„ž‚Ý‚Ì‹ÖŽ~‚ɐ旧‚Á‚ăXƒ^ƒbƒN‚É•Û‘¶‚·
1512‚é•K—v‚ª‚ ‚éD
1513
1514“¯—l‚Ì‚±‚Ƃ́CƒJ[ƒlƒ‹ŠÇ—ŠO‚ÌŠ„ž‚Ý‚É‚à“–‚Ä‚Í‚Ü‚éD‚·‚È‚í‚¿CƒJ[ƒlƒ‹
1515ŠÇ—ŠO‚ÌŠ„ž‚݂ɂ‚¢‚Ä‚àCƒXƒ^ƒbƒN‚ð‚È‚é‚ׂ­Žg—p‚µ‚È‚¢“à‚É‹ÖŽ~‚·‚é‚Ì‚ª
1516–]‚Ü‚µ‚¢D‚±‚Ì‚±‚Æ‚©‚çCƒJ[ƒlƒ‹ŠÇ—ŠO‚ÌŠ„ž‚Ý‚ðŽg—p‚·‚éê‡‚ɂ́C(*f)
1517‚É‚¨‚¢‚āC‚·‚ׂĂ̊„ž‚Ý‚ð‹ÖŽ~‚µ‚½ó‘Ô‚É‚·‚é‚Ì‚ª–]‚Ü‚µ‚¢‚±‚Æ‚É‚È‚éD‚Ü
1518‚½CƒJ[ƒlƒ‹ŠÇ—ŠO‚ÌŠ„ž‚ݏˆ—‚É‚¨‚¢‚Ä‚àC”ñƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg—p‚̃Xƒ^ƒb
1519ƒN‚ɐ؂芷‚¦‚邱‚Æ‚ª–]‚Ü‚µ‚¢‚ªC‚±‚ê‚̓J[ƒlƒ‹‚ÌŠÇŠŠO‚Å‚ ‚éD
1520
1521(*d)‚É‚¨‚¢‚ẮCƒJ[ƒlƒ‹ŠÇ—‚ÌŠ„ž‚Ý‚ð‹ÖŽ~‚·‚邾‚¯‚ŁCCPUƒƒbƒNó‘Ô‚É‚·
1522‚é•K—v‚Í‚È‚¢D—Ⴆ‚΁CCPUƒƒbƒNó‘Ô‚Å‚ ‚邱‚Æ‚ðŽ¦‚·•Ï”‚ð—pˆÓ‚µ‚Ä‚¢‚éê
1523‡‚ɂ́C(*d)‚ÌŽž“_‚Å‚Í‚»‚̕ϐ”‚ðCPUƒƒbƒNó‘Ô‚ðŽ¦‚·’l‚ɕύX‚·‚é•K—v‚Í‚È
1524‚­C(*e)‚É‚¨‚¢‚ĕύX‚·‚ê‚΂悢D
1525
1526Š„ž‚݂̏o“üŒûˆ—‚ðƒAƒZƒ“ƒuƒŠŒ¾Œê‚Å‹Lq‚·‚éê‡‚ɂ́CƒgƒŒ[ƒXƒƒOŽæ“¾
1527ˆ—‚́Cu6.2 ƒgƒŒ[ƒXƒƒO‹@”\‚ւ̑Ήžv‚̐߂ŋLq‚µ‚½•û–@‚ŃR[ƒfƒBƒ“
1528ƒO‚·‚邱‚ƁD
1529
15306.6.2 Š„ž‚݃nƒ“ƒhƒ‰–ˆ‚̏o“üŒûˆ—‚̐¶¬
1531
1532Š„ž‚݃xƒNƒgƒ‹‚ðƒn[ƒhƒEƒFƒA‚ÅŽÀŒ»‚µ‚Ä‚¢‚éê‡‚ȂǁCŠ„ž‚݃nƒ“ƒhƒ‰–ˆ‚É
1533o“üŒûˆ—‚ð—pˆÓ‚µ‚½•û‚ªŒø—¦‚ª—Ç‚¢ƒ^[ƒQƒbƒg‚Ì‚½‚߂ɁCŠ„ž‚݃nƒ“ƒhƒ‰–ˆ
1534‚ɏo“üŒûˆ—‚𐶐¬‚·‚é‹@\‚ð—pˆÓ‚µ‚Ä‚¢‚éD
1535
1536ˆÈ‰º‚̃}ƒNƒ‚́C•W€‚ÌŠ„ž‚ÝŠÇ—‹@”\‚̏‰Šú‰»ˆ—‚ð—p‚¢‚½ê‡‚̂݁Cƒ^[
1537ƒQƒbƒg”ñˆË‘¶•”‚ÅŽg‚í‚ê‚éDŠ„ž‚ÝŠÇ—‹@”\‚̏‰Šú‰»ˆ—‚ðƒ^[ƒQƒbƒgˆË‘¶•”
1538‚Å—pˆÓ‚µC‚»‚Ì’†‚Å‚±‚ê‚ç‚̃}ƒNƒ‚ðŽg‚í‚È‚¢ê‡‚ɂ́C‚±‚ê‚ç‚̃}ƒNƒ‚ð—p
1539ˆÓ‚·‚é•K—v‚Í‚È‚¢D
1540
1541(6-6-2-1) INT_ENTRY(inhno, inthdr)
1542
1543Š„ž‚݃nƒ“ƒhƒ‰”ԍ†‚ªinhnoCŠ„ž‚݃nƒ“ƒhƒ‰‚̊֐”–¼‚ªinthdr‚Å‚ ‚銄ž‚݃n
1544ƒ“ƒhƒ‰‚̏o“üŒûˆ—‚̃‰ƒxƒ‹‚ðì‚éƒ}ƒNƒDINTHDR_ENTRY‚ð—p‚¢‚ÄŠ„ž‚݃nƒ“
1545ƒhƒ‰–ˆ‚ɏo“üŒûˆ—‚𐶐¬‚·‚éê‡‚ɂ́CŽŸ‚̂悤‚É’è‹`‚·‚éD
1546
1547#define INT_ENTRY(inhno, inthdr) _kernel_##inthdr##_##inhno
1548
1549Š„ž‚݃nƒ“ƒhƒ‰–ˆ‚ɏo“üŒûˆ—‚ðì‚é•K—v‚ª‚È‚¢ê‡‚ɂ́CŽŸ‚̂悤‚É’è‹`‚µ
1550‚āCŠ„ž‚݃nƒ“ƒhƒ‰‚̊֐”–¼‚ð‚»‚Ì‚Ü‚Ü•Ô‚·D
1551
1552#define INT_ENTRY(inhno, inthdr) inthdr
1553
1554(6-6-2-2) INTHDR_ENTRY(inhno, inhno_num, inthdr)
1555
1556Š„ž‚݃nƒ“ƒhƒ‰”ԍ†‚ªinhnoCŠ„ž‚݃nƒ“ƒhƒ‰‚̊֐”–¼‚ªinthdr‚Å‚ ‚銄ž‚݃n
1557ƒ“ƒhƒ‰‚̏o“üŒûˆ—‚𐶐¬‚·‚éƒ}ƒNƒDinhno_num‚ɂ́CƒAƒZƒ“ƒuƒŠŒ¾Œê‹Lq—p
1558‚ɁCŠ„ž‚݃nƒ“ƒhƒ‰”ԍ†‚ª”’l‚Å“n‚³‚ê‚éDŠ„ž‚݃nƒ“ƒhƒ‰–ˆ‚ɏo“üŒûˆ—‚ð
1559ì‚é•K—v‚ª‚È‚¢ê‡‚ɂ́C‹ó‚É’è‹`‚·‚éD
1560
15616.6.3 Š„ž‚݃nƒ“ƒhƒ‰‚̐ݒè
1562
1563(6-6-3-1) bool_t VALID_INHNO_DEFINH(INHNO inhno)iƒIƒvƒVƒ‡ƒ“j
1564
1565inhno‚ªCDEF_INH‚ɑ΂·‚銄ž‚݃nƒ“ƒhƒ‰”ԍ†‚Æ‚µ‚Ä—LŒø‚È’l‚Å‚ ‚éê‡‚É
1566trueC‚»‚¤‚Å‚È‚¢ê‡‚Éfalse‚ð•Ô‚·ƒ}ƒNƒD
1567
1568SSPƒJ[ƒlƒ‹‚̃^[ƒQƒbƒg”ñˆË‘¶•”‚ł́C‚±‚̃}ƒNƒ‚ÍŽg‚í‚ê‚Ä‚¢‚È‚¢‚½‚߁Cƒ^[
1569ƒQƒbƒgˆË‘¶•”‚ÅŽg‚í‚È‚¢‚È‚çC—pˆÓ‚·‚é•K—v‚ª‚È‚¢D
1570
1571(6-6-3-2) void x_define_inh(INHNO inhno, FP int_entry)
1572
1573inhno‚ÅŽw’肳‚ꂽŠ„ž‚݃nƒ“ƒhƒ‰‚̏o“üŒûˆ—‚̔Ԓn‚ðint_entry‚ɐݒ肷‚éD
1574
1575‚±‚̊֐”‚́C•W€‚ÌŠ„ž‚ÝŠÇ—‹@”\‚̏‰Šú‰»ˆ—‚ð—p‚¢‚½ê‡‚̂݁Cƒ^[ƒQƒb
1576ƒg”ñˆË‘¶•”‚©‚çŒÄ‚яo‚³‚ê‚éDŠ„ž‚ÝŠÇ—‹@”\‚̏‰Šú‰»ˆ—‚ðƒ^[ƒQƒbƒgˆË‘¶
1577•”‚Å—pˆÓ‚µC‚»‚Ì’†‚Å‚±‚̊֐”‚ðŒÄ‚яo‚³‚È‚¢ê‡‚ɂ́C‚±‚̊֐”‚ð—pˆÓ‚·‚é
1578•K—v‚Í‚È‚¢D
1579
1580‚±‚̊֐”‚́Cƒ^[ƒQƒbƒg”ñˆË‘¶•”‚̃J[ƒlƒ‹‰Šú‰»ˆ—‚©‚çŒÄ‚яo‚³‚ê‚邽‚߁C
1581ƒJ[ƒlƒ‹‚̏‰Šú‰»ˆ—iNMI‚ðœ‚­‚·‚ׂĂ̊„ž‚Ý‚ªƒ}ƒXƒN‚³‚ê‚Ä‚¢‚éj‚©‚çŒÄ
1582‚яo‚¹‚é‚悤‚ÉŽÀ‘•‚·‚ê‚΂悢D
1583
1584Žw’肳‚ꂽŠ„ž‚݃nƒ“ƒhƒ‰”ԍ†‚ªDEF_INH‚ɑ΂·‚é‚à‚Ì‚Æ‚µ‚Ä—LŒø‚È’l‚Å‚È‚¢ê
1585‡‚Ì“®ì‚͕ۏ؂·‚é•K—v‚ª‚È‚¢iassert‚ŃGƒ‰[‚Æ‚·‚é‚Ì‚ª–]‚Ü‚µ‚¢jD‚±‚ê
1586‚́CƒRƒ“ƒtƒBƒMƒ…
1587ƒŒ[ƒ^‚ªCƒpƒX2‚̃eƒ“ƒvƒŒ[ƒgƒtƒ@ƒCƒ‹‚̃^[ƒQƒbƒgˆË‘¶•”
1588‚Å’è‹`‚·‚éINHNO_DEFINH_VALID‚ð—p‚¢‚ăGƒ‰[‚ðŒŸo‚·‚邽‚ß‚Å‚ ‚éD
1589
15906.6.4 Š„ž‚Ý—v‹ƒ‰ƒCƒ“‚Ì‘®«‚̐ݒè
1591
1592(6-6-4-1) bool_t VALID_INTNO_CFGINT(INTNO intno)iƒIƒvƒVƒ‡ƒ“j
1593
1594intno‚ªCCFG_INT‚ɑ΂·‚銄ž‚ݔԍ†‚Æ‚µ‚Ä—LŒø‚È’l‚Å‚ ‚éê‡‚ÉtrueC‚»‚¤
1595‚Å‚È‚¢ê‡‚Éfalse‚ð•Ô‚·ƒ}ƒNƒDŠ„ž‚Ý—v‹ƒ‰ƒCƒ“‚Ì‘®«‚ðÝ’è‚Å‚«‚È‚¢
1596intno‚ɑ΂µ‚ẮC‚±‚̃}ƒNƒ‚ªfalse‚ð•Ô‚·‚悤‚É‚·‚éD
1597
1598SSPƒJ[ƒlƒ‹‚̃^[ƒQƒbƒg”ñˆË‘¶•”‚ł́C‚±‚̃}ƒNƒ‚ÍŽg‚í‚ê‚Ä‚¢‚È‚¢‚½‚߁Cƒ^[
1599ƒQƒbƒgˆË‘¶•”‚ÅŽg‚í‚È‚¢‚È‚çC—pˆÓ‚·‚é•K—v‚ª‚È‚¢D
1600
1601(6-6-4-2) void x_config_int(INTNO intno, ATR intatr, PRI intpri)
1602
1603intno‚ÅŽw’肳‚ꂽŠ„ž‚Ý—v‹ƒ‰ƒCƒ“‚ÌŠ„ž‚Ý‘®«‚ðCintatr‚ÅŽw’肳‚ꂽ’Ê‚è
1604‚ɐݒ肷‚éD‚Ü‚½CŠ„ž‚Ý—Dæ“x‚ðCintpri‚ÅŽw’肳‚ꂽ’l‚ɐݒ肷‚éD
1605
1606‚±‚̊֐”‚́C•W€‚ÌŠ„ž‚ÝŠÇ—‹@”\‚̏‰Šú‰»ˆ—‚ð—p‚¢‚½ê‡‚̂݁Cƒ^[ƒQƒb
1607ƒg”ñˆË‘¶•”‚©‚çŒÄ‚яo‚³‚ê‚éDŠ„ž‚ÝŠÇ—‹@”\‚̏‰Šú‰»ˆ—‚ðƒ^[ƒQƒbƒgˆË‘¶
1608•”‚Å—pˆÓ‚µC‚»‚Ì’†‚Å‚±‚̊֐”‚ðŒÄ‚яo‚³‚È‚¢ê‡‚ɂ́C‚±‚̊֐”‚ð—pˆÓ‚·‚é
1609•K—v‚Í‚È‚¢D
1610
1611‚±‚̊֐”‚́Cƒ^[ƒQƒbƒg”ñˆË‘¶•”‚̃J[ƒlƒ‹‰Šú‰»ˆ—‚©‚çŒÄ‚яo‚³‚ê‚邽‚߁C
1612ƒJ[ƒlƒ‹‚̏‰Šú‰»ˆ—iNMI‚ðœ‚­‚·‚ׂĂ̊„ž‚Ý‚ªƒ}ƒXƒN‚³‚ê‚Ä‚¢‚éj‚©‚çŒÄ
1613‚яo‚¹‚é‚悤‚ÉŽÀ‘•‚·‚ê‚΂悢D
1614
1615intatr‚Æ‚µ‚Đݒè‚Å‚«‚銄ž‚Ý‘®«‚ÍŽŸ‚Ì’Ê‚èD
1616
1617 TA_ENAINT 0x01 Š„ž‚Ý—v‹‹ÖŽ~ƒtƒ‰ƒO‚ðƒNƒŠƒA
1618 TA_EDGE 0x02 ƒGƒbƒWƒgƒŠƒK
1619
1620‚±‚Ì‘¼‚ɁCƒ^[ƒQƒbƒg’è‹`‚ÅŠ„ž‚Ý‘®«‚ð’ljÁ‚µ‚Ä‚à‚æ‚¢Dƒ^[ƒQƒbƒg’è‹`‚Å
1621’ljÁ‚·‚邽‚߂ɁCˆÈ‰º‚Ì‘®«–¼‚ª—\–ñ‚³‚ê‚Ä‚¢‚éD
1622
1623 TA_POSEDGE ƒ|ƒWƒeƒBƒuƒGƒbƒWƒgƒŠƒK
1624 TA_NEGEDGE ƒlƒKƒeƒBƒuƒGƒbƒWƒgƒŠƒK
1625 TA_BOTHEDGE —¼ƒGƒbƒWƒgƒŠƒK
1626 TA_LOWLEVEL ƒ[ƒŒƒxƒ‹ƒgƒŠƒK
1627 TA_HIGHLEVEL ƒnƒCƒŒƒxƒ‹ƒgƒŠƒK
1628
1629‚±‚ê‚ç‚Ì‘®«–¼‚ðƒ^[ƒQƒbƒg’è‹`‚ŒljÁ‚·‚éê‡‚ɂ́C‚»‚Ì‘®«’l‚ðŒˆ’è‚µC
1630’è‹`‚ðtarget_kernel.hi‚Ü‚½‚́C‚»‚±‚©‚çƒCƒ“ƒNƒ‹[ƒh‚³‚ê‚éƒtƒ@ƒCƒ‹j‚ÉŠÜ
1631‚ß‚éD‚Ü‚½CƒRƒ“ƒtƒBƒMƒ…
1632ƒŒ[ƒ^ƒeƒ“ƒvƒŒ[ƒgƒtƒ@ƒCƒ‹‚©‚çŽQÆ‚Å‚«‚é‚悤‚ɁC
1633target_def.csvi‚Ü‚½‚́C‚»‚±‚©‚çƒCƒ“ƒNƒ‹[ƒh‚³‚ê‚éƒtƒ@ƒCƒ‹j‚Ɋ܂߁CƒR
1634ƒ“ƒtƒBƒMƒ…
1635ƒŒ[ƒ^ƒeƒ“ƒvƒŒ[ƒgƒtƒ@ƒCƒ‹‚̃^[ƒQƒbƒg”ñˆË‘¶•”‚ŃGƒ‰[‚Æ‚È‚ç
1636‚È‚¢‚悤‚ɁCtarget.tfi‚Ü‚½‚́C‚»‚±‚©‚çƒCƒ“ƒNƒ‹[ƒh‚³‚ê‚éƒtƒ@ƒCƒ‹j‚Å
1637TARGET_INTATR‚ɐݒ肷‚éD
1638
1639Žw’肳‚ꂽŠ„ž‚ݔԍ†‚ªCFG_INT‚ɑ΂·‚é‚à‚Ì‚Æ‚µ‚Ä—LŒø‚È’l‚Å‚È‚¢ê‡‚âC‚»
1640‚ÌŠ„ž‚Ý—v‹ƒ‰ƒCƒ“‚ɑ΂µ‚Đݒè‚Å‚«‚È‚¢‘®«‚ðŽw’肵‚½ê‡CÝ’è‚Å‚«‚È‚¢
1641Š„ž‚Ý—Dæ“x‚ðŽw’肵‚½ê‡‚Ì“®ì‚͕ۏ؂·‚é•K—v‚ª‚È‚¢iassert‚ŃGƒ‰[‚Æ
1642‚·‚é‚Ì‚ª–]‚Ü‚µ‚¢jD‚±‚̂悤‚ȃP[ƒX‚́CƒRƒ“ƒtƒBƒMƒ…
1643ƒŒ[ƒ^‚ŃGƒ‰[‚ðŒŸ
1644o‚·‚ׂ«‚Å‚ ‚éDƒRƒ“ƒtƒBƒMƒ…
1645ƒŒ[ƒ^ƒeƒ“ƒvƒŒ[ƒgƒtƒ@ƒCƒ‹‚̃^[ƒQƒbƒg”ñˆË
1646‘¶•”‚́CƒpƒX2‚̃eƒ“ƒvƒŒ[ƒgƒtƒ@ƒCƒ‹‚̃^[ƒQƒbƒgˆË‘¶•”‚Å’è‹`‚·‚é
1647INTNO_CFGINT_VALIDCTARGET_INTATRCINTPRI_CFGINT_VALID‚ð—p‚¢‚ăGƒ‰[‚ð
1648ŒŸo‚·‚邪C•W€‚ÌŠ„ž‚Ý‘®«iTA_ENAINTCTA_EDGEj‚ªÝ’è‚Å‚«‚È‚¢ê‡‚âC
1649Ý’è‚Å‚«‚È‚¢‘®«‚⊄ž‚Ý—Dæ“x‚ªŠ„ž‚Ý—v‹ƒ‰ƒCƒ“‚É‚æ‚Á‚ĈقȂéê‡‚ɂ́C
1650ƒRƒ“ƒtƒBƒMƒ…
1651ƒŒ[ƒ^ƒeƒ“ƒvƒŒ[ƒgƒtƒ@ƒCƒ‹‚̃^[ƒQƒbƒgˆË‘¶•”‚ÅŒŸo‚µ‚È‚¯‚ê
1652‚΂Ȃç‚È‚¢D
1653
16546.6.5 Š„ž‚ÝŠÇ—‹@”\‚̏‰Šú‰»ˆ—‚̕ύX
1655
1656(6-6-5-1) OMIT_INITIALIZE_INTERRUPTiƒIƒvƒVƒ‡ƒ“j
1657
1658Š„ž‚ÝŠÇ—‹@”\‚̏‰Šú‰»ˆ—‚ðƒ^[ƒQƒbƒgˆË‘¶•”‚Å—pˆÓ‚µCƒ^[ƒQƒbƒg”ñˆË‘¶
1659•”‚ÉŠÜ‚Ü‚ê‚é•W€‚ÌŠ„ž‚ÝŠÇ—‹@”\‚̏‰Šú‰»ˆ—‚ð—p‚¢‚È‚¢ê‡‚ɂ́C‚±‚̃V
1660ƒ“ƒ{ƒ‹‚ðƒ}ƒNƒ’è‹`‚·‚éD
1661
1662‚±‚̃Vƒ“ƒ{ƒ‹‚ðƒ}ƒNƒ’è‹`‚·‚é‚ƁCINHINIBCINTINIBCinitialize_interrupt
1663‚Ì’è‹`‚ªCƒJ[ƒlƒ‹‚̃^[ƒQƒbƒg”ñˆË‘¶•”‚©‚çŽæ‚菜‚©‚ê‚éD‚Ü‚½C
1664TNUM_INHNOCtnum_inhnoCinhinib_tableCTNUM_INTNOCtnum_intnoC
1665intinib_table‚Ì’è‹`‚ƁCŠ„ž‚݃nƒ“ƒhƒ‰–ˆ‚̏o“üŒûˆ—‚𐶐¬‚·‚邽‚ß‚Ì‹Lq
1666iINTHDR_ENTRYƒ}ƒNƒ‚̃ŠƒXƒgj‚ªCƒRƒ“ƒtƒBƒMƒ…
1667ƒŒ[ƒ^‚̃pƒX2‚̃eƒ“ƒvƒŒ[
1668ƒgƒtƒ@ƒCƒ‹‚̃^[ƒQƒbƒg”ñˆË‘¶•”‚É‚æ‚Á‚Äkernel_cfg.c‚ɐ¶¬‚³‚ê‚È‚­‚È‚éD
1669‚½‚¾‚µCƒRƒ“ƒtƒBƒMƒ…
1670ƒŒ[ƒ^‚̃pƒX2‚̃eƒ“ƒvƒŒ[ƒgƒtƒ@ƒCƒ‹‚̃^[ƒQƒbƒgˆË‘¶
1671•”‚ŁCUSE_INHINIB_TABLE‚ÆUSE_INTINIB_TABLE‚ðÝ’è‚·‚邱‚ƂŁC‚»‚̈ꕔ
1672•ª‚ðkernel_cfg.c‚ɐ¶¬‚·‚邱‚Æ‚ª‰Â”\‚Å‚ ‚éD
1673
1674(6-6-5-2) void initialize_interrupt(void)iƒIƒvƒVƒ‡ƒ“j
1675
1676OMIT_INITIALIZE_INTERRUPT‚ðƒ}ƒNƒ’è‹`‚µ‚½ê‡‚ɂ́C‚±‚̊֐”‚ðƒ^[ƒQƒbƒg
1677ˆË‘¶•”‚Å—pˆÓ‚·‚éDOMIT_INITIALIZE_INTERRUPT‚ðƒ}ƒNƒ’è‹`‚·‚邱‚Æ‚É‚æ‚èŽæ
1678‚菜‚©‚ê‚é‚»‚Ì‘¼‚̃f[ƒ^Œ^C•Ï”Cƒ}ƒNƒ‚́C‚±‚̊֐”‚ÅŽg—p‚·‚éê‡‚É‚Ì
1679‚Ý—pˆÓ‚·‚ê‚΂悢D
1680
16816.6.6 ƒfƒtƒHƒ‹ƒg‚ÌŠ„ž‚݃nƒ“ƒhƒ‰
1682
1683(6-6-6-1) default_int_handler(void)iƒIƒvƒVƒ‡ƒ“j
1684
1685ƒRƒ“ƒtƒBƒMƒ…
1686ƒŒ[ƒ^‚É‚æ‚芄ž‚݃nƒ“ƒhƒ‰‚̃e[ƒuƒ‹‚𐶐¬‚·‚éê‡‚Ȃǂɂ́C
1687Š„ž‚݃nƒ“ƒhƒ‰‚ð“o˜^‚µ‚È‚©‚Á‚½Š„ž‚݃nƒ“ƒhƒ‰”ԍ†‚ɑ΂µ‚āCƒfƒtƒHƒ‹ƒg‚Ì
1688Š„ž‚݃nƒ“ƒhƒ‰‚Æ‚µ‚āCdefault_int_handler‚ð“o˜^‚·‚éD
1689
1690default_int_handler‚́C•W€‚Ì‚à‚Ì‚ðƒ^[ƒQƒbƒgˆË‘¶•”‚Å—pˆÓ‚·‚邪Cƒ†[ƒU
1691‚ª—pˆÓ‚µ‚½‚à‚Ì‚Å’u‚«Š·‚¦‚ç‚ê‚é‚悤‚ɁCOMIT_DEFAULT_INT_HANDLER‚ðƒ}ƒNƒ
1692’è‹`‚µ‚½ê‡‚ɂ́Cƒ^[ƒQƒbƒgˆË‘¶•”‚Å’è‹`‚µ‚È‚¢‚悤‚É‚·‚éD‚È‚¨Cƒ†[ƒU
1693‚ª—pˆÓ‚·‚éê‡‚Ì–¼Ì‚́C_kernel_default_int_handler‚Æ‚È‚éD
1694
16956.6.7 ƒJ[ƒlƒ‹ŠÇ—ŠO‚ÌŠ„ž‚Ý
1696
1697ƒJ[ƒlƒ‹ŠÇ—ŠO‚ÌŠ„ž‚݃nƒ“ƒhƒ‰‚́CƒJ[ƒlƒ‹“à‚ÌŠ„ž‚ݏo“üŒûˆ—‚ðŒo—R‚¹
1698‚¸‚ÉŽÀs‚·‚é‚Ì‚ªŠî–{‚Å‚ ‚éD
1699
1700‚½‚¾‚µC‚·‚ׂĂ̊„ž‚Ý‚Å“¯‚¶ƒAƒhƒŒƒX‚É•ªŠò‚·‚éƒvƒƒZƒbƒT‚ł́CƒJ[ƒlƒ‹
1701“à‚ÌŠ„ž‚ݏo“üŒûˆ—‚ð‘S‚­Œo—R‚¹‚¸‚ɃJ[ƒlƒ‹ŠÇ—ŠO‚ÌŠ„ž‚݃nƒ“ƒhƒ‰‚ðŽÀ
1702s‚·‚邱‚Æ‚ª‚Å‚«‚È‚¢‚½‚߁CŠ„ž‚ݏo“üŒûˆ—‚Ì‚È‚é‚ׂ­‘‚¢ƒ^ƒCƒ~ƒ“ƒO‚ŁC
1703ƒJ[ƒlƒ‹ŠÇ—ŠO‚ÌŠ„ž‚Ý‚Å‚ ‚é‚©‚ð”»•Ê‚µCˆ—“à—e‚𕪂¯‚é•K—v‚ª‚ ‚éD‹ï
1704‘Ì“I‚ɂ́CƒJ[ƒlƒ‹ŠÇ—ŠO‚ÌŠ„ž‚݂̏o“üŒûˆ—‚ł́CƒI[ƒoƒ‰ƒ“ƒnƒ“ƒhƒ‰‚Ì
1705’âŽ~‚Æ“®ìŠJŽn‚ðs‚Á‚Ä‚Í‚È‚ç‚È‚¢D‚Ü‚½Creqflg‚ðƒ`ƒFƒbƒN‚µCƒ^ƒXƒNØŠ·
1706‚¦‚âƒ^ƒXƒN—áŠOˆ—ƒ‹[ƒ`ƒ“‚̌ďo‚µ‚ðs‚¤•K—v‚ª‚È‚¢D‚³‚ç‚ɁCNMI‚̏o“üŒû
1707ˆ—‚ł́CƒgƒŒ[ƒXƒƒOŽæ“¾ˆ—ilog_inh_enter‚¨‚æ‚Ñlog_inh_leavej‚ðŒÄ
1708‚яo‚µ‚Ä‚Í‚È‚ç‚È‚¢D
1709
1710ƒJ[ƒlƒ‹ŠÇ—ŠO‚ÌŠ„ž‚݃nƒ“ƒhƒ‰‚ðŽÀs‚·‚éÛ‚ɁCƒJ[ƒlƒ‹“à‚ÌŠ„ž‚ݏo“üŒû
1711ˆ—‚̈ꕔ•ª‚ðŒo—R‚·‚éê‡‚ɂ́CCPU—áŠO‚ª‹N‚±‚é‰Â”\«‚ð‹É—ÍŒ¸‚ç‚·‚Æ‚Æ‚à
1712‚ɁCCPU—áŠO‚ð‹N‚±‚·‰Â”\«‚ª‚ ‚éê‡‚ɂ́C‚»‚̉”\«‚ðƒ^[ƒQƒbƒgˆË‘¶•”‚Ì
1713ƒ†[ƒU[ƒYƒ}ƒjƒ…
1714ƒAƒ‹‚É‹LÚ‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢D
1715
1716ŽŸ‚ɁCƒJ[ƒlƒ‹ŠÇ—ŠO‚ÌŠ„ž‚݂̐ݒè•û–@‚ÉŠÖ‚µ‚āCuTOPPERSV¢‘ãƒJ[ƒlƒ‹
1717“‡Žd—l‘v‚́u6.6.8 ƒJ[ƒlƒ‹ŠÇ—ŠO‚ÌŠ„ž‚݂̐ݒè•û–@v‚̐߂Ì3‚‚̕û–@
1718‚Ì‚¢‚¸‚ê‚ðÌ—p‚·‚é‚©‚ðŒˆ’è‚·‚éD
1719
1720(a-1)‚Ü‚½‚Í(a-2)‚ðÌ—p‚µCƒJ[ƒlƒ‹ŠÇ—ŠO‚Æ‚µ‚½Š„ž‚݂ɑ΂µ‚āCƒJ[ƒlƒ‹
1721‚ÌAPI‚É‚æ‚銄ž‚݃nƒ“ƒhƒ‰‚Ì“o˜^‚ÆŠ„ž‚Ý—v‹ƒ‰ƒCƒ“‚Ì‘®«‚̐ݒè‚ðƒTƒ|[ƒg
1722‚µ‚È‚¢ê‡‚ɂ́C‚»‚ê‚É‘ã‚í‚é•û–@‚ðƒ^[ƒQƒbƒgˆË‘¶•”‚̃†[ƒU[ƒYƒ}ƒjƒ…
1723ƒA
1724ƒ‹‚É‹Lq‚·‚éD
1725
1726(a-1)‚Ü‚½‚Í(a-2)‚ðÌ—p‚µ‚ăJ[ƒlƒ‹‚ÌAPI‚É‚æ‚銄ž‚݃nƒ“ƒhƒ‰‚Ì“o˜^‚⊄ž
1727‚Ý—v‹ƒ‰ƒCƒ“‚Ì‘®«‚̐ݒè‚ðƒTƒ|[ƒg‚·‚éê‡‚âC(b)‚ðÌ—p‚µ‚½ê‡‚ɂ́Cƒ^[
1728ƒQƒbƒgˆË‘¶•”‚É‚¨‚¢‚Ä‚»‚ê‚ðŽÀŒ»‚·‚é•K—v‚ª‚ ‚éD
1729
1730ƒJ[ƒlƒ‹ŠÇ—ŠO‚ÌŠ„ž‚݂ɑ΂µ‚āCDEF_INH‚É‚æ‚銄ž‚݃nƒ“ƒhƒ‰‚Ì“o˜^‚ðƒTƒ|[
1731ƒg‚·‚é‚ɂ́CŽŸ‚̐ݒ肪•K—v‚É‚È‚éD
1732
1733ETARGET_INHATR‚ɁCTA_NONKERNEL‚ðÝ’è‚·‚éD
1734
1735E(a-1)‚Ü‚½‚Í(a-2)‚ðÌ—p‚µ‚½ê‡‚ɂ́CINHNO_DEFINH_VALID‚ɁCƒJ[ƒlƒ‹ŠÇ
1736@—ŠO‚Æ‚µ‚½Š„ž‚݂ɑΉž‚·‚銄ž‚݃nƒ“ƒhƒ‰”ԍ†‚ðŠÜ‚ß‚éD‚Ü‚½C
1737@VALID_INHNO_DEFINH‚ðCƒJ[ƒlƒ‹ŠÇ—ŠO‚Æ‚µ‚½Š„ž‚݃nƒ“ƒhƒ‰”ԍ†‚ð—LŒø‚È
1738@’l‚Æ”»’è‚·‚é‚悤‚É‚·‚éD
1739
1740E(a-1)‚Ü‚½‚Í(a-2)‚ðÌ—p‚µ‚½ê‡‚ɂ́CINHNO_FIX_KERNEL‚ɃJ[ƒlƒ‹ŠÇ—‚Æ
1741@‚µ‚½Š„ž‚݃nƒ“ƒhƒ‰”ԍ†‚̃ŠƒXƒg‚ðCINHNO_FIX_NONKERNEL‚ɃJ[ƒlƒ‹ŠÇ—ŠO
1742@‚Æ‚µ‚½Š„ž‚݃nƒ“ƒhƒ‰”ԍ†‚̃ŠƒXƒgÝ’è‚·‚éD
1743
1744EDEF_INH‚ªƒJ[ƒlƒ‹ŠÇ—ŠO‚ÌŠ„ž‚݂ɑΉž‚Å‚«‚é‚悤‚É‚·‚éD•W€‚ÌŠ„ž‚ÝŠÇ
1745@—‹@”\‚̏‰Šú‰»ˆ—‚ð—p‚¢‚éê‡‚ɂ́Cx_define_inh‚ðƒJ[ƒlƒ‹ŠÇ—ŠO‚ÌŠ„
1746@ž‚݂ɑΉž‚³‚¹‚éD
1747
1748E•K—v‚ȏꍇ‚ɂ́CTA_NONKERNEL‘®«‚ªÝ’肳‚ꂽŠ„ž‚݃nƒ“ƒhƒ‰‚ðƒJ[ƒlƒ‹
1749@ŠÇ—ŠO‚ƈµ‚¤‚悤‚ɁCƒJ[ƒlƒ‹“à‚ÌŠ„ž‚ݏo“üŒûˆ—‚ðC³‚·‚éD•W€‚ÌŠ„
1750@ž‚ÝŠÇ—‹@”\‚̏‰Šú‰»ˆ—‚ð—p‚¢‚éê‡CƒJ[ƒlƒ‹ŠÇ—ŠO‚ÌŠ„ž‚݂ɑ΂µ‚Ä
1751@‚́CƒJ[ƒlƒ‹“à‚ÌŠ„ž‚ݏo“üŒûˆ—‚𐶐¬‚¹‚¸CƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ª“o˜^‚µ
1752@‚½Š„ž‚݃nƒ“ƒhƒ‰‚𒼐ڌĂяo‚·‚悤‚ɁCƒ^[ƒQƒbƒg”ñˆË‘¶•”‚É‚æ‚èÝ’肳
1753@‚ê‚邽‚߁Cƒ^[ƒQƒbƒgˆË‘¶•”‚ł͑Ήž‚·‚é•K—v‚ª‚È‚¢D
1754
1755ƒJ[ƒlƒ‹ŠÇ—ŠO‚ÌŠ„ž‚݂ɑ΂µ‚āCCFG_INT‚É‚æ‚銄ž‚Ý—v‹ƒ‰ƒCƒ“‚Ì‘®«‚̐Ý
1756’è‚ðƒTƒ|[ƒg‚·‚é‚ɂ́CŽŸ‚̐ݒ肪•K—v‚É‚È‚éD
1757
1758E(a-1)‚Ü‚½‚Í(a-2)‚ðÌ—p‚µ‚½ê‡‚ɂ́CINTNO_CFGINT_VALID‚ɁCƒJ[ƒlƒ‹ŠÇ
1759@—ŠO‚Æ‚µ‚½Š„ž‚݂ɑΉž‚·‚銄ž‚ݔԍ†‚ðŠÜ‚ß‚éD‚Ü‚½CVALID_INTNO_CFGINT
1760@‚ðCƒJ[ƒlƒ‹ŠÇ—ŠO‚Æ‚µ‚½Š„ž‚ݔԍ†‚ð—LŒø‚È’l‚Æ”»’è‚·‚é‚悤‚É‚·‚éD
1761
1762E(a-1)‚Ü‚½‚Í(a-2)‚ðÌ—p‚µ‚½ê‡‚ɂ́CINTNO_FIX_KERNEL‚ɃJ[ƒlƒ‹ŠÇ—‚Æ
1763@‚µ‚½Š„ž‚ݔԍ†‚̃ŠƒXƒg‚ðCINTNO_FIX_NONKERNEL‚ɃJ[ƒlƒ‹ŠÇ—ŠO‚Æ‚µ‚½Š„
1764@ž‚ݔԍ†‚̃ŠƒXƒgÝ’è‚·‚éD
1765
1766EINTPRI_CFGINT_VALID‚ɁCƒJ[ƒlƒ‹ŠÇ—ŠO‚ÌŠ„ž‚Ý‚Æ‚È‚é—Dæ“x‚ðŠÜ‚ß‚éD
1767
1768ECFG_INT‚ªƒJ[ƒlƒ‹ŠÇ—ŠO‚ÌŠ„ž‚݂ɑΉž‚Å‚«‚é‚悤‚É‚·‚éD•W€‚ÌŠ„ž‚ÝŠÇ
1769@—‹@”\‚̏‰Šú‰»ˆ—‚ð—p‚¢‚éê‡‚ɂ́Cx_config_int‚ðƒJ[ƒlƒ‹ŠÇ—ŠO‚ÌŠ„
1770@ž‚݂ɑΉž‚³‚¹‚éD
1771
1772chg_ipm‚É‚æ‚èCiNMIˆÈŠO‚́jƒJ[ƒlƒ‹ŠÇ—ŠO‚ÌŠ„ž‚Ý‚ðƒ}ƒXƒN‚Å‚«‚é‚悤‚É
1773‚·‚éê‡‚ɂ́CŽŸ‚̐ݒ肪•K—v‚É‚È‚éD
1774
1775EVALID_INTPRI_CHGIPM‚ðCƒJ[ƒlƒ‹ŠÇ—ŠO‚ÌŠ„ž‚Ý‚Æ‚È‚é—Dæ“x‚ð—LŒø‚È’l‚Æ
1776@”»’è‚·‚é‚悤‚É‚·‚éD
1777
1778Et_set_ipm‚ðCƒJ[ƒlƒ‹ŠÇ—ŠO‚ÌŠ„ž‚Ý‚Æ‚È‚é—Dæ“x‚ðˆµ‚¦‚é‚悤‚É‚·‚éD
1779
17806.7 CPU—áŠOƒnƒ“ƒhƒ‰‚ÆCPU—áŠO”­¶Žž‚̃VƒXƒeƒ€ó‘Ô‚ÌŽQÆ
1781
17826.7.1 CPU—áŠOƒnƒ“ƒhƒ‰‚̏o“üŒûˆ—
1783
1784CPU—áŠO‚̏o“üŒûˆ—‚Ì•û–@‚̓vƒƒZƒbƒT‚É‚æ‚Á‚Ä‘å‚«‚­ˆÙ‚Ȃ邪C‚¨‚¨‚æ‚»‚Ì
1785ˆ—“à—e‚ÍŽŸ‚Ì’Ê‚èD
1786
1787----------------------------------------
1788void
1789<CPU—áŠO‚̏o“üŒûˆ—>(void)
1790{
1791 ƒXƒNƒ‰ƒbƒ`ƒŒƒWƒXƒ^‚ðƒXƒ^ƒbƒN‚É•Û‘¶‚·‚é
1792 if (ƒJ[ƒlƒ‹ŠÇ—ŠO‚ÌCPU—áŠO) {
1793 if (ƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg‚ÅCPU—áŠO”­¶) {
1794 ”ñƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg‚ɐ؂芷‚¦‚é
1795 }
1796 ƒVƒXƒeƒ€ó‘ԁiƒRƒ“ƒeƒLƒXƒg‚͏œ‚­j‚ðCCPU—áŠO”­¶Žž‚̏ó‘Ô‚É‚·‚é
1797 CPU—áŠOƒnƒ“ƒhƒ‰‚ðCCPU—áŠO‚̏î•ñ‚ð‹L‰¯‚µ‚Ä‚¢‚é—̈æ‚̐擪”Ô’n‚ð
1798 ƒpƒ‰ƒ[ƒ^ip_excinfj‚Æ‚µ‚ČĂяo‚·
1799 if (ƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg‚ÅCPU—áŠO”­¶) {
1800 ƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg‚ɐ؂芷‚¦‚é
1801 }
1802 CPU—áŠOˆ—‚©‚ç‚̃Šƒ^[ƒ“Œã‚ɁCCPU—áŠO”­¶Žž‚̃VƒXƒeƒ€ó‘Ô‚É
1803 –ß‚é‚悤‚ɏ€”õ‚·‚é
1804 }
1805 else {
1806 if (ƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg‚ÅCPU—áŠO”­¶) {
1807 ”ñƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg‚ɐ؂芷‚¦‚é
1808 }
1809 ƒVƒXƒeƒ€ó‘ԁiƒRƒ“ƒeƒLƒXƒg‚͏œ‚­j‚ðCCPU—áŠO”­¶Žž‚̏ó‘Ô‚É‚·‚é
1810 @iCPU—áŠO”­¶Žž‚ÌŠ„ž‚Ý—Dæ“xƒ}ƒXƒN‚æ‚è‚à—Dæ“x‚̍‚‚¢Š„ž‚Ý
1811 ‚Ì‚Ý‚ðŽó‚¯•t‚¯‚ç‚ê‚é‚悤‚É‚µ‚āCCPUƒƒbƒN‰ðœó‘Ô‚É‚·‚éj
1812
1813#ifdef LOG_EXC_ENTER
1814 log_exc_enter(CPU—áŠOƒnƒ“ƒhƒ‰”ԍ†);
1815#endif /* LOG_EXC_ENTER */
1816 CPU—áŠOƒnƒ“ƒhƒ‰‚ðCCPU—áŠO‚̏î•ñ‚ð‹L‰¯‚µ‚Ä‚¢‚é—̈æ‚̐擪”Ô’n‚ð
1817 ƒpƒ‰ƒ[ƒ^ip_excinfj‚Æ‚µ‚ČĂяo‚·
1818#ifdef LOG_EXC_LEAVE
1819 log_exc_leave(CPU—áŠOƒnƒ“ƒhƒ‰”ԍ†);
1820#endif /* LOG_EXC_LEAVE */
1821
1822 ret_exc:
1823 if (ƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg‚ÅCPU—áŠO”­¶) {
1824 i­‚È‚­‚Æ‚àjƒJ[ƒlƒ‹ŠÇ—‚ÌŠ„ž‚Ý‚ð‹ÖŽ~‚µ‚½ó‘Ô‚É‚·‚é c (*d)
1825 ƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg‚ɐ؂芷‚¦‚é
1826 if (reqflg) {
1827 reqflg = false;
1828 CPUƒƒbƒNó‘Ô‚É‚·‚é c (*e)
1829 search_schedtsk‚ðŒÄ‚яo‚µCÅ‚—Dæ‡ˆÊƒ^ƒXƒN‚ð‹‚ß‚é
1830 Å‚—Dæ‡ˆÊ‚̃^ƒXƒNID‚ðˆø”‚É‚µ‚Ärun_task‚É•ªŠò‚·‚é
1831 }
1832 }
1833 CPU—áŠOˆ—‚©‚ç‚̃Šƒ^[ƒ“Œã‚ɁCCPUƒƒbƒN‰ðœó‘Ô‚É–ß‚é‚悤‚ɏ€”õ‚·‚é
1834 }
1835 ƒXƒNƒ‰ƒbƒ`ƒŒƒWƒXƒ^‚ðƒXƒ^ƒbƒN‚©‚ç•œ‹A‚·‚é
1836 CPU—áŠOˆ—‚©‚ç‚̃Šƒ^[ƒ“
1837}
1838----------------------------------------
1839
1840CPU—áŠOƒnƒ“ƒhƒ‰‚́C”ñƒRƒ“ƒeƒLƒXƒg‚ɐ؂芷‚¦‚邱‚Æ‚ðœ‚¢‚ẮCCPU—áŠO”­
1841¶Žž‚Æ“¯‚¶ƒVƒXƒeƒ€ó‘ԂŌĂяo‚³‚È‚¯‚ê‚΂Ȃç‚È‚¢D—Ⴆ‚΁CCPU—áŠO‚ªCPU
1842ƒƒbƒNó‘Ô‚Å”­¶‚µ‚½ê‡‚É‚ÍCPUƒƒbƒNó‘ԁCCPUƒƒbƒN‰ðœó‘Ô‚Å”­¶‚µ‚½
1843ê‡‚É‚ÍCPUƒƒbƒN‰ðœó‘ԂŁCCPU—áŠOƒnƒ“ƒhƒ‰‚ðŒÄ‚яo‚³‚È‚¯‚ê‚΂Ȃç‚È‚¢D
1844CPUƒƒbƒNó‘Ô‚Å”­¶‚µ‚½CPU—áŠO‚́CƒJ[ƒlƒ‹ŠÇ—ŠO‚ÌCPU—áŠO‚ƂȂ邽‚߁CƒJ[
1845ƒlƒ‹ŠÇ—‚ÌCPU—áŠOƒnƒ“ƒhƒ‰‚ɂ‚¢‚ẮCCPUƒƒbƒN‰ðœó‘ԂŌĂяo‚·‚±‚Æ‚É
1846‚È‚éD
1847
1848ƒJ[ƒlƒ‹ŠÇ—ŠO‚ÌCPU—áŠO‚Å‚ ‚邱‚Ƃ́Cexc_sense_unlock‚ªfalse‚ð•Ô‚·ðŒ
1849‚ƁCƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg‚Å‚ ‚邱‚Ƃ𒲂ׂȂ¢‚¾‚¯‚̈Ⴂ‚Å‚ ‚èC‚Ù‚Ú“¯‚¶ƒR[
1850ƒh‚Å”»’è‚·‚邱‚Æ‚ª‚Å‚«‚éD
1851
1852ã‚̃R[ƒh‚ł́CƒJ[ƒlƒ‹ŠÇ—ŠO‚ÌCPU—áŠO‚ɑ΂µ‚āCƒgƒŒ[ƒXƒƒOŽæ“¾ˆ—
1853ilog_exc_enter‚¨‚æ‚Ñlog_exc_leavej‚ðŒÄ‚яo‚µ‚Ä‚¢‚È‚¢‚ªC‘SŠ„ž‚݃ƒb
1854ƒNó‘Ô‚©NMI‚̏ˆ—’†‚ÉCPU—áŠO‚ª”­¶‚µ‚½ê‡‚ðœŠO‚·‚ê‚΁CŒÄ‚яo‚µ‚Ä‚à‚©
1855‚Ü‚í‚È‚¢D‘SŠ„ž‚݃ƒbƒNó‘Ô‚©NMI‚̏ˆ—’†‚É”­¶‚µ‚½CPU—áŠO‚̏ꍇ‚ɂ́C
1856ƒgƒŒ[ƒXƒƒOŽæ“¾ˆ—‚ðŒÄ‚яo‚µ‚Ä‚Í‚È‚ç‚È‚¢D
1857
1858CPU—áŠOƒnƒ“ƒhƒ‰‚ðŽÀs‚·‚éÛ‚ÉŒo—R‚·‚é•”•ª‚ł́CCPU—áŠO‚ª‹N‚±‚é‰Â”\«‚ð
1859‹É—ÍŒ¸‚ç‚·‚Æ‚Æ‚à‚ɁCCPU—áŠO‚ð‹N‚±‚·‰Â”\«‚ª‚ ‚éê‡i—Ⴆ‚΁CƒXƒNƒ‰ƒbƒ`
1860ƒŒƒWƒXƒ^‚ðƒXƒ^ƒbƒN‚É•Û‘¶‚·‚鎞‚ɁCƒoƒXƒGƒ‰[‚È‚Ç‚ÌCPU—áŠO‚ª”­¶‚·‚é‰Â”\
1861«‚ªl‚¦‚ç‚ê‚éj‚ɂ́C‚»‚̉”\«‚ðƒ^[ƒQƒbƒgˆË‘¶•”‚̃†[ƒU[ƒYƒ}ƒjƒ…
1862ƒA
1863ƒ‹‚É‹LÚ‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢D
1864
1865ret_excˆÈ~‚̏ˆ—‚́CŠ„ž‚݂̏o“üŒûˆ—‚Ìret_intˆÈ~‚̏ˆ—‚Æ“¯‚¶‚Å‚ ‚é
1866‚½‚߁Cƒ^[ƒQƒbƒg‚É‚æ‚Á‚ẮC‹¤’ʂ̃‹[ƒ`ƒ“‚ð—p‚¢‚邱‚Æ‚ª‚Å‚«‚é‰Â”\«‚ª
1867‚ ‚éD
1868
1869CPU—áŠO‚̏o“üŒûˆ—‚ðƒAƒZƒ“ƒuƒŠŒ¾Œê‚Å‹Lq‚·‚éê‡‚ɂ́CƒgƒŒ[ƒXƒƒOŽæ“¾
1870ˆ—‚́Cu6.2 ƒgƒŒ[ƒXƒƒO‹@”\‚ւ̑Ήžv‚̐߂ŋLq‚µ‚½•û–@‚ŃR[ƒfƒBƒ“
1871ƒO‚·‚邱‚ƁD
1872
18736.7.2 CPU—áŠOƒnƒ“ƒhƒ‰‚̏o“üŒûˆ—‚̐¶¬
1874
1875CPU—áŠOƒxƒNƒgƒ‹‚ðƒn[ƒhƒEƒFƒA‚ÅŽÀŒ»‚µ‚Ä‚¢‚éê‡‚ȂǁCCPU—áŠOƒnƒ“ƒhƒ‰–ˆ
1876‚ɏo“üŒûˆ—‚ð—pˆÓ‚µ‚½•û‚ªŒø—¦‚ª—Ç‚¢ƒ^[ƒQƒbƒg‚Ì‚½‚߂ɁCCPU—áŠOƒnƒ“ƒhƒ‰
1877–ˆ‚ɏo“üŒûˆ—‚𐶐¬‚·‚é‹@\‚ð—pˆÓ‚µ‚Ä‚¢‚éD
1878
1879ˆÈ‰º‚̃}ƒNƒ‚́C•W€‚ÌCPU—áŠOŠÇ—‹@”\‚̏‰Šú‰»ˆ—‚ð—p‚¢‚½ê‡‚̂݁Cƒ^[
1880ƒQƒbƒg”ñˆË‘¶•”‚ÅŽg‚í‚ê‚éDCPU—áŠOŠÇ—‹@”\‚̏‰Šú‰»ˆ—‚ðƒ^[ƒQƒbƒgˆË‘¶•”
1881‚Å—pˆÓ‚µC‚»‚Ì’†‚Å‚±‚ê‚ç‚̃}ƒNƒ‚ðŽg‚í‚È‚¢ê‡‚ɂ́C‚±‚ê‚ç‚̃}ƒNƒ‚ð—p
1882ˆÓ‚·‚é•K—v‚Í‚È‚¢D
1883
1884(6-7-2-1) EXC_ENTRY(excno, exchdr)
1885
1886CPU—áŠOƒnƒ“ƒhƒ‰”ԍ†‚ªexcnoCCPU—áŠOƒnƒ“ƒhƒ‰‚̊֐”–¼‚ªexchdr‚Å‚ ‚éCPU—á
1887ŠOƒnƒ“ƒhƒ‰‚̏o“üŒûˆ—‚̃‰ƒxƒ‹‚ðì‚éƒ}ƒNƒDEXCHDR_ENTRY‚ð—p‚¢‚ÄCPU—áŠO
1888ƒnƒ“ƒhƒ‰–ˆ‚ɏo“üŒûˆ—‚𐶐¬‚·‚éê‡‚ɂ́CŽŸ‚̂悤‚É’è‹`‚·‚éD
1889
1890#define EXC_ENTRY(excno, exchdr) _kernel_##exchdr##_##excno
1891
1892CPU—áŠOƒnƒ“ƒhƒ‰–ˆ‚ɏo“üŒûˆ—‚ðì‚é•K—v‚ª‚È‚¢ê‡‚ɂ́CŽŸ‚̂悤‚É’è‹`‚µ
1893‚āCCPU—áŠOƒnƒ“ƒhƒ‰‚̊֐”–¼‚ð‚»‚Ì‚Ü‚Ü•Ô‚·D
1894
1895#define EXC_ENTRY(excno, exchdr) exchdr
1896
1897(6-7-2-2) EXCHDR_ENTRY(excno, excno_num, exchdr)
1898
1899CPU—áŠOƒnƒ“ƒhƒ‰”ԍ†‚ªexcnoCCPU—áŠOƒnƒ“ƒhƒ‰‚̊֐”–¼‚ªexchdr‚Å‚ ‚éCPU—á
1900ŠOƒnƒ“ƒhƒ‰‚̏o“üŒûˆ—‚𐶐¬‚·‚éƒ}ƒNƒDexcno_num‚ɂ́CƒAƒZƒ“ƒuƒŠŒ¾Œê‹L
1901q—p‚ɁCCPU—áŠOƒnƒ“ƒhƒ‰”ԍ†‚ª”’l‚Å“n‚³‚ê‚éDCPU—áŠOƒnƒ“ƒhƒ‰–ˆ‚ɏo“üŒû
1902ˆ—‚ðì‚é•K—v‚ª‚È‚¢ê‡‚ɂ́C‹ó‚É’è‹`‚·‚éD
1903
19046.7.3 CPU—áŠOƒnƒ“ƒhƒ‰‚̐ݒè
1905
1906(6-7-3-1) bool_t VALID_EXCNO_DEFEXC(EXCNO excno)iƒIƒvƒVƒ‡ƒ“j
1907
1908excno‚ªCDEF_EXC‚ɑ΂·‚éCPU—áŠOƒnƒ“ƒhƒ‰”ԍ†‚Æ‚µ‚Ä—LŒø‚È’l‚Å‚ ‚éê‡‚É
1909trueC‚»‚¤‚Å‚È‚¢ê‡‚Éfalse‚ð•Ô‚·ƒ}ƒNƒD
1910
1911SSPƒJ[ƒlƒ‹‚̃^[ƒQƒbƒg”ñˆË‘¶•”‚ł́C‚±‚̃}ƒNƒ‚ÍŽg‚í‚ê‚Ä‚¢‚È‚¢‚½‚߁Cƒ^[
1912ƒQƒbƒgˆË‘¶•”‚ÅŽg‚í‚È‚¢‚È‚çC—pˆÓ‚·‚é•K—v‚ª‚È‚¢D
1913
1914(6-7-3-2) void x_define_exc(EXCNO excno, FP exc_entry)
1915
1916excno‚ÅŽw’肳‚ꂽCPU—áŠOƒnƒ“ƒhƒ‰‚̏o“üŒûˆ—‚̔Ԓn‚ðexc_entry‚ɐݒ肷‚éD
1917
1918‚±‚̊֐”‚́C•W€‚ÌCPU—áŠOŠÇ—‹@”\‚̏‰Šú‰»ˆ—‚ð—p‚¢‚½ê‡‚̂݁Cƒ^[ƒQƒb
1919ƒg”ñˆË‘¶•”‚©‚çŒÄ‚яo‚³‚ê‚éDCPU—áŠOŠÇ—‹@”\‚̏‰Šú‰»ˆ—‚ðƒ^[ƒQƒbƒgˆË‘¶
1920•”‚Å—pˆÓ‚µC‚»‚Ì’†‚Å‚±‚̊֐”‚ðŒÄ‚яo‚³‚È‚¢ê‡‚ɂ́C‚±‚̊֐”‚ð—pˆÓ‚·‚é
1921•K—v‚Í‚È‚¢D
1922
1923‚±‚̊֐”‚́Cƒ^[ƒQƒbƒg”ñˆË‘¶•”‚̃J[ƒlƒ‹‰Šú‰»ˆ—‚©‚çŒÄ‚яo‚³‚ê‚邽‚߁C
1924ƒJ[ƒlƒ‹‚̏‰Šú‰»ˆ—iNMI‚ðœ‚­‚·‚ׂĂ̊„ž‚Ý‚ªƒ}ƒXƒN‚³‚ê‚Ä‚¢‚éj‚©‚çŒÄ
1925‚яo‚¹‚é‚悤‚ÉŽÀ‘•‚·‚ê‚΂悢D
1926
1927Žw’肳‚ꂽCPU—áŠOƒnƒ“ƒhƒ‰”ԍ†‚ªDEF_EXC‚ɑ΂·‚é‚à‚Ì‚Æ‚µ‚Ä—LŒø‚È’l‚Å‚È‚¢
1928ê‡‚Ì“®ì‚͕ۏ؂·‚é•K—v‚ª‚È‚¢iassert‚ŃGƒ‰[‚Æ‚·‚é‚Ì‚ª–]‚Ü‚µ‚¢jD‚±
1929‚ê‚́CƒRƒ“ƒtƒBƒMƒ…
1930ƒŒ[ƒ^‚ªCƒpƒX2‚̃eƒ“ƒvƒŒ[ƒgƒtƒ@ƒCƒ‹‚̃^[ƒQƒbƒgˆË‘¶
1931•”‚Å’è‹`‚·‚éEXCNO_DEFEXC_VALID‚ð—p‚¢‚ăGƒ‰[‚ðŒŸo‚·‚邽‚ß‚Å‚ ‚éD
1932
19336.7.4 CPU—áŠOŠÇ—‹@”\‚̏‰Šú‰»ˆ—‚̕ύX
1934
1935(6-7-4-1) OMIT_INITIALIZE_EXCEPTIONiƒIƒvƒVƒ‡ƒ“j
1936
1937CPU—áŠOŠÇ—‹@”\‚̏‰Šú‰»ˆ—‚ðƒ^[ƒQƒbƒgˆË‘¶•”‚Å—pˆÓ‚µCƒ^[ƒQƒbƒg”ñˆË‘¶
1938•”‚ÉŠÜ‚Ü‚ê‚é•W€‚ÌŠ„ž‚ÝŠÇ—‹@”\‚̏‰Šú‰»ˆ—‚ð—p‚¢‚È‚¢ê‡‚ɂ́C‚±‚̃V
1939ƒ“ƒ{ƒ‹‚ðƒ}ƒNƒ’è‹`‚·‚éD
1940
1941‚±‚̃Vƒ“ƒ{ƒ‹‚ðƒ}ƒNƒ’è‹`‚·‚é‚ƁCEXCINIB‚Æinitialize_exception‚Ì’è‹`‚ªC
1942ƒJ[ƒlƒ‹‚̃^[ƒQƒbƒg”ñˆË‘¶•”‚©‚çŽæ‚菜‚©‚ê‚éD‚Ü‚½CTNUM_EXCNOC
1943tnum_excnoCexcinib_table‚Ì’è‹`‚ƁCCPU—áŠOƒnƒ“ƒhƒ‰–ˆ‚̏o“üŒûˆ—‚𐶐¬
1944‚·‚邽‚ß‚Ì‹LqiEXCHDR_ENTRYƒ}ƒNƒ‚̃ŠƒXƒgj‚ðCƒRƒ“ƒtƒBƒMƒ…
1945ƒŒ[ƒ^‚̃p
1946ƒX2‚̃eƒ“ƒvƒŒ[ƒgƒtƒ@ƒCƒ‹‚̃^[ƒQƒbƒg”ñˆË‘¶•”‚É‚æ‚Á‚Äkernel_cfg.c‚ɐ¶¬
1947‚³‚ê‚È‚­‚È‚éD
1948
1949(6-7-4-2) void initialize_exception(void)iƒIƒvƒVƒ‡ƒ“j
1950
1951OMIT_INITIALIZE_EXCEPTION‚ðƒ}ƒNƒ’è‹`‚µ‚½ê‡‚ɂ́C‚±‚̊֐”‚ðƒ^[ƒQƒbƒg
1952ˆË‘¶•”‚Å—pˆÓ‚·‚éDOMIT_INITIALIZE_EXCEPTION‚ðƒ}ƒNƒ’è‹`‚·‚邱‚Æ‚É‚æ‚èŽæ
1953‚菜‚©‚ê‚é‚»‚Ì‘¼‚̃f[ƒ^Œ^C•Ï”Cƒ}ƒNƒ‚́C‚±‚̊֐”‚ÅŽg—p‚·‚éê‡‚É‚Ì
1954‚Ý—pˆÓ‚·‚ê‚΂悢D
1955
19566.7.5 ƒfƒtƒHƒ‹ƒg‚ÌCPU—áŠOƒnƒ“ƒhƒ‰
1957
1958(6-7-5-1) default_exc_handler(void)iƒIƒvƒVƒ‡ƒ“j
1959
1960ƒRƒ“ƒtƒBƒMƒ…
1961ƒŒ[ƒ^‚É‚æ‚èCPU—áŠOƒnƒ“ƒhƒ‰‚̃e[ƒuƒ‹‚𐶐¬‚·‚éê‡‚Ȃǂɂ́C
1962CPU—áŠOƒnƒ“ƒhƒ‰‚ð“o˜^‚µ‚È‚©‚Á‚½CPU—áŠOƒnƒ“ƒhƒ‰”ԍ†‚ɑ΂µ‚āCƒfƒtƒHƒ‹ƒg
1963‚ÌCPU—áŠOƒnƒ“ƒhƒ‰‚Æ‚µ‚āCdefault_exc_handler‚ð“o˜^‚·‚éD
1964
1965default_exc_handler‚́C•W€‚Ì‚à‚Ì‚ðƒ^[ƒQƒbƒgˆË‘¶•”‚Å—pˆÓ‚·‚邪Cƒ†[ƒU
1966‚ª—pˆÓ‚µ‚½‚à‚Ì‚Å’u‚«Š·‚¦‚ç‚ê‚é‚悤‚ɁCOMIT_DEFAULT_EXC_HANDLER‚ðƒ}ƒNƒ
1967’è‹`‚µ‚½ê‡‚ɂ́Cƒ^[ƒQƒbƒgˆË‘¶•”‚Å’è‹`‚µ‚È‚¢‚悤‚É‚·‚éD‚È‚¨Cƒ†[ƒU
1968‚ª—pˆÓ‚·‚éê‡‚Ì–¼Ì‚́C_kernel_default_exc_handler‚Æ‚È‚éD
1969
19706.8 ƒJ[ƒlƒ‹‚Ì‹N“®EI—¹‚ƃXƒ^ƒbƒN—̈æ‚È‚Ç
1971
1972(6-8-1) ƒXƒ^[ƒgƒAƒbƒvƒ‚ƒWƒ…
1973[ƒ‹
1974
1975ƒJ[ƒlƒ‹‚̃Xƒ^[ƒgƒAƒbƒvƒ‚ƒWƒ…
1976[ƒ‹‚́CƒVƒXƒeƒ€‚̃ŠƒZƒbƒgŒã‚ɍŏ‰‚ÉŽÀs
1977‚³‚ê‚éƒvƒƒOƒ‰ƒ€‚Å‚ ‚éDƒXƒ^[ƒgƒAƒbƒvƒ‚ƒWƒ…
1978[ƒ‹‚́C•W€“I‚ɂ́CƒvƒƒZƒb
1979ƒTˆË‘¶•”‚Ü‚½‚̓`ƒbƒvˆË‘¶•”‚Å—pˆÓ‚µˆÈ‰º‚̏ˆ—‚ðs‚¤‚ªC‚»‚ê‚É‚±‚¾‚í‚é•K
1980—v‚Í‚È‚¢D‹ï‘Ì“I‚ɂ́CŠJ”­ŠÂ‹«‚É—pˆÓ‚³‚ê‚Ä‚¢‚éƒXƒ^[ƒgƒAƒbƒvƒ‚ƒWƒ…
1981[ƒ‹
1982‚ð—p‚¢‚é•û–@i‚±‚̏ꍇCƒ^[ƒQƒbƒgˆË‘¶•”‚ÅmainŠÖ”‚ð—pˆÓ‚·‚é•K—v‚ª‚ ‚éj
1983‚âCƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Å—pˆÓ‚·‚éê‡‚ªl‚¦‚ç‚ê‚éD
1984
1985(a) ƒvƒƒZƒbƒTó‘Ԃ̏‰Šú‰»
1986
1987ƒvƒƒZƒbƒTƒ‚[ƒhCƒXƒ^ƒbƒNƒ|ƒCƒ“ƒ^CƒtƒŒ[ƒ€ƒ|ƒCƒ“ƒ^“™CƒvƒƒZƒbƒT‚̏ó
1988‘Ô‚ð‰Šú‰»‚·‚éD‚Ü‚½CNMI‚ðœ‚­‚·‚ׂĂ̊„ž‚Ý‚ðƒ}ƒXƒN‚µ‚½ó‘ԁi‘SŠ„ž‚Ý
1989ƒƒbƒNó‘Ô‚Æ“¯“™‚̏ó‘ԁj‚Æ‚·‚éDDRAMƒRƒ“ƒgƒ[ƒ‰‚̏‰Šú‰»‚ȂǁCƒƒ‚ƒŠ‚ð
1990ƒAƒNƒZƒX‚·‚邽‚ß‚É•K—v‚ȏ‰Šú‰»ˆ—‚ð‚±‚±‚ōs‚Á‚Ä‚à‚æ‚¢iŽŸ‚Ì
1991hardware_init_hook‚ōs‚Á‚Ä‚à‚æ‚¢jD
1992
1993(b) hardware_init_hook‚ðŒÄ‚яo‚·
1994
1995ƒVƒXƒeƒ€‚̃ŠƒZƒbƒgŒã‚·‚®‚ɍs‚¤•K—v‚Ì‚ ‚éƒ^[ƒQƒbƒgƒVƒXƒeƒ€ˆË‘¶‚̏‰Šú‰»
1996ˆ—‚ðs‚¤‚½‚߂ɁChardware_init_hook‚ðŒÄ‚яo‚·Dhardware_init_hook‚ª—p
1997ˆÓ‚³‚ê‚Ä‚¢‚È‚¢ê‡‚́C‰½‚à‚µ‚È‚¢DGNUŠJ”­ŠÂ‹«‚ł́CƒŠƒ“ƒJƒXƒNƒŠƒvƒg’†‚Ì
1998weak definition‚É‚æ‚èChardware_init_hook‚ª—pˆÓ‚³‚ê‚Ä‚¢‚È‚¢ê‡‚Ì’l‚ð0
1999‚Æ‚·‚邱‚ƂŁC‚±‚ê‚ðŽÀŒ»‚Å‚«‚éDweak definition‚Ì‹@”\‚ðŽ‚½‚È‚¢ŠJ”­ŠÂ‹«
2000‚ł́Chardware_init_hook‚ð•K‚¸ŒÄ‚яo‚·‚±‚Æ‚É‚·‚éD
2001
2002hardware_init_hook‚́Cƒ^[ƒQƒbƒgˆË‘¶•”‚Å—pˆÓ‚·‚é‚Ì‚ª•W€‚Å‚ ‚邪CƒVƒX
2003ƒeƒ€‚̃ŠƒZƒbƒgŒã‚·‚®‚ɍs‚¤•K—v‚Ì‚ ‚鏉Šú‰»ˆ—‚ð’ljÁ‚·‚邽‚߂ɁCƒAƒvƒŠ
2004ƒP[ƒVƒ‡ƒ“‚Å—pˆÓ‚µ‚½‚à‚Ì‚ð—p‚¢‚éê‡‚à‚ ‚éD
2005
2006ƒƒ‚ƒŠƒAƒNƒZƒX‚É•K—v‚ȏ‰Šú‰»ˆ—‚ðhardware_init_hook‚ōs‚¤ê‡‚ɂ́C‚±
2007‚ê‚ðŒÄ‚яo‚·Žž“_‚сƒ‚ƒŠ‚ɃAƒNƒZƒX‚·‚邱‚Æ‚ª‚Å‚«‚È‚¢‚½‚߁CŠÖ”iƒTƒuƒ‹[
2008ƒ`ƒ“j‚ðŒÄ‚яo‚·‚½‚߂ɃXƒ^ƒbƒN‚ðŽg—p‚·‚éƒvƒƒZƒbƒT‚ł́C–ß‚è”Ô’n‚ð”Ä—p
2009ƒŒƒWƒXƒ^‚É“ü‚ê‚ČĂяo‚·‚Æ‚¢‚Á‚½H•v‚ª•K—v‚Å‚ ‚éD‚±‚̏ꍇC
2010hardware_init_hook‚ðCŒ¾Œê‚Å‹Lq‚·‚邱‚Æ‚Í‚Å‚«‚È‚­‚Ȃ邪C‚â‚Þ‚ð‚¦‚È‚¢D
2011
2012(c) bssƒZƒNƒVƒ‡ƒ“‚ÆdataƒZƒNƒVƒ‡ƒ“‚̏‰Šú‰»
2013
2014bssƒZƒNƒVƒ‡ƒ“‚ðƒNƒŠƒA‚µCdataƒZƒNƒVƒ‡ƒ“‚ɏ‰Šú’l‚ðÝ’è‚·‚éD
2015
2016‚½‚¾‚µCƒJ[ƒlƒ‹–{‘̂́Ckerflg‚ªfalsei0j‚ɏ‰Šú‰»‚³‚ê‚邱‚ƈȊO‚ɁC
2017‚±‚ê‚ç‚̃ZƒNƒVƒ‡ƒ“‚ª‰Šú‰»‚³‚ê‚邱‚ƂɈˑ¶‚µ‚Ä‚¢‚È‚¢‚½‚߁CƒXƒ^[ƒgƒAƒb
2018ƒvƒ‚ƒWƒ…
2019[ƒ‹‚ðƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Å—pˆÓ‚·‚éê‡‚ŁCƒVƒXƒeƒ€ƒT[ƒrƒX‚âƒAƒv
2020ƒŠƒP[ƒVƒ‡ƒ“‚ª‚±‚ê‚ç‚̃ZƒNƒVƒ‡ƒ“‚ª‰Šú‰»‚³‚ê‚邱‚ƂɈˑ¶‚µ‚Ä‚¢‚È‚¢ê‡
2021‚ɂ́CƒVƒXƒeƒ€‚Ì‹N“®ŽžŠÔ‚ð’Zk‚·‚邽‚߂ɁCkerflg‚ðfalse‚ɏ‰Šú‰»‚·‚邾‚¯
2022‚ŏ\•ª‚Å‚ ‚éD
2023
2024(d) software_init_hook‚ðŒÄ‚яo‚·
2025
2026ŠJ”­ŠÂ‹«i“Á‚Ƀ‰ƒCƒuƒ‰ƒŠj‚Ɉˑ¶‚µ‚Ä•K—v‚ȏ‰Šú‰»ˆ—‚ðs‚¤‚½‚߂ɁC
2027software_init_hook‚ðŒÄ‚яo‚·Dsoftware_init_hook‚ª—pˆÓ‚³‚ê‚Ä‚¢‚È‚¢ê‡
2028‚́C‰½‚à‚µ‚È‚¢DGNUŠJ”­ŠÂ‹«‚ł́CƒŠƒ“ƒJƒXƒNƒŠƒvƒg’†‚Ìweak definition‚É
2029‚æ‚èCsoftware_init_hook‚ª—pˆÓ‚³‚ê‚Ä‚¢‚È‚¢ê‡‚Ì’l‚ð0‚Æ‚·‚邱‚ƂŁC‚±‚ê
2030‚ðŽÀŒ»‚Å‚«‚éDweak definition‚Ì‹@”\‚ðŽ‚½‚È‚¢ŠJ”­ŠÂ‹«‚ł́C
2031software_init_hook‚ð•K‚¸ŒÄ‚яo‚·‚±‚Æ‚É‚·‚éD
2032
2033software_init_hook‚́Cƒ^[ƒQƒbƒgˆË‘¶•”‚Å—pˆÓ‚·‚é‚Ì‚ª•W€‚Å‚ ‚éD
2034
2035(e) sta_ker‚Ö•ªŠò
2036
2037sta_ker‚ðŒÄ‚яo‚·Dsta_ker‚́CNMI‚ðœ‚­‚·‚ׂĂ̊„ž‚Ý‚ðƒ}ƒXƒN‚µ‚½ó‘Ô
2038i‘SŠ„ž‚݃ƒbƒNó‘Ô‚Æ“¯“™‚̏ó‘ԁj‚ŌĂяo‚³‚È‚¯‚ê‚΂Ȃç‚È‚¢Dsta_ker‚©
2039‚ç‚̓Šƒ^[ƒ“‚·‚邱‚Æ‚ª‚È‚¢‚½‚߁CƒXƒ^[ƒgƒAƒbƒvƒ‚ƒWƒ…
2040[ƒ‹‚É–ß‚Á‚Ä‚­‚邱
2041‚Ƃ͍l‚¦‚é•K—v‚ª‚È‚¢D
2042
2043(6-8-2) void target_initialize(void)
2044
2045ƒ^[ƒQƒbƒgˆË‘¶•”‚̏‰Šú‰»‚ðs‚¤ŠÖ”Dsta_ker‚̍ŏ‰‚ŌĂяo‚³‚ê‚éDƒvƒƒZƒb
2046ƒTEƒ`ƒbƒvEŠJ”­ŠÂ‹«ˆË‘¶‚̏‰Šú‰»ˆ—‚ðC‚»‚ê‚ç‚̈ˑ¶•”‚ɐ؂蕪‚¯‚邱‚Æ
2047‚à‰Â”\‚Å‚ ‚éD
2048
2049‚±‚̊֐”‚́C‚ ‚­‚Ü‚Å‚àƒJ[ƒlƒ‹‚̃^[ƒQƒbƒgˆË‘¶•”‚̏‰Šú‰»ˆ—‚ðs‚¤‚½‚ß
2050‚Ì‚à‚Ì‚Å‚ ‚éDƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚É•K—v‚ȏ‰Šú‰»ˆ—‚́C‰Šú‰»ƒ‹[ƒ`ƒ“‚ōs
2051‚¤‚Ì‚ªŠî–{‚Å‚ ‚邪CƒVƒXƒeƒ€‚̃ŠƒZƒbƒgŒã‚·‚®‚ɍs‚¤•K—v‚ª‚ ‚éê‡‚ɂ́C
2052hardware_init_hook‚ð—p‚¢‚éD
2053
2054(6-8-3) void call_exit_kernel(void)
2055
2056”ñƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg‚ɐ؂芷‚¦‚āCexit_kernel‚Ö•ªŠò‚·‚éŠÖ”Dext_ker‚©
2057‚çŒÄ‚яo‚³‚ê‚éDexit_kernel‚©‚ç‚̓Šƒ^[ƒ“‚·‚邱‚Æ‚ª‚È‚¢‚½‚߁C‚±‚̊֐”‚É
2058–ß‚Á‚Ä‚­‚邱‚Ƃ͍l‚¦‚é•K—v‚ª‚È‚¢D
2059
2060”ñƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg‚ɐ؂芷‚¦‚é‚̂́CI—¹ˆ—ƒ‹[ƒ`ƒ“‚ðC”ñƒ^ƒXƒNƒRƒ“
2061ƒeƒLƒXƒg—p‚̃Xƒ^ƒbƒN‚ÅŽÀs‚·‚邽‚ß‚Å‚ ‚éDI—¹ˆ—ƒ‹[ƒ`ƒ“‚ðƒ^ƒXƒN—p‚Ì
2062ƒXƒ^ƒbƒN‚ÅŽÀs‚·‚é‚ƁCŠeƒ^ƒXƒN‚̃Xƒ^ƒbƒN—̈æ‚̃TƒCƒY‚ðŒˆ’è‚·‚éÛ‚ɁCI
2063—¹ˆ—ƒ‹[ƒ`ƒ“‚ªŽg—p‚·‚éƒXƒ^ƒbƒN—̈æ‚ðl—¶‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢D‚±‚ê‚ɂ́C
2064I—¹ˆ—ƒ‹[ƒ`ƒ“‚ªŽg—p‚·‚éƒXƒ^ƒbƒN—̈悪‘å‚«‚¢ê‡‚ÉŠeƒ^ƒXƒN‚̃Xƒ^ƒbƒN
2065—̈æ‚𖳑ʂɑ傫‚­‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢‚±‚ƂɉÁ‚¦‚āCˆÓ}‚µ‚È‚¢ƒXƒ^ƒbƒNƒI[
2066ƒo[ƒtƒ[‚ª”­¶‚·‚é‰Â”\«‚ð‚‚ß‚é‚Æ‚¢‚¤–â‘肪‚ ‚éD
2067
2068‚±‚̊֐”‚́C‘SŠ„ž‚݃ƒbƒNó‘ԂŌĂ΂ê‚邽‚߁C‘SŠ„ž‚݃ƒbƒNó‘Ô‚©‚çŒÄ
2069‚яo‚·‚±‚Æ‚ª‚Å‚«‚È‚¢ŠÖ”‚ðŒÄ‚΂Ȃ¢‚悤‚ÉŽÀ‘•‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢D
2070
2071(6-8-4) void target_exit(void)
2072
2073ƒ^[ƒQƒbƒgˆË‘¶•”‚̏I—¹ˆ—‚ðs‚¤ŠÖ”D‚±‚̊֐”‚́CƒJ[ƒlƒ‹I—¹ˆ—‚̍Å
2074Œã‚ɌĂяo‚³‚êCƒŠƒ^[ƒ“‚µ‚Ä‚Í‚È‚ç‚È‚¢DƒvƒƒZƒbƒTEƒ`ƒbƒvEŠJ”­ŠÂ‹«ˆË
2075‘¶‚̏I—¹ˆ—‚ðC‚»‚ê‚ç‚̈ˑ¶•”‚ɐ؂蕪‚¯‚邱‚Æ‚à‰Â”\‚Å‚ ‚éD
2076
2077‚±‚̊֐”‚ł́CÅ‰‚ɁCatexit‚É‚æ‚Á‚Ä“o˜^‚³‚ꂽŠÖ”‚ƃfƒXƒgƒ‰ƒNƒ^‚ðŒÄ‚Ñ
2078o‚·‚±‚Æ‚ðˆÓ}‚µ‚Ä‚¨‚èC•W€“I‚ɂ́Csoftware_term_hook‚ðŒÄ‚яo‚·D
2079software_term_hook‚ª—pˆÓ‚³‚ê‚Ä‚¢‚È‚¢ê‡‚́C‰½‚à‚µ‚È‚¢DGNUŠJ”­ŠÂ‹«‚ł́C
2080ƒŠƒ“ƒJƒXƒNƒŠƒvƒg’†‚Ìweak definition‚É‚æ‚èCsoftware_term_hook‚ª—pˆÓ‚³‚ê
2081‚Ä‚¢‚È‚¢ê‡‚Ì’l‚ð0‚Æ‚·‚邱‚ƂŁC‚±‚ê‚ðŽÀŒ»‚Å‚«‚éDweak definition‚Ì‹@
2082”\‚ðŽ‚½‚È‚¢ŠJ”­ŠÂ‹«‚ł́Csoftware_term_hook‚ð•K‚¸ŒÄ‚яo‚·‚±‚Æ‚É‚·‚éD
2083
2084‚±‚̊֐”‚́C‘SŠ„ž‚݃ƒbƒNó‘ԂŌĂ΂ê‚邽‚߁C‘SŠ„ž‚݃ƒbƒNó‘Ô‚©‚çŒÄ
2085‚яo‚·‚±‚Æ‚ª‚Å‚«‚È‚¢ŠÖ”‚ðŒÄ‚΂Ȃ¢‚悤‚ÉŽÀ‘•‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢D
2086
2087–{ŠÖ”‚𖳌Àƒ‹[ƒv‚ÅŽÀ‘•‚·‚éÛ‚́CˆÈ‰º‚ÌŒ`Ž®‚Æ‚·‚邱‚Æ(TECS‚̃p[ƒT‚Ì
2088§ŒÀ‚ɍ‡‚킹‚邽‚߁jD
2089
2090void
2091target_exit( void )
2092{
2093
2094 /*
2095 * ƒ^[ƒQƒbƒgˆË‘¶‚̏ˆ—
2096 */
2097
2098
2099 while (true)
2100 {
2101 }
2102}
2103
2104
21056.9 ƒJ[ƒlƒ‹“à•”‚̃`ƒ…
2106[ƒjƒ“ƒO
2107
21086.9.1 ƒrƒbƒgƒ}ƒbƒvƒT[ƒ`
2109
2110(6-9-1-1) OMIT_BITMAP_SEARCHiƒIƒvƒVƒ‡ƒ“j
2111(6-9-1-2) uint_t bitmap_search(uint16_t bitmap)iƒIƒvƒVƒ‡ƒ“j
2112
2113ƒ^[ƒQƒbƒg”ñˆË‘¶•”‚ŁCuint16_tŒ^‚̐®”’libitmapj’†‚Ì1‚̃rƒbƒg‚Ì“àCÅ
2114‚à‰ºˆÊi‰Ej‚Ì‚à‚Ì‚ðƒT[ƒ`‚µC‚»‚̃rƒbƒg”ԍ†‚ð•Ô‚·ŠÖ”bitmap_search‚ð—p
2115ˆÓ‚µ‚Ä‚¢‚éD‚±‚±‚ŁCƒrƒbƒg”ԍ†‚͍ʼnºˆÊƒrƒbƒg‚ð0‚Æ‚µCbitmap‚É0‚ðŽw’肵
2116‚Ä‚Í‚È‚ç‚È‚¢‚à‚Ì‚Æ‚µ‚Ä‚¢‚éD
2117
2118ƒrƒbƒgƒT[ƒ`–½—ß‚ðŽ‚ÂƒvƒƒZƒbƒT‚ł́Cbitmap_search‚ðCƒrƒbƒgƒT[ƒ`–½—ß
2119‚ðŽg‚¤‚悤‚ɏ‘‚«’¼‚µ‚½•û‚ªŒø—¦‚ª—Ç‚¢ê‡‚ª‚ ‚éD‚±‚̂悤‚ȏꍇ‚ɂ́Cƒ^[
2120ƒQƒbƒgˆË‘¶•”‚ŃrƒbƒgƒT[ƒ`–½—ß‚ðŽg‚Á‚½bitmap_search‚ð’è‹`‚µC
2121OMIT_BITMAP_SEARCH‚ðƒ}ƒNƒ’è‹`‚·‚éD
2122
2123•W€ƒ‰ƒCƒuƒ‰ƒŠ‚ɃrƒbƒgƒT[ƒ`–½—ß‚ð—p‚¢‚½ffs‚ª‚ ‚éê‡Cbitmap_search‚ð
2124(ffs(bitmap) - 1)‚É’è‹`‚·‚é‚Æ‚æ‚¢D
2125
2126(6-9-1-3) uint16_t PRIMAP_BIT(PRI pri)iƒIƒvƒVƒ‡ƒ“j
2127
2128ƒrƒbƒgƒT[ƒ`–½—߂̃T[ƒ`•ûŒü‚ª‹t‚È‚Ç‚Ì——R‚ŁC—Dæ“x‚ƃrƒbƒg‚Ƃ̑Ήž‚ð
2129•ÏX‚µ‚½‚¢ê‡‚ɂ́CPRIMAP_BIT‚ðƒ}ƒNƒ’è‹`‚·‚éD
2130
21316.10 ƒJ[ƒlƒ‹ŽÀ‘•‚ÉŠÖ‚·‚é‚»‚Ì‘¼‚Ì’è‹`
2132
21336.10.1 ”ñƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg—p‚̃Xƒ^ƒbƒN—̈æ
2134
2135(6-10-1-1) DEFAULT_ISTKSZ
2136
2137DEF_ICS‚É‚æ‚è”ñƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg—p‚̃Xƒ^ƒbƒN—̈悪Žw’肳‚ê‚È‚¢ê‡‚́C
2138ƒfƒtƒHƒ‹ƒg‚̃Xƒ^ƒbƒN—̈æ‚̃TƒCƒYD
2139
2140¦
2141(6-10-1-2) DEFAULT_ISTKiƒIƒvƒVƒ‡ƒ“j
2142
2143DEF_ICS‚É‚æ‚è”ñƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg—p‚̃Xƒ^ƒbƒN—̈悪Žw’肳‚ê‚È‚¢ê‡‚́C
2144ƒfƒtƒHƒ‹ƒg‚̃Xƒ^ƒbƒN—̈æ‚̐擪”Ô’nD‚±‚̃}ƒNƒ‚ª’è‹`‚³‚ê‚È‚¢ê‡‚ɂ́C
2145ƒTƒCƒY‚ªDEFAULT_ISTKSZ‚̃Xƒ^ƒbƒN—̈悪C”z—ñ‚É‚æ‚èŠm•Û‚³‚ê‚éD
2146
2147(6-10-1-3) STK_T *TOPPERS_ISTKPT(STK_T *istk, SIZE istksz)iƒIƒvƒVƒ‡ƒ“j
2148
2149”ñƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg—p‚̃Xƒ^ƒbƒNƒ|ƒCƒ“ƒ^‚̏‰Šú’l‚ð•ÛŽ‚·‚é•Ï”iistkptj
2150‚ð—p‚¢‚éê‡‚ɁC‚±‚̃Vƒ“ƒ{ƒ‹‚ɁCƒXƒ^ƒbƒN—̈æ‚̐擪”Ô’niistkj‚ƃXƒ^ƒb
2151ƒN—̈æ‚̃TƒCƒYiistkszj‚©‚çCƒXƒ^ƒbƒNƒ|ƒCƒ“ƒ^‚̏‰Šú’l‚ð‹‚ß‚éƒ}ƒNƒ‚ð
2152’è‹`‚·‚éD
2153
21546.10.2 ‹óƒ‰ƒxƒ‹‚Ì’è‹`
2155
2156(6-10-2-1) TOPPERS_EMPTY_LABEL(type, symbol)iƒIƒvƒVƒ‡ƒ“j
2157
2158ƒŠƒ“ƒNƒGƒ‰[‚ð–h‚®‚½‚߂ɁCƒf[ƒ^Œ^type‚Ì”z—ñ‚Å‚ ‚é•Ï”symbol‚É’è‹`‚ð—^
2159‚¦‚邽‚߂̃}ƒNƒD—^‚¦‚½’è‹`‚ªŽQÆ‚³‚ê‚邱‚Æ‚Í‚È‚¢‚½‚߁C‚ǂ̂悤‚È’è‹`
2160‚ð—^‚¦‚Ä‚à‚æ‚¢D
2161
2162ƒfƒtƒHƒ‹ƒg‚ł́Csymbol‚ðC—v‘fŒ^‚ªtype‚ŃTƒCƒY‚ª0‚Ì”z—ñ‚É’è‹`‚µ‚Ä‚¢‚éD
2163ƒTƒCƒY‚ª0‚Ì”z—ñ‚ªƒGƒ‰[‚Æ‚È‚ç‚È‚¢ƒRƒ“ƒpƒCƒ‰iGCC‚Í‚±‚ê‚ÉŠY“–j‚ð—p‚¢‚é
2164ê‡‚ɂ́Cƒ^[ƒQƒbƒgˆË‘¶•”‚Å’è‹`‚·‚é•K—v‚Í‚È‚¢D
2165
21666.11 ƒgƒŒ[ƒXƒƒO‹@”\‚ÉŠÖ‚·‚éÝ’è
2167
2168SSPƒJ[ƒlƒ‹‚̃\[ƒXƒR[ƒh‚ɂ́CƒJ[ƒlƒ‹‚ÌŽÀsƒgƒŒ[ƒXƒƒO‚ðŽæ“¾‚·‚邽‚ß
2169‚̃}ƒNƒ“™‚ª–„‚ߍž‚ñ‚Å‚ ‚éDƒfƒtƒHƒ‹ƒg‚ł́C‚±‚ê‚ç‚̃}ƒNƒ‚Í‹ó‚É’è‹`‚³
2170‚ê‚ăgƒŒ[ƒXƒƒO‚̎擾‚͍s‚í‚È‚¢‚ªC‚±‚ê‚ç‚̃}ƒNƒ‚ð“KØ‚É’è‹`‚·‚邱‚Æ
2171‚ŃgƒŒ[ƒXƒƒO‚̎擾‚ðs‚¤‚±‚Æ‚ª‚Å‚«‚éD
2172
21736.11.1 Žæ“¾‚Å‚«‚éƒgƒŒ[ƒXƒƒO‚ÌŽí—ނƃ}ƒNƒ
2174
2175Žæ“¾‚Å‚«‚éƒgƒŒ[ƒXƒƒO‚ÌŽí—ނƁC‚»‚ê‚ðŽæ“¾‚·‚邽‚ß‚É’è‹`‚·‚éƒ}ƒNƒ‚ÍŽŸ
2176‚Ì’Ê‚è‚Å‚ ‚éD
2177
2178(a) ƒJ[ƒlƒ‹‚Ì“®ìŠJŽn‚ƏI—¹
2179
2180ŽŸ‚̃}ƒNƒ‚ð’è‹`‚·‚邱‚ƂŁCƒJ[ƒlƒ‹‚Ì“®ìŠJŽnŽž‚ƏI—¹Žž‚̃gƒŒ[ƒXƒƒO
2181‚ðŽæ“¾‚·‚邱‚Æ‚ª‚Å‚«‚éD
2182
2183 LOG_KER_ENTER ƒJ[ƒlƒ‹‚ª“®ì‚ðŠJŽn‚·‚é’¼‘Oi‰Šú‰»‚ÌŠ®—¹Œãj
2184 LOG_KER_LEAVE ƒJ[ƒlƒ‹‚̏I—¹iext_kerj‚ªŒÄ‚΂ꂽ’¼ŒãiI—¹ˆ
2185 —‚ÌŽÀs‘Oj
2186
2187(b) ˆ—’PˆÊ‚ÌŽÀsŠJŽn‚ƏI—¹
2188
2189ŽŸ‚̃}ƒNƒ‚ð’è‹`‚·‚邱‚ƂŁCŠ„ž‚݃nƒ“ƒhƒ‰iINHjCŠ„ž‚݃T[ƒrƒXƒ‹[ƒ`
2190ƒ“iISRjCŽüŠúƒnƒ“ƒhƒ‰iCYCjCƒAƒ‰[ƒ€ƒnƒ“ƒhƒ‰iALMjCCPU—áŠOƒnƒ“ƒh
2191ƒ‰iEXCjCƒ^ƒXƒN—áŠOˆ—ƒ‹[ƒ`ƒ“iTEXj‚ÌŽÀsŠJŽn‘O‚ƏI—¹Œã‚̃gƒŒ[ƒX
2192ƒƒO‚ðŽæ“¾‚·‚邱‚Æ‚ª‚Å‚«‚éD
2193
2194 LOG_<ˆ—’PˆÊ—ª†>_ENTER ˆ—’PˆÊ‚ÌŽÀsŠJŽn’¼‘O
2195 LOG_<ˆ—’PˆÊ—ª†>_LEAVE ˆ—’PˆÊ‚̏I—¹’¼Œã
2196
2197Š„ž‚݃nƒ“ƒhƒ‰‚́CƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ª“o˜^‚µ‚½‚à‚Ì‚Ì‚Ý‚ð‘ΏۂƂµCŠ„ž‚Ý
2198ƒT[ƒrƒXƒ‹[ƒ`ƒ“‚ðŒÄ‚яo‚·‚½‚߂ɃJ[ƒlƒ‹“à‚ɐ¶¬‚³‚ê‚é‚à‚̂͑ΏۂƂµ‚È
2199‚¢Dƒ^ƒXƒN‚ÌŽÀsŠJŽn‚ƏI—¹‚́C‘¼‚Ì•û–@‚Ŏ擾‚Å‚«‚邽‚߁C‚±‚Ì•û–@‚Í—pˆÓ
2200‚µ‚Ä‚¢‚È‚¢D
2201
2202‚È‚¨CŠ„ž‚݃nƒ“ƒhƒ‰‚ÆCPU—áŠOƒnƒ“ƒhƒ‰‚ÌŽÀsŠJŽn‚ƏI—¹‚̃gƒŒ[ƒXƒƒOŽæ“¾
2203‚́Cƒ^[ƒQƒbƒgˆË‘¶•”‚ÅŽÀ‘•‚·‚é•K—v‚ª‚ ‚éDÚ‚µ‚­‚́Cu6.2 ƒgƒŒ[ƒXƒƒO
2204‹@”\‚ւ̑Ήžvu6.6.1 Š„ž‚݃nƒ“ƒhƒ‰‚̏o“üŒûˆ—vu6.7.2 CPU—áŠOƒnƒ“ƒh
2205ƒ‰‚̏o“üŒûˆ—v‚̐߂ðŽQÆ‚·‚邱‚ƁD
2206
2207(c) ƒ^ƒXƒNó‘Ԃ̕ω»
2208
2209ŽŸ‚̃}ƒNƒ‚ð’è‹`‚·‚邱‚ƂŁCƒ^ƒXƒNó‘Ô‚ª•Ï‰»‚µ‚½Žž‚̃gƒŒ[ƒXƒƒO‚ðŽæ“¾
2210‚·‚邱‚Æ‚ª‚Å‚«‚éD‚½‚¾‚µCŽÀsó‘Ô‚ÆŽÀs‰Â”\ó‘Ô‚ÌŠÔ‚Ì‘JˆÚ‚́C‘¼‚Ì•û–@
2211‚Ŏ擾‚Å‚«‚邽‚߁C‚±‚̃}ƒNƒ‚ł͎擾‚Å‚«‚È‚¢D
2212
2213 LOG_TSKSTAT ƒ^ƒXƒNó‘Ԃ̕ω»
2214
2215(d) ƒfƒBƒXƒpƒbƒ`ƒƒ‚ÌŽÀsŠJŽn‚ƏI—¹
2216
2217ŽŸ‚̃}ƒNƒ‚ð’è‹`‚·‚邱‚ƂŁCƒfƒBƒXƒpƒbƒ`ƒƒ‚ªŽÀsŠJŽn‚·‚鎞‚ƁCI—¹‚·‚é
2218Žž‚̃gƒŒ[ƒXƒƒO‚ðŽæ“¾‚·‚邱‚Æ‚ª‚Å‚«‚éD
2219
2220 LOG_DSP_ENTER ƒfƒBƒXƒpƒbƒ`ƒƒ‚ÌŽÀsŠJŽn
2221 LOG_DSP_LEAVE ƒfƒBƒXƒpƒbƒ`ƒƒ‚̏I—¹
2222
2223ƒfƒBƒXƒpƒbƒ`ƒƒ‚ÌŽÀsŠJŽn‚́Cƒ^ƒXƒN‚ªŽÀsó‘Ô‚©‚çŽÀs‰Â”\ó‘Ô‚É‘JˆÚ‚·‚é
2224ƒ^ƒCƒ~ƒ“ƒO‚Å‚ ‚邽‚߁CŽÀs‰Â”\ó‘Ô‚Ö‘JˆÚ‚·‚éƒ^ƒXƒN‚ÌTCB‚ւ̃|ƒCƒ“ƒ^‚ðƒp
2225ƒ‰ƒ[ƒ^‚Æ‚·‚éD‹t‚ɁCƒfƒBƒXƒpƒbƒ`ƒƒ‚̏I—¹‚́Cƒ^ƒXƒN‚ªŽÀs‰Â”\ó‘Ô‚©‚ç
2226ŽÀsó‘Ô‚É‘JˆÚ‚·‚éƒ^ƒCƒ~ƒ“ƒO‚Å‚ ‚邽‚߁CŽÀsó‘Ô‚Ö‘JˆÚ‚·‚éƒ^ƒXƒN‚ÌTCB‚Ö
2227‚̃|ƒCƒ“ƒ^‚ðƒpƒ‰ƒ[ƒ^‚Æ‚·‚éD
2228
2229SSPƒJ[ƒlƒ‹‚ł́CŽÀs‚Å‚«‚éƒ^ƒXƒN‚ª‚È‚­CƒJ[ƒlƒ‹‚ªƒAƒCƒhƒ‹ó‘Ô‚É‚È‚éê
2230‡‚ɂ́CƒfƒBƒXƒpƒbƒ`ƒƒ‚Ì’†‚É—¯‚Ü‚éD‚»‚Ì‚½‚߁CƒAƒCƒhƒ‹ó‘Ô‚Ö‚Ì‘JˆÚ‚ƃA
2231ƒCƒhƒ‹ó‘Ô‚©‚瑼‚̏ó‘Ô‚Ö‚Ì‘JˆÚ‚́C‚±‚̃}ƒNƒ‚ł͎擾‚Å‚«‚È‚¢D
2232
2233‚È‚¨CƒfƒBƒXƒpƒbƒ`ƒƒ‚ÌŽÀsŠJŽn‚ƏI—¹‚̃gƒŒ[ƒXƒƒOŽæ“¾‚́Cƒ^[ƒQƒbƒgˆË
2234‘¶•”‚ÅŽÀ‘•‚·‚é•K—v‚ª‚ ‚éDÚ‚µ‚­‚́C‚Ɓu6.5.2 ƒfƒBƒXƒpƒbƒ`ƒƒ–{‘́v‚̐߂ð
2235ŽQÆ‚·‚邱‚ƁD
2236
2237(e) ƒT[ƒrƒXƒR[ƒ‹‚Ì“üŒû‚ƏoŒû
2238
2239ŽŸ‚̃}ƒNƒ‚ð’è‹`‚·‚邱‚ƂŁCŠeƒT[ƒrƒXƒR[ƒ‹‚Ì“üŒû‚ƏoŒû‚̃gƒŒ[ƒXƒƒO
2240‚ðŽæ“¾‚·‚邱‚Æ‚ª‚Å‚«‚éD
2241
2242 LOG_<ƒT[ƒrƒXƒR[ƒ‹‚̑啶Žš•\‹L>_ENTER ƒT[ƒrƒXƒR[ƒ‹–¼‚Ì“üŒû
2243 LOG_<ƒT[ƒrƒXƒR[ƒ‹‚̑啶Žš•\‹L>_LEAVE ƒT[ƒrƒXƒR[ƒ‹–¼‚̏oŒû
2244
2245‚»‚ꂼ‚ê‚̃}ƒNƒ‚Ì–¼Ì‚âƒpƒ‰ƒ[ƒ^‚̏ڍׂɂ‚¢‚ẮCƒJ[ƒlƒ‹‚̃\[ƒXƒR[
2246ƒh‚ðŽQÆ‚·‚邱‚ƁD
2247
22486.12 ƒJ[ƒlƒ‹ŽÀ‘•‚̃^[ƒQƒbƒgˆË‘¶•”‚Ì‚½‚߂̃Šƒl[ƒ€‹Lq
2249
2250ƒJ[ƒlƒ‹“à•”‚ɕ‚¶‚ÄŽg‚í‚ê‚éŠÖ”‚â•Ï”‚È‚Ç‚Ì–¼Ì‚ŁCƒIƒuƒWƒFƒNƒgƒtƒ@ƒC
2251ƒ‹‚̃Vƒ“ƒ{ƒ‹•\‚É“o˜^‚³‚ê‚ÄŠO•”‚©‚çŽQÆ‚Å‚«‚é–¼Ì‚́CCŒ¾ŒêƒŒƒxƒ‹‚ŁCæ“ª
2252‚ª"_kernel_"‚Ü‚½‚Í"_KERNEL_"‚Å‚ ‚é–¼Ì‚Æ‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢‚ªCSSPƒJ[ƒl
2253ƒ‹‚ł́Cƒ\[ƒXƒR[ƒh‚ðƒRƒ“ƒpƒNƒg‚É•Û‚¿‚‚‚±‚ê‚ðŽÀŒ»‚·‚邽‚߂ɁCƒŠƒl[
2254ƒ€‹Lqƒtƒ@ƒCƒ‹‚𓱓ü‚µ‚Ä‚¢‚éD
2255
2256‹ï‘Ì“I‚ɂ́CƒŠƒl[ƒ€‚·‚ׂ«–¼Ì‚ðƒŠƒXƒgƒAƒbƒv‚µ‚½xxx_rename.def‚ð—pˆÓ‚µC
2257‚±‚̃tƒ@ƒCƒ‹‚©‚çƒc[ƒ‹iutils/genrenamej‚É‚æ‚èC–¼Ì‚ðƒŠƒl[ƒ€‚·‚邽‚ß
2258‚̃}ƒNƒ’è‹`‚ðŠÜ‚Þxxx_rename.h‚ƁC‚»‚ê‚ç‚̃}ƒNƒ’è‹`‚ð‰ðœ‚·‚邽‚ß‚Ì
2259xxx_unrename.h‚𐶐¬‚·‚éDƒc[ƒ‹‚Ì‹N“®•û–@‚ÍŽŸ‚Ì’Ê‚è‚Å‚ ‚éD
2260
2261 % genrename xxx
2262
2263xxx_rename.def‚ɂ́CƒŠƒl[ƒ€‚·‚ׂ«–¼Ì‚ð1s‚É1‚‹Lq‚·‚éDxxxx‚Æ‚¢‚¤–¼
2264Ì‚ª‹Lq‚³‚ê‚Ä‚¢‚éê‡Cxxx_rename.h‚É‚ÍŽŸ‚̂悤‚È‹Lq‚ª¶¬‚³‚ê‚éD
2265
2266#define xxxx _kernel_xxxx
2267#ifdef TOPPERS_LABEL_ASM
2268#define _xxxx __kernel_xxxx
2269#endif /* TOPPERS_LABEL_ASM */
2270
2271‚Ü‚½Cxxx_unrename.h‚É‚ÍŽŸ‚̂悤‚È‹Lq‚ª¶¬‚³‚ê‚éD
2272
2273#undef xxxx
2274#ifdef TOPPERS_LABEL_ASM
2275#undef _xxxx
2276#endif /* TOPPERS_LABEL_ASM */
2277
2278xxx_rename.def‚Ì’†‚ɂ́C‘¼‚̃Šƒl[ƒ€‹Lq‚ðŽæ‚荞‚Þ‚½‚߂ɁCuINCLUDE
2279"yyy"v‚Ü‚½‚́uINCLUDE <yyy>v‚Æ‚¢‚¤‹Lq‚ðŠÜ‚߂邱‚Æ‚ª‚Å‚«‚éD‚±‚Ì‹Lq
2280‚ª‚³‚ê‚Ä‚¢‚éê‡Cxxx_rename.h‚ɂ́u#include "yyy_rename.h"v‚Ü‚½‚Í
2281u#include <yyy_rename.h>v‚Æ‚¢‚¤‹Lq‚ªCxxx_unrename.h‚ɂ́u#include
2282"yyy_unrename.h"v‚Ü‚½‚́u#include <yyy_unrename.h>v‚Æ‚¢‚¤‹Lq‚ª¶¬‚³
2283‚ê‚éD
2284
2285xxx_rename.def‚Ì’†‚Ì"#"‚ÅŽn‚Ü‚és‚̓Rƒƒ“ƒg‚Æ‚µ‚Ä“Ç‚Ý”ò‚΂³‚ê‚éD‚Ü‚½C
2286‹ós‚à–³Ž‹‚³‚ê‚éD
2287
2288ƒJ[ƒlƒ‹‚̃^[ƒQƒbƒg”ñˆË‘¶•”‚ÅŽg‚í‚ê‚é–¼Ì‚ðƒŠƒl[ƒ€‚·‚邽‚߂ɁCkernel
2289ƒfƒBƒŒƒNƒgƒŠ‚ɁCkernel_rename.def‚ƁC‚»‚±‚©‚琶¬‚µ‚½kernel_rename.h‚¨
2290‚æ‚Ñkernel_unrename.h‚ª—pˆÓ‚³‚ê‚Ä‚¢‚éDkernel_rename.def‚ɂ́C
2291uINCLUDE "target"v‚Æ‚¢‚¤‹Lq‚ªŠÜ‚Ü‚ê‚Ä‚¨‚èCƒ^[ƒQƒbƒgˆË‘¶•”‚̃Šƒl[
2292ƒ€‹Lq‚ðŽæ‚荞‚ނ悤‚É‚È‚Á‚Ä‚¢‚éDƒ^[ƒQƒbƒgˆË‘¶•”‚Å’è‹`‚µCƒ^[ƒQƒbƒg
2293”ñˆË‘¶•”‚ÅŽQÆ‚³‚ê‚é–¼Ì‚́Cƒ^[ƒQƒbƒgˆË‘¶•”‚̃Šƒl[ƒ€‹Lq‚ÉŠÜ‚ß‚éD
2294
2295ƒ^[ƒQƒbƒgˆË‘¶•”‚ł́Cƒ^[ƒQƒbƒgˆË‘¶•”‚ÅŽg‚í‚ê‚é–¼Ì‚ðƒŠƒl[ƒ€‚·‚邽‚ß
2296‚ɁCtarget_rename.def‚ƁC‚»‚±‚©‚琶¬‚µ‚½target_rename.h‚¨‚æ‚Ñ
2297target_unrename.h‚ð—pˆÓ‚·‚éDƒ^[ƒQƒbƒgˆË‘¶•”‚©‚çƒvƒƒZƒbƒTEƒ`ƒbƒvEŠJ
2298”­ŠÂ‹«ˆË‘¶•”‚ðØ‚蕪‚¯‚éê‡‚ɂ́Ctarget_rename.def‚ÉINCLUDE‹Lq‚ð“ü‚êC
2299ƒvƒƒZƒbƒTEƒ`ƒbƒvEŠJ”­ŠÂ‹«ˆË‘¶•”‚̃Šƒl[ƒ€‹Lq‚ðŽæ‚荞‚ނ悤‚É‚·‚éD
2300
23016.13 ƒ^ƒCƒ}ƒhƒ‰ƒCƒo
2302
2303ƒ^ƒCƒ}ƒhƒ‰ƒCƒo‚́CƒJ[ƒlƒ‹‚Ƀ^ƒCƒ€ƒeƒBƒbƒN‚ð’Ê’m‚·‚邽‚߂̃^ƒCƒ}ƒhƒ‰ƒC
2304ƒo‚Å‚ ‚éD
2305
23066.13.1 ƒ^ƒCƒ}ƒhƒ‰ƒCƒo‚̃tƒ@ƒCƒ‹\¬
2307
2308ƒ^ƒCƒ}ƒhƒ‰ƒCƒo‚ð‘g‚ݍž‚Þ‚½‚߂̐ÓIAPI‚ð‹Lq‚µ‚½ƒVƒXƒeƒ€ƒRƒ“ƒtƒBƒMƒ…
2309ƒŒ[
2310ƒVƒ‡ƒ“ƒtƒ@ƒCƒ‹‚ðCtarget_timer.cfg‚É—pˆÓ‚·‚éD‚±‚̃tƒ@ƒCƒ‹‚ɂ́Cƒ^ƒCƒ}
2311ƒhƒ‰ƒCƒo‚ð‰Šú‰»‚·‚邽‚߂̏‰Šú‰»ƒ‹[ƒ`ƒ“‚̒ljÁCƒ^ƒCƒ}ƒhƒ‰ƒCƒo‚ðI—¹‚³
2312‚¹‚邽‚߂̏I—¹ˆ—ƒ‹[ƒ`ƒ“‚̒ljÁCƒ^ƒCƒ}Š„ž‚Ý‚Ì‚½‚ß‚ÌŠ„ž‚݃nƒ“ƒhƒ‰‚Ì
2313’è‹`i‚Ü‚½‚́CŠ„ž‚݃T[ƒrƒXƒ‹[ƒ`ƒ“‚̒ljÁjCƒ^ƒCƒ}Š„ž‚Ý‚Ì‚½‚ß‚ÌŠ„ž
2314‚Ý—v‹ƒ‰ƒCƒ“‚Ì‘®«‚̐ݒè‚̐ÓIAPI‚È‚Ç‚ðŠÜ‚Þ‚±‚Æ‚É‚È‚éD
2315
2316ƒ^ƒCƒ}ƒhƒ‰ƒCƒo‚ðŒÄ‚яo‚·‚½‚ß‚É•K—v‚È’è‹`‚ðŠÜ‚Þƒwƒbƒ_ƒtƒ@ƒCƒ‹‚ðC
2317target_timer.h‚É—pˆÓ‚·‚éD‚Ü‚½Cƒ^ƒCƒ}ƒhƒ‰ƒCƒo‚ÌŽÀ‘•ƒtƒ@ƒCƒ‹‚ð
2318target_timer.c‚É—pˆÓ‚·‚éD
2319
2320ƒ^ƒCƒ€ƒeƒBƒbƒN‚Ì’Ê’m‚É‚æ‚ès‚¤ˆ—‚Ì‘½‚­‚́Cƒ^ƒXƒN‚Ì‹N“®‚â‘Ò‚¿‰ðœ‚ðs
2321‚¤‚à‚Ì‚Å‚ ‚邽‚߁Cƒ^ƒCƒ}Š„ž‚Ý‚ÌŠ„ž‚Ý—Dæ“x‚́CŠ„ž‚Ý‚Ì’†‚ōŒá‚Ì—Dæ
2322“x‚ŏ\•ª‚Å‚ ‚éD‚½‚¾‚µCŽüŠúƒnƒ“ƒhƒ‰‚âƒAƒ‰[ƒ€ƒnƒ“ƒhƒ‰‚ÌŽÀsŠJŽn’x‚ꂪ
2323–â‘è‚É‚È‚éê‡‚ɂ́Cƒ^ƒCƒ}Š„ž‚Ý‚ÌŠ„ž‚Ý—Dæ“x‚ð‚æ‚荂‚¢’l‚ɐݒ肵‚½‚¢D
2324‚»‚±‚ŁCƒ^ƒCƒ}Š„ž‚Ý‚ÌŠ„ž‚Ý—Dæ“x‚ð•ÏX‚·‚é•û–@‚ðCƒ^[ƒQƒbƒgˆË‘¶•”‚Ì
2325ƒ†[ƒU[ƒYƒ}ƒjƒ…
2326ƒAƒ‹‚É‹LÚ‚·‚ׂ«‚Å‚ ‚éD
2327
23286.13.2 ƒ^ƒCƒ}‚̏‰Šú‰»EI—¹ˆ—EŠ„ž‚ݏˆ—
2329
2330(6-13-2-1) void target_timer_initialize(intptr_t exinf)
2331
2332ƒ^ƒCƒ}‚ð‰Šú‰»‚µCƒ^ƒCƒ}Š„ž‚Ý‚ðŽüŠú“I‚É”­¶‚³‚¹‚éŠÖ”Dƒ^ƒCƒ}Š„ž‚Ý‚Ì
2333ŽüŠú‚́CTIC_NUME‚ÆTIC_DENO‚ÅŽw’肳‚ꂽŽžŠÔ‚ƈê’v‚³‚¹‚éiu5.3 ƒ^ƒCƒ€
2334ƒeƒBƒbƒN‚Ì’è‹`v‚̐߂ðŽQÆjD
2335
2336‚±‚̊֐”‚́Ctarget_timer.cfg’†‚É‹Lq‚·‚éÃ“IAPI‚É‚æ‚èC‰Šú‰»ƒ‹[ƒ`ƒ“‚Æ
2337‚µ‚ăJ[ƒlƒ‹‚É“o˜^‚·‚邱‚Æ‚ð‘z’肵‚Ä‚¢‚éD
2338
2339(6-13-2-2) void target_timer_terminate(intptr_t exinf)
2340
2341ƒ^ƒCƒ}‚Ì“®ì‚ð’âŽ~‚³‚¹Cƒ^ƒCƒ}Š„ž‚݂𔭐¶‚µ‚È‚¢‚悤‚É‚·‚éŠÖ”D
2342
2343‚±‚̊֐”‚́Ctarget_timer.cfg’†‚É‹Lq‚·‚éÃ“IAPI‚É‚æ‚èCI—¹ˆ—ƒ‹[ƒ`ƒ“
2344‚Æ‚µ‚ăJ[ƒlƒ‹‚É“o˜^‚·‚邱‚Æ‚ð‘z’肵‚Ä‚¢‚éD
2345
2346(6-13-2-3) void target_timer_handler(void)
2347 ‚Ü‚½‚Í void target_timer_isr(intptr_t exinf)
2348
2349ƒ^ƒCƒ}Š„ž‚Ý‚É‚æ‚è‹N“®‚³‚ê‚銄ž‚ݏˆ—ƒvƒƒOƒ‰ƒ€DŠ„ž‚݃nƒ“ƒhƒ‰‚Æ‚µ‚Ä
2350ŽÀŒ»‚·‚éê‡‚É‚Ítarget_timer_handlerCŠ„ž‚݃T[ƒrƒXƒ‹[ƒ`ƒ“‚Æ‚µ‚ÄŽÀŒ»
2351‚·‚éê‡‚É‚Ítarget_timer_isr‚Ì–¼Ì‚Æ‚·‚éDƒ^[ƒQƒbƒg”ñˆË‘¶•”‚Ì
2352signal_time‚ðŒÄ‚яo‚·D
2353
2354target_timer_handler‚́C•W€“I‚É‚ÍŽŸ‚̂悤‚É’è‹`‚·‚éD
2355
2356----------------------------------------
2357void
2358target_timer_handler(void)
2359{
2360 i_begin_int(<ƒ^ƒCƒ}Š„ž‚Ý‚ÌŠ„ž‚ݔԍ†>);
2361 signal_time();
2362 i_end_int(<ƒ^ƒCƒ}Š„ž‚Ý‚ÌŠ„ž‚ݔԍ†>);
2363}
2364----------------------------------------
2365
2366‚±‚̊֐”‚́Ctarget_timer.cfg’†‚É‹Lq‚·‚éÃ“IAPI‚É‚æ‚èCŠ„ž‚݃nƒ“ƒhƒ‰‚Ü
2367‚½‚ÍŠ„ž‚݃T[ƒrƒXƒ‹[ƒ`ƒ“‚Æ‚µ‚ăJ[ƒlƒ‹‚É“o˜^‚·‚邱‚Æ‚ð‘z’肵‚Ä‚¢‚éD
2368
23696.13.3 «”\•]‰¿—pƒVƒXƒeƒ€Žž‚ÌŽQÆ‚Ì‚½‚ß‚Ì‹@”\
2370
2371«”\•]‰¿—pƒVƒXƒeƒ€Žž‚ÌŽQÆ‹@”\iget_utmj‚ðƒTƒ|[ƒg‚·‚éê‡‚ɂ́Cƒ^ƒC
2372ƒ}ƒhƒ‰ƒCƒo‚ŁCˆÈ‰º‚̃f[ƒ^Œ^‚âŠÖ”‚È‚Ç‚ð—pˆÓ‚·‚éD
2373
2374(6-13-3-1) CLOCK
2375
2376ƒ^ƒCƒ}’l‚Ì“à•”•\Œ»‚Ì‚½‚߂̃f[ƒ^Œ^D
2377
2378(6-13-3-2) CLOCK target_timer_get_current(void)
2379
2380ƒ^ƒCƒ}‚ÌŒ»Ý’l‚ð“ǂݏo‚µC“à•”•\Œ»‚Å•Ô‚·ŠÖ”Dƒ^ƒCƒ}’l‚́CŽžŠÔ‚ÌŒo‰ß‚Æ
2381‚Æ‚à‚É‘‰Á‚·‚邱‚Æ‚ð‘z’肵‚Ä‚¢‚éDƒn[ƒhƒEƒFƒA‚̃^ƒCƒ}‚ªCƒ^ƒCƒ}’l‚ªŒ¸
2382­‚·‚é‚à‚Ì‚Å‚ ‚éê‡‚ɂ́C‚±‚̊֐”“à‚Å‘‰Á‚·‚é’l‚Æ‚È‚é‚悤‚É•ÏŠ·‚·‚éD
2383
2384(6-13-3-3) bool_t target_timer_probe_int(void)
2385
2386ƒ^ƒCƒ}Š„ž‚Ý—v‹‚ðƒ`ƒFƒbƒN‚·‚éŠÖ”Dƒ^ƒCƒ}Š„ž‚Ý‚ª—v‹‚³‚ê‚Ä‚¢‚éê‡‚É
2387trueC—v‹‚³‚ê‚Ä‚¢‚È‚¢ê‡‚Éfalse‚ð•Ô‚·D
2388
2389(6-13-3-4) TO_USEC(clock)
2390
2391ƒ^ƒCƒ}’l‚Ì“à•”•\Œ»‚ðC1ƒÊ•b’PˆÊ‚É•ÏŠ·‚·‚邽‚߂̃}ƒNƒi‚Ü‚½‚͊֐”jD
2392targettimer_get_current‚œǂݏo‚µ‚½’l‚ðCƒ^ƒCƒ}Š„ž‚Ý”­¶‚©‚ç‚ÌŒo‰ßŽžŠÔ
2393i’PˆÊ: 1ƒÊ•bj‚É•ÏŠ·‚·‚邽‚ß‚É—p‚¢‚éD
2394
23957. ƒRƒ“ƒtƒBƒMƒ…
2396ƒŒ[ƒ^Ý’èƒtƒ@ƒCƒ‹‚̃^[ƒQƒbƒgˆË‘¶•”
2397
23987.1 Ý’èƒtƒ@ƒCƒ‹‚ƃ^[ƒQƒbƒgˆË‘¶•”‚̈ʒu•t‚¯
2399
2400SSPƒJ[ƒlƒ‹‚̃Rƒ“ƒtƒBƒMƒ…
2401ƒŒ[ƒ^‚́CÝ’èƒtƒ@ƒCƒ‹‚Ì‹Lq‚ɏ]‚Á‚ătƒ@ƒCƒ‹‚Ì
2402¶¬‚¨‚æ‚уGƒ‰[ƒ`ƒFƒbƒN‚ðs‚¤DƒRƒ“ƒtƒBƒMƒ…
2403ƒŒ[ƒ^‚̐ݒèƒtƒ@ƒCƒ‹‚ɂ́C
2404ˆÈ‰º‚Ì4‚‚ª‚ ‚éD
2405
2406(a) Ã“IAPIƒe[ƒuƒ‹
2407
2408Ã“IAPI‚̈ꗗ‚ƁCŠeÃ“IAPI‚̃pƒ‰ƒ[ƒ^‚ɂ‚¢‚Ä‹Lq‚µ‚½ƒtƒ@ƒCƒ‹DÃ“I
2409API‚ðŠg’£‚·‚éê‡ˆÈŠO‚͕ύX‚·‚é•K—v‚ª‚È‚¢‚½‚߁Cƒ^[ƒQƒbƒg”ñˆË‘¶•”‚Å—pˆÓ
2410‚µ‚Ä‚¢‚éikernel/kernel_api.csvjD
2411
2412(b) ’lŽæ“¾ƒVƒ“ƒ{ƒ‹ƒe[ƒuƒ‹
2413
2414ƒRƒ“ƒtƒBƒMƒ…
2415ƒŒ[ƒ^‚̃pƒX1‚É‚¨‚¢‚āCƒpƒ‰ƒ[ƒ^ŒvŽZ—pCŒ¾Œêƒtƒ@ƒCƒ‹‚ɏo—Í
2416‚µC’l‚ð‹‚ß‚½‚¢ƒVƒ“ƒ{ƒ‹iˆê”Ê‚É‚ÍŽ®j‚ð‹Lq‚·‚邽‚߂̃tƒ@ƒCƒ‹Dƒ^[ƒQƒb
2417ƒg”ñˆË‘¶•”‚ł́Cƒ^[ƒQƒbƒg‚Ɉˑ¶‚¹‚¸‚É•K—v‚Æ‚È‚éƒVƒ“ƒ{ƒ‹‚ð‹Lq‚µ‚½ƒtƒ@
2418ƒCƒ‹‚ð—pˆÓ‚µ‚Ä‚¢‚éikernel/kernel_def.csvjD
2419
2420ƒ^[ƒQƒbƒg‚Ɉˑ¶‚µ‚Ä•K—v‚Æ‚È‚éƒVƒ“ƒ{ƒ‹‚ª‚ ‚éê‡‚ɂ́CtargetƒfƒBƒŒƒNƒg
2421ƒŠ‚É’u‚©‚ꂽtarget_def.csv’†‚É‹Lq‚·‚éDtarget_def.csv’†‚É‹Lq‚µ‚Ä’l‚ð
2422‹‚߂邱‚Æ‚ª‚Å‚«‚éƒVƒ“ƒ{ƒ‹‚́Ckernel/kernel_int.h‚¨‚æ‚Ñ‚»‚±‚©‚çƒCƒ“ƒNƒ‹[
2423ƒh‚³‚ê‚éƒtƒ@ƒCƒ‹‚Å’è‹`‚³‚ê‚Ä‚¢‚È‚¯‚ê‚΂Ȃç‚È‚¢Dkernel_int.h‚©‚ç‚́C
2424target_stddef.hCtarget_kernel.hCtarget_config.h‚ðiŠÔÚ“I‚ɁjƒCƒ“ƒNƒ‹[
2425ƒh‚µ‚Ä‚¢‚邽‚߁C‚±‚ê‚ç‚̃tƒ@ƒCƒ‹‚¨‚æ‚Ñ‚»‚±‚©‚çƒCƒ“ƒNƒ‹[ƒh‚³‚ê‚éƒtƒ@ƒC
2426ƒ‹‚Å’è‹`‚³‚ê‚éƒ^[ƒQƒbƒgˆË‘¶‚̃Vƒ“ƒ{ƒ‹‚́Ctarget_def.csv’†‚É‹Lq‚·‚邱
2427‚Æ‚ª‚Å‚«‚éD
2428
2429‚±‚±‚Å’l‚ð‹‚ß‚½ƒVƒ“ƒ{ƒ‹‚Ì’l‚́CƒRƒ“ƒtƒBƒMƒ…
2430ƒŒ[ƒ^‚̃pƒX2‚¨‚æ‚уpƒX3‚Ì
2431ƒeƒ“ƒvƒŒ[ƒgƒtƒ@ƒCƒ‹’†‚ÅŽQÆ‚·‚邱‚Æ‚ª‚Å‚«‚éD
2432
2433(c) ƒpƒX2‚̃eƒ“ƒvƒŒ[ƒgƒtƒ@ƒCƒ‹
2434
2435ƒRƒ“ƒtƒBƒMƒ…
2436ƒŒ[ƒ^‚̃pƒX2‚́Cƒeƒ“ƒvƒŒ[ƒgƒtƒ@ƒCƒ‹‚ɏ]‚Á‚āCƒJ[ƒlƒ‹‚̍\
2437¬E‰Šú‰»ƒtƒ@ƒCƒ‹ikernel_cfg.cjC\¬E‰Šú‰»ƒwƒbƒ_ƒtƒ@ƒCƒ‹
2438ikernel_cfg.hj‚Ȃǂ𐶐¬‚·‚éD‚±‚̃eƒ“ƒvƒŒ[ƒgƒtƒ@ƒCƒ‹‚́Cƒ^[ƒQƒbƒg
2439”ñˆË‘¶•”‚ƃ^[ƒQƒbƒgˆË‘¶•”‚ɐ؂蕪‚¯‚Ä‚ ‚邪C‘¼‚̃tƒ@ƒCƒ‹‚̃^[ƒQƒbƒg
2440ˆË‘¶•”‚Æ‚Í‹t‚ɁCƒ^[ƒQƒbƒgˆË‘¶•”‚©‚çƒ^[ƒQƒbƒg”ñˆË‘¶•”‚ðƒCƒ“ƒNƒ‹[ƒh‚·
2441‚éŒ`‚É‚È‚Á‚Ä‚¢‚éD
2442
2443‹ï‘Ì“I‚ɂ́CtargetƒfƒBƒŒƒNƒgƒŠ‚É’u‚©‚ꂽtarget.tf‚ŁC•K—v‚ȕϐ”‚ð’è‹`‚µ
2444‚½ŒãCƒeƒ“ƒvƒŒ[ƒgƒtƒ@ƒCƒ‹‚̃^[ƒQƒbƒg”ñˆË‘¶•”ikernel/kernel.tfj‚ðƒC
2445ƒ“ƒNƒ‹[ƒh‚·‚éDkernel.tf‚ł́CƒJ[ƒlƒ‹‚̃^[ƒQƒbƒg”ñˆË‘¶•”‚ÅŽg—p‚·‚é•Ï
2446”’è‹`“™‚𐶐¬‚·‚éDkernel.tf‚ðƒCƒ“ƒNƒ‹[ƒh‚µ‚½ŒãCtarget.tf‚ł́CƒJ[
2447ƒlƒ‹‚̃^[ƒQƒbƒgˆË‘¶•”‚ÅŽg—p‚·‚é•Ï”’è‹`“™‚𐶐¬‚·‚éDtarget.tf‚©‚çCƒv
2448ƒƒZƒbƒTˆË‘¶•”Cƒ`ƒbƒvˆË‘¶•”‚ðCŠJ”­ŠÂ‹«ˆË‘¶•”‚ðØ‚蕪‚¯‚Ä‚à‚æ‚¢D
2449
2450(d) ƒpƒX3‚̃eƒ“ƒvƒŒ[ƒgƒtƒ@ƒCƒ‹
2451
2452ƒRƒ“ƒtƒBƒMƒ…
2453ƒŒ[ƒ^‚̃pƒX3‚́Cƒeƒ“ƒvƒŒ[ƒgƒtƒ@ƒCƒ‹‚ɏ]‚Á‚āCÃ“IAPI‚̈ê
2454”ʒ萔Ž®ƒpƒ‰ƒ[ƒ^‚̃`ƒFƒbƒN‚ðs‚¤D‚±‚̃eƒ“ƒvƒŒ[ƒgƒtƒ@ƒCƒ‹‚àCƒ^[ƒQƒb
2455ƒg”ñˆË‘¶•”‚ƃ^[ƒQƒbƒgˆË‘¶•”‚ɐ؂蕪‚¯‚Ä‚ ‚èCƒ^[ƒQƒbƒgˆË‘¶•”‚©‚çƒ^[
2456ƒQƒbƒg”ñˆË‘¶•”‚ðƒCƒ“ƒNƒ‹[ƒh‚·‚éŒ`‚É‚È‚Á‚Ä‚¢‚éD
2457
2458‹ï‘Ì“I‚ɂ́CtargetƒfƒBƒŒƒNƒgƒŠ‚É’u‚©‚ꂽtarget_check.tf‚ŁC•K—v‚ȕϐ”‚ð
2459’è‹`‚µ‚½ŒãCƒeƒ“ƒvƒŒ[ƒgƒtƒ@ƒCƒ‹‚̃^[ƒQƒbƒg”ñˆË‘¶•”
2460ikernel/kernel_check.tfj‚ðƒCƒ“ƒNƒ‹[ƒh‚·‚éDkernel_check.tf‚ł́CƒJ[
2461ƒlƒ‹‚̃^[ƒQƒbƒg”ñˆË‘¶•”‚ŏ‰Šú‰»ƒuƒƒbƒN‚ɏo—Í‚µ‚½ˆê”ʒ萔Ž®ƒpƒ‰ƒ[ƒ^
2462‚̃`ƒFƒbƒN‚ðs‚¤Dkernel_check.tf‚ðƒCƒ“ƒNƒ‹[ƒh‚µ‚½ŒãCtarget_check.tf
2463‚ł́Cƒ^[ƒQƒbƒg‚Ɉˑ¶‚·‚éƒ`ƒFƒbƒN‚ðs‚¤Dtarget_check.tf‚©‚çCƒvƒƒZƒb
2464ƒTˆË‘¶•”Cƒ`ƒbƒvˆË‘¶•”‚ðCŠJ”­ŠÂ‹«ˆË‘¶•”‚ðØ‚蕪‚¯‚Ä‚à‚æ‚¢D
2465
2466‚È‚¨CƒRƒ“ƒtƒBƒMƒ…
2467ƒŒ[ƒ^‚̏ڍ׎d—l‚Ɛݒèƒtƒ@ƒCƒ‹‚Ì‹Lq•û–@‚ɂ‚¢‚ẮC
2468•Ê“rPDFƒtƒ@ƒCƒ‹‚ÌŒ`‚Å”z•z‚µ‚Ä‚¢‚éuTOPPERSV¢‘ãƒJ[ƒlƒ‹—pƒRƒ“ƒtƒBƒMƒ…
2469
2470ƒŒ[ƒ^Žd—lv‚¨‚æ‚сuTOPPERSV¢‘ãƒJ[ƒlƒ‹—pƒRƒ“ƒtƒBƒMƒ…
2471ƒŒ[ƒ^“à‘ ƒ}ƒNƒ
2472ƒvƒƒZƒbƒTŽd—lv‚ðŽQÆ‚·‚邱‚ƁD
2473
24747.2 ƒpƒX2‚̃eƒ“ƒvƒŒ[ƒgƒtƒ@ƒCƒ‹‚̃^[ƒQƒbƒgˆË‘¶•”
2475
2476ˆÈ‰º‚ł́CƒpƒX2‚̃eƒ“ƒvƒŒ[ƒgƒtƒ@ƒCƒ‹‚̃^[ƒQƒbƒgˆË‘¶•”‚ð‹Lq‚·‚éã‚Å•K
2477—v‚ÈŽ–€‚ɂ‚¢‚Äà–¾‚·‚éD
2478
24797.2.1 ƒ^[ƒQƒbƒg”ñˆË‘¶•”‚ðƒCƒ“ƒNƒ‹[ƒh‚·‚é‘O‚É’è‹`‚·‚ׂ«•Ï”
2480
2481target.tf‚©‚çkernel.tf‚ðƒCƒ“ƒNƒ‹[ƒh‚·‚é‘O‚ɁCŽŸ‚̕ϐ”‚ð’è‹`‚µ‚Ä‚¨‚©‚È
2482‚¯‚ê‚΂Ȃç‚È‚¢D
2483
2484(7-2-1) INTNO_ATTISR_VALID ATT_ISR‚ÅŽg—p‚Å‚«‚銄ž‚ݔԍ†
2485(7-2-2) INHNO_ATTISR_VALID INTNO_ATTISR_VALID‚ɑΉž‚·‚銄žƒnƒ“ƒhƒ‰”ԍ†
2486(7-2-3) INHNO_DEFINH_VALID DEF_INT‚ÅŽg—p‚Å‚«‚銄ž‚݃nƒ“ƒhƒ‰”ԍ†
2487(7-2-4) EXCNO_DEFEXC_VALID DEF_EXC‚ÅŽg—p‚Å‚«‚éCPU—áŠOƒnƒ“ƒhƒ‰”ԍ†
2488(7-2-5) INTNO_CFGINT_VALID CFG_INT‚ÅŽg—p‚Å‚«‚銄ž‚ݔԍ†
2489(7-2-6) INTPRI_CFGINT_VALID CFG_INT‚ÅŽg—p‚Å‚«‚銄ž‚Ý—Dæ“x
2490
2491API‚ÅŽg—p‚Å‚«‚銄ž‚ݔԍ†^Š„ž‚݃nƒ“ƒhƒ‰”ԍ†^CPU—áŠOƒnƒ“ƒhƒ‰”ԍ†^Š„
2492ž‚Ý—Dæ“x‚̃ŠƒXƒg‚ðCŠe•Ï”‚É’è‹`‚·‚éDINHNO_ATTISR_VALID‚ɂ́C
2493INTNO_ATTISR_VALID‚ɃŠƒXƒgƒAƒbƒv‚µ‚½Š„ž‚ݔԍ†‚ɑΉž‚·‚銄ž‚݃nƒ“ƒhƒ‰
2494”ԍ†‚̃ŠƒXƒg‚ð’è‹`‚·‚éD
2495
2496(7-2-7) TARGET_TSKATRiƒIƒvƒVƒ‡ƒ“j ƒ^[ƒQƒbƒg’è‹`‚̃^ƒXƒN‘®«
2497(7-2-8) TARGET_ISRATRiƒIƒvƒVƒ‡ƒ“j ƒ^[ƒQƒbƒg’è‹`‚ÌISR‘®«
2498(7-2-9) TARGET_INHATRiƒIƒvƒVƒ‡ƒ“j ƒ^[ƒQƒbƒg’è‹`‚ÌŠ„ž‚݃nƒ“ƒhƒ‰‘®«
2499(7-2-10) TARGET_INTATRiƒIƒvƒVƒ‡ƒ“j ƒ^[ƒQƒbƒg’è‹`‚ÌŠ„ž‚Ý‘®«
2500(7-2-11) TARGET_EXCATRiƒIƒvƒVƒ‡ƒ“j ƒ^[ƒQƒbƒg’è‹`‚ÌCPU—áŠOƒnƒ“ƒhƒ‰‘®«
2501
2502ŠeƒIƒuƒWƒFƒNƒg‚Ì‘®«‚ðCƒ^[ƒQƒbƒg’è‹`‚ÉŠg’£‚·‚éê‡‚ɁCŠY“–‚·‚éƒIƒuƒWƒF
2503ƒNƒg‘®«‚ðŽ¦‚·•Ï”‚ɁCŠg’£‚ÉŽg—p‚·‚éƒrƒbƒg‚̘_—˜a‚ð’è‹`‚·‚éD‚±‚ê‚É‚æ
2504‚èCŠg’£‚ÉŽg—p‚·‚éƒrƒbƒg‚ªÝ’肳‚ê‚Ä‚¢‚éê‡‚ɁCƒGƒ‰[‚É‚È‚é‚Ì‚ð–h‚®D
2505
2506(7-2-12) INTNO_FIX_KERNELiƒIƒvƒVƒ‡ƒ“j ƒJ[ƒlƒ‹ŠÇ—‚ɌŒ肳‚ê‚Ä‚¢‚é
2507 Š„ž‚ݔԍ†
2508(7-2-13) INHNO_FIX_KERNELiƒIƒvƒVƒ‡ƒ“j ƒJ[ƒlƒ‹ŠÇ—‚ɌŒ肳‚ê‚Ä‚¢‚é
2509 Š„ž‚݃nƒ“ƒhƒ‰”ԍ†
2510(7-2-14) INHNO_FIX_NONKERNELiƒIƒvƒVƒ‡ƒ“j ƒJ[ƒlƒ‹ŠÇ—ŠO‚ɌŒ肳‚ê‚Ä‚¢‚é
2511 Š„ž‚ݔԍ†
2512(7-2-15) INHNO_FIX_NONKERNELiƒIƒvƒVƒ‡ƒ“j ƒJ[ƒlƒ‹ŠÇ—ŠO‚ɌŒ肳‚ê‚Ä‚¢‚é
2513 Š„ž‚݃nƒ“ƒhƒ‰”ԍ†
2514
2515ƒJ[ƒlƒ‹ŠÇ—‚Ü‚½‚̓J[ƒlƒ‹ŠÇ—ŠO‚ɌŒ肳‚ê‚Ä‚¢‚銄ž‚Ý‚ª‚ ‚éê‡‚ɂ́C
2516‚»‚ê‚ç‚ÌŠ„ž‚ݔԍ†‚ÆŠ„ž‚݃nƒ“ƒhƒ‰”ԍ†‚̃ŠƒXƒg‚ðCŠe•Ï”‚É’è‹`‚·‚éD
2517
2518(7-2-16) USE_INHINIB_TABLEiƒIƒvƒVƒ‡ƒ“j
2519
2520OMIT_INITIALIZE_INTERRUPT‚ð’è‹`‚µ‚½‚ªCŠ„ž‚݃nƒ“ƒhƒ‰‚̏‰Šú‰»‚É•K—v‚ȏî
2521•ñ‚ðkernel_cfg.c‚ɐ¶¬‚µ‚½‚¢ê‡‚ɂ́C‚±‚̕ϐ”‚ð1‚ɐݒ肷‚éD‹ï‘Ì“I‚ɂ́C
2522TNUM_INHNOCtnum_inhnoCinhinib_table‚Ì’è‹`‚ƁCŠ„ž‚݃nƒ“ƒhƒ‰–ˆ‚̏o“üŒû
2523ˆ—‚𐶐¬‚·‚邽‚ß‚Ì‹LqiINTHDR_ENTRYƒ}ƒNƒ‚̃ŠƒXƒgj‚ªCƒ^[ƒQƒbƒg”ñ
2524ˆË‘¶•”‚É‚æ‚Á‚ж¬‚³‚ê‚éD
2525
2526(7-2-17) USE_INTINIB_TABLEiƒIƒvƒVƒ‡ƒ“j
2527
2528OMIT_INITIALIZE_INTERRUPT‚ð’è‹`‚µ‚½‚ªCŠ„ž‚Ý—v‹ƒ‰ƒCƒ“‚̏‰Šú‰»‚É•K—v‚È
2529î•ñ‚ðkernel_cfg.c‚ɐ¶¬‚µ‚½‚¢ê‡‚ɂ́C‚±‚̕ϐ”‚ð1‚ɐݒ肷‚éD‹ï‘Ì“I‚É
2530‚́CTNUM_INTNOCtnum_intnoCintinib_table‚Ì’è‹`‚ªCƒ^[ƒQƒbƒg”ñˆË‘¶•”‚É
2531‚æ‚Á‚ж¬‚³‚ê‚éD
2532
2533(7-2-18) TARGET_MIN_STKSZiƒIƒvƒVƒ‡ƒ“j
2534
2535ƒ^[ƒQƒbƒg’è‹`‚ŁCƒ^ƒXƒN‚̃Xƒ^ƒbƒNƒTƒCƒY‚̍ŏ¬’l‚ðÝ’è‚·‚éê‡‚ɂ́C‚±
2536‚̕ϐ”‚ðƒXƒ^ƒbƒNƒTƒCƒY‚̍ŏ¬’l‚É’è‹`‚·‚éD
2537
2538(7-2-19) CHECK_STKSZ_ALIGNiƒIƒvƒVƒ‡ƒ“j
2539
2540ƒXƒ^ƒbƒN—̈æ‚̃TƒCƒY‚ª‚ ‚é’l‚Ì”{”‚Å‚È‚¯‚ê‚΂Ȃç‚È‚¢ê‡‚ɁC‚±‚̕ϐ”‚ð
2541‚»‚Ì’l‚É’è‹`‚·‚éD‚±‚̕ϐ”‚ð’è‹`‚·‚邱‚ƂŁCkernel.tf‚É‚¨‚¢‚āCƒXƒ^ƒbƒN
2542—̈æ‚̃TƒCƒY‚ª³‚µ‚­‚È‚¢i‚±‚̕ϐ”‚É’è‹`‚µ‚½’l‚Ì”{”‚Å‚È‚¢jê‡‚̃Gƒ‰[
2543‚ðƒ`ƒFƒbƒN‚·‚é‚悤‚É‚È‚éDƒ`ƒFƒbƒN‚ª•K—v‚È‚¢ê‡‚ɂ́C‚±‚̕ϐ”‚ð’è‹`‚µ
2544‚È‚¢D
2545
25467.2.2 ƒ^[ƒQƒbƒg”ñˆË‘¶•”‚Å’è‹`‚³‚ê‚é•Ï”
2547
2548kernel.tf‚Ì’†‚Å‚ÍŽŸ‚̕ϐ”‚ª’è‹`‚³‚ê‚邽‚߁Ckernel.tf‚ðƒCƒ“ƒNƒ‹[ƒh‚µ‚½
2549ŒãCtarget.tf‚Ì’†‚Å‚±‚ê‚ç‚ðŽQÆ‚·‚邱‚Æ‚ª‚Å‚«‚éD
2550
2551(7-2-1) INTNO[inhno] inhno‚ð‘Ήž‚·‚éintno‚É•ÏŠ·‚·‚邽‚߂̘A‘z”z—ñ
2552(7-2-2) INHNO[intno] intno‚ð‘Ήž‚·‚éinhno‚É•ÏŠ·‚·‚邽‚߂̘A‘z”z—ñ
2553
25547.3 ƒpƒX3‚̃eƒ“ƒvƒŒ[ƒgƒtƒ@ƒCƒ‹‚̃^[ƒQƒbƒgˆË‘¶•”
2555
2556ˆÈ‰º‚ł́CƒpƒX3‚̃eƒ“ƒvƒŒ[ƒgƒtƒ@ƒCƒ‹‚̃^[ƒQƒbƒgˆË‘¶•”‚ð‹Lq‚·‚éã‚Å•K
2557—v‚ÈŽ–€‚ɂ‚¢‚Äà–¾‚·‚éD
2558
2559target_check.tf‚©‚çkernel_check.tf‚ðƒCƒ“ƒNƒ‹[ƒh‚·‚é‘O‚ɁC•K—v‚ɉž‚¶‚āC
2560ŽŸ‚̕ϐ”‚ð’è‹`‚µ‚Ä‚¨‚©‚È‚¯‚ê‚΂Ȃç‚È‚¢D
2561
2562(7-3-1) CHECK_FUNC_ALIGNiƒIƒvƒVƒ‡ƒ“j@ŠÖ”‚̃Aƒ‰ƒCƒ“’PˆÊ
2563(7-3-2) CHECK_FUNC_NONNULLiƒIƒvƒVƒ‡ƒ“jŠÖ”‚Ì”ñNULLƒ`ƒFƒbƒN
2564(7-3-3) CHECK_STACK_ALIGNiƒIƒvƒVƒ‡ƒ“j ƒXƒ^ƒbƒN—̈æ‚̃Aƒ‰ƒCƒ“’PˆÊ
2565(7-3-4) CHECK_STACK_NONNULLiƒIƒvƒVƒ‡ƒ“jƒXƒ^ƒbƒN—̈æ‚Ì”ñNULLƒ`ƒFƒbƒN
2566(7-3-5) CHECK_MPF_ALIGNiƒIƒvƒVƒ‡ƒ“j ŒÅ’è’·ƒƒ‚ƒŠƒv[ƒ‹—̈æ‚̃Aƒ‰ƒCƒ“’PˆÊ
2567(7-3-6) CHECK_MPF_NONNULLiƒIƒvƒVƒ‡ƒ“j ŒÅ’è’·ƒƒ‚ƒŠƒv[ƒ‹—̈æ‚Ì”ñNULLƒ`ƒFƒbƒN
2568
2569ŠÖ”^ƒXƒ^ƒbƒN—̈æ^ŒÅ’è’·ƒƒ‚ƒŠƒv[ƒ‹—̈æ‚̐擪”Ô’n‚̃Aƒ‰ƒCƒ“ƒƒ“ƒg‚Ì
2570ƒ`ƒFƒbƒN‚ðs‚¤ê‡‚ɂ́C‚»‚ꂼ‚êCCHECK_FUNC_ALIGN^CHECK_STACK_ALIGN^
2571CHECK_MPF_ALIGN‚ðƒAƒ‰ƒCƒ“’PˆÊ‚É’è‹`‚·‚éDŠÖ”^ƒXƒ^ƒbƒN—̈æ^ŒÅ’è’·ƒƒ‚
2572ƒŠƒv[ƒ‹—̈æ‚̐擪”Ô’n‚ªNULL‚Å‚È‚¢‚©‚̃`ƒFƒbƒN‚ðs‚¤ê‡‚ɂ́C‚»‚ꂼ‚ê
2573CHECK_FUNC_NONNULL^CHECK_STACK_NONNULL^CHECK_MPF_NONNULL‚ð1‚É’è‹`‚·‚éD
2574ƒ`ƒFƒbƒN‚ª•K—v‚È‚¢ê‡‚ɂ́CŠY“–‚·‚é•Ï”‚ð’è‹`‚µ‚È‚¢D
2575
25767.4 cfg1_out.c‚̃Šƒ“ƒN‚É•K—v‚ȃXƒ^ƒu‚Ì’è‹`ƒtƒ@ƒCƒ‹
2577
2578ƒRƒ“ƒtƒBƒMƒ…
2579ƒŒ[ƒ^‚ÉŠÖ‚µ‚ă^[ƒQƒbƒgˆË‘¶‚É—pˆÓ‚·‚é•K—v‚ª‚ ‚éƒtƒ@ƒCƒ‹‚Æ
2580‚µ‚āCÝ’èƒtƒ@ƒCƒ‹ˆÈŠO‚ɁCcfg1_out.c‚ðƒŠƒ“ƒN‚·‚邽‚ß‚É•K—v‚ȃXƒ^ƒu‚Ì’è
2581‹`ƒtƒ@ƒCƒ‹‚ª‚ ‚éD
2582
2583ƒRƒ“ƒtƒBƒMƒ…
2584ƒŒ[ƒ^‚̃pƒX1‚ł́CÃ“IAPI‚̐®”’萔Ž®ƒpƒ‰ƒ[ƒ^‚Ì’l‚ðCƒRƒ“
2585ƒpƒCƒ‰‚ð—p‚¢‚Ä‹‚߂邽‚߂ɁCcfg1_out.c‚𐶐¬‚·‚éD‚±‚ê‚ðƒRƒ“ƒpƒCƒ‹CƒŠ
2586ƒ“ƒN‚µ‚ăIƒuƒWƒFƒNƒgƒtƒ@ƒCƒ‹‚𐶐¬‚·‚éÛ‚ɁCƒXƒ^[ƒgƒAƒbƒvƒ‚ƒWƒ…
2587[ƒ‹‚©
2588‚çŽQÆ‚³‚ê‚éƒVƒ“ƒ{ƒ‹‚Ì’è‹`‚ð—^‚¦‚é•K—v‚ª‚ ‚éD
2589
2590‚±‚Ì’è‹`‚ð—^‚¦‚邽‚߂ɁCcfg1_out.c‚©‚çCƒ^[ƒQƒbƒgˆË‘¶•”‚Ì
2591target_cfg1_out.h‚ðƒCƒ“ƒNƒ‹[ƒh‚µ‚Ä‚¢‚éDtarget_cfg1_out.hi‚Ü‚½‚́C‚»
2592‚±‚©‚çƒCƒ“ƒNƒ‹[ƒh‚³‚ê‚éƒtƒ@ƒCƒ‹j‚ɂ́CƒXƒ^[ƒgƒAƒbƒvƒ‚ƒWƒ…
2593[ƒ‹‚©‚çŽQ
2594Æ‚³‚ê‚éƒVƒ“ƒ{ƒ‹‚̃Xƒ^ƒu‚Ì’è‹`‚ðŠÜ‚ß‚éD“TŒ^“I‚ɂ́CˆÈ‰º‚̂悤‚È’è‹`‚ð
2595ŠÜ‚ß‚é•K—v‚ª‚ ‚éD
2596
2597----------------------------------------
2598void sta_ker(void)
2599{
2600}
2601
2602void hardware_init_hook(void)
2603{
2604}
2605
2606void software_init_hook(void)
2607{
2608}
2609
2610const SIZE _kernel_istksz = 0;
2611
2612STK_T *const _kernel_istk = NULL;
2613----------------------------------------
2614
2615
26168. ƒVƒXƒeƒ€ƒT[ƒrƒX“™‚̃^[ƒQƒbƒgˆË‘¶•”
2617
26188.1 ƒVƒXƒeƒ€ƒT[ƒrƒX‚̃^[ƒQƒbƒgˆË‘¶•”
2619
2620ƒVƒŠƒAƒ‹ƒ|[ƒg”‚âƒVƒXƒeƒ€ƒƒOƒ^ƒXƒNŠÖ˜A‚̒萔‚ȂǁCƒVƒXƒeƒ€ƒT[ƒrƒX‚Ì
2621\¬‚ðŒˆ’è‚·‚邽‚ß‚Ì’è‹`‚ðtarget_syssvc.h‚Ü‚½‚Í‚»‚±‚©‚çƒCƒ“ƒNƒ‹[ƒh‚³‚ê
2622‚éƒtƒ@ƒCƒ‹iƒvƒƒZƒbƒTEƒ`ƒbƒvEŠJ”­ŠÂ‹«ˆË‘¶•”‚Å—pˆÓ‚³‚ê‚éƒwƒbƒ_ƒtƒ@ƒC
2623ƒ‹‚Ȃǁj‚ÉŠÜ‚ß‚éD
2624
2625‚È‚¨CTOPPERS‘gž‚݃Rƒ“ƒ|[ƒlƒ“ƒgƒVƒXƒeƒ€‚ª“±“ü‚³‚ê‚é‚ƁC‚±‚̃tƒ@ƒCƒ‹‚Ì
2626“à—e‚̓Rƒ“ƒ|[ƒlƒ“ƒg‹Lqƒtƒ@ƒCƒ‹‚É‹Lq‚³‚ê‚邱‚Æ‚É‚È‚èC‚±‚̃tƒ@ƒCƒ‹‚Í
2627–³‚­‚È‚éi‚Ü‚½‚́C‘啝‚ɏk¬‚³‚ê‚éjŒ©ž‚Ý‚Å‚ ‚éD
2628
26298.2 ƒVƒXƒeƒ€ƒƒO‹@”\‚̃^[ƒQƒbƒgˆË‘¶’è‹`
2630
2631ƒVƒXƒeƒ€ƒƒO‹@”\‚ðŽg—p‚·‚éê‡‚ŁCƒXƒ^[ƒgƒAƒbƒvƒ‚ƒWƒ…
2632[ƒ‹‚ÅbssƒZƒNƒVƒ‡
2633ƒ“‚̃NƒŠƒA‚ðÈ—ª‚µ‚Ä‚¢‚éê‡‚ɂ́Csyslog_logmask‚Æsyslog_lowmask_not‚ð
26340‚ɏ‰Šú‰»‚·‚éƒR[ƒh‚ð’ljÁ‚·‚éD‚±‚ê‚́CƒVƒXƒeƒ€ƒƒO‹@”\‚ª‰Šú‰»‚³‚ê‚é‘O
2635‚ɏo—Í‚³‚ꂽƒƒOî•ñ‚ðC’჌ƒxƒ‹o—Í‹@”\‚ð—p‚¢‚ďo—Í‚·‚邽‚ß‚Å‚ ‚éD
2636
2637ƒ^[ƒQƒbƒgˆË‘¶•”‚Å’ñ‹Ÿ‚·‚ׂ«ƒVƒXƒeƒ€ƒƒO‹@”\‚Ì‚½‚ß‚Ì’è‹`‚ÍŽŸ‚Ì’Ê‚è‚Å‚ 
2638‚éD
2639
2640(8-2-1) TCNT_SYSLOG_BUFFER
2641
2642ƒVƒXƒeƒ€ƒƒO‹@”\‚̃ƒOƒoƒbƒtƒ@‚̃TƒCƒY‚ð’è‹`‚·‚éƒ}ƒNƒD’è‹`‚µ‚È‚¢ê‡
2643‚̃fƒtƒHƒ‹ƒg’l‚Í32D
2644
2645(8-2-2) void target_fput_log(char c)
2646
2647ƒVƒXƒeƒ€ƒƒO‚̒჌ƒxƒ‹o—Í‚Ì‚½‚ß‚Ì•¶Žšo—͊֐”Dƒ^[ƒQƒbƒgˆË‘¶‚Ì•û–@‚ŁC
2648•¶Žšc‚ð•\Ž¦/o—Í/•Û‘¶‚·‚éD
2649
2650‚±‚̊֐”‚́CƒŠƒGƒ“ƒgƒ‰ƒ“ƒg‚ÉŽÀ‘•‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢D‚±‚̊֐”“à‚Å”r‘¼§
2651Œä‚ª•K—v‚ȏꍇ‚ɂ́CSIL‚ð—p‚¢‚Ä‘SŠ„ž‚݃ƒbƒNó‘Ô‚É‚·‚邱‚ƁD‚Ü‚½C‘SŠ„
2652ž‚݃ƒbƒNó‘ԂŌĂ΂ê‚éê‡‚ª‚ ‚邽‚߁C‘SŠ„ž‚݃ƒbƒNó‘Ô‚©‚çŒÄ‚яo‚·
2653‚±‚Æ‚ª‚Å‚«‚È‚¢ŠÖ”‚ðŒÄ‚΂Ȃ¢‚悤‚ÉŽÀ‘•‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢D
2654
2655’჌ƒxƒ‹o—Í‚ðƒVƒŠƒAƒ‹ƒ|[ƒgŒo—R‚ōs‚¤ê‡‚ŁCƒVƒŠƒAƒ‹ƒCƒ“ƒ^ƒtƒF[ƒXƒh
2656ƒ‰ƒCƒo‚ƃ|[ƒg‚ð‹¤—p‚µ‚È‚¢‚±‚Æ‚ª–]‚Ü‚µ‚¢‚ªCƒ|[ƒg”‚ª‘«‚è‚È‚¢‚½‚ß‚É‚â
2657‚Þ‚ð‚¦‚¸‹¤—p‚·‚éê‡‚ɂ́C—¼ŽÒ‚ª‹£‡‚µ‚È‚¢‚悤‚É’ˆÓ‚ª•K—v‚Å‚ ‚éD‹ï‘Ì
2658“I‚ɂ́C—¼ŽÒ‚ª“¯‚¶Ý’è‚ŃVƒŠƒAƒ‹I/OƒfƒoƒCƒX‚ðŽg‚¤‚悤‚É‚µCƒVƒŠƒAƒ‹ƒCƒ“
2659ƒ^ƒtƒF[ƒXƒhƒ‰ƒCƒo‚Ì“®ì’†‚ɒ჌ƒxƒ‹o—Í‚ªs‚í‚ê‚Ä‚à·‚µŽx‚¦‚È‚¢‚悤‚É
2660ÝŒv‚·‚éD‚Ü‚½C’჌ƒxƒ‹o—Í‚ª“®ìŠJŽnŒã‚ɃVƒŠƒAƒ‹ƒCƒ“ƒ^ƒtƒF[ƒXƒhƒ‰ƒC
2661ƒo‚ªƒVƒŠƒAƒ‹I/OƒfƒoƒCƒX‚ð‰Šú‰»‚·‚é‚ƁC•¶Žš‰»‚¯‚ª‹N‚±‚é‰Â”\«‚ª‚ ‚邽‚߁C
2662‹¤—p‚·‚éƒ|[ƒg‚́C’჌ƒxƒ‹o—Í‹@”\‘¤‚ŏ‰Šú‰»‚µCƒVƒŠƒAƒ‹ƒCƒ“ƒ^ƒtƒF[ƒX
2663ƒhƒ‰ƒCƒo‚ł͏‰Šú‰»‚µ‚È‚¢‚悤‚É‚·‚é‚Æ‚æ‚¢D
2664
2665‚È‚¨C‚±‚̊֐”‚Ì–{‘Ì‚ðC‚ǂ̃tƒ@ƒCƒ‹‚É‹Lq‚·‚é‚©‚ª–â‘è‚É‚È‚éDƒVƒXƒeƒ€
2666ƒT[ƒrƒX‚̃^[ƒQƒbƒgˆË‘¶•”‚ɂ́C•W€‚ł́CŠÖ”’è‹`‚ð‹Lq‚·‚邽‚߂̃tƒ@
2667ƒCƒ‹‚ð—pˆÓ‚µ‚Ä‚¢‚È‚¢Dƒ^[ƒQƒbƒgˆË‘¶‚Å—pˆÓ‚µ‚Ä‚à‚æ‚¢‚ªC—áŠO“I‚ɁCƒJ[
2668ƒlƒ‹ŽÀ‘•‚̃^[ƒQƒbƒgˆË‘¶ƒ‚ƒWƒ…
2669[ƒ‹itarget_config.cj‚É‹Lq‚µ‚Ä‚à‚æ‚¢D
2670‚±‚̏ꍇCtarget_fput_log‚ðCƒŠƒl[ƒ€‹Lqitarget_rename.def‚Ȃǁj‚ÉŠÜ
2671‚ß‚Ä‚Í‚È‚ç‚È‚¢D
2672
26738.3 ƒƒOƒ^ƒXƒN‚̃^[ƒQƒbƒgˆË‘¶’è‹`
2674
2675ƒ^[ƒQƒbƒgˆË‘¶•”‚Å’ñ‹Ÿ‚·‚ׂ«ƒƒOƒ^ƒXƒN‚Ì‚½‚ß‚Ì’è‹`‚ÍŽŸ‚Ì’Ê‚è‚Å‚ ‚éD‚±
2676‚ê‚ç‚Ì’è‹`‚́Ctarget_syssvc.h‚Ü‚½‚Í‚»‚±‚©‚çƒCƒ“ƒNƒ‹[ƒh‚³‚ê‚éƒtƒ@ƒCƒ‹‚É
2677ŠÜ‚ß‚éD
2678
2679(8-3-1) LOGTASK_PRIORITYiƒIƒvƒVƒ‡ƒ“j
2680
2681ƒƒOƒ^ƒXƒN‚Ì—Dæ“x‚ð’è‹`‚·‚éƒ}ƒNƒD’è‹`‚µ‚È‚¢ê‡‚̃fƒtƒHƒ‹ƒg’l‚Í3D
2682
2683(8-3-2) LOGTASK_STACK_SIZEiƒIƒvƒVƒ‡ƒ“j
2684
2685ƒƒOƒ^ƒXƒN‚̃Xƒ^ƒbƒNƒTƒCƒY‚ð’è‹`‚·‚éƒ}ƒNƒD’è‹`‚µ‚È‚¢ê‡‚̃fƒtƒHƒ‹ƒg
2686’l‚Í1024D
2687
2688(8-3-3) LOGTASK_PORTIDiƒIƒvƒVƒ‡ƒ“j
2689
2690ƒƒOƒ^ƒXƒN‚̏o—͐æ‚̃VƒŠƒAƒ‹ƒ|[ƒg”ԍ†D’è‹`‚µ‚È‚¢ê‡‚̃fƒtƒHƒ‹ƒg’l‚Í1D
2691
2692(8-3-4) LOGTASK_INTERVALiƒIƒvƒVƒ‡ƒ“j
2693
2694ƒƒOƒ^ƒXƒN‚Ì“®ìŠÔŠui’PˆÊ‚̓~ƒŠ•bjD’è‹`‚µ‚È‚¢ê‡‚̃fƒtƒHƒ‹ƒg’l‚Í10D
2695
2696(8-3-5) LOGTASK_FLUSH_WAITiƒIƒvƒVƒ‡ƒ“j
2697
2698ƒƒOo—Í‚ð‘Ò‚¿‡‚킹‚鏈—‚É‚¨‚¢‚āCƒ^ƒXƒN‚ð‘Ò‚½‚¹‚é’PˆÊ‚ƂȂ鎞ŠÔi’P
2699ˆÊ‚̓~ƒŠ•bjD’è‹`‚µ‚È‚¢ê‡‚̃fƒtƒHƒ‹ƒg’l‚Í1D
2700
27018.4 ƒVƒŠƒAƒ‹ƒCƒ“ƒ^ƒtƒF[ƒXƒhƒ‰ƒCƒo‚̃^[ƒQƒbƒgˆË‘¶•”
2702
2703ƒ^[ƒQƒbƒgˆË‘¶•”‚Å’ñ‹Ÿ‚·‚ׂ«ƒVƒŠƒAƒ‹ƒCƒ“ƒ^ƒtƒF[ƒXƒhƒ‰ƒCƒo‚Ì‚½‚ß‚Ì’è‹`
2704‚ÍŽŸ‚Ì’Ê‚è‚Å‚ ‚éD‚±‚ê‚ç‚Ì’è‹`‚́C•Ê‚ÉŽw’肪‚È‚¢ŒÀ‚èCtarget_serial.h‚Ü
2705‚½‚Í‚»‚±‚©‚çƒCƒ“ƒNƒ‹[ƒh‚³‚ê‚éƒtƒ@ƒCƒ‹‚Ɋ܂߁C•K—v‚ȃRƒ“ƒtƒBƒMƒ…
2706ƒŒ[ƒVƒ‡
2707ƒ“î•ñ‚ðtarget_serial.cfg‚É‹Lq‚·‚éDŠÖ”‚ÌŽÀ‘Ì‚ª•K—v‚ȏꍇ‚ɂ́C
2708target_serial.c“™‚̃tƒ@ƒCƒ‹‚ð—pˆÓ‚·‚éD
2709
2710ƒVƒŠƒAƒ‹ƒCƒ“ƒ^ƒtƒF[ƒXƒhƒ‰ƒCƒo‚Ì’†‚ŁCƒ^[ƒQƒbƒg‚̃VƒŠƒAƒ‹I/OƒfƒoƒCƒX‚É
2711ˆË‘¶‚·‚é•”•ª‚ðCƒVƒŠƒAƒ‹I/OƒfƒoƒCƒXƒhƒ‰ƒCƒo‚ƌĂԁDƒVƒŠƒAƒ‹I/OƒfƒoƒCƒX
2712ƒhƒ‰ƒCƒo‚́C‚¨‚¨‚æ‚»CITRONƒfƒoƒCƒXƒhƒ‰ƒCƒoÝŒvƒKƒCƒhƒ‰ƒCƒ“‚ÌPDIC‚É‘Š“–
2713‚·‚éDPDIC‚É‘Š“–‚·‚éƒtƒ@ƒCƒ‹‚ŁC‘¼‚̃VƒXƒeƒ€‚É‚à‹¤’Ê‚ÉŽg‚¦‚é‰Â”\«‚ª‚ 
2714‚éê‡‚ɂ́CpdicƒfƒBƒŒƒNƒgƒŠ‚É’u‚­D
2715
27168.4.1 •Ï”Cƒf[ƒ^Œ^CŠÇ—ŠÖ”
2717
2718(8-4-1) TNUM_PORT
2719
2720ƒVƒŠƒAƒ‹ƒCƒ“ƒ^ƒtƒF[ƒXƒhƒ‰ƒCƒo‚ªƒTƒ|[ƒg‚·‚éƒVƒŠƒAƒ‹ƒ|[ƒg”‚ð’è‹`‚·‚é
2721ƒ}ƒNƒD‚±‚̃}ƒNƒ‚Ì’è‹`‚́Ctarget_syssvc.h‚Ü‚½‚Í‚»‚±‚©‚çƒCƒ“ƒNƒ‹[ƒh‚³
2722‚ê‚éƒtƒ@ƒCƒ‹‚ÉŠÜ‚ß‚éD
2723
2724(8-4-2) void sio_initialize(intptr_t exinf)iƒIƒvƒVƒ‡ƒ“j
2725
2726ƒVƒŠƒAƒ‹I/OƒfƒoƒCƒXƒhƒ‰ƒCƒo‚̏‰Šú‰»ˆ—Dtarget_serial.cfg‚ɁC‚±‚̊֐”
2727‚ð‰Šú‰»ƒ‹[ƒ`ƒ“‚Æ‚µ‚Ä“o˜^‚·‚éÃ“IAPI‚ðŠÜ‚ß‚éD
2728
2729(8-4-3) void sio_terminate(intptr_t exinf)iƒIƒvƒVƒ‡ƒ“j
2730
2731ƒVƒŠƒAƒ‹I/OƒfƒoƒCƒXƒhƒ‰ƒCƒo‚̏I—¹ˆ—Dtarget_serial.cfg‚ɁC‚±‚̊֐”‚ð
2732I—¹ˆ—ƒ‹[ƒ`ƒ“‚Æ‚µ‚Ä“o˜^‚·‚éÃ“IAPI‚ðŠÜ‚ß‚éD
2733
2734(8-4-4) void sio_isr(intptr_t exinf)
2735
2736ƒVƒŠƒAƒ‹I/OƒfƒoƒCƒX‚ÌŠ„ž‚݃T[ƒrƒXƒ‹[ƒ`ƒ“Dtarget_serial.cfg‚ɁC‚±‚Ì
2737ŠÖ”‚ðŠ„ž‚݃T[ƒrƒXƒ‹[ƒ`ƒ“‚Æ‚µ‚Ä“o˜^‚·‚éÃ“IAPI‚ðŠÜ‚ß‚éD‚Ü‚½C‚»‚̐Ã
2738“IAPI‚É•K—v‚ȃVƒŠƒAƒ‹I/OƒfƒoƒCƒX‚ÌŠ„ž‚ݔԍ†‚Ȃǂ́Ctarget_serial.h‚Ń}
2739ƒNƒ’è‹`‚·‚éDŠ„ž‚݃T[ƒrƒXƒ‹[ƒ`ƒ“‚Å‚Í‚È‚­CŠ„ž‚݃nƒ“ƒhƒ‰‚Æ‚·‚邱‚Æ
2740‚à‚Å‚«‚éD
2741
2742(8-4-5) SIOPCB
2743
2744ƒVƒŠƒAƒ‹I/Oƒ|[ƒgŠÇ—ƒuƒƒbƒN‚̃f[ƒ^Œ^itarget_serial.h‚ɂ́Cƒf[ƒ^Œ^
2745‚̐錾‚¾‚¯ŠÜ‚Ü‚ê‚Ä‚¢‚ê‚΂悢jD
2746
2747(8-4-6) SIO_RDY_SND‚ÆSIO_RDY_RCV
2748
2749‘—M‰Â”\ƒR[ƒ‹ƒoƒbƒN‚ÌŽ¯•Ê”ԍ†‚ðSIO_RDY_SND‚ɁCŽóM’Ê’mƒR[ƒ‹ƒoƒbƒN‚ÌŽ¯
2750•Ê”ԍ†‚ðSIO_RDY_RCV‚Ƀ}ƒNƒ’è‹`‚·‚éDƒR[ƒ‹ƒoƒbƒN‚Ì‹ÖŽ~^‹–‰Â‚ðs‚È‚¤ƒT[
2751ƒrƒXƒR[ƒ‹isio_ena_cbr‚Æsio_dis_cbrj‚Å—p‚¢‚éD
2752
27538.4.2 ƒfƒoƒCƒXƒT[ƒrƒXƒ‹[ƒ`ƒ“
2754
2755ˆÈ‰º‚̃fƒoƒCƒXƒT[ƒrƒ‹ƒ‹[ƒ`ƒ“‚́Ci­‚È‚­‚Æ‚àjƒVƒŠƒAƒ‹I/Oƒ|[ƒg‚©‚ç‚Ì
2756Š„ž‚Ý‚ªƒ}ƒXƒN‚³‚ꂽó‘ԂŌĂяo‚³‚ê‚éD‚Ü‚½Cƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒgC”ñƒ^
2757ƒXƒNƒRƒ“ƒeƒLƒXƒg‚Ì‚¢‚¸‚ê‚ŌĂяo‚³‚ê‚éê‡‚à‚ ‚éi‚¢‚¸‚ê‚ŌĂяo‚³‚ê‚Ä
2758‚à“®ì‚·‚é‚悤‚É‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢jD
2759
2760(8-4-2-1) SIOPCB *sio_opn_por(ID siopid, intptr_t exinf)
2761
2762siopid‚ÅŽw’肳‚ê‚éƒVƒŠƒAƒ‹I/Oƒ|[ƒg‚ðƒI[ƒvƒ“‚·‚éŠÖ”Dexinf‚̓VƒŠƒAƒ‹
2763I/Oƒ|[ƒg‚ɑ΂·‚éŠg’£î•ñ‚ŁCƒR[ƒ‹ƒoƒbƒN‚ðŒÄ‚ÔŽž‚Ƀ|[ƒg‚ð‹æ•Ê‚·‚邽
2764‚ß‚É“n‚·D
2765
2766(8-4-2-2) void sio_cls_por(SIOPCB *siopcb)
2767
2768siopcb‚ÅŽw’肳‚ê‚éƒVƒŠƒAƒ‹I/Oƒ|[ƒg‚ðƒNƒ[ƒY‚·‚éŠÖ”D
2769
2770(8-4-2-3) bool_t sio_snd_chr(SIOPCB *siopcb, char c)
2771
2772siopcb‚ÅŽw’肳‚ê‚éƒVƒŠƒAƒ‹I/Oƒ|[ƒg‚ɁCc‚ÅŽ¦‚³‚ê‚镶Žš‚𑗐M‚·‚éŠÖ”D
2773•¶Žš‚𑗐MƒŒƒWƒXƒ^‚É“ü‚ꂽê‡‚É‚Ítrue‚ðC‘O‚É‘—M‚µ‚½•¶Žš‚Ì‘—M‚ªI‚í‚Á
2774‚Ä‚¢‚È‚¢‚½‚߂ɁC•¶Žš‚𑗐MƒŒƒWƒXƒ^‚É“ü‚ê‚ç‚ê‚È‚©‚Á‚½ê‡‚É‚Ífalse‚ð•Ô‚·D
2775
2776(8-4-2-4) int_t sio_rcv_chr(SIOPCB *siopcb)
2777
2778siopcb‚ÅŽw’肳‚ê‚éƒVƒŠƒAƒ‹I/Oƒ|[ƒg‚©‚當Žš‚ð“ǂފ֐”D•¶Žš‚ðŽóM‚µ‚Ä‚¢
2779‚½ê‡C“Ç‚ñ‚¾•¶Žš‚̃R[ƒh‚͐³‚Ì’l‚Æ‚µ‚Ä•Ô‚µC•¶Žš‚ðŽóM‚µ‚Ä‚¢‚È‚¢ê‡
2780‚É‚Í-1‚ð•Ô‚·D
2781
2782(8-4-2-5) void sio_ena_cbr(SIOPCB *siopcb, uint_t cbrtn)
2783
2784siopcb‚ÅŽw’肳‚ê‚éƒVƒŠƒAƒ‹I/Oƒ|[ƒg‚©‚ç‚́Ccbrtn‚ÅŽw’肳‚ê‚éƒR[ƒ‹ƒoƒb
2785ƒN‚ð‹–‰Â‚·‚éDcbrtn‚ɂ́CSIO_RDY_SND‚©SIO_RDY_RCV‚ðŽw’è‚Å‚«‚éD
2786
2787(8-4-2-6) void sio_dis_cbr(SIOPCB *siopcb, uint_t cbrtn)
2788
2789siopcb‚ÅŽw’肳‚ê‚éƒVƒŠƒAƒ‹I/Oƒ|[ƒg‚©‚ç‚́Ccbrtn‚ÅŽw’肳‚ê‚éƒR[ƒ‹ƒoƒb
2790ƒN‚ð‹ÖŽ~‚·‚éDcbrtn‚ɂ́CSIO_RDY_SND‚©SIO_RDY_RCV‚ðŽw’è‚Å‚«‚éD
2791
27928.4.3 ƒR[ƒ‹ƒoƒbƒNƒ‹[ƒ`ƒ“
2793
2794ƒ^[ƒQƒbƒgˆË‘¶•”‚́C•K—v‚ȃ^ƒCƒ~ƒ“ƒO‚ŁCƒVƒŠƒAƒ‹ƒCƒ“ƒ^ƒtƒF[ƒXƒhƒ‰ƒCƒo
2795‚̃^[ƒQƒbƒg”ñˆË‘¶•”‚ÉŠÜ‚Ü‚ê‚éˆÈ‰º‚̃R[ƒ‹ƒoƒbƒNƒ‹[ƒ`ƒ“‚ðŒÄ‚яo‚Ñ‚¾‚³
2796‚È‚¯‚ê‚΂Ȃç‚È‚¢D‚½‚¾‚µC‚»‚ꂼ‚ê‚̃R[ƒ‹ƒoƒbƒN‚ª‹ÖŽ~‚³‚ê‚Ä‚¢‚鎞‚́C
2797ƒR[ƒ‹ƒoƒbƒNƒ‹[ƒ`ƒ“‚ðŒÄ‚яo‚µ‚Ä‚Í‚È‚ç‚È‚¢D
2798
2799ƒR[ƒ‹ƒoƒbƒNƒ‹[ƒ`ƒ“‚́Ci­‚È‚­‚Æ‚àjƒVƒŠƒAƒ‹I/Oƒ|[ƒg‚©‚ç‚ÌŠ„ž‚Ý‚ª‹Ö
2800Ž~‚³‚ꂽó‘ԂŁC”ñƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg‚ŌĂяo‚·Dexinf‚ɂ́CƒVƒŠƒAƒ‹I/O
2801ƒ|[ƒg‚̃I[ƒvƒ“Žž‚ÉŽw’肳‚ꂽŠg’£î•ñ‚ð“n‚·D
2802
2803(8-4-3-1) void sio_irdy_snd(intptr_t exinf)
2804
2805‘—M‰Â”\ƒR[ƒ‹ƒoƒbƒNƒ‹[ƒ`ƒ“DƒVƒŠƒAƒ‹I/Oƒ|[ƒg‚ɑ΂µ‚Ä•¶Žš‚ª‘—M‚Å‚«‚é
2806ó‘Ô‚É‚È‚Á‚½ê‡‚ɌĂяo‚·DƒVƒŠƒAƒ‹ƒCƒ“ƒ^ƒtƒF[ƒXƒhƒ‰ƒCƒo‚́C‚±‚̃R[
2807ƒ‹ƒoƒbƒNƒ‹[ƒ`ƒ“‚Ì’†‚ŁCsio_snd_chr‚ðŒÄ‚яo‚µ‚ÄŽŸ‚Ì•¶Žš‚𑗐M‚·‚é‚©C‘—
2808M‚·‚ׂ«•¶Žš‚ª‚È‚¢ê‡‚É‚Í‘—M‰Â”\ƒR[ƒ‹ƒoƒbƒN‚ð‹ÖŽ~‚·‚éD
2809
2810(8-4-3-2) void sio_irdy_rcv(intptr_t exinf)
2811
2812ŽóM’Ê’mƒR[ƒ‹ƒoƒbƒNƒ‹[ƒ`ƒ“DƒVƒŠƒAƒ‹I/Oƒ|[ƒg‚©‚當Žš‚ðŽóM‚µ‚½ê‡‚É
2813ŒÄ‚яo‚·DƒVƒŠƒAƒ‹ƒCƒ“ƒ^ƒtƒF[ƒXƒhƒ‰ƒCƒo‚́C‚±‚̃R[ƒ‹ƒoƒbƒNƒ‹[ƒ`ƒ“‚Ì
2814’†‚ŁC•K‚¸sio_rcv_chr‚ðŒÄ‚яo‚µ‚ÄŽóM‚µ‚½•¶Žš‚ðŽæ‚èo‚·D
2815
28168.5 ƒJ[ƒlƒ‹‹N“®ƒƒbƒZ[ƒW‚̏o—͂̃^[ƒQƒbƒgˆË‘¶’è‹`
2817
2818ƒ^[ƒQƒbƒgˆË‘¶•”‚Å’ñ‹Ÿ‚·‚ׂ«ƒJ[ƒlƒ‹‹N“®ƒƒbƒZ[ƒW‚̏o—Í‚Ì‚½‚ß‚Ì’è‹`‚Í
2819ŽŸ‚Ì’Ê‚è‚Å‚ ‚éD
2820
2821(8-5-1) TARGET_NAME
2822
2823ƒ^[ƒQƒbƒg‚Ì–¼Ì‚É’è‹`‚·‚éD
2824
2825(8-5-2) TARGET_COPYRIGHTiƒIƒvƒVƒ‡ƒ“j
2826
2827ƒJ[ƒlƒ‹‹N“®ƒƒbƒZ[ƒW‚ɁCƒ^[ƒQƒbƒgˆË‘¶•”‚Ì’˜ìŒ •\Ž¦‚ð’ljÁ‚·‚邽‚ß‚Ì
2828ƒ}ƒNƒDƒfƒtƒHƒ‹ƒg‚ł́Cƒ^[ƒQƒbƒgˆË‘¶•”‚Ì’˜ìŒ •\Ž¦‚ð’ljÁ‚µ‚È‚¢D
2829
28308.6 ƒTƒ“ƒvƒ‹ƒvƒƒOƒ‰ƒ€‚ƃeƒXƒgƒvƒƒOƒ‰ƒ€‚̃^[ƒQƒbƒgˆË‘¶’è‹`
2831
2832ƒ^[ƒQƒbƒgˆË‘¶•”‚Å’ñ‹Ÿ‚·‚ׂ«ƒTƒ“ƒvƒ‹ƒvƒƒOƒ‰ƒ€‚¨‚æ‚уeƒXƒgƒvƒƒOƒ‰ƒ€‚Ì
2833‚½‚ß‚Ì’è‹`‚ÍŽŸ‚Ì’Ê‚è‚Å‚ ‚éD‚±‚ê‚ç‚Ì’è‹`‚́Ctarget_test.hi‚Ü‚½‚Í‚»‚ê‚ç
2834‚©‚çƒCƒ“ƒNƒ‹[ƒh‚³‚ê‚éƒtƒ@ƒCƒ‹j‚ÉŠÜ‚ß‚éD
2835
2836(8-6-1) STACK_SIZEiƒIƒvƒVƒ‡ƒ“j
2837
2838ƒTƒ“ƒvƒ‹ƒvƒƒOƒ‰ƒ€‚¨‚æ‚уeƒXƒgƒvƒƒOƒ‰ƒ€‚̃^ƒXƒN‚̃Xƒ^ƒbƒNƒTƒCƒY‚ð’è‹`
2839‚·‚éƒ}ƒNƒD’è‹`‚µ‚È‚¢ê‡‚̃fƒtƒHƒ‹ƒg’l‚Í4096DƒfƒtƒHƒ‹ƒgÝ’è‚ł̓ƒ‚
2840ƒŠ‚ª•s‘«‚·‚éê‡‚âCƒVƒ~ƒ…
2841ƒŒ[ƒVƒ‡ƒ“ŠÂ‹«‚È‚Ç‚Å‘å‚«‚¢ƒXƒ^ƒbƒN—̈悪•K—v
2842‚ȏꍇ‚ɂ́Cƒ^[ƒQƒbƒgˆË‘¶•”‚Å‚±‚̃}ƒNƒ‚ðÝ’è‚·‚éƒXƒ^ƒbƒNƒTƒCƒY‚É’è‹`
2843‚·‚éD
2844
2845(8-6-2) CPUEXC1iƒIƒvƒVƒ‡ƒ“j
2846
2847ƒTƒ“ƒvƒ‹ƒvƒƒOƒ‰ƒ€‚¨‚æ‚уeƒXƒgƒvƒƒOƒ‰ƒ€‚Å—p‚¢‚éCPU—áŠO‚ÌCPU—áŠOƒnƒ“ƒh
2848ƒ‰”ԍ†‚ð’è‹`‚·‚éƒ}ƒNƒD‚±‚̃}ƒNƒ‚ð’è‹`‚µ‚È‚¢ê‡CCPU—áŠOƒnƒ“ƒhƒ‰‚ðŽg
2849‚¤•”•ª‚ªƒTƒ“ƒvƒ‹ƒvƒƒOƒ‰ƒ€‚©‚珜ŠO‚³‚ê‚éDCPU—áŠOƒnƒ“ƒhƒ‰‚̃eƒXƒg‚ð‚·‚é
2850ƒeƒXƒgƒvƒƒOƒ‰ƒ€‚̓Rƒ“ƒpƒCƒ‹‚Å‚«‚È‚¢D
2851
2852(8-6-3) RAISE_CPU_EXCEPTIONiƒIƒvƒVƒ‡ƒ“j
2853
2854CPUEXC1‚É’è‹`‚µ‚½CPU—áŠO‚𔭐¶‚³‚¹‚éCŒ¾Œê‚̃vƒƒOƒ‰ƒ€‚ð’è‹`‚·‚éƒ}ƒNƒD
2855CPUEXC1‚ð’è‹`‚µ‚½ê‡‚É‚Í•K‚¸’è‹`‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢D
2856
2857(8-6-4) CANNOT_RETURN_CPUEXCiƒIƒvƒVƒ‡ƒ“j
2858
2859ƒ^[ƒQƒbƒgƒVƒXƒeƒ€‚̐§–ñ‚É‚æ‚èCCPU—áŠOƒnƒ“ƒhƒ‰‚©‚烊ƒ^[ƒ“‚µ‚½Œã‚ɁCƒ^
2860ƒXƒN‚ÌŽÀs‚ðŒp‘±‚Å‚«‚È‚¢ê‡‚É’è‹`‚·‚éƒ}ƒNƒD‚±‚̃}ƒNƒ‚ð’è‹`‚·‚é‚ƁC
2861CPU—áŠOƒnƒ“ƒhƒ‰‚̃eƒXƒg‚ð‚·‚éƒeƒXƒgƒvƒƒOƒ‰ƒ€‚©‚çCCPU—áŠOƒnƒ“ƒhƒ‰‚©‚ç
2862ƒŠƒ^[ƒ“‚µ‚½Œã‚̏ˆ—‚ªœŠO‚³‚ê‚éDƒTƒ“ƒvƒ‹ƒvƒƒOƒ‰ƒ€‚ÌŠY“–•”•ª‚͐³‚µ‚­
2863“®ì‚µ‚È‚¢D
2864
2865(8-6-5) TASK_PORTIDiƒIƒvƒVƒ‡ƒ“j
2866
2867ƒTƒ“ƒvƒ‹ƒvƒƒOƒ‰ƒ€‚É‚¨‚¢‚āCƒRƒ}ƒ“ƒh•¶Žš‚ð“ǂݍž‚ÞƒVƒŠƒAƒ‹ƒ|[ƒg”ԍ†‚ð
2868’è‹`‚·‚éƒ}ƒNƒD’è‹`‚µ‚È‚¢ê‡‚̃fƒtƒHƒ‹ƒg’l‚Í1D
2869
2870(8-6-6) LOOP_REFiƒIƒvƒVƒ‡ƒ“j
2871
2872ƒTƒ“ƒvƒ‹ƒvƒƒOƒ‰ƒ€‚É‚¨‚¢‚āCƒvƒƒZƒbƒT‚Ì‘¬“x‚ðŒv‘ª‚·‚邽‚߂̃‹[ƒv‰ñ”
2873‚ð’è‹`‚·‚éƒ}ƒNƒD’è‹`‚µ‚È‚¢ê‡‚̃fƒtƒHƒ‹ƒg’l‚Í1000000DƒfƒtƒHƒ‹ƒgÝ’è
2874‚ł́C’l‚ª‘å‚«‰ß‚¬‚ÄŒv‘ª‚ÉŽžŠÔ‚ª‚©‚©‚è‚·‚¬‚éê‡‚âC’l‚ª¬‚³‰ß‚¬‚ÄŒv‘ª
2875Œ‹‰Ê‚ªˆÀ’肵‚È‚¢ê‡‚ɁCƒ^[ƒQƒbƒgˆË‘¶•”‚Å‚±‚̃}ƒNƒ‚ðÝ’è‚·‚郋[ƒv‰ñ
2876”‚É’è‹`‚·‚éD
2877
2878(8-6-7) MEASURE_TWICEiƒIƒvƒVƒ‡ƒ“j
2879
2880ƒTƒ“ƒvƒ‹ƒvƒƒOƒ‰ƒ€‚É‚¨‚¢‚āCƒvƒƒZƒbƒT‚Ì‘¬“x‚ð2“xŒv‘ª‚·‚éê‡‚É’è‹`‚·‚é
2881ƒ}ƒNƒDƒVƒ~ƒ…
2882ƒŒ[ƒVƒ‡ƒ“ŠÂ‹«‚ȂǃvƒƒZƒbƒT‚Ì‘¬“x‚ª•Ï“®‚·‚éŠÂ‹«‚ŁC1“x‚Ì
2883Œv‘ª‚Å‚ÍŒv‘ªŒ‹‰Ê‚ªˆÀ’肵‚È‚¢ê‡‚É’è‹`‚·‚éD
2884
2885(8-6-8) TASK_LOOPiƒIƒvƒVƒ‡ƒ“j
2886
2887ƒTƒ“ƒvƒ‹ƒvƒƒOƒ‰ƒ€‚É‚¨‚¢‚āCƒvƒƒZƒbƒT‚Ì‘¬“x‚ðŒv‘ª‚¹‚¸‚ɁCƒ^ƒXƒN“à‚Å‚Ì
2888ƒ‹[ƒv‰ñ”‚ðŒÅ’è‚·‚éê‡‚ɁCƒ‹[ƒv‰ñ”‚ð’è‹`‚·‚éƒ}ƒNƒDƒ‹[ƒv‘S‘Ì‚ÌŽÀ
2889sŽžŠÔ‚ª0.4•b’ö“x‚É‚È‚é‚悤‚ȃ‹[ƒv‰ñ”‚ðC‚±‚̃}ƒNƒ‚É’è‹`‚·‚éD
2890
28919. ‚»‚Ì‘¼
2892
28939.1 ƒhƒLƒ…
2894ƒƒ“ƒg
2895
2896ƒ^[ƒQƒbƒgˆË‘¶•”‚̃†[ƒU[ƒYƒ}ƒjƒ…
2897ƒAƒ‹‚ðCtarget_user.txt‚É—pˆÓ‚·‚éDƒv
2898ƒƒZƒbƒTEƒ`ƒbƒvEŠJ”­ŠÂ‹«ˆË‘¶•”‚̃†[ƒU[ƒYƒ}ƒjƒ…
2899ƒAƒ‹‚ðØ‚蕪‚¯‚Ä‚à‚æ
2900‚¢‚µCƒtƒ@ƒCƒ‹‚ª‘å‚«‚­‚È‚éê‡‚É‚Í•¡”‚̃tƒ@ƒCƒ‹‚É•ªŠ„‚µ‚Ä‚æ‚¢‚ªC‚»‚Ì
2901ê‡‚ɂ́Ctarget_user.txt’†‚É‚»‚ê‚ç‚̃tƒ@ƒCƒ‹–¼‚ð‹Lq‚·‚邱‚ƁD
2902
2903ƒ^[ƒQƒbƒgˆË‘¶•”‚̃†[ƒU[ƒYƒ}ƒjƒ…
2904ƒAƒ‹‚ɂ́C­‚È‚­‚Æ‚àŽŸ‚̂悤‚È“à—e‚ð
2905‹Lq‚·‚邱‚Æ‚ª–]‚Ü‚µ‚¢D
2906
2907(1) ‘Ήž‚µ‚Ä‚¢‚éƒ^[ƒQƒbƒgƒVƒXƒeƒ€‚ÌŽí—ށE\¬Cƒo[ƒWƒ‡ƒ“”ԍ†
2908 Eƒ^[ƒQƒbƒgƒn[ƒhƒEƒFƒAiƒ{[ƒh“™j‚Ì–¼Ì‚ƑΉž‚µ‚Ä‚¢‚é\¬
2909 Eƒ^[ƒQƒbƒg—ªÌ
2910 Eƒ^[ƒQƒbƒg”ñˆË‘¶•”‚̃o[ƒWƒ‡ƒ“”ԍ†
2911 EƒvƒƒZƒbƒTCƒ`ƒbƒvCŠJ”­ŠÂ‹«ˆË‘¶•”‚̍\¬‚ƃo[ƒWƒ‡ƒ“”ԍ†
2912 EŽg—p‚·‚éPDIC‚ƃo[ƒWƒ‡ƒ“”ԍ†
2913
2914(2) Žg—p‚·‚éŠJ”­ŠÂ‹«‚Æ“®ìŒŸØ‚µ‚½ðŒiƒo[ƒWƒ‡ƒ“CƒIƒvƒVƒ‡ƒ““™j
2915 EŒ¾Œêˆ—ŒniƒRƒ“ƒpƒCƒ‰CƒAƒZƒ“ƒuƒ‰CƒŠƒ“ƒJ“™j
2916 EƒfƒoƒbƒOŠÂ‹«
2917
2918(3) ƒ^[ƒQƒbƒg’è‹`Ž–€‚Ì‹K’è
2919
2920(3-1) ƒf[ƒ^Œ^‚ÉŠÖ‚·‚é‹K’è
2921 Eint_tŒ^Clong_tŒ^‚̃TƒCƒY
2922 EcharŒ^Cint_least8_tŒ^Cvoid *Œ^Cintptr_tŒ^‚̃TƒCƒY
2923 Eint8_tŒ^Cuint8_tŒ^Cint64_tŒ^Cuint64_tŒ^Cint128_tŒ^C
2924 @uint128_tŒ^Cfloat32_tŒ^Cdouble64_tŒ^‚̃Tƒ|[ƒg‚Ì—L–³
2925
2926(3-2) Š„ž‚ݏˆ—‚ÉŠÖ‚·‚é‹K’è
2927 EŠ„ž‚݃nƒ“ƒhƒ‰”ԍ†‚ÆŠ„ž‚ݔԍ†‚ÌŠ„“–‚āC—¼ŽÒ‚̑Ήž
2928 EŠ„ž‚Ý—Dæ“x‚Ì’iŠK”iTMIN_INTPRI‚Ì’lj
2929 Edis_int‚Æena_int‚̃Tƒ|[ƒg‚Ì—L–³C‚»‚̐§ŒÀŽ–€
2930 ECFG_INT‚̐§ŒÀŽ–€‚ÆŠg’£iƒ^[ƒQƒbƒg’è‹`‚ÅŽg—p‚Å‚«‚銄ž‚Ý‘®«j
2931 ETOPPERS•W€Š„ž‚ݏˆ—ƒ‚ƒfƒ‹‚©‚ç‚Ì‚»‚Ì‘¼‚̈í’E
2932
2933(3-3) ƒJ[ƒlƒ‹ŠÇ—ŠO‚ÌŠ„ž‚Ý‚ÉŠÖ‚·‚é‹K’è
2934 ETMIN_INTPRI‚͌Œ肩Ý’è‚Å‚«‚é‚©C‚»‚̐ݒè•û–@
2935 ENMIˆÈŠO‚ɃJ[ƒlƒ‹ŠÇ—ŠO‚ÌŠ„ž‚Ý‚ðÝ‚¯‚é‚©iÝ‚¯‚ç‚ê‚é‚悤‚É‚·‚é‚©j
2936 EƒJ[ƒlƒ‹ŠÇ—ŠO‚ÌŠ„ž‚݂̐ݒè•û–@
2937 EƒJ[ƒlƒ‹ŠÇ—ŠO‚ÌŠ„ž‚݂ɑ΂µ‚ÄDEF_INHCCFG_INT‚ðƒTƒ|[ƒg‚·‚é‚©
2938 EƒJ[ƒlƒ‹ŠÇ—ŠO‚ÌŠ„ž‚݃nƒ“ƒhƒ‰‚ªŽÀsŠJŽn‚³‚ê‚鎞‚̃VƒXƒeƒ€ó‘Ô‚Æ
2939 @ƒRƒ“ƒeƒLƒXƒg
2940 EŠ„ž‚݃nƒ“ƒhƒ‰‚̏I—¹Žž‚ɍs‚í‚ê‚鏈—
2941 EƒJ[ƒlƒ‹ŠÇ—ŠO‚ÌŠ„ž‚݃nƒ“ƒhƒ‰‚Ì‹Lq•û–@
2942 EƒJ[ƒlƒ‹“à‚ÌŠ„ž‚ݏo“üŒûˆ—‚Å‹N‚±‚é‰Â”\«‚Ì‚ ‚éCPU—áŠO
2943
2944(3-4) CPU—áŠOˆ—‚ÉŠÖ‚·‚é‹K’è
2945 ECPU—áŠOƒnƒ“ƒhƒ‰”ԍ†‚ÌŠ„“–‚Ä
2946 EŠ„ž‚Ý—Dæ“xƒ}ƒXƒN‚ðTMIN_INTPRI‚Æ“¯‚¶‚©‚»‚ê‚æ‚è‚à‚‚¢’l‚ɐݒ肵‚Ä
2947 @‚¢‚éó‘Ô‚Å”­¶‚µ‚½CPU—áŠO‚ðCƒJ[ƒlƒ‹ŠÇ—ŠO‚ÌCPU—áŠO‚ƈµ‚¤‚©
2948 EƒJ[ƒlƒ‹“à‚ÌCPU—áŠOo“üŒûˆ—‚Å‹N‚±‚é‰Â”\«‚Ì‚ ‚éCPU—áŠO
2949
2950(3-5) «”\•]‰¿—pƒVƒXƒeƒ€Žž‚ÌŽQÆ‚ÉŠÖ‚·‚é‹K’è
2951 Eget_utm‚̃Tƒ|[ƒg‚Ì—L–³C‚»‚̐§ŒÀŽ–€
2952
2953(3-6) ‚»‚Ì‘¼
2954 E‚»‚Ì‘¼‚̐§ŒÀŽ–€
2955 E‚»‚Ì‘¼‚ÌŠg’£‹@”\
2956
2957(4) ƒJ[ƒlƒ‹‚Ì‹N“®^I—¹ˆ—‚ÉŠÖ‚·‚éî•ñ
2958 E—pˆÓ‚µ‚Ä‚¢‚éƒXƒ^[ƒgƒAƒbƒvƒ‚ƒWƒ…
2959[ƒ‹‚̏ˆ—“à—e
2960 EƒXƒ^[ƒgƒAƒbƒvƒ‚ƒWƒ…
2961[ƒ‹‚©‚çhardware_init_hook‚ðŒÄ‚яo‚µ‚Ä‚¢‚éê
2962 @‡‚ɂ́Chardware_init_hook‚ðƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Å—pˆÓ‚·‚éê‡‚̍쐬
2963 @•û–@‚␧ŒÀŽ–€‚È‚Ç
2964 EƒJ[ƒlƒ‹‚ðI—¹‚µ‚½Œã‚̐U•‘‚¢
2965
2966(5) ƒƒ‚ƒŠƒ}ƒbƒv
2967 EƒfƒtƒHƒ‹ƒg‚̃ƒ‚ƒŠƒ}ƒbƒvC‚»‚̕ύX•û–@
2968
2969(6) ƒ^ƒCƒ}ƒhƒ‰ƒCƒoŠÖ˜A‚̏î•ñ
2970 Eƒ^ƒCƒ€ƒeƒBƒbƒN‚ÌŽüŠúC‚»‚̕ύX•û–@
2971 EŽg—p‚·‚郊ƒ\[ƒXiƒ^ƒCƒ}j
2972 Eƒ^ƒCƒ}Š„ž‚Ý‚ÌŠ„ž‚Ý—Dæ“x‚̕ύX•û–@
2973 EƒI[ƒoƒ‰ƒ“ƒ^ƒCƒ}Š„ž‚Ý‚ÌŠ„ž‚Ý—Dæ“x‚̕ύX•û–@
2974
2975(7) ƒVƒŠƒAƒ‹ƒCƒ“ƒ^ƒtƒF[ƒXƒhƒ‰ƒCƒo‚̏î•ñ
2976 EŽg—p‚·‚郊ƒ\[ƒXiSIOƒRƒ“ƒgƒ[ƒ‰j
2977 E’ʐMƒpƒ‰ƒ[ƒ^iƒ{[ƒŒ[ƒgCƒrƒbƒg”CƒpƒŠƒeƒB‚Ì—L–³CƒXƒgƒbƒvƒrƒbƒgj
2978
2979(8) ƒVƒXƒeƒ€\’zŽè‡
2980
2981(9) ƒ^[ƒQƒbƒgƒVƒXƒeƒ€ŒÅ—L‚Ì’ˆÓŽ–€
2982 Eƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg‚ÉŠÜ‚Ü‚ê‚郌ƒWƒXƒ^CŠÜ‚Ü‚ê‚È‚¢ƒŒƒWƒXƒ^
2983
2984(10) —ÞŽ—‚̃^[ƒQƒbƒg‚Ƀ|[ƒeƒBƒ“ƒO‚·‚éŠJ”­ŽÒŒü‚¯‚ÌŽQlî•ñ
2985
2986(11) ƒfƒBƒŒƒNƒgƒŠ\¬Eƒtƒ@ƒCƒ‹\¬
2987
2988(12) ƒo[ƒWƒ‡ƒ“—š—ð
2989
2990‚Ü‚½C•K—v‚ɉž‚¶‚āCƒ^[ƒQƒbƒgˆË‘¶•”‚̐݌vƒƒ‚‚ðCtarget_design.txt‚É—p
2991ˆÓ‚·‚éDƒvƒƒZƒbƒTEƒ`ƒbƒvEŠJ”­ŠÂ‹«ˆË‘¶•”‚ÉŠÖ‚·‚éÝŒvƒƒ‚‚ðØ‚蕪‚¯‚Ä
2992‚à‚æ‚¢‚µCƒtƒ@ƒCƒ‹‚ª‘å‚«‚­‚È‚éê‡‚É‚Í•¡”‚̃tƒ@ƒCƒ‹‚É•ªŠ„‚µ‚Ä‚à‚æ‚¢‚ªC
2993‚»‚̏ꍇ‚ɂ́Ctarget_design.txt’†‚É‚»‚ê‚ç‚̃tƒ@ƒCƒ‹–¼‚ð‹Lq‚·‚邱‚ƁD
2994
29959.2 ƒpƒbƒP[ƒW‹Lqƒtƒ@ƒCƒ‹
2996
2997ƒŠƒŠ[ƒXƒpƒbƒP[ƒWiŒÂ•ÊƒpƒbƒP[ƒW‚¨‚æ‚ъȈՃpƒbƒP[ƒWj‚ðì¬‚·‚邽‚ß
2998‚ɁCƒpƒbƒP[ƒW‚ÉŠÜ‚ß‚éƒtƒ@ƒCƒ‹‚ð‹Lq‚µ‚½ƒpƒbƒP[ƒW‹Lqƒtƒ@ƒCƒ‹‚ð—pˆÓ‚·
2999‚éDƒpƒbƒP[ƒW‹Lqƒtƒ@ƒCƒ‹‚Ì–¼Ì‚́CŒÂ•ÊƒpƒbƒP[ƒW—p‚ðMANIFESTCŠÈˆÕƒpƒb
3000ƒP[ƒW—p‚ðE_PACKAGE‚Æ‚·‚éD
3001
3002—Ⴆ‚΁Carch/arm_gccƒfƒBƒŒƒNƒgƒŠ‚É’u‚©‚ꂽMANIFESTƒtƒ@ƒCƒ‹‚ð—p‚¢‚ȕÊ
3003ƒpƒbƒP[ƒW‚ðì¬‚·‚éê‡‚ɂ́CŽŸ‚̃Rƒ}ƒ“ƒh‚ðŽÀs‚·‚éD
3004
3005 % utils/makerelease arch/arm_gcc/MANIFEST
3006
3007‚±‚̃Rƒ}ƒ“ƒh‚É‚æ‚èCRELEASE/ssp_arch_arm_gcc-<ƒo[ƒWƒ‡ƒ“”ԍ†>.tar.gz‚ª
3008ì¬‚³‚ê‚éD‚Ü‚½Ctarget/at91skyeye_gccƒfƒBƒŒƒNƒgƒŠ‚É’u‚©‚ꂽE_PACKAGE
3009ƒtƒ@ƒCƒ‹‚ð—p‚¢‚ĊȈՃpƒbƒP[ƒW‚ðì¬‚·‚éê‡‚ɂ́CŽŸ‚̃Rƒ}ƒ“ƒh‚ðŽÀs‚·
3010‚éD
3011
3012 % utils/makerelease target/cq_starm_gcc/E_PACKAGE
3013
3014‚±‚̃Rƒ}ƒ“ƒh‚É‚æ‚èCRELEASE/ssp_cq_starm_gcc_gcc-<ƒo[ƒWƒ‡ƒ“”ԍ†>.tar.gz
3015‚ªì¬‚³‚ê‚éiRELEASEƒfƒBƒŒƒNƒgƒŠ‚ª‚È‚¢ê‡‚ɂ́CƒfƒBƒŒƒNƒgƒŠ‚ªì‚ç‚ê
3016‚éjD
3017
3018‚È‚¨Cmakereleaseƒ†[ƒeƒBƒŠƒeƒB‚́CSSPƒJ[ƒlƒ‹‚̃\[ƒXƒtƒ@ƒCƒ‹‚ª’u‚©‚ê
3019‚½ƒfƒBƒŒƒNƒgƒŠ‚ªCssp‚Æ‚¢‚¤–¼Ì‚Å‚ ‚邱‚Æ‚ð‰¼’è‚µ‚Ä‚¢‚éiˆÙ‚È‚é–¼Ì‚̏ê
3020‡‚Å‚àƒpƒbƒP[ƒW‚͍쐬‚Å‚«‚邪CƒpƒbƒP[ƒW‚ð“WŠJ‚µ‚½Žž‚É“WŠJ‚³‚ê‚éƒfƒB
3021ƒŒƒNƒgƒŠ‚ªssp‚Å‚È‚­‚È‚éjD‚Ü‚½C•W€‚ÌtarƒRƒ}ƒ“ƒh‚ªGNU tar‚Å‚ ‚邱‚Æ
3022i³Šm‚ɂ́CzƒIƒvƒVƒ‡ƒ“‚ɑΉž‚µ‚Ä‚¢‚邱‚Ɓj‚ð‘z’肵‚Ä‚¢‚éD
3023
3024ƒpƒbƒP[ƒW‹Lqƒtƒ@ƒCƒ‹‚ɂ́CƒpƒbƒP[ƒW‚ÉŠÜ‚ß‚éƒtƒ@ƒCƒ‹–¼‚ðCƒpƒbƒP[ƒW
3025‹Lqƒtƒ@ƒCƒ‹‚ª’u‚©‚ꂽƒfƒBƒŒƒNƒgƒŠ‚©‚ç‚Ì‘Š‘΃pƒX–¼‚ŁC1s‚É1‚‚¸‚‹Lq
3026‚·‚éD‚Ü‚½C•K—v‚ɉž‚¶‚āCˆÈ‰º‚̃fƒBƒŒƒNƒeƒBƒu‚ðŠÜ‚ß‚éD
3027
3028(a) E_PACKAGE <ŠÈˆÕƒpƒbƒP[ƒW–¼>
3029
3030ŠÈˆÕƒpƒbƒP[ƒW–¼‚ðŽw’è‚·‚éDŠÈˆÕƒpƒbƒP[ƒW‹Lqƒtƒ@ƒCƒ‹iE_PACKAGEj‚̐æ
3031“ª‚É‹Lq‚·‚éDŠÈˆÕƒpƒbƒP[ƒW–¼‚́Cssp_<ƒ^[ƒQƒbƒg—ªÌ>‚Æ‚·‚éD—Ⴆ‚΁C
3032ƒ^[ƒQƒbƒg—ªÌ‚ªcq_starm_gcc‚̏ꍇ‚ɂ́Cssp_cq_starm_gcc‚Æ‚È‚éDŒÂ
3033•ÊƒpƒbƒP[ƒW‚Æ‹æ•Ê‚·‚邽‚߂ɁCŠÈˆÕƒpƒbƒP[ƒW‚̃tƒ@ƒCƒ‹–¼‚É‚Í"target"‚ð
3034ŠÜ‚ß‚È‚¢D
3035
3036(b) PACKAGE <ŒÂ•ÊƒpƒbƒP[ƒW–¼>
3037
3038ŒÂ•ÊƒpƒbƒP[ƒW–¼‚ðŽw’è‚·‚éDŒÂ•ÊƒpƒbƒP[ƒW‹Lqƒtƒ@ƒCƒ‹iMANIFESTj‚̐æ
3039“ª‚É‹Lq‚·‚éD‚Ü‚½C‚»‚±‚©‚çƒCƒ“ƒNƒ‹[ƒh‚³‚ê‚éŠeƒtƒ@ƒCƒ‹‚̐擪‚É‚à‹Lq
3040‚µC‚»‚ê‚ðƒCƒ“ƒNƒ‹[ƒh‚µ‚Ä‚¢‚éŒÂ•ÊƒpƒbƒP[ƒW–¼‚ðŽw’è‚·‚éDƒ^[ƒQƒbƒgˆË
3041‘¶•”‚̌•ʃpƒbƒP[ƒW–¼‚́CŒÂ•ÊƒpƒbƒP[ƒW‹Lqƒtƒ@ƒCƒ‹‚ª’u‚©‚ꂽƒfƒBƒŒƒN
3042ƒgƒŠ‚Ì‘Š‘΃pƒX’†‚Ì"/"‚ð"_"‚É’u‚«Š·‚¦‚½•¶Žš—ñ‚ðC"ssp_"‚ÌŒã‚ɂ‚Ȃ°‚½‚à
3043‚Ì‚Æ‚·‚éD—Ⴆ‚΁CŒÂ•ÊƒpƒbƒP[ƒW‹Lqƒtƒ@ƒCƒ‹‚ªarch/arm_gcc/MANIFEST‚̏ê
3044‡‚ɂ́Cssp_arch_arm_gcc‚Æ‚È‚éD
3045
3046(c) VERSION <ƒo[ƒWƒ‡ƒ“”ԍ†>
3047
3048ƒpƒbƒP[ƒW‚̃o[ƒWƒ‡ƒ“”ԍ†‚ðŽw’è‚·‚éDŠÈˆÕƒpƒbƒP[ƒW‹Lqƒtƒ@ƒCƒ‹‚¨‚æ‚Ñ
3049ŒÂ•ÊƒpƒbƒP[ƒW‹Lqƒtƒ@ƒCƒ‹‚Ì’†‚É‹Lq‚·‚éDŠÈˆÕƒpƒbƒP[ƒW‚É‚¨‚¢‚āCƒo[
3050ƒWƒ‡ƒ“”ԍ†‚ðƒpƒbƒP[ƒW‰»‚µ‚½“ú•t‚Æ‚·‚éê‡‚ɂ́CƒpƒbƒP[ƒW”ԍ†‚Ì‘ã‚í‚è
3051‚É%date‚Æ‹Lq‚·‚éD
3052
3053ƒo[ƒWƒ‡ƒ“”ԍ†‚Ì•t—^•û–@‚ɂ‚¢‚ẮCuTOPPERS/SSPƒJ[ƒlƒ‹ ƒ†[ƒU[ƒYƒ}
3054ƒjƒ…
3055ƒAƒ‹v‚́u2.2 ŠÈˆÕƒpƒbƒP[ƒWv‚¨‚æ‚сu2.3 ŒÂ•ÊƒpƒbƒP[ƒWv‚̐߂ðŽQ
3056Æ‚·‚邱‚ƁD
3057
3058(d) INCLUDE <ƒtƒ@ƒCƒ‹–¼>
3059
3060•Ê‚̃pƒbƒP[ƒW‹Lqƒtƒ@ƒCƒ‹‚ðƒCƒ“ƒNƒ‹[ƒh‚·‚éDŠÈˆÕƒpƒbƒP[ƒW‹Lqƒtƒ@ƒC
3061ƒ‹‚©‚ç‚́CŒÂ•ÊƒpƒbƒP[ƒW‹Lqƒtƒ@ƒCƒ‹‚Ì‚Ý‚ðƒCƒ“ƒNƒ‹[ƒh‚·‚é‚Ì‚ðŒ´‘¥‚Æ‚·
3062‚éDŒÂ•ÊƒpƒbƒP[ƒW‹Lqƒtƒ@ƒCƒ‹‚©‚çƒCƒ“ƒNƒ‹[ƒh‚³‚ê‚éƒtƒ@ƒCƒ‹’†‚ÅŽw’肳
3063‚ê‚éŒÂ•ÊƒpƒbƒP[ƒW–¼‚́C‚·‚ׂĈê’v‚µ‚Ä‚¢‚È‚¯‚ê‚΂Ȃç‚È‚¢D
3064
3065
306610. ƒŠƒtƒ@ƒŒƒ“ƒX
3067
306810.1 ƒ^[ƒQƒbƒgˆË‘¶•”‚̃tƒ@ƒCƒ‹ˆê——
3069
3070•W€“I‚ȃ^[ƒQƒbƒgˆË‘¶•”‚̃tƒ@ƒCƒ‹\¬‚ÍŽŸ‚Ì’Ê‚è‚Å‚ ‚éD
3071
3072Makefile.target Makefile‚̃^[ƒQƒbƒgˆË‘¶•”i‚QÍjD
3073
3074target_stddef.h TOPPERS‹¤’Ê’è‹`it_stddef.hj‚̃^[ƒQƒbƒgˆË‘¶•”i‚R
3075 ÍjDƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ƃJ[ƒlƒ‹‚Ì—¼•û‚©‚çƒCƒ“ƒNƒ‹[
3076 ƒh‚³‚ê‚éD
3077target_sil.h ƒVƒXƒeƒ€ƒCƒ“ƒ^ƒtƒF[ƒXƒŒƒCƒ„isil.hj‚̃^[ƒQƒbƒgˆË
3078 ‘¶•”i‚SÍjDƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ƃJ[ƒlƒ‹‚Ì—¼•û‚©‚ç
3079 ƒCƒ“ƒNƒ‹[ƒh‚³‚ê‚éD
3080target_kernel.h ƒJ[ƒlƒ‹APIikernel.hj‚̃^[ƒQƒbƒgˆË‘¶•”i‚TÍjD
3081 ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ƃJ[ƒlƒ‹‚Ì—¼•û‚©‚çƒCƒ“ƒNƒ‹[ƒh‚³
3082 ‚ê‚éD
3083
3084target_config.h ƒJ[ƒlƒ‹ŽÀ‘•‚̃^[ƒQƒbƒgˆË‘¶•”‚̃wƒbƒ_ƒtƒ@ƒCƒ‹i‚U
3085 ÍjDƒJ[ƒlƒ‹‚Ì‚Ý‚©‚çƒCƒ“ƒNƒ‹[ƒh‚³‚ê‚éD
3086target_config.c ƒJ[ƒlƒ‹ŽÀ‘•‚̃^[ƒQƒbƒgˆË‘¶•”‚ÌCŒ¾Œê‚Å‹Lq‚³‚ê‚é
3087 •”•ªi‚UÍCƒIƒvƒVƒ‡ƒ“jD
3088target_support.S ƒJ[ƒlƒ‹ŽÀ‘•‚̃^[ƒQƒbƒgˆË‘¶•”‚̃AƒZƒ“ƒuƒŠŒ¾Œê‚Å‹L
3089 q‚³‚ê‚é•”•ªi‚UÍCƒIƒvƒVƒ‡ƒ“jD
3090target_rename.def ƒJ[ƒlƒ‹ŽÀ‘•‚̃^[ƒQƒbƒgˆË‘¶•”‚Ì‚½‚߂̃Šƒl[ƒ€‹Lq
3091 i6.12ßjD
3092target_rename.h target_rename.def‚©‚琶¬‚³‚ê‚éƒtƒ@ƒCƒ‹i6.12ßjD
3093target_unrename.h target_rename.def‚©‚琶¬‚³‚ê‚éƒtƒ@ƒCƒ‹i6.12ßjD
3094target_timer.cfg ƒ^ƒCƒ}ƒhƒ‰ƒCƒo‚̃VƒXƒeƒ€ƒRƒ“ƒtƒBƒMƒ…
3095ƒŒ[ƒVƒ‡ƒ“ƒtƒ@
3096 ƒCƒ‹i6.13ßjD
3097target_timer.h ƒ^ƒCƒ}ƒhƒ‰ƒCƒo‚̃wƒbƒ_ƒtƒ@ƒCƒ‹i6.13ßjDƒJ[ƒlƒ‹
3098 ‚Ì‚Ý‚©‚çƒCƒ“ƒNƒ‹[ƒh‚³‚ê‚éD
3099target_timer.c ƒ^ƒCƒ}ƒhƒ‰ƒCƒo‚ÌŽÀ‘•ƒtƒ@ƒCƒ‹i6.13ßCƒIƒvƒVƒ‡ƒ“jD
3100ƒVƒXƒeƒ€—ªÌ.h ƒ^[ƒQƒbƒg‚̃n[ƒhƒEƒFƒAŽ‘Œ¹iŠ„ž‚݃nƒ“ƒhƒ‰”ԍ†‚â
3101 CPU—áŠOƒnƒ“ƒhƒ‰”ԍ†CƒfƒoƒCƒXƒŒƒWƒXƒ^‚̔Ԓn‚Ȃǁj‚Ì
3102 ’è‹`‚ðŠÜ‚Þƒwƒbƒ_ƒtƒ@ƒCƒ‹DƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ƃJ[ƒl
3103 ƒ‹‚Ì—¼•û‚©‚çƒCƒ“ƒNƒ‹[ƒh‚³‚ê‚éi‚UÍCƒIƒvƒVƒ‡ƒ“jD
3104
3105target_def.csv ƒRƒ“ƒtƒBƒMƒ…
3106ƒŒ[ƒ^‚Ì’lŽæ“¾ƒVƒ“ƒ{ƒ‹ƒe[ƒuƒ‹‚̃^[ƒQƒb
3107 ƒgˆË‘¶•”i‚VÍCƒIƒvƒVƒ‡ƒ“jD
3108target.tf ƒRƒ“ƒtƒBƒMƒ…
3109ƒŒ[ƒ^‚̃pƒX2‚̃eƒ“ƒvƒŒ[ƒgƒtƒ@ƒCƒ‹‚Ì
3110 ƒ^[ƒQƒbƒgˆË‘¶•”i7.2ßjD
3111target_check.tf ƒRƒ“ƒtƒBƒMƒ…
3112ƒŒ[ƒ^‚̃pƒX3‚̃eƒ“ƒvƒŒ[ƒgƒtƒ@ƒCƒ‹i7.3
3113 ßjD
3114target_cfg1_out.h cfg1_out.c‚̃Šƒ“ƒN‚É•K—v‚ȃXƒ^ƒu‚Ì’è‹`ƒtƒ@ƒCƒ‹i7.4
3115 ßjD
3116
3117target_syssvc.h ƒVƒXƒeƒ€ƒT[ƒrƒX‚̃^[ƒQƒbƒgˆË‘¶’è‹`i8.0ßjD
3118target_serial.cfg ƒVƒŠƒAƒ‹ƒhƒ‰ƒCƒo‚̃VƒXƒeƒ€ƒRƒ“ƒtƒBƒMƒ…
3119ƒŒ[ƒVƒ‡ƒ“ƒtƒ@
3120 ƒCƒ‹i8.3ßjD
3121target_serial.h ƒVƒŠƒAƒ‹ƒhƒ‰ƒCƒo‚̃wƒbƒ_ƒtƒ@ƒCƒ‹i8.3ßjDƒVƒŠƒAƒ‹
3122 ƒhƒ‰ƒCƒo‚Ì‚Ý‚©‚çƒCƒ“ƒNƒ‹[ƒh‚³‚ê‚éD
3123target_serial.c ƒVƒŠƒAƒ‹ƒhƒ‰ƒCƒo‚ÌŽÀ‘•ƒtƒ@ƒCƒ‹i8.3ßCƒIƒvƒVƒ‡ƒ“jD
3124target_test.h ƒeƒXƒgƒvƒƒOƒ‰ƒ€‚̃^[ƒQƒbƒgˆË‘¶’è‹`i8.4ßjD
3125
3126target_user.txt ƒ†[ƒU[ƒYƒ}ƒjƒ…
3127ƒAƒ‹i9.1ßj
3128target_design.txt ÝŒvƒƒ‚i9.1ßCƒIƒvƒVƒ‡ƒ“j
3129MANIFEST ŒÂ•ÊƒpƒbƒP[ƒW‚ÉŠÜ‚ß‚éƒtƒ@ƒCƒ‹‚̃ŠƒXƒgi9.2ßCƒIƒv
3130 ƒVƒ‡ƒ“j
3131E_PACKAGE ŠÈˆÕƒpƒbƒP[ƒW‚ÉŠÜ‚ß‚éƒtƒ@ƒCƒ‹‚̃ŠƒXƒgi9.2ßCƒIƒv
3132 ƒVƒ‡ƒ“j
3133
3134ˆÈã
Note: See TracBrowser for help on using the repository browser.