(57)【要約】【課題】本発明は、ユーザ自身によってプログラムの書換処理を容易、効率的かつ確実に実行できるようにする。【解決手段】本発明は、所定の処理を実行させるための通常動作プログラムと、通常動作プログラムをアップデートするための書換プログラムとが格納された主領域と、書換プログラムだけが格納された副領域とからなるフラッシュＲＯＭ３１と、アップデート用の新たなプログラムを外部から取り込むためのＵＳＢポート７と、主領域の書換プログラム又は副領域の書換プログラムの何れか一方を用いてＵＳＢポート７から取り込んだ新たなプログラムにより主領域又は副領域をアップデートするＣＰＵ３０とを設けることにより、二重化した書換プログラムの何れか一方を用いて効率的かつ確実にプログラムの書換処理を容易に実行させることができる。【選択図】図４
2008003861.tif 000002
【特許請求の範囲】
【請求項１】
所定の処理を実行させるための動作プログラムと、当該動作プログラムをアップデートするための書換プログラムとが格納された主領域と、上記書換プログラムだけが格納された副領域とからなる記憶手段と、
アップデート用の新たなプログラムを外部から取り込むための入力手段と、
上記主領域の書換プログラム又は上記副領域の書換プログラムの何れか一方を用いて上記入力手段から取り込んだ上記新たなプログラムにより上記主領域又は上記副領域をアップデートする書換手段と
を具えることを特徴とする情報処理装置。
【請求項２】
上記記憶手段は、上記主領域における上記動作プログラム及び上記書換プログラム、上記副領域における上記書換プログラムがそれぞれ正常であるか判定する判定プログラムが格納された起動領域を有し、
上記書換手段は、上記判定プログラムにより上記主領域が正常でないと判定された場合、上記副領域における上記書換プログラムを用いて上記主領域における上記動作プログラム及び又は上記書換プログラムをアップデートする
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
上記書換手段は、上記主領域における書換処理が終了し、上記判定プログラムにより当該主領域が正常であると判定された場合、上記副領域における上記書換プログラムをアップデートする
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
上記記憶手段は、上記主領域における上記動作プログラム及び上記書換プログラム、上記副領域における上記書換プログラムがそれぞれ正常であるか判定する判定プログラムが格納された起動領域を有し、
上記書換手段は、上記判定プログラムにより上記副領域が正常でないと判定された場合、上記主領域における上記書換プログラムを用いて上記副領域における上記書換プログラムをアップデートする
ことを特徴とする請求項１に記載の情報処理装置。
【請求項５】
上記書換手段は、上記副領域における書換処理が終了し、上記判定プログラムにより当該副領域が正常であると判定された場合、上記主領域における上記動作プログラム及び又は上記書換プログラムをアップデートする
ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
上記記憶手段は、上記主領域における上記動作プログラム及び上記書換プログラム、上記副領域における上記書換プログラムがそれぞれ正常であるか判定する判定プログラムが格納された起動領域を有し、
上記書換手段は、上記判定プログラムにより上記主領域及び上記副領域の双方が正常であると判定された場合、上記主領域又は上記副領域の何れかを先にアップデートする
ことを特徴とする請求項１に記載の情報処理装置。
【請求項７】
所定の処理を実行させるための動作プログラムと、当該動作プログラムをアップデートするための書換プログラムとが格納された主領域と、上記書換プログラムだけが格納された副領域とからなる記憶手段における上記主領域、上記副領域をアップデートするための新たなプログラムを外部から取り込む入力ステップと、
上記主領域の書換プログラム又は上記副領域の書換プログラムの何れか一方を用いて上記入力ステップにより取り込んだ上記新たなプログラムにより上記主領域又は上記副領域をアップデートする書換ステップと
を具えることを特徴とするプログラム更新処理方法。
【請求項８】
情報処理装置に対して、
所定の処理を実行させるための動作プログラムと、当該動作プログラムをアップデートするための書換プログラムとが格納された主領域と、上記書換プログラムだけが格納された副領域とからなる記憶手段における上記主領域、上記副領域をアップデートするための新たなプログラムを外部から取り込む入力ステップと、
上記主領域の書換プログラム又は上記副領域の書換プログラムの何れか一方を用いて上記入力ステップにより取り込んだ上記新たなプログラムにより上記主領域又は上記副領域をアップデートする書換ステップと
を実行させることを特徴とする書換制御ソフトウェア。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、プログラム更新処理方法及び書換制御ソフトウェアに関し、例えばユーザ自身でプログラムをバージョンアップすることが可能なオーディオ装置に適用して好適なものである。
【背景技術】
【０００２】
従来、オーディオ装置においては、例えばＵＳＢインタフェース等を用いて外部から入力される音楽コンテンツを再生する際、その音楽コンテンツの圧縮方式に対応した復号方式のデコーダプログラム（以下、これを単にデコーダと呼ぶ）によって復号するようになされている。
【０００３】
ここでオーディオ装置においては、外部から入力する音楽コンテンツの圧縮方式が新しくなり、これまでのデコーダでは再生することができない場合、新しいプログラムを用いて例えばフラッシュＲＯＭ(Read Only Memory)に格納されたデコーダをアップデートすることが一般的に行われている。
【０００４】
このときオーディオ装置においては、ユーザ自身でフラッシュＲＯＭに格納されているデコーダをアップデートする場合、当該フラッシュＲＯＭを一度全て消去してから新しいプログラムを書き込むため、その新しいプログラムを書き込んでいる最中に停電等によって電源供給が絶たれたり、新しいプログラムの格納されている外部メディアが途中で取り外されたり、或いは新しいプログラムを受信中に通信経路が切断されることによって当該新しいプログラムを全てフラッシュＲＯＭに格納することが出来なくなったときには、その後の再書込操作はおろか再起動さえも出来なくなってしまうことが多い。
【０００５】
このような事態を招いてしまうと、再起動さえも出来ない状況ではユーザが自ら解決することは不可能であり、専門業者やメーカーに修理を依頼しなければならず、金銭的、時間的にも多大なロスとなるばかりでなく、修理完了までオーディオ装置を一切使用できなくなってしまう。
【０００６】
上述の問題に対する回避策として、基本プログラム及びアプリケーションプログラムをプログラムメモリのブートアドレス♯１とブートアドレス♯２とにそれぞれ格納しておくことにより、何れか一方にエラーが生じている場合でも他方の基本プログラム及びアプリケーションプログラムを用いて再起動することを保証するようにした情報処理装置がある（例えば、特許文献１参照）。
【特許文献１】特開平11-175346号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところでかかる構成の情報処理装置の技術的思想を用いて、同一のデコーダをフラッシュＲＯＭに重複して持つことによる全二重化を施すようにしたオーディオ装置を構成した場合、一方のデコーダが正常に機能していない場合、他方のデコーダにより再書込操作することが考えられるが、これでは本来必要とする２倍のデータ記憶容量を有するフラッシュＲＯＭを必要とし、メモリ使用効率が悪く無駄に容量を浪費することになるという問題があった。
【０００８】
本発明は以上の点を考慮してなされたもので、ユーザ自身によってプログラムの書換処理を容易、効率的かつ確実に実行し得る情報処理装置、プログラム更新処理方法及び書換制御ソフトウェアを提案しようとするものである。
【課題を解決するための手段】
【０００９】
かかる課題を解決するため本発明においては、所定の処理を実行させるための動作プログラムと、当該動作プログラムをアップデートするための書換プログラムとが格納された主領域と、書換プログラムだけが格納された副領域とからなる記憶手段と、アップデート用の新たなプログラムを外部から取り込むための入力手段と、主領域の書換プログラム又は副領域の書換プログラムの何れか一方を用いて入力手段から取り込んだ新たなプログラムにより主領域又は副領域をアップデートする書換手段とを設けることにより、書換プログラムだけを二重化し、効率的かつ確実にプログラムの書換処理を容易に実行させることができる。
【００１０】
また本発明においては、所定の処理を実行させるための動作プログラムと、当該動作プログラムをアップデートするための書換プログラムとが格納された主領域と、書換プログラムだけが格納された副領域とからなる記憶手段における主領域、副領域をアップデートするための新たなプログラムを外部から取り込み、主領域の書換プログラム又は副領域の書換プログラムの何れか一方を用いて外部から取り込んだ新たなプログラムにより主領域又は副領域をアップデートすることにより、二重化した書換プログラムの何れか一方を用いて効率的かつ確実にプログラムの書換処理を容易に実行させることができる。
【発明の効果】
【００１１】
本発明によれば、二重化した書換プログラムの何れか一方を用いて効率的かつ確実にプログラムの書換処理を容易に実行させ得る情報処理装置、プログラム更新処理方法及び書換制御ソフトウェアを実現することができる。
【発明を実施するための最良の形態】
【００１２】
以下、図面について、本発明の一実施の形態を詳述する。
【００１３】
（１）オーディオ装置の外観構成
図１において、１は全体として本発明の情報処理装置としてのオーディオ装置を示し、略直方体形状でなる本体２の上面２Ａに対して電源ボタン３、ＣＤ等の光ディスクを装填するためのディスクスロット１２、当該ディスクスロット１２から光ディスクを排出するためのイジェクトボタン１３が設けられている。
【００１４】
またオーディオ装置１の本体２は、表面２Ｂの左側上方に音量を調整するためのボリュームボタン４、表面２Ｂの左側下方にヘッドホンジャック５及びオーディオ入力ジャック６、表面２Ｂの下方中央付近にＵＳＢ(Universal Serial Bus)ポート７が設けられている。
【００１５】
さらにオーディオ装置１の本体２は、表面２Ｂの右側下方に円形状の入力ボタン群８、表面２Ｂのほぼ中央に蛍光表示管９、その蛍光表示管９の隣に各種動作状態を示すインジケータ１０が設けられ、かつ表面２Ｂの右側上方に各種操作ボタンからなる入力ボタン群１１が設けられている。なお、入力ボタン群８及び入力ボタン群１１を合わせて単にボタン群１５とする。
【００１６】
このようなオーディオ装置１では、ディスクスロット１２から装填された光ディスクを再生したり、当該光ディスクに対して音楽コンテンツを記録する等の記録再生動作を実行することが出来るとともに、図２に示すようにＵＳＢポート７を介して接続された例えばＵＳＢメモリ１６に格納されている音楽コンテンツを再生したり、ＵＳＢメモリ１６から音楽コンテンツを取り込んだり、ＵＳＢメモリ１６に対して音楽コンテンツを記録する等の記録再生動作を実行し得るようになされている。
【００１７】
またオーディオ装置１は、音楽コンテンツの記録中又は再生中はその楽曲タイトル、アーティスト名、記録時間又は再生時間等の各種情報を蛍光表示管９に表示したり、それ以外の例えばプログラムバージョンアップ中であれば各段階における本体２の動作状態を示す内容を蛍光表示管９に表示し得るようになされている。
【００１８】
（２）オーディオ装置の回路構成
図３に示すようにオーディオ装置１は、ＣＰＵ(Central Processing Unit)３０が全体を統括制御しており、フラッシュＲＯＭ３１に格納された通常動作プログラムをＲＡＭ(Random Access Memory)３２上に立ち上げ、その通常動作プログラムに従って選曲動作、記録再生動作等の音楽コンテンツを記録又は再生する際に必要な各種処理を実行する。
【００１９】
またオーディオ装置１のＣＰＵ３０は、本体２のボタン群１５に対するユーザの操作に応じて、ＵＳＢポート７を介して接続されたＵＳＢメモリ１６（図２）に格納されている音楽コンテンツに対する再生動作や、そのＵＳＢメモリ１６から取り込んだ新たなプログラムを用いてプログラムバージョンアップを実行し、それらの処理過程や処理結果等を蛍光表示管９に表示するようになされている。
【００２０】
ところで、このオーディオ装置１ではフラッシュＲＯＭ３１に格納されているデコーダをバージョンアップする必要が生じたときに、ＵＳＢポート７を介して接続されたＵＳＢメモリ１６からバージョンアップ用の新たなプログラムを取り込んで書き換え得るようになされているが、その最中に電源供給が絶たれるような事態が生じたときであっても再起動して再度書き換えることが出来るように考慮されており、その点について説明する。
【００２１】
（３）フラッシュＲＯＭのデータ構造
図４に示すようにフラッシュＲＯＭは、主領域、副領域及び起動領域に大きく分けられており、主領域の中に、選曲動作、記録再生動作等の音楽コンテンツを記録又は再生する際に必要な各種処理を実行する通常動作プログラムと、その通常動作プログラムをバージョンアップするための新たなプログラムをＵＳＢメモリ１６から読み込むための読込プログラムと、その読込プログラムによって読み込まれた新たなプログラムによって通常動作プログラムを書き換えることによりアップデートするための書換プログラムとが格納されている。
【００２２】
ここで新たなプログラムには、主領域に格納されている通常動作プログラム、読込プログラム及び書換プログラムを全て更新するための新たな通常動作プログラム、新たな読込プログラム及び新たな書換プログラムが含まれている。但し、新たなプログラムとしては必ずしもこれに限るものではなく、新たな通常動作プログラム、新たな読込プログラム及び新たな書換プログラムのうち何れか一つもしくは何れか２つだけが含まれていることも有り得る。
【００２３】
またフラッシュＲＯＭ３１は、副領域の中に、主領域と同様の読込プログラム及び書換プログラムが格納されており、主領域と比べて通常動作プログラムだけが格納されていない状態である。
【００２４】
さらにフラッシュＲＯＭ３１は、起動領域の中に、主領域に格納されているプログラムが正常であるか、副領域に格納されているプログラムが正常であるかを判定するための判定プログラムが格納されている。
【００２５】
なお主領域及び副領域の双方に格納されている読込プログラム及び書換プログラムは完全に同一のプログラムであり、その書換プログラムの一部として、ＵＳＢメモリ１６が接続されたことを検出すると、そのＵＳＢメモリ１６に格納されている新たなプログラムを取り込んでフラッシュＲＯＭ３１をアップデートするように制御する書換制御ソフトウェアが格納されており、その書換制御ソフトウェアに従ってオーディオ装置１のＣＰＵ３０はプログラムの書換処理を実行するようになされている。
【００２６】
因みにフラッシュＲＯＭ３１は、主領域、副領域、起動領域をそれぞれ個別に消去及び書換可能に構成されており、各領域毎に書き換えることが可能である。
【００２７】
（４）プログラム書換処理手順
図５に示すように、オーディオ装置１のＣＰＵ３０は電源が投入されるとフラッシュＲＯＭ３１の起動領域にある判定プログラムに従って、ルーチンＲＴ１の開始ステップから入って次のステップＳＰ１へ移り、当該フラッシュＲＯＭ３１の主領域に格納されているプログラムが正常であるか否かを判定する。
【００２８】
ここで肯定結果が得られると、このことは主領域に格納されている読込プログラム、書換プログラム及び通常動作プログラムが全て正常であって、当該通常動作プログラムによって選曲動作、記録再生動作等の音楽コンテンツを記録又は再生する際に必要な各種処理を正常に実行することが可能な状態にあることを表しており、このときＣＰＵ３０は次のステップＳＰ２へ移る。
【００２９】
ステップＳＰ２においてＣＰＵ３０は、起動領域にある判定プログラムに従ってフラッシュＲＯＭ３１の副領域に格納されているプログラムが正常であるか否かを判定する。ここで肯定結果が得られると、このことは副領域に格納されている読込プログラム及び書換プログラムが正常であることを表しており、このときＣＰＵ３０は次のステップＳＰ３へ移る。
【００３０】
ステップＳＰ３においてＣＰＵ３０は、フラッシュＲＯＭ３１における主領域の通常動作プログラムを読み出してＲＡＭ３２上に展開することにより起動し、次のステップＳＰ４へ移る。
【００３１】
ステップＳＰ４においてＣＰＵ３０は、ステップＳＰ３において通常動作プログラムに従って音楽コンテンツを再生する等の通常動作を実行することが出来る状態に設定した後、ＵＳＢポート７を介してＵＳＢメモリ１６が装着されたか否かを判定し、肯定結果が得られた場合には次のステップＳＰ５へ移る。
【００３２】
このときＣＰＵ３０は、図８（Ａ）に示すように蛍光表示管９に「ＵＳＢ  Ｄｅｔｅｃｔ」の文字を表示することにより、ユーザに対してＵＳＢメモリ１６をオーディオ装置１が認識したことを視覚的に通知し得るようになされている。
【００３３】
ステップＳＰ５においてＣＰＵ３０は、ＵＳＢメモリ１６に格納されているデータを取り込み、次のステップＳＰ６へ移る。ここでＵＳＢメモリ１６には、複数種類の音楽コンテンツに加えてバージョンアップ用の新たなプログラム（新たな通常動作プログラム、新たな読込プログラム及び新たな書換プログラム）が書き込まれている場合もあり、その種別を次のステップＳＰ６で判断する。
【００３４】
ステップＳＰ６においてＣＰＵ３０は、ＵＳＢメモリ１６から取り込んだデータがバージョンアップ用の書換え用データすなわち新たなプログラムであるか否かを判定する。ここで否定結果が得られると、このことはＵＳＢメモリ１６から取り込んだデータが音楽コンテンツであることを表しており、このときＣＰＵ３０はステップＳＰ７へ移り、音楽コンテンツに対する再生処理や記録処理等の通常動作を実行した後、再度ステップＳＰ４へ戻る。
【００３５】
因みに、このステップＳＰ１〜ステップＳＰ７までの一連の処理は、オーディオ装置１における通常の記録再生処理等の通常動作である。
【００３６】
ところでステップＳＰ４で否定結果が得られると、このことはＵＳＢメモリ１６が装着されていないので、ＵＳＢメモリ１６を用いることのない他のモード（ＣＤ、チューナー等）が選択されている可能性が高く、このときＣＰＵ３０は次のステップＳＰ８へ移る。
【００３７】
このときＣＰＵ３０は、図８（Ｂ）に示すように蛍光表示管９に「ＵＳＢ  ＮｏＤｅｖｉｃｅ」の文字を表示することにより、ＵＳＢポート７にＵＳＢメモリ１６が装着されていない状態をオーディオ装置１が認識していることを視覚的に通知し得るようになされている。
【００３８】
ステップＳＰ８においてＣＰＵ３０は、ＵＳＢメモリ１６を用いることのない他のモード（ＣＤ、チューナー等）が選択されているか否かを判定し、否定結果が得られると、何れのモードについても選択されていないことを表しており、このときＣＰＵ３０はステップＳＰ１３へ移って処理を終了する。
【００３９】
これに対してステップＳＰ８で肯定結果が得られると、他のモードが選択されていることを表しており、このときＣＰＵ３０は当該他のモードにおける所定の処理を実行した後、ステップＳＰ１３へ移って処理を終了する。
【００４０】
一方ステップＳＰ１で否定結果が得られると、このことは主領域に格納されている読込プログラム、書換プログラム及び通常動作プログラムの全て若しくは何れかにエラーが発生している状態であることを表しており、このときＣＰＵ３０は次のステップＳＰ１０へ移る。
【００４１】
ステップＳＰ１０においてＣＰＵ３０は、主領域にエラーが発生しているため、副領域の読込プログラム及び書換プログラムを起動し、次のサブルーチンＳＲＴ１における主領域からのプログラムバージョンアップ処理手順を実行する。
【００４２】
図６に示すようにＣＰＵ３０は、サブルーチンＳＲＴ１の開始ステップから入って次のステップＳＰ２１へ移り、ＵＳＢメモリ１６がＵＳＢポート７に装着されたか否かを判定し、肯定結果が得られると次のステップＳＰ２２へ移る。因みに、この場合もＣＰＵ３０は図８（Ａ）又は図８（Ｂ）に示した表示を蛍光表示管９に行う。
【００４３】
ステップＳＰ２２においてＣＰＵ３０は、ＵＳＢメモリ１６に格納されているデータを取り込み、次のステップＳＰ２３へ移る。この場合もＵＳＢメモリ１６には、複数種類の音楽コンテンツに加えてバージョンアップ用の新たなプログラム（新たな通常動作プログラム、新たな読込プログラム及び新たな書換プログラム）が書き込まれている場合もあり、その種別を次のステップＳＰ２３で判断する。
【００４４】
ステップＳＰ２３においてＣＰＵ３０は、ＵＳＢメモリ１６から取り込んだデータがバージョンアップ用の書換え用データすなわち新たなプログラムであるか否かを判定する。ここで否定結果が得られると、このことはＵＳＢメモリ１６から取り込んだデータが新たプログラムではないことを表しており、このときＣＰＵ３０は上述したステップＳＰ２１〜ステップＳＰ２３の処理に戻って新たなプログラムの格納されているＵＳＢメモリ１６が装着されるのを待ち受ける。
【００４５】
これに対してステップＳＰ２３で肯定結果が得られると、このことはＵＳＢメモリ１６から取り込んだデータがバージョンアップ用の書換え用データすなわち新たなプログラムであることを表しており、このときＣＰＵ３０は次のステップＳＰ２４へ移る。
【００４６】
ステップＳＰ２４においてＣＰＵ３０は、図８（Ｃ）に示すような「ＵＳＢ  Ｕｐｄａｔｅ？」の文字を蛍光表示管９に表示することにより、ユーザに対してプログラムバージョンアップを行ってよいかを問い合わせ、入力ボタン群１１のエンターボタンがユーザにより押下操作されたことを確認すると、図８（Ｄ）に示すような「ＵＳＢ  Ｕｐｄａｔｅ？？」の文字を蛍光表示管９に表示することにより、ユーザに対してプログラムバージョンアップを行ってよいかを再度問い合わせ、それに対してエンターボタンが押下操作されたことを確認すると、ユーザによるプログラムバージョンアップの実行意思を最終的に確認し得たと認識する。
【００４７】
そしてＣＰＵ３０は、副領域の読込プログラムによりＵＳＢメモリ１６に格納されている新たなプログラムを読み出してＲＡＭ３２に一旦保持し、副領域の書換プログラムにより主領域の通常動作プログラム、読込プログラム及び書換プログラムを新たなプログラム（新たな通常動作プログラム、新たな読込プログラム及び新たな書換プログラム）に書き換えることによりアップデートし、次のステップＳＰ２５へ移る。
【００４８】
このときＣＰＵ３０は、アップデート中においては、図８（Ｅ）に示すような「ＵＳＢ  Ｕｐｄａｔｉｎｇ  Ｐｌｅａｓｅ  Ｗａｉｔ」の文字を蛍光表示管９に表示するとともに、そのうち「Ｕｐｄａｔｉｎｇ」も文字部分だけを点滅表示することにより、現在アップデート処理中であることをユーザに通知するようになされている。
【００４９】
因みにＣＰＵ３０は、ＵＳＢメモリ１６に格納されている新たなプログラムが、新たな通常動作プログラム、新たな読込プログラム及び新たな書換プログラムの全てではなくその一部であった場合、その一部だけを書き換えることによりアップデートするようになされている。
【００５０】
ステップＳＰ２５においてＣＰＵ３０は、ステップＳＰ２４におけるプログラム書換処理によって主領域のプログラムが正常になったか否かを判定し、否定結果が得られるとステップＳＰ２１へ戻り、肯定結果が得られると次のステップＳＰ２６へ移る。
【００５１】
ステップＳＰ２６においてＣＰＵ３０は、主領域のプログラムが正常になったことを確認した後であるため、その主領域の書換プログラムに従って先程ＲＡＭ３２に一旦保持した新たなプログラムにより副領域の読込プログラム及び書換プログラムを書き換えることによりアップデートし、次のステップＳＰ２７へ移る。
【００５２】
ステップＳＰ２７においてＣＰＵ３０は、ステップＳＰ２６で副領域の読込プログラム及び書換プログラムをアップデートしたことにより、副領域のプログラムが正常になったか否かを判定し、否定結果が得られると、ステップＳＰ２１へ戻ってプログラムバージョンアップ処理を再度実行し、肯定結果が得られると図８（Ｆ）に示すような「ＵＳＢ  Ｆｉｎｉｓｈｅｄ  Ｐｕｓｈ  Ｐｏｗｅｒ」の文字を蛍光表示管９に表示するとともに、「Ｐｕｓｈ  Ｐｏｗｅｒ」の文字部分だけを点滅表示することにより再起動をユーザに促した後、ルーチンＲＴ１のステップＳＰ１３（図５）へ戻ってプログラム書換処理手順を終了する。
【００５３】
これによりＣＰＵ３０は、ユーザにより電源ボタン３が再度押下操作されると、新たなプログラムで再起動することによりソフトウェア的にリセットし、正常な動作状態に復帰させるようになされている。
【００５４】
またステップＳＰ２で否定結果が得られると、このことは副領域に格納されている読込プログラム及び書換プログラムの全て若しくは何れかにエラーが発生している状態にあることを表しており、このときＣＰＵ３０は次のステップＳＰ１１へ移る。
【００５５】
ステップＳＰ１１においてＣＰＵ３０は、副領域にエラーが発生しているため、主領域の読込プログラム及び書換プログラムを起動し、次のサブルーチンＳＲＴ２における副領域からのプログラムバージョンアップ処理手順を実行する。
【００５６】
図７に示すようにＣＰＵ３０は、サブルーチンＳＲＴ２の開始ステップから入って次のステップＳＰ３１へ移り、ＵＳＢメモリ１６がＵＳＢポート７に装着されたか否かを判定し、肯定結果が得られると次のステップＳＰ３２へ移る。因みに、この場合もＣＰＵ３０は図８（Ａ）又は図８（Ｂ）に示した表示を蛍光表示管９に行う。
【００５７】
ステップＳＰ３２においてＣＰＵ３０は、ＵＳＢメモリ１６に格納されているデータを取り込み、次のステップＳＰ３３へ移る。
【００５８】
ステップＳＰ３３においてＣＰＵ３０は、ＵＳＢメモリ１６から取り込んだデータがバージョンアップ用の書換え用データすなわち新たなプログラムであるか否かを判定する。ここで否定結果が得られると、このことはＵＳＢメモリ１６から取り込んだデータが新たプログラムではないことを表しており、このときＣＰＵ３０は上述したステップＳＰ３１〜ステップＳＰ３３の処理に戻って新たなプログラムの格納されているＵＳＢメモリ１６が装着されるのを待ち受ける。
【００５９】
これに対してステップＳＰ３３で肯定結果が得られると、このことはＵＳＢメモリ１６から取り込んだデータがバージョンアップ用の書換え用データすなわち新たなプログラムであることを表しており、このときＣＰＵ３０は次のステップＳＰ３４へ移る。
【００６０】
ステップＳＰ３４においてＣＰＵ３０は、図８（Ｃ）に示したような「ＵＳＢ  Ｕｐｄａｔｅ？」の文字を蛍光表示管９に表示することにより、ユーザに対してプログラムバージョンアップを行ってよいかを問い合わせ、入力ボタン群１１のエンターボタンがユーザにより押下操作されたことを確認すると、図８（Ｄ）に示したような「ＵＳＢ  Ｕｐｄａｔｅ？？」の文字を蛍光表示管９に表示することにより、ユーザに対してプログラムバージョンアップを行ってよいかを再度問い合わせ、それに対してエンターボタンが押下操作されたことを確認すると、ユーザによるプログラムバージョンアップの実行意思を最終的に確認し得たと認識する。
【００６１】
そしてＣＰＵ３０は、主領域の読込プログラムによりＵＳＢメモリ１６に格納されている新たなプログラムを読み出してＲＡＭ３２に一旦保持し、主領域の書換プログラムにより副領域の読込プログラム及び書換プログラムを新たなプログラム（新たな読込プログラム及び新たな書換プログラム）に書き換えることによりアップデートし、次のステップＳＰ３５へ移る。
【００６２】
このときもＣＰＵ３０は、図８（Ｅ）に示したような「ＵＳＢ  Ｕｐｄａｔｉｎｇ  Ｐｌｅａｓｅ  Ｗａｉｔ」の文字を蛍光表示管９に表示するとともに、そのうち「Ｕｐｄａｔｉｎｇ」も文字部分だけを点滅表示することにより、現在アップデート中であることをユーザに通知するようになされている。
【００６３】
ステップＳＰ３５においてＣＰＵ３０は、ステップＳＰ３４におけるプログラム書換処理によって副領域のプログラムが正常になったか否かを判定し、否定結果が得られるとステップＳＰ３１へ戻り、肯定結果が得られると次のステップＳＰ３６へ移る。
【００６４】
ステップＳＰ３６においてＣＰＵ３０は、副領域のプログラムが正常になったことを確認した後であるため、その副領域の書換プログラムに従って先程ＲＡＭ３２に一旦保持した新たなプログラムにより主領域の通常動作プログラム、読込プログラム及び書換プログラムを書き換えることによりアップデートし、次のステップＳＰ３７へ移る。
【００６５】
ステップＳＰ３７においてＣＰＵ３０は、ステップＳＰ３６で主領域の通常動作プログラム、読込プログラム及び書換プログラムをアップデートしたことにより、主領域のプログラムが正常になったか否かを判定し、否定結果が得られると、ステップＳＰ３１へ戻ってプログラムバージョンアップ処理を再度実行し、肯定結果が得られると図８（Ｆ）に示したような「ＵＳＢ  Ｆｉｎｉｓｈｅｄ  Ｐｕｓｈ  Ｐｏｗｅｒ」の文字を蛍光表示管９に表示するとともに、「Ｐｕｓｈ  Ｐｏｗｅｒ」の文字部分だけを点滅表示することにより再起動をユーザに促した後、ルーチンＲＴ１のステップＳＰ１３（図５）へ戻ってプログラム書換処理手順を終了する。
【００６６】
これによりＣＰＵ３０は、ユーザにより電源ボタン３が再度押下操作されると、新たなプログラムで再起動することによりソフトウェア的にリセットし、正常な動作状態に復帰させるようになされている。
【００６７】
これに対してステップＳＰ６で肯定結果が得られると、このことはＵＳＢメモリ１６から取り込んだデータがプログラムバージョンアップのための書換え用データであったことを表しており、このときＣＰＵ３０は次のステップＳＰ１２へ移る。
【００６８】
ステップＳＰ１２においてＣＰＵ３０は、主領域のプログラムも副領域のプログラムも双方が正常であるため、ここでは主領域の読込プログラム及び書換プログラムを起動し、次のサブルーチンＳＲＴ３へ移る。
【００６９】
図７に示したようにＣＰＵ３０は、サブルーチンＳＲＴ３の開始ステップから入って次のステップＳＰ３４へ移り、上述したようにユーザによるプログラムバージョンアップの意思を２度問い合わせ、それに対する応答に応じて書換え意思を確認すると、主領域の読込プログラムによりＵＳＢメモリ１６に格納されている新たなプログラムを読み出してＲＡＭ３２に一旦保持し、主領域の書換プログラムにより副領域の読込プログラム及び書換プログラムを新たなプログラム（新たな読込プログラム及び新たな書換プログラム）に書き換えることによりアップデートし、次のステップＳＰ３５へ移る。
【００７０】
ステップＳＰ３５においてＣＰＵ３０は、ステップＳＰ３４におけるプログラム書換処理によって副領域のプログラムが正常になったか否かを判定し、否定結果が得られるとステップＳＰ３１へ戻り、肯定結果が得られると次のステップＳＰ３６へ移る。
【００７１】
ステップＳＰ３６においてＣＰＵ３０は、副領域のプログラムが正常になったことを確認した後であるため、その副領域の書換プログラムに従って先程ＲＡＭ３２に一旦保持した新たなプログラムにより主領域の通常動作プログラム、読込プログラム及び書換プログラムを書き換えることによりアップデートし、次のステップＳＰ３７へ移る。
【００７２】
ステップＳＰ３７においてＣＰＵ３０は、ステップＳＰ３６で主領域の通常動作プログラム、読込プログラム及び書換プログラムをアップデートしたことにより、主領域のプログラムが正常になったか否かを判定し、否定結果が得られると、ステップＳＰ３１へ戻ってプログラムバージョンアップ処理を再度実行し、肯定結果が得られると図８（Ｆ）に示したような「ＵＳＢ  Ｆｉｎｉｓｈｅｄ  Ｐｕｓｈ  Ｐｏｗｅｒ」の文字を蛍光表示管９に表示するとともに、「Ｐｕｓｈ  Ｐｏｗｅｒ」の文字部分だけを点滅表示することにより再起動をユーザに促した後、ルーチンＲＴ１のステップＳＰ１３（図５）へ戻ってプログラム書換処理手順を終了する。
【００７３】
これによりＣＰＵ３０は、ユーザにより電源ボタン３が再度押下操作されると、新たなプログラムで再起動することによりソフトウェア的にリセットし、正常な動作状態に復帰させるようになされている。
【００７４】
（５）動作及び効果
以上の構成において、オーディオ装置１のＣＰＵ３０は、主領域のプログラムが正常ではないとき、副領域のプログラムを用いて主領域のプログラムを書き換え、その逆に副領域のプログラムが正常ではないとき、主領域のプログラムを用いて副領域のプログラムを書き換えるようにした。
【００７５】
これによりオーディオ装置１では、新たなプログラムのアップデート中に、停電等によって電源供給が絶たれたり、新しいプログラムの格納されているＵＳＢメモリ１６が途中で取り外される等して新しいプログラムを全てフラッシュＲＯＭ３１に格納することが出来なくなったときであっても、二重化された主領域のプログラム又は副領域のプログラムのうち少なくとも何れか一方を必ず正常な状態のまま確保することが出来るので、特別な操作を要することなく直ちにアップデートをやり直すことができる。
【００７６】
なおオーディオ装置１では、サブルーチンＳＲＴ１の主領域からのプログラムバージョンアップ処理手順や、サブルーチンＳＲＴ２の副領域からのプログラムバージョンアップ処理手順において、主領域のプログラムの書換処理後や副領域のプログラムの書換処理後に正常になったか否かを判定し、正常になるまで書換処理を繰り返すようにしたことにより、アップデートが最終的に成功するまで何度でも繰り返し実行することができるので、古いプログラムを新たなプログラムに必ずバージョンアップさせることが出来る。
【００７７】
このときオーディオ装置１は、主領域又は副領域のプログラムを書き換え、その次に副領域又は主領域のプログラムを書き換え終わるまで図８（Ｆ）に示したような「ＵＳＢ  Ｆｉｎｉｓｈｅｄ  Ｐｕｓｈ  Ｐｏｗｅｒ」の文字を蛍光表示管９に表示することがないので、ユーザに対しては主領域及び副領域に対する双方のアップデートを行っていることを特別に意識をさせることなく新たなプログラムにバージョンアップできたことだけを通知することになる。
【００７８】
またオーディオ装置１は、フラッシュＲＯＭ３１の主領域にだけ容量の大きな通常動作プログラムを格納し、副領域には主領域と同じ読込プログラム及び書換プログラムだけを格納するようにしたことにより、通常動作プログラムをバージョンアップするために最低限必要な読込プログラム及び書換プログラムだけを２重化するだけで済み、全二重化する場合に比べてフラッシュＲＯＭ３１を大容量化せずに済む。
【００７９】
具体的に本実施の形態においてはオーディオ装置１のフラッシュＲＯＭ３１を、主領域が１１８４キロバイト、副領域が２３３キロバイト及び起動領域が１１キロバイトの比率で構成しているため、合計１４２８キロバイトの容量で済むが、副領域にまで通常動作プログラムを格納する全二重化構造とした場合、主領域及び副領域がそれぞれ１１８４キロバイト必要になるため、合計で２３６８キロバイトの容量が必要になってしまう。
【００８０】
特に、読込プログラム及び書換プログラムの容量は、通常動作プログラムの容量とは無関係であるため、通常動作プログラムの容量が大きければ大きいほど、副領域に格納する読込プログラム及び書換プログラムの通常動作プログラムに対する比率が小さくなり、全二重化した場合の容量に比べて本発明のフラッシュＲＯＭ３１の容量の比率が小さくなる。
【００８１】
以上の構成によれば、オーディオ装置１は新たなプログラムのアップデート中に、停電等によって電源供給が絶たれたり、新しいプログラムの格納されているＵＳＢメモリ１６が途中で取り外される等して新しいプログラムを全てフラッシュＲＯＭ３１に格納することが出来なくなったときであっても、主領域のプログラム又は副領域のプログラムのうち少なくとも何れか一方を必ず正常な状態のまま確保してバージョンアップすることが出来るため、特別な操作を要することなくユーザ自身によってプログラムの書換処理を容易、効率的かつ確実に実行させることができる。
【００８２】
（６）他の実施の形態
なお上述の実施の形態においては、ステップＳＰ１及びステップＳＰ２において主領域及び副領域の双方が正常であると判定されたときステップＳＰ１２で主領域のプログラムを起動し、サブルーチンＳＲＴ３で副領域からプログラムバージョンアップするようにした場合について述べたが、本発明はこれに限らず、ステップＳＰ１２で副主領域のプログラムを起動し、サブルーチンＳＲＴ３で主領域からプログラムバージョンアップするようにしても良い。
【００８３】
また上述の実施の形態においては、外部のＵＳＢメモリ１６から各種データを取り込むためのＵＳＢポート７をインタフェースとして用いるようにしたが、本発明はこれに限るものではなく、ＣＤ−ＲＯＭ(Compact Disc-Read Only Memory)、メモリースティック（ソニー株式会社：登録商標）、IEEE(Institute of Electrical and Electronics Engineers)802.11n等のワイヤレス無線通信インタフェース、インターネット等にそれぞれ対応した種々のインタフェースを入力手段として用いるようにしても良い。
【００８４】
さらに上述の実施の形態においては、ステップＳＰ１及びステップＳＰ２において主領域及び副領域が正常であるか否かを判定した後に、ＵＳＢメモリ１６が装着されたか否かを判定するようにした場合について述べたが、本発明はこれに限らず、先にＵＳＢメモリ１６が装着されたか否かを判定した後、新たなプログラムを取り込んだときにステップＳＰ１及びステップＳＰ２において主領域及び副領域が正常であるか否かを判定するようにしても良い。このように処理の順番としては、必ずしもルーチンＲＴ１に示した処理手順に限るものではない。
【００８５】
さらに上述の実施の形態においては、表示手段として蛍光表示管９を用いたり、入力手段として入力ボタン群８及び１１からなるボタン群１５を用いるようにした場合について述べたが、本発明はこれに限らず、表示手段として液晶ディスプレイや有機ＥＬ(Electroluminescence)ディスプレイ、入力手段としてマウスやジョイスティック等を用いるようにしても良い。
【００８６】
さらに上述の実施の形態においては、記憶手段としてのフラッシュＲＯＭ３１と、書換手段としてのＣＰＵ３０によって本発明の情報処理装置としてのオーディオ装置１を構成するようにした場合について述べたが、本発明はこれに限らず、書換可能な種々の記憶手段及びマイコン等の制御手段によって情報処理装置としてのオーディオ装置１を構成するようにしても良い。
【産業上の利用可能性】
【００８７】
本発明の情報処理装置、プログラム更新処理方法及び書換制御ソフトウェアは、例えばオーディオ装置以外のプログラム制御で動作するあらゆる電子機器に適用することができる。
【図面の簡単な説明】
【００８８】
【図１】オーディオ装置の外観構成を示す略線的斜視図である。
【図２】ＵＳＢメモリ装着状態を示す略線的斜視図である。
【図３】オーディオ装置の回路構成を示す略線的ブロック図である。
【図４】フラッシュＲＯＭの構造を示す略線図である。
【図５】プログラム書換処理手順を示すフローチャートである。
【図６】主領域からのプログラムバージョンアップ処理手順を示すフローチャートである。
【図７】副領域からのプログラムバージョンアップ処理手順を示すフローチャートである。
【図８】蛍光表示管の表示内容を示す略線図である。
【符号の説明】
【００８９】
１……オーディオ装置、２……本体、３……電源ボタン、４……ボリュームボタン、５……ヘッドホンジャック、６……オーディオ入力ジャック、７……ＵＳＢポート、８……入力ボタン群、９……蛍光表示管、１０……インジケータ、１１……入力ボタン群、１２……ディスクスロット、１３……イジェクトボタン、１５……ボタン群、１６……ＵＳＢメモリ、３０……ＣＰＵ、３１……フラッシュＲＯＭ、３２……ＲＡＭ。
【図１】
2008003861.tif 000003
【図２】
2008003861.tif 000004
【図３】
2008003861.tif 000005
【図４】
2008003861.tif 000006
【図５】
2008003861.tif 000007
【図６】
2008003861.tif 000008
【図７】
2008003861.tif 000009
【図８】
2008003861.tif 000010