JP2007183871A - 起動装置、起動回路、起動方法およびプログラム - Google Patents

起動装置、起動回路、起動方法およびプログラム Download PDF

Info

Publication number
JP2007183871A
JP2007183871A JP2006002611A JP2006002611A JP2007183871A JP 2007183871 A JP2007183871 A JP 2007183871A JP 2006002611 A JP2006002611 A JP 2006002611A JP 2006002611 A JP2006002611 A JP 2006002611A JP 2007183871 A JP2007183871 A JP 2007183871A
Authority
JP
Japan
Prior art keywords
boot program
common boot
program
operating
cpu
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.)
Withdrawn
Application number
JP2006002611A
Other languages
English (en)
Inventor
Tadanori Noguchi
忠則 野口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Platforms Ltd
Original Assignee
NEC Infrontia Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Infrontia Corp filed Critical NEC Infrontia Corp
Priority to JP2006002611A priority Critical patent/JP2007183871A/ja
Priority to US11/649,209 priority patent/US20070162734A1/en
Publication of JP2007183871A publication Critical patent/JP2007183871A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】ハードウェア個別に作成していた専用BOOTプログラム作成のための工数を削減すること。
【解決手段】CPU1は、SDRAMコントローラ11と動作周波数設定コントローラ12により、INオーダー用回路群4のINオーダーで取得するRAMサイズ情報と入力クロック周波数値を元にしてROM3の共通BOOTプログラム31が動作するためのSDRAM2を動作可能とする。
【選択図】図1

Description

本発明は、メインプログラムを起動することを主目的として、それ以外の個別ハードウェア特有の処理をすべて排除し、微小なハードウェアの違いをCPUおよびその周辺の処理用デバイスがほぼ同一なIP−PBX用のIP系制御装置等に共通で使用可能なBOOTプログラム(以下、共通BOOTプログラムという)が認識して処理する技術に関する。
従来、CPU(Central Processing Unit)を搭載した計算機や制御装置にはメインプログラムを起動するためのイニシャルプログラム(以下、BOOTプログラムという)を搭載している。
IP−PBXに使用するGatewayやMedia Converter等のIP系制御装置(以下、IP−PBX用のIP系制御装置という)にもBOOTプログラムは存在する。
これらのIP−PBX用のIP系制御装置のコアとなる処理系デバイスである、CPUおよびその周辺の処理用デバイス(ROM、RAM)は、実装する容量の違いを除いて装置毎の違いは無く、ほぼ同一のデバイスを使用している。
しかし、上記処理系デバイスとは別にIP−PBX用のIP系制御装置毎には個別のハードウェアデバイスが存在していることもあり、個別に専用のBOOTプログラムを作成する必要があった。
ここで、マイクロコンピュータのCPUは、リセットが解除されると、ユーザROMに記憶されているユーザプログラムを実行する前にブートROMにアクセスし、ブートROMに記憶されている初期設定プログラムを実行することで、ユーザプログラムを実行するために必要な初期設定処理を行うことで、ユーザによるプログラム開発の負担をより少なくすることができるマイクロコンピュータを提供することができる技術が提案されている(例えば、特許文献1参照)。
特開2003−308307号公報
しかしながら、上述した従来例においては次のような問題点があった。
専用のBOOTプログラムを作成するには、設計・製造・評価と言った一連の開発フェーズが発生し、膨大な工数が必要となっていた。
また、ブートROMで持つべき情報を抜き出して、別部分に切り出して設定するのでは、ユーザROMにてブートROMの機能の一部分を作成する必要があり、ブートプログラムの追加作成部分が必要であった。
本発明は、以上説明した事情に鑑みてなされたものであり、その目的は、ハードウェア個別に作成していた専用BOOTプログラム作成のための工数を削減することにある。
本発明は、ハードウェアに組み込まれた情報に基づいて共通BOOTプログラムが動作するためのワークエリアを動作可能とする起動装置を提供する。
また、本発明は、ハードウェアに組み込まれた情報に基づいて共通BOOTプログラムが動作するためのワークエリアを動作可能とする起動回路を提供する。
また、本発明は、ハードウェアに組み込まれた情報に基づいて共通BOOTプログラムが動作するためのワークエリアを動作可能とする起動方法を提供する。
また、本発明は、コンピュータに、ハードウェアに組み込まれた情報に基づいて共通BOOTプログラムが動作するためのワークエリアを動作可能とする処理を実行させるプログラムを提供する。
本発明によれば、ハードウェア個別に作成していた専用BOOTプログラム作成のための工数を削減することができる。
以下、本発明の第1の実施の形態について図面を参照して詳細に説明する。
本発明の実施の形態について図1を用いて説明を行う。本実施の形態における共通BOOTプログラムを搭載したIP−PBX用のIP系制御装置は、CPU1と、SDRAM2と、ROM3と、INオーダー用回路群4と専用デバイス51,52とがホストバスで接続されている。
共通BOOTプログラムを実装するためのハードウェア条件を示すと、CPU1として、以下の条件を満たすプロセッサを使用する。
SDRAMコントローラ11を搭載しているもの。ただし、CPU1の外部回路にてSDRAMコントローラを搭載していてもよいが、設定に関するレジスタ値はすべてデフォルトで動作可能となるようにする。すなわち、搭載するSDRAMの容量、バス幅、入力クロック周波数の情報をもとにして動作可能となるコントローラを使用する。
動作周波数設定コントローラ12が内蔵されているもの。すなわち、CPU1へ入力するクロックの周波数をもとに、内部動作周波数および外部ホストバス周波数の設定が可能となり、各種周波数が演算によって算出可能なコントローラを搭載しているもの。
ROM3は、共通BOOTプログラム31を格納するための記憶部であり、ROMの種類は問わない。
RAMとしては、SDRAM2を使用する。
INオーダー用回路群4は、RAMサイズ情報、入力クロック周波数値の2つの情報を取得する。メモリマップ上では固定アドレスを使用する。
なお、RAMサイズ情報では、バス幅、搭載容量を示し、入力クロック周波数値は、CPUへの入力クロック周波数値である。
ここで、各デバイスへのアクセス系ウェイト設定としては、Power ON時のデフォルト値を基本として、共通BOOTプログラムにて設定をしなくても動作可能なようにしておく。
また、CPU1周辺に上記以外のいかなるデバイスが搭載されていても、CPU1に対して外部割り込みを発生しないようにしておく。
以下、共通BOOTプログラムの起動から動作完了までの一連の流れを、図2〜図6を用いて詳細に説明する。
まず、図2を参照すると、CPU1は、Power ON後にROM3にアクセスし、共通BOOTプログラム31の実行を開始する。ROM3の先頭に共通BOOTプログラム31を配置して実行を開始する。
なお、ROMアクセスのための設定はハードウェアで指定されているので共通BOOTプログラム31では設定不要である。
また、ROM3以外のデバイスはIDLE状態で存在する。そしてCPU1に対して割り込み等が発生しないようにしておく。
次に、図3を参照すると、共通BOOTプログラム31が動作するためのワークエリア(SDRAM2)のハードウェア設定をするために、INオーダーにてRAMサイズ情報および入力クロック周波数のそれぞれの値を取得する。あらかじめ決定されているINオーダー(アドレス)にてこれらの情報を取得する。
ここで、INオーダーは外部回路であるINオーダー用回路群4にて実現し、CPU1の外部アクセスにて取得する。ウェイト設定はCPU1のデフォルトで動作可能としておく(共通BOOTプログラム31での設定は不要で動作する)。
次に、図4を参照すると、取得した情報からSDRAM2にアクセスするためのCPU1およびSDRAMコントローラ11のレジスタ設定を行う。INオーダーにて取得した情報をもとに、SDRAMコントローラ11に最適な値を設定し、SDRAM2が動作可能となるようにする。
SDRAM2はクロック同期制御系デバイスのため、搭載されているSDRAMの容量と入力するクロック周波数の値が必要となる。
また、動作周波数設定コントローラ値と入力周波数から各種動作周波数を演算にて算出可能となる。
必要に応じてシリアルデバイスを起動したり、Etherコントローラの動作を可能とする。ただし、シリアルデバイスの起動に関してもCPU1のデフォルトで動作可能なようにしておく。Etherコントローラの起動を行う場合は、共通BOOTプログラム31があらかじめ認識しているデバイスのデバイスドライバを搭載しておき、ハードウェア設定は同様にしてデフォルトで動作可能なようにしておく。
次に、図5を参照すると、OSは、共通BOOTプログラム31が動作するためのベース(環境)であり、動作周波数の情報が必要であるため値をセットする。
SDRAM2をワークメモリとして使用可能となっているので、SDRAM2上にOSを構築する。
共通BOOTプログラム31が動作するためのベースとなる環境であるOSの起動においてもCPUの動作周波数(入力周波数のx倍)及び周辺デバイスの周波数(入力周波数のy倍)が必要となる場合があるため、共通BOOTプログラムからこれらの値を指定することで動作可能となるようにする。なお、入力周波数x倍、y倍は動作周波数設定コントローラのレジスタ値から取得することが可能である。
次に、図6を参照すると、メインプログラムを起動し、実行する。ワークメモリで共通BOOTプログラム31が動作可能後は、最終目的であるメインプログラムの起動を実行する。これにて共通BOOTプログラム31の役割は終了となる。
上記の実施の形態によれば、CPUおよびその周辺の処理用デバイスがほぼ同一なIP−PBX用のIP系制御装置に共通BOOTプログラムを作成することで大幅な工数の削減が可能となる。
提案する共通BOOTプログラムではメインプログラムを起動することを主目的として、それ以外の個別ハードウェア特有の処理をすべて排除し、微小なハードウェアの違いを共通BOOTプログラムが認識して処理することで実現する。
なお、上述する実施の形態は、本発明の好適な実施の形態であり、本発明の要旨を逸脱しない範囲内において種々変更実施が可能である。例えば、上記の実施の形態におけるIP系制御装置の機能を実現するためのプログラムを各部に読込ませて実行することにより本装置の機能を実現する処理を行ってもよい。さらに、そのプログラムは、コンピュータ読み取り可能な記録媒体であるCD−ROMまたは光磁気ディスクなどを介して、または伝送媒体であるインターネット、電話回線などを介して伝送波により他のコンピュータシステムに伝送されてもよい。
上述する各実施の形態は、各機能が1つのIP系制御装置として実現されている構成について説明したが、機能毎に複数の装置などが追加された構成にも適用可能であることはもちろんである。
また、同種のIP−PBX用のIP系制御装置を別途開発する場合でも、専用のBOOTプログラムを開発する必要が無く、それに掛かる一連の開発フェーズ(設計・製造・評価)の工数を全て削減することが可能となる。
本発明の実施形態におけるIP系制御装置のハードウェアブロック図である。 本発明の実施形態の第1の処理動作を示す図である。 本発明の実施形態の第2の処理動作を示す図である。 本発明の実施形態の第3の処理動作を示す図である。 本発明の実施形態の第4の処理動作を示す図である。 本発明の実施形態の第5の処理動作を示す図である。
符号の説明
1 CPU
11 SDRAMコントローラ
12 動作周波数設定コントローラ
2 SDRAM
3 ROM
31 共通BOOTプログラム
4 INオーダー用回路群
51、52 専用デバイス

