JP6109340B2 - 情報機器 - Google Patents

情報機器 Download PDF

Info

Publication number
JP6109340B2
JP6109340B2 JP2015552202A JP2015552202A JP6109340B2 JP 6109340 B2 JP6109340 B2 JP 6109340B2 JP 2015552202 A JP2015552202 A JP 2015552202A JP 2015552202 A JP2015552202 A JP 2015552202A JP 6109340 B2 JP6109340 B2 JP 6109340B2
Authority
JP
Japan
Prior art keywords
initial
initialization
general
processing
specific
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.)
Active
Application number
JP2015552202A
Other languages
English (en)
Other versions
JPWO2015087365A1 (ja
Inventor
知彦 東山
知彦 東山
下谷 光生
光生 下谷
伸輝 岡田
伸輝 岡田
秀晴 安竹
秀晴 安竹
御厨 誠
誠 御厨
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2015087365A1 publication Critical patent/JPWO2015087365A1/ja
Application granted granted Critical
Publication of JP6109340B2 publication Critical patent/JP6109340B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F9/4405Initialisation of multiprocessor systems
    • 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
    • G06F9/4406Loading of operating system
    • 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/445Program loading or initiating
    • 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
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Landscapes

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

Description

この発明は、組込み機器における処理の高速起動に関する。
組込み機器では、特定の処理を高速に起動することが必要とされる場合がある。例えばカーナビでは、電源投入後、短時間でリアビューカメラ画像をカーナビ画面に表示する事が求められている。また、近年カーナビなどの高機能な情報機器では、マルチコア環境を採用する流れが広がりつつある。さらに、カーナビなどの高機能な情報機器では、性能の観点から、主機能を担う高機能な汎用OS(Operating System)は組込み機器のリソースをフルに使って動作する事が求められる。
このような状況の中、マルチコア環境にて、高速に起動する必要のある処理(以下、特定処理と呼ぶ)用の専用コアを設ける事で特定処理を高速に起動し、他のコアで汎用OSの起動処理を行い、汎用OSの起動が完了した後、専用コアの管理を汎用OSに移して汎用OSがSMP(Symmetric Multiple Processor)動作を開始し、以降の特定処理は汎用OSが行う方法が提案されている(例えば特許文献1)。
特開2013−45382号公報
従来の高速起動方式は、特定処理が必要とするデバイス(以下、特定処理用デバイス4と呼ぶ)の初期化が完全に完了しないと、特定処理が開始できない。そのため、特定処理用デバイスの初期化が完全に完了していない状態で、特定処理の開始が要求された場合、初期化が完了するまで特定処理を開始することができない。
本発明に係る情報機器は、複数の初期化処理による複数の設定情報に従い動作するデバイスと、前記デバイスを用いた処理を行う第1のソフトウェアを基本ソフトウェア上で実行する第1の制御部、および前記複数の初期化処理のうち一部の初期化処理が完了した段階で、前記第1のソフトウェアの実行前に前記複数の初期化処理による設定情報の一部を用いて前記デバイスを動作させ、前記デバイスを用いた処理を行う第2のソフトウェアを実行する第2の制御部、を備え、前記デバイスの初期化処理を行うプロセッサとを備えるものである。
本発明によれば、特定処理開始イベントへの早期対応が可能となる。
実施の形態1に係る情報機器の構成を示すブロック図である。 実施の形態1に係るメモリの構成を示すブロック図である。 実施の形態1に係る初期OSおよび汎用OSの機能を示すブロック図である。 実施の形態1に係る特定処理用デバイスの初期化ステートを示すブロック図である。 実施の形態1に係る特定処理用デバイスの初期化ステートに応じた特定処理が実行されることを説明する状態遷移図である。 実施の形態1に係る汎用OSが起動する迄の第1のコアの処理フローチャートである。 実施の形態1に係る汎用OSが起動する迄の第2のコアの処理フローチャートである。 実施の形態1に係るデバイスの移行処理が開始されてから、デバイスの移行が完了するまでの第2のコアの処理フローである。 実施の形態1に係るデバイスの移行処理が開始されてから、デバイスの移行が完了するまでの第1のコアの処理フローである。 実施の形態1に係るデバイス状態管理テーブルのフォーマットである。 実施の形態1に係るアプリケーション状態管理テーブルのフォーマットである。
実施の形態1.
まず実施の形態1の構成を説明する。図1は本実施の形態における特定処理起動方式を実現する情報機器1の構成を示すブロック図である。図1において、10は複数のコアを1個のパッケージに集積したプロセッサであり、本実施の形態では、2つのコアを1個のパッケージに集積したプロセッサを例として用いる。プロセッサ10は、第1コア11、第2コア12に加え、第1タイマ13、第2タイマ14などを備えている。第1タイマ13は、第1コア11で用いられるタイマであり、第2タイマ14は、第2コア12で用いられる。
この実施の形態において、第1コア11は第1の制御部であり、第2コア12は第2の制御部である。なお、第1の制御部と第2の制御部は1つのプロセッサ10に内蔵される必要はなく、第1及び第2の制御部として複数のマイクロプロセッサを用いることも可能である。
図1において、メモリ2は、プロセッサ10にバスで接続され、データ、プログラム等の情報を記憶する記憶装置である。
センサ3は、特定処理用デバイス4に対し、特定処理を開始するまたは終了する判断を行うのに用いられる。センサ3は、車載機器の状態、例えば特定のギアへの操作があったことを感知するセンサや、外界からの状態、例えば温度や湿度などの変化があったことを感知するセンサであってもよい。
特定処理用デバイス4は、高速に起動する必要のある処理(特定処理)が必要とするデバイスであり、例えば、カーナビなどのリアビューカメラなどである。また、特定処理用デバイス4は電源投入後のままでは特定処理が必要としている機能が使えるようになっておらず、予め与えられた設定情報に基づいて初期化の処理を行う必要がある。
出力用デバイス5は特定処理用デバイス4の出力結果を出力するためのデバイスであり、画像を表示するのであればモニタ、音声を出力するのであればスピーカなどのオーディオ装置などであってもよい。本実施の形態では、この出力用デバイス5は、初期化処理が不要もしくは前述のセンサ3からの特定処理開始イベントが発生するよりも短い期間で完了できるデバイスである。
その他のデバイス6は、汎用OS(後述)で用いられるデバイスを示しており、図では一つしかないが、複数存在してもよい。
初期OS使用デバイス7は、初期OS(後述)で用いられるデバイスを示しており、本実施の形態においては、特定処理用デバイス4と出力用デバイス5が含まれている。
図2は本実施の形態におけるメモリ2の構成とその記憶内容を示すブロック図である。図2において、不揮発メモリ20は、第1コア11上で動作する汎用OS21および第2コア12上で動作する初期OS22、それと情報機器へ電源投入後(以下、リセット解除後と呼ぶ)、最初に呼び出されるブートローダ23が格納されている。ブートローダ23は、呼び出されると、不揮発メモリ20から初期OS22を初期OS用メモリ領域40にロードし、不揮発メモリ20から汎用OS21を汎用OS用メモリ領域30にロードする。第1コア11は、汎用OS21を実行し、第2コア12は、ロードされた初期OS22を実行する。
汎用OS用メモリ領域30は、特定処理用デバイス4の制御を行う特定処理アプリケーション32と、その他のデバイス6の初期化処理および制御を行う主機能処理アプリケーション31とを備えている。
初期OS用メモリ領域40は、特定処理用デバイス4の制御を行う特定処理アプリケーション41を備えている。
なお、特定処理アプリケーション41と特定処理アプリケーション32は同時に実行されるものではなく、汎用OS21の起動が完了した後、特定処理アプリケーション41の処理は特定処理アプリケーション32に引き継がれる。特定処理アプリケーション41と特定処理アプリケーション32は同一のものでもよいし、異なるものでもよい。
共有メモリ50は、初期OS使用デバイス7の状態を管理するデバイス状態管理テーブル51と、特定処理アプリケーション41の状態を管理するアプリケーション状態管理テーブル52とを備えている。
図3は本実施の形態における汎用OS21および初期OS22の内部で行われる手段を示すブロック図である。
汎用OS21は、システムのメイン機能を処理する基本ソフトウェアである。規模の小さい情報機器では、汎用OS21を用いない場合もあるが、本実施の形態で想定しているカーナビのようにメインとなる処理(例えば、ナビゲーション機能、オーディオ入出力やワンセグなど)の規模が大きい場合、開発の効率化のために汎用OS21が用いられる。
初期OS22は汎用OS21が起動するまで特定処理が動作するOSであり、第2コア12上で動作する。初期OS22は汎用OS21に対し、機能が限定されたOSである。例えば、本実施の形態では、汎用OS21が対象としているデバイスは特定処理用デバイス4、出力用デバイス5、その他のデバイス6であるのに対し、初期OS22は特定処理用デバイス4のみを制御の対象として限定している。初期OS22を用いることにより、汎用OS21用に開発した特定処理アプリケーションを流用することも可能となる。なお、初期OS22を使わず、特定処理アプリケーションを動作させてもよい。
図3において、汎用OS起動部210は、第1コア11が汎用OS21を起動する際、汎用OS21自身が必要とする初期化処理およびその他のデバイス6の初期化処理を行う。
待機部211は、初期OS22が起動時に使用する初期OS使用デバイス7の初期化を行い、待機状態にする。
完了通知部212は、汎用OS21が起動した後、初期OS22に起動完了を通知する。
使用開始部213は、初期OS22が使用していた初期OS使用デバイス7を汎用OS21に使用開始させる。
初期化部214は、初期OS22が使用していた初期OS使用デバイス7の初期化を行う。
判定部215は、特定処理用デバイス4の初期化の状態に応じて、特定処理の選定を行い、その特定処理の開始及び終了を行う。
初期化部220は、第2コア12が初期OS22を起動する際、初期OS22自身が必要とする初期化処理および初期OS使用デバイス7の初期化を行う。
判定部221は、初期化部220を実行中に特定処理開始イベントを受け付けた際、特定処理用デバイス4の初期化の状態に応じて、特定処理の選定を行い、その特定処理の開始及び終了を行う。
移行準備部222は、初期OS使用デバイス7に対するアクセス制御の主導権を初期OS22から汎用OS21に移すための移行準備を行う。
移行通知部223は、初期OS使用デバイス7の移行準備が完了したことを汎用OS21に通知する。
次に図4を用いて、特定処理用デバイス4の初期化を行う際の動作(以下、初期化ステートと呼ぶ)について説明する。本実施の形態では、特定処理用デバイス4は、初期化処理が複数の初期化ステートに分割できるデバイスを対象とする。
図4では、特定処理用デバイス4の初期化処理が60に示す特定処理用デバイス初期化処理A(以下、初期化処理Aと呼ぶ)と、61に示す特定処理用デバイス初期化処理B(以下、初期化処理Bと呼ぶ)という2つの処理に分けられる特定処理用デバイス4を例に説明する。ここでは、リアビューカメラの例を用いる。リアビューカメラに必要な初期化処理は、カラーの設定と、画質の設定とする。
初期化処理A(60)は特定処理用デバイス4のカラーの設定をするために必要な初期化処理である。初期化処理B(61)は特定処理用デバイス4の画質の設定をするために必要な初期化処理である。また、特定処理用デバイス4の初期化ステートに応じ、判定部221で実行される特定処理アプリケーション41および特定処理アプリケーション32も2つの処理に分けられる。
初期化処理A(60)のみが完了した状態で実行可能な特定処理を、特定処理a(62)とする。この例では、画質が粗い状態で表示のみを行うものとする。
初期化処理B(61)も完了した状態で実行可能な特定処理を特定処理b(63)とする。ここでは高画質での表示と顔の位置を認識し、枠をつける表示を行うものとする。
次に図5を用いて、本実施の形態における特定処理用デバイス4の初期化ステートの説明を行う。
初期OS22は、初期化処理A(60)を完了するまで(時刻t1と時刻t2)の間に、特定処理開始イベントが発生した場合、特定処理a(62)を開始する。その後、初期OS22は、特定処理終了イベントの発生後(時刻t3)に初期化処理B(61)を開始する。
初期OS22は、時刻t1と時刻t2の間に特定処理開始イベントが発生しなかった場合、初期化処理A(60)の完了後、初期化処理B(61)を開始する。ただし、初期化処理A(60)が完了したときに、汎用OS21の起動が完了していた場合には、初期OS22で初期化処理B(61)を行わず、汎用OS21への移行を先に行い、汎用OS21で初期化処理B(61)を行っても良い。
次に、本実施の形態における第1コア11および第2コア12の処理フローについて説明する。本実施の形態における第1コア11および第2コア12の処理フローは次の2つに分かれる。
1つ目は、リセット解除後、第2コア12で初期OS22を起動した後、第2コア12上で特定処理用デバイス4の初期化、及び特定処理を実行すると同時に、第1コア11上で汎用OS21を起動するフローである。処理フローの説明をしたのが図6と図7である。
2つ目は、第1コア11で汎用OS21が起動された後、特定処理用デバイスを第2コア12で起動された初期OS22から、第1コア11で起動された汎用OS21へ移行するフローである。処理フローを説明したのが図8と図9である。
図6、図7は本実施の形態において、第2コア12上で初期OSおよび特定処理が高速に起動されるとともに、第1コア11上で汎用OS21が起動されるまでの処理フローである。
汎用OS21側の処理フローについて図6を用いて説明する。
第1コア11はリセット解除後、ブートローダ23を起動する。ブートローダ23の処理フローでは、初期OS用メモリ領域40へ初期OS22のロードを行い(S600)、ロードされた初期OS22のアドレスを第2コア12のプログラムカウンタに設定し第2コア12で初期OS22を起動する(S601)。
次に第1コア11は、汎用OS用メモリ領域30へ汎用OS21のロードを行い(S602)、汎用OS21を起動する(S603)。汎用OS21の起動方法は、初期OS22の時と同様、汎用OS21のアドレス値を第1コア11のプログラムカウンタに設定することで行う。
以上で第1コア11から呼び出されたブートローダ23の処理フローを終了する。以降、第1コア11では汎用OS21が、第2コア12では初期OS22が同時に処理を実行する。
次に、汎用OS21側の処理について説明を行う。汎用OS21は、その他のデバイス6の初期化と、汎用OS21の起動処理を行う(S604)。この処理は汎用OS起動部210が対応する。
次に、汎用OS21は、デバイスドライバのロード等の初期化処理を行う(S605)。初期OS22で使用されている初期OS使用デバイス7は汎用OS21からは使用できないため、この初期化処理では、デバイスの状態に影響を与える処理は行わない。この処理は、待機部211が対応する。
次に、汎用OS21は、初期OS22に対し、汎用OS21の起動完了を通知する(S606)。なお、通知手段はコア間通信を用いてもよいし、共有メモリを介したフラグを用いてもよい。この処理は、完了通知部212が対応する。
次に初期OS22側の処理フローについて図7を用いて説明する。
初期OS22が起動されると、初期OS22は出力用デバイス5の初期化処理を行う(S607)。この処理は、初期化部220が対応する。
次に、初期OS22は、特定処理用デバイス4の初期化処理A(60)を実行する(S608)。なお、初期OS22では、初期化処理A(60)が実行されている間に特定処理開始イベントが発生した場合、イベントは受け付けるものの、特定処理は実行されない。この処理は、初期化部220が対応する。
次に、初期OS22では、特定処理開始イベントが発生したかどうかを判定する(S609)。特定処理開始イベントが発生していた場合には、特定処理終了イベントが発生するまで特定処理a(62)を実行し続け(S610、S611)、特定処理終了イベントが発生したら、特定処理a(62)を終了する(S612)。
以上の処理(S609、S610、S611、S612)は、判定部221が対応する。
なお、特定処理開始イベントが発生していない場合(S609)には、特定処理用デバイス4の初期化処理B(61)を実行する(S613)。
次に初期OS22は、特定処理用デバイス4の初期化処理B(61)を実行する(S613)。この処理は、初期化部220が対応する。なお、初期OS22が特定処理用デバイス4の初期化処理A(60)を実行(S608)している間、特定処理開始イベントが発生していなかった場合(S609)、初期OS22は特定処理を行わず、初期化処理B(61)を実行する(S613)。
前記S611にて、初期OS22が特定処理a(62)を実行している最中に、汎用OS21の起動が完了した場合、初期OS22から汎用OS21へデバイスの移行処理を開始する(S614)。この処理は、判定部221が対応する。
次に、初期OS22は特定処理開始イベントが発生していたかどうかを判定(S615)し、発生していたら、特定処理終了イベントが発生するまで特定処理b(63)を実行(S616)し、特定処理終了イベントが発生した場合(S617)には、特定処理b(63)を終了する(S618)。この処理は、判定部221が対応する
特定処理開始イベントが発生していなかった場合(S615)、初期OS22は、特定処理b(63)を行わない。この処理は、判定部221が対応する。
初期OS22が特定処理b(63)を終了(S618)した後、もしくは、初期化処理B(61)実行時に特定処理開始イベントが無かった場合、初期OS22は、汎用OS21の起動が完了しているか確認する(S619)。
起動が完了していれば初期OS22から汎用OS21へのデバイス移行処理を開始し、起動が完了していない場合には、特定処理開始イベントの有無をチェック(S615)しながら、汎用OS21の起動完了を待つ(S619)。
初期OS22が特定処理b(63)を実行中に汎用OS21の起動が完了していることを確認した場合(S620)、初期OS22から汎用OS21へデバイスの移行処理を開始する。この処理は判定部221が対応する。
図8、図9は汎用OS21の起動完了後、初期OS22から汎用OS21へデバイスの移行処理が完了するまでの処理フローである。
初期OS22側の処理フローについて図8を用いて説明する。
まず、初期OS22が、初期OS使用デバイスの状態をデバイス状態管理テーブル51に保存する(S700)。デバイス状態管理テーブル51に保存するデータは、汎用OS21上で初期OS使用デバイスを使用開始するとき、初期OS使用デバイスの状態を継続して使用するために必要なデータである。この処理は、移行準備部222が対応する。
次に、初期OS22が特定処理アプリケーション41の状態をアプリケーション状態管理テーブル52に保存する(S701)。アプリケーション状態管理テーブル52に保存するデータは、汎用OS21上で特定処理アプリケーション32を実行するとき、初期OS22の上で特定処理アプリケーション41が実行されていたときの状態を継続するために必要なデータである。この処理は、移行準備部222が対応する。
次に、初期OS22は、汎用OS21に対し、デバイス移行の準備が完了したことを通知する(S702)。
次に、初期OS22は、特定処理が実行中であるかの確認を行う(S703)。実行中であったとき、初期OS22は、特定処理終了イベントが発生するまで同イベントのチェックを繰り返す(S704)。特定処理終了イベントの発生後、特定処理を終了(S705)する。この処理は、移行通知部223が対応する。なお、通知後、初期OS22は処理を終了する。
次に、初期OS21側の処理フローについて図9を用いて説明する。
汎用OS21は起動後、初期OS22からのデバイス移行通知を待つ(S706)。この処理はビジーループでもよいし、待機中にシステムのメイン処理を行っていて、割込みによって通知を受信してもよい。
汎用OS21がデバイス移行通知を受け取ると、汎用OS21は、デバイス状態管理テーブル51を参照し、初期OS使用デバイス7の状態を取得する(S707)。この処理は、使用開始部213が対応する。
次に、汎用OS21は、アプリケーション状態管理テーブル52を参照し、特定処理アプリケーション41の状態を取得する(S708)。この処理は、使用開始部213が対応する。
次に、汎用OS21は、初期OS使用デバイス7の使用を開始する(S709)。この処理は、使用開始部213が対応する。
次に、汎用OS21は、特定処理を実行すべきであるかどうかを判断する(S710)。判断方法は、アプリケーション状態管理テーブル52を介して、初期OS22から汎用OS21に通知し、この通知内容に基づき、汎用OS21が判断してもよいし、特定処理開始イベントの有無をセンサ3の状態で判断してもよい。後者について、例えば特定処理がリアビューカメラの表示の場合は、ギアがバックギアに入っているかどうかをセンサ3で確認すればよい。
特定処理を実行すべき状態であった場合、汎用OS21が、デバイス状態管理テーブル51、及びアプリケーション状態管理テーブル52から取得した値を元に汎用OS21の中の特定処理アプリケーション32を起動する(S711)。この処理は、使用開始部213が対応する。
なお、既に初期OS22がデバイス状態管理テーブル51に特定処理用デバイス4の初期化ステート情報を保存しており(S700)、S711ではその情報に応じて起動する特定処理を選択する。すなわち、デバイス初期化が図5を用いて説明した、初期化処理A(60)までしか完了していない場合、特定処理a(62)を実行し、初期化処理B(61)まで完了している場合は特定処理b(63)を実行する。S712で特定処理終了イベントが発生したかを確認する。発生した場合はS713で特定処理b(63)を終了する。発生しない間は特定処理b(63)の処理を繰り返す(S711)。
次に、汎用OS21は、特定処理用デバイス4の初期化が完了しているか判断し(S714)、完了している場合は初期OS使用デバイス7の移行は完了となる。また、完了していない場合、汎用OS21は残りの初期化処理を行い、初期OS使用デバイス7の移行を完了する(S715)。この処理は初期化部214が対応する。
以上で初期OS22から、汎用OS21へ、初期OS使用デバイス7の移行が完了する。以後、初期OS使用デバイス7は、汎用OS21でアクセス制御される。
第2コア12から第1コア11へデバイスの移行が完了した後、初期OS22は処理を終了する。初期OS22の終了に伴い、初期OS用メモリ領域40は、汎用OS用メモリ領域30に統合される。
デバイス状態管理テーブル51について、リアビューカメラ表示の場合の例を図10に示す。特定処理用デバイス4としてカメラ、出力用デバイス5としてディスプレイなどを想定する。全てのデバイスで共通する情報としては、初期OS使用デバイス7の初期化ステート情報、I/Oレジスタの設定時間等が考えられる。
初期化ステート情報とは、初期OS使用デバイス7が図5に示す初期化段階のどの段階まで初期化されているかという進行情報である。I/Oレジスタ設定時間とは、最後にI/Oレジスタを設定してからどの程度時間が経過しているかという情報である。
デバイスには最後にI/Oレジスタを設定してから一定時間デバイスにアクセスしてはいけないもの、あるいは最後にI/Oレジスタを設定してから一定時間以内にI/Oレジスタを再設定しなければいけないものがあり、特定処理用デバイス4がこのようなデバイスであった場合、I/Oレジスタ設定時間を汎用OSに伝える必要があるため、該情報を保存する。
カメラの情報としては設定されているカメラのピント、カメラの明るさ補正のための周囲の照度などが考えられる。ディスプレイの情報としては、ディスプレイのサイズ、設定されている解像度、フレームレートなどが考えられる。
これらの情報を汎用OS21が入手しておくことで、汎用OS21がデバイス移行後に、初期OS22が使用していたデバイスの状態を継続してデバイスの使用を開始できる。また、汎用OS21が特定処理アプリケーション32において、デバイスを使用開始する際に必要な情報を、デバイスにアクセスせず、デバイス状態管理テーブル51を参照するだけで獲得できるので、デバイス使用開始に要する時間を短縮できる。
アプリケーション状態管理テーブル52について、リアビューカメラ表示アプリケーションの場合の例を図11に示す。リアビューカメラの映像には、このままの状態でバックしたときの走行軌跡情報や、障害物などの警告情報などが表示されることが考えられる。そのため、現在表示している走行軌跡情報や警告情報などを保存する事が考えられる。また、初期OS22から汎用OS21にデバイス移行処理が開始された際、初期OS22側で実行される特定処理アプリケーション41の実行状態も保存する。
これらの情報を汎用OS21側が入手しておくことで、汎用OS21がデバイス移行後に、初期OS22上で実行されていたアプリケーションの状態を継続して開始できる。既に終了しており、繰り返し実行する必要のないアプリケーション処理を実行せずに済むため、デバイス使用開始に要する時間を短縮できる。
上述のように、特定処理用デバイス4の初期化処理を行う際、初期化処理を段階的に行う初期化部220および、初期化の状態に応じて特定処理の実行開始を判定する判定部221を備えることにより、特定処理開始イベントが発生した場合、それまでに完了している初期化処理の段階に応じた特定処理を実行可能とした。これにより、特定処理用デバイス4の初期化処理全体が終了する以前でも、特定処理開始イベントに対応した特定処理を実行することが可能となる。
また、上述のように、初期OS上で初期OS使用デバイス7の初期化処理を完了した後に、初期OS使用デバイス7の状態を記録するデバイス状態管理テーブルおよび、特定処理アプリケーション41の状態を記録するアプリケーション状態管理テーブルを備えるようにした。これにより、初期OS使用デバイスを初期OSから汎用OSに移行する際、初期OS使用デバイスに対する問い合わせを行わなくて済むため、移行に必要な時間の短縮が可能となる。また、初期OS使用デバイスの初期化を行った際にしか得られない情報があった場合、移行先の汎用OSからでも参照が可能となる。
1 情報機器、2 メモリ、3 センサ、4 特定処理用デバイス、5 出力用デバイス、6 その他のデバイス、7 初期OS使用デバイス、10 プロセッサ、11 第1コア、12 第2コア、13 第1タイマ、14 第2タイマ、20 不揮発メモリ、21 汎用OS、22 初期OS、23 ブートローダ、30 汎用OS用メモリ領域、31 主機能処理アプリケーション、32 特定処理アプリケーション、40 初期OS用メモリ領域、41 特定処理アプリケーション、50 共有メモリ、51 デバイス状態管理テーブル、52 アプリケーション状態管理テーブル、60 初期化処理A、61 初期化処理B、62 特定処理a、63 特定処理b、210 汎用OS起動部、211 待機部、212 完了通知部、213 使用開始部、214 初期化部、215 判定部、220 初期化部、221 判定部、222 移行準備部、223 移行通知部。

Claims (5)

  1. 複数の初期化処理による複数の設定情報に従い動作するデバイスと、
    前記デバイスを用いた処理を行う第1のソフトウェアを基本ソフトウェア上で実行する第1の制御部、および前記複数の初期化処理のうち一部の初期化処理が完了した段階で前記第1のソフトウェアの実行前に前記複数の初期化処理による設定情報の一部を用いて前記デバイスを動作させ前記デバイスを用いた処理を行う第2のソフトウェアを実行する第2の制御部、を備え、前記デバイスの前記複数の初期化処理を行うプロセッサと、
    を備え
    前記第2の制御部は前記デバイスに対する初期化処理を実行し、前記第1の制御部に前記初期化処理の進行情報を通知し、第1の制御部は、前記進行情報に基づき、前記複数の初期化処理のうち未実行の残りの初期化処理を実行することを特徴とす
    報機器。
  2. 前記第1の制御部は前記基本ソフトウェアの起動処理を行い、この起動処理と前記第2の制御部による前記第2のソフトウェアが前記プロセッサにより並列実行されることを特徴とする請求項1に記載の情報機器。
  3. 前記第2の制御部は前記基本ソフトウェアが起動した後に、前記第1の制御部に前記デバイスの移行準備ができたことを通知することを特徴とする請求項に記載の情報機器。
  4. 前記第2のソフトウェアは前記第2のソフトウェアの実行状態を通知し、第1の制御部は、前記実行状態に基づき、前記第1のソフトウェアを実行することを特徴とする請求項に記載の情報機器。
  5. 前記第2のソフトウェアは前記複数の初期化処理が全て完了した後に、前記第2のソフトウェアの実行状態を通知することを特徴とする請求項に記載の情報機器。
JP2015552202A 2013-12-09 2013-12-09 情報機器 Active JP6109340B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/007230 WO2015087365A1 (ja) 2013-12-09 2013-12-09 情報機器

Publications (2)

Publication Number Publication Date
JPWO2015087365A1 JPWO2015087365A1 (ja) 2017-03-16
JP6109340B2 true JP6109340B2 (ja) 2017-04-05

Family

ID=53370714

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015552202A Active JP6109340B2 (ja) 2013-12-09 2013-12-09 情報機器

Country Status (5)

Country Link
US (1) US10162647B2 (ja)
JP (1) JP6109340B2 (ja)
CN (1) CN105980982B (ja)
DE (1) DE112013007676T5 (ja)
WO (1) WO2015087365A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101663114B1 (ko) * 2015-01-21 2016-10-07 현대자동차주식회사 차량용 멀티미디어 단말기 및 그의 데이터 처리 방법
US10956169B2 (en) 2015-10-30 2021-03-23 Texas Instruments Incorporated Method and system for boot time optimization of embedded multiprocessor systems
US10503892B2 (en) * 2017-06-25 2019-12-10 Microsoft Technology Licensing, Llc Remote attestation for multi-core processor
US10430181B1 (en) * 2018-08-20 2019-10-01 Quanta Computer Inc. Retrieving updated firmware code

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4104365C1 (ja) * 1991-02-13 1992-03-05 Siemens Ag, 8000 Muenchen, De
JP4187151B2 (ja) * 2003-01-08 2008-11-26 ソニー株式会社 情報処理装置および方法、並びにプログラム
JP4385755B2 (ja) * 2003-12-15 2009-12-16 コニカミノルタビジネステクノロジーズ株式会社 メモリ装置およびこれを備えた電子装置
US7529921B2 (en) * 2004-12-17 2009-05-05 Cardiac Pacemakers, Inc. Fast initialization of medical device system having multiple operating systems
JP4817115B2 (ja) 2006-03-30 2011-11-16 日本電気株式会社 コンピュータシステム、並列初期化方法、及びブートプログラム
JP4766332B2 (ja) 2006-12-28 2011-09-07 ソニー株式会社 情報処理装置、起動方法、およびプログラム
JP2008186175A (ja) * 2007-01-29 2008-08-14 Toyota Motor Corp オペレーティングシステムの起動制御方法及び情報処理装置
JP5106147B2 (ja) * 2008-01-23 2012-12-26 アルパイン株式会社 マルチプロセッサ処理システム
JP4978558B2 (ja) * 2008-05-19 2012-07-18 株式会社デンソー 車両用表示装置
US8271048B2 (en) 2008-12-01 2012-09-18 Lenovo (Beijing) Limited Operation mode switching method for communication system, mobile terminal and display switching method therefor
CN101751114B (zh) 2008-12-22 2012-01-25 联想(北京)有限公司 移动终端的显示切换方法及移动终端
JP5273819B2 (ja) * 2010-07-20 2013-08-28 Necアクセステクニカ株式会社 車両用表示装置及び車両用表示方法
JP5710424B2 (ja) * 2011-08-26 2015-04-30 ルネサスエレクトロニクス株式会社 情報機器
JP2013152509A (ja) 2012-01-24 2013-08-08 Sharp Corp 画像処理装置

Also Published As

Publication number Publication date
CN105980982B (zh) 2019-06-28
DE112013007676T5 (de) 2016-09-08
US10162647B2 (en) 2018-12-25
JPWO2015087365A1 (ja) 2017-03-16
CN105980982A (zh) 2016-09-28
US20160371094A1 (en) 2016-12-22
WO2015087365A1 (ja) 2015-06-18

Similar Documents

Publication Publication Date Title
US10754558B2 (en) Vehicular device
US20170046151A1 (en) System and method for adding and storing groups of firmware default settings
JP6109340B2 (ja) 情報機器
JP5951145B2 (ja) オペレーティングシステムリカバリー方法、装置、及び端末デバイス
KR101390009B1 (ko) 부팅시간을 줄이기 위한 방법, 기록 매체 및 전자기기
US10084452B2 (en) Information processing apparatus, image processing apparatus with information processing apparatus, and control method for information processing apparatus
US9563435B2 (en) Information processing system, information processing apparatus and start up control method
CN110007974B (zh) 应用于操作系统启动的方法和装置、及电子设备
KR20200090010A (ko) 펌웨어 업데이트 방법, 이를 위한 전자 장치 및 저장 매체
US20150154029A1 (en) Electronic apparatus and operational method thereof
JP2006268377A (ja) プログラム起動制御装置及びプログラム起動制御方法
JP7093979B2 (ja) デバイスプロキシ装置及びそれを含む計算機システム
US9678759B2 (en) Multisystem and method of booting the same
US20150323985A1 (en) Information processing apparatus, non-transitory computer readable medium, and information processing method
JP7053979B2 (ja) 情報処理装置、情報処理方法、及びプログラム
US9910698B2 (en) Information processing apparatus, information processing method, and program
CN103927207A (zh) 软件加速方法和装置
JP2004086860A (ja) 画像形成装置及びその制御方法
WO2017113330A1 (zh) 一种基于多核嵌入式处理器的显示方法、装置和嵌入式设备
US20140068155A1 (en) Information processing apparatus, information processing method, and program
KR20140081192A (ko) 외부 카메라 영상을 처리하는 장치 및 그 방법
WO2019183829A1 (zh) 系统芯片内存储介质空间应用方法、装置及无人机
JP2005202976A (ja) 電子機器
TWI448967B (zh) 軟體更新方法與電腦可讀取媒體
US20160231938A1 (en) Storage control device and control method in storage control device

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170207

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170307

R150 Certificate of patent or registration of utility model

Ref document number: 6109340

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250