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

プログラム書き換え装置

Info

Publication number
JP2000187588A
JP2000187588A JP10362863A JP36286398A JP2000187588A JP 2000187588 A JP2000187588 A JP 2000187588A JP 10362863 A JP10362863 A JP 10362863A JP 36286398 A JP36286398 A JP 36286398A JP 2000187588 A JP2000187588 A JP 2000187588A
Authority
JP
Japan
Prior art keywords
program
rewriting
normal
rewrite
normal program
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.)
Granted
Application number
JP10362863A
Other languages
English (en)
Other versions
JP4258579B2 (ja
Inventor
Takahiro Ikeda
孝弘 池田
Takuya Shirahata
卓也 白幡
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

Landscapes

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

Abstract

(57)【要約】 【課題】 プログラムの書き換え中に電源が切れるなど
の原因で、電子機器の制御プログラムの書き換えに失敗
した場合、再度、書き換えを実行することを可能にす
る。また、プログラムのどの部分でも、再度の書き換え
を可能にする。 【解決手段】 書き換えプログラム記憶部は、通常プロ
グラムの書き換え手順を含む書き換えプログラムを格納
する。通常プログラム記憶部は、プログラム書き換え装
置の制御手順及び書き換えプログラムの書き換え手順を
含む通常プログラムを格納する。制御手段は、第1期間
に、書き換えプログラムに基づいて、受信した通常プロ
グラムを通常プログラム記憶部に上書きする。制御手段
は、第1期間と異なる第2期間に、通常プログラムに基
づいて、受信した書き換えプログラムを書き換えプログ
ラム記憶部に上書きする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、電子機器に内蔵さ
れるプログラム書き換え装置に係り、特に電子機器の動
作を制御するプログラムを書き換えるプログラム書き換
え装置に関する。
【0002】
【従来の技術】電子機器の動作を制御するプログラム
は、通常、電子機器内に設けられたMASKROM、E
PROM、EEPROM、FLASHなどに格納されて
いる。これらのメモリは、読み出し専用のメモリであ
る。しかし、EPROM、EEPROM、FLASHな
どは、特別の装置を使用することにより、メモリに格納
されたプログラムを電気的に書き換えることができる。
電子機器内に設けられたCPUは、前記メモリに格納さ
れたプログラムにしたがって、電子機器内の各部を制御
する。
【0003】最近では、パソコンの周辺機器(スキャ
ナ、プリンタ、モデムなど)やパソコンのマザーボード
などの電子機器において、電子機器における機能追加や
電子機器に生じる障害の解消のため、前記メモリに格納
されたプログラムを書き換える必要が生じる。この様な
場合、電子機器内の前記メモリと更新されたプログラム
を格納しているメモリとを交換する手間を省くため、下
記の2つの方法が用いられている。
【0004】(1)プログラムを格納するメモリは、E
EPROMやFLASHなどの電気的に書き換え可能な
メモリとする。電子機器は、メモリに格納されているプ
ログラムを書き換える場合、パソコンから変更されたプ
ログラムをダウンロードする。次に、電子機器は、電子
機器内において、プログラムの書き換えを行う。こうし
て、電子機器の機能追加や障害の解消が行われる。
【0005】(2)プログラムのブート部分(通信等の
初期化部分)だけが、MASKROMやEPROMに格
納されている。電子機器の電源投入時には、パソコンと
電子機器との通信機能だけが動作可能になる。電子機器
を制御するためのプログラムは、パソコン側において、
前記電子機器のドライバソフトを立ち上げる度に、前記
通信機能により、電子機器内のRAMにダウンロードさ
れる。そして、CPUは、RAMにダウンロードされた
プログラムにしたがって、電子機器内の各部を制御す
る。電子機器の機能追加や障害の解消をする場合、最新
のドライバソフトがパソコンにセットされる。したがっ
て、電子機器は、電子機器を制御するための更新された
プログラムをRAM格納することができる。電子機器
は、プログラムを格納しているメモリを交換する必要は
無い。こうして、電子機器の機能追加や障害の解消が行
われる。
【0006】上記2つの方法において、機能追加や障害
を解消する変更プログラムは、パソコン通信やインター
ネットのホームページから、通信回線を介してユーザに
配布される。したがって、ユーザがメーカに電子機器を
送り返したり、ユーザがサービスの窓口まで電子機器を
持ち込む必要がない。また、メーカの担当者が電子機器
を分解して、メモリを交換する必要がない。
【0007】
【発明が解決しようとする課題】前記従来技術には、次
のような問題点がある。第1に、前記(1)の方法の場
合、プログラムをEEPROMやFLASHに書き込ん
でいる最中に電源がダウンし、プログラムの書き込みに
失敗することがある。さらに、EEPROMやFLAS
Hへの書き込みが、何らかの原因で失敗することがあ
る。この場合、書き換えが途中まで進んでいるプログラ
ムは、書き換え前の部分と書き換え後の部分との間で、
プログラムとしての整合が取れない。したがって、プロ
グラムが暴走して、正常に動作しない。
【0008】上記の状態になった電子機器は、ユーザサ
イドにおけるプログラムの書き換えが不可能になる。し
たがって、ユーザがメーカに電子機器を送り返したり、
ユーザがサービスの窓口まで電子機器を持ち込む必要が
ある。また、メーカの担当者が電子機器を分解して、メ
モリを交換する必要がある。第2に、前記(2)の方法
の場合、MASKROMやEPROMに書き込まれてい
るブート部分のプログラムは、パソコンからのダウンロ
ードでは書き換えることができない。したがって、機能
追加や障害の解消がブート部分のプログラムに生じた場
合、ユーザがメーカに電子機器を送り返したり、サービ
スの窓口まで電子機器を持ち込む必要がある。また、メ
ーカの担当者が電子機器を分解して、メモリを交換する
必要がある。
【0009】本発明の目的は、プログラムの書き換え中
に電源が切れてしまったり、なんらかの原因でプログラ
ムの書き換えに失敗した場合、ユーザが、再度書き換え
を実行することが可能なプログラム書き換え装置を提供
することにある。本発明の他の目的は、ユーザが、プロ
グラムのどの部分でも、書き換えすることが可能なプロ
グラム書き換え装置を提供することにある。
【0010】
【課題を解決するための手段】請求項1に記載のプログ
ラム書き換え装置は、プログラム書き換え装置を内蔵す
る装置の制御手順を含む通常プログラムを記憶する通常
プログラム記憶部と、通常プログラムを外部装置から受
信する受信手順と、受信した通常プログラムを通常プロ
グラム記憶部に上書きする上書き手順とを示す、書き換
えプログラムを記憶する書き換えプログラム記憶部と、
第1期間に、書き換えプログラムの受信手順と上書き手
順とに基づいて、前記通常プログラムの上書きを実行
し、前記第1期間と異なる第2期間に、前記通常プログ
ラムに基づいて、前記書き換えプログラムを外部装置か
ら受信し、受信した書き換えプログラムを書き換えプロ
グラム記憶部に上書きする制御手段とを有することを特
徴とする。
【0011】請求項2に記載のプログラム書き換え装置
は、請求項1記載のプログラム書き換え装置において、
制御手段が、通常プログラムの上書きが完了することに
応答して、通常プログラム更新記録を設定することを特
徴とする。請求項3に記載のプログラム書き換え装置
は、請求項2記載のプログラム書き換え装置において、
制御手段が、通常プログラム更新記録の設定有無を判断
し、通常プログラム更新記録が設定されていないと判断
した場合、書き換えプログラムの受信手順と上書き手順
とに基づいて、通常プログラムを外部装置から受信し、
受信した通常プログラムを通常プログラム記憶部に上書
きすることを特徴とする。
【0012】請求項4に記載のプログラム書き換え装置
は、請求項3記載のプログラム書き換え装置において、
制御手段が、プログラム書き換え装置を内蔵する装置の
初期化時に、通常プログラム更新記録の設定有無を判断
することを特徴とする。請求項5に記載のプログラム書
き換え装置は、請求項1記載のプログラム書き換え装置
において、制御手段が、書き換えプログラムの書き換え
プログラム記憶部への上書きが完了することに応答し
て、書き換えプログラム更新記録を設定することを特徴
とする。
【0013】請求項6に記載のプログラム書き換え装置
は、請求項5記載のプログラム書き換え装置において、
制御手段が、書き換えプログラム更新記録の設定有無を
判断し、書き換えプログラム更新記録が設定されていな
いと判断した場合、通常プログラムに基づいて、書き換
えプログラムを外部装置から受信し、受信した書き換え
プログラムを書き換えプログラム記憶部に上書きするこ
とを特徴とする。
【0014】請求項7に記載のプログラム書き換え装置
は、請求項6記載のプログラム書き換え装置において、
制御手段が、プログラム書き換え装置を内蔵する装置の
初期化時に、書き換えプログラム更新記録の設定有無を
判断することを特徴とする。
【0015】(作用)請求項1に記載のプログラム書き
換え装置によれば、通常プログラム記憶部が、プログラ
ム書き換え装置を内蔵する装置の制御手順を含む通常プ
ログラムを記憶し、書き換えプログラム記憶部が、通常
プログラムを外部装置から受信する受信手順と、受信し
た通常プログラムを通常プログラム記憶部に上書きする
上書き手順とを示す、書き換えプログラムを記憶し、制
御手段が、第1期間に、書き換えプログラムの受信手順
と上書き手順とに基づいて、前記通常プログラムの上書
きを実行し、前記第1期間と異なる第2期間に、前記通
常プログラムに基づいて、前記書き換えプログラムを外
部装置から受信し、受信した書き換えプログラムを書き
換えプログラム記憶部に上書きする。
【0016】したがって、請求項1記載のプログラム書
き換え装置によれば、外部装置から受信した通常プログ
ラムが、第1期間に、通常プログラム記憶部に上書きさ
れる。また、第2期間に、外部装置から受信した書き換
えプログラムが書き換えプログラム記憶部に上書きされ
る。そのため、第1期間において、プログラム書き換え
装置を内蔵する電子機器の電源が切れてしまうなどの原
因により、通常プログラム記憶部の上書きに失敗した場
合であっても、従来装置で起こったトラブルが発生しな
い。すなわち上述の場合、書き換えプログラム記憶部に
格納されている書き換えプログラムは破損していない。
従って、電子機器は書き換えプログラムにより外部装置
から通常プログラムを受信することが可能になる。そし
て、受信した通常プログラムが、通常プログラム記憶部
に上書きされることが実現される。
【0017】また、第2期間において、プログラム書き
換え装置を内蔵する電子機器の電源が切れてしまうなど
の原因により、書き換えプログラム記憶部の上書きに失
敗した場合であっても、従来装置で起こったトラブルが
発生しない。すなわち上述の場合、通常プログラム記憶
部に格納されている通常プログラムは破損していない。
従って、電子機器は通常プログラムにより外部装置から
書き換えプログラムを受信することが可能になる。そし
て、受信した書き換えプログラムが、書き換えプログラ
ム記憶部に上書きされることが実現される。。
【0018】また、請求項1記載のプログラム書き換え
装置は、通常プログラムも書き換えプログラムも書き換
えることができる。請求項2に記載のプログラム書き換
え装置によれば、制御手段は、通常プログラムの上書き
が完了することに応答して、通常プログラム更新記録を
設定する。したがって、請求項2記載のプログラム書き
換え装置は、通常プログラム更新記録を参照することに
より、通常プログラム記憶部の書き換えが完了したか否
かを確認することができる。
【0019】請求項3に記載のプログラム書き換え装置
によれば、制御手段は、通常プログラム更新記録が設定
されていないと判断した場合、書き換えプログラムの受
信手順と上書き手順とに基づいて、通常プログラム記憶
部の上書きを実行する。したがって、請求項3記載のプ
ログラム書き換え装置は、通常プログラム記憶部が更新
されていないと判断された場合、外部装置から通常プロ
グラムを受信して、通常プログラム記憶部の上書きを実
行できる。
【0020】請求項4に記載のプログラム書き換え装置
によれば、制御手段は、プログラム書き換え装置を内蔵
する装置の初期化時に、通常プログラム更新記録の設定
有無を判断する。したがって、プログラム書き換え装置
を内蔵する装置が、前回の起動中に、何らかの原因によ
り、通常プログラムの上書きに失敗したことを検出でき
る。
【0021】請求項5に記載のプログラム書き換え装置
によれば、制御手段は、書き換えプログラムの書き換え
プログラム記憶部への上書きが完了することに応答し
て、書き換えプログラム更新記録を設定する。
【0022】したがって、請求項5記載のプログラム書
き換え装置は、書き換えプログラム更新記録を参照する
ことにより、書き換えプログラム記憶部の書き換えが完
了したか否かを確認することができる。請求項6に記載
のプログラム書き換え装置によれば、制御手段は、書き
換えプログラム更新記録の設定有無を判断し、書き換え
プログラム更新記録が設定されていないと判断した場
合、通常プログラムに基づいて、書き換えプログラムを
外部装置から受信し、受信した書き換えプログラムを書
き換えプログラム記憶部に上書きすることができる。
【0023】請求項7に記載のプログラム書き換え装置
によれば、制御手段は、プログラム書き換え装置を内蔵
する装置の初期化時に、書き換えプログラム更新記録の
設定有無を判断する。したがって、プログラム書き換え
装置を内蔵する装置は、前回の起動中に、何らかの原因
により、書き換えプログラムの上書きに失敗したことを
検出できる。
【0024】
【発明の実施の形態】以下、本発明の実施の形態につい
て図面を参照して説明する。以下に説明する実施の形態
は、フィルムスキャナのFLASHメモリ(以下FLA
SHとする)に格納されたプログラムの書き換え動作を
例にしている。FLASHに格納されたプログラムは、
フィルムスキャナのCPUによって実行され、フィルム
スキャナの各部の動作を制御する。また、以下に説明す
る実施の形態は、前記全ての請求項に対応する。
【0025】図1は、フィルムスキャナ20とパソコン
30とから構成される画像読取システムの一例を示すブ
ロック図である。図1に示すように、フィルムスキャナ
20は、SCSIインタフェース2を通してパソコン3
0と接続されている。パソコン30は、モニタ31と操
作部32を備えている。モニタ31は、パソコン30の
指示により表示をするものであり、CRTや液晶ディス
プレイから成る。操作部32は、キーボードやマウス等
の入力機器である。
【0026】フィルムスキャナ20のCPU1は、パソ
コン30からの指示をSCSIインタフェース2を通し
て受けて、フィルムスキャナ20の各部を制御する。こ
こで、CPU1は、FLASH3に格納されているプロ
グラムに基づいて、処理を行う。また、RAM4は、C
PU1が処理を行うときに、データを一時的に格納する
メモリである。
【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の位置は、CP
U1が、原稿位置センサ14から出力される信号に基づ
いて検出する。
【0029】CCD13は、フィルム原稿17上の画像
を電気的な画像信号に変換する。CCD13から出力さ
れる画像信号は、信号処理回路7に入力される。信号処
理回路7は、CPU1により制御され、入力された画像
信号に各種の信号処理を行い、A/D変換器8に出力す
る。A/D変換器8は、CPU1により制御され、入力
された画像信号をディジタル信号に変換する。
【0030】A/D変換器8から出力された画像信号
は、RAM4に記憶される。RAM4に記憶された画像
信号は、SCSIインタフェース2を通してパソコン3
0に出力される。パソコン30は画像信号を受け取り、
モニタ31に表示する。図2は、図1に示すFLASH
3の記憶内容を示す説明図である。図2に示すように、
FLASH3は、5つのプログラム領域(P1〜P5)
を有している。
【0031】ベクタ領域P1は、各プログラム領域(P
1,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が、FLA
SH3に格納されているプログラムにしたがって実行す
る。また、図3に示す各ステップS1〜S13は、図2
に示す書き換えプログラムP4及び通常プログラムP5
に基づいて実行される。具体的には、ステップS1,S
2,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は、FL
ASH3に格納されている通常プログラムP5の制御プ
ログラムに基づいて、FLASH3の読み出しアドレス
を書き換えプログラムP4の先頭アドレスにジャンプさ
せる。ステップS3において、CPU1は、FLASH
3に格納されている書き換えプログラムP4内のFLA
SH書き換え動作制御プログラムに基づいて、フラグ領
域P3に格納されている書き換えプログラム更新フラグ
を1にセットする。
【0037】なお、書き換えプログラム更新フラグは、
図2に示す書き換えプログラムP4と通常プログラムP
5の両方が書き換えられたか否かを示すフラグである。
書き換えプログラム更新フラグが0のときは、書き換え
プログラムP4と通常プログラムP5が上書きされたこ
とを意味する。書き換えプログラム更新フラグが1のと
きは、前記上書きを実行中であるか、又は何らかの原因
で前記上書きに失敗したことを意味する。
【0038】ステップS4において、CPU1は、FL
ASH3に格納されている書き換えプログラムP4内の
FLASH書き換え動作制御プログラムに基づいて、フ
ラグ領域P3に格納されている通常プログラム更新フラ
グを0にセットする。なお、通常プログラム更新フラグ
は、図2に示す通常プログラムP5が、パソコン30か
ら受信した更新プログラムによって、上書きされたか否
かを示すフラグである。通常プログラム更新フラグが1
のときは、上書きが完了したことを意味する。また、書
き換えプログラム更新フラグが0のときは、前記上書き
の実行中の状態にあるか、又は何らかの原因で前記上書
きに失敗したことを意味する。
【0039】次に、ステップS5において、CPU1
は、FLASH3に格納されている書き換えプログラム
P4内の書き換え動作用簡易通信プログラムに基づい
て、パソコン30からSCSIインタフェース2を介し
て新たな通常プログラムの受信を開始する。受信する新
たな通常プログラムは、図2に示す通常プログラムP5
を更新するものである。
【0040】ステップS6において、CPU1は、FL
ASH3に格納されている書き換えプログラムP4内の
FLASH書き換え動作制御プログラムに基づいて、受
信した通常プログラムをFLASH3の通常プログラム
記憶部(図2参照)に上書きする。ステップS7におい
て、CPU1は、FLASH3に格納されている書き換
えプログラムP4内のFLASH書き換え動作制御プロ
グラムに基づいて、ステップ6における上書きが終了し
たか否かを判断する。CPU1は、上書きが終了するま
で、前記判断する状態を維持する。CPU1は、上書き
が終了したと判断したとき、処理をステップS8に進め
る。
【0041】なお、図3において、特許請求の範囲に記
載する第1期間は、前記ステップS4〜S7に相当す
る。ステップS8において、CPU1は、FLASH3
に格納されている書き換えプログラムP4のFLASH
書き換え動作制御プログラムに基づいて、フラグ領域P
3に格納されている通常プログラム更新フラグを1にセ
ットする。
【0042】ステップS9において、CPU1は、FL
ASH3に格納されている書き換えプログラムP4のF
LASH書き換え動作制御プログラムに基づいて、FL
ASH3の読み出しアドレスを通常プログラムP5の先
頭アドレスにジャンプさせる。これにより、フィルムス
キャナ20の制御は、パソコン30との通信を含めて、
書き換えプログラムP4から更新された通常プログラム
P5に移行する。
【0043】ステップS10において、CPU1は、F
LASH3に格納されている上書きされた通常プログラ
ムP5の通信プログラムに基づいて、パソコン30に対
して、更新用の書き換えプログラムをフィルムスキャナ
20に送信する旨の命令を送信する。ステップS11に
おいて、CPU1は、FLASH3に格納されている上
書きされた通常プログラムP5のFLASH書き換え動
作制御プログラムに基づいて、受信した更新用の書き換
えプログラムをFLASH3の書き換えプログラム記憶
部(図2参照)に上書きする。
【0044】ステップS12において、CPU1は、F
LASH3に格納されている上書きされた通常プログラ
ムP5のFLASH書き換え動作制御プログラムに基づ
いて、ステップS11における上書きが終了したか否か
を判断する。CPU1は、上書きが終了するまで、前記
判断する状態を維持する。CPU1は、上書きが終了し
たと判断したとき、処理をステップS13に進める。
【0045】なお、図3において、特許請求の範囲に記
載する第2期間は、前記ステップS11〜S12に相当
する。ステップS13において、FLASH3に格納さ
れている上書きされた通常プログラムP5のFLASH
書き換え動作制御プログラムに基づいて、フラグ領域P
3に格納されている書き換えプログラム更新フラグを0
にセットする。
【0046】図3及び図4から明らかなように、FLA
SH3の更新が成功した場合には、(書き換えプログラ
ム更新フラグ,通常プログラム更新フラグ)は、(0,
1)の状態になる。したがって、(書き換えプログラム
更新フラグ、通常プログラム更新フラグ)が、(1,
1)、及び(1,0)の状態のときには、プログラムの
更新が異常終了したことを意味する。なお、図3及び図
4から明らかなように、(書き換えプログラム更新フラ
グ、通常プログラム更新フラグ)が、(0,0)にセッ
トされることはない。
【0047】図5及び図6は、図1に示すフィルムスキ
ャナ20の初期化時(電源投入時など)の動作を示すフ
ローチャートである。図5及び図6に示すフローチャー
トは、CPU1がFLASH3に格納されているプログ
ラムにしたがって実行する。具体的には、ステップS2
1は、図2に示すベクタ領域P1のプログラムにしたが
って実行される。また、ステップS22,S23,S2
4は、図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は、F
LASH3に格納されている通常プログラムP5の通信
プログラムに基づいて、パソコン30に対して、更新用
の書き換えプログラムをフィルムスキャナ20に送信す
る旨の命令を送信する。ステップS34において、CP
U1は、FLASH3に格納されている通常プログラム
P5のFLASH書き換え動作制御プログラムに基づい
て、受信した更新用の書き換えプログラムをFLASH
3の書き換えプログラム記憶部(図2参照)に上書きす
る。
【0053】ステップS35において、CPU1は、F
LASH3に格納されている通常プログラムP5のFL
ASH書き換え動作制御プログラムに基づいて、ステッ
プ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は、F
LASH3に格納されている書き換えプログラムP4内
のFLASH書き換え動作制御プログラムに基づいて、
フラグ領域P3に格納されている書き換えプログラム更
新フラグを1にセットする。ステップS27において、
CPU1は、書き換えプログラムP4内の書き換え動作
用簡易通信プログラムに基づいて、パソコン30に対し
て更新用の通常プログラムの送信を命令する。続いて、
CPU1は、書き換えプログラムP4内の書き換え動作
用簡易通信プログラムに基づいて、パソコン30からS
CSIインタフェース2を介して更新用の通常プログラ
ムの受信を開始する。受信する通常プログラムは、図2
に示す通常プログラムP5を更新するものである。
【0059】ステップS28において、CPU1は、書
き換えプログラムP4内のFLASH書き換え動作制御
プログラムに基づいて、受信した更新用の通常プログラ
ムをFLASH3に上書きする。上書きする領域は、通
常プログラム記憶部(図2参照)である。ステップS2
9において、CPU1は、FLASH3に格納されてい
る書き換えプログラムP4内のFLASH書き換え動作
制御プログラムに基づいて、ステップS28における上
書きが終了したか否かを判断する。CPU1は、上書き
が終了するまで、前記判断する状態を維持する。CPU
1は、上書きが終了したと判断したとき、処理をステッ
プS30に進める。
【0060】ステップS30において、CPU1は、書
き換えプログラムP4のFLASH書き換え動作制御プ
ログラムに基づいて、フラグ領域P3に格納されている
通常プログラム更新フラグを1にセットする。ステップ
S31において、CPU1は、書き換えプログラムP4
のFLASH書き換え動作制御プログラムに基づいて、
FLASH3の読み出しアドレスを上書きされた通常プ
ログラムP5の先頭アドレスにジャンプさせる。次に、
CPU1は、前記FLASH書き換え動作制御プログラ
ムに基づいて、処理をステップS32に進める。以後の
処理は、前記したとおりである。
【0061】前記した実施の形態においては、FLAS
Hを例にして説明した。しかし、本発明はこれに限定さ
れるものではなく、電気的に消去、書き込み、上書きが
できるメモリであれば適用することができる。また、前
記した実施の形態において、第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記載のプログラム書き換え
装置は、通常プログラムも書き換えプログラムも書き換
えすることができる。請求項2に記載のプログラム書き
換え装置によれば、通常プログラム更新記録を参照する
ことにより、通常プログラム記憶部の書き換えが完了し
たか否かを確認することができる。
【0068】請求項3に記載のプログラム書き換え装置
によれば、通常プログラム記憶部が更新されていないと
判断された場合、外部装置から通常プログラムを受信し
て、通常プログラム記憶部の上書きを実行することがで
きる。
【0069】請求項4に記載のプログラム書き換え装置
によれば、制御手段は、プログラム書き換え装置を内蔵
する装置の初期化時に、通常プログラム更新記録の設定
有無を判断する。したがって、プログラム書き換え装置
を内蔵する装置が、前回の起動中に、何らかの原因によ
り、通常プログラムの上書きに失敗したことを検出でき
る。
【0070】請求項5に記載のプログラム書き換え装置
によれば、書き換えプログラム更新記録を参照すること
により、書き換えプログラム記憶部の書き換えが完了し
たか否かを確認することができる。請求項6に記載のプ
ログラム書き換え装置によれば、制御手段は、書き換え
プログラム更新記録が設定されていないと判断した場
合、通常プログラムに基づいて、書き換えプログラムを
外部装置から受信し、受信した書き換えプログラムを書
き換えプログラム記憶部に上書きすることができる。
【0071】請求項7に記載のプログラム書き換え装置
によれば、制御手段は、プログラム書き換え装置を内蔵
する装置の初期化時に、書き換えプログラム更新記録の
設定有無を判断する。したがって、プログラム書き換え
装置を内蔵する装置は、前回の起動中に、何らかの原因
により、書き換えプログラムの上書きに失敗したことを
検出できる。
【図面の簡単な説明】
【図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 (7)

    【特許請求の範囲】
  1. 【請求項1】 プログラム書き換え装置を内蔵する装置
    の制御手順を含む通常プログラムを記憶する通常プログ
    ラム記憶部と、 前記通常プログラムを外部装置から受信する受信手順
    と、受信した前記通常プログラムを前記通常プログラム
    記憶部に上書きする上書き手順とを示す、書き換えプロ
    グラムを記憶する書き換えプログラム記憶部と、 第1期間に、書き換えプログラムの受信手順と上書き手
    順とに基づいて、前記通常プログラムの上書きを実行
    し、前記第1期間と異なる第2期間に、前記通常プログ
    ラムに基づいて、前記書き換えプログラムを外部装置か
    ら受信し、受信した前記書き換えプログラムを前記書き
    換えプログラム記憶部に上書きする制御手段とを有する
    ことを特徴とするプログラム書き換え装置。
  2. 【請求項2】 請求項1記載のプログラム書き換え装置
    において、 前記制御手段は、前記通常プログラムの上書きが完了す
    ることに応答して、通常プログラム更新記録を設定する
    ことを特徴とするプログラム書き換え装置。
  3. 【請求項3】 請求項2記載のプログラム書き換え装置
    において、 前記制御手段は、通常プログラム更新記録の設定有無を
    判断し、前記通常プログラム更新記録が設定されていな
    いと判断した場合、前記書き換えプログラムの受信手順
    と上書き手順とに基づいて、前記通常プログラムを外部
    装置から受信し、受信した前記通常プログラムを前記通
    常プログラム記憶部に上書きすることを特徴とするプロ
    グラム書き換え装置。
  4. 【請求項4】 請求項3記載のプログラム書き換え装置
    において、 前記制御手段は、前記プログラム書き換え装置を内蔵す
    る装置の初期化時に、前記通常プログラム更新記録の設
    定有無を判断することを特徴とするプログラム書き換え
    装置。
  5. 【請求項5】 請求項1記載のプログラム書き換え装置
    において、 前記制御手段は、前記書き換えプログラムの前記書き換
    えプログラム記憶部への上書きが完了することに応答し
    て、書き換えプログラム更新記録を設定することを特徴
    とするプログラム書き換え装置。
  6. 【請求項6】 請求項5記載のプログラム書き換え装置
    において、 前記制御手段は、前記書き換えプログラム更新記録の設
    定有無を判断し、前記書き換えプログラム更新記録が設
    定されていないと判断した場合、前記通常プログラムに
    基づいて、前記書き換えプログラムを外部装置から受信
    し、受信した前記書き換えプログラムを前記書き換えプ
    ログラム記憶部に上書きすることを特徴とするプログラ
    ム書き換え装置。
  7. 【請求項7】 請求項6記載のプログラム書き換え装置
    において、 前記制御手段は、前記プログラム書き換え装置を内蔵す
    る装置の初期化時に、前記書き換えプログラム更新記録
    の設定有無を判断することを特徴とするプログラム書き
    換え装置。
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 true JP2000187588A (ja) 2000-07-04
JP4258579B2 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)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004178575A (ja) * 2002-11-13 2004-06-24 Thomson Licensing Sa 電子機器および該電子機器にファイルをダウンロードするためのシステムならびに方法
JP2005100362A (ja) * 2003-08-29 2005-04-14 Canon Inc プログラム書き換え可能な電子装置およびプログラム書き換え方法
JP2007114883A (ja) * 2005-10-18 2007-05-10 Seiko Epson Corp 電子機器
JP2008244736A (ja) * 2007-03-27 2008-10-09 Nikon Corp カメラ用アクセサリ機器およびカメラシステム
WO2010035596A1 (ja) * 2008-09-24 2010-04-01 日立ソフトウエアエンジニアリング株式会社 ファームウェア更新装置及び方法
JP2012118904A (ja) * 2010-12-03 2012-06-21 Ricoh Co Ltd 情報処理装置
JP2013156799A (ja) * 2012-01-30 2013-08-15 Lenovo Singapore Pte Ltd システム・ファームウェアの更新方法およびコンピュータ
JP2014006836A (ja) * 2012-06-27 2014-01-16 Kyocera Document Solutions Inc プログラム書き換え方法
US8756592B2 (en) 2006-11-01 2014-06-17 Seiko Epson Corporation Information processor and information updating method

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004178575A (ja) * 2002-11-13 2004-06-24 Thomson Licensing Sa 電子機器および該電子機器にファイルをダウンロードするためのシステムならびに方法
JP2011146060A (ja) * 2002-11-13 2011-07-28 Thomson Licensing 電子機器および電子機器にファイルをダウンロードする方法
JP2005100362A (ja) * 2003-08-29 2005-04-14 Canon Inc プログラム書き換え可能な電子装置およびプログラム書き換え方法
JP2007114883A (ja) * 2005-10-18 2007-05-10 Seiko Epson Corp 電子機器
US8756592B2 (en) 2006-11-01 2014-06-17 Seiko Epson Corporation Information processor and information updating method
JP2008244736A (ja) * 2007-03-27 2008-10-09 Nikon Corp カメラ用アクセサリ機器およびカメラシステム
WO2010035596A1 (ja) * 2008-09-24 2010-04-01 日立ソフトウエアエンジニアリング株式会社 ファームウェア更新装置及び方法
JP2010079440A (ja) * 2008-09-24 2010-04-08 Hitachi Software Eng Co Ltd ファームウェア更新装置及び方法
US8549510B2 (en) 2008-09-24 2013-10-01 Hitachi Solutions, Ltd. Firmware update apparatus and method
JP2012118904A (ja) * 2010-12-03 2012-06-21 Ricoh Co Ltd 情報処理装置
JP2013156799A (ja) * 2012-01-30 2013-08-15 Lenovo Singapore Pte Ltd システム・ファームウェアの更新方法およびコンピュータ
JP2014006836A (ja) * 2012-06-27 2014-01-16 Kyocera Document Solutions Inc プログラム書き換え方法

Also Published As

Publication number Publication date
JP4258579B2 (ja) 2009-04-30

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
JPH11102029A (ja) 処理機器及びその動作制御情報更新システム
JP4258579B2 (ja) プログラム書き換え装置
JP2000194346A (ja) ディスプレイ装置並びに同装置を含むコンピュ―タシステム
JP2002247252A (ja) 画像形成装置
WO2006064605A1 (ja) ナビゲーションシステム
JP2000245681A (ja) 電子内視鏡装置用ファームウェアのバージョンアップ方法及び電子内視鏡装置
JP2006243997A (ja) ダウンロードシステム
JPH1021060A (ja) プログラム自動更新処理機能を有する通信システムおよびプログラム更新処理を実行するプログラムを備えた記録媒体
JP2008009799A (ja) 画像形成装置
JP4652492B2 (ja) プログラム書き換え装置
WO2004003742A1 (ja) 情報処理装置および方法、記録媒体、並びにプログラム
JP3515922B2 (ja) 電子内視鏡装置
JP3659399B2 (ja) プログラマブルロジックコントローラ
JP2002023979A (ja) ネットワークプリントシステム、サーバ、プリンタ、印刷出力制御装置、および記録媒体
JP4076113B2 (ja) 電子制御装置
JP2001051844A (ja) コンピュータ周辺機器およびファームウェア更新方法
JPH1074072A (ja) 表示装置及びその制御方法
JP3308920B2 (ja) 情報処理装置
JPH1124862A (ja) プリンタシステム
JP2003223327A (ja) 携帯端末装置およびプログラム
JP2009258882A (ja) 操作部制御ユニット、バージョン制御方法及び画像形成装置
JP3843058B2 (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