Comments
Description
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