JP2003162421A - 制御プログラムの更新方法及び装置 - Google Patents

制御プログラムの更新方法及び装置

Info

Publication number
JP2003162421A
JP2003162421A JP2001362528A JP2001362528A JP2003162421A JP 2003162421 A JP2003162421 A JP 2003162421A JP 2001362528 A JP2001362528 A JP 2001362528A JP 2001362528 A JP2001362528 A JP 2001362528A JP 2003162421 A JP2003162421 A JP 2003162421A
Authority
JP
Japan
Prior art keywords
control program
program
storage unit
updating
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
JP2001362528A
Other languages
English (en)
Inventor
Hideo Shibaoka
英夫 柴岡
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2001362528A priority Critical patent/JP2003162421A/ja
Publication of JP2003162421A publication Critical patent/JP2003162421A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】 機器の制御プログラムを更新しようとして失
敗した場合に、更新のやり直し処理を効率よく行う。 【解決手段】 制御プログラムの更新時にその処理経過
を記録しておき、途中で失敗してもう一度同じ作業を実
行するときに、記録しておいた処理経過を用いて、前回
の更新で失敗した箇所以降を継続して実行するようにす
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は書き換え可能な不揮
発性の記憶装置を備え、その記憶装置に記憶された制御
プログラムにより機器の制御を実行する装置に関するも
のである。
【0002】
【従来の技術】プリンタやデジタルカメラなどの電子機
器の多くは、マイクロコンピュータと命令コードが記憶
されている記憶装置とを備え、そこに記憶されている命
令コードに従ってマイクロコンピュータの動作を制御す
ることによりさまざまな機能を実現している。一連の命
令コードの集合体をプログラムと言い、電源供給を停止
してもその内容が保持されるような記憶装置に記憶され
ている。そのような記憶装置には、プログラムによる書
きこみが不可能な読み出し専用メモリ(ROM)や、プ
ログラムによる書きこみが可能な不揮発性メモリ(フラ
ッシュメモリ)などの種類がある。ROMに記憶された
プログラムは機器の使用者により任意に変更することは
できないが、フラッシュメモリに記憶されたプログラム
は機器の使用者により任意のプログラムに書き換えるこ
とが可能であり、その制御手段を提供する機器も近年多
くなってきている。プログラムを書き換える方法として
は、書き換えるプログラムを保持する機器と書き換え対
象とする機器とを通信ケーブル等で接続し、書き換えた
いプログラムを前者の機器から送信し、それを受信した
後者の機器でフラッシュメモリ内のプログラムを書き換
えることにより実現されている。このプログラムの更新
作業にはある程度の時間が必要で、書きこむプログラム
の大きさや通信手段の速度などによって数分から数十分
の時間が必要とされる。
【0003】
【発明が解決しようとする課題】前記のプログラム更新
作業は、失敗するとその機器が使用できなくなる危険性
があるため、従来はサービスマンなどの専門業者のみが
その作業を行っていた。ところが近年では技術革新のス
ピードが以前より速くなってきたことや、パーソナルコ
ンピュータの普及により、一般の使用者でもプログラム
更新作業ができるような電子機器が現れてきている。こ
のような一般の使用者によるプログラム更新作業は専門
業者による作業に比べて失敗する確率が高くなってい
る。失敗する原因としては、書きこむプログラムの不
備、作業環境の不備、作業手順の誤りなどさまざまなも
のが考えられる。このうちの作業環境の不備とは、作業
中に何らかの原因で電源が遮断されてしまうものや、通
信ケーブルの接触不良によるものや、無線などの通信状
態が悪い場合などの不慮の事態による失敗が多い。いず
れの場合にしろ作業に失敗した場合はまた初めから同じ
手順で同じ所要時間を費す必要がある。近年では機器に
対する要求が多様化してきていることにより機器の多機
能化が図られてきており、その制御プログラムの大きさ
は肥大化する傾向にある。その結果、プログラムの更新
作業にはより多くの時間が必要とされてきており、やり
直しにもより多くの時間が必要となっている。
【0004】
【課題を解決するための手段】上記のような状況を鑑
み、本発明では制御プログラムの更新作業を行う場合に
その途中経過を随時記憶しておき、不慮の事態により途
中で失敗した場合などに再び同じ処理を行う際に前回の
途中経過を考慮して、更新の必要な部分の処理のみを行
うようにすることを特徴とする。
【0005】
【作用】本発明によれば機器の制御プログラムを更新し
ようとして失敗した場合に、更新のやり直し処理を効率
よく行うことが可能となる。
【0006】
【発明の実施の形態】以下に図面に基づいて本発明の実
施形態を具体的に説明する。
【0007】図1は本発明を実施する装置の基本的構成
を示すブロック図である。1はプログラム更新作業を含
む機器の各種の機能の実行指示を行うための操作部であ
る。操作部1は複数個のキー、ボタン、スイッチなどか
ら構成される。2は機器の状態や各種の操作結果を使用
者に通知するための表示部である。表示部2は液晶パネ
ル、LEDなどで構成される。3は外部の機器との通信
を行う通信部である。通信部3はシリアルポート、LA
N、USBなど各種のインタフェースの一つまたは複数
から構成される。プログラム更新作業の実施時にはここ
を介して新しいプログラムデータを入力する。4は機器
の各機能の実行を行う制御部である。制御部4は操作部
1や通信部3からの各種の入力動作に対応して各種の出
力動作の制御を行う。各種の制御の手順はROM6とプ
ログラム記憶部7に記憶されている。5は記憶装置の一
種であるRAMである。RAM5は揮発性の記憶装置で
あるため、電源供給を停止すると記憶内容が失われてし
まう。RAM5は制御部4が各種制御を行う際に必要と
なる変数などを一時的に蓄えたり、プログラム記憶部7
のデータを複写して実行したりして使用する。6は制御
部4を制御するプログラムが記憶されているリードオン
リーメモリ(ROM)である。ROM6にはプログラム
により書き換えの不可能な不揮発性の記憶装置が使用さ
れており、後からその内容を変更することはできない。
7は制御部4を制御するプログラムが記憶されているプ
ログラム記憶部である。プログラム記憶部7はプログラ
ムにより書き換えの可能なフラッシュメモリなどの不揮
発性の記憶装置が使用されており、後からその内容を変
更することが可能となっている。機器の電源投入直後に
は、まずROM6内の制御プログラムが実行され、各装
置の初期化処理を行った後にプログラム記憶部7内に含
まれる制御プログラムをRAM5に複写した後、その制
御をRAM5側のプログラムに移すようになっている。
また本発明の主たる処理であるプログラム記憶部7内に
記憶される制御プログラムの更新作業処理の制御手順は
ROM6側に含まれる。8は本発明の特徴であるところ
の途中経過情報記憶部である。途中経過情報記憶部8に
はEEPROMなどの不揮発性の記憶装置が使用され、
プログラム記憶部7に対するプログラム更新作業の途中
経過を記憶する。
【0008】図2は本発明に係わる装置での途中経過情
報記憶部8の内部構成の一例を示す図である。21はこ
の記憶部内の情報が有効なものであるかそうでないかを
示すフラグである。「1」は有効であることを示し、
「0」は無効であることを示す。22には現在書き換え
ようとしている制御プログラムが対応する機種の情報が
記憶され、23にはその制御プログラムのバージョン番
号が記憶され、24にはその制御プログラム全体の大き
さを示す全ブロック数が記憶される。制御プログラムの
書き換え処理はある一定のサイズ毎に実行されるため、
その一定のサイズを1ブロックとし、そのブロック単位
で各処理を区切る。25には書き換え処理の済んだブロ
ック数を記憶して随時更新する。
【0009】図3は本発明に係わる装置でのプログラム
記憶部7内に記憶される制御プログラムの更新時の制御
手順を示すフローチャートである。この制御手順はRO
M6内の制御プログラムに含まれる。使用者が装置の操
作部1を操作することにより制御プログラムの更新機能
が開始され、ホスト機器との接続方法や、ダウンロード
しようとする制御プログラムファイルを指定した後に、
図3のフローチャートが開始される。
【0010】ステップS101では使用者により設定さ
れた接続条件に従ってホスト機器と通信回線を接続し、
データ通信を開始する。ステップS102では通信部3
を介して使用者により設定された制御プログラムファイ
ルのヘッダー部分をホスト機器から受信してRAM5内
の一時記憶領域へ保存する。ステップS103ではステ
ップS102で受信したファイルヘッダーの内容を解析
し、そのファイルが正しいファイルであるかどうかを調
べ、正しいファイルであればステップS104へ進み、
そうでなければステップS120へ進む。正しいファイ
ルであるかの判定基準としては、まずファイルヘッダー
の先頭に含まれるファイルIDが制御プログラムファイ
ルであることを示す特有の数値であるかを調べる。それ
が特有の数値である場合は正しいファイルであると判定
される。次にファイルヘッダーに含まれる対応機種情報
を調べ、それが現在処理を実施している機器の種類と同
一であるかを調べ、同一であれば正しいファイルである
と判定される。そしてファイルヘッダーに含まれるバー
ジョン情報を調べ、それが現在処理を実施している機器
に対し、有効であるバージョンであるかを調べ、同一で
あるか、互換性があると判定される場合に正しいファイ
ルであると判定される。ステップS104では作業変数
mとnの値を初期設定する。変数mにはこれから受信し
ようとする制御プログラムのデータブロック数を記録す
る。具体的にはステップS102で受信したファイルヘ
ッダーの内容に存在する全データ数を、1ブロックあた
りのデータ数で割った値を記録する。剰余が出た場合は
繰り上げる。変数nは制御プログラムのデータの受信済
みブロック数を記録するためのものであり、初期値0を
設定する。これらの作業変数はRAM5内の作業領域に
存在している。ステップS105では途中経過情報から
現在の記憶内容が有効であるかどうかを調べ、有効であ
るならばステップS106へ進み、そうでなければステ
ップS111へ進む。具体的には途中経過情報記憶部8
のフラグ21を調べ、値が「1」なら有効と判定され、
値が「0」なら無効と判定される。これが有効となって
いる場合には、前回の更新作業が途中で中断されたと考
えられる。ステップS106では途中経過情報の内容と
ステップS102で受信したファイルヘッダーの内容と
を比較し、内容が同一であればステップS107へ進
み、そうでなければステップS111へ進む。具体的に
は途中経過情報記憶部8に含まれる装置種別22、バー
ジョン情報23、全体ブロック数24を調べ、ステップ
S102で受信したファイルヘッダーの内容と比較す
る。ステップS107では作業変数cの値を、途中経過
情報記憶部8に含まれる処理済ブロック数25の値に初
期設定する。変数cは受信して読み飛ばす制御プログラ
ムのデータブロック数を記録する。ステップS108〜
ステップS110では変数cの値まで制御プログラムの
データブロックを受信して読み飛ばす処理を実行する。
ステップS108では通信部3を介して制御プログラム
ファイルのヘッダー以降の部分を1ブロック分だけホス
ト機器から受信する。ステップS109では変数nの値
を1増やす。ステップS110では変数nの値と変数c
の値を比較し、変数nの値が変数cの値以上ならばステ
ップS112へ進み、そうでなければステップS108
へ戻って処理を繰り返す。一方、ステップS111では
途中経過情報記憶部8の内容を初期化する。具体的には
ステップS102で受信したファイルヘッダーの内容か
ら装置種別22、バージョン情報23、全体ブロック数
24の各項目を設定し、フラグ21を有効を示す値であ
る「1」に、処理済ブロック数25の値を「0」に設定
する。これは前回の更新作業が途中で中断されなかった
か、あるいは前回の更新作業は途中で中断されたが今回
とは異なるデータファイルによるものであった場合に改
めて最初から更新作業を実施するために設定される。ス
テップS112〜ステップS116では変数mの値まで
制御プログラムのデータブロックを受信してプログラム
記憶部7に保存する処理を実行する。ステップS112
では通信部3を介して制御プログラムファイルのヘッダ
ー以降の部分を1ブロック分だけホスト機器から受信し
てRAM5内の一時記憶領域へ保存する。ステップS1
13ではステップS112でRAM5に保存したプログ
ラムデータを解析、変換してプログラム記憶部7に保存
する。それまで記憶されていたプログラムは新しいプロ
グラムに上書きされてしまい、失われてしまう。ステッ
プS114では変数nの値を1増やす。ステップS11
5では途中経過情報記憶部8の処理済ブロック数25の
値を1増やす。途中経過情報記憶部8の内容は不揮発性
の記憶装置であるため、ステップS115の処理を行う
ことでステップS112〜ステップS116での処理中
に不測の事態により作業が終了しても次回の作業実行時
に継続して実行することが可能となる。ステップS11
6では変数nの値と変数mの値を比較し、変数nの値が
変数mの値以上ならばステップS117へ進み、そうで
なければステップS112へ戻って処理を繰り返す。ス
テップS117では途中経過情報記憶部8の内容を無効
化する。具体的にはフラグ21を無効を示す値である
「0」に設定する。これは今回の更新作業が無事に完了
したことを示す。ステップS118ではホスト機器との
通信回線を切断し、データ通信を終了する。ステップS
119では表示部2での表示などにより制御プログラム
の更新が無事完了したことを使用者に通知して終了す
る。
【0011】一方、受信ファイルの指定が正しくない場
合はステップS120へ進み、ホスト機器との通信回線
を切断し、データ通信を中止する。そしてステップS1
21では表示部2での表示などにより制御プログラムの
更新が失敗したことを使用者に通知して終了する。
【0012】(他の実施形態)本発明によれば、機器の
制御プログラムを更新しようとして失敗した場合に、同
じ処理をやり直すときの処理を効率よく行うことが可能
となるが、さらに上記の実施形態においてステップS1
08〜ステップS110での通信処理を省略するような
通信手順を設けた場合、処理時間が短縮されるためによ
り効果的な処理となる。
【0013】また、更新の対象となる制御プログラムフ
ァイルが1つでない場合も考えられるが、そのような場
合には図2に示す途中経過情報のレコードを複数個作成
し、それぞれについて単一の場合と同様の処理を行い、
各制御プログラムの整合性の確認処理を追加することに
より同様の効果を得ることができる。
【0014】
【発明の効果】以上説明したように本発明によれば機器
の制御プログラムを更新しようとして失敗した場合に、
更新のやり直し処理を効率よく行うことが可能となる。
【図面の簡単な説明】
【図1】本発明の基本的な構成を示すブロック図であ
る。
【図2】本発明に係わる装置での途中経過情報記憶部の
内部構成の一例を示す図である。
【図3】本発明に係わる装置での制御プログラムの更新
時の制御手順を示すフローチャートである。
【符号の説明】
1 操作部 2 表示部 3 通信部 4 制御部 5 RAM 6 ROM 7 プログラム記憶部 8 途中経過情報記憶部

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 機器制御プログラムを記憶する書き換え
    が不可能な第一の不揮発性記憶部と、機器制御プログラ
    ムを記憶する書き換えが可能な第二の不揮発性記憶部
    と、前記第一および第二の不揮発性記憶部内の機器制御
    プログラムにより機器の動作の制御を行う制御部と、機
    器の各種の状態を記憶する書き換えが可能な第三の不揮
    発性記憶部と、機器の各種機能を実行するための操作を
    行う操作部と、前記操作部を介して操作を行うときの状
    態を表示する表示部と、外部機器と各種データを送受信
    する通信部とを設け、前記第二の不揮発性記憶部内の機
    器制御プログラムを変更する処理を行う場合に、前記第
    三の不揮発性記憶部内の内容によっては該変更処理を簡
    略化することを特徴とする制御プログラムの更新方法及
    び装置。
  2. 【請求項2】 前記第三の不揮発性記憶部内の内容は、
    前記第二の不揮発性記憶部内の機器制御プログラムを変
    更する処理を行う場合に設定されることを特徴とする請
    求項1の制御プログラムの更新方法及び装置。
  3. 【請求項3】 前記第三の不揮発性記憶部内の内容は、
    前記第二の不揮発性記憶部内の機器制御プログラムを変
    更する処理の経過を記憶することを特徴とする請求項1
    の制御プログラムの更新方法及び装置。
