(57)【特許請求の範囲】
【請求項１】
所定プログラムを含む複数のプログラムに従う処理を実行する制御部と、
前記複数のプログラムが格納される第１メモリと、
外部装置から出力され、前記第１メモリに格納されている所定プログラムを更新するための更新プログラムを含む更新ファイルが格納される第２メモリとを備え、
前記制御部は、
前記第１メモリに格納されている前記所定プログラムを、前記第２メモリに格納されている前記更新プログラムに更新させる更新処理の更新要求を受け付ける更新要求受付手段と、
機器本体の一部が作動しない非作動状態から作動状態に該機器本体を移行させる移行要求を受け付ける移行要求受付手段と、
前記更新要求受付手段によって前記更新要求を受け付けると前記更新処理を実行し、前記第２メモリに格納されている更新ファイルの付加情報エリアに所定データを書き込む第１更新制御手段と、
前記更新処理が完了すると前記第２メモリに格納されている更新ファイルを削除し、該更新処理が正常に完了する前に前記機器本体が前記作動状態から前記非作動状態に移行すると該更新ファイルを保持する削除保持制御手段と、
前記非作動状態時に前記移行要求受付手段によって前記移行要求を受け付けると、前記第２メモリに格納されている更新ファイルの付加情報エリアに前記所定データが存在するか否かを判別し、該所定データが存在すると判別された場合には、前記更新要求を受け付けずとも前記更新処理を実行する第２更新制御手段、を備えることを特徴とする、プログラム処理装置。
【請求項２】
前記制御部は、前記第２更新制御手段において前記付加情報エリアに前記所定データが存在せず、かつ不当なデータが検出されると、判別結果を報知する報知手段を更に備えることを特徴とする、請求項１記載のプログラム処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複合プログラムに関し、特にたとえばファームウェアのようなプログラムを更新するための複合プログラムに関する。この発明はまた、プログラム処理装置に関し、特にたとえば上述の複合プログラムを実行するプログラム処理装置に関する。
【背景技術】
【０００２】
従来のこの種の装置では、ファームウェアを更新するにあたっては、装置をケーブルなどでＰＣ（Personal Computer）と接続し、ＰＣ側のアプリケーションソフトウェアを操作する必要があった。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、従来技術では、ファームウェアをＰＣから装置に転送する途中で、ＰＣが別のアプリケーションソフトウェアの影響でハングアップしたり、装置への電源供給が遮断されたりすると、ファームウェアの更新に失敗してしまう。この場合、オペレータはファームウェアの更新操作を最初からやり直す必要があり、手間がかかる。
【０００４】
それゆえに、この発明の主たる目的は、簡単な操作でプログラムを正しく更新することができる、複合プログラムまたはプログラム処理装置を提供することである。
【課題を解決するための手段】
【０００５】
第１の発明のプログラム処理装置は、所定プログラムを含む複数のプログラムに従う処理を実行する制御部と、複数のプログラムが格納される第１メモリと、外部装置から出力され、第１メモリに格納されている所定プログラムを更新するための更新プログラムを含む更新ファイルが格納される第２メモリとを備え、制御部は、第１メモリに格納されている所定プログラムを、第２メモリに格納されている更新プログラムに更新させる更新処理の更新要求を受け付ける更新要求受付手段と、機器本体の一部が作動しない非作動状態から作動状態に該機器本体を移行させる移行要求を受け付ける移行要求受付手段と、更新要求受付手段によって更新要求を受け付けると更新処理を実行し、第２メモリに格納されている更新ファイルの付加情報エリアに所定データを書き込む第１更新制御手段と、更新処理が完了すると第２メモリに格納されている更新ファイルを削除し、該更新処理が正常に完了する前に機器本体が作動状態から非作動状態に移行すると該更新ファイルを保持する削除保持制御手段と、非作動状態時に移行要求受付手段によって移行要求を受け付けると、第２メモリに格納されている更新ファイルの付加情報エリアに所定データが存在するか否かを判別し、該所定データが存在すると判別された場合には、更新要求を受け付けずとも更新処理を実行する第２更新制御手段を備えることを特徴とする。
【０００９】
第２の発明のプログラム処理装置は、第１の発明のプログラム処理装置に従属し、制御部は、第２更新制御手段において付加情報エリアに所定データが存在せず、かつ不当なデータが検出されると、判別結果を報知する報知手段を更に備えることを特徴とする。
【発明の効果】
【００２０】
この発明によれば、第１数値を示す数値情報が割り当てられた更新データがメモリに存在するときは、更新操作に応答して第２プログラムが更新される。更新処理が適切に実行されると、更新データがメモリから削除される。しかし、更新途中の電源遮断などによって更新処理が適切に実行されなかったときは、更新データは削除されることなくメモリに残る。この更新データに割り当てられた数値情報は、第２数値を示す。電源が再度投入されると、更新処理は更新命令を待つことなく実行される。これによって、オペレータは、簡単な操作で第２プログラムを更新することができる。
【００２１】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【００２２】
図１を参照して、この実施例のＩＣレコーダ１０は、オーディオ再生機能，オーディオ記録機能，マイクロフォン機能，および外部ストレージ機能を備える。オーディオ再生機能およびオーディオ記録機能は、ＩＣレコーダ１０単独で実現される機能であり、マイクロフォン機能および外部ストレージ機能は、ＩＣレコーダ１０とＰＣ４０とによって実現される機能である。
【００２３】
キー入力装置３０によってオーディオ再生機能が選択されると、ＣＰＵ１４は、ＤＳＰ（Digital Signal Processor）２４を再生モードに設定し、ＮＡＮＤ型のフラッシュメモリ１６に記憶されたオーディオファイルをＤＳＰ２４に与える。ＤＳＰ２４は、与えられたオーディオファイルに含まれるオーディオデータを復号し、復号されたオーディオ信号をスピーカ２６から出力する。
【００２４】
キー入力装置３０によってオーディオ記録機能が選択されると、ＣＰＵ１４は、ＤＳＰ２４を記録モードに設定する。ＤＳＰ２４は、マイクロフォン２８から取り込まれたオーディオ信号を符号化し、符号化されたオーディオデータをＣＰＵ１４に与える。ＣＰＵ１４は、与えられたオーディオデータを含むオーディオファイルをフラッシュメモリ１６上に作成する。
【００２５】
ＩＣレコーダ１０がＵＳＢコントローラ１２によってＰＣ４０と接続された状態で、キー入力装置３０によってマイクロフォン機能が選択されると、ＣＰＵ１４はＤＳＰ２４をマイクロフォンモードに設定する。ＤＳＰ２４は、マイクロフォン２８から取り込まれたオーディオ信号を符号化し、符号化されたオーディオデータをＣＰＵ１４に与える。ＣＰＵ１４は、与えられたオーディオデータをＵＳＢコントローラ１２を通してＰＣ４０に出力する。
【００２６】
ＩＣレコーダ１０がＵＳＢコントローラ１２によってＰＣ４０と接続された状態で、キー入力装置３０によって外部ストレージ機能が選択されると、ＣＰＵ１４は、ＰＣ４０からのアクセス要求に従ってフラッシュメモリ１６にアクセスする。アクセス要求がフラッシュメモリ１６へのファイルの書き込みを要求するものであれば、ＣＰＵ１４は、ＰＣ４０から同時に与えられるファイルをフラッシュメモリ１６に書き込む。また、アクセス要求がフラッシュメモリ１６からのファイルの読み出しを要求するものであれば、ＣＰＵ１４は、フラッシュメモリ１６から所望のファイルを読み出し、読み出されたファイルをＰＣ４０に転送する。
【００２７】
上述の機能の選択に関係なく、ＣＰＵ１４は、複数のメニュー項目をＲＡＭ２２に形成されたレジスタ２２ｒに図２に示す要領で設定する。図２によれば、“ファイル分割”，“録音モード”，“録音感度”，“ＢＥＥＰ設定”，“ＶＡＳ設定”，“カレンダ設定”，“タイマ設定”，“ＵＳＢマイク設定”，“フォーマット”および“コントラスト”の項目が設定される。ＣＰＵ１４は、このようなメニュー項目をＬＣＤ２０にスクロール表示する。
【００２８】
なお、ＰＣ４０からフラッシュメモリ１６に転送されるファイルの１つにファームアップファイルがある。このファイルは、ＮＯＲ型のフラッシュメモリ１８のファームプログラムエリア１８ｆｍに記憶されたファームプログラム（ファームウェア）を更新するためのファイルである。このファームアップファイルがフラッシュメモリ１６に格納されているときは、レジスタ２２ｒに“ファームアップ”の項目が追加され、この項目もまたＬＣＤ２０に表示される。
【００２９】
ＣＰＵ１４は、電源が投入されたとき、フラッシュメモリ１８のブートプログラムエリア１８ｂｔに記憶されたブートプログラムに従って図３に示すフロー図を処理する。さらに、このブートブログラムによってファームプログラムエリア１８ｆｍのファームプログラムが起動されたとき、このファームプログラムに従って図４に示すフロー図を処理する。
【００３０】
まず図３を参照して、ステップＳ１ではファームアップファイルがフラッシュメモリ１６に記憶されているかどうか判断する。ＮＯであれば、ステップＳ３の起動処理を経て処理を実行する。ＹＥＳであればステップＳ５に進み、ファームアップファイルが存在する旨を通知する第１通知を発行する。ステップＳ７ではファームアップファイルの先頭コードが“１”であるか否かを判別し、ＹＥＳであればステップＳ１５でファームアップ処理を実行する。この結果、ファームプログラムエリア１８ｆｍに記憶されたファームプログラムが、ファームアップファイルに格納されたファームプログラムによって更新される。ファームアップ処理が完了すると、フラッシュメモリ１６に記憶されたファームアップファイルをステップＳ１７で削除し、ファームアップファイルが削除された旨の通知である第２通知を発行する。処理は、第２通知の発行後に終了する。
【００３１】
ステップＳ７でＮＯと判断されたときは、ステップＳ９で起動処理を実行する。ステップＳ１１ではファームアップ命令の有無を判断し、ステップＳ１３では削除命令の有無を判断する。ファームアップ命令が発行されたときはステップＳ１１からステップＳ１５に進み、削除命令が発行されたときはステップＳ１３からステップＳ１７に進む。いずれの命令も発行されないときは、ステップＳ１１およびＳ１３の処理を繰り返す。
【００３２】
ファームプログラムは、図３に示すステップＳ３またはＳ９の起動処理によって起動する。これによって、図４に示すフロー図に従う処理が開始される。
【００３３】
まずステップＳ２１で初期化処理を実行する。これによって、図２に示す１１個のメニュー項目がレジスタ２２ｒに設定され、このメニュー項目がＬＣＤ２０に表示される。ステップＳ２３では、第１通知の発行の有無を判断する。ＮＯと判断されたときは直接ステップＳ２７に進み、ＹＥＳと判断されたときはステップＳ２５の処理を経てステップＳ２７に進む。ステップＳ２５では、“ファームアップ”の項目を図２に示す要領でレジスタ２２ｒに追加する。このため、ＬＣＤ２０に表示されるメニュー項目にも、“ファームアップ”が追加される。
【００３４】
ステップＳ２７では、レジスタ２２ｒの“ファームアップ”を選択する操作つまりファームアップ操作が行われたかどうかを判断する。ここでＮＯと判断されると、ステップＳ２９で対応する処理を実行する。レジスタ２２ｒに設定された“ファームアップ”以外の項目が選択されたときは、選択された項目に対応する処理がここで実行される。処理が完了すると、ステップＳ２７に戻る。
【００３５】
ファームアップ実行操作が行われたときは、ステップＳ３１に進み、フラッシュメモリ１６からファームアップファイルのヘッダ値を検出する。ステップＳ３３では、検出されたヘッダ値が正当であるか否かを判断する。正当と判断されたときは、ステップＳ３５でファームアップ命令を発行し、ステップＳ３７でこのファームアップファイルの先頭コードを“０”から“１”に書き換える。一方、ヘッダ値が不当と判断されたときは、ステップＳ３９でエラーメッセージを出力する。これに対して削除操作が行われると、ステップＳ４１でＹＥＳと判断し、ステップＳ４３で削除命令を発行する。
【００３６】
ステップＳ３７またはＳ４３の処理が完了すると、第２通知の有無をステップＳ４５で判断する。ＹＥＳと判断されると、ステップＳ４７で“ファームアップ”の項目をレジスタ２２ｒから削除し、その後ステップＳ２７に戻る。ステップＳ４７の処理によって、ＬＣＤ２０上の“ファームアップ”の項目も削除される。
【００３７】
以上の説明から分かるように、先頭コードが“０”を示すファームアップファイルがフラッシュメモリ１６に存在するときは、キー入力装置３０によるファームアップ操作に応答してファームプログラムが更新される(S27, S35, S15)。更新処理つまりファームアップ処理が適切に実行されると、ファームアップファイルがフラッシュメモリ１６から削除される(S17)。しかし、更新途中の電源遮断などによってファームアップ処理が適切に実行されなかったときは、ファームアップファイルは削除されることなくフラッシュメモリ１６に残る。ファームアップ操作に応じた先頭コードの書き換え処理(S37)によって、このファームアップファイルに割り当てられた先頭コードは“１”を示す。したがって、電源が再度投入されたとき、ファームアップ処理はファームアップ命令を待つことなく実行される(S7, S15)。これによって、オペレータは、簡単な操作でファームプログラムを更新することができる。
【図面の簡単な説明】
【００３８】
【図１】この発明の一実施例の構成を示すブロック図である。
【図２】図１実施例に適用されるＣＰＵの動作の一部を示すブロック図である。
【図３】図１実施例に適用されるＣＰＵの動作の他の一部を示すブロック図である。
【図４】図１実施例に適用されるレジスタの構成を示す図解図である。
【符号の説明】
【００３９】
１０  …ＩＣレコーダ
１４  …ＣＰＵ
１６，１８  …フラッシュメモリ
２０  …ＬＣＤ
２４  …ＤＳＰ
【図１】
0004606009.tif 000002
【図２】
0004606009.tif 000003
【図３】
0004606009.tif 000004
【図４】
0004606009.tif 000005