(57)【要約】【課題】電子機器のブートプログラムの変更を容易に行なえるようにする。【解決手段】ブートプログラムをプログラム変更指示データとともに、書き替え可能な形態の不揮発性メモリであるＥＥＰ　ＲＯＭ５に記憶させる。電子機器の起動を開始するとき、起動手段であるブート制御手段９はプログラム変更指示データを所定値と比較する。プログラム変更指示データが所定値と異なる場合には、ブート制御手段９はブートプログラムの変更は不要と判断してＥＥＰ　ＲＯＭ５に記憶されているブートプログラムを演算手段であるＣＰＵ１に実行させる。一方、プログラム変更指示データが所定値と等しい場合には、ＥＥＰ　ＲＯＭ５に記憶されたブートプログラムを外部記憶装置からロードされたブートプログラムで書き替え後、ブート制御手段９はＣＰＵ１に書き替えられたブートプログラムを実行させる。【選択図】　図３
2004038374.tif 000002
【特許請求の範囲】
【請求項１】
電子機器に備えられ、該電子機器を起動するためのブートシステムであって、ブートプログラムに基づいて前記電子機器を起動するための演算を行なう演算手段と、
ブートプログラムとプログラム変更指示データを記憶する不揮発性メモリと、
前記電子機器と外部装置とを接続するインターフェース手段と、
前記不揮発性メモリに記憶されたプログラム変更指示データに基づき、前記電子機器の外部装置から前記インターフェース手段を通じてブートプログラムをロードして、前記不揮発性メモリのブートプログラムを書き換えるか否かを制御する不揮発性メモリ制御手段と、
前記不揮発性メモリに記憶されたブートプログラムを前記演算手段にて実行させる起動手段と、を備えたことを特徴とするブートシステム。
【請求項２】
前記不揮発性メモリは取り外し可能であり、
前記不揮発性メモリが実装されている状態と、該不揮発性メモリが取り外されている状態との認識を行なう不揮発性メモリ認識手段を備え、
前記不揮発性メモリ認識手段が、不揮発性メモリが取り外されていると認識した場合には、前記起動手段は前記電子機器の外部装置から前記インターフェース手段を通じてブートプログラムを前記演算手段に読み込ませるようにしたことを特徴とする請求項１に記載のブートシステム。
【請求項３】
前記不揮発性メモリは取り外し可能であり、
前記不揮発性メモリが実装されている状態と、該不揮発性メモリが取り外されている状態との認識を行なう不揮発性メモリ認識手段と、
ブートプログラムを記憶した副メモリと、を備え、
前記不揮発性メモリ認識手段が、前記不揮発性メモリが取り外されていると認識した場合には、前記起動手段は前記副メモリからブートプログラムを前記演算手段に読み込ませるようにしたことを特徴とする請求項１に記載のブートシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータを起動させるためのブートプログラムの書き替えることが可能なブートシステムに関する。
【０００２】
【従来の技術】
従来、電子機器を起動するブートシステムは、ブートプログラムが書き込まれたＲＯＭをプリント配線板に実装することで形成されていた。そして、電子機器を起動する際には、上記ＲＯＭに記憶されたブートプログラムがＣＰＵに取り込まれることで、起動に係る動作が進行した。
【０００３】
ここで、上記ＲＯＭとしては、製造段階でブートプログラムが書き込まれたマスクＲＯＭや、ＲＯＭライターによりブートプログラムが書き込まれたフラッシュＲＯＭが適用され、プリント配線板に実装されていた。
【０００４】
【発明が解決しようとする課題】
従来のマスクＲＯＭを適用したブートシステムでは、電子機器の開発でブートプログラムの交換が必要になるたびにＲＯＭを交換しなければならなかった。そのため、プログラム変更の際には電子機器の分解や再組み立て、ＲＯＭの作成等のために膨大な時間や経費を必要としていた。
【０００５】
また、フラッシュＲＯＭを適用した場合でも、従来のブートシステムではプリント基板にＲＯＭを実装した状態でブートプログラムを書き替えることができなかったため、ブートプログラム変更の際にはＲＯＭを一旦プリント基板から取り外してからＲＯＭライターでブートプログラムの書き替えを行なう必要があった。よって、この場合でもプログラム変更に係る手間と経費を膨大なものとしていた。
【０００６】
本発明の課題は、電子機器を起動するためのブートシステムにおいて、ブートプログラムの変更を容易且つ安価に変更できるようにすることである。
【０００７】
【課題を解決するための手段】
本発明は、このような課題を解決するため、次のような特徴を備えている。
【０００８】
請求項１に記載の発明は、電子機器に備えられ、該電子機器を起動するためのブートシステムであって、ブートプログラムに基づいて前記電子機器を起動するための演算を行なう演算手段と、ブートプログラムとプログラム変更指示データを記憶する不揮発性メモリと、前記電子機器と外部装置とを接続するインターフェース手段と、前記不揮発性メモリに記憶されたプログラム変更指示データに基づき、前記電子機器の外部装置から前記インターフェース手段を通じてブートプログラムをロードして、前記不揮発性メモリのブートプログラムを書き換えるか否かを制御する不揮発性メモリ制御手段と、前記不揮発性メモリに記憶されたブートプログラムを前記演算手段にて実行させる起動手段と、を備えたことを特徴とする。
【０００９】
請求項１に記載のブートシステムによれば、電子機器の機動を開始する時に、不揮発性メモリに記憶されているプログラム変更指示データに基づいてブートプログラムの書き替えをするか否か制御するようにしたので、不揮発性メモリが電子機器内部に実装されたままでブートプログラムの変更を行なうことができる。よって、電子機器を起動するためのブートプログラムの変更に係る経費と労力を軽減することができる。
【００１０】
請求項２に記載の発明は、請求項１に記載のブートシステムであって、前記不揮発性メモリは取り外し可能であり、前記不揮発性メモリが実装されている状態と、該不揮発性メモリが取り外されている状態との認識を行なう不揮発性メモリ認識手段を備え、前記不揮発性メモリ認識手段が、不揮発性メモリが取り外されていると認識した場合には、前記起動手段は前記電子機器の外部装置から前記インターフェース手段を通じてブートプログラムを前記演算手段に読み込ませるようにしたことを特徴とする。
【００１１】
請求項２に記載の発明によれば、電子機器に不揮発性メモリが実装されていない状態では、インターフェース手段を通じて外部から演算手段へ、ブートプログラムが読み込まれるようになるので、電子機器の開発において、ブートプログラムからバグを除去する段階のようなブートプログラムを変更を頻繁に行なうような場合において、ＲＯＭ等の不揮発性メモリを作成することなく電子機器を起動することができる。よって、電子機器のブートプログラムの変更を容易にして、電子機器の開発に係る経費や時間を軽減することができる。
【００１２】
請求項３に記載の発明は、請求項１に記載のブートシステムであって、前記不揮発性メモリは取り外し可能であり、前記不揮発性メモリが実装されている状態と、該不揮発性メモリが取り外されている状態との認識を行なう不揮発性メモリ認識手段と、ブートプログラムを記憶した副メモリと、を備え、前記不揮発性メモリ認識手段が、前記不揮発性メモリが取り外されていると認識した場合には、前記起動手段は前記副メモリからブートプログラムを前記演算手段に読み込ませるようにしたことを特徴とする。
【００１３】
請求項３に記載の発明によれば、電子機器に不揮発性メモリが実装されていない状態では、別箇に設置された副メモリから演算手段へ、ブートプログラムを直接読み込ませるので、電子機器の開発において、ブートプログラムがまだ作成されていない段階では、従来の電子機器に適用されていたブートプログラムで電子機器を起動したりするといった操作が可能となる。よって、電子機器の各構成要素の作成の進捗状況に応じて動作チェック等の作業を行なうことが容易となり、電子機器の開発に係る経費や時間を軽減することができる。
【００１４】
【発明の実施の形態】
〔第一の実施形態〕
以下、図面を参照して本発明の第一の実施形態に係るブートシステムを適用した情報端末装置１００について説明する。なお、本明細書では、本発明に係るブートシステムによって情報端末装置１００を起動するために作成された、第一ブートプログラム、第二ブートプログラム及び第三ブートプログラムといったプログラムを総称する場合にはブートプログラムという名称を用いる。
【００１５】
情報端末装置１００は、ＣＰＵ１、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ　Ｓｐｅｃｉｆｉｅｄ　ＩＣ）２、ＲＡＭ３、ＮＡＮＤ　ＦＬＡＳＨ　ＲＯＭ４、ＥＥＰ　ＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ　Ｅｒａｓａｂｌｅ　Ｐｒｏｇｒａｍｍａｂｌｅ　ＲＯＭ）５、液晶ディスプレー６、キーボード７、電源部８、パワースイッチ２１、シリアルインターフェース部２２、データバス３０等を備えて構成される。
【００１６】
電源部８は情報端末装置１００の各構成要素に電力を供給する。パワースイッチ２１はオペレータやユーザの操作によって、電源部８から情報端末装置１００の各構成要素に供給される電力のオンオフを行なう。データバス３０は、ＣＰＵ１、ＡＳＩＣ２、ＲＡＭ３、シリアルインターフェース制御手段１２等を結合する構成要素であり、これらの構成要素間でプログラム／データを授受するための経路をなす。
【００１７】
ＣＰＵ１は、演算手段であり、情報端末装置１００が駆動するために必要な各種演算を行なうとともに、ＡＳＩＣ２にデータを送信し、このＡＳＩＣ２を介して情報端末装置１００の各構成要素を制御する。ＣＰＵ１は情報端末装置１００の起動時には、後述するブート制御手段９に接続されたＢＯＯＴ用ＲＡＭ１５に記憶されたブートプログラムに基づいて、情報端末装置１００の起動に必要な各種演算を行なう。
【００１８】
ＣＰＵ１は図示しないリセット端子を有する。このリセット端子はＣＰＵ１が各種演算を行なう場合には信号レベルがＬに保たれる。一方、リセット端子の信号レベルをＨの状態に移行すると、ＣＰＵ１はリセット状態となり、他の端子から入力される信号に関係なくＣＰＵ１の動作が停止する。
【００１９】
ＮＡＮＤ　ＦＬＡＳＨ　ＲＯＭ４は、ＣＰＵ１が情報端末装置１００の駆動に係る演算を行なうのに必要なプログラム／データを格納する。ＮＡＮＤ　ＦＬＡＳＨ　ＲＯＭ４に格納されたプログラム／データは、必要に応じ、シリアルインターフェース部２２を介して入力されたプログラム／データに書き替えられる。ＲＡＭ３は、ＣＰＵ１が情報端末装置１００の駆動に係る演算を行なう際、プログラムやデータを必要に応じて格納する。
【００２０】
液晶ディスプレー６は液晶表示画面を備えて構成されており、ＣＰＵ１が送信するデータに基づいた液晶ディスプレー制御手段１４による制御によって画面を表示する。キーボード７はカーソルキー、数字入力キー及び各種機能キー等を備えて構成され、押下されたキーの押下信号を後述するキーボード制御手段１３を介してＣＰＵ１に送信する。
【００２１】
ＥＥＰ　ＲＯＭ５は不揮発性メモリであり、電気的な操作によって記憶を書き替えることができる形態に形成され、ブートプログラム領域と、プログラム変更指示領域と、を有して構成される。ブートプログラム領域はブートプログラムとして第一ブートプログラム／第二ブートプログラムを記憶する。また、プログラム変更指示領域はプログラム変更指示データを記憶する。
【００２２】
ＥＥＰ　ＲＯＭ５のプログラム変更指示領域に記憶されたプログラム変更指示データは、パワースイッチ２１をオンにすることで情報端末装置１００が起動開始される時、後述するＥＥＰ　ＲＯＭ制御手段１１によって読み出され、所定の値であるかが判断され、ブートプログラムを外部からロードする必要があるか否かの判定に利用される。
【００２３】
情報端末装置１００の製造のためにＥＥＰ　ＲＯＭ５を実装する時点でＥＥＰ　ＲＯＭ５にブートプログラムが書き込まれていない場合には、プログラム変更指示領域にはプログラム変更指示データとして後述する所定値（ＦＦｈ）が予め書き込まれている。そして、実装後、ＥＥＰ　ＲＯＭ５にブートプログラムを書き込む際に、このプログラム変更指示データはＦＦｈ以外の数値に書き替えられる。一方、ＥＥＰ　ＲＯＭ５にブートプログラムを書き込んでから実装する場合には、プログラム変更指示データとしてＦＦｈ以外の数値がプログラム変更指示領域に書き込まれる。ここで、ＦＦｈとは１６進数表記の数値であり、１０進数の２５５に相当する。
【００２４】
また、情報端末装置１００の組み立て後、ＥＥＰ　ＲＯＭ５にブートプログラムの変更を行なう場合には、予めＥＥＰ　ＲＯＭ制御手段１１を用いてプログラム変更指示データをＦＦｈに書き替えてから後述するようにしてブートプログラムの書き替えを行なう。
【００２５】
シリアルインターフェース部２２は情報端末装置１００とディスクドライブ等の外部機器との間でプログラム／データの授受を行なうための構成要素であり、コネクタ等を備えて構成される。
【００２６】
ＡＳＩＣ２はブート制御手段９、ＮＡＮＤ　ＦＬＡＳＨ制御手段１０、ＥＥＰ　ＲＯＭ制御手段１１、シリアルインターフェース制御手段１２、キーボード制御手段１３、液晶ディスプレー制御手段１４、ブート用ＲＡＭ１５等を備えて構成される。ＡＳＩＣ２はＣＰＵ１との間でデータの授受を行ない、ＣＰＵ１から送信されたデータに基づいて情報端末装置１００の各構成要素を制御する。
【００２７】
さらに、ＡＳＩＣ２はパワースイッチ２１がオンになった際、情報端末装置１００を起動するための動作を行なう。なお、図２では、ＡＳＩＣ２の各構成要素のうち、情報端末装置１００を起動する際にプログラム／データの授受を行なう構成要素同士に限って矢印で結合するようにして描図を行なった。
【００２８】
ブート制御手段９は起動手段及び不揮発性メモリ認識手段として作動する構成要素である。ブート制御手段９は、パワースイッチ２１がオフからオンに切り換えられて通電されることによりブートプラグラムを確定する動作を行なう。ブート制御手段９は情報端末装置１００を起動するために、ブート用ＲＡＭ１５、ＥＥＰ　ＲＯＭ　５及びシリアルインターフェース部２２との間でプログラム／データの授受を行なう。
【００２９】
ブート制御手段９は内部に所定値を記憶するためのレジスタを有している。ここで、所定値とは、情報端末装置１００を起動する前に、ＥＥＰ　ＲＯＭ５のブートプログラム領域に記憶されているブートプログラムの書き替えを行なうか否かを判定するため、ＥＥＰ　ＲＯＭ５のプログラム変更指示領域に記憶されているプログラム変更指示データと比較するための数値である。本実施形態では、所定値としてＦＦｈという数値が記憶されている。
【００３０】
ブート制御手段９は情報端末装置１００の起動を開始する際、まず情報端末装置１００にＥＥＰ　ＲＯＭ５が実装されているか否かの判定を行なう。そして、ＥＥＰ　ＲＯＭ５が実装されている場合にはＥＥＰ　ＲＯＭ５からブートプログラムをブート用ＲＡＭ１５にロードし、ＥＥＰ　ＲＯＭ５が実装されていない場合にはシリアルインターフェース部２２からロードされた第二ブートプログラムをブート用ＲＡＭ１５にロードする。
【００３１】
ＥＥＰ　ＲＯＭ制御手段１１は不揮発性メモリ制御手段であり、ＥＥＰ　ＲＯＭ５に記憶されているプログラムやデータのロード、消去、セーブを行なう。ＮＡＮＤ　ＦＬＡＳＨ制御手段１０はＮＡＮＤ　ＦＬＡＳＨ　ＲＯＭ　４に記憶されている各種プログラム／データの読み取りおよび書き換えの制御を行なう。
【００３２】
シリアルインターフェース制御手段１２は、インターフェース制御手段であり、シリアルインターフェース部２２による情報端末装置１００と外部機器との間でのプログラム／データの授受の際、シリアルインターフェース部２２と情報端末装置１００の各構成要素とを仲介して、ロード／セーブの動作を行なう。
【００３３】
さらに、シリアルインターフェース制御手段１２は、情報端末装置１００が起動する際、シリアルインターフェース部２２が外部機器と接続しているか否かの確認を行ない、さらにシリアルインターフェース部２２が外部機器と接続している場合には、上記外部機器を認識する。シリアルインターフェース部２２が外部機器と接続しているか否かの確認及び外部機器の認識は、該当するインターフェースのプロトコールに従って実施する。
【００３４】
また、シリアルインターフェース制御手段１２は、ディスクや半導体メモリといった記憶媒体を備えた外部記憶装置がシリアルインターフェース部２２に接続された状態で、該外部記憶装置から第二ブートプログラムをロードする。
【００３５】
液晶ディスプレー制御手段１４は、ＣＰＵ１が演算して作成した画像データに基づいて液晶ディスプレー６を制御して画面表示を行なう。キーボード制御手段１３はキーボード７のキーを押下する時に発生する押下信号を各キーに対応する文字、記号のデータに変換してＣＰＵ１に送信する。
【００３６】
次に、図３のフローチャートを参照して、本発明に係るブートシステムを適用した情報端末装置１００の起動動作について説明する。
【００３７】
情報端末装置１００の起動を行なう前の状態では、ＥＥＰ　ＲＯＭ５のブートプログラム領域には第一ブートプログラムがブートプログラムとして記憶されている。
【００３８】
情報端末装置１００を起動するため、オペレータがパワースイッチ２１をオンにする（ステップＳ１）と、ブート制御手段９が通電される。通電により、ブート制御手段９が作動し、ブートプログラムを確定するための動作を開始する。ブート制御手段９は、まずＣＰＵ１のリセット端子に与えるリセット信号をＨにしてＣＰＵ１の動作を停止状態にする（ステップＳ２）。
【００３９】
ＣＰＵ１を停止した状態にした後、ブート制御手段９はＥＥＰ　ＲＯＭ５の接続認識を行なう（ステップＳ３）。上記接続認識は、ＥＥＰ　ＲＯＭ制御手段１１によって、ＥＥＰ　ＲＯＭ５の未使用アドレスにデータを書き込み、引き続いてこのデータの読み取りを行なうことで行なう。
【００４０】
ここで上記データの書き込みと読み取りが正常に行なえた場合には、ブート制御手段９はＥＥＰ　ＲＯＭ５が接続されていると認識してステップＳ４の処理に進む。ステップＳ４では、ＥＥＰ　ＲＯＭ制御手段１１により、ＥＥＰ　ＲＯＭ５のプログラム変更指示領域に書き込まれたプログラム変更指示データが読み出され、確認が行われる。
【００４１】
ここで読み取られたプログラム変更指示データが所定値（ＦＦｈ）である場合には、ブートプログラムの変更の指示であるとして、ステップＳ６に移行し外部装置からのブートプログラムのロード処理に入る。一方プログラム変更指示データがＦＦｈ以外の数値の場合には、外部からのブートプログラムのロードはせずにステップＳ８に移行する。
【００４２】
つまり、プログラム変更指示データの値がＦＦｈの場合には、ブート制御手段９はＥＥＰ　ＲＯＭ５のブートプログラム領域に記憶された第一ブートプログラムを書き換えることが必要であると判定し、上記第一ブートプログラムを書き替えるため、シリアルインターフェース部２２を通じて第二ブートプログラムをロードする。
【００４３】
第二ブートプログラムの取り込みのため、まずシリアルインターフェース制御手段１２はシリアルインターフェース部２２に、第二ブートプログラムをロードするための外部記憶装置が接続されているか否かを、該当するインターフェースのプロトコールに従ってステップＳ６で確認する。
【００４４】
外部記憶装置の接続が確認されない場合には、接続されるまで待機する。一方、外部記憶装置の接続が確認された場合には、ステップＳ７に移行し、外部記憶装置に記憶された第二ブートプログラムが、外部記憶装置から、シリアルインターフェース部２２及びＥＥＰ　ＲＯＭ制御手段１１を経由してＥＥＰ　ＲＯＭ５にロードされる。ＥＥＰ　ＲＯＭ制御手段１１はブートプログラム領域に記憶されている第一ブートプログラムを消去した後、引き続いて外部記憶装置からロードされた第二ブートプログラムをブートプログラム領域にセーブすることで、ブートプログラムの書き替えを行なう。
【００４５】
ブートプログラムの書き替え後、ＥＥＰ　ＲＯＭ制御手段１１は先述のようにしてセーブされた第二ブートプログラムを、情報端末装置１００を起動するためのブートプログラムとしてＥＥＰ　ＲＯＭ５からロードし、ブート制御手段９に送信する。ブート制御手段９は上記第二ブートプログラムをブート用ＲＡＭ１５に格納した後（ステップＳ８）、ＣＰＵ１のリセット状態を解除する（ステップＳ９）。
【００４６】
リセット状態が解除されたＣＰＵ１はブート制御手段９に対してチップ選択信号（ＣＳ信号）を送信する。ＣＰＵ１からチップ選択信号を受信すると、ブート制御手段９を介してブート用ＲＡＭ１５に格納されているブートプログラムがＣＰＵ１に読み出され、ＣＰＵ１がブートプログラムを実行することで情報端末装置１００の起動が進行する（Ｓ１０）。
【００４７】
上述の動作によって情報端末装置１００を起動させた際、ブートプログラム領域に記憶されたブートプログラムにバグや改良すべき点が見出された場合は、そのまま情報端末装置１００の作動を終了させる。そして、ブートプログラムを情報端末装置１００外部で修正後、この修正されたブートプログラムを外部記憶装置からロードしてＥＥＰ　ＲＯＭ５にセーブできる状態にしてから再び情報端末装置１００のパワースイッチ２１をオンにすることで、上述のブートプログラム書き替え動作を行なう。
【００４８】
一方、上述の様にしてＥＥＰ　ＲＯＭ５にセーブされたブートプログラムに修正すべき点がない場合には、オペレータはキーボード７等を操作してＥＥＰ　ＲＯＭ５のプログラム変更指示領域に書き込まれているプログラム変更指示データをＦＦｈ以外の値に書き替えてから、情報端末装置１００の動作を終了させる。
【００４９】
プログラム変更指示データをＦＦｈ以外の値に書き替えて一旦パワースイッチ２１をオフにした後、情報端末装置１００の起動を開始すると、起動動作はステップＳ１からステップＳ５まで進行した後、ステップＳ８へ移行する。こうして、ＥＥＰ　ＲＯＭ５のブートプログラム領域に記憶されたブートプログラムを書き替えることなく情報端末装置１００の起動が進行する。
【００５０】
情報端末装置１００の開発過程によっては、プリント基板にＥＥＰ　ＲＯＭ５を実装することなく、情報端末装置１００の起動を行なう場合がある。この場合には、シリアルインターフェース部２２に接続された外部記憶装置に記憶された第二ブートプログラムを、ＥＥＰ　ＲＯＭ５にセーブすることなく直接ブート用ＲＡＭ１５へロードすることで、情報端末装置１００を起動することができる。
【００５１】
オペレータがパワースイッチ２１をオンにすると、ステップＳ２においてＥＥＰ　ＲＯＭ５は認識されないため、起動操作はステップＳ３からステップＳ１１へと移行する。ステップＳ１１では、ステップＳ６の場合と同様にしてシリアルインターフェース部２２に外部記憶装置が接続されているか否かの確認を行なう。
【００５２】
ステップＳ１１で外部記憶装置の接続が確認されると、動作はステップＳ１２に移行する。ステップＳ１２では外部記憶装置から、シリアルインターフェース部２２、シリアルインターフェース制御手段１２を経由してブート用ＲＡＭ１５に第二ブートプログラムがロードされる。その後、動作はステップＳ９に移行して情報端末装置１００の起動が進行する。
【００５３】
この様に、本発明を適用した情報端末装置１００では、ＥＥＰ　ＲＯＭ５のブートプログラム領域に記憶された第一ブートプログラムを書き替える必要があるか否かの判断を、ＥＥＰ　ＲＯＭ５のプログラム変更指示領域に記憶されたプログラム変更指示データを所定値と比較して行なうことで、情報端末装置１００の起動を開始するごとに容易に上記判断を行なうことができる。
【００５４】
それに加えて、ブートプログラム領域に記憶された第一ブートプログラムの書き替えが必要な場合には、該第一ブートプログラムを消去するとともに、シリアルインターフェース部２２を介して外部記憶装置からロードされた第二ブートプログラムをブートプログラム領域にセーブするようにすることで、ＥＥＰ　ＲＯＭ５が情報端末装置１００に実装されたままでブートプログラムの書き替えを行なうことができる。
【００５５】
このことで、情報端末装置１００のブートプログラムにバグが発見されたり、改良すべき点が生じたりした場合には、ＥＥＰ　ＲＯＭ５をプリント配線板から外したりするとなくブートプログラムの変更を行なうことができる。このことで、ブートプログラム変更に係る労力や経費を軽減することができる。よって、情報端末装置１００の開発や改良に要する時間、経費をすることができる。
【００５６】
また、ＥＥＰ　ＲＯＭ５が情報端末装置１００に実装されていない場合には、ブート制御手段９がそのことを認識するとともに、外部記憶装置からロードされた第二ブートプログラムを直接ＣＰＵ１にロードすることで情報端末装置１００を起動することができる。
【００５７】
このことで、情報端末装置１００の開発や改良において、ブートプログラムからのバグの除去といった頻繁にブートプログラムの変更を要する場合、ブートプログラムの修正と情報端末装置１００の起動とを短時間で繰り返すことができる。よって、情報端末装置１００の開発や改良に要する時間、経費をすることができる。
【００５８】
〔第二の実施形態〕
次に、本発明の第二の実施形態に係るブートシステムを適用した情報端末装置１００の構成及び動作について、図面を参照して説明する。なお、本実施形態において、第一の実施形態と共通の構成要素については同一の符号を付して詳細な説明を省略する。
【００５９】
情報端末装置１００は、図４に示すように、ＣＰＵ１、ＡＳＩＣ２、ＲＡＭ３、ＮＡＮＤ　ＦＬＡＳＨ　ＲＯＭ４、ＥＥＰ　ＲＯＭ　５、液晶ディスプレー６、キーボード７、電源部８、ＲＯＭ１６、パワースイッチ２１、シリアルインターフェース部２２、データバス３０等を備えて構成される。
【００６０】
電源部８は情報端末装置１００の各構成要素に電力を供給する。パワースイッチ２１は電源部８のオンオフを行なう。データバス３０は、ＣＰＵ１、ＡＳＩＣ２、ＲＡＭ３、ＲＯＭ１６、シリアルインターフェース部２２等を結合する構成要素であり、これらの構成要素間でプログラム／データを授受するための経路をなす。
【００６１】
ＣＰＵ１は、演算手段であり、情報端末装置１００が駆動するために必要な各種演算を行なうとともに、ＡＳＩＣ２を介して情報端末装置１００の各構成要素を制御する。ＣＰＵ１は情報端末装置１００の起動時には、ブートプログラムに基づいて情報端末装置１００の起動に必要な各種演算を行なう。
【００６２】
ＮＡＮＤ　ＦＬＡＳＨ　ＲＯＭ４は、ＣＰＵ１が情報端末装置１００の駆動に係る演算を行なうのに必要なプログラム／データを格納する。ＲＡＭ３は、ＣＰＵ１が演算を行なう際、プログラムやデータを必要に応じて格納する。
【００６３】
ＥＥＰ　ＲＯＭ５は不揮発性メモリであり、電気的な操作によって記憶を書き替えることができる形態に形成され、ブートプログラムを記憶するブートプログラム領域やプログラム変更指示データを記憶するプログラム変更指示領域を有する。
【００６４】
ＥＥＰ　ＲＯＭ５はプログラム変更指示領域を有し、このプログラム変更指示領域にプログラム変更指示データを格納する。プログラム変更指示データは、ＥＥＰ　ＲＯＭ５にまだブートプログラムがロードされていない状態やブートプログラムの変更を要する場合には所定値と等しいＦＦｈに設定され、確定したブートプログラムがＥＥＰ　ＲＯＭ５に格納されている状態ではＦＦｈ以外の値に設定される。プログラム変更指示データの値は、ブートプログラムの確定時やブートプログラムの修正が必要になった時に、キーボード７等を用いてＥＥＰ　ＲＯＭ　制御手段１１を操作することで書き替えられる。
【００６５】
シリアルインターフェース部２２は情報端末装置１００と外部機器との間でプログラム／データの授受を行なうための構成要素である。
【００６６】
ＡＳＩＣ２は図５に示すようにブート制御手段９、ＮＡＮＤ　ＦＬＡＳＨ制御手段１０、ＥＥＰ　ＲＯＭ制御手段１１、シリアルインターフェース制御手段１２、キーボード制御手段１３、液晶ディスプレー制御手段１４、ブート用ＲＡＭ１５等を備えて構成される。なお、図５では、ＡＳＩＣ２の各構成要素のうち、情報端末装置１００を起動する際にプログラム／データの授受を行なう構成要素同士に限って矢印で結合するようにして描図を行なった。
【００６７】
ＡＳＩＣ２はＣＰＵ１との間でデータの授受を行ない、ＣＰＵ１から送信されたデータに基づいて情報端末装置１００の各構成要素を制御する。さらに、ＡＳＩＣ２はパワースイッチ２１がオンになった時、情報端末装置１００を起動するための動作を行なう。
【００６８】
ブート制御手段９は起動手段及び不揮発性メモリ認識手段として作動する構成要素である。ブート制御手段９には起動を開始する時、ＥＥＰ　ＲＯＭ５からロードされたプログラム変更指示データと比較することでＥＥＰ　ＲＯＭ５に記憶されているブートプログラムの書き換えが必要か否かの判定を行なうための所定値を記憶したレジスタが備えられている。
【００６９】
ブート制御手段９はパワースイッチ２１がオフからオンに切り換えられて通電されることにより情報端末装置１００を起動するための動作を行なう。また、第一の実施形態に適用されているブート制御手段９との相違点として、本実施形態に係るブート制御手段９は情報端末装置１００の起動時にＲＯＭ１６に向けてチップ制御信号を送信できる構成になっている点があげられる。
【００７０】
ＥＥＰ　ＲＯＭ制御手段１１は不揮発性メモリ制御手段であり、ＥＥＰ　ＲＯＭ５に記憶されているブートプログラム及びプログラム変更指示データのロード、消去、セーブを行なう。ＮＡＮＤ　ＦＬＡＳＨ制御手段１０はＮＡＮＤ　ＦＬＡＳＨ　ＲＯＭ　４に記憶されている各種プログラム／データの読み取りおよび書き換えの制御を行なう。
【００７１】
シリアルインターフェース制御手段１２は、インターフェース制御手段であり、シリアルインターフェース部２２と情報端末装置１００の各構成要素とを仲介して、ロード／セーブの動作を行なう。さらに、シリアルインターフェース制御手段１２は、情報端末装置１００が起動する際、シリアルインターフェース部２２が外部機器と接続しているか否かの確認を行なう。
【００７２】
ＲＯＭ１６は副メモリであり、例えばマスクＲＯＭによって構成される。ＲＯＭ１６には、情報端末装置１００の駆動に係るプログラムが格納されており、その１つとして第３のブートプログラムが格納されている。ＲＯＭ１６はデータバス３０を介してＣＰＵ１やＡＳＩＣ２と接続されており、ＣＰＵ１やブート制御手段９の制御によってプログラム／データを出力できる構成となっている。
【００７３】
次に、図６のフローチャートを参照して、本発明に係るブートシステムを適用した情報端末装置１００の起動動作について説明する。
【００７４】
第２の実施例においても、ＥＥＰ　ＲＯＭ５は情報端末装置１００に実装されている状態において、情報端末装置１００の起動を開始するときには、ブートプログラム領域に第一ブートプログラムがブートプログラムとして記憶されている。
【００７５】
情報端末装置１００を起動するため、オペレータがパワースイッチ２１をオンにすると（ステップＳ２１）、ブート制御手段９が通電され、情報端末装置１００を起動するための動作を開始する。情報端末装置１００にＥＥＰ　ＲＯＭ５が実装されており、ＥＥＰ　ＲＯＭ５に記憶されたプログラム変更指示データが所定値であるＦＦｈである場合には、情報端末装置１００の起動動作は第一の実施形態の場合と同様に進行する。
【００７６】
すなわち、ＣＰＵ１のリセット状態への移行（ステップＳ２２）、ＥＥＰ　ＲＯＭ５が実装されているか否かの認識（ステップＳ２３）、プログラム変更指示データと所定値との比較（ステップＳ２４）、シリアルインターフェース部２２に接続された外部記憶装置の認識（ステップＳ２５）、上記外部記憶装置からの第二ブートプログラムのロードとそれに引き続く、ブートプログラム領域に記憶された第一ブートプログラムの消去及び該ブートプログラム領域への第二ブートプログラムのセーブをする（ステップＳ２６）。
【００７７】
引き続いて、ＥＥＰ　ＲＯＭ５に新たに記憶された第二ブートプログラムをブート用ＲＡＭ１５にロードし（ステップＳ２７）、引き続いてＣＰＵ１のリセット状態を解除し（ステップＳ２８）、該第二ブートプログラムがＣＰＵ１により実行されることで情報端末装置１００の起動が進行する（Ｓ２９）。
【００７８】
また、情報端末装置１００にＥＥＰ　ＲＯＭ５が実装されており、且つＥＥＰ　ＲＯＭ５に記憶された第一ブートプログラムの変更が必要ない、すなわち、ＥＥＰ　ＲＯＭ５に記憶されたプログラム変更指示データがＦＦｈ以外の値に設定されている場合には、起動動作はステップＳ２１からＳ２４まで進行した後、Ｓ２７に移行する。そして、ＥＥＰ　ＲＯＭ５のブートプログラム領域に記憶された第一ブートプログラムがブート用ＲＡＭ１５にロードされて起動動作が進行する。
【００７９】
一方、情報端末装置１００にＥＥＰ　ＲＯＭ５が実装されていない場合には、起動動作はステップＳ２３からステップＳ３０に移行する。ステップＳ３０では、ブート制御手段９はＲＯＭ１６に対してチップ選択信号を出力する。そしてＣＰＵ１のリセットを解除すると（ステップＳ２８）、ＲＯＭ１６に記憶された第三ブートプログラムがブートプログラムとしてＣＰＵ１により読み出され実行されることで起動動作が進行する。
【００８０】
この様に、第二の実施形態に係る情報端末装置１００では、第一の実施形態の場合と同様、ＥＥＰ　ＲＯＭ５が実装されている状態で、ＥＥＰ　ＲＯＭ５に記憶されているブートプログラムの変更が必要な場合には、ＥＥＰ　ＲＯＭ５を取り外したりすることなく変更作業を行なうことができる。
【００８１】
さらに、ＥＥＰ　ＲＯＭ５が情報端末装置１００に実装されていない場合には、ブート制御手段９がそのことを認識するとともに、ＥＥＰ　ＲＯＭ５やＡＳＩＣ２とは別箇に設けられたＲＯＭ１６から第三ブートプログラムを直接ＣＰＵ１に与えることで情報端末装置１００を起動することができる。
【００８２】
このことで、例えば情報端末装置１００の開発において、新しいブートプログラムがまだ作成されていない段階では、従来の情報端末装置に適用されているブートプログラムを用いて情報端末装置１００を起動することで、情報端末装置１００の各構成要素の動作をチェックするといったことができる。このことで、情報端末装置１００の開発の際、個々の構成要素の作成状況に応じて柔軟に開発を進行させることが容易となる。よって、情報端末装置１００の開発に要する時間、経費をすることができる。
【００８３】
なお、本発明に係るブートシステムは上述のものに限らない。本発明に係るブートシステムは情報端末装置１００に適用されるものとは限らず、演算装置によって制御されるあらゆる形態の電子機器に適用可能である。
【００８４】
また、本発明に係るブートシステムにおいて、不揮発性メモリはＥＥＰ　ＲＯＭとは限らない。プログラム／データの書き替えが可能な不揮発性の記憶媒体ならば、磁気ディスクや光磁気ディスクといった記憶媒体を不揮発性メモリに適用することとしてもよい。また、副メモリの形態も設計事項であり、電子機器の開発、改良の進捗に応じて適宜選択される。
【００８５】
【発明の効果】
請求項１に記載の発明によれば、ブートプログラムを記憶した不揮発性メモリを取り外したりすることなくブートプログラムの変更を行なうことができる。よって、電子機器の開発等の際、ブートプログラムの修正に要する時間や経費を軽減することができる。
【００８６】
請求項２に記載の発明によれば、電子機器を起動する際、電子機器の外部からブートプログラムをロードできるようにすることで、電子機器の開発の際、ブートプログラムのバグ除去などの作業に要する時間や経費を軽減することができる。
【００８７】
請求項３に記載の発明によれば、電子機器の開発の進捗状況に応じて電子機器の各構成要素の動作チェック等の作業を容易に行なえるようにすることで、電子機器の開発に要する時間や経費を軽減することができる。
【図面の簡単な説明】
【図１】本発明の第一の実施形態に係るブートシステムを適用した情報端末装置１００の構成を示すブロック図である。
【図２】第一の実施形態に係る情報端末装置１００に適用されるＡＳＩＣ２の構成を示すブロック図である。
【図３】第一の実施形態に係る情報端末装置１００を起動させるための動作の流れを示すフローチャートである。
【図４】本発明の第二の実施形態に係るブートシステムを適用した情報端末装置１００の構成を示すブロック図である。
【図５】第二の実施形態に係る情報端末装置１００に適用されるＡＳＩＣ２の構成を示すブロック図である。
【図６】第二の実施形態に係る情報端末装置１００を起動させるための動作の流れを示すフローチャートである。
【符号の説明】
１　　　　ＣＰＵ
２　　　　ＡＳＩＣ
３　　　　ＲＡＭ
５　　　　ＥＥＰ　ＲＯＭ（不揮発性メモリ）
８　　　　電源部
９　　　　ブート制御手段（起動制御手段、不揮発性メモリ認識手段）
１１　　ＥＥＰ　ＲＯＭ制御手段（不揮発性メモリ制御手段）
１２　　シリアルインターフェース制御手段（インターフェース制御手段）
１５　　ブート用ＲＯＭ
３０　　データバス
１００　　情報端末装置
【図１】
2004038374.tif 000003
【図２】
2004038374.tif 000004
【図３】
2004038374.tif 000005
【図４】
2004038374.tif 000006
【図５】
2004038374.tif 000007
【図６】
2004038374.tif 000008