(57)【要約】【課題】不揮発性メモリの容量の増大によるコストアップを生じずに追加プログラムを外部機器からダウンロードすることが可能であり、かつ、使い勝手が良い、電子機器を提供する。【解決手段】追加プログラムは、ＵＳＢメモリまたはサーバから通信部１６を介してＳＤＲＡＭ１５にダウンロードされる。ＡＳＩＣ１３のリブート、または、プリンタ１の電源のオフが要求される場合には、ＳＤＲＡＭ１５の内容を保持するＲＡＭ保持処理が実行される。また、追加プログラムのダウンロード時に、Ｅ２ＰＲＯＭ１７にダウンロード元情報が書き込まれることにより、電源プラグがコンセントから脱抜されるなどの理由によりＳＤＲＡＭ１５の内容が消失してしまった場合であっても、追加プログラムの再ダウンロードが可能である。【選択図】図１
2019117588.tif 000002
【特許請求の範囲】
【請求項１】
外部機器と通信する通信部と、
基本プログラムが書き込まれた第１不揮発性メモリと、
第２不揮発性メモリと、
揮発性メモリと、
制御部と
を備え、
前記制御部は、
前記外部機器から前記通信部を介して追加プログラムをダウンロードして前記揮発性メモリに保存する追加プログラム保存処理と、
前記追加プログラム保存処理の実行に応じて、前記追加プログラムのダウンロード元を示すダウンロード元情報を前記第２不揮発性メモリに保存するダウンロード元情報保存処理と、
前記制御部自身のリブート、または、電子機器の電源のオフ、である所定動作の要求がされる場合に、前記揮発性メモリに保存されているデータを前記揮発性メモリに保持させる保持処理と、
前記制御部自身のブート時に、前記揮発性メモリにおける前記追加プログラムの有無を判定する判定処理と、
前記判定処理によって前記揮発性メモリに前記追加プログラムが無いと判定された場合に、前記制御部自身のブートに応じて、前記第２不揮発性メモリに保存された前記ダウンロード元情報を基に、前記外部機器から前記通信部を介して前記揮発性メモリに追加プログラムを再ダウンロードして前記揮発性メモリに保存する追加プログラム再保存処理と
を実行する、
電子機器。
【請求項２】
請求項１に記載の電子機器であって、
前記制御部は、
前記追加プログラム保存処理の実行に応じて、前記追加プログラムが前記揮発性メモリにダウンロードされていることを示す情報である追加プログラムフラグを前記揮発性メモリに保存する追加プログラムフラグ処理を実行し、
前記所定動作の要求がされ、かつ、前記追加プログラムフラグが前記揮発性メモリに保存されている場合に、前記保持処理を実行する、
電子機器。
【請求項３】
請求項２に記載の電子機器であって、
前記所定動作の要求は、前記制御部自身のリブートの要求であり、
前記制御部は、
前記所定動作の要求がされ、かつ、前記追加プログラムフラグが前記揮発性メモリに保存されている場合に、前記保持処理を実行し、前記保持処理の実行後にリブートを実行する、
電子機器。
【請求項４】
請求項２に記載の電子機器であって、
前記所定動作の要求は、前記電子機器の電源のオフの要求であり、
前記制御部は、前記所定動作の要求がされ、かつ、前記追加プログラムフラグが前記揮発性メモリに保存されている場合に、前記保持処理を実行し、前記保持処理の実行後に前記電源をオフにする、
電子機器。
【請求項５】
請求項４に記載の電子機器であって、
指示を受け付ける受付部をさらに備え、
前記制御部は、前記揮発性メモリの内容を保持して前記電源をオフにする指示を前記受付部に受け付け、かつ、前記追加プログラムフラグが前記揮発性メモリに保存されている場合に、前記保持処理を実行する、
電子機器。
【請求項６】
請求項１〜５のいずれか一項に記載の電子機器であって、
前記制御部は、
前記追加プログラム保存処理の実行に応じて、前記追加プログラムを識別する識別情報を前記第２不揮発性メモリに書き込み、
前記判定処理において、前記第２不揮発性メモリに前記識別情報が保存されているか否かを判定し、前記第２不揮発性メモリに前記識別情報が保存されていない場合、前記揮発性メモリに前記追加プログラムがないと判定する、
電子機器。
【請求項７】
請求項６に記載の電子機器であって、
前記制御部は、前記第２不揮発性メモリに前記識別情報が保存されており、かつ、前記揮発性メモリに前記追加プログラムが保存されていると判定した場合に、前記追加プログラムを使用した制御を実行する、
電子機器。
【請求項８】
請求項６または７に記載の電子機器であって、
前記制御部は、前記第２不揮発性メモリに前記識別情報が保存されているが、前記揮発性メモリに前記追加プログラムが保存されていないと判定した場合に、前記追加プログラムを使用しない制御を実行する、
電子機器。
【請求項９】
請求項６〜８のいずれか一項に記載の電子機器であって、
前記制御部は、
前記制御部自身のブート時に前記揮発性メモリに前記追加プログラムが保存されてないと判定した場合、前記識別情報および前記ダウンロード元情報を基に前記追加プログラム再保存処理を実行し、当該追加プログラム再保存処理でダウンロードされた前記追加プログラムを使用した制御を実行する、
電子機器。
【請求項１０】
請求項９に記載の電子機器であって、
前記制御部は、前記識別情報および前記ダウンロード元情報を基に実行した前記追加プログラム保存処理による前記追加プログラムのダウンロードに失敗した場合、前記追加プログラムを使用しない制御を実行する、
電子機器。
【請求項１１】
請求項１０に記載の電子機器であって、
表示部をさらに備え、
前記制御部は、前記追加プログラムのダウンロードに失敗した場合、前記追加プログラムのダウンロードを促す表示を前記表示部に出力する、
電子機器。
【請求項１２】
請求項６〜１１のいずれか一項に記載の電子機器であって、
前記制御部は、
前記電子機器の電源のオフの要求に応じて前記保持処理を実行せずに前記電源をオフにする場合、前記第２不揮発性メモリに保持される電源状態フラグの状態を通常電源オフ状態にし、前記電源のオフの要求に応じて前記保持処理を実行して前記電源をオフにする場合、前記電源状態フラグの状態を保持電源オフ状態にし、前記電源のオンの要求に応じて前記電源をオンにする場合、前記電源状態フラグの状態を電源オン状態に設定する電源状態フラグ処理を実行し、
前記電源状態フラグの状態に応じて、前記制御処理後に実行する処理の内容を切り替える、
電子機器。
【請求項１３】
請求項１２に記載の電子機器であって、
前記電源状態フラグの状態が前記通常電源オフ状態または前記保持電源オフ状態である場合、前記制御処理後に前記電源をオフにし、
前記電源状態フラグの状態が前記電源オン状態である場合、前記制御処理後に前記電源をオンに維持する、
電子機器。
【請求項１４】
請求項１２または１３に記載の電子機器であって、
前記制御部は、前記電源が外部電源に接続されたことに応じた前記制御部自身のブート時に、前記電源状態フラグの状態が前記通常電源オフ状態である場合、前記電源をオフにし、前記電源状態フラグの状態が前記保持電源オフ状態または前記電源オン状態である場合、前記制御処理を実行する、
電子機器。
【請求項１５】
請求項１〜１４のいずれか一項に記載の電子機器であって、
前記制御部は、
前記制御部自身のブート時に、前記保持処理が行われていたことを判定する保持判定処理と、
前記保持判定処理によって保持処理が行われていたと判定された場合に、保持内容を維持したまま揮発性メモリを初期化するメモリ初期化処理と、
をさらに実行する、
電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器に関する。
【背景技術】
【０００２】
プリンタなどの電子機器には、たとえば、不揮発性のメモリであるフラッシュメモリおよびＥ２ＰＲＯＭ（E squared Programmable Read Only Memory）と、揮発性のメモリであるＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）とが搭載されている（特許文献１）。
【０００３】
フラッシュメモリは、Ｅ２ＰＲＯＭと比べて大容量であるが、データの消去がブロック単位で行われ、ビット単位でデータを消去することができない。一方、Ｅ２ＰＲＯＭは、フラッシュメモリと比べて小容量であるが、データの書き込みおよび消去をバイト単位で行うことができるという利点がある。そのため、電子機器では、フラッシュメモリとＥ２ＰＲＯＭとが使い分けられている。たとえば、フラッシュメモリは、電子機器の動作を制御するプログラムおよびその制御に必要なデータを保存するために使用され、Ｅ２ＰＲＯＭは、制御により書き換えられるデータなどを保存するために使用される。
【０００４】
プログラムおよびデータは、電子機器の設計段階で決定され、その製品出荷時にはフラッシュメモリに保存されている。プログラムおよびデータのサイズが固定であるため、フラッシュメモリの容量は、プログラムおよびデータのサイズに応じた必要最小限の容量に設定される。これにより、フラッシュメモリのコストが抑えられている。
【０００５】
フラッシュメモリと同じく不揮発性メモリであるＥ２ＰＲＯＭは、プリンタを制御するためのデータが保存されており、フラッシュメモリと比べてデータの書き換えを簡単に行える特徴を有するが、メモリサイズが小さい。
【０００６】
一方、ＳＤＲＡＭは、フラッシュメモリから読み出されるプログラムやデータの展開に使用されたり、プログラムの実行時のワークエリアとして使用されたりする。たとえば、プリンタでは、印刷対象の印刷データのデータ量の大小により必要なワーク領域のサイズが大きく大小するため、ＳＤＲＡＭは、その容量に比較的余裕を持たせて搭載される。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１０−２３２７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
かかる構成において、フラッシュメモリに製品出荷時から保存されているプログラムとは別の追加プログラムの実行による追加機能が実現されるには、フラッシュメモリに追加プログラムの保存に必要な容量が確保されていなければならず、その容量の増大分、フラッシュメモリのコストがアップしてしまう。
【０００９】
また、追加プログラムがＳＤＲＡＭに保存される場合、電子機器のリブートや電源オフの度に追加プログラムがＳＤＲＡＭから消失するので、使い勝手が悪い。
【００１０】
本発明の目的は、不揮発性メモリの容量の増大によるコストアップを生じずに追加プログラムを外部機器からダウンロードすることが可能であり、かつ、使い勝手が良い、電子機器を提供することである。
【課題を解決するための手段】
【００１１】
前記の目的を達成するため、本発明に係る電子機器は、外部機器と通信する通信部と、基本プログラムが書き込まれた第１不揮発性メモリと、第２不揮発性メモリと、揮発性メモリと、制御部とを備え、制御部は、外部機器から通信部を介して追加プログラムをダウンロードして揮発性メモリに保存する追加プログラム保存処理と、追加プログラム保存処理の実行に応じて、追加プログラムのダウンロード元を示すダウンロード元情報を第２不揮発性メモリに保存するダウンロード元情報保存処理と、制御部自身のリブート、または、電子機器の電源のオフ、である所定動作の要求がされる場合に、揮発性メモリに保存されているデータを揮発性メモリに保持させる保持処理と、制御部自身のブート時に、揮発性メモリにおける追加プログラムの有無を判定する判定処理と、判定処理によって揮発性メモリに追加プログラムが無いと判定された場合に、制御部自身のブートに応じて、第２不揮発性メモリに保存されたダウンロード元情報を基に、外部機器から通信部を介して揮発性メモリに追加プログラムを再ダウンロードして揮発性メモリに保存する追加プログラム再保存処理とを実行する。
【００１２】
この構成によれば、追加プログラムは、外部機器から通信部を介して揮発性メモリにダウンロードされる。そのため、不揮発性メモリの容量の増大によるコストアップを生じずに追加プログラムのダウンロードが可能である。
【００１３】
制御部自身のリブート、または、電子機器の電源のオフ、である所定動作の要求がされる場合には、揮発性メモリの内容が保持されることにより、追加プログラムの再ダウンロードの必要がないため、使い勝手が良い。また、追加プログラムのダウンロード時に、第２不揮発性メモリにダウンロード元情報が書き込まれることにより、電源プラグオフなどの理由により、揮発性メモリの内容が消失してしまった場合であっても、追加プログラムの再ダウンロードが可能である。そして、再ダウンロードによって取得した追加プログラムによって適切に制御を行うことができる。
【発明の効果】
【００１４】
本発明によれば、不揮発性メモリの容量の増大によるコストアップを生じずに追加プログラムを外部機器からダウンロードすることが可能であり、かつ、電子機器の使い勝手が良い。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態に係るプリンタの電気的構成の要部を示すブロック図である。
【図２Ａ】プリンタ稼働中処理の流れを示すフローチャート（その１）である。
【図２Ｂ】プリンタ稼働中処理の流れを示すフローチャート（その２）である。
【図２Ｃ】プリンタ稼働中処理の流れを示すフローチャート（その３）である。
【図３】パワーオフ処理の流れを示すフローチャートである。
【図４Ａ】起動処理の流れを示すフローチャート（その１）である。
【図４Ｂ】起動処理の流れを示すフローチャート（その２）である。
【図５】自動ダウンロード処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下では、本発明の実施の形態について、添付図面を参照しつつ詳細に説明する。
【００１７】
＜プリンタの電気的構成＞
図１に示されるプリンタ１は、電子機器の一例であり、画像形成部１１、操作部１２（受付部の一例）、ＡＳＩＣ（Application Specific Integrated Circuit）１３、不揮発性メモリであるフラッシュメモリ１４（第１不揮発性メモリの一例）、揮発性メモリであるＳＤＲＡＭ１５（揮発性メモリの一例）、通信部１６およびＥ２ＰＲＯＭ１７を備えている。画像形成部１１、操作部１２、ＡＳＩＣ１３、フラッシュメモリ１４およびＳＤＲＡＭ１５は、バス１８を介して、データ通信可能に接続されている。
【００１８】
画像形成部１１は、プリンタ１の外殻をなす筐体内に設けられている。画像形成部１１は、搬送経路上を１枚ずつ搬送されるプリント用紙などのシートにカラー画像またはモノクロ画像を形成する機構である。画像形成の方式は、電子写真方式であってもよいし、インクジェット方式であってもよい。
【００１９】
操作部１２は、各種の指示を入力するために操作される操作キーを備えている。操作キーには、押下によりオン及びオフが交互に切り替わる電源キーが含まれる。また、操作部１２には、操作キー以外に、タッチパネルを備えている。ユーザが操作部１２を操作することにより、各種の指示が操作部１２に受け付けられる。操作部１２に指示が受け付けられると、その指示の内容に応じた信号（データ）が操作部１２からＡＳＩＣ１３に向けて送信される。
【００２０】
ＡＳＩＣ１３（制御部の一例）は、ＣＰＵ（Central Processing Unit）２１およびメモリコントローラ２３を備えている。
【００２１】
ＣＰＵ２１およびメモリコントローラ２３は、ＡＳＩＣ１３内の内部バス２４を介して、データ通信可能に接続されている。内部バス２４は、バス１８とデータ通信可能に接続されている。
【００２２】
メモリコントローラ２３は、ＳＤＲＡＭ１５に対するデータの読み書きを制御する集積回路である。メモリコントローラ２３には、仮想アドレスを物理アドレスに変換する機能を有するＭＭＵ（Memory Management Unit：メモリ管理ユニット）が含まれている。また、メモリコントローラ２３は、一定の周期でＳＤＲＡＭ１５にリフレッシュ信号を送信して、ＳＤＲＡＭ１５に保持されているデータの再書き込みを行うことで書き込まれているデータを保持する。さらに、メモリコントローラ２３は、ＳＤＲＡＭ１５にセルフリフレッシュ移行コマンドを送信することで、ＳＤＲＡＭ１５をセルフリフレッシュモードに移行させる。ＳＤＲＡＭ１５は、セルフリフレッシュモードに移行すると、メモリコントローラ２３からのリフレッシュ信号を受信しなくても、ＳＤＲＡＭ１５自身でデータの再書き込みを行うＲＡＭ保持処理を実行する。このＲＡＭ保持処理実行中は、外部からＳＤＲＡＭ１５へのデータの読み書きは不可能である。メモリコントローラ２３は、ＳＤＲＡＭ１５にセルフリフレッシュ解除コマンドを送信することで、ＳＤＲＡＭ１５のセルフリフレッシュモードを解除する。
【００２３】
通信部１６は、サーバやＰＣ（パーソナルコンピュータ）などの外部機器との間でのコンピュータネットワークを経由した通信のためのインタフェース、ＵＳＢ（Universal Serial Bus）メモリなどの外部機器が接続されて、その外部機器との通信のためのＵＳＢインタフェースなどの各種の通信インタフェースを備えている。
【００２４】
Ｅ２ＰＲＯＭ１７（第２不揮発性メモリの一例）は、ＡＳＩＣ１３（ＣＰＵ２１）が再起動しても記憶内容を保持可能である。
【００２５】
＜稼働中処理＞
プリンタ１では、通信部１６に接続されている外部機器から追加プログラムをダウンロードして使用することができる。追加プログラムとしては、たとえば、インターネット上のサーバから画像データをダウンロードしてシートに印刷（プリント）するダウンロードプリント機能のためのプログラムが挙げられる。
【００２６】
プリンタ１に電源が投入されて、プリンタ１が稼働中であるとき、ＡＳＩＣ１３に内蔵されているＣＰＵ２１は、図２Ａ、図２Ｂおよび図２Ｃに示される稼働中処理を実行する。
【００２７】
稼働中処理では、ＣＰＵ２１は、ＳＤＲＡＭ１５に保存されているダウンロード催促報知フラグの状態が「１」であるか否かを確認する（Ｓ１１）。ダウンロード催促報知フラグは、追加プログラムのダウンロードの催促を報知する必要の有無を表すフラグである。ダウンロード催促報知フラグの状態が「１」であることは、追加プログラムのダウンロードの催促を報知する必要があることを表し、ダウンロード催促報知フラグの状態が「０」であることは、追加プログラムのダウンロードの催促を報知する必要がないことを表す。
【００２８】
ダウンロード催促報知フラグの状態が「１」である場合（Ｓ１１：ＹＥＳ）、ＣＰＵ２１は、ダウンロード催促報知処理を実行する（Ｓ１２）。ダウンロード催促報知処理では、操作部１２のタッチパネルに、追加プログラムのダウンロードをユーザに催促するメッセージなどが表示される。
【００２９】
ダウンロード催促報知処理の実行後、ＣＰＵ２１は、ＳＤＲＡＭ１５に保存されているダウンロード催促報知フラグの状態を「０」にリセットする（Ｓ１３）。
【００３０】
ダウンロード催促報知処理の実効後、または、ダウンロード報知処理を実行する前からダウンロード催促報知フラグの状態が「１」ではない場合（Ｓ１１：ＮＯ）、つまりダウンロード催促報知フラグの状態が「０」である場合、ＣＰＵ２１は、追加プログラムのダウンロードを開始するか否かを判断する（Ｓ１４）。
【００３１】
たとえば、通信部１６がコンピュータネットワークに接続されている状態で、プリンタ１のユーザは、操作部１２を操作して、そのコンピュータネットワークに接続されたサーバなどの外部機器からの追加プログラムのダウンロードを指示することができる。また、ユーザは、通信部１６にＵＳＢメモリを接側し、操作部１２を操作して、ＵＳＢメモリからの追加プログラムのダウンロードを指示することができる。
【００３２】
操作部１２から追加プログラムのダウンロードが指示されていない場合（Ｓ１４：ＮＯ）、ＣＰＵ２１は、プリンタ１の電源をオフにするか否かを判断する（Ｓ１５）。ユーザにより操作部１２の電源キーが押下されるか、または、画像形成部１１による画像形成動作、操作部１２の操作および通信部１６による通信のいずれも実行されていない状態が一定時間継続すると、ＣＰＵ２１は、プリンタ１の電源をオフにすると判断する。一方、操作部１２の電源キーが押下されておらず、かつ、画像形成部１１による画像形成動作、操作部１２の操作または通信部１６による通信が最後に実行されてから一定時間が経過するまでは、ＣＰＵ２１は、プリンタ１の電源をオフにしないと判断する。
【００３３】
ＣＰＵ２１は、プリンタ１の電源をオフにしないと判断した場合（Ｓ１５：ＮＯ）、リブートを実行するか否かを判断する（Ｓ１６）。
【００３４】
プリンタ１のユーザは、たとえば、プリンタ１の動作が不安定である場合に、操作部１２を操作して、プリンタ１のリブート（再起動）を指示することができる。
【００３５】
操作部１２からリブートが指示されていない場合（Ｓ１６：ＮＯ）、ＣＰＵ２１は、ＳＤＲＡＭ１５に保存されているダウンロード催促報知フラグの状態が「１」であるか否かを再び確認する（Ｓ１１）。
【００３６】
ダウンロード催促報知フラグの状態が「０」である場合、ＣＰＵ２１は、追加プログラムのダウンロードを開始するか否かを再び判断する（Ｓ１４）。この時点までに操作部１２から追加プログラムのダウンロードが指示された場合、ＣＰＵ２１は、追加プログラムのダウンロードを開始すると判断して（Ｓ１４：ＹＥＳ）、外部機器からＳＤＲＡＭ１５への追加プログラムのダウンロードを開始する（図１ＢのＳ１７）。
【００３７】
追加プログラムが正常にダウンロードされると、ＣＰＵ２１は、追加プログラムのダウンロードに成功したと判断する（Ｓ１８：ＹＥＳ）。一方、追加プログラムのダウンロード中に通信エラーが発生するなどの理由で、追加プログラムが正常にダウンロードされなかった場合、ＣＰＵ２１は、追加プログラムのダウンロードに失敗したと判断する（Ｓ１８：ＮＯ）。
【００３８】
ＣＰＵ２１は、追加プログラムのダウンロードに失敗したと判断した場合（Ｓ１８：ＮＯ）、図２ＡのステップＳ１５の処理に移行して、プリンタ１の電源をオフにするか否かを判断する。
【００３９】
ＣＰＵ２１は、追加プログラムのダウンロードに成功したと判断した場合（Ｓ１８：ＹＥＳ）、追加プログラムを識別可能な識別情報をＥ２ＰＲＯＭ１７に保存する（Ｓ１９）。識別情報としては、たとえば、追加プログラムの名称などを挙げることができる。
【００４０】
また、ＣＰＵ２１は、追加プログラムのダウンロード元を特定可能なダウンロード元情報をＥ２ＰＲＯＭ１７に保存する（Ｓ２０）。
【００４１】
さらに、ＣＰＵ２１は、追加プログラムフラグの状態として「１」をＳＤＲＡＭ１５に保存する（Ｓ２１）。追加プログラムフラグは、追加プログラムがＳＤＲＡＭ１５にダウンロードされているか否かを表すフラグである。追加プログラムフラグの状態が「１」であることは、追加プログラムがＳＤＲＡＭ１５にダウンロードされていることを表し、追加プログラムフラグの状態が「０」であることは、追加プログラムがＳＤＲＡＭ１５にダウンロードされていないことを表す。
【００４２】
その後、ＣＰＵ２１は、プリンタ１のリブートが必要であるか否かを判断する（Ｓ２２）。プリンタ１のリブートの必要がない場合（Ｓ２２：ＮＯ）、図２ＡのステップＳ１５の処理に移行して、ＣＰＵ２１は、プリンタ１の電源をオフにするか否かを判断する。
【００４３】
追加プログラムの種類によっては、プリンタ１のリブートが必要になる。プリンタ１のリブートが必要な場合（Ｓ２２：ＹＥＳ）、ＣＰＵ２１は、Ｅ２ＰＲＯＭ１７に、電源状態フラグの状態として「ＲＡＭ保持リブート」を保存（Ｓ２３）し、メモリコントローラ２３にＲＡＭ保持処理の実行を指示する（Ｓ２４）。ＲＡＭ保持処理の実行により、メモリコントローラ２３からＳＤＲＡＭ１５にセルフリフレッシュコマンドが送信され、ＳＤＲＡＭ１５がセルフリフレッシュモードとなり、ＳＤＲＡＭ１５自身がＳＤＲＡＭ１５に書き込まれているデータの再書き込みを行う。これにより、ＳＤＲＡＭ１５に保存されている内容が消失せずに保持される。その後、ＣＰＵ２１は、プリンタ１のリブートを実行する。
【００４４】
また、ユーザによって操作部１２が操作されて、プリンタ１のリブートが指示された場合（Ｓ１６：ＹＥＳ）、ＣＰＵ２１は、ＳＤＲＡＭ１５に保存されている追加プログラムフラグの状態が「１」であるか否かを確認する（Ｓ２５）。
【００４５】
ＳＤＲＡＭ１５に追加プログラムが保存されており、追加プログラムフラグの状態が「１」である場合（Ｓ２５：ＹＥＳ）、ＣＰＵ２１は、Ｅ２ＰＲＯＭ１７に、電源状態フラグの状態として「ＲＡＭ保持リブート」を保存し（Ｓ２６）メモリコントローラ２３にＲＡＭ保持処理の実行を指示する（Ｓ２７）。ＲＡＭ保持処理の実行により、ＳＤＲＡＭ１５に保存されている追加プログラムなどが消失せずに保持される。その後、ＣＰＵ２１は、プリンタ１のリブートを実行する。
【００４６】
ＳＤＲＡＭ１５に追加プログラムが保存されておらず、追加プログラムフラグの状態が「０」である場合（Ｓ２５：ＮＯ）、ＣＰＵ２１は、メモリコントローラ２３にＲＡＭ保持処理の実行を指示せずに、プリンタ１のリブートを実行する。
【００４７】
ユーザにより操作部１２の電源キーが押下されるか、または、画像形成部１１による画像形成動作、操作部１２の操作および通信部１６による通信のいずれも実行されていない状態が一定時間継続して、ＣＰＵ２１は、プリンタ１の電源をオフにすると判断した場合（Ｓ１５：ＹＥＳ）、ＳＤＲＡＭ１５に保存されている追加プログラムフラグの状態が「１」であるか否かを確認する（図２ＣのＳ２８）。
【００４８】
追加プログラムフラグの状態が「０」である場合（Ｓ２８：ＮＯ）、ＣＰＵ２１は、Ｅ２ＰＲＯＭ１７に、電源状態フラグの状態として「通常パワーオフ」を保存した後（Ｓ２９）、プリンタ１の電源をオフにする。電源状態フラグは、現在の電源の状態を表すフラグである。その後、ＳＰＵ２１は、図３に示されるパワーオフ処理を実行する。
【００４９】
追加プログラムフラグの状態が「１」である場合（Ｓ２８：ＹＥＳ）、ＣＰＵ２１は、操作部１２のタッチパネルに、たとえば、通常パワーオフを実行するかＲＡＭ保持パワーオフを実行するかをユーザに問い合わせるメッセージが表示される。この問合せメッセージの表示に応答して、ユーザが操作部１２を操作し、通常パワーオフを選択して指示した場合（Ｓ３０：ＹＥＳ）、ＣＰＵ２１は、電源状態フラグの状態として「通常パワーオフ」を保存した後（Ｓ２９）、図３に示されるパワーオフ処理を実行する。
【００５０】
ユーザが操作部１２を操作し、ＲＡＭ保持パワーオフを選択して指示した場合（Ｓ３０：ＮＯ）、ＣＰＵ２１は、電源状態フラグの状態として「ＲＡＭ保持パワーオフ」（保持電源オフ状態の一例）を保存する（Ｓ３１）。
【００５１】
そして、ＣＰＵ２１は、メモリコントローラ２３にＲＡＭ保持処理の実行を指示した後（Ｓ３２）。図３に示されるパワーオフ処理を実行する。
【００５２】
＜パワーオフ処理＞
パワーオフ処理では、ＣＰＵ２１は、図３に示されるように、プリンタ１の電源がオフされている状態において、プリンタ１の電源プラグが商用交流電源のコンセントから脱抜されたか否かを判別する（Ｓ４１）。
【００５３】
電源プラグがコンセントから脱抜された場合（Ｓ４１：ＹＥＳ）、ＣＰＵ２１は、パワーオフ処理を終了する。
【００５４】
電源プラグがコンセントに挿入されている状態では（Ｓ４１：ＮＯ）、ＣＰＵ２１は、操作部１２の電源キーが押下されたか否かを判別する（Ｓ４２）。電源キーが押下されていない場合（Ｓ４２：ＹＥＳ）、ＣＰＵ２１は、電源プラグがコンセントから脱抜されたか否かを再び判別する（Ｓ４１）。すなわち、電源プラグがコンセントから脱抜されるか、または、電源キーが押下されるまで、電源プラグがコンセントから脱抜されたか否かの判別および電源キーが押下されたか否かの判別が交互に繰り返される。
【００５５】
電源キーが押下された場合（Ｓ４２：ＹＥＳ）、ＣＰＵ２１は、起動フラグの状態として「１」をＳＤＲＡＭ１５に保存して（Ｓ４３）、パワーオフ処理を終了する。起動フラグの状態が「１」であることは、プリンタ１の電源がオフの状態で電源キーが押下されたことを表し、起動フラグの状態が「０」であることは、プリンタ１の電源がオフの状態で電源キーが未だ押下されていないことを表す。
【００５６】
＜起動処理＞
ＣＰＵ２１は、プリンタ１の電源プラグが商用交流電源のコンセントから抜かれた状態からその電源プラグがコンセントに挿入されると、図４Ａおよび図４Ｂに示される起動処理（ブート処理）を開始する。また、操作部１２の電源キーの押下によりプリンタ１の電源が投入された場合にも、ＣＰＵ２１は、起動処理を開始する。さらには、リブートの際にも、ＣＰＵ２１は、起動処理を開始する。
【００５７】
起動処理では、ＣＰＵ２１は、現在が電源キーの押下による起動時であるか否かを判別する（Ｓ５１）。ＣＰＵ２１は、ＳＤＲＡＭ１５に保存されている起動フラグの状態が「１」である場合、現在が電源キーの押下による起動時であると判別し、ＳＤＲＡＭ１５に保存されている起動フラグの状態が「０」である場合、現在が電源キーの押下による起動時ではない、つまり現在が電源プラグのコンセントへの挿入による起動時であるか、またはリブートによる起動時であると判別する。
【００５８】
現在が電源キーの押下による起動時である場合（Ｓ５１：ＹＥＳ）、ＣＰＵ２１は、Ｅ２ＰＲＯＭ１７に保存されている電源状態フラグの状態を参照する。電源状態フラグの状態が「ＲＡＭ保持パワーオフ」である場合（Ｓ５２：ＹＥＳ）、ＣＰＵ２１は、メモリコントローラ２３のＲＡＭ保持初期化を行う（Ｓ５３）。メモリコントローラ２３のＲＡＭ保持初期化には、ＳＤＲＡＭ１５にアクセスするための設定と、ＳＤＲＡＭ１５へのリフレッシュ解除コマンドの送信とが含まれる。また、ＣＰＵ２１は、ＳＤＲＡＭ１５のＲＡＭ保持初期化を行う（Ｓ５４）。ＳＤＲＡＭ１５のＲＡＭ保持初期化では、ＳＤＲＡＭ１５の内容が保持されているので、プログラム領域の再展開などが不要であり、変数領域のみの初期化が行われる。一方、電源状態フラグの状態が「ＲＡＭ保持パワーオフ」でない場合（Ｓ５２：ＮＯ）、ＣＰＵ２１は、メモリコントローラ２３の通常初期化により（Ｓ５５）、ＳＤＲＡＭ１５にアクセスするための設定を行う。また、ＣＰＵ２１は、ＳＤＲＡＭ１５に対する通常初期化により、ＳＤＲＡＭ１５の全体を初期化する（Ｓ５６）。
【００５９】
現在が電源キーの押下による起動時である場合、ＣＰＵ２１は、ＳＤＲＡＭ１５に保存されている起動フラグの状態を「０」にリセットする（Ｓ５７）。
【００６０】
また、ＣＰＵ２１は、Ｅ２ＰＲＯＭ１７に、電源状態フラグの状態として「パワーオン」（電源オン状態の一例）を保存する（Ｓ５８）。
【００６１】
その後、ＣＰＵ２１は、Ｅ２ＰＲＯＭ１７に識別情報が存在しているかを確認する（Ｓ５９）。
【００６２】
一方、現在が電源キーの押下による起動時ではない場合（Ｓ５１：ＮＯ）、ＣＰＵ２１は、Ｅ２ＰＲＯＭ１７に保存されている電源状態フラグの状態が「ＲＡＭ保持リブート」であるか否かを判別する（Ｓ６１）。電源状態フラグの状態が「ＲＡＭ保持リブート」である場合（Ｓ６１：ＹＥＳ）、ＣＰＵ２１は、メモリコントローラ２３のＲＡＭ保持初期化を行う（Ｓ６２）。また、ＣＰＵ２１は、ＳＤＲＡＭ１５のＲＡＭ保持初期化を行う（Ｓ６３）。そして、ＣＰＵ２１は、Ｅ２ＰＲＯＭ１７に、電源状態フラグの状態として「パワーオン」を保存する（Ｓ６４）。一方、電源状態フラグの状態が「ＲＡＭ保持パワーオフ」でない場合（Ｓ６１：ＮＯ）、ＣＰＵ２１は、メモリコントローラ２３の通常初期化を行う（Ｓ６５）。また、ＣＰＵ２１は、ＳＤＲＡＭ１５の全体を初期化する（Ｓ６６）。
【００６３】
その後、ＣＰＵ２１は、Ｅ２ＰＲＯＭ１７に保存されている電源状態フラグの状態が「通常パワーオフ」（通常電源オフ状態の一例）であるか否かを判別する（Ｓ６７）。
【００６４】
電源状態フラグの状態が「通常パワーオフ」である場合（Ｓ６７：ＹＥＳ）、ＣＰＵ２１は、図３に示されるパワーオフ処理を実行する。
【００６５】
電源状態フラグの状態が「通常パワーオフ」ではない場合（Ｓ６７：ＮＯ）、ＣＰＵ２１は、Ｅ２ＰＲＯＭ１７に識別情報が保存されているかを確認する（Ｓ５９）。
【００６６】
Ｅ２ＰＲＯＭ１７に識別情報が保存されている場合（Ｓ５９：ＹＥＳ）、ＣＰＵ２１は、ＳＤＲＡＭ１５に追加プログラムが保存されているかを確認する（図４ＢのＳ６８）。
【００６７】
ＳＤＲＡＭ１５に追加プログラムが保存されている場合（Ｓ６８：ＹＥＳ）、ＣＰＵ２１は、そのＳＤＲＡＭ１５に保存されている追加プログラムを使用した制御（たとえば、ダウンロードプリント機能のための制御）の実行を可能にする（Ｓ６９）。
【００６８】
その後、ＣＰＵ２１は、Ｅ２ＰＲＯＭ１７に保存されている電源状態フラグの状態が「パワーオン」であるか否かを判別する（Ｓ７０）。
【００６９】
一方、Ｅ２ＰＲＯＭ１７に識別情報が存在しない場合（図４ＡのＳ５９：ＮＯ）、ＣＰＵ２１は、ＳＤＲＡＭ１５に保存されている追加プログラムフラグの状態を「０」にリセットする（図４ＢのＳ７１）。
【００７０】
そして、ＣＰＵ２１は、追加プログラムを使用しない制御の実行を決定する（Ｓ７２）。
【００７１】
その後、ＣＰＵ２１は、Ｅ２ＰＲＯＭ１７に保存されている電源状態フラグの状態が「パワーオン」であるか否かを判別する（Ｓ７０）。
【００７２】
電源状態フラグの状態が「パワーオン」である場合（Ｓ７０：ＹＥＳ）、ＣＰＵ２１は、この起動処理を終了する。
【００７３】
電源状態フラグの状態が「パワーオン」ではない場合（Ｓ７０：ＮＯ）、ＣＰＵ２１は、ＳＤＲＡＭ１５に保存されている追加プログラムフラグの状態が「１」であるか否かを確認する（Ｓ７３）。
【００７４】
追加プログラムフラグの状態が「１」である場合（Ｓ７３：ＹＥＳ）、ＣＰＵ２１は、メモリコントローラ２３にＲＡＭ保持処理の実行を指示した後（Ｓ７４）。図３に示されるパワーオフ処理を実行する。
【００７５】
追加プログラムフラグの状態が「１」ではない場合、つまり「０」である場合には（Ｓ７３：ＮＯ）、ＣＰＵ２１は、メモリコントローラ２３にＲＡＭ保持処理の実行を指示せずに、図３に示されるパワーオフ処理を実行する。
【００７６】
Ｅ２ＰＲＯＭ１７に識別情報が保存されているにもかかわらず、ＳＤＲＡＭ１５に追加プログラムが保存されていない場合は（Ｓ６８：ＮＯ）、たとえば、追加プログラムがＳＤＲＡＭ１５にダウンロードされた後、ＲＡＭ保持処理が実行されずにプリンタ１の電源プラグがコンセントから脱抜された場合、または、ユーザが操作部１２を操作して、電源キーの押下により電源のオフを指示した後、通常パワーオフを実行するかＲＡＭ保持パワーオフを実行するかの問い合わせに対して通常パワーオフを選択して指示した場合である。この場合、ＣＰＵ２１は、自動ダウンロード処理を実行する（Ｓ７５）。自動ダウンロード処理については、後述する。
【００７７】
自動ダウンロード処理の実効後、ＣＰＵ２１は、自動ダウンロード処理による追加プログラムのダウンロードに成功したか否かを判断する（Ｓ７６）。
【００７８】
ＣＰＵ２１は、追加プログラムのダウンロードに成功したと判断した場合（Ｓ７６：ＹＥＳ）、追加プログラムフラグの状態として「１」をＳＤＲＡＭ１５に保存する（Ｓ７７）。その後、ＣＰＵ２１は、ＳＤＲＡＭ１５に保存された追加プログラムを使用した制御の実行を可能にして（Ｓ６９）、前述のステップＳ５８以降の処理を実行する。
【００７９】
ＣＰＵ２１は、自動ダウンロード処理による追加プログラムのダウンロードに失敗したと判断した場合（Ｓ７６：ＮＯ）、ダウンロード催促報知フラグの状態として「１」をＳＤＲＡＭ１５に保存する（Ｓ７８）。その後、ＣＰＵ２１は、ＳＤＲＡＭ１５に保存されている追加プログラムフラグの状態を「０」にリセットして（Ｓ７１）、前述のステップＳ７２以降の処理を実行する。
【００８０】
＜自動ダウンロード処理＞
自動ダウンロード処理では、ＣＰＵ２１は、図５に示されるように、Ｅ２ＰＲＯＭ１７に保存されているダウンロード元情報を参照して、追加プログラムのダウンロード元がＵＤＢメモリであるか否かを判別する（Ｓ７５１）。
【００８１】
追加プログラムのダウンロード元がＵＳＢメモリである場合（Ｓ７５１：ＹＥＳ）、ＣＰＵ２１は、ＵＳＢメモリが通信部１６に接続されているか否かを判別する（Ｓ７５２）。
【００８２】
ＵＳＢメモリが通信部１６に接続されている場合（Ｓ７５２：ＹＥＳ）、ＣＰＵ２１は、ＵＳＢメモリに追加プログラムが保存されているか否かを判別する（Ｓ７５３）。
【００８３】
ＵＳＢメモリに追加プログラムが保存されている場合（Ｓ７５３：ＹＥＳ）、ＣＰＵ２１は、ＵＳＢメモリに保存されている追加プログラムをＳＤＲＡＭ１５にダウンロードを開始して（Ｓ７５４）、自動ダウンロード処理を終了する。
【００８４】
通信部１６にＵＳＢメモリが接続されていない場合（Ｓ７５２：ＮＯ）、または、通信部１６にＵＳＢメモリが接続されているが、そのＵＳＢメモリに追加プログラムが保存されていない場合には（Ｓ７５３：ＮＯ）、ＣＰＵ２１は、ＳＤＲＡＭ１５への追加プログラムのダウンロードを行うことができないので、自動ダウンロード処理を終了する。
【００８５】
追加プログラムのダウンロード元がＵＳＢメモリではない場合（Ｓ７５１：ＮＯ）、つまり追加プログラムのダウンロード元がインターネット上のサーバである場合、ＣＰＵ２１は、通信部１６がコンピュータネットワークに接続されているか否かを判別する（Ｓ７５５）。
【００８６】
通信部１６がコンピュータネットワークに接続されている場合（Ｓ７５５：ＹＥＳ）、ＣＰＵ２１は、通信部１６を制御して、サーバとの接続を試みる（Ｓ７５６）。
【００８７】
その後、ＣＰＵ２１は、通信部１６とサーバとが正常に接続されたか否かを判別する（Ｓ７５７）。
【００８８】
通信部１６とサーバとが正常に接続された場合（Ｓ７５７：ＹＥＳ）、ＣＰＵ２１は、サーバからＳＤＲＡＭ１５への追加プログラムのダウンロードを開始して（Ｓ７５８）、自動ダウンロード処理を終了する。
【００８９】
通信部１６がコンピュータネットワークに接続されてない場合（Ｓ７５５：ＮＯ）、または、通信部１６とサーバとが正常に接続されない場合（Ｓ７５７：ＮＯ）、ＣＰＵ２１は、ＳＤＲＡＭ１５への追加プログラムのダウンロードを行うことができないので、自動ダウンロード処理を終了する。
【００９０】
＜作用効果＞
以上のように、追加プログラムは、ＵＳＢメモリまたはサーバから通信部１６を介してＳＤＲＡＭ１５にダウンロードされる。そのため、フラッシュメモリ１４の容量の増大によるコストアップを生じずに追加プログラムのダウンロードが可能である。
【００９１】
ＡＳＩＣ１３のリブート、または、プリンタ１の電源のオフが要求される場合に、ＳＤＲＡＭ１５の内容を保持するＲＡＭ保持処理が実行されることにより、追加プログラムの再ダウンロードの必要がないため、プリンタ１の使い勝手が良い。また、追加プログラムのダウンロード時にＥ２ＰＲＯＭ１７にダウンロード元情報が書き込まれるので、電源プラグがコンセントから脱抜されるなどの理由によりＳＤＲＡＭ１５の内容が消失してしまった場合であっても、追加プログラムを再ダウンロードすることができる。そして、その再ダウンロードによって取得した追加プログラムによって適切に制御を行うことができる。
【００９２】
また、追加プログラムのダウンロードに失敗した場合には、追加プログラムのダウンロードを催促する報知がなされるので、ユーザにとって、より使い勝手が良い。
【００９３】
＜変形例＞
以上、本発明の一実施形態について説明したが、本発明は、他の形態で実施することもできる。
【００９４】
たとえば、電子機器の一例として、プリンタ１を取り上げたが、本発明は、プリンタ１に限らず、原稿の画像を読み取る画像読取機能を有するスキャナに適用することもでき、その画像読取機能とプリント用紙などのシートに画像を形成する画像形成機能とを併せ持つ複合機に適用されてもよい。
【００９５】
また、ＡＳＩＣ１３が複数のＣＰＵを備え、複数のＣＰＵが協働して各処理を実行してもよい。
【００９６】
その他、前述の構成には、特許請求の範囲に記載された事項の範囲で種々の設計変更を施すことが可能である。
【符号の説明】
【００９７】
１：プリンタ
１２：操作部
１３：ＡＳＩＣ
１４：フラッシュメモリ
１５：ＳＤＲＡＭ
１６：通信部
１７：Ｅ２ＰＲＯＭ
２１：ＣＰＵ
【図１】
2019117588.tif 000003
【図２Ａ】
2019117588.tif 000004
【図２Ｂ】
2019117588.tif 000005
【図２Ｃ】
2019117588.tif 000006
【図３】
2019117588.tif 000007
【図４Ａ】
2019117588.tif 000008
【図４Ｂ】
2019117588.tif 000009
【図５】
2019117588.tif 000010