(57)【要約】【課題】複数のファームウェアのいずれかを起動領域情報に基づいて起動する場合、起動領域情報が指示するファームウェアに不具合があると起動処理が複雑になる。【解決手段】本発明のファームウェア起動装置は、複数のメモリ領域に格納されたファームウェアのうち起動する対象となるファームウェアを指定する起動領域選択信号と、起動領域選択信号の有効性に関する情報を含む有効情報信号とを取得する取得手段と、起動領域選択信号と有効情報信号とに基づいて、起動する対象となるファームウェアである起動ファームウェアを決定するファームウェア決定手段と、起動ファームウェアを、実行可能な状態に設定するファームウェア設定手段、とを有する。【選択図】      図１
2017167887.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリ領域に格納されたファームウェアのうち起動する対象となるファームウェアを指定する起動領域選択信号と、前記起動領域選択信号の有効性に関する情報を含む有効情報信号とを取得する取得手段と、
前記起動領域選択信号と前記有効情報信号とに基づいて、起動する対象となるファームウェアである起動ファームウェアを決定するファームウェア決定手段と、
前記起動ファームウェアを、実行可能な状態に設定するファームウェア設定手段、とを有する
ファームウェア起動装置。
【請求項２】
前記ファームウェア決定手段は、前記有効情報信号に基づいて前記起動領域選択信号が有効か否かを判断し、前記起動領域選択信号が有効であると判断した場合、前記起動領域選択信号が指定する前記ファームウェアを前記起動ファームウェアに決定する
請求項１に記載したファームウェア起動装置。
【請求項３】
前記起動ファームウェアに関する情報である起動領域情報を記憶する記憶手段を備え、
前記ファームウェア決定手段は、前記有効情報信号に基づいて前記起動領域選択信号が有効か否かを判断し、前記起動領域選択信号が有効でないと判断した場合、前記起動領域情報に基づいて前記起動ファームウェアを決定する
請求項１または２に記載したファームウェア起動装置。
【請求項４】
請求項１から３のいずれか一項に記載したファームウェア起動装置と、
前記起動ファームウェアを実行する処理装置と、
前記処理装置が実行する前記起動ファームウェアを格納するための動作ファームウェア領域を備えた第１の記憶手段と、
複数の前記ファームウェアと、前記起動ファームウェアに関する情報である起動領域情報を記憶する第２の記憶手段、とを有し、
前記ファームウェア設定手段は、前記第２の記憶手段が記憶する前記複数のファームウェアのうち前記起動ファームウェアを、前記動作ファームウェア領域に配置する
制御装置。
【請求項５】
複数のメモリ領域に格納されたファームウェアのうち起動する対象となるファームウェアを指定する起動領域選択信号と、前記起動領域選択信号の有効性に関する情報を含む有効情報信号とを取得し、
前記起動領域選択信号と前記有効情報信号とに基づいて、起動する対象となるファームウェアである起動ファームウェアを決定し、
前記起動ファームウェアを、実行可能な状態に設定する
ファームウェア起動方法。
【請求項６】
前記起動ファームウェアを決定する処理は、前記有効情報信号に基づいて前記起動領域選択信号が有効か否かを判断し、前記起動領域選択信号が有効であると判断した場合、前記起動領域選択信号が指定する前記ファームウェアを前記起動ファームウェアに決定する処理を含む
請求項５に記載したファームウェア起動方法。
【請求項７】
前記起動ファームウェアに関する情報である起動領域情報を記憶し、
前記起動ファームウェアを決定する処理は、前記有効情報信号に基づいて前記起動領域選択信号が有効か否かを判断し、前記起動領域選択信号が有効でないと判断した場合、前記起動領域情報に基づいて前記起動ファームウェアを決定する処理を含む
請求項５または６に記載したファームウェア起動方法。
【請求項８】
コンピュータを
複数のメモリ領域に格納されたファームウェアのうち起動する対象となるファームウェアを指定する起動領域選択信号と、前記起動領域選択信号の有効性に関する情報を含む有効情報信号とを取得する取得手段、
前記起動領域選択信号と前記有効情報信号とに基づいて、起動する対象となるファームウェアである起動ファームウェアを決定するファームウェア決定手段、および
前記起動ファームウェアを、実行可能な状態に設定するファームウェア設定手段、として機能させるための
ファームウェア起動プログラム。
【請求項９】
前記ファームウェア決定手段は、前記有効情報信号に基づいて前記起動領域選択信号が有効か否かを判断し、前記起動領域選択信号が有効であると判断した場合、前記起動領域選択信号が指定する前記ファームウェアを前記起動ファームウェアに決定する
請求項８に記載したファームウェア起動プログラム。
【請求項１０】
前記ファームウェア決定手段は、前記有効情報信号に基づいて前記起動領域選択信号が有効か否かを判断し、前記起動領域選択信号が有効でないと判断した場合、前記起動ファームウェアに関する情報である起動領域情報に基づいて前記起動ファームウェアを決定する
請求項８または９に記載したファームウェア起動プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファームウェア起動装置、ファームウェア起動方法、およびファームウェア起動プログラムに関し、特に、光トランシーバの制御装置に用いられるファームウェア起動装置、ファームウェア起動方法、およびファームウェア起動プログラムに関する。
【背景技術】
【０００２】
近年、情報通信サービスの高度化、多様化に伴って、光通信ネットワークには大容量性および柔軟性が求められている。そのため、光ファイバ網との接続に使用される光トランシーバには、システムの稼働後に増設や交換をすることができるように、活線挿抜可能な光トランシーバが主として採用されている。
【０００３】
このような光トランシーバの一例が、特許文献１に記載されている。特許文献１に記載された関連する光トランシーバは、１００Ｇｂｐｓ（Ｇｉｇａ  ｂｉｔ  ｐｅｒ  ｓｅｃｏｎｄ）伝送用の活線挿抜可能な光トランシーバ・モジュールであるＣＦＰ（Ｃｅｎｔｕｍ Ｆｏｒｍ−ｆａｃｔｏｒ  Ｐｌｕｇｇａｂｌｅ）等である。
【０００４】
関連する光トランシーバは、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ） およびメモリを備えたコントローラと、光送受信用装置を有する。メモリは、コントローラのファームウェアを格納するＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）とＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を備える。ＣＰＵは、ＲＯＭに格納されているファームウェア等のコンピュータプログラムを実行することによって、光送受信用装置を統括的に制御する。
【０００５】
ＲＯＭは、第１のバンク、第２のバンク、および第３のバンクを備える。第１のバンクはブートプログラム領域とデータ領域とを備える。ブートプログラム領域にはブートプログラムが格納され、データ領域にはバンク切り替えデータが格納される。
【０００６】
ブートプログラム領域に格納されるブートプログラムは、光トランシーバのファームウェアの一部として機能する。ＣＰＵはブートプログラムを実行することによって、コントローラを起動する。データ領域に格納されるバンク切り替えデータは、第２のバンクおよび第３のバンクの何れのバンクをコントローラが利用するかを示すデータである。すなわち、データ領域に格納されるバンク切り替えデータは、第２のバンクおよび第３のバンクの何れのバンクに格納されているアプリケーションプログラムがＣＰＵによって実行されるかを示すデータである。ＣＰＵは、データ領域に格納されるバンク切り替えデータを参照し、第２のバンクおよび第３のバンクの何れのバンクに格納されているアプリケーションプログラムを実行するかを判断する。ここで、第２のバンクおよび第３のバンクに格納されるアプリケーションプログラムは、光トランシーバのファームウェアの一部として機能する。
【０００７】
ＣＰＵはシリアル通信信号を介して更新用のアプリケーションプログラムを外部機器から受信すると、現在使用中のアプリケーションプログラムが格納されている第２のバンクとは別の第３のバンクに、この更新用のアプリケーションプログラムを格納する。そして、ＣＰＵはシリアル通信信号を介して外部機器からバンクの切り替え指示、すなわちアプリケーションプログラムの切り替え指示を受けると、バンク切り替えデータの内容を更新する。具体的には、ＣＰＵはバンク切り替え指示を受けると、バンク切り替えデータの内容を、現在使用中のアプリケーションプログラムが格納されている第２のバンクから、更新用のアプリケーションプログラムが格納された第３のバンクに更新する。
【０００８】
その後、ＣＰＵはソフトウェアリセットを行う。ソフトウェアリセットは、ＣＰＵが実行するコンピュータプログラムの再起動であるので、光送受信用装置に対するリセットおよびデータ設定やＲＡＭのデータの消去などは行われない。したがって、ソフトウェアリセットの場合、光送信信号および光受信信号の瞬断は生じない。
【０００９】
このように、関連する光トランシーバによれば、光送受信信号を瞬断せずにプログラムの更新が可能になるとしている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２０１４−１５０４２６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
上述したように、特許文献１に記載された関連する光トランシーバにおいては、コントローラが備えるＣＰＵは、ＲＯＭのデータ領域に格納されるバンク切り替えデータ（起動領域情報）に基づいて、アプリケーションプログラム（ファームウェア）を実行する。すなわち、ＣＰＵは起動領域情報を参照し、第２のバンクおよび第３のバンクのいずれかのバンクに格納されているファームウェアを実行する。
【００１２】
このとき、起動領域情報が指示するバンクに格納されているファームウェアが破壊されているなどの不具合があると、ＣＰＵはこのファームウェアを実行することができない。この場合、関連する光トランシーバにおいては、他のバンクに格納されているファームウェアを実行するためには、起動領域情報の内容を更新する処理を別途行う必要がある。そのため、関連する光トランシーバが備えるコントローラの処理が複雑になるという問題があった。
【００１３】
このように、複数のファームウェアのいずれかを起動領域情報に基づいて起動する場合、起動領域情報が指示するファームウェアに不具合があると起動処理が複雑になる、という問題があった。
【００１４】
本発明の目的は、上述した課題である、複数のファームウェアのいずれかを起動領域情報に基づいて起動する場合、起動領域情報が指示するファームウェアに不具合があると起動処理が複雑になる、という課題を解決するファームウェア起動装置、ファームウェア起動方法、およびファームウェア起動プログラムを提供することにある。
【課題を解決するための手段】
【００１５】
本発明のファームウェア起動装置は、複数のメモリ領域に格納されたファームウェアのうち起動する対象となるファームウェアを指定する起動領域選択信号と、起動領域選択信号の有効性に関する情報を含む有効情報信号とを取得する取得手段と、起動領域選択信号と有効情報信号とに基づいて、起動する対象となるファームウェアである起動ファームウェアを決定するファームウェア決定手段と、起動ファームウェアを、実行可能な状態に設定するファームウェア設定手段、とを有する。
【００１６】
本発明のファームウェア起動方法は、複数のメモリ領域に格納されたファームウェアのうち起動する対象となるファームウェアを指定する起動領域選択信号と、起動領域選択信号の有効性に関する情報を含む有効情報信号とを取得し、起動領域選択信号と有効情報信号とに基づいて、起動する対象となるファームウェアである起動ファームウェアを決定し、起動ファームウェアを、実行可能な状態に設定する。
【００１７】
本発明のファームウェア起動プログラムは、コンピュータを、複数のメモリ領域に格納されたファームウェアのうち起動する対象となるファームウェアを指定する起動領域選択信号と、起動領域選択信号の有効性に関する情報を含む有効情報信号とを取得する取得手段、起動領域選択信号と有効情報信号とに基づいて、起動する対象となるファームウェアである起動ファームウェアを決定するファームウェア決定手段、および起動ファームウェアを、実行可能な状態に設定するファームウェア設定手段、として機能させる。
【発明の効果】
【００１８】
本発明のファームウェア起動装置、ファームウェア起動方法、およびファームウェア起動プログラムによれば、複数のファームウェアのいずれかを起動する際に、一のファームウェアに不具合がある場合であっても、他のファームウェアを簡易に起動することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の第１の実施形態に係るファームウェア起動装置の構成を示すブロック図である。
【図２】本発明の第２の実施形態に係る制御装置の構成を示すブロック図である。
【図３Ａ】本発明の第２の実施形態に係る制御装置の動作を説明するためのフローチャートである。
【図３Ｂ】本発明の第２の実施形態に係る制御装置の動作を説明するためのフローチャートである。
【図３Ｃ】本発明の第２の実施形態に係る制御装置の動作を説明するためのフローチャートである。
【図４】本発明の第２の実施形態に係る制御装置を備えた光トランシーバの構成を示すブロック図である。
【発明を実施するための形態】
【００２０】
以下に、図面を参照しながら、本発明の実施形態について説明する。
【００２１】
〔第１の実施形態〕
図１は、本発明の第１の実施形態に係るファームウェア起動装置１００の構成を示すブロック図である。
【００２２】
本実施形態によるファームウェア起動装置１００は、取得手段１１０、ファームウェア決定手段１２０、およびファームウェア設定手段１３０を有する。
【００２３】
取得手段１１０は、複数のメモリ領域に格納されたファームウェアのうち起動する対象となるファームウェアを指定する起動領域選択信号Ｓ１１と、起動領域選択信号Ｓ１１の有効性に関する情報を含む有効情報信号Ｓ１２とを取得する。ファームウェア決定手段１２０は、起動領域選択信号Ｓ１１と有効情報信号Ｓ１２とに基づいて、起動する対象となるファームウェアである起動ファームウェアを決定する。そして、ファームウェア設定手段１３０は、起動ファームウェアを、実行可能な状態に設定する。
【００２４】
このような構成としたことにより、本実施形態のファームウェア起動装置１００によれば、複数のメモリ領域に格納されたファームウェアのうち、起動領域選択信号Ｓ１１と有効情報信号Ｓ１２を用いて起動ファームウェアを決定することができる。そのため、複数のメモリ領域に格納されたファームウェアのいずれかに不具合が生じている場合であっても、起動領域選択信号Ｓ１１によって異なるメモリ領域に格納されたファームウェアを指定し、起動することが可能である。
【００２５】
すなわち、本実施形態のファームウェア起動装置１００によれば、複数のファームウェアのいずれかを起動する際に、一のファームウェアに不具合がある場合であっても、他のファームウェアを簡易な処理で起動することができる。
【００２６】
ここで、ファームウェア決定手段１２０は、有効情報信号Ｓ１２に基づいて起動領域選択信号Ｓ１１が有効か否かを判断する構成とすることができる。これにより、起動領域選択信号Ｓ１１の誤作動を防止することができる。そして、ファームウェア決定手段１２０は、起動領域選択信号Ｓ１１が有効であると判断した場合、起動領域選択信号Ｓ１１が指定するファームウェアを起動ファームウェアに決定する構成とすることができる。
【００２７】
また、ファームウェア起動装置１００は、起動ファームウェアに関する情報である起動領域情報を記憶する記憶手段を備えた構成としてもよい。この場合、ファームウェア決定手段１２０は、上述した場合と同様に、有効情報信号Ｓ１２に基づいて起動領域選択信号Ｓ１１が有効か否かを判断する。そして、起動領域選択信号Ｓ１１が有効でないと判断した場合、ファームウェア決定手段１２０は上述の記憶手段が記憶している起動領域情報に基づいて起動ファームウェアを決定する構成としてもよい。
【００２８】
次に、本実施形態によるファームウェア起動方法について説明する。
【００２９】
本実施形態のファームウェア起動方法においては、まず、複数のメモリ領域に格納されたファームウェアのうち起動する対象となるファームウェアを指定する起動領域選択信号と、起動領域選択信号の有効性に関する情報を含む有効情報信号とを取得する。この起動領域選択信号と有効情報信号とに基づいて、起動する対象となるファームウェアである起動ファームウェアを決定する。そして、この起動ファームウェアを、実行可能な状態に設定する。
【００３０】
ここで、起動ファームウェアを決定する処理には、有効情報信号に基づいて起動領域選択信号が有効か否かを判断する処理を含めることができる。そして、起動領域選択信号が有効であると判断した場合、起動領域選択信号が指定するファームウェアを起動ファームウェアに決定する処理が含まれる構成とすることができる。
【００３１】
また、上述の各処理をコンピュータに実行させることとしてもよい。ここで、コンピュータは例えば、光トランシーバの制御手段が備える処理装置（ＣＰＵ）等である。このようなコンピュータを、取得手段、ファームウェア決定手段、およびファームウェア設定手段として機能させるためのファームウェア起動プログラムを用いることができる。
【００３２】
ここで、取得手段は、複数のメモリ領域に格納されたファームウェアのうち起動する対象となるファームウェアを指定する起動領域選択信号と、起動領域選択信号の有効性に関する情報を含む有効情報信号とを取得する。ファームウェア決定手段は、起動領域選択信号と有効情報信号とに基づいて、起動する対象となるファームウェアである起動ファームウェアを決定する。そして、ファームウェア設定手段は、起動ファームウェアを、実行可能な状態に設定する。
【００３３】
このとき、ファームウェア決定手段は、有効情報信号に基づいて起動領域選択信号が有効か否かを判断する構成とすることができる。そして、起動領域選択信号が有効であると判断した場合、起動領域選択信号が指定するファームウェアを起動ファームウェアに決定する構成とすることができる。
【００３４】
以上説明したように、本実施形態のファームウェア起動装置１００、ファームウェア起動方法、およびファームウェア起動プログラムによれば、複数のファームウェアのいずれかを起動する際に、一のファームウェアに不具合がある場合であっても、他のファームウェアを簡易に起動することができる。
【００３５】
〔第２の実施形態〕
次に、本発明の第２の実施形態について説明する。図２は、本発明の第２の実施形態に係る制御装置２００の構成を示すブロック図である。制御装置２００は、例えば、光トランシーバの制御部が備えるＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）起動モジュールなどである。
【００３６】
制御装置２００は、ＣＰＵ（処理装置）２１０、揮発メモリ（第１の記憶手段）２２０、および不揮発メモリ（第２の記憶手段）２３０を有する。
【００３７】
ＣＰＵ２１０は、外部システム２０からＣＰＵスタート信号Ｓ２０、起動領域選択信号Ｓ２１、および有効情報信号Ｓ２２を受け付ける。ここで、起動領域選択信号Ｓ２１は、複数のメモリ領域に格納されたファームウェアのうち起動する対象となるファームウェアを指定する信号である。また、有効情報信号Ｓ２２は、起動領域選択信号Ｓ２１の有効性に関する情報を含む信号である。
【００３８】
ＣＰＵ２１０はＣＰＵスタート信号Ｓ２０を受付けたことを契機として、不揮発メモリ２３０に格納されているブートローダ（Ｂｏｏｔｌｏａｄｅｒ）プログラムＰ２１を揮発メモリ２２０のブートローダ・プログラム領域に配備する。そして、ＣＰＵ２１０は揮発メモリ２２０のｎ番地からブートローダ・プログラムＰ１１を読み込む機能を有する。ここで、ブートローダ・プログラムＰ１１がＣＰＵ２１０に読み込まれることにより、第１の実施形態のファームウェア起動装置１００が構築される。
【００３９】
ブートローダ・プログラムＰ１１は、起動領域選択信号Ｓ２１および有効情報信号Ｓ２２を、不揮発メモリ２３０に格納されている起動領域情報Ｐ２２よりも優先的に参照する。そして、ブートローダ・プログラムＰ１１は、起動領域選択信号Ｓ２１と起動領域情報Ｐ２２とに基づいて、起動する対象となるファームウェアが格納されている不揮発メモリ２３０の領域を決定する。ここでは、不揮発メモリ２３０が２個の起動領域、すなわちＡ面およびＢ面からなる２個の起動面を備えているものとする。
【００４０】
ブートローダ・プログラムＰ１１は上記決定に従って、不揮発メモリ２３０に格納されているＡ面のファームウェアＰ２３またはＢ面のファームウェアＰ２４をコピーし、揮発メモリ２２０が備えるＣＰＵ２１０動作用の動作ファームウェア領域に配置する。すなわち、起動する対象となるファームウェアである起動ファームウェアを、実行可能な状態に設定する。そして、ブートローダ・プログラムＰ１１は、揮発メモリ２２０の動作ファームウェア領域の先頭番地（ｎ１番地）から、起動ファームウェアとしてのＣＰＵ２１０の動作用ファームウェアＰ１２を起動させる。
【００４１】
上述したように、本実施形態による制御装置２００はブートローダ・プログラムＰ１１を備える。このブートローダ・プログラムＰ１１は、ＣＰＵスタート信号Ｓ２０、起動面であるＡ面またはＢ面を指定する起動領域選択信号Ｓ２１、および起動領域選択信号Ｓ２１の誤作動防止のための有効情報信号Ｓ２２を受け付ける。
【００４２】
ここでブートローダ・プログラムＰ１１は、起動領域選択信号Ｓ２１および有効情報信号Ｓ２２の例えば極性を読み取り、起動する対象となるファームウェアが格納されている不揮発メモリ２３０の起動面（Ａ面またはＢ面）を決定する。この起動面の決定は、不揮発メモリ２３０に格納されている起動領域情報の読み込みよりも優先して先に行う。そして、ブートローダ・プログラムＰ１１は、決定した起動面に格納されているファームウェアを起動する。
【００４３】
このような構成としたことにより、本実施形態の制御装置２００によれば、不揮発メモリ２３０の起動領域に格納されているファームウェアのうち一方のデータが破損している場合であっても、ＣＰＵ２１０でファームウェアを起動することができる。これは、本実施形態の制御装置２００が備えるブートローダ・プログラムＰ１１が、起動領域選択信号Ｓ２１および有効情報信号Ｓ２２を優先的に読み取り、起動面を決定することができるからである。すなわち、本実施形態の制御装置２００によれば、外部システム２０からの信号制御により指定した起動領域（起動面）のファームウェアをＣＰＵ２１０上で起動することができる。
【００４４】
上述したように、本実施形態の制御装置２００においてブートローダ・プログラムＰ１１がＣＰＵ２１０に読み込まれることにより、ファームウェア起動装置が構築される。これにより、上述した効果、すなわち、複数のファームウェアのいずれかを起動する際に、一のファームウェアに不具合がある場合であっても、他のファームウェアを簡易に起動することができるという効果が得られる。
【００４５】
次に、本実施形態による制御装置２００の動作について説明する。図３Ａ、３Ｂ、および３Ｃは、本実施形態による制御装置２００の動作を説明するためのフローチャートである。
【００４６】
以下では、制御装置２００においてＣＰＵ２１０を起動する動作について説明する。制御装置２００が備えるＣＰＵ２１０は、外部システム２０から起動領域選択信号Ｓ２１および有効情報信号Ｓ２２を受け付ける（ステップＳ２０１）。また、外部システム２０からＣＰＵスタート信号Ｓ２０を受け付ける（ステップＳ２０２）。
【００４７】
続いて、ＣＰＵ２１０は不揮発メモリ２３０のＮ番地からブートローダ・プログラムＰ２１を読み出し、揮発メモリ２２０のｎ番地にコピーする（ステップＳ２０３）。揮発メモリ２２０にコピーされたブートローダ・プログラムＰ１１がＣＰＵ２１０上で始動する（ステップＳ２０４）。
【００４８】
ブートローダ・プログラムＰ１１は、有効情報信号Ｓ２２を読み出し（ステップＳ２０５）、起動領域選択信号Ｓ２１が有効か否かを判定する（ステップＳ２０６）。有効情報信号Ｓ２２が有効である場合（ステップＳ２０６／ＹＥＳ）、ブートローダ・プログラムＰ１１は起動領域選択信号Ｓ２１を読み出し（図３ＢのステップＳ２０７）、起動領域選択信号Ｓ２１が指示する起動面がＡ面またはＢ面のいずれであるかを判定する（ステップＳ２０８）。
【００４９】
起動領域選択信号Ｓ２１が指示する起動面がＡ面である場合（ステップＳ２０８／ＹＥＳ）、ブートローダ・プログラムＰ１１はＡ面のファームウェアＰ２３が格納されている不揮発メモリ２３０のＮ２番地をコピー元として決定する（ステップＳ２０９）。そして、ブートローダ・プログラムＰ１１は不揮発メモリ２３０のＡ面の起動面に対応したＮ２番地から揮発メモリ２２０のｎ１番地にＡ面ファームウェア（ＦＷ）をコピーする（ステップＳ２１０）。
【００５０】
一方、起動領域選択信号Ｓ２１が指示する起動面がＢ面である場合（ステップＳ２０８／ＮＯ）、ブートローダ・プログラムＰ１１はＢ面のファームウェアＰ２４が格納されている不揮発メモリ２３０のＮ３番地をコピー元として決定する（ステップＳ２１１）。そして、ブートローダ・プログラムＰ１１は不揮発メモリ２３０のＢ面の起動面に対応したＮ３番地から揮発メモリ２２０のｎ１番地にＢ面ファームウェア（ＦＷ）をコピーする（ステップＳ２１２）。
【００５１】
また、起動領域選択信号Ｓ２１が無効である場合（図３ＡのステップＳ２０６／ＮＯ）、ブートローダ・プログラムＰ１１は不揮発メモリ２３０に格納されている起動領域情報Ｐ２２を読み出し（図３Ｃのステップ３０１）、起動面がＡ面またはＢ面のいずれであるかを判定する（ステップＳ３０２）。この後の処理は、上述したステップ（図３ＢのステップＳ２０９からＳ２１２）と同様である。
【００５２】
最後に、揮発メモリ２２０にコピーされたＣＰＵ２１０の動作用ファームウェアＰ１２がＣＰＵ２１０で始動する（ステップＳ２１３）ことにより、ＣＰＵ２１０を起動する動作が終了する。
【００５３】
以上説明したように、本実施形態の制御装置２００によれば以下の効果が得られる。すなわち、不揮発メモリ２３０に格納された起動領域情報が指定する起動面（Ａ面またはＢ面の一方）のファームウェアが破損している場合であっても、外部システムから他方の起動面を指定することによって、破損していないファームウェアを起動することができる。さらに、これにより、制御装置２００を備えたシステムを設置した後であっても、設置した環境でＣＰＵ２１０を起動することが可能である。そのため、設置した制御装置２００、例えばＣＰＵ起動モジュールを回収する必要がなくなり、一方のファームウェアが破損している場合であってもコストの増大を回避することができる。
【００５４】
なお、本実施形態による制御装置２００を光トランシーバに搭載することができる。このような光トランシーバの例を図４に示す。光トランシーバ３００は、本実施形態による制御装置２００と、レーザ光をデータ信号によって変調した光信号を送出する光送信手段３１０と、光信号を受光し復調することによりデータ信号を受信する光受信手段３２０を備える。制御装置２００が光送信手段３１０および光受信手段３２０の動作を制御する。
【００５５】
ここで、光トランシーバ３００は例えば、１００Ｇｂｐｓ（Ｇｉｇａ  ｂｉｔ  ｐｅｒ  ｓｅｃｏｎｄ）伝送用の活線挿抜可能な光トランシーバ・モジュールであるＣＦＰ（Ｃｅｎｔｕｍ Ｆｏｒｍ−ｆａｃｔｏｒ  Ｐｌｕｇｇａｂｌｅ）等である。ＣＦＰの業界標準仕様であるＭＳＡ（Ｎｕｌｔｉ  Ｓｏｕｒｃｅ  Ａｇｒｅｅｍｅｎｔ）においては、オンライン・アップグレード（Ｏｎｌｉｎｅ  Ｕｐｇｒａｄｅ）機能が規定されている。そして、不揮発メモリにファームウェアを２面（Ａ面とＢ面）有し、Ａ面およびＢ面の起動面情報を参照しながらオンライン・アップグレードする機能が仕様として定められている。この場合、オンライン・アップグレードの作業時に、人為ミスによってＣＰＵの起動不良事象が発生する場合がある。
【００５６】
しかし、本実施形態の光トランシーバ３００によれば、上述したように、このような不具合の発生を回避することができる。
【００５７】
本発明は上記実施形態に限定されることなく、特許請求の範囲に記載した発明の範囲内で、種々の変形が可能であり、それらも本発明の範囲内に含まれるものであることはいうまでもない。
【符号の説明】
【００５８】
１００    ファームウェア起動装置
１１０    取得手段
１２０    ファームウェア決定手段
１３０    ファームウェア設定手段
２００    制御装置
２１０    ＣＰＵ
２２０    揮発メモリ
２３０    不揮発メモリ
３００    光トランシーバ
３１０    光送信手段
３２０    光受信手段
２０    外部システム
【図１】
2017167887.tif 000003
【図２】
2017167887.tif 000004
【図３Ａ】
2017167887.tif 000005
【図３Ｂ】
2017167887.tif 000006
【図３Ｃ】
2017167887.tif 000007
【図４】
2017167887.tif 000008