JP5002900B2 - 制御装置とそのプログラム、及び、プログラムダウンロード方法 - Google Patents

制御装置とそのプログラム、及び、プログラムダウンロード方法 Download PDF

Info

Publication number
JP5002900B2
JP5002900B2 JP2005077991A JP2005077991A JP5002900B2 JP 5002900 B2 JP5002900 B2 JP 5002900B2 JP 2005077991 A JP2005077991 A JP 2005077991A JP 2005077991 A JP2005077991 A JP 2005077991A JP 5002900 B2 JP5002900 B2 JP 5002900B2
Authority
JP
Japan
Prior art keywords
program
bank
memory bank
host computer
control device
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
JP2005077991A
Other languages
English (en)
Other versions
JP2006260283A (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2005077991A priority Critical patent/JP5002900B2/ja
Publication of JP2006260283A publication Critical patent/JP2006260283A/ja
Application granted granted Critical
Publication of JP5002900B2 publication Critical patent/JP5002900B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は制御装置とそのプログラム、及び、プログラムダウンロード方法に関し、特に、プログラムを格納する領域を複数備える制御装置において、ダウンロードした新規プログラムが正常に動作できなかった場合には旧プログラムで自動的に再起動することを可能とする、制御装置とそのプログラム、及び、プログラムダウンロード方法に関する。
近年、パーソナルコンピュータや通信端末装置などの動作制御を行うプログラムは、通信回線で接続したホストコンピュータからダウンロードすることが出来るようになってきている。プログラムをダウンロードすることによって、旧プログラムのバージョンアップを行うことや、新規プログラムのインストールを行うことなどが可能となっている。
ダウンロードしたプログラムは、通常、正常な動作を行うものであるが、まれには、バグを内蔵したプログラムがダウンロードされる場合も有りうる。バグを内蔵するプログラムがダウンロードされてしまった場合には、このプログラムは使用できないが、そのまま稼動停止状態となってしまうことは避けねばならず、何らかの方法によって復旧できることが望まれる。
ダウンロードしたプログラムにバグがあった場合でも、電源の再投入あるいは遠隔からの制御により確実に復旧できるようなダウンロード方法が提案されている(例えば、特許文献1参照。)。
上述した特許文献1「プログラムダウンロード方法」には、以下のようなダウンロード方法が開示されている。
すなわち、クライアント装置とサーバ装置を通信回線で接続し、サーバ装置からクライアント装置へプログラムをダウンロードするように構成する。クライアント装置には第1のメモリ領域(バンク1)と第2のメモリ領域(バンク2)を設ける。そして、第1のメモリ領域に、サーバ装置から第2のメモリ領域へプログラムをダウンロードする手順と、第2のメモリ領域にあるプログラムとダウンロードすべきプログラムが同一である場合にはダウンロードをスキップする手順を含むプログラムを格納しておく。クライアント装置の立ち上げ時には、第1のメモリ領域から起動し、第2のメモリ領域に同一のプログラムが存在している場合には、プログラムのダウンロードを行わないようにしている。このことにより、ダウンロードに要する時間を短縮し、かつプログラムにバグがあった場合でも、電源の再投入あるいは遠隔からの制御により確実に復旧できるダウンロード方法が提供できる、としている。
特開平9−160783号公報(第3−6頁、図1〜3)
上述した特許文献1に記載の従来のプログラムダウンロード方法は、クライアント装置のバンク1にダウンロードを実行するプログラムを格納し、バンク2にサーバ装置からプログラムをダウンロードする構成である。そして、ダウンロードされるプログラムにバグがあった場合には、クライアント装置の電源を再投入することで再起動させ、バグの取り除かれた正常なプログラムを再度サーバ装置からダウンロードすることが必要となる。従って、一度サーバ装置からバグを含むプログラムをダウンロードしてしまうと、外部からクライアント装置の電源再投入作業を行わない限り、クライアント装置を復旧できないという問題点を有している。また、仮にサーバ装置のプログラムが正常なものに更新されていなかった場合には、クライアント装置は再稼動を行えないという問題点も有している。
本発明は、上述した事情を改善するために成されたものであり、従って本発明の目的は、プログラムを格納する領域を複数備える制御装置において、ダウンロードした新規プログラムが正常に動作できなかった場合には、正常なプログラムのダウンロードを待つことなく、ダウンロード前の旧プログラムで自動的に再起動することを可能とする、制御装置とそのプログラム、及び、プログラムダウンロード方法、を提供することにある。
本発明の制御装置は、CPU(中央処理装置)が実行するプログラムを格納する複数のメモリバンクに、ホストコンピュータから新プログラムをダウンロードする制御装置であって、
前記CPUの動作異常を検出すると前記CPUをリセットするためのリセット信号を発生するウォッチドッグ回路と、
前記リセット信号に基づき前記複数のメモリバンクのバンク切替を行うためのバンク切替制御信号を発生するエラー検出回路と、
前記エラー検出回路若しくは前記CPUからのバンク切替制御信号により前記複数のメモリバンクのバンク切替を行うバンク切替回路と、を備え、
前記ホストコンピュータの新プログラムを前記複数のメモリバンクの内の未選択メモリバンク(現在選択されていないメモリバンク)にダウンロードし、該メモリバンクを前記バンク切替回路によって選択済メモリバンク(選択されたメモリバンク)に切り替えて該選択済メモリバンクのプログラムで起動し、
該選択済メモリバンクのプログラムの実行中に、前記ウォッチドッグ回路からリセット信号が出力された場合、未選択メモリバンクを前記バンク切替回路によって選択済メモリバンクに切り替えると共に前記CPUをリセットして再度起動する、ことを特徴とする。
また、前記制御装置の起動時に、前記複数のメモリバンクの内の選択済メモリバンクに格納されているプログラムと前記ホストコンピュータの新プログラムとを比較し、両プログラムが同一である場合には、該選択済メモリバンクのプログラムで起動し、両プログラムが同一でない場合には、さらに、
前記複数のメモリバンクの内の未選択メモリバンクに格納されているプログラムと前記ホストコンピュータの新プログラムとを比較し、両プログラムが同一であれば選択済メモリバンクのプログラムで起動し、両プログラムが同一でない場合には、前記ホストコンピュータの新プログラムを該未選択メモリバンクにダウンロードする、ことを特徴とする。
さらに、前記選択済メモリバンクのプログラムの実行中に、前記ウォッチドッグ回路からリセット信号が出力された場合、前記エラー検出回路は前記リセット信号に基づいてバンク切替制御信号を発生し、前記バンク切替回路は前記バンク切替制御信号に基づいて未選択メモリバンクを選択済メモリバンクに切り替える、ことを特徴とする。
また、前記制御装置は、前記制御装置の初期起動用のプログラム群を格納するメモリを更に備え、前記プログラム群は少なくとも、前記複数のメモリバンクに格納されているプログラムと前記ホストコンピュータの新プログラムとが同一であるかを比較する比較プログラムと、前記ホストコンピュータの新プログラムを前記複数のメモリバンクの内の未選択メモリバンクにダウンロードするダウンロードプログラムと、前記新プログラムをダウンロードした未選択メモリバンクを選択済メモリバンクに切り替えるバンク切替プログラムと、を含むことを特徴とする。
本発明のプログラムは、プログラムを格納可能な複数のメモリバンクに、ホストコンピュータから新プログラムをダウンロードする制御装置のコンピュータに、
前記複数のメモリバンクに格納されているプログラムと前記ホストコンピュータの新プログラムとが同一であるかを比較する比較処理と、前記ホストコンピュータの新プログラムを前記複数のメモリバンクの内の未選択メモリバンクにダウンロードするダウンロード処理と、前記新プログラムをダウンロードした未選択メモリバンクを選択済メモリバンクに切り替えるバンク切替処理と、を実行させることを特徴とする。
また、前記比較処理においては、前記複数のメモリバンクの内の選択済メモリバンクに格納されているプログラムと前記ホストコンピュータの新プログラムとを比較する処理を実行させ、両プログラムが同一でない場合には、さらに、
前記複数のメモリバンクの内の未選択メモリバンクに格納されているプログラムと前記ホストコンピュータの新プログラムとを比較する処理を実行させ、両プログラムが同一でない場合には、前記ダウンロード処理を実行させて、前記ホストコンピュータの新プログラムを該未選択メモリバンクにダウンロードする、ことを特徴とする。
さらに、前記ダウンロード処理を実行させた後に前記バンク切替処理を実行させて、前記新プログラムをダウンロードした未選択メモリバンクを選択済メモリバンクに切り替える、ことを特徴とする。
本発明のプログラムダウンロード方法は、CPUが実行するプログラムを格納する複数のメモリバンクを備える制御装置に、ホストコンピュータから新プログラムをダウンロードするプログラムダウンロード方法であって、
前記ホストコンピュータの新プログラムを前記複数のメモリバンクの内の未選択メモリバンクにダウンロードし、該メモリバンクを選択済メモリバンクに切り替えて該選択済メモリバンクのプログラムで起動し、
該選択済メモリバンクのプログラムの実行中に、前記CPUの動作異常が検出された場合、未選択メモリバンクを選択済メモリバンクに切り替えると共に前記CPUをリセットして再度起動する、ことを特徴とする。
また、前記制御装置の起動時に、前記複数のメモリバンクの内の選択済メモリバンクに格納されているプログラムと前記ホストコンピュータの新プログラムとを比較し、両プログラムが同一である場合には、該選択済メモリバンクのプログラムで起動し、両プログラムが同一でない場合には、さらに、
前記複数のメモリバンクの内の未選択メモリバンクに格納されているプログラムと前記ホストコンピュータの新プログラムとを比較し、両プログラムが同一であれば選択済メモリバンクのプログラムで起動し、両プログラムが同一でない場合には、前記ホストコンピュータの新プログラムを該未選択メモリバンクにダウンロードする、ことを特徴とする。
本発明の通信装置は、上記制御装置を有する通信装置である。
本発明のコンピュータ装置は、上記制御装置を有するコンピュータ装置である。
本発明の制御装置は、ダウンロードした新プログラムにバグなどの不良が有った場合には、CPUの動作異常がウォッチドッグ回路で検出され、CPUがリセットされる。従って、制御装置の再起動を自動的に行うことが可能となる。
次に、本発明の実施の形態について図面を参照して説明する。
図1は、本発明の制御装置の一実施形態を示すブロック図である。
図1に示す本実施の形態は、制御装置1の構成の一例を示すものである。本実施形態における制御装置1は、CPU(Central Procssing Unit:中央処理装置)がメモリ内に記憶されたプログラムを実行することにより、所定の機能を実現するコンピュータ装置である。制御装置1としては、パーソナルコンピュータや通信端末装置などを挙げることができる。
図1に示す制御装置1は、制御装置1の中央処理装置としてのCPU2と、CPU2が実行するプログラムを記憶する記憶装置としての複数のメモリバンクA5、メモリバンクB6、メモリバンクC7を備えている。また、メモリバンクB6とメモリバンクC7のバンク切替制御を行うバンク切替回路8を備えている。CPU2とメモリバンクA5、メモリバンクB6、メモリバンクC7、バンク切替回路8とは、アドレスバス9、データバス10を介して相互に接続されている。メモリバンクA5、メモリバンクB6、メモリバンクC7は、何れも、電気的に消去・書き込みが可能なフラッシュメモリなどの不揮発性メモリで構成されている。
また、制御装置1は、CPU2の暴走を検出してこれをリセットするためのリセット信号を出力するウォッチドッグ(Watchdog)回路3を備えている。ウォッチドッグ回路3は、CPU2から出力されるウォッチドッグパルスが一定時間間隔で入力されている場合は、CPU2は正常動作を行っているため、リセット信号を出力しない。CPU2からのウォッチドッグパルスが一定間隔以上となった場合、すなわち、ウォッチドッグが発生した場合、CPU2は異常であり暴走している、或いは、停止しているため、ウォッチドッグ回路3はリセット信号を出力するよう動作する。
さらに、制御装置1は、ウォッチドッグ回路3から出力されるリセット信号を受信すると、バンク切替回路8に対しバンク切替制御信号を出力するエラー検出回路4を備えている。
またさらに、アドレスバス9、データバス10に接続される外部I/O(Input/Output)ポート11を備えている。外部I/Oポート11は、通信回線13を介してホストコンピュータ12と接続される。ホストコンピュータ12は、制御装置1へダウンロードするプログラムを保持している。
なお、図1における制御装置1は、一般的なコンピュータ装置が備えるべき入出力機器や記憶装置(ROM、RAM)、通信用コントローラなどを備えるものであるが、簡単化のため、これらの機能ブロックについては図示を省略している。
次に、図2を参照して、制御装置1のCPU2が実行するプログラムについて説明する。
図2は、制御装置のプログラム構成の一例を示す図である。
図1に示した制御装置1は、CPU2が実行するプログラムを、図2に示すようにメモリバンクA5、メモリバンクB6、メモリバンクC7に記憶するようになっている。そして、メモリバンクA5には、制御装置1の初期起動用のプログラム群(ブートプログラム51、比較プログラム52、ダウンロードプログラム53、バンク切替プログラム54)を記憶する。メモリバンクB6、メモリバンクC7には、制御装置1の主プログラム(メモリバンクB6に主プログラム61、メモリバンクC7に主プログラム71)を記憶する。
メモリバンクB6とメモリバンクC7は、その何れか一方のバンクに制御装置1の主プログラムとして現在用いられている現用プログラムが記憶され、他方のバンクには一世代前のバージョンの主プログラムまたはバグなどの不良があった新プログラムが記憶される。メモリバンクB6とメモリバンクC7は、バンク切替回路8によって何れか一方のバンクだけが選択されるようになっており、選択されたバンク内の主プログラムによりCPU2が動作するものである。すなわち、選択されたバンク内のプログラムだけがCPU2によって読み出されて実行され、選択されていないバンクは使用されないようになっている。そこで、バンク切替回路8によって選択されたバンクを、以降、選択済バンクと称することとし、選択されていない他方のバンクを未選択バンクと称することとする。そして、現在選択されている選択済バンク内の主プログラムを現用プログラムと称することとし、もう一方の未選択バンクには、一世代前のバージョンの主プログラムまたはバグなどの不良があった新プログラムが記憶され、この未選択バンクにホストコンピュータ12からの新プログラムをダウンロードするものとする。
図2に示すように、メモリバンクB6が選択済バンクであるとすると、その主プログラム61は現用プログラムとなり、他方のメモリバンクC7は未選択バンクとなるため、その主プログラム71は一世代前のバージョンの主プログラムまたはバグなどの不良があった新プログラムとなる。
メモリバンクA5には、制御装置1の初期起動用のプログラム群が記憶される。
第1はブートプログラム51であり、ブートプログラム51は、制御装置1を起動させるためのブート(Bootstrap:起動)手順を実行するプログラムである。
第2は比較プログラム52であり、比較プログラム52は、ホストコンピュータ12が保持しているプログラム(新プログラム)と、メモリバンクB6(或いは、メモリバンクC7)に記憶されている主プログラムとが等しいか否かを比較する手順を実行するプログラムである。比較プログラム52は、通信回線13を介してホストコンピュータ12から新プログラムを取得し、取得した新プログラムとメモリバンクB6(或いは、メモリバンクC7)の主プログラムとが等しいか否かを比較するものとする。
第3はダウンロードプログラム53であり、ダウンロードプログラム53は、ホストコンピュータ12のプログラム(新プログラム)を未選択バンク(メモリバンクC7、或いは、メモリバンクB6)にダウンロードする手順を実行するプログラムである。
第4はバンク切替プログラム54であり、バンク切替プログラム54は、メモリバンクB6とメモリバンクC7の何れかのバンクを選択するためのバンク切替手順を実行するプログラムである。
次に、図3を参照して、本実施形態の動作について説明する。
図3は、本実施形態の動作を説明するフローチャートである。
先ず、制御装置1は、メモリバンクA5に記憶されている初期起動用のプログラムで起動し(図3のステップS1)、初期起動用のプログラム群の内のブートプログラム51を実行する(ステップS2)。
次に、比較プログラム52を実行する(ステップS3)。比較プログラム52は、選択済バンク(例えば、メモリバンクB6とする。)の主プログラムと、ホストコンピュータ12が保持している新プログラムとが、同一内容であるかを比較する。そして、両プログラムが一致しているかを判定する(ステップS4)。
両プログラムが一致した場合は(ステップS4でYes)、ステップS9に進み、選択済バンク(メモリバンクB6)に格納されている主プログラムから起動する(ステップS9)。
両プログラムが一致しない場合は(ステップS4でNo)、比較プログラム52を再度実行し、未選択バンク(メモリバンクC7)の主プログラムと、ホストコンピュータ12が保持している新プログラムとが、同一内容であるかを比較する(ステップS5)。そして、両プログラムが一致しているかを判定する(ステップS6)。
両プログラムが一致した場合は(ステップS6でYes)、ステップS9に進み、選択済バンク(メモリバンクB6)に格納されている主プログラムから起動する(ステップS9)。
両プログラムが一致しない場合は(ステップS6でNo)、ダウンロードプログラム53を実行し、ホストコンピュータ12の新プログラムを、未選択バンク(メモリバンクC7)にダウンロードする(ステップS7)。
ここで、ステップS5、S6の動作について補足説明を行っておく。未選択バンク(メモリバンクC7)には通常、一世代前のバージョンの主プログラムが記憶・格納されている。一世代前の主プログラムとホストコンピュータ12の新プログラムが一致する場合(ステップS6でYes)、ホストコンピュータ12には誤って一世代前のプログラムが格納されている。従って、このプログラムはダウンロードせずに、選択済バンク(メモリバンクB6)の主プログラムで制御装置1を起動するようにする(ステップS9)。
ステップS7で未選択バンク(メモリバンクC7)にホストコンピュータ12の新プログラムをダウンロードした後、バンク切替プログラム54を実行し、これまで未選択バンクであったバンク(メモリバンクC7)を選択済バンクに切り替える(ステップS8)。そして、ステップS9に進み、選択済バンク(メモリバンクC7)に格納されている主プログラム、すなわち、ダウンロードした新プログラムで起動する(ステップS9)。
ステップS9で選択済バンクから起動した後、該選択済バンクの主プログラムを実行する(ステップS10)。
ステップS10での主プログラム実行中において、該主プログラムにバグが無く正常に動作していればウォッチドッグは発生しないため、そのまま該主プログラムの動作を継続する(ステップS11でNo)。該主プログラムにバグなどの不良がありCPU2が暴走するとウォッチドッグが発生する(ステップS11でYes)。
ウォッチドッグが発生すると(ステップS11でYes)、ウォッチドッグ回路3はリセット信号を出力する。該リセット信号はエラー検出回路4で受信され、エラー検出回路4は、バンク切替制御信号をバンク切替回路8に対して出力する。バンク切替回路8はバンク切替を行い、選択済バンクを未選択バンクとし、未選択バンクを選択済バンクに切り替える(ステップS12)。ウォッチドッグ回路3からのリセット信号はCPU2にも入力されるため、CPU2がリセットされてステップS1に戻るようになり、改めて制御装置1の再起動が行われるようになる。
制御装置1の再起動が行われると、制御装置1は図3に示したステップS1からの動作をそのまま再度行う。しかしこの再起動時においては、ホストコンピュータ12の新プログラム(バグなどの不良があった新プログラム)が再度ダウンロードされることはない。
一例として、選択済バンク(例えば、メモリバンクB6)が主プログラム(旧の主プログラム)を有し、未選択バンク(メモリバンクC7)がダウンロードした新プログラム(バグなどの不良があった新プログラム)を有しているものとする。
再起動時においても、制御装置1は先ず、メモリバンクA5に記憶されている初期起動用のプログラムで起動し(ステップS1)、初期起動用のプログラム群の内のブートプログラム51を実行する(ステップS2)。
次に、比較プログラム52を実行する(ステップS3)。比較プログラム52は、選択済バンク(メモリバンクB6)の主プログラム(旧の主プログラム)と、ホストコンピュータ12が保持している新プログラムとが、同一内容であるかを比較する。そして、両プログラムが一致しているかを判定する(ステップS4)。
このとき、両プログラム(選択済バンクの旧の主プログラムとホストコンピュータ12のバグなどの不良があった新プログラム)とは一致しない。従って、ステップS5に進む。
ステップS5において、比較プログラム52を再度実行し、未選択バンク(メモリバンクC7)の主プログラムと、ホストコンピュータ12が保持している新プログラムとが、同一内容であるかを比較する。そして、両プログラムが一致しているかを判定する(ステップS6)。
このとき、両プログラムは一致する。未選択バンクはダウンロードした新プログラム(バグなどの不良があった新プログラム)を有し、ホストコンピュータ12が保持している新プログラムと同一だからである。従って、ステップS6でYesであるため、ステップS9に進み、選択済バンク(メモリバンクB6)に格納されている主プログラム(旧の主プログラム)から起動する(ステップS9)。
以上説明したように、制御装置1の再起動時には、ホストコンピュータ12の新プログラム(バグなどの不良があった新プログラム)が再度ダウンロードされることはない。
この結果、ホストコンピュータ12からダウンロードした新プログラムにバグ等の不具合が有った場合であっても、当初の選択済バンクの主プログラム(旧プログラムである)が実行されるようになり、旧プログラムで再起動することが可能となる。
なお、上述した実施形態の比較プログラム52は、通信回線13を介してホストコンピュータ12から新プログラムを取得し、取得した新プログラムとメモリバンクB6(或いは、メモリバンクC7)の主プログラムとが等しいか否かを比較するよう構成しているが、これを以下のように変更しても良い。
すなわち、比較プログラム52は、通信回線13を介してホストコンピュータ12から新プログラムのプログラム名称及びバージョン番号だけを取得する。そして、取得したプログラム名称及びバージョン番号を、メモリバンクB6(或いは、メモリバンクC7)の主プログラムのプログラム名称及びバージョン番号と比較するようにする。この比較により、ホストコンピュータ12の新プログラムとメモリバンクB6、C7の主プログラムとが一致するか否かを判定する。このように変更することにより、ホストコンピュータ12の新プログラムの規模が大きなものである場合に、比較処理を高速化することが可能となる。
以上説明したように、本実施形態によれば、ダウンロードした新プログラムにバグなどの不良が有った場合には、CPU2が暴走或いは停止してウォッチドッグ回路3が働き、CPU2をリセットする。従って、制御装置1の電源再投入などを行わずに制御装置1自身で自動的に再起動することが可能となる。
また、ダウンロードした新プログラムに不良があった場合であっても、ダウンロード前のプログラムで再起動することができる。従って、ホストコンピュータ12の新プログラムが正常なプログラムに更新されるのを待つことなく、ダウンロード前のプログラムで自動的に再起動することが可能となる。
次に、図4を参照して、本発明の制御装置の第2の実施形態について説明する。
図4は、本発明の制御装置の第2の実施形態を示すブロック図である。なお、図4において図1に示す構成要素に対応するものは同一の参照数字または符号を付し、その説明を省略する。
図4に示す第2の実施形態の制御装置1は、図1に示した第1の実施形態のバンク切替回路8を、CPU2側のアドレスバス9に挿入した点だけが異なる構成の一例を示すものである。そして、第2の実施形態の制御装置1は、そのプログラム配置も図2の構成と同様である。
また、第2の実施形態における制御装置1の動作についても、第1の実施形態と同様に動作することが可能である。従って、第2の実施形態に関するこれ以上の説明を省略するものとする。
以上説明したように、本発明の第2の実施形態は、第1の実施形態のハードウェア配置を変更した場合であっても、第1の実施形態と同様の動作を行うことが可能であることを示している。従って、制御装置1のハードウェア設計を行う上での各種の変形例を示したものであり、設計の柔軟性を向上させることが可能となる。
以上、本発明の第1および第2の実施形態について説明した。上述した実施形態における制御装置1は、CPU2を備えるコンピュータ装置として説明したが、さらなる具体例として、以下に示すような装置に適用することが可能である。
すなわち、制御装置1は、携帯電話機やPHS(Personal Handyphone System:パーソナルハンディホンシステム)端末、或いは、PDA(Personal Digital Assistance:携帯情報端末)などの通信端末に備えられるものである。また、基地局装置のような通信装置に備えられる。さらに、パーソナルコンピュータやノートパソコン、或いは、サーバ装置、ワークステーション装置などのコンピュータ装置に備えられる。
このとき、制御装置1のCPU2は、上述した通信端末や通信装置、或いは、コンピュータ装置のそれぞれの制御に使用される中央処理装置である。
また、制御装置1とホストコンピュータ12とを接続する通信回線13は、移動体通信網と接続するための無線回線であってもよい。或いは、LAN(Local Area Network:ラン)や電話回線などの有線回線であってもよい。
このとき、制御装置1の外部I/Oポート11は、基地局装置や移動体通信網と通信するための無線通信部であり、或いは、有線回線を介してホストコンピュータ12と接続するための有線回線インタフェースである。
本発明の制御装置の一実施形態を示すブロック図である。 制御装置のプログラム構成の一例を示す図である。 本実施形態の動作を説明するフローチャートである。 本発明の制御装置の第2の実施形態を示すブロック図である。
符号の説明
1 制御装置
2 CPU
3 ウォッチドッグ回路
4 エラー検出回路
5 メモリバンクA
6 メモリバンクB
7 メモリバンクC
8 バンク切替回路
9 アドレスバス
10 データバス
11 外部I/Oポート
12 ホストコンピュータ
13 通信回線

Claims (9)

  1. CPU(中央処理装置)が実行するプログラムを格納する複数のメモリバンクに、ホストコンピュータから新プログラムをダウンロードする制御装置であって、
    前記CPUの動作異常を検出すると前記CPUをリセットするためのリセット信号を発生するウォッチドッグ回路と、
    前記リセット信号に基づき前記複数のメモリバンクのバンク切替を行うためのバンク切替制御信号を発生するエラー検出回路と、
    前記エラー検出回路若しくは前記CPUからのバンク切替制御信号により前記複数のメモリバンクのバンク切替を行うバンク切替回路と、
    を備え、
    前記ホストコンピュータの新プログラムを前記複数のメモリバンクの内の未選択メモリバンク(現在選択されていないメモリバンク)にダウンロードし、該メモリバンクを前記バンク切替回路によって選択済メモリバンク(選択されたメモリバンク)に切り替えて該選択済メモリバンクのプログラムで起動し、
    該選択済メモリバンクのプログラムの実行中に、前記ウォッチドッグ回路からリセット信号が出力された場合、未選択メモリバンクを前記バンク切替回路によって選択済メモリバンクに切り替えると共に前記CPUをリセットして再度起動し、
    前記制御装置の起動時に、前記複数のメモリバンクの内の選択済メモリバンクに格納されているプログラムと前記ホストコンピュータの新プログラムとを比較し、両プログラムが同一である場合には、該選択済メモリバンクのプログラムで起動し、両プログラムが同一でない場合には、さらに、
    前記複数のメモリバンクの内の未選択メモリバンクに格納されているプログラムと前記ホストコンピュータの新プログラムとを比較し、両プログラムが同一であれば選択済メモリバンクのプログラムで起動し、両プログラムが同一でない場合には、前記ホストコンピュータの新プログラムを該未選択メモリバンクにダウンロードする、ことを特徴とする制御装置。
  2. 前記制御装置は、前記制御装置の初期起動用のプログラム群を格納するメモリを更に備え、前記プログラム群は少なくとも、前記複数のメモリバンクに格納されているプログラムと前記ホストコンピュータの新プログラムとが同一であるかを比較する比較プログラムと、前記ホストコンピュータの新プログラムを前記複数のメモリバンクの内の未選択メモリバンクにダウンロードするダウンロードプログラムと、前記新プログラムをダウンロードした未選択メモリバンクを選択済メモリバンクに切り替えるバンク切替プログラムと、を含むことを特徴とする請求項1に記載の制御装置。
  3. CPU(中央処理装置)が実行するプログラムを格納する複数の第1のメモリバンクに、ホストコンピュータから新プログラムをダウンロードする制御装置であって、
    前記CPUの動作異常を検出すると前記CPUをリセットするためのリセット信号を発生するウォッチドッグ回路と、
    前記リセット信号に基づき前記複数の第1のメモリバンクのバンク切替を行うためのバンク切替制御信号を発生するエラー検出回路と、
    前記エラー検出回路若しくは前記CPUからのバンク切替制御信号により前記複数の第1のメモリバンクのバンク切替を行うバンク切替回路と、
    前記制御装置の初期起動用のプログラムを記憶する第2のメモリバンクと、
    を備え、
    前記ホストコンピュータの新プログラムを前記複数の第1のメモリバンクの内の未選択メモリバンク(現在選択されていないメモリバンク)にダウンロードし、該第1のメモリバンクを前記バンク切替回路によって選択済メモリバンク(選択されたメモリバンク)に切り替えて該選択済メモリバンクのプログラムで起動し、
    該選択済メモリバンクのプログラムの実行中に、前記ウォッチドッグ回路からリセット信号が出力された場合、未選択メモリバンクを前記バンク切替回路によって選択済メモリバンクに切り替えると共に前記CPUをリセットして、前記第2のメモリバンクに記憶された初期起動用のプログラムによって再度起動し、
    前記制御装置の起動時に、前記複数の第1のメモリバンクの内の選択済メモリバンクに格納されているプログラムと前記ホストコンピュータの新プログラムとを比較し、両プログラムが同一である場合には、該選択済メモリバンクのプログラムで起動し、両プログラムが同一でない場合には、さらに、
    前記複数の第1のメモリバンクの内の未選択メモリバンクに格納されているプログラムと前記ホストコンピュータの新プログラムとを比較し、両プログラムが同一であれば選択済メモリバンクのプログラムで起動し、両プログラムが同一でない場合には、前記ホストコンピュータの新プログラムを該未選択メモリバンクにダウンロードする、ことを特徴とする制御装置。
  4. 前記第2のメモリバンクは、前記複数の第1のメモリバンクに格納されているプログラムと前記ホストコンピュータの新プログラムとが同一であるかを比較する比較プログラムと、前記ホストコンピュータの新プログラムを前記複数の第1のメモリバンクの内の未選択メモリバンクにダウンロードするダウンロードプログラムと、前記新プログラムをダウンロードした未選択メモリバンクを選択済メモリバンクに切り替えるバンク切替プログラムと、を含むことを特徴とする請求項3に記載の制御装置。
  5. 前記選択済メモリバンクのプログラムの実行中に、前記ウォッチドッグ回路からリセット信号が出力された場合、前記エラー検出回路は前記リセット信号に基づいてバンク切替制御信号を発生し、前記バンク切替回路は前記バンク切替制御信号に基づいて未選択メモリバンクを選択済メモリバンクに切り替える、ことを特徴とする請求項1から請求項4の何れか1項に記載の制御装置。
  6. CPUが実行するプログラムを格納する複数のメモリバンクを備える制御装置に、ホストコンピュータから新プログラムをダウンロードするプログラムダウンロード方法であって、
    前記ホストコンピュータの新プログラムを前記複数のメモリバンクの内の未選択メモリバンクにダウンロードし、該メモリバンクを選択済メモリバンクに切り替えて該選択済メモリバンクのプログラムで起動し、
    該選択済メモリバンクのプログラムの実行中に、前記CPUの動作異常が検出された場合、未選択メモリバンクを選択済メモリバンクに切り替えると共に前記CPUをリセットして再度起動し、
    前記制御装置の起動時に、前記複数のメモリバンクの内の選択済メモリバンクに格納されているプログラムと前記ホストコンピュータの新プログラムとを比較し、両プログラムが同一である場合には、該選択済メモリバンクのプログラムで起動し、両プログラムが同一でない場合には、さらに、
    前記複数のメモリバンクの内の未選択メモリバンクに格納されているプログラムと前記ホストコンピュータの新プログラムとを比較し、両プログラムが同一であれば選択済メモリバンクのプログラムで起動し、両プログラムが同一でない場合には、前記ホストコンピュータの新プログラムを該未選択メモリバンクにダウンロードする、ことを特徴とするプログラムダウンロード方法。
  7. CPUが実行するプログラムを格納する複数の第1のメモリバンクを備える制御装置に、ホストコンピュータから新プログラムをダウンロードするプログラムダウンロード方法であって、
    前記ホストコンピュータの新プログラムを前記複数の第1のメモリバンクの内の未選択メモリバンクにダウンロードし、該メモリバンクを選択済メモリバンクに切り替えて該選択済メモリバンクのプログラムで起動し、
    該選択済メモリバンクのプログラムの実行中に、前記CPUの動作異常が検出された場合、未選択メモリバンクを選択済メモリバンクに切り替えると共に前記CPUをリセットして、第2のメモリバンクに記憶された初期起動用のプログラムによって再度起動し、
    前記制御装置の起動時に、前記第1の複数のメモリバンクの内の選択済メモリバンクに格納されているプログラムと前記ホストコンピュータの新プログラムとを比較し、両プログラムが同一である場合には、該選択済メモリバンクのプログラムで起動し、両プログラムが同一でない場合には、さらに、
    前記複数の第1のメモリバンクの内の未選択メモリバンクに格納されているプログラムと前記ホストコンピュータの新プログラムとを比較し、両プログラムが同一であれば選択済メモリバンクのプログラムで起動し、両プログラムが同一でない場合には、前記ホストコンピュータの新プログラムを該未選択メモリバンクにダウンロードする、
    ことを特徴とするプログラムダウンロード方法。
  8. 請求項1乃至請求項5のいずれか1項に記載の制御装置を有する通信装置。
  9. 請求項1乃至請求項5のいずれか1項に記載の制御装置を有するコンピュータ装置。
JP2005077991A 2005-03-17 2005-03-17 制御装置とそのプログラム、及び、プログラムダウンロード方法 Expired - Fee Related JP5002900B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005077991A JP5002900B2 (ja) 2005-03-17 2005-03-17 制御装置とそのプログラム、及び、プログラムダウンロード方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005077991A JP5002900B2 (ja) 2005-03-17 2005-03-17 制御装置とそのプログラム、及び、プログラムダウンロード方法

Publications (2)

Publication Number Publication Date
JP2006260283A JP2006260283A (ja) 2006-09-28
JP5002900B2 true JP5002900B2 (ja) 2012-08-15

Family

ID=37099443

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005077991A Expired - Fee Related JP5002900B2 (ja) 2005-03-17 2005-03-17 制御装置とそのプログラム、及び、プログラムダウンロード方法

Country Status (1)

Country Link
JP (1) JP5002900B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8751860B2 (en) * 2009-06-03 2014-06-10 Micron Technology, Inc. Object oriented memory in solid state devices

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07191854A (ja) * 1993-12-27 1995-07-28 Canon Inc 複合周辺装置
JPH09160783A (ja) * 1995-12-07 1997-06-20 Nippon Telegr & Teleph Corp <Ntt> プログラムダウンロード方法
JP3250522B2 (ja) * 1998-07-23 2002-01-28 日本電気株式会社 ファームウエアの入れ替え装置及び入れ替え方法
JP2003140915A (ja) * 2001-11-01 2003-05-16 Anten Corp コンピュータ装置及びプログラムのダウンロード方法

Also Published As

Publication number Publication date
JP2006260283A (ja) 2006-09-28

Similar Documents

Publication Publication Date Title
US10114655B2 (en) Rapid start up method for electronic equipment
JP6390644B2 (ja) プログラム更新システム、プログラム更新方法及びコンピュータプログラム
CN100501679C (zh) 一种电子设备
US20090094450A1 (en) Firmware image update and management
US20100325622A1 (en) Updating Firmware of an Electronic Device
CN106775610B (zh) 一种电子设备启动方法及一种电子设备
US20200394144A1 (en) Information processing system, information processing device, bios updating method for information processing device, and bios updating program for information processing device
JP2001331327A (ja) 電子機器
CN112860291B (zh) 固件升级方法及装置
JP2007122151A (ja) ブート制御装置およびブート制御方法
JP5002900B2 (ja) 制御装置とそのプログラム、及び、プログラムダウンロード方法
JP5658200B2 (ja) 通信装置および起動プログラムコード選択方法
JP2007087269A (ja) ソフトウェア更新システム、更新方法、及び、プログラム
JP2003228490A (ja) ネットワークに接続される端末装置およびこれを用いたネットワークシステム
CN111078303B (zh) 一种优化uefi引导开机启动的方法及装置
JP2004320591A (ja) 携帯通信端末
JP2005092708A (ja) ソフトウェア更新システム及びソフトウェア更新方法並びにコンピュータプログラム
JP2010079382A (ja) ソフトウエア更新方法
KR100588199B1 (ko) 휴대 단말기에서 프로그램 다운로드 실패시 이의 복구방법 및 이를 적용한 휴대 단말기
JP2005332228A (ja) プログラム切替え制御装置
JP2004078294A (ja) 信号処理装置
CN104216797A (zh) 嵌入式系统设定值设定系统、方法及电子装置
EP2449463A1 (en) A method, apparatus and computer program for loading files during a boot- up process
JP2003122575A (ja) 情報処理装置
JP2007084232A (ja) エレベータ制御プログラム更新装置

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20070119

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080212

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20080613

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20090511

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110524

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20110705

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110725

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110830

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111024

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120221

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120404

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

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

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

Free format text: PAYMENT UNTIL: 20150601

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees