JP5624943B2 - 電子機器、及び電子機器のプログラムモジュール更新方法 - Google Patents

電子機器、及び電子機器のプログラムモジュール更新方法 Download PDF

Info

Publication number
JP5624943B2
JP5624943B2 JP2011119634A JP2011119634A JP5624943B2 JP 5624943 B2 JP5624943 B2 JP 5624943B2 JP 2011119634 A JP2011119634 A JP 2011119634A JP 2011119634 A JP2011119634 A JP 2011119634A JP 5624943 B2 JP5624943 B2 JP 5624943B2
Authority
JP
Japan
Prior art keywords
update
electronic device
program module
update order
group
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 - Fee Related
Application number
JP2011119634A
Other languages
English (en)
Other versions
JP2012248029A (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.)
Fujifilm Corp
Original Assignee
Fujifilm 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 Fujifilm Corp filed Critical Fujifilm Corp
Priority to JP2011119634A priority Critical patent/JP5624943B2/ja
Publication of JP2012248029A publication Critical patent/JP2012248029A/ja
Application granted granted Critical
Publication of JP5624943B2 publication Critical patent/JP5624943B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Stored Programmes (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)

Description

本発明は、電子機器、及び電子機器のプログラムモジュール更新方法に関する。
電子機器には、ハードウェアの基本的な制御を行うファームウェアが組み込まれており、新たな機能の追加や、不具合の修正は、ファームウェアのバージョンアップで実現されている。一般にファームウェアは、複数のプログラムモジュールで構成されており、これら各プログラムモジュールは、それぞれ個別に改変されてバージョン情報で管理されている。このようなプログラムモジュールをバージョンアップする際、システムの1回又は複数回のリブート処理を伴う。このリブートの前後で情報の逸脱が生じることや、多大な更新時間を要することを改善する技術が、例えば特許文献1、2に記載されている。
プログラムモジュールのバージョンアップは、上記のような改善を行うことも大切であるが、プログラムモジュールの更新手順を簡略化すると共に、操作者の誤操作によるバージョンアップの失敗を回避することも大切である。
電子機器のプログラムやデータ等をバージョンアップする作業を使用者に実施させることは、使用者への労力の負担が大きい。また、使用者が適切な手順でバージョンアップの処理を行わないと、処理の途中でバージョン間に不整合を生じ、正しくアップデートできなくなる虞もある。そのため、複数のプログラムモジュールから、バージョンアップの対象となるプログラムモジュールを特定し、情報量や重要度に応じて各プログラムモジュールを順番にアップデートするアップデート方法が特許文献3に提案されている。
特開2007−86569号公報 特開2005−190308号公報 特開2006−227871号公報
特許文献3のアップデート方法では、電子機器の構成に変更がない場合に効率良くアップデートが行えるが、何らかの変更があった場合には各プログラムモジュールのバージョンアップ順序を電子機器の構成に応じて再設定する必要がある。このバージョンアップ順序の再設定は手動で行うことになるため、使用者が機器構成に精通していない場合には、バージョンアップを間違った手順で実施する虞が生じる。また、電子機器の製造者側からスタッフを派遣してバージョンアップ処理を行わせることも考えられるが、その場合でもバージョンアップを頻繁に行う場合や、電子機器が遠隔地にある場合にはコスト高となり、効率良く適切にバージョン管理を行うことが困難となる。
本発明は、機器構成に変更があった場合でも、その機器構成に応じた各プログラムモジュールの適切な更新順序を自動設定し、効率良く適正にプログラムモジュールの書き換えができる電子機器、及び電子機器のプログラムモジュール更新方法を提供することを目的とする。
本発明は下記構成からなる。
(1) それぞれ対応するプログラムモジュールによって制御される複数の電子デバイスを備え、当該複数の電子デバイスのプログラムモジュールを更新する機能を有する電子機器であって、
外部より入力され前記複数の電子デバイスのプログラムモジュールを更新するための更新用プログラムモジュールを記憶する更新情報記憶手段と、
前記複数の電子デバイスそれぞれについて、前記プログラムモジュールの現在のバージョン情報前記更新情報記憶手段に記憶された前記更新用プログラムモジュールのバージョン情報とを比較して、更新対象となる電子デバイスを特定する更新対象特定手段と、
前記更新対象特定手段により特定された電子デバイスをグループ分けすると共にグループ間の更新順序を設定し、次いで各グループに含まれる電子デバイスのグループ内更新順序を設定し、これにより更新対象となる全ての電子デバイスについて更新順序を設定した更新順序テーブルを生成する更新順序設定手段と、
前記更新対象となる前記電子デバイスのプログラムモジュールを、前記設定された更新順序テーブルの更新順序に従って、前記更新情報記憶手段に記憶されている更新用プログラムモジュールによりそれぞれ更新する更新実行手段と、
を備え、
前記複数の電子デバイスは、プログラムモジュールを読み込むことにより論理回路の書き換えが可能なプログラマブル集積回路と、論理回路の書き換えが不可能な非プログラマブル集積回路とをそれぞれ少なくとも1つ含み、
前記更新順序設定手段は、前記プログラマブル集積回路を同一のグループとし、且つ当該グループの更新順序を他のグループより先の更新順序にする電子機器。
(2) それぞれ対応するプログラムモジュールによって制御される複数の電子デバイスを備える電子機器の、当該複数の電子デバイスの少なくとも1つのプログラムモジュールを更新するプログラムモジュール更新方法であって、
前記複数の電子デバイスそれぞれについて、前記プログラムモジュールの現在のバージョン情報当該プログラムモジュールを更新するための更新用プログラムモジュールのバージョン情報とを比較して、更新対象となる電子デバイスを特定する更新対象特定ステップと、
前記更新対象特定ステップにより特定された電子デバイスをグループ分けすると共にグループ間の更新順序を設定し、次いで各グループに含まれる電子デバイスのグループ内更新順序を設定し、これにより更新対象となる全ての電子デバイスについて更新順序を設定する更新順序設定ステップと、
前記更新対象となる前記電子デバイスのプログラムモジュールを、前記設定された更新順序に従って、前記更新用プログラムモジュールによりそれぞれ更新する更新実行ステップと、を備え、
前記複数の電子デバイスは、プログラムモジュールを読み込むことにより論理回路の書き換えが可能なプログラマブル集積回路と、論理回路の書き換えが不可能な非プログラマブル集積回路とをそれぞれ少なくとも1つ含み、
前記更新順序設定ステップは、前記プログラマブル集積回路を同一のグループとし、且つ当該グループの更新順序を他のグループより先の更新順序にするプログラムモジュール更新方法。
本発明によれば、機器構成に変更があった場合でも、その機器構成に応じた各プログラムモジュールの適切な更新順序を自動設定することで、効率良く適正にプログラムモジュールの書き換えが行える。
本発明の実施形態を説明するための図で、内視鏡及び内視鏡が接続される各装置を表す内視鏡装置の構成図である。 内視鏡装置の具体的な構成例を示す外観図である。 バージョン情報の一例を示す説明図である。 更新情報の一例を示す説明図である。 バージョンアップの様子を示す説明図である。 バージョンアップ処理を行う手順を示すフローチャートである。 グループ分けされたプログラムモジュールの情報を示す説明図である。
以下、本発明の実施形態について、図面を参照して詳細に説明する。
図1は本発明の実施形態を説明するための図で、内視鏡装置の構成を概略的に示すブロック図であり、図2は内視鏡装置の具体的な構成例を示す外観図である。
内視鏡装置100は、図1に示すように、プロセッサ11と、プロセッサ11に接続された内視鏡スコープ13と、観察画像等の情報を表示するモニタ15と、プロセッサ11に接続されたキーボード等の入力部17とを有する。
図2に示すように、内視鏡スコープ13は、本体操作部19と、この本体操作部19に連設され被検体(体腔)内に挿入される挿入部21と、本体操作部19から延設され先端にコネクタ23が設けられたユニバーサルコード25とを備える。ユニバーサルコード先端のコネクタ23は、プロセッサ11に着脱自在に接続されて、各種信号が入出力される。
本体操作部19には、挿入部21の先端側で吸引、送気、送水を実施するための送気送水ボタン、撮像時のシャッターボタン等の各種操作ボタン27や、アングルノブ35等が設けられている。
挿入部21は、本体操作部19側から順に軟性部29、湾曲部31、内視鏡先端部33で構成される。湾曲部31は、本体操作部19のアングルノブ35を回転することによって遠隔的に湾曲操作され、これにより内視鏡先端部33を所望の方向に向けることができる。
内視鏡先端部33には、撮像光学系の観察窓が配置される。観察窓の内部には、CCD(Charge Coupled Device)型イメージセンサや、CMOS(Complementary Metal Oxide Semiconductor)型イメージセンサ等の撮像素子37と、観察画を撮像素子37に結像させるレンズ39とが配置される。
上記構成の内視鏡装置100は、複数の電子デバイスのプログラムモジュールを、準備された更新用のプログラムモジュールに書き換えする機能を有する。
図1に示すように、内視鏡スコープ13には、所望の観察画像を得るための撮像素子37、操作ボタン27等が設けられ、操作ボタン27からの入力信号を受け付けるCPU3等の電子デバイスを有する。CPU3は、CPU3を動作させるファームウェアであるプログラムモジュールを格納するためのROM41を備えている。
プロセッサ11における撮像光学系と関係する回路は、回路基板S1、回路基板S2、及び回路基板S2に接続される更新情報入力部43とを有して構成される。
回路基板S1は、駆動信号を撮像素子37に出力するセンサ駆動FPGA(Field-Programmable Gate Array)45と、センサ駆動FPGA45を制御するCPU1が実装されている。センサ駆動FPGA45はプログラムモジュールを格納するROM47を備え、CPU1もプログラムモジュールを格納するROM49を備える。FPGAは、プログラムモジュールを読み込むことにより論理回路の書き換えが可能なプログラマブル集積回路であり、CPUは、論理回路の書き換えが不可能な非プログラマブル集積回路である。
CPU1は、内視鏡スコープ13側のCPU3にユニバーサルコード25(図2参照)を通じてシリアル接続されており、センサ駆動FPGA45とは同一の回路基板内でパラレル接続されている。また、CPU1は回路基板S2に実装されたCPU2とシリアル接続されている。CPU1は、センサ駆動FPGA45に撮像素子37への制御信号を出力すると共に、操作ボタン27からの入力による制御信号が入力される。
回路基板S2は、内視鏡を統括制御するプロセッサ11のメインCPUであるCPU2と、映像入力FPGA51と、画像処理FPGA53と、記憶手段であるメモリ55が実装されている。CPU2はROM57、映像入力FPGA51はROM59、画像処理FPGA53はROM61、をそれぞれ備え、それぞれのROMにそれぞれのプログラムモジュールが格納される。メモリ55には、外部より入力され、複数の電子デバイスそれぞれに対する更新用のプログラムモジュールが記憶される。
CPU2は、上記プロセッサ11、内視鏡スコープ13に搭載される複数のCPU、FPGAを制御して、後述するように更新順序設定手段、更新実行手段として機能する。このCPU2は、内視鏡装置100の操作者による操作に応じて、所望の内視鏡観察画像をモニタ15に出力させる。各CPU,FPGAが備えるROMには、それぞれデバイスに対応するプログラムモジュールが格納されており、入力された命令信号に応じて所望の機能を実現するようになっている。また、CPU2は、更新情報入力部43を通じて後述する記憶媒体63等の更新情報を読み出して、各電子デバイスのプログラムモジュールを更新する。
次に、各電子デバイスに格納されるプログラムモジュールを、新たに供給される新バージョンのプログラムモジュールに更新する手順について説明する。
各電子デバイスのプログラムモジュールは、バージョン情報に基づいて管理されており、各電子デバイスに現在格納されているプログラムモジュールのバージョンは、メモリ55にバージョン情報として記憶されている。図3はバージョン情報の一例を示す。CPU2は、メモリ55からバージョン情報を参照することで、各電子デバイスに格納されたプログラムモジュールのバージョン、即ち、モジュールの機能や仕様を常に正確に把握できるようになっている。
内視鏡装置100における各プログラムモジュールを、新バージョンのプログラムモジュールに更新する場合、使用者は、プロセッサ11の更新情報入力部43に、コンパクトフラッシュ(登録商標)、SDカード等の各種メモリカードや、ハードディスク、光ディスク、磁気テープ等の各種ストレージ装置等の記憶媒体63を挿入する。そして、CPU2が記憶媒体63に記憶された更新情報を読み出し、この読み出された更新情報をメモリ55に一旦記憶させる。その後、CPU2は各電子デバイスのROMを必要に応じて書き替える。これにより、内視鏡装置100への新規機能の搭載や、不具合の解消が行える。なお、更新情報は、記憶媒体63に限らず、ネットワーク65を通じて配信する構成であってもよい。
図4に更新情報の一例を示す。CPU2は、図3に示す現在のバージョン情報と、更新情報のバージョン情報とを比較して、バージョンナンバーが下位となる旧バージョンのモジュールを、上位となる新バージョンのモジュールに選択的に更新する。つまり、図5にバージョンアップの様子を示すように、CPU2は、更新情報であるバージョンアップキットに記憶された各モジュールのバージョンナンバーと、現在の各モジュールのバージョンナンバーとを比較して、現在のモジュールのバージョンナンバーが低い場合に新バージョンのモジュールが提供されたと判定し、そのモジュールを新バージョンのモジュールに更新する。また、比較の結果、現在のバージョンナンバーと同じであった場合は、そのモジュール(図示例では存在せず)を更新せずに、そのままとする。
次に、各モジュールのバージョンアップを行う順序の決定方法について説明する。
旧バージョンのプログラムモジュールを新バージョンのプログラムモジュールに更新する場合、内視鏡装置100に搭載されたCPU、FPGAのそれぞれに対して個別に更新処理を行う必要がある。しかし、実際に使用されている内視鏡装置の機器構成は、内視鏡スコープやプロセッサの種類が多種多様であり、組み合わせによって回路構成が異なれば、更新用のプログラムモジュールの格納箇所も異なる。そのため、機器のメーカ側から更新情報が提供されても、各内視鏡装置に対して一律に更新順序を設定することはできない。つまり、内視鏡装置毎に異なる更新順序を設定する必要がある。
具体的には、プログラムモジュールに追加機能が存在する場合、プログラムモジュールを呼び出す側と、呼び出される側とでは更新順序の制約がある。例えば、基板上にCPUとFPGAが実装され、CPUがFPGAを制御する構成において、新規機能としてI/Fが増加する場合、FPGAのプログラムモジュールを先に更新してからCPUのプログラムモジュールを更新する必要がある。逆の手順で更新した場合には、CPUは、搭載していないI/FでFPGAを制御する動作となり、予期しない不具合が起きる可能性がある。
さらに、FPGAはコンフィグレーション後に動作するものであるため、バージョンアップを行う際は、プログラムモジュールの書き換え後にコンフィグレーションを実施する必要がある。CPUの場合は、書き換え対象CPUのプログラムモジュールが更新後に参照できなくなるため、プログラムモジュールを他のRAM上に一旦退避させてから書き換え等の動作を行う必要があり、リセットやリブート処理を要する。
そのため、プログラムモジュールのバージョンアップを行う際は、変更が必要となるプログラムモジュールを特定し、この特定された各プログラムモジュールの主従関係や、リブートの有無等を加味して更新順序を決定することが必要となる。
本内視鏡装置100においては、プログラムモジュールの適切な更新順序を自動的に設定し、設定された更新順序で更新処理を実行する機能を有している。以下に、プログラムモジュールの更新処理として、バージョンアップを行う手順を図6に示すフローチャートを用いて詳細に説明する。
まず、内視鏡装置100の操作者は、記憶媒体63やネットワーク65を介して更新情報を更新情報入力部43に入力する(St.1)。CPU2は、更新情報入力部43に更新情報が入力されると、この更新情報をメモリ55に取り込む。
CPU2は、メモリ55に予め記憶された現在の各プログラムモジュールのバージョン情報(図3参照)と、更新情報のバージョン情報(図4参照)とを比較して、前述したように更新が必要となる更新対象のプログラムモジュールを特定する(St.2)。図3,図4に示す情報内容の場合、更新対象となるプログラムモジュールは、モジュール1〜6であるが、更新しないプログラムモジュールが混在する場合は、これを更新対象から外せばよい。
次に、特定された更新対象のプログラムモジュールを、内視鏡装置100の機器構成に応じてグループ分けする(St.3)。グループ分けは、次のルールに従って行う。
(A1)更新の際にコンフィグレーションを実施するFPGA等のプログラマブル集積回路を同一グループとする。
このルールによれば、センサ駆動FPGA45、映像入力FPGA51、画像処理FPGA53が同一グループとなる。このグループをグループAとする。
(A2)システム全体を統括制御する非プログラマブル集積回路(ここではCPU2)と、このCPU2と同一機器内で接続され、プログラマブル集積回路以外の電子デバイスを同一グループとする。
このルールによれば、CPU2と接続される電子デバイスとして、センサ駆動FPGA45,映像入力FPGA51,画像処理FPGA53,CPU1が同一のグループ候補として挙げられるが、センサ駆動FPGA45,映像入力FPGA51,画像処理FPGA53は既にグループAに登録されているため除外する。その結果、CPU1とCPU2が同一グループとなる。このグループをグループBとする。
そして、CPU3はCPU1とシリアル接続されており、CPU1、CPU2とは着脱可能な別の筐体となる。よって、残りの電子デバイスであるCPU3をグループCとする。
上記のグループ分け処理により、図7に示すように更新対象となる電子デバイスは下記の3つのグループに分類される。
・グループA:センサ駆動FPGA45,映像入力FPGA51,画像処理FPGA53
・グループB:CPU1,CPU2
・グループC:CPU3
次に、CPU2は、各グループ内に複数の電子デバイスが存在する場合に、各電子デバイスのグループ内更新順序を設定する(St.4)。
グループ内の更新順序は、次のルールに従って設定する。
(B1)単独で内部リセット可能なCPUを、リブートが必要なCPUより先の更新順序に設定する。
つまり、グループBにおいては、CPU2とは異なる基板に実装されて、単独で内部リセット可能なCPU1を、回路全体のリブートが必要なCPU2より先の更新順序に設定する。これにより、リブートの回数を最小化でき、更新時間を短縮化できる。
グループAにおいては、特に更新順序を規定されることはない。ここでは映像信号の伝送下流側から、画像処理FPGA53,映像入力FPGA51,センサ駆動FPGA45の順番に設定しているが、それぞれの更新は同時であってもよい。
次に、CPU2は、各グループ間でグループ単位の更新順序を設定する(St.5)。
グループ単位の更新順序は、次のルールに従って設定する。
(C1)プログラマブル集積回路(FPGA)に対しては、FPGAに命令信号を入力する非プログラマブル集積回路(CPU)より先の更新順序に設定する。
つまり、グループAを、グループB,Cより先の更新順序に設定する。
(C2)システム全体を統括制御する非プログラマブル集積回路(ここではCPU2)とは異なるグループの非プログラマブル集積回路(CPU)は、更新にリブートを要するので、統括制御する非プログラマブル集積回路(ここではCPU2)のグループを、異なるグループの非プログラマブル集積回路(CPU)より先の更新順序に設定する。
つまり、CPU2を含むグループBは、グループBとは異なりCPU3を含むグループCより先の更新順序に設定する。
(C3)次の更新対象となる電子デバイスのグループが、当該グループの前の更新対象である電子デバイスのグループと異なる場合に、グループ同士の間にリブートを設定する。
以上より、各電子デバイスのプログラムモジュールの更新順序は次の通りになる。なお、リブート処理は、グループ内全ての書き込みの必要がない場合には省略する。
(1)グループA:画像処理FPGA53
(2)グループA:映像入力FPGA51
(3)グループA:センサ駆動FPGA45
<リブート>
(4)グループB:CPU1
(5)グループB:CPU2
<リブート>
(6)グループC:CPU3
内視鏡装置100は、図7に示すグループ内更新順序、グループ単位更新順序の登録された更新順序テーブルであるルックアップテーブル(LUT)をメモリ55に保存し、このLUTの順序に従ってプログラムモジュールを更新する。
そして、CPU2は、設定した更新順序をモニタ15に出力して、内視鏡装置100の操作者に通知する。これにより、操作者へのガイダンスが行われる(St.6)。操作者はモニタ15に表示されたガイダンスに従って、バージョンアップ処理を開始する(St.7)。このバージョンアップ処理は、自動で実施することが望ましいが、ステップ毎に手動で実施して、逐次確認しながら実施することであってもよい。また、進捗に合わせて、機器全体の電源ON/OFF等の操作者に必要な操作を指示する構成としてもよい。
例えば、CPU2は、更新するプログラムモジュールをモニタ15にリスト表示させ、操作者に書き換え開始の指示を入力させる。開始指示の入力がされると、プログラムモジュールの書き換えを開始すると共に、現在どのプログラムモジュールの書き換えを実施しているのかをモニタ表示色を変化させる等、視覚的に判別できるようにする。一つのプログラムモジュールの書き換えが完了すると一時停止し、操作者からの開始指示待ちにして、開始指示の入力があったときに、次のプログラムモジュールの書き換えを開始する。
以上説明した内視鏡装置100は、プログラムモジュールの更新を行う際、更新が必要となるプログラムモジュールを、予めメモリ55に記憶された現在のプログラムモジュールのバージョン情報と更新用プログラムモジュールのバージョン情報とを比較して特定する。内視鏡装置100は、プログラムモジュールの更新が必要となる各電子デバイスを、内視鏡装置100の機器構成に応じてグループ分けする。そして、予め定めたルールに従って、グループ単位の更新順序と、同一グループ内における更新順序とを設定し、各プログラムモジュールの最適な更新順序を決定する。
このため、他の異なる種類の内視鏡スコープ13に付け替えたり、プロセッサ11を入れ替えたりする等、内視鏡装置100の電子デバイス構成に変更が生じても、変更後の機器構成に対する最適な更新順序に設定することができる。
上記構成によれば、内視鏡装置100の操作者は、プログラムモジュールの更新の際、装置構成に応じた更新手順の検討を要することなく、内視鏡装置100が自動的に決定した最適な更新順序でバージョンアップが行える。また、更新処理の所要時間を短縮でき、誤った操作手順で更新されることも未然に防止できる。
なお、今回の更新情報の更新処理を完了した後、次回の更新情報が更新情報入力部43に入力されたとき、内視鏡装置100の機器構成に変更がない場合には、メモリ55に記憶された前回の更新順序テーブル(LUT)を参照して、更新が必要となる各プログラムモジュールに対する更新順序を決定することができる。これによれば、更新順序を簡単に設定することができる。
上記例では、バージョンアップの処理を説明したが、更新内容によってはバージョンダウンを実施することもある。その場合、更新順序はバージョンアップの場合とは逆にする等、変更を要する。
即ち、バージョンアップ時のプログラムモジュールの更新順序とバージョンダウン時の更新順序とは異なるため、双方の更新を可能にするためには、予めバージョンアップとバージョンダウンのそれぞれに対して別々の更新順序テーブルを用意しておき、CPU2がいずれかの更新順序テーブルを選択的に用いればよい。
また、更新順序テーブルには、個々の電子デバイスに導入済みのプログラムモジュールのバージョンが、導入予定のバージョンと同一、又は導入予定のバージョンより更に新しい場合に、その導入予定のバージョンに対しては更新をスキップさせる手順を加えてもよい。このように、各電子デバイスに導入済みのバージョン情報を参照して、更新順序テーブルを書き換えることで、無用な更新処理を行う必要がなくなる。
本発明は上記の実施形態に限定されるものではなく、実施形態の各構成を相互に組み合わせることや、明細書の記載、並びに周知の技術に基づいて、当業者が変更、応用することも本発明の予定するところであり、保護を求める範囲に含まれる。
以上の通り、本明細書には次の事項が開示されている。
(1) プログラムモジュールによって制御される電子デバイスを複数含み、当該複数の電子デバイスのプログラムモジュールを更新する機能を有する電子機器であって、
外部より入力され前記複数の電子デバイスに対する更新用プログラムを記憶する更新情報記憶手段と、
前記複数の電子デバイスそれぞれについて、前記プログラムモジュールの現在のバージョン情報を、前記更新用プログラムにより更新されるプログラムモジュールのバージョン情報と比較し、更新対象となる電子デバイスを特定する更新対象特定手段と、
前記更新対象特定手段により特定された電子デバイスをグループ分けすると共にグループ間の更新順序を設定し、次いで各グループに含まれる電子デバイスのグループ内更新順序を設定し、これにより更新対象となる全ての電子デバイスについて更新順序を設定した更新順序テーブルを生成する更新順序設定手段と、
前記更新対象となる前記電子デバイスのプログラムモジュールを、前記設定された更新順序テーブルの更新順序に従って、前記更新情報記憶手段に記憶されている更新用プログラムによりそれぞれ更新する更新実行手段と、
を備えた電子機器。
この電子機器によれば、機器構成に変更があった場合でも、その機器構成に応じた各プログラムモジュールの適切な更新順序を更新順序テーブルに設定し、この更新順序テーブルの更新順序に従って、効率良く適正にプログラムモジュールの書き換えが行える。
(2) (1)の電子機器であって、
前記複数の電子デバイスは、プログラムモジュールを読み込むことにより論理回路の書き換えが可能なプログラマブル集積回路と、論理回路の書き換えが不可能な非プログラマブル集積回路とをそれぞれ少なくとも1つ含む電子機器。
この電子機器によれば、互いに素子構造の異なるプログラム集積回路と非プログラム集積回路とが混在した場合でも、これらを適正なプログラムモジュールの更新順序に設定することができる。
(3) (2)の電子機器であって、
前記更新順序設定手段は、前記プログラマブル集積回路を同一のグループとし、且つ当該グループの更新順序を他のグループより先の更新順序にする電子機器。
この電子機器によれば、プログラムモジュールを書き込んでも即時更新されないプログラマブル集積回路を先の更新順序に設定することで、次回リブート時にこれらを一度に纏めて、効率良くプログラムモジュールを更新させることができる。
(4) (3)の電子機器であって、
前記更新順序設定手段は、電子機器全体を統括制御する前記非プログラマブル集積回路と、当該非プログラマブル集積回路と同一機器内で接続され、前記プログラマブル集積回路以外の電子デバイスとを、同一のグループにする電子機器。
この電子機器によれば、電子機器全体を統括制御する非プログラマブル集積回路と、その非プログラマブル集積回路と同一機器内で接続され、プログラマブル集積回路以外の電子デバイスとが同一グループとされる。例えば、上記非プログラマブル集積回路を含む電子機器本体とは異なる外部機器に搭載された電子デバイスは、別グループとなる。従って、電子機器本体側と、これに接続される外部電子機器とがそれぞれ別グループになり、効率良くプログラムモジュールを更新させることができる。
(5) (4)の電子機器であって、
前記電子機器全体を統括制御する非プログラマブル集積回路がリブートにより更新がなされる非プログラマブル集積回路であり、当該非プログラマブル集積回路にパラレル接続され電子デバイスが単独で内部リセット可能な非プログラマブル集積回路であり、
前記更新順序設定手段は、前記電子機器全体を統括制御する非プログラマブル集積回路の更新順序をグループ内において最後にする電子機器。
この電子機器によれば、電子機器全体を統括制御する非プログラム集積回路のプログラムモジュールを最後に更新することで、更新されたプログラムモジュールの追加機能をエラーの発生なく有効にできる
(6) (2)〜(5)のいずれか一つの電子機器であって、
前記プログラマブル集積回路がFPGA(Field-Programmable Gate Array)であり、前記非プログラマブル集積回路がCPU(Central Processing Unit)である電子機器。
この電子機器によれば、FPGAとCPUとが混在する機器構成であっても、双方を区別してグループ分けすることで、更新順序を適正に設定することができる。
(7) (1)〜(6)のいずれか一つの電子機器であって、
前記更新順序設定手段は、更新順序の設定において、次の更新対象となる電子デバイスのグループが、当該グループの前の更新対象である電子デバイスのグループと異なる場合に、前記グループ同士の間にリブートを設定する電子機器。
この電子機器によれば、更新順序のうち、異グループ間を跨ぐときに、リブートが設定されることで、各電子デバイスのプログラムモジュールを正常に更新できる。また、グループ分けして更新順序を設定するので、リブートの回数を最小限に留める制御がし易くなる。
(8) (1)〜(7)のいずれか一つの電子機器であって、
前記更新順序テーブルは、前記電子機器の構成の変更に応じて書き換え可能とされている電子機器。
この電子機器によれば、電子機器の構成に変更があった場合でも、これに対応して更新順序を常に適正に書き換えることができる。
(9) (1)〜(8)のいずれか一つの電子機器であって、
前記更新順序設定手段によって設定された更新順序に基づく更新手順を表示する表示手段を備えた電子機器。
この電子機器によれば、設定された更新順序が表示手段に表示されるので、操作者が容易に更新内容を把握できる。
(10) (1)〜(9)のいずれか一つの電子機器が内視鏡装置である電子機器。
この電子機器によれば、内視鏡スコープやプロセッサの入れ替えが行われた場合でも、適正なプログラムモジュールの更新順序が自動設定されるので、操作者の作業負担が軽減され、内視鏡装置の稼働状況に影響を及ぼすことなく、円滑にプログラムモジュールの更新が行える。
(11) プログラムモジュールによって制御される電子デバイスを複数含む電子機器の、当該複数の電子デバイスの少なくとも1つのプログラムモジュールを更新するプログラムモジュール更新方法であって、
前記複数の電子デバイスそれぞれについて、前記プログラムモジュールの現在のバージョン情報を、更新用プログラムにより更新されるプログラムモジュールのバージョン情報と比較し、更新対象となる電子デバイスを特定する更新対象特定ステップと、
前記更新対象特定ステップにより特定された電子デバイスをグループ分けすると共にグループ間の更新順序を設定し、次いで各グループに含まれる電子デバイスのグループ内更新順序を設定し、これにより更新対象となる全ての電子デバイスについて更新順序を設定する更新順序設定ステップと、
前記更新対象となる前記電子デバイスのプログラムモジュールを、前記設定された更新順序に従って、前記更新用プログラムによりそれぞれ更新する更新実行ステップと、
からなるプログラムモジュール更新方法。
このプログラムモジュールの更新方法によれば、機器構成に変更があった場合でも、更新対象となる全ての電子デバイスについて更新順序を設定し、この設定された更新順序に従って、電子デバイスのプログラムモジュールを更新することで、効率良く適正にプログラムモジュールの書き換えが行える。
11 プロセッサ
13 内視鏡スコープ
15 モニタ
17 入力部
19 本体操作部
27 操作ボタン
37 撮像素子
41 ROM
43 更新情報入力部
45 センサ駆動FPGA
47 ROM
49 ROM
51 映像入力FPGA
53 画像処理FPGA
55 メモリ
57 ROM
59 ROM
61 ROM
63 記憶媒体
65 ネットワーク
100 内視鏡装置
S1 回路基板
S2 回路基板

