Ignore:
Timestamp:
Mar 8, 2016, 8:37:45 PM (8 years ago)
Author:
coas-nagasima
Message:

MIMEにSJISを設定

File:
1 edited

Legend:

Unmodified
Added
Removed
  • UsbWattMeter/trunk/lwip-1.4.1/ports/grsakura/if_rx62n.c

    • Property svn:mime-type changed from text/x-csrc to text/x-csrc; charset=SHIFT_JIS
    r164 r167  
    118118
    119119/*
    120  *  rx62n_bus_init -- ƒ^[ƒQƒbƒgˆË‘¶•”‚̃oƒX‚̏‰Šú‰»
     120 *  rx62n_bus_init -- ターゲット依存部のバスの初期化
    121121 */
    122122
     
    124124rx62n_bus_init (void)
    125125{
    126   /* ƒC[ƒTƒlƒbƒgEƒRƒ“ƒgƒ[ƒ‰‚Ì“®ì‚ð‹–‰Â */
    127   sil_wrh_mem((uint16_t *)SYSTEM_PRCR_ADDR, (uint16_t)0xA502);  /* ‘ž‚Ý‹–‰Â */
     126  /* イーサネット・コントローラの動作を許可 */
     127  sil_wrh_mem((uint16_t *)SYSTEM_PRCR_ADDR, (uint16_t)0xA502);  /* 書込み許可 */
    128128  sil_wrw_mem((uint32_t *)SYSTEM_MSTPCRB_ADDR,
    129129    sil_rew_mem((uint32_t *)SYSTEM_MSTPCRB_ADDR) & ~SYSTEM_MSTPCRB_MSTPB15_BIT);
    130   sil_wrh_mem((uint16_t *)SYSTEM_PRCR_ADDR, (uint16_t)0xA500);  /* ‘ž‚Ý‹ÖŽ~ */
    131 
    132   /* EtherNET—LŒø */
    133   /* PA3`5 RMII_MDIO, RMII_MDC, RMII_LINKSTA */
     130  sil_wrh_mem((uint16_t *)SYSTEM_PRCR_ADDR, (uint16_t)0xA500);  /* 書込み禁止 */
     131
     132  /* EtherNET有効 */
     133  /* PA35 RMII_MDIO, RMII_MDC, RMII_LINKSTA */
    134134  sil_wrb_mem((uint8_t *)PORTA_PMR_ADDR,
    135135    sil_reb_mem((uint8_t *)PORTA_PMR_ADDR) | (1 << 3) | (1 << 4) | (1 << 5));
    136   /* PB0`7 RXD1, RXD0, REF50CK, RX-ER, TXD-EN, TXD0, TXD1, CRS */
     136  /* PB07 RXD1, RXD0, REF50CK, RX-ER, TXD-EN, TXD0, TXD1, CRS */
    137137  sil_wrb_mem((uint8_t *)PORTB_PMR_ADDR,
    138138    sil_reb_mem((uint8_t *)PORTB_PMR_ADDR) | 0xFF);
    139139
    140   /* ‘‚«ž‚݃vƒƒeƒNƒgƒŒƒWƒXƒ^‚̐ݒè PFSWEƒrƒbƒg‚ւ̏‘‚«ž‚Ý‚ð‹–‰Â */
     140  /* 書き込みプロテクトレジスタの設定 PFSWEビットへの書き込みを許可 */
    141141  sil_wrb_mem((uint8_t *)(MPC_PWPR_ADDR) , 0x00);
    142   /* ‘‚«ž‚݃vƒƒeƒNƒgƒŒƒWƒXƒ^‚̐ݒè PxxFSƒŒƒWƒXƒ^‚ւ̏‘‚«ž‚Ý‚ð‹–‰Â */
     142  /* 書き込みプロテクトレジスタの設定 PxxFSレジスタへの書き込みを許可 */
    143143  sil_wrb_mem((uint8_t *)(MPC_PWPR_ADDR) , 0x40);
    144144
    145   /* PA3‚ðET_MDIO‚Æ‚·‚é */
     145  /* PA3をET_MDIOとする */
    146146  sil_wrb_mem((uint8_t *)MPC_PA3PFS_ADDR, 0x11);
    147   /* PA4‚ðET_MDC‚Æ‚·‚é */
     147  /* PA4をET_MDCとする */
    148148  sil_wrb_mem((uint8_t *)MPC_PA4PFS_ADDR, 0x11);
    149   /* PA5‚ðET_LINKSTA‚Æ‚·‚é */
     149  /* PA5をET_LINKSTAとする */
    150150  sil_wrb_mem((uint8_t *)MPC_PA5PFS_ADDR, 0x11);
    151151
    152   /* PB0‚ðRXD1‚Æ‚·‚é */
     152  /* PB0をRXD1とする */
    153153  sil_wrb_mem((uint8_t *)MPC_PB0PFS_ADDR, 0x12);
    154   /* PB1‚ðRXD0‚Æ‚·‚é */
     154  /* PB1をRXD0とする */
    155155  sil_wrb_mem((uint8_t *)MPC_PB1PFS_ADDR, 0x12);
    156   /* PB2‚ðREF50CK‚Æ‚·‚é */
     156  /* PB2をREF50CKとする */
    157157  sil_wrb_mem((uint8_t *)MPC_PB2PFS_ADDR, 0x12);
    158   /* PB3‚ðRX-ER‚Æ‚·‚é */
     158  /* PB3をRX-ERとする */
    159159  sil_wrb_mem((uint8_t *)MPC_PB3PFS_ADDR, 0x12);
    160   /* PB4‚ðTXD-EN‚Æ‚·‚é */
     160  /* PB4をTXD-ENとする */
    161161  sil_wrb_mem((uint8_t *)MPC_PB4PFS_ADDR, 0x12);
    162   /* PB5‚ðTXD0‚Æ‚·‚é */
     162  /* PB5をTXD0とする */
    163163  sil_wrb_mem((uint8_t *)MPC_PB5PFS_ADDR, 0x12);
    164   /* PB6‚ðTXD1‚Æ‚·‚é */
     164  /* PB6をTXD1とする */
    165165  sil_wrb_mem((uint8_t *)MPC_PB6PFS_ADDR, 0x12);
    166   /* PB7‚ðCRS‚Æ‚·‚é */
     166  /* PB7をCRSとする */
    167167  sil_wrb_mem((uint8_t *)MPC_PB7PFS_ADDR, 0x12);
    168168
    169   /* ‘‚«ž‚݃vƒƒeƒNƒgƒŒƒWƒXƒ^‚ÌÝ’è ‘‚«ž‚Ý‚ð‹ÖŽ~ */
     169  /* 書き込みプロテクトレジスタの設定 書き込みを禁止 */
    170170  sil_wrb_mem((uint8_t *)(MPC_PWPR_ADDR) , 0x80);
    171171}
    172172
    173173/*
    174  *  rx62n_init_sub -- ƒlƒbƒgƒ[ƒNƒCƒ“ƒ^ƒtƒF[ƒX‚̏‰Šú‰»
    175  *
    176  *    ’ˆÓ: NIC Š„‚荞‚Ý‹ÖŽ~ó‘ԂŌĂяo‚·‚±‚ƁB
     174 *  rx62n_init_sub -- ネットワークインタフェースの初期化
     175 *
     176 *    注意: NIC 割り込み禁止状態で呼び出すこと。
    177177 */
    178178
     
    183183  PHY_STATE_T state = PHY_STATE_UNINIT;
    184184
    185   /* MAC•”ƒ\ƒtƒgƒEƒGƒAEƒŠƒZƒbƒg */
     185  /* MAC部ソフトウエア・リセット */
    186186  sil_wrw_mem(EDMAC_EDMR, sil_rew_mem(EDMAC_EDMR) | EDMAC_EDMR_SWR_BIT);
    187187
     
    194194    | (uint32_t)mac_addr[5]);
    195195
    196   /* PHYƒŠƒZƒbƒg */
     196  /* PHYリセット */
    197197  while ((state = phy_reset(state, 0)) != PHY_STATE_RESET);
    198198  ethernetif->state = state;
     
    201201  sil_wrw_mem(ETHERC_ECSR, 0x00000037);
    202202
    203   /* ƒŠƒ“ƒN•Ï‰»Š„‚荞‚Ý—LŒø */
     203  /* リンク変化割り込み有効 */
    204204  sil_wrw_mem(ETHERC_ECSIPR, sil_rew_mem(ETHERC_ECSIPR) | ETHERC_ECSIPR_LCHNGIP);
    205205
     
    207207  sil_wrw_mem(EDMAC_EESR, 0x47FF0F9F);
    208208
    209   /* ‘—ŽóMŠ„‚荞‚Ý—LŒø */
     209  /* 送受信割り込み有効 */
    210210  sil_wrw_mem(EDMAC_EESIPR, (EDMAC_EESIPR_TCIP | EDMAC_EESIPR_FRIP | EDMAC_EESIPR_RDEIP | EDMAC_EESIPR_FROFIP));
    211211
    212   /* ŽóMƒtƒŒ[ƒ€’·ãŒÀiƒoƒbƒtƒ@ƒTƒCƒYj */
     212  /* 受信フレーム長上限(バッファサイズ) */
    213213  sil_wrw_mem(ETHERC_RFLR, IF_RX62N_BUF_PAGE_SIZE);
    214214
    215   /* 96ƒrƒbƒgŽžŠÔi‰Šú’lj */
     215  /* 96ビット時間(初期値) */
    216216  sil_wrw_mem(ETHERC_IPGR, 0x00000014);
    217217
     
    232232  sil_wrw_mem(EDMAC_RMCR, 0x00000001);
    233233
    234   /* PHY‚̏‰Šú‰»‚𑣂· */
     234  /* PHYの初期化を促す */
    235235  ethernetif->link_pre = false;
    236236  ethernetif->link_now = true;
     
    270270  ER ret;
    271271
    272   /* NIC ‚©‚ç‚ÌŠ„‚荞‚Ý‚ð‹ÖŽ~‚·‚éB*/
     272  /* NIC からの割り込みを禁止する。*/
    273273  ret = dis_int(INTNO_IF_RX62N_TRX);
    274274  if (ret != E_OK)
     
    299299  rdsc->rdle = 1;
    300300
    301   /* rx62n_init –{‘Ì‚ðŒÄ‚яo‚·B*/
     301  /* rx62n_init 本体を呼び出す。*/
    302302  rx62n_init_sub(netif);
    303303
     
    306306  }
    307307
    308   /* NIC ‚©‚ç‚ÌŠ„‚荞‚Ý‚ð‹–‰Â‚·‚éB*/
     308  /* NIC からの割り込みを許可する。*/
    309309  ret = ena_int(INTNO_IF_RX62N_TRX);
    310310  if (ret != E_OK)
     
    313313
    314314/*
    315 *  rx62n_set_ecmr -- ECMRƒŒƒWƒXƒ^‚̐ݒè
     315*  rx62n_set_ecmr -- ECMRレジスタの設定
    316316*/
    317317
     
    328328    ecmr |= ETHERC_ECMR_RTM;
    329329
    330   /* “®ìƒ‚[ƒhÝ’è */
     330  /* 動作モード設定 */
    331331  sil_wrw_mem(ETHERC_ECMR, ecmr);
    332332}
     
    500500
    501501/*
    502  * rx62n_link -- ƒŠƒ“ƒNó‘Ԃ̕ω»‚ɑ΂·‚鏈—
     502 * rx62n_link -- リンク状態の変化に対する処理
    503503 */
    504504bool_t
     
    517517        }
    518518
    519         /* PHY‚̏‰Šú‰» */
     519        /* PHYの初期化 */
    520520        ethernetif->state = phy_initialize(ethernetif->state, 0, &mode);
    521521        if(ethernetif->state != PHY_STATE_NEGOTIATED){
     
    523523        }
    524524
    525         /* ECMRƒŒƒWƒXƒ^‚̐ݒè */
     525        /* ECMRレジスタの設定 */
    526526        rx62n_set_ecmr(netif, mode);
    527527        return true;
     
    550550      bool_t cng = ethernetif->link_pre != ethernetif->link_now;
    551551      ethernetif->link_pre = ethernetif->link_now;
    552       /* ƒŠƒ“ƒNó‘Ԃɕω»‚ ‚è */
     552      /* リンク状態に変化あり */
    553553      if(cng){
    554554        if (ethernetif->link_pre) {
     
    657657
    658658/*
    659 *  RX62N Ethernet Controler ‘—ŽóMŠ„‚荞‚݃nƒ“ƒhƒ‰
     659*  RX62N Ethernet Controler 送受信割り込みハンドラ
    660660*/
    661661
     
    675675
    676676  if (ecsr & ETHERC_ECSR_LCHNG) {
    677     /* ETHERC•”Š„‚荞‚Ý—vˆöƒNƒŠƒA */
     677    /* ETHERC部割り込み要因クリア */
    678678    sil_wrw_mem(ETHERC_ECSR, ETHERC_ECSR_LCHNG);
    679679
     
    681681    ethernetif->link_now = (psr & ETHERC_PSR_LMON) != 0;
    682682
    683     /* ƒŠƒ“ƒNó‘Ԃɕω»‚ ‚è */
     683    /* リンク状態に変化あり */
    684684    if (ethernetif->link_pre != ethernetif->link_now) {
    685       /* ŽóMŠ„‚荞‚ݏˆ— */
     685      /* 受信割り込み処理 */
    686686      isig_sem(ethernetif->sem_rev);
    687687    }
     
    691691
    692692  if (eesr & EDMAC_EESR_FR) {
    693     /* DMA•”Š„‚荞‚Ý—vˆöƒNƒŠƒA */
     693    /* DMA部割り込み要因クリア */
    694694    sil_wrw_mem(EDMAC_EESR, EDMAC_EESR_FR);
    695695
    696     /* ŽóMŠ„‚荞‚ݏˆ— */
     696    /* 受信割り込み処理 */
    697697    isig_sem(ethernetif->sem_rev);
    698698  }
    699699  if (eesr & EDMAC_EESR_TC) {
    700     /* DMA•”Š„‚荞‚Ý—vˆöƒNƒŠƒA */
     700    /* DMA部割り込み要因クリア */
    701701    sil_wrw_mem(EDMAC_EESR, EDMAC_EESR_TC);
    702702
    703     /* ‘—MŠ„‚荞‚ݏˆ— */
     703    /* 送信割り込み処理 */
    704704    isig_sem(ethernetif->sem_rev);
    705705  }
    706706  if (eesr & (EDMAC_EESR_FROF | EDMAC_EESR_RDE)) {
    707     /* DMA•”Š„‚荞‚Ý—vˆöƒNƒŠƒA */
     707    /* DMA部割り込み要因クリア */
    708708    sil_wrw_mem(EDMAC_EESR, EDMAC_EESR_FROF | EDMAC_EESR_RDE);
    709709
    710710    ethernetif->over_flow = true;
    711711
    712     /* ŽóMŠ„‚荞‚ݏˆ— */
     712    /* 受信割り込み処理 */
    713713    isig_sem(ethernetif->sem_rev);
    714714  }
Note: See TracChangeset for help on using the changeset viewer.