Comments
Description
Transcript
S1S60020
Intelligent Network Controller for Embedded Systems S1S60020 サンプルソフトウェアマニュアル Rev.1.3.2 本資料のご使用につきましては、次の点にご留意願います。 本資料の内容については、予告無く変更することがあります。 1. 本資料の一部、または全部を弊社に無断で転載、または、複製など他の目的に使用することは堅くお断りいたします。 2. 本資料に掲載される応用回路、プログラム、使用方法等はあくまでも参考情報であり、これら起因する第三者の知的財産権および その他の権利侵害あるいは損害の発生に対し、弊社はいかなる保証を行うものではありません。また、本資料によって第三者また は弊社の知的財産権およびその他の権利の実施権の許諾を行うものではありません。 3. 特性値の数値の大小は、数直線上の大小関係で表しています。 4. 本資料に掲載されている製品のうち「外国為替及び外国貿易法」に定める戦略物資に該当するものについては、輸出する場合、同 法に基づく輸出許可が必要です。 5. 本資料に掲載されている製品は、生命維持装置その他、きわめて高い信頼性が要求される用途を前提としていません。よって、弊 社は本(当該)製品をこれらの用途に用いた場合のいかなる責任についても負いかねます。 6. 本資料に掲載されている会社名、商品名は、各社の商標または登録商標です。 ©SEIKO EPSON CORPORATION 2009, All rights reserved. 製品型番体系 ●デバイス S1 S 60020 F 00A0 00 梱包仕様 [00: テープ&リール以外] 仕様 形状 [F : QFP] 機種番号 製品中分類 [S : 通信用] 製品分類 [S1: 半導体 IC] ●開発ツール S5U 1S 60K02 H 01 00 梱包仕様 ボードコード 区分 [H: ハードウェア、S: ソフトウェア] 仕様(対応半導体 IC) [60K02: S1S60020] 製品中分類 [1S : 半導体 IC 通信用] 製品分類 [S5U: 半導体用開発ツール] 目次 1. サンプルソフトウェアの概要 1 1.1 機能................................................................................................................................................1 1.2 実行方法.........................................................................................................................................1 1.3 開発環境.........................................................................................................................................2 2. 開発環境のインストール 3 2.1 Cygwinのインストール ...................................................................................................................3 2.2 GNU33 のインストール ..................................................................................................................3 2.3 サンプルソフトウェアの展開 ........................................................................................................4 2.4 サンプルソフトウェアのフォルダ構成 ..........................................................................................4 2.5 makefileの変更................................................................................................................................5 2.5.1 GNU33 ライブラリパスの調整.................................................................................................5 2.5.2 GNU33 Ver.3.3.0 以降に含まれるobjcopyへの対応..................................................................5 2.5.3 ICD33 を使用するための変更 ..................................................................................................5 3. 実行イメージの作成と実行 7 3.1 実行イメージの作成.......................................................................................................................7 3.2 Flash ROMからのロードと実行 .....................................................................................................8 3.2.1 実行イメージのSPI Flash ROMへの書き込み .........................................................................8 3.2.2 デバッガ使用時のSPI Flash ROMからのロードと実行...........................................................8 3.2.3 デバッガ非使用時のSPI Flash ROMからのロードと実行 .......................................................9 3.3 ホストCPUからのロードと実行.....................................................................................................9 3.3.1 デバッガ使用時のホストCPUからのロードと実行 .................................................................9 3.3.2 デバッガ非使用時のホストCPUからのロードと実行............................................................10 3.4 デバッガからのロードと実行 ......................................................................................................11 3.4.1 実行イメージをデバッガでロードするための設定................................................................11 3.4.2 実行イメージのSPI Flash ROMからの消去...........................................................................11 3.4.3 デバッガの使用方法 ..............................................................................................................11 4. サンプルソフトウェアのカスタマイズ 13 4.1 機能の選択方法 ............................................................................................................................13 4.1.1 機能の組み合わせ..................................................................................................................13 4.1.2 組み合わせを変更する...........................................................................................................14 4.2 パラメータの変更方法 .................................................................................................................14 4.2.1 MIB_ICパラメータセット.......................................................................................................14 4.2.2 MACアドレスを変更する .......................................................................................................15 4.2.3 デフォルトのMACアドレスを変更する.................................................................................15 4.2.4 デフォルトのIPアドレスを設定する .....................................................................................16 4.3 TCP/UART変換機能の変更方法....................................................................................................16 4.3.1 起動条件を変更する ..............................................................................................................16 4.3.2 TCPのポート番号を変更する.................................................................................................17 4.3.3 通信フォーマットを変更する ................................................................................................17 5. サンプルソフトウェアのホストインタフェース仕様 6. 付録 19 22 6.1 Cygwinインストール手順 .............................................................................................................22 7. 改訂履歴表 S1S60020 サンプルソフトウェアマニュアル(Rev.1.3.2)Seiko 32 Epson Corporation i 1. サンプルソフトウェアの概要 1. サンプルソフトウェアの概要 S1S60020 サンプルソフトウェアは、S1S60020 内部で動作するプログラムのソースコードと、それら のソースコードから実行イメージを作成するためのスクリプトからなります。 作成した実行イメージを S1S60020 内部にロードすることにより、S1S60020 をネットワークコント ローラとして動作させることができます。 1.1 機能 S1S60020 サンプルソフトウェアは以下の機能を備えています。 z TOPPERS/JSP μ ITRON4.0 仕様スタンダードプロファイル準拠のリアルタイム OS です。TOPPERS プロジェクト が配布しているものを、セイコーエプソンが S1S60020 環境向けに移植したものです。詳細について は TOPPERS/JSP に付属する文書を参照してください。 z TINET ITRON TCP/IP API 仕様 1.00 に準拠したプロトコルスタックです。ARP・IPv4・ICMPv4・UDP・ TCP の機能を提供しています。TOPPERS プロジェクトが配布しているものを、セイコーエプソンが S1S60020 環境向けに移植したものです。詳細については TINET に付属する文書を参照してくださ い。 z TINET 用拡張機能 セイコーエプソンが TINET 向けに作成したプロトコル群です。HTTPD(HTTP サーバ)・DHCP などの機能を提供しています。詳細については付属する文書を参照してください。 z S1S60020 用デバイスドライバ S1S60020 の内蔵するデバイス向けにセイコーエプソンが作成した制御プログラムです。S1S60020 デバイスドライバの説明文書は HTML 形式で付属しています。必要に応じて参照してください。 z S1S60020 用アプリケーション セイコーエプソンが S1S60020 向けに作成した以下のアプリケーションです。 ¾ ホストI/F仕様に基づくホストCPUとのやりとり 詳細については「S1S60Kシリーズ用ホストI/F仕様書」と“5. サンプルソフトウェアのホスト インタフェース仕様”を参照してください。 ¾ TCP通信とシリアルポートの間のリダイレクト 詳細についてはこの文書の“4.3 TCP/UART変換機能の変更方法”を参照してください。 ¾ UDP 通信とシリアルポートの間のリダイレクト TCP 通信とシリアルポートの間のリダイレクトと同様です。 1.2 実行方法 サンプルソフトウェアを実際に実行するためには、サンプルソフトウェアの実行イメージを S1S60020 内部にロードする必要があります。通常は S1S60020 ブートローダが Flash ROM などから実行イメージ をロードします。ブートローダを用いて実行イメージをロードする方法については「S1S60020 ブートロ ーダマニュアル」を参照してください。 なお、S1S60020 評価ボードに実装されている Flash ROM にはサンプルソフトウェアの実行イメージ は書き込まれていません。サンプルソフトウェアには実行イメージが付属していますので、必要に応じ て書き込んでください。 Flash ROMに実行イメージが書き込まれた状態で、スイッチを適切に設定してS1S60020 評価ボードの 電源を入れると、サンプルソフトウェアが実行されます。スイッチの設定方法については「S1S60020 評価ボードテクニカルマニュアル」およびこの文書の “3. 実行イメージの作成と実行”の“3.2 Flash ROM からのロードと実行”を参照してください。 開発中などでS1S60020 にICD33(ICE)を接続している場合は、ICD33 を介してPCから実行イメージ をロードすることが可能です。ICD33 を介して実行イメージをロードする方法についてはこの文書の“3. S1S60020 サンプルソフトウェアマニュアル(Rev.1.3.2)Seiko Epson Corporation 1 1. サンプルソフトウェアの概要 実行イメージの作成と実行”の“3.4 デバッガからのロードと実行”を参照してください。 1.3 開発環境 サンプルソフトウェアから実行イメージを作成し、その実行イメージをデバッグするためには以下の プログラムと機材が必要です。 〔プログラム〕 z Cygwin z GNU33*1 *1:本サンプルソフトウェアマニュアルでは、弊社提供のGNUコンパイラセット「GNU33」のバージョン 3.1 を前提 に説明しているため、最新のGNU33 と対応していない場合があります。サンプルソフトウェアおよび本マニュアル とお手元のGNU33 を対応させるために“2.5 makefileの変更”をご確認ください。そのほか、GNU33 の詳細に関 しては弊社営業担当にご確認ください。 〔機材〕 z PC(Windows 2000/XP/Vista)*2 z ICD33(ICE) z ICD33 電源ケーブル z ICD33 ターゲットコネクタ(ICD33 と S1S60020 を接続するケーブル) z USB ケーブル(ICD33 と開発環境をインストールした PC を接続するケーブル)*3 *4 z S1S60020 評価ボード z S1S60020 評価ボード用 AC アダプタ z LAN ケーブル(ストレート/クロス両対応) *2: Windows 98/Me での動作確認はしておりません。GNU33 の Vista 対応はバージョン 3.3.0 以降となっています。 *3: シリアルポートを使い PC と接続するタイプの ICD33 ではシリアルストレートケーブルが必要になります。 *4: ICD33 Ver.4 は A コネクタ-B コネクタタイプ、ICD33 Ver.6 以降は A コネクタ-ミニ B コネクタタイプです。 Cygwin・GNU33・サンプルソフトウェアのインストール方法につきましてはこの文書の“2. 開発環境 のインストール”を参照してください。 GNU33、ICD33、S1S60020 評価ボードの入手方法につきましては弊社担当営業までお問い合わせくだ さい。S1S60020 評価ボードにつきましては、お客様が作成されたボードで置き換えることができます。 2 Seiko Epson Corporation S1S60020 サンプルソフトウェアマニュアル(Rev.1.3.2) 2. 開発環境のインストール 2. 開発環境のインストール 2.1 Cygwinのインストール Cygwin は http://www.cygwin.com/ から入手可能です。弊社では配布・サポートなどしておりません ので、配布元からお客様が直接入手してご利用ください。 弊社では、以下の開発環境を整備するにあたって、Cygwin のフォルダが c:¥cygwin に存在することを前提にしております。フォルダ位置が異なる場合につきましては検証しておりません ので、お客様が実行イメージを作成される場合も上記環境に合わせて Cygwin をインストールしていた だくようお願いいたします。 またその他のパラメータにつきましても以下のように設定してください。 表 2-1 Cygwinのパラメータ設定 設定 パラメータ Root Directory c:¥cygwin Default Text File Type DOS Select Packages Gawk (Category Base) Grep (Category Base) Binutils (Category Devel) Gcc (Category Devel) Make (Category Devel) Perl (Category Interpreters) Cygwinインストール手順につきましては“6.1 Cygwinインストール手順”に詳細を紹介していますの で参照してください。 2.2 GNU33のインストール GNU33 のインストールにつきましては GNU33 付属のマニュアル(S5U1C33001C マニュアル)を参 照してください。 弊社では、以下の開発環境を整備するにあたって、GNU33 のフォルダが c:¥epson¥gnu33 に存在することを前提にしております。フォルダ位置が異なる場合につきましては検証しておりません ので、お客様が実行イメージを作成される場合も上記環境に合わせて GNU33 をインストールしていた だくようお願いいたします。 GNU33 付属のマニュアルに沿ってインストールを終了しましたら、Cygwin 中にある同じファイルと の衝突を避けるため c:¥epson¥gnu33¥cygwin1.dll の名前を c:¥epson¥gnu33¥cygwin1-gnu33.dll に変更して ください。 続いて、c:¥epson¥gnu33 を環境変数 PATH に追加してください。c:¥epson¥gnu33 があらかじめ PATH に含まれている場合は対応不要です。PATH に c:¥epson¥gnu33 を追加する方法は以下に示す手順となり ます。 1. 2. 3. Windows ロゴ + R キーを入力するなどの方法で「ファイル名を指定して実行」ダイアログを表示し ます。 「ファイル名を指定して実行」ダイアログに「control sysdm.cpl」と入力して、「システムのプロパ ティ」ダイアログを表示します。 「システムのプロパティ」ダイアログの「詳細設定」タブから、 「環境変数」を選択して、 「環境変 S1S60020 サンプルソフトウェアマニュアル(Rev.1.3.2)Seiko Epson Corporation 3 2. 開発環境のインストール 数」ダイアログを表示します。 ユーザー環境変数とシステム環境変数が表示されますので、このうちユーザー環境変数の変数 PATH の値の末尾に c:epson¥gnu33 を追加します。あらかじめ変数 PATH が存在しない場合と、存在 する場合とで次のように追加方法が異なります。 a) 変数 PATH が存在しない場合 「ユーザー環境変数」の直下の「新規」を選択して「新しいユーザー変数」ダイアログを表 示します。「変数名」に「PATH」を、「変数値」に「c:¥epson¥gnu33」を記入して「OK」を 選択します。 b) 変数 PATH が存在する場合 「ユーザー環境変数」から変数「PATH」を選択した状態で、直下の「編集」を選択して「ユ ーザー変数の編集」ダイアログを表示します。 「変数名」に「PATH」が表示されていること を確認して、 「変数値」の末尾に「;c:¥epson¥gnu33」を追記して「OK」を選択します。 「環境変数」ダイアログに戻りますので「OK」を選択します。 「システムのプロパティ」ダイアログに戻りますので「OK」を選択します。 4. 5. 6. 2.3 サンプルソフトウェアの展開 S1S60020 サンプルソフトウェアのアーカイブファイル S1S60020_xxxxxx.zip(xxxxxx はバージョンに より異なる文字列)を任意の場所で展開し、展開された S1S60020 フォルダを c:¥cygwin¥home¥s1s60020 になるように移動してください。 2.4 サンプルソフトウェアのフォルダ構成 サンプルソフトウェアは以下のようなフォルダ構成になっています。 表 2-2 サンプルソフトウェアのフォルダ構成 フォルダ名 主な作成者 役割 build60020 セイコーエプソン S1S60020 実 行 イ メ ー ジ 作 成 用 の ス ク リ プ ト お よ び S1S60020 実行イメージ作成結果 buildwin セイコーエプソン シミュレーションプログラム作成用のスクリプトおよび シミュレーションプログラム作成結果 60020app セイコーエプソン S1S60020 アプリケーションソースコード include セイコーエプソン S1S60020 ヘッダファイル jsp TOPPERS プロジェクト TOPPERS/JSP(μITRON4.0 リアルタイム OS)配布フ ァイル一式 jsp/config/s1c33 TOPPERS プロジェクト およびセイコーエプソン TOPPERS/JSP 用 S1S60020CPU(S1C33)依存部ソース コード jsp/config/s1c33/s1s60020 セイコーエプソン TOPPERS/JSP 用 S1S60020 機種依存部ソースコード TOPPERS プロジェクト TINET(ITRON TCP/IP プロトコルスタック)配布ファイ ル一式 jsp/tinet/netdev/if_bigmac セイコーエプソン TINET 用 S1S60020 ネットワークドライバソースコード protocols セイコーエプソン TINET 用アプリケーションプロトコルおよび TINET 用拡 張機能 protocols/doc セイコーエプソン TINET 用アプリケーションプロトコルおよび TINET 用拡 張機能説明文書 protocols/httpd セイコーエプソン HTTP サーバー(TINET 用拡張機能)およびドキュメント 変換補助ツール protocols/httpd/standard セイコーエプソン HTTP サーバー用サンプルドキュメント jsp/tinet 4 Seiko Epson Corporation S1S60020 サンプルソフトウェアマニュアル(Rev.1.3.2) 2. 開発環境のインストール フォルダ内の各ファイルの作成者については、各ファイルのヘッダをご参照ください。 2.5 makefileの変更 サンプルソフトウェアに含まれる makefile(Makefile/Makefile.config など)は特定の開発環境(サンプ ルソフトウェア Ver.1.3.0 の場合は GNU33 Ver.3.1.0 と ICD33 Ver.4)で動作確認したものであり、GNU33 や ICD33 のバージョンの違いに対応して変更が必要な場合があります。ご利用の開発環境に応じて、以 下に示すように makefile を変更してください。 2.5.1 GNU33ライブラリパスの調整 S1S60020 は CPU として C33PE を内蔵してます。インストール直後の GNU33 は、C33PE 用ではなく C33STD 用のライブラリを使用する設定となっている場合があります。C33PE と C33STD では命令セッ トの一部が異なるため、C33STD 用のライブラリを使って作成した実行イメージを S1S60020 にロード しても正しく動作しません。 C33PE 用のライブラリの存在するフォルダは、c:¥epson¥gnu33¥lib¥readmejp.txt に記述されています。 まずはこの文書をご確認ください。 次に、サンプルソフトウェア作成時に参照するライブラリのパス(ライブラリパス)を C33PE 用のラ イブラリの存在するフォルダに変更します。ライブラリパスは jsp¥config¥s1c33-gnu33¥Makefile.config の変数 LIBDIR で設定されています。 サンプルソフトウェア Ver.1.3.0 では LIBDIR = $(TOPDIR)/lib と記述されていますが、この記述はライ ブラリパスを c:¥epson¥gnu33¥lib と指定するものです。この記述を先に確認した C33PE 用のライブラリ パスに変更することで、C33PE 用のライブラリを使用する設定となります。 例えば、C33PE 用のライブラリパスが c:¥epson¥gnu33¥lib¥pe である場合、LIBDIR = $(TOPDIR)/lib/pe と変更してください。 2.5.2 GNU33 Ver.3.3.0以降に含まれるobjcopyへの対応 GNU33 Ver.3.3.0 以降で objcopy の仕様が変更になり、-I elf32-little オプションの指定が必須となってい ます。 サンプルソフトウェア Ver.1.3.0 では build60020/Makefile 中の 3 カ所で objcopy を使用しています。し たがって、GNU33 Ver.3.3.0 以降をご利用の場合は、それぞれの箇所に「-I elf32-little」の記述を追加して ください。 例えば、サンプルソフトウェア Ver.1.3.0 では build60020/Makefile の 557 行、571 行、577 行をそれぞ れ以下のように変更します。 557 行 変更前: 変更後: $(OBJCOPY) -O srec -S $(OBJFILE) $(OBJNAME).srec $(OBJCOPY) -I elf32-little -O srec -S $(OBJFILE) $(OBJNAME).srec 571 行 変更前: 変更後: $(OBJCOPY) -O binary -S $(OBJFILE) $(OBJNAME).bin $(OBJCOPY) -I elf32-little -O binary -S $(OBJFILE) $(OBJNAME).bin 577 行 変更前: 変更後: $(OBJCOPY) -O srec -S $(OBJFILE) $(OBJNAME).srec $(OBJCOPY) -I elf32-little -O srec -S $(OBJFILE) $(OBJNAME).srec 2.5.3 ICD33を使用するための変更 インサーキットデバッガ S5U1C33001H1400(ICD33 V6.0)を使用する場合、gdb の target コマンドの 引数 type に(ICD33 V4.0 以前の icd ではなく)icd6 usb を指定しなければなりません。 サンプルソフトウェア Ver.1.3.0 では、jsp/config/s1c33-gnu33/s1s60020/Makefile.config で以下のように target コマンドの引数 type に icd usb を指定しています。 S1S60020 サンプルソフトウェアマニュアル(Rev.1.3.2)Seiko Epson Corporation 5 2. 開発環境のインストール echo target icd usb >> s1s60020.gdb #decide debugger mode and its port ICD33 V6.0 を使用する場合、icd という文字列を以下のように icd6 へ変更してください。 echo target icd6 usb >> s1s60020.gdb #decide debugger mode and its port また、USB の代わりに COM ポートを使う ICD33 も存在します。COM ポートを使用する場合は、 jsp/config/s1c33-gnu33/s1s60020/Makefile.config の同じ行を次のように変更してください。 echo target icd comx >> s1s60020.gdb #decide debugger mode and its port 上記の「comx」の x は実際に使用する COM ポートの番号となります。したがって、COM1 を使用す る場合には「com1」などと記述してください。 以上の変更により build60020/s1s60020.gdb に target コマンドと引数 type を含む行が出力されます。 なお、s1s60020.gdbは“3.4.3 デバッガの使用方法”に示すmake icdの実行によりmakefileから自動で生 成されるため、サンプルソフトウェアの展開時には存在しません。 6 Seiko Epson Corporation S1S60020 サンプルソフトウェアマニュアル(Rev.1.3.2) 3. 実行イメージの作成と実行 3. 実行イメージの作成と実行 3.1 実行イメージの作成 Windows のスタートメニューから Cygwin Bash Shell を選択し、コマンドインタプリタ(bash)を起 動してください。Bash 上で次のように入力して S1S60020 ファームウェア作成用のフォルダへ移動し てください。 $ cd /cygdrive/c/cygwin/home/s1s60020/build60020 続いて以下の順に入力して実行イメージを作成してください。 $ $ $ $ make clean make tinet make depend make 数十秒~数分で make が完了します。s1s60020.elf が作成されていればビルドに成功しています。 TOPPERS/JSP のチェッカ(chk.exe)がエラーを出力しますが、実行には問題ありません。これは TOPPERS/JSP のチェッカそのものの問題ですので、サンプルソフトウェアでは特に対応する予定はあ りません。 また、xxx.h ファイル及び、xxx.cfg ファイル(いずれも xxx は任意のファイル名)に一切変更が無い 場合には、以後、make のみを実行してください。 実行イメージファイル s1s60020.elf 表 3-1 実行イメージファイルの役割 役割 デバッガが利用するプログラムやデバッグ情報などを含むファイルです。デ バッガ使用時およびデバッガからのロード時に必要です。 s1s60020.bin* s1s60020.elf のプログラム部分をメモリ上にロードしたイメージのファイル です。ホスト CPU からのロード時に必要です。 s1s60020.srec s1s60020.bin のプログラム部分をメモリ上にロードしたイメージを S 形式 (モトローラ形式)に変換したファイルです。S1S60020 のブートローダを 使って SPI Flash ROM を書き換えるときに必要です。このファイルは、 s1s60020.elf と同時に作成されています。 *注意:s1s60020.bin については、s1s60020.elf と同時には作成されませんので、s1s60020.elf 作成後に次 のように入力して作成してください。 $ make s1s60020.bin s1s60020.srecやs1s60020.binの生成に失敗する場合、 “2.5.2 GNU33 Ver.3.3.0 以降に含まれるobjcopyへの 対応”を再度ご確認ください。 サンプルソフトウェア中には、これらの手順を簡略化するためのスクリプト(firm_update.sh)を用意 しています。詳しくは Bash 上で、S1S60020 ファームウェア作成用のディレクトリで $ ./firm_update.sh –help と入力してください。 なお、firm_update.sh は Windows の system32 フォルダが c:¥winnt¥system32 に存在するものとして記述 されています。system32 フォルダが c:¥windows¥system32 などに存在する場合は、firm_update.sh の 4 行 目に定義されている sys32_dir を書き換えてください。 S1S60020 サンプルソフトウェアマニュアル(Rev.1.3.2)Seiko Epson Corporation 7 3. 実行イメージの作成と実行 3.2 Flash ROMからのロードと実行 この節では、SPI0 に接続された Flash ROM(以下 SPI Flash ROM)からプログラムをロードし、実行 する方法を説明します。 3.2.1 実行イメージのSPI Flash ROMへの書き込み サンプルソフトウェアを変更して実行イメージを更新した場合、SPI Flash ROM を書き換える必要が あります。S1S60020 評価ボード上の SPI Flash ROM を実行イメージで書き換える方法については 「S1S60020 ブートローダマニュアル」を参照してください。 実行したいイメージがすでに SPI Flash ROM へ書き込み済みであれば、あらためて書き込む必要はあ りません。 3.2.2 デバッガ使用時のSPI Flash ROMからのロードと実行 デバッガを使用しながら SPI Flash ROM から実行イメージをロードして実行するには、以下の機材が 必要です。 z z z z z z z z 開発環境をインストールした PC ICD33(ICE) ICD33 電源ケーブル ICD33 ターゲットコネクタ(ICD33 と S1S60020 を接続するケーブル) USB ケーブル(ICD33 と開発環境をインストールした PC を接続するケーブル)*1 *2 S1S60020 評価ボード S1S60020 評価ボード用 AC アダプタ LAN ケーブル(ストレート/クロス両対応) *1: シリアルポートを使い PC と接続するタイプの ICD33 ではシリアルストレートケーブルが必要になります。 *2: ICD33 Ver.4 は A コネクタ-B コネクタタイプ、ICD33 Ver.6 以降は A コネクタ-ミニ B コネクタタイプです。 以下のように機材を接続し、スイッチを設定してください。 z z z z z S1S60020 評価ボードと ICD33 の接続 S1S60020 評価ボードのデバッグ用コネクタ(CN2)と ICD33 の TARGET I/F をターゲットコネクタで 接続してください。 PC と ICD33 の接続 開発環境をインストールした PC と ICD33 を USB ケーブルで接続してください。 S1S60020 評価ボードと通信相手の接続 S1S60020 評価ボードと通信相手を LAN ケーブルで接続してください。 S1S60020 評価ボードのモード設定 S1S60020 評価ボードのモードセレクト端子設定用 DIP-SW(SW2)の 3 4 8 を ON に設定してください。 (SPI0、ノーマルモード選択) S1S60020 評価ボードの端子設定 S1S60020 評価ボードのマルチプレクス端子機能切替用バス-SW(SW4、SW5)を、それぞれ中心に設 定してください。(SPI0 に Flash ROM を接続) 続いて以下の順に電源を投入してください。 1. 2. ICD33 の電源を投入します。 S1S60020 評価ボード用 AC アダプタの DC プラグを、S1S60020 評価ボードの電源コネクタ(CN6)に 挿入します。 この状態でPC上からデバッガを起動します。デバッガの使用方法および使用時の注意点につきまして は“3.4.3 デバッガの使用方法”を参照してください。 デバッグを終了して電源を切る場合は以下の手順となります。 8 Seiko Epson Corporation S1S60020 サンプルソフトウェアマニュアル(Rev.1.3.2) 3. 実行イメージの作成と実行 1. 2. 3. PC 上で動作しているデバッガアプリケーションを終了します。 ICD33 の電源を切ります。 S1S60020 評価ボードの電源コネクタ(CN6)から、S1S60020 評価ボード用 AC アダプタの DC プラグ を抜きます。 3.2.3 デバッガ非使用時のSPI Flash ROMからのロードと実行 SPI Flash ROM から実行イメージをロードして実行するには、以下の機材が必要です。 z z z S1S60020 評価ボード S1S60020 評価ボード用 AC アダプタ LAN ケーブル(ストレート/クロス両対応) 以下のように機材を接続し、スイッチを設定してください。 z z z S1S60020 評価ボードと通信相手の接続 S1S60020 評価ボードと通信相手を LAN ケーブルで接続してください。 S1S60020 評価ボードのモード設定 S1S60020 評価ボードのモードセレクト端子設定用 DIP-SW(SW2)の 3 4 8 を ON に設定してください。 (SPI0、ノーマルモードの選択) S1S60020 評価ボードの端子設定 S1S60020 評価ボードのマルチプレクス端子機能切替用バス-SW(SW4、SW5)を、それぞれ中心に設 定してください。(SPI0 に Flash ROM を接続) 続いて以下の順に電源を投入してください。 1. 2. S1S60020 評価ボード用 AC アダプタの DC プラグを、S1S60020 評価ボードの電源コネクタ(CN6)に 挿入します。 電源投入手順を行ってすぐ、S1S60020 が動作を開始します。 実行を終了して電源を切る場合は以下の手順となります。 1. S1S60020 評価ボードの電源コネクタ(CN6)から、S1S60020 評価ボード用 AC アダプタの DC プラグ を抜きます。 3.3 ホストCPUからのロードと実行 3.3.1 デバッガ使用時のホストCPUからのロードと実行 デバッガを使用しながらホスト CPU から実行イメージをロードして実行するには、以下の機材が必要 です。 z z z z z z z z z PC(Windows 2000/XP)*1 ICD33(ICE) ICD33 電源ケーブル ICD33 ターゲットコネクタ(ICD33 と S1S60020 を接続するケーブル) USB ケーブル(タイプ A⇔タイプ B、ICD33 と開発環境をインストールした PC を接続するケーブ ル)*2 *3 S1S60020 評価ボード S1S60020 評価ボード用 AC アダプタ LAN ケーブル(ストレート/クロス両対応) ホスト CPU *1: Windows 98/Me/Vista での動作確認はしておりません *2: シリアルポートを使い PC と接続するタイプの ICD33 ではシリアルストレートケーブルが必要になります。 *3: ICD33 Ver.4 は A コネクタ-B コネクタタイプ、ICD33 Ver.6 以降は A コネクタ-ミニ B コネクタタイプです。 S1S60020 サンプルソフトウェアマニュアル(Rev.1.3.2)Seiko Epson Corporation 9 3. 実行イメージの作成と実行 以下のように機材を接続し、スイッチを設定してください。 z z z z z z S1S60020 評価ボードと ICD33 の接続 S1S60020 評価ボードのデバッグ用コネクタ(CN2)と ICD33 の TARGET I/F をターゲットコネクタ で接続してください。 PC と ICD33 の接続 開発環境をインストールした PC と ICD33 を USB で接続してください。 S1S60020 評価ボードとホスト CPU の接続 S1S60020 評価ボードの Host I/F 用コネクタ(CN1)とホスト CPU を接続してください。 S1S60020 評価ボードと通信相手の接続 S1S60020 評価ボードと通信相手を LAN ケーブルで接続してください。 S1S60020 評価ボードのホストインタフェース設定 S1S60020 評価ボード上の Host I/F タイプ設定 DIP-SW(SW1)を使用するホスト CPU に環境に合わせ て設定してください。 (ホスト I/F 端子“HSIZE, HENDIAN, HINTPOL, HMUX, HIFSEL[2:0]”の設定) * 詳細は S1S60020 テクニカルマニュアルを参照してください。 S1S60020 評価ボードのモード設定 S1S60020 評価ボード上のモードセレクト用スイッチ(SW2) の 1 2 8 を ON、3 4 を OFF に設定して ください(ホスト I/F、ノーマルモード選択)。この設定により、S1S60020 のブートローダはホスト CPU から実行イメージをロードします。 続いて以下の順に電源を投入してください。 1. 2. 3. ICD33 の電源を投入します。 ホスト CPU の電源を投入します。 S1S60020 評価ボード用 AC アダプタの DC プラグを、S1S60020 評価ボードの電源コネクタ(CN6)に 挿入します。 この状態でPC上からデバッガを起動します。デバッガの使用方法および使用時の注意点につきまして は“3.4.3 デバッガの使用方法”を参照してください。 デバッグを終了して電源を切る場合は以下の手順となります。 1. 2. 3. 4. PC 上で動作しているデバッガアプリケーションを終了します。 ICD33 の電源を切ります。 ホスト CPU の電源を切ります。 S1S60020 評価ボードの電源コネクタ(CN6)から、S1S60020 評価ボード用 AC アダプタの DC プラグ を抜きます。 3.3.2 デバッガ非使用時のホストCPUからのロードと実行 ホスト CPU から実行イメージをロードして実行するには、以下の機材が必要です。 z z z z S1S60020 評価ボード S1S60020 評価ボード用 AC アダプタ LAN ケーブル(ストレート/クロス両対応) ホスト CPU 以下のように機材を接続し、スイッチを設定してください。 z z z z 10 S1S60020 評価ボードとホスト CPU の接続 S1S60020 評価ボードの Host I/F 用コネクタ(CN1)とホスト CPU を接続してください。 S1S60020 評価ボードと通信相手の接続 S1S60020 評価ボードと通信相手を LAN ケーブルで接続してください。 S1S60020 評価ボードのホストインタフェース設定 S1S60020 評価ボード上の Host I/F タイプ設定 DIP-SW(SW1)を使用するホスト CPU に環境に合わせ て設定してください。 (ホスト I/F 端子“HSIZE, HENDIAN, HINTPOL, HMUX, HIFSEL[2:0]”の設定) * 詳細は S1S60020 テクニカルマニュアルを参照してください。 S1S60020 評価ボードのモード設定 S1S60020 評価ボード上のモードセレクト用スイッチ(SW2) の 1 2 8 を ON、3 4 を OFF に設定して ください(ホスト I/F、ノーマルモード選択)。この設定により、S1S60020 のブートローダはホスト Seiko Epson Corporation S1S60020 サンプルソフトウェアマニュアル(Rev.1.3.2) 3. 実行イメージの作成と実行 インタフェースから実行イメージをロードします。 続いて以下の順に電源を投入してください。 1. 2. ホスト CPU の電源を投入します。 S1S60020 評価ボード用 AC アダプタの DC プラグを、S1S60020 評価ボードの電源コネクタ(CN6)に 挿入します。 電源投入手順を行ってすぐ、S1S60020 が動作を開始します。 ファームウェアのロードは「S1S60020 ブートローダマニュアル」の「5.ホスト CPU からのロード」 にある手順を参照してください。 実行を終了して電源を切る場合は以下の手順となります。 1. 2. ホスト CPU の電源を切断します。 S1S60020 評価ボードの電源コネクタ(CN6)から、S1S60020 評価ボード用 AC アダプタの DC プラグ を抜きます。 3.4 デバッガからのロードと実行 3.4.1 実行イメージをデバッガでロードするための設定 実行イメージをデバッガでロードする場合、S1S60020 評価ボードをSPI Flash ROMから実行イメージ をロードする場合と同じに設定します。接続および設定の方法については、 “3.2.2 デバッガ使用時のSPI Flash ROMからのロードと実行”を参照してください。 3.4.2 実行イメージのSPI Flash ROMからの消去 デバッガを使って実行イメージをロードした場合でも、動作開始直後は S1S60020 に内蔵されている ブートローダが動作します。ブートローダは SPI Flash ROM を検査して適切な実行イメージを見つける と、それをロードし、デバッガがロードした実行イメージを上書きしてしまいます。 ブートローダによる実行イメージの上書きを避けるには、SPI Flash ROM から実行イメージを消去し ておくことが必要です。 SPI Flash ROM から実行イメージを消去する方法については「S1S60020 ブートローダマニュアル」の 「4.2.3. Flash ROM 書き換え手順」を参照してください。 なお、 “3.4.3 デバッガの使用方法”で紹介するmakeファイルを使った使用手順は、ブートローダによ る実行イメージのロード後にデバッガが実行イメージをロードするものになっています。この場合、SPI Flash ROMに実行イメージが書き込まれていてもデバッガを使って実行イメージをロードできますが、 混乱を避けるため、デバッグ時にはあらかじめSPI Flash ROMを消去していただくことをお勧めします。 3.4.3 デバッガの使用方法 S1S60020 評価ボードと ICD33 などを接続した上で、以下の順に電源を投入してください。 1. 2. 3. ICD33 の電源を投入する (ホスト CPU があれば)ホスト CPU の電源を投入します。 S1S60020 評価ボード用 AC アダプタの DC プラグを、S1S60020 評価ボードの電源コネクタ(CN6)に 挿入します。 S1S60020 サンプルソフトウェアマニュアル(Rev.1.3.2)Seiko Epson Corporation 11 3. 実行イメージの作成と実行 この状態でPC上からデバッガを起動します。デバッガを起動するには、“3.1 実行イメージの作成”手 順に従い実行イメージファイル(s1s60020.elf)の作成が終わった状態から、以下のように入力してくだ さい。 $ make icd デバッガは S1S60020 のブートローダを動作させて、実行イメージの開始アドレスを呼び出すところ まで実行したところで S1S60020 を停止させ、実行イメージをロードします。 デバッガがtargetコマンドの実行に失敗する場合、原因として、targetコマンドの引数typeの指定がお使 いになっているICD33 に適合していないことが考えられます。“2.5.3 ICD33 を使用するための変更”に 従い、s1s60020.gdbに書かれているtargetコマンドがお使いのICD33 に対応していることを確認してくだ さい。 以降はデバッガを利用してロードした実行イメージをデバッグすることが可能です。 実行イメージをロードした直後、プログラムは停止しています。プログラムを実行する場合、gdb の Console ウインドウに continue コマンドを入力してください。 そのほか、デバッガの機能については GNU33 のマニュアル(S1C33 Family C コンパイラパッケージ マニュアルなど)を参照してください。 ※注意※ 一度でもブートローダからサンプルソフトウェアの実行イメージに制御が移ると、以降の cold・ hot リセット、電源切断手順を伴わないデバッガ再起動は、実行イメージの開始アドレスからの実 行になります。この状態から実行しても、実行イメージが正しく動作するとは限りません(多くの 場合は正しく動作しません)。正しく動作させるために、電源切断手順に従って電源断を行い、再 度、電源投入手順に従って電源を入れなおしていただくようお願いいたします。 デバッグを終了して電源を切る場合は以下の手順となります。 1. 2. 3. 4. 12 PC 上で動作しているデバッガアプリケーションを終了します。 ICD33 の電源を切ります。 (ホスト CPU があれば)ホスト CPU の電源を切ります。 S1S60020 評価ボードの電源コネクタ(CN6)から、S1S60020 評価ボード用 AC アダプタの DC プラグ を抜きます。 Seiko Epson Corporation S1S60020 サンプルソフトウェアマニュアル(Rev.1.3.2) 4. サンプルソフトウェアのカスタマイズ 4. サンプルソフトウェアのカスタマイズ 4.1 機能の選択方法 4.1.1 機能の組み合わせ サンプルソフトウェアには複数の機能が含まれています。必要に応じて機能を選択し、調整して、 S1S60020 へ組み込んでいただくことになります。 ただし、いくつかの機能につきましては、組み合わせて調整した状態をサンプルソフトウェアとして提 供していますので、組み合わせを選択するだけで S1S60020 に組み込むことが可能です。 サンプルソフトウェアでは以下のような機能の組み合わせを用意してあります。デフォルトでは S1S60020_CFG_A が選択されています。 表 4-1 既定の組み合わせ 組み合わせ名称 選択されている機能 TCP/UART 変換、システムログ出力、HTTPD S1S60020_CFG_A S1S60020_CFG_B TCP/UART 変換、UDP/UART 変換、SNMP エージェント S1S60020_CFG_C UDP/UART 変換、HTTPD S1S60020_CFG_D S1S60000 互換ホストインタフェース 表 4-2 機能の役割 機能 役割 TCP/UART 変換 TCP を使用している機器からデータを受け取り、S1S60020 を通じて UART ポート 2 (RS232C ポート 1)に出力することと、逆に UART ポートからデータを受け取り、S1S60020 を通じて TCP を使用している機器に送信することができます。 UDP/UART 変換 UDP を使用している機器からデータを受け取り、S1S60020 を通じて UART ポート 1 (RS232C ポート 0)に出力することと、逆に UART ポートからデータを受け取り、S1S60020 を通じて UDP を使用している機器に送信することができます。 システムログ出力 TOPPERS/JSP のシステムログを UART ポート 1(RS232C ポート 0)へ出力します。 HTTPD PC などのブラウザから S1S60020 へ WEB アクセスすることを可能にします。ブラウザか ら http://ipaddress/などとするとトップページを取得することができます。(ipaddress には S1S60020 の IP アドレスを入れて下さい。例えば IP アドレスが 192.168.0.111 であれば、 http://192.168.0.111/のようにします。) SNMP エージェント SNMP マネージャを介して S1S60020 の内部情報を取得することを可能にします。 S1S60000 互換ホスト インタフェース S1S60020 のホストインタフェースを用いて「S1S60000 シリーズホストインタフェース仕 様書」に準拠した機能を提供します。制限事項がありますので“5. サンプルソフトウェアの ホストインタフェース仕様”を参照してください。 各機能は次のように UART ポートを初期設定します。 表 4-3 機能ごとのUARTポートの設定 パラメータ TCP/UART 変換 UDP/UART 変換 システムログ出力 UART ポート ポート 2(RS232C ポート 1) ポート 1(RS232C ポート 0) ポート 1(RS232C ポート 0) 通信速度 38400bps 115200bps 9600bps データ長 8bit 8bit 8bit パリティ 無効 無効 無効 ストップビット長 1bit 2bit 1bit フロー制御 ハードウェアフロー制御 無効 無効 S1S60020 サンプルソフトウェアマニュアル(Rev.1.3.2)Seiko Epson Corporation 13 4. サンプルソフトウェアのカスタマイズ S1S60020 の UART ポートが 2 チャンネルなので、UART ポートを使う機能は 2 つまで同時に動作す る選択になっています。S1S60020_CFG_B ではシステムログ出力がありませんので注意してください。 4.1.2 組み合わせを変更する サンプルソフトウェアは c:¥cygwin¥home¥s1s60020¥build60020¥standard¥Makefile に以下のように記述 することで S1S60020_CFG_A を選択しています。 S1S60020_CFG_A = true #S1S60020_CFG_B = true #S1S60020_CFG_C = true #S1S60020_CFG_D = true # # # # config type A - uart-tcp convert & httpd config type B - uart-udp convert & uart-tcp convert & snmp config type C - uart-udp convert & httpd config type D – host agent これを S1S60020_CFG_B に変更する場合は次のように記述を変更します。 #S1S60020_CFG_A = true S1S60020_CFG_B = true #S1S60020_CFG_C = true #S1S60020_CFG_D = true # # # # config type A - uart-tcp convert & httpd config type B - uart-udp convert & uart-tcp convert & snmp config type C - uart-udp convert & httpd config type D – host agent これを S1S60020_CFG_C に変更する場合は次のように記述を変更します。 #S1S60020_CFG_A = true #S1S60020_CFG_B = true S1S60020_CFG_C = true #S1S60020_CFG_D = true # # # # config type A - uart-tcp convert & httpd config type B - uart-udp convert & uart-tcp convert & snmp config type C - uart-udp convert & httpd config type D – host agent 4.2 パラメータの変更方法 4.2.1 MIB_ICパラメータセット サンプルソフトウェアは mib_ic というパラメータ管理モジュールを含んでいます。このモジュールは S1S60020 と SPI Flash ROM との間でパラメータをロード/セーブする機能を備えていますので、個体ご とに異なるパラメータ(例えば MAC アドレス)を保持することや、電源 OFF の前後で共通の値を利用 することを可能にします。 このモジュールが管理する MIB_IC パラメータセットには次のような変数が含まれています。 表 4-4 変数 MIB_ICパラメータセットに含まれる変数 データ型 内容 MIB_IC_ETHER_MAC 文字列型 自局の MAC アドレス MIB_IC_IP_ADDR 32 ビット符号なし整数型 IP アドレス MIB_IC_IP_MASK 32 ビット符号なし整数型 サブネットマスク MIB_IC_IP_GATEWAY 32 ビット符号なし整数型 デフォルトゲートウェイの IP アドレス MIB_IC_IP_DEST_ADDR 32 ビット符号なし整数型 通信相手の IP アドレス MIB_IC_IP_PORT 32 ビット符号なし整数型 ポート番号 MIB_IC_IP_DEST_PORT 32 ビット符号なし整数型 通信相手のポート番号 MIB_IC_UART_BPS 32 ビット符号なし整数型 UART ポート 1 の通信速度 MIB_IC_UART_FORMAT 32 ビット符号なし整数型 UART ポート 1 の通信フォーマット MIB_IC_UART2_BPS 32 ビット符号なし整数型 UART ポート 2 の通信速度 MIB_IC_UART2_FORMAT 32 ビット符号なし整数型 UART ポート 2 の通信フォーマット 14 Seiko Epson Corporation S1S60020 サンプルソフトウェアマニュアル(Rev.1.3.2) 4. サンプルソフトウェアのカスタマイズ サンプルソフトウェアには、ソースコード中にパラメータの値を直接記述している箇所がありますが、 同時に、MIB_IC パラメータセットを参照している箇所もあります。MIB_IC パラメータセットの変数を 参照している箇所については、ソースコードそのものを変更しなくても、MIB_IC パラメータセットの 変更のみで動作をカスタマイズすることが可能です。 4.2.2 MACアドレスを変更する サンプルソフトウェアのネットワークドライバ c:¥cygwin¥home¥s1s60020¥jsp¥tinet¥netdev¥if_bigmac は、ed_probe 関数内で MB_IC パラメータセットの変数 MIB_IC_ETHER_MAC を読み出し、以降は読み 出した値をドライバ内部の変数に記憶して MAC アドレスとして利用しています。 したがって、MIB_IC パラメータセットの変数 MIB_IC_ETHER_MAC の値を変更することにより、 MAC アドレスを変更することが可能です。 例えば、S1S60020_CFG_A 構成で有効になる HTTPD デモでは、変数 MIB_IC_ETHER_MAC を書き換 えて MIB_IC パラメータセットを SPI Flash ROM にセーブしています。S1S60020 を再起動するとドライ バ内部変数の値が SPI Flash ROM からロードし直した MIB_IC_ETHER_MAC の値になるので、MAC ア ドレスが変更されます。 また、SPI Flash ROM からロードした変数 MIB_IC_ETHER_MAC の値を書き換えて MAC アドレスを 変更することも可能です。 MB_IC パラメータセットは、c:¥cygwin¥home¥s1s60020¥60020app¥main20.c の initialize_task 関数内で mib_ic_load 関数を呼び出すことで初期化および SPI Flash ROM からロードされています。一方、ed_probe 関数は、TINET が自分自身の起動直後に呼び出しますが、TINET 自体はサンプルソフトウェアの initialize_task 関数内で ether_start 関数を実行することで起動されています。 したがって、MAC アドレスは initialize_task 関数内の mib_ic_load 関数呼び出しから ether_start 関数呼 び出しの間であれば書き換え可能です。例えば MAC アドレスを 00-00-XX-12-34-56 に変更する場合は次 のようにします。 { static const UB new_mac_address[ETHER_ADDR_LEN] = {0x00, 0x00, 0xXX, 0x12, 0x34, 0x56}; mib_ic_string(MIB_COMMAND_WRITE, MIB_IC_ETHER_MAC, (VP_INT) new_mac_address, ETHER_ADDR_LEN); } ホストインタフェース経由で MAC アドレスを設定する場合も、ここで説明したように、mib_ic_load 関数呼び出しから ether_start 関数呼び出しの間でおこなっています。 4.2.3 デフォルトのMACアドレスを変更する サ ン プ ル ソ フ ト ウ ェ ア で は c:¥cygwin¥home¥s1s60020¥jsp¥tinet¥netdev¥if_bigmac¥if_bigmac.c の ed_probe 関数内でデフォルトの MAC アドレスを 00-00-48-12-34-01 に設定しています。この MAC アド レスにはネットワークデバイスがセイコーエプソン製であることを示す OUI(00-00-48)が設定されて いますので、セイコーエプソン以外で製品化するにあたっては必ず変更しなければなりません。 例えばデフォルトの MAC アドレスを 00-00-XX-12-34-56 に変更する場合は、 static const UB default_mac_address[ETHER_ADDR_LEN] = {0x00, 0x00, 0x48, 0x12, 0x34, 0x01}; と記述してある箇所を、 static const UB default_mac_address [ETHER_ADDR_LEN] = {0x00, 0x00, 0xXX, 0x12, 0x34, 0x56}; と変更してください。 OUI は IEEE が管理しています。OUI の詳細につきましては IEEE http://www.ieee.org/ にてご確認くだ さい。 S1S60020 サンプルソフトウェアマニュアル(Rev.1.3.2)Seiko Epson Corporation 15 4. サンプルソフトウェアのカスタマイズ 4.2.4 デフォルトのIPアドレスを設定する サ ン プ ル ソ フ ト ウ ェ ア で は 自 身 の IP ア ド レ ス ( マ ク ロ IPV4_ADDR_LOCAL ) の 実 体 を c:¥cygwin¥home¥s1s60020¥jsp¥tinet¥net¥ethernet.c に定義されている未初期化変数 ether_ifnet で管理して います。この変数は起動時に 0 に初期化されますから、IPV4_ADDR_LOCAL の初期値は 0.0.0.0 です。 IPV4_ADDR_LOCAL が 0.0.0.0 のままで TINET が起動すると、サンプルソフトウェアに含まれる TINET では、DHCP などを用いて IP アドレスを設定しようとします。DHCP などを用いることなく固定 IP ア ドレスを設定したい場合は、TINET が動作を始める前に IPV4_ADDR_LOCAL を 0.0.0.0 以外に設定しな ければなりません。 そこでサンプルソフトウェアでは MIB_IC パラメータセットをロードしてから TINET を起動するまで、 MIB_IC パラメータセットの変数 MIB_IC_IP_ADDR の値で IPV4_ADDR_LOCAL を設定しています。こ の処理は c:¥cygwin¥home¥s1s60020¥60020app¥main20.c の initialize_task 関数内で次のように記述されて います。 ip_set_address( (UW)mib_ic_counter32(MIB_COMMAND_READ, MIB_IC_IP_ADDR, (VP_INT) 0xc0a8006f, 0), (UW)mib_ic_counter32(MIB_COMMAND_READ, MIB_IC_IP_MASK, (VP_INT) 0xffffff00, 0), (UW)mib_ic_counter32(MIB_COMMAND_READ, MIB_IC_IP_GATEWAY, (VP_INT) 0xc0a80001, 0)); ip_set_address は IPV4_ADDR_LOCAL と IPV4_ADDR_LOCAL_MASK と IPV4_ADDR_DEFAULT_GW を一括して変更すると共に、経路表を書き換える関数です。サンプルソフトウェアでは DHCP などに対 応して動的に経路表を変更するようになっていますので、自身の IP アドレス、サブネットマスク、デフ ォルトゲートウェイを変更する場合は、必ずこの関数を利用してください。 この記述では MIB_IC_IP_ADDR の値を自身の IP アドレスに、MIB_IC_IP_MASK の値をサブネット マスクに、MIB_IC_IP_GATEWAY の値をデフォルトゲートウェイに設定しています。 このとき、変数 MIB_IC_IP_ADDR / MIB_IC_IP_MASK / MIB_IC_IP_GATEWAY それぞれが MIB_IC パ ラメータセット中に存在しない場合、mib_ic_counter32 関数はそれぞれの変数を作成し、その値を第 3 引数で初期化します。つまり、この記述では MIB_IC パラメータセット中にどの変数も存在しない場合、 自身の IP アドレスは 192.168.0.111 に、サブネットマスクは 255.255.255.0 に、デフォルトゲートウェイ は 192.168.0.1 に設定されます。 したがって、例えば自身の IP アドレスを 192.168.0.10 に変更する場合は、ip_set_address 関数の呼び出 しを次のように変更します。 ip_set_address( (UW)mib_ic_counter32(MIB_COMMAND_READ, MIB_IC_IP_ADDR, (VP_INT) 0xc0a8000a, 0), (UW)mib_ic_counter32(MIB_COMMAND_READ, MIB_IC_IP_MASK, (VP_INT) 0xffffff00, 0), (UW)mib_ic_counter32(MIB_COMMAND_READ, MIB_IC_IP_GATEWAY, (VP_INT) 0xc0a80001, 0)); ホストインタフェース経由で自身の IP アドレス、サブネットマスク、デフォルトゲートウェイを変更 する場合も、ここで説明したように、MIB_IC パラメータセットをロードしてから TINET を起動するま でにおこなっています。 4.3 TCP/UART変換機能の変更方法 4.3.1 起動条件を変更する TCP/UART 変換機能は、S1S60020 の端子設定によりホストインタフェースが無効の場合に、サンプル ソフトウェアのメインタスク(initialize_task)が TCP/UART 変換タスク(utcnv_task)を実行可能状態に す る こ と に よ り 起 動 し て い ま す 。 こ の 処 理 は c:¥cygwin¥home¥s1s60020¥60020app¥main20.c の initialize_task 関数内で実施しています。TCP/UART 変換機能の起動条件を変更する場合は initialize_task 関数を書き換えてください。 16 Seiko Epson Corporation S1S60020 サンプルソフトウェアマニュアル(Rev.1.3.2) 4. サンプルソフトウェアのカスタマイズ 例えば無条件に TCP/UART 変換機能が起動するように変更する場合は、 if (!SyscIsConfigured(SYSC_CFGX_HIF)) { goto serial_emulation; } と記述してある箇所を、 goto serial_emulation; のみになるよう変更してください。 4.3.2 TCPのポート番号を変更する TCP/UART 変換機能は TCP のポート 7 でリモートからの接続を待っています。このポート番号を変更 するには c¥cygwin¥home¥s1s60020¥60020app¥uarttcp.c に定義されているマクロ UTCNV_TCP_PORT の値 を書き換えてください。 例えばポート 77 に変更する場合は、 #define UTCNV_TCP_PORT 7 と記述してある箇所を、 #define UTCNV_TCP_PORT 77 と変更してください。 4.3.3 通信フォーマットを変更する TCP/UART 変 換 機 能 は TCP 接 続 待 ち を 開 始 す る 直 前 に MIB_IC パ ラ メ ー タ セ ッ ト の 変 数 MIB_IC_UART2_BPS および MIB_IC_UART2_FORMAT から通信フォーマットを毎回読み出してシリア ルポートドライバに設定しています。 したがって、変数 MIB_IC_UART2_BPS および MIB_IC_UART2_FORMAT に値を設定することで、通信 フォーマットを変更することが可能です。 ただし、変数 MIB_IC_UART2_BPS および MIB_IC_UART2_FORMAT が MIB_IC パラメータセット中 に存在しない場合は、TCP/UART 変換機能は通信フォーマットをデフォルトの値に設定します。 TCP/UART変換機能の通信フォーマットのデフォルト値については表 4-3を参照してください。 S1S60020 サンプルソフトウェアマニュアル(Rev.1.3.2)Seiko Epson Corporation 17 4. サンプルソフトウェアのカスタマイズ デフォルトの通信フォーマットを変更するには c:¥cygwin¥home¥s1s60020¥60020app¥uarttcp.c のマクロ を書き換えてください。uarttcp.c には次のようなマクロが定義されています。 表 4-5 TCP/UART変換の通信フォーマット設定マクロ 項目 値 Port UART のポート番号を数値で指定します。1(RS232C ポート 0)または 2(RS232C ポート 1)のどちらかを選択して指定 してください。 マクロ UTCNV_UART_PORT UTCNV_UART_BPS Baud rate bps を数値で設定します。115200bps の場合は 115200 と指定 してください。 UTCNV_UART_FORMAT Data UART_FORMAT_6BIT_LENGTH ( 6 ビ ッ ト 長 ) ま た は 、 UART_FORMAT_7BIT_LENGTH ( 7 ビ ッ ト 長 ) ま た は 、 UART_FORMAT_8BIT_LENGTH(8 ビット長)から選択して 指定してください。指定しない場合は 5 ビット長と見なしま す。 Parity パリティ有効の場合は UART_FORMAT_PARITY_ENABLE を 指定してください。無効の場合は指定不要です。 偶数パリティの場合は UART_FORMAT_EVEN_PARITY を指 定してください。奇数パリティの場合は指定不要です。 Stop ストップビットが 2 の場合は UART_FORMAT_STOP_BIT_2 を指定してください。指定しない場合はストップビット 1 と 見なします。 Flow control ハードウェアフロー制御を有効にする場合は UART_FORMAT_AUTO_FLOW_CONTROL を指定してくだ さい。指定しない場合はハードウェアフロー制御が無効です。 例えば次のフォーマットに変更する場合は、 表 4-6 項目 Port TCP/UART変換の通信フォーマット(変更例) 値 RS232C ポート 1 Baud rate 9600 bps Data 8 bit Parity 有効・奇数 Stop 1 bit Flow control ハードウェア制御有効 #define UTCNV_UART_PORT 2 #define UTCNV_UART_BPS 38400 #define UTCNV_UART_FORMAT(UART_FORMAT_8BIT_LENGTH UART_FORMAT_PARITY_DISABLE | UART_FORMAT_AUTO_FLOW_CONTROL) | UART_FORMAT_STOP_BIT_1 | | UART_FORMAT_STOP_BIT_1 | と記述してある箇所を、 #define UTCNV_UART_PORT 2 #define UTCNV_UART_BPS 9600 #define UTCNV_UART_FORMAT(UART_FORMAT_8BIT_LENGTH UART_FORMAT_PARITY_ENABLE | UART_FORMAT_AUTO_FLOW_CONTROL) と変更してください。 18 Seiko Epson Corporation S1S60020 サンプルソフトウェアマニュアル(Rev.1.3.2) 5. サンプルソフトウェアのホストインタフェース仕様 5. サンプルソフトウェアのホストインタフェース仕様 サンプルソフトウェアのホストインタフェース仕様は「S1S60000 シリーズ ホストインタフェース 仕様書」に準拠しています。 ただし、S1S60000 の内部動作と、S1S60020 のハードウェアおよびサンプルソフトウェアの違いに より動作の異なる部分があります。 「S1S60000 シリーズ ホストインタフェース仕様書(Rev. 1.4)」に記 載された項目との違いを次の表に示します。 頁 - 2 4 6 7 9 11 14 15 21 27 32 33 37 15 21 N 表 5-1 項目 S1S60000シリーズホストインタフェース仕様書に対する変更の一覧 S1S60020 における変更点 (全般) 起動方法 S1S60020 の起動に関しては「S1S60020 ブートローダマニュアル」を参照してく ださい。 1.3 ホストインタフェース ホストインタフェース設定 設定 S1S60000 と S1S60020 ではホストインタフェースの設定方法が異なります。 S1S60020 のホストインタフェースの設定に関しては「S1S60020 テクニカルマニ ュアル 13.5.1 ホストインタフェースの設定」をご参照ください。また、ホストインタ フェース制御レジスタ(HIFCR)の詳細は、同マニュアル「13.4.2.レジスタ詳細説 明」をご参照ください。 1.3.2 設定項目 エンディアン (3)エンディアン S1S60020 内部では Little Endian 形式でデータ処理が行なわれます。Big Endian の CPU と接続する場合、必要に応じて S1S60020 内部でスワップを行い ます。スワップの詳細は「S1S60020 テクニカルマニュアル 13.5.4 エンディアンに よるデータ入れ替え」をご参照ください。 2.1.1.2 通信端点番号 SNMP 通信端点 S1S60020 サンプルソフトウェアでは SNMP 通信端点をサポートしていません。 2.1.1.3 コマンド番号 コマンドに指定した場合はエラーが返ります。 2.1.3.1 データ長 2.1.3.6 SNMP 通信端点 の送受信データ 2.3.1 通信プロトコルを利 用しない状態に設定する 2.3.2 DHCP を利用する 状態に設定する 2.3.3 DHCP を利用しない 状態に設定する 3.1 open コマンド 3.2 send コマンド 3.3 receive コマンド 3.5 abort コマンド 3.7 status コマンド 3.9 info コマンド 3.1 open コマンド open コマンド コマンドオプション:フラグ(SYSTEM 通信端点) (SOPAR フラグ) S1S60020 サンプルソフトウェアでは「表 3.2 open コマンドのフラグ(SYSTEM)」 の Bit0;SOPAR をサポートしません。指定した場合はエラーが返ります。 3.2 send コマンド send コマンド コマンドオプション:フラグ(TCP 通信端点) (制御フラグ) S1S60020 サンプルソフトウェアでは「表 3.12 send コマンドのフラグ(TCP)」の Bit3;制御フラグを扱いません。制御フラグを有効にしても無視されます。 3.2 send コマンド send コマンド コマンドオプション:フラグ(UDP 通信端点) (データ継続フラグ) S1S60020 サンプルソフトウェアでは「表 3.11 send コマンドのフラグ(UCP)」の Bit7;データ継続フラグを扱いません。データ継続フラグが設定された場合に は error ステータスが返ります。 3.2 send コマンド send コマンド コマンドオプション:オプションパラメータ(SYSTEM 通信端点) (コマンドオプション) S1S60020 サンプルソフトウェアでは SYSTEM 通信端点のコマンドオプションパ S1S60020 サンプルソフトウェアマニュアル(Rev.1.3.2)Seiko Epson Corporation 19 5. サンプルソフトウェアのホストインタフェース仕様 頁 項目 N 3.2 send コマンド (オブジェクト) N 3.2 send コマンド (オフセット) 28 3.3 receive コマンド ステータス 7 8 32 40 2.1.1.3 コマンド番号 2.1.1.4 ステータス番号 3.6 stop コマンド 3.11 event ステータス 8 42 8 42 2.1.1.4 ステータス番号 3.14 sleep ステータス 2.1.1.4 ステータス番号 3.15 wake ステータス S1S60020 における変更点 ラメータの構成を変更しました。 詳細は“表 5-2 SYSTEM通信端点 sendコマンドオプションパラメータ+送信デ ータ”をご確認ください。 send コマンド コマンドオプション:オプションパラメータ(SYSTEM 通信端点) S1S60020 サンプルソフトウェアで SYSTEM 通信端点の操作対象のオブジェク トの値を 4 とした場合、S1S60020 が選択されます。 send コマンド コマンドオプション:オプションパラメータ(SYSTEM 通信端点) SYSTEM 通信端点の操作対象のオブジェクトが S1S60020 のとき、オフセット の 値 は S1S60020 サ ン プ ル ソ フ ト ウ ェ ア を ビ ル ド し た と き の T_MIB_IC_PARAMETER_NAME データ型の値となります。 T_MIB_IC_PARAMETER_NAMEデータ型は S1S60020 サンプルソフトウェアの s1s60020/include/mib_ic.h で 定 義 さ れ て い ま す 。 “ 表 5-4 T_MIB_IC_PARAMETER_NAMEデータ型の定義例”に例を示します。 receive コマンド :ステータスオプションパラメータ(SYSTEM 通信端点) S1S60020 では、SYSTEM 通信端点のステータスオプションパラメータの構成を 変更しました。 詳細は“表 5-3 SYSTEM通信端点 receive-readステータスオプションパラメ ータ+受信データ”をご確認ください。 stop コマンド S1S60020 サンプルソフトウェアでは stop コマンドをサポートしていません。ホス ト CPU から STOP コマンドを発行しても、S1S60020 は無視します。 event ステータス ステータスオプション:イベント種別(2;TCP) S1S60020 サンプルソフトウェアでは TCP event ステータス(イベント種別"2") をサポートしていません。 event ステータス ステータスオプション:イベント種別(3;ICMP) S1S60020 サンプルソフトウェアでは ICMP event ステータス(イベント種別"3") をサポートしていません。 ステータス番号:14 (0x000e) sleep ステータス S1S60020 サンプルソフトウェアでは sleep ステータスをサポートしていません。 ステータス番号:15 (0x000f) wake ステータス S1S60020 サンプルソフトウェアでは wake ステータスをサポートしていません。 表 5-2 種別 SYSTEM通信端点 sendコマンドオプションパラメータ+送信データ Byte 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 GPIO 3 FlashROM 4 S1S60020 0 0 0 0 スレーブデバイス 指定 ビットマスク オフセット オフセット (下位 16bit) (上位 16bit) オフセット 0 0 オフセット 0 0 0 インデックス 長 ビットパターン 受信 データ長 受信 データ長 0 15 0 n 送信データ I2C 操作 1 オブジェクト EEPROM 送信データ長 番 号 0 0 表 5-3 2 GPIO 3 FlashROM 4 S1S60020 20 0 0 0 0 0 0 オフセット スレーブデバイス 指定 ビットマスク オフセット オフセット (下位 16bit) (上位 16bit) オフセット 0 0 Seiko Epson Corporation 0 受信 インデックス データ長 長 ビットパターン 受信 データ長 0 0 n 受信データ I2C オブジェクト 1 操作 EEPROM 種別 受信データ長 番 号 0 SYSTEM通信端点 receive-readステータスオプションパラメータ+受信データ Byte 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 S1S60020 サンプルソフトウェアマニュアル(Rev.1.3.2) 5. サンプルソフトウェアのホストインタフェース仕様 表 5-4 名称 MIB_IC_ETHER_MAC T_MIB_IC_PARAMETER_NAMEデータ型の定義例 値 意味 0x00000600 イーサネットの MAC アドレス MIB_IC_ETHER_LINK_SPEED 0x00000700 イーサネットのリンク状態 MIB_IC_ETHER_LINK_TIME 0x00000800 イーサネットのリンク時刻 MIB_IC_IP_ADDR 0x00001200 自身の IP アドレス MIB_IC_IP_MASK 0x00001300 自身のネットワークマスク MIB_IC_IP_GATEWAY 0x00001400 デフォルトゲートウェイ MIB_IC_UART_BPS 0x00001800 UART の通信速度 MIB_IC_UART_FORMAT 0x00001900 UART1 の通信フォーマット MIB_IC_UART2_BPS 0x00001a00 UART2 の通信速度 MIB_IC_UART2_FORMAT 0x00001b00 UART2 の通信フォーマット S1S60020 サンプルソフトウェアマニュアル(Rev.1.3.2)Seiko Epson Corporation 21 付録 6. 付録 6.1 Cygwinインストール手順 ここでは Cygwin のインストール手順について詳しく紹介します。なお、Cygwin は継続的にバージョ ンアップされています。バージョンアップに伴い、画面表示等の細かな部分や手順自体が変更されてい る可能性がありますので、あらかじめご了承ください。 1. Cygwin ウェブサイトにアクセス ウェブブラウザで Cygwin のウェブサイトにアクセスしてください。 URL: http://www.cygwin.com/ 2. インストーラーファイルを選択 ウェブブラウザの中央付近などに表示されている“Install or update now!”という表示をクリックし てインストーラーファイルを選択してください。 3. インストーラーの実行 ファイルダウンロードのウィンドウが表示されたら“開く” (または“実行”など)を選択して、イ ンストーラーを実行します。 4. インストール開始 インストーラー(setup.exe)が起動すると以下のウィンドウが開きます。 “次へ”を選択して、イン ストールを開始してください。 22 Seiko Epson Corporation S1S60020 サンプルソフトウェアマニュアル(Rev.1.3.2) 付録 5. インストール方法選択 インストール方法“Install from Internet”を選択してください。 6. インストールフォルダ選択 Cygwin をインストールするフォルダを選択します。Root Directory は“C:¥cygwin”、Install For は“All Users(RECOMMENDED)”、Default Text File Type は“DOS / text”を選択してください。 S1S60020 サンプルソフトウェアマニュアル(Rev.1.3.2)Seiko Epson Corporation 23 付録 7. ダウンロードフォルダ選択 インストールに必要なファイルをダウンロードするフォルダを選択してください。どこを指定して も構いません。次の例では、C ドライブに“s1s60020”というフォルダと、そのフォルダ内に“temp” というフォルダを作成しています。 8. インストール環境の指定 “Use IE5 Settings”を選択してください。 24 Seiko Epson Corporation S1S60020 サンプルソフトウェアマニュアル(Rev.1.3.2) 付録 9. ダウンロードサイト選択 Cygwin をダウンロードするサイトを選択してください。インストールが途中で止まってしまう場合 はサイトを変更して下さい。まずはサイト名の末尾が“.jp”と表示されているサイトの利用をお勧 めします。 ダウンロードサイトと正常に接続できると“Select Packages”ウィンドウを表示します。 S1S60020 サンプルソフトウェアマニュアル(Rev.1.3.2)Seiko Epson Corporation 25 付録 10. インストールするパッケージの選択 以下のように Select Packages ウインドウが表示されますので、必要なパッケージ“gawk”、“grep”、 “binutils”、 “gcc”、“make”、“perl”の全てを選択してください。 それぞれの選択方法は以下を参照してください。なお、カテゴリ以下のフォルダは、カテゴリ名を クリックする事で開きます。既にチェックボックスにチェックが入っている Package は、そのままに してください。 10-1. “gawk”の選択 Category“Base”の Package“gawk”を選択します。既に選択された状態の場合はそのままにしてくだ さい。選択されていない場合は“Skip”をクリックして選択してください。選択すると下図のようにな ります。 26 Seiko Epson Corporation S1S60020 サンプルソフトウェアマニュアル(Rev.1.3.2) 付録 10-2. “grep”の選択 Category“Base”の Package“grep”を選択します。既に選択された状態の場合はそのままにしてくだ さい。選択されていない場合は“Skip”をクリックして選択してください。選択すると下図のようにな ります。 10-3. “binutils”の選択 Category“Devel”の Package“binutils”を選択します。 “Skip”をクリックして選択してください。選 択すると下図のようになります。 S1S60020 サンプルソフトウェアマニュアル(Rev.1.3.2)Seiko Epson Corporation 27 付録 10-4. “gcc”の選択 Category“Devel”の Package“gcc”を選択します。 “Skip”をクリックして選択してください。 “gcc” を選択すると下図のように gcc に関連して必要なパッケージも自動的に選択されます。これらもそのま ま選択しておいてください。 28 Seiko Epson Corporation S1S60020 サンプルソフトウェアマニュアル(Rev.1.3.2) 付録 10-5. “make”を選択 Category“Devel”の Package“make”を選択します。 “Skip”をクリックして選択してください。 “make” を選択すると下図のように make に関連して必要なパッケージも自動的に選択されます。これらもその まま選択しておいてください。 S1S60020 サンプルソフトウェアマニュアル(Rev.1.3.2)Seiko Epson Corporation 29 付録 10-6. “perl”を選択します。 Category“Interpreters”の“perl”を選択します。 “Skip”をクリックして選択してください。 “perl”を選 択すると下図のように perl に関連して必要なパッケージも自動的に選択されます。これらもそのまま選 択しておいてください。 30 Seiko Epson Corporation S1S60020 サンプルソフトウェアマニュアル(Rev.1.3.2) 付録 11. パッケージのインストール開始 “Select Packages”ウィンドウの“次へ”をクリックしてください。パッケージのインストールが始 まります。 12. インストール完了 インストールが完了すると以下のウィンドウが表示されます。必要に応じてチェックを入れて、“完 了”を選択してください。 S1S60020 サンプルソフトウェアマニュアル(Rev.1.3.2)Seiko Epson Corporation 31 改訂履歴表 7. 改訂履歴表 Rev. No. 日付 ページ Rev 1.3.0 Rev.1.3.1 2007/07/05 2009/04/22 全ページ 2 3-4 4 新規 追加 追加 変更 4 追加 2, 3, 5-6, 12 7 追加 12 26 2, 8, 9 3 7 追加 追加 追加 変更 追加 15 変更 Rev.1.3.2 32 2009/09/09 種別 追加 改訂内容(旧内容を含む) および改訂理由 新規制定 対応 OS に Windows Vista を追加。 Windows の PATH に GNU33 を追加する方法を追加。 アーカイブファイル名を S1S60020src_xxxx.zip から S1S60020_xxxxxx.zip へ修正。 “表 2-2 サンプルソフトウェアのフォルダ構成”に protocols/httpdとprotocols/httpd/standardの説明を追加。 “2.5 makefileの変更”を追加し、GNU33 のライブラリとICD33 との接続方法に関する注記を移動。 s1s60020.elf と s1s60020.srec と s1s60020.bin の生成に失敗する 場合に関する説明を追加。 make icd を実行した後についての説明を追加。 Select Packages の初期画面を追加。 ICD33 Ver.6 以降の USB ケーブルに関する説明を追加。 「システムのプロパティ」ダイアログの表示手順を変更。 Windows のシステムフォルダ構成に対応して firm_update.sh を書 き換える方法を追加。 MAC アドレスを変更する場合の mib_ic_string 関数の引数を修正。 Seiko Epson Corporation S1S60020 サンプルソフトウェアマニュアル(Rev.1.3.2) 半導体事業部 IC 営業部 <IC 国内営業グループ> 東京 〒191-8501 東京都日野市日野 421-8 TEL(042)587-5313(直通) 大阪 〒541-0059 FAX(042)587-5116 大阪市中央区博労町 3-5-1 TEL(06)6120-6000(代表) エプソン大阪ビル 15F FAX(06)6120-6100 ドキュメントコード:410608502 2007 年 7 月作成 2009 年 9 月改訂