超小型 TCP/IP プロトコルスタック(M3S-T4-Tiny for the H8S Family)を AH7000 で評価する。
Ｒｅｖ１．００２０１１年４月２６日【要旨】
ルネサス エレクトロニクス（株）より、無償サンプルとして公開されている「超小型 TCP/IP プロトコルスタック(M3S-T4-Tiny for the H8S Family)」を AH7000 で評価する。

【評価前の準備】
１．ルネサスのホームページより、表示された「ご注意」を承諾後、無償評価版(M3S-T4-Tiny for the H8S Family)をダウンロードします。
http://tool-support.renesas.com/jpn/toolnews/110416/tn2.htm「an_r20an0074jj_h8s_t4.zip」
２．High-performance Embedded Workshop Version 4.08.00.011
３．H8C コンパイラ(H8S,H8/300 Standard Toolchain(V.6.2.2.0)
４．評価ボード「H8SB8S2462F-SM」北斗電子製
５．デバッグツール「AH7000」DEF バージョン(Ver10.10A)
６．開発ホスト WindowsXp(SP3)【推奨フリーソフトの準備】
１．動作確認をするため、推奨フリーソフトを準備します。
・Tera Term Pro ver. 2.3＜－－－－－－－－－－－ telnet の動作確認に使用します。
http://hp.vector.co.jp/authors/VA002416/
・ＵＤＰ／ＩＰテストツール(UdpIpTool.exe)＜－－－－ UDP の動作確認に使用します。
http://homepage2.nifty.com/nonnon/Download/UdpTool/【インストール】
１．ダウンロードした、無償評価版(M3S-T4-Tiny for the H8S Family)「an_r20an0074jj_h8s_t4.zip」を解凍します。
２．
「.¥an_r20an0074jj_h8s_t4¥installer」の「setup.exe」をクリックします。
３．インストローラの指示に従い進めて下さい。

【ハードの準備】
１．ＩＰアドレスの衝突を避けるため、ホストＰＣ機とターゲット基板とのケーブル接続は、1 対１のローカル接続にします。
２．ＡＨ７０００をホストＰＣ機とターゲット基板に必要ケーブルを接続します。
[1-1]

【ホストパソコンの設定】
１．＜コントロールパネル＞－＜ネットワーク接続＞－＜ローカルエリア接続＞をクリックします。
[2-1]「プロパティ」をクリックします。

２．
「インターネットプロトコル（ＴＣＰ／ＩＰ）」の設定を変更します。
[2-2]「インターネットプロトコル（ＴＣＰ／ＩＰ）」を指定後、「プロパティ」をクリックします。

３．動作確認のため、ＩＰアドレスを設定します。
[2-3]

手動構成に指定し、ＩＰアドレス「192.168.0.2」
サブネットマスク「255.255.255.0」と設定後、「ＯＫ」をクリックする。

４．＜ローカルエリア接続の状態＞－＜サポート＞で確認する。
[2-4]
変更内容を確認します。

【超小型 TCP/IP プロトコルスタック(M3S-T4-Tiny for the H8S Family)の準備】
１．
「Hew4」にてワークスペース(Ether.hws)を開きます。[C:¥Renesas¥an_r20an0074jj_h8s_t4_v103r00¥sample][3-1]
toolchain 環境によっては、dose not exist"stdint.h"とプリプロセッサエラーが出る場合があります。
気になる場合は、"r_t4_itcpip.h"の 39 行の#include <stdint.h>をコメントにすればエラーが消えます。

２．ＭＡＣアドレスを設定します。
[3-2]「config_tcpudp.c」の 154 行「MY_MAC_ADDR」にベンダーMAC アドレスを設定します。

MAC アドレスを取得されていない場合は、このアドレス値でも動作確認は可能です
が、変更しない場合は、必ず、1 対１のローカル接続での確認にして下さい。

３．サンプルプログラムの補足説明
ルネサス提供ドキュメント、M3S-T4-Tiny ユーザーズマニュアル「r20uw0031jj0102_t4tiny.pdf」に、サンプルプログラムの詳細説明が記述されていますが、一部補足説明します。
このサンプルには、以下の４パターンのエコーバックサーバのソースファイルがあります。
１）TCP ブロッキングコールサンプル「echo_srv_tcp_blocking.c」
２）TCP ノンブロッキングコールサンプル 「echo_srv_tcp_nonblocking.c」
３）UDP ブロッキングコールサンプル「echo_srv_udp_blocking.c」
４）UDP ノンブロッキングコールサンプル 「echo_srv_udp_nonblocking.c」

注意事項
このサンプルプログラムは、上記４パターンを同時にビルドすることは出来ません。必ず、いずれか１パターンをビルド指定し、残り３パターンは「ビルドから除外」にして下さい。

「ビルドから除外」する場合「ビルドから除外を解除」する場合

４．
「TCP ブロッキングコールサンプル」でビルドします。
（デフォルト）[4-1]「TCP ブロッキングコールサンプル」ソース「echo_srv_tcp_blocking.c」がビルド指定になっているのを確認します。

[4-2]

Hew メニュー＜ビルド＞－＜すべてをビルド＞をクリックします。

「0 Errors, 0 Warnings」を確認します。

【デバッガ（ＡＨ７０００）の準備】
１．コントロールソフト「ＤＥＦ」を起動して、＜オプション＞－＜ＣＰＵ設定＞をクリックします。
[5-1]「H8SB8S2462F-SM」北斗電子製のハード仕様
CPU シリーズ名
H8S/2462
発振子クロック
8.2500MHz
周波数低倍x4以上、指定後「設定」をクリックします。

２．ターゲット基板の電源ＯＮにします。
[5-2]

ターゲット基板の電源ＯＮ確認後、左下隅の「Start」をクリックします。

[5-3] デバッガとの接続確立画面

【ＴＣＰブロッキングコールサンプルの動作確認(TELNET）】
１．
「TCP ブロッキングコールサンプル」をダウンロードします。
[5-4]
ＤＥＦメニュー＜ファイル＞－＜ダウンロード＞をクリックします。

C:¥Renesas¥an_r20an0074jj_h8s_t4_v103r00¥sample¥Ether¥Debug
下のアブソリュートファイル「Ether.ABS」を指定後、「開く」をクリックします.。

[5-5] ダウンロード正常終了の画面

２．ターゲットを実行させます。
[TEL-0]ダンプ窓に「lan_buf」と指定して、周期に「チェック」を入れておきますと、周期的に通信状況が確認できます。

「Go」をクリックします。

３．フリーソフト「TeraTeem」を起動します。
「コネクションの設定」[TEL-1]
TCP/IP「チェック」
HOST「192.168.0.3」
TELNET「チェック」
ポート番号「1026」＜備考＞
ブロッキングコールの場合のポート番号は、「1026」になります。
なお、ノンブロッキングコールの場合のポート番号は、「1024 or 1025」です。

「OK」をクリックします。
[TEL-2]TELNET の画面上でキーボードから文字を入力すると、その文字が評価基板に送信されます。評価基板では、受信した文字をエコーバックしますので、TELNET の画面上に文字が表示されます。

４．コネクションの切断[TEL-3]
コネクションの切断には、「TeraTerm」メニューの、＜File＞－＜Disconnect＞をクリックします。
なお、このサンプルは、接続／切断回数が 10 回に達すると、プログラムが終了します。最起動させたい場合は、DEF のショート PB「Reset」をクリックします。

５．ＴＣＰノンブロッキングコールサンプルの動作確認[TEL-4]Ｈｅｗ４にて、サンプル４タイプのうち、「echo_srv_tcp_nonblocking.c」のみをビルド指定する。
Ｈｅｗメニューの＜ビルド＞－＜ビルド＞を実施して、「0 Erros････」を確認する。
１項から同じ手順で動作を確認します。
ポート番号は「1024 or 1025」になります。

【ＵＤＰノンブロッキングコールサンプルの動作確認】
１．
「UDP ノンブロッキングコールサンプル(echo_srv_udp_nonblocking.c)」をビルドします。
[UDP-0]Ｈｅｗ４にて、サンプル４タイプのうち、「echo_srv_upd_nonblocking.c」のみをビルド指定する。
Ｈｅｗメニューの＜ビルド＞－＜ビルド＞を実施して、「0 Erros････」を確認する。

２．
「UDP ノンブロッキングコールサンプル」をダウンロードします。
[5-4]
ＤＥＦメニュー＜ファイル＞－＜ダウンロード＞をクリックします。

C:¥Renesas¥an_r20an0074jj_h8s_t4_v103r00¥sample¥Ether¥Debug
下のアブソリュートファイル「Ether.ABS」を指定後、「開く」をクリックします.。

[5-5] ダウンロード正常終了の画面

３．ターゲットを実行させます。
[TEL-0]ダンプ窓に「lan_buf」と指定して、周期に「チェック」を入れておきますと、周期的に通信状況が確認できます。

「Go」をクリックします。

４．フリーソフト「ＵＤＰ／ＩＰテストツール(UdpIpTool.exe)」を起動します。
「コネクションの設定」[UDP-1]
送信先ポート番号「1365」
送信先 IP アドレス「198.168.0.3」を設定します。

「接続」をクリックします。

[UPD-2]

適当な文字列を入力しておきます。

「TEXT 送信」をクリックします。

[UPD-3]「TEXT 送信」をクリックしますと、入力した文字列が評価基板に送信されます。評価基板では、受信した文字列をエコーバックしますので、この画面上に「－＞受」として文字列が表示されます。

５．コネクションの切断
上図の「切断」ＰＢをクリックします。
６．ＵＤＰブロッキングコールサンプルの動作確認
Ｈｅｗ４にて、サンプル４タイプのうち、「echo_srv_udp_blocking.c」のみをビルド指定する。
Ｈｅｗメニューの＜ビルド＞－＜ビルド＞を実施して、「0 Erros････」を確認する。
１項から同じ手順で動作を確認します。

以上で、サンプル Ethernet についての動作確認は終了です。