Real-Time Workshop User's Guide    

インラインおよび非インラインドライバ

ターゲットシステムで、デバイスドライバは、2つの機能をもちます。1つ目は、Real-Time Workshopによって生成されたその他のコードをコンパイル、リンクするコードモジュールとして機能します。さらに、ドライバはシミュレーション中にSimulinkと相互作用する必要があります。これらの両方の要求を満たすために、ドライバコードをSimulinkのデバイスドライバブロックに組み込む必要があります。

いくつかの方法でドライバのS-Functionをビルドすることができます。

S-Functionのインライン化は、性能を著しく向上させます。しかし、増加する開発とメンテナンスの負荷が代わりに発生します。デバイスドライバブロックをインライン化するには、ブロックを最初にC MEX-ファイルとして、2回目にTLCプログラムとして、2回実現する必要があります。

C MEX-ファイル版は、シミュレーションで利用されます。シミュレーションは、通常I/Oボードやその他のターゲットハードウェアへのアクセスをもたないので、C MEX-ファイル版はモデル内でしばしば"ダミー" ブロックとして扱われます。たとえば、ディジタル-アナログコンバータ(DAC)デバイスドライバブロックは、シミュレーションに対してはしばしばスタブとして実現されます。

あるいは、C MEX-ファイル版は、ハードウェアの挙動をシミュレーションすることができます。たとえば、アナログ-ディジタルコンバータ(ADC)デバイスドライバブロックは、データファイルまたはMATLABワークスペースからサンプルの値を読み込みます。

TLC版は、製品システムでターゲットハードウェアにアクセスする実際の作業コードを生成します。

インラインデバイスドライバは、以下の場合に適切な設計の選択肢です。


 デバイスドライバの作成 デバイスドライバの必要条件と制限