(57)【要約】【課題】車載装置におけるデータの更新をプログラムの動作に早期に反映させる。【解決手段】対象ＥＣＵ２４は、ＲＯＭ３８、ＲＡＭ４２、ＣＰＵ３６を備える。ＲＯＭ３８は、車両１０に関するデータ処理のためのプログラムと、プログラムの動作態様を規定するパラメータを記憶する。ＣＰＵ３６は、ＲＯＭ３８に記憶されたプログラムとパラメータをＲＡＭ４２に記憶させ、ＲＡＭ４２に記憶されたパラメータに基づいてプログラムを実行する。プログラムは、パラメータが記憶されるＲＯＭ３８のアドレスとＲＡＭ４２のアドレスとの対応関係を含む。ＣＰＵ３６は、プログラムの実行中に、外部装置から受け付けた更新データに基づいてＲＯＭ３８に記憶されたパラメータを更新し、上記対応関係に基づいて、ＲＡＭ４２に記憶されたパラメータをさらに更新する。【選択図】図１
2018159361.tif 000002
【特許請求の範囲】
【請求項１】
車両に関するデータ処理のためのプログラムと、前記プログラムの動作態様を規定するパラメータを記憶するＲＯＭ（Read Only Memory）と、
ＲＡＭ（Random Access Memory）と、
前記ＲＯＭに記憶されたプログラムとパラメータとを前記ＲＡＭに記憶させ、前記ＲＡＭに記憶されたパラメータに基づいてプログラムを実行するＣＰＵ（Central Processing Unit）と、
を備え、
前記プログラムは、前記パラメータが記憶されるＲＯＭのアドレスとＲＡＭのアドレスとの対応関係の情報を含み、
前記ＣＰＵは、前記プログラムの実行中に、外部装置から受け付けた更新データに基づいて前記ＲＯＭに記憶されたパラメータを更新した場合、前記対応関係に基づいて、前記ＲＡＭに記憶されたパラメータをさらに更新する、
車載装置。
【請求項２】
前記更新データは、前記ＲＯＭに記憶されたパラメータのみの更新を指示する第１の更新データと、前記ＲＯＭに記憶されたプログラムとパラメータの両方の更新を指示する第２の更新データとを含み、
前記ＣＰＵは、前記ＲＯＭに記憶されたプログラムとパラメータのうち前記第１の更新データに基づいて前記ＲＯＭに記憶されたパラメータのみを更新した場合に、前記ＲＡＭに記憶されたパラメータをさらに更新する、
請求項１に記載の車載装置。
【請求項３】
前記プログラムは、前記ＲＡＭに即時反映可能なパラメータの識別情報を含み、
前記ＣＰＵは、前記ＲＯＭに記憶された複数のパラメータを更新した場合、前記ＲＡＭに記憶された前記複数のパラメータのうち前記即時反映可能なパラメータをさらに更新する、
請求項１または２に記載の車載装置。
【請求項４】
車両に関するデータ処理のためのプログラムと、前記プログラムの動作態様を規定するパラメータを記憶するＲＯＭと、
ＲＡＭと、
前記ＲＯＭに記憶されたプログラムとパラメータとを前記ＲＡＭに記憶させ、前記ＲＡＭに記憶されたパラメータに基づいてプログラムを実行するＣＰＵと、
を備える車載装置が実行するデータ更新方法であって、
前記プログラムは、前記パラメータが記憶されるＲＯＭのアドレスとＲＡＭのアドレスとの対応関係の情報を含み、
前記ＣＰＵは、前記プログラムの実行中に、外部装置から受け付けた更新データに基づいて前記ＲＯＭに記憶されたパラメータを更新した場合、前記対応関係に基づいて、前記ＲＡＭに記憶されたパラメータをさらに更新する、
データ更新方法。
【請求項５】
車両に関するデータ処理のためのデータ処理プログラムと、前記データ処理プログラムの動作態様を規定するパラメータを記憶するＲＯＭと、
ＲＡＭと、
前記ＲＯＭに記憶されたデータ処理プログラムとパラメータとを前記ＲＡＭに記憶させ、前記ＲＡＭに記憶されたパラメータに基づいてデータ処理プログラムを実行するＣＰＵと、
を備える車載装置で実行されるデータ更新プログラムであって、
前記データ処理プログラムは、前記パラメータが記憶されるＲＯＭのアドレスとＲＡＭのアドレスとの対応関係の情報を含み、
前記プログラムの実行中に、外部装置から受け付けた更新データに基づいて前記ＲＯＭに記憶されたパラメータを更新した場合、前記対応関係に基づいて、前記ＲＡＭに記憶されたパラメータをさらに更新することを前記ＣＰＵに実行させるためのデータ更新プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ処理技術に関し、特に車載装置、データ更新方法およびデータ更新プログラムに関する。
【背景技術】
【０００２】
従来技術として、車両の状態と、外部装置から車両へ入力されたリクエストが示す実行レベルデータとに基づいて、車両に内蔵されたプログラムまたはデータを更新するか否かを判断する装置が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−２５７９１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の車載装置では、エンジンがオンのときにデータが更新された場合、その更新をプログラムの動作に反映させるためには、エンジンを一度オフにする必要があった。そのため、長距離の移動中等、長時間エンジンを停止しない場合、データが更新されてもプログラムの動作は長時間更新されず、データの更新による効果をユーザが即享受できないことがあった。
【０００５】
本発明は上記課題に鑑みたもので、１つの目的は、車載装置におけるデータの更新をプログラムの動作に早期に反映させることである。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明のある態様の車載装置は、車両に関するデータ処理のためのプログラムと、プログラムの動作態様を規定するパラメータを記憶するＲＯＭ（Read Only Memory）と、ＲＡＭ（Random Access Memory）と、ＲＯＭに記憶されたプログラムとパラメータとをＲＡＭに記憶させ、ＲＡＭに記憶されたパラメータに基づいてプログラムを実行するＣＰＵ（Central Processing Unit）と、を備える。プログラムは、パラメータが記憶されるＲＯＭのアドレスとＲＡＭのアドレスとの対応関係の情報を含む。ＣＰＵは、プログラムの実行中に、外部装置から受け付けた更新データに基づいてＲＯＭに記憶されたパラメータを更新した場合、対応関係に基づいて、ＲＡＭに記憶されたパラメータをさらに更新する。
【０００７】
本発明の別の態様は、データ更新方法である。この方法は、車両に関するデータ処理のためのプログラムと、プログラムの動作態様を規定するパラメータを記憶するＲＯＭと、ＲＡＭと、ＲＯＭに記憶されたプログラムとパラメータとをＲＡＭに記憶させ、ＲＡＭに記憶されたパラメータに基づいてプログラムを実行するＣＰＵと、を備える車載装置が実行するデータ更新方法であって、プログラムは、パラメータが記憶されるＲＯＭのアドレスとＲＡＭのアドレスとの対応関係の情報を含む。ＣＰＵは、プログラムの実行中に、外部装置から受け付けた更新データに基づいてＲＯＭに記憶されたパラメータを更新した場合、対応関係に基づいて、ＲＡＭに記憶されたパラメータをさらに更新する。
【０００８】
なお、以上の構成要素の任意の組合せ、本発明の表現を、コンピュータプログラム、コンピュータプログラムを記録した記録媒体、本装置を搭載した車両などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【０００９】
本発明によれば、車載装置におけるデータの更新をプログラムの動作に早期に反映させることができる。
【図面の簡単な説明】
【００１０】
【図１】第１実施例の車両の構成を示す図である。
【図２】図２（ａ）は、サーバからゲートウェイＥＣＵへ送信される更新データを示す図であり、図２（ｂ）は、ゲートウェイＥＣＵから対象ＥＣＵへ送信される更新データを示す図である。
【図３】図１のＣＰＵの機能構成を示すブロック図である。
【図４】対応関係データの例を示す図である。
【図５】対象ＥＣＵの動作を示すフローチャートである。
【図６】図５のＳ２０の第１ＲＯＭ更新処理の詳細を示すフローチャートである。
【図７】図５のＳ２２の第２ＲＯＭ更新処理の詳細を示すフローチャートである。
【図８】即時反映パラメータリストの例を示す図である。
【図９】図５のＳ２２の処理の詳細を示すフローチャートである。
【発明を実施するための形態】
【００１１】
［第１実施例］
実施例では、外部から受け付けた更新データによりＲＯＭのデータを更新し、更新対象のＲＯＭデータがパラメータのみであれば、更新後のパラメータ値をＲＡＭデータに即反映する車載装置を提案する。この車載装置は、更新対象のＲＯＭデータがプログラムを含む場合、更新後のプログラムを再起動時にＲＡＭデータに反映する。実施例におけるパラメータは、プログラムの動作態様、動作条件、処理の閾値等を定めたデータであり、例えば引数、設定値等を含む。
【００１２】
図１は、第１実施例の車両１０の構成を示す。車両１０は、ＬＡＮ・ＷＡＮ・インターネット等の通信網（以下「外部通信網」とも呼ぶ。）を介してサーバ１２と接続される。サーバ１２は、車両１０のＥＣＵ（Electronic Control Unit）（後述の対象ＥＣＵ２４）に対するリプログラミング用のデータ（以下「更新データ」と呼ぶ。）を記憶し、車両１０へ配信する。
【００１３】
車両１０は、センサ２０、アクチュエータ２２、複数の対象ＥＣＵ２４、ゲートウェイＥＣＵ２６を備える。センサ２０は、車両１０の周囲の状態等、様々な情報を検知する。アクチュエータ２２は、スロットル、ブレーキ、ステアリング等であってもよい。
【００１４】
複数の対象ＥＣＵ２４のそれぞれは、リプログラミングの対象となるＥＣＵであり、実施例では、センサ２０とアクチュエータ２２の少なくとも一方に接続される。例えば、対象ＥＣＵ２４は、センサ２０から入力された検知信号に基づいて、検知結果または警報等を外部装置へ送信してもよい。また、対象ＥＣＵ２４は、外部装置から受信したコマンドに基づいてアクチュエータ２２を制御してもよい。
【００１５】
ゲートウェイＥＣＵ２６は、複数の対象ＥＣＵ２４と車載ネットワーク２８（ＣＡＮ等）を介して接続される。ゲートウェイＥＣＵ２６は、対象ＥＣＵ２４から送信されたフレームまたはコマンド等を他の対象ＥＣＵ２４へ中継する。
【００１６】
また、ゲートウェイＥＣＵ２６は外部通信網と接続され、サーバ１２から送信された更新データを、外部通信網を介して受信する。ゲートウェイＥＣＵ２６は、受信した更新データの命令コード部分を変更し、変更後の更新データを車載ネットワーク２８へ出力することにより、変更後の更新データを対象ＥＣＵ２４へ送信する。
【００１７】
図２（ａ）は、サーバ１２からゲートウェイＥＣＵ２６へ送信される更新データを示し、図２（ｂ）は、ゲートウェイＥＣＵ２６から対象ＥＣＵ２４へ送信される更新データを示す。図２（ａ）の命令コードは、対象ＥＣＵ２４のリプログラミングを実行するようにゲートウェイＥＣＵ２６に指示する命令であってもよい。一方、図２（ｂ）の命令コードは、自身のリプログラミングを対象ＥＣＵ２４に指示する命令であってもよい。
【００１８】
実施例の更新データは、対象ＥＣＵ２４のＲＯＭに記憶されたパラメータのみの更新を指示する第１の更新データと、プログラム（後述のデータ処理プログラム）とパラメータの両方の更新を指示する第２の更新データとを含む。したがって、図２（ａ）（ｂ）の更新対象のデータ種別には、更新対象がパラメータのみであることを示す種別１（第１の更新データの場合）と、更新対象が少なくともプログラムを含むことを示す種別２（第２の更新データの場合）のいずれかが設定されてもよい。例えば、更新データ本体がパラデータのみを含む場合、データ種別として種別１が設定され、更新データ本体がパラメータとプログラムの両方を含む場合、データ種別として種別２が設定されてもよい。種別１として、対象ＥＣＵ２４のＲＯＭのパラメータ領域のアドレス（先頭アドレス等）が指定されてもよい。また、種別２として、対象ＥＣＵ２４のＲＯＭのプログラム領域のアドレス（先頭アドレス等）が指定されてもよい。
【００１９】
図１に戻り、複数の対象ＥＣＵ２４のそれぞれは、入力回路３０、出力回路３２、通信ＩＦ３４、ＣＰＵ３６、ＲＯＭ３８、ＥＥＰＲＯＭ４０、ＲＡＭ４２を備える。
【００２０】
入力回路３０は、センサ２０から出力された検知信号を受信してＣＰＵ３６に渡す。出力回路３２は、ＣＰＵ３６の指示にしたがってアクチュエータ２２を制御するための信号をアクチュエータ２２へ出力する。通信ＩＦ３４は、車載ネットワーク２８を介して他のＥＣＵと通信する。通信ＩＦ３４は、ゲートウェイＥＣＵ２６から送信された更新データを受信する。
【００２１】
ＲＯＭ３８は、対象ＥＣＵ２４が担当する検知処理またはアクチュエータ制御処理の内容を定めたコンピュータプログラム（以下「データ処理プログラム」）と、データ処理プログラムにより使用されるパラメータとを不揮発に記憶する。データ処理プログラムは、車両１０の走行に関するデータ処理を規定したコードとも言える。ＲＯＭ３８は、ブート領域５０、プログラム領域５２、パラメータ領域５４ａ、パラメータ領域５４ｂ、プログラム領域５６、パラメータ領域５８ａ、パラメータ領域５８ｂを含む。
【００２２】
ブート領域５０は、対象ＥＣＵ２４の起動時に実行されるコンピュータプログラム（ブートローダ等）が記憶される領域である。プログラム領域５２とプログラム領域５６は、データ処理プログラムが記憶される領域である。なお、プログラム領域５２とプログラム領域５６には、対象ＥＣＵ２４のプログラムとパラメータの少なくとも一方を更新するためのコンピュータプログラム（以下「データ更新プログラム」とも呼ぶ。）がさらに記憶される。２つのプログラム領域のうち一方のプログラム領域のデータ処理プログラムが使用中の場合、他方のプログラム領域のデータ更新プログラムが更新される。
【００２３】
パラメータ領域５４ａとパラメータ領域５４ｂは、プログラム領域５２に記憶されたデータ処理プログラムにより参照されるパラメータが記憶される領域である。パラメータ領域５８ａとパラメータ領域５８ｂは、プログラム領域５６に記憶されたデータ処理プログラムにより参照されるパラメータが記憶される領域である。プログラム領域５２に記憶されたデータ処理プログラムが実行中、パラメータ領域５４ａとパラメータ領域５４ｂの一方が参照先として選択される。一方のパラメータ領域のパラメータが参照中であるとき、他方のパラメータ領域のパラメータが更新される。
【００２４】
ＥＥＰＲＯＭ４０は、ＲＯＭ３８とは別個に設けられた不揮発の記憶装置であり、管理領域６０を含む。管理領域６０にはプログラム選択フラグが記憶される。プログラム選択フラグは、プログラム領域５２のデータ処理プログラムと、プログラム領域５６のデータ処理プログラムとのいずれが選択（言い換えれば使用）されているかを示すデータである。また、管理領域６０にはパラメータ選択フラグが記憶される。パラメータ選択フラグは、パラメータ領域５４ａ、パラメータ領域５４ｂ、パラメータ領域５８ａ、パラメータ領域５８ｂのいずれのパラメータが選択（言い換えれば使用）されているかを示すデータである。
【００２５】
ＲＡＭ４２は、ＲＯＭ３８に記憶されたプログラムとパラメータのうち、ＣＰＵ３６により実行されるプログラムと、そのプログラムにより参照されるパラメータとを一時的に記憶する揮発性メモリである。
【００２６】
図３は、図１のＣＰＵ３６の機能構成を示すブロック図である。ＣＰＵ３６は、データ処理部６２、更新データ取得部６４、ＲＯＭ更新部６６、ＲＡＭ更新部６８を含む。
【００２７】
本明細書のブロック図において示される各ブロックは、ハードウェア的には、コンピュータのＣＰＵ・メモリをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。例えば、
【００２８】
データ処理部６２は、対象ＥＣＵ２４が担当するデータ処理（例えば検知処理またはアクチュエータ制御処理）を実行する。データ処理部６２は、例えば、ＣＰＵ３６が、ＲＯＭ３８に記憶されたデータ処理プログラムとそのパラメータをＲＡＭ４２に記憶させ、ＲＡＭ４２に記憶されたパラメータに基づいてデータ処理プログラムを実行することにより実現される。
【００２９】
更新データ取得部６４は、通信ＩＦ３４で受信された更新データのうち、対象ＥＣＵ２４自身のＩＤが指定された更新データを処理対象のデータとして取得する。ＲＯＭ更新部６６は、更新データ取得部６４により取得された更新データにしたがって、ＲＯＭ３８に格納された既存のプログラムと既存のパラメータの少なくとも一方を更新する。
【００３０】
実施例における更新データ本体は、パラメータ領域５４ａ、パラメータ領域５４ｂ、パラメータ領域５８ａ、またはパラメータ領域５８ｂの全体を置き換えるべきデータである。ＲＯＭ更新部６６は、ＲＯＭ３８の複数のパラメータ領域のうち現在未選択のパラメータ領域に、更新データが含む更新データ本体を上書き保存する。
【００３１】
実施例におけるデータ処理プログラムは、パラメータが記憶されるＲＯＭのアドレスとＲＡＭのアドレスとの対応関係を示す対応関係データを含む。図４は、対応関係データの例を示す。対応関係データは、ＲＯＭにおける各パラメータの記憶領域の先頭アドレス（ＲＯＭアドレス）、パラメータの長さ、ＲＡＭにおける各パラメータの記憶領域の先頭アドレス（ＲＡＭアドレス）を対応付けたデータ（例えばテーブル）である。ＲＯＭアドレスは、パラメータ領域５４ａ、パラメータ領域５４ｂ、パラメータ領域５８ａ、パラメータ領域５８ｂのいずれにも適用可能なように、各領域の先頭位置からの相対オフセットが指定される。
【００３２】
ＲＡＭ更新部６８は、データ処理プログラムの実行中に、ＲＯＭ３８に記憶されたパラメータが更新された場合、データ処理プログラムに含まれる対応関係データに基づいて、ＲＡＭに記憶されたパラメータをさらに更新する。例えば、図４の例では、ＲＯＭ３８の更新対象のパラメータ領域におけるアドレス「０ｘ１０１０」から４バイト分のパラメータ値を、ＲＡＭ４２のアドレス「０ｘ０Ａ１０」から４バイトの領域に記録する。なお、更新データ取得部６４、ＲＯＭ更新部６６、ＲＡＭ更新部６８は、ＣＰＵ３６がデータ更新プログラムを実行することにより実現されてよい。ＲＡＭ更新部６８は、データ処理プログラムの実行プロセスに問い合わせて、対応関係データを取得してもよい。
【００３３】
以上の構成による対象ＥＣＵ２４の動作を説明する。図５は、対象ＥＣＵ２４の動作を示すフローチャートである。車両１０のイグニッションがオンに切り替えられた場合等、対象ＥＣＵ２４の電源がオフからオンに変化すると（Ｓ１０のＹ）、ＣＰＵ３６は、ＥＥＰＲＯＭ４０の管理領域６０に記憶された選択フラグを参照して、選択中のプログラム領域に記憶されたデータ処理プログラムと、選択中のパラメータ領域に記憶されたパラメータとを、ＲＯＭ３８からＲＡＭ４２へロードする（Ｓ１２）。ＣＰＵ３６は、ＲＡＭ４２へロードしたデータ処理プログラムの実行を開始する（Ｓ１４）。対象ＥＣＵ２４の電源がオンに切り替えられなければ（Ｓ１０のＮ）、Ｓ１２とＳ１４をスキップする。
【００３４】
ＣＰＵ３６（データ処理部６２）は、ＲＡＭ４２にロードされたパラメータに基づいて、ＲＡＭ４２にロードされたデータ処理プログラムを実行することにより、対象ＥＣＵ２４が担当するデータ処理を実行する（Ｓ１５）。ＣＰＵ３６（更新データ取得部６４）が更新データを受信すると（Ｓ１６のＹ）、ＣＰＵ３６は、更新データを参照して、更新対象のデータ種別を特定する。
【００３５】
更新対象がパラメータのみであれば（Ｓ１８のＹ）、例えば、更新データのデータ種別が種別１の場合、ＣＰＵ３６（ＲＯＭ更新部６６）は、第１ＲＯＭ更新処理を実行する（Ｓ２０）。ＣＰＵ３６（ＲＡＭ更新部６８）は、Ｓ２０で更新したパラメータであり、実行中のデータ処理プログラムに含まれる対応関係データにより特定されるパラメータの値を、その対応関係データが示すＲＡＭアドレスに記録する（Ｓ２２）。言い換えれば、ＣＰＵ３６（ＲＡＭ更新部６８）は、更新後のパラメータ値を、データ処理プログラムにより使用中の変数値に反映させる。
【００３６】
更新対象がプログラムを含む場合（Ｓ１８のＮ）、例えば、更新データのデータ種別が種別２の場合、ＣＰＵ３６（ＲＯＭ更新部６６）は、第２ＲＯＭ更新処理を実行する（Ｓ２４）。更新対象がプログラムを含む場合、ＲＯＭの更新内容をＲＡＭへ即時に反映する処理は抑制する。更新データを未受信であれば（Ｓ１６のＮ）、Ｓ１８〜Ｓ２４をスキップする。対象ＥＣＵ２４の電源がオフに切り替えられた場合等、所定の終了条件が満たされると（Ｓ２６のＹ）、本図のフローを終了する。終了条件が満たされなければ（Ｓ２６のＮ）、Ｓ１５に戻り、担当するデータ処理を継続する。
【００３７】
図６は、図５のＳ２０の第１ＲＯＭ更新処理の詳細を示すフローチャートである。ＣＰＵ３６は、管理領域６０の選択フラグを参照して、現在選択中のプログラム領域とパラメータ領域を特定する（Ｓ３０）。プログラム領域５２を選択中であり（Ｓ３２のＹ）、かつ、パラメータ領域５４ａを選択中であれば（Ｓ３４のＹ）、更新データ本体をパラメータ領域５４ｂに保存する（Ｓ３６）。ＣＰＵ３６は、管理領域６０におけるパラメータ領域選択フラグに、パラメータ領域５４ｂの識別情報を設定する（Ｓ３８）。パラメータ領域５４ｂを選択中であれば（Ｓ３４のＮ）、更新データ本体をパラメータ領域５４ａに保存する（Ｓ４０）。ＣＰＵ３６は、管理領域６０におけるパラメータ領域選択フラグに、パラメータ領域５４ａの識別情報を設定する（Ｓ４２）。Ｓ３８、Ｓ４２において、管理領域６０のプログラム領域選択フラグは、プログラム領域５２のまま維持される。
【００３８】
プログラム領域５６を選択中であり（Ｓ３２のＮ）、かつ、パラメータ領域５８ａを選択中であれば（Ｓ４４のＹ）、更新データ本体をパラメータ領域５８ｂに保存する（Ｓ４６）。ＣＰＵ３６は、管理領域６０におけるパラメータ領域選択フラグに、パラメータ領域５８ｂの識別情報を設定する（Ｓ４８）。パラメータ領域５８ｂを選択中であれば（Ｓ４４のＮ）、更新データ本体をパラメータ領域５８ａに保存する（Ｓ５０）。ＣＰＵ３６は、管理領域６０におけるパラメータ領域選択フラグに、パラメータ領域５８ａの識別情報を設定する（Ｓ５２）。Ｓ４８、Ｓ５２において、管理領域６０のプログラム領域選択フラグは、プログラム領域５６のまま維持される。
【００３９】
図７は、図５のＳ２２の第２ＲＯＭ更新処理の詳細を示すフローチャートである。ＣＰＵ３６は、管理領域６０の選択フラグを参照して、現在選択中のプログラム領域を特定する。プログラム領域５２を選択中であれば（Ｓ６０のＹ）、ＣＰＵ３６は、更新データ本体に含まれるデータ処理プログラムをプログラム領域５６に保存し、更新データ本体に含まれるパラメータをパラメータ領域５８ａに保存する（Ｓ６２）。ＣＰＵ３６は、管理領域６０におけるプログラム領域選択フラグに、プログラム領域５６の識別情報を設定する（Ｓ６４）。また、ＣＰＵ３６は、管理領域６０におけるパラメータ領域選択フラグに、パラメータ領域５８ａの識別情報を設定する（Ｓ６６）。
【００４０】
プログラム領域５６を選択中であれば（Ｓ６０のＮ）、ＣＰＵ３６は、更新データ本体に含まれるデータ処理プログラムをプログラム領域５２に保存し、更新データ本体に含まれるパラメータをパラメータ領域５４ａに保存する（Ｓ６８）。ＣＰＵ３６は、管理領域６０におけるプログラム領域選択フラグに、プログラム領域５２の識別情報を設定する（Ｓ７０）。また、ＣＰＵ３６は、管理領域６０におけるパラメータ領域選択フラグに、パラメータ領域５４ａの識別情報を設定する（Ｓ７２）。
【００４１】
第１実施例の対象ＥＣＵ２４によると、リプログラミングによる更新対象がパラメータのみの場合、パラメータの更新をデータ処理プログラムの動作に即反映させることができる。これにより、リプログラミングの効果をユーザに即享受させることができる。
【００４２】
［第２実施例］
第２実施例では、第１実施例の構成に加えて、ＲＡＭ４２へ即時反映するパラメータを制限する技術を提案する。第２実施例の車両１０の構成は、第１実施例の車両１０の構成と同様である（図１）。以下、第１実施例と異なる点を説明する。
【００４３】
第２実施例のデータ処理プログラムは、ＲＡＭ４２へ即時反映可能な予め定められた１つ以上のパラメータについて、各パラメータの識別情報の一覧（以下「即時反映パラメータリスト」とも呼ぶ。）を含む。ＲＡＭ４２へ即時反映可能なパラメータは、実行中のプログラムの変数に即時反映可能なパラメータとも言える。
【００４４】
図８は、即時反映パラメータリストの例を示す。即時反映パラメータリストは、パラメータの識別情報として、ＲＯＭ３８におけるパラメータの先頭アドレス（相対オフセット）と、パラメータのデータ長とを含む。なお、対象ＥＣＵ２４のＣＰＵ３６は、複数種類のデータ処理プログラムを並行して実行可能であり、データ処理プログラムごとに即時反映パラメータリストを設定可能である。
【００４５】
ＣＰＵ３６（ＲＡＭ更新部６８）は、ＲＯＭ３８に記憶された複数のパラメータを更新した場合、ＲＡＭ４２に記憶されたそれら複数のパラメータのうち即時反映パラメータリストで定められたパラメータをさらに更新する。なお、ＲＡＭ４２に記憶された複数のパラメータのうち即時反映パラメータリストに未記載のパラメータは、プログラムの更新と同様に、対象ＥＣＵ２４の次回の起動時にＲＡＭへ反映される。
【００４６】
例えば、ＣＰＵ３６は、データ処理プログラムに含まれる即時反映パラメータリストを参照して、ＲＡＭ４２へ即時反映可能な１つ以上のパラメータ（以下「特定パラメータ」とも呼ぶ。）を識別してもよい。ＣＰＵ３６は、データ処理プログラムに含まれる対応関係データを参照して、特定パラメータを記録すべきＲＡＭのアドレスを識別してもよい。ＲＯＭ更新部６６は、特定パラメータの更新後の値を上記識別したＲＡＭのアドレスに記録することで、特定パラメータの更新後の値を、実行中のデータ処理プログラムの変数値に即時反映させてもよい。
【００４７】
変形例として、ＣＰＵ３６（ＲＡＭ更新部６８）は、データ処理プログラムに含まれる対応関係データを、即時反映パラメータリストとして取り扱ってもよい。この場合、対応関係データには、更新後の値をＲＡＭ領域へ即時反映させるべきパラメータのみ設定される。ＣＰＵ３６は、ＲＯＭ３８に記憶された複数のパラメータを更新した場合、ＲＡＭ４２に記憶された複数のパラメータのうち対応関係データに記録された１つ以上のパラメータの更新後の値を、ＲＡＭ４２へ即時に反映してもよい。
【００４８】
以上の構成による対象ＥＣＵ２４の動作を説明する。第１実施例の対象ＥＣＵ２４の動作のうち図５のＳ１０〜Ｓ２０、Ｓ２４、Ｓ２６の動作は、第２実施例の対象ＥＣＵ２４でも同様であるため説明を省略する。
【００４９】
図９は、図５のＳ２２の処理の詳細を示すフローチャートである。ＣＰＵ３６は、第１ＲＯＭ更新処理を実行後、即時反映パラメータリストを参照して、ＲＡＭ４２へ即時反映可能なパラメータを特定する（Ｓ８０）。ＣＰＵ３６は、即時反映可能なパラメータの更新後の値を、実行中のデータ処理プログラムの対応関係データが示すＲＡＭアドレスに記録する（Ｓ８２）。
【００５０】
第２実施例の対象ＥＣＵ２４によると、即時にＲＡＭ４２へ反映させるパラメータと、次回起動時にＲＡＭ４２へ反映させるパラメータとを、データ処理プログラム単位かつパラメータ単位に柔軟に設定することができる。
【００５１】
なお、即時反映パラメータリストは、データ処理プログラムの一部として実装され、ＲＯＭ３８のプログラム領域に格納されてもよい。また、データ処理プログラムから参照されるパラメータとして実装され、ＲＯＭ３８のパラメータ領域に格納されてもよい。いずれの場合も、更新データにより即時反映パラメータリストの内容を変更可能である。また、パラメータとして実装された場合、データ処理プログラムの実行中であっても、即時反映パラメータリストの内容を即時に変更可能になる。
【００５２】
以上、本発明を第１および第２実施例をもとに説明した。これらの実施例は例示であり、それらの各構成要素あるいは各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００５３】
第１および第２実施例に適用可能な変形例を説明する。対象ＥＣＵ２４は、ＲＯＭ３８におけるパラメータ更新をＲＡＭ４２へ即時反映させる処理を、所定のＲＡＭ更新条件が満たされた場合に実行してもよい。対象ＥＣＵ２４は、ＲＡＭ更新条件が満たされなければ、ＲＯＭ３８におけるパラメータ更新をＲＡＭ４２へ即時反映させる処理をスキップしてもよい。
【００５４】
ＲＡＭ更新条件は、車両１０の走行速度が所定の閾値未満である場合に満たされてもよい。また、ＲＡＭ更新条件は、高速道路を走行中に満たされてもよく、例えば、車両１０の走行速度が所定の閾値以上である場合に満たされてもよい。高速道路の走行に関するパラメータ更新時に有用である。また、対象ＥＣＵ２４は、自ＥＣＵと同期が必要な他のＥＣＵのソフトウェアのバージョン値を、当該他のＥＣＵに問い合わせて取得してもよい。この場合、ＲＡＭ更新条件は、他のＥＣＵのソフトウェアのバージョン値が所定値である場合に満たされてもよい。このように、ＲＡＭ更新条件は、センサ２０による種々の検知情報、アクチュエータ２２の状態、または他のＥＣＵからの取得情報に基づいて、充足有無が判定されてよい。
【００５５】
上記実施例では、対応関係データおよび即時反映パラメータリストがデータ処理プログラムに含まれることとした。変形例として、対応関係データおよび即時反映パラメータリストは、データ処理プログラムとは別のデータとして作成され、対象ＥＣＵ２４のＲＯＭ３８に予め格納されてもよい。
【００５６】
実施例および変形例に記載の技術は、以下の項目によって特定されてもよい。
［項目１］
車両に関するデータ処理のためのプログラムと、前記プログラムの動作態様を規定するパラメータを記憶するＲＯＭ（Read Only Memory）と、
ＲＡＭ（Random Access Memory）と、
前記ＲＯＭに記憶されたプログラムとパラメータとを前記ＲＡＭに記憶させ、前記ＲＡＭに記憶されたパラメータに基づいてプログラムを実行するＣＰＵ（Central Processing Unit）と、
を備え、
前記プログラムは、前記パラメータが記憶されるＲＯＭのアドレスとＲＡＭのアドレスとの対応関係の情報を含み、
前記ＣＰＵは、前記プログラムの実行中に、外部装置から受け付けた更新データに基づいて前記ＲＯＭに記憶されたパラメータを更新した場合、前記対応関係に基づいて、前記ＲＡＭに記憶されたパラメータをさらに更新する、車載装置。
この車載装置によると、ＲＯＭに記憶された既存のパラメータを更新した場合、更新後のパラメータ値をＲＡＭ領域（例えば実行中のプログラムの変数）に即反映させることができる。これにより、車載装置のリプログラミングの効果をユーザに即享受させることができる。
［項目２］
前記更新データは、前記ＲＯＭに記憶されたパラメータのみの更新を指示する第１の更新データと、前記ＲＯＭに記憶されたプログラムとパラメータの両方の更新を指示する第２の更新データとを含み、
前記ＣＰＵは、前記ＲＯＭに記憶されたプログラムとパラメータのうち前記第１の更新データに基づいて前記ＲＯＭに記憶されたパラメータのみを更新した場合に、前記ＲＡＭに記憶されたパラメータをさらに更新する、項目１に記載の車載装置。
この態様によると、ＲＯＭに記憶された既存のパラメータを更新した場合、更新後のパラメータ値をＲＡＭ領域（例えば実行中のプログラムの変数）に即反映させることができる。
［項目３］
前記プログラムは、前記ＲＡＭに即時反映可能なパラメータの識別情報を含み、
前記ＣＰＵは、前記ＲＯＭに記憶された複数のパラメータを更新した場合、前記ＲＡＭに記憶された前記複数のパラメータのうち前記即時反映可能なパラメータをさらに更新する、項目１または２に記載の車載装置。
この態様によると、更新されたＲＯＭのパラメータのうちＲＡＭ側へ即時反映するパラメータを任意に設定することができる。
［項目４］
車両に関するデータ処理のためのプログラムと、前記プログラムの動作態様を規定するパラメータを記憶するＲＯＭと、
ＲＡＭと、
前記ＲＯＭに記憶されたプログラムとパラメータとを前記ＲＡＭに記憶させ、前記ＲＡＭに記憶されたパラメータに基づいてプログラムを実行するＣＰＵと、を備える車載装置が実行するデータ更新方法であって、
前記プログラムは、前記パラメータが記憶されるＲＯＭのアドレスとＲＡＭのアドレスとの対応関係の情報を含み、
前記ＣＰＵは、前記プログラムの実行中に、外部装置から受け付けた更新データに基づいて前記ＲＯＭに記憶されたパラメータを更新した場合、前記対応関係に基づいて、前記ＲＡＭに記憶されたパラメータをさらに更新する、データ更新方法。
このデータ更新方法によると、ＲＯＭに記憶された既存のパラメータを更新した場合、更新後のパラメータ値をＲＡＭ領域（例えば実行中のプログラムの変数）に即反映させることができる。これにより、車載装置のリプログラミングの効果をユーザに即享受させることができる。
［項目５］
車両に関するデータ処理のためのデータ処理プログラムと、前記データ処理プログラムの動作態様を規定するパラメータを記憶するＲＯＭと、
ＲＡＭと、
前記ＲＯＭに記憶されたデータ処理プログラムとパラメータとを前記ＲＡＭに記憶させ、前記ＲＡＭに記憶されたパラメータに基づいてデータ処理プログラムを実行するＣＰＵと、を備える車載装置で実行されるデータ更新プログラムであって、
前記データ処理プログラムは、前記パラメータが記憶されるＲＯＭのアドレスとＲＡＭのアドレスとの対応関係の情報を含み、
前記プログラムの実行中に、外部装置から受け付けた更新データに基づいて前記ＲＯＭに記憶されたパラメータを更新した場合、前記対応関係に基づいて、前記ＲＡＭに記憶されたパラメータをさらに更新することを前記ＣＰＵに実行させるためのデータ更新プログラム。
このデータ更新プログラムによると、ＲＯＭに記憶された既存のパラメータを更新した場合、更新後のパラメータ値をＲＡＭ領域（例えば実行中のプログラムの変数）に即反映させることができる。これにより、車載装置のリプログラミングの効果をユーザに即享受させることができる。
【００５７】
上述した実施例および変形例の任意の組み合わせもまた本発明の実施の形態として有用である。組み合わせによって生じる新たな実施の形態は、組み合わされる実施例および変形例それぞれの効果をあわせもつ。また、請求項に記載の各構成要件が果たすべき機能は、実施例および変形例において示された各構成要素の単体もしくはそれらの連携によって実現されることも当業者には理解されるところである。
【符号の説明】
【００５８】
１０  車両、  ２４  対象ＥＣＵ、  ３６  ＣＰＵ、  ３８  ＲＯＭ、  ４２  ＲＡＭ、  ６２  データ処理部、  ６４  更新データ取得部、  ６６  ＲＯＭ更新部、  ６８  ＲＡＭ更新部。
【図１】
2018159361.tif 000003
【図２】
2018159361.tif 000004
【図３】
2018159361.tif 000005
【図４】
2018159361.tif 000006
【図５】
2018159361.tif 000007
【図６】
2018159361.tif 000008
【図７】
2018159361.tif 000009
【図８】
2018159361.tif 000010
【図９】
2018159361.tif 000011