OSDN Git Service

d1e4c4a27399b8ae8d3f9db34c0a75c9f70aeca4
[nxt-jsp/etrobo-atk.git] / nxtOSEK / toppers_jsp / doc / sh3.txt
1
2             ¡á TOPPERS/JSP¥«¡¼¥Í¥ë ¥æ¡¼¥¶¥º¥Þ¥Ë¥å¥¢¥ë ¡á
3                  ¡ÊSH3/SH4 ¥¿¡¼¥²¥Ã¥È°Í¸Éô¡Ë
4
5           ¡ÊRelease 1.4.2Âбþ¡¤ºÇ½ª¹¹¿·: 11-Jul-2005¡Ë
6
7 ------------------------------------------------------------------------ 
8  TOPPERS/JSP Kernel
9      Toyohashi Open Platform for Embedded Real-Time Systems/
10      Just Standard Profile Kernel
11
12  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
13                              Toyohashi Univ. of Technology, JAPAN
14
15  ¾åµ­Ãøºî¸¢¼Ô¤Ï¡¤°Ê²¼¤Î (1)¡Á(4) ¤Î¾ò·ï¤«¡¤Free Software Foundation 
16  ¤Ë¤è¤Ã¤Æ¸øɽ¤µ¤ì¤Æ¤¤¤ë GNU General Public License ¤Î Version 2 ¤Ëµ­
17  ½Ò¤µ¤ì¤Æ¤¤¤ë¾ò·ï¤òËþ¤¿¤¹¾ì¹ç¤Ë¸Â¤ê¡¤ËÜ¥½¥Õ¥È¥¦¥§¥¢¡ÊËÜ¥½¥Õ¥È¥¦¥§¥¢
18  ¤ò²þÊѤ·¤¿¤â¤Î¤ò´Þ¤à¡¥°Ê²¼Æ±¤¸¡Ë¤ò»ÈÍÑ¡¦Ê£À½¡¦²þÊÑ¡¦ºÆÇÛÉۡʰʲ¼¡¤
19  ÍøÍѤȸƤ֡ˤ¹¤ë¤³¤È¤ò̵½þ¤ÇµöÂú¤¹¤ë¡¥
20  (1) ËÜ¥½¥Õ¥È¥¦¥§¥¢¤ò¥½¡¼¥¹¥³¡¼¥É¤Î·Á¤ÇÍøÍѤ¹¤ë¾ì¹ç¤Ë¤Ï¡¤¾åµ­¤ÎÃøºî
21      ¸¢É½¼¨¡¤¤³¤ÎÍøÍѾò·ï¤ª¤è¤Ó²¼µ­¤Î̵Êݾڵ¬Ä꤬¡¤¤½¤Î¤Þ¤Þ¤Î·Á¤Ç¥½¡¼
22      ¥¹¥³¡¼¥ÉÃæ¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¤³¤È¡¥
23  (2) ËÜ¥½¥Õ¥È¥¦¥§¥¢¤ò¡¤¥é¥¤¥Ö¥é¥ê·Á¼°¤Ê¤É¡¤Â¾¤Î¥½¥Õ¥È¥¦¥§¥¢³«È¯¤Ë»È
24      ÍѤǤ­¤ë·Á¤ÇºÆÇÛÉÛ¤¹¤ë¾ì¹ç¤Ë¤Ï¡¤ºÆÇÛÉÛ¤Ëȼ¤¦¥É¥­¥å¥á¥ó¥È¡ÊÍøÍÑ
25      ¼Ô¥Þ¥Ë¥å¥¢¥ë¤Ê¤É¡Ë¤Ë¡¤¾åµ­¤ÎÃøºî¸¢É½¼¨¡¤¤³¤ÎÍøÍѾò·ï¤ª¤è¤Ó²¼µ­
26      ¤Î̵Êݾڵ¬Äê¤ò·ÇºÜ¤¹¤ë¤³¤È¡¥
27  (3) ËÜ¥½¥Õ¥È¥¦¥§¥¢¤ò¡¤µ¡´ï¤ËÁȤ߹þ¤à¤Ê¤É¡¤Â¾¤Î¥½¥Õ¥È¥¦¥§¥¢³«È¯¤Ë»È
28      ÍѤǤ­¤Ê¤¤·Á¤ÇºÆÇÛÉÛ¤¹¤ë¾ì¹ç¤Ë¤Ï¡¤¼¡¤Î¤¤¤º¤ì¤«¤Î¾ò·ï¤òËþ¤¿¤¹¤³
29      ¤È¡¥
30    (a) ºÆÇÛÉÛ¤Ëȼ¤¦¥É¥­¥å¥á¥ó¥È¡ÊÍøÍѼԥޥ˥奢¥ë¤Ê¤É¡Ë¤Ë¡¤¾åµ­¤ÎÃø
31        ºî¸¢É½¼¨¡¤¤³¤ÎÍøÍѾò·ï¤ª¤è¤Ó²¼µ­¤Î̵Êݾڵ¬Äê¤ò·ÇºÜ¤¹¤ë¤³¤È¡¥
32    (b) ºÆÇÛÉۤηÁÂÖ¤ò¡¤Ê̤ËÄê¤á¤ëÊýË¡¤Ë¤è¤Ã¤Æ¡¤TOPPERS¥×¥í¥¸¥§¥¯¥È¤Ë
33        Êó¹ð¤¹¤ë¤³¤È¡¥
34  (4) ËÜ¥½¥Õ¥È¥¦¥§¥¢¤ÎÍøÍѤˤè¤êľÀÜŪ¤Þ¤¿¤Ï´ÖÀÜŪ¤ËÀ¸¤¸¤ë¤¤¤«¤Ê¤ë»
35      ³²¤«¤é¤â¡¤¾åµ­Ãøºî¸¢¼Ô¤ª¤è¤ÓTOPPERS¥×¥í¥¸¥§¥¯¥È¤òÌÈÀÕ¤¹¤ë¤³¤È¡¥
36
37  ËÜ¥½¥Õ¥È¥¦¥§¥¢¤Ï¡¤ÌµÊݾڤÇÄ󶡤µ¤ì¤Æ¤¤¤ë¤â¤Î¤Ç¤¢¤ë¡¥¾åµ­Ãøºî¸¢¼Ô¤ª
38  ¤è¤ÓTOPPERS¥×¥í¥¸¥§¥¯¥È¤Ï¡¤ËÜ¥½¥Õ¥È¥¦¥§¥¢¤Ë´Ø¤·¤Æ¡¤¤½¤ÎŬÍѲÄǽÀ­¤â
39  ´Þ¤á¤Æ¡¤¤¤¤«¤Ê¤ëÊݾڤâ¹Ô¤ï¤Ê¤¤¡¥¤Þ¤¿¡¤ËÜ¥½¥Õ¥È¥¦¥§¥¢¤ÎÍøÍѤˤè¤êľ
40  ÀÜŪ¤Þ¤¿¤Ï´ÖÀÜŪ¤ËÀ¸¤¸¤¿¤¤¤«¤Ê¤ë»³²¤Ë´Ø¤·¤Æ¤â¡¤¤½¤ÎÀÕǤ¤òÉé¤ï¤Ê¤¤¡¥
41
42  @(#) $Id: sh3.txt,v 1.36 2005/09/26 06:26:36 honda Exp $
43 ------------------------------------------------------------------------
44
45 £±¡¥SH3/SH4 ¥¿¡¼¥²¥Ã¥È°Í¸Éô¤Î³µÍ×
46
47
48 1.1 ¥¿¡¼¥²¥Ã¥È¥·¥¹¥Æ¥à¤È³«È¯´Ä¶­
49
50 SH3/SH4 ¥×¥í¥»¥Ã¥µ¤Î¥¿¡¼¥²¥Ã¥È¥·¥¹¥Æ¥à¤È¤·¤Æ¤Ï¡¤SH7709A¡¤SH7729R¡¤
51 SH7727¡¤SH7750¤òÅëºÜ¤·¤¿°Ê²¼¤Î¥Ü¡¼¥É¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¡¥¤Ê¤ª¡¤SH3-DSP 
52 ¤Î DSP µ¡Ç½¡¤SH4 ¤Î FPU ¤Ï¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¡¥¡Ê¥Ç¥£¥¹¥Ñ¥Ã¥Á»þµÚ¤Ó³ä¹þ
53 ¤ß¤ÎÆþ¤ê¸ý¤Ç´ØÏ¢¤¹¤ë¥ì¥¸¥¹¥¿¤òÊݸ¤·¤Æ¤¤¤Ê¤¤¡Ë
54
55 ¡¦(³ô)ÆüΩĶLSI¥·¥¹¥Æ¥à¥ºÀ½¤Î MS7709ASE01 ¥Ü¡¼¥É (CPU: SH7709A)
56 ¡¦(³ô)ÆüΩĶLSI¥·¥¹¥Æ¥à¥ºÀ½¤Î MS7729RSE01 ¥Ü¡¼¥É (CPU: SH7729R)
57 ¡¦(³ô)ÆüΩĶLSI¥·¥¹¥Æ¥à¥ºÀ½¤Î MS7750SE01  ¥Ü¡¼¥É (CPU: SH7750)
58 ¡¦(³ô)ÆüΩĶLSI¥·¥¹¥Æ¥à¥ºÀ½¤Î MS7727CP01  ¥Ü¡¼¥É (CPU: SH7727)
59
60 ¤Ê¤ª¡¤MS7709ASE01¡¤MS7729RSE01¡¤MS7750SE01¤Ï¡¤¥Ï¡¼¥É¥¦¥§¥¢¹½À®¤¬»÷Ä̤Ã
61 ¤Æ¤¤¤ë¤¿¤á¡¤ solution_engine ¤È¤¤¤¦Ì¾Á°¤Î¥·¥¹¥Æ¥à°Í¸Éô¤È¤·¤Æ¤Þ¤È¤á¤Æ
62 ¤¤¤ë¡¥ÀÚ¤êÂؤ¨¤Ï¡¤¥·¥¹¥Æ¥à°Í¸Éô¤Î Makefile.clonfig ¤Ç»ØÄꤹ¤ë¡¥°Ê²¼¡¤
63 ¤³¤ì¤é3¼ïÎà¤Î¥Ü¡¼¥É¤òÆä˶èÊ̤·¤Ê¤¤¾ì¹ç¤Ï¡¤Solution Engine ¤Èɽµ­¤¹¤ë¡¥
64
65 ³«È¯´Ä¶­¤Ë¤Ï¡¤GCC ¤Ê¤É¤Î GNU³«È¯´Ä¶­¤òÍѤ¤¡¤¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¥Õ¥©¡¼
66 ¥Þ¥Ã¥È¤Ï ELF ¤òɸ½à¤È¤¹¤ë¡¥
67
68 Solution Engine ¤Ç¤Ï¼Â¹Ô´Ä¶­¤È¤·¤Æ¡¤GDB¥¹¥¿¥Ö¤òÍѤ¤¤ëÊýË¡¤È JTAG-ICE 
69 ¤òÍѤ¤¤ëÊýË¡¤ò¥µ¥Ý¡¼¥È¤¹¤ë¡¥GDB¥¹¥¿¥Ö¤Ï Toppers ¥×¥í¥¸¥§¥¯¥È¤Î¥Û¡¼¥à¥Ú¡¼
70 ¥¸¤«¤é¥À¥¦¥ó¥í¡¼¥É²Äǽ¤Ç¤¢¤ë¡¥JTAG-ICE¤È¤·¤Æ¤Ï¡¤µþÅÔ¥Þ¥¤¥¯¥í¥³¥ó¥Ô¥å¡¼
71 ¥¿À½¤ÎPARTNER-J¤Ç¤ÎÆ°ºî¤ò³Îǧ¤·¤Æ¤¤¤ë¡¥GDB¥¹¥¿¥Ö¤òÍѤ¤¤ë¾ì¹ç¤Ë¤Ï¡¤
72 Makefile Ãæ¤Ç¡¤DBGENV ¤Ë GDB_STUB ¤òÀßÄꤹ¤ë¡Ê¥Ç¥Õ¥©¥ë¥È¡Ë¡¥PARTNER-J
73 ¤òÍѤ¤¤ë¾ì¹ç¤Ë¤Ï¡¤DBGENV¤Ë PARTNER_J ¤òÀßÄꤹ¤ë¡¥
74
75 MS7727CP01 ¤Ç¤Ï¡¤T-Monitor ¤òÍѤ¤¤ëÊýË¡¤ÈJTAG-ICE¤òÍѤ¤¤ëÊýË¡¤ò¥µ¥Ý¡¼¥È
76 ¤¹¤ë¡¥¤Ê¤ª¡¤T-Monitor ¤ò»È¤Ã¤Æ¥Ç¥Ð¥Ã¥°¤¹¤ë¤³¤È¤ÏÉÔ²Äǽ¤Ç¤¢¤ê¡¤Ã±¤Ê¤ë¥í¡¼
77 ¥À¡¼¤È¤·¤ÆÍѤ¤¤ë¡¥¶ñÂÎŪ¤Ë¤Ï¡¤¥«¡¼¥Í¥ë¤òS¥ì¥³¡¼¥É¤ËÊÑ´¹¤·¡¤T-Monitor
78 ¤Ç¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¼Â¹Ô¤¹¤ë¡¥¥«¡¼¥Í¥ë½ªÎ»»þ¤Ï¡¤¥×¥í¥»¥Ã¥µ¤ò¥ê¥»¥Ã¥È¤¹¤ë¡¥
79
80
81 1.2 ¥µ¥Ý¡¼¥È¤¹¤ëµ¡Ç½¤Î³µÍ×
82
83 SH3 °Í¸¤Îµ¡Ç½¤È¤·¤Æ¡¤³ä¹þ¤ß¥Þ¥¹¥¯¤ÎÊѹ¹¡¦»²¾È(chg_ixx¡¤get_ixx)¤È¡¤À­
84 ǽɾ²ÁÍÑ¥·¥¹¥Æ¥à»þ¹ï»²¾Èµ¡Ç½(vxget_tim)¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¡¥³ä¹þ¤ß¤Î¶Ø
85 »ß¤Èµö²Ä(dis_int¡¤ena_int)¤Ï¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¡¥
86
87
88 1.3 Â¾¤Î¥¿¡¼¥²¥Ã¥È¤Ø¤Î¥Ý¡¼¥Æ¥£¥ó¥°
89
90 ¸½¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¤SH7708 ¤òÍѤ¤¤¿¥·¥¹¥Æ¥à°Í¸Éô¤Ï¸ºß¤·¤Ê¤¤¡¥¤·¤«¤·¤Ê
91 ¤¬¤é¡¤¥×¥í¥»¥Ã¥µ°Í¸Éô¤Î¥³¡¼¥É¼«ÂΤϠSH7708 ¤ò¥µ¥Ý¡¼¥È¤¹¤ë¡¥¤½¤Î¤¿¤á¡¤
92 SH7708¤ò¥µ¥Ý¡¼¥È¤¹¤ë¥·¥¹¥Æ¥à°Í¸Éô¤òºîÀ®¤¹¤ë¤³¤È¤ÏÍưפǤ¢¤ë¡¥¤½¤Î¾ì¹ç
93 ¤Ë¤Ï¡¤¥³¥ó¥Ñ¥¤¥ë¥ª¥×¥·¥ç¥ó¤â¤·¤¯¤Ï sys_defs.h ¤Ç SH7708 ¤òÄêµÁ¤¹¤ì¤Ð¤è
94 ¤¤¡¥
95
96
97 1.4 ¥·¥ê¥¢¥ë¥Ý¡¼¥È
98
99 ¥«¡¼¥Í¥ë¤Î¥í¥°½ÐÎÏÍѤȤ·¤Æ¡¤Solution Engine ¤Ç¤Ï¥¹¡¼¥Ñ¡¼I/OÆâ¢
100 SCI(CN3)¤ò 19200bps ¤Ç»ÈÍѤ¹¤ë¡¥MS7727CP01 ¤Ç¤Ï¡¤CPU¥Ü¡¼¥É¾å¤Î¥·¥ê¥¢¥ë
101 ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥³¥Í¥¯¥¿¤ò 115200bps ¤Ç»ÈÍѤ¹¤ë¡¥¤Ê¤ª¡¤Á´¤Æ¤Î¥Ý¡¼¥È¤Ë¤ª
102 ¤¤¤Æ ¥Ç¡¼¥¿: 8bit,Parity:none,Stop:1bit¤Ç¤¢¤ë¡¥
103
104
105 1.5 ¥¨¥ó¥Ç¥£¥¢¥ó
106
107 ³Æ¥¿¡¼¥²¥Ã¥È¤Ï¥Ç¥£¥Ã¥×¥¹¥¤¥Ã¥Á¤Ë¤è¤ê¥¨¥ó¥Ç¥£¥¢¥ó¤òÊѹ¹¤¹¤ë¤³¤È¤¬²Äǽ¤Ç
108 ¤¢¤ë¡¥¤³¤ì¤Ë¹ç¤ï¤»¤Æ¡¤¥«¡¼¥Í¥ë¤Î¥¨¥ó¥Ç¥£¥¢¥ó¤ÎÀßÄê¤Ï³Æ¥·¥¹¥Æ¥à°Í¸Éô¤Ç
109 Êѹ¹²Äǽ¤Ç¤¢¤ë¡¥¥¨¥ó¥Ç¥£¥¢¥ó¤Ï°Ê²¼¤Î¸Ä½ê¤ÇÀßÄꤹ¤ë¡¥
110
111  ¡¦¥·¥¹¥Æ¥à°Í¸Éô¤Î Makefile.config 
112     ¥³¥ó¥Ñ¥¤¥ë¥ª¥×¥·¥ç¥ó -ml  or -mb
113     ¥ê¥ó¥«¥ª¥×¥·¥ç¥ó     -ml  or -mb
114     ¥ê¥ó¥«¥¹¥¯¥ê¥×¥È     shlelf.ld or shelf.ld
115
116  ¡¦¥·¥¹¥Æ¥àÄêµÁ
117     SIL_ENDIAN     SIL_ENDIAN_LITTLE or SIL_ENDIAN_BIG
118
119
120 £²¡¥SH3 ¥×¥í¥»¥Ã¥µ°Í¸Éô¤Îµ¡Ç½
121
122 ¤³¤ÎÀá¤Ç¤Ï¡¤¥«¡¼¥Í¥ë¤ª¤è¤Ó¥·¥¹¥Æ¥à¥µ¡¼¥Ó¥¹¤Îµ¡Ç½¤ÎÃæ¤Ç¡¤SH3°Í¸¤ÎÉôʬ
123 ¤Ë¤Ä¤¤¤Æ²òÀ⤹¤ë¡¥
124
125
126 2.1 ¥Ç¡¼¥¿·¿
127
128 int·¿¤ª¤è¤Ó unsigned int·¿¤Î¥µ¥¤¥º¤Ï 32¥Ó¥Ã¥È¤Ç¤¢¤ë¡¥
129
130
131 2.2 ³ä¹þ¤ß´ÉÍýµ¡Ç½¤È³ä¹þ¤ß¥Ï¥ó¥É¥é
132
133 ¥«¡¼¥Í¥ë´ÉÍý³°¤Î³ä¹þ¤ß¤È¤·¤Æ¤Ï¡¤ NMI ¤¬¤¢¤ë¡¥¤è¤Ã¤Æ¡¤CPU¥í¥Ã¥¯¾õÂÖ¤ä½é
134 ´ü²½¥ë¡¼¥Á¥óÆâ¤Ç¤Ï¡¤NMI °Ê³°¤Î³ä¹þ¤ß¤Ï¤¹¤Ù¤Æ¶Ø»ß¤µ¤ì¤Æ¤¤¤ë¡¥¶ñÂÎŪ¤Ë¤Ï¡¤
135 IPM(Interrupt Priority Mask)¤¬ 15 ¤ËÀßÄꤵ¤ì¤ë¡¥¤·¤«¤·¤Ê¤¬¤é¡¤¥Ü¡¼¥É¾å
136 ¤Ë NMI ÆþÎϤò»ý¤¿¤Ê¤¤¥¿¡¼¥²¥Ã¥È¤Î¤¿¤á¡¤GDB¥¹¥¿¥Ö¤¬¥Û¥¹¥È¤Î¥Þ¥·¥ó¤ÈÄÌ¿®
137 ¤¹¤ë¤¿¤á¤Î¥·¥ê¥¢¥ë¥Ý¡¼¥È¤ÎÍ¥ÀèÅÙ¤ò 15 ¤ÇÅÐÏ¿¤·¡¤GDB ¤Ç Ctrl-C ¤ò²¡¤¹¤È 
138 ³ä¤ê¹þ¤ß¤¬Æþ¤ê¥¹¥¿¥Ö¤ËÀ©¸æ¤¬°Ü¤ë¤è¤¦¤Ë¤·¤Æ¤¢¤ë¡¥¤³¤Îµ¡Ç½¤ò»ÈÍѤ¹¤ë¤¿¤á
139 ¤Ë¤ÏCPU¥í¥Ã¥¯¾õÂ֤Ǥϡ¤Í¥ÀèÅÙ¤¬ 14 ¤Ë¤Ê¤ë¤è¤¦¤Ë¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡¥¤½
140 ¤Î¤¿¤á¡¤CPU¥í¥Ã¥¯¤ÇÀßÄꤵ¤ì¤ëÍ¥ÀèÅÙ¤ò¥Þ¥¯¥í¤Ç MAX_IPM ¤Ç»ØÄꤷ¤Æ¤¤¤ë¡¥
141 MAX_IPM ¤Ïcpu_config.h ¤ÎÃæ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡¥GDB¥¹¥¿¥Ö¤ò»È¤¦¾ì¹ç¤Ï 14 
142 ¤ËGDB¥¹¥¿¥Ö¤ò»È¤ï¤Ê¤¤¾ì¹ç¤Ï 15 ¤ËÀßÄꤷ¤Æ¤¤¤ë¡¥
143
144 DEF_INH ¤Ç»ØÄꤹ¤ë³ä¹þ¤ß¥Ï¥ó¥É¥éÈÖ¹æ(inhno)¤Ï¡¤SH7708/50 ¤Ç¤Ï¡¤³ä¤ê¹þ
145 ¤ß»ö¾Ý¥ì¥¸¥¹¥¿(INTEVT)¤ËÀßÄꤵ¤ì¤ë¥³¡¼¥É¤Ç¤¢¤ê¡¤SH7709A/09/29R/27 ¤Ç¤Ï¡¤
146 ³ä¤ê¹þ¤ß»ö¾Ý¥ì¥¸¥¹¥¿2(INTEVT2)¤ËÀßÄꤵ¤ì¤ë¥³¡¼¥É¤Ç¤¢¤ë¡¥¥Ç¡¼¥¿·¿
147 (INHNO)¤Ï unsigned int·¿¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡¥DEF_INH ¤Ç¡¤INTEVT,INTEVT2¥³¡¼
148 ¥É¤È¤·¤ÆÍ­¸ú¤Ç¤Ê¤¤Ãͤ䡤³°Éô³ä¹þ¤ß¤ËÂбþ¤·¤Ê¤¤ÈÖ¹æ¤ò»ØÄꤷ¤¿¾ì¹ç¤ÎÆ°ºî
149 ¤ÏÊݾڤµ¤ì¤Ê¤¤¡¥
150
151 SH3°Í¸¤Îµ¡Ç½¤È¤·¤Æ¡¤SR(Status Register)Ãæ¤Î ³ä¤ê¹þ¤ß¥Þ¥¹¥¯¥Ó¥Ã¥È(I3¡Á
152 I0)¤ÎÃͤòÊѹ¹¤¹¤ë¤¿¤á¤Î¥µ¡¼¥Ó¥¹¥³¡¼¥ë chg_ipm ¤È¡¤»²¾È¤¹¤ë¤¿¤á¤Î¥µ¡¼¥Ó
153 ¥¹¥³¡¼¥ë get_ipm ¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¡¥¤Ê¤ª¡¤³ä¤ê¹þ¤ß¥Þ¥¹¥¯¥Ó¥Ã¥È¤ÎÃͤò
154 ɽ¤¹¥Ç¡¼¥¿·¿ IPM ¤Ï¡¤unsigned int·¿¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡¥
155
156 ¤³¤ì¤é¤Î¥µ¡¼¥Ó¥¹¥³¡¼¥ë¤Ï¡¤¥¿¥¹¥¯¥³¥ó¥Æ¥­¥¹¥È¤Ç CPU¥í¥Ã¥¯²ò½ü¾õÂ֤ξì¹ç
157 ¤Ë¤Î¤ß¸Æ¤Ó½Ð¤¹¤³¤È¤¬¤Ç¤­¤ë¡¥chg_ipm ¤Ë¤è¤ê IPM ¤ò 0 °Ê³°(¤¹¤Ê¤ï¤Á¡¤²¿
158 ¤é¤«¤Î³ä¹þ¤ß¤¬¶Ø»ß¤µ¤ì¤Æ¤¤¤ë¾õÂÖ)¤Ë¤·¤¿¾ì¹ç¤Ç¤â¡¤¥Ç¥£¥¹¥Ñ¥Ã¥Á¤Ï¶Ø»ß¤µ
159 ¤ì¤º¡¤chg_ipm ¤Ë¤è¤êÊѹ¹¤·¤¿ IPM ¤ÎÃͤϡ¤¥Ç¥£¥¹¥Ñ¥Ã¥Á¸å¤Î¥¿¥¹¥¯¤Ë°ú¤­
160 ·Ñ¤¬¤ì¤ë¡¥Î㤨¤Ð¡¤¤¢¤ë¥¿¥¹¥¯¤Ç IPM ¤ò 1 ¤ËÊѹ¹¤·¤¿¸å¡¤²¿¤é¤«¤Î³ä¹þ¤ß¤Ë
161 ¤è¤êÊ̤Υ¿¥¹¥¯¤ËÀÚ¤êÂؤï¤ë¤È¡¤ÀÚ¤êÂؤï¤Ã¤¿¸å¤Î¥¿¥¹¥¯¤Ç¤â IPM ¤Ï 1 ¤Ë¤Ê
162 ¤ë¡¥
163
164 chg_ipm ¤ò¥µ¥Ý¡¼¥È¤¹¤ë¤¿¤á¤Ë¡¤³ä¹þ¤ß¥Ï¥ó¥É¥é¤Î½ÐÆþ¸ý½èÍý¤Ê¤É¤Ë¥ª¡¼¥Ð¥Ø¥Ã
165 ¥É¤òÀ¸¤¸¤Æ¤¤¤ë¡¥¤½¤³¤Ç¡¤SUPPORT_CHG_IPM ¤È¤¤¤¦¥Þ¥¯¥í¤Ë¤è¤ê¡¤¤³¤ì¤é¤Î¥µ¡¼
166 ¥Ó¥¹¥³¡¼¥ë¤ò¥µ¥Ý¡¼¥È¤¹¤ë¤«¤É¤¦¤«¤òÀÚ¤êÂؤ¨¤é¤ì¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤ë¡¥
167 SUPPORT_CHG_IPM ¤Ï¡¤cpu_config.h ¤ÎÃæ¤Ç #define ¤µ¤ì¤Æ¤¤¤ë¡¥
168
169 SH3°Í¸¤Î³ä¹þ¤ß¥Þ¥¹¥¯¤ÎÊѹ¹¡¦»²¾È¤Î¤¿¤á¤Î¥µ¡¼¥Ó¥¹¥³¡¼¥ë¤Î»ÅÍͤϼ¡¤Î
170 Ä̤ꡥ
171
172
173 (1) chg_ipm                     ³ä¹þ¤ß¥Þ¥¹¥¯¤ÎÊѹ¹
174
175 ¡ÚC¸À¸ìAPI¡Û
176         ER ercd = chg_ipm(IPM ipm);
177
178 ¡Ú¥Ñ¥é¥á¡¼¥¿¡Û
179         IPM     ipm             ÀßÄꤹ¤Ù¤­ IPM ¤ÎÃÍ
180
181 ¡Ú¥ê¥¿¡¼¥ó¥Ñ¥é¥á¡¼¥¿¡Û
182         ER      ercd            ¥¨¥é¡¼¥³¡¼¥É
183
184 ¡Ú¥¨¥é¡¼¥³¡¼¥É¡Û
185         E_CTX           ¥³¥ó¥Æ¥­¥¹¥È¥¨¥é¡¼
186         E_PAR           ¥Ñ¥é¥á¡¼¥¿¥¨¥é¡¼(ipm ¤¬ÉÔÀµ)
187
188 ¡Úµ¡Ç½¡Û
189
190 IPM(Interrupt Priority Mask)¤ò ipm ¤Ç»ØÄꤵ¤ì¤¿ÃͤËÀßÄꤹ¤ë¡¥»ØÄꤷ¤¿
191 Ãͤ¬ 0¡Á13¤Ê¤¤¤·14°Ê³°¤Î¾ì¹ç¡¤E_PAR¥¨¥é¡¼¤È¤Ê¤ë¡¥IPM ¤ò 1¡ÁMAX_IPM -1 
192 ¤ËÀßÄꤷ¤¿¾ì¹ç¤Ç¤â¡¤¥Ç¥£¥¹¥Ñ¥Ã¥Á¤Ï¶Ø»ß¤µ¤ì¤Ê¤¤¡¥¤Þ¤¿¡¤ÀßÄꤷ¤¿ IPM ¤Î
193 Ãͤϡ¤¥Ç¥£¥¹¥Ñ¥Ã¥Á¸å¤â°ú¤­·Ñ¤¬¤ì¤ë¡¥
194
195 ¤Ê¤ª¡¤¤³¤Î¥µ¡¼¥Ó¥¹¥³¡¼¥ë¤òÍѤ¤¤Æ¡¤IPM ¤ò MAX_IPM (¤¹¤Ù¤Æ¤Î³ä¹þ¤ß¤ò¶Ø»ß)
196 ¤ËÀßÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡¥IPM ¤ò MAX_IPM ¤Ë¤·¤¿¤¤¾ì¹ç¤Ë¤Ï¡¤loc_cpu ¤ò
197 »È¤¦¤Ù¤­¤Ç¤¢¤ë¡¥
198
199 ¤³¤Î¥µ¡¼¥Ó¥¹¥³¡¼¥ë¤Ï¡¤¥¿¥¹¥¯¥³¥ó¥Æ¥­¥¹¥È¤Ç CPU¥í¥Ã¥¯²ò½ü¾õÂ֤λþ¤Î¤ß¸Æ
200 ¤Ó½Ð¤¹¤³¤È¤¬¤Ç¤­¤ë¡¥È󥿥¹¥¯¥³¥ó¥Æ¥­¥¹¥È¤ä CPU¥í¥Ã¥¯¾õÂ֤ǸƤӽФ·¤¿¾ì
201 ¹ç¤Ë¤Ï¡¤E_CTX¥¨¥é¡¼¤È¤Ê¤ë¡¥
202
203
204 (2) get_ipm                     ³ä¹þ¤ß¥Þ¥¹¥¯¤Î»²¾È
205
206 ¡ÚC¸À¸ìAPI¡Û
207         ER ercd = get_ipm(IPM *p_ipm);
208
209 ¡Ú¥Ñ¥é¥á¡¼¥¿¡Û
210         ¤Ê¤·
211
212 ¡Ú¥ê¥¿¡¼¥ó¥Ñ¥é¥á¡¼¥¿¡Û
213         ER      ercd            ¥¨¥é¡¼¥³¡¼¥É
214         IPM     ipm             ¸½ºß¤Î IPM ¤ÎÃÍ
215
216 ¡Ú¥¨¥é¡¼¥³¡¼¥É¡Û
217         E_CTX           ¥³¥ó¥Æ¥­¥¹¥È¥¨¥é¡¼
218
219 ¡Úµ¡Ç½¡Û
220
221 ¸½ºß¤Î IPM(Interrupt Priority Mask)¤ÎÃͤòÆɤ߽Ф·¡¤ipm ¤ËÊÖ¤¹¡¥
222
223 ¤³¤Î¥µ¡¼¥Ó¥¹¥³¡¼¥ë¤Ï¡¤¥¿¥¹¥¯¥³¥ó¥Æ¥­¥¹¥È¤Ç CPU¥í¥Ã¥¯²ò½ü¾õÂ֤λþ¤Î¤ß¸Æ
224 ¤Ó½Ð¤¹¤³¤È¤¬¤Ç¤­¤ë¡¥È󥿥¹¥¯¥³¥ó¥Æ¥­¥¹¥È¤ä CPU¥í¥Ã¥¯¾õÂ֤ǸƤӽФ·¤¿¾ì
225 ¹ç¤Ë¤Ï¡¤E_CTX¥¨¥é¡¼¤È¤Ê¤ë¡¥
226
227
228 2.3 CPUÎã³°´ÉÍýµ¡Ç½¤ÈCPUÎã³°¥Ï¥ó¥É¥é
229
230 DEF_EXC ¤Ç»ØÄꤹ¤ë³ä¹þ¤ß¥Ï¥ó¥É¥éÈÖ¹æ(excno)¤Ï¡¤SH3 ¤Ç¤Î Îã³°»ö¾Ý¥ì¥¸¥¹
231 ¥¿¤ËÀßÄꤵ¤ì¤ëÎã³°¥³¡¼¥ÉÈÖ¹æ¤òɽ¤·¡¤¤½¤Î¥Ç¡¼¥¿·¿(EXCNO)¤Ï unsigned int
232 ·¿¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡¥DEF_EXC ¤Ç¡¤Îã³°¥³¡¼¥ÉÈÖ¹æ¤È¤·¤ÆÍ­¸ú¤Ç¤Ê¤¤Ãͤ䡤
233 CPUÎã³°¤ËÂбþ¤·¤Ê¤¤ÈÖ¹æ¤ò»ØÄꤷ¤¿¾ì¹ç¤ÎÆ°ºî¤ÏÊݾڤµ¤ì¤Ê¤¤¡¥
234
235 CPUÎã³°¥Ï¥ó¥É¥é¤ËÅϤµ¤ì¤ëp_excinf¤Ï¡¤CPUÎ㳰ȯÀ¸»þ¤Î¥³¥ó¥Æ¥­¥¹¥È¤òÊݸ
236 ¤·¤¿¥¹¥¿¥Ã¥¯¤Ø¤Î¥Ý¥¤¥ó¥¿¤¬ÅϤµ¤ì¤ë¡¥¥¹¥¿¥Ã¥¯¤Î¹½Â¤¤ò°Ê²¼¤Ë¼¨¤¹¡¥
237
238 offset
239           ----------------------
240          |         R7           |  <-- p_excinf
241           ----------------------
242   1      |         R6           |
243           ----------------------
244   2      |         R5           |
245           ----------------------
246   3      |         R4           |
247           ----------------------
248   4      |         R3           |
249           ----------------------
250   5      |         R2           |
251           ----------------------
252   6      |         R1           |
253           ----------------------
254   7      |         R0           |
255           ----------------------
256   8      |        MACH          |
257           ----------------------
258   9      |        MACL          |
259           ----------------------
260  10      |        GBR           |
261           ----------------------
262  11      |         SR           |
263           ----------------------
264  12      |         PR           |
265           ----------------------
266  13      |         PC           |
267           ----------------------
268
269 ¤Þ¤¿¡¤CPUÎ㳰ȯÀ¸»þ¤ÎPC¤ÎÃͤÏȯÀ¸Îã³°Í×°ø¤Ë±þ¤¸¤ÆCPU¤Ë¤è¤ê¥¤¥ó¥¯¥ê¥á¥ó
270 ¥È¤µ¤ì¤ë¾ì¹ç¤ä¡¤¤µ¤ì¤º¤Ë¥ê¥È¥é¥¤¤¹¤ë¾ì¹ç¤¬¤¢¤ë¡¥¤½¤Î¤¿¤á¡¤PC¤ÎÃͤòÊѹ¹
271 ¤·¤¿¤¤¾ì¹ç¤Ï¡¤CPUÎã³°¥Ï¥ó¥É¥é¤Ç¡¤p_excinf¤ò¸µ¤ËPC¤ÎÃͤòÊѹ¹¤¹¤ì¤Ð¤è¤¤¡¥
272
273
274
275 2.4 ¥¹¥¿¡¼¥È¥¢¥Ã¥×¥â¥¸¥å¡¼¥ë
276
277 SH3°Í¸¤Î¥¹¥¿¡¼¥È¥¢¥Ã¥×¥â¥¸¥å¡¼¥ë(start.S)¤Ç¤Ï¡¤¼¡¤Î½é´ü²½½èÍý¤ò¹Ô¤¦¡¥
278
279 (A) ¥×¥í¥»¥Ã¥µ¥â¡¼¥É¤Î½é´ü²½¤È¥¹¥¿¥Ã¥¯¥Ý¥¤¥ó¥¿¤Î½é´ü²½
280
281 ºÇ½é¤Ë¡¤¤¹¤Ù¤Æ¤Î¥­¥ã¥Ã¥·¥å¤ò̵¸ú²½¤·¤¿¸å¡¤¥­¥ã¥Ã¥·¥å¤ò¥é¥¤¥È¥¹¥ë¡¼¥â¡¼
282 ¥É¤ËÀßÄꤷ¡¤Í­¸ú¤Ë¤¹¤ë¡¥¤Þ¤¿¡¤¥×¥í¥»¥Ã¥µ¤Î¥â¡¼¥É¤ò¡¤Æø¢¥â¡¼¥É¡¤¥ì¥¸¥¹
283 ¥¿¥Ð¥ó¥¯1¤ËÀßÄꤷ¡¤³ä¤ê¹þ¤ß¥Þ¥¹¥¯¤ò MAX_IPM ¤ËÀßÄꤹ¤ë¡¥
284
285
286 ¼¡¤Ë¡¤¥¹¥¿¥Ã¥¯¥Ý¥¤¥ó¥¿(r15)¤ò STACKTOP ¤ËÀßÄꤹ¤ë¡¥¤³¤³¤Ç³ä¹þ¤ß¥¹¥¿¥Ã
287 ¥¯¥Ý¥¤¥ó¥¿¤ËÀßÄꤵ¤ì¤¿¥¹¥¿¥Ã¥¯Îΰè¤Ï¡¤¥«¡¼¥Í¥ëµ¯Æ°¸å¤ÏÈ󥿥¹¥¯¥³¥ó¥Æ¥­
288 ¥¹¥ÈÍѤΥ¹¥¿¥Ã¥¯Îΰè¤È¤·¤Æ»È¤ï¤ì¤ë¡¥STACKTOP ¤Ï¡¤sys_config.h Éô¤ÇÄêµÁ
289 ¤¹¤ë¤³¤È¤òÁÛÄꤷ¤Æ¤¤¤ë¡¥
290
291 (B) hardware_init_hook ¤Î¸Æ½Ð¤·
292
293 hardware_init_hook ¤¬ 0 ¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¤hardware_init_hook ¤ò¸Æ¤Ó½Ð¤¹¡¥
294 hardware_init_hook ¤Ï¡¤¥«¡¼¥Í¥ë¤¬µ¯Æ°¤µ¤ì¤ëÁ°¤Ë¹Ô¤¦É¬Íפ¬¤¢¤ë¥¿¡¼¥²¥Ã
295 ¥È°Í¸¤Î½é´ü²½¤ò¹Ô¤¦¤¿¤á¤ËÍÑ°Õ¤·¤Æ¤¤¤ë¡¥hardware_init_hook ¤¬¤É¤³¤Ç¤â
296 ÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¤¥ê¥ó¥«¤Ç¤³¤Î¥·¥ó¥Ü¥ë¤ò 0 ¤ËÄêµÁ¤¹¤ë(¥ê¥ó¥«¥¹¥¯
297 ¥ê¥×¥ÈÆâ¤Ëµ­½Ò¤¢¤ê)¡¥
298
299 (C) bss¥»¥¯¥·¥ç¥ó¤È data¥»¥¯¥·¥ç¥ó¤Î½é´ü²½
300
301 bss¥»¥¯¥·¥ç¥ó¤ò¥¼¥í¥¯¥ê¥¢¤¹¤ë¡¥¤Þ¤¿¡¤data¥»¥¯¥·¥ç¥ó¤ò½é´ü²½¤¹¤ë¡¥
302
303 (D) software_init_hook ¤Î¸Æ½Ð¤·
304
305 software_init_hook ¤¬ 0 ¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¤software_init_hook ¤ò¸Æ¤Ó½Ð¤¹¡¥
306 software_init_hook ¤Ï¡¤¥«¡¼¥Í¥ë¤¬µ¯Æ°¤µ¤ì¤ëÁ°¤Ë¹Ô¤¦É¬Íפ¬¤¢¤ë¥½¥Õ¥È¥¦¥§
307 ¥¢´Ä¶­(¶ñÂÎŪ¤Ë¤Ï¡¤¥é¥¤¥Ö¥é¥ê)°Í¸¤Î½é´ü²½¤ò¹Ô¤¦¤¿¤á¤ËÍÑ°Õ¤·¤Æ¤¤¤ë¡¥
308 software_init_hook ¤¬¤É¤³¤Ç¤âÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¤¥ê¥ó¥«¤Ç¤³¤Î¥·¥ó¥Ü
309 ¥ë¤ò 0 ¤ËÄêµÁ¤¹¤ë(¥ê¥ó¥«¥¹¥¯¥ê¥×¥ÈÆâ¤Ëµ­½Ò¤¢¤ê)¡¥
310
311 (E) ¥«¡¼¥Í¥ë¤Îµ¯Æ°
312
313 kernel_start ¤Øʬ´ô¤·¡¤¥«¡¼¥Í¥ë¤òµ¯Æ°¤¹¤ë¡¥kernel_start ¤«¤é¥ê¥¿¡¼¥ó¤·
314 ¤Æ¤¯¤ë¤³¤È¤ÏÁÛÄꤷ¤Æ¤¤¤Ê¤¤¡¥
315
316
317 2.5 ¥ì¥¸¥¹¥¿¥Ð¥ó¥¯
318
319 Îã³°¥Ï¥ó¥É¥é¤ÎÆþ¸ý¤ò½ü¤­´ðËÜŪ¤Ë¥ì¥¸¥¹¥¿¥Ð¥ó¥¯0¤ò»ÈÍѤ·¤Æ¤¤¤ë¡¥¥ì¥¸¥¹
320 ¥¿¥Ð¥ó¥¯1¤Ï r7 ¤Î¤ßÎã³°/³ä¤ê¹þ¤ß¤Î¥Í¥¹¥È²ó¿ô¤Î¥«¥¦¥ó¥ÈÍѤ˻ÈÍѤ·¤Æ¤¤¤ë¡¥
321 È󥿥¹¥¯¥³¥ó¥Æ¥­¥¹¥È¤È¥¿¥¹¥¯¥³¥ó¥Æ¥­¥¹¥È¤ÎȽÊ̤Ϥ³¤Î¥ì¥¸¥¹¥¿¤Ë¤è¤ê¹Ô¤Ã
322 ¤Æ¤¤¤ë¡¥¤Ê¤ª¡¤¥¹¥¿¥Ö¤Ï¥ì¥¸¥¹¥¿¥Ð¥ó¥¯1¤ÎR0¤ÈR1¤ò»ÈÍѤ¹¤ë¤¿¤á¡¤¤³¤Î¥ì¥¸
323 ¥¹¥¿¤Ë½ñ¤­¹þ¤ó¤À¥Ç¡¼¥¿¤Ï¥¹¥¿¥Ö¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¤ÈÇ˲õ¤µ¤ì¤ë¡¥
324
325
326 2.6 MACH¡¤MACL¡¤GBR
327
328 gcc¤Ç¤Ï¡¤MACH¡¤MACL¡¤GBR¤Ï¤¹¤Ù¤Æ¥¹¥¯¥é¥Ã¥Á¥ì¥¸¥¹¥¿¤È¤·¤Æ°·¤ï¤ì¤ë¤¿¤á¡¤
329 ´Ø¿ô¸Æ¤Ó½Ð¤·¤ÎÁ°¸å¤Ç¤ÏÃͤÏÊݾڤµ¤ì¤Ê¤¤¡¥¤½¤Î¤¿¤á¡¤Îã³°/³ä¹þ¤ßȯÀ¸»þ¤Ë
330 ¤Ï¡¤¥¹¥¯¥é¥Ã¥Á¥ì¥¸¥¹¥¿¤Ç¤¢¤ëÈÆÍѥ쥸¥¹¥¿R0¡ÁR7¤ÈƱÍͤËÊݸ¤·¤Æ¤¤¤ë¡¥
331 ¤Þ¤¿¡¤¼«¤é¥Ç¥£¥¹¥Ñ¥Ã¥Á¥ã¤ò¸Æ¤Ó½Ð¤·¤¹¾ì¹ç¤Ï¡¤´Ø¿ô¸Æ¤Ó½Ð¤·¤Ë¤Ê¤ë¤¿¤á¡¤ÊÝ
332 ¸¤·¤Æ¤¤¤Ê¤¤¡¥¥¢¥»¥ó¥Ö¥é¤Î¥³¡¼¥É¤ò»ÈÍѤ¹¤ë¾ì¹ç¤â¤³¤Î¥ë¡¼¥ë¤Ë½¾¤¦É¬Íפ¬
333 ¤¢¤ë¡¥
334
335
336 2.7 ³ä¹þ¤ß¥Ï¥ó¥É¥é¼Â¹Ô»þ¤Î³ä¹þ¤ß¥Þ¥¹¥¯
337
338 SH3¤Ï³ä¹þ¤ßȯÀ¸»þ¡¤³ä¹þ¤ß¥Þ¥¹¥¯¥Ó¥Ã¥È(I3¡ÁI0)¤Ï¥×¥í¥»¥Ã¥µ¤Ë¤è¤Ã¤Æ¼«Æ°
339 Ū¤ËÀßÄꤵ¤ì¤Ê¤¤¤¿¤á¡¤¥½¥Õ¥È¥¦¥§¥¢¤Ë¤è¤Ã¤ÆÀßÄꤹ¤ëɬÍפ¬¤¢¤ë¡¥³ä¹þ¤ß¥Ï
340 ¥ó¥É¥é¼Â¹Ô»þ¤ËÀßÄꤹ¤ë³ä¹þ¤ß¥Þ¥¹¥¯¥Ó¥Ã¥È¤ò¥«¡¼¥Í¥ë¤Ë»ØÄꤹ¤ë¥µ¡¼¥Ó¥¹¥³¡¼
341 ¥ë¤È¤·¤Ædefine_int_plevel() ¤òÍÑ°Õ¤·¤Æ¤¤¤ë¡¥¤³¤Î¥µ¡¼¥Ó¥¹¥³¡¼¥ë¤Î»ÈÍѤÏ
342 ¼¡¤ÎÄ̤ꡥ¤Ê¤ª¡¤define_int_plvel()¤Ë¤è¤ê³ä¹þ¤ß¥Þ¥¹¥¯¥Ó¥Ã¥È¤ò»ØÄꤷ¤Ê¤±
343 ¤ì¤Ð³ä¹þ¤ß¥Ï¥ó¥É¥é¤Ï¥Ç¥£¥Õ¥©¥ë¥È¤Î MAX_IPM -1 ¤Î¥Þ¥¹¥¯¤Ç¼Â¹Ô¤µ¤ì¤ë¡¥
344
345  define_int_plevel  ³ä¹þ¤ß¥Ï¥ó¥É¥é¼Â¹Ô»þ¤Î³ä¹þ¤ß¥Þ¥¹¥¯¥Ó¥Ã¥È¤Î»ØÄê
346
347 ¡ÚC¸À¸ìAPI¡Û
348   void define_int_plevel(UINT dintno, UW plevel)
349
350 ¡Ú¥Ñ¥é¥á¡¼¥¿¡Û
351   dintno    ³ä¹þ¤ßÈÖ¹æ
352   plevel    ³ä¹þ¤ß¥ì¥Ù¥ë
353
354 ¡Úµ¡Ç½¡Û
355   dintno ¤Ç»ØÄꤷ¤¿³ä¹þ¤ßÈÖ¹æ¤Î³ä¹þ¤ß¥Ï¥ó¥É¥é¤¬¼Â¹Ô¤µ¤ì¤ë¾ì¹ç¤Î³ä¹þ¤ß
356   ¥Þ¥¹¥¯¤ò plevel ¤Ë¤¹¤ë¡¥
357
358
359 £³¡¥¥·¥¹¥Æ¥à°Í¸Éô¤Îµ¡Ç½
360
361 3.1 ¥·¥¹¥Æ¥à¥¯¥í¥Ã¥¯¥É¥é¥¤¥Ð
362
363 ¥·¥¹¥Æ¥à¥¯¥í¥Ã¥¯¥É¥é¥¤¥Ð¤¬ isig_tim ¤ò¸Æ¤Ó½Ð¤¹¼þ´ü¤Ï¡¤sys_defs.h Ãæ¤Î 
364 TIC_NUME ¤È TIC_DENO ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë(ɸ½à¤Ï 1¥ß¥êÉüþ´ü)¡¥¤³¤ÎÄêµÁ
365 ¤òÊѹ¹¤¹¤ë¤³¤È¤Ç¡¤isig_tim ¤ò¸Æ¤Ó½Ð¤¹¼þ´ü¤òÊѹ¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡¥¤¿¤À
366 ¤·¡¤¥¿¥¤¥Þ¤ÎÀºÅÙ¤¬ 1¦ÌÉäǤ¢¤ë¤¿¤á¡¤1¦ÌÉÃñ°Ì¤Çü¿ô¤Ë¤Ê¤ëÃͤòÀßÄꤷ¤¿
367 ¾ì¹ç¤Ë¤Ï¡¤isig_tim ¤Î¸Æ½Ð¤·¼þ´ü¤Ë¸íº¹¤¬À¸¤¸¤ë¤³¤È¤Ë¤Ê¤ë¡¥
368
369 3.2 À­Ç½É¾²ÁÍÑ¥·¥¹¥Æ¥à»þ¹ï»²¾Èµ¡Ç½
370
371 SH3°Í¸Éô¤Ç¤Ï¡¤À­Ç½É¾²ÁÍÑ¥·¥¹¥Æ¥à»þ¹ï»²¾Èµ¡Ç½(vxget_tim)¤ò¥µ¥Ý¡¼¥È¤·¤Æ
372 ¤¤¤ë¡¥À­Ç½É¾²ÁÍÑ¥·¥¹¥Æ¥à»þ¹ï¤ÎÀºÅ٤Ϡ1¦ÌÉÃñ°Ì¤Ç¤¢¤ë¤¬¡¤¥¿¥¤¥Þ¤Î¸½ºßÃÍ
373 ¤òÆɤ߽Ф¹¤¿¤á¤Ë°ì»þŪ¤Ë¥¿¥¤¥Þ¤òÄä»ß¤µ¤»¤ëɬÍפ¬¤¢¤ë¤¿¤á¡¤vxget_tim ¤ò
374 ¸Æ¤ÖÅ٤˥·¥¹¥Æ¥à¥¯¥í¥Ã¥¯¤¬¾¯¤·¤Å¤ÄÃÙ¤ì¤ë¤³¤È¤Ë¤Ê¤ë¡¥¤Ê¤ª¡¤SYSUTIM·¿¤Ï 
375 UD·¿(64¥Ó¥Ã¥È¤ÎÉä¹æ̵¤·À°¿ô·¿)¤ËÄêµÁ¤·¤Æ¤¤¤ë¡¥
376
377 3.3 ¥·¥ê¥¢¥ë¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥É¥é¥¤¥Ð
378
379
380 Solution_Engine ¤Î¥·¥ê¥¢¥ë¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥É¥é¥¤¥Ð¤Ï¡¤¥¹¡¼¥Ñ¡¼I/OÆâ¢
381 SCI(CN3) ¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¡¥¤Þ¤¿¡¤MS7727CP01¤Î¥·¥ê¥¢¥ë¥¤¥ó¥¿¥Õ¥§¡¼¥¹
382 ¥É¥é¥¤¥Ð¤Ï¡¤ST16C2550CQ48 ¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¡¥
383
384 3.4 ¥á¥â¥ê¥Þ¥Ã¥×
385
386 ¥³¡¼¥ÉÎΰè¤È¥Ç¡¼¥¿Îΰè¤Ï³Æ¥·¥¹¥Æ¥à°Í¸Éô¤Î Makefile.config ¤Ç¡¤¥¹¥¿¥Ã
387 ¥¯¤Î½é´üÃͤϡ¤sys_defs.h ¤ÇÀßÄꤹ¤ë¡¥
388
389 ¡¦Solution Engine
390   ¥³¡¼¥ÉÎΰè¤ò 0x0c003000 ¡Á 0x0c0fffff Ìó1MB¡¤¥Ç¡¼¥¿Îΰè¤ò 0x0c100000 
391   ¡Á ¤ÎÌó3MB¡¤È󥿥¹¥¯¥³¥ó¥Æ¥­¥¹¥ÈÍѤΥ¹¥¿¥Ã¥¯Îΰè¤ò ¡Á0x0c3fffff ¤Ë³Î
392   Êݤ·¤Æ¤¤¤ë¡¥0x0c000000 ¡Á 0x0c000fff ¤Ï¡¤GDB¥¹¥¿¥Ö¤Î¥ï¡¼¥¯¥¨¥ê¥¢¤È¤Ê¤Ã
393   ¤Æ¤ª¤ê¡¤»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¡¥
394
395
396 ¡¦MS7727CP01
397   ¥³¡¼¥ÉÎΰè¤ò 0x0c003000 ¡Á 0x0c0fffff Ìó1MB¡¤¥Ç¡¼¥¿Îΰè¤ò 0x0c100000 
398   ¡Á ¤ÎÌó3MB¡¤È󥿥¹¥¯¥³¥ó¥Æ¥­¥¹¥ÈÍѤΥ¹¥¿¥Ã¥¯Îΰè¤ò ¡Á0x0c3fffff ¤Ë³Î
399   Êݤ·¤Æ¤¤¤ë¡¥0x0c000000 ¡Á 0x0c002fff ¤Ï¡¤ROM¥â¥Ë¥¿¤Î¥ï¡¼¥¯¥¨¥ê¥¢¤È¤Ê¤Ã
400   ¤Æ¤ª¤ê¡¤»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¡¥
401
402
403 £´¡¥³«È¯´Ä¶­¤Î¹½ÃÛ
404
405 ³«È¯´Ä¶­¤Î¹½ÃÛÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¡¤GNU³«È¯´Ä¶­¹½Ãۥޥ˥奢¥ë¤ò»²¾È¤Î¤³¤È¡¥
406
407
408 4.1 ³«È¯´Ä¶­¤Î¥Ð¡¼¥¸¥ç¥ó
409 Æ°ºî³Îǧ¤·¤¿¥Ä¡¼¥ë¤Î¥Ð¡¼¥¸¥ç¥ó¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¢¤ë¡¥
410
411     BINUTILS : 2.10.1
412     GCC-CORE : 2.95.3
413     GDB      : 4.18
414     NEWLIB   : 1.9.0
415
416 ¤ÎÁȤ߹ç¤ï¤»¤â¤·¤¯¤Ï
417
418     BINUTILS : 2.14
419     GCC-CORE : 3.3
420     GDB      : 5.3
421     NEWLIB   : 1.11.0
422
423
424 £µ¡¥¤½¤Î¾
425
426 5.1 ¥Ç¥£¥ì¥¯¥È¥ê¡¦¥Õ¥¡¥¤¥ë¹½À®
427
428 SH3 ¥¿¡¼¥²¥Ã¥È°Í¸Éô¤Î³Æ¥Õ¥¡¥¤¥ë¤Î³µÍפϼ¡¤ÎÄ̤ꡥ
429
430     config/sh3/
431         Makefile.config Makefile¤Î SH3 °Í¸ÄêµÁ
432         cpu_defs.h        ¥×¥í¥»¥Ã¥µ°Í¸Éô¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥óÍÑÄêµÁ
433         cpu_config.h      ¥×¥í¥»¥Ã¥µ°Í¸Éô¤Î¹½À®ÄêµÁ
434         cpu_config.c      ¥×¥í¥»¥Ã¥µ°Í¸Éô¤Î´Ø¿ô
435         cpu_support.S     ¥×¥í¥»¥Ã¥µ°Í¸Éô¤Î¥µ¥Ö¥ë¡¼¥Á¥ó
436         cpu_context.h     ¥³¥ó¥Æ¥­¥¹¥ÈÁàºî
437         cpu_rename.def    ¥«¡¼¥Í¥ë¤ÎÆâÉô¼±ÊÌ̾¤Î¥ê¥Í¡¼¥àÄêµÁ
438         cpu_rename.h      ¥«¡¼¥Í¥ë¤ÎÆâÉô¼±ÊÌ̾¤Î¥ê¥Í¡¼¥à
439         cpu_unrename.h    ¥«¡¼¥Í¥ë¤ÎÆâÉô¼±ÊÌ̾¤Î¥ê¥Í¡¼¥à²ò½ü
440         tool_defs.h       ³«È¯´Ä¶­°Í¸Éô¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥óÍÑÄêµÁ¡ÊGNU³«È¯´Ä¶­ÍÑ¡Ë
441         tool_config.h     ³«È¯´Ä¶­°Í¸Éô¤Î¹½À®ÄêµÁ¡ÊGNU³«È¯´Ä¶­ÍÑ¡Ë
442         makeoffset.c      offset.h À¸À®¥µ¥Ý¡¼¥È¥×¥í¥°¥é¥à
443         cpu_insn.h        Äã¥ì¥Ù¥ë¤Î¥×¥í¥»¥Ã¥µÁàºî¥ë¡¼¥Á¥ó
444         start.S           ¥¹¥¿¡¼¥È¥¢¥Ã¥×¥â¥¸¥å¡¼¥ë
445         shelf.ld          ¥Ó¥Ã¥°¥¨¥ó¥Ç¥£¥¢¥óÍÑ¥ê¥ó¥«¥¹¥¯¥ê¥×¥È
446         shlelf.ld         ¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥óÍÑ¥ê¥ó¥«¥¹¥¯¥ê¥×¥È
447         hw_timer.h        ¥¿¥¤¥ÞÁàºî¥ë¡¼¥Á¥ó
448         sh3.h             SH3 ¤ÎÄêµÁ
449         sh4.h             SH4 ¤ÎÄêµÁ
450
451
452     config/sh3/solution_engine
453         Makefile.config   Makefile¤Î Solution Engine °Í¸ÄêµÁ
454         ms7709ase01.h     MS7709ASE01 ¥Ï¡¼¥É¥¦¥§¥¢ÄêµÁ
455         ms7729rse01.h     MS7729RSE01 ¥Ï¡¼¥É¥¦¥§¥¢ÄêµÁ
456         ms7750se01.h      MS7750SE01  ¥Ï¡¼¥É¥¦¥§¥¢ÄêµÁ
457         solution_engine.h Solution Engine¶¦ÄÌÄêµÁ
458         sys_config.c      ¥·¥¹¥Æ¥à°Í¸Éô¤Î´Ø¿ô
459         sys_config.h      ¥·¥¹¥Æ¥à°Í¸Éô¤Î¹½À®ÄêµÁ
460         sys_defs.h        ¥·¥¹¥Æ¥à°Í¸Éô¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥óÍÑÄêµÁ
461         sys_support.S     ¥·¥¹¥Æ¥à°Í¸Éô¤Î¥µ¥Ö¥ë¡¼¥Á¥ó
462         sys_rename.def    ¥«¡¼¥Í¥ë¤ÎÆâÉô¼±ÊÌ̾¤Î¥ê¥Í¡¼¥àÄêµÁ
463         sys_rename.h      ¥«¡¼¥Í¥ë¤ÎÆâÉô¼±ÊÌ̾¤Î¥ê¥Í¡¼¥à
464         sys_unrename.h    ¥«¡¼¥Í¥ë¤ÎÆâÉô¼±ÊÌ̾¤Î¥ê¥Í¡¼¥à²ò½ü
465         hw_serial.h       SIO¥É¥é¥¤¥Ð
466         hw_serial.cfg     SIO¥É¥é¥¤¥Ð¤Î¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó¥Õ¥¡¥¤¥ë
467
468
469     config/sh3/ms7727cp01
470         Makefile.config   Makefile¤Î MS7727CP01 °Í¸ÄêµÁ
471         ms7727cp01.h      MS7727CP01 ¥Ï¡¼¥É¥¦¥§¥¢ÄêµÁ
472         sys_config.c      ¥·¥¹¥Æ¥à°Í¸Éô¤Î´Ø¿ô
473         sys_config.h      ¥·¥¹¥Æ¥à°Í¸Éô¤Î¹½À®ÄêµÁ
474         sys_defs.h        ¥·¥¹¥Æ¥à°Í¸Éô¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥óÍÑÄêµÁ
475         sys_support.S     ¥·¥¹¥Æ¥à°Í¸Éô¤Î¥µ¥Ö¥ë¡¼¥Á¥ó
476         sys_rename.def    ¥«¡¼¥Í¥ë¤ÎÆâÉô¼±ÊÌ̾¤Î¥ê¥Í¡¼¥àÄêµÁ
477         sys_rename.h      ¥«¡¼¥Í¥ë¤ÎÆâÉô¼±ÊÌ̾¤Î¥ê¥Í¡¼¥à
478         sys_unrename.h    ¥«¡¼¥Í¥ë¤ÎÆâÉô¼±ÊÌ̾¤Î¥ê¥Í¡¼¥à²ò½ü
479         hw_serial.h       SIO¥É¥é¥¤¥Ð
480         hw_serial.cfg     SIO¥É¥é¥¤¥Ð¤Î¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó¥Õ¥¡¥¤¥ë
481
482
483     pdic/simple_sio/
484         st16c2550.h       ST16C2550 ¤ÎÄêµÁ
485         st16c2550.c       ST16C2550 ÍÑSIO¥É¥é¥¤¥Ð
486         fdc37c935a.h      fdc37c935a ¤ÎÄêµÁ
487         fdc37c935a.c      fdc37c935a ÍÑSIO¥É¥é¥¤¥Ð
488
489
490