[61] | 1 | =====================================================================
|
---|
| 2 | ARM-MvZbT˶Ýv
|
---|
| 3 | Last Modified: 23 Aug 2008 21:54:54
|
---|
| 4 | =====================================================================
|
---|
| 5 |
|
---|
| 6 | ±ÌhL
|
---|
| 7 | gÌÊuï
|
---|
| 8 |
|
---|
| 9 | ±ÌhL
|
---|
| 10 | gÍCTOPPERS/ASPJ[lðARMvX-MvZbTÉÚA·é½ß
|
---|
| 11 | ÌÝvÅ éD
|
---|
| 12 |
|
---|
| 13 |
|
---|
| 14 | ARMVx-MÌdlÜÆß
|
---|
| 15 |
|
---|
| 16 | ARMvX-MÌdl̤¿CJ[lÌÝvÉÖW·éÉ¢ÄÜÆßéD
|
---|
| 17 |
|
---|
| 18 | WX^
|
---|
| 19 |
|
---|
| 20 | ÄpWX^ÍR0`R15Ì16íÞ èCR13Ìݪ2oN\¬iPSP,MSPjÆÈ
|
---|
| 21 | ÁÄ¢éDR15ÍPC, R14ÍNWX^iLRjÆÈÁÄ¢éDR0`R3,R12Í
|
---|
| 22 | XNb`WX^Å éD
|
---|
| 23 |
|
---|
| 24 | R[ORxV
|
---|
| 25 |
|
---|
| 26 | R0`R4ªøC»êÈãÍX^bNDßèlÍCR0`R1Éi[³êéD(ARMÉ
|
---|
| 27 | æèKè³êÄ¢é½ßCRpCÉ˶¹¸±Ì[ÆÈéD)
|
---|
| 28 |
|
---|
| 29 | CONTROLWX^
|
---|
| 30 |
|
---|
| 31 | PSP,MSPÌØèÖ¦CPrivilageÆUser[hÌWX^DÏXãÍCCXg
|
---|
| 32 | NVobt@tbV
|
---|
| 33 | ½ßðÀs·éKvª éiisbjDCONTROL
|
---|
| 34 | WX^ÌÚ×ÍCARMv7-M Architecture Application Level Reference
|
---|
| 35 | Manual Ì B1-9 ðQÆ̱ÆD
|
---|
| 36 |
|
---|
| 37 | ÝxN^
|
---|
| 38 |
|
---|
| 39 | xN^e[u^ÅCxN^e[uÌAhXÍCZbgÍ0x00ÅC
|
---|
| 40 | Vector Table Offset Registeri}bvhWX^j ðì·é±Æ
|
---|
| 41 | ÅCCÓÌAhXÉzuÂ\Å éD
|
---|
| 42 |
|
---|
| 43 | Dæx
|
---|
| 44 |
|
---|
| 45 | lª¬³¢ûªDæxÆÈéD
|
---|
| 46 |
|
---|
| 47 | DæxÍÅå8bitÅ èCSoCÉÀ³êÄ¢érbgªÙÈéDÀ³
|
---|
| 48 | êérbgª8bitȺÌêÍCLSB©ç³øÉÈéDá¦ÎCÀ³êÄ¢
|
---|
| 49 | érbgª7bitÌêÍCrbg0ª³øÆÈéD
|
---|
| 50 |
|
---|
| 51 | DæxÌrbgtB[hÌLSB©çrbgðTuDæxÆÄÔtB[h
|
---|
| 52 | ÉÝè·é±ÆªÂ\Å éDcèÌãÊrbgðvGvVDæxÆ
|
---|
| 53 | ÄÔDvGvVDæxª¯¶ÅCTuDæxªÙÈéDæxÌO[
|
---|
| 54 | vÍC¨Ý¢ðvGvg·é±ÆªÅ«È¢D
|
---|
| 55 |
|
---|
| 56 | Reset,NMI,Hard Fault ÈOÌáOÍÝƯlÉDæxªÝèÂ\Å èC
|
---|
| 57 | Ý}XN@\ÉæèC¶ðÖ~·é±ÆªÂ\Å éD
|
---|
| 58 |
|
---|
| 59 | CPU[h
|
---|
| 60 |
|
---|
| 61 | vZbTÍCThread[hàµÍHandler[hÌ¢¸ê©Ì[hÆÈ
|
---|
| 62 | éD
|
---|
| 63 |
|
---|
| 64 | ZbgÌóÔ
|
---|
| 65 |
|
---|
| 66 | ZbgÍThread[hCMSPªLøÆÈÁÄ¢éD
|
---|
| 67 |
|
---|
| 68 | Handler[h
|
---|
| 69 |
|
---|
| 70 | áO/Ýðó¯t¯éÆJÚ·é[hDó¯t¯½áO/ÝÌáOÔ
|
---|
| 71 | ªCIPSRÉZbg³êé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}XNð"NVICDæx}XN"ÆÄÔD±ÌDæx
|
---|
| 90 | ÍC\tgEFA©çÏX·é±ÆªÅ«¸CáO/ÝÌ^[Éæè
|
---|
| 91 | ÝOÌlÉ©®IÉßéD
|
---|
| 92 |
|
---|
| 93 | X^bN|C^iPSPÆMSPj
|
---|
| 94 |
|
---|
| 95 | X^bN|C^ÍCPSPÆMSPª èCr¼IÉgpÂ\Å éDHandler
|
---|
| 96 | [hÅÍMSPÌÝgpÂ\Å èCThread[hÅÍCONTROLWX^ÅIðÂ
|
---|
| 97 | \Å éDCONTROLWX^Ì1rbgÚðZbg·éÆPSPªLøÉCNA
|
---|
| 98 | ·éÆCMSPªLøÉÈéD
|
---|
| 99 |
|
---|
| 100 | Thread[hÆHandler[hÌJÚ
|
---|
| 101 |
|
---|
| 102 | Thread[h©çHandler[hÖÌJÚÍCáO/Ýðó¯t¯é±ÆÅ
|
---|
| 103 | ¶·éDêûCHandler[h©çThread[hÖÌJÚÍCPCÉ
|
---|
| 104 | EXC_RETURN(0xfffffffx)ÌlðÝè·é±ÆÉæès¤iáO^[Æ
|
---|
| 105 | ÄÔjDEXC_RETURN̺Ê4bitÉæèCJÚæÌ[hâgp·éX^bN|
|
---|
| 106 | C^ðÏXÂ\Å éDáO^[ÉæèCPRIMASKâBASEPRIÌlÍÏ»
|
---|
| 107 | µÈ¢DêûCFAULTMASKÌlÍ'0'ÉNA³¹éD
|
---|
| 108 |
|
---|
| 109 | EXC_RETURN
|
---|
| 110 |
|
---|
| 111 | áO/Ýót¯ÉlrÉÝè³êélDrbg31`4rbgÍSÄ'1'ÅC
|
---|
| 112 | ºÊ4bitÍCót¯ÌCPU[hâX^bNð½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[hC»êÈO
|
---|
| 121 | ÈçCHandler[hÆÈéD
|
---|
| 122 |
|
---|
| 123 | BASEPRIWX^
|
---|
| 124 |
|
---|
| 125 | Ýèµ½DæxȺÌDæxÌÝÌótðÖ~·éD±ÌDæx}XNð
|
---|
| 126 | "BASEPRIDæx}XN"ÆÄÔD'0'ðÝè·éÆCSÄÌÝð·éD
|
---|
| 127 | áO/ÝÌótÆ^[ÉæèÏ»µÈ¢DáO/ÝÉηéÝ
|
---|
| 128 | Dæx}XNÍCNVICDæx}XNÆBASEPRIÌÝèlÌ¢ûilª¬³¢
|
---|
| 129 | ûjÆÈéD
|
---|
| 130 |
|
---|
| 131 | FAULTMASK
|
---|
| 132 |
|
---|
| 133 | FAULTMASKÍ'1'ðZbg·é±ÆÉæèCNMIÈOÌSÄÌÝðÖ~·éD
|
---|
| 134 | FAULTMASKÍCáOÌ^[Éæè'0'ÉNA³¹éD
|
---|
| 135 |
|
---|
| 136 | PRIMASKÆWFI
|
---|
| 137 |
|
---|
| 138 | PRIMASKð'1'ÉÝè·éÆCNMI Æ Hardware Fault ÈOÌáO/ÝðÖ
|
---|
| 139 | ~·éDPRIMASKÍÝÌÂÆÝÒ¿ðAg~bNÉs¤½ßÉp¢
|
---|
| 140 | éDïÌIÉÍCPRIMASKªZbg³êÄ¢éóÔÅwfiðÀs·éÆCè
|
---|
| 141 | ÝÒ¿ÆÈèCÝót¯éÆnhðÀs¹¸ÉCwfi©ç^[µ
|
---|
| 142 | ÄéD
|
---|
| 143 |
|
---|
| 144 | áO/ÝÌót
|
---|
| 145 |
|
---|
| 146 | EáO/Ýðót¯éÆCót¯ÉANeBuÈX^bNãÉȺÌR
|
---|
| 147 | eLXgðÛ¶·é(áOt[ÆÄÔ)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 | EvZbTðHandler[hÆ·éDMSPªLøÆÈéD
|
---|
| 169 | Eót¯½áO/ÝÌáOÔðIPSRÉÝè·éD
|
---|
| 170 | ENVICÝDæx}XNðót¯½áO/ÝÌDæxÉÝè·éD
|
---|
| 171 | ElrÉEXC_RETURNÌlªÝè³êéD
|
---|
| 172 | ExN^e[uðÇÝÝnhðÀs·éD
|
---|
| 173 |
|
---|
| 174 | áO/Ý©çÌ^[
|
---|
| 175 |
|
---|
| 176 | pcÉEXC_RETURNÌlðÝè·é±ÆÉæèCáO/Ý©ç^[·éD
|
---|
| 177 | pcÖÌÝèÉgpÂ\ȽßÉͧÀª èCȺ½ßªgpÂ\Å éD
|
---|
| 178 |
|
---|
| 179 | EPOP/LDM, LDR, BX
|
---|
| 180 |
|
---|
| 181 | ¢ðÛè
|
---|
| 182 |
|
---|
| 183 | ExN^[e[uÉo^·éÖÌAhXÌLSBÍ'1'É·é׫©?
|
---|
| 184 | ENVICÍáOEÝÌlXgñðàIÉǵĢéçµ¢D
|
---|
| 185 | (!t@Xð¾ç©É)D
|
---|
| 186 | \tgEFAÅÍClXgÌ Kðí¹êÎC^[X^bNðU¢µ
|
---|
| 187 | ÄàâèÈ¢©D
|
---|
| 188 |
|
---|
| 189 |
|
---|
| 190 | OSÌÀ
|
---|
| 191 |
|
---|
| 192 | 1.^[Qbg¼
|
---|
| 193 |
|
---|
| 194 | 1-1 cm3(Cortex-M3)
|
---|
| 195 | 1-2 armv7m(ARMV7M)
|
---|
| 196 | 1-3 arm_m
|
---|
| 197 |
|
---|
| 198 | cm3ÅÍCCoretex-M1(armv6-m)ðT|[g·éêÉâèÆÈéDarmv7mÅÍC
|
---|
| 199 | armv8mª[X³ê½êÉâèÆÈéDARM˶ÍJSPÅÍCarmv4ÆÈ
|
---|
| 200 | ÁÄ¢½ªCarmv5âarmv7à®ì·é½ßASPÅÍPÉarmƵ½D»Ì½ßC
|
---|
| 201 | arm_mª³ïÆl¦çêéD
|
---|
| 202 |
|
---|
| 203 |
|
---|
| 204 | 2.Thread[hÆHandler[hÌg¢ª¯
|
---|
| 205 |
|
---|
| 206 | 2-1
|
---|
| 207 | ^XNReLXgÍThread[hCñ^XNReLXgÍHandler[
|
---|
| 208 | hŮ쳹éD
|
---|
| 209 |
|
---|
| 210 | 2-2
|
---|
| 211 | ^XNReLXgÆñ^XNReLXg¤ÉHandler[hŮ쳹
|
---|
| 212 | éD
|
---|
| 213 |
|
---|
| 214 | vZbTÌÝvûjðl¶·éÆ2-1ªLÍD2-1ÅÌâè_ƵÄÍC
|
---|
| 215 | Ýnh©ç^XNÖÌ^[É[hÌÏXªÈºÌlɽ·é±
|
---|
| 216 | ƪ°çêéD
|
---|
| 217 |
|
---|
| 218 | 1.Ýnh : Handler[h
|
---|
| 219 | 2.^XNáOnhÌÄÑoµ : Thread[h
|
---|
| 220 | 3.^XNÖÌ^[ : Handler[h
|
---|
| 221 | 4.^XNÌÄJ : Thread[h
|
---|
| 222 |
|
---|
| 223 | 3ÅHandler[hÉÚs·éKvª éÌÍCáOt[ðp¢ÄA·é
|
---|
| 224 | ÉÍCHandler[hÅáO^[ðs¤Kvª é½ßÅ éDARMÅ
|
---|
| 225 | ÍC¡WX^Ì[hÆCPSRÌAð¯És¦éªCM3Ís¦È¢½ßC
|
---|
| 226 | ±Ìû@ÅÝæÌ^XNÉ^[·éKvª éD
|
---|
| 227 |
|
---|
| 228 | 2-2ÌêÌÝnh©ç^XNÖÌ^[É[hÌÏXðȺ
|
---|
| 229 | ɦ·DܽC2-2ÅÍÝDæxÌÅálð^XNÌÀsÌDæxƵ
|
---|
| 230 | ÄU[u·éKvª éD
|
---|
| 231 |
|
---|
| 232 | 1.Ýnh : Handler[h
|
---|
| 233 | 2.NVICDæx}XN'0'ð0Ö : Thread[h
|
---|
| 234 | 3.ÅáDæxÌHandler[hÖ : Handler[h
|
---|
| 235 | 4.^XNáOnhÌÄÑoµ : Handler[h
|
---|
| 236 | 5.^XNÖÌ^[ÌO : Thread[h
|
---|
| 237 | 3.^XNÖÌ^[ : Handler[h
|
---|
| 238 | 4.^XNÌÄJ : Handler[h
|
---|
| 239 |
|
---|
| 240 | Ýnh©ç^XNÌ^[ÉÖµÄÍC2-2Å ÁÄàC2ðÀs·
|
---|
| 241 | éêÉCNVICDæx}XNð'0'É·é½ßCáO^[ðs¤Kv
|
---|
| 242 | ª éDܽCNVIC©ÌªCÝÌlXgñðǵĢé½ßC3©ç4
|
---|
| 243 | ÖÌJÚ̽ßÉC¢Á½ñáO/Ýðót¯½óÔÉ·éKvª é½
|
---|
| 244 | ßCÊIÉ2-1ÈãÌJÚªKvÆÈéD
|
---|
| 245 |
|
---|
| 246 | 2-2ÌêÍCMSPµ©g¦È¢½ßCÝÌüèûÅlXgñð»fµÄC
|
---|
| 247 | X^bNðüêÖ¦éKvª éD
|
---|
| 248 |
|
---|
| 249 | HRPÅÛìðp¢éêÍ2-1ÆÈéD
|
---|
| 250 |
|
---|
| 251 | ÈãÌRÉæèC2-1ðÌp·éD½¾µ2-1ÍCJ[lN®ÆIDLE[
|
---|
| 252 | v̵¢ð¢·éKvª éD±êçÉ¢ÄÍÊrc_·éD
|
---|
| 253 |
|
---|
| 254 |
|
---|
| 255 | 3.fBXpb`ÌÀs[h
|
---|
| 256 |
|
---|
| 257 | 3-1
|
---|
| 258 | Thread[hÅÀs·é
|
---|
| 259 |
|
---|
| 260 | 3-2
|
---|
| 261 | Handler[hÅÀs·é
|
---|
| 262 |
|
---|
| 263 | fBXpb`ðThread[hÅÀs·éÆCÝÉæèvGvg³ê
|
---|
| 264 | ½^XNÉßéêÍÌæ¤ÈpXÉÈéD
|
---|
| 265 |
|
---|
| 266 | 1. fBXpb`ÄÑoµ : Thread[h
|
---|
| 267 | 2. fBXpb`Às : Thread[h
|
---|
| 268 | 3. ^XNáOÀs : Thread[h
|
---|
| 269 | 4D^XNÖÌ^[ : Handler[h
|
---|
| 270 | 5. ^XNÌÄJ : Thread[h
|
---|
| 271 |
|
---|
| 272 | Ýnh©ç©çfBXpb`µ½^XNÖ^[·éêÍÌp
|
---|
| 273 | XÉÈéD
|
---|
| 274 |
|
---|
| 275 | 1.Ýnh : Handler[h
|
---|
| 276 | 2.fBXpb`Às : Thread[h
|
---|
| 277 | 3.^XNáOnhÌÄÑoµ : Thread[h
|
---|
| 278 | 4.^XNÖÌ^[ : Handler[h
|
---|
| 279 | 5.^XNÌÄJ : Thread[h
|
---|
| 280 |
|
---|
| 281 | êûCfBXpb`ðHandler[hÅÀs·éÆCÝÉæèvG
|
---|
| 282 | vg³ê½^XNÉßéêÍÌæ¤ÈpXÉÈéD
|
---|
| 283 |
|
---|
| 284 | 1. fBXpb`ÄÑoµ : Thread[h
|
---|
| 285 | 2. fBXpb`Às : Handler[h
|
---|
| 286 | 3. ^XNáOÀs : Thread[h
|
---|
| 287 | 4D^XNÖÌ^[ : Handler[h
|
---|
| 288 | 5. ^XNÌÄJ : Thread[h
|
---|
| 289 |
|
---|
| 290 | ÝnhÌoû©ç©çfBXpb`µ½^XNÖ^[·éêÍ
|
---|
| 291 | ÌpXÉÈéD
|
---|
| 292 |
|
---|
| 293 | 1.Ýnh : Handler[h
|
---|
| 294 | 2.fBXpb`Às : Handler[h
|
---|
| 295 | 3.^XNáOnhÌÄÑoµ : Thread[h
|
---|
| 296 | 4.^XNÖÌ^[ : Handler[h
|
---|
| 297 | 5.^XNÌÄJ : Thread[h
|
---|
| 298 |
|
---|
| 299 | ^XNáOnhªÈ¢OSÌêÍCHandler[hÅÀsµ½ûª[h
|
---|
| 300 | ÌJÚÌñª¸éªC^XNáOnhª éÆCThread[hÌûªJ
|
---|
| 301 | Úñª¸é½ßCThread[hÆ·éD
|
---|
| 302 |
|
---|
| 303 | Ûìðl¶·éÆCfBXpb`ÍHandler[hŮ쳹½ûª
|
---|
| 304 | ø¦ªæ¢Æl¦çêéiSVCÅnhðÄÑo·ÆHandler[hÆÈé½
|
---|
| 305 | ßjD
|
---|
| 306 |
|
---|
| 307 |
|
---|
| 308 | 4.X^bNÌg¢ª¯
|
---|
| 309 |
|
---|
| 310 | 4-1
|
---|
| 311 | ^XNReLXgðPSP, ñ^XNReLXgðMSP
|
---|
| 312 | 4-2
|
---|
| 313 | ^XNReLXgCñ^XNReLXg¤ÉMSP
|
---|
| 314 |
|
---|
| 315 | 4-2ÌêCÝÌüèûÅlXgñð»fµÄCX^bNðüêÖ¦é
|
---|
| 316 | Kvª éD2Å^XNReLXgÍThread[hCñ^XNReLXg
|
---|
| 317 | ÍHandler[hŮ쳹éƵ½½ßC4-1ðÌp·éÆCÝÌüèû
|
---|
| 318 | Å©®IÉX^bNªØèÖíéDThread[hÅÌPSPÌANZXàC
|
---|
| 319 | mrs/msr½ßÅs¦é½ßC4-1ðÌp·éD
|
---|
| 320 |
|
---|
| 321 |
|
---|
| 322 | 5.ReLXgÌ»è
|
---|
| 323 |
|
---|
| 324 | 5-1
|
---|
| 325 | IPSRª'0'(Thread[h)Èç^XN^XNReLXgC'1'(Handler[
|
---|
| 326 | h)Èçñ^XNReLXgÆ·éD
|
---|
| 327 |
|
---|
| 328 | 5-2
|
---|
| 329 | ÝÌlXgñðÛ·éÏðpÓD1ÈãÅñ^XNReLXgD
|
---|
| 330 |
|
---|
| 331 | 5-3
|
---|
| 332 | ANeBuÈX^bNÉæè»fiMSPÈçñ^XNReLXgCPSPÈç
|
---|
| 333 | ^XNReLXgÆ·éj
|
---|
| 334 |
|
---|
| 335 | 5-1ÍC\tgEFA¤ÅReLXgÇ̽ßÌðs¤KvªÈ¢Æ
|
---|
| 336 | ¢¤bgª éDµ©µÈªçCJ[lÌN®Thread[hÅ é½
|
---|
| 337 | ßCHandler[hÖÚs·éKvª éDASPJ[lÅÍCIDLE[vÀs
|
---|
| 338 | Íñ^XNReLXgƵĮ쳹éKvª é½ßCIDLE[vÍ
|
---|
| 339 | Handler[hŮ쳹éKvª éDIDLE[vÍfBXpb`©çÄ
|
---|
| 340 | Ño³êéD3Åèß½æ¤ÉCfBXpb`ðThread[hŮ쳹é
|
---|
| 341 | ½ßCIDLE[vðÄÑo·ÛÉÍCHandler[hÖJÚ·éKvª éD
|
---|
| 342 | Handler[hÖÌJÚÍCSVC/PendSVCðp¢éÆÀ»Â\Å éªC6Ì
|
---|
| 343 | ÝÉvGvg³ê½^XNÖÌ^[ÌHandler[hÖÌÚsÅ
|
---|
| 344 | àSVC/PendSVCÌgpªKvÆÈé½ßCSVCnhÅÍCÇÌÚIÅÄÑo
|
---|
| 345 | ³ê½©»è·éKvªoÄé½ßCI[owbhªå·éD
|
---|
| 346 |
|
---|
| 347 | 5-2ÅÍCJ[lN®âIDLE[vÉÏð'1'ÉÝè·êÎ梱ÆÉ
|
---|
| 348 | ÈéD±ÌêCJ[lN®âIDLE[vÉThread[hÅÀsµÄà
|
---|
| 349 | ®ìÉâèªÈ¢æ¤CÁÉÝÌoüèûÌÝvðÓ·éKvª éD
|
---|
| 350 |
|
---|
| 351 | J[lN®ÉÖµÄÍCSÝðÖ~µÄ¨èCݪüçÈ¢ÌÅ
|
---|
| 352 | ÁÉâèÍÈ¢DIDLE[vÍCThread[hÅMSPÆPSPÌIðªÂ\Å
|
---|
| 353 | é±ÆðpµÄCñ^XNReLXgÌX^bNÅ éMSPÉÏX·éD
|
---|
| 354 | áO/ÝÌüèûÅÍC½dÝÅ é©ðEXC_RETURNÌ[h»èÌ
|
---|
| 355 | rbgÅÍÈCX^bNÌ»èrbgÅs¦ÎâèÈ¢DáO/Ý©ç
|
---|
| 356 | Ì^[ÉÖµÄÍC½dÝÌ»èÍCüèûƯlÉEXC_RETURNÌX
|
---|
| 357 | ^bN»èrbgÅs¦Îæ¢DáO^[ÉpcÉãü·é
|
---|
| 358 | EXC_RETURNÌlðê¥0xfffffffd (Thread[h with MSP)Æ·éÌÅÍÈC
|
---|
| 359 | áO/Ýót¯ÉLRÉÝè³êéEXC_RETURNðp¢é±ÆÉæèCIDLE
|
---|
| 360 | [vÉèñ¾êÅàâèÈ^[·éD
|
---|
| 361 |
|
---|
| 362 | J[lN®ÍCMSPªANeBuÅ èCÝnhÀsÍHandler
|
---|
| 363 | [hÅ é±Æ©çMSPªANeBuÅèCIDLE[vÉMSPðANeBu
|
---|
| 364 | ÉÝè·éÆCñ^XNReLXgÍSÄCMSPðANeBuɵĮì·
|
---|
| 365 | é±ÆÉÈéDܽCÝÍÝOÉANeBuÈX^bNÌîñªC
|
---|
| 366 | EXC_RETURNÉÝè³êéD»Ì½ßCReLXgÌ»èÍCÝlXgñ
|
---|
| 367 | ðÛ·éϪÈÆàCANeBuÈX^bNð©êÎ梱ÆÉÈéD
|
---|
| 368 | ܽCexc_sense_context()ÉÖµÄÍCáOt[ÉEXC_RETURNðÇÁ
|
---|
| 369 | µC»ÌàeÉæè»f·êÎæ¢DÈãÌRÉæèC5-3ðÌp·éD
|
---|
| 370 |
|
---|
| 371 |
|
---|
| 372 | 6.ÝÉvGvg³ê½^XNÖÌ^[ÌHandler[hÖÌÚ
|
---|
| 373 | sû@
|
---|
| 374 |
|
---|
| 375 | 6-1
|
---|
| 376 | SVCðp¢é
|
---|
| 377 | 6-2
|
---|
| 378 | PendSVCðp¢é
|
---|
| 379 |
|
---|
| 380 | PendSVCÆSVCÌá¢ÍCPendSVCªvªL
|
---|
| 381 | [CO³êCSVCÍvªL
|
---|
| 382 |
|
---|
| 383 | [CO³êÈ¢±ÆÅ éDÝÉvGvg³ê½^XNÖÌ^[
|
---|
| 384 | ÌHandler[hÖÌÚsÍCL
|
---|
| 385 | [CO³ê¸É¦ÀɳêéK
|
---|
| 386 | vª é½ßCÇ¿çÅÀ»µÄàâèÈ¢DÇ¿çðJ[lÌ\[Xµ
|
---|
| 387 | Ägp·é©ÌIð¾¯Å éD
|
---|
| 388 |
|
---|
| 389 | Ç¿çðg¤ÆµÄàCDæxÌÝèªâèÆÈéDfBXpb`©ç
|
---|
| 390 | ÝÉvGvg³ê½^XNÖÌ^[ÜÅÌÍCÈÆàCPU
|
---|
| 391 | bNóÔÅÀs³êȯêÎÈçÈ¢DSVCâPendSVCÍÇ¿çàÝDæx
|
---|
| 392 | ð½ßCNVICDæx}XNæèBASEPRIDæx}XNÌûª¢êC
|
---|
| 393 | ³êÈ¢D
|
---|
| 394 |
|
---|
| 395 | CPUbNóÔðBASEPRIÌÝèÅÀ»µ½êC»ÌÝèlðSVCâPendSVCÉ
|
---|
| 396 | Ýèµ½læèá·éKvª éD¾¢·¦éÆCSVCâPendSVCÌDæxð
|
---|
| 397 | CPUbNÌDæx}XNÌlæè¢li¼ÌÝæè¢DæxjÆ
|
---|
| 398 | ·éKvª éD
|
---|
| 399 |
|
---|
| 400 | CPUbNóÔðFAULTMASKâPRIMASKÅÀ»µ½êÍC±êçªÝè³êé
|
---|
| 401 | ÆCSVCâPendSVCªót¯çêÈ¢½ßC¢Á½ñBASEPRIÉæèÝð}
|
---|
| 402 | XN·éæ¤ÉÝè·éKvª éD±ÌêàCSVCâPendSVCͼÌÝ
|
---|
| 403 | æè¢DæxðÝè·éKvª éD
|
---|
| 404 |
|
---|
| 405 | ÈãÉæèCHandler[hÖÌÚs̽ßÉÍCCPUbNóÔðBASEPRIÅ
|
---|
| 406 | À»µCSVCâPendSVCÉÝè·éDæxðJ[lÇàÌÅDæxæèê
|
---|
| 407 | ¢DæxÉÝè·éKvª éD
|
---|
| 408 |
|
---|
| 409 |
|
---|
| 410 | 7. áO/ÝoüèûÅ̽dÝÌ»f
|
---|
| 411 |
|
---|
| 412 | 7-1
|
---|
| 413 | EXC_RETURNÌ[h»èrbg
|
---|
| 414 | 7-2
|
---|
| 415 | EXC_RETURNÌX^bN»èrbg
|
---|
| 416 | 7-3
|
---|
| 417 | ÝlXgñÌÇÏ
|
---|
| 418 |
|
---|
| 419 | áO/Ýót¯ÍCót¯½áO/ÝȺÌÝÍÖ~·éªCS
|
---|
| 420 | ÝÖ~óÔÉÍÈçÈ¢D»Ì½ßCÝlXgñÌÇÏðC
|
---|
| 421 | Ng·éOÉݪüéÂ\«ª é½ßC7-3Ígp·é±ÆªÅ
|
---|
| 422 | «È¢D
|
---|
| 423 |
|
---|
| 424 | 5Åc_µ½ÊèCIDLE[vðThread[hÅÀs·é½ßC7-1ÅÍÈC
|
---|
| 425 | 7-2Å»f·éKvª éD
|
---|
| 426 |
|
---|
| 427 |
|
---|
| 428 | 8. IDLE[v
|
---|
| 429 |
|
---|
| 430 | 8-1
|
---|
| 431 | Thread[hÅÀs
|
---|
| 432 | 8-2
|
---|
| 433 | Handler[hÅÀs
|
---|
| 434 |
|
---|
| 435 | 5Åc_µ½ÊèCThread[hÅÀsÅ«½ûªI[owbhª¬³¢DÜ
|
---|
| 436 | ½CThread[hÅÀsµÄàCèÝÌoüèûųµñ^XNRe
|
---|
| 437 | LXgÆ»èÅ«êÎCThread[hÅâèÈ¢D
|
---|
| 438 |
|
---|
| 439 |
|
---|
| 440 | 9DJ[lÇOÌÝÌT|[g
|
---|
| 441 |
|
---|
| 442 | 9-1
|
---|
| 443 | J[lÇOÌÝðT|[gµÈ¢
|
---|
| 444 | 9-2
|
---|
| 445 | J[lÇOÌÝðT|[g·é
|
---|
| 446 |
|
---|
| 447 | xN^e[uðT|[gµÄ¨èCÝnhàC¾êÅLqÂ\Å
|
---|
| 448 | é½ßCT|[gªeÕÅ é½ßCT|[g·éD
|
---|
| 449 |
|
---|
| 450 |
|
---|
| 451 | 10. CPUbN
|
---|
| 452 |
|
---|
| 453 | 10-1
|
---|
| 454 | BASEPRIðgp
|
---|
| 455 | 10-2
|
---|
| 456 | FAULTMASK/PRIMASKðgp
|
---|
| 457 |
|
---|
| 458 | J[lÌÇOÌÝðT|[g·éÈçCBASEPRIðgp·éKvª
|
---|
| 459 | éD
|
---|
| 460 |
|
---|
| 461 |
|
---|
| 462 | 11. ÝbNÆCPUáOÌÖW
|
---|
| 463 |
|
---|
| 464 | 11-1
|
---|
| 465 | BASEPRIðgp
|
---|
| 466 | 11-2
|
---|
| 467 | FAULTMASK/PRIMASKðgp
|
---|
| 468 |
|
---|
| 469 | FAULTMASK/PRIMASKðgp·éÆCNMI Æ Hardware Fault ÈOÌCPUáOàÖ
|
---|
| 470 | ~³êĵܤD
|
---|
| 471 |
|
---|
| 472 | BASEPRIðp¢éÆCÝbNÉàCPUáOðót¯½¢êÍC
|
---|
| 473 | BASEPRIðp¢ÄCÅDæxðCPUáO̽ßÉU[u·éKvª éD
|
---|
| 474 |
|
---|
| 475 | ÝbNàCCPUáOðót¯éæ¤Éµ½¯êÎBASEPRIðgp·éK
|
---|
| 476 | vª éD
|
---|
| 477 |
|
---|
| 478 | ÊIRON4.0dlÌ3.5.3ÅÍCCPUáOÌDæxÍÌæ¤ÉèßçêÄ¢éD
|
---|
| 479 |
|
---|
| 480 | "CPUáOnhÌDæÊÍCCPUáOª¶µ½ÌDæxÆCfBX
|
---|
| 481 | pb`ÌDæÊÌ¢¸ê©æèà¢D"
|
---|
| 482 |
|
---|
| 483 | CPUáOª¶µ½ÌDæxæèà¢Æ éÌÅCCPUbNâÝ
|
---|
| 484 | bNóÔÌ^XNŶµ½êÅàCDæµÄÀs³êé׫¾Æàl¦ç
|
---|
| 485 | êéD
|
---|
| 486 |
|
---|
| 487 | êûCTOPPERSWÝfÌdlÅÍCCPUáOÍCvZbT
|
---|
| 488 | ÉÙÈé½ßCCPUáOÌfÌW»¢ÌÎÛOƵĢéD»Ì
|
---|
| 489 | ½ßCARM-MÅ̵¢ðßÄC}j
|
---|
| 490 | AɾL·êÎæ¢Æl¦çêéD
|
---|
| 491 |
|
---|
| 492 |
|
---|
| 493 | 12. ODæxÆàDæxÌÏ·
|
---|
| 494 |
|
---|
| 495 | ODæxÆÍAPIÅwè·éÝDæx(PRI^)̱ÆÅ èClª¬³¢
|
---|
| 496 | ÙÇDæxª¢DÝnhÉÍC-1©çA±µ½ÌlðÝèÂ\Å
|
---|
| 497 | éDàDæxÍCBASEPRIâNVICÌDæxWX^ÉÝè·élÅ éD
|
---|
| 498 |
|
---|
| 499 | À³êéÝDæxÌrbgð TBITW_IPRI Æ·éÆCÝèÂ\ÈO
|
---|
| 500 | DæxÍÌæ¤ÉÈéD
|
---|
| 501 |
|
---|
| 502 | TIPM_ENAALLi0j` -(1 << TBITW_IPRI)
|
---|
| 503 |
|
---|
| 504 |
|
---|
| 505 | 13. J[lÇàÌÅDæx(CPUbNóÔÅÌDæx}XN)
|
---|
| 506 |
|
---|
| 507 | 6.Åq×½æ¤ÉCÝÌoûÅSVCnhðÄÑo·Kvª é½ßC
|
---|
| 508 | SVCnhÍCPUbNóÔÌBASEPRIÉÝè·éDæx}XNæè¢Dæx
|
---|
| 509 | ðÝè·éKvª éD
|
---|
| 510 |
|
---|
| 511 | À³êéÝDæxÌrbgð TBITW_IPRICDæxÌTuDæxÌ
|
---|
| 512 | rbgðTBIT_IPRIÆ·éÆCCPUbNóÔiJ[lÇàÝÉÝè
|
---|
| 513 | Â\ÈÅDæxjƵÄwèÂ\ÈDæx}XNÌÝèÍÍÍȺÌlÌÍ
|
---|
| 514 | ÍÆÈéD
|
---|
| 515 |
|
---|
| 516 | -(2^(TBIW_IPRI)) + (2^TBITW_SUBIPRI)) ` -1
|
---|
| 517 |
|
---|
| 518 |
|
---|
| 519 | 14. ¢ðÛè
|
---|
| 520 |
|
---|
| 521 | EÝbNÆCPUáOÌÖW
|
---|
| 522 | BASEPRIðgÁ½ÆµÄàC éCPUáOɼÌáOª¶·éÆC»
|
---|
| 523 | ÌáOÍó¯t¯çêÈ¢½ßCITRONdlͽ¹È¢D
|
---|
| 524 | -> «çßÄ}j
|
---|
| 525 | ALÚɦ°é©.
|
---|
| 526 | veNVÌáOà}XNÂ\Å é½ßvD
|
---|
| 527 |
|
---|
| 528 |
|
---|
| 529 | ÈãD
|
---|