JP4258579B2 - プログラム書き換え装置 - Google Patents

プログラム書き換え装置 Download PDF

Info

Publication number
JP4258579B2
JP4258579B2 JP36286398A JP36286398A JP4258579B2 JP 4258579 B2 JP4258579 B2 JP 4258579B2 JP 36286398 A JP36286398 A JP 36286398A JP 36286398 A JP36286398 A JP 36286398A JP 4258579 B2 JP4258579 B2 JP 4258579B2
Authority
JP
Japan
Prior art keywords
program
rewrite
normal
rewriting
period
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.)
Expired - Lifetime
Application number
JP36286398A
Other languages
English (en)
Other versions
JP2000187588A (ja
Inventor
孝弘 池田
卓也 白幡
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.)
Nikon Corp
Original Assignee
Nikon 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 Nikon Corp filed Critical Nikon Corp
Priority to JP36286398A priority Critical patent/JP4258579B2/ja
Priority to US09/263,195 priority patent/US6311322B1/en
Publication of JP2000187588A publication Critical patent/JP2000187588A/ja
Application granted granted Critical
Publication of JP4258579B2 publication Critical patent/JP4258579B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、電子機器に内蔵されるプログラム書き換え装置に係り、特に電子機器の動作を制御するプログラムを書き換えるプログラム書き換え装置に関する。
【0002】
【従来の技術】
電子機器の動作を制御するプログラムは、通常、電子機器内に設けられたMASKROM、EPROM、EEPROM、FLASHなどに格納されている。これらのメモリは、読み出し専用のメモリである。しかし、EPROM、EEPROM、FLASHなどは、特別の装置を使用することにより、メモリに格納されたプログラムを電気的に書き換えることができる。電子機器内に設けられたCPUは、前記メモリに格納されたプログラムにしたがって、電子機器内の各部を制御する。
【0003】
最近では、パソコンの周辺機器(スキャナ、プリンタ、モデムなど)やパソコンのマザーボードなどの電子機器において、電子機器における機能追加や電子機器に生じる障害の解消のため、前記メモリに格納されたプログラムを書き換える必要が生じる。この様な場合、電子機器内の前記メモリと更新されたプログラムを格納しているメモリとを交換する手間を省くため、下記の2つの方法が用いられている。
【0004】
(1)プログラムを格納するメモリは、EEPROMやFLASHなどの電気的に書き換え可能なメモリとする。電子機器は、メモリに格納されているプログラムを書き換える場合、パソコンから変更されたプログラムをダウンロードする。次に、電子機器は、電子機器内において、プログラムの書き換えを行う。こうして、電子機器の機能追加や障害の解消が行われる。
【0005】
(2)プログラムのブート部分(通信等の初期化部分)だけが、MASKROMやEPROMに格納されている。電子機器の電源投入時には、パソコンと電子機器との通信機能だけが動作可能になる。電子機器を制御するためのプログラムは、パソコン側において、前記電子機器のドライバソフトを立ち上げる度に、前記通信機能により、電子機器内のRAMにダウンロードされる。そして、CPUは、RAMにダウンロードされたプログラムにしたがって、電子機器内の各部を制御する。電子機器の機能追加や障害の解消をする場合、最新のドライバソフトがパソコンにセットされる。したがって、電子機器は、電子機器を制御するための更新されたプログラムをRAM格納することができる。電子機器は、プログラムを格納しているメモリを交換する必要は無い。こうして、電子機器の機能追加や障害の解消が行われる。
【0006】
上記2つの方法において、機能追加や障害を解消する変更プログラムは、パソコン通信やインターネットのホームページから、通信回線を介してユーザに配布される。したがって、ユーザがメーカに電子機器を送り返したり、ユーザがサービスの窓口まで電子機器を持ち込む必要がない。また、メーカの担当者が電子機器を分解して、メモリを交換する必要がない。
【0007】
【発明が解決しようとする課題】
前記従来技術には、次のような問題点がある。
第1に、前記(1)の方法の場合、プログラムをEEPROMやFLASHに書き込んでいる最中に電源がダウンし、プログラムの書き込みに失敗することがある。さらに、EEPROMやFLASHへの書き込みが、何らかの原因で失敗することがある。この場合、書き換えが途中まで進んでいるプログラムは、書き換え前の部分と書き換え後の部分との間で、プログラムとしての整合が取れない。したがって、プログラムが暴走して、正常に動作しない。
【0008】
上記の状態になった電子機器は、ユーザサイドにおけるプログラムの書き換えが不可能になる。したがって、ユーザがメーカに電子機器を送り返したり、ユーザがサービスの窓口まで電子機器を持ち込む必要がある。また、メーカの担当者が電子機器を分解して、メモリを交換する必要がある。
第2に、前記(2)の方法の場合、MASKROMやEPROMに書き込まれているブート部分のプログラムは、パソコンからのダウンロードでは書き換えることができない。したがって、機能追加や障害の解消がブート部分のプログラムに生じた場合、ユーザがメーカに電子機器を送り返したり、サービスの窓口まで電子機器を持ち込む必要がある。また、メーカの担当者が電子機器を分解して、メモリを交換する必要がある。
【0009】
本発明の目的は、プログラムの書き換え中に電源が切れてしまったり、なんらかの原因でプログラムの書き換えに失敗した場合、ユーザが、再度書き換えを実行することが可能なプログラム書き換え装置を提供することにある。
本発明の他の目的は、ユーザが、プログラムのどの部分でも、書き換えすることが可能なプログラム書き換え装置を提供することにある。
【0010】
【課題を解決するための手段】
請求項1に記載のプログラム書き換え装置は、通常プログラムを記憶する通常プログラム記憶部と書き換えプログラムを記憶する書き換えプログラム記憶部とを含むフラッシュメモリと、制御手段とを有する。通常プログラムは、プログラム書き換え装置を内蔵した電子機器本体の各部の動作を制御する制御手順と、書き換えプログラムを外部装置から受信する受信手順と、受信した書き換えプログラムを書き換えプログラム記憶部に上書きする上書き手順とを示す。書き換えプログラムは、通常プログラムを外部装置から受信する受信手順と、受信した通常プログラムを通常プログラム記憶部に上書きする上書き手順とを示す。制御手段は、第1期間にて、書き換えプログラムの受信手順と上書き手順とに基づいて、通常プログラムを外部装置から受信し、受信した通常プログラムを通常プログラム記憶部に上書きする。そして、制御手段は、通常プログラムの上書きが完了することに応答して通常プログラム更新記録をフラッシュメモリに設定する。また、制御手段は、第1期間と異なる第2期間にて、通常プログラムの受信手順と上書き手順とに基づいて、書き換えプログラムを外部装置から受信し、受信した書き換えプログラムを書き換えプログラム記憶部に上書きする。そして、制御手段は、書き換えプログラムの書き換えプログラム記憶部への上書きが完了することに応答して書き換えプログラム更新記録をフラッシュメモリに設定する。そして、制御手段は、外部装置からの書き換え命令の受信に応答して、第1期間の処理を実行した後に第2期間の処理を実行する。また、制御手段は、第1期間から第2期間までの一連の処理のうちの少なくとも一部の処理が行われた後において、電子機器本体の電源投入時に通常プログラム更新記録の設定有無を判断する。制御手段は、通常プログラム更新記録が設定されていないと判断した場合、書き換えプログラムの受信手順と上書き手順とに基づいて、第1期間および第2期間と異なる第3期間に通常プログラムを外部装置から受信するとともに、受信した通常プログラムを通常プログラム記憶部に上書きする。そして、制御手段は、通常プログラムの上書きが完了することに応答して、通常プログラム更新記録をフラッシュメモリに設定する。また、制御手段は、電子機器の電源投入時において、通常プログラム更新記録が設定されていると判断された後、または、通常プログラム更新記録が設定されていないと判断されて第3期間の処理がされた後に、書き換えプログラム更新記録の設定有無を判断する。制御手段は、書き換えプログラム更新記録が設定されていないと判断した場合、通常プログラムに基づいて、第1期間第2期間および第3期間と異なる第4期間に書き換えプログラムを外部装置から受信するとともに、受信した書き換えプログラムを書き換えプログラム記憶部に上書きする。そして、制御手段は、書き換えプログラムの書き換えプログラム記憶部への上書きが完了することに応答して、書き換えプログラム更新記録をフラッシュメモリに設定する。さらに制御手段は、電子機器の電源投入時に通常プログラム更新記録および書き換えプログラム更新記録が設定されていると判断した場合には、通常プログラムの制御手順を実行する。

