開発ガイド このマニュアルは、DT-930 のアプリケー ション開発を行う際の手順や環境について 記載します。
ご注意 ● このソフトウェアおよびマニュアルの、一部または全部を無断で使用、複製することはできません。 ● このソフトウェアおよびマニュアルは、本製品の使用許諾契約書のもとでのみ使用することができます。 ● このソフトウェアおよびマニュアルを運用した結果の影響については、一切の責任を負いかねますのでご了 承ください。 ● このソフトウェアの仕様、およびマニュアルに記載されている事柄は、将来予告なしに変更することがありま す。 ● このマニュアルの著作権はカシオ計算機株式会社に帰属します。 ● 本書中に含まれている画面表示は、実際の画面とは若干異なる場合があります。予めご了承ください。 © 2006 カシオ計算機株式会社 Microsoft, MS, ActiveSync, Active Desktop, Outlook, Windows, Windows NT, および Windows ロゴは、米国 Microsoft Corporation の米国およびその他の国における登録商標または商標です。Microsoft 社の製品は、OEM 各社に、Microsoft Corporation の 100%出資子会
目次 1. 1.1. 1.2. 2. 2.1. 2.2. 2.2.1. 2.2.2. 2.2.3. 2.3. 2.3.1. 2.3.2. 2.3.3. 2.4. 2.4.1. 2.4.2. 2.4.3. 2.4.4. 2.4.5. 2.5. 2.5.1. 2.5.2. 2.6. 3. 3.1. 3.1.1. 3.1.2. 3.1.3. 3.2. 3.2.1. 3.2.2. 4. 4.1. 4.2. 4.3. 4.4.
1. はじめに 本冊子は、DT-930のアプリケーションプログラム開発を初めて行う方を対象に、その概要を 説明するものです。 プログラムの開発、ダウンロード等の操作方法を、一連の処理の流れに沿って説明します。 なお、各処理の詳細ついては、各解説書を随時参照して下さい。 1.1. 環境 DT-930のソフト開発にあたっては、以下のものが必要になります。 ①プログラム作成/ダウンロード用PC PCは、PC/AT互換機か、PC98シリーズです。 ②開発キット ソースコードのコンパイル、リンク、及びダウンロードファイルの作成を行います。 既にDT-700用、DT-750用、DT-0900、またはDT-800用の開発キットをお持ち の方には、バージョンアップキットが用意されています。 ③通信キット ダウンロードファイルのPCからDT-930へのダウンロードに使用します。 1.2.
[HOST(PC)] エディタ ①エディタを使ってソースプログラムを作成します(*.C)。 SH-C漢字コード変換 ②作成したソースファイルの漢字を変換します(KJ_CNVRT.EXE)。 関数群定義ファイル ( *.H ) ソースファイル(*。C) ( *.INC) ③変換後のソースファイルと関数群定義ファイルより SHシリーズCコンパイラ オブジェクトファイルを作成します(SHC.EXE) オブジェクトファイル(*.OBJ ) (ap_start.obj/ap_init.obj ) SHシリーズリンケージエディタ SH-C標準ライブラリ (*.LIB) ④作成したオブジェクトファイルとSHのC標準ライブラリから ロードモジュールを作成します( LNK.EXE SUBMK.EXE )。 ロードモジュール(*.ABS ) オブジェクト変換 ⑤ロードモジュールSをタイプオブジェクト変換ツールで変換します(CNVS.EXE )。 ダウンロード用ファイル( *.LOD ) さらにアプリケーションコンバータ でダウンロード用ファイルに変換し ます( APCNVY.
2. SHCコンパイラ開発環境 2.1. 必要な開発環境 DT-930のアプリケーションプログラムを作成するコンパイラやリンカは MS-DOS のコマンドです。 WindowsPC では、「アクセサリ」の「コマンドプロンプト」(Windows95や98では、「MS-DOS プロンプ ト」)を開いてコンパイルを行って下さい。 2.2. コンパイラのインストール 2.2.1. ハードディスクへのコピー 開発環境の各ファイルを、任意のディレクトリへコピーしてください。 一般的には、次のようにするとよいと思われます。 表2-2 推奨ディレクトリ構成 C:¥ SHC¥ DT930¥ BIN LIB INCLUDE LINK OBJ TOOLS SHC コンパイラ本体エラーメッセージファイル 標準ライブラリ関数群実行時ルーチン群 標準インクルードファイル リンク環境 DT-930 専用オブジェクトファイル DT-930 専用ツール なお、C 言語開発キットに添付されているフロッピーディスクの内容は次の通りです。 ①コンパイラディスク1 表2-3 SHC コンパイラディスク1の内容 ¥ BIN¥ DOS4G.
②コンパイラディスク2 表2-4 SHC コンパイラディスク2の内容 ¥ BIN¥ SHCASM.EXE SHCGEN.EXE SHCMDL.EXE SHCPEP.EXE SHC コンパイラ SHC コンパイラ SHC コンパイラ SHC コンパイラ ③コンパイラディスク3 表2-5 SHC コンパイラディスク3の内容 ¥ LIB¥ SHCLIB.LIB SHCNPIC.LIB SHCPIC.LIB ASSERT.H CTYPE.H ERRNO.H FLOAT.H LIMITS.H MACHINE.H MATH.H MATHF.H SETJMP.H STDARG.H STDDEF.H STDIO.H STDLIB.H STRING.
⑤専用ファイルディスク 表2-7 専用ファイルディスクの内容 ¥ LIB¥ INC¥ OBJ¥ TOOLS¥ HICIF.LIB BIOS1DEF.H ※ BIOS1MAC.H ※ BIOS5DEF.H ※ BIOS5MAC.H ※ CMNDEF.H ※ CU_MULTI.H ※ CU_DT500.H ※ COM_APLM.H ※ ITRON.H AP_START.OBJ※ AP_STARA.OBJ※ AP_STARB.OBJ※ AP_INIT.OBJ ※ COM_APLM.OBJ※ PATCH001.LOD※ PATCH002.LOD※ KJ_CNVRT.EXE SUBMK.EXE APCNVY.
2.2.2. PATHの設定 コンパイラやリンカ、DT-930用ツールが格納されているディレクトリにPATHを設定します。 以下の例は「2-2-1 ハードディスクへのコピー」の冒頭で示した推奨するディレクトリ構成になっ ている場合のものです。 ●例(既存のPATHに追加する場合) SET PATH=%PATH%;C:\SHC\BIN;C:\SHC\LNK;C:\DT930\TOOLS 2.2.3.
2.3. コンパイル コンパイルには次の2つの作業が必要になります。 • 漢字コード変換 • コンパイル (KJ_CNVRT.EXE) (SHC.EXE) コンパイルが完了するとオブジェクトファイル(*.OBJ)が生成されます。 2.3.1. 漢字コード変換(KJ_CNVRT.EXE) 漢字変換ツールは、変換元プログラムの漢字コードを16進数値データに変換して、結果を変換先 ファイルに出力します。 《書式》 KJ_CNVRT <変換元ファイル> <変換先ファイル> ●例 C:\DT930\SAMPLE>KJ_CNVRT SAMPLE.SRC SAMPLE.
2.3.2. コンパイルの実行 《書式》 SHC <オプション> <ソースファイル名> オプション /I=パス名:インクルードファイル取込先パス名設定 /L :リストファイル出力先指定 /OP=n :n=0は最適化無し n=1は最適化あり ※ コンパイルオプションの詳細については「SHシリーズCコンパイラユーザーズマニュアル」の「コ ンパイラオプション」(p8)をご参照ください。 2.3.3. コンパイルの実行例 C:\DT930\SAMPLE>KJ_CNVRT SAMPLE.SRC SAMPLE.C a C:\DT930\SAMPLE>SHC /i=.,C:\DT800\INCLUDE;C:\SHC\INCLUDE SAMPLE.C b a.漢字変換を実行します。 b.コンパイルを実行します。 2.4. リンク リンクの作業には次の3つがあります。 • リンク (LNK.EXE) • B,Rセクションの先頭アドレスの補正 (SUBMK.EXE) • 再リンク (LNK.EXE) リンク完了時にはロードモジュール(*.ABS)とマップファイル(*.MAP)が生成されます。 2.4.
主な設定内容は次の通りです。 a b c INPUT C:¥SHC¥OBJ¥AP_START.OBJ,& C:¥SHC¥OBJ¥AP_INIT.OBJ,& C:¥DT800¥AP¥SAMPLE.OBJ LIBRARY LIBRARY C:¥SHC¥LIB¥SHCLIB.LIB C:¥SHC¥LIB¥HICIF.LIB ROM START OUTPUT PRINT FORM EXIT (D,R) P,C,D,hicif(09048030) .¥SAMPLE .¥SAMPLE A a.リンク対象オブジェクトファイルの指定 DT-930専用ファイル(AP_START.OBJ,AP_INIT.OBJ)と作成したアプリケーションプログラム を指定します。 b.ROM化支援機能の指定 初期値付き変数領域を初期化コードと変数領域に分割するために,D,Rセッションを指定して 下さい。 c.アプリケーション開始アドレスの指定 次の値を指定して下さい。 09048030 ※ SUBCOMMANDファイルについては,「SH-Cリンケージエディタマニュアル」を参照して下 さい。 2.4.2.
★本ツールはサブコマンドファイルを直接書き換えてしまう為、事前に対象ファイルのバックアップを 取る必要があります。 補正はバックアップしたサブコマンドファイルに対して行ってください。 2.4.4. 再リンクの実行(LNK.EXE) 《書式》 LNK -SUBCOMMAND= 2.4.5. リンクの実行例 C:\DT930\SAMPLE>COPY SAMPLE.SUB SUBFILE.SUB a C:\DT930\SAMPLE>LNK -SUBCOMMAND=SUBFILE.SUB b C:\DT930\SAMPLE>SUBMK SUBFILE.SUB c C:\DT930\SAMPLE>LNK -SUBCOMMAND=SUBFILE.SUB d a. cで実行する「SUBMK.EXE」はSUBCOMMANDファイルを更新する為、サブコマンドフ ァイルを補正用サブコマンドファイルにコピーします。 b. B,Rセクション先頭アドレス補正ツール実行用のマップファイル(*.
2.5. オブジェクト変換 オブジェクト変換の作業には以下の2つがあります。 オブジェクト変換を行うことにより、Sタイプオブジェクト(*.MOT)が生成されます。 ベーシック IO-BOX(マルチドロッププロトコル)を使用してダウンロードを行う場合には ①のみを実行しますが、サテライト IO-BOX(FLINK)を使用する場合は②も実行します。 ①オブジェクト変換 (CNVS.EXE) ②ダウンロードファイルへの変換 (APCNVY.COM) ※ サテライト IO-BOX(FLINK)を使用する場合の注意 ①で作成したSタイプオブジェクト(*.MOT)を、さらにダウンロードファイルへ変換することで、実際 にDT-930へダウンロードするファイル(*.LOD)が作成されます。 2.5.1. オブジェクト変換(CNVS.EXE) Sタイプオブジェクト(*.MOT)の生成を行います。 《書式》 CNVS <ロードモジュール名(*.ABS)> 拡張子「*.ABS」は省略できます。 ●例 C:\DT930\SAMPLE>CNVS SAMPLE 2.5.2. ダウンロードファイルへの変換(APCNVY.
2.6.
【マップファイル参照方法】 マップファイルでは、各セクションの情報が次の表のように表示されます。 アプリケーションの開始アドレスと最終アドレスを調べるには、マップファイルの「*SECTION N AME*」と「*TOTAL ADDRESS*」の2ヶ所を参照します。 SECTION NAME P START H'???????? ・ ・ ・ * TOTAL ADDRESS * H'???????? ・ ・ ・ SECTION NAME START END H'???????? ・ ・ ・ H'???????? LENGTH H'???????? ・ ・ ・ H'???????? UNIT NAME AP_START ・ ・ ・ END LENGTH UNIT NAME AP_START ・ ・ ・ - hicif H'???????? ・ ・ ・ H'???????? ・ ・ ・ H'???????? ・ ・ ・ * TOTAL ADDRESS * ・ ・ ・ H'???????? - H'???????? H'???????? SECTION NAME END LENG
3. アップダウンロードシステム 3.1. 動作環境 アップダウンロードシステムは、IO-BOX の違いにより「マルチドロップ」と「LMWIN」の2つがありま す。 実行にあたっては、それぞれ次の環境が必要になります。 3.1.1. ベーシック IO-BOX を使用する場合 マルチドロップのアップダウンロードシステムが必要になります。 動作環境は次の通りです。 表3-1 マルチドロップの動作環境 ハードウェア CPU OS ユーザーズメモリ PC/AT 互換機 i486 以上 MS-DOS Ver 6.
3.1.2.
3.1.3.
3.2. 操作方法 3.2.1. マルチドロップの操作 操作説明の便宜上、ここでは次のようなディレクトリ構成になっているものとして説明します。 ドライブ名等は、お客様のパソコンの機種により読み替えてください。 C:¥ DT-930 D0WN APDW REC SEND ・・・ パラメータファイル格納用ディレクトリ ・・・ アプリケーションインストール用ディレクトリ ・・・ HTからアップロードされるファイルを格納する ディレクトリ ・・・ HTにファイルとしてダウンロードするファイルを格納する ディレクトリ 図3-8 推奨ディレクトリ構成 3.2.1.1 HTID(HOSTPCID.INF)ファイルの作成 ホストPC上に接続される全てのHTのID情報を登録するファイルです。 どのディレクトリに作成しても、環境設定ファイル(HOSTPC.
3.2.1.2 環境設定(HOSTPC.INI)ファイルの作成 マルチドロップ(MULTI32J.EXE)の動作に必要な各種設定項目の管理を行うファイルです。 どのディレクトリに作成しても、パラメータにより指定できます。 「DT-930通信キット」のFDには存在しませんので、テキストエディタ等で作成してください。 ここでは前述したディレクトリ内に作成するものとして説明します。 ●例 HOSTPC.INI02000308000100500500005 C:\DT930\APDW C:\DT930\REC C:\DT930\SEND ALL C:\DT930\DOWN\HOSTPCID.
3.2.1.
3.2.1.4 マルチドロップの起動 次のアイコンをダブルクリックして、マルチドロップ(MULTI32J.EXE)を起動させます。 すると次のような画面が表示されます。 図3-10 マルチドロップ基本画面 ★マルチドロップ(MULTI32J.EXE)を起動した際に、環境設定ファイル(HOSTPC.
3.2.1.
3.2.1.
3.2.1.
3.2.1.
次の画面は、通信の処理フェイズが通信中(HT本体とのファイル通信中)の場合の画面です。 通信中には、通信経過が画面に表示されます。 通信経過は、送受信するファイルすべての送受信終了を100%として表示し、上のウインドウ枠に 通信中のファイル名を、ウインドウ内に100分率による数値とバーグラフの表示を行います。 また、データリンクが確立されたHTのIDを表示します。 通信待ちのHTは白で、通信が終了したHTは青で表示されます。 途中でエラーが発生した場合は赤で表示され、最新のエラー情報が表示されます。 図3-16 マルチドロップ通信画面 25
3.2.1.9 アプリケーションのコピー 作成したアプリケーションを、アプリケーションインストール用ディレクトリにアプリケーションの実行 ファイル(例:SAMPLE.MOT)とマップファイル(例:SAMPLE.MAP)をコピーします。 C:\DT930\DOWN C:\DT930\APDW HOSTPCID.INF CONFIG.HTS HOSTPC.INI SAMPLE.HTS SAMPLE.MOT SAMPLE.MAP ★アプリケーション格納ディレクトリに、指定したファイル以外が存在していた場合、 そのファイルも同時にダウンロードされます。 余計なファイルを入れないようにご注意ください。 3.2.1.
3.2.2. LMWINの操作 LMWINを起動すると、次の画面が表示されます。 図3-17 LMWINのメインメニュー画面 3.2.2.
3.2.2.
3.2.2.
3.2.2.
ここでは、例として次のように設定しています。 a.COMポート :COM1 b.ボーレート :57600BPS c.パリティ :なし e.ストップビット :1ビット f.データ長 :8ビット 図3-23 LMWIN通信設定画面 項目が選択されて、[OK]ボタンがクリックされたら、設定はコンフィグファイル「DEVICE.
3.2.2.
3.2.2.6 LMWIN通信コマンド 通信コマンドでは1種類のコマンドを実行する事が出来ます。 コマンド実行時はモード設定を行なう事が出来ますが、通常は、連続モードで実行して下さい。 1回モードが選択されると、通信が終わってもHTとのセッションは切れません。 なお、連続モードが選択されると、「中断」サブメニューが選択されるまで繰り返し実行出来ます。 (1台のHTと通信が終わったら、別のHTと通信が出来ます) デフォルトは連続モードです。 図3-26 LMWINサーバーモードコマンド 3.2.2.
3.2.2.8 通信中断 中断サブメニューは選択すると通信を中断し、スクリプトファイルの作成/修正と環境設定を行なう ことが出来るようになります。 ★通信実行中は「環境設定」メニューは使用できません。 その為、通信中は通信設定を行うことができません。また、スクリプトメニューの「新規作成」 サブメニューも使用できません。さら通信中はスクリプトファイルの作成と編集はできません。 ご注意ください。 3.2.2.
3.2.2.10 インストール開始 DT-930をI/Oボックスに載せて、次の手順でDT-930本体側のインストール準備を行い、イ ンストールを開始します。 a.「S」キーと「.」キーを押しながら電源をオンします(システムニュー起動)。 b.「4」キーを押します(「4:テンソウ」メニューが起動)。 c.「通信ポート」を設定します(SIR を選択)。 d.「4:ユーティリティ」を選択します。 「4」キーを押すと「ユーティリティ」メニューが表示されます。 e.「1:ファイルジュシン」を選択します。 以上で通信待機状態になります。 PC側が起動していれば通信が開始されます。 ダウンロード完了後は「クリア」キーを押して、「システムメニュー」のトップページに 戻り、「1:APキドウ」を行うと、アプリケーションプログラムが起動します。 3.2.2.
表3-6 USB IOボックスの最大接続台数と最大認識数 IO ボックス最大接続台数 8台 3.2.2.
4. ダウンロードファイル アプリケーションファイル以外にHTに転送するファイルについて説明します。 これらのファイルは、A、Bどちらのドライブにも格納可能です。 4.1. パッチファイル(PATCH001.LOD/PATCH002.LOD) DT-930の機能強化や不具合対応を施したシステムファイルです。 実際の機能強化や不具合対応は、PATCH002.LOD により対応されますので当初はリリースされて いません。(対応された時点でリリースされます。) 「PATCH001.LOD は、PATCH002.LOD をローディングするためのモジュールですので、必ずダウンロ ードして下さい。」 (PATCH001.LOD がHTに入っていない場合、アプリケーションは起動しません) 4.2. 起動アプリケーション指定ファイル(ASTART.HTS) アプリケーションをLMWINで転送する形式(*.
ーションファイル格納ディレクトリに作成しなければなりません。 テキスト形式で設定値を記述します。 ●例 CONFIG.HTS1010FFFF03030308000308000103080001030800010110030100601010 ファイル名は「CONFIG.HTS」固定で、先頭に識別子“CONFIG.HTS”を持ちます。 このファイルをアプリケーションインストール時にAドライブにダウンロードすることにより、 設定が有効になります。 表3-3 システム環境ファイルの構造 項 目 ID 電源 KEY OBR 表示 通信 共通 個別 位置 00 サイズ 10 設定範囲 文字列'CONFIG.
39
プロトコル関連:マルチドロップ 表3-4 プロトコル関連の構造 項目 受信タイムアウト リトライ回数 リンクタイムアウト 予約領域 予約領域 予約領域 位置 +62 +64 +66 +70 +72 +74 サイズ 2 2 4 2 2 2 設定範囲 00-99(秒) 00-99(回) 0000-9990(10m 秒) 位置 +62 +66 +70 +74 サイズ 4 4 4 2 設定範囲 0000-3600(秒) 0000-0600(秒) 0000-0600(秒) 00 本機では無効なパラメータです 既定値 03 03 0030 00 00 00 プロトコル関連:FLINK 表3-5プロトコル関連の構造 項目 セッション確立タイムアウト 受信タイムアウト セッション終了タイムアウト 予約領域 ★ファイルの内容はDT-700,DT-750,DT-800,DT-900,DT-930で異なりますが、 ファイル名は同一ですので混在しないように注意してください。 40 既定値 1800 0300 0010 00
5. アプリケーション開発上の留意事項 ①コントラストの調整について 画面のコントラスト調整及び、バックライトのオン/オフは、初期状態においては次の 操作で調整することが可能です。 ・機能→7 : コントラストを1段階濃くする ・機能→8 : コントラストを1段階薄くする ・機能→9 : バックライトのオン/オフ コントラスト調整は、環境の変化や個体のばらつきにより必要になる場合があります。 ファンクションキーの設定を変更する場合も、アプリケーションでコントラスト調整が 可能になるようにしてください。 ②LB0の通知機能について 主電池(乾電池)の電圧低下状態には、LB1(警告レベル)とLB0(強制電源断)があります。 LB0発生時には、システム側で強制的に電源断処理を行います。 従って、通知機能によるフラグをアプリケーションが認識するのは、次回の電源オン時です。 一般的に、LB0からの復旧状態では、電池交換等により電源が確保されているわけですから、 LB0発生時に通知機能を使い電源断処理などを行うと、電池交換しても一回は電源が切れて しまう、という動きになります。 操作上、混乱しないようにして下さい.
6. Q&A集 Q1:fread関数を使った時に異常終了となった場合、fclose関数にて異常終了した ファイルをクローズすると、異常終了してしまうのですが? A1:Cライブラリの仕様です。 fclose関数は、エラーフラグの立っているファイルはエラーと判断し、クローズしません。 このような場合の異常終了を回避するには、fread関数の後に次のような処理を行ってください。 ret =fread( buf, size, n, fp ); if(ferror(fp)) { ここにエラー時の処理を記述してください clearerr(fp); ←エラーフラグをクリアします } Q2:lcd_gaiji関数にて外字登録を行うと、その外字はどの領域に登録されるのですか? A2:ファイルデータを外字フォントエリアにメモリ展開します。 このエリアは、あらかじめ確保されているエリアなので、ワークエリアを圧迫することはありません。 Q3:KJ_CNVRTで、2バイトコードとエスケープ文字列を同一文字列に入れて 変換すると、エスケープ文字列も変換されてしまうのですが? A3:制約事項です。 文字列内に2バイトコードがあった
LB通知モードを設定し、さらにキー入力関数のリターン条件に「LB発生終了」を設定しなけれ ばなりません。 Q5:コントラスト調整や、バックライトのON/OFFをプログラムで実行することはできますか? A5:コントラスト調整はdat_system関数で、バックライトのON/OFFはlcd_el関数で実行 できます. Q6:トリガーキーのキーコードを取得したいのですが? A6:トリガーキー(バーコードの読み取りキー)として機能しているときは,アプリケーションでは認識 できません.ただし、トリガーキーも通常のファンクションキーと同様に扱えますので、設定を行 えば認識が可能です。 Q7:通知モードのフラグ状態取得関数「flg_sts」の第1パラメータである「p_flgpid」は何のため に使用するのですか? A7:将来の拡張用ですので現行のDT-930では使用できません。 Q8:key_num関数を反転表示モードで呼び出し、キー入力後に脱出した後も入力エリアは反転 したままですが,ノーマル表示にする方法はありませんか? A8:ありません。 ノーマル表示モードで表示し直してください。 Q9:読み取り可能バーコー
Q11:DT-930の主バッテリーと補助バッテリーを外して、完全にリセットした時の通信速度は, 38400bpsだったのですが、この状態でアプリケーションをインストールした後で再び通信 速度を見たら、19200bpsになっていますが? A11:「CONFIG.HTS」での通信速度の設定が19200bpsになっていることが考えられます。 ファイルの内容を確認してみてください。 44
DT-930 開発ガイド 平成18年2月 Rev1.