(57)【要約】【課題】  拡張ボードを用意したり筐体を開けたりすることなく、容易に商品販売データ処理装置におけるファームウェア処理の進捗状況やエラー情報を確認すること。【解決手段】  システム起動用のファームウェアであるＢＩＯＳプログラム１２０の処理において、設定エリア１２３の設定にしたがって汎用インターフェイス１６に接続された外部機器にシステム起動処理の進捗状況を示す進捗情報を出力する。【選択図】    図１
2011039684.tif 000002
【特許請求の範囲】
【請求項１】
システム起動用のファームウェアを記憶したファームウェア記憶手段と、
接続された外部機器とのデータ通信を制御する汎用インターフェイスと、
前記ファームウェアによるシステム起動処理の進捗を示す進捗情報を前記汎用インターフェイスに出力する出力制御手段と、
を備えていることを特徴とする商品販売データ処理装置。
【請求項２】
前記進捗情報は、前記ファームウェアによる各デバイスの初期化処理のプロセスを特定する情報であることを特徴とする請求項１に記載の商品販売データ処理装置。
【請求項３】
前記識別コードを前記汎用インターフェイスに出力するか否かの設定を記憶する設定記憶手段をさらに備え、
前記出力制御手段は、前記設定記憶手段に前記汎用インターフェイスに前記進捗情報を出力するとの設定が記憶されているとき、前記進捗情報を前記汎用インターフェイスに出力することを特徴とする請求項１に記載の商品販売データ処理装置。
【請求項４】
前記進捗情報の出力対象となる外部機器を特定する情報を記憶した特定情報記憶手段と、
前記汎用インターフェイスに接続された外部機器の識別情報を検出する検出手段とをさらに備え、
前記出力制御手段は、前記検出手段が検出した識別情報と前記特定情報記憶手段に記憶された情報とを照合した結果、前記汎用インターフェイスに接続された外部機器が前記進捗情報の出力対象である場合には前記進捗情報を前記汎用インターフェイスに出力することを特徴とする請求項１に記載の商品販売データ処理装置。
【請求項５】
接続された外部機器とのデータ通信を制御する汎用インターフェイスを備えた商品販売データ処理装置の制御プログラムであって、
前記商品販売データ処理装置に、
システムの起動処理を実行する機能と、
システムの起動処理における進捗状況を特定する機能と、
特定した進捗状況を示す進捗情報を前記汎用インターフェイスに出力する機能と、
を実現させるための制御プログラム。
【請求項６】
システム起動用のファームウェアを記憶したファームウェア記憶手段と、接続された外部機器とのデータ通信を制御する汎用インターフェイスとを備えた商品販売データ処理装置の制御方法であって、
前記ファームウェアを実行してシステムの起動処理を開始するステップと、
システムの起動処理における進捗状況を特定するステップと、
特定した進捗状況を示す進捗情報を前記汎用インターフェイスに出力するステップと、
を備えていることを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファームウェアの制御によりシステムが起動される商品販売データ処理装置、その制御プログラムおよび制御方法に関する。
【背景技術】
【０００２】
一般に、ＰＣ（Personal Computer）のＢＩＯＳ（Basic Input/Output System）に代表されるようなコード数の多いファームウェアは、起動時の初期化処理等の進捗状況やハードウェアの障害を外部に通知する手段を備えている。例えばＰＣの場合、前記進捗状況に関する情報等を内部バス（ＰＣＩバス）上のデバッグポートに出力することが一般的である。前記デバッグポートに出力された情報は、特殊な拡張ボードをマザーボードの拡張スロットに接続することで視認できる。
【０００３】
商品販売データ処理装置等のＰＣをベースとした組み込み機器も内部バスにデバッグポートを備えており、障害発生時にはデバッグポートから出力される情報をモニタに表示してエラーや故障の原因を調査する手法が採られている。（例えば、特許文献１を参照）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
前記商品販売データ処理装置の場合、基板の配置位置や筐体等の設計がＰＣと異なり、筐体を開けただけでは、拡張ボードを接続できない場合が多い。このような場合、マザーボードの拡張スロットに視認用の拡張ボードを取り付けるべく商品販売データ処理装置を分解しなければならない。また、小型の商品販売データ処理装置においてはマザーボードも小型化され、拡張ボードの接続用コネクタが用意されていない場合もある。
【０００５】
こうした事情により、商品販売データ処理装置においては、ファームウェアから通知される初期化処理等の進捗状況やエラー情報を確認することが困難である。
【０００６】
本発明は、上記のような事情に基づいてなされたものであり、その目的は、拡張ボードを用意したり筐体を開けたりすることなく、容易に商品販売データ処理装置におけるファームウェア処理の進捗状況やエラー情報を確認することである。
【課題を解決するための手段】
【０００７】
本発明の第１の視点は、システム起動用のファームウェアを記憶したファームウェア記憶手段と、接続された外部機器とのデータ通信を制御する汎用インターフェイスと、前記ファームウェアによるシステム起動処理の進捗を示す進捗情報を前記汎用インターフェイスに出力する出力制御手段とを備えていることを特徴とする商品販売データ処理装置である。
【０００８】
本発明の第２の視点は、接続された外部機器とのデータ通信を制御する汎用インターフェイスを備えた商品販売データ処理装置の制御プログラムであって、前記商品販売データ処理装置に、システムの起動処理を実行する機能と、システムの起動処理における進捗状況を特定する機能と、特定した進捗状況を示す進捗情報を前記汎用インターフェイスに出力する機能とを実現させるための制御プログラムである。
【０００９】
本発明の第３の視点は、システム起動用のファームウェアを記憶したファームウェア記憶手段と、接続された外部機器とのデータ通信を制御する汎用インターフェイスとを備えた商品販売データ処理装置の制御方法であって、前記ファームウェアを実行してシステムの起動処理を開始するステップと、システムの起動処理における進捗状況を特定するステップと、特定した進捗状況を示す進捗情報を前記汎用インターフェイスに出力するステップとを備えていることを特徴とする制御方法である。
【発明の効果】
【００１０】
かかる手段を講じた本発明によれば、拡張ボードを用意したり筐体を開けたりすることなく、容易に商品販売データ処理装置におけるファームウェア処理の進捗状況やエラー情報を確認することができる。
【図面の簡単な説明】
【００１１】
【図１】第１の実施形態における商品販売データ処理装置のブロック図。
【図２】同実施形態におけるコードテーブルのデータ構造の一例を示す図。
【図３】同実施形態におけるラインモニタの表示例を示す図。
【図４】同実施形態における通知処理にてＣＰＵが実行する処理の流れ図。
【図５】第２の実施形態における通知処理にてＣＰＵが実行する処理の流れ図。
【発明を実施するための形態】
【００１２】
［第１の実施形態］
以下、本発明の第１の実施形態について、図面を参照しながら説明する。  
図１は、商品販売データ処理装置の要部構成を示すブロック図である。この装置は、筐体内部にマザーボード１を搭載している。マザーボード１上には、ＣＰＵ１０と、チップセット１１と、ＢＩＯＳ−ＲＯＭ１２と、表示インターフェイス（Ｉ／Ｆ）１３と、入力インターフェイス（Ｉ／Ｆ）１４と、デバッグポート１５と、汎用インターフェイス（Ｉ／Ｆ）１６とが実装されている。前記チップセット１１と、ＣＰＵ１０、ＢＩＯＳ−ＲＯＭ１２、デバッグポート１５、汎用インターフェイス１６、表示インターフェイス１３および入力インターフェイス１４とは、アドレスバスやデータバス等のバスラインを介して接続されている。前記表示インターフェイス１３には表示デバイス２が接続され、前記入力インターフェイス１４には入力デバイス３が接続され、前記汎用インターフェイス１６には通信ケーブル２０を解してラインモニタ４が接続されている。
【００１３】
表示デバイス２は、ＬＣＤ（Liquid Crystal Display）やＣＲＴ（Cathode Ray Tube）等のディスプレイであり、表示インターフェイス１３を介して供給されるビデオ信号に基づいて各種情報を表示する。
【００１４】
入力デバイス３は、テンキーや文字キーが配設されたキーボード、マウス、トラックボール等で構成され、ユーザの操作に応じた入力信号を入力インターフェイス１４に出力する。
【００１５】
ＣＰＵ１０は、当該商品販売データ処理装置のメインの制御手段として機能する。チップセット１１は、ＣＰＵ１０と前記バスラインとを接続するために用いられるノースブリッジと、各種コントローラ等の機能を有するサウスブリッジとを備えている。
【００１６】
ＢＩＯＳ−ＲＯＭ１２は、本実施形態におけるファームウェア記憶手段として機能し、ファームウェアであるＢＩＯＳプログラム１２０と、ＰＯＳＴ（Power-On Self Test）１２１と、進捗コードテーブル１２２と、設定エリア１２３とを記憶している。ＰＯＳＴ１２１は、電源投入時に実行される各ハードウェアを初期化するためのプログラムである。
【００１７】
前記進捗コードテーブル１２２は、ＢＩＯＳプログラム１２０の制御下におけるシステム起動処理の各プロセスに対応つけて進捗コードを記憶している。前記プロセスとは、電源の投入からＯＳの起動までに実行される処理単位を指し、ＰＯＳＴ１２１が各ハードウェアの初期化に際して検出した障害等も含む概念である。また、前記進捗コードとは、各プロセスの識別情報である。進捗コードテーブル１２２のデータ構造の一例を図２に示している。ここでは一例として、プロセス“電源オン”に対して進捗コード“００”、プロセス“ＣＰＵ初期化”に対して進捗コード“４Ｆ”、プロセス“画面表示”に対して進捗コード“ＣＦ”、プロセス“ＯＳ起動”に対して進捗コード“ＦＦ”を割り当てている。なお、前記進捗コードは、電源オンを起点とし、ＯＳ起動を終点とした１６進数にて表してある。また、図２中に示した各プロセス、すなわち電源オン，ＣＰＵ初期化，画面表示，ＯＳ起動の間には、ＢＩＯＳプログラム１２０の制御下にて実行される他のプロセスが含まれているが、説明の簡略化のために省略してある。
【００１８】
前記設定エリア１２３は、ＢＩＯＳプログラム１２０の制御下において実行される各プロセスに対する進捗コードを汎用インターフェイス１６に出力するか否かの設定を保持する記憶領域であり、本実施形態における設定記憶手段として機能する。例えば、汎用インターフェイス１６に進捗コードを出力する場合には“１”が記憶され、出力しない場合には“０”が記憶される。設定エリア１２３の設定は、ＢＩＯＳプログラム１２０あるいはＯＳの制御下において、入力デバイス３を介した所定の設定処理により変更できる。したがって、ユーザは、所望する設定に適宜変更して当該商品販売データ処理装置を使用できる。
【００１９】
デバッグポート１５は、例えばＪＴＡＧ（Joint Test Action Group）規格に準拠したポートであり、バウンダリングスキャニングテスト等に際してテストデータの入出力や制御に用いられるものである。
【００２０】
汎用インターフェイス１６は、例えばＵＳＢ、ＲＳ−２３２Ｃ等のシリアルインターフェイスやセントロニクス、ＳＣＳＩ等のパラレルインターフェイスであり、当該商品販売データ処理装置の筐体面に接続端子が設けられている。当該接続端子には、汎用インターフェイス１６の規格に対応した端子を備える外部機器を接続可能である。当該接続端子は筐体面に露出しているため、外部機器を接続するに際して筐体を開けたりする必要は無い。これに対して、デバッグポート１５から出力される情報を視認するためには、筐体を開けてマザーボードの拡張スロットに視認用の拡張ボードを取り付ける等の作業が必要である。
【００２１】
ラインモニタ４は、汎用インターフェイス１６から出力されるデータを表示するものであり、２文字分の７セグメント表示エリアを備えている。各表示エリアは、複数のＬＥＤを用いて構成される７つの発行領域を備えている。これら７つの発光領域を構成するＬＥＤを選択的に発光させることで、数字あるいはアルファベット等を表現することができる。図３は、図２に示した各プロセスに対する進捗コードをラインモニタ４で表示した一例である。プロセス“電源オン”では進捗コード“００”が表示され、プロセス“ＣＰＵ初期化”では進捗コード“４Ｆ”が表示され、プロセス“画面表示”では進捗コード“ＣＦ”が表示され、プロセス“ＯＳ起動”では進捗コード“ＦＦ”が表示される。
【００２２】
なお、本実施形態におけるＣＰＵ１０は、ソフトウェアに基づく処理によって、次の機能を実現する。
【００２３】
（１）設定エリア１２３に汎用インターフェイス１６に進捗コードを出力するとの設定が記憶されているとき、進捗コードを汎用インターフェイス１６に出力し、設定エリア１２３に汎用インターフェイス１６に進捗コードを出力しないとの設定が記憶されているとき、進捗コードを汎用インターフェイス１６に出力しない出力制御機能。
【００２４】
次に、上記のような構成による作用について説明する。  
当該商品販売データ処理装置に電源が投入されると、ＢＩＯＳプログラム１２０が実行され、システムの起動処理が開始される。この処理では、先ずＰＯＳＴ１２１が読み出されて汎用インターフェイス１６が初期化される。汎用インターフェイス１６が異常なく初期化されると、チップセット１１とラインモニタ４７とのデータの送受信が可能となる。
【００２５】
汎用インターフェイス１６が初期化された後、システム起動処理と並行して各プロセスの通知処理が開始される。図４は、前記通知処理にてＣＰＵ１０が実行する処理の流れ図である。
【００２６】
当該処理において、先ずＣＰＵ１０は、現在実行中のプロセスを特定する（ステップＳ１０１）。ここで特定されるプロセスは、前記進捗コードテーブル１２２に記憶されたプロセスと対応するものであり、ＢＩＯＳプログラム１２０やＰＯＳＴ１２１の実行中のコードによって識別される。
【００２７】
続いて、ＣＰＵ１０は、特定したプロセスに対応付けられた進捗コードを進捗コードテーブル１２２から特定する（ステップＳ１０２）。そして、ＣＰＵ１０は、設定エリア１２３を参照し、特定した進捗コードを汎用インターフェイス１６に出力する設定であるか否かを判定する（ステップＳ１０３）。設定エリア１２３に“０”が設定されている場合には、ステップＳ１０２の処理にて特定した進捗コードを汎用インターフェイス１６に出力しない設定であると判定し（ステップＳ１０３のＮｏ）、デバッグポート１５にのみ進捗コードを出力する（ステップＳ１０４）。
【００２８】
一方、設定エリア１２３に“１”が設定されている場合には、進捗コードを汎用インターフェイス１６に出力する設定であると判定し（ステップＳ１０３のＹｅｓ）、ＣＰＵ１０は、ステップＳ１０２の処理にて特定した進捗コードを汎用インターフェイス１６に出力する（ステップＳ１０５）。このとき、デバッグポート１５にも同進捗コードを出力するようにしてもよいし、出力しないようにしてもよい。汎用インターフェイス１６から出力された進捗コードは、通信ケーブル２０を介してラインモニタ４に出力される。この進捗コードの出力を受けたラインモニタ４は、既述の如く当該進捗コードを２桁の１６進数にて表示する。
【００２９】
ステップＳ１０２の処理にて特定した進捗コードの出力が完了した後、ＣＰＵ１０は、ＢＩＯＳプログラム１２０によるシステムの起動処理が完了したか否かを判定する（ステップＳ１０６）。未だシステムの起動処理が完了していない場合には（ステップＳ１０６のＮｏ）、再度ステップＳ１０１〜ステップＳ１０６の処理を繰り返す。
【００３０】
一方、既にＢＩＯＳプログラム１２０によるシステムの起動処理が完了している場合には（ステップＳ１０６のＹｅｓ）、当該通知処理を終了する。この後は、ＯＳの制御下にて業務用アプリケーション等が実行される。
【００３１】
以上説明したように、本実施形態における商品販売データ処理装置は、ＢＩＯＳプログラム１２０によるシステムの起動処理に際して、実行中のプロセスに対応する進捗コードを汎用インターフェイス１６から出力する。したがって、いちいち筐体を開けてマザーボード１上に配設された拡張スロットにラインモニタ４を接続する等してデバッグポート１５から出力される情報を視認することなく、容易にファームウェアによる処理の進捗状況や発生したエラーの種別を把握することができる。
【００３２】
また、汎用インターフェイス１６に進捗コードを出力するか否かは、設定エリア１２３を用いて変更可能である。したがって、汎用インターフェイス１６に進捗コードの表示用でない外部機器が接続されている場合等、進捗コードの出力が不必要なときにも対応可能である。
【００３３】
［第２の実施形態］
次に、本発明の第２の実施形態について、図面を参照しながら説明する。  
汎用インターフェイス１６に接続される外部機器の中には、進捗コードの出力に対応しないものがある。このような機器に進捗コードを出力しても無意味であるし、外部機器が誤動作を引き起こす蓋然性もある。そこで、本実施形態では、汎用インターフェイス１６に接続された外部機器が進捗コードの出力対象の機器であるか否かを自動的に判別し、出力対象である場合にのみ進捗コードを出力する。商品販売データ処理装置のハードウェア構成等、第１の実施形態と同一の箇所には同一の符号を付して説明を省略する。
【００３４】
本実施形態における設定エリア１２３には、進捗コードの出力が予定される一つまたは複数の外部機器の識別情報が記憶されている。この情報は、例えば個々の外部機器に対して一意に割り当てられたプロダクトＩＤ、製造元を特定する情報であるベンダＩＤ、機器の種別を特定する情報であるデバイスＩＤ等である。
【００３５】
なお、本実施形態におけるＣＰＵ１０は、ソフトウェアに基づいて次の機能を実現する。
【００３６】
（２）汎用インターフェイス１６に接続された外部機器の識別情報を検出する検出機能。
【００３７】
（３）検出機能にて検出した識別情報と設定エリア１２３に記憶された情報とを照合した結果、汎用インターフェイス１６に接続された外部機器が進捗コードの出力対象である場合には進捗コードを汎用インターフェイス１６に出力し、出力対象でない場合には進捗コードを汎用インターフェイス１６に出力しない出力制御機能。
【００３８】
図５は、本実施形態における通知処理にてＣＰＵ１０が実行する処理の流れ図である。先ず、ＣＰＵ１０は、汎用インターフェイス１６に接続された外部機器と通信し、当該外部機器の製品情報を検出する。この製品情報は、外部機器が備える不揮発性のメモリに記憶されたプロダクトＩＤ、デバイスＩＤ、ベンダＩＤ等である。検出した製品情報は、図示せぬＲＡＭ（Random Access Memory）等に生成した作業用記憶領域に記憶する。
【００３９】
次に、ＣＰＵ１０は、前記実施形態と同様に現在実行中のプロセスを特定し（ステップＳ２０２）、特定したプロセスに対応する進捗コードを進捗コードテーブル１２２から特定する（ステップＳ２０３）。
【００４０】
しかる後、ステップＳ２０１の処理にて検出した外部機器の製品情報と設定エリア１２３に記憶された情報とを照合して、汎用インターフェイス１６に接続された外部機器が進捗コードの出力対象であるか否かを判定する（ステップＳ２０４）。この処理では、例えば前記プロダクトＩＤ、ベンダＩＤ、デバイスＩＤのいずれかまたは全てが一致する場合に当該外部機器が進捗コードの出力対象であると判定する。したがって、ラインモニタやＰＣ等の特定の種別の外部機器にのみ進捗コードを出力したい場合には、それら外部機器のデバイスＩＤを設定エリア１２３に記憶しておけばよいし、同一種別の外部機器であっても特定の機器にのみ進捗コードを出力したい場合には、プロダクトＩＤも含めて設定エリア１２３に記憶しておけばよい。その他、設定エリア１２３に記憶する識別情報、外部機器から検出される情報、それらの比較方法等を調整することで、種々の進捗コードの出力対象となる機器の判定方法を実現できる。
【００４１】
汎用インターフェイス１６に接続された外部機器が進捗コードの出力対象であると判定した場合には（ステップＳ２０４のＮｏ）、ステップＳ２０３の処理にて特定した進捗コードをデバッグポート１５に出力する（ステップＳ２０５）。
【００４２】
一方、汎用インターフェイス１６に接続された外部機器が進捗コードの出力対象でないと判定した場合には（ステップＳ２０４のＹｅｓ）、汎用インターフェイス１６にステップＳ２０３の処理にて特定した進捗コードを出力する（ステップＳ２０７）。このとき、汎用インターフェイス１６に接続された外部機器は、出力される進捗コードを表示あるいは記憶等する。
【００４３】
進捗コードを出力した後、ＣＰＵ１０は、ＢＩＯＳプログラム１２０による起動処理が完了したか否かを判定する（ステップＳ２０６）。このとき、起動処理が完了していないならば（ステップＳ２０６のＮｏ）、再度ステップＳ２０２〜ステップＳ２０６の処理を実行し、完了しているならば（ステップＳ２０６のＹｅｓ）、当該通知処理を終了する。
【００４４】
以上説明したように、本実施形態における商品販売データ処理装置は、汎用インターフェイス１６に接続された外部機器から検出した製品情報と、設定エリア１２３に記憶された識別情報とを照合し、進捗コードの出力対象である機器である場合にのみ、汎用インターフェイス１６に進捗コードを出力する。このようにすることで、ユーザが意図しない外部機器には進捗コードが出力されず、外部機器の無駄な動作や誤動作等を未然防止できる。
【００４５】
その他、第１の実施形態と同様の効果を奏すことは勿論である。
【００４６】
なお、この発明は前記各実施形態そのままに限定されるものではなく、実施段階においては、その要旨を逸脱しない範囲内にて各構成要素を適宜変形して具体化することができる。
【００４７】
例えば、第１の実施形態においては、汎用インターフェイス１６にラインモニタ４を接続した場合について説明したが、汎用インターフェイス１６に他種の外部機器を接続してもよいことは言うまでもない。
【００４８】
外部機器としてＵＳＢメモリ等の記憶装置を接続した場合には、汎用インターフェイス１６から出力される進捗コードを表示するのではなく、メモリに記憶させるようにすればよい。また、外部機器としてスピーカを接続した場合には、進捗コードに対応する音声を出力させるようにすればよい。その他、外部機器としてＰＣを接続した場合には、当該ＰＣが備えるディスプレイへの進捗コードの表示、ハードディスクドライブ等の記憶手段への進捗コードの記憶、当該ＰＣが備えるスピーカからの進捗コードの音声出力等を実現するソフトウェアをインストールしておけばよい。
【００４９】
また、第１の実施形態のように進捗コードを出力する設定となっている場合に進捗コードを汎用インターフェイス１６に出力する処理と、汎用インターフェイス１６に接続された外部機器が進捗コードの出力に提起している場合に進捗コードを出力する処理とを組み合わせてもよい。この場合、進捗コードを汎用インターフェイス１６に出力するか否かの設定と、進捗コードを出力すべき外部機器の識別情報とを設定エリア１２３に記憶しておく。そして、ＢＩＯＳプログラム１２０による通知処理において設定エリア１２３を参照し、汎用インターフェイス１６に進捗コードを出力すると設定されており、かつ、汎用インターフェイス１６に接続された外部機器の製品情報と設定エリア１２３に記憶された識別情報とを照合した結果、進捗コードを出力すべきとの判定がなされる場合に進捗コードを汎用インターフェイス１６に出力する。
【００５０】
この他、前記各実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、各実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を組み合わせてもよい。
【符号の説明】
【００５１】
１…マザーボード、２…表示デバイス、３…入力デバイス、４…ラインモニタ、１０…ＣＰＵ、１２…ＢＩＯＳ−ＲＯＭ、１１…チップセット、１３…表示インターフェイス、１４…入力インターフェイス、１５…デバッグポート、１６…汎用インターフェイス、２０…通信ケーブル、４７…ラインモニタ、１２０…ＢＩＯＳプログラム、１２１…ＰＯＳＴ、１２２…進捗コードテーブル、１２３…設定エリア
【先行技術文献】
【特許文献】
【００５２】
【特許文献１】特開平５−３２５０３９号公報
【図１】
2011039684.tif 000003
【図２】
2011039684.tif 000004
【図３】
2011039684.tif 000005
【図４】
2011039684.tif 000006
【図５】
2011039684.tif 000007