Claims (9)

  1. それぞれ対応するプログラムモジュールによって制御される複数の電子デバイスを備え、当該複数の電子デバイスのプログラムモジュールを更新する機能を有する電子機器であって、
    外部より入力され前記複数の電子デバイスのプログラムモジュールを更新するための更新用プログラムモジュールを記憶する更新情報記憶手段と、
    前記複数の電子デバイスそれぞれについて、前記プログラムモジュールの現在のバージョン情報前記更新情報記憶手段に記憶された前記更新用プログラムモジュールのバージョン情報とを比較して、更新対象となる電子デバイスを特定する更新対象特定手段と、
    前記更新対象特定手段により特定された電子デバイスをグループ分けすると共にグループ間の更新順序を設定し、次いで各グループに含まれる電子デバイスのグループ内更新順序を設定し、これにより更新対象となる全ての電子デバイスについて更新順序を設定した更新順序テーブルを生成する更新順序設定手段と、
    前記更新対象となる前記電子デバイスのプログラムモジュールを、前記設定された更新順序テーブルの更新順序に従って、前記更新情報記憶手段に記憶されている更新用プログラムモジュールによりそれぞれ更新する更新実行手段と、
    を備え、
    前記複数の電子デバイスは、プログラムモジュールを読み込むことにより論理回路の書き換えが可能なプログラマブル集積回路と、論理回路の書き換えが不可能な非プログラマブル集積回路とをそれぞれ少なくとも1つ含み、
    前記更新順序設定手段は、前記プログラマブル集積回路を同一のグループとし、且つ当該グループの更新順序を他のグループより先の更新順序にする電子機器。
  2. 請求項1記載の電子機器であって、
    前記更新順序設定手段は、電子機器全体を統括制御する前記非プログラマブル集積回路と、当該非プログラマブル集積回路と同一機器内で接続され、前記プログラマブル集積回路以外の電子デバイスとを、同一のグループにする電子機器。
  3. 請求項2記載の電子機器であって、
    前記電子機器全体を統括制御する非プログラマブル集積回路がリブートにより更新がなされる非プログラマブル集積回路であり、当該非プログラマブル集積回路と同一機器内で接続され電子デバイスが単独で内部リセット可能な非プログラマブル集積回路であり、
    前記更新順序設定手段は、前記電子機器全体を統括制御する非プログラマブル集積回路の更新順序をグループ内において最後にする電子機器。
  4. 請求項1〜請求項3のいずれか一項記載の電子機器であって、
    前記プログラマブル集積回路がFPGA(Field-Programmable Gate Array)であり、前記非プログラマブル集積回路がCPU(Central Processing Unit)である電子機器。
  5. 請求項1〜請求項4のいずれか一項記載の電子機器であって、
    前記更新順序設定手段は、更新順序の設定において、次の更新対象となる電子デバイスのグループが、当該グループの前の更新対象である電子デバイスのグループと異なる場合に、前記グループ同士の間にリブートを設定する電子機器。
  6. 請求項1〜請求項5のいずれか一項記載の電子機器であって、
    前記更新順序テーブルは、前記電子機器の構成の変更に応じて書き換え可能とされている電子機器。
  7. 請求項1〜請求項6のいずれか一項記載の電子機器であって、
    前記更新順序設定手段によって設定された更新順序に基づく更新手順を表示する表示手段を備えた電子機器。
  8. 請求項1〜請求項7のいずれか一項記載の電子機器が内視鏡装置である電子機器。
  9. それぞれ対応するプログラムモジュールによって制御される複数の電子デバイスを備える電子機器の、当該複数の電子デバイスの少なくとも1つのプログラムモジュールを更新するプログラムモジュール更新方法であって、
    前記複数の電子デバイスそれぞれについて、前記プログラムモジュールの現在のバージョン情報当該プログラムモジュールを更新するための更新用プログラムモジュールのバージョン情報とを比較して、更新対象となる電子デバイスを特定する更新対象特定ステップと、
    前記更新対象特定ステップにより特定された電子デバイスをグループ分けすると共にグループ間の更新順序を設定し、次いで各グループに含まれる電子デバイスのグループ内更新順序を設定し、これにより更新対象となる全ての電子デバイスについて更新順序を設定する更新順序設定ステップと、
    前記更新対象となる前記電子デバイスのプログラムモジュールを、前記設定された更新順序に従って、前記更新用プログラムモジュールによりそれぞれ更新する更新実行ステップと、を備え、
    前記複数の電子デバイスは、プログラムモジュールを読み込むことにより論理回路の書き換えが可能なプログラマブル集積回路と、論理回路の書き換えが不可能な非プログラマブル集積回路とをそれぞれ少なくとも1つ含み、
    前記更新順序設定ステップは、前記プログラマブル集積回路を同一のグループとし、且つ当該グループの更新順序を他のグループより先の更新順序にするプログラムモジュール更新方法。
