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 | 以ä¸
|
---|