...

KASAGO/RTX for RZ/A1 ユーザーズマニュアル

by user

on
Category: Documents
135

views

Report

Comments

Transcript

KASAGO/RTX for RZ/A1 ユーザーズマニュアル
TCP/IP パッケージソリューション
KASAGO/RTX for RZ/A1
ユーザーズ・マニュアル
2014 年 07 月 24 日
第 1.3 版
図研エルミック株式会社
改定履歴
版数
第 1.0 版
日付
変更内容
2014.02.20 初版
有償版と無償版を統合
製品名を変更
4.3 開発ツールのバージョンを 5.18.1 に変更
4.6.1 統合開発環境のインストールを DS-5 5.18.1 用に変更
4.6.2 プロジェクトのインストールについて追記
第 1.1 版
4.7 フォルダ構成について内容を変更
5.1.1 KASAGO サンプルファイルについて追記
5.1.2 KASAGO オプションサンプルファイルについてサンプル機能
追加及び変更による内容変更
5.2.2 サンプル動作環境について内容を追記
5.5.1 各サンプル作成時の設定についてサンプル追加及びフォル
2014.06.11 ダ構成変更による内容変更
5.5.2 サンプルのビルドについて変更
5.3 プロジェクト生成について DS-5 5.18.1 に対応及びフォルダ構
成変更による内容変更
5.5 ビルド方法について DS-5 5.18.1 に対応及びフォルダ構成変更
による内容変更
5.6 ターゲットボードへの接続について DS-5 5.18.1 に対応及びフ
ォルダ構成変更による内容変更
5.7 サンプルアプリケーションの動作について追記
5.9.2 IP アドレス設定の変更についての追記
5.9.3 その他の設定変更を追記
5.11 FTP とファイルシステムを追記
第 1.2 版
5.7.6 FTP サーバーサンプルでのシリアル表示内容の修正
5.9.3.1 FTP クライアントの設定変更での FTP サーバーへログイ
2014.06.23 ン時のユーザーネーム、パスワードの define 名の誤りを修正。
5.7.5 FTP クライアントサンプルの操作例は FTP サーバーに既に
test.txt ファイルが存在する場合の操作例の旨を追記。
第 1.3 版
5.2.1 サンプルの開発手順での手順誤りを修正
2014.07.24 5.8 WEB サーバー用の HTML コンテンツの変更方法に於いて参照資
料について誤記があったため修正。
2
目次
1. はじめに ..............................................................................................................................6
2. 特長 ....................................................................................................................................6
3. 製品構成 .............................................................................................................................7
3.1 ターゲットボード...............................................................................................................8
3.2 TCP/IP プロトコルスタック(KASAGO IPv4 ライブラリ) .................................................... 10
4. 開発環境 ........................................................................................................................... 11
4.1 開発構成...................................................................................................................... 11
4.2 開発ツール ................................................................................................................. 12
4.2.1 DS-5 .................................................................................................................... 13
4.3 開発ツールのバージョン .............................................................................................. 14
4.4 開発 OS ....................................................................................................................... 14
4.5 TCP/IP プロトコルスタック ........................................................................................... 14
4.6 開発環境の構築方法 .................................................................................................. 15
4.6.1 統合開発環境のインストール ............................................................................... 15
4.6.2 プロジェクトのインストール.................................................................................... 21
4.7 フォルダ構成 ............................................................................................................... 22
5. アプリケーション ................................................................................................................ 24
5.1 サンプルファイル一覧 .................................................................................................. 24
5.1.1 KASAGO サンプルファイル ...................................................................................... 24
5.1.2 KASAGO オプションサンプルファイル....................................................................... 25
5.2 サンプルの使用方法 ................................................................................................... 26
5.2.1 サンプルの開発手順 ............................................................................................. 26
5.2.2 サンプルの動作環境 ............................................................................................. 27
5.3 プロジェクト生成 .......................................................................................................... 28
5.4 ライセンス登録 ............................................................................................................ 35
5.5 ビルド方法 .................................................................................................................. 36
5.5.1 各サンプル作成時の設定...................................................................................... 36
5.5.2 サンプルのビルド .................................................................................................. 39
5.6 ターゲットボードへの接続 ............................................................................................ 40
5.7 サンプルアプリケーションの動作 .................................................................................. 47
5.7.1 PING サンプル ...................................................................................................... 47
5.7.2 TCP/IP 通信サンプル ........................................................................................... 48
5.7.3 UDP 通信サンプル ................................................................................................ 48
5.7.4 AUTOIP サンプル .................................................................................................. 48
5.7.5 DHCP サンプル ...................................................................................................... 49
5.7.5 FTP クライアントサンプル ...................................................................................... 49
5.7.6 FTP サーバーサンプル ......................................................................................... 52
5.7.7 TELNET デーモンサンプル ..................................................................................... 52
5.7.8 WEB サーバーサンプル ......................................................................................... 53
5.8 WEB サーバー用の HTML コンテンツの変更方法 ............................................................ 54
3
5.9 各種設定の変更.......................................................................................................... 56
5.9.1 MAC アドレスの変更 .............................................................................................. 56
5.9.2 IP アドレス設定の変更 ......................................................................................... 57
5.9.3 その他の設定変更 ............................................................................................... 59
5.10 リソース情報.............................................................................................................. 60
5.11 KASAGO FTP と RAM ファイルシステムについて ............................................................. 61
4
・KASAGO は、図研エルミック株式会社の製品です。
・RZ/A1H は、ルネサスエレクトロニクス株式会社の商標です。
・統合開発環境 ARM Development Studio 5(DS-5)は、ARM 社の製品です。
・RZ/A1H 搭載 CPU ボード AP-RZA-0A は、株式会社アルファプロジェクトの製品です。
本書で記載されている内容は、予告なく変更される場合があります。
5
1. はじめに
本書は、
「 KASAGO/RTX for RZ/A1」のユーザーズ・マニュアルです。
「KASAGO/RTX for RZ/A1」は、ルネサスエレクトロニクス社製 CPU「RZ/A1H」を搭載した、アル
ファプロジェクト製の CPU ボード「AP-RZA-0A」に「KASAGO TCP/IP プロトコル・スタック」を
実装した「TCP/IP パッケージ・ソリューション」です。
※以降、
「 KASAGO/RTX for RZ/A1」を「本 SDK」、RZ/A1H 搭載 CPU ボード「AP-RZA-0A」を「タ
ーゲットボード」、ARM Development Studio 5 を「DS-5」と記載します。
※「KASAGO TCP/IP プロトコル・スタック」はライブラリ提供となります。
2. 特長
ここでは、本 SDK 及び評価ボードの特徴について説明します。
・プロトコルスタックの移植作業が不要
本来、
「KASAGO TCP/IP」は、ターゲットとなる H/W 及び、OS に対して移植作業を行う必要が
あります。 本 SDK ではその必要性が無く、BSD ソケットアプリケーションの開発から着手する
ことが可能です。
・ネットワーク対応が容易
評価ボードは、イーサネット・コントローラを内蔵した 32 ビット・マイクロ・コントローラで
す。ネットワークインターフェースが無い既存製品でも、本マイクロ・コントローラと本 SDK
を導入して頂くだけで容易にネットワーク対応を実現することが可能となります。
6
3. 製品構成
本ポーティングの構成図を下記に示します。
【RTX】は、ARM および Cortex-M デバイス用に設計さ
れた、ロイヤルティ フリーの確定的なリアルタイム オペ
レーティング システムです
【アプリケーション】は、 TCP、UDP、ICMP 通信を行うサンプルアプリケ
ーションです。
アプリケーション(サンプル)
OS
RTX
TCP/IP プロトコルスタック
KASAGO IPv4 ライブラリ
ターゲットボード
AP-RZA-0A
【AP-RZA-0A】は、ルネサスエレクトロニクス
社製 CPU「RZ/A1H」を搭載した、アルファプロ
ジェクト製の CPU ボードです。
【KASAGO IPv4 ライブラリ】は、弊社の製品 KASAGO IPv4 のライ
ブラリ版です。TCP、UDP、IP、ARP といった組み込みシステムで
IPv4 の TCP/IP 通信を行う為に必要なライブラリです。また、以
下のオプションもライブラリに含まれています。
S/W
AUTOIP、BOOTP、DNS、IGMP、FTP、DHCP、TELNET、HTTPd(Ze-PRO HTTPd)
H/W
7
3.1 ターゲットボード
ターゲットボードについて説明します。
「AP-RZA-0A」は株式会社アルファプロジェクトの製品
です。詳細は株式会社アルファプロジェクトの製品説明をご参照下さい。
主要構成)
CPU
RZ/A1H R7S721000VLFP
CPU クロック
メインクロック
12MHz 水晶振動子
システムクロック
最大384MHz
周辺モジュールクロック
最大64MHz
外部バスクロック
最大64MHz
RTCクロック
最大32.768KHz
メモリ
シリアル I/F
QSPI FlashROM
16MByte
SDRAM
32Mbyte
内蔵RAM
10Mbyte
FIFO内蔵 クロック同期/調歩同期式
16bit幅
8ch
1chは通信コネクタに接続
Ethernet I/F
CPU内蔵 Ethernet コントローラ 10/100BASE-TX
USB I/F ※1
CPU内蔵 USB コントローラ
ビデオ入力
1ch
USB2.0 Host(HIGH/FULL/LOW-SPEED 対応)
2ch
USB2.0 Function(HIGH/FULL-SPEED 対応)
1ch
NTSC/PAL 対応 RCA ピンジャック
4ch
入力インピーダンス 75Ω
LCD I/F
CPU内蔵ビデオディスプレイコントローラ
LCDインタフェースコネクタに接続 (RGB666)
オーディオ I/F
ライン入力 1ch
ヘッドフォン出力
SPI I/F
1ch
ルネサスシリアルペリフェラルインタフェース
5ch
1chは無線モジュールインタフェースコネクタに接続(弊社製無線LAN
モジュール接続用)
8
タイマ
マルチファンクションタイマパルスユニット 2
16bit 5ch
OS タイマ
32bit 2ch
ウォッチドッグタイマ
CAN I/F
1ch
コントローラエリアネットワーク
5ch
1chはCAN通信コネクタに接続
割り込み
割り込みコントローラ内蔵
(NMI、IRQ7~IRQ0、TINT162~PINT0)
A/D コンバータ
8ch 分解能 12/10bit
パラレル I/O
139 本(兼用端子を含む)
リセット
リセット IC、リセット SW 搭載
外部拡張コネクタ(未実装)からのリセットも可能
LED
モニタ LED
2個(I/O ポートに接続)
電源 LED 1個
外部接続
外部拡張※2
60pinコネクタ ×3 未実装 2.54mmピッチ
シリアルI/F
6pinコネクタ
Ethernet I/F
RJ-45 LANコネクタ
USB I/F
USB Aコネクタ ×2
Mini Bコネクタ
CAN I/F
5pinコネクタ
AUDIO
ステレオジャック
ビデオ入力 I/F
RCAピンジャック ×4
入力1ポート 出力1ポート
SD ホスト I/F microSDカードコネクタ
SPI/シリアル I/F 20pinコネクタ (無線LAN/Bluetoothモジュール)
LCD I/F
40pinコネクタ
XBee I/F
20pinコネクタ (ZigBeeモジュール)
SPI/シリアル I/F 20pinコネクタ
電源電圧
JTAG
14pinコネクタ
電源コネクタ
2pinコネクタ
DC5.0V±5%または DC3.3V±5%
(CPUコア
消費電流
1.18V、I/O電圧 3.3V)
Typ 約 TBD mA (USB 未使用、弊社サンプルプログラム動作時)
Max 約 TBD mA (USB 未使用時)
使用条件
温度 0℃~60℃ (結露なし)
基板サイズ
120×90mm
付属品
電源ケーブル,CD-ROM(マニュアル)
(コネクタ、突起物は除く)
*1 1chは Host、Function は排他使用
*2 外部拡張用コネクタとして「拡張コネクタセット10(別売)」を用意しております。
・ CANバスシステムを構築するにはCANトランシーバアダプタ「PC-CAN-02(別売)」が必要です。
・ ボードは無洗浄です
9
3.2 TCP/IP プロトコルスタック(KASAGO IPv4 ライブラリ)
弊社の製品である「KASAGO IPv4」をライブラリ化致しました、「KASAGO IPv4 ライブラリ」
について説明します。
ライブラリ
ライブラリ提供 追加オプション
HTTPd
SMTP
FTP
(ZePRO-HTTPd)
SNMP
DNS
Resolver
Telnet
オプション
Ze-PRO
POP3
シリーズ
SSL/TLS
DHCP
BOOTP
LLMNR
BSD 4.4 Socket I/F
TCP UDP
TCP UDP ( IPv6 )
( IPv4 )
IGMP
AUTO IP
IPsec
OS
I/F
IKE/IKEv2
ARP IP ICMP
( IPv6 )
( IPv4 )
Ethernet
PPP
NAT
Mobile
IPv6
PPPoE
Driver I/F
Ethernet Driver
サンプル
Serial Driver
サンプル
Packet Driver
サンプル
User Driver
サンプル
KASAGO IPv4 ライブラリ
組込みシステムで TCP/IP 通信を行う為に必要なプロトコルスタックがライブラリになっ
ています。上図の「ライブラリ提供」、「ライブラリ追加オプション」をライブラリ化して
います。
※オプションは、KASAGO で取り扱っているその他のオプションとなり
本 SDK には含まれておりません。
10
4. 開発環境
ターゲットボードを用いて、アプリケーションを開発する開発環境について説明します。
4.1 開発構成
以下に開発構成図を示します。
ホストマシン
KEIL ULINK2
USB ケーブル
コネクタケーブル
ターゲットボード
RS-232C ケーブル
対向マシン
Ethernet ケーブル
項目
ターゲットボード
内容
RZ/A1H を搭載した株式会社アルファプロジェクト製、汎用 CPU ボードです。
・コネクタケーブルを用いて、KEIL ULINK2 と接続します。
・TTL シリアル⇔RS232 インタフェースコンバータ(PC-RS-04)を経由し、
RS-232C(クロス)ケーブルで対向マシンの RS-232C ポートに接続します。
・ethernet ケーブルで対向マシンの ethernet ポートに接続します。
KEIL ULINK2
ARM 社製のデバッグ・エミュレータです。
ホストマシン
開発&デバッグ用マシンです。下記の OS を使用します。
・
Windows7
USB ケーブルを用いて、KEIL ULINK2 と接続します。
対向マシン
対向マシンです。
11
4.2 開発ツール
ここでは本ポーティングに必要である「開発ツール」について説明します。各ツールを用
いる事によりソース作成、ビルド、デバッグ、セクション配置、内蔵フラッシュ書き込み
などの作業を行う事ができます。ここでは各ツールについては簡単に説明します。
12
4.2.1 DS-5
総合開発環境です。以下に主な機能を示します。詳細は ARM 社のソフトウェアツール「DS-5」
の説明をご参照下さい。
1) DS-5デバッガ
・ベアメタル、RTOS、LinuxおよびAndroidのプラットフォームのデバッグ サポート
・非侵入型でサイクル精度の高いETMおよびPTM命令トレース
・SMPシステムをシームレスにサポート
・デバッグ サイクルを迅速にするための自動化されたデバッグ セッション
・ITMおよびSTM命令トレース
・事前設定済みのカスタム プラットフォームのサポート
2) Streamlineパフォーマンス アナライザ
・LinuxおよびAndroidシステム向けのシステム パフォーマンス解析
・プロセス、スレッド、関数、およびソース コードごとのCPU使用状況の統計
・キャッシュ ミスなどのPMUカウンタをソース コードに割り当てるイベントベースのサン
プリング
・ARM Mali™ GPUグラフィック パフォーマンス解析
・実際の電力データを取得してシステム パフォーマンスと関連付けるプローブ
13
・ネットワークを使用したデータ収集 - デバッグ アダプタ不要
3) リアルタイム シミュレータ
・Cortex™-A8およびクワッドコアCortex-A9モデル シミュレータ
・標準的には250 MHzを超えるシミュレーション速度
・シミュレータとの停止モード デバッグ接続または実行モード デバッグ接続
・Cortex-A8上のLinuxアプリケーション デバッグ向けに提供されたARMエンベデッドLinux
ディストリビューション
4) 統合型開発環境とARMコンパイル ツール
・サードパーティ製プラグインとの互換性がある、カスタマイズされたEclipse IDE
・ARMコアと共同開発された最適化コンパイル ツールのARMコンパイラ
・強力なC/C++エディタとプロジェクト マネージャ
・リモート システム エクスプローラ、SSH、Telnetターミナルなどの、生産性を高める統
合されたユーティリティ
4.3 開発ツールのバージョン
本プロジェクトでは下記バージョンの開発ツールで動作を確認しております。
開発ツール
内容
DS-5
バージョン
5.18.1
4.4 開発 OS
OS 名
RTX
内容
バージョン
RTX for RZ/A1H
4.5 TCP/IP プロトコルスタック
TCP/IP プロトコルスタックは以下になります。
プロトコルスタック名
KASAGO IPv4
内容
標準提供:
バージョン
6.0.1.31
TCP、UDP、IPv4、ARP、ICMP
オプション:
AUTOIP、BOOTP、DNS、IGMP、FTP、DHCP、
TELNET、HTTPd(Ze-PRO HTTPd)
14
4.6 開発環境の構築方法
ここでは開発の必要である環境を構築する方法について説明します。
4.6.1 統合開発環境のインストール
ここでは、DS-5 ver5.18.1 評価版インストール時の手順について説明します。
1) ARM 社様のサイトより、ダウンロードしてください。
http://ds.arm.com/downloads/
また、評価版のため、使用制限が御座います。
2) 「DS500-BN-00003-r5p0-18rel1]をダウンロードし、解凍します。
15
3) 「setup.exe」を実行します。
以下の画面が表示されたら、
「次へ」をクリックします。
4) 「使用許諾契約書に同意します」を選択し、
「次へ」をクリックします。
16
5) 「次へ」をクリックします。
6) 以下のような画面が出るので、「インストール」をクリックします。
17
7) インストール中ですので、終了するまで待ちます。
8) 以下のような画面が出るので、「次へ」をクリックします
18
9) 「
“ARM Ltd”からのソフトウェアを常に信頼する」を選択し、
「インストール」をクリック
します。
10) 「
“OpenVPN, Inc.”からのソフトウェアを常に信頼する」を選択し、「インストール」をク
リックします。
19
11) 以下のような画面が出るので、「完了」をクリックします
12) 以下のような画面が出るので、「完了」をクリックします
20
4.6.2 プロジェクトのインストール
開発用&デバッグマシンにプロジェクト(CD-ROM)のインストールを行います。
1)開発用マシンの任意フォルダ内 Workspace 作成用のフォルダを作成します。
2) 作成した Workspace 作成用フォルダに提供 CD-ROM の AP_RZA_0A フォルダをコピーします。
21
4.7 フォルダ構成
フォルダ構成は、以下の様になっています。
AP_RZA_0A
│ README.TXT :はじめにお読みください
├─doc : ドキュメントフォルダ
│ ├─CopyrightNotice.pdf:KASAGO Copyright Notice マニュアル
│ ├─KASAGO_RTX for RZA1_ユーザーズマニュアル.pdf:本マニュアル
│ ├─kauser60131_RTX_for_RZA1.pdf:KASAGO TCP/IP ユーザーズマニュアル
| |
(KASAGO/RTX for RZ/A1 用)
| ├─KASAGO 制限事項マニュアル.pdf:KASAGO 制限事項マニュアル(※1)
│ ├─WebServer_RTX for RZA1_移植マニュアル.pdf
| |
:Web Server/RTX for RZ/A1 移植マニュアル
│ └─WebServer_RTX for RZA1_ユーザーズマニュアル.pdf
|
:Web Server/RTX for RZ/A1 ユーザーズマニュアル
└─src :ソースフォルダ
├─ap_rza_0a_rtx : メインプロジェクトフォルダ
│ ├─BAT(※)
│ ├─Include : ARM、CORE ヘッダファイル(※)
│ ├─RTX(※)
│ │ ├─INC : RTX ヘッダファイル
│ │ └─LIB : RTX ライブラリファイル
│ ├─SCAT : スキャッタファイル(※)
│ └─SRC
│
│ common.h
:共通ヘッダ
│
│ main.c
:メインファイル
│
│ retaget.c
: RETARGET ファイル
│
├─24lc01b
: EEPROM サンプルファイル(※)
│
├─ap_rza_0a
: RZ/A1 コンフィグファイル(※)
│
├─boot
: BOOT ファイル(※)
│
├─cdce913
: CDCE913 サンプルファイル(※)
│
├─dvdec
: デジタルビデオデコーダサンプルファイル(※)
│
├─gpio
: GPIO サンプルファイル(※)
│
├─lcdkit
: LCD-KIT サンプルファイル(※)
│
├─max9867
: MAX9867 サンプルファイル(※)
│
├─monitor
: MONITOR サンプルファイル(※)
│
├─riic
: RIIC サンプルファイル(※)
│
├─rscan
: RSCAN サンプルファイル(※)
│
├─rspi
: RSPI サンプルファイル(※)
│
├─s35390a
│
├─scif
: SCIF サンプルファイル(※)
│
├─sflash
: SFLASH サンプルファイル(※)
│
├─ssi
: SSI サンプルファイル(※)
│
└─vdc5
: VDC5 サンプルファイル(※)
└─KasagoSample:KASAGO サンプルファイル
├─Kasago
:KASAGO
│ ├─Include
:KASAGO ヘッダファイル
│ └─Source
:ソースファイル
├─KasagoAplSample :KASAGO サンプルファイル
│ ├─options
:KASASGO オプションサンプルファイル
│ │ ├─autoip
:AUTOIP サンプルファイル
22
│ │ ├─dhcp
│ │ ├─ftpc
│ │ ├─ftpd
│ │ ├─telnetd
│ │ └─websvr
│ ├─ping
│ ├─tcpsample
│ └─udpsample
└─LIB
:DHCP サンプルファイル
:FTP クライアントサンプルファイル
:FTP サーバーサンプルファイル
:TELNET デーモンサンプルファイル
:WEB サーバーサンプルファイル
:PING サンプルファイル
:TCP/IP 通信サンプルファイル
:UDP 通信サンプルファイル
:ライブラリファイル
※ アルファプロジェクト様ご提供ファイルになります。
※ 1
無償版にのみ添付
23
5. アプリケーション
5.1 サンプルファイル一覧
ここでは、KASAGO サンプルファイル、KASAGO オプションサンプルファイルについて説
明します。
サンプルプログラムは、8 種類提供します。但し、1 度に複数のサンプルプログラムをシ
ステムに登録して使用することはできません。1 つのサンプルプログラムを選択し、システ
ムを作成してください。
尚、初期状態での選択サンプルファイルは txping.c(PING 通信)となっています。
5.1.1 KASAGO サンプルファイル
ファイル名
txping.c
説明
IPv4 アドレスを使用し PING 通信を行います。
※初期状態で Build 対象とな 通信時の状況をシリアルで出力します。
っているファイルです。
※対向相手必要
txtcplp2.c
※初期状態で Build 対象外
IPv4 アドレスを使用し TCP 通信を行います。
※ループバッグアドレスを使用するため、対向相手不要
txudplpb.c
※初期状態で Build 対象外
IPv4 アドレスを使用し UDP 通信を行います。
※ループバッグアドレスを使用するため、対向相手不要
24
5.1.2 KASAGO オプションサンプルファイル
ファイル名
説明
options/autoip/
txautoip.c
※初期状態で Build 対象外
<AUTOIP サンプル>
AUTOIP アドレスを取得し、取得したアドレスが他のホ
ストに使用されていないことを検証後、ARP probe の送
信を開始します。
options/dhcp/
txdhcp.c
※初期状態で Build 対象外
<DHCP サンプル>
DHCP を使用し IP アドレス等ネットワーク情報を取得し
ます。
options/ftpd/
<FTP サーバーサンプル(含む DHCP)>
txftpd.c
※初期状態で Build 対象外
起動時、DHCP により IP アドレス等ネットワーク情報を
取得、その後 FTP サーバーとして動作します。
(ネットワーク情報を DHCP サーバーより取得できなか
った場合は、ソースコードに設定したネットワーク情報
を使用します。)
ファイル格納領域は、KASAGO ワーク領域に確保します。
ファイルシステムは KASAGO 独自の RAM ファイルシステ
ムを使用します。
options/ftpc/
txftpc.c
<FTP クライアントサンプル(含む DHCP)>
起動時、DHCP により IP アドレス等ネットワーク情報を
※初期状態で Build 対象外
取得、その後 FTP クライアントとして動作します。
(ネットワーク情報を DHCP サーバーより取得できなか
った場合、ソースコードに設定したネットワーク情報を
使用します。
)
ファイル格納領域は、KASAGO ワーク領域に確保します。
ファイルシステムは KASAGO 独自の RAM ファイルシステ
ムを使用します。
options/telnetd/
txtelntd.c
※初期状態で Build 対象外
<TELNET デーモンサンプル>
TELNET デーモンとして動作します。入力されたデータ
エコーバック実施及び、簡単なサンプルコマンドをサポ
ートします。
option/websvr/httpd/exsample <Web サーバーメイン処理サンプル>
httpdAPL.c
※websvr/wrapping/source 全ての.c ファイルをリンク
httpdCGISSIAUTH.c
する必要があります。
※初期状態で Build 対象外
25
5.2 サンプルの使用方法
ここではサンプルの開発手順、動作方法などについて説明します。
5.2.1 サンプルの開発手順
開発手順は以下のような流れで行います。
開発手順
開発ツールのインストール
開発ツールをインストールします。
プロジェクトのインストール
プロジェクトをインストールします。
ワークスペースの作成
プロジェクトの開始
各種設定の確認
アプリケーション追加
ビルド
RAM へのロード
デバッグ
ワークスペースを作成します。
プロジェクトを起動します。
コンパイラ、リンカなどの設定を確認します。
必要であれば、新規にアプリケーションを追加します。
ビルドを行います。
RAM にビルドで生成したバイナリファイルの内容を
書き込みます。
ブレークポイントを張ったり、メモリ内容を確認したりして
デバッグします。
26
5.2.2 サンプルの動作環境
以下にサンプルの動作環境例を示します。
ホストマシン
KEIL ULINK2
USB ケーブル
コネクタケーブル
ターゲットボード
RS-232C ケーブル
対向マシン
Ethernet ケーブル
対向マシン
IPv4:192.168.100.2
ターゲットボード
IPv4:192.168.100.1
以下はサンプルの動作を確認するために使用するものです。
項目
ターゲットボード
備考
サンプルアプリケーションを搭載した端末です。
通信を行う場合の対向相手です。
Ethernetケーブルを使用してターゲットボードと接続しま
対向マシン
ホストマシン
す。
また、ターゲットボードとTTLシリアル⇔RS232 インタフェー
スコンバータ(PC-RS-04)を経由し、RS-232C(クロス)ケー
ブルで接続。ターミナルソフトを使用してターゲットボード
のコントロールを行います。
DS-5 を使用し、ターゲットボードへの接続およびアプリケー
ションのロード処理を行います。
尚、RS-232C の設定は以下の通りです。
ボーレート
115200bps
データ長
8 ビット
パリティ
なし
ストップビット
1 ビット
27
5.3 プロジェクト生成
サンプルを動作するためのプロジェクト生成方法について説明します。
ここでは、開発用&デバッグマシンの「C:\WorkSpace」フォルダ内に、プロジェクト(CD-ROM) の
AP_RZA_0A フォルダをコピーした場合を例に説明致します。
1) 「DS-5」起動します。ワークスペースに「C:\WorkSpace」を入力し、
「OK」を選択します。
以下のような画面が出た場合は、
後に設定いたしますので
「無視する」
をクリックします。
28
2) 「ワークベンチに移動」をクリックします。
3) 以下の画面が表示されたら、
「ファイル」-「インポート」をクリックします。
29
4) 以下の画面が表示されたら、「一般」-「既存プロジェクトをワークスペースへ」を選択し、
「次へ」をクリックします。
5) 「参照」をクリックします。
30
6) C ドライブの「\\WorkSpace\\AP_RZA_0A\\src」
「を選択し、
「OK」をクリックします。
7) プロジェクト「ap_rza_0a_rtx」
「ETHER_drv」
「KsagoAplSample」のチェックボックスをマー
クし、
「終了」をクリックします。
31
8) プロジェクトに「ap_rza_0a_rtx」
「ETHER_drv」
「KsagoAplSample」が追加されたのを確認し
ます。
32
9) プロジェクトエクスプローラの「ap_rza_0a_rtx」を右クリックし、
「プロパティ」をクリッ
クします。
33
10) 「プロジェクト参照」をクリックし ap_rza_0a_rtx のプロジェクト参照の「ETHER_drv」
「KsagoAplSample」のチェックボックスをマークし、
「OK」をクリックします。
34
5.4 ライセンス登録
ライセンス登録方法について説明します。
※ライセンス登録を行わないでビルド操作を行うとビルドに失敗いたします
のでご注意ください。
1) 「ヘルプ」-「ARM Licence Mnager...」をクリックします。
2) 「ライセンスの追加」をクリックし、ライセンスを登録します。
35
5.5 ビルド方法
5.5.1 各サンプル作成時の設定
サンプルプログラムで大部分のファイルは共通に使用しますが、一部のファイルについ
ては、作成するサンプルによって使用/未使用が異なります。各サンプル作成時の使用ファ
イル設定方法について以下に説明させて頂きます。
サ ン プ ル 毎 に 使 用 / 未 使 用 が 異 な る の は 、「 プ ロ ジ ェ ク ト エ ク ス プ ロ ー ラ 」 で の
KasagoAplSample フォルダ下の赤線で囲んだフォルダ内ファイルです。
フォルダ名とサ関連するサンプルの関係を以下に示します。
サンプルを作成時には、関連するフォルダの選択が必要となります。
フォルダ名
関連するサンプル名
options\telnetd
TELNET デーモンサンプル
options\autoip
AUTOIP サンプル
option\dhcp
DHCP サンプル
option\ftpc
FTP クライアントサンプル
option\ftpd
FTP サーバーサンプル
ping
PING サンプル
tcpsample
TCP/IP 通信サンプル
udpsample
UDP 通信サンプル
36
さらに、前ページで説明したフォルダは複数同時に選択することができません。ビルドを
行うサンプルに関係のあるフォルダ1つのみを選択し、その他のフォルダはプロジェクト
から除外して下さい。
フォルダの選択/除外設定方法は以下の通りです。
(例では、option\telnetd の選択/除外方
法を示します。
)
1) プロジェクトエクスプローラ内の選択/除外する対象となるフォルダを右クリックし、
「プロパティ」をクリックします。
37
2)「C/C++ビルド」をクリックし、「ビルドからリソースを除外」チェックボックスに対し
て、選択する場合はチェックを外し、除外する場合は、チェックを行い、
「適用」をクリッ
クし、
「OK」をクリックします。
選択する場合は、
とチェックを外します。
除外する場合は、
とチェックを行います。
3)尚、上記設定結果は、プロジェクトエクスプローラ部分表示で確認可能です。以下に、
telnetd
での例を示します。
選択されている場合は、
除外されている場合は、
と表示されます。
と表示されます。
38
5.5.2 サンプルのビルド
1) メニューの「プロジェクト」-「プロジェクトのすべてビルド」を選択します。
※ビルドに失敗し、以下のメッセージが表示された場合はライセンス未登録の
場合が考えられますので、
「5.1.4 ライセンス登録」を行ってください。
39
5.6 ターゲットボードへの接続
1) ツールバーの「実行」-「デバッグの構成」をクリックします。ここで、
「デバッグの構
成」が表示されない場合は、すでにデバッグ構成ができています。10)へ進んでくださ
い。
2) 「DS-5 デバッガ」下に「新規接続」がある場合は、11)へ、無い場合は、右クリックし、
「新規」をクリックします。
40
3) 「ターゲットの選択」で「Renesas」-「RZ/A1H R7S721001」-「Bare Metal Debug」-「Debug
Coretex-A9」を選択、
「ターゲット接続」で「ULINK2」を選択、
「接続」の「参照」をク
リックします。
4) KEIL ULINK2 の検索を開始します。検索で見つかると以下のような画面になりますので
表示されたターゲットをクリックして選択し、
「選択」をクリックします。
41
5) 「適用」をクリックします。
6) 次に「ファイル」タブをクリックし「ワークスペース...」をクリックしロードするフ
ァイル「ap_rza_0a_rtx.axf」を選択し「OK」をクリックします。
42
7) 次に「OS の認識機能」タブをクリックし「KEIL CMSIS-RTOS RTX」を選択し、「適用」を
クリックし、
「デバッグ」をクリックします。
8) 以下のメッセージが表示され、イメージのロードが始まります。
上記画面表示前に、以下の表示が行われることがあります。その場合、「はい」をクリ
ックします。
43
9) しばらくするとイメージのロードが終了し、以下の様なでデバッグ画面に移行します。
この画面からデバッグが可能です。
44
10) ここからは、1)でデバッグ構成が表示されなかった場合の操作説明です。それ以外の場
合実施する必要はありません。
(既に一度、
「新規接続」を作成済みの場合の操作です。)
ツールバーの「実行」-「デバッグコンフィグレーション」をクリックします。
11) 「新規構成」をクリックし、
「デバッグ」をクリックします。
45
12) 以下の様なメッセージが出力される場合があります。「はい」をクリックします。
13) 以降は 8)へ移ります。
46
5.7 サンプルアプリケーションの動作
以下に、各サンプルアプリケーション動作について説明します。
5.7.1 PING サンプル
PING サンプルは、指定 IP アドレスに ICPM の ECHO REQUEST パケットを送信し、ECHO REPLY
を待ちます。REPLY が返った場合はその旨の表示をシリアルターミナルに行います。
以下に、正常に起動し PING が正常に行われた場合のシリアルターミナルへの表示例を示
します。
Link Up !! 100 Mbps / half-duplex
Sample Application start.
Usage : TreckPing [ourAddress] [ourNetmask] [ourGateway] [perAddress]
Default: TreckPing 192.168.100.1 255.255.255.0 192.168.100.2 192.168.100.2
Link Up !! 100 Mbps / half-duplex
Interface opened
OK!
Default gateway added
OK!
Ping started
OK!
ping=2 pong=1; ttl=1000ms
ping=2 pong=2; ttl=0ms
ping=3 pong=3; ttl=0ms
ping=4 pong=4; ttl=0ms
ping=5 pong=5; ttl=0ms
ping=6 pong=6; ttl=0ms
ping=7 pong=7; ttl=0ms
ping=8 pong=8; ttl=0ms
ping=9 pong=9; ttl=0ms
ping=10 pong=10; ttl=0ms
ping=11 pong=11; ttl=0ms
ECHO REPLY を受けたメッセージです。
47
5.7.2 TCP/IP 通信サンプル
TCP/IP 通信サンプルは、ループバックアドレスを使用し、TCP/IP でデータ送受信(ルー
プバック)を行います。以下に、ループバックが正常に動作した際のシリアルターミナル
への表示を示します。
Connected to server socket
1024 sent successfully
1024 received succesfully
TCP LOOP BACK Test success
Sample Application end.
5.7.3 UDP 通信サンプル
UDP 通信サンプルは、ループバックアドレスを使用し、UDP でデータ送受信(ループバッ
ク)を行います。以下に、ループバックが正常に動作した際のシリアルターミナルへの表
示を示します。
Sample Application start.
1024 sent successfully
1024 received succesfully
UDP LOOP BACK Test success
Sample Application end.
5.7.4 AUTOIP サンプル
AUTOIP アドレスを取得し、取得したアドレスが他のホストに使用されていないことを検
証後、ARP probe の送信を開始します。正常に動作した際ののシリアルターミナルへの表示
を示します。
Sample Application start.
Link Up !! 100 Mbps / half-duplex
ipAddress = 169.254.205.232(0xe8cdfea9)
tfFinishOpenInterface with 0xe8cdfea9
Sample Application end.
48
5.7.5 DHCP サンプル
DHCP を使用し IP アドレス等ネットワーク情報を取得します。取得したネットワーク情報
は、シリアルターミナルに出力します。正常にネットワーク情報を取得した際のシリアル
ターミナルへの表示を示します。
Call
Call
Link
dhcp
dhcp
tfKasagoInitialize()
tfInitDhcp
Up !! 100 Mbps / half-duplex
timeout! - Operation timed out
timeout! - Operation timed out
Link Down !!
Link Up !! 100 Mbps / full-duplex
Interface opened
OK!
IP address
: 192.168.0.97
Subnet mask address : 255.255.254.0
Gateway
address : 192.168.1.1
DNS primary address : 219.103.130.56
DNS secondary address : 210.196.3.183
5.7.5 FTP クライアントサンプル
・起動時、DHCP を使用し IP アドレス等ネットワーク情報を取得します。取得できた場合
はそのネットワーク情報を使用します。取得できなかった場合は、静的にプログラム
に設定された IP アドレス等ネットワーク情報を使用します。
・指定された IP アドレスの FTP サーバーに、指定されたユーザーネーム、パスワードを
使用して接続を行います。成功すると ftp>プロンプトをシリアルターミナルに表示しコ
マンド入力待ちになります。プロンプト表示後、FTP サーバーに対して以下のコマンドをシ
リアルターミナルより入力可能です。(尚、コマンド説明中の△は、スペースです。)
1)ファイルのアップロード
put△ローカルファイル△リモートファイル
2)ファイルのダウンロード
get△ダウンロード元ファイル△リモートファイル
3)ファイルの削除
delet△リモートファイル
4)リモートのファイル名の変更
rename△変更前リモートファイル△変更後リモートファイル
49
5)リモートのディレクトリ作成
mkdir△リモートディレクトリ
6)使用可能コマンド表示
help
7)切断
quit
8)ファイル転送の中止
abo
9)転送モードをアスキーに設定
ascii
10)転送モードをバイナリーに設定
bin
以下に正常に FTP サーバーに接続出来、操作を実施した例を示します。
尚、以下の例は FTP サーバーに test.txt ファイルが存在する場合の操作例です。
Sample Application start.
Call tfInitDhcp
Link Up !! 100 Mbps / full-duplex
Interface opened
OK!
IP address
: 192.168.0.97
Subnet mask address : 255.255.254.0
Gateway
address : 192.168.1.1
DNS primary address : 219.103.130.56
DNS secondary address : 210.196.3.183
Call tfFtpClient()
ftp> bin
bin
ftp> ascii
ascii
ftp> bin
bin
ftp> get test.txt test.txt
get test.txt test.txt
tfFtpRetr = No error
50
ftp> put test.txt test1.txt
put test.txt test1.txt
tfFtpStor = No error
ftp> mkdir testdir
mkdir testdir
tfFtpMkd = No error
ftp> rename test1.txt a.txt
rename test1.txt a.txt
arv[1] = test1.txt
arv[2] = a.txt
tfFtpRename = No error
ftp> delete a.txt
delete a.txt
tfFtpDele = No error
ftp> abo
abo
tfFtpAbor = No error
ftp> help
help
put
get
delete
help
quit
abo
ftp> quit
quit
tfFtpQuit = No error
FTP Quit
Sample Application end.
rename mkdir
ascii
bin
51
5.7.6 FTP サーバーサンプル
・起動時、DHCP を使用し IP アドレス等ネットワーク情報を取得します。取得できた場合
はそのネットワーク情報を使用します。取得できなかった場合は、静的にプログラムに
設定された IP アドレス等ネットワーク情報を使用します。
・FTP サーバーとして動作します
(FTP で使用可能なすべてのコマンドをサポートします)
。
<ユーザー名、パスワードは”elmic”を指定して下さい。>
以下に正常に FTP サーバーに接続出来、FTP サーバーとして動作した場合のシリアルターミ
ナルへの表示を示します。
Sample Application start.
Call tfInitDhcp
Link Up !! 100 Mbps / full-duplex
Interface opened
OK!
IP address
: 192.168.0.97
Subnet mask address : 255.255.254.0
Gateway
address : 192.168.1.1
DNS primary address : 219.103.130.56
DNS secondary address : 210.196.3.183
Call tfFtpdUserStart()
5.7.7 TELNET デーモンサンプル
TELNET デーモンとして動作します。TELNET を使用してターゲットに接続を行い、送信デ
ータのエコーバック、及び、簡単なサンプルコマンドの動作を確認できます。サポートす
るコマンドは、以下の3つです。
1)hello
Hi There!を表示します。
2)exit
TELNET 接続を切断します。
3)help
サポートするコマンドを表示します。
以下に正常に TELNET デーモンとして動作した場合のシリアルターミナルへの表示を示し
ます。
Sample Application start.
Call tfOpenInterface()
Link Up !! 100 Mbps / full-duplex
Call tfTeldUserStart()
52
5.7.8 WEB サーバーサンプル
WEB サーバーとして動作します。ブラウザの URL 入力バーに以下のアドレスを入力し、WEB
サーバーに接続します。
http://設定 IP アドレス/
たとえば、IP アドレスが 192.168.100.1 ならば、
http://192.168.100.1/
となります。
接続を行うとブラウザに以下のページが表示されます。
上記ページより WEB サンプル操作実施が可能です。
53
5.8 WEB サーバー用の HTML コンテンツの変更方法
ここでは KASAGO のウェブサーバに用いられている HTML コンテンツの変更方法について説
明します。HTML コンテンツをカスタマイジングすることにより、違う WEB ページを表示す
る事ができます。WEB サーバ用の HTML コンテンツ変更は以下の手順で行います。
HTMLコンテンツの
変更
ROM FS Builder
ツールで変換
変換されたファイルを
プロジェクトへ追加
ビルド
1) 「 [$WorkSpace]\AP_RZA_0A\src\ap_rza_0a_rtx\SRC\websvr\httpd\treckbin\romfs\de
mopage」へ移動します。本 SDK で提供するサンプル WEB ページ(HTML ソース)が入ってい
ます。HTML ソースの変更については省略します。
2) ROM FS BuilderツールにてHTMLファイルを変換します。このツールは、HTMLソースファ
イルをROM FILE SYSTEM用のコードに変換するツールです。詳細は、Web Serverユーザ
ーズ・マニュアル(WebServer_RTX for RZA1_ユーザーズマニュアル.pdf)」をご参照下
さい。
「[$WorkSpace]\AP_RZA_0A\src\ap_rza_0a_rtx\SRC\websvr\httpd\treckbin\romfs」へ
移動し、
「trromfs.exe」をクリックします。
3) ROM FS Builder ツールの Input Directory, Output Directory などのパスを確認し、Build
をクリックします。
54
・
Input Directory : HTML ファイルが入っているディレクトリ
・
Output .h Directory: 変換されたファイルのヘッダが出力されるディレクトリ
・
Output .h File: 変換されたファイルのヘッダ名「trrombld.h」を指定して下さい。
・
Output .c Director: 変換された C ファイルが出力されるディレクトリ
4) ビルドが成功し、出力ファイルが生成されますので、以下のフォルダにコピーします。
ファイルの場合:
[$WorkSpace]\AP_RZA_0A\src \ap_rza_0a_rtx\SRC\websvr\wrapping\source
ヘッダの場合:
[$WorkSpace]\AP_RZA_0A\src \ap_rza_0a_rtx\SRC\websvr\wrapping\include
55
5.9 各種設定の変更
サンプルの各種設定の変更について説明します。
5.9.1 MAC アドレスの変更
KASAGO が使用する MAC アドレスを変更する場合は、以下のマクロを修正します。
全ファイル共通
#define TM_FIXED_MAC
{0x00, 0x0C, 0x7B, 0x38, 0x01, 0x00}
※デフォルトは、「00-0C-7B-38-01-00」で設定しています。
56
5.9.2 IP アドレス設定の変更
KASAGO が使用する IP アドレス、ネットマスクアドレス、ゲートウェイアドレスを変更する場
合は、以下のマクロを修正します。
txping.c
ARP IP ICMP
#define
#define
#define
#define
TM_TEST_OUR_IP_ADDRESS
TM_TEST_OUR_NET_MASK
TM_TEST_OUR_GW
TM_TEST_PEER_IP_ADDRESS
"192.168.100.1"
"255.255.255.0"
"192.168.100.2"
"192.168.100.2"
#
#
#
#
自身の IP アドレス
サブネットマスク
デフォルトゲートウェイ
相手の IP アドレス
txftpc.c
ARP IP ICMP
#define TM_ADDR_SERVER
#define TM_ADDR_SERVER_MASK
#define TM_ADDR_CLIENT
"192.168.100.1"
"255.255.255.0"
"192.168.100.2"
# FTPサーバーアドレス
# サブネットマスク
# 自身の IP アドレス
【注】FTP クライアントサンプルでは、DHCP により DHCP サーバーより IP アドレス等のネットワ
ーク情報を取得します。サブネットアドレス、自身の IP アドレスは、DHCP サーバーよりネット
ワーク情報を入手できなかった場合に使用します。
txftpd.c
ARP IP ICMP
#define TM_ADDR_SERVER
#define TM_ADDR_SERVER_MASK
#define TM_ADDR_CLIENT
"192.168.100.1"
"255.255.255.0"
"192.168.100.2"
# FTPサーバーアドレス
# サブネットマスク
# 自身の IP アドレス
【注】FTP サーバーサンプルでは、DHCP により DHCP サーバーより IP アドレス等のネットワーク
情報を取得します。サブネットアドレス、自身の IP アドレスは、DHCP サーバーよりネットワー
ク情報を入手できなかった場合に使用します。
httpdAPL.c
ARP IP ICMP
#define TM_TEST_OUR_IP_ADDRESS
#define TM_TEST_OUR_NET_MASK
"192.168.100.1"
"255.255.255.0"
# 自身の IP アドレス
# サブネットマスク
httpdAPL.c の IP アドレスを変更した場合、HTML コンテンツに含まれる以下ファイルの内容を変
更する必要がございます。
57
[$WorkSpace]\AP_RZA_0A\src\ap_rza_0a_rtx\SRC\websvr\httpd\treckbin\romfs\demopage\
etc\host.set
1 行目が以下のような内容となっておりますので、IP アドレス値を変更後の IP アドレス値に修
正して下さい。
192.168.100.1,/mainhost
本ファイルを修正後、本ドキュメントの 5.7 項に記載されている内容の 2) からの手順を実施し
て下さい。
58
5.9.3 その他の設定変更
5.9.3.1 FTP クライアントの設定変更
<txtftpc.c>
FTP サーバーへログイン時の FTP サーバーアドレス、ユーザーネーム、パスワードの変更が可
能です。
以下の部分を変更します。
#define TM_ADDR_CLIENT
"192.168.0.102"
# FTPサーバーアドレス
#define FTP_USER_NAME
#define FTP_PASSWORD
"elwsc"
"elwsc"
# ユーザーネーム
# パスワード
使用するファイル格納領域のサイズを指定可能です。
以下の部分を変更します。
/* RAMFS ALLOC SIZE (128bytes UNIT) exp 8192->1MBytes */
#define ALLOC_RAMFS_SZ 8192
128 バイト単位で使用するサイズを指定します。
デフォルトは 8192 です(1MB)
。尚、設定可能な最大値は 8192 です。
5.9.3.1 FTP サーバーの設定変更
<txtftpd.c>
使用するファイル格納領域のサイズを指定可能です。
以下の部分を変更します。
/* RAMFS ALLOC SIZE (128bytes UNIT) exp 8192->1MBytes */
#define ALLOC_RAMFS_SZ 8192
128 バイト単位で使用するサイズを指定します。
デフォルトは 8192 です(1MB)
。尚、設定可能な最大値は 8192 です。
59
5.10 リソース情報
サンプルにて使用するリソースについて説明します。
リソース名
項目
内容
・KASAGO 用のタイマタスクです。
・STACK SIZE : 1 Kbyte
KASAGO タイマタスク
・Ether の受信処理を行います。
タスク
(Ethernet 利用時のみ動作)
・STACK SIZE : 1 Kbyte
KASAGO 受信タスク
イベント・フラグ
・3 個(KASAGO で使用します)
・7 個(KASAGO で使用します)
セマフォ
60
5.11 KASAGO FTP と RAM ファイルシステムについて
KASAGO の FTP デーモンと FTP クライアントを利用するためにはファイルシステムのインタ
フェースが必要ですが、KASAGO(RZA1H)_AP_RZA-0A では KASAGO のピープメモリをファイル
領域とする簡易的なファイルシステム(以下、RAM ファイルシステムと記します)を利用する
形で提供しております。
(その他のファイルシステムは利用できないようになっております。)
この RAM ファイルシステムは FTP からのアクセスのほか、ユーザアプリケーションからも
ファイルを登録することが出来ます。
(ユーザアプリケーションでファイルを作成し、別端末へファイルをアップロードする等と
いった操作が可能です)
FTP と RAM ファイルシステム、ユーザアプリケーションの関係性は以下のようになります。
ユーザアプリケーション
FTP サーバへのログイン、アップロ
アップロードするデータのファイル
登録、書込み等
ード、ダウンロード等 API 呼出し
(アップロードやダウンロード等でフ
ダウンロードしたファイルの参照等
ァイル名を指定)
ダウンロードしたファイルの登録、書込み
FTP の MKDIR コマンドによるディレクトリ作成等
KASAGO FTP/FTPD
RAM ファイルシステム
アップロードするファイルの読み出し
FTP の DIR、LS コマンドによるディレクトリ一覧の情報取り出し
等
RAM ファイルシステムの操作方法については、FTP クライアント、FTP デーモンのアプリケ
ーションサンプルや、kauser60131_KASAGO(RZA1H)AP-RZA-0A.doc をご参照ください。
61
Fly UP