(57)【要約】【課題】複数の重要アプリをＥＣＵに搭載する場合に、開発工数を低減する。【解決手段】本実施形態の電子制御装置は、車両制御機能を有する複数のアプリを搭載したものであって、前記複数のアプリと、前記複数のアプリ毎の機能安全レベル指定情報を入力情報として生成された機能安全制御機能を有する基盤ソフトとをリンクして生成されたロードモジュール２を搭載したものである。【選択図】図１
2019215725.tif 000002
【特許請求の範囲】
【請求項１】
車両制御機能を有する複数のアプリを搭載した電子制御装置であって、
前記複数のアプリと、
前記複数のアプリ毎の機能安全レベル指定情報を入力情報として生成された機能安全制御機能を有する基盤ソフトと
をリンクして生成されたロードモジュール（２）を搭載した電子制御装置。
【請求項２】
前記機能安全制御機能は、前記アプリ内の情報アクセスを制限する機能を備えている請求項１記載の電子制御装置。
【請求項３】
前記機能安全制御機能は、外部から与えられた割込み信号を管理する機能を備えている請求項１または２記載の電子制御装置。
【請求項４】
前記機能安全制御機能は、前記基盤ソフトに組込む機能安全制御機能として予め想定されている機能群の中から、前記アプリ毎の機能安全レベル指定情報に基づいて選択された機能を備えている請求項１から３のいずれか一項記載の電子制御装置。
【請求項５】
前記ロードモジュールは、前記複数のアプリと前記基盤ソフトとを結合して生成された請求項１から４のいずれか一項記載の電子制御装置。
【請求項６】
車両制御機能を有する複数のアプリを搭載した電子制御装置のソフトウエア生成方法であって、
前記複数のアプリ毎の機能安全レベル指定情報を入力情報として機能安全制御機能を有する基盤ソフトを生成し、
前記複数のアプリと前記基盤ソフトとをリンクしてロードモジュールを生成するように構成された電子制御装置のソフトウエア生成方法。
【請求項７】
前記機能安全制御機能は、前記アプリ内の情報アクセスを制限する機能を備えている請求項６記載の電子制御装置のソフトウエア生成方法。
【請求項８】
前記機能安全制御機能は、外部から与えられた割込み信号を管理する機能を備えている請求項６または７記載の電子制御装置のソフトウエア生成方法。
【請求項９】
前記機能安全制御機能は、前記基盤ソフトに組込む機能安全制御機能として予め想定されている機能群の中から、前記アプリ毎の機能安全レベル指定情報に基づいて選択された機能を備えている請求項６から８のいずれか一項記載の電子制御装置のソフトウエア生成方法。
【請求項１０】
前記ロードモジュールは、前記複数のアプリと前記基盤ソフトとを結合して生成された請求項６から９のいずれか一項記載の電子制御装置のソフトウエア生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子制御装置及びソフトウエア生成方法に関する。
【背景技術】
【０００２】
車載用の電子制御装置（以下ＥＣＵと称す）には、情報入出力制御などの制御機能を実現するアプリケーションプログラム（以下アプリと称す）が搭載されることが増加している。特に、近年は、情報入出力制御のアプリとして例えばナビ制御のアプリや情報ディスプレイ制御のアプリなど、また、自動運転制御のアプリなど、複数のアプリを、１個のＥＣＵに搭載するケースが多くなっている。
【０００３】
従来においては、メータ表示及びエンターテインメント情報表示などの車両制御に関連する重要アプリと、車両制御に関連しない非重要アプリとを、組み合わせて１個のＥＣＵに搭載している。この場合、各アプリの機能安全レベルが明白なため、即ち、重要アプリの機能安全レベルが例えばASIL-C、非重要アプリの機能安全レベルが例えばASIL無しであるため、開発工程はいわゆる１直線の開発工程であって、特に問題となることはなかった。尚、上記１直線の開発工程においては、各アプリの機能安全レベルを決定し、ソフトをビルドし、即ち、２個のアプリと基盤ソフト（ＯＳなどを含む）とをリンクしてＥＣＵで動作するロードモジュールを作成し、更に、ロードモジュールのアプリ毎にデバグした上で、ロードモジュールの結合デバグを行なうようにしていた。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−１３２４１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、近年、２個の重要アプリ、例えば、自動運転アプリと、自動運転モード・ユーザインターフェースアプリ(即ち、メータ表示の進化系の重要アプリであり、表示出力の制御とユーザ意思入力の制御等が備わっている重要アプリ)とを、組み合わせて１個のＥＣＵに搭載する構成が要望されている。
【０００６】
この構成の場合、まず機能安全レベルを決定する工程において、一方の重要アプリの機能安全レベルASIL-xとして５種類、即ち、ASIL無し、ASIL-AからASIL-Dが考えられると共に、他方の重要アプリの機能安全レベルASIL-yとして５種類、即ち、ASIL無し、ASIL-AからASIL-Dが考えられる。そして、各アプリの機能安全レベルASIL-x、ASIL-yが開発工程の終盤まで決まっていないことが多い。
【０００７】
このため、ロードモジュールを作成する場合に、５×５＝２５通りの機能安全レベルの組み合わせのロードモジュールを予備的に作成する必要がある。更に、作成した２５通りのロードモジュールについて、各ロードモジュールのアプリ毎にデバグした上で、各ロードモジュールの結合デバグを行なう必要があることから、膨大な開発工数を要する事態となっている。更に、３個以上の重要アプリを搭載する場合には、開発工数がより一層増大するおそれがあった。
【０００８】
本発明の目的は、複数の重要アプリをＥＣＵに搭載する場合に、開発工数を低減することができる電子制御装置及びソフトウエア生成方法を提供することにある。
【課題を解決するための手段】
【０００９】
請求項１の発明は、車両制御機能を有する複数のアプリを搭載した電子制御装置であって、前記複数のアプリと、前記複数のアプリ毎の機能安全レベル指定情報を入力情報として生成された機能安全制御機能を有する基盤ソフトとをリンクして生成されたロードモジュール２を搭載したものである。
【００１０】
請求項６の発明は、車両制御機能を有する複数のアプリを搭載した電子制御装置のソフトウエア生成方法であって、前記複数のアプリ毎の機能安全レベル指定情報を入力情報として機能安全制御機能を有する基盤ソフトを生成し、前記複数のアプリと前記基盤ソフトとをリンクしてロードモジュールを生成するように構成されたものである。
【図面の簡単な説明】
【００１１】
【図１】第１実施形態を示すもので、パソコンと開発工程を説明する図
【図２】アプリと基盤ソフトを説明する図
【図３】機能安全レベルの組み合わせと機能安全対策の表を示す図
【図４】機能安全レベルの組み合わせの一例を示すもので、アプリと基盤ソフトを説明する図
【図５】機能安全レベルの組み合わせの他の例を示すもので、アプリと基盤ソフトを説明する図
【図６】アドレスのチェックテーブルファイルの一例を示す図
【図７】チェックルーチンの動作を説明する図
【発明を実施するための形態】
【００１２】
（第１実施形態）
以下、第１実施形態について、図１ないし図７を参照して説明する。図１は、本実施形態のＥＣＵのソフトウエア、即ち、ロードモジュールを製造すると共に、ロードモジュールをデバッグする装置、例えばパソコン１を示す。尚、パソコン１の代わりに他のコンピュータを用いても良い。
【００１３】
本実施形態においては、例えば２個のアプリ、即ち、アプリＸとアプリＹをＥＣＵに搭載する構成について説明する。この構成の場合、図２に示すように、アプリＸと、アプリＹと、電子制御装置の基盤ソフトとをリンク（即ち、結合）することにより、ロードモジュール２を作成（即ち、ビルド）する。
【００１４】
ここで、２個のアプリの機能安全レベルとしては、ASIL無し、ASIL-A、ASIL-B、ASIL-C、ASIL-Dの５段階があり、ASIL無しは機能安全性が弱く、ASIL-AからASIL-Dまで順に機能安全性が強くなる。２個のアプリの機能安全レベルの組み合わせによって決まる機能安全対策を、表にして図３に示す。
【００１５】
この表、即ち、機能安全対策の機能表においては、５段階ある機能安全レベルを、ASIL無しと、ASIL-A,B,C（以下、ASIL-C以下と称す）と、ASIL-Dの３つのレベルに分けて、機能安全対策を設定している。尚、より精密に機能安全対策を設定して実施する必要がある場合には、ASIL-C以下のランクの機能安全対策を細分化、即ち、ASIL-A、ASIL-B、ASIL-Cに分けるように構成すれば良い。
【００１６】
本実施形態においては、電子制御装置に搭載する２個のアプリＸ、アプリＹの機能安全レベルの組み合わせ、即ち、アプリＸ、アプリＹの機能安全レベルの指定情報、例えばASILレベル・コンフィグファイル（図１参照）から分かる機能安全レベルの組み合わせと、図３の表とに基づいて、必要な機能安全対策（即ち、機能安全制御機能）を求める。そして、図１のステップＳ１０に示すように、上記求めた機能安全対策を組み込んだ基盤ソフトを生成する。更に、図１のステップＳ２０に示すように、この機能安全対策を組み込んだ基盤ソフトと、上記２個のアプリＸ、Ｙとをリンクしてロードモジュール２を作成する。この後、図１のステップＳ３０に示すように、ロードモジュール２の結合デバッグを行なうように構成されている。そして、結合デバッグの完了により、複数機能搭載ＥＣＵ用ソフトの開発が完了する。
次に、機能安全対策の具体例について、図４〜図７を参照して説明する。
【００１７】
まず、アプリＸの機能安全レベルが例えばASIL-Dで、アプリＹの機能安全レベルが例えばASIL無しである場合、即ち、図３の表の中の番号３の組み合わせの場合について説明する。この場合、アプリＸについては、ASIL-Dで開発されているため、機能安全レベルが高いことから、図４にて右方向の矢印で示すように、機能安全対策は不要である。
【００１８】
これに対して、アプリＹは、ASIL無しで開発されており、機能安全レベルが低いため、即ち、アプリの検証レベルが低いため、予期しないアクセスを行なう可能性がある。そこで、アプリＹのアクセス阻止、即ち、アクセス禁止を行い、アプリＸにそのアクセスを代行動作させる機能安全対策の機能、即ち、機能安全制御機能を基盤ソフトに組み込む。
【００１９】
具体的には、基盤ソフトは、アプリＹからのアクセスを検出し、アプリＸに割込みをかける。アプリＸは、割込みルーチンにて、基盤ソフトが保有する「アプリＹのアクセス情報」のテーブルに基づいて、アプリＹの動作を把握し、アプリＹの動作と同一の機能を有するアクセスをアプリＸが代行して実行する。例えばアプリＹのリード動作は、アプリＸのライト動作に置換えられて実行される。このため、アプリＸに代行動作させるための付加ルーチンや動作置換テーブルファイル等を生成し、これらルーチンやファイル等を基盤ソフトに組込むように構成されている。
【００２０】
次に、アプリＸの機能安全レベルが例えばASIL-Dで、アプリＹの機能安全レベルが例えばASIL-C（即ち、ASIL-C以下）である場合、即ち、図３の表の中の番号２の組み合わせの場合の機能安全対策について説明する。この場合、図５に示すように、アプリＸについては、ASIL-Dで開発されているため、機能安全対策は不要である。これに対して、アプリＹは、ASIL-C以下で開発されており、機能安全レベルが比較的低いため、アプリＹがアクセスする際に、そのアクセス内容が安全であるかどうかをチェックする必要がある。そこで、アプリＹのアクセス時には、所定のチェック機能を動作させる機能を基盤ソフトに保有させる対策を行なうように構成されている。
【００２１】
具体的には、アプリＹがアクセスする際に、基盤ソフトがチェックする情報、例えばアドレス範囲やアクセス権限やアクセス内容などの情報を、予めチェックデータテーブルとして保存しておき、アプリＹがアクセスする際に、基盤ソフトが上記チェックデータテーブルをチェックするチェックルーチンを動作させるように構成されている。本実施形態では、上記チェックテーブルファイル及び上記チェックルーチンを作成して、基盤ソフトに予め組込むように構成されている。尚、チェック結果を格納するログファイルは、上記チェックルーチンにより作成される。ログファイルについては、後述する。
チェックテーブルファイルのうちの例えばアドレスのチェックテーブルファイルの一例を、図６に示す。
【００２２】
例えば、図７に示すように、アプリＹを実行しているときに、ステップＳ１００にて、メモリアクセスが発生したとする。この場合、まず、（１）基盤ソフトは、上記メモリアクセスを検知して、図６のチェックテーブルファイルに基づいて上記アクセスが正常なものか否かをチェックし、ログファイル３に上記チェック結果を格納するルーチンを起動する。これにより、基盤ソフトは、チェック結果をログファイル３に格納する。
【００２３】
次いで、（２）制御に付随するダイアグルーチンによって、定期的にログファイル３に格納されたＮＧ結果を監視するように構成されている。この場合、ＮＧ結果を検出したら、ＮＧ結果を、ＥＣＵの管理者、例えば車両に搭載されたＥＣＵの場合には、ドライバへ通知するなどの処理を実行することが好ましい。尚、ＮＧ結果の監視頻度は、危険性や影響性に応じて適宜設定されるように構成されている。
【００２４】
このような構成の本実施形態においては、２個のアプリＸ、Ｙ毎の機能安全レベルの指定情報を入力情報として機能安全制御機能、即ち、機能安全対策を有する基盤ソフトを生成し、前記２個のアプリＸ、Ｙと前記生成した基盤ソフトとを用いてロードモジュール２を生成するように構成した。この構成によれば、２個のアプリＸ、Ｙ毎の機能安全レベルを変更した場合でも、ロードモジュールを容易に作成してデバグすることができる、即ち、機能安全レベルの組合わせを任意に変えつつ、しかも一気に結合デバグを実行することができる。このため、従来構成に比べて、複数の重要アプリをＥＣＵに搭載する場合に、開発工数を大幅に低減することができる。
【００２５】
また、本実施形態では、前記機能安全制御機能は、前記アプリ内の情報アクセスを制限する機能を備えるように構成したので、前記アプリ内の情報アクセスの安全性を高めることができる。
【００２６】
また、本実施形態では、前記機能安全制御機能は、外部から与えられた割込み信号を管理する機能を備えるように構成したので、前記アプリの割込み動作の安全性を高めることができる。
【００２７】
また、本実施形態では、前記機能安全制御機能は、前記基盤ソフトに組込む機能安全制御機能として予め想定されている機能群、例えば図３に示す機能安全対策の機能表の中から、前記アプリ毎の機能安全レベルの指定情報に基づいて選択された機能を備えるように構成した。この構成によれば、必要な機能安全対策を組み込んだ基盤ソフトを容易に生成することができる。
【００２８】
また、本実施形態においては、２個のアプリＸ、ＹをＥＣＵに搭載する構成について説明したが、これに限られるものではなく、３個以上のアプリをＥＣＵに搭載するように構成しても良い。例えば３個のアプリＡ、Ｂ、ＣをＥＣＵに搭載する構成の場合、機能安全対策は、アプリ間に必要なため、アプリＡとアプリＢとの間、アプリＡとアプリＣとの間、アプリＢとアプリＣとの間にそれぞれ機能安全対策が必要となる。アプリ数をＮとすると、機能安全対策が必要なアプリ間は、NＣ2通りあり、それぞれのアプリ間に、図３の表に示す機能安全レベルの組合わせ及び機能安全対策を実施するように構成することができる。そして、このように構成した機能安全対策の機能群の情報を基盤ソフトに組み込み、組み込んだ基盤ソフトとＮ個のアプリをリンクしてロードモジュールを生成するように構成することが好ましい。
【００２９】
本開示は、実施例に準拠して記述されたが、本開示は当該実施例や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、さらには、それらに一要素のみ、それ以上、あるいはそれ以下、を含む他の組み合わせや形態をも、本開示の範疇や思想範囲に入るものである。
【符号の説明】
【００３０】
図面中、１はパソコン、２はロードモジュール、３はログファイルである。
【図１】
2019215725.tif 000003
【図２】
2019215725.tif 000004
【図３】
2019215725.tif 000005
【図４】
2019215725.tif 000006
【図５】
2019215725.tif 000007
【図６】
2019215725.tif 000008
【図７】
2019215725.tif 000009