チュートリアル
Ethernet接続(トレーサー無し)において、通常のテストポイント情報を取得する為に、
ドライバファイルをカスタマイズする方法を説明します。
言語により変更箇所は異なりますが、接続モード、IP アドレス、ポート番号の変更のみでお使いいただけます。
1.サンプルドライバのカスタマイズ
ダウンロードいただいたドライバファイルは、ターゲット環境に合わせて、下記の内容を変更します。
1-1.接続モードの設定
「UDPプロトコル」「TCP/IPサーバー」「TCP/IPクライアント」の3つから選択します。
下記では、例として C 言語向けの dt_ether_drv.c の変更箇所を記載します。
▼UDPプロトコルの場合
DT10のドライバファイルにある『#define DT_ETHER_UDP』を”1″にします。
/*==================================================================*/
/* Macro: DT_ETHER_XXX */
/* Desc: Please select Ethernet mode */
/*==================================================================*/
#define DT_ETHER_TCPIP_SERVER 0
#define DT_ETHER_TCPIP_CLIENT 0
#define DT_ETHER_UDP 1
▼PC側をTCP/IPサーバーにする場合
DT10のドライバファイルにある『DT_ETHER_TCPIP_CLIENT』を”1″にします。
/*==================================================================*/
/* Macro: DT_ETHER_XXX */
/* Desc: Please select Ethernet mode */
/*==================================================================*/
#define DT_ETHER_TCPIP_SERVER 0
#define DT_ETHER_TCPIP_CLIENT 1
#define DT_ETHER_UDP 0
▼PC側をTCP/IPクライアントにする場合
DT10のドライバファイルにある『DT_ETHER_TCPIP_SERVER』を”1″にします。
/*==================================================================*/
/* Macro: DT_ETHER_XXX */
/* Desc: Please select Ethernet mode */
/*==================================================================*/
#define DT_ETHER_TCPIP_SERVER 1
#define DT_ETHER_TCPIP_CLIENT 0
#define DT_ETHER_UDP 0
1-2.IPアドレスとポート設定
_TP_BusEthernetInit関数で、Ethernetの初期化を行います。
今回は DynamicTracer を使用しない(トレーサー無し)で PC 間の通信を行う為、
テストポイント情報を送信する PC の IP アドレスを指定します。
ポート番号もDynamic Tracerを使用しないため、任意の値を指定できます。
※使用するポートがファイアウォールの対象外となっていることを確認してください。
今回のプロジェクトは、トレーサー無し接続のためポート番号は任意の値を指定できますが、
トレーサー有り接続の場合で、UDP 接続と TCP/IP のターゲット側がServerになる場合は3000に変更してください。
ターゲット側がClientになる場合は5000番固定となります。
/*==================================================================*/
/* Func: _TP_BusEthernetInit */
/* Desc: Please describe the code to initializes socket. */
/*==================================================================*/
static void _TP_BusEthernetInit(void)
{
int n;
#if DT_ETHER_TCPIP_CLIENT
ipaddr.sin_family = AF_INET;
ipaddr.sin_addr.S_un.S_addr = inet_addr("192.168.2.100");
ipaddr.sin_port = htons(5000);
#elif DT_ETHER_TCPIP_SERVER
sipaddr.sin_family = AF_INET;
sipaddr.sin_addr.S_un.S_addr = INADDR_ANY;
sipaddr.sin_port = htons(3000);
#else
ipaddr.sin_family = AF_INET;
ipaddr.sin_addr.S_un.S_addr = inet_addr("192.168.2.100");
ipaddr.sin_port = htons(3000);
#endif
2.ターゲットのコンパイル
お使いの開発環境に、カスタマイズしたドライバファイルを追加します。
コンパイルしていただき、問題なくターゲットが動作するかを確認します。