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