以下、本開示の実施の形態について、図面を参照しながら詳細に説明する。なお、図中同一又は相当部分には同一符号を付してその説明は繰返さない。
図1は、本開示の実施の形態に従うコンフィグレーションデータ設定装置が適用されるコンフィグレーションシステムの全体構成図である。図1を参照して、コンフィグレーションシステム1は、CPU100と、コンフィグレーションデータ格納用ROM(Read Only Memory)110と、外部書込用ポート120と、書換データ正誤判定部130と、コンフィグレーションデータ設定装置140と、報知用コンソール150とを備える。
CPU100は、コンフィグレーションデータ設定装置140により設定されるコンフィグレーションデータに基づいてハードウェア(以下「HW(Hardware)」と記載することがある。)の動作設定を変更可能に構成されたコンフィグレーション対象デバイスである。具体的には、CPU100は、図示しないCPUコアや、DDR(Double Data Rate)メモリ、SerDes(Serializer/Deserializer)、Flashバス等を備えており、コンフィグレーションデータ設定装置140により設定されるコンフィグレーションデータに従ってハードウェアが再構成されることにより、CPUコアの動作周波数や、DDRメモリの動作周波数、SerDesの動作、Flashバスの動作等が規定される。
コンフィグレーションデータ設定装置140は、コンフィグレーションデータ格納用ROM110に格納されたコンフィグレーションデータを受け、コンフィグレーションデータの正誤判定を行なう。そして、コンフィグレーションデータ設定装置140は、不正なコンフィグレーションデータ(CPU100が作動し得ないようなコンフィグレーションデータ)に対しては、CPU100が作動可能なコンフィグレーションデータに訂正してCPU100に設定する。
コンフィグレーションデータ格納用ROM110は、データを消去/再書込可能な不揮発性のメモリであり、CPU100のHW動作を規定するためのコンフィグレーションデータを一時的に記憶する。このコンフィグレーションデータ格納用ROM110には、以下に示す2通りの手法でコンフィグレーションデータを書込むことができる。
第1の方法は、コンフィグレーションデータ格納用ROM110にコンフィグレーションデータを書込むための外部接続ツール(図示せず)を外部書込用ポート120に接続し、コンフィグレーションシステム1の外部から外部書込用ポート120を通じてコンフィグレーションデータ格納用ROM110にコンフィグレーションデータを書込む方法である。この第1の方法は、一般的には、外部接続ツールを有するメーカー等において実行される。
第2の方法は、コンフィグレーションの対象デバイスであるCPU100からユーザがコンフィグレーションデータ格納用ROM110にコンフィグレーションデータを書込む方法である。この第2の方法は、第1の方法のような外部接続ツールを用いることなく、ソフトウェア的な手法によってCPU100からユーザがコンフィグレーションデータを書込むことができるので、ユーザにとっては利便性が高い。
そして、コンフィグレーションデータ格納用ROM110は、上記の第1及び第2の方法のいずれかによって書込まれたコンフィグレーションデータを、バス160を通じてコンフィグレーションデータ設定装置140へ出力することができる。
書換データ正誤判定部130は、上記の第2の方法においてユーザによりCPU100から書込まれたコンフィグレーションデータの書換データのビット誤りを検出する。書換データ正誤判定部130は、たとえば公知のCRC(Cyclic Redundancy Check)回路によって構成され、CPU100から受けるコンフィグレーションデータの書換データから生成されるCRCデータと、CPU100から受ける書換データに付与されたCRCデータとを比較することによって、CPU100から受けた書換データのビット誤りの有無を判定する。
上記のように、コンフィグレーションシステム1では、コンフィグレーションデータ格納用ROM110からコンフィグレーションデータ設定装置140を通じてCPU100(対象デバイス)へコンフィグレーションデータを設定可能であるところ、コンフィグレーションデータの書込(書換)方法としては、外部書込用ポート120に接続される外部接続ツールを用いてメーカー等において書込みを行なう上記第1の方法と、CPU100にソフトウェア的に実装された機能によりCPU100からユーザが書込みを指示する上記第2の方法とがある。
CPU100自身からユーザが書込み(書換え)を指示する第2の方法は、たとえば、ユーザがCPU100の消費電力を抑制したい場合に、コンフィグレーションデータによってCPU100の動作周波数をユーザが変更(低減)することができるので、メーカー等に持ち込んでデータを書換える必要がある第1の方法よりもユーザにとって利便性が高い。しかしながら一方で、この方法は、ユーザが誤って不正なコンフィグレーションデータに書換えてしまう可能性がある。この場合、CPU100は、不正なコンフィグレーションデータに従ってハードウェアの再構成が行なわれる結果、正常に作動しなくなる可能性がある。
より詳しくは、ユーザによってコンフィグレーションデータが書換えられる場合、データの破損はなく書換データ正誤判定部130によって書換データのビット誤りは検出されないものの、不正なデータが入力される場合がある。たとえば、上述のように、CPU100はコンフィグレーションデータに従ってCPUコアの動作周波数を規定可能であるところ、CPUコアの動作周波数として規定可能な周波数と異なる周波数が書換データとしてユーザにより入力される場合があり得る。この場合、データ構造自体の破損はないので、書換データ正誤判定部130ではデータの誤りは検出されない。そして、このような不正なコンフィグレーションデータがCPU100に設定されると、CPU100が作動できなくなる。
その結果、CPU100からコンフィグレーションデータを書換えることができなくなり、ユーザは、コンフィグレーションデータを書換える手段を失う。すなわち、ハードウェアの故障ではないにも拘わらずユーザが復旧できない事態となり、この場合は、メーカー等において外部接続ツールを用いた上記第1の方法によってコンフィグレーションデータを再設定せざるを得なくなる。
そこで、この実施の形態に従うコンフィグレーションデータ設定装置140では、対象デバイスのCPU100に設定されるコンフィグレーションデータについて、CPU100に設定可能なコンフィグレーションデータの複数の設定値を用いてコンフィグレーションデータの正誤判定が実行される。そして、不正なコンフィグレーションデータ(書換データ)に対しては、CPU100が作動可能な訂正用コンフィグレーションデータがCPU100に設定される。これにより、不正な書換データがユーザにより入力されたとしても、CPU100の作動が確保され、ユーザがコンフィグレーションデータを書換える手段を失うことはない。したがって、この実施の形態によれば、ユーザによりCPU100から不正なコンフィグレーションデータが入力されたとしても、ユーザは、再度コンフィグレーションデータを書換えることができる。以下、コンフィグレーションシステム1の構成についてさらに詳しく説明する。
CPU100は、HW設定部102と、書換データ入力部104と、訂正情報報知部106とを含む。HW設定部102は、バス162を通じてコンフィグレーションデータ設定装置140の正誤判定部142(後述)からコンフィグレーションデータを受け、その受けたコンフィグレーションデータに従ってCPU100のHW設定を実行する。具体的には、上述のように、CPU100は、図示しないCPUコアや、DDRメモリ、SerDes、Flashバス等を備えており、HW設定部102は、正誤判定部142から受けるコンフィグレーションデータに従って予め定められた処理を実行することにより、CPUコアやDDRメモリの各動作周波数や、SerDesやFlashバスの各動作を規定する。
書換データ入力部104は、ユーザがCPU100からコンフィグレーションデータ格納用ROM110にコンフィグレーションデータを書込む(書換える)ための処理を実行する。書換データ入力部104は、ユーザによって入力されたコンフィグレーションデータの書換データを書換データ正誤判定部130へ出力する。この書換データ入力部104は、コンフィグレーションデータ格納用ROM110にコンフィグレーションデータを書込む上記第2の方法を実現するものである。
訂正情報報知部106は、コンフィグレーションデータ設定装置140からHW設定部102にコンフィグレーションデータが設定されると、バス164を通じてコンフィグレーションデータ設定装置140の訂正情報格納部146(後述)を参照し、設定されたコンフィグレーションデータが訂正されたことを示す訂正情報の有無を確認する。そして、訂正情報格納部146に訂正情報が格納されている場合には、訂正情報報知部106は、訂正情報格納部146からバス164を通じて訂正情報を取得し、取得された訂正情報をユーザへの報知用としての報知用コンソール150に出力する。
コンフィグレーションデータ設定装置140は、正誤判定部142と、訂正用コンフィグレーションデータ格納用ROM144と、訂正情報格納部146とを含む。正誤判定部142は、コンフィグレーションデータ格納用ROM110からCPU100に設定されるコンフィグレーションデータの正誤判定を実行する。より詳しくは、正誤判定部142は、コンフィグレーションデータ格納用ROM110から取得されるコンフィグレーションデータ(書換データ)を、訂正用コンフィグレーションデータ格納用ROM144に予め記憶されている、CPU100に設定可能なコンフィグレーションデータの複数の設定値(詳細は後述)と比較する。そして、正誤判定部142は、その比較結果に基づいて、書換データ正誤判定部130のような従来のCRC等では判定できない不正なコンフィグレーションデータ(データ欠陥ではない不正な設定等)を検知する。
また、正誤判定部142は、コンフィグレーションデータ格納用ROM110から取得されたコンフィグレーションデータに誤りがある場合(不正なコンフィグレーションデータの場合)には、訂正用コンフィグレーションデータ格納用ROM144に予め記憶されている、CPU100が作動可能な訂正用コンフィグレーションデータをCPU100に設定する。さらに、正誤判定部142は、訂正用コンフィグレーションデータをCPU100に設定するとともに、訂正情報格納部146に格納されている、コンフィグレーションデータが訂正されたことを示すフラグ(訂正情報)をオンにする。この正誤判定部142については、後ほどさらに詳しく説明する。
訂正用コンフィグレーションデータ格納用ROM144は、データを消去/再書込可能な不揮発性のメモリであり、コンフィグレーションデータとしてCPU100に設定可能な各種設定値を予め記憶している。一例として、この実施の形態では、CPU100のCPUコアは、コンフィグレーションデータによってその動作周波数を切替可能であり、切替可能なCPUコアの動作周波数(複数の設定値)が予め訂正用コンフィグレーションデータ格納用ROM144に記憶されている。
また、訂正用コンフィグレーションデータ格納用ROM144は、正誤判定部142によってコンフィグレーションデータに誤り(不正なコンフィグレーションデータ)があると判定された場合に正誤判定部142によりCPU100に設定される訂正用コンフィグレーションデータを予め記憶している。訂正用コンフィグレーションデータとしては、CPU100が作動可能な一のコンフィグレーションデータが設定される。この訂正用コンフィグレーションデータ格納用ROM144についても、後ほどさらに詳しく説明する。
訂正情報格納部146は、正誤判定部142によりコンフィグレーションデータが訂正されたか否かを示すフラグ(訂正情報)を格納する。上述のように、正誤判定部142によりコンフィグレーションデータに誤りがあると判定されて訂正用コンフィグレーションデータがCPU100に設定された場合に、正誤判定部142により当該フラグがオンにされる。当該フラグがオンであることは、訂正情報が存在することを示す。そして、訂正情報格納部146は、CPU100の訂正情報報知部106からの求めに応じて訂正情報をCPU100へ出力する。
図2は、図1に示したコンフィグレーションデータ設定装置140の詳細な構成図である。図2を参照して、正誤判定部142は、ビット位置検出部200と、テーブル管理部210と、データ正誤判定部220とを含む。訂正用コンフィグレーションデータ格納用ROM144には、テーブル管理テーブル300と、機能設定用テーブル群310と、起動用データテーブル320とが記憶されている。
ビット位置検出部200は、コンフィグレーションデータ格納用ROM110からコンフィグレーションデータのデータ列(以下「コンフィグレーションデータ列」とも称する。)を受ける。そして、ビット位置検出部200は、コンフィグレーションデータ列から、データ列の先頭から数えたビット数(データ列先頭からのビット位置)とビットサイズのデータを取得し、取得したデータをテーブル管理部210へ出力する。
図3は、コンフィグレーションシステム1において用いられるコンフィグレーションデータ列を示した図である。図3を参照して、たとえば、コンフィグレーションデータ列の先頭からの6ビットには、CPUコアの動作周波数の設定値が格納される。CPUコアの動作周波数の設定値に続いて、コンフィグレーションデータ列の14ビット目までの8ビットには、DDRメモリの動作周波数の設定値が格納される。さらに続いて、SerDesやFlashバスの動作設定値等が格納され、コンフィグレーションデータ列の1017ビット目から最後尾の1024ビット目までの8ビットには、CRCデータが格納される。
図3とともに再び図2を参照して、ビット位置検出部200は、具体的には、たとえば、コンフィグレーションデータ列の先頭から数えたビット数(0)とビットサイズ(6)のデータを取得してテーブル管理部210へ出力する。続いて、ビット位置検出部200は、データ列の先頭から数えたビット数(6)とビットサイズ(8)のデータを取得してテーブル管理部210へ出力する。
テーブル管理部210は、ビット位置検出部200によって取得された上記データを受けると、訂正用コンフィグレーションデータ格納用ROM144からテーブル管理テーブル300を読出す。そして、テーブル管理部210は、テーブル管理テーブル300を参照して、ビット位置検出部200から受ける上記データ(データ列の先頭から数えたビット数及びビットサイズ)に該当するテーブル番号を取得する。そして、テーブル管理部210は、取得されたテーブル番号に対応するテーブルを訂正用コンフィグレーションデータ格納用ROM144の機能設定用テーブル群310から読出す。
図4は、訂正用コンフィグレーションデータ格納用ROM144に格納されているテーブル管理テーブル300の一例を示した図である。図4を参照して、テーブル管理テーブル300には、図3に示したコンフィグレーションデータ列についての、先頭から数えたビット数及びビットサイズと、テーブル番号と、コンフィグレーションデータ列に含まれる各設定値に対応する機能設定用テーブル(後述)との対応関係が規定されている。たとえば、データ列の先頭からのビット数(ビット位置)が0でビットサイズが6の領域は、CPUコアの動作周波数の設定を示す領域であり(図3)、テーブル番号「1」が割り当てられるとともに、テーブル名称「CPUコア動作周波数」の機能設定用テーブルと対応付けられている。
同様に、たとえば、データ列の先頭からのビット数(ビット位置)が6でビットサイズが8の領域は、DDRメモリの動作周波数の設定を示す領域であり(図3)、テーブル番号「2」が割り当てられるとともに、テーブル名称「DDRメモリ動作周波数」の機能設定用テーブルと対応付けられている。
図5は、訂正用コンフィグレーションデータ格納用ROM144に格納されている機能設定用テーブル群310の一例を示した図である。図5を参照して、機能設定用テーブル群310は、図3に示したコンフィグレーションデータ列に含まれる各設定にそれぞれ対応する複数のテーブルを含む。各テーブルには、テーブル管理テーブル300で対応付けられたテーブル番号が付与されている。そして、各テーブルには、当該テーブルに対応する設定について、CPU100に設定可能な複数の設定値が格納されている。
たとえば、テーブル番号「1」のCPUコア動作周波数テーブルには、CPU100のCPUコアに設定可能な複数の動作周波数(この例では5段階)が格納されており、各設定値に設定値番号が付与されている。同様に、テーブル番号「2」のDDRメモリ動作周波数テーブルには、CPU100のDDRメモリに設定可能な複数の動作周波数(この例では3段階)が格納されており、各設定値に設定値番号が付与されている。このCPUコア動作周波数テーブルやDDRメモリ動作周波数テーブルに格納されている各動作周波数以外の周波数がCPU100に設定されると、CPU100が作動しない可能性がある。
再び図2を参照して、テーブル管理部210によって、ビット位置検出部200により取得されたデータ(データ列の先頭から数えたビット数及びビットサイズ)に対応するテーブルが機能設定用テーブル群310から読出されると、データ正誤判定部220は、ビット位置検出部200により取得されたデータで示されるデータ列の領域に格納されている設定値を、読出されたテーブルの各設定値と比較する。
データ正誤判定部220は、機能設定用テーブル群310から読出されたテーブル内にコンフィグレーションデータ列の設定値と一致するものがない場合には、テーブル管理部210を通じて、訂正用コンフィグレーションデータ格納用ROM144の起動用データテーブル320からCPU100が作動可能な訂正用コンフィグレーションデータを取得する。そして、データ正誤判定部220は、該当するコンフィグレーションデータ列の設定値を起動用データテーブル320から取得されたデータ(設定値)に置き換える。データ正誤判定部220は、このような正誤判定及び必要に応じたデータの置き換えをコンフィグレーションデータ列の設定値毎に実施する。
図6は、訂正用コンフィグレーションデータ格納用ROM144に格納されている起動用データテーブル320の一例を示した図である。図6を参照して、起動用データテーブル320には、各テーブル番号に対して設定値番号が対応付けられて格納されている。この設定値番号は、図5に示した機能設定用テーブル群310の各テーブルにおいて設定値毎に対応付けられているものである。
たとえば、データ正誤判定部220によって、テーブル番号「1」のCPUコア動作周波数テーブル内にコンフィグレーションデータ列のCPUコア動作周波数設定値と一致するものがないと判定されると、テーブル管理部210により起動用データテーブル320が参照され、テーブル番号「1」に対応する設定値番号「1」が取得される。そして、テーブル管理部210によって、さらに、テーブル番号「1」のCPUコア動作周波数テーブル(図5)が参照され、起動用データテーブル320から取得された設定値番号「1」に対応するCPUコア動作周波数設定値(この例では800MHz)が訂正用データとして取得される。
再び図2を参照して、データ正誤判定部220は、コンフィグレーションデータ列の全ての設定値に対して、上述のような正誤判定及び誤り判定時の訂正用データへの置き換えを行なうと、コンフィグレーションデータ列をCPU100へ出力する。また、正誤判定の結果、訂正用データへの置き換えが行なわれた場合には、データ正誤判定部220は、訂正情報格納部146に格納されているフラグ(訂正情報)をオンにする。
図7及び図8は、図1に示したコンフィグレーションデータ設定装置140により実行される処理の手順を説明するフローチャートである。まず、図7とともに図1及び図2を参照して、コンフィグレーションデータ設定装置140は、コンフィグレーションデータ格納用ROM110からコンフィグレーションデータ列を読出す(ステップS10)。
次いで、コンフィグレーションデータ設定装置140は、ビット位置検出部200により、コンフィグレーションデータ列の先頭から数えたビット数(データ列の先頭からのビット位置)とビットサイズのデータを取得する(ステップS20)。たとえば、後述のステップS130からの戻りでない初回処理の場合は、先頭からのビット数及びビットサイズとしてそれぞれ「0」「6」が取得され、ステップS130から戻った後の2回目の処理においては、先頭からのビット数及びビットサイズとしてそれぞれ「6」「8」が取得される。
続いて、コンフィグレーションデータ設定装置140は、ステップS20において取得されたデータを用いて、訂正用コンフィグレーションデータ格納用ROM144のテーブル管理テーブル300を参照する(ステップS30)。そして、コンフィグレーションデータ設定装置140は、ステップS20において取得された上記データに該当するテーブル番号を検出し、検出したテーブル番号に対応するテーブルを訂正用コンフィグレーションデータ格納用ROM144の機能設定用テーブル群310から読込む(ステップS40)。
次いで、コンフィグレーションデータ設定装置140は、ステップS40において読込まれたテーブルに格納されている複数の設定値のうちの1つを読込む(ステップS50)。さらに、コンフィグレーションデータ設定装置140は、ステップS10において読出されたコンフィグレーションデータ列から、ビット位置検出部200において検出されたビット位置及びビットサイズの領域に格納されているデータを取得し、コンフィグレーションデータとして設定された設定値を検出する(ステップS60)。
次いで、コンフィグレーションデータ設定装置140は、ステップS60において検出されたコンフィグレーションデータ列の設定値と、ステップS50(後述のステップS100から処理が戻されたときはステップS90)で読込まれた設定値とを比較する(ステップS70)。そして、コンフィグレーションデータ設定装置140は、両設定値が互いに一致するか否かを判定する(ステップS80)。
両設定値が互いに一致するものと判定されると(ステップS80においてYES)、コンフィグレーションデータ設定装置140は、ステップS130(後述)へ処理を移行する。一方、ステップS80において両設定値は互いに一致しないと判定されると(ステップS80においてNO)、コンフィグレーションデータ設定装置140は、ステップS50において読込まれたテーブルに格納されている複数の設定値から別の設定値を1つ読込む(ステップS90)。このとき、コンフィグレーションデータ設定装置140は、ステップS50において読込まれたテーブルにおいて未読込の設定値が存在するか否かを判定する(ステップS100)。
未読込の設定値が存在すると判定されると(ステップS100においてYES)、コンフィグレーションデータ設定装置140は、ステップS70へ処理を戻す。一方、ステップS50において未読込の設定値は存在しないと判定されると(ステップS100においてNO)、コンフィグレーションデータ設定装置140は、訂正用コンフィグレーションデータ格納用ROM144の起動用データテーブル320を参照し、正しい設定値(CPU100の作動が保証される設定値)を読込む。そして、コンフィグレーションデータ設定装置140は、ステップS60において検出されたコンフィグレーションデータ列の設定値を、その読出された設定値に差替える(ステップS110)。
すなわち、ステップS60において検出されたコンフィグレーションデータ列の設定値が、ステップS50において読込まれたテーブルに格納されている複数の設定値のいずれとも一致しない場合は、ユーザによって不正なコンフィグレーションデータが書込まれたものであり、起動用データテーブル320を参照して、CPU100が作動可能な正しい設定値に差替えられる。
さらに、コンフィグレーションデータ設定装置140は、設定値の差替えとともに、訂正情報格納部146に格納されている、コンフィグレーションデータが訂正されたことを示すフラグを立てる(ステップS120)。
ステップS120に続いて、又はステップS80において設定値の一致が確認された場合に(ステップS80においてYES)、コンフィグレーションデータ設定装置140は、コンフィグレーションデータ列の先頭からのビット数が全データに一致したか否かを判定する(ステップS130)。すなわち、このステップS130では、ビット位置検出部200により検出されるビット位置がコンフィグレーションデータ列の末尾に到達したか否かが判定される。
データ列の先頭からのビット数が全データに一致しない場合には、正誤判定すべき他の設定値がまだ存在することから、コンフィグレーションデータ設定装置140は、ステップS20へ処理を戻す。一方、ステップS130において、コンフィグレーションデータ列の先頭からのビット数が全データに一致したものと判定されると(ステップS130においてYES)、図8に示されるステップS140へと処理が移行される。
なお、特に図示しないが、ステップS130においてYESと判定されると、コンフィグレーションデータについてCRCデータの再計算が行なわれる。そして、再計算後のCRCデータが元のコンフィグレーションデータに格納されたCRCデータと不一致であれば、CPU100へ出力されるコンフィグレーションデータが訂正される。コンフィグレーションデータの差替えが行なわれなかった場合には、再計算後のCRCデータは、コンフィグレーションデータ格納用ROM110から読出されたコンフィグレーションデータに格納されたCRCデータと一致するので、コンフィグレーションデータ格納用ROM110から読出されたコンフィグレーションデータがCPU100へ出力される。
図8を参照して、図7のステップS130に続いて、コンフィグレーションデータ設定装置140は、コンフィグレーションデータをバス162へ出力する(ステップS140)。図7のステップS110においてデータの差替えが行なわれた場合には、訂正されたコンフィグレーションデータがバス162を通じてCPU100へ出力される。一方、図7のステップS110においてデータの差替えが行なわれなかった場合には、コンフィグレーションデータ格納用ROM110から読出されたコンフィグレーションデータがCPU100へそのまま出力される。
次いで、コンフィグレーションデータ設定装置140は、CPU100からコンフィグレーションデータの訂正情報の参照依頼があるか否かを判定する(ステップS150)。CPU100から訂正情報の参照依頼がないときは(ステップS150においてNO)、コンフィグレーションデータ設定装置140は、以降の処理を実行することなくエンドへと処理を移行する。
ステップS150においてCPU100から訂正情報の参照依頼があったものと判定されると(ステップS150においてYES)、コンフィグレーションデータ設定装置140は、訂正情報格納部146に格納されている、コンフィグレーションデータの差替えを示す上記フラグをチェックする(ステップS160)。
そして、ステップS170において上記フラグがONとなっていることが検出されると(ステップS170においてYES)、コンフィグレーションデータ設定装置140は、コンフィグレーションデータに誤りがあった旨、及びコンフィグレーションデータが訂正された旨をCPU100へ通知する(ステップS180)。これにより、コンフィグレーションデータが訂正されたことを示す訂正情報が報知用コンソール150に表示される。
以上のように、この実施の形態においては、コンフィグレーション対象デバイスのCPU100に設定されるコンフィグレーションデータについて、訂正用コンフィグレーションデータ格納用ROM144の機能設定用テーブル群310を用いて、コンフィグレーションデータの正誤判定が実行される。そして、不正なコンフィグレーションデータ(書換データ)に対しては、訂正用コンフィグレーションデータ格納用ROM144の起動用データテーブル320を用いて、CPU100が作動可能な訂正用コンフィグレーションデータがCPU100に設定される。これにより、不正な書換データがユーザにより入力されたとしても、CPU100の作動が確保され、ユーザがコンフィグレーションデータを書換える手段を失うことはない。したがって、この実施の形態によれば、ユーザによりCPU100から不正なコンフィグレーションデータが入力されたとしても、ユーザは、再度コンフィグレーションデータを書換えることができる。
また、この実施の形態においては、ユーザによりCPU100から不正なコンフィグレーションデータが入力された場合に、CPU100が作動可能な訂正用コンフィグレーションデータがCPU100に設定されるとともに、その旨が報知用コンソール150によってユーザに報知される。したがって、この実施の形態によれば、ユーザは、報知用コンソール150を確認後、所望のコンフィグレーションデータを書込むことができる。
なお、上記において、CPU100は、本開示における「コンフィグレーション対象デバイス」の一実施例に対応し、書換データ入力部104は、本開示における「データ入力部」の一実施例に対応する。また、訂正用コンフィグレーションデータ格納用ROM144は、本開示における「記憶部」の一実施例に対応し、正誤判定部142は、本開示における「正誤判定部」の一実施例に対応する。
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本開示の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。