JP2001362528A 2001-11-28 2001-11-28 制御プログラムの更新方法及び装置 Withdrawn JP2003162421A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001362528A JP2003162421A (ja) 2001-11-28 2001-11-28 制御プログラムの更新方法及び装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001362528A JP2003162421A (ja) 2001-11-28 2001-11-28 制御プログラムの更新方法及び装置

Publications (1)

Publication Number Publication Date
JP2003162421A true JP2003162421A (ja) 2003-06-06

Family

ID=19173015

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001362528A Withdrawn JP2003162421A (ja) 2001-11-28 2001-11-28 制御プログラムの更新方法及び装置

Country Status (1)

Country Link
JP (1) JP2003162421A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007058499A (ja) * 2005-08-24 2007-03-08 Matsushita Electric Ind Co Ltd 情報処理装置およびデータ書き込み方法
JP2008112315A (ja) * 2006-10-31 2008-05-15 Hioki Ee Corp 電子機器およびプログラム書換え方法
JP2011090455A (ja) * 2009-10-21 2011-05-06 Nec Fielding Ltd 情報更新システム、情報更新方法、受信端末、サーバ装置、及びプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007058499A (ja) * 2005-08-24 2007-03-08 Matsushita Electric Ind Co Ltd 情報処理装置およびデータ書き込み方法
JP2008112315A (ja) * 2006-10-31 2008-05-15 Hioki Ee Corp 電子機器およびプログラム書換え方法
JP2011090455A (ja) * 2009-10-21 2011-05-06 Nec Fielding Ltd 情報更新システム、情報更新方法、受信端末、サーバ装置、及びプログラム

