JP2009251663A - タスク制御方法及びマルチタスクシステム - Google Patents
タスク制御方法及びマルチタスクシステム Download PDFInfo
- Publication number
- JP2009251663A JP2009251663A JP2008095306A JP2008095306A JP2009251663A JP 2009251663 A JP2009251663 A JP 2009251663A JP 2008095306 A JP2008095306 A JP 2008095306A JP 2008095306 A JP2008095306 A JP 2008095306A JP 2009251663 A JP2009251663 A JP 2009251663A
- Authority
- JP
- Japan
- Prior art keywords
- task
- activation
- activation method
- change
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
【課題】 マルチタスクシステムにおいて、システムのリソース消費量を抑制しつつ、検査時等の特殊処理時における作業効率の向上を実現することを目的とする。
【解決手段】 タスク管理部46は、複数のタスク各々に各アプリケーション41,42,43,44…のいずれか1つ又は複数を割り当て、タスク毎に起動タイミングを管理する。タスク管理部46は、タスク起動方式管理テーブル47に書き込まれたタスク毎の起動方式に従って各タスクを起動させる。タスクが起動されると、RTOS40は当該タスクを実行可能状態とし、優先度が最高ならばそれを実行させる。一方、外部検査ツールから検査モード移行信号が入力されると、検査用プログラム45が実行され、起動方式の変更要求がなされる。これを受けたタスク管理部46は、変更要求のあったタスクにつき、タスク起動方式管理テーブル47の内容(起動方式)を変更要求に従って更新する。
【選択図】 図2
【解決手段】 タスク管理部46は、複数のタスク各々に各アプリケーション41,42,43,44…のいずれか1つ又は複数を割り当て、タスク毎に起動タイミングを管理する。タスク管理部46は、タスク起動方式管理テーブル47に書き込まれたタスク毎の起動方式に従って各タスクを起動させる。タスクが起動されると、RTOS40は当該タスクを実行可能状態とし、優先度が最高ならばそれを実行させる。一方、外部検査ツールから検査モード移行信号が入力されると、検査用プログラム45が実行され、起動方式の変更要求がなされる。これを受けたタスク管理部46は、変更要求のあったタスクにつき、タスク起動方式管理テーブル47の内容(起動方式)を変更要求に従って更新する。
【選択図】 図2
Description
本発明は、複数のタスクのいずれかを選択的に実行するマルチタスクシステムにおけるタスク制御方法、及びマルチタスクシステムに関する。
従来、車両に搭載されて車両の各種制御を行う電子制御装置では、制御の広範囲化・高度化・高精度化が進むにつれて制御ソフトウェアの規模も増加の一途を辿っている。そのため、そういった大規模な制御システムの信頼性向上や開発コストの削減等を図るべく、複数タスクのリアルタイム処理能力に優れたリアルタイムオペレーティングシステム(以下「リアルタイムOS」という)の導入が必須となりつつある。リアルタイムOSが導入された電子制御装置では、マイクロコンピュータ(以下「マイコン」という)が、リアルタイムOSの管理下で複数のタスクを並列に実行していくことにより、車両における所定の制御対象を制御する。
リアルタイムOSの管理下で複数のタスクが実行されるマルチタスクシステムでは、タスク毎に予め優先度が設定されていると共に、タスク毎にその起動方式(即ち、リアルタイムOSに対して実行(起床)を要求するタイミング)も予め設定されている。そして、タスクを管理するタスク管理部が、タスク毎にその起動方式に従ってタスクを起動させる(即ち、リアルタイムOSに対して実行を要求する)。起動されたタスクは、リアルタイムOSの管理下で実行可能状態となり、レディーキューに格納される。このとき、リアルタイムOSがレディーキューを走査し、現在実行されているタスクよりも優先度の高いタスクが存在していれば、ディスパッチを行ってその優先度の高いタスクを実行させる。
ところで、車両においてマルチタスクシステムを実現するよう構成されたマイコンに対しては、限られたリソースの中で複数のタスクが正常に動作できるか否かを、種々の方法で検証する必要がある。その一つとして、例えば、所定時間内におけるアイドルタスクの累積実行時間と定期実行タスクの実行回数とに基づいてシステムの負荷率・過負荷率を計測し、この計測結果を用いてプログラムの構築を好適化する技術が知られている(例えば、特許文献1参照。)。
これ以外にも、例えば車両出荷時等においてその動作性能の検査が行われるが、この検査で、通常動作時の設定内容で正常に動作するか否かを検査するのみならず、品質確認のために、種々の設定で動作させて性能検査を行う場合もある。具体的には、複数のタスクを種々のタイミングで動作させ、そのときの処理を検証するのである。
このように複数のタスクをある特定のタイミングで動作させてその処理を確認したいという状況(以下「特殊処理時」という)は、上述した検査時に限らず、今後も種々生じることが予想される。この特殊処理時には、各タスクを、上記予め設定された起動方式とは異なる起動方式で起動・実行させる必要がある。
しかし、上述したように、タスクの起動方式はタスク毎に予め設定されている。そこで、特殊処理時における動作確認を実現するために、従来は、例えば数個のタスクの設定を静的に何度も変更して、変更する度にコンパイルを実施し、マイコンに実行させるようにしていた。また例えば、予め、同じタスクを異なる起動方式毎に静的に多数設定し、それらのタスクを一斉に動作させることも行われていた。
特許第3376906号公報
しかしながら、特殊処理時の動作を確認すべく、タスクの起動方式を変えて動作確認をしようとする度に再度コンパイルを実施してマイコンに動作させることを繰り返す方法だと、作業効率が非常に悪い。即ち、例えば起動方式Aが予め設定されているタスクについて、特殊処理時に起動方式Aとは異なる起動方式B,C,・・・で動作させてみたい場合、その起動方式毎にコンパイルを実施する必要があり、作業負担が増大する。
一方、同じタスクを起動方式毎に多数用意しておいてそれらを一斉に動作させる方法は、再度コンパイルを繰り返す必要はないため、作業効率の悪化は避けられるものの、リソース不足の問題が生じるおそれがある。即ち、この方法では、本来必要なタスクとは別に、特殊処理時にしか実行されないタスクを相当数用意しておく必要があり、その分のリソースが必要となる。そのため、リソース消費量が増大し、リソース消費量をなるべく抑えたいような小リソースのシステムにおいては、リソースが不足してしまうという問題が生じるおそれがあるのである。
本発明は上記課題に鑑みなされたものであり、マルチタスクシステムにおいて、システムのリソース消費量を抑制しつつ、検査時等の特殊処理時における作業効率の向上を実現することを目的とする。
上記課題を解決するためになされた請求項1記載の発明は、複数のタスクのいずれかを選択的に実行するマルチタスクシステムにおけるタスク制御方法であって、複数のタスクの各々に、該タスクの起動方式を予め設定しておく。そして、タスク毎に、該タスクに設定されている起動方式に従って該タスクを起動させることにより該タスクを実行可能な状態にするタスク起動手順と、該タスク起動手順にて起動されたタスクを所定の規則に従って実行するタスク実行手順と、所定の条件が成立したときに、各タスクのうち1又は複数の変更対象タスクに対し、該タスクに設定されている起動方式の変更要求を行う変更要求手順と、この変更要求手順により変更要求がなされた場合に、対応するタスクに設定されている起動方式を該変更要求に応じた起動方式に変更するタスク起動方式変更手順とを備える。
即ち、各タスクは、通常は、タスク毎に予め設定されている起動方式に従って起動される(実行可能な状態となる)。しかし、本発明(請求項1)では、各タスクの起動方式が上記予め設定されている起動方式に静的に固定されておらず、起動方式の変更要求がなされた場合は、その変更要求がなされたタスクに設定されている起動方式が、その変更要求に応じて変更される。つまり、変更要求によってタスクの起動方式を動的に切り換えることができるのである。
従って、請求項1記載のタスク制御方法によれば、変更要求に応じてタスクの起動方式を動的に切り換えることができるため、例えば検査時等の特殊処理時において所定のタスクを異なる起動方式にて起動・動作させてその処理を確認するといった作業を行う必要がある場合に、システムのリソース消費量を抑制しつつ、その作業効率を向上させることが可能となる。
なお、どのタスクを変更対象タスクとするか、また、変更要求の内容、即ち変更対象タスクに対してその起動方式をどの起動方式へ変更するかは、適宜決めることができる。また、変更要求を行う所定の条件についても、種々考えられ、例えば、あるタスクの処理の一部として明示的に変更要求を出すことや、当該マルチタスクシステムの外部から入力される信号をトリガ(上記所定の条件)として変更要求を出すこと等が考えられる。
ここで、予め設定される起動方式や変更可能な起動方式の具体例としては、例えば請求項2〜4に記載のようなものが考えられる。
請求項2記載の発明は、請求項1記載のタスク制御方法であって、起動方式として、一定の周期で起動させる絶対周期起動方式を含む複数の起動方式を有する。そして、変更要求手順では、変更要求として、少なくとも、所定の変更対象タスクに対する絶対周期起動方式へ変更すべき旨の要求を行う。
請求項2記載の発明は、請求項1記載のタスク制御方法であって、起動方式として、一定の周期で起動させる絶対周期起動方式を含む複数の起動方式を有する。そして、変更要求手順では、変更要求として、少なくとも、所定の変更対象タスクに対する絶対周期起動方式へ変更すべき旨の要求を行う。
この請求項2記載のタスク制御方法によれば、予め設定されている起動方式が絶対周期起動方式ではないタスクについて、必要に応じてそのタスクの起動方式を絶対周期起動方式に動的に切り換えて動作させ、その際の当該タスクの動作の検証やシステム全体の動作の検証を行うことが可能となる。
請求項3記載の発明は、請求項1又は2記載のタスク制御方法であって、起動方式として、前回実行時における実行終了後から一定時間経過後に起動させる相対周期起動方式を含む複数の起動方式を有する。そして、変更要求手順では、変更要求として、少なくとも、所定の変更対象タスクに対する相対周期起動方式へ変更すべき旨の要求を行う。
この請求項3記載のタスク制御方法によれば、予め設定されている起動方式が相対周期起動方式ではないタスクについて、必要に応じてそのタスクの起動方式を相対周期起動方式に動的に切り換えて動作させ、その際の当該タスクの動作の検証やシステム全体の動作の検証を行うことが可能となる。
請求項4記載の発明は、請求項1〜3いずれかに記載のタスク制御方法であって、起動方式として、所定のイベントが発生したときに起動させるイベント起動方式を含む複数の起動方式を有する。そして、変更要求手順では、変更要求として、少なくとも、所定の変更対象タスクに対するイベント起動方式へ変更すべき旨の要求を行う。
この請求項4記載のタスク制御方法によれば、予め設定されている起動方式がイベント起動方式ではないタスクについて、必要に応じてそのタスクの起動方式をイベント起動方式に動的に切り換えて動作させ、その際の当該タスクの動作の検証やシステム全体の動作の検証を行うことが可能となる。
次に、請求項5記載の発明は、複数のタスクのいずれかを選択的に実行するマルチタスクシステムであって、複数のタスクの各々に、該タスクの起動方式が予め設定されており、タスク毎に、該タスクに設定されている起動方式に従って該タスクを起動させることにより該タスクを実行可能な状態とするタスク起動手段と、このタスク起動手段にて起動されたタスクを所定の規則に従って実行するタスク実行手段と、所定の条件が成立したときに、各タスクのうち1又は複数の変更対象タスクに対し、該タスクに設定されている起動方式の変更要求を行う変更要求手段と、この変更要求手段により変更要求がなされた場合に、対応するタスクに設定されている起動方式を該変更要求に応じた起動方式に変更するタスク起動方式変更手段とを備える。そして、タスク起動手段は、タスク起動方式変更手段によりタスクの起動方式が変更された場合、該変更されたタスクについては、該変更後の起動方式に従って起動させる。
このように構成されたマルチタスクシステムでは、各タスクの起動方式が上記予め設定されている起動方式に静的に固定されておらず、変更要求手段により起動方式の変更要求がなされた場合は、その変更要求がなされたタスクに設定されている起動方式が、その変更要求に応じて変更される。つまり、変更要求によってタスクの起動方式を動的に切り換えることができるのである。
従って、請求項5記載のマルチタスクシステムによれば、変更要求に応じてタスクの起動方式を動的に切り換えることができるため、請求項1のタスク制御方法が実現され、請求項1と同様の効果が得られる。
請求項6記載の発明は、請求項5記載のマルチタスクシステムであって、外部から、起動方式を変更すべき旨の指令を入力できるよう構成されている。そして、上記所定の条件は、外部からその指令が入力されることである。
即ち、変更要求手段は、外部から指令が入力されたときに、起動方式の変更要求を行うのである。そのため、例えば通常時は各タスクを上記予め設定された起動方式で起動させ、必要に応じて、外部から指令を入力することによって特定のタスク(変更対象タスク)の起動方式を異なる起動方式に切り換えて動作させる、といったことが可能となる。
従って、請求項6記載のマルチタスクシステムによれば、起動方式の変更要求を行うタイミングを外部からの指令によって自由に設定できるため、無駄なリソースの消費をより低減させることができ、且つ、特殊処理時の作業効率をより向上させることができる。
請求項7記載の発明は、請求項5又は6記載のマルチタスクシステムであって、起動方式として、一定の周期で起動させる絶対周期起動方式を含む複数の起動方式を有する。そして、変更要求手段は、変更要求として、少なくとも、所定の変更対象タスクに対する絶対周期起動方式へ変更すべき旨の要求を行う。
このように構成された請求項7記載のマルチタスクシステムによれば、請求項2記載のタスク制御方法が実現され、請求項2と同様の効果が得られる。
また、請求項8記載の発明は、請求項5〜7いずれかに記載のマルチタスクシステムであって、起動方式として、前回実行時における実行終了後から一定時間経過後に起動させる相対周期起動方式を含む複数の起動方式を有する。そして、変更要求手段は、変更要求として、少なくとも、所定の変更対象タスクに対する相対周期起動方式へ変更すべき旨の要求を行う。
また、請求項8記載の発明は、請求項5〜7いずれかに記載のマルチタスクシステムであって、起動方式として、前回実行時における実行終了後から一定時間経過後に起動させる相対周期起動方式を含む複数の起動方式を有する。そして、変更要求手段は、変更要求として、少なくとも、所定の変更対象タスクに対する相対周期起動方式へ変更すべき旨の要求を行う。
このように構成された請求項8記載のマルチタスクシステムによれば、請求項3記載のタスク制御方法が実現され、請求項3と同様の効果が得られる。
また、請求項9記載の発明は、請求項5〜8いずれかに記載のマルチタスクシステムであって、起動方式として、所定のイベントが発生したときに起動させるイベント起動方式を含む複数の起動方式を有する。そして、変更要求手段は、変更要求として、少なくとも、所定の変更対象タスクに対するイベント起動方式へ変更すべき旨の要求を行う。
また、請求項9記載の発明は、請求項5〜8いずれかに記載のマルチタスクシステムであって、起動方式として、所定のイベントが発生したときに起動させるイベント起動方式を含む複数の起動方式を有する。そして、変更要求手段は、変更要求として、少なくとも、所定の変更対象タスクに対するイベント起動方式へ変更すべき旨の要求を行う。
このように構成された請求項9記載のマルチタスクシステムによれば、請求項4記載のタスク制御方法が実現され、請求項4と同様の効果が得られる。
請求項10記載の発明は、請求項5〜9いずれかに記載のマルチタスクシステムであって、当該マルチタスクシステムの動作開始時に、前記各タスクに対して前記予め設定されている前記起動方式が、該タスク毎に対応付けられて記憶される、記憶手段を備える。そして、タスク起動手段は、タスク毎に、該タスクに対応付けられて記憶手段に記憶されている起動方式に従って、該タスクを起動させ、タスク起動方式変更手段は、記憶手段に記憶されている起動方式を更新することにより、起動方式の変更を行う。
請求項10記載の発明は、請求項5〜9いずれかに記載のマルチタスクシステムであって、当該マルチタスクシステムの動作開始時に、前記各タスクに対して前記予め設定されている前記起動方式が、該タスク毎に対応付けられて記憶される、記憶手段を備える。そして、タスク起動手段は、タスク毎に、該タスクに対応付けられて記憶手段に記憶されている起動方式に従って、該タスクを起動させ、タスク起動方式変更手段は、記憶手段に記憶されている起動方式を更新することにより、起動方式の変更を行う。
このように構成された請求項10記載のマルチタスクシステムでは、各タスクの起動方式は記憶手段に記憶され、この記憶された起動方式に従って各タスクが起動される。そして、起動方式の変更要求に対しては、この記憶手段に記憶されている内容が更新される。
そのため、起動方式の変更要求がなされた場合にその要求内容を確実に反映させることができる。しかも、起動方式を元の方式(予め設定された方式)に戻したいときは当該マルチタスクシステムを再起動させることで実現できる。
請求項5〜10いずれかに記載のマルチタスクシステムは、例えば請求項11に記載のように、マイクロコンピュータと、このマイクロコンピュータを、タスク起動手段、タスク実行手段、変更要求手段、及びタスク起動方式変更手段、として機能させるためのプログラムとにより実現可能である。
また、請求項5〜10いずれかに記載のマルチタスクシステムにおける、タスク起動手段及びタスク実行手段は、より具体的には、例えば請求項12に記載のように構成することができる。
即ち、タスク起動手段は、タスク毎に、該タスクに設定された起動方式に従い、該タスクを起動させるための要求を出力する起動要求出力手段と、起動要求出力手段による要求がなされたとき、対応するタスクを起動させることにより該タスクを実行可能な状態にする実行可能状態設定手段と、を備えている。また、タスク実行手段は、実行可能状態設定手段により実行可能な状態にされたタスクの実行タイミングを上記規則に従って設定する実行タイミング設定手段と、この実行タイミング設定手段により設定された実行タイミングにてタスクを実行する実行手段と、を備えている。
そして、このように構成された請求項12記載のマルチタスクシステムは、例えば請求項13に記載のように、マイクロコンピュータと、このマイクロコンピュータにより実行されるプログラムとを備えたものとして実現できる。プログラムとしては、より具体的には、各タスクに対応した処理を実行させることにより実行手段としての機能をマイクロコンピュータに実現させるタスクプログラムと、少なくとも実行可能状態設定手段及び実行タイミング設定手段としての機能をマイクロコンピュータに実現させるためのリアルタイムオペレーティングシステムと、変更要求手段としての機能をマイクロコンピュータに実現させるための変更要求プログラムと、少なくとも起動要求出力手段及びタスク起動方式変更手段としての機能をマイクロコンピュータに実現させるためのタスク制御プログラムとを備えている。
また、請求項14記載の発明は、請求項13又は14いずれかに記載のマルチタスクシステムであって、当該マルチタスクシステムは車両に搭載されており、タスクとして、該車両に搭載された所定の制御対象を制御するための車両制御用タスクを有する。
マイクロコンピュータによって車両を制御するにあたっては、制御の広範囲化・高度化・高精度化に伴い、限られたリソースを有効に利用することが要求されるが、本発明(請求項14)によれば、タスクの起動方式を動的に切り換えることができるため、例えば検査時等の特殊処理時において所定のタスクを異なる起動方式にて起動・動作させてその処理を確認するといった作業を行う必要があっても、限られたリソースを有効に活用することができる。
以下に、本発明の好適な実施形態を図面に基づいて説明する。
図1は、本発明が適用された実施形態の車載電子制御装置(ECU)1の構成を表す説明図である。図1に示す如く、本実施形態のECU1は、車両における所定の制御対象(例えばエンジン)を制御するための各種処理を実行するマイコン10と、制御対象の動作状態(例えばエンジン回転数、冷却水温度等)を検出する様々なセンサ22からの信号を入力して波形整形やA/D変換等を行うことにより、それら各信号をマイコン10に取り込ませる入力インタフェース18と、マイコン10からの制御信号に応じて、制御対象を動作させるための各種アクチュエータ21へ駆動信号を出力する出力インタフェース17と、マイコン10の動作(ひいてはECU1の動作)を検査する際に外部検査ツール30が接続され、この外部検査ツール30とマイコン10との間で各種検査信号の入出力を行う検査信号入出力インタフェース19と、を備えている。
図1は、本発明が適用された実施形態の車載電子制御装置(ECU)1の構成を表す説明図である。図1に示す如く、本実施形態のECU1は、車両における所定の制御対象(例えばエンジン)を制御するための各種処理を実行するマイコン10と、制御対象の動作状態(例えばエンジン回転数、冷却水温度等)を検出する様々なセンサ22からの信号を入力して波形整形やA/D変換等を行うことにより、それら各信号をマイコン10に取り込ませる入力インタフェース18と、マイコン10からの制御信号に応じて、制御対象を動作させるための各種アクチュエータ21へ駆動信号を出力する出力インタフェース17と、マイコン10の動作(ひいてはECU1の動作)を検査する際に外部検査ツール30が接続され、この外部検査ツール30とマイコン10との間で各種検査信号の入出力を行う検査信号入出力インタフェース19と、を備えている。
マイコン10は、本発明のマルチタスクシステムとしての機能を実現するものであり、プログラムを実行する周知のマイクロプロセッサユニット(MPU)11と、このMPU11により実行されるプログラムが予め記憶されたROM12と、MPU11による演算結果や後述するタスク起動方式が記憶されるRAM13と、後述するタスク起動周期チェック処理(図7)の実行タイミング決定に用いられるタイマ14と、各インタフェース17,18,19との間で信号のやりとりをするための入出力ポート(I/O)15とが備えられ、これらがバス16を介して接続されている。
外部検査ツール30は、例えばマイコン10の開発段階での動作検証時、車両搭載前のECU1の動作検証時、或いは車両出荷前の最終段階におけるECU1が車両に搭載された状態での動作検証時など、マイコン10の動作を検証・確認する際に、マイコン10の検査信号入出力インタフェース19に接続して用いられるものである。
外部検査ツール30がマイコン10に接続された状態で、この外部検査ツール30からマイコンへ所定の信号を送信すると、マイコン10はその信号に従って検査モード(特殊処理モード)に移行し、その信号に応じた所定の処理(特殊処理)を実行する。そして、処理の内容に応じて、マイコン10からも外部検査ツール30へ各種信号が出力される。このマイコン10からの各種信号を外部検査ツール30が受信・処理することで、マイコン10の動作状態を検証することができる。
次に、マイコン10のソフトウェア構成を、図2を用いて説明する。図2は、MPU11により実行される各種ソフトウェア(プログラム)の構成を示す説明図である。図2に示すように、MPU11により実行されるソフトウェアとして、少なくとも、リアルタイムOS(RTOS)40と、特定の処理を実行する複数のアプリケーション(AP)であるAP−a41,AP−b42,AP−c43,AP−d44・・・と、マイコン10を検査モードに移行させるための検査用プログラム45と、後述する各タスクの管理を行うタスク管理部46とが備えられている。
なお、タスク管理部46は、その実体はソフトウェア(プログラム)であるが、以下の説明では、適宜、このタスク管理部46を主体として「・・・実行する」といった類の表現も用いる。その場合、実際にはマイコン10がタスク管理部46としての各種プログラムを実行することによって実現されるものであることを意味する。
複数のアプリケーションAP−a41,AP−b42,AP−c43,AP−d44・・・としては、制御対象を制御するための各種処理、他のECUとの通信処理、マイコン10の動作チェック処理、ROM12やRAM13のチェック処理、故障時の通信処理など、各種の処理を行うものが適宜用意されている。
タスク管理部46は、各アプリケーション41,42,43,44・・・をそれぞれ複数のタスクのいずれかに割り当てると共に、各タスクを、それぞれ設定されている起動方式に従って起動させ、RTOS40に対してタスクの実行(起床)や終了を要求する。
なお、ここでいうタスクの「起動」とは、RTOS40に対して当該タスクを実行可能な状態(Ready状態)に遷移させるよう要求することを意味する。つまり、タスク管理部46があるタスクを起動させると、RTOS40は、当該タスクを実行可能な状態に遷移させる。このとき、RTOS40は、周知の如く、この実行可能状態となったタスクをレディーキューに格納する。そして、レディーキューを走査して、現在実行されているタスクを含めて最も優先度の高いタスクを探し、現在実行中のタスクが最も優先度が高ければそのままそのタスクの実行を継続させ、現在実行中のタスクよりも優先度の高いタスクがあれば、ディスパッチを行ってその優先度の高いタスクを実行させる。なお、この優先度は本発明の所定の規則に相当するものである。
本実施形態では、図3に示すように、各アプリケーションがそれぞれ各タスクA,B,C,D,E・・・のいずれかに割り当てられている。具体的には、タスクAにはAP−a41とAP−c43が割り当てられており、タスクBにはAP−b42が割り当てられており、タスクCにはAP−d44が割り当てられている。他のタスクD,E・・・にも、それぞれ、図示しない1又は複数のアプリケーションが割り当てられている。
そして、各タスクには、それぞれ起動方式が設定されている。即ち、タスク管理部46は、マイコン10の動作開始が開始されると、当該タスク管理部46の処理の一つとして、RAM13における所定の領域に設定されたタスク起動方式管理テーブル47に、各タスクの起動方式を書き込む。そして、このタスク起動方式管理テーブル47の内容に基づいて、タスク毎にその起動方式を周期的にチェックする。そして、起動すべきタスクがあれば、そのタスクを起動させ、RTOS40に対してそのタスクを実行させるよう要求する。
タスクの起動方式として、本実施形態では、主として絶対周期起動方式、相対周期起動方式、及びイベント起動方式、の3種類の起動方式が用意されている。そして、図4に例示するように、各タスクA,B,C,D,E・・・のそれぞれに対し、上記3種類のうちいずれかの起動方式がデフォルトで設定されている。
絶対周期起動方式は、処理遅れに関係なく、一定周期で起動される方式である。図5(a)に、絶対周期起動方式にて起動され動作する(実行される)タスクの動作例を示す。図5(a)に例示するように、絶対周期起動方式では、タスクは一定周期(本例では200ms毎)に起動される。
なお、図5(a)では、いずれの起動タイミングにおいても自身の優先度が最も高くて即座に実行された場合が例示されているが、これはあくまでも一例であり、起動されて実行可能な状態になっても、他に優先度の高いタスクが実行中であれば、少なくともそのタスクが終了するまで実行されないことはいうまでもない。図5(b),図5(c),及び後述する図10についても同様である。
相対周期起動方式は、前回実行時における実行終了後、一定時間経過後に起動される方式である。つまり、タスクを起動させるタイミングの基準となるのはあくまでも前回実行した際におけるその終了時であり、前回の終了時から一定時間経過後に起動される。図5(b)に、相対周期起動方式にて起動され動作するタスクの動作例を示す。図5(b)に例示するように、相対周期起動方式では、タスクの動作が終了してから一定時間(本例では100ms)経過後に起動される。
イベント起動方式は、外部からのイベントをトリガにして起動される方式である。図5(c)に、イベント起動方式にて起動され動作するタスクの動作例を示す。図5(c)に例示するように、イベント起動方式では、時間には関係なく、起動させるべき何らかのイベントが発生した場合に起動される。
本実施形態では、マイコン10が動作を開始する初期状態では、既述の通り、各タスクの起動方式(図4参照)がそれぞれタスク毎に対応付けられてタスク起動方式管理テーブル47に書き込まれる。そして、タスク管理部46が、タスク起動方式管理テーブル47に書き込まれた各タスクの起動方式を周期的にチェックし、起動させるべきタスクがあればそれを起動させる。そのため、通常は、各タスクはそれぞれデフォルトで設定されている起動方式(図4参照)に従って起動されることになる。
しかし、本実施形態では、各タスクの起動方式が図4に示したデフォルトでの起動方式に静的に設定(固定)されているわけではなく、必要に応じていずれか1つ又は複数のタスクについてその起動方式を変更することができる。具体的には、本実施形態では、外部検査ツール30を用いてマイコン10の動作を検証する際に、所定のタスクの起動方式が変更される。
即ち、マイコン10の動作を検証すべく、マイコン10に外部検査ツール30を接続して、外部検査ツール30からマイコン10へ検査モード移行信号を出力すると、マイコン10では、割り込み処理により検査用プログラム45が実行される。検査用プログラム45は、マイコン10を検査モードに移行させるためのプログラムであり、主として、タスク管理部46に対してタスク起動方式の変更要求を行うものである。この変更要求は、変更対象のタスクを指定すると共に、その変更対象のタスク毎にどの起動方式へ変更すべきかを指定するものである。
図6に、検査用プログラム45による検査モード移行処理の内容を示す。外部検査ツール30からの検査モード移行信号によってこの検査モード移行処理が開始されると、タスク管理部46に対する、タスク起動方式の変更要求がなされる(S310)。
なお、複数のタスクのうち、起動方式を変更する対象となるタスクをどれにするか、或いは、どのタスクをどの起動方式に変更するかについては、タスクの種類や検査の目的等に応じて適宜設定することができる。
このように、検査用プログラム45の実行によってタスク起動方式の変更要求がなされると、タスク管理部46は、指定された変更対象のタスクそれぞれについて、指定された起動方式への変更(切り換え)を行う。具体的には、変更対象のタスクに対応付けられてタスク起動方式管理テーブル47(RAM13)に書き込まれている起動方式を、変更要求により指定されている起動方式に更新する。これにより、その変更対象タスクは、以後、変更された起動方式にて起動されることとなる。
次に、タスク管理部46の具体的処理内容について説明する。まず、図7は、マイコン10にて実行されるタスク管理部46としての処理内容の1つである、タスク起動周期チェック処理を示すフローチャートである。このタスク起動周期チェック処理は、マイコン10の動作開始後、タイマ14の値を基に、所定の周期で繰り返し実行されるものである。
このタスク起動周期チェック処理が開始されると、まず、全てのタスクのうち1つがチェック対象タスクとして選択される(S110)。そして、その選択されたタスクの起動方式が判断される(S120)。この起動方式の判断は、既述の通り、タスク起動方式管理テーブル47に書き込まれたタスク毎の起動方式を参照して行われる。
ここで、起動方式がイベント起動方式ならば、イベントが発生しているか否かが判断され(S130)、イベントが発生している場合は(S130:YES)、当該タスクを起動させ、RTOS40に対してその実行を要求する(S140)。これにより当該タスクは、とりあえず実行可能な状態となり、他に優先度の高い実行可能状態のタスク或いは実行中のタスクがなければ、実行されることとなる。S140によるタスクの起動後、又はS130の判断時においてイベントが発生していなかった場合は、S220に移行する。
一方、S120の判断処理において、チェック対象タスクの起動方式が絶対周期起動方式ならば、当該タスクに対応した周期計測カウンタに基づき、起動周期時間が経過しているか否か、即ち、前回の起動時から所定の起動周期時間(図5(a)の例では200ms)が経過しているか否かが判断される(S150)。
ここで、周期計測カウンタは、タスク管理部46としてのプログラムに組み込まれ、絶対周期起動方式のタスク及び相対周期起動方式のタスクの各々に対して設定されるものであり、絶対周期起動方式のタスクの場合は、対応する周期計測カウンタは当該タスクが起動される度にクリアされ、相対周期起動方式のタスクの場合は、対応する周期計測カウンタは当該タスクの実行終了時にクリアされる。
S150の判断処理において、まだ起動周期時間が経過していないと判断された場合は、周期計測カウンタのカウント値をカウントアップして(S180)、S220に移行する。起動周期時間が経過していると判断された場合は(S150:YES)、周期計測カウンタをクリアした上で(S160)、S140と同様、当該タスクを起動させてRTOS40に対してその実行を要求し(S170)、S220に移行する。
また、S120の判断処理において、チェック対象タスクの起動方式が相対周期起動方式ならば、当該タスクに対応した周期計測カウンタに基づき、起動周期時間が経過しているか否か、即ち、前回の実行終了時から所定の起動周期時間(図5(b)の例では100ms)が経過しているか否かが判断される(S190)。
そして、まだ起動周期時間が経過していないと判断された場合は(S190:NO)、周期計測カウンタのカウント値をカウントアップして(S210)、S220に移行する。起動周期時間が経過していると判断された場合は(S190:YES)、当該タスクを起動させてRTOS40に対してその実行を要求し(S170)、S220に移行する。
相対周期起動方式の場合、タスクの起動タイミングの決定基準となるのはあくまでも実行終了時である。そのため、図示は省略したものの、S200でタスクが起動された後も、当該タスクの実行が終了するまでは、周期計測カウンタのカウントアップは継続される。
S220では、全てのタスクについてチェック完了したか否かが判断される。このとき、全てチェック完了していれば一旦このタスク起動周期チェック処理を終了するが、未チェックのタスクがまだあれば(S220:NO)、再びS110以下の処理が繰り返される。つまり、全てのタスクについて、S110以下の処理(起動させるべきか否かのチェック)が行われるのである。
次に、検査モード移行時、即ち外部検査ツール30からの検査モード移行信号によって、検査用プログラム45が実行され(図6参照)、タスク起動方式の変更要求がなされたときに、タスク管理部46が実行するタスク起動方式変更処理について、図8に基づいて説明する。
このタスク起動方式変更処理が開始されると、まず、変更対象タスクのうち1つが選択される(S410)。そして、その選択された変更対象タスクに対してどの起動方式への変更が要求されているかが判断される(S420)。ここで、イベント起動方式への変更が要求されているならば、RAM13のタスク起動方式管理テーブル47における、当該変更対象タスクに対応付けられて書き込まれている起動方式を、イベント起動方式に変更(更新)する(S440)。
一方、要求されている起動方式が相対周期起動方式又は絶対周期起動方式ならば、当該変更対象タスクに対応した周期計測カウンタをクリアした上で(S430)、起動方式管理テーブル47における当該変更対象タスクに対応付けられて書き込まれている起動方式を、その要求されている起動方式に変更する(S440)。S440による起動方式の変更後は、全ての変更対象タスクについて起動方式の変更が完了したか否かが判断され(S450)、全て完了していれば(S450:YES)、このタスク起動方式変更処理を終了するが、まだ変更していない変更対象タスクがあれば(S450:NO)、再びS410以下の処理が実行される。
このように、検査用プログラム45の実行によるタスク起動方式の変更要求によって、変更対象タスクの起動方式が変更されると、タスク起動方式管理テーブル47における各変更対象タスクの起動方式はその変更後の起動方式に書き換えられた状態となる。そのため、これら変更対象タスクについては、以後、その変更後の起動方式に従って起動されることとなる。
次に、起動されて実行可能な状態になったタスクが、RTOS40のタスクスケジューリング・ディスパッチによって実際に実行されるときは、タスク管理部46は、図9に示すタスク実行処理を実行する。
このタスク実行処理が開始されると、まず、その実行対象のタスクに割り当てられているアプリケーションに対する、処理の実施タイミングが通知され、これにより、当該アプリケーションの処理が実行される(S510)。このS510の処理は、実行対象のタスクに割り当てられている全てのアプリケーションに対し、プログラムで記述されている流れに従って順次行われる。
そして、実行対象のタスクの処理が完了すると、このタスクの起動方式が判断される(S520)。ここで、絶対周期起動方式又はイベント起動方式ならば、RTOS40に対して当該タスクが終了した旨のシステムコールが行われ(S540)、このタスク実行処理が終了する。一方、起動方式が相対周期起動方式ならば、S540のシステムコールの前に、当該タスクに対応した周期計測カウンタがクリアされる(S530)。
つまり、本実施形態のECU1では、通常時は、マイコン10の動作開始時にデフォルトで設定(タスク起動方式管理テーブル47に書き込まれる)起動方式に従って、タスク管理部46が、図7のタスク起動周期チェック処理を周期的に行うと共に、RTOS40によって実際にいずれかのタスクが実行される際は、図9のタスク実行処理を行う。
一方、外部検査ツール30が接続され、検査モードに移行する際は、検査用プログラム45の実行によりタスク起動方式の変更要求がなされる。この場合、タスク管理部46は、変更要求されたタスクについて、そのタスクに対応付けられてタスク起動方式管理テーブル47に書き込まれている当該タスクの起動方式を、変更要求に応じた起動方式に変更する。
そのため、例えば、あるタスクについて、通常処理時は絶対周期起動方式にて動作させるものの検査モード時にはイベント起動方式に変更して起動させたい、という場合には、検査用プログラム45を、そのタスクについては検査モード時にイベント起動方式に変更されるように構成すれば、そのように変更することが可能となる。そしてその場合、具体的には、図10に例示するような動作が実現される。
図10は、通常処理時は絶対周期起動方式にて動作させるものの検査モード時にはイベント起動方式で起動させたいタスクについて、その動作例を示すものである。図10に示すように、時刻t1より前の通常処理時では、起動方式が絶対周期起動方式に設定されているため、予め設定された一定周期(本例では100ms毎)に起動される。
そして、時刻t1において、外部検査ツール30からの検査モード移行信号によって検査モードに移行すると、起動方式がイベント起動方式に変更される。そのため、時刻t1以後の特殊処理時は、定期的な起動は行われなくなり、対応するイベントが発生した場合にのみタスクが起動されるようになる。
以上説明したように、本実施形態のECU1では、各タスクの起動方式がタスク毎に予めデフォルトで設定されており、RAM13のタスク起動方式管理テーブル47に書き込まれることによって管理されている。また、検査モード時に所定のタスクについてその起動方式を異なる起動方式に動的に切り換えて動作させることができるよう、検査用プログラム45が用意されている。
そのため、検査モード時にタスクの起動方式を切り換えるために再度コンパイルなどをする手間を省くことができるようになり、検査モード時の作業効率を向上させることが可能となる。しかも、起動方式の切り換えが必要なタスクを起動方式毎に複数用意しておく必要もないため、限られたリソースを有効に活用することができる。
また、本実施形態では、起動方式が3種類設定されており、例えば、絶対周期起動方式とは異なる起動方式にデフォルト設定されているタスクに対し、検査モード時には絶対周期起動方式に切り換えて動作させ、その際のマイコン10の動作やECU1全体の動作を検証することができる。また同様に、例えば、相対周期起動方式とは異なる起動方式にデフォルト設定されているタスクに対し、検査モード時には相対周期起動方式に切り換えて動作させ、その際のマイコン10の動作やECU1全体の動作を検証することもできる。また同様に、例えば、イベント起動方式とは異なる起動方式にデフォルト設定されているタスクに対し、検査モード時にはイベント起動方式に切り換えて動作させ、その際のマイコン10の動作やECU1全体の動作を検証することもできる。
また、例えば通常処理時はイベント起動方式で起動するよう設定されたタスクの場合、検査モード移行後はイベントが発生しなくなって動作できなくなる可能性もあるが、そのような場合、検査モード時にイベント起動方式から例えば絶対周期起動方式へ変更することで、検査モード時であってもそのタスクを動作させることが可能となる。これは、イベント起動方式から相対周期起動方式へ変更することによっても実現可能である。
更に、通常処理時はイベント起動方式で起動するよう設定されたタスクであって、通常はあまりイベントの発生頻度が多くはないタスクにつき、イベントが多発した場合を想定して検査を行いたい場合もある。その場合も、イベント起動方式から例えば絶対周期起動方式に変更することで、イベント多発を想定したタスクの動作検証を行うことが可能となる。これについても、イベント起動方式から相対周期起動方式へ変更することによっても実現可能である。
また、本実施形態では、マイコン10の動作開始時に各タスクの起動方式(デフォルトで設定されている起動方式)がRAM13にタスク起動方式管理テーブル47として書き込まれ、マイコン10の動作中はこのタスク起動方式管理テーブル47の内容に従って各タスクが起動される。そして、起動方式の変更要求に対しては、このタスク起動方式管理テーブル47の内容が書き換えられる。そのため、起動方式の変更要求がなされた場合にその要求内容を確実に反映させることができる。しかも、起動方式を元のデフォルトでの方式に戻したいときは、マイコン10を初期化するだけで実現できる。
なお、本実施形態において、検査用プログラム45は本発明の変更要求プログラムに相当し、各タスクA,B,C,D,E・・・は本発明のタスクプログラムに相当し、タスク管理部46は本発明のタスク制御プログラムに相当する。また、図7のタスク起動周期チェック処理において、S140,S170,S200の各処理はいずれも本発明の起動要求出力手段が実行する処理に相当し、図8のタスク起動方式変更処理におけるS440の処理は本発明のタスク起動方式変更手段が実行する処理に相当する。
[変形例]
以上、本発明の実施の形態について説明したが、本発明の実施の形態は、上記実施形態に何ら限定されるものではなく、本発明の技術的範囲に属する限り種々の形態を採り得ることはいうまでもない。
以上、本発明の実施の形態について説明したが、本発明の実施の形態は、上記実施形態に何ら限定されるものではなく、本発明の技術的範囲に属する限り種々の形態を採り得ることはいうまでもない。
例えば、上記実施形態では、タスクの起動方式として、絶対周期起動方式、相対周期起動方式、及びイベント起動方式の3種類が設定されているものとして説明したが、起動方式がこれら3種類であることはあくまでも一例であり、これらとは異なる起動方式を設定するようにしてもよい。また、起動方式が何種類存在するかについても特に限定されるものではない。
また、上記実施形態では、検査モード時におけるタスク起動方式の変更として、上記3種類の起動方式の相互間で異なる起動方式へ変更(切り換え)することについて説明したが、これに限らず、例えば、絶対周期起動方式であること自体は変更しないもののその起動周期を変更する、或いは、相対周期起動方式であること自体は変更しないもののその起動周期を変更する、ということも、起動方式の変更の一態様とすることができる。
更に、上記実施形態では、検査用プログラム45を1つ用意し、外部検査ツール30からの検査モード移行信号によってこの検査用プログラム45を動作させて、タスク起動方式の変更を行うようにしたが、検査用プログラムを含め(或いはこれとは別に)、タスクの起動方式を変更するためのプログラムを用意して、外部からの信号によって適宜所望のタスクを所望の起動方式に変更できるようにしてもよい。
更にまた、外部からの信号に応じて起動方式が変更されるようにする以外にも、例えば、マイコン10により実行されるプログラムの中で、ある特定の条件が成立したときに起動方式を変更させるようにすることもできる。
例えば、車両のECUにおいては、ROMやRAMのチェックを行うためのソフトウェアが搭載されることが多い。このROM/RAMチェック用のソフトウェアは、通常は、最も優先度の低い絶対周期起動方式にて起動されるタスクに割り当てられており、他のタスクが実行されていないときのみ動作するようにされている。しかし、ECUに何らかの異常が発生した場合には、所定のイベント発生に対してすぐに動作することが望ましい。このような場合、本発明を適用すれば、絶対周期起動方式のタスクをイベント起動方式に変更して、イベント発生に対してすぐに動作するようにすることができる。これにより、あるタイミングで即座に動作させることができるようになる。
このように、各タスクの起動方式をデフォルトでの起動方式とは異なる方式に変更して動作させるべき状況(特殊動作時)は、種々考えられるが、各特殊動作毎に、必要に応じて所望のタスクの起動方式を変更するよう構成することが可能である。
また、上記実施形態では、RTOS40とタスク管理部46をそれぞれ異なるソフトウェアモジュールとして説明したが、必ずしもそのような構成に限定されるわけではなく、例えば、RTOS40の機能の一部としてタスク管理部46の機能を組み込むようにし、RTOS40が各タスク(各アプリケーション)を直接管理するようにしてもよい。
1…ECU、10…マイコン、11…MPU、12…ROM、13…RAM、14…タイマ、15…I/O、16…バス、17…出力インタフェース、18…入力インタフェース、19…検査信号入出力インタフェース、21…アクチュエータ、22…センサ、30…外部検査ツール、40…RTOS、41〜44…アプリケーション(AP−a〜AP−d)、45…検査用プログラム、46…タスク管理部、47…タスク起動方式管理テーブル
Claims (14)
- 複数のタスクのいずれかを選択的に実行するマルチタスクシステムにおけるタスク制御方法であって、
前記複数のタスクの各々に、該タスクの起動方式を予め設定しておき、
前記タスク毎に、該タスクに設定されている前記起動方式に従って該タスクを起動させることにより該タスクを実行可能な状態にするタスク起動手順と、
該タスク起動手順にて起動されたタスクを所定の規則に従って実行するタスク実行手順と、
所定の条件が成立したときに、前記各タスクのうち1又は複数の変更対象タスクに対し、該タスクに設定されている前記起動方式の変更要求を行う変更要求手順と、
前記変更要求手順により前記変更要求がなされた場合に、対応するタスクに設定されている前記起動方式を該変更要求に応じた起動方式に変更するタスク起動方式変更手順と、
を備えることを特徴とするタスク制御方法。 - 請求項1記載のタスク制御方法であって、
前記起動方式として、一定の周期で起動させる絶対周期起動方式を含む複数の起動方式を有し、
前記変更要求手順では、前記変更要求として、少なくとも、所定の前記変更対象タスクに対する前記絶対周期起動方式へ変更すべき旨の要求を行う
ことを特徴とするタスク制御方法。 - 請求項1又は2記載のタスク制御方法であって、
前記起動方式として、前回実行時における実行終了後から一定時間経過後に起動させる相対周期起動方式を含む複数の起動方式を有し、
前記変更要求手順では、前記変更要求として、少なくとも、所定の前記変更対象タスクに対する前記相対周期起動方式へ変更すべき旨の要求を行う
ことを特徴とするタスク制御方法。 - 請求項1〜3いずれかに記載のタスク制御方法であって、
前記起動方式として、所定のイベントが発生したときに起動させるイベント起動方式を含む複数の起動方式を有し、
前記変更要求手順では、前記変更要求として、少なくとも、所定の前記変更対象タスクに対する前記イベント起動方式へ変更すべき旨の要求を行う
ことを特徴とするタスク制御方法。 - 複数のタスクのいずれかを選択的に実行するマルチタスクシステムであって、
前記複数のタスクの各々に、該タスクの起動方式が予め設定されており、
前記タスク毎に、該タスクに設定されている前記起動方式に従って該タスクを起動させることにより該タスクを実行可能な状態とするタスク起動手段と、
該タスク起動手段にて起動されたタスクを所定の規則に従って実行するタスク実行手段と、
所定の条件が成立したときに、前記各タスクのうち1又は複数の変更対象タスクに対し、該タスクに設定されている前記起動方式の変更要求を行う変更要求手段と、
前記変更要求手段により前記変更要求がなされた場合に、対応するタスクに設定されている前記起動方式を該変更要求に応じた起動方式に変更するタスク起動方式変更手段と、
を備え、
前記タスク起動手段は、前記タスク起動方式変更手段によりタスクの起動方式が変更された場合、該変更されたタスクについては、該変更後の起動方式に従って起動させる
ことを特徴とするマルチタスクシステム。 - 請求項5記載のマルチタスクシステムであって、
前記起動方式を変更すべき旨の指令を外部から入力できるよう構成されており、
前記所定の条件は、外部から前記指令が入力されることである
ことを特徴とするマルチタスクシステム。 - 請求項5又は6記載のマルチタスクシステムであって、
前記起動方式として、一定の周期で起動させる絶対周期起動方式を含む複数の起動方式を有し、
前記変更要求手段は、前記変更要求として、少なくとも、所定の前記変更対象タスクに対する前記絶対周期起動方式へ変更すべき旨の要求を行う
ことを特徴とするマルチタスクシステム。 - 請求項5〜7いずれかに記載のマルチタスクシステムであって、
前記起動方式として、前回実行時における実行終了後から一定時間経過後に起動させる相対周期起動方式を含む複数の起動方式を有し、
前記変更要求手段は、前記変更要求として、少なくとも、所定の前記変更対象タスクに対する前記相対周期起動方式へ変更すべき旨の要求を行う
ことを特徴とするマルチタスクシステム。 - 請求項5〜8いずれかに記載のマルチタスクシステムであって、
前記起動方式として、所定のイベントが発生したときに起動させるイベント起動方式を含む複数の起動方式を有し、
前記変更要求手段は、前記変更要求として、少なくとも、所定の前記変更対象タスクに対する前記イベント起動方式へ変更すべき旨の要求を行う
ことを特徴とするマルチタスクシステム。 - 請求項5〜9いずれかに記載のマルチタスクシステムであって、
当該マルチタスクシステムの動作開始時に、前記各タスクに対して前記予め設定されている前記起動方式が、該タスク毎に対応付けられて記憶される、記憶手段を備え、
前記タスク起動手段は、前記タスク毎に、該タスクに対応付けられて前記記憶手段に記憶されている起動方式に従って、該タスクを起動させ、
前記タスク起動方式変更手段は、前記記憶手段に記憶されている起動方式を更新することにより、前記起動方式の変更を行う
ことを特徴とするマルチタスクシステム。 - 請求項5〜10いずれかに記載のマルチタスクシステムであって、
マイクロコンピュータと、
前記マイクロコンピュータを、前記タスク起動手段、前記タスク実行手段、前記変更要求手段、及び前記タスク起動方式変更手段、として機能させるためのプログラムと、
を備えることを特徴とするマルチタスクシステム。 - 請求項5〜10いずれかに記載のマルチタスクシステムであって、
前記タスク起動手段は、
前記タスク毎に、該タスクに設定された前記起動方式に従い、該タスクを起動させるための要求を出力する起動要求出力手段と、
前記起動要求出力手段による要求がなされたとき、対応するタスクを起動させることにより該タスクを実行可能な状態にする実行可能状態設定手段と、を備え、
前記タスク実行手段は、
前記実行可能状態設定手段により実行可能な状態にされたタスクの実行タイミングを前記規則に従って設定する実行タイミング設定手段と、
前記実行タイミング設定手段により設定された実行タイミングにてタスクを実行する実行手段と、を備えている
ことを特徴とするマルチタスクシステム。 - 請求項12記載のマルチタスクシステムであって、
マイクロコンピュータと、
該マイクロコンピュータにより実行されるプログラムと、を備え、
前記プログラムは、
前記各タスクに対応した処理を実行させることにより前記実行手段としての機能を前記マイクロコンピュータに実現させるタスクプログラムと、
少なくとも前記実行可能状態設定手段及び前記実行タイミング設定手段としての機能を前記マイクロコンピュータに実現させるためのリアルタイムオペレーティングシステムと、
前記変更要求手段としての機能を前記マイクロコンピュータに実現させるための変更要求プログラムと、
少なくとも前記起動要求出力手段及び前記タスク起動方式変更手段としての機能を前記マイクロコンピュータに実現させるためのタスク制御プログラムと、
を備えることを特徴とするマルチタスクシステム。 - 請求項13又は14いずれかに記載のマルチタスクシステムであって、
当該マルチタスクシステムは車両に搭載されており、
前記タスクとして、該車両に搭載された所定の制御対象を制御するための車両制御用タスクを有する
ことを特徴とするマルチタスクシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008095306A JP2009251663A (ja) | 2008-04-01 | 2008-04-01 | タスク制御方法及びマルチタスクシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008095306A JP2009251663A (ja) | 2008-04-01 | 2008-04-01 | タスク制御方法及びマルチタスクシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009251663A true JP2009251663A (ja) | 2009-10-29 |
Family
ID=41312358
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008095306A Pending JP2009251663A (ja) | 2008-04-01 | 2008-04-01 | タスク制御方法及びマルチタスクシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009251663A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102371955A (zh) * | 2011-10-27 | 2012-03-14 | 苏州海格新能源汽车电控系统科技有限公司 | 用于整车控制器的分时任务的实现方法 |
WO2012104896A1 (ja) * | 2011-01-31 | 2012-08-09 | トヨタ自動車株式会社 | 安全制御装置および安全制御方法 |
WO2012104898A1 (ja) * | 2011-01-31 | 2012-08-09 | トヨタ自動車株式会社 | 安全制御装置および安全制御方法 |
KR101283911B1 (ko) | 2011-11-08 | 2013-07-16 | 재단법인대구경북과학기술원 | 운영체제의 알람 관리방법 및 그 운영체제, 그 기록매체 |
WO2018074187A1 (ja) * | 2016-10-19 | 2018-04-26 | 日立オートモティブシステムズ株式会社 | 車両制御装置 |
-
2008
- 2008-04-01 JP JP2008095306A patent/JP2009251663A/ja active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012104896A1 (ja) * | 2011-01-31 | 2012-08-09 | トヨタ自動車株式会社 | 安全制御装置および安全制御方法 |
WO2012104898A1 (ja) * | 2011-01-31 | 2012-08-09 | トヨタ自動車株式会社 | 安全制御装置および安全制御方法 |
JP5136695B2 (ja) * | 2011-01-31 | 2013-02-06 | トヨタ自動車株式会社 | 安全制御装置および安全制御方法 |
JP5136693B2 (ja) * | 2011-01-31 | 2013-02-06 | トヨタ自動車株式会社 | 安全制御装置および安全制御方法 |
CN103052923A (zh) * | 2011-01-31 | 2013-04-17 | 丰田自动车株式会社 | 安全控制装置及安全控制方法 |
CN103080858A (zh) * | 2011-01-31 | 2013-05-01 | 丰田自动车株式会社 | 安全控制装置及安全控制方法 |
US8706265B2 (en) | 2011-01-31 | 2014-04-22 | Toyota Jidosha Kabushiki Kaisha | Safety controller and safety control method |
CN102371955A (zh) * | 2011-10-27 | 2012-03-14 | 苏州海格新能源汽车电控系统科技有限公司 | 用于整车控制器的分时任务的实现方法 |
KR101283911B1 (ko) | 2011-11-08 | 2013-07-16 | 재단법인대구경북과학기술원 | 운영체제의 알람 관리방법 및 그 운영체제, 그 기록매체 |
WO2018074187A1 (ja) * | 2016-10-19 | 2018-04-26 | 日立オートモティブシステムズ株式会社 | 車両制御装置 |
JP2018067135A (ja) * | 2016-10-19 | 2018-04-26 | 日立オートモティブシステムズ株式会社 | 車両制御装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2487388C2 (ru) | Исполнительный механизм для систем hvac и способ его функционирования | |
US20070168082A1 (en) | Task-based robot control system for multi-tasking | |
JP5270330B2 (ja) | マルチコアマイコンシステムのシミュレーション方法及びシミュレーション装置 | |
WO2010010723A1 (ja) | マルチコアシステム、車両用電子制御ユニット、タスク切り替え方法 | |
JP2009251663A (ja) | タスク制御方法及びマルチタスクシステム | |
US20110022809A1 (en) | Consolidated electronic control unit and relay program implemented in the same | |
US20080127201A1 (en) | Electronic unit for saving state of task to be run in stack | |
CN102741818A (zh) | 故障诊断系统、用于车辆的电子控制单元、故障诊断方法 | |
EP3557345B1 (en) | Control apparatus, system program, and control method | |
US11115232B2 (en) | Method and device for operating a control unit | |
US20080104602A1 (en) | Task switching control method and computer system | |
JP4985662B2 (ja) | プログラム、及び制御装置 | |
JP2012128788A (ja) | 車両制御装置、データ通信方法 | |
JP5533789B2 (ja) | 車載電子制御装置 | |
JP5726006B2 (ja) | タスクおよびリソースのスケジューリング装置及びその方法並びに制御装置 | |
Pöhnl et al. | A middleware journey from microcontrollers to microprocessors | |
US8423681B2 (en) | Control apparatus for process input-output device | |
JP2013152636A (ja) | 情報処理装置、タスクスケジューリング方法 | |
WO2005013130A1 (ja) | リアルタイム制御システム | |
JPWO2018211865A1 (ja) | 車両制御装置 | |
JP2019079336A (ja) | 数値制御装置 | |
JP4325466B2 (ja) | タスク実行システム | |
JP2007193744A (ja) | 情報処理装置、プログラム、およびスケジューリング方法 | |
US20230418658A1 (en) | Computer System and Method for Executing an Automotive Customer Function | |
JP4231465B2 (ja) | 組込み制御装置 |