[363] | 1 | ï¼ TOPPERS/JSPã«ã¼ãã« ã¦ã¼ã¶ãºããã¥ã¢ã« ï¼
|
---|
| 2 | ï¼M32C ã¿ã¼ã²ããä¾åé¨ï¼
|
---|
| 3 |
|
---|
| 4 | ï¼Release 1.4.4 対å¿ï¼æçµæ´æ°: 20-May-2011ï¼
|
---|
| 5 |
|
---|
| 6 | ------------------------------------------------------------------------
|
---|
| 7 | TOPPERS/JSP Kernel
|
---|
| 8 |
|
---|
| 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 | Copyright (C) 2003-2004, 2010, 2011 by Naoki Saito
|
---|
| 15 | Nagoya Municipal Industrial Research Institute, JAPAN
|
---|
| 16 | Copyright (C) 2003-2004 by Platform Development Center
|
---|
| 17 | RIOCH COMPANY,LTD. JAPAN
|
---|
| 18 |
|
---|
| 19 | ä¸è¨èä½æ¨©è
|
---|
| 20 | ã¯ï¼ä»¥ä¸ã® (1)ã(4) ã®æ¡ä»¶ãï¼Free Software Foundation
|
---|
| 21 | ã«ãã£ã¦å
|
---|
| 22 | ¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨
|
---|
| 23 | è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢
|
---|
| 24 | ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹å¤ã»åé
|
---|
| 25 | å¸ï¼ä»¥ä¸ï¼
|
---|
| 26 | å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
|
---|
| 27 | (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
|
---|
| 28 | 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
|
---|
| 29 | ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼
|
---|
| 30 | (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
|
---|
| 31 | ç¨ã§ããå½¢ã§åé
|
---|
| 32 | å¸ããå ´åã«ã¯ï¼åé
|
---|
| 33 | å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨
|
---|
| 34 | è
|
---|
| 35 | ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
|
---|
| 36 | ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
|
---|
| 37 | (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
|
---|
| 38 | ç¨ã§ããªãå½¢ã§åé
|
---|
| 39 | å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
|
---|
| 40 | ã¨ï¼
|
---|
| 41 | (a) åé
|
---|
| 42 | å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è
|
---|
| 43 | ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
|
---|
| 44 | ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
|
---|
| 45 | (b) åé
|
---|
| 46 | å¸ã®å½¢æ
|
---|
| 47 | ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã«
|
---|
| 48 | å ±åãããã¨ï¼
|
---|
| 49 | (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
|
---|
| 50 | 害ãããï¼ä¸è¨èä½æ¨©è
|
---|
| 51 | ããã³TOPPERSããã¸ã§ã¯ããå
|
---|
| 52 | 責ãããã¨ï¼
|
---|
| 53 |
|
---|
| 54 | æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
|
---|
| 55 | ã
|
---|
| 56 | ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã
|
---|
| 57 | å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´
|
---|
| 58 | æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼
|
---|
| 59 |
|
---|
| 60 | ------------------------------------------------------------------------
|
---|
| 61 |
|
---|
| 62 | 1. M32C ã¿ã¼ã²ããä¾åé¨ã®æ¦è¦
|
---|
| 63 |
|
---|
| 64 | 1.1 ã¿ã¼ã²ããã·ã¹ãã ã¨éçºç°å¢
|
---|
| 65 |
|
---|
| 66 | ãM32C ããã»ããµã®ã¿ã¼ã²ããä¾åé¨ã¯ï¼ã¿ã¼ã²ããã·ã¹ãã ã¨ãã¦
|
---|
| 67 | ãªã¼ã¯ã¹é»åæ ªå¼ä¼ç¤¾ã® OAKS32 ããµãã¼ããã¦ããï¼
|
---|
| 68 | OAKS32 㯠ããã»ããµã¨ã㦠M30833FJFP(100pinç) ã¾ã㯠M30835FJGP(144pinç)
|
---|
| 69 | ãæè¼ãã¦ããï¼
|
---|
| 70 |
|
---|
| 71 | 1.2 éçºç°å¢ã¨å®è¡ç°å¢
|
---|
| 72 |
|
---|
| 73 | éçºç°å¢ã¯ï¼ã«ããµã¹ã¨ã¬ã¯ãããã¯ã¹ç¤¾è£½ã®éçºç°å¢ã使ç¨ããï¼
|
---|
| 74 |
|
---|
| 75 | å®è¡ç°å¢ã¯ Windows ãã¤ã³ã¹ãã¼ã«ããã¦ããï¼ãã¤ï¼ã·ãªã¢ã«ãã¼ãã
|
---|
| 76 | æè¼ãã PC ãããã°ï¼ãã¼ãã¢ã¸ã¥ã¼ã«ã®æ§ç¯ï¼ãã¼ãã¸ã®è»¢éï¼
|
---|
| 77 | ããã³ãã¼ãä¸ã§ã®å®è¡ãå¯è½ã§ããï¼
|
---|
| 78 |
|
---|
| 79 | 1.3 ãµãã¼ãããæ©è½ã®æ¦è¦
|
---|
| 80 |
|
---|
| 81 | ã¿ã¼ã²ããä¾åã¨ããã¦ããæ©è½ã«å¯¾ãããµãã¼ãç¶æ³ã¯ä»¥ä¸ã®éãï¼
|
---|
| 82 | ã»æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
|
---|
| 83 | §æ©è½ (vxget_tim) ï¼ ãµãã¼ã
|
---|
| 84 | ã»å²è¾¼ã¿ãã¹ã¯ã®å¤æ´ã»åç
|
---|
| 85 | § (chg_ixxï¼ get_ixx)ï¼æªãµãã¼ã
|
---|
| 86 | ã»å²ãè¾¼ã¿ã®ç¦æ¢ã¨è¨±å¯(dis_intï¼ena_int)ï¼æªãµãã¼ã
|
---|
| 87 |
|
---|
| 88 | 1.4 ä»ã®ã¿ã¼ã²ããã¸ã®ãã¼ãã£ã³ã°
|
---|
| 89 |
|
---|
| 90 | M32Cã¯CPUä¸ã«å¤ãã®ããã¤ã¹ãå®è£
|
---|
| 91 | ããã¦ããï¼SFRã¨ããå½¢å¼ã§
|
---|
| 92 | çµ±ä¸åããã¦ããï¼ãã®ãã M32C ã·ãªã¼ãºã® CPU ãæè¼ãããã¼ãã§ããã°ï¼
|
---|
| 93 | ãã¼ãã£ã³ã°ã¯å®¹æã«åºæ¥ãã¨æãããï¼
|
---|
| 94 |
|
---|
| 95 | 1.5 ã·ãªã¢ã«ãã¼ã
|
---|
| 96 |
|
---|
| 97 | ã¿ã¼ã²ãããã¼ãã«ã¯ UART1 ãå®è£
|
---|
| 98 | ããã¦ããï¼ã¾ã UART0 ãã¼ãã
|
---|
| 99 | æ¡å¼µå¯è½ã¨ãªã£ã¦ããï¼UART1 ã¯ï¼ããã㬠KD3083 ãç¨ãããããã°ç¨ã®
|
---|
| 100 | ãã¼ãã¨ãã¦ä½¿ç¨ãããã¨ãæ³å®ãã¦ãã.
|
---|
| 101 |
|
---|
| 102 | ã·ãªã¢ã«ãã©ã¤ã㯠UART0 ãã¼ãã¸ã®å¯¾å¿ãè¡ããã¦ããï¼ã¢ããªã±ã¼ã·ã§ã³ç¨
|
---|
| 103 | ã¨ãã¦å©ç¨å¯è½ã¨ãªã£ã¦ããï¼
|
---|
| 104 |
|
---|
| 105 | UART0 ãã¼ãã®è¨å®ã以ä¸ã«ç¤ºãï¼
|
---|
| 106 | ã»ãã¼ã¬ã¼ãï¼38400[bps]
|
---|
| 107 | ã»ãã¼ã¿é·ï¼8 ããã
|
---|
| 108 | ã»ã¹ããããããï¼1 ããã
|
---|
| 109 | ã»ããªãã£ãªã
|
---|
| 110 |
|
---|
| 111 | 1.6 対象ã¨ããã½ã¼ã¹ã³ã¼ãã®æåã³ã¼ã
|
---|
| 112 |
|
---|
| 113 | TOPPERSããã¸ã§ã¯ãããå
|
---|
| 114 | ¬éããã TOPPERS/JSP ã«ã¼ãã«ã®ããã±ã¼ã¸ã¯ï¼
|
---|
| 115 | æåã³ã¼ãåã³æ¹è¡ã³ã¼ãã EUC+LF åã³ SJIS+CRLF ã® 2ã¤ã®ãã¿ã¼ã³ã®
|
---|
| 116 | ããã±ã¼ã¸ãåå¨ããï¼EUC+LFçã®ããã±ã¼ã¸ã§ããã¦ã³ãã¼ããã¦å±éå¾ï¼
|
---|
| 117 | æåã³ã¼ãå¤æããã°ä½¿ç¨å¯è½ã¨æããããï¼M32Cä¾åé¨ãå©ç¨ããå ´åã¯ï¼
|
---|
| 118 | SJIS+CRLF ã®ããã±ã¼ã¸ããã¦ã³ãã¼ããããã¨ãæ¨å¥¨ããï¼
|
---|
| 119 |
|
---|
| 120 |
|
---|
| 121 | 2. M32C ããã»ããµä¾åé¨ã®æ©è½
|
---|
| 122 |
|
---|
| 123 | ãã®ç¯ã§ã¯ï¼ã«ã¼ãã«ããã³ã·ã¹ãã ãµã¼ãã¹ã®æ©è½ã®ä¸ã§ï¼M32Cä¾åã®é¨å
|
---|
| 124 | ã«ã¤ãã¦è§£èª¬ããï¼
|
---|
| 125 |
|
---|
| 126 | 2.1 ãã¼ã¿å
|
---|
| 127 |
|
---|
| 128 | ã»æ´æ°å
|
---|
| 129 | ã»int å㨠unsigned int åã®ãµã¤ãºã¯ 16ãããã§ããï¼
|
---|
| 130 | ã»_int64_ ã«ã¯å¯¾å¿ãã¦ããªãï¼
|
---|
| 131 |
|
---|
| 132 | ã»ãã¤ã³ã¿å
|
---|
| 133 | VP ããã³ VP_INT ã¯å
|
---|
| 134 | ±ã« far ãã¤ã³ã¿ã¨å®ç¾©ãã¦ããï¼
|
---|
| 135 |
|
---|
| 136 | (説æ)
|
---|
| 137 | ãã¤ã³ã¿ã«é¢ãã¦ï¼M32C ã§ã¯16ãããé·ã® near ãã¤ã³ã¿ã¨32ãããé·ã®
|
---|
| 138 | far ãã¤ã³ã¿ãåå¨ããï¼near ãã¤ã³ã¿ã¯ RAM åã³ããã¤ã¹ã®ãã¼ãé åã§ãã
|
---|
| 139 | SFR(Special Function Register) ãã¢ã¯ã»ã¹ããçºã®ãã¤ã³ã¿ã§ããï¼
|
---|
| 140 | ä¸æ¹ï¼far ãã¤ã³ã¿ã¯ near ãã¤ã³ã¿ã§ã¢ã¯ã»ã¹å¯è½ãªé åã«å ã
|
---|
| 141 | ROM é åã¾ã§ã¢ã¯ã»ã¹ãå¯è½ãªãã¤ã³ã¿ã§ããï¼
|
---|
| 142 |
|
---|
| 143 | ãã¤ã³ã¿å¤æ°ã«å¯¾ãæ示çã« near ã far ãæå®ããªãå ´åï¼
|
---|
| 144 | ã³ã³ãã¤ã©(NC308)ã¯ãã¤ã³ã¿å¤æ°ã far ãã¤ã³ã¿ã¨ãã¦æ±ãï¼
|
---|
| 145 | ãã®ããï¼é常ã®ä½¿ç¨ã§ã¯ãã¤ã³ã¿ã®ãµã¤ãºãç¹ã«æèããå¿
|
---|
| 146 | è¦ã¯ãªããï¼
|
---|
| 147 | near 㨠far ãæ示çã«æå®ãã¦åæã«ä½¿ãå ´åï¼ä»£å
|
---|
| 148 | ¥ãªã©ã§ã¢ãã¬ã¹æ
|
---|
| 149 | å ±ã
|
---|
| 150 | æ¬ è½ãããã¨ããªãã注æããå¿
|
---|
| 151 | è¦ãããï¼
|
---|
| 152 |
|
---|
| 153 | 2.2 å²è¾¼ã¿ç®¡çæ©è½ã¨å²è¾¼ã¿ãã³ãã©
|
---|
| 154 |
|
---|
| 155 | DEF_INHã§æå®ããå²è¾¼ã¿ãã³ãã©çªå·ï¼inhnoï¼ã¯ï¼M32Cã§ã®ã½ããã¦ã§ã¢å²è¾¼ã¿
|
---|
| 156 | çªå·ã表ãï¼ãã®ãã¼ã¿åï¼INHNOï¼ã¯ charåã«å®ç¾©ããã¦ããï¼
|
---|
| 157 | DEF_INHã§ï¼ä¾å¤ãã¯ã¿çªå·ã¨ãã¦æå¹ã§ãªãå¤ãï¼å¤é¨å²è¾¼ã¿ã«å¯¾å¿ããªã
|
---|
| 158 | çªå·ãæå®ããå ´åã®åä½ã¯ä¿è¨¼ãããªãï¼
|
---|
| 159 |
|
---|
| 160 | ãã¼ãã¦ã§ã¢å²è¾¼ã¿ã¯å²è¾¼ã¿ç¦æ¢ã¨ãããã¨ãã§ããï¼M32Cã®å²è¾¼ã¿ã®ç¦æ¢ã¯
|
---|
| 161 | ãã©ã°ã¬ã¸ã¹ã¿ä¸ã®å²è¾¼ã¿è¨±å¯ãã©ã°(Iãã©ã°)ã«ãã£ã¦è¡ãï¼ããªãã¡ï¼Iã
|
---|
| 162 | ã©ã°ãï¼ã®å ´åã¯ãã¹ã«ãã«å²è¾¼ã¿ã¯ç¦æ¢ããï¼ã®å ´åã¯è¨±å¯ãããï¼
|
---|
| 163 |
|
---|
| 164 | å²è¾¼ã¿ãã¯ã¿ã¯è¨å®ä½ç½®ã«éçã«é
|
---|
| 165 | ç½®ãããï¼æ¬éçºç°å¢ã§ã¯ã³ã³ãã£ã®ã¥
|
---|
| 166 | ã¬ã¼ã·ã§ã³ããçæããã kernel_cfg.c ã®å
|
---|
| 167 | 容ãèå¥ãï¼èªåçã«éçãª
|
---|
| 168 | å²è¾¼ã¿ãã¯ã¿å®ç¾©ãã¡ã¤ã«ãçæããã¦ã¼ãã£ãªãã£ãç¨æãã¦ããï¼ ãã®
|
---|
| 169 | ã¦ã¼ãã£ãªãã£ã¯åå¦çããã kernel_cfg.c ã®å
|
---|
| 170 | 容ã utils/m16c-renesas
|
---|
| 171 | ãã£ã¬ã¯ããªä¸ã® m16cvec.exe ã³ãã³ãã§è§£æãï¼å²è¾¼ã¿ãã¯ã¿å®ç¾©ãã¡ã¤ã«
|
---|
| 172 | m16cvec.inc ãçæããï¼m16cvec.inc ã¯CPUã®ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã§ãã
|
---|
| 173 | start.a30 ããã¤ã³ã¯ã«ã¼ãããï¼å²è¾¼ã¿ãã¯ã¿ãROMä¸ã«éçã«é
|
---|
| 174 | ç½®ããï¼
|
---|
| 175 |
|
---|
| 176 | 2.3 CPU ä¾å¤ç®¡çæ©è½ã¨ CPU ä¾å¤ãã³ãã©
|
---|
| 177 |
|
---|
| 178 | CPUä¾å¤ã¨ãã¦ï¼ãã¼ãã¦ã§ã¢ãã³ãã¹ã«ãã«å²è¾¼ã¿ã¨ã½ããã¦ã§ã¢ãã³ãã¹ã«
|
---|
| 179 | ãã«å²è¾¼ã¿ãããï¼ãã¼ãã¦ã§ã¢ãã³ãã¹ã«ãã«å²è¾¼ã¿ä¸ã®ãªã»ãããé¤ãã¦
|
---|
| 180 | ãã¯ãã«ã®è¨å®ãå¯è½ã§ããï¼
|
---|
| 181 | CPUä¾å¤ãã¯ã¿ã¯å²è¾¼ã¿ãã³ãã©ã¨åæ§ã«è¨å®ä½ç½®ã«éçã«é
|
---|
| 182 | ç½®ãããï¼
|
---|
| 183 | CPUä¾å¤ãã³ãã©ã«é¢ãã¦ãå²è¾¼ã¿ãã³ãã©ã¨åæ§ã« m16cvec.exe ãç¨ãã¦ï¼
|
---|
| 184 | CPUä¾å¤ãã¯ã¿å®ç¾©ãèªåçã«çæãããã¨ãã§ããï¼ãã®ãã¼ã¿ã¯å²è¾¼ã¿
|
---|
| 185 | ãã³ãã©ã¨åæ§ã«m16cvec.incã«è¨å®ãããï¼
|
---|
| 186 |
|
---|
| 187 | ãDEF_EXC ã§æå®ããCPUä¾å¤ãã³ãã©çªå·ï¼excnoï¼ã¯ï¼M32Cã§ã®ã½ããã¦ã¨ã¢
|
---|
| 188 | å²è¾¼ã¿çªå·ã表ãï¼ãã®ãã¼ã¿åï¼EXCNOï¼ã¯ charåã«å®ç¾©ããã¦ããï¼
|
---|
| 189 |
|
---|
| 190 | 2.4 ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
|
---|
| 191 |
|
---|
| 192 | m32cä¾åã®ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã« (start.a30) ã¯æ¬¡ã«ç¤ºãåæåãå®è¡
|
---|
| 193 | ããå¾ï¼ã«ã¼ãã« (kernel_start) ãèµ·åããï¼ãã ãï¼ kernel_start ãã
|
---|
| 194 | æ»ã£ã¦ãããã¨ã¯æ³å®ãã¦ããªãï¼
|
---|
| 195 |
|
---|
| 196 | (1) ã¹ã¿ãã¯ãã¤ã³ã¿ã®è¨å®
|
---|
| 197 |
|
---|
| 198 | (2) CPUé¢é£ã®åæè¨å®
|
---|
| 199 |
|
---|
| 200 | ããã»ããµã¢ã¼ãã®è¨å®ã¨ã¯ããã¯ã®è¨å®ãè¡ãï¼
|
---|
| 201 |
|
---|
| 202 | (3) hardware_init_hook ã®å¼åºã(æªå®è¡)
|
---|
| 203 |
|
---|
| 204 | M32Cã¢ã»ã³ãã©ã§ã¯ï¼hardware_init_hook ã®å¤å®ãã§ããªããã¨ã¨ï¼
|
---|
| 205 | M32Cã®ãã¼ãã¦ã§ã¢è¨å®ã sys_initialize() é¢æ°ã®ä¸ã§è¡ã£ã¦ã
|
---|
| 206 | ååã«å¯¾å¿ã§ããã¨èãããããã¨ããï¼å¯¾å¿ãã¦ããªã.
|
---|
| 207 |
|
---|
| 208 | (4) bssã»ã¯ã·ã§ã³ã¨ dataã»ã¯ã·ã§ã³ã®åæå
|
---|
| 209 |
|
---|
| 210 | bssã»ã¯ã·ã§ã³ãã¼ãã¯ãªã¢ããï¼ã¾ãï¼dataã»ã¯ã·ã§ã³ãåæåããï¼
|
---|
| 211 |
|
---|
| 212 | (5) software_init_hook ã®å¼åºã
|
---|
| 213 |
|
---|
| 214 | software_init_hookã 0ã§ãªããã°ï¼software_init_hook ãå¼åºãï¼
|
---|
| 215 | software_init_hook ã¯ã«ã¼ãã«èµ·ååã«ï¼ã½ããã¦ã§ã¢ç°å¢ (ã©ã¤ãã©ãªç)
|
---|
| 216 | ä¾åã®åæåãè¡ãããã«ç¨æããã¦ããï¼
|
---|
| 217 |
|
---|
| 218 | software_init_hook ã®å®ç¾©ã¯ cpu_config.c ä¸ã§è¡ãï¼è¦å®ã§ã¯ 0 ã«ä»®è¨å®
|
---|
| 219 | ããã¦ããï¼ç¬èªã«å¥ã®å ´æ㧠software_init_hook ãå®ç¾©ããå ´åï¼ãã¯ã
|
---|
| 220 | ã¨ã㦠EXTERNAL_SOFT_HOOK ãå®ç¾©ããï¼ãã®ããã«ããã°ï¼å
|
---|
| 221 | ã®å¤æ°å®ç¾©ã¯
|
---|
| 222 | å«ã¾ããªããªãããï¼å¤é¨ããã®è¨å®ãå¯è½ã¨ãªãï¼
|
---|
| 223 | ä¾ãã°ï¼ã©ã¤ãã©ãªã®åæè¨å®ãªã©ãè¡ãããå ´åã¯ï¼å¤é¨ããã®å¤æ°å®ç¾©ã
|
---|
| 224 | è¡ããã¨ãå¯è½ã¨ãªãï¼
|
---|
| 225 |
|
---|
| 226 | (6) ã«ã¼ãã«ã®èµ·å
|
---|
| 227 |
|
---|
| 228 | kernel_start ã¸åå²ãï¼ã«ã¼ãã«ãèµ·åããï¼kernel_start ãããªã¿ã¼ã³ã
|
---|
| 229 | ã¦ãããã¨ã¯æ³å®ãã¦ããªãï¼
|
---|
| 230 |
|
---|
| 231 | 2.5 å²è¾¼ã¿çºçæã®ã¹ã¿ãã¯ä½¿ç¨éã«ã¤ãã¦
|
---|
| 232 |
|
---|
| 233 | ã«ã¼ãã«èµ·åï¼åã³ï¼å²è¾¼ã¿çºçæã¯ã¿ã¹ã¯ç¨ã®ã¹ã¿ãã¯ã¨ã¯å¥ã®å²è¾¼ã¿å°ç¨ã®
|
---|
| 234 | ã¹ã¿ãã¯ã使ç¨ãã¦ããï¼ãã®ã¹ã¿ãã¯é å㯠RAMEND ã¨ãããã¯ãã§
|
---|
| 235 | æå®ãããã¢ãã¬ã¹ããä½ä½æ¹åã«åããã¡ã¢ãªä¸ã®é åã«ç¢ºä¿ãããï¼
|
---|
| 236 | ãã®ããï¼ã·ã¹ãã èµ·åæã«ã¯ãã®é åã確ä¿ããå¿
|
---|
| 237 | è¦ãããï¼
|
---|
| 238 |
|
---|
| 239 | å²è¾¼ã¿ãã¹ãã¬ãã«ã 0ï¼ã¤ã¾ãï¼ã¿ã¹ã¯å®è¡ä¸ï¼ã§å²è¾¼ã¿ãçºçããã¨ï¼
|
---|
| 240 | ã«ã¼ãã«ã¯ã¿ã¹ã¯ã³ã³ããã¹ãç¨ã¹ã¿ãã¯ã«ã¬ã¸ã¹ã¿ãä¿åããå¾ï¼
|
---|
| 241 | å²è¾¼ã¿ç¨ã¹ã¿ãã¯ã«ã¹ã¿ãã¯ãåãæ¿ããï¼ãã®ããï¼ã¿ã¹ã¯ã³ã³ããã¹ãç¨
|
---|
| 242 | ã¹ã¿ãã¯ã«ã¯ï¼æ±ç¨ã¬ã¸ã¹ã¿ï¼ãã©ã°ï¼PC ãªã© 30 ãã¤ãã®é åãä½åã«å¿
|
---|
| 243 | è¦ã¨ãªãï¼
|
---|
| 244 |
|
---|
| 245 | å²è¾¼ã¿ãã¹ãã¬ãã«ã 1以ä¸ã®ç¶æ
|
---|
| 246 | ï¼ã¤ã¾ãï¼éã¿ã¹ã¯ã³ã³ããã¹ãï¼ã§
|
---|
| 247 | å²è¾¼ã¿è¦æ±ãåãä»ããããå ´åï¼å²è¾¼ã¿ã¹ã¿ãã¯ã«ã¬ã¸ã¹ã¿ãä¿åãããï¼
|
---|
| 248 | ããã«ã¯å²è¾¼ã¿çºçæ¯ã«30ãã¤ããã¤å¿
|
---|
| 249 | è¦ã§ããï¼ããã«å ãï¼ããããã®
|
---|
| 250 | å²è¾¼ã¿å¦çã«ã¼ãã³ã§ä½¿ç¨ãããã¹ã¿ãã¯ãµã¤ãºãå¿
|
---|
| 251 | è¦ã¨ãªãï¼
|
---|
| 252 |
|
---|
| 253 | 3. ã·ã¹ãã ä¾åé¨ã®æ©è½
|
---|
| 254 |
|
---|
| 255 | 3.1 ã·ã¹ãã ã¯ããã¯ãã©ã¤ã
|
---|
| 256 |
|
---|
| 257 | ã·ã¹ãã ã¯ããã¯ãã©ã¤ãã isig_tim ãå¼ã³åºãå¨æã¯ï¼sys_defs.h ä¸ã®
|
---|
| 258 | TIC_NUME 㨠TIC_DENO ã§å®ç¾©ããã¦ããï¼æ¨æºã¯ 1ããªç§å¨æï¼ï¼
|
---|
| 259 | ãã®å®ç¾©ãå¤æ´ãããã¨ã§ï¼isig_timãå¼ã³åºãå¨æãå¤æ´ãããã¨ãã§ããï¼
|
---|
| 260 | ãã ãï¼ã¿ã¤ãã®ç²¾åº¦ã1μç§ã§ããããï¼1μç§åä½ã§ç«¯æ°ã«ãªãå¤ãè¨å®ãã
|
---|
| 261 | å ´åã«ã¯ï¼isig_timã®å¼åºãå¨æã«èª¤å·®ãçãããã¨ã«ãªãï¼
|
---|
| 262 |
|
---|
| 263 | 3.2 æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
|
---|
| 264 | §æ©è½
|
---|
| 265 |
|
---|
| 266 | M32Cã§ã¯ï¼æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»åç
|
---|
| 267 | §æ©è½ (vxget_tim) ããµãã¼ããã¦ããï¼
|
---|
| 268 | OAKS16ã§ã¯ç²¾åº¦ 0.0333[us]ã§ããï¼SYSUTIMå㯠UW å (32 ããã符å·ãªã
|
---|
| 269 | æ´æ°å) ã§ããï¼
|
---|
| 270 |
|
---|
| 271 | 3.3 ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ã
|
---|
| 272 |
|
---|
| 273 | OAKS32 ã§ã¯ UART0 㨠UART1 ã®ï¼ã¤ã®ã·ãªã¢ã«ãã¼ããå©ç¨å¯è½ã§ããï¼
|
---|
| 274 | ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã§ã¯ UART0 ã®ã¿ã«å¯¾å¿ãï¼ãã°åºåç¨ã«
|
---|
| 275 | 使ç¨ãã¦ããï¼
|
---|
| 276 | ä¸æ¹ï¼UART1 㯠ããã㬠KD3083 ã§ãã¹ãPCã¨ã®éä¿¡ç¨ãã¼ãã¨ãã¦ä½¿ç¨ãã
|
---|
| 277 | ãã¨ãæ³å®ãã¦ããï¼ãã®ããï¼ãã®ã¾ã¾ã§ã¯ãã©ã¤ãã§ä½¿ç¨ã§ããªã.
|
---|
| 278 |
|
---|
| 279 | 3.4 ã¡ã¢ãªããã
|
---|
| 280 |
|
---|
| 281 | 3.4.1 OAKS32ã®ã¡ã¢ãªããã
|
---|
| 282 |
|
---|
| 283 | (1) å®è¡ç°å¢
|
---|
| 284 |
|
---|
| 285 | 0x000000 - 0x0003ff SFRé å
|
---|
| 286 | 0x000400 - 0x0077ff å
|
---|
| 287 | è RAMï¼data_NEï¼data_NOï¼bss_NEï¼bss_NO
|
---|
| 288 | 0x007800 - 0x007fff å
|
---|
| 289 | è RAMï¼ãããã°ã¢ãã¿ç¨RAMé åï¼ã¢ãã¿ã使ç¨â»ï¼
|
---|
| 290 |
|
---|
| 291 | 0xf80000 - 0x0ffdff å
|
---|
| 292 | èµ ROMï¼programï¼rom_FEï¼rom_FOï¼data_NEIï¼data_NOI
|
---|
| 293 | 0xffbd00 - 0xffbdff å
|
---|
| 294 | èµ ROMï¼ãã¼ãï¼ã½ããå²è¾¼ã¿ãã¯ã¿é å (vvector)
|
---|
| 295 | 0xffbe00 - 0xfffdff å
|
---|
| 296 | èµ ROMï¼ãããã°ã¢ãã¿ããã°ã©ã é åâ»
|
---|
| 297 | 0xfffe00 - 0xffffdb å
|
---|
| 298 | èµ ROMï¼ã¹ãã·ã£ã«ãã¼ã¸ãã¯ã¿ãã¼ãã«é å
|
---|
| 299 | 0xffffdc - 0xffffff å
|
---|
| 300 | èµ ROMï¼ãã¼ãCPUä¾å¤ãã¯ã¿é å(fvector)
|
---|
| 301 |
|
---|
| 302 | 注⻠ãããã¬KD3083ã使ç¨ããªãå ´åã¯é常ã®ã¡ã¢ãªã¨ãã¦ä½¿ç¨å¯è½
|
---|
| 303 |
|
---|
| 304 | 4. éçº
|
---|
| 305 |
|
---|
| 306 | 4.1 éçºç°å¢
|
---|
| 307 |
|
---|
| 308 | éçºç°å¢ã¯ï¼Windows XP (Service Pack3) ã§åä½ç¢ºèªããï¼
|
---|
| 309 | æ§ç¯ç°å¢ã¯ã«ããµã¹ã¨ã¬ã¯ãããã¯ã¹ç¤¾è£½ã®éçºç°å¢ãç¨ããï¼
|
---|
| 310 | ãã«ã管çæ¹æ³ã¨ãã¦ï¼ä»¥ä¸ã® 2 ã¤ã®æ¹æ³ãããï¼
|
---|
| 311 |
|
---|
| 312 | (1) ã«ããµã¹ã¨ã¬ã¯ãããã¯ã¹ç¤¾è£½ã®çµ±åéçºç°å¢ TM ã使ç¨ããï¼
|
---|
| 313 |
|
---|
| 314 | 対象ï¼OAKS32ãã¼ã
|
---|
| 315 | æ¹å¼ï¼ã«ããµã¹ã¨ã¬ã¯ãããã¯ã¹ç¤¾ã® TM ãç¨ãã¦æ§ç¯ãã
|
---|
| 316 | ãã®éï¼ã«ã¼ãã«é¨ãã©ã¤ãã©ãªåããæ§ç¯ãã
|
---|
| 317 | åä½ç¢ºèªãã¼ã«ï¼
|
---|
| 318 | NC308WA V.5.42 Release 00 ç¡åè©ä¾¡ç
|
---|
| 319 | TM V3.20
|
---|
| 320 |
|
---|
| 321 | (2) DOS çªãã make ã³ãã³ããç¨ãã
|
---|
| 322 | 対象ï¼OAKS32ãã¼ã
|
---|
| 323 | æ¹å¼ï¼DOSçªããmakeã使ã£ã¦æ§ç¯
|
---|
| 324 | ã«ã¼ãã«ãã©ã¤ãã©ãªåããæ¹æ³ã¨ããªãæ¹æ³ã®ä¸¡æ¹ã«å¯¾å¿
|
---|
| 325 | åä½ç¢ºèªãã¼ã«ï¼
|
---|
| 326 | NC308WA V.5.42 Release 00 ç¡åè©ä¾¡ç
|
---|
| 327 | GNU make (version 3.80 ã§åä½ç¢ºèªæ¸)
|
---|
| 328 | Perl (åä½ç¢ºèªã¯ Active Perl v5.6.1, 5.12.2 ã§è¡ã£ã)
|
---|
| 329 |
|
---|
| 330 | ãã ãï¼ãããã®å ´åã NC308WA ã®ã¤ã³ã¹ãã¼ã«å
|
---|
| 331 | ã«ã¯æ³¨æãå¿
|
---|
| 332 | è¦ã§ããï¼
|
---|
| 333 | æè¿ã®çã§ã¯è¦å®å¤ã¨ã㦠C:\Program Files 以ä¸ã«ã¤ã³ã¹ãã¼ã«ããããï¼
|
---|
| 334 | TM åã³ make ã¯ãã¹æååä¸ã«ç©ºç½ãå«ã¾ããå ´åï¼æ£ããåä½ããªãï¼
|
---|
| 335 | ãã®ããï¼ã¤ã³ã¹ãã¼ã«å
|
---|
| 336 | ãã¹ã空ç½ãå«ã¾ãªãããã«ããå¿
|
---|
| 337 | è¦ãããï¼
|
---|
| 338 |
|
---|
| 339 | ã¾ãï¼ã½ã¼ã¹ã®å±éä½ç½®ã¨ãã¼ã«ã®ã¤ã³ã¹ãã¼ã«å
|
---|
| 340 | ã¨ãç°ãªããã©ã¤ãã«
|
---|
| 341 | é
|
---|
| 342 | ç½®ããã¦ããæ§æãï¼æ£å¸¸ã«åä½ããªãå ´åãããããï¼æ¨å¥¨ããªãï¼
|
---|
| 343 |
|
---|
| 344 | 4.2 çµ±åéçºç°å¢TMãç¨ããæ§ç¯
|
---|
| 345 |
|
---|
| 346 | m32c ç¨ã® TOPPERS/JSP ãæ§ç¯ããã«ã¯ï¼ã«ããµã¹ã¨ã¬ã¯ãããã¯ã¹ç¤¾è£½ã®
|
---|
| 347 | éçºç°å¢ã使ç¨ããï¼ãã®ããï¼ã¾ããã¼ã«ãã¤ã³ã¹ãã¼ã«ãã¦ããï¼
|
---|
| 348 | çµ±åéçºç°å¢ TM
|
---|
| 349 | ã³ã³ãã¤ã© NC308WA
|
---|
| 350 |
|
---|
| 351 | ã¾ãï¼ã¿ã¼ã²ããããã°ã©ã ã®æ§ç¯ã«ã¯ï¼éçºãã¹ãä¸ã§åä½ããï¼
|
---|
| 352 | ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ cfg/cfg.exe åã³ M16Cã¿ã¼ã²ããåãã¦ã¼ãã£ãªãã£
|
---|
| 353 | ããã°ã©ã utils/m16c-renesas/m16cvec.exe ãç¨ããï¼
|
---|
| 354 | (m32cã¿ã¼ã²ããã§ã¯m16coffset.exeã¯ä½¿ç¨ããªã)
|
---|
| 355 | m16cvec.exe ã¯ã³ã³ãã¤ã«æ¸ã¿ã®ãã®ãç¨æããã¦ãããï¼
|
---|
| 356 | ããã°ã©ã ãå¤æ´ãããå ´åã¯åæ§ç¯ããå¿
|
---|
| 357 | è¦ãããï¼
|
---|
| 358 |
|
---|
| 359 |
|
---|
| 360 | 4.2.1 ãã¼ã«ã®æ§ç¯
|
---|
| 361 |
|
---|
| 362 | cfg.exe ã®æ§ç¯ã«ã¤ãã¦ã¯ user.txt ãªã©ãåç
|
---|
| 363 | §ã®ãã¨ï¼
|
---|
| 364 | utils/m16c-renesas ä¸ã®ãã¼ã« m16cvec.exe ãæ§ç¯ããå ´åï¼
|
---|
| 365 | MinGW (Minimalist GNU for Windows)ã使ç¨ããï¼
|
---|
| 366 | (ã¡ãªã¿ã«ï¼cfg.exe ã®ãã«ãã MinGW ã§å¯¾å¿å¯è½ã§ããï¼
|
---|
| 367 |
|
---|
| 368 | é常ã¯æ¢ã«ã³ã³ãã¤ã«æ¸ã¿ã®ãã®ãç¨æããã¦ããããï¼ãã¡ãã
|
---|
| 369 | å©ç¨ããã°ããï¼
|
---|
| 370 |
|
---|
| 371 | MinGW (Minimalist GNU for Windows)
|
---|
| 372 | http://www.mingw.org/
|
---|
| 373 | http://sourceforge.net/projects/mingw/ (ã¤ã³ã¹ãã¼ã©ã®å
|
---|
| 374 | ¥æå
|
---|
| 375 | )
|
---|
| 376 |
|
---|
| 377 |
|
---|
| 378 | 4.2.2 TM ã§ããã¸ã§ã¯ããé¸æããã«ãããï¼
|
---|
| 379 |
|
---|
| 380 | (1) äºå確èª
|
---|
| 381 |
|
---|
| 382 | ãã«ã対象ã®ã½ã¼ã¹ã³ã¼ãããããã¦ãããã©ã¤ãã¨ï¼ã³ã³ãã¤ã©ãªã©ã®
|
---|
| 383 | éçºãã¼ã«ãã¤ã³ã¹ãã¼ã«ããã¦ãããã©ã¤ãã¯åããã©ã¤ããã©ãã確èªãã.
|
---|
| 384 | ç°ãªãå ´åã¯ãã«ãã®ç¢ºèªãåºæ¥ã¦ããªãããï¼éæ¨å¥¨ã®æ¹æ³ã¨ãã.
|
---|
| 385 |
|
---|
| 386 | (2) ããã¸ã§ã¯ãã®ãªã¼ãã³
|
---|
| 387 |
|
---|
| 388 | (2-1) Windows ã¡ãã¥ã¼ãã TM ãèµ·åããï¼
|
---|
| 389 | (2-2) TM ãèµ·åããããOpen Projectãã¡ãã¥ã¼ãéãï¼
|
---|
| 390 | (2-3) tools/M32C-RENESAS ãã£ã¬ã¯ããªä¸ã® Jsp14sample1.tmk ãé¸æããï¼
|
---|
| 391 | (2-4) é¸ææï¼ã³ã³ãã¤ã©ã®éãã«ããè¨å®ã¡ãã¥ã¼ã表示ãããå ´åãããï¼
|
---|
| 392 | ãã®ç°å¢ã¯ï¼NC308WA ã³ã³ãã¤ã©ã® Version Version 5.42 Release 00
|
---|
| 393 | ç¡åè©ä¾¡çã«ã¦è©ä¾¡ãè¡ã£ã¦ããï¼ç¾å¨ã®ç°å¢ã«ãããã£ã¦è¨å®ããï¼
|
---|
| 394 |
|
---|
| 395 | (3) ããªããã»ããµã®æå®
|
---|
| 396 |
|
---|
| 397 | ãã«ãéç¨ã§ããªããã»ããµã使ç¨ããããï¼éçºç°å¢ãã¤ã³ã¹ãã¼ã«ããã
|
---|
| 398 | å ´æã«å¿ã㦠CPP ã¨ããååã®ãã¯ããå¤æ´ããï¼
|
---|
| 399 |
|
---|
| 400 |
|
---|
| 401 | (4) è¨å®å¾ï¼ããªãã«ããã¡ãã¥ã¼ãé¸æããã«ããè¡ã
|
---|
| 402 |
|
---|
| 403 | TMã®è¨å®ã¨ãã¦ã½ã¼ã¹ãã¡ã¤ã«ã®ä¾åæ§ã®è¨å®ãè¡ã£ã¦ããªãã®ã§ï¼
|
---|
| 404 | æ§ç¯æã¯ããªãã«ããã®å®è¡ãæ¨å¥¨ããï¼
|
---|
| 405 |
|
---|
| 406 | ããã«ããçµäºããã¨ï¼ãã®ãã£ã¬ã¯ããªä¸ã« Jsp14sample1.x30 ããã³
|
---|
| 407 | Jsp14sample1.motãçæãããï¼
|
---|
| 408 |
|
---|
| 409 |
|
---|
| 410 | 4.3 DOSçªããmakeã³ãã³ããç¨ããæ§ç¯
|
---|
| 411 |
|
---|
| 412 | GNU make ãç¨ãã¦m32cç¨ã® TOPPERS/JSPã«ã¼ãã«ãæ§ç¯ããæ¹æ³ã示ãï¼
|
---|
| 413 | ãã®æ¹æ³ã§å¯¾å¿ãã¦ãããã¼ã㯠OAKS32 ã§ããï¼
|
---|
| 414 | ã³ã³ãã¤ã©ã¯ NC308WA V.5.42 Release 00 ç¡åè©ä¾¡çã§åä½ã確èªãã¦ãã.
|
---|
| 415 |
|
---|
| 416 | æ§ç¯ã«ããã£ã¦ã¯ï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ cfg.exe ã cfg ãã£ã¬ã¯ããªã«ï¼
|
---|
| 417 | 4.2.1 ã§ç¤ºãã m16cvec.exe ã utils/m16c-renesas ãã£ã¬ã¯ããªã«ï¼
|
---|
| 418 | ããããåå¨ãã¦ãããã¨ãåæã¨ãªãï¼
|
---|
| 419 | ã¾ãï¼NC308WA, KD3083 ã¯ãããããã¤ã³ã¹ãã¼ã«ãã¦ãããã¨ãå¿
|
---|
| 420 | è¦ã§ããï¼
|
---|
| 421 |
|
---|
| 422 | 4.3.1 éçºãã¼ã«ã®å
|
---|
| 423 | ¥æ
|
---|
| 424 |
|
---|
| 425 | ãã¼ã«ã¯ä»¥ä¸ã®ãµã¤ãããå
|
---|
| 426 | ¥æå¯è½ï¼
|
---|
| 427 |
|
---|
| 428 | GNU Make
|
---|
| 429 | http://www.mingw.org/
|
---|
| 430 |
|
---|
| 431 | Active Perl
|
---|
| 432 | http://www.activestate.com/
|
---|
| 433 |
|
---|
| 434 | 4.3.2 ãµã³ãã«ããã°ã©ã ã®æ§ç¯
|
---|
| 435 |
|
---|
| 436 | ãµã³ãã«ããã°ã©ã ã®æ§ç¯æ¹æ³ã¯åºæ¬çã« doc/user.txt ã® ã7.4 ãµã³ãã«ã
|
---|
| 437 | ãã°ã©ã ã®æ§ç¯ãã§ç¤ºãããæ¹æ³ã«æºæ ãã¦ããï¼ãã ãï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³
|
---|
| 438 | ã¹ã¯ãªããçã® perl ã§æ¸ãããã¹ã¯ãªããã¯ãã®ã¾ã¾ Windows ã® DOSçª
|
---|
| 439 | ï¼Windows XPçã§ã¯ãã³ãã³ãã¹ã¯ãªãããï¼ã®ä¸ã§ã¯ä½¿ç¨ãããã¨ãã§ããªãï¼
|
---|
| 440 | ãã®ããï¼utils/m16c-renesas ãã£ã¬ã¯ããªã«ç¨æãããå°ç¨ã® Perl
|
---|
| 441 | ã¹ã¯ãªããã使ç¨ããï¼
|
---|
| 442 |
|
---|
| 443 | 4.3.3 ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã¹ã¯ãªããã®å®è¡
|
---|
| 444 |
|
---|
| 445 | > mkdir foo
|
---|
| 446 | > cd foo
|
---|
| 447 | > perl ..\utils\m16c-renesas\configure.m16c -C m32c -S oaks32 -T renesas -D ..
|
---|
| 448 |
|
---|
| 449 | -D ãªãã·ã§ã³ã¯ãã£ã¬ã¯ããªã®ä½ç½®ã«ããé©å½ã«ä¿®æ£ãã.
|
---|
| 450 | ä¾ã¯ foo ãã£ã¬ã¯ããªã JSPã«ã¼ãã«ã®ããããã£ã¬ã¯ããªã®ä¸ã«ããå ´åã®ä¾ã§ã.
|
---|
| 451 |
|
---|
| 452 | ãã®å¦çã«ããï¼ã«ã¬ã³ããã£ã¬ã¯ããªã«ã¯ä»¥ä¸ã®ãã¡ã¤ã«ãçæããã
|
---|
| 453 | ã»Makefile
|
---|
| 454 | ã»ãµã³ãã«ããã°ã©ã ç¨ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ï¼sample1.cfgï¼
|
---|
| 455 | ã»ãµã³ãã«ããã°ã©ã æ¬ä½ï¼sample1.hããã³sample1.cï¼
|
---|
| 456 | ããã§Makefileã®ä¿®æ£ãå¿
|
---|
| 457 | è¦ãªãã°ï¼ä¿®æ£ãè¡ãã®ã¯ä»ã®ã¿ã¼ã²ããã®å ´åã¨åãã§ããï¼
|
---|
| 458 |
|
---|
| 459 | 4.3.4 Makefile ã®ä¿®æ£
|
---|
| 460 |
|
---|
| 461 | (A) ã¡ã¢ãªã¢ãã¬ã¹ã®è¨å®
|
---|
| 462 |
|
---|
| 463 | RAMEND ã¯å²è¾¼ã¿ã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå¤ï¼RAM_START_ADR ã¯SFRãé¤ãã
|
---|
| 464 | RAMã®å
|
---|
| 465 | é çªå°ï¼ROM_START_ADR 㯠ROMã®å
|
---|
| 466 | é çªå°ããããã示ã.
|
---|
| 467 |
|
---|
| 468 | (B) ãã¼ã«ã®ã¤ã³ã¹ãã¼ã«ãã£ã¬ã¯ããª
|
---|
| 469 |
|
---|
| 470 | NC308WA ã³ã³ãã¤ã©ãã¼ã«ã®ã¤ã³ã¹ãã¼ã«ããã¦ãããã£ã¬ã¯ããªã
|
---|
| 471 | TOOLDIR ã«è¨å®ãã.
|
---|
| 472 |
|
---|
| 473 | (C) KD3083ã使ç¨ããã
|
---|
| 474 | 使ç¨ããå ´åã¯KD3083ã®å¤ã1ã«ï¼ä½¿ç¨ããªãå ´åã¯0ã«è¨å®ãã
|
---|
| 475 |
|
---|
| 476 | (D) ã©ã¤ãã©ãªã¢ã³ LB308ã使ããã©ãã
|
---|
| 477 |
|
---|
| 478 | ã¨ã³ããªã¼çã³ã³ãã¤ã©ãªã©ï¼ã©ã¤ãã©ãªã¢ã³ãæããªãéçºç°å¢ãç¨ãï¼
|
---|
| 479 | ã«ã¼ãã«ã©ã¤ãã©ãªã®æ§ç¯ãè¡ãªããªãå ´åã¯
|
---|
| 480 | USE_LB308 = TRUE
|
---|
| 481 | ã®è¡ãã³ã¡ã³ãã¢ã¦ããã
|
---|
| 482 |
|
---|
| 483 | (E) JSPã«ã¼ãã«ã½ã¼ã¹ã®ããããã£ã¬ã¯ããªã®ä½ç½®
|
---|
| 484 |
|
---|
| 485 | é常㯠configure ã¹ã¯ãªããã§è¨å®ãããï¼JSPã«ã¼ãã«ã½ã¼ã¹
|
---|
| 486 | ãã£ã¬ã¯ããªã¨ãã«ãä½æ¥ãè¡ããã£ã¬ã¯ããªã¨ã®ä½ç½®é¢ä¿ãå¤åããå ´åã¯
|
---|
| 487 | SRCDIR ã®å¤ãå¤æ´ãã.
|
---|
| 488 |
|
---|
| 489 | (F) ã¿ã¼ã²ãããã¡ã¤ã«ã®å®ç¾©
|
---|
| 490 |
|
---|
| 491 | ãã¼ããããå®è¡ããã°ã©ã ã®å½¢å¼ãæå®ããï¼IEEE-695å½¢å¼ã®ã¨ãã¯
|
---|
| 492 | $(OBJNAME).x30ï¼ã¢ããã¼ã© Så½¢å¼ã®æ㯠$(OBJNAME).mot ãæå®ããï¼
|
---|
| 493 |
|
---|
| 494 | (G) ãã®ä»
|
---|
| 495 |
|
---|
| 496 | ã以ä¸ã®é
|
---|
| 497 | ç®ã«ã¤ãã¦ã¯ï¼doc/user.txt ã®å
|
---|
| 498 | 容ã«æºæ ãã¦ããã®ã§
|
---|
| 499 | ãã¡ããåç
|
---|
| 500 | §ã®ãã¨.
|
---|
| 501 | ã»ã«ã¼ãã«ã©ã¤ãã©ãªã®ãã£ã¬ã¯ããªåã®å®ç¾©
|
---|
| 502 | ã»å
|
---|
| 503 | ±éã³ã³ãã¤ã«ãªãã·ã§ã³ã®å®ç¾©
|
---|
| 504 | ã»ã¢ããªã±ã¼ã·ã§ã³ããã°ã©ã ã«é¢ããå®ç¾©
|
---|
| 505 | ã»ãªãã¸ã§ã¯ããã¡ã¤ã«åã®å®ç¾©
|
---|
| 506 | ã»ã«ã¼ãã«ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«ã®çæ
|
---|
| 507 |
|
---|
| 508 | 4.3.5 ä¾åé¢ä¿ãã¡ã¤ã«ã®çæããã³ãµã³ãã«ã®å®è¡ããã°ã©ã ä½æ
|
---|
| 509 |
|
---|
| 510 | ä¾åé¢ä¿ãã¡ã¤ã« Makefile.depend ããã³å®è¡ããã°ã©ã jsp.x30 ããã³ jsp.mot ã
|
---|
| 511 | ä½æããã«ã¯æ¬¡ã®ããã«å®è¡ããï¼MinGW ã® make ãå©ç¨ããå ´åï¼make ã®ä»£ããã«
|
---|
| 512 | mingw32-make ãå®è¡ããå¿
|
---|
| 513 | è¦ããããããããªãï¼
|
---|
| 514 |
|
---|
| 515 | > make depend
|
---|
| 516 | > make
|
---|
| 517 |
|
---|
| 518 | ããã§å®è¡ããã°ã©ã (jsp.x30,jsp.mot)ãã«ã¬ã³ããã£ã¬ã¯ããªã«çæããã.
|
---|
| 519 |
|
---|
| 520 | 4.4 å®è¡ããã°ã©ã ã®è»¢é
|
---|
| 521 |
|
---|
| 522 | ãã¼ãä¸ã§å®è¡ã確èªããããã®æ¹æ³ã¨ãã¦ã¯2éãã®æ¹æ³ãããï¼
|
---|
| 523 |
|
---|
| 524 | a. MOTãã¡ã¤ã«ãFlashSta ããã°ã©ã ãç¨ãã¦ï¼ãã¼ãä¸ã®ãã©ãã·ã¥ROMã«æ¸ãè¾¼ã
|
---|
| 525 | b. ãããã¬KD3083ãç¨ãã¦ãã¼ãï¼å®è¡ãã
|
---|
| 526 | OAKS32 ã«ã¯ï¼ããã㬠KD3083 ãæ·»ä»ããã¦ããï¼ãã®ãããã¬ã¯
|
---|
| 527 | ãã©ãã·ã¥ROMä¸ã®ã¢ãã¿ããã°ã©ã 㨠UART1 ãç¨ã㦠PC ã¨éä¿¡ãè¡ã
|
---|
| 528 | ãã¨ã§ï¼ãããã¯æ©è½ãå®ç¾ããï¼
|
---|
| 529 | æ¬ã«ã¼ãã«ã¯KD3083ã使ç¨ãã¦ã«ã¼ãã«ã®ãã¼ãï¼å®è¡ãè¡ããã¨ãåºæ¥ãï¼
|
---|
| 530 | 使ç¨ã«å½ãã£ã¦ã¯ä¸é¨å¶éäºé
|
---|
| 531 | ãããï¼è©³ç´°ã«ã¤ãã¦ã¯KD3083ã®ããã¥ã¢ã«ã
|
---|
| 532 | åç
|
---|
| 533 | §ã®ãã¨ï¼
|
---|
| 534 |
|
---|
| 535 | 4.4.1 FlashStaãç¨ãã¦ãã©ãã·ã¥ROMã«æ¸ãè¾¼ãæ¹æ³
|
---|
| 536 |
|
---|
| 537 | ã»éçºç¨ã®ãã½ã³ã³ã¨OAKS32ãã¼ãã¨ãï¼RS-232Cã±ã¼ãã«ã使ã£ã¦æ¥ç¶ããï¼
|
---|
| 538 | OAKS32ãã¼ãã®UART1ãã¼ãã«æ¥ç¶ããï¼
|
---|
| 539 | ã»CNVSSãã³ãã¸ã£ã³ãã¼ãã³ã使ã£ã¦ã·ã§ã¼ããããï¼
|
---|
| 540 | ã»é»æºãæ¥ç¶ãï¼é»æºã¹ã¤ããããªã³ã«ããï¼
|
---|
| 541 |
|
---|
| 542 | ã»FlashStaãèµ·åããï¼
|
---|
| 543 | ã»Select Programã¡ãã¥ã¼ã«ã¦ãã¼ããé¸æãã¦ãOKããã¿ã³ãæ¼ãï¼
|
---|
| 544 | ã»ID Checkã¡ãã¥ã¼ã表示ãããããRefer..ããã¿ã³ãæ¼ãï¼MOTãã¡ã¤ã«ãé¸æããï¼
|
---|
| 545 | ã»Select Programã«æ»ã£ããï¼ãOKããã¿ã³ãæ¼ä¸ãFlash Startã¡ãã¥ã¼ã表示ãããï¼
|
---|
| 546 |
|
---|
| 547 | ã»ãEraseããã¿ã³ãæ¼ãï¼ãã©ãã·ã¥ROMãã¯ãªã¢ããï¼
|
---|
| 548 | ã»ãProgram..ããã¿ã³ãæ¼ãããã°ã©ã ã®æ¸ãè¾¼ã¿ãè¡ãï¼
|
---|
| 549 | ã»æ¸ãè¾¼ã¿ãçµäºãããï¼ãExitããã¿ã³ãæ¼ä¸ãFlashStaãçµäºãããï¼
|
---|
| 550 | ã»ãã¼ãã®é»æºãåãï¼CNVSSãã³ããã¸ã£ã³ãã¼ãã³ãã¯ããï¼
|
---|
| 551 |
|
---|
| 552 | 4.4.2 KD3083ã使ç¨ãã¦ãã¼ãï¼å®è¡ããæ¹æ³
|
---|
| 553 |
|
---|
| 554 | ã»ãã®æ¹æ³ãå®è¡ããå ´åã¯ï¼ãããããKD3083 ç¨ã®ã¢ãã¿ããã°ã©ã ã
|
---|
| 555 | å
|
---|
| 556 | è ROM ã«æ¸ãè¾¼ã¾ãã¦ãããã©ãã確èªãã. æ¸ãè¾¼ã¾ãã¦ããªãå ´åã¯
|
---|
| 557 | ã¢ãã¿ããã°ã©ã ãä¸è¨4.2.3ã® FlashSta ã使ç¨ãã¦æ¸ãè¾¼ãå¿
|
---|
| 558 | è¦ããã.
|
---|
| 559 |
|
---|
| 560 | ã»éçºç¨ã®ãã½ã³ã³ã¨OAKS32ãã¼ãã¨ãï¼RS-232Cã±ã¼ãã«ã使ã£ã¦æ¥ç¶ããï¼
|
---|
| 561 | OAKS32ãã¼ãã¯UART1ãã¼ãã«æ¥ç¶ããï¼
|
---|
| 562 | ã»é»æºãæ¥ç¶ãï¼é»æºã¹ã¤ããããªã³ã«ããï¼
|
---|
| 563 |
|
---|
| 564 | ã»KD3083ãèµ·åããï¼
|
---|
| 565 | ã»Initç»é¢ã§æ¥ç¶ããPCå´ã®ãã¼ãã¨éä¿¡é度ãè¨å®ãï¼ãOKããæ¼ãï¼
|
---|
| 566 | ã»ã¡ãã¥ã¼ãFileâDownloadâLoad Moduleããé¸æãï¼.x30ãã¡ã¤ã«ãé¸æããï¼
|
---|
| 567 | ããã¨ï¼ãã¼ãã¢ã¸ã¥ã¼ã«ãCPUãã¼ãã«è»¢éãããï¼
|
---|
| 568 | ãã¨ã¯ãGoããã¿ã³ãæ¼ãã°å®è¡ãéå§ãããï¼
|
---|
| 569 |
|
---|
| 570 | 4.4.3 sample1ã®å®è¡ã«å¿
|
---|
| 571 | è¦ãªPCå´ã®ã·ãªã¢ã«è¨å®
|
---|
| 572 |
|
---|
| 573 | ãã½ã³ã³ä¸ã§ç«¯æ«ã¨ãã¥ã¬ã¼ã¿ã½ããã¦ã§ã¢ãå®è¡ããï¼
|
---|
| 574 |
|
---|
| 575 | éä¿¡è¨å®ã¯ä»¥ä¸ã®éãï¼
|
---|
| 576 | ãã¼ã¬ã¼ãï¼ 38400bps
|
---|
| 577 | ãã¼ã¿é·ï¼8ããã
|
---|
| 578 | ããªãã£ï¼ãªã
|
---|
| 579 | ã¹ããããããï¼1ããã
|
---|
| 580 | ããã¼å¶å¾¡ï¼Xon/Xoff
|
---|
| 581 |
|
---|
| 582 | 5. ãã¡ã¤ã«æ§æ
|
---|
| 583 |
|
---|
| 584 | 5.1 ãã£ã¬ã¯ããªã»ãã¡ã¤ã«æ§æ
|
---|
| 585 |
|
---|
| 586 | (1) config/m32c-renesas
|
---|
| 587 |
|
---|
| 588 | api.h ã©ã¤ãã©ãªåããªãæã«ä½¿ç¨ããï¼APIå®ç¾©
|
---|
| 589 | cpu_config.c M32Cããã»ããµä¾åé¨ã® C é¢æ°
|
---|
| 590 | cpu_config.h M32Cããã»ããµä¾åé¨ã®æ§æå®ç¾©
|
---|
| 591 | cpu_context.h M32Cããã»ããµä¾åé¨ã®ã³ã³ããã¹ãæä½
|
---|
| 592 | cpu_defs.h M32Cããã»ããµä¾åé¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
|
---|
| 593 | cpu_insn.h M32Cããã»ããµã®ã¢ã»ã³ã㪠inline é¢æ°
|
---|
| 594 | cpu_rename.def ã«ã¼ãã«ã®å
|
---|
| 595 | é¨èå¥åã®ãªãã¼ã ã¨ãã®è§£é¤ã®å®ç¾©ãªã¹ã
|
---|
| 596 | cpu_rename.h ã«ã¼ãã«ã®å
|
---|
| 597 | é¨èå¥åã®ãªãã¼ã ã®å®ç¾©
|
---|
| 598 | cpu_support.a30 M32Cããã»ããµã®ã¢ã»ã³ããªé¢æ°
|
---|
| 599 | cpu_unrename.h ã«ã¼ãã«ã®å
|
---|
| 600 | é¨èå¥åã®ãªãã¼ã 解é¤ã®å®ç¾©
|
---|
| 601 | makeoffset.c offset.inc çæãµãã¼ãé¢æ°
|
---|
| 602 | offset.inc TCBã¡ã³ãã¸ã®ãªãã»ããå®ç¾©ãã¡ã¤ã«
|
---|
| 603 | start.a30 ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
|
---|
| 604 | tool_config.h M32Cããã»ããµã®éçºç°å¢ä¾åã¢ã¸ã¥ã¼ã«å®ç¾©
|
---|
| 605 | tool_defs.h M32Cããã»ããµã®éçºç°å¢ä¾åå®ç¾©
|
---|
| 606 |
|
---|
| 607 | (2) config/m32c-renesas/oak32/
|
---|
| 608 |
|
---|
| 609 | hw_serial.cfg SCI ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
|
---|
| 610 | hw_serial.h SCI ã®ããããã¡ã¤ã«
|
---|
| 611 | hw_timer.h OAKS32ç¨ã¿ã¤ãæä½ã«ã¼ãã³
|
---|
| 612 | Makefile.kernel ã«ã¼ãã«ã®ãã¡ã¤ã«æ§æã®å®ç¾©(M32Cç¨)
|
---|
| 613 | makeã³ãã³ããç¨ããm32cç¨TOPPERS/JSPã«ã¼ãã«æ§ç¯ã§ä½¿ç¨ãã
|
---|
| 614 | oaks32.h ããã»ããµã®å®ç¾©
|
---|
| 615 | sfr_uart.c OAKS32ç¨SIOãã©ã¤ãã®Cé¢æ°
|
---|
| 616 | sfr_uart.h OAKS32ç¨SIOãã©ã¤ãã®ããããã¡ã¤ã«
|
---|
| 617 | sys_config.c OAKS32ãã¼ãä¾åé¨ã® C é¢æ°
|
---|
| 618 | sys_config.h OAKS32ãã¼ãä¾åé¨ã®æ§æå®ç¾©
|
---|
| 619 | sys_defs.h OAKS32ãã¼ãä¾åé¨ã®ã¢ããªã±ã¼ã·ã§ã³ç¨å®ç¾©
|
---|
| 620 | sys_rename.def ã«ã¼ãã«ã®å
|
---|
| 621 | é¨èå¥åã®ãªãã¼ã ã¨ãã®è§£é¤ã®å®ç¾©ãªã¹ã
|
---|
| 622 | sys_rename.h ã«ã¼ãã«ã®å
|
---|
| 623 | é¨èå¥åã®ãªãã¼ã ã®å®ç¾©
|
---|
| 624 | sys_unrename.h ã«ã¼ãã«ã®å
|
---|
| 625 | é¨èå¥åã®ãªãã¼ã 解é¤ã®å®ç¾©
|
---|
| 626 |
|
---|
| 627 | (3) tools/M32C-RENESAS/
|
---|
| 628 | çµ±åéçºç°å¢TMãç¨ãã¦TOPPERS/JSPãæ§ç¯ããããã®
|
---|
| 629 | ããã¸ã§ã¯ããã¡ã¤ã«ãç½®ããããã£ã¬ã¯ããª
|
---|
| 630 | Jsp14sample1.tmi,Jsp14sample.tmk
|
---|
| 631 | TMãç¨ãã¦OAKS32ç¨ã®TOPPERS/JSPãæ§ç¯ããããã®ããã¸ã§ã¯ããã¡ã¤ã«
|
---|
| 632 | sample1.cfg OAKS32ç¨ã®TOPPERS/JSPãæ§ç¯ããããã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
|
---|
| 633 |
|
---|
| 634 | (4) sample/
|
---|
| 635 |
|
---|
| 636 | Makefile.m32c-oaks32 GNU make ã³ãã³ãã使ç¨ãã¦TOPPERS/JSPã«ã¼ãã«ãæ§ç¯
|
---|
| 637 | ããããã® Makefile
|
---|