Similar Documents

Publication Publication Date Title
KR100584338B1 (ko) 소프트웨어 업데이트 방법 및 시스템
US6745278B2 (en) Computer capable of rewriting an area of a non-volatile memory with a boot program during self mode operation of the computer
JP2004103032A (ja) データ管理装置、データ管理方法、不揮発性メモリ、不揮発性メモリを有する記憶装置及びデータ処理システム
JP2003162421A (ja) 制御プログラムの更新方法及び装置
CN113613954A (zh) 电子控制装置以及控制数据的设定方法
JPH1063498A (ja) 無線基地局の運用プログラム変更方法
JPH11282690A (ja) 制御プログラムの書込方法及び情報処理装置並びに情報処理システム
JPH1063497A (ja) プログラム更新方法
JP5158883B2 (ja) ファームウェア更新方法及びファームウェア更新装置
JP2003076565A (ja) 機器制御装置およびプログラム更新方法および記憶媒体およびプログラム
JP2001053891A (ja) 携帯端末装置のプログラム更新方法およびその装置
JP2009159383A (ja) 通信端末装置
JP2001229014A (ja) 不揮発性メモリ書き替え装置
JP2004355389A (ja) リモートアップデートシステム
JP3730684B2 (ja) プログラマブルコントローラ用表示装置およびその表示情報書込方法
JP4072504B2 (ja) プログラム書き換え方法及びシステム
JP2004094628A (ja) フラッシュメモリのメモリ書き換え制御システム、メモリ書き換え制御方法及びメモリ書き換え制御方法の各工程を実行させるプログラム
KR102334678B1 (ko) Hmi장치
JPH09152969A (ja) 電子機器のソフトウェア更新装置
KR19990019426A (ko) 플래쉬 메모리를 내장한 제어장치의 프로그램 관리방법
JP2005050095A (ja) 画像形成装置およびそのプログラム更新履歴管理方法
JP2004013782A (ja) ファームウェアのダウンロード方法
JP2005025441A (ja) Icカードのアプリケーションプログラム更新方法
JPH10333716A (ja) プログラマブルコントローラの制御システム
JP2000148313A (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: 20050201