【0015】
(作用)
請求項1に記載のプログラム書き換え装置によれば、フラッシュメモリには、通常プログラム記憶部と書き換えプログラム記憶部とが含まれる。通常プログラム記憶部に記憶される通常プログラムは、プログラム書き換え装置を内蔵した電子機器本体の各部の動作を制御する制御手順と、書き換えプログラムを外部装置から受信する受信手順と、受信した書き換えプログラムを書き換えプログラム記憶部に上書きする上書き手順とを示す。書き換えプログラム記憶部に記憶される書き換えプログラムは、通常プログラムを外部装置から受信する受信手順と、受信した通常プログラムを通常プログラム記憶部に上書きする上書き手順とを示す。制御手段は、第1期間にて、書き換えプログラムの受信手順と上書き手順とに基づいて、通常プログラムを外部装置から受信し、受信した通常プログラムを通常プログラム記憶部に上書きする。また、制御手段は、第1期間と異なる第2期間にて、通常プログラムの受信手順と上書き手順とに基づいて、書き換えプログラムを外部装置から受信し、受信した書き換えプログラムを書き換えプログラム記憶部に上書きする。そして、制御手段は、第1期間の処理および第2期間の処理を、一方の処理後に他方の処理を順次実行する。
【0016】
したがって、請求項1記載のプログラム書き換え装置によれば、外部装置から受信した通常プログラムが、第1期間に、通常プログラム記憶部に上書きされる。また、第2期間に、外部装置から受信した書き換えプログラムが書き換えプログラム記憶部に上書きされる。
そのため、第1期間において、プログラム書き換え装置を内蔵する電子機器の電源が切れてしまうなどの原因により、通常プログラム記憶部の上書きに失敗した場合であっても、従来装置で起こったトラブルが発生しない。すなわち上述の場合、書き換えプログラム記憶部に格納されている書き換えプログラムは破損していない。従って、電子機器は書き換えプログラムにより外部装置から通常プログラムを受信することが可能になる。そして、受信した通常プログラムが、通常プログラム記憶部に上書きされることが実現される。
【0017】
また、第2期間において、プログラム書き換え装置を内蔵する電子機器の電源が切れてしまうなどの原因により、書き換えプログラム記憶部の上書きに失敗した場合であっても、従来装置で起こったトラブルが発生しない。すなわち上述の場合、通常プログラム記憶部に格納されている通常プログラムは破損していない。従って、電子機器は通常プログラムにより外部装置から書き換えプログラムを受信することが可能になる。そして、受信した書き換えプログラムが、書き換えプログラム記憶部に上書きされることが実現される
【0018】
また、請求項1記載のプログラム書き換え装置は、通常プログラムも書き換えプログラムも書き換えることができる。請求項に記載のプログラム書き換え装置によれば、制御手段は、通常プログラムの上書きが完了することに応答して、通常プログラム更新記録を設定する。したがって、請求項記載のプログラム書き換え装置は、通常プログラム更新記録を参照することにより、通常プログラム記憶部の書き換えが完了したか否かを確認することができる。
【0019】
請求項に記載のプログラム書き換え装置によれば、制御手段は、電子機器本体の電源投入時に通常プログラム更新記録が設定されていないと判断した場合、書き換えプログラムの受信手順と上書き手順とに基づいて、通常プログラム記憶部の上書きを実行する。
したがって、請求項記載のプログラム書き換え装置は、通常プログラム記憶部が更新されていないと判断された場合、外部装置から通常プログラムを受信して、通常プログラム記憶部の上書きを実行できる。
【0021】
請求項に記載のプログラム書き換え装置によれば、制御手段は、書き換えプログラムの書き換えプログラム記憶部への上書きが完了することに応答して、書き換えプログラム更新記録を設定する。
【0022】
したがって、請求項記載のプログラム書き換え装置は、書き換えプログラム更新記録を参照することにより、書き換えプログラム記憶部の書き換えが完了したか否かを確認することができる。
請求項に記載のプログラム書き換え装置によれば、制御手段は、電子機器本体の電源投入時に書き換えプログラム更新記録の設定有無を判断し、書き換えプログラム更新記録が設定されていないと判断した場合、通常プログラムに基づいて、書き換えプログラムを外部装置から受信し、受信した書き換えプログラムを書き換えプログラム記憶部に上書きすることができる。
【0024】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して説明する。以下に説明する実施の形態は、フィルムスキャナのFLASHメモリ(以下FLASHとする)に格納されたプログラムの書き換え動作を例にしている。FLASHに格納されたプログラムは、フィルムスキャナのCPUによって実行され、フィルムスキャナの各部の動作を制御する。また、以下に説明する実施の形態は、前記全ての請求項に対応する。
【0025】
図1は、フィルムスキャナ20とパソコン30とから構成される画像読取システムの一例を示すブロック図である。図1に示すように、フィルムスキャナ20は、SCSIインタフェース2を通してパソコン30と接続されている。パソコン30は、モニタ31と操作部32を備えている。モニタ31は、パソコン30の指示により表示をするものであり、CRTや液晶ディスプレイから成る。操作部32は、キーボードやマウス等の入力機器である。
【0026】
フィルムスキャナ20のCPU1は、パソコン30からの指示をSCSIインタフェース2を通して受けて、フィルムスキャナ20の各部を制御する。ここで、CPU1は、FLASH3に格納されているプログラムに基づいて、処理を行う。また、RAM4は、CPU1が処理を行うときに、データを一時的に格納するメモリである。
【0027】
LED駆動回路5は、CPU1により制御され、LED光源11を駆動する。LED光源11は、フィルム原稿17を照明する。LED光源11から発せられる光は、図示するように、レンズ12により集光され、CCD13に到達する。CCD13の結像面には、フィルム原稿17の画像が結像する。CCD13は、フィルム原稿17上の画像を電気的な画像信号に変換する。ここで、CCD駆動回路6は、CPU1により制御され、CCD13を駆動する回路である。
【0028】
また、フィルム原稿17は、カートリッジ15からの送り出しと巻取りが可能である。すなわち、原稿駆動モータ駆動回路9は、CPU1により制御され、原稿駆動モータ16を駆動する。ここで、CPU1が、原稿駆動モータ16の回転方向や回転速度を制御することにより、フィルム原稿17の送り出しや巻き取りが可能になる。また、フィルム原稿17の位置は、CPU1が、原稿位置センサ14から出力される信号に基づいて検出する。
【0029】
CCD13は、フィルム原稿17上の画像を電気的な画像信号に変換する。CCD13から出力される画像信号は、信号処理回路7に入力される。
信号処理回路7は、CPU1により制御され、入力された画像信号に各種の信号処理を行い、A/D変換器8に出力する。
A/D変換器8は、CPU1により制御され、入力された画像信号をディジタル信号に変換する。
【0030】
A/D変換器8から出力された画像信号は、RAM4に記憶される。
RAM4に記憶された画像信号は、SCSIインタフェース2を通してパソコン30に出力される。パソコン30は画像信号を受け取り、モニタ31に表示する。
図2は、図1に示すFLASH3の記憶内容を示す説明図である。図2に示すように、FLASH3は、5つのプログラム領域(P1〜P5)を有している。
【0031】
ベクタ領域P1は、各プログラム領域(P1,P2〜P5)の先頭アドレス、最終アドレスなどを格納している。
状態判別プログラムP2は、フラグ領域P3を参照して、プログラムの書き換えの進行状態を判別する。
フラグ領域P3は、プログラムの書き換えの進行状態を示す複数のフラグを備える。具体的には、フラグ領域P3は、特許請求の範囲に記載する通常プログラム更新記録を示すフラグ(以下に説明する実施の形態では、通常プログラム更新フラグと称する)を格納し、また、特許請求の範囲に記載する書き換えプログラム更新記録を示すフラグ(以下に説明する実施の形態では、書き換えプログラム更新フラグと称する)を格納する。
【0032】
書き換えプログラムP4は、パソコン30と簡易通信するときに用いられる書き換え動作用簡易通信プログラムと、FLASH書き換え動作制御プログラムとを備える。
通常プログラムP5は、パソコン30との通信プログラムとFLASH書き換え動作制御プログラムとフィルムスキャナ20内の各部を制御するための制御プログラムを備える。
【0033】
以上の構成において、特許請求の範囲に記載する書き換えプログラム記憶部は、図示するように、書き換えプログラムP4を記憶する記憶領域に相当する。
また、特許請求の範囲に記載する通常プログラム記憶部は、図示するように、通常プログラムP5を記憶する記憶領域に相当する。
【0034】
また、特許請求の範囲に記載する制御手段は、FLASH3に格納されたプログラムに基づいて、CPU1が実行する。
図3及び図4は、FLASH3の書き換え処理を示すフローチャートである。なお、図3及び図4に示すフローチャートは、CPU1が、FLASH3に格納されているプログラムにしたがって実行する。また、図3に示す各ステップS1〜S13は、図2に示す書き換えプログラムP4及び通常プログラムP5に基づいて実行される。具体的には、ステップS1,S2,S10,S11,S12,S13は、図2に示す通常プログラムP5に基づいて実行される。また、ステップS3〜S9は、図2に示す書き換えプログラムP4に基づいて実行される。
【0035】
また、図3及び図4は、書き換えプログラム更新フラグと通常プログラム更新フラグが各ステップにおいて順次変化する状態を示す。書き換えプログラム更新フラグと通常プログラム更新フラグは、図2に示すフラグ領域P3に格納されるものである。以下、図3及び図4に示すフローチャートについて説明する。
ステップS1において、CPU1は、FLASH3に格納されている通常プログラムP5の通信機能に基づいて、パソコン30から送信されたプログラム書き換え命令を受信する。
【0036】
ステップS2において、CPU1は、FLASH3に格納されている通常プログラムP5の制御プログラムに基づいて、FLASH3の読み出しアドレスを書き換えプログラムP4の先頭アドレスにジャンプさせる。
ステップS3において、CPU1は、FLASH3に格納されている書き換えプログラムP4内のFLASH書き換え動作制御プログラムに基づいて、フラグ領域P3に格納されている書き換えプログラム更新フラグを1にセットする。
【0037】
なお、書き換えプログラム更新フラグは、図2に示す書き換えプログラムP4と通常プログラムP5の両方が書き換えられたか否かを示すフラグである。書き換えプログラム更新フラグが0のときは、書き換えプログラムP4と通常プログラムP5が上書きされたことを意味する。書き換えプログラム更新フラグが1のときは、前記上書きを実行中であるか、又は何らかの原因で前記上書きに失敗したことを意味する。
【0038】
ステップS4において、CPU1は、FLASH3に格納されている書き換えプログラムP4内のFLASH書き換え動作制御プログラムに基づいて、フラグ領域P3に格納されている通常プログラム更新フラグを0にセットする。
なお、通常プログラム更新フラグは、図2に示す通常プログラムP5が、パソコン30から受信した更新プログラムによって、上書きされたか否かを示すフラグである。通常プログラム更新フラグが1のときは、上書きが完了したことを意味する。また、書き換えプログラム更新フラグが0のときは、前記上書きの実行中の状態にあるか、又は何らかの原因で前記上書きに失敗したことを意味する。
【0039】
次に、ステップS5において、CPU1は、FLASH3に格納されている書き換えプログラムP4内の書き換え動作用簡易通信プログラムに基づいて、パソコン30からSCSIインタフェース2を介して新たな通常プログラムの受信を開始する。受信する新たな通常プログラムは、図2に示す通常プログラムP5を更新するものである。
【0040】
ステップS6において、CPU1は、FLASH3に格納されている書き換えプログラムP4内のFLASH書き換え動作制御プログラムに基づいて、受信した通常プログラムをFLASH3の通常プログラム記憶部(図2参照)に上書きする。
ステップS7において、CPU1は、FLASH3に格納されている書き換えプログラムP4内のFLASH書き換え動作制御プログラムに基づいて、ステップ6における上書きが終了したか否かを判断する。CPU1は、上書きが終了するまで、前記判断する状態を維持する。CPU1は、上書きが終了したと判断したとき、処理をステップS8に進める。
【0041】
なお、図3において、特許請求の範囲に記載する第1期間は、前記ステップS4〜S7に相当する。
ステップS8において、CPU1は、FLASH3に格納されている書き換えプログラムP4のFLASH書き換え動作制御プログラムに基づいて、フラグ領域P3に格納されている通常プログラム更新フラグを1にセットする。
【0042】
ステップS9において、CPU1は、FLASH3に格納されている書き換えプログラムP4のFLASH書き換え動作制御プログラムに基づいて、FLASH3の読み出しアドレスを通常プログラムP5の先頭アドレスにジャンプさせる。これにより、フィルムスキャナ20の制御は、パソコン30との通信を含めて、書き換えプログラムP4から更新された通常プログラムP5に移行する。
【0043】
ステップS10において、CPU1は、FLASH3に格納されている上書きされた通常プログラムP5の通信プログラムに基づいて、パソコン30に対して、更新用の書き換えプログラムをフィルムスキャナ20に送信する旨の命令を送信する。
ステップS11において、CPU1は、FLASH3に格納されている上書きされた通常プログラムP5のFLASH書き換え動作制御プログラムに基づいて、受信した更新用の書き換えプログラムをFLASH3の書き換えプログラム記憶部(図2参照)に上書きする。
【0044】
ステップS12において、CPU1は、FLASH3に格納されている上書きされた通常プログラムP5のFLASH書き換え動作制御プログラムに基づいて、ステップS11における上書きが終了したか否かを判断する。CPU1は、上書きが終了するまで、前記判断する状態を維持する。CPU1は、上書きが終了したと判断したとき、処理をステップS13に進める。
【0045】
なお、図3において、特許請求の範囲に記載する第2期間は、前記ステップS11〜S12に相当する。
ステップS13において、FLASH3に格納されている上書きされた通常プログラムP5のFLASH書き換え動作制御プログラムに基づいて、フラグ領域P3に格納されている書き換えプログラム更新フラグを0にセットする。
【0046】
図3及び図4から明らかなように、FLASH3の更新が成功した場合には、(書き換えプログラム更新フラグ,通常プログラム更新フラグ)は、(0,1)の状態になる。したがって、(書き換えプログラム更新フラグ、通常プログラム更新フラグ)が、(1,1)、及び(1,0)の状態のときには、プログラムの更新が異常終了したことを意味する。なお、図3及び図4から明らかなように、(書き換えプログラム更新フラグ、通常プログラム更新フラグ)が、(0,0)にセットされることはない。
【0047】
図5及び図6は、図1に示すフィルムスキャナ20の初期化時(電源投入時など)の動作を示すフローチャートである。図5及び図6に示すフローチャートは、CPU1がFLASH3に格納されているプログラムにしたがって実行する。具体的には、ステップS21は、図2に示すベクタ領域P1のプログラムにしたがって実行される。また、ステップS22,S23,S24は、図2に示す状態判別プログラムP2にしたがって実行される。また、ステップS25〜S31は、図2に示す書き換えプログラムP4にしたがって実行される。また、ステップS32〜S38は、図2に示す通常プログラムP5にしたがって実行される。
【0048】
また、図5及び図6は、書き換えプログラム更新フラグと通常プログラム更新フラグが各ステップにおいて順次変化する状態を示す。書き換えプログラム更新フラグと通常プログラム更新フラグは、前記したように図2に示すフラグ領域P3に格納されるものである。なお、図中、マーク*は、フラグが1であるか0であるかの判断が行われていない状態を示す。
【0049】
以下、図5及び図6に示すフローチャートに基づいて、初期化時の動作について説明する。図5及び図6に示すフローチャートは、電源の投入などに起因するフィルムスキャナ20の初期化によって開始する。
ステップS21において、CPU1は、図2に示すベクタ領域P1のプログラムに基づいて、FLASH3の読み出しアドレスを状態判別プログラムP2の先頭アドレスにジャンプさせる。
【0050】
ステップS22において、CPU1は、状態判別プログラムP2に基づいて、通常プログラム更新フラグが1か否かを判断する。ここで、通常プログラム更新フラグが1であれば、前回のプログラムの書き換え動作において、通常プログラムP5の上書きは、正常に終了している。通常プログラム更新フラグが1でない場合には、前回のプログラムの書き換え動作において、通常プログラムP5の上書きは、正常に終了していない。CPU1は、通常プログラム更新フラグを1(正常終了)と判断した場合、処理をステップS23へ進める。CPU1は、通常プログラム更新フラグを1ではないと判断した場合、処理をステップS24へ進める(図6参照)。ここでは、通常プログラム更新フラグが1であり、ステップS23に進むものとして説明を続ける。
【0051】
ステップS23において、CPU1は、状態判別プログラムP2に基づいて、FLASH3の読み出しアドレスを通常プログラムP5の先頭アドレスにジャンプさせる。
ステップS32において、CPU1は、通常プログラムP5の制御プログラムに基づいて、書き換えプログラム更新フラグが0か否かを判断する。ここで、書き換えプログラム更新フラグが0と判断された場合、前回の書き換え動作において、書き換えプログラムP4が正常に上書きされている。書き換えプログラム更新フラグが0ではないと判断された場合、前回の書き換え動作において、書き換えプログラムP4は正常に上書きされていない。すなわち、上書きは何らかの原因で失敗している。CPU1は、書き換えプログラム更新フラグが0でない場合、処理をステップS33に進める。
【0052】
ステップS33において、CPU1は、FLASH3に格納されている通常プログラムP5の通信プログラムに基づいて、パソコン30に対して、更新用の書き換えプログラムをフィルムスキャナ20に送信する旨の命令を送信する。
ステップS34において、CPU1は、FLASH3に格納されている通常プログラムP5のFLASH書き換え動作制御プログラムに基づいて、受信した更新用の書き換えプログラムをFLASH3の書き換えプログラム記憶部(図2参照)に上書きする。
【0053】
ステップS35において、CPU1は、FLASH3に格納されている通常プログラムP5のFLASH書き換え動作制御プログラムに基づいて、ステップS34における上書きが終了したか否かを判断する。CPU1は、上書きが終了するまで、前記判断する状態を維持する。CPU1は、上書きが終了したと判断したとき、処理をステップS36に進める。
【0054】
ステップS36において、FLASH3に格納されている通常プログラムP5のFLASH書き換え動作制御プログラムに基づいて、フラグ領域P3に格納されている書き換えプログラム更新フラグを0にセットする。その後、CPU1は、通常プログラムP5の制御プログラムに基づいて、処理をステップS37に進める。
【0055】
また、前記したステップS32において、書き換えプログラム更新フラグが0であると判断された場合、CPU1は、ステップS33〜S36の処理を行うことなく、処理をステップS37に進める。
ステップS37において、CPU1は、通常プログラムP5の制御プログラムに基づいて、フィルムスキャナ20の機構系および電気回路系の初期化動作を実行する。
【0056】
ステップS38において、CPU1は、通常プログラムP5の制御プログラムに基づいて、ステップS37における初期化動作が終了したか否かを判断する。CPU1は、初期化動作が終了するまで、前記判断する状態を維持する。CPU1は、初期化動作が終了したと判断したとき、処理を終了する。
【0057】
また、前記したように、ステップS22において、CPU1は、通常プログラム更新フラグを1ではないと判断した場合、処理をステップS24(図6参照)へ進める。
ステップS24において、CPU1は、状態判別プログラムP2に基づいて、FLASH3の読み出しアドレスを書き換えプログラムP4の先頭アドレスにジャンプさせる。
【0058】
ステップS25において、CPU1は、FLASH3に格納されている書き換えプログラムP4内のFLASH書き換え動作制御プログラムに基づいて、フラグ領域P3に格納されている書き換えプログラム更新フラグを1にセットする。ステップS27において、CPU1は、書き換えプログラムP4内の書き換え動作用簡易通信プログラムに基づいて、パソコン30に対して更新用の通常プログラムの送信を命令する。続いて、CPU1は、書き換えプログラムP4内の書き換え動作用簡易通信プログラムに基づいて、パソコン30からSCSIインタフェース2を介して更新用の通常プログラムの受信を開始する。受信する通常プログラムは、図2に示す通常プログラムP5を更新するものである。
【0059】
ステップS28において、CPU1は、書き換えプログラムP4内のFLASH書き換え動作制御プログラムに基づいて、受信した更新用の通常プログラムをFLASH3に上書きする。上書きする領域は、通常プログラム記憶部(図2参照)である。
ステップS29において、CPU1は、FLASH3に格納されている書き換えプログラムP4内のFLASH書き換え動作制御プログラムに基づいて、ステップS28における上書きが終了したか否かを判断する。CPU1は、上書きが終了するまで、前記判断する状態を維持する。CPU1は、上書きが終了したと判断したとき、処理をステップS30に進める。
【0060】
ステップS30において、CPU1は、書き換えプログラムP4のFLASH書き換え動作制御プログラムに基づいて、フラグ領域P3に格納されている通常プログラム更新フラグを1にセットする。
ステップS31において、CPU1は、書き換えプログラムP4のFLASH書き換え動作制御プログラムに基づいて、FLASH3の読み出しアドレスを上書きされた通常プログラムP5の先頭アドレスにジャンプさせる。次に、CPU1は、前記FLASH書き換え動作制御プログラムに基づいて、処理をステップS32に進める。以後の処理は、前記したとおりである。
【0061】
前記した実施の形態においては、FLASHを例にして説明した。しかし、本発明はこれに限定されるものではなく、電気的に消去、書き込み、上書きができるメモリであれば適用することができる。
また、前記した実施の形態において、第1期間における通常プログラムの上書きと第2期間における書き換えプログラムの上書きは、どちらが先に行われても良い。
【0062】
また、前記した実施の形態においては、フィルムスキャナとパソコンのシステムを例にして説明した。しかし、本発明はこれに限定されるものではなく、外部装置からプログラムを受信するシステムであれば適用することができる。
以上の説明から明らかなように、前記実施の形態によれば、書き換え機能を有する2つのプログラムをFLASHの異なる領域に格納し、かつ2つのフラグを用いてプログラムの書き換え状態を検出する。そのため、前記実施の形態によれば、FLASHに格納しているプログラムの書き換えに失敗を容易に検出することができる。また、ユーザは、プログラムの書き換えに失敗した場合、再度、書き換えを実行することが可能になる。
【0063】
また、前記実施の形態によれば、書き換えプログラム記憶部(P4の記憶領域)及び通常プログラム記憶部(P5の記憶領域)の両方を異なるタイミングで書き換えることができる。そのため、前記実施の形態によれば、パソコン側から通信機能の追加や、障害の解消を行うことができる。
【0064】
【発明の効果】
請求項1に記載のプログラム書き換え装置は、書き換えプログラム記憶部に格納されている書き換えプログラムを第1期間に起動する。したがって、請求項1記載のプログラム書き換え装置は、第1期間に、外部装置から通常プログラムを受信し、受信した通常プログラムを通常プログラム記憶部に上書きする。
【0065】
また、請求項1に記載のプログラム書き換え装置は、通常プログラムを第2期間に起動する。したがって、請求項1記載のプログラム書き換え装置は、第2期間に、起動された通常プログラムに基づいて、外部装置から書き換えプログラムを受信し、受信した書き換えプログラムを書き換えプログラム記憶部に上書きする。
【0066】
したがって、請求項1記載のプログラム書き換え装置によれば、書き換えプログラム記憶部の上書きと通常プログラム記憶部の上書きが、異なるタイミングで実行される。そのため、請求項1記載のプログラム書き換え装置は、プログラムの書き換え中に電源が切れてしまったり、なんらかの原因でプログラムの書き換えに失敗した場合、再度書き換えを実行できる。
【0067】
また、請求項1記載のプログラム書き換え装置は、通常プログラムも書き換えプログラムも書き換えすることができる。
請求項に記載のプログラム書き換え装置によれば、通常プログラム更新記録を参照することにより、通常プログラム記憶部の書き換えが完了したか否かを確認することができる。
【0068】
請求項に記載のプログラム書き換え装置によれば、通常プログラム記憶部が更新されていないと判断された場合、外部装置から通常プログラムを受信して、通常プログラム記憶部の上書きを実行することができる。
【0070】
請求項記載のプログラム書き換え装置によれば、書き換えプログラム更新記録を参照することにより、書き換えプログラム記憶部の書き換えが完了したか否かを確認することができる。
請求項に記載のプログラム書き換え装置によれば、制御手段は、書き換えプログラム更新記録が設定されていないと判断した場合、通常プログラムに基づいて、書き換えプログラムを外部装置から受信し、受信した書き換えプログラムを書き換えプログラム記憶部に上書きすることができる。
【図面の簡単な説明】
【図1】フィルムスキャナとパソコンとから構成される画像読取システムの一例を示すブロック図。
【図2】図1に示すFLASHの記憶内容を示す説明図。
【図3】FLASHの書き換え処理を示すフローチャート。
【図4】FLASHの書き換え処理を示すフローチャート。
【図5】図1に示すフィルムスキャナ初期化時の動作を示すフローチャート。
【図6】図1に示すフィルムスキャナ初期化時の動作を示すフローチャート。
【符号の説明】
1 CPU
2 SCSIインタフェース
3 フラッシュメモリ
4 RAM
5 LED駆動回路
6 CCD駆動回路
7 信号処理回路
8 A/D変換器
9 原稿駆動モータ駆動回路
11 LED光源
12 レンズ
13 CCD
14 原稿位置センサ
15 カートリッジ
16 原稿駆動モータ
17 フィルム原稿
20 フィルムスキャナ
30 パソコン
31 モニタ
32 操作部
P1 ベクタ領域
P2 状態判別プログラム
P3 フラグ領域
P4 書き換えプログラム
P5 通常プログラム