JP2011119634A 2011-05-27 2011-05-27 電子機器、及び電子機器のプログラムモジュール更新方法 Expired - Fee Related JP5624943B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011119634A JP5624943B2 (ja) 2011-05-27 2011-05-27 電子機器、及び電子機器のプログラムモジュール更新方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011119634A JP5624943B2 (ja) 2011-05-27 2011-05-27 電子機器、及び電子機器のプログラムモジュール更新方法

Publications (2)

Publication Number Publication Date
JP2012248029A JP2012248029A (ja) 2012-12-13
JP5624943B2 true JP5624943B2 (ja) 2014-11-12

Family

ID=47468410

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011119634A Expired - Fee Related JP5624943B2 (ja) 2011-05-27 2011-05-27 電子機器、及び電子機器のプログラムモジュール更新方法

Country Status (1)

Country Link
JP (1) JP5624943B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015009507B4 (de) 2015-07-23 2017-07-27 Schölly Fiberoptic GmbH Bildaufnahmevorrichtung, Verfahren zur Konfiguration eines Kamerakopfes einer Bildaufnahmevorrichtung und Bildaufnahmevorrichtung-Set
CN118069201B (zh) * 2024-04-25 2024-06-18 四川知行志成科技有限公司 基于云服务平台的企业运维管理服务系统及方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004118586A (ja) * 2002-09-26 2004-04-15 Murata Mach Ltd 管理装置およびそのプログラム
JP4636224B2 (ja) * 2003-12-26 2011-02-23 富士フイルム株式会社 電子内視鏡装置およびプログラム転送方法
US7855727B2 (en) * 2004-09-15 2010-12-21 Gyrus Acmi, Inc. Endoscopy device supporting multiple input devices
JP4690055B2 (ja) * 2005-01-14 2011-06-01 三菱電機株式会社 ファームウェア更新方法およびファームウェア更新システム
JP2007310690A (ja) * 2006-05-19 2007-11-29 Sharp Corp ファームウェアのアップデート方法、プログラム、記憶媒体
JP4821441B2 (ja) * 2006-05-31 2011-11-24 セイコーエプソン株式会社 デバイスの監視装置を管理するための管理装置、管理方法およびコンピュータプログラム

