[306] | 1 |
|
---|
| 2 | TOPPERS/ASP3ã«ã¼ãã«
|
---|
| 3 | ã¿ã¼ã²ããä¾åé¨ ãã¼ãã£ã³ã°ã¬ã¤ã
|
---|
| 4 |
|
---|
| 5 | 対å¿ãã¼ã¸ã§ã³: Release 3.1.0
|
---|
| 6 | æçµæ´æ°: 2016å¹´3æ31æ¥
|
---|
| 7 |
|
---|
| 8 | ãã®ããã¥ã¡ã³ãã¯ï¼TOPPERS/ASP3ã«ã¼ãã«ãï¼æªãµãã¼ãã®ã¿ã¼ã²ããã·ã¹
|
---|
| 9 | ãã ã«ãã¼ãã£ã³ã°ããããã«å¿
|
---|
| 10 | è¦ã¨ãªãã¿ã¼ã²ããä¾åé¨ã®å®è£
|
---|
| 11 | æ¹æ³ã説æ
|
---|
| 12 | ãããã®ã§ããï¼
|
---|
| 13 |
|
---|
| 14 | ----------------------------------------------------------------------
|
---|
| 15 | TOPPERS/ASP Kernel
|
---|
| 16 | Toyohashi Open Platform for Embedded Real-Time Systems/
|
---|
| 17 | Advanced Standard Profile Kernel
|
---|
| 18 |
|
---|
| 19 | Copyright (C) 2005-2016 by Embedded and Real-Time Systems Laboratory
|
---|
| 20 | Graduate School of Information Science, Nagoya Univ., JAPAN
|
---|
| 21 |
|
---|
| 22 | ä¸è¨èä½æ¨©è
|
---|
| 23 | ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
|
---|
| 24 | ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹
|
---|
| 25 | å¤ã»åé
|
---|
| 26 | å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
|
---|
| 27 | (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
|
---|
| 28 | 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
|
---|
| 29 | ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼
|
---|
| 30 | (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
|
---|
| 31 | ç¨ã§ããå½¢ã§åé
|
---|
| 32 | å¸ããå ´åã«ã¯ï¼åé
|
---|
| 33 | å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨
|
---|
| 34 | è
|
---|
| 35 | ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
|
---|
| 36 | ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
|
---|
| 37 | (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
|
---|
| 38 | ç¨ã§ããªãå½¢ã§åé
|
---|
| 39 | å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
|
---|
| 40 | ã¨ï¼
|
---|
| 41 | (a) åé
|
---|
| 42 | å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è
|
---|
| 43 | ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
|
---|
| 44 | ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
|
---|
| 45 | (b) åé
|
---|
| 46 | å¸ã®å½¢æ
|
---|
| 47 | ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã«
|
---|
| 48 | å ±åãããã¨ï¼
|
---|
| 49 | (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
|
---|
| 50 | 害ãããï¼ä¸è¨èä½æ¨©è
|
---|
| 51 | ããã³TOPPERSããã¸ã§ã¯ããå
|
---|
| 52 | 責ãããã¨ï¼
|
---|
| 53 | ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
|
---|
| 54 | ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
|
---|
| 55 | ããã³TOPPERSããã¸ã§ã¯ãã
|
---|
| 56 | å
|
---|
| 57 | 責ãããã¨ï¼
|
---|
| 58 |
|
---|
| 59 | æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
|
---|
| 60 | ã
|
---|
| 61 | ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
|
---|
| 62 | ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
|
---|
| 63 | ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã
|
---|
| 64 | ã®è²¬ä»»ãè² ããªãï¼
|
---|
| 65 |
|
---|
| 66 | $Id: porting.txt 718 2016-04-01 15:05:01Z ertl-hiro $
|
---|
| 67 | ----------------------------------------------------------------------
|
---|
| 68 |
|
---|
| 69 | âç®æ¬¡
|
---|
| 70 |
|
---|
| 71 | ï¼ï¼å
|
---|
| 72 | ±éäºé
|
---|
| 73 |
|
---|
| 74 | 1.1 ã¿ã¼ã²ããä¾åé¨ã®æ§æ
|
---|
| 75 | 1.1.1 ã¿ã¼ã²ããç¥ç§°ã¨ã¿ã¼ã²ããä¾åé¨ãã£ã¬ã¯ããª
|
---|
| 76 | 1.1.2 éçºç°å¢ä¾åé¨ãã£ã¬ã¯ããª
|
---|
| 77 | 1.1.3 ããã»ããµã³ã¢ä¾åé¨ãã£ã¬ã¯ããª
|
---|
| 78 | 1.1.4 ãããä¾åé¨ãã£ã¬ã¯ããª
|
---|
| 79 | 1.2 ååã®è¡çªã®é²æ¢
|
---|
| 80 | 1.3 ããããã¡ã¤ã«ã®è¨è¿°ã«ã¼ã«
|
---|
| 81 | 1.3.1 ããããã¡ã¤ã«ã®èªå·±å®çµ
|
---|
| 82 | 1.3.2 å¤éã¤ã³ã¯ã«ã¼ãã¸ã®å¯¾å¿
|
---|
| 83 | 1.3.3 ã¢ã»ã³ããªè¨èªã¨ã®ããããã¡ã¤ã«ã®å
|
---|
| 84 | ±ç¨
|
---|
| 85 | 1.4 ã¤ã³ã¯ã«ã¼ãè¨è¿°ã®æ¹æ³
|
---|
| 86 | 1.5 ã¯ãªãã£ã«ã«ã»ã¯ã·ã§ã³ã®åºå
|
---|
| 87 | ¥å¦çã®å®ç¾ã«é¢ããå¶ç´
|
---|
| 88 | ï¼ï¼ã·ã¹ãã æ§ç¯ç°å¢ã®ã¿ã¼ã²ããä¾åé¨
|
---|
| 89 | 2.1 ã·ã¹ãã ç¥ç§°ã»éçºç°å¢ç¥ç§°çã®è¨å®
|
---|
| 90 | 2.2 ä¾åé¨ãã£ã¬ã¯ããªã®è¨å®
|
---|
| 91 | 2.3 ã³ãã³ãåã®è¨å®
|
---|
| 92 | 2.4 ã³ã³ãã¤ã«ãªãã·ã§ã³ã¨ãªãã¸ã§ã¯ããã¡ã¤ã«ã®è¨å®
|
---|
| 93 | 2.5 ãªãã»ãããã¡ã¤ã«ã®çææ¹æ³
|
---|
| 94 | 2.6 ãªã³ã¯æ¹æ³ã®è¨å®
|
---|
| 95 | 2.7 ä¾åé¢ä¿ã®å®ç¾©ï¼ãªãã·ã§ã³ï¼
|
---|
| 96 | 2.8 ãã®ä»ã®è¨å®
|
---|
| 97 | ï¼ï¼TOPPERSå
|
---|
| 98 | ±éå®ç¾©ã®ã¿ã¼ã²ããä¾åé¨
|
---|
| 99 | 3.1 ã¿ã¼ã²ããèå¥ãã¯ã
|
---|
| 100 | 3.2 æ´æ°åã®æ大å¤ã»æå°å¤ã»ãããæ°
|
---|
| 101 | 3.3 ãµã¤ãºã®æå®ãããæ´æ°åï¼ãã®æ大å¤ã»æå°å¤ï¼æ´æ°å®æ°ãä½ããã¯ã
|
---|
| 102 | 3.4 ãµã¤ãºã®æå®ãããæµ®åå°æ°ç¹åï¼ãã®æ大å¤ã»æå°å¤ã®ãã¯ã
|
---|
| 103 | 3.5 ã³ã³ãã¤ã©ã®æ¡å¼µæ©è½ã®ããã®ãã¯ãå®ç¾©
|
---|
| 104 | 3.6 æ¨æºçãªå®ç¾©ã®ä¸æ¸ã
|
---|
| 105 | 3.7 ã¢ãµã¼ã·ã§ã³ã®ããã®å®ç¾©
|
---|
| 106 | ï¼ï¼ã·ã¹ãã ã¤ã³ã¿ãã§ã¼ã¹ã¬ã¤ã¤ï¼SILï¼ã®ã¿ã¼ã²ããä¾åé¨
|
---|
| 107 | 4.1 å
|
---|
| 108 | ¨å²è¾¼ã¿ããã¯ç¶æ
|
---|
| 109 | ã®ç®¡ç
|
---|
| 110 | 4.2 å¾®å°æéå¾
|
---|
| 111 | ã¡
|
---|
| 112 | 4.3 ããã»ããµã®ã¨ã³ãã£ã¢ã³
|
---|
| 113 | 4.4 ã¡ã¢ãªç©ºéã¢ã¯ã»ã¹é¢æ°
|
---|
| 114 | 4.5 I/O空éã¢ã¯ã»ã¹é¢æ°
|
---|
| 115 | ï¼ï¼ã«ã¼ãã«APIã®ã¿ã¼ã²ããä¾åé¨
|
---|
| 116 | 5.1 ã¿ã¼ã²ããå®ç¾©ã§ãµãã¼ãããæ©è½
|
---|
| 117 | 5.2 å²è¾¼ã¿åªå
|
---|
| 118 | 度ã®ç¯å²
|
---|
| 119 | 5.3 é«å解è½ã¿ã¤ãã®ã¿ã¤ãå¨æã¨ã«ã¦ã³ãå¤ã®é²ã¿å¹
|
---|
| 120 |
|
---|
| 121 | 5.4 ã¡ã¢ãªé å確ä¿ã®ããã®åå®ç¾©
|
---|
| 122 | 5.5 ããããã¿ã¼ã³ã®ãããæ°
|
---|
| 123 | 5.6 ã¡ã¢ãªé å確ä¿ã®ããã®ãã¯ã
|
---|
| 124 | 5.7 ãªã¼ãã©ã³ãã³ãã©æ©è½æ¡å¼µã®ããã®å®ç¾©ï¼ãªãã·ã§ã³ï¼
|
---|
| 125 | ï¼ï¼ã«ã¼ãã«å®è£
|
---|
| 126 | ã®ã¿ã¼ã²ããä¾åé¨
|
---|
| 127 | 6.1 ã«ã¼ãã«å®è£
|
---|
| 128 | ã®ã¿ã¼ã²ããä¾åé¨ã®å
|
---|
| 129 | ±éäºé
|
---|
| 130 |
|
---|
| 131 | 6.2 ãã¬ã¼ã¹ãã°æ©è½ã¸ã®å¯¾å¿
|
---|
| 132 | 6.3 ã·ã¹ãã ç¶æ
|
---|
| 133 | ã®ç®¡ç
|
---|
| 134 | 6.3.1 å
|
---|
| 135 | ¨å²è¾¼ã¿ããã¯ç¶æ
|
---|
| 136 | ã®ç®¡ç
|
---|
| 137 | 6.3.2 ã³ã³ããã¹ãã®ç®¡ç
|
---|
| 138 | 6.3.3 CPUããã¯ç¶æ
|
---|
| 139 | ã®ç®¡ç
|
---|
| 140 | 6.4 å²è¾¼ã¿ã«é¢é£ããã·ã¹ãã ç¶æ
|
---|
| 141 | ã®ç®¡ç
|
---|
| 142 | 6.4.1 å²è¾¼ã¿åªå
|
---|
| 143 | 度ãã¹ã¯ã®ç®¡ç
|
---|
| 144 | 6.4.2 å²è¾¼ã¿è¦æ±ç¦æ¢ãã©ã°ã®ç®¡ç
|
---|
| 145 | 6.4.3 å²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
|
---|
| 146 | 6.4.4 å²è¾¼ã¿è¦æ±ã®ããã¼ã
|
---|
| 147 | 6.5 ã¿ã¹ã¯ãã£ã¹ãããã£
|
---|
| 148 | 6.5.1 ã¿ã¹ã¯ã³ã³ããã¹ããããã¯ã¨ã¿ã¹ã¯åæåã³ã³ããã¹ããããã¯
|
---|
| 149 | 6.5.2 ãã£ã¹ãããã£æ¬ä½
|
---|
| 150 | 6.5.3 èªçºçãªãã£ã¹ããã
|
---|
| 151 | 6.5.4 ãã£ã¹ãããã£ã®åä½éå§
|
---|
| 152 | 6.5.5 ç¾å¨ã®ã³ã³ããã¹ããæ¨ã¦ã¦ãã£ã¹ããã
|
---|
| 153 | 6.5.6 ã¿ã¹ã¯ã®èµ·åæºå
|
---|
| 154 | 6.6 å²è¾¼ã¿ãã³ãã©
|
---|
| 155 | 6.6.1 å²è¾¼ã¿ãã³ãã©ã®åºå
|
---|
| 156 | ¥å£å¦ç
|
---|
| 157 | 6.6.2 å²è¾¼ã¿ãã³ãã©æ¯ã®åºå
|
---|
| 158 | ¥å£å¦çã®çæ
|
---|
| 159 | 6.6.3 å²è¾¼ã¿ãã³ãã©ã®è¨å®
|
---|
| 160 | 6.6.4 å²è¾¼ã¿è¦æ±ã©ã¤ã³ã®å±æ§ã®è¨å®
|
---|
| 161 | 6.6.5 å²è¾¼ã¿ç®¡çæ©è½ã®åæåå¦çã®å¤æ´
|
---|
| 162 | 6.6.6 ããã©ã«ãã®å²è¾¼ã¿ãã³ãã©
|
---|
| 163 | 6.6.7 ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿
|
---|
| 164 | 6.6.8 å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ã®çæ
|
---|
| 165 | 6.7 CPUä¾å¤ãã³ãã©ã¨CPUä¾å¤çºçæã®ã·ã¹ãã ç¶æ
|
---|
| 166 | ã®åç
|
---|
| 167 | §
|
---|
| 168 | 6.7.1 CPUä¾å¤ãã³ãã©ã®åºå
|
---|
| 169 | ¥å£å¦ç
|
---|
| 170 | 6.7.2 CPUä¾å¤ãã³ãã©ã®åºå
|
---|
| 171 | ¥å£å¦çã®çæ
|
---|
| 172 | 6.7.3 CPUä¾å¤ãã³ãã©ã®è¨å®
|
---|
| 173 | 6.7.4 CPUä¾å¤ç®¡çæ©è½ã®åæåå¦çã®å¤æ´
|
---|
| 174 | 6.7.5 ããã©ã«ãã®CPUä¾å¤ãã³ãã©
|
---|
| 175 | 6.7.6 CPUä¾å¤çºçæã®ã·ã¹ãã ç¶æ
|
---|
| 176 | ã®åç
|
---|
| 177 | §
|
---|
| 178 | 6.8 ã«ã¼ãã«ã®èµ·åã»çµäºã¨ã¹ã¿ãã¯é åãªã©
|
---|
| 179 | 6.9 ã«ã¼ãã«å
|
---|
| 180 | é¨ã®ãã¥ã¼ãã³ã°
|
---|
| 181 | 6.9.1 ãããããããµã¼ã
|
---|
| 182 | 6.9.2 ããããã£ã¼ã«ã
|
---|
| 183 | 6.10 ã«ã¼ãã«å®è£
|
---|
| 184 | ã«é¢ãããã®ä»ã®å®ç¾©
|
---|
| 185 | 6.10.1 ãªãã¸ã§ã¯ãå±æ§ã®æ¡å¼µ
|
---|
| 186 | 6.10.2 ã¨ã©ã¼ãã§ãã¯æ¹æ³ã®æå®
|
---|
| 187 | 6.10.3 éã¿ã¹ã¯ã³ã³ããã¹ãç¨ã®ã¹ã¿ãã¯é å
|
---|
| 188 | 6.10.4 空ã©ãã«ã®å®ç¾©
|
---|
| 189 | 6.11 ãã¬ã¼ã¹ãã°æ©è½ã«é¢ããè¨å®
|
---|
| 190 | 6.11.1 åå¾ã§ãããã¬ã¼ã¹ãã°ã®ç¨®é¡ã¨ãã¯ã
|
---|
| 191 | 6.11.2 ãã¬ã¼ã¹ãã°è¨é²ã®ãµã³ãã«ã³ã¼ã
|
---|
| 192 | 6.12 ã«ã¼ãã«å®è£
|
---|
| 193 | ã®ã¿ã¼ã²ããä¾åé¨ã®ããã®ãªãã¼ã è¨è¿°
|
---|
| 194 | 6.13 é«å解è½ã¿ã¤ããã©ã¤ã
|
---|
| 195 | 6.13.1 é«å解è½ã¿ã¤ããã©ã¤ãã®ãã¡ã¤ã«æ§æ
|
---|
| 196 | 6.13.2 é«å解è½ã¿ã¤ãã®æä½ã¨å²è¾¼ã¿å¦ç
|
---|
| 197 | 6.13.3 é«å解è½ã¿ã¤ããã©ã¤ãã®å®è£
|
---|
| 198 | ã¢ããã¼ã
|
---|
| 199 | 6.13.4 ã¿ã¤ã ãã£ãã¯ãç¨ããã¿ã¤ããã©ã¤ãã®å®è£
|
---|
| 200 |
|
---|
| 201 | 6.14 ãªã¼ãã©ã³ã¿ã¤ããã©ã¤ãï¼ãªãã·ã§ã³ï¼
|
---|
| 202 | 6.14.1 ãªã¼ãã©ã³ã¿ã¤ããã©ã¤ãã®ãã¡ã¤ã«æ§æ
|
---|
| 203 | 6.14.2 ãªã¼ãã©ã³ã¿ã¤ãã®æä½ã¨å²è¾¼ã¿å¦ç
|
---|
| 204 | 6.15 åçã¡ã¢ãªç®¡çï¼ãªãã·ã§ã³ï¼
|
---|
| 205 | 6.15.1 TLSFãç¨ããã¡ã¢ãªç®¡çã¢ã¸ã¥ã¼ã«ã®ä¾
|
---|
| 206 | 6.16 ã«ã¼ãã«å®è£
|
---|
| 207 | ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
|
---|
| 208 | ï¼ï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã¿è¨å®ãã¡ã¤ã«ã®ã¿ã¼ã²ããä¾åé¨
|
---|
| 209 | 7.1 è¨å®ãã¡ã¤ã«ã¨ã¿ã¼ã²ããä¾åé¨ã®ä½ç½®ä»ã
|
---|
| 210 | 7.2 ãã¹2ã®çæã¹ã¯ãªããã®ã¿ã¼ã²ããä¾åé¨
|
---|
| 211 | 7.2.1 ã¿ã¼ã²ããéä¾åé¨ãã¤ã³ã¯ã«ã¼ãããåã«å®ç¾©ãã¹ãå¤æ°
|
---|
| 212 | 7.2.2 ã¿ã¼ã²ããéä¾åé¨ã§å®ç¾©ãããå¤æ°
|
---|
| 213 | 7.3 ãã¹3ã®çæã¹ã¯ãªããã®ã¿ã¼ã²ããä¾åé¨
|
---|
| 214 | 7.3.1 ã¿ã¼ã²ããéä¾åé¨ãã¤ã³ã¯ã«ã¼ãããåã«å®ç¾©ãã¹ãå¤æ°
|
---|
| 215 | 7.3.2 ã¿ã¼ã²ããä¾åé¨ã§è¡ãã¹ãã¨ã©ã¼ãã§ãã¯
|
---|
| 216 | 7.4 cfg1_out.cã®ãªã³ã¯ã«å¿
|
---|
| 217 | è¦ãªã¹ã¿ãã®å®ç¾©ãã¡ã¤ã«
|
---|
| 218 | ï¼ï¼ã·ã¹ãã ãµã¼ãã¹çã®ã¿ã¼ã²ããä¾åé¨
|
---|
| 219 | 8.1 ã·ã¹ãã ãµã¼ãã¹ã®æ§æã¨ã¿ã¼ã²ããä¾åé¨
|
---|
| 220 | 8.2 ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã®ã¿ã¼ã²ããä¾åé¨
|
---|
| 221 | 8.2.1 ã¿ã¼ã²ããä¾åé¨ã®å®ç¾å½¢æ
|
---|
| 222 |
|
---|
| 223 | 8.2.2 ã¿ã¼ã²ããä¾åé¨ã®åãå£ï¼æä¾ãããµã¼ãã¹ï¼
|
---|
| 224 | 8.2.3 ã¿ã¼ã²ããä¾åé¨ã®å¼ã³å£ï¼ã³ã¼ã«ããã¯ï¼
|
---|
| 225 | 8.3 ä½ã¬ãã«åºå
|
---|
| 226 | 8.3.1 ä½ã¬ãã«åºåã®å®ç¾å½¢æ
|
---|
| 227 |
|
---|
| 228 | 8.3.2 ä½ã¬ãã«åºåã®åãå£ï¼æä¾ãããµã¼ãã¹ï¼
|
---|
| 229 | 8.4 ã¿ã¼ã²ããä¾åé¨ã®ã³ã³ãã¼ãã³ãè¨è¿°ãã¡ã¤ã«
|
---|
| 230 | 8.5 ã·ã¹ãã ãµã¼ãã¹ã®ã¿ã¼ã²ããä¾åå®ç¾©
|
---|
| 231 | 8.6 ãµã³ãã«ããã°ã©ã ã¨ãã¹ãããã°ã©ã ã®ã¿ã¼ã²ããä¾åå®ç¾©
|
---|
| 232 | ï¼ï¼ãã®ä»
|
---|
| 233 | 9.1 ããã¥ã¡ã³ã
|
---|
| 234 | 9.2 ããã±ã¼ã¸è¨è¿°ãã¡ã¤ã«
|
---|
| 235 | ï¼ï¼ï¼ãªãã¡ã¬ã³ã¹
|
---|
| 236 | 10.1 ã¿ã¼ã²ããä¾åé¨ã®ãã¡ã¤ã«ä¸è¦§
|
---|
| 237 |
|
---|
| 238 |
|
---|
| 239 | ï¼ï¼å
|
---|
| 240 | ±éäºé
|
---|
| 241 |
|
---|
| 242 |
|
---|
| 243 | 1.1 ã¿ã¼ã²ããä¾åé¨ã®æ§æ
|
---|
| 244 |
|
---|
| 245 | ã¿ã¼ã²ããä¾åé¨ã¯ï¼targetãã£ã¬ã¯ããªã®ä¸ã«ï¼ã¿ã¼ã²ãããã¼ãã¦ã§ã¢ã¨
|
---|
| 246 | éçºç°å¢ã®çµã¿åããæ¯ã«ç¨æããï¼ãã ãï¼ã¿ã¼ã²ããä¾åé¨ã®åå©ç¨æ§ã
|
---|
| 247 | èæ
|
---|
| 248 | ®ãï¼éçºç°å¢ï¼ããã»ããµã³ã¢ï¼ãããã®ã¿ã«ä¾åããé¨åãï¼éçºç°å¢
|
---|
| 249 | ä¾åé¨ï¼ããã»ããµã³ã¢ä¾åé¨ï¼ãããä¾åé¨ã¨ããå½¢ã§åãåãã¦ãããï¼
|
---|
| 250 | åãåãæ¹ã¯ï¼ã¿ã¼ã²ããä¾åé¨ã®å®è£
|
---|
| 251 | ã«ä»»ããã¦ããï¼éçºç°å¢ä¾åé¨ï¼ã
|
---|
| 252 | ãã»ããµã³ã¢ä¾åé¨ï¼ãããä¾åé¨ã¯ï¼archãã£ã¬ã¯ããªã®ä¸ã«ç½®ãï¼
|
---|
| 253 |
|
---|
| 254 | ASP3ã«ã¼ãã«ã®ã¿ã¼ã²ããä¾åé¨ã¯ï¼ã·ã¹ãã æ§ç¯ç°å¢ã®ã¿ã¼ã²ããä¾åé¨ï¼
|
---|
| 255 | TOPPERSå
|
---|
| 256 | ±éå®ç¾©ã®ã¿ã¼ã²ããä¾åé¨ï¼ã·ã¹ãã ã¤ã³ã¿ãã§ã¼ã¹ã¬ã¤ã¤ï¼SILï¼
|
---|
| 257 | ã®ã¿ã¼ã²ããä¾åé¨ï¼ã«ã¼ãã«APIã®ã¿ã¼ã²ããä¾åé¨ï¼ã«ã¼ãã«å®è£
|
---|
| 258 | ã®ã¿ã¼ã²ã
|
---|
| 259 | ãä¾åé¨ï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã¿è¨å®ãã¡ã¤ã«ã®ã¿ã¼ã²ããä¾åé¨ãå«ãï¼ï¼ã·
|
---|
| 260 | ã¹ãã ãµã¼ãã¹çã®ã¿ã¼ã²ããä¾åé¨ï¼ã¿ã¼ã²ããä¾åé¨ã«é¢ããããã¥ã¡ã³
|
---|
| 261 | ãã§æ§æãããï¼
|
---|
| 262 |
|
---|
| 263 | 1.1.1 ã¿ã¼ã²ããç¥ç§°ã¨ã¿ã¼ã²ããä¾åé¨ãã£ã¬ã¯ããª
|
---|
| 264 |
|
---|
| 265 | æ°ããã¿ã¼ã²ããä¾åé¨ãä½æããæã¯ï¼ã¾ãï¼ã¿ã¼ã²ããç¥ç§°ãå®ããï¼ã¿ã¼
|
---|
| 266 | ã²ããç¥ç§°ã¯ï¼ã·ã¹ãã ç¥ç§°ã¨éçºç°å¢ç¥ç§°ã"_"ã§é£çµãããã®ã¨ããï¼ã·ã¹
|
---|
| 267 | ãã ç¥ç§°ã«ç¨ããæåã¯è±å°æåã¨æ°åã¨"_"ã«ï¼éçºç°å¢ç¥ç§°ã«ç¨ããæåã¯
|
---|
| 268 | è±å°æåã¨æ°åã«éå®ããï¼GNUéçºç°å¢ã®éçºç°å¢ç¥ç§°ã¯ï¼"gcc"ã¨ããï¼ä¾
|
---|
| 269 | ãã°ï¼ã·ã¹ãã ç¥ç§°ã"ct11mpcore"ã§ï¼GNUéçºç°å¢ãç¨ããå ´åã«ã¯ï¼ã¿ã¼ã²ã
|
---|
| 270 | ãç¥ç§°ã¯"ct11mpcore_gcc"ã¨ãªãï¼
|
---|
| 271 |
|
---|
| 272 | ã¿ã¼ã²ããä¾åé¨ã®ãã¡ã¤ã«ãç½®ãããã«ï¼targetãã£ã¬ã¯ããªã®ä¸ã«ï¼ã¿ã¼
|
---|
| 273 | ã²ããç¥ç§°ãå称ã¨ãããã£ã¬ã¯ããªãä½æããï¼ãããã¿ã¼ã²ããä¾åé¨ãã£
|
---|
| 274 | ã¬ã¯ããªã¨å¼ã¶ï¼
|
---|
| 275 |
|
---|
| 276 | 1.1.2 éçºç°å¢ä¾åé¨ãã£ã¬ã¯ããª
|
---|
| 277 |
|
---|
| 278 | ã¿ã¼ã²ããä¾åé¨ããéçºç°å¢ä¾åé¨ãåãåããå ´åã«ã¯ï¼archãã£ã¬ã¯ã
|
---|
| 279 | ãªã®ä¸ã«ï¼éçºç°å¢ç¥ç§°ãå称ã¨ãããã£ã¬ã¯ããªãä½æããï¼ãããéçºç°
|
---|
| 280 | å¢ä¾åé¨ãã£ã¬ã¯ããªã¨å¼ã¶ï¼
|
---|
| 281 |
|
---|
| 282 | 1.1.3 ããã»ããµã³ã¢ä¾åé¨ãã£ã¬ã¯ããª
|
---|
| 283 |
|
---|
| 284 | ã¿ã¼ã²ããä¾åé¨ããããã»ããµã³ã¢ä¾åé¨ãåãåããå ´åã«ã¯ï¼ã¾ãï¼ã
|
---|
| 285 | ãã»ããµã³ã¢ç¥ç§°ãå®ããï¼ããã»ããµã³ã¢ç¥ç§°ã«ç¨ããæåã¯ï¼è±å°æåã¨
|
---|
| 286 | æ°åã¨"_"ã«éå®ããï¼
|
---|
| 287 |
|
---|
| 288 | ããã»ããµã³ã¢ä¾åé¨ã®ãã¡ã¤ã«ãç½®ãããã«ï¼archãã£ã¬ã¯ããªã®ä¸ã«ï¼ã
|
---|
| 289 | ãã»ããµã³ã¢ç¥ç§°ã¨éçºç°å¢ç¥ç§°ã"_"ã§é£çµãããã®ãå称ã¨ãããã£ã¬ã¯ã
|
---|
| 290 | ãªãä½æããï¼ä¾ãã°ï¼ããã»ããµã³ã¢ç¥ç§°ã"arm"ã§ï¼GNUéçºç°å¢ãç¨ãã
|
---|
| 291 | å ´åã«ã¯ï¼ãã£ã¬ã¯ããªã®å称ã¯"arm_gcc"ã¨ãªãï¼
|
---|
| 292 |
|
---|
| 293 | ãããä¾åé¨ãã£ã¬ã¯ããªãããã»ããµã³ã¢ä¾åé¨ãã£ã¬ã¯ããªã®ä¸ã«ç½®ãå ´
|
---|
| 294 | åï¼ã1.1.4 ãããä¾åé¨ãã£ã¬ã¯ããªãã®ç¯ã®(1)ã®å ´åï¼ãé¤ãã¦ã¯ï¼ãã
|
---|
| 295 | ãããã»ããµã³ã¢ä¾åé¨ãã£ã¬ã¯ããªã¨å¼ã¶ï¼
|
---|
| 296 |
|
---|
| 297 | 1.1.4 ãããä¾åé¨ãã£ã¬ã¯ããª
|
---|
| 298 |
|
---|
| 299 | ã¿ã¼ã²ããä¾åé¨ãããããä¾åé¨ãåãåããå ´åã«ã¯ï¼ã¾ãï¼ãããç¥ç§°
|
---|
| 300 | ãå®ããï¼ãããç¥ç§°ã«ç¨ããæåã¯ï¼è±å°æåã¨æ°åã¨"_"ã«éå®ããï¼
|
---|
| 301 |
|
---|
| 302 | ãããä¾åé¨ã®ãã¡ã¤ã«ãç½®ããã£ã¬ã¯ããªï¼ããããããä¾åé¨ãã£ã¬ã¯ã
|
---|
| 303 | ãªã¨å¼ã¶ï¼ã¯ï¼ãã®ç½®ãå ´æã«ãã£ã¦ï¼æ¬¡ã®2ã¤æ¹æ³ãããï¼
|
---|
| 304 |
|
---|
| 305 | (1) ããã»ããµã³ã¢ä¾åé¨ãã£ã¬ã¯ããªã®ä¸ã«ç½®ã
|
---|
| 306 |
|
---|
| 307 | ãããä¾åé¨ãã£ã¬ã¯ããªãï¼ããã»ããµã³ã¢ä¾åé¨ãã£ã¬ã¯ããªã®ä¸ã«ç½®ã
|
---|
| 308 | å ´åã«ã¯ï¼ãããç¥ç§°ããã£ã¬ã¯ããªã®å称ã¨ããï¼
|
---|
| 309 |
|
---|
| 310 | ãã®æ¹æ³ãåãå ´åï¼ããã»ããµã³ã¢ã®ã¿ã«ä¾åãããã¡ã¤ã«ã¯ï¼ããã»ããµ
|
---|
| 311 | ã³ã¢ä¾åé¨ãã£ã¬ã¯ããªã®ç´ä¸ã«ã¯ç½®ããï¼ããã»ããµã³ã¢ä¾åé¨ãã£ã¬ã¯ã
|
---|
| 312 | ãªã®ä¸ã«"common"ã¨ããå称ã®ãã£ã¬ã¯ããªãä½æãï¼ãã®ä¸ã«ç½®ãï¼ãã®å ´
|
---|
| 313 | åã«ã¯ï¼ããã»ããµã³ã¢ã®ã¿ã«ä¾åãããã¡ã¤ã«ãç½®ããã£ã¬ã¯ããªãï¼ãã
|
---|
| 314 | ã»ããµã³ã¢ä¾åé¨ãã£ã¬ã¯ããªã¨å¼ã¶ï¼
|
---|
| 315 |
|
---|
| 316 | ä¾ãã°ï¼ããã»ããµã³ã¢ç¥ç§°ã"arm"ï¼ãããç¥ç§°ã"mpcore"ã§ï¼GNUéçºç°å¢
|
---|
| 317 | ãç¨ããå ´åã«ã¯ï¼ããã»ããµã³ã¢ä¾åé¨ãã£ã¬ã¯ããªã¯
|
---|
| 318 | arch/arm_gcc/commonï¼ãããä¾åé¨ãã£ã¬ã¯ããªã¯arch/arm_gcc/mpcoreã¨ãª
|
---|
| 319 | ãï¼
|
---|
| 320 |
|
---|
| 321 | (2) archãã£ã¬ã¯ããªã®ç´ä¸ã«ç½®ã
|
---|
| 322 |
|
---|
| 323 | ãããä¾åé¨ãã£ã¬ã¯ããªãï¼archãã£ã¬ã¯ããªã®ç´ä¸ã«ç½®ãå ´åã«ã¯ï¼ãã
|
---|
| 324 | ãç¥ç§°ã¨éçºç°å¢ç¥ç§°ã"_"ã§é£çµãããã®ãï¼ãã£ã¬ã¯ããªã®å称ã¨ããï¼
|
---|
| 325 |
|
---|
| 326 | 1.2 ååã®è¡çªã®é²æ¢
|
---|
| 327 |
|
---|
| 328 | TOPPERSããã¸ã§ã¯ããæä¾ããã½ããã¦ã§ã¢ã®ããã«ï¼TOPPERS_ã§å§ã¾ãã·ã³
|
---|
| 329 | ãã«ãäºç´ãã¦ããï¼ããããã¡ã¤ã«ä¸ã«è¨è¿°ããï¼ã¢ããªã±ã¼ã·ã§ã³ããå
|
---|
| 330 | ç
|
---|
| 331 | §ã§ããå
|
---|
| 332 | é¨ã·ã³ãã«ã¯ï¼TOPPERS_ã§å§ã¾ãååã¨ããï¼
|
---|
| 333 |
|
---|
| 334 | ã¾ãï¼_kernel_ã§å§ã¾ãã·ã³ãã«ã¯ï¼ã«ã¼ãã«å
|
---|
| 335 | é¨ã®å¤æ°ãé¢æ°ã®ããã«äºç´
|
---|
| 336 | ãã¦ããï¼ã«ã¼ãã«å
|
---|
| 337 | é¨ã®å¤æ°ãé¢æ°ã®ååã§ï¼ãªã³ã¯æã«ã¢ããªã±ã¼ã·ã§ã³
|
---|
| 338 | ã®ååã¨è¡çªããå¯è½æ§ããããã®ã¯ï¼ãªãã¼ã è¨è¿°ã«ãªã¹ãã¢ãããããã¨
|
---|
| 339 | ã§ï¼ã³ã³ãã¤ã«æã«_kernel_ã§å§ã¾ãååã«ç½®ãæãããã¨ã¨ãã¦ããï¼
|
---|
| 340 |
|
---|
| 341 | 1.3 ããããã¡ã¤ã«ã®è¨è¿°ã«ã¼ã«
|
---|
| 342 |
|
---|
| 343 | ããããã¡ã¤ã«ã¯ï¼ãã®ç¯ã®ã«ã¼ã«ã«å¾ã£ã¦è¨è¿°ããªããã°ãªããªãï¼ãªãï¼
|
---|
| 344 | ãã®ç¯ã®è¨è¿°å
|
---|
| 345 | 容ã¯ï¼æ¬æ¥ã¯ã³ã¼ãã£ã³ã°ã«ã¼ã«ã«å«ããã¹ãå
|
---|
| 346 | 容ã§ããï¼
|
---|
| 347 |
|
---|
| 348 | 1.3.1 ããããã¡ã¤ã«ã®èªå·±å®çµ
|
---|
| 349 |
|
---|
| 350 | ããããã¡ã¤ã«ã¯ï¼èªå·±å®çµããããã«ï¼å¿
|
---|
| 351 | è¦ãªä»ã®ããããã¡ã¤ã«ãã¤ã³ã¯
|
---|
| 352 | ã«ã¼ãããã®ãååã¨ããï¼è¨ãæããã¨ï¼ããããã¡ã¤ã«ãã¤ã³ã¯ã«ã¼ãã
|
---|
| 353 | ãåã«ï¼ä»ã®ããããã¡ã¤ã«ãã¤ã³ã¯ã«ã¼ããã¦ãããã¨ãä»®å®ãã¦ã¯ãªããª
|
---|
| 354 | ãï¼
|
---|
| 355 |
|
---|
| 356 | 1.3.2 å¤éã¤ã³ã¯ã«ã¼ãã¸ã®å¯¾å¿
|
---|
| 357 |
|
---|
| 358 | ããããã¡ã¤ã«ã«ã¯ï¼å¤éã«ã¤ã³ã¯ã«ã¼ãããã¦ãåé¡ãªãããã«ããããã®
|
---|
| 359 | æ¡ä»¶ã³ã³ãã¤ã«è¨è¿°ãå«ãããã®ã¨ããï¼ä¾ãã°ï¼target_kernel_impl.hã§ã
|
---|
| 360 | ãã°ï¼ãã¡ã¤ã«ã®å
|
---|
| 361 | é ã«
|
---|
| 362 |
|
---|
| 363 | #ifndef TOPPERS_TARGET_KERNEL_IMPL_H
|
---|
| 364 | #define TOPPERS_TARGET_KERNEL_IMPL_H
|
---|
| 365 |
|
---|
| 366 | ãï¼ãã¡ã¤ã«ã®æ«å°¾ã«
|
---|
| 367 |
|
---|
| 368 | #endif /* TOPPERS_TARGET_KERNEL_IMPL_H */
|
---|
| 369 |
|
---|
| 370 | ãè¨è¿°ããï¼
|
---|
| 371 |
|
---|
| 372 | 1.3.3 ã¢ã»ã³ããªè¨èªã¨ã®ããããã¡ã¤ã«ã®å
|
---|
| 373 | ±ç¨
|
---|
| 374 |
|
---|
| 375 | ããããã¡ã¤ã«ã®ä¸ã§ï¼ã¢ã»ã³ããªè¨èªã®ã½ã¼ã¹ãã¡ã¤ã«ãããã¤ã³ã¯ã«ã¼ã
|
---|
| 376 | ãããå¯è½æ§ã®ãããã®ã¯ï¼æ¬¡ã®ã«ã¼ã«ã«å¾ã£ã¦è¨è¿°ãããã®ã¨ããï¼
|
---|
| 377 |
|
---|
| 378 | ã»TOPPERS_MACRO_ONLYããã¯ãå®ç¾©ããã¦ããå ´åã«ã¯ï¼ã¢ã»ã³ããªè¨èªã§ã¯
|
---|
| 379 | ã解éã§ããªãè¨è¿°ï¼ãã¯ãå®ç¾©ä»¥å¤ã®è¨è¿°ï¼ãé¤ãããã«è¨è¿°ããï¼
|
---|
| 380 |
|
---|
| 381 | ã»ç¬¦å·ç¡ãæ´æ°åã®å®æ°å¤ã¯ï¼UINT_CãULONG_Cãªã©ã®æ´æ°å®æ°ãä½ãããã®ã
|
---|
| 382 | ãã¯ããç¨ãã¦è¨è¿°ããï¼ãã ãï¼ã¢ã»ã³ããªè¨èªã®ã½ã¼ã¹ãã¡ã¤ã«ãããã¤
|
---|
| 383 | ãã³ã¯ã«ã¼ãããããã¡ã¤ã«ä¸ã§ãã£ã¦ãï¼Cè¨èªã®ã¿ã§ç¨ããå®æ°ã¯ï¼ããã
|
---|
| 384 | ãã®ãã¯ãã使ã£ã¦è¨è¿°ããå¿
|
---|
| 385 | è¦ã¯ãªãï¼
|
---|
| 386 |
|
---|
| 387 | ã»ã¢ã»ã³ããªè¨èªãããç¨ããå®æ°ã®å®ç¾©ä¸ã«åãã£ã¹ããç¨ããå ´åã«ã¯ï¼
|
---|
| 388 | ãCASTãã¯ããç¨ãã¦è¨è¿°ããï¼
|
---|
| 389 |
|
---|
| 390 | ã¢ã»ã³ããªè¨èªããããããã¡ã¤ã«ãã¤ã³ã¯ã«ã¼ãããéã«ã¯ï¼å¿
|
---|
| 391 | è¦ã«å¿ãã¦ï¼
|
---|
| 392 | TOPPERS_MACRO_ONLYï¼UINT_Cï¼ULONG_Cï¼CASTããã¯ãå®ç¾©ãã¦ããï¼ã¤ã³ã¯ã«ã¼
|
---|
| 393 | ãããªããã°ãªããªãï¼
|
---|
| 394 |
|
---|
| 395 | 1.4 ã¤ã³ã¯ã«ã¼ãè¨è¿°ã®æ¹æ³
|
---|
| 396 |
|
---|
| 397 | éçºç°å¢ã§ç¨æããã¦ããæ¨æºããããã¡ã¤ã«ããã³includeãã£ã¬ã¯ããªä¸ã®
|
---|
| 398 | æ¨æºããããã¡ã¤ã«ã¯ï¼ã#include <...>ãã«ããã¤ã³ã¯ã«ã¼ãããï¼
|
---|
| 399 |
|
---|
| 400 | ãã®ä»ã®ããããã¡ã¤ã«ã¯ï¼ã#include "..."ãã«ããã¤ã³ã¯ã«ã¼ãããï¼ãã
|
---|
| 401 | ããã¡ã¤ã«ãï¼ã«ã¬ã³ããã£ã¬ã¯ããªãã¤ã³ã¯ã«ã¼ããããã¡ã¤ã«ã¨åããã£
|
---|
| 402 | ã¬ã¯ããªä»¥å¤ã®ãã£ã¬ã¯ããªã«ç½®ããã¦ããå ´åã«ã¯ï¼æ¬¡ã®ããã«ãã¹æå®ã
|
---|
| 403 | è¡ãï¼
|
---|
| 404 |
|
---|
| 405 | ã»ã¿ã¼ã²ããä¾åé¨ãã£ã¬ã¯ããªï¼éçºç°å¢ä¾åé¨ãã£ã¬ã¯ããªï¼ããã»ããµ
|
---|
| 406 | ãã³ã¢ä¾åé¨ãã£ã¬ã¯ããªï¼ãããä¾åé¨ãã£ã¬ã¯ããªã«ç½®ããã¦ããå ´åã¯ï¼
|
---|
| 407 | ããã¹æå®ãè¡ããï¼ãã¡ã¤ã«åã®ã¿ãè¨è¿°ããï¼
|
---|
| 408 | ä¾ï¼#include "target_kernel_impl.h"
|
---|
| 409 | ä¾ï¼#include "core_kernel_impl.h"
|
---|
| 410 | ä¾ï¼#include "tool_stddef.h"
|
---|
| 411 |
|
---|
| 412 | ãããã¯ï¼ã³ã³ãã¤ã©ã«ä¸ãã-Iãªãã·ã§ã³ã«ããï¼ã¤ã³ã¯ã«ã¼ããããã¡ã¤
|
---|
| 413 | ãã«ãå¶å¾¡ã§ããããã«ããããã§ããï¼
|
---|
| 414 |
|
---|
| 415 | ã»ãã®ä»ã®ãã£ã¬ã¯ããªã«ç½®ããã¦ããå ´åã«ã¯ï¼ã½ã¼ã¹ããã°ã©ã ã®ã«ã¼ã
|
---|
| 416 | ããã£ã¬ã¯ããªï¼configure.rbãç½®ããã¦ãããã£ã¬ã¯ããªï¼ããã®ç¸å¯¾ãã¹
|
---|
| 417 | ãã§è¨è¿°ããï¼
|
---|
| 418 | ä¾ï¼#include "arch/tracelog/trace_log.h"
|
---|
| 419 |
|
---|
| 420 | ã»ã«ã¼ãã«ãæ§æãããã¡ã¤ã«ããï¼kernelãã£ã¬ã¯ããªä¸ã®ããããã¡ã¤ã«
|
---|
| 421 | ããã¤ã³ã¯ã«ã¼ãããå ´åã¯ï¼ãã¹æå®ãè¡ããï¼ãã¡ã¤ã«åã®ã¿ãè¨è¿°ããï¼
|
---|
| 422 | ä¾ï¼#include "kernel_impl.h"
|
---|
| 423 |
|
---|
| 424 | 1.5 ã¯ãªãã£ã«ã«ã»ã¯ã·ã§ã³ã®åºå
|
---|
| 425 | ¥å¦çã®å®ç¾ã«é¢ããå¶ç´
|
---|
| 426 |
|
---|
| 427 | ã«ã¼ãã«å
|
---|
| 428 | ã§ç¨ããã¯ãªãã£ã«ã«ã»ã¯ã·ã§ã³ã®åºå
|
---|
| 429 | ¥å¦çãå®ç¾ããå ´åã«ã¯ï¼
|
---|
| 430 | 次ã®2ã¤ã®æ¡ä»¶ãæºããããã«å®è£
|
---|
| 431 | ããªããã°ãªããªãï¼
|
---|
| 432 |
|
---|
| 433 | (1-5-1) åºå
|
---|
| 434 | ¥å¦çããæããæç¹ã§ã¯ï¼å²è¾¼ã¿ã®ç¦æ¢ï¼è¨±å¯ãå®äºãã¦ããªã
|
---|
| 435 | ãã°ãªããªãï¼ä¾ãã°ï¼å²è¾¼ã¿ç¦æ¢ï¼è¨±å¯å½ä»¤ãå®è¡ãã¦ããå®éã«å²è¾¼ã¿ã
|
---|
| 436 | ç¦æ¢ï¼è¨±å¯ãããã¾ã§ä½å½ä»¤ãé
|
---|
| 437 | 延ããããã»ããµã®å ´åã«ã¯ï¼åºå
|
---|
| 438 | ¥å¦çã®ä¸
|
---|
| 439 | ã«NOPå½ä»¤ãå
|
---|
| 440 | ¥ãããªã©ã®æ¹æ³ã§ï¼åºå
|
---|
| 441 | ¥å¦çãæããæç¹ã§ã¯ï¼å²è¾¼ã¿ãç¦æ¢ï¼
|
---|
| 442 | 許å¯ãããç¶æ
|
---|
| 443 | ã«ãªã£ã¦ãããã¨ãä¿è¨¼ããªããã°ãªããªãï¼
|
---|
| 444 |
|
---|
| 445 | (1-5-2) ã¡ã¢ãªä¸ã®ãã¼ã¿æ§é ãæ¸ãå¤ããå¯è½æ§ããããã¨ãï¼ä½ããã®æ¹
|
---|
| 446 | æ³ã§ã³ã³ãã¤ã©ã«ç¥ãããªããã°ãªããªãï¼GNUéçºç°å¢ã§ã¯ï¼æ¬¡ã®ããããã®
|
---|
| 447 | æ¹æ³ã§ãã®å¶ç´ãæºãããã¨ãã§ããï¼
|
---|
| 448 |
|
---|
| 449 | (a) ã¯ãªãã£ã«ã«ã»ã¯ã·ã§ã³ã®åºå
|
---|
| 450 | ¥å¦çã®å
|
---|
| 451 | ¨ä½ã¾ãã¯åºå
|
---|
| 452 | ¥å¦çã®æ¬è³ªçãªé¨å
|
---|
| 453 | ï¼å
|
---|
| 454 | ·ä½çã«ã¯ï¼å²è¾¼ã¿ç¦æ¢ï¼è¨±å¯ããå¦çï¼ãï¼ã¤ã³ã©ã¤ã³ã§ãªãï¼é常
|
---|
| 455 | ã®é¢æ°ã«ããå®ç¾ããï¼
|
---|
| 456 |
|
---|
| 457 | (b) ã¯ãªãã£ã«ã«ã»ã¯ã·ã§ã³ã®åºå
|
---|
| 458 | ¥å¦çã®æ¬è³ªçãªé¨åãã¤ã³ã©ã¤ã³ã¢ã»ã³ã
|
---|
| 459 | ã©ã«ãã£ã¦å®ç¾ãã¦ããå ´åã«ã¯ï¼ãã®ã¤ã³ã©ã¤ã³ã¢ã»ã³ãã©ã®clobberå¤
|
---|
| 460 | æ°ãªã¹ãã«"memory"ã追å ããï¼
|
---|
| 461 |
|
---|
| 462 | (c) ã¯ãªãã£ã«ã«ã»ã¯ã·ã§ã³ã®åºå
|
---|
| 463 | ¥å¦çã®æ¬è³ªçãªé¨åãï¼ãã¯ããã¤ã³ã©ã¤
|
---|
| 464 | ã³é¢æ°å¼åºãã§å®ç¾ãã¦ããå ´åã«ã¯ï¼ã¯ãªãã£ã«ã«ã»ã¯ã·ã§ã³ã«å
|
---|
| 465 | ¥ãå¦
|
---|
| 466 | çã®æå¾ã¨åºãå¦çã®å
|
---|
| 467 | é ã«ï¼Asm("":::"memory")ã¨ããè¨è¿°ãå
|
---|
| 468 | ¥ããï¼
|
---|
| 469 |
|
---|
| 470 | ãã®ãããªå¶ç´ãè¨ããçç±ã«ã¤ãã¦ã¯ï¼ãTOPPERS/ASP3ã«ã¼ãã« è¨è¨ã¡ã¢ã
|
---|
| 471 | ã®ãã«ã¼ãã«ã®ãã¼ã¿æ§é ã«å¯¾ããvolatile宣è¨ã«ã¤ãã¦ãã®ç¯ãåç
|
---|
| 472 | §ããã
|
---|
| 473 | ã¨ï¼
|
---|
| 474 |
|
---|
| 475 |
|
---|
| 476 | ï¼ï¼ã·ã¹ãã æ§ç¯ç°å¢ã®ã¿ã¼ã²ããä¾åé¨
|
---|
| 477 |
|
---|
| 478 | ãã®ç« ã®èª¬æã¯ï¼GNUéçºç°å¢ï¼GCCï¼GASï¼BINUTILSï¼GNU Makeï¼ãç¨ãããã¨
|
---|
| 479 | ãæ³å®ãã¦è¨è¿°ãã¦ããï¼ãã以å¤ã®éçºç°å¢ãç¨ããå ´åã«ã¯ï¼éçºç°å¢ã«
|
---|
| 480 | ãããã¦ä¿®æ£ããå¿
|
---|
| 481 | è¦ãããï¼
|
---|
| 482 |
|
---|
| 483 | GNUéçºç°å¢ç¨ã®ã·ã¹ãã æ§ç¯ç°å¢ã¯ï¼ãµã³ãã«ã®Makefileï¼sample/Makefileï¼ï¼
|
---|
| 484 | ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã¹ã¯ãªããï¼configure.rbï¼ã§æ§æãããï¼
|
---|
| 485 |
|
---|
| 486 | GNUéçºç°å¢ä»¥å¤ã®éçºç°å¢ãç¨ããå ´åã«ã¯ï¼ãããã®ãã¡ã¤ã«ãï¼ãã®éçº
|
---|
| 487 | ç°å¢ç¨ã«ç¨æããå¿
|
---|
| 488 | è¦ãããå ´åãããï¼ãã®å ´åã«ã¯ï¼ãããã®ãã¡ã¤ã«ãï¼
|
---|
| 489 | ã¿ã¼ã²ããä¾åé¨ãã£ã¬ã¯ããªãéçºç°å¢ä¾åé¨ãã£ã¬ã¯ããªã«ç½®ããã®ã¨ã
|
---|
| 490 | ãï¼ã¾ãï¼éçºç°å¢ç¨ã®ããã¸ã§ã¯ããã¡ã¤ã«ãå¿
|
---|
| 491 | è¦ãªå ´åã«ã¯ï¼ã¿ã¼ã²ãã
|
---|
| 492 | ä¾åé¨ãã£ã¬ã¯ããªã«ç½®ããã®ã¨ããï¼
|
---|
| 493 |
|
---|
| 494 | ãµã³ãã«ã®Makefileã¯ï¼ã¿ã¼ã²ããä¾åé¨ãã£ã¬ã¯ããªã®Makefile.targetãã¤
|
---|
| 495 | ã³ã¯ã«ã¼ãããï¼Makefileã®ã¿ã¼ã²ããä¾åé¨ã¯ï¼ã¿ã¼ã²ããä¾åé¨ãã£ã¬ã¯
|
---|
| 496 | ããªã®Makefile.targetã¾ãã¯ããããã¤ã³ã¯ã«ã¼ãããããã¡ã¤ã«ï¼éçºç°å¢
|
---|
| 497 | ä¾åé¨ï¼ããã»ããµã³ã¢ä¾åé¨ï¼ãããä¾åé¨ã§ç¨æããããã¡ã¤ã«ãªã©ï¼ã«
|
---|
| 498 | å«ããï¼ä»¥ä¸ã§ã¯ï¼Makefileã®ã¿ã¼ã²ããä¾åé¨ã«è¨è¿°ãã¹ãå
|
---|
| 499 | 容ã«ã¤ãã¦èª¬
|
---|
| 500 | æããï¼
|
---|
| 501 |
|
---|
| 502 | 2.1 ã·ã¹ãã ç¥ç§°ã»éçºç°å¢ç¥ç§°çã®è¨å®
|
---|
| 503 |
|
---|
| 504 | ã·ã¹ãã ç¥ç§°ï¼éçºç°å¢ç¥ç§°ï¼ããã»ããµã³ã¢ç¥ç§°ï¼ãããç¥ç§°ãè¨å®ããã
|
---|
| 505 | ãã«ï¼Makefileã®ã¿ã¼ã²ããä¾åé¨ã§æ¬¡ã®å¤æ°ãå®ç¾©ããï¼ãªãï¼ã¿ã¼ã²ãã
|
---|
| 506 | ç¥ç§°ã¯ï¼ã¿ã¼ã²ããéä¾åã®Makefileã«ããã¦ï¼å¤æ°TARGETã«å®ç¾©ããã¦ãã
|
---|
| 507 | ãã¨ãæ³å®ããï¼
|
---|
| 508 |
|
---|
| 509 | (2-1-1) SYS ã·ã¹ãã ç¥ç§°
|
---|
| 510 |
|
---|
| 511 | ã·ã¹ãã ç¥ç§°ã«å®ç¾©ããï¼
|
---|
| 512 |
|
---|
| 513 | (2-1-2) TOOL éçºç°å¢ç¥ç§°
|
---|
| 514 |
|
---|
| 515 | éçºç°å¢ä¾åé¨ãç¨ããå ´åã«ã¯ï¼éçºç°å¢ç¥ç§°ã«å®ç¾©ããï¼GNUéçºç°å¢ãç¨
|
---|
| 516 | ããå ´åã«ã¯ï¼gccã«å®ç¾©ããï¼
|
---|
| 517 |
|
---|
| 518 | (2-1-3) CORE ããã»ããµã³ã¢ç¥ç§°
|
---|
| 519 | (2-1-4) CHIP ãããç¥ç§°
|
---|
| 520 |
|
---|
| 521 | ããã»ããµã³ã¢ä¾åé¨ï¼ãããä¾åé¨ãç¨ããå ´åã«ã¯ï¼ããããï¼ããã»ã
|
---|
| 522 | ãµã³ã¢ç¥ç§°ï¼ãããç¥ç§°ã«å®ç¾©ããï¼
|
---|
| 523 |
|
---|
| 524 | 2.2 ä¾åé¨ãã£ã¬ã¯ããªã®è¨å®
|
---|
| 525 |
|
---|
| 526 | éçºç°å¢ä¾åé¨ãã£ã¬ã¯ããªï¼ããã»ããµã³ã¢ä¾åé¨ãã£ã¬ã¯ããªï¼ãããä¾
|
---|
| 527 | åé¨ãã£ã¬ã¯ããªãè¨å®ããããã«ï¼Makefileã®ã¿ã¼ã²ããä¾åé¨ã§æ¬¡ã®å¤æ°
|
---|
| 528 | ãå®ç¾©ããï¼
|
---|
| 529 |
|
---|
| 530 | ãªãï¼ã¿ã¼ã²ããä¾åé¨ãã£ã¬ã¯ããªã¯ï¼ã¿ã¼ã²ããéä¾åã®Makefileã«ãã
|
---|
| 531 | ã¦ï¼å¤æ°TARGETDIRã«å®ç¾©ããã¦ãããã¨ãæ³å®ããï¼ã¾ãï¼ã½ã¼ã¹ããã°ã©ã
|
---|
| 532 | ã®ã«ã¼ããã£ã¬ã¯ããªï¼configure.rbãç½®ããã¦ãããã£ã¬ã¯ããªï¼ã¯ï¼å¤æ°
|
---|
| 533 | SRCDIRã«å®ç¾©ããã¦ãããã¨ãæ³å®ããï¼
|
---|
| 534 |
|
---|
| 535 | (2-2-1) TOOLDIR éçºç°å¢ä¾åé¨ãã£ã¬ã¯ããª
|
---|
| 536 | (2-2-2) COREDIR ããã»ããµã³ã¢ä¾åé¨ãã£ã¬ã¯ããª
|
---|
| 537 | (2-2-3) CHIPDIR ãããä¾åé¨ãã£ã¬ã¯ããª
|
---|
| 538 |
|
---|
| 539 | éçºç°å¢ä¾åé¨ï¼ããã»ããµã³ã¢ä¾åé¨ï¼ãããä¾åé¨ãç¨ããå ´åã«ã¯ï¼ã
|
---|
| 540 | ãããï¼éçºç°å¢ä¾åé¨ãã£ã¬ã¯ããªï¼ããã»ããµã³ã¢ä¾åé¨ãã£ã¬ã¯ããªï¼
|
---|
| 541 | ãããä¾åé¨ãã£ã¬ã¯ããªã«å®ç¾©ããï¼
|
---|
| 542 |
|
---|
| 543 | 2.3 ã³ãã³ãåã®è¨å®
|
---|
| 544 |
|
---|
| 545 | (2-3-1) GCC_TARGET GNUéçºç°å¢ã®ã¿ã¼ã²ããå
|
---|
| 546 |
|
---|
| 547 | GNUéçºç°å¢ãç¨ããå ´åã«ï¼GNUéçºç°å¢ãconfigureããå ´åã«æå®ããã¿ã¼
|
---|
| 548 | ã²ããåã«å®ç¾©ããï¼ããã§æå®ããã¿ã¼ã²ããåã¯ï¼éçºç°å¢ã®ã³ãã³ãå
|
---|
| 549 | ã®å
|
---|
| 550 | é ã«ä»ä¸ãããæååã¨ãªãï¼ä¾ãã°ï¼GCC_TARGETãarm-none-eabiã«å®ç¾©
|
---|
| 551 | ããå ´åã«ã¯ï¼ã³ã³ãã¤ã©ã¨ãã¦arm-none-eabi-gccã使ãããï¼ãã®å¤æ°ãå®
|
---|
| 552 | 義ãããªãå ´åã«ã¯ï¼åãªãgccã使ãããï¼
|
---|
| 553 |
|
---|
| 554 | (2-3-2) CC Cã³ã³ãã¤ã©ãã©ã¤ãã®å称
|
---|
| 555 | (2-3-3) CXX C++ã³ã³ãã¤ã©ãã©ã¤ãã®å称
|
---|
| 556 | (2-3-4) AS ã¢ã»ã³ãã©ã®å称
|
---|
| 557 | (2-3-5) LD ãªã³ã«ã®å称
|
---|
| 558 | (2-3-6) AR ã¢ã¼ã«ã¤ãã®å称
|
---|
| 559 | (2-3-7) NM nmããã°ã©ã ã®å称
|
---|
| 560 | (2-3-8) RANLIB ranlibããã°ã©ã ã®å称
|
---|
| 561 | (2-3-9) OBJCOPY objcopyããã°ã©ã ã®å称
|
---|
| 562 | (2-3-10) OBJDUMP objdumpããã°ã©ã ã®å称
|
---|
| 563 |
|
---|
| 564 | GNUéçºç°å¢ä»¥å¤ã®éçºç°å¢ãç¨ããå ´åã«ï¼ããããã®ã³ãã³ãã®å称ã«å®ç¾©
|
---|
| 565 | ããï¼å¯¾å¿ããã³ãã³ãããªãå ´åãï¼ã³ãã³ããã©ã¡ã¼ã¿ãç°ãªãå ´åã«ã¯ï¼
|
---|
| 566 | Makefileä¸ã§ãã®ã³ãã³ããå¼ã³åºãã¦ããé¨åãå¤æ´ããå¿
|
---|
| 567 | è¦ãããï¼
|
---|
| 568 |
|
---|
| 569 | GNUéçºç°å¢ã§ã¯ï¼ãããã¯GCC_TARGETãç¨ãã¦å®ç¾©ãããã®ã§ï¼å®ç¾©ããå¿
|
---|
| 570 | è¦
|
---|
| 571 | ã¯ãªãï¼
|
---|
| 572 |
|
---|
| 573 | 2.4 ã³ã³ãã¤ã«ãªãã·ã§ã³ã¨ãªãã¸ã§ã¯ããã¡ã¤ã«ã®è¨å®
|
---|
| 574 |
|
---|
| 575 | Makefileã®ã¿ã¼ã²ããä¾åé¨ã§ä»¥ä¸ã§èª¬æããå¤æ°ãå®ç¾©ããæã«ã¯ï¼":="ã
|
---|
| 576 | ç¨ãã¦ï¼ããã¾ã§ã®å®ç¾©ã«è¿½å ããå½¢ã§è¡ãï¼ä¾ãã°ï¼ã³ã³ãã¤ã©ã«å¯¾ããã
|
---|
| 577 | ã®ä»ã®ãªãã·ã§ã³ã¨ãã¦ã-Wall -g -O2ãã追å ãããå ´åã«ã¯ï¼ãCOPTS :=
|
---|
| 578 | $(COPTS) -Wall -g -O2ãã¨ããè¨è¿°ãMakefileã®ã¿ã¼ã²ããä¾åé¨ã«å«ããï¼
|
---|
| 579 |
|
---|
| 580 | (2-4-1) COPTS ã³ã³ãã¤ã©ã«å¯¾ãããã®ä»ã®ãªãã·ã§ã³
|
---|
| 581 | (2-4-2) CDEFS ãã¯ãå®ç¾©ãªãã·ã§ã³ï¼-Dãªãã·ã§ã³ï¼
|
---|
| 582 | (2-4-3) INCLUDES ããããã¡ã¤ã«ã®ç½®ããããã£ã¬ã¯ããªæå®ãª
|
---|
| 583 | ãã·ã§ã³ï¼-Iãªãã·ã§ã³ï¼
|
---|
| 584 | (2-4-4) LDFLAGS ãªã³ã«ã«å¯¾ãããã®ä»ã®ãªãã·ã§ã³
|
---|
| 585 | (2-4-5) LIBS ã©ã¤ãã©ãªãªã³ã¯æå®ã®ããã®ãªãã·ã§ã³
|
---|
| 586 |
|
---|
| 587 | ã¿ã¼ã²ããã«ä¾åãã¦ï¼ãã¹ã¦ã®ã½ã¼ã¹ãã¡ã¤ã«ã«å
|
---|
| 588 | ±éããã³ã³ãã¤ã«ãªãã·ã§
|
---|
| 589 | ã³ã®è¿½å ãå¿
|
---|
| 590 | è¦ãªå ´åã«ã¯ï¼ãªãã·ã§ã³ã®ç¨®é¡æ¯ã«ä¸ã«ç¤ºããå¤æ°ã«å®ç¾©ããï¼
|
---|
| 591 |
|
---|
| 592 | ã»ã¨ãã©ã®å ´åã«ï¼ã¿ã¼ã²ããä¾åé¨ãã£ã¬ã¯ããªã®Makefile.targetã«ã¯ï¼ä»¥
|
---|
| 593 | ä¸ã®è¨è¿°ãå«ããå¿
|
---|
| 594 | è¦ãããï¼
|
---|
| 595 |
|
---|
| 596 | ----------------------------------------
|
---|
| 597 | INCLUDES := $(INCLUDES) -I$(TARGETDIR) -I$(TOOLDIR)
|
---|
| 598 | ----------------------------------------
|
---|
| 599 |
|
---|
| 600 | ã³ã³ãã¤ã©ã®åé¡çã§ï¼è¦åã¡ãã»ã¼ã¸ãåºããã¨ãé²ããªãç¶æ³ä»¥å¤ã§ã¯ï¼
|
---|
| 601 | COPTSã«-Werrorã追å ãããã¨ãæ¨å¥¨ããï¼
|
---|
| 602 |
|
---|
| 603 | ----------------------------------------
|
---|
| 604 | COPTS := $(COPTS) -Werror
|
---|
| 605 | ----------------------------------------
|
---|
| 606 |
|
---|
| 607 | ã«ã¼ãã«ã®ã³ã³ãã¤ã«æã«ï¼dereferencing type-punned pointer will break
|
---|
| 608 | strict-aliasing rulesã¨ããè¦åãåºãå ´åã«ã¯ï¼ä»¥ä¸ã追å ããã¨ããï¼ã
|
---|
| 609 | ã®è¦åã¡ãã»ã¼ã¸ã«é¢ãã詳細ã¯ï¼ãTOPPERS/ASP3ã«ã¼ãã« è¨è¨ã¡ã¢ãã®ãå
|
---|
| 610 | ãã£ã¹ãã«ä¼´ãè¦åã¡ãã»ã¼ã¸ãã®ç¯ãåç
|
---|
| 611 | §ãããã¨ï¼
|
---|
| 612 |
|
---|
| 613 | ----------------------------------------
|
---|
| 614 | KERNEL_CFLAGS := $(KERNEL_CFLAGS) -fno-strict-aliasing
|
---|
| 615 | ----------------------------------------
|
---|
| 616 |
|
---|
| 617 | (2-4-6) SYSSVC_DIRS ã·ã¹ãã ãµã¼ãã¹ã®ã½ã¼ã¹ãç½®ããããã£ã¬ã¯ããª
|
---|
| 618 | (2-4-7) SYSSVC_ASMOBJS ã¢ã»ã³ããªè¨èªã§è¨è¿°ãããã·ã¹ãã ãµã¼ãã¹ã®
|
---|
| 619 | ãªãã¸ã§ã¯ã
|
---|
| 620 | (2-4-8) SYSSVC_COBJS Cè¨èªã§è¨è¿°ãããã·ã¹ãã ãµã¼ãã¹ã®ãªãã¸ã§ã¯ã
|
---|
| 621 | (2-4-9) SYSSVC_CFLAGS ã·ã¹ãã ãµã¼ãã¹ã«å¯¾ããã³ã³ãã¤ã«ãªãã·ã§ã³
|
---|
| 622 |
|
---|
| 623 | ã¿ã¼ã²ããã«ä¾åãã¦ï¼ã·ã¹ãã ãµã¼ãã¹ï¼ã·ã¹ãã ãã°ã¿ã¹ã¯ãããã¤ã¹ã
|
---|
| 624 | ã©ã¤ããªã©ï¼ã®ã½ã¼ã¹ãç½®ããããã£ã¬ã¯ããªï¼ã·ã¹ãã ãµã¼ãã¹ãæ§æãã
|
---|
| 625 | ãªãã¸ã§ã¯ããã¡ã¤ã«ã®ãªã¹ãï¼ããããã³ã³ãã¤ã«ããéã«é©ç¨ããã³ã³ã
|
---|
| 626 | ã¤ã«ãªãã·ã§ã³ã追å ããå ´åã«ã¯ï¼ä¸ã«ç¤ºããå¤æ°ã«å®ç¾©ããï¼ãªãï¼
|
---|
| 627 | SYSSVC_CFLAGSã«å®ç¾©ãããªãã·ã§ã³ã¯ï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ãçæãããã¡ã¤
|
---|
| 628 | ã«ãã³ã³ãã¤ã«ããå ´åã«ã¯é©ç¨ãããªãããï¼æ³¨æãããã¨ï¼
|
---|
| 629 |
|
---|
| 630 | (2-4-10) KERNEL_DIRS ã«ã¼ãã«ã®ã½ã¼ã¹ãç½®ããããã£ã¬ã¯ããª
|
---|
| 631 | (2-4-11) KERNEL_ASMOBJS ã¢ã»ã³ããªè¨èªã§è¨è¿°ãããã«ã¼ãã«ã®ãªãã¸ã§ã¯ã
|
---|
| 632 | (2-4-12) KERNEL_COBJS Cè¨èªã§è¨è¿°ãããã«ã¼ãã«ã®ãªãã¸ã§ã¯ã
|
---|
| 633 | (2-4-13) KERNEL_CFLAGS ã«ã¼ãã«ã«å¯¾ããã³ã³ãã¤ã«ãªãã·ã§ã³
|
---|
| 634 |
|
---|
| 635 | ã¿ã¼ã²ããã«ä¾åãã¦ï¼ã«ã¼ãã«ã®ã½ã¼ã¹ãç½®ããããã£ã¬ã¯ããªï¼ã«ã¼ãã«
|
---|
| 636 | ãæ§æãããªãã¸ã§ã¯ããã¡ã¤ã«ã®ãªã¹ãï¼ããããã³ã³ãã¤ã«ããéã«é©ç¨
|
---|
| 637 | ããã³ã³ãã¤ã«ãªãã·ã§ã³ã追å ããå ´åã«ã¯ï¼ä¸ã«ç¤ºããå¤æ°ã«å®ç¾©ããï¼
|
---|
| 638 |
|
---|
| 639 | ã»ã¨ãã©ã®å ´åã«ï¼ã¿ã¼ã²ããä¾åé¨ãã£ã¬ã¯ããªã®Makefile.targetã«ã¯ï¼ä»¥
|
---|
| 640 | ä¸ã®è¨è¿°ãå«ããå¿
|
---|
| 641 | è¦ãããï¼
|
---|
| 642 |
|
---|
| 643 | ----------------------------------------
|
---|
| 644 | KERNEL_DIRS := $(KERNEL_DIRS) $(TARGETDIR)
|
---|
| 645 | KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) target_support.o
|
---|
| 646 | KERNEL_COBJS := $(KERNEL_COBJS) target_kernel_impl.o target_timer.o
|
---|
| 647 | ----------------------------------------
|
---|
| 648 |
|
---|
| 649 | (2-4-14) OBJ_LDFLAGS ã«ã¼ãã«ã«å¯¾ãããªã³ã¯ãªãã·ã§ã³
|
---|
| 650 |
|
---|
| 651 | ã¿ã¼ã²ããã«ä¾åãã¦ï¼ã«ã¼ãã«ããªã³ã¯ããéã«é©ç¨ãããªãã·ã§ã³ã追å
|
---|
| 652 | ããå ´åã«ã¯ï¼ä¸ã«ç¤ºããå¤æ°ã«å®ç¾©ããï¼LDFLAGSã¨ç°ãªãï¼ãã®å¤æ°ã«è¿½å
|
---|
| 653 | ãããªãã·ã§ã³ã¯ï¼cfg1_out.cããªã³ã¯ããéã«ã¯é©ç¨ãããªãï¼
|
---|
| 654 |
|
---|
| 655 | (2-4-15) CFG_TABS ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã«å¯¾ãããªãã·ã§ã³
|
---|
| 656 |
|
---|
| 657 | ã¿ã¼ã²ããã«ä¾åãã¦ï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã«å¯¾ãããªãã·ã§ã³ã追å ããå ´
|
---|
| 658 | åã«ã¯ï¼ä¸ã«ç¤ºããå¤æ°ã«å®ç¾©ããï¼å
|
---|
| 659 | ·ä½çã«ã¯ï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã®å¤å
|
---|
| 660 | å¾ã·ã³ãã«ãã¼ãã«ã®ã¿ã¼ã²ããä¾åé¨ï¼target_sym.defï¼ãããå ´åã«ã¯ï¼
|
---|
| 661 | ãããæå®ãããªãã·ã§ã³ã追å ããå¿
|
---|
| 662 | è¦ãããï¼
|
---|
| 663 |
|
---|
| 664 | ã»ã¨ãã©ã®å ´åã«ï¼ã¿ã¼ã²ããä¾åé¨ãã£ã¬ã¯ããªã®Makefile.targetã«ã¯ï¼ä»¥
|
---|
| 665 | ä¸ã®è¨è¿°ãå«ããå¿
|
---|
| 666 | è¦ãããï¼
|
---|
| 667 |
|
---|
| 668 | ----------------------------------------
|
---|
| 669 | CFG_TABS := $(CFG_TABS) --symval-table $(TARGETDIR)/target_sym.def
|
---|
| 670 | ----------------------------------------
|
---|
| 671 |
|
---|
| 672 | (2-4-16) CFG1_OUT_LDFLAGS cfg1_out.cã«å¯¾ãããªã³ã¯ãªãã·ã§ã³
|
---|
| 673 |
|
---|
| 674 | ã¿ã¼ã²ããã«ä¾åãã¦ï¼cfg1_out.cããªã³ã¯ããéã«é©ç¨ãããªãã·ã§ã³ã追
|
---|
| 675 | å ããå ´åã«ã¯ï¼ä¸ã«ç¤ºããå¤æ°ã«å®ç¾©ããï¼LDFLAGSã¨ç°ãªãï¼ãã®å¤æ°ã«è¿½
|
---|
| 676 | å ãããªãã·ã§ã³ã¯ï¼ã«ã¼ãã«ããªã³ã¯ããéã«ã¯é©ç¨ãããªãï¼
|
---|
| 677 |
|
---|
| 678 | (2-4-17) CFG_ASMOBJS ã¢ã»ã³ããªè¨èªã§è¨è¿°ãããã·ã¹ãã ã³ã³ãã£
|
---|
| 679 | ã®ã¥ã¬ã¼ã·ã§ã³ã®ããã®ãªãã¸ã§ã¯ã
|
---|
| 680 | (2-4-18) CFG_COBJS Cè¨èªã§è¨è¿°ãããã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼
|
---|
| 681 | ã·ã§ã³ã®ããã®ãªãã¸ã§ã¯ã
|
---|
| 682 |
|
---|
| 683 | ã¿ã¼ã²ããã«ä¾åãã¦ï¼ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã®ããã®ãªãã¸ã§ã¯
|
---|
| 684 | ããã¡ã¤ã«ãï¼kernel_cfg.o以å¤ã«ï¼è¿½å ããå ´åã«ã¯ï¼ä¸ã«ç¤ºããå¤æ°ã«å®
|
---|
| 685 | 義ããï¼ãã®å ´åï¼è¿½å ãããªãã¸ã§ã¯ããã¡ã¤ã«ã®ä½æã«ã¼ã«ï¼ã³ã³ãã¤ã«ï¼
|
---|
| 686 | ã¢ã»ã³ãã«ã«ã¼ã«ã¨ä¾åé¢ä¿ä½æã«ã¼ã«ï¼ãï¼Makefileã®ã¿ã¼ã²ããä¾åé¨ã«
|
---|
| 687 | è¨è¿°ããå¿
|
---|
| 688 | è¦ãããï¼
|
---|
| 689 |
|
---|
| 690 | (2-4-19) CFG2_OUT_SRCS
|
---|
| 691 |
|
---|
| 692 | ã¿ã¼ã²ããã«ä¾åãã¦ï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã®ãã¹2ã§kernel_cfg.cã¨
|
---|
| 693 | kernel_cfg.h以å¤ã®ãã¡ã¤ã«ãçæããå ´åã«ã¯ï¼ä¸ã«ç¤ºããå¤æ°ã«å®ç¾©ããï¼
|
---|
| 694 |
|
---|
| 695 | (2-4-20) OMIT_WARNING_ALL
|
---|
| 696 | (2-4-21) OMIT_OPTIMIZATION
|
---|
| 697 |
|
---|
| 698 | ãµã³ãã«ã®Makefileã§ã¯ï¼ã³ã³ãã¤ã©ã«å¯¾ãããªãã·ã§ã³ã«ã-Wall -g -O2ã
|
---|
| 699 | ã追å ããï¼-Wallã追å ããããªãå ´åã«ã¯ï¼Makefileã®ã¿ã¼ã²ããä¾åé¨ã§
|
---|
| 700 | OMIT_WARNING_ALLã"true"ã«å®ç¾©ããï¼-O2ã追å ããããªãå ´åã«ã¯ï¼
|
---|
| 701 | Makefileã®ã¿ã¼ã²ããä¾åé¨ã§OMIT_OPTIMIZATIONã"true"ã«å®ç¾©ããï¼
|
---|
| 702 |
|
---|
| 703 | 2.5 ãªãã»ãããã¡ã¤ã«ã®çææ¹æ³
|
---|
| 704 |
|
---|
| 705 | ã¢ã»ã³ããªè¨èªã§è¨è¿°ãããããã°ã©ã ããï¼Cè¨èªã®æ§é ä½ã«ã¢ã¯ã»ã¹ããå ´
|
---|
| 706 | åã«ã¯ï¼æ§é ä½ã®åãã£ã¼ã«ãã®ãªãã»ããå¤ãåç
|
---|
| 707 | §ãããã¨ãå¿
|
---|
| 708 | è¦ã§ããï¼
|
---|
| 709 | ASP3ã«ã¼ãã«ã§ã¯ï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ãç¨ãã¦å¿
|
---|
| 710 | è¦ãªãªãã»ããå¤ãæ±ãï¼
|
---|
| 711 | ãªãã»ãããã¡ã¤ã«ï¼offset.hï¼ã«çæããããã®ä»çµã¿ãç¨æãã¦ããï¼
|
---|
| 712 |
|
---|
| 713 | ãã®ä»çµã¿ãç¨ãããã¨ã§ï¼ä¾ãã°ï¼TCBä¸ã®p_tinibãã£ã¼ã«ãã®ãªãã»ãã
|
---|
| 714 | å¤ãTCB_p_tinibã«ãã¯ãå®ç¾©ãããã¨ãï¼TCBä¸ã®ã¿ã¹ã¯ã³ã³ããã¹ãããã
|
---|
| 715 | ã¯ï¼tskctxbï¼ã«å«ã¾ããpcãã£ã¼ã«ãã®ãªãã»ããå¤ãTCB_pcã«ãã¯ãå®ç¾©ã
|
---|
| 716 | ããã¨ãã§ããï¼ã¾ãï¼TCBä¸ã®enaterãã£ã¼ã«ãã®ãªãã»ããå¤ï¼ãããä½ç½®ï¼
|
---|
| 717 | ããããã¹ã¯ãï¼ããããTCB_enaterï¼TCB_enater_bitï¼TCB_enater_maskã«ã
|
---|
| 718 | ã¯ãå®ç¾©ãããã¨ãã§ããï¼
|
---|
| 719 |
|
---|
| 720 | ç¨æãã¦ããä»çµã¿ã«ãããªãã»ãããã¡ã¤ã«ãçæã§ããªãæã«ã¯ï¼ãªãã»ã
|
---|
| 721 | ããã¡ã¤ã«ãã¿ã¼ã²ããä¾åé¨ã§ç¨æããå¿
|
---|
| 722 | è¦ãããï¼
|
---|
| 723 |
|
---|
| 724 | ãªãã»ãããã¡ã¤ã«ãå¿
|
---|
| 725 | è¦ãªãå ´åãï¼ãªãã»ãããã¡ã¤ã«ãã¿ã¼ã²ããä¾å
|
---|
| 726 | é¨ã§ç¨æããå ´åã«ã¯ï¼Makefileã®ã¿ã¼ã²ããä¾åé¨ã§OMIT_OFFSET_Hã
|
---|
| 727 | "true"ã«å®ç¾©ããï¼
|
---|
| 728 |
|
---|
| 729 | æ¡å¼µããã±ã¼ã¸ã®ä¸ã«ã¯ï¼TCBã«ãã£ã¼ã«ãã追å ãããã®ãããããï¼TCBä¸
|
---|
| 730 | ã®ãã£ã¼ã«ãã®ãªãã»ããå¤ã¯å¤åããï¼offset.hãçæããå ´åã§ãï¼ã¿ã¼
|
---|
| 731 | ã²ããä¾åé¨ã§ç¨æããå ´åã§ãï¼æ¡å¼µããã±ã¼ã¸ã«å¯¾å¿ããããã«ã¯ï¼ãã®
|
---|
| 732 | ãã¨ãèæ
|
---|
| 733 | ®ããå¿
|
---|
| 734 | è¦ãããï¼
|
---|
| 735 |
|
---|
| 736 | 以ä¸ã§ã¯ï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ãç¨ãã¦offset.hãçæããæ¹æ³ã«ã¤ãã¦èª¬æ
|
---|
| 737 | ããï¼ãã®æ¹æ³ã§ã¯ï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã®ãã¹1ã§çæããcfg1_out.cãã³ã³
|
---|
| 738 | ãã¤ã«ãã¦çæãããªãã¸ã§ã¯ããã¡ã¤ã«ããï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã«ãã£ã¦
|
---|
| 739 | offset.hãçæããï¼
|
---|
| 740 |
|
---|
| 741 | ãã®æ¹æ³ãç¨ããããã«ã¯ï¼ã¿ã¼ã²ããä¾åé¨ã§ãªãã»ãããã¡ã¤ã«çæç¨ã®
|
---|
| 742 | çæã¹ã¯ãªãããç¨æãï¼target_cfg1_out.hï¼ã¾ãã¯ï¼ããããã¤ã³ã¯ã«ã¼ã
|
---|
| 743 | ããããã¡ã¤ã«ï¼ã¨target_sym.defï¼ã¾ãã¯ï¼åçã®å½¹å²ãæã¤ãã¡ã¤ã«ï¼ã«
|
---|
| 744 | è¨è¿°ã追å ããå¿
|
---|
| 745 | è¦ãããï¼ãªãï¼ãããã®ãã¡ã¤ã«ãæ°ãã«ç¨æããéãä¿®
|
---|
| 746 | æ£ããéã«ã¯ï¼offset.hã«å¦¥å½ãªå®ç¾©ãçæããã¦ãããã¨ã確èªãã¹ãã§ã
|
---|
| 747 | ãï¼
|
---|
| 748 |
|
---|
| 749 | ãªãã»ãããã¡ã¤ã«çæç¨ã®çæã¹ã¯ãªããã¯ï¼ã¿ã¼ã²ããä¾åé¨ã§ï¼
|
---|
| 750 | target_offset.trbã«ç¨æããï¼ãªãã»ãããã¡ã¤ã«çæç¨ã®çæã¹ã¯ãªããã
|
---|
| 751 | å¥ã®ãã£ã¬ã¯ããªã¾ãã¯å¥ã®ãã¡ã¤ã«åã§ç¨æããå ´åã«ã¯ï¼ãã®ãã¡ã¤ã«å
|
---|
| 752 | ãï¼Makefileã®ã¿ã¼ã²ããä¾åé¨ã§TARGET_OFFSET_TRBã«å®ç¾©ããï¼
|
---|
| 753 |
|
---|
| 754 | ãªãã»ãããã¡ã¤ã«çæç¨ã®çæã¹ã¯ãªããã«ã¯ï¼ä»¥ä¸ã®å
|
---|
| 755 | 容ãè¨è¿°ããï¼
|
---|
| 756 |
|
---|
| 757 | (1) çæã¹ã¯ãªããã®ã¿ã¼ã²ããéä¾åé¨ã®ã¤ã³ã¯ã«ã¼ã
|
---|
| 758 |
|
---|
| 759 | ãªãã»ãããã¡ã¤ã«çæç¨ã®çæã¹ã¯ãªããã®ã¿ã¼ã²ããéä¾åé¨
|
---|
| 760 | ï¼kernel/genoffset.trbï¼ãã¤ã³ã¯ã«ã¼ãããï¼çæã¹ã¯ãªããã®ã¿ã¼ã²ãã
|
---|
| 761 | éä¾åé¨ã«ã¯ï¼ä»¥ä¸ã§ç¨ããGenerateDefineé¢æ°ãGenerateDefineBité¢æ°ã®å®
|
---|
| 762 | 義ãªã©ãå«ã¾ãã¦ããï¼
|
---|
| 763 |
|
---|
| 764 | ----------------------------------------
|
---|
| 765 | # ã¿ã¼ã²ããéä¾åé¨ã®ã¤ã³ã¯ã«ã¼ã
|
---|
| 766 | IncludeTrb("kernel/genoffset.trb")
|
---|
| 767 | ----------------------------------------
|
---|
| 768 |
|
---|
| 769 | (2) ãªãã»ããå¤ã®ãã¯ãå®ç¾©ã®çæ
|
---|
| 770 |
|
---|
| 771 | GenerateDefineé¢æ°ãç¨ãã¦ï¼ãªãã»ããå¤ã®ãã¯ãå®ç¾©ãçæããï¼ä¾ãã°ï¼
|
---|
| 772 | TCBä¸ã®ã¿ã¹ã¯ã³ã³ããã¹ããããã¯ï¼tskctxbï¼ã«å«ã¾ããpcãã£ã¼ã«ãã®ãª
|
---|
| 773 | ãã»ããå¤ãï¼TCB_pcã«ãã¯ãå®ç¾©ããå ´åã«ã¯ï¼æ¬¡ã®ããã«è¨è¿°ããï¼
|
---|
| 774 |
|
---|
| 775 | ----------------------------------------
|
---|
| 776 | # ãªãã»ããå¤ã®ãã¯ãå®ç¾©ã®çæ
|
---|
| 777 | GenerateDefine("TCB_pc", $offsetof_TCB_pc)
|
---|
| 778 | ----------------------------------------
|
---|
| 779 |
|
---|
| 780 | ããã§ï¼GenerateDefineé¢æ°ã®ç¬¬1ãã©ã¡ã¼ã¿ã¯ãã¯ãå®ç¾©ããã·ã³ãã«ï¼ç¬¬2
|
---|
| 781 | ãã©ã¡ã¼ã¿ã¯ï¼ãªãã»ããå¤ãä¿æããå¤æ°ã§ããï¼
|
---|
| 782 |
|
---|
| 783 | ã¾ãï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ãï¼ãªãã»ããå¤ãä¿æããå¤æ°ï¼ä¸ã®ä¾ã§ã¯
|
---|
| 784 | $offsetof_TCB_pcï¼ã«å¤ãè¨å®ããããã«ï¼target_sym.defï¼ã¾ãã¯ï¼åçã®
|
---|
| 785 | å½¹å²ãæã¤ãã¡ã¤ã«ï¼ã«æ¬¡ã®ãããªè¡ã追å ããï¼
|
---|
| 786 |
|
---|
| 787 | ----------------------------------------
|
---|
| 788 | offsetof_TCB_pc,"offsetof(TCB,tskctxb.pc)"
|
---|
| 789 | ----------------------------------------
|
---|
| 790 |
|
---|
| 791 | ãã ãï¼åãªãã¸ã§ã¯ãã®åæåãããã¯ã®ã¿ã¼ã²ããéä¾åã®ãã£ã¼ã«ãã®
|
---|
| 792 | ãªãã»ããå¤ãåå¾ããããã®è¨è¿°ã¯ï¼kernel/kernel_sym.defã«å«ã¾ãã¦ããï¼
|
---|
| 793 | kernel/kernel_sym.defã«å«ã¾ãã¦ããè¨è¿°ã¯ï¼target_sym.defï¼ã¾ãã¯ï¼åç
|
---|
| 794 | ã®å½¹å²ãæã¤ãã¡ã¤ã«ï¼ã«è¿½å ããå¿
|
---|
| 795 | è¦ã¯ãªãï¼
|
---|
| 796 |
|
---|
| 797 | (3) ããããªãã»ããå¤çã®ãã¯ãå®ç¾©ã®çæ
|
---|
| 798 |
|
---|
| 799 | GenerateDefineBité¢æ°ãç¨ãã¦ï¼ãããã®ãªãã»ããå¤ï¼ãããä½ç½®ï¼ããã
|
---|
| 800 | ãã¹ã¯ã®ãã¯ãå®ç¾©ãçæããï¼ä¾ãã°ï¼TCBä¸ã®enaterãã£ã¼ã«ãã®ãªãã»ã
|
---|
| 801 | ãå¤ï¼ãããä½ç½®ï¼ããããã¹ã¯ãï¼ããããTCB_enaterï¼TCB_enater_bitï¼
|
---|
| 802 | TCB_enater_maskã«ãã¯ãå®ç¾©ããå ´åã«ã¯ï¼æ¬¡ã®ããã«è¨è¿°ããï¼
|
---|
| 803 |
|
---|
| 804 | ----------------------------------------
|
---|
| 805 | GenerateDefineBit("TCB_enater", $sizeof_TCB, "B")
|
---|
| 806 | ----------------------------------------
|
---|
| 807 |
|
---|
| 808 | ããã§ï¼GenerateDefineBité¢æ°ã®ç¬¬1ãã©ã¡ã¼ã¿ã¯ãã¯ãå®ç¾©ããã·ã³ãã«
|
---|
| 809 | ï¼ã®å
|
---|
| 810 | é é¨åï¼ï¼ç¬¬2ãã©ã¡ã¼ã¿ã¯æ§é ä½ã®ãµã¤ãºã§ããï¼ç¬¬3ãã©ã¡ã¼ã¿ã«ã¯ï¼
|
---|
| 811 | ãããã®ãªãã»ããï¼ãããä½ç½®ï¼ããããã¹ã¯ãï¼8ãããåä½ï¼ãã¤ãåä½ï¼
|
---|
| 812 | ã§æ±ããå ´åã«ã¯"B"ãï¼16ãããåä½ã§æ±ããå ´åã«ã¯"H"ãï¼32ãããåä½
|
---|
| 813 | ã§æ±ããå ´åã«ã¯"W"ãæå®ããï¼ãªãï¼ãããä½ç½®ã¯ï¼LSBã0ã¨ããå¤ï¼ãã
|
---|
| 814 | ããªãã«ã¨ã³ãã£ã¢ã³ãæ³å®ï¼ãæ±ããï¼
|
---|
| 815 |
|
---|
| 816 | ã¾ãï¼target_cfg1_out.hï¼ã¾ãã¯ï¼ããããã¤ã³ã¯ã«ã¼ãããããã¡ã¤ã«ï¼ã«ï¼
|
---|
| 817 | ããããªãã»ããå¤çãæ±ããããã®æ§é ä½ã®å¤æ°å®ç¾©ã追å ããï¼ãã®æ§é
|
---|
| 818 | ä½ã®å¤æ°ã¯ï¼å称ããã¯ãå®ç¾©ããã·ã³ãã«ï¼GenerateDefineBité¢æ°ã®ç¬¬1ã
|
---|
| 819 | ã©ã¡ã¼ã¿ï¼ã¨ãï¼å¯¾è±¡ã®ãããã®ã¿ã1ã§ï¼ä»ã®ãã¹ã¦ã®ãããã0ã«ãªããã
|
---|
| 820 | ã«åæåããï¼ã¾ãï¼const修飾åãä»å ããï¼ä¾ãã°ï¼TCBä¸ã®enaterãã£ã¼
|
---|
| 821 | ã«ãã®ããããªãã»ããå¤çãæ±ããå ´åã«ã¯ï¼æ¬¡ã®ãããªå®ç¾©ã追å ãã
|
---|
| 822 | ï¼tskctxbã®åæå¤ã¯ï¼ã¿ã¼ã²ããä¾åãªã®ã§æ³¨æãããã¨ï¼ï¼
|
---|
| 823 |
|
---|
| 824 | ----------------------------------------
|
---|
| 825 | const TCB TCB_enater = {
|
---|
| 826 | { NULL, NULL }, /* task_queue */
|
---|
| 827 | NULL, /* p_tinib */
|
---|
| 828 | 0U, /* tstat */
|
---|
| 829 | 0U, /* bpriority */
|
---|
| 830 | 0U, /* priority */
|
---|
| 831 | false, /* actque */
|
---|
| 832 | false, /* wupque */
|
---|
| 833 | false, /* raster */
|
---|
| 834 | true, /* enater */
|
---|
| 835 | #ifdef TOPPERS_SUPPORT_OVRHDR
|
---|
| 836 | false, /* staovr */
|
---|
| 837 | #endif /* TOPPERS_SUPPORT_OVRHDR */
|
---|
| 838 | #ifdef TOPPERS_SUPPORT_SUBPRIO
|
---|
| 839 | 0U, /* subpri */
|
---|
| 840 | #endif /* TOPPERS_SUPPORT_SUBPRIO */
|
---|
| 841 | NULL, /* p_winifo */
|
---|
| 842 | NULL, /* p_lastmtx */
|
---|
| 843 | #ifdef TOPPERS_SUPPORT_OVRHDR
|
---|
| 844 | 0U, /* leftotm */
|
---|
| 845 | #endif /* TOPPERS_SUPPORT_OVRHDR */
|
---|
| 846 | { NULL, NULL } /* tskctxb */
|
---|
| 847 | };
|
---|
| 848 | ----------------------------------------
|
---|
| 849 |
|
---|
| 850 | ããã«ï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ãï¼æ§é ä½ã®ãµã¤ãºï¼ä¸ã®ä¾ã§ã¯$sizeof_TCBï¼ã«
|
---|
| 851 | å¤ãè¨å®ããããã«ï¼target_sym.defï¼ã¾ãã¯ï¼åçã®å½¹å²ãæã¤ãã¡ã¤ã«ï¼
|
---|
| 852 | ã«æ¬¡ã®ä¾ã®ãããªè¡ã追å ããï¼
|
---|
| 853 |
|
---|
| 854 | ----------------------------------------
|
---|
| 855 | sizeof_TCB,sizeof(TCB)
|
---|
| 856 | ----------------------------------------
|
---|
| 857 |
|
---|
| 858 | ãã ãï¼åè¿°ããéãï¼kernel/kernel_sym.defã«å«ã¾ãã¦ããè¨è¿°ã¯ï¼
|
---|
| 859 | target_sym.defï¼ã¾ãã¯ï¼åçã®å½¹å²ãæã¤ãã¡ã¤ã«ï¼ã«è¿½å ããå¿
|
---|
| 860 | è¦ã¯ãªãï¼
|
---|
| 861 |
|
---|
| 862 | æå¾ã«ï¼target_cfg1_out.hï¼ã¾ãã¯ï¼ããããã¤ã³ã¯ã«ã¼ãããããã¡ã¤ã«ï¼
|
---|
| 863 | ã«ï¼offset.hãçæããä»çµã¿ãæ£ããåä½ãã¦ãããã¨ã確èªããããã®æ¬¡
|
---|
| 864 | ã®è¨è¿°ã追å ããï¼
|
---|
| 865 |
|
---|
| 866 | ----------------------------------------
|
---|
| 867 | const uint8_t MAGIC_1 = 0x12;
|
---|
| 868 | const uint16_t MAGIC_2 = 0x1234;
|
---|
| 869 | const uint32_t MAGIC_4 = 0x12345678;
|
---|
| 870 | ----------------------------------------
|
---|
| 871 |
|
---|
| 872 | 2.6 ãªã³ã¯æ¹æ³ã®è¨å®
|
---|
| 873 |
|
---|
| 874 | (2-6-1) LDSCRIPT ãªã³ã«ã¹ã¯ãªããã®ãã¡ã¤ã«å
|
---|
| 875 |
|
---|
| 876 | éçºç°å¢ã«æ¨æºã®ãªã³ã«ã¹ã¯ãªããã使ç¨ã§ããªãå ´åã«ã¯ï¼ã¿ã¼ã²ããä¾å
|
---|
| 877 | é¨ã§ãªã³ã«ã¹ã¯ãªãããç¨æãï¼ãã®ãã¡ã¤ã«åããã®å¤æ°ã«å®ç¾©ããï¼
|
---|
| 878 |
|
---|
| 879 | (2-6-2) TEXT_START_ADDRESS ããã¹ãã»ã¯ã·ã§ã³ã®å
|
---|
| 880 | é çªå°
|
---|
| 881 | (2-6-3) DATA_START_ADDRESS ãã¼ã¿ã»ã¯ã·ã§ã³ã®å
|
---|
| 882 | é çªå°
|
---|
| 883 |
|
---|
| 884 | åã»ã¯ã·ã§ã³ã®å
|
---|
| 885 | é çªå°ã®æå®ãå¿
|
---|
| 886 | è¦ãªå ´åã«ã¯ï¼ãããã®å¤æ°ã«å
|
---|
| 887 | é çªå°ã
|
---|
| 888 | å®ç¾©ããï¼
|
---|
| 889 |
|
---|
| 890 | (2-6-4) START_OBJS å
|
---|
| 891 | é ã«ãªã³ã¯ãã¹ãã¢ã¸ã¥ã¼ã«å
|
---|
| 892 | (2-6-5) END_OBJS æå¾ã«ãªã³ã¯ãã¹ãã¢ã¸ã¥ã¼ã«å
|
---|
| 893 |
|
---|
| 894 | ã¿ã¼ã²ããã«ãã£ã¦ã¯ï¼ãã¼ãã¢ã¸ã¥ã¼ã«ã®å
|
---|
| 895 | é ã¨æå¾ã«ãªã³ã¯ãã¹ãã¢ã¸ã¥ã¼
|
---|
| 896 | ã«ãï¼ã¿ã¼ã²ããä¾åé¨ã§ç¨æããå¿
|
---|
| 897 | è¦ãããï¼å¤ãã®å ´åï¼ã¹ã¿ã¼ãã¢ãã
|
---|
| 898 | ã¢ã¸ã¥ã¼ã«ããã¼ãã¢ã¸ã¥ã¼ã«ã®å
|
---|
| 899 | é ã«ãªã³ã¯ããå¿
|
---|
| 900 | è¦ãããï¼
|
---|
| 901 |
|
---|
| 902 | ãã¼ãã¢ã¸ã¥ã¼ã«ã®å
|
---|
| 903 | é ã«ãªã³ã¯ãã¹ãããã°ã©ã ãããå ´åã«ã¯ï¼Makefile
|
---|
| 904 | ã®ã¿ã¼ã²ããä¾åé¨ã«ããã¦ï¼ãã®ãªãã¸ã§ã¯ããã¡ã¤ã«åãSTART_OBJSã«å®
|
---|
| 905 | 義ãï¼ããã«å¯¾ããã³ã³ãã¤ã«ã«ã¼ã«ã¨ä¾åé¢ä¿ä½æã«ã¼ã«ãå®ç¾©ããï¼ãã¼
|
---|
| 906 | ãã¢ã¸ã¥ã¼ã«ã®æå¾ã«ãªã³ã¯ãã¹ãã¢ã¸ã¥ã¼ã«ãããå ´åã«ã¯ï¼ãã®ãªãã¸ã§
|
---|
| 907 | ã¯ããã¡ã¤ã«åãEND_OBJSã«å®ç¾©ãï¼ããã«å¯¾ããã³ã³ãã¤ã«ã«ã¼ã«ã¨ä¾åé¢
|
---|
| 908 | ä¿ä½æã«ã¼ã«ãå®ç¾©ããï¼ã¾ãï¼æ¨æºã®ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ï¼crt0.oï¼
|
---|
| 909 | ããªã³ã¯ããªãããã«ï¼LDFLAGSã¨CFG1_OUT_LDFLAGSã«-nostdlibã追å ããå¿
|
---|
| 910 |
|
---|
| 911 | è¦ãããï¼ããã«ï¼-nostdlibãã¤ãããã¨ã§æ¨æºã©ã¤ãã©ãªããªã³ã¯ãããªã
|
---|
| 912 | ãªãããï¼LIBSã«-lgccã追å ããªããã°ãªããªãï¼
|
---|
| 913 |
|
---|
| 914 | ä¾ãã°ï¼ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã®ã½ã¼ã¹ãã¡ã¤ã«ãstart.Sã®å ´åã«ã¯ï¼
|
---|
| 915 | Makefileã®ã¿ã¼ã²ããä¾åé¨ã«æ¬¡ã®ãããªè¨è¿°ãå
|
---|
| 916 | ¥ããã¨ããï¼
|
---|
| 917 |
|
---|
| 918 | ----------------------------------------
|
---|
| 919 | # ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã®ãªãã¸ã§ã¯ããã¡ã¤ã«å
|
---|
| 920 | START_OBJS = start.o
|
---|
| 921 |
|
---|
| 922 | # ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã®ã³ã³ãã¤ã«ã«ã¼ã«
|
---|
| 923 | $(START_OBJS): %.o: %.S
|
---|
| 924 | $(CC) -c $(CFLAGS) $(KERNEL_CFLAGS) $<
|
---|
| 925 |
|
---|
| 926 | # ãªã³ã«ã«å¯¾ãããªãã·ã§ã³
|
---|
| 927 | LDFLAGS := -nostdlib $(LDFLAGS)
|
---|
| 928 | CFG1_OUT_LDFLAGS := -nostdlib $(CFG1_OUT_LDFLAGS)
|
---|
| 929 | LIBS := $(LIBS) -lgcc
|
---|
| 930 | ----------------------------------------
|
---|
| 931 |
|
---|
| 932 | ã¾ãï¼GNUéçºç°å¢ã§ï¼ã³ã³ãã¤ã©ã«æ¨æºã®crtbegin.oã¨crtend.oãç¨ããå ´å
|
---|
| 933 | ã«ã¯ï¼Makefile ã®ã¿ã¼ã²ããä¾åé¨ã«æ¬¡ã®ãããªè¨è¿°ãå
|
---|
| 934 | ¥ããã¨ããï¼
|
---|
| 935 |
|
---|
| 936 | ----------------------------------------
|
---|
| 937 | # ãªãã¸ã§ã¯ããã¡ã¤ã«å
|
---|
| 938 | START_OBJS = $(shell $(CC) -print-file-name=crtbegin.o)
|
---|
| 939 | END_OBJS = $(shell $(CC) -print-file-name=crtend.o)
|
---|
| 940 |
|
---|
| 941 | # ãªã³ã«ã«å¯¾ãããªãã·ã§ã³
|
---|
| 942 | LDFLAGS := -nostdlib $(LDFLAGS)
|
---|
| 943 | CFG1_OUT_LDFLAGS := -nostdlib $(CFG1_OUT_LDFLAGS)
|
---|
| 944 | LIBS := $(LIBS) -lgcc
|
---|
| 945 | ----------------------------------------
|
---|
| 946 |
|
---|
| 947 | ãã®å ´åï¼ãããã®ãã¡ã¤ã«ãã³ã³ãã¤ã«ãããã¨ã¯ãªãããï¼ã³ã³ãã¤ã«ã«ã¼
|
---|
| 948 | ã«ã¯ä¸è¦ã§ããï¼ã¾ãï¼ä¾åé¢ä¿ä½æã«ã¼ã«ã¯ããã¼ã§ããï¼ä¾åé¢ä¿ä½æã«ã¼
|
---|
| 949 | ã«ããªãã¨ã¨ã©ã¼ã«ãªãï¼ï¼
|
---|
| 950 |
|
---|
| 951 | (2-6-6) HIDDEN_OBJS æå®ããªãã¦ããªã³ã¯ãããã¢ã¸ã¥ã¼ã«å
|
---|
| 952 |
|
---|
| 953 | ãã¼ãã¢ã¸ã¥ã¼ã«ã«ãªã³ã¯ãã¹ãã¢ã¸ã¥ã¼ã«ãï¼ãªã³ã«ã«å¯¾ãããã©ã¡ã¼ã¿ã§
|
---|
| 954 | ã¯ãªãï¼ãªã³ã«ã¹ã¯ãªããä¸ã«ï¼ä¾ãã°ï¼GNUéçºç°å¢ã®ãªã³ã«ã¹ã¯ãªããã®
|
---|
| 955 | STARTUPã使ã£ã¦ï¼è¨è¿°ããå ´åã«ã¯ï¼ãã®ãªãã¸ã§ã¯ããã¡ã¤ã«åãï¼
|
---|
| 956 | ï¼START_OBJSã¾ãã¯END_OBJSã§ã¯ãªãï¼HIDDEN_OBJSã«å®ç¾©ãï¼ããã«å¯¾ããã³
|
---|
| 957 | ã³ãã¤ã«ã«ã¼ã«ã¨ä¾åé¢ä¿ä½æã«ã¼ã«ãå®ç¾©ããï¼HIDDEN_OBJSã«å®ç¾©ããã¢
|
---|
| 958 | ã¸ã¥ã¼ã«ã¯ï¼ãªã³ã«ã«å¯¾ãããã©ã¡ã¼ã¿ããã¯é¤å¤ãããï¼LDFLAGSã¨
|
---|
| 959 | CFG1_OUT_LDFLAGSï¼LIBSã«ã¤ãã¦ã¯ï¼START_OBJSã¾ãã¯END_OBJSãç¨ããå ´å
|
---|
| 960 | ã¨åæ§ã§ããï¼
|
---|
| 961 |
|
---|
| 962 | ä¾ãã°ï¼ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã®ã½ã¼ã¹ãã¡ã¤ã«ãstart.Sã§ï¼start.oã
|
---|
| 963 | ãªã³ã¯ãããã¨ããªã³ã«ã¹ã¯ãªããä¸ã«è¨è¿°ããå ´åã«ã¯ï¼Makefileã®ã¿ã¼ã²ã
|
---|
| 964 | ãä¾åé¨ã«æ¬¡ã®ãããªè¨è¿°ãå
|
---|
| 965 | ¥ããã¨ããï¼
|
---|
| 966 |
|
---|
| 967 | ----------------------------------------
|
---|
| 968 | # ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã®ãªãã¸ã§ã¯ããã¡ã¤ã«å
|
---|
| 969 | HIDDEN_OBJS = start.o
|
---|
| 970 |
|
---|
| 971 | # ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã®ã³ã³ãã¤ã«ã«ã¼ã«
|
---|
| 972 | $(HIDDEN_OBJS): %.o: %.S
|
---|
| 973 | $(CC) -c $(CFLAGS) $(KERNEL_CFLAGS) $<
|
---|
| 974 |
|
---|
| 975 | # ãªã³ã«ã«å¯¾ãããªãã·ã§ã³
|
---|
| 976 | LDFLAGS := -nostdlib $(LDFLAGS)
|
---|
| 977 | CFG1_OUT_LDFLAGS := -nostdlib $(CFG1_OUT_LDFLAGS)
|
---|
| 978 | LIBS := $(LIBS) -lgcc
|
---|
| 979 | ----------------------------------------
|
---|
| 980 |
|
---|
| 981 | 2.7 ä¾åé¢ä¿ã®å®ç¾©ï¼ãªãã·ã§ã³ï¼
|
---|
| 982 |
|
---|
| 983 | ã¿ã¼ã²ããä¾åé¨ã®éçºä¸ã¯ï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã®åãã¹ã«å¯¾ãã¦ï¼çæã¹
|
---|
| 984 | ã¯ãªããã®ã¿ã¼ã²ããä¾åé¨ã¸ã®ä¾åé¢ä¿ãå®ç¾©ããã¨ä¾¿å©ã§ããï¼å
|
---|
| 985 | ·ä½çã«
|
---|
| 986 | ã¯ï¼ãã¹1ï¼ãªãã»ãããã¡ã¤ã«çæï¼ãã¹2ï¼ãã¹3ãä¾åãããã¡ã¤ã«ãï¼ã
|
---|
| 987 | ãããcfg1_out.timestampï¼offset.timestampï¼kernel_cfg.timestampï¼
|
---|
| 988 | check.timestampã«å¯¾ããä¾åé¢ä¿ã®å½¢ã§è¨è¿°ããï¼
|
---|
| 989 |
|
---|
| 990 | å
|
---|
| 991 | ¸åçã«ã¯ï¼ã¿ã¼ã²ããä¾åé¨ãã£ã¬ã¯ããªã®Makefile.targetã«å«ããè¨è¿°ã¯ï¼
|
---|
| 992 | 以ä¸ã®ããã«ãªãï¼
|
---|
| 993 |
|
---|
| 994 | ----------------------------------------
|
---|
| 995 | cfg1_out.timestamp: $(TARGETDIR)/target_sym.def
|
---|
| 996 | offset.timestamp: $(TARGETDIR)/target_offset.trb
|
---|
| 997 | kernel_cfg.timestamp: $(TARGETDIR)/target_kernel.trb
|
---|
| 998 | check.timestamp: $(TARGETDIR)/target_check.trb
|
---|
| 999 | ----------------------------------------
|
---|
| 1000 |
|
---|
| 1001 | 2.8 ãã®ä»ã®è¨å®
|
---|
| 1002 |
|
---|
| 1003 | (2-8-1) TARGET_OFFSET_TRB target_offset.trbã®ãã¹å
|
---|
| 1004 | (2-8-2) TARGET_KERNEL_TRB target_kernel.trbã®ãã¹å
|
---|
| 1005 | (2-8-3) TARGET_CHECK_TRB target_check.trbã®ãã¹å
|
---|
| 1006 | (2-8-4) TARGET_KERNEL_CFG target_kernel.cfgã®ãã¹å
|
---|
| 1007 |
|
---|
| 1008 | ã¿ã¼ã²ããä¾åé¨ã®åãã¡ã¤ã«ã®ãã¹åãï¼æ¨æºããå¤æ´ãããå ´åã«ã¯ï¼ã
|
---|
| 1009 | ã¹åããããã®å¤æ°ã«å®ç¾©ããï¼
|
---|
| 1010 |
|
---|
| 1011 | (2-8-5) CLEAN_FILES cleanã«ããåé¤ãããã¡ã¤ã«å
|
---|
| 1012 |
|
---|
| 1013 | cleanã«ããåé¤ãããã¡ã¤ã«ãã¿ã¼ã²ããä¾åé¨ã§è¿½å ãããå ´åã«ã¯ï¼ãã¡
|
---|
| 1014 | ã¤ã«åããã®å¤æ°ã«è¿½å å®ç¾©ããï¼
|
---|
| 1015 |
|
---|
| 1016 | (2-8-6) REALCLEAN_FILES realcleanã«ããåé¤ãããã¡ã¤ã«å
|
---|
| 1017 |
|
---|
| 1018 | realcleanã«ããåé¤ãããã¡ã¤ã«ãã¿ã¼ã²ããä¾åé¨ã§è¿½å ãããå ´åã«ã¯ï¼
|
---|
| 1019 | ãã¡ã¤ã«åããã®å¤æ°ã«è¿½å å®ç¾©ããï¼
|
---|
| 1020 |
|
---|
| 1021 |
|
---|
| 1022 | ï¼ï¼TOPPERSå
|
---|
| 1023 | ±éå®ç¾©ã®ã¿ã¼ã²ããä¾åé¨
|
---|
| 1024 |
|
---|
| 1025 | TOPPERSå
|
---|
| 1026 | ±éå®ç¾©ï¼t_stddef.hï¼ã®ã¿ã¼ã²ããä¾åé¨ã¯ï¼target_stddef.hã¾ã
|
---|
| 1027 | ã¯ããããã¤ã³ã¯ã«ã¼ãããããã¡ã¤ã«ï¼éçºç°å¢ä¾åé¨ï¼ããã»ããµã³ã¢ä¾
|
---|
| 1028 | åé¨ï¼ãããä¾åé¨ã§ç¨æãããããããã¡ã¤ã«ãªã©ï¼ã«å«ããï¼
|
---|
| 1029 |
|
---|
| 1030 | 3.1 ã¿ã¼ã²ããèå¥ãã¯ã
|
---|
| 1031 |
|
---|
| 1032 | ã¢ããªã±ã¼ã·ã§ã³ãã·ã¹ãã ãµã¼ãã¹ã§ã¿ã¼ã²ãããèå¥ããããã«ï¼
|
---|
| 1033 | "TOPPERS_"ã«ã·ã¹ãã ç¥ç§°ã大æåã«ããæååãé£çµãããã®ï¼ä¾ãã°ï¼
|
---|
| 1034 | "TOPPERS_CT11MPCORE"ï¼ããã¯ãå®ç¾©ããï¼
|
---|
| 1035 |
|
---|
| 1036 | ã¾ãï¼ã¿ã¼ã²ããä¾åé¨ããããã»ããµã³ã¢ä¾åé¨ï¼ãããä¾åé¨ãåãåã
|
---|
| 1037 | ãå ´åã«ã¯ï¼"TOPPERS_"ã«ããã»ããµã³ã¢ç¥ç§°ï¼ãããç¥ç§°ã大æåã«ããæ
|
---|
| 1038 | ååãé£çµãããã®ï¼ä¾ãã°ï¼"TOPPERS_ARM"ï¼ããã¯ãå®ç¾©ããï¼
|
---|
| 1039 |
|
---|
| 1040 | 3.2 æ´æ°åã®æ大å¤ã»æå°å¤ã»ãããæ°
|
---|
| 1041 |
|
---|
| 1042 | (3-2-1) INT_MAX intã«æ ¼ç´ã§ããæ大å¤ï¼C90æºæ ï¼
|
---|
| 1043 | (3-2-2) INT_MIN intã«æ ¼ç´ã§ããæå°å¤ï¼C90æºæ ï¼
|
---|
| 1044 | (3-2-3) UINT_MAX unsigned intã«æ ¼ç´ã§ããæ大å¤ï¼C90æºæ ï¼
|
---|
| 1045 | (3-2-4) LONG_MAX longã«æ ¼ç´ã§ããæ大å¤ï¼C90æºæ ï¼
|
---|
| 1046 | (3-2-5) LONG_MIN longã«æ ¼ç´ã§ããæå°å¤ï¼C90æºæ ï¼
|
---|
| 1047 | (3-2-6) ULONG_MAX unsigned longã«æ ¼ç´ã§ããæ大å¤ï¼C90æºæ ï¼
|
---|
| 1048 | (3-2-7) CHAR_BIT charåã®ãããæ°ï¼C90æºæ ï¼
|
---|
| 1049 |
|
---|
| 1050 | æ´æ°åã®æ大å¤ã»æå°å¤ã»ãããæ°ãï¼ãããã®ã·ã³ãã«ã«ãã¯ãã«å®ç¾©ããï¼
|
---|
| 1051 |
|
---|
| 1052 | ãããã®ãã¯ãã¯ï¼C90ã«æºæ ãããã®ã§ããï¼éçºç°å¢ã«C90ã«æºæ ãã
|
---|
| 1053 | limits.hãç¨æããã¦ããå ´åã«ã¯ï¼ãããã®ãã¯ããå®ç¾©ãããã¨ã«ä»£ãã¦ï¼
|
---|
| 1054 | limits.hãã¤ã³ã¯ã«ã¼ãããã°ããï¼
|
---|
| 1055 |
|
---|
| 1056 | 3.3 ãµã¤ãºã®æå®ãããæ´æ°åï¼ãã®æ大å¤ã»æå°å¤ï¼æ´æ°å®æ°ãä½ããã¯ã
|
---|
| 1057 |
|
---|
| 1058 | (3-3-1) int8_t 符å·ä»ã8ãããæ´æ°ï¼ãªãã·ã§ã³ï¼C99æºæ ï¼
|
---|
| 1059 | (3-3-2) uint8_t 符å·ç¡ã8ãããæ´æ°ï¼ãªãã·ã§ã³ï¼C99æºæ ï¼
|
---|
| 1060 | (3-3-3) int16_t 符å·ä»ã16ãããæ´æ°ï¼C99æºæ ï¼
|
---|
| 1061 | (3-3-4) uint16_t 符å·ç¡ã16ãããæ´æ°ï¼C99æºæ ï¼
|
---|
| 1062 | (3-3-5) int32_t 符å·ä»ã32ãããæ´æ°ï¼C99æºæ ï¼
|
---|
| 1063 | (3-3-6) uint32_t 符å·ç¡ã32ãããæ´æ°ï¼C99æºæ ï¼
|
---|
| 1064 | (3-3-7) int64_t 符å·ä»ã64ãããæ´æ°ï¼ãªãã·ã§ã³ï¼C99æºæ ï¼
|
---|
| 1065 | (3-3-8) uint64_t 符å·ç¡ã64ãããæ´æ°ï¼ãªãã·ã§ã³ï¼C99æºæ ï¼
|
---|
| 1066 | (3-3-9) int128_t 符å·ä»ã128ãããæ´æ°ï¼ãªãã·ã§ã³ï¼C99æºæ ï¼
|
---|
| 1067 | (3-3-10) uint128_t 符å·ç¡ã128ãããæ´æ°ï¼ãªãã·ã§ã³ï¼C99æºæ ï¼
|
---|
| 1068 | (3-3-11) int_least8_t 8ããã以ä¸ã®ç¬¦å·ä»ãæ´æ°ï¼C99æºæ ï¼
|
---|
| 1069 | (3-3-12) uint_least8_t 8ããã以ä¸ã®ç¬¦å·ç¡ãæ´æ°ï¼C99æºæ ï¼
|
---|
| 1070 | (3-3-13) size_t ã¡ã¢ãªé åã®ãµã¤ãºã表ã符å·ç¡ãæ´æ°ï¼C90æºæ ï¼
|
---|
| 1071 | (3-3-14) intptr_t ãã¤ã³ã¿ãæ ¼ç´ã§ãããµã¤ãºã®ç¬¦å·ä»ãæ´æ°ï¼C99æºæ ï¼
|
---|
| 1072 | (3-3-15) uintptr_t ãã¤ã³ã¿ãæ ¼ç´ã§ãããµã¤ãºã®ç¬¦å·ç¡ãæ´æ°ï¼C99æºæ ï¼
|
---|
| 1073 | (3-3-16) INT8_MAX int8_tã«æ ¼ç´ã§ããæ大å¤ï¼ãªãã·ã§ã³ï¼C99æºæ ï¼
|
---|
| 1074 | (3-3-17) INT8_MIN int8_tã«æ ¼ç´ã§ããæå°å¤ï¼ãªãã·ã§ã³ï¼C99æºæ ï¼
|
---|
| 1075 | (3-3-18) UINT8_MAX uint8_tã«æ ¼ç´ã§ããæ大å¤ï¼ãªãã·ã§ã³ï¼C99æºæ ï¼
|
---|
| 1076 | (3-3-19) INT16_MAX int16_tã«æ ¼ç´ã§ããæ大å¤ï¼C99æºæ ï¼
|
---|
| 1077 | (3-3-20) INT16_MIN int16_tã«æ ¼ç´ã§ããæå°å¤ï¼C99æºæ ï¼
|
---|
| 1078 | (3-3-21) UINT16_MAX uint16_tã«æ ¼ç´ã§ããæ大å¤ï¼C99æºæ ï¼
|
---|
| 1079 | (3-3-22) INT32_MAX int32_tã«æ ¼ç´ã§ããæ大å¤ï¼C99æºæ ï¼
|
---|
| 1080 | (3-3-23) INT32_MIN int32_tã«æ ¼ç´ã§ããæå°å¤ï¼C99æºæ ï¼
|
---|
| 1081 | (3-3-24) UINT32_MAX uint32_tã«æ ¼ç´ã§ããæ大å¤ï¼C99æºæ ï¼
|
---|
| 1082 | (3-3-25) INT64_MAX int64_tã«æ ¼ç´ã§ããæ大å¤ï¼ãªãã·ã§ã³ï¼C99æºæ ï¼
|
---|
| 1083 | (3-3-26) INT64_MIN int64_tã«æ ¼ç´ã§ããæå°å¤ï¼ãªãã·ã§ã³ï¼C99æºæ ï¼
|
---|
| 1084 | (3-3-27) UINT64_MAX uint64_tã«æ ¼ç´ã§ããæ大å¤ï¼ãªãã·ã§ã³ï¼C99æºæ ï¼
|
---|
| 1085 | (3-3-28) INT128_MAX int128_tã«æ ¼ç´ã§ããæ大å¤ï¼ãªãã·ã§ã³ï¼C99æºæ ï¼
|
---|
| 1086 | (3-3-29) INT128_MIN int128_tã«æ ¼ç´ã§ããæå°å¤ï¼ãªãã·ã§ã³ï¼C99æºæ ï¼
|
---|
| 1087 | (3-3-30) UINT128_MAX uint128_tã«æ ¼ç´ã§ããæ大å¤ï¼ãªãã·ã§ã³ï¼C99æºæ ï¼
|
---|
| 1088 | (3-3-31) INT_LEAST8_MAX int_least8_tã«æ ¼ç´ã§ããæ大å¤ï¼C99æºæ ï¼
|
---|
| 1089 | (3-3-32) INT_LEAST8_MIN int_least8_tã«æ ¼ç´ã§ããæå°å¤ï¼C99æºæ ï¼
|
---|
| 1090 | (3-3-33) UINT_LEAST8_MAX uint_least8_tã«æ ¼ç´ã§ããæ大å¤ï¼C99æºæ ï¼
|
---|
| 1091 | (3-3-34) INT8_C(val) int_least8_tåã®å®æ°ãä½ããã¯ãï¼C99æºæ ï¼
|
---|
| 1092 | (3-3-35) UINT8_C(val) uint_least8_tåã®å®æ°ãä½ããã¯ãï¼C99æºæ ï¼
|
---|
| 1093 | (3-3-36) INT16_C(val) int16_tåã®å®æ°ãä½ããã¯ãï¼C99æºæ ï¼
|
---|
| 1094 | (3-3-37) UINT16_C(val) uint16_tåã®å®æ°ãä½ããã¯ãï¼C99æºæ ï¼
|
---|
| 1095 | (3-3-38) INT32_C(val) int32_tåã®å®æ°ãä½ããã¯ãï¼C99æºæ ï¼
|
---|
| 1096 | (3-3-39) UINT32_C(val) uint32_tåã®å®æ°ãä½ããã¯ãï¼C99æºæ ï¼
|
---|
| 1097 | (3-3-40) INT64_C(val) int64_tåã®å®æ°ãä½ããã¯ãï¼ãªãã·ã§ã³ï¼C99æºæ ï¼
|
---|
| 1098 | (3-3-41) UINT64_C(val) uint64_tåã®å®æ°ãä½ããã¯ãï¼ãªãã·ã§ã³ï¼C99æºæ ï¼
|
---|
| 1099 | (3-3-42) INT128_C(val) int128_tåã®å®æ°ãä½ããã¯ãï¼ãªãã·ã§ã³ï¼C99æºæ ï¼
|
---|
| 1100 | (3-3-43) UINT128_C(val) uint128_tåã®å®æ°ãä½ããã¯ãï¼ãªãã·ã§ã³ï¼C99æºæ ï¼
|
---|
| 1101 |
|
---|
| 1102 | æå®ããããµã¤ãºã®æ´æ°åãï¼ãããã®ã·ã³ãã«ã«åå®ç¾©ããï¼ã¾ãï¼ãã¼ã¿
|
---|
| 1103 | åã«æ ¼ç´ã§ããæ大å¤ã»æå°å¤ã¨ï¼æ´æ°å®æ°ãä½ããã¯ããï¼ãããã®ã·ã³ã
|
---|
| 1104 | ã«ã«ãã¯ãå®ç¾©ããï¼
|
---|
| 1105 |
|
---|
| 1106 | size_tåã¯ï¼C90ã«æºæ ãããã®ã§ããï¼C90æºæ ã®Cè¨èªç°å¢ã§ã¯ï¼size_tã®å®
|
---|
| 1107 | 義ã¯stddef.hçã«å«ã¾ãã¦ããããï¼ãããã¤ã³ã¯ã«ã¼ããã¦ãããï¼
|
---|
| 1108 |
|
---|
| 1109 | ãã®ä»ã®ãã¼ã¿åããã³ãã¯ãã¯ï¼C99ã«æºæ ãããã®ã§ããï¼éçºç°å¢ã«C99
|
---|
| 1110 | ã«æºæ ããstdint.hãç¨æããã¦ããå ´åã«ã¯ï¼ãããã®ãã¼ã¿åããã³ãã¯
|
---|
| 1111 | ããå®ç¾©ãããã¨ã«ä»£ãã¦ï¼stdint.hãã¤ã³ã¯ã«ã¼ãããã°ããï¼
|
---|
| 1112 |
|
---|
| 1113 | ä¸ã§ãªãã·ã§ã³ã¨è¨è¿°ãããã®ã¯ï¼è©²å½ãããã¼ã¿åãã³ã³ãã¤ã©ã§ãµãã¼ã
|
---|
| 1114 | ããã¦ããå ´åã«ã®ã¿å®ç¾©ãããã¨ã示ãï¼
|
---|
| 1115 |
|
---|
| 1116 | 3.4 ãµã¤ãºã®æå®ãããæµ®åå°æ°ç¹åï¼ãã®æ大å¤ã»æå°å¤ã®ãã¯ã
|
---|
| 1117 |
|
---|
| 1118 | (3-4-1) float32_t IEEE754æºæ ã®32ãããå精度浮åå°æ°ç¹æ°ï¼ãªã
|
---|
| 1119 | ã·ã§ã³ï¼
|
---|
| 1120 | (3-4-2) double64_t IEEE754æºæ ã®64ãããå精度浮åå°æ°ç¹æ°ï¼ãªã
|
---|
| 1121 | ã·ã§ã³ï¼
|
---|
| 1122 | (3-4-3) FLOAT32_MIN float32_tã«æ ¼ç´ã§ããæå°ã®æ£è¦åãããæ£ã®æµ®
|
---|
| 1123 | åå°æ°ç¹æ°ï¼ãªãã·ã§ã³ï¼
|
---|
| 1124 | (3-4-4) FLOAT32_MAX float32_tã«æ ¼ç´ã§ãã表ç¾å¯è½ãªæ大ã®æéæµ®å
|
---|
| 1125 | å°æ°ç¹æ°ï¼ãªãã·ã§ã³ï¼
|
---|
| 1126 | (3-4-5) DOUBLE64_MIN double64_tã«æ ¼ç´ã§ããæå°ã®æ£è¦åãããæ£ã®æµ®
|
---|
| 1127 | åå°æ°ç¹æ°ï¼ãªãã·ã§ã³ï¼
|
---|
| 1128 | (3-4-6) DOUBLE64_MAX double64_tã«æ ¼ç´ã§ãã表ç¾å¯è½ãªæ大ã®æéæµ®å
|
---|
| 1129 | å°æ°ç¹æ°ï¼ãªãã·ã§ã³ï¼
|
---|
| 1130 |
|
---|
| 1131 | æå®ããããµã¤ãºã»è¡¨ç¾å½¢å¼ã®æµ®åå°æ°ç¹åãï¼ãããã®ã·ã³ãã«ã«åå®ç¾©ã
|
---|
| 1132 | ãï¼ã¾ãï¼ãã¼ã¿åã«æ ¼ç´ã§ããæ大å¤ã»æå°å¤ãï¼ãããã®ã·ã³ãã«ã«ãã¯
|
---|
| 1133 | ãå®ç¾©ããï¼
|
---|
| 1134 |
|
---|
| 1135 | ããããï¼è©²å½ãããã¼ã¿åãã³ã³ãã¤ã©ã§ãµãã¼ãããã¦ããå ´åã«ã®ã¿å®
|
---|
| 1136 | 義ããï¼
|
---|
| 1137 |
|
---|
| 1138 | 3.5 ã³ã³ãã¤ã©ã®æ¡å¼µæ©è½ã®ããã®ãã¯ãå®ç¾©
|
---|
| 1139 |
|
---|
| 1140 | ã³ã³ãã¤ã©ã®æ¡å¼µæ©è½ãç¨ããããã®ãã¯ãã¨ãã¦ï¼å¿
|
---|
| 1141 | è¦ã«å¿ãã¦ï¼ä»¥ä¸ã®ã
|
---|
| 1142 | ã¯ãã®å®ç¾©ãå«ããï¼
|
---|
| 1143 |
|
---|
| 1144 | (3-5-1) inlineï¼ãªãã·ã§ã³ï¼ããã©ã«ãã¯æªå®ç¾©ï¼
|
---|
| 1145 | (3-5-2) Inlineï¼ãªãã·ã§ã³ï¼ããã©ã«ãã¯static inlineï¼
|
---|
| 1146 |
|
---|
| 1147 | ã¤ã³ã©ã¤ã³é¢æ°ã§ãããã¨ã示ãæå®ï¼Inlineã¯ï¼ã³ã³ãã¤ã«åä½ã«ãã¼ã«ã«
|
---|
| 1148 | ãªã¤ã³ã©ã¤ã³é¢æ°ã§ãããã¨ã示ãï¼
|
---|
| 1149 |
|
---|
| 1150 | (3-5-3) asmï¼ãªãã·ã§ã³ï¼ããã©ã«ãã¯æªå®ç¾©ï¼
|
---|
| 1151 | (3-5-4) Asmï¼ãªãã·ã§ã³ï¼ããã©ã«ãã¯æªå®ç¾©ï¼
|
---|
| 1152 |
|
---|
| 1153 | ã¤ã³ã©ã¤ã³ã¢ã»ã³ãã©ãè¨è¿°ããããã®æå®ï¼Asmã¯ï¼æé©åã«ããåé¤ãã¦ã¯
|
---|
| 1154 | ãªããªããã¨ã示ãï¼ãããã¯ï¼ã¿ã¼ã²ããä¾åé¨ã§ã®ã¿ä½¿ããã¯ãã§ããã
|
---|
| 1155 | ãï¼ã¿ã¼ã²ããä¾åé¨ã§ä½¿ããªããªãå®ç¾©ããå¿
|
---|
| 1156 | è¦ã¯ãªãï¼
|
---|
| 1157 |
|
---|
| 1158 | (3-5-5) offsetof(structure, field)ï¼ãªãã·ã§ã³ï¼ããã©ã«ãã®å®ç¾©ããï¼
|
---|
| 1159 |
|
---|
| 1160 | æ§é ä½structureã®ä¸ã§ã®ï¼ãã£ã¼ã«ãfieldã®ãªãã»ãããæ±ãããã¯ãï¼
|
---|
| 1161 | C90æºæ ã®Cè¨èªç°å¢ã§ã¯ï¼offsetofã®å®ç¾©ã¯stddef.hã«å«ã¾ãã¦ããããï¼ã
|
---|
| 1162 | ããã¤ã³ã¯ã«ã¼ããã¦ãããï¼
|
---|
| 1163 |
|
---|
| 1164 | (3-5-6) alignof(type)ï¼ãªãã·ã§ã³ï¼ããã©ã«ãã®å®ç¾©ããï¼
|
---|
| 1165 |
|
---|
| 1166 | ãã¼ã¿åtypeã®ã¢ã©ã¤ã³ã¡ã³ãåä½ãæ±ãããã¯ãï¼
|
---|
| 1167 |
|
---|
| 1168 | (3-5-7) NoReturnï¼ãªãã·ã§ã³ï¼ããã©ã«ãã¯æªå®ç¾©ï¼
|
---|
| 1169 |
|
---|
| 1170 | ãªã¿ã¼ã³ãããã¨ã®ãªãé¢æ°ã§ãããã¨ã示ãæå®ï¼ããã¯ï¼ã¿ã¼ã²ããä¾å
|
---|
| 1171 | é¨ã®ã¿ä½¿ããã¯ãã§ããããï¼ã¿ã¼ã²ããä¾åé¨ã§ä½¿ããªããªãå®ç¾©ããå¿
|
---|
| 1172 | è¦
|
---|
| 1173 | ã¯ãªãï¼
|
---|
| 1174 |
|
---|
| 1175 | 3.6 æ¨æºçãªå®ç¾©ã®ä¸æ¸ã
|
---|
| 1176 |
|
---|
| 1177 | t_stddef.hã«å«ã¾ããTOPPERSå
|
---|
| 1178 | ±éå®ç¾©ã®æ¨æºçãªå®ç¾©ãä¸æ¸ãããå ´åã«ã¯ï¼
|
---|
| 1179 | 以ä¸ã®ãã¯ããå®ç¾©ããï¼
|
---|
| 1180 |
|
---|
| 1181 | (3-6-1) TOPPERS_boolï¼ãªãã·ã§ã³ï¼ããã©ã«ãã¯intï¼
|
---|
| 1182 | (3-6-2) TOPPERS_fpï¼ãªãã·ã§ã³ï¼ããã©ã«ãã¯ä»ã¨äºææ§ã®ãªãé¢æ°ãã¤ã³ã¿ï¼
|
---|
| 1183 |
|
---|
| 1184 | ããããï¼bool_tï¼FPã«åå®ç¾©ãã¹ããã¼ã¿åï¼
|
---|
| 1185 |
|
---|
| 1186 | (3-6-3) UINT_C(val)ï¼ãªãã·ã§ã³ï¼ããã©ã«ãã¯Uãä»å ï¼
|
---|
| 1187 | (3-6-4) ULONG_C(val)ï¼ãªãã·ã§ã³ï¼ããã©ã«ãã¯ULãä»å ï¼
|
---|
| 1188 |
|
---|
| 1189 | ããããï¼unsigned uintåï¼unsigned longåã®å®æ°ãä½ãããã®ãã¯ãï¼
|
---|
| 1190 |
|
---|
| 1191 | (3-6-5) NULLï¼ãªãã·ã§ã³ï¼ããã©ã«ãã¯0ï¼
|
---|
| 1192 |
|
---|
| 1193 | C90æºæ ã®Cè¨èªç°å¢ã§ã¯ï¼NULLã®å®ç¾©ã¯stddef.hã«å«ã¾ãã¦ããããï¼ããã
|
---|
| 1194 | ã¤ã³ã¯ã«ã¼ããã¦ãããï¼
|
---|
| 1195 |
|
---|
| 1196 | (3-6-6) ERCD(mercd, sercd)ï¼ãªãã·ã§ã³ï¼
|
---|
| 1197 | (3-6-7) MERCD(ercd)ï¼ãªãã·ã§ã³ï¼
|
---|
| 1198 | (3-6-8) SERCD(ercd)ï¼ãªãã·ã§ã³ï¼
|
---|
| 1199 |
|
---|
| 1200 | ERCDï¼MERCDï¼SERCDã®æ¨æºã®å®ç¾©ã¯ï¼ç¬¦å·ä»ãæ´æ°ã2ã®è£æ°ã§è¡¨ç¾ããã¦ããï¼
|
---|
| 1201 | å³ã·ããæ¼ç®åï¼>>ï¼ãç®è¡ã·ããããããã¨ãä»®å®ãã¦ããï¼å¤ãã®ã³ã³ã
|
---|
| 1202 | ã¤ã©ã§ãã®ä»®å®ãæãç«ã¤ãï¼ããã§ãªãå ´åã«ã¯ï¼ã¿ã¼ã²ããä¾åé¨ã§ãã
|
---|
| 1203 | ãã®å®ç¾©ãä¸æ¸ãããå¿
|
---|
| 1204 | è¦ãããï¼
|
---|
| 1205 |
|
---|
| 1206 | (3-6-9) ALIGN_TYPE(addr, type)ï¼ãªãã·ã§ã³ï¼
|
---|
| 1207 |
|
---|
| 1208 | ã¢ãã¬ã¹addrãï¼ãã¼ã¿åtypeã®ã¢ã©ã¤ã³ã¡ã³ãåä½ã«ã¢ã©ã¤ã³ãã¦ããã
|
---|
| 1209 | ãã§ãã¯ãããã¯ãï¼
|
---|
| 1210 |
|
---|
| 1211 | 3.7 ã¢ãµã¼ã·ã§ã³ã®ããã®å®ç¾©
|
---|
| 1212 |
|
---|
| 1213 | t_stddef.hã«ã¯ï¼assertã®å®ç¾©ãå«ã¾ããï¼assertã失æããå ´åï¼assertã®
|
---|
| 1214 | ãã©ã¡ã¼ã¿ãfalseã«ãªã£ãå ´åï¼ã®å¦çãï¼ã¿ã¼ã²ããä¾åã«ç¨æããå¿
|
---|
| 1215 | è¦ã
|
---|
| 1216 | ããï¼ãããã®å®ç¾©ã¯ï¼assertãã¯ãã使ç¨ããåã§ããã°ï¼t_stddef.h以é
|
---|
| 1217 | ã«ã¤ã³ã¯ã«ã¼ãããããã¡ã¤ã«ã«å«ã¾ãã¦ãã¦ãããï¼ãªãï¼assertãç¡å¹ã«
|
---|
| 1218 | ããï¼NDEBUGããã¯ãå®ç¾©ãã¦ã³ã³ãã¤ã«ããï¼å ´åã«ã¯ï¼ããããç¨æãã
|
---|
| 1219 | å¿
|
---|
| 1220 | è¦ã¯ãªãï¼
|
---|
| 1221 |
|
---|
| 1222 | (3-7-1) TOPPERS_assert_abort(void)
|
---|
| 1223 |
|
---|
| 1224 | assertã失æããå ´åã«ï¼ããã°ã©ã ãåæ¢ãããé¢æ°ï¼ã·ã¹ãã éçºä¸ã¯ã
|
---|
| 1225 | ããã¬ã«è½ã¨ãã®ãçæ³çã§ããï¼ã·ã¹ãã 稼åæã«ã¯ä¾å¤å¦çãè¡ãããã
|
---|
| 1226 | ã¨ã«ãªãï¼
|
---|
| 1227 |
|
---|
| 1228 | (3-7-2) TOPPERS_assert_fail(exp, file, line)
|
---|
| 1229 |
|
---|
| 1230 | assertã失æããæã®æ
|
---|
| 1231 | å ±ã表示/è¨é²ããããã®ãã¯ãï¼ã·ã¹ãã ãã°æ©è½ã
|
---|
| 1232 | ç¨ããå ´åã«ã¯ï¼t_syslog.hã«ã·ã¹ãã ãã°æ©è½ã«è¨é²ããããã®å®ç¾©ãå«ã¾
|
---|
| 1233 | ãã¦ããã®ã§ï¼ã¿ã¼ã²ããä¾åé¨ã§ç¨æããå¿
|
---|
| 1234 | è¦ã¯ãªãï¼
|
---|
| 1235 |
|
---|
| 1236 |
|
---|
| 1237 | ï¼ï¼ã·ã¹ãã ã¤ã³ã¿ãã§ã¼ã¹ã¬ã¤ã¤ï¼SILï¼ã®ã¿ã¼ã²ããä¾åé¨
|
---|
| 1238 |
|
---|
| 1239 | ã·ã¹ãã ã¤ã³ã¿ãã§ã¼ã¹ã¬ã¤ã¤ï¼SILï¼sil.hï¼ã®ã¿ã¼ã²ããä¾åé¨ã®å®ç¾©ã¯ï¼
|
---|
| 1240 | target_sil.hã¾ãã¯ããããã¤ã³ã¯ã«ã¼ãããããã¡ã¤ã«ï¼éçºç°å¢ä¾åé¨ï¼
|
---|
| 1241 | ããã»ããµã³ã¢ä¾åé¨ï¼ãããä¾åé¨ã§ç¨æãããããããã¡ã¤ã«ãªã©ï¼ã«å«
|
---|
| 1242 | ããï¼
|
---|
| 1243 |
|
---|
| 1244 | SILã®ãµã¼ãã¹ã³ã¼ã«ã¯ï¼ä»»æã®ã·ã¹ãã ç¶æ
|
---|
| 1245 | ã§å¼ã³åºããã¨ãã§ããï¼ãã®ã
|
---|
| 1246 | ãï¼SILã®ã¿ã¼ã²ããä¾åé¨ã®é¢æ°ã¯ï¼ä»»æã®ã·ã¹ãã ç¶æ
|
---|
| 1247 | ã§å¼ã³åºããããã«
|
---|
| 1248 | å®è£
|
---|
| 1249 | ããªããã°ãªããªãï¼
|
---|
| 1250 |
|
---|
| 1251 | 4.1 å
|
---|
| 1252 | ¨å²è¾¼ã¿ããã¯ç¶æ
|
---|
| 1253 | ã®ç®¡ç
|
---|
| 1254 |
|
---|
| 1255 | SILã®ã¿ã¼ã²ããä¾åé¨ã§ã¯ï¼å
|
---|
| 1256 | ¨å²è¾¼ã¿ããã¯ç¶æ
|
---|
| 1257 | ã¸é·ç§»ããæ©è½ã¨ï¼å
|
---|
| 1258 | ã®ç¶æ
|
---|
| 1259 |
|
---|
| 1260 | ã¸æ»ãæ©è½ï¼å
|
---|
| 1261 | ã®ç¶æ
|
---|
| 1262 | ãè¨æ¶ããããã«å¤æ°ã使ãï¼ãæä¾ããï¼å
|
---|
| 1263 | ¨å²è¾¼ã¿ãã
|
---|
| 1264 | ã¯ç¶æ
|
---|
| 1265 | ã§ããããå¤å¥ããæ©è½ã¯æä¾ããå¿
|
---|
| 1266 | è¦ããªãï¼
|
---|
| 1267 |
|
---|
| 1268 | SILã®æ©è½ã¯ï¼ã«ã¼ãã«ã使ç¨ããªãå ´åã«ã使ç¨ã§ããå¿
|
---|
| 1269 | è¦ãããï¼ãã®ããï¼
|
---|
| 1270 | å
|
---|
| 1271 | ¨å²è¾¼ã¿ããã¯ç¶æ
|
---|
| 1272 | ã¸ã®é·ç§»ã¨å
|
---|
| 1273 | ã®ç¶æ
|
---|
| 1274 | ã¸ã®å¾©å¸°ã¯ï¼ã«ã¼ãã«ãç¨ããï¼ãã
|
---|
| 1275 | ã»ããµã®ãªã½ã¼ã¹ãç´æ¥æä½ãããã¨ã«ãã£ã¦å®ç¾ããï¼ã¾ãï¼å
|
---|
| 1276 | ¨å²è¾¼ã¿ãã
|
---|
| 1277 | ã¯ç¶æ
|
---|
| 1278 | ã¸ã®é·ç§»ã¨å
|
---|
| 1279 | ã®ç¶æ
|
---|
| 1280 | ã¸ã®å¾©å¸°ã¯ï¼å
|
---|
| 1281 | ¨å²è¾¼ã¿ããã¯ç¶æ
|
---|
| 1282 | ãCPUããã¯ç¶æ
|
---|
| 1283 | ã§
|
---|
| 1284 | ãè¡ããå¿
|
---|
| 1285 | è¦ãããï¼
|
---|
| 1286 |
|
---|
| 1287 | ä¿è·æ©è½ãæã£ãã«ã¼ãã«ã§ã¯ï¼ã¦ã¼ã¶ã¿ã¹ã¯ããããã»ããµã®ãªã½ã¼ã¹ãç´
|
---|
| 1288 | æ¥æä½ãããã¨ãã§ããªãããï¼ã¦ã¼ã¶ã¿ã¹ã¯ããã¯ãããã®æ©è½ãç¨ããã
|
---|
| 1289 | ã¨ãã§ããªãï¼ç¨ããå ´åã®æ¯èãã¯ã¿ã¼ã²ããããã»ããµã«ä¾åãããï¼å
|
---|
| 1290 | ¸
|
---|
| 1291 | åçã«ã¯ï¼ç¹æ¨©å½ä»¤éåãªã©ã®CPUä¾å¤ãçºçãããã¨ã«ãªãï¼
|
---|
| 1292 |
|
---|
| 1293 | (4-1-1) SIL_PRE_LOC
|
---|
| 1294 |
|
---|
| 1295 | å
|
---|
| 1296 | ¨å²è¾¼ã¿ããã¯ãã©ã°ã®ç¶æ
|
---|
| 1297 | ãä¿åããããã®å¤æ°ãå®ç¾©ãããã¯ãï¼ååã®
|
---|
| 1298 | å¾ã«ï¼å¤æ°åãç¶ãããã®ã«å®ç¾©ããï¼å¤æ°åã¯ï¼ä»ã®ååã¨è¡çªããªããã
|
---|
| 1299 | ã«ï¼"TOPPERS_"ã§å§ã¾ãååã«ããï¼
|
---|
| 1300 |
|
---|
| 1301 | (4-1-2) SIL_LOC_INT()
|
---|
| 1302 |
|
---|
| 1303 | ç¾å¨ã®å
|
---|
| 1304 | ¨å²è¾¼ã¿ããã¯ãã©ã°ã®ç¶æ
|
---|
| 1305 | ãSIL_PRE_LOCã§å®ç¾©ããå¤æ°ã«ä¿åãï¼å
|
---|
| 1306 | ¨
|
---|
| 1307 | å²è¾¼ã¿ããã¯ç¶æ
|
---|
| 1308 | ã«é·ç§»ããããã¯ãï¼ãã®ãã¯ããå®ç¾ããéã«ã¯ï¼ã1.5
|
---|
| 1309 | ã¯ãªãã£ã«ã«ã»ã¯ã·ã§ã³ã®åºå
|
---|
| 1310 | ¥å¦çã®å®ç¾ã«é¢ããå¶ç´ãã®ç¯ã«è¨è¿°ããã¦ã
|
---|
| 1311 | ãå¶ç´ã«å¾ããªããã°ãªããªãï¼
|
---|
| 1312 |
|
---|
| 1313 | (4-1-3) SIL_UNL_INT()
|
---|
| 1314 |
|
---|
| 1315 | SIL_LOC_INT()ã«ãã£ã¦å¤æ°ã«ä¿åããç¶æ
|
---|
| 1316 | ã«æ»ããã¯ãï¼ãã®ãã¯ããå®ç¾ã
|
---|
| 1317 | ãéã«ã¯ï¼ã1.5 ã¯ãªãã£ã«ã«ã»ã¯ã·ã§ã³ã®åºå
|
---|
| 1318 | ¥å¦çã®å®ç¾ã«é¢ããå¶ç´ãã®
|
---|
| 1319 | ç¯ã«è¨è¿°ããã¦ããå¶ç´ã«å¾ããªããã°ãªããªãï¼
|
---|
| 1320 |
|
---|
| 1321 | 4.2 å¾®å°æéå¾
|
---|
| 1322 | ã¡
|
---|
| 1323 |
|
---|
| 1324 | (4-2-1) void sil_dly_nse(ulong_t dlytim)
|
---|
| 1325 |
|
---|
| 1326 | dlytimã§æå®ããã以ä¸ã®æéï¼åä½ã¯ããç§ï¼ï¼ã«ã¼ããªã©ã«ãã£ã¦å¾
|
---|
| 1327 | ã¤é¢
|
---|
| 1328 | æ°ï¼
|
---|
| 1329 |
|
---|
| 1330 | 以ä¸ã®é¢æ°ã¨ç価ãªå¦çãï¼ã¢ã»ã³ããªè¨èªã§è¨è¿°ããæ¹æ³ãï¼æ¨æºçãªå®è£
|
---|
| 1331 |
|
---|
| 1332 | æ¹æ³ã¨ããï¼ã¢ã»ã³ããªè¨èªã§è¨è¿°ããã®ã¯ï¼ã³ã³ãã¤ã©ã®æé©åã«ä¾åããª
|
---|
| 1333 | ãããã«ããããã§ããï¼ã¾ããã®é¢æ°ã¯ï¼ãã£ãã·ã¥çã®å½±é¿ãåããªãã
|
---|
| 1334 | ãã«ï¼ã§ããéãã¡ã¢ãªã¢ã¯ã»ã¹ãè¡ããªãããã«å®è£
|
---|
| 1335 | ãã¹ãã§ããï¼
|
---|
| 1336 |
|
---|
| 1337 | void sil_dly_nse(ulong_t dlytim)
|
---|
| 1338 | {
|
---|
| 1339 | dlytim -= SIL_DLY_TIM1;
|
---|
| 1340 | if (çµæã0ãã大ãã) {
|
---|
| 1341 | do {
|
---|
| 1342 | dlytim -= SIL_DLY_TIM2;
|
---|
| 1343 | } while (çµæã0ãã大ãã);
|
---|
| 1344 | }
|
---|
| 1345 | }
|
---|
| 1346 |
|
---|
| 1347 | ãã®é¢æ°ã®åä½ã¯æ¬¡ã®éãã§ããï¼dlytimãSIL_DLY_TIM1以ä¸ã®å ´åã«ã¯ï¼æ
|
---|
| 1348 | åã®ifæã®æ¡ä»¶ãæç«ããï¼ããã«é¢æ°ããæããï¼dlytimãSIL_DLY_TIM1ã
|
---|
| 1349 | ã大ããï¼(SIL_DLY_TIM1+SIL_DLY_TIM2)以ä¸ã®å ´åã«ã¯ï¼æåã®ifæã®æ¡ä»¶ã¯
|
---|
| 1350 | æç«ãããï¼doã«ã¼ãã¯1åãåããã«é¢æ°ããæããï¼dlytimã
|
---|
| 1351 | (SIL_DLY_TIM1+SIL_DLY_TIM2)ãã大ããï¼(SIL_DLY_TIM1+SIL_DLY_TIM2*2)以
|
---|
| 1352 | ä¸ã®å ´åã«ã¯ï¼doã«ã¼ãã1åã ãåã£ã¦é¢æ°ããæããï¼ãã®å¾ï¼dlytimã
|
---|
| 1353 | SIL_DLY_TIM2大ãããªã度ã«ï¼whileã«ã¼ããåãåæ°ã1åãã¤å¢ããï¼
|
---|
| 1354 |
|
---|
| 1355 | ãªãï¼ãã®é¢æ°ãã¢ã»ã³ããªè¨èªï¼ã¾ãã¯ï¼Cè¨èªï¼ã§è¨è¿°ããå ´åï¼ã©ã®ãã¡
|
---|
| 1356 | ã¤ã«ã«è¨è¿°ããããåé¡ã«ãªãï¼SILã®ã¿ã¼ã²ããä¾åé¨ã«ã¯ï¼æ¨æºã§ã¯ï¼ã¢ã»
|
---|
| 1357 | ã³ããªè¨èªï¼ã¾ãã¯ï¼Cè¨èªï¼ã®é¢æ°å®ç¾©ãè¨è¿°ããããã®ãã¡ã¤ã«ãç¨æãã¦
|
---|
| 1358 | ããªãï¼ã¿ã¼ã²ããä¾åã§ç¨æãã¦ããããï¼ä¾å¤çã«ï¼ã«ã¼ãã«å®è£
|
---|
| 1359 | ã®ã¿ã¼
|
---|
| 1360 | ã²ããä¾åã¢ã¸ã¥ã¼ã«ï¼target_support.Sã¾ãã¯target_kernel_impl.cï¼ã«è¨
|
---|
| 1361 | è¿°ãã¦ããããã¨ã«ããï¼
|
---|
| 1362 |
|
---|
| 1363 | (4-2-2) SIL_DLY_TIM1ï¼ãªãã·ã§ã³ï¼
|
---|
| 1364 | (4-2-3) SIL_DLY_TIM2ï¼ãªãã·ã§ã³ï¼
|
---|
| 1365 |
|
---|
| 1366 | sil_dly_nseãä¸è¨ã®æ¨æºçãªæ¹æ³ã§å®ç¾ããå ´åï¼ãã®2ã¤ã®å®æ°ãã¿ã¼ã²ã
|
---|
| 1367 | ãä¾åé¨ã§ãã¯ãå®ç¾©ããï¼
|
---|
| 1368 |
|
---|
| 1369 | SIL_DLY_TIM2ã¯ï¼ä¸è¨ã®é¢æ°ã«ããã¦ï¼doã«ã¼ã1åã®å®è¡æéï¼åä½ã¯ããç§ï¼
|
---|
| 1370 | ã«è¨å®ããï¼ã¿ã¼ã²ããããã»ããµã®å½ä»¤ã»ããã«ããããï¼ããããï¼æ¸ç®
|
---|
| 1371 | å½ä»¤ã¨æ¡ä»¶åå²å½ä»¤å1åã®å®è¡æéã«ãªãï¼SIL_DLY_TIM2ã決ã¾ãã°ï¼é¢æ°å¼
|
---|
| 1372 | åºããå«ããå
|
---|
| 1373 | ¨ä½ã®æéãdlytimã§æå®ããã以ä¸ã®æéã«ãªãããã«ï¼
|
---|
| 1374 | SIL_DLY_TIM1ã決ããï¼
|
---|
| 1375 |
|
---|
| 1376 | ãã®2ã¤ã®å®æ°å¤ã®æ±ºå®ãæ¯æ´ããããã°ã©ã ã¨ãã¦ï¼testãã£ã¬ã¯ããªã«ï¼
|
---|
| 1377 | test_dlynseãç¨æãã¦ããï¼test_dlynseãå®è¡ããã¨ï¼æ¬¡ã®ãããªåºåãå¾
|
---|
| 1378 | ãããï¼
|
---|
| 1379 |
|
---|
| 1380 | -- for fitting parameters --
|
---|
| 1381 | sil_dly_nse(0): 430 OK
|
---|
| 1382 | sil_dly_nse(420): 430 OK
|
---|
| 1383 | sil_dly_nse(510): 520 OK
|
---|
| 1384 | sil_dly_nse(600): 610 OK
|
---|
| 1385 | <ä¸ç¥>
|
---|
| 1386 | -- for checking boundary conditions --
|
---|
| 1387 | sil_dly_nse(421): 520 OK
|
---|
| 1388 | sil_dly_nse(511): 610 OK
|
---|
| 1389 | sil_dly_nse(601): 700 OK
|
---|
| 1390 |
|
---|
| 1391 | "for fitting parameters"ã«ç¶ãåºåã¯ï¼sil_dly_nse(dlytim)ãå¼ã³åºããå ´
|
---|
| 1392 | åã®å¾
|
---|
| 1393 | ã¡æéã測å®ããçµæã§ããï¼ãã®ããã°ã©ã ãç¨ãã¦ï¼":"ã®å³å´ã®æ°
|
---|
| 1394 | å¤ãï¼dlytimããã大ããç¯å²ã§ãªãã¹ãè¿ãå¤ã«ãªãããã«ï¼2ã¤ã®å®æ°å¤ã
|
---|
| 1395 | 調æ´ããï¼"for checking boundary conditions"ã«ç¶ãåºåã¯ï¼ããã°ã©ã ã®
|
---|
| 1396 | 妥å½æ§ããã§ãã¯ããããã®ãã®ã§ï¼":"ã®å³å´ã®æ°å¤ãï¼dlytimããã大ãã
|
---|
| 1397 | ãã¨ã確èªããï¼è¿ãå¤ã«ãªãå¿
|
---|
| 1398 | è¦ã¯ãªãï¼ï¼
|
---|
| 1399 |
|
---|
| 1400 | 4.3 ããã»ããµã®ã¨ã³ãã£ã¢ã³
|
---|
| 1401 |
|
---|
| 1402 | (4-3-1) SIL_ENDIAN_BIG
|
---|
| 1403 | (4-3-2) SIL_ENDIAN_LITTLE
|
---|
| 1404 |
|
---|
| 1405 | ããã»ããµã®ã¨ã³ãã£ã¢ã³ã«ããï¼ããããçæ¹ã®ã·ã³ãã«ããã¯ãå®ç¾©ããï¼
|
---|
| 1406 |
|
---|
| 1407 | (4-3-3) TOPPERS_SIL_REV_ENDIAN_UINT16ï¼ãªãã·ã§ã³ï¼
|
---|
| 1408 | (4-3-4) TOPPERS_SIL_REV_ENDIAN_UINT32ï¼ãªãã·ã§ã³ï¼
|
---|
| 1409 |
|
---|
| 1410 | ããããï¼16ãããï¼32ãããã®ç¬¦å·ç¡ãæ´æ°ã®ã¨ã³ãã£ã¢ã³ãå転ãããã
|
---|
| 1411 | ã¯ãï¼ããã»ããµãã¨ã³ãã£ã¢ã³å転ã®ããã®å½ä»¤ãæã¤å ´åã«ã¯ï¼ãã®å½ä»¤
|
---|
| 1412 | ãç¨ãã¦å®ç¾ããï¼ãããã®ã·ã³ãã«ããã¯ãå®ç¾©ããªãå ´åã«ã¯ï¼ããã©ã«
|
---|
| 1413 | ãã®å®ç¾©ã使ãããï¼
|
---|
| 1414 |
|
---|
| 1415 | 4.4 ã¡ã¢ãªç©ºéã¢ã¯ã»ã¹é¢æ°
|
---|
| 1416 |
|
---|
| 1417 | (4-4-1) TOPPERS_OMIT_SIL_ACCESS
|
---|
| 1418 |
|
---|
| 1419 | æ¨æºã®ã¡ã¢ãªç©ºéã¢ã¯ã»ã¹é¢æ°ã使ç¨ããï¼ã¿ã¼ã²ããä¾åé¨ã§ç¨æããå ´å
|
---|
| 1420 | ã«ã¯ï¼ãã®ã·ã³ãã«ããã¯ãå®ç¾©ããï¼
|
---|
| 1421 |
|
---|
| 1422 | (4-4-2) TOPPERS_OMIT_SIL_REH_LEM
|
---|
| 1423 | (4-4-3) TOPPERS_OMIT_SIL_WRH_LEM
|
---|
| 1424 | (4-4-4) TOPPERS_OMIT_SIL_REH_BEM
|
---|
| 1425 | (4-4-5) TOPPERS_OMIT_SIL_WRH_BEM
|
---|
| 1426 | (4-4-6) TOPPERS_OMIT_SIL_REW_LEM
|
---|
| 1427 | (4-4-7) TOPPERS_OMIT_SIL_WRW_LEM
|
---|
| 1428 | (4-4-8) TOPPERS_OMIT_SIL_REW_BEM
|
---|
| 1429 | (4-4-9) TOPPERS_OMIT_SIL_WRW_BEM
|
---|
| 1430 |
|
---|
| 1431 | ããããï¼æ¨æºã®sil_reh_lemï¼sil_wrh_lemï¼sil_reh_bemï¼sil_wrh_bemï¼
|
---|
| 1432 | sil_rew_lemï¼sil_wrw_lemï¼sil_rew_bemï¼sil_wrw_bemã使ç¨ããï¼ã¿ã¼ã²ã
|
---|
| 1433 | ãä¾åé¨ã§ç¨æããå ´åã«ã¯ï¼ãããã®ã·ã³ãã«ããã¯ãå®ç¾©ããï¼
|
---|
| 1434 |
|
---|
| 1435 | 4.5 I/O空éã¢ã¯ã»ã¹é¢æ°
|
---|
| 1436 |
|
---|
| 1437 | ã¡ã¢ãªç©ºéã¨ã¯å¥ã«I/O空éãæã¤ããã»ããµã§ã¯ï¼I/O空éã«ããããã¤ã¹ã¬
|
---|
| 1438 | ã¸ã¹ã¿ãã¢ã¯ã»ã¹ããããã®é¢æ°ã¨ãã¦ï¼sil_reb_iopï¼sil_wrb_iopï¼
|
---|
| 1439 | sil_reh_iopï¼sil_wrh_iopï¼sil_reh_lepï¼sil_wrh_lepï¼sil_reh_bepï¼
|
---|
| 1440 | sil_wrh_bepï¼sil_rew_iopï¼sil_wrw_iopï¼sil_rew_lepï¼sil_wrw_lepï¼
|
---|
| 1441 | sil_rew_bepï¼sil_wrw_bepã®ä¸ã§å¿
|
---|
| 1442 | è¦ãªãã®ãï¼ã¿ã¼ã²ããä¾åé¨ã§ç¨æããï¼
|
---|
| 1443 |
|
---|
| 1444 |
|
---|
| 1445 | ï¼ï¼ã«ã¼ãã«APIã®ã¿ã¼ã²ããä¾åé¨
|
---|
| 1446 |
|
---|
| 1447 | ã«ã¼ãã«APIï¼kernel.hï¼ã®ã¿ã¼ã²ããä¾åé¨ã®å®ç¾©ã¯ï¼target_kernel.hã¾ã
|
---|
| 1448 | ã¯ããããã¤ã³ã¯ã«ã¼ãããããã¡ã¤ã«ï¼éçºç°å¢ä¾åé¨ï¼ããã»ããµã³ã¢ä¾
|
---|
| 1449 | åé¨ï¼ãããä¾åé¨ã§ç¨æãããããããã¡ã¤ã«ãªã©ï¼ã«å«ããï¼
|
---|
| 1450 |
|
---|
| 1451 | 5.1 ã¿ã¼ã²ããå®ç¾©ã§ãµãã¼ãããæ©è½
|
---|
| 1452 |
|
---|
| 1453 | (5-1-1) TOPPERS_TARGET_SUPPORT_DIS_INT dis_intããµãã¼ããã
|
---|
| 1454 | (5-1-2) TOPPERS_TARGET_SUPPORT_ENA_INT ena_intããµãã¼ããã
|
---|
| 1455 |
|
---|
| 1456 | dis_intï¼ena_intããµãã¼ãããå ´åã«ï¼ããããã®ã·ã³ãã«ããã¯ãå®ç¾©ã
|
---|
| 1457 | ãï¼
|
---|
| 1458 |
|
---|
| 1459 | 5.2 å²è¾¼ã¿åªå
|
---|
| 1460 | 度ã®ç¯å²
|
---|
| 1461 |
|
---|
| 1462 | (5-2-1) TMIN_INTPRI å²è¾¼ã¿åªå
|
---|
| 1463 | 度ã®æå°å¤ï¼æé«å¤ï¼
|
---|
| 1464 | (5-2-2) TMAX_INTPRI å²è¾¼ã¿åªå
|
---|
| 1465 | 度ã®æ大å¤ï¼æä½å¤ï¼
|
---|
| 1466 |
|
---|
| 1467 | ããããï¼ã«ã¼ãã«ç®¡çã®å²è¾¼ã¿åªå
|
---|
| 1468 | 度ã®æå°å¤ï¼ï¼åªå
|
---|
| 1469 | 度ãæé«ï¼ï¼ã«ã¼ã
|
---|
| 1470 | ã«ç®¡çã®å²è¾¼ã¿åªå
|
---|
| 1471 | 度ã®æ大å¤ï¼åªå
|
---|
| 1472 | 度ãæä½ï¼ã«å®ç¾©ããï¼TMAX_INTPRIã¯-1
|
---|
| 1473 | ã«åºå®ããã¦ãããï¼å¯¾ç§°æ§ã®ããã«ï¼ã¿ã¼ã²ããä¾åé¨ã§å®ç¾©ãããã¨ã«ã
|
---|
| 1474 | ã¦ããï¼
|
---|
| 1475 |
|
---|
| 1476 | 5.3 é«å解è½ã¿ã¤ãã®ã¿ã¤ãå¨æã¨ã«ã¦ã³ãå¤ã®é²ã¿å¹
|
---|
| 1477 |
|
---|
| 1478 |
|
---|
| 1479 | é«å解è½ã¿ã¤ããã©ã¤ãã«é¢ãã¦ï¼ã¢ããªã±ã¼ã·ã§ã³ããåç
|
---|
| 1480 | §ã§ãããã¯ãã
|
---|
| 1481 | å®ç¾©ããï¼é«å解è½ã¿ã¤ããã©ã¤ãã®è©³ç´°ã«é¢ãã¦ã¯ï¼ã6.13 é«å解è½ã¿ã¤ã
|
---|
| 1482 | ãã©ã¤ããã®ç¯ãåç
|
---|
| 1483 | §ãããã¨ï¼
|
---|
| 1484 |
|
---|
| 1485 | (5-3-1) TCYC_HRTCNT é«å解è½ã¿ã¤ãã®ã¿ã¤ãå¨æ
|
---|
| 1486 |
|
---|
| 1487 | é«å解è½ã¿ã¤ãã®ã¿ã¤ãå¨æãï¼ãã®ãã¯ãã«å®ç¾©ããï¼ã¿ã¤ãå¨æã2^32ã®
|
---|
| 1488 | å ´åã«ã¯ï¼ãã®ãã¯ããå®ç¾©ããªãï¼
|
---|
| 1489 |
|
---|
| 1490 | (5-3-2) TSTEP_HRTCNT é«å解è½ã¿ã¤ãã®ã«ã¦ã³ãå¤ã®é²ã¿å¹
|
---|
| 1491 |
|
---|
| 1492 |
|
---|
| 1493 | é«å解è½ã¿ã¤ãã®ã«ã¦ã³ãå¤ã®é²ã¿å¹
|
---|
| 1494 | ãï¼ãã®ãã¯ãã«å®ç¾©ããï¼ä¾ãã°ï¼é«
|
---|
| 1495 | å解è½ã¿ã¤ããï¼2ãã¤ã¯ãç§æ¯ã«2ãã¤ã«ã¦ã³ãã¢ããããå ´åã«ã¯ï¼
|
---|
| 1496 | TSTEP_HRTCNTã2ã«å®ç¾©ããï¼
|
---|
| 1497 |
|
---|
| 1498 | 5.4 ã¡ã¢ãªé å確ä¿ã®ããã®åå®ç¾©
|
---|
| 1499 |
|
---|
| 1500 | (5-4-1) TOPPERS_STK_T ã¹ã¿ãã¯é åã確ä¿ããããã®åï¼ãªãã·ã§ã³ï¼
|
---|
| 1501 | (5-4-2) TOPPERS_MPF_T åºå®é·ã¡ã¢ãªãã¼ã«é åã確ä¿ããããã®åï¼ãªãã·ã§ã³ï¼
|
---|
| 1502 |
|
---|
| 1503 | ã¹ã¿ãã¯é åã¨åºå®é·ã¡ã¢ãªãã¼ã«é åã¯ï¼æ¨æºã§ã¯intptr_tåã®é
|
---|
| 1504 | åã¨ãã¦
|
---|
| 1505 | 確ä¿ãããï¼ãã大ããåä½ã§ã¢ã©ã¤ã³ãããããªã©ã®çç±ã§ãã以å¤ã®åã®
|
---|
| 1506 | é
|
---|
| 1507 | åã¨ãã¦ç¢ºä¿ããå ´åã«ã¯ï¼ããããTOPPERS_STK_Tã¨TOPPERS_MPF_Tãï¼é
|
---|
| 1508 |
|
---|
| 1509 | åã®ãã¼ã¹ã¨ãªããã¼ã¿åã«ãã¯ãå®ç¾©ããï¼
|
---|
| 1510 |
|
---|
| 1511 | 5.5 ããããã¿ã¼ã³ã®ãããæ°
|
---|
| 1512 |
|
---|
| 1513 | (5-5-1) TBIT_FLGPTN ã¤ãã³ããã©ã°ã®ãããæ°ï¼ãªãã·ã§ã³ï¼
|
---|
| 1514 |
|
---|
| 1515 | TBIT_FLGPTNã®æ¨æºã®å®ç¾©ã§ã¯ï¼æ´æ°åã®æå¹ãããæ°ãï¼ãã®åã®sizeofã«
|
---|
| 1516 | CHAR_BITãä¹ãããã®ã¨ä¸è´ãã¦ãããã¨ãä»®å®ãã¦ããï¼å¤ãã®ã³ã³ãã¤ã©
|
---|
| 1517 | ã§ãã®ä»®å®ãæãç«ã¤ãï¼ããã§ãªãå ´åã«ã¯ï¼ã¿ã¼ã²ããä¾åé¨ã§ãããã®
|
---|
| 1518 | å®ç¾©ãä¸æ¸ãããå¿
|
---|
| 1519 | è¦ãããï¼ãã ãï¼ãããã®å¤ã¯16以ä¸ã§ãªããã°ãªããª
|
---|
| 1520 | ãï¼
|
---|
| 1521 |
|
---|
| 1522 | 5.6 ã¡ã¢ãªé å確ä¿ã®ããã®ãã¯ã
|
---|
| 1523 |
|
---|
| 1524 | (5-6-1) TOPPERS_ROUND_SZï¼ãªãã·ã§ã³ï¼
|
---|
| 1525 | (5-6-2) TOPPERS_COUNT_SZï¼ãªãã·ã§ã³ï¼
|
---|
| 1526 |
|
---|
| 1527 | TOPPERS_COUNT_SZ(sz, unit)ã¯ï¼sz/unitãåãä¸ããå¤ãæ±ãããã¯ãã§ï¼ãµ
|
---|
| 1528 | ã¤ãºãszã®ã¡ã¢ãªé åããµã¤ãºãunitã®ãã¼ã¿åã®é
|
---|
| 1529 | åã§ç¢ºä¿ããå ´åã®è¦ç´
|
---|
| 1530 | æ°ãæ±ããããã«ç¨ããï¼TOPPERS_ROUND_SZ(sz, unit)ã¯ï¼sz/unitãåãä¸ã
|
---|
| 1531 | ããã®ã«unitããããå¤ãæ±ãããã¯ãã§ï¼ãµã¤ãºãszã®ã¡ã¢ãªé åããµã¤ãº
|
---|
| 1532 | ãunitã®ãã¼ã¿åã®é
|
---|
| 1533 | åã§ç¢ºä¿ããå ´åã®ãã¼ã¿ã«ãµã¤ãºãæ±ããããã«ç¨ã
|
---|
| 1534 | ãï¼
|
---|
| 1535 |
|
---|
| 1536 | ããããï¼æ¨æºã®TOPPERS_ROUND_SZï¼TOPPERS_COUNT_SZãé©åã§ãªãï¼ã¿ã¼ã²ã
|
---|
| 1537 | ãä¾åé¨ã§ç¨æããå ´åã«ã¯ï¼ãããã®ã·ã³ãã«ãé©åãªå¤ã«ãã¯ãå®ç¾©ããï¼
|
---|
| 1538 |
|
---|
| 1539 | 5.7 ãªã¼ãã©ã³ãã³ãã©æ©è½æ¡å¼µã®ããã®å®ç¾©ï¼ãªãã·ã§ã³ï¼
|
---|
| 1540 |
|
---|
| 1541 | ãªã¼ãã©ã³ãã³ãã©æ©è½æ¡å¼µããã±ã¼ã¸ããµãã¼ãããï¼ä½¿ç¨ã§ããããã«ã
|
---|
| 1542 | ãï¼å ´åã«ã¯ï¼æ¬¡ã®3ã¤ãå®æ½ãããã¨ãå¿
|
---|
| 1543 | è¦ã§ããï¼
|
---|
| 1544 |
|
---|
| 1545 | ã»ãã®ç¯ã§èª¬æããå®ç¾©ãè¡ãï¼
|
---|
| 1546 | ã»ï¼ç« ã«ç¤ºãã³ã¼ãä¸ã§ï¼TOPPERS_SUPPORT_OVRHDRããã¯ãå®ç¾©ããã¦ããå ´
|
---|
| 1547 | ãåã«ã®ã¿æå¹ã¨ãªãã³ã¼ããå®è£
|
---|
| 1548 | ããï¼
|
---|
| 1549 | ã»ãªã¼ãã©ã³ã¿ã¤ããã©ã¤ããç¨æããï¼ãªã¼ãã©ã³ã¿ã¤ããã©ã¤ãã«ã¤ãã¦
|
---|
| 1550 | ãã¯ï¼ã6.14 ãªã¼ãã©ã³ã¿ã¤ããã©ã¤ããã®ç¯ãåç
|
---|
| 1551 | §ãããã¨ï¼
|
---|
| 1552 |
|
---|
| 1553 | (5-7-1) TOPPERS_TARGET_SUPPORT_OVRHDR
|
---|
| 1554 |
|
---|
| 1555 | ãªã¼ãã©ã³ãã³ãã©æ©è½æ¡å¼µããã±ã¼ã¸ããµãã¼ãããå ´åã«ã¯ï¼ãã®ã·ã³ã
|
---|
| 1556 | ã«ããã¯ãå®ç¾©ããï¼
|
---|
| 1557 |
|
---|
| 1558 | (5-7-2) TMAX_OVRTIMï¼ãªãã·ã§ã³ï¼ããã©ã«ãã¯UINT32_MAXï¼
|
---|
| 1559 |
|
---|
| 1560 | ããã»ããµæéã¨ãã¦ãªã¼ãã©ã³ã¿ã¤ãã«è¨å®ã§ããæ大å¤ï¼åä½ã¯ãã¤ã¯ã
|
---|
| 1561 | ç§ï¼ã«ãã¯ãå®ç¾©ããï¼
|
---|
| 1562 |
|
---|
| 1563 |
|
---|
| 1564 | ï¼ï¼ã«ã¼ãã«å®è£
|
---|
| 1565 | ã®ã¿ã¼ã²ããä¾åé¨
|
---|
| 1566 |
|
---|
| 1567 | ãTOPPERS/ASP1ã«ã¼ãã«ã¨ã®é¢ä¿ã
|
---|
| 1568 |
|
---|
| 1569 | ASP1ã«ã¼ãã«ã§ã¯ï¼ã«ã¼ãã«å®è£
|
---|
| 1570 | ã®ã¿ã¼ã²ããä¾åé¨ãæ§æããé¢æ°ãï¼ã¿ã¹
|
---|
| 1571 | ã¯ã³ã³ããã¹ãå°ç¨ï¼t_ã§å§ã¾ããã®ï¼ï¼éã¿ã¹ã¯ã³ã³ããã¹ãå°ç¨ï¼i_ã§å§
|
---|
| 1572 | ã¾ããã®ï¼ï¼ãããã®ã³ã³ããã¹ãããã§ãå¼ã³åºããã¨ãã§ãããã®ï¼x_ã§
|
---|
| 1573 | å§ã¾ããã®ï¼ã«åãã¦ãããï¼ASP3ã«ã¼ãã«ã§ã¯åããªããã¨ã«ããï¼
|
---|
| 1574 |
|
---|
| 1575 | 6.1 ã«ã¼ãã«å®è£
|
---|
| 1576 | ã®ã¿ã¼ã²ããä¾åé¨ã®å
|
---|
| 1577 | ±éäºé
|
---|
| 1578 |
|
---|
| 1579 |
|
---|
| 1580 | ã«ã¼ãã«å®è£
|
---|
| 1581 | ã®ã¿ã¼ã²ããä¾åé¨ã¯ï¼ä»¥ä¸ã®è¦ç´ ã§æ§æãããï¼
|
---|
| 1582 |
|
---|
| 1583 | (a) ã«ã¼ãã«å®è£
|
---|
| 1584 | ã®ã¿ã¼ã²ããä¾åã®å®ç¾©
|
---|
| 1585 |
|
---|
| 1586 | ã«ã¼ãã«å®è£
|
---|
| 1587 | ã®ã¿ã¼ã²ããéä¾åé¨ããåç
|
---|
| 1588 | §ãããã¿ã¼ã²ããä¾åã®å®ç¾©ã¯ï¼
|
---|
| 1589 | target_kernel_impl.hã¾ãã¯ããããã¤ã³ã¯ã«ã¼ãããããã¡ã¤ã«ï¼éçºç°å¢
|
---|
| 1590 | ä¾åé¨ï¼ããã»ããµã³ã¢ä¾åé¨ï¼ãããä¾åé¨ã§ç¨æãããããããã¡ã¤ã«ãª
|
---|
| 1591 | ã©ï¼ã«å«ããï¼
|
---|
| 1592 |
|
---|
| 1593 | ã¿ã¼ã²ããã®ãã¼ãã¦ã§ã¢è³æºï¼å²è¾¼ã¿ãã³ãã©çªå·ãCPUä¾å¤ãã³ãã©çªå·ï¼
|
---|
| 1594 | ããã¤ã¹ã¬ã¸ã¹ã¿ã®çªå°ãªã©ï¼ã®å®ç¾©ã¯ï¼ã·ã¹ãã ãµã¼ãã¹ãã¢ããªã±ã¼ã·ã§
|
---|
| 1595 | ã³ã«ãæç¨ã§ããããï¼ã«ã¼ãã«å®è£
|
---|
| 1596 | ã®ã¿ã«æç¨ãªå®ç¾©ãå«ããã¡ã¤ã«ã¨ã¯å
|
---|
| 1597 | ãåãã¦ï¼ç¬ç«ããããããã¡ã¤ã«ã«å«ããï¼ãã®ããããã¡ã¤ã«ã®æ¨æºçãª
|
---|
| 1598 | å称ãï¼ã·ã¹ãã ç¥ç§°.hï¼ã¾ãã¯ï¼ãããç¥ç§°.hï¼ããã»ããµç¥ç§°.hï¼ã¨ããï¼
|
---|
| 1599 |
|
---|
| 1600 | (b) ã«ã¼ãã«å®è£
|
---|
| 1601 | ã®ã¿ã¼ã²ããä¾åã¢ã¸ã¥ã¼ã«
|
---|
| 1602 |
|
---|
| 1603 | ã«ã¼ãã«å®è£
|
---|
| 1604 | ã®ã¿ã¼ã²ããä¾åã®å¤æ°å®ç¾©ãé¢æ°ãå«ãã¢ã¸ã¥ã¼ã«ï¼Cè¨èªã§è¨
|
---|
| 1605 | è¿°ãããé¨åãtarget_kernel_impl.cï¼ã¢ã»ã³ããªè¨èªã§è¨è¿°ãããé¨åã
|
---|
| 1606 | target_support.Sã«å«ããï¼éçºç°å¢ä¾åé¨ï¼ããã»ããµã³ã¢ä¾åé¨ï¼ããã
|
---|
| 1607 | ä¾åé¨ãåãåãããã¨ãï¼ãã¡ã¤ã«ã大ãããªãå ´åã«è¤æ°ã®ãã¡ã¤ã«ã«å
|
---|
| 1608 | å²ãããã¨ãå¯è½ã§ããï¼
|
---|
| 1609 |
|
---|
| 1610 | (c) ã«ã¼ãã«å®è£
|
---|
| 1611 | ã®ã¿ã¼ã²ããä¾åé¨ã®ããã®ãªãã¼ã è¨è¿°
|
---|
| 1612 |
|
---|
| 1613 | ã«ã¼ãã«å®è£
|
---|
| 1614 | ã®ã¿ã¼ã²ããä¾åé¨ã®å¤æ°åãé¢æ°åãï¼å
|
---|
| 1615 | é ã«_kernel_ãä»ä¸
|
---|
| 1616 | ããååã«ãªãã¼ã ããããã®ã¢ã¸ã¥ã¼ã«ï¼target_rename.defãç¨æãï¼ãã¼
|
---|
| 1617 | ã«ï¼utils/genrename.rbï¼ã«ããï¼target_rename.hã¨target_unrename.hãç
|
---|
| 1618 | æããï¼éçºç°å¢ä¾åé¨ï¼ããã»ããµã³ã¢ä¾åé¨ï¼ãããä¾åé¨ãåãåãã
|
---|
| 1619 | å ´åã«ã¯ï¼ãªãã¼ã è¨è¿°ãåãåããï¼
|
---|
| 1620 |
|
---|
| 1621 | (d) ã¿ã¤ããã©ã¤ã
|
---|
| 1622 |
|
---|
| 1623 | ã«ã¼ãã«ãã·ã¹ãã æå»ã®æ´æ°ã«ç¨ããããé«å解è½ã¿ã¤ããæ½è±¡åãããã
|
---|
| 1624 | ã®é«å解è½ã¿ã¤ããã©ã¤ãã®ããããã¡ã¤ã«ï¼å®è£
|
---|
| 1625 | ãã¡ã¤ã«ï¼ã·ã¹ãã ã³ã³ãã£
|
---|
| 1626 | ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ãï¼ããããï¼target_timer.hï¼target_timer.cï¼
|
---|
| 1627 | target_timer.cfgã«å«ããï¼éçºç°å¢ä¾åé¨ï¼ããã»ããµã³ã¢ä¾åé¨ï¼ããã
|
---|
| 1628 | ä¾åé¨ãåãåãããã¨ãå¯è½ã§ããï¼
|
---|
| 1629 |
|
---|
| 1630 | ã¾ãï¼ãªã¼ãã©ã³ãã³ãã©æ©è½æ¡å¼µããã±ã¼ã¸ããµãã¼ãããå ´åã«ã¯ï¼ãªã¼
|
---|
| 1631 | ãã©ã³ãã³ãã©ãèµ·åããããã®ãªã¼ãã©ã³ã¿ã¤ããã©ã¤ããç¨æããï¼
|
---|
| 1632 |
|
---|
| 1633 | ãªãï¼ãã®ç« ã«ç¤ºãã³ã¼ãä¸ã§ï¼TOPPERS_SUPPORT_OVRHDRããã¯ãå®ç¾©ããã¦
|
---|
| 1634 | ããå ´åã«ã®ã¿æå¹ã¨ãªãã³ã¼ãã¯ï¼ãªã¼ãã©ã³ãã³ãã©æ©è½æ¡å¼µããã±ã¼ã¸
|
---|
| 1635 | ããµãã¼ãããªãå ´åã«ã¯ï¼å®è£
|
---|
| 1636 | ããå¿
|
---|
| 1637 | è¦ããªãï¼
|
---|
| 1638 |
|
---|
| 1639 | (e) ã³ã³ãã£ã®ã¥ã¬ã¼ã¿è¨å®ãã¡ã¤ã«
|
---|
| 1640 |
|
---|
| 1641 | ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã®è¨å®ãã¡ã¤ã«ã®ã¿ã¼ã²ããä¾åé¨ãï¼target_sym.defï¼
|
---|
| 1642 | target_kernel.trbï¼target_check.trbã«ç¨æããï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã¿è¨å®ãã¡
|
---|
| 1643 | ã¤ã«ã®è¨è¿°æ¹æ³ã«ã¤ãã¦ã¯ï¼ï¼ç« ã§èª¬æããï¼
|
---|
| 1644 |
|
---|
| 1645 | 6.2 ãã¬ã¼ã¹ãã°æ©è½ã¸ã®å¯¾å¿
|
---|
| 1646 |
|
---|
| 1647 | ã«ã¼ãã«ã®ãã¬ã¼ã¹ãã°æ©è½ã®ä¸ã§ï¼ãã£ã¹ãããã£ï¼å²è¾¼ã¿ãã³ãã©ï¼CPUä¾
|
---|
| 1648 | å¤ãã³ãã©ã®éå§ã»çµäºã®ãã¬ã¼ã¹ãã°åå¾ã¯ï¼ã¿ã¼ã²ããä¾åé¨ã§å®è£
|
---|
| 1649 | ãã
|
---|
| 1650 | å¿
|
---|
| 1651 | è¦ãããï¼ã»ã¨ãã©ã®ã¿ã¼ã²ããã·ã¹ãã ã«ããã¦ï¼ãããã®å¦çã¯ã¢ã»ã³
|
---|
| 1652 | ããªè¨èªã§è¨è¿°ããã¦ããï¼ã¿ã¼ã²ããéä¾åé¨åãã®ãã¬ã¼ã¹ãã°ãã¯ãã¨
|
---|
| 1653 | åãæ¹æ³ï¼ãã¬ã¼ã¹ãã°ãã¯ããï¼ãã¬ã¼ã¹ãã°åå¾å¦çã®Cè¨èªè¨è¿°ã«ãã¯ã
|
---|
| 1654 | å®ç¾©ããæ¹æ³ï¼ã¯ï¼ç¨ãããã¨ãã§ããªãï¼
|
---|
| 1655 |
|
---|
| 1656 | ããã§ï¼ã¢ã»ã³ããªè¨èªã§è¨è¿°ããã¦ããå¦çä¸ã«ãã¬ã¼ã¹ãã°åå¾ãåãè¾¼
|
---|
| 1657 | ãå ´åã«ã¯ï¼ãã¬ã¼ã¹ãã°ãã¯ããå®ç¾©ããã¦ããã°ï¼ãããä½ã«å®ç¾©ããã¦
|
---|
| 1658 | ãããã¯ç¡è¦ãã¦ï¼æ¨æºçãªãã¬ã¼ã¹ãã°é¢æ°ãCè¨èªã§è¨è¿°ããã¦ããã¨æ³å®
|
---|
| 1659 | ãã¦ï¼ãããå¼ã³åºãããã«ã³ã¼ãã£ã³ã°ããï¼
|
---|
| 1660 |
|
---|
| 1661 | å
|
---|
| 1662 | ·ä½çã«ã¯ï¼ä¸ã®è¡¨ã®å·¦å´ã«ç¤ºãããã¬ã¼ã¹ãã°ãã¯ããå®ç¾©ããã¦ããã°ï¼
|
---|
| 1663 | 表ã®å³å´ã«ç¤ºããCè¨èªè¨è¿°ã¨åçã®å¦çãè¡ãããã«ã³ã¼ãã£ã³ã°ããï¼
|
---|
| 1664 |
|
---|
| 1665 | ãã¬ã¼ã¹ãã°ãã¯ã ãã¬ã¼ã¹ãã°åå¾å¦ç
|
---|
| 1666 | -----------------------------------------------
|
---|
| 1667 | LOG_DSP_ENTER log_dsp_enter(p_runtsk)
|
---|
| 1668 | LOG_DSP_LEAVE log_dsp_leave(p_runtsk)
|
---|
| 1669 | LOG_INH_ENTER log_inh_enter(inhno)
|
---|
| 1670 | LOG_INH_LEAVE log_inh_leave(inhno)
|
---|
| 1671 | LOG_EXC_ENTER log_exc_enter(excno)
|
---|
| 1672 | LOG_EXC_LEAVE log_exc_leave(excno)
|
---|
| 1673 |
|
---|
| 1674 | 6.3 ã·ã¹ãã ç¶æ
|
---|
| 1675 | ã®ç®¡ç
|
---|
| 1676 |
|
---|
| 1677 | ASP3ã«ã¼ãã«ãæ°ããªã¿ã¼ã²ããã·ã¹ãã ã«ãã¼ãã£ã³ã°ããéã«ï¼æãéè¦
|
---|
| 1678 | ãªä½æ¥ã¯ï¼ã«ã¼ãã«ãå®ç¾©ããã·ã¹ãã ç¶æ
|
---|
| 1679 | ãï¼ãã¼ãã¦ã§ã¢ï¼ããã»ããµï¼
|
---|
| 1680 | ä¸ã§ã©ã®ããã«å®ç¾ãããã§ããï¼ä»¥ä¸ã®èª¬æã¯ï¼TOPPERSæ°ä¸ä»£ã«ã¼ãã«ã«ã
|
---|
| 1681 | ããã·ã¹ãã ç¶æ
|
---|
| 1682 | ã®å®ç¾©ã»æå³ãç¥ã£ã¦ãããã¨ãåæã«è¨è¿°ãã¦ããï¼
|
---|
| 1683 |
|
---|
| 1684 | 6.3.1 å
|
---|
| 1685 | ¨å²è¾¼ã¿ããã¯ç¶æ
|
---|
| 1686 | ã®ç®¡ç
|
---|
| 1687 |
|
---|
| 1688 | å
|
---|
| 1689 | ¨å²è¾¼ã¿ããã¯ç¶æ
|
---|
| 1690 | ã¯ï¼NMIãé¤ããã¹ã¦ã®å²è¾¼ã¿ããã¹ã¯ããç¶æ
|
---|
| 1691 | ã§ããï¼å
|
---|
| 1692 | ¨
|
---|
| 1693 | å²è¾¼ã¿ããã¯ç¶æ
|
---|
| 1694 | ã管çããæ©è½ã¯ï¼ã·ã¹ãã ã¤ã³ã¿ãã§ã¼ã¹ã¬ã¤ã¤ï¼SILï¼ã«
|
---|
| 1695 | ãã£ã¦æä¾ããï¼ã«ã¼ãã«ã¯å
|
---|
| 1696 | ¨å²è¾¼ã¿ããã¯ç¶æ
|
---|
| 1697 | ã管çããªãï¼
|
---|
| 1698 |
|
---|
| 1699 | å
|
---|
| 1700 | ¨å²è¾¼ã¿ããã¯ç¶æ
|
---|
| 1701 | ã§ã¯ï¼sns_kerã¨ext_ker以å¤ã®ã«ã¼ãã«ã®ãµã¼ãã¹ã³ã¼ã«
|
---|
| 1702 | ãå¼ã¶ãã¨ã¯ã§ããªããã®ã¨ãã¦ããï¼å¼ãã å ´åã«ã¯ä½ãèµ·ãããä¿è¨¼ãã¦
|
---|
| 1703 | ããªãï¼sns_kerã¨ext_kerããå¼ã³åºãå¦çã¯ï¼ãã¬ã¼ã¹ãã°åå¾å¦çã¨SILã®
|
---|
| 1704 | ãµã¼ãã¹ã³ã¼ã«ãé¤ãã¨ï¼call_exit_kernelã®ã¿ã§ããï¼ãã®ããï¼
|
---|
| 1705 | call_exit_kernelããå¼ã³åºããã®ãé¤ãã¦ï¼ã«ã¼ãã«ã®ã¿ã¼ã²ããä¾åé¨ã®
|
---|
| 1706 | é¢æ°ãï¼å
|
---|
| 1707 | ¨å²è¾¼ã¿ããã¯ç¶æ
|
---|
| 1708 | ã§å¼ã³åºãããç¶æ³ã¯èããå¿
|
---|
| 1709 | è¦ããªãï¼
|
---|
| 1710 |
|
---|
| 1711 | 6.3.2 ã³ã³ããã¹ãã®ç®¡ç
|
---|
| 1712 |
|
---|
| 1713 | å¦çåä½ãå®è¡ãããã³ã³ããã¹ãã¯ï¼ã¿ã¹ã¯ã³ã³ããã¹ãã¨éã¿ã¹ã¯ã³ã³ã
|
---|
| 1714 | ãã¹ãã«åé¡ãããï¼
|
---|
| 1715 |
|
---|
| 1716 | ã¿ã¼ã²ããä¾åé¨ã¯ï¼å®è¡ä¸ã®å¦çåä½ãï¼ã¿ã¹ã¯ã³ã³ããã¹ãã§å®è¡ããã¦
|
---|
| 1717 | ãããéã¿ã¹ã¯ã³ã³ããã¹ãã§å®è¡ããã¦ããããå¤å¥ããæ©è½ãæä¾ããï¼
|
---|
| 1718 | ã¾ãï¼CPUä¾å¤ãçºçããã³ã³ããã¹ãã«ã¤ãã¦å¤å¥ããæ©è½ãæä¾ããï¼
|
---|
| 1719 |
|
---|
| 1720 | ã¿ã¼ã²ããä¾åé¨ã§ã¯ï¼å²è¾¼ã¿ãã³ãã©ã¨CPUä¾å¤ãã³ãã©ã®å
|
---|
| 1721 | ¥å£å¦çã§éã¿ã¹
|
---|
| 1722 | ã¯ã³ã³ããã¹ãã«åãæãï¼ãããã®åºå£å¦çã§å
|
---|
| 1723 | ã®ã³ã³ããã¹ãã«æ»ãï¼
|
---|
| 1724 |
|
---|
| 1725 | (6-3-2-1) bool_t sense_context(void)
|
---|
| 1726 |
|
---|
| 1727 | å®è¡ä¸ã®å¦çåä½ãï¼ã¿ã¹ã¯ã³ã³ããã¹ãã§å®è¡ããã¦ããå ´åã«ã¯falseï¼é
|
---|
| 1728 | ã¿ã¹ã¯ã³ã³ããã¹ãã§å®è¡ããã¦ããå ´åã«ã¯trueãè¿ãé¢æ°ï¼ãã®é¢æ°ã¯ï¼
|
---|
| 1729 | CPUããã¯ç¶æ
|
---|
| 1730 | ã§ãCPUããã¯è§£é¤ç¶æ
|
---|
| 1731 | ã§ãå¼ã³åºããããã«å®è£
|
---|
| 1732 | ããªããã°ãª
|
---|
| 1733 | ããªãï¼
|
---|
| 1734 |
|
---|
| 1735 | 6.3.3 CPUããã¯ç¶æ
|
---|
| 1736 | ã®ç®¡ç
|
---|
| 1737 |
|
---|
| 1738 | ã¿ã¼ã²ããä¾åé¨ã¯ï¼CPUããã¯ç¶æ
|
---|
| 1739 | ã¸é·ç§»ããæ©è½ï¼CPUããã¯è§£é¤ç¶æ
|
---|
| 1740 | ã¸é·
|
---|
| 1741 | 移ããæ©è½ï¼CPUããã¯ç¶æ
|
---|
| 1742 | ã§ããããå¤å¥ããæ©è½ãæä¾ããï¼
|
---|
| 1743 |
|
---|
| 1744 | (6-3-3-1) void lock_cpu(void)
|
---|
| 1745 |
|
---|
| 1746 | CPUããã¯è§£é¤ç¶æ
|
---|
| 1747 | ããï¼CPUããã¯ç¶æ
|
---|
| 1748 | ã¸é·ç§»ãããé¢æ°ï¼ãã®é¢æ°ã¯ï¼CPUãã
|
---|
| 1749 | ã¯ç¶æ
|
---|
| 1750 | ã§å¼ã³åºããããã¨ã¯ãªãï¼å¼ã³åºãããå ´åã®åä½ã¯ä¿è¨¼ããå¿
|
---|
| 1751 | è¦ã
|
---|
| 1752 | ãªãï¼
|
---|
| 1753 |
|
---|
| 1754 | ãã®é¢æ°ãå®ç¾ããéã«ã¯ï¼ã1.5 ã¯ãªãã£ã«ã«ã»ã¯ã·ã§ã³ã®åºå
|
---|
| 1755 | ¥å¦çã®å®ç¾
|
---|
| 1756 | ã«é¢ããå¶ç´ãã®ç¯ã«è¨è¿°ããã¦ããå¶ç´ã«å¾ããªããã°ãªããªãï¼
|
---|
| 1757 |
|
---|
| 1758 | (6-3-3-2) void lock_cpu_dsp(void)
|
---|
| 1759 |
|
---|
| 1760 | ã¿ã¹ã¯ãã£ã¹ãããã§ããç¶æ
|
---|
| 1761 | ã«ããã¦ï¼CPUããã¯è§£é¤ç¶æ
|
---|
| 1762 | ããï¼CPUããã¯
|
---|
| 1763 | ç¶æ
|
---|
| 1764 | ã¸é·ç§»ãããé¢æ°ï¼
|
---|
| 1765 |
|
---|
| 1766 | ãã®é¢æ°ã¯ï¼ãã£ã¹ãããã§ããç¶æ
|
---|
| 1767 | ã§ã®ã¿å¼ã³åºãããï¼ãã£ã¹ãããã§ã
|
---|
| 1768 | ãç¶æ
|
---|
| 1769 | ã«ããã¦ã¯ï¼å²è¾¼ã¿åªå
|
---|
| 1770 | 度ãã¹ã¯å
|
---|
| 1771 | ¨è§£é¤ç¶æ
|
---|
| 1772 | ã§ããããï¼ããã»ããµã«
|
---|
| 1773 | ãã£ã¦ã¯ï¼lock_cpuããå¹ççã«å®è£
|
---|
| 1774 | ã§ããå ´åãããï¼ããã§ãªãå ´åã«ã¯ï¼
|
---|
| 1775 | lock_cpuã«å®ç¾©ããã°ããï¼
|
---|
| 1776 |
|
---|
| 1777 | lock_cpu_dspã«ãã£ã¦CPUããã¯ç¶æ
|
---|
| 1778 | ã«é·ç§»ããå¾ï¼unlock_cpuã«ãã£ã¦CPUãã
|
---|
| 1779 | ã¯ç¶æ
|
---|
| 1780 | ã解é¤ããå ´åãããï¼ãã®ããï¼lock_cpuã§CPUããã¯ç¶æ
|
---|
| 1781 | ã«é·ç§»ãã
|
---|
| 1782 | åã®ç¶æ
|
---|
| 1783 | ãå¤æ°ã«ä¿åããå ´åã«ã¯ï¼lock_cpu_dspã§ããã®å¤æ°ãè¨å®ããå¿
|
---|
| 1784 |
|
---|
| 1785 | è¦ãããï¼
|
---|
| 1786 |
|
---|
| 1787 | (6-3-3-3) void unlock_cpu(void)
|
---|
| 1788 |
|
---|
| 1789 | CPUããã¯ç¶æ
|
---|
| 1790 | ããï¼CPUããã¯è§£é¤ç¶æ
|
---|
| 1791 | ã¸é·ç§»ãããé¢æ°ï¼ãã®é¢æ°ã¯ï¼CPUãã
|
---|
| 1792 | ã¯è§£é¤ç¶æ
|
---|
| 1793 | ã§å¼ã³åºããããã¨ã¯ãªãï¼å¼ã³åºãããå ´åã®åä½ã¯ä¿è¨¼ããå¿
|
---|
| 1794 |
|
---|
| 1795 | è¦ããªãï¼
|
---|
| 1796 |
|
---|
| 1797 | ã¿ã¹ã¯ã³ã³ããã¹ãã§CPUããã¯ç¶æ
|
---|
| 1798 | ã«é·ç§»ããå ´åã«ã¯ï¼CPUããã¯è§£é¤ç¶æ
|
---|
| 1799 |
|
---|
| 1800 | ã«æ»ãã®ã¯ã¿ã¹ã¯ã³ã³ããã¹ãã«éããï¼éã¿ã¹ã¯ã³ã³ããã¹ãã§CPUããã¯è§£
|
---|
| 1801 | é¤ç¶æ
|
---|
| 1802 | ã«æ»ããã¨ã¯ãªãï¼åæ§ã«ï¼éã¿ã¹ã¯ã³ã³ããã¹ãã§CPUããã¯ç¶æ
|
---|
| 1803 | ã«é·
|
---|
| 1804 | 移ããå ´åã«ã¯ï¼CPUããã¯è§£é¤ç¶æ
|
---|
| 1805 | ã«æ»ãã®ã¯éã¿ã¹ã¯ã³ã³ããã¹ãã«éããï¼
|
---|
| 1806 | ã¿ã¹ã¯ã³ã³ããã¹ãã§CPUããã¯è§£é¤ç¶æ
|
---|
| 1807 | ã«æ»ããã¨ã¯ãªãï¼
|
---|
| 1808 |
|
---|
| 1809 | ãããã®é¢æ°ãå®ç¾ããéã«ã¯ï¼ã1.5 ã¯ãªãã£ã«ã«ã»ã¯ã·ã§ã³ã®åºå
|
---|
| 1810 | ¥å¦çã®
|
---|
| 1811 | å®ç¾ã«é¢ããå¶ç´ãã®ç¯ã«è¨è¿°ããã¦ããå¶ç´ã«å¾ããªããã°ãªããªãï¼
|
---|
| 1812 |
|
---|
| 1813 | (6-3-3-4) void unlock_cpu_dsp(void)
|
---|
| 1814 |
|
---|
| 1815 | ã¿ã¹ã¯ãã£ã¹ãããã§ããç¶æ
|
---|
| 1816 | ã«æ»ãç¶æ³ã«ããã¦ï¼CPUããã¯ç¶æ
|
---|
| 1817 | ããï¼CPU
|
---|
| 1818 | ããã¯è§£é¤ç¶æ
|
---|
| 1819 | ã¸é·ç§»ãããé¢æ°ï¼
|
---|
| 1820 |
|
---|
| 1821 | ãã®é¢æ°ã¯ï¼CPUããã¯è§£é¤å¾ã¯ï¼ãã£ã¹ãããã§ããç¶æ
|
---|
| 1822 | ã«æ»ãç¶æ³ã§ã®ã¿å¼
|
---|
| 1823 | ã³åºãããï¼ãã£ã¹ãããã§ããç¶æ
|
---|
| 1824 | ã«ããã¦ã¯ï¼å²è¾¼ã¿åªå
|
---|
| 1825 | 度ãã¹ã¯å
|
---|
| 1826 | ¨è§£é¤
|
---|
| 1827 | ç¶æ
|
---|
| 1828 | ã§ããããï¼ããã»ããµã«ãã£ã¦ã¯ï¼unlock_cpuããå¹ççã«å®è£
|
---|
| 1829 | ã§ãã
|
---|
| 1830 | å ´åãããï¼ããã§ãªãå ´åã«ã¯ï¼unlock_cpuã«å®ç¾©ããã°ããï¼
|
---|
| 1831 |
|
---|
| 1832 | (6-3-3-5) bool_t sense_lock(void)
|
---|
| 1833 |
|
---|
| 1834 | ç¾å¨ã®ã·ã¹ãã ç¶æ
|
---|
| 1835 | ãï¼CPUããã¯ç¶æ
|
---|
| 1836 | ã®å ´åã¯trueï¼CPUããã¯è§£é¤ç¶æ
|
---|
| 1837 | ã®å ´
|
---|
| 1838 | åã«ã¯falseãè¿ãé¢æ°ï¼
|
---|
| 1839 |
|
---|
| 1840 | ãã®é¢æ°ãå
|
---|
| 1841 | ¨å²è¾¼ã¿ããã¯ç¶æ
|
---|
| 1842 | ã§å¼ã³åºãããç¶æ³ã¯èããå¿
|
---|
| 1843 | è¦ããªããã¨ã
|
---|
| 1844 | ãï¼å
|
---|
| 1845 | ¨å²è¾¼ã¿ããã¯ç¶æ
|
---|
| 1846 | ã¨CPUããã¯ç¶æ
|
---|
| 1847 | ãåºå¥ã§ããå¿
|
---|
| 1848 | è¦ã¯ãªãï¼NMI以å¤ã«
|
---|
| 1849 | ã«ã¼ãã«ã®ç®¡çå¤ã®å²è¾¼ã¿ãè¨ããªãå ´åã«ã¯ï¼å
|
---|
| 1850 | ¨å²è¾¼ã¿ããã¯ç¶æ
|
---|
| 1851 | ã¨CPUãã
|
---|
| 1852 | ã¯ç¶æ
|
---|
| 1853 | ãå
|
---|
| 1854 | ¨ãåä¸ã®ç¶æ
|
---|
| 1855 | ã§ããã¾ããªãï¼
|
---|
| 1856 |
|
---|
| 1857 | (6-3-3-6) void delay_for_interrupt(void)
|
---|
| 1858 |
|
---|
| 1859 | å²è¾¼ã¿ãåãä»ããããããã«å¦çãé
|
---|
| 1860 | 延ãããé¢æ°ï¼
|
---|
| 1861 |
|
---|
| 1862 | ã«ã¼ãã«å
|
---|
| 1863 | ã§ï¼CPUããã¯ç¶æ
|
---|
| 1864 | ã§ã®å®è¡ãé·ããªãå ´åã«ï¼ä¸æçã«CPUããã¯
|
---|
| 1865 | ç¶æ
|
---|
| 1866 | ã解é¤ãã¦ï¼å²è¾¼ã¿ãåãä»ããããã«ãã¦ããï¼ãã®æï¼unlock_cpuã¨
|
---|
| 1867 | lock_cpuããã®é ã§å¼ã³åºããï¼ãã®2ã¤ã®é¢æ°ãé£ç¶ãã¦å¼ã³åºãã¨ï¼ã¿ã¼ã²ã
|
---|
| 1868 | ãã«ãã£ã¦ã¯å²è¾¼ã¿ãåãä»ããããªãå ´åãããï¼ããã§ï¼unlock_cpuã¨
|
---|
| 1869 | lock_cpuãå¼ã³åºãéã«ï¼ãã®é¢æ°ï¼delay_for_interruptï¼ãå¼ã³åºãï¼2ã¤
|
---|
| 1870 | ã®é¢æ°ãé£ç¶ãã¦å¼ã³åºãã¨å²è¾¼ã¿ãåãä»ããããªãã¿ã¼ã²ããã§ã¯ï¼ãã®
|
---|
| 1871 | é¢æ°ã«ããï¼å²è¾¼ã¿ãåãä»ããããããã«å®è£
|
---|
| 1872 | ããï¼
|
---|
| 1873 |
|
---|
| 1874 | 6.4 å²è¾¼ã¿ã«é¢é£ããã·ã¹ãã ç¶æ
|
---|
| 1875 | ã®ç®¡ç
|
---|
| 1876 |
|
---|
| 1877 | å²è¾¼ã¿çªå·ã¨å²è¾¼ã¿ãã³ãã©çªå·ã¯ã¿ã¼ã²ããå®ç¾©ã§ä»ä¸ãããããï¼ããã
|
---|
| 1878 | ãæå¹ãªå¤ãã©ãããå¤æããæ©è½ã¯ï¼ã¿ã¼ã²ããä¾åé¨ã§ç¨æããå¿
|
---|
| 1879 | è¦ãã
|
---|
| 1880 | ãï¼
|
---|
| 1881 |
|
---|
| 1882 | (6-4-0-1) bool_t VALID_INTNO(INTNO intno)
|
---|
| 1883 |
|
---|
| 1884 | intnoãï¼å²è¾¼ã¿çªå·ã¨ãã¦æå¹ãªå¤ã§ããå ´åã«trueï¼ããã§ãªãå ´åã«
|
---|
| 1885 | falseãè¿ããã¯ãï¼
|
---|
| 1886 |
|
---|
| 1887 | VALID_INTNO_DISINTï¼VALID_INTNO_CREISRãåå¥ã«å®ç¾©ãï¼ã¿ã¼ã²ããä¾åé¨
|
---|
| 1888 | ã§ããã®ãã¯ãã使ç¨ããªãå ´åã«ã¯ï¼ç¨æããå¿
|
---|
| 1889 | è¦ããªãï¼
|
---|
| 1890 |
|
---|
| 1891 | (6-4-0-2) bool_t VALID_INHNO(INHNO inhno)ï¼ãªãã·ã§ã³ï¼
|
---|
| 1892 |
|
---|
| 1893 | inhnoãï¼å²è¾¼ã¿ãã³ãã©çªå·ã¨ãã¦æå¹ãªå¤ã§ããå ´åã«trueï¼ããã§ãªãå ´
|
---|
| 1894 | åã«falseãè¿ããã¯ãï¼ãªãï¼ASP3ã«ã¼ãã«ã§ã¯ï¼å²è¾¼ã¿ãã³ãã©çªå·ãç¨ã
|
---|
| 1895 | ãAPIã¯ï¼DEF_INHã®ã¿ã§ããï¼
|
---|
| 1896 |
|
---|
| 1897 | ASP3ã«ã¼ãã«ã®ã¿ã¼ã²ããéä¾åé¨ã§ã¯ï¼ãã®ãã¯ãã¯ä½¿ããã¦ããªãããï¼
|
---|
| 1898 | ã¿ã¼ã²ããä¾åé¨ã§ã使ç¨ããªãå ´åã«ã¯ï¼ç¨æããå¿
|
---|
| 1899 | è¦ããªãï¼
|
---|
| 1900 |
|
---|
| 1901 | 6.4.1 å²è¾¼ã¿åªå
|
---|
| 1902 | 度ãã¹ã¯ã®ç®¡ç
|
---|
| 1903 |
|
---|
| 1904 | ã¿ã¼ã²ããä¾åé¨ã¯ï¼å²è¾¼ã¿åªå
|
---|
| 1905 | 度ãã¹ã¯ãè¨å®ããæ©è½ã¨ï¼å²è¾¼ã¿åªå
|
---|
| 1906 | 度ã
|
---|
| 1907 | ã¹ã¯ãåç
|
---|
| 1908 | §ããæ©è½ãæä¾ããï¼
|
---|
| 1909 |
|
---|
| 1910 | (6-4-1-1) bool_t VALID_INTPRI_CHGIPM(PRI intpri)ï¼ãªãã·ã§ã³ï¼
|
---|
| 1911 |
|
---|
| 1912 | intpriãï¼chg_ipmã«å¯¾ããå²è¾¼ã¿åªå
|
---|
| 1913 | 度ã¨ãã¦æå¹ãªå¤ã§ããå ´åã«trueï¼ã
|
---|
| 1914 | ãã§ãªãå ´åã«falseãè¿ããã¯ãï¼æ¨æºã§ã¯ï¼TMIN_INTPRI以ä¸ï¼TIPM_ENAALL
|
---|
| 1915 | ï¼ï¼0ï¼ä»¥ä¸ã®å¤ãchg_ipmã«å¯¾ããå²è¾¼ã¿åªå
|
---|
| 1916 | 度ã¨ãã¦æå¹ã§ãããï¼ã¿ã¼ã²ã
|
---|
| 1917 | ãä¾åé¨ã§ãã®ãã¯ããå®ç¾©ãããã¨ã§ï¼TMIN_INTPRIãããå°ããå¤ãæå¹ã¨
|
---|
| 1918 | ãããã¨ãã§ããï¼æå¹ãªå¤ã®ç¯å²ãçãã¦ã¯ãªããªãï¼ï¼
|
---|
| 1919 |
|
---|
| 1920 | (6-4-1-2) void t_set_ipm(PRI intpri)
|
---|
| 1921 |
|
---|
| 1922 | å²è¾¼ã¿åªå
|
---|
| 1923 | 度ãã¹ã¯ã®å¤ãintpriã«è¨å®ããé¢æ°ï¼
|
---|
| 1924 |
|
---|
| 1925 | ãã®é¢æ°ã¯ï¼ã¿ã¼ã²ããéä¾åé¨ããã¯ï¼ã¿ã¹ã¯ã³ã³ããã¹ãã§ï¼CPUããã¯ç¶
|
---|
| 1926 | æ
|
---|
| 1927 | ã®å ´åã«ã®ã¿å¼ã³åºãããï¼
|
---|
| 1928 |
|
---|
| 1929 | ã¾ãï¼ãã®é¢æ°ã¯ï¼VALID_INTPRI_CHGIPM(intpri)ãtrueãè¿ãintpriã«å¯¾ãã¦
|
---|
| 1930 | ã®ã¿å¼ã°ããï¼intpriã«ããã§ãªãå¤ã渡ãããå ´åã®åä½ã¯ä¿è¨¼ããå¿
|
---|
| 1931 | è¦ã
|
---|
| 1932 | ãªãï¼
|
---|
| 1933 |
|
---|
| 1934 | (6-4-1-3) PRI t_get_ipm(void)
|
---|
| 1935 |
|
---|
| 1936 | å²è¾¼ã¿åªå
|
---|
| 1937 | 度ãã¹ã¯ã®å¤ãåç
|
---|
| 1938 | §ãã¦è¿ãé¢æ°ï¼
|
---|
| 1939 |
|
---|
| 1940 | ãã®é¢æ°ã¯ï¼ã¿ã¼ã²ããéä¾åé¨ããã¯ï¼ã¿ã¹ã¯ã³ã³ããã¹ãã§ï¼CPUããã¯ç¶
|
---|
| 1941 | æ
|
---|
| 1942 | ã®å ´åã«ã®ã¿å¼ã³åºãããï¼
|
---|
| 1943 |
|
---|
| 1944 | å²è¾¼ã¿åªå
|
---|
| 1945 | 度ãã¹ã¯ãç¨ãã¦ã«ã¼ãã«ç®¡çã®å²è¾¼ã¿ããã¹ã¦ãã¹ã¯ããç¶æ
|
---|
| 1946 | ã¯ï¼
|
---|
| 1947 | CPUããã¯ç¶æ
|
---|
| 1948 | ã¨åºå¥ã§ãããã¨ãå¿
|
---|
| 1949 | è¦ã§ããï¼å
|
---|
| 1950 | ·ä½çã«ã¯ï¼CPUããã¯è§£é¤ç¶
|
---|
| 1951 | æ
|
---|
| 1952 | ã«ããã¦ï¼t_set_ipmãç¨ãã¦ã«ã¼ãã«ç®¡çã®å²è¾¼ã¿ããã¹ã¦ãã¹ã¯ããå ´å
|
---|
| 1953 | ã§ãï¼sense_lockã¯falseãè¿ãï¼
|
---|
| 1954 |
|
---|
| 1955 | ããã«å¯¾ãã¦ï¼å²è¾¼ã¿åªå
|
---|
| 1956 | 度ãã¹ã¯ãç¨ãã¦NMIãé¤ããã¹ã¦ã®å²è¾¼ã¿ããã¹ã¯
|
---|
| 1957 | ã§ããå ´åï¼ãã®ç¶æ
|
---|
| 1958 | ã¨å
|
---|
| 1959 | ¨å²è¾¼ã¿ããã¯ç¶æ
|
---|
| 1960 | ãåºå¥ã§ããå¿
|
---|
| 1961 | è¦ã¯ãªãï¼å
|
---|
| 1962 | ¨ãå
|
---|
| 1963 | ä¸ã®ç¶æ
|
---|
| 1964 | ã§ããã¾ããªãï¼
|
---|
| 1965 |
|
---|
| 1966 | 6.4.2 å²è¾¼ã¿è¦æ±ç¦æ¢ãã©ã°ã®ç®¡ç
|
---|
| 1967 |
|
---|
| 1968 | ã¿ã¼ã²ããä¾åé¨ã¯ï¼å²è¾¼ã¿è¦æ±ç¦æ¢ãã©ã°ãã»ããããæ©è½ã¨ã¯ãªã¢ããæ©
|
---|
| 1969 | è½ãæä¾ããï¼
|
---|
| 1970 |
|
---|
| 1971 | (6-4-2-1) bool_t VALID_INTNO_DISINT(INTNO intno)ï¼ãªãã·ã§ã³ï¼
|
---|
| 1972 |
|
---|
| 1973 | intnoãï¼dis_intï¼ena_intã«å¯¾ããå²è¾¼ã¿çªå·ã¨ãã¦æå¹ãªå¤ã§ããå ´åã«
|
---|
| 1974 | trueï¼ããã§ãªãå ´åã«falseãè¿ããã¯ãï¼å²è¾¼ã¿è¦æ±ç¦æ¢ãã©ã°ãã»ããï¼
|
---|
| 1975 | ã¯ãªã¢ã§ããªãintnoã«å¯¾ãã¦ã¯ï¼ãã®ãã¯ããfalseãè¿ãããã«ããï¼
|
---|
| 1976 |
|
---|
| 1977 | ãã®ãã¯ããå®ç¾©ããªãå ´åï¼VALID_INTNOã使ãããï¼VALID_INTNOã§æå¹ã¨
|
---|
| 1978 | å¤æãããå²è¾¼ã¿çªå·ãï¼dis_intï¼ena_intã«å¯¾ãã¦æå¹ãªå²è¾¼ã¿çªå·ã¨ä¸è´
|
---|
| 1979 | ãã¦ããå ´åï¼ãã®ãã¯ããç¨æããå¿
|
---|
| 1980 | è¦ã¯ãªãï¼
|
---|
| 1981 |
|
---|
| 1982 | (6-4-2-2) bool_t disable_int(INTNO intno)
|
---|
| 1983 |
|
---|
| 1984 | intnoã§æå®ãããå²è¾¼ã¿è¦æ±ã©ã¤ã³ã«å¯¾ããå²è¾¼ã¿è¦æ±ç¦æ¢ãã©ã°ãã»ãããï¼
|
---|
| 1985 | trueãè¿ãé¢æ°ï¼æå®ãããå²è¾¼ã¿è¦æ±ã©ã¤ã³ã«å¯¾ãã¦ï¼å²è¾¼ã¿å±æ§ãè¨å®ã
|
---|
| 1986 | ãã¦ããªãå ´åã«ã¯ï¼falseãè¿ãï¼
|
---|
| 1987 |
|
---|
| 1988 | ãã®é¢æ°ã¯ï¼ã¿ã¼ã²ããéä¾åé¨ãCPUããã¯è§£é¤ç¶æ
|
---|
| 1989 | ã§å¼ã³åºããã¨ã¯ãªãã
|
---|
| 1990 | ãï¼CPUããã¯è§£é¤ç¶æ
|
---|
| 1991 | ã§å¼ã³åºãããå ´åã®åä½ã¯ä¿è¨¼ããå¿
|
---|
| 1992 | è¦ããªãï¼ãã
|
---|
| 1993 | ãï¼ã¿ã¼ã²ããä¾åé¨ããCPUããã¯è§£é¤ç¶æ
|
---|
| 1994 | ã§å¼ã³åºãå ´åã«ã¯ï¼ä¿è¨¼ããå¿
|
---|
| 1995 |
|
---|
| 1996 | è¦ãããï¼
|
---|
| 1997 |
|
---|
| 1998 | ã¾ãï¼ãã®é¢æ°ã¯ï¼VALID_INTNO_DISINT(intno)ãtrueã¨ãªãintnoã«å¯¾ãã¦ã®
|
---|
| 1999 | ã¿å¼ã°ããï¼intnoã«ããã§ãªãå¤ã渡ãããå ´åã®åä½ã¯ä¿è¨¼ããå¿
|
---|
| 2000 | è¦ããªãï¼
|
---|
| 2001 |
|
---|
| 2002 | dis_intãµã¼ãã¹ã³ã¼ã«ããµãã¼ãããå ´åï¼TOPPERS_SUPPORT_DIS_INTããã¯
|
---|
| 2003 | ãå®ç¾©ããå ´åï¼ã«ã¯ï¼disable_intãç¨æããã¦ããªããã°ãªããªãï¼
|
---|
| 2004 |
|
---|
| 2005 | (6-4-2-3) bool_t enable_int(INTNO intno)
|
---|
| 2006 |
|
---|
| 2007 | intnoã§æå®ãããå²è¾¼ã¿è¦æ±ã©ã¤ã³ã«å¯¾ããå²è¾¼ã¿è¦æ±ç¦æ¢ãã©ã°ãã¯ãªã¢ãï¼
|
---|
| 2008 | trueãè¿ãé¢æ°ï¼æå®ãããå²è¾¼ã¿è¦æ±ã©ã¤ã³ã«å¯¾ãã¦ï¼å²è¾¼ã¿å±æ§ãè¨å®ã
|
---|
| 2009 | ãã¦ããªãå ´åã«ã¯ï¼falseãè¿ãï¼
|
---|
| 2010 |
|
---|
| 2011 | ãã®é¢æ°ã¯ï¼ã¿ã¼ã²ããéä¾åé¨ãCPUããã¯è§£é¤ç¶æ
|
---|
| 2012 | ã§å¼ã³åºããã¨ã¯ãªãã
|
---|
| 2013 | ãï¼CPUããã¯è§£é¤ç¶æ
|
---|
| 2014 | ã§å¼ã³åºãããå ´åã®åä½ã¯ä¿è¨¼ããå¿
|
---|
| 2015 | è¦ããªãï¼ãã
|
---|
| 2016 | ãï¼ã¿ã¼ã²ããä¾åé¨ããCPUããã¯è§£é¤ç¶æ
|
---|
| 2017 | ã§å¼ã³åºãå ´åã«ã¯ï¼ä¿è¨¼ããå¿
|
---|
| 2018 |
|
---|
| 2019 | è¦ãããï¼
|
---|
| 2020 |
|
---|
| 2021 | ã¾ãï¼ãã®é¢æ°ã¯ï¼VALID_INTNO_DISINT(intno)ãtrueã¨ãªãintnoã«å¯¾ãã¦ã®
|
---|
| 2022 | ã¿å¼ã°ããï¼intnoã«ããã§ãªãå¤ã渡ãããå ´åã®åä½ã¯ä¿è¨¼ããå¿
|
---|
| 2023 | è¦ããªãï¼
|
---|
| 2024 |
|
---|
| 2025 | ena_intãµã¼ãã¹ã³ã¼ã«ããµãã¼ãããå ´åï¼TOPPERS_SUPPORT_ENA_INTããã¯
|
---|
| 2026 | ãå®ç¾©ããå ´åï¼ã«ã¯ï¼t_enable_intãç¨æããã¦ããªããã°ãªããªãï¼
|
---|
| 2027 |
|
---|
| 2028 | 6.4.3 å²è¾¼ã¿è¦æ±ã®ã¯ãªã¢
|
---|
| 2029 |
|
---|
| 2030 | (6-4-3-1) void clear_int(INTNO intno)
|
---|
| 2031 |
|
---|
| 2032 | intnoã§æå®ãããå²è¾¼ã¿è¦æ±ã©ã¤ã³ãã¨ãã¸ããªã¬ã§ããå ´åã«ï¼ããªã¬ãã
|
---|
| 2033 | ãå²è¾¼ã¿è¦æ±ãã¯ãªã¢ããé¢æ°ï¼intnoã§æå®ãããå²è¾¼ã¿è¦æ±ã©ã¤ã³ãã¬ãã«
|
---|
| 2034 | ããªã¬ã§ããå ´åã«ã¯ä½ãããªãï¼
|
---|
| 2035 |
|
---|
| 2036 | ASP3ã«ã¼ãã«ã®ã¿ã¼ã²ããéä¾åé¨ã§ã¯ï¼ãã®é¢æ°ãå¼ã³åºãã¦ããªããï¼ã¿ã¼
|
---|
| 2037 | ã²ããä¾åé¨ãã·ã¹ãã ãµã¼ãã¹ã§å¼ã³åºãå¯è½æ§ãé«ãããï¼ç¨æãããã¨
|
---|
| 2038 | ã¨ãã¦ããï¼ãã®ããï¼ãã®é¢æ°ãã©ã®ãããªã·ã¹ãã ç¶æ
|
---|
| 2039 | ã§å¼ã³åºãããã¯ï¼
|
---|
| 2040 | ã¿ã¼ã²ããä¾åé¨å
|
---|
| 2041 | ã§ä¸è²«ãã¦ããã°ããï¼
|
---|
| 2042 |
|
---|
| 2043 | 6.4.4 å²è¾¼ã¿è¦æ±ã®ããã¼ã
|
---|
| 2044 |
|
---|
| 2045 | (6-4-4-1) bool_t probe_int(INTNO intno)
|
---|
| 2046 |
|
---|
| 2047 | intnoã§æå®ãããå²è¾¼ã¿è¦æ±ã©ã¤ã³ã«å¯¾ãã¦ï¼å²è¾¼ã¿ãè¦æ±ããã¦ããå ´åã«
|
---|
| 2048 | trueï¼ããã§ãªãå ´åã«falseãè¿ãé¢æ°ï¼
|
---|
| 2049 |
|
---|
| 2050 | ASP3ã«ã¼ãã«ã®ã¿ã¼ã²ããéä¾åé¨ã§ã¯ï¼ãã®é¢æ°ãå¼ã³åºãã¦ããªããï¼ã¿ã¼
|
---|
| 2051 | ã²ããä¾åé¨ãã·ã¹ãã ãµã¼ãã¹ã§å¼ã³åºãå¯è½æ§ãé«ãããï¼ç¨æãããã¨
|
---|
| 2052 | ã¨ãã¦ããï¼ãã®ããï¼ãã®é¢æ°ãã©ã®ãããªã·ã¹ãã ç¶æ
|
---|
| 2053 | ã§å¼ã³åºãããã¯ï¼
|
---|
| 2054 | ã¿ã¼ã²ããä¾åé¨å
|
---|
| 2055 | ã§ä¸è²«ãã¦ããã°ããï¼
|
---|
| 2056 |
|
---|
| 2057 | 6.5 ã¿ã¹ã¯ãã£ã¹ãããã£
|
---|
| 2058 |
|
---|
| 2059 | 6.5.1 ã¿ã¹ã¯ã³ã³ããã¹ããããã¯ã¨ã¿ã¹ã¯åæåã³ã³ããã¹ããããã¯
|
---|
| 2060 |
|
---|
| 2061 | (6-5-1-1) TSKCTXB
|
---|
| 2062 |
|
---|
| 2063 | ã¿ã¼ã²ããä¾åã®ã¿ã¹ã¯ã³ã³ããã¹ããä¿åããããã«ï¼TCBä¸ã«æã¤ãã¨ãå¿
|
---|
| 2064 |
|
---|
| 2065 | è¦ãªãã¼ã¿æ§é ã®åãï¼TSKCTXBã«å®ç¾©ããï¼æ¨æºçã«ã¯ï¼TSKCTXBã«ã¯ï¼ã¿ã¹
|
---|
| 2066 | ã¯ã®ã¹ã¿ãã¯ãã¤ã³ã¿ã¨å®è¡åéçªå°ãæ ¼ç´ããï¼
|
---|
| 2067 |
|
---|
| 2068 | (6-5-1-2) USE_TSKINICTXBï¼ãªãã·ã§ã³ï¼
|
---|
| 2069 | (6-5-1-3) TSKINICTXBï¼ãªãã·ã§ã³ï¼
|
---|
| 2070 |
|
---|
| 2071 | ã¿ã¼ã²ããä¾åã®æ
|
---|
| 2072 | å ±ãã¿ã¹ã¯åæåãããã¯ï¼TINIBï¼ã«å
|
---|
| 2073 | ¥ãããå ´åãï¼
|
---|
| 2074 | TINIBä¸ã®ã¹ã¿ãã¯é åã®ãµã¤ãºã¨å
|
---|
| 2075 | é çªå°ã®æã¡æ¹ãã¿ã¼ã²ããä¾åã«å¤æ´ã
|
---|
| 2076 | ããå ´åã«ã¯ï¼USE_TSKINICTXBããã¯ãå®ç¾©ãï¼TINIBä¸ã«æã¤ãã¨ãå¿
|
---|
| 2077 | è¦ãªãã¼
|
---|
| 2078 | ã¿æ§é ã®åãï¼TSKINICTXBã«å®ç¾©ããï¼
|
---|
| 2079 |
|
---|
| 2080 | USE_TSKINICTXBããã¯ãå®ç¾©ããã¨ï¼TINIBä¸ã«ã¹ã¿ãã¯é åã¨ãµã¤ãºã¨å
|
---|
| 2081 | é çª
|
---|
| 2082 | å°ãå«ã¾ããªããªãããï¼ããã«ä»£ããæ
|
---|
| 2083 | å ±ãTSKINICTXBä¸ã«æã¤å¿
|
---|
| 2084 | è¦ãããï¼
|
---|
| 2085 | ã¾ãï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã®ãã¹2ã®çæã¹ã¯ãªããã®ã¿ã¼ã²ããéä¾åé¨ã§ï¼
|
---|
| 2086 | TSKINICTXBã®åæåæ
|
---|
| 2087 | å ±ãçæããããã®GenerateTskinictxbãï¼ãã¹3ã®çæ
|
---|
| 2088 | ã¹ã¯ãªããã®ã¿ã¼ã²ããéä¾åé¨ã§ï¼TINIBããã¹ã¿ãã¯é åã®å
|
---|
| 2089 | é çªå°ãåã
|
---|
| 2090 | åºãããã®GetStackTskinictxbãå®ç¾©ããå¿
|
---|
| 2091 | è¦ãããï¼
|
---|
| 2092 |
|
---|
| 2093 | ããã«ï¼åççææ©è½æ¡å¼µããã±ã¼ã¸ããµãã¼ãããå ´åã«ã¯ï¼TSKINICTXBã
|
---|
| 2094 | åæåããããã®init_tskinictxbé¢æ°ãç¨æããå¿
|
---|
| 2095 | è¦ãããï¼
|
---|
| 2096 |
|
---|
| 2097 | 6.5.2 ãã£ã¹ãããã£æ¬ä½
|
---|
| 2098 |
|
---|
| 2099 | ãã£ã¹ãããã£æ¬ä½ï¼dispatcherï¼ã¯ï¼ã¿ã¼ã²ããéä¾åé¨ããç´æ¥å¼ã³åºã
|
---|
| 2100 | ãããã¨ã¯ãªãï¼ã«ã¼ãã«ã®ã¿ã¼ã²ããä¾åé¨ã®å
|
---|
| 2101 | é¨ããã®ã¿å¼ã³åºãããï¼
|
---|
| 2102 |
|
---|
| 2103 | dispatcherã¯ï¼ã¿ã¹ã¯ã³ã³ããã¹ãã»CPUããã¯ç¶æ
|
---|
| 2104 | ã»å²è¾¼ã¿åªå
|
---|
| 2105 | 度ãã¹ã¯å
|
---|
| 2106 | ¨è§£
|
---|
| 2107 | é¤ç¶æ
|
---|
| 2108 | ã»ãã£ã¹ããã許å¯ç¶æ
|
---|
| 2109 | ã§å¼ã³åºãããï¼
|
---|
| 2110 |
|
---|
| 2111 | dispatcherã®å¦çå
|
---|
| 2112 | 容ã¯æ¬¡ã®éãï¼
|
---|
| 2113 |
|
---|
| 2114 | ----------------------------------------
|
---|
| 2115 | void
|
---|
| 2116 | dispatcher(void)
|
---|
| 2117 | {
|
---|
| 2118 | #ifdef LOG_DSP_ENTER
|
---|
| 2119 | log_dsp_enter(p_runtsk);
|
---|
| 2120 | #endif /* LOG_DSP_ENTER */
|
---|
| 2121 |
|
---|
| 2122 | dispatcher_0:
|
---|
| 2123 | p_runtsk = p_schedtsk;
|
---|
| 2124 | if (p_runtsk != NULL) {
|
---|
| 2125 | èªã¿ã¹ã¯ï¼p_runtskï¼ã®TCBããã¹ã¿ãã¯ãã¤ã³ã¿ã復帰ãã
|
---|
| 2126 | #ifdef LOG_DSP_LEAVE
|
---|
| 2127 | log_dsp_leave(p_runtsk);
|
---|
| 2128 | #endif /* LOG_DSP_LEAVE */
|
---|
| 2129 | èªã¿ã¹ã¯ã®TCBããå®è¡åéçªå°ã復帰ãï¼ããã¸åå²ãã ⦠(*a)
|
---|
| 2130 | }
|
---|
| 2131 |
|
---|
| 2132 | /*
|
---|
| 2133 | * ã¢ã¤ãã«å¦ç
|
---|
| 2134 | */
|
---|
| 2135 | å²è¾¼ã¿ã許å¯ãããCPUããã¯è§£é¤ç¶æ
|
---|
| 2136 | ã«ãªãããæºåãã
|
---|
| 2137 | å²è¾¼ã¿ããã¹ã¦è¨±å¯ãã
|
---|
| 2138 | while (true) {
|
---|
| 2139 | å²è¾¼ã¿çºçãå¾
|
---|
| 2140 | 㤠⦠(*b)
|
---|
| 2141 | }
|
---|
| 2142 | }
|
---|
| 2143 | ----------------------------------------
|
---|
| 2144 |
|
---|
| 2145 | (*b)ã«ããã¦ï¼å²è¾¼ã¿çºçãå¾
|
---|
| 2146 | ã¤å½ä»¤ãç¨æããã¦ããªãå ´åãï¼ãããçºè¡
|
---|
| 2147 | ããã®ãä¸é½åãªå ´åã«ã¯ï¼å²è¾¼ã¿çºçãå¾
|
---|
| 2148 | ã¤å¦çãçãï¼whileã«ã¼ãã«ãã£
|
---|
| 2149 | ã¦å²è¾¼ã¿çºçãå¾
|
---|
| 2150 | ã¤ããã«ãã¦ãè¯ãï¼
|
---|
| 2151 |
|
---|
| 2152 | å²è¾¼ã¿å¾
|
---|
| 2153 | ã¡ã®éã¯ï¼p_runtskãNULLï¼ï¼0ï¼ã«è¨å®ããªããã°ãªããªãï¼ä¸ã®å¦
|
---|
| 2154 | çå
|
---|
| 2155 | 容ããã®ã¾ã¾å®è£
|
---|
| 2156 | ããã°ãããªãï¼ï¼ãã®ããã«è¨å®ããªãã¨ï¼å²è¾¼ã¿ã
|
---|
| 2157 | ã³ãã©ããget_tidãå¼ã³åºããéã®åä½ãä»æ§ã«åè´ããªããªãï¼
|
---|
| 2158 |
|
---|
| 2159 | dispatcherãã¢ã»ã³ããªè¨èªã§è¨è¿°ããå ´åã«ã¯ï¼ãã¬ã¼ã¹ãã°åå¾å¦çã¯ï¼
|
---|
| 2160 | ã6.2 ãã¬ã¼ã¹ãã°æ©è½ã¸ã®å¯¾å¿ãã®ç¯ã§è¨è¿°ããæ¹æ³ã§ã³ã¼ãã£ã³ã°ããã
|
---|
| 2161 | ã¨ï¼ãªãï¼log_dsp_enterã¯åæãåã®ã¿ã¹ã¯ã®ã¹ã¿ãã¯ã§ï¼log_dsp_leaveã¯
|
---|
| 2162 | åæãå¾ã®ã¿ã¹ã¯ã®ã¹ã¿ãã¯ã§å®è¡ããï¼
|
---|
| 2163 |
|
---|
| 2164 | ãªãï¼dispatcherã«åå²ãã¦ããæï¼ã¹ã¿ãã¯ãã¤ã³ã¿ã¯ï¼æå¾ã«å®è¡ç¶æ
|
---|
| 2165 | ã§
|
---|
| 2166 | ãã£ãã¿ã¹ã¯ã®ã¹ã¿ãã¯ãæãã¦ããï¼ãã ãï¼ã«ã¼ãã«åä½éå§ç´å¾ã«ã¢ã¤
|
---|
| 2167 | ãã«ã«ãªã£ãæã«ã¯ï¼IDã1ã®ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãæãã¦ããï¼
|
---|
| 2168 |
|
---|
| 2169 | ãTOPPERS/ASP1ã«ã¼ãã«ã¨ã®é¢ä¿ã
|
---|
| 2170 |
|
---|
| 2171 | ã¢ã¤ãã«å¦çã®è¨è¨ãä¸æ°ããï¼è©³ããã¯ï¼ãTOPPERS/ASP3ã«ã¼ãã« è¨è¨ã¡ã¢ã
|
---|
| 2172 | ã®ãã¢ã¤ãã«å¦çãã®ç¯ãåç
|
---|
| 2173 | §ãããã¨ï¼
|
---|
| 2174 |
|
---|
| 2175 | 6.5.3 èªçºçãªãã£ã¹ããã
|
---|
| 2176 |
|
---|
| 2177 | (6-5-3-1) void dispatch(void)
|
---|
| 2178 |
|
---|
| 2179 | ã¿ã¹ã¯ã³ã³ããã¹ãããå¼ã°ãããµã¼ãã¹ã³ã¼ã«å¦çã«ããã¦ï¼ã¿ã¹ã¯åæã
|
---|
| 2180 | ãå¿
|
---|
| 2181 | è¦ã«ãªã£ãå ´åã«ã¯ï¼ã¿ã¹ã¯ããã®èªçºçãªãã£ã¹ãããå¦çï¼dispatchï¼
|
---|
| 2182 | ãå¼ã³åºãããï¼
|
---|
| 2183 |
|
---|
| 2184 | dispatchã¯ï¼ã¿ã¹ã¯ã³ã³ããã¹ãã»CPUããã¯ç¶æ
|
---|
| 2185 | ã»å²è¾¼ã¿åªå
|
---|
| 2186 | 度ãã¹ã¯å
|
---|
| 2187 | ¨è§£é¤
|
---|
| 2188 | ç¶æ
|
---|
| 2189 | ã»ãã£ã¹ããã許å¯ç¶æ
|
---|
| 2190 | ã§å¼ã³åºãããï¼
|
---|
| 2191 |
|
---|
| 2192 | dispatchã®å¦çå
|
---|
| 2193 | 容ã¯æ¬¡ã®éãï¼
|
---|
| 2194 |
|
---|
| 2195 | ----------------------------------------
|
---|
| 2196 | void
|
---|
| 2197 | dispatch(void)
|
---|
| 2198 | {
|
---|
| 2199 | #ifdef TOPPERS_SUPPORT_OVRHDR
|
---|
| 2200 | ovrtimer_stop(); /* ãªã¼ãã©ã³ã¿ã¤ãã®åæ¢ */
|
---|
| 2201 | #endif /* TOPPERS_SUPPORT_OVRHDR */
|
---|
| 2202 | ã¹ã¯ã©ããã¬ã¸ã¹ã¿(*)ãé¤ããã¹ã¦ã®ã¬ã¸ã¹ã¿ãã¹ã¿ãã¯ã«ä¿åãã
|
---|
| 2203 | ã¹ã¿ãã¯ãã¤ã³ã¿ãèªã¿ã¹ã¯ï¼p_runtskï¼ã®TCBã«ä¿åãã
|
---|
| 2204 | dispatch_rãï¼å®è¡åéçªå°ã¨ãã¦èªã¿ã¹ã¯ã®TCBã«ä¿åãã ⦠(*a)
|
---|
| 2205 | dispatcherã«åå²ãã
|
---|
| 2206 |
|
---|
| 2207 | dispatch_r:
|
---|
| 2208 | ã¹ã¯ã©ããã¬ã¸ã¹ã¿ãé¤ããã¹ã¦ã®ã¬ã¸ã¹ã¿ãã¹ã¿ãã¯ãã復帰ãã
|
---|
| 2209 | #ifdef TOPPERS_SUPPORT_OVRHDR
|
---|
| 2210 | ovrtimer_start(); /* ãªã¼ãã©ã³ã¿ã¤ãã®åä½éå§ */
|
---|
| 2211 | #endif /* TOPPERS_SUPPORT_OVRHDR */
|
---|
| 2212 | }
|
---|
| 2213 | ----------------------------------------
|
---|
| 2214 |
|
---|
| 2215 | ããã§ã¹ã¯ã©ããã¬ã¸ã¹ã¿(*)ã¨ã¯ï¼é¢æ°å¼åºãã«ããä¿åãããªãã¬ã¸ã¹ã¿ã®
|
---|
| 2216 | ãã¨ã§ããï¼å¿
|
---|
| 2217 | è¦ãªå ´åã«ã¯ï¼é¢æ°ãå¼ã³åºãå´ã§ä¿åããªããã°ãªããªãã
|
---|
| 2218 | ãï¼caller saved registerã¨å¼ã°ããå ´åãããï¼
|
---|
| 2219 |
|
---|
| 2220 | dispatchãå¼ã³åºããã¿ã¹ã¯ã次ã«å®è¡ãããæã«ã¯ï¼å®è¡åéçªå°ã¨ãã¦ç»
|
---|
| 2221 | é²ããdispatch_rã«æ»ã£ã¦ããï¼dispatch_rã«ã¯ï¼dispatcherã®ã¿ããåå²ãï¼
|
---|
| 2222 | ãã®æã®ç¶æ
|
---|
| 2223 | ã¯ï¼ã¿ã¹ã¯ã³ã³ããã¹ãã»CPUããã¯ç¶æ
|
---|
| 2224 | ã»å²è¾¼ã¿åªå
|
---|
| 2225 | 度ãã¹ã¯å
|
---|
| 2226 | ¨
|
---|
| 2227 | 解é¤ç¶æ
|
---|
| 2228 | ã»ãã£ã¹ããã許å¯ç¶æ
|
---|
| 2229 | ã§ããï¼
|
---|
| 2230 |
|
---|
| 2231 | (6-5-3-2) void request_dispatch(void)
|
---|
| 2232 |
|
---|
| 2233 | éã¿ã¹ã¯ã³ã³ããã¹ãã«ããã¦ã¿ã¹ã¯åæããå¿
|
---|
| 2234 | è¦ã«ãªã£ãå ´åã«ã¯ï¼éã¿ã¹
|
---|
| 2235 | ã¯ã³ã³ããã¹ãããã®èªçºçãªãã£ã¹ãããè¦æ±ï¼request_dispatchï¼ãå¼ã³
|
---|
| 2236 | åºãããï¼
|
---|
| 2237 |
|
---|
| 2238 | å²è¾¼ã¿ãã³ãã©ã®åºå
|
---|
| 2239 | ¥å£å¦çãï¼æ¨æºéãã«å®è£
|
---|
| 2240 | ããï¼dispatchãæ示çã«å¼
|
---|
| 2241 | ã³åºãï¼å ´åã«ã¯ï¼request_dispatchã§ã¯ä½ãããå¿
|
---|
| 2242 | è¦ããªãï¼
|
---|
| 2243 |
|
---|
| 2244 | 6.5.4 ãã£ã¹ãããã£ã®åä½éå§
|
---|
| 2245 |
|
---|
| 2246 | (6-5-4-1) void start_dispatch(void)
|
---|
| 2247 |
|
---|
| 2248 | ãã£ã¹ãããã£ã®åä½éå§å¦çï¼start_dispatchï¼ã¯ï¼ã«ã¼ãã«èµ·åæã«ï¼ã«ã¼
|
---|
| 2249 | ãã«ã®åæåå¦çããå¼ã³åºãããï¼start_dispatchã¯ï¼ãªã¿ã¼ã³ãããã¨ã®
|
---|
| 2250 | ãªãé¢æ°ã§ããï¼
|
---|
| 2251 |
|
---|
| 2252 | start_dispatchã¯ï¼éã¿ã¹ã¯ã³ã³ããã¹ãã§ï¼NMIãé¤ããã¹ã¦ã®å²è¾¼ã¿ããã¹
|
---|
| 2253 | ã¯ããç¶æ
|
---|
| 2254 | ï¼å
|
---|
| 2255 | ¨å²è¾¼ã¿ããã¯ç¶æ
|
---|
| 2256 | ã¨åçã®ç¶æ
|
---|
| 2257 | ï¼ã§å¼ã³åºãããï¼
|
---|
| 2258 | start_dispatchå
|
---|
| 2259 | ã§ï¼ã¿ã¹ã¯ã³ã³ããã¹ãã«åãæãï¼CPUããã¯ç¶æ
|
---|
| 2260 | ã»å²è¾¼ã¿
|
---|
| 2261 | åªå
|
---|
| 2262 | 度ãã¹ã¯å
|
---|
| 2263 | ¨è§£é¤ç¶æ
|
---|
| 2264 | ã«ããªããã°ãªããªãï¼ã¾ãï¼ã¹ã¿ãã¯ãï¼IDã1ã®ã¿
|
---|
| 2265 | ã¹ã¯ã®ã¹ã¿ãã¯é åã«åãæããï¼
|
---|
| 2266 |
|
---|
| 2267 | start_dispatchã®å¦çå
|
---|
| 2268 | 容ã¯æ¬¡ã®éãï¼
|
---|
| 2269 |
|
---|
| 2270 | ----------------------------------------
|
---|
| 2271 | void
|
---|
| 2272 | start_dispatch(void)
|
---|
| 2273 | {
|
---|
| 2274 | ã¿ã¹ã¯ã³ã³ããã¹ãã«åãæãã
|
---|
| 2275 | ã¹ã¿ãã¯ãIDã1ã®ã¿ã¹ã¯ã®ã¹ã¿ãã¯é åã«åãæãã
|
---|
| 2276 | CPUããã¯ç¶æ
|
---|
| 2277 | ã»å²è¾¼ã¿åªå
|
---|
| 2278 | 度ãã¹ã¯å
|
---|
| 2279 | ¨è§£é¤ç¶æ
|
---|
| 2280 | ã«ãã
|
---|
| 2281 | dispatcher_0ã«åå²ãã
|
---|
| 2282 | }
|
---|
| 2283 | ----------------------------------------
|
---|
| 2284 |
|
---|
| 2285 | 6.5.5 ç¾å¨ã®ã³ã³ããã¹ããæ¨ã¦ã¦ãã£ã¹ããã
|
---|
| 2286 |
|
---|
| 2287 | (6-5-5-1) void exit_and_dispatch(void)
|
---|
| 2288 |
|
---|
| 2289 | èªã¿ã¹ã¯ãçµäºããããµã¼ãã¹å¦çããã¯ï¼ç¾å¨ã®ã³ã³ããã¹ããæ¨ã¦ã¦ãã£
|
---|
| 2290 | ã¹ãããããå¦çï¼exit_and_dispatchï¼ãå¼ã³åºãããï¼exit_and_dispatch
|
---|
| 2291 | ã¯ï¼ãªã¿ã¼ã³ãããã¨ã®ãªãé¢æ°ã§ããï¼
|
---|
| 2292 |
|
---|
| 2293 | exit_and_dispatchã¯ï¼ã¿ã¹ã¯ã³ã³ããã¹ãã»CPUããã¯ç¶æ
|
---|
| 2294 | ã»å²è¾¼ã¿åªå
|
---|
| 2295 | 度ã
|
---|
| 2296 | ã¹ã¯å
|
---|
| 2297 | ¨è§£é¤ç¶æ
|
---|
| 2298 | ã»ãã£ã¹ããã許å¯ç¶æ
|
---|
| 2299 | ã§å¼ã³åºãããï¼
|
---|
| 2300 |
|
---|
| 2301 | exit_and_dispatchã®å¦çå
|
---|
| 2302 | 容ã¯æ¬¡ã®éãï¼
|
---|
| 2303 |
|
---|
| 2304 | ----------------------------------------
|
---|
| 2305 | void
|
---|
| 2306 | exit_and_dispatch(void)
|
---|
| 2307 | {
|
---|
| 2308 | dispatcherã«åå²ãã
|
---|
| 2309 | }
|
---|
| 2310 | ----------------------------------------
|
---|
| 2311 |
|
---|
| 2312 | 6.5.6 ã¿ã¹ã¯ã®èµ·åæºå
|
---|
| 2313 |
|
---|
| 2314 | (6-5-6-1) void activate_context(TCB *p_tcb)
|
---|
| 2315 |
|
---|
| 2316 | ã¿ã¹ã¯ã®èµ·åæºåå¦çï¼activate_contextï¼ã¯ï¼ã¿ã¹ã¯ãä¼æ¢ç¶æ
|
---|
| 2317 | ããå®è¡ã§
|
---|
| 2318 | ããç¶æ
|
---|
| 2319 | ã«ããæã«å¼ã°ãï¼p_tcbã§æå®ãããã¿ã¹ã¯ï¼å¯¾è±¡ã¿ã¹ã¯ï¼ã®TCBä¸
|
---|
| 2320 | ã®ã¹ã¿ãã¯ãã¤ã³ã¿ãåæåãï¼å®è¡åéçªå°ãã¿ã¹ã¯éå§æå¦çï¼start_rï¼
|
---|
| 2321 | ã«è¨å®ããï¼ãã®æç¹ã§ã¯ï¼å¾è¿°ããçç±ã§ï¼å¯¾è±¡ã¿ã¹ã¯ã®ã¹ã¿ãã¯é åã使ã£
|
---|
| 2322 | ã¦ã¯ãªããªãï¼
|
---|
| 2323 |
|
---|
| 2324 | 対象ã¿ã¹ã¯ãæåã«å®è¡ãããæã«ã¯ï¼å¯¾è±¡ã¿ã¹ã¯ãèªã¿ã¹ã¯ã¨ãã¦ï¼å®è¡å
|
---|
| 2325 | éçªå°ã¨ãã¦ç»é²ããstart_rã«åå²ãã¦ããï¼start_rã«ã¯ï¼dispatcherã®ã¿
|
---|
| 2326 | ããåå²ãï¼ãã®æã®ç¶æ
|
---|
| 2327 | ã¯ï¼ã¿ã¹ã¯ã³ã³ããã¹ãã»CPUããã¯ç¶æ
|
---|
| 2328 | ã»å²è¾¼ã¿åª
|
---|
| 2329 | å
|
---|
| 2330 | 度ãã¹ã¯å
|
---|
| 2331 | ¨è§£é¤ç¶æ
|
---|
| 2332 | ã»ãã£ã¹ããã許å¯ç¶æ
|
---|
| 2333 | ã§ããï¼
|
---|
| 2334 |
|
---|
| 2335 | start_rã¯ï¼CPUããã¯ç¶æ
|
---|
| 2336 | ã解é¤ããå¾ï¼ã¿ã¹ã¯ã®èµ·åçªå°ãå¼ã³åºãï¼ãã
|
---|
| 2337 | ã«ï¼ã¿ã¹ã¯ã®èµ·åçªå°ããæ»ã£ã¦ããå ´åã«ã¯ï¼ext_tskãå¼ã³åºãï¼
|
---|
| 2338 |
|
---|
| 2339 | activate_contextã¨start_rã®å¦çå
|
---|
| 2340 | 容ã¯æ¬¡ã®éãï¼
|
---|
| 2341 |
|
---|
| 2342 | ----------------------------------------
|
---|
| 2343 | void
|
---|
| 2344 | activate_context(TCB *p_tcb)
|
---|
| 2345 | {
|
---|
| 2346 | æå®ãããã¿ã¹ã¯ï¼p_tcbï¼ã®TCBä¸ã®ã¹ã¿ãã¯ãã¤ã³ã¿ãåæåãã
|
---|
| 2347 | start_rãï¼å®è¡åéçªå°ã¨ãã¦èªã¿ã¹ã¯ã®TCBã«ä¿åãã ⦠(*a)
|
---|
| 2348 | return;
|
---|
| 2349 |
|
---|
| 2350 | start_r:
|
---|
| 2351 | #ifdef TOPPERS_SUPPORT_OVRHDR
|
---|
| 2352 | ovrtimer_start(); /* ãªã¼ãã©ã³ã¿ã¤ãã®åä½éå§ */
|
---|
| 2353 | #endif /* TOPPERS_SUPPORT_OVRHDR */
|
---|
| 2354 | CPUããã¯è§£é¤ç¶æ
|
---|
| 2355 | ã«ãã
|
---|
| 2356 | èªã¿ã¹ã¯ï¼p_runtskï¼ã®èµ·åçªå°ãï¼æ¡å¼µæ
|
---|
| 2357 | å ±ããã©ã¡ã¼ã¿ã¨ãã¦å¼ã³åºã
|
---|
| 2358 | ext_tskã«åå²ãã ... (*c)
|
---|
| 2359 | }
|
---|
| 2360 | ----------------------------------------
|
---|
| 2361 |
|
---|
| 2362 | (*c)ã§ext_tskãå¼ã¶ä»£ããã«ï¼èªã¿ã¹ã¯ã®èµ·åçªå°ãå¼ã³åºãæã®è¿ãçªå°ã
|
---|
| 2363 | ext_tskã®çªå°ã¨ãã¦ããæ¹æ³ãããï¼
|
---|
| 2364 |
|
---|
| 2365 | ããã§ï¼ã¿ã¹ã¯ã®èµ·åå¦çã«ããã¦å¯¾è±¡ã¿ã¹ã¯ã®ã¹ã¿ãã¯é åã使ã£ã¦ã¯ãªã
|
---|
| 2366 | ãªãçç±ã¯ï¼æ¬¡ã®éãï¼å¶ç´ã¿ã¹ã¯æ¡å¼µããã±ã¼ã¸ã«ããã¦ï¼è¤æ°ã®å¶ç´ã¿ã¹
|
---|
| 2367 | ã¯ãã¹ã¿ãã¯é åãå
|
---|
| 2368 | ±æãã¦ããå ´åã«ï¼ã¿ã¹ã¯ã®èµ·åæç¹ã§ã¯ï¼ãã®ã¿ã¹ã¯
|
---|
| 2369 | ã¨ã¹ã¿ãã¯é åãå
|
---|
| 2370 | ±æãã¦ããã¿ã¹ã¯ãï¼ã¹ã¿ãã¯é åã使ç¨ãã¦ããå¯è½æ§
|
---|
| 2371 | ãããããã§ããï¼
|
---|
| 2372 |
|
---|
| 2373 | ãã®ãã¼ãã£ã³ã°ã¬ã¤ãã§ã¯ï¼ã¿ã¹ã¯ã®å®è¡åéçªå°ãTCBã«ä¿åãã¦ãã
|
---|
| 2374 | (*a)ï¼ãããã¹ã¿ãã¯ã«ä¿åããæ¹æ³ãèãããããï¼ã¿ã¹ã¯ã®èµ·åå¦çã§ã¹
|
---|
| 2375 | ã¿ãã¯é åã使ããªããã¨ããï¼ã¿ã¹ã¯ã®èµ·åå¦çã ãã¯ä¾å¤æ±ãããªããã°
|
---|
| 2376 | ãªããªãï¼ä¾ãã°ï¼ã¿ã¹ã¯ã®èµ·åå¦çã«ããã¦ã¯TCBä¸ã®ã¹ã¿ãã¯ãã¤ã³ã¿ãç¹
|
---|
| 2377 | æ®ãªå¤ï¼ä¾ãã°0ï¼ã«è¨å®ãã¦ããï¼ãã£ã¹ãããã£æ¬ä½ã§TCBä¸ã®ã¹ã¿ãã¯ã
|
---|
| 2378 | ã¤ã³ã¿ããã®å¤ã®å ´åã«ã¯start_rã«åå²ããï¼start_rã«ããã¦ã¹ã¿ãã¯ãã¤
|
---|
| 2379 | ã³ã¿ãåæåããæ¹æ³ãèããããï¼
|
---|
| 2380 |
|
---|
| 2381 | 6.6 å²è¾¼ã¿ãã³ãã©
|
---|
| 2382 |
|
---|
| 2383 | 6.6.1 å²è¾¼ã¿ãã³ãã©ã®åºå
|
---|
| 2384 | ¥å£å¦ç
|
---|
| 2385 |
|
---|
| 2386 | ã«ã¼ãã«ç®¡çã®å²è¾¼ã¿ãã³ãã©ã®åºå
|
---|
| 2387 | ¥å£å¦çã¯ï¼ä»¥ä¸ã®æ¬ä¼¼ã³ã¼ãã¨ç価ã«ãª
|
---|
| 2388 | ãããã«å®è£
|
---|
| 2389 | ããï¼å¦çå
|
---|
| 2390 | 容ãç価ã§ããã°ï¼å¦çé åºãå¤æ´ãã¦ããã¾ããª
|
---|
| 2391 | ãï¼
|
---|
| 2392 |
|
---|
| 2393 | ããã»ããµã«ãã£ã¦ã¯ï¼æ¬ä¼¼ã³ã¼ãã«å«ã¾ããå¦çããã¼ãã¦ã§ã¢ã§å®ç¾ãã
|
---|
| 2394 | ã¦ããå ´åããããï¼ãã®ãããªå¦çã¯ã½ããã¦ã§ã¢ã§è¡ãå¿
|
---|
| 2395 | è¦ã¯ãªãï¼
|
---|
| 2396 |
|
---|
| 2397 | æ¬ä¼¼ã³ã¼ãä¸ã§ï¼ãå°ãªãã¨ãã«ã¼ãã«ç®¡çã®å²è¾¼ã¿ãç¦æ¢ããç¶æ
|
---|
| 2398 | ãã¨ã¯ï¼
|
---|
| 2399 | ã«ã¼ãã«å
|
---|
| 2400 | é¨ã§ç¨ããä¸æçãªç¶æ
|
---|
| 2401 | ã§ããï¼ãã®ç¶æ
|
---|
| 2402 | ã®ã¾ã¾ã§ã«ã¼ãã«å¤ã«åº
|
---|
| 2403 | ããã¨ã¯ãªãï¼ãã®ããï¼ãã®ç¶æ
|
---|
| 2404 | ã§ã¯ï¼CPUããã¯ç¶æ
|
---|
| 2405 | ã§ããã¨èå¥ã§ããªã
|
---|
| 2406 | ã¦ãããï¼ä¾ãã°ï¼CPUããã¯ç¶æ
|
---|
| 2407 | ã§ãããã¨ã示ãå¤æ°ãç¨æãã¦ããå ´åã«
|
---|
| 2408 | ã¯ï¼ãã®ç¶æ
|
---|
| 2409 | ã§ã¯ãã®å¤æ°ãCPUããã¯ç¶æ
|
---|
| 2410 | ã示ãå¤ã«å¤æ´ããå¿
|
---|
| 2411 | è¦ã¯ãªãï¼ã¾
|
---|
| 2412 | ãï¼ãã®ç¶æ
|
---|
| 2413 | ã§ã¯ï¼ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ï¼ã®ä¸é¨ï¼ãç¦æ¢ããã¦ãã¦ãã
|
---|
| 2414 | ãï¼
|
---|
| 2415 |
|
---|
| 2416 | ----------------------------------------
|
---|
| 2417 | void
|
---|
| 2418 | <å²è¾¼ã¿ã®åºå
|
---|
| 2419 | ¥å£å¦ç>(void)
|
---|
| 2420 | {
|
---|
| 2421 | å°ãªãã¨ãã«ã¼ãã«ç®¡çã®å²è¾¼ã¿ãç¦æ¢ããç¶æ
|
---|
| 2422 | ã«ãã ⦠(*d)
|
---|
| 2423 | ã¹ã¯ã©ããã¬ã¸ã¹ã¿ãã¹ã¿ãã¯ã«ä¿åãã
|
---|
| 2424 | if (å²è¾¼ã¿ãã¿ã¹ã¯ã³ã³ããã¹ãã§çºç) {
|
---|
| 2425 | #ifdef TOPPERS_SUPPORT_OVRHDR
|
---|
| 2426 | ovrtimer_stop(); /* ãªã¼ãã©ã³ã¿ã¤ãã®åæ¢ */ ⦠(*e)
|
---|
| 2427 | #endif /* TOPPERS_SUPPORT_OVRHDR */
|
---|
| 2428 | ã¹ã¿ãã¯ãéã¿ã¹ã¯ã³ã³ããã¹ãç¨ã®ã¹ã¿ãã¯ã«åãæãï¼
|
---|
| 2429 | éã¿ã¹ã¯ã³ã³ããã¹ãã«åãæãã
|
---|
| 2430 | }
|
---|
| 2431 | å²è¾¼ã¿åªå
|
---|
| 2432 | 度ãã¹ã¯ãï¼åãä»ããå²è¾¼ã¿ã®å²è¾¼ã¿åªå
|
---|
| 2433 | 度ã«è¨å®ãã
|
---|
| 2434 | å²è¾¼ã¿ãã³ãã©ã®å
|
---|
| 2435 | ¥å£ã§å¿
|
---|
| 2436 | è¦ãªIRCã®æä½ãè¡ãï¼å²è¾¼ã¿è¦æ±ã©ã¤ã³ãã¨ã
|
---|
| 2437 | ã¸ããªã¬ã§ããå ´åã®ããªã¬ãããå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢ãªã©ï¼
|
---|
| 2438 | CPUããã¯è§£é¤ç¶æ
|
---|
| 2439 | ã«ããï¼åãä»ããå²è¾¼ã¿ãããåªå
|
---|
| 2440 | 度ã®é«ãå²è¾¼ã¿ã
|
---|
| 2441 | åãä»ããããã«ããï¼
|
---|
| 2442 |
|
---|
| 2443 | #ifdef LOG_INH_ENTER
|
---|
| 2444 | log_inh_enter(å²è¾¼ã¿ãã³ãã©çªå·);
|
---|
| 2445 | #endif /* LOG_INH_ENTER */
|
---|
| 2446 | å²è¾¼ã¿ãã³ãã©ãå¼ã³åºã
|
---|
| 2447 | #ifdef LOG_INH_LEAVE
|
---|
| 2448 | log_inh_leave(å²è¾¼ã¿ãã³ãã©çªå·);
|
---|
| 2449 | #endif /* LOG_INH_LEAVE */
|
---|
| 2450 |
|
---|
| 2451 | å°ãªãã¨ãã«ã¼ãã«ç®¡çã®å²è¾¼ã¿ãç¦æ¢ããç¶æ
|
---|
| 2452 | ã«ãã
|
---|
| 2453 | å²è¾¼ã¿ãã³ãã©ã®åºå£ã§å¿
|
---|
| 2454 | è¦ãªIRCã®æä½ãè¡ãï¼IRCã«å¯¾ããå²è¾¼ã¿å¦ç
|
---|
| 2455 | ã®çµäºéç¥ãªã©ï¼
|
---|
| 2456 | å²è¾¼ã¿åªå
|
---|
| 2457 | 度ãã¹ã¯ãï¼å²è¾¼ã¿ãåãä»ããåã®å¤ã«æ»ã ⦠(*f)
|
---|
| 2458 |
|
---|
| 2459 | if (å²è¾¼ã¿ãã¿ã¹ã¯ã³ã³ããã¹ãã§çºç) {
|
---|
| 2460 | ã¹ã¿ãã¯ãã¿ã¹ã¯ç¨ã®ã¹ã¿ãã¯ã«æ»ãï¼ã¿ã¹ã¯ã³ã³ããã¹ãã«åãæãã
|
---|
| 2461 | ⦠(*g)
|
---|
| 2462 | if (p_runtsk != p_schedtsk) {
|
---|
| 2463 | CPUããã¯ç¶æ
|
---|
| 2464 | ã«ãã ⦠(*h)
|
---|
| 2465 | å²è¾¼ã¿åªå
|
---|
| 2466 | 度ãã¹ã¯ã¯ï¼å
|
---|
| 2467 | ¨è§£é¤ç¶æ
|
---|
| 2468 | ï¼TIPM_ENAALLï¼ã«ãªã£ã¦
|
---|
| 2469 | ããªããã°ãªããªã ⦠(*i)
|
---|
| 2470 | if (p_runtsk != NULL) {
|
---|
| 2471 | ã¹ã¯ã©ããã¬ã¸ã¹ã¿ãé¤ããã¹ã¦ã®ã¬ã¸ã¹ã¿ãã¹ã¿ãã¯ã«ä¿åãã
|
---|
| 2472 | ã¹ã¿ãã¯ãã¤ã³ã¿ãèªã¿ã¹ã¯ï¼p_runtskï¼ã®TCBã«ä¿åãã
|
---|
| 2473 | ret_int_rãï¼å®è¡åéçªå°ã¨ãã¦èªã¿ã¹ã¯ã®TCBã«ä¿åãã ⦠(*a)
|
---|
| 2474 | dispatcherã«åå²ãã
|
---|
| 2475 | }
|
---|
| 2476 | else {
|
---|
| 2477 | dispatcher_0ã«åå²ãã
|
---|
| 2478 | }
|
---|
| 2479 |
|
---|
| 2480 | ret_int_r:
|
---|
| 2481 | ã¹ã¯ã©ããã¬ã¸ã¹ã¿ãé¤ããã¹ã¦ã®ã¬ã¸ã¹ã¿ãã¹ã¿ãã¯ãã復帰ãã
|
---|
| 2482 | #ifdef TOPPERS_SUPPORT_OVRHDR
|
---|
| 2483 | ovrtimer_start(); /* ãªã¼ãã©ã³ã¿ã¤ãã®åä½éå§ */
|
---|
| 2484 | #endif /* TOPPERS_SUPPORT_OVRHDR */
|
---|
| 2485 | }
|
---|
| 2486 | #ifdef TOPPERS_SUPPORT_OVRHDR
|
---|
| 2487 | else {
|
---|
| 2488 | if (p_runtsk != NULL) {
|
---|
| 2489 | ovrtimer_start(); /* ãªã¼ãã©ã³ã¿ã¤ãã®åä½éå§ */
|
---|
| 2490 | }
|
---|
| 2491 | }
|
---|
| 2492 | #endif /* TOPPERS_SUPPORT_OVRHDR */
|
---|
| 2493 | }
|
---|
| 2494 | å²è¾¼ã¿å¦çããã®ãªã¿ã¼ã³ã«ããï¼CPUããã¯è§£é¤ç¶æ
|
---|
| 2495 | ã«æ»ãããã«æºåãã
|
---|
| 2496 | ã¹ã¯ã©ããã¬ã¸ã¹ã¿ãã¹ã¿ãã¯ãã復帰ãã
|
---|
| 2497 | å²è¾¼ã¿å¦çããã®ãªã¿ã¼ã³
|
---|
| 2498 | }
|
---|
| 2499 | ----------------------------------------
|
---|
| 2500 |
|
---|
| 2501 | å²è¾¼ã¿ã®åä»ãã«ããå²è¾¼ã¿ãç¦æ¢ãããªãããã»ããµã§ã¯ï¼(*d)ã«ããã¦ï¼
|
---|
| 2502 | å°ãªãã¨ãã«ã¼ãã«ç®¡çã®å²è¾¼ã¿ãç¦æ¢ããï¼ããã¯ï¼ovrtimer_stopãã¹ã¿ã
|
---|
| 2503 | ã¯ãåãæããå¦ççã«ããã¦ï¼ã«ã¼ãã«ã®å
|
---|
| 2504 | é¨å¤æ°ãã¢ã¯ã»ã¹ããï¼å ´åã
|
---|
| 2505 | ããï¼ããï¼ãããã«å¯¾ããæä»å¶å¾¡ãå¿
|
---|
| 2506 | è¦ãªããã§ããï¼ãªã¼ãã©ã³ã¿ã¤ã
|
---|
| 2507 | ããµãã¼ãããï¼ãã®ä»ã®å¦çã§ãã«ã¼ãã«ã®å
|
---|
| 2508 | é¨å¤æ°ãã¢ã¯ã»ã¹ããªãå ´å
|
---|
| 2509 | ã«ã¯ï¼(*d)ãçç¥ã§ããå ´åãããï¼
|
---|
| 2510 |
|
---|
| 2511 | ãã ãï¼ãã¼ãã¦ã§ã¢ã«ããã¹ã¿ãã¯ãã¤ã³ã¿ãåãæããæ©è½ããªãããã»ã
|
---|
| 2512 | ãµã§ã¯ï¼å²è¾¼ã¿ãã³ãã©ã®å
|
---|
| 2513 | ¥å£å¦çã®ã§ããéãæ©ãã¿ã¤ãã³ã°ã§ï¼ã«ã¼ãã«
|
---|
| 2514 | 管çå¤ã®å²è¾¼ã¿ãå«ãã¦ï¼ãã¹ã¦ã®å²è¾¼ã¿ãç¦æ¢ããã®ãæã¾ããï¼è©³ããã¯ï¼
|
---|
| 2515 | ãå¤éå²è¾¼ã¿ã¨ã¹ã¿ãã¯ãã®é
|
---|
| 2516 | ãåç
|
---|
| 2517 | §ãããã¨ï¼
|
---|
| 2518 |
|
---|
| 2519 | å²è¾¼ã¿ã®åä»ãã«ããå²è¾¼ã¿ãç¦æ¢ãããªãããã»ããµã§ã¯ï¼(*e)ã®å¦çãï¼
|
---|
| 2520 | ifæã®æåã§ï¼ã¤ã¾ãï¼å²è¾¼ã¿ãçºçããã³ã³ããã¹ãã«ä¾ããã«ï¼è¡ãã¹ã
|
---|
| 2521 | ã§ããï¼ããã¯ï¼(*d)ã«ããã¦å²è¾¼ã¿ãç¦æ¢ããåã«å¤éå²è¾¼ã¿ãåãä»ãã
|
---|
| 2522 | ããå ´åã«ï¼ãã®å²è¾¼ã¿å¦çã®éããªã¼ãã©ã³ã¿ã¤ãã®åä½ãæ¢ãã¦ãããã
|
---|
| 2523 | ã«å¿
|
---|
| 2524 | è¦ã§ããï¼ãªãï¼ovrtimer_stopã¯ï¼ãªã¼ãã©ã³ã¿ã¤ããåä½ãã¦ããªãæ
|
---|
| 2525 | ã¯ä½ãè¡ããªãããï¼éå°ã«å¼ã³åºãã¦ãå·®ãæ¯ããªãï¼
|
---|
| 2526 |
|
---|
| 2527 | (*f)ã«ããã¦ï¼å²è¾¼ã¿åªå
|
---|
| 2528 | 度ãã¹ã¯ãå²è¾¼ã¿ãåãä»ããåã®å¤ã«æ»ãå¦çã¯ï¼
|
---|
| 2529 | å²è¾¼ã¿å¦çãããªã¿ã¼ã³ããã¾ã§ã«è¡ãã°ããï¼å²è¾¼ã¿å¦çããã®ãªã¿ã¼ã³ã«
|
---|
| 2530 | ããå²è¾¼ã¿åªå
|
---|
| 2531 | 度ãã¹ã¯ãå
|
---|
| 2532 | ã«æ»ãæ©è½ãããå ´åã«ã¯ï¼ããã«å§ãã¦ãããï¼
|
---|
| 2533 | ãã ãï¼ãã®ããã«ããå ´åã«ã¯ï¼(*i)ã«ããã¦ï¼å²è¾¼ã¿åªå
|
---|
| 2534 | 度ãã¹ã¯ã¯å
|
---|
| 2535 | ¨è§£
|
---|
| 2536 | é¤ç¶æ
|
---|
| 2537 | ï¼TIPM_ENAALLï¼ã«ããå¦çãè¡ãå¿
|
---|
| 2538 | è¦ãããï¼
|
---|
| 2539 |
|
---|
| 2540 | (*g)ã«ããã¦ã¿ã¹ã¯ã³ã³ããã¹ãã«åãæããå¦çã¯ï¼å²è¾¼ã¿å¦çããã®ãªã¿ã¼
|
---|
| 2541 | ã³ã«ããã¹ã¿ãã¯ã¨ã³ã³ããã¹ããå
|
---|
| 2542 | ã«æ»ãããã»ããµã§ã¯ï¼dispatcherã«å
|
---|
| 2543 | å²ããå ´åã«ã®ã¿è¡ãã°ããï¼dispatcherã«åå²ããªãå ´åã«ã¯ï¼éã¿ã¹ã¯ã³
|
---|
| 2544 | ã³ããã¹ãã®ã¾ã¾å¦çãç¶ãï¼å²è¾¼ã¿å¦çããã®ãªã¿ã¼ã³ã§ã¿ã¹ã¯ã³ã³ããã¹
|
---|
| 2545 | ãã«æ»ããã¨ã«ãªãï¼
|
---|
| 2546 |
|
---|
| 2547 | (*h)ã«ããã¦CPUããã¯ç¶æ
|
---|
| 2548 | ã«ããã®ã¯ï¼dispatcherã«åå²ããéã«ï¼CPUãã
|
---|
| 2549 | ã¯ç¶æ
|
---|
| 2550 | ã«ãªã£ã¦ããå¿
|
---|
| 2551 | è¦ãããããã§ããï¼
|
---|
| 2552 |
|
---|
| 2553 | (*i)ã®å¦çã«å°éããã®ã¯ï¼å²è¾¼ã¿å¦çåã«å²è¾¼ã¿åªå
|
---|
| 2554 | 度ãã¹ã¯ãå
|
---|
| 2555 | ¨è§£é¤ç¶æ
|
---|
| 2556 |
|
---|
| 2557 | ï¼TIPM_ENAALLï¼ã§ãã£ãå ´åã«éãããããï¼(*f)ã«ããã¦å²è¾¼ã¿åªå
|
---|
| 2558 | 度ãã¹
|
---|
| 2559 | ã¯ãå²è¾¼ã¿ãåãä»ããåã®å¤ã«æ»ãã¦ããã°ï¼ããã§ã¯ä½ãããªãã¦ãè¯ãï¼
|
---|
| 2560 | ãã ãï¼å²è¾¼ã¿åªå
|
---|
| 2561 | 度ãã¹ã¯ãæ»ãå¦çãå¾ã§è¡ãå ´åã«ã¯ï¼(*i)ã«ããã¦ï¼
|
---|
| 2562 | å²è¾¼ã¿åªå
|
---|
| 2563 | 度ãã¹ã¯ãå
|
---|
| 2564 | ¨è§£é¤ç¶æ
|
---|
| 2565 | ã«è¨å®ããªããã°ãªããªãï¼ãªãï¼ããã§å²
|
---|
| 2566 | è¾¼ã¿åªå
|
---|
| 2567 | 度ãã¹ã¯ãå
|
---|
| 2568 | ¨è§£é¤ç¶æ
|
---|
| 2569 | ã«ãªã£ã¦ããªããã°ãªããªãã®ã¯ï¼dispatcher
|
---|
| 2570 | ã«åå²ããéã«ã¯ï¼å²è¾¼ã¿åªå
|
---|
| 2571 | 度ãã¹ã¯å
|
---|
| 2572 | ¨è§£é¤ç¶æ
|
---|
| 2573 | ã«ãªã£ã¦ããå¿
|
---|
| 2574 | è¦ãããã
|
---|
| 2575 | ãã§ããï¼
|
---|
| 2576 |
|
---|
| 2577 | ã¿ã¹ã¯ã®å®è¡ä¸ã«å²è¾¼ã¿ãçºçãï¼å²è¾¼ã¿ããã®åºå£å¦çä¸ã§dispatcherã«å
|
---|
| 2578 | å²ããå ´åï¼ãã®ã¿ã¹ã¯ã次ã«å®è¡ãããæã«ã¯ï¼å®è¡åéçªå°ã¨ãã¦ç»é²ã
|
---|
| 2579 | ãret_int_rã«æ»ã£ã¦ããï¼ret_int_rã«ã¯ï¼dispatcherã®ã¿ããåå²ãï¼ãã®
|
---|
| 2580 | æã®ç¶æ
|
---|
| 2581 | ã¯ï¼ã¿ã¹ã¯ã³ã³ããã¹ãã»CPUããã¯ç¶æ
|
---|
| 2582 | ã»å²è¾¼ã¿åªå
|
---|
| 2583 | 度ãã¹ã¯å
|
---|
| 2584 | ¨è§£é¤
|
---|
| 2585 | ç¶æ
|
---|
| 2586 | ã»ãã£ã¹ããã許å¯ç¶æ
|
---|
| 2587 | ã§ããï¼
|
---|
| 2588 |
|
---|
| 2589 | å²è¾¼ã¿ã®åºå
|
---|
| 2590 | ¥å£å¦çãã¢ã»ã³ããªè¨èªã§è¨è¿°ããå ´åã«ã¯ï¼ãã¬ã¼ã¹ãã°åå¾
|
---|
| 2591 | å¦çã¯ï¼ã6.2 ãã¬ã¼ã¹ãã°æ©è½ã¸ã®å¯¾å¿ãã®ç¯ã§è¨è¿°ããæ¹æ³ã§ã³ã¼ãã£ã³
|
---|
| 2592 | ã°ãããã¨ï¼
|
---|
| 2593 |
|
---|
| 2594 | ãå¤éå²è¾¼ã¿ã¨ã¹ã¿ãã¯ã
|
---|
| 2595 |
|
---|
| 2596 | ãã¼ãã¦ã§ã¢ã«ããã¹ã¿ãã¯ãã¤ã³ã¿ãåãæããæ©è½ããªãããã»ããµã§ã¯ï¼
|
---|
| 2597 | å²è¾¼ã¿ã®å
|
---|
| 2598 | ¥å£å¦çã«ããã¦ï¼éã¿ã¹ã¯ã³ã³ããã¹ãç¨ã®ã¹ã¿ãã¯ã«åãæãã
|
---|
| 2599 | åã«å¤éå²è¾¼ã¿ãåãä»ããã¨ï¼ã¿ã¹ã¯ã®ã¹ã¿ãã¯é åã使ç¨ãããï¼ãã®ã
|
---|
| 2600 | ãï¼åã¿ã¹ã¯ã®ã¹ã¿ãã¯é åã確ä¿ããéã«ï¼ããã§åãä»ããå²è¾¼ã¿ã使ç¨
|
---|
| 2601 | ããã¹ã¿ãã¯ãè¦è¾¼ãã§ç¢ºä¿ããªããã°ãªããªãï¼
|
---|
| 2602 |
|
---|
| 2603 | åã¿ã¹ã¯ã®ã¹ã¿ãã¯é åããªãã¹ãå°ããããããã«ã¯ï¼ã¹ã¿ãã¯ããªãã¹ã
|
---|
| 2604 | 使ç¨ããªãå
|
---|
| 2605 | ã«ï¼ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ãå«ãã¦ï¼å¤éå²è¾¼ã¿ãç¦æ¢ããã®
|
---|
| 2606 | ãæã¾ããï¼ä¸æ¹ã§ï¼ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ã®ç¦æ¢æéãé·ããªãã¨ï¼ã«ã¼
|
---|
| 2607 | ãã«ç®¡çå¤ã®å²è¾¼ã¿ã®å¿çæ§ãä½ä¸ããããï¼ã¦ã¼ã¶ã«æ³¨æãä¿ãå¿
|
---|
| 2608 | è¦ãããï¼
|
---|
| 2609 |
|
---|
| 2610 | ç¹ã«ï¼å²è¾¼ã¿ã®åä»ã«ããå²è¾¼ã¿ãç¦æ¢ãããï¼ãã¼ãã¦ã§ã¢ã«ããã¹ã¿ãã¯
|
---|
| 2611 | ãã¤ã³ã¿ãåãæããæ©è½ããªãããã»ããµã§ã¯ï¼æ¬¡ã®ç¹ã«æ³¨æãå¿
|
---|
| 2612 | è¦ã§ããï¼
|
---|
| 2613 |
|
---|
| 2614 | ãã®ãããªããã»ããµã§ã¯ï¼éã¿ã¹ã¯ã³ã³ããã¹ãç¨ã®ã¹ã¿ãã¯ã«åãæãã
|
---|
| 2615 | åã«ï¼æ大ã§å²è¾¼ã¿åªå
|
---|
| 2616 | 度ã®æ®µæ°åã®å¤éå²è¾¼ã¿ãçºçãããã¨ãé²ããã¨ã¯
|
---|
| 2617 | ã§ããï¼åã¿ã¹ã¯ã®ã¹ã¿ãã¯é åããã®åãè¦è¾¼ãã§ç¢ºä¿ããªããã°ãªããªãï¼
|
---|
| 2618 | ããã§ï¼ã¹ã¿ãã¯ããªãã¹ã使ç¨ããªãå
|
---|
| 2619 | ã«å¤éå²è¾¼ã¿ãç¦æ¢ããããã«ï¼ã¹
|
---|
| 2620 | ã¯ã©ããã¬ã¸ã¹ã¿ãã¹ã¿ãã¯ã«ä¿åããåã«ï¼ãã¹ã¦ã®å²è¾¼ã¿ãç¦æ¢ããã®ã
|
---|
| 2621 | æã¾ããï¼ãã ãï¼å²è¾¼ã¿ã®ç¦æ¢å¦çã«å¿
|
---|
| 2622 | è¦ãªæä½éã®ã¬ã¸ã¹ã¿ã«ã¤ãã¦ã¯ï¼
|
---|
| 2623 | å²è¾¼ã¿ã®ç¦æ¢ã«å
|
---|
| 2624 | ç«ã£ã¦ã¹ã¿ãã¯ã«ä¿åããå¿
|
---|
| 2625 | è¦ãããï¼
|
---|
| 2626 |
|
---|
| 2627 | ã«ã¼ãã«ã®ç®¡è½å¤ã§ã¯ãããï¼ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿å¦çã«ããã¦ãï¼éã¿
|
---|
| 2628 | ã¹ã¯ã³ã³ããã¹ãç¨ã®ã¹ã¿ãã¯ï¼ã¾ãã¯ï¼ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿å¦çç¨ã®ã¹
|
---|
| 2629 | ã¿ãã¯ï¼ã«åãæãããã¨ãæã¾ããï¼
|
---|
| 2630 |
|
---|
| 2631 | ãTOPPERS/ASP1ã«ã¼ãã«ã¨ã®é¢ä¿ã
|
---|
| 2632 |
|
---|
| 2633 | æ¬ä¼¼ã³ã¼ãã®æ§æãè¦ç´ããï¼æ¬ä¼¼ã³ã¼ãã§æ³å®ãã¦ããããã»ããµã®ã¿ã¤ã
|
---|
| 2634 | ãå¤ããï¼ï¼
|
---|
| 2635 |
|
---|
| 2636 | reqflgãå»æ¢ããï¼ã¾ãï¼p_schedtskã®æå³ãå¤æ´ããï¼å²è¾¼ã¿åªå
|
---|
| 2637 | 度ãã¹ã¯
|
---|
| 2638 | å
|
---|
| 2639 | ¨è§£é¤ã§ãªãç¶æ
|
---|
| 2640 | ã®éã¨ãã£ã¹ãããç¦æ¢ç¶æ
|
---|
| 2641 | ã®éã¯ï¼p_schedtskãæ´æ°ããª
|
---|
| 2642 | ããã¨ã«ããï¼ãã¨ã«ããï¼ã¿ã¹ã¯åæãã®æ¡ä»¶å¤å®ã§ï¼dspflgããã§ãã¯ã
|
---|
| 2643 | ãå¿
|
---|
| 2644 | è¦ããªããªã£ãï¼
|
---|
| 2645 |
|
---|
| 2646 | ã¢ã¤ãã«å¦çã®è¨è¨ãå¤æ´ããããï¼å²è¾¼ã¿ãã³ãã©ã®åºå£å¦çã«ãããã¿ã¹
|
---|
| 2647 | ã¯åæãã«ããã¦ï¼p_runtskãNULLã¨ãªã£ã¦ããç¶æ³ãèããå¿
|
---|
| 2648 | è¦ãçããï¼
|
---|
| 2649 |
|
---|
| 2650 | 6.6.2 å²è¾¼ã¿ãã³ãã©æ¯ã®åºå
|
---|
| 2651 | ¥å£å¦çã®çæ
|
---|
| 2652 |
|
---|
| 2653 | å²è¾¼ã¿ãã¯ãã«ããã¼ãã¦ã§ã¢ã§å®ç¾ãã¦ããå ´åãªã©ï¼å²è¾¼ã¿ãã³ãã©æ¯ã«
|
---|
| 2654 | åºå
|
---|
| 2655 | ¥å£å¦çãç¨æããæ¹ãå¹çãè¯ãããã»ããµã®ããã«ï¼å²è¾¼ã¿ãã³ãã©æ¯
|
---|
| 2656 | ã«åºå
|
---|
| 2657 | ¥å£å¦çãçæããæ©æ§ãç¨æãã¦ããï¼
|
---|
| 2658 |
|
---|
| 2659 | 以ä¸ã®ãã¯ãã¯ï¼æ¨æºã®å²è¾¼ã¿ç®¡çæ©è½ã®åæåå¦çãç¨ããå ´åã®ã¿ï¼ã¿ã¼
|
---|
| 2660 | ã²ããéä¾åé¨ã§ä½¿ãããï¼å²è¾¼ã¿ç®¡çæ©è½ã®åæåå¦çãã¿ã¼ã²ããä¾åé¨
|
---|
| 2661 | ã§ç¨æãï¼ãã®ä¸ã§ãããã®ãã¯ãã使ããªãå ´åã«ã¯ï¼ãããã®ãã¯ããç¨
|
---|
| 2662 | æããå¿
|
---|
| 2663 | è¦ã¯ãªãï¼
|
---|
| 2664 |
|
---|
| 2665 | (6-6-2-1) INT_ENTRY(inhno, inthdr)
|
---|
| 2666 |
|
---|
| 2667 | å²è¾¼ã¿ãã³ãã©çªå·ãinhnoï¼å²è¾¼ã¿ãã³ãã©ã®é¢æ°åãinthdrã§ããå²è¾¼ã¿ã
|
---|
| 2668 | ã³ãã©ã®åºå
|
---|
| 2669 | ¥å£å¦çã®ã©ãã«ãä½ããã¯ãï¼INTHDR_ENTRYãç¨ãã¦å²è¾¼ã¿ãã³
|
---|
| 2670 | ãã©æ¯ã«åºå
|
---|
| 2671 | ¥å£å¦çãçæããå ´åã«ã¯ï¼æ¬¡ã®ããã«å®ç¾©ããï¼
|
---|
| 2672 |
|
---|
| 2673 | #define INT_ENTRY(inhno, inthdr) _kernel_##inthdr##_##inhno
|
---|
| 2674 |
|
---|
| 2675 | å²è¾¼ã¿ãã³ãã©æ¯ã«åºå
|
---|
| 2676 | ¥å£å¦çãä½ãå¿
|
---|
| 2677 | è¦ããªãå ´åã«ã¯ï¼æ¬¡ã®ããã«å®ç¾©ã
|
---|
| 2678 | ã¦ï¼å²è¾¼ã¿ãã³ãã©ã®é¢æ°åããã®ã¾ã¾è¿ãï¼
|
---|
| 2679 |
|
---|
| 2680 | #define INT_ENTRY(inhno, inthdr) inthdr
|
---|
| 2681 |
|
---|
| 2682 | (6-6-2-2) INTHDR_ENTRY(inhno, inhno_num, inthdr)
|
---|
| 2683 |
|
---|
| 2684 | å²è¾¼ã¿ãã³ãã©çªå·ãinhnoï¼å²è¾¼ã¿ãã³ãã©ã®é¢æ°åãinthdrã§ããå²è¾¼ã¿ã
|
---|
| 2685 | ã³ãã©ã®åºå
|
---|
| 2686 | ¥å£å¦çãçæãããã¯ãï¼inhno_numã«ã¯ï¼ã¢ã»ã³ããªè¨èªè¨è¿°ç¨
|
---|
| 2687 | ã«ï¼å²è¾¼ã¿ãã³ãã©çªå·ãæ°å¤ã§æ¸¡ãããï¼å²è¾¼ã¿ãã³ãã©æ¯ã«åºå
|
---|
| 2688 | ¥å£å¦çã
|
---|
| 2689 | ä½ãå¿
|
---|
| 2690 | è¦ããªãå ´åã«ã¯ï¼ç©ºã«å®ç¾©ããï¼
|
---|
| 2691 |
|
---|
| 2692 | 6.6.3 å²è¾¼ã¿ãã³ãã©ã®è¨å®
|
---|
| 2693 |
|
---|
| 2694 | (6-6-3-1) void define_inh(INHNO inhno, FP int_entry)
|
---|
| 2695 |
|
---|
| 2696 | inhnoã§æå®ãããå²è¾¼ã¿ãã³ãã©ã®åºå
|
---|
| 2697 | ¥å£å¦çã®çªå°ãint_entryã«è¨å®ããï¼
|
---|
| 2698 |
|
---|
| 2699 | ãã®é¢æ°ã¯ï¼æ¨æºã®å²è¾¼ã¿ç®¡çæ©è½ã®åæåå¦çãç¨ããå ´åã®ã¿ï¼ã¿ã¼ã²ã
|
---|
| 2700 | ãéä¾åé¨ããå¼ã³åºãããï¼å²è¾¼ã¿ç®¡çæ©è½ã®åæåå¦çãã¿ã¼ã²ããä¾å
|
---|
| 2701 | é¨ã§ç¨æãï¼ãã®ä¸ã§ãã®é¢æ°ãå¼ã³åºããªãå ´åã«ã¯ï¼ãã®é¢æ°ãç¨æãã
|
---|
| 2702 | å¿
|
---|
| 2703 | è¦ã¯ãªãï¼
|
---|
| 2704 |
|
---|
| 2705 | ãã®é¢æ°ã¯ï¼ã¿ã¼ã²ããéä¾åé¨ã®ã«ã¼ãã«åæåå¦çããå¼ã³åºãããããï¼
|
---|
| 2706 | ã«ã¼ãã«ã®åæåå¦çï¼NMIãé¤ããã¹ã¦ã®å²è¾¼ã¿ããã¹ã¯ããã¦ããï¼ããå¼
|
---|
| 2707 | ã³åºããããã«å®è£
|
---|
| 2708 | ããã°ããï¼
|
---|
| 2709 |
|
---|
| 2710 | æå®ãããå²è¾¼ã¿ãã³ãã©çªå·ãDEF_INHã«å¯¾ãããã®ã¨ãã¦æå¹ãªå¤ã§ãªãå ´
|
---|
| 2711 | åã®åä½ã¯ä¿è¨¼ããå¿
|
---|
| 2712 | è¦ããªãï¼assertã§ã¨ã©ã¼ã¨ããã®ãæã¾ããï¼ï¼ãã
|
---|
| 2713 | ã¯ï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ãï¼ãã¹2ã®çæã¹ã¯ãªããã®ã¿ã¼ã²ããä¾åé¨ã§å®ç¾©
|
---|
| 2714 | ãã$INHNO_DEFINH_VALIDãç¨ãã¦ã¨ã©ã¼ãæ¤åºããããã§ããï¼
|
---|
| 2715 |
|
---|
| 2716 | 6.6.4 å²è¾¼ã¿è¦æ±ã©ã¤ã³ã®å±æ§ã®è¨å®
|
---|
| 2717 |
|
---|
| 2718 | (6-6-4-1) void config_int(INTNO intno, ATR intatr, PRI intpri)
|
---|
| 2719 |
|
---|
| 2720 | intnoã§æå®ãããå²è¾¼ã¿è¦æ±ã©ã¤ã³ã®å²è¾¼ã¿å±æ§ãï¼intatrã§æå®ãããéã
|
---|
| 2721 | ã«è¨å®ããï¼ã¾ãï¼å²è¾¼ã¿åªå
|
---|
| 2722 | 度ãï¼intpriã§æå®ãããå¤ã«è¨å®ããï¼
|
---|
| 2723 |
|
---|
| 2724 | ãã®é¢æ°ã¯ï¼æ¨æºã®å²è¾¼ã¿ç®¡çæ©è½ã®åæåå¦çãç¨ããå ´åã®ã¿ï¼ã¿ã¼ã²ã
|
---|
| 2725 | ãéä¾åé¨ããå¼ã³åºãããï¼å²è¾¼ã¿ç®¡çæ©è½ã®åæåå¦çãã¿ã¼ã²ããä¾å
|
---|
| 2726 | é¨ã§ç¨æãï¼ãã®ä¸ã§ãã®é¢æ°ãå¼ã³åºããªãå ´åã«ã¯ï¼ãã®é¢æ°ãç¨æãã
|
---|
| 2727 | å¿
|
---|
| 2728 | è¦ã¯ãªãï¼
|
---|
| 2729 |
|
---|
| 2730 | ãã®é¢æ°ã¯ï¼ã¿ã¼ã²ããéä¾åé¨ã®ã«ã¼ãã«åæåå¦çããå¼ã³åºãããããï¼
|
---|
| 2731 | ã«ã¼ãã«ã®åæåå¦çï¼NMIãé¤ããã¹ã¦ã®å²è¾¼ã¿ããã¹ã¯ããã¦ããï¼ããå¼
|
---|
| 2732 | ã³åºããããã«å®è£
|
---|
| 2733 | ããã°ããï¼
|
---|
| 2734 |
|
---|
| 2735 | intatrã¨ãã¦è¨å®ã§ããå²è¾¼ã¿å±æ§ã¯æ¬¡ã®éãï¼
|
---|
| 2736 |
|
---|
| 2737 | TA_ENAINT 0x01 å²è¾¼ã¿è¦æ±ç¦æ¢ãã©ã°ãã¯ãªã¢
|
---|
| 2738 | TA_EDGE 0x02 ã¨ãã¸ããªã¬
|
---|
| 2739 |
|
---|
| 2740 | ãã®ä»ã«ï¼ã¿ã¼ã²ããå®ç¾©ã§å²è¾¼ã¿å±æ§ã追å ãã¦ãããï¼ã¿ã¼ã²ããå®ç¾©ã§
|
---|
| 2741 | 追å ããããã«ï¼ä»¥ä¸ã®å±æ§åãäºç´ããã¦ããï¼
|
---|
| 2742 |
|
---|
| 2743 | TA_POSEDGE ãã¸ãã£ãã¨ãã¸ããªã¬
|
---|
| 2744 | TA_NEGEDGE ãã¬ãã£ãã¨ãã¸ããªã¬
|
---|
| 2745 | TA_BOTHEDGE 両ã¨ãã¸ããªã¬
|
---|
| 2746 | TA_LOWLEVEL ãã¼ã¬ãã«ããªã¬
|
---|
| 2747 | TA_HIGHLEVEL ãã¤ã¬ãã«ããªã¬
|
---|
| 2748 |
|
---|
| 2749 | ãããã®å±æ§åãã¿ã¼ã²ããå®ç¾©ã§è¿½å ããå ´åã«ã¯ï¼ãã®å±æ§å¤ã決å®ãï¼
|
---|
| 2750 | å®ç¾©ãtarget_kernel.hï¼ã¾ãã¯ï¼ããããã¤ã³ã¯ã«ã¼ãããããã¡ã¤ã«ï¼ã«å«
|
---|
| 2751 | ããï¼ã¾ãï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã®çæã¹ã¯ãªããããåç
|
---|
| 2752 | §ã§ããããã«ï¼
|
---|
| 2753 | target_sym.defï¼ã¾ãã¯ï¼åçã®å½¹å²ãæã¤ãã¡ã¤ã«ï¼ã«å«ããï¼ããã«ï¼ã³
|
---|
| 2754 | ã³ãã£ã®ã¥ã¬ã¼ã¿ã®çæã¹ã¯ãªããã®ã¿ã¼ã²ããéä¾åé¨ã§ã¨ã©ã¼ã¨ãªããªã
|
---|
| 2755 | ããã«ï¼target_kernel.hï¼ã¾ãã¯ï¼ããããã¤ã³ã¯ã«ã¼ãããããã¡ã¤ã«ï¼ã§
|
---|
| 2756 | TARGET_INTATRãå®ç¾©ããï¼
|
---|
| 2757 |
|
---|
| 2758 | æå®ãããå²è¾¼ã¿çªå·ãæå¹ãªå¤ã§ãªãå ´åãï¼ãã®å²è¾¼ã¿è¦æ±ã©ã¤ã³ã«å¯¾ã
|
---|
| 2759 | ã¦è¨å®ã§ããªãå±æ§ãæå®ããå ´åï¼è¨å®ã§ããªãå²è¾¼ã¿åªå
|
---|
| 2760 | 度ãæå®ããå ´
|
---|
| 2761 | åã®åä½ã¯ä¿è¨¼ããå¿
|
---|
| 2762 | è¦ããªãï¼assertã§ã¨ã©ã¼ã¨ããã®ãæã¾ããï¼ï¼ãã®
|
---|
| 2763 | ãããªã±ã¼ã¹ã¯ï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã§ã¨ã©ã¼ãæ¤åºãã¹ãã§ããï¼ã³ã³ãã£
|
---|
| 2764 | ã®ã¥ã¬ã¼ã¿ã®çæã¹ã¯ãªããã®ã¿ã¼ã²ããéä¾åé¨ã¯ï¼çæã¹ã¯ãªããã®ã¿ã¼
|
---|
| 2765 | ã²ããä¾åé¨ã§å®ç¾©ãã$INTNO_CFGINT_VALIDï¼$INTPRI_CFGINT_VALIDã¨ï¼ã¿ã¼
|
---|
| 2766 | ã²ããä¾åé¨ã®ããããã¡ã¤ã«ã§å®ç¾©ããTARGET_INTATRãç¨ãã¦ã¨ã©ã¼ãæ¤åº
|
---|
| 2767 | ãããï¼æ¨æºã®å²è¾¼ã¿å±æ§ï¼TA_ENAINTï¼TA_EDGEï¼ãè¨å®ã§ããªãå ´åãï¼è¨
|
---|
| 2768 | å®ã§ããªãå±æ§ãå²è¾¼ã¿åªå
|
---|
| 2769 | 度ãå²è¾¼ã¿è¦æ±ã©ã¤ã³ã«ãã£ã¦ç°ãªãå ´åã«ã¯ï¼
|
---|
| 2770 | çæã¹ã¯ãªããã®ã¿ã¼ã²ããä¾åé¨ã§æ¤åºããªããã°ãªããªãï¼
|
---|
| 2771 |
|
---|
| 2772 | 6.6.5 å²è¾¼ã¿ç®¡çæ©è½ã®åæåå¦çã®å¤æ´
|
---|
| 2773 |
|
---|
| 2774 | (6-6-5-1) OMIT_INITIALIZE_INTERRUPTï¼ãªãã·ã§ã³ï¼
|
---|
| 2775 |
|
---|
| 2776 | å²è¾¼ã¿ç®¡çæ©è½ã®åæåå¦çãã¿ã¼ã²ããä¾åé¨ã§ç¨æãï¼ã¿ã¼ã²ããéä¾å
|
---|
| 2777 | é¨ã«å«ã¾ããæ¨æºã®å²è¾¼ã¿ç®¡çæ©è½ã®åæåå¦çãç¨ããªãå ´åã«ã¯ï¼ãã®ã·
|
---|
| 2778 | ã³ãã«ããã¯ãå®ç¾©ããï¼
|
---|
| 2779 |
|
---|
| 2780 | ãã®ã·ã³ãã«ããã¯ãå®ç¾©ããã¨ï¼INHINIBï¼INTINIBï¼initialize_interrupt
|
---|
| 2781 | ã®å®ç¾©ãï¼ã«ã¼ãã«ã®ã¿ã¼ã²ããéä¾åé¨ããåãé¤ãããï¼ã¾ãï¼
|
---|
| 2782 | TNUM_DEF_INHNOï¼tnum_def_inhnoï¼inhinib_tableï¼TNUM_CFG_INTNOï¼
|
---|
| 2783 | tnum_cfg_intnoï¼intinib_tableã®å®ç¾©ã¨ï¼å²è¾¼ã¿ãã³ãã©æ¯ã®åºå
|
---|
| 2784 | ¥å£å¦çãç
|
---|
| 2785 | æããããã®è¨è¿°ï¼INTHDR_ENTRYãã¯ãã®ãªã¹ãï¼ãï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã®
|
---|
| 2786 | ãã¹2ã®çæã¹ã¯ãªããã®ã¿ã¼ã²ããéä¾åé¨ã«ãã£ã¦kernel_cfg.cã«çæãã
|
---|
| 2787 | ãªããªãï¼
|
---|
| 2788 |
|
---|
| 2789 | (6-6-5-2) void initialize_interrupt(void)ï¼ãªãã·ã§ã³ï¼
|
---|
| 2790 |
|
---|
| 2791 | OMIT_INITIALIZE_INTERRUPTããã¯ãå®ç¾©ããå ´åã«ã¯ï¼ãã®é¢æ°ãã¿ã¼ã²ãã
|
---|
| 2792 | ä¾åé¨ã§ç¨æããï¼OMIT_INITIALIZE_INTERRUPTããã¯ãå®ç¾©ãããã¨ã«ããå
|
---|
| 2793 | ãé¤ããããã®ä»ã®ãã¼ã¿åï¼å¤æ°ï¼ãã¯ãã¯ï¼ãã®é¢æ°ã§ä½¿ç¨ããå ´åã«ã®
|
---|
| 2794 | ã¿ç¨æããã°ããï¼
|
---|
| 2795 |
|
---|
| 2796 | (6-6-5-3) USE_INHINIB_TABLEï¼ãªãã·ã§ã³ï¼
|
---|
| 2797 |
|
---|
| 2798 | OMIT_INITIALIZE_INTERRUPTããã¯ãå®ç¾©ãããï¼å²è¾¼ã¿ãã³ãã©ã®åæåã«å¿
|
---|
| 2799 |
|
---|
| 2800 | è¦ãªæ
|
---|
| 2801 | å ±ãkernel_cfg.cã«çæãããå ´åã«ã¯ï¼ãã®ã·ã³ãã«ããã¯ãå®ç¾©ã
|
---|
| 2802 | ãï¼
|
---|
| 2803 |
|
---|
| 2804 | ãã®ã·ã³ãã«ããã¯ãå®ç¾©ããã¨ï¼INHINIBã®å®ç¾©ãï¼ã«ã¼ãã«ã®ã¿ã¼ã²ããé
|
---|
| 2805 | ä¾åé¨ããåãé¤ãããªãï¼ã¾ãï¼TNUM_DEF_INHNOï¼tnum_def_inhnoï¼
|
---|
| 2806 | inhinib_tableã®å®ç¾©ã¨ï¼å²è¾¼ã¿ãã³ãã©æ¯ã®åºå
|
---|
| 2807 | ¥å£å¦çãçæããããã®è¨è¿°
|
---|
| 2808 | ï¼INTHDR_ENTRYãã¯ãã®ãªã¹ãï¼ãï¼ã¿ã¼ã²ããéä¾åé¨ã«ãã£ã¦çæãããï¼
|
---|
| 2809 |
|
---|
| 2810 | (6-6-5-4) USE_INTINIB_TABLEï¼ãªãã·ã§ã³ï¼
|
---|
| 2811 |
|
---|
| 2812 | OMIT_INITIALIZE_INTERRUPTããã¯ãå®ç¾©ãããï¼å²è¾¼ã¿è¦æ±ã©ã¤ã³ã®åæåã«
|
---|
| 2813 | å¿
|
---|
| 2814 | è¦ãªæ
|
---|
| 2815 | å ±ãkernel_cfg.cã«çæãããå ´åã«ã¯ï¼ãã®ã·ã³ãã«ããã¯ãå®ç¾©
|
---|
| 2816 | ããï¼
|
---|
| 2817 |
|
---|
| 2818 | ãã®ã·ã³ãã«ããã¯ãå®ç¾©ããã¨ï¼INTINIBã®å®ç¾©ãï¼ã«ã¼ãã«ã®ã¿ã¼ã²ããé
|
---|
| 2819 | ä¾åé¨ããåãé¤ãããªãï¼ã¾ãï¼TNUM_CFG_INTNOï¼tnum_cfg_intnoï¼
|
---|
| 2820 | intinib_tableã®å®ç¾©ãï¼ã¿ã¼ã²ããéä¾åé¨ã«ãã£ã¦çæãããï¼
|
---|
| 2821 |
|
---|
| 2822 | 6.6.6 ããã©ã«ãã®å²è¾¼ã¿ãã³ãã©
|
---|
| 2823 |
|
---|
| 2824 | (6-6-6-1) void default_int_handler(void)ï¼ãªãã·ã§ã³ï¼
|
---|
| 2825 |
|
---|
| 2826 | ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã«ããå²è¾¼ã¿ãã³ãã©ã®ãã¼ãã«ãçæããå ´åãªã©ã«ã¯ï¼
|
---|
| 2827 | å²è¾¼ã¿ãã³ãã©ãç»é²ããªãã£ãå²è¾¼ã¿ãã³ãã©çªå·ã«å¯¾ãã¦ï¼ããã©ã«ãã®
|
---|
| 2828 | å²è¾¼ã¿ãã³ãã©ã¨ãã¦ï¼default_int_handlerãç»é²ããï¼
|
---|
| 2829 |
|
---|
| 2830 | default_int_handlerã¯ï¼æ¨æºã®ãã®ãã¿ã¼ã²ããä¾åé¨ã§ç¨æãããï¼ã¦ã¼ã¶
|
---|
| 2831 | ãç¨æãããã®ã§ç½®ãæããããããã«ï¼OMIT_DEFAULT_INT_HANDLERããã¯ã
|
---|
| 2832 | å®ç¾©ããå ´åã«ã¯ï¼ã¿ã¼ã²ããä¾åé¨ã§å®ç¾©ããªãããã«ããï¼ãªãï¼ã¦ã¼ã¶
|
---|
| 2833 | ãç¨æããå ´åã®å称ã¯ï¼_kernel_default_int_handlerã¨ãªãï¼
|
---|
| 2834 |
|
---|
| 2835 | 6.6.7 ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿
|
---|
| 2836 |
|
---|
| 2837 | ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ãã³ãã©ã¯ï¼ã«ã¼ãã«å
|
---|
| 2838 | ã®å²è¾¼ã¿åºå
|
---|
| 2839 | ¥å£å¦çãçµç±ã
|
---|
| 2840 | ãã«å®è¡ããã®ãåºæ¬ã§ããï¼
|
---|
| 2841 |
|
---|
| 2842 | ãã ãï¼ãã¹ã¦ã®å²è¾¼ã¿ã§åãã¢ãã¬ã¹ã«åå²ããããã»ããµã§ã¯ï¼ã«ã¼ãã«
|
---|
| 2843 | å
|
---|
| 2844 | ã®å²è¾¼ã¿åºå
|
---|
| 2845 | ¥å£å¦çãå
|
---|
| 2846 | ¨ãçµç±ããã«ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ãã³ãã©ãå®
|
---|
| 2847 | è¡ãããã¨ãã§ããªãããï¼å²è¾¼ã¿åºå
|
---|
| 2848 | ¥å£å¦çã®ãªãã¹ãæ©ãã¿ã¤ãã³ã°ã§ï¼
|
---|
| 2849 | ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ã§ããããå¤å¥ãï¼å¦çå
|
---|
| 2850 | 容ãåããå¿
|
---|
| 2851 | è¦ãããï¼å
|
---|
| 2852 | ·
|
---|
| 2853 | ä½çã«ã¯ï¼ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ã®åºå
|
---|
| 2854 | ¥å£å¦çã§ã¯ï¼ãªã¼ãã©ã³ãã³ãã©ã®
|
---|
| 2855 | åæ¢ã¨åä½éå§ãè¡ã£ã¦ã¯ãªããªãï¼ã¾ãï¼ã¿ã¹ã¯åæããè¡ãå¿
|
---|
| 2856 | è¦ããªãï¼
|
---|
| 2857 | ããã«ï¼NMIã®åºå
|
---|
| 2858 | ¥å£å¦çã§ã¯ï¼ãã¬ã¼ã¹ãã°åå¾å¦çï¼log_inh_enterããã³
|
---|
| 2859 | log_inh_leaveï¼ãå¼ã³åºãã¦ã¯ãªããªãï¼
|
---|
| 2860 |
|
---|
| 2861 | ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ãã³ãã©ãå®è¡ããéã«ï¼ã«ã¼ãã«å
|
---|
| 2862 | ã®å²è¾¼ã¿åºå
|
---|
| 2863 | ¥å£
|
---|
| 2864 | å¦çã®ä¸é¨åãçµç±ããå ´åã«ã¯ï¼CPUä¾å¤ãèµ·ããå¯è½æ§ã極åæ¸ããã¨ã¨ã
|
---|
| 2865 | ã«ï¼CPUä¾å¤ãèµ·ããå¯è½æ§ãããå ´åã«ã¯ï¼ãã®å¯è½æ§ãã¿ã¼ã²ããä¾åé¨ã®
|
---|
| 2866 | ã¦ã¼ã¶ã¼ãºããã¥ã¢ã«ã«è¨è¼ããªããã°ãªããªãï¼
|
---|
| 2867 |
|
---|
| 2868 | 次ã«ï¼ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ã®è¨å®æ¹æ³ã«é¢ãã¦ï¼ãTOPPERSæ°ä¸ä»£ã«ã¼ãã«
|
---|
| 2869 | çµ±åä»æ§æ¸ãã®ã2.7.8 ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ã®è¨å®æ¹æ³ãã®ç¯ã®3ã¤ã®æ¹æ³
|
---|
| 2870 | ã®ããããæ¡ç¨ãããã決å®ããï¼
|
---|
| 2871 |
|
---|
| 2872 | (a-1)ã¾ãã¯(a-2)ãæ¡ç¨ãï¼ã«ã¼ãã«ç®¡çå¤ã¨ããå²è¾¼ã¿ã«å¯¾ãã¦ï¼ã«ã¼ãã«
|
---|
| 2873 | ã®APIã«ããå²è¾¼ã¿ãã³ãã©ã®ç»é²ã¨å²è¾¼ã¿è¦æ±ã©ã¤ã³ã®å±æ§ã®è¨å®ããµãã¼ã
|
---|
| 2874 | ããªãå ´åã«ã¯ï¼ããã«ä»£ããæ¹æ³ãã¿ã¼ã²ããä¾åé¨ã®ã¦ã¼ã¶ã¼ãºããã¥ã¢
|
---|
| 2875 | ã«ã«è¨è¿°ããï¼
|
---|
| 2876 |
|
---|
| 2877 | (a-1)ã¾ãã¯(a-2)ãæ¡ç¨ãã¦ã«ã¼ãã«ã®APIã«ããå²è¾¼ã¿ãã³ãã©ã®ç»é²ãå²è¾¼
|
---|
| 2878 | ã¿è¦æ±ã©ã¤ã³ã®å±æ§ã®è¨å®ããµãã¼ãããå ´åãï¼(b)ãæ¡ç¨ããå ´åã«ã¯ï¼ã¿ã¼
|
---|
| 2879 | ã²ããä¾åé¨ã«ããã¦ãããå®ç¾ããå¿
|
---|
| 2880 | è¦ãããï¼
|
---|
| 2881 |
|
---|
| 2882 | ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ã«å¯¾ãã¦ï¼DEF_INHã«ããå²è¾¼ã¿ãã³ãã©ã®ç»é²ããµãã¼
|
---|
| 2883 | ãããã«ã¯ï¼æ¬¡ã®è¨å®ãå¿
|
---|
| 2884 | è¦ã«ãªãï¼
|
---|
| 2885 |
|
---|
| 2886 | ã»TARGET_INHATRã«ï¼TA_NONKERNELãè¨å®ããï¼
|
---|
| 2887 |
|
---|
| 2888 | ã»(a-1)ã¾ãã¯(a-2)ãæ¡ç¨ããå ´åã«ã¯ï¼$INHNO_DEFINH_VALIDã«ï¼ã«ã¼ãã«ç®¡
|
---|
| 2889 | ãçå¤ã¨ããå²è¾¼ã¿ã«å¯¾å¿ããå²è¾¼ã¿ãã³ãã©çªå·ãå«ããï¼ã¾ãï¼
|
---|
| 2890 | ãVALID_INHNOãï¼ã«ã¼ãã«ç®¡çå¤ã¨ããå²è¾¼ã¿ãã³ãã©çªå·ãæå¹ãªå¤ã¨å¤å®
|
---|
| 2891 | ãããããã«ããï¼
|
---|
| 2892 |
|
---|
| 2893 | ã»(a-1)ã¾ãã¯(a-2)ãæ¡ç¨ããå ´åã«ã¯ï¼$INHNO_FIX_KERNELã«ã«ã¼ãã«ç®¡çã¨
|
---|
| 2894 | ãããå²è¾¼ã¿ãã³ãã©çªå·ã®ãªã¹ããï¼$INHNO_FIX_NONKERNELã«ã«ã¼ãã«ç®¡ç
|
---|
| 2895 | ãå¤ã¨ããå²è¾¼ã¿ãã³ãã©çªå·ã®ãªã¹ãè¨å®ããï¼
|
---|
| 2896 |
|
---|
| 2897 | ã»DEF_INHãã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ã«å¯¾å¿ã§ããããã«ããï¼æ¨æºã®å²è¾¼ã¿ç®¡
|
---|
| 2898 | ãçæ©è½ã®åæåå¦çãç¨ããå ´åã«ã¯ï¼define_inhãã«ã¼ãã«ç®¡çå¤ã®å²è¾¼
|
---|
| 2899 | ãã¿ã«å¯¾å¿ãããï¼
|
---|
| 2900 |
|
---|
| 2901 | ã»å¿
|
---|
| 2902 | è¦ãªå ´åã«ã¯ï¼TA_NONKERNELå±æ§ãè¨å®ãããå²è¾¼ã¿ãã³ãã©ãã«ã¼ãã«
|
---|
| 2903 | ã管çå¤ã¨æ±ãããã«ï¼ã«ã¼ãã«å
|
---|
| 2904 | ã®å²è¾¼ã¿åºå
|
---|
| 2905 | ¥å£å¦çãä¿®æ£ããï¼æ¨æºã®å²
|
---|
| 2906 | ãè¾¼ã¿ç®¡çæ©è½ã®åæåå¦çãç¨ããå ´åï¼ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ã«å¯¾ãã¦
|
---|
| 2907 | ãã¯ï¼ã«ã¼ãã«å
|
---|
| 2908 | ã®å²è¾¼ã¿åºå
|
---|
| 2909 | ¥å£å¦çãçæããï¼ã¢ããªã±ã¼ã·ã§ã³ãç»é²ã
|
---|
| 2910 | ããå²è¾¼ã¿ãã³ãã©ãç´æ¥å¼ã³åºãããã«ï¼ã¿ã¼ã²ããéä¾åé¨ã«ããè¨å®ã
|
---|
| 2911 | ãããããï¼ã¿ã¼ã²ããä¾åé¨ã§ã¯å¯¾å¿ããå¿
|
---|
| 2912 | è¦ããªãï¼
|
---|
| 2913 |
|
---|
| 2914 | ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ã«å¯¾ãã¦ï¼CFG_INTã«ããå²è¾¼ã¿è¦æ±ã©ã¤ã³ã®å±æ§ã®è¨
|
---|
| 2915 | å®ããµãã¼ãããã«ã¯ï¼æ¬¡ã®è¨å®ãå¿
|
---|
| 2916 | è¦ã«ãªãï¼
|
---|
| 2917 |
|
---|
| 2918 | ã»(a-1)ã¾ãã¯(a-2)ãæ¡ç¨ããå ´åã«ã¯ï¼$INTNO_CFGINT_VALIDã«ï¼ã«ã¼ãã«ç®¡
|
---|
| 2919 | ãçå¤ã¨ããå²è¾¼ã¿ã«å¯¾å¿ããå²è¾¼ã¿çªå·ãå«ããï¼ã¾ãï¼VALID_INTNOãï¼ã«ã¼
|
---|
| 2920 | ããã«ç®¡çå¤ã¨ããå²è¾¼ã¿çªå·ãæå¹ãªå¤ã¨å¤å®ããããã«ããï¼å¿
|
---|
| 2921 | è¦ã§ãã
|
---|
| 2922 | ãã°ï¼VALID_INTNO_DISINTã¨VALID_INTNO_CREISRã®å®ç¾©ã追å ã¾ãã¯å¤æ´ããï¼
|
---|
| 2923 |
|
---|
| 2924 | ã»(a-1)ã¾ãã¯(a-2)ãæ¡ç¨ããå ´åã«ã¯ï¼$INTNO_FIX_KERNELã«ã«ã¼ãã«ç®¡çã¨
|
---|
| 2925 | ãããå²è¾¼ã¿çªå·ã®ãªã¹ããï¼$INTNO_FIX_NONKERNELã«ã«ã¼ãã«ç®¡çå¤ã¨ãã
|
---|
| 2926 | ãå²è¾¼ã¿çªå·ã®ãªã¹ãè¨å®ããï¼
|
---|
| 2927 |
|
---|
| 2928 | ã»$INTPRI_CFGINT_VALIDã«ï¼ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ã¨ãªãåªå
|
---|
| 2929 | 度ãå«ããï¼
|
---|
| 2930 |
|
---|
| 2931 | ã»CFG_INTãã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ã«å¯¾å¿ã§ããããã«ããï¼æ¨æºã®å²è¾¼ã¿ç®¡
|
---|
| 2932 | ãçæ©è½ã®åæåå¦çãç¨ããå ´åã«ã¯ï¼config_intãã«ã¼ãã«ç®¡çå¤ã®å²è¾¼
|
---|
| 2933 | ãã¿ã«å¯¾å¿ãããï¼
|
---|
| 2934 |
|
---|
| 2935 | chg_ipmã«ããï¼ï¼NMI以å¤ã®ï¼ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ããã¹ã¯ã§ããããã«
|
---|
| 2936 | ããå ´åã«ã¯ï¼æ¬¡ã®è¨å®ãå¿
|
---|
| 2937 | è¦ã«ãªãï¼
|
---|
| 2938 |
|
---|
| 2939 | ã»VALID_INTPRI_CHGIPMãï¼ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ã¨ãªãåªå
|
---|
| 2940 | 度ãæå¹ãªå¤ã¨
|
---|
| 2941 | ãå¤å®ããããã«ããï¼
|
---|
| 2942 |
|
---|
| 2943 | ã»t_set_ipmãï¼ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ã¨ãªãåªå
|
---|
| 2944 | 度ãæ±ããããã«ããï¼
|
---|
| 2945 |
|
---|
| 2946 | 6.6.8 å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ã®çæ
|
---|
| 2947 |
|
---|
| 2948 | (6-6-8-1) bool_t VALID_INTNO_CREISR(INTNO intno)ï¼ãªãã·ã§ã³ï¼
|
---|
| 2949 |
|
---|
| 2950 | intnoãï¼acre_isrã«å¯¾ããå²è¾¼ã¿çªå·ã¨ãã¦æå¹ãªå¤ã§ããå ´åã«trueï¼ãã
|
---|
| 2951 | ã§ãªãå ´åã«falseãè¿ããã¯ãï¼åççææ©è½æ¡å¼µããã±ã¼ã¸ã使ç¨ããªãå ´
|
---|
| 2952 | åã«ã¯ï¼å®ç¾©ããå¿
|
---|
| 2953 | è¦ããªãï¼
|
---|
| 2954 |
|
---|
| 2955 | ãã®ãã¯ããå®ç¾©ããªãå ´åï¼VALID_INTNOã使ãããï¼VALID_INTNOã§æå¹ã¨
|
---|
| 2956 | å¤æãããå²è¾¼ã¿çªå·ãï¼acre_isrã«å¯¾ãã¦æå¹ãªå²è¾¼ã¿çªå·ã¨ä¸è´ãã¦ãã
|
---|
| 2957 | å ´åï¼ãã®ãã¯ããç¨æããå¿
|
---|
| 2958 | è¦ã¯ãªãï¼
|
---|
| 2959 |
|
---|
| 2960 | 6.7 CPUä¾å¤ãã³ãã©ã¨CPUä¾å¤çºçæã®ã·ã¹ãã ç¶æ
|
---|
| 2961 | ã®åç
|
---|
| 2962 | §
|
---|
| 2963 |
|
---|
| 2964 | 6.7.1 CPUä¾å¤ãã³ãã©ã®åºå
|
---|
| 2965 | ¥å£å¦ç
|
---|
| 2966 |
|
---|
| 2967 | CPUä¾å¤ãã³ãã©ã®åºå
|
---|
| 2968 | ¥å£å¦çã¯ï¼ä»¥ä¸ã®æ¬ä¼¼ã³ã¼ãã¨ç価ã«ãªãããã«å®è£
|
---|
| 2969 | ã
|
---|
| 2970 | ãï¼å¦çå
|
---|
| 2971 | 容ãç価ã§ããã°ï¼å¦çé åºãå¤æ´ãã¦ããã¾ããªãï¼
|
---|
| 2972 |
|
---|
| 2973 | ----------------------------------------
|
---|
| 2974 | void
|
---|
| 2975 | <CPUä¾å¤ã®åºå
|
---|
| 2976 | ¥å£å¦ç>(void)
|
---|
| 2977 | {
|
---|
| 2978 | ã¹ã¯ã©ããã¬ã¸ã¹ã¿ãã¹ã¿ãã¯ã«ä¿åãã
|
---|
| 2979 | CPUä¾å¤ãçºçããç¶æ³ãå¤æããããã®è¿½å æ
|
---|
| 2980 | å ±ãã¹ã¿ãã¯ã«ä¿åãã ⦠(*j)
|
---|
| 2981 | ãã®æç¹ã§ã®ã¹ã¿ãã¯ãã¤ã³ã¿Â±nãï¼CPUä¾å¤ã®æ
|
---|
| 2982 | å ±ãè¨æ¶ãã¦ããé åã®
|
---|
| 2983 | å
|
---|
| 2984 | é çªå°ã¨ããï¼å¿
|
---|
| 2985 | è¦ãªãä¿åããï¼
|
---|
| 2986 | if (ã«ã¼ãã«ç®¡çå¤ã®CPUä¾å¤) {
|
---|
| 2987 | if (CPUä¾å¤ãã¿ã¹ã¯ã³ã³ããã¹ãã§çºç) {
|
---|
| 2988 | ã¹ã¿ãã¯ãéã¿ã¹ã¯ã³ã³ããã¹ãç¨ã®ã¹ã¿ãã¯ã«åãæãï¼
|
---|
| 2989 | éã¿ã¹ã¯ã³ã³ããã¹ãã«åãæãã ⦠(*k)
|
---|
| 2990 | }
|
---|
| 2991 | ã·ã¹ãã ç¶æ
|
---|
| 2992 | ï¼ã³ã³ããã¹ãã¯é¤ãï¼ãï¼CPUä¾å¤çºçæã®ç¶æ
|
---|
| 2993 | ã«ãã
|
---|
| 2994 | CPUä¾å¤ãã³ãã©ãï¼CPUä¾å¤ã®æ
|
---|
| 2995 | å ±ãè¨æ¶ãã¦ããé åã®å
|
---|
| 2996 | é çªå°ã
|
---|
| 2997 | ãã©ã¡ã¼ã¿ï¼p_excinfï¼ã¨ãã¦å¼ã³åºã
|
---|
| 2998 | if (CPUä¾å¤ãã¿ã¹ã¯ã³ã³ããã¹ãã§çºç) {
|
---|
| 2999 | ã¹ã¿ãã¯ãã¿ã¹ã¯ç¨ã®ã¹ã¿ãã¯ã«æ»ãï¼
|
---|
| 3000 | ã¿ã¹ã¯ã³ã³ããã¹ãã«åãæãã ⦠(*k)
|
---|
| 3001 | }
|
---|
| 3002 | CPUä¾å¤å¦çããã®ãªã¿ã¼ã³å¾ã«ï¼CPUä¾å¤çºçæã®ã·ã¹ãã ç¶æ
|
---|
| 3003 | ã«
|
---|
| 3004 | æ»ãããã«æºåãã
|
---|
| 3005 | }
|
---|
| 3006 | else {
|
---|
| 3007 | if (CPUä¾å¤ãã¿ã¹ã¯ã³ã³ããã¹ãã§çºç) {
|
---|
| 3008 | å°ãªãã¨ãã«ã¼ãã«ç®¡çã®å²è¾¼ã¿ãç¦æ¢ããç¶æ
|
---|
| 3009 | ã«ãã
|
---|
| 3010 | #ifdef TOPPERS_SUPPORT_OVRHDR
|
---|
| 3011 | ovrtimer_stop(); /* ãªã¼ãã©ã³ã¿ã¤ãã®åæ¢ */
|
---|
| 3012 | #endif /* TOPPERS_SUPPORT_OVRHDR */
|
---|
| 3013 | ã¹ã¿ãã¯ãéã¿ã¹ã¯ã³ã³ããã¹ãç¨ã®ã¹ã¿ãã¯ã«åãæãï¼
|
---|
| 3014 | éã¿ã¹ã¯ã³ã³ããã¹ãã«åãæãã
|
---|
| 3015 | }
|
---|
| 3016 | å²è¾¼ã¿åªå
|
---|
| 3017 | 度ãã¹ã¯ãï¼CPUä¾å¤çºçæã®å¤ã«è¨å®ãã ⦠(*l)
|
---|
| 3018 | CPUããã¯è§£é¤ç¶æ
|
---|
| 3019 | ã«ããï¼CPUä¾å¤çºçæã®å²è¾¼ã¿åªå
|
---|
| 3020 | 度ãã¹ã¯ããã
|
---|
| 3021 | åªå
|
---|
| 3022 | 度ã®é«ãå²è¾¼ã¿ãåãä»ããããã«ããï¼
|
---|
| 3023 |
|
---|
| 3024 | #ifdef LOG_EXC_ENTER
|
---|
| 3025 | log_exc_enter(CPUä¾å¤ãã³ãã©çªå·);
|
---|
| 3026 | #endif /* LOG_EXC_ENTER */
|
---|
| 3027 | CPUä¾å¤ãã³ãã©ãï¼CPUä¾å¤ã®æ
|
---|
| 3028 | å ±ãè¨æ¶ãã¦ããé åã®å
|
---|
| 3029 | é çªå°ã
|
---|
| 3030 | ãã©ã¡ã¼ã¿ï¼p_excinfï¼ã¨ãã¦å¼ã³åºã
|
---|
| 3031 | #ifdef LOG_EXC_LEAVE
|
---|
| 3032 | log_exc_leave(CPUä¾å¤ãã³ãã©çªå·);
|
---|
| 3033 | #endif /* LOG_EXC_LEAVE */
|
---|
| 3034 |
|
---|
| 3035 | å°ãªãã¨ãã«ã¼ãã«ç®¡çã®å²è¾¼ã¿ãç¦æ¢ããç¶æ
|
---|
| 3036 | ã«ãã ⦠(*m)
|
---|
| 3037 | å²è¾¼ã¿åªå
|
---|
| 3038 | 度ãã¹ã¯ãï¼CPUä¾å¤çºçæã®å¤ã«è¨å®ãã ⦠(*n)
|
---|
| 3039 |
|
---|
| 3040 | if (CPUä¾å¤ãã¿ã¹ã¯ã³ã³ããã¹ãã§çºç) {
|
---|
| 3041 | ã¹ã¿ãã¯ãã¿ã¹ã¯ç¨ã®ã¹ã¿ãã¯ã«æ»ãï¼ã¿ã¹ã¯ã³ã³ããã¹ãã«åãæãã
|
---|
| 3042 | ⦠(*g)
|
---|
| 3043 | if (p_runtsk != p_schedtsk) {
|
---|
| 3044 | CPUããã¯ç¶æ
|
---|
| 3045 | ã«ãã ⦠(*h)
|
---|
| 3046 | å²è¾¼ã¿åªå
|
---|
| 3047 | 度ãã¹ã¯ã¯ï¼å
|
---|
| 3048 | ¨è§£é¤ç¶æ
|
---|
| 3049 | ï¼TIPM_ENAALLï¼ã«ãªã£ã¦
|
---|
| 3050 | ããªããã°ãªããªã ⦠(*i)
|
---|
| 3051 | if (p_runtsk != NULL) {
|
---|
| 3052 | ã¹ã¯ã©ããã¬ã¸ã¹ã¿ãé¤ããã¹ã¦ã®ã¬ã¸ã¹ã¿ãã¹ã¿ãã¯ã«ä¿åãã
|
---|
| 3053 | ã¹ã¿ãã¯ãã¤ã³ã¿ãèªã¿ã¹ã¯ï¼p_runtskï¼ã®TCBã«ä¿åãã
|
---|
| 3054 | ret_exc_rãï¼å®è¡åéçªå°ã¨ãã¦èªã¿ã¹ã¯ã®TCBã«ä¿åãã
|
---|
| 3055 | ⦠(*a)
|
---|
| 3056 | dispatcherã«åå²ãã
|
---|
| 3057 | }
|
---|
| 3058 | else {
|
---|
| 3059 | dispatcher_0ã«åå²ãã
|
---|
| 3060 | }
|
---|
| 3061 |
|
---|
| 3062 | ret_exc_r:
|
---|
| 3063 | ã¹ã¯ã©ããã¬ã¸ã¹ã¿ãé¤ããã¹ã¦ã®ã¬ã¸ã¹ã¿ãã¹ã¿ãã¯ãã復帰ãã
|
---|
| 3064 | #ifdef TOPPERS_SUPPORT_OVRHDR
|
---|
| 3065 | ovrtimer_start(); /* ãªã¼ãã©ã³ã¿ã¤ãã®åä½éå§ */
|
---|
| 3066 | #endif /* TOPPERS_SUPPORT_OVRHDR */
|
---|
| 3067 | }
|
---|
| 3068 | #ifdef TOPPERS_SUPPORT_OVRHDR
|
---|
| 3069 | else {
|
---|
| 3070 | if (p_runtsk != NULL) {
|
---|
| 3071 | ovrtimer_start(); /* ãªã¼ãã©ã³ã¿ã¤ãã®åä½éå§ */
|
---|
| 3072 | }
|
---|
| 3073 | }
|
---|
| 3074 | #endif /* TOPPERS_SUPPORT_OVRHDR */
|
---|
| 3075 | }
|
---|
| 3076 | CPUä¾å¤å¦çããã®ãªã¿ã¼ã³å¾ã«ï¼CPUããã¯è§£é¤ç¶æ
|
---|
| 3077 | ã«æ»ãããã«æºåãã
|
---|
| 3078 | }
|
---|
| 3079 | CPUä¾å¤ãçºçããç¶æ³ãå¤æããããã®è¿½å æ
|
---|
| 3080 | å ±ãã¹ã¿ãã¯ä¸ããæ¨ã¦ã
|
---|
| 3081 | ã¹ã¯ã©ããã¬ã¸ã¹ã¿ãã¹ã¿ãã¯ãã復帰ãã
|
---|
| 3082 | CPUä¾å¤å¦çããã®ãªã¿ã¼ã³
|
---|
| 3083 | }
|
---|
| 3084 | ----------------------------------------
|
---|
| 3085 |
|
---|
| 3086 | CPUä¾å¤ãã³ãã©ã¯ï¼éã³ã³ããã¹ãã«åãæãããã¨ãé¤ãã¦ã¯ï¼CPUä¾å¤çº
|
---|
| 3087 | çæã¨åãã·ã¹ãã ç¶æ
|
---|
| 3088 | ã§å¼ã³åºããªããã°ãªããªãï¼ä¾ãã°ï¼CPUä¾å¤ãCPU
|
---|
| 3089 | ããã¯ç¶æ
|
---|
| 3090 | ã§çºçããå ´åã«ã¯CPUããã¯ç¶æ
|
---|
| 3091 | ï¼CPUããã¯è§£é¤ç¶æ
|
---|
| 3092 | ã§çºçãã
|
---|
| 3093 | å ´åã«ã¯CPUããã¯è§£é¤ç¶æ
|
---|
| 3094 | ã§ï¼CPUä¾å¤ãã³ãã©ãå¼ã³åºããªããã°ãªããªãï¼
|
---|
| 3095 | CPUããã¯ç¶æ
|
---|
| 3096 | ã§çºçããCPUä¾å¤ã¯ï¼ã«ã¼ãã«ç®¡çå¤ã®CPUä¾å¤ã¨ãªãããï¼ã«ã¼
|
---|
| 3097 | ãã«ç®¡çã®CPUä¾å¤ãã³ãã©ã«ã¤ãã¦ã¯ï¼CPUããã¯è§£é¤ç¶æ
|
---|
| 3098 | ã§å¼ã³åºããã¨ã«
|
---|
| 3099 | ãªãï¼
|
---|
| 3100 |
|
---|
| 3101 | (*j)ã§ã¯ï¼CPUä¾å¤ãã³ãã©ã®ä¸ï¼ããã³ï¼ããããå¼ã³åºãããxsns_dpnï¼ã§
|
---|
| 3102 | ã¯ï¼CPUä¾å¤ãçºçããç¶æ³ãå¤æããããã«å¿
|
---|
| 3103 | è¦ã¨ãªã追å æ
|
---|
| 3104 | å ±ãã¹ã¿ãã¯ã«
|
---|
| 3105 | ä¿åããï¼è¿½å æ
|
---|
| 3106 | å ±ãå¿
|
---|
| 3107 | è¦ãªãå ´åã¯ï¼(*j)ã®å¦çã¯å¿
|
---|
| 3108 | è¦ãªãï¼
|
---|
| 3109 |
|
---|
| 3110 | ããã»ããµã«ãã£ã¦ã¯ï¼ã«ã¼ãã«ç®¡çå¤ã®CPUä¾å¤ãæ£ç¢ºã«å¤å®ããã®ãé£ãã
|
---|
| 3111 | å ´åãããï¼ãã®ãããªå ´åã«ã¯ï¼å²è¾¼ã¿åªå
|
---|
| 3112 | 度ãã¹ã¯ãå
|
---|
| 3113 | ¨è§£é¤ã§ãªãç¶æ
|
---|
| 3114 | ã§
|
---|
| 3115 | çºçããCPUä¾å¤ãï¼ã«ã¼ãã«ç®¡çå¤ã®CPUä¾å¤ã¨æ±ã£ã¦ãããï¼ããã¯ï¼å²è¾¼
|
---|
| 3116 | ã¿åªå
|
---|
| 3117 | 度ãã¹ã¯ãå
|
---|
| 3118 | ¨è§£é¤ã§ãªãå ´åã«ã¯xsns_dpnãtrueãè¿ãããï¼ã«ã¼ãã«
|
---|
| 3119 | æ©è½ãç¨ãããªã«ããªãã§ããªãããã§ããï¼
|
---|
| 3120 |
|
---|
| 3121 | å
|
---|
| 3122 | ·ä½çã«ã¯ï¼å
|
---|
| 3123 | ¨å²è¾¼ã¿ããã¯ï¼ã¾ãã¯CPUããã¯ï¼ãå°ãããªã¼ããããã§å®ç¾
|
---|
| 3124 | ãããã¨ããã¨ï¼CPUä¾å¤ãã³ãã©ã®ä¸ã§ï¼å
|
---|
| 3125 | ¨å²è¾¼ã¿ããã¯ç¶æ
|
---|
| 3126 | ï¼ã¾ãã¯CPUãã
|
---|
| 3127 | ã¯ç¶æ
|
---|
| 3128 | ï¼ã¨å²è¾¼ã¿åªå
|
---|
| 3129 | 度ãã¹ã¯ãé«ãã¬ãã«ã«è¨å®ããç¶æ
|
---|
| 3130 | ãåºå¥ã§ããªãå ´
|
---|
| 3131 | åãããï¼ã¾ãï¼ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿å¦çä¸ãã«ã¼ãã«å®è¡ä¸ã§ãããã¨
|
---|
| 3132 | ãæ£ç¢ºã«å¤æãããã¨ãé£ããå ´åãããï¼
|
---|
| 3133 |
|
---|
| 3134 | ã«ã¼ãã«ç®¡çå¤ã®CPUä¾å¤ã®å ´åã«ï¼(*k)ã«ããã¦ï¼ã¹ã¿ãã¯ãéã¿ã¹ã¯ã³ã³ã
|
---|
| 3135 | ãã¹ãç¨ã®ã¹ã¿ãã¯ã«åãæãï¼éã¿ã¹ã¯ã³ã³ããã¹ãã«åãæãã¦ãããï¼
|
---|
| 3136 | ãã®åæãã¯ã¿ã¼ã²ããå®ç¾©ã§çãã¦ãè¯ãï¼ããã¯ï¼ã«ã¼ãã«ç®¡çå¤ã®CPUä¾
|
---|
| 3137 | å¤ã¯ï¼ã«ã¼ãã«å
|
---|
| 3138 | ã®ã¯ãªãã£ã«ã«ã»ã¯ã·ã§ã³ä¸ã§çºçããå¯è½æ§ãããããï¼
|
---|
| 3139 | å®å
|
---|
| 3140 | ¨ã«åãæããããã¨ã¯éããªãããã§ããï¼ã¾ãï¼ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼
|
---|
| 3141 | ã¿ãã³ãã©ãå¼ã¶æã®ã³ã³ããã¹ããã¹ã¿ãã¯ã¯ã¿ã¼ã²ããä¾åãªã®ã§ï¼ã«ã¼
|
---|
| 3142 | ãã«ç®¡çå¤ã®CPUä¾å¤ãã³ãã©ãããã¨åæ§ã«æ±ã£ã¦è¯ãã¨èããããããã§ã
|
---|
| 3143 | ãï¼
|
---|
| 3144 |
|
---|
| 3145 | ä¸ã®æ¬ä¼¼ã³ã¼ãã§ã¯ï¼ã«ã¼ãã«ç®¡çå¤ã®CPUä¾å¤ã«å¯¾ãã¦ï¼ãã¬ã¼ã¹ãã°åå¾å¦
|
---|
| 3146 | çï¼log_exc_enterããã³log_exc_leaveï¼ãå¼ã³åºãã¦ããªããï¼å
|
---|
| 3147 | ¨å²è¾¼ã¿ãã
|
---|
| 3148 | ã¯ç¶æ
|
---|
| 3149 | ãNMIã®å¦çä¸ã«CPUä¾å¤ãçºçããå ´åãé¤å¤ããã°ï¼å¼ã³åºãã¦ãã
|
---|
| 3150 | ã¾ããªãï¼å
|
---|
| 3151 | ¨å²è¾¼ã¿ããã¯ç¶æ
|
---|
| 3152 | ãNMIã®å¦çä¸ã«çºçããCPUä¾å¤ã®å ´åã«ã¯ï¼
|
---|
| 3153 | ãã¬ã¼ã¹ãã°åå¾å¦çãå¼ã³åºãã¦ã¯ãªããªãï¼
|
---|
| 3154 |
|
---|
| 3155 | (*l)ã®å¦çã¯ï¼CPUä¾å¤ã®çºçï¼åä»ã«ããï¼å²è¾¼ã¿åªå
|
---|
| 3156 | 度ãã¹ã¯ãå¤åããªã
|
---|
| 3157 | ããã»ããµã§ã¯çãã¦ãããï¼ããã«å¯¾ãã¦(*n)ã®å¦çã¯ï¼CPUä¾å¤ãã³ãã©ä¸
|
---|
| 3158 | ã§å²è¾¼ã¿åªå
|
---|
| 3159 | 度ãã¹ã¯ãå¤æ´ãããå ´åã«å¯¾å¿ããããã®ãã®ãªã®ã§ï¼çãã
|
---|
| 3160 | ã¨ã¯ã§ããªãï¼
|
---|
| 3161 |
|
---|
| 3162 | (*m)ã®å¦çã¯ï¼ããã»ããµã«ãã£ã¦ã¯ï¼CPUä¾å¤ãã¿ã¹ã¯ã³ã³ããã¹ãã§çºçã
|
---|
| 3163 | ãæã®ã¿ã«è¡ã£ã¦ãããå ´åãããï¼
|
---|
| 3164 |
|
---|
| 3165 | CPUä¾å¤ãã³ãã©ãå®è¡ããéã«çµç±ããé¨åã§ã¯ï¼CPUä¾å¤ãèµ·ããå¯è½æ§ã
|
---|
| 3166 | 極åæ¸ããã¨ã¨ãã«ï¼CPUä¾å¤ãèµ·ããå¯è½æ§ãããå ´åï¼ä¾ãã°ï¼ã¹ã¯ã©ãã
|
---|
| 3167 | ã¬ã¸ã¹ã¿ãã¹ã¿ãã¯ã«ä¿åããæã«ï¼ãã¹ã¨ã©ã¼ãªã©ã®CPUä¾å¤ãçºçããå¯è½
|
---|
| 3168 | æ§ãèããããï¼ã«ã¯ï¼ãã®å¯è½æ§ãã¿ã¼ã²ããä¾åé¨ã®ã¦ã¼ã¶ã¼ãºããã¥ã¢
|
---|
| 3169 | ã«ã«è¨è¼ããªããã°ãªããªãï¼
|
---|
| 3170 |
|
---|
| 3171 | CPUä¾å¤ãã³ãã©ã®åºå£å¦çã¯ï¼å²è¾¼ã¿ãã³ãã©ã®åºå£å¦çã¨å
|
---|
| 3172 | ±éé¨åãå¤ãã
|
---|
| 3173 | ãï¼ããã»ããµã«ãã£ã¦ã¯ï¼å
|
---|
| 3174 | ±éã®ã«ã¼ãã³ãç¨ãããã¨ãã§ããå¯è½æ§ãã
|
---|
| 3175 | ãï¼
|
---|
| 3176 |
|
---|
| 3177 | CPUä¾å¤ã®åºå
|
---|
| 3178 | ¥å£å¦çãã¢ã»ã³ããªè¨èªã§è¨è¿°ããå ´åã«ã¯ï¼ãã¬ã¼ã¹ãã°åå¾
|
---|
| 3179 | å¦çã¯ï¼ã6.2 ãã¬ã¼ã¹ãã°æ©è½ã¸ã®å¯¾å¿ãã®ç¯ã§è¨è¿°ããæ¹æ³ã§ã³ã¼ãã£ã³
|
---|
| 3180 | ã°ãããã¨ï¼
|
---|
| 3181 |
|
---|
| 3182 | ãTOPPERS/ASP1ã«ã¼ãã«ã¨ã®é¢ä¿ã
|
---|
| 3183 |
|
---|
| 3184 | æ¬ä¼¼ã³ã¼ãã®æ§æãè¦ç´ããï¼æ¬ä¼¼ã³ã¼ãã§æ³å®ãã¦ããããã»ããµã®ã¿ã¤ã
|
---|
| 3185 | ãå¤ããï¼ï¼
|
---|
| 3186 |
|
---|
| 3187 | reqflgãå»æ¢ããï¼ã¾ãï¼ã¿ã¹ã¯åæãã®æ¡ä»¶å¤å®ã§ï¼dspflgããã§ãã¯ãã
|
---|
| 3188 | å¿
|
---|
| 3189 | è¦ããªããªã£ãï¼
|
---|
| 3190 |
|
---|
| 3191 | ã¢ã¤ãã«å¦çã®è¨è¨ãå¤æ´ããããï¼CPUä¾å¤ãã³ãã©ã®åºå£å¦çã«ãããã¿ã¹
|
---|
| 3192 | ã¯åæãã«ããã¦ï¼p_runtskãNULLã¨ãªã£ã¦ããç¶æ³ãèããå¿
|
---|
| 3193 | è¦ãçããï¼
|
---|
| 3194 |
|
---|
| 3195 | 6.7.2 CPUä¾å¤ãã³ãã©ã®åºå
|
---|
| 3196 | ¥å£å¦çã®çæ
|
---|
| 3197 |
|
---|
| 3198 | CPUä¾å¤ãã¯ãã«ããã¼ãã¦ã§ã¢ã§å®ç¾ãã¦ããå ´åãªã©ï¼CPUä¾å¤ãã³ãã©æ¯
|
---|
| 3199 | ã«åºå
|
---|
| 3200 | ¥å£å¦çãç¨æããæ¹ãå¹çãè¯ãã¿ã¼ã²ããã®ããã«ï¼CPUä¾å¤ãã³ãã©
|
---|
| 3201 | æ¯ã«åºå
|
---|
| 3202 | ¥å£å¦çãçæããæ©æ§ãç¨æãã¦ããï¼
|
---|
| 3203 |
|
---|
| 3204 | 以ä¸ã®ãã¯ãã¯ï¼æ¨æºã®CPUä¾å¤ç®¡çæ©è½ã®åæåå¦çãç¨ããå ´åã®ã¿ï¼ã¿ã¼
|
---|
| 3205 | ã²ããéä¾åé¨ã§ä½¿ãããï¼CPUä¾å¤ç®¡çæ©è½ã®åæåå¦çãã¿ã¼ã²ããä¾åé¨
|
---|
| 3206 | ã§ç¨æãï¼ãã®ä¸ã§ãããã®ãã¯ãã使ããªãå ´åã«ã¯ï¼ãããã®ãã¯ããç¨
|
---|
| 3207 | æããå¿
|
---|
| 3208 | è¦ã¯ãªãï¼
|
---|
| 3209 |
|
---|
| 3210 | (6-7-2-1) EXC_ENTRY(excno, exchdr)
|
---|
| 3211 |
|
---|
| 3212 | CPUä¾å¤ãã³ãã©çªå·ãexcnoï¼CPUä¾å¤ãã³ãã©ã®é¢æ°åãexchdrã§ããCPUä¾
|
---|
| 3213 | å¤ãã³ãã©ã®åºå
|
---|
| 3214 | ¥å£å¦çã®ã©ãã«ãä½ããã¯ãï¼EXCHDR_ENTRYãç¨ãã¦CPUä¾å¤
|
---|
| 3215 | ãã³ãã©æ¯ã«åºå
|
---|
| 3216 | ¥å£å¦çãçæããå ´åã«ã¯ï¼æ¬¡ã®ããã«å®ç¾©ããï¼
|
---|
| 3217 |
|
---|
| 3218 | #define EXC_ENTRY(excno, exchdr) _kernel_##exchdr##_##excno
|
---|
| 3219 |
|
---|
| 3220 | CPUä¾å¤ãã³ãã©æ¯ã«åºå
|
---|
| 3221 | ¥å£å¦çãä½ãå¿
|
---|
| 3222 | è¦ããªãå ´åã«ã¯ï¼æ¬¡ã®ããã«å®ç¾©ã
|
---|
| 3223 | ã¦ï¼CPUä¾å¤ãã³ãã©ã®é¢æ°åããã®ã¾ã¾è¿ãï¼
|
---|
| 3224 |
|
---|
| 3225 | #define EXC_ENTRY(excno, exchdr) exchdr
|
---|
| 3226 |
|
---|
| 3227 | (6-7-2-2) EXCHDR_ENTRY(excno, excno_num, exchdr)
|
---|
| 3228 |
|
---|
| 3229 | CPUä¾å¤ãã³ãã©çªå·ãexcnoï¼CPUä¾å¤ãã³ãã©ã®é¢æ°åãexchdrã§ããCPUä¾
|
---|
| 3230 | å¤ãã³ãã©ã®åºå
|
---|
| 3231 | ¥å£å¦çãçæãããã¯ãï¼excno_numã«ã¯ï¼ã¢ã»ã³ããªè¨èªè¨
|
---|
| 3232 | è¿°ç¨ã«ï¼CPUä¾å¤ãã³ãã©çªå·ãæ°å¤ã§æ¸¡ãããï¼CPUä¾å¤ãã³ãã©æ¯ã«åºå
|
---|
| 3233 | ¥å£
|
---|
| 3234 | å¦çãä½ãå¿
|
---|
| 3235 | è¦ããªãå ´åã«ã¯ï¼ç©ºã«å®ç¾©ããï¼
|
---|
| 3236 |
|
---|
| 3237 | 6.7.3 CPUä¾å¤ãã³ãã©ã®è¨å®
|
---|
| 3238 |
|
---|
| 3239 | (6-7-3-1) bool_t VALID_EXCNO(EXCNO excno)ï¼ãªãã·ã§ã³ï¼
|
---|
| 3240 |
|
---|
| 3241 | excnoãï¼CPUä¾å¤ãã³ãã©çªå·ã¨ãã¦æå¹ãªå¤ã§ããå ´åã«trueï¼ããã§ãªã
|
---|
| 3242 | å ´åã«falseãè¿ããã¯ãï¼ãªãï¼ASP3ã«ã¼ãã«ã§ã¯ï¼CPUä¾å¤ãã³ãã©çªå·ã
|
---|
| 3243 | ç¨ããAPIã¯ï¼DEF_EXCã®ã¿ã§ããï¼
|
---|
| 3244 |
|
---|
| 3245 | ASP3ã«ã¼ãã«ã®ã¿ã¼ã²ããéä¾åé¨ã§ã¯ï¼ãã®ãã¯ãã¯ä½¿ããã¦ããªãããï¼
|
---|
| 3246 | ã¿ã¼ã²ããä¾åé¨ã§ä½¿ããªããªãï¼ç¨æããå¿
|
---|
| 3247 | è¦ããªãï¼
|
---|
| 3248 |
|
---|
| 3249 | (6-7-3-2) void define_exc(EXCNO excno, FP exc_entry)
|
---|
| 3250 |
|
---|
| 3251 | excnoã§æå®ãããCPUä¾å¤ãã³ãã©ã®åºå
|
---|
| 3252 | ¥å£å¦çã®çªå°ãexc_entryã«è¨å®ããï¼
|
---|
| 3253 |
|
---|
| 3254 | ãã®é¢æ°ã¯ï¼æ¨æºã®CPUä¾å¤ç®¡çæ©è½ã®åæåå¦çãç¨ããå ´åã®ã¿ï¼ã¿ã¼ã²ã
|
---|
| 3255 | ãéä¾åé¨ããå¼ã³åºãããï¼CPUä¾å¤ç®¡çæ©è½ã®åæåå¦çãã¿ã¼ã²ããä¾å
|
---|
| 3256 | é¨ã§ç¨æãï¼ãã®ä¸ã§ãã®é¢æ°ãå¼ã³åºããªãå ´åã«ã¯ï¼ãã®é¢æ°ãç¨æãã
|
---|
| 3257 | å¿
|
---|
| 3258 | è¦ã¯ãªãï¼
|
---|
| 3259 |
|
---|
| 3260 | ãã®é¢æ°ã¯ï¼ã¿ã¼ã²ããéä¾åé¨ã®ã«ã¼ãã«åæåå¦çããå¼ã³åºãããããï¼
|
---|
| 3261 | ã«ã¼ãã«ã®åæåå¦çï¼NMIãé¤ããã¹ã¦ã®å²è¾¼ã¿ããã¹ã¯ããã¦ããï¼ããå¼
|
---|
| 3262 | ã³åºããããã«å®è£
|
---|
| 3263 | ããã°ããï¼
|
---|
| 3264 |
|
---|
| 3265 | æå®ãããCPUä¾å¤ãã³ãã©çªå·ãDEF_EXCã«å¯¾ãããã®ã¨ãã¦æå¹ãªå¤ã§ãªã
|
---|
| 3266 | å ´åã®åä½ã¯ä¿è¨¼ããå¿
|
---|
| 3267 | è¦ããªãï¼assertã§ã¨ã©ã¼ã¨ããã®ãæã¾ããï¼ï¼ã
|
---|
| 3268 | ãã¯ï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ãï¼ãã¹2ã®çæã¹ã¯ãªããã®ã¿ã¼ã²ããä¾åé¨ã§å®
|
---|
| 3269 | 義ãã$EXCNO_VALIDãç¨ãã¦ã¨ã©ã¼ãæ¤åºããããã§ããï¼
|
---|
| 3270 |
|
---|
| 3271 | 6.7.4 CPUä¾å¤ç®¡çæ©è½ã®åæåå¦çã®å¤æ´
|
---|
| 3272 |
|
---|
| 3273 | (6-7-4-1) OMIT_INITIALIZE_EXCEPTIONï¼ãªãã·ã§ã³ï¼
|
---|
| 3274 |
|
---|
| 3275 | CPUä¾å¤ç®¡çæ©è½ã®åæåå¦çãã¿ã¼ã²ããä¾åé¨ã§ç¨æãï¼ã¿ã¼ã²ããéä¾å
|
---|
| 3276 | é¨ã«å«ã¾ããæ¨æºã®å²è¾¼ã¿ç®¡çæ©è½ã®åæåå¦çãç¨ããªãå ´åã«ã¯ï¼ãã®ã·
|
---|
| 3277 | ã³ãã«ããã¯ãå®ç¾©ããï¼
|
---|
| 3278 |
|
---|
| 3279 | ãã®ã·ã³ãã«ããã¯ãå®ç¾©ããã¨ï¼EXCINIBã¨initialize_exceptionã®å®ç¾©ãï¼
|
---|
| 3280 | ã«ã¼ãã«ã®ã¿ã¼ã²ããéä¾åé¨ããåãé¤ãããï¼ã¾ãï¼TNUM_DEF_EXCNOï¼
|
---|
| 3281 | tnum_def_excnoï¼excinib_tableã®å®ç¾©ã¨ï¼CPUä¾å¤ãã³ãã©æ¯ã®åºå
|
---|
| 3282 | ¥å£å¦çã
|
---|
| 3283 | çæããããã®è¨è¿°ï¼EXCHDR_ENTRYãã¯ãã®ãªã¹ãï¼ãï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã¿
|
---|
| 3284 | ã®ãã¹2ã®çæã¹ã¯ãªããã®ã¿ã¼ã²ããéä¾åé¨ã«ãã£ã¦kernel_cfg.cã«çæã
|
---|
| 3285 | ããªããªãï¼
|
---|
| 3286 |
|
---|
| 3287 | (6-7-4-2) void initialize_exception(void)ï¼ãªãã·ã§ã³ï¼
|
---|
| 3288 |
|
---|
| 3289 | OMIT_INITIALIZE_EXCEPTIONããã¯ãå®ç¾©ããå ´åã«ã¯ï¼ãã®é¢æ°ãã¿ã¼ã²ãã
|
---|
| 3290 | ä¾åé¨ã§ç¨æããï¼OMIT_INITIALIZE_EXCEPTIONããã¯ãå®ç¾©ãããã¨ã«ããå
|
---|
| 3291 | ãé¤ããããã®ä»ã®ãã¼ã¿åï¼å¤æ°ï¼ãã¯ãã¯ï¼ãã®é¢æ°ã§ä½¿ç¨ããå ´åã«ã®
|
---|
| 3292 | ã¿ç¨æããã°ããï¼
|
---|
| 3293 |
|
---|
| 3294 | 6.7.5 ããã©ã«ãã®CPUä¾å¤ãã³ãã©
|
---|
| 3295 |
|
---|
| 3296 | (6-7-5-1) void default_exc_handler(void *p_excinf)ï¼ãªãã·ã§ã³ï¼
|
---|
| 3297 |
|
---|
| 3298 | ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã«ããCPUä¾å¤ãã³ãã©ã®ãã¼ãã«ãçæããå ´åãªã©ã«ã¯ï¼
|
---|
| 3299 | CPUä¾å¤ãã³ãã©ãç»é²ããªãã£ãCPUä¾å¤ãã³ãã©çªå·ã«å¯¾ãã¦ï¼ããã©ã«ã
|
---|
| 3300 | ã®CPUä¾å¤ãã³ãã©ã¨ãã¦ï¼default_exc_handlerãç»é²ããï¼
|
---|
| 3301 |
|
---|
| 3302 | default_exc_handlerã¯ï¼æ¨æºã®ãã®ãã¿ã¼ã²ããä¾åé¨ã§ç¨æãããï¼ã¦ã¼ã¶
|
---|
| 3303 | ãç¨æãããã®ã§ç½®ãæããããããã«ï¼OMIT_DEFAULT_EXC_HANDLERããã¯ã
|
---|
| 3304 | å®ç¾©ããå ´åã«ã¯ï¼ã¿ã¼ã²ããä¾åé¨ã§å®ç¾©ããªãããã«ããï¼ãªãï¼ã¦ã¼ã¶
|
---|
| 3305 | ãç¨æããå ´åã®å称ã¯ï¼_kernel_default_exc_handlerã¨ãªãï¼
|
---|
| 3306 |
|
---|
| 3307 | 6.7.6 CPUä¾å¤çºçæã®ã·ã¹ãã ç¶æ
|
---|
| 3308 | ã®åç
|
---|
| 3309 | §
|
---|
| 3310 |
|
---|
| 3311 | (6-7-6-1) bool_t exc_sense_intmask(void *p_excinf)
|
---|
| 3312 |
|
---|
| 3313 | CPUä¾å¤ãçºçããæã®ã·ã¹ãã ç¶æ
|
---|
| 3314 | ãï¼ä»¥ä¸ã®æ¡ä»¶ããã¹ã¦æºããå ´åã«
|
---|
| 3315 | trueï¼ããã§ãªãæã«falseãè¿ãé¢æ°ï¼
|
---|
| 3316 |
|
---|
| 3317 | ã(1) ã«ã¼ãã«å
|
---|
| 3318 | ã®ã¯ãªãã£ã«ã«ã»ã¯ã·ã§ã³ã®å®è¡ä¸ã§ãªã
|
---|
| 3319 | ã(2) å
|
---|
| 3320 | ¨å²è¾¼ã¿ããã¯ç¶æ
|
---|
| 3321 | ã§ãªã
|
---|
| 3322 | ã(3) CPUããã¯ç¶æ
|
---|
| 3323 | ã§ãªã
|
---|
| 3324 | ã(4) ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ãã³ãã©å®è¡ä¸ã§ãªã
|
---|
| 3325 | ã(5) ã«ã¼ãã«ç®¡çå¤ã®CPUä¾å¤ãã³ãã©å®è¡ä¸ã§ãªã
|
---|
| 3326 | ã(6) ã¿ã¹ã¯ã³ã³ããã¹ã
|
---|
| 3327 | ã(7) å²è¾¼ã¿åªå
|
---|
| 3328 | 度ãã¹ã¯ãå
|
---|
| 3329 | ¨è§£é¤
|
---|
| 3330 |
|
---|
| 3331 | å¤ãã®å ´åï¼ã«ã¼ãã«ç®¡çã®å²è¾¼ã¿ããã¹ã¦ãã¹ã¯ããã¦ãããã¨ããã§ãã¯
|
---|
| 3332 | ãããã¨ã§ï¼(1)ã(5)ã®å¤å®ãä¸æ¬ãã¦è¡ããã¨ãã§ããï¼ã¾ãï¼å²è¾¼ã¿åªå
|
---|
| 3333 |
|
---|
| 3334 | 度ãã¹ã¯ãå®ç¾ãã¦ãããã¼ãã¦ã§ã¢ã¬ã¸ã¹ã¿ããã§ãã¯ãããã¨ã§ï¼(1)ã
|
---|
| 3335 | (5)ã¨(7)ã®å¤å®ãä¸æ¬ãã¦è¡ããå ´åãå¤ãï¼
|
---|
| 3336 |
|
---|
| 3337 | p_excinfã«ã¯ï¼CPUä¾å¤ã®æ
|
---|
| 3338 | å ±ãè¨æ¶ãã¦ããé åã®å
|
---|
| 3339 | é çªå°ã渡ãããï¼
|
---|
| 3340 |
|
---|
| 3341 | 6.8 ã«ã¼ãã«ã®èµ·åã»çµäºã¨ã¹ã¿ãã¯é åãªã©
|
---|
| 3342 |
|
---|
| 3343 | (6-8-1) ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
|
---|
| 3344 |
|
---|
| 3345 | ã«ã¼ãã«ã®ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã¯ï¼ã·ã¹ãã ã®ãªã»ããå¾ã«æåã«å®è¡
|
---|
| 3346 | ãããããã°ã©ã ã§ããï¼ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã¯ï¼æ¨æºçã«ã¯ï¼ããã»ã
|
---|
| 3347 | ãµä¾åé¨ã¾ãã¯ãããä¾åé¨ã§ç¨æã以ä¸ã®å¦çãè¡ããï¼ããã«ãã ããå¿
|
---|
| 3348 |
|
---|
| 3349 | è¦ã¯ãªãï¼å
|
---|
| 3350 | ·ä½çã«ã¯ï¼éçºç°å¢ã«ç¨æããã¦ããã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
|
---|
| 3351 | ãç¨ããæ¹æ³ï¼ãã®å ´åï¼ã¿ã¼ã²ããä¾åé¨ã§mainé¢æ°ãç¨æããå¿
|
---|
| 3352 | è¦ãããï¼
|
---|
| 3353 | ãï¼ã¢ããªã±ã¼ã·ã§ã³ã§ç¨æããå ´åãèããããï¼
|
---|
| 3354 |
|
---|
| 3355 | (a) ããã»ããµç¶æ
|
---|
| 3356 | ã®åæå
|
---|
| 3357 |
|
---|
| 3358 | ããã»ããµã¢ã¼ãï¼ã¹ã¿ãã¯ãã¤ã³ã¿ï¼ãã¬ã¼ã ãã¤ã³ã¿çï¼ããã»ããµã®ç¶
|
---|
| 3359 | æ
|
---|
| 3360 | ãåæåããï¼ã¾ãï¼NMIãé¤ããã¹ã¦ã®å²è¾¼ã¿ããã¹ã¯ããç¶æ
|
---|
| 3361 | ï¼å
|
---|
| 3362 | ¨å²è¾¼ã¿
|
---|
| 3363 | ããã¯ç¶æ
|
---|
| 3364 | ã¨åçã®ç¶æ
|
---|
| 3365 | ï¼ã¨ããï¼DRAMã³ã³ããã¼ã©ã®åæåãªã©ï¼ã¡ã¢ãªã
|
---|
| 3366 | ã¢ã¯ã»ã¹ããããã«å¿
|
---|
| 3367 | è¦ãªåæåå¦çãããã§è¡ã£ã¦ãããï¼æ¬¡ã®
|
---|
| 3368 | hardware_init_hookã§è¡ã£ã¦ãããï¼ï¼
|
---|
| 3369 |
|
---|
| 3370 | (b) hardware_init_hookãå¼ã³åºã
|
---|
| 3371 |
|
---|
| 3372 | ã·ã¹ãã ã®ãªã»ããå¾ããã«è¡ãå¿
|
---|
| 3373 | è¦ã®ããã¿ã¼ã²ããã·ã¹ãã ä¾åã®åæå
|
---|
| 3374 | å¦çãè¡ãããã«ï¼hardware_init_hookãå¼ã³åºãï¼hardware_init_hookãç¨
|
---|
| 3375 | æããã¦ããªãå ´åã¯ï¼ä½ãããªãï¼GNUéçºç°å¢ã§ã¯ï¼ãªã³ã«ã¹ã¯ãªããä¸ã®
|
---|
| 3376 | weak definitionã«ããï¼hardware_init_hookãç¨æããã¦ããªãå ´åã®å¤ã0
|
---|
| 3377 | ã¨ãããã¨ã§ï¼ãããå®ç¾ã§ããï¼weak definitionã®æ©è½ãæããªãéçºç°å¢
|
---|
| 3378 | ã§ã¯ï¼hardware_init_hookãå¿
|
---|
| 3379 | ãå¼ã³åºããã¨ã«ããï¼
|
---|
| 3380 |
|
---|
| 3381 | hardware_init_hookã¯ï¼ã¿ã¼ã²ããä¾åé¨ã§ç¨æããã®ãæ¨æºã§ãããï¼ã·ã¹
|
---|
| 3382 | ãã ã®ãªã»ããå¾ããã«è¡ãå¿
|
---|
| 3383 | è¦ã®ããåæåå¦çã追å ããããã«ï¼ã¢ããª
|
---|
| 3384 | ã±ã¼ã·ã§ã³ã§ç¨æãããã®ãç¨ããå ´åãããï¼
|
---|
| 3385 |
|
---|
| 3386 | ã¡ã¢ãªã¢ã¯ã»ã¹ã«å¿
|
---|
| 3387 | è¦ãªåæåå¦çãhardware_init_hookã§è¡ãå ´åã«ã¯ï¼ã
|
---|
| 3388 | ããå¼ã³åºãæç¹ã§ã¡ã¢ãªã«ã¢ã¯ã»ã¹ãããã¨ãã§ããªãããï¼é¢æ°ï¼ãµãã«ã¼
|
---|
| 3389 | ãã³ï¼ãå¼ã³åºãããã«ã¹ã¿ãã¯ã使ç¨ããããã»ããµã§ã¯ï¼æ»ãçªå°ãæ±ç¨
|
---|
| 3390 | ã¬ã¸ã¹ã¿ã«å
|
---|
| 3391 | ¥ãã¦å¼ã³åºãã¨ãã£ã工夫ãå¿
|
---|
| 3392 | è¦ã§ããï¼ãã®å ´åï¼
|
---|
| 3393 | hardware_init_hookãCè¨èªã§è¨è¿°ãããã¨ã¯ã§ããªããªããï¼ãããããªãï¼
|
---|
| 3394 |
|
---|
| 3395 | (c) bssã»ã¯ã·ã§ã³ã¨dataã»ã¯ã·ã§ã³ã®åæå
|
---|
| 3396 |
|
---|
| 3397 | bssã»ã¯ã·ã§ã³ãã¯ãªã¢ãï¼dataã»ã¯ã·ã§ã³ã«åæå¤ãè¨å®ããï¼
|
---|
| 3398 |
|
---|
| 3399 | ãã ãï¼ã«ã¼ãã«æ¬ä½ã¯ï¼kerflgãfalseï¼ï¼0ï¼ã«åæåããããã¨ä»¥å¤ã«ï¼
|
---|
| 3400 | ãããã®ã»ã¯ã·ã§ã³ãåæåããããã¨ã«ä¾åãã¦ããªãããï¼ã¹ã¿ã¼ãã¢ã
|
---|
| 3401 | ãã¢ã¸ã¥ã¼ã«ãã¢ããªã±ã¼ã·ã§ã³ã§ç¨æããå ´åã§ï¼ã·ã¹ãã ãµã¼ãã¹ãã¢ã
|
---|
| 3402 | ãªã±ã¼ã·ã§ã³ããããã®ã»ã¯ã·ã§ã³ãåæåããããã¨ã«ä¾åãã¦ããªãå ´å
|
---|
| 3403 | ã«ã¯ï¼ã·ã¹ãã ã®èµ·åæéãç縮ããããã«ï¼kerflgãfalseã«åæåããã ã
|
---|
| 3404 | ã§ååã§ããï¼
|
---|
| 3405 |
|
---|
| 3406 | (d) software_init_hookãå¼ã³åºã
|
---|
| 3407 |
|
---|
| 3408 | éçºç°å¢ï¼ç¹ã«ã©ã¤ãã©ãªï¼ã«ä¾åãã¦å¿
|
---|
| 3409 | è¦ãªåæåå¦çãè¡ãããã«ï¼
|
---|
| 3410 | software_init_hookãå¼ã³åºãï¼software_init_hookãç¨æããã¦ããªãå ´å
|
---|
| 3411 | ã¯ï¼ä½ãããªãï¼GNUéçºç°å¢ã§ã¯ï¼ãªã³ã«ã¹ã¯ãªããä¸ã®weak definitionã«
|
---|
| 3412 | ããï¼software_init_hookãç¨æããã¦ããªãå ´åã®å¤ã0ã¨ãããã¨ã§ï¼ãã
|
---|
| 3413 | ãå®ç¾ã§ããï¼weak definitionã®æ©è½ãæããªãéçºç°å¢ã§ã¯ï¼
|
---|
| 3414 | software_init_hookãå¿
|
---|
| 3415 | ãå¼ã³åºããã¨ã«ããï¼
|
---|
| 3416 |
|
---|
| 3417 | software_init_hookã¯ï¼ã¿ã¼ã²ããä¾åé¨ã§ç¨æããã®ãæ¨æºã§ããï¼
|
---|
| 3418 |
|
---|
| 3419 | (e) sta_kerã¸åå²
|
---|
| 3420 |
|
---|
| 3421 | sta_kerãå¼ã³åºãï¼sta_kerã¯ï¼NMIãé¤ããã¹ã¦ã®å²è¾¼ã¿ããã¹ã¯ããç¶æ
|
---|
| 3422 |
|
---|
| 3423 | ï¼å
|
---|
| 3424 | ¨å²è¾¼ã¿ããã¯ç¶æ
|
---|
| 3425 | ã¨åçã®ç¶æ
|
---|
| 3426 | ï¼ã§å¼ã³åºããªããã°ãªããªãï¼sta_kerã
|
---|
| 3427 | ãã¯ãªã¿ã¼ã³ãããã¨ããªãããï¼ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã«æ»ã£ã¦ããã
|
---|
| 3428 | ã¨ã¯èããå¿
|
---|
| 3429 | è¦ããªãï¼
|
---|
| 3430 |
|
---|
| 3431 | (6-8-2) void target_initialize(void)
|
---|
| 3432 |
|
---|
| 3433 | ã¿ã¼ã²ããä¾åé¨ã®åæåãè¡ãé¢æ°ï¼sta_kerã®æåã§å¼ã³åºãããï¼éçºç°
|
---|
| 3434 | å¢ä¾åï¼ããã»ããµã³ã¢ä¾åï¼ãããä¾åã®åæåå¦çãï¼ãããã®ä¾åé¨ã«
|
---|
| 3435 | åãåãããã¨ãå¯è½ã§ããï¼
|
---|
| 3436 |
|
---|
| 3437 | ãã®é¢æ°ã¯ï¼ããã¾ã§ãã«ã¼ãã«ã®ã¿ã¼ã²ããä¾åé¨ã®åæåå¦çãè¡ããã
|
---|
| 3438 | ã®ãã®ã§ããï¼ã¢ããªã±ã¼ã·ã§ã³ã«å¿
|
---|
| 3439 | è¦ãªåæåå¦çã¯ï¼åæåã«ã¼ãã³ã§è¡
|
---|
| 3440 | ãã®ãåºæ¬ã§ãããï¼ã·ã¹ãã ã®ãªã»ããå¾ããã«è¡ãå¿
|
---|
| 3441 | è¦ãããå ´åã«ã¯ï¼
|
---|
| 3442 | hardware_init_hookãç¨ããï¼
|
---|
| 3443 |
|
---|
| 3444 | (6-8-3) void call_exit_kernel(void)
|
---|
| 3445 |
|
---|
| 3446 | éã¿ã¹ã¯ã³ã³ããã¹ãã«åãæãã¦ï¼exit_kernelã¸åå²ããé¢æ°ï¼ext_kerã
|
---|
| 3447 | ãå¼ã³åºãããï¼exit_kernelããã¯ãªã¿ã¼ã³ãããã¨ããªãããï¼ãã®é¢æ°ã«
|
---|
| 3448 | æ»ã£ã¦ãããã¨ã¯èããå¿
|
---|
| 3449 | è¦ããªãï¼
|
---|
| 3450 |
|
---|
| 3451 | éã¿ã¹ã¯ã³ã³ããã¹ãã«åãæããã®ã¯ï¼çµäºå¦çã«ã¼ãã³ãï¼éã¿ã¹ã¯ã³ã³
|
---|
| 3452 | ããã¹ãç¨ã®ã¹ã¿ãã¯ã§å®è¡ããããã§ããï¼çµäºå¦çã«ã¼ãã³ãã¿ã¹ã¯ç¨ã®
|
---|
| 3453 | ã¹ã¿ãã¯ã§å®è¡ããã¨ï¼åã¿ã¹ã¯ã®ã¹ã¿ãã¯é åã®ãµã¤ãºã決å®ããéã«ï¼çµ
|
---|
| 3454 | äºå¦çã«ã¼ãã³ã使ç¨ããã¹ã¿ãã¯é åãèæ
|
---|
| 3455 | ®ããªããã°ãªããªãï¼ããã«ã¯ï¼
|
---|
| 3456 | çµäºå¦çã«ã¼ãã³ã使ç¨ããã¹ã¿ãã¯é åã大ããå ´åã«åã¿ã¹ã¯ã®ã¹ã¿ãã¯
|
---|
| 3457 | é åãç¡é§ã«å¤§ããããªããã°ãªããªããã¨ã«å ãã¦ï¼æå³ããªãã¹ã¿ãã¯ãªã¼
|
---|
| 3458 | ãã¼ããã¼ãçºçããå¯è½æ§ãé«ããã¨ããåé¡ãããï¼
|
---|
| 3459 |
|
---|
| 3460 | ãã®é¢æ°ã¯ï¼å
|
---|
| 3461 | ¨å²è¾¼ã¿ããã¯ç¶æ
|
---|
| 3462 | ã§å¼ã°ããããï¼å
|
---|
| 3463 | ¨å²è¾¼ã¿ããã¯ç¶æ
|
---|
| 3464 | ããå¼
|
---|
| 3465 | ã³åºããã¨ãã§ããªãé¢æ°ãå¼ã°ãªãããã«å®è£
|
---|
| 3466 | ããªããã°ãªããªãï¼
|
---|
| 3467 |
|
---|
| 3468 | (6-8-4) void target_exit(void)
|
---|
| 3469 |
|
---|
| 3470 | ã¿ã¼ã²ããä¾åé¨ã®çµäºå¦çãè¡ãé¢æ°ï¼ãã®é¢æ°ã¯ï¼ã«ã¼ãã«çµäºå¦çã®æ
|
---|
| 3471 | å¾ã«å¼ã³åºããï¼ãªã¿ã¼ã³ãã¦ã¯ãªããªãï¼éçºç°å¢ä¾åï¼ããã»ããµã³ã¢ä¾
|
---|
| 3472 | åï¼ãããä¾åã®çµäºå¦çãï¼ãããã®ä¾åé¨ã«åãåãããã¨ãå¯è½ã§ããï¼
|
---|
| 3473 |
|
---|
| 3474 | ãã®é¢æ°ã§ã¯ï¼æåã«ï¼atexitã«ãã£ã¦ç»é²ãããé¢æ°ã¨ãã¹ãã©ã¯ã¿ãå¼ã³
|
---|
| 3475 | åºããã¨ãæå³ãã¦ããï¼æ¨æºçã«ã¯ï¼software_term_hookãå¼ã³åºãï¼
|
---|
| 3476 | software_term_hookãç¨æããã¦ããªãå ´åã¯ï¼ä½ãããªãï¼GNUéçºç°å¢ã§ã¯ï¼
|
---|
| 3477 | ãªã³ã«ã¹ã¯ãªããä¸ã®weak definitionã«ããï¼software_term_hookãç¨æãã
|
---|
| 3478 | ã¦ããªãå ´åã®å¤ã0ã¨ãããã¨ã§ï¼ãããå®ç¾ã§ããï¼weak definitionã®æ©
|
---|
| 3479 | è½ãæããªãéçºç°å¢ã§ã¯ï¼software_term_hookãå¿
|
---|
| 3480 | ãå¼ã³åºããã¨ã«ããï¼
|
---|
| 3481 |
|
---|
| 3482 | ãã®é¢æ°ã¯ï¼å
|
---|
| 3483 | ¨å²è¾¼ã¿ããã¯ç¶æ
|
---|
| 3484 | ã§å¼ã°ããããï¼å
|
---|
| 3485 | ¨å²è¾¼ã¿ããã¯ç¶æ
|
---|
| 3486 | ããå¼
|
---|
| 3487 | ã³åºããã¨ãã§ããªãé¢æ°ãå¼ã°ãªãããã«å®è£
|
---|
| 3488 | ããªããã°ãªããªãï¼
|
---|
| 3489 |
|
---|
| 3490 | 6.9 ã«ã¼ãã«å
|
---|
| 3491 | é¨ã®ãã¥ã¼ãã³ã°
|
---|
| 3492 |
|
---|
| 3493 | 6.9.1 ãããããããµã¼ã
|
---|
| 3494 |
|
---|
| 3495 | (6-9-1-1) OMIT_BITMAP_SEARCHï¼ãªãã·ã§ã³ï¼
|
---|
| 3496 | (6-9-1-2) uint_t bitmap_search(uint16_t bitmap)ï¼ãªãã·ã§ã³ï¼
|
---|
| 3497 |
|
---|
| 3498 | ã¿ã¼ã²ããéä¾åé¨ã§ï¼uint16_tåã®æ´æ°å¤ï¼bitmapï¼ä¸ã®1ã®ãããã®å
|
---|
| 3499 | ï¼æ
|
---|
| 3500 | ãä¸ä½ï¼å³ï¼ã®ãã®ããµã¼ããï¼ãã®ãããçªå·ãè¿ãé¢æ°bitmap_searchãç¨
|
---|
| 3501 | æãã¦ããï¼ããã§ï¼ãããçªå·ã¯æä¸ä½ãããã0ã¨ãï¼bitmapã«0ãæå®ã
|
---|
| 3502 | ã¦ã¯ãªããªããã®ã¨ãã¦ããï¼
|
---|
| 3503 |
|
---|
| 3504 | ããããµã¼ãå½ä»¤ãæã¤ããã»ããµã§ã¯ï¼bitmap_searchãï¼ããããµã¼ãå½ä»¤
|
---|
| 3505 | ã使ãããã«æ¸ãç´ããæ¹ãå¹çãè¯ãå ´åãããï¼ãã®ãããªå ´åã«ã¯ï¼ã¿ã¼
|
---|
| 3506 | ã²ããä¾åé¨ã§ããããµã¼ãå½ä»¤ã使ã£ãbitmap_searchãå®ç¾©ãï¼
|
---|
| 3507 | OMIT_BITMAP_SEARCHããã¯ãå®ç¾©ããï¼
|
---|
| 3508 |
|
---|
| 3509 | æ¨æºã©ã¤ãã©ãªã«ããããµã¼ãå½ä»¤ãç¨ããffsãããå ´åï¼bitmap_searchã
|
---|
| 3510 | (ffs(bitmap) - 1)ã«å®ç¾©ããã¨ããï¼
|
---|
| 3511 |
|
---|
| 3512 | (6-9-1-3) uint16_t PRIMAP_BIT(PRI pri)ï¼ãªãã·ã§ã³ï¼
|
---|
| 3513 |
|
---|
| 3514 | ããããµã¼ãå½ä»¤ã®ãµã¼ãæ¹åãéãªã©ã®çç±ã§ï¼åªå
|
---|
| 3515 | 度ã¨ãããã¨ã®å¯¾å¿ã
|
---|
| 3516 | å¤æ´ãããå ´åã«ã¯ï¼PRIMAP_BITããã¯ãå®ç¾©ããï¼
|
---|
| 3517 |
|
---|
| 3518 | 6.9.2 ããããã£ã¼ã«ã
|
---|
| 3519 |
|
---|
| 3520 | (6-9-2-1) BIT_FIELD_UINTï¼ãªãã·ã§ã³ï¼
|
---|
| 3521 |
|
---|
| 3522 | 8ããã以ä¸ã®å¹
|
---|
| 3523 | ã®ããããã£ã¼ã«ãã§ï¼ç¬¦å·ç¡ãæ´æ°å¤ãä¿æãããå ´åã«ç¨
|
---|
| 3524 | ããã¹ããã¼ã¿åï¼ããã©ã«ãã®å®ç¾©ã¯unsigned intã¨ãªã£ã¦ãããï¼ã¿ã¼ã²ã
|
---|
| 3525 | ãããã¼ã«ä¾åã§ï¼unsigned charã¾ãã¯unsigned shortã«å®ç¾©ããæ¹ãå¹çã
|
---|
| 3526 | è¯ãå ´åãããï¼
|
---|
| 3527 |
|
---|
| 3528 | (6-9-2-2) BIT_FIELD_BOOLï¼ãªãã·ã§ã³ï¼
|
---|
| 3529 |
|
---|
| 3530 | 1ãããå¹
|
---|
| 3531 | ã®ããããã£ã¼ã«ãã§ï¼ãã¼ã«å¤ãä¿æãããå ´åã«ç¨ããã¹ããã¼
|
---|
| 3532 | ã¿åï¼ããã©ã«ãã§ã¯BIT_FIELD_UINTã¨åä¸ã«å®ç¾©ãã¦ãããï¼ãã¼ã«å¤ãä¿
|
---|
| 3533 | æãããã¨ãæ示ããããã«å¥ã®ååã¨ãã¦ããï¼
|
---|
| 3534 |
|
---|
| 3535 | (6-9-2-3) TBIT_TCB_PRIORITYï¼ãªãã·ã§ã³ï¼
|
---|
| 3536 |
|
---|
| 3537 | ç¾å¨åªå
|
---|
| 3538 | 度ï¼ããã³ï¼ãã¥ã¼ããã¯ã¹æ¡å¼µã«ããããã¼ã¹åªå
|
---|
| 3539 | 度ï¼ãä¿æãã
|
---|
| 3540 | ããã®TCBä¸ã®ãã£ã¼ã«ãã®ãããæ°ï¼ããã©ã«ãã§ã¯8ãããã«å®ç¾©ãã¦ãã
|
---|
| 3541 | ãï¼ãã以å¤ã«å®ç¾©ãããå ´åã«ï¼ãããæ°ããã®ååã«ãã¯ãå®ç¾©ããï¼
|
---|
| 3542 |
|
---|
| 3543 | 6.10 ã«ã¼ãã«å®è£
|
---|
| 3544 | ã«é¢ãããã®ä»ã®å®ç¾©
|
---|
| 3545 |
|
---|
| 3546 | 6.10.1 ã¿ã¼ã²ããä¾åã®ãªãã¸ã§ã¯ãå±æ§
|
---|
| 3547 |
|
---|
| 3548 | (6-10-1-1) TARGET_TSKATRï¼ãªãã·ã§ã³ï¼ ã¿ã¼ã²ããå®ç¾©ã®ã¿ã¹ã¯å±æ§
|
---|
| 3549 | (6-10-1-2) TARGET_ISRATRï¼ãªãã·ã§ã³ï¼ ã¿ã¼ã²ããå®ç¾©ã®ISRå±æ§
|
---|
| 3550 | (6-10-1-3) TARGET_INHATRï¼ãªãã·ã§ã³ï¼ ã¿ã¼ã²ããå®ç¾©ã®å²è¾¼ã¿ãã³ãã©å±æ§
|
---|
| 3551 | (6-10-1-4) TARGET_INTATRï¼ãªãã·ã§ã³ï¼ ã¿ã¼ã²ããå®ç¾©ã®å²è¾¼ã¿å±æ§
|
---|
| 3552 | (6-10-1-5) TARGET_EXCATRï¼ãªãã·ã§ã³ï¼ ã¿ã¼ã²ããå®ç¾©ã®CPUä¾å¤ãã³ãã©å±æ§
|
---|
| 3553 |
|
---|
| 3554 | åãªãã¸ã§ã¯ãã®å±æ§ãã¿ã¼ã²ããå®ç¾©ã§æ¡å¼µããå ´åã«ï¼è©²å½ãããªãã¸ã§
|
---|
| 3555 | ã¯ãå±æ§ã示ãå¤æ°ã«ï¼æ¡å¼µã§ä½¿ç¨ãããããã®è«çåãå®ç¾©ããï¼ããã«ã
|
---|
| 3556 | ãï¼æ¡å¼µã§ä½¿ç¨ããããããè¨å®ããã¦ããå ´åã«ã¨ã©ã¼ã«ãªãã®ãé²ãï¼
|
---|
| 3557 |
|
---|
| 3558 | ãªãï¼TOPPERSæ°ä¸ä»£ã«ã¼ãã«çµ±åä»æ§æ¸ã§ã¯ï¼å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ï¼ISRï¼
|
---|
| 3559 | å±æ§ãã¿ã¼ã²ããå®ç¾©ã§æ¡å¼µã§ããä»æ§ã¨ã¯ãªã£ã¦ããªãï¼
|
---|
| 3560 |
|
---|
| 3561 | 6.10.2 ã¨ã©ã¼ãã§ãã¯æ¹æ³ã®æå®
|
---|
| 3562 |
|
---|
| 3563 | (6-10-2-1) TARGET_MIN_STKSZï¼ãªãã·ã§ã³ï¼
|
---|
| 3564 |
|
---|
| 3565 | ã¿ã¼ã²ããå®ç¾©ã§ï¼ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãºã®æå°å¤ãè¨å®ããå ´åã«ã¯ï¼ã
|
---|
| 3566 | ã®å¤æ°ãã¹ã¿ãã¯ãµã¤ãºã®æå°å¤ã«å®ç¾©ããï¼
|
---|
| 3567 |
|
---|
| 3568 | (6-10-2-2) TARGET_MIN_ISTKSZï¼ãªãã·ã§ã³ï¼
|
---|
| 3569 |
|
---|
| 3570 | ã¿ã¼ã²ããå®ç¾©ã§ï¼éã¿ã¹ã¯ã³ã³ããã¹ãã®ã¹ã¿ãã¯ãµã¤ãºã®æå°å¤ãè¨å®ã
|
---|
| 3571 | ãå ´åã«ã¯ï¼ãã®å¤æ°ãã¹ã¿ãã¯ãµã¤ãºã®æå°å¤ã«å®ç¾©ããï¼
|
---|
| 3572 |
|
---|
| 3573 | (6-10-2-3) CHECK_STKSZ_ALIGNï¼ãªãã·ã§ã³ï¼
|
---|
| 3574 |
|
---|
| 3575 | ã¹ã¿ãã¯é åã®ãµã¤ãºãããå¤ï¼ã¢ã©ã¤ã³åä½ï¼ã®åæ°ã§ãªããã°ãªããªãå ´
|
---|
| 3576 | åã«ï¼ãã®å¤æ°ãã¢ã©ã¤ã³åä½ã«å®ç¾©ããï¼ãã®å¤æ°ãå®ç¾©ãããã¨ã§ï¼ã³ã³
|
---|
| 3577 | ãã£ã®ã¥ã¬ã¼ã¿ã®çæã¹ã¯ãªããã¨acre_tskï¼åççææ©è½æ¡å¼µããã±ã¼ã¸ã®
|
---|
| 3578 | ã¿ï¼ã«ããã¦ï¼ã¹ã¿ãã¯é åã®ãµã¤ãºãæ£ãããªãï¼ãã®å¤æ°ã«å®ç¾©ããå¤ã®
|
---|
| 3579 | åæ°ã§ãªãï¼å ´åã®ã¨ã©ã¼ããã§ãã¯ããããã«ãªãï¼ãã§ãã¯ãå¿
|
---|
| 3580 | è¦ãªãå ´
|
---|
| 3581 | åã«ã¯ï¼ãã®å¤æ°ãå®ç¾©ããªãï¼
|
---|
| 3582 |
|
---|
| 3583 | (6-10-2-4) CHECK_INTPTR_ALIGNï¼ãªãã·ã§ã³ï¼ intptr_tåã®å¤æ°ã®ã¢ã©ã¤ã³åä½
|
---|
| 3584 | (6-10-2-5) CHECK_INTPTR_NONNULLï¼ãªãã·ã§ã³ï¼intptr_tåã®å¤æ°ã®éNULLãã§ãã¯
|
---|
| 3585 | (6-10-2-6) CHECK_FUNC_ALIGNï¼ãªãã·ã§ã³ï¼ å¦çåä½ã®ã¢ã©ã¤ã³åä½
|
---|
| 3586 | (6-10-2-7) CHECK_FUNC_NONNULLï¼ãªãã·ã§ã³ï¼ å¦çåä½ã®éNULLãã§ãã¯
|
---|
| 3587 | (6-10-2-8) CHECK_STACK_ALIGNï¼ãªãã·ã§ã³ï¼ ã¹ã¿ãã¯é åã®ã¢ã©ã¤ã³åä½
|
---|
| 3588 | (6-10-2-9) CHECK_STACK_NONNULLï¼ãªãã·ã§ã³ï¼ã¹ã¿ãã¯é åã®éNULLãã§ãã¯
|
---|
| 3589 | (6-10-2-10) CHECK_MPF_ALIGNï¼ãªãã·ã§ã³ï¼ åºå®é·ã¡ã¢ãªãã¼ã«é åã®ã¢ã©ã¤ã³åä½
|
---|
| 3590 | (6-10-2-11) CHECK_MPF_NONNULLï¼ãªãã·ã§ã³ï¼ åºå®é·ã¡ã¢ãªãã¼ã«é åã®éNULL
|
---|
| 3591 | ãã§ãã¯
|
---|
| 3592 |
|
---|
| 3593 | intptr_tåã®å¤æ°ï¼å¦çåä½ï¼ã¹ã¿ãã¯é åï¼åºå®é·ã¡ã¢ãªãã¼ã«é åã®å
|
---|
| 3594 | é
|
---|
| 3595 | çªå°ãããå¤ï¼ã¢ã©ã¤ã³åä½ï¼ã®åæ°ã§ãªããã°ãªããªãå ´åã«ï¼ããããï¼
|
---|
| 3596 | CHECK_INTPTR_ALIGNï¼CHECK_FUNC_ALIGNï¼CHECK_STACK_ALIGNï¼
|
---|
| 3597 | CHECK_MPF_ALIGNãã¢ã©ã¤ã³åä½ã«å®ç¾©ããï¼intptr_tåã®å¤æ°ï¼å¦çåä½ï¼ã¹
|
---|
| 3598 | ã¿ãã¯é åï¼åºå®é·ã¡ã¢ãªãã¼ã«é åã®å
|
---|
| 3599 | é çªå°ãNULLã§ãªããã®ãã§ãã¯ã
|
---|
| 3600 | è¡ãå ´åã«ã¯ï¼ããããCHECK_INTPTR_NULLï¼CHECK_FUNC_NONNULLï¼
|
---|
| 3601 | CHECK_STACK_NONNULLï¼CHECK_MPF_NONNULLãå®ç¾©ããï¼
|
---|
| 3602 |
|
---|
| 3603 | (6-10-2-12) CHECK_MB_ALIGNï¼ãªãã·ã§ã³ï¼ 管çé åã®ã¢ã©ã¤ã³åä½
|
---|
| 3604 |
|
---|
| 3605 | ã«ã¼ãã«å
|
---|
| 3606 | ã®ç®¡çé åï¼å
|
---|
| 3607 | ·ä½çã«ã¯ï¼ãã¼ã¿ãã¥ã¼ç®¡çé åï¼åªå
|
---|
| 3608 | 度ãã¼ã¿
|
---|
| 3609 | ãã¥ã¼ç®¡çé åï¼åºå®é·ã¡ã¢ãªãã¼ã«ç®¡çé åï¼ã®å
|
---|
| 3610 | é çªå°ãããå¤ï¼ã¢ã©ã¤
|
---|
| 3611 | ã³åä½ï¼ã®åæ°ã§ãªããã°ãªããªãå ´åã«ï¼ãã®å¤æ°ãã¢ã©ã¤ã³åä½ã«å®ç¾©ã
|
---|
| 3612 | ãï¼åççææ©è½æ¡å¼µããã±ã¼ã¸ã使ç¨ããªãå ´åã«ã¯ï¼å®ç¾©ããå¿
|
---|
| 3613 | è¦ããªãï¼
|
---|
| 3614 |
|
---|
| 3615 | 6.10.3 éã¿ã¹ã¯ã³ã³ããã¹ãç¨ã®ã¹ã¿ãã¯é å
|
---|
| 3616 |
|
---|
| 3617 | (6-10-3-1) DEFAULT_ISTKSZ
|
---|
| 3618 |
|
---|
| 3619 | DEF_ICSã«ããéã¿ã¹ã¯ã³ã³ããã¹ãç¨ã®ã¹ã¿ãã¯é åãæå®ãããªãå ´åã®ï¼
|
---|
| 3620 | ããã©ã«ãã®ã¹ã¿ãã¯é åã®ãµã¤ãºï¼
|
---|
| 3621 |
|
---|
| 3622 | (6-10-3-2) DEFAULT_ISTKï¼ãªãã·ã§ã³ï¼
|
---|
| 3623 |
|
---|
| 3624 | DEF_ICSã«ããéã¿ã¹ã¯ã³ã³ããã¹ãç¨ã®ã¹ã¿ãã¯é åãæå®ãããªãå ´åã®ï¼
|
---|
| 3625 | ããã©ã«ãã®ã¹ã¿ãã¯é åã®å
|
---|
| 3626 | é çªå°ï¼ãã®ãã¯ããå®ç¾©ãããªãå ´åã«ã¯ï¼
|
---|
| 3627 | ãµã¤ãºãDEFAULT_ISTKSZã®ã¹ã¿ãã¯é åãï¼é
|
---|
| 3628 | åã«ãã確ä¿ãããï¼
|
---|
| 3629 |
|
---|
| 3630 | (6-10-3-3) STK_T *TOPPERS_ISTKPT(STK_T *istk, size_t istksz)ï¼ãªãã·ã§ã³ï¼
|
---|
| 3631 |
|
---|
| 3632 | éã¿ã¹ã¯ã³ã³ããã¹ãç¨ã®ã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå¤ãä¿æããå¤æ°ï¼istkptï¼
|
---|
| 3633 | ãç¨ããå ´åã«ï¼ãã®ã·ã³ãã«ã«ï¼ã¹ã¿ãã¯é åã®å
|
---|
| 3634 | é çªå°ï¼istkï¼ã¨ã¹ã¿ã
|
---|
| 3635 | ã¯é åã®ãµã¤ãºï¼istkszï¼ããï¼ã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå¤ãæ±ãããã¯ãã
|
---|
| 3636 | å®ç¾©ããï¼
|
---|
| 3637 |
|
---|
| 3638 | 6.10.4 空ã©ãã«ã®å®ç¾©
|
---|
| 3639 |
|
---|
| 3640 | (6-10-4-1) TOPPERS_EMPTY_LABEL(type, symbol)ï¼ãªãã·ã§ã³ï¼
|
---|
| 3641 |
|
---|
| 3642 | ãªã³ã¯ã¨ã©ã¼ãé²ãããã«ï¼ãã¼ã¿åtypeã®é
|
---|
| 3643 | åã§ããå¤æ°symbolã«å®ç¾©ãä¸
|
---|
| 3644 | ããããã®ãã¯ãï¼ä¸ããå®ç¾©ãåç
|
---|
| 3645 | §ããããã¨ã¯ãªãããï¼ã©ã®ãããªå®ç¾©
|
---|
| 3646 | ãä¸ãã¦ãããï¼
|
---|
| 3647 |
|
---|
| 3648 | ããã©ã«ãã§ã¯ï¼symbolãï¼è¦ç´ åãtypeã§ãµã¤ãºã0ã®é
|
---|
| 3649 | åã«å®ç¾©ãã¦ããï¼
|
---|
| 3650 | ãµã¤ãºã0ã®é
|
---|
| 3651 | åãã¨ã©ã¼ã¨ãªããªãã³ã³ãã¤ã©ï¼GCCã¯ããã«è©²å½ï¼ãç¨ãã
|
---|
| 3652 | å ´åã«ã¯ï¼ã¿ã¼ã²ããä¾åé¨ã§å®ç¾©ããå¿
|
---|
| 3653 | è¦ã¯ãªãï¼
|
---|
| 3654 |
|
---|
| 3655 | 6.11 ãã¬ã¼ã¹ãã°æ©è½ã«é¢ããè¨å®
|
---|
| 3656 |
|
---|
| 3657 | ASP3ã«ã¼ãã«ã®ã½ã¼ã¹ã³ã¼ãã«ã¯ï¼ã«ã¼ãã«ã®å®è¡ãã¬ã¼ã¹ãã°ãåå¾ããã
|
---|
| 3658 | ãã®ãã¯ãçãåãè¾¼ãã§ããï¼ããã©ã«ãã§ã¯ï¼ãããã®ãã¯ãã¯ç©ºã«å®ç¾©
|
---|
| 3659 | ããã¦ãã¬ã¼ã¹ãã°ã®åå¾ã¯è¡ããªããï¼ãããã®ãã¯ããé©åã«å®ç¾©ããã
|
---|
| 3660 | ã¨ã§ãã¬ã¼ã¹ãã°ã®åå¾ãè¡ããã¨ãã§ããï¼
|
---|
| 3661 |
|
---|
| 3662 | 6.11.1 åå¾ã§ãããã¬ã¼ã¹ãã°ã®ç¨®é¡ã¨ãã¯ã
|
---|
| 3663 |
|
---|
| 3664 | åå¾ã§ãããã¬ã¼ã¹ãã°ã®ç¨®é¡ã¨ï¼ãããåå¾ããããã«å®ç¾©ãããã¯ãã¯æ¬¡
|
---|
| 3665 | ã®éãã§ããï¼
|
---|
| 3666 |
|
---|
| 3667 | (a) ã«ã¼ãã«ã®åä½éå§ã¨çµäº
|
---|
| 3668 |
|
---|
| 3669 | 次ã®ãã¯ããå®ç¾©ãããã¨ã§ï¼ã«ã¼ãã«ã®åä½éå§æã¨çµäºæã®ãã¬ã¼ã¹ãã°
|
---|
| 3670 | ãåå¾ãããã¨ãã§ããï¼
|
---|
| 3671 |
|
---|
| 3672 | LOG_KER_ENTER ã«ã¼ãã«ãåä½ãéå§ããç´åï¼åæåã®å®äºå¾ï¼
|
---|
| 3673 | LOG_KER_LEAVE ã«ã¼ãã«ã®çµäºï¼ext_kerï¼ãå¼ã°ããç´å¾ï¼çµäºå¦
|
---|
| 3674 | çã®å®è¡åï¼
|
---|
| 3675 |
|
---|
| 3676 | (b) å¦çåä½ã®å®è¡éå§ã¨çµäº
|
---|
| 3677 |
|
---|
| 3678 | 次ã®ãã¯ããå®ç¾©ãããã¨ã§ï¼å²è¾¼ã¿ãã³ãã©ï¼INHï¼ï¼å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ã
|
---|
| 3679 | ã³ï¼ISRï¼ï¼å¨æãã³ãã©ï¼CYCï¼ï¼ã¢ã©ã¼ã ãã³ãã©ï¼ALMï¼ï¼CPUä¾å¤ãã³ã
|
---|
| 3680 | ã©ï¼EXCï¼ã®å®è¡éå§åã¨çµäºå¾ã®ãã¬ã¼ã¹ãã°ãåå¾ãããã¨ãã§ããï¼
|
---|
| 3681 |
|
---|
| 3682 | LOG_<å¦çåä½ç¥å·>_ENTER å¦çåä½ã®å®è¡éå§ç´å
|
---|
| 3683 | LOG_<å¦çåä½ç¥å·>_LEAVE å¦çåä½ã®çµäºç´å¾
|
---|
| 3684 |
|
---|
| 3685 | å²è¾¼ã¿ãã³ãã©ã¯ï¼ã¢ããªã±ã¼ã·ã§ã³ãç»é²ãããã®ã®ã¿ã対象ã¨ãï¼å²è¾¼ã¿
|
---|
| 3686 | ãµã¼ãã¹ã«ã¼ãã³ãå¼ã³åºãããã«ã«ã¼ãã«å
|
---|
| 3687 | ã«çæããããã®ã¯å¯¾è±¡ã¨ããª
|
---|
| 3688 | ãï¼ã¿ã¹ã¯ã®å®è¡éå§ã¨çµäºã¯ï¼ä»ã®æ¹æ³ã§åå¾ã§ããããï¼ãã®æ¹æ³ã¯ç¨æ
|
---|
| 3689 | ãã¦ããªãï¼
|
---|
| 3690 |
|
---|
| 3691 | ãªãï¼å²è¾¼ã¿ãã³ãã©ã¨CPUä¾å¤ãã³ãã©ã®å®è¡éå§ã¨çµäºã®ãã¬ã¼ã¹ãã°åå¾
|
---|
| 3692 | ã¯ï¼ã¿ã¼ã²ããä¾åé¨ã§å®è£
|
---|
| 3693 | ããå¿
|
---|
| 3694 | è¦ãããï¼è©³ããã¯ï¼ã6.2 ãã¬ã¼ã¹ãã°
|
---|
| 3695 | æ©è½ã¸ã®å¯¾å¿ãã6.6.1 å²è¾¼ã¿ãã³ãã©ã®åºå
|
---|
| 3696 | ¥å£å¦çãã6.7.1 CPUä¾å¤ãã³ã
|
---|
| 3697 | ã©ã®åºå
|
---|
| 3698 | ¥å£å¦çãã®ç¯ãåç
|
---|
| 3699 | §ãããã¨ï¼
|
---|
| 3700 |
|
---|
| 3701 | (c) ã¿ã¹ã¯ç¶æ
|
---|
| 3702 | ã®å¤å
|
---|
| 3703 |
|
---|
| 3704 | 次ã®ãã¯ããå®ç¾©ãããã¨ã§ï¼ã¿ã¹ã¯ç¶æ
|
---|
| 3705 | ãå¤åããæã®ãã¬ã¼ã¹ãã°ãåå¾
|
---|
| 3706 | ãããã¨ãã§ããï¼ãã ãï¼å®è¡ç¶æ
|
---|
| 3707 | ã¨å®è¡å¯è½ç¶æ
|
---|
| 3708 | ã®éã®é·ç§»ã¯ï¼ä»ã®æ¹æ³
|
---|
| 3709 | ã§åå¾ã§ããããï¼ãã®ãã¯ãã§ã¯åå¾ã§ããªãï¼
|
---|
| 3710 |
|
---|
| 3711 | LOG_TSKSTAT ã¿ã¹ã¯ç¶æ
|
---|
| 3712 | ã®å¤å
|
---|
| 3713 |
|
---|
| 3714 | (d) ãã£ã¹ãããã£ã®å®è¡éå§ã¨çµäº
|
---|
| 3715 |
|
---|
| 3716 | 次ã®ãã¯ããå®ç¾©ãããã¨ã§ï¼ãã£ã¹ãããã£ãå®è¡éå§ããæã¨ï¼çµäºãã
|
---|
| 3717 | æã®ãã¬ã¼ã¹ãã°ãåå¾ãããã¨ãã§ããï¼
|
---|
| 3718 |
|
---|
| 3719 | LOG_DSP_ENTER ãã£ã¹ãããã£ã®å®è¡éå§
|
---|
| 3720 | LOG_DSP_LEAVE ãã£ã¹ãããã£ã®çµäº
|
---|
| 3721 |
|
---|
| 3722 | ãã£ã¹ãããã£ã®å®è¡éå§ã¯ï¼ã¿ã¹ã¯ãå®è¡ç¶æ
|
---|
| 3723 | ããå®è¡å¯è½ç¶æ
|
---|
| 3724 | ã«é·ç§»ãã
|
---|
| 3725 | ã¿ã¤ãã³ã°ã§ããããï¼å®è¡å¯è½ç¶æ
|
---|
| 3726 | ã¸é·ç§»ããã¿ã¹ã¯ã®TCBã¸ã®ãã¤ã³ã¿ãã
|
---|
| 3727 | ã©ã¡ã¼ã¿ã¨ããï¼éã«ï¼ãã£ã¹ãããã£ã®çµäºã¯ï¼ã¿ã¹ã¯ãå®è¡å¯è½ç¶æ
|
---|
| 3728 | ãã
|
---|
| 3729 | å®è¡ç¶æ
|
---|
| 3730 | ã«é·ç§»ããã¿ã¤ãã³ã°ã§ããããï¼å®è¡ç¶æ
|
---|
| 3731 | ã¸é·ç§»ããã¿ã¹ã¯ã®TCBã¸
|
---|
| 3732 | ã®ãã¤ã³ã¿ããã©ã¡ã¼ã¿ã¨ããï¼
|
---|
| 3733 |
|
---|
| 3734 | ASP3ã«ã¼ãã«ã§ã¯ï¼å®è¡ã§ããã¿ã¹ã¯ããªãï¼ã«ã¼ãã«ãã¢ã¤ãã«ç¶æ
|
---|
| 3735 | ã«ãªã
|
---|
| 3736 | å ´åã«ã¯ï¼ãã£ã¹ãããã£ã®ä¸ã«çã¾ãï¼ãã®ããï¼ã¢ã¤ãã«ç¶æ
|
---|
| 3737 | ã¸ã®é·ç§»ã¨
|
---|
| 3738 | ã¢ã¤ãã«ç¶æ
|
---|
| 3739 | ããä»ã®ç¶æ
|
---|
| 3740 | ã¸ã®é·ç§»ã¯ï¼ãã®ãã¯ãã§ã¯åå¾ã§ããªãï¼
|
---|
| 3741 |
|
---|
| 3742 | ãªãï¼ãã£ã¹ãããã£ã®å®è¡éå§ã¨çµäºã®ãã¬ã¼ã¹ãã°åå¾ã¯ï¼ã¿ã¼ã²ããä¾
|
---|
| 3743 | åé¨ã§å®è£
|
---|
| 3744 | ããå¿
|
---|
| 3745 | è¦ãããï¼è©³ããã¯ï¼ã6.2 ãã¬ã¼ã¹ãã°æ©è½ã¸ã®å¯¾å¿ãã¨
|
---|
| 3746 | ã6.5.2 ãã£ã¹ãããã£æ¬ä½ãã®ç¯ãåç
|
---|
| 3747 | §ãããã¨ï¼
|
---|
| 3748 |
|
---|
| 3749 | (e) ãµã¼ãã¹ã³ã¼ã«ã®å
|
---|
| 3750 | ¥å£ã¨åºå£
|
---|
| 3751 |
|
---|
| 3752 | 次ã®ãã¯ããå®ç¾©ãããã¨ã§ï¼åãµã¼ãã¹ã³ã¼ã«ã®å
|
---|
| 3753 | ¥å£ã¨åºå£ã®ãã¬ã¼ã¹ãã°
|
---|
| 3754 | ãåå¾ãããã¨ãã§ããï¼
|
---|
| 3755 |
|
---|
| 3756 | LOG_<ãµã¼ãã¹ã³ã¼ã«ã®å¤§æå表è¨>_ENTER ãµã¼ãã¹ã³ã¼ã«åã®å
|
---|
| 3757 | ¥å£
|
---|
| 3758 | LOG_<ãµã¼ãã¹ã³ã¼ã«ã®å¤§æå表è¨>_LEAVE ãµã¼ãã¹ã³ã¼ã«åã®åºå£
|
---|
| 3759 |
|
---|
| 3760 | ããããã®ãã¯ãã®å称ããã©ã¡ã¼ã¿ã®è©³ç´°ã«ã¤ãã¦ã¯ï¼ã«ã¼ãã«ã®ã½ã¼ã¹ã³ã¼
|
---|
| 3761 | ããåç
|
---|
| 3762 | §ãããã¨ï¼
|
---|
| 3763 |
|
---|
| 3764 | 6.11.2 ãã¬ã¼ã¹ãã°è¨é²ã®ãµã³ãã«ã³ã¼ã
|
---|
| 3765 |
|
---|
| 3766 | ãã¬ã¼ã¹ãã°ãè¨é²ããæ¹æ³ã®ä¸ä¾ã¨ãã¦ï¼ã¡ã¢ãªä¸ã«ãã¬ã¼ã¹ãã°ãè¨é²ã
|
---|
| 3767 | ãããã®ãµã³ãã«ã³ã¼ããarch/tracelogãã£ã¬ã¯ããªã«ç¨æãã¦ããï¼ãã®ãµ
|
---|
| 3768 | ã³ãã«ã³ã¼ãã¯ï¼ã·ã¹ãã ãã°æ©è½ã¨åæ§ã®ãã¬ã¼ã¹ãã°æ©è½ãç¨æãï¼ãã¬ã¼
|
---|
| 3769 | ã¹ãã°æ
|
---|
| 3770 | å ±ãã¡ã¢ãªä¸ã«è¨é²ããã¨ã¨ãã«ï¼ãããèªã¿åºãã¦è¡¨ç¤ºããæ©è½ã
|
---|
| 3771 | å®ç¾ãã¦ããï¼
|
---|
| 3772 |
|
---|
| 3773 | ãã®ãµã³ãã«ã³ã¼ããçµã¿è¾¼ãæ¹æ³ã¯æ¬¡ã®éãã§ããï¼
|
---|
| 3774 |
|
---|
| 3775 | (1) target_kernel_impl.hããã³target_syssvc.hã«ï¼æ¬¡ã®è¨è¿°ã追å ããï¼
|
---|
| 3776 |
|
---|
| 3777 | #ifdef TOPPERS_ENABLE_TRACE
|
---|
| 3778 | #include "arch/tracelog/trace_log.h"
|
---|
| 3779 | #endif /* TOPPERS_ENABLE_TRACE */
|
---|
| 3780 |
|
---|
| 3781 | (2) Makefile.targetã«ï¼æ¬¡ã®è¨è¿°ã追å ããï¼
|
---|
| 3782 |
|
---|
| 3783 | ifeq ($(ENABLE_TRACE),true)
|
---|
| 3784 | COPTS := $(COPTS) -DTOPPERS_ENABLE_TRACE
|
---|
| 3785 | SYSSVC_DIRS := $(SYSSVC_DIRS) $(SRCDIR)/arch/tracelog
|
---|
| 3786 | endif
|
---|
| 3787 |
|
---|
| 3788 | ãã®ãµã³ãã«ã³ã¼ããç¨ãã¦ï¼ãã¬ã¼ã¹ãã°ãè¨é²ã»ãã³ãããæ¹æ³ã®ä¾ã«ã¤
|
---|
| 3789 | ãã¦ã¯ï¼ãTOPPERS/ASP3ã«ã¼ãã« ã¦ã¼ã¶ã¼ãºããã¥ã¢ã«ãã®ã11.6 ãã¬ã¼ã¹
|
---|
| 3790 | ãã°è¨é²ã®ãµã³ãã«ã³ã¼ãã®ä½¿ç¨æ¹æ³ãã®ç¯ãåç
|
---|
| 3791 | §ãããã¨ï¼
|
---|
| 3792 |
|
---|
| 3793 | ãªãï¼ãã®ãµã³ãã«ã³ã¼ãã§ã¯ï¼ãã£ã¹ãããã£ã®åºå£ï¼ã¿ã¹ã¯ã®ç¶æ
|
---|
| 3794 | é·ç§»ï¼
|
---|
| 3795 | ã·ã¹ãã ãã°ã®åºåã®3ã¤ã®ãã¬ã¼ã¹ãã°ã®ã¿ãè¨é²ãã¦ããï¼ä»ã®ãã¬ã¼ã¹ã
|
---|
| 3796 | ã°ãè¨é²ãããå ´åã«ã¯ï¼trace_log.hï¼ããã³tTraceLog.cï¼ãä¿®æ£ããå¿
|
---|
| 3797 | è¦
|
---|
| 3798 | ãããï¼
|
---|
| 3799 |
|
---|
| 3800 | 6.12 ã«ã¼ãã«å®è£
|
---|
| 3801 | ã®ã¿ã¼ã²ããä¾åé¨ã®ããã®ãªãã¼ã è¨è¿°
|
---|
| 3802 |
|
---|
| 3803 | ã«ã¼ãã«å
|
---|
| 3804 | é¨ã«éãã¦ä½¿ãããé¢æ°ãå¤æ°ãªã©ã®å称ã§ï¼ãªãã¸ã§ã¯ããã¡ã¤
|
---|
| 3805 | ã«ã®å¤é¨ããåç
|
---|
| 3806 | §ã§ããå称ã¯ï¼Cè¨èªã¬ãã«ã§ï¼å
|
---|
| 3807 | é ã"_kernel_"ã¾ãã¯
|
---|
| 3808 | "_KERNEL_"ã§ããå称ã¨ãã¦ããï¼ASP3ã«ã¼ãã«ã§ã¯ï¼ã½ã¼ã¹ã³ã¼ããã³ã³ã
|
---|
| 3809 | ã¯ãã«ä¿ã¡ã¤ã¤ãããå®ç¾ããããã«ï¼ãªãã¼ã è¨è¿°ãã¡ã¤ã«ãå°å
|
---|
| 3810 | ¥ãã¦ããï¼
|
---|
| 3811 |
|
---|
| 3812 | å
|
---|
| 3813 | ·ä½çã«ã¯ï¼ãªãã¼ã ãã¹ãå称ããªã¹ãã¢ããããxxx_rename.defãç¨æãï¼
|
---|
| 3814 | ãã®ãã¡ã¤ã«ãããã¼ã«ï¼utils/genrename.rbï¼ã«ããï¼å称ããªãã¼ã ãã
|
---|
| 3815 | ããã®ãã¯ãå®ç¾©ãå«ãxxx_rename.hã¨ï¼ãããã®ãã¯ãå®ç¾©ã解é¤ãããã
|
---|
| 3816 | ã®xxx_unrename.hãçæããï¼ãã¼ã«ã®èµ·åæ¹æ³ã¯æ¬¡ã®éãã§ããï¼
|
---|
| 3817 |
|
---|
| 3818 | % ruby genrename.rb xxx
|
---|
| 3819 |
|
---|
| 3820 | xxx_rename.defã«ã¯ï¼ãªãã¼ã ãã¹ãå称ã1è¡ã«1ã¤è¨è¿°ããï¼xxxxã¨ããå
|
---|
| 3821 | 称ãè¨è¿°ããã¦ããå ´åï¼xxx_rename.hã«ã¯æ¬¡ã®ãããªè¨è¿°ãçæãããï¼
|
---|
| 3822 |
|
---|
| 3823 | #define xxxx _kernel_xxxx
|
---|
| 3824 |
|
---|
| 3825 | ã¾ãï¼xxx_unrename.hã«ã¯æ¬¡ã®ãããªè¨è¿°ãçæãããï¼
|
---|
| 3826 |
|
---|
| 3827 | #undef xxxx
|
---|
| 3828 |
|
---|
| 3829 | xxx_rename.defã®ä¸ã«ã¯ï¼ä»ã®ãªãã¼ã è¨è¿°ãåãè¾¼ãããã«ï¼ãINCLUDE
|
---|
| 3830 | "yyy"ãã¾ãã¯ãINCLUDE <yyy>ãã¨ããè¨è¿°ãå«ãããã¨ãã§ããï¼ãã®è¨è¿°
|
---|
| 3831 | ãããã¦ããå ´åï¼xxx_rename.hã«ã¯ã#include "yyy_rename.h"ãã¾ãã¯
|
---|
| 3832 | ã#include <yyy_rename.h>ãã¨ããè¨è¿°ãï¼xxx_unrename.hã«ã¯ã#include
|
---|
| 3833 | "yyy_unrename.h"ãã¾ãã¯ã#include <yyy_unrename.h>ãã¨ããè¨è¿°ãçæã
|
---|
| 3834 | ããï¼
|
---|
| 3835 |
|
---|
| 3836 | xxx_rename.defã®ä¸ã®"#"ã§å§ã¾ãè¡ã¯ã³ã¡ã³ãã¨ãã¦æ±ããï¼çæãããã¡ã¤
|
---|
| 3837 | ã«ä¸ã«ã³ã¡ã³ããçæããï¼xxx_rename.defã®ä¸ã®ç©ºè¡ã¯ç¡è¦ãããï¼
|
---|
| 3838 |
|
---|
| 3839 | ã«ã¼ãã«ã®ã¿ã¼ã²ããéä¾åé¨ã§ä½¿ãããå称ããªãã¼ã ããããã«ï¼kernel
|
---|
| 3840 | ãã£ã¬ã¯ããªã«ï¼kernel_rename.defã¨ï¼ããããçæããkernel_rename.hã
|
---|
| 3841 | ãã³kernel_unrename.hãç¨æããã¦ããï¼kernel_rename.defã«ã¯ï¼
|
---|
| 3842 | ãINCLUDE "target"ãã¨ããè¨è¿°ãå«ã¾ãã¦ããï¼ã¿ã¼ã²ããä¾åé¨ã®ãªãã¼
|
---|
| 3843 | ã è¨è¿°ãåãè¾¼ãããã«ãªã£ã¦ããï¼ã¿ã¼ã²ããä¾åé¨ã§å®ç¾©ãï¼ã¿ã¼ã²ãã
|
---|
| 3844 | éä¾åé¨ã§åç
|
---|
| 3845 | §ãããå称ã¯ï¼ã¿ã¼ã²ããä¾åé¨ã®ãªãã¼ã è¨è¿°ã«å«ããï¼
|
---|
| 3846 |
|
---|
| 3847 | ã¿ã¼ã²ããä¾åé¨ã§ã¯ï¼ã¿ã¼ã²ããä¾åé¨ã§ä½¿ãããå称ããªãã¼ã ãããã
|
---|
| 3848 | ã«ï¼target_rename.defã¨ï¼ããããçæããtarget_rename.hããã³
|
---|
| 3849 | target_unrename.hãç¨æããï¼ã¿ã¼ã²ããä¾åé¨ããéçºç°å¢ä¾åé¨ï¼ããã»ã
|
---|
| 3850 | ãµã³ã¢ä¾åé¨ï¼ãããä¾åé¨ãåãåããå ´åã«ã¯ï¼target_rename.defã«
|
---|
| 3851 | INCLUDEè¨è¿°ãå
|
---|
| 3852 | ¥ãï¼éçºç°å¢ä¾åé¨ï¼ããã»ããµã³ã¢ä¾åé¨ï¼ãããä¾åé¨ã®
|
---|
| 3853 | ãªãã¼ã è¨è¿°ãåãè¾¼ãããã«ããï¼
|
---|
| 3854 |
|
---|
| 3855 | ã¢ã»ã³ããªè¨èªã¬ãã«ã®èå¥åãï¼Cè¨èªã¬ãã«ã®èå¥åã®å
|
---|
| 3856 | é ã«"_"ãä»ãã
|
---|
| 3857 | ãã®ã«ãªãå ´åï¼ã¢ã»ã³ããªè¨èªã§å®ç¾©ï¼åç
|
---|
| 3858 | §ããé¢æ°ãå¤æ°ãªã©ã«ã¤ãã¦ã¯ï¼
|
---|
| 3859 | ã¢ã»ã³ããªè¨èªã¬ãã«ã®èå¥åãxxx_rename.defã«ãªã¹ãã¢ããããå¿
|
---|
| 3860 | è¦ãã
|
---|
| 3861 | ãã®ã§æ³¨æãããã¨ï¼
|
---|
| 3862 |
|
---|
| 3863 | ãTOPPERS/ASP1ã«ã¼ãã«ã¨ã®é¢ä¿ã
|
---|
| 3864 |
|
---|
| 3865 | TOPPERS_LABEL_ASMãå®ç¾©ããå ´åã«ï¼å
|
---|
| 3866 | é ã«"_"ãä»ããèå¥åã®ãªãã¼ã ã
|
---|
| 3867 | è¡ãæ©è½ã¯å»æ¢ããï¼
|
---|
| 3868 |
|
---|
| 3869 | 6.13 é«å解è½ã¿ã¤ããã©ã¤ã
|
---|
| 3870 |
|
---|
| 3871 | é«å解è½ã¿ã¤ããã©ã¤ãã¯ï¼ã«ã¼ãã«ãã·ã¹ãã æå»ã®æ´æ°ã«ç¨ããããé«å
|
---|
| 3872 | 解è½ã¿ã¤ããæ½è±¡åããããã®ããã¤ã¹ãã©ã¤ãã§ããï¼é«å解è½ã¿ã¤ããã©
|
---|
| 3873 | ã¤ãã«é¢é£ãã¦ï¼target_kernel.hã¾ãã¯ããããã¤ã³ã¯ã«ã¼ãããããã¡ã¤ã«
|
---|
| 3874 | ã«å«ããã¹ãå®ç¾©ã«ã¤ãã¦ã¯ï¼ã5.3 é«å解è½ã¿ã¤ãã®ã¿ã¤ãå¨æã¨ã«ã¦ã³ã
|
---|
| 3875 | å¤ã®é²ã¿å¹
|
---|
| 3876 | ãã®ç¯ãåç
|
---|
| 3877 | §ãããã¨ï¼
|
---|
| 3878 |
|
---|
| 3879 | ãTOPPERS/ASP1ã«ã¼ãã«ã¨ã®é¢ä¿ã
|
---|
| 3880 |
|
---|
| 3881 | ASP3ã«ã¼ãã«ã§ã¯ï¼ã¿ã¤ã ãã£ãã¯ãç¨ããªãæé管çã®ããã«ï¼é«å解è½ã¿
|
---|
| 3882 | ã¤ããç¨ãã¦ããï¼é«å解è½ã¿ã¤ããå¹ççã«å®ç¾ã§ããªãã¿ã¼ã²ããã·ã¹ã
|
---|
| 3883 | ã åãã«ã¯ï¼é«å解è½ã¿ã¤ããã©ã¤ããï¼ã¿ã¤ã ãã£ãã¯ãç¨ãã¦å®è£
|
---|
| 3884 | ããæ¹
|
---|
| 3885 | æ³ãããï¼ãã®å®è£
|
---|
| 3886 | æ¹æ³ã«ã¤ãã¦ã¯ï¼ã6.13.4 ã¿ã¤ã ãã£ãã¯ãç¨ããã¿ã¤ã
|
---|
| 3887 | ãã©ã¤ãã®å®è£
|
---|
| 3888 | ãã®ç¯ãåç
|
---|
| 3889 | §ãããã¨ï¼
|
---|
| 3890 |
|
---|
| 3891 | 6.13.1 é«å解è½ã¿ã¤ããã©ã¤ãã®ãã¡ã¤ã«æ§æ
|
---|
| 3892 |
|
---|
| 3893 | é«å解è½ã¿ã¤ããã©ã¤ããçµã¿è¾¼ãããã®éçAPIãè¨è¿°ããã·ã¹ãã ã³ã³ãã£
|
---|
| 3894 | ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ãï¼target_timer.cfgã«ç¨æããï¼ãã®ãã¡ã¤ã«ã«ã¯ï¼
|
---|
| 3895 | é«å解è½ã¿ã¤ããã©ã¤ããåæåããããã®åæåã«ã¼ãã³ã®è¿½å ï¼é«å解è½
|
---|
| 3896 | ã¿ã¤ããã©ã¤ããçµäºãããããã®çµäºå¦çã«ã¼ãã³ã®è¿½å ï¼é«å解è½ã¿ã¤ã
|
---|
| 3897 | å²è¾¼ã¿ã®ããã®å²è¾¼ã¿ãã³ãã©ã®å®ç¾©ï¼ã¾ãã¯ï¼å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ã®ç
|
---|
| 3898 | æï¼ï¼é«å解è½ã¿ã¤ãå²è¾¼ã¿ã®ããã®å²è¾¼ã¿è¦æ±ã©ã¤ã³ã®å±æ§ã®è¨å®ã®éç
|
---|
| 3899 | APIãªã©ãå«ããã¨ã«ãªãï¼
|
---|
| 3900 |
|
---|
| 3901 | é«å解è½ã¿ã¤ããã©ã¤ããå¼ã³åºãããã«å¿
|
---|
| 3902 | è¦ãªå®ç¾©ãå«ãããããã¡ã¤ã«ãï¼
|
---|
| 3903 | target_timer.hã«ç¨æããï¼ã¾ãï¼é«å解è½ã¿ã¤ããã©ã¤ãã®å®è£
|
---|
| 3904 | ãã¡ã¤ã«ã
|
---|
| 3905 | target_timer.cã«ç¨æããï¼
|
---|
| 3906 |
|
---|
| 3907 | ã·ã¹ãã æå»ã®çµéããã£ããã«è¡ãå¦çã®å¤ãã¯ï¼ã¿ã¹ã¯ã®èµ·åãå¾
|
---|
| 3908 | ã¡è§£é¤
|
---|
| 3909 | ãè¡ããã®ã§ããããï¼é«å解è½ã¿ã¤ãå²è¾¼ã¿ã®å²è¾¼ã¿åªå
|
---|
| 3910 | 度ã¯ï¼å²è¾¼ã¿ã®ä¸
|
---|
| 3911 | ã§æä½ã®åªå
|
---|
| 3912 | 度ã§ååã§ããï¼ãã ãï¼å¨æãã³ãã©ãã¢ã©ã¼ã ãã³ãã©ã®å®
|
---|
| 3913 | è¡éå§é
|
---|
| 3914 | ããåé¡ã«ãªãå ´åã«ã¯ï¼é«å解è½ã¿ã¤ãå²è¾¼ã¿ã®å²è¾¼ã¿åªå
|
---|
| 3915 | 度ãã
|
---|
| 3916 | ãé«ãå¤ã«è¨å®ãããï¼ããã§ï¼é«å解è½ã¿ã¤ãå²è¾¼ã¿ã®å²è¾¼ã¿åªå
|
---|
| 3917 | 度ãå¤æ´
|
---|
| 3918 | ããæ¹æ³ãï¼ã¿ã¼ã²ããä¾åé¨ã®ã¦ã¼ã¶ã¼ãºããã¥ã¢ã«ã«è¨è¼ãã¹ãã§ããï¼
|
---|
| 3919 |
|
---|
| 3920 | 6.13.2 é«å解è½ã¿ã¤ãã®æä½ã¨å²è¾¼ã¿å¦ç
|
---|
| 3921 |
|
---|
| 3922 | é«å解è½ã¿ã¤ããã©ã¤ããæä¾ããæ½è±¡åãããé«å解è½ã¿ã¤ãã¯ï¼0ããï¼1
|
---|
| 3923 | ãã¤ã¯ãç§ã«1ã®ãã¼ã¹ã§ã«ã¦ã³ãã¢ãããï¼ã¿ã¤ãå¨æã«éããã0ã«æ»ãã
|
---|
| 3924 | ã®ã¨ããï¼1ãã¤ã¯ãç§ã«1ã®ãã¼ã¹ã§ã«ã¦ã³ãã¢ããããã°ï¼1ãã¤é£ç¶ãã¦ã«
|
---|
| 3925 | ã¦ã³ãã¢ããããªãã¦ãããï¼ä¾ãã°ï¼2ãã¤ã¯ãç§æ¯ã«2ãã¤ã«ã¦ã³ãã¢ãã
|
---|
| 3926 | ãã¦ãè¯ãï¼ï¼ã¿ã¤ãå¨æã¯ã¿ã¼ã²ããä¾åã§ãããï¼2^32以ä¸ã§ãããã®ã¨
|
---|
| 3927 | ããï¼
|
---|
| 3928 |
|
---|
| 3929 | (6-13-2-1) void target_hrt_initialize(intptr_t exinf)
|
---|
| 3930 |
|
---|
| 3931 | é«å解è½ã¿ã¤ããåæåãï¼é«å解è½ã¿ã¤ãã®åä½ãéå§ãããï¼
|
---|
| 3932 |
|
---|
| 3933 | ãã®é¢æ°ã¯ï¼target_timer.cfgä¸ã«è¨è¿°ããéçAPIã«ããï¼åæåã«ã¼ãã³ã¨
|
---|
| 3934 | ãã¦ã«ã¼ãã«ã«ç»é²ããï¼ãã®ããï¼é¢æ°åãå¤æ´ãã¦ãå·®ãæ¯ããªãï¼
|
---|
| 3935 |
|
---|
| 3936 | (6-13-2-2) void target_hrt_terminate(intptr_t exinf)
|
---|
| 3937 |
|
---|
| 3938 | é«å解è½ã¿ã¤ãã®åä½ãåæ¢ããï¼é«å解è½ã¿ã¤ãå²è¾¼ã¿ãçºçããªãããã«
|
---|
| 3939 | ããï¼
|
---|
| 3940 |
|
---|
| 3941 | ãã®é¢æ°ã¯ï¼target_timer.cfgä¸ã«è¨è¿°ããéçAPIã«ããï¼çµäºå¦çã«ã¼ãã³
|
---|
| 3942 | ã¨ãã¦ã«ã¼ãã«ã«ç»é²ããï¼ãã®ããï¼é¢æ°åãå¤æ´ãã¦ãå·®ãæ¯ããªãï¼
|
---|
| 3943 |
|
---|
| 3944 | (6-13-2-3) HRTCNT target_hrt_get_current(void)
|
---|
| 3945 |
|
---|
| 3946 | é«å解è½ã¿ã¤ãã®ç¾å¨å¤ãè¿ãï¼
|
---|
| 3947 |
|
---|
| 3948 | (6-13-2-4) void target_hrt_set_event(HRTCNT hrtcnt)
|
---|
| 3949 |
|
---|
| 3950 | é«å解è½ã¿ã¤ããï¼hrtcntã§æå®ããå¤ã«ã¦ã³ãã¢ãããããå²è¾¼ã¿ãçºçã
|
---|
| 3951 | ããããã«è¨å®ããï¼å²è¾¼ã¿ãçºçãããã¿ã¤ãã³ã°ããã§ã«è¨å®ããã¦ãã
|
---|
| 3952 | å ´åã¯ï¼ããã¾ã§ã«è¨å®ããã¦ããã¿ã¤ãã³ã°ã¯ãã£ã³ã»ã«ããï¼hrtcntã«0ã
|
---|
| 3953 | 渡ããããã¨ã¯ãªãï¼ãã®ãããªå ´åã«ã¯ï¼target_hrt_raise_eventãå¼ã°ã
|
---|
| 3954 | ãï¼ï¼
|
---|
| 3955 |
|
---|
| 3956 | é«å解è½ã¿ã¤ãã®ã«ã¦ã³ãå¤ã1ãã¤é£ç¶ãã¦ã«ã¦ã³ãã¢ããããªãå ´åã«ã¯ï¼
|
---|
| 3957 | å²è¾¼ã¿ãçºçãããã¿ã¤ãã³ã°ãé
|
---|
| 3958 | ãæ¹ã«ä¸¸ããï¼
|
---|
| 3959 |
|
---|
| 3960 | (6-13-2-5) void target_hrt_raise_event(void)
|
---|
| 3961 |
|
---|
| 3962 | é«å解è½ã¿ã¤ãå²è¾¼ã¿ãå³åº§ã«çºçãããï¼ãã¼ãã¦ã§ã¢ã®æ©è½çã«ãããå®
|
---|
| 3963 | ç¾ã§ããªãå ´åã«ã¯ï¼æå°ã®ã«ã¦ã³ãã¢ããå¤ã§å²è¾¼ã¿ãçºçãããæ¹æ³ï¼è¨
|
---|
| 3964 | ãæããã¨ãtarget_hrt_set_event(1U)ãã§å®ç¾ãã¦ãããï¼
|
---|
| 3965 |
|
---|
| 3966 | (6-13-2-6) HRTCNT_BOUND
|
---|
| 3967 |
|
---|
| 3968 | é«å解è½ã¿ã¤ãã«è¨å®ããã«ã¦ã³ãã¢ããå¤ã®ä¸éå¤ãï¼ãã®ãã¯ãã«å®ç¾©ã
|
---|
| 3969 | ãï¼HRTCNT_BOUNDã¯ï¼é«å解è½ã¿ã¤ãã®ã¿ã¤ãå¨æï¼TCYC_HRTCNTï¼ããã¿ã¤ã
|
---|
| 3970 | å²è¾¼ã¿ã®é
|
---|
| 3971 | 延æéãããé·ãå¤ãæ¸ããå¤ã«å®ç¾©ããï¼ã«ã¼ãã«ã®å®è£
|
---|
| 3972 | ä¸ã®é½
|
---|
| 3973 | åã«ããï¼HRTCNT_BOUNDã¯ï¼4,294,000,000æªæºã®å¤ã«è¨å®ããªããã°ãªããªãï¼
|
---|
| 3974 |
|
---|
| 3975 | HRTCNT_BOUNDãè¨ãã¦ããçç±ã¯ï¼é«å解è½ã¿ã¤ããã¿ã¤ãå¨æã®ããããã§
|
---|
| 3976 | å²è¾¼ã¿ããããããã«è¨å®ããå ´åï¼å²è¾¼ã¿ãã³ãã©å
|
---|
| 3977 | ã§é«å解è½ã¿ã¤ããèª
|
---|
| 3978 | ãã æç¹ã§ã¿ã¤ãå¨æãè¶ãã¦ããï¼é«å解è½ã¿ã¤ããå¨åãããã¨ãè¦è½ã¨
|
---|
| 3979 | ãå¯è½æ§ãããããã§ããï¼
|
---|
| 3980 |
|
---|
| 3981 | (6-13-2-7) void target_hrt_handler(void)
|
---|
| 3982 | ã¾ã㯠void target_hrt_isr(intptr_t exinf)
|
---|
| 3983 |
|
---|
| 3984 | é«å解è½ã¿ã¤ãå²è¾¼ã¿ã«ããèµ·åãããå²è¾¼ã¿å¦çããã°ã©ã ï¼å²è¾¼ã¿ãã³ã
|
---|
| 3985 | ã©ã¨ãã¦å®ç¾ããå ´åã«ã¯target_hrt_handlerï¼å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ã¨ã
|
---|
| 3986 | ã¦å®ç¾ããå ´åã«ã¯target_hrt_isrã®å称ã¨ããï¼ã¿ã¼ã²ããéä¾åé¨ã®
|
---|
| 3987 | signal_timeãå¼ã³åºãï¼
|
---|
| 3988 |
|
---|
| 3989 | target_hrt_handlerã¯ï¼æ¨æºçã«ã¯æ¬¡ã®ããã«å®ç¾©ããï¼
|
---|
| 3990 |
|
---|
| 3991 | ----------------------------------------
|
---|
| 3992 | void
|
---|
| 3993 | target_hrt_handler(void)
|
---|
| 3994 | {
|
---|
| 3995 | é«å解è½ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢ï¼å¿
|
---|
| 3996 | è¦ãªãï¼
|
---|
| 3997 | signal_time();
|
---|
| 3998 | }
|
---|
| 3999 | ----------------------------------------
|
---|
| 4000 |
|
---|
| 4001 | ãã®é¢æ°ã¯ï¼target_timer.cfgä¸ã«è¨è¿°ããéçAPIã«ããï¼å²è¾¼ã¿ãã³ãã©ã¾
|
---|
| 4002 | ãã¯å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ã¨ãã¦ã«ã¼ãã«ã«ç»é²ããï¼ãã®ããï¼é¢æ°åã
|
---|
| 4003 | å¤æ´ãã¦ãå·®ãæ¯ããªãï¼
|
---|
| 4004 |
|
---|
| 4005 | 6.13.3 é«å解è½ã¿ã¤ããã©ã¤ãã®å®è£
|
---|
| 4006 | ã¢ããã¼ã
|
---|
| 4007 |
|
---|
| 4008 | é«å解è½ã¿ã¤ããã©ã¤ãã¯ï¼ãã¼ãã¦ã§ã¢ã§é«æ©è½ãªã¿ã¤ããæã£ã¦ããå ´å
|
---|
| 4009 | ã«ã¯ï¼1ã¤ã®ã¿ã¤ãã ãã§å®è£
|
---|
| 4010 | ã§ããå¯è½æ§ãããï¼ã¿ã¤ãã®æ©è½ã«ããï¼ãï¼
|
---|
| 4011 | ããã§ãªãå ´åã«ã¯ï¼ã¿ã¤ãã2ã¤ä½¿ã£ã¦å®è£
|
---|
| 4012 | ãããã¨ãæ³å®ãã¦ããï¼
|
---|
| 4013 |
|
---|
| 4014 | å
|
---|
| 4015 | ·ä½çã«ã¯ï¼çæ¹ã®ã¿ã¤ãï¼ä»¥ä¸ï¼ãããã¿ã¤ã1ã¨å¼ã¶ï¼ã¯ï¼ç¡éã«ã«ã¦ã³ã
|
---|
| 4016 | ããï¼å¿
|
---|
| 4017 | ç¶çã«å·¡åããï¼ï¼é«å解è½ã¿ã¤ãã®ç¾å¨å¤ãè¿ãã®ã«ç¨ãï¼ããç
|
---|
| 4018 | æ¹ã®ã¿ã¤ãï¼ä»¥ä¸ï¼ãããã¿ã¤ã2ã¨å¼ã¶ï¼ã¯ï¼å²è¾¼ã¿ãçºçãããããã«ç¨ã
|
---|
| 4019 | ãï¼
|
---|
| 4020 |
|
---|
| 4021 | ãã®æï¼2ã¤ã®ã¿ã¤ããå
|
---|
| 4022 | ¨ãåãã¿ã¤ãã³ã°ã§ã«ã¦ã³ãã¢ããï¼ã¾ãã¯ã«ã¦ã³ã
|
---|
| 4023 | ãã¦ã³ï¼ãã¦ããã°åé¡ãªããï¼å®éã«ã¯ï¼2ã¤ã®ã¿ã¤ãã«å¥ã
|
---|
| 4024 | ã«ããªã¹ã±ã¼ã©
|
---|
| 4025 | ãå
|
---|
| 4026 | ¥ã£ã¦ããå ´åãï¼2ã¤ã®ã¿ã¤ããå¥ã®ã¯ããã¯ã§é§åããå ´åã«ã¯ï¼ã«ã¦ã³
|
---|
| 4027 | ãã¢ããã®ã¿ã¤ãã³ã°ãããããã¨ãèããããï¼ãã®ãããªå ´åã«ã¯ï¼ä»¥ä¸
|
---|
| 4028 | ã®å¶ç´ãæºããããã«å®è£
|
---|
| 4029 | ãããã¨ãå¿
|
---|
| 4030 | è¦ã§ããï¼
|
---|
| 4031 |
|
---|
| 4032 | target_hrt_get_current()ã§ã¿ã¤ãå¤ãèªã¿ï¼target_hrt_set_event(count)ã«
|
---|
| 4033 | ããã¿ã¤ãå²è¾¼ã¿ãçºçãããå¾ï¼target_hrt_get_current()ã§ã¿ã¤ãå¤ãèª
|
---|
| 4034 | ãã å ´åã«ã¯ï¼2åã®target_hrt_get_current()ã®å¼ã³åºãã®éã«ï¼ã¿ã¤ãå¤ã
|
---|
| 4035 | count以ä¸é²ãã§ããªããã°ãªããªãï¼
|
---|
| 4036 |
|
---|
| 4037 | ããå³å¯ã«ã¯ï¼ä»¥ä¸ã®ã·ã¼ã±ã³ã¹ã§é«å解è½ã¿ã¤ããã©ã¤ããå¼ã³åºããå ´å
|
---|
| 4038 | ã«ï¼(count2 - count1 >= count)ãæºãããªããã°ãªããªãï¼
|
---|
| 4039 |
|
---|
| 4040 | count1 = target_hrt_get_current();
|
---|
| 4041 | target_hrt_set_event(count);
|
---|
| 4042 | ⦠ããã§æéãçµé â¦
|
---|
| 4043 | å²è¾¼ã¿ãçºç
|
---|
| 4044 | count2 = target_hrt_get_current();
|
---|
| 4045 |
|
---|
| 4046 | ç´ ç´ã«å®è£
|
---|
| 4047 | ããã¨ãã®æ¡ä»¶ãæºãããªãå ´åã«ã¯ï¼target_hrt_set_eventã§å²
|
---|
| 4048 | è¾¼ã¿ãçºçãããã¿ã¤ãã³ã°ãé
|
---|
| 4049 | ãæ¹ã«èª¿æ´ããï¼
|
---|
| 4050 |
|
---|
| 4051 | 6.13.4 ã¿ã¤ã ãã£ãã¯ãç¨ããã¿ã¤ããã©ã¤ãã®å®è£
|
---|
| 4052 |
|
---|
| 4053 |
|
---|
| 4054 | ASP1ã«ã¼ãã«ã¨åæ§ã«ï¼ã¿ã¤ã ãã£ãã¯ã«ããæé管çãè¡ãããå ´åã«ï¼é«
|
---|
| 4055 | å解è½ã¿ã¤ããã©ã¤ããã¿ã¤ã ãã£ãã¯ãç¨ãã¦å®è£
|
---|
| 4056 | ãããã¨ã§ï¼ã¿ã¼ã²ãã
|
---|
| 4057 | ä¾åé¨ã®ã¿ã®ä¿®æ£ã§å¯¾å¿ãããã¨ãã§ããï¼ãã ãï¼ãã®æ¹æ³ã¯ï¼ã«ã¼ãã«ã®
|
---|
| 4058 | æé管çæ©è½ã«æãå ããããã§ã¯ãªãããï¼ã«ã¼ãã«ãä¸å¿
|
---|
| 4059 | è¦ãªä»äºããã¦
|
---|
| 4060 | ãã¾ããã¨ã¯è¨±å®¹ããå¿
|
---|
| 4061 | è¦ãããï¼
|
---|
| 4062 |
|
---|
| 4063 | ã¿ã¤ã ãã£ãã¯ãç¨ãã¦é«å解è½ã¿ã¤ããã©ã¤ããå®è£
|
---|
| 4064 | ããå ´åã«ã¯ï¼åãã¯
|
---|
| 4065 | ãããã³é¢æ°ã次ã®ããã«å®è£
|
---|
| 4066 | ããï¼
|
---|
| 4067 |
|
---|
| 4068 | ã»TCYC_HRTCNTï¼é«å解è½ã¿ã¤ãã®ã¿ã¤ãå¨æï¼ã¯å®ç¾©ããªãï¼ã¿ã¤ãå¨æã
|
---|
| 4069 | ã2^32ã®æå³ã«ãªãï¼ï¼
|
---|
| 4070 | ã»TSTEP_HRTCNTï¼é«å解è½ã¿ã¤ãã®ã«ã¦ã³ãå¤ã®é²ã¿å¹
|
---|
| 4071 | ï¼ãï¼ã¿ã¤ã ãã£ãã¯
|
---|
| 4072 | ãã®å¨æã«å®ç¾©ããï¼åä½ã¯ãã¤ã¯ãç§ï¼ï¼
|
---|
| 4073 | ã»é«å解è½ã¿ã¤ãã®ç¾æç¹ã®å¤ãä¿æããå¤æ°ï¼hrtcnt_currentï¼HRTCNTåï¼
|
---|
| 4074 | ããç¨æããï¼
|
---|
| 4075 | ã»target_hrt_initializeã§ã¯ï¼ã¿ã¤ããåæåãï¼ã¿ã¤ãå²è¾¼ã¿ãå¨æçã«çº
|
---|
| 4076 | ãçãããããã«ããï¼ã¾ãï¼hrtcnt_currentã0ã«åæåããï¼
|
---|
| 4077 | ã»target_hrt_terminateã§ã¯ï¼ã¿ã¤ãã®åä½ãåæ¢ããï¼ã¿ã¤ãå²è¾¼ã¿ãçºç
|
---|
| 4078 | ãããªãããã«ããï¼
|
---|
| 4079 | ã»target_hrt_get_currentã¯ï¼hrtcnt_currentã®å¤ãè¿ãï¼
|
---|
| 4080 | ã»target_hrt_set_eventã¨target_hrt_raise_eventã§ã¯ä½ãããªãï¼
|
---|
| 4081 | ã»HRTCNT_BOUNDã¯ï¼4000000002ã«å®ç¾©ãããã¨ãæ¨å¥¨ããï¼
|
---|
| 4082 | ã»target_hrt_handlerã¾ãã¯target_hrt_isrã¯ï¼ï¼å¿
|
---|
| 4083 | è¦ãªãï¼ã¿ã¤ãå²è¾¼ã¿è¦
|
---|
| 4084 | ãæ±ãã¯ãªã¢ãï¼hrtcnt_currentã«ã¿ã¤ã ãã£ãã¯ã®å¨æãå ããå¾ï¼ã¿ã¼ã²ã
|
---|
| 4085 | ããéä¾åé¨ã®signal_timeãå¼ã³åºãï¼
|
---|
| 4086 |
|
---|
| 4087 | 6.14 ãªã¼ãã©ã³ã¿ã¤ããã©ã¤ãï¼ãªãã·ã§ã³ï¼
|
---|
| 4088 |
|
---|
| 4089 | ãªã¼ãã©ã³ã¿ã¤ããã©ã¤ãã¯ï¼ã«ã¼ãã«ããªã¼ãã©ã³ãã³ãã©æ©è½ã®å®ç¾ã«ç¨
|
---|
| 4090 | ããããã®ãªã¼ãã©ã³ã¿ã¤ããæ½è±¡åããããã®ããã¤ã¹ãã©ã¤ãã§ããï¼ãªã¼
|
---|
| 4091 | ãã©ã³ãã³ãã©æ©è½æ¡å¼µããã±ã¼ã¸ããµãã¼ãããªãå ´åã«ã¯ï¼ãªã¼ãã©ã³ã¿
|
---|
| 4092 | ã¤ããã©ã¤ããç¨æããå¿
|
---|
| 4093 | è¦ã¯ãªãï¼
|
---|
| 4094 |
|
---|
| 4095 | 6.14.1 ãªã¼ãã©ã³ã¿ã¤ããã©ã¤ãã®ãã¡ã¤ã«æ§æ
|
---|
| 4096 |
|
---|
| 4097 | ãªã¼ãã©ã³ã¿ã¤ããã©ã¤ãã¯ï¼é«å解è½ã¿ã¤ããã©ã¤ãã¨åããã¡ã¤ã«ã®ä¸ã«
|
---|
| 4098 | è¨è¿°ãã¦ãï¼å¥ã®ãã¡ã¤ã«ãç¨æãã¦è¨è¿°ãã¦ãããï¼ãããã®å ´åãï¼ãªã¼
|
---|
| 4099 | ãã©ã³ã¿ã¤ããã©ã¤ãã®ããã®è¨è¿°ã¯ï¼TOPPERS_SUPPORT_OVRHDRããã¯ãå®ç¾©
|
---|
| 4100 | ããã¦ããå ´åã«ã®ã¿æå¹ã«ãªãããã«ããï¼
|
---|
| 4101 |
|
---|
| 4102 | å
|
---|
| 4103 | ·ä½çã«ã¯ï¼ãªã¼ãã©ã³ã¿ã¤ããã©ã¤ããçµã¿è¾¼ãããã®ã·ã¹ãã ã³ã³ãã£ã®ã¥
|
---|
| 4104 | ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ï¼target_timer.cfgã®ä¸ã«è¨è¿°ãã¦ãããï¼ã«ã¯ï¼ãªã¼ã
|
---|
| 4105 | ã©ã³ã¿ã¤ããã©ã¤ããåæåããããã®åæåã«ã¼ãã³ã®è¿½å ï¼ãªã¼ãã©ã³ã¿
|
---|
| 4106 | ã¤ããã©ã¤ããçµäºãããããã®çµäºå¦çã«ã¼ãã³ã®è¿½å ï¼ãªã¼ãã©ã³ã¿ã¤ã
|
---|
| 4107 | å²è¾¼ã¿ã®ããã®å²è¾¼ã¿ãã³ãã©ã®å®ç¾©ï¼ã¾ãã¯ï¼å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ã®ç
|
---|
| 4108 | æï¼ï¼ãªã¼ãã©ã³ã¿ã¤ãå²è¾¼ã¿ã®ããã®å²è¾¼ã¿è¦æ±ã©ã¤ã³ã®å±æ§ã®è¨å®ã®éç
|
---|
| 4109 | APIãªã©ãå«ããã¨ã«ãªãï¼
|
---|
| 4110 |
|
---|
| 4111 | ã¾ãï¼ãªã¼ãã©ã³ã¿ã¤ããã©ã¤ããå¼ã³åºãããã«å¿
|
---|
| 4112 | è¦ãªå®ç¾©ãå«ãããããã¡
|
---|
| 4113 | ã¤ã«ï¼target_timer.hã®ä¸ã«è¨è¿°ãã¦ãããï¼ã¨ï¼ãªã¼ãã©ã³ã¿ã¤ããã©ã¤ã
|
---|
| 4114 | ã®å®è£
|
---|
| 4115 | ãå«ããã¡ã¤ã«ï¼target_timer.cã®ä¸ã«è¨è¿°ãã¦ãããï¼ãç¨æããï¼
|
---|
| 4116 |
|
---|
| 4117 | ãªã¼ãã©ã³ãã³ãã©ã¯ï¼ã¿ã¹ã¯ã®ãªã¼ãã©ã³ã«å¯¾ããå¦çãè¡ããã®ã§ããã
|
---|
| 4118 | ãï¼ãªã¼ãã©ã³ã¿ã¤ãå²è¾¼ã¿ã®å²è¾¼ã¿åªå
|
---|
| 4119 | 度ã¯ï¼å²è¾¼ã¿ã®ä¸ã§æä½ã®åªå
|
---|
| 4120 | 度ã§
|
---|
| 4121 | ååã§ããï¼ãã ãï¼ãªã¼ãã©ã³ã¿ã¤ãå²è¾¼ã¿ã®å²è¾¼ã¿åªå
|
---|
| 4122 | 度ãããé«ãå¤ã«
|
---|
| 4123 | è¨å®ãããå ´åããªãã¨ã¯è¨ããªãããï¼ãªã¼ãã©ã³ã¿ã¤ãå²è¾¼ã¿ã®å²è¾¼ã¿åª
|
---|
| 4124 | å
|
---|
| 4125 | 度ãå¤æ´ããæ¹æ³ãï¼ã¿ã¼ã²ããä¾åé¨ã®ã¦ã¼ã¶ã¼ãºããã¥ã¢ã«ã«è¨è¼ãã¹
|
---|
| 4126 | ãã§ããï¼
|
---|
| 4127 |
|
---|
| 4128 | 6.14.2 ãªã¼ãã©ã³ã¿ã¤ãã®æä½ã¨å²è¾¼ã¿å¦ç
|
---|
| 4129 |
|
---|
| 4130 | (6-14-2-1) void target_ovrtimer_initialize(intptr_t exinf)
|
---|
| 4131 |
|
---|
| 4132 | ãªã¼ãã©ã³ã¿ã¤ãã®åæåå¦çãè¡ãï¼ã¿ã¤ãã®åä½éå§ã¯è¡ããªãï¼
|
---|
| 4133 |
|
---|
| 4134 | ãã®é¢æ°ã¯ï¼target_timer.cfgä¸ã«è¨è¿°ããéçAPIã«ããï¼åæåã«ã¼ãã³ã¨
|
---|
| 4135 | ãã¦ã«ã¼ãã«ã«ç»é²ããï¼ãã®ããï¼é¢æ°åãå¤æ´ãã¦ãå·®ãæ¯ããªãï¼
|
---|
| 4136 |
|
---|
| 4137 | (6-14-2-2) void target_ovrtimer_terminate(intptr_t exinf)
|
---|
| 4138 |
|
---|
| 4139 | ãªã¼ãã©ã³ã¿ã¤ããåæ¢ããï¼ãªã¼ãã©ã³ã¿ã¤ãå²è¾¼ã¿ãçºçããªãããã«ã
|
---|
| 4140 | ãï¼
|
---|
| 4141 |
|
---|
| 4142 | ãã®é¢æ°ã¯ï¼target_timer.cfgä¸ã«è¨è¿°ããéçAPIã«ããï¼çµäºå¦çã«ã¼ãã³
|
---|
| 4143 | ã¨ãã¦ã«ã¼ãã«ã«ç»é²ããï¼ãã®ããï¼é¢æ°åãå¤æ´ãã¦ãå·®ãæ¯ããªãï¼
|
---|
| 4144 |
|
---|
| 4145 | (6-14-2-3) void target_ovrtimer_start(PRCTIM ovrtim)
|
---|
| 4146 |
|
---|
| 4147 | ãªã¼ãã©ã³ã¿ã¤ããï¼ovrtimã§æå®ããæéãçµéãããå²è¾¼ã¿ãçºçããã
|
---|
| 4148 | ãã«è¨å®ãï¼åä½éå§ããï¼ovrtimã0ã®å ´åã¯ï¼ã§ããéãæ©ããªã¼ãã©ã³ã¿
|
---|
| 4149 | ã¤ãå²è¾¼ã¿ãçºçãããï¼ovrtimã®åä½ã¯ãã¤ã¯ãç§ã¨ããï¼
|
---|
| 4150 |
|
---|
| 4151 | (6-14-2-4) PRCTIM target_ovrtimer_stop(void)
|
---|
| 4152 |
|
---|
| 4153 | ãªã¼ãã©ã³ã¿ã¤ããåæ¢ãï¼ã¿ã¤ãã®æ®ãæéï¼å²è¾¼ã¿çºçã¾ã§ã®æéï¼ãè¿
|
---|
| 4154 | ãï¼æ®ãæéããªããªã£ã¦ããå ´åã«ã¯ï¼0ãè¿ãï¼ã¾ãï¼ãªã¼ãã©ã³ã¿ã¤ãã
|
---|
| 4155 | ãã®å²è¾¼ã¿è¦æ±ãã¯ãªã¢ããï¼ã¯ãªã¢ããªãã¨ã¹ããªã¢ã¹å²è¾¼ã¿ãçºçãããï¼
|
---|
| 4156 | ã¯ãªã¢ãããã¨ã¯å¿
|
---|
| 4157 | é ã§ã¯ãªãï¼ï¼
|
---|
| 4158 |
|
---|
| 4159 | (6-14-2-5) PRCTIM target_ovrtimer_get_current(void)
|
---|
| 4160 |
|
---|
| 4161 | ãªã¼ãã©ã³ã¿ã¤ãã®æ®ãæéï¼å²è¾¼ã¿çºçã¾ã§ã®æéï¼ãèªã¿åºãï¼æ®ãæé
|
---|
| 4162 | ããªããªã£ã¦ããå ´åã«ã¯ï¼0ãè¿ãï¼ãªã¼ãã©ã³ã¿ã¤ãããã®å²è¾¼ã¿ã¯ã¯ãªã¢
|
---|
| 4163 | ããªãï¼
|
---|
| 4164 |
|
---|
| 4165 | (6-14-2-6) void target_ovrtimer_handler(void)
|
---|
| 4166 | ã¾ã㯠void target_ovrtimer_isr(intptr_t exinf)
|
---|
| 4167 |
|
---|
| 4168 | ãªã¼ãã©ã³ã¿ã¤ãå²è¾¼ã¿ã«ããèµ·åãããå²è¾¼ã¿å¦çããã°ã©ã ï¼å²è¾¼ã¿ãã³
|
---|
| 4169 | ãã©ã¨ãã¦å®ç¾ããå ´åã«ã¯target_ovrtimer_handlerï¼å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ã
|
---|
| 4170 | ã³ã¨ãã¦å®ç¾ããå ´åã«ã¯target_ovrtimer_isrã®å称ã¨ããï¼ã¿ã¼ã²ããéä¾
|
---|
| 4171 | åé¨ã®call_ovrhdrãå¼ã³åºãï¼
|
---|
| 4172 |
|
---|
| 4173 | target_ovrtimer_handlerã¯ï¼æ¨æºçã«ã¯æ¬¡ã®ããã«å®ç¾©ããï¼
|
---|
| 4174 |
|
---|
| 4175 | ----------------------------------------
|
---|
| 4176 | void
|
---|
| 4177 | target_ovrtimer_handler(void)
|
---|
| 4178 | {
|
---|
| 4179 | ãªã¼ãã©ã³ã¿ã¤ãå²è¾¼ã¿è¦æ±ã®ã¯ãªã¢ï¼å¿
|
---|
| 4180 | è¦ãªãï¼
|
---|
| 4181 | call_ovrhdr();
|
---|
| 4182 | }
|
---|
| 4183 | ----------------------------------------
|
---|
| 4184 |
|
---|
| 4185 | ãã®é¢æ°ã¯ï¼target_timer.cfgä¸ã«è¨è¿°ããéçAPIã«ããï¼å²è¾¼ã¿ãã³ãã©ã¾
|
---|
| 4186 | ãã¯å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ã¨ãã¦ã«ã¼ãã«ã«ç»é²ããï¼ãã®ããï¼é¢æ°åã
|
---|
| 4187 | å¤æ´ãã¦ãå·®ãæ¯ããªãï¼
|
---|
| 4188 |
|
---|
| 4189 | (6-14-2-7) OMIT_OVRTIMER_STARTï¼ãªãã·ã§ã³ï¼
|
---|
| 4190 | (6-14-2-8) OMIT_OVRTIMER_STOPï¼ãªãã·ã§ã³ï¼
|
---|
| 4191 |
|
---|
| 4192 | ã¿ã¼ã²ããä¾åé¨ããå¼ã³åºãovrtimer_startã¨ovrtimer_stopãï¼ã¢ã»ã³ããª
|
---|
| 4193 | è¨èªã®ã½ã¼ã¹ã³ã¼ãä¸ã«å±éãï¼Cè¨èªã®é¢æ°ãä¸è¦ã«ãªãå ´åã«ã¯ï¼ããããï¼
|
---|
| 4194 | OMIT_OVRTIMER_STARTã¨OMIT_OVRTIMER_STOPããã¯ãå®ç¾©ããï¼
|
---|
| 4195 |
|
---|
| 4196 | 6.15 åçã¡ã¢ãªç®¡çï¼ãªãã·ã§ã³ï¼
|
---|
| 4197 |
|
---|
| 4198 | åççææ©è½æ¡å¼µããã±ã¼ã¸ã使ç¨ããå ´åã«ã¯ï¼ã«ã¼ãã«å
|
---|
| 4199 | ã§ã®åçã¡ã¢ãª
|
---|
| 4200 | 管çã®æ¹æ³ã決ããå¿
|
---|
| 4201 | è¦ãããï¼
|
---|
| 4202 |
|
---|
| 4203 | åççææ©è½æ¡å¼µããã±ã¼ã¸ã®ã¿ã¼ã²ããéä¾åé¨ã§ã¯ï¼ã¡ã¢ãªé åãå
|
---|
| 4204 | é ã
|
---|
| 4205 | ãé ã«å²ãå½ã¦ï¼è§£æ¾ãããã¡ã¢ãªé åãåå©ç¨ããªãã¡ã¢ãªç®¡çã¢ã¸ã¥ã¼ã«
|
---|
| 4206 | ã®ã¿ãå®è£
|
---|
| 4207 | ãã¦ããï¼ããã©ã«ãã§ã¯ï¼ãã®ã¡ã¢ãªç®¡çã¢ã¸ã¥ã¼ã«ã使ç¨ãã
|
---|
| 4208 | ãï¼
|
---|
| 4209 |
|
---|
| 4210 | æ¬æ ¼çãªåçã¡ã¢ãªç®¡çãè¡ãããå ´åã«ã¯ï¼ã¿ã¼ã²ããä¾åé¨ã¾ãã¯ã¦ã¼ã¶
|
---|
| 4211 | å´ã§ï¼ä»¥ä¸ã®é¢æ°ãå®ç¾©ããã¡ã¢ãªç®¡çã¢ã¸ã¥ã¼ã«ãç¨æããå¿
|
---|
| 4212 | è¦ãããï¼
|
---|
| 4213 |
|
---|
| 4214 | (6-15-1) OMIT_KMM_ALLOCONLYï¼ãªãã·ã§ã³ï¼
|
---|
| 4215 |
|
---|
| 4216 | ã¿ã¼ã²ããéä¾åé¨ã®ã¡ã¢ãªç®¡çã¢ã¸ã¥ã¼ã«ã使ç¨ããï¼ã¿ã¼ã²ããä¾åé¨ã¾
|
---|
| 4217 | ãã¯ã¦ã¼ã¶å´ã§ç¨æããå ´åã«ã¯ï¼ãã®ã·ã³ãã«ããã¯ãå®ç¾©ããï¼
|
---|
| 4218 |
|
---|
| 4219 | (6-15-2) void initialize_kmm(void)ï¼ãªãã·ã§ã³ï¼
|
---|
| 4220 |
|
---|
| 4221 | ã¡ã¢ãªç®¡çã¢ã¸ã¥ã¼ã«ãåæåããé¢æ°ï¼ã«ã¼ãã«ã®å²ãä»ããã¡ã¢ãªé åã®
|
---|
| 4222 | ãµã¤ãºã¨å
|
---|
| 4223 | é çªå°ã¯ï¼ããããkmmszã¨kmmã«ãã£ã¦åç
|
---|
| 4224 | §ã§ããï¼
|
---|
| 4225 |
|
---|
| 4226 | (6-15-3) void *kernel_malloc(size_t size)ï¼ãªãã·ã§ã³ï¼
|
---|
| 4227 |
|
---|
| 4228 | sizeã§æå®ããããµã¤ãºã®ã¡ã¢ãªé åãå²ãä»ãï¼ãã®å
|
---|
| 4229 | é çªå°ãè¿ãé¢æ°ï¼
|
---|
| 4230 | å²ãä»ãããã¨ãã§ããªãå ´åã«ã¯ï¼NULLãè¿ãï¼
|
---|
| 4231 |
|
---|
| 4232 | (6-15-4) void kernel_free(void *ptr)ï¼ãªãã·ã§ã³ï¼
|
---|
| 4233 |
|
---|
| 4234 | ptrã§æå®ãããã¡ã¢ãªé åã解æ¾ããé¢æ°ï¼
|
---|
| 4235 |
|
---|
| 4236 | 6.15.1 TLSFãç¨ããã¡ã¢ãªç®¡çã¢ã¸ã¥ã¼ã«ã®ä¾
|
---|
| 4237 |
|
---|
| 4238 | ãªã¼ãã³ã½ã¼ã¹ã®ã¡ã¢ãªå²ä»ãã©ã¤ãã©ãªã§ããTLSFãç¨ãã¦åçã¡ã¢ãªç®¡ç
|
---|
| 4239 | ãå®ç¾ããã«ã¯ï¼OMIT_KMM_ALLOCONLYããã¯ãå®ç¾©ãï¼ä»¥ä¸ã®é¢æ°å®ç¾©çãCè¨
|
---|
| 4240 | èªã½ã¼ã¹ãã¡ã¤ã«ã«å«ããã°ããï¼
|
---|
| 4241 |
|
---|
| 4242 | ----------------------------------------
|
---|
| 4243 | #include "tlsf.h"
|
---|
| 4244 |
|
---|
| 4245 | static bool_t tlsf_initialized = false;
|
---|
| 4246 |
|
---|
| 4247 | void
|
---|
| 4248 | initialize_kmm(void)
|
---|
| 4249 | {
|
---|
| 4250 | if (init_memory_pool(kmmsz, kmm) >= 0) {
|
---|
| 4251 | tlsf_initialized = true;
|
---|
| 4252 | }
|
---|
| 4253 | }
|
---|
| 4254 |
|
---|
| 4255 | void *
|
---|
| 4256 | kernel_malloc(size_t size)
|
---|
| 4257 | {
|
---|
| 4258 | if (tlsf_initialized) {
|
---|
| 4259 | return(malloc_ex(size, kmm));
|
---|
| 4260 | }
|
---|
| 4261 | else {
|
---|
| 4262 | return(NULL);
|
---|
| 4263 | }
|
---|
| 4264 | }
|
---|
| 4265 |
|
---|
| 4266 | void
|
---|
| 4267 | kernel_free(void *ptr)
|
---|
| 4268 | {
|
---|
| 4269 | if (tlsf_initialized) {
|
---|
| 4270 | free_ex(ptr, kmm);
|
---|
| 4271 | }
|
---|
| 4272 | }
|
---|
| 4273 | ----------------------------------------
|
---|
| 4274 |
|
---|
| 4275 | 6.16 ã«ã¼ãã«å®è£
|
---|
| 4276 | ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
|
---|
| 4277 |
|
---|
| 4278 | ã«ã¼ãã«å®è£
|
---|
| 4279 | ã«å¿
|
---|
| 4280 | è¦ãªéçAPIãå«ããã¡ã¤ã«ã¨ãã¦ï¼ã«ã¼ãã«å®è£
|
---|
| 4281 | ã®ã³ã³ãã£
|
---|
| 4282 | ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ï¼target_kernel.cfgï¼ãç¨æããï¼
|
---|
| 4283 |
|
---|
| 4284 | æ¨æºçãªã¿ã¼ã²ããä¾åé¨ã§ã¯ï¼target_kernel.cfgã«ã¯ï¼é«å解è½ã¿ã¤ããã©
|
---|
| 4285 | ã¤ããçµã¿è¾¼ãããã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ï¼target_timer.cfgï¼
|
---|
| 4286 | ã¨ãªã¼ãã©ã³ã¿ã¤ããã©ã¤ããçµã¿è¾¼ãããã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤
|
---|
| 4287 | ã«ï¼target_timer.cfgã«å«ã¾ãã¦ããå ´åãããï¼ã®ã¤ã³ã¯ã«ã¼ãè¨è¿°ã®ã¿ã
|
---|
| 4288 | å«ã¾ããï¼
|
---|
| 4289 |
|
---|
| 4290 |
|
---|
| 4291 | ï¼ï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã¿è¨å®ãã¡ã¤ã«ã®ã¿ã¼ã²ããä¾åé¨
|
---|
| 4292 |
|
---|
| 4293 | 7.1 è¨å®ãã¡ã¤ã«ã¨ã¿ã¼ã²ããä¾åé¨ã®ä½ç½®ä»ã
|
---|
| 4294 |
|
---|
| 4295 | ASP3ã«ã¼ãã«ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã¯ï¼è¨å®ãã¡ã¤ã«ã®è¨è¿°ã«å¾ã£ã¦ï¼ãã¡ã¤
|
---|
| 4296 | ã«ã®çæããã³ã¨ã©ã¼ãã§ãã¯ãè¡ãï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã®è¨å®ãã¡ã¤ã«ã«
|
---|
| 4297 | ã¯ï¼ä»¥ä¸ã®4ã¤ãããï¼
|
---|
| 4298 |
|
---|
| 4299 | (a) éçAPIãã¼ãã«
|
---|
| 4300 |
|
---|
| 4301 | éçAPIã®ä¸è¦§ã¨ï¼åéçAPIã®ãã©ã¡ã¼ã¿ã«é¢ããæ
|
---|
| 4302 | å ±ãè¨è¿°ãããã¡ã¤ã«ï¼
|
---|
| 4303 | éçAPIãæ¡å¼µããå ´å以å¤ã¯å¤æ´ããå¿
|
---|
| 4304 | è¦ããªãããï¼ã¿ã¼ã²ããéä¾åé¨ã§
|
---|
| 4305 | ç¨æãã¦ããï¼kernel/kernel_api.defï¼ï¼
|
---|
| 4306 |
|
---|
| 4307 | (b) å¤åå¾ã·ã³ãã«ãã¼ãã«
|
---|
| 4308 |
|
---|
| 4309 | ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã®ãã¹1ã«ããã¦ï¼ãã©ã¡ã¼ã¿è¨ç®ç¨Cè¨èªãã¡ã¤ã«ã«åºå
|
---|
| 4310 | ãï¼å¤ãæ±ãããã·ã³ãã«ï¼ä¸è¬ã«ã¯å¼ï¼ãè¨è¿°ããããã®ãã¡ã¤ã«ï¼ã¿ã¼ã²ã
|
---|
| 4311 | ãéä¾åé¨ã§ã¯ï¼ã¿ã¼ã²ããã«ä¾åããã«å¿
|
---|
| 4312 | è¦ã¨ãªãã·ã³ãã«ãè¨è¿°ãããã¡
|
---|
| 4313 | ã¤ã«ãç¨æãã¦ããï¼kernel/kernel_sym.defï¼ï¼
|
---|
| 4314 |
|
---|
| 4315 | ã¿ã¼ã²ããã«ä¾åãã¦å¿
|
---|
| 4316 | è¦ã¨ãªãã·ã³ãã«ãããå ´åã«ã¯ï¼targetãã£ã¬ã¯ã
|
---|
| 4317 | ãªã«ç½®ãããtarget_sym.defä¸ã«è¨è¿°ããï¼target_sym.defä¸ã«è¨è¿°ãã¦å¤ã
|
---|
| 4318 | æ±ãããã¨ãã§ããã·ã³ãã«ã¯ï¼kernel/kernel_int.hããã³ããããã¤ã³ã¯ã«ã¼
|
---|
| 4319 | ãããããã¡ã¤ã«ã§å®ç¾©ããã¦ããªããã°ãªããªãï¼kernel_int.hããã¯ï¼
|
---|
| 4320 | target_stddef.hï¼target_kernel.hï¼target_kernel_impl.hãï¼éæ¥çã«ï¼ã¤
|
---|
| 4321 | ã³ã¯ã«ã¼ããã¦ããããï¼ãããã®ãã¡ã¤ã«ããã³ããããã¤ã³ã¯ã«ã¼ããã
|
---|
| 4322 | ããã¡ã¤ã«ã§å®ç¾©ãããã¿ã¼ã²ããä¾åã®ã·ã³ãã«ã¯ï¼target_sym.defä¸ã«è¨
|
---|
| 4323 | è¿°ãããã¨ãã§ããï¼
|
---|
| 4324 |
|
---|
| 4325 | ããã§å¤ãæ±ããã·ã³ãã«ã®å¤ã¯ï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã®ãã¹2ï¼ãã¹3ããã³
|
---|
| 4326 | ãªãã»ããçæç¨ã®çæã¹ã¯ãªããä¸ã§ï¼ã°ãã¼ãã«å¤æ°ã¨ãã¦åç
|
---|
| 4327 | §ãããã¨
|
---|
| 4328 | ãã§ããï¼
|
---|
| 4329 |
|
---|
| 4330 | (c) ãã¹2ã®çæã¹ã¯ãªãã
|
---|
| 4331 |
|
---|
| 4332 | ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã®ãã¹2ã¯ï¼çæã¹ã¯ãªããã«ããï¼ã«ã¼ãã«ã®æ§æã»åæ
|
---|
| 4333 | åãã¡ã¤ã«ï¼kernel_cfg.cï¼ï¼æ§æã»åæåããããã¡ã¤ã«ï¼kernel_cfg.hï¼
|
---|
| 4334 | ãªã©ãçæããï¼ãã®çæã¹ã¯ãªããã¯ï¼ã¿ã¼ã²ããéä¾åé¨ã¨ã¿ã¼ã²ããä¾
|
---|
| 4335 | åé¨ã«åãåãã¦ãããï¼ä»ã®ãã¡ã¤ã«ã®ã¿ã¼ã²ããä¾åé¨ã¨ã¯éã«ï¼ã¿ã¼ã²ã
|
---|
| 4336 | ãä¾åé¨ããã¿ã¼ã²ããéä¾åé¨ãã¤ã³ã¯ã«ã¼ãããå½¢ã«ãªã£ã¦ããï¼
|
---|
| 4337 |
|
---|
| 4338 | å
|
---|
| 4339 | ·ä½çã«ã¯ï¼ã¿ã¼ã²ããä¾åé¨ãã£ã¬ã¯ããªã«ç½®ãããtarget_kernel.trbã§å¿
|
---|
| 4340 |
|
---|
| 4341 | è¦ãªå¤æ°ãå®ç¾©ããå¾ï¼ã¿ã¼ã²ããéä¾åé¨ï¼kernel/kernel.trbï¼ãã¤ã³ã¯ã«ã¼
|
---|
| 4342 | ãããï¼kernel.trbã§ã¯ï¼ã«ã¼ãã«ã®ã¿ã¼ã²ããéä¾åé¨ã§ä½¿ç¨ããå¤æ°å®ç¾©
|
---|
| 4343 | çãçæããï¼kernel.trbã®ã¤ã³ã¯ã«ã¼ãã®å¾ï¼target_kernel.trbã§ã¯ï¼ã«ã¼
|
---|
| 4344 | ãã«ã®ã¿ã¼ã²ããä¾åé¨ã§ä½¿ç¨ããå¤æ°å®ç¾©çãçæããï¼target_kernel.trb
|
---|
| 4345 | ããï¼éçºç°å¢ä¾åé¨ï¼ããã»ããµã³ã¢ä¾åé¨ï¼ãããä¾åé¨ãåãåãã¦ã
|
---|
| 4346 | ããï¼
|
---|
| 4347 |
|
---|
| 4348 | (d) ãã¹3ã®çæã¹ã¯ãªãã
|
---|
| 4349 |
|
---|
| 4350 | ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã®ãã¹3ã¯ï¼çæã¹ã¯ãªããã«ããï¼éçAPIã®ä¸è¬å®æ°å¼
|
---|
| 4351 | ãã©ã¡ã¼ã¿ã®ãã§ãã¯ãè¡ãï¼ãã®çæã¹ã¯ãªãããï¼ã¿ã¼ã²ããéä¾åé¨ã¨
|
---|
| 4352 | ã¿ã¼ã²ããä¾åé¨ã«åãåãã¦ããï¼ã¿ã¼ã²ããä¾åé¨ããã¿ã¼ã²ããéä¾å
|
---|
| 4353 | é¨ãã¤ã³ã¯ã«ã¼ãããå½¢ã«ãªã£ã¦ããï¼
|
---|
| 4354 |
|
---|
| 4355 | å
|
---|
| 4356 | ·ä½çã«ã¯ï¼ã¿ã¼ã²ããä¾åé¨ãã£ã¬ã¯ããªã«ç½®ãããtarget_check.trbã§ï¼
|
---|
| 4357 | å¿
|
---|
| 4358 | è¦ãªå¤æ°ãå®ç¾©ããå¾ï¼ã¿ã¼ã²ããéä¾åé¨ï¼kernel/kernel_check.trbï¼ã
|
---|
| 4359 | ã¤ã³ã¯ã«ã¼ãããï¼kernel_check.trbã§ã¯ï¼ã«ã¼ãã«ã®ã¿ã¼ã²ããéä¾åé¨ã§
|
---|
| 4360 | åæåãããã¯ã«åºåããä¸è¬å®æ°å¼ãã©ã¡ã¼ã¿ã®ãã§ãã¯ãè¡ãï¼
|
---|
| 4361 | kernel_check.trbã®ã¤ã³ã¯ã«ã¼ãã®å¾ï¼target_check.trbã§ã¯ï¼ã¿ã¼ã²ããã«
|
---|
| 4362 | ä¾åãããã§ãã¯ãè¡ãï¼target_check.trbããï¼éçºç°å¢ä¾åé¨ï¼ããã»ã
|
---|
| 4363 | ãµã³ã¢ä¾åé¨ï¼ãããä¾åé¨ãåãåãã¦ãããï¼
|
---|
| 4364 |
|
---|
| 4365 | ãªãï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã®è¨å®ãã¡ã¤ã«ã®è¨è¿°æ¹æ³ã«ã¤ãã¦ã¯ï¼ãTOPPERS第
|
---|
| 4366 | 3ä¸ä»£ã«ã¼ãã«åã Rubyçã³ã³ãã£ã®ã¥ã¬ã¼ã¿ ã¦ã¼ã¶ã¼ãºããã¥ã¢ã«ããåç
|
---|
| 4367 | §
|
---|
| 4368 | ãããã¨ï¼
|
---|
| 4369 |
|
---|
| 4370 | 7.2 ãã¹2ã®çæã¹ã¯ãªããã®ã¿ã¼ã²ããä¾åé¨
|
---|
| 4371 |
|
---|
| 4372 | 以ä¸ã§ã¯ï¼ãã¹2ã®çæã¹ã¯ãªããã®ã¿ã¼ã²ããä¾åé¨ãè¨è¿°ããä¸ã§å¿
|
---|
| 4373 | è¦ãªäº
|
---|
| 4374 | é
|
---|
| 4375 | ã«ã¤ãã¦èª¬æããï¼
|
---|
| 4376 |
|
---|
| 4377 | 7.2.1 ã¿ã¼ã²ããéä¾åé¨ãã¤ã³ã¯ã«ã¼ãããåã«å®ç¾©ãã¹ãå¤æ°
|
---|
| 4378 |
|
---|
| 4379 | target_kernel.trbããkernel.trbãã¤ã³ã¯ã«ã¼ãããåã«ï¼æ¬¡ã®å¤æ°ããã³é¢
|
---|
| 4380 | æ°ãå®ç¾©ãã¦ãããªããã°ãªããªãï¼ãªãï¼ãªã¹ãã¯ï¼Rubyã§ã¯é
|
---|
| 4381 | åã§å®ç¾ã
|
---|
| 4382 | ãï¼
|
---|
| 4383 |
|
---|
| 4384 | (7-2-1-1) $INTNO_VALID æå¹ãªå²è¾¼ã¿çªå·ã®ãªã¹ã
|
---|
| 4385 | (7-2-1-2) $INHNO_VALID æå¹ãªå²è¾¼ã¿ãã³ãã©çªå·ã®ãªã¹ã
|
---|
| 4386 | (7-2-1-3) $EXCNO_VALID æå¹ãªCPUä¾å¤ãã³ãã©çªå·ã®ãªã¹ã
|
---|
| 4387 |
|
---|
| 4388 | æå¹ãªå²è¾¼ã¿çªå·ï¼å²è¾¼ã¿ãã³ãã©çªå·ï¼CPUä¾å¤ãã³ãã©çªå·ã®ãªã¹ããï¼å
|
---|
| 4389 | å¤æ°ã«å®ç¾©ããï¼
|
---|
| 4390 |
|
---|
| 4391 | (7-2-1-4) $INTNO_CREISR_VALIDï¼ãªãã·ã§ã³ï¼
|
---|
| 4392 | (7-2-1-5) $INHNO_CREISR_VALIDï¼ãªãã·ã§ã³ï¼
|
---|
| 4393 |
|
---|
| 4394 | CRE_ISRã§ä½¿ç¨ã§ããå²è¾¼ã¿çªå·ã®ãªã¹ãã$INTNO_CREISR_VALIDã«ï¼ããã«å¯¾
|
---|
| 4395 | å¿ããå²è¾¼ã¿ãã³ãã©çªå·ã®ãªã¹ãã$INHNO_CREISR_VALIDã«å®ç¾©ããï¼ä¸¡è
|
---|
| 4396 | ã¯ï¼
|
---|
| 4397 | é åºã¾ã§å«ãã¦å¯¾å¿ãã¦ããªããã°ãªããªãï¼
|
---|
| 4398 |
|
---|
| 4399 | ãããã®å¤æ°ãå®ç¾©ããªãå ´åï¼ãããã$INTNO_VALIDã¨$INHNO_VALIDã使ã
|
---|
| 4400 | ããï¼ããã§è¯ãå ´åã«ã¯ï¼ãããã®å¤æ°ãå®ç¾©ããå¿
|
---|
| 4401 | è¦ã¯ãªãï¼
|
---|
| 4402 |
|
---|
| 4403 | (7-2-1-6) $INTPRI_CFGINT_VALIDï¼ãªãã·ã§ã³ï¼
|
---|
| 4404 |
|
---|
| 4405 | CFG_INTã§ä½¿ç¨ã§ããå²è¾¼ã¿åªå
|
---|
| 4406 | 度ã®ãªã¹ããå®ç¾©ããå¤æ°ï¼æ¨æºã§ã¯ï¼
|
---|
| 4407 | TMIN_INTPRI以ä¸ï¼TMIN_INTPRIï¼ï¼-1ï¼ä»¥ä¸ã®å¤ãCFG_INTã«å¯¾ããå²è¾¼ã¿åªå
|
---|
| 4408 |
|
---|
| 4409 | 度ã¨ãã¦æå¹ã§ãããï¼ã¿ã¼ã²ããä¾åé¨ã§ãã®å¤æ°ãå®ç¾©ãããã¨ã§ï¼
|
---|
| 4410 | TMIN_INTPRIãããå°ããå¤ãæå¹ã¨ãããã¨ãã§ããï¼
|
---|
| 4411 |
|
---|
| 4412 | (7-2-1-7) $INTNO_FIX_KERNELï¼ãªãã·ã§ã³ï¼ ã«ã¼ãã«ç®¡çã«åºå®ããã¦ãã
|
---|
| 4413 | å²è¾¼ã¿çªå·ã®ãªã¹ã
|
---|
| 4414 | (7-2-1-8) $INHNO_FIX_KERNELï¼ãªãã·ã§ã³ï¼ ã«ã¼ãã«ç®¡çã«åºå®ããã¦ãã
|
---|
| 4415 | å²è¾¼ã¿ãã³ãã©çªå·ã®ãªã¹ã
|
---|
| 4416 | (7-2-1-9) $INHNO_FIX_NONKERNELï¼ãªãã·ã§ã³ï¼ã«ã¼ãã«ç®¡çå¤ã«åºå®ããã¦ãã
|
---|
| 4417 | å²è¾¼ã¿çªå·ã®ãªã¹ã
|
---|
| 4418 | (7-2-1-10) $INHNO_FIX_NONKERNELï¼ãªãã·ã§ã³ï¼ã«ã¼ãã«ç®¡çå¤ã«åºå®ããã¦ã
|
---|
| 4419 | ãå²è¾¼ã¿ãã³ãã©çªå·ã®ãªã¹ã
|
---|
| 4420 |
|
---|
| 4421 | ã«ã¼ãã«ç®¡çã¾ãã¯ã«ã¼ãã«ç®¡çå¤ã«åºå®ããã¦ããå²è¾¼ã¿ãããå ´åã«ã¯ï¼
|
---|
| 4422 | ãããã®å²è¾¼ã¿çªå·ã¨å²è¾¼ã¿ãã³ãã©çªå·ã®ãªã¹ããï¼åå¤æ°ã«å®ç¾©ããï¼
|
---|
| 4423 |
|
---|
| 4424 | (7-2-1-11) GenerateTskinictxbï¼ãªãã·ã§ã³ï¼
|
---|
| 4425 |
|
---|
| 4426 | USE_TSKINICTXBããã¯ãå®ç¾©ããå ´åï¼TSKINICTXBã®åæåæ
|
---|
| 4427 | å ±ãçæããã
|
---|
| 4428 | ãã®é¢æ°GenerateTskinictxbãå®ç¾©ããï¼GenerateTskinictxbã«ã¯ï¼ã¿ã¹ã¯ã®
|
---|
| 4429 | IDçªå·ï¼æ°å¤ï¼ã¨ãã©ã¡ã¼ã¿æ
|
---|
| 4430 | å ±ï¼ããã·ã¥ï¼ããã©ã¡ã¼ã¿ã¨ãã¦æ¸¡ãããï¼
|
---|
| 4431 |
|
---|
| 4432 | (7-2-1-12) AllocStackï¼ãªãã·ã§ã³ï¼
|
---|
| 4433 |
|
---|
| 4434 | ã¹ã¿ãã¯é åã®çææ¹æ³ãããã©ã«ãããå¤æ´ãããå ´åã«ã¯ï¼ã¹ã¿ãã¯é å
|
---|
| 4435 | ãçæããããã®é¢æ°AllocStackãå®ç¾©ããï¼AllocStackã«ã¯ï¼ã¹ã¿ãã¯é å
|
---|
| 4436 | ã®å¤æ°åã¨ä¸¸ããåã®ãµã¤ãºããã©ã¡ã¼ã¿ã¨ãã¦æ¸¡ãããã®ã§ï¼ã¹ã¿ãã¯é å
|
---|
| 4437 | ãçæããã³ã¼ããçæãï¼å¤§ããæ¹ã«ä¸¸ãããµã¤ãºã表ãæååãè¿ãï¼
|
---|
| 4438 |
|
---|
| 4439 | 7.2.2 ã¿ã¼ã²ããéä¾åé¨ã§å®ç¾©ãããå¤æ°
|
---|
| 4440 |
|
---|
| 4441 | kernel.trbã®ä¸ã§ã¯æ¬¡ã®å¤æ°ãå®ç¾©ãããããï¼kernel.trbã®ã¤ã³ã¯ã«ã¼ãã®
|
---|
| 4442 | å¾ï¼target_kernel.trbã®ä¸ã§ããããåç
|
---|
| 4443 | §ãããã¨ãã§ããï¼
|
---|
| 4444 |
|
---|
| 4445 | (7-2-2-1) $toIntnoVal[inhnoVal] å²è¾¼ã¿ãã³ãã©çªå·inhnoValãï¼å¯¾å¿ã
|
---|
| 4446 | ãå²è¾¼ã¿çªå·ã«å¤æããããã®ããã·ã¥
|
---|
| 4447 | (7-2-2-2) $toInhnoVal[intnoVal] å²è¾¼ã¿çªå·intnoValãï¼å¯¾å¿ããå²è¾¼ã¿
|
---|
| 4448 | ãã³ãã©çªå·ã«å¤æããããã®ããã·ã¥
|
---|
| 4449 |
|
---|
| 4450 | 7.3 ãã¹3ã®çæã¹ã¯ãªããã®ã¿ã¼ã²ããä¾åé¨
|
---|
| 4451 |
|
---|
| 4452 | 以ä¸ã§ã¯ï¼ãã¹3ã®çæã¹ã¯ãªããã®ã¿ã¼ã²ããä¾åé¨ãè¨è¿°ããä¸ã§å¿
|
---|
| 4453 | è¦ãªäº
|
---|
| 4454 | é
|
---|
| 4455 | ã«ã¤ãã¦èª¬æããï¼
|
---|
| 4456 |
|
---|
| 4457 | 7.3.1 ã¿ã¼ã²ããéä¾åé¨ãã¤ã³ã¯ã«ã¼ãããåã«å®ç¾©ãã¹ãå¤æ°
|
---|
| 4458 |
|
---|
| 4459 | target_check.trbããkernel_check.trbãã¤ã³ã¯ã«ã¼ãããåã«ï¼å¿
|
---|
| 4460 | è¦ã«å¿ã
|
---|
| 4461 | ã¦ï¼æ¬¡ã®å¤æ°ããã³é¢æ°ãå®ç¾©ãã¦ãããªããã°ãªããªãï¼
|
---|
| 4462 |
|
---|
| 4463 | (7-3-1-1) GetStackTskinictxbï¼ãªãã·ã§ã³ï¼
|
---|
| 4464 |
|
---|
| 4465 | USE_TSKINICTXBããã¯ãå®ç¾©ããå ´åï¼TINIBããã¹ã¿ãã¯é åã®å
|
---|
| 4466 | é çªå°ãå
|
---|
| 4467 | ãåºãããã®é¢æ°GetStackTskinictxbãå®ç¾©ããï¼GetStackTskinictxbã«ã¯ï¼
|
---|
| 4468 | ã¿ã¹ã¯ã®IDçªå·ï¼å¤ï¼ï¼ãã©ã¡ã¼ã¿ãªã¹ãï¼ããã·ã¥ï¼ï¼ã¿ã¹ã¯åæåããã
|
---|
| 4469 | ã¯ã®å
|
---|
| 4470 | é çªå°ããã©ã¡ã¼ã¿ã¨ãã¦æ¸¡ãããï¼
|
---|
| 4471 |
|
---|
| 4472 | (7-3-1-2) $lmaListï¼ãªãã·ã§ã³ï¼
|
---|
| 4473 |
|
---|
| 4474 | ãã¹3ã®çæã¹ã¯ãªããã®ã¿ã¼ã²ããä¾åé¨ã§dataã»ã¯ã·ã§ã³ãããã¼ã¿ãåå¾
|
---|
| 4475 | ããå ´åãï¼rodataã»ã¯ã·ã§ã³ãRAMã«ç½®ãå ´åï¼ã¦ã¼ã¶ã¼ãºããã¥ã¢ã«ã®
|
---|
| 4476 | ã11.8 rodataã»ã¯ã·ã§ã³ãRAMã«ç½®ãå ´åãã®ç¯ãåç
|
---|
| 4477 | §ï¼ã«ã¯ï¼ãããã®ã»ã¯
|
---|
| 4478 | ã·ã§ã³ã®å
|
---|
| 4479 | 容ãï¼é
|
---|
| 4480 | ç½®ã¢ãã¬ã¹ï¼ROMå
|
---|
| 4481 | ã®ã¢ãã¬ã¹ï¼LMAã¨å¼ã¶ï¼ããã¢ã¯ã»ã¹
|
---|
| 4482 | ã¢ãã¬ã¹ï¼RAMå
|
---|
| 4483 | ã®ã¢ãã¬ã¹ï¼VMAã¨å¼ã¶ï¼ã«ã³ãã¼ããå¿
|
---|
| 4484 | è¦ãããï¼
|
---|
| 4485 |
|
---|
| 4486 | ãã®ã³ãã¼ã¯ï¼$lmaListã«ï¼ã³ãã¼ããã»ã¯ã·ã§ã³æ
|
---|
| 4487 | å ±ã®ãªã¹ããè¨å®ããã
|
---|
| 4488 | ã¨ã§ï¼ãã¹3ã®çæã¹ã¯ãªããã®ã¿ã¼ã²ããéä¾åé¨ã§å®æ½ããï¼ã»ã¯ã·ã§ã³æ
|
---|
| 4489 |
|
---|
| 4490 | å ±lmaã¯ï¼lma[:START_DATA]ã«ã³ãã¼ããã»ã¯ã·ã§ã³ã®ã¢ã¯ã»ã¹ã¢ãã¬ã¹ã®å
|
---|
| 4491 | é
|
---|
| 4492 | ã®ã©ãã«ï¼lma[:END_DATA]ã«æ«å°¾ã®ã©ãã«ï¼lma[:START_IDATA]ã«ãã®é
|
---|
| 4493 | ç½®ã¢ã
|
---|
| 4494 | ã¬ã¹ã®å
|
---|
| 4495 | é ã®ã©ãã«ãè¨å®ããããã·ã¥ã§è¡¨ãï¼
|
---|
| 4496 |
|
---|
| 4497 | ä¾ãã°ï¼ã³ãã¼ããã»ã¯ã·ã§ã³ã®ã¢ã¯ã»ã¹ã¢ãã¬ã¹ã®å
|
---|
| 4498 | é ã®ã©ãã«ã
|
---|
| 4499 | "__start_data"ï¼æ«å°¾ã®ã©ãã«ã"__end_data"ï¼ãã®é
|
---|
| 4500 | ç½®ã¢ãã¬ã¹ã®å
|
---|
| 4501 | é ã®ã©
|
---|
| 4502 | ãã«ã"__start_idata"ã®å ´åã«ã¯ï¼ãã¹3ã®çæã¹ã¯ãªããã®ã¿ã¼ã²ããä¾å
|
---|
| 4503 | é¨ã«ä»¥ä¸ã®è¨è¿°ãå«ããï¼
|
---|
| 4504 |
|
---|
| 4505 | ----------------------------------------
|
---|
| 4506 | $lmaList = [ { :START_DATA => "__start_data",
|
---|
| 4507 | :END_DATA => "__end_data",
|
---|
| 4508 | :START_IDATA => "__start_idata" } ]
|
---|
| 4509 | ----------------------------------------
|
---|
| 4510 |
|
---|
| 4511 | 7.3.2 ã¿ã¼ã²ããä¾åé¨ã§è¡ãã¹ãã¨ã©ã¼ãã§ãã¯
|
---|
| 4512 |
|
---|
| 4513 | 以ä¸ã®å
|
---|
| 4514 | é çªå°ã¯ï¼ã¿ã¼ã²ããéä¾åé¨ã§çæãããã¼ãã«ã«åºåãããªãã
|
---|
| 4515 | ãï¼ãã¹3ã®ã¿ã¼ã²ããéä¾åé¨ï¼kernel_check.trbï¼ã§ã¯ï¼ããã°ã©ã ã®éå§
|
---|
| 4516 | çªå°ã¨ãã¦æ£ãããªãå ´åã®ã¨ã©ã¼ããã§ãã¯ããªãï¼ãã®ããï¼ã¿ã¼ã²ãã
|
---|
| 4517 | ä¾åé¨ã§ã¨ã©ã¼ãã§ãã¯ãè¡ãå¿
|
---|
| 4518 | è¦ãããï¼
|
---|
| 4519 |
|
---|
| 4520 | ã»å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ã®å
|
---|
| 4521 | é çªå°ï¼CRE_ISRã®isrï¼
|
---|
| 4522 | ã»å²è¾¼ã¿ãã³ãã©ã®å
|
---|
| 4523 | é çªå°ï¼DEF_INHã®inthdrï¼
|
---|
| 4524 | ã»CPUä¾å¤ãã³ãã©ã®å
|
---|
| 4525 | é çªå°ï¼DEF_EXCã®exchdrï¼
|
---|
| 4526 | ã»åæåã«ã¼ãã³ã®å
|
---|
| 4527 | é çªå°ï¼ATT_INIã®inirtnï¼
|
---|
| 4528 | ã»çµäºå¦çã«ã¼ãã³ã®å
|
---|
| 4529 | é çªå°ï¼ATT_TERã®terrtnï¼
|
---|
| 4530 |
|
---|
| 4531 | ãã ãï¼ã¿ã¼ã²ããä¾åé¨ã«ããã¦ãï¼ãããã®ã¨ã©ã¼ãã§ãã¯ãè¡ããã¨ã¯
|
---|
| 4532 | éããªãããï¼ã¦ã¼ã¶ã¼ãºããã¥ã¢ã«ã®ã1.5 æ¢ç¥ã®åé¡ãã®ç¯ã«ã¯ï¼ã¿ã¼ã²ã
|
---|
| 4533 | ãä¾åã§ãããã®ã¨ã©ã¼ãæ¤åºãããªããã¨ãããæ¨ãè¨è¼ãã¦ããï¼
|
---|
| 4534 |
|
---|
| 4535 | 7.4 cfg1_out.cã®ãªã³ã¯ã«å¿
|
---|
| 4536 | è¦ãªã¹ã¿ãã®å®ç¾©ãã¡ã¤ã«
|
---|
| 4537 |
|
---|
| 4538 | ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã«é¢ãã¦ã¿ã¼ã²ããä¾åã«ç¨æããå¿
|
---|
| 4539 | è¦ããããã¡ã¤ã«ã¨
|
---|
| 4540 | ãã¦ï¼è¨å®ãã¡ã¤ã«ä»¥å¤ã«ï¼cfg1_out.cããªã³ã¯ããããã«å¿
|
---|
| 4541 | è¦ãªã¹ã¿ãã®å®
|
---|
| 4542 | 義ãã¡ã¤ã«ãããï¼
|
---|
| 4543 |
|
---|
| 4544 | ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã®ãã¹1ã§ã¯ï¼éçAPIã®æ´æ°å®æ°å¼ãã©ã¡ã¼ã¿ã®å¤ãCã³ã³
|
---|
| 4545 | ãã¤ã©ãç¨ãã¦æ±ããããã«ï¼cfg1_out.cãçæããï¼ãããã³ã³ãã¤ã«ï¼ãª
|
---|
| 4546 | ã³ã¯ãã¦ãªãã¸ã§ã¯ããã¡ã¤ã«ãçæããéã«ï¼ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã
|
---|
| 4547 | ãåç
|
---|
| 4548 | §ãããã·ã³ãã«ã®å®ç¾©ãä¸ããå¿
|
---|
| 4549 | è¦ãããï¼
|
---|
| 4550 |
|
---|
| 4551 | ãã®å®ç¾©ãä¸ããããã«ï¼cfg1_out.cããï¼ã¿ã¼ã²ããä¾åé¨ã®
|
---|
| 4552 | target_cfg1_out.hãã¤ã³ã¯ã«ã¼ããã¦ããï¼target_cfg1_out.hï¼ã¾ãã¯ï¼ã
|
---|
| 4553 | ãããã¤ã³ã¯ã«ã¼ãããããã¡ã¤ã«ï¼ã«ã¯ï¼ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ããå
|
---|
| 4554 | ç
|
---|
| 4555 | §ãããã·ã³ãã«ã®ã¹ã¿ãã®å®ç¾©ãå«ããï¼å
|
---|
| 4556 | ¸åçã«ã¯ï¼ä»¥ä¸ã®ãããªå®ç¾©ã
|
---|
| 4557 | å«ããå¿
|
---|
| 4558 | è¦ãããï¼
|
---|
| 4559 |
|
---|
| 4560 | ----------------------------------------
|
---|
| 4561 | void sta_ker(void)
|
---|
| 4562 | {
|
---|
| 4563 | }
|
---|
| 4564 |
|
---|
| 4565 | void hardware_init_hook(void)
|
---|
| 4566 | {
|
---|
| 4567 | }
|
---|
| 4568 |
|
---|
| 4569 | void software_init_hook(void)
|
---|
| 4570 | {
|
---|
| 4571 | }
|
---|
| 4572 |
|
---|
| 4573 | const size_t _kernel_istksz = 0;
|
---|
| 4574 |
|
---|
| 4575 | STK_T *const _kernel_istk = NULL;
|
---|
| 4576 | ----------------------------------------
|
---|
| 4577 |
|
---|
| 4578 | ã¾ãï¼target_cfg1_out.hï¼ã¾ãã¯ï¼ããããã¤ã³ã¯ã«ã¼ãããããã¡ã¤ã«ï¼ã«
|
---|
| 4579 | ã¯ï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ãç¨ãã¦ãªãã»ãããã¡ã¤ã«ï¼offset.hï¼ãçæãã
|
---|
| 4580 | ããã«å¿
|
---|
| 4581 | è¦ãªè¨è¿°ãå«ããï¼è©³ããã¯ï¼ã2.5 ãªãã»ãããã¡ã¤ã«ã®çææ¹æ³ã
|
---|
| 4582 | ã®ç¯ãåç
|
---|
| 4583 | §ãããã¨ï¼
|
---|
| 4584 |
|
---|
| 4585 |
|
---|
| 4586 | ï¼ï¼ã·ã¹ãã ãµã¼ãã¹çã®ã¿ã¼ã²ããä¾åé¨
|
---|
| 4587 |
|
---|
| 4588 | ASP3ã«ã¼ãã«ã§ã¯ï¼TOPPERSçµè¾¼ã¿ã³ã³ãã¼ãã³ãã·ã¹ãã ï¼TECSï¼ãç¨ãã¦ã·
|
---|
| 4589 | ã¹ãã ãµã¼ãã¹ãæ§ç¯ãã¦ããï¼TECSã®ä»æ§ã«ã¤ãã¦ã¯ï¼ä»¥ä¸ã®URLã«ãã
|
---|
| 4590 | TECSãªãã¡ã¬ã³ã¹ããã¥ã¢ã«ãåèã«ãããã¨ï¼
|
---|
| 4591 |
|
---|
| 4592 | http://dev.toppers.jp/trac_user/tecs/wiki/WikiStart
|
---|
| 4593 |
|
---|
| 4594 | ãTOPPERS/ASP1ã«ã¼ãã«ã¨ã®é¢ä¿ã
|
---|
| 4595 |
|
---|
| 4596 | TECSãç¨ãã¦ã·ã¹ãã ãµã¼ãã¹ãæ§ç¯ãã¦ããããï¼ãã®å
|
---|
| 4597 | é¨æ§é ã¯ï¼ASP1ã«ã¼
|
---|
| 4598 | ãã«ã¨ã¯å¤§ããç°ãªãï¼
|
---|
| 4599 |
|
---|
| 4600 | 8.1 ã·ã¹ãã ãµã¼ãã¹ã®æ§æã¨ã¿ã¼ã²ããä¾åé¨
|
---|
| 4601 |
|
---|
| 4602 | ASP3ã«ã¼ãã«ã®é
|
---|
| 4603 | å¸ããã±ã¼ã¸ã«ã¯ï¼ä»¥ä¸ã®ã·ã¹ãã ãµã¼ãã¹ãå«ã¾ãã¦ããï¼
|
---|
| 4604 |
|
---|
| 4605 | ã»ã·ã¹ãã ãã°æ©è½
|
---|
| 4606 | ã»ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ã
|
---|
| 4607 | - ã¿ã¼ã²ããéä¾åé¨
|
---|
| 4608 | - ã¿ã¼ã²ããä¾åé¨
|
---|
| 4609 | ã»ã·ã¹ãã ãã°ã¿ã¹ã¯
|
---|
| 4610 | ã»ä½ã¬ãã«åºåï¼ã¿ã¼ã²ããä¾åé¨ã®ã¿ï¼
|
---|
| 4611 | ã»ãã¹ãããã°ã©ã ç¨ãµã¼ãã¹
|
---|
| 4612 | ã»å®è¡æéåå¸éè¨ãµã¼ãã¹
|
---|
| 4613 | ã»ã«ã¼ãã«èµ·åã¡ãã»ã¼ã¸åºå
|
---|
| 4614 |
|
---|
| 4615 | ãããã®å
|
---|
| 4616 | ï¼ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã®ã¿ã¼ã²ããä¾åé¨ã¨ä½ã¬ãã«
|
---|
| 4617 | åºåã¯ï¼ã¿ã¼ã²ããä¾åé¨ã§ç¨æããå¿
|
---|
| 4618 | è¦ãããï¼ã·ã¹ãã ãµã¼ãã¹ã®ã¿ã¼ã²ã
|
---|
| 4619 | ãä¾åé¨ã®ã³ã³ãã¼ãã³ãè¨è¿°ã¯ï¼target.cdlã¾ãã¯ããããã¤ã³ãã¼ããã
|
---|
| 4620 | ããã¡ã¤ã«ï¼éçºç°å¢ä¾åé¨ï¼ããã»ããµã³ã¢ä¾åé¨ï¼ãããä¾åé¨ã§ç¨æã
|
---|
| 4621 | ããã³ã³ãã¼ãã³ãè¨è¿°ãã¡ã¤ã«ãªã©ï¼ã«å«ããï¼
|
---|
| 4622 |
|
---|
| 4623 | ãã®ä»ã®ã·ã¹ãã ãµã¼ãã¹ã¯ï¼ã¿ã¼ã²ããéä¾åé¨ã§ç¨æããã¦ãããï¼ã¿ã¼
|
---|
| 4624 | ã²ããä¾åã«è¨å®ãå¤æ´ãããã¨ãã§ããï¼å
|
---|
| 4625 | ·ä½çã«ã¯ï¼ã·ã¹ãã ãµã¼ãã¹ã®
|
---|
| 4626 | è¨å®ãå¤æ´ããããã®å®ç¾©ãï¼target.cdlã¾ãã¯ããããã¤ã³ãã¼ãããããã¡
|
---|
| 4627 | ã¤ã«ãï¼target_syssvc.hã¾ãã¯ããããã¤ã³ã¯ã«ã¼ãããããã¡ã¤ã«ï¼éçºç°
|
---|
| 4628 | å¢ä¾åé¨ï¼ããã»ããµã³ã¢ä¾åé¨ï¼ãããä¾åé¨ã§ç¨æãããããããã¡ã¤ã«
|
---|
| 4629 | ãªã©ï¼ï¼target_stddef.hã¾ãã¯ããããã¤ã³ã¯ã«ã¼ãããããã¡ã¤ã«ã«å«ããï¼
|
---|
| 4630 |
|
---|
| 4631 | 8.2 ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã®ã¿ã¼ã²ããä¾åé¨
|
---|
| 4632 |
|
---|
| 4633 | 8.2.1 ã¿ã¼ã²ããä¾åé¨ã®å®ç¾å½¢æ
|
---|
| 4634 |
|
---|
| 4635 |
|
---|
| 4636 | ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã®ã¿ã¼ã²ããä¾åé¨ã¯ï¼éä¾åé¨ã¨çµåãã
|
---|
| 4637 | ããã®åãå£ã¨å¼ã³å£ã1ã¤ãã¤æã¤ã»ã«ã¿ã¤ãã¨ãã¦å®è£
|
---|
| 4638 | ããï¼éä¾åé¨ã¨çµ
|
---|
| 4639 | åããªãã¦ãã¨ã©ã¼ã¨ãªããªãããã«ï¼å¼ã³å£ã«ã¯optionalæå®ãè¡ãï¼åã
|
---|
| 4640 | å£ï¼ã¿ã¼ã²ããä¾åé¨ãéä¾åé¨ã«å¯¾ãã¦ãµã¼ãã¹ãæä¾ï¼ã¨å¼ã³å£ï¼ã¿ã¼ã²ã
|
---|
| 4641 | ãä¾åé¨ãéä¾åé¨ãå¼ã³åºãã³ã¼ã«ããã¯ï¼ã®ã¤ã³ã¿ãã§ã¼ã¹ã«ã¤ãã¦ã¯ï¼
|
---|
| 4642 | 以éã®ç¯ã§èª¬æããï¼
|
---|
| 4643 |
|
---|
| 4644 | ã¿ã¼ã²ããä¾åé¨ã®ã»ã«ã¿ã¤ãåã¨ï¼ã»ã«ã¿ã¤ãã®å®ç¾©ãå
|
---|
| 4645 | ¥ããã³ã³ãã¼ãã³
|
---|
| 4646 | ãè¨è¿°ãã¡ã¤ã«ã®å称ã¯ï¼æ¬¡ã®éãã¨ããï¼
|
---|
| 4647 |
|
---|
| 4648 | ã»ã«ã¿ã¤ãå tSIOPort<ã·ã¹ãã ç¥ç§°>
|
---|
| 4649 | ãã¡ã¤ã«å tSIOPort<ã·ã¹ãã ç¥ç§°>.cdl
|
---|
| 4650 |
|
---|
| 4651 | ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã®ã¿ã¼ã²ããä¾åé¨ã®ã»ã«ã¿ã¤ãã¯ï¼å
|
---|
| 4652 | é¨ã«ï¼
|
---|
| 4653 | å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ãçµäºå¦çã«ã¼ãã³ï¼ã·ãªã¢ã«I/Oããã¤ã¹ï¼SIOï¼ã®
|
---|
| 4654 | ã¿ã«ä¾åããé¨åï¼ãããï¼SIOãã©ã¤ãã¨å¼ã¶ï¼ãªã©ãå«ãè¤åã³ã³ãã¼ãã³
|
---|
| 4655 | ãã«ãªãã®ãé常ã§ããï¼
|
---|
| 4656 |
|
---|
| 4657 | ã¿ã¼ã²ããã·ã¹ãã ãè¤æ°ã®ã·ãªã¢ã«ãã¼ããæã¤å ´åã«ã¯ï¼ãã¼ãæ¯ã«ã»ã«
|
---|
| 4658 | ãä½æï¼ã¤ã³ã¹ã¿ã³ã·ã¨ã¼ãï¼ã§ããã»ã«ã¿ã¤ãã¨ãã¦å®è£
|
---|
| 4659 | ããã®ãæã¾ããï¼
|
---|
| 4660 | ãã®æï¼ãã¼ãã®åºå¥ã¯ï¼ã»ã«ã¿ã¤ãã®å±æ§ã«SIOã®ããã¤ã¹ã¬ã¸ã¹ã¿ã®çªå°ã
|
---|
| 4661 | æããããªã©ã®æ¹æ³ã§è¡ãï¼ã¾ãï¼SIOããã®å²è¾¼ã¿çªå·ãå²è¾¼ã¿åªå
|
---|
| 4662 | 度ãï¼å¿
|
---|
| 4663 |
|
---|
| 4664 | è¦ã«å¿ãã¦ï¼ã»ã«ã¿ã¤ãã®å±æ§ã¨ããï¼
|
---|
| 4665 |
|
---|
| 4666 | 8.2.2 ã¿ã¼ã²ããä¾åé¨ã®åãå£ï¼æä¾ãããµã¼ãã¹ï¼
|
---|
| 4667 |
|
---|
| 4668 | ã¿ã¼ã²ããä¾åé¨ãéä¾åé¨ã«å¯¾ãã¦ãµã¼ãã¹ãæä¾ããåãå£ã®ã·ã°ããã£
|
---|
| 4669 | ã¯æ¬¡ã®éãã§ããï¼
|
---|
| 4670 |
|
---|
| 4671 | ----------------------------------------
|
---|
| 4672 | signature sSIOPort {
|
---|
| 4673 | void open(void);
|
---|
| 4674 | void close(void);
|
---|
| 4675 | bool_t putChar([in] char c);
|
---|
| 4676 | int_t getChar(void);
|
---|
| 4677 | void enableCBR([in] uint_t cbrtn);
|
---|
| 4678 | void disableCBR([in] uint_t cbrtn);
|
---|
| 4679 | };
|
---|
| 4680 | ----------------------------------------
|
---|
| 4681 |
|
---|
| 4682 | ãã®ã·ã°ããã£ã«å«ã¾ããé¢æ°ã¯ï¼ï¼å°ãªãã¨ãï¼SIOããã®å²è¾¼ã¿ããã¹ã¯ã
|
---|
| 4683 | ããç¶æ
|
---|
| 4684 | ã§å¼ã³åºãããï¼ã¾ãï¼ã¿ã¹ã¯ã³ã³ããã¹ãï¼éã¿ã¹ã¯ã³ã³ããã¹ã
|
---|
| 4685 | ã®ãããã§å¼ã³åºãããå ´åãããï¼ãããã§å¼ã³åºããã¦ãåä½ããããã«
|
---|
| 4686 | ããªããã°ãªããªãï¼ï¼
|
---|
| 4687 |
|
---|
| 4688 | ãã®ã·ã°ããã£ã«å«ã¾ããåé¢æ°ã®ä»æ§ã¯æ¬¡ã®éãï¼
|
---|
| 4689 |
|
---|
| 4690 | (8-2-2-1) void open(void)
|
---|
| 4691 |
|
---|
| 4692 | SIOãã¼ãããªã¼ãã³ããï¼
|
---|
| 4693 |
|
---|
| 4694 | (8-2-2-2) void close(void)
|
---|
| 4695 |
|
---|
| 4696 | SIOãã¼ããã¯ãã¼ãºããï¼
|
---|
| 4697 |
|
---|
| 4698 | (8-2-2-3) bool_t putChar([in] char c)
|
---|
| 4699 |
|
---|
| 4700 | SIOãã¼ãããï¼æåcãéä¿¡ããï¼æåãéä¿¡ã¬ã¸ã¹ã¿ã«å
|
---|
| 4701 | ¥ããå ´åã«ã¯true
|
---|
| 4702 | ãï¼åã«éä¿¡ããæåã®éä¿¡ãçµãã£ã¦ããªãããã«ï¼æåãéä¿¡ã¬ã¸ã¹ã¿ã«
|
---|
| 4703 | å
|
---|
| 4704 | ¥ããããªãã£ãå ´åã«ã¯falseãè¿ãï¼
|
---|
| 4705 |
|
---|
| 4706 | (8-2-2-4) int_t getChar(void)
|
---|
| 4707 |
|
---|
| 4708 | SIOãã¼ãããæåãèªãï¼æåãåä¿¡ãã¦ããå ´åï¼èªãã æåã®ã³ã¼ãã¯æ£
|
---|
| 4709 | ã®å¤ã¨ãã¦è¿ãï¼æåãåä¿¡ãã¦ããªãå ´åã«ã¯-1ãè¿ãï¼
|
---|
| 4710 |
|
---|
| 4711 | (8-2-2-5) void enableCBR([in] uint_t cbrtn)
|
---|
| 4712 |
|
---|
| 4713 | SIOãã¼ãããã®cbrtnã§æå®ãããã³ã¼ã«ããã¯ã許å¯ããï¼cbrtnã«ã¯ï¼
|
---|
| 4714 | SIOSendReadyãSIOReceiveReadyãæå®ã§ããï¼
|
---|
| 4715 |
|
---|
| 4716 | (8-2-2-6) void disableCBR([in] uint_t cbrtn)
|
---|
| 4717 |
|
---|
| 4718 | SIOãã¼ãããã®cbrtnã§æå®ãããã³ã¼ã«ããã¯ãç¦æ¢ããï¼cbrtnã«ã¯ï¼
|
---|
| 4719 | SIOSendReadyãSIOReceiveReadyãæå®ã§ããï¼
|
---|
| 4720 |
|
---|
| 4721 | 8.2.3 ã¿ã¼ã²ããä¾åé¨ã®å¼ã³å£ï¼ã³ã¼ã«ããã¯ï¼
|
---|
| 4722 |
|
---|
| 4723 | ã¿ã¼ã²ããä¾åé¨ãéä¾åé¨ãå¼ã³åºãã³ã¼ã«ããã¯ã®å¼ã³å£ã®ã·ã°ããã£ã¯
|
---|
| 4724 | 次ã®éãã§ããï¼
|
---|
| 4725 |
|
---|
| 4726 | ----------------------------------------
|
---|
| 4727 | [callback]
|
---|
| 4728 | signature siSIOCBR {
|
---|
| 4729 | void readySend(void);
|
---|
| 4730 | void readyReceive(void);
|
---|
| 4731 | };
|
---|
| 4732 | ----------------------------------------
|
---|
| 4733 |
|
---|
| 4734 | ã¿ã¼ã²ããä¾åé¨ã¯ï¼æå®ãããã¿ã¤ãã³ã°ã§ï¼ãã®ã·ã°ããã£ã«å«ã¾ããã³ã¼
|
---|
| 4735 | ã«ããã¯é¢æ°ãå¼ã³åºããªããã°ãªããªãï¼ãã ãï¼ãã®ã³ã¼ã«ããã¯ãç¦æ¢
|
---|
| 4736 | ããã¦ããæã¯ï¼ã³ã¼ã«ããã¯é¢æ°ãå¼ã³åºãã¦ã¯ãªããªãï¼ã¾ãï¼å¼ã³å£ã
|
---|
| 4737 | çµåããã¦ããªãå ´åã«ãï¼ã³ã¼ã«ããã¯é¢æ°ãå¼ã³åºãã¦ã¯ãªããªãï¼
|
---|
| 4738 |
|
---|
| 4739 | ãã®ã·ã°ããã£ã«å«ã¾ããé¢æ°ã¯ï¼ï¼å°ãªãã¨ãï¼SIOããã®å²è¾¼ã¿ãç¦æ¢ãã
|
---|
| 4740 | ãç¶æ
|
---|
| 4741 | ã§ï¼éã¿ã¹ã¯ã³ã³ããã¹ãã§å¼ã³åºãï¼
|
---|
| 4742 |
|
---|
| 4743 | ãã®ã·ã°ããã£ã«å«ã¾ããåé¢æ°ã®ä»æ§ã¯æ¬¡ã®éãï¼
|
---|
| 4744 |
|
---|
| 4745 | (8-2-3-1) void readySend(void)
|
---|
| 4746 |
|
---|
| 4747 | éä¿¡å¯è½ã³ã¼ã«ããã¯ã«ã¼ãã³ï¼SIOãã¼ãã«å¯¾ãã¦æåãéä¿¡ã§ããç¶æ
|
---|
| 4748 | ã«ãªã£
|
---|
| 4749 | ãå ´åã«å¼ã³åºãï¼ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã®ã¿ã¼ã²ããéä¾åé¨ã¯ï¼
|
---|
| 4750 | ãã®ã³ã¼ã«ããã¯ã«ã¼ãã³ã®ä¸ã§ï¼åãå£ã®putCharãå¼ã³åºãã¦æ¬¡ã®æåãé
|
---|
| 4751 | ä¿¡ãããï¼éä¿¡ãã¹ãæåããªãå ´åã«ã¯éä¿¡å¯è½ã³ã¼ã«ããã¯ãç¦æ¢ããï¼
|
---|
| 4752 |
|
---|
| 4753 | (8-2-3-2) void readyReceive(void)
|
---|
| 4754 |
|
---|
| 4755 | åä¿¡éç¥ã³ã¼ã«ããã¯ã«ã¼ãã³ï¼SIOãã¼ãããæåãåä¿¡ããå ´åã«å¼ã³åºãï¼
|
---|
| 4756 | ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã®ã¿ã¼ã²ããéä¾åé¨ã¯ï¼ãã®ã³ã¼ã«ããã¯
|
---|
| 4757 | ã«ã¼ãã³ã®ä¸ã§ï¼åãå£ã®getCharãå¼ã³åºãã¦åä¿¡ããæåãåãåºãï¼
|
---|
| 4758 |
|
---|
| 4759 | 8.3 ä½ã¬ãã«åºå
|
---|
| 4760 |
|
---|
| 4761 | 8.3.1 ä½ã¬ãã«åºåã®å®ç¾å½¢æ
|
---|
| 4762 |
|
---|
| 4763 |
|
---|
| 4764 | ä½ã¬ãã«åºåã¯ï¼ãããç¨ããã³ã³ãã¼ãã³ãã¨çµåããããã®åãå£ã1ã¤æ
|
---|
| 4765 | ã¤ã·ã³ã°ã«ãã³ã®ã»ã«ã¿ã¤ãã¨ãã¦å®è£
|
---|
| 4766 | ããï¼åãå£ã®ã¤ã³ã¿ãã§ã¼ã¹ã«ã¤ã
|
---|
| 4767 | ã¦ã¯ï¼ä»¥éã®ç¯ã§èª¬æããï¼
|
---|
| 4768 |
|
---|
| 4769 | ä½ã¬ãã«åºåã®ã»ã«ã¿ã¤ãåã¨ï¼ã»ã«ã¿ã¤ãã®å®ç¾©ãå
|
---|
| 4770 | ¥ããã³ã³ãã¼ãã³ãè¨
|
---|
| 4771 | è¿°ãã¡ã¤ã«ã®å称ã¯ï¼æ¬¡ã®éãã¨ããï¼
|
---|
| 4772 |
|
---|
| 4773 | ã»ã«ã¿ã¤ãå tPutLog<ã·ã¹ãã ç¥ç§°>
|
---|
| 4774 | ãã¡ã¤ã«å tPutLog<ã·ã¹ãã ç¥ç§°>.cdl
|
---|
| 4775 |
|
---|
| 4776 | ä½ã¬ãã«åºåãï¼SIOãã¼ããããã¼ãªã³ã°ã«ããåºåããå ´åã«ã¯ï¼ä½ã¬ãã«
|
---|
| 4777 | åºåãSIOãã©ã¤ãï¼ã¾ãã¯ï¼ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã®ã¿ã¼ã²ããä¾
|
---|
| 4778 | ååï¼ã¨çµåããããã®å¼ã³å£ãæããã¦ãè¯ãï¼
|
---|
| 4779 |
|
---|
| 4780 | ä½ã¬ãã«åºåãSIOãã¼ãçµç±ã§è¡ãå ´åï¼ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã¨
|
---|
| 4781 | ãã¼ããå
|
---|
| 4782 | ±ç¨ããªããã¨ãæã¾ãããï¼ãã¼ãæ°ã足ããªãããã«ããããã
|
---|
| 4783 | å
|
---|
| 4784 | ±ç¨ããå ´åã«ã¯ï¼ä¸¡è
|
---|
| 4785 | ã競åããªãããã«æ³¨æãå¿
|
---|
| 4786 | è¦ã§ããï¼å
|
---|
| 4787 | ·ä½çã«ã¯ï¼
|
---|
| 4788 | 両è
|
---|
| 4789 | ãåãè¨å®ã§SIOã使ãããã«ãï¼ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã®åä½
|
---|
| 4790 | ä¸ã«ä½ã¬ãã«åºåãè¡ããã¦ãå·®ãæ¯ããªãããã«è¨è¨ããï¼ã¾ãï¼ä½ã¬ãã«
|
---|
| 4791 | åºåãåä½éå§å¾ã«ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ããSIOãåæåããã¨ï¼æ
|
---|
| 4792 | ååããèµ·ããå¯è½æ§ãããï¼ãããé¿ããããã«ã¯ï¼å
|
---|
| 4793 | ±ç¨ãããã¼ãã¯ä½ã¬
|
---|
| 4794 | ãã«åºåå´ã§åæåãï¼ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã§ã¯åæåããªãã
|
---|
| 4795 | ãã«ããã¨ããï¼
|
---|
| 4796 |
|
---|
| 4797 | 8.3.2 ä½ã¬ãã«åºåã®åãå£ï¼æä¾ãããµã¼ãã¹ï¼
|
---|
| 4798 |
|
---|
| 4799 | ä½ã¬ãã«åºåããµã¼ãã¹ãæä¾ããåãå£ã®ã·ã°ããã£ã¯æ¬¡ã®éãã§ããï¼
|
---|
| 4800 |
|
---|
| 4801 | ----------------------------------------
|
---|
| 4802 | signature sPutLog {
|
---|
| 4803 | void putChar([in] char c);
|
---|
| 4804 | };
|
---|
| 4805 | ----------------------------------------
|
---|
| 4806 |
|
---|
| 4807 | ãã®ã·ã°ããã£ã«å«ã¾ããé¢æ°ã®ä»æ§ã¯æ¬¡ã®éãï¼
|
---|
| 4808 |
|
---|
| 4809 | (8-3-2-1) void putChar([in] char c)
|
---|
| 4810 |
|
---|
| 4811 | ä½ã¬ãã«åºåã®ããã®æååºåé¢æ°ï¼ã¿ã¼ã²ããä¾åã®æ¹æ³ã§ï¼æåcã表示/
|
---|
| 4812 | åºå/ä¿åããï¼
|
---|
| 4813 |
|
---|
| 4814 | ãã®é¢æ°ã¯ï¼ãªã¨ã³ãã©ã³ãã«å®è£
|
---|
| 4815 | ããªããã°ãªããªãï¼ãã®é¢æ°å
|
---|
| 4816 | ã§æä»å¶
|
---|
| 4817 | 御ãå¿
|
---|
| 4818 | è¦ãªå ´åã«ã¯ï¼SILãç¨ãã¦å
|
---|
| 4819 | ¨å²è¾¼ã¿ããã¯ç¶æ
|
---|
| 4820 | ã«ãããã¨ï¼ã¾ãï¼å
|
---|
| 4821 | ¨å²
|
---|
| 4822 | è¾¼ã¿ããã¯ç¶æ
|
---|
| 4823 | ã§å¼ã°ããå ´åãããããï¼å
|
---|
| 4824 | ¨å²è¾¼ã¿ããã¯ç¶æ
|
---|
| 4825 | ããå¼ã³åºã
|
---|
| 4826 | ãã¨ãã§ããªãé¢æ°ãå¼ã°ãªãããã«å®è£
|
---|
| 4827 | ããªããã°ãªããªãï¼
|
---|
| 4828 |
|
---|
| 4829 | 8.4 ã¿ã¼ã²ããä¾åé¨ã®ã³ã³ãã¼ãã³ãè¨è¿°ãã¡ã¤ã«
|
---|
| 4830 |
|
---|
| 4831 | ã¿ã¼ã²ããä¾åé¨ã®ã³ã³ãã¼ãã³ãè¨è¿°ãã¡ã¤ã«ï¼target.cdlï¼ã«ã¯ï¼ä»¥ä¸ã®
|
---|
| 4832 | å
|
---|
| 4833 | 容ãè¨è¿°ããï¼
|
---|
| 4834 |
|
---|
| 4835 | (8-4-1) ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãºã®ããã©ã«ã
|
---|
| 4836 |
|
---|
| 4837 | ãã®ã¿ã¼ã²ããã·ã¹ãã ã«ãããã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãºã®ããã©ã«ãå¤ãï¼
|
---|
| 4838 | ä¸ã®ä¾ã®ããã«ï¼DefaultTaskStackSizeã«å®ç¾©ããï¼
|
---|
| 4839 |
|
---|
| 4840 | ----------------------------------------
|
---|
| 4841 | const size_t DefaultTaskStackSize = 4096;
|
---|
| 4842 | ----------------------------------------
|
---|
| 4843 |
|
---|
| 4844 | (8-4-2) ã·ã¹ãã ãã°ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãºã®å®ç¾©
|
---|
| 4845 |
|
---|
| 4846 | ãã®ã¿ã¼ã²ããã·ã¹ãã ã«ãããã·ã¹ãã ãã°ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãºãï¼ä¸
|
---|
| 4847 | ã®ä¾ã®ããã«ï¼LogTaskStackSizeã«å®ç¾©ããï¼
|
---|
| 4848 |
|
---|
| 4849 | ----------------------------------------
|
---|
| 4850 | const size_t LogTaskStackSize = DefaultTaskStackSize;
|
---|
| 4851 | ----------------------------------------
|
---|
| 4852 |
|
---|
| 4853 | (8-4-3) ã«ã¼ãã«èµ·åã¡ãã»ã¼ã¸ã«é¢ããå®ç¾©
|
---|
| 4854 |
|
---|
| 4855 | ã«ã¼ãã«èµ·åã¡ãã»ã¼ã¸åºåã表示ããã¿ã¼ã²ããåã¨èä½æ¨©è¡¨ç¤ºãï¼ä¸ã®ä¾
|
---|
| 4856 | ã®ããã«ï¼BannerTargetNameã¨BannerCopyrightNoticeã«å®ç¾©ããï¼
|
---|
| 4857 |
|
---|
| 4858 | ----------------------------------------
|
---|
| 4859 | const char *const BannerTargetName = "ARM CT11MPCore";
|
---|
| 4860 | const char *const BannerCopyrightNotice =
|
---|
| 4861 | "Copyright (C) 2016 by Hiroaki Takada\n";
|
---|
| 4862 | ----------------------------------------
|
---|
| 4863 |
|
---|
| 4864 | (8-4-4) ã¿ã¼ã²ããä¾åã®ã»ã«ã¿ã¤ãã®å®ç¾©ã®ã¤ã³ãã¼ã
|
---|
| 4865 |
|
---|
| 4866 | ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã®ã¿ã¼ã²ããä¾åé¨ã¨ä½ã¬ãã«åºåã®ã»ã«ã¿
|
---|
| 4867 | ã¤ãã®å®ç¾©ãå
|
---|
| 4868 | ¥ããã³ã³ãã¼ãã³ãè¨è¿°ãã¡ã¤ã«ãã¤ã³ãã¼ãããï¼
|
---|
| 4869 |
|
---|
| 4870 | (8-4-5) ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã®ã¿ã¼ã²ããä¾åé¨ã®çµã¿ä¸ãè¨è¿°
|
---|
| 4871 |
|
---|
| 4872 | ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã®ã¿ã¼ã²ããä¾åé¨ã®ã»ã«ãï¼ä¸ã®ä¾ã®ãã
|
---|
| 4873 | ã«ï¼SIOPortTarget1ã®å称ã§ä½æï¼ã¤ã³ã¹ã¿ã³ã·ã¨ã¼ãï¼ããçµä¸ãè¨è¿°ãè¡
|
---|
| 4874 | ãï¼ã·ã¹ãã ãã°ã¿ã¹ã¯ã¯ï¼ã¿ã¼ã²ããä¾åé¨ãSIOPortTarget1ã®å称ã§ãã
|
---|
| 4875 | ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ããç¨ããï¼
|
---|
| 4876 |
|
---|
| 4877 | ----------------------------------------
|
---|
| 4878 | cell tSIOPortCT11MPCore SIOPortTarget1 {
|
---|
| 4879 | baseAddress = C_EXP("EB_UART0_BASE");
|
---|
| 4880 | interruptNumber = C_EXP("EB_IRQNO_UART0");
|
---|
| 4881 | };
|
---|
| 4882 | ----------------------------------------
|
---|
| 4883 |
|
---|
| 4884 | ã¿ã¼ã²ããã·ã¹ãã ãè¤æ°ã®ã·ãªã¢ã«ãã¼ããæã¤å ´åã«ã¯ï¼è¤æ°ã®ã»ã«ãä½
|
---|
| 4885 | æï¼ã¤ã³ã¹ã¿ã³ã·ã¨ã¼ãï¼ãã¦ãããï¼
|
---|
| 4886 |
|
---|
| 4887 | (8-4-6) ä½ã¬ãã«åºåã®çµã¿ä¸ãè¨è¿°
|
---|
| 4888 |
|
---|
| 4889 | ä½ã¬ãã«åºåã®ã»ã«ãï¼ä¸ã®ä¾ã®ããã«ï¼PutLogTargetã®å称ã§ä½æï¼ã¤ã³ã¹
|
---|
| 4890 | ã¿ã³ã·ã¨ã¼ãï¼ããçµä¸ãè¨è¿°ãè¡ãï¼ã·ã¹ãã ãã°æ©è½ã¨ã·ã¹ãã ãã°ã¿ã¹
|
---|
| 4891 | ã¯ã¯ï¼PutLogTargetã®å称ã®ä½ã¬ãã«åºåãç¨ããï¼
|
---|
| 4892 |
|
---|
| 4893 | ----------------------------------------
|
---|
| 4894 | cell tPutLogCT11MPCore PutLogTarget {
|
---|
| 4895 | cSIOPort = SIOPortTarget1.eSIOPort;
|
---|
| 4896 | };
|
---|
| 4897 | ----------------------------------------
|
---|
| 4898 |
|
---|
| 4899 | 8.5 ã·ã¹ãã ãµã¼ãã¹ã®ã¿ã¼ã²ããä¾åå®ç¾©
|
---|
| 4900 |
|
---|
| 4901 | ã·ã¹ãã ãã°æ©è½ï¼å®è¡æéåå¸éè¨ãµã¼ãã¹ï¼ãã¬ã¼ã¹ãã°æ©è½ã®è¨å®ãå¤
|
---|
| 4902 | æ´ããããã®å®ç¾©ãï¼target_syssvc.hï¼target_stddef.hï¼ã¾ãã¯ããããã
|
---|
| 4903 | ã¤ã³ã¯ã«ã¼ãããããã¡ã¤ã«ã«è¨è¿°ãããã¨ãã§ããï¼
|
---|
| 4904 |
|
---|
| 4905 | 8.5.1 ã·ã¹ãã ãã°æ©è½ã®è¨å®å¤æ´
|
---|
| 4906 |
|
---|
| 4907 | (8-5-1-1) LOGTIMï¼SYSLOG_GET_LOGTIMï¼ãªãã·ã§ã³ï¼
|
---|
| 4908 |
|
---|
| 4909 | ã·ã¹ãã ãã°æ©è½ã«ããã¦è¨é²ããæå»ï¼ãã°æå»ï¼ã®ãã¼ã¿åãLOGTIMã«ï¼
|
---|
| 4910 | æå»ãåå¾ããããã®å¦çãSYSLOG_GET_LOGTIMã«ãã¯ãå®ç¾©ããï¼ããããå®
|
---|
| 4911 | 義ããªãå ´åï¼é«å解è½ã¿ã¤ãã®ã«ã¦ã³ãå¤ããã°æå»ã«ç¨ããï¼
|
---|
| 4912 |
|
---|
| 4913 | ãªãï¼LOGTIMã®å®ç¾©ã¯ï¼target_stddef.hã¾ãã¯ããããã¤ã³ã¯ã«ã¼ãããããã¡
|
---|
| 4914 | ã¤ã«ã«å«ããªããã°ãªããªãï¼
|
---|
| 4915 |
|
---|
| 4916 | (8-5-1-2) LOGPARï¼ULOGPARï¼ãªãã·ã§ã³ï¼
|
---|
| 4917 |
|
---|
| 4918 | ã·ã¹ãã ãã°æ©è½ã«ããã¦è¨é²ãããã°ãã©ã¡ã¼ã¿ã®ãã¼ã¿åãLOGPARã«ãã¯
|
---|
| 4919 | ãå®ç¾©ããï¼LOGPARã«å®ç¾©ãããã¼ã¿åã¯ï¼ç¬¦å·ä»ãã®æ´æ°åã§ãªããã°ãªã
|
---|
| 4920 | ãªãï¼ã¾ãï¼LOGPARã¨åããµã¤ãºã®ç¬¦å·ç¡ãã®æ´æ°åãï¼ULOGPARã«ãã¯ãå®ç¾©
|
---|
| 4921 | ããï¼ããããå®ç¾©ããªãå ´åï¼ãã°ãã©ã¡ã¼ã¿ã®ãã¼ã¿åã¯intptr_tã¨ããï¼
|
---|
| 4922 |
|
---|
| 4923 | ãªãï¼LOGPARããã³ULOGPARã®å®ç¾©ã¯ï¼target_stddef.hã¾ãã¯ããããã¤ã³ã¯
|
---|
| 4924 | ã«ã¼ãããããã¡ã¤ã«ã«å«ããªããã°ãªããªãï¼
|
---|
| 4925 |
|
---|
| 4926 | 8.5.2 å®è¡æéåå¸éè¨ãµã¼ãã¹ã®è¨å®å¤æ´
|
---|
| 4927 |
|
---|
| 4928 | (8-5-2-1) HISTTIMï¼ãªãã·ã§ã³ï¼
|
---|
| 4929 |
|
---|
| 4930 | å®è¡æéè¨æ¸¬ç¨ã®æå»ã®ãã¼ã¿åãå®ç¾©ãããã¯ãï¼å®ç¾©ããªãå ´åã®ããã©
|
---|
| 4931 | ã«ãã¯HRTCNTï¼
|
---|
| 4932 |
|
---|
| 4933 | (8-5-2-2) void HIST_GET_TIM(HISTTIM *p_time)ï¼ãªãã·ã§ã³ï¼
|
---|
| 4934 |
|
---|
| 4935 | å®è¡æéè¨æ¸¬ç¨ã®ç¾å¨æå»ã*p_timeã«åå¾ããå¦çã«å®ç¾©ãããã¯ãï¼å®ç¾©ã
|
---|
| 4936 | ãªãå ´åã®ããã©ã«ãã¯ï¼fch_hrtã®è¿å¤ã*p_timeã«åå¾ããå¦çã«ãªãï¼
|
---|
| 4937 |
|
---|
| 4938 | (8-5-2-3) uint_t HIST_CONV_TIM(HISTTIM time)ï¼ãªãã·ã§ã³ï¼
|
---|
| 4939 |
|
---|
| 4940 | å®è¡æéè¨æ¸¬ç¨ã®æå»ã®å·®ï¼æéï¼ãï¼å®è¡æéåå¸éè¨ç¨ã®å¤ã«å¤æããå¦
|
---|
| 4941 | çã«å®ç¾©ãããã¯ãï¼æå»ãéå»ã«æ»ã£ãããªã¼ãããã¼ãããã®åºå¥ãã¤ã
|
---|
| 4942 | ãªãå ´åã«ã¯ï¼æä¸ä½ãããã1ã®å¤ï¼INT_MAXããã大ããå¤ï¼ãè¿ãï¼å®ç¾©
|
---|
| 4943 | ããªãå ´åã®ããã©ã«ãã¯ï¼timeãuint_tã«ãã£ã¹ãããå¦çã«ãªãï¼
|
---|
| 4944 |
|
---|
| 4945 | (8-5-2-4) void HIST_BM_HOOK(void)ï¼ãªãã·ã§ã³ï¼
|
---|
| 4946 |
|
---|
| 4947 | å®è¡æéè¨æ¸¬ç´åã«è¡ãã¹ãå¦çã«å®ç¾©ãããã¯ãï¼ãã£ãã·ã¥ã®ãã¼ã¸ããã£
|
---|
| 4948 | ã«ï¼ã¡ã¢ãªããªã¢å¦ççãè¡ãããå ´åã«ã¯ï¼ãã®ãã¯ãã«å®ç¾©ããï¼å®ç¾©ã
|
---|
| 4949 | ãªãå ´åã®ããã©ã«ãã¯ï¼ç©ºã®å¦çã«ãªãï¼
|
---|
| 4950 |
|
---|
| 4951 | 8.5.3 ãã¬ã¼ã¹ãã°æ©è½ã®è¨å®å¤æ´
|
---|
| 4952 |
|
---|
| 4953 | ã·ã¹ãã ãã°æ©è½ã®è¨å®ãå¤æ´ããããã«ï¼LOGTIMï¼SYSLOG_GET_LOGTIMï¼
|
---|
| 4954 | LOGPARï¼ULOGPARãå®ç¾©ããå ´åï¼ãã¬ã¼ã¹ãã°æ©è½ã«ãåãè¨å®ãé©ç¨ãããï¼
|
---|
| 4955 |
|
---|
| 4956 | ãªãï¼ãã¬ã¼ã¹ãã°è¨é²ã®ãµã³ãã«ã³ã¼ããçµã¿è¾¼ãéã«ã¯ï¼target_syssvc.h
|
---|
| 4957 | ã«è¨è¿°ã追å ããå¿
|
---|
| 4958 | è¦ãããï¼è©³ããã¯ï¼ã6.11.2 ãã¬ã¼ã¹ãã°è¨é²ã®ãµã³ã
|
---|
| 4959 | ã«ã³ã¼ããã®ç¯ãåç
|
---|
| 4960 | §ãããã¨ï¼
|
---|
| 4961 |
|
---|
| 4962 | 8.6 ãµã³ãã«ããã°ã©ã ã¨ãã¹ãããã°ã©ã ã®ã¿ã¼ã²ããä¾åå®ç¾©
|
---|
| 4963 |
|
---|
| 4964 | ã¿ã¼ã²ããä¾åé¨ã§æä¾ãã¹ããµã³ãã«ããã°ã©ã ããã³ãã¹ãããã°ã©ã ã®
|
---|
| 4965 | ããã®å®ç¾©ã¯æ¬¡ã®éãã§ããï¼ãããã®å®ç¾©ã¯ï¼target_test.hï¼ã¾ãã¯ããã
|
---|
| 4966 | ããã¤ã³ã¯ã«ã¼ãããããã¡ã¤ã«ï¼ã«å«ããï¼
|
---|
| 4967 |
|
---|
| 4968 | (8-6-1) STACK_SIZEï¼ãªãã·ã§ã³ï¼
|
---|
| 4969 |
|
---|
| 4970 | ãµã³ãã«ããã°ã©ã ããã³ãã¹ãããã°ã©ã ã®ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãºãå®ç¾©
|
---|
| 4971 | ãããã¯ãï¼å®ç¾©ããªãå ´åã®ããã©ã«ãå¤ã¯4096ï¼ããã©ã«ãè¨å®ã§ã¯ã¡ã¢
|
---|
| 4972 | ãªãä¸è¶³ããå ´åãï¼ã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢ãªã©ã§å¤§ããã¹ã¿ãã¯é åãå¿
|
---|
| 4973 | è¦
|
---|
| 4974 | ãªå ´åã«ã¯ï¼ã¿ã¼ã²ããä¾åé¨ã§ãã®ãã¯ããè¨å®ããã¹ã¿ãã¯ãµã¤ãºã«å®ç¾©
|
---|
| 4975 | ããï¼
|
---|
| 4976 |
|
---|
| 4977 | (8-6-2) CPUEXC1ï¼ãªãã·ã§ã³ï¼
|
---|
| 4978 |
|
---|
| 4979 | ãµã³ãã«ããã°ã©ã ããã³ãã¹ãããã°ã©ã ã§ç¨ããCPUä¾å¤ã®CPUä¾å¤ãã³ã
|
---|
| 4980 | ã©çªå·ãå®ç¾©ãããã¯ãï¼ãã®ãã¯ããå®ç¾©ããªãå ´åï¼CPUä¾å¤ãã³ãã©ã使
|
---|
| 4981 | ãé¨åããµã³ãã«ããã°ã©ã ããé¤å¤ãããï¼CPUä¾å¤ãã³ãã©ã®ãã¹ãããã
|
---|
| 4982 | ãã¹ãããã°ã©ã ã¯ã³ã³ãã¤ã«ã§ããªãï¼
|
---|
| 4983 |
|
---|
| 4984 | (8-6-3) RAISE_CPU_EXCEPTIONï¼ãªãã·ã§ã³ï¼
|
---|
| 4985 |
|
---|
| 4986 | CPUEXC1ã«å®ç¾©ããCPUä¾å¤ãçºçãããCè¨èªã®ããã°ã©ã ãå®ç¾©ãããã¯ãï¼
|
---|
| 4987 | CPUEXC1ãå®ç¾©ããå ´åã«ã¯å¿
|
---|
| 4988 | ãå®ç¾©ããªããã°ãªããªãï¼
|
---|
| 4989 |
|
---|
| 4990 | (8-6-4) PREPARE_RETURN_CPUEXCï¼ãªãã·ã§ã³ï¼
|
---|
| 4991 |
|
---|
| 4992 | CPUä¾å¤ãèµ·ãããå½ä»¤ãã¹ãããããããã«æ»ãçªå°ãä¿®æ£ãããªã©ï¼CPUä¾
|
---|
| 4993 | å¤ãã³ãã©ãããªã¿ã¼ã³ã§ããããã«æºåããããã®ãã¯ãï¼æºåãå¿
|
---|
| 4994 | è¦ãªã
|
---|
| 4995 | å ´åã«ã¯ï¼ç©ºã«å®ç¾©ããï¼
|
---|
| 4996 |
|
---|
| 4997 | ã¿ã¼ã²ããã·ã¹ãã ã®å¶ç´ã«ããï¼CPUä¾å¤ãã³ãã©ãããªã¿ã¼ã³ããå¾ã«ï¼ã¿
|
---|
| 4998 | ã¹ã¯ã®å®è¡ãç¶ç¶ã§ããªãå ´åã«ã¯ï¼ãã®ãã¯ããå®ç¾©ããªãï¼ãã®ãã¯ãã
|
---|
| 4999 | å®ç¾©ããªãã¨ï¼CPUä¾å¤ãã³ãã©ã®ãã¹ãããããã¹ãããã°ã©ã ããï¼CPUä¾
|
---|
| 5000 | å¤ãã³ãã©ãããªã¿ã¼ã³ããå¾ã®å¦çãé¤å¤ãããï¼
|
---|
| 5001 |
|
---|
| 5002 | (8-6-5) TASK_PORTIDï¼ãªãã·ã§ã³ï¼
|
---|
| 5003 |
|
---|
| 5004 | ãµã³ãã«ããã°ã©ã ã«ããã¦ï¼ã³ãã³ãæåãèªã¿è¾¼ãã·ãªã¢ã«ãã¼ãçªå·ã
|
---|
| 5005 | å®ç¾©ãããã¯ãï¼å®ç¾©ããªãå ´åã®ããã©ã«ãå¤ã¯1ï¼
|
---|
| 5006 |
|
---|
| 5007 | (8-6-6) LOOP_REFï¼ãªãã·ã§ã³ï¼
|
---|
| 5008 |
|
---|
| 5009 | ãµã³ãã«ããã°ã©ã ã«ããã¦ï¼ããã»ããµã®é度ãè¨æ¸¬ããããã®ã«ã¼ãåæ°
|
---|
| 5010 | ãå®ç¾©ãããã¯ãï¼å®ç¾©ããªãå ´åã®ããã©ã«ãå¤ã¯1000000ï¼ããã©ã«ãè¨å®
|
---|
| 5011 | ã§ã¯ï¼å¤ã大ãéãã¦è¨æ¸¬ã«æéãããããããå ´åãï¼å¤ãå°ãéãã¦è¨æ¸¬
|
---|
| 5012 | çµæãå®å®ããªãå ´åã«ï¼ã¿ã¼ã²ããä¾åé¨ã§ãã®ãã¯ããè¨å®ããã«ã¼ãå
|
---|
| 5013 | æ°ã«å®ç¾©ããï¼
|
---|
| 5014 |
|
---|
| 5015 | (8-6-7) MEASURE_TWICEï¼ãªãã·ã§ã³ï¼
|
---|
| 5016 |
|
---|
| 5017 | ãµã³ãã«ããã°ã©ã ã«ããã¦ï¼ããã»ããµã®é度ã2度è¨æ¸¬ããå ´åã«å®ç¾©ãã
|
---|
| 5018 | ãã¯ãï¼ã·ãã¥ã¬ã¼ã·ã§ã³ç°å¢ãªã©ããã»ããµã®é度ãå¤åããç°å¢ã§ï¼1度ã®
|
---|
| 5019 | è¨æ¸¬ã§ã¯è¨æ¸¬çµæãå®å®ããªãå ´åã«å®ç¾©ããï¼
|
---|
| 5020 |
|
---|
| 5021 | (8-6-8) TASK_LOOPï¼ãªãã·ã§ã³ï¼
|
---|
| 5022 |
|
---|
| 5023 | ãµã³ãã«ããã°ã©ã ã«ããã¦ï¼ããã»ããµã®é度ãè¨æ¸¬ããã«ï¼ã¿ã¹ã¯å
|
---|
| 5024 | ã§ã®
|
---|
| 5025 | ã«ã¼ãåæ°ãåºå®ããå ´åã«ï¼ã«ã¼ãåæ°ãå®ç¾©ãããã¯ãï¼ã«ã¼ãå
|
---|
| 5026 | ¨ä½ã®å®
|
---|
| 5027 | è¡æéã0.4ç§ç¨åº¦ã«ãªããããªã«ã¼ãåæ°ãï¼ãã®ãã¯ãã«å®ç¾©ããï¼
|
---|
| 5028 |
|
---|
| 5029 |
|
---|
| 5030 | ï¼ï¼ãã®ä»
|
---|
| 5031 |
|
---|
| 5032 | 9.1 ããã¥ã¡ã³ã
|
---|
| 5033 |
|
---|
| 5034 | ã¿ã¼ã²ããä¾åé¨ã®ã¦ã¼ã¶ã¼ãºããã¥ã¢ã«ãï¼target_user.txtã«ç¨æããï¼é
|
---|
| 5035 | çºç°å¢ä¾åé¨ï¼ããã»ããµã³ã¢ä¾åé¨ï¼ãããä¾åé¨ã®ã¦ã¼ã¶ã¼ãºããã¥ã¢ã«
|
---|
| 5036 | ãåãåãã¦ããããï¼ãã¡ã¤ã«ã大ãããªãå ´åã«ã¯è¤æ°ã®ãã¡ã¤ã«ã«åå²
|
---|
| 5037 | ãã¦ãããï¼ãã®å ´åã«ã¯ï¼target_user.txtä¸ã«ãããã®ãã¡ã¤ã«åãè¨è¿°ã
|
---|
| 5038 | ããã¨ï¼
|
---|
| 5039 |
|
---|
| 5040 | ã¿ã¼ã²ããä¾åé¨ã®ã¦ã¼ã¶ã¼ãºããã¥ã¢ã«ã«ã¯ï¼å°ãªãã¨ã次ã®ãããªå
|
---|
| 5041 | 容ã
|
---|
| 5042 | è¨è¿°ãããã¨ãæã¾ããï¼
|
---|
| 5043 |
|
---|
| 5044 | (1) 対å¿ãã¦ããã¿ã¼ã²ããã·ã¹ãã ã®ç¨®é¡ã»æ§æï¼ãã¼ã¸ã§ã³çªå·
|
---|
| 5045 | ã»ã¿ã¼ã²ãããã¼ãã¦ã§ã¢ï¼ãã¼ãçï¼ã®å称ã¨å¯¾å¿ãã¦ããæ§æ
|
---|
| 5046 | ã»ã¿ã¼ã²ããç¥ç§°
|
---|
| 5047 | ã»ã¿ã¼ã²ããéä¾åé¨ã®ãã¼ã¸ã§ã³çªå·
|
---|
| 5048 | ã»éçºç°å¢ä¾åé¨ï¼ããã»ããµã³ã¢ä¾åé¨ï¼ãããä¾åé¨ã®æ§æã¨ãã¼ã¸ã§
|
---|
| 5049 | ãã³çªå·
|
---|
| 5050 |
|
---|
| 5051 | (2) 使ç¨ããéçºç°å¢ã¨åä½æ¤è¨¼ããæ¡ä»¶ï¼ãã¼ã¸ã§ã³ï¼ãªãã·ã§ã³çï¼
|
---|
| 5052 | ã»è¨èªå¦çç³»ï¼ã³ã³ãã¤ã©ï¼ã¢ã»ã³ãã©ï¼ãªã³ã«çï¼
|
---|
| 5053 | ã»ãããã°ç°å¢
|
---|
| 5054 |
|
---|
| 5055 | (3) ã¿ã¼ã²ããå®ç¾©äºé
|
---|
| 5056 | ã®è¦å®
|
---|
| 5057 |
|
---|
| 5058 | (3-1) ãã¼ã¿åã«é¢ããè¦å®
|
---|
| 5059 | ã»int_tåï¼long_tåã®ãµã¤ãº
|
---|
| 5060 | ã»charåï¼int_least8_tåï¼void *åï¼intptr_tåã®ãµã¤ãº
|
---|
| 5061 | ã»int8_tåï¼uint8_tåï¼int64_tåï¼uint64_tåï¼int128_tåï¼
|
---|
| 5062 | ãuint128_tåï¼float32_tåï¼double64_tåã®ãµãã¼ãã®æç¡
|
---|
| 5063 |
|
---|
| 5064 | (3-2) å²è¾¼ã¿å¦çã«é¢ããè¦å®
|
---|
| 5065 | ã»å²è¾¼ã¿ãã³ãã©çªå·ã¨å²è¾¼ã¿çªå·ã®å²å½ã¦ï¼ä¸¡è
|
---|
| 5066 | ã®å¯¾å¿
|
---|
| 5067 | ã»å²è¾¼ã¿åªå
|
---|
| 5068 | 度ã®æ®µéæ°ï¼TMIN_INTPRIã®å¤ï¼
|
---|
| 5069 | ã»dis_intã¨ena_intã®ãµãã¼ãã®æç¡ï¼ãã®å¶éäºé
|
---|
| 5070 |
|
---|
| 5071 | ã»CFG_INTã®å¶éäºé
|
---|
| 5072 | ã¨æ¡å¼µï¼ã¿ã¼ã²ããå®ç¾©ã§ä½¿ç¨ã§ããå²è¾¼ã¿å±æ§ï¼
|
---|
| 5073 | ã»TOPPERSæ¨æºå²è¾¼ã¿å¦çã¢ãã«ããã®ãã®ä»ã®é¸è±
|
---|
| 5074 | ã»ããã©ã«ãã®å²è¾¼ã¿ãã³ãã©ï¼default_int_handlerï¼ã®æç¡ã¨å¦çå
|
---|
| 5075 | 容
|
---|
| 5076 |
|
---|
| 5077 | (3-3) ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ã«é¢ããè¦å®
|
---|
| 5078 | ã»TMIN_INTPRIã¯åºå®ãè¨å®ã§ãããï¼ãã®è¨å®æ¹æ³
|
---|
| 5079 | ã»NMI以å¤ã«ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ãè¨ãããï¼è¨ããããããã«ãããï¼
|
---|
| 5080 | ã»ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ã®è¨å®æ¹æ³
|
---|
| 5081 | ã»ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ã«å¯¾ãã¦DEF_INHï¼CFG_INTããµãã¼ãããã
|
---|
| 5082 | ã»ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ãã³ãã©ãå®è¡éå§ãããæã®ã·ã¹ãã ç¶æ
|
---|
| 5083 | ã¨
|
---|
| 5084 | ãã³ã³ããã¹ã
|
---|
| 5085 | ã»å²è¾¼ã¿ãã³ãã©ã®çµäºæã«è¡ãããå¦ç
|
---|
| 5086 | ã»ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ãã³ãã©ã®è¨è¿°æ¹æ³
|
---|
| 5087 | ã»ã«ã¼ãã«å
|
---|
| 5088 | ã®å²è¾¼ã¿åºå
|
---|
| 5089 | ¥å£å¦çã§èµ·ããå¯è½æ§ã®ããCPUä¾å¤
|
---|
| 5090 |
|
---|
| 5091 | (3-4) CPUä¾å¤å¦çã«é¢ããè¦å®
|
---|
| 5092 | ã»CPUä¾å¤ãã³ãã©çªå·ã®å²å½ã¦
|
---|
| 5093 | ã»å²è¾¼ã¿åªå
|
---|
| 5094 | 度ãã¹ã¯ãTMIN_INTPRIã¨åãããããããé«ãå¤ã«è¨å®ãã¦
|
---|
| 5095 | ãããç¶æ
|
---|
| 5096 | ã§çºçããCPUä¾å¤ãï¼ã«ã¼ãã«ç®¡çå¤ã®CPUä¾å¤ã¨æ±ãã
|
---|
| 5097 | ã»ã«ã¼ãã«å
|
---|
| 5098 | ã®CPUä¾å¤åºå
|
---|
| 5099 | ¥å£å¦çã§èµ·ããå¯è½æ§ã®ããCPUä¾å¤
|
---|
| 5100 | ã»ããã©ã«ãã®CPUä¾å¤ãã³ãã©ï¼default_exc_handlerï¼ã®æç¡ã¨å¦çå
|
---|
| 5101 | 容
|
---|
| 5102 |
|
---|
| 5103 | (3-5) æ¡å¼µããã±ã¼ã¸ã«é¢ããè¦å®
|
---|
| 5104 | ã»åæ¡å¼µããã±ã¼ã¸ã®ãµãã¼ãã®æç¡
|
---|
| 5105 | - ããªãã調æ´æ©è½æ¡å¼µããã±ã¼ã¸
|
---|
| 5106 | - ã¡ãã»ã¼ã¸ãããã¡æ©è½æ¡å¼µããã±ã¼ã¸
|
---|
| 5107 | - ãªã¼ãã©ã³ãã³ãã©æ©è½æ¡å¼µããã±ã¼ã¸
|
---|
| 5108 | - ã¿ã¹ã¯åªå
|
---|
| 5109 | 度æ¡å¼µããã±ã¼ã¸
|
---|
| 5110 | - å¶ç´ã¿ã¹ã¯æ¡å¼µããã±ã¼ã¸
|
---|
| 5111 | - ãµãåªå
|
---|
| 5112 | 度æ©è½æ¡å¼µããã±ã¼ã¸
|
---|
| 5113 | - åççææ©è½æ¡å¼µããã±ã¼ã¸
|
---|
| 5114 | ã»ãªã¼ãã©ã³ãã³ãã©æ©è½æ¡å¼µããã±ã¼ã¸ããµãã¼ãããå ´åã«ï¼æ®ãã
|
---|
| 5115 | ããã»ããµæéã«æå®ã§ããå¤ã®æ大å¤ï¼TMAX_OVRTIMã®å¤ï¼
|
---|
| 5116 | ã»åççææ©è½æ¡å¼µããã±ã¼ã¸ããµãã¼ãããå ´åã«ï¼åçã¡ã¢ãªç®¡çã®
|
---|
| 5117 | ãæ¹æ³
|
---|
| 5118 |
|
---|
| 5119 | (3-6) ãã®ä»
|
---|
| 5120 | ã»ãã®ä»ã®å¶éäºé
|
---|
| 5121 |
|
---|
| 5122 | ã»ãã®ä»ã®æ¡å¼µæ©è½
|
---|
| 5123 |
|
---|
| 5124 | (4) ã«ã¼ãã«ã®èµ·åï¼çµäºå¦çã«é¢ããæ
|
---|
| 5125 | å ±
|
---|
| 5126 | ã»ç¨æãã¦ããã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã®å¦çå
|
---|
| 5127 | 容
|
---|
| 5128 | ã»ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ããhardware_init_hookãå¼ã³åºãã¦ããå ´
|
---|
| 5129 | ãåã«ã¯ï¼hardware_init_hookãã¢ããªã±ã¼ã·ã§ã³ã§ç¨æããå ´åã®ä½æ
|
---|
| 5130 | ãæ¹æ³ãå¶éäºé
|
---|
| 5131 | ãªã©
|
---|
| 5132 | ã»ã«ã¼ãã«ãçµäºããå¾ã®æ¯èã
|
---|
| 5133 |
|
---|
| 5134 | (5) ã¡ã¢ãªããã
|
---|
| 5135 | ã»ããã©ã«ãã®ã¡ã¢ãªãããï¼ãã®å¤æ´æ¹æ³
|
---|
| 5136 |
|
---|
| 5137 | (6) ã¿ã¤ããã©ã¤ãé¢é£ã®æ
|
---|
| 5138 | å ±
|
---|
| 5139 | ã»é«å解è½ã¿ã¤ãã®å¨æã¨ã«ã¦ã³ãã¢ããã®é²ã¿å¹
|
---|
| 5140 |
|
---|
| 5141 | ã»ä½¿ç¨ãããªã½ã¼ã¹ï¼ã¿ã¤ãï¼
|
---|
| 5142 | ã»é«å解è½ã¿ã¤ãå²è¾¼ã¿ã®å²è¾¼ã¿åªå
|
---|
| 5143 | 度ã®å¤æ´æ¹æ³
|
---|
| 5144 | ã»ãªã¼ãã©ã³ã¿ã¤ãå²è¾¼ã¿ã®å²è¾¼ã¿åªå
|
---|
| 5145 | 度ã®å¤æ´æ¹æ³
|
---|
| 5146 |
|
---|
| 5147 | (7) ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã®æ
|
---|
| 5148 | å ±
|
---|
| 5149 | ã»ä½¿ç¨ãããªã½ã¼ã¹ï¼SIOã³ã³ããã¼ã©ï¼
|
---|
| 5150 | ã»éä¿¡ãã©ã¡ã¼ã¿ï¼ãã¼ã¬ã¼ãï¼ãããæ°ï¼ããªãã£ã®æç¡ï¼ã¹ããããããï¼
|
---|
| 5151 |
|
---|
| 5152 | (8) ã·ã¹ãã ãã°æ©è½ã®æ
|
---|
| 5153 | å ±
|
---|
| 5154 | ã»ã·ã¹ãã ãã°ã®ä½ã¬ãã«åºåã®å®ç¾æ¹æ³
|
---|
| 5155 | ã»éä¿¡ãã©ã¡ã¼ã¿ï¼ãã¼ã¬ã¼ãï¼ãããæ°ï¼ããªãã£ã®æç¡ï¼ã¹ããããããï¼
|
---|
| 5156 |
|
---|
| 5157 | (9) ã·ã¹ãã æ§ç¯æé
|
---|
| 5158 |
|
---|
| 5159 | (10) ã¿ã¼ã²ããã·ã¹ãã åºæã®æ³¨æäºé
|
---|
| 5160 |
|
---|
| 5161 | ã»ã¿ã¹ã¯ã³ã³ããã¹ãã«å«ã¾ããã¬ã¸ã¹ã¿ï¼å«ã¾ããªãã¬ã¸ã¹ã¿
|
---|
| 5162 |
|
---|
| 5163 | (11) é¡ä¼¼ã®ã¿ã¼ã²ããã«ãã¼ãã£ã³ã°ããéçºè
|
---|
| 5164 | åãã®åèæ
|
---|
| 5165 | å ±
|
---|
| 5166 |
|
---|
| 5167 | (12) ãã£ã¬ã¯ããªæ§æã»ãã¡ã¤ã«æ§æ
|
---|
| 5168 |
|
---|
| 5169 | (13) ãã¼ã¸ã§ã³å±¥æ´
|
---|
| 5170 |
|
---|
| 5171 | ã¾ãï¼å¿
|
---|
| 5172 | è¦ã«å¿ãã¦ï¼ã¿ã¼ã²ããä¾åé¨ã®è¨è¨ã¡ã¢ãï¼target_design.txtã«ç¨
|
---|
| 5173 | æããï¼éçºç°å¢ä¾åé¨ï¼ããã»ããµã³ã¢ä¾åé¨ï¼ãããä¾åé¨ã«é¢ããè¨è¨
|
---|
| 5174 | ã¡ã¢ãåãåãã¦ããããï¼ãã¡ã¤ã«ã大ãããªãå ´åã«ã¯è¤æ°ã®ãã¡ã¤ã«ã«
|
---|
| 5175 | åå²ãã¦ããããï¼ãã®å ´åã«ã¯ï¼target_design.txtä¸ã«ãããã®ãã¡ã¤ã«å
|
---|
| 5176 | ãè¨è¿°ãããã¨ï¼
|
---|
| 5177 |
|
---|
| 5178 | 9.2 ããã±ã¼ã¸è¨è¿°ãã¡ã¤ã«
|
---|
| 5179 |
|
---|
| 5180 | ãªãªã¼ã¹ããã±ã¼ã¸ï¼åå¥ããã±ã¼ã¸ããã³ç°¡æããã±ã¼ã¸ï¼ãä½æãããã
|
---|
| 5181 | ã«ï¼ããã±ã¼ã¸ã«å«ãããã¡ã¤ã«ãè¨è¿°ããããã±ã¼ã¸è¨è¿°ãã¡ã¤ã«ãç¨æã
|
---|
| 5182 | ãï¼ããã±ã¼ã¸è¨è¿°ãã¡ã¤ã«ã®å称ã¯ï¼åå¥ããã±ã¼ã¸ç¨ãMANIFESTï¼ç°¡æãã
|
---|
| 5183 | ã±ã¼ã¸ç¨ãE_PACKAGEã¨ããï¼
|
---|
| 5184 |
|
---|
| 5185 | ä¾ãã°ï¼arch/arm_gccãã£ã¬ã¯ããªã«ç½®ãããMANIFESTãã¡ã¤ã«ãç¨ãã¦åå¥
|
---|
| 5186 | ããã±ã¼ã¸ãä½æããå ´åã«ã¯ï¼æ¬¡ã®ã³ãã³ããå®è¡ããï¼
|
---|
| 5187 |
|
---|
| 5188 | % ruby utils/makerelease.rb arch/arm_gcc/MANIFEST
|
---|
| 5189 |
|
---|
| 5190 | ãã®ã³ãã³ãã«ããï¼RELEASE/asp3_arch_arm_gcc-<ãã¼ã¸ã§ã³çªå·>.tar.gzã
|
---|
| 5191 | ä½æãããï¼ã¾ãï¼target/ct11mpcore_gccãã£ã¬ã¯ããªã«ç½®ãããE_PACKAGE
|
---|
| 5192 | ãã¡ã¤ã«ãç¨ãã¦ç°¡æããã±ã¼ã¸ãä½æããå ´åã«ã¯ï¼æ¬¡ã®ã³ãã³ããå®è¡ã
|
---|
| 5193 | ãï¼
|
---|
| 5194 |
|
---|
| 5195 | % ruby utils/makerelease.rb target/ct11mpcore_gcc/E_PACKAGE
|
---|
| 5196 |
|
---|
| 5197 | ãã®ã³ãã³ãã«ããï¼RELEASE/asp3_ct11mpcore_gcc-<ãã¼ã¸ã§ã³çªå·>.tar.gz
|
---|
| 5198 | ãä½æãããï¼RELEASEãã£ã¬ã¯ããªããªãå ´åã«ã¯ï¼ãã£ã¬ã¯ããªãä½ãã
|
---|
| 5199 | ãï¼ï¼
|
---|
| 5200 |
|
---|
| 5201 | ãªãï¼makerelease.rbã¯ï¼ASP3ã«ã¼ãã«ã®ã½ã¼ã¹ãã¡ã¤ã«ãç½®ããããã£ã¬ã¯
|
---|
| 5202 | ããªãï¼asp3ã¨ããå称ã§ãããã¨ãä»®å®ãã¦ããï¼ç°ãªãå称ã®å ´åã§ããã
|
---|
| 5203 | ã±ã¼ã¸ã¯ä½æã§ãããï¼ããã±ã¼ã¸ãå±éããæã«å±éããããã£ã¬ã¯ããªã
|
---|
| 5204 | asp3ã§ãªããªãï¼ï¼ã¾ãï¼æ¨æºã®tarã³ãã³ããGNU tarã§ãããã¨ï¼æ£ç¢ºã«ã¯ï¼
|
---|
| 5205 | zãªãã·ã§ã³ã«å¯¾å¿ãã¦ãããã¨ï¼ãæ³å®ãã¦ããï¼
|
---|
| 5206 |
|
---|
| 5207 | ããã±ã¼ã¸è¨è¿°ãã¡ã¤ã«ã«ã¯ï¼ããã±ã¼ã¸ã«å«ãããã¡ã¤ã«åãï¼ããã±ã¼ã¸
|
---|
| 5208 | è¨è¿°ãã¡ã¤ã«ãç½®ããããã£ã¬ã¯ããªããã®ç¸å¯¾ãã¹åã§ï¼1è¡ã«1ã¤ãã¤è¨è¿°
|
---|
| 5209 | ããï¼ã¾ãï¼å¿
|
---|
| 5210 | è¦ã«å¿ãã¦ï¼ä»¥ä¸ã®ãã£ã¬ã¯ãã£ããå«ããï¼
|
---|
| 5211 |
|
---|
| 5212 | (a) E_PACKAGE <ç°¡æããã±ã¼ã¸å>
|
---|
| 5213 |
|
---|
| 5214 | ç°¡æããã±ã¼ã¸åãæå®ããï¼ç°¡æããã±ã¼ã¸è¨è¿°ãã¡ã¤ã«ï¼E_PACKAGEï¼ã®å
|
---|
| 5215 |
|
---|
| 5216 | é ã«è¨è¿°ããï¼ç°¡æããã±ã¼ã¸åã¯ï¼asp3_<ã¿ã¼ã²ããç¥ç§°>ã¨ããï¼ä¾ãã°ï¼
|
---|
| 5217 | ã¿ã¼ã²ããç¥ç§°ãct11mpcore_gccã®å ´åã«ã¯ï¼asp3_ct11mpcore_gccã¨ãªãï¼å
|
---|
| 5218 | å¥ããã±ã¼ã¸ã¨åºå¥ããããã«ï¼ç°¡æããã±ã¼ã¸ã®ãã¡ã¤ã«åã«ã¯"target"ã
|
---|
| 5219 | å«ããªãï¼
|
---|
| 5220 |
|
---|
| 5221 | (b) PACKAGE <åå¥ããã±ã¼ã¸å>
|
---|
| 5222 |
|
---|
| 5223 | åå¥ããã±ã¼ã¸åãæå®ããï¼åå¥ããã±ã¼ã¸è¨è¿°ãã¡ã¤ã«ï¼MANIFESTï¼ã®å
|
---|
| 5224 |
|
---|
| 5225 | é ã«è¨è¿°ããï¼ã¾ãï¼ããããã¤ã³ã¯ã«ã¼ããããåãã¡ã¤ã«ã®å
|
---|
| 5226 | é ã«ãè¨è¿°
|
---|
| 5227 | ãï¼ãããã¤ã³ã¯ã«ã¼ããã¦ããåå¥ããã±ã¼ã¸åãæå®ããï¼ã¿ã¼ã²ããä¾
|
---|
| 5228 | åé¨ã®åå¥ããã±ã¼ã¸åã¯ï¼åå¥ããã±ã¼ã¸è¨è¿°ãã¡ã¤ã«ãç½®ããããã£ã¬ã¯
|
---|
| 5229 | ããªã®ç¸å¯¾ãã¹ä¸ã®"/"ã"_"ã«ç½®ãæããæååãï¼"asp3_"ã®å¾ã«ã¤ãªããã
|
---|
| 5230 | ã®ã¨ããï¼ä¾ãã°ï¼åå¥ããã±ã¼ã¸è¨è¿°ãã¡ã¤ã«ãarch/arm_gcc/MANIFESTã®å ´
|
---|
| 5231 | åã«ã¯ï¼asp3_arch_arm_gccã¨ãªãï¼
|
---|
| 5232 |
|
---|
| 5233 | (c) VERSION <ãã¼ã¸ã§ã³çªå·>
|
---|
| 5234 |
|
---|
| 5235 | ããã±ã¼ã¸ã®ãã¼ã¸ã§ã³çªå·ãæå®ããï¼ç°¡æããã±ã¼ã¸è¨è¿°ãã¡ã¤ã«ããã³
|
---|
| 5236 | åå¥ããã±ã¼ã¸è¨è¿°ãã¡ã¤ã«ã®ä¸ã«è¨è¿°ããï¼ç°¡æããã±ã¼ã¸ã«ããã¦ï¼ãã¼
|
---|
| 5237 | ã¸ã§ã³çªå·ãããã±ã¼ã¸åããæ¥ä»ã¨ããå ´åã«ã¯ï¼ããã±ã¼ã¸çªå·ã®ä»£ãã
|
---|
| 5238 | ã«%dateã¨è¨è¿°ããï¼
|
---|
| 5239 |
|
---|
| 5240 | ãã¼ã¸ã§ã³çªå·ã®ä»ä¸æ¹æ³ã«ã¤ãã¦ã¯ï¼ãTOPPERS/ASP3ã«ã¼ãã« ã¦ã¼ã¶ã¼ãºã
|
---|
| 5241 | ãã¥ã¢ã«ãã®ã2.2 ç°¡æããã±ã¼ã¸ãããã³ã2.3 åå¥ããã±ã¼ã¸ãã®ç¯ãå
|
---|
| 5242 | ç
|
---|
| 5243 | §ãããã¨ï¼
|
---|
| 5244 |
|
---|
| 5245 | (d) INCLUDE <ãã¡ã¤ã«å>
|
---|
| 5246 |
|
---|
| 5247 | å¥ã®ããã±ã¼ã¸è¨è¿°ãã¡ã¤ã«ãã¤ã³ã¯ã«ã¼ãããï¼ç°¡æããã±ã¼ã¸è¨è¿°ãã¡ã¤
|
---|
| 5248 | ã«ããã¯ï¼åå¥ããã±ã¼ã¸è¨è¿°ãã¡ã¤ã«ã®ã¿ãã¤ã³ã¯ã«ã¼ãããã®ãååã¨ã
|
---|
| 5249 | ãï¼åå¥ããã±ã¼ã¸è¨è¿°ãã¡ã¤ã«ããã¤ã³ã¯ã«ã¼ãããããã¡ã¤ã«ä¸ã§æå®ã
|
---|
| 5250 | ããåå¥ããã±ã¼ã¸åã¯ï¼ãã¹ã¦ä¸è´ãã¦ããªããã°ãªããªãï¼
|
---|
| 5251 |
|
---|
| 5252 |
|
---|
| 5253 | ï¼ï¼ï¼ãªãã¡ã¬ã³ã¹
|
---|
| 5254 |
|
---|
| 5255 | 10.1 ã¿ã¼ã²ããä¾åé¨ã®ãã¡ã¤ã«ä¸è¦§
|
---|
| 5256 |
|
---|
| 5257 | æ¨æºçãªã¿ã¼ã²ããä¾åé¨ã®ãã¡ã¤ã«æ§æã¯æ¬¡ã®éãã§ããï¼
|
---|
| 5258 |
|
---|
| 5259 | Makefile.target Makefileã®ã¿ã¼ã²ããä¾åé¨ï¼ï¼ç« ï¼
|
---|
| 5260 | target_offset.trb ãªãã»ãããã¡ã¤ã«çæç¨ã®çæã¹ã¯ãªããï¼2.5.1ç¯ï¼
|
---|
| 5261 | ãªãã·ã§ã³ï¼
|
---|
| 5262 |
|
---|
| 5263 | target_stddef.h TOPPERSå
|
---|
| 5264 | ±éå®ç¾©ï¼t_stddef.hï¼ã®ã¿ã¼ã²ããä¾åé¨ï¼ï¼
|
---|
| 5265 | ç« ï¼ï¼ã¢ããªã±ã¼ã·ã§ã³ã¨ã«ã¼ãã«ã®ä¸¡æ¹ããã¤ã³ã¯ã«ã¼
|
---|
| 5266 | ãããã
|
---|
| 5267 | target_sil.h ã·ã¹ãã ã¤ã³ã¿ãã§ã¼ã¹ã¬ã¤ã¤ï¼sil.hï¼ã®ã¿ã¼ã²ããä¾
|
---|
| 5268 | åé¨ï¼ï¼ç« ï¼ï¼ã¢ããªã±ã¼ã·ã§ã³ã¨ã«ã¼ãã«ã®ä¸¡æ¹ãã
|
---|
| 5269 | ã¤ã³ã¯ã«ã¼ãããã
|
---|
| 5270 | target_kernel.h ã«ã¼ãã«APIï¼kernel.hï¼ã®ã¿ã¼ã²ããä¾åé¨ï¼ï¼ç« ï¼ï¼
|
---|
| 5271 | ã¢ããªã±ã¼ã·ã§ã³ã¨ã«ã¼ãã«ã®ä¸¡æ¹ããã¤ã³ã¯ã«ã¼ãã
|
---|
| 5272 | ãã
|
---|
| 5273 |
|
---|
| 5274 | target_kernel_impl.h ã«ã¼ãã«å®è£
|
---|
| 5275 | ã®ã¿ã¼ã²ããä¾åé¨ã®ããããã¡ã¤ã«ï¼ï¼
|
---|
| 5276 | ç« ï¼ï¼ã«ã¼ãã«ã®ã¿ããã¤ã³ã¯ã«ã¼ãããã
|
---|
| 5277 | target_kernel_impl.c ã«ã¼ãã«å®è£
|
---|
| 5278 | ã®ã¿ã¼ã²ããä¾åé¨ã®Cè¨èªã§è¨è¿°ããã
|
---|
| 5279 | é¨åï¼ï¼ç« ï¼ãªãã·ã§ã³ï¼
|
---|
| 5280 |
|
---|
| 5281 | target_support.S ã¿ã¼ã²ããä¾åé¨ã®ã¢ã»ã³ããªè¨èªã§è¨è¿°ãããé¨åï¼ï¼
|
---|
| 5282 | ç« ï¼ãªãã·ã§ã³ï¼
|
---|
| 5283 | target_rename.def ã¿ã¼ã²ããä¾åé¨ã®ããã®ãªãã¼ã è¨è¿°ï¼6.12ç¯ï¼
|
---|
| 5284 | target_rename.h target_rename.defããçæããããã¡ã¤ã«ï¼6.12ç¯ï¼
|
---|
| 5285 | target_unrename.h target_rename.defããçæããããã¡ã¤ã«ï¼6.12ç¯ï¼
|
---|
| 5286 | target_kernel.cfg ã«ã¼ãã«å®è£
|
---|
| 5287 | ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ï¼6.16ç¯ï¼
|
---|
| 5288 | target_timer.cfg ã¿ã¤ããã©ã¤ãã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡
|
---|
| 5289 | ã¤ã«ï¼6.13ç¯ï¼
|
---|
| 5290 | target_timer.h ã¿ã¤ããã©ã¤ãã®ããããã¡ã¤ã«ï¼6.13ç¯ï¼ï¼ã«ã¼ãã«
|
---|
| 5291 | ã®ã¿ããã¤ã³ã¯ã«ã¼ãããã
|
---|
| 5292 | target_timer.c ã¿ã¤ããã©ã¤ãã®å®è£
|
---|
| 5293 | ãã¡ã¤ã«ï¼6.13ç¯ï¼ãªãã·ã§ã³ï¼
|
---|
| 5294 | ã·ã¹ãã ç¥ç§°.h ã¿ã¼ã²ããã®ãã¼ãã¦ã§ã¢è³æºï¼å²è¾¼ã¿ãã³ãã©çªå·ã
|
---|
| 5295 | CPUä¾å¤ãã³ãã©çªå·ï¼ããã¤ã¹ã¬ã¸ã¹ã¿ã®çªå°ãªã©ï¼ã®
|
---|
| 5296 | å®ç¾©ãå«ãããããã¡ã¤ã«ï¼ã¢ããªã±ã¼ã·ã§ã³ã¨ã«ã¼ã
|
---|
| 5297 | ã«ã®ä¸¡æ¹ããã¤ã³ã¯ã«ã¼ããããï¼ï¼ç« ï¼ãªãã·ã§ã³ï¼
|
---|
| 5298 |
|
---|
| 5299 | target_sym.def ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã®å¤åå¾ã·ã³ãã«ãã¼ãã«ã®ã¿ã¼ã²ã
|
---|
| 5300 | ãä¾åé¨ï¼ï¼ç« ï¼ãªãã·ã§ã³ï¼
|
---|
| 5301 | target_kernel.trb ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã®ãã¹2ã®çæã¹ã¯ãªããã®ã¿ã¼ã²ã
|
---|
| 5302 | ãä¾åé¨ï¼7.2ç¯ï¼
|
---|
| 5303 | target_check.trb ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã®ãã¹3ã®çæã¹ã¯ãªããï¼7.3ç¯ï¼
|
---|
| 5304 | target_cfg1_out.h cfg1_out.cã®ãªã³ã¯ã«å¿
|
---|
| 5305 | è¦ãªã¹ã¿ãã®å®ç¾©ãã¡ã¤ã«ï¼7.4
|
---|
| 5306 | ç¯ï¼
|
---|
| 5307 |
|
---|
| 5308 | tSIOPort<ã·ã¹ãã ç¥ç§°>.cdl ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã®ã¿ã¼ã²ã
|
---|
| 5309 | ãä¾åé¨ã®ã»ã«ã¿ã¤ãã®å®ç¾©ï¼8.2ç¯ï¼
|
---|
| 5310 | tPutLog<ã·ã¹ãã ç¥ç§°>.cdl ä½ã¬ãã«åºåã®ã»ã«ã¿ã¤ãã®å®ç¾©ï¼8.3ç¯ï¼
|
---|
| 5311 | target.cdl ã¿ã¼ã²ããä¾åé¨ã®ã³ã³ãã¼ãã³ãè¨è¿°ãã¡ã¤ã«ï¼8.4ç¯ï¼
|
---|
| 5312 | target_syssvc.h ã·ã¹ãã ãµã¼ãã¹ã®ã¿ã¼ã²ããä¾åå®ç¾©ï¼8.5ç¯ï¼
|
---|
| 5313 | target_test.h ãã¹ãããã°ã©ã ã®ã¿ã¼ã²ããä¾åå®ç¾©ï¼8.6ç¯ï¼
|
---|
| 5314 |
|
---|
| 5315 | target_user.txt ã¦ã¼ã¶ã¼ãºããã¥ã¢ã«ï¼9.1ç¯ï¼
|
---|
| 5316 | target_design.txt è¨è¨ã¡ã¢ï¼9.1ç¯ï¼ãªãã·ã§ã³ï¼
|
---|
| 5317 | MANIFEST åå¥ããã±ã¼ã¸ã«å«ãããã¡ã¤ã«ã®ãªã¹ãï¼9.2ç¯ï¼ãªã
|
---|
| 5318 | ã·ã§ã³ï¼
|
---|
| 5319 | E_PACKAGE ç°¡æããã±ã¼ã¸ã«å«ãããã¡ã¤ã«ã®ãªã¹ãï¼9.2ç¯ï¼ãªã
|
---|
| 5320 | ã·ã§ã³ï¼
|
---|
| 5321 |
|
---|
| 5322 | 以ä¸
|
---|