Claims (1)

  1. 通常プログラムを記憶する通常プログラム記憶部と書き換えプログラムを記憶する書き換えプログラム記憶部とを含むフラッシュメモリと、
    制御手段とを有し、
    前記通常プログラムは、プログラム書き換え装置を内蔵した電子機器本体の各部の動作を制御する制御手順と、前記書き換えプログラムを外部装置から受信する受信手順と、受信した前記書き換えプログラムを前記書き換えプログラム記憶部に上書きする上書き手順とを示し、
    前記書き換えプログラムは、前記通常プログラムを外部装置から受信する受信手順と、受信した前記通常プログラムを前記通常プログラム記憶部に上書きする上書き手順とを示し、
    前記制御手段は、
    第1期間にて、書き換えプログラムの受信手順と上書き手順とに基づいて、前記通常プログラムを外部装置から受信し、受信した前記通常プログラムを前記通常プログラム記憶部に上書きし、前記通常プログラムの上書きが完了することに応答して、通常プログラム更新記録を前記フラッシュメモリに設定し、
    前記第1期間と異なる第2期間にて、前記通常プログラムの受信手順と上書き手順とに基づいて、前記書き換えプログラムを外部装置から受信し、受信した前記書き換えプログラムを前記書き換えプログラム記憶部に上書きし、前記書き換えプログラムの前記書き換えプログラム記憶部への上書きが完了することに応答して、書き換えプログラム更新記録を前記フラッシュメモリに設定し、
    記外部装置からの書き換え命令の受信に応答して、前記第1期間の処理を実行した後に前記第2期間の処理を実行し、
    前記第1期間から前記第2期間までの一連の処理のうちの少なくとも一部の処理が行われた後において、前記電子機器本体の電源投入時に前記通常プログラム更新記録の設定有無を判断し、前記通常プログラム更新記録が設定されていないと判断した場合、前記書き換えプログラムの受信手順と上書き手順とに基づいて、前記第1期間および前記第2期間と異なる第3期間に前記通常プログラムを外部装置から受信するとともに、受信した前記通常プログラムを前記通常プログラム記憶部に上書きし、前記通常プログラムの上書きが完了することに応答して、通常プログラム更新記録を前記フラッシュメモリに設定し、
    前記電子機器の電源投入時において、前記通常プログラム更新記録が設定されていると判断された後、または、前記通常プログラム更新記録が設定されていないと判断されて前記第3期間の処理がされた後に、前記書き換えプログラム更新記録の設定有無を判断し、前記書き換えプログラム更新記録が設定されていないと判断した場合、前記通常プログラムに基づいて、前記第1期間前記第2期間および前記第3期間と異なる第4期間に前記書き換えプログラムを外部装置から受信するとともに、受信した前記書き換えプログラムを前記書き換えプログラム記憶部に上書きし、前記書き換えプログラムの前記書き換えプログラム記憶部への上書きが完了することに応答して、書き換えプログラム更新記録を前記フラッシュメモリに設定し、
    前記電子機器の電源投入時に前記通常プログラム更新記録および前記書き換えプログラム更新記録が設定されていると判断した場合には、前記通常プログラムの前記制御手順を実行する
    ことを特徴とするプログラム書き換え装置。
