(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6029553
(24)【登録日】2016年10月28日
(45)【発行日】2016年11月24日
(54)【発明の名称】車両制御装置
(51)【国際特許分類】
B60R 16/02 20060101AFI20161114BHJP
G06F 9/48 20060101ALI20161114BHJP
G06F 21/12 20130101ALI20161114BHJP
G06F 21/44 20130101ALI20161114BHJP
【FI】
B60R16/02 660X
G06F9/46 452H
G06F21/12 310
G06F21/44
【請求項の数】6
【全頁数】12
(21)【出願番号】特願2013-172567(P2013-172567)
(22)【出願日】2013年8月22日
(65)【公開番号】特開2015-39983(P2015-39983A)
(43)【公開日】2015年3月2日
【審査請求日】2016年1月15日
(73)【特許権者】
【識別番号】509186579
【氏名又は名称】日立オートモティブシステムズ株式会社
(74)【代理人】
【識別番号】100091096
【弁理士】
【氏名又は名称】平木 祐輔
(74)【代理人】
【識別番号】100105463
【弁理士】
【氏名又は名称】関谷 三男
(74)【代理人】
【識別番号】100102576
【弁理士】
【氏名又は名称】渡辺 敏章
(72)【発明者】
【氏名】成沢 文雄
(72)【発明者】
【氏名】月舘 統宙
【審査官】
菅 和幸
(56)【参考文献】
【文献】
特開2012−247978(JP,A)
【文献】
特開2013−161299(JP,A)
【文献】
国際公開第2012/104898(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B60R 16/02
G06F 9/48
G06F 21/12
G06F 21/44
(57)【特許請求の範囲】
【請求項1】
車両を制御する動作を記述した第1プログラムと、前記車両を制御する動作のうち前記第1プログラムが記述しているものよりも安全度水準が低い動作を記述した第2プログラムとを記憶する記憶部、
前記第1プログラムと前記第2プログラムを実行するプロセッサ、
前記プロセッサが前記第1プログラムを実行するときの優先度と前記プロセッサが前記第2プログラムを実行するときの優先度を制御する優先度制御部、
前記プロセッサによって実行されることを待機しているジョブの一覧を記述した実行待ジョブリスト、
を備え、
前記プロセッサは、前記第1プログラムが記述している処理を実行するときは、前記第2プログラムが記述している処理を実行するときよりも優先度が高い動作モードに遷移する割込処理を実施するように構成されており、
前記実行待ジョブリストは、前記プロセッサが実行すべき優先度が高い順に前記ジョブの一覧を記述しており、
前記優先度制御部は、前記第2プログラムから前記第1プログラムを呼び出す要求を前記第2プログラムから受け取り、前記第2プログラムから前記第1プログラムを呼び出すときに前記第2プログラムが指定した優先度に対応する前記実行待ジョブリスト内の位置に、前記第1プログラムを呼び出すジョブを挿入し、
前記プロセッサは、前記実行待ジョブリストが記述している優先度順にしたがって、前記ジョブの一覧内に含まれるジョブを実行する
ことを特徴とする車両制御装置。
【請求項2】
前記車両制御装置は、
前記第2プログラムから前記第1プログラムを呼び出す要求が正当であるか否かを検査する正当性検査部、
前記第2プログラムが前記第1プログラムを呼び出すときに指定すべき認証コードを保持する認証コードテーブル、
を備え、
前記第2プログラムは、前記第1プログラムを呼び出すとき前記認証コードを併せて指定するように構成されており、
前記正当性検査部は、前記第2プログラムが前記第1プログラムを呼び出すとき指定する認証コードと前記認証コードテーブル内に保持されている認証コードを比較することにより、前記第2プログラムから前記第1プログラムを呼び出す要求が正当であるか否かを検査し、正当な要求である場合は呼び出しを許可し、不正な要求である場合は呼び出しを拒否する
ことを特徴とする請求項1記載の車両制御装置。
【請求項3】
前記車両制御装置は、
前記プロセッサが実行するジョブの割込制御を実施する割込制御部、
前記割込制御部からの指示にしたがって前記プロセッサが割込実行すべきジョブの識別子を格納する割込レジスタ、
を備え、
前記優先度制御部は、前記実行待ジョブリストが記述している優先度順にしたがって、前記ジョブの一覧内に含まれるジョブの識別子を前記割込レジスタ内に格納し、
前記割込制御部は、前記割込レジスタ内に格納されている前記ジョブが前記第1プログラムを実行するジョブである場合は、前記ジョブの識別子に対応するジョブを実行するように、前記プロセッサに対して割込命令を出力し、
前記プロセッサは、前記割込制御部が出力した前記割込命令にしたがってジョブを実行することにより、前記実行待ジョブリストが記述している優先度順にしたがって、前記ジョブの一覧内に含まれるジョブを実行する
ことを特徴とする請求項2記載の車両制御装置。
【請求項4】
前記車両制御装置は、前記プロセッサが実行するジョブの割込制御を実施する割込制御部を備え、
前記優先度制御部は、前記実行待ジョブリストが記述しているジョブが前記第1プログラムを実行するジョブである場合は、前記実行待ジョブリストが記述している優先度順にしたがって、前記ジョブの一覧内に含まれるジョブを割込起動するように前記割込制御部に対して要求し、
前記割込制御部は、前記優先度制御部から指定された前記ジョブの識別子に対応するジョブを実行するように、前記プロセッサに対して割込命令を出力し、
前記プロセッサは、前記割込制御部が出力した前記割込命令にしたがってジョブを実行することにより、前記実行待ジョブリストが記述している優先度順にしたがって、前記ジョブの一覧内に含まれるジョブを実行する
ことを特徴とする請求項2記載の車両制御装置。
【請求項5】
前記車両制御装置は、前記正当性検査部による検査結果を保持する結果保持部を備え、
前記結果保持部は、前記検査結果とともに前記検査結果の時系列を示す情報を保持する
ことを特徴とする請求項2記載の車両制御装置。
【請求項6】
前記車両制御装置は、前記第2プログラムから前記優先度制御部を介さずに前記第1プログラムを呼び出す要求が発生したとき、その旨を検出してその要求内容を記述したログを保存するメモリ保護部を備える
ことを特徴とする請求項1記載の車両制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車両制御装置に関する。
【背景技術】
【0002】
自動車のエンジン制御などを実施する車両制御装置として、マイクロコントローラ(マイコン)を搭載したECU(Electronic Control Unit)が用いられている。マイコンに搭載されるソフトウェアは、一般的には制御処理を記述したアプリケーションプログラム、入出力処理を記述したデバイスドライバ、オペレーティングシステム(OS)などによって構成されている。
【0003】
車両制御装置は、車両乗員の安全性に直接関係する制御を実施するため、高い安全性が要求されている。近年における制御の高度化と規模の増大にともない、高い安全性を満足する車両制御装置を実装するため、大きな開発工数を要することが課題となっている。そこで、車両制御装置の全開発要素を高い安全度水準に対応した開発プロセスに準じて開発するのではなく、高い安全性が求められる部分については高い安全度水準に対応した開発プロセスに準じて開発し、その他の部分については通常の開発プロセスなどに準じて開発することが考えられる。これにより、高い安全性と開発工数の抑制を両立させることができる。このような手法は、安全度の分離(Decomposition)と呼ばれている(非特許文献1)。
【0004】
開発工程における安全度の分離に加えて、安全度水準が異なるソフトウェアが相互に干渉しないようにして同一のマイコン上に搭載することができれば、高い安全度水準を維持したままECUの実装コストを最適化することができると考えられる。特に、各ソフトウェアがアクセスするメモリ領域が互いに干渉しないようにする技術は、メモリ保護と呼ばれている。
【0005】
メモリ保護は通常、マイコン内のメモリ領域に対してアクセスするためのアドレスバスを監視する、MPU(Memory Protection Unit)と呼ばれる専用のハードウェアによって実現される。MPUを用いてメモリ保護を実施するマイコンは異なる動作モードを持ち、それぞれの動作モードをそれぞれの安全度水準に対応させる。典型的には、MPUを用いてメモリを保護するマイコンは動作モードとしてユーザモードと特権モードを持ち、ユーザモードに低安全ソフトウェア(要求される安全性が低い)を対応させ、特権モードに高安全ソフトウェア(要求される安全性が高い)を対応させる。
【0006】
動作モードを切り替える際には、現在の動作モードを示す値を格納する権限設定レジスタを書き換える。ユーザモードから特権モードへ遷移する際には、ユーザモードで動作している低安全ソフトウェアが権限設定レジスタを書き換えることが禁止されるのが一般的である。これは、ユーザモードで動作している低安全ソフトウェアの不具合などによって不測の動作が高安全ソフトウェア側に伝搬することを防ぐことを目的としている。そこでユーザモードから特権モードへ遷移する際には、割込制御装置を経由して所定の割込処理を発生させることにより、特権モードへ遷移する。
【0007】
下記特許文献1は、安全関連アプリケーションと非安全管理アプリケーションを同一のハードウェア上に搭載し、ユーザモードと特権モードを切り替えながら各アプリケーションを実行する構成例を記載している。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2012−247978号公報
【非特許文献】
【0009】
【非特許文献1】ISO26262 Functional Safety:Automotive Road Vehicle
【発明の概要】
【発明が解決しようとする課題】
【0010】
車両の制御演算は車両動作に合わせて最適なタイミングで実施する必要があり、各制御パラメータを算出するのに適した実行周期がある。一般的には、実行周期が短いジョブほど実行優先度を高く設定し、実行周期が長いジョブほど優先度を低く設定する。他方、上述のような割込制御はマイコン内に搭載された割込コントローラによって管理される。割込コントローラは、割込要因に対応する割込処理を起動する。割込処理は上記実行周期毎の処理とは別に起動されるため、割込処理によって実行周期毎の処理が遅延しないように割込処理の優先度を適切に設定する必要がある。
【0011】
マイコンの動作モードがユーザモードと特権モードの間で遷移するとき、上述のように割込処理が発生する。この割込処理には、割込処理を要求したソフトウェアの安全度とは別に一律に同一の優先度が付与される。したがって、各割込処理は発生した順序で実行されることになる。
【0012】
しかし実際には、割込処理を要求するソフトウェアの安全度は様々である。例えば低安全ソフトウェアから高安全ソフトウェア上の機能を呼び出すための割込処理は、低安全ソフトウェアと同程度の優先度であると考えられるが、この割込処理が先に実行されることにより後続の優先度が高い処理が待機させられる可能性がある。この現象は優先度逆転と呼ばれており、所定の実行周期以内に処理が完了しない原因となる。
【0013】
本発明は、上記のような課題に鑑みてなされたものであり、安全度水準が異なる複数の制御ソフトウェアを実行する車両制御装置において、安全度水準に応じた適切な実行優先度で制御ソフトウェアを実行して優先度逆転を抑制することを目的とする。
【課題を解決するための手段】
【0014】
本発明に係る車両制御装置は、プロセッサによって実行されることを待機しているジョブ一覧を保持する実行待ジョブリストを備え、低安全ソフトウェアから高安全ソフトウェアを呼び出す要求は、低安全ソフトウェアの実行優先度に応じた実行待ジョブリスト内の位置に挿入される。
【発明の効果】
【0015】
本発明に係る車両制御装置によれば、低安全ソフトウェアから高安全ソフトウェアを呼び出す要求を実行待ジョブリスト内にいったん格納することにより、割込要求に起因する優先度逆転を抑制することができる。
【図面の簡単な説明】
【0016】
【
図1】実施形態1に係る車両制御装置100の機能ブロック図である。
【
図2】演算装置112が実行する制御ソフトウェア150の構成図である。
【
図3】低安全プログラム156が高安全プログラム151を呼び出す際に実施するAPI関数300を例示する図である。
【
図4】優先度制御部1532が管理する実行待ジョブリスト400の構成図である。
【
図5】低安全プログラム156から高安全プログラム151内の関数を呼び出す要求が発生したときの動作を説明するフローチャートである。
【
図6】割込処理を実施する処理を説明するフローチャートである。
【発明を実施するための形態】
【0017】
<実施の形態1>
図1は、本発明の実施形態1に係る車両制御装置100の機能ブロック図である。車両制御装置100は、マイクロコントローラ(マイコン)110、信号入力回路120、駆動回路130、通信回路140を備える。信号入力回路120は、センサ210による計測結果を受け取り、マイコン110に出力する。マイコン110は、受け取った計測結果を用いて制御演算を実施し、その結果に基づき駆動回路130を介してアクチュエータ220を駆動する。マイコン110は、通信回路140を介して制御装置230から受信した信号に基づき制御演算を実施する場合もある。
【0018】
マイコン110は、入力回路111、演算装置112、RAM(Random Access Memory)113、ROM(Read Only Memory)114、割込制御装置115、メモリ保護装置116、出力回路117、通信制御装置118を備える。演算装置112は、制御プログラムが規定している制御演算を実行する。RAM113は演算装置112が一時的に使用するデータなどを格納する。ROM114は、後述の
図2で説明する制御プログラムを格納する。割込制御装置115については後述する。メモリ保護装置116は、メモリ領域を保護するMPUである。
【0019】
図2は、演算装置112が実行する制御ソフトウェア150の構成図である。制御ソフトウェア150はROM114内に格納されており、必要に応じてRAM113内に読み込まれる。制御ソフトウェア150は、高安全プログラム151、正当性検査部152、処理要求管理部153、権限制御部154、結果保持部155、低安全プログラム156を有する。処理要求管理部153はさらに、優先度判定部1531、優先度制御部1532を有する。
【0020】
高安全プログラム151は、高い安全度水準が要求されるプログラムであり、例えば車両が正常状態にあることを監視して正常状態から逸脱した場合には車両動作を安全状態へ遷移させるプログラムなどがこれに相当する。マイコン110は、高安全プログラム151を実行する際には、特権モードに遷移する。低安全プログラム156は、高安全プログラム151よりも低い安全度水準が要求されるプログラムであり、例えば制御演算そのものを実施するプログラムなどがこれに相当する。低安全プログラム156は高安全プログラム151が備えている機能を呼び出すことができるが、必ず処理要求管理部153を経由する必要がある。詳細は後述する。
【0021】
正当性検査部152は、低安全プログラム156から高安全プログラム151を呼び出す要求が正当であるか否かを検査する。処理要求管理部153は、低安全プログラム156から高安全プログラム151を呼び出す要求を受け付けるインターフェースである。優先度判定部1531と優先度制御部1532については後述する。権限制御部154は、低安全プログラム156から高安全プログラム151を呼び出す割込処理を実施するように割込制御装置115に対して依頼する。結果保持部155は、割込処理の実施結果を保持する。
【0022】
制御ソフトウェア150は、1つのプログラムとして構成することもできるし、
図2に示す各部を個別のプログラムとして構成することもできる。説明の便宜上、高安全プログラム151と低安全プログラム156はそれぞれ1つずつ示したが、これらの個数は任意である。
【0023】
割込制御装置115は、割込レジスタ1151内に格納されている処理IDに対応するジョブを実行する割込処理を発生させる。演算装置112は、その割込処理にしたがって当該ジョブを割込実行する。
【0024】
以下においては、記載の便宜上、制御ソフトウェア150内の各部を動作主体として説明する場合があるが、実際にこれら制御ソフトウェア150内の各部を実行するのは演算装置112であることを付言しておく。
【0025】
図3は、低安全プログラム156が高安全プログラム151を呼び出す際に実施するAPI関数300を例示する図である。処理要求管理部153は、
図3に例示するようなAPI関数300を提供し、低安全プログラム156はAPI関数300を用いて、高安全プログラム151を呼び出す要求を処理要求管理部153に対して発行する。低安全プログラム156から高安全プログラム151を呼び出すためには、マイコン110が特権モードに遷移する必要があるので、モード遷移のための割込処理が発生する。
【0026】
処理ID301は、呼び出そうとしている高安全プログラム151内の関数の識別子である。認証コード302は、当該要求が正当であることを示すための認証情報である。詳細は後述する。実行優先度303は、呼び出そうとしている高安全プログラム151内の関数を実行するときの優先度を指定する値である。引数304は、呼び出そうとしている高安全プログラム151内の関数に対して指定する引数である。
【0027】
正当性検査部152は、処理ID301と認証コード302の対応関係を記述した認証コードテーブルをあらかじめ保持しており、API関数300が指定する処理ID301と認証コード302が認証コードテーブル内の記述と合致しているか否かに基づき、当該要求が正当なものであるか否かを認証することができる。
【0028】
実行優先度303は低安全プログラム156の実行優先度に応じた値が設定されるが、モード遷移のための割込処理の優先度が実行優先度303よりも高いと割込処理のほうが優先されてしまい、先に説明した優先度逆転が生じる。そこで本発明においては、処理要求管理部153が割込処理の実行優先度を制御することにより、優先度逆転を抑制する。詳細は後述の
図4以降を用いて説明する。
【0029】
図4は、優先度制御部1532が管理する実行待ジョブリスト400の構成図である。実行待ジョブリスト400は、優先度制御部1532がジョブの実行優先度を制御するために用いるものであり、演算装置112によって実行されることを待機しているジョブの一覧を保持する。ここでいうジョブとは、例えば低安全プログラム156が呼び出した高安全プログラム151内の関数を演算装置112が実行する処理である。実行待ジョブリスト400は、優先度403が高い順に整列されている。
【0030】
先頭ポインタ401は、実行待ジョブリスト400が保持しているジョブ一覧のうち最初に実行すべきジョブを指すポインタである。処理ID402は実行すべきジョブの識別子であり、低安全プログラム156から高安全プログラム151内の関数を呼び出す場合は処理ID301に相当する。優先度403は当該ジョブを実行する際の優先度であり、低安全プログラム156から高安全プログラム151内の関数を呼び出す場合は実行優先度303に相当する。引数404は当該ジョブに対して引き渡す引数であり、低安全プログラム156から高安全プログラム151内の関数を呼び出す場合は引数304に相当する。次ポインタ405は、実行待ジョブリスト400内の次要素を指すポインタである。
【0031】
優先度制御部1532は、実行待ジョブリスト400内に新たなジョブを登録するときは、ジョブ一覧が優先度403の値にしたがって降順となる位置にその新規ジョブを登録する。優先度制御部1532は、実行待ジョブリスト400内のジョブを先頭から順に取り出して権限制御部154に引き渡す。権限制御部154は、受け取ったジョブを割込レジスタ1151に格納する。これにより、実行待ジョブリスト400内のジョブは必ず優先度403が高い順に割込実行されるので、割込処理が高い優先度で実施される場合であっても、優先度逆転を抑制することができる。
【0032】
図5は、低安全プログラム156から高安全プログラム151内の関数を呼び出す要求が発生したときの動作を説明するフローチャートである。以下、
図5の各ステップについて説明する。
【0033】
(
図5:ステップS500)
低安全プログラム156は、処理要求管理部153に対して、
図3で説明したAPI関数300を用いて、高安全プログラム151内の関数を呼び出す要求を発行する。処理要求管理部153がその要求を受け取ると、本フローチャートが開始される。
【0034】
(
図5:ステップS501)
正当性検査部152は、ステップS500において処理要求管理部153が受け取った処理ID301が所定の上下限範囲内にあるか否かをチェックする。範囲内にある場合はステップS503へ進み、範囲内にない場合はステップS502へ進む。
【0035】
(
図5:ステップS502)
正当性検査部152は、低安全プログラム156が発行した要求の処理結果として、処理ID301の範囲が不正であった旨のエラーを設定する。本ステップの後はステップS508にスキップする。
【0036】
(
図5:ステップS503)
正当性検査部152は、ステップS500において処理要求管理部153が受け取った実行優先度303が所定の上下限範囲内にあるか否かをチェックする。範囲内にある場合はステップS505へ進み、範囲内にない場合はステップS504へ進む。
【0037】
(
図5:ステップS504)
正当性検査部152は、低安全プログラム156が発行した要求の処理結果として、実行優先度303の範囲が不正であった旨のエラーを設定する。本ステップの後はステップS508にスキップする。
【0038】
(
図5:ステップS505)
正当性検査部152は、ステップS500において処理要求管理部153が受け取った処理ID301/認証コード302のペアを認証コードテーブル内の記述と比較することにより、当該要求が正当なものであるか否かをチェックする。認証に成功した場合はステップS507へ進み、失敗した場合はステップS506へ進む。
【0039】
(
図5:ステップS506)
正当性検査部152は、低安全プログラム156が発行した要求の処理結果として、認証コード302が不正であった旨のエラーを設定する。本ステップの後はステップS508にスキップする。
【0040】
(
図5:ステップS507)
優先度判定部1531は、実行優先度303の値に基づき、実行待ジョブリスト400内において当該要求を挿入すべき位置を決定する。優先度制御部1532は、その位置へ当該要求を挿入する。優先度制御部1532は、低安全プログラム156が発行した要求の処理結果として、正常処理された旨を設定する。
【0041】
(
図5:ステップS508)
結果保持部155は、低安全プログラム156が発行した要求の処理結果を保存する。このとき、後にエラー解析などを実施する際の便宜に鑑みて、処理結果のタイムスタンプなどのように時系列を示す情報を併せて保存することもできる。
【0042】
図6は、割込処理を実施する処理を説明するフローチャートである。以下、
図6の各ステップについて説明する。
【0043】
(
図6:ステップS600)
優先度制御部1532は、本フローチャートを例えば十分に短い実行周期で実施する。またはステップS603が完了すると即座に改めて本フローチャートを開始するようにしてもよい。
【0044】
(
図6:ステップS601〜S602)
優先度制御部1532は、実行待ジョブリスト400内の先頭要素から順にジョブを取り出す(S601)。優先度制御部1532は、ステップS601において取り出したジョブの処理ID402を、割込レジスタ1151に格納する(S602)。
【0045】
(
図6:ステップS603)
権限制御部154は、割込レジスタ1151内に格納されている処理ID402の値を割込制御装置115に引き渡す。割込制御装置115は、その処理ID402の値に対応するジョブを割込実行するように、演算装置112に対して指示する。演算装置112はそのジョブを割込実行する。
【0046】
(
図6:ステップS603:補足その1)
実行待ジョブリスト400内に、低安全プログラム156から高安全プログラム151内の関数を呼び出すジョブが登録されている場合、本ステップにおいてそのジョブは割込実行されることになる。実行待ジョブリスト400は優先度403の順に整列されているので、割込処理自体の優先度が高いとしても、低安全プログラム156が指定した実行優先度303の値に応じた優先度で当該ジョブを実行することができる。したがって、優先度逆転を抑制することができる。
【0047】
(
図6:ステップS603:補足その2)
低安全プログラム156の不具合などにより、処理要求管理部153を経由することなく低安全プログラム156から高安全プログラム151内の関数が直接呼び出された場合は、メモリ保護装置116がその旨を検出し、その要求内容を保存しておく。開発者はその保存された要求内容を解析することにより、不具合の原因などを分析する。
【0048】
<実施の形態1:まとめ>
以上のように、本実施形態1に係る車両制御装置100は、低安全プログラム156から高安全プログラム151を呼び出す要求が発生すると、そのジョブを実行待ジョブリスト400内における実行優先度303の値に応じた位置に格納する。割込制御装置115は、実行待ジョブリスト400内に格納されている順序で、演算装置112に各ジョブを割込実行させる。これにより、割込制御装置115が発生させる割込処理の優先度が高い場合であっても、低安全プログラム156が指定した実行優先度303に応じた優先度でマイコン110を特権モードに遷移させて高安全プログラム151を呼び出すことができる。したがって、優先度逆転を抑制することができる。
【0049】
また、本実施形態1に係る車両制御装置100は、低安全プログラム156から高安全プログラム151を呼び出す要求が発生すると、認証コード302の値に基づき当該要求が正当なものであるか否かをチェックする。これにより、当該要求が不具合によって発生した不正要求である場合は、これを排除することができる。
【0050】
<実施の形態2>
実施形態1においては、割込実行するジョブの識別子を割込レジスタ1151内に格納し、割込制御装置115がその値に対応するジョブを割込実行させることを説明した。しかしマイコン110によっては割込レジスタ1151を利用して任意の処理IDに対応するジョブを起動する機能を備えていない場合もある。この場合は、割込レジスタ1151に処理IDを格納することに代えて、割込実行すべき処理IDをプログラム内にハードコードすることもできる。
【0051】
具体的には、処理要求管理部153内に割込実行すべき高安全プログラム151内の関数の識別子一覧をあらかじめハードコードしておき、いずれかの関数について低安全プログラム156から呼び出す要求が生じた場合は、その関数の識別子に対応する処理IDを割込制御装置115に直接引き渡す。これにより、割込レジスタを利用する機能を備えていないマイコン110であっても、実施形態1と同様の機能を実現することができる。
【0052】
ただし本実施形態2においては、高安全プログラム151内のいずれの関数に対して低安全プログラム156から呼び出しが生じるかについてあらかじめ把握してハードコードしておかなければならないため、汎用性の観点においては実施形態1よりも低いと考えられる。
【0053】
本発明は上記した実施形態に限定されるものではなく、様々な変形例が含まれる。上記実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
【符号の説明】
【0054】
100:車両制御装置、110:マイクロコントローラ、111:入力回路、112:演算装置、113:RAM、114:ROM、115:割込制御装置、116:メモリ保護装置、117:出力回路、118:通信制御装置、120:信号入力回路、130:駆動回路、140:通信回路、150:制御ソフトウェア、151:高安全プログラム、152:正当性検査部、153:処理要求管理部、154:権限制御部、155:結果保持部、156:低安全プログラム、400:実行待ジョブリスト。