Top Page [◀◀]  2   3   4   5   6   7   8   9   ... [▶▶Last Page

北斗電子社製RX65Nボード(HSBRX65N100)でpingが通りません

お世話になります。

北斗電子社製RX65NボードのHSBRX65N100にて、UDP通信をさせたいのですが、pingが通りません。
こちらのフォーラムを参考にいろいろ試しているのですが、原因がわかりません。
以下の手順で、プロジェクトを立ち上げています。
何かお気づきの点がございましたら、ご教授いただきたく、宜しくお願い致します。

開発環境は、
IDE:CS+ for CC V8.01.00
エミュレータ:E1

プロジェクト立ち上げ手順
(1) CS+ for CC V8.01.00 起動、新規プロジェクト作成
  ・使用するマイクロコントローラ「R5F565N9BxFP(100pin)」
  ・プロジェクトの種類「アプリケーション(CC-RX)」
  ・プロジェクト名「HSBRX65N100」
  →作成
(2) スマート・コンフィグレータ(設計ツール) V2.0.0 起動
  ・ボード:HSBRX65N100_V1.00 → 保存して続ける
  ・クロック:VCC 3.3V、メインクロック=24MHz、サブクロック=32.768kHz、
        システムクロック=120MHz、周辺モジュールクロック=60MHz
  ・コンポーネント:r_bsp(4.00)、r_cmt_rx(3.31)、r_ether_rx(1.15)、r_sys_time_rx(1.00)、r_t4_driver_rx(1.07)、r_t4_rx(2.08) を追加
   r_ether_rx:interface=MII、PHY address=31、ETHER0 選択、リソース=ETHERC0_MII、端子は、ET0_LINKSTA、ET0_WOLは使用しない。
   r_t4_rx:DHCP Disable、IP Address Ch0=192.168.0.101に変更
        UDP CEPID3~6の channel number=0→1、callback function use=0→1、callback name=0→udp_nonblocking_callback に変更
  ・端子:修正
   ETHERC_MII0:ET0_EXOUT=4→64
   システム制御:EMLE、RES# → 使用する
   オンチップエミュレータ:TCK、TDI、TDO、TMS、TRST# → 使用する
  →コード生成 → はい
(3) CC-RX(ビルドツール)の設定変更
  ・最適化レベル=2→0
  ・セクションの開始アドレス変更:アドレス0x00000004からB_ETHERNET_BUFFERS_1、B_RX_DESC_1、B_TX_DESC_1の順番で追加
(4) デバッグツールの変更
  ・RX シミュレータ → RX E1(JTAG)に変更
  ・メインクロック周波数:24MHz
  ・動作周波数:120MHz
(5) メイン処理作成
  ・an-r20an0051jj0208-rx-t4-connectivity/FITDemos/rskrx65n_2mb_udp_nonblocking内の『echo_srv.c/.h』をプロジェクトに追加
  ・同梱されているmain.cをHSBRX65N100.cに上書き。
  ・HSBRX65N100.cの修正
   #include "r_pinset.h" 追加。
   R_Pins_Create()を呼び出し後に、R_ETHER_PinSet_ETHERC0_MII()の呼び出しを追加。
   R_ETHER_PinSet_ETHERC0_MII()呼び出し後に、PHY-LSIのリセット解除
    //EDMAC0.IOSR.BIT.ELB = 1; ←EXOUT=1とならなかったので、汎用IOでリセット解除
    PORTA.PMR.BIT.B6 = 0U;
    PORTA.PDR.BIT.B6 = 1U;
    PORTA.PODR.BIT.B6 = 1U;
(6) ビルド:OK
(7) 動作確認:
  ・ボードのIPアドレス:192.168.0.101
  ・USB給電
  ・E1接続
  ・PC(IPアドレス:192.168.0.100)とはCAT.5Eのクロスケーブルで接続
  ・echo_srv()で待機するところまで確認
  ・pingの結果:
   192.168.0.101 に ping を送信しています 32 バイトのデータ:
   192.168.0.100 からの応答: 宛先ホストに到達できません。
   要求がタイムアウトしました。
   要求がタイムアウトしました。
   要求がタイムアウトしました。
   192.168.0.101 の ping 統計:
    パケット数: 送信 = 4、受信 = 1、損失 = 3 (75% の損失)、

以上、宜しくお願い致します。

  • kukoさん

     

    こんにちは、モッチーです。

     

    内容を確認して、いくつか気が付いた点がありました。

     

    > 端子は、ET0_LINKSTA、ET0_WOLは使用しない。

    ET0_LINKSTAを使用しない場合は、ETHER_CFG_USE_LINKSTAを"0"に設定する必要がありそうです。

     

    > アドレス0x00000004からB_ETHERNET_BUFFERS_1、B_RX_DESC_1、B_TX_DESC_1の順番で追加

    B_ETHERNET_BUFFERS_1は32バイト境界、B_RX_DESC_1、B_TX_DESC_1は16バイト境界に設定する必要があると思います。

    r_ether_rx v1.15のドキュメント「5.1 セクション配置」に詳細が記載されています。

     

    > UDP CEPID3~6の channel number=0→1

    RX65NはEthernetを1チャネルしか搭載していないので、この設定は意味がないのでは?

     

    > //EDMAC0.IOSR.BIT.ELB = 1; ←EXOUT=1とならなかったので、汎用IOでリセット解除

    EDMAC0のレジスタに値を書き込むためには、先にモジュールストップを解除しておく必要があると思います。

     

    以上よろしくお願いします。

  • In reply to モッチー:

    モッチー様

    ご教授ありがとうございます。
    こちらでポート1367に対してエコーバック動作することを確認できました。
    原因は、ご指摘頂いたセクション開始アドレスが問題でした。
    r_ether_rx v1.15のドキュメント「5.1 セクション配置」のようにアドレスを設定することでクリアしました。
    他のご指摘の内容は、追って確認したいと思います。
    アドバイスありがとうございました。

    以上、宜しくお願い致します。

Top Page [◀◀]  2   3   4   5   6   7   8   9   ... [▶▶Last Page