(57)【要約】【課題】起動時に不揮発性メモリから揮発性メモリへのプログラムを転送し、揮発性メモリ上でＣＰＵがプログラム実行する情報処理装置において、速やか且つスムーズな装置の立ち上を可能とする。【解決手段】ＡＳＩＣ３０の起動時に、ＣＰＵ３３のリセットを保持して、ＣＰＵ３３以外のハードウェア（ＤＭＡコントローラ３４，Ｆ／Ｗコピーコントローラ３５，バスコントローラ３６，シリアルＲＯＭコントローラ３１，ＲＡＭコントローラ３２）により、シリアルＲＯＭ２１からＲＡＭ２３へのＦ／Ｗ等の転送を開始させ、その転送中の予め指定された起動タイミング（ブートローダの転送終了タイミング）でＣＰＵ３３のリセットを解除し、ＣＰＵ３３のリセット解除後は、ＣＰＵ３３による初期化処理と、Ｆ／Ｗ等の転送とを並列に実行する。【選択図】図３
2007264978.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリからなる第１記憶手段から揮発性メモリからなる第２記憶手段に転送されたプログラムに従ってＣＰＵが処理を実行する情報処理装置の起動方法であって、
前記情報処理装置の起動時に前記ＣＰＵのリセットを保持して、前記ＣＰＵ以外のハードウェアにより、前記プログラムの転送を開始させ、
前記プログラム転送中の予め指定された解除タイミングで前記ＣＰＵのリセットを解除し、該ＣＰＵのリセット解除後は、該ＣＰＵによる所定の初期化処理と前記プログラムの転送とを並列に実行することを特徴とする情報処理装置の起動方法。
【請求項２】
プログラムを記憶する不揮発性メモリからなる第１記憶手段と、
揮発性メモリからなる第２記憶手段と、
前記第１記憶手段に格納されたプログラムを前記第２記憶手段に転送する転送手段と、
前記転送手段によって前記第２記憶手段に格納されたプログラムに従って処理を実行するＣＰＵと、
当該装置の起動時に前記ＣＰＵのリセットを保持すると共に、前記転送手段によるプログラム転送中の予め指定された解除タイミングで前記ＣＰＵのリセットを解除するリセット制御手段と、
を備え、前記リセット制御手段による前記ＣＰＵのリセット解除後は、該ＣＰＵによる所定の初期化処理と前記転送手段によるプログラムの転送とを並列に実行させることを特徴とする情報処理装置。
【請求項３】
前記第１記憶手段には、前記解除タイミングを示す起動タイミング情報が格納され、
前記リセット解除手段は、前記転送手段が転送するデータの転送量を監視することにより、前記解除タイミングを判断することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記プログラムは、予め指定された指定処理を実行するための指定プログラムと、該指定プログラム以外の非指定プログラムからなり、
前記指定プログラムの転送終了を示すタイミングを前記解除タイミングとすることを特徴とする請求項２又は請求項３に記載の情報処理装置。
【請求項５】
外部からの操作を受け付けるユーザＩ／Ｆ又は外部機器とのデータの入出力を行う外部機器Ｉ／Ｆのうち少なくとも一方からなるインターフェイス手段を備え、
前記指定処理には、前記インターフェイス手段を使用可能な状態に初期化する処理が少なくとも含まれていることを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記ＣＰＵは、
インターフェイス手段が受け付けた要求に対応するプログラムが、前記第２記憶手段に転送済であるか否かを検出し、起動すべきプログラムが未転送である場合に、該プログラムの転送が終了するまで待機することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
各種表示を行うための表示手段を備え、
前記指定処理には、前記表示手段の表示制御を行う処理が少なくとも含まれていることを特徴とする請求項４乃至請求項６のいずれかに記載の情報処理装置。
【請求項８】
前記指定処理には、当該装置各部のエラー検出を行う処理が少なくとも含まれていることを特徴とする請求項４乃至請求項７のいずれかに記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリから揮発性メモリに転送されたプログラムに従ってＣＰＵが処理を実行する情報処理装置、及びその起動方法に関する。
【背景技術】
【０００２】
従来より、小型（ピン数が少ない）で安価なシリアルＲＯＭに、機器を制御するプログラムであるファームウェア（Ｆ／Ｗ）等を格納しておき、電源投入時に、このシリアルＲＯＭ上のデータ（Ｆ／Ｗ等）を、高速アクセスが可能なＲＡＭに転送して、そのＲＡＭ上でＣＰＵがプログラムを実行するように構成された情報処理装置が知られている。
【０００３】
この種の情報処理装置では、一般的に、シリアルＲＯＭからＲＡＭへのデータ転送が完了してからＣＰＵのリセットを解除するため、ＣＰＵの起動、ひいては装置の立ち上がり時間（電源投入から外部からの要求を受付可能となるまでの時間）が長引いてしまうという問題があった。
【０００４】
これに対して、電源投入時に、シリアルＲＯＭからＲＡＭへのデータ転送を開始すると共に、ＣＰＵのリセットも解除し、ＲＡＭ上のデータ未転送領域へのＣＰＵからのアクセスが発生した場合には、ウェイト信号を発生させて、ＣＰＵの動作を停止させる装置が開示されている（例えば、特許文献１参照。）。
【０００５】
また、この装置において、ＲＯＭ内のデータの一部をハードウェアでＲＡＭへ転送し、ＲＯＭ内の残りのデータは、ＣＰＵが転送を行うことも開示されている。
【特許文献１】特開２００５−１０９４２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、ウェイト信号を発生させる前者の手法では、電源投入後、シリアルＲＯＭからＲＡＭへのデータ転送が完了するまでの間は、ＣＰＵの停止が不規則に繰り返されることになるため、装置の動作が不安定であるかのように見えてしまう可能性があるという問題があった。
【０００７】
例えば、表示部に複数の文字を表示するプログラムの転送中に、そのプログラムが実行された場合、表示の途中でウェイトが発生すると、装置がフリーズしたかのに見えてしまうのである。
【０００８】
また、ＣＰＵによるデータ転送を併用する後者の手法では、ハードウェアによる転送に比べて時間がかかり、装置の立ち上がり時間が長引いてしまうという問題があった。
本発明は、上記問題点を解決するために、起動時に不揮発性メモリから揮発性メモリへのプログラムを転送し、揮発性メモリ上でＣＰＵがプログラム実行する情報処理装置において、速やか且つスムーズな装置の立ち上を可能とすることを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するためになされた請求項１に記載の発明は、不揮発性メモリからなる第１記憶手段から揮発性メモリからなる第２記憶手段に転送されたプログラムに従ってＣＰＵが処理を実行する情報処理装置の起動方法であって、前記情報処理装置の起動時に前記ＣＰＵのリセットを保持して、前記ＣＰＵ以外のハードウェアにより、前記プログラムの転送を開始させ、前記プログラム転送中の予め指定された解除タイミングで前記ＣＰＵのリセットを解除し、該ＣＰＵのリセット解除後は、該ＣＰＵによる所定の初期化処理と前記プログラムの転送とを並列に実行することを特徴とする。
【００１０】
つまり、本発明の起動方法によれば、ＣＰＵで直ちに必要となる必要最低限の処理（初期化処理）を実行するためのプログラムが転送されると、全プログラムの転送終了を待つことなく、ＣＰＵのリセットが解除されるため、装置の立ち上がり時間を大幅に短縮することができ、また、ＣＰＵの処理と並行してプログラムの転送が継続されるため、プログラムの転送も必要最小限の時間で行うことができる。
【００１１】
次に、請求項２に記載の発明は、プログラムを記憶する不揮発性メモリからなる第１記憶手段と、揮発性メモリからなる第２記憶手段と、前記第１記憶手段に格納されたプログラムを前記第２記憶手段に転送する転送手段と、前記転送手段によって前記第２記憶手段に格納されたプログラムに従って処理を実行するＣＰＵと、当該装置の起動時に前記ＣＰＵのリセットを保持すると共に、前記転送手段によるプログラム転送中の予め指定された解除タイミングで前記ＣＰＵのリセットを解除するリセット制御手段とを備え、前記リセット制御手段による前記ＣＰＵのリセット解除後は、該ＣＰＵによる所定の初期化処理と前記転送手段によるプログラムの転送とを並列に実行させることを特徴とする情報処理装置である。
【００１２】
つまり、本発明は、請求項１に記載の方法を実現する装置であり、請求項１と同様の効果を得ることができる。
ところで、請求項３に記載のように、第１記憶手段には、解除タイミングを示す起動タイミング情報を格納し、リセット解除手段を、転送手段が転送するデータの転送量を監視することにより、解除タイミングを判断するように構成してもよい。
【００１３】
この場合、第１記憶手段に格納する解除タイミングを示す起動タイミング情報を変更するだけで、ＣＰＵの起動タイミングを簡単に変更することができる。
なお、データ転送量の監視は、転送元アドレス，転送先アドレス，転送バイト数のいずれによって行ってもよい。
【００１４】
また、請求項４に記載のように、プログラムを、予め指定された指定処理を実行するための指定プログラムと、該指定プログラム以外の非指定プログラムとに区分けして、指定プログラムの転送終了を示すアドレスを解除タイミングとすることが望ましい。
【００１５】
この場合、指定処理については、ＣＰＵの起動後に直ちにＲＡＭ上で実行することができ、しかも、その指定処理の途中では、従来装置とは異なり、ウエイトが発生してしまうようなことがないため、スムーズに装置を立ち上げることができる。
【００１６】
そして、請求項５に記載のように、外部からの操作を受け付けるユーザＩ／Ｆ又は外部機器とのデータの入出力を行う外部機器Ｉ／Ｆのうち少なくとも一方からなるインターフェイス手段を備えている場合、指定処理には、インターフェイス手段を使用可能な状態に初期化する処理が少なくとも含まれていることが望ましい。
【００１７】
このように構成された本発明の情報処理装置によれば、当該装置の起動後、必要最小限の時間で、インターフェイス手段を介した外部からの要求の受け付けを可能とすることができる。
【００１８】
更に、請求項６に記載のように、ＣＰＵは、インターフェイス手段が受け付けた要求に対応するプログラムが、第２記憶手段に転送済であるか否かを検出し、起動すべきプログラムが未転送である場合に、該プログラムの転送が終了するまで待機するように構成してもよい。
【００１９】
このように構成された本発明の情報処理装置によれば、全てのプログラムの転送を待つことなく、転送済のプログラムであれば直ちに起動されるため、要求した処理が開始されるまでの待ち時間を必要最小限に抑えることができる。
【００２０】
また、請求項７に記載のように、各種表示を行うための表示手段を備えている場合、指定処理には、表示手段の表示制御を行う処理が少なくとも含まれていることが望ましい。
このように構成された本発明の情報処理装置によれば、当該装置の立ち上げ時に、表示手段の表示がフリーズしたような状態になってしまうことを防止でき、装置の動作状態などを、速やか且つスムーズに表示することができる。
【００２１】
また、請求項８に記載のように、指定処理には、当該装置各部のエラー検出を行う処理が少なくとも含まれていることが望ましい。
このように構成された本発明の情報処理装置によれば、当該装置の立ち上げ時に、エラーの有無を速やかに検出することができる。
【発明を実施するための最良の形態】
【００２２】
以下に本発明の実施形態を図面と共に説明する。
図１は、本発明が適用された画像形成装置１の構成を示すブロック図である。
なお、本実施形態の画像形成装置１は、プリンタ，スキャナ，コピー機，ＦＡＸとしての機能を有する、いわゆる複合機として構成されたものである。
［画像形成装置の全体構成］
図１に示すように、画像形成装置１は、用紙等の印刷媒体に画像情報を印刷する画像形成部３と、原稿に記録された画像情報を読み取る画像読取部５と、一般公衆回線を介して画像情報を通信する通信インターフェイス（Ｉ／Ｆ）７と、各種設定や指令を入力するためのカーソルキーやスイッチ、及び各種メニュー項目が示されたメニュー画面や、利用者が入力した内容やエラー表示などを行う液晶パネルからなる操作パネル９と、各種記憶メディアを装着するためのカードスロット等からなる外部メモリカードＩ／Ｆ１１と、パラレルケーブルを介して外部のパーソナルコンピュータ等と画像データの入出力を行なうためのコネクタからなるパラレルＩ／Ｆ１３と、ＵＳＢケーブルを介して外部のパーソナルコンピュータ、デジタルカメラ等の外部機器と画像データの入出力を行なうためのコネクタからなるＵＳＢＩ／Ｆ１５とを備えている。
【００２３】
なお、これら各部の構成は周知のものであるため、その詳細については説明を省略する。
また、通信Ｉ／Ｆ７，操作パネル９の入力用の構成，外部メモリカードＩ／Ｆ１１，パラレルＩ／Ｆ，ＵＳＢＩ／Ｆ１５が本発明を構成するインターフェイス手段の一例であり、操作パネル９の表示用の構成が本発明を構成する表示手段の一例である。
【００２４】
ここで、画像形成装置１は、操作パネル９を介して入力される指令や設定に従って、装置各部（画像形成部３，画像読取部５，通信Ｉ／Ｆ７，外部メモリカードＩ／Ｆ１１，パラレルＩ／Ｆ１３，ＵＳＢＩ／Ｆ１５）を制御することにより、プリンタ，スキャナ，コピー機，ＦＡＸとしての機能を実現する制御部２０と、制御部２０を含む装置各部に電源供給を行う電源供給部４０とを備え得ている。
【００２５】
そして、制御部２０は、装置各部の動作を制御するためのプログラムであるファームウェア（Ｆ／Ｗ）やプログラムの実行に必要な各種設定や初期値等（以下、これらを総称して「Ｆ／Ｗ等」という）が格納されたシリアルＲＯＭ２１（第１記憶手段の一例）と、シリアルＲＯＭ２１上のＦ／Ｗ等がコピーされる共に、各種処理で生じる一時的なデータを記憶するＲＡＭ２３（第２記憶手段の一例）と、装置各部３〜１５との間の各種信号の入出力を制御するＩ／Ｏ制御部、ＲＯＭ２１，ＲＡＭ２３の入出力を制御するメモリ制御部、装置の起動を制御する起動制御部、各種プログラムを実行するＣＰＵ等を内蔵したＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）３０とを備えている。
【００２６】
なお、シリアルＲＯＭ２１は、データの出力をシリアルに行う周知の不揮発性メモリであり、ＲＡＭ２３は、データへのアクセスをランダムに行うことが可能な周知の揮発性メモリである。
【００２７】
また、電源供給部４０は、商用電源（ＡＣ１００Ｖ）から電源供給を受けて、主としてモータやアクチュエータ等の駆動系への給電に使用する高電圧電源ＤＨ（本実施形態では５Ｖ）、及び制御部２０等の制御系への給電に使用する低電圧電源ＤＬ（本実施形態では３．３Ｖ）を発生させるように構成されている。
【００２８】
更に、電源供給部４０は、低電圧電源ＤＬの給電電圧を監視して、その給電電圧が所定値を超えて上昇すると、電源や回路動作が安定するのに要する安定時間の経過後にＨ（ハイ）レベル／リセット解除となり、給電電圧が所定値を超えて下降するとＬ（ロウ）レベル／リセット保持となるＩＣリセット信号ＲＳＴ＿Ｎ（但し、記号の‘＿Ｎ’は、負論理を表す。以下同様。）を、ＡＳＩＣ３０に供給するように構成されている。
［シリアルＲＯＭの内容］
ここで、図２（ａ）は、シリアルＲＯＭ２１の記憶内容の概略を示す説明図、図２（ｂ）は、Ｆ／Ｗ等がＲＡＭ２３に転送（コピー）された状態、及び転送内容の概略を示す説明図である。
【００２９】
図２（ａ）に示すように、シリアルＲＯＭ２１は、ＲＡＭ２３へのデータ転送に必要な情報と、ＣＰＵの起動タイミング情報が格納されたヘッダ領域と、ＲＡＭ２３に転送されるＦ／Ｗ等が格納されたデータ領域とからなる。
【００３０】
このうち、データ領域に格納されるＦ／Ｗ等は、当該装置１の立ち上げに必要なプログラム群からなるブートローダと、画像形成部３等を利用した印字に関するプログラム，画像読取部５等を利用したスキャナに関するプログラム，通信Ｉ／Ｆ７等を利用したＦＡＸに関するプログラムなど、外部からの要求に応じて実行されるアプリケーションプログラム群とからなる（図２（ｂ）参照）。
【００３１】
なお、ブートローダには、画像形成部３や画像読取部５等の機能の初期化、ユーザＩ／Ｆ（操作パネル９など），ＰＣＩ／Ｆ（パラレルＩ／Ｆ１３やＵＳＢＩ／Ｆ１５），通信Ｉ／Ｆ７、外部メモリカードＩ／Ｆの制御、プログラム管理（ＯＳ）が少なくとも含まれている。
【００３２】
一方、ヘッダ領域には、図２（ａ）に示すように、データ領域に格納されたＦ／Ｗ等のデータサイズを示す転送データサイズ（４バイト）、後述するＣＰＵ３５のリセット解除タイミングを示す起動タイミング（４バイト）が格納されている。
【００３３】
そして、シリアルＲＯＭ２１には、転送データサイズ、起動タイミング、Ｆ／Ｗ本体が、その順に先頭番地から格納されている。
また、本実施形態では、起動タイミングとして、シリアルＲＯＭ２１に格納されているアプリケーションプログラム群の先頭アドレスが設定されている。つまり、ブートローダが指定プログラムの一例であり、アプリケーションプログラム群が非指定プログラムの一例である。
［主要部の構成］
次に、図３は、本発明の主要部に関わる構成、具体的には、ＡＳＩＣ３０中のＣＰＵ及びメモリ制御，起動制御に関わる構成を示すブロック図である。
【００３４】
図３に示すように、ＡＳＩＣ３０は、プログラムに従って処理を実行するＣＰＵ３３と、シリアルＲＯＭ２１からのデータの読み出し（リード）を制御するシリアルＲＯＭコントローラ３１と、ＲＡＭ２３に対するデータの読み書き（リード／ライト）を制御するＲＡＭコントローラ３２と、ＣＰＵ３３を介さないデータ転送（いわゆるＤＭＡ転送）を制御するＤＭＡコントローラ３４と、ＡＳＩＣ３０の起動時に、ＤＭＡコントローラ３４を利用したシリアルＲＯＭ２１からＲＡＭ２３へのデータ転送を制御するＦ／Ｗコピーコントローラ３５（ＤＭＡコントローラ３４と共に転送手段の一例）と、シリアルＲＯＭコントローラ３１（ひいてはシリアルＲＯＭ２１），ＲＡＭコントローラ３２（ひいてはＲＡＭ２３）やその他の周辺回路が共通に接続されたバス（データバス，アドレスバス，制御信号線）Ｂを制御するバスコントローラ３６と、上述したＡＳＩＣ３０内の各部に対するリセットを制御するリセットコントローラ３７（リセット制御手段の一例）とを備えている。
【００３５】
なお、ＣＰＵ３３，ＤＭＡコントローラ３４，Ｆ／Ｗコピーコントローラ３５は、バスコントローラ３６を介してバスＢに接続されている。そして、バスコントローラ３６は、ＣＰＵ３３，ＤＭＡコントローラ３４，Ｆ／Ｗコピーコントローラ３５からのバスＢに接続された各種メモリや周辺装置に対するアクセス要求を調停するように構成されている。
【００３６】
また、Ｆ／Ｗコピーコントローラ３５，ＤＭＡコントローラ３４，バスコントローラ３６，リセットコントローラ３７は、いずれも入力信号に応答して、予め決められた手順の処理を実行するシーケンサとして構成され、論理回路の組合せにより実現されるものである。
【００３７】
以下、リセットコントローラ３７，Ｆ／Ｗコピーコントローラ３５，ＤＭＡコントローラ３４が実行する処理の手順を、図４〜図６に示すフローチャートに沿って詳述する。
［リセットコントローラの処理手順］
まず、リセットコントローラ３７は、電源供給部４０からのＩＣリセット信号ＲＳＴ＿Ｎ、及びＤＭＡコントローラ３４からのＣＰＵリセット解除要求ＣＲＳＴ＿ＣＲに従って、ＣＰＵ３１の起動停止を制御するＣＰＵリセット信号ＣＲＳＴ＿Ｎ、及びＣＰＵ３５以外の各部の起動停止を制御する他部リセット信号ＡＲＳＴ＿Ｎを生成するように構成されたものである（図３参照）。
【００３８】
そして、リセットコントローラ３７は、ＡＳＩＣ３０に電源供給が開始されると、その出力である、ＣＰＵリセット信号ＣＲＳＴ＿Ｎ、及び他部リセット信号ＡＲＳＴ＿Ｎが、いずれもＬレベル、即ちリセット保持となるように構成されており、これにより、電源投入直後のＡＳＩＣ３０全体がリセット状態に保持される。
【００３９】
その後、電源供給部４０からのＩＣリセット信号ＲＳＴ＿ＮがＨレベルとなり、リセットが解除されると、リセットコントローラ３７は起動し、図４に示すように、まず、所定の保持時間を経過後に他部リセット信号ＡＲＳＴ＿ＮをＨレベルにして、ＣＰＵ３５以外の各部のリセットを解除する（Ｓ１１０）。
【００４０】
そして、ＤＭＡコントローラ３４からのＣＰＵリセット解除要求ＣＲＳＴ＿ＣＲがＨレベル、即ち、要求有りとなるまで待機し（Ｓ１２０）、ＣＰＵリセット解除要求ＣＲＳＴ＿ＣＲがＨレベルになると、ＣＰＵリセット信号ＣＲＳＴ＿ＮをＨレベル、即ち、リセット解除にすることにより、ＣＰＵ３５を起動して（Ｓ１３０）、一連の処理を終了する。
［Ｆ／Ｗコピーコントローラの処理手順］
次に、Ｆ／Ｗコピーコントローラ３５は、リセットコントローラ３７からの他部リセット信号ＡＲＳＴ＿ＮがＨレベルとなり、リセットが解除されると起動する。
【００４１】
そして、図５に示すように、まず、ヘッダ読出開始要求ＨＤＲ＿ＳをＨレベルにして、バスコントローラ３６に対してシリアルＲＯＭ２１のヘッダ領域の読み込みを要求し（Ｓ２１０）、バスコントローラ３６からのヘッダ読出終了通知ＨＤＲ＿ＥがＨレベルとなるまで待機する（Ｓ２２０）。
【００４２】
この時、バスコントローラ３６は、シリアルＲＯＭコントローラ３１に対して、シリアルＲＯＭ２１からヘッダ領域（即ち、先頭の８バイト）を読み出すための信号を出力し、シリアルＲＯＭ２１から読み出されたヘッダ領域のデータをＦ／Ｗコピーコントローラ３５に供給すると共に、ヘッダ読出終了通知ＨＤＲ＿ＥをＨレベルにして、Ｆ／Ｗコピーコントローラ３５に読出終了を通知する。
【００４３】
Ｆ／Ｗコピーコントローラ３５は、ヘッダ読出終了通知ＨＤＲ＿ＥがＨレベルになると、バスコントローラ３６から供給されたヘッダ領域のデータを読み込むと共に、ヘッダ読出開始要求ＨＤＲ＿ＳをＬレベルにして、要求を解除する（Ｓ２３０）。
【００４４】
この時、バスコントローラ３６は、ヘッダ読出開始要求ＨＤＲ＿ＳのＬレベルに応答して、Ｆ／Ｗコピーコントローラ３５に対するヘッダ領域のデータの供給を終了すると共に、ヘッダ読出終了通知ＨＤＲ＿ＥをＬレベルにする。
【００４５】
次に、Ｆ／Ｗコピーコントローラ３５は、読み込んだヘッダ領域のデータ（転送データサイズ，起動タイミング）に基づき、ＤＭＡコントローラ３４の設定を行う（Ｓ２４０）。
【００４６】
具体的には、シリアルＲＯＭ２１のＦ／Ｗ等が格納されたデータ領域の先頭アドレスを転送元アドレスの開始アドレス、ＲＡＭ２３の先頭アドレスを転送先アドレスの開始アドレスとして、Ｓ２４０で読み込んだ転送データサイズだけ、シリアルＲＯＭ２１のデータをＲＡＭ２３に転送するように設定する。これと共に、Ｓ２４０で読み込んだ起動タイミングを監視情報として設定する。なお、これらの設定はＤＭＡコントローラ３４に対する設定コマンドを用いて行われる。
【００４７】
次に、Ｆ／Ｗコピーコントローラ３５は、コピー開始要求ＣＰＹ＿ＳをＨレベルにして、ＤＭＡコントローラ３４に対してデータ転送の開始を要求し（Ｓ２５０）、ＤＭＡコントローラ３４からのコピー終了通知ＣＰＹ＿ＥがＨレベルとなるまで待機する（Ｓ２６０）。
【００４８】
そして、コピー終了通知ＣＰＹ＿ＥがＨレベルになると、コピー開始要求ＣＰＹ＿ＳをＬレベルにすることで要求を解除して（Ｓ２７０）、一連の処理を終了する。
［ＤＭＡコントローラの処理手順］
ＤＭＡコントローラ３４は、設定コマンドによって設定された設定内容に従ってＤＭＡ転送を行う周知の構成に加えて、監視情報（起動タイミング）が設定されている場合、ＤＭＡ転送の転送元アドレスが監視情報、即ち起動タイミングに一致すると、リセットコントローラ３７に対して、ＣＰＵリセット解除要求ＣＲＳＴ＿ＣＲを出力（一定期間Ｈレベルを出力）する監視回路を備えている。
【００４９】
具体的には、ＤＭＡコントローラ３４は、リセットコントローラ３７からの他部リセット信号ＡＲＳＴ＿ＮがＨレベルとなり、リセットが解除されると起動し、図６に示すように、Ｆ／Ｗコピーコントローラ３５からのコピー開始要求ＣＰＹ＿ＳがＨレベルになるまで待機する（Ｓ３１０）。
【００５０】
但し、ＤＭＡコントローラ３４の起動後は、本処理手順とは別に、適宜、設定コマンドを受け付けることで、ＤＭＡ転送の設定を行うことが可能なようにされている。
コピー開始要求ＣＰＹ＿ＳがＨレベルになると、既に設定コマンドによって設定されている設定情報に従って、ＤＭＡ転送、ここでは、シリアルＲＯＭ２１からＲＡＭ２３へのＦ／Ｗ本体の転送を開始し（Ｓ３２０）、転送元アドレスを監視することで、転送元アドレスがＦ／Ｗコピーコントローラ３５によって設定される起動タイミング（監視情報）と一致するまで待機する（Ｓ３３０）。
【００５１】
転送元アドレスが起動タイミングと一致すると、ＣＰＵリセット解除要求ＣＲＳＴ＿ＣＲをＨレベルにすることにより、リセットコントローラ３７に対してＣＰＵ３３のリセット解除を要求し（Ｓ３４０）、ＤＭＡコントローラ３４によるデータの転送数が、Ｆ／Ｗコピーコントローラ３５により設定された転送データサイズと一致するまで、即ち、ＤＭＡ転送が終了するまで待機する（Ｓ３５０）。
【００５２】
ＤＭＡ転送が終了すると、コピー終了通知ＣＰＹ＿ＥをＨレベルにすることにより、Ｆ／Ｗコピーコントローラ３５にコピーの終了を通知し、これに応答して、コピー開始要求ＣＰＹ＿ＳがＬレベルになると、コピー終了通知ＣＰＹ＿ＥもＬレベルにして（Ｓ３６０）、一連の処理を終了する。
［主要部の動作］
ここで、図７は、ＡＳＩＣ３０の各部の動作タイミングを示すタイミング図である。
【００５３】
図７に示すように、ＡＳＩＣ３０では、ＩＣリセット信号ＲＳＴ＿ＮがＨレベルになると、リセットコントローラ３７が起動する（時刻Ｔ０）。すると、起動したリセットコントローラ３７は、他部リセット信号ＡＲＳＴ＿ＮをＨレベルにして、ＡＳＩＣ３０のＣＰＵ３３以外の部分が起動する（時刻Ｔ１）。
【００５４】
これにより起動したＦ／Ｗコピーコントローラ３５が、ヘッダ読出開始要求ＨＤＲ＿ＳをＨレベルにすることで、バスコントローラ３６に、シリアルＲＯＭ２１のヘッダ領域のデータの読出を要求する。すると、バスコントローラ３６は、シリアルＲＯＭ２１からヘッダ領域のデータの読出が終了すると、ヘッダ読出終了通知ＨＤＲ＿ＥをＨレベルにすることで、その旨をＦ／Ｗコピーコントローラ３５に通知する（時刻Ｔ２）。
【００５５】
このヘッダ読出終了通知ＨＤＲ＿Ｅに応答して、Ｆ／Ｗコピーコントローラ３５は、バスコントローラ３６から供給されるヘッダ領域のデータを取り込むと共に、ヘッダ読出開始要求ＨＤＲ＿ＳをＬレベルにして要求を解除する（時刻Ｔ３）。また、このヘッダ読出開始要求ＨＤＲ＿Ｓに応答して、バスコントローラ３６は、ヘッダ読出終了通知ＨＤＲ＿ＥをＬレベルに戻す。
【００５６】
また、ヘッダ領域のデータを取り込んだＦ／Ｗコピーコントローラ３５は、そのヘッダ領域のデータ（転送データサイズ、起動タイミング）に従って、ＤＭＡコントローラ３４の設定を行った後、コピー開始要求ＣＰＹ＿ＳをＨレベルにすることで、ＤＭＡコントローラ３４に、シリアルＲＯＭ２１からＲＡＭ２３へのＦ／Ｗ等のコピー（データ転送）を要求する（時刻Ｔ４）。
【００５７】
コピー開始要求ＣＰＹ＿Ｓに応答して、データ転送を開始したＤＭＡコントローラ３４は、転送元アドレスを監視して、その転送元アドレスが起動タイミングに一致すると、ＣＰＵリセット解除要求ＣＲＳＴ＿ＣＲを一定期間の間だけＨレベルにして、リセットコントローラ３７にＣＰＵ３３のリセット解除（即ち、起動）を要求する（時刻Ｔ５）。
【００５８】
このＣＰＵリセット解除要求ＣＲＳＴ＿ＣＲに応答して、リセットコントローラ３７は、ＣＰＵリセット信号ＣＲＳＴ＿ＮをＨレベルにすることで、ＣＰＵ３３を起動する（時刻Ｔ６）。なお、起動したＣＰＵ３３は、後述する初期化処理の実行を開始する。
【００５９】
つまり、時刻Ｔ４〜Ｔ６までは、ＤＭＡコントローラ３４によるシリアルＲＯＭ２１からＲＡＭ２３へのＦ／Ｗ等のコピーのみが実行され、時刻Ｔ６からは、ＣＰＵ３３の初期化処理が実行されるのと並行してＦ／Ｗ等のコピーが継続して実行されることになる。
【００６０】
その後、ＤＭＡコントローラ３４は、設定された量（転送データサイズ）のデータ転送を終了すると、コピー終了通知ＣＰＹ＿ＥをＨレベルにすることで、その旨をＦ／Ｗコピーコントローラ３５に通知する（時刻Ｔ７）。
【００６１】
このコピー終了通知ＣＰＹ＿Ｅに応答して、Ｆ／Ｗコピーコントローラ３５は、コピー開始要求ＣＰＹ＿ＳをＬレベルにして要求を解除し（時刻Ｔ８）、また、これに応答して、ＤＭＡコントローラ３４は、コピー終了通知ＣＰＹ＿ＥをＬレベルにする。
［ＣＰＵの初期化処理について］
ここで、時刻Ｔ６にて起動したＣＰＵ３３が、その起動直後に実行する初期化処理を、図８に示すフローチャートに沿って説明する。
【００６２】
なお、本処理が開始される時点では、ＲＡＭ２３には、ブートローダのコピーが格納された状態となっている。
図８に示すように、本処理が起動すると、装置各部３〜１５を動作可能な状態にするための初期設定を行い（Ｓ４１０）、外部からの要求やデータを受け付けることができるように各Ｉ／Ｆ７，１１，１３，１５を起動する（Ｓ４２０）。
【００６３】
なお、これらの処理を実行するためのプログラムは、全てブートローダに含まれているため、これらの処理は中断を強いられることなくスムーズに実行される。
次に、ＤＭＡコントローラ３４からＦ／Ｗ等の転送状況を取得して（Ｓ４３０）、全データが転送済であるか否かを判断する（Ｓ４４０）。なお、Ｓ４３０では、その都度、どのアプリケーションプログラムが転送済（即ち、実行可能な状態）であるかを把握できるように、転送の進捗状況を記憶する。
【００６４】
そして、全データが転送済でなければ、Ｓ４２０にて起動した、各Ｉ／Ｆ７，１１，１３，１５や操作パネル９を介して、何等かの要求が発生したか否かを判断し（Ｓ４５０）、要求が発生していない場合（Ｓ４５０：ＮＯ）、Ｓ４３０に戻る。
【００６５】
一方、要求が発生している場合（Ｓ４５０：ＹＥＳ）、発生した要求に対応するアプリケーションプログラムは転送済であるか否かを判断し（Ｓ４６０）、転送済であれば、そのアプリケーションプログラムを起動して（Ｓ４８０）、Ｓ４４０に戻る。
【００６６】
また、発生した要求に対応するアプリケーションプログラムが転送済でなければ（Ｓ４６０：ＮＯ）、Ｓ４３０の場合と同様に、ＤＭＡコントローラ３４からＦ／Ｗ等の転送状況を取得して（Ｓ４７０）、Ｓ４６０に戻ることにより、対応するアプリケーションプログラムが転送済となるまで待機する。
【００６７】
また、先のＳ４４０にて、全データが転送済であると判断された場合（Ｓ４４０：ＹＥＳ）、各Ｉ／Ｆ７，１１，１３，１５や操作パネル９を介して入力される要求に従って、その要求に応じたアプリケーションプログラムを起動する通常のＩＤＬＥ制御を起動して（Ｓ４９０）、本処理を終了する。
［効果］
以上説明したように、画像形成装置１では、ＡＳＩＣ３０を起動する際に、ＣＰＵ３３のリセットを保持して、ＣＰＵ３３以外のハードウェア（ＤＭＡコントローラ３４，Ｆ／Ｗコピーコントローラ３５，バスコントローラ３６，シリアルＲＯＭコントローラ３１，ＲＡＭコントローラ３２）により、シリアルＲＯＭ２１からＲＡＭ２３へのＦ／Ｗ等の転送を開始させ、その転送中の予め指定された起動タイミング（ブートローダの転送終了タイミング）でＣＰＵ３３のリセットを解除し、ＣＰＵ３３のリセット解除後は、ＣＰＵ３３による初期化処理と、Ｆ／Ｗ等の転送とを並列に実行するようにされている。なお、ブートローダには、外部からの要求やデータの受付が可能となる状態まで装置を立ち上げるのに必要なプログラム群からなる。
【００６８】
従って、画像形成装置１によれば、Ｆ／Ｗ等の転送が全て終了するまで待つことなく、ＣＰＵ３３のリセットが解除されるため、装置の立ち上がり時間を大幅に短縮することができ、また、ＣＰＵの初期化処理と並行してプログラムの転送が継続されるため、プログラムの転送も必要最小限の時間で行うことができる。
【００６９】
しかも、ＣＰＵ３３が起動した時に、ＲＡＭ２３には、装置の立ち上げに最低限必要なプログラムが全て転送されているため、立ち上げ処理の途中で、ＣＰＵ３３の処理が中断することがなく、スムーズに装置を立ち上げることができる。
【００７０】
また、画像形成装置１によれば、シリアルＲＯＭ２１に格納された起動タイミングに従って、ＣＰＵ３３のリセットを解除するようにされているため、この起動タイミングを書き換えるだけで、ＣＰＵ３３の起動タイミングを簡単に変更することができる。
【００７１】
また、画像形成装置１では、ＣＰＵ３３が各Ｉ／Ｆ７，１１，１３，１５や操作パネル９からの要求やデータの受付が可能となった後、これらが受け付けた要求に対応するアプリケーションプログラムが、ＲＡＭ２３に既に転送されている場合には、そのアプリケーションプログラムを直ちに起動し、未だ転送されていない場合には、そのアプリケーションプログラムの転送が終了するまで待機するようにされている。
【００７２】
従って、画像形成装置１によれば、受け付けた要求に対応する処理（アプリケーションプログラム）が開始されるまでの待ち時間を必要最小限に抑えることができる。
［他の実施形態］
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において、様々な態様にて実施することが可能である。
【００７３】
例えば、上記実施形態では、各種機能の初期化、各種Ｉ／Ｆの制御、プログラム管理を行うプログラム群を、ブートローダとしているが、更に、装置各部のエラー検出を行うプログラム群を含むようにしてもよい。この場合、装置の立ち上げ時に、エラーの有無を速やかに検出することができる。
【００７４】
また、上記実施形態では、起動タイミングを、転送元アドレスにより特定しているが、転送先アドレスやデータ転送量により特定するように構成してもよい。
そして、起動タイミングを転送先アドレスによって特定する場合、ＤＭＡコントローラ３４は、図９（ａ）に示すように、Ｓ３３０にて、ＤＭＡコントローラ３４が現在転送を行っている転送先アドレスを、Ｆ／Ｗコピーコントローラ３５により設定された起動タイミングと比較するように構成すればよい。
【００７５】
また、起動タイミングをデータ転送量（ブートローダのデータサイズ）によって特定する場合、ＤＭＡコントローラ３４は、図９（ｂ）に示すように、Ｓ３３０にて、ＤＭＡコントローラ３４によるデータ転送量を、Ｆ／Ｗコピーコントローラ３５により設定された起動タイミングと比較するように構成すればよい。
【００７６】
また、起動タイミングを転送元アドレス又は転送先アドレスにより特定する場合、起動タイミングはこれ、アプリケーションプログラム群の先頭アドレスに限らず、ブートローダの末尾アドレスを用いてもよい。
【図面の簡単な説明】
【００７７】
【図１】画像形成装置の全体構成を示すブロック図。
【図２】シリアルＲＯＭに格納されるデータの構成、及びＦ／Ｗ等を転送した後のＲＡＭの状態を示す説明図。
【図３】ＡＳＩＣ（発明の主要部）の構成を示すブロック図。
【図４】リセットコントローラが実行する一連の処理の内容を示すフローチャート。
【図５】Ｆ／Ｗコピーコントローラが実行する一連の処理の内容を示すフローチャート。
【図６】ＤＭＡコントローラが実行する一連の処理の内容を示すフローチャート。
【図７】ＡＳＩＣ各部の起動時における動作を示すタイミング図。
【図８】ＣＰＵが起動時に実行する処理の内容を示すフローチャート。
【図９】ＤＭＡコントローラが実行する一連の処理の変形例を示すフローチャート。
【符号の説明】
【００７８】
１…画像形成装置、３…画像形成部、５…画像読取部、７…通信Ｉ／Ｆ、９…操作パネル、１１…外部メモリカードＩ／Ｆ、１３…パラレルＩ／Ｆ、１５…ＵＳＢＩ／Ｆ、２０…制御部、２１…シリアルＲＯＭ、２３…ＲＡＭ、３０…ＡＳＩＣ、３１…シリアルＲＯＭコントローラ、３２…ＲＡＭコントローラ、３３…ＣＰＵ、３４…ＤＭＡコントローラ、３５…Ｆ／Ｗコピーコントローラ、３６…バスコントローラ、３７…リセットコントローラ、４０…電源供給部、Ｂ…バス。
【図１】
2007264978.tif 000003
【図２】
2007264978.tif 000004
【図３】
2007264978.tif 000005
【図４】
2007264978.tif 000006
【図５】
2007264978.tif 000007
【図６】
2007264978.tif 000008
【図７】
2007264978.tif 000009
【図８】
2007264978.tif 000010
【図９】
2007264978.tif 000011