source: mypx/doc/porting.txt @ 7

このファイルの 7 以降における最終更新内容7 で kominami が 2015/09/12 9:22:12 に更新しました

TOPPERS/ASP 1.9.1

ファイルサイズ: 159.4 KB
Rev 
[7]1
2                TOPPERS/ASP¥«¡Œ¥Í¥ë
3                ¥¿¡Œ¥²¥Ã¥È°ÍžÉô ¥Ý¡Œ¥Æ¥£¥ó¥°¥¬¥€¥É
4
5                Âбþ¥Ð¡Œ¥ž¥ç¥ó: Release 1.9.2
6                ºÇœª¹¹¿·: 2014ǯ11·î17Æü
7
8€³€Î¥É¥­¥å¥á¥ó¥È€Ï¡€TOPPERS/ASP¥«¡Œ¥Í¥ë€ò¡€Ì€¥µ¥Ý¡Œ¥È€Î¥¿¡Œ¥²¥Ã¥È¥·¥¹¥Æ
9¥à€Ë¥Ý¡Œ¥Æ¥£¥ó¥°€¹€ë€¿€á€ËɬÍ׀Ȁʀ륿¡Œ¥²¥Ã¥È°ÍžÉô€ÎŒÂÁõÊýË¡€òÀâÌÀ€¹
10€ë€â€Î€Ç€¢€ë¡¥
11
12----------------------------------------------------------------------
13 TOPPERS/ASP Kernel
14     Toyohashi Open Platform for Embedded Real-Time Systems/
15     Advanced Standard Profile Kernel
16
17 Copyright (C) 2005-2013 by Embedded and Real-Time Systems Laboratory
18             Graduate School of Information Science, Nagoya Univ., JAPAN
19 
20 Ÿåµ­Ãøºîž¢ŒÔ€Ï¡€°Ê²Œ€Î(1)¡Á(4)€ÎŸò·ï€òËþ€¿€¹Ÿì¹ç€ËžÂ€ê¡€ËÜ¥œ¥Õ¥È¥Š¥§
21 ¥¢¡ÊËÜ¥œ¥Õ¥È¥Š¥§¥¢€ò²þÊÑ€·€¿€â€Î€òŽÞ€à¡¥°Ê²ŒÆ±€ž¡Ë€ò»ÈÍÑ¡ŠÊ£Àœ¡Š²þ
22 ÊÑ¡ŠºÆÇÛÉۡʰʲŒ¡€ÍøÍрȞƀ֡ˀ¹€ë€³€È€ò̵œþ€ÇµöÂú€¹€ë¡¥
23 (1) ËÜ¥œ¥Õ¥È¥Š¥§¥¢€ò¥œ¡Œ¥¹¥³¡Œ¥É€Î·Á€ÇÍøÍÑ€¹€ëŸì¹ç€Ë€Ï¡€Ÿåµ­€ÎÃøºî
24     ž¢ÉœŒš¡€€³€ÎÍøÍÑŸò·ï€ª€è€Ó²Œµ­€Î̵ÊÝŸÚµ¬Äꀬ¡€€œ€Î€Þ€Þ€Î·Á€Ç¥œ¡Œ
25     ¥¹¥³¡Œ¥ÉÃæ€ËŽÞ€Þ€ì€Æ€€€ë€³€È¡¥
26 (2) ËÜ¥œ¥Õ¥È¥Š¥§¥¢€ò¡€¥é¥€¥Ö¥é¥ê·ÁŒ°€Ê€É¡€ÂŸ€Î¥œ¥Õ¥È¥Š¥§¥¢³«È¯€Ë»È
27     Íрǀ­€ë·Á€ÇºÆÇÛÉÛ€¹€ëŸì¹ç€Ë€Ï¡€ºÆÇÛÉÛ€ËÈŒ€Š¥É¥­¥å¥á¥ó¥È¡ÊÍøÍÑ
28     ŒÔ¥Þ¥Ë¥å¥¢¥ë€Ê€É¡Ë€Ë¡€Ÿåµ­€ÎÃøºîž¢ÉœŒš¡€€³€ÎÍøÍÑŸò·ï€ª€è€Ó²Œµ­
29     €Î̵ÊÝŸÚµ¬Äê€ò·ÇºÜ€¹€ë€³€È¡¥
30 (3) ËÜ¥œ¥Õ¥È¥Š¥§¥¢€ò¡€µ¡Žï€ËÁȀ߹þ€à€Ê€É¡€ÂŸ€Î¥œ¥Õ¥È¥Š¥§¥¢³«È¯€Ë»È
31     Íрǀ­€Ê€€·Á€ÇºÆÇÛÉÛ€¹€ëŸì¹ç€Ë€Ï¡€Œ¡€Î€€€º€ì€«€ÎŸò·ï€òËþ€¿€¹€³
32     €È¡¥
33   (a) ºÆÇÛÉÛ€ËÈŒ€Š¥É¥­¥å¥á¥ó¥È¡ÊÍøÍьԥޥ˥奢¥ë€Ê€É¡Ë€Ë¡€Ÿåµ­€ÎÃø
34       ºîž¢ÉœŒš¡€€³€ÎÍøÍÑŸò·ï€ª€è€Ó²Œµ­€Î̵ÊÝŸÚµ¬Äê€ò·ÇºÜ€¹€ë€³€È¡¥
35   (b) ºÆÇÛÉۀηÁÂÖ€ò¡€ÊÌ€ËÄê€á€ëÊýË¡€Ë€è€Ã€Æ¡€TOPPERS¥×¥í¥ž¥§¥¯¥È€Ë
36       Êó¹ð€¹€ë€³€È¡¥
37 (4) ËÜ¥œ¥Õ¥È¥Š¥§¥¢€ÎÍøÍрˀè€êÄŸÀÜŪ€Þ€¿€ÏŽÖÀÜŪ€ËÀž€ž€ë€€€«€Ê€ë»
38     ³²€«€é€â¡€Ÿåµ­Ãøºîž¢ŒÔ€ª€è€ÓTOPPERS¥×¥í¥ž¥§¥¯¥È€òÌÈÀÕ€¹€ë€³€È¡¥
39     €Þ€¿¡€ËÜ¥œ¥Õ¥È¥Š¥§¥¢€Î¥æ¡Œ¥¶€Þ€¿€Ï¥š¥ó¥É¥æ¡Œ¥¶€«€é€Î€€€«€Ê€ëÍý
40     Í³€ËŽð€Å€¯ÀÁµá€«€é€â¡€Ÿåµ­Ãøºîž¢ŒÔ€ª€è€ÓTOPPERS¥×¥í¥ž¥§¥¯¥È€ò
41     ÌÈÀÕ€¹€ë€³€È¡¥
42 
43 ËÜ¥œ¥Õ¥È¥Š¥§¥¢€Ï¡€ÌµÊÝŸÚ€ÇÄó¶¡€µ€ì€Æ€€€ë€â€Î€Ç€¢€ë¡¥Ÿåµ­Ãøºîž¢ŒÔ€ª
44 €è€ÓTOPPERS¥×¥í¥ž¥§¥¯¥È€Ï¡€ËÜ¥œ¥Õ¥È¥Š¥§¥¢€ËŽØ€·€Æ¡€ÆÃÄê€Î»ÈÍÑÌÜŪ
45 €ËÂЀ¹€ëŬ¹çÀ­€âŽÞ€á€Æ¡€€€€«€Ê€ëÊÝŸÚ€â¹Ô€ï€Ê€€¡¥€Þ€¿¡€ËÜ¥œ¥Õ¥È¥Š¥§
46 ¥¢€ÎÍøÍрˀè€êÄŸÀÜŪ€Þ€¿€ÏŽÖÀÜŪ€ËÀž€ž€¿€€€«€Ê€ë»³²€ËŽØ€·€Æ€â¡€€œ
47 €ÎÀÕÇ€€òÉé€ï€Ê€€¡¥
48 
49 $Id$
50----------------------------------------------------------------------
51
52¡ûÌÜŒ¡
53
54£±¡¥¶ŠÄÌ»ö¹à
55        1.1 ¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Î¹œÀ®
56        1.2 ÌŸÁ°€ÎŸ×ÆÍ€ÎËÉ»ß
57        1.3 ¿œÅ¥€¥ó¥¯¥ë¡Œ¥É€ÎËÉ»ß
58        1.4 ¥¢¥»¥ó¥Ö¥êžÀžì€È€Î¥Ø¥Ã¥À¥Õ¥¡¥€¥ë€Î¶ŠÍÑ
59        1.5 ¥€¥ó¥¯¥ë¡Œ¥Éµ­œÒ€ÎÊýË¡
60        1.6 ¥¯¥ê¥Æ¥£¥«¥ë¥»¥¯¥·¥ç¥ó€ÎœÐÆþœèÍý€ÎŒÂžœ€ËŽØ€¹€ëÀ©Ìó
61£²¡¥¥·¥¹¥Æ¥à¹œÃێĶ­€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô
62        2.1 ¥¿¡Œ¥²¥Ã¥ÈάŸÎ€È¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Î¥Ç¥£¥ì¥¯¥È¥ê
63        2.2 Makefile€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô
64        2.3 ³«È¯ŽÄ¶­ÌŸ€È¥³¥Þ¥ó¥ÉÌŸ€ÎÀßÄê
65        2.4 ¥³¥ó¥Ñ¥€¥ë¥ª¥×¥·¥ç¥ó€È¥ª¥Ö¥ž¥§¥¯¥È¥Õ¥¡¥€¥ë€ÎÀßÄê
66        2.5 ¥ª¥Õ¥»¥Ã¥È¥Õ¥¡¥€¥ë€ÎÀžÀ®ÊýË¡
67                2.5.1 ¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿€òÍÑ€€€ëÊýË¡
68                2.5.2 makeoffset.c€Ègenoffset€òÍÑ€€€ëÊýË¡
69        2.6 ¥ê¥ó¥¯ÊýË¡€ÎÀßÄê
70        2.7 °ÍÂžŽØ·ž€ÎÄêµÁ
71        2.8 €œ€ÎŸ€ÎÀßÄê
72£³¡¥TOPPERS¶ŠÄÌÄêµÁ€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô
73        3.1 ¥¿¡Œ¥²¥Ã¥ÈŒ±ÊÌ¥Þ¥¯¥í
74        3.2 À°¿ô·¿€ÎºÇÂçÃÍ¡ŠºÇŸ®ÃÍ¡Š¥Ó¥Ã¥È¿ô
75        3.3 ¥µ¥€¥º€Î»ØÄꀵ€ì€¿À°¿ô·¿¡€€œ€ÎºÇÂçÃÍ¡ŠºÇŸ®ÃÍ¡€À°¿ôÄê¿ô€òºî€ë¥Þ¥¯¥í
76        3.4 ¥µ¥€¥º€Î»ØÄꀵ€ì€¿ÉâÆ°Ÿ®¿ôÅÀ·¿¡€€œ€ÎºÇÂçÃÍ¡ŠºÇŸ®Ã̀Υޥ¯¥í
77        3.5 ¥³¥ó¥Ñ¥€¥é€Î³ÈÄ¥µ¡Çœ€Î€¿€á€Î¥Þ¥¯¥íÄêµÁ
78        3.6 ÉžœàŪ€ÊÄêµÁ€ÎŸåœñ€­
79        3.7 ¥¢¥µ¡Œ¥·¥ç¥ó€Î€¿€á€ÎÄêµÁ
80£Ž¡¥¥·¥¹¥Æ¥à¥€¥ó¥¿¥Õ¥§¡Œ¥¹¥ì¥€¥ä¡ÊSIL¡Ë€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô
81        4.1 Á޳ä¹þ€ß¥í¥Ã¥¯ŸõÂրΎÉÍý
82        4.2 ÈùŸ¯»þŽÖÂÔ€Á
83        4.3 ¥×¥í¥»¥Ã¥µ€Î¥š¥ó¥Ç¥£¥¢¥ó
84        4.4 ¥á¥â¥ê¶õŽÖ¥¢¥¯¥»¥¹ŽØ¿ô
85        4.5 I/O¶õŽÖ¥¢¥¯¥»¥¹ŽØ¿ô
86£µ¡¥¥«¡Œ¥Í¥ëAPI€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô
87        5.1 ¥¿¡Œ¥²¥Ã¥ÈÄêµÁ€Ç¥µ¥Ý¡Œ¥È€¹€ëµ¡Çœ
88        5.2 ³ä¹þ€ßÍ¥ÀèÅÙ€ÎÈϰÏ
89        5.3 ¥¿¥€¥à¥Æ¥£¥Ã¥¯€ÎÄêµÁ
90        5.4 ¥á¥â¥êÎΰè³ÎÊ݀΀¿€á€Î·¿ÄêµÁ
91        5.5 ¥Ó¥Ã¥È¥Ñ¥¿¡Œ¥ó€Î¥Ó¥Ã¥È¿ô
92        5.6 ¥á¥â¥êÎΰè³ÎÊ݀΀¿€á€Î¥Þ¥¯¥í
93        5.7 ¥ª¡Œ¥Ð¥é¥ó¥Ï¥ó¥É¥éµ¡Çœ³ÈÄ¥€Î€¿€á€ÎÄêµÁ¡Ê¥ª¥×¥·¥ç¥ó¡Ë
94£¶¡¥¥«¡Œ¥Í¥ëŒÂÁõ€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô
95        6.1 ¥«¡Œ¥Í¥ëŒÂÁõ€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Î¶ŠÄÌ»ö¹à
96                6.1.1 ¥«¡Œ¥Í¥ëŒÂÁõ€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Î¹œÀ®Í×ÁÇ
97                6.1.2 ¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ÎŽØ¿ô€Î̟̿µ¬Â§
98        6.2 ¥È¥ì¡Œ¥¹¥í¥°µ¡Çœ€Ø€ÎÂбþ
99        6.3 ¥·¥¹¥Æ¥àŸõÂրΎÉÍý
100                6.3.1 Á޳ä¹þ€ß¥í¥Ã¥¯ŸõÂրΎÉÍý
101                6.3.2 ¥³¥ó¥Æ¥­¥¹¥È€ÎŽÉÍý
102                6.3.3 CPU¥í¥Ã¥¯ŸõÂրΎÉÍý
103        6.4 ³ä¹þ€ß€ËŽØÏ¢€¹€ë¥·¥¹¥Æ¥àŸõÂրΎÉÍý
104                6.4.1 ³ä¹þ€ßÍ¥ÀèÅÙ¥Þ¥¹¥¯€ÎŽÉÍý
105                6.4.2 ³ä¹þ€ßÍ×µá¶Ø»ß¥Õ¥é¥°€ÎŽÉÍý
106                6.4.3 ³ä¹þ€ßÍ×µá€Î¥¯¥ê¥¢
107                6.4.4 ³ä¹þ€ßÍ×µá€Î¥×¥í¡Œ¥Ö
108                6.4.5 ³ä¹þ€ß¥Ï¥ó¥É¥é€ÎÀèÆ¬œèÍý€ÈËöÈøœèÍý
109        6.5 ¥¿¥¹¥¯¥Ç¥£¥¹¥Ñ¥Ã¥Á¥ã
110                6.5.1 ¥¿¥¹¥¯¥³¥ó¥Æ¥­¥¹¥È¥Ö¥í¥Ã¥¯€È¥¿¥¹¥¯œéŽü²œ¥³¥ó¥Æ¥­¥¹¥È¥Ö¥í¥Ã¥¯
111                6.5.2 ¥Ç¥£¥¹¥Ñ¥Ã¥Á¥ãËÜÂÎ
112                6.5.3 ¥¿¥¹¥¯¥³¥ó¥Æ¥­¥¹¥È€«€é€Î¥Ç¥£¥¹¥Ñ¥Ã¥Á
113                6.5.4 ¥Ç¥£¥¹¥Ñ¥Ã¥Á¥ã€Îưºî³«»Ï
114                6.5.5 žœºß€Î¥³¥ó¥Æ¥­¥¹¥È€òŒÎ€Æ€Æ¥Ç¥£¥¹¥Ñ¥Ã¥Á
115                6.5.6 ¥¿¥¹¥¯€Îµ¯Æ°œèÍý
116        6.6 ³ä¹þ€ß¥Ï¥ó¥É¥é
117                6.6.1 ³ä¹þ€ß¥Ï¥ó¥É¥é€ÎœÐÆþžýœèÍý
118                6.6.2 ³ä¹þ€ß¥Ï¥ó¥É¥éËè€ÎœÐÆþžýœèÍý€ÎÀžÀ®
119                6.6.3 ³ä¹þ€ß¥Ï¥ó¥É¥é€ÎÀßÄê
120                6.6.4 ³ä¹þ€ßÍ×µá¥é¥€¥ó€Î°À­€ÎÀßÄê
121                6.6.5 ³ä¹þ€ßŽÉÍýµ¡Çœ€ÎœéŽü²œœèÍý€ÎÊѹ¹
122                6.6.6 ¥Ç¥Õ¥©¥ë¥È€Î³ä¹þ€ß¥Ï¥ó¥É¥é
123                6.6.7 ¥«¡Œ¥Í¥ëŽÉÍý³°€Î³ä¹þ€ß
124                6.6.8 ³ä¹þ€ß¥µ¡Œ¥Ó¥¹¥ë¡Œ¥Á¥ó€ÎÀžÀ®
125        6.7 CPUÎã³°¥Ï¥ó¥É¥é€ÈCPUÎ㳰ȯÀž»þ€Î¥·¥¹¥Æ¥àŸõÂրλ²ŸÈ
126                6.7.1 CPUÎã³°¥Ï¥ó¥É¥é€ÎœÐÆþžýœèÍý
127                6.7.2 CPUÎã³°¥Ï¥ó¥É¥é€ÎœÐÆþžýœèÍý€ÎÀžÀ®
128                6.7.3 CPUÎã³°¥Ï¥ó¥É¥é€ÎÀßÄê
129                6.7.4 CPUÎã³°ŽÉÍýµ¡Çœ€ÎœéŽü²œœèÍý€ÎÊѹ¹
130                6.7.5 ¥Ç¥Õ¥©¥ë¥È€ÎCPUÎã³°¥Ï¥ó¥É¥é
131                6.7.6 CPUÎ㳰ȯÀž»þ€Î¥·¥¹¥Æ¥àŸõÂրλ²ŸÈ
132        6.8 ¥«¡Œ¥Í¥ë€Îµ¯Æ°¡ŠœªÎ»€È¥¹¥¿¥Ã¥¯Îΰè€Ê€É
133        6.9 ¥«¡Œ¥Í¥ëÆâÉô€Î¥Á¥å¡Œ¥Ë¥ó¥°
134                6.9.1 ¥Ó¥Ã¥È¥Þ¥Ã¥×¥µ¡Œ¥Á
135                6.9.2 ¥Ó¥Ã¥È¥Õ¥£¡Œ¥ë¥É
136        6.10 ¥«¡Œ¥Í¥ëŒÂÁõ€ËŽØ€¹€ë€œ€ÎŸ€ÎÄêµÁ
137                6.10.1 ¥ª¥Ö¥ž¥§¥¯¥È°À­€Î³ÈÄ¥
138                6.10.2 ¥š¥é¡Œ¥Á¥§¥Ã¥¯ÊýË¡€Î»ØÄê
139                6.10.3 È󥿥¹¥¯¥³¥ó¥Æ¥­¥¹¥ÈÍрΥ¹¥¿¥Ã¥¯Îΰè
140                6.10.4 ¶õ¥é¥Ù¥ë€ÎÄêµÁ
141        6.11 ¥È¥ì¡Œ¥¹¥í¥°µ¡Çœ€ËŽØ€¹€ëÀßÄê
142                6.11.1 ŒèÆÀ€Ç€­€ë¥È¥ì¡Œ¥¹¥í¥°€ÎŒïÎà€È¥Þ¥¯¥í
143                6.11.2 ¥È¥ì¡Œ¥¹¥í¥°µ­Ï¿€Î¥µ¥ó¥×¥ë¥³¡Œ¥É
144        6.12 ¥«¡Œ¥Í¥ëŒÂÁõ€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Î€¿€á€Î¥ê¥Í¡Œ¥àµ­œÒ
145        6.13 ¥¿¥€¥Þ¥É¥é¥€¥Ð
146                6.13.1 ¥¿¥€¥Þ¥É¥é¥€¥Ð€Î¥Õ¥¡¥€¥ë¹œÀ®
147                6.13.2 ¥¿¥€¥Þ€ÎœéŽü²œ¡ŠœªÎ»œèÍý¡Š³ä¹þ€ßœèÍý
148                6.13.3 À­ÇœÉŸ²ÁÍÑ¥·¥¹¥Æ¥à»þ¹ï€Î»²ŸÈ€Î€¿€á€Îµ¡Çœ
149        6.14 ¥ª¡Œ¥Ð¥é¥ó¥¿¥€¥Þ¥É¥é¥€¥Ð¡Ê¥ª¥×¥·¥ç¥ó¡Ë
150                6.14.1 ¥ª¡Œ¥Ð¥é¥ó¥¿¥€¥Þ¥É¥é¥€¥Ð€Î¥Õ¥¡¥€¥ë¹œÀ®
151                6.14.2 ¥ª¡Œ¥Ð¥é¥ó¥¿¥€¥Þ€ÎÁàºî€È³ä¹þ€ßœèÍý
152        6.15 ưŪ¥á¥â¥êŽÉÍý¡Ê¥ª¥×¥·¥ç¥ó¡Ë
153                6.15.1 TLSF€òÍÑ€€€¿¥á¥â¥êŽÉÍý¥â¥ž¥å¡Œ¥ë€ÎÎã
154£·¡¥¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿ÀßÄê¥Õ¥¡¥€¥ë€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô
155        7.1 ÀßÄê¥Õ¥¡¥€¥ë€È¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Î°ÌÃÖÉÕ€±
156        7.2 ¥Ñ¥¹2€Î¥Æ¥ó¥×¥ì¡Œ¥È¥Õ¥¡¥€¥ë€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô
157                7.2.1 ¥¿¡Œ¥²¥Ã¥ÈÈó°ÍžÉô€ò¥€¥ó¥¯¥ë¡Œ¥É€¹€ëÁ°€ËÄêµÁ€¹€Ù€­ÊÑ¿ô
158                7.2.2 ¥¿¡Œ¥²¥Ã¥ÈÈó°ÍžÉô€ÇÄêµÁ€µ€ì€ëÊÑ¿ô
159        7.3 ¥Ñ¥¹3€Î¥Æ¥ó¥×¥ì¡Œ¥È¥Õ¥¡¥€¥ë€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô
160                7.3.1 ¥¿¡Œ¥²¥Ã¥ÈÈó°ÍžÉô€ò¥€¥ó¥¯¥ë¡Œ¥É€¹€ëÁ°€ËÄêµÁ€¹€Ù€­ÊÑ¿ô
161                7.3.2 ¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Ç¹Ô€Š€Ù€­¥š¥é¡Œ¥Á¥§¥Ã¥¯
162        7.4 cfg1_out.c€Î¥ê¥ó¥¯€ËɬÍ׀ʥ¹¥¿¥Ö€ÎÄêµÁ¥Õ¥¡¥€¥ë
163£ž¡¥¥·¥¹¥Æ¥à¥µ¡Œ¥Ó¥¹Åù€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô
164        8.0 ¥·¥¹¥Æ¥à¥µ¡Œ¥Ó¥¹€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô
165        8.1 ¥·¥¹¥Æ¥à¥í¥°µ¡Çœ€Î¥¿¡Œ¥²¥Ã¥È°ÍžÄêµÁ
166        8.2 ¥í¥°¥¿¥¹¥¯€Î¥¿¡Œ¥²¥Ã¥È°ÍžÄêµÁ
167        8.3 ¥·¥ê¥¢¥ë¥€¥ó¥¿¥Õ¥§¡Œ¥¹¥É¥é¥€¥Ð€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô
168                8.3.1 ÊÑ¿ô¡€¥Ç¡Œ¥¿·¿¡€ŽÉÍýŽØ¿ô
169                8.3.2 ¥Ç¥Ð¥€¥¹¥µ¡Œ¥Ó¥¹¥ë¡Œ¥Á¥ó
170                8.3.3 ¥³¡Œ¥ë¥Ð¥Ã¥¯¥ë¡Œ¥Á¥ó
171        8.4 ¥«¡Œ¥Í¥ëµ¯Æ°¥á¥Ã¥»¡Œ¥ž€ÎœÐÎπΥ¿¡Œ¥²¥Ã¥È°ÍžÄêµÁ
172        8.5 ¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à€È¥Æ¥¹¥È¥×¥í¥°¥é¥à€Î¥¿¡Œ¥²¥Ã¥È°ÍžÄêµÁ
173        8.6 ŒÂ¹Ô»þŽÖʬÉÛœž·×¥â¥ž¥å¡Œ¥ë€Î¥¿¡Œ¥²¥Ã¥È°ÍžÄêµÁ
174£¹¡¥€œ€ÎŸ
175        9.1 ¥É¥­¥å¥á¥ó¥È
176        9.2 ¥Ñ¥Ã¥±¡Œ¥žµ­œÒ¥Õ¥¡¥€¥ë
177£±£°¡¥¥ê¥Õ¥¡¥ì¥ó¥¹
178        10.1 ¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Î¥Õ¥¡¥€¥ë°ìÍ÷
179
180
181£±¡¥¶ŠÄÌ»ö¹à
182
1831.1 ¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Î¹œÀ®
184
185¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Ï¡€target¥Ç¥£¥ì¥¯¥È¥ê€Î²Œ€Ë¡€¥¿¡Œ¥²¥Ã¥È¥Ï¡Œ¥É¥Š¥§¥¢€È
186³«È¯ŽÄ¶­€ÎÁȀ߹ç€ï€»Ëè€ËÍѰՀ¹€ë¡¥€¿€À€·¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ÎºÆÍøÍÑÀ­€ò
187¹ÍΞ€·¡€¥×¥í¥»¥Ã¥µ¡€¥Á¥Ã¥×¡€³«È¯ŽÄ¶­€Î€ß€Ë°Íž€¹€ëÉôʬ€ò¡€¥×¥í¥»¥Ã¥µ°Í
188žÉô¡€¥Á¥Ã¥×°ÍžÉô¡€³«È¯ŽÄ¶­°ÍžÉô€È€€€Š·Á€ÇÀÚ€êʬ€±€Æ€â€è€€¡¥ÀÚ€êʬ€±
189Êý€Ï¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ÎŒÂÁõ€ËÇ€€µ€ì€Æ€€€ë¡¥¥×¥í¥»¥Ã¥µ°ÍžÉô¡€¥Á¥Ã¥×°Í
190žÉô¡€³«È¯ŽÄ¶­°ÍžÉô€Ï¡€arch¥Ç¥£¥ì¥¯¥È¥ê€Î²Œ€ËÃÖ€¯¡¥
191
192ASP¥«¡Œ¥Í¥ë€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Ï¡€¥·¥¹¥Æ¥à¹œÃێĶ­¡ÊMakefileÅù¡Ë€Î¥¿¡Œ¥²¥Ã
193¥È°ÍžÉô¡€TOPPERS¶ŠÄÌÄêµÁ¡Êt_stddef.h¡Ë€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô¡€¥·¥¹¥Æ¥à¥€¥ó
194¥¿¥Õ¥§¡Œ¥¹¥ì¥€¥ä¡ÊSIL¡€sil.h¡Ë€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô¡€¥«¡Œ¥Í¥ëAPI¡Êkernel.h¡Ë
195€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô¡€¥«¡Œ¥Í¥ëŒÂÁõ€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô¡Ê¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿
196ÀßÄê¥Õ¥¡¥€¥ë€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô€òŽÞ€à¡Ë¡€¥·¥¹¥Æ¥à¥µ¡Œ¥Ó¥¹€Î¥¿¡Œ¥²¥Ã¥È°Í
197žÉô¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ËŽØ€¹€ë¥É¥­¥å¥á¥ó¥ÈÅù€Ç¹œÀ®€µ€ì€ë¡¥
198
1991.2 ÌŸÁ°€ÎŸ×ÆÍ€ÎËÉ»ß
200
201TOPPERS¥×¥í¥ž¥§¥¯¥È€¬Äó¶¡€¹€ë¥œ¥Õ¥È¥Š¥§¥¢€Î€¿€á€Ë¡€TOPPERS_€Ç»Ï€Þ€ë¥·¥ó
202¥Ü¥ë€òÍœÌ󀷀ƀ€€ë¡¥¥Ø¥Ã¥À¥Õ¥¡¥€¥ëÃæ€Ëµ­œÒ€µ€ì¡€¥¢¥×¥ê¥±¡Œ¥·¥ç¥ó€«€é»²
203ŸÈ€Ç€­€ëÆâÉô¥·¥ó¥Ü¥ë€Ï¡€TOPPERS_€Ç»Ï€Þ€ëÌŸÁ°€È€¹€ë¡¥
204
205€Þ€¿¡€_kernel_€Ç»Ï€Þ€ë¥·¥ó¥Ü¥ë€Ï¡€¥«¡Œ¥Í¥ëÆâÉô€ÎÊÑ¿ô€äŽØ¿ô€Î€¿€á€ËÍœÌó
206€·€Æ€€€ë¡¥¥«¡Œ¥Í¥ëÆâÉô€ÎÊÑ¿ô€äŽØ¿ô€ÎÌŸÁ°€Ç¡€¥ê¥ó¥¯»þ€Ë¥¢¥×¥ê¥±¡Œ¥·¥ç¥ó
207€ÎÌŸÁ°€ÈŸ×ÆÍ€¹€ë²ÄÇœÀ­€¬€¢€ë€â€Î€Ï¡€¥ê¥Í¡Œ¥àµ­œÒ€Ë¥ê¥¹¥È¥¢¥Ã¥×€¹€ë€³€È
208€Ç¡€¥³¥ó¥Ñ¥€¥ë»þ€Ë_kernel_€Ç»Ï€Þ€ëÌŸÁ°€ËÃÖ€­Ž¹€š€ë€³€È€È€·€Æ€€€ë¡¥
209
2101.3 ¿œÅ¥€¥ó¥¯¥ë¡Œ¥É€ÎËÉ»ß
211
212€¹€Ù€Æ€Î¥Ø¥Ã¥À¥Õ¥¡¥€¥ë€Ï¡€Â¿œÅ€Ë¥€¥ó¥¯¥ë¡Œ¥É€µ€ì€ë€Î€òËɻ߀¹€ë€¿€á€ÎŸò
213·ï¥³¥ó¥Ñ¥€¥ëµ­œÒ€òÆþ€ì€ë€³€È€È€¹€ë¡¥Î〚€Ð¡€target_config.h€Ç€¢€ì€Ð¡€¥Õ¥¡
214¥€¥ë€ÎÀèÆ¬€Ë
215
216#ifndef TOPPERS_TARGET_CONFIG_H
217#define TOPPERS_TARGET_CONFIG_H
218
219€ò¡€¥Õ¥¡¥€¥ë€ÎËöÈø€Ë
220
221#endif /* TOPPERS_TARGET_CONFIG_H */
222
223€òµ­œÒ€¹€ë¡¥
224
2251.4 ¥¢¥»¥ó¥Ö¥êžÀžì€È€Î¥Ø¥Ã¥À¥Õ¥¡¥€¥ë€Î¶ŠÍÑ
226
227ASP¥«¡Œ¥Í¥ë€Î¥Ø¥Ã¥À¥Õ¥¡¥€¥ë€Î¿€¯€Ï¡€¥¢¥»¥ó¥Ö¥êžÀžì€Î¥œ¡Œ¥¹¥Õ¥¡¥€¥ë€«€é
228€â¥€¥ó¥¯¥ë¡Œ¥É€Ç€­€ë€è€Š€Ë€¹€ë€¿€á€Ë¡€Œ¡€Î¥ë¡Œ¥ë€ËœŸ€Ã€Æµ­œÒ€¹€ë€â€Î€È
229€¹€ë¡¥
230
231¡ŠTOPPERS_MACRO_ONLY€¬¥Þ¥¯¥íÄêµÁ€µ€ì€Æ€€€ëŸì¹ç€Ë€Ï¡€¥¢¥»¥ó¥Ö¥êžÀžì€Ç€Ï
232¡¡²òŒá€Ç€­€Ê€€µ­œÒ¡Ê¥Þ¥¯¥íÄêµÁ°Ê³°€Îµ­œÒ¡Ë€òœü€¯€è€Š€Ëµ­œÒ€¹€ë¡¥
233
234¡ŠÉä¹æÌµ€·À°¿ô·¿€ÎÄê¿ôÃ̀ϡ€UINT_C€äULONG_C€Ê€É€ÎÀ°¿ôÄê¿ô€òºî€ë€¿€á€Î¥Þ
235¡¡¥¯¥í€òÍÑ€€€Æµ­œÒ€¹€ë¡¥€¿€À€·¡€¥¢¥»¥ó¥Ö¥êžÀžì€Î¥œ¡Œ¥¹¥Õ¥¡¥€¥ë€«€é€â¥€
236¡¡¥ó¥¯¥ë¡Œ¥É€Ç€­€ë¥Õ¥¡¥€¥ëÃæ€Ç€¢€Ã€Æ€â¡€CžÀžì€Î€ß€ÇÍÑ€€€ëÄê¿ô€ò€³€ì€é€Î
237¡¡¥Þ¥¯¥í€ò»È€Ã€Æµ­œÒ€¹€ëɬÍ׀πʀ€¡¥
238
239€Þ€¿¡€¥«¡Œ¥Í¥ëŒÂÁõ€Ë€ª€€€Æ€Ï¡€Œ¡€Î¥ë¡Œ¥ë€ËœŸ€Š€â€Î€È€¹€ë¡¥
240
241¡Š¥¢¥»¥ó¥Ö¥êžÀžì€«€é€âÍÑ€€€ëÄê¿ô€ÎÄêµÁÃæ€Ë·¿¥­¥ã¥¹¥È€òÍÑ€€€ëŸì¹ç€Ë€Ï¡€
242¡¡CAST¥Þ¥¯¥í€òÍÑ€€€Æµ­œÒ€¹€ë¡¥
243
244¥¢¥»¥ó¥Ö¥êžÀžì€«€é¥Ø¥Ã¥À¥Õ¥¡¥€¥ë€ò¥€¥ó¥¯¥ë¡Œ¥É€¹€ëºÝ€Ë€Ï¡€É¬Í׀˱þ€ž€Æ¡€
245TOPPERS_MACRO_ONLY¡€UINC_C¡€ULONG_C¡€CAST€ò¥Þ¥¯¥íÄêµÁ€·€Æ€«€é¡€¥€¥ó¥¯¥ë¡Œ
246¥É€·€Ê€±€ì€Ð€Ê€é€Ê€€¡¥
247
2481.5 ¥€¥ó¥¯¥ë¡Œ¥Éµ­œÒ€ÎÊýË¡
249
250³«È¯ŽÄ¶­€ÇÍѰՀµ€ì€Æ€€€ëÉžœà¥Ø¥Ã¥À¥Õ¥¡¥€¥ë€ª€è€Óinclude¥Ç¥£¥ì¥¯¥È¥ê²Œ€Î
251Éžœà¥Ø¥Ã¥À¥Õ¥¡¥€¥ë€Ï¡€¡Ö#include <...>¡×€Ë€è€ê¥€¥ó¥¯¥ë¡Œ¥É€¹€ë¡¥
252
253€œ€ÎŸ€Î¥Ø¥Ã¥À¥Õ¥¡¥€¥ë€Ï¡€¡Ö#include "..."¡×€Ë€è€ê¥€¥ó¥¯¥ë¡Œ¥É€¹€ë¡¥¥Ø¥Ã
254¥À¥Õ¥¡¥€¥ë€¬¡€¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê€ä¥€¥ó¥¯¥ë¡Œ¥É€¹€ë¥Õ¥¡¥€¥ë€ÈƱ€ž¥Ç¥£
255¥ì¥¯¥È¥ê°Ê³°€Î¥Ç¥£¥ì¥¯¥È¥ê€ËÃÖ€«€ì€Æ€€€ëŸì¹ç€Ë€Ï¡€Œ¡€Î€è€Š€Ë¥Ñ¥¹»ØÄê€ò
256¹Ô€Š¡¥
257
258¡Š¥¿¡Œ¥²¥Ã¥È°ÍžÉô¡Êtarget/<¥¿¡Œ¥²¥Ã¥ÈÌŸ>¡Ë€Î¥Ç¥£¥ì¥¯¥È¥ê€ËÃÖ€«€ì€Æ€€€ë
259¡¡Ÿì¹ç€Ï¡€¥Ñ¥¹»ØÄê€ò¹Ô€ï€º¡€¥Õ¥¡¥€¥ëÌŸ€Î€ß€òµ­œÒ€¹€ë¡¥
260                Îã¡Ë#include "target_config.h"
261
262¡Šarch¥Ç¥£¥ì¥¯¥È¥ê²Œ€Î¥Ç¥£¥ì¥¯¥È¥ê€ËÃÖ€«€ì€Æ€€€ëŸì¹ç€Ë€Ï¡€arch¥Ç¥£¥ì¥¯
263¡¡¥È¥ê€«€é€ÎÁêÂХѥ¹€Çµ­œÒ€¹€ë¡¥
264                Îã¡Ë#include "m68k_gcc/prc_config.h"
265
266¡Š€œ€ÎŸ€ÎŸì¹ç€Ë€Ï¡€¥œ¡Œ¥¹¥×¥í¥°¥é¥à€Î¥ë¡Œ¥È¥Ç¥£¥ì¥¯¥È¥ê¡Êconfigure€¬ÃÖ
267¡¡€«€ì€Æ€€€ë¥Ç¥£¥ì¥¯¥È¥ê¡Ë€«€é€ÎÁêÂХѥ¹€Çµ­œÒ€¹€ë¡¥
268                Îã¡Ë#include "pdic/upd72001/upd72001.h"
269
270¡Š¥«¡Œ¥Í¥ë€ò¹œÀ®€¹€ë¥Õ¥¡¥€¥ë€«€é¡€kernel¥Ç¥£¥ì¥¯¥È¥ê²Œ€Î¥Ø¥Ã¥À¥Õ¥¡¥€¥ë
271¡¡€ò¥€¥ó¥¯¥ë¡Œ¥É€¹€ëŸì¹ç€Ï¡€¥Ñ¥¹»ØÄê€ò¹Ô€ï€º¡€¥Õ¥¡¥€¥ëÌŸ€Î€ß€òµ­œÒ€¹€ë¡¥
272                Îã¡Ë#include "kernel_impl.h"
273
2741.6 ¥¯¥ê¥Æ¥£¥«¥ë¥»¥¯¥·¥ç¥ó€ÎœÐÆþœèÍý€ÎŒÂžœ€ËŽØ€¹€ëÀ©Ìó
275
276¥«¡Œ¥Í¥ëÆâ€ÇÍÑ€€€ë¥¯¥ê¥Æ¥£¥«¥ë¥»¥¯¥·¥ç¥ó€ÎœÐÆþœèÍý€òŒÂžœ€¹€ëŸì¹ç€Ë€Ï¡€
277Œ¡€Î2€Ä€ÎŸò·ï€òËþ€¿€¹€è€Š€ËŒÂÁõ€·€Ê€±€ì€Ð€Ê€é€Ê€€¡¥
278
279(1-6-1) œÐÆþœèÍý€«€éÈŽ€±€¿»þÅÀ€Ç€Ï¡€³ä¹þ€ß€Î¶Ø»ß¡¿µö²Ä€¬Ž°Î»€·€Æ€€€Ê€±
280€ì€Ð€Ê€é€Ê€€¡¥Î〚€Ð¡€³ä¹þ€ß¶Ø»ß¡¿µö²ÄÌ¿Îá€òŒÂ¹Ô€·€Æ€«€éŒÂºÝ€Ë³ä¹þ€ß€¬
281¶Ø»ß¡¿µö²Ä€µ€ì€ë€Þ€Ç²¿Ì¿ÎါÃٱ䀹€ë¥×¥í¥»¥Ã¥µ€ÎŸì¹ç€Ë€Ï¡€œÐÆþœèÍý€ÎÃæ
282€ËNOPÌ¿Îá€òÆþ€ì€ë€Ê€É€ÎÊýË¡€Ç¡€œÐÆþœèÍý€òÈŽ€±€¿»þÅÀ€Ç€Ï¡€³ä¹þ€ß€¬¶Ø»ß¡¿
283µö²Ä€µ€ì€¿ŸõÂրˀʀÀƀ€€ë€³€È€òÊÝŸÚ€·€Ê€±€ì€Ð€Ê€é€Ê€€¡¥
284
285(1-6-2) ¥á¥â¥êŸå€Î¥Ç¡Œ¥¿¹œÂ€€¬œñ€­ÊÑ€ï€ë²ÄÇœÀ­€¬€¢€ë€³€È€ò¡€²¿€é€«€ÎÊý
286Ë¡€Ç¥³¥ó¥Ñ¥€¥é€ËÃ΀逻€Ê€±€ì€Ð€Ê€é€Ê€€¡¥GNU³«È¯ŽÄ¶­€Ç€Ï¡€Œ¡€Î€€€º€ì€«€Î
287ÊýË¡€Ç€³€ÎÀ©Ìó€òËþ€¿€¹€³€È€¬€Ç€­€ë¡¥
288
289(a) ¥¯¥ê¥Æ¥£¥«¥ë¥»¥¯¥·¥ç¥ó€ÎœÐÆþœèÍý€ÎÁŽÂ΀ހ¿€ÏœÐÆþœèÍý€ÎËÜŒÁŪ€ÊÉôʬ
290        ¡Ê¶ñÂÎŪ€Ë€Ï¡€³ä¹þ€ß¶Ø»ß¡¿µö²Ä€¹€ëœèÍý¡Ë€ò¡Ê¥€¥ó¥é¥€¥ó€Ç€Ê€€¡ËÄÌŸï
291        €ÎŽØ¿ô€Ë€è€êŒÂžœ€¹€ë¡¥
292
293(b) ¥¯¥ê¥Æ¥£¥«¥ë¥»¥¯¥·¥ç¥ó€ÎœÐÆþœèÍý€ÎËÜŒÁŪ€ÊÉôʬ€ò¥€¥ó¥é¥€¥ó¥¢¥»¥ó¥Ö
294        ¥é€Ë€è€Ã€ÆŒÂžœ€·€Æ€€€ëŸì¹ç€Ë€Ï¡€€œ€Î¥€¥ó¥é¥€¥ó¥¢¥»¥ó¥Ö¥é€ÎclobberÊÑ
295        ¿ô¥ê¥¹¥È€Ë"memory"€òÄɲÀ¹€ë¡¥
296
297(c) ¥¯¥ê¥Æ¥£¥«¥ë¥»¥¯¥·¥ç¥ó€ÎœÐÆþœèÍý€ÎËÜŒÁŪ€ÊÉôʬ€¬¡€¥Þ¥¯¥í€ä¥€¥ó¥é¥€
298        ¥óŽØ¿ôžÆœÐ€·€ÇŒÂžœ€·€Æ€€€ëŸì¹ç€Ë€Ï¡€¥¯¥ê¥Æ¥£¥«¥ë¥»¥¯¥·¥ç¥ó€ËÆþ€ëœè
299        Íý€ÎºÇžå€ÈœÐ€ëœèÍý€ÎÀèÆ¬€Ë¡€Asm("":::"memory")€È€€€Šµ­œÒ€òÆþ€ì€ë¡¥
300
301€³€Î€è€Š€ÊÀ©Ìó€òÀ߀±€ëÍýͳ€Ë€Ä€€€Æ€Ï¡€¡ÖTOPPERS/ASP¥«¡Œ¥Í¥ë Àß·×¥á¥â¡×
302€Î¡Ö¥«¡Œ¥Í¥ë€Î¥Ç¡Œ¥¿¹œÂ€€ËÂЀ¹€ëvolatileÀëžÀ€Ë€Ä€€€Æ¡×€ÎÀá€ò»²ŸÈ€¹€ë€³
303€È¡¥
304
305
306£²¡¥¥·¥¹¥Æ¥à¹œÃێĶ­€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô
307
308€³€ÎŸÏ€ÎÀâÌÀ€Ï¡€GNU³«È¯ŽÄ¶­¡ÊGCC¡€GAS¡€BINUTILS¡€GNU Make¡Ë€òÍÑ€€€ë€³€È
309€òÁÛÄꀷ€Æµ­œÒ€·€Æ€¢€ë¡¥€œ€ì°Ê³°€Î³«È¯ŽÄ¶­€òÍÑ€€€ëŸì¹ç€Ë€Ï¡€³«È¯ŽÄ¶­€Ë
310€¢€ï€»€Æœ€Àµ€¹€ëɬÍ×€¬€¢€ë¡¥
311
3122.1 ¥¿¡Œ¥²¥Ã¥ÈάŸÎ€È¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Î¥Ç¥£¥ì¥¯¥È¥ê
313
314¿·€·€€¥¿¡Œ¥²¥Ã¥È°ÍžÉô€òºîÀ®€¹€ë»þ€Ï¡€€Þ€º¡€¥¿¡Œ¥²¥Ã¥ÈάŸÎ€òÄê€á€ë¡¥¥¿¡Œ
315¥²¥Ã¥ÈάŸÎ€Ï¡€¥·¥¹¥Æ¥àάŸÎ€È³«È¯ŽÄ¶­Î¬ŸÎ€ò"_"€ÇÏ¢·ë€·€¿€â€Î€È€¹€ë¡¥¥·¥¹
316¥Æ¥àάŸÎ€ËÍÑ€€€ëÊž»ú€Ï±ÑŸ®Êž»ú€È¿ô»ú€È"_"€Ë¡€³«È¯ŽÄ¶­Î¬ŸÎ€ËÍÑ€€€ëÊž»ú€Ï
317±ÑŸ®Êž»ú€È¿ô»ú€ËžÂÄꀹ€ë¡¥GNU³«È¯ŽÄ¶­€Î³«È¯ŽÄ¶­Î¬ŸÎ€Ï¡€"gcc"€È€¹€ë¡¥Îã
318€š€Ð¡€¥·¥¹¥Æ¥àάŸÎ€¬"dve68k"€Ç¡€GNU³«È¯ŽÄ¶­€òÍÑ€€€ëŸì¹ç€Ë€Ï¡€¥¿¡Œ¥²¥Ã¥È
319άŸÎ€Ï"dve68k_gcc"€È€Ê€ë¡¥
320
321¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Î¥Õ¥¡¥€¥ë€òÃÖ€¯€¿€á€Ë¡€target¥Ç¥£¥ì¥¯¥È¥ê€Î²Œ€Ë¡€¥¿¡Œ
322¥²¥Ã¥ÈάŸÎ€òÌŸŸÎ€È€¹€ë¥Ç¥£¥ì¥¯¥È¥ê€òºîÀ®€¹€ë¡¥€³€ì€ò¥¿¡Œ¥²¥Ã¥È°ÍžÉô¥Ç¥£
323¥ì¥¯¥È¥ê€ÈžÆ€Ö¡¥
324
325¥¿¡Œ¥²¥Ã¥È°ÍžÉô€«€é¥×¥í¥»¥Ã¥µ°ÍžÉô€ä¥Á¥Ã¥×°ÍžÉô€òÀÚ€êʬ€±€ëŸì¹ç€Ë€Ï¡€
326°ÍžÉôάŸÎ€òÄê€á€ë¡¥°ÍžÉôάŸÎ€Ï¡€¥×¥í¥»¥Ã¥µ€ä¥Á¥Ã¥×€ÎάŸÎ€È³«È¯ŽÄ¶­Î¬
327ŸÎ€ò"_"€ÇÏ¢·ë€·€¿€â€Î€È€¹€ë¡¥¥×¥í¥»¥Ã¥µ€ä¥Á¥Ã¥×€ÎάŸÎ€ËÍÑ€€€ëÊž»ú€Ï¡€±Ñ
328Ÿ®Êž»ú€È¿ô»ú€È"_"€ËžÂÄꀹ€ë¡¥Î〚€Ð¡€¥×¥í¥»¥Ã¥µÎ¬ŸÎ€¬"m68k"€Ç¡€GNU³«È¯
329ŽÄ¶­€òÍÑ€€€ëŸì¹ç€Ë€Ï¡€°ÍžÉôάŸÎ€Ï"m68k_gcc"€È€Ê€ë¡¥
330
331€Þ€¿¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô€«€é³«È¯ŽÄ¶­°ÍžÉô€òÀÚ€êʬ€±€ëŸì¹ç€Ë€Ï¡€³«È¯ŽÄ¶­
332άŸÎ€ò°ÍžÉôάŸÎ€È€¹€ë¡¥Î〚€Ð¡€GNU³«È¯ŽÄ¶­°ÍžÉô€Î°ÍžÉôάŸÎ€Ï¡€"gcc"
333€È€Ê€ë¡¥
334
335€³€ì€é€Î°ÍžÉô€Î¥Õ¥¡¥€¥ë€òÃÖ€¯€¿€á€Ë¡€arch¥Ç¥£¥ì¥¯¥È¥ê€Î²Œ€Ë¡€°ÍžÉôά
336ŸÎ€òÌŸŸÎ€È€¹€ë¥Ç¥£¥ì¥¯¥È¥ê€òºîÀ®€¹€ë¡¥
337
338€Ê€ª¡€GNU³«È¯ŽÄ¶­°Ê³°€Î³«È¯ŽÄ¶­€òÍÑ€€€ëŸì¹ç€Ë€Ï¡€¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥·¥ç¥ó
339¥¹¥¯¥ê¥×¥È¡Êconfigure¡Ë¡€¥µ¥ó¥×¥ë€ÎMakefile¡Êsample/Makefile¡Ë¡€°ìÉô€Î
340¥æ¡Œ¥Æ¥£¥ê¥Æ¥£¥×¥í¥°¥é¥à¡Êutils/makedep¡Ë€ò¡€€œ€Î³«È¯ŽÄ¶­ÍÑ€ËÍѰՀ¹€ëɬ
341Í×€¬€¢€ëŸì¹ç€¬€¢€ë¡¥€œ€ÎŸì¹ç€Ë€Ï¡€€³€ì€é€Î¥Õ¥¡¥€¥ë€ò¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô
342¥Ç¥£¥ì¥¯¥È¥ê€«³«È¯ŽÄ¶­°ÍžÉô¥Ç¥£¥ì¥¯¥È¥ê€ËÃÖ€¯€â€Î€È€¹€ë¡¥€Þ€¿¡€³«È¯ŽÄ
343¶­ÍÑ€Î¥×¥í¥ž¥§¥¯¥È¥Õ¥¡¥€¥ë€¬É¬Í׀ʟì¹ç€Ë€Ï¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô¥Ç¥£¥ì¥¯¥È
344¥ê€ËÃÖ€¯€â€Î€È€¹€ë¡¥
345
3462.2 Makefile€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô
347
348Makefile€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Ï¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô¥Ç¥£¥ì¥¯¥È¥ê€ËÃÖ€€€¿
349Makefile.target€Þ€¿€Ï€œ€³€«€é¥€¥ó¥¯¥ë¡Œ¥É€µ€ì€ë¥Õ¥¡¥€¥ë¡Ê¥×¥í¥»¥Ã¥µ¡Š¥Á¥Ã
350¥×¡Š³«È¯ŽÄ¶­°ÍžÉô€ÇÍѰՀµ€ì€ë¥Õ¥¡¥€¥ë€Ê€É¡Ë€ËŽÞ€á€ë¡¥
351
3522.3 ³«È¯ŽÄ¶­ÌŸ€È¥³¥Þ¥ó¥ÉÌŸ€ÎÀßÄê
353
354³«È¯ŽÄ¶­ÌŸ€È¥³¥Þ¥ó¥ÉÌŸ€òÀßÄꀹ€ë€¿€á€Ë¡€Makefile€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ÇŒ¡
355€ÎÊÑ¿ô€òÄêµÁ€¹€ë¡¥
356
357(2-3-1) TOOL                                    ³«È¯ŽÄ¶­ÌŸ
358
359³«È¯ŽÄ¶­ÌŸ€ËÄêµÁ€¹€ë¡¥GNU³«È¯ŽÄ¶­€òÍÑ€€€ëŸì¹ç€Ë€Ï¡€gcc€ËÄêµÁ€¹€ë¡¥
360
361(2-3-2) GCC_TARGET                              GNU³«È¯ŽÄ¶­€Î¥¿¡Œ¥²¥Ã¥ÈÌŸ
362
363GNU³«È¯ŽÄ¶­€òÍÑ€€€ëŸì¹ç€Ë¡€GNU³«È¯ŽÄ¶­€òconfigure€¹€ëŸì¹ç€Ë»ØÄꀹ€ë¥¿¡Œ
364¥²¥Ã¥ÈÌŸ€ËÄêµÁ€¹€ë¡¥€³€³€Ç»ØÄꀷ€¿¥¿¡Œ¥²¥Ã¥ÈÌŸ€Ï¡€³«È¯ŽÄ¶­€Î¥³¥Þ¥ó¥ÉÌŸ
365€ÎÀèÆ¬€ËÉÕÍ¿€µ€ì€ëÊž»úÎó€È€Ê€ë¡¥Î〚€Ð¡€GCC_TARGET€òm68k-unknown-elf€Ë
366ÄêµÁ€·€¿Ÿì¹ç€Ë€Ï¡€¥³¥ó¥Ñ¥€¥é€È€·€Æm68k-unknown-elf-gcc€¬»È€ï€ì€ë¡¥€³€Î
367ÊÑ¿ô€¬ÄêµÁ€µ€ì€Ê€€Ÿì¹ç€Ë€Ï¡€Ã±€Ê€ëgcc€¬»È€ï€ì€ë¡¥
368
369(2-3-3) CC                                              C¥³¥ó¥Ñ¥€¥é¥É¥é¥€¥Ð€ÎÌŸŸÎ
370(2-3-4) CXX                                             C++¥³¥ó¥Ñ¥€¥é¥É¥é¥€¥Ð€ÎÌŸŸÎ
371(2-3-5) AS                                              ¥¢¥»¥ó¥Ö¥é€ÎÌŸŸÎ
372(2-3-6) LD                                              ¥ê¥ó¥«€ÎÌŸŸÎ
373(2-3-7) AR                                              ¥¢¡Œ¥«¥€¥Ð€ÎÌŸŸÎ
374(2-3-8) NM                                              nm¥×¥í¥°¥é¥à€ÎÌŸŸÎ
375(2-3-9) RANLIB                                  ranlib¥×¥í¥°¥é¥à€ÎÌŸŸÎ
376(2-3-10) OBJCOPY                                objcopy¥×¥í¥°¥é¥à€ÎÌŸŸÎ
377(2-3-11) OBJDUMP                                objdump¥×¥í¥°¥é¥à€ÎÌŸŸÎ
378
379GNU³«È¯ŽÄ¶­°Ê³°€Î³«È¯ŽÄ¶­€òÍÑ€€€ëŸì¹ç€Ë¡€€œ€ì€Ÿ€ì€Î¥³¥Þ¥ó¥É€ÎÌŸŸÎ€ËÄêµÁ
380€¹€ë¡¥Âбþ€¹€ë¥³¥Þ¥ó¥É€¬€Ê€€Ÿì¹ç€ä¡€¥³¥Þ¥ó¥É¥Ñ¥é¥á¡Œ¥¿€¬°Û€Ê€ëŸì¹ç€Ë€Ï¡€
381MakefileÃæ€Ç€œ€Î¥³¥Þ¥ó¥É€òžÆ€ÓœÐ€·€Æ€€€ëÉôʬ€òÊѹ¹€¹€ëɬÍ×€¬€¢€ë¡¥
382
383GNU³«È¯ŽÄ¶­€Ç€Ï¡€€³€ì€é€ÏGCC_TARGET€òÍÑ€€€ÆÄêµÁ€µ€ì€ë€Î€Ç¡€ÄêµÁ€¹€ëɬÍ×
384€Ï€Ê€€¡¥
385
3862.4 ¥³¥ó¥Ñ¥€¥ë¥ª¥×¥·¥ç¥ó€È¥ª¥Ö¥ž¥§¥¯¥È¥Õ¥¡¥€¥ë€ÎÀßÄê
387
388Makefile€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Ç°Ê²Œ€ÇÀâÌÀ€¹€ëÊÑ¿ô€òÄêµÁ€¹€ë»þ€Ë€Ï¡€":="€ò
389ÍÑ€€€Æ¡€€œ€ì€Þ€Ç€ÎÄêµÁ€ËÄɲÀ¹€ë·Á€Ç¹Ô€Š¡¥Î〚€Ð¡€¥³¥ó¥Ñ¥€¥é€ËÂЀ¹€ë€œ
390€ÎŸ€Î¥ª¥×¥·¥ç¥ó€È€·€Æ¡Ö-Wall -g -O2¡×€òÄɲÀ·€¿€€Ÿì¹ç€Ë€Ï¡€¡ÖCOPTS :=
391$(COPTS) -Wall -g -O2¡×€È€€€Šµ­œÒ€òMakefile€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ËŽÞ€á€ë¡¥
392
393(2-4-1) COPTS                           ¥³¥ó¥Ñ¥€¥é€ËÂЀ¹€ë€œ€ÎŸ€Î¥ª¥×¥·¥ç¥ó
394(2-4-2) CDEFS                           ¥Þ¥¯¥íÄêµÁ¥ª¥×¥·¥ç¥ó¡Ê-D¥ª¥×¥·¥ç¥ó¡Ë
395(2-4-3) INCLUDES                        ¥Ø¥Ã¥À¥Õ¥¡¥€¥ë€ÎÃÖ€«€ì€¿¥Ç¥£¥ì¥¯¥È¥ê»ØÄꥪ
396                                                        ¥×¥·¥ç¥ó¡Ê-I¥ª¥×¥·¥ç¥ó¡Ë
397(2-4-4) LDFLAGS                         ¥ê¥ó¥«€ËÂЀ¹€ë€œ€ÎŸ€Î¥ª¥×¥·¥ç¥ó
398(2-4-5) LIBS                            ¥é¥€¥Ö¥é¥ê¥ê¥ó¥¯»ØÄê€Î€¿€á€Î¥ª¥×¥·¥ç¥ó
399
400¥¿¡Œ¥²¥Ã¥È€Ë°Íž€·€Æ¡€€¹€Ù€Æ€Î¥œ¡Œ¥¹¥Õ¥¡¥€¥ë€Ë¶ŠÄÌ€¹€ë¥³¥ó¥Ñ¥€¥ë¥ª¥×¥·¥ç
401¥ó€ÎÄɲÀ¬É¬Í׀ʟì¹ç€Ë€Ï¡€¥ª¥×¥·¥ç¥ó€ÎŒïÎàËè€ËŸå€ËŒš€·€¿ÊÑ¿ô€ËÄêµÁ€¹€ë¡¥
402
403€Û€È€ó€É€ÎŸì¹ç€Ë¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô¥Ç¥£¥ì¥¯¥È¥ê€ÎMakefile.target€Ë€Ï¡€°Ê
404²Œ€Îµ­œÒ€òŽÞ€á€ëɬÍ×€¬€¢€ë¡¥
405
406----------------------------------------
407INCLUDES := $(INCLUDES) -I$(TARGETDIR)
408----------------------------------------
409
410€³€³€ÇTARGETDIR€Ï¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô¥Ç¥£¥ì¥¯¥È¥ê€ËÄêµÁ€µ€ì€Æ€€€ë¡¥€Þ€¿
411SRCDIR€Ï¡€Makefile€Ë€ª€€€Æ¡€¥œ¡Œ¥¹¥×¥í¥°¥é¥à€Î¥ë¡Œ¥È¥Ç¥£¥ì¥¯¥È¥ê
412¡Êconfigure€¬ÃÖ€«€ì€Æ€€€ë¥Ç¥£¥ì¥¯¥È¥ê¡Ë€ËÄêµÁ€µ€ì€Æ€€€ë¡¥
413
414¥³¥ó¥Ñ¥€¥é€ÎÌäÂêÅù€Ç¡€·Ù¹ð¥á¥Ã¥»¡Œ¥ž€¬œÐ€ë€³€È€òËÉ€²€Ê€€Ÿõ¶·°Ê³°€Ç€Ï¡€
415COPTS€Ë-Werror€òÄɲÀ¹€ë€³€È€ò¿äŸ©€¹€ë¡¥
416
417----------------------------------------
418COPTS := $(COPTS) -Werror
419----------------------------------------
420
421¥«¡Œ¥Í¥ë€Î¥³¥ó¥Ñ¥€¥ë»þ€Ë¡€dereferencing type-punned pointer will break
422strict-aliasing rules€È€€€Š·Ù¹ð€¬œÐ€ëŸì¹ç€Ë€Ï¡€°Ê²Œ€òÄɲÀ¹€ë€È€è€€¡¥€³
423€Î·Ù¹ð¥á¥Ã¥»¡Œ¥ž€ËŽØ€¹€ëŸÜºÙ€Ï¡€¡ÖTOPPERS/ASP¥«¡Œ¥Í¥ë Àß·×¥á¥â¡×€Î¡Ö·¿
424¥­¥ã¥¹¥È€ËÈŒ€Š·Ù¹ð¥á¥Ã¥»¡Œ¥ž¡×€ÎÀá€ò»²ŸÈ€¹€ë€³€È¡¥
425
426----------------------------------------
427KERNEL_CFLAGS := $(KERNEL_CFLAGS) -fno-strict-aliasing
428----------------------------------------
429
430€Þ€¿¡€¥¢¥»¥ó¥Ö¥êžÀžì¥ì¥Ù¥ë€ÎŒ±ÊÌÌŸ€¬¡€CžÀžì¥ì¥Ù¥ë€ÎŒ±ÊÌÌŸ€ÎÀèÆ¬€Ë"_"€¬
431ÉÕ€€€¿€â€Î€Ë€Ê€ëŸì¹ç€Ë€Ï¡€CDEFS€Ë-DTOPPERS_LABEL_ASM€òÄɲÀ¹€ë¡¥
432
433(2-4-6) SYSSVC_DIR                      ¥·¥¹¥Æ¥à¥µ¡Œ¥Ó¥¹€Î¥œ¡Œ¥¹€¬ÃÖ€«€ì€¿¥Ç¥£¥ì¥¯¥È¥ê
434(2-4-7) SYSSVC_ASMOBJS          ¥¢¥»¥ó¥Ö¥êžÀžì€Çµ­œÒ€µ€ì€¿¥·¥¹¥Æ¥à¥µ¡Œ¥Ó¥¹€Î
435                                                        ¥ª¥Ö¥ž¥§¥¯¥È
436(2-4-8) SYSSVC_COBJS            CžÀžì€Çµ­œÒ€µ€ì€¿¥·¥¹¥Æ¥à¥µ¡Œ¥Ó¥¹€Î¥ª¥Ö¥ž¥§¥¯¥È
437(2-4-9) SYSSVC_CFLAGS           ¥·¥¹¥Æ¥à¥µ¡Œ¥Ó¥¹€ËÂЀ¹€ë¥³¥ó¥Ñ¥€¥ë¥ª¥×¥·¥ç¥ó
438(2-4-10) SYSSVC_LIBS            ¥·¥¹¥Æ¥à¥µ¡Œ¥Ó¥¹€ËÂЀ¹€ë¥é¥€¥Ö¥é¥ê¥ê¥ó¥¯»ØÄê
439
440¥¿¡Œ¥²¥Ã¥È€Ë°Íž€·€Æ¡€¥·¥¹¥Æ¥à¥µ¡Œ¥Ó¥¹¡Ê¥·¥¹¥Æ¥à¥í¥°¥¿¥¹¥¯€ä¥Ç¥Ð¥€¥¹¥É
441¥é¥€¥Ð€Ê€É¡Ë€Î¥œ¡Œ¥¹€¬ÃÖ€«€ì€¿¥Ç¥£¥ì¥¯¥È¥ê¡€¥·¥¹¥Æ¥à¥µ¡Œ¥Ó¥¹€ò¹œÀ®€¹€ë
442¥ª¥Ö¥ž¥§¥¯¥È¥Õ¥¡¥€¥ë€Î¥ê¥¹¥È¡€€œ€ì€é€ò¥³¥ó¥Ñ¥€¥ë€¹€ëºÝ€ËŬÍÑ€¹€ë¥³¥ó¥Ñ
443¥€¥ë¥ª¥×¥·¥ç¥ó¡€€œ€Î¹œÀ®€ËɬÍ׀ʥ饀¥Ö¥é¥ê¥ê¥ó¥¯»ØÄê€òÄɲÀ¹€ëŸì¹ç€Ë€Ï¡€
444Ÿå€ËŒš€·€¿ÊÑ¿ô€ËÄêµÁ€¹€ë¡¥
445
446(2-4-11) KERNEL_DIR                     ¥«¡Œ¥Í¥ë€Î¥œ¡Œ¥¹€¬ÃÖ€«€ì€¿¥Ç¥£¥ì¥¯¥È¥ê
447(2-4-12) KERNEL_ASMOBJS         ¥¢¥»¥ó¥Ö¥êžÀžì€Çµ­œÒ€µ€ì€¿¥«¡Œ¥Í¥ë€Î¥ª¥Ö¥ž¥§¥¯¥È
448(2-4-13) KERNEL_COBJS           CžÀžì€Çµ­œÒ€µ€ì€¿¥«¡Œ¥Í¥ë€Î¥ª¥Ö¥ž¥§¥¯¥È
449(2-4-14) KERNEL_CFLAGS          ¥«¡Œ¥Í¥ë€ËÂЀ¹€ë¥³¥ó¥Ñ¥€¥ë¥ª¥×¥·¥ç¥ó
450
451¥¿¡Œ¥²¥Ã¥È€Ë°Íž€·€Æ¡€¥«¡Œ¥Í¥ë€Î¥œ¡Œ¥¹€¬ÃÖ€«€ì€¿¥Ç¥£¥ì¥¯¥È¥ê¡€¥«¡Œ¥Í¥ë
452€ò¹œÀ®€¹€ë¥ª¥Ö¥ž¥§¥¯¥È¥Õ¥¡¥€¥ë€Î¥ê¥¹¥È¡€€œ€ì€é€ò¥³¥ó¥Ñ¥€¥ë€¹€ëºÝ€ËŬÍÑ
453€¹€ë¥³¥ó¥Ñ¥€¥ë¥ª¥×¥·¥ç¥ó€òÄɲÀ¹€ëŸì¹ç€Ë€Ï¡€Ÿå€ËŒš€·€¿ÊÑ¿ô€ËÄêµÁ€¹€ë¡¥
454
455€Û€È€ó€É€ÎŸì¹ç€Ë¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô¥Ç¥£¥ì¥¯¥È¥ê€ÎMakefile.target€Ë€Ï¡€°Ê
456²Œ€Îµ­œÒ€òŽÞ€á€ëɬÍ×€¬€¢€ë¡¥
457
458----------------------------------------
459KERNEL_DIR := $(KERNEL_DIR) $(TARGETDIR)
460KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) target_support.o
461KERNEL_COBJS := $(KERNEL_COBJS) target_config.o target_timer.o
462----------------------------------------
463
464(2-4-15) CFG_TABS                       ¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿€ËÂЀ¹€ë¥ª¥×¥·¥ç¥ó
465
466¥¿¡Œ¥²¥Ã¥È€Ë°Íž€·€Æ¡€¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿€ËÂЀ¹€ë¥ª¥×¥·¥ç¥ó€òÄɲÀ¹€ëŸì
467¹ç€Ë€Ï¡€Ÿå€ËŒš€·€¿ÊÑ¿ô€ËÄêµÁ€¹€ë¡¥¶ñÂÎŪ€Ë€Ï¡€¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿€ÎÃÍŒè
468ÆÀ¥·¥ó¥Ü¥ë¥Æ¡Œ¥Ö¥ë€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô¡Êtarget_def.csv¡Ë€¬€¢€ëŸì¹ç€Ë€Ï¡€
469€œ€ì€ò»ØÄꀹ€ë¥ª¥×¥·¥ç¥ó€òÄɲÀ¹€ëɬÍ×€¬€¢€ë¡¥
470
471€Û€È€ó€É€ÎŸì¹ç€Ë¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô¥Ç¥£¥ì¥¯¥È¥ê€ÎMakefile.target€Ë€Ï¡€°Ê
472²Œ€Îµ­œÒ€òŽÞ€á€ëɬÍ×€¬€¢€ë¡¥
473
474----------------------------------------
475CFG_TABS := $(CFG_TABS) --cfg1-def-table $(TARGETDIR)/target_def.csv
476----------------------------------------
477
478(2-4-16) CFG1_OUT_LDFLAGS       cfg1_out.c€ËÂЀ¹€ë¥ê¥ó¥¯¥ª¥×¥·¥ç¥ó
479
480¥¿¡Œ¥²¥Ã¥È€Ë°Íž€·€Æ¡€cfg1_out.c€ò¥ê¥ó¥¯€¹€ëºÝ€ËŬÍÑ€¹€ë¥ª¥×¥·¥ç¥ó€òÄÉ
481²Ã€¹€ëŸì¹ç€Ë€Ï¡€Ÿå€ËŒš€·€¿ÊÑ¿ô€ËÄêµÁ€¹€ë¡¥
482
483€Ê€ª¡€LDFLAGS€Ï¡€cfg1_out.c€ò¥ê¥ó¥¯€¹€ëºÝ€Ë€ÏŬÍÑ€µ€ì€Ê€€€¿€á¡€LDFLAGS
484€ËÄêµÁ€·€¿¥ª¥×¥·¥ç¥ó€Ç¡€cfg1_out.c€ò¥ê¥ó¥¯€¹€ëºÝ€Ë€âɬÍ׀ʀâ€Î€Ï¡€
485CFG1_OUT_LDFLAGS€Ë€âÄêµÁ€¹€ëɬÍ×€¬€¢€ë¡¥
486
487(2-4-17) CFG_ASMOBJS            ¥¢¥»¥ó¥Ö¥êžÀžì€Çµ­œÒ€µ€ì€¿¥·¥¹¥Æ¥à¥³¥ó¥Õ¥£
488                                                        ¥®¥å¥ì¡Œ¥·¥ç¥ó€Î€¿€á€Î¥ª¥Ö¥ž¥§¥¯¥È
489(2-4-18) CFG_COBJS                      CžÀžì€Çµ­œÒ€µ€ì€¿¥·¥¹¥Æ¥à¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ
490                                                        ¥·¥ç¥ó€Î€¿€á€Î¥ª¥Ö¥ž¥§¥¯¥È
491
492¥¿¡Œ¥²¥Ã¥È€Ë°Íž€·€Æ¡€¥·¥¹¥Æ¥à¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥·¥ç¥ó€Î€¿€á€Î¥ª¥Ö¥ž¥§¥¯
493¥È¥Õ¥¡¥€¥ë€ò¡Êkernel_cfg.o°Ê³°€Ë¡ËÄɲÀ¹€ëŸì¹ç€Ë€Ï¡€Ÿå€ËŒš€·€¿ÊÑ¿ô€ËÄê
494µÁ€¹€ë¡¥€³€ÎŸì¹ç¡€ÄɲÀ·€¿¥ª¥Ö¥ž¥§¥¯¥È¥Õ¥¡¥€¥ë€ÎºîÀ®¥ë¡Œ¥ë¡Ê¥³¥ó¥Ñ¥€¥ë¡¿
495¥¢¥»¥ó¥Ö¥ë¥ë¡Œ¥ë€È°ÍÂžŽØ·žºîÀ®¥ë¡Œ¥ë¡Ë€ò¡€Makefile€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Ë
496µ­œÒ€¹€ëɬÍ×€¬€¢€ë¡¥
497
498(2-4-19) CFG2_OUT_SRCS
499
500¥¿¡Œ¥²¥Ã¥È€Ë°Íž€·€Æ¡€¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿€Î¥Ñ¥¹2€Çkernel_cfg.c€È
501kernel_cfg.h°Ê³°€Î¥Õ¥¡¥€¥ë€òÀžÀ®€¹€ëŸì¹ç€Ë€Ï¡€Ÿå€ËŒš€·€¿ÊÑ¿ô€ËÄêµÁ€¹€ë¡¥
502
503(2-4-20) OMIT_WARNING_ALL
504(2-4-21) OMIT_OPTIMIZATION
505
506¥µ¥ó¥×¥ë€ÎMakefile€Ç€Ï¡€¥³¥ó¥Ñ¥€¥é€ËÂЀ¹€ë¥ª¥×¥·¥ç¥ó€Ë¡Ö-Wall -g -O2¡×
507€òÄɲÀ¹€ë¡¥-Wall€òÄɲÀ·€¿€¯€Ê€€Ÿì¹ç€Ë€Ï¡€Makefile€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Ç
508OMIT_WARNING_ALL€ò"true"€ËÄêµÁ€¹€ë¡¥-O2€òÄɲÀ·€¿€¯€Ê€€Ÿì¹ç€Ë€Ï¡€
509Makefile€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ÇOMIT_OPTIMIZATION€ò"true"€ËÄêµÁ€¹€ë¡¥
510
5112.5 ¥ª¥Õ¥»¥Ã¥È¥Õ¥¡¥€¥ë€ÎÀžÀ®ÊýË¡
512
513¥¢¥»¥ó¥Ö¥êžÀžì€Çµ­œÒ€µ€ì€ë¥×¥í¥°¥é¥à€«€é¡€CžÀžì€Î¹œÂ€Â΀˥¢¥¯¥»¥¹€¹€ëŸì
514¹ç€Ë€Ï¡€¹œÂ€Â΀γƥե£¡Œ¥ë¥É€Î¥ª¥Õ¥»¥Ã¥ÈÃÍ€ò»²ŸÈ€¹€ë€³€È€¬É¬Í׀ǀ¢€ë¡¥
515ASP¥«¡Œ¥Í¥ë€Ç€Ï¡€É¬Í׀ʥª¥Õ¥»¥Ã¥ÈÃÍ€òµá€á€Æ¥Õ¥¡¥€¥ë¡ÊÉžœà€Ç€Ïoffset.h¡Ë
516€ËÀžÀ®€¹€ë€¿€á€Î»ÅÁȀ߀òÍѰՀ·€Æ€€€ë¡¥
517
518€³€Î»ÅÁȀ߀òÍÑ€€€ë€³€È€Ç¡€Î〚€Ð¡€TCBÃæ€Îtexptn¥Õ¥£¡Œ¥ë¥É€Î¥ª¥Õ¥»¥Ã¥ÈÃÍ
519€òTCB_texptn€Ë¥Þ¥¯¥íÄêµÁ€¹€ë€³€È€ä¡€TCBÃæ€Î¥¿¥¹¥¯¥³¥ó¥Æ¥­¥¹¥È¥Ö¥í¥Ã¥¯
520¡Êtskctxb¡Ë€ËŽÞ€Þ€ì€ëpc¥Õ¥£¡Œ¥ë¥É€Î¥ª¥Õ¥»¥Ã¥ÈÃÍ€òTCB_pc€Ë¥Þ¥¯¥íÄêµÁ€¹€ë
521€³€È€¬€Ç€­€ë¡¥€Þ€¿¡€TCBÃæ€Îenatex¥Õ¥£¡Œ¥ë¥É€Î¥ª¥Õ¥»¥Ã¥ÈÃÍ¡€¥Ó¥Ã¥È°ÌÃÖ¡€
522¥Ó¥Ã¥È¥Þ¥¹¥¯€ò¡€€œ€ì€Ÿ€ìTCB_enatex¡€TCB_enatex_bit¡€TCB_enatex_mask€Ë¥Þ
523¥¯¥íÄêµÁ€¹€ë€³€È€¬€Ç€­€ë¡¥
524
525offset.h€òÀžÀ®€¹€ë€¿€á€Î»ÅÁȀ߀Ȁ·€Æ¡€žœ»þÅÀ€Ç€Ï¡€¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿€ò
526ÍÑ€€€ëÊýË¡€È¡€makeoffset.c€Ègenoffset€òÍÑ€€€ëÊýË¡€òÍѰՀ·€Æ€€€ë¡¥žåŒÔ€Î
527ÊýË¡€Ï¡€GNU³«È¯ŽÄ¶­€Ë€·€«Âбþ€·€Æ€€€Ê€€€³€È€«€é¡€Ÿ­Íè€Î¥Ð¡Œ¥ž¥ç¥ó€Ç€Ï¡€
528žåŒÔ€ÎÊýË¡€Î¥µ¥Ý¡Œ¥È€ò€ä€á€ë·×²è€Ç€¢€ë¡¥¿·€¿€Ë¥Ý¡Œ¥Æ¥£¥ó¥°€¹€ëŸì¹ç€Ë€Ï¡€
529Á°ŒÔ€ÎÊýË¡€òÍÑ€€€ë€³€È€ò¿äŸ©€¹€ë¡¥
530
531€³€ì€é€Î»ÅÁȀ߀ǥª¥Õ¥»¥Ã¥È¥Õ¥¡¥€¥ë€òÀžÀ®€Ç€­€Ê€€»þ€Ë€Ï¡€offset.h€ò¥¿¡Œ
532¥²¥Ã¥È°ÍžÉô€ÇÍѰՀ·¡€Makefile€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ÇOMIT_MAKEOFFSET€ò
533"true"€ËÄêµÁ€¹€ë¡¥
534
535³ÈÄ¥¥Ñ¥Ã¥±¡Œ¥ž€ÎÃæ€Ë€Ï¡€TCB€Ë¥Õ¥£¡Œ¥ë¥É€òÄɲÀ¹€ë€â€Î€¬€¢€ë€¿€á¡€TCBÃæ
536€Î¥Õ¥£¡Œ¥ë¥É€Î¥ª¥Õ¥»¥Ã¥ÈÃÍ€ÏÊѲœ€¹€ë¡¥offset.h€òÀžÀ®€¹€ëŸì¹ç€Ç€â¡€¥¿¡Œ
537¥²¥Ã¥È°ÍžÉô€ÇÍѰՀ¹€ëŸì¹ç€Ç€â¡€³ÈÄ¥¥Ñ¥Ã¥±¡Œ¥ž€ËÂбþ€¹€ë€¿€á€Ë€Ï¡€€³€Î
538€³€È€ò¹ÍΞ€¹€ëɬÍ×€¬€¢€ë¡¥
539
5402.5.1 ¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿€òÍÑ€€€ëÊýË¡
541
542¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿€Î¥Ñ¥¹1€ÇÀžÀ®€¹€ëcfg1_out.c€ò¥³¥ó¥Ñ¥€¥ë€·€ÆÀžÀ®€·€¿¥ª
543¥Ö¥ž¥§¥¯¥È¥Õ¥¡¥€¥ë€«€é¡€¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿€Ë€è€Ã€Æoffset.h€òÀžÀ®€¹€ëÊý
544Ë¡€Ç€¢€ë¡¥€³€ÎÊýË¡€òÍÑ€€€ë€¿€á€Ë€Ï¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Ç¥ª¥Õ¥»¥Ã¥È¥Õ¥¡¥€
545¥ëÀžÀ®Íѥƥó¥×¥ì¡Œ¥È¥Õ¥¡¥€¥ë€òÍѰՀ·¡€target_cfg1_out.h¡Ê€Þ€¿€Ï¡€€œ€³€«
546€é¥€¥ó¥¯¥ë¡Œ¥É€µ€ì€ë¥Õ¥¡¥€¥ë¡Ë€Ètarget_def.csv¡Ê€Þ€¿€Ï¡€Æ±Åù€ÎÌò³ä€ò»ý
547€Ä¥Õ¥¡¥€¥ë¡Ë€Ëµ­œÒ€òÄɲÀ¹€ëɬÍ×€¬€¢€ë¡¥€Ê€ª¡€€³€ì€é€Î¥Õ¥¡¥€¥ë€ò¿·€¿€Ë
548ÍѰՀ·€¿ºÝ€äœ€Àµ€·€¿ºÝ€Ë€Ï¡€offset.h€ËÂÅÅö€ÊÄêµÁ€¬ÀžÀ®€µ€ì€Æ€€€ë€³€È€ò
549³Îǧ€¹€Ù€­€Ç€¢€ë¡¥
550
551¥ª¥Õ¥»¥Ã¥È¥Õ¥¡¥€¥ëÀžÀ®Íѥƥó¥×¥ì¡Œ¥È¥Õ¥¡¥€¥ë€Ï¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Ç¡€
552target_offset.tf¡Ê€Þ€¿€Ï¡€¥×¥í¥»¥Ã¥µ°ÍžÉô€ä¥Á¥Ã¥×°ÍžÉô€ÇÍѰՀ¹€ë€œ€ì
553€ËÂå€ï€ë¥Õ¥¡¥€¥ë¡Ë€ËÍѰՀ¹€ë¡¥€Þ€¿¡€Makefile€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Ç¡€Œ¡€Î
554Îã€Î€è€Š€Ë¡€OFFSET_TF€Ë¥ª¥Õ¥»¥Ã¥È¥Õ¥¡¥€¥ëÀžÀ®Íѥƥó¥×¥ì¡Œ¥È¥Õ¥¡¥€¥ë€Î¥Õ¥¡
555¥€¥ëÌŸ€òÄêµÁ€¹€ë¡¥
556
557----------------------------------------
558# ¥ª¥Õ¥»¥Ã¥È¥Õ¥¡¥€¥ëÀžÀ®€Î€¿€á€ÎÄêµÁ
559OFFSET_TF = $(TARGETDIR)/target_offset.tf
560----------------------------------------
561
562¥ª¥Õ¥»¥Ã¥È¥Õ¥¡¥€¥ëÀžÀ®Íѥƥó¥×¥ì¡Œ¥È¥Õ¥¡¥€¥ë€Ë€Ï¡€°Ê²Œ€ÎÆâÍÆ€òµ­œÒ€¹€ë¡¥
563
564(1) Éžœà¥Æ¥ó¥×¥ì¡Œ¥È¥Õ¥¡¥€¥ë€Î¥€¥ó¥¯¥ë¡Œ¥É
565
566¥ª¥Õ¥»¥Ã¥È¥Õ¥¡¥€¥ëÀžÀ®ÍÑ€ÎÉžœà¥Æ¥ó¥×¥ì¡Œ¥È¥Õ¥¡¥€¥ë¡Êkernel/genoffset.tf¡Ë
567€ò¥€¥ó¥¯¥ë¡Œ¥É€¹€ë¡¥Éžœà¥Æ¥ó¥×¥ì¡Œ¥È¥Õ¥¡¥€¥ë€Ë€Ï¡€°Ê²Œ€ÇÍÑ€€€ëDEFINEŽØ
568¿ô€äDEFINE_BITŽØ¿ô€ÎÄêµÁ€Ê€É€¬ŽÞ€Þ€ì€Æ€€€ë¡¥
569
570----------------------------------------
571$ Éžœà¥Æ¥ó¥×¥ì¡Œ¥È¥Õ¥¡¥€¥ë€Î¥€¥ó¥¯¥ë¡Œ¥É
572$INCLUDE "kernel/genoffset.tf"$
573----------------------------------------
574
575(2) ¥ª¥Õ¥»¥Ã¥ÈÃ̀Υޥ¯¥íÄêµÁ€ÎÀžÀ®
576
577DEFINEŽØ¿ô€òÍÑ€€€Æ¡€¥ª¥Õ¥»¥Ã¥ÈÃ̀Υޥ¯¥íÄêµÁ€òÀžÀ®€¹€ë¡¥Î〚€Ð¡€TCBÃæ€Î
578¥¿¥¹¥¯¥³¥ó¥Æ¥­¥¹¥È¥Ö¥í¥Ã¥¯¡Êtskctxb¡Ë€ËŽÞ€Þ€ì€ëpc¥Õ¥£¡Œ¥ë¥É€Î¥ª¥Õ¥»¥Ã¥È
579ÃÍ€ò¡€TCB_pc€Ë¥Þ¥¯¥íÄêµÁ€¹€ëŸì¹ç€Ë€Ï¡€Œ¡€Î€è€Š€Ëµ­œÒ€¹€ë¡¥
580
581----------------------------------------
582$ ¥ª¥Õ¥»¥Ã¥ÈÃ̀Υޥ¯¥íÄêµÁ€ÎÀžÀ®
583$DEFINE("TCB_pc", offsetof_TCB_pc)$
584----------------------------------------
585
586€³€³€Ç¡€DEFINEŽØ¿ô€ÎÂè1¥Ñ¥é¥á¡Œ¥¿€Ï¥Þ¥¯¥íÄêµÁ€¹€ë¥·¥ó¥Ü¥ë¡€Âè2¥Ñ¥é¥á¡Œ
587¥¿€Ï¡€¥ª¥Õ¥»¥Ã¥ÈÃÍ€òÊÝ»ý€¹€ë¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿€ÎÊÑ¿ô€Ç€¢€ë¡¥
588
589€Þ€¿¡€¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿€¬¡€¥ª¥Õ¥»¥Ã¥ÈÃÍ€òÊÝ»ý€¹€ëÊÑ¿ô¡ÊŸå€ÎÎã€Ç€Ï
590offsetof_TCB_pc¡Ë€ËÃÍ€òÀßÄꀹ€ë€¿€á€Ë¡€target_def.csv¡Ê€Þ€¿€Ï¡€Æ±Åù€ÎÌò
591³ä€ò»ý€Ä¥Õ¥¡¥€¥ë¡Ë€ËŒ¡€ÎÎã€Î€è€Š€Ê¹Ô€òÄɲÀ¹€ë¡¥
592
593----------------------------------------
594offsetof_TCB_pc,"offsetof(TCB,tskctxb.pc)"
595----------------------------------------
596
597€¿€À€·¡€³Æ¥ª¥Ö¥ž¥§¥¯¥È€ÎœéŽü²œ¥Ö¥í¥Ã¥¯€Î¥¿¡Œ¥²¥Ã¥ÈÈó°Íž€Î¥Õ¥£¡Œ¥ë¥É€Î
598¥ª¥Õ¥»¥Ã¥ÈÃÍ€òŒèÆÀ€¹€ë€¿€á€Îµ­œÒ€Ï¡€kernel/kernel_def.csv€ËŽÞ€Þ€ì€Æ€€€ë¡¥
599kernel/kernel_def.csv€ËŽÞ€Þ€ì€Æ€€€ëµ­œÒ€Ï¡€target_def.csv¡Ê€Þ€¿€Ï¡€Æ±Åù
600€ÎÌò³ä€ò»ý€Ä¥Õ¥¡¥€¥ë¡Ë€ËÄɲÀ¹€ëɬÍ׀πʀ€¡¥
601
602(3) ¥Ó¥Ã¥È¥ª¥Õ¥»¥Ã¥ÈÃÍÅù€Î¥Þ¥¯¥íÄêµÁ€ÎÀžÀ®
603
604DEFINE_BITŽØ¿ô€òÍÑ€€€Æ¡€¥Ó¥Ã¥È€Î¥ª¥Õ¥»¥Ã¥ÈÃÍ¡€¥Ó¥Ã¥È°ÌÃÖ¡€¥Ó¥Ã¥È¥Þ¥¹¥¯
605€Î¥Þ¥¯¥íÄêµÁ€òÀžÀ®€¹€ë¡¥Î〚€Ð¡€TCBÃæ€Îenatex¥Õ¥£¡Œ¥ë¥É€Î¥ª¥Õ¥»¥Ã¥ÈÃÍ¡€
606¥Ó¥Ã¥È°ÌÃÖ¡€¥Ó¥Ã¥È¥Þ¥¹¥¯€ò¡€€œ€ì€Ÿ€ìTCB_enatex¡€TCB_enatex_bit¡€
607TCB_enatex_mask€Ë¥Þ¥¯¥íÄêµÁ€¹€ëŸì¹ç€Ë€Ï¡€Œ¡€Î€è€Š€Ëµ­œÒ€¹€ë¡¥
608
609----------------------------------------
610$DEFINE_BIT("TCB_enatex", sizeof_TCB, "B")$
611----------------------------------------
612
613€³€³€Ç¡€DEFINE_BITŽØ¿ô€ÎÂè1¥Ñ¥é¥á¡Œ¥¿€Ï¥Þ¥¯¥íÄêµÁ€¹€ë¥·¥ó¥Ü¥ë¡Ê€ÎÀèÆ¬Éô
614ʬ¡Ë¡€Âè2¥Ñ¥é¥á¡Œ¥¿€Ï¹œÂ€Â΀Υµ¥€¥º€Ç€¢€ë¡¥Âè3¥Ñ¥é¥á¡Œ¥¿€Ë€Ï¡€¥Ó¥Ã¥È€Î
615¥ª¥Õ¥»¥Ã¥È¡€¥Ó¥Ã¥È°ÌÃÖ¡€¥Ó¥Ã¥È¥Þ¥¹¥¯€ò¡€8¥Ó¥Ã¥Èñ°Ì¡Ê¥Ð¥€¥Èñ°Ì¡Ë€Çµá€á
616€ëŸì¹ç€Ë€Ï"B"€ò¡€16¥Ó¥Ã¥Èñ°Ì€Çµá€á€ëŸì¹ç€Ë€Ï"H"€ò¡€32¥Ó¥Ã¥Èñ°Ì€Çµá€á
617€ëŸì¹ç€Ë€Ï"W"€ò»ØÄꀹ€ë¡¥€Ê€ª¡€¥Ó¥Ã¥È°ÌÃրϡ€LSB€ò0€È€·€¿Ã͡ʥӥåȥê¥È
618¥ë¥š¥ó¥Ç¥£¥¢¥ó€òÁÛÄê¡Ë€òµá€á€ë¡¥
619
620€Þ€¿¡€target_cfg1_out.h¡Ê€Þ€¿€Ï¡€€œ€³€«€é¥€¥ó¥¯¥ë¡Œ¥É€µ€ì€ë¥Õ¥¡¥€¥ë¡Ë€Ë¡€
621¥Ó¥Ã¥È¥ª¥Õ¥»¥Ã¥ÈÃÍÅù€òµá€á€ë€¿€á€Î¹œÂ€Â΀ÎÊÑ¿ôÄêµÁ€òÄɲÀ¹€ë¡¥€³€Î¹œÂ€
622Â΀ÎÊÑ¿ô€Ï¡€ÌŸŸÎ€ò¥Þ¥¯¥íÄêµÁ€¹€ë¥·¥ó¥Ü¥ë¡ÊDEFINE_BITŽØ¿ô€ÎÂè1¥Ñ¥é¥á¡Œ¥¿¡Ë
623€È€·¡€ÂП݀ΥӥåȀ΀߀¬1€Ç¡€ÂŸ€Î€¹€Ù€Æ€Î¥Ó¥Ã¥È€¬0€Ë€Ê€ë€è€Š€ËœéŽü²œ€¹
624€ë¡¥€Þ€¿¡€constœ€Ÿþ»Ò€òÉղÀ¹€ë¡¥Î〚€Ð¡€TCBÃæ€Îenatex¥Õ¥£¡Œ¥ë¥É€Î¥Ó¥Ã
625¥È¥ª¥Õ¥»¥Ã¥ÈÃÍÅù€òµá€á€ëŸì¹ç€Ë€Ï¡€Œ¡€Î€è€Š€ÊÄêµÁ€òÄɲÀ¹€ë¡Êtskctxb€Îœé
626ŽüÃ̀ϡ€¥¿¡Œ¥²¥Ã¥È°Íž€Ê€Î€ÇÃí°Õ€¹€ë€³€È¡Ë¡¥
627
628----------------------------------------
629const TCB       TCB_enatex = {
630        { NULL, NULL },                 /* task_queue */
631        NULL,                                   /* p_tinib */
632        0U,                                             /* tstat */
633#ifdef TOPPERS_SUPPORT_MUTEX
634        0U,                                             /* bpriority */
635#endif /* TOPPERS_SUPPORT_MUTEX */
636        0U,                                             /* priority */
637        false,                                  /* acqeue */
638        false,                                  /* wupque */
639        true,                                   /* enatex */
640        0U,                                             /* texptn */
641        NULL,                                   /* p_winifo */
642#ifdef TOPPERS_SUPPORT_MUTEX
643        { NULL, NULL },                 /* mutex_queue */
644#endif /* TOPPERS_SUPPORT_MUTEX */
645#ifdef TOPPERS_SUPPORT_OVRHDR
646        0U,                                             /* leftotm */
647#endif /* TOPPERS_SUPPORT_OVRHDR */
648        { NULL, NULL }                  /* tskctxb */
649};
650----------------------------------------
651
652€µ€é€Ë¡€¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿€¬¡€¹œÂ€Â΀Υµ¥€¥º¡ÊŸå€ÎÎã€Ç€Ïsizeof_TCB¡Ë€Ë
653ÃÍ€òÀßÄꀹ€ë€¿€á€Ë¡€target_def.csv¡Ê€Þ€¿€Ï¡€Æ±Åù€ÎÌò³ä€ò»ý€Ä¥Õ¥¡¥€¥ë¡Ë
654€ËŒ¡€ÎÎã€Î€è€Š€Ê¹Ô€òÄɲÀ¹€ë¡¥
655
656----------------------------------------
657sizeof_TCB,sizeof(TCB)
658----------------------------------------
659
660€¿€À€·¡€Á°œÒ€·€¿Ä̀ꡀkernel/kernel_def.csv€ËŽÞ€Þ€ì€Æ€€€ëµ­œÒ€Ï¡€
661target_def.csv¡Ê€Þ€¿€Ï¡€Æ±Åù€ÎÌò³ä€ò»ý€Ä¥Õ¥¡¥€¥ë¡Ë€ËÄɲÀ¹€ëɬÍ׀πʀ€¡¥
662
663ºÇžå€Ë¡€target_cfg1_out.h¡Ê€Þ€¿€Ï¡€€œ€³€«€é¥€¥ó¥¯¥ë¡Œ¥É€µ€ì€ë¥Õ¥¡¥€¥ë¡Ë
664€Ë¡€offset.h€òÀžÀ®€¹€ë»ÅÁȀ߀¬Àµ€·€¯Æ°ºî€·€Æ€€€ë€³€È€ò³Îǧ€¹€ë€¿€á€ÎŒ¡
665€Îµ­œÒ€òÄɲÀ¹€ë¡¥
666
667----------------------------------------
668const uint8_t   MAGIC_1 = 0x12;
669const uint16_t  MAGIC_2 = 0x1234;
670const uint32_t  MAGIC_4 = 0x12345678;
671----------------------------------------
672
6732.5.2 makeoffset.c€Ègenoffset€òÍÑ€€€ëÊýË¡
674
675makeoffset.c€Ï¡€€É€Î¥ª¥Õ¥»¥Ã¥ÈÃÍ€òoffset.h€ËÀžÀ®€¹€ë€«€ò»ØÄꀹ€ë¥Õ¥¡¥€
676¥ë€Ç¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ÇÍѰՀ¹€ë¡¥genoffset€Ï¡€makeoffset.c€ò¥³¥ó¥Ñ¥€¥ë
677€·€ÆÆÀ€é€ì€ë¥¢¥»¥ó¥Ö¥ê¥œ¡Œ¥¹¥Õ¥¡¥€¥ë€«€é¡€offset.h€òÀžÀ®€¹€ë¥¹¥¯¥ê¥×¥È
678€Ç€¢€ë¡¥genoffset€Ï¡€GNU³«È¯ŽÄ¶­€Ë€Î€ßÂбþ€·€Æ€€€ë¡¥
679
680makeoffset.c€òµ­œÒ€¹€ëŸì¹ç€Ë€Ï¡€Žûž€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ËŽÞ€Þ€ì€ë
681makeoffset.c€òœ€Àµ€¹€ë€Î€¬¶áÆ»€Ç€¢€ë¡¥ÉžœàŪ€Êmakeoffset.c€Ï¡€°Ê²Œ€Î6€Ä
682€ÎÉôʬ€Ç¹œÀ®€µ€ì€Æ€€€ë¡¥€Ê€ª¡€makeoffset.c€ò¿·€¿€Ëµ­œÒ€·€¿ºÝ€Ë€Ï¡€
683offset.h€ËÂÅÅö€ÊÄêµÁ€¬ÀžÀ®€µ€ì€Æ€€€ë€³€È€ò³Îǧ€¹€Ù€­€Ç€¢€ë¡¥
684
685(1) ɬÍ׀ʥե¡¥€¥ë€Î¥€¥ó¥¯¥ë¡Œ¥É
686
687¥ª¥Õ¥»¥Ã¥ÈÃÍ€òµá€á€¿€€¥Õ¥£¡Œ¥ë¥É€òŽÞ€à¹œÂ€Â΀òÄêµÁ€¹€ë¥Ø¥Ã¥À¥Õ¥¡¥€¥ë€ò
688¥€¥ó¥¯¥ë¡Œ¥É€¹€ë¡¥TCBÃæ€Î¥Õ¥£¡Œ¥ë¥É€Î¥ª¥Õ¥»¥Ã¥ÈÃÍ€òµá€á€¿€€Ÿì¹ç€Ë€Ï¡€°Ê
689²Œ€Î3¹Ô€òŽÞ€á€ì€Ð€è€€¡¥
690
691#include "kernel_impl.h"
692#include "task.h"
693#include "sil.h"
694
695(2) ¥ª¥Õ¥»¥Ã¥ÈÃÍœÐÎÏÍÑ¥Þ¥¯¥í€ÎÄêµÁ
696
697¹œÂ€ÂÎÃæ€Î¥Õ¥£¡Œ¥ë¥É€Î¥ª¥Õ¥»¥Ã¥ÈÃÍ€ÎÄêµÁ€òÀžÀ®€¹€ë€¿€á€ËÍÑ€€€ë¥Þ¥¯¥í
698¡ÊOFFSET_DEF€ÈOFFSET_DEF2¡Ë€ÎÄêµÁ¡¥€³€ì€é€Î¥Þ¥¯¥í€ÎÄêµÁ€Ï¡€œ€Àµ€¹€ëɬÍ×
699€¬€Ê€€¡¥
700
701(3) ¥ª¥Õ¥»¥Ã¥ÈÃÍœÐÎÏÍÑŽØ¿ô€ÎÄêµÁ
702
703¹œÂ€ÂÎÃæ€Î¥Õ¥£¡Œ¥ë¥É€Î¥ª¥Õ¥»¥Ã¥ÈÃÍ€ÎÄêµÁ€òÀžÀ®€¹€ë€¿€á€ÎŽØ¿ô
704¡Êmakeoffset¡Ë€ÎÄêµÁ¡¥¥ª¥Õ¥»¥Ã¥ÈÃ̀Υޥ¯¥íÄêµÁ€òÀžÀ®€·€¿€€¥Õ¥£¡Œ¥ë¥ÉËè
705€Ë¡€Œ¡€Î€€€º€ì€«€Î¥Þ¥¯¥í€òµ­œÒ€¹€ë¡¥
706
707(2-5-2-1) OFFSET_DEF(TYPE, FIELD)
708
709TYPE€Ë¹œÂ€Â΀ΥǡŒ¥¿·¿ÌŸ¡€FIELD€Ë€œ€Î¹œÂ€ÂÎÃæ€Î¥Õ¥£¡Œ¥ë¥É€ò»ØÄꀹ€ë€È¡€
710TYPE_FIELD€È€€€ŠÌŸÁ°€Î¥·¥ó¥Ü¥ë€Ë¡€€œ€Î¥Õ¥£¡Œ¥ë¥É€Î¥ª¥Õ¥»¥Ã¥ÈÃÍ€ò¥Þ¥¯¥í
711ÄêµÁ€¹€ëµ­œÒ€òÀžÀ®€¹€ë¡¥
712
713(2-5-2-2) OFFSET_DEF2(TYPE, FIELD, FIELDNAME)
714
715TYPE€Ë¹œÂ€Â΀ΥǡŒ¥¿·¿ÌŸ¡€FIELD€Ë€œ€Î¹œÂ€ÂÎÃæ€Î¥Õ¥£¡Œ¥ë¥É€ò»ØÄꀹ€ë€È¡€
716TYPE_FIELDNAME€È€€€ŠÌŸÁ°€Î¥·¥ó¥Ü¥ë€Ë¡€€œ€Î¥Õ¥£¡Œ¥ë¥É€Î¥ª¥Õ¥»¥Ã¥ÈÃÍ€ò¥Þ
717¥¯¥íÄêµÁ€¹€ëµ­œÒ€òÀžÀ®€¹€ë¡¥¹œÂ€Â΀ˎހހì€ë¹œÂ€ÂÎÃæ€Î¥Õ¥£¡Œ¥ë¥É€Î¥ª¥Õ
718¥»¥Ã¥ÈÃÍ€òµá€á€¿€€Ÿì¹ç€Ë€Ï¡€€³€Á€é€Î¥Þ¥¯¥í€ò»ÈÍÑ€¹€ë¡¥
719
720(4) ¥š¥ó¥Ç¥£¥¢¥ó€ò»²ŸÈ€¹€ë€¿€á€ÎŽØ¿ô€ÎÄêµÁ
721
722SIL€ÇÄêµÁ€µ€ì€¿¥š¥ó¥Ç¥£¥¢¥ó€ò»²ŸÈ€¹€ë€¿€á€ÎŽØ¿ô¡Êsil_endian¡Ë€ÎÄêµÁ¡¥€³
723€ÎŽØ¿ô€ÎÄêµÁ€Ï¡€œ€Àµ€¹€ëɬÍ×€¬€Ê€€¡¥
724
725(5) ¥Ó¥Ã¥È¥ª¥Õ¥»¥Ã¥ÈÃÍœÐÎπ΀¿€á€Î»²ŸÈÄêµÁ
726
727œéŽüÃÍ€ò»ý€Ã€¿ÊÑ¿ôÄêµÁ€ËÂЀ·€Æ¡€¥³¥ó¥Ñ¥€¥é€¬ÀžÀ®€¹€ë¥¢¥»¥ó¥Ö¥êÌ¿Îá€ò»²
728ŸÈ€¹€ë€¿€á€ÎÊÑ¿ô¡ÊBIT_REF_4¡€BIT_REF_2¡€BIT_REF_1¡Ë€ÎÄêµÁ¡¥€³€ì€é€ÎÄêµÁ
729€Ï¡€€Û€È€ó€É€ÎŸì¹ç€Ëœ€Àµ€¹€ëɬÍ×€¬€Ê€€¡¥€¿€À€·¡€uint8_t·¿€Î¥µ¥Ý¡Œ¥È€µ€ì
730€Æ€€€Ê€€¥¿¡Œ¥²¥Ã¥È€Ç€Ï¡€BIT_REF_1€ÎÄêµÁ€Ïºïœü€¹€ëɬÍ×€¬€¢€ë¡¥€Þ€¿¡€¥Ý¥€
731¥ó¥¿€¬64¥Ó¥Ã¥È€Î¥¿¡Œ¥²¥Ã¥ÈÅù€Ç€Ï¡€BIT_REF_8€ÎÄêµÁ€òÄɲÀ·€Ê€±€ì€Ð€Ê€é€Ê
732€€€È»×€ï€ì€ë¡¥
733
734(6) ¥Ó¥Ã¥È¥ª¥Õ¥»¥Ã¥ÈÃÍœÐÎÏÍÑÊÑ¿ô€ÎÄêµÁ
735
736¥Ó¥Ã¥È€Î¥ª¥Õ¥»¥Ã¥ÈÃÍ¡€¥Ó¥Ã¥È°ÌÃÖ¡€¥Ó¥Ã¥È¥Þ¥¹¥¯€ÎÄêµÁ€òÀžÀ®€¹€ë€¿€á€Î¥Ç¡Œ
737¥¿·¿€ÎÄêµÁ¡¥€³€ì€é€ÎÄêµÁ€òÀžÀ®€·€¿€€¥Ó¥Ã¥È¥Õ¥£¡Œ¥ë¥ÉËè€Ë¡€°Ê²Œ€ÎÀâÌÀ€¹
738€ëÊÑ¿ô€òÄêµÁ€¹€ë¡¥
739
740¹œÂ€Â΀ΥǡŒ¥¿·¿ÌŸ€¬TYPE¡€€œ€Î¹œÂ€ÂÎÃæ€Î¥Ó¥Ã¥È¥Õ¥£¡Œ¥ë¥ÉÌŸ€¬FIELD€ÎŸì¹ç
741€Ë¡€¥Ç¡Œ¥¿·¿€¬TYPE€Ç¡€ÊÑ¿ôÌŸ€¬BIT_xy_TYPE_FIELD€ÎÊÑ¿ô€òÄêµÁ€¹€ë¡¥€Þ€¿¡€
742€œ€ÎÊÑ¿ô€ò¡€ÂП݀ΥӥåȀ΀߀¬1€Ç¡€ÂŸ€Î€¹€Ù€Æ€Î¥Ó¥Ã¥È€¬0€Ë€Ê€ë€è€Š€Ëœé
743Žü²œ€¹€ë¡¥€³€³€Ç¡€x€Ï¥š¥ó¥Ç¥£¥¢¥ó€ò»ØÄꀹ€ëÊž»ú€Ç¡€B¡Ê¥Ó¥Ã¥°¥š¥ó¥Ç¥£¥¢
744¥ó¡Ë€Þ€¿€ÏL¡Ê¥ê¥È¥ë¥š¥ó¥Ç¥£¥¢¥ó¡Ë€ò»ØÄꀹ€ë¡¥€Þ€¿y€Ë€Ï¡€¥Ó¥Ã¥È€Î¥ª¥Õ¥»¥Ã
745¥È¡€¥Ó¥Ã¥È°ÌÃÖ¡€¥Ó¥Ã¥È¥Þ¥¹¥¯€ò¡€8¥Ó¥Ã¥Èñ°Ì¡Ê¥Ð¥€¥Èñ°Ì¡Ë€Çµá€á€ëŸì¹ç€Ë
746€ÏB€ò¡€16¥Ó¥Ã¥Èñ°Ì€Çµá€á€ëŸì¹ç€Ë€ÏH€ò¡€32¥Ó¥Ã¥Èñ°Ì€Çµá€á€ëŸì¹ç€Ë€ÏW€ò
747»ØÄꀹ€ë¡¥
748
749€³€ì€Ë€è€ê¡€TYPE_FIELD€È€€€ŠÌŸÁ°€Î¥·¥ó¥Ü¥ë€Ë€œ€Î¥Ó¥Ã¥È€Î¥ª¥Õ¥»¥Ã¥È¡€
750TYPE_FIELD_bit€È€€€ŠÌŸÁ°€Î¥·¥ó¥Ü¥ë€Ë¥Ó¥Ã¥È°ÌÃÖ¡€TYPE_FIELD_mask€È€€€ŠÌŸ
751Á°€Î¥·¥ó¥Ü¥ë€Ë¥Ó¥Ã¥È¥Þ¥¹¥¯€ò¥Þ¥¯¥íÄêµÁ€¹€ëµ­œÒ€òÀžÀ®€¹€ë¡¥€Ê€ª¡€¥Ó¥Ã¥È
752°ÌÃրϡ€LSB€ò0€È€·€¿Ã͡ʥӥåȥê¥È¥ë¥š¥ó¥Ç¥£¥¢¥ó€òÁÛÄê¡Ë€òµá€á€ë¡¥
753
7542.6 ¥ê¥ó¥¯ÊýË¡€ÎÀßÄê
755
756(2-6-1) LDSCRIPT                                ¥ê¥ó¥«¥¹¥¯¥ê¥×¥È€Î¥Õ¥¡¥€¥ëÌŸ
757
758³«È¯ŽÄ¶­€ËÉžœà€Î¥ê¥ó¥«¥¹¥¯¥ê¥×¥È€¬»ÈÍрǀ­€Ê€€Ÿì¹ç€Ë€Ï¡€¥¿¡Œ¥²¥Ã¥È°Íž
759Éô€Ç¥ê¥ó¥«¥¹¥¯¥ê¥×¥È€òÍѰՀ·¡€€œ€Î¥Õ¥¡¥€¥ëÌŸ€ò€³€ÎÊÑ¿ô€ËÄêµÁ€¹€ë¡¥
760
761(2-6-2) TEXT_START_ADDRESS              ¥Æ¥­¥¹¥È¥»¥¯¥·¥ç¥ó€ÎÀèÆ¬ÈÖÃÏ
762(2-6-3) DATA_START_ADDRESS              ¥Ç¡Œ¥¿¥»¥¯¥·¥ç¥ó€ÎÀèÆ¬ÈÖÃÏ
763
764³Æ¥»¥¯¥·¥ç¥ó€ÎÀèÆ¬ÈÖÃπλØÄꀬɬÍ׀ʟì¹ç€Ë€Ï¡€€³€ì€é€ÎÊÑ¿ô€ËÀèÆ¬ÈÖÃÏ€ò
765ÄêµÁ€¹€ë¡¥
766
767(2-6-4) START_OBJS                              ÀèÆ¬€Ë¥ê¥ó¥¯€¹€Ù€­¥â¥ž¥å¡Œ¥ëÌŸ
768(2-6-5) END_OBJS                                ºÇžå€Ë¥ê¥ó¥¯€¹€Ù€­¥â¥ž¥å¡Œ¥ëÌŸ
769
770¥¿¡Œ¥²¥Ã¥È€Ë€è€Ã€Æ€Ï¡€¥í¡Œ¥É¥â¥ž¥å¡Œ¥ë€ÎÀèÆ¬€ÈºÇžå€Ë¥ê¥ó¥¯€¹€Ù€­¥â¥ž¥å¡Œ
771¥ë€ò¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ÇÍѰՀ¹€ëɬÍ×€¬€¢€ë¡¥Â¿€¯€ÎŸì¹ç¡€¥¹¥¿¡Œ¥È¥¢¥Ã¥×
772¥â¥ž¥å¡Œ¥ë€ò¥í¡Œ¥É¥â¥ž¥å¡Œ¥ë€ÎÀèÆ¬€Ë¥ê¥ó¥¯€¹€ëɬÍ×€¬€¢€ë¡¥
773
774¥í¡Œ¥É¥â¥ž¥å¡Œ¥ë€ÎÀèÆ¬€Ë¥ê¥ó¥¯€¹€Ù€­¥×¥í¥°¥é¥à€¬€¢€ëŸì¹ç€Ë€Ï¡€Makefile
775€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Ë€ª€€€Æ¡€€œ€Î¥ª¥Ö¥ž¥§¥¯¥È¥Õ¥¡¥€¥ëÌŸ€òSTART_OBJS€ËÄê
776µÁ€·¡€€œ€ì€ËÂЀ¹€ë¥³¥ó¥Ñ¥€¥ë¥ë¡Œ¥ë€È°ÍÂžŽØ·žºîÀ®¥ë¡Œ¥ë€òÄêµÁ€¹€ë¡¥¥í¡Œ
777¥É¥â¥ž¥å¡Œ¥ë€ÎºÇžå€Ë¥ê¥ó¥¯€¹€Ù€­¥â¥ž¥å¡Œ¥ë€¬€¢€ëŸì¹ç€Ë€Ï¡€€œ€Î¥ª¥Ö¥ž¥§
778¥¯¥È¥Õ¥¡¥€¥ëÌŸ€òEND_OBJS€ËÄêµÁ€·¡€€œ€ì€ËÂЀ¹€ë¥³¥ó¥Ñ¥€¥ë¥ë¡Œ¥ë€È°ÍÂžŽØ
779·žºîÀ®¥ë¡Œ¥ë€òÄêµÁ€¹€ë¡¥€Þ€¿¡€Éžœà€Î¥¹¥¿¡Œ¥È¥¢¥Ã¥×¥â¥ž¥å¡Œ¥ë¡Êcrt0.o¡Ë
780€ò¥ê¥ó¥¯€·€Ê€€€è€Š€Ë¡€LDFLAGS€ÈCFG1_OUT_LDFLAGS€Ë-nostdlib€òÄɲÀ¹€ëɬ
781Í×€¬€¢€ë¡¥€µ€é€Ë¡€-nostdlib€ò€Ä€±€ë€³€È€ÇÉžœà¥é¥€¥Ö¥é¥ê€¬¥ê¥ó¥¯€µ€ì€Ê€¯
782€Ê€ë€¿€á¡€LIBS€Ë-lgcc€òÄɲÀ·€Ê€±€ì€Ð€Ê€é€Ê€€¡¥
783
784Î〚€Ð¡€¥¹¥¿¡Œ¥È¥¢¥Ã¥×¥â¥ž¥å¡Œ¥ë€Î¥œ¡Œ¥¹¥Õ¥¡¥€¥ë€¬start.S€ÎŸì¹ç€Ë€Ï¡€
785Makefile€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ËŒ¡€Î€è€Š€Êµ­œÒ€òÆþ€ì€ë€È€è€€¡¥
786
787----------------------------------------
788# ¥¹¥¿¡Œ¥È¥¢¥Ã¥×¥â¥ž¥å¡Œ¥ë€Î¥ª¥Ö¥ž¥§¥¯¥È¥Õ¥¡¥€¥ëÌŸ
789START_OBJS = start.o
790
791# ¥¹¥¿¡Œ¥È¥¢¥Ã¥×¥â¥ž¥å¡Œ¥ë€Î¥³¥ó¥Ñ¥€¥ë¥ë¡Œ¥ë
792$(START_OBJS): %.o: %.S
793        $(CC) -c $(CFLAGS) $(KERNEL_CFLAGS) $<
794
795# ¥¹¥¿¡Œ¥È¥¢¥Ã¥×¥â¥ž¥å¡Œ¥ë€Î°ÍÂžŽØ·žºîÀ®¥ë¡Œ¥ë
796$(START_OBJS:.o=.d): %.d: %.S
797        @$(PERL) $(SRCDIR)/utils/makedep -C $(CC) $(MAKEDEP_OPTS) \
798                -O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
799
800# ¥ê¥ó¥«€ËÂЀ¹€ë¥ª¥×¥·¥ç¥ó
801LDFLAGS := -nostdlib $(LDFLAGS)
802CFG1_OUT_LDFLAGS := -nostdlib $(CFG1_OUT_LDFLAGS)
803LIBS := $(LIBS) -lgcc
804----------------------------------------
805
806€Þ€¿¡€GNU³«È¯ŽÄ¶­€Ç¡€¥³¥ó¥Ñ¥€¥é€ËÉžœà€Îcrtbegin.o€Ècrtend.o€òÍÑ€€€ëŸì¹ç
807€Ë€Ï¡€Makefile €Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ËŒ¡€Î€è€Š€Êµ­œÒ€òÆþ€ì€ë€È€è€€¡¥
808
809----------------------------------------
810# ¥ª¥Ö¥ž¥§¥¯¥È¥Õ¥¡¥€¥ëÌŸ
811START_OBJS = $(shell $(CC) -print-file-name=crtbegin.o)
812END_OBJS = $(shell $(CC) -print-file-name=crtend.o)
813
814# °ÍÂžŽØ·žºîÀ®¥ë¡Œ¥ë
815$(START_OBJS:.o=.d): %.d:
816$(END_OBJS:.o=.d): %.d:
817
818# ¥ê¥ó¥«€ËÂЀ¹€ë¥ª¥×¥·¥ç¥ó
819LDFLAGS := -nostdlib $(LDFLAGS)
820CFG1_OUT_LDFLAGS := -nostdlib $(CFG1_OUT_LDFLAGS)
821LIBS := $(LIBS) -lgcc
822----------------------------------------
823
824€³€ÎŸì¹ç¡€€³€ì€é€Î¥Õ¥¡¥€¥ë€ò¥³¥ó¥Ñ¥€¥ë€¹€ë€³€È€Ï€Ê€€€¿€á¡€¥³¥ó¥Ñ¥€¥ë¥ë¡Œ
825¥ë€ÏÉÔÍ׀ǀ¢€ë¡¥€Þ€¿¡€°ÍÂžŽØ·žºîÀ®¥ë¡Œ¥ë€Ï¥À¥ß¡Œ€Ç€è€€¡Ê°ÍÂžŽØ·žºîÀ®¥ë¡Œ
826¥ë€¬€Ê€€€È¥š¥é¡Œ€Ë€Ê€ë¡Ë¡¥
827
828(2-6-6) HIDDEN_OBJS                             »ØÄꀷ€Ê€¯€Æ€â¥ê¥ó¥¯€µ€ì€ë¥â¥ž¥å¡Œ¥ëÌŸ
829
830¥í¡Œ¥É¥â¥ž¥å¡Œ¥ë€Ë¥ê¥ó¥¯€¹€Ù€­¥â¥ž¥å¡Œ¥ë€ò¡€¥ê¥ó¥«€ËÂЀ¹€ë¥Ñ¥é¥á¡Œ¥¿€Ç
831€Ï€Ê€¯¡€¥ê¥ó¥«¥¹¥¯¥ê¥×¥ÈÃæ€Ë¡ÊÎ〚€Ð¡€GNU³«È¯ŽÄ¶­€Î¥ê¥ó¥«¥¹¥¯¥ê¥×¥È€Î
832STARTUP€ò»È€Ã€Æ¡Ëµ­œÒ€¹€ëŸì¹ç€Ë€Ï¡€€œ€Î¥ª¥Ö¥ž¥§¥¯¥È¥Õ¥¡¥€¥ëÌŸ€ò¡€
833¡ÊSTART_OBJS€Þ€¿€ÏEND_OBJS€Ç€Ï€Ê€¯¡ËHIDDEN_OBJS€ËÄêµÁ€·¡€€œ€ì€ËÂЀ¹€ë¥³
834¥ó¥Ñ¥€¥ë¥ë¡Œ¥ë€È°ÍÂžŽØ·žºîÀ®¥ë¡Œ¥ë€òÄêµÁ€¹€ë¡¥HIDDEN_OBJS€ËÄêµÁ€·€¿¥â
835¥ž¥å¡Œ¥ë€Ï¡€¥ê¥ó¥«€ËÂЀ¹€ë¥Ñ¥é¥á¡Œ¥¿€«€é€Ïœü³°€µ€ì€ë¡¥LDFLAGS€È
836CFG1_OUT_LDFLAGS¡€LIBS€Ë€Ä€€€Æ€Ï¡€START_OBJS€Þ€¿€ÏEND_OBJS€òÍÑ€€€ëŸì¹ç
837€ÈƱÍ̀ǀ¢€ë¡¥
838
839Î〚€Ð¡€¥¹¥¿¡Œ¥È¥¢¥Ã¥×¥â¥ž¥å¡Œ¥ë€Î¥œ¡Œ¥¹¥Õ¥¡¥€¥ë€¬start.S€Ç¡€start.o€ò
840¥ê¥ó¥¯€¹€ë€³€È€ò¥ê¥ó¥«¥¹¥¯¥ê¥×¥ÈÃæ€Ëµ­œÒ€¹€ëŸì¹ç€Ë€Ï¡€Makefile€Î¥¿¡Œ¥²¥Ã
841¥È°ÍžÉô€ËŒ¡€Î€è€Š€Êµ­œÒ€òÆþ€ì€ë€È€è€€¡¥
842
843----------------------------------------
844# ¥¹¥¿¡Œ¥È¥¢¥Ã¥×¥â¥ž¥å¡Œ¥ë€Î¥ª¥Ö¥ž¥§¥¯¥È¥Õ¥¡¥€¥ëÌŸ
845HIDDEN_OBJS = start.o
846
847# ¥¹¥¿¡Œ¥È¥¢¥Ã¥×¥â¥ž¥å¡Œ¥ë€Î¥³¥ó¥Ñ¥€¥ë¥ë¡Œ¥ë
848$(HIDDEN_OBJS): %.o: %.S
849        $(CC) -c $(CFLAGS) $(KERNEL_CFLAGS) $<
850
851# ¥¹¥¿¡Œ¥È¥¢¥Ã¥×¥â¥ž¥å¡Œ¥ë€Î°ÍÂžŽØ·žºîÀ®¥ë¡Œ¥ë
852$(HIDDEN_OBJS:.o=.d): %.d: %.S
853        @$(PERL) $(SRCDIR)/utils/makedep -C $(CC) $(MAKEDEP_OPTS) \
854                -O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
855
856# ¥ê¥ó¥«€ËÂЀ¹€ë¥ª¥×¥·¥ç¥ó
857LDFLAGS := -nostdlib $(LDFLAGS)
858CFG1_OUT_LDFLAGS := -nostdlib $(CFG1_OUT_LDFLAGS)
859LIBS := $(LIBS) -lgcc
860----------------------------------------
861
8622.7 °ÍÂžŽØ·ž€ÎÄêµÁ
863
864¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿€Î³Æ¥Ñ¥¹€ËÂЀ·€Æ¡€¥¿¡Œ¥²¥Ã¥È°Íž€Î¥Õ¥¡¥€¥ë€Ø€Î°ÍÂžŽØ
865·ž€òÄêµÁ€¹€ë¡¥¶ñÂÎŪ€Ë€Ï¡€¥Ñ¥¹1¡€¥Ñ¥¹2¡€¥Ñ¥¹3€¬°Íž€¹€ë¥Õ¥¡¥€¥ë€ò¡€€œ€ì
866€Ÿ€ìcfg1_out.c¡€kernel_cfg.timestamp¡€$(OBJFILE)€ËÂЀ¹€ë°ÍÂžŽØ·ž€Î·Á€Ç
867µ­œÒ€¹€ë¡¥
868
869€Û€È€ó€É€ÎŸì¹ç€Ë¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô¥Ç¥£¥ì¥¯¥È¥ê€ÎMakefile.target€Ë€Ï¡€°Ê
870²Œ€Îµ­œÒ€òŽÞ€á€ëɬÍ×€¬€¢€ë¡¥
871
872----------------------------------------
873cfg1_out.c: $(TARGETDIR)/target_def.csv
874kernel_cfg.timestamp: $(TARGETDIR)/target.tf
875$(OBJFILE): $(TARGETDIR)/target_check.tf
876----------------------------------------
877
8782.8 €œ€ÎŸ€ÎÀßÄê
879
880(2-8-1) CLEAN_FILES                             clean€Ë€è€êºïœü€¹€ë¥Õ¥¡¥€¥ëÌŸ
881
882clean€Ë€è€êºïœü€¹€ë¥Õ¥¡¥€¥ë€ò¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ÇÄɲÀ·€¿€€Ÿì¹ç€Ë€Ï¡€¥Õ¥¡
883¥€¥ëÌŸ€ò€³€ÎÊÑ¿ô€ËÄɲÃÄêµÁ€¹€ë¡¥
884
885(2-8-2) REALCLEAN_FILES                 realclean€Ë€è€êºïœü€¹€ë¥Õ¥¡¥€¥ëÌŸ
886
887realclean€Ë€è€êºïœü€¹€ë¥Õ¥¡¥€¥ë€ò¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ÇÄɲÀ·€¿€€Ÿì¹ç€Ë€Ï¡€
888¥Õ¥¡¥€¥ëÌŸ€ò€³€ÎÊÑ¿ô€ËÄɲÃÄêµÁ€¹€ë¡¥
889
890
891£³¡¥TOPPERS¶ŠÄÌÄêµÁ€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô
892
893TOPPERS¶ŠÄÌÄêµÁ¡Êt_stddef.h¡Ë€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Ï¡€target_stddef.h€Þ€¿
894€Ï€œ€³€«€é¥€¥ó¥¯¥ë¡Œ¥É€µ€ì€ë¥Õ¥¡¥€¥ë¡Ê¥×¥í¥»¥Ã¥µ¡Š¥Á¥Ã¥×¡Š³«È¯ŽÄ¶­°Íž
895Éô€ÇÍѰՀµ€ì€ë¥Ø¥Ã¥À¥Õ¥¡¥€¥ë€Ê€É¡Ë€ËŽÞ€á€ë¡¥
896
8973.1 ¥¿¡Œ¥²¥Ã¥ÈŒ±ÊÌ¥Þ¥¯¥í
898
899¥¢¥×¥ê¥±¡Œ¥·¥ç¥ó€ä¥·¥¹¥Æ¥à¥µ¡Œ¥Ó¥¹€Ç¥¿¡Œ¥²¥Ã¥È€òŒ±ÊÌ€¹€ë€¿€á€Ë¡€
900"TOPPERS_"€Ë¥·¥¹¥Æ¥àάŸÎ€òÂçÊž»ú€Ë€·€¿Êž»úÎó€òÏ¢·ë€·€¿€â€Î¡ÊÎ〚€Ð¡€
901"TOPPERS_DVE68K"¡Ë€ò¥Þ¥¯¥íÄêµÁ€¹€ë¡¥
902
903€Þ€¿¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô€«€é¥×¥í¥»¥Ã¥µ°ÍžÉô€ä¥Á¥Ã¥×°ÍžÉô€òÀÚ€êʬ€±€¿Ÿì
904¹ç€Ë€Ï¡€"TOPPERS_"€Ë°ÍžÉôάŸÎ€òÂçÊž»ú€Ë€·€¿Êž»úÎó€òÏ¢·ë€·€¿€â€Î¡ÊÎ〚
905€Ð¡€"TOPPERS_M68K"¡Ë€ò¥Þ¥¯¥íÄêµÁ€¹€ë¡¥
906
9073.2 À°¿ô·¿€ÎºÇÂçÃÍ¡ŠºÇŸ®ÃÍ¡Š¥Ó¥Ã¥È¿ô
908
909(3-2-1) INT_MAX                         int€Ë³ÊÇŒ€Ç€­€ëºÇÂçÃÍ¡ÊC90œàµò¡Ë
910(3-2-2) INT_MIN                         int€Ë³ÊÇŒ€Ç€­€ëºÇŸ®ÃÍ¡ÊC90œàµò¡Ë
911(3-2-3) UINT_MAX                        unsigned int€Ë³ÊÇŒ€Ç€­€ëºÇÂçÃÍ¡ÊC90œàµò¡Ë
912(3-2-4) LONG_MAX                        long€Ë³ÊÇŒ€Ç€­€ëºÇÂçÃÍ¡ÊC90œàµò¡Ë
913(3-2-5) LONG_MIN                        long€Ë³ÊÇŒ€Ç€­€ëºÇŸ®ÃÍ¡ÊC90œàµò¡Ë
914(3-2-6) ULONG_MAX                       unsigned long€Ë³ÊÇŒ€Ç€­€ëºÇÂçÃÍ¡ÊC90œàµò¡Ë
915(3-2-7) CHAR_BIT                        char·¿€Î¥Ó¥Ã¥È¿ô¡ÊC90œàµò¡Ë
916
917À°¿ô·¿€ÎºÇÂçÃÍ¡ŠºÇŸ®ÃÍ¡Š¥Ó¥Ã¥È¿ô€ò¡€€³€ì€é€Î¥·¥ó¥Ü¥ë€Ë¥Þ¥¯¥í€ËÄêµÁ€¹€ë¡¥
918
919€³€ì€é€Î¥Þ¥¯¥í€Ï¡€C90€Ëœàµò€·€¿€â€Î€Ç€¢€ë¡¥³«È¯ŽÄ¶­€ËC90€Ëœàµò€·€¿
920limits.h€¬ÍѰՀµ€ì€Æ€€€ëŸì¹ç€Ë€Ï¡€€³€ì€é€Î¥Þ¥¯¥í€òÄêµÁ€¹€ë€³€È€ËÂ倚€Æ¡€
921limits.h€ò¥€¥ó¥¯¥ë¡Œ¥É€¹€ì€Ð€è€€¡¥
922
9233.3 ¥µ¥€¥º€Î»ØÄꀵ€ì€¿À°¿ô·¿¡€€œ€ÎºÇÂçÃÍ¡ŠºÇŸ®ÃÍ¡€À°¿ôÄê¿ô€òºî€ë¥Þ¥¯¥í
924
925(3-3-1) int8_t                          É乿ÉÕ€­8¥Ó¥Ã¥ÈÀ°¿ô¡Ê¥ª¥×¥·¥ç¥ó¡€C99œàµò¡Ë
926(3-3-2) uint8_t                         Éä¹æÌµ€·8¥Ó¥Ã¥ÈÀ°¿ô¡Ê¥ª¥×¥·¥ç¥ó¡€C99œàµò¡Ë
927(3-3-3) int16_t                         É乿ÉÕ€­16¥Ó¥Ã¥ÈÀ°¿ô¡ÊC99œàµò¡Ë
928(3-3-4) uint16_t                        Éä¹æÌµ€·16¥Ó¥Ã¥ÈÀ°¿ô¡ÊC99œàµò¡Ë
929(3-3-5) int32_t                         É乿ÉÕ€­32¥Ó¥Ã¥ÈÀ°¿ô¡ÊC99œàµò¡Ë
930(3-3-6) uint32_t                        Éä¹æÌµ€·32¥Ó¥Ã¥ÈÀ°¿ô¡ÊC99œàµò¡Ë
931(3-3-7) int64_t                         É乿ÉÕ€­64¥Ó¥Ã¥ÈÀ°¿ô¡Ê¥ª¥×¥·¥ç¥ó¡€C99œàµò¡Ë
932(3-3-8) uint64_t                        Éä¹æÌµ€·64¥Ó¥Ã¥ÈÀ°¿ô¡Ê¥ª¥×¥·¥ç¥ó¡€C99œàµò¡Ë
933(3-3-9) int128_t                        É乿ÉÕ€­128¥Ó¥Ã¥ÈÀ°¿ô¡Ê¥ª¥×¥·¥ç¥ó¡€C99œàµò¡Ë
934(3-3-10) uint128_t                      Éä¹æÌµ€·128¥Ó¥Ã¥ÈÀ°¿ô¡Ê¥ª¥×¥·¥ç¥ó¡€C99œàµò¡Ë
935(3-3-11) int_least8_t           8¥Ó¥Ã¥È°ÊŸå€ÎÉ乿ÉÕ€­À°¿ô¡ÊC99œàµò¡Ë
936(3-3-12) uint_least8_t          8¥Ó¥Ã¥È°ÊŸå€ÎÉä¹æÌµ€·À°¿ô¡ÊC99œàµò¡Ë
937(3-3-13) intptr_t                       ¥Ý¥€¥ó¥¿€ò³ÊÇŒ€Ç€­€ë¥µ¥€¥º€ÎÉ乿ÉÕ€­À°¿ô¡ÊC99œàµò¡Ë
938(3-3-14) uintptr_t                      ¥Ý¥€¥ó¥¿€ò³ÊÇŒ€Ç€­€ë¥µ¥€¥º€ÎÉä¹æÌµ€·À°¿ô¡ÊC99œàµò¡Ë
939(3-3-15) INT8_MAX                       int8_t€Ë³ÊÇŒ€Ç€­€ëºÇÂçÃ͡ʥª¥×¥·¥ç¥ó¡€C99œàµò¡Ë
940(3-3-16) INT8_MIN                       int8_t€Ë³ÊÇŒ€Ç€­€ëºÇŸ®Ã͡ʥª¥×¥·¥ç¥ó¡€C99œàµò¡Ë
941(3-3-17) UINT8_MAX                      uint8_t€Ë³ÊÇŒ€Ç€­€ëºÇÂçÃ͡ʥª¥×¥·¥ç¥ó¡€C99œàµò¡Ë
942(3-3-18) INT16_MAX                      int16_t€Ë³ÊÇŒ€Ç€­€ëºÇÂçÃÍ¡ÊC99œàµò¡Ë
943(3-3-19) INT16_MIN                      int16_t€Ë³ÊÇŒ€Ç€­€ëºÇŸ®ÃÍ¡ÊC99œàµò¡Ë
944(3-3-20) UINT16_MAX                     uint16_t€Ë³ÊÇŒ€Ç€­€ëºÇÂçÃÍ¡ÊC99œàµò¡Ë
945(3-3-21) INT32_MAX                      int32_t€Ë³ÊÇŒ€Ç€­€ëºÇÂçÃÍ¡ÊC99œàµò¡Ë
946(3-3-22) INT32_MIN                      int32_t€Ë³ÊÇŒ€Ç€­€ëºÇŸ®ÃÍ¡ÊC99œàµò¡Ë
947(3-3-23) UINT32_MAX                     uint32_t€Ë³ÊÇŒ€Ç€­€ëºÇÂçÃÍ¡ÊC99œàµò¡Ë
948(3-3-24) INT64_MAX                      int64_t€Ë³ÊÇŒ€Ç€­€ëºÇÂçÃ͡ʥª¥×¥·¥ç¥ó¡€C99œàµò¡Ë
949(3-3-25) INT64_MIN                      int64_t€Ë³ÊÇŒ€Ç€­€ëºÇŸ®Ã͡ʥª¥×¥·¥ç¥ó¡€C99œàµò¡Ë
950(3-3-26) UINT64_MAX                     uint64_t€Ë³ÊÇŒ€Ç€­€ëºÇÂçÃ͡ʥª¥×¥·¥ç¥ó¡€C99œàµò¡Ë
951(3-3-27) INT128_MAX                     int128_t€Ë³ÊÇŒ€Ç€­€ëºÇÂçÃ͡ʥª¥×¥·¥ç¥ó¡€C99œàµò¡Ë
952(3-3-28) INT128_MIN                     int128_t€Ë³ÊÇŒ€Ç€­€ëºÇŸ®Ã͡ʥª¥×¥·¥ç¥ó¡€C99œàµò¡Ë
953(3-3-29) UINT128_MAX            uint128_t€Ë³ÊÇŒ€Ç€­€ëºÇÂçÃ͡ʥª¥×¥·¥ç¥ó¡€C99œàµò¡Ë
954(3-3-30) INT_LEAST8_MAX         int_least8_t€Ë³ÊÇŒ€Ç€­€ëºÇÂçÃÍ¡ÊC99œàµò¡Ë
955(3-3-31) INT_LEAST8_MIN         int_least8_t€Ë³ÊÇŒ€Ç€­€ëºÇŸ®ÃÍ¡ÊC99œàµò¡Ë
956(3-3-32) UINT_LEAST8_MAX        uint_least8_t€Ë³ÊÇŒ€Ç€­€ëºÇÂçÃÍ¡ÊC99œàµò¡Ë
957(3-3-33) INT8_C(val)            int_least8_t·¿€ÎÄê¿ô€òºî€ë¥Þ¥¯¥í¡ÊC99œàµò¡Ë
958(3-3-34) UINT8_C(val)           uint_least8_t·¿€ÎÄê¿ô€òºî€ë¥Þ¥¯¥í¡ÊC99œàµò¡Ë
959(3-3-35) INT16_C(val)           int16_t·¿€ÎÄê¿ô€òºî€ë¥Þ¥¯¥í¡ÊC99œàµò¡Ë
960(3-3-36) UINT16_C(val)          uint16_t·¿€ÎÄê¿ô€òºî€ë¥Þ¥¯¥í¡ÊC99œàµò¡Ë
961(3-3-37) INT32_C(val)           int32_t·¿€ÎÄê¿ô€òºî€ë¥Þ¥¯¥í¡ÊC99œàµò¡Ë
962(3-3-38) UINT32_C(val)          uint32_t·¿€ÎÄê¿ô€òºî€ë¥Þ¥¯¥í¡ÊC99œàµò¡Ë
963(3-3-39) INT64_C(val)           int64_t·¿€ÎÄê¿ô€òºî€ë¥Þ¥¯¥í¡Ê¥ª¥×¥·¥ç¥ó¡€C99œàµò¡Ë
964(3-3-40) UINT64_C(val)          uint64_t·¿€ÎÄê¿ô€òºî€ë¥Þ¥¯¥í¡Ê¥ª¥×¥·¥ç¥ó¡€C99œàµò¡Ë
965(3-3-41) INT128_C(val)          int128_t·¿€ÎÄê¿ô€òºî€ë¥Þ¥¯¥í¡Ê¥ª¥×¥·¥ç¥ó¡€C99œàµò¡Ë
966(3-3-42) UINT128_C(val)         uint128_t·¿€ÎÄê¿ô€òºî€ë¥Þ¥¯¥í¡Ê¥ª¥×¥·¥ç¥ó¡€C99œàµò¡Ë
967
968»ØÄꀵ€ì€¿¥µ¥€¥º€ÎÀ°¿ô·¿€ò¡€€³€ì€é€Î¥·¥ó¥Ü¥ë€Ë·¿ÄêµÁ€¹€ë¡¥€Þ€¿¡€¥Ç¡Œ¥¿
969·¿€Ë³ÊÇŒ€Ç€­€ëºÇÂçÃÍ¡ŠºÇŸ®Ã̀ȡ€À°¿ôÄê¿ô€òºî€ë¥Þ¥¯¥í€ò¡€€³€ì€é€Î¥·¥ó¥Ü
970¥ë€Ë¥Þ¥¯¥íÄêµÁ€¹€ë¡¥
971
972€³€ì€é€Î¥Ç¡Œ¥¿·¿€ª€è€Ó¥Þ¥¯¥í€Ï¡€C99€Ëœàµò€·€¿€â€Î€Ç€¢€ë¡¥³«È¯ŽÄ¶­€ËC99
973€Ëœàµò€·€¿stdint.h€¬ÍѰՀµ€ì€Æ€€€ëŸì¹ç€Ë€Ï¡€€³€ì€é€Î¥Ç¡Œ¥¿·¿€ª€è€Ó¥Þ¥¯
974¥í€òÄêµÁ€¹€ë€³€È€ËÂ倚€Æ¡€stdint.h€ò¥€¥ó¥¯¥ë¡Œ¥É€¹€ì€Ð€è€€¡¥
975
976Ÿå€Ç¥ª¥×¥·¥ç¥ó€Èµ­œÒ€·€¿€â€Î€Ï¡€³ºÅö€¹€ë¥Ç¡Œ¥¿·¿€¬¥³¥ó¥Ñ¥€¥é€Ç¥µ¥Ý¡Œ¥È
977€µ€ì€Æ€€€ëŸì¹ç€Ë€Î€ßÄêµÁ€¹€ë€³€È€òŒš€¹¡¥
978
9793.4 ¥µ¥€¥º€Î»ØÄꀵ€ì€¿ÉâÆ°Ÿ®¿ôÅÀ·¿¡€€œ€ÎºÇÂçÃÍ¡ŠºÇŸ®Ã̀Υޥ¯¥í
980
981(3-4-1) float32_t                       IEEE754œàµò€Î32¥Ó¥Ã¥ÈñÀºÅÙÉâÆ°Ÿ®¿ôÅÀ¿ô¡Ê¥ª¥×
982                                                        ¥·¥ç¥ó¡Ë
983(3-4-2) double64_t                      IEEE754œàµò€Î64¥Ó¥Ã¥ÈÇÜÀºÅÙÉâÆ°Ÿ®¿ôÅÀ¿ô¡Ê¥ª¥×
984                                                        ¥·¥ç¥ó¡Ë
985(3-4-3) FLOAT32_MIN                     float32_t€Ë³ÊÇŒ€Ç€­€ëºÇŸ®€ÎÀµµ¬²œ€µ€ì€¿Àµ€ÎÉâ
986                                                        ưŸ®¿ôÅÀ¿ô¡Ê¥ª¥×¥·¥ç¥ó¡Ë
987(3-4-4) FLOAT32_MAX                     float32_t€Ë³ÊÇŒ€Ç€­€ëÉœžœ²ÄÇœ€ÊºÇÂç€ÎÍ­žÂÉâÆ°
988                                                        Ÿ®¿ôÅÀ¿ô¡Ê¥ª¥×¥·¥ç¥ó¡Ë
989(3-4-5) DOUBLE64_MIN            double64_t€Ë³ÊÇŒ€Ç€­€ëºÇŸ®€ÎÀµµ¬²œ€µ€ì€¿Àµ€ÎÉâ
990                                                        ưŸ®¿ôÅÀ¿ô¡Ê¥ª¥×¥·¥ç¥ó¡Ë
991(3-4-6) DOUBLE64_MAX            double64_t€Ë³ÊÇŒ€Ç€­€ëÉœžœ²ÄÇœ€ÊºÇÂç€ÎÍ­žÂÉâÆ°
992                                                        Ÿ®¿ôÅÀ¿ô¡Ê¥ª¥×¥·¥ç¥ó¡Ë
993
994»ØÄꀵ€ì€¿¥µ¥€¥º¡ŠÉœžœ·ÁŒ°€ÎÉâÆ°Ÿ®¿ôÅÀ·¿€ò¡€€³€ì€é€Î¥·¥ó¥Ü¥ë€Ë·¿ÄêµÁ€¹
995€ë¡¥€Þ€¿¡€¥Ç¡Œ¥¿·¿€Ë³ÊÇŒ€Ç€­€ëºÇÂçÃÍ¡ŠºÇŸ®ÃÍ€ò¡€€³€ì€é€Î¥·¥ó¥Ü¥ë€Ë¥Þ¥¯
996¥íÄêµÁ€¹€ë¡¥
997
998€€€º€ì€â¡€³ºÅö€¹€ë¥Ç¡Œ¥¿·¿€¬¥³¥ó¥Ñ¥€¥é€Ç¥µ¥Ý¡Œ¥È€µ€ì€Æ€€€ëŸì¹ç€Ë€Î€ßÄê
999µÁ€¹€ë¡¥
1000
10013.5 ¥³¥ó¥Ñ¥€¥é€Î³ÈÄ¥µ¡Çœ€Î€¿€á€Î¥Þ¥¯¥íÄêµÁ
1002
1003¥³¥ó¥Ñ¥€¥é€Î³ÈÄ¥µ¡Çœ€òÍÑ€€€ë€¿€á€Î¥Þ¥¯¥í€È€·€Æ¡€É¬Í׀˱þ€ž€Æ¡€°Ê²Œ€Î¥Þ
1004¥¯¥í€ÎÄêµÁ€òŽÞ€á€ë¡¥
1005
1006(3-5-1) inline¡Ê¥ª¥×¥·¥ç¥ó¡€¥Ç¥Õ¥©¥ë¥È€ÏÌ€ÄêµÁ¡Ë
1007(3-5-2) Inline¡Ê¥ª¥×¥·¥ç¥ó¡€¥Ç¥Õ¥©¥ë¥È€Ïstatic inline¡Ë
1008
1009¥€¥ó¥é¥€¥óŽØ¿ô€Ç€¢€ë€³€È€òŒš€¹»ØÄê¡¥Inline€Ï¡€¥³¥ó¥Ñ¥€¥ëñ°Ì€Ë¥í¡Œ¥«¥ë
1010€Ê¥€¥ó¥é¥€¥óŽØ¿ô€Ç€¢€ë€³€È€òŒš€¹¡¥
1011
1012(3-5-3) asm¡Ê¥ª¥×¥·¥ç¥ó¡€¥Ç¥Õ¥©¥ë¥È€ÏÌ€ÄêµÁ¡Ë
1013(3-5-4) Asm¡Ê¥ª¥×¥·¥ç¥ó¡€¥Ç¥Õ¥©¥ë¥È€ÏÌ€ÄêµÁ¡Ë
1014
1015¥€¥ó¥é¥€¥ó¥¢¥»¥ó¥Ö¥é€òµ­œÒ€¹€ë€¿€á€Î»ØÄê¡¥Asm€Ï¡€ºÇŬ²œ€Ë€è€êºïœü€·€Æ€Ï
1016€Ê€é€Ê€€€³€È€òŒš€¹¡¥€³€ì€é€Ï¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Ç€Î€ß»È€Š¥Þ¥¯¥í€Ç€¢€ë€¿
1017€á¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Ç»È€ï€Ê€€€Ê€éÄêµÁ€¹€ëɬÍ׀πʀ€¡¥
1018
1019(3-5-5) offsetof(structure, field)¡Ê¥ª¥×¥·¥ç¥ó¡€¥Ç¥Õ¥©¥ë¥È€ÎÄêµÁ€¢€ê¡Ë
1020
1021¹œÂ€ÂÎstructure€ÎÃæ€Ç€Î¡€¥Õ¥£¡Œ¥ë¥Éfield€Î¥ª¥Õ¥»¥Ã¥È€òµá€á€ë¥Þ¥¯¥í¡¥
1022
1023(3-5-6) alignof(type)¡Ê¥ª¥×¥·¥ç¥ó¡€¥Ç¥Õ¥©¥ë¥È€ÎÄêµÁ€¢€ê¡Ë
1024
1025¥Ç¡Œ¥¿·¿type€Î¥¢¥é¥€¥ó¥á¥ó¥Èñ°Ì€òµá€á€ë¥Þ¥¯¥í¡¥
1026
1027(3-5-7) NoReturn¡Ê¥ª¥×¥·¥ç¥ó¡€¥Ç¥Õ¥©¥ë¥È€ÏÌ€ÄêµÁ¡Ë
1028
1029¥ê¥¿¡Œ¥ó€¹€ë€³€È€Î€Ê€€ŽØ¿ô€Ç€¢€ë€³€È€òŒš€¹»ØÄê¡¥€³€ì€Ï¡€¥¿¡Œ¥²¥Ã¥È°Íž
1030Éô€Î€ß»È€Š¥Þ¥¯¥í€Ç€¢€ë€¿€á¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Ç»È€ï€Ê€€€Ê€éÄêµÁ€¹€ëɬÍ×
1031€Ï€Ê€€¡¥
1032
10333.6 ÉžœàŪ€ÊÄêµÁ€ÎŸåœñ€­
1034
1035t_stddef.h€ËŽÞ€Þ€ì€ëTOPPERS¶ŠÄÌÄêµÁ€ÎÉžœàŪ€ÊÄêµÁ€òŸåœñ€­€¹€ëŸì¹ç€Ë€Ï¡€
1036°Ê²Œ€Î¥Þ¥¯¥í€òÄêµÁ€¹€ë¡¥
1037
1038(3-6-1) TOPPERS_bool¡Ê¥ª¥×¥·¥ç¥ó¡€¥Ç¥Õ¥©¥ë¥È€Ïint¡Ë
1039(3-6-2) TOPPERS_size¡Ê¥ª¥×¥·¥ç¥ó¡€¥Ç¥Õ¥©¥ë¥È€Ïuintptr_t¡Ë
1040(3-6-3) TOPPERS_fp¡Ê¥ª¥×¥·¥ç¥ó¡€¥Ç¥Õ¥©¥ë¥È€ÏŸ€Èžß޹À­€Î€Ê€€ŽØ¿ô¥Ý¥€¥ó¥¿¡Ë
1041
1042€œ€ì€Ÿ€ì¡€bool_t¡€SIZE¡€FP€Ë·¿ÄêµÁ€¹€Ù€­¥Ç¡Œ¥¿·¿¡¥
1043
1044(3-6-4) UINT_C(val)¡Ê¥ª¥×¥·¥ç¥ó¡€¥Ç¥Õ¥©¥ë¥È€ÏU€òÉղáË
1045(3-6-5) ULONG_C(val)¡Ê¥ª¥×¥·¥ç¥ó¡€¥Ç¥Õ¥©¥ë¥È€ÏUL€òÉղáË
1046
1047€œ€ì€Ÿ€ì¡€unsigned uint·¿¡€unsigned long·¿€ÎÄê¿ô€òºî€ë€¿€á€Î¥Þ¥¯¥í¡¥
1048
1049(3-6-6) NULL¡Ê¥ª¥×¥·¥ç¥ó¡€¥Ç¥Õ¥©¥ë¥È€Ï0¡Ë
1050
1051C90œàµò€ÎCžÀžìŽÄ¶­€Ç€Ï¡€NULL€ÎÄêµÁ€Ïstddef.h€ËŽÞ€Þ€ì€Æ€€€ë€¿€á¡€€³€ì€ò
1052¥€¥ó¥¯¥ë¡Œ¥É€·€Æ€â€è€€¡¥
1053
1054(3-6-7) ERCD(mercd, sercd)¡Ê¥ª¥×¥·¥ç¥ó¡Ë
1055(3-6-8) MERCD(ercd)¡Ê¥ª¥×¥·¥ç¥ó¡Ë
1056(3-6-9) SERCD(ercd)¡Ê¥ª¥×¥·¥ç¥ó¡Ë
1057
1058ERCD¡€MERCD¡€SERCD€ÎÉžœà€ÎÄêµÁ€Ï¡€É乿ÉÕ€­À°¿ô€¬2€ÎÊä¿ô€ÇÉœžœ€µ€ì€Æ€ª€ê¡€
1059±Š¥·¥Õ¥È±é»»»Ò¡Ê>>¡Ë€¬»»œÑ¥·¥Õ¥È€µ€ì€ë€³€È€ò²ŸÄꀷ€Æ€€€ë¡¥Â¿€¯€Î¥³¥ó¥Ñ
1060¥€¥é€Ç€³€Î²ŸÄꀬÀ®€êΩ€Ä€¬¡€€œ€Š€Ç€Ê€€Ÿì¹ç€Ë€Ï¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Ç€³€ì
1061€é€ÎÄêµÁ€òŸåœñ€­€¹€ëɬÍ×€¬€¢€ë¡¥
1062
1063(3-6-10) ALIGN_TYPE(addr, type)¡Ê¥ª¥×¥·¥ç¥ó¡Ë
1064
1065¥¢¥É¥ì¥¹addr€¬¡€¥Ç¡Œ¥¿·¿type€Î¥¢¥é¥€¥ó¥á¥ó¥Èñ°Ì€Ë¥¢¥é¥€¥ó€·€Æ€€€ë€«
1066¥Á¥§¥Ã¥¯€¹€ë¥Þ¥¯¥í¡¥
1067
10683.7 ¥¢¥µ¡Œ¥·¥ç¥ó€Î€¿€á€ÎÄêµÁ
1069
1070t_stddef.h€Ë€Ï¡€assert€ÎÄêµÁ€¬ŽÞ€Þ€ì€ë¡¥assert€¬ŒºÇÔ€·€¿Ÿì¹ç¡Êassert€Î
1071¥Ñ¥é¥á¡Œ¥¿€¬false€Ë€Ê€Ã€¿Ÿì¹ç¡Ë€ÎœèÍý€ò¡€¥¿¡Œ¥²¥Ã¥È°Íž€ËÍѰՀ¹€ëɬÍ×€¬
1072€¢€ë¡¥€³€ì€é€ÎÄêµÁ€Ï¡€assert¥Þ¥¯¥í€ò»ÈÍÑ€¹€ëÁ°€Ç€¢€ì€Ð¡€t_stddef.h°Ê¹ß
1073€Ë¥€¥ó¥¯¥ë¡Œ¥É€µ€ì€ë¥Õ¥¡¥€¥ë€ËŽÞ€Þ€ì€Æ€€€Æ€â€è€€¡¥€Ê€ª¡€assert€ò̵žú€Ë
1074€¹€ë¡ÊNDEBUG€ò¥Þ¥¯¥íÄêµÁ€·€Æ¥³¥ó¥Ñ¥€¥ë€¹€ë¡ËŸì¹ç€Ë€Ï¡€€³€ì€é€òÍѰՀ¹€ë
1075ɬÍ׀πʀ€¡¥
1076
1077(3-7-1) TOPPERS_assert_abort(void)
1078
1079assert€¬ŒºÇÔ€·€¿Ÿì¹ç€Ë¡€¥×¥í¥°¥é¥à€òÄä»ß€µ€»€ëŽØ¿ô¡¥¥·¥¹¥Æ¥à³«È¯Ãæ€Ï¥Ç
1080¥Ð¥Ã¥¬€ËÍî€È€¹€Î€¬ÍýÁÛŪ€Ç€¢€ë¡¥¥·¥¹¥Æ¥à²ÔƯ»þ€Ë€ÏÎã³°œèÍý€ò¹Ô€ï€»€ë€³
1081€È€Ë€Ê€ë¡¥
1082
1083(3-7-2) TOPPERS_assert_fail(exp, file, line)
1084
1085assert€¬ŒºÇÔ€·€¿»þ€ÎŸðÊó€òÉœŒš/µ­Ï¿€¹€ë€¿€á€Î¥Þ¥¯¥í¡¥¥·¥¹¥Æ¥à¥í¥°µ¡Çœ€ò
1086ÍÑ€€€ëŸì¹ç€Ë€Ï¡€t_syslog.h€Ë¥·¥¹¥Æ¥à¥í¥°µ¡Çœ€Ëµ­Ï¿€¹€ë€¿€á€ÎÄêµÁ€¬ŽÞ€Þ
1087€ì€Æ€€€ë€Î€Ç¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ÇÍѰՀ¹€ëɬÍ׀πʀ€¡¥
1088
1089
1090£Ž¡¥¥·¥¹¥Æ¥à¥€¥ó¥¿¥Õ¥§¡Œ¥¹¥ì¥€¥ä¡ÊSIL¡Ë€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô
1091
1092¥·¥¹¥Æ¥à¥€¥ó¥¿¥Õ¥§¡Œ¥¹¥ì¥€¥ä¡ÊSIL¡€sil.h¡Ë€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ÎÄêµÁ€Ï¡€
1093target_sil.h€Þ€¿€Ï€œ€³€«€é¥€¥ó¥¯¥ë¡Œ¥É€µ€ì€ë¥Õ¥¡¥€¥ë¡Ê¥×¥í¥»¥Ã¥µ¡Š¥Á¥Ã
1094¥×¡Š³«È¯ŽÄ¶­°ÍžÉô€ÇÍѰՀµ€ì€ë¥Ø¥Ã¥À¥Õ¥¡¥€¥ë€Ê€É¡Ë€ËŽÞ€á€ë¡¥
1095
1096SIL€Î¥µ¡Œ¥Ó¥¹¥³¡Œ¥ë€Ï¡€Ç€°Õ€Î¥·¥¹¥Æ¥àŸõÂրǞƀӜЀ¹€³€È€¬€Ç€­€ë¡¥€œ€Î€¿
1097€á¡€SIL€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ÎŽØ¿ô€Ï¡€Ç€°Õ€Î¥·¥¹¥Æ¥àŸõÂրǞƀӜЀ»€ë€è€Š€Ë
1098ŒÂÁõ€·€Ê€±€ì€Ð€Ê€é€Ê€€¡¥
1099
11004.1 Á޳ä¹þ€ß¥í¥Ã¥¯ŸõÂրΎÉÍý
1101
1102SIL€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Ç€Ï¡€Á޳ä¹þ€ß¥í¥Ã¥¯ŸõÂÖ€ØÁ«°Ü€¹€ëµ¡Çœ€È¡€žµ€ÎŸõÂÖ
1103€ØÌ္µ¡Çœ¡Êžµ€ÎŸõÂÖ€òµ­²±€¹€ë€¿€á€ËÊÑ¿ô€ò»È€Š¡Ë€òÄó¶¡€¹€ë¡¥Á޳ä¹þ€ß¥í¥Ã
1104¥¯ŸõÂրǀ¢€ë€«€òÈœÊÌ€¹€ëµ¡Çœ€ÏÄó¶¡€¹€ëɬÍ×€¬€Ê€€¡¥
1105
1106SIL€Îµ¡Çœ€Ï¡€¥«¡Œ¥Í¥ë€ò»ÈÍÑ€·€Ê€€Ÿì¹ç€Ë€â»ÈÍрǀ­€ëɬÍ×€¬€¢€ë¡¥€œ€Î€¿€á¡€
1107Á޳ä¹þ€ß¥í¥Ã¥¯ŸõÂր؀ÎÁ«°Ü€Èžµ€ÎŸõÂր؀ÎÉüµ¢€Ï¡€¥«¡Œ¥Í¥ë€òÍÑ€€€º¡€¥×¥í
1108¥»¥Ã¥µ€Î¥ê¥œ¡Œ¥¹€òÄŸÀÜÁàºî€¹€ë€³€È€Ë€è€Ã€ÆŒÂžœ€¹€ë¡¥€Þ€¿¡€Á޳ä¹þ€ß¥í¥Ã
1109¥¯ŸõÂր؀ÎÁ«°Ü€Èžµ€ÎŸõÂր؀ÎÉüµ¢€Ï¡€Á޳ä¹þ€ß¥í¥Ã¥¯ŸõÂÖ€äCPU¥í¥Ã¥¯ŸõÂÖ€Ç
1110€â¹Ô€š€ëɬÍ×€¬€¢€ë¡¥
1111
1112Êݞǜ€ò»ý€Ã€¿¥«¡Œ¥Í¥ë€Ç€Ï¡€¥æ¡Œ¥¶¥¿¥¹¥¯€«€é¥×¥í¥»¥Ã¥µ€Î¥ê¥œ¡Œ¥¹€òÄŸ
1113ÀÜÁàºî€¹€ë€³€È€¬€Ç€­€Ê€€€¿€á¡€¥æ¡Œ¥¶¥¿¥¹¥¯€«€é€Ï€³€ì€é€Îµ¡Çœ€òÍÑ€€€ë€³
1114€È€¬€Ç€­€Ê€€¡¥ÍÑ€€€¿Ÿì¹ç€Î¿¶Éñ€€€Ï¥¿¡Œ¥²¥Ã¥È¥×¥í¥»¥Ã¥µ€Ë°Íž€¹€ë€¬¡€Åµ
1115·¿Åª€Ë€Ï¡€ÆÃž¢Ì¿Îá°ãÈ¿€Ê€É€ÎCPUÎã³°€¬È¯Àž€¹€ë€³€È€Ë€Ê€ë¡¥
1116
1117(4-1-1) SIL_PRE_LOC
1118
1119Á޳ä¹þ€ß¥í¥Ã¥¯¥Õ¥é¥°€ÎŸõÂÖ€òÊÝž€¹€ë€¿€á€ÎÊÑ¿ô€òÄêµÁ€¹€ë¥Þ¥¯¥í¡¥·¿ÌŸ€Î
1120žå€Ë¡€ÊÑ¿ôÌŸ€ò³€±€¿€â€Î€ËÄêµÁ€¹€ë¡¥ÊÑ¿ôÌŸ€Ï¡€ÂŸ€ÎÌŸÁ°€ÈŸ×ÆÍ€·€Ê€€€è€Š
1121€Ë¡€"TOPPERS_"€Ç»Ï€Þ€ëÌŸÁ°€Ë€¹€ë¡¥
1122
1123(4-1-2) SIL_LOC_INT()
1124
1125žœºß€ÎÁ޳ä¹þ€ß¥í¥Ã¥¯¥Õ¥é¥°€ÎŸõÂÖ€òSIL_PRE_LOC€ÇÄêµÁ€·€¿ÊÑ¿ô€ËÊÝž€·¡€ÁŽ
1126³ä¹þ€ß¥í¥Ã¥¯ŸõÂÖ€ËÁ«°Ü€µ€»€ë¥Þ¥¯¥í¡¥€³€Î¥Þ¥¯¥í€òŒÂžœ€¹€ëºÝ€Ë€Ï¡€¡Ö1.6
1127¥¯¥ê¥Æ¥£¥«¥ë¥»¥¯¥·¥ç¥ó€ÎœÐÆþœèÍý€ÎŒÂžœ€ËŽØ€¹€ëÀ©Ìó¡×€ÎÀá€Ëµ­œÒ€µ€ì€Æ€€
1128€ëÀ©Ìó€ËœŸ€ï€Ê€±€ì€Ð€Ê€é€Ê€€¡¥
1129
1130(4-1-3) SIL_UNL_INT()
1131
1132SIL_LOC_INT()€Ë€è€Ã€ÆÊÑ¿ô€ËÊÝž€·€¿ŸõÂÖ€ËÌ္¥Þ¥¯¥í¡¥€³€Î¥Þ¥¯¥í€òŒÂžœ€¹
1133€ëºÝ€Ë€Ï¡€¡Ö1.6 ¥¯¥ê¥Æ¥£¥«¥ë¥»¥¯¥·¥ç¥ó€ÎœÐÆþœèÍý€ÎŒÂžœ€ËŽØ€¹€ëÀ©Ìó¡×€Î
1134Àá€Ëµ­œÒ€µ€ì€Æ€€€ëÀ©Ìó€ËœŸ€ï€Ê€±€ì€Ð€Ê€é€Ê€€¡¥
1135
11364.2 ÈùŸ¯»þŽÖÂÔ€Á
1137
1138(4-2-1) void sil_dly_nse(ulong_t dlytim)
1139
1140dlytim€Ç»ØÄꀵ€ì€¿°ÊŸå€Î»þŽÖ¡Êñ°Ì€Ï¥Ê¥ÎÉáˡ€¥ë¡Œ¥×€Ê€É€Ë€è€Ã€ÆÂԀĎØ
1141¿ô¡¥
1142
1143°Ê²Œ€ÎŽØ¿ô€ÈÅù²Á€ÊœèÍý€ò¡€¥¢¥»¥ó¥Ö¥êžÀžì€Çµ­œÒ€¹€ëÊýË¡€ò¡€ÉžœàŪ€ÊŒÂÁõ
1144ÊýË¡€È€¹€ë¡¥¥¢¥»¥ó¥Ö¥êžÀžì€Çµ­œÒ€¹€ë€Î€Ï¡€¥³¥ó¥Ñ¥€¥é€ÎºÇŬ²œ€Ë°Íž€·€Ê
1145€€€è€Š€Ë€¹€ë€¿€á€Ç€¢€ë¡¥€Þ€¿€³€ÎŽØ¿ô€Ï¡€¥­¥ã¥Ã¥·¥åÅù€Î±Æ¶Á€òŒõ€±€Ê€€€è
1146€Š€Ë¡€€Ç€­€ëžÂ€ê¥á¥â¥ê¥¢¥¯¥»¥¹€ò¹Ô€ï€Ê€€€è€Š€ËŒÂÁõ€¹€Ù€­€Ç€¢€ë¡¥
1147
1148        void sil_dly_nse(ulong_t dlytim)
1149        {
1150                dlytim -= SIL_DLY_TIM1;
1151                if (·ë²Ì€¬0€è€êÂ瀭€€) {
1152                        do {
1153                                dlytim -= SIL_DLY_TIM2;
1154                        } while (·ë²Ì€¬0€è€êÂ瀭€€);
1155                }
1156        }
1157
1158€³€ÎŽØ¿ô€Îưºî€ÏŒ¡€ÎÄÌ€ê€Ç€¢€ë¡¥dlytim€¬SIL_DLY_TIM1°Ê²Œ€ÎŸì¹ç€Ë€Ï¡€ºÇ
1159œé€ÎifÊž€ÎŸò·ï€¬À®Î©€»€º¡€€¹€°€ËŽØ¿ô€«€éÈŽ€±€ë¡¥dlytim€¬SIL_DLY_TIM1€è
1160€êÂ瀭€¯¡€(SIL_DLY_TIM1+SIL_DLY_TIM2)°Ê²Œ€ÎŸì¹ç€Ë€Ï¡€ºÇœé€ÎifÊž€ÎŸò·ï€Ï
1161À®Î©€¹€ë€¬¡€do¥ë¡Œ¥×€Ï1²ó€â²ó€é€º€ËŽØ¿ô€«€éÈŽ€±€ë¡¥dlytim€¬
1162(SIL_DLY_TIM1+SIL_DLY_TIM2)€è€êÂ瀭€¯¡€(SIL_DLY_TIM1+SIL_DLY_TIM2*2)°Ê
1163²Œ€ÎŸì¹ç€Ë€Ï¡€do¥ë¡Œ¥×€ò1²ó€À€±²ó€Ã€ÆŽØ¿ô€«€éÈŽ€±€ë¡¥€œ€Îžå¡€dlytim€¬
1164SIL_DLY_TIM2Â瀭€¯€Ê€ëÅـˡ€while¥ë¡Œ¥×€ò²ó€ë²ó¿ô€¬1²ó€º€ÄÁý€š€ë¡¥
1165
1166€Ê€ª¡€€³€ÎŽØ¿ô€ò¥¢¥»¥ó¥Ö¥êžÀžì¡Ê€Þ€¿€Ï¡€CžÀžì¡Ë€Çµ­œÒ€¹€ëŸì¹ç¡€€É€Î¥Õ¥¡
1167¥€¥ë€Ëµ­œÒ€¹€ë€«€¬ÌäÂê€Ë€Ê€ë¡¥SIL€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Ë€Ï¡€Éžœà€Ç€Ï¡€¥¢¥»
1168¥ó¥Ö¥êžÀžì¡Ê€Þ€¿€Ï¡€CžÀžì¡Ë€ÎŽØ¿ôÄêµÁ€òµ­œÒ€¹€ë€¿€á€Î¥Õ¥¡¥€¥ë€òÍѰՀ·€Æ
1169€€€Ê€€¡¥¥¿¡Œ¥²¥Ã¥È°Íž€ÇÍѰՀ·€Æ€â€è€€€¬¡€Î㳰Ū€Ë¡€¥«¡Œ¥Í¥ëŒÂÁõ€Î¥¿¡Œ
1170¥²¥Ã¥È°Íž¥â¥ž¥å¡Œ¥ë¡Êtarget_support.S€Þ€¿€Ïtarget_config.c¡Ë€Ëµ­œÒ€·€Æ
1171€â€è€€€³€È€Ë€¹€ë¡¥
1172
1173(4-2-2) SIL_DLY_TIM1¡Ê¥ª¥×¥·¥ç¥ó¡Ë
1174(4-2-3) SIL_DLY_TIM2¡Ê¥ª¥×¥·¥ç¥ó¡Ë
1175
1176sil_dly_nse€òŸåµ­€ÎÉžœàŪ€ÊÊýË¡€ÇŒÂžœ€·€¿Ÿì¹ç¡€€³€Î2€Ä€ÎÄê¿ô€ò¥¿¡Œ¥²¥Ã
1177¥È°ÍžÉô€Ç¥Þ¥¯¥íÄêµÁ€¹€ë¡¥
1178
1179SIL_DLY_TIM2€Ï¡€Ÿåµ­€ÎŽØ¿ô€Ë€ª€€€Æ¡€do¥ë¡Œ¥×1²ó€ÎŒÂ¹Ô»þŽÖ¡Êñ°Ì€Ï¥Ê¥ÎÉáË
1180€ËÀßÄꀹ€ë¡¥¥¿¡Œ¥²¥Ã¥È¥×¥í¥»¥Ã¥µ€ÎÌ¿Î᥻¥Ã¥È€Ë€â€è€ë€¬¡€€ª€ª€è€œ¡€žº»»
1181Ì¿Îá€ÈŸò·ïʬŽôÌ¿Îá³Æ1²ó€ÎŒÂ¹Ô»þŽÖ€Ë€Ê€ë¡¥SIL_DLY_TIM2€¬·è€Þ€ì€Ð¡€ŽØ¿ôžÆ
1182œÐ€·€âŽÞ€á€¿ÁŽÂ΀λþŽÖ€¬dlytim€Ç»ØÄꀵ€ì€¿°ÊŸå€Î»þŽÖ€Ë€Ê€ë€è€Š€Ë¡€
1183SIL_DLY_TIM1€ò·è€á€ë¡¥
1184
1185€³€Î2€Ä€ÎÄê¿ôÃ̀ηèÄê€ò»Ù±ç€¹€ë¥×¥í¥°¥é¥à€È€·€Æ¡€test¥Ç¥£¥ì¥¯¥È¥ê€Ë¡€
1186test_dlynse€òÍѰՀ·€Æ€€€ë¡¥test_dlynse€òŒÂ¹Ô€¹€ë€È¡€Œ¡€Î€è€Š€ÊœÐÎÏ€¬ÆÀ
1187€é€ì€ë¡¥
1188
1189-- for fitting parameters --
1190sil_dly_nse(0): 430 OK
1191sil_dly_nse(420): 430 OK
1192sil_dly_nse(510): 520 OK
1193sil_dly_nse(600): 610 OK
1194<ÃæÎ¬>
1195-- for checking boundary conditions --
1196sil_dly_nse(421): 520 OK
1197sil_dly_nse(511): 610 OK
1198sil_dly_nse(601): 700 OK
1199
1200"for fitting parameters"€Ë³€¯œÐÎπϡ€sil_dly_nse(dlytim)€òžÆ€ÓœÐ€·€¿Ÿì
1201¹ç€ÎÂÔ€Á»þŽÖ€ò¬Äꀷ€¿·ë²Ì€Ç€¢€ë¡¥€³€Î¥×¥í¥°¥é¥à€òÍÑ€€€Æ¡€":"€Î±ŠÂŠ€Î¿ô
1202ÃÍ€¬¡€dlytim€è€ê€âÂ瀭€€Èϰπǀʀë€Ù€¯¶á€€Ã̀ˀʀë€è€Š€Ë¡€2€Ä€ÎÄê¿ôÃÍ€ò
1203ÄŽÀ°€¹€ë¡¥"for checking boundary conditions"€Ë³€¯œÐÎπϡ€¥×¥í¥°¥é¥à€Î
1204ÂÅÅöÀ­€ò¥Á¥§¥Ã¥¯€¹€ë€¿€á€Î€â€Î€Ç¡€":"€Î±ŠÂŠ€Î¿ôÃÍ€¬¡€dlytim€è€ê€âÂ瀭€€
1205€³€È€ò³Îǧ€¹€ë¡Ê¶á€€Ã̀ˀʀëɬÍ׀πʀ€¡Ë¡¥
1206
12074.3 ¥×¥í¥»¥Ã¥µ€Î¥š¥ó¥Ç¥£¥¢¥ó
1208
1209(4-3-1) SIL_ENDIAN_BIG
1210(4-3-2) SIL_ENDIAN_LITTLE
1211
1212¥×¥í¥»¥Ã¥µ€Î¥š¥ó¥Ç¥£¥¢¥ó€Ë€è€ê¡€€€€º€ì€«ÊÒÊý€Î¥·¥ó¥Ü¥ë€ò¥Þ¥¯¥íÄêµÁ€¹€ë¡¥
1213
1214(4-3-3) TOPPERS_SIL_REV_ENDIAN_UINT16¡Ê¥ª¥×¥·¥ç¥ó¡Ë
1215(4-3-4) TOPPERS_SIL_REV_ENDIAN_UINT32¡Ê¥ª¥×¥·¥ç¥ó¡Ë
1216
1217€œ€ì€Ÿ€ì¡€16¥Ó¥Ã¥È¡€32¥Ó¥Ã¥È€ÎÉä¹æÌµ€·À°¿ô€Î¥š¥ó¥Ç¥£¥¢¥ó€òȿş€µ€»€ë¥Þ
1218¥¯¥í¡¥¥×¥í¥»¥Ã¥µ€¬¥š¥ó¥Ç¥£¥¢¥óȿş€Î€¿€á€ÎÌ¿Îá€ò»ý€ÄŸì¹ç€Ë€Ï¡€€œ€ÎÌ¿Îá
1219€òÍÑ€€€ÆŒÂžœ€¹€ë¡¥€³€ì€é€Î¥·¥ó¥Ü¥ë€ò¥Þ¥¯¥íÄêµÁ€·€Ê€€Ÿì¹ç€Ë€Ï¡€¥Ç¥Õ¥©¥ë
1220¥È€ÎÄêµÁ€¬»È€ï€ì€ë¡¥
1221
12224.4 ¥á¥â¥ê¶õŽÖ¥¢¥¯¥»¥¹ŽØ¿ô
1223
1224(4-4-1) TOPPERS_OMIT_SIL_ACCESS
1225
1226Éžœà€Î¥á¥â¥ê¶õŽÖ¥¢¥¯¥»¥¹ŽØ¿ô€ò»ÈÍÑ€»€º¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ÇÍѰՀ¹€ëŸì¹ç
1227€Ë€Ï¡€€³€Î¥·¥ó¥Ü¥ë€ò¥Þ¥¯¥íÄêµÁ€¹€ë¡¥
1228
1229(4-4-2) TOPPERS_OMIT_SIL_REH_LEM
1230(4-4-3) TOPPERS_OMIT_SIL_WRH_LEM
1231(4-4-4) TOPPERS_OMIT_SIL_REH_BEM
1232(4-4-5) TOPPERS_OMIT_SIL_WRH_BEM
1233(4-4-6) TOPPERS_OMIT_SIL_REW_LEM
1234(4-4-7) TOPPERS_OMIT_SIL_WRW_LEM
1235(4-4-8) TOPPERS_OMIT_SIL_REW_BEM
1236(4-4-9) TOPPERS_OMIT_SIL_WRW_BEM
1237
1238€œ€ì€Ÿ€ì¡€Éžœà€Îsil_reh_lem¡€sil_wrh_lem¡€sil_reh_bem¡€sil_wrh_bem¡€
1239sil_rew_lem¡€sil_wrw_lem¡€sil_rew_bem¡€sil_wrw_bem€ò»ÈÍÑ€»€º¡€¥¿¡Œ¥²¥Ã
1240¥È°ÍžÉô€ÇÍѰՀ¹€ëŸì¹ç€Ë€Ï¡€€³€ì€é€Î¥·¥ó¥Ü¥ë€ò¥Þ¥¯¥íÄêµÁ€¹€ë¡¥
1241
12424.5 I/O¶õŽÖ¥¢¥¯¥»¥¹ŽØ¿ô
1243
1244¥á¥â¥ê¶õŽÖ€È€ÏÊÌ€ËI/O¶õŽÖ€ò»ý€Ä¥×¥í¥»¥Ã¥µ€Ç€Ï¡€I/O¶õŽÖ€Ë€¢€ë¥Ç¥Ð¥€¥¹¥ì
1245¥ž¥¹¥¿€ò¥¢¥¯¥»¥¹€¹€ë€¿€á€ÎŽØ¿ô€È€·€Æ¡€sil_reb_iop¡€sil_wrb_iop¡€
1246sil_reh_iop¡€sil_wrh_iop¡€sil_reh_lep¡€sil_wrh_lep¡€sil_reh_bep¡€
1247sil_wrh_bep¡€sil_rew_iop¡€sil_wrw_iop¡€sil_rew_lep¡€sil_wrw_lep¡€
1248sil_rew_bep¡€sil_wrw_bep€ÎÃæ€ÇɬÍ׀ʀâ€Î€ò¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ÇÍѰՀ¹€ë¡¥
1249
1250
1251£µ¡¥¥«¡Œ¥Í¥ëAPI€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô
1252
1253¥«¡Œ¥Í¥ëAPI¡Êkernel.h¡Ë€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ÎÄêµÁ€Ï¡€target_kernel.h€Þ€¿
1254€Ï€œ€³€«€é¥€¥ó¥¯¥ë¡Œ¥É€µ€ì€ë¥Õ¥¡¥€¥ë¡Ê¥×¥í¥»¥Ã¥µ¡Š¥Á¥Ã¥×¡Š³«È¯ŽÄ¶­°Íž
1255Éô€ÇÍѰՀµ€ì€ë¥Ø¥Ã¥À¥Õ¥¡¥€¥ë€Ê€É¡Ë€ËŽÞ€á€ë¡¥
1256
12575.1 ¥¿¡Œ¥²¥Ã¥ÈÄêµÁ€Ç¥µ¥Ý¡Œ¥È€¹€ëµ¡Çœ
1258
1259(5-1-1) TOPPERS_TARGET_SUPPORT_DIS_INT          dis_int€ò¥µ¥Ý¡Œ¥È€¹€ë
1260(5-1-2) TOPPERS_TARGET_SUPPORT_ENA_INT          ena_int€ò¥µ¥Ý¡Œ¥È€¹€ë
1261(5-1-3) TOPPERS_TARGET_SUPPORT_GET_UTM          get_utm€ò¥µ¥Ý¡Œ¥È€¹€ë
1262
1263dis_int¡€ena_int¡€get_utm€ò¥µ¥Ý¡Œ¥È€¹€ëŸì¹ç€Ë¡€€œ€ì€Ÿ€ì€Î¥·¥ó¥Ü¥ë€ò¥Þ¥¯
1264¥íÄêµÁ€¹€ë¡¥
1265
12665.2 ³ä¹þ€ßÍ¥ÀèÅÙ€ÎÈϰÏ
1267
1268(5-2-1) TMIN_INTPRI                             ³ä¹þ€ßÍ¥ÀèÅـκǟ®Ã͡ʺǹâÃÍ¡Ë
1269(5-2-2) TMAX_INTPRI                             ³ä¹þ€ßÍ¥ÀèÅـκÇÂçÃ͡ʺÇÄãÃÍ¡Ë
1270
1271€œ€ì€Ÿ€ì¡€¥«¡Œ¥Í¥ëŽÉÍý€Î³ä¹þ€ßÍ¥ÀèÅـκǟ®Ã͡ʡáÍ¥ÀèÅÙ€¬ºÇ¹â¡Ë¡€¥«¡Œ¥Í
1272¥ëŽÉÍý€Î³ä¹þ€ßÍ¥ÀèÅـκÇÂçÃÍ¡ÊÍ¥ÀèÅÙ€¬ºÇÄã¡Ë€ËÄêµÁ€¹€ë¡¥TMAX_INTPRI€Ï-1
1273€ËžÇÄꀵ€ì€Æ€€€ë€¬¡€ÂПÎÀ­€Î€¿€á€Ë¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ÇÄêµÁ€¹€ë€³€È€Ë€·
1274€Æ€€€ë¡¥
1275
12765.3 ¥¿¥€¥à¥Æ¥£¥Ã¥¯€ÎÄêµÁ
1277
1278(5-3-1) TIC_NUME                                ¥¿¥€¥à¥Æ¥£¥Ã¥¯€ÎŒþŽü€Îʬ»Ò
1279(5-3-2) TIC_DENO                                ¥¿¥€¥à¥Æ¥£¥Ã¥¯€ÎŒþŽü€ÎʬÊì
1280
1281¥¿¥€¥à¥Æ¥£¥Ã¥¯€ÎŒþŽü¡Êsignal_time€òžÆ€ÓœÐ€¹ŒþŽü¡Ë€ò¡€¥ß¥êÉÃñ°Ì€Ç¡€
1282TIC_NUME/TIC_DENO€ËÄêµÁ€¹€ë¡¥Î〚€Ð¡€¥¿¥€¥à¥Æ¥£¥Ã¥¯€ÎŒþŽü€¬1/30ÉÀΟì¹ç
1283€Ë€Ï¡€TIC_NUME€ò100€Ë¡€TIC_DENO€ò3€ËÄêµÁ€¹€ì€Ð€è€€¡¥
1284
1285¥¿¥€¥à¥Æ¥£¥Ã¥¯€ÎŒþŽü€Ï¡€1¥ß¥êÉÀȀ¹€ë¡Ê€Ä€Þ€ê¡€TIC_NUME¡€TIC_DENO€È€â1
1286€ËÄêµÁ€¹€ë¡Ë€³€È€ò¿äŸ©€¹€ë€¬¡€¥·¥ß¥å¥ì¡Œ¥·¥ç¥óŽÄ¶­€äÀ­Çœ€ÎÄ ¥×¥í¥»¥Ã
1287¥µ€Ç€œ€ì€¬Å¬Àڀǀʀ€Ÿì¹ç€Ë€Ï¡€€œ€ì°Ê³°€ÎÃ̀Ȁ·€Æ€â€è€€¡¥€œ€ÎŸì¹ç€Ç€â¡€
1288²ÄÇœ€ÊžÂ€ê¡€1¥ß¥êÉÀÎÇÜ¿ô€Ç€¢€ë¡Ê€Ä€Þ€ê¡€TIC_DENO€ò1€ËÄêµÁ€¹€ë¡Ë€³€È€¬
1289ËŸ€Þ€·€€¡¥
1290
1291TIC_NUME€ÈTIC_DENO€ÎÄêµÁ€òÊѹ¹€¹€ë€³€È€Ç¡€¥¿¥€¥à¥Æ¥£¥Ã¥¯€ÎŒþŽü€òÊѹ¹€Ç
1292€­€ë€è€Š€Ë¥¿¥€¥Þ¥É¥é¥€¥Ð€òŒÂÁõ€¹€ëŸì¹ç€Ë€Ï¡€€³€Î2€Ä€ÎÄê¿ô€ÎÄêµÁ€Ï¥Ç¥Õ¥©
1293¥ë¥ÈÃÍ€òÍ¿€š€Æ€€€ë€³€È€Ë€Ê€ë¡¥€œ€³€Ç¡€€³€ì€é€ÎÄêµÁ€ò¡Ö#ifndef TIC_NUME¡×
1294¡Ö#endif¡×€Ç°Ï€ó€Çµ­œÒ€¹€ë¡¥
1295
12965.4 ¥á¥â¥êÎΰè³ÎÊ݀΀¿€á€Î·¿ÄêµÁ
1297
1298(5-4-1) TOPPERS_STK_T   ¥¹¥¿¥Ã¥¯Îΰè€ò³ÎÊÝ€¹€ë€¿€á€Î·¿¡Ê¥ª¥×¥·¥ç¥ó¡Ë
1299(5-4-2) TOPPERS_MPF_T   žÇÄêĹ¥á¥â¥ê¥×¡Œ¥ëÎΰè€ò³ÎÊÝ€¹€ë€¿€á€Î·¿¡Ê¥ª¥×¥·¥ç¥ó¡Ë
1300
1301¥¹¥¿¥Ã¥¯Îΰè€ÈžÇÄêĹ¥á¥â¥ê¥×¡Œ¥ëÎΰè€Ï¡€Éžœà€Ç€Ï¡€intptr_t·¿€ÎÇÛÎó€È€·
1302€Æ³ÎÊÝ€¹€ë€¬¡€€è€êÂ瀭€€Ã±°Ì€Ç¥¢¥é¥€¥ó€µ€»€¿€€€Ê€É€ÎÍýͳ€Ç¡€€œ€ì°Ê³°€Î
1303·¿€ÎÇÛÎó€È€·€Æ³ÎÊÝ€¹€ëŸì¹ç€Ë€Ï¡€€œ€ì€Ÿ€ìTOPPERS_STK_T€ÈTOPPERS_MPF_T€ò¡€
1304ÇÛÎó€Î¥Ù¡Œ¥¹€È€Ê€ë¥Ç¡Œ¥¿·¿€Ë¥Þ¥¯¥íÄêµÁ€¹€ë¡¥
1305
13065.5 ¥Ó¥Ã¥È¥Ñ¥¿¡Œ¥ó€Î¥Ó¥Ã¥È¿ô
1307
1308(5-5-1) TBIT_TEXPTN             ¥¿¥¹¥¯Îã³°Í×°ø€Î¥Ó¥Ã¥È¿ô¡Ê¥ª¥×¥·¥ç¥ó¡Ë
1309(5-5-2) TBIT_FLGPTN             ¥€¥Ù¥ó¥È¥Õ¥é¥°€Î¥Ó¥Ã¥È¿ô¡Ê¥ª¥×¥·¥ç¥ó¡Ë
1310
1311TBIT_TEXPTN¡€TBIT_FLGPTN€ÎÉžœà€ÎÄêµÁ€Ç€Ï¡€À°¿ô·¿€ÎÍ­žú¥Ó¥Ã¥È¿ô€¬¡€€œ€Î
1312·¿€Îsizeof€ËCHAR_BIT€òŸè€ž€¿€â€Î€È°ìÃ×€·€Æ€€€ë€³€È€ò²ŸÄꀷ€Æ€€€ë¡¥Â¿€¯
1313€Î¥³¥ó¥Ñ¥€¥é€Ç€³€Î²ŸÄꀬÀ®€êΩ€Ä€¬¡€€œ€Š€Ç€Ê€€Ÿì¹ç€Ë€Ï¡€¥¿¡Œ¥²¥Ã¥È°Íž
1314Éô€Ç€³€ì€é€ÎÄêµÁ€òŸåœñ€­€¹€ëɬÍ×€¬€¢€ë¡¥€¿€À€·¡€€³€ì€é€ÎÃÍ€Ï16°ÊŸå€Ç€Ê
1315€±€ì€Ð€Ê€é€Ê€€¡¥
1316
13175.6 ¥á¥â¥êÎΰè³ÎÊ݀΀¿€á€Î¥Þ¥¯¥í
1318
1319(5-6-1) TOPPERS_ROUND_SZ¡Ê¥ª¥×¥·¥ç¥ó¡Ë
1320(5-6-2) TOPPERS_COUNT_SZ¡Ê¥ª¥×¥·¥ç¥ó¡Ë
1321
1322TOPPERS_COUNT_SZ(sz, unit)€Ï¡€sz/unit€òÀÚ€êŸå€²€¿ÃÍ€òµá€á€ë¥Þ¥¯¥í€Ç¡€¥µ
1323¥€¥º€¬sz€Î¥á¥â¥êÎΰè€ò¥µ¥€¥º€¬unit€Î¥Ç¡Œ¥¿·¿€ÎÇÛÎó€Ç³ÎÊÝ€¹€ëŸì¹ç€ÎÍ×ÁÇ
1324¿ô€òµá€á€ë€¿€á€ËÍÑ€€€ë¡¥TOPPERS_ROUND_SZ(sz, unit)€Ï¡€sz/unit€òÀÚ€êŸå€²
1325€¿€â€Î€Ëunit€ò€«€±€¿ÃÍ€òµá€á€ë¥Þ¥¯¥í€Ç¡€¥µ¥€¥º€¬sz€Î¥á¥â¥êÎΰè€ò¥µ¥€¥º
1326€¬unit€Î¥Ç¡Œ¥¿·¿€ÎÇÛÎó€Ç³ÎÊÝ€¹€ëŸì¹ç€Î¥È¡Œ¥¿¥ë¥µ¥€¥º€òµá€á€ë€¿€á€ËÍÑ€€
1327€ë¡¥
1328
1329€œ€ì€Ÿ€ì¡€Éžœà€ÎTOPPERS_ROUND_SZ¡€TOPPERS_COUNT_SZ€¬Å¬Àڀǀʀ¯¡€¥¿¡Œ¥²¥Ã
1330¥È°ÍžÉô€ÇÍѰՀ¹€ëŸì¹ç€Ë€Ï¡€€³€ì€é€Î¥·¥ó¥Ü¥ë€òŬÀÚ€ÊÃ̀˥ޥ¯¥íÄêµÁ€¹€ë¡¥
1331
13325.7 ¥ª¡Œ¥Ð¥é¥ó¥Ï¥ó¥É¥éµ¡Çœ³ÈÄ¥€Î€¿€á€ÎÄêµÁ¡Ê¥ª¥×¥·¥ç¥ó¡Ë
1333
1334¥ª¡Œ¥Ð¥é¥ó¥Ï¥ó¥É¥éµ¡Çœ³ÈÄ¥¥Ñ¥Ã¥±¡Œ¥ž€ò¥µ¥Ý¡Œ¥È€¹€ë¡Ê»ÈÍрǀ­€ë€è€Š€Ë€¹
1335€ë¡ËŸì¹ç€Ë€Ï¡€Œ¡€Î3€Ä€òŒÂ»Ü€¹€ë€³€È€¬É¬Í׀ǀ¢€ë¡¥
1336
1337¡Š€³€ÎÀá€ÇÀâÌÀ€¹€ëÄêµÁ€ò¹Ô€Š¡¥
1338¡Š£¶ŸÏ€ËŒš€¹¥³¡Œ¥ÉÃæ€Ç¡€TOPPERS_SUPPORT_OVRHDR€¬¥Þ¥¯¥íÄêµÁ€µ€ì€Æ€€€ëŸì
1339¡¡¹ç€Ë€Î€ßÍ­žú€È€Ê€ë¥³¡Œ¥É€òŒÂÁõ€¹€ë¡¥
1340¡Š¥ª¡Œ¥Ð¥é¥ó¥¿¥€¥Þ¥É¥é¥€¥Ð€òÍѰՀ¹€ë¡¥¥ª¡Œ¥Ð¥é¥ó¥¿¥€¥Þ¥É¥é¥€¥Ð€Ë€Ä€€€Æ
1341¡¡€Ï¡€¡Ö6.14 ¥ª¡Œ¥Ð¥é¥ó¥¿¥€¥Þ¥É¥é¥€¥Ð¡×€ÎÀá€ò»²ŸÈ€¹€ë€³€È¡¥
1342
1343(5-7-1) TOPPERS_TARGET_SUPPORT_OVRHDR
1344
1345¥ª¡Œ¥Ð¥é¥ó¥Ï¥ó¥É¥éµ¡Çœ³ÈÄ¥¥Ñ¥Ã¥±¡Œ¥ž€ò¥µ¥Ý¡Œ¥È€¹€ëŸì¹ç€Ë€Ï¡€€³€Î¥·¥ó¥Ü
1346¥ë€ò¥Þ¥¯¥íÄêµÁ€¹€ë¡¥
1347
1348(5-7-2) TMAX_OVRTIM¡Ê¥ª¥×¥·¥ç¥ó¡€¥Ç¥Õ¥©¥ë¥È€ÏULONG_MAX¡Ë
1349
1350¥×¥í¥»¥Ã¥µ»þŽÖ€È€·€Æ¥ª¡Œ¥Ð¥é¥ó¥¿¥€¥Þ€ËÀßÄê€Ç€­€ëºÇÂçÃÍ¡Êñ°Ì€Ï¥Þ¥€¥¯¥í
1351Éáˀ˥ޥ¯¥íÄêµÁ€¹€ë¡¥
1352
1353
1354£¶¡¥¥«¡Œ¥Í¥ëŒÂÁõ€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô
1355
13566.1 ¥«¡Œ¥Í¥ëŒÂÁõ€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Î¶ŠÄÌ»ö¹à
1357
13586.1.1 ¥«¡Œ¥Í¥ëŒÂÁõ€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Î¹œÀ®Í×ÁÇ
1359
1360¥«¡Œ¥Í¥ëŒÂÁõ€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Ï¡€°Ê²Œ€ÎÍ×ÁǀǹœÀ®€µ€ì€ë¡¥
1361
1362(a) ¥«¡Œ¥Í¥ëŒÂÁõ€Î¥¿¡Œ¥²¥Ã¥È°Íž€ÎÄêµÁ
1363
1364¥«¡Œ¥Í¥ëŒÂÁõ€Î¥¿¡Œ¥²¥Ã¥ÈÈó°ÍžÉô€«€é»²ŸÈ€µ€ì€ë¥¿¡Œ¥²¥Ã¥È°Íž€ÎÄêµÁ€Ï¡€
1365target_config.h€Þ€¿€Ï€œ€³€«€é¥€¥ó¥¯¥ë¡Œ¥É€µ€ì€ë¥Õ¥¡¥€¥ë¡Ê¥×¥í¥»¥Ã¥µ¡Š¥Á¥Ã
1366¥×¡Š³«È¯ŽÄ¶­°ÍžÉô€ÇÍѰՀµ€ì€ë¥Ø¥Ã¥À¥Õ¥¡¥€¥ë€Ê€É¡Ë€ËŽÞ€á€ë¡¥
1367
1368¥¿¡Œ¥²¥Ã¥È€Î¥Ï¡Œ¥É¥Š¥§¥¢»ñž»¡Ê³ä¹þ€ß¥Ï¥ó¥É¥éÈÖ¹æ€äCPUÎã³°¥Ï¥ó¥É¥éÈֹ桀
1369¥Ç¥Ð¥€¥¹¥ì¥ž¥¹¥¿€ÎÈÖÃπʀɡˀÎÄêµÁ€Ï¡€¥·¥¹¥Æ¥à¥µ¡Œ¥Ó¥¹€ä¥¢¥×¥ê¥±¡Œ¥·¥ç
1370¥ó€Ë€âÍ­Íрǀ¢€ë€¿€á¡€¥«¡Œ¥Í¥ëŒÂÁõ€Î€ß€ËÍ­ÍÑ€ÊÄêµÁ€òŽÞ€à¥Õ¥¡¥€¥ë€È€ÏÀÚ
1371€êʬ€±€Æ¡€ÆÈΩ€·€¿¥Ø¥Ã¥À¥Õ¥¡¥€¥ë€ËŽÞ€á€ë¡¥€³€Î¥Ø¥Ã¥À¥Õ¥¡¥€¥ë€ÎÉžœàŪ€Ê
1372ÌŸŸÎ€ò¡€¥·¥¹¥Æ¥àάŸÎ.h¡Ê€Þ€¿€Ï¡€¥Á¥Ã¥×άŸÎ.h¡€¥×¥í¥»¥Ã¥µÎ¬ŸÎ.h¡Ë€È€¹€ë¡¥
1373
1374(b) ¥«¡Œ¥Í¥ëŒÂÁõ€Î¥¿¡Œ¥²¥Ã¥È°Íž¥â¥ž¥å¡Œ¥ë
1375
1376¥«¡Œ¥Í¥ëŒÂÁõ€Î¥¿¡Œ¥²¥Ã¥È°Íž€ÎÊÑ¿ôÄêµÁ€äŽØ¿ô€òŽÞ€à¥â¥ž¥å¡Œ¥ë¡¥CžÀžì€Çµ­
1377œÒ€µ€ì€ëÉôʬ€òtarget_config.c¡€¥¢¥»¥ó¥Ö¥êžÀžì€Çµ­œÒ€µ€ì€ëÉôʬ€ò
1378target_support.S€ËŽÞ€á€ë¡¥¥×¥í¥»¥Ã¥µ¡Š¥Á¥Ã¥×¡Š³«È¯ŽÄ¶­°ÍžÉô€òÀÚ€êʬ€±
1379€ë€³€È€ä¡€¥Õ¥¡¥€¥ë€¬Â瀭€¯€Ê€ëŸì¹ç€ËÊ£¿ô€Î¥Õ¥¡¥€¥ë€Ëʬ³ä€¹€ë€³€È€â²ÄÇœ
1380€Ç€¢€ë¡¥
1381
1382(c) ¥«¡Œ¥Í¥ëŒÂÁõ€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Î€¿€á€Î¥ê¥Í¡Œ¥àµ­œÒ
1383
1384¥«¡Œ¥Í¥ëŒÂÁõ€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ÎÊÑ¿ôÌŸ€äŽØ¿ôÌŸ€ò¡€ÀèÆ¬€Ë_kernel_€òÉÕÍ¿
1385€·€¿ÌŸÁ°€Ë¥ê¥Í¡Œ¥à€¹€ë€¿€á€Î¥â¥ž¥å¡Œ¥ë¡¥target_rename.def€òÍѰՀ·¡€¥Ä¡Œ
1386¥ë¡Êutils/genrename¡Ë€Ë€è€ê¡€target_rename.h€Ètarget_unrename.h€òÀžÀ®€¹
1387€ë¡¥¥×¥í¥»¥Ã¥µ¡Š¥Á¥Ã¥×¡Š³«È¯ŽÄ¶­°ÍžÉô€òÀÚ€êʬ€±€ëŸì¹ç€Ë€Ï¡€¥ê¥Í¡Œ¥àµ­
1388œÒ€âÀÚ€êʬ€±€ë¡¥
1389
1390(d) ¥¿¥€¥Þ¥É¥é¥€¥Ð
1391
1392¥«¡Œ¥Í¥ë€Ë¥¿¥€¥à¥Æ¥£¥Ã¥¯€òÄÌÃ΀¹€ë¡Êsignal_time€òŒþŽüŪ€ËžÆ€ÓœÐ€¹¡Ë€¿€á
1393€Î¥¿¥€¥Þ¥É¥é¥€¥Ð€Î¥Ø¥Ã¥À¥Õ¥¡¥€¥ë¡€ŒÂÁõ¥Õ¥¡¥€¥ë¡€¥·¥¹¥Æ¥à¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ
1394¥·¥ç¥ó¥Õ¥¡¥€¥ë€ò¡€€œ€ì€Ÿ€ì¡€target_timer.h¡€target_timer.c¡€
1395target_timer.cfg€ËŽÞ€á€ë¡¥¥×¥í¥»¥Ã¥µ¡Š¥Á¥Ã¥×¡Š³«È¯ŽÄ¶­°ÍžÉô€òÀÚ€êʬ€±
1396€ë€³€È€â²ÄÇœ€Ç€¢€ë¡¥
1397
1398€Þ€¿¡€¥ª¡Œ¥Ð¥é¥ó¥Ï¥ó¥É¥éµ¡Çœ³ÈÄ¥¥Ñ¥Ã¥±¡Œ¥ž€ò¥µ¥Ý¡Œ¥È€¹€ëŸì¹ç€Ë€Ï¡€¥ª¡Œ
1399¥Ð¥é¥ó¥Ï¥ó¥É¥é€òµ¯Æ°€¹€ë¡Êcall_ovrhdr€òžÆ€ÓœÐ€¹¡Ë€¿€á€Î¥ª¡Œ¥Ð¥é¥ó¥¿¥€¥Þ
1400¥É¥é¥€¥Ð€â¡€Æ±€ž¥Õ¥¡¥€¥ë€ËŽÞ€á€ë¡¥
1401
1402€Ê€ª¡€€³€ÎŸÏ€ËŒš€¹¥³¡Œ¥ÉÃæ€Ç¡€TOPPERS_SUPPORT_OVRHDR€¬¥Þ¥¯¥íÄêµÁ€µ€ì€Æ
1403€€€ëŸì¹ç€Ë€Î€ßÍ­žú€È€Ê€ë¥³¡Œ¥É€Ï¡€¥ª¡Œ¥Ð¥é¥ó¥Ï¥ó¥É¥éµ¡Çœ³ÈÄ¥¥Ñ¥Ã¥±¡Œ¥ž
1404€ò¥µ¥Ý¡Œ¥È€·€Ê€€Ÿì¹ç€Ë€Ï¡€ŒÂÁõ€¹€ëɬÍ×€¬€Ê€€¡¥
1405
1406(e) ¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿ÀßÄê¥Õ¥¡¥€¥ë
1407
1408¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿€ÎÀßÄê¥Õ¥¡¥€¥ë€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ò¡€target_def.csv¡€
1409target.tf¡€target_check.tf€ËÍѰՀ¹€ë¡¥¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿ÀßÄê¥Õ¥¡¥€¥ë€Î
1410µ­œÒÊýË¡€Ë€Ä€€€Æ€Ï¡€£·ŸÏ€ÇÀâÌÀ€¹€ë¡¥
1411
14126.1.2 ¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ÎŽØ¿ô€Î̟̿µ¬Â§
1413
1414¥«¡Œ¥Í¥ëŒÂÁõ€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ò¹œÀ®€¹€ëŽØ¿ô€ÎÃæ€Ç¡€t_€Ç»Ï€Þ€ë€â€Î€Ï¥¿
1415¥¹¥¯¥³¥ó¥Æ¥­¥¹¥ÈÀìÍÑ¡€i_€Ç»Ï€Þ€ë€â€Î€ÏÈ󥿥¹¥¯¥³¥ó¥Æ¥­¥¹¥ÈÀìÍÑ¡€x_€Ç»Ï
1416€Þ€ë€â€Î€Ï€€€º€ì€Î¥³¥ó¥Æ¥­¥¹¥È€«€é€Ç€âžÆ€ÓœÐ€¹€³€È€¬€Ç€­€ëŽØ¿ô€Ç€¢€ë¡¥
1417
14186.2 ¥È¥ì¡Œ¥¹¥í¥°µ¡Çœ€Ø€ÎÂбþ
1419
1420¥«¡Œ¥Í¥ë€Î¥È¥ì¡Œ¥¹¥í¥°µ¡Çœ€ÎÃæ€Ç¡€¥Ç¥£¥¹¥Ñ¥Ã¥Á¥ã¡€³ä¹þ€ß¥Ï¥ó¥É¥é¡€CPUÎã
1421³°¥Ï¥ó¥É¥é€Î³«»Ï¡ŠœªÎ»€Î¥È¥ì¡Œ¥¹¥í¥°ŒèÆÀ€Ï¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ÇŒÂÁõ€¹€ë
1422ɬÍ×€¬€¢€ë¡¥€Û€È€ó€É€Î¥¿¡Œ¥²¥Ã¥È¥·¥¹¥Æ¥à€Ë€ª€€€Æ¡€€œ€ì€é€ÎœèÍý€Ï¥¢¥»¥ó
1423¥Ö¥êžÀžì€Çµ­œÒ€µ€ì€Æ€ª€ê¡€¥¿¡Œ¥²¥Ã¥ÈÈó°ÍžÉôžþ€±€Î¥È¥ì¡Œ¥¹¥í¥°¥Þ¥¯¥í€È
1424Ʊ€žÊýË¡¡Ê¥È¥ì¡Œ¥¹¥í¥°¥Þ¥¯¥í€ò¡€¥È¥ì¡Œ¥¹¥í¥°ŒèÆÀœèÍý€ÎCžÀžìµ­œÒ€Ë¥Þ¥¯¥í
1425ÄêµÁ€¹€ëÊýË¡¡Ë€Ï¡€ÍÑ€€€ë€³€È€¬€Ç€­€Ê€€¡¥
1426
1427€œ€³€Ç¡€¥¢¥»¥ó¥Ö¥êžÀžì€Çµ­œÒ€µ€ì€Æ€€€ëœèÍýÃæ€Ë¥È¥ì¡Œ¥¹¥í¥°ŒèÆÀ€òËä€á¹þ
1428€àŸì¹ç€Ë€Ï¡€¥È¥ì¡Œ¥¹¥í¥°¥Þ¥¯¥í€¬ÄêµÁ€µ€ì€Æ€€€ì€Ð¡€€œ€ì€¬²¿€ËÄêµÁ€µ€ì€Æ
1429€€€ë€«€Ï̵»ë€·€Æ¡€ÉžœàŪ€Ê¥È¥ì¡Œ¥¹¥í¥°ŽØ¿ô€¬CžÀžì€Çµ­œÒ€µ€ì€Æ€€€ë€ÈÁÛÄê
1430€·€Æ¡€€œ€ì€òžÆ€ÓœÐ€¹€è€Š€Ë¥³¡Œ¥Ç¥£¥ó¥°€¹€ë¡¥
1431
1432¶ñÂÎŪ€Ë€Ï¡€²Œ€ÎÉœ€ÎºžÂŠ€ËŒš€·€¿¥È¥ì¡Œ¥¹¥í¥°¥Þ¥¯¥í€¬ÄêµÁ€µ€ì€Æ€€€ì€Ð¡€
1433Éœ€Î±ŠÂŠ€ËŒš€·€¿CžÀžìµ­œÒ€ÈƱÅù€ÎœèÍý€ò¹Ô€Š€è€Š€Ë¥³¡Œ¥Ç¥£¥ó¥°€¹€ë¡¥
1434
1435        ¥È¥ì¡Œ¥¹¥í¥°¥Þ¥¯¥í              ¥È¥ì¡Œ¥¹¥í¥°ŒèÆÀœèÍý
1436        -----------------------------------------------
1437        LOG_DSP_ENTER                   log_dsp_enter(p_runtsk)
1438        LOG_DSP_LEAVE                   log_dsp_leave(p_runtsk)
1439        LOG_INH_ENTER                   log_inh_enter(inhno)
1440        LOG_INH_LEAVE                   log_inh_leave(inhno)
1441        LOG_EXC_ENTER                   log_exc_enter(excno)
1442        LOG_EXC_LEAVE                   log_exc_leave(excno)
1443
14446.3 ¥·¥¹¥Æ¥àŸõÂրΎÉÍý
1445
1446ASP¥«¡Œ¥Í¥ë€ò¿·€¿€Ê¥¿¡Œ¥²¥Ã¥È¥·¥¹¥Æ¥à€Ë¥Ý¡Œ¥Æ¥£¥ó¥°€¹€ëºÝ€Ë¡€ºÇ€âœÅÍ×€Ê
1447ºî¶È€Ï¡€¥«¡Œ¥Í¥ë€¬ÄêµÁ€¹€ë¥·¥¹¥Æ¥àŸõÂÖ€ò¡€¥Ï¡Œ¥É¥Š¥§¥¢¡Ê¥×¥í¥»¥Ã¥µ¡ËŸå
1448€Ç€É€Î€è€Š€ËŒÂžœ€¹€ë€«€Ç€¢€ë¡¥°Ê²Œ€ÎÀâÌÀ€Ï¡€TOPPERS¿·À€Â奫¡Œ¥Í¥ë€Ë€ª€±
1449€ë¥·¥¹¥Æ¥àŸõÂÖ€ÎÄêµÁ¡Š°ÕÌ£€òÃ΀Àƀ€€ë€³€È€òÁ°Äó€Ëµ­œÒ€·€Æ€€€ë¡¥
1450
14516.3.1 Á޳ä¹þ€ß¥í¥Ã¥¯ŸõÂրΎÉÍý
1452
1453Á޳ä¹þ€ß¥í¥Ã¥¯ŸõÂրϡ€NMI€òœü€¯€¹€Ù€Æ€Î³ä¹þ€ß€ò¥Þ¥¹¥¯€·€¿ŸõÂրǀ¢€ë¡¥ÁŽ
1454³ä¹þ€ß¥í¥Ã¥¯ŸõÂÖ€òŽÉÍý€¹€ëµ¡Çœ€Ï¡€¥·¥¹¥Æ¥à¥€¥ó¥¿¥Õ¥§¡Œ¥¹¥ì¥€¥ä¡ÊSIL¡Ë€Ë
1455€è€Ã€ÆÄó¶¡€µ€ì¡€¥«¡Œ¥Í¥ë€ÏÁ޳ä¹þ€ß¥í¥Ã¥¯ŸõÂÖ€òŽÉÍý€·€Ê€€¡¥
1456
1457Á޳ä¹þ€ß¥í¥Ã¥¯ŸõÂրǀϡ€sns_ker€Èext_ker°Ê³°€Î¥«¡Œ¥Í¥ë€Î¥µ¡Œ¥Ó¥¹¥³¡Œ¥ë
1458€òžÆ€Ö€³€È€Ï€Ç€­€Ê€€€â€Î€È€·€Æ€ª€ê¡€žÆ€ó€ÀŸì¹ç€Ë€Ï²¿€¬µ¯€³€ë€«ÊÝŸÚ€·€Æ
1459€€€Ê€€¡¥sns_ker€Èext_ker€«€éžÆ€ÓœÐ€¹œèÍý€Ï¡€¥È¥ì¡Œ¥¹¥í¥°ŒèÆÀœèÍý€ÈSIL€Î
1460¥µ¡Œ¥Ó¥¹¥³¡Œ¥ë€òœü€¯€È¡€call_exit_kernel€Î€ß€Ç€¢€ë¡¥€œ€Î€¿€á¡€
1461call_exit_kernel€«€éžÆ€ÓœÐ€¹€â€Î€òœü€€€Æ¡€¥«¡Œ¥Í¥ë€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Î
1462ŽØ¿ô€¬¡€Á޳ä¹þ€ß¥í¥Ã¥¯ŸõÂրǞƀӜЀµ€ì€ëŸõ¶·€Ï¹Í€š€ëɬÍ×€¬€Ê€€¡¥
1463
14646.3.2 ¥³¥ó¥Æ¥­¥¹¥È€ÎŽÉÍý
1465
1466œèÍýñ°Ì€¬ŒÂ¹Ô€µ€ì€ë¥³¥ó¥Æ¥­¥¹¥È€Ï¡€¥¿¥¹¥¯¥³¥ó¥Æ¥­¥¹¥È€ÈÈ󥿥¹¥¯¥³¥ó¥Æ
1467¥­¥¹¥È€ËʬÎà€µ€ì€ë¡¥
1468
1469¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Ï¡€ŒÂ¹ÔÃæ€ÎœèÍýñ°Ì€¬¡€¥¿¥¹¥¯¥³¥ó¥Æ¥­¥¹¥È€ÇŒÂ¹Ô€µ€ì€Æ
1470€€€ë€«È󥿥¹¥¯¥³¥ó¥Æ¥­¥¹¥È€ÇŒÂ¹Ô€µ€ì€Æ€€€ë€«€òÈœÊÌ€¹€ëµ¡Çœ€òÄó¶¡€¹€ë¡¥
1471€Þ€¿¡€CPUÎã³°€¬È¯Àž€·€¿¥³¥ó¥Æ¥­¥¹¥È€Ë€Ä€€€ÆÈœÊÌ€¹€ëµ¡Çœ€òÄó¶¡€¹€ë¡¥
1472
1473¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Ç€Ï¡€³ä¹þ€ß¥Ï¥ó¥É¥é€ÈCPUÎã³°¥Ï¥ó¥É¥é€ÎÆþžýœèÍý€ÇÈ󥿥¹
1474¥¯¥³¥ó¥Æ¥­¥¹¥È€ËÀڀꎹ€š¡€€œ€ì€é€ÎœÐžýœèÍý€Çžµ€Î¥³¥ó¥Æ¥­¥¹¥È€ËÌ္¡¥€Þ
1475€¿¡€¥Ç¥£¥¹¥Ñ¥Ã¥Á¥ã€ÎÆâÉô€Ç°ì»þŪ€ËÈ󥿥¹¥¯¥³¥ó¥Æ¥­¥¹¥È€ËÀڀꎹ€š€ë¡¥
1476
1477(6-3-2-1) bool_t sense_context(void)
1478
1479ŒÂ¹ÔÃæ€ÎœèÍýñ°Ì€¬¡€¥¿¥¹¥¯¥³¥ó¥Æ¥­¥¹¥È€ÇŒÂ¹Ô€µ€ì€Æ€€€ëŸì¹ç€Ë€Ïfalse¡€Èó
1480¥¿¥¹¥¯¥³¥ó¥Æ¥­¥¹¥È€ÇŒÂ¹Ô€µ€ì€Æ€€€ëŸì¹ç€Ë€Ïtrue€òÊÖ€¹ŽØ¿ô¡¥€³€ÎŽØ¿ô€Ï¡€
1481CPU¥í¥Ã¥¯ŸõÂրǀâCPU¥í¥Ã¥¯²òœüŸõÂÖ€Ç€âžÆ€ÓœÐ€»€ë€è€Š€ËŒÂÁõ€·€Ê€±€ì€Ð€Ê
1482€é€Ê€€¡¥
1483
14846.3.3 CPU¥í¥Ã¥¯ŸõÂրΎÉÍý
1485
1486¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Ï¡€CPU¥í¥Ã¥¯ŸõÂÖ€ØÁ«°Ü€¹€ëµ¡Çœ¡€CPU¥í¥Ã¥¯²òœüŸõÂÖ€ØÁ«
1487°Ü€¹€ëµ¡Çœ¡€CPU¥í¥Ã¥¯ŸõÂրǀ¢€ë€«€òÈœÊÌ€¹€ëµ¡Çœ€òÄó¶¡€¹€ë¡¥
1488
1489(6-3-3-1) void t_lock_cpu(void)
1490(6-3-3-2) void i_lock_cpu(void)
1491(6-3-3-3) void x_lock_cpu(void)
1492
1493CPU¥í¥Ã¥¯²òœüŸõÂÖ€«€é¡€CPU¥í¥Ã¥¯ŸõÂÖ€ØÁ«°Ü€µ€»€ëŽØ¿ô¡¥€³€ì€é€ÎŽØ¿ô€Ï¡€
1494CPU¥í¥Ã¥¯ŸõÂրǞƀӜЀµ€ì€ë€³€È€Ï€Ê€¯¡€žÆ€ÓœÐ€µ€ì€¿Ÿì¹ç€Îưºî€ÏÊÝŸÚ€¹€ë
1495ɬÍ×€¬€Ê€€¡¥
1496
1497€³€ì€é€ÎŽØ¿ô€òŒÂžœ€¹€ëºÝ€Ë€Ï¡€¡Ö1.6 ¥¯¥ê¥Æ¥£¥«¥ë¥»¥¯¥·¥ç¥ó€ÎœÐÆþœèÍý€Î
1498ŒÂžœ€ËŽØ€¹€ëÀ©Ìó¡×€ÎÀá€Ëµ­œÒ€µ€ì€Æ€€€ëÀ©Ìó€ËœŸ€ï€Ê€±€ì€Ð€Ê€é€Ê€€¡¥
1499
1500(6-3-3-4) void t_unlock_cpu(void)
1501(6-3-3-5) void i_unlock_cpu(void)
1502(6-3-3-6) void x_unlock_cpu(void)
1503
1504CPU¥í¥Ã¥¯ŸõÂÖ€«€é¡€CPU¥í¥Ã¥¯²òœüŸõÂÖ€ØÁ«°Ü€µ€»€ëŽØ¿ô¡¥€³€ì€é€ÎŽØ¿ô€Ï¡€
1505CPU¥í¥Ã¥¯²òœüŸõÂրǞƀӜЀµ€ì€ë€³€È€Ï€Ê€¯¡€žÆ€ÓœÐ€µ€ì€¿Ÿì¹ç€Îưºî€ÏÊÝŸÚ
1506€¹€ëɬÍ×€¬€Ê€€¡¥
1507
1508¥¿¥¹¥¯¥³¥ó¥Æ¥­¥¹¥È€ÇCPU¥í¥Ã¥¯ŸõÂÖ€ËÁ«°Ü€·€¿Ÿì¹ç€Ë€Ï¡€CPU¥í¥Ã¥¯²òœüŸõÂÖ
1509€ËÌá€ë€Î€Ï¥¿¥¹¥¯¥³¥ó¥Æ¥­¥¹¥È€ËžÂ€é€ì¡€È󥿥¹¥¯¥³¥ó¥Æ¥­¥¹¥È€ÇCPU¥í¥Ã¥¯²ò
1510œüŸõÂÖ€ËÌá€ë€³€È€Ï€Ê€€¡¥žÀ€€Ž¹€š€ë€È¡€t_unlock_cpu€¬žÆ€ÓœÐ€µ€ì€ë€Î€Ï¡€
1511t_lock_cpu€Ë€è€Ã€ÆCPU¥í¥Ã¥¯ŸõÂրˀʀÀƀ€€ë»þ€Ç€¢€ë¡¥i_lock_cpu€Ë€è€Ã€Æ
1512CPU¥í¥Ã¥¯ŸõÂրˀʀÀƀ€€ë»þ€Ë€Ï¡€t_unlock_cpu€¬žÆ€ÓœÐ€µ€ì€ë€³€È€Ï€Ê€€¡¥
1513
1514ƱÍ̀ˡ€È󥿥¹¥¯¥³¥ó¥Æ¥­¥¹¥È€ÇCPU¥í¥Ã¥¯ŸõÂÖ€ËÁ«°Ü€·€¿Ÿì¹ç€Ë€Ï¡€CPU¥í¥Ã
1515¥¯²òœüŸõÂÖ€ËÌá€ë€Î€ÏÈ󥿥¹¥¯¥³¥ó¥Æ¥­¥¹¥È€ËžÂ€é€ì¡€¥¿¥¹¥¯¥³¥ó¥Æ¥­¥¹¥È€Ç
1516CPU¥í¥Ã¥¯²òœüŸõÂÖ€ËÌá€ë€³€È€Ï€Ê€€¡¥žÀ€€Ž¹€š€ë€È¡€i_unlock_cpu€¬žÆ€ÓœÐ€µ
1517€ì€ë€Î€Ï¡€i_lock_cpu€Ë€è€Ã€ÆCPU¥í¥Ã¥¯ŸõÂրˀʀÀƀ€€ë»þ€Ç€¢€ë¡¥
1518t_lock_cpu€Ë€è€Ã€ÆCPU¥í¥Ã¥¯ŸõÂրˀʀÀƀ€€ë»þ€Ë€Ï¡€i_unlock_cpu€¬žÆ€ÓœÐ
1519€µ€ì€ë€³€È€Ï€Ê€€¡¥
1520
1521€³€ì€é€ÎŽØ¿ô€òŒÂžœ€¹€ëºÝ€Ë€Ï¡€¡Ö1.6 ¥¯¥ê¥Æ¥£¥«¥ë¥»¥¯¥·¥ç¥ó€ÎœÐÆþœèÍý€Î
1522ŒÂžœ€ËŽØ€¹€ëÀ©Ìó¡×€ÎÀá€Ëµ­œÒ€µ€ì€Æ€€€ëÀ©Ìó€ËœŸ€ï€Ê€±€ì€Ð€Ê€é€Ê€€¡¥
1523
1524(6-3-3-7) bool_t t_sense_lock(void)
1525(6-3-3-8) bool_t i_sense_lock(void)
1526(6-3-3-9) bool_t x_sense_lock(void)
1527
1528žœºß€Î¥·¥¹¥Æ¥àŸõÂÖ€¬¡€CPU¥í¥Ã¥¯ŸõÂրΟì¹ç€Ïtrue¡€CPU¥í¥Ã¥¯²òœüŸõÂրΟì
1529¹ç€Ë€Ïfalse€òÊÖ€¹ŽØ¿ô¡¥
1530
1531€³€ì€é€ÎŽØ¿ô€¬Á޳ä¹þ€ß¥í¥Ã¥¯ŸõÂրǞƀӜЀµ€ì€ëŸõ¶·€Ï¹Í€š€ëɬÍ×€¬€Ê€€€³
1532€È€«€é¡€Á޳ä¹þ€ß¥í¥Ã¥¯ŸõÂÖ€ÈCPU¥í¥Ã¥¯ŸõÂÖ€ò¶èỀǀ­€ëɬÍ׀πʀ€¡¥NMI°Ê
1533³°€Ë¥«¡Œ¥Í¥ë€ÎŽÉÍý³°€Î³ä¹þ€ß€òÀ߀±€Ê€€Ÿì¹ç€Ë€Ï¡€Á޳ä¹þ€ß¥í¥Ã¥¯ŸõÂÖ€È
1534CPU¥í¥Ã¥¯ŸõÂÖ€¬ÁŽ€¯Æ±°ì€ÎŸõÂրǀ‫€Þ€ï€Ê€€¡¥
1535
15366.4 ³ä¹þ€ß€ËŽØÏ¢€¹€ë¥·¥¹¥Æ¥àŸõÂրΎÉÍý
1537
15386.4.1 ³ä¹þ€ßÍ¥ÀèÅÙ¥Þ¥¹¥¯€ÎŽÉÍý
1539
1540¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Ï¡€³ä¹þ€ßÍ¥ÀèÅÙ¥Þ¥¹¥¯€òÀßÄꀹ€ëµ¡Çœ€È¡€³ä¹þ€ßÍ¥ÀèÅÙ¥Þ
1541¥¹¥¯€ò»²ŸÈ€¹€ëµ¡Çœ€òÄó¶¡€¹€ë¡¥
1542
1543(6-4-1-1) bool_t VALID_INTPRI_CHGIPM(PRI intpri)¡Ê¥ª¥×¥·¥ç¥ó¡Ë
1544
1545intpri€¬¡€chg_ipm€ËÂЀ¹€ë³ä¹þ€ßÍ¥ÀèÅـȀ·€ÆÍ­žú€ÊÃ̀ǀ¢€ëŸì¹ç€Ëtrue¡€€œ
1546€Š€Ç€Ê€€Ÿì¹ç€Ëfalse€òÊÖ€¹¥Þ¥¯¥í¡¥Éžœà€Ç€Ï¡€TMIN_INTPRI°ÊŸå¡€TIPM_ENAALL
1547¡Ê¡á0¡Ë°Ê²Œ€ÎÃÍ€¬chg_ipm€ËÂЀ¹€ë³ä¹þ€ßÍ¥ÀèÅـȀ·€ÆÍ­žú€Ç€¢€ë€¬¡€¥¿¡Œ¥²¥Ã
1548¥È°ÍžÉô€Ç€³€Î¥Þ¥¯¥í€òÄêµÁ€¹€ë€³€È€Ç¡€TMIN_INTPRI€è€ê€âŸ®€µ€€ÃÍ€òÍ­žú€È
1549€¹€ë€³€È€¬€Ç€­€ë¡ÊÍ­žú€ÊÃÍ€ÎÈϰπò¶¹€á€Æ€Ï€Ê€é€Ê€€¡Ë¡¥
1550
1551(6-4-1-2) void x_set_ipm(PRI intpri)
1552(6-4-1-3) void t_set_ipm(PRI intpri)
1553(6-4-1-4) void i_set_ipm(PRI intpri)
1554
1555³ä¹þ€ßÍ¥ÀèÅÙ¥Þ¥¹¥¯€ÎÃÍ€òintpri€ËÀßÄꀹ€ëŽØ¿ô¡¥
1556
1557€³€ì€é€ÎŽØ¿ô€Ï¡€CPU¥í¥Ã¥¯ŸõÂրǀâCPU¥í¥Ã¥¯²òœüŸõÂÖ€Ç€âžÆ€ÓœÐ€»€ë€è€Š€Ë
1558ŒÂÁõ€¹€ë€Î€¬ËŸ€Þ€·€€¡¥€¿€À€·¡€x_set_ipm€Èt_set_ipm€Ï¡€¥¿¡Œ¥²¥Ã¥ÈÈó°Íž
1559Éô€¬CPU¥í¥Ã¥¯²òœüŸõÂրǞƀӜЀ¹€³€È€Ï€Ê€€€¿€á¡€CPU¥í¥Ã¥¯²òœüŸõÂրǞƀÓ
1560œÐ€µ€ì€¿Ÿì¹ç€Îưºî€ÏÊÝŸÚ€¹€ëɬÍ×€¬€Ê€€¡¥i_set_ipm€Ï¡€CPU¥í¥Ã¥¯ŸõÂրǀâ
1561CPU¥í¥Ã¥¯²òœüŸõÂÖ€Ç€âžÆ€ÓœÐ€»€ë€è€Š€ËŒÂÁõ€·€Ê€±€ì€Ð€Ê€é€Ê€€¡¥
1562
1563€Þ€¿¡€€³€ì€é€ÎŽØ¿ô€Ï¡€VALID_INTPRI_CHGIPM(intpri)€¬true€òÊÖ€¹intpri€ËÂÐ
1564€·€Æ€Î€ßžÆ€Ð€ì€ë¡¥intpri€Ë€œ€Š€Ç€Ê€€ÃÍ€¬ÅÏ€µ€ì€¿Ÿì¹ç€Îưºî€ÏÊÝŸÚ€¹€ëɬ
1565Í×€¬€Ê€€¡¥
1566
1567(6-4-1-5) PRI x_get_ipm(void)
1568(6-4-1-6) PRI t_get_ipm(void)
1569(6-4-1-7) PRI i_get_ipm(void)
1570
1571³ä¹þ€ßÍ¥ÀèÅÙ¥Þ¥¹¥¯€ÎÃÍ€ò»²ŸÈ€·€ÆÊÖ€¹ŽØ¿ô¡¥
1572
1573€³€ì€é€ÎŽØ¿ô€Ï¡€CPU¥í¥Ã¥¯ŸõÂրǀâCPU¥í¥Ã¥¯²òœüŸõÂÖ€Ç€âžÆ€ÓœÐ€»€ë€è€Š€Ë
1574ŒÂÁõ€¹€ë€Î€¬ËŸ€Þ€·€€¡¥€¿€À€·¡€x_get_ipm€Èt_get_ipm€Ï¡€¥¿¡Œ¥²¥Ã¥ÈÈó°Íž
1575Éô€¬CPU¥í¥Ã¥¯²òœüŸõÂրǞƀӜЀ¹€³€È€Ï€Ê€€€¿€á¡€CPU¥í¥Ã¥¯²òœüŸõÂրǞƀÓ
1576œÐ€µ€ì€¿Ÿì¹ç€Îưºî€ÏÊÝŸÚ€¹€ëɬÍ×€¬€Ê€€¡¥i_get_ipm€Ï¡€CPU¥í¥Ã¥¯ŸõÂրǀâ
1577CPU¥í¥Ã¥¯²òœüŸõÂÖ€Ç€âžÆ€ÓœÐ€»€ë€è€Š€ËŒÂÁõ€·€Ê€±€ì€Ð€Ê€é€Ê€€¡¥
1578
1579³ä¹þ€ßÍ¥ÀèÅÙ¥Þ¥¹¥¯€òÍÑ€€€Æ¥«¡Œ¥Í¥ëŽÉÍý€Î³ä¹þ€ß€ò€¹€Ù€Æ¥Þ¥¹¥¯€·€¿ŸõÂրϡ€
1580CPU¥í¥Ã¥¯ŸõÂրȶèỀǀ­€ë€³€È€¬É¬Í׀ǀ¢€ë¡¥¶ñÂÎŪ€Ë€Ï¡€CPU¥í¥Ã¥¯²òœüŸõ
1581Âրˀª€€€Æ¡€x_set_ipm€òÍÑ€€€Æ¥«¡Œ¥Í¥ëŽÉÍý€Î³ä¹þ€ß€ò€¹€Ù€Æ¥Þ¥¹¥¯€·€¿Ÿì¹ç
1582€Ç€â¡€x_sense_lock€Ïfalse€òÊÖ€¹¡¥
1583
1584€œ€ì€ËÂЀ·€Æ¡€³ä¹þ€ßÍ¥ÀèÅÙ¥Þ¥¹¥¯€òÍÑ€€€ÆNMI€òœü€¯€¹€Ù€Æ€Î³ä¹þ€ß€ò¥Þ¥¹¥¯
1585€Ç€­€ëŸì¹ç¡€€œ€ÎŸõÂÖ€ÈÁ޳ä¹þ€ß¥í¥Ã¥¯ŸõÂÖ€ò¶èỀǀ­€ëɬÍ׀πʀ¯¡€ÁŽ€¯Æ±
1586°ì€ÎŸõÂրǀ‫€Þ€ï€Ê€€¡¥
1587
15886.4.2 ³ä¹þ€ßÍ×µá¶Ø»ß¥Õ¥é¥°€ÎŽÉÍý
1589
1590¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Ï¡€³ä¹þ€ßÍ×µá¶Ø»ß¥Õ¥é¥°€ò¥»¥Ã¥È€¹€ëµ¡Çœ€È¥¯¥ê¥¢€¹€ëµ¡
1591Çœ€òÄó¶¡€¹€ë¡¥
1592
1593(6-4-2-1) bool_t VALID_INTNO_DISINT(INTNO intno)
1594
1595intno€¬¡€dis_int¡¿ena_int€ËÂЀ¹€ë³ä¹þ€ßÈÖ¹æ€È€·€ÆÍ­žú€ÊÃ̀ǀ¢€ëŸì¹ç€Ë
1596true¡€€œ€Š€Ç€Ê€€Ÿì¹ç€Ëfalse€òÊÖ€¹¥Þ¥¯¥í¡¥³ä¹þ€ßÍ×µá¶Ø»ß¥Õ¥é¥°€¬¥»¥Ã¥È¡¿
1597¥¯¥ê¥¢€Ç€­€Ê€€intno€ËÂЀ·€Æ€Ï¡€€³€Î¥Þ¥¯¥í€¬false€òÊÖ€¹€è€Š€Ë€¹€ë¡¥
1598
1599(6-4-2-2) bool_t x_disable_int(INTNO intno)
1600(6-4-2-3) bool_t t_disable_int(INTNO intno)
1601(6-4-2-4) bool_t i_disable_int(INTNO intno)
1602
1603intno€Ç»ØÄꀵ€ì€¿³ä¹þ€ßÍ×µá¥é¥€¥ó€ËÂЀ¹€ë³ä¹þ€ßÍ×µá¶Ø»ß¥Õ¥é¥°€ò¥»¥Ã¥È€·¡€
1604true€òÊÖ€¹ŽØ¿ô¡¥»ØÄꀵ€ì€¿³ä¹þ€ßÍ×µá¥é¥€¥ó€ËÂЀ·€Æ¡€³ä¹þ€ß°À­€¬ÀßÄꀵ
1605€ì€Æ€€€Ê€€Ÿì¹ç€Ë€Ï¡€false€òÊÖ€¹¡¥
1606
1607€³€ì€é€ÎŽØ¿ô€Ï¡€¥¿¡Œ¥²¥Ã¥ÈÈó°ÍžÉô€¬CPU¥í¥Ã¥¯²òœüŸõÂրǞƀӜЀ¹€³€È€Ï€Ê
1608€€€¿€á¡€CPU¥í¥Ã¥¯²òœüŸõÂրǞƀӜЀµ€ì€¿Ÿì¹ç€Îưºî€ÏÊÝŸÚ€¹€ëɬÍ×€¬€Ê€€¡¥
1609€¿€À€·¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô€«€éCPU¥í¥Ã¥¯²òœüŸõÂրǞƀӜЀ¹Ÿì¹ç€Ë€Ï¡€ÊÝŸÚ€¹
1610€ëɬÍ×€¬€¢€ë¡¥
1611
1612€Þ€¿¡€€³€ì€é€ÎŽØ¿ô€Ï¡€VALID_INTNO_DISINT(intno)€¬true€È€Ê€ëintno€ËÂЀ·
1613€Æ€Î€ßžÆ€Ð€ì€ë¡¥intno€Ë€œ€Š€Ç€Ê€€ÃÍ€¬ÅÏ€µ€ì€¿Ÿì¹ç€Îưºî€ÏÊÝŸÚ€¹€ëɬÍ×€¬
1614€Ê€€¡¥
1615
1616dis_int¥µ¡Œ¥Ó¥¹¥³¡Œ¥ë€ò¥µ¥Ý¡Œ¥È€¹€ëŸì¹ç¡ÊTOPPERS_SUPPORT_DIS_INT€ò¥Þ¥¯
1617¥íÄêµÁ€¹€ëŸì¹ç¡Ë€Ë€Ï¡€t_disable_int€¬ÍѰՀµ€ì€Æ€€€Ê€±€ì€Ð€Ê€é€Ê€€¡¥
1618
1619(6-4-2-5) bool_t x_enable_int(INTNO intno)
1620(6-4-2-6) bool_t t_enable_int(INTNO intno)
1621(6-4-2-7) bool_t i_enable_int(INTNO intno)
1622
1623intno€Ç»ØÄꀵ€ì€¿³ä¹þ€ßÍ×µá¥é¥€¥ó€ËÂЀ¹€ë³ä¹þ€ßÍ×µá¶Ø»ß¥Õ¥é¥°€ò¥¯¥ê¥¢€·¡€
1624true€òÊÖ€¹ŽØ¿ô¡¥»ØÄꀵ€ì€¿³ä¹þ€ßÍ×µá¥é¥€¥ó€ËÂЀ·€Æ¡€³ä¹þ€ß°À­€¬ÀßÄꀵ
1625€ì€Æ€€€Ê€€Ÿì¹ç€Ë€Ï¡€false€òÊÖ€¹¡¥
1626
1627€³€ì€é€ÎŽØ¿ô€Ï¡€¥¿¡Œ¥²¥Ã¥ÈÈó°ÍžÉô€¬CPU¥í¥Ã¥¯²òœüŸõÂրǞƀӜЀ¹€³€È€Ï€Ê
1628€€€¿€á¡€CPU¥í¥Ã¥¯²òœüŸõÂրǞƀӜЀµ€ì€¿Ÿì¹ç€Îưºî€ÏÊÝŸÚ€¹€ëɬÍ×€¬€Ê€€¡¥
1629€¿€À€·¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô€«€éCPU¥í¥Ã¥¯²òœüŸõÂրǞƀӜЀ¹Ÿì¹ç€Ë€Ï¡€ÊÝŸÚ€¹
1630€ëɬÍ×€¬€¢€ë¡¥
1631
1632€Þ€¿¡€€³€ì€é€ÎŽØ¿ô€Ï¡€VALID_INTNO_DISINT(intno)€¬true€È€Ê€ëintno€ËÂЀ·
1633€Æ€Î€ßžÆ€Ð€ì€ë¡¥intno€Ë€œ€Š€Ç€Ê€€ÃÍ€¬ÅÏ€µ€ì€¿Ÿì¹ç€Îưºî€ÏÊÝŸÚ€¹€ëɬÍ×€¬
1634€Ê€€¡¥
1635
1636ena_int¥µ¡Œ¥Ó¥¹¥³¡Œ¥ë€ò¥µ¥Ý¡Œ¥È€¹€ëŸì¹ç¡ÊTOPPERS_SUPPORT_ENA_INT€ò¥Þ¥¯
1637¥íÄêµÁ€¹€ëŸì¹ç¡Ë€Ë€Ï¡€t_enable_int€¬ÍѰՀµ€ì€Æ€€€Ê€±€ì€Ð€Ê€é€Ê€€¡¥
1638
16396.4.3 ³ä¹þ€ßÍ×µá€Î¥¯¥ê¥¢
1640
1641(6-4-3-1) void x_clear_int(INTNO intno)
1642(6-4-3-2) void t_clear_int(INTNO intno)
1643(6-4-3-3) void i_clear_int(INTNO intno)
1644
1645intno€Ç»ØÄꀵ€ì€¿³ä¹þ€ßÍ×µá¥é¥€¥ó€¬¥š¥Ã¥ž¥È¥ê¥¬€Ç€¢€ëŸì¹ç€Ë¡€¥È¥ê¥¬€µ€ì
1646€¿³ä¹þ€ßÍ×µá€ò¥¯¥ê¥¢€¹€ëŽØ¿ô¡¥intno€Ç»ØÄꀵ€ì€¿³ä¹þ€ßÍ×µá¥é¥€¥ó€¬¥ì¥Ù¥ë
1647¥È¥ê¥¬€Ç€¢€ëŸì¹ç€Ë€Ï²¿€â€·€Ê€€¡¥
1648
1649ASP¥«¡Œ¥Í¥ë€Î¥¿¡Œ¥²¥Ã¥ÈÈó°ÍžÉô€Ç€Ï¡€€³€ì€é€ÎŽØ¿ô€òžÆ€ÓœÐ€·€Æ€€€Ê€€€¬¡€
1650¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ä¥·¥¹¥Æ¥à¥µ¡Œ¥Ó¥¹€ÇžÆ€ÓœÐ€¹²ÄÇœÀ­€¬¹â€€€¿€á¡€ÍѰՀ¹€ë
1651€³€È€È€·€Æ€€€ë¡¥€œ€Î€¿€á¡€€³€ì€é€ÎŽØ¿ô€¬€É€Î€è€Š€Ê¥·¥¹¥Æ¥àŸõÂրǞƀӜÐ
1652€»€ë€«€Ï¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉôÆâ€Ç°ìŽÓ€·€Æ€€€ì€Ð€è€€¡¥
1653
16546.4.4 ³ä¹þ€ßÍ×µá€Î¥×¥í¡Œ¥Ö
1655
1656(6-4-4-1) bool_t x_probe_int(INTNO intno)
1657(6-4-4-2) bool_t t_probe_int(INTNO intno)
1658(6-4-4-3) bool_t i_probe_int(INTNO intno)
1659
1660intno€Ç»ØÄꀵ€ì€¿³ä¹þ€ßÍ×µá¥é¥€¥ó€ËÂЀ·€Æ¡€³ä¹þ€ß€¬Í׵ဵ€ì€Æ€€€ëŸì¹ç€Ë
1661true¡€€œ€Š€Ç€Ê€€Ÿì¹ç€Ëfalse€òÊÖ€¹ŽØ¿ô¡¥
1662
1663ASP¥«¡Œ¥Í¥ë€Î¥¿¡Œ¥²¥Ã¥ÈÈó°ÍžÉô€Ç€Ï¡€€³€ì€é€ÎŽØ¿ô€òžÆ€ÓœÐ€·€Æ€€€Ê€€€¬¡€
1664¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ä¥·¥¹¥Æ¥à¥µ¡Œ¥Ó¥¹€ÇžÆ€ÓœÐ€¹²ÄÇœÀ­€¬¹â€€€¿€á¡€ÍѰՀ¹€ë
1665€³€È€È€·€Æ€€€ë¡¥€œ€Î€¿€á¡€€³€ì€é€ÎŽØ¿ô€¬€É€Î€è€Š€Ê¥·¥¹¥Æ¥àŸõÂրǞƀӜÐ
1666€»€ë€«€Ï¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉôÆâ€Ç°ìŽÓ€·€Æ€€€ì€Ð€è€€¡¥
1667
16686.4.5 ³ä¹þ€ß¥Ï¥ó¥É¥é€ÎÀèÆ¬œèÍý€ÈËöÈøœèÍý
1669
1670(6-4-5-1) void i_begin_int(INTNO intno)
1671
1672intno€Ç»ØÄꀵ€ì€¿³ä¹þ€ßÍ×µá¥é¥€¥ó€ËÂЀ¹€ë³ä¹þ€ß¥Ï¥ó¥É¥é€ÎÀèÆ¬€Ç¹Ô€Š€Ù€­
1673œèÍý€ò¹Ô€ŠŽØ¿ô¡¥€³€³€Ç¹Ô€Š€Ù€­œèÍý€È€·€Æ€Ï¡€³ä¹þ€ßÍ×µá¥é¥€¥ó€¬¥š¥Ã¥ž¥È
1674¥ê¥¬€Ç€¢€ëŸì¹ç€Î¥È¥ê¥¬€µ€ì€¿³ä¹þ€ßÍ×µá€Î¥¯¥ê¥¢€¬µó€²€é€ì€ë¡¥
1675
1676intno€ËÂЀ·€ÆÅÐÏ¿€µ€ì€¿³ä¹þ€ß¥µ¡Œ¥Ó¥¹¥ë¡Œ¥Á¥ó€òžÆ€ÓœÐ€¹³ä¹þ€ß¥Ï¥ó¥É¥é€Î
1677ÀèÆ¬€ÇžÆ€ÓœÐ€µ€ì€ë¡¥€œ€Î€¿€á€³€ÎŽØ¿ô€Ï¡€³ä¹þ€ß¥Ï¥ó¥É¥é€ÎÀèÆ¬¡ÊÄÌŸï€Ï
1678CPU¥í¥Ã¥¯²òœüŸõÂ֡ˀǞƀӜЀ»€ë€è€Š€ËŒÂÁõ€·€Ê€±€ì€Ð€Ê€é€Ê€€¡¥
1679
1680(6-4-5-2) void i_end_int(INTNO intno)
1681
1682intno€Ç»ØÄꀵ€ì€¿³ä¹þ€ßÍ×µá¥é¥€¥ó€ËÂЀ¹€ë³ä¹þ€ß¥Ï¥ó¥É¥é€ÎËöÈø€Ç¹Ô€Š€Ù€­
1683œèÍý€ò¹Ô€ŠŽØ¿ô¡¥€³€³€Ç¹Ô€Š€Ù€­œèÍý€È€·€Æ€Ï¡€³ä¹þ€ß¥³¥ó¥È¥í¡Œ¥é¡ÊIRC¡Ë€Ë
1684ÂЀ¹€ë³ä¹þ€ßœèÍý€ÎœªÎ»ÄÌÃ΀¬µó€²€é€ì€ë¡¥
1685
1686intno€ËÂЀ·€ÆÅÐÏ¿€µ€ì€¿³ä¹þ€ß¥µ¡Œ¥Ó¥¹¥ë¡Œ¥Á¥ó€òžÆ€ÓœÐ€¹³ä¹þ€ß¥Ï¥ó¥É¥é€Î
1687ËöÈø€ÇžÆ€ÓœÐ€µ€ì€ë¡¥€œ€Î€¿€á€³€ÎŽØ¿ô€Ï¡€³ä¹þ€ß¥Ï¥ó¥É¥é€ÎËöÈø¡ÊÄÌŸï€Ï
1688CPU¥í¥Ã¥¯²òœüŸõÂ֡ˀǞƀӜЀ»€ë€è€Š€ËŒÂÁõ€·€Ê€±€ì€Ð€Ê€é€Ê€€¡¥
1689
1690¥¿¡Œ¥²¥Ã¥È€Ë€è€Ã€Æ€Ï¡€IRC€ËÂЀ¹€ë³ä¹þ€ßœèÍý€ÎœªÎ»ÄÌÃ΀ò¹Ô€ŠÁ°€Ë¡€€¹€Ù€Æ
1691€Î³ä¹þ€ß€ò¶Ø»ß€·€Ê€±€ì€Ð€Ê€é€Ê€€Ÿì¹ç€¬€¢€ë¡¥€³€ÎŸì¹ç€Ë€Ï¡€€³€ÎŽØ¿ô€ÎÃæ
1692€Ç³ä¹þ€ß€ò¶Ø»ß€·¡€€œ€ÎŸõÂր΀ހޡ€³ä¹þ€ß¥Ï¥ó¥É¥é€«€é¥ê¥¿¡Œ¥ó€¹€ë¡¥³ä¹þ
1693€ß¥Ï¥ó¥É¥é€«€é€Î¥ê¥¿¡Œ¥óÁ°€Ë€Ï¡€³ä¹þ€ß¶Ø»ß€ò²òœü€¹€ë€Î€¬ž¶Â§€Ç€¢€ë€¬¡€
1694³ä¹þ€ß¥Ï¥ó¥É¥é€ÎœÐžýœèÍý€Çžµ€ËÌ္œèÍý€ò¹Ô€Š€Î€Çº¹€·»Ù€š€Ê€€€Ï€º€Ç€¢€ë¡¥
1695³ä¹þ€ß¥Ï¥ó¥É¥é€ÎœÐžýœèÍý€¬¡€€³€ì€Çº¹€·»Ù€š€Ê€€ŒÂÁõ€Ë€Ê€Ã€Æ€€€ë€³€È€ò³Î
1696ǧ€¹€ë€Ù€­€Ç€¢€ë¡¥
1697
16986.5 ¥¿¥¹¥¯¥Ç¥£¥¹¥Ñ¥Ã¥Á¥ã
1699
17006.5.1 ¥¿¥¹¥¯¥³¥ó¥Æ¥­¥¹¥È¥Ö¥í¥Ã¥¯€È¥¿¥¹¥¯œéŽü²œ¥³¥ó¥Æ¥­¥¹¥È¥Ö¥í¥Ã¥¯
1701
1702(6-5-1-1) TSKCTXB
1703
1704¥¿¡Œ¥²¥Ã¥È°Íž€Î¥¿¥¹¥¯¥³¥ó¥Æ¥­¥¹¥È€òÊÝž€¹€ë€¿€á€Ë¡€TCBÃæ€Ë»ý€Ä€³€È€¬É¬
1705Í׀ʥǡŒ¥¿¹œÂ€€Î·¿€ò¡€TSKCTXB€ËÄêµÁ€¹€ë¡¥ÉžœàŪ€Ë€Ï¡€TSKCTXB€Ë€Ï¡€¥¿¥¹
1706¥¯€Î¥¹¥¿¥Ã¥¯¥Ý¥€¥ó¥¿€ÈŒÂ¹ÔºÆ³«ÈÖÃÏ€ò³ÊÇŒ€¹€ë¡¥
1707
1708(6-5-1-2) USE_TSKINICTXB¡Ê¥ª¥×¥·¥ç¥ó¡Ë
1709(6-5-1-3) TSKINICTXB¡Ê¥ª¥×¥·¥ç¥ó¡Ë
1710
1711¥¿¡Œ¥²¥Ã¥È°Íž€ÎŸðÊó€ò¥¿¥¹¥¯œéŽü²œ¥Ö¥í¥Ã¥¯¡ÊTINIB¡Ë€ËÆþ€ì€¿€€Ÿì¹ç€ä¡€
1712TINIBÃæ€Î¥¹¥¿¥Ã¥¯Îΰè€Î¥µ¥€¥º€ÈÀèÆ¬ÈÖÃπλý€ÁÊý€ò¥¿¡Œ¥²¥Ã¥È°Íž€ËÊѹ¹€·
1713€¿€€Ÿì¹ç€Ë€Ï¡€USE_TSKINICTXB€ò¥Þ¥¯¥íÄêµÁ€·¡€TINIBÃæ€Ë»ý€Ä€³€È€¬É¬Í׀ʥǡŒ
1714¥¿¹œÂ€€Î·¿€ò¡€TSKINICTXB€ËÄêµÁ€¹€ë¡¥
1715
1716USE_TSKINICTXB€ò¥Þ¥¯¥íÄêµÁ€¹€ë€È¡€TINIBÃæ€Ë¥¹¥¿¥Ã¥¯Îΰè€È¥µ¥€¥º€ÈÀèÆ¬ÈÖ
1717ÃÏ€¬ŽÞ€Þ€ì€Ê€¯€Ê€ë€¿€á¡€€œ€ì€ËÂå€ï€ëŸðÊó€òTSKINICTXBÃæ€Ë»ý€ÄɬÍ×€¬€¢€ë¡¥
1718€Þ€¿¡€¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿€Î¥Ñ¥¹2€Î¥Æ¥ó¥×¥ì¡Œ¥È¥Õ¥¡¥€¥ë€Î¥¿¡Œ¥²¥Ã¥ÈÈó°Íž
1719Éô€Ç¡€TSKINICTXB€ÎœéŽü²œŸðÊó€òÀžÀ®€¹€ë€¿€á€ÎGENERATE_TSKINICTXB€ò¡€¥Ñ¥¹
17203€Î¥Æ¥ó¥×¥ì¡Œ¥È¥Õ¥¡¥€¥ë€Î¥¿¡Œ¥²¥Ã¥ÈÈó°ÍžÉô€Ç¡€TINIB€«€é¥¹¥¿¥Ã¥¯Îΰè€Î
1721ÀèÆ¬ÈÖÃÏ€òŒè€êœÐ€¹€¿€á€ÎGET_STK_TSKINICTXB€òÄêµÁ€¹€ëɬÍ×€¬€¢€ë¡¥
1722
17236.5.2 ¥Ç¥£¥¹¥Ñ¥Ã¥Á¥ãËÜÂÎ
1724
1725¥Ç¥£¥¹¥Ñ¥Ã¥Á¥ãËÜÂΡÊdispatcher¡Ë€Ï¡€¥¿¡Œ¥²¥Ã¥ÈÈó°ÍžÉô€«€éÄŸÀܞƀӜЀµ
1726€ì€ë€³€È€Ï€Ê€¯¡€¥«¡Œ¥Í¥ë€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ÎÆâÉô€«€é€Î€ßžÆ€ÓœÐ€µ€ì€ë¡¥
1727dispatcher€Ï¡€¥¿¥¹¥¯¥³¥ó¥Æ¥­¥¹¥È¡ŠCPU¥í¥Ã¥¯ŸõÂ֡гä¹þ€ßÍ¥ÀèÅÙ¥Þ¥¹¥¯Á޲ò
1728œüŸõÂÖ¡Š¥Ç¥£¥¹¥Ñ¥Ã¥Áµö²ÄŸõÂրǞƀӜЀµ€ì€ë¡¥
1729
1730dispatcher€ÎœèÍýÆâÍÆ€ÏŒ¡€ÎÄ̀ꡥ
1731
1732----------------------------------------
1733void
1734dispatcher(void)
1735{
1736#ifdef LOG_DSP_ENTER
1737        log_dsp_enter(p_runtsk);
1738#endif /* LOG_DSP_ENTER */
1739  dispatcher_0:
1740        while ((p_runtsk = p_schedtsk) == NULL) {
1741                ³ä¹þ€ß€òµö²Ä€·€¿€éCPU¥í¥Ã¥¯²òœüŸõÂրˀʀë€è€ŠœàÈ÷€¹€ë
1742                È󥿥¹¥¯¥³¥ó¥Æ¥­¥¹¥È€ËÀڀꎹ€š€ë ¡Ä (*1)
1743                do {
1744                        ³ä¹þ€ß€ò€¹€Ù€Æµö²Ä€·¡€³ä¹þ€ßȯÀž€òÂÔ€Ä ¡Ä (*2)
1745                        ³ä¹þ€ßµö²ÄÁ°€ÎŸõÂÖ€ËÌ္¡Ê¡á¥«¡Œ¥Í¥ëŽÉÍý€Î³ä¹þ€ß€ò¶Ø»ß€¹€ë¡Ë
1746                } while (!reqflg);
1747                reqflg = false;
1748                ¥¿¥¹¥¯¥³¥ó¥Æ¥­¥¹¥È€ËÌ္ ¡Ä (*1)
1749                CPU¥í¥Ã¥¯ŸõÂÖ€ËÌ္ ... (*3)
1750        }
1751        Œ«¥¿¥¹¥¯¡Êp_runtsk¡Ë€ÎTCB€«€é¥¹¥¿¥Ã¥¯¥Ý¥€¥ó¥¿€òÉüµ¢€¹€ë
1752#ifdef LOG_DSP_LEAVE
1753        log_dsp_leave(p_runtsk);
1754#endif /* LOG_DSP_LEAVE */
1755        Œ«¥¿¥¹¥¯€ÎTCB€«€éŒÂ¹ÔºÆ³«ÈÖÃÏ€òÉüµ¢€·¡€€œ€³€ØÊ¬Žô€¹€ë ¡Ä (*a)
1756}
1757----------------------------------------
1758
1759³ä¹þ€ßȯÀž€òÂԀĎրËÈ󥿥¹¥¯¥³¥ó¥Æ¥­¥¹¥È€ËÀڀꎹ€š€ë€Î€Ï¡€€³€ÎŽÖ€ËŒÂ¹Ô
1760€µ€ì€ë³ä¹þ€ß¥Ï¥ó¥É¥éÆâ€Ç¡€¥¿¥¹¥¯¥Ç¥£¥¹¥Ñ¥Ã¥Á€ò€·€Ê€€€è€Š€Ë€¹€ë€¿€á€Ç€¢
1761€ë¡¥€³€Î»þ¡€³ä¹þ€ß¥Ï¥ó¥É¥é€¬¡€È󥿥¹¥¯¥³¥ó¥Æ¥­¥¹¥ÈÍрΥ¹¥¿¥Ã¥¯€ò»È€Š€è
1762€Š€Ë€·€Ê€±€ì€Ð€Ê€é€Ê€€¡¥ÄÌŸï€Ï¡€È󥿥¹¥¯¥³¥ó¥Æ¥­¥¹¥È€ËÀڀꎹ€š€ëºÝ€ËÈó
1763¥¿¥¹¥¯¥³¥ó¥Æ¥­¥¹¥ÈÍрΥ¹¥¿¥Ã¥¯€ËÀڀꎹ€š¡€¥¿¥¹¥¯¥³¥ó¥Æ¥­¥¹¥È€ËÌ္ºÝ€Ë
1764žµ€Î¥¹¥¿¥Ã¥¯€ËÀڀꎹ€š€ë¡¥
1765
1766¥¿¡Œ¥²¥Ã¥È€Ë€è€Ã€Æ€Ï¡ÊÆÃ€Ë¡€¥·¥ß¥å¥ì¡Œ¥·¥ç¥óŽÄ¶­€ÎŸì¹ç¡Ë¡€¶¯À©Åª€ËÈó¥¿
1767¥¹¥¯¥³¥ó¥Æ¥­¥¹¥È€ËÀڀꎹ€š€ë€³€È€¬Æñ€·€€Ÿì¹ç€¬€¢€ë¡¥€œ€ÎŸì¹ç€Ë€Ï¡€€³€Î
1768ŽÖ€ËŒÂ¹Ô€µ€ì€ë³ä¹þ€ß¥Ï¥ó¥É¥éÆâ€Ç¥¿¥¹¥¯¥Ç¥£¥¹¥Ñ¥Ã¥Á€ò€·€Ê€€€è€Š€Ê»ÅÁÈ€ß
1769€òŒÂÁõ€¹€ë€³€È€Ç¡€È󥿥¹¥¯¥³¥ó¥Æ¥­¥¹¥È€Ø€ÎÀÚŽ¹€š€òŸÊά€¹€ë€³€È€¬€Ç€­€ë¡¥
1770
1771(*1)€ÎÈ󥿥¹¥¯¥³¥ó¥Æ¥­¥¹¥È€ËÀڀꎹ€š€ëœèÍý€È¥¿¥¹¥¯¥³¥ó¥Æ¥­¥¹¥È€ËÌ္œè
1772Íý€Ï¡€do¥ë¡Œ¥×€ÎÃæ€Ç¹Ô€Ã€Æ€â€è€€¡Ê¥¿¡Œ¥²¥Ã¥È€Ë€è€Ã€Æ€Ï¡€³ä¹þ€ß€Îµö²Ä¡¿
1773¶Ø»ß€È€Þ€È€á€ÆœèÍý€·€¿Êý€¬žúΚ€¬ÎÉ€€¡Ë¡¥
1774
1775(*2)€Ë€ª€€€Æ¡€³ä¹þ€ß€òµö²Ä€¹€ëœèÍý€È¡€³ä¹þ€ßȯÀž€òÂԀĜèÍý€È€Ï¡€ÉÔ²Äʬ
1776€Ë¹Ô€Ê€ŠÉ¬Í×€¬€¢€ë¡¥€³€ì€òÉÔ²Äʬ€Ë¹Ô€Ê€ï€Ê€€Ÿì¹ç¡€³ä¹þ€ß€òµö²Ä€·€¿ÄŸžå
1777€Ë³ä¹þ€ß€¬Æþ€ê¡€€œ€ÎÃæ€Ç¥¿¥¹¥¯€¬ŒÂ¹Ô²ÄÇœŸõÂրˀʀë€È¡€ŒÂ¹Ô€¹€Ù€­¥¿¥¹¥¯
1778€¬€¢€ë€Ë€â€«€«€ï€é€º¥×¥í¥»¥Ã¥µ€¬³ä¹þ€ßÂÔ€Á€Ë€Ê€Ã€Æ€·€Þ€Š¡¥
1779
1780€Þ€¿¡€(*2)€Ë€ª€€€Æ¡€³ä¹þ€ßȯÀž€òÂÔ€ÄÌ¿ÎာÍѰՀµ€ì€Æ€€€Ê€€Ÿì¹ç€ä¡€€œ€ì
1781€òȯ¹Ô€¹€ë€Î€¬ÉÔÅÔ¹ç€ÊŸì¹ç€Ë€Ï¡€³ä¹þ€ß€ò€¹€Ù€Æµö²Ä€·€Æ³ä¹þ€ß€òŒõ€±ÉÕ€±
1782€é€ì€ëŸõÂրˀʀÀ¿žå€Ë¡€³ä¹þ€ßȯÀž€òÂÔ€¿€º€ËŒ¡€Ë¿Ê€ó€Ç€â€è€€¡¥€³€ÎŸì¹ç¡€
1783€œ€Î³°ÂŠ€Îdo¥ë¡Œ¥×€Ë€è€Ã€Æ¡€³ä¹þ€ßȯÀž€òÂԀ³€È€Ë€Ê€ë¡¥
1784
1785CPU¥í¥Ã¥¯€ò²òœü€¹€ë€¿€á€ÎŸðÊó¡ÊÎ〚€Ð¡€CPU¥í¥Ã¥¯Á°€Î³ä¹þ€ßÍ¥ÀèÅÙ¥Þ¥¹¥¯¡Ë
1786€òÊÑ¿ô€ËÊÝ»ý€·€Æ€€€ëŸì¹ç€Ë€Ï¡€(*3)€ÇCPU¥í¥Ã¥¯ŸõÂÖ€ËÌ္ºÝ€Ë¡€€œ€ÎÊÑ¿ô€Î
1787Ã̀➵€ËÌá€Ã€Æ€€€ëɬÍ×€¬€¢€ë¡¥ÆÃ€Ë¡€€œ€ÎÊÑ¿ô€¬¡€³ä¹þ€ßÂÔ€Á€ÎŽÖ€ËŒÂ¹Ô€·
1788€¿³ä¹þ€ß¥Ï¥ó¥É¥éÆâ€Çœñ€­Ž¹€š€é€ì€ëŸì¹ç€Ï¡€žµ€ÎÃÍ€ËÌ္€³€È€¬É¬Í׀ǀ¢€ë¡¥
1789
1790³ä¹þ€ßÂÔ€Á€ÎŽÖ€Ï¡€p_runtsk€òNULL¡Ê¡á0¡Ë€ËÀßÄꀷ€Ê€±€ì€Ð€Ê€é€Ê€€¡ÊŸå€Îœè
1791ÍýÆâÍÆ€ò€œ€Î€Þ€ÞŒÂÁõ€¹€ì€Ð€³€Š€Ê€ë¡Ë¡¥€³€Î€è€Š€ËÀßÄꀷ€Ê€€€È¡€³ä¹þ€ß¥Ï
1792¥ó¥É¥é€«€éiget_tid€òžÆ€ÓœÐ€·€¿ºÝ€Îưºî€¬»ÅÍ̀˹çÃ×€·€Ê€¯€Ê€ë¡¥
1793
1794dispatcher€ò¥¢¥»¥ó¥Ö¥êžÀžì€Çµ­œÒ€¹€ëŸì¹ç€Ë€Ï¡€¥È¥ì¡Œ¥¹¥í¥°ŒèÆÀœèÍý€Ï¡€
1795¡Ö6.2 ¥È¥ì¡Œ¥¹¥í¥°µ¡Çœ€Ø€ÎÂбþ¡×€ÎÀá€Çµ­œÒ€·€¿ÊýË¡€Ç¥³¡Œ¥Ç¥£¥ó¥°€¹€ë€³
1796€È¡¥€Ê€ª¡€log_dsp_enter€ÏÀÚŽ¹€šÁ°€Î¥¿¥¹¥¯€Î¥¹¥¿¥Ã¥¯€Ç¡€log_dsp_leave €Ï
1797ÀÚŽ¹€šžå€Î¥¿¥¹¥¯€Î¥¹¥¿¥Ã¥¯€ÇŒÂ¹Ô€¹€ë¡¥
1798
17996.5.3 ¥¿¥¹¥¯¥³¥ó¥Æ¥­¥¹¥È€«€é€Î¥Ç¥£¥¹¥Ñ¥Ã¥Á
1800
1801(6-5-3-1) void dispatch(void)
1802(6-5-3-2) OMIT_CALLTEX¡Ê¥ª¥×¥·¥ç¥ó¡Ë
1803
1804¥¿¥¹¥¯¥³¥ó¥Æ¥­¥¹¥È€«€é€Î¥Ç¥£¥¹¥Ñ¥Ã¥Á¡Êdispatch¡Ë€Ï¡€¥¿¥¹¥¯¥³¥ó¥Æ¥­¥¹¥È
1805ÍрΥµ¡Œ¥Ó¥¹¥³¡Œ¥ëœèÍý€Ë€ª€€€Æ¥¿¥¹¥¯ÀÚŽ¹€š€¬É¬Í׀ˀʀÀ¿Ÿì¹ç€Ë¡€¥¿¡Œ¥²¥Ã
1806¥ÈÈó°ÍžÉô€Î¥µ¡Œ¥Ó¥¹¥³¡Œ¥ëœèÍýŽØ¿ô€«€éžÆ€ÓœÐ€µ€ì€ë¡¥
1807
1808dispatch€Ï¡€¥¿¥¹¥¯¥³¥ó¥Æ¥­¥¹¥È¡ŠCPU¥í¥Ã¥¯ŸõÂ֡гä¹þ€ßÍ¥ÀèÅÙ¥Þ¥¹¥¯Á޲òœü
1809ŸõÂÖ¡Š¥Ç¥£¥¹¥Ñ¥Ã¥Áµö²ÄŸõÂրǞƀӜЀµ€ì€ë¡¥
1810
1811dispatch€ÎœèÍýÆâÍÆ€ÏŒ¡€ÎÄ̀ꡥ
1812
1813----------------------------------------
1814void
1815dispatch(void)
1816{
1817#ifdef TOPPERS_SUPPORT_OVRHDR
1818        ovrtimer_stop();                                        /* ¥ª¡Œ¥Ð¥é¥ó¥¿¥€¥Þ€ÎÄä»ß */
1819#endif /* TOPPERS_SUPPORT_OVRHDR */
1820        ¥¹¥¯¥é¥Ã¥Á¥ì¥ž¥¹¥¿(*)€òœü€¯€¹€Ù€Æ€Î¥ì¥ž¥¹¥¿€ò¥¹¥¿¥Ã¥¯€ËÊÝž€¹€ë
1821        ¥¹¥¿¥Ã¥¯¥Ý¥€¥ó¥¿€òŒ«¥¿¥¹¥¯¡Êp_runtsk¡Ë€ÎTCB€ËÊÝž€¹€ë
1822        dispatch_r€ò¡€ŒÂ¹ÔºÆ³«ÈÖÃπȀ·€ÆŒ«¥¿¥¹¥¯€ÎTCB€ËÊÝž€¹€ë ¡Ä (*a)
1823        dispatcher€ËʬŽô€¹€ë
1824
1825  dispatch_r:
1826        ¥¹¥¯¥é¥Ã¥Á¥ì¥ž¥¹¥¿€òœü€¯€¹€Ù€Æ€Î¥ì¥ž¥¹¥¿€ò¥¹¥¿¥Ã¥¯€«€éÉüµ¢€¹€ë
1827#ifdef TOPPERS_SUPPORT_OVRHDR
1828        ovrtimer_start();                                       /* ¥ª¡Œ¥Ð¥é¥ó¥¿¥€¥Þ€Îưºî³«»Ï */
1829#endif /* TOPPERS_SUPPORT_OVRHDR */
1830        calltex(); ¡Ä (*b)
1831}
1832----------------------------------------
1833
1834€³€³€Ç¥¹¥¯¥é¥Ã¥Á¥ì¥ž¥¹¥¿(*)€È€Ï¡€ŽØ¿ôžÆœÐ€·€Ë€è€êÊÝž€µ€ì€Ê€€¥ì¥ž¥¹¥¿€Î
1835€³€È€Ç€¢€ë¡¥É¬Í׀ʟì¹ç€Ë€Ï¡€ŽØ¿ô€òžÆ€ÓœÐ€¹ÂŠ€ÇÊÝž€·€Ê€±€ì€Ð€Ê€é€Ê€€€¿
1836€á¡€caller saved register€ÈžÆ€Ð€ì€ëŸì¹ç€â€¢€ë¡¥
1837
1838dispatch€òžÆ€ÓœÐ€·€¿¥¿¥¹¥¯€¬Œ¡€ËŒÂ¹Ô€µ€ì€ë»þ€Ë€Ï¡€ŒÂ¹ÔºÆ³«ÈÖÃπȀ·€ÆÅÐ
1839Ï¿€·€¿dispatch_r€ËÌá€Ã€Æ€¯€ë¡¥dispatch_r€Ë€Ï¡€dispatcher€Î€ß€«€éʬŽô€·¡€
1840€œ€Î»þ€ÎŸõÂրϡ€¥¿¥¹¥¯¥³¥ó¥Æ¥­¥¹¥È¡ŠCPU¥í¥Ã¥¯ŸõÂ֡гä¹þ€ßÍ¥ÀèÅÙ¥Þ¥¹¥¯ÁŽ
1841²òœüŸõÂÖ¡Š¥Ç¥£¥¹¥Ñ¥Ã¥Áµö²ÄŸõÂրǀ¢€ë¡¥
1842
1843(*b)€Çcalltex€òžÆ€ÖÂå€ï€ê€Ë¡€calltex€ÎœèÍýÆâÍÆ¡Êp_runtsk->enatex€¬true
1844€Ç¡€p_runtsk->texptn€¬0€Ç€Ê€¯¡€ipmflg€¬true€ÎŸì¹ç€Ë¡€call_texrtn€òžÆ€Ö¡Ë
1845€ò€³€³€Ë¥€¥ó¥é¥€¥óÅž³«€·€¿Êý€¬žúΚ€¬€è€€¡¥¥¿¡Œ¥²¥Ã¥ÈÈó°ÍžÉô€Îcalltex€ò
1846»È€ï€Ê€€Ÿì¹ç€Ë€Ï¡€OMIT_CALLTEX€ò¥Þ¥¯¥íÄêµÁ€¹€ë€³€È€Ç¡€¥¿¡Œ¥²¥Ã¥ÈÈó°Íž
1847Éô€«€écalltex€òŒè€êœü€¯€³€È€¬€Ç€­€ë¡¥
1848
18496.5.4 ¥Ç¥£¥¹¥Ñ¥Ã¥Á¥ã€Îưºî³«»Ï
1850
1851(6-5-4-1) void start_dispatch(void)
1852
1853¥Ç¥£¥¹¥Ñ¥Ã¥Á¥ã€Îưºî³«»Ï¡Êstart_dispatch¡Ë€Ï¡€¥«¡Œ¥Í¥ëµ¯Æ°»þ€Ë¡€¥«¡Œ¥Í
1854¥ë€ÎœéŽü²œœèÍý€«€éžÆ€ÓœÐ€µ€ì€ë¡¥start_dispatch€Ï¡€¥ê¥¿¡Œ¥ó€¹€ë€³€È€Î€Ê
1855€€ŽØ¿ô€Ç€¢€ë¡¥
1856
1857start_dispatch€Ï¡€È󥿥¹¥¯¥³¥ó¥Æ¥­¥¹¥È€Ç¡€NMI€òœü€¯€¹€Ù€Æ€Î³ä¹þ€ß€ò¥Þ¥¹
1858¥¯€·€¿ŸõÂÖ¡ÊÁ޳ä¹þ€ß¥í¥Ã¥¯ŸõÂÖ€ÈÆ±Åù€ÎŸõÂ֡ˀǞƀӜЀµ€ì€ë¡¥start_dispatch
1859Æâ€Ç¡€¥¿¥¹¥¯¥³¥ó¥Æ¥­¥¹¥È€ËÀڀꎹ€š¡€CPU¥í¥Ã¥¯ŸõÂ֡гä¹þ€ßÍ¥ÀèÅÙ¥Þ¥¹¥¯ÁŽ
1860²òœüŸõÂրˀ·€Ê€±€ì€Ð€Ê€é€Ê€€¡¥
1861
1862start_dispatch€ÎœèÍýÆâÍÆ€ÏŒ¡€ÎÄ̀ꡥ
1863
1864----------------------------------------
1865void
1866start_dispatch(void)
1867{
1868        ¥¿¥¹¥¯¥³¥ó¥Æ¥­¥¹¥È€ËÀڀꎹ€š€ë
1869        CPU¥í¥Ã¥¯ŸõÂ֡гä¹þ€ßÍ¥ÀèÅÙ¥Þ¥¹¥¯Á޲òœüŸõÂրˀ¹€ë
1870        dispatcher_0€ËʬŽô€¹€ë
1871}
1872----------------------------------------
1873
18746.5.5 žœºß€Î¥³¥ó¥Æ¥­¥¹¥È€òŒÎ€Æ€Æ¥Ç¥£¥¹¥Ñ¥Ã¥Á
1875
1876(6-5-5-1) void exit_and_dispatch(void)
1877
1878žœºß€Î¥³¥ó¥Æ¥­¥¹¥È€òŒÎ€Æ€Æ¥Ç¥£¥¹¥Ñ¥Ã¥Á¡Êexit_and_dispatch¡Ë€Ï¡€Œ«¥¿¥¹¥¯
1879€òœªÎ»€µ€»€ë¥µ¡Œ¥Ó¥¹¥³¡Œ¥ëœèÍýŽØ¿ô€«€éžÆ€ÓœÐ€µ€ì€ë¡¥exit_and_dispatch€Ï¡€
1880¥ê¥¿¡Œ¥ó€¹€ë€³€È€Î€Ê€€ŽØ¿ô€Ç€¢€ë¡¥
1881
1882exit_and_dispatch€Ï¡€¥¿¥¹¥¯¥³¥ó¥Æ¥­¥¹¥È¡ŠCPU¥í¥Ã¥¯ŸõÂ֡гä¹þ€ßÍ¥ÀèÅÙ¥Þ
1883¥¹¥¯Á޲òœüŸõÂÖ¡Š¥Ç¥£¥¹¥Ñ¥Ã¥Áµö²ÄŸõÂրǞƀӜЀµ€ì€ë¡¥
1884
1885exit_and_dispatch€ÎœèÍýÆâÍÆ€ÏŒ¡€ÎÄ̀ꡥ
1886
1887----------------------------------------
1888void
1889exit_and_dispatch(void)
1890{
1891        dispatcher€ËʬŽô€¹€ë
1892}
1893----------------------------------------
1894
18956.5.6 ¥¿¥¹¥¯€Îµ¯Æ°œèÍý
1896
1897(6-5-6-1) void activate_context(TCB *p_tcb)
1898
1899¥¿¥¹¥¯€Îµ¯Æ°œèÍý¡Êactivate_context¡Ë€Ï¡€¥¿¥¹¥¯€òµÙ»ßŸõÂÖ€«€éŒÂ¹Ô€Ç€­€ë
1900ŸõÂրˀ¹€ë»þ€ËžÆ€Ð€ì¡€p_tcb€Ç»ØÄꀵ€ì€¿¥¿¥¹¥¯¡ÊÂПݥ¿¥¹¥¯¡Ë€ÎTCBÃæ€Î¥¹
1901¥¿¥Ã¥¯¥Ý¥€¥ó¥¿€òœéŽü²œ€·¡€ŒÂ¹ÔºÆ³«ÈÖÃÏ€ò¥¿¥¹¥¯³«»Ï»þœèÍý¡Êstart_r¡Ë€ËÀß
1902Äꀹ€ë¡¥€³€Î»þÅÀ€Ç€Ï¡€žåœÒ€¹€ëÍýͳ€Ç¡€ÂПݥ¿¥¹¥¯€Î¥¹¥¿¥Ã¥¯Îΰè€ò»È€Ã€Æ
1903€Ï€Ê€é€Ê€€¡¥
1904
1905ÂПݥ¿¥¹¥¯€¬ºÇœé€ËŒÂ¹Ô€µ€ì€ë»þ€Ë€Ï¡€ÂПݥ¿¥¹¥¯€òŒ«¥¿¥¹¥¯€È€·€Æ¡€ŒÂ¹ÔºÆ
1906³«ÈÖÃπȀ·€ÆÅÐÏ¿€·€¿start_r€ËʬŽô€·€Æ€¯€ë¡¥start_r€Ë€Ï¡€dispatcher€Î€ß
1907€«€éʬŽô€·¡€€œ€Î»þ€ÎŸõÂրϡ€¥¿¥¹¥¯¥³¥ó¥Æ¥­¥¹¥È¡ŠCPU¥í¥Ã¥¯ŸõÂ֡гä¹þ€ßÍ¥
1908ÀèÅÙ¥Þ¥¹¥¯Á޲òœüŸõÂÖ¡Š¥Ç¥£¥¹¥Ñ¥Ã¥Áµö²ÄŸõÂրǀ¢€ë¡¥
1909
1910start_r€Ï¡€CPU¥í¥Ã¥¯ŸõÂÖ€ò²òœü€·€¿žå¡€¥¿¥¹¥¯€Îµ¯Æ°ÈÖÃÏ€òžÆ€ÓœÐ€¹¡¥€µ€é
1911€Ë¡€¥¿¥¹¥¯€Îµ¯Æ°ÈÖÃÏ€«€éÌá€Ã€Æ€­€¿Ÿì¹ç€Ë€Ï¡€ext_tsk€òžÆ€ÓœÐ€¹¡¥
1912
1913activate_context€Èstart_r€ÎœèÍýÆâÍÆ€ÏŒ¡€ÎÄ̀ꡥ
1914
1915----------------------------------------
1916void
1917activate_context(TCB *p_tcb)
1918{
1919        »ØÄꀵ€ì€¿¥¿¥¹¥¯¡Êp_tcb¡Ë€ÎTCBÃæ€Î¥¹¥¿¥Ã¥¯¥Ý¥€¥ó¥¿€òœéŽü²œ€¹€ë
1920        start_r€ò¡€ŒÂ¹ÔºÆ³«ÈÖÃπȀ·€ÆŒ«¥¿¥¹¥¯€ÎTCB€ËÊÝž€¹€ë ¡Ä (*a)
1921        return;
1922
1923  start_r:
1924#ifdef TOPPERS_SUPPORT_OVRHDR
1925        ovrtimer_start();                                       /* ¥ª¡Œ¥Ð¥é¥ó¥¿¥€¥Þ€Îưºî³«»Ï */
1926#endif /* TOPPERS_SUPPORT_OVRHDR */
1927        CPU¥í¥Ã¥¯²òœüŸõÂրˀ¹€ë
1928        Œ«¥¿¥¹¥¯¡Êp_runtsk¡Ë€Îµ¯Æ°ÈÖÃÏ€ò¡€³ÈÄ¥ŸðÊó€ò¥Ñ¥é¥á¡Œ¥¿€È€·€ÆžÆ€ÓœÐ€¹
1929        ext_tsk€ËʬŽô€¹€ë ... (*c)
1930}
1931----------------------------------------
1932
1933(*c)€Çext_tsk€òžÆ€ÖÂå€ï€ê€Ë¡€Œ«¥¿¥¹¥¯€Îµ¯Æ°ÈÖÃÏ€òžÆ€ÓœÐ€¹»þ€ÎÊÖ€êÈÖÃÏ€ò
1934ext_tsk€ÎÈÖÃπȀ·€Æ€ª€¯ÊýË¡€¬€¢€ë¡¥
1935
1936€³€³€Ç¡€¥¿¥¹¥¯€Îµ¯Æ°œèÍý€Ë€ª€€€ÆÂПݥ¿¥¹¥¯€Î¥¹¥¿¥Ã¥¯Îΰè€ò»È€Ã€Æ€Ï€Ê€é
1937€Ê€€Íýͳ€Ï¡€Œ¡€ÎÄ̀ꡥÀ©Ì󥿥¹¥¯³ÈÄ¥¥Ñ¥Ã¥±¡Œ¥ž€Ë€ª€€€Æ¡€Ê£¿ô€ÎÀ©Ì󥿥¹
1938¥¯€¬¥¹¥¿¥Ã¥¯Îΰè€ò¶ŠÍ­€·€Æ€€€ëŸì¹ç€Ë¡€¥¿¥¹¥¯€Îµ¯Æ°»þÅÀ€Ç€Ï¡€€œ€Î¥¿¥¹¥¯
1939€È¥¹¥¿¥Ã¥¯Îΰè€ò¶ŠÍ­€·€Æ€€€ë¥¿¥¹¥¯€¬¡€¥¹¥¿¥Ã¥¯Îΰè€ò»ÈÍÑ€·€Æ€€€ë²ÄÇœÀ­
1940€¬€¢€ë€¿€á€Ç€¢€ë¡¥
1941
1942€³€Î¥Ý¡Œ¥Æ¥£¥ó¥°¥¬¥€¥É€Ç€Ï¡€¥¿¥¹¥¯€ÎŒÂ¹ÔºÆ³«ÈÖÃÏ€òTCB€ËÊÝž€·€Æ€€€ë
1943(*a)¡£€³€ì€ò¥¹¥¿¥Ã¥¯€ËÊÝž€¹€ëÊýË¡€â¹Í€š€é€ì€ë€¬¡€¥¿¥¹¥¯€Îµ¯Æ°œèÍý€Ç¥¹
1944¥¿¥Ã¥¯Îΰ耬»È€š€Ê€€€³€È€«€é¡€¥¿¥¹¥¯€Îµ¯Æ°œèÍý€À€±€ÏÎã³°°·€€€·€Ê€±€ì€Ð
1945€Ê€é€Ê€€¡¥Î〚€Ð¡€¥¿¥¹¥¯€Îµ¯Æ°œèÍý€Ë€ª€€€Æ€ÏTCBÃæ€Î¥¹¥¿¥Ã¥¯¥Ý¥€¥ó¥¿€òÆÃ
1946Œì€ÊÃÍ¡ÊÎ〚€Ð0¡Ë€ËÀßÄꀷ€Æ€ª€­¡€¥Ç¥£¥¹¥Ñ¥Ã¥Á¥ãËÜÂ΀ÇTCBÃæ€Î¥¹¥¿¥Ã¥¯¥Ý
1947¥€¥ó¥¿€¬€œ€ÎÃ̀Οì¹ç€Ë€Ïstart_r€ËʬŽô€µ€»¡€start_r€Ë€ª€€€Æ¥¹¥¿¥Ã¥¯¥Ý¥€
1948¥ó¥¿€òœéŽü²œ€¹€ëÊýË¡€¬¹Í€š€é€ì€ë¡¥
1949
19506.6 ³ä¹þ€ß¥Ï¥ó¥É¥é
1951
19526.6.1 ³ä¹þ€ß¥Ï¥ó¥É¥é€ÎœÐÆþžýœèÍý
1953
1954¥«¡Œ¥Í¥ëŽÉÍý€Î³ä¹þ€ß€ÎœÐÆþžýœèÍý€ÎÊýË¡€Ï¡€¥×¥í¥»¥Ã¥µ€Ë€è€Ã€ÆÂ瀭€¯°Û€Ê
1955€ë€¬¡€€ª€ª€è€œ€ÎœèÍýÆâÍÆ€ÏŒ¡€ÎÄ̀ꡥ
1956
1957----------------------------------------
1958void
1959<³ä¹þ€ß€ÎœÐÆþžýœèÍý>(void)
1960{
1961        Ÿ¯€Ê€¯€È€â¥«¡Œ¥Í¥ëŽÉÍý€Î³ä¹þ€ß€ò¶Ø»ß€·€¿ŸõÂրˀ¹€ë ¡Ä (*f)
1962        ¥¹¥¯¥é¥Ã¥Á¥ì¥ž¥¹¥¿€ò¥¹¥¿¥Ã¥¯€ËÊÝž€¹€ë
1963        if (¥¿¥¹¥¯¥³¥ó¥Æ¥­¥¹¥È€Ç³ä¹þ€ßȯÀž) {
1964#ifdef TOPPERS_SUPPORT_OVRHDR
1965                ovrtimer_stop();                                /* ¥ª¡Œ¥Ð¥é¥ó¥¿¥€¥Þ€ÎÄä»ß */
1966#endif /* TOPPERS_SUPPORT_OVRHDR */
1967                ¥¹¥¿¥Ã¥¯€òÈ󥿥¹¥¯¥³¥ó¥Æ¥­¥¹¥ÈÍрΥ¹¥¿¥Ã¥¯€ËÀڀꎹ€š¡€
1968                                                                È󥿥¹¥¯¥³¥ó¥Æ¥­¥¹¥È€ËÀڀꎹ€š€ë
1969        }
1970        ³ä¹þ€ßÍ¥ÀèÅÙ¥Þ¥¹¥¯€ò¡€Œõ€±ÉÕ€±€¿³ä¹þ€ßÍ×µá€Î³ä¹þÍ¥ÀèÅÙ€ËÀßÄꀷ¡€
1971                                CPU¥í¥Ã¥¯²òœüŸõÂրˀ¹€ë¡ÊŒõ€±ÉÕ€±€¿³ä¹þ€ß€è€ê€â
1972                                Í¥ÀèÅـι ³ä¹þ€ß€òŒõ€±ÉÕ€±€ë€è€Š€Ë€¹€ë¡Ë¡Ä (*i)
1973
1974
1975#ifdef LOG_INH_ENTER
1976        log_inh_enter(³ä¹þ€ß¥Ï¥ó¥É¥éÈÖ¹æ);
1977#endif /* LOG_INH_ENTER */
1978        ³ä¹þ€ß¥Ï¥ó¥É¥é€òžÆ€ÓœÐ€¹
1979#ifdef LOG_INH_LEAVE
1980        log_inh_leave(³ä¹þ€ß¥Ï¥ó¥É¥éÈÖ¹æ);
1981#endif /* LOG_INH_LEAVE */
1982
1983  ret_int:
1984        if (¥¿¥¹¥¯¥³¥ó¥Æ¥­¥¹¥È€Ç³ä¹þ€ßȯÀž) {
1985                ¡ÊŸ¯€Ê€¯€È€â¡Ë¥«¡Œ¥Í¥ëŽÉÍý€Î³ä¹þ€ß€ò¶Ø»ß€·€¿ŸõÂրˀ¹€ë ¡Ä (*d)
1986                ¥¹¥¿¥Ã¥¯€ò¥¿¥¹¥¯ÍрΥ¹¥¿¥Ã¥¯€ËÌ့¡€¥¿¥¹¥¯¥³¥ó¥Æ¥­¥¹¥È€ËÀڀꎹ€š€ë
1987                                                                                                                                ¡Ä (*g)
1988                if (reqflg) {
1989                        reqflg = false;
1990                        CPU¥í¥Ã¥¯ŸõÂրˀ¹€ë ¡Ä (*e)
1991                        ³ä¹þ€ßÍ¥ÀèÅÙ¥Þ¥¹¥¯€ò¡€Á޲òœüŸõÂÖ¡ÊTIPM_ENAALL¡Ë€ËÀßÄꀹ€ë ¡Ä (*h)
1992                        if (dspflg && p_runtsk != p_schedtsk) {
1993                                ¥¹¥¯¥é¥Ã¥Á¥ì¥ž¥¹¥¿€òœü€¯€¹€Ù€Æ€Î¥ì¥ž¥¹¥¿€ò¥¹¥¿¥Ã¥¯€ËÊÝž€¹€ë
1994                                ¥¹¥¿¥Ã¥¯¥Ý¥€¥ó¥¿€òŒ«¥¿¥¹¥¯¡Êp_runtsk¡Ë€ÎTCB€ËÊÝž€¹€ë
1995                                ret_int_r€ò¡€ŒÂ¹ÔºÆ³«ÈÖÃπȀ·€ÆŒ«¥¿¥¹¥¯€ÎTCB€ËÊÝž€¹€ë ¡Ä (*a)
1996                                dispatcher€ËʬŽô€¹€ë
1997
1998                          ret_int_r:
1999                                ¥¹¥¯¥é¥Ã¥Á¥ì¥ž¥¹¥¿€òœü€¯€¹€Ù€Æ€Î¥ì¥ž¥¹¥¿€ò¥¹¥¿¥Ã¥¯€«€éÉüµ¢€¹€ë
2000                        }
2001#ifdef TOPPERS_SUPPORT_OVRHDR
2002                        ovrtimer_start();                       /* ¥ª¡Œ¥Ð¥é¥ó¥¿¥€¥Þ€Îưºî³«»Ï */
2003#endif /* TOPPERS_SUPPORT_OVRHDR */
2004                        calltex(); ¡Ä (*b)
2005                }
2006#ifdef TOPPERS_SUPPORT_OVRHDR
2007                else {
2008                        ovrtimer_start();                       /* ¥ª¡Œ¥Ð¥é¥ó¥¿¥€¥Þ€Îưºî³«»Ï */
2009                }
2010#endif /* TOPPERS_SUPPORT_OVRHDR */
2011        }
2012        ³ä¹þ€ßœèÍý€«€é€Î¥ê¥¿¡Œ¥óžå€Ë¡€³ä¹þ€ßÍ¥ÀèÅÙ¥Þ¥¹¥¯€¬
2013                                                                        ³ä¹þ€ßœèÍýÁ°€ÎÃÍ€ËÌá€ë€è€Š€ËœàÈ÷€¹€ë
2014        ³ä¹þ€ßœèÍý€«€é€Î¥ê¥¿¡Œ¥óžå€Ë¡€CPU¥í¥Ã¥¯²òœüŸõÂÖ€ËÌá€ë€è€Š€ËœàÈ÷€¹€ë
2015        ¥¹¥¯¥é¥Ã¥Á¥ì¥ž¥¹¥¿€ò¥¹¥¿¥Ã¥¯€«€éÉüµ¢€¹€ë
2016        ³ä¹þ€ßœèÍý€«€é€Î¥ê¥¿¡Œ¥ó
2017}
2018----------------------------------------
2019
2020³ä¹þ€ß€ÎŒõÉÕ€±€Ë€è€ê¡€¥¹¥¿¥Ã¥¯¥Ý¥€¥ó¥¿€¬Àڀꎹ€ï€é€º¡€€¹€Ù€Æ€Î³ä¹þ€ß€¬
2021¶Ø»ß€µ€ì€Ê€€¥×¥í¥»¥Ã¥µ€Ç€Ï¡€(*f)€Ë€ª€€€Æ¡€Ÿ¯€Ê€¯€È€â¥«¡Œ¥Í¥ëŽÉÍý€Î³ä¹þ
2022€ß€ò¶Ø»ß€¹€ë¡¥€³€ÎÍýͳ€ÏŒ¡€ÎÄÌ€ê€Ç€¢€ë¡¥
2023
2024³ä¹þ€ß€ÎÆþžýœèÍý€Ë€ª€€€Æ¡€¥¹¥¿¥Ã¥¯€òÈ󥿥¹¥¯¥³¥ó¥Æ¥­¥¹¥ÈÍрΥ¹¥¿¥Ã¥¯€Ë
2025Àڀꎹ€š€ëÁ°€Ë¿œÅ³ä¹þ€ß€¬È¯Àž€¹€ë€È¡€¥¿¥¹¥¯€Î¥¹¥¿¥Ã¥¯Îΰ耬»ÈÍÑ€µ€ì€ë¡¥
2026Ÿåµ­€Î€è€Š€Ê¥×¥í¥»¥Ã¥µ€Ç€Ï¡€¥¹¥¿¥Ã¥¯€ÎÀÚŽ¹€šÁ°€Ë¡€ºÇÂç€Ç³ä¹þ€ßÍ¥ÀèÅÙ€Î
2027ÃÊ¿ôʬ€Î¿œÅ³ä¹þ€ß€¬È¯Àž€¹€ë€³€È€òËÉ€°€³€È€Ï€Ç€­€º¡€³Æ¥¿¥¹¥¯€Î¥¹¥¿¥Ã¥¯
2028Îΰè€ò³ÎÊÝ€¹€ëºÝ€Ë¡€€œ€Îʬ€òž«¹þ€ó€Ç³ÎÊÝ€·€Ê€±€ì€Ð€Ê€é€Ê€€¡¥³Æ¥¿¥¹¥¯€Î
2029¥¹¥¿¥Ã¥¯Îΰè€ò€Ê€ë€Ù€¯Ÿ®€µ€¯€¹€ë€¿€á€Ë€Ï¡€¥¹¥¿¥Ã¥¯€ò€Ê€ë€Ù€¯»ÈÍÑ€·€Ê€€
2030Æâ€Ë¡€Â¿œÅ³ä¹þ€ß€ò¶Ø»ß€¹€ë€Î€¬ËŸ€Þ€·€€¡¥€œ€Î€¿€á¡€¥¹¥¯¥é¥Ã¥Á¥ì¥ž¥¹¥¿€ò
2031¥¹¥¿¥Ã¥¯€ËÊÝž€¹€ëÁ°€Ë¡€³ä¹þ€ß€ò¶Ø»ß€¹€ë¡¥€¿€À€·¡€³ä¹þ€ß€Î¶Ø»ßœèÍý€Ëɬ
2032Í׀ʺÇÄãžÂ€Î¥ì¥ž¥¹¥¿€Ë€Ä€€€Æ€Ï¡€³ä¹þ€ß€Î¶Ø»ß€ËÀèΩ€Ã€Æ¥¹¥¿¥Ã¥¯€ËÊÝž€¹
2033€ëɬÍ×€¬€¢€ë¡¥
2034
2035ƱÍ̀΀³€È€Ï¡€¥«¡Œ¥Í¥ëŽÉÍý³°€Î³ä¹þ€ß€Ë€âÅö€Æ€Ï€Þ€ë¡¥€¹€Ê€ï€Á¡€¥«¡Œ¥Í¥ë
2036ŽÉÍý³°€Î³ä¹þ€ß€Ë€Ä€€€Æ€â¡€¥¹¥¿¥Ã¥¯€ò€Ê€ë€Ù€¯»ÈÍÑ€·€Ê€€Æâ€Ë¶Ø»ß€¹€ë€Î€¬
2037ËŸ€Þ€·€€¡¥€³€Î€³€È€«€é¡€¥«¡Œ¥Í¥ëŽÉÍý³°€Î³ä¹þ€ß€ò»ÈÍÑ€¹€ëŸì¹ç€Ë€Ï¡€(*f)
2038€Ë€ª€€€Æ¡€€¹€Ù€Æ€Î³ä¹þ€ß€ò¶Ø»ß€·€¿ŸõÂրˀ¹€ë€Î€¬ËŸ€Þ€·€€€³€È€Ë€Ê€ë¡¥°ì
2039Êý€Ç¡€¥«¡Œ¥Í¥ëŽÉÍý³°€Î³ä¹þ€ß€Î¶Ø»ß»þŽÖ€¬Ä¹€¯€Ê€ë€È¡€¥«¡Œ¥Í¥ëŽÉÍý³°€Î³ä
2040¹þ€ß€Î±þÅúÀ­€¬Ä㲌€¹€ë€¿€á¡€¥æ¡Œ¥¶€ËÃí°Õ€òÂ¥€¹É¬Í×€¬€¢€ë¡¥€Þ€¿¡€¥«¡Œ¥Í
2041¥ëŽÉÍý³°€Î³ä¹þ€ßœèÍý€Ë€ª€€€Æ€â¡€È󥿥¹¥¯¥³¥ó¥Æ¥­¥¹¥ÈÍрΥ¹¥¿¥Ã¥¯¡Ê€Þ€¿
2042€Ï¡€¥«¡Œ¥Í¥ëŽÉÍý³°€Î³ä¹þ€ßœèÍýÍрΥ¹¥¿¥Ã¥¯¡Ë€ËÀڀꎹ€š€ë€³€È€¬ËŸ€Þ€·€€
2043€¬¡€€³€ì€Ï¥«¡Œ¥Í¥ë€ÎŽÉ³í³°€Ç€¢€ë¡¥
2044
2045(*i)€ËŽÞ€Þ€ì€ë³ä¹þ€ßÍ¥ÀèÅÙ¥Þ¥¹¥¯€òÀßÄꀹ€ëœèÍý€Ï¡€¥×¥í¥»¥Ã¥µ€¬¥Ï¡Œ¥É¥Š¥§
2046¥¢€ÇŒÂžœ€·€Æ€€€ëŸì¹ç€â¿€€¡¥
2047
2048(*d)€Ë€ª€€€Æ€Ï¡€¥«¡Œ¥Í¥ëŽÉÍý€Î³ä¹þ€ß€ò¶Ø»ß€¹€ë€À€±€Ç¡€CPU¥í¥Ã¥¯ŸõÂրˀ¹
2049€ëɬÍ׀πʀ€¡¥Î〚€Ð¡€CPU¥í¥Ã¥¯ŸõÂրǀ¢€ë€³€È€òŒš€¹ÊÑ¿ô€òÍѰՀ·€Æ€€€ëŸì
2050¹ç€Ë€Ï¡€(*d)€Î»þÅÀ€Ç€Ï€œ€ÎÊÑ¿ô€òCPU¥í¥Ã¥¯ŸõÂÖ€òŒš€¹ÃÍ€ËÊѹ¹€¹€ëɬÍ׀πÊ
2051€¯¡€(*e)€Ë€ª€€€ÆÊѹ¹€¹€ì€Ð€è€€¡¥
2052
2053(*g)€Ë€ª€€€Æ¥¿¥¹¥¯¥³¥ó¥Æ¥­¥¹¥È€ËÀڀꎹ€š€ëœèÍý€Ï¡€³ä¹þ€ßœèÍý€«€é€Î¥ê¥¿¡Œ
2054¥ó€Ë€è€ê¥¹¥¿¥Ã¥¯€È¥³¥ó¥Æ¥­¥¹¥È€¬žµ€ËÌá€ë¥×¥í¥»¥Ã¥µ€Ç€Ï¡€reqflg€¬true€Î
2055Ÿì¹ç€Ë€Î€ß¹Ô€š€Ð€è€€¡¥reqflg€¬false€Î»þ€Ï¡€È󥿥¹¥¯¥³¥ó¥Æ¥­¥¹¥È€Î€Þ€Þœè
2056Íý€ò³€±¡€³ä¹þ€ßœèÍý€«€é€Î¥ê¥¿¡Œ¥ó€Ç¥¿¥¹¥¯¥³¥ó¥Æ¥­¥¹¥È€ËÌá€ë€³€È€Ë€Ê€ë¡¥
2057
2058(*e)€Ë€ª€€€ÆCPU¥í¥Ã¥¯ŸõÂրˀ¹€ë€Î€Ï¡€dispatcher€ËʬŽô€¹€ëºÝ€È¡€(*b)€Ë€ª
2059€€€Æcalltex¡Ê€Þ€¿€Ï¡€€œ€ì€òÅž³«€·€¿Ÿì¹ç€Ë€Ïcall_texrtn¡Ë€òžÆ€ÓœÐ€¹ºÝ€Ë¡€
2060CPU¥í¥Ã¥¯ŸõÂրˀʀÀƀ€€ëɬÍ×€¬€¢€ë€¿€á€Ç€¢€ë¡¥
2061
2062(*h)€ÎœèÍý€¬ŒÂ¹Ô€µ€ì€ë€Î€Ï¡€³ä¹þ€ßœèÍýÁ°€Ë³ä¹þ€ßÍ¥ÀèÅÙ¥Þ¥¹¥¯€¬Á޲òœüŸõ
2063ÂÖ¡ÊTIPM_ENAALL¡Ë€Ç€¢€Ã€¿Ÿì¹ç€ËžÂ€é€ì¡€€³€³€Ç³ä¹þ€ßÍ¥ÀèÅÙ¥Þ¥¹¥¯€òÁ޲òœü
2064ŸõÂÖ€ËÀßÄꀹ€ë€Î€Ï¡€³ä¹þ€ßœèÍýÁ°€ÎÃÍ€ËÌ္€Î€ÈÅù²Á€Ç€¢€ë¡¥€³€³€Ç€³€Îœè
2065Íý€ò¹Ô€Š€Î€Ï¡€dispatcher€ËʬŽô€¹€ëºÝ€È¡€(*b)€Ë€ª€€€Æcalltex¡Ê€Þ€¿€Ï¡€€œ
2066€ì€òÅž³«€·€¿Ÿì¹ç€Ë€Ïcall_texrtn¡Ë€òžÆ€ÓœÐ€¹ºÝ€Ë€Ï¡€³ä¹þ€ßÍ¥ÀèÅÙ¥Þ¥¹¥¯ÁŽ
2067²òœüŸõÂրˀʀÀƀ€€ëɬÍ×€¬€¢€ë€¿€á€Ç€¢€ë¡¥
2068
2069¥¿¥¹¥¯€ÎŒÂ¹ÔÃæ€Ë³ä¹þ€ß€¬È¯Àž€·¡€Ÿå€ÎœèÍýÃæ€Çdispatcher€ËʬŽô€·€¿Ÿì¹ç¡€
2070€œ€Î¥¿¥¹¥¯€¬Œ¡€ËŒÂ¹Ô€µ€ì€ë»þ€Ë€Ï¡€ŒÂ¹ÔºÆ³«ÈÖÃπȀ·€ÆÅÐÏ¿€·€¿ret_int_r€Ë
2071Ìá€Ã€Æ€¯€ë¡¥ret_int_r€Ë€Ï¡€dispatcher€Î€ß€«€éʬŽô€·¡€€œ€Î»þ€ÎŸõÂրϡ€¥¿
2072¥¹¥¯¥³¥ó¥Æ¥­¥¹¥È¡ŠCPU¥í¥Ã¥¯ŸõÂ֡гä¹þ€ßÍ¥ÀèÅÙ¥Þ¥¹¥¯Á޲òœüŸõÂÖ¡Š¥Ç¥£¥¹¥Ñ¥Ã
2073¥Áµö²ÄŸõÂրǀ¢€ë¡¥
2074
2075³ä¹þ€ß€ÎœÐÆþžýœèÍý€ò¥¢¥»¥ó¥Ö¥êžÀžì€Çµ­œÒ€¹€ëŸì¹ç€Ë€Ï¡€¥È¥ì¡Œ¥¹¥í¥°ŒèÆÀ
2076œèÍý€Ï¡€¡Ö6.2 ¥È¥ì¡Œ¥¹¥í¥°µ¡Çœ€Ø€ÎÂбþ¡×€ÎÀá€Çµ­œÒ€·€¿ÊýË¡€Ç¥³¡Œ¥Ç¥£¥ó
2077¥°€¹€ë€³€È¡¥
2078
20796.6.2 ³ä¹þ€ß¥Ï¥ó¥É¥éËè€ÎœÐÆþžýœèÍý€ÎÀžÀ®
2080
2081³ä¹þ€ß¥Ù¥¯¥È¥ë€ò¥Ï¡Œ¥É¥Š¥§¥¢€ÇŒÂžœ€·€Æ€€€ëŸì¹ç€Ê€É¡€³ä¹þ€ß¥Ï¥ó¥É¥éËè€Ë
2082œÐÆþžýœèÍý€òÍѰՀ·€¿Êý€¬žúΚ€¬ÎÉ€€¥¿¡Œ¥²¥Ã¥È€Î€¿€á€Ë¡€³ä¹þ€ß¥Ï¥ó¥É¥éËè
2083€ËœÐÆþžýœèÍý€òÀžÀ®€¹€ëµ¡¹œ€òÍѰՀ·€Æ€€€ë¡¥
2084
2085°Ê²Œ€Î¥Þ¥¯¥í€Ï¡€Éžœà€Î³ä¹þ€ßŽÉÍýµ¡Çœ€ÎœéŽü²œœèÍý€òÍÑ€€€¿Ÿì¹ç€Î€ß¡€¥¿¡Œ
2086¥²¥Ã¥ÈÈó°ÍžÉô€Ç»È€ï€ì€ë¡¥³ä¹þ€ßŽÉÍýµ¡Çœ€ÎœéŽü²œœèÍý€ò¥¿¡Œ¥²¥Ã¥È°ÍžÉô
2087€ÇÍѰՀ·¡€€œ€ÎÃæ€Ç€³€ì€é€Î¥Þ¥¯¥í€ò»È€ï€Ê€€Ÿì¹ç€Ë€Ï¡€€³€ì€é€Î¥Þ¥¯¥í€òÍÑ
2088°Õ€¹€ëɬÍ׀πʀ€¡¥
2089
2090(6-6-2-1) INT_ENTRY(inhno, inthdr)
2091
2092³ä¹þ€ß¥Ï¥ó¥É¥éÈֹ怬inhno¡€³ä¹þ€ß¥Ï¥ó¥É¥é€ÎŽØ¿ôÌŸ€¬inthdr€Ç€¢€ë³ä¹þ€ß¥Ï
2093¥ó¥É¥é€ÎœÐÆþžýœèÍý€Î¥é¥Ù¥ë€òºî€ë¥Þ¥¯¥í¡¥INTHDR_ENTRY€òÍÑ€€€Æ³ä¹þ€ß¥Ï¥ó
2094¥É¥éËè€ËœÐÆþžýœèÍý€òÀžÀ®€¹€ëŸì¹ç€Ë€Ï¡€Œ¡€Î€è€Š€ËÄêµÁ€¹€ë¡¥
2095
2096#define INT_ENTRY(inhno, inthdr)        _kernel_##inthdr##_##inhno
2097
2098³ä¹þ€ß¥Ï¥ó¥É¥éËè€ËœÐÆþžýœèÍý€òºî€ëɬÍ×€¬€Ê€€Ÿì¹ç€Ë€Ï¡€Œ¡€Î€è€Š€ËÄêµÁ€·
2099€Æ¡€³ä¹þ€ß¥Ï¥ó¥É¥é€ÎŽØ¿ôÌŸ€ò€œ€Î€Þ€ÞÊÖ€¹¡¥
2100
2101#define INT_ENTRY(inhno, inthdr)        inthdr
2102
2103(6-6-2-2) INTHDR_ENTRY(inhno, inhno_num, inthdr)
2104
2105³ä¹þ€ß¥Ï¥ó¥É¥éÈֹ怬inhno¡€³ä¹þ€ß¥Ï¥ó¥É¥é€ÎŽØ¿ôÌŸ€¬inthdr€Ç€¢€ë³ä¹þ€ß¥Ï
2106¥ó¥É¥é€ÎœÐÆþžýœèÍý€òÀžÀ®€¹€ë¥Þ¥¯¥í¡¥inhno_num€Ë€Ï¡€¥¢¥»¥ó¥Ö¥êžÀžìµ­œÒÍÑ
2107€Ë¡€³ä¹þ€ß¥Ï¥ó¥É¥éÈֹ怬¿ôÃÍ€ÇÅÏ€µ€ì€ë¡¥³ä¹þ€ß¥Ï¥ó¥É¥éËè€ËœÐÆþžýœèÍý€ò
2108ºî€ëɬÍ×€¬€Ê€€Ÿì¹ç€Ë€Ï¡€¶õ€ËÄêµÁ€¹€ë¡¥
2109
21106.6.3 ³ä¹þ€ß¥Ï¥ó¥É¥é€ÎÀßÄê
2111
2112(6-6-3-1) bool_t VALID_INHNO_DEFINH(INHNO inhno)¡Ê¥ª¥×¥·¥ç¥ó¡Ë
2113
2114inhno€¬¡€DEF_INH€ËÂЀ¹€ë³ä¹þ€ß¥Ï¥ó¥É¥éÈÖ¹æ€È€·€ÆÍ­žú€ÊÃ̀ǀ¢€ëŸì¹ç€Ë
2115true¡€€œ€Š€Ç€Ê€€Ÿì¹ç€Ëfalse€òÊÖ€¹¥Þ¥¯¥í¡¥
2116
2117ASP¥«¡Œ¥Í¥ë€Î¥¿¡Œ¥²¥Ã¥ÈÈó°ÍžÉô€Ç€Ï¡€€³€Î¥Þ¥¯¥í€Ï»È€ï€ì€Æ€€€Ê€€€¿€á¡€¥¿¡Œ
2118¥²¥Ã¥È°ÍžÉô€Ç»È€ï€Ê€€€Ê€é¡€ÍѰՀ¹€ëɬÍ×€¬€Ê€€¡¥
2119
2120(6-6-3-2) void x_define_inh(INHNO inhno, FP int_entry)
2121
2122inhno€Ç»ØÄꀵ€ì€¿³ä¹þ€ß¥Ï¥ó¥É¥é€ÎœÐÆþžýœèÍý€ÎÈÖÃÏ€òint_entry€ËÀßÄꀹ€ë¡¥
2123
2124€³€ÎŽØ¿ô€Ï¡€Éžœà€Î³ä¹þ€ßŽÉÍýµ¡Çœ€ÎœéŽü²œœèÍý€òÍÑ€€€¿Ÿì¹ç€Î€ß¡€¥¿¡Œ¥²¥Ã
2125¥ÈÈó°ÍžÉô€«€éžÆ€ÓœÐ€µ€ì€ë¡¥³ä¹þ€ßŽÉÍýµ¡Çœ€ÎœéŽü²œœèÍý€ò¥¿¡Œ¥²¥Ã¥È°Íž
2126Éô€ÇÍѰՀ·¡€€œ€ÎÃæ€Ç€³€ÎŽØ¿ô€òžÆ€ÓœÐ€µ€Ê€€Ÿì¹ç€Ë€Ï¡€€³€ÎŽØ¿ô€òÍѰՀ¹€ë
2127ɬÍ׀πʀ€¡¥
2128
2129€³€ÎŽØ¿ô€Ï¡€¥¿¡Œ¥²¥Ã¥ÈÈó°ÍžÉô€Î¥«¡Œ¥Í¥ëœéŽü²œœèÍý€«€éžÆ€ÓœÐ€µ€ì€ë€¿€á¡€
2130¥«¡Œ¥Í¥ë€ÎœéŽü²œœèÍý¡ÊNMI€òœü€¯€¹€Ù€Æ€Î³ä¹þ€ß€¬¥Þ¥¹¥¯€µ€ì€Æ€€€ë¡Ë€«€éžÆ
2131€ÓœÐ€»€ë€è€Š€ËŒÂÁõ€¹€ì€Ð€è€€¡¥
2132
2133»ØÄꀵ€ì€¿³ä¹þ€ß¥Ï¥ó¥É¥éÈֹ怬DEF_INH€ËÂЀ¹€ë€â€Î€È€·€ÆÍ­žú€ÊÃ̀ǀʀ€Ÿì
2134¹ç€Îưºî€ÏÊÝŸÚ€¹€ëɬÍ×€¬€Ê€€¡Êassert€Ç¥š¥é¡Œ€È€¹€ë€Î€¬ËŸ€Þ€·€€¡Ë¡¥€³€ì
2135€Ï¡€¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿€¬¡€¥Ñ¥¹2€Î¥Æ¥ó¥×¥ì¡Œ¥È¥Õ¥¡¥€¥ë€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô
2136€ÇÄêµÁ€¹€ëINHNO_DEFINH_VALID€òÍÑ€€€Æ¥š¥é¡Œ€òž¡œÐ€¹€ë€¿€á€Ç€¢€ë¡¥
2137
21386.6.4 ³ä¹þ€ßÍ×µá¥é¥€¥ó€Î°À­€ÎÀßÄê
2139
2140(6-6-4-1) bool_t VALID_INTNO_CFGINT(INTNO intno)¡Ê¥ª¥×¥·¥ç¥ó¡Ë
2141
2142intno€¬¡€³ä¹þ€ßÈÖ¹æ€È€·€ÆÍ­žú€ÊÃ̀ǀ¢€ëŸì¹ç€Ëtrue¡€€œ€Š€Ç€Ê€€Ÿì¹ç€Ë
2143false€òÊÖ€¹¥Þ¥¯¥í¡¥CFG_INT€Ë€Ï¡€€¹€Ù€Æ€Î³ä¹þ€ßÈÖ¹æ€ò»ØÄꀹ€ë€³€È€¬€Ç€­
2144€ë€¿€á¡€€³€Î¥Þ¥¯¥í€Ï¡€intno€¬Í­žú€ÊÃ̀Οì¹ç€Ë€Ïtrue¡€intno€¬Ìµžú€ÎÃÍ€Î
2145Ÿì¹ç€Ë€Ïfalse€òÊÖ€¹€è€Š€Ë€¹€ë¡¥
2146
2147ASP¥«¡Œ¥Í¥ë€Î¥¿¡Œ¥²¥Ã¥ÈÈó°ÍžÉô€Ç€Ï¡€€³€Î¥Þ¥¯¥í€Ï»È€ï€ì€Æ€€€Ê€€€¿€á¡€¥¿¡Œ
2148¥²¥Ã¥È°ÍžÉô€Ç»È€ï€Ê€€€Ê€é¡€ÍѰՀ¹€ëɬÍ×€¬€Ê€€¡¥
2149
2150(6-6-4-2) void x_config_int(INTNO intno, ATR intatr, PRI intpri)
2151
2152intno€Ç»ØÄꀵ€ì€¿³ä¹þ€ßÍ×µá¥é¥€¥ó€Î³ä¹þ€ß°À­€ò¡€intatr€Ç»ØÄꀵ€ì€¿ÄÌ€ê
2153€ËÀßÄꀹ€ë¡¥€Þ€¿¡€³ä¹þ€ßÍ¥ÀèÅÙ€ò¡€intpri€Ç»ØÄꀵ€ì€¿ÃÍ€ËÀßÄꀹ€ë¡¥
2154
2155€³€ÎŽØ¿ô€Ï¡€Éžœà€Î³ä¹þ€ßŽÉÍýµ¡Çœ€ÎœéŽü²œœèÍý€òÍÑ€€€¿Ÿì¹ç€Î€ß¡€¥¿¡Œ¥²¥Ã
2156¥ÈÈó°ÍžÉô€«€éžÆ€ÓœÐ€µ€ì€ë¡¥³ä¹þ€ßŽÉÍýµ¡Çœ€ÎœéŽü²œœèÍý€ò¥¿¡Œ¥²¥Ã¥È°Íž
2157Éô€ÇÍѰՀ·¡€€œ€ÎÃæ€Ç€³€ÎŽØ¿ô€òžÆ€ÓœÐ€µ€Ê€€Ÿì¹ç€Ë€Ï¡€€³€ÎŽØ¿ô€òÍѰՀ¹€ë
2158ɬÍ׀πʀ€¡¥
2159
2160€³€ÎŽØ¿ô€Ï¡€¥¿¡Œ¥²¥Ã¥ÈÈó°ÍžÉô€Î¥«¡Œ¥Í¥ëœéŽü²œœèÍý€«€éžÆ€ÓœÐ€µ€ì€ë€¿€á¡€
2161¥«¡Œ¥Í¥ë€ÎœéŽü²œœèÍý¡ÊNMI€òœü€¯€¹€Ù€Æ€Î³ä¹þ€ß€¬¥Þ¥¹¥¯€µ€ì€Æ€€€ë¡Ë€«€éžÆ
2162€ÓœÐ€»€ë€è€Š€ËŒÂÁõ€¹€ì€Ð€è€€¡¥
2163
2164intatr€È€·€ÆÀßÄê€Ç€­€ë³ä¹þ€ß°À­€ÏŒ¡€ÎÄ̀ꡥ
2165
2166        TA_ENAINT               0x01    ³ä¹þ€ßÍ×µá¶Ø»ß¥Õ¥é¥°€ò¥¯¥ê¥¢
2167        TA_EDGE                 0x02    ¥š¥Ã¥ž¥È¥ê¥¬
2168
2169€³€ÎŸ€Ë¡€¥¿¡Œ¥²¥Ã¥ÈÄêµÁ€Ç³ä¹þ€ß°À­€òÄɲÀ·€Æ€â€è€€¡¥¥¿¡Œ¥²¥Ã¥ÈÄêµÁ€Ç
2170ÄɲÀ¹€ë€¿€á€Ë¡€°Ê²Œ€Î°À­ÌŸ€¬ÍœÌó€µ€ì€Æ€€€ë¡¥
2171
2172        TA_POSEDGE                              ¥Ý¥ž¥Æ¥£¥Ö¥š¥Ã¥ž¥È¥ê¥¬
2173        TA_NEGEDGE                              ¥Í¥¬¥Æ¥£¥Ö¥š¥Ã¥ž¥È¥ê¥¬
2174        TA_BOTHEDGE                             ÎŸ¥š¥Ã¥ž¥È¥ê¥¬
2175        TA_LOWLEVEL                             ¥í¡Œ¥ì¥Ù¥ë¥È¥ê¥¬
2176        TA_HIGHLEVEL                    ¥Ï¥€¥ì¥Ù¥ë¥È¥ê¥¬
2177
2178€³€ì€é€Î°À­ÌŸ€ò¥¿¡Œ¥²¥Ã¥ÈÄêµÁ€ÇÄɲÀ¹€ëŸì¹ç€Ë€Ï¡€€œ€Î°À­ÃÍ€ò·èÄꀷ¡€
2179ÄêµÁ€òtarget_kernel.h¡Ê€Þ€¿€Ï¡€€œ€³€«€é¥€¥ó¥¯¥ë¡Œ¥É€µ€ì€ë¥Õ¥¡¥€¥ë¡Ë€ËŽÞ
2180€á€ë¡¥€Þ€¿¡€¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿¥Æ¥ó¥×¥ì¡Œ¥È¥Õ¥¡¥€¥ë€«€é»²ŸÈ€Ç€­€ë€è€Š€Ë¡€
2181target_def.csv¡Ê€Þ€¿€Ï¡€Æ±Åù€ÎÌò³ä€ò»ý€Ä¥Õ¥¡¥€¥ë¡Ë€ËŽÞ€á¡€¥³¥ó¥Õ¥£¥®¥å
2182¥ì¡Œ¥¿¥Æ¥ó¥×¥ì¡Œ¥È¥Õ¥¡¥€¥ë€Î¥¿¡Œ¥²¥Ã¥ÈÈó°ÍžÉô€Ç¥š¥é¡Œ€È€Ê€é€Ê€€€è€Š€Ë¡€
2183target.tf¡Ê€Þ€¿€Ï¡€€œ€³€«€é¥€¥ó¥¯¥ë¡Œ¥É€µ€ì€ë¥Õ¥¡¥€¥ë¡Ë€ÇTARGET_INTATR
2184€ËÀßÄꀹ€ë¡¥
2185
2186»ØÄꀵ€ì€¿³ä¹þ€ßÈֹ怬ͭžú€ÊÃ̀ǀʀ€Ÿì¹ç€ä¡€€œ€Î³ä¹þ€ßÍ×µá¥é¥€¥ó€ËÂЀ·
2187€ÆÀßÄê€Ç€­€Ê€€Â°À­€ò»ØÄꀷ€¿Ÿì¹ç¡€ÀßÄê€Ç€­€Ê€€³ä¹þ€ßÍ¥ÀèÅÙ€ò»ØÄꀷ€¿Ÿì
2188¹ç€Îưºî€ÏÊÝŸÚ€¹€ëɬÍ×€¬€Ê€€¡Êassert€Ç¥š¥é¡Œ€È€¹€ë€Î€¬ËŸ€Þ€·€€¡Ë¡¥€³€Î
2189€è€Š€Ê¥±¡Œ¥¹€Ï¡€¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿€Ç¥š¥é¡Œ€òž¡œÐ€¹€Ù€­€Ç€¢€ë¡¥¥³¥ó¥Õ¥£
2190¥®¥å¥ì¡Œ¥¿¥Æ¥ó¥×¥ì¡Œ¥È¥Õ¥¡¥€¥ë€Î¥¿¡Œ¥²¥Ã¥ÈÈó°ÍžÉô€Ï¡€¥Ñ¥¹2€Î¥Æ¥ó¥×¥ì¡Œ
2191¥È¥Õ¥¡¥€¥ë€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ÇÄêµÁ€¹€ëINTNO_CFGINT_VALID¡€
2192TARGET_INTATR¡€INTPRI_CFGINT_VALID€òÍÑ€€€Æ¥š¥é¡Œ€òž¡œÐ€¹€ë€¬¡€Éžœà€Î³ä
2193¹þ€ß°À­¡ÊTA_ENAINT¡€TA_EDGE¡Ë€¬ÀßÄê€Ç€­€Ê€€Ÿì¹ç€ä¡€ÀßÄê€Ç€­€Ê€€Â°À­€ä
2194³ä¹þ€ßÍ¥ÀèÅÙ€¬³ä¹þ€ßÍ×µá¥é¥€¥ó€Ë€è€Ã€Æ°Û€Ê€ëŸì¹ç€Ë€Ï¡€¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ
2195¥¿¥Æ¥ó¥×¥ì¡Œ¥È¥Õ¥¡¥€¥ë€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Çž¡œÐ€·€Ê€±€ì€Ð€Ê€é€Ê€€¡¥
2196
21976.6.5 ³ä¹þ€ßŽÉÍýµ¡Çœ€ÎœéŽü²œœèÍý€ÎÊѹ¹
2198
2199(6-6-5-1) OMIT_INITIALIZE_INTERRUPT¡Ê¥ª¥×¥·¥ç¥ó¡Ë
2200
2201³ä¹þ€ßŽÉÍýµ¡Çœ€ÎœéŽü²œœèÍý€ò¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ÇÍѰՀ·¡€¥¿¡Œ¥²¥Ã¥ÈÈó°Íž
2202Éô€ËŽÞ€Þ€ì€ëÉžœà€Î³ä¹þ€ßŽÉÍýµ¡Çœ€ÎœéŽü²œœèÍý€òÍÑ€€€Ê€€Ÿì¹ç€Ë€Ï¡€€³€Î¥·
2203¥ó¥Ü¥ë€ò¥Þ¥¯¥íÄêµÁ€¹€ë¡¥
2204
2205€³€Î¥·¥ó¥Ü¥ë€ò¥Þ¥¯¥íÄêµÁ€¹€ë€È¡€INHINIB¡€INTINIB¡€initialize_interrupt
2206€ÎÄêµÁ€¬¡€¥«¡Œ¥Í¥ë€Î¥¿¡Œ¥²¥Ã¥ÈÈó°ÍžÉô€«€éŒè€êœü€«€ì€ë¡¥€Þ€¿¡€
2207TNUM_INHNO¡€tnum_inhno¡€inhinib_table¡€TNUM_INTNO¡€tnum_intno¡€
2208intinib_table€ÎÄêµÁ€È¡€³ä¹þ€ß¥Ï¥ó¥É¥éËè€ÎœÐÆþžýœèÍý€òÀžÀ®€¹€ë€¿€á€Îµ­œÒ
2209¡ÊINTHDR_ENTRY¥Þ¥¯¥í€Î¥ê¥¹¥È¡Ë€¬¡€¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿€Î¥Ñ¥¹2€Î¥Æ¥ó¥×¥ì¡Œ
2210¥È¥Õ¥¡¥€¥ë€Î¥¿¡Œ¥²¥Ã¥ÈÈó°ÍžÉô€Ë€è€Ã€Ækernel_cfg.c€ËÀžÀ®€µ€ì€Ê€¯€Ê€ë¡¥
2211€¿€À€·¡€¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿€Î¥Ñ¥¹2€Î¥Æ¥ó¥×¥ì¡Œ¥È¥Õ¥¡¥€¥ë€Î¥¿¡Œ¥²¥Ã¥È°Íž
2212Éô€Ç¡€USE_INHINIB_TABLE€ÈUSE_INTINIB_TABLE€òÀßÄꀹ€ë€³€È€Ç¡€€œ€Î°ìÉô
2213ʬ€òkernel_cfg.c€ËÀžÀ®€¹€ë€³€È€¬²ÄÇœ€Ç€¢€ë¡¥
2214
2215(6-6-5-2) void initialize_interrupt(void)¡Ê¥ª¥×¥·¥ç¥ó¡Ë
2216
2217OMIT_INITIALIZE_INTERRUPT€ò¥Þ¥¯¥íÄêµÁ€·€¿Ÿì¹ç€Ë€Ï¡€€³€ÎŽØ¿ô€ò¥¿¡Œ¥²¥Ã¥È
2218°ÍžÉô€ÇÍѰՀ¹€ë¡¥OMIT_INITIALIZE_INTERRUPT€ò¥Þ¥¯¥íÄêµÁ€¹€ë€³€È€Ë€è€êŒè
2219€êœü€«€ì€ë€œ€ÎŸ€Î¥Ç¡Œ¥¿·¿¡€ÊÑ¿ô¡€¥Þ¥¯¥í€Ï¡€€³€ÎŽØ¿ô€Ç»ÈÍÑ€¹€ëŸì¹ç€Ë€Î
2220€ßÍѰՀ¹€ì€Ð€è€€¡¥
2221
22226.6.6 ¥Ç¥Õ¥©¥ë¥È€Î³ä¹þ€ß¥Ï¥ó¥É¥é
2223
2224(6-6-6-1) void default_int_handler(void)¡Ê¥ª¥×¥·¥ç¥ó¡Ë
2225
2226¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿€Ë€è€ê³ä¹þ€ß¥Ï¥ó¥É¥é€Î¥Æ¡Œ¥Ö¥ë€òÀžÀ®€¹€ëŸì¹ç€Ê€É€Ë€Ï¡€
2227³ä¹þ€ß¥Ï¥ó¥É¥é€òÅÐÏ¿€·€Ê€«€Ã€¿³ä¹þ€ß¥Ï¥ó¥É¥éÈÖ¹æ€ËÂЀ·€Æ¡€¥Ç¥Õ¥©¥ë¥È€Î
2228³ä¹þ€ß¥Ï¥ó¥É¥é€È€·€Æ¡€default_int_handler€òÅÐÏ¿€¹€ë¡¥
2229
2230default_int_handler€Ï¡€Éžœà€Î€â€Î€ò¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ÇÍѰՀ¹€ë€¬¡€¥æ¡Œ¥¶
2231€¬ÍѰՀ·€¿€â€Î€ÇÃÖ€­Ž¹€š€é€ì€ë€è€Š€Ë¡€OMIT_DEFAULT_INT_HANDLER€ò¥Þ¥¯¥í
2232ÄêµÁ€·€¿Ÿì¹ç€Ë€Ï¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ÇÄêµÁ€·€Ê€€€è€Š€Ë€¹€ë¡¥€Ê€ª¡€¥æ¡Œ¥¶
2233€¬ÍѰՀ¹€ëŸì¹ç€ÎÌŸŸÎ€Ï¡€_kernel_default_int_handler€È€Ê€ë¡¥
2234
22356.6.7 ¥«¡Œ¥Í¥ëŽÉÍý³°€Î³ä¹þ€ß
2236
2237¥«¡Œ¥Í¥ëŽÉÍý³°€Î³ä¹þ€ß¥Ï¥ó¥É¥é€Ï¡€¥«¡Œ¥Í¥ëÆâ€Î³ä¹þ€ßœÐÆþžýœèÍý€ò·Ðͳ€»
2238€º€ËŒÂ¹Ô€¹€ë€Î€¬ŽðË܀ǀ¢€ë¡¥
2239
2240€¿€À€·¡€€¹€Ù€Æ€Î³ä¹þ€ß€ÇƱ€ž¥¢¥É¥ì¥¹€ËʬŽô€¹€ë¥×¥í¥»¥Ã¥µ€Ç€Ï¡€¥«¡Œ¥Í¥ë
2241Æâ€Î³ä¹þ€ßœÐÆþžýœèÍý€òÁŽ€¯·Ðͳ€»€º€Ë¥«¡Œ¥Í¥ëŽÉÍý³°€Î³ä¹þ€ß¥Ï¥ó¥É¥é€òŒÂ
2242¹Ô€¹€ë€³€È€¬€Ç€­€Ê€€€¿€á¡€³ä¹þ€ßœÐÆþžýœèÍý€Î€Ê€ë€Ù€¯Áက¥¿¥€¥ß¥ó¥°€Ç¡€
2243¥«¡Œ¥Í¥ëŽÉÍý³°€Î³ä¹þ€ß€Ç€¢€ë€«€òÈœÊÌ€·¡€œèÍýÆâÍÆ€òʬ€±€ëɬÍ×€¬€¢€ë¡¥¶ñ
2244ÂÎŪ€Ë€Ï¡€¥«¡Œ¥Í¥ëŽÉÍý³°€Î³ä¹þ€ß€ÎœÐÆþžýœèÍý€Ç€Ï¡€¥ª¡Œ¥Ð¥é¥ó¥Ï¥ó¥É¥é€Î
2245Ää»ß€Èưºî³«»Ï€ò¹Ô€Ã€Æ€Ï€Ê€é€Ê€€¡¥€Þ€¿¡€reqflg€ò¥Á¥§¥Ã¥¯€·¡€¥¿¥¹¥¯ÀÚŽ¹
2246€š€ä¥¿¥¹¥¯Îã³°œèÍý¥ë¡Œ¥Á¥ó€ÎžÆœÐ€·€ò¹Ô€ŠÉ¬Í×€¬€Ê€€¡¥€µ€é€Ë¡€NMI€ÎœÐÆþžý
2247œèÍý€Ç€Ï¡€¥È¥ì¡Œ¥¹¥í¥°ŒèÆÀœèÍý¡Êlog_inh_enter€ª€è€Ólog_inh_leave¡Ë€òžÆ
2248€ÓœÐ€·€Æ€Ï€Ê€é€Ê€€¡¥
2249
2250¥«¡Œ¥Í¥ëŽÉÍý³°€Î³ä¹þ€ß¥Ï¥ó¥É¥é€òŒÂ¹Ô€¹€ëºÝ€Ë¡€¥«¡Œ¥Í¥ëÆâ€Î³ä¹þ€ßœÐÆþžý
2251œèÍý€Î°ìÉôʬ€ò·Ðͳ€¹€ëŸì¹ç€Ë€Ï¡€CPUÎã³°€¬µ¯€³€ë²ÄÇœÀ­€ò¶ËÎÏžº€é€¹€È€È€â
2252€Ë¡€CPUÎã³°€òµ¯€³€¹²ÄÇœÀ­€¬€¢€ëŸì¹ç€Ë€Ï¡€€œ€Î²ÄÇœÀ­€ò¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Î
2253¥æ¡Œ¥¶¡Œ¥º¥Þ¥Ë¥å¥¢¥ë€Ëµ­ºÜ€·€Ê€±€ì€Ð€Ê€é€Ê€€¡¥
2254
2255Œ¡€Ë¡€¥«¡Œ¥Í¥ëŽÉÍý³°€Î³ä¹þ€ß€ÎÀßÄêÊýË¡€ËŽØ€·€Æ¡€¡ÖTOPPERS¿·À€Â奫¡Œ¥Í¥ë
2256Åý¹ç»ÅÍÍœñ¡×€Î¡Ö2.7.8 ¥«¡Œ¥Í¥ëŽÉÍý³°€Î³ä¹þ€ß€ÎÀßÄêÊýË¡¡×€ÎÀá€Î3€Ä€ÎÊýË¡
2257€Î€€€º€ì€òºÎÍÑ€¹€ë€«€ò·èÄꀹ€ë¡¥
2258
2259(a-1)€Þ€¿€Ï(a-2)€òºÎÍÑ€·¡€¥«¡Œ¥Í¥ëŽÉÍý³°€È€·€¿³ä¹þ€ß€ËÂЀ·€Æ¡€¥«¡Œ¥Í¥ë
2260€ÎAPI€Ë€è€ë³ä¹þ€ß¥Ï¥ó¥É¥é€ÎÅÐÏ¿€È³ä¹þ€ßÍ×µá¥é¥€¥ó€Î°À­€ÎÀßÄê€ò¥µ¥Ý¡Œ¥È
2261€·€Ê€€Ÿì¹ç€Ë€Ï¡€€œ€ì€ËÂå€ï€ëÊýË¡€ò¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Î¥æ¡Œ¥¶¡Œ¥º¥Þ¥Ë¥å¥¢
2262¥ë€Ëµ­œÒ€¹€ë¡¥
2263
2264(a-1)€Þ€¿€Ï(a-2)€òºÎÍÑ€·€Æ¥«¡Œ¥Í¥ë€ÎAPI€Ë€è€ë³ä¹þ€ß¥Ï¥ó¥É¥é€ÎÅÐÏ¿€ä³ä¹þ
2265€ßÍ×µá¥é¥€¥ó€Î°À­€ÎÀßÄê€ò¥µ¥Ý¡Œ¥È€¹€ëŸì¹ç€ä¡€(b)€òºÎÍÑ€·€¿Ÿì¹ç€Ë€Ï¡€¥¿¡Œ
2266¥²¥Ã¥È°ÍžÉô€Ë€ª€€€Æ€œ€ì€òŒÂžœ€¹€ëɬÍ×€¬€¢€ë¡¥
2267
2268¥«¡Œ¥Í¥ëŽÉÍý³°€Î³ä¹þ€ß€ËÂЀ·€Æ¡€DEF_INH€Ë€è€ë³ä¹þ€ß¥Ï¥ó¥É¥é€ÎÅÐÏ¿€ò¥µ¥Ý¡Œ
2269¥È€¹€ë€Ë€Ï¡€Œ¡€ÎÀßÄꀬɬÍ׀ˀʀ롥
2270
2271¡ŠTARGET_INHATR€Ë¡€TA_NONKERNEL€òÀßÄꀹ€ë¡¥
2272
2273¡Š(a-1)€Þ€¿€Ï(a-2)€òºÎÍÑ€·€¿Ÿì¹ç€Ë€Ï¡€INHNO_DEFINH_VALID€Ë¡€¥«¡Œ¥Í¥ëŽÉ
2274¡¡Íý³°€È€·€¿³ä¹þ€ß€ËÂбþ€¹€ë³ä¹þ€ß¥Ï¥ó¥É¥éÈÖ¹æ€òŽÞ€á€ë¡¥€Þ€¿¡€
2275¡¡VALID_INHNO_DEFINH€ò¡€¥«¡Œ¥Í¥ëŽÉÍý³°€È€·€¿³ä¹þ€ß¥Ï¥ó¥É¥éÈÖ¹æ€òÍ­žú€Ê
2276¡¡ÃÍ€ÈÈœÄꀹ€ë€è€Š€Ë€¹€ë¡¥
2277
2278¡Š(a-1)€Þ€¿€Ï(a-2)€òºÎÍÑ€·€¿Ÿì¹ç€Ë€Ï¡€INHNO_FIX_KERNEL€Ë¥«¡Œ¥Í¥ëŽÉÍý€È
2279¡¡€·€¿³ä¹þ€ß¥Ï¥ó¥É¥éÈÖ¹æ€Î¥ê¥¹¥È€ò¡€INHNO_FIX_NONKERNEL€Ë¥«¡Œ¥Í¥ëŽÉÍý³°
2280¡¡€È€·€¿³ä¹þ€ß¥Ï¥ó¥É¥éÈÖ¹æ€Î¥ê¥¹¥ÈÀßÄꀹ€ë¡¥
2281
2282¡ŠDEF_INH€¬¥«¡Œ¥Í¥ëŽÉÍý³°€Î³ä¹þ€ß€ËÂбþ€Ç€­€ë€è€Š€Ë€¹€ë¡¥Éžœà€Î³ä¹þ€ßŽÉ
2283¡¡Íýµ¡Çœ€ÎœéŽü²œœèÍý€òÍÑ€€€ëŸì¹ç€Ë€Ï¡€x_define_inh€ò¥«¡Œ¥Í¥ëŽÉÍý³°€Î³ä
2284¡¡¹þ€ß€ËÂбþ€µ€»€ë¡¥
2285
2286¡ŠÉ¬Í׀ʟì¹ç€Ë€Ï¡€TA_NONKERNEL°À­€¬ÀßÄꀵ€ì€¿³ä¹þ€ß¥Ï¥ó¥É¥é€ò¥«¡Œ¥Í¥ë
2287¡¡ŽÉÍý³°€È°·€Š€è€Š€Ë¡€¥«¡Œ¥Í¥ëÆâ€Î³ä¹þ€ßœÐÆþžýœèÍý€òœ€Àµ€¹€ë¡¥Éžœà€Î³ä
2288¡¡¹þ€ßŽÉÍýµ¡Çœ€ÎœéŽü²œœèÍý€òÍÑ€€€ëŸì¹ç¡€¥«¡Œ¥Í¥ëŽÉÍý³°€Î³ä¹þ€ß€ËÂЀ·€Æ
2289¡¡€Ï¡€¥«¡Œ¥Í¥ëÆâ€Î³ä¹þ€ßœÐÆþžýœèÍý€òÀžÀ®€»€º¡€¥¢¥×¥ê¥±¡Œ¥·¥ç¥ó€¬ÅÐÏ¿€·
2290¡¡€¿³ä¹þ€ß¥Ï¥ó¥É¥é€òÄŸÀܞƀӜЀ¹€è€Š€Ë¡€¥¿¡Œ¥²¥Ã¥ÈÈó°ÍžÉô€Ë€è€êÀßÄꀵ
2291¡¡€ì€ë€¿€á¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Ç€ÏÂбþ€¹€ëɬÍ×€¬€Ê€€¡¥
2292
2293¥«¡Œ¥Í¥ëŽÉÍý³°€Î³ä¹þ€ß€ËÂЀ·€Æ¡€CFG_INT€Ë€è€ë³ä¹þ€ßÍ×µá¥é¥€¥ó€Î°À­€ÎÀß
2294Äê€ò¥µ¥Ý¡Œ¥È€¹€ë€Ë€Ï¡€Œ¡€ÎÀßÄꀬɬÍ׀ˀʀ롥
2295
2296¡Š(a-1)€Þ€¿€Ï(a-2)€òºÎÍÑ€·€¿Ÿì¹ç€Ë€Ï¡€INTNO_CFGINT_VALID€Ë¡€¥«¡Œ¥Í¥ëŽÉ
2297¡¡Íý³°€È€·€¿³ä¹þ€ß€ËÂбþ€¹€ë³ä¹þ€ßÈÖ¹æ€òŽÞ€á€ë¡¥€Þ€¿¡€VALID_INTNO_CFGINT
2298¡¡€ò¡€¥«¡Œ¥Í¥ëŽÉÍý³°€È€·€¿³ä¹þ€ßÈÖ¹æ€òÍ­žú€ÊÃÍ€ÈÈœÄꀹ€ë€è€Š€Ë€¹€ë¡¥
2299
2300¡Š(a-1)€Þ€¿€Ï(a-2)€òºÎÍÑ€·€¿Ÿì¹ç€Ë€Ï¡€INTNO_FIX_KERNEL€Ë¥«¡Œ¥Í¥ëŽÉÍý€È
2301¡¡€·€¿³ä¹þ€ßÈÖ¹æ€Î¥ê¥¹¥È€ò¡€INTNO_FIX_NONKERNEL€Ë¥«¡Œ¥Í¥ëŽÉÍý³°€È€·€¿³ä
2302¡¡¹þ€ßÈÖ¹æ€Î¥ê¥¹¥ÈÀßÄꀹ€ë¡¥
2303
2304¡ŠINTPRI_CFGINT_VALID€Ë¡€¥«¡Œ¥Í¥ëŽÉÍý³°€Î³ä¹þ€ß€È€Ê€ëÍ¥ÀèÅÙ€òŽÞ€á€ë¡¥
2305
2306¡ŠCFG_INT€¬¥«¡Œ¥Í¥ëŽÉÍý³°€Î³ä¹þ€ß€ËÂбþ€Ç€­€ë€è€Š€Ë€¹€ë¡¥Éžœà€Î³ä¹þ€ßŽÉ
2307¡¡Íýµ¡Çœ€ÎœéŽü²œœèÍý€òÍÑ€€€ëŸì¹ç€Ë€Ï¡€x_config_int€ò¥«¡Œ¥Í¥ëŽÉÍý³°€Î³ä
2308¡¡¹þ€ß€ËÂбþ€µ€»€ë¡¥
2309
2310chg_ipm€Ë€è€ê¡€¡ÊNMI°Ê³°€Î¡Ë¥«¡Œ¥Í¥ëŽÉÍý³°€Î³ä¹þ€ß€ò¥Þ¥¹¥¯€Ç€­€ë€è€Š€Ë
2311€¹€ëŸì¹ç€Ë€Ï¡€Œ¡€ÎÀßÄꀬɬÍ׀ˀʀ롥
2312
2313¡ŠVALID_INTPRI_CHGIPM€ò¡€¥«¡Œ¥Í¥ëŽÉÍý³°€Î³ä¹þ€ß€È€Ê€ëÍ¥ÀèÅÙ€òÍ­žú€ÊÃÍ€È
2314¡¡ÈœÄꀹ€ë€è€Š€Ë€¹€ë¡¥
2315
2316¡Št_set_ipm€ò¡€¥«¡Œ¥Í¥ëŽÉÍý³°€Î³ä¹þ€ß€È€Ê€ëÍ¥ÀèÅÙ€ò°·€š€ë€è€Š€Ë€¹€ë¡¥
2317
23186.6.8 ³ä¹þ€ß¥µ¡Œ¥Ó¥¹¥ë¡Œ¥Á¥ó€ÎÀžÀ®
2319
2320(6-6-8-1) bool_t VALID_INTNO_CREISR(INTNO intno)
2321
2322intno€¬¡€acre_isr€ËÂЀ¹€ë³ä¹þ€ßÈÖ¹æ€È€·€ÆÍ­žú€ÊÃ̀ǀ¢€ëŸì¹ç€Ëtrue¡€€œ€Š
2323€Ç€Ê€€Ÿì¹ç€Ëfalse€òÊÖ€¹¥Þ¥¯¥í¡¥Æ°ÅªÀžÀ®µ¡Çœ³ÈÄ¥¥Ñ¥Ã¥±¡Œ¥ž€ò»ÈÍÑ€·€Ê€€Ÿì
2324¹ç€Ë€Ï¡€ÄêµÁ€¹€ëɬÍ×€¬€Ê€€¡¥
2325
23266.7 CPUÎã³°¥Ï¥ó¥É¥é€ÈCPUÎ㳰ȯÀž»þ€Î¥·¥¹¥Æ¥àŸõÂրλ²ŸÈ
2327
23286.7.1 CPUÎã³°¥Ï¥ó¥É¥é€ÎœÐÆþžýœèÍý
2329
2330CPUÎã³°€ÎœÐÆþžýœèÍý€ÎÊýË¡€Ï¥×¥í¥»¥Ã¥µ€Ë€è€Ã€ÆÂ瀭€¯°Û€Ê€ë€¬¡€€ª€ª€è€œ€Î
2331œèÍýÆâÍÆ€ÏŒ¡€ÎÄ̀ꡥ
2332
2333----------------------------------------
2334void
2335<CPUÎã³°€ÎœÐÆþžýœèÍý>(void)
2336{
2337        ¥¹¥¯¥é¥Ã¥Á¥ì¥ž¥¹¥¿€ò¥¹¥¿¥Ã¥¯€ËÊÝž€¹€ë
2338        if (¥«¡Œ¥Í¥ëŽÉÍý³°€ÎCPUÎã³°) {
2339                if (¥¿¥¹¥¯¥³¥ó¥Æ¥­¥¹¥È€ÇCPUÎ㳰ȯÀž) {
2340                        ¥¹¥¿¥Ã¥¯€òÈ󥿥¹¥¯¥³¥ó¥Æ¥­¥¹¥ÈÍрΥ¹¥¿¥Ã¥¯€ËÀڀꎹ€š¡€
2341                                                                        È󥿥¹¥¯¥³¥ó¥Æ¥­¥¹¥È€ËÀڀꎹ€š€ë ¡Ä (*j)
2342                }
2343                ¥·¥¹¥Æ¥àŸõÂÖ¡Ê¥³¥ó¥Æ¥­¥¹¥È€Ïœü€¯¡Ë€ò¡€CPUÎ㳰ȯÀž»þ€ÎŸõÂրˀ¹€ë
2344                CPUÎã³°¥Ï¥ó¥É¥é€ò¡€CPUÎã³°€ÎŸðÊó€òµ­²±€·€Æ€€€ëÎΰè€ÎÀèÆ¬ÈÖÃÏ€ò
2345                                                                        ¥Ñ¥é¥á¡Œ¥¿¡Êp_excinf¡Ë€È€·€ÆžÆ€ÓœÐ€¹
2346                if (¥¿¥¹¥¯¥³¥ó¥Æ¥­¥¹¥È€ÇCPUÎ㳰ȯÀž) {
2347                        ¥¹¥¿¥Ã¥¯€ò¥¿¥¹¥¯ÍрΥ¹¥¿¥Ã¥¯€ËÌ့¡€
2348                                                                        ¥¿¥¹¥¯¥³¥ó¥Æ¥­¥¹¥È€ËÀڀꎹ€š€ë ¡Ä (*j)
2349                }
2350                CPUÎã³°œèÍý€«€é€Î¥ê¥¿¡Œ¥óžå€Ë¡€CPUÎ㳰ȯÀž»þ€Î¥·¥¹¥Æ¥àŸõÂÖ€Ë
2351                                                                                                        Ìá€ë€è€Š€ËœàÈ÷€¹€ë
2352        }
2353        else {
2354                if (¥¿¥¹¥¯¥³¥ó¥Æ¥­¥¹¥È€ÇCPUÎ㳰ȯÀž) {
2355                        ¡ÊŸ¯€Ê€¯€È€â¡Ë¥«¡Œ¥Í¥ëŽÉÍý€Î³ä¹þ€ß€ò¶Ø»ß€·€¿ŸõÂրˀ¹€ë
2356#ifdef TOPPERS_SUPPORT_OVRHDR
2357                        ovrtimer_stop();                        /* ¥ª¡Œ¥Ð¥é¥ó¥¿¥€¥Þ€ÎÄä»ß */
2358#endif /* TOPPERS_SUPPORT_OVRHDR */
2359                        ¥¹¥¿¥Ã¥¯€òÈ󥿥¹¥¯¥³¥ó¥Æ¥­¥¹¥ÈÍрΥ¹¥¿¥Ã¥¯€ËÀڀꎹ€š¡€
2360                                                                        È󥿥¹¥¯¥³¥ó¥Æ¥­¥¹¥È€ËÀڀꎹ€š€ë
2361                }
2362                ³ä¹þ€ßÍ¥ÀèÅÙ¥Þ¥¹¥¯€ò¡€CPUÎ㳰ȯÀž»þ€ÎÃÍ€ËÀßÄꀷ¡€
2363                                CPU¥í¥Ã¥¯²òœüŸõÂրˀ¹€ë¡ÊCPUÎ㳰ȯÀž»þ€Î³ä¹þ€ßÍ¥ÀèÅÙ¥Þ¥¹¥¯
2364                                €è€ê€âÍ¥ÀèÅـι ³ä¹þ€ß€òŒõ€±ÉÕ€±€ë€è€Š€Ë€¹€ë¡Ë
2365
2366#ifdef LOG_EXC_ENTER
2367                log_exc_enter(CPUÎã³°¥Ï¥ó¥É¥éÈÖ¹æ);
2368#endif /* LOG_EXC_ENTER */
2369                CPUÎã³°¥Ï¥ó¥É¥é€ò¡€CPUÎã³°€ÎŸðÊó€òµ­²±€·€Æ€€€ëÎΰè€ÎÀèÆ¬ÈÖÃÏ€ò
2370                                                                        ¥Ñ¥é¥á¡Œ¥¿¡Êp_excinf¡Ë€È€·€ÆžÆ€ÓœÐ€¹
2371#ifdef LOG_EXC_LEAVE
2372                log_exc_leave(CPUÎã³°¥Ï¥ó¥É¥éÈÖ¹æ);
2373#endif /* LOG_EXC_LEAVE */
2374
2375          ret_exc:
2376                if (¥¿¥¹¥¯¥³¥ó¥Æ¥­¥¹¥È€ÇCPUÎ㳰ȯÀž) {
2377                        ¡ÊŸ¯€Ê€¯€È€â¡Ë¥«¡Œ¥Í¥ëŽÉÍý€Î³ä¹þ€ß€ò¶Ø»ß€·€¿ŸõÂրˀ¹€ë ¡Ä (*d)
2378                        ¥¹¥¿¥Ã¥¯€ò¥¿¥¹¥¯ÍрΥ¹¥¿¥Ã¥¯€ËÌ့¡€¥¿¥¹¥¯¥³¥ó¥Æ¥­¥¹¥È€ËÀڀꎹ€š€ë
2379                                                                                                                                        ¡Ä (*g)
2380                        if (reqflg) {
2381                                reqflg = false;
2382                                CPU¥í¥Ã¥¯ŸõÂրˀ¹€ë ¡Ä (*e)
2383                                if (dspflg && p_runtsk != p_schedtsk) {
2384                                        ¥¹¥¯¥é¥Ã¥Á¥ì¥ž¥¹¥¿€òœü€¯€¹€Ù€Æ€Î¥ì¥ž¥¹¥¿€ò¥¹¥¿¥Ã¥¯€ËÊÝž€¹€ë
2385                                        ¥¹¥¿¥Ã¥¯¥Ý¥€¥ó¥¿€òŒ«¥¿¥¹¥¯¡Êp_runtsk¡Ë€ÎTCB€ËÊÝž€¹€ë
2386                                        ret_exc_r€ò¡€ŒÂ¹ÔºÆ³«ÈÖÃπȀ·€ÆŒ«¥¿¥¹¥¯€ÎTCB€ËÊÝž€¹€ë
2387                                                                                                                                        ¡Ä (*a)
2388                                        dispatcher€ËʬŽô€¹€ë
2389
2390                                  ret_exc_r:
2391                                        ¥¹¥¯¥é¥Ã¥Á¥ì¥ž¥¹¥¿€òœü€¯€¹€Ù€Æ€Î¥ì¥ž¥¹¥¿€ò
2392                                                                                                ¥¹¥¿¥Ã¥¯€«€éÉüµ¢€¹€ë
2393                                }
2394#ifdef TOPPERS_SUPPORT_OVRHDR
2395                                ovrtimer_start();               /* ¥ª¡Œ¥Ð¥é¥ó¥¿¥€¥Þ€Îưºî³«»Ï */
2396#endif /* TOPPERS_SUPPORT_OVRHDR */
2397                                calltex(); ¡Ä (*b)
2398                        }
2399#ifdef TOPPERS_SUPPORT_OVRHDR
2400                        else {
2401                                ovrtimer_start();               /* ¥ª¡Œ¥Ð¥é¥ó¥¿¥€¥Þ€Îưºî³«»Ï */
2402                        }
2403#endif /* TOPPERS_SUPPORT_OVRHDR */
2404                }
2405                CPUÎã³°œèÍý€«€é€Î¥ê¥¿¡Œ¥óžå€Ë¡€CPU¥í¥Ã¥¯²òœüŸõÂÖ€ËÌá€ë€è€Š€ËœàÈ÷€¹€ë
2406        }
2407        ¥¹¥¯¥é¥Ã¥Á¥ì¥ž¥¹¥¿€ò¥¹¥¿¥Ã¥¯€«€éÉüµ¢€¹€ë
2408        CPUÎã³°œèÍý€«€é€Î¥ê¥¿¡Œ¥ó
2409}
2410----------------------------------------
2411
2412CPUÎã³°¥Ï¥ó¥É¥é€Ï¡€È󥳥󥯥­¥¹¥È€ËÀڀꎹ€š€ë€³€È€òœü€€€Æ€Ï¡€CPUÎ㳰ȯ
2413Àž»þ€ÈƱ€ž¥·¥¹¥Æ¥àŸõÂրǞƀӜЀµ€Ê€±€ì€Ð€Ê€é€Ê€€¡¥Î〚€Ð¡€CPUÎã³°€¬CPU
2414¥í¥Ã¥¯ŸõÂÖ€ÇȯÀž€·€¿Ÿì¹ç€Ë€ÏCPU¥í¥Ã¥¯ŸõÂÖ¡€CPU¥í¥Ã¥¯²òœüŸõÂÖ€ÇȯÀž€·€¿
2415Ÿì¹ç€Ë€ÏCPU¥í¥Ã¥¯²òœüŸõÂրǡ€CPUÎã³°¥Ï¥ó¥É¥é€òžÆ€ÓœÐ€µ€Ê€±€ì€Ð€Ê€é€Ê€€¡¥
2416CPU¥í¥Ã¥¯ŸõÂÖ€ÇȯÀž€·€¿CPUÎã³°€Ï¡€¥«¡Œ¥Í¥ëŽÉÍý³°€ÎCPUÎã³°€È€Ê€ë€¿€á¡€¥«¡Œ
2417¥Í¥ëŽÉÍý€ÎCPUÎã³°¥Ï¥ó¥É¥é€Ë€Ä€€€Æ€Ï¡€CPU¥í¥Ã¥¯²òœüŸõÂրǞƀӜЀ¹€³€È€Ë
2418€Ê€ë¡¥
2419
2420¥¿¡Œ¥²¥Ã¥È€Ë€è€Ã€Æ€Ï¡€¥«¡Œ¥Í¥ëŽÉÍý³°€ÎCPUÎã³°€òÀµ³Î€ËÈœÄꀹ€ë€Î€¬Æñ€·€€
2421Ÿì¹ç€¬€¢€ë¡¥€³€Î€è€Š€ÊŸì¹ç€Ë€Ï¡€³ä¹þ€ßÍ¥ÀèÅÙ¥Þ¥¹¥¯€¬Á޲òœü€Ç€Ê€€ŸõÂÖ€Ç
2422ȯÀž€·€¿CPUÎã³°€ò¡€¥«¡Œ¥Í¥ëŽÉÍý³°€ÎCPUÎã³°€È°·€Ã€Æ€â»ÙŸã€¬€Ê€€¡¥€³€ì€Ï¡€
2423³ä¹þ€ßÍ¥ÀèÅÙ¥Þ¥¹¥¯€¬Á޲òœü€Ç€Ê€€Ÿì¹ç€Ë€Ï¡€xsns_dpn¡€xsns_xpn€È€âtrue€ò
2424ÊÖ€¹€¿€á¡€¥¢¥×¥ê¥±¡Œ¥·¥ç¥ó€«€é€Ï¥«¡Œ¥Í¥ëŽÉÍý³°€ÎCPUÎã³°€È¶èỀǀ­€Ê€€€¿
2425€á€Ç€¢€ë¡¥
2426
2427¶ñÂÎŪ€Ë€Ï¡€Á޳ä¹þ€ß¥í¥Ã¥¯¡Ê€Þ€¿€ÏCPU¥í¥Ã¥¯¡Ë€òŸ®€µ€€¥ª¡Œ¥Ð¥Ø¥Ã¥É€ÇŒÂžœ
2428€·€è€Š€È€¹€ë€È¡€CPUÎã³°¥Ï¥ó¥É¥é€ÎÃæ€Ç¡€Á޳ä¹þ€ß¥í¥Ã¥¯ŸõÂÖ¡Ê€Þ€¿€ÏCPU¥í¥Ã
2429¥¯ŸõÂ֡ˀȳä¹þ€ßÍ¥ÀèÅÙ¥Þ¥¹¥¯€ò¹â€€¥ì¥Ù¥ë€ËÀßÄꀷ€¿ŸõÂÖ€ò¶èỀǀ­€Ê€€Ÿì
2430¹ç€¬€¢€ë¡¥€Þ€¿¡€¥«¡Œ¥Í¥ëŽÉÍý³°€Î³ä¹þ€ßœèÍýÃæ€ä¥«¡Œ¥Í¥ëŒÂ¹ÔÃæ€Ç€¢€ë€³€È
2431€òÀµ³Î€ËÈœÃÇ€¹€ë€³€È€âÆñ€·€€Ÿì¹ç€¬€¢€ë¡¥
2432
2433¥«¡Œ¥Í¥ëŽÉÍý³°€ÎCPUÎã³°¥Ï¥ó¥É¥é€òžÆ€Ö»þ€Ë¡€(*j)€Ë€ª€€€Æ¡€¥¹¥¿¥Ã¥¯€òÈó¥¿
2434¥¹¥¯¥³¥ó¥Æ¥­¥¹¥ÈÍрΥ¹¥¿¥Ã¥¯€ËÀڀꎹ€š¡€È󥿥¹¥¯¥³¥ó¥Æ¥­¥¹¥È€ËÀڀꎹ€š
2435€Æ€€€ë€¬¡€€³€ÎÀÚŽ¹€š€Ï¥¿¡Œ¥²¥Ã¥ÈÄêµÁ€ÇŸÊ€€€Æ€âÎÉ€€¡¥€³€ì€Ï¡€¥«¡Œ¥Í¥ëŽÉ
2436Íý³°€ÎCPUÎã³°€Ï¡€¥«¡Œ¥Í¥ëÆâ€Î¥¯¥ê¥Æ¥£¥«¥ë¥»¥¯¥·¥ç¥óÃæ€ÇȯÀž€¹€ë²ÄÇœÀ­€¬
2437€¢€ë€¿€á¡€°ÂÁŽ€ËÀڀꎹ€š€é€ì€ë€È€ÏžÂ€é€Ê€€€¿€á€Ç€¢€ë¡¥€Þ€¿¡€¥«¡Œ¥Í¥ëŽÉ
2438Íý³°€Î³ä¹þ€ß¥Ï¥ó¥É¥é€òžÆ€Ö»þ€Î¥³¥ó¥Æ¥­¥¹¥È€ä¥¹¥¿¥Ã¥¯€Ï¥¿¡Œ¥²¥Ã¥È°Íž€Ê
2439€Î€Ç¡€¥«¡Œ¥Í¥ëŽÉÍý³°€ÎCPUÎã³°¥Ï¥ó¥É¥é€â€œ€ì€ÈƱÍ̀˰·€Ã€ÆÎÉ€€€È¹Í€š€é€ì
2440€ë€¿€á€Ç€¢€ë¡¥
2441
2442Ÿå€Î¥³¡Œ¥É€Ç€Ï¡€¥«¡Œ¥Í¥ëŽÉÍý³°€ÎCPUÎã³°€ËÂЀ·€Æ¡€¥È¥ì¡Œ¥¹¥í¥°ŒèÆÀœèÍý
2443¡Êlog_exc_enter€ª€è€Ólog_exc_leave¡Ë€òžÆ€ÓœÐ€·€Æ€€€Ê€€€¬¡€Á޳ä¹þ€ß¥í¥Ã
2444¥¯ŸõÂÖ€«NMI€ÎœèÍýÃæ€ËCPUÎã³°€¬È¯Àž€·€¿Ÿì¹ç€òœü³°€¹€ì€Ð¡€žÆ€ÓœÐ€·€Æ€â€«
2445€Þ€ï€Ê€€¡¥Á޳ä¹þ€ß¥í¥Ã¥¯ŸõÂÖ€«NMI€ÎœèÍýÃæ€ËȯÀž€·€¿CPUÎã³°€ÎŸì¹ç€Ë€Ï¡€
2446¥È¥ì¡Œ¥¹¥í¥°ŒèÆÀœèÍý€òžÆ€ÓœÐ€·€Æ€Ï€Ê€é€Ê€€¡¥
2447
2448CPUÎã³°¥Ï¥ó¥É¥é€òŒÂ¹Ô€¹€ëºÝ€Ë·Ðͳ€¹€ëÉôʬ€Ç€Ï¡€CPUÎã³°€¬µ¯€³€ë²ÄÇœÀ­€ò
2449¶ËÎÏžº€é€¹€È€È€â€Ë¡€CPUÎã³°€òµ¯€³€¹²ÄÇœÀ­€¬€¢€ëŸì¹ç¡ÊÎ〚€Ð¡€¥¹¥¯¥é¥Ã¥Á
2450¥ì¥ž¥¹¥¿€ò¥¹¥¿¥Ã¥¯€ËÊÝž€¹€ë»þ€Ë¡€¥Ð¥¹¥š¥é¡Œ€Ê€É€ÎCPUÎã³°€¬È¯Àž€¹€ë²ÄÇœ
2451À­€¬¹Í€š€é€ì€ë¡Ë€Ë€Ï¡€€œ€Î²ÄÇœÀ­€ò¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Î¥æ¡Œ¥¶¡Œ¥º¥Þ¥Ë¥å¥¢
2452¥ë€Ëµ­ºÜ€·€Ê€±€ì€Ð€Ê€é€Ê€€¡¥
2453
2454ret_exc°Ê¹ß€ÎœèÍý€Ï¡€³ä¹þ€ß€ÎœÐÆþžýœèÍý€Îret_int°Ê¹ß€ÎœèÍý€È€Û€ÜƱ€ž€Ç
2455€¢€ë€¿€á¡€¥¿¡Œ¥²¥Ã¥È€Ë€è€Ã€Æ€Ï¡€¶ŠÄ̀Υ롌¥Á¥ó€òÍÑ€€€ë€³€È€¬€Ç€­€ë²ÄÇœ
2456À­€¬€¢€ë¡¥
2457
2458CPUÎã³°€ÎœÐÆþžýœèÍý€ò¥¢¥»¥ó¥Ö¥êžÀžì€Çµ­œÒ€¹€ëŸì¹ç€Ë€Ï¡€¥È¥ì¡Œ¥¹¥í¥°ŒèÆÀ
2459œèÍý€Ï¡€¡Ö6.2 ¥È¥ì¡Œ¥¹¥í¥°µ¡Çœ€Ø€ÎÂбþ¡×€ÎÀá€Çµ­œÒ€·€¿ÊýË¡€Ç¥³¡Œ¥Ç¥£¥ó
2460¥°€¹€ë€³€È¡¥
2461
24626.7.2 CPUÎã³°¥Ï¥ó¥É¥é€ÎœÐÆþžýœèÍý€ÎÀžÀ®
2463
2464CPUÎã³°¥Ù¥¯¥È¥ë€ò¥Ï¡Œ¥É¥Š¥§¥¢€ÇŒÂžœ€·€Æ€€€ëŸì¹ç€Ê€É¡€CPUÎã³°¥Ï¥ó¥É¥éËè
2465€ËœÐÆþžýœèÍý€òÍѰՀ·€¿Êý€¬žúΚ€¬ÎÉ€€¥¿¡Œ¥²¥Ã¥È€Î€¿€á€Ë¡€CPUÎã³°¥Ï¥ó¥É¥é
2466Ëè€ËœÐÆþžýœèÍý€òÀžÀ®€¹€ëµ¡¹œ€òÍѰՀ·€Æ€€€ë¡¥
2467
2468°Ê²Œ€Î¥Þ¥¯¥í€Ï¡€Éžœà€ÎCPUÎã³°ŽÉÍýµ¡Çœ€ÎœéŽü²œœèÍý€òÍÑ€€€¿Ÿì¹ç€Î€ß¡€¥¿¡Œ
2469¥²¥Ã¥ÈÈó°ÍžÉô€Ç»È€ï€ì€ë¡¥CPUÎã³°ŽÉÍýµ¡Çœ€ÎœéŽü²œœèÍý€ò¥¿¡Œ¥²¥Ã¥È°ÍžÉô
2470€ÇÍѰՀ·¡€€œ€ÎÃæ€Ç€³€ì€é€Î¥Þ¥¯¥í€ò»È€ï€Ê€€Ÿì¹ç€Ë€Ï¡€€³€ì€é€Î¥Þ¥¯¥í€òÍÑ
2471°Õ€¹€ëɬÍ׀πʀ€¡¥
2472
2473(6-7-2-1) EXC_ENTRY(excno, exchdr)
2474
2475CPUÎã³°¥Ï¥ó¥É¥éÈֹ怬excno¡€CPUÎã³°¥Ï¥ó¥É¥é€ÎŽØ¿ôÌŸ€¬exchdr€Ç€¢€ëCPUÎã
2476³°¥Ï¥ó¥É¥é€ÎœÐÆþžýœèÍý€Î¥é¥Ù¥ë€òºî€ë¥Þ¥¯¥í¡¥EXCHDR_ENTRY€òÍÑ€€€ÆCPUÎã³°
2477¥Ï¥ó¥É¥éËè€ËœÐÆþžýœèÍý€òÀžÀ®€¹€ëŸì¹ç€Ë€Ï¡€Œ¡€Î€è€Š€ËÄêµÁ€¹€ë¡¥
2478
2479#define EXC_ENTRY(excno, exchdr)        _kernel_##exchdr##_##excno
2480
2481CPUÎã³°¥Ï¥ó¥É¥éËè€ËœÐÆþžýœèÍý€òºî€ëɬÍ×€¬€Ê€€Ÿì¹ç€Ë€Ï¡€Œ¡€Î€è€Š€ËÄêµÁ€·
2482€Æ¡€CPUÎã³°¥Ï¥ó¥É¥é€ÎŽØ¿ôÌŸ€ò€œ€Î€Þ€ÞÊÖ€¹¡¥
2483
2484#define EXC_ENTRY(excno, exchdr)        exchdr
2485
2486(6-7-2-2) EXCHDR_ENTRY(excno, excno_num, exchdr)
2487
2488CPUÎã³°¥Ï¥ó¥É¥éÈֹ怬excno¡€CPUÎã³°¥Ï¥ó¥É¥é€ÎŽØ¿ôÌŸ€¬exchdr€Ç€¢€ëCPUÎã
2489³°¥Ï¥ó¥É¥é€ÎœÐÆþžýœèÍý€òÀžÀ®€¹€ë¥Þ¥¯¥í¡¥excno_num€Ë€Ï¡€¥¢¥»¥ó¥Ö¥êžÀžìµ­
2490œÒÍрˡ€CPUÎã³°¥Ï¥ó¥É¥éÈֹ怬¿ôÃÍ€ÇÅÏ€µ€ì€ë¡¥CPUÎã³°¥Ï¥ó¥É¥éËè€ËœÐÆþžý
2491œèÍý€òºî€ëɬÍ×€¬€Ê€€Ÿì¹ç€Ë€Ï¡€¶õ€ËÄêµÁ€¹€ë¡¥
2492
24936.7.3 CPUÎã³°¥Ï¥ó¥É¥é€ÎÀßÄê
2494
2495(6-7-3-1) bool_t VALID_EXCNO_DEFEXC(EXCNO excno)¡Ê¥ª¥×¥·¥ç¥ó¡Ë
2496
2497excno€¬¡€DEF_EXC€ËÂЀ¹€ëCPUÎã³°¥Ï¥ó¥É¥éÈÖ¹æ€È€·€ÆÍ­žú€ÊÃ̀ǀ¢€ëŸì¹ç€Ë
2498true¡€€œ€Š€Ç€Ê€€Ÿì¹ç€Ëfalse€òÊÖ€¹¥Þ¥¯¥í¡¥
2499
2500ASP¥«¡Œ¥Í¥ë€Î¥¿¡Œ¥²¥Ã¥ÈÈó°ÍžÉô€Ç€Ï¡€€³€Î¥Þ¥¯¥í€Ï»È€ï€ì€Æ€€€Ê€€€¿€á¡€¥¿¡Œ
2501¥²¥Ã¥È°ÍžÉô€Ç»È€ï€Ê€€€Ê€é¡€ÍѰՀ¹€ëɬÍ×€¬€Ê€€¡¥
2502
2503(6-7-3-2) void x_define_exc(EXCNO excno, FP exc_entry)
2504
2505excno€Ç»ØÄꀵ€ì€¿CPUÎã³°¥Ï¥ó¥É¥é€ÎœÐÆþžýœèÍý€ÎÈÖÃÏ€òexc_entry€ËÀßÄꀹ€ë¡¥
2506
2507€³€ÎŽØ¿ô€Ï¡€Éžœà€ÎCPUÎã³°ŽÉÍýµ¡Çœ€ÎœéŽü²œœèÍý€òÍÑ€€€¿Ÿì¹ç€Î€ß¡€¥¿¡Œ¥²¥Ã
2508¥ÈÈó°ÍžÉô€«€éžÆ€ÓœÐ€µ€ì€ë¡¥CPUÎã³°ŽÉÍýµ¡Çœ€ÎœéŽü²œœèÍý€ò¥¿¡Œ¥²¥Ã¥È°Íž
2509Éô€ÇÍѰՀ·¡€€œ€ÎÃæ€Ç€³€ÎŽØ¿ô€òžÆ€ÓœÐ€µ€Ê€€Ÿì¹ç€Ë€Ï¡€€³€ÎŽØ¿ô€òÍѰՀ¹€ë
2510ɬÍ׀πʀ€¡¥
2511
2512€³€ÎŽØ¿ô€Ï¡€¥¿¡Œ¥²¥Ã¥ÈÈó°ÍžÉô€Î¥«¡Œ¥Í¥ëœéŽü²œœèÍý€«€éžÆ€ÓœÐ€µ€ì€ë€¿€á¡€
2513¥«¡Œ¥Í¥ë€ÎœéŽü²œœèÍý¡ÊNMI€òœü€¯€¹€Ù€Æ€Î³ä¹þ€ß€¬¥Þ¥¹¥¯€µ€ì€Æ€€€ë¡Ë€«€éžÆ
2514€ÓœÐ€»€ë€è€Š€ËŒÂÁõ€¹€ì€Ð€è€€¡¥
2515
2516»ØÄꀵ€ì€¿CPUÎã³°¥Ï¥ó¥É¥éÈֹ怬DEF_EXC€ËÂЀ¹€ë€â€Î€È€·€ÆÍ­žú€ÊÃ̀ǀʀ€
2517Ÿì¹ç€Îưºî€ÏÊÝŸÚ€¹€ëɬÍ×€¬€Ê€€¡Êassert€Ç¥š¥é¡Œ€È€¹€ë€Î€¬ËŸ€Þ€·€€¡Ë¡¥€³
2518€ì€Ï¡€¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿€¬¡€¥Ñ¥¹2€Î¥Æ¥ó¥×¥ì¡Œ¥È¥Õ¥¡¥€¥ë€Î¥¿¡Œ¥²¥Ã¥È°Íž
2519Éô€ÇÄêµÁ€¹€ëEXCNO_DEFEXC_VALID€òÍÑ€€€Æ¥š¥é¡Œ€òž¡œÐ€¹€ë€¿€á€Ç€¢€ë¡¥
2520
25216.7.4 CPUÎã³°ŽÉÍýµ¡Çœ€ÎœéŽü²œœèÍý€ÎÊѹ¹
2522
2523(6-7-4-1) OMIT_INITIALIZE_EXCEPTION¡Ê¥ª¥×¥·¥ç¥ó¡Ë
2524
2525CPUÎã³°ŽÉÍýµ¡Çœ€ÎœéŽü²œœèÍý€ò¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ÇÍѰՀ·¡€¥¿¡Œ¥²¥Ã¥ÈÈó°Íž
2526Éô€ËŽÞ€Þ€ì€ëÉžœà€Î³ä¹þ€ßŽÉÍýµ¡Çœ€ÎœéŽü²œœèÍý€òÍÑ€€€Ê€€Ÿì¹ç€Ë€Ï¡€€³€Î¥·
2527¥ó¥Ü¥ë€ò¥Þ¥¯¥íÄêµÁ€¹€ë¡¥
2528
2529€³€Î¥·¥ó¥Ü¥ë€ò¥Þ¥¯¥íÄêµÁ€¹€ë€È¡€EXCINIB€Èinitialize_exception€ÎÄêµÁ€¬¡€
2530¥«¡Œ¥Í¥ë€Î¥¿¡Œ¥²¥Ã¥ÈÈó°ÍžÉô€«€éŒè€êœü€«€ì€ë¡¥€Þ€¿¡€TNUM_EXCNO¡€
2531tnum_excno¡€excinib_table€ÎÄêµÁ€È¡€CPUÎã³°¥Ï¥ó¥É¥éËè€ÎœÐÆþžýœèÍý€òÀžÀ®
2532€¹€ë€¿€á€Îµ­œÒ¡ÊEXCHDR_ENTRY¥Þ¥¯¥í€Î¥ê¥¹¥È¡Ë€ò¡€¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿€Î¥Ñ
2533¥¹2€Î¥Æ¥ó¥×¥ì¡Œ¥È¥Õ¥¡¥€¥ë€Î¥¿¡Œ¥²¥Ã¥ÈÈó°ÍžÉô€Ë€è€Ã€Ækernel_cfg.c€ËÀžÀ®
2534€µ€ì€Ê€¯€Ê€ë¡¥
2535
2536(6-7-4-2) void initialize_exception(void)¡Ê¥ª¥×¥·¥ç¥ó¡Ë
2537
2538OMIT_INITIALIZE_EXCEPTION€ò¥Þ¥¯¥íÄêµÁ€·€¿Ÿì¹ç€Ë€Ï¡€€³€ÎŽØ¿ô€ò¥¿¡Œ¥²¥Ã¥È
2539°ÍžÉô€ÇÍѰՀ¹€ë¡¥OMIT_INITIALIZE_EXCEPTION€ò¥Þ¥¯¥íÄêµÁ€¹€ë€³€È€Ë€è€êŒè
2540€êœü€«€ì€ë€œ€ÎŸ€Î¥Ç¡Œ¥¿·¿¡€ÊÑ¿ô¡€¥Þ¥¯¥í€Ï¡€€³€ÎŽØ¿ô€Ç»ÈÍÑ€¹€ëŸì¹ç€Ë€Î
2541€ßÍѰՀ¹€ì€Ð€è€€¡¥
2542
25436.7.5 ¥Ç¥Õ¥©¥ë¥È€ÎCPUÎã³°¥Ï¥ó¥É¥é
2544
2545(6-7-5-1) void default_exc_handler(void *p_excinf)¡Ê¥ª¥×¥·¥ç¥ó¡Ë
2546
2547¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿€Ë€è€êCPUÎã³°¥Ï¥ó¥É¥é€Î¥Æ¡Œ¥Ö¥ë€òÀžÀ®€¹€ëŸì¹ç€Ê€É€Ë€Ï¡€
2548CPUÎã³°¥Ï¥ó¥É¥é€òÅÐÏ¿€·€Ê€«€Ã€¿CPUÎã³°¥Ï¥ó¥É¥éÈÖ¹æ€ËÂЀ·€Æ¡€¥Ç¥Õ¥©¥ë¥È
2549€ÎCPUÎã³°¥Ï¥ó¥É¥é€È€·€Æ¡€default_exc_handler€òÅÐÏ¿€¹€ë¡¥
2550
2551default_exc_handler€Ï¡€Éžœà€Î€â€Î€ò¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ÇÍѰՀ¹€ë€¬¡€¥æ¡Œ¥¶
2552€¬ÍѰՀ·€¿€â€Î€ÇÃÖ€­Ž¹€š€é€ì€ë€è€Š€Ë¡€OMIT_DEFAULT_EXC_HANDLER€ò¥Þ¥¯¥í
2553ÄêµÁ€·€¿Ÿì¹ç€Ë€Ï¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ÇÄêµÁ€·€Ê€€€è€Š€Ë€¹€ë¡¥€Ê€ª¡€¥æ¡Œ¥¶
2554€¬ÍѰՀ¹€ëŸì¹ç€ÎÌŸŸÎ€Ï¡€_kernel_default_exc_handler€È€Ê€ë¡¥
2555
25566.7.6 CPUÎ㳰ȯÀž»þ€Î¥·¥¹¥Æ¥àŸõÂրλ²ŸÈ
2557
2558(6-7-6-1) bool_t exc_sense_intmask(void *p_excinf)
2559
2560CPUÎã³°€ÎȯÀž€·€¿»þ€Î¥·¥¹¥Æ¥àŸõÂÖ€¬¡€¥«¡Œ¥Í¥ëŒÂ¹ÔÃæ€Ç€Ê€¯¡€¥¿¥¹¥¯¥³¥ó¥Æ
2561¥­¥¹¥È€Ç€¢€ê¡€Á޳ä¹þ€ß¥í¥Ã¥¯ŸõÂրǀʀ¯¡€CPU¥í¥Ã¥¯ŸõÂրǀʀ¯¡€³ä¹þ€ßÍ¥Àè
2562ÅÙ¥Þ¥¹¥¯Á޲òœüŸõÂրǀ¢€ë»þ€Ëtrue¡€€œ€Š€Ç€Ê€€»þ€Ëfalse€òÊÖ€¹ŽØ¿ô¡¥
2563
2564p_excinf€Ë€Ï¡€CPUÎã³°€ÎŸðÊó€òµ­²±€·€Æ€€€ëÎΰè€ÎÀèÆ¬ÈÖÃÏ€¬ÅÏ€µ€ì€ë¡¥
2565
2566CPUÎã³°€¬¥«¡Œ¥Í¥ëŽÉÍý³°€Î³ä¹þ€ßœèÍýÃæ€ÇȯÀž€·€¿Ÿì¹ç€Ë€âfalse€òÊÖ€µ€Ê€±
2567€ì€Ð€Ê€é€Ê€€€³€È€ËÃí°Õ€¹€ë€³€È¡¥
2568
25696.8 ¥«¡Œ¥Í¥ë€Îµ¯Æ°¡ŠœªÎ»€È¥¹¥¿¥Ã¥¯Îΰè€Ê€É
2570
2571(6-8-1) ¥¹¥¿¡Œ¥È¥¢¥Ã¥×¥â¥ž¥å¡Œ¥ë
2572
2573¥«¡Œ¥Í¥ë€Î¥¹¥¿¡Œ¥È¥¢¥Ã¥×¥â¥ž¥å¡Œ¥ë€Ï¡€¥·¥¹¥Æ¥à€Î¥ê¥»¥Ã¥Èžå€ËºÇœé€ËŒÂ¹Ô
2574€µ€ì€ë¥×¥í¥°¥é¥à€Ç€¢€ë¡¥¥¹¥¿¡Œ¥È¥¢¥Ã¥×¥â¥ž¥å¡Œ¥ë€Ï¡€ÉžœàŪ€Ë€Ï¡€¥×¥í¥»¥Ã
2575¥µ°ÍžÉô€Þ€¿€Ï¥Á¥Ã¥×°ÍžÉô€ÇÍѰՀ·°Ê²Œ€ÎœèÍý€ò¹Ô€Š€¬¡€€œ€ì€Ë€³€À€ï€ëɬ
2576Í׀πʀ€¡¥¶ñÂÎŪ€Ë€Ï¡€³«È¯ŽÄ¶­€ËÍѰՀµ€ì€Æ€€€ë¥¹¥¿¡Œ¥È¥¢¥Ã¥×¥â¥ž¥å¡Œ¥ë
2577€òÍÑ€€€ëÊýË¡¡Ê€³€ÎŸì¹ç¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ÇmainŽØ¿ô€òÍѰՀ¹€ëɬÍ×€¬€¢€ë¡Ë
2578€ä¡€¥¢¥×¥ê¥±¡Œ¥·¥ç¥ó€ÇÍѰՀ¹€ëŸì¹ç€¬¹Í€š€é€ì€ë¡¥
2579
2580(a) ¥×¥í¥»¥Ã¥µŸõÂրΜéŽü²œ
2581
2582¥×¥í¥»¥Ã¥µ¥â¡Œ¥É¡€¥¹¥¿¥Ã¥¯¥Ý¥€¥ó¥¿¡€¥Õ¥ì¡Œ¥à¥Ý¥€¥ó¥¿Åù¡€¥×¥í¥»¥Ã¥µ€ÎŸõ
2583ÂÖ€òœéŽü²œ€¹€ë¡¥€Þ€¿¡€NMI€òœü€¯€¹€Ù€Æ€Î³ä¹þ€ß€ò¥Þ¥¹¥¯€·€¿ŸõÂÖ¡ÊÁ޳ä¹þ€ß
2584¥í¥Ã¥¯ŸõÂÖ€ÈÆ±Åù€ÎŸõÂ֡ˀȀ¹€ë¡¥DRAM¥³¥ó¥È¥í¡Œ¥é€ÎœéŽü²œ€Ê€É¡€¥á¥â¥ê€ò
2585¥¢¥¯¥»¥¹€¹€ë€¿€á€ËɬÍ׀ʜéŽü²œœèÍý€ò€³€³€Ç¹Ô€Ã€Æ€â€è€€¡ÊŒ¡€Î
2586hardware_init_hook€Ç¹Ô€Ã€Æ€â€è€€¡Ë¡¥
2587
2588(b) hardware_init_hook€òžÆ€ÓœÐ€¹
2589
2590¥·¥¹¥Æ¥à€Î¥ê¥»¥Ã¥Èžå€¹€°€Ë¹Ô€ŠÉ¬Í׀΀¢€ë¥¿¡Œ¥²¥Ã¥È¥·¥¹¥Æ¥à°Íž€ÎœéŽü²œ
2591œèÍý€ò¹Ô€Š€¿€á€Ë¡€hardware_init_hook€òžÆ€ÓœÐ€¹¡¥hardware_init_hook€¬ÍÑ
2592°Õ€µ€ì€Æ€€€Ê€€Ÿì¹ç€Ï¡€²¿€â€·€Ê€€¡¥GNU³«È¯ŽÄ¶­€Ç€Ï¡€¥ê¥ó¥«¥¹¥¯¥ê¥×¥ÈÃæ€Î
2593weak definition€Ë€è€ê¡€hardware_init_hook€¬ÍѰՀµ€ì€Æ€€€Ê€€Ÿì¹ç€ÎÃÍ€ò0
2594€È€¹€ë€³€È€Ç¡€€³€ì€òŒÂžœ€Ç€­€ë¡¥weak definition€Îµ¡Çœ€ò»ý€¿€Ê€€³«È¯ŽÄ¶­
2595€Ç€Ï¡€hardware_init_hook€òɬ€ºžÆ€ÓœÐ€¹€³€È€Ë€¹€ë¡¥
2596
2597hardware_init_hook€Ï¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ÇÍѰՀ¹€ë€Î€¬Éžœà€Ç€¢€ë€¬¡€¥·¥¹
2598¥Æ¥à€Î¥ê¥»¥Ã¥Èžå€¹€°€Ë¹Ô€ŠÉ¬Í׀΀¢€ëœéŽü²œœèÍý€òÄɲÀ¹€ë€¿€á€Ë¡€¥¢¥×¥ê
2599¥±¡Œ¥·¥ç¥ó€ÇÍѰՀ·€¿€â€Î€òÍÑ€€€ëŸì¹ç€â€¢€ë¡¥
2600
2601¥á¥â¥ê¥¢¥¯¥»¥¹€ËɬÍ׀ʜéŽü²œœèÍý€òhardware_init_hook€Ç¹Ô€ŠŸì¹ç€Ë€Ï¡€€³
2602€ì€òžÆ€ÓœÐ€¹»þÅÀ€Ç¥á¥â¥ê€Ë¥¢¥¯¥»¥¹€¹€ë€³€È€¬€Ç€­€Ê€€€¿€á¡€ŽØ¿ô¡Ê¥µ¥Ö¥ë¡Œ
2603¥Á¥ó¡Ë€òžÆ€ÓœÐ€¹€¿€á€Ë¥¹¥¿¥Ã¥¯€ò»ÈÍÑ€¹€ë¥×¥í¥»¥Ã¥µ€Ç€Ï¡€Ìá€êÈÖÃÏ€òÈÆÍÑ
2604¥ì¥ž¥¹¥¿€ËÆþ€ì€ÆžÆ€ÓœÐ€¹€È€€€Ã€¿¹©É×€¬É¬Í׀ǀ¢€ë¡¥€³€ÎŸì¹ç¡€
2605hardware_init_hook€òCžÀžì€Çµ­œÒ€¹€ë€³€È€Ï€Ç€­€Ê€¯€Ê€ë€¬¡€€ä€à€ò€š€Ê€€¡¥
2606
2607(c) bss¥»¥¯¥·¥ç¥ó€Èdata¥»¥¯¥·¥ç¥ó€ÎœéŽü²œ
2608
2609bss¥»¥¯¥·¥ç¥ó€ò¥¯¥ê¥¢€·¡€data¥»¥¯¥·¥ç¥ó€ËœéŽüÃÍ€òÀßÄꀹ€ë¡¥
2610
2611€¿€À€·¡€¥«¡Œ¥Í¥ëËÜÂ΀ϡ€kerflg€¬false¡Ê¡á0¡Ë€ËœéŽü²œ€µ€ì€ë€³€È°Ê³°€Ë¡€
2612€³€ì€é€Î¥»¥¯¥·¥ç¥ó€¬œéŽü²œ€µ€ì€ë€³€È€Ë°Íž€·€Æ€€€Ê€€€¿€á¡€¥¹¥¿¡Œ¥È¥¢¥Ã
2613¥×¥â¥ž¥å¡Œ¥ë€ò¥¢¥×¥ê¥±¡Œ¥·¥ç¥ó€ÇÍѰՀ¹€ëŸì¹ç€Ç¡€¥·¥¹¥Æ¥à¥µ¡Œ¥Ó¥¹€ä¥¢¥×
2614¥ê¥±¡Œ¥·¥ç¥ó€¬€³€ì€é€Î¥»¥¯¥·¥ç¥ó€¬œéŽü²œ€µ€ì€ë€³€È€Ë°Íž€·€Æ€€€Ê€€Ÿì¹ç
2615€Ë€Ï¡€¥·¥¹¥Æ¥à€Îµ¯Æ°»þŽÖ€òûœÌ€¹€ë€¿€á€Ë¡€kerflg€òfalse€ËœéŽü²œ€¹€ë€À€±
2616€ÇœœÊ¬€Ç€¢€ë¡¥
2617
2618(d) software_init_hook€òžÆ€ÓœÐ€¹
2619
2620³«È¯ŽÄ¶­¡ÊÆÃ€Ë¥é¥€¥Ö¥é¥ê¡Ë€Ë°Íž€·€ÆÉ¬Í׀ʜéŽü²œœèÍý€ò¹Ô€Š€¿€á€Ë¡€
2621software_init_hook€òžÆ€ÓœÐ€¹¡¥software_init_hook€¬ÍѰՀµ€ì€Æ€€€Ê€€Ÿì¹ç
2622€Ï¡€²¿€â€·€Ê€€¡¥GNU³«È¯ŽÄ¶­€Ç€Ï¡€¥ê¥ó¥«¥¹¥¯¥ê¥×¥ÈÃæ€Îweak definition€Ë
2623€è€ê¡€software_init_hook€¬ÍѰՀµ€ì€Æ€€€Ê€€Ÿì¹ç€ÎÃÍ€ò0€È€¹€ë€³€È€Ç¡€€³€ì
2624€òŒÂžœ€Ç€­€ë¡¥weak definition€Îµ¡Çœ€ò»ý€¿€Ê€€³«È¯ŽÄ¶­€Ç€Ï¡€
2625software_init_hook€òɬ€ºžÆ€ÓœÐ€¹€³€È€Ë€¹€ë¡¥
2626
2627software_init_hook€Ï¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ÇÍѰՀ¹€ë€Î€¬Éžœà€Ç€¢€ë¡¥
2628
2629(e) sta_ker€ØÊ¬Žô
2630
2631sta_ker€òžÆ€ÓœÐ€¹¡¥sta_ker€Ï¡€NMI€òœü€¯€¹€Ù€Æ€Î³ä¹þ€ß€ò¥Þ¥¹¥¯€·€¿ŸõÂÖ
2632¡ÊÁ޳ä¹þ€ß¥í¥Ã¥¯ŸõÂÖ€ÈÆ±Åù€ÎŸõÂ֡ˀǞƀӜЀµ€Ê€±€ì€Ð€Ê€é€Ê€€¡¥sta_ker€«
2633€é€Ï¥ê¥¿¡Œ¥ó€¹€ë€³€È€¬€Ê€€€¿€á¡€¥¹¥¿¡Œ¥È¥¢¥Ã¥×¥â¥ž¥å¡Œ¥ë€ËÌá€Ã€Æ€¯€ë€³
2634€È€Ï¹Í€š€ëɬÍ×€¬€Ê€€¡¥
2635
2636(6-8-2) void target_initialize(void)
2637
2638¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ÎœéŽü²œ€ò¹Ô€ŠŽØ¿ô¡¥sta_ker€ÎºÇœé€ÇžÆ€ÓœÐ€µ€ì€ë¡¥¥×¥í¥»¥Ã
2639¥µ¡Š¥Á¥Ã¥×¡Š³«È¯ŽÄ¶­°Íž€ÎœéŽü²œœèÍý€ò¡€€œ€ì€é€Î°ÍžÉô€ËÀÚ€êʬ€±€ë€³€È
2640€â²ÄÇœ€Ç€¢€ë¡¥
2641
2642€³€ÎŽØ¿ô€Ï¡€€¢€¯€Þ€Ç€â¥«¡Œ¥Í¥ë€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ÎœéŽü²œœèÍý€ò¹Ô€Š€¿€á
2643€Î€â€Î€Ç€¢€ë¡¥¥¢¥×¥ê¥±¡Œ¥·¥ç¥ó€ËɬÍ׀ʜéŽü²œœèÍý€Ï¡€œéŽü²œ¥ë¡Œ¥Á¥ó€Ç¹Ô
2644€Š€Î€¬ŽðË܀ǀ¢€ë€¬¡€¥·¥¹¥Æ¥à€Î¥ê¥»¥Ã¥Èžå€¹€°€Ë¹Ô€ŠÉ¬Í×€¬€¢€ëŸì¹ç€Ë€Ï¡€
2645hardware_init_hook€òÍÑ€€€ë¡¥
2646
2647(6-8-3) void call_exit_kernel(void)
2648
2649È󥿥¹¥¯¥³¥ó¥Æ¥­¥¹¥È€ËÀڀꎹ€š€Æ¡€exit_kernel€ØÊ¬Žô€¹€ëŽØ¿ô¡¥ext_ker€«
2650€éžÆ€ÓœÐ€µ€ì€ë¡¥exit_kernel€«€é€Ï¥ê¥¿¡Œ¥ó€¹€ë€³€È€¬€Ê€€€¿€á¡€€³€ÎŽØ¿ô€Ë
2651Ìá€Ã€Æ€¯€ë€³€È€Ï¹Í€š€ëɬÍ×€¬€Ê€€¡¥
2652
2653È󥿥¹¥¯¥³¥ó¥Æ¥­¥¹¥È€ËÀڀꎹ€š€ë€Î€Ï¡€œªÎ»œèÍý¥ë¡Œ¥Á¥ó€ò¡€È󥿥¹¥¯¥³¥ó
2654¥Æ¥­¥¹¥ÈÍрΥ¹¥¿¥Ã¥¯€ÇŒÂ¹Ô€¹€ë€¿€á€Ç€¢€ë¡¥œªÎ»œèÍý¥ë¡Œ¥Á¥ó€ò¥¿¥¹¥¯ÍÑ€Î
2655¥¹¥¿¥Ã¥¯€ÇŒÂ¹Ô€¹€ë€È¡€³Æ¥¿¥¹¥¯€Î¥¹¥¿¥Ã¥¯Îΰè€Î¥µ¥€¥º€ò·èÄꀹ€ëºÝ€Ë¡€œª
2656λœèÍý¥ë¡Œ¥Á¥ó€¬»ÈÍÑ€¹€ë¥¹¥¿¥Ã¥¯Îΰè€ò¹ÍΞ€·€Ê€±€ì€Ð€Ê€é€Ê€€¡¥€³€ì€Ë€Ï¡€
2657œªÎ»œèÍý¥ë¡Œ¥Á¥ó€¬»ÈÍÑ€¹€ë¥¹¥¿¥Ã¥¯Îΰ耬Â瀭€€Ÿì¹ç€Ë³Æ¥¿¥¹¥¯€Î¥¹¥¿¥Ã¥¯
2658Îΰè€ò̵ÂÌ€ËÂ瀭€¯€·€Ê€±€ì€Ð€Ê€é€Ê€€€³€È€Ë²Ã€š€Æ¡€°Õ¿Þ€·€Ê€€¥¹¥¿¥Ã¥¯¥ª¡Œ
2659¥Ð¡Œ¥Õ¥í¡Œ€¬È¯Àž€¹€ë²ÄÇœÀ­€ò¹â€á€ë€È€€€ŠÌäÂꀬ€¢€ë¡¥
2660
2661€³€ÎŽØ¿ô€Ï¡€Á޳ä¹þ€ß¥í¥Ã¥¯ŸõÂրǞƀЀì€ë€¿€á¡€Á޳ä¹þ€ß¥í¥Ã¥¯ŸõÂÖ€«€éžÆ
2662€ÓœÐ€¹€³€È€¬€Ç€­€Ê€€ŽØ¿ô€òžÆ€Ð€Ê€€€è€Š€ËŒÂÁõ€·€Ê€±€ì€Ð€Ê€é€Ê€€¡¥
2663
2664(6-8-4) void target_exit(void)
2665
2666¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ÎœªÎ»œèÍý€ò¹Ô€ŠŽØ¿ô¡¥€³€ÎŽØ¿ô€Ï¡€¥«¡Œ¥Í¥ëœªÎ»œèÍý€ÎºÇ
2667žå€ËžÆ€ÓœÐ€µ€ì¡€¥ê¥¿¡Œ¥ó€·€Æ€Ï€Ê€é€Ê€€¡¥¥×¥í¥»¥Ã¥µ¡Š¥Á¥Ã¥×¡Š³«È¯ŽÄ¶­°Í
2668ž€ÎœªÎ»œèÍý€ò¡€€œ€ì€é€Î°ÍžÉô€ËÀÚ€êʬ€±€ë€³€È€â²ÄÇœ€Ç€¢€ë¡¥
2669
2670€³€ÎŽØ¿ô€Ç€Ï¡€ºÇœé€Ë¡€atexit€Ë€è€Ã€ÆÅÐÏ¿€µ€ì€¿ŽØ¿ô€È¥Ç¥¹¥È¥é¥¯¥¿€òžÆ€Ó
2671œÐ€¹€³€È€ò°Õ¿Þ€·€Æ€ª€ê¡€ÉžœàŪ€Ë€Ï¡€software_term_hook€òžÆ€ÓœÐ€¹¡¥
2672software_term_hook€¬ÍѰՀµ€ì€Æ€€€Ê€€Ÿì¹ç€Ï¡€²¿€â€·€Ê€€¡¥GNU³«È¯ŽÄ¶­€Ç€Ï¡€
2673¥ê¥ó¥«¥¹¥¯¥ê¥×¥ÈÃæ€Îweak definition€Ë€è€ê¡€software_term_hook€¬ÍѰՀµ€ì
2674€Æ€€€Ê€€Ÿì¹ç€ÎÃÍ€ò0€È€¹€ë€³€È€Ç¡€€³€ì€òŒÂžœ€Ç€­€ë¡¥weak definition€Îµ¡
2675Çœ€ò»ý€¿€Ê€€³«È¯ŽÄ¶­€Ç€Ï¡€software_term_hook€òɬ€ºžÆ€ÓœÐ€¹€³€È€Ë€¹€ë¡¥
2676
2677€³€ÎŽØ¿ô€Ï¡€Á޳ä¹þ€ß¥í¥Ã¥¯ŸõÂրǞƀЀì€ë€¿€á¡€Á޳ä¹þ€ß¥í¥Ã¥¯ŸõÂÖ€«€éžÆ
2678€ÓœÐ€¹€³€È€¬€Ç€­€Ê€€ŽØ¿ô€òžÆ€Ð€Ê€€€è€Š€ËŒÂÁõ€·€Ê€±€ì€Ð€Ê€é€Ê€€¡¥
2679
26806.9 ¥«¡Œ¥Í¥ëÆâÉô€Î¥Á¥å¡Œ¥Ë¥ó¥°
2681
26826.9.1 ¥Ó¥Ã¥È¥Þ¥Ã¥×¥µ¡Œ¥Á
2683
2684(6-9-1-1) OMIT_BITMAP_SEARCH¡Ê¥ª¥×¥·¥ç¥ó¡Ë
2685(6-9-1-2) uint_t bitmap_search(uint16_t bitmap)¡Ê¥ª¥×¥·¥ç¥ó¡Ë
2686
2687¥¿¡Œ¥²¥Ã¥ÈÈó°ÍžÉô€Ç¡€uint16_t·¿€ÎÀ°¿ôÃÍ¡Êbitmap¡ËÃæ€Î1€Î¥Ó¥Ã¥È€ÎÆâ¡€ºÇ
2688€â²Œ°Ì¡Ê±Š¡Ë€Î€â€Î€ò¥µ¡Œ¥Á€·¡€€œ€Î¥Ó¥Ã¥ÈÈÖ¹æ€òÊÖ€¹ŽØ¿ôbitmap_search€òÍÑ
2689°Õ€·€Æ€€€ë¡¥€³€³€Ç¡€¥Ó¥Ã¥ÈÈÖ¹æ€ÏºÇ²Œ°Ì¥Ó¥Ã¥È€ò0€È€·¡€bitmap€Ë0€ò»ØÄꀷ
2690€Æ€Ï€Ê€é€Ê€€€â€Î€È€·€Æ€€€ë¡¥
2691
2692¥Ó¥Ã¥È¥µ¡Œ¥ÁÌ¿Îá€ò»ý€Ä¥×¥í¥»¥Ã¥µ€Ç€Ï¡€bitmap_search€ò¡€¥Ó¥Ã¥È¥µ¡Œ¥ÁÌ¿Îá
2693€ò»È€Š€è€Š€Ëœñ€­ÄŸ€·€¿Êý€¬žúΚ€¬ÎÉ€€Ÿì¹ç€¬€¢€ë¡¥€³€Î€è€Š€ÊŸì¹ç€Ë€Ï¡€¥¿¡Œ
2694¥²¥Ã¥È°ÍžÉô€Ç¥Ó¥Ã¥È¥µ¡Œ¥ÁÌ¿Îá€ò»È€Ã€¿bitmap_search€òÄêµÁ€·¡€
2695OMIT_BITMAP_SEARCH€ò¥Þ¥¯¥íÄêµÁ€¹€ë¡¥
2696
2697Éžœà¥é¥€¥Ö¥é¥ê€Ë¥Ó¥Ã¥È¥µ¡Œ¥ÁÌ¿Îá€òÍÑ€€€¿ffs€¬€¢€ëŸì¹ç¡€bitmap_search€ò
2698(ffs(bitmap) - 1)€ËÄêµÁ€¹€ë€È€è€€¡¥
2699
2700(6-9-1-3) uint16_t PRIMAP_BIT(PRI pri)¡Ê¥ª¥×¥·¥ç¥ó¡Ë
2701
2702¥Ó¥Ã¥È¥µ¡Œ¥ÁÌ¿Îá€Î¥µ¡Œ¥ÁÊýžþ€¬µÕ€Ê€É€ÎÍýͳ€Ç¡€Í¥ÀèÅـȥӥåȀȀÎÂбþ€ò
2703Êѹ¹€·€¿€€Ÿì¹ç€Ë€Ï¡€PRIMAP_BIT€ò¥Þ¥¯¥íÄêµÁ€¹€ë¡¥
2704
27056.9.2 ¥Ó¥Ã¥È¥Õ¥£¡Œ¥ë¥É
2706
2707(6-9-2-1) BIT_FIELD_UINT¡Ê¥ª¥×¥·¥ç¥ó¡Ë
2708
27098¥Ó¥Ã¥È°Ê²Œ€ÎÉý€Î¥Ó¥Ã¥È¥Õ¥£¡Œ¥ë¥É€Ç¡€Éä¹æÌµ€·À°¿ôÃÍ€òÊÝ»ý€·€¿€€Ÿì¹ç€ËÍÑ
2710€€€ë€Ù€­¥Ç¡Œ¥¿·¿¡¥¥Ç¥Õ¥©¥ë¥È€ÎÄêµÁ€Ïunsigned int€È€Ê€Ã€Æ€€€ë€¬¡€¥¿¡Œ¥²¥Ã
2711¥È€ä¥Ä¡Œ¥ë°Íž€Ç¡€unsigned char€Þ€¿€Ïunsigned short€ËÄêµÁ€·€¿Êý€¬žúΚ€¬
2712ÎÉ€€Ÿì¹ç€¬€¢€ë¡¥
2713
2714(6-9-2-2) BIT_FIELD_BOOL¡Ê¥ª¥×¥·¥ç¥ó¡Ë
2715
27161¥Ó¥Ã¥ÈÉý€Î¥Ó¥Ã¥È¥Õ¥£¡Œ¥ë¥É€Ç¡€¥Ö¡Œ¥ëÃÍ€òÊÝ»ý€·€¿€€Ÿì¹ç€ËÍÑ€€€ë€Ù€­¥Ç¡Œ
2717¥¿·¿¡¥¥Ç¥Õ¥©¥ë¥È€Ç€ÏBIT_FIELD_UINT€ÈƱ°ì€ËÄêµÁ€·€Æ€€€ë€¬¡€¥Ö¡Œ¥ëÃÍ€òÊÝ
2718»ý€¹€ë€³€È€òÌÀŒš€¹€ë€¿€á€ËÊÌ€ÎÌŸÁ°€È€·€Æ€€€ë¡¥
2719
2720(6-9-2-3) TBIT_TCB_PRIORITY¡Ê¥ª¥×¥·¥ç¥ó¡Ë
2721
2722žœºßÍ¥ÀèÅÙ¡Ê€ª€è€Ó¡€¥ß¥å¡Œ¥Æ¥Ã¥¯¥¹³ÈÄ¥€Ë€ª€±€ë¥Ù¡Œ¥¹Í¥ÀèÅÙ¡Ë€òÊÝ»ý€¹€ë
2723€¿€á€ÎTCBÃæ€Î¥Õ¥£¡Œ¥ë¥É€Î¥Ó¥Ã¥È¿ô¡¥¥Ç¥Õ¥©¥ë¥È€Ç€Ï8¥Ó¥Ã¥È€ËÄêµÁ€·€Æ€€€ë
2724€¬¡€€œ€ì°Ê³°€ËÄêµÁ€·€¿€€Ÿì¹ç€Ë¡€¥Ó¥Ã¥È¿ô€ò€³€ÎÌŸÁ°€Ë¥Þ¥¯¥íÄêµÁ€¹€ë¡¥
2725
27266.10 ¥«¡Œ¥Í¥ëŒÂÁõ€ËŽØ€¹€ë€œ€ÎŸ€ÎÄêµÁ
2727
27286.10.1 ¥¿¡Œ¥²¥Ã¥È°Íž€Î¥ª¥Ö¥ž¥§¥¯¥È°À­
2729
2730(6-10-1-1) TARGET_TSKATR¡Ê¥ª¥×¥·¥ç¥ó¡Ë  ¥¿¡Œ¥²¥Ã¥ÈÄêµÁ€Î¥¿¥¹¥¯Â°À­
2731(6-10-1-2) TARGET_ISRATR¡Ê¥ª¥×¥·¥ç¥ó¡Ë  ¥¿¡Œ¥²¥Ã¥ÈÄêµÁ€ÎISR°À­
2732(6-10-1-3) TARGET_INHATR¡Ê¥ª¥×¥·¥ç¥ó¡Ë  ¥¿¡Œ¥²¥Ã¥ÈÄêµÁ€Î³ä¹þ€ß¥Ï¥ó¥É¥é°À­
2733(6-10-1-4) TARGET_INTATR¡Ê¥ª¥×¥·¥ç¥ó¡Ë  ¥¿¡Œ¥²¥Ã¥ÈÄêµÁ€Î³ä¹þ€ß°À­
2734(6-10-1-5) TARGET_EXCATR¡Ê¥ª¥×¥·¥ç¥ó¡Ë  ¥¿¡Œ¥²¥Ã¥ÈÄêµÁ€ÎCPUÎã³°¥Ï¥ó¥É¥é°À­
2735
2736³Æ¥ª¥Ö¥ž¥§¥¯¥È€Î°À­€ò¡€¥¿¡Œ¥²¥Ã¥ÈÄêµÁ€Ë³ÈÄ¥€¹€ëŸì¹ç€Ë¡€³ºÅö€¹€ë¥ª¥Ö¥ž¥§
2737¥¯¥È°À­€òŒš€¹ÊÑ¿ô€Ë¡€³ÈÄ¥€Ë»ÈÍÑ€¹€ë¥Ó¥Ã¥È€ÎÏÀÍýÏ€òÄêµÁ€¹€ë¡¥€³€ì€Ë€è
2738€ê¡€³ÈÄ¥€Ë»ÈÍÑ€¹€ë¥Ó¥Ã¥È€¬ÀßÄꀵ€ì€Æ€€€ëŸì¹ç€Ë¡€¥š¥é¡Œ€Ë€Ê€ë€Î€òËÉ€°¡¥
2739
2740€Ê€ª¡€TOPPERS¿·À€Â奫¡Œ¥Í¥ëÅý¹ç»ÅÍÍœñ€Ç€Ï¡€³ä¹þ€ß¥µ¡Œ¥Ó¥¹¥ë¡Œ¥Á¥ó¡ÊISR¡Ë
2741°À­€ò¥¿¡Œ¥²¥Ã¥ÈÄêµÁ€Ç³ÈÄ¥€Ç€­€ë»ÅÍ̀ȀπʀÀƀ€€Ê€€¡¥
2742
27436.10.2 ¥š¥é¡Œ¥Á¥§¥Ã¥¯ÊýË¡€Î»ØÄê
2744
2745(6-10-2-1) TARGET_MIN_STKSZ¡Ê¥ª¥×¥·¥ç¥ó¡Ë
2746
2747¥¿¡Œ¥²¥Ã¥ÈÄêµÁ€Ç¡€¥¿¥¹¥¯€Î¥¹¥¿¥Ã¥¯¥µ¥€¥º€ÎºÇŸ®ÃÍ€òÀßÄꀹ€ëŸì¹ç€Ë€Ï¡€€³
2748€ÎÊÑ¿ô€ò¥¹¥¿¥Ã¥¯¥µ¥€¥º€ÎºÇŸ®ÃÍ€ËÄêµÁ€¹€ë¡¥
2749
2750(6-10-2-2) TARGET_MIN_ISTKSZ¡Ê¥ª¥×¥·¥ç¥ó¡Ë
2751
2752¥¿¡Œ¥²¥Ã¥ÈÄêµÁ€Ç¡€È󥿥¹¥¯¥³¥ó¥Æ¥­¥¹¥È€Î¥¹¥¿¥Ã¥¯¥µ¥€¥º€ÎºÇŸ®ÃÍ€òÀßÄꀹ
2753€ëŸì¹ç€Ë€Ï¡€€³€ÎÊÑ¿ô€ò¥¹¥¿¥Ã¥¯¥µ¥€¥º€ÎºÇŸ®ÃÍ€ËÄêµÁ€¹€ë¡¥
2754
2755(6-10-2-3) CHECK_STKSZ_ALIGN¡Ê¥ª¥×¥·¥ç¥ó¡Ë
2756
2757¥¹¥¿¥Ã¥¯Îΰè€Î¥µ¥€¥º€¬€¢€ëÃ͡ʥ¢¥é¥€¥óñ°Ì¡Ë€ÎÇÜ¿ô€Ç€Ê€±€ì€Ð€Ê€é€Ê€€Ÿì
2758¹ç€Ë¡€€³€ÎÊÑ¿ô€ò¥¢¥é¥€¥óñ°Ì€ËÄêµÁ€¹€ë¡¥€³€ÎÊÑ¿ô€òÄêµÁ€¹€ë€³€È€Ç¡€
2759kernel.tf€ª€è€Óacre_tsk¡ÊưŪÀžÀ®µ¡Çœ³ÈÄ¥¥Ñ¥Ã¥±¡Œ¥ž€Î€ß¡Ë€Ë€ª€€€Æ¡€¥¹¥¿¥Ã
2760¥¯Îΰè€Î¥µ¥€¥º€¬Àµ€·€¯€Ê€€¡Ê€³€ÎÊÑ¿ô€ËÄêµÁ€·€¿ÃÍ€ÎÇÜ¿ô€Ç€Ê€€¡ËŸì¹ç€Î¥š
2761¥é¡Œ€ò¥Á¥§¥Ã¥¯€¹€ë€è€Š€Ë€Ê€ë¡¥¥Á¥§¥Ã¥¯€¬É¬Í׀ʀ€Ÿì¹ç€Ë€Ï¡€€³€ÎÊÑ¿ô€òÄê
2762µÁ€·€Ê€€¡¥
2763
2764(6-10-2-4) CHECK_FUNC_ALIGN¡Ê¥ª¥×¥·¥ç¥ó¡Ë       œèÍýñ°Ì€Î¥¢¥é¥€¥óñ°Ì
2765(6-10-2-5) CHECK_FUNC_NONNULL¡Ê¥ª¥×¥·¥ç¥ó¡Ë     œèÍýñ°Ì€ÎÈóNULL¥Á¥§¥Ã¥¯
2766(6-10-2-6) CHECK_STACK_ALIGN¡Ê¥ª¥×¥·¥ç¥ó¡Ë      ¥¹¥¿¥Ã¥¯Îΰè€Î¥¢¥é¥€¥óñ°Ì
2767(6-10-2-7) CHECK_STACK_NONNULL¡Ê¥ª¥×¥·¥ç¥ó¡Ë¥¹¥¿¥Ã¥¯Îΰè€ÎÈóNULL¥Á¥§¥Ã¥¯
2768(6-10-2-8) CHECK_MPF_ALIGN¡Ê¥ª¥×¥·¥ç¥ó¡Ë        žÇÄêĹ¥á¥â¥ê¥×¡Œ¥ëÎΰè€Î¥¢¥é¥€¥óñ°Ì
2769(6-10-2-9) CHECK_MPF_NONNULL¡Ê¥ª¥×¥·¥ç¥ó¡ËžÇÄêĹ¥á¥â¥ê¥×¡Œ¥ëÎΰè€ÎÈóNULL¥Á¥§¥Ã¥¯
2770
2771œèÍýñ°Ì¡¿¥¹¥¿¥Ã¥¯Îΰ衿žÇÄêĹ¥á¥â¥ê¥×¡Œ¥ëÎΰè€ÎÀèÆ¬ÈÖÃÏ€¬€¢€ëÃ͡ʥ¢¥é
2772¥€¥óñ°Ì¡Ë€ÎÇÜ¿ô€Ç€Ê€±€ì€Ð€Ê€é€Ê€€Ÿì¹ç€Ë¡€€œ€ì€Ÿ€ì¡€CHECK_FUNC_ALIGN¡¿
2773CHECK_STACK_ALIGN¡¿CHECK_MPF_ALIGN€ò¥¢¥é¥€¥óñ°Ì€ËÄêµÁ€¹€ë¡¥œèÍýñ°Ì¡¿
2774¥¹¥¿¥Ã¥¯Îΰ衿žÇÄêĹ¥á¥â¥ê¥×¡Œ¥ëÎΰè€ÎÀèÆ¬ÈÖÃÏ€¬NULL€Ç€Ê€€€«€Î¥Á¥§¥Ã¥¯
2775€ò¹Ô€ŠŸì¹ç€Ë€Ï¡€€œ€ì€Ÿ€ìCHECK_FUNC_NONNULL¡¿CHECK_STACK_NONNULL¡¿
2776CHECK_MPF_NONNULL€òÄêµÁ€¹€ë¡¥
2777
2778(6-10-2-10) CHECK_MB_ALIGN¡Ê¥ª¥×¥·¥ç¥ó¡Ë        ŽÉÍýÎΰè€Î¥¢¥é¥€¥óñ°Ì
2779
2780¥«¡Œ¥Í¥ëÆâ€ÎŽÉÍýÎΰè¡Ê¶ñÂÎŪ€Ë€Ï¡€¥Ç¡Œ¥¿¥­¥å¡ŒŽÉÍýÎΰ血ͥÀèÅ٥ǡŒ¥¿
2781¥­¥å¡ŒŽÉÍýÎΰ血žÇÄêĹ¥á¥â¥ê¥×¡Œ¥ëŽÉÍýÎΰè¡Ë€ÎÀèÆ¬ÈÖÃÏ€¬€¢€ëÃ͡ʥ¢¥é¥€
2782¥óñ°Ì¡Ë€ÎÇÜ¿ô€Ç€Ê€±€ì€Ð€Ê€é€Ê€€Ÿì¹ç€Ë¡€€³€ÎÊÑ¿ô€ò¥¢¥é¥€¥óñ°Ì€ËÄêµÁ€¹
2783€ë¡¥Æ°ÅªÀžÀ®µ¡Çœ³ÈÄ¥¥Ñ¥Ã¥±¡Œ¥ž€ò»ÈÍÑ€·€Ê€€Ÿì¹ç€Ë€Ï¡€ÄêµÁ€¹€ëɬÍ×€¬€Ê€€¡¥
2784
27856.10.3 È󥿥¹¥¯¥³¥ó¥Æ¥­¥¹¥ÈÍрΥ¹¥¿¥Ã¥¯Îΰè
2786
2787(6-10-3-1) DEFAULT_ISTKSZ
2788
2789DEF_ICS€Ë€è€êÈ󥿥¹¥¯¥³¥ó¥Æ¥­¥¹¥ÈÍрΥ¹¥¿¥Ã¥¯Îΰ耬»ØÄꀵ€ì€Ê€€Ÿì¹ç€Î¡€
2790¥Ç¥Õ¥©¥ë¥È€Î¥¹¥¿¥Ã¥¯Îΰè€Î¥µ¥€¥º¡¥
2791
2792(6-10-3-2) DEFAULT_ISTK¡Ê¥ª¥×¥·¥ç¥ó¡Ë
2793
2794DEF_ICS€Ë€è€êÈ󥿥¹¥¯¥³¥ó¥Æ¥­¥¹¥ÈÍрΥ¹¥¿¥Ã¥¯Îΰ耬»ØÄꀵ€ì€Ê€€Ÿì¹ç€Î¡€
2795¥Ç¥Õ¥©¥ë¥È€Î¥¹¥¿¥Ã¥¯Îΰè€ÎÀèÆ¬ÈÖÃÏ¡¥€³€Î¥Þ¥¯¥í€¬ÄêµÁ€µ€ì€Ê€€Ÿì¹ç€Ë€Ï¡€
2796¥µ¥€¥º€¬DEFAULT_ISTKSZ€Î¥¹¥¿¥Ã¥¯Îΰ耬¡€ÇÛÎó€Ë€è€ê³ÎÊÝ€µ€ì€ë¡¥
2797
2798(6-10-3-3) STK_T *TOPPERS_ISTKPT(STK_T *istk, SIZE istksz)¡Ê¥ª¥×¥·¥ç¥ó¡Ë
2799
2800È󥿥¹¥¯¥³¥ó¥Æ¥­¥¹¥ÈÍрΥ¹¥¿¥Ã¥¯¥Ý¥€¥ó¥¿€ÎœéŽüÃÍ€òÊÝ»ý€¹€ëÊÑ¿ô¡Êistkpt¡Ë
2801€òÍÑ€€€ëŸì¹ç€Ë¡€€³€Î¥·¥ó¥Ü¥ë€Ë¡€¥¹¥¿¥Ã¥¯Îΰè€ÎÀèÆ¬ÈÖÃÏ¡Êistk¡Ë€È¥¹¥¿¥Ã
2802¥¯Îΰè€Î¥µ¥€¥º¡Êistksz¡Ë€«€é¡€¥¹¥¿¥Ã¥¯¥Ý¥€¥ó¥¿€ÎœéŽüÃÍ€òµá€á€ë¥Þ¥¯¥í€ò
2803ÄêµÁ€¹€ë¡¥
2804
28056.10.4 ¶õ¥é¥Ù¥ë€ÎÄêµÁ
2806
2807(6-10-4-1) TOPPERS_EMPTY_LABEL(type, symbol)¡Ê¥ª¥×¥·¥ç¥ó¡Ë
2808
2809¥ê¥ó¥¯¥š¥é¡Œ€òËÉ€°€¿€á€Ë¡€¥Ç¡Œ¥¿·¿type€ÎÇÛÎó€Ç€¢€ëÊÑ¿ôsymbol€ËÄêµÁ€òÍ¿
2810€š€ë€¿€á€Î¥Þ¥¯¥í¡¥Í¿€š€¿ÄêµÁ€¬»²ŸÈ€µ€ì€ë€³€È€Ï€Ê€€€¿€á¡€€É€Î€è€Š€ÊÄêµÁ
2811€òÍ¿€š€Æ€â€è€€¡¥
2812
2813¥Ç¥Õ¥©¥ë¥È€Ç€Ï¡€symbol€ò¡€Í×ÁÇ·¿€¬type€Ç¥µ¥€¥º€¬0€ÎÇÛÎó€ËÄêµÁ€·€Æ€€€ë¡¥
2814¥µ¥€¥º€¬0€ÎÇÛÎ󀬥š¥é¡Œ€È€Ê€é€Ê€€¥³¥ó¥Ñ¥€¥é¡ÊGCC€Ï€³€ì€Ë³ºÅö¡Ë€òÍÑ€€€ë
2815Ÿì¹ç€Ë€Ï¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ÇÄêµÁ€¹€ëɬÍ׀πʀ€¡¥
2816
28176.11 ¥È¥ì¡Œ¥¹¥í¥°µ¡Çœ€ËŽØ€¹€ëÀßÄê
2818
2819ASP¥«¡Œ¥Í¥ë€Î¥œ¡Œ¥¹¥³¡Œ¥É€Ë€Ï¡€¥«¡Œ¥Í¥ë€ÎŒÂ¹Ô¥È¥ì¡Œ¥¹¥í¥°€òŒèÆÀ€¹€ë€¿€á
2820€Î¥Þ¥¯¥íÅù€¬Ëä€á¹þ€ó€Ç€¢€ë¡¥¥Ç¥Õ¥©¥ë¥È€Ç€Ï¡€€³€ì€é€Î¥Þ¥¯¥í€Ï¶õ€ËÄêµÁ€µ
2821€ì€Æ¥È¥ì¡Œ¥¹¥í¥°€ÎŒèÆÀ€Ï¹Ô€ï€Ê€€€¬¡€€³€ì€é€Î¥Þ¥¯¥í€òŬÀÚ€ËÄêµÁ€¹€ë€³€È
2822€Ç¥È¥ì¡Œ¥¹¥í¥°€ÎŒèÆÀ€ò¹Ô€Š€³€È€¬€Ç€­€ë¡¥
2823
28246.11.1 ŒèÆÀ€Ç€­€ë¥È¥ì¡Œ¥¹¥í¥°€ÎŒïÎà€È¥Þ¥¯¥í
2825
2826ŒèÆÀ€Ç€­€ë¥È¥ì¡Œ¥¹¥í¥°€ÎŒïÎà€È¡€€œ€ì€òŒèÆÀ€¹€ë€¿€á€ËÄêµÁ€¹€ë¥Þ¥¯¥í€ÏŒ¡
2827€ÎÄÌ€ê€Ç€¢€ë¡¥
2828
2829(a) ¥«¡Œ¥Í¥ë€Îưºî³«»Ï€ÈœªÎ»
2830
2831Œ¡€Î¥Þ¥¯¥í€òÄêµÁ€¹€ë€³€È€Ç¡€¥«¡Œ¥Í¥ë€Îưºî³«»Ï»þ€ÈœªÎ»»þ€Î¥È¥ì¡Œ¥¹¥í¥°
2832€òŒèÆÀ€¹€ë€³€È€¬€Ç€­€ë¡¥
2833
2834        LOG_KER_ENTER           ¥«¡Œ¥Í¥ë€¬Æ°ºî€ò³«»Ï€¹€ëÄŸÁ°¡ÊœéŽü²œ€ÎŽ°Î»žå¡Ë
2835        LOG_KER_LEAVE           ¥«¡Œ¥Í¥ë€ÎœªÎ»¡Êext_ker¡Ë€¬žÆ€Ð€ì€¿ÄŸžå¡ÊœªÎ»œè
2836                                                Íý€ÎŒÂ¹ÔÁ°¡Ë
2837
2838(b) œèÍýñ°Ì€ÎŒÂ¹Ô³«»Ï€ÈœªÎ»
2839
2840Œ¡€Î¥Þ¥¯¥í€òÄêµÁ€¹€ë€³€È€Ç¡€³ä¹þ€ß¥Ï¥ó¥É¥é¡ÊINH¡Ë¡€³ä¹þ€ß¥µ¡Œ¥Ó¥¹¥ë¡Œ¥Á
2841¥ó¡ÊISR¡Ë¡€ŒþŽü¥Ï¥ó¥É¥é¡ÊCYC¡Ë¡€¥¢¥é¡Œ¥à¥Ï¥ó¥É¥é¡ÊALM¡Ë¡€CPUÎã³°¥Ï¥ó¥É
2842¥é¡ÊEXC¡Ë¡€¥¿¥¹¥¯Îã³°œèÍý¥ë¡Œ¥Á¥ó¡ÊTEX¡Ë€ÎŒÂ¹Ô³«»ÏÁ°€ÈœªÎ»žå€Î¥È¥ì¡Œ¥¹
2843¥í¥°€òŒèÆÀ€¹€ë€³€È€¬€Ç€­€ë¡¥
2844
2845        LOG_<œèÍýñ°Ìά¹æ>_ENTER        œèÍýñ°Ì€ÎŒÂ¹Ô³«»ÏÄŸÁ°
2846        LOG_<œèÍýñ°Ìά¹æ>_LEAVE        œèÍýñ°Ì€ÎœªÎ»ÄŸžå
2847
2848³ä¹þ€ß¥Ï¥ó¥É¥é€Ï¡€¥¢¥×¥ê¥±¡Œ¥·¥ç¥ó€¬ÅÐÏ¿€·€¿€â€Î€Î€ß€òÂП݀Ȁ·¡€³ä¹þ€ß
2849¥µ¡Œ¥Ó¥¹¥ë¡Œ¥Á¥ó€òžÆ€ÓœÐ€¹€¿€á€Ë¥«¡Œ¥Í¥ëÆâ€ËÀžÀ®€µ€ì€ë€â€Î€ÏÂП݀Ȁ·€Ê
2850€€¡¥¥¿¥¹¥¯€ÎŒÂ¹Ô³«»Ï€ÈœªÎ»€Ï¡€ÂŸ€ÎÊýË¡€ÇŒèÆÀ€Ç€­€ë€¿€á¡€€³€ÎÊýË¡€ÏÍѰÕ
2851€·€Æ€€€Ê€€¡¥
2852
2853€Ê€ª¡€³ä¹þ€ß¥Ï¥ó¥É¥é€ÈCPUÎã³°¥Ï¥ó¥É¥é€ÎŒÂ¹Ô³«»Ï€ÈœªÎ»€Î¥È¥ì¡Œ¥¹¥í¥°ŒèÆÀ
2854€Ï¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ÇŒÂÁõ€¹€ëɬÍ×€¬€¢€ë¡¥ŸÜ€·€¯€Ï¡€¡Ö6.2 ¥È¥ì¡Œ¥¹¥í¥°
2855µ¡Çœ€Ø€ÎÂбþ¡×¡Ö6.6.1 ³ä¹þ€ß¥Ï¥ó¥É¥é€ÎœÐÆþžýœèÍý¡×¡Ö6.7.1 CPUÎã³°¥Ï¥ó¥É
2856¥é€ÎœÐÆþžýœèÍý¡×€ÎÀá€ò»²ŸÈ€¹€ë€³€È¡¥
2857
2858(c) ¥¿¥¹¥¯ŸõÂÖ€ÎÊѲœ
2859
2860Œ¡€Î¥Þ¥¯¥í€òÄêµÁ€¹€ë€³€È€Ç¡€¥¿¥¹¥¯ŸõÂÖ€¬ÊѲœ€·€¿»þ€Î¥È¥ì¡Œ¥¹¥í¥°€òŒèÆÀ
2861€¹€ë€³€È€¬€Ç€­€ë¡¥€¿€À€·¡€ŒÂ¹ÔŸõÂրȌ¹ԲÄÇœŸõÂրΎրÎÁ«°Ü€Ï¡€ÂŸ€ÎÊýË¡
2862€ÇŒèÆÀ€Ç€­€ë€¿€á¡€€³€Î¥Þ¥¯¥í€Ç€ÏŒèÆÀ€Ç€­€Ê€€¡¥
2863
2864        LOG_TSKSTAT             ¥¿¥¹¥¯ŸõÂÖ€ÎÊѲœ
2865
2866(d) ¥Ç¥£¥¹¥Ñ¥Ã¥Á¥ã€ÎŒÂ¹Ô³«»Ï€ÈœªÎ»
2867
2868Œ¡€Î¥Þ¥¯¥í€òÄêµÁ€¹€ë€³€È€Ç¡€¥Ç¥£¥¹¥Ñ¥Ã¥Á¥ã€¬ŒÂ¹Ô³«»Ï€¹€ë»þ€È¡€œªÎ»€¹€ë
2869»þ€Î¥È¥ì¡Œ¥¹¥í¥°€òŒèÆÀ€¹€ë€³€È€¬€Ç€­€ë¡¥
2870
2871        LOG_DSP_ENTER   ¥Ç¥£¥¹¥Ñ¥Ã¥Á¥ã€ÎŒÂ¹Ô³«»Ï
2872        LOG_DSP_LEAVE   ¥Ç¥£¥¹¥Ñ¥Ã¥Á¥ã€ÎœªÎ»
2873
2874¥Ç¥£¥¹¥Ñ¥Ã¥Á¥ã€ÎŒÂ¹Ô³«»Ï€Ï¡€¥¿¥¹¥¯€¬ŒÂ¹ÔŸõÂÖ€«€éŒÂ¹Ô²ÄÇœŸõÂÖ€ËÁ«°Ü€¹€ë
2875¥¿¥€¥ß¥ó¥°€Ç€¢€ë€¿€á¡€ŒÂ¹Ô²ÄÇœŸõÂÖ€ØÁ«°Ü€¹€ë¥¿¥¹¥¯€ÎTCB€Ø€Î¥Ý¥€¥ó¥¿€ò¥Ñ
2876¥é¥á¡Œ¥¿€È€¹€ë¡¥µÕ€Ë¡€¥Ç¥£¥¹¥Ñ¥Ã¥Á¥ã€ÎœªÎ»€Ï¡€¥¿¥¹¥¯€¬ŒÂ¹Ô²ÄÇœŸõÂÖ€«€é
2877ŒÂ¹ÔŸõÂÖ€ËÁ«°Ü€¹€ë¥¿¥€¥ß¥ó¥°€Ç€¢€ë€¿€á¡€ŒÂ¹ÔŸõÂÖ€ØÁ«°Ü€¹€ë¥¿¥¹¥¯€ÎTCB€Ø
2878€Î¥Ý¥€¥ó¥¿€ò¥Ñ¥é¥á¡Œ¥¿€È€¹€ë¡¥
2879
2880ASP¥«¡Œ¥Í¥ë€Ç€Ï¡€ŒÂ¹Ô€Ç€­€ë¥¿¥¹¥¯€¬€Ê€¯¡€¥«¡Œ¥Í¥ë€¬¥¢¥€¥É¥ëŸõÂրˀʀëŸì
2881¹ç€Ë€Ï¡€¥Ç¥£¥¹¥Ñ¥Ã¥Á¥ã€ÎÃæ€Ëα€Þ€ë¡¥€œ€Î€¿€á¡€¥¢¥€¥É¥ëŸõÂր؀ÎÁ«°Ü€È¥¢
2882¥€¥É¥ëŸõÂÖ€«€éŸ€ÎŸõÂր؀ÎÁ«°Ü€Ï¡€€³€Î¥Þ¥¯¥í€Ç€ÏŒèÆÀ€Ç€­€Ê€€¡¥
2883
2884€Ê€ª¡€¥Ç¥£¥¹¥Ñ¥Ã¥Á¥ã€ÎŒÂ¹Ô³«»Ï€ÈœªÎ»€Î¥È¥ì¡Œ¥¹¥í¥°ŒèÆÀ€Ï¡€¥¿¡Œ¥²¥Ã¥È°Í
2885žÉô€ÇŒÂÁõ€¹€ëɬÍ×€¬€¢€ë¡¥ŸÜ€·€¯€Ï¡€¡Ö6.2 ¥È¥ì¡Œ¥¹¥í¥°µ¡Çœ€Ø€ÎÂбþ¡×€È
2886¡Ö6.5.2 ¥Ç¥£¥¹¥Ñ¥Ã¥Á¥ãËÜÂΡ׀ÎÀá€ò»²ŸÈ€¹€ë€³€È¡¥
2887
2888(e) ¥µ¡Œ¥Ó¥¹¥³¡Œ¥ë€ÎÆþžý€ÈœÐžý
2889
2890Œ¡€Î¥Þ¥¯¥í€òÄêµÁ€¹€ë€³€È€Ç¡€³Æ¥µ¡Œ¥Ó¥¹¥³¡Œ¥ë€ÎÆþžý€ÈœÐžý€Î¥È¥ì¡Œ¥¹¥í¥°
2891€òŒèÆÀ€¹€ë€³€È€¬€Ç€­€ë¡¥
2892
2893        LOG_<¥µ¡Œ¥Ó¥¹¥³¡Œ¥ë€ÎÂçÊž»úÉœµ­>_ENTER          ¥µ¡Œ¥Ó¥¹¥³¡Œ¥ëÌŸ€ÎÆþžý
2894        LOG_<¥µ¡Œ¥Ó¥¹¥³¡Œ¥ë€ÎÂçÊž»úÉœµ­>_LEAVE          ¥µ¡Œ¥Ó¥¹¥³¡Œ¥ëÌŸ€ÎœÐžý
2895
2896€œ€ì€Ÿ€ì€Î¥Þ¥¯¥í€ÎÌŸŸÎ€ä¥Ñ¥é¥á¡Œ¥¿€ÎŸÜºÙ€Ë€Ä€€€Æ€Ï¡€¥«¡Œ¥Í¥ë€Î¥œ¡Œ¥¹¥³¡Œ
2897¥É€ò»²ŸÈ€¹€ë€³€È¡¥
2898
28996.11.2 ¥È¥ì¡Œ¥¹¥í¥°µ­Ï¿€Î¥µ¥ó¥×¥ë¥³¡Œ¥É
2900
2901¥È¥ì¡Œ¥¹¥í¥°€òµ­Ï¿€¹€ëÊýË¡€Î°ìÎã€È€·€Æ¡€¥á¥â¥êŸå€Ë¥È¥ì¡Œ¥¹¥í¥°€òµ­Ï¿€¹
2902€ë€¿€á€Î¥µ¥ó¥×¥ë¥³¡Œ¥É€òarch/logtrace¥Ç¥£¥ì¥¯¥È¥ê€ËÍѰՀ·€Æ€€€ë¡¥€³€Î¥µ
2903¥ó¥×¥ë¥³¡Œ¥É€Ï¡€¥·¥¹¥Æ¥à¥í¥°µ¡Çœ€ÈƱÍ̀Υȥ졌¥¹¥í¥°µ¡Çœ€òÍѰՀ·¡€¥È¥ì¡Œ
2904¥¹¥í¥°ŸðÊó€ò¥á¥â¥êŸå€Ëµ­Ï¿€¹€ë€È€È€â€Ë¡€€œ€ì€òÆÉ€ßœÐ€·€ÆÉœŒš€¹€ëµ¡Çœ€ò
2905ŒÂžœ€·€Æ€€€ë¡¥
2906
2907€³€Î¥µ¥ó¥×¥ë¥³¡Œ¥É€òÁȀ߹þ€àÊýË¡€ÏŒ¡€ÎÄÌ€ê€Ç€¢€ë¡¥
2908
2909(1) target_config.h€ª€è€Ótarget_syssvc.h€Ë¡€Œ¡€Îµ­œÒ€òÄɲÀ¹€ë¡¥
2910
2911        #ifdef TOPPERS_ENABLE_TRACE
2912        #include "logtrace/trace_config.h"
2913        #endif /* TOPPERS_ENABLE_TRACE */
2914
2915(2) Makefile.target€Ë¡€Œ¡€Îµ­œÒ€òÄɲÀ¹€ë¡¥
2916
2917        ifeq ($(ENABLE_TRACE),true)
2918                COPTS := $(COPTS) -DTOPPERS_ENABLE_TRACE
2919                KERNEL_DIR := $(KERNEL_DIR) $(SRCDIR)/arch/logtrace
2920                KERNEL_COBJS := $(KERNEL_COBJS) trace_config.o trace_dump.o
2921        endif
2922
2923(3) ¥¹¥¿¡Œ¥È¥¢¥Ã¥×¥â¥ž¥å¡Œ¥ë€Ç¡€bss¥»¥¯¥·¥ç¥ó€Î¥¯¥ê¥¢€òŸÊά€·€Æ€€€ëŸì¹ç
2924    €Ë€Ï¡€trace_mode€òTRACE_STOP¡Ê¡á0¡Ë€ËœéŽü²œ€¹€ë¥³¡Œ¥É€òÄɲÀ¹€ë¡¥€³
2925    €ì€Ï¡€¥È¥ì¡Œ¥¹¥í¥°µ¡Çœ€¬œéŽü²œ€µ€ì€ëÁ°€Ëœñ€­¹þ€Þ€ì€ë¥È¥ì¡Œ¥¹¥í¥°€ò
2926    ̵»ë€¹€ë€¿€á€Ç€¢€ë¡¥
2927
2928€³€Î¥µ¥ó¥×¥ë¥³¡Œ¥É€òÍÑ€€€Æ¡€¥È¥ì¡Œ¥¹¥í¥°€òµ­Ï¿¡Š¥À¥ó¥×€¹€ëÊýË¡€ÎÎã€Ë€Ä
2929€€€Æ€Ï¡€¡ÖTOPPERS/ASP¥«¡Œ¥Í¥ë ¥æ¡Œ¥¶¡Œ¥º¥Þ¥Ë¥å¥¢¥ë¡×€Î¡Ö11.6 ¥È¥ì¡Œ¥¹¥í
2930¥°µ­Ï¿€Î¥µ¥ó¥×¥ë¥³¡Œ¥É€Î»ÈÍÑÊýË¡¡×€ÎÀá€ò»²ŸÈ€¹€ë€³€È¡¥
2931
2932€Ê€ª¡€€³€Î¥µ¥ó¥×¥ë¥³¡Œ¥É€Ç€Ï¡€¥Ç¥£¥¹¥Ñ¥Ã¥Á¥ã€ÎœÐžý¡€¥¿¥¹¥¯€ÎŸõÂÖÁ«°Ü¡€
2933¥·¥¹¥Æ¥à¥í¥°€ÎœÐÎÏ€Î3€Ä€Î¥È¥ì¡Œ¥¹¥í¥°€Î€ß€òµ­Ï¿€·€Æ€€€ë¡¥ÂŸ€Î¥È¥ì¡Œ¥¹¥í
2934¥°€òµ­Ï¿€·€¿€€Ÿì¹ç€Ë€Ï¡€trace_config.h¡Ê€ª€è€Ótrace_dump.c¡Ë€òœ€Àµ€¹€ë
2935ɬÍ×€¬€¢€ë¡¥€Ê€ª¡€¥«¡Œ¥Í¥ë€Î¥È¥ì¡Œ¥¹¥í¥°€òÌÖÍåŪ€Ëµ­Ï¿€¹€ë€¿€á€Î¥³¡Œ¥É
2936€Ï¡€TLV¡ÊTraceLogVisualizer¡Ë€ÎÇÛÉۥѥ屡Œ¥ž€ËŽÞ€Þ€ì€Æ€€€ë¡¥
2937
29386.12 ¥«¡Œ¥Í¥ëŒÂÁõ€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Î€¿€á€Î¥ê¥Í¡Œ¥àµ­œÒ
2939
2940¥«¡Œ¥Í¥ëÆâÉô€ËÊÄ€ž€Æ»È€ï€ì€ëŽØ¿ô€äÊÑ¿ô€Ê€É€ÎÌŸŸÎ€Ç¡€¥ª¥Ö¥ž¥§¥¯¥È¥Õ¥¡¥€
2941¥ë€Î¥·¥ó¥Ü¥ëÉœ€ËÅÐÏ¿€µ€ì€Æ³°Éô€«€é»²ŸÈ€Ç€­€ëÌŸŸÎ€Ï¡€CžÀžì¥ì¥Ù¥ë€Ç¡€ÀèÆ¬
2942€¬"_kernel_"€Þ€¿€Ï"_KERNEL_"€Ç€¢€ëÌŸŸÎ€È€·€Ê€±€ì€Ð€Ê€é€Ê€€€¬¡€ASP¥«¡Œ¥Í
2943¥ë€Ç€Ï¡€¥œ¡Œ¥¹¥³¡Œ¥É€ò¥³¥ó¥Ñ¥¯¥È€ËÊÝ€Á€Ä€Ä€³€ì€òŒÂžœ€¹€ë€¿€á€Ë¡€¥ê¥Í¡Œ
2944¥àµ­œÒ¥Õ¥¡¥€¥ë€òƳÆþ€·€Æ€€€ë¡¥
2945
2946¶ñÂÎŪ€Ë€Ï¡€¥ê¥Í¡Œ¥à€¹€Ù€­ÌŸŸÎ€ò¥ê¥¹¥È¥¢¥Ã¥×€·€¿xxx_rename.def€òÍѰՀ·¡€
2947€³€Î¥Õ¥¡¥€¥ë€«€é¥Ä¡Œ¥ë¡Êutils/genrename¡Ë€Ë€è€ê¡€ÌŸŸÎ€ò¥ê¥Í¡Œ¥à€¹€ë€¿€á
2948€Î¥Þ¥¯¥íÄêµÁ€òŽÞ€àxxx_rename.h€È¡€€œ€ì€é€Î¥Þ¥¯¥íÄêµÁ€ò²òœü€¹€ë€¿€á€Î
2949xxx_unrename.h€òÀžÀ®€¹€ë¡¥¥Ä¡Œ¥ë€Îµ¯Æ°ÊýË¡€ÏŒ¡€ÎÄÌ€ê€Ç€¢€ë¡¥
2950
2951        % genrename xxx
2952
2953xxx_rename.def€Ë€Ï¡€¥ê¥Í¡Œ¥à€¹€Ù€­ÌŸŸÎ€ò1¹Ô€Ë1€Äµ­œÒ€¹€ë¡¥xxxx€È€€€ŠÌŸ
2954ŸÎ€¬µ­œÒ€µ€ì€Æ€€€ëŸì¹ç¡€xxx_rename.h€Ë€ÏŒ¡€Î€è€Š€Êµ­œÒ€¬ÀžÀ®€µ€ì€ë¡¥
2955
2956#define xxxx                            _kernel_xxxx
2957#ifdef TOPPERS_LABEL_ASM
2958#define _xxxx                           __kernel_xxxx
2959#endif /* TOPPERS_LABEL_ASM */
2960
2961€Þ€¿¡€xxx_unrename.h€Ë€ÏŒ¡€Î€è€Š€Êµ­œÒ€¬ÀžÀ®€µ€ì€ë¡¥
2962
2963#undef xxxx
2964#ifdef TOPPERS_LABEL_ASM
2965#undef _xxxx
2966#endif /* TOPPERS_LABEL_ASM */
2967
2968xxx_rename.def€ÎÃæ€Ë€Ï¡€ÂŸ€Î¥ê¥Í¡Œ¥àµ­œÒ€òŒè€ê¹þ€à€¿€á€Ë¡€¡ÖINCLUDE
2969"yyy"¡×€Þ€¿€Ï¡ÖINCLUDE <yyy>¡×€È€€€Šµ­œÒ€òŽÞ€á€ë€³€È€¬€Ç€­€ë¡¥€³€Îµ­œÒ
2970€¬€µ€ì€Æ€€€ëŸì¹ç¡€xxx_rename.h€Ë€Ï¡Ö#include "yyy_rename.h"¡×€Þ€¿€Ï
2971¡Ö#include <yyy_rename.h>¡×€È€€€Šµ­œÒ€¬¡€xxx_unrename.h€Ë€Ï¡Ö#include
2972"yyy_unrename.h"¡×€Þ€¿€Ï¡Ö#include <yyy_unrename.h>¡×€È€€€Šµ­œÒ€¬ÀžÀ®€µ
2973€ì€ë¡¥
2974
2975xxx_rename.def€ÎÃæ€Î"#"€Ç»Ï€Þ€ë¹Ô€Ï¥³¥á¥ó¥È€È€·€ÆÆÉ€ßÈô€Ð€µ€ì€ë¡¥€Þ€¿¡€
2976¶õ¹Ô€â̵»ë€µ€ì€ë¡¥
2977
2978¥«¡Œ¥Í¥ë€Î¥¿¡Œ¥²¥Ã¥ÈÈó°ÍžÉô€Ç»È€ï€ì€ëÌŸŸÎ€ò¥ê¥Í¡Œ¥à€¹€ë€¿€á€Ë¡€kernel
2979¥Ç¥£¥ì¥¯¥È¥ê€Ë¡€kernel_rename.def€È¡€€œ€³€«€éÀžÀ®€·€¿kernel_rename.h€ª
2980€è€Ókernel_unrename.h€¬ÍѰՀµ€ì€Æ€€€ë¡¥kernel_rename.def€Ë€Ï¡€
2981¡ÖINCLUDE "target"¡×€È€€€Šµ­œÒ€¬ŽÞ€Þ€ì€Æ€ª€ê¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Î¥ê¥Í¡Œ
2982¥àµ­œÒ€òŒè€ê¹þ€à€è€Š€Ë€Ê€Ã€Æ€€€ë¡¥¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ÇÄêµÁ€·¡€¥¿¡Œ¥²¥Ã¥È
2983Èó°ÍžÉô€Ç»²ŸÈ€µ€ì€ëÌŸŸÎ€Ï¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Î¥ê¥Í¡Œ¥àµ­œÒ€ËŽÞ€á€ë¡¥
2984
2985¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Ç€Ï¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Ç»È€ï€ì€ëÌŸŸÎ€ò¥ê¥Í¡Œ¥à€¹€ë€¿€á
2986€Ë¡€target_rename.def€È¡€€œ€³€«€éÀžÀ®€·€¿target_rename.h€ª€è€Ó
2987target_unrename.h€òÍѰՀ¹€ë¡¥¥¿¡Œ¥²¥Ã¥È°ÍžÉô€«€é¥×¥í¥»¥Ã¥µ¡Š¥Á¥Ã¥×¡Š³«
2988ȯŽÄ¶­°ÍžÉô€òÀÚ€êʬ€±€ëŸì¹ç€Ë€Ï¡€target_rename.def€ËINCLUDEµ­œÒ€òÆþ€ì¡€
2989¥×¥í¥»¥Ã¥µ¡Š¥Á¥Ã¥×¡Š³«È¯ŽÄ¶­°ÍžÉô€Î¥ê¥Í¡Œ¥àµ­œÒ€òŒè€ê¹þ€à€è€Š€Ë€¹€ë¡¥
2990
29916.13 ¥¿¥€¥Þ¥É¥é¥€¥Ð
2992
2993¥¿¥€¥Þ¥É¥é¥€¥Ð€Ï¡€¥«¡Œ¥Í¥ë€Ë¥¿¥€¥à¥Æ¥£¥Ã¥¯€òÄÌÃ΀¹€ë€¿€á€Î¥¿¥€¥Þ¥É¥é¥€
2994¥Ð€Ç€¢€ë¡¥
2995
29966.13.1 ¥¿¥€¥Þ¥É¥é¥€¥Ð€Î¥Õ¥¡¥€¥ë¹œÀ®
2997
2998¥¿¥€¥Þ¥É¥é¥€¥Ð€òÁȀ߹þ€à€¿€á€ÎÀÅŪAPI€òµ­œÒ€·€¿¥·¥¹¥Æ¥à¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ
2999¥·¥ç¥ó¥Õ¥¡¥€¥ë€ò¡€target_timer.cfg€ËÍѰՀ¹€ë¡¥€³€Î¥Õ¥¡¥€¥ë€Ë€Ï¡€¥¿¥€¥Þ
3000¥É¥é¥€¥Ð€òœéŽü²œ€¹€ë€¿€á€ÎœéŽü²œ¥ë¡Œ¥Á¥ó€ÎÄɲဥ¿¥€¥Þ¥É¥é¥€¥Ð€òœªÎ»€µ
3001€»€ë€¿€á€ÎœªÎ»œèÍý¥ë¡Œ¥Á¥ó€ÎÄɲဥ¿¥€¥Þ³ä¹þ€ß€Î€¿€á€Î³ä¹þ€ß¥Ï¥ó¥É¥é€Î
3002ÄêµÁ¡Ê€Þ€¿€Ï¡€³ä¹þ€ß¥µ¡Œ¥Ó¥¹¥ë¡Œ¥Á¥ó€ÎÄɲáˡ€¥¿¥€¥Þ³ä¹þ€ß€Î€¿€á€Î³ä¹þ
3003€ßÍ×µá¥é¥€¥ó€Î°À­€ÎÀßÄê€ÎÀÅŪAPI€Ê€É€òŽÞ€à€³€È€Ë€Ê€ë¡¥
3004
3005¥¿¥€¥Þ¥É¥é¥€¥Ð€òžÆ€ÓœÐ€¹€¿€á€ËɬÍ×€ÊÄêµÁ€òŽÞ€à¥Ø¥Ã¥À¥Õ¥¡¥€¥ë€ò¡€
3006target_timer.h€ËÍѰՀ¹€ë¡¥€Þ€¿¡€¥¿¥€¥Þ¥É¥é¥€¥Ð€ÎŒÂÁõ¥Õ¥¡¥€¥ë€ò
3007target_timer.c€ËÍѰՀ¹€ë¡¥
3008
3009¥¿¥€¥à¥Æ¥£¥Ã¥¯€ÎÄÌÃ΀ˀè€ê¹Ô€ŠœèÍý€Î¿€¯€Ï¡€¥¿¥¹¥¯€Îµ¯Æ°€äÂÔ€Á²òœü€ò¹Ô
3010€Š€â€Î€Ç€¢€ë€¿€á¡€¥¿¥€¥Þ³ä¹þ€ß€Î³ä¹þ€ßÍ¥ÀèÅـϡ€³ä¹þ€ß€ÎÃæ€ÇºÇÄã€ÎÍ¥Àè
3011ÅـǜœÊ¬€Ç€¢€ë¡¥€¿€À€·¡€ŒþŽü¥Ï¥ó¥É¥é€ä¥¢¥é¡Œ¥à¥Ï¥ó¥É¥é€ÎŒÂ¹Ô³«»ÏÃـ쀬
3012ÌäÂê€Ë€Ê€ëŸì¹ç€Ë€Ï¡€¥¿¥€¥Þ³ä¹þ€ß€Î³ä¹þ€ßÍ¥ÀèÅÙ€ò€è€ê¹â€€ÃÍ€ËÀßÄꀷ€¿€€¡¥
3013€œ€³€Ç¡€¥¿¥€¥Þ³ä¹þ€ß€Î³ä¹þ€ßÍ¥ÀèÅÙ€òÊѹ¹€¹€ëÊýË¡€ò¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Î
3014¥æ¡Œ¥¶¡Œ¥º¥Þ¥Ë¥å¥¢¥ë€Ëµ­ºÜ€¹€Ù€­€Ç€¢€ë¡¥
3015
30166.13.2 ¥¿¥€¥Þ€ÎœéŽü²œ¡ŠœªÎ»œèÍý¡Š³ä¹þ€ßœèÍý
3017
3018(6-13-2-1) void target_timer_initialize(intptr_t exinf)
3019
3020¥¿¥€¥Þ€òœéŽü²œ€·¡€¥¿¥€¥Þ³ä¹þ€ß€òŒþŽüŪ€ËȯÀž€µ€»€ëŽØ¿ô¡¥¥¿¥€¥Þ³ä¹þ€ß€Î
3021ŒþŽü€Ï¡€TIC_NUME€ÈTIC_DENO€Ç»ØÄꀵ€ì€¿»þŽÖ€È°ìÃ×€µ€»€ë¡Ê¡Ö5.2 ¥¿¥€¥à
3022¥Æ¥£¥Ã¥¯€ÎÄêµÁ¡×€ÎÀá€ò»²ŸÈ¡Ë¡¥
3023
3024€³€ÎŽØ¿ô€Ï¡€target_timer.cfgÃæ€Ëµ­œÒ€¹€ëÀÅŪAPI€Ë€è€ê¡€œéŽü²œ¥ë¡Œ¥Á¥ó€È
3025€·€Æ¥«¡Œ¥Í¥ë€ËÅÐÏ¿€¹€ë€³€È€òÁÛÄꀷ€Æ€€€ë¡¥
3026
3027(6-13-2-2) void target_timer_terminate(intptr_t exinf)
3028
3029¥¿¥€¥Þ€Îưºî€òÄä»ß€µ€»¡€¥¿¥€¥Þ³ä¹þ€ß€òȯÀž€·€Ê€€€è€Š€Ë€¹€ëŽØ¿ô¡¥
3030
3031€³€ÎŽØ¿ô€Ï¡€target_timer.cfgÃæ€Ëµ­œÒ€¹€ëÀÅŪAPI€Ë€è€ê¡€œªÎ»œèÍý¥ë¡Œ¥Á¥ó
3032€È€·€Æ¥«¡Œ¥Í¥ë€ËÅÐÏ¿€¹€ë€³€È€òÁÛÄꀷ€Æ€€€ë¡¥
3033
3034(6-13-2-3) void target_timer_handler(void)
3035    €Þ€¿€Ï void target_timer_isr(intptr_t exinf)
3036
3037¥¿¥€¥Þ³ä¹þ€ß€Ë€è€êµ¯Æ°€µ€ì€ë³ä¹þ€ßœèÍý¥×¥í¥°¥é¥à¡¥³ä¹þ€ß¥Ï¥ó¥É¥é€È€·€Æ
3038ŒÂžœ€¹€ëŸì¹ç€Ë€Ïtarget_timer_handler¡€³ä¹þ€ß¥µ¡Œ¥Ó¥¹¥ë¡Œ¥Á¥ó€È€·€ÆŒÂžœ
3039€¹€ëŸì¹ç€Ë€Ïtarget_timer_isr€ÎÌŸŸÎ€È€¹€ë¡¥¥¿¡Œ¥²¥Ã¥ÈÈó°ÍžÉô€Î
3040signal_time€òžÆ€ÓœÐ€¹¡¥
3041
3042target_timer_handler€Ï¡€ÉžœàŪ€Ë€ÏŒ¡€Î€è€Š€ËÄêµÁ€¹€ë¡¥
3043
3044----------------------------------------
3045void
3046target_timer_handler(void)
3047{
3048        i_begin_int(<¥¿¥€¥Þ³ä¹þ€ß€Î³ä¹þ€ßÈÖ¹æ>);
3049        signal_time();
3050        i_end_int(<¥¿¥€¥Þ³ä¹þ€ß€Î³ä¹þ€ßÈÖ¹æ>);
3051}
3052----------------------------------------
3053
3054€³€ÎŽØ¿ô€Ï¡€target_timer.cfgÃæ€Ëµ­œÒ€¹€ëÀÅŪAPI€Ë€è€ê¡€³ä¹þ€ß¥Ï¥ó¥É¥é€Þ
3055€¿€Ï³ä¹þ€ß¥µ¡Œ¥Ó¥¹¥ë¡Œ¥Á¥ó€È€·€Æ¥«¡Œ¥Í¥ë€ËÅÐÏ¿€¹€ë€³€È€òÁÛÄꀷ€Æ€€€ë¡¥
3056
30576.13.3 À­ÇœÉŸ²ÁÍÑ¥·¥¹¥Æ¥à»þ¹ï€Î»²ŸÈ€Î€¿€á€Îµ¡Çœ
3058
3059À­ÇœÉŸ²ÁÍÑ¥·¥¹¥Æ¥à»þ¹ï€Î»²ŸÈµ¡Çœ¡Êget_utm¡Ë€ò¥µ¥Ý¡Œ¥È€¹€ëŸì¹ç€Ë€Ï¡€¥¿¥€
3060¥Þ¥É¥é¥€¥Ð€Ç¡€°Ê²Œ€Î¥Ç¡Œ¥¿·¿€äŽØ¿ô€Ê€É€òÍѰՀ¹€ë¡¥
3061
3062(6-13-3-1) OMIT_GET_UTM¡Ê¥ª¥×¥·¥ç¥ó¡Ë
3063
3064¥¿¡Œ¥²¥Ã¥ÈÈó°ÍžÉô€Îget_utm€ÎŒÂÁõ€ò»ÈÍÑ€»€º¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Çget_utm
3065€òÍѰՀ¹€ëŸì¹ç€Ë€Ï¡€€³€Î¥·¥ó¥Ü¥ë€ò¥Þ¥¯¥íÄêµÁ€¹€ë¡¥€³€Î¥·¥ó¥Ü¥ë€ò¥Þ¥¯¥í
3066ÄêµÁ€·€¿Ÿì¹ç¡€°Ê²Œ€Î¥Ç¡Œ¥¿·¿€äŽØ¿ô€Ê€É€òÍѰՀ¹€ëɬÍ׀πʀ€¡¥
3067
3068(6-13-3-2) CLOCK
3069
3070¥¿¥€¥ÞÃÍ€ÎÆâÉôÉœžœ€Î€¿€á€Î¥Ç¡Œ¥¿·¿¡¥
3071
3072(6-13-3-3) CLOCK target_timer_get_current(void)
3073
3074¥¿¥€¥Þ€ÎžœºßÃÍ€òÆÉ€ßœÐ€·¡€ÆâÉôÉœžœ€ÇÊÖ€¹ŽØ¿ô¡¥¥¿¥€¥ÞÃ̀ϡ€»þŽÖ€Î·Ð²á€È
3075€È€â€ËÁý²Ã€¹€ë€³€È€òÁÛÄꀷ€Æ€€€ë¡¥¥Ï¡Œ¥É¥Š¥§¥¢€Î¥¿¥€¥Þ€¬¡€¥¿¥€¥ÞÃÍ€¬žº
3076Ÿ¯€¹€ë€â€Î€Ç€¢€ëŸì¹ç€Ë€Ï¡€€³€ÎŽØ¿ôÆâ€ÇÁý²Ã€¹€ëÃ̀Ȁʀë€è€Š€ËÊÑŽ¹€¹€ë¡¥
3077
3078(6-13-3-4) bool_t target_timer_probe_int(void)
3079
3080¥¿¥€¥Þ³ä¹þ€ßÍ×µá€ò¥Á¥§¥Ã¥¯€¹€ëŽØ¿ô¡¥¥¿¥€¥Þ³ä¹þ€ß€¬Í׵ဵ€ì€Æ€€€ëŸì¹ç€Ë
3081true¡€Í׵ဵ€ì€Æ€€€Ê€€Ÿì¹ç€Ëfalse€òÊÖ€¹¡¥
3082
3083(6-13-3-5) TO_USEC(clock)
3084
3085¥¿¥€¥ÞÃÍ€ÎÆâÉôÉœžœ€ò¡€1ŠÌÉÃñ°Ì€ËÊÑŽ¹€¹€ë€¿€á€Î¥Þ¥¯¥í¡Ê€Þ€¿€ÏŽØ¿ô¡Ë¡¥
3086targettimer_get_current€ÇÆÉ€ßœÐ€·€¿ÃÍ€ò¡€¥¿¥€¥Þ³ä¹þ€ßȯÀž€«€é€Î·Ð²á»þŽÖ
3087¡Êñ°Ì: 1ŠÌÉáˀËÊÑŽ¹€¹€ë€¿€á€ËÍÑ€€€ë¡¥
3088
30896.14 ¥ª¡Œ¥Ð¥é¥ó¥¿¥€¥Þ¥É¥é¥€¥Ð¡Ê¥ª¥×¥·¥ç¥ó¡Ë
3090
3091¥ª¡Œ¥Ð¥é¥ó¥¿¥€¥Þ¥É¥é¥€¥Ð€Ï¡€¥ª¡Œ¥Ð¥é¥ó¥Ï¥ó¥É¥é€òµ¯Æ°€¹€ë€¿€á€Î¥¿¥€¥Þ€Î
3092¥É¥é¥€¥Ð€Ç€¢€ë¡¥¥ª¡Œ¥Ð¥é¥ó¥Ï¥ó¥É¥éµ¡Çœ³ÈÄ¥¥Ñ¥Ã¥±¡Œ¥ž€ò¥µ¥Ý¡Œ¥È€·€Ê€€Ÿì
3093¹ç€Ë€Ï¡€¥ª¡Œ¥Ð¥é¥ó¥¿¥€¥Þ¥É¥é¥€¥Ð€òÍѰՀ¹€ëɬÍ׀πʀ€¡¥
3094
30956.14.1 ¥ª¡Œ¥Ð¥é¥ó¥¿¥€¥Þ¥É¥é¥€¥Ð€Î¥Õ¥¡¥€¥ë¹œÀ®
3096
3097¥ª¡Œ¥Ð¥é¥ó¥¿¥€¥Þ¥É¥é¥€¥Ð€Ï¡€¥¿¥€¥Þ¥É¥é¥€¥Ð€ÈƱ€ž¥Õ¥¡¥€¥ë€ÎÃæ€Ëµ­œÒ€¹€ë¡¥
3098¥ª¡Œ¥Ð¥é¥ó¥¿¥€¥Þ¥É¥é¥€¥Ð€Î€¿€á€Îµ­œÒ€Ï¡€TOPPERS_SUPPORT_OVRHDR€¬¥Þ¥¯¥í
3099ÄêµÁ€µ€ì€Æ€€€ëŸì¹ç€Ë€Î€ßÍ­žú€Ë€Ê€ë€è€Š€Ë€¹€ë¡¥
3100
3101€¹€Ê€ï€Á¡€¥ª¡Œ¥Ð¥é¥ó¥¿¥€¥Þ¥É¥é¥€¥Ð€òÁȀ߹þ€à€¿€á€ÎÀÅŪAPI€Ï
3102target_timer.cfg€ÎÃæ€Ëµ­œÒ€¹€ë¡¥€³€Î¥Õ¥¡¥€¥ë€Ë€Ï¡€¥ª¡Œ¥Ð¥é¥ó¥¿¥€¥Þ¥É¥é
3103¥€¥Ð€òœéŽü²œ€¹€ë€¿€á€ÎœéŽü²œ¥ë¡Œ¥Á¥ó€ÎÄɲဥª¡Œ¥Ð¥é¥ó¥¿¥€¥Þ¥É¥é¥€¥Ð€ò
3104œªÎ»€µ€»€ë€¿€á€ÎœªÎ»œèÍý¥ë¡Œ¥Á¥ó€ÎÄɲဥª¡Œ¥Ð¥é¥ó¥¿¥€¥Þ³ä¹þ€ß€Î€¿€á€Î
3105³ä¹þ€ß¥Ï¥ó¥É¥é€ÎÄêµÁ¡Ê€Þ€¿€Ï¡€³ä¹þ€ß¥µ¡Œ¥Ó¥¹¥ë¡Œ¥Á¥ó€ÎÄɲáˡ€¥ª¡Œ¥Ð¥é
3106¥ó¥¿¥€¥Þ³ä¹þ€ß€Î€¿€á€Î³ä¹þ€ßÍ×µá¥é¥€¥ó€Î°À­€ÎÀßÄê€ÎÀÅŪAPI€Ê€É€òŽÞ€à€³
3107€È€Ë€Ê€ë¡¥
3108
3109€Þ€¿¡€¥ª¡Œ¥Ð¥é¥ó¥¿¥€¥Þ¥É¥é¥€¥Ð€òžÆ€ÓœÐ€¹€¿€á€ËɬÍ×€ÊÄêµÁ€Ï
3110target_timer.h€ÎÃæ€Ë¡€¥ª¡Œ¥Ð¥é¥ó¥¿¥€¥Þ¥É¥é¥€¥Ð€ÎŒÂÁõ€Ïtarget_timer.c€Î
3111Ãæ€Ëµ­œÒ€¹€ë¡¥
3112
3113¥ª¡Œ¥Ð¥é¥ó¥Ï¥ó¥É¥é€Ï¡€¥¿¥¹¥¯€Î¥ª¡Œ¥Ð¥é¥ó€ËÂЀ¹€ëœèÍý€ò¹Ô€Š€â€Î€Ç€¢€ë€¿
3114€á¡€¥ª¡Œ¥Ð¥é¥ó¥¿¥€¥Þ³ä¹þ€ß€Î³ä¹þ€ßÍ¥ÀèÅـϡ€³ä¹þ€ß€ÎÃæ€ÇºÇÄã€ÎÍ¥ÀèÅÙ€Ç
3115œœÊ¬€Ç€¢€ë¡¥€¿€À€·¡€¥ª¡Œ¥Ð¥é¥ó¥¿¥€¥Þ³ä¹þ€ß€Î³ä¹þ€ßÍ¥ÀèÅÙ€ò€è€ê¹â€€ÃÍ€Ë
3116ÀßÄꀷ€¿€€Ÿì¹ç€â€Ê€€€È€ÏžÀ€š€Ê€€€¿€á¡€¥ª¡Œ¥Ð¥é¥ó¥¿¥€¥Þ³ä¹þ€ß€Î³ä¹þ€ßÍ¥
3117ÀèÅÙ€òÊѹ¹€¹€ëÊýË¡€ò¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Î¥æ¡Œ¥¶¡Œ¥º¥Þ¥Ë¥å¥¢¥ë€Ëµ­ºÜ€¹€Ù
3118€­€Ç€¢€ë¡¥
3119
31206.14.2 ¥ª¡Œ¥Ð¥é¥ó¥¿¥€¥Þ€ÎÁàºî€È³ä¹þ€ßœèÍý
3121
3122(6-14-2-1) void target_ovrtimer_initialize(intptr_t exinf)
3123
3124¥ª¡Œ¥Ð¥é¥ó¥¿¥€¥Þ€ÎœéŽü²œœèÍý€ò¹Ô€Š¡¥¥¿¥€¥Þ€Îưºî³«»Ï€Ï¹Ô€ï€Ê€€¡¥
3125
3126€³€ÎŽØ¿ô€Ï¡€target_timer.cfgÃæ€Ëµ­œÒ€¹€ëÀÅŪAPI€Ë€è€ê¡€œéŽü²œ¥ë¡Œ¥Á¥ó€È
3127€·€Æ¥«¡Œ¥Í¥ë€ËÅÐÏ¿€¹€ë€³€È€òÁÛÄꀷ€Æ€€€ë¡¥
3128
3129(6-14-2-2) void target_ovrtimer_terminate(intptr_t exinf)
3130
3131¥ª¡Œ¥Ð¥é¥ó¥¿¥€¥Þ€òÄä»ß€µ€»¡€¥ª¡Œ¥Ð¥é¥ó¥¿¥€¥Þ³ä¹þ€ß€òȯÀž€·€Ê€€€è€Š€Ë€¹
3132€ë¡¥
3133
3134€³€ÎŽØ¿ô€Ï¡€target_timer.cfgÃæ€Ëµ­œÒ€¹€ëÀÅŪAPI€Ë€è€ê¡€œªÎ»œèÍý¥ë¡Œ¥Á¥ó
3135€È€·€Æ¥«¡Œ¥Í¥ë€ËÅÐÏ¿€¹€ë€³€È€òÁÛÄꀷ€Æ€€€ë¡¥
3136
3137(6-14-2-3) void target_ovrtimer_start(OVRTIM ovrtim)
3138
3139¥ª¡Œ¥Ð¥é¥ó¥¿¥€¥Þ€Ë¡€»Ä€ê»þŽÖovrtim€òÀßÄꀷ¡€Æ°ºî³«»Ï€¹€ë¡¥ovrtim€Îñ°Ì
3140€Ï¥Þ¥€¥¯¥íÉÀȀ¹€ë¡¥
3141
3142(6-14-2-4) OVRTIM target_ovrtimer_stop(void)
3143
3144¥ª¡Œ¥Ð¥é¥ó¥¿¥€¥Þ€òÄä»ß€·¡€¥¿¥€¥Þ€Î»Ä€ê»þŽÖ€òÆÉ€ßœÐ€¹¡¥€â€·»Ä€ê»þŽÖ€¬
31450¡Ê€Þ€¿€Ï€œ€ìÌ€Ëþ¡Ë€Ë€Ê€Ã€Æ€€€¿Ÿì¹ç€Ë€Ï¡€1€òÊÖ€¹¡¥€Þ€¿¡€¥ª¡Œ¥Ð¥é¥ó¥¿¥€
3146¥Þ€«€é€Î³ä¹þ€ß€ò¥¯¥ê¥¢€¹€ë¡¥
3147
3148(6-14-2-5) OVRTIM target_ovrtimer_get_current(void)
3149
3150¥ª¡Œ¥Ð¥é¥ó¥¿¥€¥Þ€Î»Ä€ê»þŽÖ€òÆÉ€ßœÐ€¹¡¥€â€·»Ä€ê»þŽÖ€¬0¡Ê€Þ€¿€Ï€œ€ìÌ€Ëþ¡Ë
3151€Ë€Ê€Ã€Æ€€€¿Ÿì¹ç€Ë€Ï¡€0€òÊÖ€¹¡¥¥ª¡Œ¥Ð¥é¥ó¥¿¥€¥Þ€«€é€Î³ä¹þ€ß€Ï¥¯¥ê¥¢€·€Ê
3152€€¡¥
3153
3154(6-14-2-6) void target_ovrtimer_handler(void)
3155    €Þ€¿€Ï void target_ovrtimer_isr(intptr_t exinf)
3156
3157¥ª¡Œ¥Ð¥é¥ó¥¿¥€¥Þ³ä¹þ€ß€Ë€è€êµ¯Æ°€µ€ì€ë³ä¹þ€ßœèÍý¥×¥í¥°¥é¥à¡¥³ä¹þ€ß¥Ï¥ó
3158¥É¥é€È€·€ÆŒÂžœ€¹€ëŸì¹ç€Ë€Ïtarget_ovrtimer_handler¡€³ä¹þ€ß¥µ¡Œ¥Ó¥¹¥ë¡Œ¥Á
3159¥ó€È€·€ÆŒÂžœ€¹€ëŸì¹ç€Ë€Ïtarget_ovrtimer_isr€ÎÌŸŸÎ€È€¹€ë¡¥¥¿¡Œ¥²¥Ã¥ÈÈó°Í
3160žÉô€Îcall_ovrhdr€òžÆ€ÓœÐ€¹¡¥
3161
3162target_timer_handler€Ï¡€ÉžœàŪ€Ë€ÏŒ¡€Î€è€Š€ËÄêµÁ€¹€ë¡¥
3163
3164----------------------------------------
3165void
3166target_ovrtimer_handler(void)
3167{
3168        i_begin_int(<¥ª¡Œ¥Ð¥é¥ó¥¿¥€¥Þ³ä¹þ€ß€Î³ä¹þ€ßÈÖ¹æ>);
3169        ¥ª¡Œ¥Ð¥é¥ó¥¿¥€¥Þ³ä¹þ€ßÍ×µá€Î¥¯¥ê¥¢¡ÊɬÍ׀ʀé¡Ë
3170        call_ovrhdr();
3171        i_end_int(<¥ª¡Œ¥Ð¥é¥ó¥¿¥€¥Þ³ä¹þ€ß€Î³ä¹þ€ßÈÖ¹æ>);
3172}
3173----------------------------------------
3174
3175€³€ÎŽØ¿ô€Ï¡€target_timer.cfgÃæ€Ëµ­œÒ€¹€ëÀÅŪAPI€Ë€è€ê¡€³ä¹þ€ß¥Ï¥ó¥É¥é€Þ
3176€¿€Ï³ä¹þ€ß¥µ¡Œ¥Ó¥¹¥ë¡Œ¥Á¥ó€È€·€Æ¥«¡Œ¥Í¥ë€ËÅÐÏ¿€¹€ë€³€È€òÁÛÄꀷ€Æ€€€ë¡¥
3177
3178(6-14-2-7) OMIT_OVRTIMER_START
3179(6-14-2-8) OMIT_OVRTIMER_STOP
3180
3181¥¿¡Œ¥²¥Ã¥È°ÍžÉô€«€éžÆ€ÓœÐ€¹ovrtimer_start€Èovrtimer_stop€ò¡€¥¢¥»¥ó¥Ö¥ê
3182žÀžì€Î¥œ¡Œ¥¹¥³¡Œ¥ÉÃæ€ËÅž³«€·¡€CžÀžì€ÎŽØ¿ô€¬ÉÔÍ׀ˀʀëŸì¹ç€Ë€Ï¡€€œ€ì€Ÿ€ì¡€
3183OMIT_OVRTIMER_START€ÈOMIT_OVRTIMER_STOP€ò¥Þ¥¯¥íÄêµÁ€¹€ë¡¥
3184
31856.15 ưŪ¥á¥â¥êŽÉÍý¡Ê¥ª¥×¥·¥ç¥ó¡Ë
3186
3187ưŪÀžÀ®µ¡Çœ³ÈÄ¥¥Ñ¥Ã¥±¡Œ¥ž€ò»ÈÍÑ€¹€ëŸì¹ç€Ë€Ï¡€¥«¡Œ¥Í¥ëÆâ€Ç€ÎưŪ¥á¥â¥ê
3188ŽÉÍý€ÎÊýË¡€ò·è€á€ëɬÍ×€¬€¢€ë¡¥
3189
3190ưŪÀžÀ®µ¡Çœ³ÈÄ¥¥Ñ¥Ã¥±¡Œ¥ž€Î¥¿¡Œ¥²¥Ã¥ÈÈó°ÍžÉô€Ç€Ï¡€¥á¥â¥êÎΰè€òÀèÆ¬€«
3191€éœç€Ë³ä€êÅö€Æ¡€²òÊü€µ€ì€¿¥á¥â¥êÎΰè€òºÆÍøÍÑ€·€Ê€€¥á¥â¥êŽÉÍý¥â¥ž¥å¡Œ¥ë
3192€Î€ß€òŒÂÁõ€·€Æ€€€ë¡¥¥Ç¥Õ¥©¥ë¥È€Ç€Ï¡€€³€Î¥á¥â¥êŽÉÍý¥â¥ž¥å¡Œ¥ë€¬»ÈÍÑ€µ€ì
3193€ë¡¥
3194
3195ËܳÊŪ€ÊưŪ¥á¥â¥êŽÉÍý€ò¹Ô€€€¿€€Ÿì¹ç€Ë€Ï¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Þ€¿€Ï¥æ¡Œ¥¶
3196Š€Ç¡€°Ê²Œ€ÎŽØ¿ô€òÄêµÁ€·€¿¥á¥â¥êŽÉÍý¥â¥ž¥å¡Œ¥ë€òÍѰՀ¹€ëɬÍ×€¬€¢€ë¡¥
3197
3198(6-15-1) OMIT_KMM_ALLOCONLY¡Ê¥ª¥×¥·¥ç¥ó¡Ë
3199
3200¥¿¡Œ¥²¥Ã¥ÈÈó°ÍžÉô€Î¥á¥â¥êŽÉÍý¥â¥ž¥å¡Œ¥ë€ò»ÈÍÑ€»€º¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Þ
3201€¿€Ï¥æ¡Œ¥¶ÂŠ€ÇÍѰՀ¹€ëŸì¹ç€Ë€Ï¡€€³€Î¥·¥ó¥Ü¥ë€ò¥Þ¥¯¥íÄêµÁ€¹€ë¡¥
3202
3203(6-15-2) void initialize_kmm(void)¡Ê¥ª¥×¥·¥ç¥ó¡Ë
3204
3205¥á¥â¥êŽÉÍý¥â¥ž¥å¡Œ¥ë€òœéŽü²œ€¹€ëŽØ¿ô¡¥¥«¡Œ¥Í¥ë€Î³ä€êÉÕ€±€ë¥á¥â¥êÎΰè€Î
3206¥µ¥€¥º€ÈÀèÆ¬ÈÖÃπϡ€€œ€ì€Ÿ€ìkmmsz€Èkmm€Ë€è€Ã€Æ»²ŸÈ€Ç€­€ë¡¥
3207
3208(6-15-3) void *kernel_malloc(SIZE size)¡Ê¥ª¥×¥·¥ç¥ó¡Ë
3209
3210size€Ç»ØÄꀵ€ì€¿¥µ¥€¥º€Î¥á¥â¥êÎΰè€ò³ä€êÉÕ€±¡€€œ€ÎÀèÆ¬ÈÖÃÏ€òÊÖ€¹ŽØ¿ô¡¥
3211³ä€êÉÕ€±€ë€³€È€¬€Ç€­€Ê€€Ÿì¹ç€Ë€Ï¡€NULL€òÊÖ€¹¡¥
3212
3213(6-15-4) void kernel_free(void *ptr)¡Ê¥ª¥×¥·¥ç¥ó¡Ë
3214
3215ptr€Ç»ØÄꀵ€ì€¿¥á¥â¥êÎΰè€ò²òÊü€¹€ëŽØ¿ô¡¥
3216
32176.15.1 TLSF€òÍÑ€€€¿¥á¥â¥êŽÉÍý¥â¥ž¥å¡Œ¥ë€ÎÎã
3218
3219¥ª¡Œ¥×¥ó¥œ¡Œ¥¹€Î¥á¥â¥ê³äÉÕ€±¥é¥€¥Ö¥é¥ê€Ç€¢€ëTLSF€òÍÑ€€€ÆÆ°Åª¥á¥â¥êŽÉÍý
3220€òŒÂžœ€¹€ë€Ë€Ï¡€OMIT_KMM_ALLOCONLY€ò¥Þ¥¯¥íÄêµÁ€·¡€°Ê²Œ€ÎŽØ¿ôÄêµÁÅù€òCžÀ
3221žì¥œ¡Œ¥¹¥Õ¥¡¥€¥ë€ËŽÞ€á€ì€Ð€è€€¡¥
3222
3223----------------------------------------
3224#include "tlsf.h"
3225
3226static bool_t   tlsf_initialized = false;
3227
3228void
3229initialize_kmm(void)
3230{
3231        if (init_memory_pool(kmmsz, kmm) >= 0) {
3232                tlsf_initialized = true;
3233        }
3234}
3235
3236void *
3237kernel_malloc(SIZE size)
3238{
3239        if (tlsf_initialized) {
3240                return(malloc_ex(size, kmm));
3241        }
3242        else {
3243                return(NULL);
3244        }
3245}
3246
3247void
3248kernel_free(void *ptr)
3249{
3250        if (tlsf_initialized) {
3251                free_ex(ptr, kmm);
3252        }
3253}
3254----------------------------------------
3255
3256
3257£·¡¥¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿ÀßÄê¥Õ¥¡¥€¥ë€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô
3258
32597.1 ÀßÄê¥Õ¥¡¥€¥ë€È¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Î°ÌÃÖÉÕ€±
3260
3261ASP¥«¡Œ¥Í¥ë€Î¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿€Ï¡€ÀßÄê¥Õ¥¡¥€¥ë€Îµ­œÒ€ËœŸ€Ã€Æ¥Õ¥¡¥€¥ë€Î
3262ÀžÀ®€ª€è€Ó¥š¥é¡Œ¥Á¥§¥Ã¥¯€ò¹Ô€Š¡¥¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿€ÎÀßÄê¥Õ¥¡¥€¥ë€Ë€Ï¡€
3263°Ê²Œ€Î4€Ä€¬€¢€ë¡¥
3264
3265(a) ÀÅŪAPI¥Æ¡Œ¥Ö¥ë
3266
3267ÀÅŪAPI€Î°ìÍ÷€È¡€³ÆÀÅŪAPI€Î¥Ñ¥é¥á¡Œ¥¿€Ë€Ä€€€Æµ­œÒ€·€¿¥Õ¥¡¥€¥ë¡¥ÀÅŪ
3268API€ò³ÈÄ¥€¹€ëŸì¹ç°Ê³°€ÏÊѹ¹€¹€ëɬÍ×€¬€Ê€€€¿€á¡€¥¿¡Œ¥²¥Ã¥ÈÈó°ÍžÉô€ÇÍѰÕ
3269€·€Æ€€€ë¡Êkernel/kernel_api.csv¡Ë¡¥
3270
3271(b) ÃÍŒèÆÀ¥·¥ó¥Ü¥ë¥Æ¡Œ¥Ö¥ë
3272
3273¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿€Î¥Ñ¥¹1€Ë€ª€€€Æ¡€¥Ñ¥é¥á¡Œ¥¿·×»»ÍÑCžÀžì¥Õ¥¡¥€¥ë€ËœÐÎÏ
3274€·¡€ÃÍ€òµá€á€¿€€¥·¥ó¥Ü¥ë¡Ê°ìÈ̀ˀό°¡Ë€òµ­œÒ€¹€ë€¿€á€Î¥Õ¥¡¥€¥ë¡¥¥¿¡Œ¥²¥Ã
3275¥ÈÈó°ÍžÉô€Ç€Ï¡€¥¿¡Œ¥²¥Ã¥È€Ë°Íž€»€º€ËɬÍ׀Ȁʀ륷¥ó¥Ü¥ë€òµ­œÒ€·€¿¥Õ¥¡
3276¥€¥ë€òÍѰՀ·€Æ€€€ë¡Êkernel/kernel_def.csv¡Ë¡¥
3277
3278¥¿¡Œ¥²¥Ã¥È€Ë°Íž€·€ÆÉ¬Í׀Ȁʀ륷¥ó¥Ü¥ë€¬€¢€ëŸì¹ç€Ë€Ï¡€target¥Ç¥£¥ì¥¯¥È
3279¥ê€ËÃÖ€«€ì€¿target_def.csvÃæ€Ëµ­œÒ€¹€ë¡¥target_def.csvÃæ€Ëµ­œÒ€·€ÆÃÍ€ò
3280µá€á€ë€³€È€¬€Ç€­€ë¥·¥ó¥Ü¥ë€Ï¡€kernel/kernel_int.h€ª€è€Ó€œ€³€«€é¥€¥ó¥¯¥ë¡Œ
3281¥É€µ€ì€ë¥Õ¥¡¥€¥ë€ÇÄêµÁ€µ€ì€Æ€€€Ê€±€ì€Ð€Ê€é€Ê€€¡¥kernel_int.h€«€é€Ï¡€
3282target_stddef.h¡€target_kernel.h¡€target_config.h€ò¡ÊŽÖÀÜŪ€Ë¡Ë¥€¥ó¥¯¥ë¡Œ
3283¥É€·€Æ€€€ë€¿€á¡€€³€ì€é€Î¥Õ¥¡¥€¥ë€ª€è€Ó€œ€³€«€é¥€¥ó¥¯¥ë¡Œ¥É€µ€ì€ë¥Õ¥¡¥€
3284¥ë€ÇÄêµÁ€µ€ì€ë¥¿¡Œ¥²¥Ã¥È°Íž€Î¥·¥ó¥Ü¥ë€Ï¡€target_def.csvÃæ€Ëµ­œÒ€¹€ë€³
3285€È€¬€Ç€­€ë¡¥
3286
3287€³€³€ÇÃÍ€òµá€á€¿¥·¥ó¥Ü¥ë€ÎÃ̀ϡ€¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿€Î¥Ñ¥¹2€ª€è€Ó¥Ñ¥¹3€Î
3288¥Æ¥ó¥×¥ì¡Œ¥È¥Õ¥¡¥€¥ëÃæ€Ç»²ŸÈ€¹€ë€³€È€¬€Ç€­€ë¡¥
3289
3290(c) ¥Ñ¥¹2€Î¥Æ¥ó¥×¥ì¡Œ¥È¥Õ¥¡¥€¥ë
3291
3292¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿€Î¥Ñ¥¹2€Ï¡€¥Æ¥ó¥×¥ì¡Œ¥È¥Õ¥¡¥€¥ë€ËœŸ€Ã€Æ¡€¥«¡Œ¥Í¥ë€Î¹œ
3293À®¡ŠœéŽü²œ¥Õ¥¡¥€¥ë¡Êkernel_cfg.c¡Ë¡€¹œÀ®¡ŠœéŽü²œ¥Ø¥Ã¥À¥Õ¥¡¥€¥ë
3294¡Êkernel_cfg.h¡Ë€Ê€É€òÀžÀ®€¹€ë¡¥€³€Î¥Æ¥ó¥×¥ì¡Œ¥È¥Õ¥¡¥€¥ë€Ï¡€¥¿¡Œ¥²¥Ã¥È
3295Èó°ÍžÉô€È¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ËÀÚ€êʬ€±€Æ€¢€ë€¬¡€ÂŸ€Î¥Õ¥¡¥€¥ë€Î¥¿¡Œ¥²¥Ã¥È
3296°ÍžÉô€È€ÏµÕ€Ë¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô€«€é¥¿¡Œ¥²¥Ã¥ÈÈó°ÍžÉô€ò¥€¥ó¥¯¥ë¡Œ¥É€¹
3297€ë·Á€Ë€Ê€Ã€Æ€€€ë¡¥
3298
3299¶ñÂÎŪ€Ë€Ï¡€target¥Ç¥£¥ì¥¯¥È¥ê€ËÃÖ€«€ì€¿target.tf€Ç¡€É¬Í×€ÊÊÑ¿ô€òÄêµÁ€·
3300€¿žå¡€¥Æ¥ó¥×¥ì¡Œ¥È¥Õ¥¡¥€¥ë€Î¥¿¡Œ¥²¥Ã¥ÈÈó°ÍžÉô¡Êkernel/kernel.tf¡Ë€ò¥€
3301¥ó¥¯¥ë¡Œ¥É€¹€ë¡¥kernel.tf€Ç€Ï¡€¥«¡Œ¥Í¥ë€Î¥¿¡Œ¥²¥Ã¥ÈÈó°ÍžÉô€Ç»ÈÍÑ€¹€ëÊÑ
3302¿ôÄêµÁÅù€òÀžÀ®€¹€ë¡¥kernel.tf€ò¥€¥ó¥¯¥ë¡Œ¥É€·€¿žå¡€target.tf€Ç€Ï¡€¥«¡Œ
3303¥Í¥ë€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Ç»ÈÍÑ€¹€ëÊÑ¿ôÄêµÁÅù€òÀžÀ®€¹€ë¡¥target.tf€«€é¡€¥×
3304¥í¥»¥Ã¥µ°ÍžÉô¡€¥Á¥Ã¥×°ÍžÉô€ò¡€³«È¯ŽÄ¶­°ÍžÉô€òÀÚ€êʬ€±€Æ€â€è€€¡¥
3305
3306(d) ¥Ñ¥¹3€Î¥Æ¥ó¥×¥ì¡Œ¥È¥Õ¥¡¥€¥ë
3307
3308¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿€Î¥Ñ¥¹3€Ï¡€¥Æ¥ó¥×¥ì¡Œ¥È¥Õ¥¡¥€¥ë€ËœŸ€Ã€Æ¡€ÀÅŪAPI€Î°ì
3309ÈÌÄê¿ôŒ°¥Ñ¥é¥á¡Œ¥¿€Î¥Á¥§¥Ã¥¯€ò¹Ô€Š¡¥€³€Î¥Æ¥ó¥×¥ì¡Œ¥È¥Õ¥¡¥€¥ë€â¡€¥¿¡Œ¥²¥Ã
3310¥ÈÈó°ÍžÉô€È¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ËÀÚ€êʬ€±€Æ€¢€ê¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô€«€é¥¿¡Œ
3311¥²¥Ã¥ÈÈó°ÍžÉô€ò¥€¥ó¥¯¥ë¡Œ¥É€¹€ë·Á€Ë€Ê€Ã€Æ€€€ë¡¥
3312
3313¶ñÂÎŪ€Ë€Ï¡€target¥Ç¥£¥ì¥¯¥È¥ê€ËÃÖ€«€ì€¿target_check.tf€Ç¡€É¬Í×€ÊÊÑ¿ô€ò
3314ÄêµÁ€·€¿žå¡€¥Æ¥ó¥×¥ì¡Œ¥È¥Õ¥¡¥€¥ë€Î¥¿¡Œ¥²¥Ã¥ÈÈó°ÍžÉô
3315¡Êkernel/kernel_check.tf¡Ë€ò¥€¥ó¥¯¥ë¡Œ¥É€¹€ë¡¥kernel_check.tf€Ç€Ï¡€¥«¡Œ
3316¥Í¥ë€Î¥¿¡Œ¥²¥Ã¥ÈÈó°ÍžÉô€ÇœéŽü²œ¥Ö¥í¥Ã¥¯€ËœÐÎÏ€·€¿°ìÈÌÄê¿ôŒ°¥Ñ¥é¥á¡Œ¥¿
3317€Î¥Á¥§¥Ã¥¯€ò¹Ô€Š¡¥kernel_check.tf€ò¥€¥ó¥¯¥ë¡Œ¥É€·€¿žå¡€target_check.tf
3318€Ç€Ï¡€¥¿¡Œ¥²¥Ã¥È€Ë°Íž€¹€ë¥Á¥§¥Ã¥¯€ò¹Ô€Š¡¥target_check.tf€«€é¡€¥×¥í¥»¥Ã
3319¥µ°ÍžÉô¡€¥Á¥Ã¥×°ÍžÉô€ò¡€³«È¯ŽÄ¶­°ÍžÉô€òÀÚ€êʬ€±€Æ€â€è€€¡¥
3320
3321€Ê€ª¡€¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿€ÎŸÜºÙ»ÅÍÍ€ÈÀßÄê¥Õ¥¡¥€¥ë€Îµ­œÒÊýË¡€Ë€Ä€€€Æ€Ï¡€
3322ÊÌÅÓPDF¥Õ¥¡¥€¥ë€Î·Á€ÇÇÛÉÛ€·€Æ€€€ë¡ÖTOPPERS¿·À€Â奫¡Œ¥Í¥ëÍÑ¥³¥ó¥Õ¥£¥®¥å
3323¥ì¡Œ¥¿»ÅÍ͡׀ª€è€Ó¡ÖTOPPERS¿·À€Â奫¡Œ¥Í¥ëÍÑ¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿Æâ¢¥Þ¥¯¥í
3324¥×¥í¥»¥Ã¥µ»ÅÍ͡׀ò»²ŸÈ€¹€ë€³€È¡¥
3325
33267.2 ¥Ñ¥¹2€Î¥Æ¥ó¥×¥ì¡Œ¥È¥Õ¥¡¥€¥ë€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô
3327
3328°Ê²Œ€Ç€Ï¡€¥Ñ¥¹2€Î¥Æ¥ó¥×¥ì¡Œ¥È¥Õ¥¡¥€¥ë€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô€òµ­œÒ€¹€ëŸå€Çɬ
3329Í׀ʻö¹à€Ë€Ä€€€ÆÀâÌÀ€¹€ë¡¥
3330
33317.2.1 ¥¿¡Œ¥²¥Ã¥ÈÈó°ÍžÉô€ò¥€¥ó¥¯¥ë¡Œ¥É€¹€ëÁ°€ËÄêµÁ€¹€Ù€­ÊÑ¿ô
3332
3333target.tf€«€ékernel.tf€ò¥€¥ó¥¯¥ë¡Œ¥É€¹€ëÁ°€Ë¡€Œ¡€ÎÊÑ¿ô€òÄêµÁ€·€Æ€ª€«€Ê
3334€±€ì€Ð€Ê€é€Ê€€¡¥
3335
3336(7-2-1-1) INTNO_ATTISR_VALID    ATT_ISR€Ç»ÈÍрǀ­€ë³ä¹þ€ßÈÖ¹æ
3337(7-2-1-2) INHNO_ATTISR_VALID    INTNO_ATTISR_VALID€ËÂбþ€¹€ë³ä¹þ¥Ï¥ó¥É¥éÈÖ¹æ
3338(7-2-1-3) INHNO_DEFINH_VALID    DEF_INT€Ç»ÈÍрǀ­€ë³ä¹þ€ß¥Ï¥ó¥É¥éÈÖ¹æ
3339(7-2-1-4) EXCNO_DEFEXC_VALID    DEF_EXC€Ç»ÈÍрǀ­€ëCPUÎã³°¥Ï¥ó¥É¥éÈÖ¹æ
3340(7-2-1-5) INTNO_CFGINT_VALID    CFG_INT€Ç»ÈÍрǀ­€ë³ä¹þ€ßÈÖ¹æ
3341(7-2-1-6) INTPRI_CFGINT_VALID   CFG_INT€Ç»ÈÍрǀ­€ë³ä¹þ€ßÍ¥ÀèÅÙ
3342
3343API€Ç»ÈÍрǀ­€ë³ä¹þ€ßÈֹ桿³ä¹þ€ß¥Ï¥ó¥É¥éÈֹ桿CPUÎã³°¥Ï¥ó¥É¥éÈֹ桿³ä
3344¹þ€ßÍ¥ÀèÅـΥꥹ¥È€ò¡€³ÆÊÑ¿ô€ËÄêµÁ€¹€ë¡¥INHNO_ATTISR_VALID€Ë€Ï¡€
3345INTNO_ATTISR_VALID€Ë¥ê¥¹¥È¥¢¥Ã¥×€·€¿³ä¹þ€ßÈÖ¹æ€ËÂбþ€¹€ë³ä¹þ€ß¥Ï¥ó¥É¥é
3346ÈÖ¹æ€Î¥ê¥¹¥È€òÄêµÁ€¹€ë¡¥CFG_INT€Ë€Ï¡€€¹€Ù€Æ€Î³ä¹þ€ßÈÖ¹æ€ò»ØÄꀹ€ë€³€È€¬
3347€Ç€­€ë€¿€á¡€INTNO_CFGINT_VALID€Ë€Ï¡€Í­žú€Ê³ä¹þ€ßÈÖ¹æ€ò€¹€Ù€Æ¥ê¥¹¥È¥¢¥Ã
3348¥×€¹€ë¡¥
3349
3350(7-2-1-7) INTNO_FIX_KERNEL¡Ê¥ª¥×¥·¥ç¥ó¡Ë        ¥«¡Œ¥Í¥ëŽÉÍý€ËžÇÄꀵ€ì€Æ€€€ë
3351                                                                                        ³ä¹þ€ßÈÖ¹æ
3352(7-2-1-8) INHNO_FIX_KERNEL¡Ê¥ª¥×¥·¥ç¥ó¡Ë        ¥«¡Œ¥Í¥ëŽÉÍý€ËžÇÄꀵ€ì€Æ€€€ë
3353                                                                                        ³ä¹þ€ß¥Ï¥ó¥É¥éÈÖ¹æ
3354(7-2-1-9) INHNO_FIX_NONKERNEL¡Ê¥ª¥×¥·¥ç¥ó¡Ë     ¥«¡Œ¥Í¥ëŽÉÍý³°€ËžÇÄꀵ€ì€Æ€€€ë
3355                                                                                        ³ä¹þ€ßÈÖ¹æ
3356(7-2-1-10) INHNO_FIX_NONKERNEL¡Ê¥ª¥×¥·¥ç¥ó¡Ë¥«¡Œ¥Í¥ëŽÉÍý³°€ËžÇÄꀵ€ì€Æ€€€ë
3357                                                                                        ³ä¹þ€ß¥Ï¥ó¥É¥éÈÖ¹æ
3358
3359¥«¡Œ¥Í¥ëŽÉÍý€Þ€¿€Ï¥«¡Œ¥Í¥ëŽÉÍý³°€ËžÇÄꀵ€ì€Æ€€€ë³ä¹þ€ß€¬€¢€ëŸì¹ç€Ë€Ï¡€
3360€œ€ì€é€Î³ä¹þ€ßÈÖ¹æ€È³ä¹þ€ß¥Ï¥ó¥É¥éÈÖ¹æ€Î¥ê¥¹¥È€ò¡€³ÆÊÑ¿ô€ËÄêµÁ€¹€ë¡¥
3361
3362(7-2-1-11) USE_INHINIB_TABLE¡Ê¥ª¥×¥·¥ç¥ó¡Ë
3363
3364OMIT_INITIALIZE_INTERRUPT€òÄêµÁ€·€¿€¬¡€³ä¹þ€ß¥Ï¥ó¥É¥é€ÎœéŽü²œ€ËɬÍ׀ʟð
3365Êó€òkernel_cfg.c€ËÀžÀ®€·€¿€€Ÿì¹ç€Ë€Ï¡€€³€ÎÊÑ¿ô€ò1€ËÀßÄꀹ€ë¡¥¶ñÂÎŪ€Ë€Ï¡€
3366TNUM_INHNO¡€tnum_inhno¡€inhinib_table€ÎÄêµÁ€È¡€³ä¹þ€ß¥Ï¥ó¥É¥éËè€ÎœÐÆþžý
3367œèÍý€òÀžÀ®€¹€ë€¿€á€Îµ­œÒ¡ÊINTHDR_ENTRY¥Þ¥¯¥í€Î¥ê¥¹¥È¡Ë€¬¡€¥¿¡Œ¥²¥Ã¥ÈÈó
3368°ÍžÉô€Ë€è€Ã€ÆÀžÀ®€µ€ì€ë¡¥
3369
3370(7-2-1-12) USE_INTINIB_TABLE¡Ê¥ª¥×¥·¥ç¥ó¡Ë
3371
3372OMIT_INITIALIZE_INTERRUPT€òÄêµÁ€·€¿€¬¡€³ä¹þ€ßÍ×µá¥é¥€¥ó€ÎœéŽü²œ€ËɬÍ×€Ê
3373ŸðÊó€òkernel_cfg.c€ËÀžÀ®€·€¿€€Ÿì¹ç€Ë€Ï¡€€³€ÎÊÑ¿ô€ò1€ËÀßÄꀹ€ë¡¥¶ñÂÎŪ€Ë
3374€Ï¡€TNUM_INTNO¡€tnum_intno¡€intinib_table€ÎÄêµÁ€¬¡€¥¿¡Œ¥²¥Ã¥ÈÈó°ÍžÉô€Ë
3375€è€Ã€ÆÀžÀ®€µ€ì€ë¡¥
3376
3377(7-2-1-13) GENERATE_TSKINICTXB¡Ê¥ª¥×¥·¥ç¥ó¡Ë
3378
3379USE_TSKINICTXB€ò¥Þ¥¯¥íÄêµÁ€·€¿Ÿì¹ç¡€TSKINICTXB€ÎœéŽü²œŸðÊó€òÀžÀ®€¹€ë€¿
3380€á¥Æ¥ó¥×¥ì¡Œ¥È¥Õ¥¡¥€¥ëŽØ¿ôGENERATE_TSKINICTXB€òÄêµÁ€¹€ë¡¥
3381GENERATE_TSKINICTXB€Ë€Ï¡€¥¿¥¹¥¯ID€¬¥Ñ¥é¥á¡Œ¥¿€È€·€ÆÅÏ€µ€ì€ë¡¥
3382
3383(7-2-1-14) ALLOC_STACK¡Ê¥ª¥×¥·¥ç¥ó¡Ë
3384
3385¥¹¥¿¥Ã¥¯Îΰè€ÎÀžÀ®ÊýË¡€ò¥Ç¥Õ¥©¥ë¥È€«€éÊѹ¹€·€¿€€Ÿì¹ç€Ë€Ï¡€¥¹¥¿¥Ã¥¯Îΰè
3386€òÀžÀ®€¹€ë€¿€á€Î¥Æ¥ó¥×¥ì¡Œ¥È¥Õ¥¡¥€¥ëŽØ¿ôALLOC_STACK€òÄêµÁ€¹€ë¡¥
3387ALLOC_STACK€Ë€Ï¡€¥¹¥¿¥Ã¥¯Îΰè€ÎÊÑ¿ôÌŸ€ÈŽÝ€á€ëÁ°€Î¥µ¥€¥º€¬¥Ñ¥é¥á¡Œ¥¿€È€·
3388€ÆÅÏ€µ€ì€ë€Î€Ç¡€¥¹¥¿¥Ã¥¯Îΰè€òÀžÀ®€¹€ë¥³¡Œ¥É€òÀžÀ®€·¡€Â瀭€€Êý€ËŽÝ€á€¿
3389¥µ¥€¥º€òÉœ€¹Êž»úÎó€òÊÖ€¹¡¥
3390
33917.2.2 ¥¿¡Œ¥²¥Ã¥ÈÈó°ÍžÉô€ÇÄêµÁ€µ€ì€ëÊÑ¿ô
3392
3393kernel.tf€ÎÃæ€Ç€ÏŒ¡€ÎÊÑ¿ô€¬ÄêµÁ€µ€ì€ë€¿€á¡€kernel.tf€ò¥€¥ó¥¯¥ë¡Œ¥É€·€¿
3394žå¡€target.tf€ÎÃæ€Ç€³€ì€é€ò»²ŸÈ€¹€ë€³€È€¬€Ç€­€ë¡¥
3395
3396(7-2-2-1) INTNO[inhno]          inhno€òÂбþ€¹€ëintno€ËÊÑŽ¹€¹€ë€¿€á€ÎÏ¢ÁÛÇÛÎó
3397(7-2-2-2) INHNO[intno]          intno€òÂбþ€¹€ëinhno€ËÊÑŽ¹€¹€ë€¿€á€ÎÏ¢ÁÛÇÛÎó
3398
33997.3 ¥Ñ¥¹3€Î¥Æ¥ó¥×¥ì¡Œ¥È¥Õ¥¡¥€¥ë€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô
3400
3401°Ê²Œ€Ç€Ï¡€¥Ñ¥¹3€Î¥Æ¥ó¥×¥ì¡Œ¥È¥Õ¥¡¥€¥ë€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô€òµ­œÒ€¹€ëŸå€Çɬ
3402Í׀ʻö¹à€Ë€Ä€€€ÆÀâÌÀ€¹€ë¡¥
3403
34047.3.1 ¥¿¡Œ¥²¥Ã¥ÈÈó°ÍžÉô€ò¥€¥ó¥¯¥ë¡Œ¥É€¹€ëÁ°€ËÄêµÁ€¹€Ù€­ÊÑ¿ô
3405
3406target_check.tf€«€ékernel_check.tf€ò¥€¥ó¥¯¥ë¡Œ¥É€¹€ëÁ°€Ë¡€É¬Í׀˱þ€ž€Æ¡€
3407Œ¡€ÎÊÑ¿ô€òÄêµÁ€·€Æ€ª€«€Ê€±€ì€Ð€Ê€é€Ê€€¡¥
3408
3409(7-3-1-1) GET_STK_TSKINICTXB¡Ê¥ª¥×¥·¥ç¥ó¡Ë
3410
3411USE_TSKINICTXB€ò¥Þ¥¯¥íÄêµÁ€·€¿Ÿì¹ç¡€TINIB€«€é¥¹¥¿¥Ã¥¯Îΰè€ÎÀèÆ¬ÈÖÃÏ€òŒè
3412€êœÐ€¹€¿€á€Î¥Æ¥ó¥×¥ì¡Œ¥È¥Õ¥¡¥€¥ëŽØ¿ôGET_STK_TSKINICTXB€òÄêµÁ€¹€ë¡¥
3413GET_STK_TSKINICTXB€Ë€Ï¡€¥¿¥¹¥¯œéŽü²œ¥Ö¥í¥Ã¥¯¡ÊTINIB¡Ë€ÎÀèÆ¬ÈÖÃÏ€¬¥Ñ¥é¥á¡Œ
3414¥¿€È€·€ÆÅÏ€µ€ì€ë¡¥CHECK_STACK_ALIGN¡€CHECK_STACK_NONNULL€È€âÄêµÁ€·€Ê€€
3415Ÿì¹ç€Ë€Ï¡€GET_STK_TSKINICTXB€òÄêµÁ€¹€ëɬÍ׀πʀ€¡¥
3416
3417(7-3-1-2) LMA.ORDER_LIST¡Ê¥ª¥×¥·¥ç¥ó¡Ë
3418(7-3-1-3) LMA.START_DATA[lmano]¡Ê¥ª¥×¥·¥ç¥ó¡Ë
3419(7-3-1-4) LMA.END_DATA[lmano]¡Ê¥ª¥×¥·¥ç¥ó¡Ë
3420(7-3-1-5) LMA.START_IDATA[lmano]¡Ê¥ª¥×¥·¥ç¥ó¡Ë
3421
3422¥Ñ¥¹3€Î¥Æ¥ó¥×¥ì¡Œ¥È¥Õ¥¡¥€¥ë€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Çdata¥»¥¯¥·¥ç¥ó€«€é¥Ç¡Œ¥¿
3423€òŒèÆÀ€¹€ëŸì¹ç€ä¡€rodata¥»¥¯¥·¥ç¥ó€òRAM€ËÃÖ€¯Ÿì¹ç¡Ê¥æ¡Œ¥¶¡Œ¥º¥Þ¥Ë¥å¥¢¥ë
3424€Î¡Ö11.8 rodata¥»¥¯¥·¥ç¥ó€òRAM€ËÃÖ€¯Ÿì¹ç¡×€ÎÀá€ò»²ŸÈ¡Ë€Ë€Ï¡€€³€ì€é€Î¥»
3425¥¯¥·¥ç¥ó€ÎÆâÍÆ€ò¡€ÇÛÃÖ¥¢¥É¥ì¥¹¡ÊROMÆâ€Î¥¢¥É¥ì¥¹¡€LMA€ÈžÆ€Ö¡Ë€«€é¥¢¥¯¥»
3426¥¹¥¢¥É¥ì¥¹¡ÊRAMÆâ€Î¥¢¥É¥ì¥¹¡€VMA€ÈžÆ€Ö¡Ë€Ë¥³¥Ô¡Œ€¹€ëɬÍ×€¬€¢€ë¡¥
3427
3428€³€Î¥³¥Ô¡Œ€Ï¡€LMA.ORDER_LIST€Ë¡€¥³¥Ô¡Œ€¹€ë¥»¥¯¥·¥ç¥ó€ÎÈÖ¹æ¡Êlmano¡Ë€Î¥ê
3429¥¹¥È¡ÊÈÖ¹æ€ÏÇ€°Õ€ËÉÕÍ¿€·€Æ€è€€¡Ë¡€LMA.START_DATA[lmano]€Ë¥³¥Ô¡Œ€¹€ë¥»¥¯
3430¥·¥ç¥ó€Î¥¢¥¯¥»¥¹¥¢¥É¥ì¥¹€ÎÀèÆ¬€Î¥é¥Ù¥ë¡€LMA.END_DATA[lmano]€ËËöÈø€Î¥é¥Ù
3431¥ë¡€LMA.START_IDATA[lmano]€Ë€œ€ÎÇÛÃÖ¥¢¥É¥ì¥¹€ÎÀèÆ¬€Î¥é¥Ù¥ë€òÀßÄꀹ€ë€³
3432€È€Ç¡€¥Ñ¥¹3€Î¥Æ¥ó¥×¥ì¡Œ¥È¥Õ¥¡¥€¥ë€Î¥¿¡Œ¥²¥Ã¥ÈÈó°ÍžÉô€ÇŒÂ»Ü€¹€ë¡¥
3433
3434Î〚€Ð¡€¥³¥Ô¡Œ€¹€ë¥»¥¯¥·¥ç¥ó€Î¥¢¥¯¥»¥¹¥¢¥É¥ì¥¹€ÎÀèÆ¬€Î¥é¥Ù¥ë€¬
3435"__data_start"¡€ËöÈø€Î¥é¥Ù¥ë€¬"__data_end"¡€€œ€ÎÇÛÃÖ¥¢¥É¥ì¥¹€ÎÀèÆ¬€Î¥é
3436¥Ù¥ë€¬"__idata_start"€ÎŸì¹ç€Ë€Ï¡€¥Ñ¥¹3€Î¥Æ¥ó¥×¥ì¡Œ¥È¥Õ¥¡¥€¥ë€Î¥¿¡Œ¥²¥Ã
3437¥È°ÍžÉô€Ë°Ê²Œ€Îµ­œÒ€òŽÞ€á€ë¡¥
3438
3439----------------------------------------
3440$LMA.ORDER_LIST = { 1 }$
3441$LMA.START_DATA[1] = "__data_start"$
3442$LMA.END_DATA[1] = "__data_end"$
3443$LMA.START_IDATA[1] = "__idata_start"$
3444----------------------------------------
3445
3446
34477.3.2 ¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Ç¹Ô€Š€Ù€­¥š¥é¡Œ¥Á¥§¥Ã¥¯
3448
3449°Ê²Œ€ÎÀèÆ¬ÈÖÃπϡ€¥¿¡Œ¥²¥Ã¥ÈÈó°ÍžÉô€ÇÀžÀ®€¹€ë¥Æ¡Œ¥Ö¥ë€ËœÐÎÏ€µ€ì€Ê€€€¿
3450€á¡€¥Ñ¥¹3€Î¥¿¡Œ¥²¥Ã¥ÈÈó°ÍžÉô¡Êkernel_check.tf¡Ë€Ç€Ï¡€¥×¥í¥°¥é¥à€Î³«»Ï
3451ÈÖÃπȀ·€ÆÀµ€·€¯€Ê€€Ÿì¹ç€Î¥š¥é¡Œ€ò¥Á¥§¥Ã¥¯€·€Ê€€¡¥€œ€Î€¿€á¡€¥¿¡Œ¥²¥Ã¥È
3452°ÍžÉô€Ç¥š¥é¡Œ¥Á¥§¥Ã¥¯€ò¹Ô€ŠÉ¬Í×€¬€¢€ë¡¥
3453
3454¡Š³ä¹þ€ß¥µ¡Œ¥Ó¥¹¥ë¡Œ¥Á¥ó€ÎÀèÆ¬ÈÖÃÏ¡ÊATT_ISR€Îisr¡Ë
3455¡Š³ä¹þ€ß¥Ï¥ó¥É¥é€ÎÀèÆ¬ÈÖÃÏ¡ÊDEF_INH€Îinthdr¡Ë
3456¡ŠCPUÎã³°¥Ï¥ó¥É¥é€ÎÀèÆ¬ÈÖÃÏ¡ÊDEF_EXC€Îexchdr¡Ë
3457¡ŠœéŽü²œ¥ë¡Œ¥Á¥ó€ÎÀèÆ¬ÈÖÃÏ¡ÊATT_INI€Îinirtn¡Ë
3458¡ŠœªÎ»œèÍý¥ë¡Œ¥Á¥ó€ÎÀèÆ¬ÈÖÃÏ¡ÊATT_TER€Îterrtn¡Ë
3459
3460€¿€À€·¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Ë€ª€€€Æ€â¡€€³€ì€é€Î¥š¥é¡Œ¥Á¥§¥Ã¥¯€ò¹Ô€š€ë€È€Ï
3461žÂ€é€Ê€€€¿€á¡€¥æ¡Œ¥¶¡Œ¥º¥Þ¥Ë¥å¥¢¥ë€Î¡Ö1.5 ŽûÃ΀ÎÌäÂê¡×€ÎÀá€Ë€Ï¡€¥¿¡Œ¥²¥Ã
3462¥È°Íž€Ç€³€ì€é€Î¥š¥é¡Œ€¬ž¡œÐ€µ€ì€Ê€€€³€È€¬€¢€ë»Ý€òµ­ºÜ€·€Æ€¢€ë¡¥
3463
34647.4 cfg1_out.c€Î¥ê¥ó¥¯€ËɬÍ׀ʥ¹¥¿¥Ö€ÎÄêµÁ¥Õ¥¡¥€¥ë
3465
3466¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿€ËŽØ€·€Æ¥¿¡Œ¥²¥Ã¥È°Íž€ËÍѰՀ¹€ëɬÍ×€¬€¢€ë¥Õ¥¡¥€¥ë€È
3467€·€Æ¡€ÀßÄê¥Õ¥¡¥€¥ë°Ê³°€Ë¡€cfg1_out.c€ò¥ê¥ó¥¯€¹€ë€¿€á€ËɬÍ׀ʥ¹¥¿¥Ö€ÎÄê
3468µÁ¥Õ¥¡¥€¥ë€¬€¢€ë¡¥
3469
3470¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿€Î¥Ñ¥¹1€Ç€Ï¡€ÀÅŪAPI€ÎÀ°¿ôÄê¿ôŒ°¥Ñ¥é¥á¡Œ¥¿€ÎÃÍ€òC¥³¥ó
3471¥Ñ¥€¥é€òÍÑ€€€Æµá€á€ë€¿€á€Ë¡€cfg1_out.c€òÀžÀ®€¹€ë¡¥€³€ì€ò¥³¥ó¥Ñ¥€¥ë¡€¥ê
3472¥ó¥¯€·€Æ¥ª¥Ö¥ž¥§¥¯¥È¥Õ¥¡¥€¥ë€òÀžÀ®€¹€ëºÝ€Ë¡€¥¹¥¿¡Œ¥È¥¢¥Ã¥×¥â¥ž¥å¡Œ¥ë€«
3473€é»²ŸÈ€µ€ì€ë¥·¥ó¥Ü¥ë€ÎÄêµÁ€òÍ¿€š€ëɬÍ×€¬€¢€ë¡¥
3474
3475€³€ÎÄêµÁ€òÍ¿€š€ë€¿€á€Ë¡€cfg1_out.c€«€é¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Î
3476target_cfg1_out.h€ò¥€¥ó¥¯¥ë¡Œ¥É€·€Æ€€€ë¡¥target_cfg1_out.h¡Ê€Þ€¿€Ï¡€€œ
3477€³€«€é¥€¥ó¥¯¥ë¡Œ¥É€µ€ì€ë¥Õ¥¡¥€¥ë¡Ë€Ë€Ï¡€¥¹¥¿¡Œ¥È¥¢¥Ã¥×¥â¥ž¥å¡Œ¥ë€«€é»²
3478ŸÈ€µ€ì€ë¥·¥ó¥Ü¥ë€Î¥¹¥¿¥Ö€ÎÄêµÁ€òŽÞ€á€ë¡¥Åµ·¿Åª€Ë€Ï¡€°Ê²Œ€Î€è€Š€ÊÄêµÁ€ò
3479ŽÞ€á€ëɬÍ×€¬€¢€ë¡¥
3480
3481----------------------------------------
3482void sta_ker(void)
3483{
3484}
3485
3486void hardware_init_hook(void)
3487{
3488}
3489
3490void software_init_hook(void)
3491{
3492}
3493
3494const SIZE              _kernel_istksz = 0;
3495
3496STK_T *const    _kernel_istk = NULL;
3497----------------------------------------
3498
3499€Þ€¿¡€¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿€òÍÑ€€€Æ¥ª¥Õ¥»¥Ã¥È¥Õ¥¡¥€¥ë¡Êoffset.h¡Ë€òÀžÀ®€¹
3500€ëŸì¹ç€Ë€Ï¡€€œ€Î€¿€á€Îµ­œÒ€òtarget_cfg1_out.h¡Ê€Þ€¿€Ï¡€€œ€³€«€é¥€¥ó¥¯¥ë¡Œ
3501¥É€µ€ì€ë¥Õ¥¡¥€¥ë¡Ë€ËÄɲÀ¹€ëɬÍ×€¬€¢€ë¡¥ŸÜ€·€¯€Ï¡€¡Ö2.5.1 ¥³¥ó¥Õ¥£¥®¥å
3502¥ì¡Œ¥¿€òÍÑ€€€ëÊýË¡¡×€ÎÀá€ò»²ŸÈ€¹€ë€³€È¡¥
3503
3504
3505£ž¡¥¥·¥¹¥Æ¥à¥µ¡Œ¥Ó¥¹Åù€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô
3506
35078.0 ¥·¥¹¥Æ¥à¥µ¡Œ¥Ó¥¹€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô
3508
3509¥·¥ê¥¢¥ë¥Ý¡Œ¥È¿ô€ä¥·¥¹¥Æ¥à¥í¥°¥¿¥¹¥¯ŽØÏ¢€ÎÄê¿ô€Ê€É¡€¥·¥¹¥Æ¥à¥µ¡Œ¥Ó¥¹€Î
3510¹œÀ®€ò·èÄꀹ€ë€¿€á€ÎÄêµÁ€òtarget_syssvc.h€Þ€¿€Ï€œ€³€«€é¥€¥ó¥¯¥ë¡Œ¥É€µ€ì
3511€ë¥Õ¥¡¥€¥ë¡Ê¥×¥í¥»¥Ã¥µ¡Š¥Á¥Ã¥×¡Š³«È¯ŽÄ¶­°ÍžÉô€ÇÍѰՀµ€ì€ë¥Ø¥Ã¥À¥Õ¥¡¥€
3512¥ë€Ê€É¡Ë€ËŽÞ€á€ë¡¥
3513
3514€Ê€ª¡€TOPPERSÁȹþ€ß¥³¥ó¥Ý¡Œ¥Í¥ó¥È¥·¥¹¥Æ¥à€¬Æ³Æþ€µ€ì€ë€È¡€€³€Î¥Õ¥¡¥€¥ë€Î
3515ÆâÍÆ€Ï¥³¥ó¥Ý¡Œ¥Í¥ó¥Èµ­œÒ¥Õ¥¡¥€¥ë€Ëµ­œÒ€µ€ì€ë€³€È€Ë€Ê€ê¡€€³€Î¥Õ¥¡¥€¥ë€Ï
3516̵€¯€Ê€ë¡Ê€Þ€¿€Ï¡€ÂçÉý€ËœÌŸ®€µ€ì€ë¡Ëž«¹þ€ß€Ç€¢€ë¡¥
3517
35188.1 ¥·¥¹¥Æ¥à¥í¥°µ¡Çœ€Î¥¿¡Œ¥²¥Ã¥È°ÍžÄêµÁ
3519
3520¥·¥¹¥Æ¥à¥í¥°µ¡Çœ€ò»ÈÍÑ€¹€ëŸì¹ç€Ç¡€¥¹¥¿¡Œ¥È¥¢¥Ã¥×¥â¥ž¥å¡Œ¥ë€Çbss¥»¥¯¥·¥ç
3521¥ó€Î¥¯¥ê¥¢€òŸÊά€·€Æ€€€ëŸì¹ç€Ë€Ï¡€syslog_logmask€Èsyslog_lowmask_not€ò
35220€ËœéŽü²œ€¹€ë¥³¡Œ¥É€òÄɲÀ¹€ë¡¥€³€ì€Ï¡€¥·¥¹¥Æ¥à¥í¥°µ¡Çœ€¬œéŽü²œ€µ€ì€ëÁ°
3523€ËœÐÎÏ€µ€ì€¿¥í¥°ŸðÊó€ò¡€Äã¥ì¥Ù¥ëœÐÎϵ¡Çœ€òÍÑ€€€ÆœÐÎÏ€¹€ë€¿€á€Ç€¢€ë¡¥
3524
3525¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ÇÄó¶¡€¹€Ù€­¥·¥¹¥Æ¥à¥í¥°µ¡Çœ€Î€¿€á€ÎÄêµÁ€ÏŒ¡€ÎÄÌ€ê€Ç€¢
3526€ë¡¥
3527
3528(8-1-1) TCNT_SYSLOG_BUFFER
3529
3530¥·¥¹¥Æ¥à¥í¥°µ¡Çœ€Î¥í¥°¥Ð¥Ã¥Õ¥¡€Î¥µ¥€¥º€òÄêµÁ€¹€ë¥Þ¥¯¥í¡¥ÄêµÁ€·€Ê€€Ÿì¹ç
3531€Î¥Ç¥Õ¥©¥ë¥ÈÃÍ€Ï32¡¥
3532
3533(8-1-2) void target_fput_log(char c)
3534
3535¥·¥¹¥Æ¥à¥í¥°€ÎÄã¥ì¥Ù¥ëœÐÎπ΀¿€á€ÎÊž»úœÐÎÏŽØ¿ô¡¥¥¿¡Œ¥²¥Ã¥È°Íž€ÎÊýË¡€Ç¡€
3536Êž»úc€òÉœŒš/œÐÎÏ/ÊÝž€¹€ë¡¥
3537
3538€³€ÎŽØ¿ô€Ï¡€¥ê¥š¥ó¥È¥é¥ó¥È€ËŒÂÁõ€·€Ê€±€ì€Ð€Ê€é€Ê€€¡¥€³€ÎŽØ¿ôÆâ€ÇÇÓŸÀ©
3539žæ€¬É¬Í׀ʟì¹ç€Ë€Ï¡€SIL€òÍÑ€€€ÆÁ޳ä¹þ€ß¥í¥Ã¥¯ŸõÂրˀ¹€ë€³€È¡¥€Þ€¿¡€Á޳ä
3540¹þ€ß¥í¥Ã¥¯ŸõÂրǞƀЀì€ëŸì¹ç€¬€¢€ë€¿€á¡€Á޳ä¹þ€ß¥í¥Ã¥¯ŸõÂÖ€«€éžÆ€ÓœÐ€¹
3541€³€È€¬€Ç€­€Ê€€ŽØ¿ô€òžÆ€Ð€Ê€€€è€Š€ËŒÂÁõ€·€Ê€±€ì€Ð€Ê€é€Ê€€¡¥
3542
3543Äã¥ì¥Ù¥ëœÐÎÏ€ò¥·¥ê¥¢¥ë¥Ý¡Œ¥È·Ðͳ€Ç¹Ô€ŠŸì¹ç€Ç¡€¥·¥ê¥¢¥ë¥€¥ó¥¿¥Õ¥§¡Œ¥¹¥É
3544¥é¥€¥Ð€È¥Ý¡Œ¥È€ò¶ŠÍÑ€·€Ê€€€³€È€¬ËŸ€Þ€·€€€¬¡€¥Ý¡Œ¥È¿ô€¬Â­€ê€Ê€€€¿€á€Ë€ä
3545€à€ò€š€º¶ŠÍÑ€¹€ëŸì¹ç€Ë€Ï¡€ÎŸŒÔ€¬¶¥¹ç€·€Ê€€€è€Š€ËÃí°Õ€¬É¬Í׀ǀ¢€ë¡¥¶ñÂÎ
3546Ū€Ë€Ï¡€ÎŸŒÔ€¬Æ±€žÀßÄê€Ç¥·¥ê¥¢¥ëI/O¥Ç¥Ð¥€¥¹€ò»È€Š€è€Š€Ë€·¡€¥·¥ê¥¢¥ë¥€¥ó
3547¥¿¥Õ¥§¡Œ¥¹¥É¥é¥€¥Ð€ÎưºîÃæ€ËÄã¥ì¥Ù¥ëœÐÎÏ€¬¹Ô€ï€ì€Æ€âº¹€·»Ù€š€Ê€€€è€Š€Ë
3548Àß·×€¹€ë¡¥€Þ€¿¡€Äã¥ì¥Ù¥ëœÐÎÏ€¬Æ°ºî³«»Ïžå€Ë¥·¥ê¥¢¥ë¥€¥ó¥¿¥Õ¥§¡Œ¥¹¥É¥é¥€
3549¥Ð€¬¥·¥ê¥¢¥ëI/O¥Ç¥Ð¥€¥¹€òœéŽü²œ€¹€ë€È¡€Êž»ú²œ€±€¬µ¯€³€ë²ÄÇœÀ­€¬€¢€ë€¿€á¡€
3550¶ŠÍÑ€¹€ë¥Ý¡Œ¥È€Ï¡€Äã¥ì¥Ù¥ëœÐÎϵ¡ÇœÂŠ€ÇœéŽü²œ€·¡€¥·¥ê¥¢¥ë¥€¥ó¥¿¥Õ¥§¡Œ¥¹
3551¥É¥é¥€¥Ð€Ç€ÏœéŽü²œ€·€Ê€€€è€Š€Ë€¹€ë€È€è€€¡¥
3552
3553€Ê€ª¡€€³€ÎŽØ¿ô€ÎËÜÂ΀ò¡€€É€Î¥Õ¥¡¥€¥ë€Ëµ­œÒ€¹€ë€«€¬ÌäÂê€Ë€Ê€ë¡¥¥·¥¹¥Æ¥à
3554¥µ¡Œ¥Ó¥¹€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Ë€Ï¡€Éžœà€Ç€Ï¡€ŽØ¿ôÄêµÁ€òµ­œÒ€¹€ë€¿€á€Î¥Õ¥¡
3555¥€¥ë€òÍѰՀ·€Æ€€€Ê€€¡¥¥¿¡Œ¥²¥Ã¥È°Íž€ÇÍѰՀ·€Æ€â€è€€€¬¡€Î㳰Ū€Ë¡€¥«¡Œ
3556¥Í¥ëŒÂÁõ€Î¥¿¡Œ¥²¥Ã¥È°Íž¥â¥ž¥å¡Œ¥ë¡Êtarget_config.c¡Ë€Ëµ­œÒ€·€Æ€â€è€€¡¥
3557€³€ÎŸì¹ç¡€target_fput_log€ò¡€¥ê¥Í¡Œ¥àµ­œÒ¡Êtarget_rename.def€Ê€É¡Ë€ËŽÞ
3558€á€Æ€Ï€Ê€é€Ê€€¡¥
3559
35608.2 ¥í¥°¥¿¥¹¥¯€Î¥¿¡Œ¥²¥Ã¥È°ÍžÄêµÁ
3561
3562¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ÇÄó¶¡€¹€Ù€­¥í¥°¥¿¥¹¥¯€Î€¿€á€ÎÄêµÁ€ÏŒ¡€ÎÄÌ€ê€Ç€¢€ë¡¥€³
3563€ì€é€ÎÄêµÁ€Ï¡€target_syssvc.h€Þ€¿€Ï€œ€³€«€é¥€¥ó¥¯¥ë¡Œ¥É€µ€ì€ë¥Õ¥¡¥€¥ë€Ë
3564ŽÞ€á€ë¡¥
3565
3566(8-2-1) LOGTASK_PRIORITY¡Ê¥ª¥×¥·¥ç¥ó¡Ë
3567
3568¥í¥°¥¿¥¹¥¯€ÎÍ¥ÀèÅÙ€òÄêµÁ€¹€ë¥Þ¥¯¥í¡¥ÄêµÁ€·€Ê€€Ÿì¹ç€Î¥Ç¥Õ¥©¥ë¥ÈÃÍ€Ï3¡¥
3569
3570(8-2-2) LOGTASK_STACK_SIZE¡Ê¥ª¥×¥·¥ç¥ó¡Ë
3571
3572¥í¥°¥¿¥¹¥¯€Î¥¹¥¿¥Ã¥¯¥µ¥€¥º€òÄêµÁ€¹€ë¥Þ¥¯¥í¡¥ÄêµÁ€·€Ê€€Ÿì¹ç€Î¥Ç¥Õ¥©¥ë¥È
3573ÃÍ€Ï1024¡¥
3574
3575(8-2-3) LOGTASK_PORTID¡Ê¥ª¥×¥·¥ç¥ó¡Ë
3576
3577¥í¥°¥¿¥¹¥¯€ÎœÐÎÏÀè€Î¥·¥ê¥¢¥ë¥Ý¡Œ¥ÈÈֹ桥ÄêµÁ€·€Ê€€Ÿì¹ç€Î¥Ç¥Õ¥©¥ë¥ÈÃÍ€Ï1¡¥
3578
3579(8-2-4) LOGTASK_INTERVAL¡Ê¥ª¥×¥·¥ç¥ó¡Ë
3580
3581¥í¥°¥¿¥¹¥¯€ÎưºîŽÖ³Ö¡Êñ°Ì€Ï¥ß¥êÉáˡ¥ÄêµÁ€·€Ê€€Ÿì¹ç€Î¥Ç¥Õ¥©¥ë¥ÈÃÍ€Ï10¡¥
3582
3583(8-2-5) LOGTASK_FLUSH_WAIT¡Ê¥ª¥×¥·¥ç¥ó¡Ë
3584
3585¥í¥°œÐÎÏ€òÂÔ€Á¹ç€ï€»€ëœèÍý€Ë€ª€€€Æ¡€¥¿¥¹¥¯€òÂÔ€¿€»€ëñ°Ì€È€Ê€ë»þŽÖ¡Êñ
3586°Ì€Ï¥ß¥êÉáˡ¥ÄêµÁ€·€Ê€€Ÿì¹ç€Î¥Ç¥Õ¥©¥ë¥ÈÃÍ€Ï1¡¥
3587
35888.3 ¥·¥ê¥¢¥ë¥€¥ó¥¿¥Õ¥§¡Œ¥¹¥É¥é¥€¥Ð€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô
3589
3590¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ÇÄó¶¡€¹€Ù€­¥·¥ê¥¢¥ë¥€¥ó¥¿¥Õ¥§¡Œ¥¹¥É¥é¥€¥Ð€Î€¿€á€ÎÄêµÁ
3591€ÏŒ¡€ÎÄÌ€ê€Ç€¢€ë¡¥€³€ì€é€ÎÄêµÁ€Ï¡€Ề˻ØÄꀬ€Ê€€žÂ€ê¡€target_serial.h€Þ
3592€¿€Ï€œ€³€«€é¥€¥ó¥¯¥ë¡Œ¥É€µ€ì€ë¥Õ¥¡¥€¥ë€ËŽÞ€á¡€É¬Í׀ʥ³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥·¥ç
3593¥óŸðÊó€òtarget_serial.cfg€Ëµ­œÒ€¹€ë¡¥ŽØ¿ô€ÎŒÂÂ΀¬É¬Í׀ʟì¹ç€Ë€Ï¡€
3594target_serial.cÅù€Î¥Õ¥¡¥€¥ë€òÍѰՀ¹€ë¡¥
3595
3596¥·¥ê¥¢¥ë¥€¥ó¥¿¥Õ¥§¡Œ¥¹¥É¥é¥€¥Ð€ÎÃæ€Ç¡€¥¿¡Œ¥²¥Ã¥È€Î¥·¥ê¥¢¥ëI/O¥Ç¥Ð¥€¥¹€Ë
3597°Íž€¹€ëÉôʬ€ò¡€¥·¥ê¥¢¥ëI/O¥Ç¥Ð¥€¥¹¥É¥é¥€¥Ð€ÈžÆ€Ö¡¥¥·¥ê¥¢¥ëI/O¥Ç¥Ð¥€¥¹
3598¥É¥é¥€¥Ð€Ï¡€€ª€ª€è€œ¡€ITRON¥Ç¥Ð¥€¥¹¥É¥é¥€¥ÐÀß·×¥¬¥€¥É¥é¥€¥ó€ÎPDIC€ËÁêÅö
3599€¹€ë¡¥PDIC€ËÁêÅö€¹€ë¥Õ¥¡¥€¥ë€Ç¡€ÂŸ€Î¥·¥¹¥Æ¥à€Ë€â¶ŠÄ̀˻Ȁš€ë²ÄÇœÀ­€¬€¢
3600€ëŸì¹ç€Ë€Ï¡€pdic¥Ç¥£¥ì¥¯¥È¥ê€ËÃÖ€¯¡¥
3601
36028.3.1 ÊÑ¿ô¡€¥Ç¡Œ¥¿·¿¡€ŽÉÍýŽØ¿ô
3603
3604(8-3-1-1) TNUM_PORT
3605
3606¥·¥ê¥¢¥ë¥€¥ó¥¿¥Õ¥§¡Œ¥¹¥É¥é¥€¥Ð€¬¥µ¥Ý¡Œ¥È€¹€ë¥·¥ê¥¢¥ë¥Ý¡Œ¥È¿ô€òÄêµÁ€¹€ë
3607¥Þ¥¯¥í¡¥€³€Î¥Þ¥¯¥í€ÎÄêµÁ€Ï¡€target_syssvc.h€Þ€¿€Ï€œ€³€«€é¥€¥ó¥¯¥ë¡Œ¥É€µ
3608€ì€ë¥Õ¥¡¥€¥ë€ËŽÞ€á€ë¡¥
3609
3610(8-3-1-2) void sio_initialize(intptr_t exinf)¡Ê¥ª¥×¥·¥ç¥ó¡Ë
3611
3612¥·¥ê¥¢¥ëI/O¥Ç¥Ð¥€¥¹¥É¥é¥€¥Ð€ÎœéŽü²œœèÍý¡¥target_serial.cfg€Ë¡€€³€ÎŽØ¿ô
3613€òœéŽü²œ¥ë¡Œ¥Á¥ó€È€·€ÆÅÐÏ¿€¹€ëÀÅŪAPI€òŽÞ€á€ë¡¥
3614
3615(8-3-1-3) void sio_terminate(intptr_t exinf)¡Ê¥ª¥×¥·¥ç¥ó¡Ë
3616
3617¥·¥ê¥¢¥ëI/O¥Ç¥Ð¥€¥¹¥É¥é¥€¥Ð€ÎœªÎ»œèÍý¡¥target_serial.cfg€Ë¡€€³€ÎŽØ¿ô€ò
3618œªÎ»œèÍý¥ë¡Œ¥Á¥ó€È€·€ÆÅÐÏ¿€¹€ëÀÅŪAPI€òŽÞ€á€ë¡¥
3619
3620(8-3-1-4) void sio_isr(intptr_t exinf)
3621
3622¥·¥ê¥¢¥ëI/O¥Ç¥Ð¥€¥¹€Î³ä¹þ€ß¥µ¡Œ¥Ó¥¹¥ë¡Œ¥Á¥ó¡¥target_serial.cfg€Ë¡€€³€Î
3623ŽØ¿ô€ò³ä¹þ€ß¥µ¡Œ¥Ó¥¹¥ë¡Œ¥Á¥ó€È€·€ÆÅÐÏ¿€¹€ëÀÅŪAPI€òŽÞ€á€ë¡¥€Þ€¿¡€€œ€ÎÀÅ
3624ŪAPI€ËɬÍ׀ʥ·¥ê¥¢¥ëI/O¥Ç¥Ð¥€¥¹€Î³ä¹þ€ßÈÖ¹æ€Ê€É€Ï¡€target_serial.h€Ç¥Þ
3625¥¯¥íÄêµÁ€¹€ë¡¥³ä¹þ€ß¥µ¡Œ¥Ó¥¹¥ë¡Œ¥Á¥ó€Ç€Ï€Ê€¯¡€³ä¹þ€ß¥Ï¥ó¥É¥é€È€¹€ë€³€È
3626€â€Ç€­€ë¡¥
3627
3628(8-3-1-5) SIOPCB
3629
3630¥·¥ê¥¢¥ëI/O¥Ý¡Œ¥ÈŽÉÍý¥Ö¥í¥Ã¥¯€Î¥Ç¡Œ¥¿·¿¡Êtarget_serial.h€Ë€Ï¡€¥Ç¡Œ¥¿·¿
3631€ÎÀëžÀ€À€±ŽÞ€Þ€ì€Æ€€€ì€Ð€è€€¡Ë¡¥
3632
3633(8-3-1-6) SIO_RDY_SND€ÈSIO_RDY_RCV
3634
3635Á÷¿®²ÄÇœ¥³¡Œ¥ë¥Ð¥Ã¥¯€ÎŒ±ÊÌÈÖ¹æ€òSIO_RDY_SND€Ë¡€Œõ¿®ÄÌÃÎ¥³¡Œ¥ë¥Ð¥Ã¥¯€ÎŒ±
3636ÊÌÈÖ¹æ€òSIO_RDY_RCV€Ë¥Þ¥¯¥íÄêµÁ€¹€ë¡¥¥³¡Œ¥ë¥Ð¥Ã¥¯€Î¶Ø»ß¡¿µö²Ä€ò¹Ô€Ê€Š¥µ¡Œ
3637¥Ó¥¹¥³¡Œ¥ë¡Êsio_ena_cbr€Èsio_dis_cbr¡Ë€ÇÍÑ€€€ë¡¥
3638
36398.3.2 ¥Ç¥Ð¥€¥¹¥µ¡Œ¥Ó¥¹¥ë¡Œ¥Á¥ó
3640
3641°Ê²Œ€Î¥Ç¥Ð¥€¥¹¥µ¡Œ¥Ó¥ë¥ë¡Œ¥Á¥ó€Ï¡€¡ÊŸ¯€Ê€¯€È€â¡Ë¥·¥ê¥¢¥ëI/O¥Ý¡Œ¥È€«€é€Î
3642³ä¹þ€ß€¬¥Þ¥¹¥¯€µ€ì€¿ŸõÂրǞƀӜЀµ€ì€ë¡¥€Þ€¿¡€¥¿¥¹¥¯¥³¥ó¥Æ¥­¥¹¥È¡€Èó¥¿
3643¥¹¥¯¥³¥ó¥Æ¥­¥¹¥È€Î€€€º€ì€ÇžÆ€ÓœÐ€µ€ì€ëŸì¹ç€â€¢€ë¡Ê€€€º€ì€ÇžÆ€ÓœÐ€µ€ì€Æ
3644€âưºî€¹€ë€è€Š€Ë€·€Ê€±€ì€Ð€Ê€é€Ê€€¡Ë¡¥
3645
3646(8-3-2-1) SIOPCB *sio_opn_por(ID siopid, intptr_t exinf)
3647
3648siopid€Ç»ØÄꀵ€ì€ë¥·¥ê¥¢¥ëI/O¥Ý¡Œ¥È€ò¥ª¡Œ¥×¥ó€¹€ëŽØ¿ô¡¥exinf€Ï¥·¥ê¥¢¥ë
3649I/O¥Ý¡Œ¥È€ËÂЀ¹€ë³ÈÄ¥ŸðÊó€Ç¡€¥³¡Œ¥ë¥Ð¥Ã¥¯€òžÆ€Ö»þ€Ë¥Ý¡Œ¥È€ò¶èÊÌ€¹€ë€¿
3650€á€ËÅÏ€¹¡¥
3651
3652(8-3-2-2) void sio_cls_por(SIOPCB *siopcb)
3653
3654siopcb€Ç»ØÄꀵ€ì€ë¥·¥ê¥¢¥ëI/O¥Ý¡Œ¥È€ò¥¯¥í¡Œ¥º€¹€ëŽØ¿ô¡¥
3655
3656(8-3-2-3) bool_t sio_snd_chr(SIOPCB *siopcb, char c)
3657
3658siopcb€Ç»ØÄꀵ€ì€ë¥·¥ê¥¢¥ëI/O¥Ý¡Œ¥È€Ë¡€c€ÇŒš€µ€ì€ëÊž»ú€òÁ÷¿®€¹€ëŽØ¿ô¡¥
3659Êž»ú€òÁ÷¿®¥ì¥ž¥¹¥¿€ËÆþ€ì€¿Ÿì¹ç€Ë€Ïtrue€ò¡€Á°€ËÁ÷¿®€·€¿Êž»ú€ÎÁ÷¿®€¬œª€ï€Ã
3660€Æ€€€Ê€€€¿€á€Ë¡€Êž»ú€òÁ÷¿®¥ì¥ž¥¹¥¿€ËÆþ€ì€é€ì€Ê€«€Ã€¿Ÿì¹ç€Ë€Ïfalse€òÊÖ€¹¡¥
3661
3662(8-3-2-4) int_t sio_rcv_chr(SIOPCB *siopcb)
3663
3664siopcb€Ç»ØÄꀵ€ì€ë¥·¥ê¥¢¥ëI/O¥Ý¡Œ¥È€«€éÊž»ú€òÆÉ€àŽØ¿ô¡¥Êž»ú€òŒõ¿®€·€Æ€€
3665€¿Ÿì¹ç¡€ÆÉ€ó€ÀÊž»ú€Î¥³¡Œ¥É€ÏÀµ€ÎÃ̀Ȁ·€ÆÊÖ€·¡€Êž»ú€òŒõ¿®€·€Æ€€€Ê€€Ÿì¹ç
3666€Ë€Ï-1€òÊÖ€¹¡¥
3667
3668(8-3-2-5) void sio_ena_cbr(SIOPCB *siopcb, uint_t cbrtn)
3669
3670siopcb€Ç»ØÄꀵ€ì€ë¥·¥ê¥¢¥ëI/O¥Ý¡Œ¥È€«€é€Î¡€cbrtn€Ç»ØÄꀵ€ì€ë¥³¡Œ¥ë¥Ð¥Ã
3671¥¯€òµö²Ä€¹€ë¡¥cbrtn€Ë€Ï¡€SIO_RDY_SND€«SIO_RDY_RCV€ò»ØÄê€Ç€­€ë¡¥
3672
3673(8-3-2-6) void sio_dis_cbr(SIOPCB *siopcb, uint_t cbrtn)
3674
3675siopcb€Ç»ØÄꀵ€ì€ë¥·¥ê¥¢¥ëI/O¥Ý¡Œ¥È€«€é€Î¡€cbrtn€Ç»ØÄꀵ€ì€ë¥³¡Œ¥ë¥Ð¥Ã
3676¥¯€ò¶Ø»ß€¹€ë¡¥cbrtn€Ë€Ï¡€SIO_RDY_SND€«SIO_RDY_RCV€ò»ØÄê€Ç€­€ë¡¥
3677
36788.3.3 ¥³¡Œ¥ë¥Ð¥Ã¥¯¥ë¡Œ¥Á¥ó
3679
3680¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Ï¡€É¬Í׀ʥ¿¥€¥ß¥ó¥°€Ç¡€¥·¥ê¥¢¥ë¥€¥ó¥¿¥Õ¥§¡Œ¥¹¥É¥é¥€¥Ð
3681€Î¥¿¡Œ¥²¥Ã¥ÈÈó°ÍžÉô€ËŽÞ€Þ€ì€ë°Ê²Œ€Î¥³¡Œ¥ë¥Ð¥Ã¥¯¥ë¡Œ¥Á¥ó€òžÆ€ÓœÐ€Ó€À€µ
3682€Ê€±€ì€Ð€Ê€é€Ê€€¡¥€¿€À€·¡€€œ€ì€Ÿ€ì€Î¥³¡Œ¥ë¥Ð¥Ã¥¯€¬¶Ø»ß€µ€ì€Æ€€€ë»þ€Ï¡€
3683¥³¡Œ¥ë¥Ð¥Ã¥¯¥ë¡Œ¥Á¥ó€òžÆ€ÓœÐ€·€Æ€Ï€Ê€é€Ê€€¡¥
3684
3685¥³¡Œ¥ë¥Ð¥Ã¥¯¥ë¡Œ¥Á¥ó€Ï¡€¡ÊŸ¯€Ê€¯€È€â¡Ë¥·¥ê¥¢¥ëI/O¥Ý¡Œ¥È€«€é€Î³ä¹þ€ß€¬¶Ø
3686»ß€µ€ì€¿ŸõÂրǡ€È󥿥¹¥¯¥³¥ó¥Æ¥­¥¹¥È€ÇžÆ€ÓœÐ€¹¡¥exinf€Ë€Ï¡€¥·¥ê¥¢¥ëI/O
3687¥Ý¡Œ¥È€Î¥ª¡Œ¥×¥ó»þ€Ë»ØÄꀵ€ì€¿³ÈÄ¥ŸðÊó€òÅÏ€¹¡¥
3688
3689(8-3-3-1) void sio_irdy_snd(intptr_t exinf)
3690
3691Á÷¿®²ÄÇœ¥³¡Œ¥ë¥Ð¥Ã¥¯¥ë¡Œ¥Á¥ó¡¥¥·¥ê¥¢¥ëI/O¥Ý¡Œ¥È€ËÂЀ·€ÆÊž»ú€¬Á÷¿®€Ç€­€ë
3692ŸõÂրˀʀÀ¿Ÿì¹ç€ËžÆ€ÓœÐ€¹¡¥¥·¥ê¥¢¥ë¥€¥ó¥¿¥Õ¥§¡Œ¥¹¥É¥é¥€¥Ð€Ï¡€€³€Î¥³¡Œ
3693¥ë¥Ð¥Ã¥¯¥ë¡Œ¥Á¥ó€ÎÃæ€Ç¡€sio_snd_chr€òžÆ€ÓœÐ€·€ÆŒ¡€ÎÊž»ú€òÁ÷¿®€¹€ë€«¡€Á÷
3694¿®€¹€Ù€­Êž»ú€¬€Ê€€Ÿì¹ç€Ë€ÏÁ÷¿®²ÄÇœ¥³¡Œ¥ë¥Ð¥Ã¥¯€ò¶Ø»ß€¹€ë¡¥
3695
3696(8-3-3-2) void sio_irdy_rcv(intptr_t exinf)
3697
3698Œõ¿®ÄÌÃÎ¥³¡Œ¥ë¥Ð¥Ã¥¯¥ë¡Œ¥Á¥ó¡¥¥·¥ê¥¢¥ëI/O¥Ý¡Œ¥È€«€éÊž»ú€òŒõ¿®€·€¿Ÿì¹ç€Ë
3699žÆ€ÓœÐ€¹¡¥¥·¥ê¥¢¥ë¥€¥ó¥¿¥Õ¥§¡Œ¥¹¥É¥é¥€¥Ð€Ï¡€€³€Î¥³¡Œ¥ë¥Ð¥Ã¥¯¥ë¡Œ¥Á¥ó€Î
3700Ãæ€Ç¡€É¬€ºsio_rcv_chr€òžÆ€ÓœÐ€·€ÆŒõ¿®€·€¿Êž»ú€òŒè€êœÐ€¹¡¥
3701
37028.4 ¥«¡Œ¥Í¥ëµ¯Æ°¥á¥Ã¥»¡Œ¥ž€ÎœÐÎπΥ¿¡Œ¥²¥Ã¥È°ÍžÄêµÁ
3703
3704¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ÇÄó¶¡€¹€Ù€­¥«¡Œ¥Í¥ëµ¯Æ°¥á¥Ã¥»¡Œ¥ž€ÎœÐÎπ΀¿€á€ÎÄêµÁ€Ï
3705Œ¡€ÎÄÌ€ê€Ç€¢€ë¡¥
3706
3707(8-4-1) TARGET_NAME
3708
3709¥¿¡Œ¥²¥Ã¥È€ÎÌŸŸÎ€ËÄêµÁ€¹€ë¡¥
3710
3711(8-4-2) TARGET_COPYRIGHT¡Ê¥ª¥×¥·¥ç¥ó¡Ë
3712
3713¥«¡Œ¥Í¥ëµ¯Æ°¥á¥Ã¥»¡Œ¥ž€Ë¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ÎÃøºîž¢ÉœŒš€òÄɲÀ¹€ë€¿€á€Î
3714¥Þ¥¯¥í¡¥¥Ç¥Õ¥©¥ë¥È€Ç€Ï¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ÎÃøºîž¢ÉœŒš€òÄɲÀ·€Ê€€¡¥
3715
37168.5 ¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à€È¥Æ¥¹¥È¥×¥í¥°¥é¥à€Î¥¿¡Œ¥²¥Ã¥È°ÍžÄêµÁ
3717
3718¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ÇÄó¶¡€¹€Ù€­¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à€ª€è€Ó¥Æ¥¹¥È¥×¥í¥°¥é¥à€Î
3719€¿€á€ÎÄêµÁ€ÏŒ¡€ÎÄÌ€ê€Ç€¢€ë¡¥€³€ì€é€ÎÄêµÁ€Ï¡€target_test.h¡Ê€Þ€¿€Ï€œ€ì€é
3720€«€é¥€¥ó¥¯¥ë¡Œ¥É€µ€ì€ë¥Õ¥¡¥€¥ë¡Ë€ËŽÞ€á€ë¡¥
3721
3722(8-5-1) STACK_SIZE¡Ê¥ª¥×¥·¥ç¥ó¡Ë
3723
3724¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à€ª€è€Ó¥Æ¥¹¥È¥×¥í¥°¥é¥à€Î¥¿¥¹¥¯€Î¥¹¥¿¥Ã¥¯¥µ¥€¥º€òÄêµÁ
3725€¹€ë¥Þ¥¯¥í¡¥ÄêµÁ€·€Ê€€Ÿì¹ç€Î¥Ç¥Õ¥©¥ë¥ÈÃÍ€Ï4096¡¥¥Ç¥Õ¥©¥ë¥ÈÀßÄê€Ç€Ï¥á¥â
3726¥ê€¬ÉÔ­€¹€ëŸì¹ç€ä¡€¥·¥ß¥å¥ì¡Œ¥·¥ç¥óŽÄ¶­€Ê€É€ÇÂ瀭€€¥¹¥¿¥Ã¥¯Îΰ耬ɬÍ×
3727€ÊŸì¹ç€Ë€Ï¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Ç€³€Î¥Þ¥¯¥í€òÀßÄꀹ€ë¥¹¥¿¥Ã¥¯¥µ¥€¥º€ËÄêµÁ
3728€¹€ë¡¥
3729
3730(8-5-2) CPUEXC1¡Ê¥ª¥×¥·¥ç¥ó¡Ë
3731
3732¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à€ª€è€Ó¥Æ¥¹¥È¥×¥í¥°¥é¥à€ÇÍÑ€€€ëCPUÎã³°€ÎCPUÎã³°¥Ï¥ó¥É
3733¥éÈÖ¹æ€òÄêµÁ€¹€ë¥Þ¥¯¥í¡¥€³€Î¥Þ¥¯¥í€òÄêµÁ€·€Ê€€Ÿì¹ç¡€CPUÎã³°¥Ï¥ó¥É¥é€ò»È
3734€ŠÉôʬ€¬¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à€«€éœü³°€µ€ì€ë¡¥CPUÎã³°¥Ï¥ó¥É¥é€Î¥Æ¥¹¥È€ò€¹€ë
3735¥Æ¥¹¥È¥×¥í¥°¥é¥à€Ï¥³¥ó¥Ñ¥€¥ë€Ç€­€Ê€€¡¥
3736
3737(8-5-3) RAISE_CPU_EXCEPTION¡Ê¥ª¥×¥·¥ç¥ó¡Ë
3738
3739CPUEXC1€ËÄêµÁ€·€¿CPUÎã³°€òȯÀž€µ€»€ëCžÀžì€Î¥×¥í¥°¥é¥à€òÄêµÁ€¹€ë¥Þ¥¯¥í¡¥
3740CPUEXC1€òÄêµÁ€·€¿Ÿì¹ç€Ë€Ïɬ€ºÄêµÁ€·€Ê€±€ì€Ð€Ê€é€Ê€€¡¥
3741
3742(8-5-4) CANNOT_RETURN_CPUEXC¡Ê¥ª¥×¥·¥ç¥ó¡Ë
3743
3744¥¿¡Œ¥²¥Ã¥È¥·¥¹¥Æ¥à€ÎÀ©Ìó€Ë€è€ê¡€CPUÎã³°¥Ï¥ó¥É¥é€«€é¥ê¥¿¡Œ¥ó€·€¿žå€Ë¡€¥¿
3745¥¹¥¯€ÎŒÂ¹Ô€ò·Ñ³€Ç€­€Ê€€Ÿì¹ç€ËÄêµÁ€¹€ë¥Þ¥¯¥í¡¥€³€Î¥Þ¥¯¥í€òÄêµÁ€¹€ë€È¡€
3746CPUÎã³°¥Ï¥ó¥É¥é€Î¥Æ¥¹¥È€ò€¹€ë¥Æ¥¹¥È¥×¥í¥°¥é¥à€«€é¡€CPUÎã³°¥Ï¥ó¥É¥é€«€é
3747¥ê¥¿¡Œ¥ó€·€¿žå€ÎœèÍý€¬œü³°€µ€ì€ë¡¥¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à€Î³ºÅöÉôʬ€ÏÀµ€·€¯
3748ưºî€·€Ê€€¡¥
3749
3750(8-5-5) TASK_PORTID¡Ê¥ª¥×¥·¥ç¥ó¡Ë
3751
3752¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à€Ë€ª€€€Æ¡€¥³¥Þ¥ó¥ÉÊž»ú€òÆÉ€ß¹þ€à¥·¥ê¥¢¥ë¥Ý¡Œ¥ÈÈÖ¹æ€ò
3753ÄêµÁ€¹€ë¥Þ¥¯¥í¡¥ÄêµÁ€·€Ê€€Ÿì¹ç€Î¥Ç¥Õ¥©¥ë¥ÈÃÍ€Ï1¡¥
3754
3755(8-5-6) LOOP_REF¡Ê¥ª¥×¥·¥ç¥ó¡Ë
3756
3757¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à€Ë€ª€€€Æ¡€¥×¥í¥»¥Ã¥µ€Î®ÅÙ€ò·×¬€¹€ë€¿€á€Î¥ë¡Œ¥×²ó¿ô
3758€òÄêµÁ€¹€ë¥Þ¥¯¥í¡¥ÄêµÁ€·€Ê€€Ÿì¹ç€Î¥Ç¥Õ¥©¥ë¥ÈÃÍ€Ï1000000¡¥¥Ç¥Õ¥©¥ë¥ÈÀßÄê
3759€Ç€Ï¡€ÃÍ€¬Â瀭²á€®€Æ·×¬€Ë»þŽÖ€¬€«€«€ê€¹€®€ëŸì¹ç€ä¡€ÃÍ€¬Ÿ®€µ²á€®€Æ·×¬
3760·ë²Ì€¬°ÂÄꀷ€Ê€€Ÿì¹ç€Ë¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Ç€³€Î¥Þ¥¯¥í€òÀßÄꀹ€ë¥ë¡Œ¥×²ó
3761¿ô€ËÄêµÁ€¹€ë¡¥
3762
3763(8-5-7) MEASURE_TWICE¡Ê¥ª¥×¥·¥ç¥ó¡Ë
3764
3765¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à€Ë€ª€€€Æ¡€¥×¥í¥»¥Ã¥µ€Î®ÅÙ€ò2Åٷ׬€¹€ëŸì¹ç€ËÄêµÁ€¹€ë
3766¥Þ¥¯¥í¡¥¥·¥ß¥å¥ì¡Œ¥·¥ç¥óŽÄ¶­€Ê€É¥×¥í¥»¥Ã¥µ€Î®ÅÙ€¬ÊÑÆ°€¹€ëŽÄ¶­€Ç¡€1ÅÙ€Î
3767·×¬€Ç€Ï·×¬·ë²Ì€¬°ÂÄꀷ€Ê€€Ÿì¹ç€ËÄêµÁ€¹€ë¡¥
3768
3769(8-5-8) TASK_LOOP¡Ê¥ª¥×¥·¥ç¥ó¡Ë
3770
3771¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à€Ë€ª€€€Æ¡€¥×¥í¥»¥Ã¥µ€Î®ÅÙ€ò·×¬€»€º€Ë¡€¥¿¥¹¥¯Æâ€Ç€Î
3772¥ë¡Œ¥×²ó¿ô€òžÇÄꀹ€ëŸì¹ç€Ë¡€¥ë¡Œ¥×²ó¿ô€òÄêµÁ€¹€ë¥Þ¥¯¥í¡¥¥ë¡Œ¥×ÁŽÂ΀ΌÂ
3773¹Ô»þŽÖ€¬0.4ÉÃÄøÅـˀʀë€è€Š€Ê¥ë¡Œ¥×²ó¿ô€ò¡€€³€Î¥Þ¥¯¥í€ËÄêµÁ€¹€ë¡¥
3774
37758.6 ŒÂ¹Ô»þŽÖʬÉÛœž·×¥â¥ž¥å¡Œ¥ë€Î¥¿¡Œ¥²¥Ã¥È°ÍžÄêµÁ
3776
3777ŒÂ¹Ô»þŽÖʬÉÛœž·×¥â¥ž¥å¡Œ¥ë€ÎÀßÄê€ò¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ÇÊѹ¹€¹€ëŸì¹ç€Ë¡€¥¿¡Œ
3778¥²¥Ã¥È°ÍžÉô€ÇÄó¶¡€¹€Ù€­ŒÂ¹Ô»þŽÖʬÉÛœž·×¥â¥ž¥å¡Œ¥ë€Î€¿€á€ÎÄêµÁ€ÏŒ¡€ÎÄÌ
3779€ê€Ç€¢€ë¡¥€³€ì€é€ÎÄêµÁ€Ï¡€target_test.h¡Ê€Þ€¿€Ï€œ€³€«€é¥€¥ó¥¯¥ë¡Œ¥É€µ€ì
3780€ë¥Õ¥¡¥€¥ë¡Ë€ËŽÞ€á€ë¡¥€³€ÎŸ€Ë¡€¥¿¡Œ¥²¥Ã¥È°Íž€ÇɬÍ׀ʜéŽü²œœèÍý€¬€¢€ë
3781Ÿì¹ç€Ë€â¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ËŽÞ€á€ë¡¥
3782
3783(8-6-1) HISTTIM¡Ê¥ª¥×¥·¥ç¥ó¡Ë
3784
3785ŒÂ¹Ô»þŽÖ·×¬Íрλþ¹ï€Î¥Ç¡Œ¥¿·¿€òÄêµÁ€¹€ë¥Þ¥¯¥í¡¥ÄêµÁ€·€Ê€€Ÿì¹ç€Î¥Ç¥Õ¥©
3786¥ë¥È€ÏSYSUTM¡¥
3787
3788(8-6-2) void HIST_GET_TIM(HISTTIM *p_time)¡Ê¥ª¥×¥·¥ç¥ó¡Ë
3789
3790ŒÂ¹Ô»þŽÖ·×¬ÍрΞœºß»þ¹ï€ò*p_time€ËŒèÆÀ€¹€ëœèÍý€ËÄêµÁ€¹€ë¥Þ¥¯¥í¡¥ÄêµÁ€·
3791€Ê€€Ÿì¹ç€Î¥Ç¥Õ¥©¥ë¥È€Ïget_utm¡¥
3792
3793(8-6-3) uint_t HIST_CONV_TIM(HISTTIM time)¡Ê¥ª¥×¥·¥ç¥ó¡Ë
3794
3795ŒÂ¹Ô»þŽÖ·×¬Íрλþ¹ï€Îº¹¡Ê»þŽÖ¡Ë€ò¡€ŒÂ¹Ô»þŽÖʬÉÛœž·×ÍÑ€ÎÃÍ€ËÊÑŽ¹€¹€ëœè
3796Íý€ËÄêµÁ€¹€ë¥Þ¥¯¥í¡¥»þ¹ï€¬²áµî€ËÌá€Ã€¿€«¥ª¡Œ¥Ð¥Õ¥í¡Œ€·€¿€«€Î¶èÊÌ€¬€Ä€«
3797€Ê€€Ÿì¹ç€Ë€Ï¡€ºÇŸå°Ì¥Ó¥Ã¥È€¬1€ÎÃÍ¡ÊINT_MAX€è€ê€âÂ瀭€€Ã͡ˀòÊÖ€¹¡¥ÄêµÁ
3798€·€Ê€€Ÿì¹ç€Î¥Ç¥Õ¥©¥ë¥È€Ï¡€time€òuint_t€Ë¥­¥ã¥¹¥È€¹€ëœèÍý¡¥
3799
3800(8-6-4) void HIST_BM_HOOK(void)¡Ê¥ª¥×¥·¥ç¥ó¡Ë
3801
3802ŒÂ¹Ô»þŽÖ·×¬ğÁ°€Ë¹Ô€Š€Ù€­œèÍý€ËÄêµÁ€¹€ë¥Þ¥¯¥í¡¥¥­¥ã¥Ã¥·¥å€Î¥Ñ¡Œ¥ž€ä¥Õ¥£
3803¥ë¡€¥á¥â¥ê¥Ð¥ê¥¢œèÍýÅù€ò¹Ô€€€¿€€Ÿì¹ç€Ë€Ï¡€€³€Î¥Þ¥¯¥í€ËÄêµÁ€¹€ë¡¥ÄêµÁ€·
3804€Ê€€Ÿì¹ç€Î¥Ç¥Õ¥©¥ë¥È€Ï¡€¶õ€ÎœèÍý€Ë€Ê€ë¡¥
3805
3806
3807£¹¡¥€œ€ÎŸ
3808
38099.1 ¥É¥­¥å¥á¥ó¥È
3810
3811¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Î¥æ¡Œ¥¶¡Œ¥º¥Þ¥Ë¥å¥¢¥ë€ò¡€target_user.txt€ËÍѰՀ¹€ë¡¥¥×
3812¥í¥»¥Ã¥µ¡Š¥Á¥Ã¥×¡Š³«È¯ŽÄ¶­°ÍžÉô€Î¥æ¡Œ¥¶¡Œ¥º¥Þ¥Ë¥å¥¢¥ë€òÀÚ€êʬ€±€Æ€â€è
3813€€€·¡€¥Õ¥¡¥€¥ë€¬Â瀭€¯€Ê€ëŸì¹ç€Ë€ÏÊ£¿ô€Î¥Õ¥¡¥€¥ë€Ëʬ³ä€·€Æ€è€€€¬¡€€œ€Î
3814Ÿì¹ç€Ë€Ï¡€target_user.txtÃæ€Ë€œ€ì€é€Î¥Õ¥¡¥€¥ëÌŸ€òµ­œÒ€¹€ë€³€È¡¥
3815
3816¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Î¥æ¡Œ¥¶¡Œ¥º¥Þ¥Ë¥å¥¢¥ë€Ë€Ï¡€Ÿ¯€Ê€¯€È€âŒ¡€Î€è€Š€ÊÆâÍÆ€ò
3817µ­œÒ€¹€ë€³€È€¬ËŸ€Þ€·€€¡¥
3818
3819(1) Âбþ€·€Æ€€€ë¥¿¡Œ¥²¥Ã¥È¥·¥¹¥Æ¥à€ÎŒïÎࡊ¹œÀ®¡€¥Ð¡Œ¥ž¥ç¥óÈÖ¹æ
3820        ¡Š¥¿¡Œ¥²¥Ã¥È¥Ï¡Œ¥É¥Š¥§¥¢¡Ê¥Ü¡Œ¥ÉÅù¡Ë€ÎÌŸŸÎ€ÈÂбþ€·€Æ€€€ë¹œÀ®
3821        ¡Š¥¿¡Œ¥²¥Ã¥ÈάŸÎ
3822        ¡Š¥¿¡Œ¥²¥Ã¥ÈÈó°ÍžÉô€Î¥Ð¡Œ¥ž¥ç¥óÈÖ¹æ
3823        ¡Š¥×¥í¥»¥Ã¥µ¡€¥Á¥Ã¥×¡€³«È¯ŽÄ¶­°ÍžÉô€Î¹œÀ®€È¥Ð¡Œ¥ž¥ç¥óÈÖ¹æ
3824        ¡Š»ÈÍÑ€¹€ëPDIC€È¥Ð¡Œ¥ž¥ç¥óÈÖ¹æ
3825
3826(2) »ÈÍÑ€¹€ë³«È¯ŽÄ¶­€Èưºîž¡ŸÚ€·€¿Ÿò·ï¡Ê¥Ð¡Œ¥ž¥ç¥ó¡€¥ª¥×¥·¥ç¥óÅù¡Ë
3827        ¡ŠžÀžìœèÍý·Ï¡Ê¥³¥ó¥Ñ¥€¥é¡€¥¢¥»¥ó¥Ö¥é¡€¥ê¥ó¥«Åù¡Ë
3828        ¡Š¥Ç¥Ð¥Ã¥°ŽÄ¶­
3829
3830(3) ¥¿¡Œ¥²¥Ã¥ÈÄêµÁ»ö¹à€Îµ¬Äê
3831
3832(3-1) ¥Ç¡Œ¥¿·¿€ËŽØ€¹€ëµ¬Äê
3833        ¡Šint_t·¿¡€long_t·¿€Î¥µ¥€¥º
3834        ¡Šchar·¿¡€int_least8_t·¿¡€void *·¿¡€intptr_t·¿€Î¥µ¥€¥º
3835        ¡Šint8_t·¿¡€uint8_t·¿¡€int64_t·¿¡€uint64_t·¿¡€int128_t·¿¡€
3836        ¡¡uint128_t·¿¡€float32_t·¿¡€double64_t·¿€Î¥µ¥Ý¡Œ¥È€Î̵ͭ
3837
3838(3-2) ³ä¹þ€ßœèÍý€ËŽØ€¹€ëµ¬Äê
3839        ¡Š³ä¹þ€ß¥Ï¥ó¥É¥éÈÖ¹æ€È³ä¹þ€ßÈÖ¹æ€Î³äÅö€Æ¡€ÎŸŒÔ€ÎÂбþ
3840        ¡Š³ä¹þ€ßÍ¥ÀèÅÙ€ÎÃʳ¬¿ô¡ÊTMIN_INTPRI€ÎÃÍ¡Ë
3841        ¡Šdis_int€Èena_int€Î¥µ¥Ý¡Œ¥È€Î̵ͭ¡€€œ€ÎÀ©žÂ»ö¹à
3842        ¡ŠCFG_INT€ÎÀ©žÂ»ö¹à€È³ÈÄ¥¡Ê¥¿¡Œ¥²¥Ã¥ÈÄêµÁ€Ç»ÈÍрǀ­€ë³ä¹þ€ß°À­¡Ë
3843        ¡ŠTOPPERSÉžœà³ä¹þ€ßœèÍý¥â¥Ç¥ë€«€é€Î€œ€ÎŸ€Î°ïÊ
3844        ¡Š¥Ç¥Õ¥©¥ë¥È€Î³ä¹þ€ß¥Ï¥ó¥É¥é¡Êdefault_int_handler¡Ë€Î̵ͭ€ÈœèÍýÆâÍÆ
3845
3846(3-3) ¥«¡Œ¥Í¥ëŽÉÍý³°€Î³ä¹þ€ß€ËŽØ€¹€ëµ¬Äê
3847        ¡ŠTMIN_INTPRI€ÏžÇÄꀫÀßÄê€Ç€­€ë€«¡€€œ€ÎÀßÄêÊýË¡
3848        ¡ŠNMI°Ê³°€Ë¥«¡Œ¥Í¥ëŽÉÍý³°€Î³ä¹þ€ß€òÀ߀±€ë€«¡ÊÀ߀±€é€ì€ë€è€Š€Ë€¹€ë€«¡Ë
3849        ¡Š¥«¡Œ¥Í¥ëŽÉÍý³°€Î³ä¹þ€ß€ÎÀßÄêÊýË¡
3850        ¡Š¥«¡Œ¥Í¥ëŽÉÍý³°€Î³ä¹þ€ß€ËÂЀ·€ÆDEF_INH¡€CFG_INT€ò¥µ¥Ý¡Œ¥È€¹€ë€«
3851        ¡Š¥«¡Œ¥Í¥ëŽÉÍý³°€Î³ä¹þ€ß¥Ï¥ó¥É¥é€¬ŒÂ¹Ô³«»Ï€µ€ì€ë»þ€Î¥·¥¹¥Æ¥àŸõÂÖ€È
3852        ¡¡¥³¥ó¥Æ¥­¥¹¥È
3853        ¡Š³ä¹þ€ß¥Ï¥ó¥É¥é€ÎœªÎ»»þ€Ë¹Ô€ï€ì€ëœèÍý
3854        ¡Š¥«¡Œ¥Í¥ëŽÉÍý³°€Î³ä¹þ€ß¥Ï¥ó¥É¥é€Îµ­œÒÊýË¡
3855        ¡Š¥«¡Œ¥Í¥ëÆâ€Î³ä¹þ€ßœÐÆþžýœèÍý€Çµ¯€³€ë²ÄÇœÀ­€Î€¢€ëCPUÎã³°
3856
3857(3-4) CPUÎã³°œèÍý€ËŽØ€¹€ëµ¬Äê
3858        ¡ŠCPUÎã³°¥Ï¥ó¥É¥éÈÖ¹æ€Î³äÅö€Æ
3859        ¡Š³ä¹þ€ßÍ¥ÀèÅÙ¥Þ¥¹¥¯€òTMIN_INTPRI€ÈƱ€ž€«€œ€ì€è€ê€â¹â€€ÃÍ€ËÀßÄꀷ€Æ
3860        ¡¡€€€ëŸõÂÖ€ÇȯÀž€·€¿CPUÎã³°€ò¡€¥«¡Œ¥Í¥ëŽÉÍý³°€ÎCPUÎã³°€È°·€Š€«
3861        ¡Š¥«¡Œ¥Í¥ëÆâ€ÎCPUÎã³°œÐÆþžýœèÍý€Çµ¯€³€ë²ÄÇœÀ­€Î€¢€ëCPUÎã³°
3862        ¡Š¥Ç¥Õ¥©¥ë¥È€ÎCPUÎã³°¥Ï¥ó¥É¥é¡Êdefault_exc_handler¡Ë€Î̵ͭ€ÈœèÍýÆâÍÆ
3863
3864(3-5) À­ÇœÉŸ²ÁÍÑ¥·¥¹¥Æ¥à»þ¹ï€Î»²ŸÈ€ËŽØ€¹€ëµ¬Äê
3865        ¡Šget_utm€Î¥µ¥Ý¡Œ¥È€Î̵ͭ¡€€œ€ÎÀ©žÂ»ö¹à
3866
3867(3-6) ³ÈÄ¥¥Ñ¥Ã¥±¡Œ¥ž€ËŽØ€¹€ëµ¬Äê
3868        ¡Š³Æ³ÈÄ¥¥Ñ¥Ã¥±¡Œ¥ž€Î¥µ¥Ý¡Œ¥È€Î̵ͭ
3869                - ¥ß¥å¡Œ¥Æ¥Ã¥¯¥¹µ¡Çœ³ÈÄ¥¥Ñ¥Ã¥±¡Œ¥ž
3870                - ¥ª¡Œ¥Ð¥é¥ó¥Ï¥ó¥É¥éµ¡Çœ³ÈÄ¥¥Ñ¥Ã¥±¡Œ¥ž
3871                - ¥¿¥¹¥¯Í¥ÀèÅÙ³ÈÄ¥¥Ñ¥Ã¥±¡Œ¥ž
3872                - À©Ì󥿥¹¥¯³ÈÄ¥¥Ñ¥Ã¥±¡Œ¥ž
3873                - ưŪÀžÀ®µ¡Çœ³ÈÄ¥¥Ñ¥Ã¥±¡Œ¥ž
3874        ¡Š¥ª¡Œ¥Ð¥é¥ó¥Ï¥ó¥É¥éµ¡Çœ³ÈÄ¥¥Ñ¥Ã¥±¡Œ¥ž€ò¥µ¥Ý¡Œ¥È€¹€ëŸì¹ç€Ë¡€¥×¥í¥»¥Ã
3875        ¡¡¥µ»þŽÖ€Ë»ØÄê€Ç€­€ëÃ̀κÇÂçÃÍ¡ÊTMAX_OVRTIM€ÎÃÍ¡Ë
3876        ¡ŠÆ°ÅªÀžÀ®µ¡Çœ³ÈÄ¥¥Ñ¥Ã¥±¡Œ¥ž€ò¥µ¥Ý¡Œ¥È€¹€ëŸì¹ç€Ë¡€Æ°Åª¥á¥â¥êŽÉÍý€Î
3877        ¡¡ÊýË¡
3878
3879(3-7) €œ€ÎŸ
3880        ¡Š€œ€ÎŸ€ÎÀ©žÂ»ö¹à
3881        ¡Š€œ€ÎŸ€Î³ÈÄ¥µ¡Çœ
3882
3883(4) ¥«¡Œ¥Í¥ë€Îµ¯Æ°¡¿œªÎ»œèÍý€ËŽØ€¹€ëŸðÊó
3884        ¡ŠÍѰՀ·€Æ€€€ë¥¹¥¿¡Œ¥È¥¢¥Ã¥×¥â¥ž¥å¡Œ¥ë€ÎœèÍýÆâÍÆ
3885        ¡Š¥¹¥¿¡Œ¥È¥¢¥Ã¥×¥â¥ž¥å¡Œ¥ë€«€éhardware_init_hook€òžÆ€ÓœÐ€·€Æ€€€ëŸì
3886        ¡¡¹ç€Ë€Ï¡€hardware_init_hook€ò¥¢¥×¥ê¥±¡Œ¥·¥ç¥ó€ÇÍѰՀ¹€ëŸì¹ç€ÎºîÀ®
3887        ¡¡ÊýË¡€äÀ©žÂ»ö¹à€Ê€É
3888        ¡Š¥«¡Œ¥Í¥ë€òœªÎ»€·€¿žå€Î¿¶Éñ€€
3889
3890(5) ¥á¥â¥ê¥Þ¥Ã¥×
3891        ¡Š¥Ç¥Õ¥©¥ë¥È€Î¥á¥â¥ê¥Þ¥Ã¥×¡€€œ€ÎÊѹ¹ÊýË¡
3892
3893(6) ¥¿¥€¥Þ¥É¥é¥€¥ÐŽØÏ¢€ÎŸðÊó
3894        ¡Š¥¿¥€¥à¥Æ¥£¥Ã¥¯€ÎŒþŽü¡€€œ€ÎÊѹ¹ÊýË¡
3895        ¡Š»ÈÍÑ€¹€ë¥ê¥œ¡Œ¥¹¡Ê¥¿¥€¥Þ¡Ë
3896        ¡Š¥¿¥€¥Þ³ä¹þ€ß€Î³ä¹þ€ßÍ¥ÀèÅÙ€ÎÊѹ¹ÊýË¡
3897        ¡Š¥ª¡Œ¥Ð¥é¥ó¥¿¥€¥Þ³ä¹þ€ß€Î³ä¹þ€ßÍ¥ÀèÅÙ€ÎÊѹ¹ÊýË¡
3898
3899(7) ¥·¥ê¥¢¥ë¥€¥ó¥¿¥Õ¥§¡Œ¥¹¥É¥é¥€¥Ð€ÎŸðÊó
3900        ¡Š»ÈÍÑ€¹€ë¥ê¥œ¡Œ¥¹¡ÊSIO¥³¥ó¥È¥í¡Œ¥é¡Ë
3901        ¡ŠÄÌ¿®¥Ñ¥é¥á¡Œ¥¿¡Ê¥Ü¡Œ¥ì¡Œ¥È¡€¥Ó¥Ã¥È¿ô¡€¥Ñ¥ê¥Æ¥£€Î̵ͭ¡€¥¹¥È¥Ã¥×¥Ó¥Ã¥È¡Ë
3902
3903(8) ¥·¥¹¥Æ¥à¥í¥°µ¡Çœ€ÎŸðÊó
3904        ¡Š¥·¥¹¥Æ¥à¥í¥°€ÎÄã¥ì¥Ù¥ëœÐÎπΌžœÊýË¡
3905        ¡ŠÄÌ¿®¥Ñ¥é¥á¡Œ¥¿¡Ê¥Ü¡Œ¥ì¡Œ¥È¡€¥Ó¥Ã¥È¿ô¡€¥Ñ¥ê¥Æ¥£€Î̵ͭ¡€¥¹¥È¥Ã¥×¥Ó¥Ã¥È¡Ë
3906
3907(9) ¥·¥¹¥Æ¥à¹œÃÛŒêœç
3908
3909(10) ¥¿¡Œ¥²¥Ã¥È¥·¥¹¥Æ¥àžÇÍ­€ÎÃí°Õ»ö¹à
3910        ¡Š¥¿¥¹¥¯¥³¥ó¥Æ¥­¥¹¥È€ËŽÞ€Þ€ì€ë¥ì¥ž¥¹¥¿¡€ŽÞ€Þ€ì€Ê€€¥ì¥ž¥¹¥¿
3911
3912(11) Îà»÷€Î¥¿¡Œ¥²¥Ã¥È€Ë¥Ý¡Œ¥Æ¥£¥ó¥°€¹€ë³«È¯ŒÔžþ€±€Î»²¹ÍŸðÊó
3913
3914(12) ¥Ç¥£¥ì¥¯¥È¥ê¹œÀ®¡Š¥Õ¥¡¥€¥ë¹œÀ®
3915
3916(13) ¥Ð¡Œ¥ž¥ç¥óÍúÎò
3917
3918€Þ€¿¡€É¬Í׀˱þ€ž€Æ¡€¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ÎÀß·×¥á¥â€ò¡€target_design.txt€ËÍÑ
3919°Õ€¹€ë¡¥¥×¥í¥»¥Ã¥µ¡Š¥Á¥Ã¥×¡Š³«È¯ŽÄ¶­°ÍžÉô€ËŽØ€¹€ëÀß·×¥á¥â€òÀÚ€êʬ€±€Æ
3920€â€è€€€·¡€¥Õ¥¡¥€¥ë€¬Â瀭€¯€Ê€ëŸì¹ç€Ë€ÏÊ£¿ô€Î¥Õ¥¡¥€¥ë€Ëʬ³ä€·€Æ€â€è€€€¬¡€
3921€œ€ÎŸì¹ç€Ë€Ï¡€target_design.txtÃæ€Ë€œ€ì€é€Î¥Õ¥¡¥€¥ëÌŸ€òµ­œÒ€¹€ë€³€È¡¥
3922
39239.2 ¥Ñ¥Ã¥±¡Œ¥žµ­œÒ¥Õ¥¡¥€¥ë
3924
3925¥ê¥ê¡Œ¥¹¥Ñ¥Ã¥±¡Œ¥ž¡ÊžÄÊ̥ѥ屡Œ¥ž€ª€è€ÓŽÊ°×¥Ñ¥Ã¥±¡Œ¥ž¡Ë€òºîÀ®€¹€ë€¿€á
3926€Ë¡€¥Ñ¥Ã¥±¡Œ¥ž€ËŽÞ€á€ë¥Õ¥¡¥€¥ë€òµ­œÒ€·€¿¥Ñ¥Ã¥±¡Œ¥žµ­œÒ¥Õ¥¡¥€¥ë€òÍѰՀ¹
3927€ë¡¥¥Ñ¥Ã¥±¡Œ¥žµ­œÒ¥Õ¥¡¥€¥ë€ÎÌŸŸÎ€Ï¡€žÄÊ̥ѥ屡Œ¥žÍÑ€òMANIFEST¡€ŽÊ°×¥Ñ¥Ã
3928¥±¡Œ¥žÍÑ€òE_PACKAGE€È€¹€ë¡¥
3929
3930Î〚€Ð¡€arch/arm_gcc¥Ç¥£¥ì¥¯¥È¥ê€ËÃÖ€«€ì€¿MANIFEST¥Õ¥¡¥€¥ë€òÍÑ€€€ÆžÄÊÌ
3931¥Ñ¥Ã¥±¡Œ¥ž€òºîÀ®€¹€ëŸì¹ç€Ë€Ï¡€Œ¡€Î¥³¥Þ¥ó¥É€òŒÂ¹Ô€¹€ë¡¥
3932
3933        % utils/makerelease arch/arm_gcc/MANIFEST
3934
3935€³€Î¥³¥Þ¥ó¥É€Ë€è€ê¡€RELEASE/asp_arch_arm_gcc-<¥Ð¡Œ¥ž¥ç¥óÈÖ¹æ>.tar.gz€¬
3936ºîÀ®€µ€ì€ë¡¥€Þ€¿¡€target/at91skyeye_gcc¥Ç¥£¥ì¥¯¥È¥ê€ËÃÖ€«€ì€¿E_PACKAGE
3937¥Õ¥¡¥€¥ë€òÍÑ€€€ÆŽÊ°×¥Ñ¥Ã¥±¡Œ¥ž€òºîÀ®€¹€ëŸì¹ç€Ë€Ï¡€Œ¡€Î¥³¥Þ¥ó¥É€òŒÂ¹Ô€¹
3938€ë¡¥
3939
3940        % utils/makerelease target/at91skyeye_gcc/E_PACKAGE
3941
3942€³€Î¥³¥Þ¥ó¥É€Ë€è€ê¡€RELEASE/asp_at91skyeye_gcc-<¥Ð¡Œ¥ž¥ç¥óÈÖ¹æ>.tar.gz
3943€¬ºîÀ®€µ€ì€ë¡ÊRELEASE¥Ç¥£¥ì¥¯¥È¥ê€¬€Ê€€Ÿì¹ç€Ë€Ï¡€¥Ç¥£¥ì¥¯¥È¥ê€¬ºî€é€ì
3944€ë¡Ë¡¥
3945
3946€Ê€ª¡€makerelease¥æ¡Œ¥Æ¥£¥ê¥Æ¥£€Ï¡€ASP¥«¡Œ¥Í¥ë€Î¥œ¡Œ¥¹¥Õ¥¡¥€¥ë€¬ÃÖ€«€ì
3947€¿¥Ç¥£¥ì¥¯¥È¥ê€¬¡€asp€È€€€ŠÌŸŸÎ€Ç€¢€ë€³€È€ò²ŸÄꀷ€Æ€€€ë¡Ê°Û€Ê€ëÌŸŸÎ€ÎŸì
3948¹ç€Ç€â¥Ñ¥Ã¥±¡Œ¥ž€ÏºîÀ®€Ç€­€ë€¬¡€¥Ñ¥Ã¥±¡Œ¥ž€òÅž³«€·€¿»þ€ËÅž³«€µ€ì€ë¥Ç¥£
3949¥ì¥¯¥È¥ê€¬asp€Ç€Ê€¯€Ê€ë¡Ë¡¥€Þ€¿¡€Éžœà€Îtar¥³¥Þ¥ó¥É€¬GNU tar€Ç€¢€ë€³€È
3950¡ÊÀµ³Î€Ë€Ï¡€z¥ª¥×¥·¥ç¥ó€ËÂбþ€·€Æ€€€ë€³€È¡Ë€òÁÛÄꀷ€Æ€€€ë¡¥
3951
3952¥Ñ¥Ã¥±¡Œ¥žµ­œÒ¥Õ¥¡¥€¥ë€Ë€Ï¡€¥Ñ¥Ã¥±¡Œ¥ž€ËŽÞ€á€ë¥Õ¥¡¥€¥ëÌŸ€ò¡€¥Ñ¥Ã¥±¡Œ¥ž
3953µ­œÒ¥Õ¥¡¥€¥ë€¬ÃÖ€«€ì€¿¥Ç¥£¥ì¥¯¥È¥ê€«€é€ÎÁêÂХѥ¹ÌŸ€Ç¡€1¹Ô€Ë1€Ä€º€Äµ­œÒ
3954€¹€ë¡¥€Þ€¿¡€É¬Í׀˱þ€ž€Æ¡€°Ê²Œ€Î¥Ç¥£¥ì¥¯¥Æ¥£¥Ö€òŽÞ€á€ë¡¥
3955
3956(a) E_PACKAGE <ŽÊ°×¥Ñ¥Ã¥±¡Œ¥žÌŸ>
3957
3958ŽÊ°×¥Ñ¥Ã¥±¡Œ¥žÌŸ€ò»ØÄꀹ€ë¡¥ŽÊ°×¥Ñ¥Ã¥±¡Œ¥žµ­œÒ¥Õ¥¡¥€¥ë¡ÊE_PACKAGE¡Ë€ÎÀè
3959Ƭ€Ëµ­œÒ€¹€ë¡¥ŽÊ°×¥Ñ¥Ã¥±¡Œ¥žÌŸ€Ï¡€asp_<¥¿¡Œ¥²¥Ã¥ÈάŸÎ>€È€¹€ë¡¥Î〚€Ð¡€
3960¥¿¡Œ¥²¥Ã¥ÈάŸÎ€¬at91skyeye_gcc€ÎŸì¹ç€Ë€Ï¡€asp_at91skyeye_gcc€È€Ê€ë¡¥žÄ
3961Ê̥ѥ屡Œ¥ž€È¶èÊÌ€¹€ë€¿€á€Ë¡€ŽÊ°×¥Ñ¥Ã¥±¡Œ¥ž€Î¥Õ¥¡¥€¥ëÌŸ€Ë€Ï"target"€ò
3962ŽÞ€á€Ê€€¡¥
3963
3964(b) PACKAGE <žÄÊ̥ѥ屡Œ¥žÌŸ>
3965
3966žÄÊ̥ѥ屡Œ¥žÌŸ€ò»ØÄꀹ€ë¡¥žÄÊ̥ѥ屡Œ¥žµ­œÒ¥Õ¥¡¥€¥ë¡ÊMANIFEST¡Ë€ÎÀè
3967Ƭ€Ëµ­œÒ€¹€ë¡¥€Þ€¿¡€€œ€³€«€é¥€¥ó¥¯¥ë¡Œ¥É€µ€ì€ë³Æ¥Õ¥¡¥€¥ë€ÎÀèÆ¬€Ë€âµ­œÒ
3968€·¡€€œ€ì€ò¥€¥ó¥¯¥ë¡Œ¥É€·€Æ€€€ëžÄÊ̥ѥ屡Œ¥žÌŸ€ò»ØÄꀹ€ë¡¥¥¿¡Œ¥²¥Ã¥È°Í
3969žÉô€ÎžÄÊ̥ѥ屡Œ¥žÌŸ€Ï¡€žÄÊ̥ѥ屡Œ¥žµ­œÒ¥Õ¥¡¥€¥ë€¬ÃÖ€«€ì€¿¥Ç¥£¥ì¥¯
3970¥È¥ê€ÎÁêÂХѥ¹Ãæ€Î"/"€ò"_"€ËÃÖ€­Ž¹€š€¿Êž»úÎó€ò¡€"asp_"€Îžå€Ë€Ä€Ê€²€¿€â
3971€Î€È€¹€ë¡¥Î〚€Ð¡€žÄÊ̥ѥ屡Œ¥žµ­œÒ¥Õ¥¡¥€¥ë€¬arch/arm_gcc/MANIFEST€ÎŸì
3972¹ç€Ë€Ï¡€asp_arch_arm_gcc€È€Ê€ë¡¥
3973
3974(c) VERSION <¥Ð¡Œ¥ž¥ç¥óÈÖ¹æ>
3975
3976¥Ñ¥Ã¥±¡Œ¥ž€Î¥Ð¡Œ¥ž¥ç¥óÈÖ¹æ€ò»ØÄꀹ€ë¡¥ŽÊ°×¥Ñ¥Ã¥±¡Œ¥žµ­œÒ¥Õ¥¡¥€¥ë€ª€è€Ó
3977žÄÊ̥ѥ屡Œ¥žµ­œÒ¥Õ¥¡¥€¥ë€ÎÃæ€Ëµ­œÒ€¹€ë¡¥ŽÊ°×¥Ñ¥Ã¥±¡Œ¥ž€Ë€ª€€€Æ¡€¥Ð¡Œ
3978¥ž¥ç¥óÈÖ¹æ€ò¥Ñ¥Ã¥±¡Œ¥ž²œ€·€¿ÆüÉՀȀ¹€ëŸì¹ç€Ë€Ï¡€¥Ñ¥Ã¥±¡Œ¥žÈÖ¹æ€ÎÂå€ï€ê
3979€Ë%date€Èµ­œÒ€¹€ë¡¥
3980
3981¥Ð¡Œ¥ž¥ç¥óÈÖ¹æ€ÎÉÕÍ¿ÊýË¡€Ë€Ä€€€Æ€Ï¡€¡ÖTOPPERS/ASP¥«¡Œ¥Í¥ë ¥æ¡Œ¥¶¡Œ¥º¥Þ
3982¥Ë¥å¥¢¥ë¡×€Î¡Ö2.2 ŽÊ°×¥Ñ¥Ã¥±¡Œ¥ž¡×€ª€è€Ó¡Ö2.3 žÄÊ̥ѥ屡Œ¥ž¡×€ÎÀá€ò»²
3983ŸÈ€¹€ë€³€È¡¥
3984
3985(d) INCLUDE <¥Õ¥¡¥€¥ëÌŸ>
3986
3987ỀΥѥ屡Œ¥žµ­œÒ¥Õ¥¡¥€¥ë€ò¥€¥ó¥¯¥ë¡Œ¥É€¹€ë¡¥ŽÊ°×¥Ñ¥Ã¥±¡Œ¥žµ­œÒ¥Õ¥¡¥€
3988¥ë€«€é€Ï¡€žÄÊ̥ѥ屡Œ¥žµ­œÒ¥Õ¥¡¥€¥ë€Î€ß€ò¥€¥ó¥¯¥ë¡Œ¥É€¹€ë€Î€òž¶Â§€È€¹
3989€ë¡¥žÄÊ̥ѥ屡Œ¥žµ­œÒ¥Õ¥¡¥€¥ë€«€é¥€¥ó¥¯¥ë¡Œ¥É€µ€ì€ë¥Õ¥¡¥€¥ëÃæ€Ç»ØÄꀵ
3990€ì€ëžÄÊ̥ѥ屡Œ¥žÌŸ€Ï¡€€¹€Ù€Æ°ìÃ×€·€Æ€€€Ê€±€ì€Ð€Ê€é€Ê€€¡¥
3991
3992
3993£±£°¡¥¥ê¥Õ¥¡¥ì¥ó¥¹
3994
399510.1 ¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Î¥Õ¥¡¥€¥ë°ìÍ÷
3996
3997ÉžœàŪ€Ê¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Î¥Õ¥¡¥€¥ë¹œÀ®€ÏŒ¡€ÎÄÌ€ê€Ç€¢€ë¡¥
3998
3999Makefile.target         Makefile€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô¡Ê£²ŸÏ¡Ë¡¥
4000target_offset.tf        ¥ª¥Õ¥»¥Ã¥È¥Õ¥¡¥€¥ëÀžÀ®Íѥƥó¥×¥ì¡Œ¥È¥Õ¥¡¥€¥ë¡Ê2.5.1Àá¡€
4001                                        ¥ª¥×¥·¥ç¥ó¡Ë
4002
4003target_stddef.h         TOPPERS¶ŠÄÌÄêµÁ¡Êt_stddef.h¡Ë€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô¡Ê£³
4004                                        ŸÏ¡Ë¡¥¥¢¥×¥ê¥±¡Œ¥·¥ç¥ó€È¥«¡Œ¥Í¥ë€ÎΟÊý€«€é¥€¥ó¥¯¥ë¡Œ
4005                                        ¥É€µ€ì€ë¡¥
4006target_sil.h            ¥·¥¹¥Æ¥à¥€¥ó¥¿¥Õ¥§¡Œ¥¹¥ì¥€¥ä¡Êsil.h¡Ë€Î¥¿¡Œ¥²¥Ã¥È°Í
4007                                        žÉô¡Ê£ŽŸÏ¡Ë¡¥¥¢¥×¥ê¥±¡Œ¥·¥ç¥ó€È¥«¡Œ¥Í¥ë€ÎΟÊý€«€é
4008                                        ¥€¥ó¥¯¥ë¡Œ¥É€µ€ì€ë¡¥
4009target_kernel.h         ¥«¡Œ¥Í¥ëAPI¡Êkernel.h¡Ë€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô¡Ê£µŸÏ¡Ë¡¥
4010                                        ¥¢¥×¥ê¥±¡Œ¥·¥ç¥ó€È¥«¡Œ¥Í¥ë€ÎΟÊý€«€é¥€¥ó¥¯¥ë¡Œ¥É€µ
4011                                        €ì€ë¡¥
4012
4013target_config.h         ¥«¡Œ¥Í¥ëŒÂÁõ€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Î¥Ø¥Ã¥À¥Õ¥¡¥€¥ë¡Ê£¶
4014                                        ŸÏ¡Ë¡¥¥«¡Œ¥Í¥ë€Î€ß€«€é¥€¥ó¥¯¥ë¡Œ¥É€µ€ì€ë¡¥
4015target_config.c         ¥«¡Œ¥Í¥ëŒÂÁõ€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ÎCžÀžì€Çµ­œÒ€µ€ì€ë
4016                                        Éôʬ¡Ê£¶ŸÏ¡€¥ª¥×¥·¥ç¥ó¡Ë¡¥
4017target_support.S        ¥«¡Œ¥Í¥ëŒÂÁõ€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Î¥¢¥»¥ó¥Ö¥êžÀžì€Çµ­
4018                                        œÒ€µ€ì€ëÉôʬ¡Ê£¶ŸÏ¡€¥ª¥×¥·¥ç¥ó¡Ë¡¥
4019target_rename.def       ¥«¡Œ¥Í¥ëŒÂÁõ€Î¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Î€¿€á€Î¥ê¥Í¡Œ¥àµ­œÒ
4020                                        ¡Ê6.12Àá¡Ë¡¥
4021target_rename.h         target_rename.def€«€éÀžÀ®€µ€ì€ë¥Õ¥¡¥€¥ë¡Ê6.12Àá¡Ë¡¥
4022target_unrename.h       target_rename.def€«€éÀžÀ®€µ€ì€ë¥Õ¥¡¥€¥ë¡Ê6.12Àá¡Ë¡¥
4023target_timer.cfg        ¥¿¥€¥Þ¥É¥é¥€¥Ð€Î¥·¥¹¥Æ¥à¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥·¥ç¥ó¥Õ¥¡
4024                                        ¥€¥ë¡Ê6.13Àá¡Ë¡¥
4025target_timer.h          ¥¿¥€¥Þ¥É¥é¥€¥Ð€Î¥Ø¥Ã¥À¥Õ¥¡¥€¥ë¡Ê6.13Àá¡Ë¡¥¥«¡Œ¥Í¥ë
4026                                        €Î€ß€«€é¥€¥ó¥¯¥ë¡Œ¥É€µ€ì€ë¡¥
4027target_timer.c          ¥¿¥€¥Þ¥É¥é¥€¥Ð€ÎŒÂÁõ¥Õ¥¡¥€¥ë¡Ê6.13Àá¡€¥ª¥×¥·¥ç¥ó¡Ë¡¥
4028¥·¥¹¥Æ¥àάŸÎ.h          ¥¿¡Œ¥²¥Ã¥È€Î¥Ï¡Œ¥É¥Š¥§¥¢»ñž»¡Ê³ä¹þ€ß¥Ï¥ó¥É¥éÈÖ¹æ€ä
4029                                        CPUÎã³°¥Ï¥ó¥É¥éÈֹ桀¥Ç¥Ð¥€¥¹¥ì¥ž¥¹¥¿€ÎÈÖÃπʀɡˀÎ
4030                                        ÄêµÁ€òŽÞ€à¥Ø¥Ã¥À¥Õ¥¡¥€¥ë¡¥¥¢¥×¥ê¥±¡Œ¥·¥ç¥ó€È¥«¡Œ¥Í
4031                                        ¥ë€ÎΟÊý€«€é¥€¥ó¥¯¥ë¡Œ¥É€µ€ì€ë¡Ê£¶ŸÏ¡€¥ª¥×¥·¥ç¥ó¡Ë¡¥
4032
4033target_def.csv          ¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿€ÎÃÍŒèÆÀ¥·¥ó¥Ü¥ë¥Æ¡Œ¥Ö¥ë€Î¥¿¡Œ¥²¥Ã
4034                                        ¥È°ÍžÉô¡Ê£·ŸÏ¡€¥ª¥×¥·¥ç¥ó¡Ë¡¥
4035target.tf                       ¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿€Î¥Ñ¥¹2€Î¥Æ¥ó¥×¥ì¡Œ¥È¥Õ¥¡¥€¥ë€Î
4036                                        ¥¿¡Œ¥²¥Ã¥È°ÍžÉô¡Ê7.2Àá¡Ë¡¥
4037target_check.tf         ¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿€Î¥Ñ¥¹3€Î¥Æ¥ó¥×¥ì¡Œ¥È¥Õ¥¡¥€¥ë¡Ê7.3
4038                                        Àá¡Ë¡¥
4039target_cfg1_out.h       cfg1_out.c€Î¥ê¥ó¥¯€ËɬÍ׀ʥ¹¥¿¥Ö€ÎÄêµÁ¥Õ¥¡¥€¥ë¡Ê7.4
4040                                        Àá¡Ë¡¥
4041
4042target_syssvc.h         ¥·¥¹¥Æ¥à¥µ¡Œ¥Ó¥¹€Î¥¿¡Œ¥²¥Ã¥È°ÍžÄêµÁ¡Ê8.0Àá¡Ë¡¥
4043target_serial.cfg       ¥·¥ê¥¢¥ë¥É¥é¥€¥Ð€Î¥·¥¹¥Æ¥à¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥·¥ç¥ó¥Õ¥¡
4044                                        ¥€¥ë¡Ê8.3Àá¡Ë¡¥
4045target_serial.h         ¥·¥ê¥¢¥ë¥É¥é¥€¥Ð€Î¥Ø¥Ã¥À¥Õ¥¡¥€¥ë¡Ê8.3Àá¡Ë¡¥¥·¥ê¥¢¥ë
4046                                        ¥É¥é¥€¥Ð€Î€ß€«€é¥€¥ó¥¯¥ë¡Œ¥É€µ€ì€ë¡¥
4047target_serial.c         ¥·¥ê¥¢¥ë¥É¥é¥€¥Ð€ÎŒÂÁõ¥Õ¥¡¥€¥ë¡Ê8.3Àá¡€¥ª¥×¥·¥ç¥ó¡Ë¡¥
4048target_test.h           ¥Æ¥¹¥È¥×¥í¥°¥é¥à€Î¥¿¡Œ¥²¥Ã¥È°ÍžÄêµÁ¡Ê8.4Àá¡Ë¡¥
4049
4050target_user.txt         ¥æ¡Œ¥¶¡Œ¥º¥Þ¥Ë¥å¥¢¥ë¡Ê9.1Àá¡Ë
4051target_design.txt       Àß·×¥á¥â¡Ê9.1Àá¡€¥ª¥×¥·¥ç¥ó¡Ë
4052MANIFEST                        žÄÊ̥ѥ屡Œ¥ž€ËŽÞ€á€ë¥Õ¥¡¥€¥ë€Î¥ê¥¹¥È¡Ê9.2Àá¡€¥ª¥×
4053                                        ¥·¥ç¥ó¡Ë
4054E_PACKAGE                       ŽÊ°×¥Ñ¥Ã¥±¡Œ¥ž€ËŽÞ€á€ë¥Õ¥¡¥€¥ë€Î¥ê¥¹¥È¡Ê9.2Àá¡€¥ª¥×
4055                                        ¥·¥ç¥ó¡Ë
4056
4057°ÊŸå
詳しい使い方は TracBrowser を参照してください。