JP36286398A 1998-03-09 1998-12-21 プログラム書き換え装置 Expired - Lifetime JP4258579B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP36286398A JP4258579B2 (ja) 1998-12-21 1998-12-21 プログラム書き換え装置
US09/263,195 US6311322B1 (en) 1998-03-09 1999-03-05 Program rewriting apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP36286398A JP4258579B2 (ja) 1998-12-21 1998-12-21 プログラム書き換え装置

Publications (2)

Publication Number Publication Date
JP2000187588A JP2000187588A (ja) 2000-07-04
JP4258579B2 true JP4258579B2 (ja) 2009-04-30

Family

ID=18477928

Family Applications (1)

Application Number Title Priority Date Filing Date
JP36286398A Expired - Lifetime JP4258579B2 (ja) 1998-03-09 1998-12-21 プログラム書き換え装置

Country Status (1)

Country Link
JP (1) JP4258579B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1420560A1 (en) * 2002-11-13 2004-05-19 Thomson Multimedia Broadband Belgium Software upgrade over a USB connection
JP2005100362A (ja) * 2003-08-29 2005-04-14 Canon Inc プログラム書き換え可能な電子装置およびプログラム書き換え方法
JP4848734B2 (ja) * 2005-10-18 2011-12-28 セイコーエプソン株式会社 電子機器
JP5040264B2 (ja) 2006-11-01 2012-10-03 セイコーエプソン株式会社 情報処理装置、情報更新方法及びそのプログラム
JP4973270B2 (ja) * 2007-03-27 2012-07-11 株式会社ニコン カメラ用アクセサリ機器およびカメラシステム
JP5113700B2 (ja) * 2008-09-24 2013-01-09 株式会社日立ソリューションズ ファームウェア更新装置及び方法
JP2012118904A (ja) * 2010-12-03 2012-06-21 Ricoh Co Ltd 情報処理装置
JP5465738B2 (ja) * 2012-01-30 2014-04-09 レノボ・シンガポール・プライベート・リミテッド システム・ファームウェアの更新方法およびコンピュータ
JP2014006836A (ja) * 2012-06-27 2014-01-16 Kyocera Document Solutions Inc プログラム書き換え方法