Also Published As

Publication number Publication date
JP2012248029A (ja) 2012-12-13

Similar Documents

Publication Publication Date Title
CN107493685B (zh) 经由端口控制器自身的外部端口对端口控制器进行再编程
JP2012248031A (ja) 電子機器、内視鏡装置及び電子機器のプログラムモジュール更新方法
US7613937B2 (en) Method and apparatus for utilizing a microcontroller to provide an automatic order and timing power and reset sequencer
JP5491675B2 (ja) 情報処理装置及び情報処理装置制御方法
CN101815988A (zh) 固件映像更新和管理
JP3629517B2 (ja) 情報処理装置のブートデバイス切替方法。
JP5624943B2 (ja) 電子機器、及び電子機器のプログラムモジュール更新方法
CN114153477B (zh) Pcie驱动卡固件升级方法、装置、系统、设备及介质
US8255581B2 (en) Electronic device having physical switch to select functionality exposed to host computing device
JP2008198060A (ja) 情報処理装置、パッチコード実装システム、電子機器及びパッチコードの実装方法
US6925522B2 (en) Device and method capable of changing codes of micro-controller
CN114127685B (zh) 电子设备及其控制方法
JP6001962B2 (ja) インバータ装置
US8892499B2 (en) Life cycle management of rule sets
JP5690656B2 (ja) 電子機器、及び電子機器のプログラムモジュール更新方法
WO2020129324A1 (ja) モジュール及びこれを備える情報処理装置、並びにモジュールのプログラムデータを更新するプログラムデータ更新方法
JP2009080736A (ja) Plc構築方法
JP5891095B2 (ja) 内視鏡装置
JP2011145810A (ja) プログラムデータの書き換え方法及び機器制御システム
EP1892618A2 (en) Display apparatus and information update method therefor
TW201423592A (zh) 機櫃與其同時更新多個基本輸入輸出系統的方法
JP2012085866A (ja) 内視鏡装置及び内視鏡装置の制御方法
JP2007084216A (ja) 制御装置
US20200326950A1 (en) Simulation apparatus, simulation method, and information processing apparatus
JP2010117970A (ja) ディスク制御装置およびファームウェアの更新方法

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20121005

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131129

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140611

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140617

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140818

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: 20140902

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140929

R150 Certificate of patent or registration of utility model

Ref document number: 5624943

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

LAPS Cancellation because of no payment of annual fees