JP4921175B2 - 自動車用制御装置のソフトウエア作成方法 - Google Patents

自動車用制御装置のソフトウエア作成方法 Download PDF

Info

Publication number
JP4921175B2
JP4921175B2 JP2006546575A JP2006546575A JP4921175B2 JP 4921175 B2 JP4921175 B2 JP 4921175B2 JP 2006546575 A JP2006546575 A JP 2006546575A JP 2006546575 A JP2006546575 A JP 2006546575A JP 4921175 B2 JP4921175 B2 JP 4921175B2
Authority
JP
Japan
Prior art keywords
lower layer
microcomputer
name
device driver
module
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.)
Expired - Lifetime
Application number
JP2006546575A
Other languages
English (en)
Other versions
JPWO2006061884A1 (ja
Inventor
文雄 成沢
一徳 眞山
邦彦 恒冨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of JPWO2006061884A1 publication Critical patent/JPWO2006061884A1/ja
Application granted granted Critical
Publication of JP4921175B2 publication Critical patent/JP4921175B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/24Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means
    • F02D41/26Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means using computer, e.g. microprocessor
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25389Macro's, subroutines

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Chemical & Material Sciences (AREA)
  • Mechanical Engineering (AREA)
  • Combustion & Propulsion (AREA)
  • Automation & Control Theory (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)

Description

本発明は自動車用制御装置と、自動車用制御装置を構成するマイクロコンピュータのソフトウエアの作成方法及び作成システムに関する。
従来より自動車エンジン制御などの制御装置として、CPU、ROM、RAM、入出力信号処理装置などを内蔵したマイクロコンピュータ(以下マイコンと記す)が用いられている。マイコンに搭載されるソフトウエアは、目的とする制御動作が行えるように、制御処理を行うアプリケーションプログラムと入出力を行うデバイスドライバによって構成されている。入出力を行うデバイスドライバは、使用するハードウエアが変更になった場合に影響を受け易く、その変更工数の大きさが問題となっている。
ハードウエアの変更には、大きく分けると、制御対象であるセンサやアクチュエータの変更と、制御を行うマイコンの変更の2通りがある。センサやアクチュエータなどの制御対象ハードウエアの変更の場合、その特性や仕様を記載したハードウエアマニュアル等を参照し、目的とする制御動作を実現できるようにソフトウエアを開発する。また、マイコンの変更の場合には、マイコンの仕様を記載したマニュアルを参照しながら変更個所の抽出、変更仕様の決定、変更作業、及び検証を行う必要があり多大な工数を要していた。
ハードウエアの変更に伴うソフトウエアの変更工数を削減するものとして、非特許文献1に開示されているように、情報系の汎用オペレーティングシステム(OS)であるUNIX(登録商標)がある。ここでは、制御対象ハードウエアとのインターフェースをブロック型、メッセージチャネル型、及びキャラクタ型の3種類に標準化し、全ての入出力プログラムは、上記3種類のうちいずれかの仮想インターフェースを介する。これにより、ソフトウエアは、アプリケーション、仮想ドライバ、実ドライバプログラムの三階層構成となり、アプリケーションプログラム側は対象ハードウエア変更を意識することなく開発できる。
また、特許文献1には、デバイスドライバを三階層化することによりデバイスの変更に伴なうプログラムの変更を局所化している。
他方、非特許文献2によれば、デバイスドライバを上位ドライバと下位ドライバに分割して作成し、上位ドライバでは下位ドライバのインターフェースを用いて処理を行うことで、マイコンやハードウエアの変更の影響を受けない構成としている。
さらに、インターフェースを介した処理を高速化する手法として、マクロにより展開する手法が知られており、特許文献2に開示されているように、インターフェースを介した処理呼び出しをマクロ置換により高速化している。
S.J.Leffler他著 中村明他訳「UNIX 4.3 BSDの設計と実装」丸善株式会社(1991) 特開2000−97102号公報 μITRON4.0仕様研究会著「デバイスドライバ設計ガイドライン」μITRON4.0仕様研究会(1999) 特開2002−287981号公報
しかしながら、一般に用いられるC言語等のマクロ処理を行うプリプロセッサは、逐次処理による文字列置換処理であることから、複数の階層から構成される処理を高速化することが不可能である。このため、これらの従来技術では、階層を経るたびに発生する処理のオーバーヘッドを抑制することができない。例えば、三階層で構成されたデバイスドライバの場合、一つの入出力処理を行うために、三つの階層の呼び出し処理を行うプログラムとなり、プログラムの実行時間の遅延とサイズの増大とを招く。自動車などの制御に好適なリアルタイム制御を実現するためには、演算、入出力処理などの各処理を最適なタイミングで行う必要があり、数マイクロ秒の遅延も許されない場合も多い。階層型ソフトウエアを通常の実装方法で実装した場合、それぞれの階層間で関数呼び出しやシステムコール呼び出しが生じ、これらは無視できない遅延となる。また、これらはマイコン上のコンパイラなどを用いて機械語命令に変換すると、1〜8命令からなる呼び出し処理に変換され、数マイクロ秒から数十マイクロ秒の実行時間を要する。また、階層間の接続に対応するデータが、ROM、RAM、あるいはディスクなどの記憶手段上に必要となり、必要メモリ容量が増大する。
自動車エンジン制御装置などの組み込みシステムは、コストに直接影響のあるROM、RAM容量の削減要求や、リアルタイム制御であることから応答速度に対する要求も厳しいため、これらのオーバーヘッドは実用上の大きな障害となる。
本発明の目的は、ハードウエアや制御方法の変更時におけるソフトウエアの変更工数を削減し、アプリケーションの実行速度と、記憶装置の必要容量を削減することである。
本発明はその一面において、複数の階層に階層化された第1の処理記述部と、この第1の処理記述部に用いられている識別子の展開を行う識別子展開部と、第1の処理記述部の階層構成を記述する階層構成記述部とを作成し、この階層構成記述部と前記識別子展開部に記述されたデータに基いて、第1の処理記述部の階層構成を展開して、ひとつの階層からなる第2の処理記述部を作成することを特徴とする。
本発明の望ましい実施態様においては、各階層の処理を階層毎に定義したラベルを用いてマクロで記述する第1の処理記述部と、階層間の接続関係を階層毎のラベルをマクロ化し定義した階層構成記述部と、階層構成記述部に基づきマクロ展開を行う識別子展開部と、プリプロセッサ及びコンパイラを用いることにより、1つの階層に展開した第2の処理記述部に目的とする実行形式のソフトウエアを得ることができる。
本発明は他の一面において、マイクロコンピュータを用いて自動車の制御を行う自動車用制御装置のソフトウエアの作成システムにおいて、複数の階層に階層化された第1の処理記述部を作成する手段と、この第1の処理記述部に用いられている識別子の展開を行う識別子展開部を作成する手段と、第1の処理記述部の階層構成を記述する階層構成記述部を作成する手段と、この階層構成記述部と前記識別子展開部に記述されたデータに基いて、前記第1の処理記述部の階層構成を展開したひとつの階層からなる第2の処理記述部を作成する手段とを備えたことを特徴とする。
本発明の望ましい実施態様においては、上記第2の処理記述部を作成するプリプロセッサと、前記第2の処理記述部をオブジェクト形式ファイルに変換するコンパイラと、前記オブジェクト形式ファイルをアプリケーションオブジェクト形式ファイルと連結して自動車用制御装置の記憶装置に書き込む制御ソフトウエアを作成するリンカを備える。
本発明によれば、複数階層で設計したソフトウエアをコンパイルした結果として、一つの階層のみのソフトウエアとすることにより、階層間オーバーヘッドのないソフトウエアを得ることができる。
本発明によるその他の目的と特徴は、以下に述べる実施例の説明で明らかにする。
本発明の一実施例によるデバイスドライバ開発時におけるデバイスドライバとアプリケーション及びハードウエアの構成図。 本発明の一実施例の対象とする自動車エンジン制御システムの構成図。 図1における処理記述部の上位層(L1)内の具体例の詳細図。 図1における処理記述部の下位層(L2)内の具体例の詳細図。 図1のデバイスドライバ中の階層構成記述部の詳細図。 図1のデバイスドライバ中の識別子展開部の詳細図。 本発明の一実施例による開発手順図。 本発明の一実施例により階層間オーバーヘッドの無いソースコードの一例図。 本発明の一実施例によるデバイスドライバ作成方法の開発環境及び開発手順図。 本発明の一実施例による入出力端子一覧表の一例を示す図。
符号の説明
100…アプリケーションプログラム、101…噴射制御アプリケーション、102…点火制御アプリケーション、110…オペレーティングシステム、120…デバイスドライバ、121…吸入空気量演算(IAA)、122…吸気温度演算(IAT)、130,201…マイコン(CPU)、131〜133,203…入出力ポート、140…アプリケーションプログラムインターフェース(API)、150…ハードウエアインターフェース(HWI)、160…上位層(L1)、170…下位層(L2)、171…1次フィルタアナログ入力(FAI)、172…Vcc補正アナログ入力(VAI)、180…識別子展開部、191…階層構成記述部、192…識別子展開部、200…コントロールユニット、220…センサ・アクチュエータ、71…デバイスドライバプログラムソースコード、72…ビルド、73…デバイスドライバオブジェクトファイル、902…デバイスドライバリポジトリ、905…入出力端子一覧表、906…階層構成生成装置、911…プリプロセッサ、913…展開された処理記述部、914…コンパイラ、916…デバイスドライバオブジェクト形式ファイル、917…アプリケーションソースコード、918…アプリケーションオブジェクト形式ファイル、919…リンカ、921…制御ソフトウエア。
以下、本発明の実施例を図面を参照して説明する。
図1は、本発明の一実施例によるデバイスドライバ開発時におけるデバイスドライバとアプリケーション及びハードウエアの構成図である。ここでは、各種センサから得られた入力を、マイコン130の入出力ポート131〜133をもとに、吸入空気量演算と、吸気温度演算を実行するデバイスドライバ120の例を示している。その詳細に入る前に、制御対象とする自動車エンジン制御システムの概要から先に説明する。
図2は、本発明の一実施例の対象とする自動車エンジン制御システムの構成図である。コントロールユニット200は、CPU201、割込みコントローラ202、タイマ・パルスコントローラ203、AD変換器204、ROM205、RAM206を備えている。これらは、バス207で結ばれ、入出力ポート208から外部とアクセスする。これらの各要素202〜208は、一つの素子上に内蔵する場合と、別素子を用いて接続する場合がある。210は、コントロールユニット200の電源部である。
コントロールユニット200には、入出力ポート208を介して、その制御対象であるセンサ・アクチュエータ220が接続されている。センサ・アクチュエータ220は、エアフローセンサ221、電制スロットル222、インジェクタ223、点火プラグ224、LAFセンサ等の空燃比センサ225、及びクランク角センサ226等からなり、コントロールユニット200がこれらの制御を行う。すなわち、CPU201をはじめとする構成要素から、入出力ポート208内のレジスタへの読み書きにより、制御が行われる。制御の方法を記述したソフトウエアは、コントロールユニット200内のROM205及びRAM206に書き込まれる。
本実施例は、このソフトウエアにおいて、例えば、ハードに変更が生じた場合などにも、このソフトウエアの変更が容易で、かつ、アプリケーションの実行速度が速く、メモリ容量も節約できるソフトウエアの作成方法に関する。
図2のコントロールユニット200が実行するソフトウエアの構成を、図1に戻って説明する。ソフトウエアは、大きく分けて、アプリケーションプログラム100、オペレーティングシステム(OS)110、デバイスドライバ120の3つに分類される。アプリケーションプログラム100は、アプリケーションプログラムインターフェース(API)140を通して、OS110やデバイスドライバ120と情報や処理の受け渡しを行う。接続されるハードウエアの如何によらず、API140を標準化することにより、ハードウエアが変更されても、その影響がアプリケーションプログラム100へ及ぶことを避けることができる。OS110、デバイスドライバ120は、マイコン130の入出力ポート131〜133等のハードウエアインターフェース(HWI)150を通して、これらの制御を行う。
ここでは、マイコン130の入出力ポート131〜133を通してセンサから得られた入力に基いて、吸入空気量演算121及び吸気温度演算122を実行するデバイスドライバ120の例を示している。デバイスドライバ120は、アプリケーションプログラム100の噴射制御101や点火制御102等から、API140を通じて要求を受け付ける。その制御対象は、CPU130であり、HWI150を経て、アナログ入出力ポート131〜133等を読み書きすることにより、目的とする制御を行う。
デバイスドライバ120の開発時には、上位層(L1)160、下位層(L2)170のように、階層化することにより変更点の局所化を行う。この階層数は特に限定はなく、制御対象やソフトウエアの規模に応じて適切な階層数で実現できる。ここでは、2階層の場合について説明する。
処理記述部180において、上位層(L1)160には、吸入空気量演算121や吸気温度演算122等、アプリケーション100が必要とする入力値を求めるモジュールを設ける。また、下位層(L2)170には、入力値を取り込んで汎用的な入力処理を行うモジュールを設け、処理内容を記述する。ここでは、1次フィルタアナログ入力(FAI)171と、Vcc補正アナログ入力(VAI)172を示している。階層構成記述部191には、どの上位層がどの下位層を用いるかという階層間の具体的な構成を記述する。識別子展開部192を用いて、階層構成記述部191で定めた階層構成を、処理記述部180に対応させ、所望の出力を得る。
図3及び図4は、図1の処理記述部180の上位層(L1)160及び下位層(L2)170内の具体例の詳細図であり、これらについて説明する。
図3は、図1における上位層(L1)160の吸入空気量演算(IAA)121の詳細図である。
図3(A)は処理の概略を示すものである。図示するように、吸入空気量演算モジュールには、、処理名1の吸入空気量更新処理と、処理名2の吸入空気量取得処理を有し、かつ、この演算のために必要な入力処理として、Vcc補正アナログ入力があることを示している。図3(B)は、上記吸入空気量更新処理の概略を示すフローチャート、図3(C)は、同じく吸入空気量取得処理の概略を示すフローチャートである。図3(D)は、図3(A),(B),及び(C)を実装したプログラムコードの例である。
図3(B)の吸入空気量演算処理では、まず、ステップ301において、下位層L2におけるVcc補正アナログ入力(VAI)により入力値の更新を行い、次に、ステップ302において、更新した値を取得する。ステップ303では、取得した値をもとに、エアフローセンサの特性を補正するためのマップにより補正を行い、ステップ304では、前記補正によって得られた値をバッファへ保持する。
また、図3(C)の吸入空気量取得の処理は、ステップ305において、上記バッファの値を返すことによって実現する。
図3(D)は、これらの処理を、C言語のマクロを用いて記述したプログラムソースの例である。マクロ記述は、他モジュールの呼び出しを「Ln_Proc(_Ln(ID))」と記述し、データの参照を「Ls_(ID)」と記述する。但し、Lnは呼び出すモジュールの層名称、Procは呼び出す処理名、IDは自モジュール名、Lsは自モジュールの層名称である。
図4は、図1における下位層(L2)170の要素であるVcc補正アナログ入力(VAI)172のの詳細図である。
図4(A)は処理の概要を示すものである。図示するように、Vcc補正アナログ入力モジュールには、処理名1のVcc補正アナログ入力値更新処理と、処理名2のVcc補正アナログ入力値取得処理を有し、かつ、この処理のために必要な入力種別として、マイコンポートからの入力があることを示している。図4(B)は、Vcc補正アナログ入力値更新処理のフローチャート、図4(C)は、同じくVcc補正アナログ入力値取得処理のフローチャートである。図4(D)は、これら図4(A),(B),及び(C)を実装したソースコードの例である。
図4(B)のVcc補正アナログ入力値更新処理では、まず、ステップ401において、ハードウエアインターフェース(HWI)150を介して、マイコンポートからVccを入力する。次に、ステップ402において、Vcc補正係数を乗算し、更新値を得る。ステップ403では、取得した更新値をバッファへ保持する。
また、図4(C)のVcc補正アナログ入力値所得の処理は、ステップ404において、上記バッファの値を返すことによって実現する。
図4(D)は、これらの処理を、C言語のマクロを用いて記述したプログラムソースの例である。マクロ記述は、図3(D)と同一要領である。
図5は、図1のデバイスドライバ120中の階層構成記述部191の詳細図である。
図5(A)は、構成の概要を示すものである。それぞれの処理モジュールのラベル名IAT,IAA,VAI,及びFAIと、これらの下位に属する処理モジュールのラベル名が、FAI,VAI,AN1,及びAN2であることを示している。すなわち、吸気温度演算(IAT)122の下位モジュールが1次フィルタアナログ入力171であり、そのラベルがFAI、吸入空気量演算(IAA)121の下位モジュールがVcc補正アナログ入力172であり、そのラベルがVAIである。また、1次フィルタアナログ入力171、すなわちラベルFAIの対応ハードウエアが、アナログ入出力ポートでありラベルがAN2、Vcc補正アナログ入力172、すなわちラベルVAIの対応ハードウエアが、アナログ入出力ポートでありラベルがAN1であることを示している。
図5(B)は、図5(A)の階層構成を基に実装した階層構成記述部191のソースコードである。このソースコードは、マクロを用いて記述し、「#define ID_Ln IDn」あるいは「#define ID_ADDR xxxx」の形式である。ここで、IDはデバイスドライバモジュールの識別子(ラベル)、IDnは当該モジュールと関連する他のモジュールの識別子(ラベル)、_ADDRはマイコンのポートを示す識別子(ラベル)でありxxxはポート名を示す。
図6は、図1のデバイスドライバ120中の識別子展開部192の詳細図である。識別子展開部は「#define _Ln(ly) ly##_Ln」、「#define _ADDR(ly) ly##_ADDR」、「#define Ln_(ly) Ln_##ly」の形式である。ここで、Lnは上位下位層の名称、ADDRはマイコンのポートを示す任意の識別子を示すものであり、その他は、前述と同じである。これらはC言語の識別子連結機能「##」を用い、他の層のラベルと置換することにより、層間のマクロ展開を実現するものである。
図7は、以上で説明した処理記述部、階層構成記述部、及び識別子展開部を用いた開発手順図である。前記のように作成したデバイスドライバプログラムソースコード71の階層構成記述部711、識別子展開部712、処理記述部713を、ビルド72を通して、デバイスドライバオブジェクトファイル73を得る。すなわち、プリプロセッサ721、コンパイラ722を用いて、機械語コードに変換すると、デバイスドライバのオブジェクトファイル73が出力される。このオブジェクトファイル73では、階層化して構築した処理記述部が、プリプロセッサ721によって一つの層に展開されるため、階層間のオーバーヘッドが除去される。
図8は、本発明の一実施例により階層間のオーバーヘッドが除去されたソースコードの一例図である。呼び出し側のソースコードが図8(A)であり、これをプリプロセッサ721によって展開した後のコードが図8(B)である。プリプロセッサ721によるマクロ展開により、図3(B)のステップ301,302、並びに図4(B)のステップ401の階層間の呼び出し処理が1層内に展開されている。このため、他階層呼び出し処理に伴う引数や、スタックポインタの退避処理が不要となり、処理の高速化とコードサイズの削減を実現できる。
図8(C)は、従来の手法による機械語コードであり、図8(D)が、本発明の一実施例による削減分の例である。すなわち、図3(B)のステップ301の呼び出しを行う機械語コードが図8(C)に破線枠で囲った81であり、ひとつの階層間呼び出しにつき、81の分が削減できる。
図9は、本発明の一実施例によるデバイスドライバ作成方法を実現するための開発環境及び開発手順図である。作成済みのデバイスドライバ120である識別子展開部192と処理記述部180を、ステップ901にて登録する。これを保存するデバイスドライバリポジトリ902から、ステップ903にて、必要な識別子展開部192と処理記述部180を取得する。他方、ハードウエア設計の結果得られる制御装置仕様904のうち、マイコンのポートとデバイスの対応を記述した入出力端子一覧表905を入力し、階層構成生成装置906を用いて、ステップ907にて階層構成記述部908を取得する。このようにして得られた階層構成記述部908、識別子展開部909、及び処理記述部910を、プリプロセッサ911により、ステップ912にてマクロ展開を行う。これにより、階層を用いて記述された処理記述部910から、識別子展開部909と階層構成記述部908に基いて階層構造を展開された処理記述部913を得ることができる。ここで得られた展開された処理記述部913は、階層構造をもたず、ただひとつの階層からなり、階層間の処理オーバーヘッドが削減されている。次に、コンパイラ914を用いたコンパイルステップ915で、デバイスドライバオブジェクト形式ファイル916を得る。このドライバオブジェクト形式ファイル916は、アプリケーションソースコード917をコンパイルして得られたアプリケーションオブジェクト形式ファイル918とともにリンカ919を用いて、ステップ920でリンクされ、制御ソフトウエア921が得られる。
図10は、入出力端子一覧表905の一例を示す図である。入出力端子一覧表905は、ハードウエアデバイスとコントロールユニットの端子の対応を示すものである。これを用い、上位層(L1)160をハードウエアデバイスに対応する層とし、下位層をハードウエアポート131〜133に対応する層とすると、図10は図5(A)に対応する。階層構成生成装置906は、これを基に、図5(B)を出力するものである。階層構成生成装置906を用いることにより、ハードウエア設計結果である入出力端子一覧表905から階層構成記述部908を、計算機を用いて自動生成可能となり、生産性を向上できる。階層構成生成装置906、デバイスドライバリポジトリ902、コンパイラ914としては、キーボード、マウス、ネットワークなどの入力手段と、CRTなどの表示手段、ハードディスクなどの記憶手段を備えた計算機を用いることで実現できる。
本発明によるマイクロコンピュータのソフトウエアの作成方法や作成システムは、処理の迅速性と高信頼性が要求され、しかも、ハードウエアの変更頻度も激しい自動車のエンジン制御装置の電子制御ユニットに適用することによって、開発者の負担を大きく低減でき、高い利用可能性が期待される。

Claims (2)

  1. 自動車の制御を行うアプリケーションと、前記アプリケーションの要求を受け付けてマイクロコンピュータを制御するデバイスドライバとを有する自動車用制御装置のソフトウエアを、計算機を用いて作成するためのソフトウエア作成方法において、
    複数の階層に階層化された前記デバイスドライバの各階層に、前記アプリケーションが要求する制御物理量を演算処理するための複数の上位層のモジュールと、前記マイクロコンピュータのポートとの間の入出力処理を行うための複数の下位層のモジュールとを設け、前記上位層のモジュールと前記下位層のモジュールとが処理する処理内容がソースコードで記述された第1の処理記述部、
    前記上位層のモジュールのラベル名と前記下位層のモジュールのラベル名と前記マイクロコンピュータのポート名とを受取って、識別子連結機能を用いて他の文字列と連結する定義文がソースコードで記述された識別子展開部、および
    他の文字列と連結された上位層のモジュールのラベル名を、どの下位層のモジュールのラベル名に置換するかと、他の文字列と連結された下位層のモジュールのラベル名を、前記マイクロコンピュータのどのポート名に置換するかと、の定義が前記自動車用制御装置の仕様に基づいてソースコードで記述された階層構成記述部、を記憶手段から前記計算機が読み出し、
    前記計算機がプリプロセッサを用いて、前記上位層のモジュールのラベル名を前記階層構成記述部の記述に基づいて前記下位層のモジュールのラベル名に置換し、前記下位層のモジュールのラベル名を前記下位層構成記述部の記述に基づいて前記マイクロコンピュータのポート名に置換し、該置換は前記識別子展開部で定義された他の文字列との連結処理を経て実行され、該置換により階層間の呼び出し処理が一つの階層内に展開されるように、前記第1の処理記述部の前記複数の階層を1つの階層にマクロ展開されたソースプログラムである第2の処理記述部を作成し、
    前記第2の処理記述部に基づいて、前記計算機がコンパイラを用いて前記デバイスドライバのオブジェクト形式ファイルを作成し、
    作成された前記デバイスドライバのオブジェクト形式ファイルと前記アプリケーションのオブジェクト形式ファイルに基づいて、リンカによって、前記ソフトウエアを作成することを特徴とする自動車用制御装置のソフトウエア作成方法。
  2. 請求項1において、
    前記階層構成記述部は、前記上位層のモジュールのラベル名をどの下位層のモジュールのラベル名に置換するかと、前記下位層のモジュールのラベル名を前記マイクロコンピュータのどのポート名に置換するかと、の前記定義が、予め記憶された入出力端子一覧表に基づいて記述されていることを特徴とする自動車用制御装置のソフトウエア作成方法。
JP2006546575A 2004-12-07 2004-12-07 自動車用制御装置のソフトウエア作成方法 Expired - Lifetime JP4921175B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2004/018197 WO2006061884A1 (ja) 2004-12-07 2004-12-07 自動車用制御装置とそのソフトウエア作成方法及びシステム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2011187492A Division JP2011238297A (ja) 2011-08-30 2011-08-30 自動車用制御装置のソフトウエア作成方法

Publications (2)

Publication Number Publication Date
JPWO2006061884A1 JPWO2006061884A1 (ja) 2008-06-05
JP4921175B2 true JP4921175B2 (ja) 2012-04-25

Family

ID=36577714

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006546575A Expired - Lifetime JP4921175B2 (ja) 2004-12-07 2004-12-07 自動車用制御装置のソフトウエア作成方法

Country Status (4)

Country Link
US (1) US20080256522A1 (ja)
EP (1) EP1835366A4 (ja)
JP (1) JP4921175B2 (ja)
WO (1) WO2006061884A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009080566A (ja) * 2007-09-25 2009-04-16 Hitachi Ltd 車両制御用プログラムおよびプログラム生成方法、プログラム生成装置、及び自動車用制御装置
US8321655B2 (en) * 2009-06-13 2012-11-27 Phoenix Technologies Ltd. Execution parallelism in extensible firmware interface compliant systems

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63181034A (ja) * 1987-01-23 1988-07-26 Nissan Motor Co Ltd 制御プログラムの開発支援装置
JPH03282935A (ja) * 1990-03-30 1991-12-13 Pfu Ltd コンパイル処理装置及びコンパイル処理方式
JPH05150960A (ja) * 1991-11-26 1993-06-18 Fujitsu Ltd プリコンパイラ
JPH07277105A (ja) * 1994-04-15 1995-10-24 Hitachi Ltd 自動車用制御装置
JP3606654B2 (ja) * 1995-10-30 2005-01-05 富士通株式会社 コンパイラ装置
US6122634A (en) * 1996-11-12 2000-09-19 International Business Machines Corporation Fractal nested layout for hierarchical system
US6550052B1 (en) * 1999-11-09 2003-04-15 Daimlerchrysler Corporation Software development framework for constructing embedded vehicle controller software
JP3941649B2 (ja) * 2001-09-28 2007-07-04 スズキ株式会社 アルミニウム基材及びその表面処理方法
US7571445B2 (en) * 2001-11-29 2009-08-04 Dell Products L.P. System and method for dynamic device driver support in an open source operating system
JP3904485B2 (ja) * 2002-06-27 2007-04-11 富士通テン株式会社 車輌制御プログラム開発システム、車輌制御装置、及び記憶媒体
US7996825B2 (en) * 2003-10-31 2011-08-09 Hewlett-Packard Development Company, L.P. Cross-file inlining by using summaries and global worklist

Also Published As

Publication number Publication date
WO2006061884A1 (ja) 2006-06-15
EP1835366A4 (en) 2014-08-13
US20080256522A1 (en) 2008-10-16
EP1835366A1 (en) 2007-09-19
JPWO2006061884A1 (ja) 2008-06-05

Similar Documents

Publication Publication Date Title
JP5179249B2 (ja) 制御装置シミュレーション方法、システム及びプログラム
JP5153465B2 (ja) シミュレーション方法、システム及びプログラム
US20140236384A1 (en) Vehicle Control Software and Vehicle Control Apparatus
US20180101501A1 (en) Method for configuring a real or virtual electronic control unit
US7194726B2 (en) Method for automatically decomposing dynamic system models into submodels
US7197743B2 (en) Method for generating computer software for embedded systems
JP5224957B2 (ja) シミュレーション方法、システム及びプログラム
JPH09259153A (ja) バッチ実行制御プログラム作成装置及び方法
CN119203893B (zh) 基于代码服务层的芯片验证系统
US8412496B2 (en) Simulation system, method, and program
US20030110468A1 (en) Program code generator and program
JP4921175B2 (ja) 自動車用制御装置のソフトウエア作成方法
JP5186290B2 (ja) シミュレーション方法、システム及びプログラム
JP2011238297A (ja) 自動車用制御装置のソフトウエア作成方法
CN115755867A (zh) 一种车辆诊断方法及相关装置
JPH06348766A (ja) ツール組み込み方法及び装置
JPH08305583A (ja) Cpuシミュレーション方法
JP5460010B2 (ja) シミュレーション方法、システム及びプログラム
JP5082797B2 (ja) ソフトウェア部分テストシステム
JP2009080566A (ja) 車両制御用プログラムおよびプログラム生成方法、プログラム生成装置、及び自動車用制御装置
US20080162069A1 (en) Method And Device For the Dynamic Treatment of Objects
JP3457520B2 (ja) リアルタイムos上のタスク実行制御方式
JPH07277105A (ja) 自動車用制御装置
JP7798331B2 (ja) マイクロコンピュータ制御プログラムのシミュレーション方法及びそのためのシミュレーションシステム
JP2009110504A (ja) 組込みシステム用の標準化されたソフトウェアアーキテクチャに集積回路を組み込むための方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100803

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101004

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101102

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110830

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111004

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111228

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120110

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120131

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120202

R150 Certificate of patent or registration of utility model

Ref document number: 4921175

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150210

Year of fee payment: 3

EXPY Cancellation because of completion of term