Changeset 306 for asp3_wo_tecs/trunk/arch/arm_gcc/doc/arm_design.txt
- Timestamp:
- Jun 27, 2017, 10:53:32 AM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
asp3_wo_tecs/trunk/arch/arm_gcc/doc/arm_design.txt
r302 r306 3 3 ARMã³ã¢ä¾åé¨ è¨è¨ã¡ã¢ 4 4 5 対å¿ãã¼ã¸ã§ã³: Release 3.B.0 6 æçµæ´æ°: 2015å¹´8æ18æ¥ 7 5 対å¿ãã¼ã¸ã§ã³: Release 3.1.0 6 æçµæ´æ°: 2016å¹´5æ14æ¥ 7 8 ---------------------------------------------------------------------- 9 TOPPERS/ASP Kernel 10 Toyohashi Open Platform for Embedded Real-Time Systems/ 11 Advanced Standard Profile Kernel 12 13 Copyright (C) 2014-2016 by Embedded and Real-Time Systems Laboratory 14 Graduate School of Information Science, Nagoya Univ., JAPAN 15 16 ä¸è¨èä½æ¨©è 17 ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ 18 ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹ 19 å¤ã»åé 20 å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 21 (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 22 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 23 ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 24 (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 25 ç¨ã§ããå½¢ã§åé 26 å¸ããå ´åã«ã¯ï¼åé 27 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 28 è 29 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 30 ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 31 (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 32 ç¨ã§ããªãå½¢ã§åé 33 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 34 ã¨ï¼ 35 (a) åé 36 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 37 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 38 ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 39 (b) åé 40 å¸ã®å½¢æ 41 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 42 å ±åãããã¨ï¼ 43 (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 44 害ãããï¼ä¸è¨èä½æ¨©è 45 ããã³TOPPERSããã¸ã§ã¯ããå 46 責ãããã¨ï¼ 47 ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç 48 ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è 49 ããã³TOPPERSããã¸ã§ã¯ãã 50 å 51 責ãããã¨ï¼ 52 53 æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 54 ã 55 ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 56 ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 57 ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 58 ã®è²¬ä»»ãè² ããªãï¼ 59 60 $Id: arm_design.txt 751 2016-05-14 15:03:06Z ertl-hiro $ 8 61 ---------------------------------------------------------------------- 9 62 … … 55 108 ARMv7-Aï¼ARMv7-Rã«æºæ ããããã»ããµã³ã¢ãæã¤ã¿ã¼ã²ããã·ã¹ãã ï¼ãã 56 109 ãï¼ã«å 57 ±éã«ä½¿ç¨ã§ããé¨åã§ããï¼ 110 ±éã«ä½¿ç¨ã§ããé¨åã§ããï¼ãã ãï¼ããã«è©²å½ãããã¹ã¦ã®ARMã³ã¢ 111 ã«å¯¾å¿ã§ãã¦ããããã§ã¯ãªãï¼æ°ãããããã«ãã¼ãã£ã³ã°ããéã«ã¯ï¼ã³ 112 ã¢ä¾åé¨ã«ä½ããã®ä¿®æ£ãå¿ 113 è¦ã«ãªããã¨ãå¤ãã¨æãããï¼ 58 114 59 115 ARMã³ã¢ã®ããã»ããµã³ã¢ç¥ç§°ã"arm"ã¨ããï¼GNUéçºç°å¢åãã®ARMã³ã¢ä¾å … … 284 340 ã®cpsrãspsrã«å¾©å¸° */ 285 341 msr spsr_cxsf, r0 286 ldmfd sp!, {r0-r4,r12,lr,pc}^ /* ä¾å¤å¦çããã®å¾©å¸° */ 287 ---------------------------------------- 288 289 ããã§ï¼ã¹ã¯ã©ããã¬ã¸ã¹ã¿ã«å ãã¦r4ã復帰ãã¦ããã®ã¯ï¼ä¾å¤ã®åºå 290 ¥å£å¦ 291 çã§ã¹ã¯ã©ããã¬ã¸ã¹ã¿ä»¥å¤ã«ä½¿ããã¬ã¸ã¹ã¿ã¨ãã¦ï¼r4ã確ä¿ããããã§ã 292 ãï¼ 342 ldmfd sp!, {r0-r5,r12,lr,pc}^ /* ä¾å¤å¦çããã®å¾©å¸° */ 343 ---------------------------------------- 344 345 ããã§ï¼ã¹ã¯ã©ããã¬ã¸ã¹ã¿ã«å ãã¦r4ã¨r5ã復帰ãã¦ããã®ã¯ï¼ä¾å¤ã®åºå 346 ¥ 347 å£å¦çã§ã¹ã¯ã©ããã¬ã¸ã¹ã¿ä»¥å¤ã«ä½¿ããã¬ã¸ã¹ã¿ã¨ãã¦ï¼r4ã¨r5ã確ä¿ãã 348 ããã§ããï¼å®éã«ã¯ï¼r4ã ãã使ããã°ååã§ãããï¼ã¹ã¿ãã¯ãã¤ã³ã¿ã 349 8ãã¤ãå¢çã«ã¢ã©ã¤ã³ããããã«r5ãä¿åï¼å¾©å¸°ãã¦ããï¼ï¼ 293 350 294 351 ãã®åºå£ãå®è¡ããæç¹ã§ï¼ã¹ã¿ãã¯ã¯æ¬¡ã®ããã«ãªã£ã¦ããå¿ … … 310 367 | r4 | 311 368 +----------------+ <- sp+0x18 369 | r5 | 370 +----------------+ <- sp+0x1c 312 371 | r12 | 313 +----------------+ <- sp+0x 1c372 +----------------+ <- sp+0x20 314 373 | lr | 315 +----------------+ <- sp+0x2 0374 +----------------+ <- sp+0x24 316 375 | æ»ãçªå° | 317 +----------------+ 376 +----------------+ <- sp+0x28 318 377 319 378 ããã«å¯¾å¿ããä¾å¤ã®å … … 325 384 */ 326 385 msr cpsr_c, #(CPSR_SVC_MODE AOR CPSR_IRQ_BIT) 327 stmfd sp!, {r0-r 4,r12,lr,pc} /* pcã¯ã¹ãã¼ã¹ç¢ºä¿ã®ãã */ (*1)386 stmfd sp!, {r0-r5,r12,lr,pc} /* pcã¯ã¹ãã¼ã¹ç¢ºä¿ã®ãã */ (*1) 328 387 329 388 /* … … 339 398 */ 340 399 msr cpsr_c, #(CPSR_SVC_MODE AOR CPSR_IRQ_BIT) 341 str r2, [sp,#0x 1c] /* æ»ãçªå°ãã¹ã¿ãã¯ã«ä¿å */ (*2)400 str r2, [sp,#0x20] /* æ»ãçªå°ãã¹ã¿ãã¯ã«ä¿å */ (*2) 342 401 push {r1} /* spsrãã¹ã¿ãã¯ã«ä¿å */ 343 402 ---------------------------------------- … … 346 405 ãï¼ãã®æç¹ã§ä¿åããpcã®å¤ã¯ä½¿ããªãï¼(*2)ã§ï¼ç¢ºä¿ããã¹ãã¼ã¹ã«æ»ã 347 406 çªå°ãæ ¼ç´ããï¼æ ¼ç´å 348 ã[sp,#0x 1c]ã¨ããã®ã¯ï¼ãã®æç¹ã§ã¯spã¯ä¸ã®å³ã®349 ï¼sp+0x04ï¼ãæãã¦ããï¼æ»ãçªå°ã¯ï¼sp+0x2 0ï¼ã«æ ¼ç´ãããããã§ããï¼407 ã[sp,#0x20]ã¨ããã®ã¯ï¼ãã®æç¹ã§ã¯spã¯ä¸ã®å³ã® 408 ï¼sp+0x04ï¼ãæãã¦ããï¼æ»ãçªå°ã¯ï¼sp+0x24ï¼ã«æ ¼ç´ãããããã§ããï¼ 350 409 351 410 ä¾å¤ãåãä»ããã¨Iããããã»ããããããï¼ä¾å¤ã®å … … 393 452 394 453 ---------------------------------------- 395 ldmfd sp!, {r0-r 4,r12,lr}454 ldmfd sp!, {r0-r5,r12,lr} 396 455 rfefd sp! 397 456 ---------------------------------------- 398 457 399 ããã§ï¼ã¹ã¯ã©ããã¬ã¸ã¹ã¿ã«å ãã¦r4ã復帰ãã¦ããã®ã¯ï¼ä¾å¤ã®åºå 400 ¥å£å¦ 401 çã§ã¹ã¯ã©ããã¬ã¸ã¹ã¿ä»¥å¤ã«ä½¿ããã¬ã¸ã¹ã¿ã¨ãã¦ï¼r4ã確ä¿ããããã§ã 402 ãï¼ 458 ããã§ï¼ã¹ã¯ã©ããã¬ã¸ã¹ã¿ã«å ãã¦r4ã¨r5ã復帰ãã¦ããã®ã¯ï¼ä¾å¤ã®åºå 459 ¥ 460 å£å¦çã§ã¹ã¯ã©ããã¬ã¸ã¹ã¿ä»¥å¤ã«ä½¿ããã¬ã¸ã¹ã¿ã¨ãã¦ï¼r4ã¨r5ã確ä¿ãã 461 ããã§ããï¼å®éã«ã¯ï¼r4ã ãã使ããã°ååã§ãããï¼ã¹ã¿ãã¯ãã¤ã³ã¿ã 462 8ãã¤ãå¢çã«ã¢ã©ã¤ã³ããããã«r5ãä¿åï¼å¾©å¸°ãã¦ããï¼ï¼ 403 463 404 464 ãã®åºå£ãå®è¡ããæç¹ã§ï¼ã¹ã¿ãã¯ã¯æ¬¡ã®ããã«ãªã£ã¦ããå¿ … … 418 478 | r4 | 419 479 +----------------+ <- sp+0x14 480 | r5 | 481 +----------------+ <- sp+0x18 420 482 | r12 | 421 +----------------+ <- sp+0x1 8483 +----------------+ <- sp+0x1c 422 484 | lr | 423 +----------------+ <- sp+0x 1c485 +----------------+ <- sp+0x20 424 486 | æ»ãçªå° | 425 +----------------+ <- sp+0x2 0487 +----------------+ <- sp+0x24 426 488 | cpsr | 427 +----------------+ 489 +----------------+ <- sp+0x28 428 490 429 491 ããã«å¯¾å¿ããä¾å¤ã®å … … 443 505 */ 444 506 cps #CPSR_SVC_MODE 445 stmfd sp!, {r0-r 4,r12,lr}507 stmfd sp!, {r0-r5,r12,lr} 446 508 ---------------------------------------- 447 509 … … 585 647 ä¸ã§å¿ 586 648 è¦ãªæ 587 å ±ï¼ä¾ãã°ï¼å²è¾¼ã¿çªå·ï¼ã¯ï¼irc_begin_intã§ã¹ã¿ãã¯ä¸ã«ä¿å 588 ãã¦ããå¿ 589 è¦ãããï¼ãããå¯è½ã«ããããã«ï¼irc_begin_intãå¼ã³åºããã 590 ãï¼irc_end_intãå¿ 591 ãå¼ã³åºãããããã«ãã¦ããï¼ã¹ããªã¢ã¹å²è¾¼ã¿ã®å ´å 592 ã«ãï¼irc_end_intãå¼ã³åºãããã«ãã¦ããï¼ 593 649 å ±ï¼ä¾ãã°ï¼å²è¾¼ã¿çªå·ï¼ã¯ï¼irc_begin_intã§ã¹ã¿ãã¯ã®å 650 é ã« 651 ä¿åãã¦ããå¿ 652 è¦ãããï¼ããã«ç¨ããããã«ï¼ã¹ã¿ãã¯ã®å 653 é ã«1ã¯ã¼ãã®ç©º 654 ãé åãè¨ãã¦ããï¼ 655 656 irc_end_intã§å¿ 657 è¦ãªæ 658 å ±ã1ã¯ã¼ãã§ä¸è¶³ããå ´åã«ã¯ï¼irc_begin_intã§ã¹ã¿ã 659 ã¯ã«ç©ã¿ï¼irc_end_intã§ã¹ã¿ãã¯ããåãåºãï¼ãããå¯è½ã«ããããã«ï¼ 660 irc_begin_intãå¼ã³åºããããï¼irc_end_intãå¿ 661 ãå¼ã³åºãããããã«ã㦠662 ããï¼ã¹ããªã¢ã¹å²è¾¼ã¿ã®å ´åã«ãï¼irc_end_intãå¼ã³åºãããã«ãã¦ããï¼ 594 663 ãµãã«ã¼ãã³ï¼irc_begin_intï¼ã®ä¸ã§ã¹ã¿ãã¯ã«ç©ã¿å¢ãã®ã¯ï¼ä¸è¬ã«ã¯æ¡ç¨ 595 664 ããªãããã°ã©ãã³ã°ææ³ã§ãããï¼irc_begin_intããirc_end_intã«æ¸¡ãæ … … 894 963 å ±ãè¨æ¶ãã¦ããé åã®å 895 964 é çªå°ã第1ãã©ã¡ã¼ã¿ï¼CPUä¾å¤ãã³ã 896 ã©çªå·ã第2ãã©ã¡ã¼ã¿ã¨ãã¦å¼ã³åºãï¼r12ã«ä¿åããã¦ããCPUä¾å¤ã®æ 897 å ±ã 898 è¨æ¶ãã¦ããé åã®å 899 é çªå°ãä¿åãããããã«ï¼å¿ 900 è¦ã«å¿ãã¦ï¼ã¹ã¿ãã¯ã« 901 ä¿åããï¼ 965 ã©çªå·ã第2ãã©ã¡ã¼ã¿ã¨ãã¦å¼ã³åºãï¼ 902 966 903 967 ---------------------------------------- … … 919 983 ã¯ã«æ»ãï¼ãã®å¾ï¼CPUä¾å¤ãçºçããç¶æ³ãå¤æããããã®è¿½å æ 920 984 å ±ãã¹ã¿ã 921 ã¯ä¸ããæ¨ã¦ãï¼ä¾å¤ãã¹ãã«ã¦ã³ãã0ã«ãªã£ãå ´åã®å¦çã¯ï¼ å²è¾¼ã¿ãã³ã922 ã©ã®åºå£å¦çã¨å 923 ±éã§ããããï¼ret_int_1ã«åå²ããï¼985 ã¯ä¸ããæ¨ã¦ãï¼ä¾å¤ãã¹ãã«ã¦ã³ãã0ã«ãªã£ãå ´åã®å¦çã¯ï¼è¿½å æ 986 å ±ãã¹ 987 ã¿ãã¯ä¸ããæ¨ã¦ããã¨ä»¥å¤ã¯ï¼å²è¾¼ã¿ãã³ãã©ã®åºå£å¦çã¨åæ§ã§ããï¼ 924 988 925 989 ---------------------------------------- … … 957 1021 #endif /* TOPPERS_SUPPORT_OVRHDR */ 958 1022 } 959 ----------------------------------------960 961 以ä¸ã®å¦çã«ã¯ï¼å²è¾¼ã¿ãã³ãã©ã®åºå£å¦çã®ã«ã¼ãã³ãæµç¨ããï¼962 963 ----------------------------------------964 1023 CPUä¾å¤å¦çããã®ãªã¿ã¼ã³å¾ã«ï¼CPUããã¯è§£é¤ç¶æ 965 1024 ã«æ»ãããã«æºåãã … … 972 1031 ---------------------------------------- 973 1032 974 ã¹ã¯ã©ããã¬ã¸ã¹ã¿ã復帰ããå¾ï¼ä¾å¤ãããªã¿ã¼ã³ããï¼975 976 1033 âã¹ã¿ãã¯ãã¤ã³ã¿ãä¸æ£ã®å ´åã®å¯¾ç 977 1034
Note:
See TracChangeset
for help on using the changeset viewer.