WO2015087365A1 - 情報機器 - Google Patents
情報機器 Download PDFInfo
- Publication number
- WO2015087365A1 WO2015087365A1 PCT/JP2013/007230 JP2013007230W WO2015087365A1 WO 2015087365 A1 WO2015087365 A1 WO 2015087365A1 JP 2013007230 W JP2013007230 W JP 2013007230W WO 2015087365 A1 WO2015087365 A1 WO 2015087365A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- initial
- initialization
- general
- processing
- specific
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4405—Initialisation of multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
Definitions
- This invention relates to high-speed activation of processing in an embedded device.
- an embedded device it may be necessary to start a specific process at high speed.
- a car navigation system it is required to display a rear view camera image on a car navigation screen in a short time after power-on.
- the trend of adopting a multi-core environment is expanding in high-performance information devices such as car navigation systems.
- a high-performance general-purpose OS responsible for the main function is required to operate using the resources of the embedded device fully.
- the conventional fast startup method cannot start the specific process unless the initialization of the device required for the specific process (hereinafter referred to as the specific process device 4) is completely completed. Therefore, when the start of the specific process is requested in a state where the initialization of the specific process device is not completely completed, the specific process cannot be started until the initialization is completed.
- An information device includes a device that operates in accordance with a plurality of setting information by a plurality of initialization processes, a first control unit that executes, on the basic software, first software that performs processing using the devices, and At the stage where a part of the initialization process is completed, the device is operated using a part of the setting information by the plurality of initialization processes before the execution of the first software, A second control unit that executes second software that performs processing using the device, and a processor that performs initialization processing of the device.
- FIG. 1 is a block diagram illustrating a configuration of an information device according to Embodiment 1.
- FIG. 1 is a block diagram showing a configuration of a memory according to a first embodiment.
- 2 is a block diagram illustrating functions of an initial OS and a general-purpose OS according to Embodiment 1.
- FIG. 4 is a block diagram illustrating an initialization state of a specific processing device according to Embodiment 1.
- FIG. 10 is a state transition diagram illustrating that a specific process according to an initialization state of a specific process device according to the first embodiment is executed.
- 4 is a processing flowchart of the first core until the general-purpose OS according to the first embodiment is started.
- 6 is a processing flowchart of the second core until the general-purpose OS according to the first embodiment is started.
- 4 is a format of a device state management table according to the first embodiment. 4 is a format of an application state management table according to the first embodiment.
- FIG. 1 is a block diagram illustrating a configuration of an information device 1 that implements the specific process activation method according to the present embodiment.
- reference numeral 10 denotes a processor in which a plurality of cores are integrated in one package.
- a processor in which two cores are integrated in one package is used as an example.
- the processor 10 includes a first timer 13 and a second timer 14 in addition to the first core 11 and the second core 12.
- the first timer 13 is a timer used in the first core 11, and the second timer 14 is used in the second core 12.
- the first core 11 is a first control unit
- the second core 12 is a second control unit.
- a memory 2 is a storage device that is connected to a processor 10 via a bus and stores information such as data and programs.
- the sensor 3 is used to make a determination on the specific processing device 4 to start or end the specific processing.
- the sensor 3 may be a sensor that senses a state of an on-vehicle device, for example, an operation on a specific gear, or a sensor that senses a change from the outside, for example, a change in temperature, humidity, or the like. Good.
- the specific processing device 4 is a device that requires processing (specific processing) that needs to be started at high speed, and is, for example, a rear view camera such as a car navigation system. Further, the specific processing device 4 cannot use the function required for the specific processing after the power is turned on, and it is necessary to perform the initialization processing based on setting information given in advance.
- the output device 5 is a device for outputting the output result of the specific processing device 4, and may be a monitor if an image is displayed, or an audio device such as a speaker if sound is output. In the present embodiment, the output device 5 is a device that does not require initialization processing or that can be completed in a shorter period of time than the occurrence of the specific processing start event from the sensor 3 described above.
- the other devices 6 are devices used in a general-purpose OS (described later), and there is only one device in the figure, but a plurality of devices 6 may exist.
- An initial OS using device 7 indicates a device used in an initial OS (described later), and in the present embodiment, a specific processing device 4 and an output device 5 are included.
- FIG. 2 is a block diagram showing the configuration of the memory 2 and the stored contents in the present embodiment.
- the nonvolatile memory 20 includes a general-purpose OS 21 operating on the first core 11 and an initial OS 22 operating on the second core 12, and after powering on the information equipment (hereinafter referred to as reset release), A boot loader 23 to be called is stored.
- the boot loader 23 loads the initial OS 22 from the nonvolatile memory 20 into the initial OS memory area 40 and loads the general-purpose OS 21 from the nonvolatile memory 20 into the general-purpose OS memory area 30.
- the first core 11 executes the general-purpose OS 21, and the second core 12 executes the loaded initial OS 22.
- the general-purpose OS memory area 30 includes a specific processing application 32 that controls the specific processing device 4 and a main function processing application 31 that performs initialization processing and control of the other devices 6.
- the initial OS memory area 40 includes a specific processing application 41 that controls the specific processing device 4. Note that the specific processing application 41 and the specific processing application 32 are not executed at the same time, and the processing of the specific processing application 41 is taken over by the specific processing application 32 after the activation of the general-purpose OS 21 is completed.
- the specific processing application 41 and the specific processing application 32 may be the same or different.
- the shared memory 50 includes a device state management table 51 that manages the state of the initial OS using device 7 and an application state management table 52 that manages the state of the specific processing application 41.
- FIG. 3 is a block diagram showing means performed in the general-purpose OS 21 and the initial OS 22 in the present embodiment.
- the general-purpose OS 21 is basic software that processes the main functions of the system. In a small scale information device, the general-purpose OS 21 may not be used. However, the scale of main processing (for example, navigation function, audio input / output, one seg, etc.) as in the car navigation system assumed in this embodiment is small. If it is large, the general-purpose OS 21 is used for development efficiency.
- the initial OS 22 is an OS on which a specific process operates until the general-purpose OS 21 is activated, and operates on the second core 12.
- the initial OS 22 is an OS whose functions are limited compared to the general-purpose OS 21.
- the devices targeted by the general-purpose OS 21 are the specific processing device 4, the output device 5, and other devices 6, whereas the initial OS 22 controls only the specific processing device 4. As limited.
- the initial OS 22 it is possible to divert the specific processing application developed for the general-purpose OS 21. Note that the specific processing application may be operated without using the initial OS 22.
- the general-purpose OS startup unit 210 performs initialization processing required by the general-purpose OS 21 itself and initialization processing of other devices 6.
- the standby unit 211 initializes the initial OS use device 7 used when the initial OS 22 is started up, and sets the standby state.
- the completion notification unit 212 notifies the initial OS 22 of the start completion after the general-purpose OS 21 is started.
- the use start unit 213 causes the general-purpose OS 21 to start using the initial OS use device 7 used by the initial OS 22.
- the initialization unit 214 initializes the initial OS use device 7 used by the initial OS 22.
- the determination unit 215 selects a specific process in accordance with the initialization state of the specific process device 4 and starts and ends the specific process.
- the initialization unit 220 When the second core 12 starts up the initial OS 22, the initialization unit 220 performs initialization processing required by the initial OS 22 itself and initialization of the initial OS using device 7.
- the determination unit 221 receives a specific process start event while executing the initialization unit 220, the determination unit 221 selects a specific process according to the initialization state of the specific process device 4, and starts and ends the specific process. I do.
- the migration preparation unit 222 prepares for migration for transferring the initiative of access control to the initial OS using device 7 from the initial OS 22 to the general-purpose OS 21.
- the migration notification unit 223 notifies the general-purpose OS 21 that the migration preparation of the initial OS using device 7 has been completed.
- the specific processing device 4 is a device that can divide the initialization process into a plurality of initialization states.
- the specific process device initialization process A (hereinafter referred to as initialization process A) indicated by 60 in the specific process device 4 initialization process and the specific process device initialization process B (hereinafter referred to as 61) shown in FIG.
- initialization process B A specific processing device 4 that is divided into two processes called initialization process B
- the initialization processing required for the rear view camera is color setting and image quality setting.
- the initialization process A (60) is an initialization process necessary for setting the color of the specific processing device 4.
- the initialization process B (61) is an initialization process necessary for setting the image quality of the specific processing device 4.
- the specific processing application 41 and the specific processing application 32 executed by the determination unit 221 are divided into two processes according to the initialization state of the specific processing device 4.
- a specific process that can be executed in a state where only the initialization process A (60) is completed is referred to as a specific process a (62).
- a specific process that can be executed in a state where the initialization process B (61) is also completed is referred to as a specific process b (63).
- a specific process with high image quality and a face position are recognized and a frame is displayed.
- the initial OS 22 starts the specific process a (62) when the specific process start event occurs until the initialization process A (60) is completed (time t1 and time t2). Thereafter, the initial OS 22 starts the initialization process B (61) after the occurrence of the specific process end event (time t3). If the specific process start event does not occur between the time t1 and the time t2, the initial OS 22 starts the initialization process B (61) after the initialization process A (60) is completed.
- the initialization process B (61) is not performed in the initial OS 22, and the transition to the general-purpose OS 21 is performed first.
- the initialization process B (61) may be performed by the general-purpose OS 21.
- the processing flow of the first core 11 and the second core 12 in the present embodiment is divided into the following two.
- FIG. 6 and FIG. 7 explain the processing flow.
- the second is a flow in which after the general-purpose OS 21 is activated in the first core 11, the specific processing device is shifted from the initial OS 22 activated in the second core 12 to the general-purpose OS 21 activated in the first core 11. is there.
- FIG. 8 and FIG. 9 explain the processing flow.
- FIGS. 6 and 7 are process flows until the general-purpose OS 21 is activated on the first core 11 while the initial OS and the specific process are activated on the second core 12 at high speed in the present embodiment.
- the first core 11 activates the boot loader 23 after canceling the reset.
- the initial OS 22 is loaded into the initial OS memory area 40 (S 600)
- the address of the loaded initial OS 22 is set in the program counter of the second core 12
- the initial OS 22 is set by the second core 12. Start (S601).
- the first core 11 loads the general-purpose OS 21 to the general-purpose OS memory area 30 (S602), and starts the general-purpose OS 21 (S603).
- the general-purpose OS 21 is activated by setting the address value of the general-purpose OS 21 in the program counter of the first core 11 as in the case of the initial OS 22.
- the processing flow of the boot loader 23 called from the first core 11 is thus completed.
- the general-purpose OS 21 executes processing in the first core 11 and the initial OS 22 executes processing in the second core 12 at the same time.
- the general-purpose OS 21 initializes the other devices 6 and starts up the general-purpose OS 21 (S604). This process is supported by the general-purpose OS activation unit 210. Next, the general-purpose OS 21 performs initialization processing such as loading of a device driver (S605). Since the initial OS using device 7 used in the initial OS 22 cannot be used by the general-purpose OS 21, no processing that affects the device state is performed in this initialization processing. This process corresponds to the standby unit 211.
- the general-purpose OS 21 notifies the initial OS 22 of the start-up of the general-purpose OS 21 (S606).
- the notification means may use inter-core communication or may use a flag via a shared memory. This process is handled by the completion notification unit 212.
- the initial OS 22 When the initial OS 22 is activated, the initial OS 22 performs initialization processing for the output device 5 (S607). This process corresponds to the initialization unit 220. Next, the initial OS 22 executes the initialization process A (60) of the specific processing device 4 (S608). In the initial OS 22, if a specific process start event occurs while the initialization process A (60) is being executed, the event is accepted, but the specific process is not executed. This process corresponds to the initialization unit 220.
- the initial OS 22 determines whether or not a specific process start event has occurred (S609). If a specific process start event has occurred, the specific process a (62) continues to be executed until a specific process end event occurs (S610, S611). When the specific process end event occurs, the specific process a (62) ) Is terminated (S612).
- the determination unit 221 corresponds to the above processing (S609, S610, S611, S612).
- the initialization process B (61) of the specific process device 4 is executed (S613).
- the initial OS 22 executes the initialization process B (61) of the specific processing device 4 (S613).
- This process corresponds to the initialization unit 220.
- the initial OS 22 executes the initialization process A (60) of the specific processing device 4 (S608) and the specific process start event has not occurred (S609).
- the initial OS 22 performs the specific process.
- the initialization process B (61) is executed (S613).
- S611 when the activation of the general-purpose OS 21 is completed while the initial OS 22 is executing the specific process a (62), a device migration process from the initial OS 22 to the general-purpose OS 21 is started (S614). This process corresponds to the determination unit 221.
- the initial OS 22 determines whether or not a specific process start event has occurred (S615), and if it has occurred, executes the specific process b (63) until a specific process end event occurs (S616). When the process end event occurs (S617), the specific process b (63) is ended (S618). This process corresponds to the determination unit 221.
- the initial OS 22 does not perform the specific process b (63). This process corresponds to the determination unit 221. After the initial OS 22 finishes the specific process b (63) (S618), or when there is no specific process start event when the initialization process B (61) is executed, the initial OS 22 has completed the startup of the general-purpose OS 21. Confirm (S619). If the startup is completed, the device migration processing from the initial OS 22 to the general-purpose OS 21 is started. If the startup is not completed, the startup of the general-purpose OS 21 is completed while checking for the presence of a specific processing start event (S615). (S619).
- FIG. 8 and FIG. 9 are process flows from the completion of the activation of the general-purpose OS 21 to the completion of the device migration process from the initial OS 22 to the general-purpose OS 21.
- the processing flow on the initial OS 22 side will be described with reference to FIG.
- the initial OS 22 stores the status of the initial OS using device in the device status management table 51 (S700).
- the data stored in the device state management table 51 is data necessary for continuously using the state of the initial OS using device when the use of the initial OS using device is started on the general-purpose OS 21. This process is handled by the migration preparation unit 222.
- the initial OS 22 stores the state of the specific processing application 41 in the application state management table 52 (S701).
- the data stored in the application state management table 52 is data necessary for continuing the state when the specific processing application 41 is executed on the initial OS 22 when the specific processing application 32 is executed on the general-purpose OS 21. is there. This process is handled by the migration preparation unit 222.
- the initial OS 22 notifies the general-purpose OS 21 that preparation for device migration has been completed (S702).
- the initial OS 22 confirms whether the specific process is being executed (S703). When it is being executed, the initial OS 22 repeats checking the event until a specific process end event occurs (S704). After the specific process end event occurs, the specific process is ended (S705). This process is handled by the transition notification unit 223. Note that after the notification, the initial OS 22 ends the processing.
- the general-purpose OS 21 waits for a device migration notification from the initial OS 22 (S706).
- This processing may be a busy loop, or the main processing of the system is performed during standby, and notification may be received by interruption.
- the general-purpose OS 21 refers to the device status management table 51 and acquires the status of the initial OS using device 7 (S707). This processing is handled by the use starting unit 213.
- the general-purpose OS 21 refers to the application state management table 52 and acquires the state of the specific processing application 41 (S708). This processing is handled by the use starting unit 213.
- the general-purpose OS 21 starts using the initial OS use device 7 (S709). This processing is handled by the use starting unit 213.
- the general-purpose OS 21 determines whether the specific process should be executed (S710).
- the initial OS 22 notifies the general-purpose OS 21 via the application state management table 52, and the general-purpose OS 21 may determine based on the content of the notification. You may judge. For the latter, for example, when the specific process is the display of the rear view camera, it may be confirmed by the sensor 3 whether the gear is in the back gear. If the specific process is to be executed, the general-purpose OS 21 activates the specific-process application 32 in the general-purpose OS 21 based on the values acquired from the device state management table 51 and the application state management table 52 (S711). . This processing is handled by the use starting unit 213.
- the initial OS 22 has already stored the initialization state information of the specific processing device 4 in the device state management table 51 (S700), and in S711, the specific processing to be activated is selected according to the information. That is, when the device initialization is completed only up to the initialization process A (60) described with reference to FIG. 5, the specific process a (62) is executed, and the initialization process B (61) is completed. If yes, the specific process b (63) is executed. In S712, it is confirmed whether a specific process end event has occurred. If it has occurred, the specific process b (63) is terminated in S713. While it does not occur, the process of the specific process b (63) is repeated (S711).
- the general-purpose OS 21 determines whether or not the initialization of the specific processing device 4 has been completed (S714). If it has been completed, the migration of the initial OS using device 7 is completed. If not completed, the general-purpose OS 21 performs the remaining initialization processing and completes the migration of the initial OS using device 7 (S715). This processing is handled by the initialization unit 214. This completes the migration of the initial OS using device 7 from the initial OS 22 to the general-purpose OS 21. Thereafter, the initial OS using device 7 is controlled by the general-purpose OS 21.
- the initial OS 22 ends the process. As the initial OS 22 ends, the initial OS memory area 40 is integrated into the general-purpose OS memory area 30.
- initialization state information of the initial OS using device 7, setting time of the I / O register, and the like can be considered.
- the initialization state information is progress information indicating to which stage of the initialization stage shown in FIG. 5 the initial OS using device 7 has been initialized.
- the I / O register setting time is information indicating how much time has elapsed since the last setting of the I / O register.
- the device must not access the device for a certain period of time after the last I / O register setting, or the I / O register must be reset within a certain time since the last I / O register setting If the specific processing device 4 is such a device, the I / O register setting time needs to be transmitted to the general-purpose OS, and the information is stored.
- the camera information may include the camera focus that has been set, the ambient illuminance for camera brightness correction, and the like.
- the display information the display size, the set resolution, the frame rate, and the like can be considered.
- the general-purpose OS 21 acquires these pieces of information, the device state that the initial OS 22 is using can be started after the general-purpose OS 21 has migrated to the device. Further, since the general-purpose OS 21 can acquire information necessary for starting the use of the device in the specific processing application 32 by simply referring to the device state management table 51 without accessing the device, the time required for starting the use of the device can be reduced. Can be shortened.
- FIG. 52 An example of the application state management table 52 in the case of a rear view camera display application is shown in FIG. It is conceivable that on the video of the rear view camera, traveling locus information when backed in this state, warning information such as obstacles, and the like are displayed. For this reason, it is conceivable to save the currently displayed traveling locus information, warning information, and the like. Further, when the device migration processing is started from the initial OS 22 to the general-purpose OS 21, the execution state of the specific processing application 41 executed on the initial OS 22 side is also saved. By obtaining these pieces of information on the general-purpose OS 21 side, the state of the application executed on the initial OS 22 can be continuously started after the general-purpose OS 21 has migrated to the device. Since it is not necessary to execute an application process that has already been completed and does not need to be repeatedly executed, the time required to start using the device can be reduced.
- the initialization unit 220 that performs the initialization process step by step, and the determination unit 221 that determines the execution start of the specific process according to the initialization state.
- the specific process start event occurs, the specific process according to the stage of the initialization process completed so far can be executed. As a result, it is possible to execute the specific process corresponding to the specific process start event even before the entire initialization process of the specific process device 4 is completed.
- the device state management table for recording the state of the initial OS using device 7 and the state of the specific processing application 41 are recorded.
- An application state management table is provided.
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)
Abstract
Description
このような状況の中、マルチコア環境にて、高速に起動する必要のある処理(以下、特定処理と呼ぶ)用の専用コアを設ける事で特定処理を高速に起動し、他のコアで汎用OSの起動処理を行い、汎用OSの起動が完了した後、専用コアの管理を汎用OSに移して汎用OSがSMP(Symmetric Multiple Processor)動作を開始し、以降の特定処理は汎用OSが行う方法が提案されている(例えば特許文献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が含まれている。
汎用OS用メモリ領域30は、特定処理用デバイス4の制御を行う特定処理アプリケーション32と、その他のデバイス6の初期化処理および制御を行う主機能処理アプリケーション31とを備えている。
初期OS用メモリ領域40は、特定処理用デバイス4の制御を行う特定処理アプリケーション41を備えている。
なお、特定処理アプリケーション41と特定処理アプリケーション32は同時に実行されるものではなく、汎用OS21の起動が完了した後、特定処理アプリケーション41の処理は特定処理アプリケーション32に引き継がれる。特定処理アプリケーション41と特定処理アプリケーション32は同一のものでもよいし、異なるものでもよい。
共有メモリ50は、初期OS使用デバイス7の状態を管理するデバイス状態管理テーブル51と、特定処理アプリケーション41の状態を管理するアプリケーション状態管理テーブル52とを備えている。
汎用OS21は、システムのメイン機能を処理する基本ソフトウェアである。規模の小さい情報機器では、汎用OS21を用いない場合もあるが、本実施の形態で想定しているカーナビのようにメインとなる処理(例えば、ナビゲーション機能、オーディオ入出力やワンセグなど)の規模が大きい場合、開発の効率化のために汎用OS21が用いられる。
初期OS22は汎用OS21が起動するまで特定処理が動作するOSであり、第2コア12上で動作する。初期OS22は汎用OS21に対し、機能が限定されたOSである。例えば、本実施の形態では、汎用OS21が対象としているデバイスは特定処理用デバイス4、出力用デバイス5、その他のデバイス6であるのに対し、初期OS22は特定処理用デバイス4のみを制御の対象として限定している。初期OS22を用いることにより、汎用OS21用に開発した特定処理アプリケーションを流用することも可能となる。なお、初期OS22を使わず、特定処理アプリケーションを動作させてもよい。
待機部211は、初期OS22が起動時に使用する初期OS使用デバイス7の初期化を行い、待機状態にする。
完了通知部212は、汎用OS21が起動した後、初期OS22に起動完了を通知する。
使用開始部213は、初期OS22が使用していた初期OS使用デバイス7を汎用OS21に使用開始させる。
初期化部214は、初期OS22が使用していた初期OS使用デバイス7の初期化を行う。
判定部215は、特定処理用デバイス4の初期化の状態に応じて、特定処理の選定を行い、その特定処理の開始及び終了を行う。
判定部221は、初期化部220を実行中に特定処理開始イベントを受け付けた際、特定処理用デバイス4の初期化の状態に応じて、特定処理の選定を行い、その特定処理の開始及び終了を行う。
移行準備部222は、初期OS使用デバイス7に対するアクセス制御の主導権を初期OS22から汎用OS21に移すための移行準備を行う。
移行通知部223は、初期OS使用デバイス7の移行準備が完了したことを汎用OS21に通知する。
図4では、特定処理用デバイス4の初期化処理が60に示す特定処理用デバイス初期化処理A(以下、初期化処理Aと呼ぶ)と、61に示す特定処理用デバイス初期化処理B(以下、初期化処理Bと呼ぶ)という2つの処理に分けられる特定処理用デバイス4を例に説明する。ここでは、リアビューカメラの例を用いる。リアビューカメラに必要な初期化処理は、カラーの設定と、画質の設定とする。
初期化処理A(60)のみが完了した状態で実行可能な特定処理を、特定処理a(62)とする。この例では、画質が粗い状態で表示のみを行うものとする。
初期化処理B(61)も完了した状態で実行可能な特定処理を特定処理b(63)とする。ここでは高画質での表示と顔の位置を認識し、枠をつける表示を行うものとする。
初期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つ目は、リセット解除後、第2コア12で初期OS22を起動した後、第2コア12上で特定処理用デバイス4の初期化、及び特定処理を実行すると同時に、第1コア11上で汎用OS21を起動するフローである。処理フローの説明をしたのが図6と図7である。
2つ目は、第1コア11で汎用OS21が起動された後、特定処理用デバイスを第2コア12で起動された初期OS22から、第1コア11で起動された汎用OS21へ移行するフローである。処理フローを説明したのが図8と図9である。
第1コア11はリセット解除後、ブートローダ23を起動する。ブートローダ23の処理フローでは、初期OS用メモリ領域40へ初期OS22のロードを行い(S600)、ロードされた初期OS22のアドレスを第2コア12のプログラムカウンタに設定し第2コア12で初期OS22を起動する(S601)。
以上で第1コア11から呼び出されたブートローダ23の処理フローを終了する。以降、第1コア11では汎用OS21が、第2コア12では初期OS22が同時に処理を実行する。
次に、汎用OS21は、デバイスドライバのロード等の初期化処理を行う(S605)。初期OS22で使用されている初期OS使用デバイス7は汎用OS21からは使用できないため、この初期化処理では、デバイスの状態に影響を与える処理は行わない。この処理は、待機部211が対応する。
初期OS22が起動されると、初期OS22は出力用デバイス5の初期化処理を行う(S607)。この処理は、初期化部220が対応する。
次に、初期OS22は、特定処理用デバイス4の初期化処理A(60)を実行する(S608)。なお、初期OS22では、初期化処理A(60)が実行されている間に特定処理開始イベントが発生した場合、イベントは受け付けるものの、特定処理は実行されない。この処理は、初期化部220が対応する。
以上の処理(S609、S610、S611、S612)は、判定部221が対応する。
なお、特定処理開始イベントが発生していない場合(S609)には、特定処理用デバイス4の初期化処理B(61)を実行する(S613)。
前記S611にて、初期OS22が特定処理a(62)を実行している最中に、汎用OS21の起動が完了した場合、初期OS22から汎用OS21へデバイスの移行処理を開始する(S614)。この処理は、判定部221が対応する。
初期OS22が特定処理b(63)を終了(S618)した後、もしくは、初期化処理B(61)実行時に特定処理開始イベントが無かった場合、初期OS22は、汎用OS21の起動が完了しているか確認する(S619)。
起動が完了していれば初期OS22から汎用OS21へのデバイス移行処理を開始し、起動が完了していない場合には、特定処理開始イベントの有無をチェック(S615)しながら、汎用OS21の起動完了を待つ(S619)。
初期OS22側の処理フローについて図8を用いて説明する。
まず、初期OS22が、初期OS使用デバイスの状態をデバイス状態管理テーブル51に保存する(S700)。デバイス状態管理テーブル51に保存するデータは、汎用OS21上で初期OS使用デバイスを使用開始するとき、初期OS使用デバイスの状態を継続して使用するために必要なデータである。この処理は、移行準備部222が対応する。
汎用OS21は起動後、初期OS22からのデバイス移行通知を待つ(S706)。この処理はビジーループでもよいし、待機中にシステムのメイン処理を行っていて、割込みによって通知を受信してもよい。
汎用OS21がデバイス移行通知を受け取ると、汎用OS21は、デバイス状態管理テーブル51を参照し、初期OS使用デバイス7の状態を取得する(S707)。この処理は、使用開始部213が対応する。
次に、汎用OS21は、初期OS使用デバイス7の使用を開始する(S709)。この処理は、使用開始部213が対応する。
特定処理を実行すべき状態であった場合、汎用OS21が、デバイス状態管理テーブル51、及びアプリケーション状態管理テーブル52から取得した値を元に汎用OS21の中の特定処理アプリケーション32を起動する(S711)。この処理は、使用開始部213が対応する。
以上で初期OS22から、汎用OS21へ、初期OS使用デバイス7の移行が完了する。以後、初期OS使用デバイス7は、汎用OS21でアクセス制御される。
初期化ステート情報とは、初期OS使用デバイス7が図5に示す初期化段階のどの段階まで初期化されているかという進行情報である。I/Oレジスタ設定時間とは、最後にI/Oレジスタを設定してからどの程度時間が経過しているかという情報である。
デバイスには最後にI/Oレジスタを設定してから一定時間デバイスにアクセスしてはいけないもの、あるいは最後にI/Oレジスタを設定してから一定時間以内にI/Oレジスタを再設定しなければいけないものがあり、特定処理用デバイス4がこのようなデバイスであった場合、I/Oレジスタ設定時間を汎用OSに伝える必要があるため、該情報を保存する。
これらの情報を汎用OS21が入手しておくことで、汎用OS21がデバイス移行後に、初期OS22が使用していたデバイスの状態を継続してデバイスの使用を開始できる。また、汎用OS21が特定処理アプリケーション32において、デバイスを使用開始する際に必要な情報を、デバイスにアクセスせず、デバイス状態管理テーブル51を参照するだけで獲得できるので、デバイス使用開始に要する時間を短縮できる。
これらの情報を汎用OS21側が入手しておくことで、汎用OS21がデバイス移行後に、初期OS22上で実行されていたアプリケーションの状態を継続して開始できる。既に終了しており、繰り返し実行する必要のないアプリケーション処理を実行せずに済むため、デバイス使用開始に要する時間を短縮できる。
Claims (6)
- 複数の初期化処理による複数の設定情報に従い動作するデバイスと、
前記デバイスを用いた処理を行う第1のソフトウェアを基本ソフトウェア上で実行する第1の制御部、および前記複数の初期化処理のうち一部の初期化処理が完了した段階で前記第1のソフトウェアの実行前に前記複数の初期化処理による設定情報の一部を用いて前記デバイスを動作させ前記デバイスを用いた処理を行う第2のソフトウェアを実行する第2の制御部、を備え、前記デバイスの前記複数の初期化処理を行うプロセッサと、
を備えた情報機器。 - 前記第2の制御部は前記デバイスに対する初期化処理を実行し、前記第1の制御部に前記初期化処理の進行情報を通知し、第1の制御部は、前記進行情報に基づき、前記複数の初期化処理のうち未実行の残りの初期化処理を実行することを特徴とする請求項1に記載の情報機器。
- 前記第1の制御部は前記基本ソフトウェアの起動処理を行い、この起動処理と前記第2の制御部による前記第2のソフトウェアが前記プロセッサにより並列実行されることを特徴とする請求項1又は2に記載の情報機器。
- 前記第2の制御部は前記基本ソフトウェアが起動した後に、前記第1の制御部に前記デバイスの移行準備ができたことを通知することを特徴とする請求項3に記載の情報機器。
- 前記第2のソフトウェアは前記第2のソフトウェアの実行状態を通知し、第1の制御部は、前記実行状態に基づき、前記第1のソフトウェアを実行することを特徴とする請求項4に記載の情報機器。
- 前記第2のソフトウェアは前記複数の初期化処理が全て完了した後に、前記第2のソフトウェアの実行状態を通知することを特徴とする請求項5に記載の情報機器。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015552202A JP6109340B2 (ja) | 2013-12-09 | 2013-12-09 | 情報機器 |
DE112013007676.4T DE112013007676T5 (de) | 2013-12-09 | 2013-12-09 | Informationsvorrichtung |
CN201380081481.7A CN105980982B (zh) | 2013-12-09 | 2013-12-09 | 信息装置 |
PCT/JP2013/007230 WO2015087365A1 (ja) | 2013-12-09 | 2013-12-09 | 情報機器 |
US15/102,691 US10162647B2 (en) | 2013-12-09 | 2013-12-09 | Information apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2013/007230 WO2015087365A1 (ja) | 2013-12-09 | 2013-12-09 | 情報機器 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2015087365A1 true WO2015087365A1 (ja) | 2015-06-18 |
Family
ID=53370714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2013/007230 WO2015087365A1 (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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020030812A (ja) * | 2018-08-20 | 2020-02-27 | 廣達電腦股▲ふん▼有限公司Quanta Computer Inc. | 更新されたファームウェアコードの検索 |
Families Citing this family (3)
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 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009175904A (ja) * | 2008-01-23 | 2009-08-06 | Alpine Electronics Inc | マルチプロセッサ処理システム |
JP2009284023A (ja) * | 2008-05-19 | 2009-12-03 | Denso Corp | 車両用表示装置 |
JP2012028868A (ja) * | 2010-07-20 | 2012-02-09 | Nec Access Technica Ltd | 車両用表示装置 |
JP2013045382A (ja) * | 2011-08-26 | 2013-03-04 | Renesas Electronics Corp | 情報機器 |
Family Cites Families (10)
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 | オペレーティングシステムの起動制御方法及び情報処理装置 |
CN101751114B (zh) | 2008-12-22 | 2012-01-25 | 联想(北京)有限公司 | 移动终端的显示切换方法及移动终端 |
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 |
JP2013152509A (ja) | 2012-01-24 | 2013-08-08 | Sharp Corp | 画像処理装置 |
-
2013
- 2013-12-09 JP JP2015552202A patent/JP6109340B2/ja active Active
- 2013-12-09 US US15/102,691 patent/US10162647B2/en not_active Expired - Fee Related
- 2013-12-09 DE DE112013007676.4T patent/DE112013007676T5/de active Pending
- 2013-12-09 CN CN201380081481.7A patent/CN105980982B/zh not_active Expired - Fee Related
- 2013-12-09 WO PCT/JP2013/007230 patent/WO2015087365A1/ja active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009175904A (ja) * | 2008-01-23 | 2009-08-06 | Alpine Electronics Inc | マルチプロセッサ処理システム |
JP2009284023A (ja) * | 2008-05-19 | 2009-12-03 | Denso Corp | 車両用表示装置 |
JP2012028868A (ja) * | 2010-07-20 | 2012-02-09 | Nec Access Technica Ltd | 車両用表示装置 |
JP2013045382A (ja) * | 2011-08-26 | 2013-03-04 | Renesas Electronics Corp | 情報機器 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020030812A (ja) * | 2018-08-20 | 2020-02-27 | 廣達電腦股▲ふん▼有限公司Quanta Computer Inc. | 更新されたファームウェアコードの検索 |
CN110851154A (zh) * | 2018-08-20 | 2020-02-28 | 广达电脑股份有限公司 | 用于更新只读存储器编码的计算机实施方法、系统及介质 |
CN110851154B (zh) * | 2018-08-20 | 2023-03-24 | 广达电脑股份有限公司 | 用于更新只读存储器编码的计算机实施方法、系统及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105980982A (zh) | 2016-09-28 |
DE112013007676T5 (de) | 2016-09-08 |
CN105980982B (zh) | 2019-06-28 |
US20160371094A1 (en) | 2016-12-22 |
JP6109340B2 (ja) | 2017-04-05 |
JPWO2015087365A1 (ja) | 2017-03-16 |
US10162647B2 (en) | 2018-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10754558B2 (en) | Vehicular device | |
US12061892B2 (en) | Firmware updating method, and electronic apparatus and storage media for same | |
JP6109340B2 (ja) | 情報機器 | |
US10162649B2 (en) | Information processing system, information processing apparatus and start up control method | |
JP5951145B2 (ja) | オペレーティングシステムリカバリー方法、装置、及び端末デバイス | |
US10084452B2 (en) | Information processing apparatus, image processing apparatus with information processing apparatus, and control method for information processing apparatus | |
US20150154029A1 (en) | Electronic apparatus and operational method thereof | |
KR102516583B1 (ko) | 전자 장치 및 전자 장치의 업데이트 제어 방법 | |
CN113728312A (zh) | 用于控制应用的执行的方法、电子装置及其存储介质 | |
US20150178094A1 (en) | Multisystem and method of booting the same | |
JP2006268377A (ja) | プログラム起動制御装置及びプログラム起動制御方法 | |
JP7093979B2 (ja) | デバイスプロキシ装置及びそれを含む計算機システム | |
JP2013134754A (ja) | 情報処理装置及び情報処理装置の制御方法、並びにコンピューター・プログラム | |
US20150323985A1 (en) | Information processing apparatus, non-transitory computer readable medium, and information processing method | |
WO2017173924A1 (zh) | 切换文件系统的方法及装置 | |
JP7053979B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
US9910698B2 (en) | Information processing apparatus, information processing method, and program | |
JP2004086860A (ja) | 画像形成装置及びその制御方法 | |
WO2017113330A1 (zh) | 一种基于多核嵌入式处理器的显示方法、装置和嵌入式设备 | |
US8918630B1 (en) | System, apparatus, and method for initiating a reboot of a personal computer system by pressing a button on an attached storage device and causing the operating system on the attached storage device to be booted | |
US20140068155A1 (en) | Information processing apparatus, information processing method, and program | |
WO2019183829A1 (zh) | 系统芯片内存储介质空间应用方法、装置及无人机 | |
JP2005202976A (ja) | 電子機器 | |
KR20140081192A (ko) | 외부 카메라 영상을 처리하는 장치 및 그 방법 | |
CN114510287B (zh) | 多处理单元的系统启动方法、装置、存储介质和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 13898970 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2015552202 Country of ref document: JP Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 15102691 Country of ref document: US |
|
WWE | Wipo information: entry into national phase |
Ref document number: 112013007676 Country of ref document: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 13898970 Country of ref document: EP Kind code of ref document: A1 |