JP2004038374A - ブートシステム - Google Patents
ブートシステム Download PDFInfo
- Publication number
- JP2004038374A JP2004038374A JP2002192071A JP2002192071A JP2004038374A JP 2004038374 A JP2004038374 A JP 2004038374A JP 2002192071 A JP2002192071 A JP 2002192071A JP 2002192071 A JP2002192071 A JP 2002192071A JP 2004038374 A JP2004038374 A JP 2004038374A
- Authority
- JP
- Japan
- Prior art keywords
- boot
- boot program
- program
- information terminal
- terminal device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
【課題】電子機器のブートプログラムの変更を容易に行なえるようにする。
【解決手段】ブートプログラムをプログラム変更指示データとともに、書き替え可能な形態の不揮発性メモリであるEEP ROM5に記憶させる。
電子機器の起動を開始するとき、起動手段であるブート制御手段9はプログラム変更指示データを所定値と比較する。プログラム変更指示データが所定値と異なる場合には、ブート制御手段9はブートプログラムの変更は不要と判断してEEP ROM5に記憶されているブートプログラムを演算手段であるCPU1に実行させる。
一方、プログラム変更指示データが所定値と等しい場合には、EEP ROM5に記憶されたブートプログラムを外部記憶装置からロードされたブートプログラムで書き替え後、ブート制御手段9はCPU1に書き替えられたブートプログラムを実行させる。
【選択図】 図3
【解決手段】ブートプログラムをプログラム変更指示データとともに、書き替え可能な形態の不揮発性メモリであるEEP ROM5に記憶させる。
電子機器の起動を開始するとき、起動手段であるブート制御手段9はプログラム変更指示データを所定値と比較する。プログラム変更指示データが所定値と異なる場合には、ブート制御手段9はブートプログラムの変更は不要と判断してEEP ROM5に記憶されているブートプログラムを演算手段であるCPU1に実行させる。
一方、プログラム変更指示データが所定値と等しい場合には、EEP ROM5に記憶されたブートプログラムを外部記憶装置からロードされたブートプログラムで書き替え後、ブート制御手段9はCPU1に書き替えられたブートプログラムを実行させる。
【選択図】 図3
Description
【0001】
【発明の属する技術分野】
本発明は、コンピュータを起動させるためのブートプログラムの書き替えることが可能なブートシステムに関する。
【0002】
【従来の技術】
従来、電子機器を起動するブートシステムは、ブートプログラムが書き込まれたROMをプリント配線板に実装することで形成されていた。そして、電子機器を起動する際には、上記ROMに記憶されたブートプログラムがCPUに取り込まれることで、起動に係る動作が進行した。
【0003】
ここで、上記ROMとしては、製造段階でブートプログラムが書き込まれたマスクROMや、ROMライターによりブートプログラムが書き込まれたフラッシュROMが適用され、プリント配線板に実装されていた。
【0004】
【発明が解決しようとする課題】
従来のマスクROMを適用したブートシステムでは、電子機器の開発でブートプログラムの交換が必要になるたびにROMを交換しなければならなかった。そのため、プログラム変更の際には電子機器の分解や再組み立て、ROMの作成等のために膨大な時間や経費を必要としていた。
【0005】
また、フラッシュROMを適用した場合でも、従来のブートシステムではプリント基板にROMを実装した状態でブートプログラムを書き替えることができなかったため、ブートプログラム変更の際にはROMを一旦プリント基板から取り外してからROMライターでブートプログラムの書き替えを行なう必要があった。よって、この場合でもプログラム変更に係る手間と経費を膨大なものとしていた。
【0006】
本発明の課題は、電子機器を起動するためのブートシステムにおいて、ブートプログラムの変更を容易且つ安価に変更できるようにすることである。
【0007】
【課題を解決するための手段】
本発明は、このような課題を解決するため、次のような特徴を備えている。
【0008】
請求項1に記載の発明は、電子機器に備えられ、該電子機器を起動するためのブートシステムであって、ブートプログラムに基づいて前記電子機器を起動するための演算を行なう演算手段と、ブートプログラムとプログラム変更指示データを記憶する不揮発性メモリと、前記電子機器と外部装置とを接続するインターフェース手段と、前記不揮発性メモリに記憶されたプログラム変更指示データに基づき、前記電子機器の外部装置から前記インターフェース手段を通じてブートプログラムをロードして、前記不揮発性メモリのブートプログラムを書き換えるか否かを制御する不揮発性メモリ制御手段と、前記不揮発性メモリに記憶されたブートプログラムを前記演算手段にて実行させる起動手段と、を備えたことを特徴とする。
【0009】
請求項1に記載のブートシステムによれば、電子機器の機動を開始する時に、不揮発性メモリに記憶されているプログラム変更指示データに基づいてブートプログラムの書き替えをするか否か制御するようにしたので、不揮発性メモリが電子機器内部に実装されたままでブートプログラムの変更を行なうことができる。よって、電子機器を起動するためのブートプログラムの変更に係る経費と労力を軽減することができる。
【0010】
請求項2に記載の発明は、請求項1に記載のブートシステムであって、前記不揮発性メモリは取り外し可能であり、前記不揮発性メモリが実装されている状態と、該不揮発性メモリが取り外されている状態との認識を行なう不揮発性メモリ認識手段を備え、前記不揮発性メモリ認識手段が、不揮発性メモリが取り外されていると認識した場合には、前記起動手段は前記電子機器の外部装置から前記インターフェース手段を通じてブートプログラムを前記演算手段に読み込ませるようにしたことを特徴とする。
【0011】
請求項2に記載の発明によれば、電子機器に不揮発性メモリが実装されていない状態では、インターフェース手段を通じて外部から演算手段へ、ブートプログラムが読み込まれるようになるので、電子機器の開発において、ブートプログラムからバグを除去する段階のようなブートプログラムを変更を頻繁に行なうような場合において、ROM等の不揮発性メモリを作成することなく電子機器を起動することができる。よって、電子機器のブートプログラムの変更を容易にして、電子機器の開発に係る経費や時間を軽減することができる。
【0012】
請求項3に記載の発明は、請求項1に記載のブートシステムであって、前記不揮発性メモリは取り外し可能であり、前記不揮発性メモリが実装されている状態と、該不揮発性メモリが取り外されている状態との認識を行なう不揮発性メモリ認識手段と、ブートプログラムを記憶した副メモリと、を備え、前記不揮発性メモリ認識手段が、前記不揮発性メモリが取り外されていると認識した場合には、前記起動手段は前記副メモリからブートプログラムを前記演算手段に読み込ませるようにしたことを特徴とする。
【0013】
請求項3に記載の発明によれば、電子機器に不揮発性メモリが実装されていない状態では、別箇に設置された副メモリから演算手段へ、ブートプログラムを直接読み込ませるので、電子機器の開発において、ブートプログラムがまだ作成されていない段階では、従来の電子機器に適用されていたブートプログラムで電子機器を起動したりするといった操作が可能となる。よって、電子機器の各構成要素の作成の進捗状況に応じて動作チェック等の作業を行なうことが容易となり、電子機器の開発に係る経費や時間を軽減することができる。
【0014】
【発明の実施の形態】
〔第一の実施形態〕
以下、図面を参照して本発明の第一の実施形態に係るブートシステムを適用した情報端末装置100について説明する。なお、本明細書では、本発明に係るブートシステムによって情報端末装置100を起動するために作成された、第一ブートプログラム、第二ブートプログラム及び第三ブートプログラムといったプログラムを総称する場合にはブートプログラムという名称を用いる。
【0015】
情報端末装置100は、CPU1、ASIC(Application Specified IC)2、RAM3、NAND FLASH ROM4、EEP ROM(Electrically Erasable Programmable ROM)5、液晶ディスプレー6、キーボード7、電源部8、パワースイッチ21、シリアルインターフェース部22、データバス30等を備えて構成される。
【0016】
電源部8は情報端末装置100の各構成要素に電力を供給する。パワースイッチ21はオペレータやユーザの操作によって、電源部8から情報端末装置100の各構成要素に供給される電力のオンオフを行なう。データバス30は、CPU1、ASIC2、RAM3、シリアルインターフェース制御手段12等を結合する構成要素であり、これらの構成要素間でプログラム/データを授受するための経路をなす。
【0017】
CPU1は、演算手段であり、情報端末装置100が駆動するために必要な各種演算を行なうとともに、ASIC2にデータを送信し、このASIC2を介して情報端末装置100の各構成要素を制御する。CPU1は情報端末装置100の起動時には、後述するブート制御手段9に接続されたBOOT用RAM15に記憶されたブートプログラムに基づいて、情報端末装置100の起動に必要な各種演算を行なう。
【0018】
CPU1は図示しないリセット端子を有する。このリセット端子はCPU1が各種演算を行なう場合には信号レベルがLに保たれる。一方、リセット端子の信号レベルをHの状態に移行すると、CPU1はリセット状態となり、他の端子から入力される信号に関係なくCPU1の動作が停止する。
【0019】
NAND FLASH ROM4は、CPU1が情報端末装置100の駆動に係る演算を行なうのに必要なプログラム/データを格納する。NAND FLASH ROM4に格納されたプログラム/データは、必要に応じ、シリアルインターフェース部22を介して入力されたプログラム/データに書き替えられる。RAM3は、CPU1が情報端末装置100の駆動に係る演算を行なう際、プログラムやデータを必要に応じて格納する。
【0020】
液晶ディスプレー6は液晶表示画面を備えて構成されており、CPU1が送信するデータに基づいた液晶ディスプレー制御手段14による制御によって画面を表示する。キーボード7はカーソルキー、数字入力キー及び各種機能キー等を備えて構成され、押下されたキーの押下信号を後述するキーボード制御手段13を介してCPU1に送信する。
【0021】
EEP ROM5は不揮発性メモリであり、電気的な操作によって記憶を書き替えることができる形態に形成され、ブートプログラム領域と、プログラム変更指示領域と、を有して構成される。ブートプログラム領域はブートプログラムとして第一ブートプログラム/第二ブートプログラムを記憶する。また、プログラム変更指示領域はプログラム変更指示データを記憶する。
【0022】
EEP ROM5のプログラム変更指示領域に記憶されたプログラム変更指示データは、パワースイッチ21をオンにすることで情報端末装置100が起動開始される時、後述するEEP ROM制御手段11によって読み出され、所定の値であるかが判断され、ブートプログラムを外部からロードする必要があるか否かの判定に利用される。
【0023】
情報端末装置100の製造のためにEEP ROM5を実装する時点でEEP ROM5にブートプログラムが書き込まれていない場合には、プログラム変更指示領域にはプログラム変更指示データとして後述する所定値(FFh)が予め書き込まれている。そして、実装後、EEP ROM5にブートプログラムを書き込む際に、このプログラム変更指示データはFFh以外の数値に書き替えられる。一方、EEP ROM5にブートプログラムを書き込んでから実装する場合には、プログラム変更指示データとしてFFh以外の数値がプログラム変更指示領域に書き込まれる。ここで、FFhとは16進数表記の数値であり、10進数の255に相当する。
【0024】
また、情報端末装置100の組み立て後、EEP ROM5にブートプログラムの変更を行なう場合には、予めEEP ROM制御手段11を用いてプログラム変更指示データをFFhに書き替えてから後述するようにしてブートプログラムの書き替えを行なう。
【0025】
シリアルインターフェース部22は情報端末装置100とディスクドライブ等の外部機器との間でプログラム/データの授受を行なうための構成要素であり、コネクタ等を備えて構成される。
【0026】
ASIC2はブート制御手段9、NAND FLASH制御手段10、EEP ROM制御手段11、シリアルインターフェース制御手段12、キーボード制御手段13、液晶ディスプレー制御手段14、ブート用RAM15等を備えて構成される。ASIC2はCPU1との間でデータの授受を行ない、CPU1から送信されたデータに基づいて情報端末装置100の各構成要素を制御する。
【0027】
さらに、ASIC2はパワースイッチ21がオンになった際、情報端末装置100を起動するための動作を行なう。なお、図2では、ASIC2の各構成要素のうち、情報端末装置100を起動する際にプログラム/データの授受を行なう構成要素同士に限って矢印で結合するようにして描図を行なった。
【0028】
ブート制御手段9は起動手段及び不揮発性メモリ認識手段として作動する構成要素である。ブート制御手段9は、パワースイッチ21がオフからオンに切り換えられて通電されることによりブートプラグラムを確定する動作を行なう。ブート制御手段9は情報端末装置100を起動するために、ブート用RAM15、EEP ROM 5及びシリアルインターフェース部22との間でプログラム/データの授受を行なう。
【0029】
ブート制御手段9は内部に所定値を記憶するためのレジスタを有している。ここで、所定値とは、情報端末装置100を起動する前に、EEP ROM5のブートプログラム領域に記憶されているブートプログラムの書き替えを行なうか否かを判定するため、EEP ROM5のプログラム変更指示領域に記憶されているプログラム変更指示データと比較するための数値である。本実施形態では、所定値としてFFhという数値が記憶されている。
【0030】
ブート制御手段9は情報端末装置100の起動を開始する際、まず情報端末装置100にEEP ROM5が実装されているか否かの判定を行なう。そして、EEP ROM5が実装されている場合にはEEP ROM5からブートプログラムをブート用RAM15にロードし、EEP ROM5が実装されていない場合にはシリアルインターフェース部22からロードされた第二ブートプログラムをブート用RAM15にロードする。
【0031】
EEP ROM制御手段11は不揮発性メモリ制御手段であり、EEP ROM5に記憶されているプログラムやデータのロード、消去、セーブを行なう。NAND FLASH制御手段10はNAND FLASH ROM 4に記憶されている各種プログラム/データの読み取りおよび書き換えの制御を行なう。
【0032】
シリアルインターフェース制御手段12は、インターフェース制御手段であり、シリアルインターフェース部22による情報端末装置100と外部機器との間でのプログラム/データの授受の際、シリアルインターフェース部22と情報端末装置100の各構成要素とを仲介して、ロード/セーブの動作を行なう。
【0033】
さらに、シリアルインターフェース制御手段12は、情報端末装置100が起動する際、シリアルインターフェース部22が外部機器と接続しているか否かの確認を行ない、さらにシリアルインターフェース部22が外部機器と接続している場合には、上記外部機器を認識する。シリアルインターフェース部22が外部機器と接続しているか否かの確認及び外部機器の認識は、該当するインターフェースのプロトコールに従って実施する。
【0034】
また、シリアルインターフェース制御手段12は、ディスクや半導体メモリといった記憶媒体を備えた外部記憶装置がシリアルインターフェース部22に接続された状態で、該外部記憶装置から第二ブートプログラムをロードする。
【0035】
液晶ディスプレー制御手段14は、CPU1が演算して作成した画像データに基づいて液晶ディスプレー6を制御して画面表示を行なう。キーボード制御手段13はキーボード7のキーを押下する時に発生する押下信号を各キーに対応する文字、記号のデータに変換してCPU1に送信する。
【0036】
次に、図3のフローチャートを参照して、本発明に係るブートシステムを適用した情報端末装置100の起動動作について説明する。
【0037】
情報端末装置100の起動を行なう前の状態では、EEP ROM5のブートプログラム領域には第一ブートプログラムがブートプログラムとして記憶されている。
【0038】
情報端末装置100を起動するため、オペレータがパワースイッチ21をオンにする(ステップS1)と、ブート制御手段9が通電される。通電により、ブート制御手段9が作動し、ブートプログラムを確定するための動作を開始する。ブート制御手段9は、まずCPU1のリセット端子に与えるリセット信号をHにしてCPU1の動作を停止状態にする(ステップS2)。
【0039】
CPU1を停止した状態にした後、ブート制御手段9はEEP ROM5の接続認識を行なう(ステップS3)。上記接続認識は、EEP ROM制御手段11によって、EEP ROM5の未使用アドレスにデータを書き込み、引き続いてこのデータの読み取りを行なうことで行なう。
【0040】
ここで上記データの書き込みと読み取りが正常に行なえた場合には、ブート制御手段9はEEP ROM5が接続されていると認識してステップS4の処理に進む。ステップS4では、EEP ROM制御手段11により、EEP ROM5のプログラム変更指示領域に書き込まれたプログラム変更指示データが読み出され、確認が行われる。
【0041】
ここで読み取られたプログラム変更指示データが所定値(FFh)である場合には、ブートプログラムの変更の指示であるとして、ステップS6に移行し外部装置からのブートプログラムのロード処理に入る。一方プログラム変更指示データがFFh以外の数値の場合には、外部からのブートプログラムのロードはせずにステップS8に移行する。
【0042】
つまり、プログラム変更指示データの値がFFhの場合には、ブート制御手段9はEEP ROM5のブートプログラム領域に記憶された第一ブートプログラムを書き換えることが必要であると判定し、上記第一ブートプログラムを書き替えるため、シリアルインターフェース部22を通じて第二ブートプログラムをロードする。
【0043】
第二ブートプログラムの取り込みのため、まずシリアルインターフェース制御手段12はシリアルインターフェース部22に、第二ブートプログラムをロードするための外部記憶装置が接続されているか否かを、該当するインターフェースのプロトコールに従ってステップS6で確認する。
【0044】
外部記憶装置の接続が確認されない場合には、接続されるまで待機する。一方、外部記憶装置の接続が確認された場合には、ステップS7に移行し、外部記憶装置に記憶された第二ブートプログラムが、外部記憶装置から、シリアルインターフェース部22及びEEP ROM制御手段11を経由してEEP ROM5にロードされる。EEP ROM制御手段11はブートプログラム領域に記憶されている第一ブートプログラムを消去した後、引き続いて外部記憶装置からロードされた第二ブートプログラムをブートプログラム領域にセーブすることで、ブートプログラムの書き替えを行なう。
【0045】
ブートプログラムの書き替え後、EEP ROM制御手段11は先述のようにしてセーブされた第二ブートプログラムを、情報端末装置100を起動するためのブートプログラムとしてEEP ROM5からロードし、ブート制御手段9に送信する。ブート制御手段9は上記第二ブートプログラムをブート用RAM15に格納した後(ステップS8)、CPU1のリセット状態を解除する(ステップS9)。
【0046】
リセット状態が解除されたCPU1はブート制御手段9に対してチップ選択信号(CS信号)を送信する。CPU1からチップ選択信号を受信すると、ブート制御手段9を介してブート用RAM15に格納されているブートプログラムがCPU1に読み出され、CPU1がブートプログラムを実行することで情報端末装置100の起動が進行する(S10)。
【0047】
上述の動作によって情報端末装置100を起動させた際、ブートプログラム領域に記憶されたブートプログラムにバグや改良すべき点が見出された場合は、そのまま情報端末装置100の作動を終了させる。そして、ブートプログラムを情報端末装置100外部で修正後、この修正されたブートプログラムを外部記憶装置からロードしてEEP ROM5にセーブできる状態にしてから再び情報端末装置100のパワースイッチ21をオンにすることで、上述のブートプログラム書き替え動作を行なう。
【0048】
一方、上述の様にしてEEP ROM5にセーブされたブートプログラムに修正すべき点がない場合には、オペレータはキーボード7等を操作してEEP ROM5のプログラム変更指示領域に書き込まれているプログラム変更指示データをFFh以外の値に書き替えてから、情報端末装置100の動作を終了させる。
【0049】
プログラム変更指示データをFFh以外の値に書き替えて一旦パワースイッチ21をオフにした後、情報端末装置100の起動を開始すると、起動動作はステップS1からステップS5まで進行した後、ステップS8へ移行する。こうして、EEP ROM5のブートプログラム領域に記憶されたブートプログラムを書き替えることなく情報端末装置100の起動が進行する。
【0050】
情報端末装置100の開発過程によっては、プリント基板にEEP ROM5を実装することなく、情報端末装置100の起動を行なう場合がある。この場合には、シリアルインターフェース部22に接続された外部記憶装置に記憶された第二ブートプログラムを、EEP ROM5にセーブすることなく直接ブート用RAM15へロードすることで、情報端末装置100を起動することができる。
【0051】
オペレータがパワースイッチ21をオンにすると、ステップS2においてEEP ROM5は認識されないため、起動操作はステップS3からステップS11へと移行する。ステップS11では、ステップS6の場合と同様にしてシリアルインターフェース部22に外部記憶装置が接続されているか否かの確認を行なう。
【0052】
ステップS11で外部記憶装置の接続が確認されると、動作はステップS12に移行する。ステップS12では外部記憶装置から、シリアルインターフェース部22、シリアルインターフェース制御手段12を経由してブート用RAM15に第二ブートプログラムがロードされる。その後、動作はステップS9に移行して情報端末装置100の起動が進行する。
【0053】
この様に、本発明を適用した情報端末装置100では、EEP ROM5のブートプログラム領域に記憶された第一ブートプログラムを書き替える必要があるか否かの判断を、EEP ROM5のプログラム変更指示領域に記憶されたプログラム変更指示データを所定値と比較して行なうことで、情報端末装置100の起動を開始するごとに容易に上記判断を行なうことができる。
【0054】
それに加えて、ブートプログラム領域に記憶された第一ブートプログラムの書き替えが必要な場合には、該第一ブートプログラムを消去するとともに、シリアルインターフェース部22を介して外部記憶装置からロードされた第二ブートプログラムをブートプログラム領域にセーブするようにすることで、EEP ROM5が情報端末装置100に実装されたままでブートプログラムの書き替えを行なうことができる。
【0055】
このことで、情報端末装置100のブートプログラムにバグが発見されたり、改良すべき点が生じたりした場合には、EEP ROM5をプリント配線板から外したりするとなくブートプログラムの変更を行なうことができる。このことで、ブートプログラム変更に係る労力や経費を軽減することができる。よって、情報端末装置100の開発や改良に要する時間、経費をすることができる。
【0056】
また、EEP ROM5が情報端末装置100に実装されていない場合には、ブート制御手段9がそのことを認識するとともに、外部記憶装置からロードされた第二ブートプログラムを直接CPU1にロードすることで情報端末装置100を起動することができる。
【0057】
このことで、情報端末装置100の開発や改良において、ブートプログラムからのバグの除去といった頻繁にブートプログラムの変更を要する場合、ブートプログラムの修正と情報端末装置100の起動とを短時間で繰り返すことができる。よって、情報端末装置100の開発や改良に要する時間、経費をすることができる。
【0058】
〔第二の実施形態〕
次に、本発明の第二の実施形態に係るブートシステムを適用した情報端末装置100の構成及び動作について、図面を参照して説明する。なお、本実施形態において、第一の実施形態と共通の構成要素については同一の符号を付して詳細な説明を省略する。
【0059】
情報端末装置100は、図4に示すように、CPU1、ASIC2、RAM3、NAND FLASH ROM4、EEP ROM 5、液晶ディスプレー6、キーボード7、電源部8、ROM16、パワースイッチ21、シリアルインターフェース部22、データバス30等を備えて構成される。
【0060】
電源部8は情報端末装置100の各構成要素に電力を供給する。パワースイッチ21は電源部8のオンオフを行なう。データバス30は、CPU1、ASIC2、RAM3、ROM16、シリアルインターフェース部22等を結合する構成要素であり、これらの構成要素間でプログラム/データを授受するための経路をなす。
【0061】
CPU1は、演算手段であり、情報端末装置100が駆動するために必要な各種演算を行なうとともに、ASIC2を介して情報端末装置100の各構成要素を制御する。CPU1は情報端末装置100の起動時には、ブートプログラムに基づいて情報端末装置100の起動に必要な各種演算を行なう。
【0062】
NAND FLASH ROM4は、CPU1が情報端末装置100の駆動に係る演算を行なうのに必要なプログラム/データを格納する。RAM3は、CPU1が演算を行なう際、プログラムやデータを必要に応じて格納する。
【0063】
EEP ROM5は不揮発性メモリであり、電気的な操作によって記憶を書き替えることができる形態に形成され、ブートプログラムを記憶するブートプログラム領域やプログラム変更指示データを記憶するプログラム変更指示領域を有する。
【0064】
EEP ROM5はプログラム変更指示領域を有し、このプログラム変更指示領域にプログラム変更指示データを格納する。プログラム変更指示データは、EEP ROM5にまだブートプログラムがロードされていない状態やブートプログラムの変更を要する場合には所定値と等しいFFhに設定され、確定したブートプログラムがEEP ROM5に格納されている状態ではFFh以外の値に設定される。プログラム変更指示データの値は、ブートプログラムの確定時やブートプログラムの修正が必要になった時に、キーボード7等を用いてEEP ROM 制御手段11を操作することで書き替えられる。
【0065】
シリアルインターフェース部22は情報端末装置100と外部機器との間でプログラム/データの授受を行なうための構成要素である。
【0066】
ASIC2は図5に示すようにブート制御手段9、NAND FLASH制御手段10、EEP ROM制御手段11、シリアルインターフェース制御手段12、キーボード制御手段13、液晶ディスプレー制御手段14、ブート用RAM15等を備えて構成される。なお、図5では、ASIC2の各構成要素のうち、情報端末装置100を起動する際にプログラム/データの授受を行なう構成要素同士に限って矢印で結合するようにして描図を行なった。
【0067】
ASIC2はCPU1との間でデータの授受を行ない、CPU1から送信されたデータに基づいて情報端末装置100の各構成要素を制御する。さらに、ASIC2はパワースイッチ21がオンになった時、情報端末装置100を起動するための動作を行なう。
【0068】
ブート制御手段9は起動手段及び不揮発性メモリ認識手段として作動する構成要素である。ブート制御手段9には起動を開始する時、EEP ROM5からロードされたプログラム変更指示データと比較することでEEP ROM5に記憶されているブートプログラムの書き換えが必要か否かの判定を行なうための所定値を記憶したレジスタが備えられている。
【0069】
ブート制御手段9はパワースイッチ21がオフからオンに切り換えられて通電されることにより情報端末装置100を起動するための動作を行なう。また、第一の実施形態に適用されているブート制御手段9との相違点として、本実施形態に係るブート制御手段9は情報端末装置100の起動時にROM16に向けてチップ制御信号を送信できる構成になっている点があげられる。
【0070】
EEP ROM制御手段11は不揮発性メモリ制御手段であり、EEP ROM5に記憶されているブートプログラム及びプログラム変更指示データのロード、消去、セーブを行なう。NAND FLASH制御手段10はNAND FLASH ROM 4に記憶されている各種プログラム/データの読み取りおよび書き換えの制御を行なう。
【0071】
シリアルインターフェース制御手段12は、インターフェース制御手段であり、シリアルインターフェース部22と情報端末装置100の各構成要素とを仲介して、ロード/セーブの動作を行なう。さらに、シリアルインターフェース制御手段12は、情報端末装置100が起動する際、シリアルインターフェース部22が外部機器と接続しているか否かの確認を行なう。
【0072】
ROM16は副メモリであり、例えばマスクROMによって構成される。ROM16には、情報端末装置100の駆動に係るプログラムが格納されており、その1つとして第3のブートプログラムが格納されている。ROM16はデータバス30を介してCPU1やASIC2と接続されており、CPU1やブート制御手段9の制御によってプログラム/データを出力できる構成となっている。
【0073】
次に、図6のフローチャートを参照して、本発明に係るブートシステムを適用した情報端末装置100の起動動作について説明する。
【0074】
第2の実施例においても、EEP ROM5は情報端末装置100に実装されている状態において、情報端末装置100の起動を開始するときには、ブートプログラム領域に第一ブートプログラムがブートプログラムとして記憶されている。
【0075】
情報端末装置100を起動するため、オペレータがパワースイッチ21をオンにすると(ステップS21)、ブート制御手段9が通電され、情報端末装置100を起動するための動作を開始する。情報端末装置100にEEP ROM5が実装されており、EEP ROM5に記憶されたプログラム変更指示データが所定値であるFFhである場合には、情報端末装置100の起動動作は第一の実施形態の場合と同様に進行する。
【0076】
すなわち、CPU1のリセット状態への移行(ステップS22)、EEP ROM5が実装されているか否かの認識(ステップS23)、プログラム変更指示データと所定値との比較(ステップS24)、シリアルインターフェース部22に接続された外部記憶装置の認識(ステップS25)、上記外部記憶装置からの第二ブートプログラムのロードとそれに引き続く、ブートプログラム領域に記憶された第一ブートプログラムの消去及び該ブートプログラム領域への第二ブートプログラムのセーブをする(ステップS26)。
【0077】
引き続いて、EEP ROM5に新たに記憶された第二ブートプログラムをブート用RAM15にロードし(ステップS27)、引き続いてCPU1のリセット状態を解除し(ステップS28)、該第二ブートプログラムがCPU1により実行されることで情報端末装置100の起動が進行する(S29)。
【0078】
また、情報端末装置100にEEP ROM5が実装されており、且つEEP ROM5に記憶された第一ブートプログラムの変更が必要ない、すなわち、EEP ROM5に記憶されたプログラム変更指示データがFFh以外の値に設定されている場合には、起動動作はステップS21からS24まで進行した後、S27に移行する。そして、EEP ROM5のブートプログラム領域に記憶された第一ブートプログラムがブート用RAM15にロードされて起動動作が進行する。
【0079】
一方、情報端末装置100にEEP ROM5が実装されていない場合には、起動動作はステップS23からステップS30に移行する。ステップS30では、ブート制御手段9はROM16に対してチップ選択信号を出力する。そしてCPU1のリセットを解除すると(ステップS28)、ROM16に記憶された第三ブートプログラムがブートプログラムとしてCPU1により読み出され実行されることで起動動作が進行する。
【0080】
この様に、第二の実施形態に係る情報端末装置100では、第一の実施形態の場合と同様、EEP ROM5が実装されている状態で、EEP ROM5に記憶されているブートプログラムの変更が必要な場合には、EEP ROM5を取り外したりすることなく変更作業を行なうことができる。
【0081】
さらに、EEP ROM5が情報端末装置100に実装されていない場合には、ブート制御手段9がそのことを認識するとともに、EEP ROM5やASIC2とは別箇に設けられたROM16から第三ブートプログラムを直接CPU1に与えることで情報端末装置100を起動することができる。
【0082】
このことで、例えば情報端末装置100の開発において、新しいブートプログラムがまだ作成されていない段階では、従来の情報端末装置に適用されているブートプログラムを用いて情報端末装置100を起動することで、情報端末装置100の各構成要素の動作をチェックするといったことができる。このことで、情報端末装置100の開発の際、個々の構成要素の作成状況に応じて柔軟に開発を進行させることが容易となる。よって、情報端末装置100の開発に要する時間、経費をすることができる。
【0083】
なお、本発明に係るブートシステムは上述のものに限らない。本発明に係るブートシステムは情報端末装置100に適用されるものとは限らず、演算装置によって制御されるあらゆる形態の電子機器に適用可能である。
【0084】
また、本発明に係るブートシステムにおいて、不揮発性メモリはEEP ROMとは限らない。プログラム/データの書き替えが可能な不揮発性の記憶媒体ならば、磁気ディスクや光磁気ディスクといった記憶媒体を不揮発性メモリに適用することとしてもよい。また、副メモリの形態も設計事項であり、電子機器の開発、改良の進捗に応じて適宜選択される。
【0085】
【発明の効果】
請求項1に記載の発明によれば、ブートプログラムを記憶した不揮発性メモリを取り外したりすることなくブートプログラムの変更を行なうことができる。よって、電子機器の開発等の際、ブートプログラムの修正に要する時間や経費を軽減することができる。
【0086】
請求項2に記載の発明によれば、電子機器を起動する際、電子機器の外部からブートプログラムをロードできるようにすることで、電子機器の開発の際、ブートプログラムのバグ除去などの作業に要する時間や経費を軽減することができる。
【0087】
請求項3に記載の発明によれば、電子機器の開発の進捗状況に応じて電子機器の各構成要素の動作チェック等の作業を容易に行なえるようにすることで、電子機器の開発に要する時間や経費を軽減することができる。
【図面の簡単な説明】
【図1】本発明の第一の実施形態に係るブートシステムを適用した情報端末装置100の構成を示すブロック図である。
【図2】第一の実施形態に係る情報端末装置100に適用されるASIC2の構成を示すブロック図である。
【図3】第一の実施形態に係る情報端末装置100を起動させるための動作の流れを示すフローチャートである。
【図4】本発明の第二の実施形態に係るブートシステムを適用した情報端末装置100の構成を示すブロック図である。
【図5】第二の実施形態に係る情報端末装置100に適用されるASIC2の構成を示すブロック図である。
【図6】第二の実施形態に係る情報端末装置100を起動させるための動作の流れを示すフローチャートである。
【符号の説明】
1 CPU
2 ASIC
3 RAM
5 EEP ROM(不揮発性メモリ)
8 電源部
9 ブート制御手段(起動制御手段、不揮発性メモリ認識手段)
11 EEP ROM制御手段(不揮発性メモリ制御手段)
12 シリアルインターフェース制御手段(インターフェース制御手段)
15 ブート用ROM
30 データバス
100 情報端末装置
【発明の属する技術分野】
本発明は、コンピュータを起動させるためのブートプログラムの書き替えることが可能なブートシステムに関する。
【0002】
【従来の技術】
従来、電子機器を起動するブートシステムは、ブートプログラムが書き込まれたROMをプリント配線板に実装することで形成されていた。そして、電子機器を起動する際には、上記ROMに記憶されたブートプログラムがCPUに取り込まれることで、起動に係る動作が進行した。
【0003】
ここで、上記ROMとしては、製造段階でブートプログラムが書き込まれたマスクROMや、ROMライターによりブートプログラムが書き込まれたフラッシュROMが適用され、プリント配線板に実装されていた。
【0004】
【発明が解決しようとする課題】
従来のマスクROMを適用したブートシステムでは、電子機器の開発でブートプログラムの交換が必要になるたびにROMを交換しなければならなかった。そのため、プログラム変更の際には電子機器の分解や再組み立て、ROMの作成等のために膨大な時間や経費を必要としていた。
【0005】
また、フラッシュROMを適用した場合でも、従来のブートシステムではプリント基板にROMを実装した状態でブートプログラムを書き替えることができなかったため、ブートプログラム変更の際にはROMを一旦プリント基板から取り外してからROMライターでブートプログラムの書き替えを行なう必要があった。よって、この場合でもプログラム変更に係る手間と経費を膨大なものとしていた。
【0006】
本発明の課題は、電子機器を起動するためのブートシステムにおいて、ブートプログラムの変更を容易且つ安価に変更できるようにすることである。
【0007】
【課題を解決するための手段】
本発明は、このような課題を解決するため、次のような特徴を備えている。
【0008】
請求項1に記載の発明は、電子機器に備えられ、該電子機器を起動するためのブートシステムであって、ブートプログラムに基づいて前記電子機器を起動するための演算を行なう演算手段と、ブートプログラムとプログラム変更指示データを記憶する不揮発性メモリと、前記電子機器と外部装置とを接続するインターフェース手段と、前記不揮発性メモリに記憶されたプログラム変更指示データに基づき、前記電子機器の外部装置から前記インターフェース手段を通じてブートプログラムをロードして、前記不揮発性メモリのブートプログラムを書き換えるか否かを制御する不揮発性メモリ制御手段と、前記不揮発性メモリに記憶されたブートプログラムを前記演算手段にて実行させる起動手段と、を備えたことを特徴とする。
【0009】
請求項1に記載のブートシステムによれば、電子機器の機動を開始する時に、不揮発性メモリに記憶されているプログラム変更指示データに基づいてブートプログラムの書き替えをするか否か制御するようにしたので、不揮発性メモリが電子機器内部に実装されたままでブートプログラムの変更を行なうことができる。よって、電子機器を起動するためのブートプログラムの変更に係る経費と労力を軽減することができる。
【0010】
請求項2に記載の発明は、請求項1に記載のブートシステムであって、前記不揮発性メモリは取り外し可能であり、前記不揮発性メモリが実装されている状態と、該不揮発性メモリが取り外されている状態との認識を行なう不揮発性メモリ認識手段を備え、前記不揮発性メモリ認識手段が、不揮発性メモリが取り外されていると認識した場合には、前記起動手段は前記電子機器の外部装置から前記インターフェース手段を通じてブートプログラムを前記演算手段に読み込ませるようにしたことを特徴とする。
【0011】
請求項2に記載の発明によれば、電子機器に不揮発性メモリが実装されていない状態では、インターフェース手段を通じて外部から演算手段へ、ブートプログラムが読み込まれるようになるので、電子機器の開発において、ブートプログラムからバグを除去する段階のようなブートプログラムを変更を頻繁に行なうような場合において、ROM等の不揮発性メモリを作成することなく電子機器を起動することができる。よって、電子機器のブートプログラムの変更を容易にして、電子機器の開発に係る経費や時間を軽減することができる。
【0012】
請求項3に記載の発明は、請求項1に記載のブートシステムであって、前記不揮発性メモリは取り外し可能であり、前記不揮発性メモリが実装されている状態と、該不揮発性メモリが取り外されている状態との認識を行なう不揮発性メモリ認識手段と、ブートプログラムを記憶した副メモリと、を備え、前記不揮発性メモリ認識手段が、前記不揮発性メモリが取り外されていると認識した場合には、前記起動手段は前記副メモリからブートプログラムを前記演算手段に読み込ませるようにしたことを特徴とする。
【0013】
請求項3に記載の発明によれば、電子機器に不揮発性メモリが実装されていない状態では、別箇に設置された副メモリから演算手段へ、ブートプログラムを直接読み込ませるので、電子機器の開発において、ブートプログラムがまだ作成されていない段階では、従来の電子機器に適用されていたブートプログラムで電子機器を起動したりするといった操作が可能となる。よって、電子機器の各構成要素の作成の進捗状況に応じて動作チェック等の作業を行なうことが容易となり、電子機器の開発に係る経費や時間を軽減することができる。
【0014】
【発明の実施の形態】
〔第一の実施形態〕
以下、図面を参照して本発明の第一の実施形態に係るブートシステムを適用した情報端末装置100について説明する。なお、本明細書では、本発明に係るブートシステムによって情報端末装置100を起動するために作成された、第一ブートプログラム、第二ブートプログラム及び第三ブートプログラムといったプログラムを総称する場合にはブートプログラムという名称を用いる。
【0015】
情報端末装置100は、CPU1、ASIC(Application Specified IC)2、RAM3、NAND FLASH ROM4、EEP ROM(Electrically Erasable Programmable ROM)5、液晶ディスプレー6、キーボード7、電源部8、パワースイッチ21、シリアルインターフェース部22、データバス30等を備えて構成される。
【0016】
電源部8は情報端末装置100の各構成要素に電力を供給する。パワースイッチ21はオペレータやユーザの操作によって、電源部8から情報端末装置100の各構成要素に供給される電力のオンオフを行なう。データバス30は、CPU1、ASIC2、RAM3、シリアルインターフェース制御手段12等を結合する構成要素であり、これらの構成要素間でプログラム/データを授受するための経路をなす。
【0017】
CPU1は、演算手段であり、情報端末装置100が駆動するために必要な各種演算を行なうとともに、ASIC2にデータを送信し、このASIC2を介して情報端末装置100の各構成要素を制御する。CPU1は情報端末装置100の起動時には、後述するブート制御手段9に接続されたBOOT用RAM15に記憶されたブートプログラムに基づいて、情報端末装置100の起動に必要な各種演算を行なう。
【0018】
CPU1は図示しないリセット端子を有する。このリセット端子はCPU1が各種演算を行なう場合には信号レベルがLに保たれる。一方、リセット端子の信号レベルをHの状態に移行すると、CPU1はリセット状態となり、他の端子から入力される信号に関係なくCPU1の動作が停止する。
【0019】
NAND FLASH ROM4は、CPU1が情報端末装置100の駆動に係る演算を行なうのに必要なプログラム/データを格納する。NAND FLASH ROM4に格納されたプログラム/データは、必要に応じ、シリアルインターフェース部22を介して入力されたプログラム/データに書き替えられる。RAM3は、CPU1が情報端末装置100の駆動に係る演算を行なう際、プログラムやデータを必要に応じて格納する。
【0020】
液晶ディスプレー6は液晶表示画面を備えて構成されており、CPU1が送信するデータに基づいた液晶ディスプレー制御手段14による制御によって画面を表示する。キーボード7はカーソルキー、数字入力キー及び各種機能キー等を備えて構成され、押下されたキーの押下信号を後述するキーボード制御手段13を介してCPU1に送信する。
【0021】
EEP ROM5は不揮発性メモリであり、電気的な操作によって記憶を書き替えることができる形態に形成され、ブートプログラム領域と、プログラム変更指示領域と、を有して構成される。ブートプログラム領域はブートプログラムとして第一ブートプログラム/第二ブートプログラムを記憶する。また、プログラム変更指示領域はプログラム変更指示データを記憶する。
【0022】
EEP ROM5のプログラム変更指示領域に記憶されたプログラム変更指示データは、パワースイッチ21をオンにすることで情報端末装置100が起動開始される時、後述するEEP ROM制御手段11によって読み出され、所定の値であるかが判断され、ブートプログラムを外部からロードする必要があるか否かの判定に利用される。
【0023】
情報端末装置100の製造のためにEEP ROM5を実装する時点でEEP ROM5にブートプログラムが書き込まれていない場合には、プログラム変更指示領域にはプログラム変更指示データとして後述する所定値(FFh)が予め書き込まれている。そして、実装後、EEP ROM5にブートプログラムを書き込む際に、このプログラム変更指示データはFFh以外の数値に書き替えられる。一方、EEP ROM5にブートプログラムを書き込んでから実装する場合には、プログラム変更指示データとしてFFh以外の数値がプログラム変更指示領域に書き込まれる。ここで、FFhとは16進数表記の数値であり、10進数の255に相当する。
【0024】
また、情報端末装置100の組み立て後、EEP ROM5にブートプログラムの変更を行なう場合には、予めEEP ROM制御手段11を用いてプログラム変更指示データをFFhに書き替えてから後述するようにしてブートプログラムの書き替えを行なう。
【0025】
シリアルインターフェース部22は情報端末装置100とディスクドライブ等の外部機器との間でプログラム/データの授受を行なうための構成要素であり、コネクタ等を備えて構成される。
【0026】
ASIC2はブート制御手段9、NAND FLASH制御手段10、EEP ROM制御手段11、シリアルインターフェース制御手段12、キーボード制御手段13、液晶ディスプレー制御手段14、ブート用RAM15等を備えて構成される。ASIC2はCPU1との間でデータの授受を行ない、CPU1から送信されたデータに基づいて情報端末装置100の各構成要素を制御する。
【0027】
さらに、ASIC2はパワースイッチ21がオンになった際、情報端末装置100を起動するための動作を行なう。なお、図2では、ASIC2の各構成要素のうち、情報端末装置100を起動する際にプログラム/データの授受を行なう構成要素同士に限って矢印で結合するようにして描図を行なった。
【0028】
ブート制御手段9は起動手段及び不揮発性メモリ認識手段として作動する構成要素である。ブート制御手段9は、パワースイッチ21がオフからオンに切り換えられて通電されることによりブートプラグラムを確定する動作を行なう。ブート制御手段9は情報端末装置100を起動するために、ブート用RAM15、EEP ROM 5及びシリアルインターフェース部22との間でプログラム/データの授受を行なう。
【0029】
ブート制御手段9は内部に所定値を記憶するためのレジスタを有している。ここで、所定値とは、情報端末装置100を起動する前に、EEP ROM5のブートプログラム領域に記憶されているブートプログラムの書き替えを行なうか否かを判定するため、EEP ROM5のプログラム変更指示領域に記憶されているプログラム変更指示データと比較するための数値である。本実施形態では、所定値としてFFhという数値が記憶されている。
【0030】
ブート制御手段9は情報端末装置100の起動を開始する際、まず情報端末装置100にEEP ROM5が実装されているか否かの判定を行なう。そして、EEP ROM5が実装されている場合にはEEP ROM5からブートプログラムをブート用RAM15にロードし、EEP ROM5が実装されていない場合にはシリアルインターフェース部22からロードされた第二ブートプログラムをブート用RAM15にロードする。
【0031】
EEP ROM制御手段11は不揮発性メモリ制御手段であり、EEP ROM5に記憶されているプログラムやデータのロード、消去、セーブを行なう。NAND FLASH制御手段10はNAND FLASH ROM 4に記憶されている各種プログラム/データの読み取りおよび書き換えの制御を行なう。
【0032】
シリアルインターフェース制御手段12は、インターフェース制御手段であり、シリアルインターフェース部22による情報端末装置100と外部機器との間でのプログラム/データの授受の際、シリアルインターフェース部22と情報端末装置100の各構成要素とを仲介して、ロード/セーブの動作を行なう。
【0033】
さらに、シリアルインターフェース制御手段12は、情報端末装置100が起動する際、シリアルインターフェース部22が外部機器と接続しているか否かの確認を行ない、さらにシリアルインターフェース部22が外部機器と接続している場合には、上記外部機器を認識する。シリアルインターフェース部22が外部機器と接続しているか否かの確認及び外部機器の認識は、該当するインターフェースのプロトコールに従って実施する。
【0034】
また、シリアルインターフェース制御手段12は、ディスクや半導体メモリといった記憶媒体を備えた外部記憶装置がシリアルインターフェース部22に接続された状態で、該外部記憶装置から第二ブートプログラムをロードする。
【0035】
液晶ディスプレー制御手段14は、CPU1が演算して作成した画像データに基づいて液晶ディスプレー6を制御して画面表示を行なう。キーボード制御手段13はキーボード7のキーを押下する時に発生する押下信号を各キーに対応する文字、記号のデータに変換してCPU1に送信する。
【0036】
次に、図3のフローチャートを参照して、本発明に係るブートシステムを適用した情報端末装置100の起動動作について説明する。
【0037】
情報端末装置100の起動を行なう前の状態では、EEP ROM5のブートプログラム領域には第一ブートプログラムがブートプログラムとして記憶されている。
【0038】
情報端末装置100を起動するため、オペレータがパワースイッチ21をオンにする(ステップS1)と、ブート制御手段9が通電される。通電により、ブート制御手段9が作動し、ブートプログラムを確定するための動作を開始する。ブート制御手段9は、まずCPU1のリセット端子に与えるリセット信号をHにしてCPU1の動作を停止状態にする(ステップS2)。
【0039】
CPU1を停止した状態にした後、ブート制御手段9はEEP ROM5の接続認識を行なう(ステップS3)。上記接続認識は、EEP ROM制御手段11によって、EEP ROM5の未使用アドレスにデータを書き込み、引き続いてこのデータの読み取りを行なうことで行なう。
【0040】
ここで上記データの書き込みと読み取りが正常に行なえた場合には、ブート制御手段9はEEP ROM5が接続されていると認識してステップS4の処理に進む。ステップS4では、EEP ROM制御手段11により、EEP ROM5のプログラム変更指示領域に書き込まれたプログラム変更指示データが読み出され、確認が行われる。
【0041】
ここで読み取られたプログラム変更指示データが所定値(FFh)である場合には、ブートプログラムの変更の指示であるとして、ステップS6に移行し外部装置からのブートプログラムのロード処理に入る。一方プログラム変更指示データがFFh以外の数値の場合には、外部からのブートプログラムのロードはせずにステップS8に移行する。
【0042】
つまり、プログラム変更指示データの値がFFhの場合には、ブート制御手段9はEEP ROM5のブートプログラム領域に記憶された第一ブートプログラムを書き換えることが必要であると判定し、上記第一ブートプログラムを書き替えるため、シリアルインターフェース部22を通じて第二ブートプログラムをロードする。
【0043】
第二ブートプログラムの取り込みのため、まずシリアルインターフェース制御手段12はシリアルインターフェース部22に、第二ブートプログラムをロードするための外部記憶装置が接続されているか否かを、該当するインターフェースのプロトコールに従ってステップS6で確認する。
【0044】
外部記憶装置の接続が確認されない場合には、接続されるまで待機する。一方、外部記憶装置の接続が確認された場合には、ステップS7に移行し、外部記憶装置に記憶された第二ブートプログラムが、外部記憶装置から、シリアルインターフェース部22及びEEP ROM制御手段11を経由してEEP ROM5にロードされる。EEP ROM制御手段11はブートプログラム領域に記憶されている第一ブートプログラムを消去した後、引き続いて外部記憶装置からロードされた第二ブートプログラムをブートプログラム領域にセーブすることで、ブートプログラムの書き替えを行なう。
【0045】
ブートプログラムの書き替え後、EEP ROM制御手段11は先述のようにしてセーブされた第二ブートプログラムを、情報端末装置100を起動するためのブートプログラムとしてEEP ROM5からロードし、ブート制御手段9に送信する。ブート制御手段9は上記第二ブートプログラムをブート用RAM15に格納した後(ステップS8)、CPU1のリセット状態を解除する(ステップS9)。
【0046】
リセット状態が解除されたCPU1はブート制御手段9に対してチップ選択信号(CS信号)を送信する。CPU1からチップ選択信号を受信すると、ブート制御手段9を介してブート用RAM15に格納されているブートプログラムがCPU1に読み出され、CPU1がブートプログラムを実行することで情報端末装置100の起動が進行する(S10)。
【0047】
上述の動作によって情報端末装置100を起動させた際、ブートプログラム領域に記憶されたブートプログラムにバグや改良すべき点が見出された場合は、そのまま情報端末装置100の作動を終了させる。そして、ブートプログラムを情報端末装置100外部で修正後、この修正されたブートプログラムを外部記憶装置からロードしてEEP ROM5にセーブできる状態にしてから再び情報端末装置100のパワースイッチ21をオンにすることで、上述のブートプログラム書き替え動作を行なう。
【0048】
一方、上述の様にしてEEP ROM5にセーブされたブートプログラムに修正すべき点がない場合には、オペレータはキーボード7等を操作してEEP ROM5のプログラム変更指示領域に書き込まれているプログラム変更指示データをFFh以外の値に書き替えてから、情報端末装置100の動作を終了させる。
【0049】
プログラム変更指示データをFFh以外の値に書き替えて一旦パワースイッチ21をオフにした後、情報端末装置100の起動を開始すると、起動動作はステップS1からステップS5まで進行した後、ステップS8へ移行する。こうして、EEP ROM5のブートプログラム領域に記憶されたブートプログラムを書き替えることなく情報端末装置100の起動が進行する。
【0050】
情報端末装置100の開発過程によっては、プリント基板にEEP ROM5を実装することなく、情報端末装置100の起動を行なう場合がある。この場合には、シリアルインターフェース部22に接続された外部記憶装置に記憶された第二ブートプログラムを、EEP ROM5にセーブすることなく直接ブート用RAM15へロードすることで、情報端末装置100を起動することができる。
【0051】
オペレータがパワースイッチ21をオンにすると、ステップS2においてEEP ROM5は認識されないため、起動操作はステップS3からステップS11へと移行する。ステップS11では、ステップS6の場合と同様にしてシリアルインターフェース部22に外部記憶装置が接続されているか否かの確認を行なう。
【0052】
ステップS11で外部記憶装置の接続が確認されると、動作はステップS12に移行する。ステップS12では外部記憶装置から、シリアルインターフェース部22、シリアルインターフェース制御手段12を経由してブート用RAM15に第二ブートプログラムがロードされる。その後、動作はステップS9に移行して情報端末装置100の起動が進行する。
【0053】
この様に、本発明を適用した情報端末装置100では、EEP ROM5のブートプログラム領域に記憶された第一ブートプログラムを書き替える必要があるか否かの判断を、EEP ROM5のプログラム変更指示領域に記憶されたプログラム変更指示データを所定値と比較して行なうことで、情報端末装置100の起動を開始するごとに容易に上記判断を行なうことができる。
【0054】
それに加えて、ブートプログラム領域に記憶された第一ブートプログラムの書き替えが必要な場合には、該第一ブートプログラムを消去するとともに、シリアルインターフェース部22を介して外部記憶装置からロードされた第二ブートプログラムをブートプログラム領域にセーブするようにすることで、EEP ROM5が情報端末装置100に実装されたままでブートプログラムの書き替えを行なうことができる。
【0055】
このことで、情報端末装置100のブートプログラムにバグが発見されたり、改良すべき点が生じたりした場合には、EEP ROM5をプリント配線板から外したりするとなくブートプログラムの変更を行なうことができる。このことで、ブートプログラム変更に係る労力や経費を軽減することができる。よって、情報端末装置100の開発や改良に要する時間、経費をすることができる。
【0056】
また、EEP ROM5が情報端末装置100に実装されていない場合には、ブート制御手段9がそのことを認識するとともに、外部記憶装置からロードされた第二ブートプログラムを直接CPU1にロードすることで情報端末装置100を起動することができる。
【0057】
このことで、情報端末装置100の開発や改良において、ブートプログラムからのバグの除去といった頻繁にブートプログラムの変更を要する場合、ブートプログラムの修正と情報端末装置100の起動とを短時間で繰り返すことができる。よって、情報端末装置100の開発や改良に要する時間、経費をすることができる。
【0058】
〔第二の実施形態〕
次に、本発明の第二の実施形態に係るブートシステムを適用した情報端末装置100の構成及び動作について、図面を参照して説明する。なお、本実施形態において、第一の実施形態と共通の構成要素については同一の符号を付して詳細な説明を省略する。
【0059】
情報端末装置100は、図4に示すように、CPU1、ASIC2、RAM3、NAND FLASH ROM4、EEP ROM 5、液晶ディスプレー6、キーボード7、電源部8、ROM16、パワースイッチ21、シリアルインターフェース部22、データバス30等を備えて構成される。
【0060】
電源部8は情報端末装置100の各構成要素に電力を供給する。パワースイッチ21は電源部8のオンオフを行なう。データバス30は、CPU1、ASIC2、RAM3、ROM16、シリアルインターフェース部22等を結合する構成要素であり、これらの構成要素間でプログラム/データを授受するための経路をなす。
【0061】
CPU1は、演算手段であり、情報端末装置100が駆動するために必要な各種演算を行なうとともに、ASIC2を介して情報端末装置100の各構成要素を制御する。CPU1は情報端末装置100の起動時には、ブートプログラムに基づいて情報端末装置100の起動に必要な各種演算を行なう。
【0062】
NAND FLASH ROM4は、CPU1が情報端末装置100の駆動に係る演算を行なうのに必要なプログラム/データを格納する。RAM3は、CPU1が演算を行なう際、プログラムやデータを必要に応じて格納する。
【0063】
EEP ROM5は不揮発性メモリであり、電気的な操作によって記憶を書き替えることができる形態に形成され、ブートプログラムを記憶するブートプログラム領域やプログラム変更指示データを記憶するプログラム変更指示領域を有する。
【0064】
EEP ROM5はプログラム変更指示領域を有し、このプログラム変更指示領域にプログラム変更指示データを格納する。プログラム変更指示データは、EEP ROM5にまだブートプログラムがロードされていない状態やブートプログラムの変更を要する場合には所定値と等しいFFhに設定され、確定したブートプログラムがEEP ROM5に格納されている状態ではFFh以外の値に設定される。プログラム変更指示データの値は、ブートプログラムの確定時やブートプログラムの修正が必要になった時に、キーボード7等を用いてEEP ROM 制御手段11を操作することで書き替えられる。
【0065】
シリアルインターフェース部22は情報端末装置100と外部機器との間でプログラム/データの授受を行なうための構成要素である。
【0066】
ASIC2は図5に示すようにブート制御手段9、NAND FLASH制御手段10、EEP ROM制御手段11、シリアルインターフェース制御手段12、キーボード制御手段13、液晶ディスプレー制御手段14、ブート用RAM15等を備えて構成される。なお、図5では、ASIC2の各構成要素のうち、情報端末装置100を起動する際にプログラム/データの授受を行なう構成要素同士に限って矢印で結合するようにして描図を行なった。
【0067】
ASIC2はCPU1との間でデータの授受を行ない、CPU1から送信されたデータに基づいて情報端末装置100の各構成要素を制御する。さらに、ASIC2はパワースイッチ21がオンになった時、情報端末装置100を起動するための動作を行なう。
【0068】
ブート制御手段9は起動手段及び不揮発性メモリ認識手段として作動する構成要素である。ブート制御手段9には起動を開始する時、EEP ROM5からロードされたプログラム変更指示データと比較することでEEP ROM5に記憶されているブートプログラムの書き換えが必要か否かの判定を行なうための所定値を記憶したレジスタが備えられている。
【0069】
ブート制御手段9はパワースイッチ21がオフからオンに切り換えられて通電されることにより情報端末装置100を起動するための動作を行なう。また、第一の実施形態に適用されているブート制御手段9との相違点として、本実施形態に係るブート制御手段9は情報端末装置100の起動時にROM16に向けてチップ制御信号を送信できる構成になっている点があげられる。
【0070】
EEP ROM制御手段11は不揮発性メモリ制御手段であり、EEP ROM5に記憶されているブートプログラム及びプログラム変更指示データのロード、消去、セーブを行なう。NAND FLASH制御手段10はNAND FLASH ROM 4に記憶されている各種プログラム/データの読み取りおよび書き換えの制御を行なう。
【0071】
シリアルインターフェース制御手段12は、インターフェース制御手段であり、シリアルインターフェース部22と情報端末装置100の各構成要素とを仲介して、ロード/セーブの動作を行なう。さらに、シリアルインターフェース制御手段12は、情報端末装置100が起動する際、シリアルインターフェース部22が外部機器と接続しているか否かの確認を行なう。
【0072】
ROM16は副メモリであり、例えばマスクROMによって構成される。ROM16には、情報端末装置100の駆動に係るプログラムが格納されており、その1つとして第3のブートプログラムが格納されている。ROM16はデータバス30を介してCPU1やASIC2と接続されており、CPU1やブート制御手段9の制御によってプログラム/データを出力できる構成となっている。
【0073】
次に、図6のフローチャートを参照して、本発明に係るブートシステムを適用した情報端末装置100の起動動作について説明する。
【0074】
第2の実施例においても、EEP ROM5は情報端末装置100に実装されている状態において、情報端末装置100の起動を開始するときには、ブートプログラム領域に第一ブートプログラムがブートプログラムとして記憶されている。
【0075】
情報端末装置100を起動するため、オペレータがパワースイッチ21をオンにすると(ステップS21)、ブート制御手段9が通電され、情報端末装置100を起動するための動作を開始する。情報端末装置100にEEP ROM5が実装されており、EEP ROM5に記憶されたプログラム変更指示データが所定値であるFFhである場合には、情報端末装置100の起動動作は第一の実施形態の場合と同様に進行する。
【0076】
すなわち、CPU1のリセット状態への移行(ステップS22)、EEP ROM5が実装されているか否かの認識(ステップS23)、プログラム変更指示データと所定値との比較(ステップS24)、シリアルインターフェース部22に接続された外部記憶装置の認識(ステップS25)、上記外部記憶装置からの第二ブートプログラムのロードとそれに引き続く、ブートプログラム領域に記憶された第一ブートプログラムの消去及び該ブートプログラム領域への第二ブートプログラムのセーブをする(ステップS26)。
【0077】
引き続いて、EEP ROM5に新たに記憶された第二ブートプログラムをブート用RAM15にロードし(ステップS27)、引き続いてCPU1のリセット状態を解除し(ステップS28)、該第二ブートプログラムがCPU1により実行されることで情報端末装置100の起動が進行する(S29)。
【0078】
また、情報端末装置100にEEP ROM5が実装されており、且つEEP ROM5に記憶された第一ブートプログラムの変更が必要ない、すなわち、EEP ROM5に記憶されたプログラム変更指示データがFFh以外の値に設定されている場合には、起動動作はステップS21からS24まで進行した後、S27に移行する。そして、EEP ROM5のブートプログラム領域に記憶された第一ブートプログラムがブート用RAM15にロードされて起動動作が進行する。
【0079】
一方、情報端末装置100にEEP ROM5が実装されていない場合には、起動動作はステップS23からステップS30に移行する。ステップS30では、ブート制御手段9はROM16に対してチップ選択信号を出力する。そしてCPU1のリセットを解除すると(ステップS28)、ROM16に記憶された第三ブートプログラムがブートプログラムとしてCPU1により読み出され実行されることで起動動作が進行する。
【0080】
この様に、第二の実施形態に係る情報端末装置100では、第一の実施形態の場合と同様、EEP ROM5が実装されている状態で、EEP ROM5に記憶されているブートプログラムの変更が必要な場合には、EEP ROM5を取り外したりすることなく変更作業を行なうことができる。
【0081】
さらに、EEP ROM5が情報端末装置100に実装されていない場合には、ブート制御手段9がそのことを認識するとともに、EEP ROM5やASIC2とは別箇に設けられたROM16から第三ブートプログラムを直接CPU1に与えることで情報端末装置100を起動することができる。
【0082】
このことで、例えば情報端末装置100の開発において、新しいブートプログラムがまだ作成されていない段階では、従来の情報端末装置に適用されているブートプログラムを用いて情報端末装置100を起動することで、情報端末装置100の各構成要素の動作をチェックするといったことができる。このことで、情報端末装置100の開発の際、個々の構成要素の作成状況に応じて柔軟に開発を進行させることが容易となる。よって、情報端末装置100の開発に要する時間、経費をすることができる。
【0083】
なお、本発明に係るブートシステムは上述のものに限らない。本発明に係るブートシステムは情報端末装置100に適用されるものとは限らず、演算装置によって制御されるあらゆる形態の電子機器に適用可能である。
【0084】
また、本発明に係るブートシステムにおいて、不揮発性メモリはEEP ROMとは限らない。プログラム/データの書き替えが可能な不揮発性の記憶媒体ならば、磁気ディスクや光磁気ディスクといった記憶媒体を不揮発性メモリに適用することとしてもよい。また、副メモリの形態も設計事項であり、電子機器の開発、改良の進捗に応じて適宜選択される。
【0085】
【発明の効果】
請求項1に記載の発明によれば、ブートプログラムを記憶した不揮発性メモリを取り外したりすることなくブートプログラムの変更を行なうことができる。よって、電子機器の開発等の際、ブートプログラムの修正に要する時間や経費を軽減することができる。
【0086】
請求項2に記載の発明によれば、電子機器を起動する際、電子機器の外部からブートプログラムをロードできるようにすることで、電子機器の開発の際、ブートプログラムのバグ除去などの作業に要する時間や経費を軽減することができる。
【0087】
請求項3に記載の発明によれば、電子機器の開発の進捗状況に応じて電子機器の各構成要素の動作チェック等の作業を容易に行なえるようにすることで、電子機器の開発に要する時間や経費を軽減することができる。
【図面の簡単な説明】
【図1】本発明の第一の実施形態に係るブートシステムを適用した情報端末装置100の構成を示すブロック図である。
【図2】第一の実施形態に係る情報端末装置100に適用されるASIC2の構成を示すブロック図である。
【図3】第一の実施形態に係る情報端末装置100を起動させるための動作の流れを示すフローチャートである。
【図4】本発明の第二の実施形態に係るブートシステムを適用した情報端末装置100の構成を示すブロック図である。
【図5】第二の実施形態に係る情報端末装置100に適用されるASIC2の構成を示すブロック図である。
【図6】第二の実施形態に係る情報端末装置100を起動させるための動作の流れを示すフローチャートである。
【符号の説明】
1 CPU
2 ASIC
3 RAM
5 EEP ROM(不揮発性メモリ)
8 電源部
9 ブート制御手段(起動制御手段、不揮発性メモリ認識手段)
11 EEP ROM制御手段(不揮発性メモリ制御手段)
12 シリアルインターフェース制御手段(インターフェース制御手段)
15 ブート用ROM
30 データバス
100 情報端末装置
Claims (3)
- 電子機器に備えられ、該電子機器を起動するためのブートシステムであって、ブートプログラムに基づいて前記電子機器を起動するための演算を行なう演算手段と、
ブートプログラムとプログラム変更指示データを記憶する不揮発性メモリと、
前記電子機器と外部装置とを接続するインターフェース手段と、
前記不揮発性メモリに記憶されたプログラム変更指示データに基づき、前記電子機器の外部装置から前記インターフェース手段を通じてブートプログラムをロードして、前記不揮発性メモリのブートプログラムを書き換えるか否かを制御する不揮発性メモリ制御手段と、
前記不揮発性メモリに記憶されたブートプログラムを前記演算手段にて実行させる起動手段と、を備えたことを特徴とするブートシステム。 - 前記不揮発性メモリは取り外し可能であり、
前記不揮発性メモリが実装されている状態と、該不揮発性メモリが取り外されている状態との認識を行なう不揮発性メモリ認識手段を備え、
前記不揮発性メモリ認識手段が、不揮発性メモリが取り外されていると認識した場合には、前記起動手段は前記電子機器の外部装置から前記インターフェース手段を通じてブートプログラムを前記演算手段に読み込ませるようにしたことを特徴とする請求項1に記載のブートシステム。 - 前記不揮発性メモリは取り外し可能であり、
前記不揮発性メモリが実装されている状態と、該不揮発性メモリが取り外されている状態との認識を行なう不揮発性メモリ認識手段と、
ブートプログラムを記憶した副メモリと、を備え、
前記不揮発性メモリ認識手段が、前記不揮発性メモリが取り外されていると認識した場合には、前記起動手段は前記副メモリからブートプログラムを前記演算手段に読み込ませるようにしたことを特徴とする請求項1に記載のブートシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002192071A JP2004038374A (ja) | 2002-07-01 | 2002-07-01 | ブートシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002192071A JP2004038374A (ja) | 2002-07-01 | 2002-07-01 | ブートシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004038374A true JP2004038374A (ja) | 2004-02-05 |
Family
ID=31701465
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002192071A Pending JP2004038374A (ja) | 2002-07-01 | 2002-07-01 | ブートシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004038374A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100370422C (zh) * | 2005-10-13 | 2008-02-20 | 华为技术有限公司 | 设备启动方法 |
JP2008257415A (ja) * | 2007-04-04 | 2008-10-23 | Yokogawa Electric Corp | プログラム書き込み機能を有するコントローラ |
-
2002
- 2002-07-01 JP JP2002192071A patent/JP2004038374A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100370422C (zh) * | 2005-10-13 | 2008-02-20 | 华为技术有限公司 | 设备启动方法 |
JP2008257415A (ja) * | 2007-04-04 | 2008-10-23 | Yokogawa Electric Corp | プログラム書き込み機能を有するコントローラ |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4768237B2 (ja) | 携帯可能電子装置及び携帯可能電子装置の制御方法 | |
JPH08101751A (ja) | Pcカード及びpcカードシステム | |
US20060047938A1 (en) | Method and apparatus to initialize CPU | |
KR19990041698A (ko) | 고정된 플래시 롬의 데이터 갱신이 가능한 컴퓨터 시스템 및 그 제어 방법 | |
US5933595A (en) | Computer apparatus having electrically rewritable nonvolatile memory, and nonvolatile semiconductor memory | |
US6543008B1 (en) | Computer system and program rewriting method | |
JP2004038374A (ja) | ブートシステム | |
JPH06314202A (ja) | 画像形成装置 | |
JPS59107491A (ja) | Icカ−ド | |
JP2002175193A (ja) | プログラム書き換え装置及びプログラム書き換え方法 | |
JPH1027105A (ja) | 起動用のプログラムをフラッシュromに格納するマイコン装置 | |
JP2001344156A (ja) | フラッシュメモリを有する装置およびデータの書き換え方法 | |
JPH1011277A (ja) | 電気的書換え可能な不揮発性メモリを備えるコンピュータ装置および不揮発性半導体メモリ | |
JPH05274157A (ja) | 画像形成装置 | |
JPH10283172A (ja) | フラッシュromデータ書き換え方式 | |
JP2005128613A (ja) | 画像形成装置 | |
US20240231833A9 (en) | Download method of program to settlement terminal and settlement terminal | |
JP2006252278A (ja) | マイクロコンピュータ | |
JPH11149377A (ja) | 画像形成装置 | |
JPH06139064A (ja) | 電子機器のバグ対策装置 | |
JPH09305394A (ja) | 電子機器 | |
JPH11272642A (ja) | 1チップマイクロコンピュータ及び起動アドレス設定方法 | |
JP2738611B2 (ja) | 電子装置 | |
JP2001209542A (ja) | 情報処理装置 | |
JPH11175060A (ja) | 電子楽器 |