R20AN0314JJ0101 Rev.1.01 Page 1 of 33 2016.04.15
RX ファミリ
組み込み用 TCP/IP M3S-T4-Tiny を使った応用例(DHCP/DNS/FTP/HTTP)
Firmware Integration Technology
要旨
本アプリケーションノートでは、組み込み用 TCP/IP M3S-T4-Tiny (以降、T4)を使った応用例 (DHCP/DNS/FTP/HTTP) (以降、T4 応用例)の情報を提供します。 T4 応用例では、以下のソフトウェアを組み合わせて作成しています。 表 1 機能組み合わせ一覧 機能 使用したソフトウェア (ドキュメント番号) サンプルのタイプ(※1) ウェブ ページ タイプ① タイプ② タイプ③ TCP/IP T4 (R20AN0051) ○ ○ ○ link DHCP クライアント T4 を用いた DHCP クライアントモジュール (以降、DHCP クライアント) (R20AN0081) ○ ○ ○ link DNS クライアント T4 を用いた DNS クライアントモジュール (以降、DNS クライアント) (R20AN0103) ○ ○ ○ link FTP サーバ T4 を用いた FTP サーバモジュール (以降、FTP サーバ) (R20AN0078) × ○ ○ link WEB サーバ T4 を用いた WEB サーバモジュール (以降、WEB サーバ) (R20AN0075) ○ ○ ○ link BSP ボードサポートパッケージモジュール (R01AN1685) ○ ○ ○ linkCMT CMT(Compare Match Timer)モジュール (R01AN1856) ○ × × --- I/F 変換 Ether ドライバと T4 のインタフェース変換モ ジュール (R20AN0311) ○ ○ ○ link ETHER ドライバ ETHER ドライバモジュール (R01AN2009) ○ ○ ○ link ファイルシステム M3S-TFAT-Tiny モジュール (R20AN0038) × ○ ○ link
USB ドライバ USB ドライバモジュール × ○ × link
MMC ドライバ(※2) MMC ドライバモジュール × × ○ link (○:使用、×:未使用) 【注】 ※1 タイプ①:WEB コンテンツを内蔵 ROM に格納するタイプ タイプ②:WEB コンテンツを USB メモリに格納するタイプ タイプ③:WEB コンテンツを MMC に格納するタイプ ※2 MMC とのコマンド互換を持つ一部の SD カード(2GB 以下)は読み書き可能です。 R20AN0314JJ0101 Rev.1.01 2016.04.15
R20AN0314JJ0101 Rev.1.01 Page 2 of 33 2016.04.15
動作確認デバイス
RX62N グループ、RX63N グループ、RX64M グループ目次
1.
概要 ... 3
1.1 アプリケーションノート構成 ... 3 1.2 システム構成 ... 4 1.3 ソフトウェア構成 ... 5 1.4 開発環境 ... 6 1.5 コンパイル時の設定 ... 7 1.6 CS+プロジェクトへの変換方法 ... 72.
サンプルプログラムの動作確認 ... 8
2.1 ハードウェア準備 ... 8 2.1.1 ボード関連準備 ... 8 2.2 ソフトウェアの準備 ... 19 2.2.1 DHCP サーバを使用する場合 ... 19 2.2.2 DHCP サーバを使用しない場合 ... 20 2.3 動作確認 ... 24 2.3.1 WEB サーバ機能を確認する場合 ... 24 2.3.2 FTP サーバ機能を確認する場合 ... 27 2.4 性能概要 ... 29 2.4.1 WEB サーバ機能 ... 29 2.4.2 FTP サーバ機能 ... 31R20AN0314JJ0101 Rev.1.01 Page 3 of 33 2016.04.15
1. 概要
1.1
アプリケーションノート構成
本アプリケーションノートは、以下のものから構成されています。 表 2 アプリケーションノート構成 構成 内容 必要機材 リンク r20an0314jj0101_rx_t4.pdf 本書 ― readme_r20j.txt サンプルプログラムの情報 ― workspace ― サンプルプログラム(sample) ― 外部メモリ(use_case_external_memory) ― MMC ―rx62n_rsk Renesas Starter Kit+ for RX62N 用サンプルプログラ ムディレクトリ (e2 studio) link rx63n_gr_sakura RX63N-GR-SAKURA 用サンプルプログラムディレク トリ (e2 studio) link
rx63n_rsk Renesas Starter Kit+ for RX63N 用サンプルプログラ ムディレクトリ
(e2 studio)
link
USB
RX62N Renesas Starter Kit+ for RX62N 用サンプルプログラ ムディレクトリ
(e2 studio)
link
内部メモリ(use_case_internal_memory) ―
― rx62n_rsk Renesas Starter Kit+ for RX62N 用サンプルプログラ
ムディレクトリ (e2 studio) link rx63n_gr_sakura RX63N-GR-SAKURA 用サンプルプログラムディレク トリ (e2 studio) link
rx63n_rsk Renesas Starter Kit+ for RX63N 用サンプルプログラ ムディレクトリ
(e2 studio)
link
rx64m_rsk Renesas Starter Kit+ for RX64M 用サンプルプログラ ムディレクトリ
(e2 studio)
link
コンテンツ(contents) ―
R20AN0314JJ0101 Rev.1.01 Page 4 of 33 2016.04.15
1.2
システム構成
本アプリケーションノートに付属するサンプルプログラムのシステム構成図を示します。 【注】 ※1 RX62N CPU ボードまたは RX63N CPU ボードを利用する場合、SD カード拡張基板(CK-35) が別途必要です ※2 DHCP サーバおよび、DNS サーバは必要に応じて接続します 図 1 システム構成 Ethernet PHYチップ Ethernet・ コントローラ ROM 発振器 E-DMAC RAM LANケーブル スイッチング・ ハブ LANケーブル CPU RSPI/USB 発振子 MII/RMII SDカード/ USBメモリ SDカードスロット(※1) USBコネクタ PC (Webブラウザ/FTPクライアントソフト) パルストランス内蔵 RJ-45コネクタ LANケーブル PC (DHCPサーバ※2) LANケーブル PC (DNSサーバ※2) Renesas Starter KitR20AN0314JJ0101 Rev.1.01 Page 5 of 33 2016.04.15
1.3
ソフトウェア構成
本アプリケーションノートに付属するサンプルプログラムのソフトウェア構成図を示します。 図 2 ソフトウェア構成 (WEB コンテンツを USB/MMC メモリに格納するタイプ) 図 3 ソフトウェア構成 (WEB コンテンツを内蔵 ROM に格納するタイプ) Application DHCP Client (R20AN0081) T4 Library (R20AN0051) File Driver DNS Client (R20AN0103) FTP Server (R20AN0078) HTTP Server (R20AN0075)Interface conversion module for Ether Driver and Embedded system T4 (R20AN0311)
Ether ドライバ (R01AN2009) タイマドライバ (R01AN1856) BSP (R01AN1685) ソフトウ ェア
EtherC/EDMAC CMT Flash ROM
アドレス 直接指定 読み込み Application DHCP Client (R20AN0081) T4 Library (R20AN0051) File Driver DNS Client (R20AN0103) FTP Server (R20AN0078) HTTP Server (R20AN0075)
Interface conversion module for Ether Driver and Embedded system T4 (R20AN0311)
Ether ドライバ (R01AN2009) タイマドライバ (R01AN1856) TFAT Library (R20AN0038)
TFAT-USB/MMC Driver I/F Changer driver
USB Driver MMC Driver
BSP (R01AN1685)
ソフトウ
ェア
R20AN0314JJ0101 Rev.1.01 Page 6 of 33 2016.04.15
1.4
開発環境
弊社の開発環境を以下に示します。 ユーザアプリケーション開発時は以下のバージョンより新しいものをご使用下さい。 [ソフトウェアツール] • 統合開発環境 e2 studio V4.2.0 CS+ V3.01.00 • C コンパイラ - e2 studio • RX ファミリ用 C/C++コンパイラパッケージ V2.03.00 - CS+ • CS+ CC-RX コンパイラ V2.03.00 [デバッグツール] • E1 エミュレータ [デバッグソフトウェア] - e2 studio• Renesas RX Debug Support Version: 4.0.0.201511231025 - CS+
• デバッガ・コレクション・プラグイン V3.01.00.06 [ボード]
Ethernet:
• Renesas Starter Kit+ for RX64M (型名:R0K50564MS100BE) • Renesas Starter Kit+ for RX63N (型名:R0K50563NS100BE) • Renesas Starter Kit+ for RX62N (型名:R0K5562N0S100BE)
• がじぇっとるねさす RX63N 搭載ボード (型名:GR-SAKURA、GR-SAKURA-FULL)
その他、サンプルプログラムの実行に必要な機材、サンプルプログラムの動作確認については、2章 サン プルプログラムの動作確認を参照してください。
R20AN0314JJ0101 Rev.1.01 Page 7 of 33 2016.04.15
1.5
コンパイル時の設定
各機能で個別に必要な設定は、2章 サンプルプログラムの動作確認を参照してください。 ここでは、サンプルプログラムの機能組み合わせにより必要な設定について説明します。ここで説明する コンフィギュレーションオプションの設定は、統合開発環境のコンパイラオプションのマクロ定義で行いま す。 表 3 オプション一覧 統合開発環境のコンパイラオプションのマクロ定義 T4_FTP_SERVER FTP サーバ機能を有効する場合、本マクロを定義します。T4_FTP_SERVER_FIRST T4 config_tcpudp.c の tcp_crep[]および tcp_ccep[]にて、FTP サーバの設定を WEB サーバの設定より前に配置する場合、本マクロを定義します。
1.6
CS+プロジェクトへの変換方法
e2 studio のプロジェクトは、プロジェクト内に含まれている rcpc ファイルを用いて、CS+プロジェクトへコ
ンバートすることができます。以下、rx64m_rsk を例に説明します。 変換方法を以下に示します。
1. CS+を起動し、「e2 studio / CubeSuite / …」の「GO」ボタンを押します。
2.「e2 studio プロジェクト・ファイル(*.rcpc)」を選択して、*.rcpc ファイルを開きます。 3.「プロジェクト変換設定」ウインドウが開き、ツリー上でプロジェクトを選択します。 4.ツリーの右側のプロジェクト設定で、使用するマイクロコントローラを「RX64M」-> 「R5F564MLCxFC」 を選択して「OK」を押します。CS+は変換されたプロジェクトを出力します。 5.「プロジェクトツリー」から「CC-RX」を選択します。 6.「共通オプション」タブ->の「CPU」->「命令セット・アーキテクチャ」を「RXv2 アーキテクチャ」に 設定します。 7.WEB コンテンツを内蔵 ROM に格納するタイプのプロジェクトの場合、「リンク・オプション」タブ-> の「入力」->「バイナリ・データ・ファイル」の設定を以下のように変更します。 [変更前] %ProjectFolder%/../%ProjectName%/contents/demo.htm}(C:4/DATA,_demo) %ProjectFolder%/../%ProjectName%/contents/sakura.jpg}(C:4/DATA,_sakura) %ProjectFolder%/../%ProjectName%/contents/rsk.jpg}(C:4/DATA,_rsk) %MainProjectDir%¥%ProjectName%¥contents¥demo.htm(C:4/DATA,_demo) %MainProjectDir%¥%ProjectName%¥contents¥sakura.jpg(C:4/DATA,_sakura) %MainProjectDir%¥%ProjectName%¥contents¥rsk.jpg(C:4/DATA,_rsk) [変更後] 不要な”}”と不要なパスを削除します。 %ProjectFolder%/../%ProjectName%/contents/demo.htm(C:4/DATA,_demo) %ProjectFolder%/../%ProjectName%/contents/sakura.jpg(C:4/DATA,_sakura) %ProjectFolder%/../%ProjectName%/contents/rsk.jpg(C:4/DATA,_rsk) 8.プロジェクトをビルドして、ビルド完了します。 9.ユーザは環境に合わせてデバッグツールの設定を行ってください。その後、ユーザはサンプルプログラ ムの動作を確認することができます。
R20AN0314JJ0101 Rev.1.01 Page 8 of 33 2016.04.15
2. サンプルプログラムの動作確認
2.1
ハードウェア準備
2.1.1
ボード関連準備
• (a) タイプ① : 「WEB コンテンツを内蔵 ROM に格納するタイプ」を使用する場合 ■rx62n_rsk
1.一覧表
表 4 機材一覧
必要機材 ウェブページ
Renesas Starter Kit+ for RX62N RX62N link
E1 エミュレータ link Windows PC ― LAN ストレートケーブル ×2 本 ― LAN-HUB ― DHCP サーバ (必要に応じて) ― DNS サーバ (必要に応じて) ― 2.電源 外部電源を使用します。使用する外部電源にあわせてジャンパ設定を切り替えてください。 表 5 外部電源のジャンパ設定 外部電源 ジャンパ設定
7~15V AC-DC ADAPTER J10: open J11: open 5V AC-DC ADAPTER J10: shorted
J11: shorted
3.個別設定
WEB コンテンツは、contents フォルダに格納されています。WEB コンテンツを追加する場合は、①e2 studio
の設定、②r_t4_file_driver_rx_config.h の変更が必要です。
コンテンツファイル“rsk.jpg”を追加する場合は、以下のようになります。 ① e2 studio の設定
メニューバーから[プロジェクト]-[Renesas Tool Settings]-[ツール設定]タブを選択後、 [Linker]-[ユーザー]を選択し、追加アイコンをクリックします。
以下に、”rsk.jpg”ファイルをシンボル"_rsk"として追加する場合の設定方法を示します。 -binary="${workspace_loc:¥${ProjName}¥contents¥rsk.jpg}"(C:4/DATA,_rsk)
R20AN0314JJ0101 Rev.1.01 Page 9 of 33 2016.04.15 ② r_t4_file_driver_rx_config.h の変更 ①で追加したシンボルを参照するための外部参照宣言を追加します。配列は、rsk.jpg ファイルのファイル サイズのバイト分を指定してください。 extern uint8_t rsk[19024]; 次に、SERVER_CONTENTS_LIST マクロに、追加するコンテンツの定義を追加します。定義の内容は、左 から、ファイルのパス、シンボルのアドレス、シンボルのサイズ、ファイル属性です。また、 SERVER_DEF_CONTENTS のデフォルトは 10 ですので必要に応じて変更してください。 #define SERVER_CONTENTS_LIST ¥ {"/rsk.jpg", rsk, sizeof(rsk), FILE_ATTR_RDO}, ¥
R20AN0314JJ0101 Rev.1.01 Page 10 of 33 2016.04.15 ■rx63n_gr_sakura 1.一覧表 表 6 機材一覧 必要機材 ウェブページ
GR-SAKURA-FULL GR_SAKURA link
E1 エミュレータ(※) link Windows PC ― LAN ストレートケーブル ×2 本 ― LAN-HUB ― DHCP サーバ (必要に応じて) ― DNS サーバ (必要に応じて) ― (※)基板の JTAG インタフェースに 14 ピンヘッダの実装が必要です。 2.電源 エミュレータから電源供給するため、外部電源は不要です。 3.個別設定 (a) タイプ① rx62n_rsk 参照。
R20AN0314JJ0101 Rev.1.01 Page 11 of 33 2016.04.15 ■rx63n_rsk 1.一覧表 表 7 機材一覧 必要機材 ウェブページ
Renesas Starter Kit+ for RX63N RX63N link
E1 エミュレータ link Windows PC ― LAN ストレートケーブル ×2 本 ― LAN-HUB ― DHCP サーバ (必要に応じて) ― DNS サーバ (必要に応じて) ― 2.電源 外部電源を使用します。使用する外部電源にあわせてジャンパ設定を切り替えてください。 表 8 外部電源のジャンパ設定 外部電源 ジャンパ設定
7~15V AC-DC ADAPTER J8: open J9: open 5V AC-DC ADAPTER J8: shorted
J9: shorted
3.個別設定
R20AN0314JJ0101 Rev.1.01 Page 12 of 33 2016.04.15 ■rx64m_rsk 1.一覧表 表 9 機材一覧 必要機材 ウェブページ
Renesas Starter Kit+ for RX64M RX64M link
E1 エミュレータ link Windows PC ― LAN ストレートケーブル ×2 本 ― LAN-HUB ― DHCP サーバ (必要に応じて) ― DNS サーバ (必要に応じて) ― 2.電源 外部電源を使用します。 3.個別設定 (a) タイプ① rx62n_rsk 参照。
R20AN0314JJ0101 Rev.1.01 Page 13 of 33 2016.04.15 • (b) タイプ② : 「WEB コンテンツを USB メモリに格納するタイプ」を使用する場合 ■RX62N 1.一覧表 表 10 機材一覧 必要機材 ウェブページ
Renesas Starter Kit+ for RX62N RX62N link
USB メモリ ― E1 エミュレータ link Windows PC ― LAN ストレートケーブル ×2 本 ― LAN-HUB ― DHCP サーバ (必要に応じて) ― DNS サーバ (必要に応じて) ― 2.電源 外部電源を使用します。(a) タイプ① rx62n_rsk 参照。 3.個別設定 WEB コンテンツ
WEB コンテンツは、contents フォルダに格納されています。contents フォルダに格納されている WEB コン テンツを USB メモリのルート直下に格納します。
R20AN0314JJ0101 Rev.1.01 Page 14 of 33 2016.04.15 • (c) タイプ③ :「WEB コンテンツを MMC に格納するタイプ」を使用する場合 ■rx62n_rsk 1.一覧表 表 11 機材一覧 必要機材 ウェブページ
Renesas Starter Kit+ for RX62N RX62N link SD カード拡張基板 (サンハヤト製:CK-35) link スルーホール用テストワイヤ (サンハヤト製:TTW-200) link テストリード ― SD カード(※1:2GB 以下) ― E1 エミュレータ link Windows PC ― LAN ストレートケーブル ×2 本 ― LAN-HUB ― DHCP サーバ (必要に応じて) ― DNS サーバ (必要に応じて) ― 【注】 ※1 当社では、Transcend 社製 2GB の SD カードで評価しております。 2.電源 外部電源を使用します。(a) タイプ① rx62n_rsk 参照。 3.個別設定 WEB コンテンツ
WEB コンテンツは、contents フォルダに格納されています。contents フォルダに格納されている WEB コ ンテンツを MMC のルート直下に格納します。
R20AN0314JJ0101 Rev.1.01 Page 15 of 33 2016.04.15 MMC との接続 RSK と SD カード拡張基板(CK-35)を接続します。接続方法は、以下のとおりです。 表 12 接続対応表 用途 RX62N CPU ボード SD カード拡張基板(CK-35) RX62N 端子名 ボードシルク ボードシルク SD カード 端子名 電源供給(3.3V) VCC TFT-3 4 SD カード端子情 報については、SD Association にご加 入の後、SD カード の仕様書を参照し てください。 GND VSS GND6 3 MMC CLK PA5 JA3-6 5(※1) MMC データ出力 PA7 JA3-8 7(※1) MMC データ入力 PA6 JA3-7 2(※1) MMC CardDetect 信号 P91 J20-5 10(※1) MMC CS 信号 P90 J20-4 1(※1) 【注】 ※1 10K~100KΩの抵抗によるプルアップが必要です 配線イメージ: 以下イメージでは SD カード拡張基板(CK-35)の下にプルアップ基板を増設しています。 図 5 配線イメージ
R20AN0314JJ0101 Rev.1.01 Page 16 of 33 2016.04.15 ■rx63n_gr_sakura 1.一覧表 表 13 機材一覧 必要機材 ウェブページ
GR-SAKURA-FULL GR_SAKURA link microSD カード(※1:2GB) ― E1 エミュレータ(※2) link Windows PC ― LAN ストレートケーブル ×2 本 ― LAN-HUB ― DHCP サーバ (必要に応じて) ― DNS サーバ (必要に応じて) ― 【注】 ※1 当社では、SanDisk 社製 2GB の microSD カードで評価しております。 ※2 基板の JTAG インタフェースに 14 ピンヘッダの実装が必要です。 2.電源 エミュレータから電源供給するため、外部電源は不要です。 3.個別設定 WEB コンテンツ
WEB コンテンツは、contents フォルダに格納されています。contents フォルダに格納されている WEB コン テンツを MMC(microSD カード)のルート直下に格納します。
R20AN0314JJ0101 Rev.1.01 Page 17 of 33 2016.04.15 ■rx63n_rsk 1.一覧表 表 14 機材一覧 必要機材 ウェブページ
Renesas Starter Kit+ for RX63N RX63N link SD カード拡張基板 (サンハヤト製:CK-35) link スルーホール用テストワイヤ (サンハヤト製:TTW-200) link テストリード ― SD カード(※1:2GB 以下) ― E1 エミュレータ link Windows PC ― LAN ストレートケーブル ×2 本 ― LAN-HUB ― DHCP サーバ (必要に応じて) ― DNS サーバ (必要に応じて) ― 【注】 ※1 当社では、Transcend 社製 2GB の SD カードで評価しております。 2.電源 外部電源を使用します。(a) タイプ① rx63n_rsk 参照。 3.個別設定 WEB コンテンツ
WEB コンテンツは、contents フォルダに格納されています。contents フォルダに格納されている WEB コン テンツを MMC のルート直下に格納します。
R20AN0314JJ0101 Rev.1.01 Page 18 of 33 2016.04.15 MMC との接続 RSK と SD カード拡張基板 (CK-35)を接続します。接続方法は、以下のとおりです。 表 15 接続対応表 用途 RX63N CPU ボード SD カード拡張基板(CK-35) RX63N 端子名 ボードシルク ボードシルク SD カード 端子名 電源供給(3.3V) VCC JA1-3 4 SD カード端子情 報については、SD Association にご加 入の後、SD カード の仕様書を参照し てください。 GND VSS JA1-4 3 MMC CLK PA5 JA3-6 5(※1) MMC データ出力 PA7 JA3-8 7(※1) MMC データ入力 PA6 JA3-7 2(※1) MMC CardDetect 信号 P96 J22-7 10(※1) MMC CS 信号 P97 J22-8 1(※1) 【注】 ※1 10K~100KΩの抵抗によるプルアップが必要です 配線イメージ: 以下イメージでは SD カード拡張基板(CK-35)の下にプルアップ基板を増設しています。 図 6 配線イメージ
R20AN0314JJ0101 Rev.1.01 Page 19 of 33 2016.04.15
2.2
ソフトウェアの準備
2.2.1
DHCP サーバを使用する場合
• ファームの設定 DHCP サーバを使用する場合、サンプルプログラムの IP アドレスおよび、DNS サーバの IP アドレスは、 自動で設定されるため、手動による設定は不要です。 • PC windows のネットワークの設定 通信確認用の PC の IP アドレス (TCP/IPv4)は、DHCP サーバから取得するようにします。 図 7 IP アドレスの設定 「IP アドレスを自動的に取得する」を選択R20AN0314JJ0101 Rev.1.01 Page 20 of 33 2016.04.15 • サンプルプログラムの IP アドレスおよび DNS サーバの IP アドレスの確認 DHCP サーバを使用する場合、サンプルプログラムの IP アドレスおよび、DNS サーバの IP アドレスは、 自動で設定されます。FTP クライアントソフトおよび WEB ブラウザで指定する IP アドレスおよび DNS サー バの IP アドレスは、デバッガを使用して確認する必要があります。
Renesas Starter Kit+ for RX62N (WEB コンテンツを内蔵 ROM に格納するタイプ) の場合を例に説明します。
1.サンプルプログラムは、e2 studio で動作します。e2 studio を起動して、サンプルプログラムのプロジェク
トをインポートします。
2.サンプルプログラムは Renesas Starter Kit+ for RX62N と E1 エミュレータで動作するように予め設定され ています。AC アダプタ、LAN ケーブル、E1 エミュレータと Renesas Starter Kit+ for RX62N を接続します。 その後、プログラムをダウンロードしてください。
3.接続完了後、r_sample_main.c を開き、関数 main()にて、関数 r_dhcp_open()の呼び出し後の関数 CloseTimer() にブレークポイントを設定します。 4.実行ボタンを押下しプログラムを動作状態にします。 5.ブレークポイントで PC が停止したのを確認後、変数 dhcp をウォッチウィンドウで確認します。 変数 dhcp の各メンバーに設定される情報 ipaddr :IP アドレス maskaddr :サブネットマスク gwaddr :ゲートウェイアドレス dnsaddr :Primary DNS サーバの IP アドレス dnsaddr2 :Secondary DNS サーバの IP アドレス
WEB コンテンツを USB メモリに格納するタイプでは、r_usb_hmsc_apl.c の関数 usb_cstd_task_start()にて、 関数 r_dhcp_open()を呼び出しています。
2.2.2
DHCP サーバを使用しない場合
• ファームの設定 DNS サーバと通信可能な IP アドレス、ゲートウェイアドレス、サブネットマスクを固定で割り当てます。 T4 の config_tcpudp.c で設定します。 • 設定例• #define MY_IP_ADDR 172,30,52,12 /* Local IP address */
• #define GATEWAY_ADDR 172,30,55,254 /* Gateway address (invalid if all 0s) */ • #define SUBNET_MASK 255,255,252,0 /* Subnet mask */
必要に応じて、DNS サーバの IP アドレスを固定で割り当てます。T4 DNS の r_t4_dns_client_rx_config.h で 設定します。
設定例
#define DNS_IP_ADDR_1 172,30,11,5 /* DNS server IP address (primary) */ #define DNS_IP_ADDR_2 10,29,72,33 /* DNS server IP address (secondary) */
R20AN0314JJ0101 Rev.1.01 Page 21 of 33 2016.04.15 • PC windows のネットワークの設定 PC 側の IP アドレスを設定します。サンプルプログラムの IP アドレスが「172.30.52.12」の場合は、 「172.30.yyy.xxx」(yyy は 52~55、xxx は 1~254、サンプルプログラムの IP アドレスと異なる IP アドレス)) を設定します。このとき、サブネットマスクの設定は「255.255.252.0」です。 PC 側の IP アドレス「172.30.52.13」、サブネットマスク「255.255.252.0」を設定した場合は下図のように なります。 図 8 PC windows のネットワーク設定 「次の IP アドレスを使う」を選択
R20AN0314JJ0101 Rev.1.01 Page 22 of 33 2016.04.15
• WEB ブラウザの設定
サンプルプログラムの WEB サーバ機能の確認は、WEB ブラウザを使用します。WEB ブラウザにてプロキ シサーバを設定している場合は、プロキシ設定を無効にしてください。 IE8 の場合の設定例 1.IE8 を起動します。 2.[ツール]-[インターネットオプション]-[接続]タブを選択後、LAN の設定をクリックします。 3.「LAN にプロキシサーバーを使用する」が有効になっている場合、「ローカルアドレスにはプロ キシサーバーを使用しない」を有効にし、プロキシサーバ設定を無効にします。 図 9 WEB ブラウザの設定 「ローカルアドレスにはプロキシサーバーを使用し ない」のチェックボックスにチェックを入れます。
R20AN0314JJ0101 Rev.1.01 Page 23 of 33 2016.04.15 • FTP クライアントソフトの設定 サンプルプログラムの FTP サーバ機能を確認する際に使用するクライアントソフトを設定します。 FFFTP を使用する場合の設定例 1.FFFTP を起動します。 FFFTP クライアントソフト http://www2.biglobe.ne.jp/~sota/ 2.[接続]-[ホストの設定]-[新規ホスト]を選択します。 ホストの設定名は任意の文字列を入力してください。 ホスト名(アドレス)は、サンプルプログラムの IP アドレスを入力してください。下図は、「172.30.52.12」の 場合の例です。
ユーザ名およびパスワード/パスフレーズは、r_t4_ftp_server_rx_config.h の USER_LIST および PASS_LIST で 定義している値を入力してください。下図は、ユーザ名「user1」、パスワード/パスフレーズ「user01」の場 合の例です。
R20AN0314JJ0101 Rev.1.01 Page 24 of 33 2016.04.15
2.3
動作確認
2.3.1
WEB サーバ機能を確認する場合
Renesas Starter Kit+ for RX62N 用サンプルプログラム(内部メモリ)を例に説明します。
1.サンプルプログラムは、e2 studio で動作します。e2 studio を起動して、サンプルプログラムのプロジェク
トをインポートします。
2.サンプルプログラムは Renesas Starter Kit+ for RX62N と E1 エミュレータで動作するように予め設定され ています。AC アダプタ、LAN ケーブル、E1 エミュレータと Renesas Starter Kit+ for RX62N を接続します。 その後、プログラムをダウンロードしてください。
3.接続完了後、実行ボタンを押下しプログラムを動作状態にします。 4.WEB ブラウザソフトを起動します。
5.WEB ブラウザから WEB サーバに設定した IP アドレスを入力すると、USB メモリまたは MMC カード または内蔵 ROM のルートディレクトリのファイル一覧が表示されます。
下図の Name はファイル名、Last modified は最終更新日、Size はディレクトリである場合には(dir)と表し、 Byte でファイルサイズを表します。ルートディレクトリ以外の表示(図 12)では、Parent Directory をクリック すれば一つ上のディレクトリに移動します。
R20AN0314JJ0101 Rev.1.01 Page 25 of 33 2016.04.15 図 12 動作確認画面(ルートディレクトリ以外の表示例) • CGI 機能を使った LED 制御の確認 ルートディレクトリにある「demo.htm」をクリックします。すると、図 13 の WEB サーバ動作確認画 面(LED 制御画面)が表示されます。
「LEDx switch」ボタンを押下します。すると、ボード上の LED の状態(ON/OFF)を反転させることが 出来ます。
図 13 WEB サーバ動作確認画面(LED 制御画面)
R20AN0314JJ0101 Rev.1.01 Page 26 of 33 2016.04.15
• CGI 機能を使った DNS クライアント機能の確認
ルートディレクトリにある「demo.htm」をクリックします。すると図 14 の WEB サーバ動作確認画面(ド メイン名入力画面)が表示されます。
図 14 の「Input domain name」表示のテキストボックスに任意のドメイン名を入力し、Conversion ボタ ンを押下します。すると図 15 の IP アドレス確認画面が表示されます。
図 14 WEB サーバ動作確認画面(ドメイン名入力画面)
図 15 IP アドレス確認画面
「Input domain name」表示のテキストボックスに任 意のドメイン名を入力後、Conversion ボタンを押下
指定されたドメイン名に 対応する IP アドレス
R20AN0314JJ0101 Rev.1.01 Page 27 of 33 2016.04.15
2.3.2
FTP サーバ機能を確認する場合
Renesas Starter Kit+ for RX62N 用サンプルプログラム(外部メモリ MMC)を例に説明します。
1.サンプルプログラムは、e2 studio で動作します。e2 studio を起動して、サンプルプログラムのプロジェク
トをインポートします。
2.サンプルプログラムは Renesas Starter Kit+ for RX62N と E1 エミュレータで動作するように予め設定され ています。AC アダプタ、LAN ケーブル、E1 エミュレータと Renesas Starter Kit+ for RX62N を接続します。 その後、プログラムをダウンロードしてください。
3.接続完了後、実行ボタンを押下しプログラムを動作状態にします。 4.FTP クライアントソフトを起動します。
5.FTP クライアントソフトから FTP サーバに設定した IP アドレスに接続し、r_t4_ftp_server_rx_config.h で 設定されているユーザ名とパスワードを入力します。Renesas Starter Kit+ for RX62N に接続されている外 部メモリのルートディレクトリのファイルリストが表示されます。
R20AN0314JJ0101 Rev.1.01 Page 28 of 33 2016.04.15
R20AN0314JJ0101 Rev.1.01 Page 29 of 33 2016.04.15
2.4
性能概要
2.4.1
WEB サーバ機能
• 性能概要 サンプルプログラムは、簡易的な Web サーバを HTTP/1.0 の仕様に基づき実現しています。サンプルプロ グラムは、ユーザが組み込み製品向けに独自の Web サーバプログラムを T4 上で開発する際のベースとなる ことを目的としています。サンプルプログラムは、SYN-FLOOD 攻撃等のアタックに対する対策等が盛り込 まれておらず、またセキュリティ機能を搭載していないため、インターネットに接続して www ポート(80 番) を待ち受けてサーバ動作させるような用途には適しません。サンプルプログラムは事務所/工場内ネットワー ク等の悪意のあるアタッカーが存在しないローカルのネットワークにおいて限定して使用することを想定し ています。また扱えるファイル名はショートファイル名に限られます。 サンプルプログラムはファイル I/O を除くと特別なメモリを必要とせずマイコン内蔵メモリのみで動作し ます。処理性能は RAM 容量に左右されますが、これを柔軟に設定出来るようにプログラム上で定義してい ます。サンプルプログラムでは RX62N/RX63N の ROM/RAM 容量に合わせ適切なメモリ設定を行っており、 Web サーバで必要な ROM/RAM 及び性能は以下の通りです。 WEB サーバ 測定対象のファイル r_http_server.c r_http_server_config.c config_tcpudp.c 通信速度測定条件 MMC Transcend MultiMediaCard 256MB USB メモリ BUFFALO RUF2-K2G クロック設定(共通) 外部クロック 12MHz ICLK 96MHz PCLK 48MHz USB2.0 フルスピード転送(12Mpbs) MMC RSPI 12MbpsR20AN0314JJ0101 Rev.1.01 Page 30 of 33 2016.04.15
表 16 WEB サーバ性能概要
項目 サンプルのタイプ(※1)
タイプ① タイプ② タイプ③
ROM (全体) 約 60 Kbyte(※2) 約 113 Kbyte(※3) 約 73 Kbyte RAM (全体) 約 59 Kbyte 約 89 Kbyte 約 57 Kbyte スタック 約 2.0 Kbyte 約 4.0 Kbyte 約 3.0 Kbyte 通信速度 約 29.6 Mbps 約 5.3 Mbps 約 5.6 Mbps ROM (Web サーバのみ) 約 5.1 Kbyte RAM (Web サーバのみ) 約 21 Kbyte ( 約 5 Kbyte × 同時接続クライアント数 + α) 同時接続数 4 クライアント CGI 機能 Web ブラウザからマイコンをリモートコントロール出来る機能。 【注】※1 タイプ①:WEB コンテンツを内蔵 ROM に格納するタイプ タイプ②:WEB コンテンツを USB メモリに格納するタイプ タイプ③:WEB コンテンツを MMC に格納するタイプ ※2 内蔵 ROM 上に展開しているコンテンツ容量を除く ※3 RX コンパイラが評価版かつ試用開始 60 日以上経過の場合、試用制限(リンクサイズ上限 128Kbyte)となります。 • プログラム動作概要 サンプルプログラムは、インターネットで広く使われている一般的な Web サーバ(Apache 等)と比べ、実装 機能を最小限にとどめています。また組み込み用途で使いやすいようにノンブロッキングコールを用いて実 装されており、アプリケーション側は定期的に R_httpd() 関数を呼び出すのみで Web サーバの処理が可能で す。R_httpd() 関数では通信に使用する全通信端点(一般的にはソケットと呼ばれます)を監視し、切断状態に なっていたら接続待ちに遷移させます。通信処理は T4 の API、_process_tcpip()で実行されていて、サンプル プログラムではこの API をタイマ割り込みと Ethernet 割り込みの中で呼び出しています。_process_tcpip()は処 理完了通知のためコールバック関数を呼び出します。HTTP のデータ解析処理、データ生成処理はこのコー ルバックルーチンの中にあります。_process_tcpip()の起動を含むこれらの割り込み処理は送受信ドライバの性 能やコールバックルーチンの実装次第で処理時間が大幅に変動するため、必要に応じてこれら割り込み処理 の優先度を下げたり、割り込み禁止にしたりしてアプリケーションの動作を優先させても構いません。 また、コンフィグファイル(r_t4_http_server_rx_config.h)の定義を変更することで Web サーバの挙動をカス タマイズ出来ます。 • CGI 機能
本 Web サーバは簡易的な CGI(Common Gateway Interface)機能を持っています。CGI とは Web ブラウザから の要求に従い、Web サーバ上でユーザプログラムを実行する仕掛けです。本 Web サーバでは CGI ファイル として予め設定された URL が要求されると、対応する内部関数を呼び出します。
R20AN0314JJ0101 Rev.1.01 Page 31 of 33 2016.04.15
2.4.2
FTP サーバ機能
• 性能概要 サンプルプログラムは、FTP サーバの基本機能を RFC959 の仕様に基づき実現しています。サンプルプロ グラムは、ユーザが組み込み製品向けに独自の FTP サーバプログラムを T4 上で開発する際のベースとなる ことを目的としています。 サンプルプログラムはファイル I/O を除くと特別なメモリを必要とせずマイコン内蔵メモリのみで動作し ます。処理性能は RAM 容量に左右されますが、これを柔軟に設定出来るようにプログラム上で定義してい ます。サンプルプログラムは RX62N の ROM/RAM 容量に合わせ適切なメモリ設定を行っており、FTP サー バサンプルプログラムで必要な ROM/RAM は以下の通りです。 FTP サーバ 測定対象のファイル r_ftp_server.c config_tcpudp.c 通信速度測定条件 MMC Transcend MultiMediaCard 256MB USB メモリ BUFFALO RUF2-K2G クロック設定(共通) 外部クロック 12MHz ICLK 96MHz PCLK 48MHz USB2.0 フルスピード転送(12Mpbs) MMC RSPI 12MbpsR20AN0314JJ0101 Rev.1.01 Page 32 of 33 2016.04.15
表 17 FTP サーバ性能概要
項目 サンプルのタイプ(※1)
タイプ② タイプ③
ROM (全体) 約 113 Kbyte (※2) 約 73 Kbyte RAM (全体) 約 89 Kbyte 約 57 Kbyte
スタック 約 4.0 Kbyte 約 3.0 Kbyte 通信速度(ダウンロード) 約 5.4 Mbps 約 6.0 Mbps 通信速度(アップロード) 約 4.8 Mbps 約 3.3 Mbps ROM (FTP サーバのみ) 約 9.8 Kbyte RAM (FTP サーバのみ) 約 10.4 Kbyte ( 約 3.2 Kbyte × 同時接続クライアント数 + α) 同時接続数 3 クライアント 【注】※1 タイプ②:WEB コンテンツを USB メモリに格納するタイプ タイプ③:WEB コンテンツを MMC に格納するタイプ ※2 RX コンパイラが評価版かつ試用開始 60 日以上経過の場合、試用制限(リンクサイズ上限 128Kbyte)となります。 • プログラム動作概要 サンプルプログラムは、インターネットで広く使われている一般的な FTP サーバと比べ、実装機能を最小 限にとどめています。また組み込み用途で使いやすいようにノンブロッキングコールを用いて実装されてお り、アプリケーション側は定期的に R_ftpd() 関数を呼び出すのみで FTP サーバの処理が可能です。R_ftpd() 関数ではコマンド通信に使用する通信端点(一般的にはソケットと呼ばれます)を監視し、切断状態になってい たら接続待ちに遷移させます。通信処理は T4 の API、_process_tcpip()で実行されていて、サンプルプログラ ムではこの API をタイマ割り込みと Ethernet 割り込みの中で呼び出しています。_process_tcpip()は処理完了通 知のためコールバック関数を呼び出します。FTP コマンド解析処理、応答データ生成処理はこのコールバッ クルーチンの中にあります。_process_tcpip()の起動を含むこれらの割り込み処理は送受信ドライバの性能や コールバックルーチンの実装次第で処理時間が大幅に変動するため、必要に応じてこれら割り込み処理の優 先度を下げたり、割り込み禁止にしたりしてアプリケーションの動作を優先させても構いません。 また、コンフィグファイル(r_t4_ftp_server_rx_config.h)の定義を変更することで FTP サーバの挙動をカスタ マイズ出来ます。
R20AN0314JJ0101 Rev.1.01 Page 33 of 33 2016.04.15
ホームページとサポート窓口
ルネサス エレクトロニクスホームページ http://japan.renesas.com/ お問合せ先 http://japan.renesas.com/contact/ すべての商標および登録商標は,それぞれの所有者に帰属します。A-1
改訂記録
Rev. 発行日 改訂内容 ページ ポイント 1.01 2016.04.15 - サンプルプログラムの統合開発環境を High-performance Embedded Workshop から e2 studio に変更しました。 - "CubeSuite+"表記を CS+に変更しました。 5 図 2,図 3 で関連する FIT モジュールのドキュメント番号を追記 しました。 8~18 「2.1.1 ボード関連準備」 のタイプ別説明の順番を変更しまし た。 20 「2.2.2 DHCP サーバを使用しない場合」IP アドレスの設定範 囲を修正しました 1.00 2014.05.09 ― 初版発行製品ご使用上の注意事項
ここでは、マイコン製品全体に適用する「使用上の注意事項」について説明します。個別の使用上の注意 事項については、本ドキュメントおよびテクニカルアップデートを参照してください。 1. 未使用端子の処理 【注意】未使用端子は、本文の「未使用端子の処理」に従って処理してください。 CMOS製品の入力端子のインピーダンスは、一般に、ハイインピーダンスとなっています。未使用 端子を開放状態で動作させると、誘導現象により、LSI周辺のノイズが印加され、LSI内部で貫通電 流が流れたり、入力信号と認識されて誤動作を起こす恐れがあります。未使用端子は、本文「未使用 端子の処理」で説明する指示に従い処理してください。 2. 電源投入時の処置 【注意】電源投入時は,製品の状態は不定です。 電源投入時には、LSIの内部回路の状態は不確定であり、レジスタの設定や各端子の状態は不定で す。 外部リセット端子でリセットする製品の場合、電源投入からリセットが有効になるまでの期間、端子 の状態は保証できません。 同様に、内蔵パワーオンリセット機能を使用してリセットする製品の場合、電源投入からリセットの かかる一定電圧に達するまでの期間、端子の状態は保証できません。 3. リザーブアドレス(予約領域)のアクセス禁止 【注意】リザーブアドレス(予約領域)のアクセスを禁止します。 アドレス領域には、将来の機能拡張用に割り付けられているリザーブアドレス(予約領域)がありま す。これらのアドレスをアクセスしたときの動作については、保証できませんので、アクセスしない ようにしてください。 4. クロックについて 【注意】リセット時は、クロックが安定した後、リセットを解除してください。 プログラム実行中のクロック切り替え時は、切り替え先クロックが安定した後に切り替えてくださ い。 リセット時、外部発振子(または外部発振回路)を用いたクロックで動作を開始するシステムでは、 クロックが十分安定した後、リセットを解除してください。また、プログラムの途中で外部発振子 (または外部発振回路)を用いたクロックに切り替える場合は、切り替え先のクロックが十分安定し てから切り替えてください。 5. 製品間の相違について 【注意】型名の異なる製品に変更する場合は、製品型名ごとにシステム評価試験を実施してくださ い。 同じグループのマイコンでも型名が違うと、内部ROM、レイアウトパターンの相違などにより、電 気的特性の範囲で、特性値、動作マージン、ノイズ耐量、ノイズ輻射量などが異なる場合がありま す。型名が違う製品に変更する場合は、個々の製品ごとにシステム評価試験を実施してください。■営業お問合せ窓口
■技術的なお問合せおよび資料のご請求は下記へどうぞ。 総合お問合せ窓口:http://japan.renesas.com/contact/
ルネサス エレクトロニクス株式会社 〒135-0061 東京都江東区豊洲3-2-24(豊洲フォレシア)
© 2016 Renesas Electronics Corporation. All rights reserved. Colophon 4.0 http://www.renesas.com ※営業お問合せ窓口の住所は変更になることがあります。最新情報につきましては、弊社ホームページをご覧ください。