(57)【要約】【課題】  書き換え可能な不揮発性記憶媒体に記憶されたアプリケーション用の定数データの書き換えにおいて、当該アプリケーションが記憶媒体中の定数データを参照するフォーマットと異なったフォーマットで定数データが書き換わってしまう可能性を低減する。【解決手段】  車載用ＥＣＵは、ツールから書き換え用データを受信し（ステップ２１０）、受信したタイプ情報と、フラッシュＲＯＭ中のタイプ情報とが合致するか否かを判定し（ステップ２２０）、合致する場合は、受信した書き換え用データ中の定数データをフラッシュＲＯＭに上書きし（ステップ２３０）、合致しない場合は、データ書き換え作業者に通知するためのエラーメッセージを出力する（ステップ２４０）。【選択図】   図３
2006202203.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションの実行時に参照する定数データを記憶する書き換え可能かつ不揮発性の第１記憶媒体と、
前記アプリケーションの実行時に前記第１記憶媒体中の定数データを参照するフォーマットを識別する第１識別情報を記憶する第２記憶媒体と、
定数データおよびその定数データの前記第１記憶媒体への格納フォーマットを識別する第２識別情報を受信する受信手段と、
前記受信手段が受信した前記第２識別情報と、前記第２記憶媒体が記憶する前記第１識別情報とが合致することに基づいて、前記受信手段が受信した定数データを前記第１記憶媒体に書き込む書き込み手段と、を備えたＥＣＵ。
【請求項２】
前記書き込み手段は、前記受信手段が受信した前記第２識別情報と、前記第２記憶媒体が記憶する前記第１識別情報とが合致しないことに基づいて、作業者に通知するためのエラーメッセージを出力することを特徴とする請求項１に記載のＥＣＵ。
【請求項３】
定数データと、書き換え可能かつ不揮発性の第１記憶媒体への当該定数データの格納フォーマットを識別する第２識別情報と、を受信する受信手段、および、
前記受信手段が受信した前記第２識別情報と、アプリケーションの実行時に前記第１記憶媒体中の定数データを参照するフォーマットを識別する第１識別情報と、が合致することに基づいて、前記受信手段が受信した定数データを、前記第１記憶媒体に書き込む書き込み手段として、コンピュータを機能させるデータ書き込みプログラム。
【請求項４】
定数データ、および書き換え可能かつ不揮発性の第１記憶媒体への当該定数データの格納フォーマットを識別する第２識別情報、を取得する取得手順、および、
前記取得手順にて取得した前記第２識別情報と、アプリケーションの実行時に前記第１記憶媒体中の定数データを参照するフォーマットを識別する第１識別情報と、が合致することに基づいて、前記取得手順にて取得した定数データを、前記第１記憶媒体に書き込む書き込み手順と、を備えたデータ書き込み方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションの実行時に用いられる定数データを書き換え可能な不揮発性記憶媒体に記憶するＥＣＵ、データ書き込みプログラム、およびデータ書き込み方法に関する。
【背景技術】
【０００２】
従来、ＥＣＵ用の記憶媒体としてフラッシュＲＯＭ等の書き換え可能な不揮発性記憶媒体が広く使用されるようになった結果、アプリケーションの実行の際に用いられる定数データが、この書き換え可能な不揮発性記憶媒体に記憶されるようになっている。このようになっていることで、定数データの書き換えによるアプリケーション実行時の挙動のチューニングが容易となる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしその反面、アプリケーションの開発者以外の者がこの定数データを書き換える場合が多くなったことで、アプリケーションが記憶媒体中の定数データを参照するフォーマットと異なったフォーマットで、書き換え者が定数データを書き換えてしまい、結果としてアプリケーションの挙動が異常になってしまうという事態が多く発生するようになっている。
【０００４】
例えば、車両用冷暖房システムを制御するＥＣＵに搭載された制御プログラムが、あるバージョンＸにおいてはフラッシュＲＯＭのアドレス空間Ａの値を定数αとして読み出すように作成されており、別のバージョンＹにおいては当該アドレス空間Ａの値を、定数αとは全く用途の異なる定数βとして読み出すように作成されている場合を考える。このとき、定数データの書き換え作業者が、現在ＥＣＵに搭載されているアプリケーションのバージョンがＸであると思って定数α用の調整値をフラッシュＲＯＭのアドレス空間Ａに書き込んだところ、実際にはＥＣＵが搭載するアプリケーションのバージョンはＹであった場合、結果的に定数βの値が変化してしまうことになる。
【０００５】
本発明は上記点に鑑み、書き換え可能な不揮発性記憶媒体に記憶されたアプリケーション用の定数データの書き換えにおいて、当該アプリケーションが記憶媒体中の定数データを参照するフォーマットと異なったフォーマットで定数データが書き換わってしまう可能性を低減することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するための請求項１に記載の発明は、アプリケーションの実行時に参照する定数データを記憶する書き換え可能かつ不揮発性の第１記憶媒体と、前記アプリケーションの実行時に前記第１記憶媒体中の定数データを参照するフォーマットを識別する第１識別情報を記憶する第２記憶媒体と、定数データおよびその定数データの前記第１記憶媒体への格納フォーマットを識別する第２識別情報を受信する受信手段と、前記受信手段が受信した前記第２識別情報と、前記第２記憶媒体が記憶する前記第１識別情報とが合致することに基づいて、前記受信手段が受信した定数データを前記第１記憶媒体に書き込む書き込み手段と、を備えたＥＣＵである。
【０００７】
このように、ＥＣＵが、実行するアプリケーションの定数データの参照フォーマットを識別する第２識別情報と、受信した定数データの第１記憶媒体への格納フォーマットに対応する識別情報とが合致することに基づいて、受信した定数データを第１記憶媒体に記憶するようになっている。
【０００８】
このようになっているので、第１識別情報をあらかじめ第２記憶媒体に記憶させておく側（すなわちアプリケーション開発側）と、第２識別情報を送信する側（すなわちデータの書き換え側）において、定数データの参照フォーマットと格納フォーマットとが同じものには互いに合致する第１および第２識別情報を割り当てておけば、ＥＣＵにおいてこれら２つの識別情報が合致しない場合、すなわち、定数データの送信側が意図した定数データの格納フォーマットと、アプリケーションの定数データの参照フォーマットが異なる場合、その定数データが第１記憶媒体に記憶されない場合がある。したがって、書き換え可能な不揮発性記憶媒体に記憶されたアプリケーション用の定数データの書き換えにおいて、当該アプリケーションが記憶媒体中の定数データを参照するフォーマットと異なったフォーマットで、定数データが書き換わってしまう可能性が低減する。
【０００９】
なお、「アプリケーションの実行時に定数データを参照するフォーマットを識別する第１識別情報」は、定数データを参照するフォーマットが異なっているアプリケーション間で異なっているような識別情報であればよく、例えばアプリケーションのバージョン番号であってもよい。
【００１０】
また、請求項２に記載の発明は、請求項１に記載のＥＣＵにおいて、前記書き込み手段は、前記受信手段が受信した前記第２識別情報と、前記第２記憶媒体が記憶する前記第１識別情報とが合致しないことに基づいて、作業者に通知するためのエラーメッセージを出力することを特徴とする。
【００１１】
このようになっているので、定数データの送信側が意図した定数データの格納フォーマットと、アプリケーションの定数データの参照フォーマットが異なる場合、定数データの書き換え側の作業者へのエラーメッセージが出力されるので、作業者の注意を喚起することができる。
【００１２】
また、請求項３に記載の発明は、定数データと、書き換え可能かつ不揮発性の第１記憶媒体への当該定数データの格納フォーマットを識別する第２識別情報と、を受信する受信手段、および、前記受信手段が受信した前記第２識別情報と、アプリケーションの実行時に前記第１記憶媒体中の定数データを参照するフォーマットを識別する第１識別情報と、が合致することに基づいて、前記受信手段が受信した定数データを、前記第１記憶媒体に書き込む書き込み手段として、コンピュータを機能させるデータ書き込みプログラムである。
【００１３】
このように、上記発明をプログラムとしても捉えることができる。
【００１４】
また、請求項４に記載の発明は、定数データ、および書き換え可能かつ不揮発性の第１記憶媒体への当該定数データの格納フォーマットを識別する第２識別情報、を取得する取得手順、および、前記取得手順にて取得した前記第２識別情報と、アプリケーションの実行時に前記第１記憶媒体中の定数データを参照するフォーマットを識別する第１識別情報と、が合致することに基づいて、前記取得手順にて取得した定数データを、前記第１記憶媒体に書き込む書き込み手順と、を備えたデータ書き込み方法である。
【００１５】
このように、上記発明をデータ書き込み方法として捉えることができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の一実施形態について説明する。図１に、本実施形態に係る車載用ＥＣＵ１のハードウェア構成を示す。この車載用ＥＣＵ１は、車内ＬＡＮ２を介して後述するツール３と通信することができるようになっている。また車載用ＥＣＵ１は、車内のセンサ４から車両の物理情報を取得し、アクチュエータ５を制御するようになっている。この車載用ＥＣＵ１は、例えばカーエアコン制御用のＥＣＵ、エンジン制御用のＥＣＵ、カーナビゲーション用のＥＣＵとして実現可能である。また、センサ４としては、車内温度センサ、クランク各センサ、車速センサ等がある。また、アクチュエータ５としては、エアコン風量調整装置、燃料噴射装置、画像表示装置等がある。
【００１７】
この車載用ＥＣＵ１は、図１に示す通り、通信インターフェース（図中では通信Ｉ／Ｆと記す）１１、Ｉ／Ｏ１２、フラッシュＲＯＭ１３、ＲＡＭ１４、ＣＰＵ１５を有している。
【００１８】
通信インターフェース１１は、車内ＬＡＮ２に送出された当該車載用ＥＣＵ１宛のデータを受信し、それをＣＰＵ１５が認識できる形式に変換してＣＰＵ１５に出力する。また通信インターフェース１１は、ＣＰＵ１５から入力されたデータを、車内ＬＡＮ２の通信プロトコルに適合するように加工し、この加工したデータを車内ＬＡＮ２に出力する。
【００１９】
Ｉ／Ｏ１２は、センサ４から受けたセンサ信号をＣＰＵ１５が認識できる形式に変換してＣＰＵ１５に出力する。またＩ／Ｏ１２は、ＣＰＵ１５から受けた制御データに基づいてアクチュエータ５に制御信号を送出する。
【００２０】
フラッシュＲＯＭ１３は、書き換え可能な不揮発性記憶媒体である。図２に、このフラッシュＲＯＭ１３のアドレス空間内のデータ構成を示す。フラッシュＲＯＭ１３のアドレス空間は、その先頭から順にブート部１３１、定数部１３２、アプリケーション部１３３の３つに分かれている。
【００２１】
ブート部１３１には、車載用ＥＣＵ１の起動用のプログラム、後述するデータ書き込みプログラム等が記憶されている。
【００２２】
定数部１３２には、ＣＰＵ１５がアプリケーションの実行時に参照する定数データ群がまとめて記憶されている。定数データとしては、例えば基準となる送風量、しきい値温度等がある。
【００２３】
アプリケーション部１３３には、ＣＰＵ１５が実行するアプリケーションが記憶されている。例えば、車載用ＥＣＵ１がエアコン制御用ＥＣＵならば、アプリケーションはエアコン制御プログラムであり、車載用ＥＣＵ１がエンジン制御用ＥＣＵならば、アプリケーションはエンジン制御プログラムである。このアプリケーションは、その実行時に上述の定数部１３２のどのアドレスからどのような用途のデータを読み出すかについてあらかじめ規定されている。すなわち、当該アプリケーションが第１記憶媒体の定数データを参照するフォーマットは、そのアプリケーション自身によって定まっている。
【００２４】
また、アプリケーション部１３３は、タイプ情報部１３３ａを含んでいる。タイプ情報部１３３ａは、アプリケーション部１３３に格納されているアプリケーションに対応するタイプ情報（第１識別情報に相当する）を記憶している。より具体的には、タイプ情報は、そのアプリケーションの定数データの参照フォーマットが異なれば異なるようになっている識別情報である。例えばタイプ情報としては、対応するアプリケーションのバージョン番号であってもよい。なお、タイプ情報部１３３ａは、アプリケーション内にあってもよいし、アプリケーション外にあってもよい。
【００２５】
ＣＰＵ（コンピュータに相当する）１５は、車載用ＥＣＵ１の起動時にブート部１３１中の起動用プログラムを実行し、その後アプリケーション部１３３のアプリケーションを実行する。ＣＰＵ１５は、アプリケーション等のプログラム実行の際には、必要に応じてフラッシュＲＯＭ１３、ＲＡＭ１４に対してデータの読み出しおよび書き込みの制御を行い、通信インターフェース１１、Ｉ／Ｏ１２と信号の授受を行う。
【００２６】
またＣＰＵ１５は、車内ＬＡＮ２および通信インターフェース１１を介してツール３からデータ書き込み要求を受信すると、図３に示すデータ書き込みプログラム２００の実行を開始するようになっている。
【００２７】
ここで、ツール３について説明する。ツール３は、車内ＬＡＮ２に接続可能なパーソナルコンピュータ等の情報機器であり、ユーザの操作に基づいて、接続された車内ＬＡＮ２を介して、車載用ＥＣＵ１にデータ書き込み要求および書き換え用データを送信できるようになっている。図４に、このように送信される書き換え用データ３０の構造を示す。この図に示す通り、書き換え用データ３０は、その先頭にタイプ情報部３０１を有し、その後尾に定数部３０２を有している。タイプ情報部３０１には、タイプ情報（第２識別情報に相当する）が格納されており、定数部３０２には、フラッシュＲＯＭ１３中の定数部１３２の全体に上書きするための定数データが、その定数部１３２への格納フォーマットと同じフォーマットで格納されている。なお、タイプ情報部３０１中のタイプ情報は、定数部３０２中の定数データの格納フォーマット、すなわち、定数部３０２中の定数データの定数部１３２への格納フォーマット毎に異なる識別情報である。
【００２８】
ここで、ある格納フォーマットに対応するタイプ情報と、その格納フォーマットと同じ参照フォーマットを有するアプリケーションに対応するタイプ情報とは、合致するように、あらかじめアプリケーション部１３３の作成側と定数データの書き換え側とで情報が共有されている。なお、「合致しいている」とは、互いに同じである場合、足し合わせると所定の値（例えば１）になる等、照合の結果それが正規の組み合わせであることをいう。
【００２９】
ツール３は、あらかじめ、定数部３０２の定数データの格納フォーマットと、その格納フォーマットに対応するタイプ情報部の対応関係の情報を有している。そして、ツール３のユーザ、すなわち書き換え側の作業者は、対応する格納フォーマットとタイプ情報の組を１つ選び出して、その格納フォーマットに従って定数データの値を設定し、その後、設定したデータを送信する旨の操作を行う。ツール３は、その操作に従って、まず車載用ＥＣＵ１宛のデータ書き込み要求を車内ＬＡＮ２に送出し、続いて、その選び出されたタイプ情報をタイプ情報部３０１に含め、さらにその設定された定数データをその選び出された格納フォーマットに従って定数部３０２に含め、その結果の書き換え用データ３０を、車載用ＥＣＵ１宛として車内ＬＡＮ２に送出する。
【００３０】
またツール３は、車内ＬＡＮ２を介して車載用ＥＣＵ１から受けたエラーメッセージを表示するための画像表示装置を有している。
【００３１】
以下、ツール３からデータ書き込み要求を受信してデータ書き込みプログラム２００の実行を開始したＣＰＵ１５の作動について説明する。ＣＰＵ１５は、まずステップ２１０で、ツール３から送信された書き換え用データ３０を受信してＲＡＭ１４に格納する。
【００３２】
続いてステップ２２０で、ステップ２１０で受信した書き換え用データ３０中のタイプ情報部３０１に格納されたタイプ情報と、フラッシュＲＯＭ１３のタイプ情報部１３３ａに格納されたタイプ情報とを比較し、これらが合致するか否かを判定する。そして合致する場合は続いてステップ２３０を実行し、合致しない場合は続いてステップ２４０を実行する。
【００３３】
ステップ２３０では、受信した書き換え用データ３０中の定数部３０２に格納された定数データの、定数部１３２への書き込みを行う。この書き込みにおいては、定数部３０２の定数データの格納フォーマットと同じフォーマットで、その定数データを定数部１３２に書き込む。ステップ２３０の後、データ書き込みプログラム２００の実行は終了する。
【００３４】
ステップ２４０では、通信インターフェース１１を用いてエラーメッセージをツール３に送信する。このエラーメッセージを受信したツール３は、上述した通り当該エラーメッセージを画像表示装置に表示させる。ステップ２４０の後、データ書き込みプログラム２００の実行は終了する。
【００３５】
このようなデータ書き込みプログラム２００をＣＰＵ１５が実行することで、車載用ＥＣＵ１は、ツール３から書き換え用データ３０を受信し（ステップ２１０参照）、受信したタイプ情報と、タイプ情報部１３３ａ中のタイプ情報とが合致するか否かを判定し（ステップ２２０参照）、合致する場合は、受信した書き換え用データ３０中の定数データを定数部１３２に上書きし（ステップ２３０参照）、合致しない場合は、データ書き換え作業者に通知するためのエラーメッセージを出力する（ステップ２４０参照）。
【００３６】
このようになっているので、車載用ＥＣＵ１おいてこれらタイプ情報部３０１中のタイプ情報とタイプ情報部１３３ａ中のタイプ情報が合致しない場合、すなわち、定数データの送信側が意図した定数データの格納フォーマットと、アプリケーションの定数データの参照フォーマットが異なる場合、その定数データが定数部１３２に記憶されない。したがって、書き換え可能な不揮発性記憶媒体としてのフラッシュＲＯＭ１３に記憶されたアプリケーション用の定数データの書き換えにおいて、当該アプリケーションがフラッシュＲＯＭ１３中の定数データを参照するフォーマットと異なったフォーマットで、定数データが書き換わってしまうことがない。
【００３７】
また、定数データの送信側が意図した定数データの格納フォーマットと、アプリケーション側の定数データの参照フォーマットが異なる場合、作業者へのエラーメッセージが出力されるので、作業者の注意を喚起することができる。
【００３８】
なお、上記の実施形態において、フラッシュＲＯＭ１３の定数部１３２が第１記憶媒体に相当し、タイプ情報部１３３ａが第２記憶媒体に相当する。また、ＣＰＵ１５が、データ書き込みプログラム２００のステップ２１０を実行することで受信手段として機能し、ステップ２２０、２３０、および２４０を実行することで書き込み手段として機能する。
【００３９】
（他の実施形態）
なお、上記の実施形態においては、ＥＣＵ１が、書き換え用データ３０中のタイプ情報と、タイプ情報部１３３ａ中のタイプ情報とが合致するか否かを判定するようになっているが、この判定は、上述のツール３が行うようになっていてもよい。すなわち、ツール３が、ＥＣＵ１内で実行されるアプリケーションの実行時に定数データを参照するフォーマットを識別するタイプ情報Ａ（第１識別情報に相当する）を取得し、このタイプ情報Ａと、上述のように書き換え作業者が選択した定数データの格納フォーマットを識別するタイプ情報Ｂ（第２識別情報に相当する）と、を比較し、それらが合致する場合は、ユーザが選択した書き換え用データ３０を書き込み要求と共にＥＣＵ１に送信し、それらが合致しない場合は自身の画像表示装置にエラーメッセージを表示させるようになっていればよい。ここで、タイプ情報Ａの取得は、ＥＣＵ１にタイプ情報要求を送信し、ＥＣＵ１がこのタイプ情報要求に基づいてタイプ情報部１３３ａ中のデータをツール３に送信し、ツール３がそれを受信することで実現してもよい。また、タイプ情報Ａの取得は、ツール３の記憶媒体に、ＥＣＵ１のアプリケーション部１３３に格納されているデータと同じデータをあらかじめ記録しておき、ツール３が、このデータを読み出すことで実現してもよい。
【図面の簡単な説明】
【００４０】
【図１】本発明の実施形態に係る車載用ＥＣＵ１等の構成を示す図である。
【図２】フラッシュＲＯＭ１３内のデータ構成を示す図である。
【図３】ＣＰＵ１５が実行するデータ書き込みプログラム２００のフローチャートである。
【図４】ツール３が送信して通信インターフェース１１が受信する書き込み用３０のデータ構成を示す図である。
【符号の説明】
【００４１】
１…車載用ＥＣＵ、２…車内ＬＡＮ、３…ツール、４…センサ、５…アクチュエータ、
１１…通信インターフェース、１２…Ｉ／Ｏ、１３…フラッシュＲＯＭ、
１４…ＲＡＭ、１５…ＣＰＵ、３０…書き換え用データ、１３１…ブート部、
１３２…定数部、１３３…アプリケーション部、１３３ａ…タイプ情報部、
２００…データ書き込みプログラム、３０１…タイプ情報部、３０２…定数部。
【図１】
2006202203.tif 000003
【図２】
2006202203.tif 000004
【図３】
2006202203.tif 000005
【図４】
2006202203.tif 000006