(57)【要約】【課題】ハードウェア個別に作成していた専用ＢＯＯＴプログラム作成のための工数を削減すること。【解決手段】ＣＰＵ１は、ＳＤＲＡＭコントローラ１１と動作周波数設定コントローラ１２により、ＩＮオーダー用回路群４のＩＮオーダーで取得するＲＡＭサイズ情報と入力クロック周波数値を元にしてＲＯＭ３の共通ＢＯＯＴプログラム３１が動作するためのＳＤＲＡＭ２を動作可能とする。【選択図】図１
2007183871.tif 000002
【特許請求の範囲】
【請求項１】
ハードウェアに組み込まれた情報に基づいて共通ＢＯＯＴプログラムが動作するためのワークエリアを動作可能とすることを特徴とする起動装置。
【請求項２】
ＩＮオーダーで取得するＲＡＭサイズ情報と入力クロック周波数値を元にして共通ＢＯＯＴプログラムが動作するためのＲＡＭを動作可能とすることを特徴とする起動装置。
【請求項３】
共通ＢＯＯＴプログラムの使用するデバイス以外のデバイスがＣＰＵに対して外部割り込みを発生しないことを特徴とする請求項１または２記載の起動装置。
【請求項４】
ハードウェアに組み込まれた情報に基づいて共通ＢＯＯＴプログラムが動作するためのワークエリアを動作可能とすることを特徴とする起動回路。
【請求項５】
ＩＮオーダーで取得するＲＡＭサイズ情報と入力クロック周波数値を元にして共通ＢＯＯＴプログラムが動作するためのＲＡＭを動作可能とすることを特徴とする起動回路。
【請求項６】
共通ＢＯＯＴプログラムの使用するデバイス以外のデバイスがＣＰＵに対して外部割り込みを発生しないことを特徴とする請求項４または５記載の起動回路。
【請求項７】
ハードウェアに組み込まれた情報に基づいて共通ＢＯＯＴプログラムが動作するためのワークエリアを動作可能とすることを特徴とする起動方法。
【請求項８】
ＩＮオーダーで取得するＲＡＭサイズ情報と入力クロック周波数値を元にして共通ＢＯＯＴプログラムが動作するためのＲＡＭを動作可能とすることを特徴とする起動方法。
【請求項９】
共通ＢＯＯＴプログラムの使用するデバイス以外のデバイスがＣＰＵに対して外部割り込みを発生しないことを特徴とする請求項７または８記載の起動方法。
【請求項１０】
コンピュータに、ハードウェアに組み込まれた情報に基づいて共通ＢＯＯＴプログラムが動作するためのワークエリアを動作可能とする処理を実行させることを特徴とするプログラム。
【請求項１１】
コンピュータに、ＩＮオーダーで取得するＲＡＭサイズ情報と入力クロック周波数値を元にして共通ＢＯＯＴプログラムが動作するためのＲＡＭを動作可能とする処理を実行させることを特徴とするプログラム。
【請求項１２】
コンピュータに、共通ＢＯＯＴプログラムの使用するデバイス以外のデバイスがＣＰＵに対して外部割り込みを発生させない処理を実行させることを特徴とする請求項１０または１１記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メインプログラムを起動することを主目的として、それ以外の個別ハードウェア特有の処理をすべて排除し、微小なハードウェアの違いをＣＰＵおよびその周辺の処理用デバイスがほぼ同一なＩＰ−ＰＢＸ用のＩＰ系制御装置等に共通で使用可能なＢＯＯＴプログラム(以下、共通ＢＯＯＴプログラムという)が認識して処理する技術に関する。
【背景技術】
【０００２】
従来、ＣＰＵ（Central Processing Unit）を搭載した計算機や制御装置にはメインプログラムを起動するためのイニシャルプログラム(以下、ＢＯＯＴプログラムという)を搭載している。
【０００３】
ＩＰ−ＰＢＸに使用するＧａｔｅｗａｙやＭｅｄｉａ Ｃｏｎｖｅｒｔｅｒ等のＩＰ系制御装置(以下、ＩＰ−ＰＢＸ用のＩＰ系制御装置という)にもＢＯＯＴプログラムは存在する。
【０００４】
これらのＩＰ−ＰＢＸ用のＩＰ系制御装置のコアとなる処理系デバイスである、ＣＰＵおよびその周辺の処理用デバイス(ＲＯＭ、ＲＡＭ)は、実装する容量の違いを除いて装置毎の違いは無く、ほぼ同一のデバイスを使用している。
【０００５】
しかし、上記処理系デバイスとは別にＩＰ−ＰＢＸ用のＩＰ系制御装置毎には個別のハードウェアデバイスが存在していることもあり、個別に専用のＢＯＯＴプログラムを作成する必要があった。
【０００６】
ここで、マイクロコンピュータのＣＰＵは、リセットが解除されると、ユーザＲＯＭに記憶されているユーザプログラムを実行する前にブートＲＯＭにアクセスし、ブートＲＯＭに記憶されている初期設定プログラムを実行することで、ユーザプログラムを実行するために必要な初期設定処理を行うことで、ユーザによるプログラム開発の負担をより少なくすることができるマイクロコンピュータを提供することができる技術が提案されている（例えば、特許文献１参照）。
【特許文献１】特開２００３−３０８３０７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した従来例においては次のような問題点があった。
【０００８】
専用のＢＯＯＴプログラムを作成するには、設計・製造・評価と言った一連の開発フェーズが発生し、膨大な工数が必要となっていた。
【０００９】
また、ブートＲＯＭで持つべき情報を抜き出して、別部分に切り出して設定するのでは、ユーザＲＯＭにてブートＲＯＭの機能の一部分を作成する必要があり、ブートプログラムの追加作成部分が必要であった。
【００１０】
本発明は、以上説明した事情に鑑みてなされたものであり、その目的は、ハードウェア個別に作成していた専用ＢＯＯＴプログラム作成のための工数を削減することにある。
【課題を解決するための手段】
【００１１】
本発明は、ハードウェアに組み込まれた情報に基づいて共通ＢＯＯＴプログラムが動作するためのワークエリアを動作可能とする起動装置を提供する。
【００１２】
また、本発明は、ハードウェアに組み込まれた情報に基づいて共通ＢＯＯＴプログラムが動作するためのワークエリアを動作可能とする起動回路を提供する。
【００１３】
また、本発明は、ハードウェアに組み込まれた情報に基づいて共通ＢＯＯＴプログラムが動作するためのワークエリアを動作可能とする起動方法を提供する。
【００１４】
また、本発明は、コンピュータに、ハードウェアに組み込まれた情報に基づいて共通ＢＯＯＴプログラムが動作するためのワークエリアを動作可能とする処理を実行させるプログラムを提供する。
【発明の効果】
【００１５】
本発明によれば、ハードウェア個別に作成していた専用ＢＯＯＴプログラム作成のための工数を削減することができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の第１の実施の形態について図面を参照して詳細に説明する。
【００１７】
本発明の実施の形態について図１を用いて説明を行う。本実施の形態における共通ＢＯＯＴプログラムを搭載したＩＰ−ＰＢＸ用のＩＰ系制御装置は、ＣＰＵ１と、ＳＤＲＡＭ２と、ＲＯＭ３と、ＩＮオーダー用回路群４と専用デバイス５１，５２とがホストバスで接続されている。
【００１８】
共通ＢＯＯＴプログラムを実装するためのハードウェア条件を示すと、ＣＰＵ１として、以下の条件を満たすプロセッサを使用する。
【００１９】
ＳＤＲＡＭコントローラ１１を搭載しているもの。ただし、ＣＰＵ１の外部回路にてＳＤＲＡＭコントローラを搭載していてもよいが、設定に関するレジスタ値はすべてデフォルトで動作可能となるようにする。すなわち、搭載するＳＤＲＡＭの容量、バス幅、入力クロック周波数の情報をもとにして動作可能となるコントローラを使用する。
【００２０】
動作周波数設定コントローラ１２が内蔵されているもの。すなわち、ＣＰＵ１へ入力するクロックの周波数をもとに、内部動作周波数および外部ホストバス周波数の設定が可能となり、各種周波数が演算によって算出可能なコントローラを搭載しているもの。
【００２１】
ＲＯＭ３は、共通ＢＯＯＴプログラム３１を格納するための記憶部であり、ＲＯＭの種類は問わない。
【００２２】
ＲＡＭとしては、ＳＤＲＡＭ２を使用する。
【００２３】
ＩＮオーダー用回路群４は、ＲＡＭサイズ情報、入力クロック周波数値の２つの情報を取得する。メモリマップ上では固定アドレスを使用する。
【００２４】
なお、ＲＡＭサイズ情報では、バス幅、搭載容量を示し、入力クロック周波数値は、ＣＰＵへの入力クロック周波数値である。
【００２５】
ここで、各デバイスへのアクセス系ウェイト設定としては、Ｐｏｗｅｒ ＯＮ時のデフォルト値を基本として、共通ＢＯＯＴプログラムにて設定をしなくても動作可能なようにしておく。
【００２６】
また、ＣＰＵ１周辺に上記以外のいかなるデバイスが搭載されていても、ＣＰＵ１に対して外部割り込みを発生しないようにしておく。
【００２７】
以下、共通ＢＯＯＴプログラムの起動から動作完了までの一連の流れを、図２〜図６を用いて詳細に説明する。
【００２８】
まず、図２を参照すると、ＣＰＵ１は、Ｐｏｗｅｒ ＯＮ後にＲＯＭ３にアクセスし、共通ＢＯＯＴプログラム３１の実行を開始する。ＲＯＭ３の先頭に共通ＢＯＯＴプログラム３１を配置して実行を開始する。
【００２９】
なお、ＲＯＭアクセスのための設定はハードウェアで指定されているので共通ＢＯＯＴプログラム３１では設定不要である。
【００３０】
また、ＲＯＭ３以外のデバイスはＩＤＬＥ状態で存在する。そしてＣＰＵ１に対して割り込み等が発生しないようにしておく。
【００３１】
次に、図３を参照すると、共通ＢＯＯＴプログラム３１が動作するためのワークエリア(ＳＤＲＡＭ２)のハードウェア設定をするために、ＩＮオーダーにてＲＡＭサイズ情報および入力クロック周波数のそれぞれの値を取得する。あらかじめ決定されているＩＮオーダー（アドレス）にてこれらの情報を取得する。
【００３２】
ここで、ＩＮオーダーは外部回路であるＩＮオーダー用回路群４にて実現し、ＣＰＵ１の外部アクセスにて取得する。ウェイト設定はＣＰＵ１のデフォルトで動作可能としておく(共通ＢＯＯＴプログラム３１での設定は不要で動作する)。
【００３３】
次に、図４を参照すると、取得した情報からＳＤＲＡＭ２にアクセスするためのＣＰＵ１およびＳＤＲＡＭコントローラ１１のレジスタ設定を行う。ＩＮオーダーにて取得した情報をもとに、ＳＤＲＡＭコントローラ１１に最適な値を設定し、ＳＤＲＡＭ２が動作可能となるようにする。
【００３４】
ＳＤＲＡＭ２はクロック同期制御系デバイスのため、搭載されているＳＤＲＡＭの容量と入力するクロック周波数の値が必要となる。
【００３５】
また、動作周波数設定コントローラ値と入力周波数から各種動作周波数を演算にて算出可能となる。
【００３６】
必要に応じてシリアルデバイスを起動したり、Ｅｔｈｅｒコントローラの動作を可能とする。ただし、シリアルデバイスの起動に関してもＣＰＵ１のデフォルトで動作可能なようにしておく。Ｅｔｈｅｒコントローラの起動を行う場合は、共通ＢＯＯＴプログラム３１があらかじめ認識しているデバイスのデバイスドライバを搭載しておき、ハードウェア設定は同様にしてデフォルトで動作可能なようにしておく。
【００３７】
次に、図５を参照すると、ＯＳは、共通ＢＯＯＴプログラム３１が動作するためのベース（環境）であり、動作周波数の情報が必要であるため値をセットする。
【００３８】
ＳＤＲＡＭ２をワークメモリとして使用可能となっているので、ＳＤＲＡＭ２上にＯＳを構築する。
【００３９】
共通ＢＯＯＴプログラム３１が動作するためのベースとなる環境であるＯＳの起動においてもＣＰＵの動作周波数(入力周波数のx倍)及び周辺デバイスの周波数(入力周波数のy倍)が必要となる場合があるため、共通ＢＯＯＴプログラムからこれらの値を指定することで動作可能となるようにする。なお、入力周波数x倍、y倍は動作周波数設定コントローラのレジスタ値から取得することが可能である。
【００４０】
次に、図６を参照すると、メインプログラムを起動し、実行する。ワークメモリで共通ＢＯＯＴプログラム３１が動作可能後は、最終目的であるメインプログラムの起動を実行する。これにて共通ＢＯＯＴプログラム３１の役割は終了となる。
【００４１】
上記の実施の形態によれば、ＣＰＵおよびその周辺の処理用デバイスがほぼ同一なＩＰ−ＰＢＸ用のＩＰ系制御装置に共通ＢＯＯＴプログラムを作成することで大幅な工数の削減が可能となる。
【００４２】
提案する共通ＢＯＯＴプログラムではメインプログラムを起動することを主目的として、それ以外の個別ハードウェア特有の処理をすべて排除し、微小なハードウェアの違いを共通ＢＯＯＴプログラムが認識して処理することで実現する。
【００４３】
なお、上述する実施の形態は、本発明の好適な実施の形態であり、本発明の要旨を逸脱しない範囲内において種々変更実施が可能である。例えば、上記の実施の形態におけるＩＰ系制御装置の機能を実現するためのプログラムを各部に読込ませて実行することにより本装置の機能を実現する処理を行ってもよい。さらに、そのプログラムは、コンピュータ読み取り可能な記録媒体であるＣＤ−ＲＯＭまたは光磁気ディスクなどを介して、または伝送媒体であるインターネット、電話回線などを介して伝送波により他のコンピュータシステムに伝送されてもよい。
【００４４】
上述する各実施の形態は、各機能が１つのＩＰ系制御装置として実現されている構成について説明したが、機能毎に複数の装置などが追加された構成にも適用可能であることはもちろんである。
【００４５】
また、同種のＩＰ−ＰＢＸ用のＩＰ系制御装置を別途開発する場合でも、専用のＢＯＯＴプログラムを開発する必要が無く、それに掛かる一連の開発フェーズ(設計・製造・評価)の工数を全て削減することが可能となる。
【図面の簡単な説明】
【００４６】
【図１】本発明の実施形態におけるＩＰ系制御装置のハードウェアブロック図である。
【図２】本発明の実施形態の第１の処理動作を示す図である。
【図３】本発明の実施形態の第２の処理動作を示す図である。
【図４】本発明の実施形態の第３の処理動作を示す図である。
【図５】本発明の実施形態の第４の処理動作を示す図である。
【図６】本発明の実施形態の第５の処理動作を示す図である。
【符号の説明】
【００４７】
１    ＣＰＵ
１１    ＳＤＲＡＭコントローラ
１２    動作周波数設定コントローラ
２    ＳＤＲＡＭ
３    ＲＯＭ
３１    共通ＢＯＯＴプログラム
４    ＩＮオーダー用回路群
５１、５２    専用デバイス
【図１】
2007183871.tif 000003
【図２】
2007183871.tif 000004
【図３】
2007183871.tif 000005
【図４】
2007183871.tif 000006
【図５】
2007183871.tif 000007
【図６】
2007183871.tif 000008