JP2005288943A - プリンタ - Google Patents

プリンタ Download PDF

Info

Publication number
JP2005288943A
JP2005288943A JP2004109218A JP2004109218A JP2005288943A JP 2005288943 A JP2005288943 A JP 2005288943A JP 2004109218 A JP2004109218 A JP 2004109218A JP 2004109218 A JP2004109218 A JP 2004109218A JP 2005288943 A JP2005288943 A JP 2005288943A
Authority
JP
Japan
Prior art keywords
flash rom
main program
main
area
cpu unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2004109218A
Other languages
English (en)
Inventor
Koji Natsuno
厚司 夏野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2004109218A priority Critical patent/JP2005288943A/ja
Publication of JP2005288943A publication Critical patent/JP2005288943A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Record Information Processing For Printing (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】 状況に応じて短時間で効率的にフラッシュROMの書換を実行することが可能
なプリンタ及びフラッシュROM書換方法を提供する。
【解決手段】 サブ側フラッシュROM132には、サブCPU部用プログラムの一つで
ある第1メインプログラムが記憶される第1メインプログラム領域132bと、サブCP
U部用プログラムの一つである第2メインプログラムが記憶される第2メインプログラム
領域132cとを有している。サブCPU部130は、第1メインプログラム領域132
bと第2メインプログラム領域132cとのうち、最も新しく書き換えられた領域中のプ
ログラムを実行して、サブCPU部130の制御及び他方のプログラム領域のデータ書換
を実行する。
【選択図】 図2

Description

本発明は、プリンタ及びフラッシュROM書換方法に関する。
プリンタの中には、用紙に印刷を行うだけでなく、用紙に記録された情報を読み取り可
能な用紙情報読取装置付きのプリンタも提案されている。
この種のプリンタとしては、例えばスリップ紙やロール紙に印刷を行うとともに、スリ
ップ紙上の画像を読取可能なプリンタが知られている。この種のプリンタには、印刷制御
用のメインCPU部と、このメインCPU部と内部インタフェースを介して通信可能に接
続されたサブCPU部が用意されている場合がある(例えば、特許文献1及び特許文献2
参照)。
メインCPU部には、CPU、RAM、フラッシュROM等が搭載されており、これら
により主として印刷制御用の制御回路が構成されている。メインCPU部のCPUは、内
部に設けられたフラッシュROMからファームウェアを起動することにより、各種印刷部
、紙送り機構、各種検出部を動作させて、スリップ紙やロール紙に印刷を実行させる。
また、サブCPU部には、メインCPU部と同様に、CPU、RAM、フラッシュRO
M等が搭載されており、主として画像読取制御(スキャン)用の制御回路が構成されてい
る。サブCPU部のCPUは、内部に設けられたフラッシュROMからファームウェアを
起動することにより、スリップ紙送り機構、画像読取センサを駆動して、スリップ紙上に
形成された画像を読み取らせている。
この種のプリンタ装置では、メインCPU部及びサブCPU部の各フラッシュROM内
には、それぞれの制御対象部の起動処理を実行させるブートプログラムが記憶された「ブ
ートセクタ」と、それぞれの制御対象部を介して印刷や画像読取等の通常モードにおける
制御を行うためのメインプログラムが記憶された「メインセクタ」と、各種設定値やフォ
ントデータ等が保存される「データ格納セクタ」とが設けられている。
従来、このような二つのCPU部を備えた装置では、各CPU部上のフラッシュメモリ
のブートセクタ内には、データ書換用のフラッシュメモリ書換プログラムが保存されてい
る。ファームウェアの書換時には、各CPU部は対応するフラッシュメモリ内に保存され
たフラッシュメモリ書換プログラムを実行することにより、各CPU部が再起動を行って
フラッシュメモリ書換モードに移行し、ファームウェアの書換を行うように構成されてい
る。
特開2003−087496号公報 特開2003−087497号公報
しかしながら、上記構成のようにメインCPU部とサブCPU部が再起動を行ってフラ
ッシュメモリ書換モードに移行するような構成においては、メインCPU部とサブCPU
部の双方は、DIPスイッチやコマンドの受信に応じて、両CPU部の再起動を行った後
にフラッシュメモリ書換モードに移行し、ファームウェアの書換を実行した後に、再びシ
ステムの再起動を行い通常モードに移行する。このように、上記構成では、メインCPU
部とサブCPU部の双方が、それぞれ再起動を2回行わなければファームウェアの書換を
行った後に通常モードに移行できない。
また、上述のように、プリンタ内部のシステムが再起動を行うと、プリンタは各CPU
部の初期化動作を行うとともに、その都度ホストコンピュータとの接続を確立しなければ
ならないという手間が発生する。そのため、上記のようなフラッシュメモリの書換では、
通常モードからフラッシュメモリ書換モードに移行して、もう一度通常モードに戻るまで
に非常に長い時間が必要とされていた。
本発明は、上記を鑑みてなされたものであり、フラッシュROMの書換時の内部処理を
効率化することによって、状況に応じて短時間で効率的にフラッシュROMの書換を実行
することが可能なプリンタ及びフラッシュROM書換方法を提供することを目的とする。
(1) メインCPU部と、
前記メインCPU部と通信可能に接続されたサブCPU部と、
前記メインCPU部上に配置され、前記メインCPU部上で実行されるメインCPU部
用プログラムを記憶する第1のフラッシュROMと、
前記サブCPU部上に配置され、前記サブCPU部上で実行されるサブCPU部用プロ
グラムを記憶する第2のフラッシュROMと、を備えたプリンタであって、
前記第2のフラッシュROMには、前記サブCPU部用プログラムの一つである第1メ
インプログラムが記憶される第1メインプログラム領域と、前記サブCPU部用プログラ
ムの一つである第2メインプログラムが記憶される第2メインプログラム領域とを有し、
前記サブCPU部は、前記第1メインプログラム領域と前記第2メインプログラム領域
とのうち、最も新しく書き換えられた領域中のプログラムを実行して、前記サブCPU部
の制御を実行することを特徴とするプリンタ。
(2) 前記サブCPU部は、前記第1メインプログラム領域と前記第2メインプロ
グラム領域のうち、最も新しく書き換えられた領域中のプログラムを実行して、前記第2
のフラッシュROMのデータ書換を実行することを特徴とする(1)記載のプリンタ。
(3) 前記サブCPU部は、前記第1メインプログラム領域及び前記第2メインプ
ログラム領域の一方に保存された前記第1メインプログラム及び前記第2メインプログラ
ムの一方を実行して、前記第1メインプログラム領域及び前記第2メインプログラム領域
の他方のデータを書き換えることを特徴とする(1)または(2)記載のプリンタ。
(4) 前記サブCPU部は、前記第1メインプログラム及び前記第2メインプログ
ラムを実行することにより、前記サブCPU部の再起動を行うことなく通常モードからフ
ラッシュROM書き換えモードに移行し、前記第2のフラッシュROMのデータ書換を実
行することを特徴とする(1)〜(3)の何れか一項に記載のプリンタ。
(5) 前記第1メインプログラム領域及び前記第2メインプログラム領域には、そ
れぞれデータ書き換え回数を示す更新回数データが保存されており、
前記サブCPU部は、前記更新回数データを参照して、最も新しく書き換えられた領域
を判別して、実行すべきプログラムを選択することを特徴とする(1)〜(4)の何れか
1項に記載のプリンタ。
(6) 前記メインCPU部は、フラッシュROM書換指示に応じて、フラッシュR
OM書換モードに移行するとともに、前記サブCPU部にフラッシュROM書換コマンド
を送信し、
前記サブCPU部は、前記メインCPU部から受信した前記フラッシュROM書換コマ
ンドに応じて、前記サブCPU部を再起動することなくフラッシュROM書換モードに移
行することを特徴とする(1)〜(5)の何れか1項に記載のプリンタ。
(7) さらに、フラッシュROM書換終了とともに音を発するブザーを備えたこと
を特徴とする(1)〜(6)の何れか1項に記載のプリンタ。
(8) 前記ブザーは、前記第1のフラッシュROM及び前記第2のフラッシュRO
Mの領域毎に異なる音を発することを特徴とする(7)記載のプリンタ。
(9) 第1メインプログラム領域と第2メインプログラム領域とを備えたフラッシ
ュROMを備えたプリンタにおけるフラッシュROM書換方法であって、
前記第1メインプログラム領域と前記第2メインプログラム領域のうち最も新しく更新
された一方の領域を選択するステップと、
前記一方の領域内の起動プログラムを用いて前記プリンタを起動するステップと、
フラッシュROM書換コマンドに応じて、前記一方の領域内のフラッシュROM書換プ
ログラムを実行して、他方の領域内のデータを書き換えるステップと、を有することを特
徴とするフラッシュROM書換方法。
(10) 前記第1メインプログラム領域と前記第2メインプログラム領域に設けら
れた内部データの更新回数を示す更新回数データの大きいほうが最も新しく更新された前
記一方の領域であると判断されることを特徴とする(10)記載のフラッシュROM書換
方法。
(11) 前記フラッシュROMの書換終了を知らせる音を発するステップを備えた
ことを特徴とする(9)または(10)に記載のフラッシュROM書換方法。
(12) フラッシュROMの領域毎に異なる音を発することを特徴とする(11)
記載のフラッシュROM書換方法。
本発明によれば、第1メインプログラム領域と第2メインプログラム領域のプログラム
は内容が異なるが、何れの領域のメインプログラムを実行してもサブCPU部は動作可能
のである。したがって、本実施形態では、何れか一方のプログラム領域のデータが破損し
た場合であっても、他方のプログラム領域のデータ、すなわちプログラムを実行してサブ
CPU部を起動することにより、プリンタを動作させることが可能である。よって、一方
のメインプログラム領域の書換に失敗した場合であっても、他方のプログラム領域のプロ
グラムを用いてプリンタを起動し動作させることが可能となる。
また、本発明によれば、サブCPU部は、第1メインプログラム及び第2メインプログ
ラムの一方を実行することにより、サブCPU部の再起動を行うことなく通常モードから
フラッシュROM書き換えモードに移行することができる。したがって、第2のフラッシ
ュROMのデータ書換を実行するにあたって、サブCPU部の初期化等の起動処理を行う
必要が無く、速やかに通常モードからフラッシュROM書換モードに移行することが可能
である。
以下、図面を参照しながら、本発明に係るプリンタ及びフラッシュROM書換方法の実
施形態について、詳細に説明を行う。
図1は、本実施形態のプリンタを示す斜視図である。
本実施形態のプリンタ1は、図1に示すように、給紙部3に装填される小切手S(スリ
ップ紙)を筐体1aに形成された用紙搬送路P1に沿って排紙部4まで搬送するとともに
、カード挿入口20から挿入される第2の読み取り媒体であるカードCを同じく筐体1a
に形成された用紙搬送路P2に沿って搬送可能に構成されている。そして、プリンタ1は
、用紙搬送路P1に沿って小切手Sを搬送しながら、小切手S上の画像を読み取り、小切
手Sに印字された磁気文字を読み取り、かつ小切手S上への印字を行うとともに、用紙搬
送路P2に沿ってカードCを搬送しながら、カードC上の画像を読み取ることが可能であ
る。
また、このプリンタ1には、ロール紙収納部25の内部に図示せぬロール紙が収納され
ており、このロール紙に対しても印字が行えるように構成されている。印字されたロール
紙は、ロール紙排出口30から排出される。
このように、本実施形態のプリンタ1は、画像読取装置兼磁気文字読み取り装置兼印字
装置である。
次に、本実施形態のプリンタ1の制御回路について説明を行う。
図2は、プリンタ1の制御回路を示すブロック図である。
本実施形態のプリンタ1は、図2に示すように、主としてロール紙やスリップ紙への印
刷を制御するメインCPU部110と、主として画像読取センサを介してスリップ紙やカ
ードの画像取得を制御するサブCPU部130とを備えている。
メインCPU部110は、メインCPU部110における制御中枢であるCPU111
と、メインCPU部用ファームウェアである各種プログラムを記憶する不揮発性メモリと
してのメイン側フラッシュROM112と、データ一次記憶領域としての揮発性メモリで
あるRAM113と、外部(具体的にはホストコンピュータ)との通信を行うシリアルイ
ンタフェース114と、サブCPU部130との通信を行うメイン側内部インタフェース
115とを有している。
また、メインCPU部110には、スリップ紙への印刷を行うスリップ紙印刷機構12
1とロール紙への印刷を行うロール紙印刷機構122が接続されている。これらの印刷機
構121,122は、メインCPU部110からの指示に応じて動作することにより、ロ
ール紙やスリップ紙Sへの印刷を実行する。
一方、サブCPU部130は、サブCPU部130における制御中枢であるCPU13
1と、サブCPU部用ファームウェアである各種プログラムを記憶する不揮発性メモリで
あるサブ側フラッシュROM132と、データ一次記憶領域としての揮発性メモリである
RAM133と、外部(具体的には、ホストコンピュータ)との通信を行うUSBインタ
フェース134と、メインCPU部110との通信を行うサブ側内部インタフェース13
5と、CPU131からの指示に応じて音を発するブザー138とを有している。
また、サブCPU部130には、スリップ紙SやカードCの画像を読み取る画像読取セ
ンサを備えた画像読取部142が接続されている。画像読取部142は、サブCPU部1
30からの指示に応じて画像読取センサを駆動することにより、スリップ紙SやカードC
をスキャンして、画像情報を取得する。
本実施形態では、プリンタ1は、制御用のホストコンピュータとメインCPU部110
に設けられたシリアルインタフェース114またはサブCPU部130に設けられたUS
Bインタフェース135を介して通信可能に接続される。
また、メインCPU部110とサブCPU部130は、メイン側内部インタフェース1
15とサブ側内部インタフェース134を介して内部バス120によって通信可能に接続
されている。したがって、メインCPU部110とサブCPU部130は、シリアルまた
はUSBの何れのインタフェースを介してホストコンピュータと接続されている場合でも
、ホストコンピュータからのコマンドに応じた処理を実行することが可能である。本実施
形態では、ホストコンピュータから送信されるコマンドは、シリアルインタフェース11
4及びUSBインタフェース135の何れのインタフェースが用いられている場合でも、
メインCPU部110側にてコマンドの受信を行い、CPU111の判断に応じて、必要
な場合にはサブCPU部130にコマンドが転送される。
次に、本実施形態のメイン側フラッシュROM112及びサブ側フラッシュROM13
2について説明を行う。
フラッシュROM112及びサブ側フラッシュROM132は、電気的に記憶の消去及
び書き込みを実行可能な不揮発性メモリであり、それぞれ複数に分割されたセクタ単位で
データを消去し、新たなデータを書き込むことが可能である。なお、フラッシュROMは
フラッシュメモリと呼ばれることもある。
図3は、メイン側フラッシュROM112の内部データ構造を示す図であり、図4は、
サブ側フラッシュROM132の内部データ構造を示す図である。
本実施形態のメイン側フラッシュROM112には、図3に示すように、ブート領域1
12aと、メインプログラム領域112bと、データ格納領域112cと、未使用領域1
12dが記憶領域として確保されている。
ブート領域112aには、プリンタ1のメインCPU部110の起動処理を実行する起
動プログラムと、メインCPU部110に搭載されたメイン側フラッシュROM112内
の各種データを書き換えるフラッシュROM書換プログラムとが記憶されている。CPU
111は、プリンタ1の電源オン時、リセット時にブート領域112a内のデータの起動
プログラムを実行して、プリンタ1の起動処理を行う。ここで、プリンタ1の起動処理に
おいては、RAM113やその他記憶回路のチェック、起動モードの判定等が行われる。
メインプログラム領域112bには、起動プログラムの実行が終了した後に、プリンタ
1を制御するために行われる各種プログラム(以下、メイン側メインプログラム)が保存
されている。このメインプログラム領域112b内のメイン側メインプログラムが実行さ
れることにより、シリアルインタフェース114を介しての通信処理、サブCPU部13
0との通信処理、ホストコンピュータから送信されるコマンド処理、スリップ紙印刷機構
121及びロール紙印刷機構122の制御等が行われる。
データ格納領域112cには、主としてメイン側メインプログラムの実行に必要な各種
設定値が保存されている。メイン側メインプログラムは、ホストコンピュータからのコマ
ンドに応じて、このデータ格納領域112c内の各種設定値を参照しながら、プリンタ1
の制御を実行する。
なお、未使用領域112dは、未使用の領域、またはプリンタ1の通常動作には直接影
響のないデータが保存された領域である。
本実施形態のサブ側フラッシュROM132には、図4に示すように、ブート領域13
2aと、第1メインプログラム領域132bと、第2メインプログラム領域132cと、
データ格納領域132dと、未使用領域132eが記憶領域として確保されている。
ブート領域132aには、プリンタ1のサブCPU部130の起動処理を実行する起動
プログラムが記憶されている。CPU131は、プリンタ1の電源オン時、またはリセッ
ト時にブート領域132a内の起動プログラムを実行して、プリンタ1の起動処理を行う
。この起動処理においては、RAM133やその他記憶回路のチェック等が行われる
第1メインプログラム領域132bには、ブート領域132a内の起動プログラムの実
行が終了した後に、プリンタ1を制御するために実行される各種プログラム(以下、第1
サブ側メインプログラム)が保存されている。この第1メインプログラム領域132b内
の第1サブ側メインプログラムが実行されることにより、USBインタフェース135を
介しての通信処理、メインCPU部110との通信処理、ホストコンピュータから送信さ
れるコマンド処理、画像読取部141の制御等が行われる。
また、第1サブ側メインプログラムには、フラッシュROM書換プログラムが含まれて
いる。このフラッシュROM書換プログラムは、メインCPU部110から送信されるフ
ラッシュROM書換コマンドに応じて実行され、コマンド内容に応じてフラッシュROM
内のプログラムやデータの書換を実行する。このフラッシュROM書換プログラムについ
ては、後ほど詳細に説明する。
第2メインプログラム領域132cには、第1メインプログラム領域132bに保存さ
れた第1サブ側メインプログラムと同等の機能を有する第2サブ側メインプログラムが保
存されている。この第1サブ側メインプログラムと第2サブ側メインプログラムとは、バ
ージョンは異なるがそれぞれサブCPU部130の制御を実行するプログラムであり、実
際の起動時においては、第1サブ側メインプログラムと第2サブ側メインプログラムのう
ちバージョンの新しいほうのプログラムが実行される。この第1サブ側メインプログラム
と第2サブ側メインプログラムについても、後ほど詳細に説明する
データ格納領域132dには、主として第1サブ側メインプログラムまたは第2サブ側
メインプログラムの実行に必要な各種設定値が保存されている。第1サブ側メインプログ
ラムまたは第2サブ側メインプログラムは、ホストコンピュータからのコマンドに応じて
、このデータ格納領域132d内の各種設定値を参照しながら、プリンタ1の制御を実行
する。
なお、未使用領域132eは、未使用の領域、またはプリンタ1の通常動作には直接影
響のないデータが保存された領域である。
次に、図5を参照しながら、第1サブ側メインプログラムと第2サブ側メインプログラ
ムについて説明する。
図5は、第1メインプログラム領域と第2メインプログラム領域の内部構造を示す模式
図である。
図5に示すように、第1メインプログラム領域132bには、第1サブ側メインプログ
ラムとして、プリンタ制御プログラム151と、フラッシュROM書換プログラム152
と、IDデータ153と、更新回数データ154と、チェックサム155とが記憶されて
いる。
また、第2メインプログラム領域132cには、第2サブ側メインプログラムとして、
プリンタ制御プログラム161と、フラッシュROM書換プログラム162と、IDデー
タ163と、更新回数データ164と、チェックサム165とが記憶されている。
プリンタ制御プログラム151及びプリンタ制御プログラム161は、それぞれブート
領域132a内の起動プログラムによる処理終了後に通常実行されるプログラムである。
プリンタ1の各部における通常処理は、プリンタ制御プログラム151及びプリンタ制御
プログラム161の何れか一方によって実行される。
フラッシュROM書換プログラム152と及びフラッシュROM書換プログラム162
は、それぞれメインCPU部110から送信されるフラッシュROM書換コマンドに応じ
て実行されるフラッシュROM書換用プログラムである。
IDデータ153及びIDデータ163は、それぞれ第1メインプログラム領域132
bと第2メインプログラム領域132cとを識別するための識別番号である。
更新回数データ154及び更新回数データ164は、第1メインプログラム領域132
bと第2メインプログラム領域132cのそれぞれが過去において書き換えられて更新さ
れた回数を示すデータである。本実施形態では、それぞれ対応するプログラム領域(第1
メインプログラム領域132bと第2メインプログラム領域132cのいずれか)が書き
換えられると、書き換えられたプログラム領域に対応する更新回数データの数値が2増加
するように構成されている。これにより、常に書き換えられたほうの更新回数データの数
値が、書き換えられなかったプログラム領域に対応する更新回数データの数値よりも大き
くなるように設定されている。
チェックサム155及びチェックサム165は、第1メインプログラム領域132bま
たは第2メインプログラム領域132c内のデータに誤りがないかどうかをチェックする
数字であり、具体的には、それぞれ第1メインプログラム領域132bまたは第2メイン
プログラム領域132cのデータの和である。このチェックサムを確認することによって
第1メインプログラム領域132bまたは第2メインプログラム領域132cから読み出
されたデータが正しいかどうかをチェックすることが可能である。
本実施形態では、サブCPU部130の起動時には、まずブート領域132a内の起動
プログラムが実行され、そしてこの起動プログラムは、第1メインプログラム領域132
bと第2メインプログラム領域132cに書き込まれたプログラムデータを比較し、最も
新しく書き換えられたほうのプログラム領域からプログラムを読み出して、プリンタ1を
制御するように構成されている。
具体的には、起動プログラムは、第1メインプログラム領域132b内の更新回数デー
タ154と、第2メインプログラム領域132c内の更新回数データ164を参照し、更
新回数が多いほうのプログラム領域に記憶されている各種プログラムを実行して、プリン
タ1を起動するように構成されている。
図6は、この起動時におけるプログラムの選択実行の流れを示すフローチャートである

まず、電源オンまたはリセットにより、サブCPU部130が再起動すると、まずブー
ト領域132a内の起動プログラムが実行されて、所定の処理を実行されるとともに、第
1メインプログラム領域132b内のIDデータ153と、第2メインプログラム領域1
32c内のIDデータ163が確認され(ステップS1)、そしてこれらのIDデータが
、規定の値であるかどうか判定される(ステップS2)。
ステップS2において、IDデータ153とIDデータ163の双方が正常値であれば
、ステップS3に移行し、第1メインプログラム領域132bのチェックサム155が正
常であるかどうかが確認され、そしてステップS4にて第2メインプログラム領域132
cのチェックサム165が正常であるかどうか確認される。その結果、チェックサム15
5及びチェックサム165が正常であれば、ステップS5に進む。
一方、チェックサム155のみ正常であればステップS6に進み、チェックサム165
のみ正常であればステップS9に進む(図6では矢印は省略)。なお、双方が異常である
場合には、実行可能なメインプログラムが無いと判断されて、メモリエラーとして異常終
了する。
ステップS5では、第1メインプログラム領域132bの更新回数データ154と第2
メインプログラム領域132cの更新回数データ164が読み出され、更新回数の大小が
比較される(ステップS5)。そして、第1メインプログラム領域132bの更新回数デ
ータ154が、第2メインプログラム領域132cの更新回数データ164以上であれば
ステップS6に移行し、第1メインプログラム領域132bからプログラムデータが読み
出されて実行される。一方、第1メインプログラム領域132bの更新回数データ154
が、第2メインプログラム領域132cの更新回数データ164より小さければステップ
S9に移行し、第2メインプログラム領域132cからプログラムデータが読み出されて
実行される。
また、ステップS2において、IDデータ153のみが正常値であれば、ステップS7
に移行し、第1メインプログラム領域132bのチェックサム155が正常であるかどう
かが確認される。そして、チェックサム155が正常であれば、ステップS6に進み、第
1メインプログラム領域132bからプログラムデータが読み出されて実行される。なお
、チェックサム155が異常である場合には、実行可能なメインプログラムが無いと判断
されて、メモリエラーとして異常終了する。
同様に、ステップS2において、IDデータ163のみが正常値であれば、ステップS
8に移行し、第2メインプログラム領域132cのチェックサム165が正常であるかど
うかが確認される。そして、チェックサム165が正常であれば、ステップS9に進み、
第2メインプログラム領域132cからプログラムデータが読み出されて実行される。な
お、チェックサム165が異常である場合には、実行可能なメインプログラムが無いと判
断されて、メモリエラーとして異常終了する。
このように、本実施形態では、サブCPU部130のフラッシュROM132には、第
1メインプログラム領域132bと第2メインプログラム領域132cの二つのメインプ
ログラム領域が設けられており、これらのメインプログラム領域のうち最も新しいプログ
ラムが書き込まれたプログラム領域中のプログラムを介して、プリンタ1の制御が実行さ
れるように構成されている。
次に、プログラム領域の書換と更新回数データの関係について説明する。
図7は、プログラム領域の書換と更新回数データの関係を示す図である。
図7では、簡単のため、第1メインプログラム領域132bをセクタA、第2メインプ
ログラム領域132cをセクタBとして説明する。工場からの出荷時には、更新回数は、
一方のセクタには「1」、他方のセクタには「0」が格納される。本実施形態では、セク
タAの更新回数を「1」、セクタBの更新回数を「0」とする。
この状態で、プリンタ1が起動されると、更新回数の大きい値を持つセクタA(第1メ
インプログラム領域132b)内のプログラムにしたがってプリンタ制御が実行される。
そして、フラッシュROM書換の場合には、セクタA内に記憶されているフラッシュRO
M書換プログラムが実行されて、セクタB(第2メインプログラム領域132c)内に記
憶されたプログラムを書き換えるとともに、セクタB内の更新回数に2を加えて「2」と
する。
この状態で、プリンタ1が再起動されると、更新回数の大きい値を持つセクタB(第2
メインプログラム領域132c)内のプログラムにしたがってプリンタ制御が実行される
。そして、フラッシュROM書換の場合には、セクタB内に記憶されているフラッシュR
OM書換プログラムが実行されて、セクタA(第1メインプログラム領域132b)内に
記憶されたプログラムを書き換えるとともに、セクタA内の更新回数に2を加えて「3」
とする。
以下、再起動の度に、上述のようにセクタの選択を行うとともに、書換指示に応じて書
換を実行することにより、3回目、4回目のプログラム書換を実行することができる。
このように、本実施形態では、第1メインプログラム領域と第2メインプログラム領域
のうち、現在実行されているプログラム領域中のプログラムにより、他方のプログラム領
域が書き換えられるように構成されている。
次に、図8及び図9に示すフローチャートを用いて、本実施形態におけるフラッシュR
OM書換のフローを説明する。
図8は、メインCPU部110におけるフラッシュROM書換処理のフローであり、図
9は、サブCPU部130におけるフラッシュROM書換処理のフローである。
まず、図8を参照してメインCPU部110におけるメイン側フラッシュROM112
の書換処理について説明する。
プリンタ1は、シリアルインタフェースまたはUSBインタフェースを介してホストコ
ンピュータからフラッシュROM書換モード移行コマンドを受け取ると、フラッシュRO
M書換モード移行コマンドはメインCPU部110に送られ、メインCPU部110のR
AM113内の受信バッファにて受信される(ステップS11)。
次に、メインCPU部110のCPU111は、このフラッシュROM書換モード移行
コマンドを解析してフラッシュROM書換モードへの移行指示を確認すると、メインCP
U部110を再起動させる。そして、ブート領域112aまたはメインプログラム領域1
12bに書き込まれたフラッシュROM書換プログラムを起動し、フラッシュROM書換
モードに移行する(ステップS12)。そして、メインCPU部110は、フラッシュR
OM書換モードに移行すると、サブCPU部130にフラッシュROM書換を実行させる
ため、フラッシュROM書換モード移行コマンドを送信する(ステップS13)。
次に、メインCPU部110のCPU111は、ステップS14に進み、具体的な書換
を指示する書換コマンドをホストコンピュータから受信したかどうかを確認する。そして
、書換コマンドを受信すると、書換コマンドの内容を確認するとともに、データ長、書込
アドレス、書き込みデータ、チェックサムを順次受信し、そして、チェックサムの確認を
行う(ステップS15)。ここで、チェックサムが異常であれば、ホストコンピュータに
送信異常を送信して再送信を促すとともに、ステップS14に戻る。
次に、メインCPU部110のCPU111は、ステップS16にて、受信した書込ア
ドレスを確認する。
そして、書き込みアドレスがサブCPU部130のサブ側フラッシュROM132に対
応するアドレスであれば、サブCPU部130に受信したコマンド及び各種データを転送
する(ステップS18)。
一方、書き込みアドレスがメインCPU部110のメイン側フラッシュROM112に
対応するアドレスであれば、ステップS17に移行して、フラッシュROM書換処理を実
行する。ここでは、まず書き込みアドレスを参照して書き込まれるフラッシュROM中の
セクタを特定し、このセクタに書き込まれるデータをRAM113に展開する。そして、
RAM113中のセクタと受信データのセクタが切り替わるまで、RAM113にデータ
を展開し続け処理を終了する。そして、ステップS14からステップS17までを繰り返
していき、RAM113中のセクタと受信データのセクタが切り替わると、対応するメイ
ン側フラッシュROM112中のセクタ情報を消去し、RAM113に展開されたデータ
をメイン側フラッシュROM112中の対応するセクタに一括書き込みする(ステップS
17)。
一方、ステップS14において、書換コマンドを受信していなかったら、ステップS1
9に移行し、終了コマンドをホストコンピュータから受信したかどうかを確認する。ここ
で、終了コマンドを受信していなければ、ステップS14に戻って、再度書換コマンドの
受信確認を行い、終了コマンドを受信していた場合には、ステップS20に進む。
ステップS20では、まずサブCPU部130に終了コマンドを送信して、コマンド書
換が終了する旨を通知する。
そして、ステップS21に進み、まだメイン側フラッシュROM112に書き込むべき
データがあれば、対応するセクタの消去とデータの一括書き込みを実施する。そして、書
換が行われたセクタのチェックサムの再計算を行い、再計算されたチェックサムを対応す
るセクタに書き込んで終了処理を終了する。
処理の終了後は、メインCPU部110は再起動され、メイン側フラッシュROM11
2書換後のプログラムに基づいて、プリンタ1の制御が実行される。
次に、図9を参照してサブCPU部130のフラッシュROM132の書換処理につい
て説明を行う。
サブCPU部130は、メインCPU部110よりフラッシュROM書換モード移行コ
マンドを受信すると、サブCPU部130の再起動を行うことなく、現時点でプリンタ1
の制御に利用しているメインプログラムに対応するメインプログラム領域(第1メインプ
ログラム領域132bまたは第2メインプログラム領域132c)からフラッシュROM
書換プログラムを読み出して、そのままフラッシュROM書換モードに移行する(ステッ
プS31)。すなわち、本実施形態のサブCPU部130側では、通常モードの一形態と
してフラッシュROM書換モードが存在している。
次に、サブCPU部130のCPU131は、ステップS32に進み、具体的な書換を
指示する書換コマンドをメインCPU部110から受信したかどうかを確認する。そして
、書換コマンドを受信すると、書換コマンドの内容を確認するとともに、データ長、書込
アドレス、書き込みデータ、チェックサムを順次受信し、そして、チェックサムの確認を
行う(ステップS33)。ここで、チェックサムが異常であれば、ホストコンピュータに
送信異常を送信して再送信を促すとともに、ステップS32に戻る。
次に、サブCPU部130は、ステップS34に移行して、フラッシュROM書換処理
を実行する。ここでは、まず書き込みアドレスを参照して書き込まれるサブ側フラッシュ
ROM132中のセクタを特定し、このセクタに書き込まれるデータをRAM133に展
開する。そして、RAM133中のセクタと受信データのセクタが切り替わるまで、RA
M133にデータを展開して処理を終了する。そして、ステップS32からステップS3
4までを繰り返していき、RAM133中のセクタと受信データのセクタが切り替わると
、対応するサブ側フラッシュROM132中のセクタ情報を消去し、RAM133に展開
されたデータをサブ側フラッシュROM132中の対応するセクタに一括書き込みする。
ここで、本実施形態では、2つのメインプログラム領域(第1メインプログラム領域1
32bまたは第2メインプログラム領域)のデータが書き換えられる場合には、現時点で
プリンタ1の制御に利用している第1メインプログラム領域132b及び第2メインプロ
グラム領域の一方に記憶されているのフラッシュROM書換プログラムを用いて、第1メ
インプログラム領域132b及び第2メインプログラム領域の他方に対して、データ書換
処理行うように構成されている。
一方、ステップS32において、書換コマンドを受信していなかったら、ステップS3
5に移行し、終了コマンドをホストコンピュータから受信したかどうかを確認する。ここ
で、終了コマンドを受信していなければ、ステップS32に戻って、再度書換コマンドの
受信確認を行い、終了コマンドを受信していた場合には、ステップS36に進む。
ステップS36では、まだサブ側フラッシュROM132に書き込むべきデータがあれ
ば、サブ側フラッシュROM132中の対応するセクタの消去とデータの一括書き込みを
実施する。そして、CPU131は、書換が行われたセクタのチェックサムの再計算を行
い、再計算されたチェックサムを対応するセクタに書き込んで終了処理を終了する。
ステップ36の終了処理において、CPU131は、フラッシュROM書換の正常終了
とともにブザー138を駆動して、ブザー138から音を発してユーザに書換の正常終了
を通知するようにしてもよい。また、フラッシュROM書換が異常終了した場合には、正
常時とは異なる音色の音を発するようにして、ユーザに異常終了が発生したことを積極的
に通知するように構成してもよい。
また、このブザー138は、サブ側フラッシュROM132の各領域の書換終了時に、
その領域を特定することができるように、領域毎に異なる音を発するように構成してもよ
い。
処理の終了後は、サブCPU部130は再起動を待ち、メイン側の再起動に合わせ、サ
ブ側フラッシュROM132書換後のプログラムに基づいて、プリンタ1の制御が実行さ
れる。
以上の説明からわかるように、本実施形態では、メインCPU部110は、通常モード
からフラッシュROM書換モードに移行し再度通常モードに移行するにあたり、2回の再
起動が必要である。
一方、サブCPU部130は、フラッシュROM132の内部に二つのメインプログラ
ム領域が設けられており、そしてフラッシュROM書換時には、これら二つのメインプロ
グラム領域中の何れか一方の領域中のフラッシュROM書換プログラムを実行して、他方
の領域を書き換える。したがって、本実施形態では、通常モードの一部機能としてフラッ
シュROM書換モードを構成することができ、通常モードからフラッシュROM書換モー
ドに移行するにあたり、サブCPU部130の再起動が不必要であることがわかる。
以上説明したように、本実施形態のプリンタ1は、メインCPU部110と、メインC
PU部110と通信可能に接続されたサブCPU部130と、メインCPU部110上に
配置され、メインCPU部110上で実行される各種メインCPU部用プログラムを記憶
するメイン側フラッシュROM132と、サブCPU部130上に配置され、サブCPU
部130上で実行されるサブCPU部用プログラムを記憶するサブ側フラッシュROM1
32と、を備えている。サブ側フラッシュROM132には、サブCPU部用プログラム
の一つである第1メインプログラムが記憶される第1メインプログラム領域132bと、
サブCPU部用プログラムの一つである第2メインプログラムが記憶される第2メインプ
ログラム領域132cとを有している。そして、サブCPU部130は、第1メインプロ
グラム領域132bと第2メインプログラム領域132cとのうち、最も新しく書き換え
られた領域中のプログラムを実行して、サブCPU部130の制御を実行する。
本実施形態によれば、第1のメインプログラム領域132bと第2のメインプログラム
領域132cのプログラムはバージョンが異なるのみであり、実際には何れの領域のメイ
ンプログラムを実行してもサブCPU部130は動作可能のである。したがって、本実施
形態では、何れか一方のプログラム領域のデータが破損した場合であっても、他方のプロ
グラム領域のデータ、すなわちプログラムを実行してサブCPU部130を起動すること
により、プリンタ1を動作させることが可能である。よって、一方のメインプログラム領
域の書換に失敗した場合であっても、他方のプログラム領域のプログラムを用いてプリン
タ1を起動し動作させることが可能となる。
本実施形態によれば、サブCPU部130は、第1メインプログラム領域132bと第
2メインプログラム領域132cのうち、最も新しく書き換えられた領域中のプログラム
を実行して、サブ側フラッシュROM132のデータ書換を実行する。具体的には、サブ
CPU部130は、第1メインプログラム領域132b及び第2メインプログラム領域1
32cの一方に保存された第1メインプログラム及び第2メインプログラムの一方を実行
して、第1メインプログラム領域132b及び第2メインプログラム領域132cの他方
のデータを書き換えるように構成されている。
この場合、サブCPU部130は、第1メインプログラム及び第2メインプログラムの
一方を実行することにより、サブCPU部の再起動を行うことなく通常モードからフラッ
シュROM書き換えモードに移行することができる。したがって、前記第2のフラッシュ
ROMのデータ書換を実行するにあたって、サブCPU部130の初期化等の起動処理を
行う必要が無く、速やかに通常モードからフラッシュROM書換モードに移行することが
可能である。
また、サブCPU部130側のUSBインタフェース135を介して、ホストコンピュ
ータと接続されているような場合には、サブCPU部130の初期化が為されないため、
USBインタフェース135を介したホストコンピュータとの接続も断絶されることなく
維持される。したがって、各CPU部110,130の初期化に伴いホストコンピュータ
との通信を再確立するための時間も短縮され、効率的にフラッシュROM書換モードに移
行することが可能である。
本実施形態では、具体的には、第1メインプログラム領域132b及び第2メインプロ
グラム領域132cには、それぞれデータ書き換え回数を示す更新回数データ153,1
63が記憶されている。したがって、サブCPU部130は、これらの更新回数データ1
53,163を参照して、最も新しく書き換えられた領域を判別して実行すべきプログラ
ムを選択することが可能である。
また、メインCPU部110は、例えばホストコンピュータからのフラッシュROM書
換コマンド(指示)に応じて、フラッシュROM書換モードに移行するとともに、前記サ
ブCPU部にフラッシュROM書換コマンドを送信する。この場合、メインCPU部11
0は、フラッシュROM書換モードに移行するにともない、再起動が必要である。しかし
ながら、サブCPU部130は、メインCPU部110から受信したフラッシュROM書
換コマンドに応じて、そのままフラッシュROM書換モードに移行することが可能である
ため、サブCPU部130を再起動することない。したがって、サブCPU部130につ
いては、再起動の手間を省きスムーズにフラッシュROM書換を実行することが可能であ
る。
さらに、本実施形態では、フラッシュROM書換終了とともに音を発するブザー138
を備えている。これにより、ユーザは、フラッシュROMの書換が正常に終了したかどう
かをホストコンピュータのディスプレイ等確認することなく書換終了と同時に瞬時に知る
ことが可能となる。
また、ブザー138は、メイン側フラッシュROM112及びサブ側フラッシュROM
132の領域毎に異なる音を発するように構成してもよい。このように構成することによ
って、ユーザは、フラッシュROMの書換が順調に行われていることを確認するとともに
、異常が発生した領域をブザー138が発する音の音色によって瞬時に聞き分けることが
できる。したがって、ユーザは、書換における異常発生時に異常に対してすばやく対処で
きるようになる。
なお、本実施形態では、プリンタ1を例に挙げて説明を行ったが、これに限られること
はなく、2つのCPUを有するプリンタまたは一般の電気機器に対して、上記のような構
成及び手法を適用することも可能である。
また、インタフェースについても、メイン側はシリアルインタフェース、サブ側はUS
Bインタフェースを例に挙げて説明を行ったが、これに限ることはなく、ホストと通信可
能なインタフェースならどれでも同様となる。
本実施形態のプリンタを示す外観斜視図である。 プリンタの制御回路を示すブロック図である。 メイン側フラッシュROMの内部データ構造を示す図である。 サブ側フラッシュROMの内部データ構造を示す図である。 第1メインプログラム領域と第2メインプログラム領域の内部構造を示す模式図である。 起動時におけるプログラムの選択実行の流れを示すフローチャートである。 プログラム領域の書換と更新回数データの関係を示す図である。 メインCPU部におけるフラッシュROM書換処理のフローである。 サブCPU部におけるフラッシュROM書換処理のフローである。
符号の説明
1・・プリンタ 1a・・筐体 P1・・第1用紙搬送路 P2・・第2用紙搬送路 1
10・・メインCPU部 112・・メイン側フラッシュROM 130・・サブCPU
部 132・・サブ側フラッシュROM

Claims (12)

  1. メインCPU部と、
    前記メインCPU部と通信可能に接続されたサブCPU部と、
    前記メインCPU部上に配置され、前記メインCPU部にて実行されるメインCPU部
    用プログラムを記憶する第1のフラッシュROMと、
    前記サブCPU部上に配置され、前記サブCPU部にて実行されるサブCPU部用プロ
    グラムを記憶する第2のフラッシュROMと、を備えたプリンタであって、
    前記第2のフラッシュROMは、前記サブCPU部用プログラムの一つである第1メイ
    ンプログラムが記憶される第1メインプログラム領域と、前記サブCPU部用プログラム
    の一つである第2メインプログラムが記憶される第2メインプログラム領域とを有し、
    前記サブCPU部は、前記第1メインプログラム領域と前記第2メインプログラム領域
    とのうち、最も新しく書き換えられた領域中のプログラムを実行して、前記サブCPU部
    の制御を実行することを特徴とするプリンタ。
  2. 前記サブCPU部は、前記第1メインプログラム領域と前記第2メインプログラム領域
    のうち、最も新しく書き換えられた領域中のプログラムを実行して、前記第2のフラッシ
    ュROMのデータ書換を実行することを特徴とする請求項1記載のプリンタ。
  3. 前記サブCPU部は、前記第1メインプログラム領域及び前記第2メインプログラム領
    域の一方に保存された前記第1メインプログラム及び前記第2メインプログラムの一方を
    実行して、前記第1メインプログラム領域及び前記第2メインプログラム領域の他方のデ
    ータを書き換えることを特徴とする請求項1または2記載のプリンタ。
  4. 前記サブCPU部は、前記第1メインプログラムまたは前記第2メインプログラムを実
    行することにより、前記サブCPU部の再起動を行うことなく通常モードからフラッシュ
    ROM書き換えモードに移行し、前記第2のフラッシュROMのデータ書換を実行するこ
    とを特徴とする請求項1〜3の何れか一項に記載のプリンタ。
  5. 前記第1メインプログラム領域及び前記第2メインプログラム領域には、それぞれデー
    タ書き換え回数を示す更新回数データが保存されており、
    前記サブCPU部は、前記更新回数データを参照して、最も新しく書き換えられた領域
    を判別して、実行すべきプログラムを選択することを特徴とする請求項1〜4の何れか1
    項に記載のプリンタ。
  6. 前記メインCPU部は、フラッシュROM書換指示に応じて、フラッシュROM書換モ
    ードに移行するとともに、前記サブCPU部にフラッシュROM書換コマンドを送信し、
    前記サブCPU部は、前記メインCPU部から受信した前記フラッシュROM書換コマ
    ンドに応じて、前記サブCPU部を再起動することなくフラッシュROM書換モードに移
    行することを特徴とする請求項1〜5の何れか1項に記載のプリンタ。
  7. さらに、フラッシュROM書換終了とともに音を発するブザーを備えたことを特徴とす
    る請求項1〜6の何れか1項に記載のプリンタ。
  8. 前記ブザーは、前記第1のフラッシュROM及び前記第2のフラッシュROMの領域毎
    に異なる音を発することを特徴とする請求項7記載のプリンタ。
  9. 第1メインプログラム領域と第2メインプログラム領域とを有するフラッシュROMを
    備えたプリンタにおけるフラッシュROM書換方法であって、
    前記第1メインプログラム領域と前記第2メインプログラム領域のうち最も新しく更新
    された一方の領域を選択するステップと、
    前記一方の領域内の起動プログラムを用いて前記プリンタを起動するステップと、
    フラッシュROM書換コマンドに応じて、前記一方の領域内のフラッシュROM書換プ
    ログラムを実行して、他方の領域内のデータを書き換えるステップと、を有することを特
    徴とするフラッシュROM書換方法。
  10. 前記第1メインプログラム領域と前記第2メインプログラム領域に設けられた内部デー
    タの更新回数を示す更新回数データの大きいほうが最も新しく更新された前記一方の領域
    であると判断されることを特徴とする請求項9記載のフラッシュROM書換方法。
  11. 前記フラッシュROMの書換終了を知らせる音を発するステップを備えたことを特徴と
    する請求項9または10に記載のフラッシュROM書換方法。
  12. フラッシュROMの領域毎に異なる音を発することを特徴とする請求項11記載のフラ
    ッシュROM書換方法。

JP2004109218A 2004-04-01 2004-04-01 プリンタ Withdrawn JP2005288943A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004109218A JP2005288943A (ja) 2004-04-01 2004-04-01 プリンタ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004109218A JP2005288943A (ja) 2004-04-01 2004-04-01 プリンタ

Publications (1)

Publication Number Publication Date
JP2005288943A true JP2005288943A (ja) 2005-10-20

Family

ID=35322426

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004109218A Withdrawn JP2005288943A (ja) 2004-04-01 2004-04-01 プリンタ

Country Status (1)

Country Link
JP (1) JP2005288943A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017016454A (ja) * 2015-07-02 2017-01-19 セイコーエプソン株式会社 ファームウェア書き換え方法およびプリンター

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017016454A (ja) * 2015-07-02 2017-01-19 セイコーエプソン株式会社 ファームウェア書き換え方法およびプリンター

Similar Documents

Publication Publication Date Title
US7634648B2 (en) Data processing apparatus and control method for a data processing apparatus that temporarily provides a plurality of boot sectors in flash ROM
KR20060092144A (ko) 정보 처리 기기 및 정보 처리 기기의 제어 방법
JP4438048B2 (ja) 周辺装置及びその周辺装置のファームウェア更新方法、プログラム
JP6543122B2 (ja) 情報処理装置と、前記情報処理装置による不揮発記憶装置の初期化方法、及びプログラム
KR20030095359A (ko) 플래시 메모리의 메모리 재기록 제어 시스템, 메모리 재기록 제어 방법, 메모리 재기록 제어 방법의 각 공정을 실행시키는 프로그램을 기록한 정보 기록 매체
US20210255849A1 (en) Information processing apparatus and method
US20080002236A1 (en) Image forming apparatus
JP6639352B2 (ja) 記録装置およびその制御方法、並びにプログラム
JP4784100B2 (ja) 処理装置およびそのファームウェアダウンロード方法。
JP2006243997A (ja) ダウンロードシステム
US20070150072A1 (en) Method for controlling electronic apparatus, program for controlling electronic apparatus, electronic apparatus, and recording apparatus
JP2009151386A (ja) 画像処理装置
JP2005288943A (ja) プリンタ
US6388763B1 (en) Method for processing a ROM image when electrical power supplied to a laser printer has been interrupted
JP4238930B2 (ja) メモリ書き換え制御システム。
JP4062429B2 (ja) メモリ書き換え制御方法及びメモリ書き換え制御方法の各工程を実行させるプログラム
JP5803598B2 (ja) 画像形成装置
JP2001344156A (ja) フラッシュメモリを有する装置およびデータの書き換え方法
JP4681521B2 (ja) プリンタ
JP2003114807A (ja) 電子機器及び本体制御プログラムの書き換え方法
JP4366207B2 (ja) 印刷制御装置、印刷装置、プログラム起動方法、及びプログラム
JP2005293476A (ja) フラッシュメモリ書き換えシステム、フラッシュメモリ書き換え方法及びプログラム
JP2004334443A (ja) ファームウェアダウンロード方法、ファームウェアダウンロードシステム及びファームウェアダウンロードプログラム
JP6638323B2 (ja) 印刷装置、及び印刷装置の制御方法
JP4622325B2 (ja) 画像形成装置および画像形成装置の制御プログラム

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20070605