Claims (12)

  1. ハードウェアに組み込まれた情報に基づいて共通BOOTプログラムが動作するためのワークエリアを動作可能とすることを特徴とする起動装置。
  2. INオーダーで取得するRAMサイズ情報と入力クロック周波数値を元にして共通BOOTプログラムが動作するためのRAMを動作可能とすることを特徴とする起動装置。
  3. 共通BOOTプログラムの使用するデバイス以外のデバイスがCPUに対して外部割り込みを発生しないことを特徴とする請求項1または2記載の起動装置。
  4. ハードウェアに組み込まれた情報に基づいて共通BOOTプログラムが動作するためのワークエリアを動作可能とすることを特徴とする起動回路。
  5. INオーダーで取得するRAMサイズ情報と入力クロック周波数値を元にして共通BOOTプログラムが動作するためのRAMを動作可能とすることを特徴とする起動回路。
  6. 共通BOOTプログラムの使用するデバイス以外のデバイスがCPUに対して外部割り込みを発生しないことを特徴とする請求項4または5記載の起動回路。
  7. ハードウェアに組み込まれた情報に基づいて共通BOOTプログラムが動作するためのワークエリアを動作可能とすることを特徴とする起動方法。
  8. INオーダーで取得するRAMサイズ情報と入力クロック周波数値を元にして共通BOOTプログラムが動作するためのRAMを動作可能とすることを特徴とする起動方法。
  9. 共通BOOTプログラムの使用するデバイス以外のデバイスがCPUに対して外部割り込みを発生しないことを特徴とする請求項7または8記載の起動方法。
  10. コンピュータに、ハードウェアに組み込まれた情報に基づいて共通BOOTプログラムが動作するためのワークエリアを動作可能とする処理を実行させることを特徴とするプログラム。
  11. コンピュータに、INオーダーで取得するRAMサイズ情報と入力クロック周波数値を元にして共通BOOTプログラムが動作するためのRAMを動作可能とする処理を実行させることを特徴とするプログラム。
  12. コンピュータに、共通BOOTプログラムの使用するデバイス以外のデバイスがCPUに対して外部割り込みを発生させない処理を実行させることを特徴とする請求項10または11記載のプログラム。
