JP2008003861A - 情報処理装置、プログラム更新処理方法及び書換制御ソフトウェア - Google Patents
情報処理装置、プログラム更新処理方法及び書換制御ソフトウェア Download PDFInfo
- Publication number
- JP2008003861A JP2008003861A JP2006172989A JP2006172989A JP2008003861A JP 2008003861 A JP2008003861 A JP 2008003861A JP 2006172989 A JP2006172989 A JP 2006172989A JP 2006172989 A JP2006172989 A JP 2006172989A JP 2008003861 A JP2008003861 A JP 2008003861A
- Authority
- JP
- Japan
- Prior art keywords
- program
- area
- rewriting
- rewrite
- main area
- 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.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
【課題】本発明は、ユーザ自身によってプログラムの書換処理を容易、効率的かつ確実に実行できるようにする。
【解決手段】本発明は、所定の処理を実行させるための通常動作プログラムと、通常動作プログラムをアップデートするための書換プログラムとが格納された主領域と、書換プログラムだけが格納された副領域とからなるフラッシュROM31と、アップデート用の新たなプログラムを外部から取り込むためのUSBポート7と、主領域の書換プログラム又は副領域の書換プログラムの何れか一方を用いてUSBポート7から取り込んだ新たなプログラムにより主領域又は副領域をアップデートするCPU30とを設けることにより、二重化した書換プログラムの何れか一方を用いて効率的かつ確実にプログラムの書換処理を容易に実行させることができる。
【選択図】図4
【解決手段】本発明は、所定の処理を実行させるための通常動作プログラムと、通常動作プログラムをアップデートするための書換プログラムとが格納された主領域と、書換プログラムだけが格納された副領域とからなるフラッシュROM31と、アップデート用の新たなプログラムを外部から取り込むためのUSBポート7と、主領域の書換プログラム又は副領域の書換プログラムの何れか一方を用いてUSBポート7から取り込んだ新たなプログラムにより主領域又は副領域をアップデートするCPU30とを設けることにより、二重化した書換プログラムの何れか一方を用いて効率的かつ確実にプログラムの書換処理を容易に実行させることができる。
【選択図】図4
Description
本発明は、情報処理装置、プログラム更新処理方法及び書換制御ソフトウェアに関し、例えばユーザ自身でプログラムをバージョンアップすることが可能なオーディオ装置に適用して好適なものである。
従来、オーディオ装置においては、例えばUSBインタフェース等を用いて外部から入力される音楽コンテンツを再生する際、その音楽コンテンツの圧縮方式に対応した復号方式のデコーダプログラム(以下、これを単にデコーダと呼ぶ)によって復号するようになされている。
ここでオーディオ装置においては、外部から入力する音楽コンテンツの圧縮方式が新しくなり、これまでのデコーダでは再生することができない場合、新しいプログラムを用いて例えばフラッシュROM(Read Only Memory)に格納されたデコーダをアップデートすることが一般的に行われている。
このときオーディオ装置においては、ユーザ自身でフラッシュROMに格納されているデコーダをアップデートする場合、当該フラッシュROMを一度全て消去してから新しいプログラムを書き込むため、その新しいプログラムを書き込んでいる最中に停電等によって電源供給が絶たれたり、新しいプログラムの格納されている外部メディアが途中で取り外されたり、或いは新しいプログラムを受信中に通信経路が切断されることによって当該新しいプログラムを全てフラッシュROMに格納することが出来なくなったときには、その後の再書込操作はおろか再起動さえも出来なくなってしまうことが多い。
このような事態を招いてしまうと、再起動さえも出来ない状況ではユーザが自ら解決することは不可能であり、専門業者やメーカーに修理を依頼しなければならず、金銭的、時間的にも多大なロスとなるばかりでなく、修理完了までオーディオ装置を一切使用できなくなってしまう。
上述の問題に対する回避策として、基本プログラム及びアプリケーションプログラムをプログラムメモリのブートアドレス♯1とブートアドレス♯2とにそれぞれ格納しておくことにより、何れか一方にエラーが生じている場合でも他方の基本プログラム及びアプリケーションプログラムを用いて再起動することを保証するようにした情報処理装置がある(例えば、特許文献1参照)。
特開平11-175346号公報
ところでかかる構成の情報処理装置の技術的思想を用いて、同一のデコーダをフラッシュROMに重複して持つことによる全二重化を施すようにしたオーディオ装置を構成した場合、一方のデコーダが正常に機能していない場合、他方のデコーダにより再書込操作することが考えられるが、これでは本来必要とする2倍のデータ記憶容量を有するフラッシュROMを必要とし、メモリ使用効率が悪く無駄に容量を浪費することになるという問題があった。
本発明は以上の点を考慮してなされたもので、ユーザ自身によってプログラムの書換処理を容易、効率的かつ確実に実行し得る情報処理装置、プログラム更新処理方法及び書換制御ソフトウェアを提案しようとするものである。
かかる課題を解決するため本発明においては、所定の処理を実行させるための動作プログラムと、当該動作プログラムをアップデートするための書換プログラムとが格納された主領域と、書換プログラムだけが格納された副領域とからなる記憶手段と、アップデート用の新たなプログラムを外部から取り込むための入力手段と、主領域の書換プログラム又は副領域の書換プログラムの何れか一方を用いて入力手段から取り込んだ新たなプログラムにより主領域又は副領域をアップデートする書換手段とを設けることにより、書換プログラムだけを二重化し、効率的かつ確実にプログラムの書換処理を容易に実行させることができる。
また本発明においては、所定の処理を実行させるための動作プログラムと、当該動作プログラムをアップデートするための書換プログラムとが格納された主領域と、書換プログラムだけが格納された副領域とからなる記憶手段における主領域、副領域をアップデートするための新たなプログラムを外部から取り込み、主領域の書換プログラム又は副領域の書換プログラムの何れか一方を用いて外部から取り込んだ新たなプログラムにより主領域又は副領域をアップデートすることにより、二重化した書換プログラムの何れか一方を用いて効率的かつ確実にプログラムの書換処理を容易に実行させることができる。
本発明によれば、二重化した書換プログラムの何れか一方を用いて効率的かつ確実にプログラムの書換処理を容易に実行させ得る情報処理装置、プログラム更新処理方法及び書換制御ソフトウェアを実現することができる。
以下、図面について、本発明の一実施の形態を詳述する。
(1)オーディオ装置の外観構成
図1において、1は全体として本発明の情報処理装置としてのオーディオ装置を示し、略直方体形状でなる本体2の上面2Aに対して電源ボタン3、CD等の光ディスクを装填するためのディスクスロット12、当該ディスクスロット12から光ディスクを排出するためのイジェクトボタン13が設けられている。
図1において、1は全体として本発明の情報処理装置としてのオーディオ装置を示し、略直方体形状でなる本体2の上面2Aに対して電源ボタン3、CD等の光ディスクを装填するためのディスクスロット12、当該ディスクスロット12から光ディスクを排出するためのイジェクトボタン13が設けられている。
またオーディオ装置1の本体2は、表面2Bの左側上方に音量を調整するためのボリュームボタン4、表面2Bの左側下方にヘッドホンジャック5及びオーディオ入力ジャック6、表面2Bの下方中央付近にUSB(Universal Serial Bus)ポート7が設けられている。
さらにオーディオ装置1の本体2は、表面2Bの右側下方に円形状の入力ボタン群8、表面2Bのほぼ中央に蛍光表示管9、その蛍光表示管9の隣に各種動作状態を示すインジケータ10が設けられ、かつ表面2Bの右側上方に各種操作ボタンからなる入力ボタン群11が設けられている。なお、入力ボタン群8及び入力ボタン群11を合わせて単にボタン群15とする。
このようなオーディオ装置1では、ディスクスロット12から装填された光ディスクを再生したり、当該光ディスクに対して音楽コンテンツを記録する等の記録再生動作を実行することが出来るとともに、図2に示すようにUSBポート7を介して接続された例えばUSBメモリ16に格納されている音楽コンテンツを再生したり、USBメモリ16から音楽コンテンツを取り込んだり、USBメモリ16に対して音楽コンテンツを記録する等の記録再生動作を実行し得るようになされている。
またオーディオ装置1は、音楽コンテンツの記録中又は再生中はその楽曲タイトル、アーティスト名、記録時間又は再生時間等の各種情報を蛍光表示管9に表示したり、それ以外の例えばプログラムバージョンアップ中であれば各段階における本体2の動作状態を示す内容を蛍光表示管9に表示し得るようになされている。
(2)オーディオ装置の回路構成
図3に示すようにオーディオ装置1は、CPU(Central Processing Unit)30が全体を統括制御しており、フラッシュROM31に格納された通常動作プログラムをRAM(Random Access Memory)32上に立ち上げ、その通常動作プログラムに従って選曲動作、記録再生動作等の音楽コンテンツを記録又は再生する際に必要な各種処理を実行する。
図3に示すようにオーディオ装置1は、CPU(Central Processing Unit)30が全体を統括制御しており、フラッシュROM31に格納された通常動作プログラムをRAM(Random Access Memory)32上に立ち上げ、その通常動作プログラムに従って選曲動作、記録再生動作等の音楽コンテンツを記録又は再生する際に必要な各種処理を実行する。
またオーディオ装置1のCPU30は、本体2のボタン群15に対するユーザの操作に応じて、USBポート7を介して接続されたUSBメモリ16(図2)に格納されている音楽コンテンツに対する再生動作や、そのUSBメモリ16から取り込んだ新たなプログラムを用いてプログラムバージョンアップを実行し、それらの処理過程や処理結果等を蛍光表示管9に表示するようになされている。
ところで、このオーディオ装置1ではフラッシュROM31に格納されているデコーダをバージョンアップする必要が生じたときに、USBポート7を介して接続されたUSBメモリ16からバージョンアップ用の新たなプログラムを取り込んで書き換え得るようになされているが、その最中に電源供給が絶たれるような事態が生じたときであっても再起動して再度書き換えることが出来るように考慮されており、その点について説明する。
(3)フラッシュROMのデータ構造
図4に示すようにフラッシュROMは、主領域、副領域及び起動領域に大きく分けられており、主領域の中に、選曲動作、記録再生動作等の音楽コンテンツを記録又は再生する際に必要な各種処理を実行する通常動作プログラムと、その通常動作プログラムをバージョンアップするための新たなプログラムをUSBメモリ16から読み込むための読込プログラムと、その読込プログラムによって読み込まれた新たなプログラムによって通常動作プログラムを書き換えることによりアップデートするための書換プログラムとが格納されている。
図4に示すようにフラッシュROMは、主領域、副領域及び起動領域に大きく分けられており、主領域の中に、選曲動作、記録再生動作等の音楽コンテンツを記録又は再生する際に必要な各種処理を実行する通常動作プログラムと、その通常動作プログラムをバージョンアップするための新たなプログラムをUSBメモリ16から読み込むための読込プログラムと、その読込プログラムによって読み込まれた新たなプログラムによって通常動作プログラムを書き換えることによりアップデートするための書換プログラムとが格納されている。
ここで新たなプログラムには、主領域に格納されている通常動作プログラム、読込プログラム及び書換プログラムを全て更新するための新たな通常動作プログラム、新たな読込プログラム及び新たな書換プログラムが含まれている。但し、新たなプログラムとしては必ずしもこれに限るものではなく、新たな通常動作プログラム、新たな読込プログラム及び新たな書換プログラムのうち何れか一つもしくは何れか2つだけが含まれていることも有り得る。
またフラッシュROM31は、副領域の中に、主領域と同様の読込プログラム及び書換プログラムが格納されており、主領域と比べて通常動作プログラムだけが格納されていない状態である。
さらにフラッシュROM31は、起動領域の中に、主領域に格納されているプログラムが正常であるか、副領域に格納されているプログラムが正常であるかを判定するための判定プログラムが格納されている。
なお主領域及び副領域の双方に格納されている読込プログラム及び書換プログラムは完全に同一のプログラムであり、その書換プログラムの一部として、USBメモリ16が接続されたことを検出すると、そのUSBメモリ16に格納されている新たなプログラムを取り込んでフラッシュROM31をアップデートするように制御する書換制御ソフトウェアが格納されており、その書換制御ソフトウェアに従ってオーディオ装置1のCPU30はプログラムの書換処理を実行するようになされている。
因みにフラッシュROM31は、主領域、副領域、起動領域をそれぞれ個別に消去及び書換可能に構成されており、各領域毎に書き換えることが可能である。
(4)プログラム書換処理手順
図5に示すように、オーディオ装置1のCPU30は電源が投入されるとフラッシュROM31の起動領域にある判定プログラムに従って、ルーチンRT1の開始ステップから入って次のステップSP1へ移り、当該フラッシュROM31の主領域に格納されているプログラムが正常であるか否かを判定する。
図5に示すように、オーディオ装置1のCPU30は電源が投入されるとフラッシュROM31の起動領域にある判定プログラムに従って、ルーチンRT1の開始ステップから入って次のステップSP1へ移り、当該フラッシュROM31の主領域に格納されているプログラムが正常であるか否かを判定する。
ここで肯定結果が得られると、このことは主領域に格納されている読込プログラム、書換プログラム及び通常動作プログラムが全て正常であって、当該通常動作プログラムによって選曲動作、記録再生動作等の音楽コンテンツを記録又は再生する際に必要な各種処理を正常に実行することが可能な状態にあることを表しており、このときCPU30は次のステップSP2へ移る。
ステップSP2においてCPU30は、起動領域にある判定プログラムに従ってフラッシュROM31の副領域に格納されているプログラムが正常であるか否かを判定する。ここで肯定結果が得られると、このことは副領域に格納されている読込プログラム及び書換プログラムが正常であることを表しており、このときCPU30は次のステップSP3へ移る。
ステップSP3においてCPU30は、フラッシュROM31における主領域の通常動作プログラムを読み出してRAM32上に展開することにより起動し、次のステップSP4へ移る。
ステップSP4においてCPU30は、ステップSP3において通常動作プログラムに従って音楽コンテンツを再生する等の通常動作を実行することが出来る状態に設定した後、USBポート7を介してUSBメモリ16が装着されたか否かを判定し、肯定結果が得られた場合には次のステップSP5へ移る。
このときCPU30は、図8(A)に示すように蛍光表示管9に「USB Detect」の文字を表示することにより、ユーザに対してUSBメモリ16をオーディオ装置1が認識したことを視覚的に通知し得るようになされている。
ステップSP5においてCPU30は、USBメモリ16に格納されているデータを取り込み、次のステップSP6へ移る。ここでUSBメモリ16には、複数種類の音楽コンテンツに加えてバージョンアップ用の新たなプログラム(新たな通常動作プログラム、新たな読込プログラム及び新たな書換プログラム)が書き込まれている場合もあり、その種別を次のステップSP6で判断する。
ステップSP6においてCPU30は、USBメモリ16から取り込んだデータがバージョンアップ用の書換え用データすなわち新たなプログラムであるか否かを判定する。ここで否定結果が得られると、このことはUSBメモリ16から取り込んだデータが音楽コンテンツであることを表しており、このときCPU30はステップSP7へ移り、音楽コンテンツに対する再生処理や記録処理等の通常動作を実行した後、再度ステップSP4へ戻る。
因みに、このステップSP1〜ステップSP7までの一連の処理は、オーディオ装置1における通常の記録再生処理等の通常動作である。
ところでステップSP4で否定結果が得られると、このことはUSBメモリ16が装着されていないので、USBメモリ16を用いることのない他のモード(CD、チューナー等)が選択されている可能性が高く、このときCPU30は次のステップSP8へ移る。
このときCPU30は、図8(B)に示すように蛍光表示管9に「USB NoDevice」の文字を表示することにより、USBポート7にUSBメモリ16が装着されていない状態をオーディオ装置1が認識していることを視覚的に通知し得るようになされている。
ステップSP8においてCPU30は、USBメモリ16を用いることのない他のモード(CD、チューナー等)が選択されているか否かを判定し、否定結果が得られると、何れのモードについても選択されていないことを表しており、このときCPU30はステップSP13へ移って処理を終了する。
これに対してステップSP8で肯定結果が得られると、他のモードが選択されていることを表しており、このときCPU30は当該他のモードにおける所定の処理を実行した後、ステップSP13へ移って処理を終了する。
一方ステップSP1で否定結果が得られると、このことは主領域に格納されている読込プログラム、書換プログラム及び通常動作プログラムの全て若しくは何れかにエラーが発生している状態であることを表しており、このときCPU30は次のステップSP10へ移る。
ステップSP10においてCPU30は、主領域にエラーが発生しているため、副領域の読込プログラム及び書換プログラムを起動し、次のサブルーチンSRT1における主領域からのプログラムバージョンアップ処理手順を実行する。
図6に示すようにCPU30は、サブルーチンSRT1の開始ステップから入って次のステップSP21へ移り、USBメモリ16がUSBポート7に装着されたか否かを判定し、肯定結果が得られると次のステップSP22へ移る。因みに、この場合もCPU30は図8(A)又は図8(B)に示した表示を蛍光表示管9に行う。
ステップSP22においてCPU30は、USBメモリ16に格納されているデータを取り込み、次のステップSP23へ移る。この場合もUSBメモリ16には、複数種類の音楽コンテンツに加えてバージョンアップ用の新たなプログラム(新たな通常動作プログラム、新たな読込プログラム及び新たな書換プログラム)が書き込まれている場合もあり、その種別を次のステップSP23で判断する。
ステップSP23においてCPU30は、USBメモリ16から取り込んだデータがバージョンアップ用の書換え用データすなわち新たなプログラムであるか否かを判定する。ここで否定結果が得られると、このことはUSBメモリ16から取り込んだデータが新たプログラムではないことを表しており、このときCPU30は上述したステップSP21〜ステップSP23の処理に戻って新たなプログラムの格納されているUSBメモリ16が装着されるのを待ち受ける。
これに対してステップSP23で肯定結果が得られると、このことはUSBメモリ16から取り込んだデータがバージョンアップ用の書換え用データすなわち新たなプログラムであることを表しており、このときCPU30は次のステップSP24へ移る。
ステップSP24においてCPU30は、図8(C)に示すような「USB Update?」の文字を蛍光表示管9に表示することにより、ユーザに対してプログラムバージョンアップを行ってよいかを問い合わせ、入力ボタン群11のエンターボタンがユーザにより押下操作されたことを確認すると、図8(D)に示すような「USB Update??」の文字を蛍光表示管9に表示することにより、ユーザに対してプログラムバージョンアップを行ってよいかを再度問い合わせ、それに対してエンターボタンが押下操作されたことを確認すると、ユーザによるプログラムバージョンアップの実行意思を最終的に確認し得たと認識する。
そしてCPU30は、副領域の読込プログラムによりUSBメモリ16に格納されている新たなプログラムを読み出してRAM32に一旦保持し、副領域の書換プログラムにより主領域の通常動作プログラム、読込プログラム及び書換プログラムを新たなプログラム(新たな通常動作プログラム、新たな読込プログラム及び新たな書換プログラム)に書き換えることによりアップデートし、次のステップSP25へ移る。
このときCPU30は、アップデート中においては、図8(E)に示すような「USB Updating Please Wait」の文字を蛍光表示管9に表示するとともに、そのうち「Updating」も文字部分だけを点滅表示することにより、現在アップデート処理中であることをユーザに通知するようになされている。
因みにCPU30は、USBメモリ16に格納されている新たなプログラムが、新たな通常動作プログラム、新たな読込プログラム及び新たな書換プログラムの全てではなくその一部であった場合、その一部だけを書き換えることによりアップデートするようになされている。
ステップSP25においてCPU30は、ステップSP24におけるプログラム書換処理によって主領域のプログラムが正常になったか否かを判定し、否定結果が得られるとステップSP21へ戻り、肯定結果が得られると次のステップSP26へ移る。
ステップSP26においてCPU30は、主領域のプログラムが正常になったことを確認した後であるため、その主領域の書換プログラムに従って先程RAM32に一旦保持した新たなプログラムにより副領域の読込プログラム及び書換プログラムを書き換えることによりアップデートし、次のステップSP27へ移る。
ステップSP27においてCPU30は、ステップSP26で副領域の読込プログラム及び書換プログラムをアップデートしたことにより、副領域のプログラムが正常になったか否かを判定し、否定結果が得られると、ステップSP21へ戻ってプログラムバージョンアップ処理を再度実行し、肯定結果が得られると図8(F)に示すような「USB Finished Push Power」の文字を蛍光表示管9に表示するとともに、「Push Power」の文字部分だけを点滅表示することにより再起動をユーザに促した後、ルーチンRT1のステップSP13(図5)へ戻ってプログラム書換処理手順を終了する。
これによりCPU30は、ユーザにより電源ボタン3が再度押下操作されると、新たなプログラムで再起動することによりソフトウェア的にリセットし、正常な動作状態に復帰させるようになされている。
またステップSP2で否定結果が得られると、このことは副領域に格納されている読込プログラム及び書換プログラムの全て若しくは何れかにエラーが発生している状態にあることを表しており、このときCPU30は次のステップSP11へ移る。
ステップSP11においてCPU30は、副領域にエラーが発生しているため、主領域の読込プログラム及び書換プログラムを起動し、次のサブルーチンSRT2における副領域からのプログラムバージョンアップ処理手順を実行する。
図7に示すようにCPU30は、サブルーチンSRT2の開始ステップから入って次のステップSP31へ移り、USBメモリ16がUSBポート7に装着されたか否かを判定し、肯定結果が得られると次のステップSP32へ移る。因みに、この場合もCPU30は図8(A)又は図8(B)に示した表示を蛍光表示管9に行う。
ステップSP32においてCPU30は、USBメモリ16に格納されているデータを取り込み、次のステップSP33へ移る。
ステップSP33においてCPU30は、USBメモリ16から取り込んだデータがバージョンアップ用の書換え用データすなわち新たなプログラムであるか否かを判定する。ここで否定結果が得られると、このことはUSBメモリ16から取り込んだデータが新たプログラムではないことを表しており、このときCPU30は上述したステップSP31〜ステップSP33の処理に戻って新たなプログラムの格納されているUSBメモリ16が装着されるのを待ち受ける。
これに対してステップSP33で肯定結果が得られると、このことはUSBメモリ16から取り込んだデータがバージョンアップ用の書換え用データすなわち新たなプログラムであることを表しており、このときCPU30は次のステップSP34へ移る。
ステップSP34においてCPU30は、図8(C)に示したような「USB Update?」の文字を蛍光表示管9に表示することにより、ユーザに対してプログラムバージョンアップを行ってよいかを問い合わせ、入力ボタン群11のエンターボタンがユーザにより押下操作されたことを確認すると、図8(D)に示したような「USB Update??」の文字を蛍光表示管9に表示することにより、ユーザに対してプログラムバージョンアップを行ってよいかを再度問い合わせ、それに対してエンターボタンが押下操作されたことを確認すると、ユーザによるプログラムバージョンアップの実行意思を最終的に確認し得たと認識する。
そしてCPU30は、主領域の読込プログラムによりUSBメモリ16に格納されている新たなプログラムを読み出してRAM32に一旦保持し、主領域の書換プログラムにより副領域の読込プログラム及び書換プログラムを新たなプログラム(新たな読込プログラム及び新たな書換プログラム)に書き換えることによりアップデートし、次のステップSP35へ移る。
このときもCPU30は、図8(E)に示したような「USB Updating Please Wait」の文字を蛍光表示管9に表示するとともに、そのうち「Updating」も文字部分だけを点滅表示することにより、現在アップデート中であることをユーザに通知するようになされている。
ステップSP35においてCPU30は、ステップSP34におけるプログラム書換処理によって副領域のプログラムが正常になったか否かを判定し、否定結果が得られるとステップSP31へ戻り、肯定結果が得られると次のステップSP36へ移る。
ステップSP36においてCPU30は、副領域のプログラムが正常になったことを確認した後であるため、その副領域の書換プログラムに従って先程RAM32に一旦保持した新たなプログラムにより主領域の通常動作プログラム、読込プログラム及び書換プログラムを書き換えることによりアップデートし、次のステップSP37へ移る。
ステップSP37においてCPU30は、ステップSP36で主領域の通常動作プログラム、読込プログラム及び書換プログラムをアップデートしたことにより、主領域のプログラムが正常になったか否かを判定し、否定結果が得られると、ステップSP31へ戻ってプログラムバージョンアップ処理を再度実行し、肯定結果が得られると図8(F)に示したような「USB Finished Push Power」の文字を蛍光表示管9に表示するとともに、「Push Power」の文字部分だけを点滅表示することにより再起動をユーザに促した後、ルーチンRT1のステップSP13(図5)へ戻ってプログラム書換処理手順を終了する。
これによりCPU30は、ユーザにより電源ボタン3が再度押下操作されると、新たなプログラムで再起動することによりソフトウェア的にリセットし、正常な動作状態に復帰させるようになされている。
これに対してステップSP6で肯定結果が得られると、このことはUSBメモリ16から取り込んだデータがプログラムバージョンアップのための書換え用データであったことを表しており、このときCPU30は次のステップSP12へ移る。
ステップSP12においてCPU30は、主領域のプログラムも副領域のプログラムも双方が正常であるため、ここでは主領域の読込プログラム及び書換プログラムを起動し、次のサブルーチンSRT3へ移る。
図7に示したようにCPU30は、サブルーチンSRT3の開始ステップから入って次のステップSP34へ移り、上述したようにユーザによるプログラムバージョンアップの意思を2度問い合わせ、それに対する応答に応じて書換え意思を確認すると、主領域の読込プログラムによりUSBメモリ16に格納されている新たなプログラムを読み出してRAM32に一旦保持し、主領域の書換プログラムにより副領域の読込プログラム及び書換プログラムを新たなプログラム(新たな読込プログラム及び新たな書換プログラム)に書き換えることによりアップデートし、次のステップSP35へ移る。
ステップSP35においてCPU30は、ステップSP34におけるプログラム書換処理によって副領域のプログラムが正常になったか否かを判定し、否定結果が得られるとステップSP31へ戻り、肯定結果が得られると次のステップSP36へ移る。
ステップSP36においてCPU30は、副領域のプログラムが正常になったことを確認した後であるため、その副領域の書換プログラムに従って先程RAM32に一旦保持した新たなプログラムにより主領域の通常動作プログラム、読込プログラム及び書換プログラムを書き換えることによりアップデートし、次のステップSP37へ移る。
ステップSP37においてCPU30は、ステップSP36で主領域の通常動作プログラム、読込プログラム及び書換プログラムをアップデートしたことにより、主領域のプログラムが正常になったか否かを判定し、否定結果が得られると、ステップSP31へ戻ってプログラムバージョンアップ処理を再度実行し、肯定結果が得られると図8(F)に示したような「USB Finished Push Power」の文字を蛍光表示管9に表示するとともに、「Push Power」の文字部分だけを点滅表示することにより再起動をユーザに促した後、ルーチンRT1のステップSP13(図5)へ戻ってプログラム書換処理手順を終了する。
これによりCPU30は、ユーザにより電源ボタン3が再度押下操作されると、新たなプログラムで再起動することによりソフトウェア的にリセットし、正常な動作状態に復帰させるようになされている。
(5)動作及び効果
以上の構成において、オーディオ装置1のCPU30は、主領域のプログラムが正常ではないとき、副領域のプログラムを用いて主領域のプログラムを書き換え、その逆に副領域のプログラムが正常ではないとき、主領域のプログラムを用いて副領域のプログラムを書き換えるようにした。
以上の構成において、オーディオ装置1のCPU30は、主領域のプログラムが正常ではないとき、副領域のプログラムを用いて主領域のプログラムを書き換え、その逆に副領域のプログラムが正常ではないとき、主領域のプログラムを用いて副領域のプログラムを書き換えるようにした。
これによりオーディオ装置1では、新たなプログラムのアップデート中に、停電等によって電源供給が絶たれたり、新しいプログラムの格納されているUSBメモリ16が途中で取り外される等して新しいプログラムを全てフラッシュROM31に格納することが出来なくなったときであっても、二重化された主領域のプログラム又は副領域のプログラムのうち少なくとも何れか一方を必ず正常な状態のまま確保することが出来るので、特別な操作を要することなく直ちにアップデートをやり直すことができる。
なおオーディオ装置1では、サブルーチンSRT1の主領域からのプログラムバージョンアップ処理手順や、サブルーチンSRT2の副領域からのプログラムバージョンアップ処理手順において、主領域のプログラムの書換処理後や副領域のプログラムの書換処理後に正常になったか否かを判定し、正常になるまで書換処理を繰り返すようにしたことにより、アップデートが最終的に成功するまで何度でも繰り返し実行することができるので、古いプログラムを新たなプログラムに必ずバージョンアップさせることが出来る。
このときオーディオ装置1は、主領域又は副領域のプログラムを書き換え、その次に副領域又は主領域のプログラムを書き換え終わるまで図8(F)に示したような「USB Finished Push Power」の文字を蛍光表示管9に表示することがないので、ユーザに対しては主領域及び副領域に対する双方のアップデートを行っていることを特別に意識をさせることなく新たなプログラムにバージョンアップできたことだけを通知することになる。
またオーディオ装置1は、フラッシュROM31の主領域にだけ容量の大きな通常動作プログラムを格納し、副領域には主領域と同じ読込プログラム及び書換プログラムだけを格納するようにしたことにより、通常動作プログラムをバージョンアップするために最低限必要な読込プログラム及び書換プログラムだけを2重化するだけで済み、全二重化する場合に比べてフラッシュROM31を大容量化せずに済む。
具体的に本実施の形態においてはオーディオ装置1のフラッシュROM31を、主領域が1184キロバイト、副領域が233キロバイト及び起動領域が11キロバイトの比率で構成しているため、合計1428キロバイトの容量で済むが、副領域にまで通常動作プログラムを格納する全二重化構造とした場合、主領域及び副領域がそれぞれ1184キロバイト必要になるため、合計で2368キロバイトの容量が必要になってしまう。
特に、読込プログラム及び書換プログラムの容量は、通常動作プログラムの容量とは無関係であるため、通常動作プログラムの容量が大きければ大きいほど、副領域に格納する読込プログラム及び書換プログラムの通常動作プログラムに対する比率が小さくなり、全二重化した場合の容量に比べて本発明のフラッシュROM31の容量の比率が小さくなる。
以上の構成によれば、オーディオ装置1は新たなプログラムのアップデート中に、停電等によって電源供給が絶たれたり、新しいプログラムの格納されているUSBメモリ16が途中で取り外される等して新しいプログラムを全てフラッシュROM31に格納することが出来なくなったときであっても、主領域のプログラム又は副領域のプログラムのうち少なくとも何れか一方を必ず正常な状態のまま確保してバージョンアップすることが出来るため、特別な操作を要することなくユーザ自身によってプログラムの書換処理を容易、効率的かつ確実に実行させることができる。
(6)他の実施の形態
なお上述の実施の形態においては、ステップSP1及びステップSP2において主領域及び副領域の双方が正常であると判定されたときステップSP12で主領域のプログラムを起動し、サブルーチンSRT3で副領域からプログラムバージョンアップするようにした場合について述べたが、本発明はこれに限らず、ステップSP12で副主領域のプログラムを起動し、サブルーチンSRT3で主領域からプログラムバージョンアップするようにしても良い。
なお上述の実施の形態においては、ステップSP1及びステップSP2において主領域及び副領域の双方が正常であると判定されたときステップSP12で主領域のプログラムを起動し、サブルーチンSRT3で副領域からプログラムバージョンアップするようにした場合について述べたが、本発明はこれに限らず、ステップSP12で副主領域のプログラムを起動し、サブルーチンSRT3で主領域からプログラムバージョンアップするようにしても良い。
また上述の実施の形態においては、外部のUSBメモリ16から各種データを取り込むためのUSBポート7をインタフェースとして用いるようにしたが、本発明はこれに限るものではなく、CD−ROM(Compact Disc-Read Only Memory)、メモリースティック(ソニー株式会社:登録商標)、IEEE(Institute of Electrical and Electronics Engineers)802.11n等のワイヤレス無線通信インタフェース、インターネット等にそれぞれ対応した種々のインタフェースを入力手段として用いるようにしても良い。
さらに上述の実施の形態においては、ステップSP1及びステップSP2において主領域及び副領域が正常であるか否かを判定した後に、USBメモリ16が装着されたか否かを判定するようにした場合について述べたが、本発明はこれに限らず、先にUSBメモリ16が装着されたか否かを判定した後、新たなプログラムを取り込んだときにステップSP1及びステップSP2において主領域及び副領域が正常であるか否かを判定するようにしても良い。このように処理の順番としては、必ずしもルーチンRT1に示した処理手順に限るものではない。
さらに上述の実施の形態においては、表示手段として蛍光表示管9を用いたり、入力手段として入力ボタン群8及び11からなるボタン群15を用いるようにした場合について述べたが、本発明はこれに限らず、表示手段として液晶ディスプレイや有機EL(Electroluminescence)ディスプレイ、入力手段としてマウスやジョイスティック等を用いるようにしても良い。
さらに上述の実施の形態においては、記憶手段としてのフラッシュROM31と、書換手段としてのCPU30によって本発明の情報処理装置としてのオーディオ装置1を構成するようにした場合について述べたが、本発明はこれに限らず、書換可能な種々の記憶手段及びマイコン等の制御手段によって情報処理装置としてのオーディオ装置1を構成するようにしても良い。
本発明の情報処理装置、プログラム更新処理方法及び書換制御ソフトウェアは、例えばオーディオ装置以外のプログラム制御で動作するあらゆる電子機器に適用することができる。
1……オーディオ装置、2……本体、3……電源ボタン、4……ボリュームボタン、5……ヘッドホンジャック、6……オーディオ入力ジャック、7……USBポート、8……入力ボタン群、9……蛍光表示管、10……インジケータ、11……入力ボタン群、12……ディスクスロット、13……イジェクトボタン、15……ボタン群、16……USBメモリ、30……CPU、31……フラッシュROM、32……RAM。
Claims (8)
- 所定の処理を実行させるための動作プログラムと、当該動作プログラムをアップデートするための書換プログラムとが格納された主領域と、上記書換プログラムだけが格納された副領域とからなる記憶手段と、
アップデート用の新たなプログラムを外部から取り込むための入力手段と、
上記主領域の書換プログラム又は上記副領域の書換プログラムの何れか一方を用いて上記入力手段から取り込んだ上記新たなプログラムにより上記主領域又は上記副領域をアップデートする書換手段と
を具えることを特徴とする情報処理装置。 - 上記記憶手段は、上記主領域における上記動作プログラム及び上記書換プログラム、上記副領域における上記書換プログラムがそれぞれ正常であるか判定する判定プログラムが格納された起動領域を有し、
上記書換手段は、上記判定プログラムにより上記主領域が正常でないと判定された場合、上記副領域における上記書換プログラムを用いて上記主領域における上記動作プログラム及び又は上記書換プログラムをアップデートする
ことを特徴とする請求項1に記載の情報処理装置。 - 上記書換手段は、上記主領域における書換処理が終了し、上記判定プログラムにより当該主領域が正常であると判定された場合、上記副領域における上記書換プログラムをアップデートする
ことを特徴とする請求項2に記載の情報処理装置。 - 上記記憶手段は、上記主領域における上記動作プログラム及び上記書換プログラム、上記副領域における上記書換プログラムがそれぞれ正常であるか判定する判定プログラムが格納された起動領域を有し、
上記書換手段は、上記判定プログラムにより上記副領域が正常でないと判定された場合、上記主領域における上記書換プログラムを用いて上記副領域における上記書換プログラムをアップデートする
ことを特徴とする請求項1に記載の情報処理装置。 - 上記書換手段は、上記副領域における書換処理が終了し、上記判定プログラムにより当該副領域が正常であると判定された場合、上記主領域における上記動作プログラム及び又は上記書換プログラムをアップデートする
ことを特徴とする請求項4に記載の情報処理装置。 - 上記記憶手段は、上記主領域における上記動作プログラム及び上記書換プログラム、上記副領域における上記書換プログラムがそれぞれ正常であるか判定する判定プログラムが格納された起動領域を有し、
上記書換手段は、上記判定プログラムにより上記主領域及び上記副領域の双方が正常であると判定された場合、上記主領域又は上記副領域の何れかを先にアップデートする
ことを特徴とする請求項1に記載の情報処理装置。 - 所定の処理を実行させるための動作プログラムと、当該動作プログラムをアップデートするための書換プログラムとが格納された主領域と、上記書換プログラムだけが格納された副領域とからなる記憶手段における上記主領域、上記副領域をアップデートするための新たなプログラムを外部から取り込む入力ステップと、
上記主領域の書換プログラム又は上記副領域の書換プログラムの何れか一方を用いて上記入力ステップにより取り込んだ上記新たなプログラムにより上記主領域又は上記副領域をアップデートする書換ステップと
を具えることを特徴とするプログラム更新処理方法。 - 情報処理装置に対して、
所定の処理を実行させるための動作プログラムと、当該動作プログラムをアップデートするための書換プログラムとが格納された主領域と、上記書換プログラムだけが格納された副領域とからなる記憶手段における上記主領域、上記副領域をアップデートするための新たなプログラムを外部から取り込む入力ステップと、
上記主領域の書換プログラム又は上記副領域の書換プログラムの何れか一方を用いて上記入力ステップにより取り込んだ上記新たなプログラムにより上記主領域又は上記副領域をアップデートする書換ステップと
を実行させることを特徴とする書換制御ソフトウェア。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006172989A JP2008003861A (ja) | 2006-06-22 | 2006-06-22 | 情報処理装置、プログラム更新処理方法及び書換制御ソフトウェア |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006172989A JP2008003861A (ja) | 2006-06-22 | 2006-06-22 | 情報処理装置、プログラム更新処理方法及び書換制御ソフトウェア |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008003861A true JP2008003861A (ja) | 2008-01-10 |
Family
ID=39008185
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006172989A Pending JP2008003861A (ja) | 2006-06-22 | 2006-06-22 | 情報処理装置、プログラム更新処理方法及び書換制御ソフトウェア |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008003861A (ja) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009198663A (ja) * | 2008-02-20 | 2009-09-03 | Seiko Epson Corp | ホスト機器及びその制御方法 |
JP2010039569A (ja) * | 2008-07-31 | 2010-02-18 | Toshiba Corp | コンテンツ情報提供システムとコンテンツ提供装置及びコンテンツ情報処理端末 |
JP2011076546A (ja) * | 2009-10-01 | 2011-04-14 | Yamaha Corp | データ書き込み装置及びインストール装置 |
JP2012018524A (ja) * | 2010-07-07 | 2012-01-26 | Canon Inc | 情報処理装置及びその制御方法 |
JP2012018523A (ja) * | 2010-07-07 | 2012-01-26 | Canon Inc | 情報処理装置及びその制御方法 |
US8140837B2 (en) | 2008-11-05 | 2012-03-20 | International Business Machines Corporation | Automatically making selective changes to firmware or configuration settings |
JP2014099084A (ja) * | 2012-11-15 | 2014-05-29 | Nintendo Co Ltd | 情報処理装置、情報処理システム、情報処理プログラム、および情報処理方法 |
JP2015037899A (ja) * | 2012-12-04 | 2015-02-26 | バブ日立工業株式会社 | 車両用プログラム書き換え装置 |
JP2016053839A (ja) * | 2014-09-03 | 2016-04-14 | キヤノン株式会社 | 情報処理装置、その制御方法、及びプログラム |
WO2022215402A1 (ja) * | 2021-04-08 | 2022-10-13 | 日立Astemo株式会社 | 車両用電子制御装置及びプログラムの書き換え方法 |
-
2006
- 2006-06-22 JP JP2006172989A patent/JP2008003861A/ja active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009198663A (ja) * | 2008-02-20 | 2009-09-03 | Seiko Epson Corp | ホスト機器及びその制御方法 |
JP2010039569A (ja) * | 2008-07-31 | 2010-02-18 | Toshiba Corp | コンテンツ情報提供システムとコンテンツ提供装置及びコンテンツ情報処理端末 |
US8140837B2 (en) | 2008-11-05 | 2012-03-20 | International Business Machines Corporation | Automatically making selective changes to firmware or configuration settings |
JP2011076546A (ja) * | 2009-10-01 | 2011-04-14 | Yamaha Corp | データ書き込み装置及びインストール装置 |
JP2012018524A (ja) * | 2010-07-07 | 2012-01-26 | Canon Inc | 情報処理装置及びその制御方法 |
JP2012018523A (ja) * | 2010-07-07 | 2012-01-26 | Canon Inc | 情報処理装置及びその制御方法 |
JP2014099084A (ja) * | 2012-11-15 | 2014-05-29 | Nintendo Co Ltd | 情報処理装置、情報処理システム、情報処理プログラム、および情報処理方法 |
JP2015037899A (ja) * | 2012-12-04 | 2015-02-26 | バブ日立工業株式会社 | 車両用プログラム書き換え装置 |
JP2016053839A (ja) * | 2014-09-03 | 2016-04-14 | キヤノン株式会社 | 情報処理装置、その制御方法、及びプログラム |
WO2022215402A1 (ja) * | 2021-04-08 | 2022-10-13 | 日立Astemo株式会社 | 車両用電子制御装置及びプログラムの書き換え方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008003861A (ja) | 情報処理装置、プログラム更新処理方法及び書換制御ソフトウェア | |
CN101047457B (zh) | 数字广播处理装置及其引导装载器更新方法 | |
US7669046B2 (en) | Data processing apparatus and firmware update method | |
JPH05204653A (ja) | データ蓄積装置と方法 | |
JP2000242598A (ja) | ファームウェア更新システムおよびその更新方法 | |
US7640425B2 (en) | Disk apparatus and electronic apparatus | |
US8365161B2 (en) | Compatibility determination apparatus and method for electronic apparatus | |
US20070159940A1 (en) | Drive and method for simulating the insertion of a new record | |
EP1741030B1 (en) | Restoring the firmware and all programmable content of an optical drive | |
US20040223729A1 (en) | Information processing apparatus | |
JP2006331380A (ja) | パーソナルコンピュータの起動装置及び方法 | |
JP2003047781A (ja) | ゲームシステム | |
JP2010117944A (ja) | ソフトウェア更新システム、ソフトウェア更新方法、携帯電話端末及びプログラム | |
JPH1145496A (ja) | 記録再生装置 | |
JP2015154818A (ja) | 据置型のゲーム装置、ゲーム装置、ゲームシステム、コンピュータプログラム及び速度制御方法 | |
JPH0830450A (ja) | 情報処理装置 | |
JP2008003668A (ja) | 制御プログラム書換システム、書換プログラム及び制御プログラム書換方法、並びに情報処理装置、情報処理装置制御プログラム及び情報処理装置制御方法 | |
KR20040083236A (ko) | 메모리의 프로그램 업그레이드 방법 | |
JPH09305395A (ja) | 電子機器 | |
JP2007316687A (ja) | 電子機器、プログラム書き換え方法及びプログラム | |
JP2004355611A (ja) | 情報処理装置 | |
JP2003005975A (ja) | 情報処理装置 | |
JP2010282645A (ja) | Linuxプログラム起動システム | |
US20160051894A1 (en) | Localization System for Mounting Game in Portable Storage Device on Game Console and Method Therefor | |
KR100957262B1 (ko) | 메모리 카드 리더기가 장착된 디지털 기기의 프로그램 업그레이드 방법 |