source: ssp_qb_r5f100le_cs/trunk/arch/arm_m_gcc/prc_design.txt@ 93

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

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

File size: 17.6 KB
Line 
1=====================================================================
2 ARM-MƒvƒƒZƒbƒTˆË‘¶•”ÝŒvƒƒ‚
3 Last Modified: 23 Aug 2008 21:54:54
4=====================================================================
5
6›‚±‚̃hƒLƒ…
7ƒƒ“ƒg‚̈ʒu‚¯
8
9‚±‚̃hƒLƒ…
10ƒƒ“ƒg‚́CTOPPERS/ASPƒJ[ƒlƒ‹‚ðARMvX-MƒvƒƒZƒbƒT‚ɈڐA‚·‚邽‚ß
11‚̐݌vƒƒ‚‚Å‚ ‚éD
12
13
14›ARMVx-M‚ÌŽd—l‚Ü‚Æ‚ß
15
16ARMvX-M‚ÌŽd—l‚Ì‚¤‚¿CƒJ[ƒlƒ‹‚̐݌v‚ÉŠÖŒW‚·‚鎖€‚ɂ‚¢‚Ä‚Ü‚Æ‚ß‚éD
17
18œƒŒƒWƒXƒ^
19
20”Ä—pƒŒƒWƒXƒ^‚ÍR0`R15‚Ì16Ží—Þ‚ ‚èCR13‚Ì‚Ý‚ª2ƒoƒ“ƒN\¬iPSP,MSPj‚Æ‚È
21‚Á‚Ä‚¢‚éDR15‚ÍPC, R14‚̓Šƒ“ƒNƒŒƒWƒXƒ^iLRj‚Æ‚È‚Á‚Ä‚¢‚éDR0`R3,R12‚Í
22ƒXƒNƒ‰ƒbƒ`ƒŒƒWƒXƒ^‚Å‚ ‚éD
23
24œƒR[ƒŠƒ“ƒOƒRƒ“ƒxƒ“ƒVƒ‡ƒ“
25
26R0`R4‚ªˆø”C‚»‚êˆÈã‚̓Xƒ^ƒbƒND–ß‚è’l‚́CR0`R1‚ÉŠi”[‚³‚ê‚éD(ARM‚É
27‚æ‚è‹K’肳‚ê‚Ä‚¢‚邽‚߁CƒRƒ“ƒpƒCƒ‰‚Ɉˑ¶‚¹‚¸‚±‚̃‹[ƒ‹‚Æ‚È‚éD)
28
29œCONTROLƒŒƒWƒXƒ^
30
31PSP,MSP‚̐؂è‘Ö‚¦CPrivilage‚ÆUserƒ‚[ƒh‚̃ŒƒWƒXƒ^D•ÏXŒã‚́CƒCƒ“ƒXƒg
32ƒ‰ƒNƒVƒ‡ƒ“ƒoƒbƒtƒ@ƒtƒ‰ƒbƒVƒ…
33–½—ß‚ðŽÀs‚·‚é•K—v‚ª‚ ‚éiisbjDCONTROLƒŒ
34ƒWƒXƒ^‚̏ڍׂ́CARMv7-M Architecture Application Level Reference
35Manual ‚Ì B1-9 ‚ðŽQÆ‚Ì‚±‚ƁD
36
37œŠ„ž‚݃xƒNƒ^
38
39ƒxƒNƒ^ƒe[ƒuƒ‹Œ^‚ŁCƒxƒNƒ^ƒe[ƒuƒ‹‚̃AƒhƒŒƒX‚́CƒŠƒZƒbƒgŽž‚Í0x00‚ŁC
40Vector Table Offset Registeriƒƒ‚ƒŠƒ}ƒbƒvƒhƒŒƒWƒXƒ^j ‚𑀍삷‚邱‚Æ
41‚ŁC”CˆÓ‚̃AƒhƒŒƒX‚É”z’u‰Â”\‚Å‚ ‚éD
42
43œ—Dæ“x
44
45’l‚ª¬‚³‚¢•û‚ª‚—Dæ“x‚Æ‚È‚éD
46
47—Dæ“x‚͍őå8bit‚Å‚ ‚èCSoC–ˆ‚ÉŽÀ‘•‚³‚ê‚Ä‚¢‚éƒrƒbƒg•‚ªˆÙ‚È‚éDŽÀ‘•‚³
48‚ê‚éƒrƒbƒg‚ª8bitˆÈ‰º‚̏ꍇ‚́CLSB‚©‚ç–³Œø‚É‚È‚éD—Ⴆ‚΁CŽÀ‘•‚³‚ê‚Ä‚¢
49‚éƒrƒbƒg•‚ª7bit‚̏ꍇ‚́Cƒrƒbƒg0‚ª–³Œø‚Æ‚È‚éD
50
51—Dæ“x‚̃rƒbƒgƒtƒB[ƒ‹ƒh‚ÌLSB‚©‚琔ƒrƒbƒg‚ðƒTƒu—Dæ“x‚ƌĂԃtƒB[ƒ‹ƒh
52‚ɐݒ肷‚邱‚Æ‚ª‰Â”\‚Å‚ ‚éDŽc‚è‚̏ãˆÊƒrƒbƒg‚ðƒvƒŠƒGƒ“ƒvƒVƒ‡ƒ“—Dæ“x‚Æ
53ŒÄ‚ԁDƒvƒŠƒGƒ“ƒvƒVƒ‡ƒ“—Dæ“x‚ª“¯‚¶‚ŁCƒTƒu—Dæ“x‚ªˆÙ‚È‚é—Dæ“x‚̃Oƒ‹[
54ƒv‚́C‚¨ŒÝ‚¢‚ðƒvƒŠƒGƒ“ƒvƒg‚·‚邱‚Æ‚ª‚Å‚«‚È‚¢D
55
56Reset,NMI,Hard Fault ˆÈŠO‚Ì—áŠO‚ÍŠ„ž‚Ý‚Æ“¯—l‚É—Dæ“x‚ªÝ’è‰Â”\‚Å‚ ‚èC
57Š„ž‚݃}ƒXƒN‹@”\‚É‚æ‚èC”­¶‚ð‹ÖŽ~‚·‚邱‚Æ‚ª‰Â”\‚Å‚ ‚éD
58
59œCPUƒ‚[ƒh
60
61ƒvƒƒZƒbƒT‚́CThreadƒ‚[ƒh‚à‚µ‚­‚ÍHandlerƒ‚[ƒh‚Ì‚¢‚¸‚ê‚©‚̃‚[ƒh‚Æ‚È
62‚éD
63
64œƒŠƒZƒbƒgŽž‚̏ó‘Ô
65
66ƒŠƒZƒbƒgŽž‚ÍThreadƒ‚[ƒhCMSP‚ª—LŒø‚Æ‚È‚Á‚Ä‚¢‚éD
67
68œHandlerƒ‚[ƒh
69
70—áŠO/Š„ž‚Ý‚ðŽó‚¯•t‚¯‚é‚Æ‘JˆÚ‚·‚郂[ƒhDŽó‚¯•t‚¯‚½—áŠO/Š„ž‚Ý‚Ì—áŠO”Ô
71†‚ªCIPSR‚ɃZƒbƒg‚³‚ê‚éD—áŠO”ԍ†‚́CTRM‚Å’è‚ß‚ç‚ê‚Ä‚¢‚é”ԍ†‚Å‚ ‚éD
72
73 —áŠO —áŠO”ԍ†
74 Reset 1
75 Non-makable Interrupt 2
76 Hard Fault 3
77 Memory Management 4
78 Bus Fault 5
79 Usage Fault 6
80 SVCall 11
81 Debug Monitor 12
82 PendSV 14
83 SysTick 15
84 IRQ0 16
85 IRQ1 17
86 ..
87
88—áŠO/Š„ž‚Ý‚ðŽó‚¯•t‚¯‚é‚ƁCŽó‚¯•t‚¯‚½—áŠO/Š„ž‚Ý‚Ì—Dæ“xˆÈ‰º‚Ì—áŠO/Š„
89ž‚Ý‚ð‹ÖŽ~‚·‚éD‚±‚Ì—Dæ“xƒ}ƒXƒN‚ð"NVIC—Dæ“xƒ}ƒXƒN"‚ƌĂԁD‚±‚Ì—Dæ“x
90‚́Cƒ\ƒtƒgƒEƒFƒA‚©‚ç•ÏX‚·‚邱‚Æ‚ª‚Å‚«‚¸C—áŠO/Š„ž‚݂̃Šƒ^[ƒ“‚É‚æ‚è
91Š„ž‚Ý‘O‚Ì’l‚ÉŽ©“®“I‚É–ß‚éD
92
93œƒXƒ^ƒbƒNƒ|ƒCƒ“ƒ^iPSP‚ÆMSPj
94
95ƒXƒ^ƒbƒNƒ|ƒCƒ“ƒ^‚́CPSP‚ÆMSP‚ª‚ ‚èC”r‘¼“I‚ÉŽg—p‰Â”\‚Å‚ ‚éDHandlerƒ‚
96[ƒh‚Å‚ÍMSP‚Ì‚ÝŽg—p‰Â”\‚Å‚ ‚èCThreadƒ‚[ƒh‚Å‚ÍCONTROLƒŒƒWƒXƒ^‚Å‘I‘ð‰Â
97”\‚Å‚ ‚éDCONTROLƒŒƒWƒXƒ^‚Ì1ƒrƒbƒg–Ú‚ðƒZƒbƒg‚·‚é‚ÆPSP‚ª—LŒø‚ɁCƒNƒŠƒA
98‚·‚é‚ƁCMSP‚ª—LŒø‚É‚È‚éD
99
100œThreadƒ‚[ƒh‚ÆHandlerƒ‚[ƒh‚Ì‘JˆÚ
101
102Threadƒ‚[ƒh‚©‚çHandlerƒ‚[ƒh‚Ö‚Ì‘JˆÚ‚́C—áŠO/Š„ž‚Ý‚ðŽó‚¯•t‚¯‚邱‚Æ‚Å
103”­¶‚·‚éDˆê•ûCHandlerƒ‚[ƒh‚©‚çThreadƒ‚[ƒh‚Ö‚Ì‘JˆÚ‚́CPC‚É
104EXC_RETURN(0xfffffffx)‚Ì’l‚ðÝ’è‚·‚邱‚Æ‚É‚æ‚ès‚¤i—áŠOƒŠƒ^[ƒ“ˆ—‚Æ
105ŒÄ‚ԁjDEXC_RETURN‚̉ºˆÊ4bit‚É‚æ‚èC‘JˆÚæ‚̃‚[ƒh‚âŽg—p‚·‚éƒXƒ^ƒbƒNƒ|
106ƒCƒ“ƒ^‚ð•ÏX‰Â”\‚Å‚ ‚éD—áŠOƒŠƒ^[ƒ“‚É‚æ‚èCPRIMASK‚âBASEPRI‚Ì’l‚͕ω»
107‚µ‚È‚¢Dˆê•ûCFAULTMASK‚Ì’l‚Í'0'‚ɃNƒŠƒA‚³‚¹‚éD
108
109œEXC_RETURN
110
111—áŠO/Š„ž‚ÝŽó•t‚¯Žž‚Élr‚ɐݒ肳‚ê‚é’lDƒrƒbƒg31`4ƒrƒbƒg‚Í‘S‚Ä'1'‚ŁC
112‰ºˆÊ4bit‚́CŽó•t‚¯Žž‚ÌCPUƒ‚[ƒh‚âƒXƒ^ƒbƒN‚𔽉f‚µ‚½’l‚Æ‚È‚Á‚Ä‚¢‚éD
113
114 0b0001 : Handlerƒ‚[ƒh
115 0b1001 : Threadƒ‚[ƒh with MSP
116 0b1101 : Threadƒ‚[ƒh with PSP
117
118œThreadƒ‚[ƒh‚ÆHandlerƒ‚[ƒh‚Ì”»’è
119
120Œ»ó‚̃‚[ƒh‚ð”»’è‚·‚é‚ɂ́CIPSR‚ðŒ©‚ÄC'0'‚È‚çThreadƒ‚[ƒhC‚»‚êˆÈŠO
121‚È‚çCHandlerƒ‚[ƒh‚Æ‚È‚éD
122
123œBASEPRIƒŒƒWƒXƒ^
124
125Ý’肵‚½—Dæ“xˆÈ‰º‚Ì—Dæ“x‚ÌŠ„ž‚Ý‚ÌŽó•t‚ð‹ÖŽ~‚·‚éD‚±‚Ì—Dæ“xƒ}ƒXƒN‚ð
126"BASEPRI—Dæ“xƒ}ƒXƒN"‚ƌĂԁD'0'‚ðÝ’è‚·‚é‚ƁC‘S‚Ä‚ÌŠ„ž‚Ý‚ð‹–‰Â‚·‚éD
127—áŠO/Š„ž‚Ý‚ÌŽó•t‚ƃŠƒ^[ƒ“‚É‚æ‚è•Ï‰»‚µ‚È‚¢D—áŠO/Š„ž‚݂ɑ΂·‚銄ž‚Ý
128—Dæ“xƒ}ƒXƒN‚́CNVIC—Dæ“xƒ}ƒXƒN‚ÆBASEPRI‚̐ݒè’l‚̍‚‚¢•ûi’l‚ª¬‚³‚¢
129•ûj‚Æ‚È‚éD
130
131œFAULTMASK
132
133FAULTMASK‚Í'1'‚ðƒZƒbƒg‚·‚邱‚Æ‚É‚æ‚èCNMIˆÈŠO‚Ì‘S‚Ä‚ÌŠ„ž‚Ý‚ð‹ÖŽ~‚·‚éD
134FAULTMASK‚́C—áŠO‚̃Šƒ^[ƒ“ˆ—‚É‚æ‚è'0'‚ɃNƒŠƒA‚³‚¹‚éD
135
136œPRIMASK‚ÆWFI
137
138PRIMASK‚ð'1'‚ɐݒ肷‚é‚ƁCNMI ‚Æ Hardware Fault ˆÈŠO‚Ì—áŠO/Š„ž‚Ý‚ð‹Ö
139Ž~‚·‚éDPRIMASK‚ÍŠ„ž‚Ý‚Ì‹–‰Â‚ÆŠ„ž‚Ý‘Ò‚¿‚ðƒAƒgƒ~ƒbƒN‚ɍs‚¤‚½‚ß‚É—p‚¢
140‚éD‹ï‘Ì“I‚ɂ́CPRIMASK‚ªƒZƒbƒg‚³‚ê‚Ä‚¢‚éó‘Ô‚Åwfi‚ðŽÀs‚·‚é‚ƁCŠ„‚荞
141‚Ý‘Ò‚¿‚Æ‚È‚èCŠ„ž‚ÝŽó•t‚¯‚é‚ƃnƒ“ƒhƒ‰‚ðŽÀs‚¹‚¸‚ɁCwfi‚©‚烊ƒ^[ƒ“‚µ
142‚Ä‚­‚éD
143
144œ—áŠO/Š„ž‚Ý‚ÌŽó•t
145
146E—áŠO/Š„ž‚Ý‚ðŽó•t‚¯‚é‚ƁCŽó•t‚¯Žž‚ɃAƒNƒeƒBƒu‚ȃXƒ^ƒbƒNã‚Ɉȉº‚̃R
147 ƒ“ƒeƒLƒXƒg‚ð•Û‘¶‚·‚é(—áŠOƒtƒŒ[ƒ€‚ƌĂÔ)D
148
149 -----------
150 | R0 | <- new SP
151 -----------
152 | R1 |
153 -----------
154 | R2 |
155 -----------
156 | R3 |
157 -----------
158 | R12 |
159 -----------
160 | LR |
161 -----------
162 | PC |
163 -----------
164 | xPSR |
165 -----------
166 | | <- old SP
167
168EƒvƒƒZƒbƒT‚ðHandlerƒ‚[ƒh‚Æ‚·‚éDMSP‚ª—LŒø‚Æ‚È‚éD
169EŽó•t‚¯‚½—áŠO/Š„ž‚Ý‚Ì—áŠO”ԍ†‚ðIPSR‚ɐݒ肷‚éD
170ENVICŠ„ž‚Ý—Dæ“xƒ}ƒXƒN‚ðŽó•t‚¯‚½—áŠO/Š„ž‚Ý‚Ì—Dæ“x‚ɐݒ肷‚éD
171Elr‚ÉEXC_RETURN‚Ì’l‚ªÝ’肳‚ê‚éD
172EƒxƒNƒ^ƒe[ƒuƒ‹‚ð“ǂݍž‚݃nƒ“ƒhƒ‰‚ðŽÀs‚·‚éD
173
174œ—áŠO/Š„ž‚Ý‚©‚ç‚̃Šƒ^[ƒ“
175
176pc‚ÉEXC_RETURN‚Ì’l‚ðÝ’è‚·‚邱‚Æ‚É‚æ‚èC—áŠO/Š„ž‚Ý‚©‚烊ƒ^[ƒ“‚·‚éD
177pc‚ւ̐ݒè‚ÉŽg—p‰Â”\‚È–½—߂ɂ͐§ŒÀ‚ª‚ ‚èCˆÈ‰º–½—ß‚ªŽg—p‰Â”\‚Å‚ ‚éD
178
179 EPOP/LDM, LDR, BX
180
181œ–¢‰ðŒˆ‰Û‘è
182
183EƒxƒNƒ^[ƒe[ƒuƒ‹‚É“o˜^‚·‚éŠÖ”‚̃AƒhƒŒƒX‚ÌLSB‚Í'1'‚É‚·‚é‚ׂ«‚©?
184ENVIC‚Í—áŠOEŠ„ž‚݂̃lƒXƒg‰ñ”‚ð“à•”“I‚ÉŠÇ—‚µ‚Ä‚¢‚é‚炵‚¢D
185 (!ƒŠƒtƒ@ƒŒƒ“ƒX‚𖾂炩‚É)D
186 ƒ\ƒtƒgƒEƒFƒA‚ł́CƒlƒXƒg‚Ì’ K‚ð‡‚í‚¹‚ê‚΁CƒŠƒ^[ƒ“ƒXƒ^ƒbƒN‚ð‹U‘¢‚µ
187 ‚Ä‚à–â‘è‚È‚¢‚©D
188
189
190›OS‚ÌŽÀ‘•
191
1921.ƒ^[ƒQƒbƒg–¼
193
194 1-1 cm3(Cortex-M3)
195 1-2 armv7m(ARMV7M)
196 1-3 arm_m
197
198cm3‚ł́CCoretex-M1(armv6-m)‚ðƒTƒ|[ƒg‚·‚éê‡‚É–â‘è‚Æ‚È‚éDarmv7m‚ł́C
199armv8m‚ªƒŠƒŠ[ƒX‚³‚ꂽê‡‚É–â‘è‚Æ‚È‚éDARMˆË‘¶•”‚ÍJSP‚ł́Carmv4‚Æ‚È
200‚Á‚Ä‚¢‚½‚ªCarmv5‚âarmv7‚à“®ì‚·‚邽‚ßASP‚Å‚Í’P‚Éarm‚Æ‚µ‚½D‚»‚Ì‚½‚߁C
201arm_m‚ª–³“ï‚ƍl‚¦‚ç‚ê‚éD
202
203
2042.Threadƒ‚[ƒh‚ÆHandlerƒ‚[ƒh‚ÌŽg‚¢•ª‚¯
205
206 2-1
207 ƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg‚ÍThreadƒ‚[ƒhC”ñƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg‚ÍHandlerƒ‚[
208 ƒh‚Å“®ì‚³‚¹‚éD
209
210 2-2
211 ƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg‚Æ”ñƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg‹¤‚ÉHandlerƒ‚[ƒh‚Å“®ì‚³‚¹
212 ‚éD
213
214ƒvƒƒZƒbƒT‚̐݌v•ûj‚ðl—¶‚·‚é‚Æ2-1‚ª—L—́D2-1‚Å‚Ì–â‘è“_‚Æ‚µ‚ẮCŠ„ž
215‚݃nƒ“ƒhƒ‰‚©‚çƒ^ƒXƒN‚ւ̃Šƒ^[ƒ“Žž‚Ƀ‚[ƒh‚̕ύX‚ªˆÈ‰º‚Ì—l‚É‘½”­‚·‚邱
216‚Æ‚ª‹“‚°‚ç‚ê‚éD
217
2181.Š„ž‚݃nƒ“ƒhƒ‰ : Handlerƒ‚[ƒh
2192.ƒ^ƒXƒN—áŠOƒnƒ“ƒhƒ‰‚̌Ăяo‚µ : Threadƒ‚[ƒh
2203.ƒ^ƒXƒN‚ւ̃Šƒ^[ƒ“ˆ— : Handlerƒ‚[ƒh
2214.ƒ^ƒXƒN‚̍ĊJ : Threadƒ‚[ƒh
222
2233‚ÅHandlerƒ‚[ƒh‚Ɉڍs‚·‚é•K—v‚ª‚ ‚é‚̂́C—áŠOƒtƒŒ[ƒ€‚ð—p‚¢‚Ä•œ‹A‚·‚é
224‚ɂ́CHandlerƒ‚[ƒh‚Å—áŠOƒŠƒ^[ƒ“ˆ—‚ðs‚¤•K—v‚ª‚ ‚邽‚ß‚Å‚ ‚éDARM‚Å
225‚́C•¡”ƒŒƒWƒXƒ^‚̃[ƒh‚ÆCPSR‚Ì•œ‹A‚𓯎ž‚ɍs‚¦‚邪CM3‚͍s‚¦‚È‚¢‚½‚߁C
226‚±‚Ì•û–@‚ÅŠ„ž‚ݐæ‚̃^ƒXƒN‚ɃŠƒ^[ƒ“‚·‚é•K—v‚ª‚ ‚éD
227
2282-2‚̏ꍇ‚ÌŠ„ž‚݃nƒ“ƒhƒ‰‚©‚çƒ^ƒXƒN‚ւ̃Šƒ^[ƒ“Žž‚Ƀ‚[ƒh‚̕ύX‚ðˆÈ‰º
229‚ÉŽ¦‚·D‚Ü‚½C2-2‚Å‚ÍŠ„ž‚Ý—Dæ“x‚̍Œá’l‚ðƒ^ƒXƒN‚ÌŽÀsŽž‚Ì—Dæ“x‚Æ‚µ
230‚ăŠƒU[ƒu‚·‚é•K—v‚ª‚ ‚éD
231
2321.Š„ž‚݃nƒ“ƒhƒ‰ : Handlerƒ‚[ƒh
2332.NVIC—Dæ“xƒ}ƒXƒN'0'‚ð0‚Ö : Threadƒ‚[ƒh
2343.Å’á—Dæ“x‚ÌHandlerƒ‚[ƒh‚Ö : Handlerƒ‚[ƒh
2354.ƒ^ƒXƒN—áŠOƒnƒ“ƒhƒ‰‚̌Ăяo‚µ : Handlerƒ‚[ƒh
2365.ƒ^ƒXƒN‚ւ̃Šƒ^[ƒ“‚Ì‘Oˆ— : Threadƒ‚[ƒh
2373.ƒ^ƒXƒN‚ւ̃Šƒ^[ƒ“ : Handlerƒ‚[ƒh
2384.ƒ^ƒXƒN‚̍ĊJ : Handlerƒ‚[ƒh
239
240Š„ž‚݃nƒ“ƒhƒ‰‚©‚çƒ^ƒXƒN‚̃Šƒ^[ƒ“‚ÉŠÖ‚µ‚ẮC2-2‚Å‚ ‚Á‚Ä‚àC2‚ðŽÀs‚·
241‚éê‡‚ɁCNVIC—Dæ“xƒ}ƒXƒN‚ð'0'‚É‚·‚邽‚߁C—áŠOƒŠƒ^[ƒ“ˆ—‚ðs‚¤•K—v
242‚ª‚ ‚éD‚Ü‚½CNVICŽ©‘Ì‚ªCŠ„ž‚݂̃lƒXƒg‰ñ”‚ðŠÇ—‚µ‚Ä‚¢‚邽‚߁C3‚©‚ç4
243‚Ö‚Ì‘JˆÚ‚Ì‚½‚߂ɁC‚¢‚Á‚½‚ñ—áŠO/Š„ž‚Ý‚ðŽó•t‚¯‚½ó‘Ô‚É‚·‚é•K—v‚ª‚ ‚邽
244‚߁CŒ‹‰Ê“I‚É2-1ˆÈã‚Ì‘JˆÚ‚ª•K—v‚Æ‚È‚éD
245
2462-2‚̏ꍇ‚́CMSP‚µ‚©Žg‚¦‚È‚¢‚½‚߁CŠ„ž‚Ý‚Ì“ü‚èŒû‚ŃlƒXƒg‰ñ”‚ð”»’f‚µ‚āC
247ƒXƒ^ƒbƒN‚ð“ü‚ê‘Ö‚¦‚é•K—v‚ª‚ ‚éD
248
249HRP“™‚сƒ‚ƒŠ•ÛŒì‚ð—p‚¢‚éê‡‚Í2-1‚Æ‚È‚éD
250
251ˆÈã‚Ì——R‚É‚æ‚èC2-1‚ðÌ—p‚·‚éD‚½‚¾‚µ2-1‚́CƒJ[ƒlƒ‹‹N“®Žž‚ÆIDLEƒ‹[
252ƒv‚̈µ‚¢‚ðŒŸ“¢‚·‚é•K—v‚ª‚ ‚éD‚±‚ê‚ç‚ɂ‚¢‚Ä‚Í•Ê“r‹c˜_‚·‚éD
253
254
2553.ƒfƒBƒXƒpƒbƒ`ƒƒ‚ÌŽÀsƒ‚[ƒh
256
257 3-1
258 Threadƒ‚[ƒh‚ÅŽÀs‚·‚é
259
260 3-2
261 Handlerƒ‚[ƒh‚ÅŽÀs‚·‚é
262
263ƒfƒBƒXƒpƒbƒ`ƒƒ‚ðThreadƒ‚[ƒh‚ÅŽÀs‚·‚é‚ƁCŠ„ž‚Ý‚É‚æ‚èƒvƒŠƒGƒ“ƒvƒg‚³‚ê
264‚½ƒ^ƒXƒN‚É–ß‚éê‡‚ÍŽŸ‚̂悤‚ȃpƒX‚É‚È‚éD
265
266 1. ƒfƒBƒXƒpƒbƒ`ƒƒŒÄ‚яo‚µ : Threadƒ‚[ƒh
267 2. ƒfƒBƒXƒpƒbƒ`ƒƒŽÀs : Threadƒ‚[ƒh
268 3. ƒ^ƒXƒN—áŠOŽÀs : Threadƒ‚[ƒh
269 4Dƒ^ƒXƒN‚ւ̃Šƒ^[ƒ“ˆ— : Handlerƒ‚[ƒh
270 5. ƒ^ƒXƒN‚̍ĊJ : Threadƒ‚[ƒh
271
272Š„ž‚݃nƒ“ƒhƒ‰‚©‚玩‚çƒfƒBƒXƒpƒbƒ`‚µ‚½ƒ^ƒXƒN‚ÖƒŠƒ^[ƒ“‚·‚éê‡‚ÍŽŸ‚̃p
273ƒX‚É‚È‚éD
274
275 1.Š„ž‚݃nƒ“ƒhƒ‰ : Handlerƒ‚[ƒh
276 2.ƒfƒBƒXƒpƒbƒ`ƒƒŽÀs : Threadƒ‚[ƒh
277 3.ƒ^ƒXƒN—áŠOƒnƒ“ƒhƒ‰‚̌Ăяo‚µ : Threadƒ‚[ƒh
278 4.ƒ^ƒXƒN‚ւ̃Šƒ^[ƒ“ : Handlerƒ‚[ƒh
279 5.ƒ^ƒXƒN‚̍ĊJ : Threadƒ‚[ƒh
280
281ˆê•ûCƒfƒBƒXƒpƒbƒ`ƒƒ‚ðHandlerƒ‚[ƒh‚ÅŽÀs‚·‚é‚ƁCŠ„ž‚Ý‚É‚æ‚èƒvƒŠƒGƒ“
282ƒvƒg‚³‚ꂽƒ^ƒXƒN‚É–ß‚éê‡‚ÍŽŸ‚̂悤‚ȃpƒX‚É‚È‚éD
283
284 1. ƒfƒBƒXƒpƒbƒ`ƒƒŒÄ‚яo‚µ : Threadƒ‚[ƒh
285 2. ƒfƒBƒXƒpƒbƒ`ƒƒŽÀs : Handlerƒ‚[ƒh
286 3. ƒ^ƒXƒN—áŠOŽÀs : Threadƒ‚[ƒh
287 4Dƒ^ƒXƒN‚ւ̃Šƒ^[ƒ“ : Handlerƒ‚[ƒh
288 5. ƒ^ƒXƒN‚̍ĊJ : Threadƒ‚[ƒh
289
290Š„ž‚݃nƒ“ƒhƒ‰‚̏oŒû‚©‚玩‚çƒfƒBƒXƒpƒbƒ`‚µ‚½ƒ^ƒXƒN‚ÖƒŠƒ^[ƒ“‚·‚éê‡‚Í
291ŽŸ‚̃pƒX‚É‚È‚éD
292
293 1.Š„ž‚݃nƒ“ƒhƒ‰ : Handlerƒ‚[ƒh
294 2.ƒfƒBƒXƒpƒbƒ`ƒƒŽÀs : Handlerƒ‚[ƒh
295 3.ƒ^ƒXƒN—áŠOƒnƒ“ƒhƒ‰‚̌Ăяo‚µ : Threadƒ‚[ƒh
296 4.ƒ^ƒXƒN‚ւ̃Šƒ^[ƒ“ : Handlerƒ‚[ƒh
297 5.ƒ^ƒXƒN‚̍ĊJ : Threadƒ‚[ƒh
298
299ƒ^ƒXƒN—áŠOƒnƒ“ƒhƒ‰‚ª‚È‚¢OS‚̏ꍇ‚́CHandlerƒ‚[ƒh‚ÅŽÀs‚µ‚½•û‚ªƒ‚[ƒh
300‚Ì‘JˆÚ‚̉ñ”‚ªŒ¸‚邪Cƒ^ƒXƒN—áŠOƒnƒ“ƒhƒ‰‚ª‚ ‚é‚ƁCThreadƒ‚[ƒh‚Ì•û‚ª‘J
301ˆÚ‰ñ”‚ªŒ¸‚邽‚߁CThreadƒ‚[ƒh‚Æ‚·‚éD
302
303ƒƒ‚ƒŠ•ÛŒì‚ðl—¶‚·‚é‚ƁCƒfƒBƒXƒpƒbƒ`ƒƒ‚ÍHandlerƒ‚[ƒh‚Å“®ì‚³‚¹‚½•û‚ª
304Œø—¦‚ª‚æ‚¢‚ƍl‚¦‚ç‚ê‚éiSVC‚Ńnƒ“ƒhƒ‰‚ðŒÄ‚яo‚·‚ÆHandlerƒ‚[ƒh‚ƂȂ邽
305‚߁jD
306
307
3084.ƒXƒ^ƒbƒN‚ÌŽg‚¢•ª‚¯
309
310 4-1
311 ƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg‚ðPSP, ”ñƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg‚ðMSP
312 4-2
313 ƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒgC”ñƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg‹¤‚ÉMSP
314
3154-2‚̏ꍇCŠ„ž‚Ý‚Ì“ü‚èŒû‚ŃlƒXƒg‰ñ”‚ð”»’f‚µ‚āCƒXƒ^ƒbƒN‚ð“ü‚ê‘Ö‚¦‚é
316•K—v‚ª‚ ‚éD2‚Ń^ƒXƒNƒRƒ“ƒeƒLƒXƒg‚ÍThreadƒ‚[ƒhC”ñƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg
317‚ÍHandlerƒ‚[ƒh‚Å“®ì‚³‚¹‚é‚Æ‚µ‚½‚½‚߁C4-1‚ðÌ—p‚·‚é‚ƁCŠ„ž‚Ý‚Ì“ü‚èŒû
318‚ÅŽ©“®“I‚ɃXƒ^ƒbƒN‚ªØ‚è‘Ö‚í‚éDThreadƒ‚[ƒh‚Å‚ÌPSP‚̃AƒNƒZƒX‚àC
319mrs/msr–½—߂ōs‚¦‚邽‚߁C4-1‚ðÌ—p‚·‚éD
320
321
3225.ƒRƒ“ƒeƒLƒXƒg‚Ì”»’è
323
324 5-1
325 IPSR‚ª'0'(Threadƒ‚[ƒh)‚È‚çƒ^ƒXƒNƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒgC'1'(Handlerƒ‚[
326 ƒh)‚È‚ç”ñƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg‚Æ‚·‚éD
327
328 5-2
329 Š„ž‚݂̃lƒXƒg‰ñ”‚ð•ÛŽ‚·‚é•Ï”‚ð—pˆÓD1ˆÈã‚Å”ñƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒgD
330
331 5-3
332 ƒAƒNƒeƒBƒu‚ȃXƒ^ƒbƒN‚É‚æ‚è”»’fiMSP‚È‚ç”ñƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒgCPSP‚È‚ç
333 ƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg‚Æ‚·‚éj
334
3355-1‚́Cƒ\ƒtƒgƒEƒFƒA‘¤‚ŃRƒ“ƒeƒLƒXƒgŠÇ—‚Ì‚½‚߂̏ˆ—‚ðs‚¤•K—v‚ª‚È‚¢‚Æ
336‚¢‚¤ƒƒŠƒbƒg‚ª‚ ‚éD‚µ‚©‚µ‚È‚ª‚çCƒJ[ƒlƒ‹‚Ì‹N“®ŽžThreadƒ‚[ƒh‚Å‚ ‚邽
337‚߁CHandlerƒ‚[ƒh‚ֈڍs‚·‚é•K—v‚ª‚ ‚éDASPƒJ[ƒlƒ‹‚ł́CIDLEƒ‹[ƒvŽÀs
338‚Í”ñƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg‚Æ‚µ‚Ä“®ì‚³‚¹‚é•K—v‚ª‚ ‚邽‚߁CIDLEƒ‹[ƒv‚Í
339Handlerƒ‚[ƒh‚Å“®ì‚³‚¹‚é•K—v‚ª‚ ‚éDIDLEƒ‹[ƒv‚̓fƒBƒXƒpƒbƒ`ƒƒ‚©‚çŒÄ
340‚яo‚³‚ê‚éD3‚Å’è‚ß‚½‚悤‚ɁCƒfƒBƒXƒpƒbƒ`ƒƒ‚ðThreadƒ‚[ƒh‚Å“®ì‚³‚¹‚é
341‚½‚߁CIDLEƒ‹[ƒv‚ðŒÄ‚яo‚·Û‚ɂ́CHandlerƒ‚[ƒh‚Ö‘JˆÚ‚·‚é•K—v‚ª‚ ‚éD
342Handlerƒ‚[ƒh‚Ö‚Ì‘JˆÚ‚́CSVC/PendSVC‚ð—p‚¢‚é‚ÆŽÀŒ»‰Â”\‚Å‚ ‚邪C6‚ÌŠ„
343ž‚݂ɃvƒŠƒGƒ“ƒvƒg‚³‚ꂽƒ^ƒXƒN‚ւ̃Šƒ^[ƒ“Žž‚ÌHandlerƒ‚[ƒh‚ւ̈ڍs‚Å
344‚àSVC/PendSVC‚ÌŽg—p‚ª•K—v‚ƂȂ邽‚߁CSVCƒnƒ“ƒhƒ‰‚ł́C‚Ç‚Ì–Ú“I‚ŌĂяo
345‚³‚ꂽ‚©”»’è‚·‚é•K—v‚ªo‚Ä‚­‚邽‚߁CƒI[ƒoƒwƒbƒh‚ª‘‘å‚·‚éD
346
3475-2‚ł́CƒJ[ƒlƒ‹‹N“®Žž‚âIDLEƒ‹[ƒvŽž‚ɕϐ”‚ð'1'‚ɐݒ肷‚ê‚΂悢‚±‚Æ‚É
348‚È‚éD‚±‚̏ꍇCƒJ[ƒlƒ‹‹N“®Žž‚âIDLEƒ‹[ƒvŽž‚ÉThreadƒ‚[ƒh‚ÅŽÀs‚µ‚Ä‚à
349“®ì‚É–â‘肪‚È‚¢‚悤C“Á‚ÉŠ„ž‚݂̏o“ü‚èŒû‚̐݌v‚𒍈ӂ·‚é•K—v‚ª‚ ‚éD
350
351ƒJ[ƒlƒ‹‹N“®Žž‚ÉŠÖ‚µ‚ẮC‘SŠ„ž‚Ý‚ð‹ÖŽ~‚µ‚Ä‚¨‚èCŠ„ž‚Ý‚ª“ü‚ç‚È‚¢‚Ì‚Å
352“Á‚É–â‘è‚Í‚È‚¢DIDLEƒ‹[ƒvŽž‚́CThreadƒ‚[ƒh‚ÅMSP‚ÆPSP‚Ì‘I‘ð‚ª‰Â”\‚Å‚ 
353‚邱‚Æ‚ð—˜—p‚µ‚āC”ñƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg‚̃Xƒ^ƒbƒN‚Å‚ ‚éMSP‚ɕύX‚·‚éD
354—áŠO/Š„ž‚Ý‚Ì“ü‚èŒû‚ł́C‘½dŠ„ž‚Ý‚Å‚ ‚é‚©‚ðEXC_RETURN‚̃‚[ƒh”»’è‚Ì
355ƒrƒbƒg‚Å‚Í‚È‚­CƒXƒ^ƒbƒN‚Ì”»’èƒrƒbƒg‚ōs‚¦‚Ζâ‘è‚È‚¢D—áŠO/Š„ž‚Ý‚©‚ç
356‚̃Šƒ^[ƒ“‚ÉŠÖ‚µ‚ẮC‘½dŠ„ž‚Ý‚Ì”»’è‚́C“ü‚èŒû‚Æ“¯—l‚ÉEXC_RETURN‚̃X
357ƒ^ƒbƒN”»’èƒrƒbƒg‚ōs‚¦‚΂悢D—áŠOƒŠƒ^[ƒ“ˆ—Žž‚Épc‚É‘ã“ü‚·‚é
358EXC_RETURN‚Ì’l‚ðˆê—¥0xfffffffd (Threadƒ‚[ƒh with MSP)‚Æ‚·‚é‚Ì‚Å‚Í‚È‚­C
359—áŠO/Š„ž‚ÝŽó•t‚¯Žž‚ÉLR‚ɐݒ肳‚ê‚éEXC_RETURN‚ð—p‚¢‚邱‚Æ‚É‚æ‚èCIDLE
360ƒ‹[ƒv‚ÉŠ„‚荞‚ñ‚¾ê‡‚Å‚à–â‘è‚È‚­ƒŠƒ^[ƒ“‚·‚éD
361
362ƒJ[ƒlƒ‹‹N“®Žž‚́CMSP‚ªƒAƒNƒeƒBƒu‚Å‚ ‚èCŠ„ž‚݃nƒ“ƒhƒ‰ŽÀsŽž‚ÍHandler
363ƒ‚[ƒh‚Å‚ ‚邱‚Æ‚©‚çMSP‚ªƒAƒNƒeƒBƒu‚Å‚èCIDLEƒ‹[ƒvŽž‚ÉMSP‚ðƒAƒNƒeƒBƒu
364‚ɐݒ肷‚é‚ƁC”ñƒ^ƒXƒNƒRƒ“ƒeƒLƒXƒg‚Í‘S‚āCMSP‚ðƒAƒNƒeƒBƒu‚É‚µ‚Ä“®ì‚·
365‚邱‚Æ‚É‚È‚éD‚Ü‚½CŠ„ž‚ÝŽž‚ÍŠ„ž‚Ý‘O‚ɃAƒNƒeƒBƒu‚ȃXƒ^ƒbƒN‚̏î•ñ‚ªC
366EXC_RETURN‚ɐݒ肳‚ê‚éD‚»‚Ì‚½‚߁CƒRƒ“ƒeƒLƒXƒg‚Ì”»’è‚́CŠ„ž‚݃lƒXƒg‰ñ
367”‚ð•ÛŽ‚·‚é•Ï”‚ª‚È‚­‚Æ‚àCƒAƒNƒeƒBƒu‚ȃXƒ^ƒbƒN‚ðŒ©‚ê‚΂悢‚±‚Æ‚É‚È‚éD
368‚Ü‚½Cexc_sense_context()‚ÉŠÖ‚µ‚ẮC—áŠOƒtƒŒ[ƒ€’†‚ÉEXC_RETURN‚ð’ljÁ
369‚µC‚»‚Ì“à—e‚É‚æ‚è”»’f‚·‚ê‚΂悢DˆÈã‚Ì——R‚É‚æ‚èC5-3‚ðÌ—p‚·‚éD
370
371
3726.Š„ž‚݂ɃvƒŠƒGƒ“ƒvƒg‚³‚ꂽƒ^ƒXƒN‚ւ̃Šƒ^[ƒ“Žž‚ÌHandlerƒ‚[ƒh‚ւ̈Ú
373 s•û–@
374
375 6-1
376 SVC‚ð—p‚¢‚é
377 6-2
378 PendSVC‚ð—p‚¢‚é
379
380PendSVC‚ÆSVC‚̈Ⴂ‚́CPendSVC‚ª—v‹‚ªƒLƒ…
381[ƒCƒ“ƒO‚³‚êCSVC‚Í—v‹‚ªƒLƒ…
382
383[ƒCƒ“ƒO‚³‚ê‚È‚¢‚±‚Æ‚Å‚ ‚éDŠ„ž‚݂ɃvƒŠƒGƒ“ƒvƒg‚³‚ꂽƒ^ƒXƒN‚ւ̃Šƒ^[
384ƒ“Žž‚ÌHandlerƒ‚[ƒh‚ւ̈ڍs‚́CƒLƒ…
385[ƒCƒ“ƒO‚³‚ꂸ‚É‘¦À‚ɏˆ—‚³‚ê‚é•K
386—v‚ª‚ ‚邽‚߁C‚Ç‚¿‚ç‚ÅŽÀŒ»‚µ‚Ä‚à–â‘è‚È‚¢D‚Ç‚¿‚ç‚ðƒJ[ƒlƒ‹‚̃Šƒ\[ƒX‚µ
387‚ÄŽg—p‚·‚é‚©‚Ì‘I‘ð‚¾‚¯‚Å‚ ‚éD
388
389‚Ç‚¿‚ç‚ðŽg‚¤‚Æ‚µ‚Ä‚àC—Dæ“x‚̐ݒ肪–â‘è‚Æ‚È‚éDƒfƒBƒXƒpƒbƒ`ƒƒ‚©‚犄ž
390‚݂ɃvƒŠƒGƒ“ƒvƒg‚³‚ꂽƒ^ƒXƒN‚ւ̃Šƒ^[ƒ“‚܂ł̏ˆ—‚́C­‚È‚­‚Æ‚àCPUƒ
391ƒbƒNó‘Ô‚ÅŽÀs‚³‚ê‚È‚¯‚ê‚΂Ȃç‚È‚¢DSVC‚âPendSVC‚Í‚Ç‚¿‚ç‚àŠ„ž‚Ý—Dæ“x
392‚ðŽ‚Â‚½‚߁CNVIC—Dæ“xƒ}ƒXƒN‚æ‚èBASEPRI—Dæ“xƒ}ƒXƒN‚Ì•û‚ª‚‚¢ê‡Cˆ
393—‚³‚ê‚È‚¢D
394
395CPUƒƒbƒNó‘Ô‚ðBASEPRI‚̐ݒè‚ÅŽÀŒ»‚µ‚½ê‡C‚»‚̐ݒè’l‚ðSVC‚âPendSVC‚É
396Ý’肵‚½’l‚æ‚è’á‚­‚·‚é•K—v‚ª‚ ‚éDŒ¾‚¢Š·‚¦‚é‚ƁCSVC‚âPendSVC‚Ì—Dæ“x‚ð
397CPUƒƒbƒNŽž‚Ì—Dæ“xƒ}ƒXƒN‚Ì’l‚æ‚荂‚¢’li‘¼‚ÌŠ„ž‚Ý‚æ‚荂‚¢—Dæ“xj‚Æ
398‚·‚é•K—v‚ª‚ ‚éD
399
400CPUƒƒbƒNó‘Ô‚ðFAULTMASK‚âPRIMASK‚ÅŽÀŒ»‚µ‚½ê‡‚́C‚±‚ê‚炪Ý’肳‚ê‚é
401‚ƁCSVC‚âPendSVC‚ªŽó•t‚¯‚ç‚ê‚È‚¢‚½‚߁C‚¢‚Á‚½‚ñBASEPRI‚É‚æ‚芄ž‚Ý‚ðƒ}
402ƒXƒN‚·‚é‚悤‚ɐݒ肷‚é•K—v‚ª‚ ‚éD‚±‚̏ꍇ‚àCSVC‚âPendSVC‚Í‘¼‚ÌŠ„ž‚Ý
403‚æ‚荂‚¢—Dæ“x‚ðÝ’è‚·‚é•K—v‚ª‚ ‚éD
404
405ˆÈã‚É‚æ‚èCHandlerƒ‚[ƒh‚ւ̈ڍs‚Ì‚½‚߂ɂ́CCPUƒƒbƒNó‘Ô‚ðBASEPRI‚Å
406ŽÀŒ»‚µCSVC‚âPendSVC‚ɐݒ肷‚é—Dæ“x‚ðƒJ[ƒlƒ‹ŠÇ—“à‚̍ō‚—Dæ“x‚æ‚èˆê
407‚‚‚¢—Dæ“x‚ɐݒ肷‚é•K—v‚ª‚ ‚éD
408
409
4107. —áŠO/Š„ž‚ݏo“ü‚èŒû‚Å‚Ì‘½dŠ„ž‚Ý‚Ì”»’f
411
4127-1
413 EXC_RETURN‚̃‚[ƒh”»’èƒrƒbƒg
4147-2
415 EXC_RETURN‚̃Xƒ^ƒbƒN”»’èƒrƒbƒg
4167-3
417 Š„ž‚݃lƒXƒg‰ñ”‚ÌŠÇ—•Ï”
418
419—áŠO/Š„ž‚ÝŽó•t‚¯Žž‚́CŽó•t‚¯‚½—áŠO/Š„ž‚݈ȉº‚ÌŠ„ž‚Ý‚Í‹ÖŽ~‚·‚邪C‘S
420Š„ž‚Ý‹ÖŽ~ó‘Ô‚É‚Í‚È‚ç‚È‚¢D‚»‚Ì‚½‚߁CŠ„ž‚݃lƒXƒg‰ñ”‚ÌŠÇ—•Ï”‚ðƒCƒ“
421ƒNƒŠƒƒ“ƒg‚·‚é‘O‚ÉŠ„ž‚Ý‚ª“ü‚é‰Â”\«‚ª‚ ‚邽‚߁C7-3‚ÍŽg—p‚·‚邱‚Æ‚ª‚Å
422‚«‚È‚¢D
423
4245‚Å‹c˜_‚µ‚½’Ê‚èCIDLEƒ‹[ƒv‚ðThreadƒ‚[ƒh‚ÅŽÀs‚·‚邽‚߁C7-1‚Å‚Í‚È‚­C
4257-2‚Å”»’f‚·‚é•K—v‚ª‚ ‚éD
426
427
4288. IDLEƒ‹[ƒv
429
4308-1
431 Threadƒ‚[ƒh‚ÅŽÀs
4328-2
433 Handlerƒ‚[ƒh‚ÅŽÀs
434
4355‚Å‹c˜_‚µ‚½’Ê‚èCThreadƒ‚[ƒh‚ÅŽÀs‚Å‚«‚½•û‚ªƒI[ƒoƒwƒbƒh‚ª¬‚³‚¢D‚Ü
436‚½CThreadƒ‚[ƒh‚ÅŽÀs‚µ‚Ä‚àCŠ„‚荞‚݂̏o“ü‚èŒû‚Ő³‚µ‚­”ñƒ^ƒXƒNƒRƒ“ƒe
437ƒLƒXƒg‚Æ”»’è‚Å‚«‚ê‚΁CThreadƒ‚[ƒh‚Å–â‘è‚È‚¢D
438
439
4409DƒJ[ƒlƒ‹ŠÇ—ŠO‚ÌŠ„ž‚݂̃Tƒ|[ƒg
441
4429-1
443 ƒJ[ƒlƒ‹ŠÇ—ŠO‚ÌŠ„ž‚Ý‚ðƒTƒ|[ƒg‚µ‚È‚¢
4449-2
445 ƒJ[ƒlƒ‹ŠÇ—ŠO‚ÌŠ„ž‚Ý‚ðƒTƒ|[ƒg‚·‚é
446
447ƒxƒNƒ^ƒe[ƒuƒ‹‚ðƒTƒ|[ƒg‚µ‚Ä‚¨‚èCŠ„ž‚݃nƒ“ƒhƒ‰‚àCŒ¾Œê‚Å‹Lq‰Â”\‚Å‚ 
448‚邽‚߁CƒTƒ|[ƒg‚ª—eˆÕ‚Å‚ ‚邽‚߁CƒTƒ|[ƒg‚·‚éD
449
450
45110. CPUƒƒbƒN
452
45310-1
454 BASEPRI‚ðŽg—p
45510-2
456 FAULTMASK/PRIMASK‚ðŽg—p
457
458ƒJ[ƒlƒ‹‚ÌŠÇ—ŠO‚ÌŠ„ž‚Ý‚ðƒTƒ|[ƒg‚·‚é‚È‚çCBASEPRI‚ðŽg—p‚·‚é•K—v‚ª‚ 
459‚éD
460
461
46211. Š„ž‚݃ƒbƒN‚ÆCPU—áŠO‚ÌŠÖŒW
463
46411-1
465 BASEPRI‚ðŽg—p
46611-2
467 FAULTMASK/PRIMASK‚ðŽg—p
468
469FAULTMASK/PRIMASK‚ðŽg—p‚·‚é‚ƁCNMI ‚Æ Hardware Fault ˆÈŠO‚ÌCPU—áŠO‚à‹Ö
470Ž~‚³‚ê‚Ä‚µ‚Ü‚¤D
471
472BASEPRI‚ð—p‚¢‚é‚ƁCŠ„ž‚݃ƒbƒN’†‚É‚àCPU—áŠO‚ðŽó•t‚¯‚½‚¢ê‡‚́C
473BASEPRI‚ð—p‚¢‚āCÅ‚—Dæ“x‚ðCPU—áŠO‚Ì‚½‚߂ɃŠƒU[ƒu‚·‚é•K—v‚ª‚ ‚éD
474
475Š„ž‚݃ƒbƒNŽž‚àCCPU—áŠO‚ðŽó•t‚¯‚é‚悤‚É‚µ‚½‚¯‚ê‚ÎBASEPRI‚ðŽg—p‚·‚é•K
476—v‚ª‚ ‚éD
477
478ƒÊIRON4.0Žd—l‚Ì3.5.3‚ł́CCPU—áŠO‚Ì—Dæ“x‚ÍŽŸ‚̂悤‚É’è‚ß‚ç‚ê‚Ä‚¢‚éD
479
480"CPU—áŠOƒnƒ“ƒhƒ‰‚Ì—Dæ‡ˆÊ‚́CCPU—áŠO‚ª”­¶‚µ‚½ˆ—‚Ì—Dæ“x‚ƁCƒfƒBƒX
481ƒpƒbƒ`ƒƒ‚Ì—Dæ‡ˆÊ‚Ì‚¢‚¸‚ê‚©‚æ‚è‚à‚‚¢D"
482
483CPU—áŠO‚ª”­¶‚µ‚½ˆ—‚Ì—Dæ“x‚æ‚è‚à‚‚¢‚Æ‚ ‚é‚̂ŁCCPUƒƒbƒN‚⊄ž‚݃
484ƒbƒNó‘Ԃ̃^ƒXƒN‚Å”­¶‚µ‚½ê‡‚Å‚àC—Dæ‚µ‚ÄŽÀs‚³‚ê‚é‚ׂ«‚¾‚Æ‚àl‚¦‚ç
485‚ê‚éD
486
487ˆê•ûCTOPPERS•W€Š„ž‚ݏˆ—ƒ‚ƒfƒ‹‚ÌŽd—l‘‚ł́CCPU—áŠO‚́CƒvƒƒZƒbƒT–ˆ
488‚ɈقȂ邽‚߁CCPU—áŠO‚̏ˆ—ƒ‚ƒfƒ‹‚Ì•W€‰»ŒŸ“¢‚̑ΏۊO‚Æ‚µ‚Ä‚¢‚éD‚»‚Ì
489‚½‚߁CARM-M‚ł̈µ‚¢‚ðŒˆ‚ß‚ÄCƒ}ƒjƒ…
490ƒAƒ‹‚É–¾‹L‚·‚ê‚΂悢‚ƍl‚¦‚ç‚ê‚éD
491
492
49312. ŠO•”—Dæ“x‚Æ“à•”—Dæ“x‚Ì•ÏŠ·
494
495ŠO•”—Dæ“x‚Æ‚ÍAPI‚ÅŽw’è‚·‚銄ž‚Ý—Dæ“x(PRIŒ^)‚Ì‚±‚Æ‚Å‚ ‚èC’l‚ª¬‚³‚¢
496‚Ù‚Ç—Dæ“x‚ª‚‚¢DŠ„ž‚݃nƒ“ƒhƒ‰‚ɂ́C-1‚©‚ç˜A‘±‚µ‚½•‰‚Ì’l‚ðÝ’è‰Â”\‚Å
497‚ ‚éD“à•”—Dæ“x‚́CBASEPRI‚âNVIC‚Ì—Dæ“xƒŒƒWƒXƒ^‚ɐݒ肷‚é’l‚Å‚ ‚éD
498
499ŽÀ‘•‚³‚ê‚銄ž‚Ý—Dæ“x‚̃rƒbƒg•‚ð TBITW_IPRI ‚Æ‚·‚é‚ƁCÝ’è‰Â”\‚ÈŠO•”
500—Dæ“x‚ÍŽŸ‚̂悤‚É‚È‚éD
501
502 TIPM_ENAALLi0j` -(1 << TBITW_IPRI)
503
504
50513. ƒJ[ƒlƒ‹ŠÇ—“à‚̍ō‚—Dæ“x(CPUƒƒbƒNó‘Ô‚Å‚Ì—Dæ“xƒ}ƒXƒN)
506
5076.‚ŏq‚ׂ½‚悤‚ɁCŠ„ž‚݂̏oŒû‚ÅSVCƒnƒ“ƒhƒ‰‚ðŒÄ‚яo‚·•K—v‚ª‚ ‚邽‚߁C
508SVCƒnƒ“ƒhƒ‰‚ÍCPUƒƒbƒNó‘Ô‚ÌBASEPRI‚ɐݒ肷‚é—Dæ“xƒ}ƒXƒN‚æ‚荂‚¢—Dæ“x
509‚ðÝ’è‚·‚é•K—v‚ª‚ ‚éD
510
511ŽÀ‘•‚³‚ê‚銄ž‚Ý—Dæ“x‚̃rƒbƒg•‚ð TBITW_IPRIC—Dæ“x’†‚̃Tƒu—Dæ“x‚Ì
512ƒrƒbƒg•‚ðTBIT_IPRI‚Æ‚·‚é‚ƁCCPUƒƒbƒNó‘ԁiƒJ[ƒlƒ‹ŠÇ—“àŠ„ž‚݂ɐݒè
513‰Â”\‚ȍō‚—Dæ“xj‚Æ‚µ‚ÄŽw’è‰Â”\‚È—Dæ“xƒ}ƒXƒN‚̐ݒè”͈͈͂ȉº‚Ì’l‚Ì”Í
514ˆÍ‚Æ‚È‚éD
515
516 -(2^(TBIW_IPRI)) + (2^TBITW_SUBIPRI)) ` -1
517
518
51914. –¢‰ðŒˆ‰Û‘è
520
521EŠ„ž‚݃ƒbƒN‚ÆCPU—áŠO‚ÌŠÖŒW
522 BASEPRI‚ðŽg‚Á‚½‚Æ‚µ‚Ä‚àC‚ ‚éCPU—áŠOˆ—’†‚É‘¼‚Ì—áŠO‚ª”­¶‚·‚é‚ƁC‚»
523 ‚Ì—áŠO‚͎󂯕t‚¯‚ç‚ê‚È‚¢‚½‚߁CITRONŽd—l‚Í–ž‚½‚¹‚È‚¢D
524 ->‚ ‚«‚ç‚߂ă}ƒjƒ…
525ƒAƒ‹‹LÚ‚É“¦‚°‚é‚©.
526 ƒƒ‚ƒŠƒvƒƒeƒNƒVƒ‡ƒ“‚Ì—áŠO‚àƒ}ƒXƒN‰Â”\‚Å‚ ‚邽‚ß—vŒ“™D
527
528
529ˆÈãD
Note: See TracBrowser for help on using the repository browser.