Nios® V プロセッサー・ソフトウェア開発者ハンドブック

ID 743810
日付 7/08/2024
Public
ドキュメント目次

8. ハードウェア・アブストラクション・レイヤーに向けたデバイスドライバーの開発

通常、エンベデッド・システムには、カスタム・デバイスドライバーを必要とするアプリケーション固有のハードウェア機能があります。この章では、デバイスドライバーを開発し、それらをハードウェア・アブストラクション・レイヤー (HAL) と統合する方法について説明します。

ソフトウェア・パッケージを HAL と統合するプロセスは、デバイスドライバーを統合するプロセスとほぼ同じです。

ハードウェアとの直接的なやり取りをデバイスドライバー・コードに限定します。一般的に、ベスト・プラクティスは、プログラム・コードの大部分をハードウェアへの低レベルアクセスから解放することです。ハードウェアへのアクセスには可能な限り、高レベルの HAL アプリケーション・プログラム・インターフェイス (API) 関数を使用します。これにより、コードの一貫性が高まり、異なるハードウェア構成を持つ他の Nios® V システムへの移植性が高まります。

新しいドライバーを作成する際、次の 2 つのレベルのいずれかでドライバーを HAL フレームワークと統合できます。

  • HAL API への統合
  • ペリフェラル固有の API
注: ドライバーを作成する代わりに、デバイス固有のコードをユーザー・ライブラリーとしてコンパイルし、それをアプリケーションにリンクすることができます。このアプローチは、デバイス固有のコードが BSP から独立しており、system.h ファイルに定義を追加する機能など、BSP が提供する追加のサービスを必要としない場合に機能します。