(57)【要約】【課題】  ファームウェアを更新専用ソフトを用いて更新する場合、メーカは、更新専用ソフトの開発およびその更新専用ソフトのメンテナンス作業を行う必要がある。【解決手段】  フラッシュＲＯＭ２６に記憶されたファームウェアにもとづいて演算処理を行う制御回路に含まれるＣＰＵは、フラッシュＲＯＭ２６におけるユーザがアクセス可能なファイルシステム領域５０に、更新後の新たなファームウェアである更新ファームウェア７０を書き込む。また、ＣＰＵは、第１領域に書き込まれた更新ファームウェア７０を、フラッシュＲＯＭ２６におけるユーザがアクセス不可能な非ファイルシステム領域５２にコピーする。さらに、ＣＰＵは、第２ファームウェア記憶領域６０にコピーされた更新ファームウェア７０を読み出し、その読み出した更新ファームウェア７０にもとづいて電子機器を動作させる。【選択図】  図３
2007047993.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリに記憶されたファームウェアにもとづいて演算処理を行う制御回路であって、
前記不揮発性メモリにおけるユーザがアクセス可能な第１領域に、更新後の新たなファームウェアを書き込む書込部と、
前記第１領域に書き込まれた前記ファームウェアを、前記不揮発性メモリにおけるユーザがアクセス不可能な第２領域に複写する複写部と、
前記第２領域に複写されたファームウェアを読み出し、その読み出したファームウェアにもとづいて本制御回路を搭載する電子機器を動作させる制御部と、
を備えることを特徴とする制御回路。
【請求項２】
前記不揮発性メモリの前記第２領域は、前記ファームウェアを記憶する複数のファームウェア記憶領域を含み、
前記複数のファームウェア記憶領域のうち、最新のファームウェアを記憶した最新ファームウェア記憶領域を判定する判定部をさらに備え、
前記複写部は、前記判定部により判定された最新ファームウェア記憶領域以外のファームウェア記憶領域に前記ファームウェアを複写することを特徴とする請求項１に記載の制御回路。
【請求項３】
前記制御部は、前記複数のファームウェア記憶領域に記憶されるファームウェアのうち、最新のファームウェアを読み出し、その読み出した最新のファームウェアにもとづいて前記電子機器を動作させることを特徴とする請求項２に記載の制御回路。
【請求項４】
前記複写部は、前記複数のファームウェア記憶領域に中に破損したファームウェア記憶領域があるとき、その破損したファームウェア記憶領域以外のファームウェア記憶領域に前記ファームウェアを複写することを特徴とする請求項２または３に記載の制御回路。
【請求項５】
前記複写部は、前記複数のファームウェア記憶領域のうち、正常に動作する記憶領域が１つのみ存在するとき、前記ファームウェアの複写を中止することを特徴とする請求項２または３に記載の制御回路。
【請求項６】
前記複写部は、ユーザにより所定の操作が実行されたことを条件として、前記ファームウェア記憶領域に前記ファームウェアを複写することを特徴とする請求項２から５のいずれかに記載の制御回路。
【請求項７】
１つの半導体基板上に一体集積化されたことを特徴とする請求項１から６のいずれかに記載の制御回路。
【請求項８】
請求項１から７のいずれかに記載の制御回路と、
前記第１領域に前記ファームウェアを、前記第２領域に音声データを記憶する不揮発性メモリと、
前記第２領域に記憶された前記音声データを再生する音声出力部と、
を備えることを特徴とする電子機器。
【請求項９】
不揮発性メモリを備えた装置のファームウェアの更新方法であって、
前記不揮発性メモリにおけるユーザがアクセス可能な第１領域に、更新後の新たなファームウェアを書き込む書込ステップと、
前記第１領域に書き込まれた前記ファームウェアを、前記不揮発性メモリにおけるユーザがアクセス不可能な第２領域に複写する複写ステップと、
を備えることを特徴とするファームウェアの更新方法。
【請求項１０】
前記不揮発性メモリの前記第２領域は、前記ファームウェアを記憶する複数のファームウェア記憶領域を含み、
前記複数のファームウェア記憶領域のうち、最新のファームウェアを記憶した最新ファームウェア記憶領域を判定する判定ステップをさらに備え、
前記複写ステップにおいて、前記判定ステップで判定された最新ファームウェア記憶領域以外のファームウェア記憶領域に前記ファームウェアを複写することを特徴とする請求項９に記載のファームウェアの更新方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリを備えた電子機器のファームウェアを更新する技術に関する。
【背景技術】
【０００２】
シリコンオーディオプレイヤー、デジタルカメラなどのさまざまな電子機器に搭載されたメモリにはファームウェアが記憶されており、それらの電子機器はそのファームウェアにもとづいて動作する。ファームウェアは、メーカによりアップデートされる場合がある。ユーザは、例えば、ＣＤ−ＲＯＭなどの記録媒体やインターネットから、そのアップデートされたファームウェアを入手し、ファームウェアを更新することにより電子機器の機能を改善する。一般に、ユーザは、アップデートされたファームウェアのファイルをコンピュータに保存し、更新専用のソフトウェアを用いてそのコンピュータに接続された電子機器のファームウェアを更新する。特許文献１には、コンピュータに含まれるデバイスドライバを用いてアップデートデータを機器に送信することにより、その機器のファームウェアを更新する技術が開示されている。
【特許文献１】特開２００２−２０２８９６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、更新専用ソフトウェアを用いてファームウェアを更新する場合、電子機器のメーカは、更新専用のコンピュータソフトウェアを開発し、かつ、ファームウェアのアップデートに合わせてその更新専用コンピュータソフトウェアのメンテナンス作業を行う必要がある。このソフトウェアの開発かつメンテナンス作業にともなう労力は必ずしも少なくない。また、ユーザは、メンテナンスされる度に更新専用コンピュータソフトウェアを入手またはアップデートする必要がある。
【０００４】
本発明は、上述の事情を鑑みてなされたものであり、その目的は、更新専用コンピュータソフトウェアを用いることなくファームウェアの更新することにある。
【課題を解決するための手段】
【０００５】
本発明の一態様は、不揮発性メモリに記憶されたファームウェアにもとづいて演算処理を行う制御回路に関する。この制御回路は、不揮発性メモリにおけるユーザがアクセス可能な第１領域に、更新後の新たなファームウェアを書き込む書込部と、第１領域に書き込まれたファームウェアを、不揮発性メモリにおけるユーザがアクセス不可能な第２領域に複写する複写部と、第２領域に複写されたファームウェアを読み出し、その読み出したファームウェアにもとづいて本制御回路を搭載する電子機器を動作させる制御部と、を備える。
【０００６】
この態様によれば、第１領域にファームウェアが書き込まれると、複写部が第１領域から第２領域へそのファームウェアを複写（以下「コピー」とも表記する）し、制御部がそのファームウェアを読み出して、電子機器を動作させる。つまり、ファームウェアを第１領域に書き込めば、ユーザは、更新専用コンピュータソフトウェアを用いることなく、ファームウェアを更新できる。
【０００７】
不揮発性メモリの第２領域は、ファームウェアを記憶する複数のファームウェア記憶領域を含み、複数のファームウェア記憶領域のうち、最新のファームウェアを記憶した最新ファームウェア記憶領域を判定する判定部をさらに備え、複写部は、判定部により判定された最新ファームウェア記憶領域以外のファームウェア記憶領域にファームウェアを複写してもよい。
制御部は、複数のファームウェア記憶領域に記憶されるファームウェアのうち、最新のファームウェアを読み出し、その読み出した最新のファームウェアにもとづいて電子機器を動作させてもよい。
【０００８】
この態様によれば、複写部は、最新ファームウェア記憶領域以外のファームウェア記憶領域にファームウェアをコピーする。これによって、更新前において最新であったファームウェアが失われることはないため、ファームウェアのコピーに失敗しても、更新前において最新であったファームウェアにもとづく電子機器の使用を確保できる。
【０００９】
複写部は、複数のファームウェア記憶領域に中に破損したファームウェア記憶領域があるとき、その破損したファームウェア記憶領域以外のファームウェア記憶領域にファームウェアを複写してもよい。
この態様によれば、破損したファームウェア記憶領域にファームウェアがコピーされることがないため、ファームウェアの更新の失敗を回避できる。
【００１０】
複写部は、複数のファームウェア記憶領域のうち、正常に動作する記憶領域が１つのみ存在するとき、ファームウェアの複写を中止してもよい。
この態様によれば、複写部は、破損していないファームウェア記憶領域が、１つしかない場合に、ファームウェアのコピーを中止する。これによって、ファームウェアのコピーの失敗に起因するファームウェアの更新の失敗により、電子機器が動作しなくなることを回避できる。
【００１１】
複写部は、ユーザにより所定の操作が実行されたことを条件として、ファームウェア記憶領域にファームウェアを複写してもよい。
この態様によれば、ユーザがファームウェアを更新するために所定の操作を実行したときに、複写部はファームウェアをコピーする。これによって、ユーザがファームウェアの更新を望まない場合に、自動的に更新されてしまうことを回避できる。
【００１２】
制御回路は、１つの半導体基板上に一体集積化されてもよい。なお、「一体集積化」とは、回路の構成要素のすべてが半導体基板上に形成される場合や、回路の主要構成要素が一体集積化される場合が含まれ、回路定数の調節用に一部の抵抗やキャパシタなどが半導体基板の外部に設けられていてもよい。制御回路を１つのＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）として集積化することにより、回路面積を削減することができる。
【００１３】
本発明の別の態様は電子機器に関する。この電子機器は、上述の制御回路と、第１領域にファームウェアを、第２領域に音声データを記憶する不揮発性メモリと、第２領域に記憶された音声データを再生する音声出力部と、を備える。この態様によれば、ユーザは、更新専用コンピュータソフトウェアを用いることなくファームウェアを更新できる。
【００１４】
本発明の別の態様は、不揮発性メモリを備えた装置のファームウェアの更新方法に関する。この更新方法は、不揮発性メモリにおけるユーザがアクセス可能な第１領域に、更新後の新たなファームウェアを書き込む書込ステップと、第１領域に書き込まれたファームウェアを、不揮発性メモリにおけるユーザがアクセス不可能な第２領域に複写する複写ステップと、を備える。
【００１５】
この態様によれば、書込ステップにおいてファームウェアが第１領域に書き込まれた後、複写ステップにおいてそのファームウェアが第２領域へコピーされる。これによって、ユーザは、更新専用コンピュータソフトウェアを用いることなくファームフェアを更新できる。
【００１６】
不揮発性メモリの第２領域は、ファームウェアを記憶する複数のファームウェア記憶領域を含み、複数のファームウェア記憶領域のうち、最新のファームウェアを記憶した最新ファームウェア記憶領域を判定する判定ステップをさらに備え、複写ステップにおいて、判定ステップで判定された最新ファームウェア記憶領域以外のファームウェア記憶領域にファームウェアを複写してもよい。
【００１７】
この態様によれば、複写ステップにおいて、ファームウェアは、最新ファームウェア記憶領域以外のファームウェア記憶領域にコピーされる。これによって、更新前において最新であったファームウェアは失われることはないため、ファームウェアのコピーに失敗しても、更新前において最新であったファームウェアにもとづいて電子機器を動作させることができる。
【００１８】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１９】
本発明の制御回路によれば、ユーザは、更新専用コンピュータソフトウェアを用いることなくファームウェアを更新できる。
【発明を実施するための最良の形態】
【００２０】
図１は、本実施の形態に係る電子機器の構成を示すブロック図である。この電子機器は、シリコンオーディオプレイヤー、トランシーバ、２次元バーコードリーダなどの、メモリを備え、そのメモリに記憶されたファームウェアにより制御される機器である。本実施の形態において、電子機器はシリコンオーディオプレイヤーであるとして説明する。
シリコンオーディオプレイヤー１００は、制御回路３４、フラッシュＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２６、音声出力部３０、操作ボタン３１およびＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）インターフェース部３２を含む。
【００２１】
制御回路３４は、シリコンオーディオプレイヤー１００全体を総合的に制御する。制御回路３４の詳細については後述する。制御回路３４は、１つの半導体基板上に一体集積化されている。フラッシュＲＯＭ２６は、例えばＮＡＮＤ型フラッシュメモリ、ＮＯＲ型フラッシュメモリなどの不揮発性メモリである。フラッシュＲＯＭ２６は、ファームウェアや音声データなどのデータを記憶する。これらのデータの書込および読出は、制御回路３４によって実行される。フラッシュＲＯＭ２６の詳細な構成については図２を用いて後述する。音声出力部３０は、制御回路３４がフラッシュＲＯＭ２６から読み出した音声データを再生する。操作ボタン３１は、ユーザがシリコンオーディオプレイヤー１００を使用する際に、直接操作するボタンであり、例えば、電源ボタン、再生ボタン、再生停止ボタンなどが含まれる。ＵＳＢインターフェース部３２は、ＵＳＢポートを介してシリコンオーディオプレイヤー１００を外部の電子機器、例えば、図示しないコンピュータと接続する。ファームウェアや音声データは、ＵＳＢポートを介して外部のコンピュータからフラッシュＲＯＭ２６に転送される。
本実施の形態では、フラッシュＲＯＭ２６に記憶されているファームウェアの更新について説明する。
【００２２】
制御回路３４は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０、ＤＭＡＣ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ）１２、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１４、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）１６、ＳＲＣ（Ｓａｍｐｌｅ  Ｒａｔｅ  Ｃｏｎｖｅｒｔｅｒ）１８、ＤＡＣ（Ｄｉｇｉｔａｌ  Ａｎａｌｏｇ  Ｃｏｎｖｅｒｔｅｒ）２０、ＵＳＢコントローラ２２、フラッシュコントローラ２４およびバス２８を含む。
【００２３】
ＣＰＵ１０は、シリコンオーディオプレイヤー１００全体を総合的に処理する演算処理ユニットである。ＤＭＡＣ１２は、バス２８を介してＣＰＵ１０、ＳＲＡＭ１４、フラッシュＲＯＭ２６と接続されており、ＣＰＵ１０の指示に従ってＳＲＡＭ１４およびフラッシュＲＯＭ２６に直接アクセスし、これらの間におけるデータの転送を行う。ＳＲＡＭ１４は、バス２８を介して転送されるデータ、例えば、フラッシュＲＯＭ２６から読み出されたファームウェアや音声データ等を一時的に保存する。
【００２４】
ＵＳＢコントローラ２２は、ＵＳＢインターフェース部３２と制御回路３４との間におけるデータ転送を制御する。フラッシュコントローラ２４は、フラッシュＲＯＭ２６へのデータの書込およびフラッシュＲＯＭ２６からのデータの読出を制御する。
【００２５】
ＤＳＰ１６は、バス２８を介してフラッシュコントローラ２４と接続されており、フラッシュコントローラ２４がフラッシュＲＯＭ２６から読み出された転送レートの高い音声データをリアルタイムで処理する。ＳＲＣ１８は、ＤＳＰ１６から入力された音声データのサンプリング周波数を変換する。ＤＡＣ２０は、ＳＲＣ１８から入力されたデジタルの音声データをアナログデータに変換して、音声出力部３０へ出力する。
【００２６】
図２は、フラッシュＲＯＭ２６の構成を示すブロック図である。フラッシュＲＯＭ２６は、ファイルシステム領域５０および非ファイルシステム領域５２を含む。ユーザは、ファイルシステム領域５０にはアクセスできるが、非ファイルシステム領域５２にはアクセスできない。
ファイルシステム領域５０には、あらかじめフォルダが設けられている。一方、非ファイルシステム領域５２にはフォルダが設けられていない。ユーザは、シリコンオーディオプレイヤー１００をコンピュータと接続したとき、コンピュータの画面上でＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）によってファイルシステム領域５０を視認できるが、非ファイルシステム領域５２を視認することはできない。
【００２７】
ファイルシステム領域５０は、音声データ記憶領域５１を含む。音声データ記憶領域５１は、ＵＳＢインターフェース部３２を介して外部のコンピュータから転送された音声データを記憶する。ファームウェア等、音声データ以外のデータは、ファイルシステム領域５０における音声データ記憶領域５１以外の領域に保存される。
【００２８】
非ファイルシステム領域５２は、システムマネージメントデータ記憶領域５４、ブートローダプログラムデータ記憶領域５６、第１ファームウェア記憶領域５８および第２ファームウェア記憶領域６０を含む。システムマネージメントデータ記憶領域５４は、シリコンオーディオプレイヤー１００におけるシステム全体を管理するシステムマネージメントデータを記憶する。ブートローダプログラムデータ記憶領域５６は、シリコンオーディオプレイヤー１００の電源投入時に自動的に読み出されるブートローダプログラムデータを記憶する。
【００２９】
第１ファームウェア記憶領域５８および第２ファームウェア記憶領域６０は、ファームウェアを記憶する。後述するように、第１ファームウェア記憶領域５８および第２ファームウェア記憶領域６０には、ファームウェアが更新される度に、更新後の新たなファームウェア（以下「更新ファームウェア」とも表記する）が交互に書き込まれる。
ファームウェアには、ファームウェアを更新するためのプログラム（以下「ファームウェア更新プログラム」とも表記する）が含まれる。ファームウェア更新プログラムに従ったファームウェアの更新については後述する。
以下、第１ファームウェア記憶領域５８と第２ファームウェア記憶領域６０を総称して「ファームウェア記憶領域」とも表記する。本実施の形態では、非ファイルシステム領域５２は２つのファームウェア記憶領域を含むが、ファームウェア記憶領域の数はこれに限られず、それ以上であってもよい。
【００３０】
ファームウェアは、ファイルシステム領域５０に保存された更新ファームウェアが非ファイルシステム領域５２内の第１ファームウェア記憶領域５８または第２ファームウェア記憶領域６０のいずれかにコピーされることにより更新される。このとき、更新ファームウェアは、ファームウェア記憶領域に上書されるため、更新前にその記憶領域に保存されていたファームウェアは失われる。ここで、更新ファームウェアのコピーを実行するＣＰＵ１０およびそのコピーを制御するフラッシュコントローラ２４は、ファイルシステム領域５０に書き込まれたファームウェアを、非ファイルシステム領域５２内のファームウェア記憶領域に複写する複写部として機能する。
【００３１】
以上の構成にもとづくファームウェアの更新を以下で説明する。
ファームウェアを更新する場合、ユーザは、まず、例えば、インターネットに接続して更新ファームウェアおよびその更新ファームウェアの更新方法を記載したテキストファイルをダウンロードする。コンピュータの画面には、更新ファームウェアおよびテキストファイルのアイコンがそれぞれ表示される。この後、ユーザは、テキストファイルの記載に従って、ファームウェアを更新するための作業を行う。上記のダウンロードの後、ユーザは、シリコンオーディオプレイヤー１００をコンピュータと接続する。シリコンオーディオプレイヤー１００が接続されると、コンピュータのＯＳ（Ｏｐａｒａｔｉｎｇ  Ｓｙｓｔｅｍ）が有するプラグアンドプレイ機能にもとづき、シリコンオーディオプレイヤー１００が検出され、画面上には、シリコンオーディオプレイヤー１００を示すフォルダのアイコンが表示される。
【００３２】
ユーザは、コンピュータの画面上で、更新ファームウェアのアイコンを、いわゆるドラッグ操作およびドロップ操作によりシリコンオーディオプレイヤー１００を示すフォルダのアイコンに移動させる。シリコンオーディオプレイヤー１００を示すフォルダは、実際には、ファイルシステム領域５０に相当しており、ユーザの上記のアイコン操作により、更新ファームウェアは、ファイルシステム領域５０に書き込まれる。このように、ユーザは、別途コンピュータソフトウェアを用いることなく、ＯＳがあらかじめ有する機能のみによってファームウェアを簡便にフラッシュＲＯＭ２６に保存できる。ここで、更新ファームウェアをファイルシステム領域５０に書き込むＣＰＵ１０およびその書込を制御するフラッシュコントローラ２４は、ファイルシステム領域５０に、更新後の新たなファームウェアを書き込む書込部として機能する。更新ファームウェアが書き込まれている間、コンピュータの画面には、ＯＳの機能にもとづいて書込の進捗状態が表示される。ユーザは、この表示によりファームウェアのファイルシステム領域５０への書込が終了したことを認識した後、シリコンオーディオプレイヤー１００の電源を切断する。
【００３３】
ファイルシステム領域５０に保存されたファームウェアのファームウェア記憶領域へのコピーは、シリコンオーディオプレイヤー１００の電源投入時に行われる。ユーザが、シリコンオーディオプレイヤー１００の電源を投入する際、例えば、電源ボタンと同時に再生停止ボタンを押すなどのファームウェアの更新を実行するための所定の操作を行うと、ファームウェアの更新が開始される。このように、ユーザが所定の操作をした場合にのみ更新が開始することにより、ユーザがファームウェアの更新を望まない場合に、自動的に更新されてしまうことを回避できる。なお、電源ボタンを押したときにファームウェアの更新が開始されるようにしてもよい。
【００３４】
ユーザが、電源投入時に上述したファームウェア更新のための操作を行うと、ファームウェアの更新が要求されたことを示す信号（以下「ファームウェア更新信号」とも表記する）がオンの状態でＳＲＡＭ１４に記憶される。電源が投入されると、ＣＰＵ１０は、ブートローダプログラムデータ記憶領域５６からブートローダプログラムを読み出す。ブートローダプログラムには、前回のファームウェアの更新の際に、その更新後のファームウェアを最新のファームウェアとして認識するためのプログラムが書き込まれている。
次に、ＣＰＵ１０は、読み出したブートローダプログラムに従って、ファームウェア記憶領域のうち、最新のファームウェアを記憶するファームウェア記憶領域から、最新のファームウェアを読み出す。ここで、ＣＰＵ１０は、更新ファームウェア内に含まれる特有のコード、ファームウェアのサイズなどにもとづいて、最新のファームウェアを認識する。
【００３５】
ＣＰＵ１０は、読み出したファームウェアに含まれるファームウェア更新プログラムに従って、ＳＲＡＭ１４に記憶されているファームウェア更新信号の状態を判定する。ＣＰＵ１０は、ファームウェア更新信号がオンの状態であると判定すると、ファームウェア更新プログラムに従ってファームウェアの更新を実行する。まず、ＣＰＵ１０は、更新ファームウェアに付された特有の拡張子、更新ファームウェア内に含まれる特有のコード、更新ファームウェアのサイズなどにもとづいて、ファイルシステム領域５０に更新ファームウェアが保存されているかを判定する。
【００３６】
また、ＣＰＵ１０は、非ファイルシステム領域５２内の第１ファームウェア記憶領域５８および第２ファームウェア記憶領域６０のいずれに更新ファームウェアをコピーするかを決定する。具体的には、ＣＰＵ１０は、更新ファームウェア内に含まれる特有のコード、更新ファームウェアのサイズなどにもとづいて、第１ファームウェア記憶領域５８および第２ファームウェア記憶領域６０のうち、最新のファームウェアが記憶されていないファームウェア記憶領域を認識する。そして、そのファームウェア記憶領域に更新ファームウェアをコピーすることを決定する。ここで、ＣＰＵ１０は、複数のファームウェア記憶領域のうち、最新のファームウェアを記憶したファームウェア記憶領域を判定する判定部として機能する。更新ファームウェアのコピーについては、図３および図４を用いて後述する。
【００３７】
さらに、ＣＰＵ１０は、第１ファームウェア記憶領域５８および第２ファームウェア記憶領域６０のいずれかが破損している場合には、更新ファームウェアのコピーを中止することを決定する。これによって、正常に動作するファームウェア記憶領域が１つのみである場合、そのファームウェア記憶領域への更新ファームウェアのコピーの失敗に起因して、ファームウェアの更新に失敗にすることにより、電子機器が動作しなくなることを回避できる。
本実施の形態では、更新ファームウェアの転送を中止したが、変形例として、破損したファームウェア記憶領域以外の記憶領域に更新ファームウェアをコピーしてもよい。これによって、破損したファームウェア記憶領域に更新ファームウェアがコピーされることはないため、ファームウェアの更新の失敗を回避できる。
【００３８】
なお、ファームウェア記憶領域が破損している場合、シリコンオーディオプレイヤー１００における図示しない表示部にその旨を表示してユーザに知らせてもよい。これにより、ユーザは、今後、ファームウェアのアップデートがされた場合に、ファームウェアの更新を行うか否かを判断できる。
【００３９】
ＣＰＵ１０が更新ファームウェアが保存されていると認識すると、ＣＰＵ１０は、更新ファームウェアをファイルシステム領域５０から読み出し、ＳＲＡＭ１４に保存する。次いで、ＣＰＵ１０は、ＳＲＡＭ１４に保存した更新ファームウェアをＣＰＵ１０が更新ファームウェアをコピーすると決定したファームウェア記憶領域に更新ファームウェアをコピーする。この更新ファームウェアのコピーにより、ファームウェアが更新される。
【００４０】
ファームウェアの更新後においては、ユーザがシリコンオーディオプレイヤー１００の電源を投入すると、ＣＰＵ１０は、ブートローダプログラムに従って、ファームウェア記憶領域から最新のファームウェア、すなわち上記の更新ファームウェアをＳＲＡＭ１４に読み出す。そして、シリコンオーディオプレイヤー１００は、この更新ファームウェアにもとづいて動作する。ここで、ＣＰＵ１０は、非ファイルシステム領域５２内のファーム記憶領域に転送されたファームウェアを読み出し、その読み出した新たなファームウェアにもとづいてシリコンオーディオプレイヤー１００を動作させる制御部として機能する。
【００４１】
なお、ファイルシステム領域５０からファームウェア記憶領域に更新ファームウェアがコピーされた後は、シリコンオーディオプレイヤー１００をコンピュータと接続したとき、シリコンオーディオプレイヤー１００を示すフォルダには、その更新ファームウェアのアイコンは表示されない。これにより、ユーザが、さらにファームウェアを更新するときに、新たなファームウェアのアイコンと、前回の更新の際に保存されたファームウェアのアイコンとを混同することを回避できる。
【００４２】
以上で説明したように、ユーザは、シリコンオーディオプレイヤー１００をコンピュータに接続し、ＯＳの有する機能を用いて、更新ファームウェアをシリコンオーディオプレイヤー１００を取り込んだ後、シリコンオーディオプレイヤー１００の電源ボタンと同時に再生停止ボタンを押す等の所定の操作をすれば、その後は、何ら操作をすることなくシリコンオーディオプレイヤー１００においてファームウェアの更新が実行される。つまり、ユーザは、更新専用のコンピュータソフトウェアを用いることなく簡便にファームウェアを更新できる。また、ユーザは、更新のためのソフトウェアの操作を意識することなく、簡便にファームウェアを更新できる。
【００４３】
図３は、１回目のファームウェアの更新の概念を示す図である。ここでは、説明の便宜上、フラッシュＲＯＭ２６の非ファイルシステム領域５２において第１ファームウェア記憶領域５８および第２ファームウェア記憶領域６０のみを示す。ファイルシステム領域５０には、更新ファームウェア７０が書き込まれている。ここでは、まだ、ファームウェアは１度も更新されておらず、ファームウェアは第１ファームウェア記憶領域５８に記憶されているものとする。つまり、第２ファームウェア記憶領域６０は、ファームウェアを記憶していない。この時点において、最新のファームウェアは第１ファームウェア記憶領域５８に記憶されていることになる。つまり、更新ファームウェア７０は、第２ファームウェア記憶領域６０にコピーされる。図３において、矢印は、引出元から引出先へ更新ファームウェア７０がコピーされることを示す。
【００４４】
図４は、２回目のファームウェアの更新の概念を示す図である。ファイルシステム領域５０には、更新ファームウェア７２が書き込まれている。更新ファームウェア７２は、上記の更新ファームウェア７０をアップデートしたファイルである。
２回目のファームウェアの更新前において、第１ファームウェア記憶領域５８には、最初のファームウェアが、第２ファームウェア記憶領域６０には、更新ファームウェア７０が記憶されている。つまり、この時点では、第２ファームウェア記憶領域６０が、最新のファームウェアを記憶している。したがって、更新ファームウェア７２は、第１ファームウェア記憶領域５８にコピーされる。図４において、矢印は、引出元から引出先へ更新ファームウェア７２がコピーされることを示す。
【００４５】
３回目以降のファームウェアの更新は、２回目の更新と同様に行われる。つまり、更新ファームウェアは、第１ファームウェア記憶領域５８および第２ファームウェア記憶領域６０のうち、その更新の前における最新のファームウェアを記憶していないファームウェア記憶領域にコピーされる。例えば、３回目の更新の前における最新のファームウェアである更新ファームウェア７２は、第１ファームウェア記憶領域５８に記憶されている。したがって、３回目の更新においては、更新ファームウェアは第２ファームウェア記憶領域６０にコピーされる。
【００４６】
このように、更新ファームウェアは、最新のファームウェアを記憶するファームウェア記憶領域以外のファームウェア記憶領域にコピーされる。これによって、更新前において最新であったファームウェアは失われることがないため、更新ファームウェアのコピーに失敗しても、そのファームウェアにもとづく電子機器の使用を確保できる。
【００４７】
図５は、ファームウェアの更新を示すフローチャートである。シリコンオーディオプレイヤー１００の電源投入時に、ユーザによって電源ボタンと再生停止ボタンとが同時に押された場合（Ｓ１０のＹ）、ファイルシステム領域５０に更新ファームウェアが保存されているか否かが判定される（Ｓ１２）。一方、上記の電源ボタンと再生停止ボタンとが同時に押されなかったとき（Ｓ１０のＮ）、ファームウェアの更新は行われない。
【００４８】
ファイルシステム領域５０に更新ファームウェアが保存されている場合（Ｓ１２のＹ）、第１ファームウェア記憶領域５８および第２ファームウェア記憶領域６０のいずれも破損していないか否かが判定される（Ｓ１４）。一方、ファイルシステム領域５０に更新ファームウェアが保存されていない場合（Ｓ１２のＮ）、ファームウェアの更新は行われない。ファームウェア記憶領域のいずれも破損していないとき（Ｓ１４のＹ）、いずれのファームウェア記憶領域に最新のファームウェアが記憶されているかが判定される（Ｓ１６）。つまり、Ｓ１６のおいて、いずれのファームウェア記憶領域に更新ファームウェアがコピーされるかが決定される。第１ファームウェア記憶領域５８および第２ファームウェア記憶領域６０のいずれかが破損しているとき（Ｓ１４のＮ）、ファームウェアの更新は行われない。
【００４９】
Ｓ１６における判定がなされた後、ファイルシステム領域５０に保存されている更新ファームウェアがＳＲＡＭ１４に読み出される（Ｓ１８）。次に、その読み出された更新ファームウェアが、最新のファームウェアが記憶されていないファームウェア記憶領域にコピーされる（Ｓ２０）。これによって、ファームウェアが更新される。なお、Ｓ１０とＳ１２の順序、およびＳ１６とＳ１８の順序をそれぞれ入れ換えても、本実施の形態に係るファームウェアの更新の実行が可能である。
【００５０】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。例えば、以下のような変形例が考えられる。
【００５１】
本実施の形態では、制御回路３４は、１つの半導体基板上に一体集積化されたが、これに限られず、複数の半導体基板上に集積化されてもよい。
【００５２】
本実施の形態では、制御回路３４がシリコンオーディオプレイヤー１００に搭載される例を説明したが、変形例として、制御回路３４は、トランシーバや２次元バーコードリーダなどの、メモリを備え、そのメモリに記憶されたファームウェアにより制御される電子機器に搭載されてもよい。
【００５３】
本実施の形態では、ファームウェア更新プログラムは、ファームウェアに含まれたが、変形例として、ファームウェア更新プログラムがブートローダプログラムに含まれてもよい。この場合、ユーザが、電源投入時に上述したファームウェア更新のための操作を行うと、ファームウェア更新信号がオンの状態でＳＲＡＭ１４に記憶される。ＣＰＵ１０は、読み出したブートローダプログラムに含まれるファームウェア更新プログラムに従って、ＳＲＡＭ１４にファームウェア更新信号がオンの状態であることを認識するとファームウェアの更新を実行する。
【図面の簡単な説明】
【００５４】
【図１】実施の形態に係る電子機器の構成を示すブロック図である。
【図２】実施の形態に係るフラッシュＲＯＭの構成を示すブロック図である。
【図３】実施の形態に係る１回目のファームウェアの更新の概念を示す図である。
【図４】実施の形態に係る２回目のファームウェアの更新の概念を示す図である。
【図５】実施の形態に係るファームウェアの更新を示すフローチャートである。
【符号の説明】
【００５５】
１０  ＣＰＵ、  １２  ＤＭＡＣ、  １４  ＳＲＡＭ、  １６  ＤＳＰ、  １８  ＳＲＣ、  ２０  ＤＡＣ、  ２２  ＵＳＢコントローラ、  ２４  フラッシュコントローラ、  ２６  フラッシュＲＯＭ、  ２８  バス、  ３０  音声出力部、  ３１  操作ボタン、  ３２  ＵＳＢインターフェース部、  ３４  制御回路、  ５０  ファイルシステム領域、  ５１  音声データ記憶領域、  ５２  非ファイルシステム領域、  ５４  システムマネージメントデータ記憶領域、  ５６  ブートローダプログラムデータ記憶領域、  ５８  第１ファームウェア記憶領域、  ６０  第２ファームウェア記憶領域、  ７０、７２  更新ファームウェア、  １００  シリコンオーディオプレイヤー。
【図１】
2007047993.tif 000003
【図２】
2007047993.tif 000004
【図３】
2007047993.tif 000005
【図４】
2007047993.tif 000006
【図５】
2007047993.tif 000007