Also Published As

Publication number Publication date
JP2000187588A (ja) 2000-07-04

Similar Documents

Publication Publication Date Title
US6311322B1 (en) Program rewriting apparatus
US8112617B2 (en) Information processing device, and method of starting information processing device
US20050270551A1 (en) External storage device, image acquisition device, and method and system to control a driver
JP4258579B2 (ja) プログラム書き換え装置
JP2007157014A (ja) データ処理装置
JP2002247252A (ja) 画像形成装置
JP2006243997A (ja) ダウンロードシステム
JP3012842B1 (ja) ファクシミリ装置
US20070150072A1 (en) Method for controlling electronic apparatus, program for controlling electronic apparatus, electronic apparatus, and recording apparatus
JP4684065B2 (ja) 空気調和機の制御情報書換装置
JP4652492B2 (ja) プログラム書き換え装置
JP2008009799A (ja) 画像形成装置
US20040042041A1 (en) Image forming device
JP3515922B2 (ja) 電子内視鏡装置
JP2023068538A (ja) 情報処理装置及びその制御方法、並びにプログラム
JP3659399B2 (ja) プログラマブルロジックコントローラ
JP3678402B2 (ja) ファクシミリ装置
JP5803598B2 (ja) 画像形成装置
EP1594055A1 (en) System with application program and method for automatically installing the application program
JPH1074072A (ja) 表示装置及びその制御方法
JP2001051844A (ja) コンピュータ周辺機器およびファームウェア更新方法
JP2011145810A (ja) プログラムデータの書き換え方法及び機器制御システム
JP2003223327A (ja) 携帯端末装置およびプログラム
JP2000207180A (ja) 情報処理装置及びプログラム書換方法
JP2004220474A (ja) 電子機器、システム復帰方法、プログラムおよび記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051125

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080313

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080401

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080701

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080828

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081007

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081205

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090114

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090127

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120220

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120220

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150220

Year of fee payment: 6

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150220

Year of fee payment: 6

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150220

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term