JP2006002611A 2006-01-10 2006-01-10 起動装置、起動回路、起動方法およびプログラム Withdrawn JP2007183871A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006002611A JP2007183871A (ja) 2006-01-10 2006-01-10 起動装置、起動回路、起動方法およびプログラム
US11/649,209 US20070162734A1 (en) 2006-01-10 2007-01-04 Initializing circuit, initializing apparatus and initializing method for intializing an apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006002611A JP2007183871A (ja) 2006-01-10 2006-01-10 起動装置、起動回路、起動方法およびプログラム

Publications (1)

Publication Number Publication Date
JP2007183871A true JP2007183871A (ja) 2007-07-19

Family

ID=38234106

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006002611A Withdrawn JP2007183871A (ja) 2006-01-10 2006-01-10 起動装置、起動回路、起動方法およびプログラム

Country Status (2)

Country Link
US (1) US20070162734A1 (ja)
JP (1) JP2007183871A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7631127B2 (en) * 2007-06-15 2009-12-08 Via Technologies Methods and systems for varying bus frequencies
US8661234B2 (en) * 2008-01-31 2014-02-25 Microsoft Corporation Individualized per device initialization of computing devices in avoidance of mass exploitation of vulnerabilities

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002251326A (ja) * 2001-02-22 2002-09-06 Hitachi Ltd 耐タンパ計算機システム
JP3988636B2 (ja) * 2002-02-15 2007-10-10 株式会社デンソー マイクロコンピュータ及び車両用ecu
US6857041B2 (en) * 2002-03-29 2005-02-15 Intel Corporation Method and apparatus providing an interface to allow physical memory to be initialized using firmware/hardware methods
US7370189B2 (en) * 2004-09-30 2008-05-06 Intel Corporation Method and apparatus for establishing safe processor operating points in connection with a secure boot
TWI259977B (en) * 2005-05-03 2006-08-11 Novatek Microelectronics Corp Structure of embedded memory unit with loader and system structure and operation method for the embedded memory apparatus

Also Published As

Publication number Publication date
US20070162734A1 (en) 2007-07-12

Similar Documents

Publication Publication Date Title
JP5119686B2 (ja) 情報処理装置および設定方法
JP6399916B2 (ja) 情報処理装置およびその制御方法
US9395919B1 (en) Memory configuration operations for a computing device
KR20050075722A (ko) 프로세서 시스템, dma 제어 회로, dma 제어 방법,dma 제어기의 제어 방법, 화상 처리 방법, 및 화상처리 회로
JP2006293760A (ja) 情報処理装置
JP3866749B2 (ja) マイクロプロセッサ
JP2008090390A (ja) マイコンデバッグシステムおよびマイクロコンピュータ
JP2007206933A (ja) 情報処理装置、情報処理装置におけるブートローダ生成方法およびプログラム転送方法
JP2007183871A (ja) 起動装置、起動回路、起動方法およびプログラム
US20100153622A1 (en) Data Access Controller and Data Accessing Method
JP5578811B2 (ja) 情報処理装置、情報処理装置の制御方法及びプログラム
JP4843554B2 (ja) インターフェイスボード、シミュレータ、同期方法、同期プログラム
WO2009098737A1 (ja) 外部デバイスアクセス装置、その制御方法及びシステムlsi
JP2010146384A (ja) コンピュータ起動システム、コンピュータ起動方法、コンピュータ起動プログラム
JP2008041059A (ja) マルチプロセッサ制御装置及び情報処理装置
JP5665529B2 (ja) 情報処理装置及びその制御方法、並びにプログラム
JP2008140124A (ja) データ処理装置
JP4548505B2 (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP2018156230A (ja) 情報処理装置
JP2005100017A (ja) プロセッサシミュレータおよび割込遅延カウントプログラム、並びにプロセッサのシミュレート方法
JP4002550B2 (ja) コンピュータ起動方法
TWI300900B (ja)
JP4107278B2 (ja) プロセッサ制御回路および情報処理装置
JP2000276502A (ja) ソフトウエアシミュレータ
JP5002238B2 (ja) ディジタルシグナルプロセッサシステム及びディジタルシグナルプロセッサの起動方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080818

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20100212