Main Content

デバイス ドライバーの I/O インターフェイス

デバイス ドライバーはハードウェアと直接連動します。これらのドライバーは、ハードウェアの特性に依存します。たとえば、アナログ デジタル コンバーターのデバイス ドライバーは、データを初期化し、ハードウェアのレジスタに対して読み書きします。ハードウェアの相違と依存関係では、データ型のサイズ、エンディアン、シフト演算、コンパイラ命令、最適化された関数と演算のサポートに関係します。他のアプリケーション コードは、プログラミング インターフェイスおよび特定のメモリ アドレスにマッピングされているデータを使用してデバイス ドライバーと連動します。通常、開発用コンピューターでシミュレーションは実行できません。開発用コンピューターでシミュレーション中にレジスタへの読み書きを実行すると、予測できない、望ましくない結果になります。

通信プロトコルおよびターゲット ハードウェアのデバイス ドライバーは、リアルタイム開発プロジェクトに欠かせません。たとえば、機能しているデバイス ドライバーを、このドライバーがサポートする I/O デバイスに対してデータを読み書きするアルゴリズム コードと統合できます。コード ジェネレーターは、アルゴリズム モデルと統合ドライバー コードからアプリケーション ソース ファイルの単一のセットを生成できます。

以下の図は、既存のハードウェア デバイスのドライバー コードの統合を必要とするアプリケーションを示しています。コアのソフトウェア アルゴリズムとロジックは、Simulink 環境に統合されている外部の再利用可能なアルゴリズムのコード モジュールと、モデル設計全体の一部として生成されたコードの組み合わせにすることができます。

Embedded system project that requires device driver support

以下のいずれかの方法を使って、デバイス ドライバー コードをコンポーネント モデルに統合します。

  • ドライバー関数コードを C Caller ブロックにインポートする。

  • レガシ コード ツールを使用して S-Function を生成し、生成した S-Function をコンパイルおよびリンクして、生成した S-Function を呼び出すマスクを作成する。

関連するトピック