(57)【特許請求の範囲】
【請求項１】
車両に搭載される電子制御ユニットのコンフィグレーション情報と、前記電子制御ユニットに新たに接続される新規接続デバイスのコンフィグレーション情報とを用いて、前記新規接続デバイスが接続された後の前記電子制御ユニットの新たなコンフィグレーション情報を生成するコンフィグレーション情報生成部と、
前記電子制御ユニットに実装されている制御プログラムのオブジェクトファイルと、前記新規接続デバイスを制御するための制御プログラムのオブジェクトファイルとをリンクして、前記新規接続デバイスが接続された後に前記電子制御ユニットが実行する新たな制御プログラムの実行可能ファイルを生成する実行可能ファイル生成部と、
前記コンフィグレーション情報生成部により生成された前記新たなコンフィグレーション情報と、前記実行可能ファイル生成部により生成された前記新たな制御プログラムの実行可能ファイルとを、前記電子制御ユニットに対して出力する出力部とを有することを特徴とする情報処理装置。
【請求項２】
前記情報処理装置は、更に、
前記電子制御ユニットのコンフィグレーション情報と、前記電子制御ユニットに実装されている制御プログラムのオブジェクトファイルとを管理する第１の管理装置から、前記電子制御ユニットのコンフィグレーション情報と、前記電子制御ユニットに実装されている制御プログラムのオブジェクトファイルとを受信し、
前記新規接続デバイスのコンフィグレーション情報と、前記新規接続デバイスを制御するための制御プログラムのオブジェクトファイルとを管理する第２の管理装置から、前記新規接続デバイスのコンフィグレーション情報と、前記新規接続デバイスを制御するための制御プログラムのオブジェクトファイルとを受信する通信部を有し、
前記コンフィグレーション情報生成部は、
前記通信部により前記第１の管理装置から受信された前記電子制御ユニットのコンフィグレーション情報と、前記通信部により前記第２の管理装置から受信された前記新規接続デバイスのコンフィグレーション情報とを用いて、前記新たなコンフィグレーション情報を生成し、
前記実行可能ファイル生成部は、
前記通信部により前記第１の管理装置から受信された前記電子制御ユニットに実装されている制御プログラムのオブジェクトファイルと、前記通信部により前記第２の管理装置から受信された前記新規接続デバイスを制御するための制御プログラムのオブジェクトファイルとをリンクして、前記新たな制御プログラムの実行可能ファイルを生成することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記通信部は、
前記出力部により前記新たなコンフィグレーション情報と前記新たな制御プログラムの実行可能ファイルとが前記電子制御ユニットに対して出力され、前記新たなコンフィグレーション情報と前記新たな制御プログラムの実行可能ファイルとが前記電子制御ユニットに格納された後に、
前記新たなコンフィグレーション情報、及び前記第１の管理装置が前記第１の管理装置で管理されているコンフィグレーション情報から前記新たなコンフィグレーション情報を生成可能なデータの少なくともいずれかと、
前記新たな制御プログラムのオブジェクトファイル、及び前記第１の管理装置が前記第１の管理装置で管理されているオブジェクトファイルから前記新たな制御プログラムのオブジェクトファイルを生成可能なデータの少なくともいずれかとを、前記第１の管理装置に送信することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記情報処理装置は、更に、
前記電子制御ユニットのコンフィグレーション情報と、前記電子制御ユニットに実装されている制御プログラムのソースコードとを管理する第１の管理装置から、前記電子制御ユニットのコンフィグレーション情報と、前記電子制御ユニットに実装されている制御プログラムのソースコードとを受信し、
前記新規接続デバイスのコンフィグレーション情報と、前記新規接続デバイスを制御するための制御プログラムのソースコードとを管理する第２の管理装置から、前記新規接続デバイスのコンフィグレーション情報と、前記新規接続デバイスを制御するための制御プログラムのソースコードとを受信する通信部を有し、
前記コンフィグレーション情報生成部は、
前記通信部により前記第１の管理装置から受信された前記電子制御ユニットのコンフィグレーション情報と、前記通信部により前記第２の管理装置から受信された前記新規接続デバイスのコンフィグレーション情報とを用いて、前記新たなコンフィグレーション情報を生成し、
前記実行可能ファイル生成部は、
前記通信部により前記第１の管理装置から受信された前記電子制御ユニットに実装されている制御プログラムのソースコードをコンパイルしてオブジェクトファイルを生成し、前記通信部により前記第２の管理装置から受信された前記新規接続デバイスを制御するための制御プログラムのソースコードをコンパイルしてオブジェクトファイルを生成し、生成した２つのオブジェクトファイルをリンクして、前記新たな制御プログラムの実行可能ファイルを生成することを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記通信部は、
前記出力部により前記新たなコンフィグレーション情報と前記新たな制御プログラムの実行可能ファイルとが前記電子制御ユニットに対して出力され、前記新たなコンフィグレーション情報と前記新たな制御プログラムの実行可能ファイルとが前記電子制御ユニットに格納された後に、
前記新たなコンフィグレーション情報、及び前記第１の管理装置が前記第１の管理装置で管理されているコンフィグレーション情報から前記新たなコンフィグレーション情報を生成可能なデータの少なくともいずれかと、
前記新たな制御プログラムのソースコード、及び前記第１の管理装置が前記第１の管理装置で管理されているソースコードから前記新たな制御プログラムのソースコードを生成可能なデータの少なくともいずれかとを、前記第１の管理装置に送信することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記コンフィグレーション情報生成部は、
前記電子制御ユニット内のリソースを前記新規接続デバイスに割当て可能か否かを判断し、
前記電子制御ユニット内のリソースを前記新規接続デバイスに割当て可能な場合に、前記新たなコンフィグレーション情報を生成することを特徴とする請求項１に記載の情報処理装置。
【請求項７】
前記実行可能ファイル生成部は、
前記電子制御ユニット内の所定の記憶領域に、前記新たな制御プログラムの実行可能ファイルが収容可能か否かを判断し、
前記記憶領域に前記新たな制御プログラムの実行可能ファイルが収容可能な場合に、前記新たな制御プログラムの実行可能ファイルを生成することを特徴とする請求項１に記載の情報処理装置。
【請求項８】
前記電子制御ユニットは、
第１のメモリを有するデバイス装着ポートと、ネットワークにより接続されており、
前記デバイス装着ポートに装着されるデバイスのデータを、前記ネットワークを介して、前記第１のメモリとの間で送受信する第２のメモリを有し、
前記コンフィグレーション情報生成部は、
前記第１のメモリと前記第２のメモリとを管理するための情報を含めて、新たなコンフィグレーション情報を生成することを特徴とする請求項１に記載の情報処理装置。
【請求項９】
前記コンフィグレーション情報生成部は、
前記電子制御ユニットのコンフィグレーション情報と、前記電子制御ユニットから取り外される取り外しデバイスのコンフィグレーション情報とを用いて、前記取り外しデバイスが取り外された後の前記電子制御ユニットの新たなコンフィグレーション情報を生成し、
前記実行可能ファイル生成部は、
前記電子制御ユニットに実装されている制御プログラムのオブジェクトファイルから、前記取り外しデバイスを制御するための制御プログラムのオブジェクトファイルを削除して、前記取り外しデバイスが取り外された後に前記電子制御ユニットが実行する新たな制御プログラムの実行可能ファイルを生成することを特徴とする請求項１に記載の情報処理装置。
【請求項１０】
前記情報処理装置は、
前記電子制御ユニットのコンフィグレーション情報を前記電子制御ユニットから受信することを特徴とする請求項１に記載の情報処理装置。
【請求項１１】
コンピュータが、車両に搭載される電子制御ユニットのコンフィグレーション情報と、前記電子制御ユニットに新たに接続される新規接続デバイスのコンフィグレーション情報とを用いて、前記新規接続デバイスが接続された後の前記電子制御ユニットの新たなコンフィグレーション情報を生成し、
前記コンピュータが、前記電子制御ユニットに実装されている制御プログラムのオブジェクトファイルと、前記新規接続デバイスを制御するための制御プログラムのオブジェクトファイルとをリンクして、前記新規接続デバイスが接続された後に前記電子制御ユニットが実行する新たな制御プログラムの実行可能ファイルを生成し、
前記コンピュータが、前記新たなコンフィグレーション情報と、前記新たな制御プログラムの実行可能ファイルとを、前記電子制御ユニットに対して出力することを特徴とする情報処理方法。
【請求項１２】
車両に搭載される電子制御ユニットのコンフィグレーション情報と、前記電子制御ユニットに新たに接続される新規接続デバイスのコンフィグレーション情報とを用いて、前記新規接続デバイスが接続された後の前記電子制御ユニットの新たなコンフィグレーション情報を生成するコンフィグレーション情報生成処理と、
前記電子制御ユニットに実装されている制御プログラムのオブジェクトファイルと、前記新規接続デバイスを制御するための制御プログラムのオブジェクトファイルとをリンクして、前記新規接続デバイスが接続された後に前記電子制御ユニットが実行する新たな制御プログラムの実行可能ファイルを生成する実行可能ファイル生成処理と、
前記コンフィグレーション情報生成処理により生成された前記新たなコンフィグレーション情報と、前記実行可能ファイル生成処理により生成された前記新たな制御プログラムの実行可能ファイルとを、前記電子制御ユニットに対して出力する出力処理とをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自動車に搭載される機器を制御する技術に関する。
【背景技術】
【０００２】
例えば、特許文献１には、汎用の携帯端末を車内ネットワークに接続して使用できるようにしたゲートウエイ装置が開示されている。
より具体的には、特許文献１には、ゲートウエイ装置が、それぞれ異なる通信プロトコルに対応している車内ネットワークの車載デバイスと携帯端末との間でコマンド情報の変換を行って車載デバイスと携帯端末の間でコマンド情報を送受信させる技術が開示されている。【０００３】
また、特許文献２には、車両の通信ネットワークに機器を追加する方法が開示されている。
より具体的には、特許文献２には、新たに追加された機器の専用ドライバを通信ネットワーク（例えばインターネットを介してドライバのメーカのインターネットページ）から直接呼び出し、この専用ドライバを機器へ提供する方法が開示されている。【０００４】
さらに、特許文献３には、車両の通信ネットワークに機器を追加する方法が開示されている。
より具体的には、特許文献３には、接続する機器のＩＤ（Ｉｄｅｎｔｉｆｉｅｒ）を、事前に割り当てられているＩＤから動作順序を考慮したＩＤに変更して、ネットワークを再構築する方法が開示されている。【０００５】
また、特許文献４には、機器がネットワークに接続された場合に設定情報を外部の記憶手段から呼び出す通信システムが開示されている。
特許文献４における設定情報は、オーディオ機器における音量や曲順、カーナビゲーションにおける登録地点、エアコン機器における設定温度などのアプリケーションレベルの設定情報である。【０００６】
また、特許文献５には、デバイスからホストとなる情報処理装置に対しデバイス情報を送信し、情報処理装置が、デバイスから受信したデバイス情報に基づき、ＤＬＬ（Ｄｙｎａｍｉｃ  Ｌｉｎｋ  Ｌｉｂｒａｒｙ）ファイルで構成されるドライバをインストールする技術が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００５−２３６５６０号公報
【特許文献２】特表２００３−５３３９４２号公報
【特許文献３】特開２００６−２９５４２６号公報
【特許文献４】特開２００２−０５１０５８号公報
【特許文献５】特開２００５−２５８６６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
従来技術（特許文献１）は、ネットワークに接続された機器に対してゲートウエイ装置がコマンド情報を変換する技術である。
このため、特許文献１の技術を用いても、ＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ：電子制御ユニット）に新しく追加するデバイスの制御用ソフトウェアをＥＣＵに提供することはできない、という課題がある。【０００９】
また、従来技術（特許文献２）は、車両の通信ネットワークに追加する機器のドライバをロードする技術であるが、ＩＥＥＥ１３９４を対象としている通り、後述する特許文献５の課題と同様に、ハイスペックなハードウェア資源が必要という課題がある。【００１０】
また、従来技術（特許文献３）は、ネットワークに接続される別のユニットが持つ関連動作リストに基づき、新たに追加したデバイスに対してＩＤ変更手段によって新しいＩＤを割り振るという技術である。
このため、特許文献１の課題と同様に、特許文献３の技術を用いても、ＥＣＵに新しく追加するデバイスの制御用ソフトウェアをＥＣＵに提供することはできない、という課題がある。【００１１】
また、従来技術（特許文献４）は、アプリケーションレベルの設定情報を外部の記憶手段から呼び出す技術であるため、特許文献１の課題と同様に、特許文献４の技術を用いても、ＥＣＵに新しく追加するデバイスの制御用ソフトウェアをＥＣＵに提供することはできない、という課題がある。【００１２】
また、従来技術（特許文献５）の情報処理装置で扱うＤＬＬファイルは、動的なリンクを用いていることからハイスペックなハードウェア資源が必要となり、コストの観点から車載装置に適用することはできない、という課題がある。【００１３】
また、従来技術（特許文献１〜５）においては、追加する機器から機器情報を送信するため、機器側でデータ送信するための通信機能が必要となり、機器のコストが高くなる、という課題がある。【００１４】
本発明は、上記のような課題に鑑みたものであり、通信機能を持たないデバイスを電子制御ユニットに接続しても電子制御ユニットがデバイスを制御できるようにし、また、動的なリンクを用いずに電子制御ユニットが制御プログラムを実行できるようにすることを主な目的とする。
【課題を解決するための手段】
【００１５】
本発明に係る情報処理装置は、
車両に搭載される電子制御ユニットのコンフィグレーション情報と、前記電子制御ユニットに新たに接続される新規接続デバイスのコンフィグレーション情報とを用いて、前記新規接続デバイスが接続された後の前記電子制御ユニットの新たなコンフィグレーション情報を生成するコンフィグレーション情報生成部と、
前記電子制御ユニットに実装されている制御プログラムのオブジェクトファイルと、前記新規接続デバイスを制御するための制御プログラムのオブジェクトファイルとをリンクして、前記新規接続デバイスが接続された後に前記電子制御ユニットが実行する新たな制御プログラムの実行可能ファイルを生成する実行可能ファイル生成部と、
前記コンフィグレーション情報生成部により生成された前記新たなコンフィグレーション情報と、前記実行可能ファイル生成部により生成された前記新たな制御プログラムの実行可能ファイルとを、前記電子制御ユニットに対して出力する出力部とを有することを特徴とする。
【発明の効果】
【００１６】
本発明によれば、情報処理装置が、新規接続デバイスが接続された後の新たなコンフィグレーション情報を生成し、電子制御ユニットに出力するので、新規接続デバイスが電子制御ユニットと通信する必要がなく、通信機能を持たないデバイスを電子制御ユニットに接続しても電子制御ユニットがデバイスを制御できる。
また、本発明によれば、情報処理装置が、新規接続デバイスが接続された後の新たな制御プログラムの実行可能ファイルを生成し、電子制御ユニットに出力するので、動的なリンクを用いずに電子制御ユニットが制御プログラムを実行できる。
【図面の簡単な説明】
【００１７】
【図１】実施の形態１における車載装置と外部端末装置の構成例を示す図である。
【図２】実施の形態１における全体の動作シーケンスを示す図である。
【図３】実施の形態１におけるＥＣＵ管理サーバの動作を示すフローチャートである。
【図４】実施の形態１におけるデバイス情報入出力部の動作を示すフローチャートである。
【図５】実施の形態１におけるコンフィグレーション情報生成部の動作を示すフローチャートである。
【図６】実施の形態１におけるコンフィグレーション生成判定処理を示すフローチャートである。
【図７】実施の形態１における実行可能ファイル生成部の動作を示すフローチャートである。
【図８】実施の形態１におけるＥＣＵのスペック例を示す図である。
【図９】実施の形態１におけるＥＣＵに実装されているコンフィグレーション情報例を示す図である。
【図１０】実施の形態１における新規デバイスのコンフィグレーション情報例を示す図である。
【図１１】実施の形態１におけるデバイス装着ポート情報例を示す図である。
【図１２】実施の形態１における更新されたコンフィグレーション情報例を示す図である。
【図１３】実施の形態１におけるＥＣＵの外部端末装置接続時の処理を示すフローチャートである。
【図１４】実施の形態１におけるＥＣＵの電源起動時の処理を示すフローチャートである。
【図１５】実施の形態１におけるＥＣＵのＲＯＭ領域を示す図である。
【図１６】実施の形態２における車載装置と外部端末装置の構成例を示す図である。
【図１７】実施の形態１〜６における外部端末装置のハードウェア構成例を示す図である。
【発明を実施するための形態】
【００１８】
実施の形態１．
図１は、本実施の形態に係る車載装置と外部端末装置の構成を示す図である。
車載装置は、車両１に搭載されるＥＣＵ２、車両に搭載される外部Ｉ／Ｆ（インタフェース）３、デバイス装着ポート４から構成される。
外部端末装置６は、車両と通信可能な外部Ｉ／Ｆ７、デバイス情報入出力部８、コンフィグレーション情報生成部１１、実行可能ファイル生成部１２、通信部１６から構成される。
通信部１６は無線通信が可能であり、外部端末装置６は、通信部１６による無線通信によって、Ｓ／Ｗ（ソフトウェア）管理サーバ９およびＥＣＵ管理サーバ１０から各種情報を受信可能である。
【００１９】
車両１に搭載される外部Ｉ／Ｆ３は、ＯＢＤＩＩといった標準の外部Ｉ／ＦもしくはＥＣＵ２が持つ外部Ｉ／Ｆである。
ＥＣＵ２には、ＥＣＵ２に接続されるデバイスの制御用ソフトウェアが実装される。
制御用ソフトウェアは、ＥＣＵ２に搭載される書き換え可能なフラッシュメモリに実装される。
デバイス装着ポート４はＥＣＵ２と一体となるもので、デバイス装着ポート４の各端子はＥＣＵ２に実装されるマイコンもしくはその他ＩＣの端子に物理的に接続されるものとする。
【００２０】
ＥＣＵ管理サーバ１０は、車両１に搭載されるＥＣＵ２が持つＩＤごとに、ＥＣＵ２のＨ／Ｗ（ハードウェア）スペックとＥＣＵ２のソフトウェア実装状態を管理する。
ＥＣＵ管理サーバ１０が管理する内容は、ＥＣＵ２に実装されるオブジェクトファイル、コンフィグレーション情報、デバイス装着ポート４の情報である。
デバイス装着ポート４の情報とは、デバイス装着ポート４が有するポートの種類や数とその使用状況である。
ＥＣＵ管理サーバ１０が管理するＨ／Ｗスペックは、レジスタ情報、メモリマップなどソフトウェアを実装するのに必要な情報である。
ＥＣＵ管理サーバ１０は、ＥＣＵ２のソフトウェア更新時に管理内容も更新する。
なお、ＥＣＵ管理サーバ１０は第１の管理装置の例に相当する。
【００２１】
Ｓ／Ｗ管理サーバ９は、新規デバイス５を制御するオブジェクトファイルと、新規デバイス５に対するコンフィグレーション情報を管理する。
図１では、Ｓ／Ｗ管理サーバ９は、外部端末装置６の外に置かれているが、外部端末装置６の中に置かれていてもよい。
なお、Ｓ／Ｗ管理サーバ９は第２の管理装置の例に相当する。
【００２２】
外部端末装置６の外部Ｉ／Ｆ７は、車両１の外部Ｉ／Ｆ３に接続されるものであり、車両１の外部Ｉ／Ｆ３と同様、ＯＢＤＩＩといった標準の外部Ｉ／ＦもしくはＥＣＵ２が持つ外部Ｉ／Ｆに対応するものである。
外部Ｉ／Ｆ７は、コンフィグレーション情報生成部１１が生成した新たなコンフィグレーション情報と、実行可能ファイル生成部１２により生成された新たな制御プログラムの実行可能ファイルとをＥＣＵ２に対して出力する。
外部Ｉ／Ｆ７は、出力部の例に相当する。
【００２３】
デバイス情報入出力部８は、タッチパネル等の表示部を有し、車両１のデバイス装着ポート４の情報を表示部に出力する。
出力方法は、例えば、デバイス装着ポート４が有する全ポートを表示し、使用中のポートは暗い色、空きのポートは明るい色で識別させる。
また、デバイス情報入出力部８は、新規デバイス５を装着するデバイス装着ポート４のポート番号を入力する機能を有する。
入力方法は、例えば、上記のタッチパネルに明るい色で表示された空きのポートへの作業者のタッチとする。
さらに、デバイス情報入出力部８は、新規デバイス５のデバイスＩＤの入力機能を有する。
デバイスＩＤの入力は、例えば作業者が手動でキーボード等を使って入力する。
もしくは新規デバイスにバーコードを貼り、リーダーで読み込ませてもよい。
【００２４】
コンフィグレーション情報生成部１１は、ＥＣＵ２における新規デバイス５装着前のコンフィグレーション情報と新規デバイス５のコンフィグレーション情報とＥＣＵ２のスペックから、新規デバイス５が装着可能か否かを判定し、装着が可能な場合、ＥＣＵ２に実装する新規デバイス５が使用可能な新しいコンフィグレーション情報を生成する。
【００２５】
実行可能ファイル生成部１２は、リンカー機能を有し、ＥＣＵ２における新規デバイス５装着前のオブジェクトファイルの実装内容と新規デバイス５のオブジェクトファイルとＥＣＵ２のスペックから、新規デバイス５が装着可能か否かを判定し、装着が可能な場合、ＥＣＵ２に実装する新規デバイス５が使用可能な新しい実行可能ファイル（制御プログラムの実行可能ファイル）を生成する。
【００２６】
次に動作の流れを説明する。
図２は、本実施の形態に係る全体動作を示す。
図２の全体動作の詳細は、図３から図１５までを用いて説明する。
なお、図２では、作図上の理由から、「オブジェクトファイル」を「Ｏ．Ｆ．」と表記し、また、一部で「コンフィグレーション情報」を「ＣＯＮＦ．」と表記している。
また、図２では、通信部１６の記載を省略しているが、Ｓ／Ｗ管理サーバ９及びＥＣＵ管理サーバ１０とコンフィグレーション情報生成部１１、実行可能ファイル生成部１２等との間の通信は通信部１６を介して行われる。
【００２７】
図２では、例えば、作業者が外部端末装置６を車両１に持ち込み、外部Ｉ／Ｆ７と外部Ｉ／Ｆ３との接続により、車両１と外部端末装置６とが接続され、図２には記載していないが外部端末装置６とＥＣＵ２の相互認証を含む初期接続が完了しており、外部端末装置６とＥＣＵ２が通信可能な状態になった時点からの動作を記載している。
両者が通信可能状態になった時点で、ＥＣＵ２はＥＣＵ２が持つＥＣＵ  ＩＤを外部端末装置側にあるＥＣＵ管理サーバ１０に送信する（図１３のＳ６０、Ｓ６１）。
より具体的には、例えば、ＥＣＵ２の外部Ｉ／Ｆ３が外部端末装置６の外部Ｉ／Ｆ７にＥＣＵ２のＥＣＵ  ＩＤを出力し、次に外部Ｉ／Ｆ７が通信部１６を介してＥＣＵ管理サーバ１０にＥＣＵ  ＩＤを送信する。
なお、ＥＣＵ２は、これとは異なる手順にてＥＣＵ  ＩＤをＥＣＵ管理サーバ１０に送信してもよい。
【００２８】
ＥＣＵ管理サーバ１０の動作を図３を使って説明する。
ＥＣＵ管理サーバ１０は、ＥＣＵ２からＥＣＵ  ＩＤを受信したら（Ｓ５０）、該当するＥＣＵ  ＩＤのＥＣＵ２に実装される制御プログラムのオブジェクトファイルを実行可能ファイル生成部１２へ送信する（Ｓ５１）。
次に、ＥＣＵ管理サーバ１０は、該当するＥＣＵ  ＩＤのＥＣＵ２のスペックを実行可能ファイル生成部１２へ送信する（Ｓ５２）。
次に、ＥＣＵ管理サーバ１０は、該当するＥＣＵ  ＩＤのＥＣＵ２に実装されるコンフィグレーション情報をコンフィグレーション情報生成部１１へ送信する（Ｓ５３）。
次に、ＥＣＵ管理サーバ１０は該当するＥＣＵ  ＩＤのＥＣＵのスペックをコンフィグレーション情報生成部１１へ送信する（Ｓ５４）。
次に、ＥＣＵ管理サーバ１０は、デバイス情報入出力部８へデバイス装着ポート情報の通知を行う（Ｓ５５）。
【００２９】
次に、デバイス情報入出力部８の動作フローを図４を使って説明する。
デバイス情報入出力部８は、通信部１６を介して、ＥＣＵ管理サーバ１０からデバイス装着ポート情報を取得したら（Ｓ４０）、デバイス装着ポート情報を表示部へ出力する（Ｓ４１）。
次に、作業者からデバイスＩＤの入力と新規デバイス５の装着ポート番号の入力があったら（Ｓ４２）、デバイス情報入出力部８は、コンフィグレーション情報生成部１１へ入力された装着ポート番号の通知を行い（Ｓ４３）、さらにＳ／Ｗ管理サーバ９へ入力されたデバイスＩＤの通知を行う（Ｓ４４）。
【００３０】
Ｓ／Ｗ管理サーバ９は、デバイス情報入出力部８からのデバイスＩＤの通知（Ｓ４４）によって得たデバイスＩＤに該当するオブジェクトファイルとコンフィグレーション情報をＳ／Ｗ管理サーバ９内の記憶領域から読み出す。
ここで読み出されるオブジェクトファイルとコンフィグレーション情報は、新規デバイス５を制御するためのオブジェクトファイルでありコンフィグレーション情報である。
Ｓ／Ｗ管理サーバ９は、読み出したオブジェクトファイルは実行可能ファイル生成部１２へ、読み出したコンフィグレーション情報はコンフィグレーション情報生成部１１へ送信する。
【００３１】
次に、コンフィグレーション情報生成部１１の動作フローを図５を使って説明する。
最初に、コンフィグレーション情報生成部１１は、Ｓ５４でＥＣＵ管理サーバ１０から送信されたＥＣＵ２のスペックを読み込む（Ｓ１０）。
また、コンフィグレーション情報生成部１１は、Ｓ５３でＥＣＵ管理サーバ１０から送信されたＥＣＵ２に実装されているコンフィグレーション情報を読み込む（Ｓ１１）。
また、コンフィグレーション情報生成部１１は、Ｓ／Ｗ管理サーバ９から送信された新規デバイス５のコンフィグレーション情報を読み込む（Ｓ１２）。
更に、コンフィグレーション情報生成部１１は、デバイス情報入出力部８から送信された新規デバイス５の装着ポート番号を読み込む（Ｓ１３）。
なお、ここでは例として、Ｓ１０で読み込んだＥＣＵ２のスペックを図８に示す。
また、Ｓ１１で読み込んだＥＣＵに実装されているコンフィグレーション情報を図９に示す。
また、Ｓ１２で読み込んだ新規デバイス５のコンフィグレーション情報を図１０に示す。
更に、Ｓ１３で読み込んだ新規デバイス５の装着ポート番号を図１１に示す。
なお、図８は、このＥＣＵ２がＩ／Ｏポート５本（１番ポートおよび２番ポートは入出力ポートであることを示す）、割り込み４つの資源を持つことを示している。
図８では、説明のため便宜上Ｉ／Ｏポートと割り込みベクターのみの記載としているが、実際はその他にレジスタ情報、メモリマップなどソフトウェアを実装するのに必要な情報が含まれる。
図９では、ＥＣＵ２のＩ／Ｏポートは５本全て使用されていない状態を示し、割り込みベクターは１本使用されている状態を示す。
図１０では、新規デバイス５が、タイマ１本、Ｉ／Ｏポート入力１本の資源を必要としていることを示している。
図１１では、デバイス装着ポートは２番ポートが新規デバイス５によって使用されることを示す。
【００３２】
次に、コンフィグレーション情報生成部１１は、Ｓ１０〜Ｓ１３で読み込んだ情報をもとにコンフィグレーション生成判定処理を行う（Ｓ１４）。
このコンフィグレーション生成判定処理（Ｓ１４）の詳細は、図６を使って説明する。
Ｓ１３で読み込んだ新規デバイス５の装着ポート番号は図１１より２番ポートである。
新規デバイス５の装着ポート番号が２番であるため、コンフィグレーション情報生成部１１は、Ｓ１１で読み込んだＥＣＵ２に実装されているコンフィグレーション情報（図９）のポート番号２の使用状況を確認する（Ｓ２０）。
ＥＣＵ２に実装されているコンフィグレーション情報（図９）のポート番号２の使用状況は「空き」であるため、コンフィグレーション情報生成部１１は、次に２番ポートが入力ポートとして使用可能かどうかをチェックする（Ｓ２１）。
図８では２番ポートが入出力ポートであることを示しているため、新規デバイス５が必要としている入力ポートは使用可能という判断ができる。
次に、コンフィグレーション情報生成部１１は、ＥＣＵ２のタイマ資源に空きがあるかチェックする（Ｓ２２）。
図９では、割り込み資源が３本空いていることから、新規デバイス５用に割り込みは１本使用可能であるこという判断ができる。
従って、新規デバイス５が必要とする入力ポートおよび割り込みが使用可能となるため、コンフィグレーション情報生成部１１は、デバイス新規登録ＯＫとする（Ｓ２３）。
【００３３】
再び図５に戻る。
コンフィグレーション情報生成部１１は、新規デバイスの登録がＯＫの場合（Ｓ１５）、新コンフィグレーション情報を生成する（Ｓ１６）。
ここで生成される新しいコンフィグレーション情報を図１２に示す。
新しく生成されたコンフィグレーション情報には、Ｉ／Ｏポート２番の使用状況に新規デバイス５のデバイスＩＤが登録され、設定値には入力として使用するための値が登録される（ここでは入力として使用する場合を「０ｘ０１０１」としている）。
また、割り込みベクターの２番目の使用状況に新規デバイス５のデバイスＩＤが登録され、設定値には図１０に記載の関数名が登録される。
コンフィグレーション情報生成部１１は、新しく生成したコンフィグレーション情報をＥＣＵ２へ送信する（Ｓ１７）。
【００３４】
次に、実行可能ファイル生成部１２の動作フローを図７を使って説明する。
実行可能ファイル生成部１２は、最初にＥＣＵ２のスペックを読み込み（Ｓ３０）、続けて、ＥＣＵ管理サーバ１０から送信されたＥＣＵ２に実装されているオブジェクトファイルを読み込む（Ｓ３１）。
更に、実行可能ファイル生成部１２は、Ｓ／Ｗ管理サーバ９から送信された新規デバイス５向けのオブジェクトファイルを読み込む（Ｓ３２）。
ここで、実行可能ファイル生成部１２は、Ｓ３０で得たスペックを元に、Ｓ３１で読み込んだオブジェクトファイルとＳ３２で読み込んだオブジェクトファイルにおいてリンク実行可能かどうかを判定する（Ｓ３３）。
この判定処理における具体的項目としては、例えば、Ｓ３１およびＳ３２のオブジェクトファイルに対してリンク実行を行った場合に、ＥＣＵ２のスペックとして持ち合わせているメモリマップから物理的なアドレスマッピングが可能か否かのチェックである。
もし、リンク実行後のファイル（実行可能ファイル）がＲＯＭ領域として割り当てられているＥＣＵ２のフラッシュメモリの領域からはみ出すことがあればリンク実行ＮＧとなり、ＲＯＭ領域として割り当てられているフラッシュメモリの領域内に収まればリンク実行ＯＫとなる。
リンク実行が可能な場合（Ｓ３４）、実行可能ファイル生成部１２は、Ｓ３１およびＳ３２のオブジェクトファイルに対してリンクを実行して、実行可能ファイルを生成する（Ｓ３５）。
そして、実行可能ファイル生成部１２は、生成した新しい実行可能ファイルを外部Ｉ／Ｆ７を介してＥＣＵ２へ送信する（Ｓ３６）。
【００３５】
次に、ＥＣＵ２の動作フローを図１３を使って説明する。。
ＥＣＵ２が外部端末装置６と接続された後（Ｓ６０）、ＥＣＵ２が、ＥＣＵ管理サーバ１０へＥＣＵ  ＩＤを送信（Ｓ６１）することは前述の通りである。
ＥＣＵ  ＩＤの送信後は、ＥＣＵ２は、新しく生成された実行可能ファイルと新しく生成されたコンフィグレーション情報の受信を待つ（Ｓ６２、Ｓ６３）。
ＥＣＵ２は、新しく生成された実行可能ファイルと新しく生成されたコンフィグレーション情報を受信したら、新しく生成された実行可能ファイルと新しく生成されたコンフィグレーション情報を、それぞれＥＣＵ２のフラッシュメモリ等へ書き込む（Ｓ６４）。
なお、書き込む際には図１５に示す所定の領域に書き込む。
つまり、ＥＣＵ２は、新しく生成された実行可能ファイルをアプリケーションコード領域に書込み、新しく生成されたコンフィグレーション情報をコンフィグレーションデータ領域に書き込む。
ＥＣＵ２は、新しく生成された実行可能ファイルと新しく生成されたコンフィグレーション情報の書き込みが完了したら（Ｓ６５）、実行可能ファイル生成部１２への書き込み完了通知を行い（Ｓ６６）、コンフィグレーション情報生成部１１への書き込み完了通知を行う（Ｓ６７）。
【００３６】
なお、コンフィグレーション情報生成部１１は、ＥＣＵ２から書き込み完了通知を受信したら（図５のＳ１８）、通信部１６を介して、ＥＣＵ管理サーバ１０へＳ１６で生成した新しいコンフィグレーション情報を更新データとして送信する（図５のＳ１９）。
また、実行可能ファイル生成部１２は、ＥＣＵ２から書き込み完了通知を受信したら（図７のＳ３７）、通信部１６を介して、ＥＣＵ管理サーバ１０へＳ３５で実行可能ファイルを生成したときの生成情報を更新データとして送信する（図７のＳ３８）。
ＥＣＵ管理サーバ１０は、Ｓ３８で送信された更新データを受信したら（図３のＳ５６）、該当するＥＣＵ  ＩＤに対するオブジェクトファイルの情報を、実行可能ファイル生成部１２から受信した更新データに基づき更新する（Ｓ５７）。
また、ＥＣＵ管理サーバ１０は、Ｓ１９で送信された更新データを受信したら（Ｓ５８）、該当するＥＣＵ  ＩＤに対するコンフィグレーション情報を、コンフィグレーション情報生成部１１から受信した更新データに基づき更新する（Ｓ５９）。
【００３７】
ＥＣＵ２の電源起動時の処理を示すフローを図１４を使って説明する。
ＥＣＵ２は電源ＯＮ（Ｓ７０）後、通常通りスタートアッププログラムにおいてスタック設定を行う（Ｓ７１）。
次に、ＥＣＵ２は、図１５に記載のコンフィグレーションデータ領域から、コンフィグレーション情報を読み出す（Ｓ７２）。
ＥＣＵ２は、Ｓ７２で読み出したコンフィグレーション情報に基づき、その後は通常のスタートアッププログラムで実施される割り込みベクタ設定（Ｓ７３）、データ設定（Ｓ７４）、レジスタ設定（Ｓ７５）、ポート入出力設定（Ｓ７６）を行う。
【００３８】
以上により、車両１に搭載されるＥＣＵ２には、新規デバイス５の制御用ソフトウェアが追加され、車両１は新規デバイス５を使用することが可能となる。
【００３９】
このように、本実施の形態によれば、外部端末装置でコンフィグレーション情報を生成させることで、追加するデバイスに通信機能が不要となり、かつ車両に搭載される制御装置（ＥＣＵ）ではソフトウェアモジュールの動的なリンクを用いず静的なリンクでプログラムを実行させることができる。
これにより、ＥＣＵにおける制御用ソフトウェアの追加・更新が必要なデバイスの取り付け、取り外しを安価に実現することができる。
【００４０】
また、外部端末装置に、追加するデバイスに関する入出力部を設けることで、追加するデバイスには情報を送るための通信機能が不要となる。
また、外部端末装置でコンフィグレーション情報を自動生成させることで人手によるコンフィグレーション生成作業が不要となる。
更に、外部端末装置にて論理アドレスで管理されるソフトウェアモジュールから物理アドレスで管理される実行可能ファイルを生成することで、車両に搭載されるＥＣＵでは動的なリンクを用いず静的なリンクでプログラムを実行させることができる。
【００４１】
以上、本実施の形態に係る外部端末装置は、
車両に搭載されるＥＣＵと通信が可能な外部Ｉ／Ｆと、
車両に装着されるデバイスのＩＤとデバイスの装着箇所情報を入力する手段と、その確認を行うための出力手段と、
車両に搭載されるＥＣＵの情報を管理するサーバから、デバイスが接続されるＥＣＵのスペックとＥＣＵに実装されているオブジェクトファイルとコンフィグレーション情報を取得する手段と、
デバイスに対応したソフトウェアを管理するサーバから、デバイスに対応したオブジェクトファイルとコンフィグレーション情報を取得する手段と、
新規に装着するデバイスのコンフィグレーション情報とＥＣＵの既存のコンフィグレーション情報から新しいコンフィグレーション情報を自動生成する手段と、
新規に装着するデバイスのオブジェクトファイルと既にＥＣＵに実装されているオブジェクトファイルとからＥＣＵでの実行が可能な実行可能ファイルを生成するリンク自動実行手段とを有することを説明した。
【００４２】
また、本実施の形態に係るＥＣＵは、
外部端末装置にＥＣＵのＩＤを送信する手段と、
外部端末装置から送信される実行可能ファイルおよびコンフィグレーション情報をそれぞれ所定の領域に配置して書き込む手段とを有することを説明した。
【００４３】
実施の形態２．
図１６は、本実施の形態に係る車載装置と外部端末装置の構成を示す図である。
【００４４】
図１６ではデバイス装着ポート４とＥＣＵ２を別体とする。
ＥＣＵ２とデバイス装着ポート４の間はネットワークで接続する。
従って、デバイス装着ポート４の各端子はＥＣＵ２に実装されるマイコンもしくはその他ＩＣの端子に論理的に接続されるものとする。
ＥＣＵ２とデバイス装着ポート４との間のデータ送受信のために、ＥＣＵ２に共有メモリ１４を備え、デバイス装着ポートに共有メモリ１５を備える。
共有メモリ１５が第１のメモリの例に相当し、共有メモリ１４が第２のメモリの例に相当する。
ＥＣＵ２の共有メモリ１４とデバイス装着ポート４の共有メモリ１５は、それぞれのメモリ空間に対する予め定められたデータの割付定義に基づきＥＣＵ２とデバイス装着ポート４間のネットワークを介し同期を図って定期的に更新して、両者間のデータの授受を行う。
メモリ空間のデータ割付定義やネットワーク介した定期通信のタイミングの変更が行えれば、デバイス装着ポートの使い方は広がり汎用性が高まる。
例えば、Ａ／Ｄ（アナログ／デジタル）変換、Ｄ／Ａ（デジタル／アナログ）変換の精度を上げようとすると、割り当てられるメモリのビット数を多く必要とする。
逆に、端子のＬｏｗ／Ｈｉｇｈといった論理データでは多くのビット数を必要としない。
メモリ空間には限りがあるため、それぞれの信号の内容に適切なビット数を割り当てる必要がある。
このような共有メモリの管理を行う手段をＥＣＵ２の共有メモリコンフィグレーション情報生成部１３に備える。
【００４５】
実施の形態３．
図１におけるＳ／Ｗ管理サーバ９およびＥＣＵ管理サーバ１０は、制御プログラムのオブジェクトファイルの他に、制御プログラムのソースコードを管理してもよい。
Ｓ／Ｗ管理サーバ９およびＥＣＵ管理サーバ１０が制御プログラムのソースコードを管理する場合は、実行可能ファイル生成部１２は、リンカーの他にコンパイラを備え、ソースコードからコンパイルを実施し、オブジェクトファイルを生成した後に、リンカーを実施し実行可能ファイルを生成する。
【００４６】
実施の形態４．
実施の形態１においては、アプリケーションコード（制御用ソフトウェアの実行可能ファイル）のみの更新、もしくはコンフィグレーション情報のみの更新に対応させるために、図１５に示す通り、メモリ空間に冗長性を持たせてアプリケーションコード領域とコンフィグレーションデータ領域を分離している。
アプリケーションコードもしくはコンフィグレーション情報のどちらか一方のみの更新が必要ない場合は、領域を分離しない構成でもよい。
この場合、一般的な組み込み機器と同様にコンフィグレーション情報をアプリケーションコード内で管理する。
この場合、ＥＣＵ２の電源起動時の処理（図１４）において、Ｓ７２の処理は不要である。
【００４７】
実施の形態５．
実施の形態１においては、新規デバイス５の取り付けに際し、制御用ソフトウェアの追加を実施しているが、デバイスの取り外しの際には制御用ソフトウェアの削除が行われる。
基本的には、実施の形態１に示したデバイスの追加の際のフローと同様のフローで実現する。
実施の形態１と異なる点は、デバイス情報入出力部８には、作業者がデバイス一覧から取り外すデバイスの選択を可能とする手段を設ける。
具体的には、例えば、タッチパネルに表示された取り外し可能なデバイスへの作業者のタッチにより取り外し対象のデバイスを選択可能とする。
また、コンフィグレーション情報生成部１１は、実施の形態１で追加した新規デバイス５を取り外す例をあげれば、現状のＥＣＵ２のコンフィグレーション情報として読み込む情報（図１２）から、取り外すデバイス５のコンフィグレーション情報（図１０）に基づき、デバイス５を取り外した後に用いるコンフィグレーション情報（図９）を生成することとなる。
また、実行可能ファイル生成部１２は、現状のＥＣＵ２の制御プログラムのオブジェクトファイルから、取り外し対象のデバイス５を制御するための制御プログラムのオブジェクトファイルを削除して、デバイス５が取り外された後にＥＣＵ２が実行する新たな制御プログラムの実行可能ファイルを生成することなる。
【００４８】
実施の形態６．
デバイス情報入出力部８に、ＥＣＵ  ＩＤの入力手段を持たせ、ＥＣＵ２を外部端末装置６に接続しなくても事前にデバイス装着ポート４の状態を確認ができるようにしてもよい。
【００４９】
最後に、実施の形態１〜６に示した外部端末装置６のハードウェア構成例を図１７を参照して説明する。
外部端末装置６はコンピュータであり、外部端末装置６の各要素はプログラムにより処理を実行することができる。
また、プログラムを記憶媒体に記憶させ、記憶媒体からプログラムをコンピュータに読み取られるようにすることができる。
外部端末装置６のハードウェア構成としては、バスに、演算装置９０１、外部記憶装置９０２、主記憶装置９０３、通信装置９０４、入出力装置９０５、外部Ｉ／Ｆ９０６が接続されている。
【００５０】
演算装置９０１は、プログラムを実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。
外部記憶装置９０２は、例えばＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やフラッシュメモリである。
主記憶装置９０３は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。
通信装置９０４は、無線通信用通信カードである。
入出力装置９０５は、例えばタッチパネル式のディスプレイ装置である。
外部Ｉ／Ｆ９０６は、図１に示す外部Ｉ／Ｆ７である。
【００５１】
プログラムは、通常は外部記憶装置４０２に記憶されており、主記憶装置４０３にロードされた状態で、順次演算装置９０１に読み込まれ、実行される。
プログラムは、図１に示す「〜部」として説明している機能を実現するプログラムである。
更に、外部記憶装置９０２にはオペレーティングシステム（ＯＳ）も記憶されており、ＯＳの少なくとも一部が主記憶装置９０３にロードされ、演算装置９０１はＯＳを実行しながら、図１に示す「〜部」の機能を実現するプログラムを実行する。
また、実施の形態１〜６の説明において、「〜の判断」、「〜の判定」、「〜の抽出」、「〜の比較」、「〜の更新」、「〜の設定」、「〜の登録」、「〜の選択」、「〜の生成」、「〜の入力」、「〜の出力」等として説明している処理の結果を示す情報やデータや信号値や変数値が主記憶装置９０３にファイルとして記憶されている。
また、Ｓ／Ｗ管理サーバ９及びＥＣＵ管理サーバ１０から受信したオブジェクトファイルやコンフィグレーション情報が外部記憶装置９０２や主記憶装置９０３に記憶される。
また、暗号鍵・復号鍵や乱数値やパラメータが、主記憶装置９０３にファイルとして記憶されてもよい。
【００５２】
なお、図１７の構成は、あくまでも外部端末装置６のハードウェア構成の一例を示すものであり、外部端末装置６のハードウェア構成は図１７に記載の構成に限らず、他の構成であってもよい。
【００５３】
また、実施の形態１〜６のフローチャートに示す手順により、本発明に係る情報処理方法を実現可能である。
【符号の説明】
【００５４】
１  車両、２  ＥＣＵ、３  外部Ｉ／Ｆ、４  デバイス装着ポート、５  新規デバイス、６  外部端末装置、７  外部Ｉ／Ｆ、８  デバイス情報入出力部、９  Ｓ／Ｗ管理サーバ、１０  ＥＣＵ管理サーバ、１１  コンフィグレーション情報生成部、１２  実行可能ファイル生成部、１３  共有メモリコンフィグレーション情報生成部、１４  共有メモリ、１５  共有メモリ、１６  通信部。
【図１】
0005905072.tif 000002
【図２】
0005905072.tif 000003
【図３】
0005905072.tif 000004
【図４】
0005905072.tif 000005
【図５】
0005905072.tif 000006
【図６】
0005905072.tif 000007
【図７】
0005905072.tif 000008
【図８】
0005905072.tif 000009
【図９】
0005905072.tif 000010
【図１０】
0005905072.tif 000011
【図１１】
0005905072.tif 000012
【図１２】
0005905072.tif 000013
【図１３】
0005905072.tif 000014
【図１４】
0005905072.tif 000015
【図１５】
0005905072.tif 000016
【図１６】
0005905072.tif 000017
【図１７】
0005905072.tif 000018