OSDN Git Service

Add toppers-jsp/ in nxtOSEK_v205b0.zip. They are licensed under TOPPERS license.
[nxt-jsp/etrobo-atk.git] / nxtOSEK / toppers_jsp / doc / sh3.txt
diff --git a/nxtOSEK/toppers_jsp/doc/sh3.txt b/nxtOSEK/toppers_jsp/doc/sh3.txt
new file mode 100644 (file)
index 0000000..d1e4c4a
--- /dev/null
@@ -0,0 +1,490 @@
+
+            ¡á TOPPERS/JSP¥«¡¼¥Í¥ë ¥æ¡¼¥¶¥º¥Þ¥Ë¥å¥¢¥ë ¡á
+                 ¡ÊSH3/SH4 ¥¿¡¼¥²¥Ã¥È°Í¸Éô¡Ë
+
+          ¡ÊRelease 1.4.2Âбþ¡¤ºÇ½ª¹¹¿·: 11-Jul-2005¡Ë
+
+------------------------------------------------------------------------ 
+ TOPPERS/JSP Kernel
+     Toyohashi Open Platform for Embedded Real-Time Systems/
+     Just Standard Profile Kernel
+
+ Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
+                             Toyohashi Univ. of Technology, JAPAN
+
+ ¾åµ­Ãøºî¸¢¼Ô¤Ï¡¤°Ê²¼¤Î (1)¡Á(4) ¤Î¾ò·ï¤«¡¤Free Software Foundation 
+ ¤Ë¤è¤Ã¤Æ¸øɽ¤µ¤ì¤Æ¤¤¤ë GNU General Public License ¤Î Version 2 ¤Ëµ­
+ ½Ò¤µ¤ì¤Æ¤¤¤ë¾ò·ï¤òËþ¤¿¤¹¾ì¹ç¤Ë¸Â¤ê¡¤ËÜ¥½¥Õ¥È¥¦¥§¥¢¡ÊËÜ¥½¥Õ¥È¥¦¥§¥¢
+ ¤ò²þÊѤ·¤¿¤â¤Î¤ò´Þ¤à¡¥°Ê²¼Æ±¤¸¡Ë¤ò»ÈÍÑ¡¦Ê£À½¡¦²þÊÑ¡¦ºÆÇÛÉۡʰʲ¼¡¤
+ ÍøÍѤȸƤ֡ˤ¹¤ë¤³¤È¤ò̵½þ¤ÇµöÂú¤¹¤ë¡¥
+ (1) ËÜ¥½¥Õ¥È¥¦¥§¥¢¤ò¥½¡¼¥¹¥³¡¼¥É¤Î·Á¤ÇÍøÍѤ¹¤ë¾ì¹ç¤Ë¤Ï¡¤¾åµ­¤ÎÃøºî
+     ¸¢É½¼¨¡¤¤³¤ÎÍøÍѾò·ï¤ª¤è¤Ó²¼µ­¤Î̵Êݾڵ¬Ä꤬¡¤¤½¤Î¤Þ¤Þ¤Î·Á¤Ç¥½¡¼
+     ¥¹¥³¡¼¥ÉÃæ¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¤³¤È¡¥
+ (2) ËÜ¥½¥Õ¥È¥¦¥§¥¢¤ò¡¤¥é¥¤¥Ö¥é¥ê·Á¼°¤Ê¤É¡¤Â¾¤Î¥½¥Õ¥È¥¦¥§¥¢³«È¯¤Ë»È
+     ÍѤǤ­¤ë·Á¤ÇºÆÇÛÉÛ¤¹¤ë¾ì¹ç¤Ë¤Ï¡¤ºÆÇÛÉÛ¤Ëȼ¤¦¥É¥­¥å¥á¥ó¥È¡ÊÍøÍÑ
+     ¼Ô¥Þ¥Ë¥å¥¢¥ë¤Ê¤É¡Ë¤Ë¡¤¾åµ­¤ÎÃøºî¸¢É½¼¨¡¤¤³¤ÎÍøÍѾò·ï¤ª¤è¤Ó²¼µ­
+     ¤Î̵Êݾڵ¬Äê¤ò·ÇºÜ¤¹¤ë¤³¤È¡¥
+ (3) ËÜ¥½¥Õ¥È¥¦¥§¥¢¤ò¡¤µ¡´ï¤ËÁȤ߹þ¤à¤Ê¤É¡¤Â¾¤Î¥½¥Õ¥È¥¦¥§¥¢³«È¯¤Ë»È
+     ÍѤǤ­¤Ê¤¤·Á¤ÇºÆÇÛÉÛ¤¹¤ë¾ì¹ç¤Ë¤Ï¡¤¼¡¤Î¤¤¤º¤ì¤«¤Î¾ò·ï¤òËþ¤¿¤¹¤³
+     ¤È¡¥
+   (a) ºÆÇÛÉÛ¤Ëȼ¤¦¥É¥­¥å¥á¥ó¥È¡ÊÍøÍѼԥޥ˥奢¥ë¤Ê¤É¡Ë¤Ë¡¤¾åµ­¤ÎÃø
+       ºî¸¢É½¼¨¡¤¤³¤ÎÍøÍѾò·ï¤ª¤è¤Ó²¼µ­¤Î̵Êݾڵ¬Äê¤ò·ÇºÜ¤¹¤ë¤³¤È¡¥
+   (b) ºÆÇÛÉۤηÁÂÖ¤ò¡¤Ê̤ËÄê¤á¤ëÊýË¡¤Ë¤è¤Ã¤Æ¡¤TOPPERS¥×¥í¥¸¥§¥¯¥È¤Ë
+       Êó¹ð¤¹¤ë¤³¤È¡¥
+ (4) ËÜ¥½¥Õ¥È¥¦¥§¥¢¤ÎÍøÍѤˤè¤êľÀÜŪ¤Þ¤¿¤Ï´ÖÀÜŪ¤ËÀ¸¤¸¤ë¤¤¤«¤Ê¤ë»
+     ³²¤«¤é¤â¡¤¾åµ­Ãøºî¸¢¼Ô¤ª¤è¤ÓTOPPERS¥×¥í¥¸¥§¥¯¥È¤òÌÈÀÕ¤¹¤ë¤³¤È¡¥
+
+ ËÜ¥½¥Õ¥È¥¦¥§¥¢¤Ï¡¤ÌµÊݾڤÇÄ󶡤µ¤ì¤Æ¤¤¤ë¤â¤Î¤Ç¤¢¤ë¡¥¾åµ­Ãøºî¸¢¼Ô¤ª
+ ¤è¤ÓTOPPERS¥×¥í¥¸¥§¥¯¥È¤Ï¡¤ËÜ¥½¥Õ¥È¥¦¥§¥¢¤Ë´Ø¤·¤Æ¡¤¤½¤ÎŬÍѲÄǽÀ­¤â
+ ´Þ¤á¤Æ¡¤¤¤¤«¤Ê¤ëÊݾڤâ¹Ô¤ï¤Ê¤¤¡¥¤Þ¤¿¡¤ËÜ¥½¥Õ¥È¥¦¥§¥¢¤ÎÍøÍѤˤè¤êľ
+ ÀÜŪ¤Þ¤¿¤Ï´ÖÀÜŪ¤ËÀ¸¤¸¤¿¤¤¤«¤Ê¤ë»³²¤Ë´Ø¤·¤Æ¤â¡¤¤½¤ÎÀÕǤ¤òÉé¤ï¤Ê¤¤¡¥
+
+ @(#) $Id: sh3.txt,v 1.36 2005/09/26 06:26:36 honda Exp $
+------------------------------------------------------------------------
+
+£±¡¥SH3/SH4 ¥¿¡¼¥²¥Ã¥È°Í¸Éô¤Î³µÍ×
+
+
+1.1 ¥¿¡¼¥²¥Ã¥È¥·¥¹¥Æ¥à¤È³«È¯´Ä¶­
+
+SH3/SH4 ¥×¥í¥»¥Ã¥µ¤Î¥¿¡¼¥²¥Ã¥È¥·¥¹¥Æ¥à¤È¤·¤Æ¤Ï¡¤SH7709A¡¤SH7729R¡¤
+SH7727¡¤SH7750¤òÅëºÜ¤·¤¿°Ê²¼¤Î¥Ü¡¼¥É¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¡¥¤Ê¤ª¡¤SH3-DSP 
+¤Î DSP µ¡Ç½¡¤SH4 ¤Î FPU ¤Ï¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¡¥¡Ê¥Ç¥£¥¹¥Ñ¥Ã¥Á»þµÚ¤Ó³ä¹þ
+¤ß¤ÎÆþ¤ê¸ý¤Ç´ØÏ¢¤¹¤ë¥ì¥¸¥¹¥¿¤òÊݸ¤·¤Æ¤¤¤Ê¤¤¡Ë
+
+¡¦(³ô)ÆüΩĶLSI¥·¥¹¥Æ¥à¥ºÀ½¤Î MS7709ASE01 ¥Ü¡¼¥É (CPU: SH7709A)
+¡¦(³ô)ÆüΩĶLSI¥·¥¹¥Æ¥à¥ºÀ½¤Î MS7729RSE01 ¥Ü¡¼¥É (CPU: SH7729R)
+¡¦(³ô)ÆüΩĶLSI¥·¥¹¥Æ¥à¥ºÀ½¤Î MS7750SE01  ¥Ü¡¼¥É (CPU: SH7750)
+¡¦(³ô)ÆüΩĶLSI¥·¥¹¥Æ¥à¥ºÀ½¤Î MS7727CP01  ¥Ü¡¼¥É (CPU: SH7727)
+
+¤Ê¤ª¡¤MS7709ASE01¡¤MS7729RSE01¡¤MS7750SE01¤Ï¡¤¥Ï¡¼¥É¥¦¥§¥¢¹½À®¤¬»÷Ä̤Ã
+¤Æ¤¤¤ë¤¿¤á¡¤ solution_engine ¤È¤¤¤¦Ì¾Á°¤Î¥·¥¹¥Æ¥à°Í¸Éô¤È¤·¤Æ¤Þ¤È¤á¤Æ
+¤¤¤ë¡¥ÀÚ¤êÂؤ¨¤Ï¡¤¥·¥¹¥Æ¥à°Í¸Éô¤Î Makefile.clonfig ¤Ç»ØÄꤹ¤ë¡¥°Ê²¼¡¤
+¤³¤ì¤é3¼ïÎà¤Î¥Ü¡¼¥É¤òÆä˶èÊ̤·¤Ê¤¤¾ì¹ç¤Ï¡¤Solution Engine ¤Èɽµ­¤¹¤ë¡¥
+
+³«È¯´Ä¶­¤Ë¤Ï¡¤GCC ¤Ê¤É¤Î GNU³«È¯´Ä¶­¤òÍѤ¤¡¤¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¥Õ¥©¡¼
+¥Þ¥Ã¥È¤Ï ELF ¤òɸ½à¤È¤¹¤ë¡¥
+
+Solution Engine ¤Ç¤Ï¼Â¹Ô´Ä¶­¤È¤·¤Æ¡¤GDB¥¹¥¿¥Ö¤òÍѤ¤¤ëÊýË¡¤È JTAG-ICE 
+¤òÍѤ¤¤ëÊýË¡¤ò¥µ¥Ý¡¼¥È¤¹¤ë¡¥GDB¥¹¥¿¥Ö¤Ï Toppers ¥×¥í¥¸¥§¥¯¥È¤Î¥Û¡¼¥à¥Ú¡¼
+¥¸¤«¤é¥À¥¦¥ó¥í¡¼¥É²Äǽ¤Ç¤¢¤ë¡¥JTAG-ICE¤È¤·¤Æ¤Ï¡¤µþÅÔ¥Þ¥¤¥¯¥í¥³¥ó¥Ô¥å¡¼
+¥¿À½¤ÎPARTNER-J¤Ç¤ÎÆ°ºî¤ò³Îǧ¤·¤Æ¤¤¤ë¡¥GDB¥¹¥¿¥Ö¤òÍѤ¤¤ë¾ì¹ç¤Ë¤Ï¡¤
+Makefile Ãæ¤Ç¡¤DBGENV ¤Ë GDB_STUB ¤òÀßÄꤹ¤ë¡Ê¥Ç¥Õ¥©¥ë¥È¡Ë¡¥PARTNER-J
+¤òÍѤ¤¤ë¾ì¹ç¤Ë¤Ï¡¤DBGENV¤Ë PARTNER_J ¤òÀßÄꤹ¤ë¡¥
+
+MS7727CP01 ¤Ç¤Ï¡¤T-Monitor ¤òÍѤ¤¤ëÊýË¡¤ÈJTAG-ICE¤òÍѤ¤¤ëÊýË¡¤ò¥µ¥Ý¡¼¥È
+¤¹¤ë¡¥¤Ê¤ª¡¤T-Monitor ¤ò»È¤Ã¤Æ¥Ç¥Ð¥Ã¥°¤¹¤ë¤³¤È¤ÏÉÔ²Äǽ¤Ç¤¢¤ê¡¤Ã±¤Ê¤ë¥í¡¼
+¥À¡¼¤È¤·¤ÆÍѤ¤¤ë¡¥¶ñÂÎŪ¤Ë¤Ï¡¤¥«¡¼¥Í¥ë¤òS¥ì¥³¡¼¥É¤ËÊÑ´¹¤·¡¤T-Monitor
+¤Ç¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¼Â¹Ô¤¹¤ë¡¥¥«¡¼¥Í¥ë½ªÎ»»þ¤Ï¡¤¥×¥í¥»¥Ã¥µ¤ò¥ê¥»¥Ã¥È¤¹¤ë¡¥
+
+
+1.2 ¥µ¥Ý¡¼¥È¤¹¤ëµ¡Ç½¤Î³µÍ×
+
+SH3 °Í¸¤Îµ¡Ç½¤È¤·¤Æ¡¤³ä¹þ¤ß¥Þ¥¹¥¯¤ÎÊѹ¹¡¦»²¾È(chg_ixx¡¤get_ixx)¤È¡¤À­
+ǽɾ²ÁÍÑ¥·¥¹¥Æ¥à»þ¹ï»²¾Èµ¡Ç½(vxget_tim)¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¡¥³ä¹þ¤ß¤Î¶Ø
+»ß¤Èµö²Ä(dis_int¡¤ena_int)¤Ï¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¡¥
+
+
+1.3 Â¾¤Î¥¿¡¼¥²¥Ã¥È¤Ø¤Î¥Ý¡¼¥Æ¥£¥ó¥°
+
+¸½¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¤SH7708 ¤òÍѤ¤¤¿¥·¥¹¥Æ¥à°Í¸Éô¤Ï¸ºß¤·¤Ê¤¤¡¥¤·¤«¤·¤Ê
+¤¬¤é¡¤¥×¥í¥»¥Ã¥µ°Í¸Éô¤Î¥³¡¼¥É¼«ÂΤϠSH7708 ¤ò¥µ¥Ý¡¼¥È¤¹¤ë¡¥¤½¤Î¤¿¤á¡¤
+SH7708¤ò¥µ¥Ý¡¼¥È¤¹¤ë¥·¥¹¥Æ¥à°Í¸Éô¤òºîÀ®¤¹¤ë¤³¤È¤ÏÍưפǤ¢¤ë¡¥¤½¤Î¾ì¹ç
+¤Ë¤Ï¡¤¥³¥ó¥Ñ¥¤¥ë¥ª¥×¥·¥ç¥ó¤â¤·¤¯¤Ï sys_defs.h ¤Ç SH7708 ¤òÄêµÁ¤¹¤ì¤Ð¤è
+¤¤¡¥
+
+
+1.4 ¥·¥ê¥¢¥ë¥Ý¡¼¥È
+
+¥«¡¼¥Í¥ë¤Î¥í¥°½ÐÎÏÍѤȤ·¤Æ¡¤Solution Engine ¤Ç¤Ï¥¹¡¼¥Ñ¡¼I/OÆâ¢
+SCI(CN3)¤ò 19200bps ¤Ç»ÈÍѤ¹¤ë¡¥MS7727CP01 ¤Ç¤Ï¡¤CPU¥Ü¡¼¥É¾å¤Î¥·¥ê¥¢¥ë
+¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥³¥Í¥¯¥¿¤ò 115200bps ¤Ç»ÈÍѤ¹¤ë¡¥¤Ê¤ª¡¤Á´¤Æ¤Î¥Ý¡¼¥È¤Ë¤ª
+¤¤¤Æ ¥Ç¡¼¥¿: 8bit,Parity:none,Stop:1bit¤Ç¤¢¤ë¡¥
+
+
+1.5 ¥¨¥ó¥Ç¥£¥¢¥ó
+
+³Æ¥¿¡¼¥²¥Ã¥È¤Ï¥Ç¥£¥Ã¥×¥¹¥¤¥Ã¥Á¤Ë¤è¤ê¥¨¥ó¥Ç¥£¥¢¥ó¤òÊѹ¹¤¹¤ë¤³¤È¤¬²Äǽ¤Ç
+¤¢¤ë¡¥¤³¤ì¤Ë¹ç¤ï¤»¤Æ¡¤¥«¡¼¥Í¥ë¤Î¥¨¥ó¥Ç¥£¥¢¥ó¤ÎÀßÄê¤Ï³Æ¥·¥¹¥Æ¥à°Í¸Éô¤Ç
+Êѹ¹²Äǽ¤Ç¤¢¤ë¡¥¥¨¥ó¥Ç¥£¥¢¥ó¤Ï°Ê²¼¤Î¸Ä½ê¤ÇÀßÄꤹ¤ë¡¥
+
+ ¡¦¥·¥¹¥Æ¥à°Í¸Éô¤Î Makefile.config 
+    ¥³¥ó¥Ñ¥¤¥ë¥ª¥×¥·¥ç¥ó -ml  or -mb
+    ¥ê¥ó¥«¥ª¥×¥·¥ç¥ó     -ml  or -mb
+    ¥ê¥ó¥«¥¹¥¯¥ê¥×¥È     shlelf.ld or shelf.ld
+
+ ¡¦¥·¥¹¥Æ¥àÄêµÁ
+    SIL_ENDIAN     SIL_ENDIAN_LITTLE or SIL_ENDIAN_BIG
+
+
+£²¡¥SH3 ¥×¥í¥»¥Ã¥µ°Í¸Éô¤Îµ¡Ç½
+
+¤³¤ÎÀá¤Ç¤Ï¡¤¥«¡¼¥Í¥ë¤ª¤è¤Ó¥·¥¹¥Æ¥à¥µ¡¼¥Ó¥¹¤Îµ¡Ç½¤ÎÃæ¤Ç¡¤SH3°Í¸¤ÎÉôʬ
+¤Ë¤Ä¤¤¤Æ²òÀ⤹¤ë¡¥
+
+
+2.1 ¥Ç¡¼¥¿·¿
+
+int·¿¤ª¤è¤Ó unsigned int·¿¤Î¥µ¥¤¥º¤Ï 32¥Ó¥Ã¥È¤Ç¤¢¤ë¡¥
+
+
+2.2 ³ä¹þ¤ß´ÉÍýµ¡Ç½¤È³ä¹þ¤ß¥Ï¥ó¥É¥é
+
+¥«¡¼¥Í¥ë´ÉÍý³°¤Î³ä¹þ¤ß¤È¤·¤Æ¤Ï¡¤ NMI ¤¬¤¢¤ë¡¥¤è¤Ã¤Æ¡¤CPU¥í¥Ã¥¯¾õÂÖ¤ä½é
+´ü²½¥ë¡¼¥Á¥óÆâ¤Ç¤Ï¡¤NMI °Ê³°¤Î³ä¹þ¤ß¤Ï¤¹¤Ù¤Æ¶Ø»ß¤µ¤ì¤Æ¤¤¤ë¡¥¶ñÂÎŪ¤Ë¤Ï¡¤
+IPM(Interrupt Priority Mask)¤¬ 15 ¤ËÀßÄꤵ¤ì¤ë¡¥¤·¤«¤·¤Ê¤¬¤é¡¤¥Ü¡¼¥É¾å
+¤Ë NMI ÆþÎϤò»ý¤¿¤Ê¤¤¥¿¡¼¥²¥Ã¥È¤Î¤¿¤á¡¤GDB¥¹¥¿¥Ö¤¬¥Û¥¹¥È¤Î¥Þ¥·¥ó¤ÈÄÌ¿®
+¤¹¤ë¤¿¤á¤Î¥·¥ê¥¢¥ë¥Ý¡¼¥È¤ÎÍ¥ÀèÅÙ¤ò 15 ¤ÇÅÐÏ¿¤·¡¤GDB ¤Ç Ctrl-C ¤ò²¡¤¹¤È 
+³ä¤ê¹þ¤ß¤¬Æþ¤ê¥¹¥¿¥Ö¤ËÀ©¸æ¤¬°Ü¤ë¤è¤¦¤Ë¤·¤Æ¤¢¤ë¡¥¤³¤Îµ¡Ç½¤ò»ÈÍѤ¹¤ë¤¿¤á
+¤Ë¤ÏCPU¥í¥Ã¥¯¾õÂ֤Ǥϡ¤Í¥ÀèÅÙ¤¬ 14 ¤Ë¤Ê¤ë¤è¤¦¤Ë¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡¥¤½
+¤Î¤¿¤á¡¤CPU¥í¥Ã¥¯¤ÇÀßÄꤵ¤ì¤ëÍ¥ÀèÅÙ¤ò¥Þ¥¯¥í¤Ç MAX_IPM ¤Ç»ØÄꤷ¤Æ¤¤¤ë¡¥
+MAX_IPM ¤Ïcpu_config.h ¤ÎÃæ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡¥GDB¥¹¥¿¥Ö¤ò»È¤¦¾ì¹ç¤Ï 14 
+¤ËGDB¥¹¥¿¥Ö¤ò»È¤ï¤Ê¤¤¾ì¹ç¤Ï 15 ¤ËÀßÄꤷ¤Æ¤¤¤ë¡¥
+
+DEF_INH ¤Ç»ØÄꤹ¤ë³ä¹þ¤ß¥Ï¥ó¥É¥éÈÖ¹æ(inhno)¤Ï¡¤SH7708/50 ¤Ç¤Ï¡¤³ä¤ê¹þ
+¤ß»ö¾Ý¥ì¥¸¥¹¥¿(INTEVT)¤ËÀßÄꤵ¤ì¤ë¥³¡¼¥É¤Ç¤¢¤ê¡¤SH7709A/09/29R/27 ¤Ç¤Ï¡¤
+³ä¤ê¹þ¤ß»ö¾Ý¥ì¥¸¥¹¥¿2(INTEVT2)¤ËÀßÄꤵ¤ì¤ë¥³¡¼¥É¤Ç¤¢¤ë¡¥¥Ç¡¼¥¿·¿
+(INHNO)¤Ï unsigned int·¿¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡¥DEF_INH ¤Ç¡¤INTEVT,INTEVT2¥³¡¼
+¥É¤È¤·¤ÆÍ­¸ú¤Ç¤Ê¤¤Ãͤ䡤³°Éô³ä¹þ¤ß¤ËÂбþ¤·¤Ê¤¤ÈÖ¹æ¤ò»ØÄꤷ¤¿¾ì¹ç¤ÎÆ°ºî
+¤ÏÊݾڤµ¤ì¤Ê¤¤¡¥
+
+SH3°Í¸¤Îµ¡Ç½¤È¤·¤Æ¡¤SR(Status Register)Ãæ¤Î ³ä¤ê¹þ¤ß¥Þ¥¹¥¯¥Ó¥Ã¥È(I3¡Á
+I0)¤ÎÃͤòÊѹ¹¤¹¤ë¤¿¤á¤Î¥µ¡¼¥Ó¥¹¥³¡¼¥ë chg_ipm ¤È¡¤»²¾È¤¹¤ë¤¿¤á¤Î¥µ¡¼¥Ó
+¥¹¥³¡¼¥ë get_ipm ¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¡¥¤Ê¤ª¡¤³ä¤ê¹þ¤ß¥Þ¥¹¥¯¥Ó¥Ã¥È¤ÎÃͤò
+ɽ¤¹¥Ç¡¼¥¿·¿ IPM ¤Ï¡¤unsigned int·¿¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡¥
+
+¤³¤ì¤é¤Î¥µ¡¼¥Ó¥¹¥³¡¼¥ë¤Ï¡¤¥¿¥¹¥¯¥³¥ó¥Æ¥­¥¹¥È¤Ç CPU¥í¥Ã¥¯²ò½ü¾õÂ֤ξì¹ç
+¤Ë¤Î¤ß¸Æ¤Ó½Ð¤¹¤³¤È¤¬¤Ç¤­¤ë¡¥chg_ipm ¤Ë¤è¤ê IPM ¤ò 0 °Ê³°(¤¹¤Ê¤ï¤Á¡¤²¿
+¤é¤«¤Î³ä¹þ¤ß¤¬¶Ø»ß¤µ¤ì¤Æ¤¤¤ë¾õÂÖ)¤Ë¤·¤¿¾ì¹ç¤Ç¤â¡¤¥Ç¥£¥¹¥Ñ¥Ã¥Á¤Ï¶Ø»ß¤µ
+¤ì¤º¡¤chg_ipm ¤Ë¤è¤êÊѹ¹¤·¤¿ IPM ¤ÎÃͤϡ¤¥Ç¥£¥¹¥Ñ¥Ã¥Á¸å¤Î¥¿¥¹¥¯¤Ë°ú¤­
+·Ñ¤¬¤ì¤ë¡¥Î㤨¤Ð¡¤¤¢¤ë¥¿¥¹¥¯¤Ç IPM ¤ò 1 ¤ËÊѹ¹¤·¤¿¸å¡¤²¿¤é¤«¤Î³ä¹þ¤ß¤Ë
+¤è¤êÊ̤Υ¿¥¹¥¯¤ËÀÚ¤êÂؤï¤ë¤È¡¤ÀÚ¤êÂؤï¤Ã¤¿¸å¤Î¥¿¥¹¥¯¤Ç¤â IPM ¤Ï 1 ¤Ë¤Ê
+¤ë¡¥
+
+chg_ipm ¤ò¥µ¥Ý¡¼¥È¤¹¤ë¤¿¤á¤Ë¡¤³ä¹þ¤ß¥Ï¥ó¥É¥é¤Î½ÐÆþ¸ý½èÍý¤Ê¤É¤Ë¥ª¡¼¥Ð¥Ø¥Ã
+¥É¤òÀ¸¤¸¤Æ¤¤¤ë¡¥¤½¤³¤Ç¡¤SUPPORT_CHG_IPM ¤È¤¤¤¦¥Þ¥¯¥í¤Ë¤è¤ê¡¤¤³¤ì¤é¤Î¥µ¡¼
+¥Ó¥¹¥³¡¼¥ë¤ò¥µ¥Ý¡¼¥È¤¹¤ë¤«¤É¤¦¤«¤òÀÚ¤êÂؤ¨¤é¤ì¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤ë¡¥
+SUPPORT_CHG_IPM ¤Ï¡¤cpu_config.h ¤ÎÃæ¤Ç #define ¤µ¤ì¤Æ¤¤¤ë¡¥
+
+SH3°Í¸¤Î³ä¹þ¤ß¥Þ¥¹¥¯¤ÎÊѹ¹¡¦»²¾È¤Î¤¿¤á¤Î¥µ¡¼¥Ó¥¹¥³¡¼¥ë¤Î»ÅÍͤϼ¡¤Î
+Ä̤ꡥ
+
+
+(1) chg_ipm                     ³ä¹þ¤ß¥Þ¥¹¥¯¤ÎÊѹ¹
+
+¡ÚC¸À¸ìAPI¡Û
+        ER ercd = chg_ipm(IPM ipm);
+
+¡Ú¥Ñ¥é¥á¡¼¥¿¡Û
+        IPM     ipm             ÀßÄꤹ¤Ù¤­ IPM ¤ÎÃÍ
+
+¡Ú¥ê¥¿¡¼¥ó¥Ñ¥é¥á¡¼¥¿¡Û
+        ER      ercd            ¥¨¥é¡¼¥³¡¼¥É
+
+¡Ú¥¨¥é¡¼¥³¡¼¥É¡Û
+        E_CTX           ¥³¥ó¥Æ¥­¥¹¥È¥¨¥é¡¼
+        E_PAR           ¥Ñ¥é¥á¡¼¥¿¥¨¥é¡¼(ipm ¤¬ÉÔÀµ)
+
+¡Úµ¡Ç½¡Û
+
+IPM(Interrupt Priority Mask)¤ò ipm ¤Ç»ØÄꤵ¤ì¤¿ÃͤËÀßÄꤹ¤ë¡¥»ØÄꤷ¤¿
+Ãͤ¬ 0¡Á13¤Ê¤¤¤·14°Ê³°¤Î¾ì¹ç¡¤E_PAR¥¨¥é¡¼¤È¤Ê¤ë¡¥IPM ¤ò 1¡ÁMAX_IPM -1 
+¤ËÀßÄꤷ¤¿¾ì¹ç¤Ç¤â¡¤¥Ç¥£¥¹¥Ñ¥Ã¥Á¤Ï¶Ø»ß¤µ¤ì¤Ê¤¤¡¥¤Þ¤¿¡¤ÀßÄꤷ¤¿ IPM ¤Î
+Ãͤϡ¤¥Ç¥£¥¹¥Ñ¥Ã¥Á¸å¤â°ú¤­·Ñ¤¬¤ì¤ë¡¥
+
+¤Ê¤ª¡¤¤³¤Î¥µ¡¼¥Ó¥¹¥³¡¼¥ë¤òÍѤ¤¤Æ¡¤IPM ¤ò MAX_IPM (¤¹¤Ù¤Æ¤Î³ä¹þ¤ß¤ò¶Ø»ß)
+¤ËÀßÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡¥IPM ¤ò MAX_IPM ¤Ë¤·¤¿¤¤¾ì¹ç¤Ë¤Ï¡¤loc_cpu ¤ò
+»È¤¦¤Ù¤­¤Ç¤¢¤ë¡¥
+
+¤³¤Î¥µ¡¼¥Ó¥¹¥³¡¼¥ë¤Ï¡¤¥¿¥¹¥¯¥³¥ó¥Æ¥­¥¹¥È¤Ç CPU¥í¥Ã¥¯²ò½ü¾õÂ֤λþ¤Î¤ß¸Æ
+¤Ó½Ð¤¹¤³¤È¤¬¤Ç¤­¤ë¡¥È󥿥¹¥¯¥³¥ó¥Æ¥­¥¹¥È¤ä CPU¥í¥Ã¥¯¾õÂ֤ǸƤӽФ·¤¿¾ì
+¹ç¤Ë¤Ï¡¤E_CTX¥¨¥é¡¼¤È¤Ê¤ë¡¥
+
+
+(2) get_ipm                     ³ä¹þ¤ß¥Þ¥¹¥¯¤Î»²¾È
+
+¡ÚC¸À¸ìAPI¡Û
+        ER ercd = get_ipm(IPM *p_ipm);
+
+¡Ú¥Ñ¥é¥á¡¼¥¿¡Û
+        ¤Ê¤·
+
+¡Ú¥ê¥¿¡¼¥ó¥Ñ¥é¥á¡¼¥¿¡Û
+        ER      ercd            ¥¨¥é¡¼¥³¡¼¥É
+        IPM     ipm             ¸½ºß¤Î IPM ¤ÎÃÍ
+
+¡Ú¥¨¥é¡¼¥³¡¼¥É¡Û
+        E_CTX           ¥³¥ó¥Æ¥­¥¹¥È¥¨¥é¡¼
+
+¡Úµ¡Ç½¡Û
+
+¸½ºß¤Î IPM(Interrupt Priority Mask)¤ÎÃͤòÆɤ߽Ф·¡¤ipm ¤ËÊÖ¤¹¡¥
+
+¤³¤Î¥µ¡¼¥Ó¥¹¥³¡¼¥ë¤Ï¡¤¥¿¥¹¥¯¥³¥ó¥Æ¥­¥¹¥È¤Ç CPU¥í¥Ã¥¯²ò½ü¾õÂ֤λþ¤Î¤ß¸Æ
+¤Ó½Ð¤¹¤³¤È¤¬¤Ç¤­¤ë¡¥È󥿥¹¥¯¥³¥ó¥Æ¥­¥¹¥È¤ä CPU¥í¥Ã¥¯¾õÂ֤ǸƤӽФ·¤¿¾ì
+¹ç¤Ë¤Ï¡¤E_CTX¥¨¥é¡¼¤È¤Ê¤ë¡¥
+
+
+2.3 CPUÎã³°´ÉÍýµ¡Ç½¤ÈCPUÎã³°¥Ï¥ó¥É¥é
+
+DEF_EXC ¤Ç»ØÄꤹ¤ë³ä¹þ¤ß¥Ï¥ó¥É¥éÈÖ¹æ(excno)¤Ï¡¤SH3 ¤Ç¤Î Îã³°»ö¾Ý¥ì¥¸¥¹
+¥¿¤ËÀßÄꤵ¤ì¤ëÎã³°¥³¡¼¥ÉÈÖ¹æ¤òɽ¤·¡¤¤½¤Î¥Ç¡¼¥¿·¿(EXCNO)¤Ï unsigned int
+·¿¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡¥DEF_EXC ¤Ç¡¤Îã³°¥³¡¼¥ÉÈÖ¹æ¤È¤·¤ÆÍ­¸ú¤Ç¤Ê¤¤Ãͤ䡤
+CPUÎã³°¤ËÂбþ¤·¤Ê¤¤ÈÖ¹æ¤ò»ØÄꤷ¤¿¾ì¹ç¤ÎÆ°ºî¤ÏÊݾڤµ¤ì¤Ê¤¤¡¥
+
+CPUÎã³°¥Ï¥ó¥É¥é¤ËÅϤµ¤ì¤ëp_excinf¤Ï¡¤CPUÎ㳰ȯÀ¸»þ¤Î¥³¥ó¥Æ¥­¥¹¥È¤òÊݸ
+¤·¤¿¥¹¥¿¥Ã¥¯¤Ø¤Î¥Ý¥¤¥ó¥¿¤¬ÅϤµ¤ì¤ë¡¥¥¹¥¿¥Ã¥¯¤Î¹½Â¤¤ò°Ê²¼¤Ë¼¨¤¹¡¥
+
+offset
+          ----------------------
+         |         R7           |  <-- p_excinf
+          ----------------------
+  1      |         R6           |
+          ----------------------
+  2      |         R5           |
+          ----------------------
+  3      |         R4           |
+          ----------------------
+  4      |         R3           |
+          ----------------------
+  5      |         R2           |
+          ----------------------
+  6      |         R1           |
+          ----------------------
+  7      |         R0           |
+          ----------------------
+  8      |        MACH          |
+          ----------------------
+  9      |        MACL          |
+          ----------------------
+ 10      |        GBR           |
+          ----------------------
+ 11      |         SR           |
+          ----------------------
+ 12      |         PR           |
+          ----------------------
+ 13      |         PC           |
+          ----------------------
+
+¤Þ¤¿¡¤CPUÎ㳰ȯÀ¸»þ¤ÎPC¤ÎÃͤÏȯÀ¸Îã³°Í×°ø¤Ë±þ¤¸¤ÆCPU¤Ë¤è¤ê¥¤¥ó¥¯¥ê¥á¥ó
+¥È¤µ¤ì¤ë¾ì¹ç¤ä¡¤¤µ¤ì¤º¤Ë¥ê¥È¥é¥¤¤¹¤ë¾ì¹ç¤¬¤¢¤ë¡¥¤½¤Î¤¿¤á¡¤PC¤ÎÃͤòÊѹ¹
+¤·¤¿¤¤¾ì¹ç¤Ï¡¤CPUÎã³°¥Ï¥ó¥É¥é¤Ç¡¤p_excinf¤ò¸µ¤ËPC¤ÎÃͤòÊѹ¹¤¹¤ì¤Ð¤è¤¤¡¥
+
+
+
+2.4 ¥¹¥¿¡¼¥È¥¢¥Ã¥×¥â¥¸¥å¡¼¥ë
+
+SH3°Í¸¤Î¥¹¥¿¡¼¥È¥¢¥Ã¥×¥â¥¸¥å¡¼¥ë(start.S)¤Ç¤Ï¡¤¼¡¤Î½é´ü²½½èÍý¤ò¹Ô¤¦¡¥
+
+(A) ¥×¥í¥»¥Ã¥µ¥â¡¼¥É¤Î½é´ü²½¤È¥¹¥¿¥Ã¥¯¥Ý¥¤¥ó¥¿¤Î½é´ü²½
+
+ºÇ½é¤Ë¡¤¤¹¤Ù¤Æ¤Î¥­¥ã¥Ã¥·¥å¤ò̵¸ú²½¤·¤¿¸å¡¤¥­¥ã¥Ã¥·¥å¤ò¥é¥¤¥È¥¹¥ë¡¼¥â¡¼
+¥É¤ËÀßÄꤷ¡¤Í­¸ú¤Ë¤¹¤ë¡¥¤Þ¤¿¡¤¥×¥í¥»¥Ã¥µ¤Î¥â¡¼¥É¤ò¡¤Æø¢¥â¡¼¥É¡¤¥ì¥¸¥¹
+¥¿¥Ð¥ó¥¯1¤ËÀßÄꤷ¡¤³ä¤ê¹þ¤ß¥Þ¥¹¥¯¤ò MAX_IPM ¤ËÀßÄꤹ¤ë¡¥
+
+
+¼¡¤Ë¡¤¥¹¥¿¥Ã¥¯¥Ý¥¤¥ó¥¿(r15)¤ò STACKTOP ¤ËÀßÄꤹ¤ë¡¥¤³¤³¤Ç³ä¹þ¤ß¥¹¥¿¥Ã
+¥¯¥Ý¥¤¥ó¥¿¤ËÀßÄꤵ¤ì¤¿¥¹¥¿¥Ã¥¯Îΰè¤Ï¡¤¥«¡¼¥Í¥ëµ¯Æ°¸å¤ÏÈ󥿥¹¥¯¥³¥ó¥Æ¥­
+¥¹¥ÈÍѤΥ¹¥¿¥Ã¥¯Îΰè¤È¤·¤Æ»È¤ï¤ì¤ë¡¥STACKTOP ¤Ï¡¤sys_config.h Éô¤ÇÄêµÁ
+¤¹¤ë¤³¤È¤òÁÛÄꤷ¤Æ¤¤¤ë¡¥
+
+(B) hardware_init_hook ¤Î¸Æ½Ð¤·
+
+hardware_init_hook ¤¬ 0 ¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¤hardware_init_hook ¤ò¸Æ¤Ó½Ð¤¹¡¥
+hardware_init_hook ¤Ï¡¤¥«¡¼¥Í¥ë¤¬µ¯Æ°¤µ¤ì¤ëÁ°¤Ë¹Ô¤¦É¬Íפ¬¤¢¤ë¥¿¡¼¥²¥Ã
+¥È°Í¸¤Î½é´ü²½¤ò¹Ô¤¦¤¿¤á¤ËÍÑ°Õ¤·¤Æ¤¤¤ë¡¥hardware_init_hook ¤¬¤É¤³¤Ç¤â
+ÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¤¥ê¥ó¥«¤Ç¤³¤Î¥·¥ó¥Ü¥ë¤ò 0 ¤ËÄêµÁ¤¹¤ë(¥ê¥ó¥«¥¹¥¯
+¥ê¥×¥ÈÆâ¤Ëµ­½Ò¤¢¤ê)¡¥
+
+(C) bss¥»¥¯¥·¥ç¥ó¤È data¥»¥¯¥·¥ç¥ó¤Î½é´ü²½
+
+bss¥»¥¯¥·¥ç¥ó¤ò¥¼¥í¥¯¥ê¥¢¤¹¤ë¡¥¤Þ¤¿¡¤data¥»¥¯¥·¥ç¥ó¤ò½é´ü²½¤¹¤ë¡¥
+
+(D) software_init_hook ¤Î¸Æ½Ð¤·
+
+software_init_hook ¤¬ 0 ¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¤software_init_hook ¤ò¸Æ¤Ó½Ð¤¹¡¥
+software_init_hook ¤Ï¡¤¥«¡¼¥Í¥ë¤¬µ¯Æ°¤µ¤ì¤ëÁ°¤Ë¹Ô¤¦É¬Íפ¬¤¢¤ë¥½¥Õ¥È¥¦¥§
+¥¢´Ä¶­(¶ñÂÎŪ¤Ë¤Ï¡¤¥é¥¤¥Ö¥é¥ê)°Í¸¤Î½é´ü²½¤ò¹Ô¤¦¤¿¤á¤ËÍÑ°Õ¤·¤Æ¤¤¤ë¡¥
+software_init_hook ¤¬¤É¤³¤Ç¤âÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¤¥ê¥ó¥«¤Ç¤³¤Î¥·¥ó¥Ü
+¥ë¤ò 0 ¤ËÄêµÁ¤¹¤ë(¥ê¥ó¥«¥¹¥¯¥ê¥×¥ÈÆâ¤Ëµ­½Ò¤¢¤ê)¡¥
+
+(E) ¥«¡¼¥Í¥ë¤Îµ¯Æ°
+
+kernel_start ¤Øʬ´ô¤·¡¤¥«¡¼¥Í¥ë¤òµ¯Æ°¤¹¤ë¡¥kernel_start ¤«¤é¥ê¥¿¡¼¥ó¤·
+¤Æ¤¯¤ë¤³¤È¤ÏÁÛÄꤷ¤Æ¤¤¤Ê¤¤¡¥
+
+
+2.5 ¥ì¥¸¥¹¥¿¥Ð¥ó¥¯
+
+Îã³°¥Ï¥ó¥É¥é¤ÎÆþ¸ý¤ò½ü¤­´ðËÜŪ¤Ë¥ì¥¸¥¹¥¿¥Ð¥ó¥¯0¤ò»ÈÍѤ·¤Æ¤¤¤ë¡¥¥ì¥¸¥¹
+¥¿¥Ð¥ó¥¯1¤Ï r7 ¤Î¤ßÎã³°/³ä¤ê¹þ¤ß¤Î¥Í¥¹¥È²ó¿ô¤Î¥«¥¦¥ó¥ÈÍѤ˻ÈÍѤ·¤Æ¤¤¤ë¡¥
+È󥿥¹¥¯¥³¥ó¥Æ¥­¥¹¥È¤È¥¿¥¹¥¯¥³¥ó¥Æ¥­¥¹¥È¤ÎȽÊ̤Ϥ³¤Î¥ì¥¸¥¹¥¿¤Ë¤è¤ê¹Ô¤Ã
+¤Æ¤¤¤ë¡¥¤Ê¤ª¡¤¥¹¥¿¥Ö¤Ï¥ì¥¸¥¹¥¿¥Ð¥ó¥¯1¤ÎR0¤ÈR1¤ò»ÈÍѤ¹¤ë¤¿¤á¡¤¤³¤Î¥ì¥¸
+¥¹¥¿¤Ë½ñ¤­¹þ¤ó¤À¥Ç¡¼¥¿¤Ï¥¹¥¿¥Ö¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¤ÈÇ˲õ¤µ¤ì¤ë¡¥
+
+
+2.6 MACH¡¤MACL¡¤GBR
+
+gcc¤Ç¤Ï¡¤MACH¡¤MACL¡¤GBR¤Ï¤¹¤Ù¤Æ¥¹¥¯¥é¥Ã¥Á¥ì¥¸¥¹¥¿¤È¤·¤Æ°·¤ï¤ì¤ë¤¿¤á¡¤
+´Ø¿ô¸Æ¤Ó½Ð¤·¤ÎÁ°¸å¤Ç¤ÏÃͤÏÊݾڤµ¤ì¤Ê¤¤¡¥¤½¤Î¤¿¤á¡¤Îã³°/³ä¹þ¤ßȯÀ¸»þ¤Ë
+¤Ï¡¤¥¹¥¯¥é¥Ã¥Á¥ì¥¸¥¹¥¿¤Ç¤¢¤ëÈÆÍѥ쥸¥¹¥¿R0¡ÁR7¤ÈƱÍͤËÊݸ¤·¤Æ¤¤¤ë¡¥
+¤Þ¤¿¡¤¼«¤é¥Ç¥£¥¹¥Ñ¥Ã¥Á¥ã¤ò¸Æ¤Ó½Ð¤·¤¹¾ì¹ç¤Ï¡¤´Ø¿ô¸Æ¤Ó½Ð¤·¤Ë¤Ê¤ë¤¿¤á¡¤ÊÝ
+¸¤·¤Æ¤¤¤Ê¤¤¡¥¥¢¥»¥ó¥Ö¥é¤Î¥³¡¼¥É¤ò»ÈÍѤ¹¤ë¾ì¹ç¤â¤³¤Î¥ë¡¼¥ë¤Ë½¾¤¦É¬Íפ¬
+¤¢¤ë¡¥
+
+
+2.7 ³ä¹þ¤ß¥Ï¥ó¥É¥é¼Â¹Ô»þ¤Î³ä¹þ¤ß¥Þ¥¹¥¯
+
+SH3¤Ï³ä¹þ¤ßȯÀ¸»þ¡¤³ä¹þ¤ß¥Þ¥¹¥¯¥Ó¥Ã¥È(I3¡ÁI0)¤Ï¥×¥í¥»¥Ã¥µ¤Ë¤è¤Ã¤Æ¼«Æ°
+Ū¤ËÀßÄꤵ¤ì¤Ê¤¤¤¿¤á¡¤¥½¥Õ¥È¥¦¥§¥¢¤Ë¤è¤Ã¤ÆÀßÄꤹ¤ëɬÍפ¬¤¢¤ë¡¥³ä¹þ¤ß¥Ï
+¥ó¥É¥é¼Â¹Ô»þ¤ËÀßÄꤹ¤ë³ä¹þ¤ß¥Þ¥¹¥¯¥Ó¥Ã¥È¤ò¥«¡¼¥Í¥ë¤Ë»ØÄꤹ¤ë¥µ¡¼¥Ó¥¹¥³¡¼
+¥ë¤È¤·¤Ædefine_int_plevel() ¤òÍÑ°Õ¤·¤Æ¤¤¤ë¡¥¤³¤Î¥µ¡¼¥Ó¥¹¥³¡¼¥ë¤Î»ÈÍѤÏ
+¼¡¤ÎÄ̤ꡥ¤Ê¤ª¡¤define_int_plvel()¤Ë¤è¤ê³ä¹þ¤ß¥Þ¥¹¥¯¥Ó¥Ã¥È¤ò»ØÄꤷ¤Ê¤±
+¤ì¤Ð³ä¹þ¤ß¥Ï¥ó¥É¥é¤Ï¥Ç¥£¥Õ¥©¥ë¥È¤Î MAX_IPM -1 ¤Î¥Þ¥¹¥¯¤Ç¼Â¹Ô¤µ¤ì¤ë¡¥
+
+ define_int_plevel  ³ä¹þ¤ß¥Ï¥ó¥É¥é¼Â¹Ô»þ¤Î³ä¹þ¤ß¥Þ¥¹¥¯¥Ó¥Ã¥È¤Î»ØÄê
+
+¡ÚC¸À¸ìAPI¡Û
+  void define_int_plevel(UINT dintno, UW plevel)
+
+¡Ú¥Ñ¥é¥á¡¼¥¿¡Û
+  dintno    ³ä¹þ¤ßÈÖ¹æ
+  plevel    ³ä¹þ¤ß¥ì¥Ù¥ë
+
+¡Úµ¡Ç½¡Û
+  dintno ¤Ç»ØÄꤷ¤¿³ä¹þ¤ßÈÖ¹æ¤Î³ä¹þ¤ß¥Ï¥ó¥É¥é¤¬¼Â¹Ô¤µ¤ì¤ë¾ì¹ç¤Î³ä¹þ¤ß
+  ¥Þ¥¹¥¯¤ò plevel ¤Ë¤¹¤ë¡¥
+
+
+£³¡¥¥·¥¹¥Æ¥à°Í¸Éô¤Îµ¡Ç½
+
+3.1 ¥·¥¹¥Æ¥à¥¯¥í¥Ã¥¯¥É¥é¥¤¥Ð
+
+¥·¥¹¥Æ¥à¥¯¥í¥Ã¥¯¥É¥é¥¤¥Ð¤¬ isig_tim ¤ò¸Æ¤Ó½Ð¤¹¼þ´ü¤Ï¡¤sys_defs.h Ãæ¤Î 
+TIC_NUME ¤È TIC_DENO ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë(ɸ½à¤Ï 1¥ß¥êÉüþ´ü)¡¥¤³¤ÎÄêµÁ
+¤òÊѹ¹¤¹¤ë¤³¤È¤Ç¡¤isig_tim ¤ò¸Æ¤Ó½Ð¤¹¼þ´ü¤òÊѹ¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡¥¤¿¤À
+¤·¡¤¥¿¥¤¥Þ¤ÎÀºÅÙ¤¬ 1¦ÌÉäǤ¢¤ë¤¿¤á¡¤1¦ÌÉÃñ°Ì¤Çü¿ô¤Ë¤Ê¤ëÃͤòÀßÄꤷ¤¿
+¾ì¹ç¤Ë¤Ï¡¤isig_tim ¤Î¸Æ½Ð¤·¼þ´ü¤Ë¸íº¹¤¬À¸¤¸¤ë¤³¤È¤Ë¤Ê¤ë¡¥
+
+3.2 À­Ç½É¾²ÁÍÑ¥·¥¹¥Æ¥à»þ¹ï»²¾Èµ¡Ç½
+
+SH3°Í¸Éô¤Ç¤Ï¡¤À­Ç½É¾²ÁÍÑ¥·¥¹¥Æ¥à»þ¹ï»²¾Èµ¡Ç½(vxget_tim)¤ò¥µ¥Ý¡¼¥È¤·¤Æ
+¤¤¤ë¡¥À­Ç½É¾²ÁÍÑ¥·¥¹¥Æ¥à»þ¹ï¤ÎÀºÅ٤Ϡ1¦ÌÉÃñ°Ì¤Ç¤¢¤ë¤¬¡¤¥¿¥¤¥Þ¤Î¸½ºßÃÍ
+¤òÆɤ߽Ф¹¤¿¤á¤Ë°ì»þŪ¤Ë¥¿¥¤¥Þ¤òÄä»ß¤µ¤»¤ëɬÍפ¬¤¢¤ë¤¿¤á¡¤vxget_tim ¤ò
+¸Æ¤ÖÅ٤˥·¥¹¥Æ¥à¥¯¥í¥Ã¥¯¤¬¾¯¤·¤Å¤ÄÃÙ¤ì¤ë¤³¤È¤Ë¤Ê¤ë¡¥¤Ê¤ª¡¤SYSUTIM·¿¤Ï 
+UD·¿(64¥Ó¥Ã¥È¤ÎÉä¹æ̵¤·À°¿ô·¿)¤ËÄêµÁ¤·¤Æ¤¤¤ë¡¥
+
+3.3 ¥·¥ê¥¢¥ë¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥É¥é¥¤¥Ð
+
+
+Solution_Engine ¤Î¥·¥ê¥¢¥ë¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥É¥é¥¤¥Ð¤Ï¡¤¥¹¡¼¥Ñ¡¼I/OÆâ¢
+SCI(CN3) ¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¡¥¤Þ¤¿¡¤MS7727CP01¤Î¥·¥ê¥¢¥ë¥¤¥ó¥¿¥Õ¥§¡¼¥¹
+¥É¥é¥¤¥Ð¤Ï¡¤ST16C2550CQ48 ¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¡¥
+
+3.4 ¥á¥â¥ê¥Þ¥Ã¥×
+
+¥³¡¼¥ÉÎΰè¤È¥Ç¡¼¥¿Îΰè¤Ï³Æ¥·¥¹¥Æ¥à°Í¸Éô¤Î Makefile.config ¤Ç¡¤¥¹¥¿¥Ã
+¥¯¤Î½é´üÃͤϡ¤sys_defs.h ¤ÇÀßÄꤹ¤ë¡¥
+
+¡¦Solution Engine
+  ¥³¡¼¥ÉÎΰè¤ò 0x0c003000 ¡Á 0x0c0fffff Ìó1MB¡¤¥Ç¡¼¥¿Îΰè¤ò 0x0c100000 
+  ¡Á ¤ÎÌó3MB¡¤È󥿥¹¥¯¥³¥ó¥Æ¥­¥¹¥ÈÍѤΥ¹¥¿¥Ã¥¯Îΰè¤ò ¡Á0x0c3fffff ¤Ë³Î
+  Êݤ·¤Æ¤¤¤ë¡¥0x0c000000 ¡Á 0x0c000fff ¤Ï¡¤GDB¥¹¥¿¥Ö¤Î¥ï¡¼¥¯¥¨¥ê¥¢¤È¤Ê¤Ã
+  ¤Æ¤ª¤ê¡¤»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¡¥
+
+
+¡¦MS7727CP01
+  ¥³¡¼¥ÉÎΰè¤ò 0x0c003000 ¡Á 0x0c0fffff Ìó1MB¡¤¥Ç¡¼¥¿Îΰè¤ò 0x0c100000 
+  ¡Á ¤ÎÌó3MB¡¤È󥿥¹¥¯¥³¥ó¥Æ¥­¥¹¥ÈÍѤΥ¹¥¿¥Ã¥¯Îΰè¤ò ¡Á0x0c3fffff ¤Ë³Î
+  Êݤ·¤Æ¤¤¤ë¡¥0x0c000000 ¡Á 0x0c002fff ¤Ï¡¤ROM¥â¥Ë¥¿¤Î¥ï¡¼¥¯¥¨¥ê¥¢¤È¤Ê¤Ã
+  ¤Æ¤ª¤ê¡¤»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¡¥
+
+
+£´¡¥³«È¯´Ä¶­¤Î¹½ÃÛ
+
+³«È¯´Ä¶­¤Î¹½ÃÛÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¡¤GNU³«È¯´Ä¶­¹½Ãۥޥ˥奢¥ë¤ò»²¾È¤Î¤³¤È¡¥
+
+
+4.1 ³«È¯´Ä¶­¤Î¥Ð¡¼¥¸¥ç¥ó
+Æ°ºî³Îǧ¤·¤¿¥Ä¡¼¥ë¤Î¥Ð¡¼¥¸¥ç¥ó¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¢¤ë¡¥
+
+    BINUTILS : 2.10.1
+    GCC-CORE : 2.95.3
+    GDB      : 4.18
+    NEWLIB   : 1.9.0
+
+¤ÎÁȤ߹ç¤ï¤»¤â¤·¤¯¤Ï
+
+    BINUTILS : 2.14
+    GCC-CORE : 3.3
+    GDB      : 5.3
+    NEWLIB   : 1.11.0
+
+
+£µ¡¥¤½¤Î¾
+
+5.1 ¥Ç¥£¥ì¥¯¥È¥ê¡¦¥Õ¥¡¥¤¥ë¹½À®
+
+SH3 ¥¿¡¼¥²¥Ã¥È°Í¸Éô¤Î³Æ¥Õ¥¡¥¤¥ë¤Î³µÍפϼ¡¤ÎÄ̤ꡥ
+
+    config/sh3/
+        Makefile.config Makefile¤Î SH3 °Í¸ÄêµÁ
+        cpu_defs.h        ¥×¥í¥»¥Ã¥µ°Í¸Éô¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥óÍÑÄêµÁ
+        cpu_config.h      ¥×¥í¥»¥Ã¥µ°Í¸Éô¤Î¹½À®ÄêµÁ
+        cpu_config.c      ¥×¥í¥»¥Ã¥µ°Í¸Éô¤Î´Ø¿ô
+        cpu_support.S     ¥×¥í¥»¥Ã¥µ°Í¸Éô¤Î¥µ¥Ö¥ë¡¼¥Á¥ó
+        cpu_context.h     ¥³¥ó¥Æ¥­¥¹¥ÈÁàºî
+        cpu_rename.def    ¥«¡¼¥Í¥ë¤ÎÆâÉô¼±ÊÌ̾¤Î¥ê¥Í¡¼¥àÄêµÁ
+        cpu_rename.h      ¥«¡¼¥Í¥ë¤ÎÆâÉô¼±ÊÌ̾¤Î¥ê¥Í¡¼¥à
+        cpu_unrename.h    ¥«¡¼¥Í¥ë¤ÎÆâÉô¼±ÊÌ̾¤Î¥ê¥Í¡¼¥à²ò½ü
+        tool_defs.h       ³«È¯´Ä¶­°Í¸Éô¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥óÍÑÄêµÁ¡ÊGNU³«È¯´Ä¶­ÍÑ¡Ë
+        tool_config.h     ³«È¯´Ä¶­°Í¸Éô¤Î¹½À®ÄêµÁ¡ÊGNU³«È¯´Ä¶­ÍÑ¡Ë
+        makeoffset.c      offset.h À¸À®¥µ¥Ý¡¼¥È¥×¥í¥°¥é¥à
+        cpu_insn.h        Äã¥ì¥Ù¥ë¤Î¥×¥í¥»¥Ã¥µÁàºî¥ë¡¼¥Á¥ó
+        start.S           ¥¹¥¿¡¼¥È¥¢¥Ã¥×¥â¥¸¥å¡¼¥ë
+        shelf.ld          ¥Ó¥Ã¥°¥¨¥ó¥Ç¥£¥¢¥óÍÑ¥ê¥ó¥«¥¹¥¯¥ê¥×¥È
+        shlelf.ld         ¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥óÍÑ¥ê¥ó¥«¥¹¥¯¥ê¥×¥È
+        hw_timer.h        ¥¿¥¤¥ÞÁàºî¥ë¡¼¥Á¥ó
+        sh3.h             SH3 ¤ÎÄêµÁ
+        sh4.h             SH4 ¤ÎÄêµÁ
+
+
+    config/sh3/solution_engine
+        Makefile.config   Makefile¤Î Solution Engine °Í¸ÄêµÁ
+        ms7709ase01.h     MS7709ASE01 ¥Ï¡¼¥É¥¦¥§¥¢ÄêµÁ
+        ms7729rse01.h     MS7729RSE01 ¥Ï¡¼¥É¥¦¥§¥¢ÄêµÁ
+        ms7750se01.h      MS7750SE01  ¥Ï¡¼¥É¥¦¥§¥¢ÄêµÁ
+        solution_engine.h Solution Engine¶¦ÄÌÄêµÁ
+        sys_config.c      ¥·¥¹¥Æ¥à°Í¸Éô¤Î´Ø¿ô
+        sys_config.h      ¥·¥¹¥Æ¥à°Í¸Éô¤Î¹½À®ÄêµÁ
+        sys_defs.h        ¥·¥¹¥Æ¥à°Í¸Éô¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥óÍÑÄêµÁ
+        sys_support.S     ¥·¥¹¥Æ¥à°Í¸Éô¤Î¥µ¥Ö¥ë¡¼¥Á¥ó
+        sys_rename.def    ¥«¡¼¥Í¥ë¤ÎÆâÉô¼±ÊÌ̾¤Î¥ê¥Í¡¼¥àÄêµÁ
+        sys_rename.h      ¥«¡¼¥Í¥ë¤ÎÆâÉô¼±ÊÌ̾¤Î¥ê¥Í¡¼¥à
+        sys_unrename.h    ¥«¡¼¥Í¥ë¤ÎÆâÉô¼±ÊÌ̾¤Î¥ê¥Í¡¼¥à²ò½ü
+        hw_serial.h       SIO¥É¥é¥¤¥Ð
+        hw_serial.cfg     SIO¥É¥é¥¤¥Ð¤Î¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó¥Õ¥¡¥¤¥ë
+
+
+    config/sh3/ms7727cp01
+        Makefile.config   Makefile¤Î MS7727CP01 °Í¸ÄêµÁ
+        ms7727cp01.h      MS7727CP01 ¥Ï¡¼¥É¥¦¥§¥¢ÄêµÁ
+        sys_config.c      ¥·¥¹¥Æ¥à°Í¸Éô¤Î´Ø¿ô
+        sys_config.h      ¥·¥¹¥Æ¥à°Í¸Éô¤Î¹½À®ÄêµÁ
+        sys_defs.h        ¥·¥¹¥Æ¥à°Í¸Éô¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥óÍÑÄêµÁ
+        sys_support.S     ¥·¥¹¥Æ¥à°Í¸Éô¤Î¥µ¥Ö¥ë¡¼¥Á¥ó
+        sys_rename.def    ¥«¡¼¥Í¥ë¤ÎÆâÉô¼±ÊÌ̾¤Î¥ê¥Í¡¼¥àÄêµÁ
+        sys_rename.h      ¥«¡¼¥Í¥ë¤ÎÆâÉô¼±ÊÌ̾¤Î¥ê¥Í¡¼¥à
+        sys_unrename.h    ¥«¡¼¥Í¥ë¤ÎÆâÉô¼±ÊÌ̾¤Î¥ê¥Í¡¼¥à²ò½ü
+        hw_serial.h       SIO¥É¥é¥¤¥Ð
+        hw_serial.cfg     SIO¥É¥é¥¤¥Ð¤Î¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó¥Õ¥¡¥¤¥ë
+
+
+    pdic/simple_sio/
+        st16c2550.h       ST16C2550 ¤ÎÄêµÁ
+        st16c2550.c       ST16C2550 ÍÑSIO¥É¥é¥¤¥Ð
+        fdc37c935a.h      fdc37c935a ¤ÎÄêµÁ
+        fdc37c935a.c      fdc37c935a ÍÑSIO¥É¥é¥¤¥Ð
+
+
+