(57)【要約】【課題】  ホストからモトローラＳデータを受信してファームウェアの更新を行うプリンタにおいて、ＲＯＭへ書込む前に、受信したモトローラＳデータの内容を確認する方法を提供することにある。【解決手段】  プリンタが、受信したモトローラＳデータを元に、メモリのイメージを作成するメモリイメージ作成手段と、作成したメモリイメージをＨＥＸ形式で印刷するＨＥＸダンプ作成手段と、作成したメモリイメージをＲＯＭに書込むメモリイメージ書込み手段とを備えることにより、受信したモトローラＳデータの内容をプリンタ上で確認可能とする。【選択図】  図１
2008055827.tif 000002
【特許請求の範囲】
【請求項１】
ＰＣからモトローラＳデータを受信してファームウェアの更新を行うプリンタにおいて、
受信したモトローラＳデータを元に、メモリのイメージを作成するメモリイメージ作成手段と、作成したメモリイメージをＨＥＸ形式で印刷するＨＥＸダンプ作成手段と、作成したメモリイメージをＲＯＭに書込むメモリイメージ書込み手段を備えていることを特徴とするプリンタ。
【請求項２】
請求項１に記載のプリンタにおいて、
メモリイメージの印刷範囲を指定する、印刷範囲指定手段を備えていることを特徴とするプリンタ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はプリンタに関するものであり、更に詳しくは受信したモトローラＳデータの内容を確認する技術に関する。
【背景技術】
【０００２】
多くのプリンタでは、ホスト装置などからファームウェアの更新データをダウンロードし、ＲＯＭを書換えることによりファームウェアを更新することが一般的に行われている。このとき、ファームウェアの更新データの形式として、図 7に示すモトローラＳデータが使用される場合がある。
【０００３】
図７を参照してモトローラＳデータについて説明する。
モトローラＳデータは、複数のレコードから構成される。各レコードは、ＡＳＣＩＩコードとＣＲ、ＬＦコードで構成されている。
レコード・タイプＳ０レコードは、モトローラＳデータの始まりを示す、ヘッダ・レコードである。
レコード・タイプＳ１〜Ｓ３のレコードは、データを格納するデータ・レコードである。
レコード・タイプＳ７〜Ｓ９のレコードは、モトローラＳデータの終端を示すエンド・レコードである。スタート・マークは、Ｓであり、レコードの開始を表す。
レコード・タイプは、０、１、２、３、７、８、９のいずれかであり、レコードの種類を表す。バイト・カウントはアドレスからチェックサムまでのバイト数を表す。
データは書込みデータである。
チェックサムは、バイト・カウントからチェックサムの前までのデータ値を１６進で加算した結果の１の補数である。
【０００４】
【特許文献１】特開２００２−２２２０６８号公報
【特許文献２】特開昭５９−６０６３２号公報
【特許文献３】特開昭６１−５３３４号公報
【特許文献４】特開昭６１−２４３５２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
稀にではあるが、保守員がファームウェアの更新作業を行う場合、モトローラＳデータの内容を、事前に確認したい場合がある。例えば、「モトローラＳデータが本当に正しいデータであるのか？」あるいは、「ＲＯＭの何処のエリアが、書き換えられるのか？」といったことを確認したい場合である。
【０００６】
特許文献１に記載の方法は、バージョン情報によって更新データの新旧を知ることができる。しかしながら、この方法では、仮にバージョン情報が誤っていた場合や、モトローラＳデータそのものが誤っていた場合には、対応できない。また、何処のアドレスにどのようなデータが書き込まれるのかといった、具体的な中身を確認することはできない。
【０００７】
このような場合、モトローラＳデータを確認する必要がある。ＰＣ上で、テキストエディタを使いモトローラＳデータを開いて、その中身を見ることは可能である。しかしながら、モトローラＳデータをそのままの形で見ても、分かりにくく、書込み後のＲＯＭの状態をイメージし難いため、確認がやりにくい。このような場合、モトローラＳデータをＨＥＸ形式に変換して確認すれば、特定のアドレスとその内容の対応が分かりやすく、書込み後のＲＯＭの状態をイメージし易くなる。
【０００８】
ＰＣ上では、専用のアプリケーションを使用してモトローラＳデータの内容を、ＨＥＸ形式に変換して確認することは可能である。しかしながら、あらかじめ専用のアプリケーションをＰＣにインストールしておく必要がある。また、ＰＣからプリンタへの転送中に障害が発生し、モトローラＳデータの内容が変化してしまった場合には、この方法では対応できない。
【０００９】
プリンタ上で、モトローラＳデータをＨＥＸ形式で確認できれば、確認用のアプリケーションをＰＣにインストールする必要がなくなる。また、ＰＣからプリンタへの転送中に障害が発生し、モトローラＳデータの内容が変化してしまった場合にも対応できる。
【００１０】
一方で、特許文献２のように、ＲＯＭやＲＡＭなどの主記憶部を対象にＨＥＸダンプを行うことが、以前から一般的に行われている。
【００１１】
しかしながら、特許文献２に記載の方法は、主記憶装置を対象にしたＨＥＸダンプであるため、モトローラＳデータの内容をＨＥＸ形式に変換して確認することには対応できない。
【００１２】
また、特許文献３、特許文献４のように、印刷データを対象にＨＥＸダンプを行うことが行われている。しかしながら、特許文献３、特許文献４に記載の方法は、印刷データを対象としたものであるため、モトローラＳデータの内容を確認することには対応していない。
【００１３】
本発明の課題は、ＲＯＭへの書込み前に、モトローラＳデータの内容を、保守員がＨＥＸ形式で確認するための手段を提供することにある。具体的には、以下に対応できる、モトローラＳデータの確認手段を提供することにある。
(1)  モトローラＳデータを直接確認する
(2)  ＲＯＭ書込み直前に、プリンタ上で確認する
(3)  ＨＥＸ形式で確認する
【課題を解決するための手段】
【００１４】
受信したモトローラＳデータを元にメモリのイメージを作成し、ＲＯＭに書込む前に、その内容をＨＥＸ形式で印刷することにより確認する。具体的には、プリンタが以下の手段を備えることにより、受信したモトローラＳデータの内容を確認する。
(1)  受信したモトローラＳデータを元に、メモリのイメージを作成するメモリイメージ作成手段
(2)  作成したメモリイメージをＨＥＸ形式で印刷するＨＥＸダンプ作成手段
(3)  作成したメモリイメージをＲＯＭに書込むメモリイメージ書込み手段
【発明の効果】
【００１５】
本発明によれば、プリンタ上で受信したモトローラＳデータの内容を、ＲＯＭへ書込む前に、ＨＥＸ形式で確認することができる。
【発明を実施するための最良の形態】
【００１６】
本発明について、図１〜図６に基づいて説明する。
【００１７】
図６は、本発明による処理の流れを模式的に説明した図である。
(1)  モトローラＳデータ受信し、ＲＡＭ上でメモリイメージを作成する。
(2)  メモリイメージをＨＥＸ形式で印刷し、モトローラＳデータの内容を確認する。
(3)  作成したメモリイメージをＲＯＭに書込み、ファームウェアを更新する。
上記の手順により、モトローラＳデータの内容を確認しながら、ファームウェアの更新を行う。
【００１８】
図１は、本発明を実現するためのシステム構成を説明する図である。
０１０１はプリンタ、０１０２はホスト、０１０３はＩ／Ｆケーブル、０１０４は制御部、０１０５はホストＩ／Ｆ部、０１０６は操作部、０１０７は表示部、０１０８はエンジンＩ／Ｆ部、０１０９はエンジン、０１１０はメモリイメージ作成部、０１１１はＨＥＸダンプ作成部、０１１２はメモリイメージ書込み部、０１１３はＲＯＭ、０１１４はＲＡＭである。
【００１９】
プリンタ０１０１とホスト０１０２は、Ｉ／Ｆケーブル０１０３を用いて接続されている。プリンタ０１０１は、制御部０１０４、ホストＩ／Ｆ部０１０５、操作部０１０６、表示部０１０７、エンジンＩ／Ｆ部０１０８、エンジン０１０９から構成される。更に、制御部０１０４には、メモリイメージ作成部０１１０、ＨＥＸダンプ作成部０１１１、メモリイメージ書込み部０１１２、ＲＯＭ０１１３、ＲＡＭ０１１４が存在する。
【００２０】
本例では、ＲＯＭ０１１３は、電気的に書換え可能な不揮発性メモリ、例えばフラッシュメモリである。
【００２１】
制御部０１０４は、ホストＩ／Ｆ部０１０５を通してホスト０１０２からの印刷データを受信し、解析・編集を行い、エンジンＩ／Ｆ部０１０８を通して、エンジン０１０９を制御し、所定の印刷を行う。
【００２２】
次に、モトローラＳデータの内容をＨＥＸ形式で確認する場合について説明する。
操作部０１０６の操作により、ファームウェアの更新が選択されると、プリンタ０１０１は、ホストＩ／Ｆ部０１０５を通して、モトローラＳデータを受取り、これを元に、ファームウェアの更新を行う。メモリイメージ作成部０１０８では、受信したモトローラＳデータを元にＲＡＭ０１１４上に、メモリイメージを作成する。ＨＥＸダンプ作成部０１０９では、作成したメモリイメージを元に、エンジンＩ／Ｆ０１０８を駆動して、ＨＥＸ形式で印刷する。メモリイメージ書込み部０１１０では、作成したメモリイメージを元にＲＯＭ０１１３を書換える。
【００２３】
次に、更新処理の動作について説明する。図２は更新処理を示すフローチャートである。
処理０２０１において、メモリイメージを準備し、処理０２０２に進む。
処理０２０３において、モトローラＳデータを受信し、判断０２０３に進む。
判断０２０３において、すべてのモトローラＳデータの受信処理が終了したかを判断する。
すべてのモトローラＳデータの受信が終了した場合、処理０２０６に進み、受信が終了していない場合、処理０２０４に進む。
処理０２０４において、受信したデータの解析を行い、処理０２０５に進む。
処理０２０５において、解析処理にもとづきメモリイメージへの書込みを行い、処理０２０２に進む。
処理０２０６において、表示部０１０７に、受信したモトローラＳデータの内容の確認処理を行うかどうかの判断を求めるメッセージを表示し、操作部０１０６からの入力を待ち、判断０２０７に進む。
判断０２０７において、データ内容の確認処理を行う場合には、処理０２０８に進む。
データ内容の確認処理を行わない場合には、処理０２１０に進む。
処理０２０８において、表示部０１０７に、データ内容を確認する範囲の入力を求めるメッセージを表示し、操作部０１０６より範囲を入力し、処理０２０９に進む。
処理０２０９において、確認する範囲についてメモリイメージの内容をＨＥＸ形式で印刷を行い、判断０２０６に進む。
処理０２１０において、表示部０１０７に、ＲＯＭ０１１３の書換え処理を行うかどうかの判断を求めるメッセージを表示し、操作部０１０４からの入力を待ち、判断０２１１に進む。
判断０２１１において、ＲＯＭ０１１３の書換え処理を行う場合には、処理０２１２に進む。
ＲＯＭ０１１３の書換え処理を行う場合には、処理を終了する。
処理０２１２において、ＲＯＭ０１１３の書換え処理を行う。
【００２４】
図３はＨＥＸ形式印刷処理のフローチャートである。
処理０３０１において、変数ｅａｄｒにＨＥＸ形式で印刷を行う範囲の終端アドレスを設定し、処理０３０２に進む。
処理０３０２において、変数ａｄｒにＨＥＸ形式で印刷を行う範囲の先頭アドレスを設定し、処理０３０２に進む。
判断０３０３において、ａｄｒとｅａｄｒを比較する。
ａｄｒがｅａｄｒよりも小さい場合には、処理０３０４に進む。
ａｄｒがｅａｄｒよりも小さくない場合には、処理を終了する。
処理０３０４において、メモリイメージ上のａｄｒ番地から１６バイト分のデータを読み出し、処理０３０５に進む。
処理０３０５において、アドレス部を作成し、処理０３０６に進む。
処理０３０６において、ＨＥＸ部を作成し、処理０３０７に進む。
処理０３０７において、ＴＥＸＴ部を作成し、処理０３０８に進む。
処理０３０８において、一行印刷し、処理０３０９に進む。
処理０３０９において、ａｄｒに１６を加え、判断０３０３に進む。
【００２５】
図４は、本例における、表示部の表示内容を説明する図である。
図４の上段は、モトローラＳデータの内容を確認するか否かの判断を求める状態を示したものである。図４の下段は、内容確認を行う、先頭アドレスと終端アドレスを指定した状態を示したものである
図５は、本例における、ＨＥＸ形式ダンプの例を示す図である。
ＨＥＸ形式ダンプは、アドレス部分、ＨＥＸ部分、Ｔｅｘｔ部分より構成される。本例では、１６バイト分の内容を１行に印刷している。
【００２６】
以上説明したように、本発明により、プリンタ上で受信したモトローラＳデータの内容を、ＲＯＭへ書込む前に、ＨＥＸ形式で確認することが可能となる。
【図面の簡単な説明】
【００２７】
【図１】本発明の一例となるシステム構成図である。
【図２】本発明の一例となる更新処理のフローチャートである。
【図３】本発明の一例となるＨＥＸ形式印刷処理のフローチャートである。
【図４】本発明の一例となる表示部の表示内容を説明する図である。
【図５】本発明の一例となるＨＥＸ形式ダンプの例を示す図である。
【図６】本発明の処理の流れを模式的に説明するための模式図である。
【図７】モトローラＳフォーマットの構成を説明するための図である。
【符号の説明】
【００２８】
０１０１…プリンタ、０１０２…ホスト、０１０３…Ｉ／Ｆケーブル、０１０４…制御部、０１０５…ホストＩ／Ｆ部、０１０６…操作部、０１０７…表示部、０１０８…エンジンＩ／Ｆ部、０１０９…エンジン、０１１０…メモリイメージ作成部、０１１１…ＨＥＸダンプ作成部、０１１２…メモリイメージ書込み部、０１１３…ＲＯＭ、０１１４…ＲＡＭ。
【図１】
2008055827.tif 000003
【図２】
2008055827.tif 000004
【図３】
2008055827.tif 000005
【図４】
2008055827.tif 000006
【図５】
2008055827.tif 000007
【図６】
2008055827.tif 000008
【図７】
2008055827.tif 000009