[136] | 1 |
|
---|
| 2 | TOPPERS/ASPã«ã¼ãã«
|
---|
| 3 | æ©è½æ¡å¼µã»ãã¥ã¼ãã³ã°ã¬ã¤ã
|
---|
| 4 |
|
---|
| 5 | 対å¿ãã¼ã¸ã§ã³: Release 1.9.2
|
---|
| 6 | æçµæ´æ°: 2014å¹´1æ2æ¥
|
---|
| 7 |
|
---|
| 8 | ãã®ããã¥ã¡ã³ãã¯ï¼TOPPERS/ASPã«ã¼ãã«ãï¼æ©è½æ¡å¼µã»ãã¥ã¼ãã³ã°ããã
|
---|
| 9 | ãã®æ¹æ³ï¼ã¾ãã¯ãã³ãï¼ã説æãããã®ã§ããï¼
|
---|
| 10 |
|
---|
| 11 | ----------------------------------------------------------------------
|
---|
| 12 | TOPPERS/ASP Kernel
|
---|
| 13 | Toyohashi Open Platform for Embedded Real-Time Systems/
|
---|
| 14 | Advanced Standard Profile Kernel
|
---|
| 15 |
|
---|
| 16 | Copyright (C) 2005-2014 by Embedded and Real-Time Systems Laboratory
|
---|
| 17 | Graduate School of Information Science, Nagoya Univ., JAPAN
|
---|
| 18 |
|
---|
| 19 | ä¸è¨èä½æ¨©è
|
---|
| 20 | ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
|
---|
| 21 | ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹
|
---|
| 22 | å¤ã»åé
|
---|
| 23 | å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
|
---|
| 24 | (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
|
---|
| 25 | 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
|
---|
| 26 | ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼
|
---|
| 27 | (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
|
---|
| 28 | ç¨ã§ããå½¢ã§åé
|
---|
| 29 | å¸ããå ´åã«ã¯ï¼åé
|
---|
| 30 | å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨
|
---|
| 31 | è
|
---|
| 32 | ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
|
---|
| 33 | ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
|
---|
| 34 | (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
|
---|
| 35 | ç¨ã§ããªãå½¢ã§åé
|
---|
| 36 | å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
|
---|
| 37 | ã¨ï¼
|
---|
| 38 | (a) åé
|
---|
| 39 | å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è
|
---|
| 40 | ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
|
---|
| 41 | ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
|
---|
| 42 | (b) åé
|
---|
| 43 | å¸ã®å½¢æ
|
---|
| 44 | ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã«
|
---|
| 45 | å ±åãããã¨ï¼
|
---|
| 46 | (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
|
---|
| 47 | 害ãããï¼ä¸è¨èä½æ¨©è
|
---|
| 48 | ããã³TOPPERSããã¸ã§ã¯ããå
|
---|
| 49 | 責ãããã¨ï¼
|
---|
| 50 | ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
|
---|
| 51 | ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
|
---|
| 52 | ããã³TOPPERSããã¸ã§ã¯ãã
|
---|
| 53 | å
|
---|
| 54 | 責ãããã¨ï¼
|
---|
| 55 |
|
---|
| 56 | æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
|
---|
| 57 | ã
|
---|
| 58 | ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
|
---|
| 59 | ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
|
---|
| 60 | ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã
|
---|
| 61 | ã®è²¬ä»»ãè² ããªãï¼
|
---|
| 62 |
|
---|
| 63 | $Id: extension.txt 2676 2015-05-26 15:16:46Z ertl-hiro $
|
---|
| 64 | ----------------------------------------------------------------------
|
---|
| 65 |
|
---|
| 66 | âç®æ¬¡
|
---|
| 67 |
|
---|
| 68 | ã»ã¨ã©ã¼ãã§ãã¯ã®çç¥
|
---|
| 69 | ã»ã¿ã¤ã ãã£ãã¯ã®å¨æã®å¤æ´
|
---|
| 70 | ã»ç¹æ®ç®çã®ã¬ã¸ã¹ã¿ã®æ±ã
|
---|
| 71 | ã»æ¡å¼µããã±ã¼ã¸ã®ä½¿ãæ¹
|
---|
| 72 | - ãã¥ã¼ããã¯ã¹æ©è½æ¡å¼µããã±ã¼ã¸
|
---|
| 73 | - ã¡ãã»ã¼ã¸ãããã¡æ©è½æ¡å¼µããã±ã¼ã¸
|
---|
| 74 | - ãªã¼ãã©ã³ãã³ãã©æ©è½æ¡å¼µããã±ã¼ã¸
|
---|
| 75 | - ã¿ã¹ã¯åªå
|
---|
| 76 | 度æ¡å¼µããã±ã¼ã¸
|
---|
| 77 | - å¶ç´ã¿ã¹ã¯æ¡å¼µããã±ã¼ã¸
|
---|
| 78 | - åççææ©è½æ¡å¼µããã±ã¼ã¸
|
---|
| 79 | ã»CPUä¾å¤ãã³ãã©ã®ç´æ¥å¼åºã
|
---|
| 80 | - TA_DIRECTå±æ§ã®å°å
|
---|
| 81 | ¥
|
---|
| 82 | - ã¿ã¼ã²ããä¾åé¨ã®ä¿®æ£ç®æ
|
---|
| 83 |
|
---|
| 84 |
|
---|
| 85 | âã¨ã©ã¼ãã§ãã¯ã®çç¥
|
---|
| 86 |
|
---|
| 87 | ãµã¼ãã¹ã³ã¼ã«ã®ãªã¼ãããããåæ¸ããããã«ï¼éçãªã¨ã©ã¼ã®ãã§ãã¯ã
|
---|
| 88 | çç¥ããå ´åãããï¼ASPã«ã¼ãã«ã«ããã¦ã¯ï¼éçãªã¨ã©ã¼ã®ãã§ãã¯ã¯ãã¹
|
---|
| 89 | ã¦CHECKãã¯ããç¨ãã¦è¡ã£ã¦ããããï¼kernel/check.hä¸ã®CHECKãã¯ããç·¨
|
---|
| 90 | éãããã¨ã§ï¼éçãªã¨ã©ã¼ã®ãã§ãã¯ãçç¥ãããã¨ãã§ããï¼
|
---|
| 91 |
|
---|
| 92 | ä¾ãã°ï¼ã¿ã¹ã¯IDã®ãã§ãã¯ãçç¥ãããå ´åã«ã¯ï¼CHECK_TSKIDãã¯ãã¨
|
---|
| 93 | CHECK_TSKID_SELFãã¯ããï¼æ¬¡ã®ããã«ä¿®æ£ããã°ããï¼
|
---|
| 94 |
|
---|
| 95 | #define CHECK_TSKID(tskid) ((void)(tskid))
|
---|
| 96 | #define CHECK_TSKID_SELF(tskid) ((void)(tskid))
|
---|
| 97 |
|
---|
| 98 | ãããã®ãã¯ãã®å®ç¾©ã空ã«ããæ¹æ³ããããï¼ãã©ã¡ã¼ã¿ã«å¯ä½ç¨ã®ããå¼
|
---|
| 99 | ãæ¸ããã¦ããå¯è½æ§ãèããã¨ï¼å¯ä½ç¨ã®ããå¼ã¯æ¸ãã¹ãã§ã¯ãªããï¼æ¸
|
---|
| 100 | ããã¦ããã³ã¼ããå
|
---|
| 101 | ¥ã£ã¦ããå¯è½æ§ãå
|
---|
| 102 | ¨ããªãã¨ã¯è¨ããªãï¼ï¼ä¸ã®å®ç¾©ã®
|
---|
| 103 | æ¹ãå®å
|
---|
| 104 | ¨ã§ããï¼å¯ä½ç¨ã®ãªãå¼ã§ããã°ï¼æé©åã«ãã£ã¦åé¤ãããã¨ãã§
|
---|
| 105 | ããããï¼å®è¡æå¹çã«ã¯å½±é¿ããªãã¨æå¾
|
---|
| 106 | ã§ããï¼ãã ãï¼æé©åã«ãã£ã¦
|
---|
| 107 | åé¤ãããªãå ´åã«ã¯ï¼å¯ä½ç¨ã®ããå¼ãæ¸ããã¦ããªããã¨ã確èªããä¸ã§ï¼
|
---|
| 108 | ãã¯ãã®å®ç¾©ã空ã«ãã¦ãããï¼
|
---|
| 109 |
|
---|
| 110 |
|
---|
| 111 | âã¿ã¤ã ãã£ãã¯ã®å¨æã®å¤æ´
|
---|
| 112 |
|
---|
| 113 | ASPã«ã¼ãã«ã§ã¯ï¼ã«ã¼ãã«ã¸ã¿ã¤ã ãã£ãã¯ãä¾çµ¦ããå¨æã¯1ããªç§ãæ¨æº
|
---|
| 114 | ã¨ãªã£ã¦ãããï¼ä½éãªããã»ããµã§ã¯1ããªç§æ¯ã«å²è¾¼ã¿ãå¦çãããªã¼ããã
|
---|
| 115 | ããåé¡ã«ãªãå ´åãããï¼ããã§ï¼ã¢ããªã±ã¼ã·ã§ã³ãå¿
|
---|
| 116 | è¦ã¨ããæé精度
|
---|
| 117 | ãç²ãå ´åã«ã¯ï¼ã¿ã¤ã ãã£ãã¯ã®å¨æãé·ããããã¨ã§ï¼ããã»ããµã®å¦ç
|
---|
| 118 | è² è·ãä½æ¸ããæ¹æ³ãããï¼
|
---|
| 119 |
|
---|
| 120 | ã¿ã¤ã ãã£ãã¯ã®å¨æã®ä¸ãæ¹ã¯ã¿ã¼ã²ããä¾åã§ããããï¼ãããå¤æ´ã§ã
|
---|
| 121 | ããã©ããã¯ï¼ã¿ã¼ã²ããä¾åé¨ã®ã¿ã¤ããã©ã¤ãã®å®è£
|
---|
| 122 | ã調ã¹ãå¿
|
---|
| 123 | è¦ãããï¼
|
---|
| 124 | æ¨æºçã«ã¯ï¼target_kernel.hï¼ã¾ãã¯ããããã¤ã³ã¯ã«ã¼ãããããã¡ã¤ã«ï¼
|
---|
| 125 | ä¸ã«å®ç¾©ããã¦ããTIC_NUMEã¨TIC_DENOãæ¸ãæãããã¨ã§ï¼å¤æ´ã§ãããã
|
---|
| 126 | ã«å®è£
|
---|
| 127 | ããã¦ããï¼
|
---|
| 128 |
|
---|
| 129 |
|
---|
| 130 | âç¹æ®ç®çã®ã¬ã¸ã¹ã¿ã®æ±ã
|
---|
| 131 |
|
---|
| 132 | FPUã¬ã¸ã¹ã¿ãDSPã¬ã¸ã¹ã¿ãªã©ã®ç¹æ®ç®çã®ã¬ã¸ã¹ã¿ï¼ä»¥ä¸ï¼ç¹æ®ã¬ã¸ã¹ã¿ï¼
|
---|
| 133 | ãæã¤ããã»ããµã§ã¯ï¼ã¬ã¸ã¹ã¿ã®æ±ãã«ã¤ãã¦å¤§ãã次ã®3ã¤ã®æ¹æ³ãèãã
|
---|
| 134 | ããï¼
|
---|
| 135 |
|
---|
| 136 | (1) ç¹æ®ã¬ã¸ã¹ã¿ãã¿ã¹ã¯ã®ã³ã³ããã¹ãã«å«ããªã
|
---|
| 137 |
|
---|
| 138 | 1ã¤ã®ã¿ã¹ã¯ã®ã¿ãç¹æ®ã¬ã¸ã¹ã¿ã使ç¨ããå ´åã«ã¯ï¼ç¹æ®ã¬ã¸ã¹ã¿ãã¿ã¹ã¯ã®
|
---|
| 139 | ã³ã³ããã¹ãã«å«ããå¿
|
---|
| 140 | è¦ããªãï¼ã«ã¼ãã«ã§ç®¡çããå¿
|
---|
| 141 | è¦ããªãï¼
|
---|
| 142 |
|
---|
| 143 | (2) ç¹æ®ã¬ã¸ã¹ã¿ãã¿ã¹ã¯ã®ã³ã³ããã¹ãã«å«ãã
|
---|
| 144 |
|
---|
| 145 | è¤æ°ã®ã¿ã¹ã¯ãç¹æ®ã¬ã¸ã¹ã¿ã使ç¨ããå ´åã«ã¯ï¼ç¹æ®ã¬ã¸ã¹ã¿ãã¿ã¹ã¯ã®ã³
|
---|
| 146 | ã³ããã¹ãã«å«ããæ¹æ³ãæãåç´ã§ããï¼ãã®ããã«ã¯ï¼ã¿ã¹ã¯ãã£ã¹ãã
|
---|
| 147 | ãã£ã¨å²è¾¼ã¿ãã³ãã©/CPUä¾å¤ãã³ãã©ã®åºå
|
---|
| 148 | ¥å£ã§ï¼ç¹æ®ã¬ã¸ã¹ã¿ãä¿å/復帰
|
---|
| 149 | ããã³ã¼ãã追å ããå¿
|
---|
| 150 | è¦ãããï¼å®éã®ä¿å/å¾©å¸°å ´æã¯ï¼ã¹ã¯ã©ããã¬ã¸ã¹
|
---|
| 151 | ã¿ã¨ãã以å¤ã®ã¬ã¸ã¹ã¿ã§ç°ãªãããï¼æ³¨æãå¿
|
---|
| 152 | è¦ã§ããï¼
|
---|
| 153 |
|
---|
| 154 | (3) ç¹æ®ã¬ã¸ã¹ã¿ãã³ã³ããã¹ãã«å«ãããã©ãããã¿ã¹ã¯æ¯ã«æå®ãã
|
---|
| 155 |
|
---|
| 156 | ç¹æ®ã¬ã¸ã¹ã¿ã使ç¨ããã¿ã¹ã¯ã¨ä½¿ç¨ããªãã¿ã¹ã¯ãããå ´åã§ï¼ãã¹ã¦ã®ã¿
|
---|
| 157 | ã¹ã¯ã®ã³ã³ããã¹ãã«ç¹æ®ã¬ã¸ã¹ã¿ãå«ããæ¹æ³ã§ã¯ãªã¼ãããããåé¡ã«ãª
|
---|
| 158 | ãå ´åã«ã¯ï¼ç¹æ®ã¬ã¸ã¹ã¿ãã³ã³ããã¹ãã«å«ãããã©ãããã¿ã¹ã¯æ¯ã«æå®
|
---|
| 159 | ããæ¹æ³ãæåã§ããï¼ãããå®ç¾ããæ¹æ³ã¯æ¬¡ã®éãã§ããï¼
|
---|
| 160 |
|
---|
| 161 | ã¾ãï¼ç¹æ®ã¬ã¸ã¹ã¿ãã³ã³ããã¹ãã«å«ãããã©ãããæå®ããã¿ã¹ã¯å±æ§ã
|
---|
| 162 | è¨ããï¼ä¾ãã°ï¼FPUã¬ã¸ã¹ã¿ã§ããã°ï¼ã¿ã¹ã¯å±æ§ã«TA_FPUãè¨ããï¼ã¿ã¹ã¯
|
---|
| 163 | ãã£ã¹ãããã£ã§ã¯ï¼ã¿ã¹ã¯å±æ§ãè¦ã¦ï¼ãã®å±æ§ãè¨å®ããã¦ããã°ç¹æ®ã¬
|
---|
| 164 | ã¸ã¹ã¿ãä¿å/復帰ããï¼
|
---|
| 165 |
|
---|
| 166 | ãã¼ãã¦ã§ã¢çã«ç¹æ®ã¬ã¸ã¹ã¿ããã£ã¹ã¨ã¼ãã«ã§ããå ´åã«ã¯ï¼ãã®å±æ§ã
|
---|
| 167 | è¨å®ããã¦ããªãã¿ã¹ã¯ã«åãæããæã«ç¹æ®ã¬ã¸ã¹ã¿ããã£ã¹ã¨ã¼ãã«ãã
|
---|
| 168 | ã¨ï¼èª¤ã£ã¦ç¹æ®ã¬ã¸ã¹ã¿ã使ã£ãå ´åãæ¤åºã§ããï¼
|
---|
| 169 |
|
---|
| 170 | ããã«ï¼å²è¾¼ã¿ãã³ãã©ï¼ISRï¼å¨æãã³ãã©ï¼ã¢ã©ã¼ã ãã³ãã©ãå«ãï¼ã
|
---|
| 171 | CPUä¾å¤ãã³ãã©ã§ç¹æ®ã¬ã¸ã¹ã¿ã使ç¨ããå ´åã«ã¯ï¼ãããã®å¦çåä½ã«ã
|
---|
| 172 | ç¹æ®ã¬ã¸ã¹ã¿ã使ç¨ãããã©ããã®å±æ§ãè¨ããæ¹æ³ãèããããï¼
|
---|
| 173 |
|
---|
| 174 | ããã§ï¼ã¿ã¹ã¯ï¼ã¾ãã¯ä»ã®å¦çåä½ï¼ãç¹æ®ã¬ã¸ã¹ã¿ã使ç¨ãããã©ããã¯ï¼
|
---|
| 175 | ã³ã³ãã¤ã©ãã©ã¤ãã©ãªã«ä¾åããå ´åãããããï¼æ³¨æãå¿
|
---|
| 176 | è¦ã§ããï¼ä¾ã
|
---|
| 177 | ã°ï¼æµ®åå°æ°ç¹æ¼ç®ãå«ã¾ãªãããã°ã©ã ã§ãã£ã¦ãï¼ã³ã³ãã¤ã©ããã®æ¹ã
|
---|
| 178 | æ§è½ãé«ãã¨å¤æããã°ï¼æµ®åå°æ°ç¹å½ä»¤ãçæããå ´åãããï¼
|
---|
| 179 |
|
---|
| 180 |
|
---|
| 181 | âæ¡å¼µããã±ã¼ã¸ã®ä½¿ãæ¹
|
---|
| 182 |
|
---|
| 183 | ASPã«ã¼ãã«ã§ã¯ï¼ããã¤ãã®æ¡å¼µæ©è½ãå®è£
|
---|
| 184 | ããããã«ï¼æ¡å¼µããã±ã¼ã¸ããµ
|
---|
| 185 | ãã¼ããã¦ããï¼æ¡å¼µããã±ã¼ã¸ã¯ï¼extensionãã£ã¬ã¯ããªã«ç½®ãã¦ããï¼
|
---|
| 186 |
|
---|
| 187 | æ¡å¼µããã±ã¼ã¸ã使ç¨ããå ´åã«ã¯ï¼UNIXã§ããã°ï¼ASPã«ã¼ãã«ã®ã½ã¼ã¹ãã¡
|
---|
| 188 | ã¤ã«ã®ããããã£ã¬ã¯ããªã§ï¼
|
---|
| 189 |
|
---|
| 190 | % cp -r extension/<æ¡å¼µããã±ã¼ã¸ã®ãã£ã¬ã¯ããªå>/* .
|
---|
| 191 |
|
---|
| 192 | ãå®è¡ããï¼ãã®æï¼å
|
---|
| 193 | ã®ï¼æ¡å¼µåã®ï¼ã½ã¼ã¹ãã¡ã¤ã«ã¯ä¸æ¸ãããã¦ãã¾ã
|
---|
| 194 | ããï¼æ¡å¼µããªãã«ã¼ãã«ã使ç¨ãããå ´åã«ã¯ï¼å¥ã®ãã£ã¬ã¯ããªã«ã½ã¼ã¹
|
---|
| 195 | ãã¡ã¤ã«ãå±éãã¦ï¼ä¸ã®ã³ãã³ããå®è¡ãããã¨ï¼
|
---|
| 196 |
|
---|
| 197 | è¤æ°ã®æ¡å¼µããã±ã¼ã¸ã使ããã¨ã¯èæ
|
---|
| 198 | ®ãã¦ããªããï¼ä»¥ä¸ã«è¿°ã¹ãã±ã¼ã¹ã
|
---|
| 199 | é¤ãã¦ã¯ï¼æä½æ¥ã«ããè¤æ°ã®æ¡å¼µããã±ã¼ã¸ããã¼ã¸ãããã¨ã¯å¯è½ã§ããï¼
|
---|
| 200 | ç¾æç¹ã§ã¯ï¼ãã¥ã¼ããã¯ã¹æ©è½æ¡å¼µããã±ã¼ã¸ã¨å¶ç´ã¿ã¹ã¯æ¡å¼µããã±ã¼ã¸
|
---|
| 201 | ããã¼ã¸ãããã¨ã¯ã§ããªãï¼ã¾ãï¼åççææ©è½æ¡å¼µããã±ã¼ã¸ãä»ã®æ¡å¼µ
|
---|
| 202 | ããã±ã¼ã¸ã¨ãã¼ã¸ãããã¨ã¯èæ
|
---|
| 203 | ®ãã¦ããªãï¼
|
---|
| 204 |
|
---|
| 205 | âãã¥ã¼ããã¯ã¹æ©è½æ¡å¼µããã±ã¼ã¸
|
---|
| 206 |
|
---|
| 207 | ãã¥ã¼ããã¯ã¹æ©è½æ¡å¼µããã±ã¼ã¸ã¯ï¼ãã¥ã¼ããã¯ã¹æ©è½ã追å ããããã®
|
---|
| 208 | æ¡å¼µããã±ã¼ã¸ã§ããï¼ãã ãï¼åªå
|
---|
| 209 | 度é転ãå¶å¾¡ããããã®ä»çµã¿ã¨ãã¦ï¼
|
---|
| 210 | åªå
|
---|
| 211 | 度ä¸éãã¥ã¼ããã¯ã¹ï¼TA_CEILINGå±æ§ã®ãã¥ã¼ããã¯ã¹ï¼ã®ã¿ããµãã¼
|
---|
| 212 | ããï¼åªå
|
---|
| 213 | 度ç¶æ¿ãã¥ã¼ããã¯ã¹ï¼TA_INHERITå±æ§ã®ãã¥ã¼ããã¯ã¹ï¼ã¯ãµãã¼
|
---|
| 214 | ããã¦ããªãï¼ãã¥ã¼ããã¯ã¹æ©è½æ¡å¼µããã±ã¼ã¸ã¯ï¼extension/mutexãã£ã¬
|
---|
| 215 | ã¯ããªã«ç½®ãã¦ããï¼
|
---|
| 216 |
|
---|
| 217 | ãã¥ã¼ããã¯ã¹æ©è½æ¡å¼µããã±ã¼ã¸ã§ã¯ï¼TOPPERS_SUPPORT_MUTEXãkernel.hä¸
|
---|
| 218 | ã§å®ç¾©ããã¦ããã®ã§ï¼ãããç¨ãã¦ãã¥ã¼ããã¯ã¹æ©è½ã使ç¨ã§ãããã©ã
|
---|
| 219 | ããå¤å¥ãããã¨ãã§ããï¼
|
---|
| 220 |
|
---|
| 221 | âã¡ãã»ã¼ã¸ãããã¡æ©è½æ¡å¼µããã±ã¼ã¸
|
---|
| 222 |
|
---|
| 223 | ã¡ãã»ã¼ã¸ãããã¡æ©è½æ¡å¼µããã±ã¼ã¸ã¯ï¼ã¡ãã»ã¼ã¸ãããã¡æ©è½ã追å ã
|
---|
| 224 | ãããã®æ¡å¼µããã±ã¼ã¸ã§ããï¼ã¡ãã»ã¼ã¸ãããã¡æ©è½æ¡å¼µããã±ã¼ã¸ã¯ï¼
|
---|
| 225 | extension/messagebufãã£ã¬ã¯ããªã«ç½®ãã¦ããï¼
|
---|
| 226 |
|
---|
| 227 | ã¡ãã»ã¼ã¸ãããã¡æ©è½æ¡å¼µããã±ã¼ã¸ã§ã¯ï¼TOPPERS_SUPPORT_MESSAGEBUFã
|
---|
| 228 | kernel.hä¸ã§å®ç¾©ããã¦ããã®ã§ï¼ãããç¨ãã¦ã¡ãã»ã¼ã¸ãããã¡æ©è½ã使
|
---|
| 229 | ç¨ã§ãããã©ãããå¤å¥ãããã¨ãã§ããï¼
|
---|
| 230 |
|
---|
| 231 | âãªã¼ãã©ã³ãã³ãã©æ©è½æ¡å¼µããã±ã¼ã¸
|
---|
| 232 |
|
---|
| 233 | ãªã¼ãã©ã³ãã³ãã©æ©è½æ¡å¼µããã±ã¼ã¸ã¯ï¼ãªã¼ãã©ã³ãã³ãã©æ©è½ã追å ã
|
---|
| 234 | ãããã®æ¡å¼µããã±ã¼ã¸ã§ããï¼ãã ãï¼ãã®æ¡å¼µããã±ã¼ã¸ã使ãããã«ã¯ï¼
|
---|
| 235 | ã¿ã¼ã²ããä¾åé¨ã対å¿ãã¦ããå¿
|
---|
| 236 | è¦ãããï¼ãªã¼ãã©ã³ãã³ãã©æ©è½æ¡å¼µãã
|
---|
| 237 | ã±ã¼ã¸ã¯ï¼extension/ovrhdrãã£ã¬ã¯ããªã«ç½®ãã¦ããï¼
|
---|
| 238 |
|
---|
| 239 | ãªã¼ãã©ã³ãã³ãã©æ©è½æ¡å¼µããã±ã¼ã¸ã§ï¼ã¿ã¼ã²ããä¾åé¨ãæ¡å¼µããã±ã¼
|
---|
| 240 | ã¸ã«å¯¾å¿ãã¦ããå ´åã«ã¯ï¼TOPPERS_SUPPORT_OVRHDRãkernel.hä¸ã§å®ç¾©ãã
|
---|
| 241 | ãã®ã§ï¼ãããç¨ãã¦ãªã¼ãã©ã³ã¿ã¤ãæ©è½ã使ç¨ã§ãããã©ãããå¤å¥ãã
|
---|
| 242 | ãã¨ãã§ããï¼
|
---|
| 243 |
|
---|
| 244 | âã¿ã¹ã¯åªå
|
---|
| 245 | 度æ¡å¼µããã±ã¼ã¸
|
---|
| 246 |
|
---|
| 247 | ã¿ã¹ã¯åªå
|
---|
| 248 | 度æ¡å¼µããã±ã¼ã¸ã¯ï¼ã¿ã¹ã¯åªå
|
---|
| 249 | 度ãæ大256段éã«æ¡å¼µããããã®
|
---|
| 250 | æ¡å¼µããã±ã¼ã¸ã§ããï¼ãã®æ¡å¼µããã±ã¼ã¸ã¯ï¼ã¿ã¹ã¯åªå
|
---|
| 251 | 度ã«å ãã¦ï¼ãã¼
|
---|
| 252 | ã¿åªå
|
---|
| 253 | 度ï¼ã¡ãã»ã¼ã¸åªå
|
---|
| 254 | 度ï¼å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³åªå
|
---|
| 255 | 度ã256段éã«æ¡å¼µ
|
---|
| 256 | ããï¼ã¿ã¹ã¯åªå
|
---|
| 257 | 度æ¡å¼µããã±ã¼ã¸ã¯ï¼extension/pri_levelãã£ã¬ã¯ããªã«ç½®
|
---|
| 258 | ãã¦ããï¼
|
---|
| 259 |
|
---|
| 260 | ã¿ã¹ã¯åªå
|
---|
| 261 | 度æ¡å¼µããã±ã¼ã¸ã§ã¯ï¼TOPPERS_SUPPORT_PRI_LEVELãkernel.hä¸ã§
|
---|
| 262 | å®ç¾©ããã¦ããã®ã§ï¼ãããç¨ãã¦ã¿ã¹ã¯åªå
|
---|
| 263 | 度ã®ç¯å²ãæ¡å¼µããã¦ãããã©
|
---|
| 264 | ãããå¤å¥ãããã¨ãã§ããï¼
|
---|
| 265 |
|
---|
| 266 | âå¶ç´ã¿ã¹ã¯æ¡å¼µããã±ã¼ã¸
|
---|
| 267 |
|
---|
| 268 | å¶ç´ã¿ã¹ã¯æ¡å¼µããã±ã¼ã¸ã¯ï¼å¶ç´ã¿ã¹ã¯ã®æ©è½ã追å ããããã®æ¡å¼µããã±ã¼
|
---|
| 269 | ã¸ã§ããï¼TOPPERSæ°ä¸ä»£ã«ã¼ãã«çµ±åä»æ§æ¸ã«è¦å®ãããå¶ç´ã¿ã¹ã¯ã®æ©è½ã«
|
---|
| 270 | å ãã¦ï¼èªã¿ã¹ã¯ã®ãã¼ã¹åªå
|
---|
| 271 | 度ãå¤æ´ãããµã¼ãã¹ã³ã¼ã«ras_priãå®è£
|
---|
| 272 | ãã¦
|
---|
| 273 | ããï¼å¶ç´ã¿ã¹ã¯æ¡å¼µããã±ã¼ã¸ã¯ï¼extension/rstr_taskãã£ã¬ã¯ããªã«ç½®ã
|
---|
| 274 | ã¦ããï¼
|
---|
| 275 |
|
---|
| 276 | å¶ç´ã¿ã¹ã¯æ¡å¼µããã±ã¼ã¸ã§ã¯ï¼TOPPERS_SUPPORT_RSTR_TASKãkernel.hä¸ã§å®
|
---|
| 277 | 義ããã¦ããã®ã§ï¼ãããç¨ãã¦å¶ç´ã¿ã¹ã¯ã®æ©è½ã使ç¨ã§ãããã©ãããå¤
|
---|
| 278 | å¥ãããã¨ãã§ããï¼
|
---|
| 279 |
|
---|
| 280 | ----------------------------------------------------------------------
|
---|
| 281 | ras_pri èªã¿ã¹ã¯ã®ãã¼ã¹åªå
|
---|
| 282 | 度ã®å¼ãä¸ããTã
|
---|
| 283 |
|
---|
| 284 | ãCè¨èªAPIã
|
---|
| 285 | ER ercd = ras_pri(PRI tskpri)
|
---|
| 286 |
|
---|
| 287 | ããã©ã¡ã¼ã¿ã
|
---|
| 288 | PRI tskpri ãã¼ã¹åªå
|
---|
| 289 | 度
|
---|
| 290 |
|
---|
| 291 | ããªã¿ã¼ã³ãã©ã¡ã¼ã¿ã
|
---|
| 292 | ER ercd æ£å¸¸çµäºï¼E_OKï¼ã¾ãã¯ã¨ã©ã¼ã³ã¼ã
|
---|
| 293 |
|
---|
| 294 | ãã¨ã©ã¼ã³ã¼ãã
|
---|
| 295 | E_CTX ã³ã³ããã¹ãã¨ã©ã¼
|
---|
| 296 | ã»éã¿ã¹ã¯ã³ã³ããã¹ãããã®å¼åºã
|
---|
| 297 | ã»CPUããã¯ç¶æ
|
---|
| 298 | ããã®å¼åºã
|
---|
| 299 | E_PAR ãã©ã¡ã¼ã¿ã¨ã©ã¼
|
---|
| 300 | ã»tskpriãæå¹ç¯å²å¤
|
---|
| 301 | E_ILUSE ãµã¼ãã¹ã³ã¼ã«ä¸æ£ä½¿ç¨
|
---|
| 302 | ã»æ¡ä»¶ã«ã¤ãã¦ã¯æ©è½ã®é
|
---|
| 303 | ãåç
|
---|
| 304 | §
|
---|
| 305 |
|
---|
| 306 | ãæ©è½ã
|
---|
| 307 |
|
---|
| 308 | èªã¿ã¹ã¯ã®ãã¼ã¹åªå
|
---|
| 309 | 度ãï¼tskpriã§æå®ããåªå
|
---|
| 310 | 度ã«å¤æ´ããï¼å
|
---|
| 311 | ·ä½çãªæ¯
|
---|
| 312 | èãã¯ä»¥ä¸ã®éãï¼
|
---|
| 313 |
|
---|
| 314 | èªã¿ã¹ã¯ã®ãã¼ã¹åªå
|
---|
| 315 | 度ãï¼tskpriã§æå®ããåªå
|
---|
| 316 | 度ã«å¤æ´ãããï¼ããã«ä¼´ã£
|
---|
| 317 | ã¦ï¼èªã¿ã¹ã¯ã®ç¾å¨åªå
|
---|
| 318 | 度ãå¤æ´ãããï¼åãåªå
|
---|
| 319 | 度ã®ã¿ã¹ã¯ã®ä¸ã§ã¯ï¼èªã¿
|
---|
| 320 | ã¹ã¯ãæé«åªå
|
---|
| 321 | é ä½ã¨ãªãï¼
|
---|
| 322 |
|
---|
| 323 | tskpriã«TPRI_INIï¼ï¼0ï¼ãæå®ããã¨ï¼èªã¿ã¹ã¯ã®ãã¼ã¹åªå
|
---|
| 324 | 度ãï¼èµ·åæåª
|
---|
| 325 | å
|
---|
| 326 | 度ã«å¤æ´ãããï¼
|
---|
| 327 |
|
---|
| 328 | tskpriã¯ï¼èªã¿ã¹ã¯ã®èµ·åæåªå
|
---|
| 329 | 度ã¨åãããããããé«ããªããã°ãªããªãï¼
|
---|
| 330 | ããã§ãªãå ´åã«ã¯ï¼E_ILUSEã¨ã©ã¼ã¨ãªãï¼
|
---|
| 331 | ----------------------------------------------------------------------
|
---|
| 332 |
|
---|
| 333 | âåççææ©è½æ¡å¼µããã±ã¼ã¸
|
---|
| 334 |
|
---|
| 335 | åççææ©è½æ¡å¼µããã±ã¼ã¸ã¯ï¼ãªãã¸ã§ã¯ãã®åççææ©è½ã追å ãããã
|
---|
| 336 | ã®æ¡å¼µããã±ã¼ã¸ã§ããï¼TOPPERSæ°ä¸ä»£ã«ã¼ãã«çµ±åä»æ§æ¸ã«è¦å®ããã以ä¸
|
---|
| 337 | ã®ãªãã¸ã§ã¯ãçæï¼åé¤ã®ããã®ãµã¼ãã¹ã³ã¼ã«ï¼å²ä»ãå¯è½ãªIDçªå·ã®æ°
|
---|
| 338 | ãæå®ããéçAPIã«å ãã¦ï¼ã«ã¼ãã«ãå²ãä»ããã¡ã¢ãªé åãè¨å®ããéç
|
---|
| 339 | API DEF_KMMãå®è£
|
---|
| 340 | ãã¦ããï¼åççææ©è½æ¡å¼µããã±ã¼ã¸ã¯ï¼extension/dcre
|
---|
| 341 | ãã£ã¬ã¯ããªã«ç½®ãã¦ããï¼
|
---|
| 342 |
|
---|
| 343 | ãã ãï¼ã«ã¼ãã«å
|
---|
| 344 | ã§ã®åçã¡ã¢ãªç®¡çã«é¢ãã¦ã¯ï¼ã¿ã¼ã²ããéä¾åé¨ã§ã¯ï¼
|
---|
| 345 | ã¡ã¢ãªé åãå
|
---|
| 346 | é ããé ã«å²ãå½ã¦ï¼è§£æ¾ãããã¡ã¢ãªé åãåå©ç¨ããªãã¡
|
---|
| 347 | ã¢ãªç®¡çã¢ã¸ã¥ã¼ã«ã®ã¿ãå®è£
|
---|
| 348 | ãã¦ããï¼æ¬æ ¼çãªåçã¡ã¢ãªç®¡çãè¡ããã
|
---|
| 349 | å ´åã«ã¯ï¼ã¿ã¼ã²ããä¾åé¨ã¾ãã¯ã¦ã¼ã¶å´ã§ï¼ãã®ããã®é¢æ°ãç¨æããå¿
|
---|
| 350 |
|
---|
| 351 | è¦ãããï¼ç¨æããé¢æ°çã«ã¤ãã¦ã¯ï¼ãTOPPERS/ASPã«ã¼ãã« ã¿ã¼ã²ããä¾
|
---|
| 352 | åé¨ ãã¼ãã£ã³ã°ã¬ã¤ããã®ã6.15 åçã¡ã¢ãªç®¡çãã®ç¯ãåç
|
---|
| 353 | §ãããã¨ï¼
|
---|
| 354 |
|
---|
| 355 | åçæ©è½æ¡å¼µæ¡å¼µããã±ã¼ã¸ã§ã¯ï¼TOPPERS_SUPPORT_DYNAMIC_CREãkernel.hä¸
|
---|
| 356 | ã§å®ç¾©ããã¦ããã®ã§ï¼ãããç¨ãã¦åççææ©è½ã使ç¨ã§ãããã©ãããå¤
|
---|
| 357 | å¥ãããã¨ãã§ããï¼
|
---|
| 358 |
|
---|
| 359 | åççææ©è½æ¡å¼µããã±ã¼ã¸ã«ãã追å ããããµã¼ãã¹ã³ã¼ã«
|
---|
| 360 |
|
---|
| 361 | ER_ID tskid = acre_tsk(const T_CTSK *pk_ctsk)
|
---|
| 362 | ER ercd = del_tsk(ID tskid)
|
---|
| 363 | ER ercd = def_tex(ID tskid, const T_DTEX *pk_dtex)
|
---|
| 364 | ER_ID semid = acre_sem(const T_CSEM *pk_csem)
|
---|
| 365 | ER ercd = del_sem(ID semid)
|
---|
| 366 | ER_ID flgid = acre_flg(const T_CFLG *pk_cflg)
|
---|
| 367 | ER ercd = del_flg(ID flgid)
|
---|
| 368 | ER_ID dtqid = acre_dtq(const T_CDTQ *pk_cdtq)
|
---|
| 369 | ER ercd = del_dtq(ID dtqid)
|
---|
| 370 | ER_ID pdqid = acre_pdq(const T_CPDQ *pk_cpdq)
|
---|
| 371 | ER ercd = del_pdq(ID pdqid)
|
---|
| 372 | ER_ID mbxid = acre_mbx(const T_CMBX *pk_cmbx)
|
---|
| 373 | ER ercd = del_mbx(ID mbxid)
|
---|
| 374 | ER_ID mpfid = acre_mpf(const T_CMPF *pk_cmpf)
|
---|
| 375 | ER ercd = del_mpf(ID mpfid)
|
---|
| 376 | ER_ID cycid = acre_cyc(const T_CCYC *pk_ccyc)
|
---|
| 377 | ER ercd = del_cyc(ID cycid)
|
---|
| 378 | ER_ID almid = acre_alm(const T_CALM *pk_calm)
|
---|
| 379 | ER ercd = del_alm(ID almid)
|
---|
| 380 | ER_ID isrid = acre_isr(const T_CISR *pk_cisr)
|
---|
| 381 | ER ercd = del_isr(ID isrid)
|
---|
| 382 |
|
---|
| 383 | åççææ©è½æ¡å¼µããã±ã¼ã¸ã«ãã追å ãããéçAPI
|
---|
| 384 |
|
---|
| 385 | AID_TSK(uint_t notsk)
|
---|
| 386 | AID_SEM(uint_t nosem)
|
---|
| 387 | AID_FLG(uint_t noflg)
|
---|
| 388 | AID_DTQ(uint_t nodtq)
|
---|
| 389 | AID_PDQ(uint_t nopdq)
|
---|
| 390 | AID_MBX(uint_t nombx)
|
---|
| 391 | AID_MPF(uint_t nompf)
|
---|
| 392 | AID_CYC(uint_t nocyc)
|
---|
| 393 | AID_ALM(uint_t noalm)
|
---|
| 394 | AID_ISR(uint_t noisr)
|
---|
| 395 | DEF_KMM({ SIZE kmmsz, STK_T *kmm })
|
---|
| 396 |
|
---|
| 397 | ----------------------------------------------------------------------
|
---|
| 398 | DEF_KMM ã«ã¼ãã«ãå²ãä»ããã¡ã¢ãªé åã®è¨å®ãSDã
|
---|
| 399 |
|
---|
| 400 | ãéçAPIã
|
---|
| 401 | DEF_KMM({ SIZE kmmsz, STK_T *kmm })
|
---|
| 402 |
|
---|
| 403 | ããã©ã¡ã¼ã¿ã
|
---|
| 404 | ãï¼ã«ã¼ãã«ãå²ãä»ããã¡ã¢ãªé åã®è¨å®æ
|
---|
| 405 | å ±
|
---|
| 406 | SIZE kmmsz ã«ã¼ãã«ãå²ãä»ããã¡ã¢ãªé åã®ãµã¤ãºï¼ãã¤ãæ°ï¼
|
---|
| 407 | STK_T kmm ã«ã¼ãã«ãå²ãä»ããã¡ã¢ãªé åã®å
|
---|
| 408 | é çªå°
|
---|
| 409 |
|
---|
| 410 | ãã¨ã©ã¼ã³ã¼ãã
|
---|
| 411 | E_PAR ãã©ã¡ã¼ã¿ã¨ã©ã¼
|
---|
| 412 | ã»kmmszã0以ä¸
|
---|
| 413 | ã»ãã®ä»ã®æ¡ä»¶ã«ã¤ãã¦ã¯æ©è½ã®é
|
---|
| 414 | ãåç
|
---|
| 415 | §
|
---|
| 416 | E_OBJ ãªãã¸ã§ã¯ãç¶æ
|
---|
| 417 | ã¨ã©ã¼
|
---|
| 418 | ã»ã«ã¼ãã«ãå²ãä»ããã¡ã¢ãªé åãè¨å®æ¸ã¿
|
---|
| 419 |
|
---|
| 420 | ãæ©è½ã
|
---|
| 421 |
|
---|
| 422 | åãã©ã¡ã¼ã¿ã§æå®ããã«ã¼ãã«ãå²ãä»ããã¡ã¢ãªé åã®è¨å®æ
|
---|
| 423 | å ±ã«å¾ã£ã¦ï¼
|
---|
| 424 | ã«ã¼ãã«ãå²ãä»ããã¡ã¢ãªé åãè¨å®ããï¼
|
---|
| 425 |
|
---|
| 426 | kmmszã¯æ´æ°å®æ°å¼ãã©ã¡ã¼ã¿ï¼kmmã¯ä¸è¬å®æ°å¼ãã©ã¡ã¼ã¿ã§ããï¼
|
---|
| 427 |
|
---|
| 428 | kmmãNULLã¨ããå ´åï¼kmmszã§æå®ãããµã¤ãºã®ã¡ã¢ãªé åãï¼ã³ã³ãã£ã®ã¥
|
---|
| 429 | ã¬ã¼ã¿ã確ä¿ããï¼kmmszã«ã¿ã¼ã²ããå®ç¾©ã®å¶ç´ã«åè´ããªããµã¤ãºãæå®ã
|
---|
| 430 | ãæã«ã¯ï¼ã¿ã¼ã²ããå®ç¾©ã®å¶ç´ã«åè´ããããã«ãµã¤ãºã大ããæ¹ã«ä¸¸ãã¦
|
---|
| 431 | 確ä¿ããï¼
|
---|
| 432 |
|
---|
| 433 | ã«ã¼ãã«ãå²ãä»ããã¡ã¢ãªé åãã¢ããªã±ã¼ã·ã§ã³ã§ç¢ºä¿ããå ´åã«ã¯ï¼
|
---|
| 434 | kmmszã§æå®ãããµã¤ãºã®ã¡ã¢ãªé åã確ä¿ãï¼kmmã«ãã®å
|
---|
| 435 | é çªå°ãæå®ããï¼
|
---|
| 436 |
|
---|
| 437 | DEF_KMMã«ããã«ã¼ãã«ãå²ãä»ããã¡ã¢ãªé åãè¨å®ããªãå ´åï¼ã«ã¼ãã«ã
|
---|
| 438 | å²ãä»ããã¡ã¢ãªé åã¯ç¢ºä¿ãããªãï¼
|
---|
| 439 |
|
---|
| 440 | kmmãkmmszã«ã¿ã¼ã²ããå®ç¾©ã®å¶ç´ã«åè´ããªãå
|
---|
| 441 | é çªå°ããµã¤ãºãæå®ãã
|
---|
| 442 | æã«ã¯ï¼E_PARã¨ã©ã¼ã¨ãªãï¼
|
---|
| 443 | ----------------------------------------------------------------------
|
---|
| 444 |
|
---|
| 445 |
|
---|
| 446 | âCPUä¾å¤ãã³ãã©ã®ç´æ¥å¼åºã
|
---|
| 447 |
|
---|
| 448 | CPUä¾å¤ãã³ãã©ã®åºå
|
---|
| 449 | ¥å£å¦çã¯ï¼CPUä¾å¤ãçºçããªãããã«å®è£
|
---|
| 450 | ããªããã°
|
---|
| 451 | ãªããªããï¼ãããé²ããªãã¿ã¼ã²ããã«ããã¦ã¯ï¼CPUä¾å¤ãã³ãã©ã®åºå
|
---|
| 452 | ¥å£
|
---|
| 453 | å¦çãçµç±ããã«ï¼ã¢ããªã±ã¼ã·ã§ã³ãç¨æããCPUä¾å¤ãã³ãã©ãç´æ¥å®è¡ã
|
---|
| 454 | ãæ¹æ³ãç¨æããã®ãæã¾ããï¼ãããï¼CPUä¾å¤ãã³ãã©ã®ç´æ¥å¼åºãã¨å¼ã¶ï¼
|
---|
| 455 |
|
---|
| 456 | ããã§ã¯ï¼ãã¼ãã¦ã§ã¢ã§ãã¯ã¿ãã¼ãã«ãæã¤ããã»ããµã«ããã¦ï¼ã¿ã¼ã²ã
|
---|
| 457 | ãä¾åé¨ã®ã¿ã®ä¿®æ£ã«ããï¼CPUä¾å¤ãã³ãã©ã®ç´æ¥å¼åºãã®æ©è½ã追å ããæ¹
|
---|
| 458 | æ³ã«ã¤ãã¦èª¬æããï¼
|
---|
| 459 |
|
---|
| 460 | âTA_DIRECTå±æ§ã®å°å
|
---|
| 461 | ¥
|
---|
| 462 |
|
---|
| 463 | CPUä¾å¤ãã³ãã©ã®ç´æ¥å¼åºããæå®ããããã«ï¼CPUä¾å¤ãã³ãã©å±æ§ã«ï¼
|
---|
| 464 | TA_DIRECTå±æ§ãå°å
|
---|
| 465 | ¥ããï¼
|
---|
| 466 |
|
---|
| 467 | âã¿ã¼ã²ããä¾åé¨ã®ä¿®æ£ç®æ
|
---|
| 468 |
|
---|
| 469 | TA_DIRECTã®å¤ãï¼target_kernel.hï¼ã¾ãã¯ï¼ããããã¤ã³ã¯ã«ã¼ãããããã¡
|
---|
| 470 | ã¤ã«ï¼ã§å®ç¾©ãï¼ãã®å¤ãã³ã³ãã£ã®ã¥ã¬ã¼ã¿ãåãåºããããã«ï¼
|
---|
| 471 | target_def.csvï¼ã¾ãã¯ï¼ããã«ä»£ãããã¡ã¤ã«ï¼ã«æ¬¡ã®è¡ã追å ããï¼
|
---|
| 472 |
|
---|
| 473 | TA_DIRECT,TA_DIRECT
|
---|
| 474 |
|
---|
| 475 | 次ã«ï¼target.tfï¼ã¾ãã¯ï¼ããããã¤ã³ã¯ã«ã¼ãããããã¡ã¤ã«ï¼ã§ï¼
|
---|
| 476 | TARGET_EXCATRã«è¨å®ãããå¤ã«ï¼TA_DIRECTã追å ããï¼ä¾ãã°ï¼ä»ã®ã¿ã¼ã²ã
|
---|
| 477 | ãä¾åã®CPUä¾å¤ãã³ãã©å±æ§ããªãå ´åã«ã¯ï¼æ¬¡ã®ããã«è¨å®ããï¼
|
---|
| 478 |
|
---|
| 479 | $TARGET_EXCATR = TA_DIRECT$
|
---|
| 480 |
|
---|
| 481 | 次ã«ï¼OMIT_INITILIZE_EXCEPTIONãç¨ãã¦ï¼CPUä¾å¤ãã³ãã©ã®åºå
|
---|
| 482 | ¥å£å¦çãç
|
---|
| 483 | æããããã®è¨è¿°ã¨CPUä¾å¤ãã³ãã©åæåãããã¯ã®æ¨æºã®å®ç¾©ãçæããã
|
---|
| 484 | ã®ãææ¢ãï¼ããã«ãã£ã¦ææ¢ãããé¨åãtarget.tfã«ã³ãã¼ããä¸ã§ï¼ä»¥ä¸
|
---|
| 485 | ã®ä¿®æ£ãå ããï¼
|
---|
| 486 |
|
---|
| 487 | CPUä¾å¤ãã³ãã©ã®åºå
|
---|
| 488 | ¥å£å¦çãçæããããã®è¨è¿°ï¼EXCHDR_ENTRYã®ãªã¹ãï¼
|
---|
| 489 | ãçæããé¨åã¯ï¼æ¬¡ã®ããã«ä¿®æ£ããï¼
|
---|
| 490 |
|
---|
| 491 | $FOREACH excno EXC.ORDER_LIST$
|
---|
| 492 | $IF (EXC.EXCATR[excno] & TA_DIRECT) == 0$
|
---|
| 493 | EXCHDR_ENTRY($EXC.EXCNO[excno]$, $+EXC.EXCNO[excno]$, $EXC.EXCHDR[excno]$)$NL$
|
---|
| 494 | $END$
|
---|
| 495 | $END$
|
---|
| 496 |
|
---|
| 497 | ã¾ãï¼CPUä¾å¤ãã³ãã©åæåãããã¯ã®å®ç¾©ãçæããé¨åã¯ï¼æ¬¡ã®ããã«ä¿®
|
---|
| 498 | æ£ããï¼
|
---|
| 499 |
|
---|
| 500 | $IF LENGTH(EXC.ORDER_LIST)$
|
---|
| 501 | const EXCINIB _kernel_excinib_table[TNUM_EXCNO] = {$NL$
|
---|
| 502 | $JOINEACH excno EXC.ORDER_LIST ",\n"$
|
---|
| 503 | $IF (EXC.EXCATR[excno] & TA_DIRECT) == 0$
|
---|
| 504 | $TAB${ ($EXC.EXCNO[excno]$), ($EXC.EXCATR[excno]$), (FP)(EXC_ENTRY($EXC.EXCNO[excno]$, $EXC.EXCHDR[excno]$)) }
|
---|
| 505 | $ELSE$
|
---|
| 506 | $TAB${ ($EXC.EXCNO[excno]$), ($EXC.EXCATR[excno]$), (FP)($EXC.EXCHDR[excno]$) }
|
---|
| 507 | $END$
|
---|
| 508 | $END$$NL$
|
---|
| 509 | };$NL$
|
---|
| 510 | $ELSE$
|
---|
| 511 | TOPPERS_EMPTY_LABEL(const EXCINIB, _kernel_excinib_table);$NL$
|
---|
| 512 | $END$
|
---|
| 513 |
|
---|
| 514 | 以ä¸
|
---|