JP6177461B2 - Surveillance recorder and starting method thereof - Google Patents
Surveillance recorder and starting method thereof Download PDFInfo
- Publication number
- JP6177461B2 JP6177461B2 JP2016564696A JP2016564696A JP6177461B2 JP 6177461 B2 JP6177461 B2 JP 6177461B2 JP 2016564696 A JP2016564696 A JP 2016564696A JP 2016564696 A JP2016564696 A JP 2016564696A JP 6177461 B2 JP6177461 B2 JP 6177461B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- activation
- main program
- program
- log
- 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.)
- Expired - Fee Related
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/445—Program loading or initiating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Description
本発明は、監視レコーダ及びその起動方法に関し、特に、複数のプロセッサを有する監視レコーダ及びその起動方法に関する。 The present invention relates to a monitoring recorder and a starting method thereof, and more particularly, to a monitoring recorder having a plurality of processors and a starting method thereof.
近年、デジタル映像技術、映像圧縮技術及び映像データ蓄積技術等が進展し、それら技術を応用して構成する監視レコーダシステムも急速に普及している。監視レコーダシステムは、監視カメラで撮影した映像を、Motion JPEGやMPEG(Moving Picture Expets Group)等の映像圧縮技術を用いて圧縮した圧縮映像データとしてレコーダに送信する。レコーダは、その圧縮映像データの記憶及び再生を行う。 In recent years, digital video technology, video compression technology, video data storage technology, and the like have progressed, and surveillance recorder systems configured by applying these technologies are also rapidly spreading. The surveillance recorder system transmits the video captured by the surveillance camera to the recorder as compressed video data compressed using a video compression technique such as Motion JPEG or MPEG (Moving Picture Experts Group). The recorder stores and reproduces the compressed video data.
監視レコーダでは、監視カメラからの圧縮映像データを全てハードディスクに記憶し、その記憶した複数の圧縮映像データをMPEGデコーダ等で同時に伸張再生し、4個、9個、あるいは16個の映像をモニタ等の表示器上に同時に分割表示することが求められる。 In the surveillance recorder, all the compressed video data from the surveillance camera is stored in the hard disk, and the plurality of stored compressed video data is simultaneously decompressed and reproduced by an MPEG decoder or the like, and 4, 9, or 16 videos are monitored, etc. It is required to display the images on the display at the same time.
複数の圧縮映像データを再生し表示する再生表示処理においては、分割表示数が多くなればなるほど処理負荷も高くなる。監視カメラからの圧縮映像データをハードディスクに記憶する記憶処理を含めた監視レコーダとしての処理を単一のプロセッサで実現すると、分割表示数によっては、記憶処理が間に合わなくなり、監視カメラから送信される圧縮映像データの記憶処理が間に合わず、データを取りこぼす問題が発生する。 In reproduction display processing for reproducing and displaying a plurality of compressed video data, the processing load increases as the number of divided displays increases. If processing as a surveillance recorder including storage processing for storing compressed video data from a surveillance camera on a hard disk is realized with a single processor, depending on the number of divided displays, the storage processing may not be in time, and compression sent from the surveillance camera The storage process of the video data is not in time, and the problem of missing the data occurs.
このような記憶処理が間に合わない状況に陥らないようにするために、記憶処理を担当するプロセッサとは別に、再生表示処理を担当するプロセッサを設けることで、再生表示処理負荷の影響を、記憶処理に及ぼさないようにすることができる。 In order not to fall into such a situation where the storage process is not in time, by providing a processor in charge of the reproduction display process separately from the processor in charge of the storage process, the influence of the reproduction display processing load is stored. Can be avoided.
このように、複数のプロセッサを搭載して監視レコーダを構成する場合、それぞれのプロセッサが確実に起動する必要がある。特許文献1に記載された情報処理装置は、プロセッサ各々の起動処理がどこまで進んだかという情報を起動情報として別のプロセッサのメモリデバイスに書き込み、それぞれのプロセッサは、自己に接続されたメモリデバイスを参照することで、別のプロセッサの起動状況を把握し、別のプロセッサの起動に異常が発生したか否かを検知することができる(例えば、特許文献1)。
As described above, when a monitoring recorder is configured by mounting a plurality of processors, it is necessary to reliably start each processor. The information processing apparatus described in
特許文献1に記載の情報処理装置は、2つのプロセッサにそれぞれメモリデバイスを接続し、それぞれの起動ログを別のプロセッサの管理するメモリに保存する構成になっている。このため、一方のプロセッサから別のプロセッサに接続されているメモリデバイスに直接アクセスできるようにバスブリッジを搭載する必要がある。
The information processing apparatus described in
しかしながら、一般にバスブリッジは、例えばPCI(Peripheral Component Interconnect)や、PCIe(PCI Express)等の汎用インターフェースを用いて接続されることが多く、汎用インターフェースを動作させるため、動作クロックの設定及びアクセスタイミングの設定等を行う必要がある。このような設定は、一般的にはプログラムを実行することで実現されるが、プログラムが正しく動作しない場合には、バスブリッジが正常に動作せず、一方のプロセッサから別のプロセッサに接続されているメモリデバイスにアクセスできなくなるという問題がある。
また、既にIC(Integrated Circuit)として構成されているプロセッサを使用して、監視レコーダを構成する場合、ICにバスブリッジの機能が搭載されていなければ、バスブリッジを追加搭載してメモリデバイスを共有化する必要がある。このため、システム構成が複雑になるという問題がある。However, in general, the bus bridge is often connected using a general-purpose interface such as PCI (Peripheral Component Interconnect) or PCIe (PCI Express), and the general-purpose interface is operated. It is necessary to make settings. Such a setting is generally realized by executing a program, but if the program does not operate correctly, the bus bridge does not operate normally and one processor is connected to another processor. There is a problem that it becomes impossible to access the memory device.
Also, when configuring a monitoring recorder using a processor that is already configured as an IC (Integrated Circuit), if the IC does not have a bus bridge function, an additional bus bridge is installed to share the memory device. It is necessary to make it. For this reason, there is a problem that the system configuration becomes complicated.
そこで、本発明は、複数のプロセッサを簡易的な通信方法で接続して、起動時のログをお互いが記憶するように構成し、一方のプロセッサが起動失敗した場合でも、別のプロセッサに記憶されている起動失敗時のログを参照することで、起動不具合原因を解析できるようにすることを目的とする。 Therefore, the present invention is configured such that a plurality of processors are connected by a simple communication method so that the logs at the time of startup are stored in each other, and even when one processor fails to start, it is stored in another processor. The purpose is to be able to analyze the cause of startup failure by referring to the log at the time of startup failure.
本発明の一態様に係る監視レコーダは、第1メインプログラム及び当該第1メインプログラムの起動を行う第1起動プログラムを記憶する第1不揮発メモリと、第1揮発メモリと、前記第1起動プログラムを前記第1揮発メモリに読み出して、実行することで、前記第1メインプログラムを起動させる第1プロセッサと、第2メインプログラム及び当該第2メインプログラムの起動を行う第2起動プログラムを記憶する第2不揮発メモリと、第2揮発メモリと、前記第2起動プログラムを前記第2揮発メモリに読み出して、実行することで、前記第2メインプログラムを起動させる第2プロセッサと、前記第1プロセッサ及び前記第2プロセッサの起動を管理する起動管理部と、第2プロセッサを起動させる指示を前記起動管理部に行わせる強制起動部と、を備え、前記第1プロセッサは、前記第1起動プログラムを実行することで、前記第1メインプログラムを起動させる際に、前記第1メインプログラムを起動する処理の履歴を構成する第1起動ログを前記第2プロセッサに送り、前記第2プロセッサは、前記第2起動プログラムを実行することで、前記第1プロセッサから送られてきた第1起動ログを受け取り、当該受け取られた第1起動ログを前記第2揮発メモリに記憶させ、前記起動管理部は、前記第1プロセッサでの第1メインプログラムの起動完了時に、前記第2プロセッサに前記第2メインプログラムの起動開始を指示し、前記第2プロセッサは、前記第2メインプログラムの起動を開始し、前記第2メインプログラムを起動させる際に、前記第2メインプログラムを起動する処理の履歴を構成する第2起動ログを前記第1プロセッサに送り、前記第1プロセッサは、起動が完了した前記第1メインプログラムを実行することで、前記第2プロセッサから送られてきた第2起動ログを受け取り、当該受け取られた第2起動ログを前記第1揮発メモリに記憶させ、前記強制起動部は、予め定められた時間内に、前記第1プロセッサで第1メインプログラムの起動が完了しないときには、前記第2プロセッサが前記第2メインプログラムを起動開始するように、前記起動管理部に指示させることを特徴とする。 A monitoring recorder according to an aspect of the present invention includes a first main program and a first non-volatile memory that stores a first start program for starting the first main program, a first volatile memory, and the first start program. A second processor that reads the first volatile memory and executes it to start the first main program, and stores a second main program and a second start program that starts the second main program. A non-volatile memory, a second volatile memory, a second processor that activates the second main program by reading the second activation program into the second volatile memory and executing it, the first processor, and the first processor An activation management unit that manages activation of two processors, and an instruction to activate the second processor. A first activation program, and the first processor executes the first activation program to configure a history of processing for activating the first main program when the first main program is activated. The first startup log is sent to the second processor, and the second processor executes the second startup program, thereby receiving the first startup log sent from the first processor and receiving the received first startup log. 1 activation log is stored in the second volatile memory, and the activation management unit instructs the second processor to start activation of the second main program when the activation of the first main program in the first processor is completed. The second processor starts the second main program and starts the second main program when starting the second main program. Is sent from the second processor by executing the first main program that has been activated. The second startup log is received, the received second startup log is stored in the first volatile memory, and the forcible startup unit executes the first main program in the first processor within a predetermined time. When the activation is not completed, the activation management unit is instructed so that the second processor starts activation of the second main program.
本発明の一態様に係る起動方法は、第1プロセッサ及び第2プロセッサを備える監視レコーダの起動方法であって、第1プロセッサが、第1メインプログラムの起動を行う第1起動プログラムを実行することで、前記第1メインプログラムを起動するとともに、前記第1メインプログラムを起動させる際に、前記第1メインプログラムを起動する処理の履歴を構成する第1起動ログを前記第2プロセッサに送り、前記第2プロセッサが、第2メインプログラムの起動を行う第2起動プログラムを実行することで、前記第1プロセッサから送られてきた第1起動ログを受け取り、当該受け取られた第1起動ログを記憶し、前記第1プロセッサでの前記第1メインプログラムの起動完了時に、前記第2プロセッサが、第2メインプログラムの起動を行う第2起動プログラムを実行することで、前記第2メインプログラムを起動するとともに、前記第2メインプログラムを起動させる際に、前記第2メインプログラムを起動する処理の履歴を構成する第2起動ログを前記第1プロセッサに送り、前記第1プロセッサが、起動が完了した前記第1メインプログラムを実行することで、前記第2プロセッサから送られてきた第2起動ログを受け取り、当該受け取られた第2起動ログを記憶し、予め定められた時間内に、前記第1プロセッサで前記第1メインプログラムの起動が完了しないときには、前記第2プロセッサが前記第2メインプログラムの起動を開始することを特徴とする。 A startup method according to an aspect of the present invention is a startup method of a monitoring recorder including a first processor and a second processor, wherein the first processor executes a first startup program for starting the first main program. The first main program is started, and when the first main program is started, a first start log constituting a history of processing for starting the first main program is sent to the second processor, The second processor executes the second start program for starting the second main program, thereby receiving the first start log sent from the first processor and storing the received first start log. When the first processor starts up the first main program, the second processor starts up the second main program. A second start log constituting a history of processing for starting the second main program when starting the second main program by starting the second main program by executing the second start program to be executed To the first processor, and the first processor executes the first main program that has been started, thereby receiving the second startup log sent from the second processor and receiving the received first (2) storing an activation log, and when the activation of the first main program is not completed in the first processor within a predetermined time, the second processor starts activation of the second main program. And
本発明の一態様によれば、複数のプロセッサを簡易的な通信方法で接続して、起動時のログをお互いが記憶するように構成されているため、一方のプロセッサが起動失敗した場合でも、別のプロセッサに記憶されている起動失敗時のログを参照することで、起動不具合原因を解析することができる。 According to one aspect of the present invention, since a plurality of processors are connected by a simple communication method and configured to store each other's log at startup, even when one processor fails to start, By referring to the log at the time of startup failure stored in another processor, the cause of the startup failure can be analyzed.
実施の形態1.
図1は、実施の形態1に係る情報処理装置としての監視レコーダ100の構成を概略的に示すブロック図である。
図1において、符号100は、監視レコーダであり、符号140は、監視カメラである。監視カメラ140は、監視レコーダ100とネットワーク141で接続されている。監視カメラ140は、撮影された映像をMPEG等の映像圧縮技術を用いて圧縮した圧縮映像データとして監視レコーダ100に送信する。
FIG. 1 is a block diagram schematically showing a configuration of a
In FIG. 1,
監視レコーダ100は、第1プロセッサ101と、第1ROM(Read Only Memory)102と、第1RAM(Random Access Memory)103と、ネットワークコントローラ104と、HDD(Hard Disk Drive)105と、第1LAN(Local Area Network)コントローラ106と、第2プロセッサ111と、第2ROM112と、第2RAM113と、第2LANコントローラ114と、制御部121と、リセット制御部122と、タイマ123と、エラーLED124と、プログラム起動面記憶部125と、OS起動完了フラグ記憶部126と、起動失敗回数記憶部127と、シリアル通信路130と、LAN131とを備える。
図1の括弧内の符号は、実施の形態2における構成を示す。The
Reference numerals in parentheses in FIG. 1 indicate configurations in the second embodiment.
第1プロセッサ101は、主に記憶処理を行うプロセッサである。第1プロセッサ101は、第2プロセッサ111とシリアル通信を行うため、シリアル通信機能を備えている。
第1ROM102は、第1プロセッサ101を動作させるためのプログラムを記憶した記憶装置(不揮発メモリ)である。第1ROM102は、プログラムアップデートを実現するために、少なくとも2種類のメインプログラム(第1メインプログラム及び第2メインプログラム)を記憶する。言い換えると、2種類のメインプログラムのうち、一方を使って実行しているときには、もうひとつのメインプログラムをアップデート(書き換え)することができる。また、プログラムアップデート後に、システムを再起動して、第1ROM102に記憶されている新しいバージョンのメインプログラムを実行することでシステムの更新を行うことができる。仮に新しいバージョンのメインプログラムに何らかの不具合があって、正常に起動できない場合には、後述する起動不具合の検出方法によって、第1プロセッサ101を再起動し、元のメインプログラムを使って起動させる。なお、第1ROM102は、Read Only Memoryではあるが、特別なコマンドによりデータを書き換え可能なROM(いわゆるFlashROM)である。ここで、第1プロセッサ101は、メインプログラムを実行することで、監視レコーダ100における記憶処理及び第2プロセッサ111の起動ログの取得処理を行う。起動ログは、メインプログラムを起動する処理の履歴を構成するデータである。
また、第1ROM102は、第1プロセッサ101のメインプログラムの起動を行う起動プログラムであるブートローダを記憶する。第1プロセッサ101は、ブートローダを第1RAM103に読み出して、実行することで、メインプログラムを起動させる。そして、第1プロセッサ101は、メインプログラムを起動する際の処理の履歴を構成する起動ログを第2プロセッサ111にシリアル通信路130を介して送る。例えば、第1プロセッサ101は、メインプログラムの起動時に予め定められた処理を行うと、予め定められた起動ログをシリアル通信路130を介して第2プロセッサ111に送る。第2プロセッサ111では、第1プロセッサ101からの起動ログをシリアル通信路130を介して蓄積することにより、第1プロセッサ101のメインプログラムの起動時の処理の履歴を取得することができる。The
The
The
第1RAM103は、第1プロセッサ101がプログラムを実行するための一時記憶装置(揮発メモリ)である。
The
ネットワークコントローラ104は、ネットワーク141との間で通信を行う通信部である。例えば、ネットワークコントローラ104は、監視カメラ140からの圧縮映像データを受信する。
HDD105は、監視レコーダ100で必要なデータを記憶する記憶装置である。例えば、HDD105は、ネットワークコントローラ104で受信された圧縮映像データを記憶する。なお、HDD105は、書き込み回数に制限のない記憶装置である。
第1LANコントローラ106は、第2プロセッサ111に圧縮映像データを送信する。The
The
The
第2プロセッサ111は、監視レコーダ100において、主に再生表示処理を行うプロセッサである。例えば、第2プロセッサ111は、第1プロセッサ101から、LAN131を介して圧縮映像データを受信して、圧縮映像データを伸張し、表示部としての表示装置150に表示させる。第2プロセッサ111は、第1プロセッサ101とシリアル通信を行うため、シリアル通信機能を備えている。
第2ROM112は、第2プロセッサ111を動作させるためのプログラムを記憶した記憶装置(不揮発メモリ)である。第2ROM112は、プログラムアップデートを実現するために、少なくとも2種類のメインプログラム(第1メインプログラム及び第2メインプログラム)を記憶する。言い換えると、2種類のメインプログラムのうち、一方を使って実行しているときには、もうひとつのメインプログラムをアップデート(書き換え)することができる。また、プログラムアップデート後に、システムを再起動して、第2ROM112に記憶されている新しいバージョンのメインプログラムを実行することでシステムの更新を行うことができる。仮に新しいバージョンのメインプログラムに何らかの不具合があって、正常に起動できない場合には、後述する起動不具合の検出方法によって、第1プロセッサ101を再起動し、元のメインプログラムを使って起動させる。なお、第2ROM112は、Read Only Memoryではあるが、特別なコマンドによりデータを書き換え可能なROM(いわゆるFlashROM)である。ここで、第2プロセッサ111は、メインプログラムを実行することで、監視レコーダ100における再生表示処理を行う。
また、第2ROM112は、第2プロセッサ111のメインプログラムの起動を行う起動プログラムであるブートローダを記憶する。第2プロセッサ111は、ブートローダを第2RAM113に読み出して、実行することで、第1プロセッサ101から、シリアル通信路130を介して送信される起動ログの取得処理を行う。また、第2プロセッサ111は、ブートローダを第2RAM113に読み出して、実行することで、メインプログラムを起動させる。そして、第2プロセッサ111は、メインプログラムの起動時の処理の履歴を構成する起動ログを第1プロセッサ101にシリアル通信路130を介して送る。例えば、第2プロセッサ111は、メインプログラムの起動時に予め定められた処理を行うと、予め定められた起動ログをシリアル通信路130を介して第1プロセッサ101に送る。第1プロセッサ101では、第2プロセッサ111からシリアル通信路130を介して送信される起動ログを蓄積することにより、第2プロセッサ111のメインプログラムの起動時の処理の履歴を取得することができる。The
The
Further, the
第2RAM113は、第2プロセッサ111がプログラムを実行するための一時記憶装置(揮発メモリ)である。
第2LANコントローラ114は、第1LANコントローラ106から送信された圧縮映像データを受信する。The
The
シリアル通信路130は、第1プロセッサ101及び第2プロセッサ111をシリアル通信で接続するための通信路である。
LAN131は、第1LANコントローラ106と、第2LANコントローラ114とを接続するための通信路である。The
The
制御部121は、第1プロセッサ101及び第2プロセッサ111の管理を行う。
制御部121は、起動管理部121aと、強制起動部121bとを備える。
起動管理部121aは、第1プロセッサ101及び第2プロセッサ111の起動を管理する。例えば、起動管理部121aは、第1プロセッサ101と、第2プロセッサ111のリセット制御、起動状態監視、及び、起動するメインプログラムの指示等を行う。
強制起動部121bは、第1プロセッサ101にてメインプログラムの起動が完了しないとき、起動管理部121aに指示して、第2プロセッサ111にメインプログラムを起動させる。言い換えると、強制起動部121bは、予め定められた時間内に、第1プロセッサ101で第1メインプログラムの起動が完了しないときには、第2プロセッサ111が第2メインプログラムを起動開始するように、起動管理部121aに指示させる。
リセット制御部122は、電源ON時に起動管理部121aに対してリセット制御を行う。
タイマ123は、時間を計測する。例えば、タイマ123は、起動管理部121aから設定された時間からカウントダウンして、「0」になると起動管理部121aに通知する。
エラーLED124は、第1プロセッサ101及び第2プロセッサ111のいずれも起動不具合となった場合のエラー状態を表示するための表示デバイスである。The
The
The
When the
The
The
The
プログラム起動面記憶部125は、第1ROM102及び第2ROM112に記憶されている2種類のメインプログラムのうち、どちらから起動するかの起動面を指定する起動面情報を記憶する。起動するメインプログラムの指示は、第1プロセッサ101又は第2プロセッサ111が、起動管理部121aに問合せを行い、起動管理部121aが、プログラム起動面記憶部125に記憶されている起動面情報に基づいて、起動するメインプログラムを伝えることで行われる。
OS起動完了フラグ記憶部126は、OSの起動が完了したか、OSの起動が失敗したかを示すOS起動完了フラグを記憶する。
起動失敗回数記憶部127は、OSの起動に失敗した回数を示す起動失敗回数を記憶する。The program activation
The OS activation completion
The startup failure
ここで、制御部121及びリセット制御部122は、CPLD(Complex Programmable Logic Device)又はFPGA(Field Programmable Gate Array)等で実現することができる。なお、プログラム起動面記憶部125及び起動失敗回数記憶部127は、ROM等の書き換え可能な不揮発メモリ、OS起動完了フラグ記憶部126は、RAM等の揮発メモリにより実現することができる。
Here, the
次に、システム起動時の動作について、図2〜図4のフロー図を用いて説明する。
図2〜図4は、第1プロセッサ101、第2プロセッサ111及び制御部121の処理の流れを説明するシーケンス図である。なお、図2〜図4では、メインプログラムとしてOS(Operating System)が起動される。Next, the operation at system startup will be described with reference to the flowcharts of FIGS.
2 to 4 are sequence diagrams illustrating the processing flow of the
まず、監視レコーダ100の電源がONにされることで、第1プロセッサ101、第2プロセッサ111及び制御部121の電源がONになる(S501)。
制御部121は、電源ON(S501)の後、リセット制御部122の制御に従って、リセットが解除される(S601)。この時、第1プロセッサ101及び第2プロセッサ111は、制御部121からの制御でリセット状態となっている。First, when the power of the
After the power is turned on (S501), the
次に、制御部121の起動管理部121aは、第1プロセッサ101と第2プロセッサ111のリセット解除を行う(S502、S701)とともに、タイマ123に対して、5秒の時間を設定し、カウントダウンをスタートさせる(S602)。
第1プロセッサ101は、起動管理部121aがリセットを解除すると(S502)、ブートローダと呼ばれる起動プログラムを起動させる(S503)。
また、第2プロセッサ111も、起動管理部121aがリセットを解除すると(S701)、ブートローダを起動させる(S702)。
ここで、ブートローダは、プロセッサの動作に必要な設定を行い、システムに必要なメインプログラムであるオペレーティングシステム(OS)を読み出して実行することまでを行うプログラムである。Next, the
When the
The
Here, the boot loader is a program that performs settings necessary for the operation of the processor and reads and executes an operating system (OS) that is a main program necessary for the system.
第1プロセッサ101は、ブートローダを起動することで、プロセッサのクロック設定、キャッシュ設定、第1ROM102のアクセスパラメータの設定、第1RAM103の初期化、シリアル通信路130に必要なコントローラの設定、及び、第1プロセッサ101の入出力ポートの設定等、必要最小限の設定のみを行ったあと、ブートローダの起動完了通知を起動管理部121aに行う(S504)。言い換えると、第1プロセッサ101は、ブートローダの起動がOSを読み出す前まで完了すると、起動管理部121aにブートローダ起動完了の通知を行う。
その後、第1プロセッサ101は、ブートローダを起動することで、OSを第1ROM102から読み出して、第1RAM103にコピーし、OSを実行するところまでを行う(S505)。そして、第1プロセッサ101での処理は、図3のステップS506に進む。The
Thereafter, the
第2プロセッサ111でも同様に、ブートローダを起動することで、プロセッサのクロック設定、キャッシュ設定、第2ROM112のアクセスパラメータの設定、第2RAM113の初期化、シリアル通信路130に必要なコントローラの設定、及び、第2プロセッサ111の入出力ポートの設定等、必要最小限の設定のみを行ったあと、ブートローダの起動完了通知を行う(S703)。言い換えると、第2プロセッサ111も、ブートローダの起動がOSを読み出す前まで完了すると、起動管理部121aにブートローダ起動完了の通知を行う。
その後、第2プロセッサ111は、ブートローダを起動することで、OSを第2ROM112から読み出して、第2RAM113にコピーし、OSを実行するところまでを行う(S704)。そして、第2プロセッサ111での処理は、図3のステップS705に進む。Similarly, by starting the boot loader in the
Thereafter, the
なお、ブートローダの起動完了通知は、例えば、第1プロセッサ101及び第2プロセッサ111の特定の端子を起動管理部121aが監視することで実現できる。具体的には、第1プロセッサ101の特定の端子が、リセット解除後に、HighレベルからLowレベルに変化したことを起動管理部121aが監視することで、把握することができる。第2プロセッサ111から起動管理部121aに通知する場合も同様である。
Note that the boot loader activation completion notification can be realized by, for example, the
なお、ネットワークコントローラ104、HDD105、第1LANコントローラ106及び第2LANコントローラ114については、それらを動作させるために必要なプログラムが多く、OSを起動させるまでは必要ではないので、ブートローダでは初期化等を行わず、OS起動時に初期化及び設定等が行われ、使用可能になる。
Note that the
第1プロセッサ101及び第2プロセッサ111がブートローダを起動させている間、起動管理部121aは、タイマ123から時間の経過が通知されたか否かを確認する(S603)。ここで、第1プロセッサ101及び第2プロセッサ111のブートローダの起動完了通知の前に、ステップS602で設定した5秒の時間が経過した場合(S603でYes)、言い換えると、5秒以内に、ブートローダの起動が完了しなかった場合には、何らかの問題が発生したと判断し、エラーLED124を点滅させて利用者に知らせる(S604)。ブートローダは、前述の通り、クロックの初期化及びRAMの初期化等、ハードウエアの基本的な設定のみをおこなっているプログラムであるため、ブートローダの起動が完了しない(ブートローダの起動完了通知まで処理が進まない)場合は、ハードウエア故障の可能性が高い。このため、起動管理部121aは、それ以降の処理を中止し、その旨をエラーLED124に表示させる。言い換えると、第1プロセッサ101及び第2プロセッサ111が、ブートローダの実行を開始してから、予め定められた処理が行われる前に、予め定められた時間が経過した場合には、ブートローダの起動エラーとして、通知が行われる。
While the
次に、起動管理部121aは、第1プロセッサ101及び第2プロセッサ111からブートローダ起動完了通知を受信したか否かを確認する(S605)。受信していない場合(S605でNo)には、起動管理部121aの処理はステップS603に戻る。両方からのブートローラ起動完了通知を受信した場合(S605でYes)には、起動管理部121aの処理は、図3のステップS606に進む。
Next, the
図3のステップS506では、第1プロセッサ101は、起動プログラムを実行して、起動管理部121aに指示することで、プログラムの起動面を確認する。起動管理部121aは、プログラム起動面記憶部125に記憶されている起動面を指定する情報を第1プロセッサ101に通知し、第1プロセッサ101は、起動面を指定する情報に基づいて、指定されるOSを第1ROM102から読み出して、OSを起動する(S507)。
In step S506 in FIG. 3, the
図5は、第1ROM102に記憶されているプログラムの配置例を示す概略図である。
第1ROM102は、ブートローダ10と、第1プロセッサ用第1メインプログラム11と、第1プロセッサ用第2メインプログラム12と、第2プロセッサの起動ログ13とを記憶する。
ブートローダ10は、第1プロセッサ101用のブートローダである。第1プロセッサ101のリセット解除後は、第1プロセッサ101は、必ず、アドレス0x00000000番地からプログラムを読み出し、実行するように構成されているため、ブートローダ10は、アドレス0x00000000番地から配置される。
第1プロセッサ用第1メインプログラム11及び第1プロセッサ用第2メインプログラム12は、第1プロセッサ101用のOSを含む。第1プロセッサ101は、起動管理部121aに指示することで、プログラムの起動面を確認し、その指示に従って、第1プロセッサ用第1メインプログラム11又は第1プロセッサ用第2メインプログラム12に含まれるOSを読み出し、実行する。
第2プロセッサの起動ログ13は、後述のようにして、第2プロセッサ111から送られてきた起動ログである。FIG. 5 is a schematic diagram illustrating an arrangement example of programs stored in the
The
The
The first
The
図3に戻り、第1プロセッサ101は、ブートローダを第1RAM103に読み出して、実行することで、OSの起動面を確認(S506)し、OSを起動する(S507)。OSは、第1プロセッサ101上で動作するプログラムの基本システムであり、OSを起動することで、第1プロセッサ101は、ネットワークコントローラ104、HDD105及び第1LANコントローラ106の初期設定、並びに、必要なプログラムの初期化を行う。その時の起動ログについては、シリアル通信路130に出力され、第2プロセッサ111が受信する(S508)。
Returning to FIG. 3, the
図6は、第1プロセッサ101がOSを実行しているときの第1RAM103のプログラムの配置(メモリマップ)例を示す概略図である。
第1RAM103は、アドレス0xC0000000から配置され、アドレス0xFFFFFFFFまでの1GByte分搭載されているとする。なお、OSがメモリ内でどのように動作していくかについては、次の通りである。
OSには、1GByteあるメモリのうち、アドレス0xC0000000から、アドレス0xBFFFFFFFまでの512MByteの領域20が割り当てられている。このような場合、OSは、メモリを有効に使用するため、メモリ領域の先頭から配置され、OSが利用可能な範囲まで確保する。その領域20の中に、ネットワークコントローラ104用のバッファ21や、LANコントローラ106用のバッファ22及びHDDドライブにアクセスするためのバッファ23等が適宜配置される。FIG. 6 is a schematic diagram showing an example of program arrangement (memory map) in the
The
Of the 1 GB memory, a 512
図3のステップS705では、第2プロセッサ111は、ブートローダを第2RAM113に読み出して、実行することで、第1プロセッサ101からシリアル通信路130を介して送信された起動ログを受信し、第2RAM113に記憶する。
In step S <b> 705 of FIG. 3, the
図7は、第2プロセッサ111が、第1プロセッサ101からシリアル通信路130で送信される起動ログを取得しているときの第2RAM113のプログラムの配置(メモリマップ)例を示す概略図である。
第2RAM113は、アドレス0x80000000から配置され、アドレス0xFFFFFFFFまでの2GByte分搭載されているとする。
ブートローダは、この2GByteを全て利用することが可能であるが、OSの実行を考慮すると、アドレス0x81000000から0x81FFFFFFまでの16MByteの領域30をワークメモリとして使用する。また、第2ROM112に記憶されているOSを一旦コピーする領域31として、アドレス0x08200000からの16MByteが確保されている。
そして、第1プロセッサ101がシリアル通信路130を介して送信してくる起動ログを、第2プロセッサ111は、第2RAM113のアドレス0x88000000以降の領域32に順次書き込んでいく。FIG. 7 is a schematic diagram illustrating an example of program arrangement (memory map) in the
The
The boot loader can use all of this 2 GB, but considering the execution of the OS, the boot loader uses the 16
Then, the
図2において、第1プロセッサ101及び第2プロセッサ111からブートローダ起動完了通知を受けた後(S605でYes)、図3のステップS606において、起動管理部121aは、タイマ123に対して、30秒の時間を設定して、カウントダウンをスタートさせる。この30秒の時間は、第1プロセッサ101でのOSの起動の失敗を判断する時間である。30秒以内に第1プロセッサ101のOS起動が完了しなければ、起動管理部121aは、OSの起動に何らかの問題があったと判断する。
2, after receiving the boot loader activation completion notification from the
そして、起動管理部121aは、タイマ123から時間の経過が通知されたか否かを確認する(S607)。時間の経過が通知されていなければ(S607でNo)、処理はステップS608に進み、時間の経過が通知されていれば(S607でYes)、処理はステップS611に進む。
ステップS608では、起動管理部121aは、第1プロセッサ101でOSの起動が完了したか否かを確認する。OSの起動が完了していなければ(S608でNo)、処理はステップS607に戻り、OSの起動が完了していれば(S608でYes)、処理はステップS609に進む。Then, the
In step S608, the
第1プロセッサ101は、OSの起動が完了すると(S509)、起動管理部121aにOS起動完了の通知を行う(S510)。この通知は、ブートローダ起動完了のときと同様に、第1プロセッサ101の特定の端子を起動管理部121aが監視することで実現できる。例えば、第1プロセッサ101の特定の端子(ブートローダ起動完了通知の端子とは別)が、リセット解除後に、HighレベルからLowレベルに変化したことを起動管理部121aが監視することで、把握することができる。
When the activation of the OS is completed (S509), the
ステップS608において、第1プロセッサ101のOS起動完了が確認できると(S608でYes)、ステップS609において、起動管理部121aは、OS起動完了フラグ記憶部126に記憶されている第1プロセッサ101のOS起動完了フラグを「起動完了」にセットする。次に、起動管理部121aは、第2プロセッサ111にOSを起動させるため(S610)、そのような指示を行う(S706)。
In step S608, when the OS startup completion of the
図8は、OS起動完了フラグ記憶部126に記憶されているOS起動完了フラグ126aの一例を示す概略図である。
OS起動完了フラグ126aは、第1プロセッサ101用のフラグ格納領域126bと、第2プロセッサ111用のフラグ格納領域126cとを備える。ステップS609での処理により、第1プロセッサ101用のフラグ格納領域126bに、「起動完了」を示す情報が格納されている。FIG. 8 is a schematic diagram illustrating an example of the OS
The OS
図3に戻り、ステップS607で、30秒の時間が経過している場合(S607でYes)には、ステップS611において、起動管理部121aは、OS起動完了フラグ記憶部126に記憶されているOS起動完了フラグ126aにおいて、第1プロセッサ101用のフラグ格納領域126bに「起動失敗」を示す情報を格納する。このとき、強制起動部121bは、第1プロセッサのOSが起動失敗したと判断し、第2プロセッサ111にOSを強制的に起動させるため(S612)、起動管理部121aにそのような指示を行わせる(S707)。これにより、第1プロセッサのOSが起動失敗した場合においても、第2RAM113上に一時的に記憶していた第1プロセッサ101の起動ログを、第2ROM112の第1プロセッサ起動ログ領域(図9参照)に記憶することが可能となる。
Returning to FIG. 3, when the time of 30 seconds has elapsed in step S <b> 607 (Yes in S <b> 607), in step S <b> 611, the
次に、起動管理部121aは、タイマ123に対して、30秒間の時間を設定してカウントダウンをスタートさせる(S613)。この30秒の時間は、第2プロセッサ111でのOSの起動の失敗を判断する時間である。30秒以内に第2プロセッサ111がOSの起動を完了しなければ、起動管理部121aは、OSの起動に何らかの問題があったと判断する。
Next, the
第2プロセッサ111は、ブートプログラムを第2RAM113に読み出して、実行し、起動管理部121aに指示することで、プログラムの起動面を確認する(S708)。起動管理部121aは、プログラム起動面記憶部125に記憶されている起動面を指定する情報を第2プロセッサ111に通知し、第2プロセッサ111は、起動面を指定する情報に基づいて、指定されるOSを第2ROM112から読み出して、OSを起動する(S709)。
The
図9は、第2ROM112に記憶されているプログラムの配置例を示す概略図である。
第2ROM112は、ブートローダ40と、第2プロセッサ用第1メインプログラム41と、第2プロセッサ用第2メインプログラム42と、第1プロセッサの起動ログ43とを記憶する。
ブートローダ40は、第2プロセッサ111用のブートローダである。第2プロセッサ111は、OSの起動指示を受けると、必ず、アドレス0x00000000番地からプログラムを読み出し、実行するように構成されているため、ブートローダ40は、アドレス0x00000000番地から配置される。
第2プロセッサ用第1メインプログラム41及び第2プロセッサ用第2メインプログラム42は、第2プロセッサ111用のOSを含む。第2プロセッサ111は、起動管理部121aに指示することで、プログラムの起動面を確認し、その指示に従って、第2プロセッサ用第1メインプログラム41又は第2プロセッサ用第2メインプログラム42に含まれるOSを読み出し、実行する。
第1プロセッサの起動ログ43は、後述のようにして、第1プロセッサ101から送られてきた起動ログである。FIG. 9 is a schematic diagram showing an example of the arrangement of programs stored in the
The
The
The first
The
ここで、ブートローダが動作した後、OSが起動するときのメモリ(RAM)内での動作について説明する。OS(カーネルともいう)も実態はひとつの実行プログラムが動作しており、高速で動作するためにRAM上にプログラムを全て配置して実行される。この時、連続したメモリ領域のほうが効率的、かつ高速に動作することができるため、RAMの先頭からOSが配置される。 Here, the operation in the memory (RAM) when the OS starts after the boot loader operates will be described. The OS (also referred to as a kernel) actually has one execution program running, and in order to run at high speed, all the programs are arranged and executed on the RAM. At this time, since the continuous memory area can operate efficiently and at high speed, the OS is arranged from the top of the RAM.
ブートローダは、OS(カーネル)の実行イメージをROMからRAM上に一旦コピーして、それを実行することで、その後は、OSがRAMの先頭に配置される。そして、OSが動作していくに従って、メモリ配置は、OSが指定するメモリ配置に変更されていく。従って、ブートローダの配置したメモリ配置は、OSが起動し、OSの指定するメモリ配置でプログラムが動作するまでである。 The boot loader temporarily copies an execution image of the OS (kernel) from the ROM to the RAM and executes it. Thereafter, the OS is arranged at the head of the RAM. As the OS operates, the memory arrangement is changed to the memory arrangement designated by the OS. Therefore, the memory layout arranged by the boot loader is until the OS starts up and the program operates in the memory layout specified by the OS.
以上の動作を、第2プロセッサ111の例として、図10及び図11を用いて説明する。
図10において、ブートローダは、OSダウンロード領域50にOS51をコピーする。そして、ブートローダは、OS51を実行する。The above operation will be described as an example of the
In FIG. 10, the boot loader copies the
OS51は、実行されると第2RAM113の先頭の領域52にプログラムを配置する。また、OS51は、例えば、第1プロセッサ101の起動ログを保存したログ記憶領域53(アドレス0x88000000以降の16MByte)についても、グラフィック用メモリ領域として割り当てる場合、起動ログが消えてしまう。このため、OS51は、図11に示されているように、ログ記憶領域53をグラフィック用メモリ領域として使用する前に、起動ログ54を、OSが使用する領域55にコピーする。
When executed, the
その後、図12に示されているように、OS51は、ログ記憶領域をグラフィック用メモリ領域56として割り当て、それ以外のメモリ領域についても、例えば、デコーダ使用領域57等に割り当てる。
After that, as shown in FIG. 12, the
この起動ログ54は、OSの使用する領域55に保存されているが、このような例に限定されない。例えば、起動ログ54は、第2RAM113上に一時的に生成されるRAMディスク、第2ROM112内に用意される起動ログ保存領域(図5参照)に保存されてもよい。
The
また、起動不具合時に多くの起動ログが出力されることが多いが、起動不具合解析に必要な情報は、不具合発生直後に含まれることがほとんどで、不具合状態になってから出力される起動ログについては、あまり意味がない場合も多い。このため、起動ログ54として確保しておくメモリ容量は一定量(例えば、1MByte程度)でもかまわない。
In addition, many startup logs are often output at the time of startup failure, but the information required for startup failure analysis is often included immediately after the failure occurs. Is often not meaningful. For this reason, the memory capacity reserved as the
図3に戻り、第2プロセッサ111は、第1プロセッサ101の起動ログをOS起動後に確認可能な領域に退避させ、OSの起動を完了させると(S711)、完了通知を起動管理部121aに送信する(S712)。そして、第2プロセッサ111での処理は、図4のステップS713に進む。
Returning to FIG. 3, when the
一方、第1プロセッサ101は、ステップS509でOSの起動を完了しており、第2プロセッサ111の起動ログの取得を行う(S511)。第2プロセッサ111は、第1プロセッサ101にシリアル通信路130を介して起動ログを送信する(S710)。
第1プロセッサ101では、既にOSが起動した後であるため、第1プロセッサ101は、OS上で動作するシリアル通信データを取得するプログラムで、第2プロセッサ111の起動ログを取得し、その起動ログを、そのまま、既に動作しているHDD105に記憶してもよい。また、第1プロセッサ101は、起動ログを、第1RAM103上に一時的に生成するRAMディスクに保存し、第2プロセッサ111がOS起動に失敗したと判定されたときに、第1ROM102内の、第2プロセッサ111の起動ログの格納領域に保存してもよい。そして、第1プロセッサ101での処理は、図4のステップS513に進む。On the other hand, the
Since the
起動管理部121aは、ステップS613で、タイマ123に30秒の時間を設定した後、タイマ123から時間の経過が通知されたか否かを確認する(S614)。時間の経過が通知されていなければ(S614でNo)、処理はステップS615に進み、時間の経過が通知されていれば(S614でYes)、処理はステップS617に進む。
ステップS615では、起動管理部121aは、第2プロセッサ111でOSの起動が完了したか否かを確認する。OSの起動が完了していなければ(S615でNo)、処理はステップS614に戻り、OSの起動が完了していれば(S615でYes)、処理はステップS616に進む。In step S613, the
In step S615, the
ステップS615において、第2プロセッサ111のOS起動完了が確認できると(S615でYes)、ステップS616において、起動管理部121aは、OS起動完了フラグ記憶部126に記憶されている第2プロセッサ111のOS起動完了フラグを「起動完了」にセットする。
図13に示されているように、ステップS616の処理が行われることにより、OS起動完了フラグ記憶部126に記憶されているOS起動完了フラグ126aにおいて、第2プロセッサ111用のフラグ格納領域126cに、「起動完了」を示す情報が格納される。In step S615, when the completion of OS activation of the
As shown in FIG. 13, by performing the process of step S616, the OS
図3に戻り、ステップS614で、30秒の時間が経過している場合(S614でYes)には、ステップS617において、起動管理部121aは、OS起動完了フラグ記憶部126に記憶されているOS起動完了フラグ126aにおいて、第2プロセッサ111用のフラグ格納領域126cに「起動失敗」を示す情報を格納する。
Returning to FIG. 3, when the time of 30 seconds has elapsed in step S614 (Yes in S614), the
次に、起動管理部121aは、第1プロセッサ101に対して、第2プロセッサ111の起動ログ取得を完了する指示を通知する(S618)。このような完了通知を受けて(S512)、第1プロセッサ101は、第2プロセッサ111の起動ログ取得を停止する。この通知は、ブートローダ起動完了のときと同様に、第1プロセッサ101の特定の端子を起動管理部121aが監視することで実現できる。例えば、第1プロセッサ101の特定の端子が、HighレベルからLowレベルに変化したことを起動管理部121aが監視することで、把握することができる。そして、制御部121での処理は、図4のステップS619に進む。
Next, the
図4のステップS619では、起動管理部121aは、OS起動完了フラグ記憶部126に記憶されているOS起動完了フラグに基づいて、第1プロセッサ101及び第2プロセッサ111のOS起動状態を判定する。そして、第1プロセッサ101及び第2プロセッサ111の少なくとも何れか一方において、OSの起動に成功している場合(S619でNo)には、起動管理部121aにおける起動処理を終了する(S620)。一方、第1プロセッサ101及び第2プロセッサ111の両方でOSの起動に失敗している場合(S619でYes)には、処理はステップS621に進む。
In step S619 in FIG. 4, the
ステップS621では、起動管理部121aは、プログラム起動面記憶部125に記憶されている起動面情報を、現在の起動面とは逆の起動面となるように更新する。そして、起動管理部121aは、起動失敗回数記憶部127の起動失敗回数に「1」を加算して、第1プロセッサ101及び第2プロセッサ111の両方を再起動する。
In step S621, the
また、図4のステップS513では、第1プロセッサ101は、第2プロセッサ111のOSの起動状態を確認する。例えば、第1プロセッサ101は、起動管理部121aに、第2プロセッサ111のOSの起動状態が起動完了か、起動失敗か、を問い合わせる。このような問い合わせを受けた起動管理部121aは、OS起動完了フラグ記憶部126に記憶されているOS起動完了フラグ126aを参照して、第2プロセッサ111のOS起動状態を第1プロセッサ101に通知する。そして、第1プロセッサ101は、このような通知に基づいて、第2プロセッサ111のOSの起動状態を判定する。第2プロセッサ111が起動失敗の場合(S513でYes)には、処理はステップS514に進み、第2プロセッサ111が起動完了の場合(S513でNo)には、処理はステップS515に進む。
Further, in step S513 in FIG. 4, the
ステップS514では、第1プロセッサ101は、第1RAM103上に一時的に記憶していた第2プロセッサ111の起動ログを、HDD105、又は、第1ROM102の第2プロセッサ起動ログ領域(図5参照)に記憶する。そして、処理はステップS621に進む。
一方、ステップS515では、第1プロセッサ101は、監視レコーダ100に必要なプログラムを実行する。In step S514, the
On the other hand, in step S515, the
図4のステップS713では、第2プロセッサ111は、第1プロセッサ101のOSの起動状態を確認する。例えば、第2プロセッサ111は、起動管理部121aに、第1プロセッサ101のOSの起動状態が起動完了か、起動失敗か、を問い合わせる。このような問い合わせを受けた起動管理部121aは、OS起動完了フラグ記憶部126に記憶されているOS起動完了フラグ126aを参照して、第1プロセッサ101の起動状態を第2プロセッサ111に通知する。そして、第2プロセッサ111は、このような通知に基づいて、第1プロセッサ101のOSの起動状態を判定する。第1プロセッサ101が起動失敗の場合(S713でYes)には、処理はステップS714に進み、第1プロセッサ101が起動完了の場合(S713でNo)には、処理はステップS715に進む。
In step S713 of FIG. 4, the
ステップS714では、第2プロセッサ111は、第2RAM113上に一時的に記憶していた第1プロセッサ101の起動ログを、第2ROM112の第1プロセッサ起動ログ領域(図9参照)に記憶する。ここまでの処理により、第1プロセッサ101のOSが起動失敗した場合においても、第1プロセッサ101の起動ログを保管しておくことが可能となり、OS起動失敗の原因調査を容易化できるという効果が得られる。また、この効果により、客先に設置された監視レコーダにてOSが起動失敗したときの原因調査及び対策の迅速化を図ることが可能となり、顧客へのサービス対応を向上できるという効果も得られる。そして、処理はステップS621に進む。
一方、ステップS715では、第2プロセッサ111は、監視レコーダ100に必要なプログラムを実行する。In step S714, the
On the other hand, in step S715, the
ステップS621の再起動によって、第1プロセッサ101は、第1ROM102のもう一つのメインプログラムを用いて起動し、第2プロセッサ111は、第2ROM112のもう一つのメインプログラムを用いて起動するため、ハードウエアが原因の起動不具合でなければ、正常起動する確率は非常に高くなる。このため、監視レコーダ100におけるシステムの品質を高めることができる。
起動後、例えば、第1プロセッサ101又は第2プロセッサ111は、起動失敗回数記憶部127の起動失敗回数がゼロでない場合、何らかの起動失敗が前回の起動時にあったと認識することができる。このため、第1プロセッサ101又は第2プロセッサ111は、HDD105又は第1ROM102に記憶されている第2プロセッサ111の起動ログ、又は、第2ROM112に記憶されている第1プロセッサ101の起動ログを利用者に表示したり、起動ログが記憶されていることを利用者に告知したりすることができる。例えば、第2プロセッサ111は、表示装置150に起動ログを表示する画面、又は、起動ログが記憶されていることを示す画面を表示させることができる。また、第1プロセッサ101は、起動ログが記憶されていることを示す情報を含む電子メールを生成し、ネットワークコントローラ104を介して、予め定められた利用者の端末に送信することができる。さらに、起動管理部121aは、エラーLED124を点滅させることで、起動ログが記憶されていることを利用者に通知してもよい。By restarting in step S621, the
After the activation, for example, the
実施の形態2
図1に示されているように、実施の形態2に係る監視レコーダ200は、第1プロセッサ101と、第1ROM102と、第1RAM103と、ネットワークコントローラ104と、HDD105と、第1LANコントローラ106と、第2プロセッサ211と、第2ROM112と、第2RAM113と、第2LANコントローラ114と、制御部121と、リセット制御部122と、タイマ123と、エラーLED124と、プログラム起動面記憶部125と、OS起動完了フラグ記憶部126と、起動失敗回数記憶部127と、シリアル通信路130と、LAN131とを備える。実施の形態2に係る監視レコーダ200は、第2プロセッサ211の第2RAM113の利用方法が異なる他は、実施の形態1に係る監視レコーダ100と同様に構成されている。Embodiment 2
As shown in FIG. 1, the
実施の形態1においては、図7に示されているように、第2プロセッサ111のブートローダ動作時における第2RAM113のメモリ配置において、アドレス0x88000000以降がログ領域とされている。このため、実施の形態1では、取得した起動ログが、どこまで書き込まれているかを判断することができない。
そこで、実施の形態2における第2プロセッサ211は、起動ログ取得時に、起動ログのデータサイズの合計をカウントして、起動ログ取得終了時に、カウントされたデータサイズの合計をヘッダ情報として、起動ログの先頭に書き込んでおく。In the first embodiment, as shown in FIG. 7, in the memory arrangement of the
Therefore, the second processor 211 in the second embodiment counts the total data size of the startup log when the startup log is acquired, and uses the total of the counted data size as header information when the startup log acquisition ends. Write at the beginning of.
例えば、図14に示すように、第2プロセッサ211は、第2RAM113のアドレス0x88000010以降の領域60に起動ログを書き込んで、そのデータの書き込み後に、アドレス0x88000000の領域61に、起動ログのデータサイズを書き込む。そして、第1プロセッサ101の起動が失敗して、起動ログを第2ROM112に記憶するときには、第2プロセッサ211は、アドレス0x88000000の領域61に記載されている起動ログのデータサイズを参照してから、そのサイズ分のデータを、第2ROM112に書き込む。このように構成することで、第2ROM112に書き込むデータサイズを少なくすることができ、第2ROM112への書き込み処理時間を少なくすることができる。
For example, as shown in FIG. 14, the second processor 211 writes the activation log in the
以上に記載した実施の形態2においては、第2プロセッサ211が第2RAM113に第1プロセッサ101の起動ログを記憶する際の処理を記載したが、第1プロセッサ101が第1RAM103に第2プロセッサ211の起動ログを記憶する際に同様の処理を行ってもよい。
In the second embodiment described above, the processing when the second processor 211 stores the activation log of the
実施の形態3
図15は、実施の形態3に係る監視レコーダ300の構成を概略的に示すブロック図である。
図15に示されているように、実施の形態3に係る監視レコーダ300は、第1プロセッサ301と、第1ROM102と、第1RAM103と、ネットワークコントローラ104と、HDD105と、第1LANコントローラ106と、第2プロセッサ311と、第2ROM112と、第2RAM113と、第2LANコントローラ114と、制御部121と、リセット制御部122と、タイマ123と、エラーLED124と、プログラム起動面記憶部125と、OS起動完了フラグ記憶部126と、起動失敗回数記憶部127と、シリアル通信路130と、LAN131とを備える。実施の形態3に係る監視レコーダ300は、第1プロセッサ301及び第2プロセッサ311での処理を除いて、実施の形態1に係る監視レコーダ100と同様に構成されている。
なお、実施の形態3においては、ネットワーク141にサーバ360が接続されている。
実施の形態1では、第2プロセッサ111で取得された第1プロセッサ101の起動ログは、第2ROM112に記憶している。ここで、第2ROM112は、FlashROMで構成されているため、データの書き込み回数に制限がある。一方、HDD105は、書き込み制限がない。Embodiment 3
FIG. 15 is a block diagram schematically showing the configuration of the
As shown in FIG. 15, the
In the third embodiment, a
In the first embodiment, the startup log of the
実施の形態3では、第2プロセッサ311で取得された第1プロセッサ301の起動ログの全部を、第2プロセッサ311がOSを起動するときの起動ログに追記して、第1プロセッサ301に送信する。これにより、第1プロセッサ301は、自身の起動ログを取得することができ、第1プロセッサ301及び第2プロセッサ311の起動ログを一つに集約することできる。さらに、第1プロセッサ301又は第2プロセッサ311は、起動が正常に行われた場合にも、起動のたびに、HDD105に起動ログを記憶することができる。このため、起動はするが普段と違う起動ログ、又は、起動しなくなる予兆を含む起動ログ等を取得することが可能になり、起動ログを有効に活用することができる。
In the third embodiment, the entire start log of the
また、第1プロセッサ301は、ネットワーク141に接続されているサーバ360に、HDD105に保存されている起動ログ、第1ROM102及び第2ROM112に保存されている起動ログ、又は、第1RAM103及び第2RAM113に一時保存されている起動ログを送信して、記憶させてもよい。
このように構成することで、監視レコーダ300の起動時の起動ログを遠隔地から監視して、不具合の予兆や、不具合そのものを早期に発見することが可能となり、監視レコーダ300のシステムの品質を向上させることができる。Further, the
By configuring in this way, it becomes possible to monitor the start log at the start of the
100,200,300 監視レコーダ、 101,301 第1プロセッサ、 102 第1ROM、 103 第1RAM、 104 ネットワークコントローラ、 105 HDD、 106 第1LANコントローラ、 111,211,311 第2プロセッサ、 112 第2ROM、 113 第2RAM、 114 第2LANコントローラ、 121 制御部、 121a 起動管理部、 121b 強制起動部、 122 リセット制御部、 123 タイマ、 124 エラーLED、 125 プログラム起動面記憶部、 126 OS起動完了フラグ記憶部、 127 起動失敗回数記憶部、130 シリアル通信路、 131 LAN。 100, 200, 300 Monitoring recorder, 101, 301 1st processor, 102 1st ROM, 103 1st RAM, 104 Network controller, 105 HDD, 106 1st LAN controller, 111, 211, 311 2nd processor, 112 2nd ROM, 113 1st 2 RAM, 114 second LAN controller, 121 control unit, 121a activation management unit, 121b forced activation unit, 122 reset control unit, 123 timer, 124 error LED, 125 program activation surface storage unit, 126 OS activation completion flag storage unit, 127 activation Failure number storage unit, 130 serial communication path, 131 LAN.
Claims (12)
第1揮発メモリと、
前記第1起動プログラムを前記第1揮発メモリに読み出して、実行することで、前記第1メインプログラムを起動させる第1プロセッサと、
第2メインプログラム及び当該第2メインプログラムの起動を行う第2起動プログラムを記憶する第2不揮発メモリと、
第2揮発メモリと、
前記第2起動プログラムを前記第2揮発メモリに読み出して、実行することで、前記第2メインプログラムを起動させる第2プロセッサと、
前記第1プロセッサ及び前記第2プロセッサの起動を管理する起動管理部と、
第2プロセッサを起動させる指示を前記起動管理部に行わせる強制起動部と、を備え、
前記第1プロセッサは、前記第1起動プログラムを実行することで、前記第1メインプログラムを起動させる際に、前記第1メインプログラムを起動する処理の履歴を構成する第1起動ログを前記第2プロセッサに送り、
前記第2プロセッサは、前記第2起動プログラムを実行することで、前記第1プロセッサから送られてきた第1起動ログを受け取り、当該受け取られた第1起動ログを前記第2揮発メモリに記憶させ、
前記起動管理部は、前記第1プロセッサでの第1メインプログラムの起動完了時に、前記第2プロセッサに前記第2メインプログラムの起動開始を指示し、
前記第2プロセッサは、前記第2メインプログラムの起動を開始し、前記第2メインプログラムを起動させる際に、前記第2メインプログラムを起動する処理の履歴を構成する第2起動ログを前記第1プロセッサに送り、
前記第1プロセッサは、起動が完了した前記第1メインプログラムを実行することで、前記第2プロセッサから送られてきた第2起動ログを受け取り、当該受け取られた第2起動ログを前記第1揮発メモリに記憶させ、
前記強制起動部は、予め定められた時間内に、前記第1プロセッサで第1メインプログラムの起動が完了しないときには、前記第2プロセッサが前記第2メインプログラムを起動開始するように、前記起動管理部に指示させること
を特徴とする監視レコーダ。A first non-volatile memory storing a first main program and a first start program for starting the first main program;
A first volatile memory;
A first processor that activates the first main program by reading the first activation program into the first volatile memory and executing the first activation program;
A second non-volatile memory storing a second main program and a second start program for starting the second main program;
A second volatile memory;
A second processor that activates the second main program by reading the second activation program into the second volatile memory and executing the second activation program;
An activation manager for managing activation of the first processor and the second processor;
A forced activation unit that causes the activation management unit to instruct the activation of the second processor,
The first processor executes the first start program to start the first main program, and when the first main program is started, the first processor configures a first start log constituting a history of processing for starting the first main program. To the processor,
The second processor receives the first startup log sent from the first processor by executing the second startup program, and stores the received first startup log in the second volatile memory. ,
The activation management unit instructs the second processor to start activation of the second main program upon completion of activation of the first main program in the first processor,
The second processor starts activation of the second main program, and when the second main program is activated, a second activation log constituting a history of processing for activating the second main program is stored in the first processor. To the processor,
The first processor receives the second startup log sent from the second processor by executing the first main program whose startup has been completed, and receives the received second startup log as the first volatile data. Memorize it in memory,
The forced activation unit is configured to control the activation management so that the second processor starts activating the second main program when activation of the first main program is not completed in the first processor within a predetermined time. A monitoring recorder characterized by instructing the department.
前記第1プロセッサが前記第1メインプログラムの起動に失敗したと判断した場合には、前記第2プロセッサに、前記第2不揮発メモリの記憶されている第1起動ログを前記第2不揮発メモリに記憶させ、
前記第2プロセッサが前記第2メインプログラムの起動に失敗したと判断した場合には、前記第1プロセッサに、前記第1不揮発メモリに記憶されている第2起動ログを前記第1不揮発メモリに記憶させること
を特徴とする請求項1に記載の監視レコーダ。The activation management unit
If the first processor determines that the first main program has failed to start, the first processor stores the first start log stored in the second non-volatile memory in the second non-volatile memory. Let
If the second processor determines that the activation of the second main program has failed, the second activation log stored in the first nonvolatile memory is stored in the first nonvolatile memory in the first processor. The monitoring recorder according to claim 1, wherein:
前記起動管理部は、
前記第1プロセッサが前記第1メインプログラムの起動を開始してから、前記第1メインプログラムの起動を完了する前に、前記タイマで計測された時間が予め定められた時間を経過した場合に、前記第1メインプログラムの起動に失敗したと判断し、
前記第2プロセッサが前記第2メインプログラムの起動を開始してから、前記第2メインプログラムの起動を完了する前に、前記タイマで計測された時間が予め定められた時間を経過した場合に、前記第2メインプログラムの起動に失敗したと判断すること
を特徴とする請求項2に記載の監視レコーダ。A timer that measures time,
The activation management unit
When the time measured by the timer has passed a predetermined time before the first processor starts starting the first main program and before starting the first main program, Determining that the first main program has failed to start;
When the time measured by the timer has passed a predetermined time after the second processor starts starting the second main program and before starting the second main program, The monitoring recorder according to claim 2, wherein it is determined that activation of the second main program has failed.
前記第2不揮発メモリは、前記第2メインプログラムの代わりに実行することのできる第4メインプログラムをさらに記憶し、
前記起動管理部は、
前記第1メインプログラムの起動に失敗したと判断した場合には、前記第1プロセッサに、前記第1メインプログラムの代わりに前記第3メインプログラムを起動させ、
前記第2メインプログラムの起動に失敗したと判断した場合には、前記第2プロセッサに、前記第2プロセッサの代わりに前記第4メインプログラムを起動させること、
を特徴とする請求項2又は3に記載の監視レコーダ。The first nonvolatile memory further stores a third main program that can be executed instead of the first main program,
The second nonvolatile memory further stores a fourth main program that can be executed instead of the second main program,
The activation management unit
If it is determined that the activation of the first main program has failed, the first processor is caused to activate the third main program instead of the first main program,
If it is determined that the second main program has failed to start, causing the second processor to start the fourth main program instead of the second processor;
The monitoring recorder according to claim 2 or 3, characterized by the above-mentioned.
前記第2プロセッサは、前記第2メインプログラム又は前記第4メインプログラムの起動完了後に、前記起動失敗回数が1以上である場合には、起動ログが記憶されていることを利用者に告知すること
を特徴とする請求項4に記載の監視レコーダ。A startup failure number storage unit for storing the number of startup failures of the first processor or the second processor;
The second processor notifies the user that an activation log is stored when the activation failure count is 1 or more after the activation of the second main program or the fourth main program is completed. The surveillance recorder according to claim 4.
前記第1プロセッサは、前記監視レコーダに電源が入れられた場合には、前記第1起動プログラムを、前記第1不揮発メモリから前記第1揮発メモリに読み出して起動させ、
前記第2プロセッサは、前記監視レコーダに電源が入れられた場合には、前記第2起動プログラムを、前記第2不揮発メモリから前記第2揮発メモリに読み出して起動させ、
前記起動管理部は、前記第1起動プログラムの起動にエラーが生じたと判断した場合、又は、前記第2起動プログラムの起動にエラーが生じたと判断した場合には、前記表示デバイスにエラーを通知させること
を特徴とする請求項2から5の何れか一項に記載の監視レコーダ。A display device for notifying of an error;
The first processor reads and starts the first activation program from the first nonvolatile memory to the first volatile memory when the monitoring recorder is powered on,
The second processor reads and starts the second activation program from the second nonvolatile memory to the second volatile memory when the monitoring recorder is powered on,
When determining that an error has occurred in the activation of the first activation program, or when determining that an error has occurred in the activation of the second activation program, the activation management unit notifies the display device of the error The surveillance recorder according to any one of claims 2 to 5, wherein
を特徴とする請求項1から6の何れか一項に記載の監視レコーダ。The said 2nd processor calculates the sum total of the data size of the 1st starting log sent from the said 1st processor, and memorize | stores the said sum total in the said 2nd volatile memory. The monitoring recorder according to any one of the above.
を特徴とする請求項7に記載の監視レコーダ。The monitoring recorder according to claim 7, wherein the total is stored in an area immediately before an area for storing the first activation log in the second volatile memory.
を特徴とする請求項1から8の何れか一項に記載の監視レコーダ。The said 2nd processor includes the 1st starting log memorize | stored in the said 2nd non-volatile memory in the said 2nd starting log, It transmits to the said 1st processor. The surveillance recorder according to one item.
前記第1プロセッサは、前記第1不揮発メモリに記憶されている第2起動ログを前記記憶装置に記憶させること
を特徴とする請求項1から9の何れか一項に記載の監視レコーダ。It is further equipped with a storage device that does not limit the number of writes,
The monitoring recorder according to any one of claims 1 to 9, wherein the first processor stores a second activation log stored in the first nonvolatile memory in the storage device.
前記第1プロセッサは、前記第1不揮発メモリに記憶されている第2起動ログを前記サーバに送信し、前記サーバに記憶させること
を特徴とする請求項1から10の何れか一項に記載の監視レコーダ。A communication unit for communicating with the server;
The said 1st processor transmits the 2nd starting log memorize | stored in the said 1st non-volatile memory to the said server, and makes it memorize | store in the said server. The Claim 1 characterized by the above-mentioned. Surveillance recorder.
第1プロセッサが、第1メインプログラムの起動を行う第1起動プログラムを実行することで、前記第1メインプログラムを起動するとともに、前記第1メインプログラムを起動させる際に、前記第1メインプログラムを起動する処理の履歴を構成する第1起動ログを前記第2プロセッサに送り、
前記第2プロセッサが、第2メインプログラムの起動を行う第2起動プログラムを実行することで、前記第1プロセッサから送られてきた第1起動ログを受け取り、当該受け取られた第1起動ログを記憶し、
前記第1プロセッサでの前記第1メインプログラムの起動完了時に、前記第2プロセッサが、第2メインプログラムの起動を行う第2起動プログラムを実行することで、前記第2メインプログラムを起動するとともに、前記第2メインプログラムを起動させる際に、前記第2メインプログラムを起動する処理の履歴を構成する第2起動ログを前記第1プロセッサに送り、
前記第1プロセッサが、起動が完了した前記第1メインプログラムを実行することで、前記第2プロセッサから送られてきた第2起動ログを受け取り、当該受け取られた第2起動ログを記憶し、
予め定められた時間内に、前記第1プロセッサで前記第1メインプログラムの起動が完了しないときには、前記第2プロセッサが前記第2メインプログラムの起動を開始すること
を特徴とする起動方法。A method for starting a monitoring recorder comprising a first processor and a second processor,
The first processor executes the first start program for starting the first main program, thereby starting the first main program and the first main program when starting the first main program. A first activation log constituting a history of processing to be activated is sent to the second processor;
The second processor executes a second start program for starting the second main program, thereby receiving the first start log sent from the first processor and storing the received first start log. And
When the first processor starts up the first main program, the second processor executes the second start program for starting the second main program, thereby starting the second main program, When starting the second main program, a second start log constituting a history of processing for starting the second main program is sent to the first processor,
The first processor executes the first main program whose startup is completed, thereby receiving the second startup log sent from the second processor, storing the received second startup log,
An activation method characterized in that, when activation of the first main program is not completed in the first processor within a predetermined time, the second processor starts activation of the second main program.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014252606 | 2014-12-15 | ||
JP2014252606 | 2014-12-15 | ||
PCT/JP2015/071472 WO2016098376A1 (en) | 2014-12-15 | 2015-07-29 | Surveillance recorder and startup method therefor |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2016098376A1 JPWO2016098376A1 (en) | 2017-04-27 |
JP6177461B2 true JP6177461B2 (en) | 2017-08-09 |
Family
ID=56126280
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016564696A Expired - Fee Related JP6177461B2 (en) | 2014-12-15 | 2015-07-29 | Surveillance recorder and starting method thereof |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6177461B2 (en) |
WO (1) | WO2016098376A1 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018005586A (en) * | 2016-07-04 | 2018-01-11 | 三菱電機株式会社 | Built-in device |
JP6873553B2 (en) * | 2017-04-24 | 2021-05-19 | 株式会社ユニバーサルエンターテインメント | Pachinko machine |
WO2020032192A1 (en) * | 2018-08-10 | 2020-02-13 | 株式会社デンソー | Electronic control device, vehicular electronic control system, activation execution control method, and activation execution control program |
JP7047819B2 (en) * | 2018-08-10 | 2022-04-05 | 株式会社デンソー | Electronic control device, electronic control system for vehicles, activation execution control method and activation execution control program |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4940757B2 (en) * | 2006-05-25 | 2012-05-30 | 日本電気株式会社 | Mobile radio communication terminal, information collecting method and program when abnormality occurs |
JP5773775B2 (en) * | 2011-06-24 | 2015-09-02 | キヤノン株式会社 | Information processing apparatus, printing apparatus, and monitoring method |
-
2015
- 2015-07-29 JP JP2016564696A patent/JP6177461B2/en not_active Expired - Fee Related
- 2015-07-29 WO PCT/JP2015/071472 patent/WO2016098376A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2016098376A1 (en) | 2016-06-23 |
JPWO2016098376A1 (en) | 2017-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI578233B (en) | Unified firmware managment system, non-transitory computer-readable storage medium and method for unified firmware managment | |
TWI571736B (en) | Method and system of automatic debug information collection | |
JP6177461B2 (en) | Surveillance recorder and starting method thereof | |
TWI386847B (en) | Method of safe and recoverable firmware update and device using the same | |
JP5120664B2 (en) | Server system and crash dump collection method | |
CN106557344A (en) | For the computer-readable medium of automated installation of system software, server and method | |
US10387260B2 (en) | Reboot system and reboot method | |
US10922162B2 (en) | Capturing video data and serial data during an information handling system failure | |
US20190196864A1 (en) | Process Processing Method and Apparatus | |
US20100332914A1 (en) | Dump output control apparatus and dump output control method | |
US9596157B2 (en) | Server restart management via stability time | |
JP2010009296A (en) | Software operation monitoring device and method | |
JP6599725B2 (en) | Information processing apparatus, log management method, and computer program | |
CN113190256B (en) | Upgrading method, device and equipment | |
JP6515462B2 (en) | INFORMATION PROCESSING DEVICE, SETTING METHOD FOR INFORMATION PROCESSING DEVICE, AND SETTING PROGRAM | |
JP6264879B2 (en) | Information processing apparatus, monitoring program, and monitoring method | |
KR101941105B1 (en) | A method of collectively managing the occurrence of errors in the hardware included in the computer system and performing backup and recovery to inform the external terminal | |
US8478975B2 (en) | Electronic device and method for detecting operative states of components in the electronic device | |
KR101938202B1 (en) | A method of collectively managing the occurrence of errors in the hardware included in the computer system and performing backup and recovery to inform the external terminal | |
KR101793263B1 (en) | A method of collectively managing the occurrence of errors in the hardware included in the computer system and performing backup and recovery to inform the external terminal | |
JP6627366B2 (en) | Information processing system, information processing method and program | |
JP6465998B2 (en) | Video recording / reproducing apparatus and activation method | |
CN111857944A (en) | Method, device, system and computer readable storage medium for virtual machine live migration | |
JP6232877B2 (en) | Information processing apparatus, information processing method, and program | |
TW201926026A (en) | Operating system repairs via electronic devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20161110 |
|
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: 20170613 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170711 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6177461 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |